@univerjs/uniscript 0.1.0-alpha.3 → 0.1.0-beta.1
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/cjs/index.js +2 -2
- package/lib/es/index.js +225 -160
- package/lib/types/controllers/menu.d.ts +2 -1
- package/lib/types/controllers/uniscript.controller.d.ts +3 -1
- package/lib/types/facade/sheet/f-workbook.d.ts +4 -2
- package/lib/types/facade/sheet/f-worksheet.d.ts +5 -2
- package/lib/types/locale/en-US.d.ts +6 -0
- package/lib/types/locale/zh-CN.d.ts +6 -0
- package/lib/types/services/script-editor.service.d.ts +7 -1
- package/lib/umd/index.js +2 -2
- package/package.json +20 -18
package/lib/cjs/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
"use strict";var
|
1
|
+
"use strict";var X=Object.defineProperty;var Z=(t,e,n)=>e in t?X(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var g=(t,e,n)=>(Z(t,typeof e!="symbol"?e+"":e,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),a=require("@wendellhu/redi"),d=require("@univerjs/ui"),W=require("rxjs"),_=require("react"),U=require("@univerjs/design"),m=require("@wendellhu/redi/react-bindings"),ee=require("monaco-editor"),h=require("@univerjs/sheets"),te={"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 H extends c.Disposable{constructor(){super(...arguments);g(this,"_open$",new W.BehaviorSubject(!1));g(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 z="ScriptPanel",V={type:c.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(H),n=t.get(d.ISidebarService);return e.isOpen?(e.close(),n.close()):(e.open(),n.open({header:{title:"script-panel.title"},children:{label:z},width:600})),!0}};var G={exports:{}},y={};/**
|
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
|
9
|
+
*/var re=_,ne=Symbol.for("react.element"),se=Symbol.for("react.fragment"),ie=Object.prototype.hasOwnProperty,oe=re.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ce={key:!0,ref:!0,__self:!0,__source:!0};function J(t,e,n){var r,s={},i=null,o=null;n!==void 0&&(i=""+n),e.key!==void 0&&(i=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)ie.call(e,r)&&!ce.hasOwnProperty(r)&&(s[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)s[r]===void 0&&(s[r]=e[r]);return{$$typeof:ne,type:t,key:i,ref:o,props:s,_owner:oe.current}}y.Fragment=se;y.jsx=J;y.jsxs=J;G.exports=y;var f=G.exports;class R extends c.Disposable{constructor(n){super();g(this,"_editorInstance",null);this._config=n}setEditorInstance(n){return this._editorInstance=n,c.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var ae=Object.defineProperty,le=Object.getOwnPropertyDescriptor,ue=(t,e,n,r)=>{for(var s=r>1?void 0:r?le(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&ae(e,n,s),s},q=(t,e)=>(n,r)=>e(n,r,t);let P=class{constructor(t,e,n,r,s){this._workbook=t,this._worksheet=e,this._range=n,this._injector=r,this._commandService=s}getRow(){return this._range.startRow}getColumn(){return this._range.startColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}getValue(){var t;return((t=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:t.v)??null}setBackgroundColor(t){this._commandService.executeCommand(h.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:t}}})}};P=ue([q(3,a.Inject(a.Injector)),q(4,c.ICommandService)],P);var pe=Object.defineProperty,de=Object.getOwnPropertyDescriptor,_e=(t,e,n,r)=>{for(var s=r>1?void 0:r?de(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&pe(e,n,s),s},he=(t,e)=>(n,r)=>e(n,r,t);let D=class{constructor(t,e,n,r){this._workbook=t,this._worksheet=e,this._selections=n,this._injector=r}getActiveRange(){const t=this._selections.find(e=>!!e.primary);return t?this._injector.createInstance(P,this._workbook,this._worksheet,t.range):null}};D=_e([he(3,a.Inject(a.Injector))],D);var ve=Object.defineProperty,ge=Object.getOwnPropertyDescriptor,me=(t,e,n,r)=>{for(var s=r>1?void 0:r?ge(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&ve(e,n,s),s},$=(t,e)=>(n,r)=>e(n,r,t);let C=class{constructor(t,e,n,r,s){this._workbook=t,this._worksheet=e,this._injector=n,this._selectionManagerService=r,this._commandService=s}getSelection(){const t=this._selectionManagerService.getSelections();return t?this._injector.createInstance(D,this._workbook,this._worksheet,t):null}getRange(t,e,n,r){const s={startRow:t,endRow:t+(n??1)-1,startColumn:e,endColumn:e+(r??1)-1};return this._injector.createInstance(P,this._workbook,this._worksheet,s)}setRowHeights(t,e,n){this._commandService.syncExecuteCommand(h.SetWorksheetRowHeightMutation.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[{startRow:t,endRow:t+e-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}],rowHeight:n})}setColumnWidths(t,e,n){this._commandService.syncExecuteCommand(h.SetWorksheetColWidthMutation.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[{startColumn:t,endColumn:t+e-1,startRow:0,endRow:this._worksheet.getRowCount()-1}],colWidth:n})}};C=me([$(2,a.Inject(a.Injector)),$(3,a.Inject(h.SelectionManagerService)),$(4,c.ICommandService)],C);var fe=Object.defineProperty,Se=Object.getOwnPropertyDescriptor,we=(t,e,n,r)=>{for(var s=r>1?void 0:r?Se(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&fe(e,n,s),s},A=(t,e)=>(n,r)=>e(n,r,t);let k=class{constructor(t,e,n){this._workbook=t,this._injector=e,this._commandService=n}getActiveSheet(){const t=this._workbook.getActiveSheet();return t?this._injector.createInstance(C,this._workbook,t):null}create(t,e,n){const r=c.Tools.deepClone(c.DEFAULT_WORKSHEET);return r.rowCount=e,r.columnCount=n,r.name=t,r.id=t.toLowerCase().replace(/ /g,"-"),this._commandService.syncExecuteCommand(h.InsertSheetCommand.id,{unitId:this._workbook.getUnitId(),index:this._workbook.getSheets().length,sheet:r}),this._commandService.syncExecuteCommand(h.SetWorksheetActivateCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId()}),this._injector.createInstance(C,this._workbook,this._workbook.getActiveSheet())}};k=we([A(1,a.Inject(a.Injector)),A(2,c.ICommandService)],k);var Ie=Object.defineProperty,be=Object.getOwnPropertyDescriptor,je=(t,e,n,r)=>{for(var s=r>1?void 0:r?be(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&Ie(e,n,s),s},F=(t,e)=>(n,r)=>e(n,r,t);let O=class{constructor(t,e){this._injector=t,this._univerInstanceService=e}static newInstance(t){return t.createInstance(O)}getCurrentSheet(){const t=this._univerInstanceService.getCurrentUniverSheetInstance();return t?this._injector.createInstance(k,t):null}};O=je([F(0,a.Inject(a.Injector)),F(1,c.IUniverInstanceService)],O);var Pe=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,Oe=(t,e,n,r)=>{for(var s=r>1?void 0:r?Ce(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&Pe(e,n,s),s},N=(t,e)=>(n,r)=>e(n,r,t);let E=class extends c.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=O.newInstance(this._injector),n=new Function("Univer",`(() => {${t}})()`);try{return n(e),!0}catch(r){return this._logService.error(r),!1}}};E=Oe([N(0,c.ILogService),N(1,a.Inject(a.Injector))],E);const Ee="univer-script-editor-panel",ye="univer-script-editor-content",Ue="univer-script-editor-actions",I={scriptEditorPanel:Ee,scriptEditorContent:ye,scriptEditorActions:Ue};function $e(){const t=_.useRef(null),e=_.useRef(null),n=_.useRef(null),r=m.useDependency(c.LocaleService),s=m.useDependency(E),i=m.useDependency(d.IShortcutService),o=m.useDependency(R),M=m.useDependency(d.IMessageService);_.useEffect(()=>{const v=e.current,l=t.current;let u=null,S=null;if(v&&l){o.requireVscodeEditor();const w=n.current=ee.editor.create(v,{value:"",language:"javascript"});S=new ResizeObserver(()=>{let T=requestIdleCallback(()=>{if(!T)return;const{height:Y,width:Q}=l.getBoundingClientRect();w.layout({width:Q,height:Y}),T=void 0})}),S.observe(l);let p;u=new c.DisposableCollection,u.add(o.setEditorInstance(w)),u.add(w.onDidFocusEditorWidget(()=>{p=i.forceEscape()})),u.add(w.onDidBlurEditorWidget(()=>{p==null||p.dispose(),p=void 0})),u.add(c.toDisposable(()=>p==null?void 0:p.dispose()))}return()=>{S&&l&&S.unobserve(l),u==null||u.dispose()}},[]);const K=_.useCallback(()=>{var l;const v=(l=n.current)==null?void 0:l.getModel();v&&s.execute(v.getValue()).then(()=>{M.show({content:r.t("uniscript.message.success"),type:U.MessageType.Success})}).catch(()=>{M.show({content:r.t("uniscript.message.failed"),type:U.MessageType.Error})})},[s]);return f.jsxs("div",{className:I.scriptEditorPanel,children:[f.jsx("div",{className:I.scriptEditorContent,ref:t,children:f.jsx("div",{className:I.scriptEditorContainer,ref:e})}),f.jsx("div",{className:I.scriptEditorActions,children:f.jsx(U.Button,{type:"primary",size:"small",onClick:K,children:r.t("script-panel.panel.execute")})})]})}function xe(t){return{id:V.id,title:"toggle-script-panel",tooltip:"script-panel.tooltip.menu-button",icon:"CodeSingle",type:d.MenuItemType.BUTTON,positions:[d.MenuPosition.TOOLBAR_START],hidden$:d.getMenuHiddenObservable(t,c.UniverInstanceType.SHEET)}}var Re=Object.defineProperty,De=Object.getOwnPropertyDescriptor,ke=(t,e,n,r)=>{for(var s=r>1?void 0:r?De(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&Re(e,n,s),s},b=(t,e)=>(n,r)=>e(n,r,t);let j=class extends c.Disposable{constructor(t,e,n,r){super(),this._injector=t,this.disposeWithMe(e.addMenuItem(this._injector.invoke(xe))),this.disposeWithMe(r.register(z,$e)),this.disposeWithMe(n.registerCommand(V))}};j=ke([c.OnLifecycle(c.LifecycleStages.Steady,j),b(0,a.Inject(a.Injector)),b(1,d.IMenuService),b(2,c.ICommandService),b(3,a.Inject(d.ComponentManager))],j);var Me=Object.defineProperty,Te=Object.getOwnPropertyDescriptor,We=(t,e,n,r)=>{for(var s=r>1?void 0:r?Te(e,n):e,i=t.length-1,o;i>=0;i--)(o=t[i])&&(s=(r?o(e,n,s):o(s))||s);return r&&s&&Me(e,n,s),s},L=(t,e)=>(n,r)=>e(n,r,t);const qe="uniscript";var x;exports.UniverUniscriptPlugin=(x=class extends c.Plugin{constructor(e,n,r){super(qe),this._config=e,this._injector=n,this._localeService=r}onStarting(e){[[j],[R,{useFactory:()=>e.createInstance(R,this._config)}],[H],[E]].forEach(r=>e.add(r)),this._localeService.load({zhCN:B})}},g(x,"type",c.PluginType.Univer),x);exports.UniverUniscriptPlugin=We([L(1,a.Inject(a.Injector)),L(2,a.Inject(c.LocaleService))],exports.UniverUniscriptPlugin);exports.enUS=te;exports.zhCN=B;
|
package/lib/es/index.js
CHANGED
@@ -1,16 +1,16 @@
|
|
1
|
-
var
|
2
|
-
var
|
3
|
-
var
|
4
|
-
import { Disposable as O, CommandType as
|
5
|
-
import { Inject as c, Injector as
|
6
|
-
import { ISidebarService as
|
7
|
-
import { BehaviorSubject as
|
8
|
-
import
|
9
|
-
import { MessageType as
|
10
|
-
import { useDependency as
|
11
|
-
import { editor as
|
12
|
-
import { SetStyleCommand as
|
13
|
-
const
|
1
|
+
var Z = Object.defineProperty;
|
2
|
+
var ee = (t, e, r) => e in t ? Z(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
|
3
|
+
var h = (t, e, r) => (ee(t, typeof e != "symbol" ? e + "" : e, r), r);
|
4
|
+
import { Disposable as O, CommandType as te, toDisposable as H, ICommandService as E, Tools as re, DEFAULT_WORKSHEET as ne, IUniverInstanceService as oe, ILogService as ie, LocaleService as q, DisposableCollection as se, UniverInstanceType as ce, OnLifecycle as ae, LifecycleStages as le, Plugin as ue, PluginType as pe } from "@univerjs/core";
|
5
|
+
import { Inject as c, Injector as p } from "@wendellhu/redi";
|
6
|
+
import { ISidebarService as _e, IShortcutService as he, IMessageService as de, MenuItemType as ve, MenuPosition as me, getMenuHiddenObservable as ge, ComponentManager as fe, IMenuService as Se } from "@univerjs/ui";
|
7
|
+
import { BehaviorSubject as we, distinctUntilChanged as be } from "rxjs";
|
8
|
+
import Ie, { useRef as $, useEffect as Pe, useCallback as Ce } from "react";
|
9
|
+
import { MessageType as T, Button as Oe } from "@univerjs/design";
|
10
|
+
import { useDependency as d } from "@wendellhu/redi/react-bindings";
|
11
|
+
import { editor as Ee } from "monaco-editor";
|
12
|
+
import { SetStyleCommand as je, SetWorksheetRowHeightMutation as $e, SetWorksheetColWidthMutation as xe, SelectionManagerService as ye, InsertSheetCommand as Ue, SetWorksheetActivateCommand as Re } from "@univerjs/sheets";
|
13
|
+
const jt = {
|
14
14
|
"script-panel": {
|
15
15
|
title: "Uniscript",
|
16
16
|
tooltip: {
|
@@ -19,8 +19,14 @@ const St = {
|
|
19
19
|
panel: {
|
20
20
|
execute: "Execute Script"
|
21
21
|
}
|
22
|
+
},
|
23
|
+
uniscript: {
|
24
|
+
message: {
|
25
|
+
success: "Execution Success",
|
26
|
+
failed: "Execution Failed"
|
27
|
+
}
|
22
28
|
}
|
23
|
-
},
|
29
|
+
}, ke = {
|
24
30
|
"script-panel": {
|
25
31
|
title: "Uniscript",
|
26
32
|
tooltip: {
|
@@ -29,13 +35,19 @@ const St = {
|
|
29
35
|
panel: {
|
30
36
|
execute: "执行 Uniscript"
|
31
37
|
}
|
38
|
+
},
|
39
|
+
uniscript: {
|
40
|
+
message: {
|
41
|
+
success: "执行成功",
|
42
|
+
failed: "执行失败"
|
43
|
+
}
|
32
44
|
}
|
33
45
|
};
|
34
46
|
class V extends O {
|
35
47
|
constructor() {
|
36
48
|
super(...arguments);
|
37
|
-
|
38
|
-
|
49
|
+
h(this, "_open$", new we(!1));
|
50
|
+
h(this, "open$", this._open$.pipe(be()));
|
39
51
|
}
|
40
52
|
get isOpen() {
|
41
53
|
return this._open$.getValue();
|
@@ -50,19 +62,19 @@ class V extends O {
|
|
50
62
|
this._open$.next(!1);
|
51
63
|
}
|
52
64
|
}
|
53
|
-
const
|
54
|
-
type:
|
65
|
+
const z = "ScriptPanel", G = {
|
66
|
+
type: te.OPERATION,
|
55
67
|
id: "univer.operation.toggle-script-panel",
|
56
68
|
handler: (t) => {
|
57
|
-
const e = t.get(V), r = t.get(
|
69
|
+
const e = t.get(V), r = t.get(_e);
|
58
70
|
return e.isOpen ? (e.close(), r.close()) : (e.open(), r.open({
|
59
71
|
header: { title: "script-panel.title" },
|
60
|
-
children: { label:
|
72
|
+
children: { label: z },
|
61
73
|
width: 600
|
62
74
|
})), !0;
|
63
75
|
}
|
64
76
|
};
|
65
|
-
var
|
77
|
+
var J = { exports: {} }, j = {};
|
66
78
|
/**
|
67
79
|
* @license React
|
68
80
|
* react-jsx-runtime.production.min.js
|
@@ -72,25 +84,33 @@ var G = { exports: {} }, b = {};
|
|
72
84
|
* This source code is licensed under the MIT license found in the
|
73
85
|
* LICENSE file in the root directory of this source tree.
|
74
86
|
*/
|
75
|
-
var
|
76
|
-
function
|
87
|
+
var De = Ie, Me = Symbol.for("react.element"), Te = Symbol.for("react.fragment"), We = Object.prototype.hasOwnProperty, Ae = De.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, Fe = { key: !0, ref: !0, __self: !0, __source: !0 };
|
88
|
+
function K(t, e, r) {
|
77
89
|
var n, o = {}, i = null, s = null;
|
78
90
|
r !== void 0 && (i = "" + r), e.key !== void 0 && (i = "" + e.key), e.ref !== void 0 && (s = e.ref);
|
79
91
|
for (n in e)
|
80
|
-
|
92
|
+
We.call(e, n) && !Fe.hasOwnProperty(n) && (o[n] = e[n]);
|
81
93
|
if (t && t.defaultProps)
|
82
94
|
for (n in e = t.defaultProps, e)
|
83
95
|
o[n] === void 0 && (o[n] = e[n]);
|
84
|
-
return { $$typeof:
|
96
|
+
return { $$typeof: Me, type: t, key: i, ref: s, props: o, _owner: Ae.current };
|
85
97
|
}
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
var
|
91
|
-
class
|
92
|
-
constructor(
|
93
|
-
super()
|
98
|
+
j.Fragment = Te;
|
99
|
+
j.jsx = K;
|
100
|
+
j.jsxs = K;
|
101
|
+
J.exports = j;
|
102
|
+
var v = J.exports;
|
103
|
+
class U extends O {
|
104
|
+
constructor(r) {
|
105
|
+
super();
|
106
|
+
h(this, "_editorInstance", null);
|
107
|
+
this._config = r;
|
108
|
+
}
|
109
|
+
setEditorInstance(r) {
|
110
|
+
return this._editorInstance = r, H(() => this._editorInstance = null);
|
111
|
+
}
|
112
|
+
getEditorInstance() {
|
113
|
+
return this._editorInstance;
|
94
114
|
}
|
95
115
|
requireVscodeEditor() {
|
96
116
|
window.MonacoEnvironment || (window.MonacoEnvironment = {
|
@@ -98,12 +118,12 @@ class x extends O {
|
|
98
118
|
});
|
99
119
|
}
|
100
120
|
}
|
101
|
-
var
|
102
|
-
for (var o = n > 1 ? void 0 : n ?
|
121
|
+
var Ne = Object.defineProperty, Le = Object.getOwnPropertyDescriptor, Be = (t, e, r, n) => {
|
122
|
+
for (var o = n > 1 ? void 0 : n ? Le(e, r) : e, i = t.length - 1, s; i >= 0; i--)
|
103
123
|
(s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
|
104
|
-
return n && o &&
|
105
|
-
},
|
106
|
-
let
|
124
|
+
return n && o && Ne(e, r, o), o;
|
125
|
+
}, W = (t, e) => (r, n) => e(r, n, t);
|
126
|
+
let b = class {
|
107
127
|
constructor(t, e, r, n, o) {
|
108
128
|
this._workbook = t, this._worksheet = e, this._range = r, this._injector = n, this._commandService = o;
|
109
129
|
}
|
@@ -124,7 +144,7 @@ let S = class {
|
|
124
144
|
return ((t = this._worksheet.getCell(this._range.startRow, this._range.startColumn)) == null ? void 0 : t.v) ?? null;
|
125
145
|
}
|
126
146
|
setBackgroundColor(t) {
|
127
|
-
this._commandService.executeCommand(
|
147
|
+
this._commandService.executeCommand(je.id, {
|
128
148
|
unitId: this._workbook.getUnitId(),
|
129
149
|
subUnitId: this._worksheet.getSheetId(),
|
130
150
|
range: this._range,
|
@@ -137,39 +157,39 @@ let S = class {
|
|
137
157
|
});
|
138
158
|
}
|
139
159
|
};
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
],
|
144
|
-
var
|
145
|
-
for (var o = n > 1 ? void 0 : n ?
|
160
|
+
b = Be([
|
161
|
+
W(3, c(p)),
|
162
|
+
W(4, E)
|
163
|
+
], b);
|
164
|
+
var He = Object.defineProperty, qe = Object.getOwnPropertyDescriptor, Ve = (t, e, r, n) => {
|
165
|
+
for (var o = n > 1 ? void 0 : n ? qe(e, r) : e, i = t.length - 1, s; i >= 0; i--)
|
146
166
|
(s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
|
147
|
-
return n && o &&
|
148
|
-
},
|
149
|
-
let
|
167
|
+
return n && o && He(e, r, o), o;
|
168
|
+
}, ze = (t, e) => (r, n) => e(r, n, t);
|
169
|
+
let R = class {
|
150
170
|
constructor(t, e, r, n) {
|
151
171
|
this._workbook = t, this._worksheet = e, this._selections = r, this._injector = n;
|
152
172
|
}
|
153
173
|
getActiveRange() {
|
154
174
|
const t = this._selections.find((e) => !!e.primary);
|
155
|
-
return t ? this._injector.createInstance(
|
175
|
+
return t ? this._injector.createInstance(b, this._workbook, this._worksheet, t.range) : null;
|
156
176
|
}
|
157
177
|
};
|
158
|
-
|
159
|
-
|
160
|
-
],
|
161
|
-
var
|
162
|
-
for (var o = n > 1 ? void 0 : n ?
|
178
|
+
R = Ve([
|
179
|
+
ze(3, c(p))
|
180
|
+
], R);
|
181
|
+
var Ge = Object.defineProperty, Je = Object.getOwnPropertyDescriptor, Ke = (t, e, r, n) => {
|
182
|
+
for (var o = n > 1 ? void 0 : n ? Je(e, r) : e, i = t.length - 1, s; i >= 0; i--)
|
163
183
|
(s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
|
164
|
-
return n && o &&
|
165
|
-
},
|
184
|
+
return n && o && Ge(e, r, o), o;
|
185
|
+
}, x = (t, e) => (r, n) => e(r, n, t);
|
166
186
|
let I = class {
|
167
|
-
constructor(t, e, r, n) {
|
168
|
-
this._workbook = t, this._worksheet = e, this._injector = r, this._selectionManagerService = n;
|
187
|
+
constructor(t, e, r, n, o) {
|
188
|
+
this._workbook = t, this._worksheet = e, this._injector = r, this._selectionManagerService = n, this._commandService = o;
|
169
189
|
}
|
170
190
|
getSelection() {
|
171
191
|
const t = this._selectionManagerService.getSelections();
|
172
|
-
return t ? this._injector.createInstance(
|
192
|
+
return t ? this._injector.createInstance(R, this._workbook, this._worksheet, t) : null;
|
173
193
|
}
|
174
194
|
getRange(t, e, r, n) {
|
175
195
|
const o = {
|
@@ -178,34 +198,77 @@ let I = class {
|
|
178
198
|
startColumn: e,
|
179
199
|
endColumn: e + (n ?? 1) - 1
|
180
200
|
};
|
181
|
-
return this._injector.createInstance(
|
201
|
+
return this._injector.createInstance(b, this._workbook, this._worksheet, o);
|
202
|
+
}
|
203
|
+
setRowHeights(t, e, r) {
|
204
|
+
this._commandService.syncExecuteCommand($e.id, {
|
205
|
+
unitId: this._workbook.getUnitId(),
|
206
|
+
subUnitId: this._worksheet.getSheetId(),
|
207
|
+
ranges: [
|
208
|
+
{
|
209
|
+
startRow: t,
|
210
|
+
endRow: t + e - 1,
|
211
|
+
startColumn: 0,
|
212
|
+
endColumn: this._worksheet.getColumnCount() - 1
|
213
|
+
}
|
214
|
+
],
|
215
|
+
rowHeight: r
|
216
|
+
});
|
217
|
+
}
|
218
|
+
setColumnWidths(t, e, r) {
|
219
|
+
this._commandService.syncExecuteCommand(xe.id, {
|
220
|
+
unitId: this._workbook.getUnitId(),
|
221
|
+
subUnitId: this._worksheet.getSheetId(),
|
222
|
+
ranges: [
|
223
|
+
{
|
224
|
+
startColumn: t,
|
225
|
+
endColumn: t + e - 1,
|
226
|
+
startRow: 0,
|
227
|
+
endRow: this._worksheet.getRowCount() - 1
|
228
|
+
}
|
229
|
+
],
|
230
|
+
colWidth: r
|
231
|
+
});
|
182
232
|
}
|
183
233
|
};
|
184
|
-
I =
|
185
|
-
|
186
|
-
|
234
|
+
I = Ke([
|
235
|
+
x(2, c(p)),
|
236
|
+
x(3, c(ye)),
|
237
|
+
x(4, E)
|
187
238
|
], I);
|
188
|
-
var
|
189
|
-
for (var o = n > 1 ? void 0 : n ?
|
239
|
+
var Ye = Object.defineProperty, Qe = Object.getOwnPropertyDescriptor, Xe = (t, e, r, n) => {
|
240
|
+
for (var o = n > 1 ? void 0 : n ? Qe(e, r) : e, i = t.length - 1, s; i >= 0; i--)
|
190
241
|
(s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
|
191
|
-
return n && o &&
|
192
|
-
},
|
193
|
-
let
|
194
|
-
constructor(t, e) {
|
195
|
-
this._workbook = t, this._injector = e;
|
242
|
+
return n && o && Ye(e, r, o), o;
|
243
|
+
}, A = (t, e) => (r, n) => e(r, n, t);
|
244
|
+
let k = class {
|
245
|
+
constructor(t, e, r) {
|
246
|
+
this._workbook = t, this._injector = e, this._commandService = r;
|
196
247
|
}
|
197
248
|
getActiveSheet() {
|
198
249
|
const t = this._workbook.getActiveSheet();
|
199
250
|
return t ? this._injector.createInstance(I, this._workbook, t) : null;
|
200
251
|
}
|
252
|
+
create(t, e, r) {
|
253
|
+
const n = re.deepClone(ne);
|
254
|
+
return n.rowCount = e, n.columnCount = r, n.name = t, n.id = t.toLowerCase().replace(/ /g, "-"), this._commandService.syncExecuteCommand(Ue.id, {
|
255
|
+
unitId: this._workbook.getUnitId(),
|
256
|
+
index: this._workbook.getSheets().length,
|
257
|
+
sheet: n
|
258
|
+
}), this._commandService.syncExecuteCommand(Re.id, {
|
259
|
+
unitId: this._workbook.getUnitId(),
|
260
|
+
subUnitId: this._workbook.getSheets()[this._workbook.getSheets().length - 1].getSheetId()
|
261
|
+
}), this._injector.createInstance(I, this._workbook, this._workbook.getActiveSheet());
|
262
|
+
}
|
201
263
|
};
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
264
|
+
k = Xe([
|
265
|
+
A(1, c(p)),
|
266
|
+
A(2, E)
|
267
|
+
], k);
|
268
|
+
var Ze = Object.defineProperty, et = Object.getOwnPropertyDescriptor, tt = (t, e, r, n) => {
|
269
|
+
for (var o = n > 1 ? void 0 : n ? et(e, r) : e, i = t.length - 1, s; i >= 0; i--)
|
207
270
|
(s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
|
208
|
-
return n && o &&
|
271
|
+
return n && o && Ze(e, r, o), o;
|
209
272
|
}, F = (t, e) => (r, n) => e(r, n, t);
|
210
273
|
let P = class {
|
211
274
|
constructor(t, e) {
|
@@ -216,19 +279,19 @@ let P = class {
|
|
216
279
|
}
|
217
280
|
getCurrentSheet() {
|
218
281
|
const t = this._univerInstanceService.getCurrentUniverSheetInstance();
|
219
|
-
return t ? this._injector.createInstance(
|
282
|
+
return t ? this._injector.createInstance(k, t) : null;
|
220
283
|
}
|
221
284
|
};
|
222
|
-
P =
|
223
|
-
F(0, c(
|
224
|
-
F(1,
|
285
|
+
P = tt([
|
286
|
+
F(0, c(p)),
|
287
|
+
F(1, oe)
|
225
288
|
], P);
|
226
|
-
var
|
227
|
-
for (var o = n > 1 ? void 0 : n ?
|
289
|
+
var rt = Object.defineProperty, nt = Object.getOwnPropertyDescriptor, ot = (t, e, r, n) => {
|
290
|
+
for (var o = n > 1 ? void 0 : n ? nt(e, r) : e, i = t.length - 1, s; i >= 0; i--)
|
228
291
|
(s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
|
229
|
-
return n && o &&
|
230
|
-
},
|
231
|
-
let
|
292
|
+
return n && o && rt(e, r, o), o;
|
293
|
+
}, N = (t, e) => (r, n) => e(r, n, t);
|
294
|
+
let C = class extends O {
|
232
295
|
constructor(t, e) {
|
233
296
|
super(), this._logService = t, this._injector = e;
|
234
297
|
}
|
@@ -242,125 +305,127 @@ let w = class extends O {
|
|
242
305
|
}
|
243
306
|
}
|
244
307
|
};
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
],
|
249
|
-
const
|
250
|
-
scriptEditorPanel:
|
251
|
-
scriptEditorContent:
|
252
|
-
scriptEditorActions:
|
308
|
+
C = ot([
|
309
|
+
N(0, ie),
|
310
|
+
N(1, c(p))
|
311
|
+
], C);
|
312
|
+
const it = "univer-script-editor-panel", st = "univer-script-editor-content", ct = "univer-script-editor-actions", f = {
|
313
|
+
scriptEditorPanel: it,
|
314
|
+
scriptEditorContent: st,
|
315
|
+
scriptEditorActions: ct
|
253
316
|
};
|
254
|
-
function
|
255
|
-
const t =
|
256
|
-
|
317
|
+
function at() {
|
318
|
+
const t = $(null), e = $(null), r = $(null), n = d(q), o = d(C), i = d(he), s = d(U), D = d(de);
|
319
|
+
Pe(() => {
|
257
320
|
const _ = e.current, a = t.current;
|
258
|
-
let
|
321
|
+
let l = null, m = null;
|
259
322
|
if (_ && a) {
|
260
323
|
s.requireVscodeEditor();
|
261
|
-
const
|
324
|
+
const g = r.current = Ee.create(_, {
|
262
325
|
value: "",
|
263
326
|
language: "javascript"
|
264
327
|
});
|
265
|
-
|
266
|
-
let
|
267
|
-
if (!
|
328
|
+
m = new ResizeObserver(() => {
|
329
|
+
let M = requestIdleCallback(() => {
|
330
|
+
if (!M)
|
268
331
|
return;
|
269
|
-
const { height:
|
270
|
-
|
332
|
+
const { height: Q, width: X } = a.getBoundingClientRect();
|
333
|
+
g.layout({ width: X, height: Q }), M = void 0;
|
271
334
|
});
|
272
|
-
}),
|
273
|
-
let
|
274
|
-
|
275
|
-
|
276
|
-
|
335
|
+
}), m.observe(a);
|
336
|
+
let u;
|
337
|
+
l = new se(), l.add(s.setEditorInstance(g)), l.add(
|
338
|
+
g.onDidFocusEditorWidget(() => {
|
339
|
+
u = i.forceEscape();
|
277
340
|
})
|
278
|
-
),
|
279
|
-
|
280
|
-
|
341
|
+
), l.add(
|
342
|
+
g.onDidBlurEditorWidget(() => {
|
343
|
+
u == null || u.dispose(), u = void 0;
|
281
344
|
})
|
282
|
-
),
|
345
|
+
), l.add(H(() => u == null ? void 0 : u.dispose()));
|
283
346
|
}
|
284
347
|
return () => {
|
285
|
-
|
348
|
+
m && a && m.unobserve(a), l == null || l.dispose();
|
286
349
|
};
|
287
350
|
}, []);
|
288
|
-
const
|
351
|
+
const Y = Ce(() => {
|
289
352
|
var a;
|
290
353
|
const _ = (a = r.current) == null ? void 0 : a.getModel();
|
291
354
|
_ && o.execute(_.getValue()).then(() => {
|
292
|
-
|
293
|
-
content: "
|
294
|
-
type:
|
355
|
+
D.show({
|
356
|
+
content: n.t("uniscript.message.success"),
|
357
|
+
type: T.Success
|
295
358
|
});
|
296
359
|
}).catch(() => {
|
297
|
-
|
298
|
-
content: "
|
299
|
-
type:
|
360
|
+
D.show({
|
361
|
+
content: n.t("uniscript.message.failed"),
|
362
|
+
type: T.Error
|
300
363
|
});
|
301
364
|
});
|
302
365
|
}, [o]);
|
303
|
-
return /* @__PURE__ */
|
304
|
-
/* @__PURE__ */
|
305
|
-
/* @__PURE__ */
|
366
|
+
return /* @__PURE__ */ v.jsxs("div", { className: f.scriptEditorPanel, children: [
|
367
|
+
/* @__PURE__ */ v.jsx("div", { className: f.scriptEditorContent, ref: t, children: /* @__PURE__ */ v.jsx("div", { className: f.scriptEditorContainer, ref: e }) }),
|
368
|
+
/* @__PURE__ */ v.jsx("div", { className: f.scriptEditorActions, children: /* @__PURE__ */ v.jsx(Oe, { type: "primary", size: "small", onClick: Y, children: n.t("script-panel.panel.execute") }) })
|
306
369
|
] });
|
307
370
|
}
|
308
|
-
function
|
371
|
+
function lt(t) {
|
309
372
|
return {
|
310
|
-
id:
|
373
|
+
id: G.id,
|
311
374
|
title: "toggle-script-panel",
|
312
375
|
tooltip: "script-panel.tooltip.menu-button",
|
313
376
|
icon: "CodeSingle",
|
314
|
-
type:
|
315
|
-
positions: [
|
377
|
+
type: ve.BUTTON,
|
378
|
+
positions: [me.TOOLBAR_START],
|
379
|
+
hidden$: ge(t, ce.SHEET)
|
316
380
|
};
|
317
381
|
}
|
318
|
-
var
|
319
|
-
for (var o = n > 1 ? void 0 : n ?
|
382
|
+
var ut = Object.defineProperty, pt = Object.getOwnPropertyDescriptor, _t = (t, e, r, n) => {
|
383
|
+
for (var o = n > 1 ? void 0 : n ? pt(e, r) : e, i = t.length - 1, s; i >= 0; i--)
|
320
384
|
(s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
|
321
|
-
return n && o &&
|
322
|
-
},
|
323
|
-
let
|
324
|
-
constructor(t, e, r) {
|
325
|
-
super(), this.disposeWithMe(
|
385
|
+
return n && o && ut(e, r, o), o;
|
386
|
+
}, S = (t, e) => (r, n) => e(r, n, t);
|
387
|
+
let w = class extends O {
|
388
|
+
constructor(t, e, r, n) {
|
389
|
+
super(), this._injector = t, this.disposeWithMe(e.addMenuItem(this._injector.invoke(lt))), this.disposeWithMe(n.register(z, at)), this.disposeWithMe(r.registerCommand(G));
|
326
390
|
}
|
327
391
|
};
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
392
|
+
w = _t([
|
393
|
+
ae(le.Steady, w),
|
394
|
+
S(0, c(p)),
|
395
|
+
S(1, Se),
|
396
|
+
S(2, E),
|
397
|
+
S(3, c(fe))
|
398
|
+
], w);
|
399
|
+
var ht = Object.defineProperty, dt = Object.getOwnPropertyDescriptor, vt = (t, e, r, n) => {
|
400
|
+
for (var o = n > 1 ? void 0 : n ? dt(e, r) : e, i = t.length - 1, s; i >= 0; i--)
|
336
401
|
(s = t[i]) && (o = (n ? s(e, r, o) : s(o)) || o);
|
337
|
-
return n && o &&
|
338
|
-
},
|
339
|
-
const
|
340
|
-
var
|
341
|
-
let
|
402
|
+
return n && o && ht(e, r, o), o;
|
403
|
+
}, L = (t, e) => (r, n) => e(r, n, t);
|
404
|
+
const mt = "uniscript";
|
405
|
+
var y;
|
406
|
+
let B = (y = class extends ue {
|
342
407
|
constructor(t, e, r) {
|
343
|
-
super(
|
408
|
+
super(mt), this._config = t, this._injector = e, this._localeService = r;
|
344
409
|
}
|
345
410
|
onStarting(t) {
|
346
411
|
[
|
347
412
|
// controllers
|
348
|
-
[
|
413
|
+
[w],
|
349
414
|
// services
|
350
|
-
[
|
415
|
+
[U, { useFactory: () => t.createInstance(U, this._config) }],
|
351
416
|
[V],
|
352
|
-
[
|
417
|
+
[C]
|
353
418
|
].forEach((r) => t.add(r)), this._localeService.load({
|
354
|
-
zhCN:
|
419
|
+
zhCN: ke
|
355
420
|
});
|
356
421
|
}
|
357
|
-
},
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
],
|
422
|
+
}, h(y, "type", pe.Univer), y);
|
423
|
+
B = vt([
|
424
|
+
L(1, c(p)),
|
425
|
+
L(2, c(q))
|
426
|
+
], B);
|
362
427
|
export {
|
363
|
-
|
364
|
-
|
365
|
-
|
428
|
+
B as UniverUniscriptPlugin,
|
429
|
+
jt as enUS,
|
430
|
+
ke as zhCN
|
366
431
|
};
|
@@ -14,4 +14,5 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
import type { IMenuButtonItem } from '@univerjs/ui';
|
17
|
-
|
17
|
+
import type { IAccessor } from '@wendellhu/redi';
|
18
|
+
export declare function UniscriptMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
|
@@ -15,6 +15,8 @@
|
|
15
15
|
*/
|
16
16
|
import { Disposable, ICommandService } from '@univerjs/core';
|
17
17
|
import { ComponentManager, IMenuService } from '@univerjs/ui';
|
18
|
+
import { Injector } from '@wendellhu/redi';
|
18
19
|
export declare class UniscriptController extends Disposable {
|
19
|
-
|
20
|
+
private readonly _injector;
|
21
|
+
constructor(_injector: Injector, menuService: IMenuService, commandService: ICommandService, componentManager: ComponentManager);
|
20
22
|
}
|
@@ -13,12 +13,14 @@
|
|
13
13
|
* See the License for the specific language governing permissions and
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
|
-
import type
|
16
|
+
import { ICommandService, type Workbook } from '@univerjs/core';
|
17
17
|
import { Injector } from '@wendellhu/redi';
|
18
18
|
import { FWorksheet } from './f-worksheet';
|
19
19
|
export declare class FWorkbook {
|
20
20
|
private readonly _workbook;
|
21
21
|
private readonly _injector;
|
22
|
-
|
22
|
+
private readonly _commandService;
|
23
|
+
constructor(_workbook: Workbook, _injector: Injector, _commandService: ICommandService);
|
23
24
|
getActiveSheet(): FWorksheet | null;
|
25
|
+
create(name: string, rows: number, column: number): FWorksheet;
|
24
26
|
}
|
@@ -13,7 +13,7 @@
|
|
13
13
|
* See the License for the specific language governing permissions and
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
|
-
import type
|
16
|
+
import { ICommandService, type Workbook, type Worksheet } from '@univerjs/core';
|
17
17
|
import { SelectionManagerService } from '@univerjs/sheets';
|
18
18
|
import { Injector } from '@wendellhu/redi';
|
19
19
|
import { FRange } from './f-range';
|
@@ -23,7 +23,10 @@ export declare class FWorksheet {
|
|
23
23
|
private readonly _worksheet;
|
24
24
|
private readonly _injector;
|
25
25
|
private readonly _selectionManagerService;
|
26
|
-
|
26
|
+
private readonly _commandService;
|
27
|
+
constructor(_workbook: Workbook, _worksheet: Worksheet, _injector: Injector, _selectionManagerService: SelectionManagerService, _commandService: ICommandService);
|
27
28
|
getSelection(): FSelection | null;
|
28
29
|
getRange(row: number, col: number, height?: number, width?: number): FRange | null;
|
30
|
+
setRowHeights(startRow: number, numRows: number, height: number): void;
|
31
|
+
setColumnWidths(startColumn: number, numColumns: number, width: number): void;
|
29
32
|
}
|
@@ -14,14 +14,20 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
import { Disposable } from '@univerjs/core';
|
17
|
+
import type { IDisposable } from '@wendellhu/redi';
|
18
|
+
import type { editor } from '../../node_modules/monaco-editor/esm/vs/editor/editor.api';
|
17
19
|
export interface IScriptEditorServiceConfig {
|
18
20
|
getWorkerUrl(moduleID: string, label: string): string;
|
19
21
|
}
|
20
22
|
/**
|
21
|
-
* This service is for loading monaco editor and its resources.
|
23
|
+
* This service is for loading monaco editor and its resources. It also holds the
|
24
|
+
* monaco editor instance so user can interact with the editor programmatically.
|
22
25
|
*/
|
23
26
|
export declare class ScriptEditorService extends Disposable {
|
24
27
|
private readonly _config;
|
28
|
+
private _editorInstance;
|
25
29
|
constructor(_config: IScriptEditorServiceConfig);
|
30
|
+
setEditorInstance(editor: editor.IStandaloneCodeEditor): IDisposable;
|
31
|
+
getEditorInstance(): editor.IStandaloneCodeEditor | null;
|
26
32
|
requireVscodeEditor(): void;
|
27
33
|
}
|
package/lib/umd/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
(function(a,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("@univerjs/ui"),require("rxjs"),require("react"),require("@univerjs/design"),require("@wendellhu/redi/react-bindings"),require("monaco-editor"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","@univerjs/ui","rxjs","react","@univerjs/design","@wendellhu/redi/react-bindings","monaco-editor","@univerjs/sheets"],c):(a=typeof globalThis<"u"?globalThis:a||self,c(a.UniverUniscript={},a.UniverCore,a["@wendellhu/redi"],a.UniverUi,a.rxjs,a.React,a.UniverDesign,a["@wendellhu/redi/react-bindings"],a.monaco,a.UniverSheets))})(this,function(a,c,l,
|
1
|
+
(function(a,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("@univerjs/ui"),require("rxjs"),require("react"),require("@univerjs/design"),require("@wendellhu/redi/react-bindings"),require("monaco-editor"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","@univerjs/ui","rxjs","react","@univerjs/design","@wendellhu/redi/react-bindings","monaco-editor","@univerjs/sheets"],c):(a=typeof globalThis<"u"?globalThis:a||self,c(a.UniverUniscript={},a.UniverCore,a["@wendellhu/redi"],a.UniverUi,a.rxjs,a.React,a.UniverDesign,a["@wendellhu/redi/react-bindings"],a.monaco,a.UniverSheets))})(this,function(a,c,l,u,M,_,x,f,Y,v){"use strict";var Te=Object.defineProperty;var Me=(a,c,l)=>c in a?Te(a,c,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[c]=l;var S=(a,c,l)=>(Me(a,typeof c!="symbol"?c+"":c,l),l);var T;const Q={"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:"执行失败"}}};class A extends c.Disposable{constructor(){super(...arguments);S(this,"_open$",new M.BehaviorSubject(!1));S(this,"open$",this._open$.pipe(M.distinctUntilChanged()))}get isOpen(){return this._open$.getValue()}dispose(){this._open$.next(!1),this._open$.complete()}open(){this._open$.next(!0)}close(){this._open$.next(!1)}}const F="ScriptPanel",N={type:c.CommandType.OPERATION,id:"univer.operation.toggle-script-panel",handler:t=>{const e=t.get(A),r=t.get(u.ISidebarService);return e.isOpen?(e.close(),r.close()):(e.open(),r.open({header:{title:"script-panel.title"},children:{label:F},width:600})),!0}};var L={exports:{}},w={};/**
|
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
|
9
|
+
*/var X=_,Z=Symbol.for("react.element"),ee=Symbol.for("react.fragment"),te=Object.prototype.hasOwnProperty,ne=X.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,re={key:!0,ref:!0,__self:!0,__source:!0};function q(t,e,r){var n,i={},s=null,o=null;r!==void 0&&(s=""+r),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(n in e)te.call(e,n)&&!re.hasOwnProperty(n)&&(i[n]=e[n]);if(t&&t.defaultProps)for(n in e=t.defaultProps,e)i[n]===void 0&&(i[n]=e[n]);return{$$typeof:Z,type:t,key:s,ref:o,props:i,_owner:ne.current}}w.Fragment=ee,w.jsx=q,w.jsxs=q,L.exports=w;var g=L.exports;class R extends c.Disposable{constructor(r){super();S(this,"_editorInstance",null);this._config=r}setEditorInstance(r){return this._editorInstance=r,c.toDisposable(()=>this._editorInstance=null)}getEditorInstance(){return this._editorInstance}requireVscodeEditor(){window.MonacoEnvironment||(window.MonacoEnvironment={getWorkerUrl:this._config.getWorkerUrl})}}var ie=Object.defineProperty,se=Object.getOwnPropertyDescriptor,oe=(t,e,r,n)=>{for(var i=n>1?void 0:n?se(e,r):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&ie(e,r,i),i},H=(t,e)=>(r,n)=>e(r,n,t);let I=class{constructor(t,e,r,n,i){this._workbook=t,this._worksheet=e,this._range=r,this._injector=n,this._commandService=i}getRow(){return this._range.startRow}getColumn(){return this._range.startColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}getValue(){var t;return((t=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:t.v)??null}setBackgroundColor(t){this._commandService.executeCommand(v.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:t}}})}};I=oe([H(3,l.Inject(l.Injector)),H(4,c.ICommandService)],I);var ce=Object.defineProperty,ae=Object.getOwnPropertyDescriptor,le=(t,e,r,n)=>{for(var i=n>1?void 0:n?ae(e,r):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&ce(e,r,i),i},ue=(t,e)=>(r,n)=>e(r,n,t);let D=class{constructor(t,e,r,n){this._workbook=t,this._worksheet=e,this._selections=r,this._injector=n}getActiveRange(){const t=this._selections.find(e=>!!e.primary);return t?this._injector.createInstance(I,this._workbook,this._worksheet,t.range):null}};D=le([ue(3,l.Inject(l.Injector))],D);var pe=Object.defineProperty,de=Object.getOwnPropertyDescriptor,he=(t,e,r,n)=>{for(var i=n>1?void 0:n?de(e,r):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&pe(e,r,i),i},$=(t,e)=>(r,n)=>e(r,n,t);let j=class{constructor(t,e,r,n,i){this._workbook=t,this._worksheet=e,this._injector=r,this._selectionManagerService=n,this._commandService=i}getSelection(){const t=this._selectionManagerService.getSelections();return t?this._injector.createInstance(D,this._workbook,this._worksheet,t):null}getRange(t,e,r,n){const i={startRow:t,endRow:t+(r??1)-1,startColumn:e,endColumn:e+(n??1)-1};return this._injector.createInstance(I,this._workbook,this._worksheet,i)}setRowHeights(t,e,r){this._commandService.syncExecuteCommand(v.SetWorksheetRowHeightMutation.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[{startRow:t,endRow:t+e-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}],rowHeight:r})}setColumnWidths(t,e,r){this._commandService.syncExecuteCommand(v.SetWorksheetColWidthMutation.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[{startColumn:t,endColumn:t+e-1,startRow:0,endRow:this._worksheet.getRowCount()-1}],colWidth:r})}};j=he([$(2,l.Inject(l.Injector)),$(3,l.Inject(v.SelectionManagerService)),$(4,c.ICommandService)],j);var _e=Object.defineProperty,ve=Object.getOwnPropertyDescriptor,fe=(t,e,r,n)=>{for(var i=n>1?void 0:n?ve(e,r):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&_e(e,r,i),i},z=(t,e)=>(r,n)=>e(r,n,t);let k=class{constructor(t,e,r){this._workbook=t,this._injector=e,this._commandService=r}getActiveSheet(){const t=this._workbook.getActiveSheet();return t?this._injector.createInstance(j,this._workbook,t):null}create(t,e,r){const n=c.Tools.deepClone(c.DEFAULT_WORKSHEET);return n.rowCount=e,n.columnCount=r,n.name=t,n.id=t.toLowerCase().replace(/ /g,"-"),this._commandService.syncExecuteCommand(v.InsertSheetCommand.id,{unitId:this._workbook.getUnitId(),index:this._workbook.getSheets().length,sheet:n}),this._commandService.syncExecuteCommand(v.SetWorksheetActivateCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId()}),this._injector.createInstance(j,this._workbook,this._workbook.getActiveSheet())}};k=fe([z(1,l.Inject(l.Injector)),z(2,c.ICommandService)],k);var ge=Object.defineProperty,me=Object.getOwnPropertyDescriptor,Se=(t,e,r,n)=>{for(var i=n>1?void 0:n?me(e,r):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&ge(e,r,i),i},V=(t,e)=>(r,n)=>e(r,n,t);let b=class{constructor(t,e){this._injector=t,this._univerInstanceService=e}static newInstance(t){return t.createInstance(b)}getCurrentSheet(){const t=this._univerInstanceService.getCurrentUniverSheetInstance();return t?this._injector.createInstance(k,t):null}};b=Se([V(0,l.Inject(l.Injector)),V(1,c.IUniverInstanceService)],b);var we=Object.defineProperty,Ie=Object.getOwnPropertyDescriptor,je=(t,e,r,n)=>{for(var i=n>1?void 0:n?Ie(e,r):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&we(e,r,i),i},B=(t,e)=>(r,n)=>e(r,n,t);let C=class extends c.Disposable{constructor(t,e){super(),this._logService=t,this._injector=e}async execute(t){this._logService.log("[UniscriptExecutionService]","executing Uniscript...");const e=b.newInstance(this._injector),r=new Function("Univer",`(() => {${t}})()`);try{return r(e),!0}catch(n){return this._logService.error(n),!1}}};C=je([B(0,c.ILogService),B(1,l.Inject(l.Injector))],C);const P={scriptEditorPanel:"univer-script-editor-panel",scriptEditorContent:"univer-script-editor-content",scriptEditorActions:"univer-script-editor-actions"};function be(){const t=_.useRef(null),e=_.useRef(null),r=_.useRef(null),n=f.useDependency(c.LocaleService),i=f.useDependency(C),s=f.useDependency(u.IShortcutService),o=f.useDependency(R),J=f.useDependency(u.IMessageService);_.useEffect(()=>{const m=e.current,p=t.current;let d=null,y=null;if(m&&p){o.requireVscodeEditor();const U=r.current=Y.editor.create(m,{value:"",language:"javascript"});y=new ResizeObserver(()=>{let K=requestIdleCallback(()=>{if(!K)return;const{height:$e,width:ke}=p.getBoundingClientRect();U.layout({width:ke,height:$e}),K=void 0})}),y.observe(p);let h;d=new c.DisposableCollection,d.add(o.setEditorInstance(U)),d.add(U.onDidFocusEditorWidget(()=>{h=s.forceEscape()})),d.add(U.onDidBlurEditorWidget(()=>{h==null||h.dispose(),h=void 0})),d.add(c.toDisposable(()=>h==null?void 0:h.dispose()))}return()=>{y&&p&&y.unobserve(p),d==null||d.dispose()}},[]);const De=_.useCallback(()=>{var p;const m=(p=r.current)==null?void 0:p.getModel();m&&i.execute(m.getValue()).then(()=>{J.show({content:n.t("uniscript.message.success"),type:x.MessageType.Success})}).catch(()=>{J.show({content:n.t("uniscript.message.failed"),type:x.MessageType.Error})})},[i]);return g.jsxs("div",{className:P.scriptEditorPanel,children:[g.jsx("div",{className:P.scriptEditorContent,ref:t,children:g.jsx("div",{className:P.scriptEditorContainer,ref:e})}),g.jsx("div",{className:P.scriptEditorActions,children:g.jsx(x.Button,{type:"primary",size:"small",onClick:De,children:n.t("script-panel.panel.execute")})})]})}function Ce(t){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(t,c.UniverInstanceType.SHEET)}}var Pe=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor,Ee=(t,e,r,n)=>{for(var i=n>1?void 0:n?Oe(e,r):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&Pe(e,r,i),i},O=(t,e)=>(r,n)=>e(r,n,t);let E=class extends c.Disposable{constructor(t,e,r,n){super(),this._injector=t,this.disposeWithMe(e.addMenuItem(this._injector.invoke(Ce))),this.disposeWithMe(n.register(F,be)),this.disposeWithMe(r.registerCommand(N))}};E=Ee([c.OnLifecycle(c.LifecycleStages.Steady,E),O(0,l.Inject(l.Injector)),O(1,u.IMenuService),O(2,c.ICommandService),O(3,l.Inject(u.ComponentManager))],E);var ye=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,xe=(t,e,r,n)=>{for(var i=n>1?void 0:n?Ue(e,r):e,s=t.length-1,o;s>=0;s--)(o=t[s])&&(i=(n?o(e,r,i):o(i))||i);return n&&i&&ye(e,r,i),i},G=(t,e)=>(r,n)=>e(r,n,t);const Re="uniscript";a.UniverUniscriptPlugin=(T=class extends c.Plugin{constructor(e,r,n){super(Re),this._config=e,this._injector=r,this._localeService=n}onStarting(e){[[E],[R,{useFactory:()=>e.createInstance(R,this._config)}],[A],[C]].forEach(n=>e.add(n)),this._localeService.load({zhCN:W})}},S(T,"type",c.PluginType.Univer),T),a.UniverUniscriptPlugin=xe([G(1,l.Inject(l.Injector)),G(2,l.Inject(c.LocaleService))],a.UniverUniscriptPlugin),a.enUS=Q,a.zhCN=W,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@univerjs/uniscript",
|
3
|
-
"version": "0.1.0-
|
3
|
+
"version": "0.1.0-beta.1",
|
4
4
|
"description": "UI component library for building exceptional Univer.",
|
5
5
|
"keywords": [],
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
@@ -34,35 +34,37 @@
|
|
34
34
|
"**/*.css"
|
35
35
|
],
|
36
36
|
"private": false,
|
37
|
-
"
|
38
|
-
"@types/react": "^18.2.42",
|
39
|
-
"@vitejs/plugin-react": "^4.2.1",
|
40
|
-
"@vitest/coverage-istanbul": "^1.0.4",
|
37
|
+
"dependencies": {
|
41
38
|
"@wendellhu/redi": "^0.12.12",
|
42
|
-
"less": "^4.2.0",
|
43
39
|
"monaco-editor": "0.45.0",
|
44
40
|
"rxjs": "^7.8.1",
|
41
|
+
"@univerjs/core": "0.1.0-beta.1",
|
42
|
+
"@univerjs/design": "0.1.0-beta.1",
|
43
|
+
"@univerjs/sheets-ui": "0.1.0-beta.1",
|
44
|
+
"@univerjs/ui": "0.1.0-beta.1",
|
45
|
+
"@univerjs/sheets": "0.1.0-beta.1"
|
46
|
+
},
|
47
|
+
"devDependencies": {
|
48
|
+
"@types/react": "^18.2.45",
|
49
|
+
"@vitejs/plugin-react": "^4.2.1",
|
50
|
+
"@vitest/coverage-istanbul": "^1.1.0",
|
51
|
+
"less": "^4.2.0",
|
45
52
|
"typescript": "^5.3.3",
|
46
|
-
"vite": "^5.0.
|
53
|
+
"vite": "^5.0.10",
|
47
54
|
"vite-plugin-dts": "^3.6.4",
|
48
55
|
"vite-plugin-externals": "^0.6.2",
|
49
|
-
"vitest": "^1.0
|
50
|
-
"@univerjs/design": "0.1.0-alpha.3",
|
51
|
-
"@univerjs/core": "0.1.0-alpha.3",
|
52
|
-
"@univerjs/sheets": "0.1.0-alpha.3",
|
53
|
-
"@univerjs/ui": "0.1.0-alpha.3",
|
54
|
-
"@univerjs/sheets-ui": "0.1.0-alpha.3"
|
56
|
+
"vitest": "^1.1.0"
|
55
57
|
},
|
56
58
|
"peerDependencies": {
|
57
59
|
"@wendellhu/redi": ">=0.12.12",
|
58
60
|
"monaco-editor": ">=0.44.0",
|
59
61
|
"react": ">=16.9.0",
|
60
62
|
"rxjs": ">=7.0.0",
|
61
|
-
"@univerjs/
|
62
|
-
"@univerjs/
|
63
|
-
"@univerjs/sheets": "0.1.0-
|
64
|
-
"@univerjs/
|
65
|
-
"@univerjs/
|
63
|
+
"@univerjs/core": "0.1.0-beta.1",
|
64
|
+
"@univerjs/design": "0.1.0-beta.1",
|
65
|
+
"@univerjs/sheets-ui": "0.1.0-beta.1",
|
66
|
+
"@univerjs/ui": "0.1.0-beta.1",
|
67
|
+
"@univerjs/sheets": "0.1.0-beta.1"
|
66
68
|
},
|
67
69
|
"scripts": {
|
68
70
|
"test": "vitest run",
|