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