web-office-sdk-v1.1.1.umd.js 14 KB

1
  1. !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).WebOfficeSDK={})}(this,function(e){"use strict";var t=function(){return(t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function n(e,t,n,r){return new(n||(n=Promise))(function(o,a){function i(e){try{s(r.next(e))}catch(e){a(e)}}function c(e){try{s(r.throw(e))}catch(e){a(e)}}function s(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(i,c)}s((r=r.apply(e,t||[])).next())})}function r(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}var o=function(){function e(){}return e.add=function(t){e._handleList.push(t),window.addEventListener("message",t,!1)},e.remove=function(t){var n=e._handleList.indexOf(t);n>=0&&e._handleList.splice(n,1),window.removeEventListener("message",t,!1)},e.empty=function(){for(;e._handleList.length;)window.removeEventListener("message",e._handleList.shift(),!1)},e.parse=function(e){return"object"==typeof e?e:JSON.parse(e)},e._handleList=[],e}();var a,i,c,s=this;!function(e){e.unknown="unknown",e.spreadsheet="s",e.writer="w",e.presentation="p",e.pdf="f"}(a||(a={})),function(e){e.wps="w",e.et="s",e.presentation="p",e.pdf="f"}(i||(i={})),function(e){e.nomal="nomal",e.simple="simple"}(c||(c={}));var u,p,l=(u=0,function(){return++u}),f=function(e,t){if(!p){(p=document.createElement("iframe")).classList.add("web-office-iframe");var n={id:"office-iframe",src:e,scrolling:"no",frameborder:"0",allowfullscreen:"allowfullscreen",webkitallowfullscreen:"true",mozallowfullscreen:"true",style:"width: 100%; height: 100%;"};for(var r in t||((t=document.createElement("div")).classList.add("web-office-default-container"),function(e){var t=document.createElement("style");document.head.appendChild(t);var n=t.sheet;n.insertRule(e,n.cssRules.length)}(".web-office-default-container {position: absolute; padding: 0; margin: 0; width: 100vw; height: 100vh; left: 0; top: 0;}"),document.body.appendChild(t)),n)p.setAttribute(r,n[r]);t.appendChild(p),p.destroy=function(){p.parentNode.removeChild(p),p=null}}return p},d=function(e){f().contentWindow.postMessage(JSON.stringify(e),"*")},v=function(e){return new Promise(function(t){var n=l(),r=function(e){var a=o.parse(e.data);"wps.api.reply"===a.eventName&&a.msgId===n&&(t(a.data),o.remove(r))};o.add(r),d({eventName:"wps.jssdk.api",data:e,msgId:n})})},b=function(e,a,i,c){return n(s,void 0,void 0,function(){var s,u,p,f,v,b,h,w;return r(this,function(y){switch(y.label){case 0:return s=l(),f=new Promise(function(e,t){u=e,p=t}),v={},a.args?[4,m(a.args)]:[3,2];case 1:b=y.sent(),h=b[0],w=b[1],a.args=h,v=w,y.label=2;case 2:return function(e){var n=e[0],r=e[1];"function"==typeof(n=t({},n)).data&&(n.data=n.data());r(),d(n)}([{eventName:e,data:a,msgId:s},function(){var t=this,a=function(l){return n(t,void 0,void 0,function(){var t,n,f;return r(this,function(r){switch(r.label){case 0:return"api.callback"===(t=o.parse(l.data)).eventName&&t.callbackId&&v[t.callbackId]?[4,v[t.callbackId].apply(v,t.data.args)]:[3,2];case 1:n=r.sent(),d({eventName:"api.callback.reply",result:n,callbackId:t.callbackId}),r.label=2;case 2:return t.eventName===e+".reply"&&t.msgId===s&&(t.error?((f=new Error("")).stack=t.error+"\n"+i,c&&c(),p(f)):u(t.result),o.remove(a)),[2]}})})};return o.add(a),f}]),[2,f]}})})};function m(e){return n(this,void 0,void 0,function(){var t,n,o,a,i,c,s;return r(this,function(r){switch(r.label){case 0:t={},n=[],e=e.slice(0),r.label=1;case 1:return e.length?(o=void 0,[4,e.shift()]):[3,3];case 2:if(a=r.sent(),function(e){if(!e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}(o))for(i in o={},a)"function"==typeof(c=a[i])&&(s=l(),t[s]=c,c={callbackId:s}),o[i]=c;else"function"==typeof a?(s=l(),t[s]=a,o={callbackId:s}):o=a;return n.push(o),[3,1];case 3:return[2,[n,t]]}})})}var h=function(e,n){void 0===n&&(n=!0);var r=t({},e),o=r.headers,a=void 0===o?{}:o,i=r.subscriptions,s=void 0===i?{}:i,u=r.mode,p=void 0===u?c.nomal:u,l=a.backBtn,f=void 0===l?{}:l,d=a.shareBtn,v=void 0===d?{}:d,b=a.otherMenuBtn,m=void 0===b?{}:b,h=function(e,t){e.subscribe&&"function"==typeof e.subscribe&&(e.callback=t,s[t]=e.subscribe,n&&delete e.subscribe)};if(h(f,"wpsconfig_back_btn"),h(v,"wpsconfig_share_btn"),h(m,"wpsconfig_other_menu_btn"),m.items&&Array.isArray(m.items)){var w=[];m.items.forEach(function(e,t){switch(void 0===e&&(e={}),e.type){case"export_img":e.type=1,e.callback="export_img";break;case"export_pdf":e.type=1,e.callback="export_pdf";break;case"save_version":e.type=1,e.callback="save_version";break;case"about_wps":e.type=1,e.callback="about_wps";break;case"split_line":e.type=2;break;case"custom":e.type=3,h(e,"wpsconfig_other_menu_btn_"+t),w.push(e)}}),w.length&&(I||k)&&(m.items=w)}if(r.url=r.url||r.wpsUrl,(p===c.simple||r.commonOptions&&!1===r.commonOptions.isShowTopArea)&&r.url&&(r.url+="&simple&hidecmb"),r.debug&&r.url&&(r.url+="&debugger"),r.wordOptions&&(r.wpsOptions=r.wordOptions),r.excelOptions&&(r.etOptions=r.excelOptions),r.pptOptions&&(r.wppOptions=r.pptOptions),"object"==typeof s.print){var y="wpsconfig_print";"function"==typeof s.print.subscribe&&(s[y]=s.print.subscribe,r.print={callback:y},void 0!==s.print.custom&&(r.print.custom=s.print.custom)),delete s.print}"function"==typeof s.exportPdf&&(s[y="wpsconfig_export_pdf"]=s.exportPdf,r.exportPdf={callback:y},delete s.exportPdf);return t({},r,{subscriptions:s})},w=function(e){void 0===e&&(e="");var t="";if(!t&&e){var n=e.toLowerCase();-1!==n.indexOf("/office/s/")&&(t=a.spreadsheet),-1!==n.indexOf("/office/w/")&&(t=a.writer),-1!==n.indexOf("/office/p/")&&(t=a.presentation),-1!==n.indexOf("/office/f/")&&(t=a.pdf)}if(!t){var r=e.match(/[\?&]type=([a-z]+)/)||[];t=i[r[1]]||""}return t};function y(e,t){void 0===t&&(t=!0);var n=e.map(function(e){var t=e.attributes;if(!Array.isArray(t)){var n=[];for(var r in t)if(t.hasOwnProperty(r)){var o={name:r,value:t[r]};n.push(o)}e.attributes=n}return e});return t&&d({eventName:"setCommandBars",data:n}),n}var g,j=window.navigator.userAgent.toLowerCase(),I=/Android|webOS|iPhone|iPod|BlackBerry|iPad/i.test(j),k=function(){try{return-1!==window._parent.location.search.indexOf("from=wxminiprogram")}catch(e){return!1}}();function O(e){return e=e||Object.create(null),{on:function(t,n){(e[t]||(e[t]=[])).push(n)},off:function(t,n){e[t]&&e[t].splice(e[t].indexOf(n)>>>0,1)},emit:function(t,n){(e[t]||[]).slice().map(function(e){e(n)}),(e["*"]||[]).slice().map(function(e){e(t,n)})}}}!function(e){e[e.msoFalse=0]="msoFalse",e[e.msoTrue=-1]="msoTrue"}(g||(g={}));var _=0,x=new Set;function E(e){return++_,!e&&function(e){x.forEach(function(t){return t(e)})}(_),_}function P(e,i){var c,s=this,u=i.Events,p=i.Enum,l=i.Props,f=l[0],v=l[1],m={objId:_};switch(function e(n,r,o){r=r.slice(0);var a=function(){var a=r.shift();!a.alias&&~A.indexOf(a.prop)&&r.push(t({},a,{alias:a.prop+"Async"})),Object.defineProperty(n,a.alias||a.prop,{get:function(){var r=this,i=1===a.cache,c=i&&this["__"+a.prop+"CacheValue"];if(c)return c;var s=new Error(""),u=s.stack.split("\n").slice(2).join("\n"),p=E(i),l=function(){for(var e,r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];void 0!==a.caller?function e(n,r,o){r=r.slice(0);var a=function(){var a=r.shift();!a.alias&&~A.indexOf(a.prop)&&r.push(t({},a,{alias:a.prop+"Async"})),Object.defineProperty(n,a.alias||a.prop,{get:function(){var t=this,r=1===a.cache,i=r&&this["__"+a.prop+"CacheValue"];if(i)return i;var c=new Error(""),s=c.stack.split("\n").slice(2).join("\n"),u=E(r),p=function(){for(var t,r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];void 0!==a.caller?e(t={objId:E()},o[a.caller],o):t={};return B(p,t,"api.caller",{obj:p,parentObjId:n.objId,objId:t.objId,args:r,prop:a.prop},s),t};return p.objId=-1,void 0!==a.getter&&(p.objId=u,e(p,o[a.getter],o)),B(n,p,"api.getter",{parentObjId:n.objId,objId:p.objId,prop:a.prop},s,function(){delete t["__"+a.prop+"CacheValue"]}),r&&(this["__"+a.prop+"CacheValue"]=p),p},set:function(e){var t=new Error(""),r=t.stack.split("\n").slice(2).join("\n");return B(n,{},"api.setter",{parentObjId:n.objId,objId:-1,prop:a.prop,value:e},r)}})};for(;r.length;)a()}(e={objId:E()},o[a.caller],o):e={};return B(l,e,"api.caller",{obj:l,parentObjId:n.objId,objId:e.objId,args:r,prop:a.prop},u),e};return l.objId=-1,void 0!==a.getter&&(l.objId=p,e(l,o[a.getter],o)),B(n,l,"api.getter",{parentObjId:n.objId,objId:l.objId,prop:a.prop},u,function(){delete r["__"+a.prop+"CacheValue"]}),i&&(this["__"+a.prop+"CacheValue"]=l),l},set:function(e){var t=new Error(""),r=t.stack.split("\n").slice(2).join("\n");return B(n,{},"api.setter",{parentObjId:n.objId,objId:-1,prop:a.prop,value:e},r)}})};for(;r.length;)a()}(m,f,v),m.Events=u,m.Enum=p,e.Enum=m.Enum,e.Events=m.Events,w(e.url)){case a.writer:e.WordApplication=e.WpsApplication=function(){return m};break;case a.spreadsheet:e.ExcelApplication=e.EtApplication=function(){return m};break;case a.presentation:e.PPTApplication=e.WppApplication=function(){return m};break;case a.pdf:e.PDFApplication=function(){return m}}e.Application=m,e.Free=function(e){return b("api.free",{objId:e},"")},e.Stack=m.Stack=(c=function(t){return e.Free(t)},function(){var e=[],t=function(t){e.push(t)};return x.add(t),{End:function(){c(e),x.delete(t)}}});var h={};o.add(function(e){return n(s,void 0,void 0,function(){var t,n,a,i,c;return r(this,function(r){switch(r.label){case 0:return"api.event"===(t=o.parse(e.data)).eventName&&t.data?(n=t.data,a=n.eventName,i=n.data,n.objIds,(c=h[a])?[4,c(i)]:[3,2]):[3,2];case 1:r.sent(),r.label=2;case 2:return[2]}})})}),m.Sub={},Object.values(u).forEach(function(e){Object.defineProperty(m.Sub,e,{set:function(t){h[e]=t,d({eventName:"api.event.register",data:{eventName:e,register:!!t,objId:++_}})}})})}var C,A=["ExportAsFixedFormat","GetOperatorsInfo","ImportDataIntoFields","ReplaceText","ReplaceBookmark","GetBookmarkText","GetComments"];function N(e,n,r){n=n.slice(0);var o=function(){var o=n.shift();if(!o.alias&&~A.indexOf(o.prop)){n.push(t({},o,{alias:o.prop+"Async"}))}Object.defineProperty(e,o.alias||o.prop,{get:function(){var t=this;var n=o.cache===1;var a=n&&this["__"+o.prop+"CacheValue"];if(!a){var i=new Error("");var c=i.stack.split("\n").slice(2).join("\n");var s=E(n);var u=function(){for(var t=[],n=0,a;n<arguments.length;n++){t[n]=arguments[n]}if(o.caller!==undefined){a={objId:E()};N(a,r[o.caller],r)}else{a={}}return B(p,a,"api.caller",{obj:p,parentObjId:e.objId,objId:a.objId,args:t,prop:o.prop},c),a};var p=u;p.objId=-1;if(o.getter!==undefined){p.objId=s;N(p,r[o.getter],r)}B(e,p,"api.getter",{parentObjId:e.objId,objId:p.objId,prop:o.prop},c,function(){delete t["__"+o.prop+"CacheValue"]});if(n){this["__"+o.prop+"CacheValue"]=p}return p}else{return a}},set:function(t){var n=new Error("");var r=n.stack.split("\n").slice(2).join("\n");return B(e,{},"api.setter",{parentObjId:e.objId,objId:-1,prop:o.prop,value:t},r)}})};while(n.length){o()}}function B(e,t,n,r,o,a){var i=Promise.resolve(e).catch(function(){}).then(function(){return b(n,r,o,a)});t.then=function(e,t){return i.then(e,t)},t.catch=function(e){return i.catch(e)},t.Destroy=function(){return b("api.free",{objId:t.objId},"")}}var S="fileOpen",L=function(e){return"api.ready"===e},D=function(e,t){void 0===e&&(e={});o.add(function(n){var r=o.parse(n.data),a=r.eventName,i=void 0===a?"":a,c=r.data,s=void 0===c?null:c,u=r.url,p=void 0===u?null:u;-1===["wps.jssdk.api"].indexOf(i)&&("ready"===i?(d({eventName:"setConfig",data:e}),C.tokenData&&d({eventName:"setToken",data:C.tokenData}),C.commandBars&&y(C.commandBars),C.iframeReady=!0):"open.result"===i?C.emit(S,s):"api.ready"===i&&P(C,s),"function"==typeof t[i]&&t[i](C,p||s))})};function T(e){void 0===e&&(e={}),C&&C.destroy();try{var n,r=h(e),a=r.subscriptions,i=void 0===a?{}:a,c=r.mount,s=void 0===c?null:c,u=r.url,p=f(u,s);return delete r.mount,u&&delete r.url,delete r.subscriptions,C={url:u,version:"1.1.1",iframe:p,Enum:t({},g),iframeReady:!1,tokenData:null,commandBars:null,setToken:function(e){C.tokenData=e,C.iframeReady&&d({eventName:"setToken",data:e})},ready:function(){return n||(n=new Promise(function(e){var t=function(n){var r=o.parse(n.data).eventName;L(r)&&(e(),o.remove(t))};o.add(t)}))},destroy:function(){p.destroy(),o.empty(),C=null,x=new Set,_=0},save:function(){return v({api:"save"})},setCommandBars:function(e){C.commandBars=y(e,C.iframeReady)},updateConfig:function(e){if(void 0===e&&(e={}),e.commandBars)return console.warn("Deprecated: `updateConfig()` 方法即将废弃,请使用`setCommandBars()`代替`updateConfig()`更新`commandBars`配置。"),y(e.commandBars)}},C=t({},C,new O.prototype.constructor),D(r,i),C.ready(),C}catch(e){console.error(e)}}console.log("WebOfficeSDK JS-SDK V1.1.1");var V=Object.freeze({Listener:D,config:T});window.WPS=V;var F=T,R={config:F};e.config=F,e.default=R,Object.defineProperty(e,"__esModule",{value:!0})});