@wcardinal/wcardinal-ui 0.239.0 → 0.241.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.
Files changed (95) hide show
  1. package/dist/types/wcardinal/ui/d-button-base.d.ts +5 -2
  2. package/dist/types/wcardinal/ui/d-chart-axis-base-options-parser.d.ts +1 -0
  3. package/dist/types/wcardinal/ui/d-chart-axis-base-options.d.ts +2 -0
  4. package/dist/types/wcardinal/ui/d-chart-axis-base.d.ts +7 -6
  5. package/dist/types/wcardinal/ui/d-chart-axis-container-impl.d.ts +1 -0
  6. package/dist/types/wcardinal/ui/d-chart-axis-container.d.ts +1 -0
  7. package/dist/types/wcardinal/ui/d-chart-axis.d.ts +1 -0
  8. package/dist/types/wcardinal/ui/d-chart-coordinate-linear-tick.d.ts +3 -4
  9. package/dist/types/wcardinal/ui/d-chart-coordinate-linear.d.ts +1 -1
  10. package/dist/types/wcardinal/ui/d-chart-coordinate-log-tick.d.ts +3 -4
  11. package/dist/types/wcardinal/ui/d-chart-coordinate-log.d.ts +1 -1
  12. package/dist/types/wcardinal/ui/d-chart-coordinate-tick.d.ts +2 -2
  13. package/dist/types/wcardinal/ui/d-chart-coordinate.d.ts +1 -1
  14. package/dist/types/wcardinal/ui/d-chart-selection-gridline-container-impl.d.ts +1 -1
  15. package/dist/types/wcardinal/ui/d-chart-selection-gridline-container.d.ts +1 -1
  16. package/dist/types/wcardinal/ui/d-chart-selection-gridline-x.d.ts +1 -1
  17. package/dist/types/wcardinal/ui/d-chart-selection-gridline-y.d.ts +1 -1
  18. package/dist/types/wcardinal/ui/d-chart-selection-marker.d.ts +1 -1
  19. package/dist/types/wcardinal/ui/d-chart-selection-shape-base.d.ts +1 -1
  20. package/dist/types/wcardinal/ui/d-chart-selection-shape.d.ts +1 -1
  21. package/dist/types/wcardinal/ui/d-chart-selection-simple.d.ts +1 -0
  22. package/dist/types/wcardinal/ui/d-chart-selection-sub-impl.d.ts +1 -1
  23. package/dist/types/wcardinal/ui/d-chart-selection-sub.d.ts +1 -1
  24. package/dist/types/wcardinal/ui/d-chart-selection.d.ts +1 -0
  25. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-chart-axis-base.d.ts +1 -0
  26. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-chart-axis-x-datetime.d.ts +2 -0
  27. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-chart-coordinate-tick.d.ts +1 -1
  28. package/dist/types/wcardinal/ui/theme/white/d-theme-white-chart-axis-base.d.ts +1 -0
  29. package/dist/types/wcardinal/ui/theme/white/d-theme-white-chart-axis-x-datetime.d.ts +2 -0
  30. package/dist/types/wcardinal/ui/theme/white/d-theme-white-chart-coordinate-tick.d.ts +1 -1
  31. package/dist/wcardinal/ui/d-button-base.js +25 -7
  32. package/dist/wcardinal/ui/d-button-base.js.map +1 -1
  33. package/dist/wcardinal/ui/d-button-group.js +7 -1
  34. package/dist/wcardinal/ui/d-button-group.js.map +1 -1
  35. package/dist/wcardinal/ui/d-chart-axis-base-options-parser.js +7 -4
  36. package/dist/wcardinal/ui/d-chart-axis-base-options-parser.js.map +1 -1
  37. package/dist/wcardinal/ui/d-chart-axis-base-options.js.map +1 -1
  38. package/dist/wcardinal/ui/d-chart-axis-base.js +34 -24
  39. package/dist/wcardinal/ui/d-chart-axis-base.js.map +1 -1
  40. package/dist/wcardinal/ui/d-chart-axis-container-impl.js +7 -0
  41. package/dist/wcardinal/ui/d-chart-axis-container-impl.js.map +1 -1
  42. package/dist/wcardinal/ui/d-chart-axis-container.js.map +1 -1
  43. package/dist/wcardinal/ui/d-chart-axis.js.map +1 -1
  44. package/dist/wcardinal/ui/d-chart-coordinate-linear-tick.js +5 -11
  45. package/dist/wcardinal/ui/d-chart-coordinate-linear-tick.js.map +1 -1
  46. package/dist/wcardinal/ui/d-chart-coordinate-linear.js +2 -2
  47. package/dist/wcardinal/ui/d-chart-coordinate-linear.js.map +1 -1
  48. package/dist/wcardinal/ui/d-chart-coordinate-log-tick.js +4 -10
  49. package/dist/wcardinal/ui/d-chart-coordinate-log-tick.js.map +1 -1
  50. package/dist/wcardinal/ui/d-chart-coordinate-log.js +2 -2
  51. package/dist/wcardinal/ui/d-chart-coordinate-log.js.map +1 -1
  52. package/dist/wcardinal/ui/d-chart-coordinate-tick.js.map +1 -1
  53. package/dist/wcardinal/ui/d-chart-coordinate.js.map +1 -1
  54. package/dist/wcardinal/ui/d-chart-plot-area-impl.js +2 -2
  55. package/dist/wcardinal/ui/d-chart-plot-area-impl.js.map +1 -1
  56. package/dist/wcardinal/ui/d-chart-selection-gridline-container-impl.js +3 -2
  57. package/dist/wcardinal/ui/d-chart-selection-gridline-container-impl.js.map +1 -1
  58. package/dist/wcardinal/ui/d-chart-selection-gridline-container.js.map +1 -1
  59. package/dist/wcardinal/ui/d-chart-selection-gridline-x.js +2 -0
  60. package/dist/wcardinal/ui/d-chart-selection-gridline-x.js.map +1 -1
  61. package/dist/wcardinal/ui/d-chart-selection-gridline-y.js +2 -0
  62. package/dist/wcardinal/ui/d-chart-selection-gridline-y.js.map +1 -1
  63. package/dist/wcardinal/ui/d-chart-selection-marker.js +2 -0
  64. package/dist/wcardinal/ui/d-chart-selection-marker.js.map +1 -1
  65. package/dist/wcardinal/ui/d-chart-selection-shape-base.js.map +1 -1
  66. package/dist/wcardinal/ui/d-chart-selection-shape.js.map +1 -1
  67. package/dist/wcardinal/ui/d-chart-selection-simple.js +11 -0
  68. package/dist/wcardinal/ui/d-chart-selection-simple.js.map +1 -1
  69. package/dist/wcardinal/ui/d-chart-selection-sub-impl.js +4 -2
  70. package/dist/wcardinal/ui/d-chart-selection-sub-impl.js.map +1 -1
  71. package/dist/wcardinal/ui/d-chart-selection-sub.js.map +1 -1
  72. package/dist/wcardinal/ui/d-chart-selection.js.map +1 -1
  73. package/dist/wcardinal/ui/theme/dark/d-theme-dark-chart-axis-base.js +4 -1
  74. package/dist/wcardinal/ui/theme/dark/d-theme-dark-chart-axis-base.js.map +1 -1
  75. package/dist/wcardinal/ui/theme/dark/d-theme-dark-chart-axis-x-datetime.js +149 -1
  76. package/dist/wcardinal/ui/theme/dark/d-theme-dark-chart-axis-x-datetime.js.map +1 -1
  77. package/dist/wcardinal/ui/theme/dark/d-theme-dark-chart-coordinate-tick.js +12 -8
  78. package/dist/wcardinal/ui/theme/dark/d-theme-dark-chart-coordinate-tick.js.map +1 -1
  79. package/dist/wcardinal/ui/theme/white/d-theme-white-chart-axis-base.js +4 -1
  80. package/dist/wcardinal/ui/theme/white/d-theme-white-chart-axis-base.js.map +1 -1
  81. package/dist/wcardinal/ui/theme/white/d-theme-white-chart-axis-x-datetime.js +149 -1
  82. package/dist/wcardinal/ui/theme/white/d-theme-white-chart-axis-x-datetime.js.map +1 -1
  83. package/dist/wcardinal/ui/theme/white/d-theme-white-chart-coordinate-tick.js +12 -8
  84. package/dist/wcardinal/ui/theme/white/d-theme-white-chart-coordinate-tick.js.map +1 -1
  85. package/dist/wcardinal-ui-theme-dark.js +166 -11
  86. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  87. package/dist/wcardinal-ui-theme-dark.min.js.map +1 -1
  88. package/dist/wcardinal-ui-theme-white.js +166 -11
  89. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  90. package/dist/wcardinal-ui-theme-white.min.js.map +1 -1
  91. package/dist/wcardinal-ui.cjs.js +449 -88
  92. package/dist/wcardinal-ui.js +119 -68
  93. package/dist/wcardinal-ui.min.js +2 -2
  94. package/dist/wcardinal-ui.min.js.map +1 -1
  95. 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: boolean;
68
- protected _when: DButtonBaseWhen;
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;
@@ -24,6 +24,7 @@ export interface DChartAxisBaseGridline {
24
24
  shapes?: EShapeBar[];
25
25
  }
26
26
  export interface DChartAxisBaseTickMajor {
27
+ capacity: number;
27
28
  count: number;
28
29
  step: number | DChartCoordinateTickMajorStepFunction | undefined;
29
30
  size: number;
@@ -44,6 +44,7 @@ export interface DChartAxisBaseTickMajorGridlineOptions {
44
44
  export declare type DChartAxisTickPositionOption = DChartAxisTickPosition | keyof typeof DChartAxisTickPosition;
45
45
  export interface DChartAxisBaseTickMajorOptions {
46
46
  count?: number;
47
+ capacity?: number;
47
48
  step?: number | DChartCoordinateTickMajorStepFunction;
48
49
  size?: number;
49
50
  position?: DChartAxisTickPositionOption;
@@ -96,6 +97,7 @@ export interface DThemeChartAxisBase {
96
97
  getStrokeStyle(): EShapeStrokeStyle | undefined;
97
98
  getTickEnable(): boolean;
98
99
  getMajorTickCount(): number;
100
+ getMajorTickCapacity(count: number): number;
99
101
  getMajorTickStep(): number | DChartCoordinateTickMajorStepFunction | undefined;
100
102
  getMajorTickSize(): number;
101
103
  getMajorTickPosition(): DChartAxisTickPosition;
@@ -17,19 +17,20 @@ export declare class DChartAxisBase<CHART extends DBase = DBase, OPTIONS extends
17
17
  protected _bar: DChartAxisBaseBar;
18
18
  protected _index: number;
19
19
  protected _tick: DChartAxisBaseTickContainer;
20
- protected _majorTicks: Float64Array;
21
- protected _minorTicks: Float64Array;
20
+ protected _majorTicks: number[];
21
+ protected _minorTicks: number[];
22
22
  protected _label?: DeepPartial<EShapeTextLike>;
23
23
  protected _theme: DThemeChartAxisBase;
24
24
  constructor(options?: OPTIONS);
25
25
  get position(): DChartAxisPosition;
26
- protected updateBar(container: DChartAxisContainer<CHART>): void;
27
- protected updateTicksX(domainMin: number, domainMax: number, coordinate: DChartCoordinate<CHART>, majorShapes: EShapeBar[], minorShapes: EShapeBar[], gridlineShapes: EShapeBar[] | undefined, shapePositionY: number, transform: Matrix, plotAreaHeight: number): void;
28
- protected updateTicksY(domainMin: number, domainMax: number, coordinate: DChartCoordinate<CHART>, majorShapes: EShapeBar[], minorShapes: EShapeBar[], gridlineShapes: EShapeBar[] | undefined, shapePositionX: number, transform: Matrix, plotAreaWidth: number): void;
29
- protected updateTicks(container: DChartAxisContainer<CHART>): void;
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;
@@ -17,5 +17,6 @@ export declare class DChartAxisContainerImpl<CHART extends DBase = DBase> implem
17
17
  clear(position: DChartAxisPosition): this;
18
18
  size(position: DChartAxisPosition): number;
19
19
  update(): void;
20
+ onRender(): void;
20
21
  destroy(): void;
21
22
  }
@@ -15,5 +15,6 @@ export interface DChartAxisContainer<CHART extends DBase = DBase> {
15
15
  clear(position: DChartAxisPosition): this;
16
16
  size(position: DChartAxisPosition): number;
17
17
  update(): void;
18
+ onRender(): void;
18
19
  destroy(): void;
19
20
  }
@@ -9,5 +9,6 @@ export interface DChartAxis<CHART extends DBase = DBase> {
9
9
  bind(container: DChartAxisContainer<CHART>, index: number): void;
10
10
  unbind(): void;
11
11
  update(): void;
12
+ onRender(): void;
12
13
  destroy(): void;
13
14
  }
@@ -1,17 +1,16 @@
1
1
  import { DBase } from "./d-base";
2
2
  import { DChartCoordinate } from "./d-chart-coordinate";
3
- import { DChartCoordinateTickOptions, DThemeChartCoordinateTick } from "./d-chart-coordinate-tick";
3
+ import { DChartCoordinateTick, DChartCoordinateTickOptions, DThemeChartCoordinateTick } from "./d-chart-coordinate-tick";
4
4
  import { DChartCoordinateTickMajorStepFunction } from "./d-chart-coordinate-tick-major-step-function";
5
5
  import { DChartCoordinateTickMinorStepFunction } from "./d-chart-coordinate-tick-minor-step-function";
6
- export declare class DChartCoordinateLinearTick<CHART extends DBase = DBase> {
6
+ export declare class DChartCoordinateLinearTick<CHART extends DBase = DBase> implements DChartCoordinateTick<CHART> {
7
7
  protected _theme: DThemeChartCoordinateTick;
8
8
  constructor(options?: DChartCoordinateTickOptions);
9
9
  protected toMajorStep(domainMin: number, domainMax: number, majorCount: number, majorStep?: number | DChartCoordinateTickMajorStepFunction): number;
10
- protected calcStepMajor(domainMin: number, domainMax: number, majorCount: number): number;
11
10
  protected toMinorStep(majorStep: number, minorCount: number, minorStep?: number | DChartCoordinateTickMinorStepFunction): number;
12
11
  protected calcStepMinor(majorStep: number, minorCount: number): number;
13
12
  protected calcTickMinorPositions(step: number, count: number, majorPosition: number, rangeMin: number, rangeMax: number, iresult: number, result: Float64Array): void;
14
- calculate(domainFrom: number, domainTo: number, majorCount: number, majorStep: number | DChartCoordinateTickMajorStepFunction | undefined, minorCountPerMajor: number, minorCount: number, minorStep: number | DChartCoordinateTickMinorStepFunction | undefined, majorResult: Float64Array, minorResult: Float64Array, coordinate: DChartCoordinate<CHART>): void;
13
+ calculate(domainFrom: number, domainTo: number, majorCount: number, majorCapacity: number, majorStep: number | DChartCoordinateTickMajorStepFunction | undefined, minorCountPerMajor: number, minorCount: number, minorStep: number | DChartCoordinateTickMinorStepFunction | undefined, majorResult: number[], minorResult: number[], coordinate: DChartCoordinate<CHART>): void;
15
14
  protected toTheme(options?: DChartCoordinateTickOptions): DThemeChartCoordinateTick;
16
15
  protected getThemeDefault(): DThemeChartCoordinateTick;
17
16
  protected getType(): string;
@@ -41,7 +41,7 @@ export declare class DChartCoordinateLinear<CHART extends DBase = DBase> impleme
41
41
  mapAll(values: number[], ifrom: number, iend: number, stride: number, offset: number): void;
42
42
  unmap(value: number): number;
43
43
  unmapAll(values: number[], ifrom: number, iend: number, stride: number, offset: number): void;
44
- ticks(domainFrom: number, domainTo: number, majorCount: number, majorStep: number | DChartCoordinateTickMajorStepFunction | undefined, minorCountPerMajor: number, minorCount: number, minorStep: number | DChartCoordinateTickMinorStepFunction | undefined, majorResult: Float64Array, minorResult: Float64Array): void;
44
+ ticks(domainFrom: number, domainTo: number, majorCount: number, majorCapacity: number, majorStep: number | DChartCoordinateTickMajorStepFunction | undefined, minorCountPerMajor: number, minorCount: number, minorStep: number | DChartCoordinateTickMinorStepFunction | undefined, majorResult: number[], minorResult: number[]): void;
45
45
  protected toTheme(options?: DChartCoordinateOptions): DThemeChartCoordinate;
46
46
  protected getThemeDefault(): DThemeChartCoordinate;
47
47
  protected getType(): string;
@@ -1,19 +1,18 @@
1
1
  import { DBase } from "./d-base";
2
2
  import { DChartCoordinate } from "./d-chart-coordinate";
3
- import { DChartCoordinateTickOptions, DThemeChartCoordinateTick } from "./d-chart-coordinate-tick";
3
+ import { DChartCoordinateTick, DChartCoordinateTickOptions, DThemeChartCoordinateTick } from "./d-chart-coordinate-tick";
4
4
  import { DChartCoordinateTickMajorStepFunction } from "./d-chart-coordinate-tick-major-step-function";
5
5
  import { DChartCoordinateTickMinorStepFunction } from "./d-chart-coordinate-tick-minor-step-function";
6
6
  export interface DThemeChartCoordinateLogTick extends DThemeChartCoordinateTick {
7
7
  }
8
- export declare class DChartCoordinateLogTick<CHART extends DBase = DBase> {
8
+ export declare class DChartCoordinateLogTick<CHART extends DBase = DBase> implements DChartCoordinateTick<CHART> {
9
9
  protected _theme: DThemeChartCoordinateTick;
10
10
  constructor(options?: DChartCoordinateTickOptions);
11
11
  protected toMajorStep(domainMin: number, domainMax: number, majorCount: number, majorStep?: number | DChartCoordinateTickMajorStepFunction): number;
12
- protected calcStepMajor(domainMin: number, domainMax: number, majorCount: number): number;
13
12
  protected toMinorStep(majorStep: number, minorCount: number, minorStep?: number | DChartCoordinateTickMinorStepFunction): number;
14
13
  protected calcStepMinor(majorStep: number, minorCount: number): number;
15
14
  protected calcTickMinorPositions(step: number, count: number, majorPosition: number, rangeMin: number, rangeMax: number, iresult: number, result: Float64Array): void;
16
- calculate(domainFrom: number, domainTo: number, majorCount: number, majorStep: number | DChartCoordinateTickMajorStepFunction | undefined, minorCountPerMajor: number, minorCount: number, minorStep: number | DChartCoordinateTickMinorStepFunction | undefined, majorResult: Float64Array, minorResult: Float64Array, coordinate: DChartCoordinate<CHART>): void;
15
+ calculate(domainFrom: number, domainTo: number, majorCount: number, majorCapacity: number, majorStep: number | DChartCoordinateTickMajorStepFunction | undefined, minorCountPerMajor: number, minorCount: number, minorStep: number | DChartCoordinateTickMinorStepFunction | undefined, majorResult: number[], minorResult: number[], coordinate: DChartCoordinate<CHART>): void;
17
16
  protected toTheme(options?: DChartCoordinateTickOptions): DThemeChartCoordinateTick;
18
17
  protected getThemeDefault(): DThemeChartCoordinateTick;
19
18
  protected getType(): string;
@@ -41,7 +41,7 @@ export declare class DChartCoordinateLog<CHART extends DBase = DBase> implements
41
41
  mapAll(values: number[], ifrom: number, iend: number, stride: number, offset: number): void;
42
42
  unmap(value: number): number;
43
43
  unmapAll(values: number[], ifrom: number, iend: number, stride: number, offset: number): void;
44
- ticks(domainFrom: number, domainTo: number, majorCount: number, majorStep: number | DChartCoordinateTickMajorStepFunction | undefined, minorCountPerMajor: number, minorCount: number, minorStep: number | DChartCoordinateTickMinorStepFunction | undefined, majorResult: Float64Array, minorResult: Float64Array): void;
44
+ ticks(domainFrom: number, domainTo: number, majorCount: number, majorCapacity: number, majorStep: number | DChartCoordinateTickMajorStepFunction | undefined, minorCountPerMajor: number, minorCount: number, minorStep: number | DChartCoordinateTickMinorStepFunction | undefined, majorResult: number[], minorResult: number[]): void;
45
45
  protected toTheme(options?: DChartCoordinateOptions): DThemeChartCoordinate;
46
46
  protected getThemeDefault(): DThemeChartCoordinate;
47
47
  protected getType(): string;
@@ -3,11 +3,11 @@ import { DChartCoordinate } from "./d-chart-coordinate";
3
3
  import { DChartCoordinateTickMajorStepFunction } from "./d-chart-coordinate-tick-major-step-function";
4
4
  import { DChartCoordinateTickMinorStepFunction } from "./d-chart-coordinate-tick-minor-step-function";
5
5
  export interface DThemeChartCoordinateTick {
6
- toStepScale(scale: number): number;
6
+ toStep(domainMin: number, domainMax: number, majorCount: number): number;
7
7
  }
8
8
  export interface DChartCoordinateTickOptions {
9
9
  theme?: DThemeChartCoordinateTick;
10
10
  }
11
11
  export interface DChartCoordinateTick<CHART extends DBase = DBase> {
12
- calculate(domainFrom: number, domainTo: number, majorCount: number, majorStep: number | DChartCoordinateTickMajorStepFunction | undefined, minorCountPerMajor: number, minorCount: number, minorStep: number | DChartCoordinateTickMinorStepFunction | undefined, majorResult: Float64Array, minorResult: Float64Array, coordinate: DChartCoordinate<CHART>): void;
12
+ calculate(domainFrom: number, domainTo: number, majorCount: number, majorCapacity: number, majorStep: number | DChartCoordinateTickMajorStepFunction | undefined, minorCountPerMajor: number, minorCount: number, minorStep: number | DChartCoordinateTickMinorStepFunction | undefined, majorResult: number[], minorResult: number[], coordinate: DChartCoordinate<CHART>): void;
13
13
  }
@@ -82,5 +82,5 @@ export interface DChartCoordinate<CHART extends DBase = DBase> {
82
82
  * @param majorResult `majorResult.length` must be larger than `majorCount * 3`.
83
83
  * @param minorResult `minorResult.length` must be larger than `minorCount * 3`.
84
84
  */
85
- ticks(domainMin: number, domainMax: number, majorCount: number, majorStep: number | DChartCoordinateTickMajorStepFunction | undefined, minorCountPerMajor: number, minorCount: number, minorStep: number | DChartCoordinateTickMinorStepFunction | undefined, majorResult: Float64Array, minorResult: Float64Array): void;
85
+ ticks(domainMin: number, domainMax: number, majorCount: number, majorCapacity: number, majorStep: number | DChartCoordinateTickMajorStepFunction | undefined, minorCountPerMajor: number, minorCount: number, minorStep: number | DChartCoordinateTickMinorStepFunction | undefined, majorResult: number[], minorResult: number[]): void;
86
86
  }
@@ -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): void;
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): void;
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): void;
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): void;
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): void;
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): void;
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): void;
24
+ update(container: DChartSeriesContainer<CHART>, mappedPosition: IPoint): boolean;
25
25
  }
@@ -28,4 +28,5 @@ export declare class DChartSelectionSimple<CHART extends DBase = DBase> extends
28
28
  get selected(): DChartSelectionSub<CHART>;
29
29
  get hovered(): DChartSelectionSub<CHART>;
30
30
  update(): void;
31
+ onRender(): void;
31
32
  }
@@ -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(): void;
33
+ update(): boolean;
34
34
  }
@@ -23,5 +23,5 @@ export interface DChartSelectionSub<CHART extends DBase = DBase> extends utils.E
23
23
  unbind(): void;
24
24
  set(series: DChartSeries<CHART>, result: DChartSeriesHitResult | DChartSelectionSub<CHART>): void;
25
25
  unset(): void;
26
- update(): void;
26
+ update(): boolean;
27
27
  }
@@ -15,4 +15,5 @@ export interface DChartSelection<CHART extends DBase = DBase> extends utils.Even
15
15
  bind(container: DChartSeriesContainer<CHART>): void;
16
16
  unbind(): void;
17
17
  update(): void;
18
+ onRender(): void;
18
19
  }
@@ -28,6 +28,7 @@ export declare class DThemeDarkChartAxisBase implements DThemeChartAxisBase {
28
28
  getStrokeStyle(): EShapeStrokeStyle | undefined;
29
29
  getTickEnable(): boolean;
30
30
  getMajorTickCount(): number;
31
+ getMajorTickCapacity(count: number): number;
31
32
  getMajorTickStep(): number | DChartCoordinateTickMajorStepFunction | undefined;
32
33
  getMajorTickSize(): number;
33
34
  getMajorTickPosition(): DChartAxisTickPosition;
@@ -1,4 +1,6 @@
1
+ import { DChartCoordinateTickMajorStepFunction } from "../../d-chart-coordinate-tick-major-step-function";
1
2
  import { DThemeDarkChartAxisX } from "./d-theme-dark-chart-axis-x";
2
3
  export declare class DThemeDarkChartAxisXDatetime extends DThemeDarkChartAxisX {
3
4
  getMajorTickTextFormat(): string;
5
+ getMajorTickStep(): number | DChartCoordinateTickMajorStepFunction | undefined;
4
6
  }
@@ -1,4 +1,4 @@
1
1
  import { DThemeChartCoordinateTick } from "../../d-chart-coordinate-tick";
2
2
  export declare class DThemeDarkChartCoordinateTick implements DThemeChartCoordinateTick {
3
- toStepScale(scale: number): number;
3
+ toStep(domainMin: number, domainMax: number, majorCount: number): number;
4
4
  }
@@ -28,6 +28,7 @@ export declare class DThemeWhiteChartAxisBase implements DThemeChartAxisBase {
28
28
  getStrokeStyle(): EShapeStrokeStyle | undefined;
29
29
  getTickEnable(): boolean;
30
30
  getMajorTickCount(): number;
31
+ getMajorTickCapacity(count: number): number;
31
32
  getMajorTickStep(): number | DChartCoordinateTickMajorStepFunction | undefined;
32
33
  getMajorTickSize(): number;
33
34
  getMajorTickPosition(): DChartAxisTickPosition;
@@ -1,4 +1,6 @@
1
+ import { DChartCoordinateTickMajorStepFunction } from "../../d-chart-coordinate-tick-major-step-function";
1
2
  import { DThemeWhiteChartAxisX } from "./d-theme-white-chart-axis-x";
2
3
  export declare class DThemeWhiteChartAxisXDatetime extends DThemeWhiteChartAxisX {
3
4
  getMajorTickTextFormat(): string;
5
+ getMajorTickStep(): number | DChartCoordinateTickMajorStepFunction | undefined;
4
6
  }
@@ -1,4 +1,4 @@
1
1
  import { DThemeChartCoordinateTick } from "../../d-chart-coordinate-tick";
2
2
  export declare class DThemeWhiteChartCoordinateTick implements DThemeChartCoordinateTick {
3
- toStepScale(scale: number): number;
3
+ toStep(domainMin: number, domainMax: number, majorCount: number): number;
4
4
  }
@@ -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.isToggle) {
91
- this.onToggleStart(e);
92
- this.onToggleEnd(e);
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.isToggle) {
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.isToggle) {
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.isToggle) {
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":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAwD,MAAM,gBAAgB,CAAC;AAElG,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAwE7D;;;GAGG;AACH;IAIU,+BAAiC;IAJ3C;;IA6LA,CAAC;IApLU,0BAAI,GAAd,UAAe,OAAiB;QAAhC,iBAkBC;;QAjBA,iBAAM,IAAI,YAAC,OAAO,CAAC,CAAC;QAEpB,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,KAAK,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;QAEvE,iBAAiB;QACjB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAC,CAA+B;YAC7D,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,QAAQ;QACR,IAAM,KAAK,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC;QAC7B,IAAI,KAAK,EAAE;YACV,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAChB;IACF,CAAC;IAES,gCAAU,GAApB,UAAqB,CAAgB;QACpC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjB;QACD,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,sBAAI,iCAAQ;aAAZ;YACC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QACzB,CAAC;;;OAAA;IAED,sBAAI,kCAAS;aAAb;YACC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1B,CAAC;aAED,UAAc,SAAkB;YAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC7B,CAAC;;;OAJA;IAMS,iCAAW,GAArB;QAAA,iBAuBC;QAtBA,IAAI,kBAAkB,GAA0C,IAAI,CAAC;QAErE,IAAM,IAAI,GAAG;YACZ,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;YAC7B,IAAI,kBAAkB,IAAI,IAAI,EAAE;gBAC/B,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAClD,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACzD,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACtD,kBAAkB,GAAG,IAAI,CAAC;aAC1B;QACF,CAAC,CAAC;QAEF,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE;YAC9B,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;YAC5B,IAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAI,CAAC,CAAC;YAC3C,IAAI,KAAK,EAAE;gBACV,kBAAkB,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;gBACxD,kBAAkB,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACjD,kBAAkB,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACxD,kBAAkB,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aACrD;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAES,6BAAO,GAAjB;QACC,OAAO,SAAS,CAAC;IAClB,CAAC;IAES,6BAAO,GAAjB,UAAkB,CAA+B;QAChD,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YACtE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAES,gCAAU,GAApB,UACC,CAA0B,EAC1B,kBAAkD;QAElD,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC7E,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjB;QACD,OAAO,iBAAM,UAAU,YAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAChD,CAAC;IAED,8BAAQ,GAAR,UAAS,CAA0E;QAClF,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACzB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;iBACpB;aACD;iBAAM;gBACN,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aACpB;SACD;aAAM;YACN,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SACnB;IACF,CAAC;IAES,gCAAU,GAApB,UACC,CAA0E;QAE1E,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAES,kCAAY,GAAtB,UACC,CAA0E;QAE1E,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,4BAAM,GAAN;QACC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,EAAE,CAAC;aACnB;SACD;IACF,CAAC;IAES,mCAAa,GAAvB,UACC,CAA0E;QAE1E,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAES,iCAAW,GAArB,UACC,CAA0E;QAE1E,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SACnB;aAAM;YACN,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SACrB;IACF,CAAC;IAES,uCAAiB,GAA3B,UAA4B,CAAgB;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtB;iBAAM;gBACN,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;aAC5B;SACD;IACF,CAAC;IAES,qCAAe,GAAzB,UAA0B,CAAgB;QACzC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aACpB;iBAAM;gBACN,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;oBACzB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;iBACnB;gBACD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;aAC7B;SACD;IACF,CAAC;IAES,+BAAS,GAAnB,UAAoB,CAAgB;QACnC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC1B;QAED,OAAO,iBAAM,SAAS,YAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAES,6BAAO,GAAjB,UAAkB,CAAgB;QACjC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SACxB;QAED,OAAO,iBAAM,OAAO,YAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,6BAAO,GAAP;;QACC,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,0CAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,iBAAM,OAAO,WAAE,CAAC;IACjB,CAAC;IACF,kBAAC;AAAD,CAAC,AA7LD,CAIU,UAAU,GAyLnB","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.length = 0;
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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","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\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.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\tthis._buttons.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"]}
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"]}
@@ -88,17 +88,20 @@ var DChartAxisBaseOptionParser = /** @class */ (function () {
88
88
  };
89
89
  };
90
90
  DChartAxisBaseOptionParser.prototype.toTickMajor = function (theme, options) {
91
- var _a, _b, _c, _d, _e, _f, _g;
91
+ var _a, _b, _c, _d, _e, _f, _g, _h;
92
92
  var major = options === null || options === void 0 ? void 0 : options.major;
93
93
  var position = (_b = (_a = major === null || major === void 0 ? void 0 : major.position) !== null && _a !== void 0 ? _a : options === null || options === void 0 ? void 0 : options.position) !== null && _b !== void 0 ? _b : theme.getMajorTickPosition();
94
94
  var optionsStyle = options === null || options === void 0 ? void 0 : options.style;
95
95
  var style = EShapePointsStyles.from((_d = (_c = major === null || major === void 0 ? void 0 : major.style) !== null && _c !== void 0 ? _c : optionsStyle) !== null && _d !== void 0 ? _d : theme.getMajorTickStyle());
96
96
  var optionsStroke = options === null || options === void 0 ? void 0 : options.stroke;
97
97
  var stroke = this.toTickMajorStroke(theme, major === null || major === void 0 ? void 0 : major.stroke, optionsStroke);
98
+ var count = (_e = major === null || major === void 0 ? void 0 : major.count) !== null && _e !== void 0 ? _e : theme.getMajorTickCount();
99
+ var capacity = (_f = major === null || major === void 0 ? void 0 : major.capacity) !== null && _f !== void 0 ? _f : theme.getMajorTickCapacity(count);
98
100
  return {
99
- count: (_e = major === null || major === void 0 ? void 0 : major.count) !== null && _e !== void 0 ? _e : theme.getMajorTickCount(),
100
- step: (_f = major === null || major === void 0 ? void 0 : major.step) !== null && _f !== void 0 ? _f : theme.getMajorTickStep(),
101
- size: (_g = major === null || major === void 0 ? void 0 : major.size) !== null && _g !== void 0 ? _g : theme.getMajorTickSize(),
101
+ count: count,
102
+ capacity: capacity,
103
+ step: (_g = major === null || major === void 0 ? void 0 : major.step) !== null && _g !== void 0 ? _g : theme.getMajorTickStep(),
104
+ size: (_h = major === null || major === void 0 ? void 0 : major.size) !== null && _h !== void 0 ? _h : theme.getMajorTickSize(),
102
105
  position: this.toTickPosition(position),
103
106
  style: style,
104
107
  stroke: stroke,