@univerjs/uniscript 0.1.12 → 0.1.14

Sign up to get free protection for your applications and to get access to all the features.
package/lib/cjs/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var B=Object.defineProperty;var W=(n,e,t)=>e in n?B(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var f=(n,e,t)=>(W(n,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),l=require("@wendellhu/redi"),u=require("@univerjs/ui"),$=require("rxjs"),d=require("react"),O=require("@univerjs/design"),v=require("@wendellhu/redi/react-bindings"),z=require("monaco-editor"),V=require("@univerjs/facade"),H={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Toggle Uniscript Panel"},panel:{execute:"Execute Script"}},uniscript:{message:{success:"Execution Success",failed:"Execution Failed"}}},G=H,J={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"打开收起 Uniscript 面板"},panel:{execute:"执行 Uniscript"}},uniscript:{message:{success:"执行成功",failed:"执行失败"}}},R=J,Y={"script-panel":{title:"Юнискрипт",tooltip:{"menu-button":"Переключить панель Юнискрипт"},panel:{execute:"Выполнить скрипт"}},uniscript:{message:{success:"Выполнение успешно",failed:"Выполнение не удалось"}}},K=Y;class M 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 T="ScriptPanel",N={type:c.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:n=>{const e=n.get(M),t=n.get(u.ISidebarService);return e.isOpen?(e.close(),t.close()):(e.open(),t.open({header:{title:"script-panel.title"},children:{label:T},width:600})),!0}};var q={exports:{}},I={};/**
1
+ "use strict";var F=Object.defineProperty;var B=(r,e,t)=>e in r?F(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var f=(r,e,t)=>(B(r,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),l=require("@wendellhu/redi"),u=require("@univerjs/ui"),D=require("rxjs"),d=require("react"),O=require("@univerjs/design"),v=require("@wendellhu/redi/react-bindings"),V=require("monaco-editor"),k=require("@univerjs/facade"),z=require("@univerjs/sheets-ui"),h=require("@univerjs/sheets");class T extends o.Disposable{constructor(){super(...arguments);f(this,"_open$",new D.BehaviorSubject(!1));f(this,"open$",this._open$.pipe(D.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",q={type:o.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:r=>{const e=r.get(T),t=r.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:{}},b={};/**
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=d,X=Symbol.for("react.element"),Z=Symbol.for("react.fragment"),k=Object.prototype.hasOwnProperty,ee=Q.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,te={key:!0,ref:!0,__self:!0,__source:!0};function L(n,e,t){var i,r={},s=null,o=null;t!==void 0&&(s=""+t),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(i in e)k.call(e,i)&&!te.hasOwnProperty(i)&&(r[i]=e[i]);if(n&&n.defaultProps)for(i in e=n.defaultProps,e)r[i]===void 0&&(r[i]=e[i]);return{$$typeof:X,type:n,key:s,ref:o,props:r,_owner:ee.current}}I.Fragment=Z;I.jsx=L;I.jsxs=L;q.exports=I;var g=q.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 ne=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,re=(n,e,t,i)=>{for(var r=i>1?void 0:i?ie(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=(i?o(e,t,r):o(r))||r);return i&&r&&ne(e,t,r),r},D=(n,e)=>(t,i)=>e(t,i,n);const U=l.createIdentifier("univer.uniscript.execution-service");let b=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=V.FUniver.newAPI(this._injector),t=new Function("univerAPI",`(() => {${n}})()`);try{return t(e),!0}catch(i){return this._logService.error(i),!1}}};b=re([D(0,c.ILogService),D(1,l.Inject(l.Injector))],b);const se="univer-script-editor-panel",ce="univer-script-editor-content",oe="univer-script-editor-actions",E={scriptEditorPanel:se,scriptEditorContent:ce,scriptEditorActions:oe};function le(){const n=d.useRef(null),e=d.useRef(null),t=d.useRef(null),i=v.useDependency(c.LocaleService),r=v.useDependency(u.IShortcutService),s=v.useDependency(y);d.useEffect(()=>{const j=e.current,_=n.current;let a=null,S=null;if(j&&_){s.requireVscodeEditor();const m=t.current=z.editor.create(j,{value:"",language:"javascript"});S=new ResizeObserver(()=>{let C=requestIdleCallback(()=>{if(!C)return;const{height:A,width:F}=_.getBoundingClientRect();m.layout({width:F,height:A}),C=void 0})}),S.observe(_);let p;a=new c.DisposableCollection,a.add(s.setEditorInstance(m)),a.add(m.onDidFocusEditorWidget(()=>{p=r.forceEscape()})),a.add(m.onDidBlurEditorWidget(()=>{p==null||p.dispose(),p=void 0})),a.add(c.toDisposable(()=>p==null?void 0:p.dispose()))}return()=>{S&&_&&S.unobserve(_),a==null||a.dispose()}},[s,r]);const o=ae(t);return g.jsxs("div",{className:E.scriptEditorPanel,children:[g.jsx("div",{className:E.scriptEditorContent,ref:n,children:g.jsx("div",{className:E.scriptEditorContainer,ref:e})}),g.jsx("div",{className:E.scriptEditorActions,children:g.jsx(O.Button,{type:"primary",size:"small",onClick:o,children:i.t("script-panel.panel.execute")})})]})}function ae(n){const e=v.useDependency(U),t=v.useDependency(u.IMessageService),i=v.useDependency(c.LocaleService);return d.useCallback(()=>{var s;const r=(s=n.current)==null?void 0:s.getModel();r&&e.execute(r.getValue()).then(()=>{t.show({content:i.t("uniscript.message.success"),type:O.MessageType.Success})}).catch(()=>{t.show({content:i.t("uniscript.message.failed"),type:O.MessageType.Error})})},[i,t,n,e])}function pe(n){return{id:N.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 ue=Object.defineProperty,de=Object.getOwnPropertyDescriptor,ve=(n,e,t,i)=>{for(var r=i>1?void 0:i?de(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=(i?o(e,t,r):o(r))||r);return i&&r&&ue(e,t,r),r},x=(n,e)=>(t,i)=>e(t,i,n);const _e={};let h=class extends c.Disposable{constructor(n,e,t,i,r){super(),this._config=n,this._injector=e,this._menuService=t;const{menu:s={}}=this._config;this.disposeWithMe(t.addMenuItem(this._injector.invoke(pe),s)),this.disposeWithMe(r.register(T,le)),this.disposeWithMe(i.registerCommand(N))}};h=ve([c.OnLifecycle(c.LifecycleStages.Steady,h),x(1,l.Inject(l.Injector)),x(2,u.IMenuService),x(3,c.ICommandService),x(4,l.Inject(u.ComponentManager))],h);var fe=Object.defineProperty,ge=Object.getOwnPropertyDescriptor,he=(n,e,t,i)=>{for(var r=i>1?void 0:i?ge(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(r=(i?o(e,t,r):o(r))||r);return i&&r&&fe(e,t,r),r},w=(n,e)=>(t,i)=>e(t,i,n);const Se="uniscript";var P;exports.UniverUniscriptPlugin=(P=class extends c.Plugin{constructor(e={},t,i){super(),this._config=e,this._injector=t,this._localeService=i,this._config=c.Tools.deepMerge({},_e,this._config)}onStarting(e){[[h,{useFactory:()=>e.createInstance(h,this._config)}],[y,{useFactory:()=>e.createInstance(y,this._config)}],[M]].forEach(i=>e.add(i)),this.registerExecution(),this._localeService.load({zhCN:R})}registerExecution(){this._injector.add([U,{useClass:b}])}},f(P,"pluginName",Se),P);exports.UniverUniscriptPlugin=he([w(1,l.Inject(l.Injector)),w(2,l.Inject(c.LocaleService))],exports.UniverUniscriptPlugin);exports.IUniscriptExecutionService=U;exports.ScriptEditorService=y;exports.enUS=G;exports.ruRU=K;exports.zhCN=R;
9
+ */var H=d,G=Symbol.for("react.element"),J=Symbol.for("react.fragment"),Y=Object.prototype.hasOwnProperty,K=H.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Q={key:!0,ref:!0,__self:!0,__source:!0};function W(r,e,t){var n,i={},s=null,c=null;t!==void 0&&(s=""+t),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(c=e.ref);for(n in e)Y.call(e,n)&&!Q.hasOwnProperty(n)&&(i[n]=e[n]);if(r&&r.defaultProps)for(n in e=r.defaultProps,e)i[n]===void 0&&(i[n]=e[n]);return{$$typeof:G,type:r,key:s,ref:c,props:i,_owner:K.current}}b.Fragment=J;b.jsx=W;b.jsxs=W;N.exports=b;var g=N.exports;class I extends o.Disposable{constructor(t){super();f(this,"_editorInstance",null);this._config=t}setEditorInstance(t){return this._editorInstance=t,o.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var X=Object.defineProperty,Z=Object.getOwnPropertyDescriptor,ee=(r,e,t,n)=>{for(var i=n>1?void 0:n?Z(e,t):e,s=r.length-1,c;s>=0;s--)(c=r[s])&&(i=(n?c(e,t,i):c(i))||i);return n&&i&&X(e,t,i),i},$=(r,e)=>(t,n)=>e(t,n,r);const C=l.createIdentifier("univer.uniscript.execution-service");let j=class extends o.Disposable{constructor(r,e){super(),this._logService=r,this._injector=e}async execute(r){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=k.FUniver.newAPI(this._injector),t=new Function("univerAPI",`(() => {${r}})()`);try{return t(e),!0}catch(n){return this._logService.error(n),!1}}};j=ee([$(0,o.ILogService),$(1,l.Inject(l.Injector))],j);const te="univer-script-editor-panel",re="univer-script-editor-content",ne="univer-script-editor-actions",P={scriptEditorPanel:te,scriptEditorContent:re,scriptEditorActions:ne};function ie(){const r=d.useRef(null),e=d.useRef(null),t=d.useRef(null),n=v.useDependency(o.LocaleService),i=v.useDependency(u.IShortcutService),s=v.useDependency(I);d.useEffect(()=>{const U=e.current,_=r.current;let a=null,E=null;if(U&&_){s.requireVscodeEditor();const m=t.current=V.editor.create(U,{value:"",language:"javascript"});E=new ResizeObserver(()=>{let w=requestIdleCallback(()=>{if(!w)return;const{height:L,width:A}=_.getBoundingClientRect();m.layout({width:A,height:L}),w=void 0})}),E.observe(_);let p;a=new o.DisposableCollection,a.add(s.setEditorInstance(m)),a.add(m.onDidFocusEditorWidget(()=>{p=i.forceEscape()})),a.add(m.onDidBlurEditorWidget(()=>{p==null||p.dispose(),p=void 0})),a.add(o.toDisposable(()=>p==null?void 0:p.dispose()))}return()=>{E&&_&&E.unobserve(_),a==null||a.dispose()}},[s,i]);const c=se(t);return g.jsxs("div",{className:P.scriptEditorPanel,children:[g.jsx("div",{className:P.scriptEditorContent,ref:r,children:g.jsx("div",{className:P.scriptEditorContainer,ref:e})}),g.jsx("div",{className:P.scriptEditorActions,children:g.jsx(O.Button,{type:"primary",size:"small",onClick:c,children:n.t("script-panel.panel.execute")})})]})}function se(r){const e=v.useDependency(C),t=v.useDependency(u.IMessageService),n=v.useDependency(o.LocaleService);return d.useCallback(()=>{var s;const i=(s=r.current)==null?void 0:s.getModel();i&&e.execute(i.getValue()).then(()=>{t.show({content:n.t("uniscript.message.success"),type:O.MessageType.Success})}).catch(()=>{t.show({content:n.t("uniscript.message.failed"),type:O.MessageType.Error})})},[n,t,r,e])}function oe(r){return{id:q.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(r,o.UniverInstanceType.UNIVER_SHEET),disabled$:z.getCurrentRangeDisable$(r,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission,h.WorksheetSetCellValuePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}var ce=Object.defineProperty,le=Object.getOwnPropertyDescriptor,ae=(r,e,t,n)=>{for(var i=n>1?void 0:n?le(e,t):e,s=r.length-1,c;s>=0;s--)(c=r[s])&&(i=(n?c(e,t,i):c(i))||i);return n&&i&&ce(e,t,i),i},y=(r,e)=>(t,n)=>e(t,n,r);const pe={};let S=class extends o.Disposable{constructor(r,e,t,n,i){super(),this._config=r,this._injector=e,this._menuService=t;const{menu:s={}}=this._config;this.disposeWithMe(t.addMenuItem(this._injector.invoke(oe),s)),this.disposeWithMe(i.register(M,ie)),this.disposeWithMe(n.registerCommand(q))}};S=ae([o.OnLifecycle(o.LifecycleStages.Steady,S),y(1,l.Inject(l.Injector)),y(2,u.IMenuService),y(3,o.ICommandService),y(4,l.Inject(u.ComponentManager))],S);var ue=Object.defineProperty,de=Object.getOwnPropertyDescriptor,ve=(r,e,t,n)=>{for(var i=n>1?void 0:n?de(e,t):e,s=r.length-1,c;s>=0;s--)(c=r[s])&&(i=(n?c(e,t,i):c(i))||i);return n&&i&&ue(e,t,i),i},R=(r,e)=>(t,n)=>e(t,n,r);const _e="uniscript";var x;exports.UniverUniscriptPlugin=(x=class extends o.Plugin{constructor(e={},t,n){super(),this._config=e,this._injector=t,this._localeService=n,this._config=o.Tools.deepMerge({},pe,this._config)}onStarting(e){[[S,{useFactory:()=>e.createInstance(S,this._config)}],[I,{useFactory:()=>e.createInstance(I,this._config)}],[T]].forEach(n=>e.add(n)),this.registerExecution()}registerExecution(){this._injector.add([C,{useClass:j}])}},f(x,"pluginName",_e),x);exports.UniverUniscriptPlugin=ve([R(1,l.Inject(l.Injector)),R(2,l.Inject(o.LocaleService))],exports.UniverUniscriptPlugin);exports.IUniscriptExecutionService=C;exports.ScriptEditorService=I;
package/lib/es/index.js CHANGED
@@ -1,65 +1,18 @@
1
- var q = Object.defineProperty;
2
- var V = (t, e, r) => e in t ? q(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
- var u = (t, e, r) => (V(t, typeof e != "symbol" ? e + "" : e, r), r);
4
- import { Disposable as S, CommandType as z, toDisposable as M, ILogService as H, LocaleService as y, DisposableCollection as G, UniverInstanceType as J, OnLifecycle as Y, LifecycleStages as K, ICommandService as Q, Plugin as X, Tools as Z } from "@univerjs/core";
5
- import { createIdentifier as k, Inject as f, Injector as b } from "@wendellhu/redi";
6
- import { ISidebarService as ee, IShortcutService as te, IMessageService as re, MenuItemType as ie, MenuPosition as ne, getMenuHiddenObservable as se, ComponentManager as oe, IMenuService as ce } from "@univerjs/ui";
1
+ var V = Object.defineProperty;
2
+ var q = (t, e, r) => e in t ? V(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
+ var u = (t, e, r) => (q(t, typeof e != "symbol" ? e + "" : e, r), r);
4
+ import { Disposable as S, CommandType as k, toDisposable as U, ILogService as z, LocaleService as I, DisposableCollection as H, UniverInstanceType as G, OnLifecycle as J, LifecycleStages as Y, ICommandService as K, Plugin as Q, Tools as X } from "@univerjs/core";
5
+ import { createIdentifier as Z, Inject as f, Injector as b } from "@wendellhu/redi";
6
+ import { ISidebarService as ee, IShortcutService as te, IMessageService as re, MenuItemType as ie, MenuPosition as ne, getMenuHiddenObservable as oe, ComponentManager as se, IMenuService as ce } from "@univerjs/ui";
7
7
  import { BehaviorSubject as le, distinctUntilChanged as pe } from "rxjs";
8
- import ae, { useRef as x, useEffect as ue, useCallback as de } from "react";
9
- import { Button as ve, MessageType as $ } from "@univerjs/design";
8
+ import ae, { useRef as P, useEffect as ue, useCallback as de } from "react";
9
+ import { Button as ve, MessageType as j } from "@univerjs/design";
10
10
  import { useDependency as p } from "@wendellhu/redi/react-bindings";
11
11
  import { editor as fe } from "monaco-editor";
12
12
  import { FUniver as _e } from "@univerjs/facade";
13
- const he = {
14
- "script-panel": {
15
- title: "Uniscript",
16
- tooltip: {
17
- "menu-button": "Toggle Uniscript Panel"
18
- },
19
- panel: {
20
- execute: "Execute Script"
21
- }
22
- },
23
- uniscript: {
24
- message: {
25
- success: "Execution Success",
26
- failed: "Execution Failed"
27
- }
28
- }
29
- }, ke = he, me = {
30
- "script-panel": {
31
- title: "Uniscript",
32
- tooltip: {
33
- "menu-button": "打开收起 Uniscript 面板"
34
- },
35
- panel: {
36
- execute: "执行 Uniscript"
37
- }
38
- },
39
- uniscript: {
40
- message: {
41
- success: "执行成功",
42
- failed: "执行失败"
43
- }
44
- }
45
- }, ge = me, Se = {
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
- }, et = Se;
62
- class T extends S {
13
+ import { getCurrentRangeDisable$ as me } from "@univerjs/sheets-ui";
14
+ import { WorkbookEditablePermission as he, WorksheetEditPermission as ge, WorksheetSetCellStylePermission as Se, WorksheetSetCellValuePermission as Ee, RangeProtectionPermissionEditPoint as Pe } from "@univerjs/sheets";
15
+ class M extends S {
63
16
  constructor() {
64
17
  super(...arguments);
65
18
  u(this, "_open$", new le(!1));
@@ -79,10 +32,10 @@ class T extends S {
79
32
  }
80
33
  }
81
34
  const D = "ScriptPanel", N = {
82
- type: z.OPERATION,
35
+ type: k.OPERATION,
83
36
  id: "univer.operation.toggle-script-panel",
84
37
  handler: (t) => {
85
- const e = t.get(T), r = t.get(ee);
38
+ const e = t.get(M), r = t.get(ee);
86
39
  return e.isOpen ? (e.close(), r.close()) : (e.open(), r.open({
87
40
  header: { title: "script-panel.title" },
88
41
  children: { label: D },
@@ -90,7 +43,7 @@ const D = "ScriptPanel", N = {
90
43
  })), !0;
91
44
  }
92
45
  };
93
- var A = { exports: {} }, E = {};
46
+ var W = { exports: {} }, E = {};
94
47
  /**
95
48
  * @license React
96
49
  * react-jsx-runtime.production.min.js
@@ -100,30 +53,30 @@ var A = { exports: {} }, E = {};
100
53
  * This source code is licensed under the MIT license found in the
101
54
  * LICENSE file in the root directory of this source tree.
102
55
  */
103
- var Ee = ae, xe = Symbol.for("react.element"), Pe = Symbol.for("react.fragment"), Oe = Object.prototype.hasOwnProperty, Ie = Ee.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, ye = { key: !0, ref: !0, __self: !0, __source: !0 };
104
- function F(t, e, r) {
105
- var i, n = {}, s = null, o = null;
106
- r !== void 0 && (s = "" + r), e.key !== void 0 && (s = "" + e.key), e.ref !== void 0 && (o = e.ref);
56
+ var ye = ae, xe = Symbol.for("react.element"), Oe = Symbol.for("react.fragment"), Ie = Object.prototype.hasOwnProperty, be = ye.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, Ce = { key: !0, ref: !0, __self: !0, __source: !0 };
57
+ function A(t, e, r) {
58
+ var i, n = {}, o = null, s = null;
59
+ r !== void 0 && (o = "" + r), e.key !== void 0 && (o = "" + e.key), e.ref !== void 0 && (s = e.ref);
107
60
  for (i in e)
108
- Oe.call(e, i) && !ye.hasOwnProperty(i) && (n[i] = e[i]);
61
+ Ie.call(e, i) && !Ce.hasOwnProperty(i) && (n[i] = e[i]);
109
62
  if (t && t.defaultProps)
110
63
  for (i in e = t.defaultProps, e)
111
64
  n[i] === void 0 && (n[i] = e[i]);
112
- return { $$typeof: xe, type: t, key: s, ref: o, props: n, _owner: Ie.current };
65
+ return { $$typeof: xe, type: t, key: o, ref: s, props: n, _owner: be.current };
113
66
  }
114
- E.Fragment = Pe;
115
- E.jsx = F;
116
- E.jsxs = F;
117
- A.exports = E;
118
- var d = A.exports;
119
- class O extends S {
67
+ E.Fragment = Oe;
68
+ E.jsx = A;
69
+ E.jsxs = A;
70
+ W.exports = E;
71
+ var d = W.exports;
72
+ class x extends S {
120
73
  constructor(r) {
121
74
  super();
122
75
  u(this, "_editorInstance", null);
123
76
  this._config = r;
124
77
  }
125
78
  setEditorInstance(r) {
126
- return this._editorInstance = r, M(() => this._editorInstance = null);
79
+ return this._editorInstance = r, U(() => this._editorInstance = null);
127
80
  }
128
81
  getEditorInstance() {
129
82
  return this._editorInstance;
@@ -134,13 +87,13 @@ class O extends S {
134
87
  });
135
88
  }
136
89
  }
137
- var be = Object.defineProperty, Ce = Object.getOwnPropertyDescriptor, Ue = (t, e, r, i) => {
138
- for (var n = i > 1 ? void 0 : i ? Ce(e, r) : e, s = t.length - 1, o; s >= 0; s--)
139
- (o = t[s]) && (n = (i ? o(e, r, n) : o(n)) || n);
140
- return i && n && be(e, r, n), n;
141
- }, j = (t, e) => (r, i) => e(r, i, t);
142
- const L = k("univer.uniscript.execution-service");
143
- let I = class extends S {
90
+ var we = Object.defineProperty, je = Object.getOwnPropertyDescriptor, $e = (t, e, r, i) => {
91
+ for (var n = i > 1 ? void 0 : i ? je(e, r) : e, o = t.length - 1, s; o >= 0; o--)
92
+ (s = t[o]) && (n = (i ? s(e, r, n) : s(n)) || n);
93
+ return i && n && we(e, r, n), n;
94
+ }, $ = (t, e) => (r, i) => e(r, i, t);
95
+ const F = Z("univer.uniscript.execution-service");
96
+ let O = class extends S {
144
97
  constructor(t, e) {
145
98
  super(), this._logService = t, this._injector = e;
146
99
  }
@@ -154,74 +107,74 @@ let I = class extends S {
154
107
  }
155
108
  }
156
109
  };
157
- I = Ue([
158
- j(0, H),
159
- j(1, f(b))
160
- ], I);
161
- const $e = "univer-script-editor-panel", je = "univer-script-editor-content", we = "univer-script-editor-actions", m = {
162
- scriptEditorPanel: $e,
163
- scriptEditorContent: je,
164
- scriptEditorActions: we
110
+ O = $e([
111
+ $(0, z),
112
+ $(1, f(b))
113
+ ], O);
114
+ const Re = "univer-script-editor-panel", Te = "univer-script-editor-content", Ue = "univer-script-editor-actions", h = {
115
+ scriptEditorPanel: Re,
116
+ scriptEditorContent: Te,
117
+ scriptEditorActions: Ue
165
118
  };
166
- function Re() {
167
- const t = x(null), e = x(null), r = x(null), i = p(y), n = p(te), s = p(O);
119
+ function Me() {
120
+ const t = P(null), e = P(null), r = P(null), i = p(I), n = p(te), o = p(x);
168
121
  ue(() => {
169
122
  const C = e.current, a = t.current;
170
123
  let c = null, _ = null;
171
124
  if (C && a) {
172
- s.requireVscodeEditor();
173
- const h = r.current = fe.create(C, {
125
+ o.requireVscodeEditor();
126
+ const m = r.current = fe.create(C, {
174
127
  value: "",
175
128
  language: "javascript"
176
129
  });
177
130
  _ = new ResizeObserver(() => {
178
- let U = requestIdleCallback(() => {
179
- if (!U)
131
+ let w = requestIdleCallback(() => {
132
+ if (!w)
180
133
  return;
181
- const { height: W, width: B } = a.getBoundingClientRect();
182
- h.layout({ width: B, height: W }), U = void 0;
134
+ const { height: L, width: B } = a.getBoundingClientRect();
135
+ m.layout({ width: B, height: L }), w = void 0;
183
136
  });
184
137
  }), _.observe(a);
185
138
  let l;
186
- c = new G(), c.add(s.setEditorInstance(h)), c.add(
187
- h.onDidFocusEditorWidget(() => {
139
+ c = new H(), c.add(o.setEditorInstance(m)), c.add(
140
+ m.onDidFocusEditorWidget(() => {
188
141
  l = n.forceEscape();
189
142
  })
190
143
  ), c.add(
191
- h.onDidBlurEditorWidget(() => {
144
+ m.onDidBlurEditorWidget(() => {
192
145
  l == null || l.dispose(), l = void 0;
193
146
  })
194
- ), c.add(M(() => l == null ? void 0 : l.dispose()));
147
+ ), c.add(U(() => l == null ? void 0 : l.dispose()));
195
148
  }
196
149
  return () => {
197
150
  _ && a && _.unobserve(a), c == null || c.dispose();
198
151
  };
199
- }, [s, n]);
200
- const o = Me(r);
201
- return /* @__PURE__ */ d.jsxs("div", { className: m.scriptEditorPanel, children: [
202
- /* @__PURE__ */ d.jsx("div", { className: m.scriptEditorContent, ref: t, children: /* @__PURE__ */ d.jsx("div", { className: m.scriptEditorContainer, ref: e }) }),
203
- /* @__PURE__ */ d.jsx("div", { className: m.scriptEditorActions, children: /* @__PURE__ */ d.jsx(ve, { type: "primary", size: "small", onClick: o, children: i.t("script-panel.panel.execute") }) })
152
+ }, [o, n]);
153
+ const s = De(r);
154
+ return /* @__PURE__ */ d.jsxs("div", { className: h.scriptEditorPanel, children: [
155
+ /* @__PURE__ */ d.jsx("div", { className: h.scriptEditorContent, ref: t, children: /* @__PURE__ */ d.jsx("div", { className: h.scriptEditorContainer, ref: e }) }),
156
+ /* @__PURE__ */ d.jsx("div", { className: h.scriptEditorActions, children: /* @__PURE__ */ d.jsx(ve, { type: "primary", size: "small", onClick: s, children: i.t("script-panel.panel.execute") }) })
204
157
  ] });
205
158
  }
206
- function Me(t) {
207
- const e = p(L), r = p(re), i = p(y);
159
+ function De(t) {
160
+ const e = p(F), r = p(re), i = p(I);
208
161
  return de(() => {
209
- var s;
210
- const n = (s = t.current) == null ? void 0 : s.getModel();
162
+ var o;
163
+ const n = (o = t.current) == null ? void 0 : o.getModel();
211
164
  n && e.execute(n.getValue()).then(() => {
212
165
  r.show({
213
166
  content: i.t("uniscript.message.success"),
214
- type: $.Success
167
+ type: j.Success
215
168
  });
216
169
  }).catch(() => {
217
170
  r.show({
218
171
  content: i.t("uniscript.message.failed"),
219
- type: $.Error
172
+ type: j.Error
220
173
  });
221
174
  });
222
175
  }, [i, r, t, e]);
223
176
  }
224
- function Te(t) {
177
+ function Ne(t) {
225
178
  return {
226
179
  id: N.id,
227
180
  title: "toggle-script-panel",
@@ -230,66 +183,63 @@ function Te(t) {
230
183
  type: ie.BUTTON,
231
184
  positions: [ne.TOOLBAR_START],
232
185
  // FIXME hidden$ and disabled$ are not correctly in doc
233
- hidden$: se(t, J.UNIVER_SHEET)
234
- // disabled$: getCurrentSheetDisabled$(accessor),
186
+ hidden$: oe(t, G.UNIVER_SHEET),
187
+ disabled$: me(t, { workbookTypes: [he], worksheetTypes: [ge, Se, Ee], rangeTypes: [Pe] })
235
188
  };
236
189
  }
237
- var De = Object.defineProperty, Ne = Object.getOwnPropertyDescriptor, Ae = (t, e, r, i) => {
238
- for (var n = i > 1 ? void 0 : i ? Ne(e, r) : e, s = t.length - 1, o; s >= 0; s--)
239
- (o = t[s]) && (n = (i ? o(e, r, n) : o(n)) || n);
240
- return i && n && De(e, r, n), n;
190
+ var We = Object.defineProperty, Ae = Object.getOwnPropertyDescriptor, Fe = (t, e, r, i) => {
191
+ for (var n = i > 1 ? void 0 : i ? Ae(e, r) : e, o = t.length - 1, s; o >= 0; o--)
192
+ (s = t[o]) && (n = (i ? s(e, r, n) : s(n)) || n);
193
+ return i && n && We(e, r, n), n;
241
194
  }, g = (t, e) => (r, i) => e(r, i, t);
242
- const Fe = {};
195
+ const Le = {};
243
196
  let v = class extends S {
244
197
  constructor(t, e, r, i, n) {
245
198
  super(), this._config = t, this._injector = e, this._menuService = r;
246
- const { menu: s = {} } = this._config;
247
- this.disposeWithMe(r.addMenuItem(this._injector.invoke(Te), s)), this.disposeWithMe(n.register(D, Re)), this.disposeWithMe(i.registerCommand(N));
199
+ const { menu: o = {} } = this._config;
200
+ this.disposeWithMe(r.addMenuItem(this._injector.invoke(Ne), o)), this.disposeWithMe(n.register(D, Me)), this.disposeWithMe(i.registerCommand(N));
248
201
  }
249
202
  };
250
- v = Ae([
251
- Y(K.Steady, v),
203
+ v = Fe([
204
+ J(Y.Steady, v),
252
205
  g(1, f(b)),
253
206
  g(2, ce),
254
- g(3, Q),
255
- g(4, f(oe))
207
+ g(3, K),
208
+ g(4, f(se))
256
209
  ], v);
257
- var Le = Object.defineProperty, We = Object.getOwnPropertyDescriptor, Be = (t, e, r, i) => {
258
- for (var n = i > 1 ? void 0 : i ? We(e, r) : e, s = t.length - 1, o; s >= 0; s--)
259
- (o = t[s]) && (n = (i ? o(e, r, n) : o(n)) || n);
260
- return i && n && Le(e, r, n), n;
261
- }, w = (t, e) => (r, i) => e(r, i, t);
262
- const qe = "uniscript";
263
- var P;
264
- let R = (P = class extends X {
210
+ var Be = Object.defineProperty, Ve = Object.getOwnPropertyDescriptor, qe = (t, e, r, i) => {
211
+ for (var n = i > 1 ? void 0 : i ? Ve(e, r) : e, o = t.length - 1, s; o >= 0; o--)
212
+ (s = t[o]) && (n = (i ? s(e, r, n) : s(n)) || n);
213
+ return i && n && Be(e, r, n), n;
214
+ }, R = (t, e) => (r, i) => e(r, i, t);
215
+ const ke = "uniscript";
216
+ var y;
217
+ let T = (y = class extends Q {
265
218
  constructor(t = {}, e, r) {
266
- super(), this._config = t, this._injector = e, this._localeService = r, this._config = Z.deepMerge({}, Fe, this._config);
219
+ super(), this._config = t, this._injector = e, this._localeService = r, this._config = X.deepMerge({}, Le, this._config);
267
220
  }
268
221
  onStarting(t) {
269
222
  [
270
223
  // controllers
271
224
  [v, { useFactory: () => t.createInstance(v, this._config) }],
272
225
  // services
273
- [O, { useFactory: () => t.createInstance(O, this._config) }],
274
- [T]
275
- ].forEach((r) => t.add(r)), this.registerExecution(), this._localeService.load({ zhCN: ge });
226
+ [x, { useFactory: () => t.createInstance(x, this._config) }],
227
+ [M]
228
+ ].forEach((r) => t.add(r)), this.registerExecution();
276
229
  }
277
230
  /**
278
231
  * Allows being overridden, replacing with a new UniscriptExecutionService.
279
232
  */
280
233
  registerExecution() {
281
- this._injector.add([L, { useClass: I }]);
234
+ this._injector.add([F, { useClass: O }]);
282
235
  }
283
- }, u(P, "pluginName", qe), P);
284
- R = Be([
285
- w(1, f(b)),
286
- w(2, f(y))
287
- ], R);
236
+ }, u(y, "pluginName", ke), y);
237
+ T = qe([
238
+ R(1, f(b)),
239
+ R(2, f(I))
240
+ ], T);
288
241
  export {
289
- L as IUniscriptExecutionService,
290
- O as ScriptEditorService,
291
- R as UniverUniscriptPlugin,
292
- ke as enUS,
293
- et as ruRU,
294
- ge as zhCN
242
+ F as IUniscriptExecutionService,
243
+ x as ScriptEditorService,
244
+ T as UniverUniscriptPlugin
295
245
  };
@@ -0,0 +1,17 @@
1
+ {
2
+ "script-panel": {
3
+ "title": "Uniscript",
4
+ "tooltip": {
5
+ "menu-button": "Toggle Uniscript Panel"
6
+ },
7
+ "panel": {
8
+ "execute": "Execute Script"
9
+ }
10
+ },
11
+ "uniscript": {
12
+ "message": {
13
+ "success": "Execution Success",
14
+ "failed": "Execution Failed"
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "script-panel": {
3
+ "title": "Юнискрипт",
4
+ "tooltip": {
5
+ "menu-button": "Переключить панель Юнискрипт"
6
+ },
7
+ "panel": {
8
+ "execute": "Выполнить скрипт"
9
+ }
10
+ },
11
+ "uniscript": {
12
+ "message": {
13
+ "success": "Выполнение успешно",
14
+ "failed": "Выполнение не удалось"
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "script-panel": {
3
+ "title": "Uniscript",
4
+ "tooltip": {
5
+ "menu-button": "打开收起 Uniscript 面板"
6
+ },
7
+ "panel": {
8
+ "execute": "执行 Uniscript"
9
+ }
10
+ },
11
+ "uniscript": {
12
+ "message": {
13
+ "success": "执行成功",
14
+ "failed": "执行失败"
15
+ }
16
+ }
17
+ }
@@ -13,7 +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, ruRU } from './locale';
17
16
  export { UniverUniscriptPlugin } from './plugin';
18
17
  export { ScriptEditorService } from './services/script-editor.service';
19
18
  export { IUniscriptExecutionService } from './services/script-execution.service';
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,u,w,v,U,f,q,W){"use strict";var de=Object.defineProperty;var ve=(c,s,p)=>s in c?de(c,s,{enumerable:!0,configurable:!0,writable:!0,value:p}):c[s]=p;var S=(c,s,p)=>(ve(c,typeof s!="symbol"?s+"":s,p),p);var b;const z={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Toggle Uniscript Panel"},panel:{execute:"Execute Script"}},uniscript:{message:{success:"Execution Success",failed:"Execution Failed"}}},C={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"打开收起 Uniscript 面板"},panel:{execute:"执行 Uniscript"}},uniscript:{message:{success:"执行成功",failed:"执行失败"}}},V={"script-panel":{title:"Юнискрипт",tooltip:{"menu-button":"Переключить панель Юнискрипт"},panel:{execute:"Выполнить скрипт"}},uniscript:{message:{success:"Выполнение успешно",failed:"Выполнение не удалось"}}};class D 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(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const R="ScriptPanel",T={type:s.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:i=>{const e=i.get(D),n=i.get(u.ISidebarService);return e.isOpen?(e.close(),n.close()):(e.open(),n.open({header:{title:"script-panel.title"},children:{label:R},width:600})),!0}};var M={exports:{}},m={};/**
1
+ (function(o,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"),require("@univerjs/sheets-ui"),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/facade","@univerjs/sheets-ui","@univerjs/sheets"],s):(o=typeof globalThis<"u"?globalThis:o||self,s(o.UniverUniscript={},o.UniverCore,o["@wendellhu/redi"],o.UniverUi,o.rxjs,o.React,o.UniverDesign,o["@wendellhu/redi/react-bindings"],o.monaco,o.UniverFacade,o.UniverSheetsUi,o.UniverSheets))})(this,function(o,s,p,l,b,v,x,f,q,F,V,h){"use strict";var ae=Object.defineProperty;var de=(o,s,p)=>s in o?ae(o,s,{enumerable:!0,configurable:!0,writable:!0,value:p}):o[s]=p;var m=(o,s,p)=>(de(o,typeof s!="symbol"?s+"":s,p),p);var C;class D extends s.Disposable{constructor(){super(...arguments);m(this,"_open$",new b.BehaviorSubject(!1));m(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 T="ScriptPanel",R={type:s.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:i=>{const e=i.get(D),n=i.get(l.ISidebarService);return e.isOpen?(e.close(),n.close()):(e.open(),n.open({header:{title:"script-panel.title"},children:{label:T},width:600})),!0}};var M={exports:{}},E={};/**
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 B=v,H=Symbol.for("react.element"),G=Symbol.for("react.fragment"),J=Object.prototype.hasOwnProperty,Y=B.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,K={key:!0,ref:!0,__self:!0,__source:!0};function $(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)J.call(e,t)&&!K.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:H,type:i,key:o,ref:l,props:r,_owner:Y.current}}m.Fragment=G,m.jsx=$,m.jsxs=$,M.exports=m;var h=M.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 Q=Object.defineProperty,X=Object.getOwnPropertyDescriptor,Z=(i,e,n,t)=>{for(var r=t>1?void 0:t?X(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&&Q(e,n,r),r},N=(i,e)=>(n,t)=>e(n,t,i);const x=p.createIdentifier("univer.uniscript.execution-service");let O=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=W.FUniver.newAPI(this._injector),n=new Function("univerAPI",`(() => {${i}})()`);try{return n(e),!0}catch(t){return this._logService.error(t),!1}}};O=Z([N(0,s.ILogService),N(1,p.Inject(p.Injector))],O);const j={scriptEditorPanel:"univer-script-editor-panel",scriptEditorContent:"univer-script-editor-content",scriptEditorActions:"univer-script-editor-actions"};function k(){const i=v.useRef(null),e=v.useRef(null),n=v.useRef(null),t=f.useDependency(s.LocaleService),r=f.useDependency(u.IShortcutService),o=f.useDependency(E);v.useEffect(()=>{const F=e.current,g=i.current;let a=null,P=null;if(F&&g){o.requireVscodeEditor();const I=n.current=q.editor.create(F,{value:"",language:"javascript"});P=new ResizeObserver(()=>{let L=requestIdleCallback(()=>{if(!L)return;const{height:ue,width:ae}=g.getBoundingClientRect();I.layout({width:ae,height:ue}),L=void 0})}),P.observe(g);let d;a=new s.DisposableCollection,a.add(o.setEditorInstance(I)),a.add(I.onDidFocusEditorWidget(()=>{d=r.forceEscape()})),a.add(I.onDidBlurEditorWidget(()=>{d==null||d.dispose(),d=void 0})),a.add(s.toDisposable(()=>d==null?void 0:d.dispose()))}return()=>{P&&g&&P.unobserve(g),a==null||a.dispose()}},[o,r]);const l=ee(n);return h.jsxs("div",{className:j.scriptEditorPanel,children:[h.jsx("div",{className:j.scriptEditorContent,ref:i,children:h.jsx("div",{className:j.scriptEditorContainer,ref:e})}),h.jsx("div",{className:j.scriptEditorActions,children:h.jsx(U.Button,{type:"primary",size:"small",onClick:l,children:t.t("script-panel.panel.execute")})})]})}function ee(i){const e=f.useDependency(x),n=f.useDependency(u.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:U.MessageType.Success})}).catch(()=>{n.show({content:t.t("uniscript.message.failed"),type:U.MessageType.Error})})},[t,n,i,e])}function te(i){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(i,s.UniverInstanceType.UNIVER_SHEET)}}var ne=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,re=(i,e,n,t)=>{for(var r=t>1?void 0:t?ie(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&&ne(e,n,r),r},y=(i,e)=>(n,t)=>e(n,t,i);const se={};let _=class extends s.Disposable{constructor(i,e,n,t,r){super(),this._config=i,this._injector=e,this._menuService=n;const{menu:o={}}=this._config;this.disposeWithMe(n.addMenuItem(this._injector.invoke(te),o)),this.disposeWithMe(r.register(R,k)),this.disposeWithMe(t.registerCommand(T))}};_=re([s.OnLifecycle(s.LifecycleStages.Steady,_),y(1,p.Inject(p.Injector)),y(2,u.IMenuService),y(3,s.ICommandService),y(4,p.Inject(u.ComponentManager))],_);var ce=Object.defineProperty,oe=Object.getOwnPropertyDescriptor,le=(i,e,n,t)=>{for(var r=t>1?void 0:t?oe(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&&ce(e,n,r),r},A=(i,e)=>(n,t)=>e(n,t,i);const pe="uniscript";c.UniverUniscriptPlugin=(b=class extends s.Plugin{constructor(e={},n,t){super(),this._config=e,this._injector=n,this._localeService=t,this._config=s.Tools.deepMerge({},se,this._config)}onStarting(e){[[_,{useFactory:()=>e.createInstance(_,this._config)}],[E,{useFactory:()=>e.createInstance(E,this._config)}],[D]].forEach(t=>e.add(t)),this.registerExecution(),this._localeService.load({zhCN:C})}registerExecution(){this._injector.add([x,{useClass:O}])}},S(b,"pluginName",pe),b),c.UniverUniscriptPlugin=le([A(1,p.Inject(p.Injector)),A(2,p.Inject(s.LocaleService))],c.UniverUniscriptPlugin),c.IUniscriptExecutionService=x,c.ScriptEditorService=E,c.enUS=z,c.ruRU=V,c.zhCN=C,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
9
+ */var k=v,z=Symbol.for("react.element"),B=Symbol.for("react.fragment"),H=Object.prototype.hasOwnProperty,G=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,J={key:!0,ref:!0,__self:!0,__source:!0};function N(i,e,n){var t,r={},c=null,u=null;n!==void 0&&(c=""+n),e.key!==void 0&&(c=""+e.key),e.ref!==void 0&&(u=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:z,type:i,key:c,ref:u,props:r,_owner:G.current}}E.Fragment=B,E.jsx=N,E.jsxs=N,M.exports=E;var _=M.exports;class P extends s.Disposable{constructor(n){super();m(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,c=i.length-1,u;c>=0;c--)(u=i[c])&&(r=(t?u(e,n,r):u(r))||r);return t&&r&&Y(e,n,r),r},$=(i,e)=>(n,t)=>e(n,t,i);const O=p.createIdentifier("univer.uniscript.execution-service");let w=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=F.FUniver.newAPI(this._injector),n=new Function("univerAPI",`(() => {${i}})()`);try{return n(e),!0}catch(t){return this._logService.error(t),!1}}};w=Q([$(0,s.ILogService),$(1,p.Inject(p.Injector))],w);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(l.IShortcutService),c=f.useDependency(P);v.useEffect(()=>{const A=e.current,g=i.current;let a=null,I=null;if(A&&g){c.requireVscodeEditor();const U=n.current=q.editor.create(A,{value:"",language:"javascript"});I=new ResizeObserver(()=>{let L=requestIdleCallback(()=>{if(!L)return;const{height:pe,width:le}=g.getBoundingClientRect();U.layout({width:le,height:pe}),L=void 0})}),I.observe(g);let d;a=new s.DisposableCollection,a.add(c.setEditorInstance(U)),a.add(U.onDidFocusEditorWidget(()=>{d=r.forceEscape()})),a.add(U.onDidBlurEditorWidget(()=>{d==null||d.dispose(),d=void 0})),a.add(s.toDisposable(()=>d==null?void 0:d.dispose()))}return()=>{I&&g&&I.unobserve(g),a==null||a.dispose()}},[c,r]);const u=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(x.Button,{type:"primary",size:"small",onClick:u,children:t.t("script-panel.panel.execute")})})]})}function Z(i){const e=f.useDependency(O),n=f.useDependency(l.IMessageService),t=f.useDependency(s.LocaleService);return v.useCallback(()=>{var c;const r=(c=i.current)==null?void 0:c.getModel();r&&e.execute(r.getValue()).then(()=>{n.show({content:t.t("uniscript.message.success"),type:x.MessageType.Success})}).catch(()=>{n.show({content:t.t("uniscript.message.failed"),type:x.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:l.MenuItemType.BUTTON,positions:[l.MenuPosition.TOOLBAR_START],hidden$:l.getMenuHiddenObservable(i,s.UniverInstanceType.UNIVER_SHEET),disabled$:V.getCurrentRangeDisable$(i,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission,h.WorksheetSetCellValuePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}var te=Object.defineProperty,ne=Object.getOwnPropertyDescriptor,ie=(i,e,n,t)=>{for(var r=t>1?void 0:t?ne(e,n):e,c=i.length-1,u;c>=0;c--)(u=i[c])&&(r=(t?u(e,n,r):u(r))||r);return t&&r&&te(e,n,r),r},y=(i,e)=>(n,t)=>e(n,t,i);const re={};let S=class extends s.Disposable{constructor(i,e,n,t,r){super(),this._config=i,this._injector=e,this._menuService=n;const{menu:c={}}=this._config;this.disposeWithMe(n.addMenuItem(this._injector.invoke(ee),c)),this.disposeWithMe(r.register(T,X)),this.disposeWithMe(t.registerCommand(R))}};S=ie([s.OnLifecycle(s.LifecycleStages.Steady,S),y(1,p.Inject(p.Injector)),y(2,l.IMenuService),y(3,s.ICommandService),y(4,p.Inject(l.ComponentManager))],S);var se=Object.defineProperty,oe=Object.getOwnPropertyDescriptor,ce=(i,e,n,t)=>{for(var r=t>1?void 0:t?oe(e,n):e,c=i.length-1,u;c>=0;c--)(u=i[c])&&(r=(t?u(e,n,r):u(r))||r);return t&&r&&se(e,n,r),r},W=(i,e)=>(n,t)=>e(n,t,i);const ue="uniscript";o.UniverUniscriptPlugin=(C=class extends s.Plugin{constructor(e={},n,t){super(),this._config=e,this._injector=n,this._localeService=t,this._config=s.Tools.deepMerge({},re,this._config)}onStarting(e){[[S,{useFactory:()=>e.createInstance(S,this._config)}],[P,{useFactory:()=>e.createInstance(P,this._config)}],[D]].forEach(t=>e.add(t)),this.registerExecution()}registerExecution(){this._injector.add([O,{useClass:w}])}},m(C,"pluginName",ue),C),o.UniverUniscriptPlugin=ce([W(1,p.Inject(p.Injector)),W(2,p.Inject(s.LocaleService))],o.UniverUniscriptPlugin),o.IUniscriptExecutionService=O,o.ScriptEditorService=P,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/uniscript",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "private": false,
5
5
  "description": "UI component library for building exceptional Univer.",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -34,7 +34,8 @@
34
34
  "require": "./lib/cjs/*",
35
35
  "types": "./lib/types/index.d.ts"
36
36
  },
37
- "./lib/*": "./lib/*"
37
+ "./lib/*": "./lib/*",
38
+ "./locale/*": "./lib/locale/*.json"
38
39
  },
39
40
  "main": "./lib/cjs/index.js",
40
41
  "module": "./lib/es/index.js",
@@ -48,34 +49,51 @@
48
49
  "files": [
49
50
  "lib"
50
51
  ],
51
- "engines": {
52
- "node": ">=16.0.0",
53
- "npm": ">=8.0.0"
54
- },
55
52
  "peerDependencies": {
56
53
  "@wendellhu/redi": "0.15.2",
57
54
  "monaco-editor": ">=0.44.0",
58
55
  "react": "^16.9.0 || ^17.0.0 || ^18.0.0",
59
56
  "rxjs": ">=7.0.0",
60
- "@univerjs/core": "0.1.12",
61
- "@univerjs/design": "0.1.12",
62
- "@univerjs/facade": "0.1.12",
63
- "@univerjs/ui": "0.1.12"
57
+ "@univerjs/core": "0.1.14",
58
+ "@univerjs/facade": "0.1.14",
59
+ "@univerjs/sheets": "0.1.14",
60
+ "@univerjs/design": "0.1.14",
61
+ "@univerjs/sheets-ui": "0.1.14",
62
+ "@univerjs/ui": "0.1.14"
63
+ },
64
+ "dependencies": {
65
+ "@univerjs/protocol": "^0.1.36",
66
+ "@univerjs/sheets": "0.1.14"
64
67
  },
65
68
  "devDependencies": {
66
- "@types/react": "^18.2.79",
69
+ "@types/react": "^18.3.3",
67
70
  "@wendellhu/redi": "0.15.2",
68
71
  "less": "^4.2.0",
69
- "monaco-editor": "0.48.0",
72
+ "monaco-editor": "0.49.0",
70
73
  "rxjs": "^7.8.1",
71
74
  "typescript": "^5.4.5",
72
- "vite": "^5.2.11",
75
+ "vite": "^5.2.12",
73
76
  "vitest": "^1.6.0",
74
- "@univerjs/core": "0.1.12",
75
- "@univerjs/design": "0.1.12",
76
- "@univerjs/facade": "0.1.12",
77
- "@univerjs/ui": "0.1.12",
78
- "@univerjs/shared": "0.1.12"
77
+ "@univerjs/core": "0.1.14",
78
+ "@univerjs/design": "0.1.14",
79
+ "@univerjs/facade": "0.1.14",
80
+ "@univerjs/shared": "0.1.14",
81
+ "@univerjs/sheets-ui": "0.1.14",
82
+ "@univerjs/ui": "0.1.14"
83
+ },
84
+ "univerSpace": {
85
+ ".": {
86
+ "import": "./lib/es/index.js",
87
+ "require": "./lib/cjs/index.js",
88
+ "types": "./lib/types/index.d.ts"
89
+ },
90
+ "./*": {
91
+ "import": "./lib/es/*",
92
+ "require": "./lib/cjs/*",
93
+ "types": "./lib/types/index.d.ts"
94
+ },
95
+ "./lib/*": "./lib/*",
96
+ "./locale/*": "./lib/locale/*.json"
79
97
  },
80
98
  "scripts": {
81
99
  "test": "vitest run",
@@ -1,18 +0,0 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- export { default as enUS } from './en-US';
17
- export { default as zhCN } from './zh-CN';
18
- export { default as ruRU } from './ru-RU';