|
- //切换窗口时触发的事件
- function OnWindowActivate() {
- console.log("OnWindowActivate" + "=======================");
-
- showOATab(); // 根据文件是否为OA文件来显示OA菜单再进行刷新按钮
- setTimeout(activeTab, 2000); // 激活页面必须要页签显示出来,所以做1秒延迟
- return;
- }
-
- function OnPresentationBeforeClose(doc) {
- console.log('OnPresentationClose');
-
- var l_fullName = doc.FullName;
- var l_bIsOADoc = false;
- l_bIsOADoc = CheckIfDocIsOADoc(doc); //判断是否OA文档要关闭
- if (l_bIsOADoc == false) { // 非OA文档不做处理
- return;
- }
-
- if (doc.Saved == false) { //如果OA文档关闭前,有未保存的数据
- if (wps.confirm("系统文件有改动,是否提交后关闭?" + "\n" + "确认后请按上传按钮执行上传操作。取消则继续关闭文档。")) {
- wps.ApiEvent.Cancel = true;
- return;
- }
- }
-
- wps.ApiEvent.RemoveApiEventListener("PresentationBeforeClose", OnPresentationBeforeClose);
- doc.Close();
- wps.ApiEvent.AddApiEventListener("PresentationBeforeClose", OnPresentationBeforeClose);
- pSetNoneOADocFlag(l_fullName);
- closeWppIfNoDocument(); // 判断文件个数是否为0,若为0则关闭组件
- wps.FileSystem.Remove(l_fullName);
- }
-
- /**
- * 作用:判断当前文档是否从OA来的文档,如果非OA文档(就是本地新建或打开的文档,则设置EnumOAFlag 标识)
- * 作用:设置非OA文档的标识状态
- * @param {*} doc
- * 返回值:无
- */
- function pSetNoneOADocFlag(fullName) {
-
- var l_param = wps.PluginStorage.getItem(fullName); //定义JSON文档参数
- var l_objParams = new Object();
- if (l_param) {
- l_objParams = JSON.parse(l_param);
- }
- l_objParams.isOA = EnumOAFlag.DocFromNoOA; // 新增非OA打开文档属性
- wps.PluginStorage.setItem(fullName, JSON.stringify(l_objParams)); // 存入内存中
- }
- /**
- * 权限点集合
- */
- var ksoRightsInfo = {
- ksoNoneRight: 0x0000,
- ksoModifyRight: 0x0001,
- ksoCopyRight: 0x0002,
- ksoPrintRight: 0x0004,
- ksoSaveRight: 0x0008,
- ksoBackupRight: 0x0010,
- ksoVbaRight: 0x0020,
- ksoSaveAsRight: 0x0040,
- ksoFullRight: -1
- }
- var gRightsInfo = ksoRightsInfo.ksoFullRight;
- /**
- * 设置文档的权限
- *
- * @param {*} rightsInfo
- * 所有权限: ksoRightsInfo.ksoFullRight
- * 备份权限: ksoRightsInfo.ksoFullRight & ~ksoRightsInfo.ksoBackupRight
- * 另存权限: ksoRightsInfo.ksoFullRight & ~ksoRightsInfo.ksoSaveAsRight
- * 类似保护模式: ksoRightsInfo.ksoFullRight & ~ksoRightsInfo.ksoBackupRight & ~ksoRightsInfo.ksoSaveAsRight & ~ksoRightsInfo.ksoSaveRight & ~ksoRightsInfo.ksoPrintRight & ~ksoRightsInfo.ksoCopyRight
- */
- function setDocumentRights(rightsInfo) {
- gRightsInfo = rightsInfo;
- var l_doc = wps.WppApplication().ActivePresentation;
- if (l_doc) {
- l_doc.InvalidateRightsInfo();
- wps.ribbonUI.Invalidate();
- }
- }
- /**
- * 设置权限的事件实现
- *
- * @param {*} doc
- */
- function OnDocumentRightsInfo(doc) {
- var curRightsInfo = wps.ApiEvent.RightsInfo;
- wps.ApiEvent.RightsInfo = gRightsInfo;
-
- }
- /**
- * 针对权限的功能可用状态判断
- *
- * @returns
- */
- function OnSetSaveAsRightsEnable() {
- if (gRightsInfo & ksoRightsInfo.ksoSaveAsRight)
- return true;
- else
- return false;
- }
|