123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556 |
-
- Namespace.register("U.MD.O.W.E");
- U.MD.O.W.E.colorPickerClickEl = null;
- U.MD.O.W.E.ColorPickerEl = null;
- U.MD.O.W.E.Range;
- U.MD.O.W.E.fontSize = {
- '0_42': '初号', '0_36': '小初', '0_26': '一号', '0_24': '小一', '0_22': '二号', '0_18': '小二', '0_16': '三号', '0_15': '小三', '0_14': '四号', '0_12': '小四', '0_10.5': '五号', '0_9': '小五',
- '1_10': '10', '1_12': '12', '1_14': '14', '1_16': '16', '1_18': '18', '1_20': '20', '1_22': '22', '1_24': '24', '1_26': '26', '1_28': '28', '1_36': '36', '1_42': '42', '1_48': '48', '1_72': '72'
- };
- U.MD.O.W.E.initEditor = function (synergy) {
- var _el = $("#U_MD_O_H_wordEditor")[0];
- if (U.MD.O.W.init) {
- U.UF.E.initEditor(_el, synergy ? U.MD.O.W.E.operationNotice : null, U.MD.O.W.fileinfo.UsOffice, U.MD.O.W.E.styleStateManage);
- }
- else {
- U.UF.E.initEditor(_el, synergy ? U.MD.O.W.E.operationNotice : null, U.MD.O.W.fileinfo.UsOffice, U.MD.O.W.E.styleStateManage);
- U.MD.O.W.init = true;
- }
- }
- U.MD.O.W.E.styleStateManage = function (style) {
- var _focusColor = "#E1E2E3";
- $('#U_MD_O_H_fontWeight').css('backgroundColor', (style["font-weight"] == "bold" || style["font-weight"] == "bolder" || parseInt(style["font-weight"]) > 400) ? _focusColor : "");
- $('#U_MD_O_H_italic').css('backgroundColor', (style["font-style"].indexOf("italic") > -1) ? _focusColor : "");
- $('#U_MD_O_H_underline').css('backgroundColor', (style["text-decoration"].indexOf("underline") > -1) ? _focusColor : "");
- $('#U_MD_O_H_lineThrough').css('backgroundColor', (style["text-decoration"].indexOf("line-through") > -1) ? _focusColor : "");
- $('.U_MD_O_H_alignFocus')[0] && $('.U_MD_O_H_alignFocus').removeClass('U_MD_O_H_alignFocus', 0);
- var _align = "";
- switch (style["text-align"]) {
- case "end":
- case "right":
- _align = "right";
- break;
- default:
- _align = style["text-align"];
- }
- $("#U_MD_O_H_align" + _align).addClass("U_MD_O_H_alignFocus");
- $("#U_MD_O_SetFontSize").Child()[0].children[0].innerText = U.MD.O.W.E.fontSize["0_" + parseFloat(style["font-size"])] || U.MD.O.W.E.fontSize["1_" + parseFloat(style["font-size"])] || parseFloat(style["font-size"]);
- $("#U_MD_O_SetFontFamily").Child()[0].children[0].innerText = style["font-family"] || "";
-
-
- var _type = "";
- switch (style["name"]) {
- case 'U_MD_O_W_Font_Normal':
- _type = "正文";
- break;
- case 'U_MD_O_W_Font_Heading1':
- _type = "标题1";
- break;
- case 'U_MD_O_W_Font_Heading2':
- _type = "标题2";
- break;
- case 'U_MD_O_W_Font_Heading3':
- _type = "标题3";
- break;
- case 'U_MD_O_W_Font_Heading4':
- _type = "标题4";
- break;
- }
- $("#U_MD_O_SetTitle").Child()[0].children[0].innerText = _type || "正文";
-
- }
- U.MD.O.W.E.updateEditorLine = function (opera) {
- if ($('#' + opera.id)[0]) {
- $('#' + opera.id)[0].outerHTML = opera.content;
- } else {
- console.log('updateError', opera.id);
- }
- };
- U.MD.O.W.E.deleteEditorLine = function (opera) {
- $('#' + opera.id).remove();
- };
- U.MD.O.W.E.addEditorLine = function (opera) {
- var _next;
- if (opera.nextId && (_next = $('#' + opera.nextId))[0]) {
- _next.Parent().insertBefore($$('div', { innerHTML: opera.content, id: opera.id }), _next[0]);
-
- } else {
- $('.U_MD_O_H_wordEditor').append($$('div', { innerHTML: opera.content, id: opera.id }));
- }
- }
- U.MD.O.W.E.addDoc = function () {
- if (U.MD.O.W.fileinfo.UserDirectoryID && U.MD.O.W.userInfo.userid) {
- U.A.Request(US.SCOKET, ["addWord", JSON.stringify({
- docId: U.MD.O.W.fileinfo.UserDirectoryID,
- userId: U.MD.O.W.userInfo.userid,
- pageId: US.pageId
- })], function () { });
- }
- };
- U.MD.O.W.E.operationNotice = function (operaRecord) {
- var _addLine = operaRecord.addLine ? U.MD.O.W.E.addLineMessage(operaRecord.addLine) : [];
- var _updateLine = operaRecord.updateLine ? U.MD.O.W.E.updateLineMessage(operaRecord.updateLine) : [];
- var _deleteLine = operaRecord.deleteLine ? U.MD.O.W.E.deleteLineMessage(operaRecord.deleteLine) : [];
- var _message = {};
- var _type = U.MD.O.W.fileinfo.UserDirectoryExtendType == 'un' ? 'us.nav' : 'us.word';
- var _messagearray = Array.prototype.concat(_addLine, _updateLine, _deleteLine);
- if (_messagearray.length > 0) {
- _message[_type] = _messagearray;
- U.A.Request(US.SCOKET, ["send", JSON.stringify(_message)], function (r) { console.log(r); });
- }
- console.log('发送的数据', Array.prototype.concat(_addLine, _deleteLine, _updateLine));
- };
- U.MD.O.W.E.addLineMessage = function (array) {
- var _i, _nextLine, _message = [];
- var _navid = U.MD.O.W.fileinfo.UserDirectoryExtendType == 'un' ? U.MD.O.W.T.N.nowNavId : null;
- for (_i = 0; _i < array.length; _i++) {
- _message.push(U.MD.O.W.E.wordInfo(array[_i].id, 'add', array[_i].content, array[_i].nextId, _navid));
- }
- return _message;
- };
- U.MD.O.W.E.updateLineMessage = function (array) {
- var _i, _message = [];
- var _navid = U.MD.O.W.fileinfo.UserDirectoryExtendType == 'un' ? U.MD.O.W.T.N.nowNavId : null;
-
- for (_i = 0; _i < array.length; _i++) {
- if (array[_i] !== 'U_MD_O_H_wordEditor') {
-
- _message.push(U.MD.O.W.E.wordInfo(array[_i].id, 'update', array[_i].content, null, _navid));
-
- }
- }
- return _message;
- };
- U.MD.O.W.E.deleteLineMessage = function (array) {
- var _i, _message = [];
- var _navid = U.MD.O.W.fileinfo.UserDirectoryExtendType == 'un' ? U.MD.O.W.T.N.nowNavId : null;
-
- for (_i = 0; _i < array.length; _i++) {
- _message.push(U.MD.O.W.E.wordInfo(array[_i].id, 'delete', "", null, _navid));
- }
- return _message;
- };
- U.MD.O.W.E.wordInfo = function (id, type, content, next, navid) {
- var _data = {
- sendId: U.MD.O.W.userInfo.userid,
- receiveId: U.MD.O.W.fileinfo.UserDirectoryID,
-
- messageInfo: {
- id: id,
- type: type,
- content: content,
- docId: U.MD.O.W.fileinfo.UserDirectoryID,
- nextId: next,
- pageId: US.pageId
- }
- };
- navid && (_data.messageInfo.navId = navid);
- return _data;
- };
- U.MD.O.W.E.onmousedown = function () {
- var _edel = $("#U_MD_O_H_wordEditor")[0],
- _range = U.UF.E.getRangeAt(),
- _el = U.UF.E.getRangeElement(_range),
- _pel = U.UF.EL.getAncestorEditElement(_el);
-
- if (_pel && U.UF.EL.isChild(_edel, _el)) {
- U.MD.O.W.E.Range = _range;
- }
-
- else {
- _range = U.MD.O.W.E.Range;
- if (_range) {
- _el = U.UF.E.getRangeElement(_range);
-
- if (_pel && U.UF.EL.isChild(_edel, _el)) {
- U.MD.O.W.E.Range = U.MD.O.W.E.Range;
- return;
- }
- }
- _edel.focus();
- U.MD.O.W.E.Range = U.UF.E.getRangeAt();
- }
- }
- U.MD.O.W.E.onclick = function () {
- U.UF.E.reSelectRange(U.MD.O.W.E.Range);
- }
- U.MD.O.W.E.colorPicker = function (el, event) {
- U.MD.O.W.E.colorPickerClickEl = el;
- U.MD.O.W.E.ColorPickerEl && $(U.MD.O.W.E.ColorPickerEl).css('display', 'none');
-
- if (!U.MD.O.W.E.ColorPickerEl || !(U.MD.O.W.E.ColorPickerEl = $('.MD_ColorPicker', el)[0])) {
- U.MD.O.W.E.ColorPickerEl = U.MD.UI.ColorPicker(el, U.MD.O.W.E.changeColor);
- U.MD.O.W.E.ColorPickerEl.style.position = 'fixed';
- }
- U.MD.O.W.E.ColorPickerEl.style.left = el.getBoundingClientRect().left + 'px';
- U.MD.O.W.E.ColorPickerEl.style.top = el.getBoundingClientRect().top + event.target.previousElementSibling.getBoundingClientRect().height + 'px';
- U.MD.O.W.E.ColorPickerEl.style.display = "block";
- U.UF.EV.stopBubble(event);
- }
- U.MD.O.W.E.changeColor = function (r) {
- var _changeEl = $("." + U.MD.O.W.E.colorPickerClickEl.id, U.MD.O.W.E.colorPickerClickEl)[0];
- _changeEl.style.background = r;
- if (U.MD.O.W.E.colorPickerClickEl.id == "U_MD_O_H_colorPick_fontColor") {
- U.UF.E.setRangeStyle({ 'color': r });
- } else {
- U.UF.E.setRangeStyle({ 'background': r });
- }
- U.MD.O.W.E.ColorPickerEl.style.display = "none";
- }
- U.MD.O.W.E.createSelection = function () {
- var _els = $('.U_MD_O_H_select'),
- csstext = "font-weight: normal;white-space: pre; min-height: 1.2em; padding:6px 4px; cursor: pointer;background:#fff";
- _els[0].innerHTML = "";
- U.MD.UI.editor.Select({ '宋体': '宋体', 'sans-serif': 'sans-serif', '微软雅黑': '微软雅黑', '楷体': '楷体', '黑体': '黑体', '隶书': '隶书', 'andale mono': 'andale mono', 'arial black': 'arial black' },
- { "className": "U_MD_O_H_select_list", id: "U_MD_O_SetFontFamily" },
- function (v) { U.UF.E.setRangeStyle({ 'font-family': v }) }, _els[0])
- _els[1].innerHTML = "";
- U.MD.UI.editor.Select(U.MD.O.W.E.fontSize, { "className": "U_MD_O_H_select_list", id: 'U_MD_O_SetFontSize' },
- function (key) { U.UF.E.setRangeStyle({ 'font-size': key.split('_')[1] + 'pt' }) }, _els[1])
- _els[2].innerHTML = "";
- U.MD.UI.editor.Select({ 'U_MD_O_W_Font_Normal': '正文', 'U_MD_O_W_Font_Heading1': '标题1', 'U_MD_O_W_Font_Heading2': '标题2', 'U_MD_O_W_Font_Heading3': '标题3', 'U_MD_O_W_Font_Heading4': '标题4' },
- { "className": "U_MD_O_H_select_list", id: 'U_MD_O_SetTitle' },
- function (value) { U.MD.O.W.E.titleStyle(value) }, _els[2])
- _els[3].innerHTML = "";
- U.MD.UI.editor.Select({ 10: 1, 15: 1.5, 20: 2, 25: 2.5, 30: 3 }, { "className": "U_MD_O_H_select_list", id: 'U_MD_O_SetLineHeight', style: { width: "auto" } },
- function (value) {
- U.UF.E.setLineStyle({ 'line-height': value / 10 });
-
- $('#U_MD_O_SetLineHeight > .U_MD_O_H_select_list > div')[0].innerHTML = ' <div class="U_MD_O_H_icon" style="background-position: -1133px -590px; height: 28px;position: absolute;top: 0;">'
- }, _els[3])
- $('#U_MD_O_SetLineHeight > .U_MD_O_H_select_list > div')[0].innerHTML = ' <div class="U_MD_O_H_icon" style="background-position: -1133px -590px; height: 28px;position: absolute;top: 0;">';
- var _selectBtn = $('.U_MD_O_H_select_list');
- for (var i = 0; i < _selectBtn.length; i++) {
- _selectBtn[i].onclick = function () {
- for (var j = 0; j < 3; j++) {
- $(".selectBox")[j].style.display = "none";
- }
- }
- }
- }
- U.MD.O.W.E.titleStyle = function (key) {
- var _range = U.UF.E.getRangeAt()
- var _rangeline = U.UF.E.getRangeLineElement(_range);
- var _size = "12pt";
- var _weight = "bold";
- switch (key) {
- case 'U_MD_O_W_Font_Normal':
- _size = "10.5pt";
- _weight = "normal";
- break;
- case 'U_MD_O_W_Font_Heading1':
- _size = "22pt";
- break;
- case 'U_MD_O_W_Font_Heading2':
- _size = "16pt";
- break;
- case 'U_MD_O_W_Font_Heading3':
- _size = "15pt";
- break;
- case 'U_MD_O_W_Font_Heading4':
- _size = "14pt";
- break;
- }
- var _textcsstext = "font-family:微软雅黑;font-weight:" + _weight + ";font-size:" + _size + ";line-height: 2;";
- var i, j, _nowline, _allchild;
- for (i = 0; i < _rangeline.length; i++) {
- _nowline = _rangeline[i];
- _nowline.setAttribute("name", key);
- _nowline.style.cssText = _textcsstext;
- for (var j = 0; j < _rangeline[i].childNodes.length; j++) {
- if (_rangeline[i].childNodes[j].nodeName !== "#text") {
- _rangeline[i].childNodes[j].style.cssText = _textcsstext;
- }
- }
- }
- }
- U.MD.O.W.E.loadLineHeight = function (el, conel) {
- conel = conel || el.nextElementSibling;
- conel.style.display === 'block' ? conel.style.display = 'none' : conel.style.display = 'block';
- }
- U.MD.O.W.E.morelocation = function (e, el, conel) {
- U.MD.O.W.E.loadLineHeight(el, conel);
- conel.style.right = "0px";
- conel.style.right = "auto";
- if (conel.offsetWidth < el.offsetLeft + el.offsetWidth) {
- conel.style.right = window.innerWidth - el.offsetLeft - el.offsetWidth + "px";
- } else {
- conel.style.left = "0px";
- conel.style.right = "auto";
- }
-
-
-
- }
- U.MD.O.W.E.hideChange = function (el) {
- if (!el.children.length)
- return;
- el.style.display === 'table-row' ? el.style.display = 'none' : el.style.display = 'table-row';
- }
- U.MD.O.W.E.toolsbind = function () {
- var _toolsel = $('#tools')[0];
-
- window.onresize = function () {
- U.MD.O.W.E.toolbarCheck(_toolsel);
- };
-
- $('#U_MD_O_H_More').Child()[0].onclick = function (e) {
-
- U.MD.O.W.E.morelocation(e, this, $('.U_MD_O_H_More_Area')[0]);
- }
-
- U.MD.O.W.E.toolbarCheck(_toolsel);
- }
- U.MD.O.W.E.toolbarCheck = function (forms) {
- var _more = $('#U_MD_O_H_More', forms)[0];
- var _morearea = $('.U_MD_O_H_More_Area', forms)[0];
- var _area = $('> .U_MD_O_H_Area', forms);
- var i;
- var _allwidth = 0;
- var _ismax = false;
- _morearea.style.display = "block";
- for (i = 0; i < _area.length - 1; i++) {
- _allwidth += _area[i].offsetWidth;
- if (!_ismax && _allwidth >= forms.offsetWidth - _more.offsetWidth) {
- _ismax = true;
- break;
- }
- }
- if (_ismax) {
- var j;
- for (j = _area.length - 2; j >= i; j--) {
- _morearea.children[0] ? _morearea.insertBefore(_area[j], _morearea.children[0]) : _morearea.appendChild(_area[j]);
- }
- }
- while (_morearea.children[0] && !_ismax) {
- _allwidth += _morearea.children[0].offsetWidth;
- var _morewidth = _morearea.children.length == 1 ? 0 : _more.offsetWidth;
- var _curoff = _morearea.children.length == 1 ? 0 : 8;
- var _length = forms.offsetWidth - _morewidth - _curoff;
- if (_allwidth < _length) {
- forms.insertBefore(_morearea.children[0], _more);
- _area = $('> .U_MD_O_H_Area', forms);
- }
- else {
- _ismax = true;
- }
- }
- if (_ismax || _morearea.children.length) {
- _area[_area.length - 1].style.display = "";
- $('.U_MD_O_H_cutoff', _area[_area.length - 2])[0].style.display = "inline-block";
- } else {
- _area[_area.length - 1].style.display = "none";
- $('.U_MD_O_H_cutoff', _area[_area.length - 2])[0].style.display = "none";
- }
- _morearea.style.display = "none";
- }
- U.MD.O.W.E.sitePreview = function () {
- var _wordinfo = U.MD.O.W.fileinfo;
- if (_wordinfo.UserDirectoryID && _wordinfo.UserId && _wordinfo.UserallDirectoryName) {
- U.A.Request("http://cd.1473.cn/php", ["db.1473.cn", "UseStudio_DNS", 'GetDnsInfoByFileId', _wordinfo.UserDirectoryID], function (r) {
- var _data = r.value;
- if (_data.length) {
- window.open('http://' + _data[0].AppId + '.1473.cn/' + _data[0].Domain)
- }
- else {
- var _type = _wordinfo.UserDirectoryExtendType && _wordinfo.UserDirectoryExtendType.toLowerCase(),
- _callback = {
- modifyDomain: function (res) { $('#U_MD_O_H_body_left_href_pay_a')[0].innerHTML = ""; U.MD.O.W.Panel.loadlink({ UserDirectoryID: res.FileId }) },
- addDomain: function (res) { $('#U_MD_O_H_body_left_href_pay_a')[0].innerHTML = ""; U.MD.O.W.Panel.loadlink({ UserDirectoryID: res.FileId }) },
- deleteDomain: function (res) { $('#U_MD_O_H_body_left_href_pay_a')[0].innerHTML = ""; U.MD.O.W.Panel.loadlink({ UserDirectoryID: res.FileId }) }
- };
- switch (_type) {
- case 'uw': case 'un': _type = 'word'; break;
- case 'ue': _type = 'execl'; break;
- default: _type = 'word'; break;
- }
- window.open("http://" + _wordinfo.UserDirectoryID + ".1473.cn");
-
- }
- });
- }
- else {
- U.MD.O.W.save();
- }
- }
- U.MD.O.W.E.downOfficeWord = function (type, content, downname) {
- if (type == 'doc') {
- var _doc = "";
- _doc += "<div>";
- var _html = content.innerHTML;
- _doc += _html;
- _doc += "</div>";
- var docFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office'>";
- docFile = docFile + '<html><meta charset="UTF-8"/><head></head>' + _doc + "</body></html>";
- var base64data = "base64," + window.btoa(unescape(encodeURIComponent(docFile)));
- window.open('data:application/msword;' + base64data);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
|