@univerjs/uniscript 0.6.10-nightly.202504161609 → 0.6.10-nightly.202504171607

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/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var N=Object.defineProperty;var q=(t,e,r)=>e in t?N(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var d=(t,e,r)=>q(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),c=require("@univerjs/ui"),U=require("rxjs"),v=require("react/jsx-runtime"),E=require("@univerjs/design"),W=require("monaco-editor"),h=require("react"),k=require("@univerjs/core/facade"),F=require("@univerjs/sheets-ui"),g=require("@univerjs/sheets"),D="uniscript.config",O={};class $ extends o.Disposable{constructor(){super(...arguments);d(this,"_open$",new U.BehaviorSubject(!1));d(this,"open$",this._open$.pipe(U.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const M="ScriptPanel",m={type:o.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get($),r=t.get(c.ISidebarService);return e.isOpen?(e.close(),r.close()):(e.open(),r.open({header:{title:"script-panel.title"},children:{label:M},width:600})),!0}};var V=Object.getOwnPropertyDescriptor,L=(t,e,r,i)=>{for(var n=i>1?void 0:i?V(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},B=(t,e)=>(r,i)=>e(r,i,t);exports.ScriptEditorService=class extends o.Disposable{constructor(r){super();d(this,"_editorInstance",null);this._configService=r}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(r){return this._editorInstance=r,o.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const r=this._configService.getConfig(D);window.MonacoEnvironment={getWorkerUrl:r==null?void 0:r.getWorkerUrl}}}};exports.ScriptEditorService=L([B(0,o.IConfigService)],exports.ScriptEditorService);var G=Object.getOwnPropertyDescriptor,A=(t,e,r,i)=>{for(var n=i>1?void 0:i?G(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},j=(t,e)=>(r,i)=>e(r,i,t);const y=o.createIdentifier("univer.uniscript.execution-service");let b=class extends o.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=k.FUniver.newAPI(this._injector),r=new Function("univerAPI",`(() => {${t}})()`);try{return r(e),!0}catch(i){return this._logService.error(i),!1}}};b=A([j(0,o.ILogService),j(1,o.Inject(o.Injector))],b);function z(){const t=h.useRef(null),e=h.useRef(null),r=h.useRef(null),i=c.useDependency(o.LocaleService),n=c.useDependency(c.IShortcutService),s=c.useDependency(exports.ScriptEditorService);h.useEffect(()=>{const C=e.current,p=t.current;let l=null,S=null;if(C&&p){s.requireVscodeEditor();const _=r.current=W.editor.create(C,{value:"",language:"javascript"});S=new ResizeObserver(()=>{let x=requestIdleCallback(()=>{if(!x)return;const{height:T,width:R}=p.getBoundingClientRect();_.layout({width:R,height:T}),x=void 0})}),S.observe(p);let u;l=new o.DisposableCollection,l.add(s.setEditorInstance(_)),l.add(_.onDidFocusEditorWidget(()=>{u=n.forceEscape()})),l.add(_.onDidBlurEditorWidget(()=>{u==null||u.dispose(),u=void 0})),l.add(o.toDisposable(()=>u==null?void 0:u.dispose()))}return()=>{S&&p&&S.unobserve(p),l==null||l.dispose()}},[s,n]);const a=H(r);return v.jsxs("div",{className:"univer-h-full",children:[v.jsx("div",{ref:t,className:"univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden",children:v.jsx("div",{ref:e})}),v.jsx("div",{className:"univer-mt-2.5",children:v.jsx(E.Button,{variant:"primary",size:"small",onClick:a,children:i.t("script-panel.panel.execute")})})]})}function H(t){const e=c.useDependency(y),r=c.useDependency(c.IMessageService),i=c.useDependency(o.LocaleService);return h.useCallback(()=>{var s;const n=(s=t.current)==null?void 0:s.getModel();n&&e.execute(n.getValue()).then(()=>{r.show({content:i.t("uniscript.message.success"),type:E.MessageType.Success})}).catch(()=>{r.show({content:i.t("uniscript.message.failed"),type:E.MessageType.Error})})},[i,r,t,e])}function K(t){return{id:m.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:c.MenuItemType.BUTTON,hidden$:c.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:F.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission,g.WorksheetSetCellValuePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}}const Y={[c.RibbonStartGroup.OTHERS]:{[m.id]:{order:5,menuItemFactory:K}}};var J=Object.getOwnPropertyDescriptor,Q=(t,e,r,i)=>{for(var n=i>1?void 0:i?J(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},I=(t,e)=>(r,i)=>e(r,i,t);let f=class extends o.Disposable{constructor(t,e,r){super(),this._menuManagerService=t,this._menuManagerService.mergeMenu(Y),this.disposeWithMe(r.register(M,z)),this.disposeWithMe(e.registerCommand(m))}};f=Q([I(0,c.IMenuManagerService),I(1,o.ICommandService),I(2,o.Inject(c.ComponentManager))],f);var X=Object.getOwnPropertyDescriptor,Z=(t,e,r,i)=>{for(var n=i>1?void 0:i?X(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},w=(t,e)=>(r,i)=>e(r,i,t);const ee="UNIVER_UNISCRIPT_PLUGIN";var P;exports.UniverUniscriptPlugin=(P=class extends o.Plugin{constructor(e=O,r,i){super(),this._config=e,this._injector=r,this._configService=i;const{menu:n,...s}=o.merge({},O,this._config);n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(D,s)}onStarting(){const e=this._injector;[[f],[exports.ScriptEditorService],[$]].forEach(i=>e.add(i)),this.registerExecution()}onSteady(){this._injector.get(f)}registerExecution(){this._injector.add([y,{useClass:b}])}},d(P,"pluginName",ee),P);exports.UniverUniscriptPlugin=Z([w(1,o.Inject(o.Injector)),w(2,o.IConfigService)],exports.UniverUniscriptPlugin);exports.IUniscriptExecutionService=y;exports.ToggleScriptPanelOperation=m;
1
+ "use strict";var N=Object.defineProperty;var q=(t,e,r)=>e in t?N(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var d=(t,e,r)=>q(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),c=require("@univerjs/ui"),U=require("rxjs"),v=require("react/jsx-runtime"),E=require("@univerjs/design"),W=require("monaco-editor"),h=require("react"),k=require("@univerjs/core/facade"),F=require("@univerjs/sheets-ui"),g=require("@univerjs/sheets"),D="uniscript.config",O={};class $ extends o.Disposable{constructor(){super(...arguments);d(this,"_open$",new U.BehaviorSubject(!1));d(this,"open$",this._open$.pipe(U.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const M="ScriptPanel",m={type:o.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get($),r=t.get(c.ISidebarService);return e.isOpen?(e.close(),r.close()):(e.open(),r.open({header:{title:"script-panel.title"},children:{label:M},width:600})),!0}};var V=Object.getOwnPropertyDescriptor,L=(t,e,r,i)=>{for(var n=i>1?void 0:i?V(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},B=(t,e)=>(r,i)=>e(r,i,t);exports.ScriptEditorService=class extends o.Disposable{constructor(r){super();d(this,"_editorInstance",null);this._configService=r}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(r){return this._editorInstance=r,o.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const r=this._configService.getConfig(D);window.MonacoEnvironment={getWorkerUrl:r==null?void 0:r.getWorkerUrl}}}};exports.ScriptEditorService=L([B(0,o.IConfigService)],exports.ScriptEditorService);var G=Object.getOwnPropertyDescriptor,A=(t,e,r,i)=>{for(var n=i>1?void 0:i?G(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},j=(t,e)=>(r,i)=>e(r,i,t);const y=o.createIdentifier("univer.uniscript.execution-service");let b=class extends o.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=k.FUniver.newAPI(this._injector),r=new Function("univerAPI",`(() => {${t}})()`);try{return r(e),!0}catch(i){return this._logService.error(i),!1}}};b=A([j(0,o.ILogService),j(1,o.Inject(o.Injector))],b);function H(){const t=h.useRef(null),e=h.useRef(null),r=h.useRef(null),i=c.useDependency(o.LocaleService),n=c.useDependency(c.IShortcutService),s=c.useDependency(exports.ScriptEditorService);h.useEffect(()=>{const C=e.current,p=t.current;let l=null,S=null;if(C&&p){s.requireVscodeEditor();const _=r.current=W.editor.create(C,{value:"",language:"javascript"});S=new ResizeObserver(()=>{let x=requestIdleCallback(()=>{if(!x)return;const{height:T,width:R}=p.getBoundingClientRect();_.layout({width:R,height:T}),x=void 0})}),S.observe(p);let u;l=new o.DisposableCollection,l.add(s.setEditorInstance(_)),l.add(_.onDidFocusEditorWidget(()=>{u=n.forceEscape()})),l.add(_.onDidBlurEditorWidget(()=>{u==null||u.dispose(),u=void 0})),l.add(o.toDisposable(()=>u==null?void 0:u.dispose()))}return()=>{S&&p&&S.unobserve(p),l==null||l.dispose()}},[s,n]);const a=z(r);return v.jsxs("div",{className:"univer-h-full",children:[v.jsx("div",{ref:t,className:"univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden",children:v.jsx("div",{ref:e})}),v.jsx("div",{className:"univer-mt-2.5",children:v.jsx(E.Button,{variant:"primary",onClick:a,children:i.t("script-panel.panel.execute")})})]})}function z(t){const e=c.useDependency(y),r=c.useDependency(c.IMessageService),i=c.useDependency(o.LocaleService);return h.useCallback(()=>{var s;const n=(s=t.current)==null?void 0:s.getModel();n&&e.execute(n.getValue()).then(()=>{r.show({content:i.t("uniscript.message.success"),type:E.MessageType.Success})}).catch(()=>{r.show({content:i.t("uniscript.message.failed"),type:E.MessageType.Error})})},[i,r,t,e])}function K(t){return{id:m.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:c.MenuItemType.BUTTON,hidden$:c.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:F.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission,g.WorksheetSetCellValuePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}}const Y={[c.RibbonStartGroup.OTHERS]:{[m.id]:{order:5,menuItemFactory:K}}};var J=Object.getOwnPropertyDescriptor,Q=(t,e,r,i)=>{for(var n=i>1?void 0:i?J(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},I=(t,e)=>(r,i)=>e(r,i,t);let f=class extends o.Disposable{constructor(t,e,r){super(),this._menuManagerService=t,this._menuManagerService.mergeMenu(Y),this.disposeWithMe(r.register(M,H)),this.disposeWithMe(e.registerCommand(m))}};f=Q([I(0,c.IMenuManagerService),I(1,o.ICommandService),I(2,o.Inject(c.ComponentManager))],f);var X=Object.getOwnPropertyDescriptor,Z=(t,e,r,i)=>{for(var n=i>1?void 0:i?X(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},w=(t,e)=>(r,i)=>e(r,i,t);const ee="UNIVER_UNISCRIPT_PLUGIN";var P;exports.UniverUniscriptPlugin=(P=class extends o.Plugin{constructor(e=O,r,i){super(),this._config=e,this._injector=r,this._configService=i;const{menu:n,...s}=o.merge({},O,this._config);n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(D,s)}onStarting(){const e=this._injector;[[f],[exports.ScriptEditorService],[$]].forEach(i=>e.add(i)),this.registerExecution()}onSteady(){this._injector.get(f)}registerExecution(){this._injector.add([y,{useClass:b}])}},d(P,"pluginName",ee),P);exports.UniverUniscriptPlugin=Z([w(1,o.Inject(o.Injector)),w(2,o.IConfigService)],exports.UniverUniscriptPlugin);exports.IUniscriptExecutionService=y;exports.ToggleScriptPanelOperation=m;
package/lib/es/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  var B = Object.defineProperty;
2
2
  var G = (t, e, r) => e in t ? B(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
3
  var p = (t, e, r) => G(t, typeof e != "symbol" ? e + "" : e, r);
4
- import { Disposable as _, CommandType as L, toDisposable as j, IConfigService as M, createIdentifier as A, ILogService as q, Inject as E, Injector as N, LocaleService as D, DisposableCollection as z, UniverInstanceType as H, ICommandService as K, Plugin as Y, merge as J } from "@univerjs/core";
4
+ import { Disposable as _, CommandType as L, toDisposable as j, IConfigService as M, createIdentifier as A, ILogService as q, Inject as E, Injector as N, LocaleService as D, DisposableCollection as H, UniverInstanceType as z, ICommandService as K, Plugin as Y, merge as J } from "@univerjs/core";
5
5
  import { ISidebarService as Q, useDependency as l, IShortcutService as X, IMessageService as Z, getMenuHiddenObservable as ee, MenuItemType as te, RibbonStartGroup as re, IMenuManagerService as ne, ComponentManager as ie } from "@univerjs/ui";
6
6
  import { BehaviorSubject as oe, distinctUntilChanged as se } from "rxjs";
7
7
  import { jsxs as ce, jsx as g } from "react/jsx-runtime";
@@ -116,7 +116,7 @@ function be() {
116
116
  });
117
117
  }), d.observe(u);
118
118
  let a;
119
- c = new z(), c.add(o.setEditorInstance(v)), c.add(
119
+ c = new H(), c.add(o.setEditorInstance(v)), c.add(
120
120
  v.onDidFocusEditorWidget(() => {
121
121
  a = i.forceEscape();
122
122
  })
@@ -133,7 +133,7 @@ function be() {
133
133
  const s = we(r);
134
134
  return /* @__PURE__ */ ce("div", { className: "univer-h-full", children: [
135
135
  /* @__PURE__ */ g("div", { ref: t, className: "univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden", children: /* @__PURE__ */ g("div", { ref: e }) }),
136
- /* @__PURE__ */ g("div", { className: "univer-mt-2.5", children: /* @__PURE__ */ g(ae, { variant: "primary", size: "small", onClick: s, children: n.t("script-panel.panel.execute") }) })
136
+ /* @__PURE__ */ g("div", { className: "univer-mt-2.5", children: /* @__PURE__ */ g(ae, { variant: "primary", onClick: s, children: n.t("script-panel.panel.execute") }) })
137
137
  ] });
138
138
  }
139
139
  function we(t) {
@@ -162,7 +162,7 @@ function Oe(t) {
162
162
  icon: "CodeSingle",
163
163
  type: te.BUTTON,
164
164
  // FIXME hidden$ and disabled$ are not correctly in doc
165
- hidden$: ee(t, H.UNIVER_SHEET),
165
+ hidden$: ee(t, z.UNIVER_SHEET),
166
166
  disabled$: ve(t, { workbookTypes: [fe], worksheetTypes: [he, me, _e], rangeTypes: [ge] })
167
167
  };
168
168
  }
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  var B = Object.defineProperty;
2
2
  var G = (t, e, r) => e in t ? B(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
3
  var p = (t, e, r) => G(t, typeof e != "symbol" ? e + "" : e, r);
4
- import { Disposable as _, CommandType as L, toDisposable as j, IConfigService as M, createIdentifier as A, ILogService as q, Inject as E, Injector as N, LocaleService as D, DisposableCollection as z, UniverInstanceType as H, ICommandService as K, Plugin as Y, merge as J } from "@univerjs/core";
4
+ import { Disposable as _, CommandType as L, toDisposable as j, IConfigService as M, createIdentifier as A, ILogService as q, Inject as E, Injector as N, LocaleService as D, DisposableCollection as H, UniverInstanceType as z, ICommandService as K, Plugin as Y, merge as J } from "@univerjs/core";
5
5
  import { ISidebarService as Q, useDependency as l, IShortcutService as X, IMessageService as Z, getMenuHiddenObservable as ee, MenuItemType as te, RibbonStartGroup as re, IMenuManagerService as ne, ComponentManager as ie } from "@univerjs/ui";
6
6
  import { BehaviorSubject as oe, distinctUntilChanged as se } from "rxjs";
7
7
  import { jsxs as ce, jsx as g } from "react/jsx-runtime";
@@ -116,7 +116,7 @@ function be() {
116
116
  });
117
117
  }), d.observe(u);
118
118
  let a;
119
- c = new z(), c.add(o.setEditorInstance(v)), c.add(
119
+ c = new H(), c.add(o.setEditorInstance(v)), c.add(
120
120
  v.onDidFocusEditorWidget(() => {
121
121
  a = i.forceEscape();
122
122
  })
@@ -133,7 +133,7 @@ function be() {
133
133
  const s = we(r);
134
134
  return /* @__PURE__ */ ce("div", { className: "univer-h-full", children: [
135
135
  /* @__PURE__ */ g("div", { ref: t, className: "univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden", children: /* @__PURE__ */ g("div", { ref: e }) }),
136
- /* @__PURE__ */ g("div", { className: "univer-mt-2.5", children: /* @__PURE__ */ g(ae, { variant: "primary", size: "small", onClick: s, children: n.t("script-panel.panel.execute") }) })
136
+ /* @__PURE__ */ g("div", { className: "univer-mt-2.5", children: /* @__PURE__ */ g(ae, { variant: "primary", onClick: s, children: n.t("script-panel.panel.execute") }) })
137
137
  ] });
138
138
  }
139
139
  function we(t) {
@@ -162,7 +162,7 @@ function Oe(t) {
162
162
  icon: "CodeSingle",
163
163
  type: te.BUTTON,
164
164
  // FIXME hidden$ and disabled$ are not correctly in doc
165
- hidden$: ee(t, H.UNIVER_SHEET),
165
+ hidden$: ee(t, z.UNIVER_SHEET),
166
166
  disabled$: ve(t, { workbookTypes: [fe], worksheetTypes: [he, me, _e], rangeTypes: [ge] })
167
167
  };
168
168
  }
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(s,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("@univerjs/core"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("monaco-editor"),require("react"),require("@univerjs/core/facade"),require("@univerjs/sheets-ui"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","monaco-editor","react","@univerjs/core/facade","@univerjs/sheets-ui","@univerjs/sheets"],n):(s=typeof globalThis<"u"?globalThis:s||self,n(s.UniverUniscript={},s.UniverCore,s.UniverUi,s.rxjs,s.React,s.UniverDesign,s.monaco,s.React,s.UniverCoreFacade,s.UniverSheetsUi,s.UniverSheets))})(this,function(s,n,a,C,p,P,N,v,R,q,g){"use strict";var ee=Object.defineProperty;var te=(s,n,a)=>n in s?ee(s,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[n]=a;var S=(s,n,a)=>te(s,typeof n!="symbol"?n+"":n,a);var y;const O="uniscript.config",w={};class D extends n.Disposable{constructor(){super(...arguments);S(this,"_open$",new C.BehaviorSubject(!1));S(this,"open$",this._open$.pipe(C.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const b="ScriptPanel",f={type:n.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(D),i=t.get(a.ISidebarService);return e.isOpen?(e.close(),i.close()):(e.open(),i.open({header:{title:"script-panel.title"},children:{label:b},width:600})),!0}};var W=Object.getOwnPropertyDescriptor,k=(t,e,i,r)=>{for(var c=r>1?void 0:r?W(e,i):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},F=(t,e)=>(i,r)=>e(i,r,t);s.ScriptEditorService=class extends n.Disposable{constructor(i){super();S(this,"_editorInstance",null);this._configService=i}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(i){return this._editorInstance=i,n.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const i=this._configService.getConfig(O);window.MonacoEnvironment={getWorkerUrl:i==null?void 0:i.getWorkerUrl}}}},s.ScriptEditorService=k([F(0,n.IConfigService)],s.ScriptEditorService);var V=Object.getOwnPropertyDescriptor,L=(t,e,i,r)=>{for(var c=r>1?void 0:r?V(e,i):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},$=(t,e)=>(i,r)=>e(i,r,t);const E=n.createIdentifier("univer.uniscript.execution-service");let U=class extends n.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=R.FUniver.newAPI(this._injector),i=new Function("univerAPI",`(() => {${t}})()`);try{return i(e),!0}catch(r){return this._logService.error(r),!1}}};U=L([$(0,n.ILogService),$(1,n.Inject(n.Injector))],U);function B(){const t=v.useRef(null),e=v.useRef(null),i=v.useRef(null),r=a.useDependency(n.LocaleService),c=a.useDependency(a.IShortcutService),o=a.useDependency(s.ScriptEditorService);v.useEffect(()=>{const T=e.current,h=t.current;let d=null,m=null;if(T&&h){o.requireVscodeEditor();const I=i.current=N.editor.create(T,{value:"",language:"javascript"});m=new ResizeObserver(()=>{let M=requestIdleCallback(()=>{if(!M)return;const{height:X,width:Z}=h.getBoundingClientRect();I.layout({width:Z,height:X}),M=void 0})}),m.observe(h);let l;d=new n.DisposableCollection,d.add(o.setEditorInstance(I)),d.add(I.onDidFocusEditorWidget(()=>{l=c.forceEscape()})),d.add(I.onDidBlurEditorWidget(()=>{l==null||l.dispose(),l=void 0})),d.add(n.toDisposable(()=>l==null?void 0:l.dispose()))}return()=>{m&&h&&m.unobserve(h),d==null||d.dispose()}},[o,c]);const u=G(i);return p.jsxs("div",{className:"univer-h-full",children:[p.jsx("div",{ref:t,className:"univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden",children:p.jsx("div",{ref:e})}),p.jsx("div",{className:"univer-mt-2.5",children:p.jsx(P.Button,{variant:"primary",size:"small",onClick:u,children:r.t("script-panel.panel.execute")})})]})}function G(t){const e=a.useDependency(E),i=a.useDependency(a.IMessageService),r=a.useDependency(n.LocaleService);return v.useCallback(()=>{var o;const c=(o=t.current)==null?void 0:o.getModel();c&&e.execute(c.getValue()).then(()=>{i.show({content:r.t("uniscript.message.success"),type:P.MessageType.Success})}).catch(()=>{i.show({content:r.t("uniscript.message.failed"),type:P.MessageType.Error})})},[r,i,t,e])}function A(t){return{id:f.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:a.MenuItemType.BUTTON,hidden$:a.getMenuHiddenObservable(t,n.UniverInstanceType.UNIVER_SHEET),disabled$:q.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission,g.WorksheetSetCellValuePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}}const z={[a.RibbonStartGroup.OTHERS]:{[f.id]:{order:5,menuItemFactory:A}}};var H=Object.getOwnPropertyDescriptor,K=(t,e,i,r)=>{for(var c=r>1?void 0:r?H(e,i):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},j=(t,e)=>(i,r)=>e(i,r,t);let _=class extends n.Disposable{constructor(t,e,i){super(),this._menuManagerService=t,this._menuManagerService.mergeMenu(z),this.disposeWithMe(i.register(b,B)),this.disposeWithMe(e.registerCommand(f))}};_=K([j(0,a.IMenuManagerService),j(1,n.ICommandService),j(2,n.Inject(a.ComponentManager))],_);var Y=Object.getOwnPropertyDescriptor,J=(t,e,i,r)=>{for(var c=r>1?void 0:r?Y(e,i):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},x=(t,e)=>(i,r)=>e(i,r,t);const Q="UNIVER_UNISCRIPT_PLUGIN";s.UniverUniscriptPlugin=(y=class extends n.Plugin{constructor(e=w,i,r){super(),this._config=e,this._injector=i,this._configService=r;const{menu:c,...o}=n.merge({},w,this._config);c&&this._configService.setConfig("menu",c,{merge:!0}),this._configService.setConfig(O,o)}onStarting(){const e=this._injector;[[_],[s.ScriptEditorService],[D]].forEach(r=>e.add(r)),this.registerExecution()}onSteady(){this._injector.get(_)}registerExecution(){this._injector.add([E,{useClass:U}])}},S(y,"pluginName",Q),y),s.UniverUniscriptPlugin=J([x(1,n.Inject(n.Injector)),x(2,n.IConfigService)],s.UniverUniscriptPlugin),s.IUniscriptExecutionService=E,s.ToggleScriptPanelOperation=f,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
1
+ (function(s,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("@univerjs/core"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("monaco-editor"),require("react"),require("@univerjs/core/facade"),require("@univerjs/sheets-ui"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","monaco-editor","react","@univerjs/core/facade","@univerjs/sheets-ui","@univerjs/sheets"],n):(s=typeof globalThis<"u"?globalThis:s||self,n(s.UniverUniscript={},s.UniverCore,s.UniverUi,s.rxjs,s.React,s.UniverDesign,s.monaco,s.React,s.UniverCoreFacade,s.UniverSheetsUi,s.UniverSheets))})(this,function(s,n,a,C,p,P,N,v,R,q,g){"use strict";var ee=Object.defineProperty;var te=(s,n,a)=>n in s?ee(s,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[n]=a;var S=(s,n,a)=>te(s,typeof n!="symbol"?n+"":n,a);var y;const O="uniscript.config",w={};class D extends n.Disposable{constructor(){super(...arguments);S(this,"_open$",new C.BehaviorSubject(!1));S(this,"open$",this._open$.pipe(C.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const b="ScriptPanel",f={type:n.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(D),i=t.get(a.ISidebarService);return e.isOpen?(e.close(),i.close()):(e.open(),i.open({header:{title:"script-panel.title"},children:{label:b},width:600})),!0}};var W=Object.getOwnPropertyDescriptor,k=(t,e,i,r)=>{for(var c=r>1?void 0:r?W(e,i):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},F=(t,e)=>(i,r)=>e(i,r,t);s.ScriptEditorService=class extends n.Disposable{constructor(i){super();S(this,"_editorInstance",null);this._configService=i}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(i){return this._editorInstance=i,n.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const i=this._configService.getConfig(O);window.MonacoEnvironment={getWorkerUrl:i==null?void 0:i.getWorkerUrl}}}},s.ScriptEditorService=k([F(0,n.IConfigService)],s.ScriptEditorService);var V=Object.getOwnPropertyDescriptor,L=(t,e,i,r)=>{for(var c=r>1?void 0:r?V(e,i):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},$=(t,e)=>(i,r)=>e(i,r,t);const E=n.createIdentifier("univer.uniscript.execution-service");let U=class extends n.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=R.FUniver.newAPI(this._injector),i=new Function("univerAPI",`(() => {${t}})()`);try{return i(e),!0}catch(r){return this._logService.error(r),!1}}};U=L([$(0,n.ILogService),$(1,n.Inject(n.Injector))],U);function B(){const t=v.useRef(null),e=v.useRef(null),i=v.useRef(null),r=a.useDependency(n.LocaleService),c=a.useDependency(a.IShortcutService),o=a.useDependency(s.ScriptEditorService);v.useEffect(()=>{const T=e.current,h=t.current;let d=null,m=null;if(T&&h){o.requireVscodeEditor();const I=i.current=N.editor.create(T,{value:"",language:"javascript"});m=new ResizeObserver(()=>{let M=requestIdleCallback(()=>{if(!M)return;const{height:X,width:Z}=h.getBoundingClientRect();I.layout({width:Z,height:X}),M=void 0})}),m.observe(h);let l;d=new n.DisposableCollection,d.add(o.setEditorInstance(I)),d.add(I.onDidFocusEditorWidget(()=>{l=c.forceEscape()})),d.add(I.onDidBlurEditorWidget(()=>{l==null||l.dispose(),l=void 0})),d.add(n.toDisposable(()=>l==null?void 0:l.dispose()))}return()=>{m&&h&&m.unobserve(h),d==null||d.dispose()}},[o,c]);const u=G(i);return p.jsxs("div",{className:"univer-h-full",children:[p.jsx("div",{ref:t,className:"univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden",children:p.jsx("div",{ref:e})}),p.jsx("div",{className:"univer-mt-2.5",children:p.jsx(P.Button,{variant:"primary",onClick:u,children:r.t("script-panel.panel.execute")})})]})}function G(t){const e=a.useDependency(E),i=a.useDependency(a.IMessageService),r=a.useDependency(n.LocaleService);return v.useCallback(()=>{var o;const c=(o=t.current)==null?void 0:o.getModel();c&&e.execute(c.getValue()).then(()=>{i.show({content:r.t("uniscript.message.success"),type:P.MessageType.Success})}).catch(()=>{i.show({content:r.t("uniscript.message.failed"),type:P.MessageType.Error})})},[r,i,t,e])}function A(t){return{id:f.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:a.MenuItemType.BUTTON,hidden$:a.getMenuHiddenObservable(t,n.UniverInstanceType.UNIVER_SHEET),disabled$:q.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission,g.WorksheetSetCellValuePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}}const H={[a.RibbonStartGroup.OTHERS]:{[f.id]:{order:5,menuItemFactory:A}}};var z=Object.getOwnPropertyDescriptor,K=(t,e,i,r)=>{for(var c=r>1?void 0:r?z(e,i):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},j=(t,e)=>(i,r)=>e(i,r,t);let _=class extends n.Disposable{constructor(t,e,i){super(),this._menuManagerService=t,this._menuManagerService.mergeMenu(H),this.disposeWithMe(i.register(b,B)),this.disposeWithMe(e.registerCommand(f))}};_=K([j(0,a.IMenuManagerService),j(1,n.ICommandService),j(2,n.Inject(a.ComponentManager))],_);var Y=Object.getOwnPropertyDescriptor,J=(t,e,i,r)=>{for(var c=r>1?void 0:r?Y(e,i):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},x=(t,e)=>(i,r)=>e(i,r,t);const Q="UNIVER_UNISCRIPT_PLUGIN";s.UniverUniscriptPlugin=(y=class extends n.Plugin{constructor(e=w,i,r){super(),this._config=e,this._injector=i,this._configService=r;const{menu:c,...o}=n.merge({},w,this._config);c&&this._configService.setConfig("menu",c,{merge:!0}),this._configService.setConfig(O,o)}onStarting(){const e=this._injector;[[_],[s.ScriptEditorService],[D]].forEach(r=>e.add(r)),this.registerExecution()}onSteady(){this._injector.get(_)}registerExecution(){this._injector.add([E,{useClass:U}])}},S(y,"pluginName",Q),y),s.UniverUniscriptPlugin=J([x(1,n.Inject(n.Injector)),x(2,n.IConfigService)],s.UniverUniscriptPlugin),s.IUniscriptExecutionService=E,s.ToggleScriptPanelOperation=f,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/uniscript",
3
- "version": "0.6.10-nightly.202504161609",
3
+ "version": "0.6.10-nightly.202504171607",
4
4
  "private": false,
5
5
  "description": "UI component library for building exceptional Univer.",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -56,11 +56,11 @@
56
56
  },
57
57
  "dependencies": {
58
58
  "monaco-editor": "0.52.2",
59
- "@univerjs/core": "0.6.10-nightly.202504161609",
60
- "@univerjs/design": "0.6.10-nightly.202504161609",
61
- "@univerjs/sheets": "0.6.10-nightly.202504161609",
62
- "@univerjs/sheets-ui": "0.6.10-nightly.202504161609",
63
- "@univerjs/ui": "0.6.10-nightly.202504161609"
59
+ "@univerjs/core": "0.6.10-nightly.202504171607",
60
+ "@univerjs/sheets-ui": "0.6.10-nightly.202504171607",
61
+ "@univerjs/ui": "0.6.10-nightly.202504171607",
62
+ "@univerjs/design": "0.6.10-nightly.202504171607",
63
+ "@univerjs/sheets": "0.6.10-nightly.202504171607"
64
64
  },
65
65
  "devDependencies": {
66
66
  "postcss": "^8.5.3",