@univerjs/uniscript 0.1.0-alpha.3 → 0.1.0-beta.1
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 +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",
|