FTB-Pro.js
资源名称:xwfbxt.rar [点击查看]
上传用户:tongfeicq
上传日期:2022-07-20
资源大小:2856k
文件大小:92k
源码类别:
.net编程
开发平台:
Visual C++
- FTB_FreeTextBox.prototype.InsertDiv = function() {
- var div = window.document.createElement("div");
- div.style.width = "200px";
- div.style.height = "200px";
- div.style.border = "dotted 1px gray";
- this.InsertElement(div);
- };
- FTB_FreeTextBox.prototype.EditStyle = function() {
- // custom implimentation of GetParentElement() and GetSelection() and GetRange()
- el = this.GetParentElement();
- this.EditElementStyle(el);
- };
- FTB_FreeTextBox.prototype.EditElementStyle = function(el) {
- var styleWin = window.open("","propWin","width=530,height=420,status=0,toolbars=0");
- if (styleWin) {
- styleWin.focus();
- } else {
- alert("Please turn off your PopUp blocking software");
- return;
- }
- //return;
- html = FTB_StyleEditorHtml;
- styleWin.document.body.innerHTML = '';
- styleWin.document.open();
- styleWin.document.write( html );
- styleWin.document.close();
- launchParameters = new Object();
- launchParameters['ftb'] = this;
- launchParameters['element'] = el;
- styleWin.launchParameters = launchParameters;
- styleWin.load();
- };
- /* START: Table Functions
- These functions are derived from HTMLAREA who
- gave permission for them to be used in FreeTextBox
- - Thanks HTMLAREA!!
- ----------------------------------------------- */
- FTB_FreeTextBox.prototype.InsertTableColumnBefore = function() {
- this.InsertTableColumn(false);
- };
- FTB_FreeTextBox.prototype.InsertTableColumnAfter = function() {
- this.InsertTableColumn(true);
- };
- FTB_FreeTextBox.prototype.InsertTableColumn = function(after) {
- var td = this.GetNearest("td");
- if (!td) {
- return;
- }
- var rows = td.parentNode.parentNode.rows;
- var index = td.cellIndex;
- for (var i = rows.length; --i >= 0;) {
- var tr = rows[i];
- var otd = this.designEditor.document.createElement("td");
- otd.innerHTML = (FTB_Browser.isIE) ? "" : "<br />";
- //if last column and insert column after is select append child
- if (index==tr.cells.length-1 && after) {
- tr.appendChild(otd);
- } else {
- var ref = tr.cells[index + ((after) ? 1 : 0)]; // 0
- tr.insertBefore(otd, ref);
- }
- }
- };
- FTB_FreeTextBox.prototype.InsertTableRowBefore = function() {
- this.InsertTableRow(false);
- };
- FTB_FreeTextBox.prototype.InsertTableRowAfter = function() {
- this.InsertTableRow(true);
- };
- FTB_FreeTextBox.prototype.InsertTableRow = function(after) {
- var tr = this.GetNearest("tr");
- if (!tr) return;
- var otr = tr.cloneNode(true);
- this.ClearRow(otr);
- tr.parentNode.insertBefore(otr, ((after) ? tr.nextSibling : tr));
- };
- FTB_FreeTextBox.prototype.DeleteTableColumn = function() {
- var td = this.GetNearest("td");
- if (!td) {
- return;
- }
- var index = td.cellIndex;
- if (td.parentNode.cells.length == 1) {
- return;
- }
- // set the caret first to a position that doesn't disappear
- this.SelectNextNode(td);
- var rows = td.parentNode.parentNode.rows;
- for (var i = rows.length; --i >= 0;) {
- var tr = rows[i];
- tr.removeChild(tr.cells[index]);
- }
- };
- FTB_FreeTextBox.prototype.DeleteTableRow = function() {
- var tr = this.GetNearest("tr");
- if (!tr) {
- return;
- }
- var par = tr.parentNode;
- if (par.rows.length == 1) {
- return;
- }
- // set the caret first to a position that doesn't disappear.
- this.SelectNextNode(tr);
- par.removeChild(tr);
- };
- // helper table
- FTB_FreeTextBox.prototype.ClearRow = function(tr) {
- var tds = tr.getElementsByTagName("td");
- for (var i = tds.length; --i >= 0;) {
- var td = tds[i];
- td.rowSpan = 1;
- td.innerHTML = (FTB_Browser.isIE) ? "" : "<br />";
- }
- };
- FTB_FreeTextBox.prototype.SplitRow = function(td) {
- var n = parseInt("" + td.rowSpan);
- var nc = parseInt("" + td.colSpan);
- td.rowSpan = 1;
- tr = td.parentNode;
- var itr = tr.rowIndex;
- var trs = tr.parentNode.rows;
- var index = td.cellIndex;
- while (--n > 0) {
- tr = trs[++itr];
- var otd = editor._doc.createElement("td");
- otd.colSpan = td.colSpan;
- otd.innerHTML = mozbr;
- tr.insertBefore(otd, tr.cells[index]);
- }
- };
- FTB_FreeTextBox.prototype.SplitCol = function(td) {
- var nc = parseInt("" + td.colSpan);
- td.colSpan = 1;
- tr = td.parentNode;
- var ref = td.nextSibling;
- while (--nc > 0) {
- var otd = editor._doc.createElement("td");
- otd.rowSpan = td.rowSpan;
- otd.innerHTML = mozbr;
- tr.insertBefore(otd, ref);
- }
- }
- FTB_FreeTextBox.prototype.SplitCell = function(td) {
- var nc = parseInt("" + td.colSpan);
- splitCol(td);
- var items = td.parentNode.cells;
- var index = td.cellIndex;
- while (nc-- > 0) {
- this.SplitRow(items[index++]);
- }
- };
- /* FORM Functions
- -------------------------------------- */
- FTB_FreeTextBox.prototype.IsInForm = function() {
- return (this.GetNearest("form")) ? true : false ;
- };
- FTB_FreeTextBox.prototype.InsertForm = function() {
- var form = window.document.createElement("form");
- this.InsertElement(form);
- };
- FTB_FreeTextBox.prototype.InsertCheckBox = function() {
- this.InsertInputElement("","checkbox");
- };
- FTB_FreeTextBox.prototype.InsertTextBox = function() {
- this.InsertInputElement("","text");
- };
- FTB_FreeTextBox.prototype.InsertRadioButton = function() {
- this.InsertInputElement("","radio");
- };
- FTB_FreeTextBox.prototype.InsertButton = function() {
- this.InsertInputElement("","button");
- };
- FTB_FreeTextBox.prototype.InsertDropDownList = function() {
- var select = window.document.createElement("select");
- this.InsertElement(select);
- };
- FTB_FreeTextBox.prototype.InsertTextArea = function() {
- var textarea = window.document.createElement("textarea");
- this.InsertElement(textarea);
- };
- FTB_FreeTextBox.prototype.InsertInputElement = function(id,type) {
- var input = window.document.createElement("input");
- input.id = id;
- input.type = type;
- this.InsertElement(input);
- }
- /* Color picker Functions
- -------------------------------------- */
- FTB_FreeTextBox.prototype.FontForeColorPicker = function() {
- this.LaunchColorPickerWindow('forecolor');
- };
- FTB_FreeTextBox.prototype.FontBackColorPicker = function() {
- this.LaunchColorPickerWindow('backcolor');
- };
- FTB_FreeTextBox.prototype.LaunchColorPickerWindow = function(commandName, startValue) {
- var pickerWin = window.open("","colorPickerWin","width=290,height=180");
- if (pickerWin) {
- pickerWin.focus();
- } else {
- alert("Please turn off your PopUp blocking software");
- return;
- }
- pickerWin.document.body.innerHTML = '';
- pickerWin.document.open();
- pickerWin.document.write(FTB_ColorPickerHtml);
- pickerWin.document.close();
- launchParameters = new Object();
- launchParameters['ftb'] = this;
- launchParameters['commandName'] = commandName;
- pickerWin.launchParameters = launchParameters;
- pickerWin.load();
- };
- FTB_FreeTextBox.prototype.InsertImage = function() {
- var imageWin = window.open("","imageWin","width=500,height=310");
- if (imageWin) {
- imageWin.focus();
- } else {
- alert("Please turn off your PopUp blocking software");
- return;
- }
- //imageWin.document.body.innerHTML = '';
- imageWin.document.open();
- imageWin.document.write(FTB_ImagePopUpHtml);
- imageWin.document.close();
- launchParameters = new Object();
- launchParameters['ftb'] = this;
- imageWin.launchParameters = launchParameters;
- imageWin.load();
- };
- /* Misc Pro features
- --------------------------------------- */
- FTB_FreeTextBox.prototype.WordClean = function() {
- var text = this.designEditor.document.body.innerHTML;
- text=text.replace(/<FONT[^>]*>/gi,"");
- text=text.replace(/</FONT>/gi,"");
- text=text.replace(/<U>/gi,"");
- text=text.replace(/</U>/gi,"");
- text=text.replace(/<H[^>]*>/gi,"");
- text=text.replace(/</H[^>]*>/gi,"");
- // save BRs
- text=text.replace(/<BR[^>]*>/gi,"&linebreak");
- // Change these tags.
- text=text.replace(/<B>]*>/gi,"&bold");
- text=text.replace(/</B[^>]*>/gi,"&cbold");
- text=text.replace(/<STRONG[^>]*>/gi,"&bold");
- text=text.replace(/</STRONG[^>]*>/gi,"&cbold");
- text=text.replace(/<I[^>]*>/gi,"&ital");
- text=text.replace(/</I[^>]*>/gi,"&cital");
- text=text.replace(/<EM[^>]*>/gi,"&ital");
- text=text.replace(/</EM[^>]*>/gi,"&cital");
- text=text.replace(/<UL[^>]*>/gi,"&ultag");
- text=text.replace(/<LI[^>]*>/gi,"&litag");
- text=text.replace(/<OL[^>]*>/gi,"&oltag");
- text=text.replace(/</OL>/gi,"&olctag");
- text=text.replace(/</LI>/gi,"&lictag");
- text=text.replace(/</UL>/gi,"&ulctag");
- text=text.replace(/<P[^>]*>/gi,"¶g");
- text=text.replace(/</P>/gi,"");
- /*
- text=text.replace(/