@univerjs/uniscript 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/cjs/locale/ja-JP.js +1 -0
- package/lib/es/index.js +12 -12
- package/lib/es/locale/ja-JP.js +20 -0
- package/lib/index.js +12 -12
- package/lib/locale/ja-JP.js +20 -0
- package/lib/types/locale/ja-JP.d.ts +3 -0
- package/lib/umd/index.js +1 -1
- package/lib/umd/locale/ja-JP.js +1 -0
- package/package.json +8 -8
package/lib/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var q=Object.defineProperty;var k=(t,e,r)=>e in t?q(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var d=(t,e,r)=>k(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),c=require("@univerjs/ui"),U=require("rxjs"),v=require("react/jsx-runtime"),E=require("@univerjs/design"),W=require("monaco-editor"),h=require("react"),F=require("@univerjs/core/facade"),g=require("@univerjs/sheets"),V=require("@univerjs/sheets-ui");class D extends o.Disposable{constructor(){super(...arguments);d(this,"_open$",new U.BehaviorSubject(!1));d(this,"open$",this._open$.pipe(U.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const $="ScriptPanel",m={type:o.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(D),r=t.get(c.ISidebarService);return e.isOpen?(e.close(),r.close()):(e.open(),r.open({header:{title:"script-panel.title"},children:{label:$},width:600})),!0}},M="uniscript.config",O={};var L=Object.getOwnPropertyDescriptor,B=(t,e,r,i)=>{for(var n=i>1?void 0:i?L(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},G=(t,e)=>(r,i)=>e(r,i,t);exports.ScriptEditorService=class extends o.Disposable{constructor(r){super();d(this,"_editorInstance",null);this._configService=r}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(r){return this._editorInstance=r,o.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const r=this._configService.getConfig(M);window.MonacoEnvironment={getWorkerUrl:r==null?void 0:r.getWorkerUrl}}}};exports.ScriptEditorService=B([G(0,o.IConfigService)],exports.ScriptEditorService);var A=Object.getOwnPropertyDescriptor,H=(t,e,r,i)=>{for(var n=i>1?void 0:i?A(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},j=(t,e)=>(r,i)=>e(r,i,t);const b=o.createIdentifier("univer.uniscript.execution-service");let y=class extends o.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=F.FUniver.newAPI(this._injector),r=new Function("univerAPI",`(() => {${t}})()`);try{return r(e),!0}catch(i){return this._logService.error(i),!1}}};y=H([j(0,o.ILogService),j(1,o.Inject(o.Injector))],y);function z(){const t=h.useRef(null),e=h.useRef(null),r=h.useRef(null),i=c.useDependency(o.LocaleService),n=c.useDependency(c.IShortcutService),s=c.useDependency(exports.ScriptEditorService),a=c.useDependency(o.ThemeService);h.useEffect(()=>{const C=e.current,p=t.current;let l=null,S=null;if(C&&p){s.requireVscodeEditor();const _=r.current=W.editor.create(C,{value:"",language:"javascript",theme:a.darkMode?"vs-dark":"vs-light"});S=new ResizeObserver(()=>{let x=requestIdleCallback(()=>{if(!x)return;const{height:R,width:N}=p.getBoundingClientRect();_.layout({width:N,height:R}),x=void 0})}),S.observe(p);let u;l=new o.DisposableCollection,l.add(s.setEditorInstance(_)),l.add(_.onDidFocusEditorWidget(()=>{u=n.forceEscape()})),l.add(_.onDidBlurEditorWidget(()=>{u==null||u.dispose(),u=void 0})),l.add(o.toDisposable(()=>u==null?void 0:u.dispose()))}return()=>{S&&p&&S.unobserve(p),l==null||l.dispose()}},[s,n]);const T=K(r);return v.jsxs("div",{className:"univer-h-full",children:[v.jsx("div",{ref:t,className:"univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden",children:v.jsx("div",{ref:e})}),v.jsx("div",{className:"univer-mt-2.5",children:v.jsx(E.Button,{variant:"primary",onClick:T,children:i.t("script-panel.panel.execute")})})]})}function K(t){const e=c.useDependency(b),r=c.useDependency(c.IMessageService),i=c.useDependency(o.LocaleService);return h.useCallback(()=>{var s;const n=(s=t.current)==null?void 0:s.getModel();n&&e.execute(n.getValue()).then(()=>{r.show({content:i.t("uniscript.message.success"),type:E.MessageType.Success})}).catch(()=>{r.show({content:i.t("uniscript.message.failed"),type:E.MessageType.Error})})},[i,r,t,e])}function Y(t){return{id:m.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeIcon",type:c.MenuItemType.BUTTON,hidden$:c.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:V.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission,g.WorksheetSetCellValuePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}}const J={[c.
|
|
1
|
+
"use strict";var q=Object.defineProperty;var k=(t,e,r)=>e in t?q(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var d=(t,e,r)=>k(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),c=require("@univerjs/ui"),U=require("rxjs"),v=require("react/jsx-runtime"),E=require("@univerjs/design"),W=require("monaco-editor"),h=require("react"),F=require("@univerjs/core/facade"),g=require("@univerjs/sheets"),V=require("@univerjs/sheets-ui");class D extends o.Disposable{constructor(){super(...arguments);d(this,"_open$",new U.BehaviorSubject(!1));d(this,"open$",this._open$.pipe(U.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const $="ScriptPanel",m={type:o.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(D),r=t.get(c.ISidebarService);return e.isOpen?(e.close(),r.close()):(e.open(),r.open({header:{title:"script-panel.title"},children:{label:$},width:600})),!0}},M="uniscript.config",O={};var L=Object.getOwnPropertyDescriptor,B=(t,e,r,i)=>{for(var n=i>1?void 0:i?L(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},G=(t,e)=>(r,i)=>e(r,i,t);exports.ScriptEditorService=class extends o.Disposable{constructor(r){super();d(this,"_editorInstance",null);this._configService=r}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(r){return this._editorInstance=r,o.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const r=this._configService.getConfig(M);window.MonacoEnvironment={getWorkerUrl:r==null?void 0:r.getWorkerUrl}}}};exports.ScriptEditorService=B([G(0,o.IConfigService)],exports.ScriptEditorService);var A=Object.getOwnPropertyDescriptor,H=(t,e,r,i)=>{for(var n=i>1?void 0:i?A(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},j=(t,e)=>(r,i)=>e(r,i,t);const b=o.createIdentifier("univer.uniscript.execution-service");let y=class extends o.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=F.FUniver.newAPI(this._injector),r=new Function("univerAPI",`(() => {${t}})()`);try{return r(e),!0}catch(i){return this._logService.error(i),!1}}};y=H([j(0,o.ILogService),j(1,o.Inject(o.Injector))],y);function z(){const t=h.useRef(null),e=h.useRef(null),r=h.useRef(null),i=c.useDependency(o.LocaleService),n=c.useDependency(c.IShortcutService),s=c.useDependency(exports.ScriptEditorService),a=c.useDependency(o.ThemeService);h.useEffect(()=>{const C=e.current,p=t.current;let l=null,S=null;if(C&&p){s.requireVscodeEditor();const _=r.current=W.editor.create(C,{value:"",language:"javascript",theme:a.darkMode?"vs-dark":"vs-light"});S=new ResizeObserver(()=>{let x=requestIdleCallback(()=>{if(!x)return;const{height:R,width:N}=p.getBoundingClientRect();_.layout({width:N,height:R}),x=void 0})}),S.observe(p);let u;l=new o.DisposableCollection,l.add(s.setEditorInstance(_)),l.add(_.onDidFocusEditorWidget(()=>{u=n.forceEscape()})),l.add(_.onDidBlurEditorWidget(()=>{u==null||u.dispose(),u=void 0})),l.add(o.toDisposable(()=>u==null?void 0:u.dispose()))}return()=>{S&&p&&S.unobserve(p),l==null||l.dispose()}},[s,n]);const T=K(r);return v.jsxs("div",{className:"univer-h-full",children:[v.jsx("div",{ref:t,className:"univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden",children:v.jsx("div",{ref:e})}),v.jsx("div",{className:"univer-mt-2.5",children:v.jsx(E.Button,{variant:"primary",onClick:T,children:i.t("script-panel.panel.execute")})})]})}function K(t){const e=c.useDependency(b),r=c.useDependency(c.IMessageService),i=c.useDependency(o.LocaleService);return h.useCallback(()=>{var s;const n=(s=t.current)==null?void 0:s.getModel();n&&e.execute(n.getValue()).then(()=>{r.show({content:i.t("uniscript.message.success"),type:E.MessageType.Success})}).catch(()=>{r.show({content:i.t("uniscript.message.failed"),type:E.MessageType.Error})})},[i,r,t,e])}function Y(t){return{id:m.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeIcon",type:c.MenuItemType.BUTTON,hidden$:c.getMenuHiddenObservable(t,o.UniverInstanceType.UNIVER_SHEET),disabled$:V.getCurrentRangeDisable$(t,{workbookTypes:[g.WorkbookEditablePermission],worksheetTypes:[g.WorksheetEditPermission,g.WorksheetSetCellStylePermission,g.WorksheetSetCellValuePermission],rangeTypes:[g.RangeProtectionPermissionEditPoint]})}}const J={[c.RibbonOthersGroup.OTHERS]:{[m.id]:{order:0,menuItemFactory:Y}}};var Q=Object.getOwnPropertyDescriptor,X=(t,e,r,i)=>{for(var n=i>1?void 0:i?Q(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},I=(t,e)=>(r,i)=>e(r,i,t);let f=class extends o.Disposable{constructor(t,e,r){super(),this._menuManagerService=t,this._menuManagerService.mergeMenu(J),this.disposeWithMe(r.register($,z)),this.disposeWithMe(e.registerCommand(m))}};f=X([I(0,c.IMenuManagerService),I(1,o.ICommandService),I(2,o.Inject(c.ComponentManager))],f);var Z=Object.getOwnPropertyDescriptor,ee=(t,e,r,i)=>{for(var n=i>1?void 0:i?Z(e,r):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=a(n)||n);return n},w=(t,e)=>(r,i)=>e(r,i,t);const te="UNIVER_UNISCRIPT_PLUGIN";var P;exports.UniverUniscriptPlugin=(P=class extends o.Plugin{constructor(e=O,r,i){super(),this._config=e,this._injector=r,this._configService=i;const{menu:n,...s}=o.merge({},O,this._config);n&&this._configService.setConfig("menu",n,{merge:!0}),this._configService.setConfig(M,s)}onStarting(){const e=this._injector;[[f],[exports.ScriptEditorService],[D]].forEach(i=>e.add(i)),this.registerExecution()}onSteady(){this._injector.get(f)}registerExecution(){this._injector.add([b,{useClass:y}])}},d(P,"pluginName",te),P);exports.UniverUniscriptPlugin=ee([w(1,o.Inject(o.Injector)),w(2,o.IConfigService)],exports.UniverUniscriptPlugin);exports.IUniscriptExecutionService=b;exports.ToggleScriptPanelOperation=m;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const t={"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Uniscriptパネルを切り替え"},panel:{execute:"スクリプトを実行"}},uniscript:{message:{success:"実行に成功しました",failed:"実行に失敗しました"}}};module.exports=t;
|
package/lib/es/index.js
CHANGED
|
@@ -2,10 +2,10 @@ var G = Object.defineProperty;
|
|
|
2
2
|
var L = (t, e, r) => e in t ? G(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
|
|
3
3
|
var p = (t, e, r) => L(t, typeof e != "symbol" ? e + "" : e, r);
|
|
4
4
|
import { Disposable as _, CommandType as A, toDisposable as M, IConfigService as j, createIdentifier as q, ILogService as H, Inject as E, Injector as N, LocaleService as T, ThemeService as z, DisposableCollection as K, UniverInstanceType as Y, ICommandService as J, Plugin as Q, merge as X } from "@univerjs/core";
|
|
5
|
-
import { ISidebarService as Z, useDependency as l, IShortcutService as ee, IMessageService as te, getMenuHiddenObservable as re, MenuItemType as ne,
|
|
5
|
+
import { ISidebarService as Z, useDependency as l, IShortcutService as ee, IMessageService as te, getMenuHiddenObservable as re, MenuItemType as ne, RibbonOthersGroup as ie, IMenuManagerService as oe, ComponentManager as se } from "@univerjs/ui";
|
|
6
6
|
import { BehaviorSubject as ce, distinctUntilChanged as ae } from "rxjs";
|
|
7
7
|
import { jsxs as le, jsx as g } from "react/jsx-runtime";
|
|
8
|
-
import { Button as ue, MessageType as
|
|
8
|
+
import { Button as ue, MessageType as w } from "@univerjs/design";
|
|
9
9
|
import { editor as pe } from "monaco-editor";
|
|
10
10
|
import { useRef as f, useEffect as de, useCallback as ve } from "react";
|
|
11
11
|
import { FUniver as ge } from "@univerjs/core/facade";
|
|
@@ -72,7 +72,7 @@ let h = class extends _ {
|
|
|
72
72
|
h = Ee([
|
|
73
73
|
Ce(0, j)
|
|
74
74
|
], h);
|
|
75
|
-
var be = Object.getOwnPropertyDescriptor,
|
|
75
|
+
var be = Object.getOwnPropertyDescriptor, Oe = (t, e, r, n) => {
|
|
76
76
|
for (var i = n > 1 ? void 0 : n ? be(e, r) : e, o = t.length - 1, s; o >= 0; o--)
|
|
77
77
|
(s = t[o]) && (i = s(i) || i);
|
|
78
78
|
return i;
|
|
@@ -92,11 +92,11 @@ let P = class extends _ {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
};
|
|
95
|
-
P =
|
|
95
|
+
P = Oe([
|
|
96
96
|
y(0, H),
|
|
97
97
|
y(1, E(N))
|
|
98
98
|
], P);
|
|
99
|
-
function
|
|
99
|
+
function we() {
|
|
100
100
|
const t = f(null), e = f(null), r = f(null), n = l(T), i = l(ee), o = l(h), s = l(z);
|
|
101
101
|
de(() => {
|
|
102
102
|
const b = e.current, u = t.current;
|
|
@@ -109,10 +109,10 @@ function Oe() {
|
|
|
109
109
|
theme: s.darkMode ? "vs-dark" : "vs-light"
|
|
110
110
|
});
|
|
111
111
|
d = new ResizeObserver(() => {
|
|
112
|
-
let
|
|
113
|
-
if (!
|
|
112
|
+
let O = requestIdleCallback(() => {
|
|
113
|
+
if (!O) return;
|
|
114
114
|
const { height: V, width: B } = u.getBoundingClientRect();
|
|
115
|
-
v.layout({ width: B, height: V }),
|
|
115
|
+
v.layout({ width: B, height: V }), O = void 0;
|
|
116
116
|
});
|
|
117
117
|
}), d.observe(u);
|
|
118
118
|
let a;
|
|
@@ -144,12 +144,12 @@ function xe(t) {
|
|
|
144
144
|
i && e.execute(i.getValue()).then(() => {
|
|
145
145
|
r.show({
|
|
146
146
|
content: n.t("uniscript.message.success"),
|
|
147
|
-
type:
|
|
147
|
+
type: w.Success
|
|
148
148
|
});
|
|
149
149
|
}).catch(() => {
|
|
150
150
|
r.show({
|
|
151
151
|
content: n.t("uniscript.message.failed"),
|
|
152
|
-
type:
|
|
152
|
+
type: w.Error
|
|
153
153
|
});
|
|
154
154
|
});
|
|
155
155
|
}, [n, r, t, e]);
|
|
@@ -169,7 +169,7 @@ function ye(t) {
|
|
|
169
169
|
const Ue = {
|
|
170
170
|
[ie.OTHERS]: {
|
|
171
171
|
[C.id]: {
|
|
172
|
-
order:
|
|
172
|
+
order: 0,
|
|
173
173
|
menuItemFactory: ye
|
|
174
174
|
}
|
|
175
175
|
}
|
|
@@ -181,7 +181,7 @@ var $e = Object.getOwnPropertyDescriptor, Me = (t, e, r, n) => {
|
|
|
181
181
|
}, S = (t, e) => (r, n) => e(r, n, t);
|
|
182
182
|
let m = class extends _ {
|
|
183
183
|
constructor(t, e, r) {
|
|
184
|
-
super(), this._menuManagerService = t, this._menuManagerService.mergeMenu(Ue), this.disposeWithMe(r.register(R,
|
|
184
|
+
super(), this._menuManagerService = t, this._menuManagerService.mergeMenu(Ue), this.disposeWithMe(r.register(R, we)), this.disposeWithMe(e.registerCommand(C));
|
|
185
185
|
}
|
|
186
186
|
};
|
|
187
187
|
m = Me([
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const e = {
|
|
2
|
+
"script-panel": {
|
|
3
|
+
title: "Uniscript",
|
|
4
|
+
tooltip: {
|
|
5
|
+
"menu-button": "Uniscriptパネルを切り替え"
|
|
6
|
+
},
|
|
7
|
+
panel: {
|
|
8
|
+
execute: "スクリプトを実行"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
uniscript: {
|
|
12
|
+
message: {
|
|
13
|
+
success: "実行に成功しました",
|
|
14
|
+
failed: "実行に失敗しました"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
e as default
|
|
20
|
+
};
|
package/lib/index.js
CHANGED
|
@@ -2,10 +2,10 @@ var G = Object.defineProperty;
|
|
|
2
2
|
var L = (t, e, r) => e in t ? G(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
|
|
3
3
|
var p = (t, e, r) => L(t, typeof e != "symbol" ? e + "" : e, r);
|
|
4
4
|
import { Disposable as _, CommandType as A, toDisposable as M, IConfigService as j, createIdentifier as q, ILogService as H, Inject as E, Injector as N, LocaleService as T, ThemeService as z, DisposableCollection as K, UniverInstanceType as Y, ICommandService as J, Plugin as Q, merge as X } from "@univerjs/core";
|
|
5
|
-
import { ISidebarService as Z, useDependency as l, IShortcutService as ee, IMessageService as te, getMenuHiddenObservable as re, MenuItemType as ne,
|
|
5
|
+
import { ISidebarService as Z, useDependency as l, IShortcutService as ee, IMessageService as te, getMenuHiddenObservable as re, MenuItemType as ne, RibbonOthersGroup as ie, IMenuManagerService as oe, ComponentManager as se } from "@univerjs/ui";
|
|
6
6
|
import { BehaviorSubject as ce, distinctUntilChanged as ae } from "rxjs";
|
|
7
7
|
import { jsxs as le, jsx as g } from "react/jsx-runtime";
|
|
8
|
-
import { Button as ue, MessageType as
|
|
8
|
+
import { Button as ue, MessageType as w } from "@univerjs/design";
|
|
9
9
|
import { editor as pe } from "monaco-editor";
|
|
10
10
|
import { useRef as f, useEffect as de, useCallback as ve } from "react";
|
|
11
11
|
import { FUniver as ge } from "@univerjs/core/facade";
|
|
@@ -72,7 +72,7 @@ let h = class extends _ {
|
|
|
72
72
|
h = Ee([
|
|
73
73
|
Ce(0, j)
|
|
74
74
|
], h);
|
|
75
|
-
var be = Object.getOwnPropertyDescriptor,
|
|
75
|
+
var be = Object.getOwnPropertyDescriptor, Oe = (t, e, r, n) => {
|
|
76
76
|
for (var i = n > 1 ? void 0 : n ? be(e, r) : e, o = t.length - 1, s; o >= 0; o--)
|
|
77
77
|
(s = t[o]) && (i = s(i) || i);
|
|
78
78
|
return i;
|
|
@@ -92,11 +92,11 @@ let P = class extends _ {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
};
|
|
95
|
-
P =
|
|
95
|
+
P = Oe([
|
|
96
96
|
y(0, H),
|
|
97
97
|
y(1, E(N))
|
|
98
98
|
], P);
|
|
99
|
-
function
|
|
99
|
+
function we() {
|
|
100
100
|
const t = f(null), e = f(null), r = f(null), n = l(T), i = l(ee), o = l(h), s = l(z);
|
|
101
101
|
de(() => {
|
|
102
102
|
const b = e.current, u = t.current;
|
|
@@ -109,10 +109,10 @@ function Oe() {
|
|
|
109
109
|
theme: s.darkMode ? "vs-dark" : "vs-light"
|
|
110
110
|
});
|
|
111
111
|
d = new ResizeObserver(() => {
|
|
112
|
-
let
|
|
113
|
-
if (!
|
|
112
|
+
let O = requestIdleCallback(() => {
|
|
113
|
+
if (!O) return;
|
|
114
114
|
const { height: V, width: B } = u.getBoundingClientRect();
|
|
115
|
-
v.layout({ width: B, height: V }),
|
|
115
|
+
v.layout({ width: B, height: V }), O = void 0;
|
|
116
116
|
});
|
|
117
117
|
}), d.observe(u);
|
|
118
118
|
let a;
|
|
@@ -144,12 +144,12 @@ function xe(t) {
|
|
|
144
144
|
i && e.execute(i.getValue()).then(() => {
|
|
145
145
|
r.show({
|
|
146
146
|
content: n.t("uniscript.message.success"),
|
|
147
|
-
type:
|
|
147
|
+
type: w.Success
|
|
148
148
|
});
|
|
149
149
|
}).catch(() => {
|
|
150
150
|
r.show({
|
|
151
151
|
content: n.t("uniscript.message.failed"),
|
|
152
|
-
type:
|
|
152
|
+
type: w.Error
|
|
153
153
|
});
|
|
154
154
|
});
|
|
155
155
|
}, [n, r, t, e]);
|
|
@@ -169,7 +169,7 @@ function ye(t) {
|
|
|
169
169
|
const Ue = {
|
|
170
170
|
[ie.OTHERS]: {
|
|
171
171
|
[C.id]: {
|
|
172
|
-
order:
|
|
172
|
+
order: 0,
|
|
173
173
|
menuItemFactory: ye
|
|
174
174
|
}
|
|
175
175
|
}
|
|
@@ -181,7 +181,7 @@ var $e = Object.getOwnPropertyDescriptor, Me = (t, e, r, n) => {
|
|
|
181
181
|
}, S = (t, e) => (r, n) => e(r, n, t);
|
|
182
182
|
let m = class extends _ {
|
|
183
183
|
constructor(t, e, r) {
|
|
184
|
-
super(), this._menuManagerService = t, this._menuManagerService.mergeMenu(Ue), this.disposeWithMe(r.register(R,
|
|
184
|
+
super(), this._menuManagerService = t, this._menuManagerService.mergeMenu(Ue), this.disposeWithMe(r.register(R, we)), this.disposeWithMe(e.registerCommand(C));
|
|
185
185
|
}
|
|
186
186
|
};
|
|
187
187
|
m = Me([
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const e = {
|
|
2
|
+
"script-panel": {
|
|
3
|
+
title: "Uniscript",
|
|
4
|
+
tooltip: {
|
|
5
|
+
"menu-button": "Uniscriptパネルを切り替え"
|
|
6
|
+
},
|
|
7
|
+
panel: {
|
|
8
|
+
execute: "スクリプトを実行"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
uniscript: {
|
|
12
|
+
message: {
|
|
13
|
+
success: "実行に成功しました",
|
|
14
|
+
failed: "実行に失敗しました"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
e as default
|
|
20
|
+
};
|
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(s,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("@univerjs/core"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("monaco-editor"),require("react"),require("@univerjs/core/facade"),require("@univerjs/sheets"),require("@univerjs/sheets-ui")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","monaco-editor","react","@univerjs/core/facade","@univerjs/sheets","@univerjs/sheets-ui"],i):(s=typeof globalThis<"u"?globalThis:s||self,i(s.UniverUniscript={},s.UniverCore,s.UniverUi,s.rxjs,s.React,s.UniverDesign,s.monaco,s.React,s.UniverCoreFacade,s.UniverSheets,s.UniverSheetsUi))})(this,(function(s,i,a,C,p,P,N,v,R,h,q){"use strict";var te=Object.defineProperty;var ne=(s,i,a)=>i in s?te(s,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[i]=a;var S=(s,i,a)=>ne(s,typeof i!="symbol"?i+"":i,a);var y;class O extends i.Disposable{constructor(){super(...arguments);S(this,"_open$",new C.BehaviorSubject(!1));S(this,"open$",this._open$.pipe(C.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const D="ScriptPanel",f={type:i.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(O),n=t.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}},w="uniscript.config",b={};var k=Object.getOwnPropertyDescriptor,W=(t,e,n,r)=>{for(var c=r>1?void 0:r?k(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},F=(t,e)=>(n,r)=>e(n,r,t);s.ScriptEditorService=class extends i.Disposable{constructor(n){super();S(this,"_editorInstance",null);this._configService=n}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(n){return this._editorInstance=n,i.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const n=this._configService.getConfig(w);window.MonacoEnvironment={getWorkerUrl:n==null?void 0:n.getWorkerUrl}}}},s.ScriptEditorService=W([F(0,i.IConfigService)],s.ScriptEditorService);var V=Object.getOwnPropertyDescriptor,L=(t,e,n,r)=>{for(var c=r>1?void 0:r?V(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},$=(t,e)=>(n,r)=>e(n,r,t);const E=i.createIdentifier("univer.uniscript.execution-service");let U=class extends i.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=R.FUniver.newAPI(this._injector),n=new Function("univerAPI",`(() => {${t}})()`);try{return n(e),!0}catch(r){return this._logService.error(r),!1}}};U=L([$(0,i.ILogService),$(1,i.Inject(i.Injector))],U);function B(){const t=v.useRef(null),e=v.useRef(null),n=v.useRef(null),r=a.useDependency(i.LocaleService),c=a.useDependency(a.IShortcutService),o=a.useDependency(s.ScriptEditorService),u=a.useDependency(i.ThemeService);v.useEffect(()=>{const x=e.current,g=t.current;let d=null,m=null;if(x&&g){o.requireVscodeEditor();const I=n.current=N.editor.create(x,{value:"",language:"javascript",theme:u.darkMode?"vs-dark":"vs-light"});m=new ResizeObserver(()=>{let M=requestIdleCallback(()=>{if(!M)return;const{height:Z,width:ee}=g.getBoundingClientRect();I.layout({width:ee,height:Z}),M=void 0})}),m.observe(g);let l;d=new i.DisposableCollection,d.add(o.setEditorInstance(I)),d.add(I.onDidFocusEditorWidget(()=>{l=c.forceEscape()})),d.add(I.onDidBlurEditorWidget(()=>{l==null||l.dispose(),l=void 0})),d.add(i.toDisposable(()=>l==null?void 0:l.dispose()))}return()=>{m&&g&&m.unobserve(g),d==null||d.dispose()}},[o,c]);const X=G(n);return p.jsxs("div",{className:"univer-h-full",children:[p.jsx("div",{ref:t,className:"univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden",children:p.jsx("div",{ref:e})}),p.jsx("div",{className:"univer-mt-2.5",children:p.jsx(P.Button,{variant:"primary",onClick:X,children:r.t("script-panel.panel.execute")})})]})}function G(t){const e=a.useDependency(E),n=a.useDependency(a.IMessageService),r=a.useDependency(i.LocaleService);return v.useCallback(()=>{var o;const c=(o=t.current)==null?void 0:o.getModel();c&&e.execute(c.getValue()).then(()=>{n.show({content:r.t("uniscript.message.success"),type:P.MessageType.Success})}).catch(()=>{n.show({content:r.t("uniscript.message.failed"),type:P.MessageType.Error})})},[r,n,t,e])}function A(t){return{id:f.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeIcon",type:a.MenuItemType.BUTTON,hidden$:a.getMenuHiddenObservable(t,i.UniverInstanceType.UNIVER_SHEET),disabled$:q.getCurrentRangeDisable$(t,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission,h.WorksheetSetCellValuePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}const H={[a.
|
|
1
|
+
(function(s,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("@univerjs/core"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("monaco-editor"),require("react"),require("@univerjs/core/facade"),require("@univerjs/sheets"),require("@univerjs/sheets-ui")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","monaco-editor","react","@univerjs/core/facade","@univerjs/sheets","@univerjs/sheets-ui"],i):(s=typeof globalThis<"u"?globalThis:s||self,i(s.UniverUniscript={},s.UniverCore,s.UniverUi,s.rxjs,s.React,s.UniverDesign,s.monaco,s.React,s.UniverCoreFacade,s.UniverSheets,s.UniverSheetsUi))})(this,(function(s,i,a,C,p,P,N,v,R,h,q){"use strict";var te=Object.defineProperty;var ne=(s,i,a)=>i in s?te(s,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[i]=a;var S=(s,i,a)=>ne(s,typeof i!="symbol"?i+"":i,a);var y;class O extends i.Disposable{constructor(){super(...arguments);S(this,"_open$",new C.BehaviorSubject(!1));S(this,"open$",this._open$.pipe(C.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){super.dispose(),this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const D="ScriptPanel",f={type:i.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(O),n=t.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}},w="uniscript.config",b={};var k=Object.getOwnPropertyDescriptor,W=(t,e,n,r)=>{for(var c=r>1?void 0:r?k(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},F=(t,e)=>(n,r)=>e(n,r,t);s.ScriptEditorService=class extends i.Disposable{constructor(n){super();S(this,"_editorInstance",null);this._configService=n}dispose(){super.dispose(),this._editorInstance&&this._editorInstance.dispose()}setEditorInstance(n){return this._editorInstance=n,i.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){if(!window.MonacoEnvironment){const n=this._configService.getConfig(w);window.MonacoEnvironment={getWorkerUrl:n==null?void 0:n.getWorkerUrl}}}},s.ScriptEditorService=W([F(0,i.IConfigService)],s.ScriptEditorService);var V=Object.getOwnPropertyDescriptor,L=(t,e,n,r)=>{for(var c=r>1?void 0:r?V(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},$=(t,e)=>(n,r)=>e(n,r,t);const E=i.createIdentifier("univer.uniscript.execution-service");let U=class extends i.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=R.FUniver.newAPI(this._injector),n=new Function("univerAPI",`(() => {${t}})()`);try{return n(e),!0}catch(r){return this._logService.error(r),!1}}};U=L([$(0,i.ILogService),$(1,i.Inject(i.Injector))],U);function B(){const t=v.useRef(null),e=v.useRef(null),n=v.useRef(null),r=a.useDependency(i.LocaleService),c=a.useDependency(a.IShortcutService),o=a.useDependency(s.ScriptEditorService),u=a.useDependency(i.ThemeService);v.useEffect(()=>{const x=e.current,g=t.current;let d=null,m=null;if(x&&g){o.requireVscodeEditor();const I=n.current=N.editor.create(x,{value:"",language:"javascript",theme:u.darkMode?"vs-dark":"vs-light"});m=new ResizeObserver(()=>{let M=requestIdleCallback(()=>{if(!M)return;const{height:Z,width:ee}=g.getBoundingClientRect();I.layout({width:ee,height:Z}),M=void 0})}),m.observe(g);let l;d=new i.DisposableCollection,d.add(o.setEditorInstance(I)),d.add(I.onDidFocusEditorWidget(()=>{l=c.forceEscape()})),d.add(I.onDidBlurEditorWidget(()=>{l==null||l.dispose(),l=void 0})),d.add(i.toDisposable(()=>l==null?void 0:l.dispose()))}return()=>{m&&g&&m.unobserve(g),d==null||d.dispose()}},[o,c]);const X=G(n);return p.jsxs("div",{className:"univer-h-full",children:[p.jsx("div",{ref:t,className:"univer-h-[calc(100%-60px)] univer-w-full univer-overflow-hidden",children:p.jsx("div",{ref:e})}),p.jsx("div",{className:"univer-mt-2.5",children:p.jsx(P.Button,{variant:"primary",onClick:X,children:r.t("script-panel.panel.execute")})})]})}function G(t){const e=a.useDependency(E),n=a.useDependency(a.IMessageService),r=a.useDependency(i.LocaleService);return v.useCallback(()=>{var o;const c=(o=t.current)==null?void 0:o.getModel();c&&e.execute(c.getValue()).then(()=>{n.show({content:r.t("uniscript.message.success"),type:P.MessageType.Success})}).catch(()=>{n.show({content:r.t("uniscript.message.failed"),type:P.MessageType.Error})})},[r,n,t,e])}function A(t){return{id:f.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeIcon",type:a.MenuItemType.BUTTON,hidden$:a.getMenuHiddenObservable(t,i.UniverInstanceType.UNIVER_SHEET),disabled$:q.getCurrentRangeDisable$(t,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission,h.WorksheetSetCellValuePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}const H={[a.RibbonOthersGroup.OTHERS]:{[f.id]:{order:0,menuItemFactory:A}}};var z=Object.getOwnPropertyDescriptor,K=(t,e,n,r)=>{for(var c=r>1?void 0:r?z(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},j=(t,e)=>(n,r)=>e(n,r,t);let _=class extends i.Disposable{constructor(t,e,n){super(),this._menuManagerService=t,this._menuManagerService.mergeMenu(H),this.disposeWithMe(n.register(D,B)),this.disposeWithMe(e.registerCommand(f))}};_=K([j(0,a.IMenuManagerService),j(1,i.ICommandService),j(2,i.Inject(a.ComponentManager))],_);var Y=Object.getOwnPropertyDescriptor,J=(t,e,n,r)=>{for(var c=r>1?void 0:r?Y(e,n):e,o=t.length-1,u;o>=0;o--)(u=t[o])&&(c=u(c)||c);return c},T=(t,e)=>(n,r)=>e(n,r,t);const Q="UNIVER_UNISCRIPT_PLUGIN";s.UniverUniscriptPlugin=(y=class extends i.Plugin{constructor(e=b,n,r){super(),this._config=e,this._injector=n,this._configService=r;const{menu:c,...o}=i.merge({},b,this._config);c&&this._configService.setConfig("menu",c,{merge:!0}),this._configService.setConfig(w,o)}onStarting(){const e=this._injector;[[_],[s.ScriptEditorService],[O]].forEach(r=>e.add(r)),this.registerExecution()}onSteady(){this._injector.get(_)}registerExecution(){this._injector.add([E,{useClass:U}])}},S(y,"pluginName",Q),y),s.UniverUniscriptPlugin=J([T(1,i.Inject(i.Injector)),T(2,i.IConfigService)],s.UniverUniscriptPlugin),s.IUniscriptExecutionService=E,s.ToggleScriptPanelOperation=f,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,i){typeof exports=="object"&&typeof module<"u"?module.exports=i():typeof define=="function"&&define.amd?define(i):(e=typeof globalThis<"u"?globalThis:e||self,e.UniverUniscriptJaJP=i())})(this,(function(){"use strict";return{"script-panel":{title:"Uniscript",tooltip:{"menu-button":"Uniscriptパネルを切り替え"},panel:{execute:"スクリプトを実行"}},uniscript:{message:{success:"実行に成功しました",failed:"実行に失敗しました"}}}}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/uniscript",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "UI component library for building exceptional Univer.",
|
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
|
@@ -56,11 +56,11 @@
|
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"monaco-editor": "0.54.0",
|
|
59
|
-
"@univerjs/
|
|
60
|
-
"@univerjs/
|
|
61
|
-
"@univerjs/
|
|
62
|
-
"@univerjs/sheets
|
|
63
|
-
"@univerjs/ui": "0.
|
|
59
|
+
"@univerjs/design": "0.12.0",
|
|
60
|
+
"@univerjs/sheets-ui": "0.12.0",
|
|
61
|
+
"@univerjs/core": "0.12.0",
|
|
62
|
+
"@univerjs/sheets": "0.12.0",
|
|
63
|
+
"@univerjs/ui": "0.12.0"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"postcss": "^8.5.6",
|
|
@@ -68,9 +68,9 @@
|
|
|
68
68
|
"rxjs": "^7.8.2",
|
|
69
69
|
"tailwindcss": "3.4.18",
|
|
70
70
|
"typescript": "^5.9.3",
|
|
71
|
-
"vite": "^7.
|
|
71
|
+
"vite": "^7.2.2",
|
|
72
72
|
"vitest": "^3.2.4",
|
|
73
|
-
"@univerjs-infra/shared": "0.
|
|
73
|
+
"@univerjs-infra/shared": "0.12.0"
|
|
74
74
|
},
|
|
75
75
|
"scripts": {
|
|
76
76
|
"test": "vitest run",
|