@univerjs/sheets-graphics 0.5.1-nightly.202412061606
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/README.md +27 -0
- package/lib/cjs/index.js +1 -0
- package/lib/es/index.js +77 -0
- package/lib/types/common/const.d.ts +17 -0
- package/lib/types/controllers/config.schema.d.ts +7 -0
- package/lib/types/controllers/graphics-render.controller.d.ts +9 -0
- package/lib/types/index.d.ts +17 -0
- package/lib/types/plugin.d.ts +12 -0
- package/lib/types/views/extensions/graphics.extension.d.ts +12 -0
- package/lib/umd/index.js +1 -0
- package/package.json +80 -0
package/README.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# @univerjs/sheets-graphics
|
|
2
|
+
|
|
3
|
+
## Package Overview
|
|
4
|
+
|
|
5
|
+
| Package Name | UMD Namespace | Version | License | Downloads | Contains CSS | Contains i18n locales |
|
|
6
|
+
| --- | --- | --- | --- | --- | :---: | :---: |
|
|
7
|
+
| `@univerjs/sheets-graphics` | `UniverSheetGraphicsPlugin` | [![][npm-version-shield]][npm-version-link] | ![][npm-license-shield] | ![][npm-downloads-shield] | ❌ | ❌ |
|
|
8
|
+
|
|
9
|
+
## Introduction
|
|
10
|
+
|
|
11
|
+
`@univerjs/sheets-graphics` is a basic in-cell graphics drawing plugin for Univer Sheet.
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```shell
|
|
16
|
+
# Using npm
|
|
17
|
+
npm install @univerjs/sheets-graphics
|
|
18
|
+
|
|
19
|
+
# Using pnpm
|
|
20
|
+
pnpm add @univerjs/sheets-graphics
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
<!-- Links -->
|
|
24
|
+
[npm-version-shield]: https://img.shields.io/npm/v/@univerjs/sheets-graphics?style=flat-square
|
|
25
|
+
[npm-version-link]: https://npmjs.com/package/@univerjs/sheets-graphics
|
|
26
|
+
[npm-license-shield]: https://img.shields.io/npm/l/@univerjs/sheets-graphics?style=flat-square
|
|
27
|
+
[npm-downloads-shield]: https://img.shields.io/npm/dm/@univerjs/sheets-graphics?style=flat-square
|
package/lib/cjs/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var v=Object.defineProperty;var P=(s,r,e)=>r in s?v(s,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[r]=e;var a=(s,r,e)=>P(s,typeof r!="symbol"?r+"":r,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("@univerjs/core"),d=require("@univerjs/engine-render"),N="graphics.config",G={},l="SheetGraphicsExtension",x=35;class M extends d.SheetExtension{constructor(){super(...arguments);a(this,"uKey",l);a(this,"Z_INDEX",x);a(this,"_graphicsRenderMap",new Map)}registerRenderer(e,t){this._graphicsRenderMap.set(e,t)}draw(e,t,n,c,{viewRanges:o}){const u=Array.from(this._graphicsRenderMap.keys());o.forEach(E=>{i.Range.foreach(E,(I,R)=>{const _=n.getCellByIndexWithNoHeader(I,R);_&&u.forEach(S=>{const h=this._graphicsRenderMap.get(S);h==null||h(e,n,_)})})})}dispose(){this._graphicsRenderMap.clear()}}class f extends i.Disposable{constructor(e){super();a(this,"_graphicsExtensionInstance",null);this._context=e,this._initRender()}_initRender(){const e=this._context.mainComponent;e&&!e.getExtensionByKey(l)&&(this._graphicsExtensionInstance=new M,e.register(this._graphicsExtensionInstance))}registerRenderer(e,t){var n;(n=this._graphicsExtensionInstance)==null||n.registerRenderer(e,t)}}var U=Object.defineProperty,y=Object.getOwnPropertyDescriptor,C=(s,r,e,t)=>{for(var n=t>1?void 0:t?y(r,e):r,c=s.length-1,o;c>=0;c--)(o=s[c])&&(n=(t?o(r,e,n):o(n))||n);return t&&n&&U(r,e,n),n},g=(s,r)=>(e,t)=>r(e,t,s);const O="UNIVER_SHEET_DRAWING_PLUGIN";var p;exports.UniverSheetGraphicsPlugin=(p=class extends i.Plugin{constructor(r=G,e,t,n){super(),this._config=r,this._injector=e,this._configService=t,this._renderManagerService=n;const{...c}=this._config;this._configService.setConfig(N,c)}onRendered(){[[f]].forEach(r=>{this._renderManagerService.registerRenderModule(i.UniverInstanceType.UNIVER_SHEET,r)})}},a(p,"pluginName",O),p);exports.UniverSheetGraphicsPlugin=C([g(1,i.Inject(i.Injector)),g(2,i.IConfigService),g(3,d.IRenderManagerService)],exports.UniverSheetGraphicsPlugin);exports.SheetGraphicsRenderController=f;
|
package/lib/es/index.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
var u = Object.defineProperty;
|
|
2
|
+
var v = (n, r, e) => r in n ? u(n, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[r] = e;
|
|
3
|
+
var i = (n, r, e) => v(n, typeof r != "symbol" ? r + "" : r, e);
|
|
4
|
+
import { Range as N, Disposable as S, Inject as x, Injector as P, Plugin as M, UniverInstanceType as G, IConfigService as m } from "@univerjs/core";
|
|
5
|
+
import { SheetExtension as C, IRenderManagerService as U } from "@univerjs/engine-render";
|
|
6
|
+
const y = "graphics.config", D = {}, d = "SheetGraphicsExtension", O = 35;
|
|
7
|
+
class j extends C {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
i(this, "uKey", d);
|
|
11
|
+
i(this, "Z_INDEX", O);
|
|
12
|
+
i(this, "_graphicsRenderMap", /* @__PURE__ */ new Map());
|
|
13
|
+
}
|
|
14
|
+
registerRenderer(e, t) {
|
|
15
|
+
this._graphicsRenderMap.set(e, t);
|
|
16
|
+
}
|
|
17
|
+
draw(e, t, s, a, { viewRanges: c }) {
|
|
18
|
+
const f = Array.from(this._graphicsRenderMap.keys());
|
|
19
|
+
c.forEach((E) => {
|
|
20
|
+
N.foreach(E, (l, I) => {
|
|
21
|
+
const p = s.getCellByIndexWithNoHeader(l, I);
|
|
22
|
+
p && f.forEach((R) => {
|
|
23
|
+
const o = this._graphicsRenderMap.get(R);
|
|
24
|
+
o == null || o(e, s, p);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
dispose() {
|
|
30
|
+
this._graphicsRenderMap.clear();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
class w extends S {
|
|
34
|
+
constructor(e) {
|
|
35
|
+
super();
|
|
36
|
+
i(this, "_graphicsExtensionInstance", null);
|
|
37
|
+
this._context = e, this._initRender();
|
|
38
|
+
}
|
|
39
|
+
_initRender() {
|
|
40
|
+
const e = this._context.mainComponent;
|
|
41
|
+
e && !e.getExtensionByKey(d) && (this._graphicsExtensionInstance = new j(), e.register(this._graphicsExtensionInstance));
|
|
42
|
+
}
|
|
43
|
+
registerRenderer(e, t) {
|
|
44
|
+
var s;
|
|
45
|
+
(s = this._graphicsExtensionInstance) == null || s.registerRenderer(e, t);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
var T = Object.defineProperty, A = Object.getOwnPropertyDescriptor, H = (n, r, e, t) => {
|
|
49
|
+
for (var s = t > 1 ? void 0 : t ? A(r, e) : r, a = n.length - 1, c; a >= 0; a--)
|
|
50
|
+
(c = n[a]) && (s = (t ? c(r, e, s) : c(s)) || s);
|
|
51
|
+
return t && s && T(r, e, s), s;
|
|
52
|
+
}, h = (n, r) => (e, t) => r(e, t, n);
|
|
53
|
+
const K = "UNIVER_SHEET_DRAWING_PLUGIN";
|
|
54
|
+
var _;
|
|
55
|
+
let g = (_ = class extends M {
|
|
56
|
+
constructor(n = D, r, e, t) {
|
|
57
|
+
super(), this._config = n, this._injector = r, this._configService = e, this._renderManagerService = t;
|
|
58
|
+
const { ...s } = this._config;
|
|
59
|
+
this._configService.setConfig(y, s);
|
|
60
|
+
}
|
|
61
|
+
onRendered() {
|
|
62
|
+
[
|
|
63
|
+
[w]
|
|
64
|
+
].forEach((n) => {
|
|
65
|
+
this._renderManagerService.registerRenderModule(G.UNIVER_SHEET, n);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}, i(_, "pluginName", K), _);
|
|
69
|
+
g = H([
|
|
70
|
+
h(1, x(P)),
|
|
71
|
+
h(2, m),
|
|
72
|
+
h(3, U)
|
|
73
|
+
], g);
|
|
74
|
+
export {
|
|
75
|
+
w as SheetGraphicsRenderController,
|
|
76
|
+
g as UniverSheetGraphicsPlugin
|
|
77
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023-present DreamNum Inc.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export declare const UNIQUE_KEY = "SheetGraphicsExtension";
|
|
17
|
+
export declare const GRAPHICS_EXTENSION_INDEX = 35;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DependencyOverride } from '@univerjs/core';
|
|
2
|
+
export declare const PLUGIN_CONFIG_KEY = "graphics.config";
|
|
3
|
+
export declare const configSymbol: unique symbol;
|
|
4
|
+
export interface IUniverSheetGraphicsConfig {
|
|
5
|
+
override?: DependencyOverride;
|
|
6
|
+
}
|
|
7
|
+
export declare const defaultPluginConfig: IUniverSheetGraphicsConfig;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ISelectionCellWithMergeInfo, Disposable } from '@univerjs/core';
|
|
2
|
+
import { IRenderContext, IRenderModule, SpreadsheetSkeleton, UniverRenderingContext } from '@univerjs/engine-render';
|
|
3
|
+
export declare class SheetGraphicsRenderController extends Disposable implements IRenderModule {
|
|
4
|
+
private readonly _context;
|
|
5
|
+
private _graphicsExtensionInstance;
|
|
6
|
+
constructor(_context: IRenderContext);
|
|
7
|
+
private _initRender;
|
|
8
|
+
registerRenderer(key: string, renderer: (ctx: UniverRenderingContext, skeleton: SpreadsheetSkeleton, coordInfo: ISelectionCellWithMergeInfo) => void): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023-present DreamNum Inc.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export { UniverSheetGraphicsPlugin } from './plugin';
|
|
17
|
+
export { SheetGraphicsRenderController } from './controllers/graphics-render.controller';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IUniverSheetGraphicsConfig } from './controllers/config.schema';
|
|
2
|
+
import { IConfigService, Injector, Plugin } from '@univerjs/core';
|
|
3
|
+
import { IRenderManagerService } from '@univerjs/engine-render';
|
|
4
|
+
export declare class UniverSheetGraphicsPlugin extends Plugin {
|
|
5
|
+
private readonly _config;
|
|
6
|
+
protected _injector: Injector;
|
|
7
|
+
private readonly _configService;
|
|
8
|
+
private readonly _renderManagerService;
|
|
9
|
+
static pluginName: string;
|
|
10
|
+
constructor(_config: Partial<IUniverSheetGraphicsConfig> | undefined, _injector: Injector, _configService: IConfigService, _renderManagerService: IRenderManagerService);
|
|
11
|
+
onRendered(): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IRange, IScale, ISelectionCellWithMergeInfo } from '@univerjs/core';
|
|
2
|
+
import { IDrawInfo, SpreadsheetSkeleton, UniverRenderingContext, SheetExtension } from '@univerjs/engine-render';
|
|
3
|
+
type IGraphicsRenderer = (ctx: UniverRenderingContext, skeleton: SpreadsheetSkeleton, coordInfo: ISelectionCellWithMergeInfo) => void;
|
|
4
|
+
export declare class Graphics extends SheetExtension {
|
|
5
|
+
uKey: string;
|
|
6
|
+
protected Z_INDEX: number;
|
|
7
|
+
private _graphicsRenderMap;
|
|
8
|
+
registerRenderer(key: string, renderer: IGraphicsRenderer): void;
|
|
9
|
+
draw(ctx: UniverRenderingContext, _parentScale: IScale, skeleton: SpreadsheetSkeleton, diffBounds: IRange[], { viewRanges }: IDrawInfo): void;
|
|
10
|
+
dispose(): void;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
package/lib/umd/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(r,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("@univerjs/core"),require("@univerjs/engine-render")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render"],e):(r=typeof globalThis<"u"?globalThis:r||self,e(r.UniverSheetsGraphics={},r.UniverCore,r.UniverEngineRender))})(this,function(r,e,c){"use strict";var M=Object.defineProperty;var j=(r,e,c)=>e in r?M(r,e,{enumerable:!0,configurable:!0,writable:!0,value:c}):r[e]=c;var h=(r,e,c)=>j(r,typeof e!="symbol"?e+"":e,c);var d;const E="graphics.config",v={},f="SheetGraphicsExtension";class I extends c.SheetExtension{constructor(){super(...arguments);h(this,"uKey",f);h(this,"Z_INDEX",35);h(this,"_graphicsRenderMap",new Map)}registerRenderer(n,s){this._graphicsRenderMap.set(n,s)}draw(n,s,i,o,{viewRanges:p}){const G=Array.from(this._graphicsRenderMap.keys());p.forEach(U=>{e.Range.foreach(U,(x,y)=>{const l=i.getCellByIndexWithNoHeader(x,y);l&&G.forEach(C=>{const g=this._graphicsRenderMap.get(C);g==null||g(n,i,l)})})})}dispose(){this._graphicsRenderMap.clear()}}class u extends e.Disposable{constructor(n){super();h(this,"_graphicsExtensionInstance",null);this._context=n,this._initRender()}_initRender(){const n=this._context.mainComponent;n&&!n.getExtensionByKey(f)&&(this._graphicsExtensionInstance=new I,n.register(this._graphicsExtensionInstance))}registerRenderer(n,s){var i;(i=this._graphicsExtensionInstance)==null||i.registerRenderer(n,s)}}var S=Object.defineProperty,R=Object.getOwnPropertyDescriptor,N=(a,t,n,s)=>{for(var i=s>1?void 0:s?R(t,n):t,o=a.length-1,p;o>=0;o--)(p=a[o])&&(i=(s?p(t,n,i):p(i))||i);return s&&i&&S(t,n,i),i},_=(a,t)=>(n,s)=>t(n,s,a);const P="UNIVER_SHEET_DRAWING_PLUGIN";r.UniverSheetGraphicsPlugin=(d=class extends e.Plugin{constructor(t=v,n,s,i){super(),this._config=t,this._injector=n,this._configService=s,this._renderManagerService=i;const{...o}=this._config;this._configService.setConfig(E,o)}onRendered(){[[u]].forEach(t=>{this._renderManagerService.registerRenderModule(e.UniverInstanceType.UNIVER_SHEET,t)})}},h(d,"pluginName",P),d),r.UniverSheetGraphicsPlugin=N([_(1,e.Inject(e.Injector)),_(2,e.IConfigService),_(3,c.IRenderManagerService)],r.UniverSheetGraphicsPlugin),r.SheetGraphicsRenderController=u,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@univerjs/sheets-graphics",
|
|
3
|
+
"version": "0.5.1-nightly.202412061606",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "Drawing graphics for Univer Sheets",
|
|
6
|
+
"author": "DreamNum <developer@univer.ai>",
|
|
7
|
+
"license": "Apache-2.0",
|
|
8
|
+
"funding": {
|
|
9
|
+
"type": "opencollective",
|
|
10
|
+
"url": "https://opencollective.com/univer"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://univer.ai",
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "https://github.com/dream-num/univer"
|
|
16
|
+
},
|
|
17
|
+
"bugs": {
|
|
18
|
+
"url": "https://github.com/dream-num/univer/issues"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [],
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"import": "./lib/es/index.js",
|
|
24
|
+
"require": "./lib/cjs/index.js",
|
|
25
|
+
"types": "./lib/types/index.d.ts"
|
|
26
|
+
},
|
|
27
|
+
"./*": {
|
|
28
|
+
"import": "./lib/es/*",
|
|
29
|
+
"require": "./lib/cjs/*",
|
|
30
|
+
"types": "./lib/types/index.d.ts"
|
|
31
|
+
},
|
|
32
|
+
"./lib/*": "./lib/*"
|
|
33
|
+
},
|
|
34
|
+
"main": "./lib/es/index.js",
|
|
35
|
+
"types": "./lib/types/index.d.ts",
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"access": "public"
|
|
38
|
+
},
|
|
39
|
+
"directories": {
|
|
40
|
+
"lib": "lib"
|
|
41
|
+
},
|
|
42
|
+
"files": [
|
|
43
|
+
"lib"
|
|
44
|
+
],
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"rxjs": ">=7.0.0"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"@univerjs/core": "0.5.1-nightly.202412061606",
|
|
50
|
+
"@univerjs/engine-render": "0.5.1-nightly.202412061606"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"rxjs": "^7.8.1",
|
|
54
|
+
"typescript": "^5.7.2",
|
|
55
|
+
"vite": "^6.0.3",
|
|
56
|
+
"vitest": "^2.1.8",
|
|
57
|
+
"@univerjs-infra/shared": "0.5.1"
|
|
58
|
+
},
|
|
59
|
+
"space": {
|
|
60
|
+
".": {
|
|
61
|
+
"import": "./lib/es/index.js",
|
|
62
|
+
"require": "./lib/cjs/index.js",
|
|
63
|
+
"types": "./lib/types/index.d.ts"
|
|
64
|
+
},
|
|
65
|
+
"./*": {
|
|
66
|
+
"import": "./lib/es/*",
|
|
67
|
+
"require": "./lib/cjs/*",
|
|
68
|
+
"types": "./lib/types/index.d.ts"
|
|
69
|
+
},
|
|
70
|
+
"./lib/*": "./lib/*"
|
|
71
|
+
},
|
|
72
|
+
"scripts": {
|
|
73
|
+
"test": "vitest run",
|
|
74
|
+
"test:watch": "vitest",
|
|
75
|
+
"coverage": "vitest run --coverage",
|
|
76
|
+
"lint:types": "tsc --noEmit",
|
|
77
|
+
"build": "univer-cli build"
|
|
78
|
+
},
|
|
79
|
+
"module": "./lib/es/index.js"
|
|
80
|
+
}
|