123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437 |
- //查看指定文件,,判断是否保存或者覆盖,包括创建邀请协作人员,创建编辑历史,创建生成链接.创建热门模板。加载当前word文档的内容。创建光标,监控键盘输入等。这里是iframe中的word起始点。
- //监控输入输出,
- //添加成员,共同编辑。
- Namespace.register("U.MD.O.W.T.N");
- U.MD.O.W.T.N = {
- navInfo: [], //文件信息
- nowNavId: "", //当前操作的导航页面ID
- navcontent: {}
- };
- /**
- * 获取当前展示的页面的内容
- * @param navinfo {object} 导航信息
- *
- */
- U.MD.O.W.T.N.form = function (navinfo) {
- //简易版导航
- U.MD.O.W.T.N.Easy(navinfo);
- //判断导航窗体是否创建
- //if (false && !$('#U_MD_O_W_N')[0]) {
- if(!$('#U_MD_O_W_N')[0]){
- //窗体创建的父级窗体
- var _coopwindow = $("#U_MD_O_R_Parent")[0];
- //内容区域盒子
- var _box = $$('div', { id: "U_MD_O_W_N" });
- //logo
- var _logo = $$('div', { "className": "U_MD_O_W_N_Logo" }, _box);
- var _logoImg = $$('img', { "onerror": U.MD.C.imgError, "src": "/img/Logo_.png", "className": "U_MD_O_W_N_LogoImg", 'id': 'U_MD_O_W_N_LOGO' }, _logo);
- //存放本地上传、云盘上传两个按钮的div
- var _uploadbutton = $$('div', { "className": 'U_MD_O_W_N_uploadbutton' }, _box);
- //input file按钮(隐藏)
- var _localupload = $$('input', { type: "file", "className": "U_MD_O_W_N_localupload", innerHTML: "本地上传", 'id': 'U_MD_O_W_N_LocalUpload', 'onchange': function () { U.MD.O.W.T.N.changeLogo($('#U_MD_O_W_N_LocalUpload')[0], $('#U_MD_O_W_N_LOGO')[0]) } }, _uploadbutton);
- //本地上传按钮,调用了input file(隐藏)的点击事件
- var _localupload2 = $$('button', { "className": 'U_MD_O_W_N_localupload2', innerHTML: "本地上传", 'id': 'pic', 'onclick': function () { $('#U_MD_O_W_N_LocalUpload')[0].click(); } }, _uploadbutton);
- //云盘上传按钮
- var _cdupload = $$('button', { "className": "U_MD_O_W_N_CDupload", innerHTML: "云盘上传" }, _uploadbutton);
- //导航区域
- var _nav = $$('div', { "className": 'U_MD_O_W_N_NavBox', innerHTML: "" }, _box);
- //底部区域
- var _bottom = $$('div', { "className": 'U_MD_O_W_N_Bottom' }, _box);
- //新建页面按钮
- var _newpage = $$('button', { "className": 'U_MD_O_W_N_Button', innerHTML: "新建页面", 'onclick': function () { U.MD.O.W.T.N.addNewNav(navinfo.nav); } }, _bottom);
- //预览按钮
- var _newpage = $$('button', { "className": 'U_MD_O_W_N_Button', innerHTML: "预览" }, _bottom);
- //窗体
- var _form = new U.UF.UI.form("导航管理", _box, { style: { border: "none", position: "absolute", width: "300px", height: "700px", top: "60px", left: "15px", "box-shadow": "3px 3px 10px #888888"} }, { isenlarge: false, isnarrow: false }, { style: { margin: "0px 5px", "border-bottom": "1px solid #d6def0", color: "#000", background: "#fff"} }, null, null, _coopwindow);
- }
- U.MD.O.W.T.N.getPageContent();
- //打印导航
- U.MD.O.W.T.N.printNav(navinfo);
- }
- /**
- * 打印导航
- * @param navinfo {object} 导航信息
- *
- */
- U.MD.O.W.T.N.printNav = function (navinfo) {
- U.MD.O.W.T.N.navInfo = navinfo; //记录导航信息
- U.MD.O.W.T.N.nowNavId = navinfo.nav[0].pageId; //设置默认页面展示页面ID
- var _nav = $('.U_MD_O_W_N_NavBox')[0]; //获取导航位置
- //打印处理
- U.MD.O.W.T.N.createFirstTree(navinfo.nav, _nav);
- //获取页面内容
- U.MD.O.W.T.N.getPageContent();
- }
- /**
- * 获取当前展示的页面的内容
- *
- */
- U.MD.O.W.T.N.getPageContent = function () {
- U.UF.DL.loading($('#U_MD_O_W_E_body')[0]); //设置loading
- if (U.MD.O.W.T.N.navcontent[U.MD.O.W.T.N.nowNavId]) {
- U.MD.O.W.T.N.getPageContentAsyn({ value: U.MD.O.W.T.N.navcontent[U.MD.O.W.T.N.nowNavId] });
- //$("#U_MD_O_H_wordEditor")[0].innerHTML = U.MD.O.W.T.N.navcontent[U.MD.O.W.T.N.nowNavId];
- } else if (U.MD.O.W.permission.web) {
- //发送获取内容请求
- parent.U.A.Request(US.SCOKET, ["getNavPageContent", U.MD.O.W.fileinfo.UserDirectoryID, U.MD.O.W.T.N.nowNavId], function (r) {
- U.MD.O.W.T.N.getPageContentAsyn(r); //异步处理
- });
- } else {
- //发送获取内容请求
- parent.U.A.Request(US.CD, [US.DB, "UseStudio_Office", "GetNavPageContent", U.MD.O.W.T.N.nowNavId], function (r) {
- U.MD.O.W.T.N.getPageContentAsyn(r);
- });
- }
- }
- /**
- * 获取当前展示的页面的内容异步处理
- *
- */
- U.MD.O.W.T.N.getPageContentAsyn = function (r) {
- //内容处理
- if (r.value && r.value.UsOffice !== undefined) {
- r = r.value.UsOffice;
- } else {
- r = r.value;
- if (U.UF.C.isObject(r)) {
- r = r[0] ? r[0].content : "";
- }
- }
- //设置当前展示导航的样式
- U.MD.O.W.T.N.setHoverClass();
- //设置内容属性
- U.MD.O.W.fileinfo.UsOffice = (r || "").unEscapeQuotes(); //word内容
- U.MD.O.W.E.initEditor(U.MD.O.W.permission.web); //加载编辑器和内容
- //设置切换页面全局状态为false 表示切换结束
- U.MD.O.W.T.N.switching = false;
- //清楚loading
- U.UF.DL.uploading($('#U_MD_O_W_E_body')[0]);
- }
- /**
- * 设置当前展示导航的样式
- *
- */
- U.MD.O.W.T.N.setHoverClass = function () {
- //去除已中样式
- $('.U_MD_O_H_Nav_Span').removeClass('U_MD_O_H_Nav_Span');
- //设置新的导航选中
- $('#Word_Nav_' + U.MD.O.W.T.N.nowNavId).addClass('U_MD_O_H_Nav_Span');
- $('.U_MD_O_W_T_N_easyDeleteBtn_show').removeClass('U_MD_O_W_T_N_easyDeleteBtn_show');
- $('.U_MD_O_W_T_N_easyDeleteBtn_show').removeClass('U_MD_O_W_T_N_easyDeleteBtn_show');
- $($('#Word_Nav_' + U.MD.O.W.T.N.nowNavId).next()).addClass('U_MD_O_W_T_N_easyDeleteBtn_show');
- }
- /**
- * 页面导航
- * @param callback {function} 回调函数
- *
- */
- U.MD.O.W.T.N.saveNav = function (callback, param) {
- //判断用户是否登录,只有登录用户才能保存信息
- if (!top.U.MD.U.L.isLogin(function (userinfo) { U.MD.O.W.userinfo = userinfo; })) {
- var _isftp,
- _isgroupuser,
- _uid = U.MD.O.W.userinfo.UserId,
- _el = $("#U_MD_O_H_wordEditor")[0], //word编辑区域
- _fileinfo = U.MD.O.W.fileinfo, //文件信息
- _name = top.$('#UD_Word' + _fileinfo.UserDirectoryID + ' .U_MD_O_H_head_navigation_Title')[0], //文件名
- _fileid = _fileinfo.UserDirectoryID, //文件ID
- _html = _el.innerHTML, //内容
- _data = null;
- //判断文档是否是已经保存到数据库的文档
- if (_fileid && _fileinfo.UserId && _fileinfo.UserallDirectoryName && U.MD.O.W.permission.edit) { //如果是已经保存到数据库的文档,那么直接保存内容
- //保存到数据库
- top.U.A.Request(US.AUTH, ["SaveFileContent", _fileid, JSON.stringify(U.MD.O.W.T.N.navInfo), _name.value], function (r) {
- U.UF.C.isFunction(callback) && callback.apply(this, param);
- }, (['', _el])); //保存到数据库
- }
- //如果文件没有保存,那么直接新建文件
- else {
- var _newfileid = Guid.newGuid();
- //调用word新建文档的处理
- top.U.MD.DK.VW.chosenSaveFile('un', _newfileid, _name.value, function (fileinfo) {
- U.MD.O.W.fileinfo = fileinfo //文档信息
- top.$('#UD_Word' + _fileid)[0].id = 'UD_Word' + _newfileid;
- _name.value = fileinfo.UserDirectoryName;
- _isgroup = U.Json.select(US.friend.group, {
- "GroupManageID": fileinfo.GroupID
- })[0];
- if (!U.MD.O.W.permission.edit) {
- U.MD.O.W.T.N.saveAllPage(function () {
- U.MD.O.W.T.N.saveNav.asyn(_isgroup, fileinfo, _el)
- }, 0, _isgroup, _html);
- } else {
- U.MD.O.W.T.N.saveNav.asyn(_isgroup, fileinfo, _el, _html);
- }
- });
- }
- }
- }
- U.MD.O.W.T.N.saveNav.asyn = function (isgroup, fileinfo, el, html) {
- if (isgroup) {
- U.A.Request(US.SCOKET, ["newNavSave", fileinfo.UserDirectoryID, JSON.stringify(U.MD.O.W.T.N.navInfo), fileinfo.UserDirectoryName, html ? U.MD.O.W.T.N.nowNavId : "", html || "", US.userInfo.UserId, US.pageId], function (r) {
- //top.$('#UD_Word' + newfileid + ' .U_MD_O_H_head_navigation_Title')[0].value = fileinfo.UserDirectoryName;
- U.MD.O.W.fileinfo.UsOffice = el.innerHTML;
- $('#U_MD_O_H_wordEditor')[0].editor.operaNotice = U.MD.O.W.E.operationNotice;
- U.MD.O.W.permission.edit = true;
- U.MD.O.W.permission.web = true;
- U.Alert("保存成功");
- });
- } else {
- top.U.A.Request(US.AUTH, ["SaveFileContent", fileinfo.UserDirectoryID, JSON.stringify(U.MD.O.W.T.N.navInfo), fileinfo.UserDirectoryName], function (r) {
- U.MD.O.W.T.N.savePage(function () {
- U.MD.O.W.permission.edit = true;
- }, true);
- }); //保存到数据库
- }
- }
- U.MD.O.W.T.N.saveAllPage = function (callback, i, group, html) {
- var _nowid, _nav = U.MD.O.W.T.N.navInfo.nav;
- _nowid = Guid.newGuid();
- if (_nav[i].pageId == U.MD.O.W.T.N.nowNavId) {
- _content = html;
- } else {
- _content = U.MD.O.W.T.N.navcontent[_nav[i].pageId] || "";
- }
- if (group) {
- top.U.A.Request(US.SCOKET, ["copyPageContent", U.MD.O.W.fileinfo.UserDirectoryID, _nowid, _content.escapeQuotes(), _nav[i].pageId], U.MD.O.W.T.N.saveAllPage.asyn, [null, i, group, _nav, _nowid, callback]); //保存到数据库
- } else {
- top.U.A.Request(US.CD, [US.DB, "UseStudio_Office", "CopyPageContent", _nowid, (_content || U.MD.O.W.T.N.navcontent[_nav[i].pageId] || "").escapeQuotes(), _nav[i].pageId], U.MD.O.W.T.N.saveAllPage.asyn, [null, i, group, _nav, _nowid, callback]); //保存到数据库
- }
- }
- U.MD.O.W.T.N.saveAllPage.asyn = function (r) {
- if (r.value) {
- var i = r.context[1],
- _group = r.context[2],
- _nav = r.context[3],
- _nowid = r.context[4],
- _callback = r.context[5];
- _nav[i].pageId == U.MD.O.W.T.N.nowNavId && (U.MD.O.W.T.N.nowNavId = _nowid);
- $("#Word_Nav_" + _nav[i].pageId)[0].onclick = U.UF.C.closure(U.MD.O.W.T.N.switchPage, [_nowid]);
- $("#Word_Nav_" + _nav[i].pageId).attr({ pid: _nowid, id: "#Word_Nav_" + _nowid });
- _nav[i].pageId = _nowid;
- if (_nav.length == i + 1) {
- _callback();
- } else {
- U.MD.O.W.T.N.saveAllPage(_callback, ++i, _group);
- }
- }
- }
- /**
- * 新建建站文件
- * @param callback {function} 回调函数
- * @param alert {boole} 是否弹出弹出提示
- *
- */
- U.MD.O.W.T.N.savePage = function (callback, alert) {
- // if (!top.U.MD.U.L.isLogin(function (userinfo) { U.MD.O.W.userinfo = userinfo; })) {
- U.UF.DL.loading($('#U_MD_O_W_E_body')[0]);
- var _html = $("#U_MD_O_H_wordEditor")[0].innerHTML;
- top.U.A.Request(US.CD, [US.DB, "UseStudio_Office", "SaveNavPageContent", U.MD.O.W.T.N.nowNavId, _html.escapeQuotes()], function (r) {
- U.MD.O.W.fileinfo.UsOffice = _html;
- alert && U.Alert('保存成功');
- U.UF.C.isFunction(callback) && callback();
- U.UF.DL.uploading($('#U_MD_O_W_E_body')[0]);
- }); //保存到数据库
- // }
- }
- /**
- * 修改logo 设置logo背景图
- * @param fileinput {object} 上传文本框
- * @param logoel {object} logo图片
- *
- */
- U.MD.O.W.T.N.changeLogo = function (fileinput, logoel) {
- if (!top.U.MD.U.L.isLogin(function (userinfo) { U.MD.O.W.userinfo = userinfo; })) {
- U.UF.UP.inputUpload(
- [fileinput],
- 'http://disk.1473.cn/USUpfile.ashx?typename=UseStudioEditor&UserId=' + US.userInfo.UserId,
- function (r) {
- //上传之后的处理 r.value[0]上传之后的图片服务器名字 全路径 http://fs.1473.cn/ + r.value[0]
- U.MD.O.W.T.N.navInfo.logo = r.value[0];
- //logoel.style.backgroundImage = "url('http://fs.1473.cn/" + U.MD.O.W.T.N.navInfo.logo + "')";
- logoel.src = "http://fs.1473.cn/" + U.MD.O.W.T.N.navInfo.logo + "";
- }
- );
- }
- }
- /**
- * 切换页面
- * @param nav {object} 导航目录信息
- *
- */
- U.MD.O.W.T.N.switching = false; //设置记录切换中属性
- U.MD.O.W.T.N.switchPage = function (pageid) {
- if (this.contentEditable != "true") {
- var _fileinfo = U.MD.O.W.fileinfo; //文件信息
- if (!U.MD.O.W.T.N.switching) { // && _fileinfo.UserId && _fileinfo.UserallDirectoryName
- U.MD.O.W.T.N.switching = true;
- if (U.MD.O.W.permission.edit) {
- //先执行保存
- U.MD.O.W.T.N.savePage(function () {
- //修改记录的当前操作的导航页面ID
- U.MD.O.W.T.N.nowNavId = pageid;
- //执行切换
- U.MD.O.W.T.N.getPageContent();
- });
- } else {
- U.MD.O.W.T.N.navcontent[U.MD.O.W.T.N.nowNavId] = $("#U_MD_O_H_wordEditor")[0].innerHTML;
- //修改记录的当前操作的导航页面ID
- U.MD.O.W.T.N.nowNavId = pageid;
- //执行切换
- U.MD.O.W.T.N.getPageContent();
- }
- }
- }
- }
- /**
- * 创建导航信息
- * @param name {string} 导航名称
- *
- */
- U.MD.O.W.T.N.navData = function (name) {
- return {
- pageId: Guid.newGuid(),
- name: name || "新的页面"
- };
- }
- /**
- * 根据NavId查找对应的导航信息
- */
- U.MD.O.W.T.N.selectByNavId = function (nowinfo, navid) {
- var i = 0;
- for (i = 0; i < nowinfo.length; i++) {
- object = nowinfo[i];
- if (object.pageId == navid) {
- return object;
- } else if (object.child) {
- return us.selectNav(object.child, navid);
- }
- }
- }
- /**
- * 简易版导航创建
- *
- */
- U.MD.O.W.T.N.Easy = function (navinfo) {
- $('.U_MD_O_H_Nav')[0].style.display = "block"; //显示导航
- U.MD.O.W.T.N.navInfo = navinfo; //记录导航信息
- U.MD.O.W.T.N.nowNavId = navinfo.nav[0].pageId; //设置默认页面展示页面ID
- var i;
- var _navbox = $('.U_MD_O_H_Nav_Box')[0]; //导航区域
- _navbox.innerHTML = "";
- for (i = 0; i < navinfo.nav.length; i++) {
- if (i == 4) {
- U.MD.O.W.T.N.Easy.createMore();
- }
- U.MD.O.W.T.N.Easy.Print(navinfo.nav[i], navinfo.nav);
- }
- }
- /**
- * 打印导航
- * @param nav {object} 导航目录信息
- *
- */
- U.MD.O.W.T.N.Easy.Print = function (nav, data, index, isnew) {
- var _navbox = $('.U_MD_O_H_Nav_Box'); //导航区域
- var _div = $$('div', {}); //创建盒子
- var _beforeele = null;
- if (index) {
- _beforeele = _navbox.Child()[index + 1];
- }
- $(_div).appendTo(_navbox[0], 0, _beforeele); //添加元素
- //内容区域
- var _span = $$('span', {
- id: "Word_Nav_" + nav.pageId,
- innerHTML: nav.name,
- pid: nav.pageId,
- onclick: U.UF.C.closure(U.MD.O.W.T.N.switchPage, [nav.pageId])
- }, _div);
- // if (U.MD.O.W.permission.edit) {
- if (isnew) {
- _span.onblur = function () { U.MD.O.W.T.N.addNav(this, nav, data, top); };
- } else {
- _span.onblur = function () { U.MD.O.W.T.N.updateNav(this, nav); }
- }
- _span.ondblclick = U.MD.O.W.T.N.Easy.ondblclick;
- _span.onkeydown = U.UF.C.closure(U.MD.O.W.T.N.Easy.enter, [_span]);
- $$("div", { 'className': 'U_MD_O_W_T_N_easyDeleteBtn', onclick: function () { U.UF.UI.Confirm('删除当前页面后内容将不可恢复,确认删除?', function () { U.MD.O.W.T.N.deleteNav(nav, data, true); }); } }, _div); //删除按钮
- // }
- return _span;
- }
- /**
- * 双击事件
- *
- */
- U.MD.O.W.T.N.Easy.ondblclick = function () {
- // if (!top.U.MD.U.L.isLogin(function (userinfo) { U.MD.O.W.userinfo = userinfo; })) {
- this.setAttribute("contenteditable", "true"); //设置可编辑
- this.focus(); //聚焦处理
- U.UF.E.getRangeAt().selectNodeContents(this); //全选处理
- // }
- }
- /**
- * 回车修改
- * @param nav {object} 导航目录信息
- *
- */
- U.MD.O.W.T.N.Easy.enter = function (navel, fun) {
- //获取event对象
- var e = U.UF.EV.getEventSource();
- //获取按下键值
- var _code = e.keyCode;
- //判断是否为回车键
- if (_code == 13) {
- navel.setAttribute("contenteditable", "false"); //设置导航不可编辑
- //执行修改导航名称函数
- // U.MD.O.W.T.N.updateNav(this, nav)
- // this.onblur();
- U.UF.EV.stopDefault();
- }
- U.UF.EV.stopBubble(); //阻止默认事件
- }
- /**
- * 添加导航点击事件处理
- *
- */
- U.MD.O.W.T.N.Easy.add = function () {
- var _fileinfo = U.MD.O.W.fileinfo; //文件信息
- //多导航处理
- if (U.MD.O.W.T.N.navInfo.nav.length == 4) {
- //提示操作限制
- //return U.Alert('目前最多只支持4个页面。。。');
- U.MD.O.W.T.N.Easy.createMore();
- }
- if (U.MD.O.W.T.N.navInfo.nav.length >= 4) {
- $('.U_MD_O_H_Nav_Box_More_Hide').removeClass('U_MD_O_H_Nav_Box_More_Hide');
- }
- //判断文档是否是已经保存到数据库的文档
- // if (_fileinfo.UserDirectoryID && _fileinfo.UserId && _fileinfo.UserallDirectoryName) { //如果是已经保存到数据库的文档,那么直接保存内容
- if (!U.MD.O.W.permission.edit) {
- U.MD.O.W.T.N.navcontent[U.MD.O.W.T.N.nowNavId] = $("#U_MD_O_H_wordEditor")[0].innerHTML;
- U.MD.O.W.T.N.Easy.add.asyn();
- } else {
- if (U.MD.O.W.permission.web) {
- U.MD.O.W.T.N.Easy.add.asyn();
- } else {
- //执行保存页面内容函数
- U.MD.O.W.T.N.savePage(U.MD.O.W.T.N.Easy.add.asyn);
- }
- }
- // } else {
- // U.MD.O.W.save();
- // }
- }
- /**
- * 添加导航点击事件处理 异步
- *
- */
- U.MD.O.W.T.N.Easy.add.asyn = function () {
- //创建新的导航
- var _nav = U.MD.O.W.T.N.navData();
- //添加到导航信息数组里
- U.MD.O.W.T.N.navInfo.nav.push(_nav);
- //切换记录当前操作的页面ID
- U.MD.O.W.T.N.nowNavId = _nav.pageId;
- var _editor = $("#U_MD_O_H_wordEditor")[0]; //编辑器元素
- U.MD.O.W.fileinfo.UsOffice = "";
- U.MD.O.W.E.initEditor();
- // _editor.innerHTML = ""; //清空内容
- // U.UF.E.key.addDelLine(_editor); //默认添加第一行
- //打印导航
- var _navel = U.MD.O.W.T.N.Easy.Print(_nav, U.MD.O.W.T.N.navInfo.nav, null, true);
- //默认执行导航双击事件 触发修改
- _navel.ondblclick();
- //设置选中样式
- U.MD.O.W.T.N.setHoverClass();
- }
- U.MD.O.W.T.N.Easy.createMore = function () {
- $$('div', { className: "U_Img U_MD_O_H_Nav_More ", onclick: U.MD.O.W.T.N.Easy.showOrHideNav }, $('.U_MD_O_H_Nav_Box')[0]);
- $(".U_MD_O_H_Nav_Box").addClass("U_MD_O_H_Nav_Box_More");
- $(".U_MD_O_H_Nav_Box").addClass("U_MD_O_H_Nav_Box_More_Hide");
- }
- U.MD.O.W.T.N.Easy.removeMore = function () {
- $('.U_MD_O_H_Nav_More').remove();
- $(".U_MD_O_H_Nav_Box").removeClass("U_MD_O_H_Nav_Box_More");
- $(".U_MD_O_H_Nav_Box").removeClass("U_MD_O_H_Nav_Box_More_Hide");
- }
- U.MD.O.W.T.N.Easy.showOrHideNav = function (flag) {
- if (flag == true || $('.U_MD_O_H_Nav_Box_More_Hide')[0]) {
- $('.U_MD_O_H_Nav_Box_More_Hide').removeClass('U_MD_O_H_Nav_Box_More_Hide');
- var _close = function () {
- U.MD.O.W.T.N.Easy.showOrHideNav();
- $('body').unbind("click", _close);
- }
- $('body').bind("click", _close);
- } else {
- $('.U_MD_O_H_Nav_Box_More').addClass('U_MD_O_H_Nav_Box_More_Hide');
- }
- U.UF.EV.stopBubble();
- // var i, _nav = $('.U_MD_O_H_Nav_Box>div').gt(5);
- // var _flag = (!flag || _nav[0].style.display == "") ? "none" : "";
- // for (i = 0; i < _nav.length; i++) {
- // _nav[i].style.display = _flag;
- // }
- //
- // if (_flag) {
- //
- // }
- }
- /**
- * 添加导航
- *
- * @param navel {element} 导航标题元素
- * @param nav {object} 导航信息对象
- * @param data {object} 父级导航信息数组
- * @param top {boole} 是否为第一级导航
- */
- U.MD.O.W.T.N.addNav = function (navel, nav, data, top) {
- if (!U.MD.O.W.permission.edit) {
- nav.name = navel.innerHTML; //修改记录变量
- navel.setAttribute("contenteditable", "false"); //设置导航不可编辑
- } else {
- if (U.MD.O.W.permission.web) { //协同处理
- var _parent, _navinfo = U.MD.O.W.T.N.navInfo.nav;
- var _content = $("#U_MD_O_H_wordEditor")[0].innerHTML.escapeQuotes();
- nav.name = navel.innerHTML; //修改记录变量
- if (top) {
- U.MD.O.W.T.N.addNavMessage("", _navinfo.length, nav, _content, function () {
- navel.onblur = function () { //覆盖失焦事件
- U.MD.O.W.T.N.updateNav(navel, nav); //修改导航处理
- }
- });
- } else {
- var _child = data.child; //获取子级
- if (_child) { //如果存在子级 则执行删除
- _child.every(function (object, index) { //循环找到对应的导航
- if (object.pageId == nav.navId) { //如果导航id相等则为对应导航
- U.MD.O.W.T.N.addNavMessage(data.pageId, index, nav, _content, function () {
- navel.onblur = function () { //覆盖失焦事件
- U.MD.O.W.T.N.updateNav(navel, nav); //修改导航处理
- }
- });
- }
- });
- }
- }
- } else {
- U.MD.O.W.T.N.updateNav(navel, nav); //直接执行修改导航
- navel.onblur = function () { //覆盖失焦事件
- U.MD.O.W.T.N.updateNav(navel, nav);
- }
- }
- }
- }
- /**
- * 删除导航处理
- * nav {object} 当前操作导航信息
- * data {object} 父级导航信息
- * top {boole} 是否为顶级(第一级)
- *
- */
- U.MD.O.W.T.N.deleteNav = function (nav, data, top) {
- if (top && data.length <= 1) { return U.Alert('只剩下一个导航页面啦!'); } //最后一个页面不允许删除
- var _child = top ? data : data.child; //获取子级
- if (_child) { //如果存在子级 则执行删除
- _child.every(function (object, index) { //循环找到对应的导航
- if (object.pageId == nav.pageId) { //如果导航id相等则为对应导航
- if (U.MD.O.W.permission.web) { //协同处理
- U.MD.O.W.T.N.deleteNavMessage(nav.pageId, _child.pageId || "", U.MD.O.W.T.N.deleteNav.asyn, [object, index, US.userInfo.UserId, _child]); //信息处理
- }
- else if (U.MD.O.W.permission.edit) {
- // U.MD.O.W.T.N.deleteNav.asyn(object, index, US.userInfo.UserId, _child); //异步处理
- U.MD.O.W.T.N.saveNav(function () { //直接保存页面
- U.A.Request(US.CD, [US.DB, "UseStudio_Office", "DeletePage", nav.pageId], function (r) { //删除页面请求
- U.MD.O.W.T.N.deleteNav.asyn(object, index, US.userInfo.UserId, _child); //异步处理
- });
- });
- }
- else {
- U.MD.O.W.T.N.deleteNav.asyn(object, index, US.userInfo.UserId, _child); //异步处理
- }
- return false; //返回false终止循环
- }
- return true;
- });
- } else {
- U.Alert("删除有误");
- }
- }
- /**
- * 删除导航处理
- * object {object} 当前操作导航信息
- * index {int} 位于父级导航信息的位置
- * userid {uuid} 操作用户id
- * parent {object} 导航的父级信息
- *
- */
- U.MD.O.W.T.N.deleteNav.asyn = function (object, index, userid, parent) {
- if (!object.child) {
- //导航删除
- $('#U_MD_O_W_T_N_' + object.pageId).remove();
- $($('#Word_Nav_' + object.pageId).Parent()).remove();
- //执行切换
- if (U.MD.O.W.T.N.nowNavId == object.pageId) {
- if (userid != US.userInfo.UserId) {
- var _user = U.Json.select(US.friend.groupusers, { UserId: userid })[0];
- U.Alert('该页面已被' + (_user ? _user.UserNickName || _user.UserName : "") + '删除');
- }
- //执行切换页面
- if (parent.length) {
- if (parent.length == 5) {
- U.MD.O.W.T.N.Easy.removeMore();
- }
- //删除后存在同级页面
- U.MD.O.W.T.N.switchPage(parent[index + 1] ? parent[index + 1].pageId : parent[index - 1].pageId);
- } else {
- //删除后 不存在同级页面
- U.MD.O.W.T.N.switchPage(parent.pageId);
- }
- }
- //数据删除
- parent && parent.splice(index, 1);
- }
- }
- /**
- * 修改导航名称
- * @param navel {Element} 导航元素
- * @param nav {object} 导航目录信息
- *
- */
- U.MD.O.W.T.N.updateNav = function (navel, nav) {
- navel.setAttribute("contenteditable", "false"); //设置导航不可编辑
- //修改记录的name
- nav.name = navel.innerHTML;
- if (U.MD.O.W.permission.edit) {
- if (U.MD.O.W.permission.web) { //协同处理
- U.MD.O.W.T.N.updateNavMessage(nav.pageId, nav.name, U.MD.O.W.T.N.updateNav.asyn); //协同更新导航处理
- } else {
- //执行保存导航函数
- U.MD.O.W.T.N.saveNav(U.MD.O.W.T.N.updateNav.asyn);
- }
- }
- }
- /**
- * 修改导航名称 异步处理
- * @param nav {object} 导航目录信息
- *
- */
- U.MD.O.W.T.N.updateNav.asyn = function (nav) {
- //默认聚到到编辑器区
- $("#U_MD_O_H_wordEditor")[0].focus();
- // var _fileinfo = U.MD.O.W.fileinfo; //文件信息
- // var _issave = true;
- // if (!_fileinfo.UserId && !_fileinfo.UserallDirectoryName) { //如果是已经保存到数据库的文档,那么直接保存内容
- // _issave = false;
- // }
- //提示修改成功
- //U.Alert('修改成功');
- // !_issave && U.MD.O.W.T.N.savePage(null, true);
- }
- /**
- *左目录导航
- *
- */
- U.MD.O.W.T.N.createFirstTree = function (data, parent) {//第一个参数是获取返回的数据,第二个是你要显示目录的位置
- var _data = data;
- if (parent == $('.U_MD_O_W_N_NavBox')[0] && $('.U_MD_O_W_N_NavBox')[0]!=null) {
- parent.innerHTML = "";
- }
- for (var i = 0; i < _data.length; i++) { //循环创建目录
- $$("div", {
- 'className': 'U_MD_O_W_T_N_treeDiv',
- 'id': 'U_MD_O_W_T_N_' + _data[i].pageId
- },
- parent);
- var _treeDiv = $('#U_MD_O_W_T_N_' + _data[i].pageId)[0];
- if (parent == $('.U_MD_O_W_N_NavBox')[0]) {
- _treeDiv.deep = 1;
- } else {
- _treeDiv.deep = parent.deep + 1;
- }
- _treeDiv.i = i; //给目录添加属性
- _treeDiv.pageId = _data[i].pageId;
- _treeDiv.flag = true;
- $$('div', {
- 'className': 'U_MD_O_W_T_N_treeNav',
- 'id': 'U_MD_O_W_T_N_treenav' + _data[i].pageId,
- 'style': { 'padding-left': 12 + 20 * (_treeDiv.deep - 1) + 'px' }
- },
- _treeDiv);
- var _treeNav = $('#U_MD_O_W_T_N_treenav' + _data[i].pageId)[0];
- $$("span", { //创建span标签插入名字
- 'className': 'U_MD_O_W_T_N_treeSpan',
- 'innerHTML': _data[i].name,
- 'id': 'U_MD_O_W_T_N_span' + _data[i].pageId
- },
- _treeNav);
- $$("div", { //创建div标签添加删除按钮
- 'className': 'U_MD_O_W_T_N_deleteDiv',
- 'id': 'U_MD_O_W_T_N_delete' + _data[i].pageId
- },
- _treeNav);
- $$("div", {//创建div标签添加添加按钮
- 'className': 'U_MD_O_W_T_N_addDiv',
- 'id': 'U_MD_O_W_T_N_add' + _data[i].pageId
- },
- _treeNav);
- $$("div", { //创建div标签修改按钮
- 'className': 'U_MD_O_W_T_N_updateDiv',
- 'id': 'U_MD_O_W_T_N_update' + _data[i].pageId
- },
- _treeNav);
- if (_data[i].child) {
- if (_data[i].child.length == 0) {
- $('#U_MD_O_W_T_N_span' + _data[i].pageId)[0].style.cssText += "margin-left:20px";
- } else {
- $$('div', {
- 'className': 'U_MD_O_W_T_N_checkDiv',
- 'id': 'U_MD_O_W_T_N_checkDiv' + _data[i].pageId
- },
- _treeNav);
- }
- } else {
- $('#U_MD_O_W_T_N_span' + _data[i].pageId)[0].style.cssText += "margin-left:20px";
- }
- _treeDiv.onclick = function (e) { //点击目录查看子目录
- U.MD.O.W.T.N.checkNav(this, data);
- e.stopPropagation();
- }
- //删除按钮点击事件
- $('#U_MD_O_W_T_N_delete' + _data[i].pageId)[0].onclick = function (e) {
- var _parent = this.parentNode.parentNode.parentNode; //获取子目录的父级
- var _delele = this.parentNode.parentNode; //获取你要删除的目录
- //删除按钮点击事件函数,第一个参数是要删除的ele,第二个是数据,第三个是父级ele
- U.MD.O.W.T.N.deleteOnClick(_delele, data, _parent);
- e.stopPropagation();
- }
- $('#U_MD_O_W_T_N_add' + _data[i].pageId)[0].onclick = function (e) { //添加按钮点击事件
- var _addele = this.parentNode.parentNode; //获取你点击添加的目录
- var _treenav = this.parentNode;
- if ($('.U_MD_O_W_T_N_addCBox')[0]) { //判断添加选项框是否存在
- var _addParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
- _addParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]); //判断存在,删除选项框
- }
- $$("div", { //创建添加选项框
- 'className': 'U_MD_O_W_T_N_addCBox'
- },
- $('body')[0]);
- e.preventDefault();
- $$("div", { //添加选项
- 'className': 'U_MD_O_W_T_N_addCPage',
- 'innerHTML': '添加子页面'
- },
- $('.U_MD_O_W_T_N_addCBox')[0]);
- $$("div", {
- 'className': 'U_MD_O_W_T_N_addPAbove',
- 'innerHTML': '在上方添加页面'
- },
- $('.U_MD_O_W_T_N_addCBox')[0]);
- $$("div", {
- 'className': 'U_MD_O_W_T_N_addPBelow',
- 'innerHTML': '在下方添加页面'
- },
- $('.U_MD_O_W_T_N_addCBox')[0]);
- //添加子页面点击事件
- $(".U_MD_O_W_T_N_addCPage")[0].onclick = function (e) {
- U.MD.O.W.T.N.addChildOnClick(_addele, data, _treenav);
- }
- //在上方添加页面点击事件
- $('.U_MD_O_W_T_N_addPAbove')[0].onclick = function (e) {
- U.MD.O.W.T.N.addPAboveOnClick(_addele, data, _treenav);
- e.stopPropagation();
- }
- //在下面添加页面点击事件
- $('.U_MD_O_W_T_N_addPBelow')[0].onclick = function (e) {
- U.MD.O.W.T.N.addPBelowOnClick(_addele, data, _treenav);
- e.stopPropagation();
- }
- document.onclick = function (e) { //显示添加选项框后,点击别的空白地方会关闭选项框
- if ($('.U_MD_O_W_T_N_addCBox')[0]) {
- var _cBoxParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
- _cBoxParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]);
- }
- }
- U.UF.C.rightClickMenuLocation($('.U_MD_O_W_T_N_addCBox')[0]);
- e.stopPropagation();
- }
- //修改按钮点击事件
- $('#U_MD_O_W_T_N_update' + _data[i].pageId)[0].onclick = function (e) {
- var _upele = this.parentNode.parentNode;
- U.MD.O.W.T.N.updateOnClick(_upele, data); //修改按钮点击事件函数,第一个参数是你要修改的ele,第二个是数据
- if (e) {
- e.stopPropagation();
- }
- }
- }
- }
- /**
- * 刷新目录名称
- * @param data {object} 目录信息
- *
- */
- U.MD.O.W.T.N.cleanInnerHTML = function (data) { //清除内容
- var _span = $('#U_MD_O_W_T_N_span' + data.pageId)[0];
- _span.innerHTML = data.name; //重新显示名字
- }
- /**
- * 删除页面点击事件
- * ele {element} 修改的元素
- * data [array] 数据数组
- */
- U.MD.O.W.T.N.deleteOnClick = function (ele, data, parent) {
- var _delele = ele;
- var _parent = parent;
- for (var i = 0; i < data.length; i++) { //循环找到你删除的子目录的信息
- if (data[i].pageId == _delele.pageId) {
- if (data[i].child && data[i].child.length > 0) {
- var _deleteId = _delele.pageId;
- for (var l = 0; l < data[i].child.length; l++) {
- _deleteId += "," + data[i].child[l].pageId;
- }
- U.UF.UI.confirm($$('div', { style: { padding: "25px 0 " }, innerHTML: "删除这些页面将会删除他们的子页面,是否删除?" }), U.UF.C.closure(function (i) {
- data.splice(i, 1); //从数据中删除信息
- //执行保存导航函数
- U.MD.O.W.T.N.saveNav(function () {
- U.A.Request(US.CD, [US.DB, "UseStudio_Office", "DeletePage", _deleteId], function (r) {
- _parent.removeChild(_delele); //页面上删除子目录
- if ($('#U_MD_O_W_T_N_' + _parent.id + ' .U_MD_O_W_T_N_treeNav').length == 0) {
- if (_parent != $('.U_MD_O_W_N_NavBox')[0]) {
- $('#U_MD_O_W_T_N_treenav' + _parent.pageId)[0].removeChild($('#U_MD_O_W_T_N_checkDiv' + _parent.pageId)[0]);
- $('#U_MD_O_W_T_N_span' + _parent.pageId)[0].style.cssText += "margin-left:20px";
- }
- }
- $("#U_MD_O_H_wordEditor")[0].innerHTML = "";
- });
- });
- }, [i]));
- } else {
- data.splice(i, 1);
- //执行保存导航函数
- U.MD.O.W.T.N.saveNav(function () {
- U.A.Request(US.CD, [US.DB, "UseStudio_Office", "DeletePage", _delele.pageId], function (r) {
- console.log(1);
- _parent.removeChild(_delele); //页面上删除子目录
- if ($('#U_MD_O_W_T_N_' + _parent.id + ' .U_MD_O_W_T_N_treeNav').length == 0) {
- if (_parent != $('.U_MD_O_W_N_NavBox')[0]) {
- $('#U_MD_O_W_T_N_treenav' + _parent.pageId)[0].removeChild($('#U_MD_O_W_T_N_checkDiv' + _parent.pageId)[0]);
- $('#U_MD_O_W_T_N_span' + _parent.pageId)[0].style.cssText += "margin-left:20px";
- }
- }
- $("#U_MD_O_H_wordEditor")[0].innerHTML = "";
- });
- });
- }
- }
- }
- }
- /**
- * 修改页面点击事件
- * ele {element} 修改的元素
- * data [array] 数据数组
- */
- U.MD.O.W.T.N.updateOnClick = function (ele, data) {
- var _upele = ele;
- if ($('.U_MD_O_W_T_N_updateInput')[0]) {//如果修改输入框已经存在,则移除输入框
- var _inputParent = $('.U_MD_O_W_T_N_updateInput')[0].parentNode;
- _inputParent.removeChild($('.U_MD_O_W_T_N_updateInput')[0]);
- }
- $$("input", { //创建输入框
- 'className': 'U_MD_O_W_T_N_updateInput',
- 'type': 'text',
- 'style': {
- 'left': 7 + 20 * _upele.deep + 'px'
- },
- 'value': $('#U_MD_O_W_T_N_span' + _upele.pageId)[0].innerHTML
- },
- _upele);
- //输入框阻止冒泡
- $('.U_MD_O_W_T_N_updateInput')[0].onclick = function (e) {
- e.stopPropagation();
- }
- document.onclick = function () { //点击空白处关闭输入框
- if ($('.U_MD_O_W_T_N_updateInput')[0]) {
- var _upvalue = $('.U_MD_O_W_T_N_updateInput')[0].value;
- //判断输入的内容是否为空
- if (_upvalue == "" || _upvalue == null) {
- return false;
- }
- _upele.removeChild($('.U_MD_O_W_T_N_updateInput')[0]);
- for (var i = 0; i < data.length; i++) {
- if (data[i].pageId == _upele.pageId) {
- data[i].name = _upvalue;
- U.MD.O.W.T.N.saveNav(function () {
- U.MD.O.W.T.N.cleanInnerHTML(data[i]);
- console.log(data);
- });
- return false;
- }
- }
- if ($('.U_MD_O_W_T_N_updateInput')[0]) {
- _upele.removeChild($('.U_MD_O_W_T_N_updateInput')[0]);
- }
- }
- }
- document.onkeydown = function () { //网页内按下回车触发
- if (event.keyCode == 13) { //点击回车修改目录信息
- var _upvalue = $('.U_MD_O_W_T_N_updateInput')[0].value;
- if (_upvalue == "" || _upvalue == null) {
- return false;
- }
- _upele.removeChild($('.U_MD_O_W_T_N_updateInput')[0]);
- for (var i = 0; i < data.length; i++) {
- if (data[i].pageId == _upele.pageId) {
- data[i].name = _upvalue;
- U.MD.O.W.T.N.saveNav(function () {
- U.MD.O.W.T.N.cleanInnerHTML(data[i]);
- console.log(data);
- });
- return false;
- }
- }
- }
- }
- }
- /**
- * 查看页面点击事件
- * @param data {object} 目录信息
- *
- */
- U.MD.O.W.T.N.checkNav = function (ele, data) {
- var _data = data; //获取返回的数据
- var _ele = ele;
- //清空其他选中样式,增删改按钮
- for (var i = 0; i < $('.U_MD_O_W_N_NavBox .U_MD_O_W_T_N_treeNav').length; i++) {
- $('.U_MD_O_W_T_N_treeNav')[i].style.background = '#fff';
- var _treeNavParent = $('.U_MD_O_W_T_N_treeNav')[i].parentNode;
- $('#U_MD_O_W_T_N_update' + _treeNavParent.pageId)[0].style.display = "none";
- $('#U_MD_O_W_T_N_add' + _treeNavParent.pageId)[0].style.display = "none";
- $('#U_MD_O_W_T_N_delete' + _treeNavParent.pageId)[0].style.display = "none";
- }
- var _treeNav = $('#U_MD_O_W_T_N_treenav' + _data[_ele.i].pageId)[0];
- _treeNav.style.background = "#ccebf8";
- //显示增删改按钮
- $('#U_MD_O_W_T_N_update' + _data[_ele.i].pageId)[0].style.display = "block";
- $('#U_MD_O_W_T_N_add' + _data[_ele.i].pageId)[0].style.display = "block";
- $('#U_MD_O_W_T_N_delete' + _data[_ele.i].pageId)[0].style.display = "block";
- U.MD.O.W.T.N.switching = false; //设置记录切换中属性
- U.MD.O.W.T.N.switchPage(_data[_ele.i].pageId);
- if (_data[_ele.i].child && _data[_ele.i].child.length > 0) { //如果目录有子目录则执行
- if (_ele.flag) { //根据flag判定子目录是否已经存在
- $('#U_MD_O_W_T_N_checkDiv' + _data[_ele.i].pageId)[0].style.cssText += 'background: url(../../../img/U_MD_O_W_T_N_check.png) center no-repeat;background-size:100%;';
- U.MD.O.W.T.N.createFirstTree(data[_ele.i].child, _ele); //显示子目录
- _ele.flag = false;
- } else {
- for (var i = 0; i < $('.U_MD_O_W_N_NavBox .U_MD_O_W_T_N_treeNav').length; i++) {
- $('.U_MD_O_W_T_N_treeNav')[i].style.background = '#fff';
- var _treeNavParent = $('.U_MD_O_W_T_N_treeNav')[i].parentNode;
- }
- var _treeNav = $('#U_MD_O_W_T_N_treenav' + _data[_ele.i].pageId)[0];
- $('#U_MD_O_W_T_N_checkDiv' + _data[_ele.i].pageId)[0].style.cssText += 'background: url(../../../img/U_MD_O_W_T_N_check2.png) center no-repeat;background-size:100%;';
- _treeNav.style.background = "#ccebf8";
- if ($('.U_MD_O_W_T_N_addCBox')[0]) {
- var _cBoxParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
- _cBoxParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]);
- }
- for (var l = 0; l < _data[_ele.i].child.length; l++) {//子目录已经存在,删除子目录
- _ele.removeChild($('#U_MD_O_W_T_N_' + _data[_ele.i].child[l].pageId)[0]);
- }
- // U.MD.O.W.T.N.cleanInnerHTML(this, _data[this.i]);
- _ele.flag = true;
- }
- }
- }
- /**
- * 新建页面点击事件
- * @param data {object} 目录信息
- *
- */
- U.MD.O.W.T.N.addNewNav = function (data) { //添加新页面的点击事件
- var _data = data; //获取返回的数据
- U.MD.O.W.T.N.saveNav(function () {
- U.MD.O.W.T.N.savePage(function () {
- //创建新的导航
- var _nav = U.MD.O.W.T.N.navData('新页面');
- //添加到导航信息数组里
- U.MD.O.W.T.N.navInfo.nav.push(_nav);
- //清空目录
- $('.U_MD_O_W_N_NavBox')[0].innerHTML = "";
- //重新从数据里获取最新的信息
- U.MD.O.W.T.N.createFirstTree(data, $('.U_MD_O_W_N_NavBox')[0]);
- //移除目录选中样式
- for (var i = 0; i < $('.U_MD_O_W_N_NavBox .U_MD_O_W_T_N_treeNav').length; i++) {
- $('.U_MD_O_W_T_N_treeNav')[i].style.background = '#fff';
- }
- var _treeNav = $('#U_MD_O_W_T_N_treenav' + _nav.pageId)[0];
- $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].style.display = "block";
- $('#U_MD_O_W_T_N_add' + _nav.pageId)[0].style.display = "block";
- $('#U_MD_O_W_T_N_delete' + _nav.pageId)[0].style.display = "block";
- //选中新添加的目录
- _treeNav.style.background = "#ccebf8";
- $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].onclick();
- //打印导航
- var _navel = U.MD.O.W.T.N.Easy.Print(_nav, U.MD.O.W.T.N.navInfo.nav);
- //默认执行导航双击事件 触发修改
- _navel.ondblclick();
- //切换记录当前操作的页面ID
- U.MD.O.W.T.N.nowNavId = _nav.pageId;
- //情况页面内容
- $("#U_MD_O_H_wordEditor")[0].innerHTML = "";
- //设置选中样式
- U.MD.O.W.T.N.setHoverClass();
- }, true);
- });
- if ($('.U_MD_O_W_T_N_addCBox')[0]) {
- var _cBoxParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
- _cBoxParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]);
- }
- }
- /**
- * 添加子页面点击事件
- * ele {element} 获取你点击的元素
- * data {array} 数据信息
- *parent {element} 获取你点击的父级
- */
- U.MD.O.W.T.N.addChildOnClick = function (ele, data, parent) {
- var _addele = ele;
- var _treenav = parent;
- if (_addele.flag == false) {
- if ($('#U_MD_O_W_T_N_checkDiv' + _addele.pageId)[0]) {
- _treenav.removeChild($('#U_MD_O_W_T_N_checkDiv' + _addele.pageId)[0]);
- }
- for (var l = 0; l < data[_addele.i].child.length; l++) {//子目录已经存在,删除子目录
- _addele.removeChild($('#U_MD_O_W_T_N_' + data[_addele.i].child[l].pageId)[0]);
- }
- }
- U.MD.O.W.T.N.saveNav(function () {
- U.MD.O.W.T.N.savePage(function () {
- //创建新的导航
- var _nav = U.MD.O.W.T.N.navData('新页面');
- for (var i = 0; i < data.length; i++) { //循环找到你要添加子目录的目录
- if (data[i].pageId == _addele.pageId) {
- if ($('#U_MD_O_W_T_N_checkDiv' + _addele.pageId)[0]) {//如果查看标签已经存在,则删除标签
- var _checkParent = $('#U_MD_O_W_T_N_checkDiv' + _addele.pageId)[0].parentNode;
- _checkParent.removeChild($('#U_MD_O_W_T_N_checkDiv' + _addele.pageId)[0]);
- }
- $$('div', {//创建查看标签
- 'className': 'U_MD_O_W_T_N_checkDiv',
- 'style': {
- 'background': 'url(../../../img/U_MD_O_W_T_N_check.png) center no-repeat;',
- 'background-size': '100%;'
- },
- 'id': 'U_MD_O_W_T_N_checkDiv' + _addele.pageId
- },
- _treenav);
- _addele.flag = false;
- if (data[i].child) { //判断是否已经有child,有则直接插入,没有则创建数组再插入
- //添加到导航信息数组里
- data[i].child.push(_nav);
- U.MD.O.W.T.N.createFirstTree(data[i].child, _addele); //重新从数据里获取最新的信息
- } else {
- data[i].child = new Array();
- //添加到导航信息数组里
- data[i].child.push(_nav);
- U.MD.O.W.T.N.createFirstTree(data[i].child, _addele); //重新从数据里获取最新的信息
- }
- }
- }
- for (var i = 0; i < $('.U_MD_O_W_N_NavBox .U_MD_O_W_T_N_treeNav').length; i++) {
- $('.U_MD_O_W_T_N_treeNav')[i].style.background = '#fff';
- var _treeNavParent = $('.U_MD_O_W_T_N_treeNav')[i].parentNode;
- // 隐藏增删改按钮
- $('#U_MD_O_W_T_N_update' + _treeNavParent.pageId)[0].style.display = "none";
- $('#U_MD_O_W_T_N_add' + _treeNavParent.pageId)[0].style.display = "none";
- $('#U_MD_O_W_T_N_delete' + _treeNavParent.pageId)[0].style.display = "none";
- }
- $('#U_MD_O_W_T_N_span' + _addele.pageId)[0].style.cssText += "margin-left:5px";
- var _treeNav = $('#U_MD_O_W_T_N_treenav' + _nav.pageId)[0];
- _treeNav.style.background = "#ccebf8";
- //执行修改按钮点击事件
- $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].onclick();
- $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].style.display = "block";
- $('#U_MD_O_W_T_N_add' + _nav.pageId)[0].style.display = "block";
- $('#U_MD_O_W_T_N_delete' + _nav.pageId)[0].style.display = "block";
- //打印导航
- var _navel = U.MD.O.W.T.N.Easy.Print(_nav, U.MD.O.W.T.N.navInfo.nav);
- //默认执行导航双击事件 触发修改
- _navel.ondblclick();
- //切换记录当前操作的页面ID
- U.MD.O.W.T.N.nowNavId = _nav.pageId;
- //情况页面内容
- $("#U_MD_O_H_wordEditor")[0].innerHTML = "";
- //设置选中样式
- U.MD.O.W.T.N.setHoverClass();
- }, true);
- });
- //如果添加选项窗口还存在就移除窗口
- if ($('.U_MD_O_W_T_N_addCBox')[0]) {
- var _cBoxParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
- _cBoxParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]);
- }
- }
- /**
- * 在下方添加页面点击事件
- * ele {element} 获取你点击的元素
- * data {array} 数据信息
- *parent {element} 获取你点击的父级
- */
- U.MD.O.W.T.N.addPBelowOnClick = function (ele, data, parent) {
- var _addele = ele;
- var _treenav = parent;
- U.MD.O.W.T.N.saveNav(function () {
- U.MD.O.W.T.N.savePage(function () {
- //创建新的导航
- var _nav = U.MD.O.W.T.N.navData("新页面");
- var _parentNode = _addele.parentNode;
- if (_parentNode.pageId == null) { //判断是否是一级目录
- data.splice(_addele.i + 1, 0, _nav);
- _parentNode.innerHTML = ""; //清空目录
- U.MD.O.W.T.N.createFirstTree(data, _parentNode);
- } else {
- for (var i = 0; i < data.length; i++) { //在数据里查询你要插入的目录
- if (data[i].pageId == _addele.pageId) {
- for (var l = 0; l < data.length; l++) { //如果找到该目录则删除父亲目录下所有子目录
- _parentNode.removeChild($('#U_MD_O_W_T_N_' + data[l].pageId)[0]);
- }
- _parentNode.flag = false;
- data.splice(i + 1, 0, _nav); //在数据里你添加页面的目录上方插入数据
- U.MD.O.W.T.N.createFirstTree(data, _parentNode);
- break;
- }
- }
- }
- //移除目录选中样式
- for (var i = 0; i < $('.U_MD_O_W_N_NavBox .U_MD_O_W_T_N_treeNav').length; i++) {
- $('.U_MD_O_W_T_N_treeNav')[i].style.background = '#fff';
- }
- var _treeNav = $('#U_MD_O_W_T_N_treenav' + _nav.pageId)[0];
- //选中新添加的目录
- _treeNav.style.background = "#ccebf8";
- $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].onclick();
- $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].style.display = "block";
- $('#U_MD_O_W_T_N_add' + _nav.pageId)[0].style.display = "block";
- $('#U_MD_O_W_T_N_delete' + _nav.pageId)[0].style.display = "block";
- //打印导航
- var _navel = U.MD.O.W.T.N.Easy.Print(_nav, U.MD.O.W.T.N.navInfo.nav);
- //默认执行导航双击事件 触发修改
- _navel.ondblclick();
- //切换记录当前操作的页面ID
- U.MD.O.W.T.N.nowNavId = _nav.pageId;
- //情况页面内容
- $("#U_MD_O_H_wordEditor")[0].innerHTML = "";
- //设置选中样式
- U.MD.O.W.T.N.setHoverClass();
- }, true);
- });
- if ($('.U_MD_O_W_T_N_addCBox')[0]) {
- var _cBoxParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
- _cBoxParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]);
- }
- }
- /**
- * 在上方添加页面点击事件
- * ele {element} 获取你点击的元素
- * data {array} 数据信息
- *parent {element} 获取你点击的父级
- */
- U.MD.O.W.T.N.addPAboveOnClick = function (ele, data, parent) {
- var _addele = ele;
- var _treenav = parent;
- U.MD.O.W.T.N.saveNav(function () {
- U.MD.O.W.T.N.savePage(function () {
- //创建新的导航
- var _nav = U.MD.O.W.T.N.navData('新页面');
- var _parentNode = _addele.parentNode;
- if (_parentNode.pageId == null) { //判断是否是一级目录
- data.splice(_addele.i, 0, _nav);
- _parentNode.innerHTML = ""; //清空目录
- U.MD.O.W.T.N.createFirstTree(data, _parentNode);
- } else {
- for (var i = 0; i < data.length; i++) { //在数据里查询你要插入的目录
- if (data[i].pageId == _addele.pageId) {
- for (var l = 0; l < data.length; l++) { //如果找到该目录则删除父亲目录下所有子目录
- _parentNode.removeChild($('#U_MD_O_W_T_N_' + data[l].pageId)[0]);
- }
- _parentNode.flag = false;
- data.splice(i, 0, _nav); //在数据里你添加页面的目录上方插入数据
- U.MD.O.W.T.N.createFirstTree(data, _parentNode);
- break;
- }
- }
- }
- //清空选中样式
- for (var i = 0; i < $('.U_MD_O_W_N_NavBox .U_MD_O_W_T_N_treeNav').length; i++) {
- $('.U_MD_O_W_T_N_treeNav')[i].style.background = '#fff';
- }
- var _treeNav = $('#U_MD_O_W_T_N_treenav' + _nav.pageId)[0];
- _treeNav.style.background = "#ccebf8";
- $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].onclick();
- //显示三个按钮
- $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].style.display = "block";
- $('#U_MD_O_W_T_N_add' + _nav.pageId)[0].style.display = "block";
- $('#U_MD_O_W_T_N_delete' + _nav.pageId)[0].style.display = "block";
- //打印导航
- var _navel = U.MD.O.W.T.N.Easy.Print(_nav, U.MD.O.W.T.N.navInfo.nav);
- //默认执行导航双击事件 触发修改
- _navel.ondblclick();
- //切换记录当前操作的页面ID
- U.MD.O.W.T.N.nowNavId = _nav.pageId;
- //情况页面内容
- $("#U_MD_O_H_wordEditor")[0].innerHTML = "";
- //设置选中样式
- U.MD.O.W.T.N.setHoverClass();
- }, true);
- });
- //如果添加选项窗口还存在就移除窗口
- if ($('.U_MD_O_W_T_N_addCBox')[0]) {
- var _cBoxParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
- _cBoxParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]);
- }
- }
- //#region 导航文档互联区域
- /**
- * 修改导航
- * @param navid {guid} 操作导航ID
- * @param name {string} 导航名称
- * @param cb {string} 回调函数
- * @param param {string} 回调函数参数
- */
- U.MD.O.W.T.N.updateNavMessage = function (navid, name, cb, param) {
- var _message = U.MD.O.W.T.N.navMessage('updateNav', { navId: navid, name: name }); //生成修改导航信息
- U.A.Request(US.SCOKET, ["send", JSON.stringify({ //发送send请求
- "us.nav": [_message]
- })], function (r) {
- if (U.UF.C.isFunction(cb)) {
- cb.apply(this, param);
- } else {
- console.log(r);
- }
- });
- }
- /**
- * 添加导航
- * @param parentid {guid} 父级导航ID
- * @param index {string} 添加位置
- * @param navinfo {object} 导航信息
- */
- U.MD.O.W.T.N.addNavMessage = function (parentid, index, navinfo, content, cb, param) {
- var _message = U.MD.O.W.T.N.navMessage('addNav', { parentId: parentid, index: index, addNav: navinfo, content: content }); //生成添加导航信息
- U.A.Request(US.SCOKET, ["send", JSON.stringify({ //发送send请求
- "us.nav": [_message]
- })], function (r) {
- if (U.UF.C.isFunction(cb)) {
- cb.apply(this, param);
- } else {
- console.log(r);
- }
- });
- }
- /**
- * 修改导航
- * navid {guid} 操作导航ID
- * parentid {guid} 父级导航ID
- */
- U.MD.O.W.T.N.deleteNavMessage = function (navid, parentid, cb, param) {
- var _message = U.MD.O.W.T.N.navMessage('deleteNav', { navId: navid, parentId: parentid, userId: US.userInfo.UserId }); //生成删除导航信息
- U.A.Request(US.SCOKET, ["send", JSON.stringify({ //发送send请求
- "us.nav": [_message]
- })], function (r) {
- if (U.UF.C.isFunction(cb)) {
- cb.apply(this, param);
- } else {
- console.log(r);
- }
- });
- }
- /**
- * 更新logo
- * logo {url} logo路径
- */
- U.MD.O.W.T.N.updateLogoMessage = function (logo) {
- var _message = U.MD.O.W.T.N.navMessage('updateLogo', { logo: logo }); //生成删除导航信息
- U.A.Request(US.SCOKET, ["send", JSON.stringify({ //发送send请求
- "us.nav": [_message]
- })], function (r) { });
- }
- /**
- * 导航文档 消息类
- * type {string} 操作类型
- * message {object} 自定义参数
- */
- U.MD.O.W.T.N.navMessage = function (type, message) {
- var _data = {
- sendId: U.MD.O.W.userinfo.UserId, //发送人id
- receiveId: U.MD.O.W.fileinfo.UserDirectoryID, //文件id
- // type: navid ? 'us.nav' : 'us.word', //消息类型 后台已判断 目前该参数无作用 因为前台传递时已往上扩展一级 其中已说明类型
- messageInfo: {
- type: type, //类型
- docId: U.MD.O.W.fileinfo.UserDirectoryID, //文档id
- pageId: US.pageId //当前页面id
- }
- };
- //如果存在自定义参数
- if (typeof message == 'object') {
- var _key; //定义变量
- for (_key in message) { //循环追加自定义参数
- _data.messageInfo[_key] = message[_key];
- }
- }
- //返回消息类
- return _data;
- };
- //#endregion
- //#region 轮训跟新
- Namespace.register("U.MD.O.W.T.N.Poll");
- /**
- * 跟新导航
- * ele {element} 获取你点击的元素
- * data {array} 数据信息
- * parent {element} 获取你点击的父级
- */
- U.MD.O.W.T.N.Poll.updateNav = function (message) {
- var _navinfo = U.MD.O.W.T.N.navInfo.nav;
- var _nav = U.MD.O.W.T.N.selectByNavId(_navinfo, message.navId);
- if (_nav) { //判断是否存在
- _nav.name = message.name; //替换名字
- $('#U_MD_O_W_T_N_span' + message.navId)[0] && ($('#U_MD_O_W_T_N_span' + message.navId)[0].innerHTML = _nav.name); //修改名字
- $('#Word_Nav_' + message.navId)[0].innerHTML = _nav.name; //修改名字
- }
- }
- /**
- * 添加导航
- * ele {element} 获取你点击的元素
- * data {array} 数据信息
- * parent {element} 获取你点击的父级
- */
- U.MD.O.W.T.N.Poll.addNav = function (message) {
- var _parent, _navinfo = U.MD.O.W.T.N.navInfo.nav;
- if (message.parentId) {
- _parent = U.MD.O.W.T.N.selectByNavId(_navinfo, message.parentId);
- //如果已存在子级处理
- if (_parent.child) {
- //插入指定位置
- _parent.child.splice(message.index, 0, message.addNav);
- } else {
- // 为存在子级则新建子级
- _parent.child = [message.addNav];
- }
- } else {
- _parent = _navinfo;
- _parent.splice(message.index, 0, message.addNav);
- U.MD.O.W.T.N.Easy.Print(message.addNav, _parent, message.index);
- }
- //执行打印 复杂版本
- }
- /**
- * 删除导航
- * ele {element} 获取你点击的元素
- * data {array} 数据信息
- * parent {element} 获取你点击的父级
- */
- U.MD.O.W.T.N.Poll.deleteNav = function (message) {
- // 寻找父级
- var _child;
- if (message.parentId) {
- var _navinfo = U.MD.O.W.T.N.navInfo.nav;
- var _parent = U.MD.O.W.T.N.selectByNavId(_navinfo, message.parentId);
- _child = _parent.child;
- } else {
- _child = U.MD.O.W.T.N.navInfo.nav;
- }
- if (_child) {
- _child.every(function (object, index) {
- if (object.pageId == message.navId) {
- U.MD.O.W.T.N.deleteNav.asyn(object, index, message.userId, _child);
- return false;
- }
- return true;
- });
- }
- }
- /**
- * 更新logo信息
- * ele {element} 获取你点击的元素
- * data {array} 数据信息
- * parent {element} 获取你点击的父级
- */
- U.MD.O.W.T.N.Poll.updateLogo = function (message) {
- U.MD.O.W.T.N.navInfo.logo = message.logo;
- //修改logo元素src
- }
- //#endregion
|