@univerjs/uniscript 0.1.10 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -14,11 +14,11 @@
14
14
  Users can write business logic in the code editor to meet more flexible business requirements. For instance, as shown in the illustration, users can write a Uniscript to read identity card numbers from a selected area and validate their legality, and mark the background of invalid identity card numbers with red.
15
15
 
16
16
  :::caution
17
- The Uniscript is currently in the experimental stage, and it is not recommended to use it in production environments. You can refer to the [Roadmap](https://univer.ai/guides/introduction/roadmap/) to understand the iteration plan of Uniscript.
17
+ The Uniscript is currently in the experimental stage, and it is not recommended to use it in production environments. You can refer to the [Roadmap](https://univer.ai/guides/sheet/roadmap) to understand the iteration plan of Uniscript.
18
18
  :::
19
19
 
20
20
  :::tip
21
- Indeed, Uniscript's Domain-Specific Language (DSL) is a set of Facade APIs that encapsulate the internal implementation details of Univer. This API is defined [here](https://univer.ai/guides/facade/).
21
+ Indeed, Uniscript's Domain-Specific Language (DSL) is a set of Facade APIs that encapsulate the internal implementation details of Univer. This API is defined [here](https://univer.ai/guides/sheet/facade/facade).
22
22
  :::
23
23
 
24
24
  ## Usage
package/lib/cjs/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var F=Object.defineProperty;var B=(n,e,t)=>e in n?F(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var f=(n,e,t)=>(B(n,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),p=require("@wendellhu/redi"),u=require("@univerjs/ui"),C=require("rxjs"),d=require("react"),b=require("@univerjs/design"),v=require("@wendellhu/redi/react-bindings"),W=require("monaco-editor"),z=require("@univerjs/facade"),V={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Toggle Uniscript Panel"},panel:{execute:"Execute Script"}},uniscript:{message:{success:"Execution Success",failed:"Execution Failed"}}},H=V,G={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"打开收起 Uniscript 面板"},panel:{execute:"执行 Uniscript"}},uniscript:{message:{success:"执行成功",failed:"执行失败"}}},D=G;class R extends c.Disposable{constructor(){super(...arguments);f(this,"_open$",new C.BehaviorSubject(!1));f(this,"open$",this._open$.pipe(C.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 M="ScriptPanel",T={type:c.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:n=>{const e=n.get(R),t=n.get(u.ISidebarService);return e.isOpen?(e.close(),t.close()):(e.open(),t.open({header:{title:"script-panel.title"},children:{label:M},width:600})),!0}};var N={exports:{}},I={};/**
1
+ "use strict";var F=Object.defineProperty;var B=(n,e,t)=>e in n?F(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var f=(n,e,t)=>(B(n,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),a=require("@wendellhu/redi"),u=require("@univerjs/ui"),$=require("rxjs"),d=require("react"),b=require("@univerjs/design"),v=require("@wendellhu/redi/react-bindings"),W=require("monaco-editor"),z=require("@univerjs/facade"),V={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Toggle Uniscript Panel"},panel:{execute:"Execute Script"}},uniscript:{message:{success:"Execution Success",failed:"Execution Failed"}}},H=V,G={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"打开收起 Uniscript 面板"},panel:{execute:"执行 Uniscript"}},uniscript:{message:{success:"执行成功",failed:"执行失败"}}},D=G,J={"script-panel":{title:"Юнискрипт",tooltip:{"menu-button":"Переключить панель Юнискрипт"},panel:{execute:"Выполнить скрипт"}},uniscript:{message:{success:"Выполнение успешно",failed:"Выполнение не удалось"}}},Y=J;class R extends c.Disposable{constructor(){super(...arguments);f(this,"_open$",new $.BehaviorSubject(!1));f(this,"open$",this._open$.pipe($.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",T={type:c.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:n=>{const e=n.get(R),t=n.get(u.ISidebarService);return e.isOpen?(e.close(),t.close()):(e.open(),t.open({header:{title:"script-panel.title"},children:{label:M},width:600})),!0}};var N={exports:{}},I={};/**
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 J=d,Y=Symbol.for("react.element"),K=Symbol.for("react.fragment"),Q=Object.prototype.hasOwnProperty,X=J.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Z={key:!0,ref:!0,__self:!0,__source:!0};function q(n,e,t){var r,i={},s=null,o=null;t!==void 0&&(s=""+t),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)Q.call(e,r)&&!Z.hasOwnProperty(r)&&(i[r]=e[r]);if(n&&n.defaultProps)for(r in e=n.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:Y,type:n,key:s,ref:o,props:i,_owner:X.current}}I.Fragment=K;I.jsx=q;I.jsxs=q;N.exports=I;var h=N.exports;class y extends c.Disposable{constructor(t){super();f(this,"_editorInstance",null);this._config=t}setEditorInstance(t){return this._editorInstance=t,c.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var k=Object.defineProperty,ee=Object.getOwnPropertyDescriptor,te=(n,e,t,r)=>{for(var i=r>1?void 0:r?ee(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=(r?o(e,t,i):o(i))||i);return r&&i&&k(e,t,i),i},$=(n,e)=>(t,r)=>e(t,r,n);let x=class extends c.Disposable{constructor(n,e){super(),this._logService=n,this._injector=e}async execute(n){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=z.FUniver.newAPI(this._injector),t=new Function("univerAPI",`(() => {${n}})()`);try{return t(e),!0}catch(r){return this._logService.error(r),!1}}};x=te([$(0,c.ILogService),$(1,p.Inject(p.Injector))],x);const ne="univer-script-editor-panel",re="univer-script-editor-content",ie="univer-script-editor-actions",m={scriptEditorPanel:ne,scriptEditorContent:re,scriptEditorActions:ie};function se(){const n=d.useRef(null),e=d.useRef(null),t=d.useRef(null),r=v.useDependency(c.LocaleService),i=v.useDependency(u.IShortcutService),s=v.useDependency(y);d.useEffect(()=>{const j=e.current,_=n.current;let l=null,g=null;if(j&&_){s.requireVscodeEditor();const S=t.current=W.editor.create(j,{value:"",language:"javascript"});g=new ResizeObserver(()=>{let U=requestIdleCallback(()=>{if(!U)return;const{height:L,width:A}=_.getBoundingClientRect();S.layout({width:A,height:L}),U=void 0})}),g.observe(_);let a;l=new c.DisposableCollection,l.add(s.setEditorInstance(S)),l.add(S.onDidFocusEditorWidget(()=>{a=i.forceEscape()})),l.add(S.onDidBlurEditorWidget(()=>{a==null||a.dispose(),a=void 0})),l.add(c.toDisposable(()=>a==null?void 0:a.dispose()))}return()=>{g&&_&&g.unobserve(_),l==null||l.dispose()}},[s,i]);const o=ce(t);return h.jsxs("div",{className:m.scriptEditorPanel,children:[h.jsx("div",{className:m.scriptEditorContent,ref:n,children:h.jsx("div",{className:m.scriptEditorContainer,ref:e})}),h.jsx("div",{className:m.scriptEditorActions,children:h.jsx(b.Button,{type:"primary",size:"small",onClick:o,children:r.t("script-panel.panel.execute")})})]})}function ce(n){const e=v.useDependency(x),t=v.useDependency(u.IMessageService),r=v.useDependency(c.LocaleService);return d.useCallback(()=>{var s;const i=(s=n.current)==null?void 0:s.getModel();i&&e.execute(i.getValue()).then(()=>{t.show({content:r.t("uniscript.message.success"),type:b.MessageType.Success})}).catch(()=>{t.show({content:r.t("uniscript.message.failed"),type:b.MessageType.Error})})},[r,t,n,e])}function oe(n){return{id:T.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:u.MenuItemType.BUTTON,positions:[u.MenuPosition.TOOLBAR_START],hidden$:u.getMenuHiddenObservable(n,c.UniverInstanceType.UNIVER_SHEET)}}var le=Object.defineProperty,ae=Object.getOwnPropertyDescriptor,pe=(n,e,t,r)=>{for(var i=r>1?void 0:r?ae(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=(r?o(e,t,i):o(i))||i);return r&&i&&le(e,t,i),i},E=(n,e)=>(t,r)=>e(t,r,n);let P=class extends c.Disposable{constructor(n,e,t,r){super(),this._injector=n,this.disposeWithMe(e.addMenuItem(this._injector.invoke(oe))),this.disposeWithMe(r.register(M,se)),this.disposeWithMe(t.registerCommand(T))}};P=pe([c.OnLifecycle(c.LifecycleStages.Steady,P),E(0,p.Inject(p.Injector)),E(1,u.IMenuService),E(2,c.ICommandService),E(3,p.Inject(u.ComponentManager))],P);var ue=Object.defineProperty,de=Object.getOwnPropertyDescriptor,ve=(n,e,t,r)=>{for(var i=r>1?void 0:r?de(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=(r?o(e,t,i):o(i))||i);return r&&i&&ue(e,t,i),i},w=(n,e)=>(t,r)=>e(t,r,n);const _e="uniscript";var O;exports.UniverUniscriptPlugin=(O=class extends c.Plugin{constructor(e,t,r){super(),this._config=e,this._injector=t,this._localeService=r}onStarting(e){[[P],[y,{useFactory:()=>e.createInstance(y,this._config)}],[R],[x]].forEach(r=>e.add(r)),this._localeService.load({zhCN:D})}},f(O,"pluginName",_e),O);exports.UniverUniscriptPlugin=ve([w(1,p.Inject(p.Injector)),w(2,p.Inject(c.LocaleService))],exports.UniverUniscriptPlugin);exports.ScriptEditorService=y;exports.enUS=H;exports.zhCN=D;
9
+ */var K=d,Q=Symbol.for("react.element"),X=Symbol.for("react.fragment"),Z=Object.prototype.hasOwnProperty,k=K.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ee={key:!0,ref:!0,__self:!0,__source:!0};function q(n,e,t){var r,i={},s=null,o=null;t!==void 0&&(s=""+t),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)Z.call(e,r)&&!ee.hasOwnProperty(r)&&(i[r]=e[r]);if(n&&n.defaultProps)for(r in e=n.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:Q,type:n,key:s,ref:o,props:i,_owner:k.current}}I.Fragment=X;I.jsx=q;I.jsxs=q;N.exports=I;var g=N.exports;class y extends c.Disposable{constructor(t){super();f(this,"_editorInstance",null);this._config=t}setEditorInstance(t){return this._editorInstance=t,c.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var te=Object.defineProperty,ne=Object.getOwnPropertyDescriptor,re=(n,e,t,r)=>{for(var i=r>1?void 0:r?ne(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=(r?o(e,t,i):o(i))||i);return r&&i&&te(e,t,i),i},C=(n,e)=>(t,r)=>e(t,r,n);let x=class extends c.Disposable{constructor(n,e){super(),this._logService=n,this._injector=e}async execute(n){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=z.FUniver.newAPI(this._injector),t=new Function("univerAPI",`(() => {${n}})()`);try{return t(e),!0}catch(r){return this._logService.error(r),!1}}};x=re([C(0,c.ILogService),C(1,a.Inject(a.Injector))],x);const ie="univer-script-editor-panel",se="univer-script-editor-content",ce="univer-script-editor-actions",m={scriptEditorPanel:ie,scriptEditorContent:se,scriptEditorActions:ce};function oe(){const n=d.useRef(null),e=d.useRef(null),t=d.useRef(null),r=v.useDependency(c.LocaleService),i=v.useDependency(u.IShortcutService),s=v.useDependency(y);d.useEffect(()=>{const j=e.current,_=n.current;let l=null,h=null;if(j&&_){s.requireVscodeEditor();const S=t.current=W.editor.create(j,{value:"",language:"javascript"});h=new ResizeObserver(()=>{let U=requestIdleCallback(()=>{if(!U)return;const{height:L,width:A}=_.getBoundingClientRect();S.layout({width:A,height:L}),U=void 0})}),h.observe(_);let p;l=new c.DisposableCollection,l.add(s.setEditorInstance(S)),l.add(S.onDidFocusEditorWidget(()=>{p=i.forceEscape()})),l.add(S.onDidBlurEditorWidget(()=>{p==null||p.dispose(),p=void 0})),l.add(c.toDisposable(()=>p==null?void 0:p.dispose()))}return()=>{h&&_&&h.unobserve(_),l==null||l.dispose()}},[s,i]);const o=le(t);return g.jsxs("div",{className:m.scriptEditorPanel,children:[g.jsx("div",{className:m.scriptEditorContent,ref:n,children:g.jsx("div",{className:m.scriptEditorContainer,ref:e})}),g.jsx("div",{className:m.scriptEditorActions,children:g.jsx(b.Button,{type:"primary",size:"small",onClick:o,children:r.t("script-panel.panel.execute")})})]})}function le(n){const e=v.useDependency(x),t=v.useDependency(u.IMessageService),r=v.useDependency(c.LocaleService);return d.useCallback(()=>{var s;const i=(s=n.current)==null?void 0:s.getModel();i&&e.execute(i.getValue()).then(()=>{t.show({content:r.t("uniscript.message.success"),type:b.MessageType.Success})}).catch(()=>{t.show({content:r.t("uniscript.message.failed"),type:b.MessageType.Error})})},[r,t,n,e])}function pe(n){return{id:T.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:u.MenuItemType.BUTTON,positions:[u.MenuPosition.TOOLBAR_START],hidden$:u.getMenuHiddenObservable(n,c.UniverInstanceType.UNIVER_SHEET)}}var ae=Object.defineProperty,ue=Object.getOwnPropertyDescriptor,de=(n,e,t,r)=>{for(var i=r>1?void 0:r?ue(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=(r?o(e,t,i):o(i))||i);return r&&i&&ae(e,t,i),i},E=(n,e)=>(t,r)=>e(t,r,n);let P=class extends c.Disposable{constructor(n,e,t,r){super(),this._injector=n,this.disposeWithMe(e.addMenuItem(this._injector.invoke(pe))),this.disposeWithMe(r.register(M,oe)),this.disposeWithMe(t.registerCommand(T))}};P=de([c.OnLifecycle(c.LifecycleStages.Steady,P),E(0,a.Inject(a.Injector)),E(1,u.IMenuService),E(2,c.ICommandService),E(3,a.Inject(u.ComponentManager))],P);var ve=Object.defineProperty,_e=Object.getOwnPropertyDescriptor,fe=(n,e,t,r)=>{for(var i=r>1?void 0:r?_e(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=(r?o(e,t,i):o(i))||i);return r&&i&&ve(e,t,i),i},w=(n,e)=>(t,r)=>e(t,r,n);const ge="uniscript";var O;exports.UniverUniscriptPlugin=(O=class extends c.Plugin{constructor(e,t,r){super(),this._config=e,this._injector=t,this._localeService=r}onStarting(e){[[P],[y,{useFactory:()=>e.createInstance(y,this._config)}],[R],[x]].forEach(r=>e.add(r)),this._localeService.load({zhCN:D})}},f(O,"pluginName",ge),O);exports.UniverUniscriptPlugin=fe([w(1,a.Inject(a.Injector)),w(2,a.Inject(c.LocaleService))],exports.UniverUniscriptPlugin);exports.ScriptEditorService=y;exports.enUS=H;exports.ruRU=Y;exports.zhCN=D;
package/lib/es/index.js CHANGED
@@ -4,9 +4,9 @@ var u = (t, e, r) => (q(t, typeof e != "symbol" ? e + "" : e, r), r);
4
4
  import { Disposable as E, CommandType as V, toDisposable as M, ILogService as z, LocaleService as I, DisposableCollection as H, UniverInstanceType as G, OnLifecycle as J, LifecycleStages as Y, ICommandService as K, Plugin as Q } from "@univerjs/core";
5
5
  import { Inject as v, Injector as b } from "@wendellhu/redi";
6
6
  import { ISidebarService as X, IShortcutService as Z, IMessageService as k, MenuItemType as ee, MenuPosition as te, getMenuHiddenObservable as re, ComponentManager as ne, IMenuService as ie } from "@univerjs/ui";
7
- import { BehaviorSubject as oe, distinctUntilChanged as se } from "rxjs";
7
+ import { BehaviorSubject as se, distinctUntilChanged as oe } from "rxjs";
8
8
  import ce, { useRef as P, useEffect as le, useCallback as pe } from "react";
9
- import { Button as ae, MessageType as $ } from "@univerjs/design";
9
+ import { Button as ae, MessageType as C } from "@univerjs/design";
10
10
  import { useDependency as p } from "@wendellhu/redi/react-bindings";
11
11
  import { editor as ue } from "monaco-editor";
12
12
  import { FUniver as de } from "@univerjs/facade";
@@ -26,7 +26,7 @@ const ve = {
26
26
  failed: "Execution Failed"
27
27
  }
28
28
  }
29
- }, Ye = ve, fe = {
29
+ }, Ke = ve, fe = {
30
30
  "script-panel": {
31
31
  title: "Uniscript",
32
32
  tooltip: {
@@ -42,18 +42,34 @@ const ve = {
42
42
  failed: "执行失败"
43
43
  }
44
44
  }
45
- }, _e = fe;
45
+ }, _e = fe, me = {
46
+ "script-panel": {
47
+ title: "Юнискрипт",
48
+ tooltip: {
49
+ "menu-button": "Переключить панель Юнискрипт"
50
+ },
51
+ panel: {
52
+ execute: "Выполнить скрипт"
53
+ }
54
+ },
55
+ uniscript: {
56
+ message: {
57
+ success: "Выполнение успешно",
58
+ failed: "Выполнение не удалось"
59
+ }
60
+ }
61
+ }, Qe = me;
46
62
  class T extends E {
47
63
  constructor() {
48
64
  super(...arguments);
49
- u(this, "_open$", new oe(!1));
50
- u(this, "open$", this._open$.pipe(se()));
65
+ u(this, "_open$", new se(!1));
66
+ u(this, "open$", this._open$.pipe(oe()));
51
67
  }
52
68
  get isOpen() {
53
69
  return this._open$.getValue();
54
70
  }
55
71
  dispose() {
56
- this._open$.next(!1), this._open$.complete();
72
+ super.dispose(), this._open$.next(!1), this._open$.complete();
57
73
  }
58
74
  open() {
59
75
  this._open$.next(!0);
@@ -84,18 +100,18 @@ var A = { exports: {} }, x = {};
84
100
  * This source code is licensed under the MIT license found in the
85
101
  * LICENSE file in the root directory of this source tree.
86
102
  */
87
- var me = ce, he = Symbol.for("react.element"), ge = Symbol.for("react.fragment"), Se = Object.prototype.hasOwnProperty, Ee = me.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, xe = { key: !0, ref: !0, __self: !0, __source: !0 };
103
+ var he = ce, ge = Symbol.for("react.element"), Se = Symbol.for("react.fragment"), Ee = Object.prototype.hasOwnProperty, xe = he.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, Pe = { key: !0, ref: !0, __self: !0, __source: !0 };
88
104
  function F(t, e, r) {
89
- var n, i = {}, o = null, s = null;
90
- r !== void 0 && (o = "" + r), e.key !== void 0 && (o = "" + e.key), e.ref !== void 0 && (s = e.ref);
105
+ var n, i = {}, s = null, o = null;
106
+ r !== void 0 && (s = "" + r), e.key !== void 0 && (s = "" + e.key), e.ref !== void 0 && (o = e.ref);
91
107
  for (n in e)
92
- Se.call(e, n) && !xe.hasOwnProperty(n) && (i[n] = e[n]);
108
+ Ee.call(e, n) && !Pe.hasOwnProperty(n) && (i[n] = e[n]);
93
109
  if (t && t.defaultProps)
94
110
  for (n in e = t.defaultProps, e)
95
111
  i[n] === void 0 && (i[n] = e[n]);
96
- return { $$typeof: he, type: t, key: o, ref: s, props: i, _owner: Ee.current };
112
+ return { $$typeof: ge, type: t, key: s, ref: o, props: i, _owner: xe.current };
97
113
  }
98
- x.Fragment = ge;
114
+ x.Fragment = Se;
99
115
  x.jsx = F;
100
116
  x.jsxs = F;
101
117
  A.exports = x;
@@ -118,11 +134,11 @@ class y extends E {
118
134
  });
119
135
  }
120
136
  }
121
- var Pe = Object.defineProperty, Oe = Object.getOwnPropertyDescriptor, ye = (t, e, r, n) => {
122
- for (var i = n > 1 ? void 0 : n ? Oe(e, r) : e, o = t.length - 1, s; o >= 0; o--)
123
- (s = t[o]) && (i = (n ? s(e, r, i) : s(i)) || i);
124
- return n && i && Pe(e, r, i), i;
125
- }, w = (t, e) => (r, n) => e(r, n, t);
137
+ var Oe = Object.defineProperty, ye = Object.getOwnPropertyDescriptor, Ie = (t, e, r, n) => {
138
+ for (var i = n > 1 ? void 0 : n ? ye(e, r) : e, s = t.length - 1, o; s >= 0; s--)
139
+ (o = t[s]) && (i = (n ? o(e, r, i) : o(i)) || i);
140
+ return n && i && Oe(e, r, i), i;
141
+ }, U = (t, e) => (r, n) => e(r, n, t);
126
142
  let S = class extends E {
127
143
  constructor(t, e) {
128
144
  super(), this._logService = t, this._injector = e;
@@ -137,36 +153,36 @@ let S = class extends E {
137
153
  }
138
154
  }
139
155
  };
140
- S = ye([
141
- w(0, z),
142
- w(1, v(b))
156
+ S = Ie([
157
+ U(0, z),
158
+ U(1, v(b))
143
159
  ], S);
144
- const Ie = "univer-script-editor-panel", be = "univer-script-editor-content", je = "univer-script-editor-actions", m = {
145
- scriptEditorPanel: Ie,
146
- scriptEditorContent: be,
160
+ const be = "univer-script-editor-panel", $e = "univer-script-editor-content", je = "univer-script-editor-actions", m = {
161
+ scriptEditorPanel: be,
162
+ scriptEditorContent: $e,
147
163
  scriptEditorActions: je
148
164
  };
149
165
  function Ce() {
150
- const t = P(null), e = P(null), r = P(null), n = p(I), i = p(Z), o = p(y);
166
+ const t = P(null), e = P(null), r = P(null), n = p(I), i = p(Z), s = p(y);
151
167
  le(() => {
152
- const j = e.current, a = t.current;
168
+ const $ = e.current, a = t.current;
153
169
  let c = null, f = null;
154
- if (j && a) {
155
- o.requireVscodeEditor();
156
- const _ = r.current = ue.create(j, {
170
+ if ($ && a) {
171
+ s.requireVscodeEditor();
172
+ const _ = r.current = ue.create($, {
157
173
  value: "",
158
174
  language: "javascript"
159
175
  });
160
176
  f = new ResizeObserver(() => {
161
- let C = requestIdleCallback(() => {
162
- if (!C)
177
+ let j = requestIdleCallback(() => {
178
+ if (!j)
163
179
  return;
164
180
  const { height: L, width: W } = a.getBoundingClientRect();
165
- _.layout({ width: W, height: L }), C = void 0;
181
+ _.layout({ width: W, height: L }), j = void 0;
166
182
  });
167
183
  }), f.observe(a);
168
184
  let l;
169
- c = new H(), c.add(o.setEditorInstance(_)), c.add(
185
+ c = new H(), c.add(s.setEditorInstance(_)), c.add(
170
186
  _.onDidFocusEditorWidget(() => {
171
187
  l = i.forceEscape();
172
188
  })
@@ -179,27 +195,27 @@ function Ce() {
179
195
  return () => {
180
196
  f && a && f.unobserve(a), c == null || c.dispose();
181
197
  };
182
- }, [o, i]);
183
- const s = $e(r);
198
+ }, [s, i]);
199
+ const o = Ue(r);
184
200
  return /* @__PURE__ */ d.jsxs("div", { className: m.scriptEditorPanel, children: [
185
201
  /* @__PURE__ */ d.jsx("div", { className: m.scriptEditorContent, ref: t, children: /* @__PURE__ */ d.jsx("div", { className: m.scriptEditorContainer, ref: e }) }),
186
- /* @__PURE__ */ d.jsx("div", { className: m.scriptEditorActions, children: /* @__PURE__ */ d.jsx(ae, { type: "primary", size: "small", onClick: s, children: n.t("script-panel.panel.execute") }) })
202
+ /* @__PURE__ */ d.jsx("div", { className: m.scriptEditorActions, children: /* @__PURE__ */ d.jsx(ae, { type: "primary", size: "small", onClick: o, children: n.t("script-panel.panel.execute") }) })
187
203
  ] });
188
204
  }
189
- function $e(t) {
205
+ function Ue(t) {
190
206
  const e = p(S), r = p(k), n = p(I);
191
207
  return pe(() => {
192
- var o;
193
- const i = (o = t.current) == null ? void 0 : o.getModel();
208
+ var s;
209
+ const i = (s = t.current) == null ? void 0 : s.getModel();
194
210
  i && e.execute(i.getValue()).then(() => {
195
211
  r.show({
196
212
  content: n.t("uniscript.message.success"),
197
- type: $.Success
213
+ type: C.Success
198
214
  });
199
215
  }).catch(() => {
200
216
  r.show({
201
217
  content: n.t("uniscript.message.failed"),
202
- type: $.Error
218
+ type: C.Error
203
219
  });
204
220
  });
205
221
  }, [n, r, t, e]);
@@ -217,29 +233,29 @@ function we(t) {
217
233
  // disabled$: getCurrentSheetDisabled$(accessor),
218
234
  };
219
235
  }
220
- var Ue = Object.defineProperty, Re = Object.getOwnPropertyDescriptor, Me = (t, e, r, n) => {
221
- for (var i = n > 1 ? void 0 : n ? Re(e, r) : e, o = t.length - 1, s; o >= 0; o--)
222
- (s = t[o]) && (i = (n ? s(e, r, i) : s(i)) || i);
223
- return n && i && Ue(e, r, i), i;
236
+ var Re = Object.defineProperty, Me = Object.getOwnPropertyDescriptor, Te = (t, e, r, n) => {
237
+ for (var i = n > 1 ? void 0 : n ? Me(e, r) : e, s = t.length - 1, o; s >= 0; s--)
238
+ (o = t[s]) && (i = (n ? o(e, r, i) : o(i)) || i);
239
+ return n && i && Re(e, r, i), i;
224
240
  }, h = (t, e) => (r, n) => e(r, n, t);
225
241
  let g = class extends E {
226
242
  constructor(t, e, r, n) {
227
243
  super(), this._injector = t, this.disposeWithMe(e.addMenuItem(this._injector.invoke(we))), this.disposeWithMe(n.register(N, Ce)), this.disposeWithMe(r.registerCommand(D));
228
244
  }
229
245
  };
230
- g = Me([
246
+ g = Te([
231
247
  J(Y.Steady, g),
232
248
  h(0, v(b)),
233
249
  h(1, ie),
234
250
  h(2, K),
235
251
  h(3, v(ne))
236
252
  ], g);
237
- var Te = Object.defineProperty, Ne = Object.getOwnPropertyDescriptor, De = (t, e, r, n) => {
238
- for (var i = n > 1 ? void 0 : n ? Ne(e, r) : e, o = t.length - 1, s; o >= 0; o--)
239
- (s = t[o]) && (i = (n ? s(e, r, i) : s(i)) || i);
240
- return n && i && Te(e, r, i), i;
241
- }, U = (t, e) => (r, n) => e(r, n, t);
242
- const Ae = "uniscript";
253
+ var Ne = Object.defineProperty, De = Object.getOwnPropertyDescriptor, Ae = (t, e, r, n) => {
254
+ for (var i = n > 1 ? void 0 : n ? De(e, r) : e, s = t.length - 1, o; s >= 0; s--)
255
+ (o = t[s]) && (i = (n ? o(e, r, i) : o(i)) || i);
256
+ return n && i && Ne(e, r, i), i;
257
+ }, w = (t, e) => (r, n) => e(r, n, t);
258
+ const Fe = "uniscript";
243
259
  var O;
244
260
  let R = (O = class extends Q {
245
261
  constructor(t, e, r) {
@@ -257,14 +273,15 @@ let R = (O = class extends Q {
257
273
  zhCN: _e
258
274
  });
259
275
  }
260
- }, u(O, "pluginName", Ae), O);
261
- R = De([
262
- U(1, v(b)),
263
- U(2, v(I))
276
+ }, u(O, "pluginName", Fe), O);
277
+ R = Ae([
278
+ w(1, v(b)),
279
+ w(2, v(I))
264
280
  ], R);
265
281
  export {
266
282
  y as ScriptEditorService,
267
283
  R as UniverUniscriptPlugin,
268
- Ye as enUS,
284
+ Ke as enUS,
285
+ Qe as ruRU,
269
286
  _e as zhCN
270
287
  };
@@ -1,4 +1,4 @@
1
- import { IAccessor } from '@wendellhu/redi';
2
1
  import { IMenuButtonItem } from '@univerjs/ui';
2
+ import { IAccessor } from '@wendellhu/redi';
3
3
 
4
4
  export declare function UniscriptMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
@@ -1,6 +1,6 @@
1
- import { Injector } from '@wendellhu/redi';
2
- import { ComponentManager, IMenuService } from '@univerjs/ui';
3
1
  import { Disposable, ICommandService } from '@univerjs/core';
2
+ import { ComponentManager, IMenuService } from '@univerjs/ui';
3
+ import { Injector } from '@wendellhu/redi';
4
4
 
5
5
  export declare class UniscriptController extends Disposable {
6
6
  private readonly _injector;
@@ -13,6 +13,6 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export { enUS, zhCN } from './locale';
16
+ export { enUS, zhCN, ruRU } from './locale';
17
17
  export { type IUniscriptConfig, UniverUniscriptPlugin } from './plugin';
18
18
  export { ScriptEditorService } from './services/script-editor.service';
@@ -15,3 +15,4 @@
15
15
  */
16
16
  export { default as enUS } from './en-US';
17
17
  export { default as zhCN } from './zh-CN';
18
+ export { default as ruRU } from './ru-RU';
@@ -0,0 +1,4 @@
1
+ import { default as zhCN } from './zh-CN';
2
+
3
+ declare const locale: typeof zhCN;
4
+ export default locale;
@@ -1,6 +1,6 @@
1
- import { IScriptEditorServiceConfig } from './services/script-editor.service';
2
- import { Injector } from '@wendellhu/redi';
3
1
  import { LocaleService, Plugin } from '@univerjs/core';
2
+ import { Injector } from '@wendellhu/redi';
3
+ import { IScriptEditorServiceConfig } from './services/script-editor.service';
4
4
 
5
5
  export interface IUniscriptConfig extends IScriptEditorServiceConfig {
6
6
  }
@@ -1,6 +1,6 @@
1
- import { editor } from 'monaco-editor';
2
- import { IDisposable } from '@wendellhu/redi';
3
1
  import { Disposable } from '@univerjs/core';
2
+ import { IDisposable } from '@wendellhu/redi';
3
+ import { editor } from 'monaco-editor';
4
4
 
5
5
  export interface IScriptEditorServiceConfig {
6
6
  getWorkerUrl(moduleID: string, label: string): string;
@@ -1,5 +1,5 @@
1
- import { Injector } from '@wendellhu/redi';
2
1
  import { Disposable, ILogService } from '@univerjs/core';
2
+ import { Injector } from '@wendellhu/redi';
3
3
 
4
4
  /**
5
5
  * This service is to
package/lib/umd/index.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(c,s){typeof exports=="object"&&typeof module<"u"?s(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/facade")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","@univerjs/ui","rxjs","react","@univerjs/design","@wendellhu/redi/react-bindings","monaco-editor","@univerjs/facade"],s):(c=typeof globalThis<"u"?globalThis:c||self,s(c.UniverUniscript={},c.UniverCore,c["@wendellhu/redi"],c.UniverUi,c.rxjs,c.React,c.UniverDesign,c["@wendellhu/redi/react-bindings"],c.monaco,c.UniverFacade))})(this,function(c,s,p,a,w,v,O,f,F,q){"use strict";var pe=Object.defineProperty;var ae=(c,s,p)=>s in c?pe(c,s,{enumerable:!0,configurable:!0,writable:!0,value:p}):c[s]=p;var S=(c,s,p)=>(ae(c,typeof s!="symbol"?s+"":s,p),p);var x;const W={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Toggle Uniscript Panel"},panel:{execute:"Execute Script"}},uniscript:{message:{success:"Execution Success",failed:"Execution Failed"}}},b={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"打开收起 Uniscript 面板"},panel:{execute:"执行 Uniscript"}},uniscript:{message:{success:"执行成功",failed:"执行失败"}}};class C extends s.Disposable{constructor(){super(...arguments);S(this,"_open$",new w.BehaviorSubject(!1));S(this,"open$",this._open$.pipe(w.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 D="ScriptPanel",R={type:s.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:i=>{const e=i.get(C),n=i.get(a.ISidebarService);return e.isOpen?(e.close(),n.close()):(e.open(),n.open({header:{title:"script-panel.title"},children:{label:D},width:600})),!0}};var T={exports:{}},m={};/**
1
+ (function(c,s){typeof exports=="object"&&typeof module<"u"?s(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/facade")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","@univerjs/ui","rxjs","react","@univerjs/design","@wendellhu/redi/react-bindings","monaco-editor","@univerjs/facade"],s):(c=typeof globalThis<"u"?globalThis:c||self,s(c.UniverUniscript={},c.UniverCore,c["@wendellhu/redi"],c.UniverUi,c.rxjs,c.React,c.UniverDesign,c["@wendellhu/redi/react-bindings"],c.monaco,c.UniverFacade))})(this,function(c,s,p,a,b,v,O,f,F,q){"use strict";var ae=Object.defineProperty;var ue=(c,s,p)=>s in c?ae(c,s,{enumerable:!0,configurable:!0,writable:!0,value:p}):c[s]=p;var S=(c,s,p)=>(ue(c,typeof s!="symbol"?s+"":s,p),p);var x;const W={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Toggle Uniscript Panel"},panel:{execute:"Execute Script"}},uniscript:{message:{success:"Execution Success",failed:"Execution Failed"}}},w={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"打开收起 Uniscript 面板"},panel:{execute:"执行 Uniscript"}},uniscript:{message:{success:"执行成功",failed:"执行失败"}}},z={"script-panel":{title:"Юнискрипт",tooltip:{"menu-button":"Переключить панель Юнискрипт"},panel:{execute:"Выполнить скрипт"}},uniscript:{message:{success:"Выполнение успешно",failed:"Выполнение не удалось"}}};class C extends s.Disposable{constructor(){super(...arguments);S(this,"_open$",new b.BehaviorSubject(!1));S(this,"open$",this._open$.pipe(b.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 D="ScriptPanel",R={type:s.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:i=>{const e=i.get(C),n=i.get(a.ISidebarService);return e.isOpen?(e.close(),n.close()):(e.open(),n.open({header:{title:"script-panel.title"},children:{label:D},width:600})),!0}};var T={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 z=v,V=Symbol.for("react.element"),B=Symbol.for("react.fragment"),H=Object.prototype.hasOwnProperty,G=z.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,J={key:!0,ref:!0,__self:!0,__source:!0};function M(i,e,n){var t,r={},o=null,l=null;n!==void 0&&(o=""+n),e.key!==void 0&&(o=""+e.key),e.ref!==void 0&&(l=e.ref);for(t in e)H.call(e,t)&&!J.hasOwnProperty(t)&&(r[t]=e[t]);if(i&&i.defaultProps)for(t in e=i.defaultProps,e)r[t]===void 0&&(r[t]=e[t]);return{$$typeof:V,type:i,key:o,ref:l,props:r,_owner:G.current}}m.Fragment=B,m.jsx=M,m.jsxs=M,T.exports=m;var _=T.exports;class E extends s.Disposable{constructor(n){super();S(this,"_editorInstance",null);this._config=n}setEditorInstance(n){return this._editorInstance=n,s.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var Y=Object.defineProperty,K=Object.getOwnPropertyDescriptor,Q=(i,e,n,t)=>{for(var r=t>1?void 0:t?K(e,n):e,o=i.length-1,l;o>=0;o--)(l=i[o])&&(r=(t?l(e,n,r):l(r))||r);return t&&r&&Y(e,n,r),r},N=(i,e)=>(n,t)=>e(n,t,i);let g=class extends s.Disposable{constructor(i,e){super(),this._logService=i,this._injector=e}async execute(i){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=q.FUniver.newAPI(this._injector),n=new Function("univerAPI",`(() => {${i}})()`);try{return n(e),!0}catch(t){return this._logService.error(t),!1}}};g=Q([N(0,s.ILogService),N(1,p.Inject(p.Injector))],g);const j={scriptEditorPanel:"univer-script-editor-panel",scriptEditorContent:"univer-script-editor-content",scriptEditorActions:"univer-script-editor-actions"};function X(){const i=v.useRef(null),e=v.useRef(null),n=v.useRef(null),t=f.useDependency(s.LocaleService),r=f.useDependency(a.IShortcutService),o=f.useDependency(E);v.useEffect(()=>{const A=e.current,h=i.current;let u=null,I=null;if(A&&h){o.requireVscodeEditor();const U=n.current=F.editor.create(A,{value:"",language:"javascript"});I=new ResizeObserver(()=>{let L=requestIdleCallback(()=>{if(!L)return;const{height:oe,width:le}=h.getBoundingClientRect();U.layout({width:le,height:oe}),L=void 0})}),I.observe(h);let d;u=new s.DisposableCollection,u.add(o.setEditorInstance(U)),u.add(U.onDidFocusEditorWidget(()=>{d=r.forceEscape()})),u.add(U.onDidBlurEditorWidget(()=>{d==null||d.dispose(),d=void 0})),u.add(s.toDisposable(()=>d==null?void 0:d.dispose()))}return()=>{I&&h&&I.unobserve(h),u==null||u.dispose()}},[o,r]);const l=Z(n);return _.jsxs("div",{className:j.scriptEditorPanel,children:[_.jsx("div",{className:j.scriptEditorContent,ref:i,children:_.jsx("div",{className:j.scriptEditorContainer,ref:e})}),_.jsx("div",{className:j.scriptEditorActions,children:_.jsx(O.Button,{type:"primary",size:"small",onClick:l,children:t.t("script-panel.panel.execute")})})]})}function Z(i){const e=f.useDependency(g),n=f.useDependency(a.IMessageService),t=f.useDependency(s.LocaleService);return v.useCallback(()=>{var o;const r=(o=i.current)==null?void 0:o.getModel();r&&e.execute(r.getValue()).then(()=>{n.show({content:t.t("uniscript.message.success"),type:O.MessageType.Success})}).catch(()=>{n.show({content:t.t("uniscript.message.failed"),type:O.MessageType.Error})})},[t,n,i,e])}function k(i){return{id:R.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:a.MenuItemType.BUTTON,positions:[a.MenuPosition.TOOLBAR_START],hidden$:a.getMenuHiddenObservable(i,s.UniverInstanceType.UNIVER_SHEET)}}var ee=Object.defineProperty,te=Object.getOwnPropertyDescriptor,ne=(i,e,n,t)=>{for(var r=t>1?void 0:t?te(e,n):e,o=i.length-1,l;o>=0;o--)(l=i[o])&&(r=(t?l(e,n,r):l(r))||r);return t&&r&&ee(e,n,r),r},y=(i,e)=>(n,t)=>e(n,t,i);let P=class extends s.Disposable{constructor(i,e,n,t){super(),this._injector=i,this.disposeWithMe(e.addMenuItem(this._injector.invoke(k))),this.disposeWithMe(t.register(D,X)),this.disposeWithMe(n.registerCommand(R))}};P=ne([s.OnLifecycle(s.LifecycleStages.Steady,P),y(0,p.Inject(p.Injector)),y(1,a.IMenuService),y(2,s.ICommandService),y(3,p.Inject(a.ComponentManager))],P);var ie=Object.defineProperty,re=Object.getOwnPropertyDescriptor,se=(i,e,n,t)=>{for(var r=t>1?void 0:t?re(e,n):e,o=i.length-1,l;o>=0;o--)(l=i[o])&&(r=(t?l(e,n,r):l(r))||r);return t&&r&&ie(e,n,r),r},$=(i,e)=>(n,t)=>e(n,t,i);const ce="uniscript";c.UniverUniscriptPlugin=(x=class extends s.Plugin{constructor(e,n,t){super(),this._config=e,this._injector=n,this._localeService=t}onStarting(e){[[P],[E,{useFactory:()=>e.createInstance(E,this._config)}],[C],[g]].forEach(t=>e.add(t)),this._localeService.load({zhCN:b})}},S(x,"pluginName",ce),x),c.UniverUniscriptPlugin=se([$(1,p.Inject(p.Injector)),$(2,p.Inject(s.LocaleService))],c.UniverUniscriptPlugin),c.ScriptEditorService=E,c.enUS=W,c.zhCN=b,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
9
+ */var V=v,B=Symbol.for("react.element"),H=Symbol.for("react.fragment"),G=Object.prototype.hasOwnProperty,J=V.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Y={key:!0,ref:!0,__self:!0,__source:!0};function M(i,e,n){var t,r={},o=null,l=null;n!==void 0&&(o=""+n),e.key!==void 0&&(o=""+e.key),e.ref!==void 0&&(l=e.ref);for(t in e)G.call(e,t)&&!Y.hasOwnProperty(t)&&(r[t]=e[t]);if(i&&i.defaultProps)for(t in e=i.defaultProps,e)r[t]===void 0&&(r[t]=e[t]);return{$$typeof:B,type:i,key:o,ref:l,props:r,_owner:J.current}}m.Fragment=H,m.jsx=M,m.jsxs=M,T.exports=m;var _=T.exports;class E extends s.Disposable{constructor(n){super();S(this,"_editorInstance",null);this._config=n}setEditorInstance(n){return this._editorInstance=n,s.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var K=Object.defineProperty,Q=Object.getOwnPropertyDescriptor,X=(i,e,n,t)=>{for(var r=t>1?void 0:t?Q(e,n):e,o=i.length-1,l;o>=0;o--)(l=i[o])&&(r=(t?l(e,n,r):l(r))||r);return t&&r&&K(e,n,r),r},$=(i,e)=>(n,t)=>e(n,t,i);let g=class extends s.Disposable{constructor(i,e){super(),this._logService=i,this._injector=e}async execute(i){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=q.FUniver.newAPI(this._injector),n=new Function("univerAPI",`(() => {${i}})()`);try{return n(e),!0}catch(t){return this._logService.error(t),!1}}};g=X([$(0,s.ILogService),$(1,p.Inject(p.Injector))],g);const j={scriptEditorPanel:"univer-script-editor-panel",scriptEditorContent:"univer-script-editor-content",scriptEditorActions:"univer-script-editor-actions"};function Z(){const i=v.useRef(null),e=v.useRef(null),n=v.useRef(null),t=f.useDependency(s.LocaleService),r=f.useDependency(a.IShortcutService),o=f.useDependency(E);v.useEffect(()=>{const A=e.current,h=i.current;let u=null,U=null;if(A&&h){o.requireVscodeEditor();const I=n.current=F.editor.create(A,{value:"",language:"javascript"});U=new ResizeObserver(()=>{let L=requestIdleCallback(()=>{if(!L)return;const{height:le,width:pe}=h.getBoundingClientRect();I.layout({width:pe,height:le}),L=void 0})}),U.observe(h);let d;u=new s.DisposableCollection,u.add(o.setEditorInstance(I)),u.add(I.onDidFocusEditorWidget(()=>{d=r.forceEscape()})),u.add(I.onDidBlurEditorWidget(()=>{d==null||d.dispose(),d=void 0})),u.add(s.toDisposable(()=>d==null?void 0:d.dispose()))}return()=>{U&&h&&U.unobserve(h),u==null||u.dispose()}},[o,r]);const l=k(n);return _.jsxs("div",{className:j.scriptEditorPanel,children:[_.jsx("div",{className:j.scriptEditorContent,ref:i,children:_.jsx("div",{className:j.scriptEditorContainer,ref:e})}),_.jsx("div",{className:j.scriptEditorActions,children:_.jsx(O.Button,{type:"primary",size:"small",onClick:l,children:t.t("script-panel.panel.execute")})})]})}function k(i){const e=f.useDependency(g),n=f.useDependency(a.IMessageService),t=f.useDependency(s.LocaleService);return v.useCallback(()=>{var o;const r=(o=i.current)==null?void 0:o.getModel();r&&e.execute(r.getValue()).then(()=>{n.show({content:t.t("uniscript.message.success"),type:O.MessageType.Success})}).catch(()=>{n.show({content:t.t("uniscript.message.failed"),type:O.MessageType.Error})})},[t,n,i,e])}function ee(i){return{id:R.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:a.MenuItemType.BUTTON,positions:[a.MenuPosition.TOOLBAR_START],hidden$:a.getMenuHiddenObservable(i,s.UniverInstanceType.UNIVER_SHEET)}}var te=Object.defineProperty,ne=Object.getOwnPropertyDescriptor,ie=(i,e,n,t)=>{for(var r=t>1?void 0:t?ne(e,n):e,o=i.length-1,l;o>=0;o--)(l=i[o])&&(r=(t?l(e,n,r):l(r))||r);return t&&r&&te(e,n,r),r},y=(i,e)=>(n,t)=>e(n,t,i);let P=class extends s.Disposable{constructor(i,e,n,t){super(),this._injector=i,this.disposeWithMe(e.addMenuItem(this._injector.invoke(ee))),this.disposeWithMe(t.register(D,Z)),this.disposeWithMe(n.registerCommand(R))}};P=ie([s.OnLifecycle(s.LifecycleStages.Steady,P),y(0,p.Inject(p.Injector)),y(1,a.IMenuService),y(2,s.ICommandService),y(3,p.Inject(a.ComponentManager))],P);var re=Object.defineProperty,se=Object.getOwnPropertyDescriptor,ce=(i,e,n,t)=>{for(var r=t>1?void 0:t?se(e,n):e,o=i.length-1,l;o>=0;o--)(l=i[o])&&(r=(t?l(e,n,r):l(r))||r);return t&&r&&re(e,n,r),r},N=(i,e)=>(n,t)=>e(n,t,i);const oe="uniscript";c.UniverUniscriptPlugin=(x=class extends s.Plugin{constructor(e,n,t){super(),this._config=e,this._injector=n,this._localeService=t}onStarting(e){[[P],[E,{useFactory:()=>e.createInstance(E,this._config)}],[C],[g]].forEach(t=>e.add(t)),this._localeService.load({zhCN:w})}},S(x,"pluginName",oe),x),c.UniverUniscriptPlugin=ce([N(1,p.Inject(p.Injector)),N(2,p.Inject(s.LocaleService))],c.UniverUniscriptPlugin),c.ScriptEditorService=E,c.enUS=W,c.ruRU=z,c.zhCN=w,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/uniscript",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "private": false,
5
5
  "description": "UI component library for building exceptional Univer.",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -53,29 +53,29 @@
53
53
  "npm": ">=8.0.0"
54
54
  },
55
55
  "peerDependencies": {
56
- "@wendellhu/redi": "^0.13.3",
56
+ "@wendellhu/redi": "^0.15.1",
57
57
  "monaco-editor": ">=0.44.0",
58
58
  "react": "^16.9.0 || ^17.0.0 || ^18.0.0",
59
59
  "rxjs": ">=7.0.0",
60
- "@univerjs/core": "0.1.10",
61
- "@univerjs/design": "0.1.10",
62
- "@univerjs/ui": "0.1.10",
63
- "@univerjs/facade": "0.1.10"
60
+ "@univerjs/core": "0.1.11",
61
+ "@univerjs/design": "0.1.11",
62
+ "@univerjs/facade": "0.1.11",
63
+ "@univerjs/ui": "0.1.11"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@types/react": "^18.2.79",
67
- "@wendellhu/redi": "^0.13.3",
67
+ "@wendellhu/redi": "^0.15.1",
68
68
  "less": "^4.2.0",
69
- "monaco-editor": "0.47.0",
69
+ "monaco-editor": "0.48.0",
70
70
  "rxjs": "^7.8.1",
71
71
  "typescript": "^5.4.5",
72
- "vite": "^5.2.10",
73
- "vitest": "^1.5.0",
74
- "@univerjs/core": "0.1.10",
75
- "@univerjs/design": "0.1.10",
76
- "@univerjs/facade": "0.1.10",
77
- "@univerjs/shared": "0.1.10",
78
- "@univerjs/ui": "0.1.10"
72
+ "vite": "^5.2.11",
73
+ "vitest": "^1.6.0",
74
+ "@univerjs/design": "0.1.11",
75
+ "@univerjs/facade": "0.1.11",
76
+ "@univerjs/core": "0.1.11",
77
+ "@univerjs/ui": "0.1.11",
78
+ "@univerjs/shared": "0.1.11"
79
79
  },
80
80
  "scripts": {
81
81
  "test": "vitest run",