@univerjs/uniscript 0.1.0-alpha.2 → 0.1.0-alpha.3

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @univerjs/uniscript
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/@univerjs/uniscript)](https://npmjs.org/packages/@univerjs/uniscript)
3
+ [![npm version](https://img.shields.io/npm/v/@univerjs/uniscript)](https://npmjs.org/package/@univerjs/uniscript)
4
4
  [![license](https://img.shields.io/npm/l/@univerjs/uniscript)](https://img.shields.io/npm/l/@univerjs/uniscript)
5
5
 
6
6
  ## Introduction
@@ -14,7 +14,3 @@
14
14
  ```shell
15
15
  npm i @univerjs/uniscript
16
16
  ```
17
-
18
- ### API
19
-
20
- Check [Univer](https://github.com/dream-num/univer/)
package/lib/cjs/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var Q=Object.defineProperty;var X=(t,e,n)=>e in t?Q(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var S=(t,e,n)=>(X(t,typeof e!="symbol"?e+"":e,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),a=require("@wendellhu/redi"),_=require("@univerjs/ui"),T=require("rxjs"),v=require("react"),C=require("@univerjs/design"),d=require("@wendellhu/redi/react-bindings"),Z=require("monaco-editor"),A=require("@univerjs/sheets"),ee={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Toggle Uniscript Panel"},panel:{execute:"Execute Script"}}},B={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"打开收起 Uniscript 面板"},panel:{execute:"执行 Uniscript"}}};class k extends c.Disposable{constructor(){super(...arguments);S(this,"_open$",new T.BehaviorSubject(!1));S(this,"open$",this._open$.pipe(T.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const z="ScriptPanel",V={type:c.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(k),n=t.get(_.ISidebarService);return e.isOpen?(e.close(),n.close()):(e.open(),n.open({header:{title:"script-panel.title"},children:{label:z},width:600})),!0}};var G={exports:{}},O={};/**
1
+ "use strict";var Q=Object.defineProperty;var X=(t,e,n)=>e in t?Q(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var S=(t,e,n)=>(X(t,typeof e!="symbol"?e+"":e,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),a=require("@wendellhu/redi"),_=require("@univerjs/ui"),T=require("rxjs"),v=require("react"),C=require("@univerjs/design"),d=require("@wendellhu/redi/react-bindings"),Z=require("monaco-editor"),L=require("@univerjs/sheets"),ee={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Toggle Uniscript Panel"},panel:{execute:"Execute Script"}}},B={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"打开收起 Uniscript 面板"},panel:{execute:"执行 Uniscript"}}};class z extends c.Disposable{constructor(){super(...arguments);S(this,"_open$",new T.BehaviorSubject(!1));S(this,"open$",this._open$.pipe(T.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const V="ScriptPanel",k={type:c.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(z),n=t.get(_.ISidebarService);return e.isOpen?(e.close(),n.close()):(e.open(),n.open({header:{title:"script-panel.title"},children:{label:V},width:600})),!0}};var G={exports:{}},O={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var te=v,re=Symbol.for("react.element"),ne=Symbol.for("react.fragment"),se=Object.prototype.hasOwnProperty,oe=te.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ie={key:!0,ref:!0,__self:!0,__source:!0};function H(t,e,n){var r,s={},o=null,i=null;n!==void 0&&(o=""+n),e.key!==void 0&&(o=""+e.key),e.ref!==void 0&&(i=e.ref);for(r in e)se.call(e,r)&&!ie.hasOwnProperty(r)&&(s[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)s[r]===void 0&&(s[r]=e[r]);return{$$typeof:re,type:t,key:o,ref:i,props:s,_owner:oe.current}}O.Fragment=ne;O.jsx=H;O.jsxs=H;G.exports=O;var f=G.exports;class E extends c.Disposable{constructor(e){super(),this._config=e}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var ce=Object.defineProperty,ae=Object.getOwnPropertyDescriptor,le=(t,e,n,r)=>{for(var s=r>1?void 0:r?ae(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(s=(r?i(e,n,s):i(s))||s);return r&&s&&ce(e,n,s),s},q=(t,e)=>(n,r)=>e(n,r,t);let w=class{constructor(t,e,n,r,s){this._workbook=t,this._worksheet=e,this._range=n,this._injector=r,this._commandService=s}getRow(){return this._range.startRow}getColumn(){return this._range.startColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}getValue(){var t;return((t=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:t.v)??null}setBackgroundColor(t){this._commandService.executeCommand(A.SetStyleCommand.id,{workbookId:this._workbook.getUnitId(),worksheetId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:t}}})}};w=le([q(3,a.Inject(a.Injector)),q(4,c.ICommandService)],w);var ue=Object.defineProperty,pe=Object.getOwnPropertyDescriptor,_e=(t,e,n,r)=>{for(var s=r>1?void 0:r?pe(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(s=(r?i(e,n,s):i(s))||s);return r&&s&&ue(e,n,s),s},ve=(t,e)=>(n,r)=>e(n,r,t);let x=class{constructor(t,e,n,r){this._workbook=t,this._worksheet=e,this._selections=n,this._injector=r}getActiveRange(){const t=this._selections.find(e=>!!e.primary);return t?this._injector.createInstance(w,this._workbook,this._worksheet,t.range):null}};x=_e([ve(3,a.Inject(a.Injector))],x);var he=Object.defineProperty,de=Object.getOwnPropertyDescriptor,fe=(t,e,n,r)=>{for(var s=r>1?void 0:r?de(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(s=(r?i(e,n,s):i(s))||s);return r&&s&&he(e,n,s),s},N=(t,e)=>(n,r)=>e(n,r,t);let U=class{constructor(t,e,n,r){this._workbook=t,this._worksheet=e,this._injector=n,this._selectionManagerService=r}getSelection(){const t=this._selectionManagerService.getSelections();return t?this._injector.createInstance(x,this._workbook,this._worksheet,t):null}getRange(t,e){const n={startRow:t,endRow:t,startColumn:e,endColumn:e};return this._injector.createInstance(w,this._workbook,this._worksheet,n)}};U=fe([N(2,a.Inject(a.Injector)),N(3,a.Inject(A.SelectionManagerService))],U);var ge=Object.defineProperty,Se=Object.getOwnPropertyDescriptor,me=(t,e,n,r)=>{for(var s=r>1?void 0:r?Se(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(s=(r?i(e,n,s):i(s))||s);return r&&s&&ge(e,n,s),s},Pe=(t,e)=>(n,r)=>e(n,r,t);let D=class{constructor(t,e){this._workbook=t,this._injector=e}getActiveSheet(){const t=this._workbook.getActiveSheet();return t?this._injector.createInstance(U,this._workbook,t):null}};D=me([Pe(1,a.Inject(a.Injector))],D);var we=Object.defineProperty,je=Object.getOwnPropertyDescriptor,be=(t,e,n,r)=>{for(var s=r>1?void 0:r?je(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(s=(r?i(e,n,s):i(s))||s);return r&&s&&we(e,n,s),s},F=(t,e)=>(n,r)=>e(n,r,t);let j=class{constructor(t,e){this._injector=t,this._univerInstanceService=e}static newInstance(t){return t.createInstance(j)}getCurrentSheet(){const t=this._univerInstanceService.getCurrentUniverSheetInstance();return t?this._injector.createInstance(D,t):null}};j=be([F(0,a.Inject(a.Injector)),F(1,c.IUniverInstanceService)],j);var Oe=Object.defineProperty,Ie=Object.getOwnPropertyDescriptor,Ce=(t,e,n,r)=>{for(var s=r>1?void 0:r?Ie(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(s=(r?i(e,n,s):i(s))||s);return r&&s&&Oe(e,n,s),s},W=(t,e)=>(n,r)=>e(n,r,t);let b=class extends c.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=j.newInstance(this._injector),n=new Function("Univer",`(() => {${t}})()`);try{return n(e),!0}catch(r){return this._logService.error(r),!1}}};b=Ce([W(0,c.ILogService),W(1,a.Inject(a.Injector))],b);const ye="univer-script-editor-panel",$e="univer-script-editor-content",m={scriptEditorPanel:ye,scriptEditorContent:$e};function Ee(){const t=v.useRef(null),e=v.useRef(null),n=v.useRef(null),r=d.useDependency(c.LocaleService),s=d.useDependency(b),o=d.useDependency(_.IShortcutService),i=d.useDependency(E),R=d.useDependency(_.IMessageService);v.useEffect(()=>{const h=e.current,l=t.current;let p=null,g=null;if(h&&l){i.requireVscodeEditor();const I=n.current=Z.editor.create(h,{value:"",language:"javascript"});g=new ResizeObserver(()=>{let M=requestIdleCallback(()=>{if(!M)return;const{height:Y,width:K}=l.getBoundingClientRect();I.layout({width:K,height:Y}),M=void 0})}),g.observe(l);let u;p=new c.DisposableCollection,p.add(I.onDidFocusEditorWidget(()=>{u=o.forceEscape()})),p.add(I.onDidBlurEditorWidget(()=>{u==null||u.dispose(),u=void 0})),p.add(c.toDisposable(()=>u==null?void 0:u.dispose()))}return()=>{g&&l&&g.unobserve(l),p==null||p.dispose()}},[]);const J=v.useCallback(()=>{var l;const h=(l=n.current)==null?void 0:l.getModel();h&&s.execute(h.getValue()).then(()=>{R.show({content:"Execution completed",type:C.MessageType.Success})}).catch(()=>{R.show({content:"Execution failed",type:C.MessageType.Error})})},[s]);return f.jsxs("div",{className:m.scriptEditorPanel,children:[f.jsx("div",{className:m.scriptEditorContent,ref:t,children:f.jsx("div",{className:m.scriptEditorContainer,ref:e})}),f.jsx("div",{className:m.scriptEditorActions,children:f.jsx(C.Button,{type:"primary",size:"small",onClick:J,children:r.t("script-panel.panel.execute")})})]})}function xe(){return{id:V.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:_.MenuItemType.BUTTON,positions:[_.MenuPosition.TOOLBAR_START]}}var Ue=Object.defineProperty,De=Object.getOwnPropertyDescriptor,Re=(t,e,n,r)=>{for(var s=r>1?void 0:r?De(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(s=(r?i(e,n,s):i(s))||s);return r&&s&&Ue(e,n,s),s},y=(t,e)=>(n,r)=>e(n,r,t);let P=class extends c.Disposable{constructor(t,e,n){super(),this.disposeWithMe(t.addMenuItem(xe())),this.disposeWithMe(n.register(z,Ee)),this.disposeWithMe(e.registerCommand(V))}};P=Re([c.OnLifecycle(c.LifecycleStages.Steady,P),y(0,_.IMenuService),y(1,c.ICommandService),y(2,a.Inject(_.ComponentManager))],P);var Me=Object.defineProperty,Te=Object.getOwnPropertyDescriptor,qe=(t,e,n,r)=>{for(var s=r>1?void 0:r?Te(e,n):e,o=t.length-1,i;o>=0;o--)(i=t[o])&&(s=(r?i(e,n,s):i(s))||s);return r&&s&&Me(e,n,s),s},L=(t,e)=>(n,r)=>e(n,r,t);const Ne="uniscript";var $;exports.UniverUniscriptPlugin=($=class extends c.Plugin{constructor(e,n,r){super(Ne),this._config=e,this._injector=n,this._localeService=r}onStarting(e){[[P],[E,{useFactory:()=>e.createInstance(E,this._config)}],[k],[b]].forEach(r=>e.add(r)),this._localeService.load({zhCN:B})}},S($,"type",c.PluginType.Univer),$);exports.UniverUniscriptPlugin=qe([L(1,a.Inject(a.Injector)),L(2,a.Inject(c.LocaleService))],exports.UniverUniscriptPlugin);exports.enUS=ee;exports.zhCN=B;
9
+ */var te=v,re=Symbol.for("react.element"),ne=Symbol.for("react.fragment"),se=Object.prototype.hasOwnProperty,ie=te.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,oe={key:!0,ref:!0,__self:!0,__source:!0};function H(t,e,n){var r,s={},i=null,o=null;n!==void 0&&(i=""+n),e.key!==void 0&&(i=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)se.call(e,r)&&!oe.hasOwnProperty(r)&&(s[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)s[r]===void 0&&(s[r]=e[r]);return{$$typeof:re,type:t,key:i,ref:o,props:s,_owner:ie.current}}O.Fragment=ne;O.jsx=H;O.jsxs=H;G.exports=O;var f=G.exports;class E extends c.Disposable{constructor(e){super(),this._config=e}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var ce=Object.defineProperty,ae=Object.getOwnPropertyDescriptor,le=(t,e,n,r)=>{for(var s=r>1?void 0:r?ae(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&ce(e,n,s),s},q=(t,e)=>(n,r)=>e(n,r,t);let j=class{constructor(t,e,n,r,s){this._workbook=t,this._worksheet=e,this._range=n,this._injector=r,this._commandService=s}getRow(){return this._range.startRow}getColumn(){return this._range.startColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}getValue(){var t;return((t=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:t.v)??null}setBackgroundColor(t){this._commandService.executeCommand(L.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:t}}})}};j=le([q(3,a.Inject(a.Injector)),q(4,c.ICommandService)],j);var ue=Object.defineProperty,pe=Object.getOwnPropertyDescriptor,_e=(t,e,n,r)=>{for(var s=r>1?void 0:r?pe(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&ue(e,n,s),s},ve=(t,e)=>(n,r)=>e(n,r,t);let x=class{constructor(t,e,n,r){this._workbook=t,this._worksheet=e,this._selections=n,this._injector=r}getActiveRange(){const t=this._selections.find(e=>!!e.primary);return t?this._injector.createInstance(j,this._workbook,this._worksheet,t.range):null}};x=_e([ve(3,a.Inject(a.Injector))],x);var he=Object.defineProperty,de=Object.getOwnPropertyDescriptor,fe=(t,e,n,r)=>{for(var s=r>1?void 0:r?de(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&he(e,n,s),s},N=(t,e)=>(n,r)=>e(n,r,t);let U=class{constructor(t,e,n,r){this._workbook=t,this._worksheet=e,this._injector=n,this._selectionManagerService=r}getSelection(){const t=this._selectionManagerService.getSelections();return t?this._injector.createInstance(x,this._workbook,this._worksheet,t):null}getRange(t,e,n,r){const s={startRow:t,endRow:t+(n??1)-1,startColumn:e,endColumn:e+(r??1)-1};return this._injector.createInstance(j,this._workbook,this._worksheet,s)}};U=fe([N(2,a.Inject(a.Injector)),N(3,a.Inject(L.SelectionManagerService))],U);var ge=Object.defineProperty,Se=Object.getOwnPropertyDescriptor,me=(t,e,n,r)=>{for(var s=r>1?void 0:r?Se(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&ge(e,n,s),s},Pe=(t,e)=>(n,r)=>e(n,r,t);let D=class{constructor(t,e){this._workbook=t,this._injector=e}getActiveSheet(){const t=this._workbook.getActiveSheet();return t?this._injector.createInstance(U,this._workbook,t):null}};D=me([Pe(1,a.Inject(a.Injector))],D);var je=Object.defineProperty,we=Object.getOwnPropertyDescriptor,be=(t,e,n,r)=>{for(var s=r>1?void 0:r?we(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&je(e,n,s),s},F=(t,e)=>(n,r)=>e(n,r,t);let w=class{constructor(t,e){this._injector=t,this._univerInstanceService=e}static newInstance(t){return t.createInstance(w)}getCurrentSheet(){const t=this._univerInstanceService.getCurrentUniverSheetInstance();return t?this._injector.createInstance(D,t):null}};w=be([F(0,a.Inject(a.Injector)),F(1,c.IUniverInstanceService)],w);var Oe=Object.defineProperty,Ie=Object.getOwnPropertyDescriptor,Ce=(t,e,n,r)=>{for(var s=r>1?void 0:r?Ie(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&Oe(e,n,s),s},A=(t,e)=>(n,r)=>e(n,r,t);let b=class extends c.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=w.newInstance(this._injector),n=new Function("Univer",`(() => {${t}})()`);try{return n(e),!0}catch(r){return this._logService.error(r),!1}}};b=Ce([A(0,c.ILogService),A(1,a.Inject(a.Injector))],b);const ye="univer-script-editor-panel",$e="univer-script-editor-content",Ee="univer-script-editor-actions",m={scriptEditorPanel:ye,scriptEditorContent:$e,scriptEditorActions:Ee};function xe(){const t=v.useRef(null),e=v.useRef(null),n=v.useRef(null),r=d.useDependency(c.LocaleService),s=d.useDependency(b),i=d.useDependency(_.IShortcutService),o=d.useDependency(E),R=d.useDependency(_.IMessageService);v.useEffect(()=>{const h=e.current,l=t.current;let p=null,g=null;if(h&&l){o.requireVscodeEditor();const I=n.current=Z.editor.create(h,{value:"",language:"javascript"});g=new ResizeObserver(()=>{let M=requestIdleCallback(()=>{if(!M)return;const{height:Y,width:K}=l.getBoundingClientRect();I.layout({width:K,height:Y}),M=void 0})}),g.observe(l);let u;p=new c.DisposableCollection,p.add(I.onDidFocusEditorWidget(()=>{u=i.forceEscape()})),p.add(I.onDidBlurEditorWidget(()=>{u==null||u.dispose(),u=void 0})),p.add(c.toDisposable(()=>u==null?void 0:u.dispose()))}return()=>{g&&l&&g.unobserve(l),p==null||p.dispose()}},[]);const J=v.useCallback(()=>{var l;const h=(l=n.current)==null?void 0:l.getModel();h&&s.execute(h.getValue()).then(()=>{R.show({content:"Execution completed",type:C.MessageType.Success})}).catch(()=>{R.show({content:"Execution failed",type:C.MessageType.Error})})},[s]);return f.jsxs("div",{className:m.scriptEditorPanel,children:[f.jsx("div",{className:m.scriptEditorContent,ref:t,children:f.jsx("div",{className:m.scriptEditorContainer,ref:e})}),f.jsx("div",{className:m.scriptEditorActions,children:f.jsx(C.Button,{type:"primary",size:"small",onClick:J,children:r.t("script-panel.panel.execute")})})]})}function Ue(){return{id:k.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:_.MenuItemType.BUTTON,positions:[_.MenuPosition.TOOLBAR_START]}}var De=Object.defineProperty,Re=Object.getOwnPropertyDescriptor,Me=(t,e,n,r)=>{for(var s=r>1?void 0:r?Re(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&De(e,n,s),s},y=(t,e)=>(n,r)=>e(n,r,t);let P=class extends c.Disposable{constructor(t,e,n){super(),this.disposeWithMe(t.addMenuItem(Ue())),this.disposeWithMe(n.register(V,xe)),this.disposeWithMe(e.registerCommand(k))}};P=Me([c.OnLifecycle(c.LifecycleStages.Steady,P),y(0,_.IMenuService),y(1,c.ICommandService),y(2,a.Inject(_.ComponentManager))],P);var Te=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,Ne=(t,e,n,r)=>{for(var s=r>1?void 0:r?qe(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&Te(e,n,s),s},W=(t,e)=>(n,r)=>e(n,r,t);const Fe="uniscript";var $;exports.UniverUniscriptPlugin=($=class extends c.Plugin{constructor(e,n,r){super(Fe),this._config=e,this._injector=n,this._localeService=r}onStarting(e){[[P],[E,{useFactory:()=>e.createInstance(E,this._config)}],[z],[b]].forEach(r=>e.add(r)),this._localeService.load({zhCN:B})}},S($,"type",c.PluginType.Univer),$);exports.UniverUniscriptPlugin=Ne([W(1,a.Inject(a.Injector)),W(2,a.Inject(c.LocaleService))],exports.UniverUniscriptPlugin);exports.enUS=ee;exports.zhCN=B;
package/lib/es/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  var Q = Object.defineProperty;
2
2
  var X = (t, e, r) => e in t ? Q(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
3
  var f = (t, e, r) => (X(t, typeof e != "symbol" ? e + "" : e, r), r);
4
- import { Disposable as O, CommandType as Z, ICommandService as B, IUniverInstanceService as ee, ILogService as te, LocaleService as k, DisposableCollection as re, toDisposable as ne, OnLifecycle as oe, LifecycleStages as ie, Plugin as se, PluginType as ce } from "@univerjs/core";
4
+ import { Disposable as O, CommandType as Z, ICommandService as B, IUniverInstanceService as ee, ILogService as te, LocaleService as q, DisposableCollection as re, toDisposable as ne, OnLifecycle as oe, LifecycleStages as ie, Plugin as se, PluginType as ce } from "@univerjs/core";
5
5
  import { Inject as c, Injector as u } from "@wendellhu/redi";
6
6
  import { ISidebarService as ae, IShortcutService as le, IMessageService as pe, MenuItemType as ue, MenuPosition as _e, ComponentManager as ve, IMenuService as he } from "@univerjs/ui";
7
7
  import { BehaviorSubject as de, distinctUntilChanged as fe } from "rxjs";
8
8
  import ge, { useRef as C, useEffect as me, useCallback as Se } from "react";
9
- import { MessageType as M, Button as we } from "@univerjs/design";
9
+ import { MessageType as M, Button as Pe } from "@univerjs/design";
10
10
  import { useDependency as v } from "@wendellhu/redi/react-bindings";
11
- import { editor as Pe } from "monaco-editor";
11
+ import { editor as we } from "monaco-editor";
12
12
  import { SetStyleCommand as Oe, SelectionManagerService as be } from "@univerjs/sheets";
13
- const mt = {
13
+ const St = {
14
14
  "script-panel": {
15
15
  title: "Uniscript",
16
16
  tooltip: {
@@ -31,7 +31,7 @@ const mt = {
31
31
  }
32
32
  }
33
33
  };
34
- class q extends O {
34
+ class V extends O {
35
35
  constructor() {
36
36
  super(...arguments);
37
37
  f(this, "_open$", new de(!1));
@@ -50,14 +50,14 @@ class q extends O {
50
50
  this._open$.next(!1);
51
51
  }
52
52
  }
53
- const V = "ScriptPanel", z = {
53
+ const k = "ScriptPanel", z = {
54
54
  type: Z.OPERATION,
55
55
  id: "univer.operation.toggle-script-panel",
56
56
  handler: (t) => {
57
- const e = t.get(q), r = t.get(ae);
57
+ const e = t.get(V), r = t.get(ae);
58
58
  return e.isOpen ? (e.close(), r.close()) : (e.open(), r.open({
59
59
  header: { title: "script-panel.title" },
60
- children: { label: V },
60
+ children: { label: k },
61
61
  width: 600
62
62
  })), !0;
63
63
  }
@@ -72,23 +72,23 @@ var G = { exports: {} }, b = {};
72
72
  * This source code is licensed under the MIT license found in the
73
73
  * LICENSE file in the root directory of this source tree.
74
74
  */
75
- var Ce = ge, $e = Symbol.for("react.element"), xe = Symbol.for("react.fragment"), ye = Object.prototype.hasOwnProperty, Ee = Ce.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, Ie = { key: !0, ref: !0, __self: !0, __source: !0 };
75
+ var Ce = ge, $e = Symbol.for("react.element"), Ee = Symbol.for("react.fragment"), xe = Object.prototype.hasOwnProperty, ye = Ce.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, Ie = { key: !0, ref: !0, __self: !0, __source: !0 };
76
76
  function H(t, e, r) {
77
77
  var n, o = {}, i = null, s = null;
78
78
  r !== void 0 && (i = "" + r), e.key !== void 0 && (i = "" + e.key), e.ref !== void 0 && (s = e.ref);
79
79
  for (n in e)
80
- ye.call(e, n) && !Ie.hasOwnProperty(n) && (o[n] = e[n]);
80
+ xe.call(e, n) && !Ie.hasOwnProperty(n) && (o[n] = e[n]);
81
81
  if (t && t.defaultProps)
82
82
  for (n in e = t.defaultProps, e)
83
83
  o[n] === void 0 && (o[n] = e[n]);
84
- return { $$typeof: $e, type: t, key: i, ref: s, props: o, _owner: Ee.current };
84
+ return { $$typeof: $e, type: t, key: i, ref: s, props: o, _owner: ye.current };
85
85
  }
86
- b.Fragment = xe;
86
+ b.Fragment = Ee;
87
87
  b.jsx = H;
88
88
  b.jsxs = H;
89
89
  G.exports = b;
90
90
  var h = G.exports;
91
- class y extends O {
91
+ class x extends O {
92
92
  constructor(e) {
93
93
  super(), this._config = e;
94
94
  }
@@ -125,8 +125,8 @@ let S = class {
125
125
  }
126
126
  setBackgroundColor(t) {
127
127
  this._commandService.executeCommand(Oe.id, {
128
- workbookId: this._workbook.getUnitId(),
129
- worksheetId: this._worksheet.getSheetId(),
128
+ unitId: this._workbook.getUnitId(),
129
+ subUnitId: this._worksheet.getSheetId(),
130
130
  range: this._range,
131
131
  style: {
132
132
  type: "bg",
@@ -146,7 +146,7 @@ var Me = Object.defineProperty, Te = Object.getOwnPropertyDescriptor, Ne = (t, e
146
146
  (s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
147
147
  return n && o && Me(e, r, o), o;
148
148
  }, Fe = (t, e) => (r, n) => e(r, n, t);
149
- let E = class {
149
+ let y = class {
150
150
  constructor(t, e, r, n) {
151
151
  this._workbook = t, this._worksheet = e, this._selections = r, this._injector = n;
152
152
  }
@@ -155,13 +155,13 @@ let E = class {
155
155
  return t ? this._injector.createInstance(S, this._workbook, this._worksheet, t.range) : null;
156
156
  }
157
157
  };
158
- E = Ne([
158
+ y = Ne([
159
159
  Fe(3, c(u))
160
- ], E);
161
- var We = Object.defineProperty, Ae = Object.getOwnPropertyDescriptor, Le = (t, e, r, n) => {
162
- for (var o = n > 1 ? void 0 : n ? Ae(e, r) : e, i = t.length - 1, s; i >= 0; i--)
160
+ ], y);
161
+ var Ae = Object.defineProperty, We = Object.getOwnPropertyDescriptor, Le = (t, e, r, n) => {
162
+ for (var o = n > 1 ? void 0 : n ? We(e, r) : e, i = t.length - 1, s; i >= 0; i--)
163
163
  (s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
164
- return n && o && We(e, r, o), o;
164
+ return n && o && Ae(e, r, o), o;
165
165
  }, N = (t, e) => (r, n) => e(r, n, t);
166
166
  let I = class {
167
167
  constructor(t, e, r, n) {
@@ -169,27 +169,27 @@ let I = class {
169
169
  }
170
170
  getSelection() {
171
171
  const t = this._selectionManagerService.getSelections();
172
- return t ? this._injector.createInstance(E, this._workbook, this._worksheet, t) : null;
172
+ return t ? this._injector.createInstance(y, this._workbook, this._worksheet, t) : null;
173
173
  }
174
- getRange(t, e) {
175
- const r = {
174
+ getRange(t, e, r, n) {
175
+ const o = {
176
176
  startRow: t,
177
- endRow: t,
177
+ endRow: t + (r ?? 1) - 1,
178
178
  startColumn: e,
179
- endColumn: e
179
+ endColumn: e + (n ?? 1) - 1
180
180
  };
181
- return this._injector.createInstance(S, this._workbook, this._worksheet, r);
181
+ return this._injector.createInstance(S, this._workbook, this._worksheet, o);
182
182
  }
183
183
  };
184
184
  I = Le([
185
185
  N(2, c(u)),
186
186
  N(3, c(be))
187
187
  ], I);
188
- var Be = Object.defineProperty, ke = Object.getOwnPropertyDescriptor, qe = (t, e, r, n) => {
189
- for (var o = n > 1 ? void 0 : n ? ke(e, r) : e, i = t.length - 1, s; i >= 0; i--)
188
+ var Be = Object.defineProperty, qe = Object.getOwnPropertyDescriptor, Ve = (t, e, r, n) => {
189
+ for (var o = n > 1 ? void 0 : n ? qe(e, r) : e, i = t.length - 1, s; i >= 0; i--)
190
190
  (s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
191
191
  return n && o && Be(e, r, o), o;
192
- }, Ve = (t, e) => (r, n) => e(r, n, t);
192
+ }, ke = (t, e) => (r, n) => e(r, n, t);
193
193
  let R = class {
194
194
  constructor(t, e) {
195
195
  this._workbook = t, this._injector = e;
@@ -199,42 +199,42 @@ let R = class {
199
199
  return t ? this._injector.createInstance(I, this._workbook, t) : null;
200
200
  }
201
201
  };
202
- R = qe([
203
- Ve(1, c(u))
202
+ R = Ve([
203
+ ke(1, c(u))
204
204
  ], R);
205
205
  var ze = Object.defineProperty, Ge = Object.getOwnPropertyDescriptor, He = (t, e, r, n) => {
206
206
  for (var o = n > 1 ? void 0 : n ? Ge(e, r) : e, i = t.length - 1, s; i >= 0; i--)
207
207
  (s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
208
208
  return n && o && ze(e, r, o), o;
209
209
  }, F = (t, e) => (r, n) => e(r, n, t);
210
- let w = class {
210
+ let P = class {
211
211
  constructor(t, e) {
212
212
  this._injector = t, this._univerInstanceService = e;
213
213
  }
214
214
  static newInstance(t) {
215
- return t.createInstance(w);
215
+ return t.createInstance(P);
216
216
  }
217
217
  getCurrentSheet() {
218
218
  const t = this._univerInstanceService.getCurrentUniverSheetInstance();
219
219
  return t ? this._injector.createInstance(R, t) : null;
220
220
  }
221
221
  };
222
- w = He([
222
+ P = He([
223
223
  F(0, c(u)),
224
224
  F(1, ee)
225
- ], w);
225
+ ], P);
226
226
  var Je = Object.defineProperty, Ye = Object.getOwnPropertyDescriptor, Ke = (t, e, r, n) => {
227
227
  for (var o = n > 1 ? void 0 : n ? Ye(e, r) : e, i = t.length - 1, s; i >= 0; i--)
228
228
  (s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
229
229
  return n && o && Je(e, r, o), o;
230
- }, W = (t, e) => (r, n) => e(r, n, t);
231
- let P = class extends O {
230
+ }, A = (t, e) => (r, n) => e(r, n, t);
231
+ let w = class extends O {
232
232
  constructor(t, e) {
233
233
  super(), this._logService = t, this._injector = e;
234
234
  }
235
235
  async execute(t) {
236
236
  this._logService.log("[UniscriptExecutionService]", "executing Uniscript...");
237
- const e = w.newInstance(this._injector), r = new Function("Univer", `(() => {${t}})()`);
237
+ const e = P.newInstance(this._injector), r = new Function("Univer", `(() => {${t}})()`);
238
238
  try {
239
239
  return r(e), !0;
240
240
  } catch (n) {
@@ -242,22 +242,23 @@ let P = class extends O {
242
242
  }
243
243
  }
244
244
  };
245
- P = Ke([
246
- W(0, te),
247
- W(1, c(u))
248
- ], P);
249
- const Qe = "univer-script-editor-panel", Xe = "univer-script-editor-content", g = {
245
+ w = Ke([
246
+ A(0, te),
247
+ A(1, c(u))
248
+ ], w);
249
+ const Qe = "univer-script-editor-panel", Xe = "univer-script-editor-content", Ze = "univer-script-editor-actions", g = {
250
250
  scriptEditorPanel: Qe,
251
- scriptEditorContent: Xe
251
+ scriptEditorContent: Xe,
252
+ scriptEditorActions: Ze
252
253
  };
253
- function Ze() {
254
- const t = C(null), e = C(null), r = C(null), n = v(k), o = v(P), i = v(le), s = v(y), U = v(pe);
254
+ function et() {
255
+ const t = C(null), e = C(null), r = C(null), n = v(q), o = v(w), i = v(le), s = v(x), U = v(pe);
255
256
  me(() => {
256
257
  const _ = e.current, a = t.current;
257
258
  let p = null, d = null;
258
259
  if (_ && a) {
259
260
  s.requireVscodeEditor();
260
- const j = r.current = Pe.create(_, {
261
+ const j = r.current = we.create(_, {
261
262
  value: "",
262
263
  language: "javascript"
263
264
  });
@@ -301,10 +302,10 @@ function Ze() {
301
302
  }, [o]);
302
303
  return /* @__PURE__ */ h.jsxs("div", { className: g.scriptEditorPanel, children: [
303
304
  /* @__PURE__ */ h.jsx("div", { className: g.scriptEditorContent, ref: t, children: /* @__PURE__ */ h.jsx("div", { className: g.scriptEditorContainer, ref: e }) }),
304
- /* @__PURE__ */ h.jsx("div", { className: g.scriptEditorActions, children: /* @__PURE__ */ h.jsx(we, { type: "primary", size: "small", onClick: J, children: n.t("script-panel.panel.execute") }) })
305
+ /* @__PURE__ */ h.jsx("div", { className: g.scriptEditorActions, children: /* @__PURE__ */ h.jsx(Pe, { type: "primary", size: "small", onClick: J, children: n.t("script-panel.panel.execute") }) })
305
306
  ] });
306
307
  }
307
- function et() {
308
+ function tt() {
308
309
  return {
309
310
  id: z.id,
310
311
  title: "toggle-script-panel",
@@ -314,52 +315,52 @@ function et() {
314
315
  positions: [_e.TOOLBAR_START]
315
316
  };
316
317
  }
317
- var tt = Object.defineProperty, rt = Object.getOwnPropertyDescriptor, nt = (t, e, r, n) => {
318
- for (var o = n > 1 ? void 0 : n ? rt(e, r) : e, i = t.length - 1, s; i >= 0; i--)
318
+ var rt = Object.defineProperty, nt = Object.getOwnPropertyDescriptor, ot = (t, e, r, n) => {
319
+ for (var o = n > 1 ? void 0 : n ? nt(e, r) : e, i = t.length - 1, s; i >= 0; i--)
319
320
  (s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
320
- return n && o && tt(e, r, o), o;
321
+ return n && o && rt(e, r, o), o;
321
322
  }, $ = (t, e) => (r, n) => e(r, n, t);
322
323
  let m = class extends O {
323
324
  constructor(t, e, r) {
324
- super(), this.disposeWithMe(t.addMenuItem(et())), this.disposeWithMe(r.register(V, Ze)), this.disposeWithMe(e.registerCommand(z));
325
+ super(), this.disposeWithMe(t.addMenuItem(tt())), this.disposeWithMe(r.register(k, et)), this.disposeWithMe(e.registerCommand(z));
325
326
  }
326
327
  };
327
- m = nt([
328
+ m = ot([
328
329
  oe(ie.Steady, m),
329
330
  $(0, he),
330
331
  $(1, B),
331
332
  $(2, c(ve))
332
333
  ], m);
333
- var ot = Object.defineProperty, it = Object.getOwnPropertyDescriptor, st = (t, e, r, n) => {
334
- for (var o = n > 1 ? void 0 : n ? it(e, r) : e, i = t.length - 1, s; i >= 0; i--)
334
+ var it = Object.defineProperty, st = Object.getOwnPropertyDescriptor, ct = (t, e, r, n) => {
335
+ for (var o = n > 1 ? void 0 : n ? st(e, r) : e, i = t.length - 1, s; i >= 0; i--)
335
336
  (s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
336
- return n && o && ot(e, r, o), o;
337
- }, A = (t, e) => (r, n) => e(r, n, t);
338
- const ct = "uniscript";
339
- var x;
340
- let L = (x = class extends se {
337
+ return n && o && it(e, r, o), o;
338
+ }, W = (t, e) => (r, n) => e(r, n, t);
339
+ const at = "uniscript";
340
+ var E;
341
+ let L = (E = class extends se {
341
342
  constructor(t, e, r) {
342
- super(ct), this._config = t, this._injector = e, this._localeService = r;
343
+ super(at), this._config = t, this._injector = e, this._localeService = r;
343
344
  }
344
345
  onStarting(t) {
345
346
  [
346
347
  // controllers
347
348
  [m],
348
349
  // services
349
- [y, { useFactory: () => t.createInstance(y, this._config) }],
350
- [q],
351
- [P]
350
+ [x, { useFactory: () => t.createInstance(x, this._config) }],
351
+ [V],
352
+ [w]
352
353
  ].forEach((r) => t.add(r)), this._localeService.load({
353
354
  zhCN: je
354
355
  });
355
356
  }
356
- }, f(x, "type", ce.Univer), x);
357
- L = st([
358
- A(1, c(u)),
359
- A(2, c(k))
357
+ }, f(E, "type", ce.Univer), E);
358
+ L = ct([
359
+ W(1, c(u)),
360
+ W(2, c(q))
360
361
  ], L);
361
362
  export {
362
363
  L as UniverUniscriptPlugin,
363
- mt as enUS,
364
+ St as enUS,
364
365
  je as zhCN
365
366
  };
package/lib/index.css CHANGED
@@ -1 +1 @@
1
- .univer-script-editor-panel{height:100%}.univer-script-editor-content{overflow:hidden;width:100%;height:calc(100% - 80px)}
1
+ .univer-script-editor-panel{height:100%}.univer-script-editor-content{overflow:hidden;width:100%;height:calc(100% - 60px)}.univer-script-editor-actions{margin-top:10px}
@@ -25,5 +25,5 @@ export declare class FWorksheet {
25
25
  private readonly _selectionManagerService;
26
26
  constructor(_workbook: Workbook, _worksheet: Worksheet, _injector: Injector, _selectionManagerService: SelectionManagerService);
27
27
  getSelection(): FSelection | null;
28
- getRange(row: number, col: number): FRange | null;
28
+ getRange(row: number, col: number, height?: number, width?: number): FRange | null;
29
29
  }
package/lib/umd/index.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(a,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("@univerjs/ui"),require("rxjs"),require("react"),require("@univerjs/design"),require("@wendellhu/redi/react-bindings"),require("monaco-editor"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","@univerjs/ui","rxjs","react","@univerjs/design","@wendellhu/redi/react-bindings","monaco-editor","@univerjs/sheets"],c):(a=typeof globalThis<"u"?globalThis:a||self,c(a.UniverUniscript={},a.UniverCore,a["@wendellhu/redi"],a.UniverUi,a.rxjs,a.React,a.UniverDesign,a["@wendellhu/redi/react-bindings"],a.monaco,a.UniverSheets))})(this,function(a,c,l,_,M,h,C,d,Y,T){"use strict";var Te=Object.defineProperty;var Ne=(a,c,l)=>c in a?Te(a,c,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[c]=l;var b=(a,c,l)=>(Ne(a,typeof c!="symbol"?c+"":c,l),l);var R;const K={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Toggle Uniscript Panel"},panel:{execute:"Execute Script"}}},N={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"打开收起 Uniscript 面板"},panel:{execute:"执行 Uniscript"}}};class F extends c.Disposable{constructor(){super(...arguments);b(this,"_open$",new M.BehaviorSubject(!1));b(this,"open$",this._open$.pipe(M.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const W="ScriptPanel",L={type:c.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(F),s=t.get(_.ISidebarService);return e.isOpen?(e.close(),s.close()):(e.open(),s.open({header:{title:"script-panel.title"},children:{label:W},width:600})),!0}};var A={exports:{}},m={};/**
1
+ (function(a,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("@univerjs/ui"),require("rxjs"),require("react"),require("@univerjs/design"),require("@wendellhu/redi/react-bindings"),require("monaco-editor"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","@univerjs/ui","rxjs","react","@univerjs/design","@wendellhu/redi/react-bindings","monaco-editor","@univerjs/sheets"],c):(a=typeof globalThis<"u"?globalThis:a||self,c(a.UniverUniscript={},a.UniverCore,a["@wendellhu/redi"],a.UniverUi,a.rxjs,a.React,a.UniverDesign,a["@wendellhu/redi/react-bindings"],a.monaco,a.UniverSheets))})(this,function(a,c,l,v,M,h,C,d,Y,T){"use strict";var Te=Object.defineProperty;var Ne=(a,c,l)=>c in a?Te(a,c,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[c]=l;var b=(a,c,l)=>(Ne(a,typeof c!="symbol"?c+"":c,l),l);var R;const K={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Toggle Uniscript Panel"},panel:{execute:"Execute Script"}}},N={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"打开收起 Uniscript 面板"},panel:{execute:"执行 Uniscript"}}};class A extends c.Disposable{constructor(){super(...arguments);b(this,"_open$",new M.BehaviorSubject(!1));b(this,"open$",this._open$.pipe(M.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const F="ScriptPanel",W={type:c.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(A),i=t.get(v.ISidebarService);return e.isOpen?(e.close(),i.close()):(e.open(),i.open({header:{title:"script-panel.title"},children:{label:F},width:600})),!0}};var L={exports:{}},m={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var Q=h,X=Symbol.for("react.element"),Z=Symbol.for("react.fragment"),ee=Object.prototype.hasOwnProperty,te=Q.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,re={key:!0,ref:!0,__self:!0,__source:!0};function q(t,e,s){var r,n={},i=null,o=null;s!==void 0&&(i=""+s),e.key!==void 0&&(i=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)ee.call(e,r)&&!re.hasOwnProperty(r)&&(n[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)n[r]===void 0&&(n[r]=e[r]);return{$$typeof:X,type:t,key:i,ref:o,props:n,_owner:te.current}}m.Fragment=Z,m.jsx=q,m.jsxs=q,A.exports=m;var f=A.exports;class y extends c.Disposable{constructor(e){super(),this._config=e}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var ne=Object.defineProperty,se=Object.getOwnPropertyDescriptor,ie=(t,e,s,r)=>{for(var n=r>1?void 0:r?se(e,s):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(n=(r?o(e,s,n):o(n))||n);return r&&n&&ne(e,s,n),n},k=(t,e)=>(s,r)=>e(s,r,t);let S=class{constructor(t,e,s,r,n){this._workbook=t,this._worksheet=e,this._range=s,this._injector=r,this._commandService=n}getRow(){return this._range.startRow}getColumn(){return this._range.startColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}getValue(){var t;return((t=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:t.v)??null}setBackgroundColor(t){this._commandService.executeCommand(T.SetStyleCommand.id,{workbookId:this._workbook.getUnitId(),worksheetId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:t}}})}};S=ie([k(3,l.Inject(l.Injector)),k(4,c.ICommandService)],S);var oe=Object.defineProperty,ce=Object.getOwnPropertyDescriptor,ae=(t,e,s,r)=>{for(var n=r>1?void 0:r?ce(e,s):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(n=(r?o(e,s,n):o(n))||n);return r&&n&&oe(e,s,n),n},le=(t,e)=>(s,r)=>e(s,r,t);let U=class{constructor(t,e,s,r){this._workbook=t,this._worksheet=e,this._selections=s,this._injector=r}getActiveRange(){const t=this._selections.find(e=>!!e.primary);return t?this._injector.createInstance(S,this._workbook,this._worksheet,t.range):null}};U=ae([le(3,l.Inject(l.Injector))],U);var ue=Object.defineProperty,pe=Object.getOwnPropertyDescriptor,_e=(t,e,s,r)=>{for(var n=r>1?void 0:r?pe(e,s):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(n=(r?o(e,s,n):o(n))||n);return r&&n&&ue(e,s,n),n},z=(t,e)=>(s,r)=>e(s,r,t);let E=class{constructor(t,e,s,r){this._workbook=t,this._worksheet=e,this._injector=s,this._selectionManagerService=r}getSelection(){const t=this._selectionManagerService.getSelections();return t?this._injector.createInstance(U,this._workbook,this._worksheet,t):null}getRange(t,e){const s={startRow:t,endRow:t,startColumn:e,endColumn:e};return this._injector.createInstance(S,this._workbook,this._worksheet,s)}};E=_e([z(2,l.Inject(l.Injector)),z(3,l.Inject(T.SelectionManagerService))],E);var ve=Object.defineProperty,he=Object.getOwnPropertyDescriptor,de=(t,e,s,r)=>{for(var n=r>1?void 0:r?he(e,s):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(n=(r?o(e,s,n):o(n))||n);return r&&n&&ve(e,s,n),n},fe=(t,e)=>(s,r)=>e(s,r,t);let x=class{constructor(t,e){this._workbook=t,this._injector=e}getActiveSheet(){const t=this._workbook.getActiveSheet();return t?this._injector.createInstance(E,this._workbook,t):null}};x=de([fe(1,l.Inject(l.Injector))],x);var ge=Object.defineProperty,me=Object.getOwnPropertyDescriptor,Se=(t,e,s,r)=>{for(var n=r>1?void 0:r?me(e,s):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(n=(r?o(e,s,n):o(n))||n);return r&&n&&ge(e,s,n),n},V=(t,e)=>(s,r)=>e(s,r,t);let j=class{constructor(t,e){this._injector=t,this._univerInstanceService=e}static newInstance(t){return t.createInstance(j)}getCurrentSheet(){const t=this._univerInstanceService.getCurrentUniverSheetInstance();return t?this._injector.createInstance(x,t):null}};j=Se([V(0,l.Inject(l.Injector)),V(1,c.IUniverInstanceService)],j);var je=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Pe=(t,e,s,r)=>{for(var n=r>1?void 0:r?we(e,s):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(n=(r?o(e,s,n):o(n))||n);return r&&n&&je(e,s,n),n},B=(t,e)=>(s,r)=>e(s,r,t);let w=class extends c.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=j.newInstance(this._injector),s=new Function("Univer",`(() => {${t}})()`);try{return s(e),!0}catch(r){return this._logService.error(r),!1}}};w=Pe([B(0,c.ILogService),B(1,l.Inject(l.Injector))],w);const P={scriptEditorPanel:"univer-script-editor-panel",scriptEditorContent:"univer-script-editor-content"};function Oe(){const t=h.useRef(null),e=h.useRef(null),s=h.useRef(null),r=d.useDependency(c.LocaleService),n=d.useDependency(w),i=d.useDependency(_.IShortcutService),o=d.useDependency(y),H=d.useDependency(_.IMessageService);h.useEffect(()=>{const g=e.current,u=t.current;let v=null,I=null;if(g&&u){o.requireVscodeEditor();const $=s.current=Y.editor.create(g,{value:"",language:"javascript"});I=new ResizeObserver(()=>{let J=requestIdleCallback(()=>{if(!J)return;const{height:$e,width:Me}=u.getBoundingClientRect();$.layout({width:Me,height:$e}),J=void 0})}),I.observe(u);let p;v=new c.DisposableCollection,v.add($.onDidFocusEditorWidget(()=>{p=i.forceEscape()})),v.add($.onDidBlurEditorWidget(()=>{p==null||p.dispose(),p=void 0})),v.add(c.toDisposable(()=>p==null?void 0:p.dispose()))}return()=>{I&&u&&I.unobserve(u),v==null||v.dispose()}},[]);const Re=h.useCallback(()=>{var u;const g=(u=s.current)==null?void 0:u.getModel();g&&n.execute(g.getValue()).then(()=>{H.show({content:"Execution completed",type:C.MessageType.Success})}).catch(()=>{H.show({content:"Execution failed",type:C.MessageType.Error})})},[n]);return f.jsxs("div",{className:P.scriptEditorPanel,children:[f.jsx("div",{className:P.scriptEditorContent,ref:t,children:f.jsx("div",{className:P.scriptEditorContainer,ref:e})}),f.jsx("div",{className:P.scriptEditorActions,children:f.jsx(C.Button,{type:"primary",size:"small",onClick:Re,children:r.t("script-panel.panel.execute")})})]})}function Ie(){return{id:L.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:_.MenuItemType.BUTTON,positions:[_.MenuPosition.TOOLBAR_START]}}var be=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,ye=(t,e,s,r)=>{for(var n=r>1?void 0:r?Ce(e,s):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(n=(r?o(e,s,n):o(n))||n);return r&&n&&be(e,s,n),n},D=(t,e)=>(s,r)=>e(s,r,t);let O=class extends c.Disposable{constructor(t,e,s){super(),this.disposeWithMe(t.addMenuItem(Ie())),this.disposeWithMe(s.register(W,Oe)),this.disposeWithMe(e.registerCommand(L))}};O=ye([c.OnLifecycle(c.LifecycleStages.Steady,O),D(0,_.IMenuService),D(1,c.ICommandService),D(2,l.Inject(_.ComponentManager))],O);var Ue=Object.defineProperty,Ee=Object.getOwnPropertyDescriptor,xe=(t,e,s,r)=>{for(var n=r>1?void 0:r?Ee(e,s):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(n=(r?o(e,s,n):o(n))||n);return r&&n&&Ue(e,s,n),n},G=(t,e)=>(s,r)=>e(s,r,t);const De="uniscript";a.UniverUniscriptPlugin=(R=class extends c.Plugin{constructor(e,s,r){super(De),this._config=e,this._injector=s,this._localeService=r}onStarting(e){[[O],[y,{useFactory:()=>e.createInstance(y,this._config)}],[F],[w]].forEach(r=>e.add(r)),this._localeService.load({zhCN:N})}},b(R,"type",c.PluginType.Univer),R),a.UniverUniscriptPlugin=xe([G(1,l.Inject(l.Injector)),G(2,l.Inject(c.LocaleService))],a.UniverUniscriptPlugin),a.enUS=K,a.zhCN=N,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})});
9
+ */var Q=h,X=Symbol.for("react.element"),Z=Symbol.for("react.fragment"),ee=Object.prototype.hasOwnProperty,te=Q.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,re={key:!0,ref:!0,__self:!0,__source:!0};function q(t,e,i){var r,n={},s=null,o=null;i!==void 0&&(s=""+i),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)ee.call(e,r)&&!re.hasOwnProperty(r)&&(n[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)n[r]===void 0&&(n[r]=e[r]);return{$$typeof:X,type:t,key:s,ref:o,props:n,_owner:te.current}}m.Fragment=Z,m.jsx=q,m.jsxs=q,L.exports=m;var f=L.exports;class y extends c.Disposable{constructor(e){super(),this._config=e}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var ne=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,se=(t,e,i,r)=>{for(var n=r>1?void 0:r?ie(e,i):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(n=(r?o(e,i,n):o(n))||n);return r&&n&&ne(e,i,n),n},z=(t,e)=>(i,r)=>e(i,r,t);let S=class{constructor(t,e,i,r,n){this._workbook=t,this._worksheet=e,this._range=i,this._injector=r,this._commandService=n}getRow(){return this._range.startRow}getColumn(){return this._range.startColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}getValue(){var t;return((t=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:t.v)??null}setBackgroundColor(t){this._commandService.executeCommand(T.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:t}}})}};S=se([z(3,l.Inject(l.Injector)),z(4,c.ICommandService)],S);var oe=Object.defineProperty,ce=Object.getOwnPropertyDescriptor,ae=(t,e,i,r)=>{for(var n=r>1?void 0:r?ce(e,i):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(n=(r?o(e,i,n):o(n))||n);return r&&n&&oe(e,i,n),n},le=(t,e)=>(i,r)=>e(i,r,t);let E=class{constructor(t,e,i,r){this._workbook=t,this._worksheet=e,this._selections=i,this._injector=r}getActiveRange(){const t=this._selections.find(e=>!!e.primary);return t?this._injector.createInstance(S,this._workbook,this._worksheet,t.range):null}};E=ae([le(3,l.Inject(l.Injector))],E);var ue=Object.defineProperty,pe=Object.getOwnPropertyDescriptor,ve=(t,e,i,r)=>{for(var n=r>1?void 0:r?pe(e,i):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(n=(r?o(e,i,n):o(n))||n);return r&&n&&ue(e,i,n),n},V=(t,e)=>(i,r)=>e(i,r,t);let U=class{constructor(t,e,i,r){this._workbook=t,this._worksheet=e,this._injector=i,this._selectionManagerService=r}getSelection(){const t=this._selectionManagerService.getSelections();return t?this._injector.createInstance(E,this._workbook,this._worksheet,t):null}getRange(t,e,i,r){const n={startRow:t,endRow:t+(i??1)-1,startColumn:e,endColumn:e+(r??1)-1};return this._injector.createInstance(S,this._workbook,this._worksheet,n)}};U=ve([V(2,l.Inject(l.Injector)),V(3,l.Inject(T.SelectionManagerService))],U);var _e=Object.defineProperty,he=Object.getOwnPropertyDescriptor,de=(t,e,i,r)=>{for(var n=r>1?void 0:r?he(e,i):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(n=(r?o(e,i,n):o(n))||n);return r&&n&&_e(e,i,n),n},fe=(t,e)=>(i,r)=>e(i,r,t);let x=class{constructor(t,e){this._workbook=t,this._injector=e}getActiveSheet(){const t=this._workbook.getActiveSheet();return t?this._injector.createInstance(U,this._workbook,t):null}};x=de([fe(1,l.Inject(l.Injector))],x);var ge=Object.defineProperty,me=Object.getOwnPropertyDescriptor,Se=(t,e,i,r)=>{for(var n=r>1?void 0:r?me(e,i):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(n=(r?o(e,i,n):o(n))||n);return r&&n&&ge(e,i,n),n},k=(t,e)=>(i,r)=>e(i,r,t);let j=class{constructor(t,e){this._injector=t,this._univerInstanceService=e}static newInstance(t){return t.createInstance(j)}getCurrentSheet(){const t=this._univerInstanceService.getCurrentUniverSheetInstance();return t?this._injector.createInstance(x,t):null}};j=Se([k(0,l.Inject(l.Injector)),k(1,c.IUniverInstanceService)],j);var je=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Pe=(t,e,i,r)=>{for(var n=r>1?void 0:r?we(e,i):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(n=(r?o(e,i,n):o(n))||n);return r&&n&&je(e,i,n),n},B=(t,e)=>(i,r)=>e(i,r,t);let w=class extends c.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=j.newInstance(this._injector),i=new Function("Univer",`(() => {${t}})()`);try{return i(e),!0}catch(r){return this._logService.error(r),!1}}};w=Pe([B(0,c.ILogService),B(1,l.Inject(l.Injector))],w);const P={scriptEditorPanel:"univer-script-editor-panel",scriptEditorContent:"univer-script-editor-content",scriptEditorActions:"univer-script-editor-actions"};function Oe(){const t=h.useRef(null),e=h.useRef(null),i=h.useRef(null),r=d.useDependency(c.LocaleService),n=d.useDependency(w),s=d.useDependency(v.IShortcutService),o=d.useDependency(y),H=d.useDependency(v.IMessageService);h.useEffect(()=>{const g=e.current,u=t.current;let _=null,I=null;if(g&&u){o.requireVscodeEditor();const $=i.current=Y.editor.create(g,{value:"",language:"javascript"});I=new ResizeObserver(()=>{let J=requestIdleCallback(()=>{if(!J)return;const{height:$e,width:Me}=u.getBoundingClientRect();$.layout({width:Me,height:$e}),J=void 0})}),I.observe(u);let p;_=new c.DisposableCollection,_.add($.onDidFocusEditorWidget(()=>{p=s.forceEscape()})),_.add($.onDidBlurEditorWidget(()=>{p==null||p.dispose(),p=void 0})),_.add(c.toDisposable(()=>p==null?void 0:p.dispose()))}return()=>{I&&u&&I.unobserve(u),_==null||_.dispose()}},[]);const Re=h.useCallback(()=>{var u;const g=(u=i.current)==null?void 0:u.getModel();g&&n.execute(g.getValue()).then(()=>{H.show({content:"Execution completed",type:C.MessageType.Success})}).catch(()=>{H.show({content:"Execution failed",type:C.MessageType.Error})})},[n]);return f.jsxs("div",{className:P.scriptEditorPanel,children:[f.jsx("div",{className:P.scriptEditorContent,ref:t,children:f.jsx("div",{className:P.scriptEditorContainer,ref:e})}),f.jsx("div",{className:P.scriptEditorActions,children:f.jsx(C.Button,{type:"primary",size:"small",onClick:Re,children:r.t("script-panel.panel.execute")})})]})}function Ie(){return{id:W.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:v.MenuItemType.BUTTON,positions:[v.MenuPosition.TOOLBAR_START]}}var be=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,ye=(t,e,i,r)=>{for(var n=r>1?void 0:r?Ce(e,i):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(n=(r?o(e,i,n):o(n))||n);return r&&n&&be(e,i,n),n},D=(t,e)=>(i,r)=>e(i,r,t);let O=class extends c.Disposable{constructor(t,e,i){super(),this.disposeWithMe(t.addMenuItem(Ie())),this.disposeWithMe(i.register(F,Oe)),this.disposeWithMe(e.registerCommand(W))}};O=ye([c.OnLifecycle(c.LifecycleStages.Steady,O),D(0,v.IMenuService),D(1,c.ICommandService),D(2,l.Inject(v.ComponentManager))],O);var Ee=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,xe=(t,e,i,r)=>{for(var n=r>1?void 0:r?Ue(e,i):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(n=(r?o(e,i,n):o(n))||n);return r&&n&&Ee(e,i,n),n},G=(t,e)=>(i,r)=>e(i,r,t);const De="uniscript";a.UniverUniscriptPlugin=(R=class extends c.Plugin{constructor(e,i,r){super(De),this._config=e,this._injector=i,this._localeService=r}onStarting(e){[[O],[y,{useFactory:()=>e.createInstance(y,this._config)}],[A],[w]].forEach(r=>e.add(r)),this._localeService.load({zhCN:N})}},b(R,"type",c.PluginType.Univer),R),a.UniverUniscriptPlugin=xe([G(1,l.Inject(l.Injector)),G(2,l.Inject(c.LocaleService))],a.UniverUniscriptPlugin),a.enUS=K,a.zhCN=N,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/uniscript",
3
- "version": "0.1.0-alpha.2",
3
+ "version": "0.1.0-alpha.3",
4
4
  "description": "UI component library for building exceptional Univer.",
5
5
  "keywords": [],
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -37,32 +37,32 @@
37
37
  "devDependencies": {
38
38
  "@types/react": "^18.2.42",
39
39
  "@vitejs/plugin-react": "^4.2.1",
40
- "@vitest/coverage-istanbul": "^1.0.2",
40
+ "@vitest/coverage-istanbul": "^1.0.4",
41
41
  "@wendellhu/redi": "^0.12.12",
42
42
  "less": "^4.2.0",
43
43
  "monaco-editor": "0.45.0",
44
44
  "rxjs": "^7.8.1",
45
45
  "typescript": "^5.3.3",
46
- "vite": "^5.0.7",
46
+ "vite": "^5.0.8",
47
47
  "vite-plugin-dts": "^3.6.4",
48
48
  "vite-plugin-externals": "^0.6.2",
49
- "vitest": "^1.0.2",
50
- "@univerjs/design": "0.1.0-alpha.2",
51
- "@univerjs/sheets": "0.1.0-alpha.2",
52
- "@univerjs/core": "0.1.0-alpha.2",
53
- "@univerjs/sheets-ui": "0.1.0-alpha.2",
54
- "@univerjs/ui": "0.1.0-alpha.2"
49
+ "vitest": "^1.0.4",
50
+ "@univerjs/design": "0.1.0-alpha.3",
51
+ "@univerjs/core": "0.1.0-alpha.3",
52
+ "@univerjs/sheets": "0.1.0-alpha.3",
53
+ "@univerjs/ui": "0.1.0-alpha.3",
54
+ "@univerjs/sheets-ui": "0.1.0-alpha.3"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "@wendellhu/redi": ">=0.12.12",
58
58
  "monaco-editor": ">=0.44.0",
59
59
  "react": ">=16.9.0",
60
60
  "rxjs": ">=7.0.0",
61
- "@univerjs/core": "0.1.0-alpha.2",
62
- "@univerjs/design": "0.1.0-alpha.2",
63
- "@univerjs/sheets-ui": "0.1.0-alpha.2",
64
- "@univerjs/sheets": "0.1.0-alpha.2",
65
- "@univerjs/ui": "0.1.0-alpha.2"
61
+ "@univerjs/design": "0.1.0-alpha.3",
62
+ "@univerjs/core": "0.1.0-alpha.3",
63
+ "@univerjs/sheets": "0.1.0-alpha.3",
64
+ "@univerjs/sheets-ui": "0.1.0-alpha.3",
65
+ "@univerjs/ui": "0.1.0-alpha.3"
66
66
  },
67
67
  "scripts": {
68
68
  "test": "vitest run",