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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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",