@visactor/vrender-components 1.0.47-alpha.0 → 1.1.0-alpha.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/cjs/axis/base.js +9 -9
- package/cjs/axis/base.js.map +1 -1
- package/cjs/axis/circle.js +3 -3
- package/cjs/axis/circle.js.map +1 -1
- package/cjs/axis/grid/base.js +5 -5
- package/cjs/axis/grid/base.js.map +1 -1
- package/cjs/axis/line.js +6 -6
- package/cjs/axis/line.js.map +1 -1
- package/cjs/brush/brush.js +2 -2
- package/cjs/brush/brush.js.map +1 -1
- package/cjs/brush/config.js +2 -1
- package/cjs/checkbox/index.js +1 -2
- package/cjs/core/base.js +2 -2
- package/cjs/core/base.js.map +1 -1
- package/cjs/crosshair/sector.js +1 -2
- package/cjs/data-zoom/config.js +2 -1
- package/cjs/data-zoom/renderer.js.map +1 -1
- package/cjs/empty-tip/empty-tip.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/label/arc.js +1 -1
- package/cjs/label/base.js +2 -2
- package/cjs/label/base.js.map +1 -1
- package/cjs/label-item/index.js +1 -1
- package/cjs/legend/base.js +2 -2
- package/cjs/legend/base.js.map +1 -1
- package/cjs/legend/discrete/discrete.js +10 -10
- package/cjs/legend/discrete/discrete.js.map +1 -1
- package/cjs/legend/size/size.js +3 -3
- package/cjs/legend/size/size.js.map +1 -1
- package/cjs/marker/arc-area.js +2 -2
- package/cjs/marker/arc-area.js.map +1 -1
- package/cjs/marker/area.js +2 -2
- package/cjs/marker/area.js.map +1 -1
- package/cjs/marker/base.js +4 -4
- package/cjs/marker/base.js.map +1 -1
- package/cjs/marker/point.d.ts +1 -1
- package/cjs/marker/point.js +6 -6
- package/cjs/marker/point.js.map +1 -1
- package/cjs/pager/pager.js +5 -5
- package/cjs/pager/pager.js.map +1 -1
- package/cjs/poptip/contribution.js +3 -10
- package/cjs/poptip/contribution.js.map +1 -1
- package/cjs/poptip/index.d.ts +1 -1
- package/cjs/poptip/index.js +2 -11
- package/cjs/poptip/index.js.map +1 -1
- package/cjs/poptip/module.d.ts +2 -2
- package/cjs/poptip/module.js +17 -10
- package/cjs/poptip/module.js.map +1 -1
- package/cjs/poptip/poptip-plugin.js +5 -12
- package/cjs/poptip/poptip-plugin.js.map +1 -1
- package/cjs/poptip/register.js.map +1 -1
- package/cjs/scrollbar/module.d.ts +2 -2
- package/cjs/scrollbar/module.js +13 -6
- package/cjs/scrollbar/module.js.map +1 -1
- package/cjs/scrollbar/scrollbar-plugin.js +5 -12
- package/cjs/scrollbar/scrollbar-plugin.js.map +1 -1
- package/cjs/segment/arc-segment.js +2 -2
- package/cjs/segment/arc-segment.js.map +1 -1
- package/cjs/segment/segment.js +5 -5
- package/cjs/segment/segment.js.map +1 -1
- package/cjs/slider/slider.d.ts +0 -1
- package/cjs/slider/slider.js +25 -20
- package/cjs/slider/slider.js.map +1 -1
- package/cjs/util/graphic-creator.d.ts +14 -0
- package/cjs/util/graphic-creator.js +22 -0
- package/cjs/util/graphic-creator.js.map +1 -0
- package/cjs/util/text.js +3 -3
- package/cjs/util/text.js.map +1 -1
- package/dist/index.es.js +11618 -11248
- package/es/axis/base.js +3 -1
- package/es/axis/base.js.map +1 -1
- package/es/axis/circle.js +1 -1
- package/es/axis/circle.js.map +1 -1
- package/es/axis/grid/base.js +1 -1
- package/es/axis/grid/base.js.map +1 -1
- package/es/axis/line.js +1 -1
- package/es/axis/line.js.map +1 -1
- package/es/brush/brush.js +1 -1
- package/es/brush/brush.js.map +1 -1
- package/es/brush/config.js +2 -1
- package/es/checkbox/index.js +1 -2
- package/es/core/base.js +2 -2
- package/es/core/base.js.map +1 -1
- package/es/crosshair/sector.js +1 -2
- package/es/data-zoom/config.js +2 -1
- package/es/data-zoom/renderer.js.map +1 -1
- package/es/empty-tip/empty-tip.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/label/arc.js +1 -1
- package/es/label/base.js +3 -1
- package/es/label/base.js.map +1 -1
- package/es/label-item/index.js +1 -1
- package/es/legend/base.js +1 -1
- package/es/legend/base.js.map +1 -1
- package/es/legend/discrete/discrete.js +1 -1
- package/es/legend/discrete/discrete.js.map +1 -1
- package/es/legend/size/size.js +1 -1
- package/es/legend/size/size.js.map +1 -1
- package/es/marker/arc-area.js +1 -1
- package/es/marker/arc-area.js.map +1 -1
- package/es/marker/area.js +1 -1
- package/es/marker/area.js.map +1 -1
- package/es/marker/base.js +1 -1
- package/es/marker/base.js.map +1 -1
- package/es/marker/point.d.ts +1 -1
- package/es/marker/point.js +1 -1
- package/es/marker/point.js.map +1 -1
- package/es/pager/pager.js +1 -1
- package/es/pager/pager.js.map +1 -1
- package/es/poptip/contribution.js +2 -14
- package/es/poptip/contribution.js.map +1 -1
- package/es/poptip/index.d.ts +1 -1
- package/es/poptip/index.js +1 -1
- package/es/poptip/index.js.map +1 -1
- package/es/poptip/module.d.ts +2 -2
- package/es/poptip/module.js +14 -8
- package/es/poptip/module.js.map +1 -1
- package/es/poptip/poptip-plugin.js +5 -19
- package/es/poptip/poptip-plugin.js.map +1 -1
- package/es/poptip/register.js.map +1 -1
- package/es/scrollbar/module.d.ts +2 -2
- package/es/scrollbar/module.js +11 -5
- package/es/scrollbar/module.js.map +1 -1
- package/es/scrollbar/scrollbar-plugin.js +5 -13
- package/es/scrollbar/scrollbar-plugin.js.map +1 -1
- package/es/segment/arc-segment.js +1 -1
- package/es/segment/arc-segment.js.map +1 -1
- package/es/segment/segment.js +1 -1
- package/es/segment/segment.js.map +1 -1
- package/es/slider/slider.d.ts +0 -1
- package/es/slider/slider.js +15 -8
- package/es/slider/slider.js.map +1 -1
- package/es/util/graphic-creator.d.ts +14 -0
- package/es/util/graphic-creator.js +18 -0
- package/es/util/graphic-creator.js.map +1 -0
- package/es/util/text.js +3 -1
- package/es/util/text.js.map +1 -1
- package/package.json +11 -10
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
4
|
-
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
5
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
3
|
Object.defineProperty(exports, "__esModule", {
|
|
10
4
|
value: !0
|
|
11
5
|
}), exports.PopTipRenderContribution = void 0;
|
|
12
6
|
|
|
13
|
-
const
|
|
7
|
+
const poptip_1 = require("./poptip"), vutils_1 = require("@visactor/vutils"), theme_1 = require("./theme");
|
|
14
8
|
|
|
15
9
|
function wrapPoptip(target, source) {
|
|
16
10
|
return (0, vutils_1.merge)(target, theme_1.theme.poptip, source), target;
|
|
17
11
|
}
|
|
18
12
|
|
|
19
|
-
|
|
13
|
+
class PopTipRenderContribution {
|
|
20
14
|
render(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb, options) {
|
|
21
15
|
var _a, _b;
|
|
22
16
|
if (1 === graphic._showPoptip) {
|
|
@@ -48,8 +42,7 @@ let PopTipRenderContribution = class {
|
|
|
48
42
|
}), null === (_b = this.poptipComponent.parent) || void 0 === _b || _b.removeChild(this.poptipComponent),
|
|
49
43
|
this.poptipComponent = null));
|
|
50
44
|
}
|
|
51
|
-
}
|
|
45
|
+
}
|
|
52
46
|
|
|
53
|
-
PopTipRenderContribution = __decorate([ (0, vrender_core_1.injectable)() ], PopTipRenderContribution),
|
|
54
47
|
exports.PopTipRenderContribution = PopTipRenderContribution;
|
|
55
48
|
//# sourceMappingURL=contribution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/poptip/contribution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/poptip/contribution.ts"],"names":[],"mappings":"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","file":"contribution.js","sourcesContent":["import type {\n IContext2d,\n IGraphic,\n IGraphicAttribute,\n IInteractiveSubRenderContribution,\n IThemeAttribute,\n IDrawContext\n} from '@visactor/vrender-core';\nimport { PopTip } from './poptip';\nimport { merge } from '@visactor/vutils';\nimport { theme } from './theme';\n\nfunction wrapPoptip(target: Record<string, any>, source: Record<string, any>) {\n merge(target, theme.poptip, source);\n return target;\n}\n\nexport class PopTipRenderContribution implements IInteractiveSubRenderContribution {\n declare poptipComponent: PopTip;\n render(\n graphic: IGraphic<Partial<IGraphicAttribute>>,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n options?: any\n ): void {\n if (graphic._showPoptip === 1) {\n const { visible, visibleCb } = (graphic.attribute as any).poptip || {};\n if (visible === false || (visibleCb && visibleCb(graphic) === false)) {\n return;\n }\n const attribute = {};\n merge(\n attribute,\n PopTip.defaultAttributes,\n (graphic.attribute as any).poptip ? (graphic.attribute as any).poptip : {}\n );\n if (!this.poptipComponent) {\n this.poptipComponent = new PopTip(attribute);\n } else {\n this.poptipComponent.initAttributes(attribute);\n }\n // 如果text图元没有配置title和content的话\n let poptip = (graphic.attribute as any).poptip || {};\n if (graphic.type === 'text' && poptip.title == null && poptip.content == null) {\n const out = {};\n wrapPoptip(out, poptip);\n poptip = out;\n poptip.content = poptip.content ?? (graphic.attribute as any).text;\n }\n const matrix = graphic.globalTransMatrix;\n this.poptipComponent.setAttributes({\n visibleAll: true,\n pickable: false,\n childrenPickable: false,\n // 默认使用bounds作为锚点\n poptipAnchor: 'bounds',\n ...poptip,\n x: matrix.e,\n y: matrix.f,\n positionBounds: graphic.globalAABBBounds\n });\n // 添加到交互层中\n drawContext.stage.tryInitInteractiveLayer();\n const interactiveLayer = drawContext.stage.getLayer('_builtin_interactive');\n if (interactiveLayer) {\n interactiveLayer.add(this.poptipComponent);\n }\n } else if (graphic._showPoptip === 2) {\n graphic._showPoptip = 0;\n if (this.poptipComponent) {\n this.poptipComponent.setAttributes({\n visibleAll: false\n });\n this.poptipComponent.parent?.removeChild(this.poptipComponent);\n this.poptipComponent = null;\n }\n }\n }\n}\n"]}
|
package/cjs/poptip/index.d.ts
CHANGED
package/cjs/poptip/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
|
|
|
17
17
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", {
|
|
19
19
|
value: !0
|
|
20
|
-
}), exports.
|
|
20
|
+
}), exports.setPoptipTheme = void 0, __exportStar(require("./poptip"), exports),
|
|
21
21
|
__exportStar(require("./type"), exports);
|
|
22
22
|
|
|
23
23
|
var register_1 = require("./register");
|
|
@@ -27,14 +27,5 @@ Object.defineProperty(exports, "setPoptipTheme", {
|
|
|
27
27
|
get: function() {
|
|
28
28
|
return register_1.setPoptipTheme;
|
|
29
29
|
}
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
var module_1 = require("./module");
|
|
33
|
-
|
|
34
|
-
Object.defineProperty(exports, "loadPoptip", {
|
|
35
|
-
enumerable: !0,
|
|
36
|
-
get: function() {
|
|
37
|
-
return module_1.loadPoptip;
|
|
38
|
-
}
|
|
39
|
-
});
|
|
30
|
+
}), __exportStar(require("./module"), exports);
|
|
40
31
|
//# sourceMappingURL=index.js.map
|
package/cjs/poptip/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/poptip/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB;AACvB,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,
|
|
1
|
+
{"version":3,"sources":["../src/poptip/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB;AACvB,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,2CAAyB","file":"index.js","sourcesContent":["export * from './poptip';\nexport * from './type';\nexport { setPoptipTheme } from './register';\nexport * from './module';\n"]}
|
package/cjs/poptip/module.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare
|
|
1
|
+
import { type IApp } from '@visactor/vrender-core';
|
|
2
|
+
export declare function installPoptipToApp(app: IApp): void;
|
|
3
3
|
export declare function loadPoptip(): void;
|
package/cjs/poptip/module.js
CHANGED
|
@@ -2,20 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.loadPoptip = exports.
|
|
5
|
+
}), exports.loadPoptip = exports.installPoptipToApp = void 0;
|
|
6
6
|
|
|
7
7
|
const vrender_core_1 = require("@visactor/vrender-core"), contribution_1 = require("./contribution"), poptip_plugin_1 = require("./poptip-plugin");
|
|
8
8
|
|
|
9
|
+
function bindPoptip(container) {
|
|
10
|
+
container.isBound(contribution_1.PopTipRenderContribution) || (container.bind(contribution_1.PopTipRenderContribution).toSelf().inSingletonScope(),
|
|
11
|
+
container.bind(vrender_core_1.InteractiveSubRenderContribution).toService(contribution_1.PopTipRenderContribution)),
|
|
12
|
+
container.isBound(poptip_plugin_1.PopTipPlugin) || (container.bind(poptip_plugin_1.PopTipPlugin).toSelf(),
|
|
13
|
+
container.bind(vrender_core_1.AutoEnablePlugins).toService(poptip_plugin_1.PopTipPlugin)),
|
|
14
|
+
container.isBound(poptip_plugin_1.PopTipForClipedTextPlugin) || (container.bind(poptip_plugin_1.PopTipForClipedTextPlugin).toSelf(),
|
|
15
|
+
container.bind(vrender_core_1.AutoEnablePlugins).toService(poptip_plugin_1.PopTipForClipedTextPlugin));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function installPoptipToApp(app) {
|
|
19
|
+
(0, vrender_core_1.configureRuntimeApplicationForApp)(app), bindPoptip((0, vrender_core_1.getRuntimeInstallerBindingContext)()),
|
|
20
|
+
(0, vrender_core_1.refreshRuntimeInstallerContributions)(), (0, vrender_core_1.installRuntimeGraphicRenderersToApp)(app);
|
|
21
|
+
}
|
|
22
|
+
|
|
9
23
|
function loadPoptip() {
|
|
10
|
-
vrender_core_1.
|
|
24
|
+
bindPoptip((0, vrender_core_1.getLegacyBindingContext)());
|
|
11
25
|
}
|
|
12
26
|
|
|
13
|
-
exports.
|
|
14
|
-
isBound(contribution_1.PopTipRenderContribution) || (bind(contribution_1.PopTipRenderContribution).toSelf().inSingletonScope(),
|
|
15
|
-
bind(vrender_core_1.InteractiveSubRenderContribution).toService(contribution_1.PopTipRenderContribution)),
|
|
16
|
-
isBound(poptip_plugin_1.PopTipPlugin) || (bind(poptip_plugin_1.PopTipPlugin).toSelf(),
|
|
17
|
-
bind(vrender_core_1.AutoEnablePlugins).toService(poptip_plugin_1.PopTipPlugin)),
|
|
18
|
-
isBound(poptip_plugin_1.PopTipForClipedTextPlugin) || (bind(poptip_plugin_1.PopTipForClipedTextPlugin).toSelf(),
|
|
19
|
-
bind(vrender_core_1.AutoEnablePlugins).toService(poptip_plugin_1.PopTipForClipedTextPlugin));
|
|
20
|
-
})), exports.loadPoptip = loadPoptip;
|
|
27
|
+
exports.installPoptipToApp = installPoptipToApp, exports.loadPoptip = loadPoptip;
|
|
21
28
|
//# sourceMappingURL=module.js.map
|
package/cjs/poptip/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/poptip/module.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/poptip/module.ts"],"names":[],"mappings":";;;AAAA,yDASgC;AAChC,iDAA0D;AAC1D,mDAA0E;AAE1E,SAAS,UAAU,CAAC,SAAyF;IAC3G,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uCAAwB,CAAC,EAAE;QAChD,SAAS,CAAC,IAAI,CAAC,uCAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACrE,SAAS,CAAC,IAAI,CAAC,+CAAgC,CAAC,CAAC,SAAS,CAAC,uCAAwB,CAAC,CAAC;KACtF;IACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4BAAY,CAAC,EAAE;QACpC,SAAS,CAAC,IAAI,CAAC,4BAAY,CAAC,CAAC,MAAM,EAAE,CAAC;QACtC,SAAS,CAAC,IAAI,CAAC,gCAAiB,CAAC,CAAC,SAAS,CAAC,4BAAY,CAAC,CAAC;KAC3D;IACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yCAAyB,CAAC,EAAE;QACjD,SAAS,CAAC,IAAI,CAAC,yCAAyB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,SAAS,CAAC,IAAI,CAAC,gCAAiB,CAAC,CAAC,SAAS,CAAC,yCAAyB,CAAC,CAAC;KACxE;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,GAAS;IAC1C,IAAA,gDAAiC,EAAC,GAAG,CAAC,CAAC;IACvC,UAAU,CAAC,IAAA,gDAAiC,GAAE,CAAC,CAAC;IAChD,IAAA,mDAAoC,GAAE,CAAC;IACvC,IAAA,kDAAmC,EAAC,GAAG,CAAC,CAAC;AAC3C,CAAC;AALD,gDAKC;AAED,SAAgB,UAAU;IACxB,UAAU,CAAC,IAAA,sCAAuB,GAAE,CAAC,CAAC;AACxC,CAAC;AAFD,gCAEC","file":"module.js","sourcesContent":["import {\n AutoEnablePlugins,\n InteractiveSubRenderContribution,\n configureRuntimeApplicationForApp,\n getLegacyBindingContext,\n getRuntimeInstallerBindingContext,\n installRuntimeGraphicRenderersToApp,\n refreshRuntimeInstallerContributions,\n type IApp\n} from '@visactor/vrender-core';\nimport { PopTipRenderContribution } from './contribution';\nimport { PopTipPlugin, PopTipForClipedTextPlugin } from './poptip-plugin';\n\nfunction bindPoptip(container: Pick<ReturnType<typeof getRuntimeInstallerBindingContext>, 'bind' | 'isBound'>) {\n if (!container.isBound(PopTipRenderContribution)) {\n container.bind(PopTipRenderContribution).toSelf().inSingletonScope();\n container.bind(InteractiveSubRenderContribution).toService(PopTipRenderContribution);\n }\n if (!container.isBound(PopTipPlugin)) {\n container.bind(PopTipPlugin).toSelf();\n container.bind(AutoEnablePlugins).toService(PopTipPlugin);\n }\n if (!container.isBound(PopTipForClipedTextPlugin)) {\n container.bind(PopTipForClipedTextPlugin).toSelf();\n container.bind(AutoEnablePlugins).toService(PopTipForClipedTextPlugin);\n }\n}\n\nexport function installPoptipToApp(app: IApp): void {\n configureRuntimeApplicationForApp(app);\n bindPoptip(getRuntimeInstallerBindingContext());\n refreshRuntimeInstallerContributions();\n installRuntimeGraphicRenderersToApp(app);\n}\n\nexport function loadPoptip() {\n bindPoptip(getLegacyBindingContext());\n}\n"]}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
4
|
-
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
5
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
3
|
Object.defineProperty(exports, "__esModule", {
|
|
10
4
|
value: !0
|
|
11
5
|
}), exports.PopTipForClipedTextPlugin = exports.PopTipPlugin = exports.PopTipPluginBase = void 0;
|
|
@@ -47,15 +41,15 @@ class PopTipPluginBase {
|
|
|
47
41
|
|
|
48
42
|
exports.PopTipPluginBase = PopTipPluginBase;
|
|
49
43
|
|
|
50
|
-
|
|
44
|
+
class PopTipPlugin extends PopTipPluginBase {
|
|
51
45
|
constructor() {
|
|
52
46
|
super(...arguments), this.name = "poptip", this.key = this.name + this._uid;
|
|
53
47
|
}
|
|
54
|
-
}
|
|
48
|
+
}
|
|
55
49
|
|
|
56
|
-
|
|
50
|
+
exports.PopTipPlugin = PopTipPlugin;
|
|
57
51
|
|
|
58
|
-
|
|
52
|
+
class PopTipForClipedTextPlugin extends PopTipPluginBase {
|
|
59
53
|
constructor() {
|
|
60
54
|
super(...arguments), this.name = "poptipForText", this.key = this.name + this._uid,
|
|
61
55
|
this.pointerlave = e => {
|
|
@@ -78,8 +72,7 @@ let PopTipForClipedTextPlugin = class extends PopTipPluginBase {
|
|
|
78
72
|
const {stage: stage} = this.pluginService;
|
|
79
73
|
super.deactivate(context), stage.removeEventListener("pointerleave", this.pointerlave);
|
|
80
74
|
}
|
|
81
|
-
}
|
|
75
|
+
}
|
|
82
76
|
|
|
83
|
-
PopTipForClipedTextPlugin = __decorate([ (0, vrender_core_1.injectable)() ], PopTipForClipedTextPlugin),
|
|
84
77
|
exports.PopTipForClipedTextPlugin = PopTipForClipedTextPlugin;
|
|
85
78
|
//# sourceMappingURL=poptip-plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/poptip/poptip-plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/poptip/poptip-plugin.ts"],"names":[],"mappings":"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","file":"poptip-plugin.js","sourcesContent":["import type { FederatedPointerEvent, IGraphic, IPlugin, IPluginService } from '@visactor/vrender-core';\nimport { Generator } from '@visactor/vrender-core';\n\n// _showPoptip: 0-没有,1-添加,2-删除\n\nexport abstract class PopTipPluginBase {\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n activeGraphic: IGraphic;\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n const { stage } = this.pluginService;\n\n stage.addEventListener('pointerover', this.poptip);\n }\n\n needHide(graphic: IGraphic) {\n return graphic.isContainer || !graphic.attribute;\n }\n\n needShow(graphic: IGraphic) {\n return !!(graphic.attribute as any).poptip;\n }\n\n poptip = (e: FederatedPointerEvent) => {\n const graphic = e.target as any;\n if (this.needHide(graphic)) {\n this.unpoptip(e);\n return;\n }\n // 触发graphic重绘\n if (graphic === this.activeGraphic) {\n return;\n }\n if (this.needShow(graphic)) {\n graphic.setAttributes({});\n graphic._showPoptip = 1;\n }\n\n if (this.activeGraphic) {\n this.activeGraphic.setAttributes({});\n this.activeGraphic._showPoptip = 2;\n }\n // console.log(graphic)\n this.setActiveGraphic(graphic, true);\n };\n\n unpoptip = (e: FederatedPointerEvent) => {\n if (!this.activeGraphic) {\n return;\n }\n this.activeGraphic.setAttributes({});\n this.activeGraphic._showPoptip = 2;\n this.setActiveGraphic(null, true);\n };\n\n setActiveGraphic(graphic: any | null, rerender?: boolean) {\n this.activeGraphic = graphic;\n // 触发重绘\n this.pluginService.stage.renderNextFrame();\n }\n\n deactivate(context: IPluginService): void {\n const { stage } = this.pluginService;\n stage.removeEventListener('pointerover', this.poptip);\n }\n}\n\nexport class PopTipPlugin extends PopTipPluginBase implements IPlugin {\n name: 'poptip' = 'poptip';\n key: string = this.name + this._uid;\n}\n\nexport class PopTipForClipedTextPlugin extends PopTipPluginBase implements IPlugin {\n name: 'poptipForText' = 'poptipForText';\n key: string = this.name + this._uid;\n\n activate(context: IPluginService): void {\n super.activate(context);\n\n const { stage } = this.pluginService;\n\n stage.addEventListener('pointerleave', this.pointerlave);\n }\n pointerlave = (e: any) => {\n const { stage } = this.pluginService;\n if (e.target === stage) {\n this.unpoptip(e);\n }\n };\n\n needHide(graphic: IGraphic) {\n return (\n graphic.type !== 'text' ||\n !graphic.cliped ||\n graphic.isContainer ||\n !graphic.attribute ||\n (graphic as any).attribute.disableAutoClipedPoptip\n );\n }\n needShow(graphic: IGraphic): boolean {\n return true;\n }\n\n deactivate(context: IPluginService): void {\n const { stage } = this.pluginService;\n super.deactivate(context);\n stage.removeEventListener('pointerleave', this.pointerlave);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/poptip/register.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../src/poptip/register.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,mCAA+C;AAC/C,yDAAmG;AAEnG,SAAgB,mBAAmB;IACjC,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;AACjB,CAAC;AALD,kDAKC;AAED,SAAgB,cAAc,CAAC,kBAAoC;IACjE,IAAA,cAAK,EAAC,aAAK,CAAC,MAAM,EAAE,qBAAa,EAAE,kBAAkB,CAAC,CAAC;AACzD,CAAC;AAFD,wCAEC","file":"register.js","sourcesContent":["import { merge } from '@visactor/vutils';\nimport type { PopTipAttributes } from './type';\nimport { DEFAULT_THEME, theme } from './theme';\nimport { registerGroup, registerRect, registerSymbol, registerText } from '@visactor/vrender-kits';\n\nexport function loadPoptipComponent() {\n registerGroup();\n registerText();\n registerSymbol();\n registerRect();\n}\n\nexport function setPoptipTheme(defaultPoptipTheme: PopTipAttributes) {\n merge(theme.poptip, DEFAULT_THEME, defaultPoptipTheme);\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare
|
|
1
|
+
import { type IApp } from '@visactor/vrender-core';
|
|
2
|
+
export declare function installScrollbarToApp(app: IApp): void;
|
|
3
3
|
export declare function loadScrollbar(): void;
|
package/cjs/scrollbar/module.js
CHANGED
|
@@ -2,16 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.loadScrollbar = exports.
|
|
5
|
+
}), exports.loadScrollbar = exports.installScrollbarToApp = void 0;
|
|
6
6
|
|
|
7
7
|
const vrender_core_1 = require("@visactor/vrender-core"), scrollbar_plugin_1 = require("./scrollbar-plugin");
|
|
8
8
|
|
|
9
|
+
function bindScrollbar(container) {
|
|
10
|
+
container.isBound(scrollbar_plugin_1.ScrollBarPlugin) || (container.bind(scrollbar_plugin_1.ScrollBarPlugin).toSelf(),
|
|
11
|
+
container.bind(vrender_core_1.AutoEnablePlugins).toService(scrollbar_plugin_1.ScrollBarPlugin));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function installScrollbarToApp(app) {
|
|
15
|
+
(0, vrender_core_1.configureRuntimeApplicationForApp)(app), bindScrollbar((0, vrender_core_1.getRuntimeInstallerBindingContext)()),
|
|
16
|
+
(0, vrender_core_1.refreshRuntimeInstallerContributions)();
|
|
17
|
+
}
|
|
18
|
+
|
|
9
19
|
function loadScrollbar() {
|
|
10
|
-
vrender_core_1.
|
|
20
|
+
bindScrollbar((0, vrender_core_1.getLegacyBindingContext)());
|
|
11
21
|
}
|
|
12
22
|
|
|
13
|
-
exports.
|
|
14
|
-
isBound(scrollbar_plugin_1.ScrollBarPlugin) || (bind(scrollbar_plugin_1.ScrollBarPlugin).toSelf(),
|
|
15
|
-
bind(vrender_core_1.AutoEnablePlugins).toService(scrollbar_plugin_1.ScrollBarPlugin));
|
|
16
|
-
})), exports.loadScrollbar = loadScrollbar;
|
|
23
|
+
exports.installScrollbarToApp = installScrollbarToApp, exports.loadScrollbar = loadScrollbar;
|
|
17
24
|
//# sourceMappingURL=module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scrollbar/module.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/scrollbar/module.ts"],"names":[],"mappings":";;;AAAA,yDAOgC;AAChC,yDAAqD;AAErD,SAAS,aAAa,CAAC,SAAyF;IAC9G,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kCAAe,CAAC,EAAE;QACvC,SAAS,CAAC,IAAI,CAAC,kCAAe,CAAC,CAAC,MAAM,EAAE,CAAC;QACzC,SAAS,CAAC,IAAI,CAAC,gCAAiB,CAAC,CAAC,SAAS,CAAC,kCAAe,CAAC,CAAC;KAC9D;AACH,CAAC;AAED,SAAgB,qBAAqB,CAAC,GAAS;IAC7C,IAAA,gDAAiC,EAAC,GAAG,CAAC,CAAC;IACvC,aAAa,CAAC,IAAA,gDAAiC,GAAE,CAAC,CAAC;IACnD,IAAA,mDAAoC,GAAE,CAAC;AACzC,CAAC;AAJD,sDAIC;AAED,SAAgB,aAAa;IAC3B,aAAa,CAAC,IAAA,sCAAuB,GAAE,CAAC,CAAC;AAC3C,CAAC;AAFD,sCAEC","file":"module.js","sourcesContent":["import {\n AutoEnablePlugins,\n configureRuntimeApplicationForApp,\n getLegacyBindingContext,\n getRuntimeInstallerBindingContext,\n refreshRuntimeInstallerContributions,\n type IApp\n} from '@visactor/vrender-core';\nimport { ScrollBarPlugin } from './scrollbar-plugin';\n\nfunction bindScrollbar(container: Pick<ReturnType<typeof getRuntimeInstallerBindingContext>, 'bind' | 'isBound'>) {\n if (!container.isBound(ScrollBarPlugin)) {\n container.bind(ScrollBarPlugin).toSelf();\n container.bind(AutoEnablePlugins).toService(ScrollBarPlugin);\n }\n}\n\nexport function installScrollbarToApp(app: IApp): void {\n configureRuntimeApplicationForApp(app);\n bindScrollbar(getRuntimeInstallerBindingContext());\n refreshRuntimeInstallerContributions();\n}\n\nexport function loadScrollbar() {\n bindScrollbar(getLegacyBindingContext());\n}\n"]}
|
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var ScrollBarPlugin_1, __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
4
|
-
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
5
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
3
|
Object.defineProperty(exports, "__esModule", {
|
|
10
4
|
value: !0
|
|
11
5
|
}), exports.ScrollBarPlugin = void 0;
|
|
12
6
|
|
|
13
7
|
const vrender_core_1 = require("@visactor/vrender-core"), scrollbar_1 = require("./scrollbar"), vutils_1 = require("@visactor/vutils"), constant_1 = require("../constant");
|
|
14
8
|
|
|
15
|
-
|
|
9
|
+
class ScrollBarPlugin {
|
|
16
10
|
constructor() {
|
|
17
11
|
this.name = "scrollbar", this.activeEvent = "onRegister", this._uid = vrender_core_1.Generator.GenAutoIncrementId(),
|
|
18
12
|
this.key = this.name + this._uid, this.scroll = e => {
|
|
@@ -64,7 +58,7 @@ let ScrollBarPlugin = ScrollBarPlugin_1 = class {
|
|
|
64
58
|
this.pluginService = context;
|
|
65
59
|
const {stage: stage} = this.pluginService;
|
|
66
60
|
this.childrenBounds = new vutils_1.AABBBounds, stage.addEventListener("wheel", this.scroll),
|
|
67
|
-
this.params =
|
|
61
|
+
this.params = ScrollBarPlugin.defaultParams;
|
|
68
62
|
}
|
|
69
63
|
initEventOfScrollbar(scrollContainer, scrollbar, isHorozntal) {
|
|
70
64
|
scrollContainer.addEventListener("pointerover", (() => {
|
|
@@ -165,10 +159,9 @@ let ScrollBarPlugin = ScrollBarPlugin_1 = class {
|
|
|
165
159
|
const {stage: stage} = this.pluginService;
|
|
166
160
|
stage.removeEventListener("wheel", this.scroll);
|
|
167
161
|
}
|
|
168
|
-
}
|
|
162
|
+
}
|
|
169
163
|
|
|
170
|
-
ScrollBarPlugin.defaultParams = {
|
|
164
|
+
exports.ScrollBarPlugin = ScrollBarPlugin, ScrollBarPlugin.defaultParams = {
|
|
171
165
|
timeout: 500
|
|
172
|
-
}
|
|
173
|
-
exports.ScrollBarPlugin = ScrollBarPlugin;
|
|
166
|
+
};
|
|
174
167
|
//# sourceMappingURL=scrollbar-plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scrollbar/scrollbar-plugin.ts"],"names":[],"mappings":";;;;;;;;;;AACA,yDAA+D;AAC/D,2CAAwC;AAExC,6CAA2D;AAC3D,0CAA8C;AAYvC,IAAM,eAAe,uBAArB,MAAM,eAAe;IAArB;QACL,SAAI,GAAgB,WAAW,CAAC;QAChC,gBAAW,GAAiB,YAAY,CAAC;QAEzC,SAAI,GAAW,wBAAS,CAAC,kBAAkB,EAAE,CAAC;QAC9C,QAAG,GAAW,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAmBpC,WAAM,GAAG,CAAC,CAAuD,EAAE,EAAE;;YAEnE,MAAM,OAAO,GAAG,CAAC,CAAC,MAAa,CAAC;YAGhC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBAClC,OAAO;aACR;YAED,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE;oBACnF,OAAO;iBACR;gBACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAE9E,IAAI,CAAC,kBAAkB,EAAE;oBACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBAEnD,OAAO;iBACR;gBACD,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;oBAC3D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;iBAC3D;gBAED,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;oBAC3D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;iBACzD;gBAED,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC;aAC3C;iBAAM,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE;gBAC5E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aACpD;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,IAAI,CAAC,eAAe,CAAC;YACpD,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO;aACR;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,eAAe,EAAE;gBACpB,OAAO;aACR;YACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC;YAC9E,IAAI,UAAU,GAAG,OAAO,CAAC;YACzB,IAAI,UAAU,GAAG,OAAO,CAAC;YACzB,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,qBAAqB,GAAG,IAAI,eAAM,EAAE,CAAC,GAAG,CAC3C,CAAC,EACD,CAAC,EACD,eAAe,CAAC,SAAS,CAAC,KAAK,EAC/B,eAAe,CAAC,SAAS,CAAC,MAAM,CACjC,CAAC;YACF,IAAI,KAAK,IAAI,KAAK,EAAE;gBAClB,IAAI,IAAA,YAAG,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAA,YAAG,EAAC,CAAC,CAAC,MAAM,CAAC,EAAE;oBACjC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC;oBACtB,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC;iBACxB;qBAAM;oBACL,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC;oBACvB,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC;iBACvB;aACF;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAElD,IAAI,KAAK,EAAE;gBACT,UAAU,GAAG,OAAO,GAAG,CAAC,MAAA,CAAC,CAAC,MAAM,mCAAI,CAAC,CAAC,CAAC;gBACvC,IAAI,UAAU,GAAG,CAAC,EAAE;oBAClB,UAAU,GAAG,CAAC,CAAC;iBAChB;qBAAM,IAAI,UAAU,GAAG,KAAK,GAAG,WAAW,EAAE;oBAC3C,UAAU,GAAG,KAAK,GAAG,WAAW,CAAC;iBAClC;aACF;YAED,IAAI,KAAK,EAAE;gBACT,UAAU,GAAG,OAAO,GAAG,CAAC,MAAA,CAAC,CAAC,MAAM,mCAAI,CAAC,CAAC,CAAC;gBACvC,IAAI,UAAU,GAAG,CAAC,EAAE;oBAClB,UAAU,GAAG,CAAC,CAAC;iBAChB;qBAAM,IAAI,UAAU,GAAG,MAAM,GAAG,YAAY,EAAE;oBAC7C,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;iBACpC;aACF;YAED,eAAe,CAAC,aAAa,CAAC;gBAC5B,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAChF,CAAC,CAAC;QAEF,0BAAqB,GAAG,CAAC,MAAW,EAAE,EAAE;YACtC,IACE,CAAC,IAAI,CAAC,eAAe;gBACrB,CAAC,IAAI,CAAC,qBAAqB;gBAC3B,CAAC,IAAI,CAAC,cAAc;gBACpB,CAAC,MAAM;gBACP,CAAC,MAAM,CAAC,MAAM;gBACd,CAAC,MAAM,CAAC,MAAM;gBACd,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EACpB;gBACA,OAAO;aACR;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAErC,IAAI,SAAS,CAAC,SAAS,CAAC,SAAS,KAAK,YAAY,EAAE;gBAClD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;gBAEhD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC;aAC/E;iBAAM;gBACL,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBAElD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;aAChF;QACH,CAAC,CAAC;IA4LJ,CAAC;IAvTC,QAAQ,CAAC,OAAuB;QAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAErC,IAAI,CAAC,cAAc,GAAG,IAAI,mBAAU,EAAE,CAAC;QACvC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAa,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,iBAAe,CAAC,aAAa,CAAC;IAC9C,CAAC;IAsHD,oBAAoB,CAAC,eAAuB,EAAE,SAAiB,EAAE,WAAqB;QACpF,eAAe,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE;YACnD,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,eAAe,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE;YACnD,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,eAAe,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;YAClD,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE;YAC7C,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;YAC5C,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnE,SAAS,CAAC,gBAAgB,CAAC,0BAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAED,iBAAiB,CAAC,KAAc,EAAE,KAAc,EAAE,SAAiB,EAAE,eAAuB;QAC1F,IAAI,KAAK,EAAE;YACT,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEtG,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;aAC9D;SACF;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;SACpD;QACD,IAAI,KAAK,EAAE;YACT,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAEvG,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;aAC/D;SACF;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;SAClD;IACH,CAAC;IAED,YAAY,CAAC,WAAqB;QAChC,OAAO,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;IACjD,CAAC;IAED,kBAAkB,CAAC,eAAuB,EAAE,SAAiB,EAAE,WAAqB;;QAClF,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,GAAG,MAAA,eAAe,CAAC,IAAI,mCAAI,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9G,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChF,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,SAAS,GAAG,UAAU,CAAC,CAAC,CAAc,CAAC;QAE3C,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QACrG,MAAM,KAAK,GAAiC;YAC1C,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,SAAS;YACT,MAAM,EAAE,MAAM,GAAG,CAAC;YAClB,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACf,SAAS,EAAE;gBACT,IAAI,EAAE,mBAAmB;aAC1B;YACD,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;SACjB,CAAC;QAEF,IAAI,WAAW,EAAE;YACf,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;YACjD,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;SACnB;aAAM;YACL,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;YACnD,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;SAClB;QAED,IAAI,CAAC,SAAS,EAAE;YACd,QAAQ,GAAG,KAAK,CAAC;YAEjB,SAAS,GAAG,IAAI,qBAAS,CAAC,KAA4B,CAAC,CAAC;YACxD,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;YACtB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxB,SAAiB,CAAC,WAAW,GAAG,IAAI,CAAC;SACvC;aAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAe,EAAE,KAAa,EAAE,EAAE;;gBACpD,IAAI,KAAK,EAAE;oBACT,MAAA,KAAK,CAAC,MAAM,0CAAE,WAAW,CAAC,KAAK,CAAC,CAAC;iBAClC;YACH,CAAC,CAAC,CAAC;SACJ;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE3C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC;QACvD,IAAI,WAAW,EAAE;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YACvF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACtF,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACjB,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,CAAC,MAAA,KAAK,CAAC,MAAM,mCAAI,CAAC,CAAC,CAAC;YAChD,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;SACxC;aAAM;YACL,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YACzF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACvF,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;YAC9D,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;SACxC;QAED,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO;YACL,SAAS;YACT,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,eAAuB,EAAE,IAAuC;QAC7E,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YAC3B,OAAO;SACR;QACD,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE;YAC7E,OAAQ,KAAa,CAAC,WAAW,IAAI,CAAC,IAAI,KAAK,KAAK,IAAK,KAAK,CAAC,SAAiB,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,OAAO,CAAC,CAAC,KAAe,EAAE,EAAE;YACxC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,CAAW;QAC/B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;YAC5C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAI,CAAY,CAAC,SAAS,CAAC;QAE5D,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACtC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,KAAK,GAAG,KAAK,CAAC;QAElB,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACzB,KAAK,GAAG,IAAI,CAAC;YACb,KAAK,GAAG,IAAI,CAAC;SACd;aAAM;YACL,KAAK,GAAG,QAAQ,KAAK,UAAU,CAAC;YAChC,KAAK,GAAG,CAAC,KAAK,CAAC;SAChB;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE3C,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAW,EAAE,EAAE;YAChC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;YACzB,IAAI,KAAK,EAAE;gBACT,KAAK,GAAG,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;aACxC;YAED,IAAI,KAAK,EAAE;gBACT,KAAK,GAAG,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;aAC1C;SACF;QAED,OAAO,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IAGD,kBAAkB,CAAC,OAAiB;QAClC,IAAI,CAAC,GAAG,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE;YACR,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAE1C,IAAI,GAAG,EAAE;gBACP,OAAO,GAAG,CAAC;aACZ;YACD,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,OAAuB;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QACrC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAa,CAAC,CAAC;IACzD,CAAC;;AA5TM,6BAAa,GAAY;IAC9B,OAAO,EAAE,GAAG;CACb,CAAC;AAZS,eAAe;IAD3B,IAAA,yBAAU,GAAE;GACA,eAAe,CAuU3B;AAvUY,0CAAe","file":"scrollbar-plugin.js","sourcesContent":["import type { IGraphic, IGroup, IPlugin, IPluginService } from '@visactor/vrender-core';\nimport { Generator, injectable } from '@visactor/vrender-core';\nimport { ScrollBar } from './scrollbar';\nimport type { IAABBBounds } from '@visactor/vutils';\nimport { AABBBounds, abs, Bounds } from '@visactor/vutils';\nimport { SCROLLBAR_EVENT } from '../constant';\nimport type { ScrollBarAttributes } from './type';\n\n// _showPoptip: 0-没有,1-添加,2-删除\n\ntype IParams = {\n timeout?: number; // 消失的timeout\n bufferV?: number; // 判定是否出现滚动条的buffer\n bufferH?: number; // 判定是否出现滚动条的buffer\n};\n\n@injectable()\nexport class ScrollBarPlugin implements IPlugin {\n name: 'scrollbar' = 'scrollbar';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n scrollContainer?: { g: IGroup; showH: boolean; showV: boolean };\n scrollContainerBounds: IAABBBounds;\n childrenBounds: IAABBBounds;\n\n static defaultParams: IParams = {\n timeout: 500\n };\n\n params: IParams;\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n const { stage } = this.pluginService;\n\n this.childrenBounds = new AABBBounds();\n stage.addEventListener('wheel', this.scroll as any);\n this.params = ScrollBarPlugin.defaultParams;\n }\n scroll = (e: { deltaX: number; deltaY: number; target: IGraphic }) => {\n // 计算子元素的bounds\n const graphic = e.target as any;\n // childrenBounds.set(0, 0, scrollContainer.AABBBounds.width(), scrollContainer.AABBBounds.height());\n\n const data = this.getScrollContainer(graphic);\n\n if (!data && !this.scrollContainer) {\n return;\n }\n\n if (!data && this.scrollContainer) {\n if (!this.scrollContainer.g.stage || this.scrollContainer.g.stage !== graphic.stage) {\n return;\n }\n const newScrollContainer = this.formatScrollContainer(this.scrollContainer.g);\n\n if (!newScrollContainer) {\n this.clearScrollbar(this.scrollContainer.g, 'all');\n // 删除老的scrollbar\n return;\n }\n if (this.scrollContainer.showH && !newScrollContainer.showH) {\n this.clearScrollbar(this.scrollContainer.g, 'horizontal');\n }\n\n if (this.scrollContainer.showV && !newScrollContainer.showV) {\n this.clearScrollbar(this.scrollContainer.g, 'vertical');\n }\n\n this.scrollContainer = newScrollContainer;\n } else if (data && this.scrollContainer && data.g !== this.scrollContainer.g) {\n this.clearScrollbar(this.scrollContainer.g, 'all');\n }\n\n this.scrollContainer = data ?? this.scrollContainer;\n if (!data) {\n return;\n }\n const scrollContainer = data.g;\n if (!scrollContainer) {\n return;\n }\n const { width, height, scrollX = 0, scrollY = 0 } = scrollContainer.attribute;\n let newScrollX = scrollX;\n let newScrollY = scrollY;\n let { showH, showV } = data;\n this.scrollContainerBounds = new Bounds().set(\n 0,\n 0,\n scrollContainer.attribute.width,\n scrollContainer.attribute.height\n );\n if (showH && showH) {\n if (abs(e.deltaX) > abs(e.deltaY)) {\n showH = showH && true;\n showV = showV && false;\n } else {\n showH = showH && false;\n showV = showV && true;\n }\n }\n\n const scrollWidth = this.childrenBounds.width();\n const scrollHeight = this.childrenBounds.height();\n\n if (showH) {\n newScrollX = scrollX - (e.deltaX ?? 0);\n if (newScrollX > 0) {\n newScrollX = 0;\n } else if (newScrollX < width - scrollWidth) {\n newScrollX = width - scrollWidth;\n }\n }\n\n if (showV) {\n newScrollY = scrollY - (e.deltaY ?? 0);\n if (newScrollY > 0) {\n newScrollY = 0;\n } else if (newScrollY < height - scrollHeight) {\n newScrollY = height - scrollHeight;\n }\n }\n\n scrollContainer.setAttributes({\n scrollX: newScrollX,\n scrollY: newScrollY\n });\n this.addOrUpdateScroll(showH, showV, scrollContainer.parent, scrollContainer);\n };\n\n handleScrollBarChange = (params: any) => {\n if (\n !this.scrollContainer ||\n !this.scrollContainerBounds ||\n !this.childrenBounds ||\n !params ||\n !params.target ||\n !params.detail ||\n !params.detail.value\n ) {\n return;\n }\n const scrollbar = params.target;\n const newRange = params.detail.value;\n\n if (scrollbar.attribute.direction === 'horizontal') {\n const scrollWidth = this.childrenBounds.width();\n\n this.scrollContainer.g.setAttributes({ scrollX: -newRange[0] * scrollWidth });\n } else {\n const scrollHeight = this.childrenBounds.height();\n\n this.scrollContainer.g.setAttributes({ scrollY: -newRange[0] * scrollHeight });\n }\n };\n\n initEventOfScrollbar(scrollContainer: IGroup, scrollbar: IGroup, isHorozntal?: boolean) {\n scrollContainer.addEventListener('pointerover', () => {\n scrollbar.setAttribute('visibleAll', true);\n });\n scrollContainer.addEventListener('pointermove', () => {\n scrollbar.setAttribute('visibleAll', true);\n });\n scrollContainer.addEventListener('pointerout', () => {\n scrollbar.setAttribute('visibleAll', false);\n });\n scrollbar.addEventListener('pointerover', () => {\n scrollbar.setAttribute('visibleAll', true);\n });\n scrollbar.addEventListener('pointerout', () => {\n scrollbar.setAttribute('visibleAll', true);\n });\n\n scrollbar.addEventListener('scrollUp', this.handleScrollBarChange);\n scrollbar.addEventListener(SCROLLBAR_EVENT, this.handleScrollBarChange);\n }\n\n addOrUpdateScroll(showH: boolean, showV: boolean, container: IGroup, scrollContainer: IGroup) {\n if (showH) {\n const { scrollBar: hScrollbar, isUpdate } = this.addOrUpdateHScroll(scrollContainer, container, true);\n\n if (!isUpdate) {\n this.initEventOfScrollbar(scrollContainer, hScrollbar, true);\n }\n } else {\n this.clearScrollbar(scrollContainer, 'horizontal');\n }\n if (showV) {\n const { scrollBar: vScrollbar, isUpdate } = this.addOrUpdateHScroll(scrollContainer, container, false);\n\n if (!isUpdate) {\n this.initEventOfScrollbar(scrollContainer, vScrollbar, false);\n }\n } else {\n this.clearScrollbar(scrollContainer, 'vertical');\n }\n }\n\n getDirection(isHorozntal?: boolean) {\n return isHorozntal ? 'horizontal' : 'vertical';\n }\n\n addOrUpdateHScroll(scrollContainer: IGroup, container: IGroup, isHorozntal?: boolean) {\n const direction = this.getDirection(isHorozntal);\n const name = `${scrollContainer.name ?? scrollContainer._uid}_${this.getDirection(isHorozntal)}_${this.name}`;\n const scrollbars = container.children.filter((g: ScrollBar) => g.name === name);\n let isUpdate = true;\n let scrollBar = scrollbars[0] as ScrollBar;\n\n const { y = 0, dy = 0, x = 0, dx = 0, height, width, zIndex = 0 } = this.scrollContainer.g.attribute;\n const attrs: Partial<ScrollBarAttributes> = {\n x: 0,\n y: 0,\n direction,\n zIndex: zIndex + 1,\n visibleAll: true,\n padding: [2, 0],\n railStyle: {\n fill: 'rgba(0, 0, 0, .1)'\n },\n range: [0, 0.05]\n };\n\n if (isHorozntal) {\n attrs.width = this.scrollContainerBounds.width();\n attrs.height = 12;\n } else {\n attrs.height = this.scrollContainerBounds.height();\n attrs.width = 12;\n }\n\n if (!scrollBar) {\n isUpdate = false;\n\n scrollBar = new ScrollBar(attrs as ScrollBarAttributes);\n scrollBar.name = name;\n container.add(scrollBar);\n (scrollBar as any).isScrollBar = true;\n } else if (scrollbars.length > 1) {\n scrollbars.forEach((child: IGraphic, index: number) => {\n if (index) {\n child.parent?.removeChild(child);\n }\n });\n }\n const childrenBounds = this.childrenBounds;\n\n const { scrollX, scrollY } = scrollContainer.attribute;\n if (isHorozntal) {\n const ratio = Math.min(this.scrollContainerBounds.width() / childrenBounds.width(), 1);\n const start = Math.max(Math.min(scrollX / this.childrenBounds.width(), 0), ratio - 1);\n attrs.x = x + dx;\n attrs.y = y + dy + height - (attrs.height ?? 0);\n attrs.range = [-start, -start + ratio];\n } else {\n const ratio = Math.min(this.scrollContainerBounds.height() / childrenBounds.height(), 1);\n const start = Math.max(Math.min(scrollY / this.childrenBounds.height(), 0), ratio - 1);\n attrs.x = x + dx + width - this.scrollContainerBounds.width();\n attrs.y = y + dy;\n attrs.range = [-start, -start + ratio];\n }\n\n scrollBar.setAttributes(attrs);\n return {\n scrollBar,\n isUpdate\n };\n }\n\n clearScrollbar(scrollContainer: IGroup, type: 'horizontal' | 'vertical' | 'all') {\n if (!scrollContainer.parent) {\n return;\n }\n const scrollbarBars = scrollContainer.parent.children.filter((child: IGroup) => {\n return (child as any).isScrollBar && (type === 'all' || (child.attribute as any).direction === type);\n });\n\n scrollbarBars.forEach((child: IGraphic) => {\n child.parent.removeChild(child);\n });\n }\n\n formatScrollContainer(g: IGraphic) {\n if (!g || g.type !== 'group' || !g.attribute) {\n return null;\n }\n\n const { overflow, width, height } = (g as IGroup).attribute;\n\n if (!overflow || overflow === 'hidden') {\n return null;\n }\n\n let showH = false;\n let showV = false;\n\n if (overflow === 'scroll') {\n showH = true;\n showV = true;\n } else {\n showH = overflow === 'scroll-x';\n showV = !showH;\n }\n\n const childrenBounds = this.childrenBounds;\n\n childrenBounds.clear();\n g.forEachChildren((g: IGraphic) => {\n childrenBounds.union(g.AABBBounds);\n });\n\n if (!g.AABBBounds.empty()) {\n if (showH) {\n showH = width < childrenBounds.width();\n }\n\n if (showV) {\n showV = height < childrenBounds.height();\n }\n }\n\n return showH || showV ? { g: g as IGroup, showH, showV } : null;\n }\n\n // 获取响应滚动的元素\n getScrollContainer(graphic: IGraphic): { g: IGroup; showH: boolean; showV: boolean } | null {\n let g = graphic;\n while (g) {\n const res = this.formatScrollContainer(g);\n\n if (res) {\n return res;\n }\n g = g.parent;\n }\n return null;\n }\n\n deactivate(context: IPluginService): void {\n const { stage } = this.pluginService;\n stage.removeEventListener('wheel', this.scroll as any);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scrollbar/scrollbar-plugin.ts"],"names":[],"mappings":"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","file":"scrollbar-plugin.js","sourcesContent":["import type { IGraphic, IGroup, IPlugin, IPluginService } from '@visactor/vrender-core';\nimport { Generator } from '@visactor/vrender-core';\nimport { ScrollBar } from './scrollbar';\nimport type { IAABBBounds } from '@visactor/vutils';\nimport { AABBBounds, abs, Bounds } from '@visactor/vutils';\nimport { SCROLLBAR_EVENT } from '../constant';\nimport type { ScrollBarAttributes } from './type';\n\n// _showPoptip: 0-没有,1-添加,2-删除\n\ntype IParams = {\n timeout?: number; // 消失的timeout\n bufferV?: number; // 判定是否出现滚动条的buffer\n bufferH?: number; // 判定是否出现滚动条的buffer\n};\n\nexport class ScrollBarPlugin implements IPlugin {\n name: 'scrollbar' = 'scrollbar';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n scrollContainer?: { g: IGroup; showH: boolean; showV: boolean };\n scrollContainerBounds: IAABBBounds;\n childrenBounds: IAABBBounds;\n\n static defaultParams: IParams = {\n timeout: 500\n };\n\n params: IParams;\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n const { stage } = this.pluginService;\n\n this.childrenBounds = new AABBBounds();\n stage.addEventListener('wheel', this.scroll as any);\n this.params = ScrollBarPlugin.defaultParams;\n }\n scroll = (e: { deltaX: number; deltaY: number; target: IGraphic }) => {\n // 计算子元素的bounds\n const graphic = e.target as any;\n // childrenBounds.set(0, 0, scrollContainer.AABBBounds.width(), scrollContainer.AABBBounds.height());\n\n const data = this.getScrollContainer(graphic);\n\n if (!data && !this.scrollContainer) {\n return;\n }\n\n if (!data && this.scrollContainer) {\n if (!this.scrollContainer.g.stage || this.scrollContainer.g.stage !== graphic.stage) {\n return;\n }\n const newScrollContainer = this.formatScrollContainer(this.scrollContainer.g);\n\n if (!newScrollContainer) {\n this.clearScrollbar(this.scrollContainer.g, 'all');\n // 删除老的scrollbar\n return;\n }\n if (this.scrollContainer.showH && !newScrollContainer.showH) {\n this.clearScrollbar(this.scrollContainer.g, 'horizontal');\n }\n\n if (this.scrollContainer.showV && !newScrollContainer.showV) {\n this.clearScrollbar(this.scrollContainer.g, 'vertical');\n }\n\n this.scrollContainer = newScrollContainer;\n } else if (data && this.scrollContainer && data.g !== this.scrollContainer.g) {\n this.clearScrollbar(this.scrollContainer.g, 'all');\n }\n\n this.scrollContainer = data ?? this.scrollContainer;\n if (!data) {\n return;\n }\n const scrollContainer = data.g;\n if (!scrollContainer) {\n return;\n }\n const { width, height, scrollX = 0, scrollY = 0 } = scrollContainer.attribute;\n let newScrollX = scrollX;\n let newScrollY = scrollY;\n let { showH, showV } = data;\n this.scrollContainerBounds = new Bounds().set(\n 0,\n 0,\n scrollContainer.attribute.width,\n scrollContainer.attribute.height\n );\n if (showH && showH) {\n if (abs(e.deltaX) > abs(e.deltaY)) {\n showH = showH && true;\n showV = showV && false;\n } else {\n showH = showH && false;\n showV = showV && true;\n }\n }\n\n const scrollWidth = this.childrenBounds.width();\n const scrollHeight = this.childrenBounds.height();\n\n if (showH) {\n newScrollX = scrollX - (e.deltaX ?? 0);\n if (newScrollX > 0) {\n newScrollX = 0;\n } else if (newScrollX < width - scrollWidth) {\n newScrollX = width - scrollWidth;\n }\n }\n\n if (showV) {\n newScrollY = scrollY - (e.deltaY ?? 0);\n if (newScrollY > 0) {\n newScrollY = 0;\n } else if (newScrollY < height - scrollHeight) {\n newScrollY = height - scrollHeight;\n }\n }\n\n scrollContainer.setAttributes({\n scrollX: newScrollX,\n scrollY: newScrollY\n });\n this.addOrUpdateScroll(showH, showV, scrollContainer.parent, scrollContainer);\n };\n\n handleScrollBarChange = (params: any) => {\n if (\n !this.scrollContainer ||\n !this.scrollContainerBounds ||\n !this.childrenBounds ||\n !params ||\n !params.target ||\n !params.detail ||\n !params.detail.value\n ) {\n return;\n }\n const scrollbar = params.target;\n const newRange = params.detail.value;\n\n if (scrollbar.attribute.direction === 'horizontal') {\n const scrollWidth = this.childrenBounds.width();\n\n this.scrollContainer.g.setAttributes({ scrollX: -newRange[0] * scrollWidth });\n } else {\n const scrollHeight = this.childrenBounds.height();\n\n this.scrollContainer.g.setAttributes({ scrollY: -newRange[0] * scrollHeight });\n }\n };\n\n initEventOfScrollbar(scrollContainer: IGroup, scrollbar: IGroup, isHorozntal?: boolean) {\n scrollContainer.addEventListener('pointerover', () => {\n scrollbar.setAttribute('visibleAll', true);\n });\n scrollContainer.addEventListener('pointermove', () => {\n scrollbar.setAttribute('visibleAll', true);\n });\n scrollContainer.addEventListener('pointerout', () => {\n scrollbar.setAttribute('visibleAll', false);\n });\n scrollbar.addEventListener('pointerover', () => {\n scrollbar.setAttribute('visibleAll', true);\n });\n scrollbar.addEventListener('pointerout', () => {\n scrollbar.setAttribute('visibleAll', true);\n });\n\n scrollbar.addEventListener('scrollUp', this.handleScrollBarChange);\n scrollbar.addEventListener(SCROLLBAR_EVENT, this.handleScrollBarChange);\n }\n\n addOrUpdateScroll(showH: boolean, showV: boolean, container: IGroup, scrollContainer: IGroup) {\n if (showH) {\n const { scrollBar: hScrollbar, isUpdate } = this.addOrUpdateHScroll(scrollContainer, container, true);\n\n if (!isUpdate) {\n this.initEventOfScrollbar(scrollContainer, hScrollbar, true);\n }\n } else {\n this.clearScrollbar(scrollContainer, 'horizontal');\n }\n if (showV) {\n const { scrollBar: vScrollbar, isUpdate } = this.addOrUpdateHScroll(scrollContainer, container, false);\n\n if (!isUpdate) {\n this.initEventOfScrollbar(scrollContainer, vScrollbar, false);\n }\n } else {\n this.clearScrollbar(scrollContainer, 'vertical');\n }\n }\n\n getDirection(isHorozntal?: boolean) {\n return isHorozntal ? 'horizontal' : 'vertical';\n }\n\n addOrUpdateHScroll(scrollContainer: IGroup, container: IGroup, isHorozntal?: boolean) {\n const direction = this.getDirection(isHorozntal);\n const name = `${scrollContainer.name ?? scrollContainer._uid}_${this.getDirection(isHorozntal)}_${this.name}`;\n const scrollbars = container.children.filter((g: ScrollBar) => g.name === name);\n let isUpdate = true;\n let scrollBar = scrollbars[0] as ScrollBar;\n\n const { y = 0, dy = 0, x = 0, dx = 0, height, width, zIndex = 0 } = this.scrollContainer.g.attribute;\n const attrs: Partial<ScrollBarAttributes> = {\n x: 0,\n y: 0,\n direction,\n zIndex: zIndex + 1,\n visibleAll: true,\n padding: [2, 0],\n railStyle: {\n fill: 'rgba(0, 0, 0, .1)'\n },\n range: [0, 0.05]\n };\n\n if (isHorozntal) {\n attrs.width = this.scrollContainerBounds.width();\n attrs.height = 12;\n } else {\n attrs.height = this.scrollContainerBounds.height();\n attrs.width = 12;\n }\n\n if (!scrollBar) {\n isUpdate = false;\n\n scrollBar = new ScrollBar(attrs as ScrollBarAttributes);\n scrollBar.name = name;\n container.add(scrollBar);\n (scrollBar as any).isScrollBar = true;\n } else if (scrollbars.length > 1) {\n scrollbars.forEach((child: IGraphic, index: number) => {\n if (index) {\n child.parent?.removeChild(child);\n }\n });\n }\n const childrenBounds = this.childrenBounds;\n\n const { scrollX, scrollY } = scrollContainer.attribute;\n if (isHorozntal) {\n const ratio = Math.min(this.scrollContainerBounds.width() / childrenBounds.width(), 1);\n const start = Math.max(Math.min(scrollX / this.childrenBounds.width(), 0), ratio - 1);\n attrs.x = x + dx;\n attrs.y = y + dy + height - (attrs.height ?? 0);\n attrs.range = [-start, -start + ratio];\n } else {\n const ratio = Math.min(this.scrollContainerBounds.height() / childrenBounds.height(), 1);\n const start = Math.max(Math.min(scrollY / this.childrenBounds.height(), 0), ratio - 1);\n attrs.x = x + dx + width - this.scrollContainerBounds.width();\n attrs.y = y + dy;\n attrs.range = [-start, -start + ratio];\n }\n\n scrollBar.setAttributes(attrs);\n return {\n scrollBar,\n isUpdate\n };\n }\n\n clearScrollbar(scrollContainer: IGroup, type: 'horizontal' | 'vertical' | 'all') {\n if (!scrollContainer.parent) {\n return;\n }\n const scrollbarBars = scrollContainer.parent.children.filter((child: IGroup) => {\n return (child as any).isScrollBar && (type === 'all' || (child.attribute as any).direction === type);\n });\n\n scrollbarBars.forEach((child: IGraphic) => {\n child.parent.removeChild(child);\n });\n }\n\n formatScrollContainer(g: IGraphic) {\n if (!g || g.type !== 'group' || !g.attribute) {\n return null;\n }\n\n const { overflow, width, height } = (g as IGroup).attribute;\n\n if (!overflow || overflow === 'hidden') {\n return null;\n }\n\n let showH = false;\n let showV = false;\n\n if (overflow === 'scroll') {\n showH = true;\n showV = true;\n } else {\n showH = overflow === 'scroll-x';\n showV = !showH;\n }\n\n const childrenBounds = this.childrenBounds;\n\n childrenBounds.clear();\n g.forEachChildren((g: IGraphic) => {\n childrenBounds.union(g.AABBBounds);\n });\n\n if (!g.AABBBounds.empty()) {\n if (showH) {\n showH = width < childrenBounds.width();\n }\n\n if (showV) {\n showV = height < childrenBounds.height();\n }\n }\n\n return showH || showV ? { g: g as IGroup, showH, showV } : null;\n }\n\n // 获取响应滚动的元素\n getScrollContainer(graphic: IGraphic): { g: IGroup; showH: boolean; showV: boolean } | null {\n let g = graphic;\n while (g) {\n const res = this.formatScrollContainer(g);\n\n if (res) {\n return res;\n }\n g = g.parent;\n }\n return null;\n }\n\n deactivate(context: IPluginService): void {\n const { stage } = this.pluginService;\n stage.removeEventListener('wheel', this.scroll as any);\n }\n}\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.ArcSegment = void 0;
|
|
6
6
|
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"),
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), graphic_creator_1 = require("../util/graphic-creator"), register_1 = require("./register"), segment_1 = require("./segment");
|
|
8
8
|
|
|
9
9
|
(0, register_1.loadArcSegmentComponent)();
|
|
10
10
|
|
|
@@ -45,7 +45,7 @@ class ArcSegment extends segment_1.Segment {
|
|
|
45
45
|
this._mainSegmentPoints = [ startPoint, endPoint ];
|
|
46
46
|
const startSymbolShape = this._renderSymbol(startSymbol, this._mainSegmentPoints, "start"), endSymbolShape = this._renderSymbol(endSymbol, this._mainSegmentPoints, "end");
|
|
47
47
|
this.startSymbol = startSymbolShape, this.endSymbol = endSymbolShape;
|
|
48
|
-
const line =
|
|
48
|
+
const line = graphic_creator_1.graphicCreator.arc(Object.assign({
|
|
49
49
|
x: center.x,
|
|
50
50
|
y: center.y,
|
|
51
51
|
startAngle: startAngle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/segment/arc-segment.ts"],"names":[],"mappings":";;;AAGA,6CAAkD;AAGlD,
|
|
1
|
+
{"version":3,"sources":["../src/segment/arc-segment.ts"],"names":[],"mappings":"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","file":"arc-segment.js","sourcesContent":["/**\n * @description 标签组件\n */\nimport { isEmpty, merge } from '@visactor/vutils';\nimport type { IArc } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '../util/graphic-creator';\nimport type { ArcSegmentAttributes, SymbolAttributes } from './type';\nimport type { Point } from '../core/type';\nimport type { ComponentOptions } from '../interface';\nimport { loadArcSegmentComponent } from './register';\nimport { Segment } from './segment';\n\nloadArcSegmentComponent();\nexport class ArcSegment extends Segment {\n name = 'arc-segment';\n key = 'arc-segment';\n line?: IArc;\n isReverseArc: boolean = false;\n\n constructor(attributes: ArcSegmentAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, Segment.defaultAttributes, attributes));\n }\n\n /**\n * 外部获取segment起点切线正方向\n */\n getStartAngle() {\n // 如果是顺时针弧, start切线方向 = 弧度方向 - Math.PI / 2, 反之相反\n const tangAng = this.isReverseArc ? this._startAngle + Math.PI / 2 : this._startAngle - Math.PI / 2;\n\n // 经过刚刚的计算角度范围: [0, 360] => [-90, 270] 或 [0, 450]\n // 将其规范范围到[0, 360]\n return tangAng < 0 ? tangAng + Math.PI * 2 : tangAng > Math.PI * 2 ? tangAng - Math.PI * 2 : tangAng;\n }\n\n /**\n * 外部获取segment终点切线正方向\n */\n getEndAngle() {\n // 如果是顺时针弧, end切线方向 = 弧度方向 + Math.PI / 2, 反之相反\n const tangAng = this.isReverseArc ? this._endAngle - Math.PI / 2 : this._endAngle + Math.PI / 2;\n\n // 经过刚刚的计算角度范围: [0, 360] => [-90, 270] 或 [0, 450]\n // 将其规范范围到[0, 360]\n return tangAng < 0 ? tangAng + Math.PI * 2 : tangAng > Math.PI * 2 ? tangAng - Math.PI * 2 : tangAng;\n }\n\n getMainSegmentPoints() {\n return this._mainSegmentPoints;\n }\n\n protected _computeStartRotate(angle: number) {\n return this.isReverseArc ? angle + Math.PI : angle;\n }\n\n protected _computeEndRotate(angle: number) {\n return this.isReverseArc ? angle : angle + Math.PI;\n }\n\n protected render() {\n this.removeAllChild(true);\n this._reset();\n const {\n // points,\n startSymbol,\n endSymbol,\n lineStyle,\n state,\n visible = true,\n radius,\n startAngle,\n endAngle,\n center\n } = this.attribute as ArcSegmentAttributes;\n\n if (!visible) {\n return;\n }\n\n this._startAngle = startAngle;\n this._endAngle = endAngle;\n this.isReverseArc = startAngle > endAngle;\n\n // 绘制start和end symbol\n const startPoint: Point = {\n x: center.x + radius * Math.cos(this._startAngle),\n y: center.y + radius * Math.sin(this._startAngle)\n };\n const endPoint: Point = {\n x: center.x + radius * Math.cos(this._endAngle),\n y: center.y + radius * Math.sin(this._endAngle)\n };\n this._mainSegmentPoints = [startPoint, endPoint];\n\n const startSymbolShape = this._renderSymbol(startSymbol as SymbolAttributes, this._mainSegmentPoints, 'start');\n const endSymbolShape = this._renderSymbol(endSymbol as SymbolAttributes, this._mainSegmentPoints, 'end');\n\n this.startSymbol = startSymbolShape;\n this.endSymbol = endSymbolShape;\n\n const line = graphicCreator.arc({\n x: center.x,\n y: center.y,\n // startAngle: Math.PI + 0.5,\n // endAngle: 0,\n startAngle,\n endAngle,\n innerRadius: radius,\n outerRadius: radius,\n ...lineStyle\n });\n\n line.name = `${this.name}-line`;\n line.id = this._getNodeId('arc');\n if (!isEmpty(state?.line)) {\n line.states = [].concat(state.line)[0];\n }\n this.add(line);\n this.line = line;\n }\n}\n"]}
|
package/cjs/segment/segment.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.Segment = void 0;
|
|
6
6
|
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"),
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), graphic_creator_1 = require("../util/graphic-creator"), base_1 = require("../core/base"), register_1 = require("./register"), vutils_2 = require("@visactor/vutils");
|
|
8
8
|
|
|
9
9
|
(0, register_1.loadSegmentComponent)();
|
|
10
10
|
|
|
@@ -36,7 +36,7 @@ class Segment extends base_1.AbstractComponent {
|
|
|
36
36
|
}
|
|
37
37
|
points.forEach(((point, index) => {
|
|
38
38
|
var _a, _b;
|
|
39
|
-
const line =
|
|
39
|
+
const line = graphic_creator_1.graphicCreator.line(Object.assign(Object.assign({
|
|
40
40
|
points: point
|
|
41
41
|
}, (0, vutils_1.isArray)(lineStyle) ? null !== (_a = lineStyle[index]) && void 0 !== _a ? _a : lineStyle[lineStyle.length - 1] : lineStyle), {
|
|
42
42
|
fill: !1
|
|
@@ -46,8 +46,8 @@ class Segment extends base_1.AbstractComponent {
|
|
|
46
46
|
this.add(line), this.lines.push(line);
|
|
47
47
|
}));
|
|
48
48
|
} else {
|
|
49
|
-
let lineCreator =
|
|
50
|
-
(0, vutils_1.array)(lineStyle)[0].cornerRadius && (lineCreator =
|
|
49
|
+
let lineCreator = graphic_creator_1.graphicCreator.line;
|
|
50
|
+
(0, vutils_1.array)(lineStyle)[0].cornerRadius && (lineCreator = graphic_creator_1.graphicCreator.polygon);
|
|
51
51
|
const line = lineCreator(Object.assign(Object.assign({
|
|
52
52
|
points: this._clipPoints(this.attribute.points)
|
|
53
53
|
}, (0, vutils_1.array)(lineStyle)[0]), {
|
|
@@ -77,7 +77,7 @@ class Segment extends base_1.AbstractComponent {
|
|
|
77
77
|
}, rotate = this._computeStartRotate(this._startAngle)) : (position = {
|
|
78
78
|
x: end.x + ((0, vutils_1.isValidNumber)(endAngle) ? refX * Math.cos(endAngle) + refY * Math.cos(endAngle - Math.PI / 2) : 0),
|
|
79
79
|
y: end.y + ((0, vutils_1.isValidNumber)(endAngle) ? refX * Math.sin(endAngle) + refY * Math.sin(endAngle - Math.PI / 2) : 0)
|
|
80
|
-
}, rotate = this._computeEndRotate(this._endAngle)), symbol =
|
|
80
|
+
}, rotate = this._computeEndRotate(this._endAngle)), symbol = graphic_creator_1.graphicCreator.symbol(Object.assign(Object.assign(Object.assign({}, position), {
|
|
81
81
|
symbolType: symbolType,
|
|
82
82
|
size: size,
|
|
83
83
|
angle: autoRotate ? rotate + refAngle : 0,
|