@wcardinal/wcardinal-ui 0.239.0 → 0.240.0
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/dist/types/wcardinal/ui/d-button-base.d.ts +5 -2
- package/dist/types/wcardinal/ui/d-chart-axis-base.d.ts +5 -4
- package/dist/types/wcardinal/ui/d-chart-axis-container-impl.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-chart-axis-container.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-chart-axis.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-chart-selection-gridline-container-impl.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection-gridline-container.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection-gridline-x.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection-gridline-y.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection-marker.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection-shape-base.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection-shape.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection-simple.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-chart-selection-sub-impl.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection-sub.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection.d.ts +1 -0
- package/dist/wcardinal/ui/d-button-base.js +25 -7
- package/dist/wcardinal/ui/d-button-base.js.map +1 -1
- package/dist/wcardinal/ui/d-button-group.js +7 -1
- package/dist/wcardinal/ui/d-button-group.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-axis-base.js +19 -9
- package/dist/wcardinal/ui/d-chart-axis-base.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-axis-container-impl.js +7 -0
- package/dist/wcardinal/ui/d-chart-axis-container-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-axis-container.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-axis.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-plot-area-impl.js +2 -2
- package/dist/wcardinal/ui/d-chart-plot-area-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-gridline-container-impl.js +3 -2
- package/dist/wcardinal/ui/d-chart-selection-gridline-container-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-gridline-container.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-gridline-x.js +2 -0
- package/dist/wcardinal/ui/d-chart-selection-gridline-x.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-gridline-y.js +2 -0
- package/dist/wcardinal/ui/d-chart-selection-gridline-y.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-marker.js +2 -0
- package/dist/wcardinal/ui/d-chart-selection-marker.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-shape-base.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-shape.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-simple.js +11 -0
- package/dist/wcardinal/ui/d-chart-selection-simple.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-sub-impl.js +4 -2
- package/dist/wcardinal/ui/d-chart-selection-sub-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-sub.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +1 -1
- package/dist/wcardinal-ui-theme-dark.min.js +1 -1
- package/dist/wcardinal-ui-theme-white.js +1 -1
- package/dist/wcardinal-ui-theme-white.min.js +1 -1
- package/dist/wcardinal-ui.cjs.js +84 -24
- package/dist/wcardinal-ui.js +84 -24
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -64,11 +64,14 @@ export interface DThemeButtonBase<VALUE = unknown> extends DThemeImageBase<VALUE
|
|
|
64
64
|
* See {@link DButtonBaseEvents} for event details.
|
|
65
65
|
*/
|
|
66
66
|
export declare class DButtonBase<VALUE = unknown, THEME extends DThemeButtonBase<VALUE> = DThemeButtonBase<VALUE>, OPTIONS extends DButtonBaseOptions<VALUE, THEME> = DButtonBaseOptions<VALUE, THEME>> extends DImageBase<VALUE, THEME, OPTIONS> {
|
|
67
|
-
protected _isToggle
|
|
68
|
-
protected
|
|
67
|
+
protected _isToggle?: boolean;
|
|
68
|
+
protected _isGrouped?: boolean;
|
|
69
|
+
protected _when?: DButtonBaseWhen;
|
|
69
70
|
protected init(options?: OPTIONS): void;
|
|
70
71
|
protected onShortcut(e: KeyboardEvent): void;
|
|
71
72
|
get isToggle(): boolean;
|
|
73
|
+
get isGrouped(): boolean;
|
|
74
|
+
set isGrouped(isGrouped: boolean);
|
|
72
75
|
protected initOnPress(): void;
|
|
73
76
|
protected getType(): string;
|
|
74
77
|
protected onClick(e: interaction.InteractionEvent): void;
|
|
@@ -23,13 +23,14 @@ export declare class DChartAxisBase<CHART extends DBase = DBase, OPTIONS extends
|
|
|
23
23
|
protected _theme: DThemeChartAxisBase;
|
|
24
24
|
constructor(options?: OPTIONS);
|
|
25
25
|
get position(): DChartAxisPosition;
|
|
26
|
-
protected updateBar(container: DChartAxisContainer<CHART>):
|
|
27
|
-
protected updateTicksX(domainMin: number, domainMax: number, coordinate: DChartCoordinate<CHART>, majorShapes: EShapeBar[], minorShapes: EShapeBar[], gridlineShapes: EShapeBar[] | undefined, shapePositionY: number, transform: Matrix, plotAreaHeight: number):
|
|
28
|
-
protected updateTicksY(domainMin: number, domainMax: number, coordinate: DChartCoordinate<CHART>, majorShapes: EShapeBar[], minorShapes: EShapeBar[], gridlineShapes: EShapeBar[] | undefined, shapePositionX: number, transform: Matrix, plotAreaWidth: number):
|
|
29
|
-
protected updateTicks(container: DChartAxisContainer<CHART>):
|
|
26
|
+
protected updateBar(container: DChartAxisContainer<CHART>): boolean;
|
|
27
|
+
protected updateTicksX(domainMin: number, domainMax: number, coordinate: DChartCoordinate<CHART>, majorShapes: EShapeBar[], minorShapes: EShapeBar[], gridlineShapes: EShapeBar[] | undefined, shapePositionY: number, transform: Matrix, plotAreaHeight: number): boolean;
|
|
28
|
+
protected updateTicksY(domainMin: number, domainMax: number, coordinate: DChartCoordinate<CHART>, majorShapes: EShapeBar[], minorShapes: EShapeBar[], gridlineShapes: EShapeBar[] | undefined, shapePositionX: number, transform: Matrix, plotAreaWidth: number): boolean;
|
|
29
|
+
protected updateTicks(container: DChartAxisContainer<CHART>): boolean;
|
|
30
30
|
bind(container: DChartAxisContainer<CHART>, index: number): void;
|
|
31
31
|
unbind(): void;
|
|
32
32
|
update(): void;
|
|
33
|
+
onRender(): void;
|
|
33
34
|
destroy(): void;
|
|
34
35
|
protected toTheme(options?: DChartAxisBaseOptions): DThemeChartAxisBase;
|
|
35
36
|
protected getThemeDefault(): DThemeChartAxisBase;
|
|
@@ -14,5 +14,5 @@ export declare class DChartSelectionGridlineContainerImpl<CHART extends DBase =
|
|
|
14
14
|
unbind(): void;
|
|
15
15
|
set(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint, series: DChartSeries<CHART>): void;
|
|
16
16
|
unset(): void;
|
|
17
|
-
update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint):
|
|
17
|
+
update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint): boolean;
|
|
18
18
|
}
|
|
@@ -14,5 +14,5 @@ export interface DChartSelectionGridlineContainer<CHART extends DBase = DBase> {
|
|
|
14
14
|
unbind(): void;
|
|
15
15
|
set(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint, series: DChartSeries<CHART>): void;
|
|
16
16
|
unset(): void;
|
|
17
|
-
update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint):
|
|
17
|
+
update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint): boolean;
|
|
18
18
|
}
|
|
@@ -3,7 +3,7 @@ import { DBase } from "./d-base";
|
|
|
3
3
|
import { DChartSelectionShapeBase } from "./d-chart-selection-shape-base";
|
|
4
4
|
import { DChartSeriesContainer } from "./d-chart-series-container";
|
|
5
5
|
export declare class DChartSelectionGridlineX<CHART extends DBase = DBase> extends DChartSelectionShapeBase<CHART> {
|
|
6
|
-
update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint):
|
|
6
|
+
update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint): boolean;
|
|
7
7
|
protected isVisible(container: DChartSeriesContainer<CHART>, mappedX: number): boolean;
|
|
8
8
|
protected getType(): string;
|
|
9
9
|
}
|
|
@@ -3,7 +3,7 @@ import { DBase } from "./d-base";
|
|
|
3
3
|
import { DChartSelectionShapeBase } from "./d-chart-selection-shape-base";
|
|
4
4
|
import { DChartSeriesContainer } from "./d-chart-series-container";
|
|
5
5
|
export declare class DChartSelectionGridlineY<CHART extends DBase = DBase> extends DChartSelectionShapeBase<CHART> {
|
|
6
|
-
update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint):
|
|
6
|
+
update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint): boolean;
|
|
7
7
|
protected isVisible(container: DChartSeriesContainer<CHART>, mappedY: number): boolean;
|
|
8
8
|
protected getType(): string;
|
|
9
9
|
}
|
|
@@ -3,7 +3,7 @@ import { DBase } from "./d-base";
|
|
|
3
3
|
import { DChartSelectionShapeBase } from "./d-chart-selection-shape-base";
|
|
4
4
|
import { DChartSeriesContainer } from "./d-chart-series-container";
|
|
5
5
|
export declare class DChartSelectionMarker<CHART extends DBase = DBase> extends DChartSelectionShapeBase<CHART> {
|
|
6
|
-
update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint):
|
|
6
|
+
update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint): boolean;
|
|
7
7
|
protected isVisible(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint): boolean;
|
|
8
8
|
protected getType(): string;
|
|
9
9
|
}
|
|
@@ -19,7 +19,7 @@ export declare abstract class DChartSelectionShapeBase<CHART extends DBase = DBa
|
|
|
19
19
|
set(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint, series: DChartSeries<CHART>): void;
|
|
20
20
|
protected setStyle(this: unknown, shape: EShape, series: DChartSeries<CHART>): void;
|
|
21
21
|
unset(): void;
|
|
22
|
-
abstract update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint):
|
|
22
|
+
abstract update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint): boolean;
|
|
23
23
|
protected toTheme(options?: DChartSelectionShapeOptions<CHART>): DThemeChartSelectionShape;
|
|
24
24
|
protected getTheme(type: string): DThemeChartSelectionShape;
|
|
25
25
|
protected abstract getType(): string;
|
|
@@ -21,5 +21,5 @@ export interface DChartSelectionShape<CHART extends DBase = DBase> {
|
|
|
21
21
|
unbind(): void;
|
|
22
22
|
set(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint, series: DChartSeries<CHART>): void;
|
|
23
23
|
unset(): void;
|
|
24
|
-
update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint):
|
|
24
|
+
update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint): boolean;
|
|
25
25
|
}
|
|
@@ -30,5 +30,5 @@ export declare class DChartSelectionSubImpl<CHART extends DBase = DBase> extends
|
|
|
30
30
|
set(series: DChartSeries<CHART>, result: DChartSeriesHitResult | DChartSelectionSub<CHART>): void;
|
|
31
31
|
protected setStyle(this: unknown, shape: EShape, series: DChartSeries<CHART>): void;
|
|
32
32
|
unset(): void;
|
|
33
|
-
update():
|
|
33
|
+
update(): boolean;
|
|
34
34
|
}
|
|
@@ -44,7 +44,17 @@ var DButtonBase = /** @class */ (function (_super) {
|
|
|
44
44
|
};
|
|
45
45
|
Object.defineProperty(DButtonBase.prototype, "isToggle", {
|
|
46
46
|
get: function () {
|
|
47
|
-
return this._isToggle;
|
|
47
|
+
return !!this._isToggle;
|
|
48
|
+
},
|
|
49
|
+
enumerable: false,
|
|
50
|
+
configurable: true
|
|
51
|
+
});
|
|
52
|
+
Object.defineProperty(DButtonBase.prototype, "isGrouped", {
|
|
53
|
+
get: function () {
|
|
54
|
+
return !!this._isGrouped;
|
|
55
|
+
},
|
|
56
|
+
set: function (isGrouped) {
|
|
57
|
+
this._isGrouped = isGrouped;
|
|
48
58
|
},
|
|
49
59
|
enumerable: false,
|
|
50
60
|
configurable: true
|
|
@@ -87,9 +97,17 @@ var DButtonBase = /** @class */ (function (_super) {
|
|
|
87
97
|
return _super.prototype.onDblClick.call(this, e, interactionManager);
|
|
88
98
|
};
|
|
89
99
|
DButtonBase.prototype.activate = function (e) {
|
|
90
|
-
if (this.
|
|
91
|
-
this.
|
|
92
|
-
|
|
100
|
+
if (this._isToggle) {
|
|
101
|
+
if (this._isGrouped) {
|
|
102
|
+
if (!this.state.isActive) {
|
|
103
|
+
this.onToggleStart(e);
|
|
104
|
+
this.onToggleEnd(e);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
this.onToggleStart(e);
|
|
109
|
+
this.onToggleEnd(e);
|
|
110
|
+
}
|
|
93
111
|
}
|
|
94
112
|
else {
|
|
95
113
|
this.onActivate(e);
|
|
@@ -103,7 +121,7 @@ var DButtonBase = /** @class */ (function (_super) {
|
|
|
103
121
|
};
|
|
104
122
|
DButtonBase.prototype.toggle = function () {
|
|
105
123
|
if (this.state.isActionable) {
|
|
106
|
-
if (this.
|
|
124
|
+
if (this._isToggle) {
|
|
107
125
|
this.onToggleStart();
|
|
108
126
|
this.onToggleEnd();
|
|
109
127
|
}
|
|
@@ -122,7 +140,7 @@ var DButtonBase = /** @class */ (function (_super) {
|
|
|
122
140
|
};
|
|
123
141
|
DButtonBase.prototype.onActivateKeyDown = function (e) {
|
|
124
142
|
if (this.state.isActionable) {
|
|
125
|
-
if (this.
|
|
143
|
+
if (this._isToggle) {
|
|
126
144
|
this.onToggleStart(e);
|
|
127
145
|
}
|
|
128
146
|
else {
|
|
@@ -132,7 +150,7 @@ var DButtonBase = /** @class */ (function (_super) {
|
|
|
132
150
|
};
|
|
133
151
|
DButtonBase.prototype.onActivateKeyUp = function (e) {
|
|
134
152
|
if (this.state.isActionable) {
|
|
135
|
-
if (this.
|
|
153
|
+
if (this._isToggle) {
|
|
136
154
|
this.onToggleEnd(e);
|
|
137
155
|
}
|
|
138
156
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-button-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DButtonBaseWhen } from \"./d-button-base-when\";\nimport { DButtonGroup } from \"./d-button-group\";\nimport { DImageBase, DImageBaseEvents, DImageBaseOptions, DThemeImageBase } from \"./d-image-base\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\n/**\n * {@link DButtonBase} events.\n */\nexport interface DButtonBaseEvents<VALUE, EMITTER> extends DImageBaseEvents<VALUE, EMITTER> {\n\t/**\n\t * Triggered when the button is activated.\n\t *\n\t * @param emitter an emitter\n\t */\n\tactive(emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when the button is inactivated.\n\t *\n\t * @param emitter an emitter\n\t */\n\tinactive(emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonBase} \"on\" options.\n */\nexport interface DButtonBaseOnOptions<VALUE, EMITTER>\n\textends Partial<DButtonBaseEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonBase} options.\n */\nexport interface DButtonBaseOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeButtonBase<VALUE> = DThemeButtonBase<VALUE>,\n\tEMITTER = any\n> extends DImageBaseOptions<VALUE, THEME, EMITTER> {\n\t/**\n\t * True to turn a toggle mode on.\n\t */\n\ttoggle?: boolean;\n\n\t/**\n\t * A button group.\n\t */\n\tgroup?: DButtonGroup;\n\n\t/**\n\t * An option when to activate a button.\n\t */\n\twhen?: DButtonBaseWhen | keyof typeof DButtonBaseWhen;\n\n\t/**\n\t * Mappings of event names and handlers.\n\t */\n\ton?: DButtonBaseOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DButtonBase} theme.\n */\nexport interface DThemeButtonBase<VALUE = unknown> extends DThemeImageBase<VALUE> {\n\t/**\n\t * Returns true to turn a toggle mode on.\n\t */\n\tisToggle(): boolean;\n\n\t/**\n\t * Returns when to activate a button.\n\t */\n\tgetWhen(): DButtonBaseWhen;\n}\n\n/**\n * A base class for button classes.\n * See {@link DButtonBaseEvents} for event details.\n */\nexport class DButtonBase<\n\tVALUE = unknown,\n\tTHEME extends DThemeButtonBase<VALUE> = DThemeButtonBase<VALUE>,\n\tOPTIONS extends DButtonBaseOptions<VALUE, THEME> = DButtonBaseOptions<VALUE, THEME>\n> extends DImageBase<VALUE, THEME, OPTIONS> {\n\tprotected _isToggle!: boolean;\n\tprotected _when!: DButtonBaseWhen;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\n\t\tconst theme = this.theme;\n\t\tthis._isToggle = options?.toggle ?? theme.isToggle();\n\t\tthis._when = toEnum(options?.when ?? theme.getWhen(), DButtonBaseWhen);\n\n\t\t// Event handlers\n\t\tthis.on(UtilPointerEvent.tap, (e: interaction.InteractionEvent): void => {\n\t\t\tthis.onClick(e);\n\t\t});\n\t\tthis.initOnPress();\n\n\t\t// Group\n\t\tconst group = options?.group;\n\t\tif (group) {\n\t\t\tgroup.add(this);\n\t\t}\n\t}\n\n\tprotected onShortcut(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t\tsuper.onShortcut(e);\n\t}\n\n\tget isToggle(): boolean {\n\t\treturn this._isToggle;\n\t}\n\n\tprotected initOnPress(): void {\n\t\tlet interactionManager: interaction.InteractionManager | null = null;\n\n\t\tconst onUp = (): void => {\n\t\t\tthis.state.isPressed = false;\n\t\t\tif (interactionManager != null) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.up, onUp);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.upoutside, onUp);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.cancel, onUp);\n\t\t\t\tinteractionManager = null;\n\t\t\t}\n\t\t};\n\n\t\tthis.on(UtilPointerEvent.down, (): void => {\n\t\t\tthis.state.isPressed = true;\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer) {\n\t\t\t\tinteractionManager = layer.renderer.plugins.interaction;\n\t\t\t\tinteractionManager.on(UtilPointerEvent.up, onUp);\n\t\t\t\tinteractionManager.on(UtilPointerEvent.upoutside, onUp);\n\t\t\t\tinteractionManager.on(UtilPointerEvent.cancel, onUp);\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButton\";\n\t}\n\n\tprotected onClick(e: interaction.InteractionEvent): void {\n\t\tif (this._when === DButtonBaseWhen.CLICKED && this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t}\n\n\tprotected onDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\tif (this._when === DButtonBaseWhen.DOUBLE_CLICKED && this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tactivate(e?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (this.isToggle) {\n\t\t\tthis.onToggleStart(e);\n\t\t\tthis.onToggleEnd(e);\n\t\t} else {\n\t\t\tthis.onActivate(e);\n\t\t}\n\t}\n\n\tprotected onActivate(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tthis.emit(\"active\", this);\n\t}\n\n\tprotected onInactivate(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tthis.emit(\"inactive\", this);\n\t}\n\n\ttoggle(): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t\tthis.onToggleEnd();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onToggleStart(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tthis.state.isActive = !this.state.isActive;\n\t}\n\n\tprotected onToggleEnd(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tif (this.state.isActive) {\n\t\t\tthis.onActivate(e);\n\t\t} else {\n\t\t\tthis.onInactivate(e);\n\t\t}\n\t}\n\n\tprotected onActivateKeyDown(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart(e);\n\t\t\t} else {\n\t\t\t\tthis.state.isPressed = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onActivateKeyUp(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleEnd(e);\n\t\t\t} else {\n\t\t\t\tif (this.state.isPressed) {\n\t\t\t\t\tthis.onActivate(e);\n\t\t\t\t}\n\t\t\t\tthis.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyDown(e);\n\t\t}\n\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyUp(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyUp(e);\n\t\t}\n\n\t\treturn super.onKeyUp(e);\n\t}\n\n\tdestroy(): void {\n\t\tthis._options?.group?.remove(this);\n\t\tsuper.destroy();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-button-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DButtonBaseWhen } from \"./d-button-base-when\";\nimport { DButtonGroup } from \"./d-button-group\";\nimport { DImageBase, DImageBaseEvents, DImageBaseOptions, DThemeImageBase } from \"./d-image-base\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\n/**\n * {@link DButtonBase} events.\n */\nexport interface DButtonBaseEvents<VALUE, EMITTER> extends DImageBaseEvents<VALUE, EMITTER> {\n\t/**\n\t * Triggered when the button is activated.\n\t *\n\t * @param emitter an emitter\n\t */\n\tactive(emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when the button is inactivated.\n\t *\n\t * @param emitter an emitter\n\t */\n\tinactive(emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonBase} \"on\" options.\n */\nexport interface DButtonBaseOnOptions<VALUE, EMITTER>\n\textends Partial<DButtonBaseEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonBase} options.\n */\nexport interface DButtonBaseOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeButtonBase<VALUE> = DThemeButtonBase<VALUE>,\n\tEMITTER = any\n> extends DImageBaseOptions<VALUE, THEME, EMITTER> {\n\t/**\n\t * True to turn a toggle mode on.\n\t */\n\ttoggle?: boolean;\n\n\t/**\n\t * A button group.\n\t */\n\tgroup?: DButtonGroup;\n\n\t/**\n\t * An option when to activate a button.\n\t */\n\twhen?: DButtonBaseWhen | keyof typeof DButtonBaseWhen;\n\n\t/**\n\t * Mappings of event names and handlers.\n\t */\n\ton?: DButtonBaseOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DButtonBase} theme.\n */\nexport interface DThemeButtonBase<VALUE = unknown> extends DThemeImageBase<VALUE> {\n\t/**\n\t * Returns true to turn a toggle mode on.\n\t */\n\tisToggle(): boolean;\n\n\t/**\n\t * Returns when to activate a button.\n\t */\n\tgetWhen(): DButtonBaseWhen;\n}\n\n/**\n * A base class for button classes.\n * See {@link DButtonBaseEvents} for event details.\n */\nexport class DButtonBase<\n\tVALUE = unknown,\n\tTHEME extends DThemeButtonBase<VALUE> = DThemeButtonBase<VALUE>,\n\tOPTIONS extends DButtonBaseOptions<VALUE, THEME> = DButtonBaseOptions<VALUE, THEME>\n> extends DImageBase<VALUE, THEME, OPTIONS> {\n\tprotected _isToggle?: boolean;\n\tprotected _isGrouped?: boolean;\n\tprotected _when?: DButtonBaseWhen;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\n\t\tconst theme = this.theme;\n\t\tthis._isToggle = options?.toggle ?? theme.isToggle();\n\t\tthis._when = toEnum(options?.when ?? theme.getWhen(), DButtonBaseWhen);\n\n\t\t// Event handlers\n\t\tthis.on(UtilPointerEvent.tap, (e: interaction.InteractionEvent): void => {\n\t\t\tthis.onClick(e);\n\t\t});\n\t\tthis.initOnPress();\n\n\t\t// Group\n\t\tconst group = options?.group;\n\t\tif (group) {\n\t\t\tgroup.add(this);\n\t\t}\n\t}\n\n\tprotected onShortcut(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t\tsuper.onShortcut(e);\n\t}\n\n\tget isToggle(): boolean {\n\t\treturn !!this._isToggle;\n\t}\n\n\tget isGrouped(): boolean {\n\t\treturn !!this._isGrouped;\n\t}\n\n\tset isGrouped(isGrouped: boolean) {\n\t\tthis._isGrouped = isGrouped;\n\t}\n\n\tprotected initOnPress(): void {\n\t\tlet interactionManager: interaction.InteractionManager | null = null;\n\n\t\tconst onUp = (): void => {\n\t\t\tthis.state.isPressed = false;\n\t\t\tif (interactionManager != null) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.up, onUp);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.upoutside, onUp);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.cancel, onUp);\n\t\t\t\tinteractionManager = null;\n\t\t\t}\n\t\t};\n\n\t\tthis.on(UtilPointerEvent.down, (): void => {\n\t\t\tthis.state.isPressed = true;\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer) {\n\t\t\t\tinteractionManager = layer.renderer.plugins.interaction;\n\t\t\t\tinteractionManager.on(UtilPointerEvent.up, onUp);\n\t\t\t\tinteractionManager.on(UtilPointerEvent.upoutside, onUp);\n\t\t\t\tinteractionManager.on(UtilPointerEvent.cancel, onUp);\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButton\";\n\t}\n\n\tprotected onClick(e: interaction.InteractionEvent): void {\n\t\tif (this._when === DButtonBaseWhen.CLICKED && this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t}\n\n\tprotected onDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\tif (this._when === DButtonBaseWhen.DOUBLE_CLICKED && this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tactivate(e?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (this._isToggle) {\n\t\t\tif (this._isGrouped) {\n\t\t\t\tif (!this.state.isActive) {\n\t\t\t\t\tthis.onToggleStart(e);\n\t\t\t\t\tthis.onToggleEnd(e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.onToggleStart(e);\n\t\t\t\tthis.onToggleEnd(e);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.onActivate(e);\n\t\t}\n\t}\n\n\tprotected onActivate(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tthis.emit(\"active\", this);\n\t}\n\n\tprotected onInactivate(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tthis.emit(\"inactive\", this);\n\t}\n\n\ttoggle(): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this._isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t\tthis.onToggleEnd();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onToggleStart(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tthis.state.isActive = !this.state.isActive;\n\t}\n\n\tprotected onToggleEnd(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tif (this.state.isActive) {\n\t\t\tthis.onActivate(e);\n\t\t} else {\n\t\t\tthis.onInactivate(e);\n\t\t}\n\t}\n\n\tprotected onActivateKeyDown(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this._isToggle) {\n\t\t\t\tthis.onToggleStart(e);\n\t\t\t} else {\n\t\t\t\tthis.state.isPressed = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onActivateKeyUp(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this._isToggle) {\n\t\t\t\tthis.onToggleEnd(e);\n\t\t\t} else {\n\t\t\t\tif (this.state.isPressed) {\n\t\t\t\t\tthis.onActivate(e);\n\t\t\t\t}\n\t\t\t\tthis.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyDown(e);\n\t\t}\n\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyUp(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyUp(e);\n\t\t}\n\n\t\treturn super.onKeyUp(e);\n\t}\n\n\tdestroy(): void {\n\t\tthis._options?.group?.remove(this);\n\t\tsuper.destroy();\n\t}\n}\n"]}
|
|
@@ -32,6 +32,7 @@ var DButtonGroup = /** @class */ (function (_super) {
|
|
|
32
32
|
var index = buttons.indexOf(button);
|
|
33
33
|
if (index < 0) {
|
|
34
34
|
this._buttons.push(button);
|
|
35
|
+
button.isGrouped = true;
|
|
35
36
|
var isEnabled = this._isEnabled;
|
|
36
37
|
if (isEnabled != null) {
|
|
37
38
|
button.state.isEnabled = isEnabled;
|
|
@@ -68,6 +69,7 @@ var DButtonGroup = /** @class */ (function (_super) {
|
|
|
68
69
|
var index = buttons.indexOf(button);
|
|
69
70
|
if (0 <= index) {
|
|
70
71
|
buttons.splice(index, 1);
|
|
72
|
+
button.isGrouped = false;
|
|
71
73
|
button.off("active", this._onActiveBound);
|
|
72
74
|
if (this._active === button) {
|
|
73
75
|
this.active = null;
|
|
@@ -80,7 +82,11 @@ var DButtonGroup = /** @class */ (function (_super) {
|
|
|
80
82
|
return 0 <= index;
|
|
81
83
|
};
|
|
82
84
|
DButtonGroup.prototype.clear = function () {
|
|
83
|
-
this._buttons
|
|
85
|
+
var buttons = this._buttons;
|
|
86
|
+
for (var i = 0, imax = buttons.length; i < imax; ++i) {
|
|
87
|
+
buttons[i].isGrouped = false;
|
|
88
|
+
}
|
|
89
|
+
buttons.length = 0;
|
|
84
90
|
this.active = null;
|
|
85
91
|
};
|
|
86
92
|
DButtonGroup.prototype.size = function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-button-group.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-group.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"d-button-group.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-group.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DButtonBase } from \"./d-button-base\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DButtonGroup} events.\n */\nexport interface DButtonGroupEvents<BUTTON, EMITTER> {\n\t/**\n\t * Triggered when the active button is changed.\n\t *\n\t * @param emitter an emitter\n\t */\n\tactive(newActive: BUTTON | null, oldActive: BUTTON | null, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonGroup} \"on\" options.\n */\nexport interface DButtonGroupOnOptions<BUTTON, EMITTER>\n\textends Partial<DButtonGroupEvents<BUTTON, EMITTER>>,\n\t\tDOnOptions {}\n\nexport interface DButtonGroupOptions<\n\tBUTTON extends DButtonBase<any, any, any> = DButtonBase<any, any, any>,\n\tEMITTER = any\n> {\n\ton?: DButtonGroupOnOptions<BUTTON, EMITTER>;\n}\n\nexport class DButtonGroup<\n\tBUTTON extends DButtonBase<any, any, any> = DButtonBase<any, any, any>,\n\tOPTIONS extends DButtonGroupOptions<BUTTON> = DButtonGroupOptions<BUTTON>\n> extends utils.EventEmitter {\n\tprotected _buttons: BUTTON[];\n\tprotected _active: BUTTON | null;\n\tprotected _onActiveBound: (button: BUTTON) => void;\n\tprotected _isEnabled?: boolean;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper();\n\n\t\tthis._buttons = [];\n\t\tthis._active = null;\n\t\tthis._onActiveBound = (button: BUTTON): void => {\n\t\t\tthis.active = button;\n\t\t};\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on != null) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Done\n\t\tthis.emit(\"init\", this);\n\t}\n\n\tadd(button: BUTTON): void {\n\t\tconst buttons = this._buttons;\n\t\tconst index = buttons.indexOf(button);\n\t\tif (index < 0) {\n\t\t\tthis._buttons.push(button);\n\t\t\tbutton.isGrouped = true;\n\t\t\tconst isEnabled = this._isEnabled;\n\t\t\tif (isEnabled != null) {\n\t\t\t\tbutton.state.isEnabled = isEnabled;\n\t\t\t}\n\t\t\tbutton.on(\"active\", this._onActiveBound);\n\t\t\tif (button.state.isActive) {\n\t\t\t\tthis.active = button;\n\t\t\t}\n\t\t}\n\t}\n\n\tget active(): BUTTON | null {\n\t\treturn this._active;\n\t}\n\n\tset active(newActive: BUTTON | null) {\n\t\tif ((newActive == null || newActive.isToggle) && this._active !== newActive) {\n\t\t\tconst oldActive = this._active;\n\t\t\tthis._active = null;\n\t\t\tconst buttons = this._buttons;\n\t\t\tfor (let i = 0, imax = buttons.length; i < imax; ++i) {\n\t\t\t\tconst button = buttons[i];\n\t\t\t\tif (button !== newActive && button.isToggle && button.state.isActive) {\n\t\t\t\t\tbutton.toggle();\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.emit(\"active\", newActive, oldActive, this);\n\t\t}\n\t}\n\n\tremove(button: BUTTON): void {\n\t\tconst buttons = this._buttons;\n\t\tconst index = buttons.indexOf(button);\n\t\tif (0 <= index) {\n\t\t\tbuttons.splice(index, 1);\n\t\t\tbutton.isGrouped = false;\n\t\t\tbutton.off(\"active\", this._onActiveBound);\n\t\t\tif (this._active === button) {\n\t\t\t\tthis.active = null;\n\t\t\t}\n\t\t}\n\t}\n\n\tcontains(button: BUTTON): boolean {\n\t\tconst buttons = this._buttons;\n\t\tconst index = buttons.indexOf(button);\n\t\treturn 0 <= index;\n\t}\n\n\tclear(): void {\n\t\tconst buttons = this._buttons;\n\t\tfor (let i = 0, imax = buttons.length; i < imax; ++i) {\n\t\t\tbuttons[i].isGrouped = false;\n\t\t}\n\t\tbuttons.length = 0;\n\t\tthis.active = null;\n\t}\n\n\tsize(): number {\n\t\treturn this._buttons.length;\n\t}\n\n\teach(iteratee: (button: BUTTON) => boolean | void): void {\n\t\tconst buttons = this._buttons;\n\t\tfor (let i = 0, imax = buttons.length; i < imax; ++i) {\n\t\t\tconst button = buttons[i];\n\t\t\tif (iteratee(button) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tdisable(): void {\n\t\tconst buttons = this._buttons;\n\t\tfor (let i = 0, imax = buttons.length; i < imax; ++i) {\n\t\t\tbuttons[i].state.isDisabled = true;\n\t\t}\n\t\tthis._isEnabled = false;\n\t}\n\n\tenable(): void {\n\t\tconst buttons = this._buttons;\n\t\tfor (let i = 0, imax = buttons.length; i < imax; ++i) {\n\t\t\tbuttons[i].state.isDisabled = false;\n\t\t}\n\t\tthis._isEnabled = true;\n\t}\n\n\tdestroy(): void {\n\t\tthis.clear();\n\t}\n}\n"]}
|
|
@@ -65,8 +65,9 @@ var DChartAxisBase = /** @class */ (function () {
|
|
|
65
65
|
break;
|
|
66
66
|
}
|
|
67
67
|
shape.allowUploadedUpdate();
|
|
68
|
-
|
|
68
|
+
return true;
|
|
69
69
|
}
|
|
70
|
+
return false;
|
|
70
71
|
};
|
|
71
72
|
DChartAxisBase.prototype.updateTicksX = function (domainMin, domainMax, coordinate, majorShapes, minorShapes, gridlineShapes, shapePositionY, transform, plotAreaHeight) {
|
|
72
73
|
var tick = this._tick;
|
|
@@ -127,6 +128,7 @@ var DChartAxisBase = /** @class */ (function () {
|
|
|
127
128
|
minorShape.visible = false;
|
|
128
129
|
}
|
|
129
130
|
}
|
|
131
|
+
return true;
|
|
130
132
|
};
|
|
131
133
|
DChartAxisBase.prototype.updateTicksY = function (domainMin, domainMax, coordinate, majorShapes, minorShapes, gridlineShapes, shapePositionX, transform, plotAreaWidth) {
|
|
132
134
|
var tick = this._tick;
|
|
@@ -187,6 +189,7 @@ var DChartAxisBase = /** @class */ (function () {
|
|
|
187
189
|
minorShape.visible = false;
|
|
188
190
|
}
|
|
189
191
|
}
|
|
192
|
+
return true;
|
|
190
193
|
};
|
|
191
194
|
DChartAxisBase.prototype.updateTicks = function (container) {
|
|
192
195
|
var tick = this._tick;
|
|
@@ -207,8 +210,7 @@ var DChartAxisBase = /** @class */ (function () {
|
|
|
207
210
|
var domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.x));
|
|
208
211
|
var domainTo = coordinate.unmap(coordinate.transform.unmap(bounds.x + bounds.width));
|
|
209
212
|
var plotAreaHeight = plotArea.height;
|
|
210
|
-
this.updateTicksX(domainFrom, domainTo, coordinate, majorShapes, minorShapes, gridlineShapes, 0 - padding, transform, plotAreaHeight);
|
|
211
|
-
DApplications.update(plotArea);
|
|
213
|
+
return this.updateTicksX(domainFrom, domainTo, coordinate, majorShapes, minorShapes, gridlineShapes, 0 - padding, transform, plotAreaHeight);
|
|
212
214
|
}
|
|
213
215
|
break;
|
|
214
216
|
case DChartAxisPosition.BOTTOM:
|
|
@@ -217,8 +219,7 @@ var DChartAxisBase = /** @class */ (function () {
|
|
|
217
219
|
var domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.x));
|
|
218
220
|
var domainTo = coordinate.unmap(coordinate.transform.unmap(bounds.x + bounds.width));
|
|
219
221
|
var plotAreaHeight = plotArea.height;
|
|
220
|
-
this.updateTicksX(domainFrom, domainTo, coordinate, majorShapes, minorShapes, gridlineShapes, plotAreaHeight + padding, transform, plotAreaHeight);
|
|
221
|
-
DApplications.update(plotArea);
|
|
222
|
+
return this.updateTicksX(domainFrom, domainTo, coordinate, majorShapes, minorShapes, gridlineShapes, plotAreaHeight + padding, transform, plotAreaHeight);
|
|
222
223
|
}
|
|
223
224
|
break;
|
|
224
225
|
case DChartAxisPosition.LEFT:
|
|
@@ -227,8 +228,7 @@ var DChartAxisBase = /** @class */ (function () {
|
|
|
227
228
|
var domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.y));
|
|
228
229
|
var domainTo = coordinate.unmap(coordinate.transform.unmap(bounds.y + bounds.height));
|
|
229
230
|
var plotAreaWidth = plotArea.width;
|
|
230
|
-
this.updateTicksY(domainFrom, domainTo, coordinate, majorShapes, minorShapes, gridlineShapes, 0 - padding, transform, plotAreaWidth);
|
|
231
|
-
DApplications.update(plotArea);
|
|
231
|
+
return this.updateTicksY(domainFrom, domainTo, coordinate, majorShapes, minorShapes, gridlineShapes, 0 - padding, transform, plotAreaWidth);
|
|
232
232
|
}
|
|
233
233
|
break;
|
|
234
234
|
case DChartAxisPosition.RIGHT:
|
|
@@ -237,12 +237,12 @@ var DChartAxisBase = /** @class */ (function () {
|
|
|
237
237
|
var domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.y));
|
|
238
238
|
var domainTo = coordinate.unmap(coordinate.transform.unmap(bounds.y + bounds.height));
|
|
239
239
|
var plotAreaWidth = plotArea.width;
|
|
240
|
-
this.updateTicksY(domainFrom, domainTo, coordinate, majorShapes, minorShapes, gridlineShapes, plotAreaWidth + padding, transform, plotAreaWidth);
|
|
241
|
-
DApplications.update(plotArea);
|
|
240
|
+
return this.updateTicksY(domainFrom, domainTo, coordinate, majorShapes, minorShapes, gridlineShapes, plotAreaWidth + padding, transform, plotAreaWidth);
|
|
242
241
|
}
|
|
243
242
|
break;
|
|
244
243
|
}
|
|
245
244
|
}
|
|
245
|
+
return false;
|
|
246
246
|
};
|
|
247
247
|
DChartAxisBase.prototype.bind = function (container, index) {
|
|
248
248
|
this._container = container;
|
|
@@ -375,6 +375,16 @@ var DChartAxisBase = /** @class */ (function () {
|
|
|
375
375
|
this._container = undefined;
|
|
376
376
|
};
|
|
377
377
|
DChartAxisBase.prototype.update = function () {
|
|
378
|
+
var container = this._container;
|
|
379
|
+
if (container) {
|
|
380
|
+
var isBarUpdated = this.updateBar(container);
|
|
381
|
+
var isTicksUpdated = this.updateTicks(container);
|
|
382
|
+
if (isBarUpdated || isTicksUpdated) {
|
|
383
|
+
DApplications.update(container.plotArea);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
};
|
|
387
|
+
DChartAxisBase.prototype.onRender = function () {
|
|
378
388
|
var container = this._container;
|
|
379
389
|
if (container) {
|
|
380
390
|
this.updateBar(container);
|