@wcardinal/wcardinal-ui 0.370.0 → 0.372.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-table-body.d.ts +23 -3
- package/dist/wcardinal/ui/d-chart-axis-base-tick-container.js +2 -2
- package/dist/wcardinal/ui/d-chart-axis-base-tick-container.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body.js +31 -8
- package/dist/wcardinal/ui/d-table-body.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 +34 -11
- package/dist/wcardinal-ui.js +34 -11
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -86,9 +86,29 @@ export declare class DTableBody<ROW, DATA extends DTableData<ROW> = DTableDataLi
|
|
|
86
86
|
* @returns true if succeeded
|
|
87
87
|
*/
|
|
88
88
|
scrollTo(target: ROW | number): boolean;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
/**
|
|
90
|
+
* Returns a mapped row index at the given local Y position or -1.
|
|
91
|
+
*
|
|
92
|
+
* @param localY a local Y position
|
|
93
|
+
* @returns a mapped row index at the given local Y position or -1.
|
|
94
|
+
*/
|
|
95
|
+
toRowIndexMapped(localY: number): number;
|
|
96
|
+
/**
|
|
97
|
+
* Returns a row at the given mapped row index or null if not exits.
|
|
98
|
+
*
|
|
99
|
+
* @param rowIndexMapped a mapped row index
|
|
100
|
+
* @returns a row at the given mapped row index or null if not exists.
|
|
101
|
+
*/
|
|
102
|
+
toRow(rowIndexMapped: number): DTableBodyRow<ROW> | null;
|
|
103
|
+
/**
|
|
104
|
+
* Returns a cell at the given local X position or null if not exits.
|
|
105
|
+
* This method assumes the given local X position is on the given row.
|
|
106
|
+
*
|
|
107
|
+
* @param row a row
|
|
108
|
+
* @param localX a local X position
|
|
109
|
+
* @returns a cell at the given local X position or null if not exits
|
|
110
|
+
*/
|
|
111
|
+
toCell(row: DTableBodyRow<ROW>, localX: number): DTableBodyCell<ROW, unknown> | null;
|
|
92
112
|
onRowClick(e: InteractionEvent): void;
|
|
93
113
|
protected onRowSelect(e: InteractionEvent, rowIndexMapped: number): void;
|
|
94
114
|
onDblClick(e: MouseEvent | TouchEvent, interactionManager: interaction.InteractionManager): boolean;
|
|
@@ -45,14 +45,14 @@ var DChartAxisBaseTickContainer = /** @class */ (function () {
|
|
|
45
45
|
this._container = undefined;
|
|
46
46
|
};
|
|
47
47
|
DChartAxisBaseTickContainer.prototype.update = function () {
|
|
48
|
+
var parser = this._parser;
|
|
48
49
|
var container = this._container;
|
|
49
50
|
var majorShapes = this._major.shapes;
|
|
50
51
|
var minorShapes = this._minor.shapes;
|
|
51
|
-
if (container != null && majorShapes && minorShapes) {
|
|
52
|
+
if (parser.tick.enable && container != null && majorShapes && minorShapes) {
|
|
52
53
|
var plotArea = container.plotArea;
|
|
53
54
|
var transform = plotArea.container.transform.localTransform;
|
|
54
55
|
var gridlineShapes = this._major.gridline.shapes;
|
|
55
|
-
var parser = this._parser;
|
|
56
56
|
var offset = parser.padding * this._index;
|
|
57
57
|
var work = this._work;
|
|
58
58
|
var coordinate = void 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-chart-axis-base-tick-container.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-axis-base-tick-container.ts"],"names":[],"mappings":"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","sourcesContent":["import { Matrix } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DChartAxisBaseOptionParser } from \"./d-chart-axis-base-options-parser\";\nimport { DChartAxisBaseTickMajor } from \"./d-chart-axis-base-tick-major\";\nimport { DChartAxisBaseTickMinor } from \"./d-chart-axis-base-tick-minor\";\nimport { DChartAxisContainer } from \"./d-chart-axis-container\";\nimport { DChartAxisPosition } from \"./d-chart-axis-position\";\nimport { DChartAxisTickContainer } from \"./d-chart-axis-tick-container\";\nimport { DChartAxisTickMajor } from \"./d-chart-axis-tick-major\";\nimport { DChartAxisTickMinor } from \"./d-chart-axis-tick-minor\";\nimport { DChartCoordinate } from \"./d-chart-coordinate\";\nimport { DChartCoordinateTickMajorStepFunction } from \"./d-chart-coordinate-tick-major-step-function\";\nimport { DChartCoordinateTickMinorStepFunction } from \"./d-chart-coordinate-tick-minor-step-function\";\nimport { DChartPlotArea } from \"./d-chart-plot-area\";\nimport { DChartRegion } from \"./d-chart-region\";\nimport { DChartRegionImpl } from \"./d-chart-region-impl\";\nimport { EShape } from \"./shape/e-shape\";\n\nexport interface DChartAxisBaseTickContainerOptions {}\n\nexport class DChartAxisBaseTickContainer<\n\tCHART extends DBase = DBase,\n\tOPTIONS extends DChartAxisBaseTickContainerOptions = DChartAxisBaseTickContainerOptions\n> implements DChartAxisTickContainer<CHART>\n{\n\tprotected _parser: DChartAxisBaseOptionParser;\n\tprotected _container?: DChartAxisContainer<CHART>;\n\tprotected _index: number;\n\tprotected _major: DChartAxisTickMajor<CHART>;\n\tprotected _minor: DChartAxisTickMinor<CHART>;\n\tprotected _majorTicks: number[];\n\tprotected _minorTicks: number[];\n\tprotected _work: DChartRegion;\n\n\tconstructor(parser: DChartAxisBaseOptionParser, options?: OPTIONS) {\n\t\tthis._parser = parser;\n\t\tthis._index = 0;\n\t\tthis._major = this.newMajor(parser, options);\n\t\tthis._minor = this.newMinor(parser, options);\n\t\tthis._majorTicks = [];\n\t\tthis._minorTicks = [];\n\t\tthis._work = new DChartRegionImpl(0, 0);\n\t}\n\n\tget major(): DChartAxisTickMajor<CHART> {\n\t\treturn this._major;\n\t}\n\n\tprotected newMajor(\n\t\tparser: DChartAxisBaseOptionParser,\n\t\toptions?: OPTIONS\n\t): DChartAxisTickMajor<CHART> {\n\t\treturn new DChartAxisBaseTickMajor(parser);\n\t}\n\n\tget minor(): DChartAxisTickMinor<CHART> {\n\t\treturn this._minor;\n\t}\n\n\tprotected newMinor(\n\t\tparser: DChartAxisBaseOptionParser,\n\t\toptions?: OPTIONS\n\t): DChartAxisTickMinor<CHART> {\n\t\treturn new DChartAxisBaseTickMinor(parser);\n\t}\n\n\tbind(container: DChartAxisContainer<CHART>, index: number): void {\n\t\tthis._container = container;\n\t\tthis._index = index;\n\t\tthis._major.bind(container, index);\n\t\tthis._minor.bind(container, index);\n\t}\n\n\tunbind(): void {\n\t\tthis._minor.unbind();\n\t\tthis._major.unbind();\n\t\tthis._index = 0;\n\t\tthis._container = undefined;\n\t}\n\n\tupdate(): boolean {\n\t\tconst container = this._container;\n\t\tconst majorShapes = this._major.shapes;\n\t\tconst minorShapes = this._minor.shapes;\n\t\tif (container != null && majorShapes && minorShapes) {\n\t\t\tconst plotArea = container.plotArea;\n\t\t\tconst transform = plotArea.container.transform.localTransform;\n\t\t\tconst gridlineShapes = this._major.gridline.shapes;\n\n\t\t\tconst parser = this._parser;\n\t\t\tconst offset = parser.padding * this._index;\n\t\t\tconst work = this._work;\n\t\t\tlet coordinate: DChartCoordinate<CHART> | null;\n\t\t\tswitch (parser.position) {\n\t\t\t\tcase DChartAxisPosition.TOP:\n\t\t\t\t\tcoordinate = plotArea.coordinate.x.get(parser.coordinate);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domain = this.getDomain(plotArea, coordinate, work);\n\t\t\t\t\t\tconst domainFrom = domain.from;\n\t\t\t\t\t\tconst domainTo = domain.to;\n\t\t\t\t\t\tconst domainVisible = this.getDomainVisible(plotArea, coordinate, work);\n\t\t\t\t\t\tconst domainVisibleFrom = domainVisible.from;\n\t\t\t\t\t\tconst domainVisibleTo = domainVisible.to;\n\t\t\t\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\t\t\t\treturn this.updateX(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tdomainVisibleFrom,\n\t\t\t\t\t\t\tdomainVisibleTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\t0 - offset,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaHeight\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.BOTTOM:\n\t\t\t\t\tcoordinate = plotArea.coordinate.x.get(parser.coordinate);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domain = this.getDomain(plotArea, coordinate, work);\n\t\t\t\t\t\tconst domainFrom = domain.from;\n\t\t\t\t\t\tconst domainTo = domain.to;\n\t\t\t\t\t\tconst domainVisible = this.getDomainVisible(plotArea, coordinate, work);\n\t\t\t\t\t\tconst domainVisibleFrom = domainVisible.from;\n\t\t\t\t\t\tconst domainVisibleTo = domainVisible.to;\n\t\t\t\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\t\t\t\treturn this.updateX(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tdomainVisibleFrom,\n\t\t\t\t\t\t\tdomainVisibleTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\tplotAreaHeight + offset,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaHeight\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.LEFT:\n\t\t\t\t\tcoordinate = plotArea.coordinate.y.get(parser.coordinate);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst range = this.getRange(plotArea, coordinate, work);\n\t\t\t\t\t\tconst rangeFrom = range.from;\n\t\t\t\t\t\tconst rangeTo = range.to;\n\t\t\t\t\t\tconst rangeVisible = this.getRangeVisible(plotArea, coordinate, work);\n\t\t\t\t\t\tconst rangeVisibleFrom = rangeVisible.from;\n\t\t\t\t\t\tconst rangeVisibleTo = rangeVisible.to;\n\t\t\t\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\t\t\t\treturn this.updateY(\n\t\t\t\t\t\t\trangeFrom,\n\t\t\t\t\t\t\trangeTo,\n\t\t\t\t\t\t\trangeVisibleFrom,\n\t\t\t\t\t\t\trangeVisibleTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\t0 - offset,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaWidth\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.RIGHT:\n\t\t\t\t\tcoordinate = plotArea.coordinate.y.get(parser.coordinate);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst range = this.getRange(plotArea, coordinate, work);\n\t\t\t\t\t\tconst rangeFrom = range.from;\n\t\t\t\t\t\tconst rangeTo = range.to;\n\t\t\t\t\t\tconst rangeVisible = this.getRangeVisible(plotArea, coordinate, work);\n\t\t\t\t\t\tconst rangeVisibleFrom = rangeVisible.from;\n\t\t\t\t\t\tconst rangeVisibleTo = rangeVisible.to;\n\t\t\t\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\t\t\t\treturn this.updateY(\n\t\t\t\t\t\t\trangeFrom,\n\t\t\t\t\t\t\trangeTo,\n\t\t\t\t\t\t\trangeVisibleFrom,\n\t\t\t\t\t\t\trangeVisibleTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\tplotAreaWidth + offset,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaWidth\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getDomain(\n\t\tplotArea: DChartPlotArea<CHART>,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tresult: DChartRegion\n\t): DChartRegion {\n\t\tconst bounds = plotArea.getBoundsInContainer();\n\t\tconst transform = coordinate.transform;\n\t\treturn result.set(\n\t\t\tcoordinate.unmap(transform.unmap(bounds.x)),\n\t\t\tcoordinate.unmap(transform.unmap(bounds.x + bounds.width))\n\t\t);\n\t}\n\n\tprotected getDomainVisible(\n\t\tplotArea: DChartPlotArea<CHART>,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tresult: DChartRegion\n\t): DChartRegion {\n\t\treturn result;\n\t}\n\n\tprotected getRange(\n\t\tplotArea: DChartPlotArea<CHART>,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tresult: DChartRegion\n\t): DChartRegion {\n\t\tconst bounds = plotArea.getBoundsInContainer();\n\t\tconst transform = coordinate.transform;\n\t\treturn result.set(\n\t\t\tcoordinate.unmap(transform.unmap(bounds.y)),\n\t\t\tcoordinate.unmap(transform.unmap(bounds.y + bounds.height))\n\t\t);\n\t}\n\n\tprotected getRangeVisible(\n\t\tplotArea: DChartPlotArea<CHART>,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tresult: DChartRegion\n\t): DChartRegion {\n\t\treturn result;\n\t}\n\n\tprotected updateX(\n\t\tdomainFrom: number,\n\t\tdomainTo: number,\n\t\tdomainVisibleFrom: number,\n\t\tdomainVisibleTo: number,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tmajorShapes: EShape[],\n\t\tminorShapes: EShape[],\n\t\tgridlineShapes: EShape[],\n\t\tshapePositionY: number,\n\t\ttransform: Matrix,\n\t\tplotAreaHeight: number\n\t): boolean {\n\t\tconst tick = this._parser.tick;\n\t\tconst majorTick = tick.major;\n\t\tconst majorCount = majorTick.count;\n\t\tconst majorCapacity = majorTick.capacity;\n\t\tconst majorStep = majorTick.step;\n\t\tconst majorFormatter = majorTick.formatter;\n\t\tconst minorTick = tick.minor;\n\t\tconst minorCountPerMajor = minorTick.count;\n\t\tconst minorCount = (majorCapacity + 1) * minorCountPerMajor;\n\t\tconst minorStep = minorTick.step;\n\t\tconst minorFormatter = minorTick.formatter;\n\t\tconst majorTicks = this._majorTicks;\n\t\tconst minorTicks = this._minorTicks;\n\t\tthis.newTicks(\n\t\t\tcoordinate,\n\t\t\tdomainFrom,\n\t\t\tdomainTo,\n\t\t\tdomainVisibleFrom,\n\t\t\tdomainVisibleTo,\n\t\t\tmajorCount,\n\t\t\tmajorCapacity,\n\t\t\tmajorStep,\n\t\t\tminorCountPerMajor,\n\t\t\tminorCount,\n\t\t\tminorStep,\n\t\t\tmajorTicks,\n\t\t\tminorTicks\n\t\t);\n\n\t\tconst a = transform.a;\n\t\tconst tx = transform.tx;\n\t\tfor (let i = 0; i < majorCapacity; ++i) {\n\t\t\tconst majorShape = majorShapes[i];\n\t\t\tconst imajorTick = i * 3;\n\t\t\tconst majorTickPosition = majorTicks[imajorTick + 0];\n\t\t\tif (!isNaN(majorTickPosition)) {\n\t\t\t\tconst majorTickProjectedPosition = majorTicks[imajorTick + 1];\n\t\t\t\tconst majotTickPositionX = a * majorTickProjectedPosition + tx;\n\t\t\t\tconst majorTickStep = majorTicks[imajorTick + 2];\n\t\t\t\tthis.showMajor(\n\t\t\t\t\tmajorShape,\n\t\t\t\t\tmajotTickPositionX,\n\t\t\t\t\tshapePositionY,\n\t\t\t\t\tmajorFormatter?.format(majorTickPosition, majorTickStep)\n\t\t\t\t);\n\t\t\t\tif (i < gridlineShapes.length) {\n\t\t\t\t\tthis.showMajorGridline(\n\t\t\t\t\t\tgridlineShapes[i],\n\t\t\t\t\t\tmajorTickPosition,\n\t\t\t\t\t\tmajotTickPositionX,\n\t\t\t\t\t\tplotAreaHeight * 0.5,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tplotAreaHeight\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.hideMajor(majorShape);\n\t\t\t\tif (i < gridlineShapes.length) {\n\t\t\t\t\tthis.hideMajorGridline(gridlineShapes[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < minorCount; ++i) {\n\t\t\tconst minorShape = minorShapes[i];\n\t\t\tconst iminorTick = i * 3;\n\t\t\tconst minorTickPosition = minorTicks[iminorTick + 0];\n\t\t\tif (!isNaN(minorTickPosition)) {\n\t\t\t\tconst minorTickProjectedPosition = minorTicks[iminorTick + 1];\n\t\t\t\tconst minorTickPositionX = a * minorTickProjectedPosition + tx;\n\t\t\t\tconst minorTickStep = minorTicks[iminorTick + 2];\n\t\t\t\tthis.showMinor(\n\t\t\t\t\tminorShape,\n\t\t\t\t\tminorTickPositionX,\n\t\t\t\t\tshapePositionY,\n\t\t\t\t\tminorFormatter?.format(minorTickPosition, minorTickStep)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.hideMinor(minorShape);\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tprotected updateY(\n\t\trangeFrom: number,\n\t\trangeTo: number,\n\t\trangeVisibleFrom: number,\n\t\trangeVisibleTo: number,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tmajorShapes: EShape[],\n\t\tminorShapes: EShape[],\n\t\tgridlineShapes: EShape[],\n\t\tshapePositionX: number,\n\t\ttransform: Matrix,\n\t\tplotAreaWidth: number\n\t): boolean {\n\t\tconst tick = this._parser.tick;\n\t\tconst majorTick = tick.major;\n\t\tconst majorCount = majorTick.count;\n\t\tconst majorCapacity = majorTick.capacity;\n\t\tconst majorStep = majorTick.step;\n\t\tconst majorFormatter = majorTick.formatter;\n\t\tconst minorTick = tick.minor;\n\t\tconst minorCountPerMajor = minorTick.count;\n\t\tconst minorCount = (majorCapacity + 1) * minorCountPerMajor;\n\t\tconst minorStep = minorTick.step;\n\t\tconst minorFormatter = minorTick.formatter;\n\t\tconst majorTicks = this._majorTicks;\n\t\tconst minorTicks = this._minorTicks;\n\t\tthis.newTicks(\n\t\t\tcoordinate,\n\t\t\trangeFrom,\n\t\t\trangeTo,\n\t\t\trangeVisibleFrom,\n\t\t\trangeVisibleTo,\n\t\t\tmajorCount,\n\t\t\tmajorCapacity,\n\t\t\tmajorStep,\n\t\t\tminorCountPerMajor,\n\t\t\tminorCount,\n\t\t\tminorStep,\n\t\t\tmajorTicks,\n\t\t\tminorTicks\n\t\t);\n\n\t\tconst d = transform.d;\n\t\tconst ty = transform.ty;\n\t\tfor (let i = 0; i < majorCapacity; ++i) {\n\t\t\tconst majorShape = majorShapes[i];\n\t\t\tconst imajorTick = i * 3;\n\t\t\tconst majorTickPosition = majorTicks[imajorTick + 0];\n\t\t\tif (!isNaN(majorTickPosition)) {\n\t\t\t\tconst majorTickProjectedPosition = majorTicks[imajorTick + 1];\n\t\t\t\tconst majotTickPositionY = d * majorTickProjectedPosition + ty;\n\t\t\t\tconst majorTickStep = majorTicks[imajorTick + 2];\n\t\t\t\tthis.showMajor(\n\t\t\t\t\tmajorShape,\n\t\t\t\t\tshapePositionX,\n\t\t\t\t\tmajotTickPositionY,\n\t\t\t\t\tmajorFormatter?.format(majorTickPosition, majorTickStep)\n\t\t\t\t);\n\t\t\t\tif (i < gridlineShapes.length) {\n\t\t\t\t\tthis.showMajorGridline(\n\t\t\t\t\t\tgridlineShapes[i],\n\t\t\t\t\t\tmajorTickPosition,\n\t\t\t\t\t\tplotAreaWidth * 0.5,\n\t\t\t\t\t\tmajotTickPositionY,\n\t\t\t\t\t\tplotAreaWidth,\n\t\t\t\t\t\t0\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.hideMajor(majorShape);\n\t\t\t\tif (i < gridlineShapes.length) {\n\t\t\t\t\tthis.hideMajorGridline(gridlineShapes[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < minorCount; ++i) {\n\t\t\tconst minorShape = minorShapes[i];\n\t\t\tconst iminorTick = i * 3;\n\t\t\tconst minorTickPosition = minorTicks[iminorTick + 0];\n\t\t\tif (!isNaN(minorTickPosition)) {\n\t\t\t\tconst minorTickProjectedPosition = minorTicks[iminorTick + 1];\n\t\t\t\tconst minorTickPositionY = d * minorTickProjectedPosition + ty;\n\t\t\t\tconst minorTickStep = minorTicks[iminorTick + 2];\n\t\t\t\tthis.showMinor(\n\t\t\t\t\tminorShape,\n\t\t\t\t\tshapePositionX,\n\t\t\t\t\tminorTickPositionY,\n\t\t\t\t\tminorFormatter?.format(minorTickPosition, minorTickStep)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.hideMinor(minorShape);\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tprotected showMajor(shape: EShape, x: number, y: number, text?: string): void {\n\t\tshape.disallowUploadedUpdate();\n\t\tshape.visible = true;\n\t\tshape.transform.position.set(x, y);\n\t\tshape.text.value = text != null ? text : \"\";\n\t\tshape.allowUploadedUpdate();\n\t}\n\n\tprotected showMajorGridline(\n\t\tshape: EShape,\n\t\tvalue: number,\n\t\tx: number,\n\t\ty: number,\n\t\tsx: number,\n\t\tsy: number\n\t): void {\n\t\tshape.disallowUploadedUpdate();\n\t\tshape.visible = true;\n\t\tshape.transform.position.set(x, y);\n\t\tshape.size.set(sx, sy);\n\t\tshape.allowUploadedUpdate();\n\t}\n\n\tprotected hideMajor(shape: EShape): void {\n\t\tshape.visible = false;\n\t}\n\n\tprotected hideMajorGridline(shape: EShape): void {\n\t\tshape.visible = false;\n\t}\n\n\tprotected showMinor(shape: EShape, x: number, y: number, text?: string): void {\n\t\tshape.disallowUploadedUpdate();\n\t\tshape.visible = true;\n\t\tshape.transform.position.set(x, y);\n\t\tshape.text.value = text != null ? text : \"\";\n\t\tshape.allowUploadedUpdate();\n\t}\n\n\tprotected hideMinor(shape: EShape): void {\n\t\tshape.visible = false;\n\t}\n\n\tprotected newTicks(\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tdomainFrom: number,\n\t\tdomainTo: number,\n\t\tdomainVisibleFrom: number,\n\t\tdomainVisibleTo: number,\n\t\tmajorCount: number,\n\t\tmajorCapacity: number,\n\t\tmajorStep: number | DChartCoordinateTickMajorStepFunction | undefined,\n\t\tminorCountPerMajor: number,\n\t\tminorCount: number,\n\t\tminorStep: number | DChartCoordinateTickMinorStepFunction | undefined,\n\t\tmajorResult: number[],\n\t\tminorResult: number[]\n\t): void {\n\t\tcoordinate.ticks(\n\t\t\tdomainFrom,\n\t\t\tdomainTo,\n\t\t\tdomainVisibleFrom,\n\t\t\tdomainVisibleTo,\n\t\t\tmajorCount,\n\t\t\tmajorCapacity,\n\t\t\tmajorStep,\n\t\t\tminorCountPerMajor,\n\t\t\tminorCount,\n\t\t\tminorStep,\n\t\t\tmajorResult,\n\t\t\tminorResult\n\t\t);\n\t}\n\n\tdestroy(): void {\n\t\tthis._major.destroy();\n\t\tthis._minor.destroy();\n\t\tthis._index = 0;\n\t\tthis._container = undefined;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-chart-axis-base-tick-container.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-axis-base-tick-container.ts"],"names":[],"mappings":"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","sourcesContent":["import { Matrix } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DChartAxisBaseOptionParser } from \"./d-chart-axis-base-options-parser\";\nimport { DChartAxisBaseTickMajor } from \"./d-chart-axis-base-tick-major\";\nimport { DChartAxisBaseTickMinor } from \"./d-chart-axis-base-tick-minor\";\nimport { DChartAxisContainer } from \"./d-chart-axis-container\";\nimport { DChartAxisPosition } from \"./d-chart-axis-position\";\nimport { DChartAxisTickContainer } from \"./d-chart-axis-tick-container\";\nimport { DChartAxisTickMajor } from \"./d-chart-axis-tick-major\";\nimport { DChartAxisTickMinor } from \"./d-chart-axis-tick-minor\";\nimport { DChartCoordinate } from \"./d-chart-coordinate\";\nimport { DChartCoordinateTickMajorStepFunction } from \"./d-chart-coordinate-tick-major-step-function\";\nimport { DChartCoordinateTickMinorStepFunction } from \"./d-chart-coordinate-tick-minor-step-function\";\nimport { DChartPlotArea } from \"./d-chart-plot-area\";\nimport { DChartRegion } from \"./d-chart-region\";\nimport { DChartRegionImpl } from \"./d-chart-region-impl\";\nimport { EShape } from \"./shape/e-shape\";\n\nexport interface DChartAxisBaseTickContainerOptions {}\n\nexport class DChartAxisBaseTickContainer<\n\tCHART extends DBase = DBase,\n\tOPTIONS extends DChartAxisBaseTickContainerOptions = DChartAxisBaseTickContainerOptions\n> implements DChartAxisTickContainer<CHART>\n{\n\tprotected _parser: DChartAxisBaseOptionParser;\n\tprotected _container?: DChartAxisContainer<CHART>;\n\tprotected _index: number;\n\tprotected _major: DChartAxisTickMajor<CHART>;\n\tprotected _minor: DChartAxisTickMinor<CHART>;\n\tprotected _majorTicks: number[];\n\tprotected _minorTicks: number[];\n\tprotected _work: DChartRegion;\n\n\tconstructor(parser: DChartAxisBaseOptionParser, options?: OPTIONS) {\n\t\tthis._parser = parser;\n\t\tthis._index = 0;\n\t\tthis._major = this.newMajor(parser, options);\n\t\tthis._minor = this.newMinor(parser, options);\n\t\tthis._majorTicks = [];\n\t\tthis._minorTicks = [];\n\t\tthis._work = new DChartRegionImpl(0, 0);\n\t}\n\n\tget major(): DChartAxisTickMajor<CHART> {\n\t\treturn this._major;\n\t}\n\n\tprotected newMajor(\n\t\tparser: DChartAxisBaseOptionParser,\n\t\toptions?: OPTIONS\n\t): DChartAxisTickMajor<CHART> {\n\t\treturn new DChartAxisBaseTickMajor(parser);\n\t}\n\n\tget minor(): DChartAxisTickMinor<CHART> {\n\t\treturn this._minor;\n\t}\n\n\tprotected newMinor(\n\t\tparser: DChartAxisBaseOptionParser,\n\t\toptions?: OPTIONS\n\t): DChartAxisTickMinor<CHART> {\n\t\treturn new DChartAxisBaseTickMinor(parser);\n\t}\n\n\tbind(container: DChartAxisContainer<CHART>, index: number): void {\n\t\tthis._container = container;\n\t\tthis._index = index;\n\t\tthis._major.bind(container, index);\n\t\tthis._minor.bind(container, index);\n\t}\n\n\tunbind(): void {\n\t\tthis._minor.unbind();\n\t\tthis._major.unbind();\n\t\tthis._index = 0;\n\t\tthis._container = undefined;\n\t}\n\n\tupdate(): boolean {\n\t\tconst parser = this._parser;\n\t\tconst container = this._container;\n\t\tconst majorShapes = this._major.shapes;\n\t\tconst minorShapes = this._minor.shapes;\n\t\tif (parser.tick.enable && container != null && majorShapes && minorShapes) {\n\t\t\tconst plotArea = container.plotArea;\n\t\t\tconst transform = plotArea.container.transform.localTransform;\n\t\t\tconst gridlineShapes = this._major.gridline.shapes;\n\n\t\t\tconst offset = parser.padding * this._index;\n\t\t\tconst work = this._work;\n\t\t\tlet coordinate: DChartCoordinate<CHART> | null;\n\t\t\tswitch (parser.position) {\n\t\t\t\tcase DChartAxisPosition.TOP:\n\t\t\t\t\tcoordinate = plotArea.coordinate.x.get(parser.coordinate);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domain = this.getDomain(plotArea, coordinate, work);\n\t\t\t\t\t\tconst domainFrom = domain.from;\n\t\t\t\t\t\tconst domainTo = domain.to;\n\t\t\t\t\t\tconst domainVisible = this.getDomainVisible(plotArea, coordinate, work);\n\t\t\t\t\t\tconst domainVisibleFrom = domainVisible.from;\n\t\t\t\t\t\tconst domainVisibleTo = domainVisible.to;\n\t\t\t\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\t\t\t\treturn this.updateX(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tdomainVisibleFrom,\n\t\t\t\t\t\t\tdomainVisibleTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\t0 - offset,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaHeight\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.BOTTOM:\n\t\t\t\t\tcoordinate = plotArea.coordinate.x.get(parser.coordinate);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domain = this.getDomain(plotArea, coordinate, work);\n\t\t\t\t\t\tconst domainFrom = domain.from;\n\t\t\t\t\t\tconst domainTo = domain.to;\n\t\t\t\t\t\tconst domainVisible = this.getDomainVisible(plotArea, coordinate, work);\n\t\t\t\t\t\tconst domainVisibleFrom = domainVisible.from;\n\t\t\t\t\t\tconst domainVisibleTo = domainVisible.to;\n\t\t\t\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\t\t\t\treturn this.updateX(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tdomainVisibleFrom,\n\t\t\t\t\t\t\tdomainVisibleTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\tplotAreaHeight + offset,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaHeight\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.LEFT:\n\t\t\t\t\tcoordinate = plotArea.coordinate.y.get(parser.coordinate);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst range = this.getRange(plotArea, coordinate, work);\n\t\t\t\t\t\tconst rangeFrom = range.from;\n\t\t\t\t\t\tconst rangeTo = range.to;\n\t\t\t\t\t\tconst rangeVisible = this.getRangeVisible(plotArea, coordinate, work);\n\t\t\t\t\t\tconst rangeVisibleFrom = rangeVisible.from;\n\t\t\t\t\t\tconst rangeVisibleTo = rangeVisible.to;\n\t\t\t\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\t\t\t\treturn this.updateY(\n\t\t\t\t\t\t\trangeFrom,\n\t\t\t\t\t\t\trangeTo,\n\t\t\t\t\t\t\trangeVisibleFrom,\n\t\t\t\t\t\t\trangeVisibleTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\t0 - offset,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaWidth\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.RIGHT:\n\t\t\t\t\tcoordinate = plotArea.coordinate.y.get(parser.coordinate);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst range = this.getRange(plotArea, coordinate, work);\n\t\t\t\t\t\tconst rangeFrom = range.from;\n\t\t\t\t\t\tconst rangeTo = range.to;\n\t\t\t\t\t\tconst rangeVisible = this.getRangeVisible(plotArea, coordinate, work);\n\t\t\t\t\t\tconst rangeVisibleFrom = rangeVisible.from;\n\t\t\t\t\t\tconst rangeVisibleTo = rangeVisible.to;\n\t\t\t\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\t\t\t\treturn this.updateY(\n\t\t\t\t\t\t\trangeFrom,\n\t\t\t\t\t\t\trangeTo,\n\t\t\t\t\t\t\trangeVisibleFrom,\n\t\t\t\t\t\t\trangeVisibleTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\tplotAreaWidth + offset,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaWidth\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getDomain(\n\t\tplotArea: DChartPlotArea<CHART>,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tresult: DChartRegion\n\t): DChartRegion {\n\t\tconst bounds = plotArea.getBoundsInContainer();\n\t\tconst transform = coordinate.transform;\n\t\treturn result.set(\n\t\t\tcoordinate.unmap(transform.unmap(bounds.x)),\n\t\t\tcoordinate.unmap(transform.unmap(bounds.x + bounds.width))\n\t\t);\n\t}\n\n\tprotected getDomainVisible(\n\t\tplotArea: DChartPlotArea<CHART>,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tresult: DChartRegion\n\t): DChartRegion {\n\t\treturn result;\n\t}\n\n\tprotected getRange(\n\t\tplotArea: DChartPlotArea<CHART>,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tresult: DChartRegion\n\t): DChartRegion {\n\t\tconst bounds = plotArea.getBoundsInContainer();\n\t\tconst transform = coordinate.transform;\n\t\treturn result.set(\n\t\t\tcoordinate.unmap(transform.unmap(bounds.y)),\n\t\t\tcoordinate.unmap(transform.unmap(bounds.y + bounds.height))\n\t\t);\n\t}\n\n\tprotected getRangeVisible(\n\t\tplotArea: DChartPlotArea<CHART>,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tresult: DChartRegion\n\t): DChartRegion {\n\t\treturn result;\n\t}\n\n\tprotected updateX(\n\t\tdomainFrom: number,\n\t\tdomainTo: number,\n\t\tdomainVisibleFrom: number,\n\t\tdomainVisibleTo: number,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tmajorShapes: EShape[],\n\t\tminorShapes: EShape[],\n\t\tgridlineShapes: EShape[],\n\t\tshapePositionY: number,\n\t\ttransform: Matrix,\n\t\tplotAreaHeight: number\n\t): boolean {\n\t\tconst tick = this._parser.tick;\n\t\tconst majorTick = tick.major;\n\t\tconst majorCount = majorTick.count;\n\t\tconst majorCapacity = majorTick.capacity;\n\t\tconst majorStep = majorTick.step;\n\t\tconst majorFormatter = majorTick.formatter;\n\t\tconst minorTick = tick.minor;\n\t\tconst minorCountPerMajor = minorTick.count;\n\t\tconst minorCount = (majorCapacity + 1) * minorCountPerMajor;\n\t\tconst minorStep = minorTick.step;\n\t\tconst minorFormatter = minorTick.formatter;\n\t\tconst majorTicks = this._majorTicks;\n\t\tconst minorTicks = this._minorTicks;\n\t\tthis.newTicks(\n\t\t\tcoordinate,\n\t\t\tdomainFrom,\n\t\t\tdomainTo,\n\t\t\tdomainVisibleFrom,\n\t\t\tdomainVisibleTo,\n\t\t\tmajorCount,\n\t\t\tmajorCapacity,\n\t\t\tmajorStep,\n\t\t\tminorCountPerMajor,\n\t\t\tminorCount,\n\t\t\tminorStep,\n\t\t\tmajorTicks,\n\t\t\tminorTicks\n\t\t);\n\n\t\tconst a = transform.a;\n\t\tconst tx = transform.tx;\n\t\tfor (let i = 0; i < majorCapacity; ++i) {\n\t\t\tconst majorShape = majorShapes[i];\n\t\t\tconst imajorTick = i * 3;\n\t\t\tconst majorTickPosition = majorTicks[imajorTick + 0];\n\t\t\tif (!isNaN(majorTickPosition)) {\n\t\t\t\tconst majorTickProjectedPosition = majorTicks[imajorTick + 1];\n\t\t\t\tconst majotTickPositionX = a * majorTickProjectedPosition + tx;\n\t\t\t\tconst majorTickStep = majorTicks[imajorTick + 2];\n\t\t\t\tthis.showMajor(\n\t\t\t\t\tmajorShape,\n\t\t\t\t\tmajotTickPositionX,\n\t\t\t\t\tshapePositionY,\n\t\t\t\t\tmajorFormatter?.format(majorTickPosition, majorTickStep)\n\t\t\t\t);\n\t\t\t\tif (i < gridlineShapes.length) {\n\t\t\t\t\tthis.showMajorGridline(\n\t\t\t\t\t\tgridlineShapes[i],\n\t\t\t\t\t\tmajorTickPosition,\n\t\t\t\t\t\tmajotTickPositionX,\n\t\t\t\t\t\tplotAreaHeight * 0.5,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tplotAreaHeight\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.hideMajor(majorShape);\n\t\t\t\tif (i < gridlineShapes.length) {\n\t\t\t\t\tthis.hideMajorGridline(gridlineShapes[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < minorCount; ++i) {\n\t\t\tconst minorShape = minorShapes[i];\n\t\t\tconst iminorTick = i * 3;\n\t\t\tconst minorTickPosition = minorTicks[iminorTick + 0];\n\t\t\tif (!isNaN(minorTickPosition)) {\n\t\t\t\tconst minorTickProjectedPosition = minorTicks[iminorTick + 1];\n\t\t\t\tconst minorTickPositionX = a * minorTickProjectedPosition + tx;\n\t\t\t\tconst minorTickStep = minorTicks[iminorTick + 2];\n\t\t\t\tthis.showMinor(\n\t\t\t\t\tminorShape,\n\t\t\t\t\tminorTickPositionX,\n\t\t\t\t\tshapePositionY,\n\t\t\t\t\tminorFormatter?.format(minorTickPosition, minorTickStep)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.hideMinor(minorShape);\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tprotected updateY(\n\t\trangeFrom: number,\n\t\trangeTo: number,\n\t\trangeVisibleFrom: number,\n\t\trangeVisibleTo: number,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tmajorShapes: EShape[],\n\t\tminorShapes: EShape[],\n\t\tgridlineShapes: EShape[],\n\t\tshapePositionX: number,\n\t\ttransform: Matrix,\n\t\tplotAreaWidth: number\n\t): boolean {\n\t\tconst tick = this._parser.tick;\n\t\tconst majorTick = tick.major;\n\t\tconst majorCount = majorTick.count;\n\t\tconst majorCapacity = majorTick.capacity;\n\t\tconst majorStep = majorTick.step;\n\t\tconst majorFormatter = majorTick.formatter;\n\t\tconst minorTick = tick.minor;\n\t\tconst minorCountPerMajor = minorTick.count;\n\t\tconst minorCount = (majorCapacity + 1) * minorCountPerMajor;\n\t\tconst minorStep = minorTick.step;\n\t\tconst minorFormatter = minorTick.formatter;\n\t\tconst majorTicks = this._majorTicks;\n\t\tconst minorTicks = this._minorTicks;\n\t\tthis.newTicks(\n\t\t\tcoordinate,\n\t\t\trangeFrom,\n\t\t\trangeTo,\n\t\t\trangeVisibleFrom,\n\t\t\trangeVisibleTo,\n\t\t\tmajorCount,\n\t\t\tmajorCapacity,\n\t\t\tmajorStep,\n\t\t\tminorCountPerMajor,\n\t\t\tminorCount,\n\t\t\tminorStep,\n\t\t\tmajorTicks,\n\t\t\tminorTicks\n\t\t);\n\n\t\tconst d = transform.d;\n\t\tconst ty = transform.ty;\n\t\tfor (let i = 0; i < majorCapacity; ++i) {\n\t\t\tconst majorShape = majorShapes[i];\n\t\t\tconst imajorTick = i * 3;\n\t\t\tconst majorTickPosition = majorTicks[imajorTick + 0];\n\t\t\tif (!isNaN(majorTickPosition)) {\n\t\t\t\tconst majorTickProjectedPosition = majorTicks[imajorTick + 1];\n\t\t\t\tconst majotTickPositionY = d * majorTickProjectedPosition + ty;\n\t\t\t\tconst majorTickStep = majorTicks[imajorTick + 2];\n\t\t\t\tthis.showMajor(\n\t\t\t\t\tmajorShape,\n\t\t\t\t\tshapePositionX,\n\t\t\t\t\tmajotTickPositionY,\n\t\t\t\t\tmajorFormatter?.format(majorTickPosition, majorTickStep)\n\t\t\t\t);\n\t\t\t\tif (i < gridlineShapes.length) {\n\t\t\t\t\tthis.showMajorGridline(\n\t\t\t\t\t\tgridlineShapes[i],\n\t\t\t\t\t\tmajorTickPosition,\n\t\t\t\t\t\tplotAreaWidth * 0.5,\n\t\t\t\t\t\tmajotTickPositionY,\n\t\t\t\t\t\tplotAreaWidth,\n\t\t\t\t\t\t0\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.hideMajor(majorShape);\n\t\t\t\tif (i < gridlineShapes.length) {\n\t\t\t\t\tthis.hideMajorGridline(gridlineShapes[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < minorCount; ++i) {\n\t\t\tconst minorShape = minorShapes[i];\n\t\t\tconst iminorTick = i * 3;\n\t\t\tconst minorTickPosition = minorTicks[iminorTick + 0];\n\t\t\tif (!isNaN(minorTickPosition)) {\n\t\t\t\tconst minorTickProjectedPosition = minorTicks[iminorTick + 1];\n\t\t\t\tconst minorTickPositionY = d * minorTickProjectedPosition + ty;\n\t\t\t\tconst minorTickStep = minorTicks[iminorTick + 2];\n\t\t\t\tthis.showMinor(\n\t\t\t\t\tminorShape,\n\t\t\t\t\tshapePositionX,\n\t\t\t\t\tminorTickPositionY,\n\t\t\t\t\tminorFormatter?.format(minorTickPosition, minorTickStep)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.hideMinor(minorShape);\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tprotected showMajor(shape: EShape, x: number, y: number, text?: string): void {\n\t\tshape.disallowUploadedUpdate();\n\t\tshape.visible = true;\n\t\tshape.transform.position.set(x, y);\n\t\tshape.text.value = text != null ? text : \"\";\n\t\tshape.allowUploadedUpdate();\n\t}\n\n\tprotected showMajorGridline(\n\t\tshape: EShape,\n\t\tvalue: number,\n\t\tx: number,\n\t\ty: number,\n\t\tsx: number,\n\t\tsy: number\n\t): void {\n\t\tshape.disallowUploadedUpdate();\n\t\tshape.visible = true;\n\t\tshape.transform.position.set(x, y);\n\t\tshape.size.set(sx, sy);\n\t\tshape.allowUploadedUpdate();\n\t}\n\n\tprotected hideMajor(shape: EShape): void {\n\t\tshape.visible = false;\n\t}\n\n\tprotected hideMajorGridline(shape: EShape): void {\n\t\tshape.visible = false;\n\t}\n\n\tprotected showMinor(shape: EShape, x: number, y: number, text?: string): void {\n\t\tshape.disallowUploadedUpdate();\n\t\tshape.visible = true;\n\t\tshape.transform.position.set(x, y);\n\t\tshape.text.value = text != null ? text : \"\";\n\t\tshape.allowUploadedUpdate();\n\t}\n\n\tprotected hideMinor(shape: EShape): void {\n\t\tshape.visible = false;\n\t}\n\n\tprotected newTicks(\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tdomainFrom: number,\n\t\tdomainTo: number,\n\t\tdomainVisibleFrom: number,\n\t\tdomainVisibleTo: number,\n\t\tmajorCount: number,\n\t\tmajorCapacity: number,\n\t\tmajorStep: number | DChartCoordinateTickMajorStepFunction | undefined,\n\t\tminorCountPerMajor: number,\n\t\tminorCount: number,\n\t\tminorStep: number | DChartCoordinateTickMinorStepFunction | undefined,\n\t\tmajorResult: number[],\n\t\tminorResult: number[]\n\t): void {\n\t\tcoordinate.ticks(\n\t\t\tdomainFrom,\n\t\t\tdomainTo,\n\t\t\tdomainVisibleFrom,\n\t\t\tdomainVisibleTo,\n\t\t\tmajorCount,\n\t\t\tmajorCapacity,\n\t\t\tmajorStep,\n\t\t\tminorCountPerMajor,\n\t\t\tminorCount,\n\t\t\tminorStep,\n\t\t\tmajorResult,\n\t\t\tminorResult\n\t\t);\n\t}\n\n\tdestroy(): void {\n\t\tthis._major.destroy();\n\t\tthis._minor.destroy();\n\t\tthis._index = 0;\n\t\tthis._container = undefined;\n\t}\n}\n"]}
|
|
@@ -333,12 +333,27 @@ var DTableBody = /** @class */ (function (_super) {
|
|
|
333
333
|
DApplications.update(this);
|
|
334
334
|
return true;
|
|
335
335
|
};
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
336
|
+
/**
|
|
337
|
+
* Returns a mapped row index at the given local Y position or -1.
|
|
338
|
+
*
|
|
339
|
+
* @param localY a local Y position
|
|
340
|
+
* @returns a mapped row index at the given local Y position or -1.
|
|
341
|
+
*/
|
|
342
|
+
DTableBody.prototype.toRowIndexMapped = function (localY) {
|
|
343
|
+
if (0 <= this.parent.position.y + localY) {
|
|
344
|
+
var result = Math.floor(localY / this._rowHeight);
|
|
345
|
+
if (0 <= result && result < this._data.mapped.size()) {
|
|
346
|
+
return result;
|
|
347
|
+
}
|
|
339
348
|
}
|
|
340
349
|
return -1;
|
|
341
350
|
};
|
|
351
|
+
/**
|
|
352
|
+
* Returns a row at the given mapped row index or null if not exits.
|
|
353
|
+
*
|
|
354
|
+
* @param rowIndexMapped a mapped row index
|
|
355
|
+
* @returns a row at the given mapped row index or null if not exists.
|
|
356
|
+
*/
|
|
342
357
|
DTableBody.prototype.toRow = function (rowIndexMapped) {
|
|
343
358
|
var index = rowIndexMapped - this._rowIndexMappedStart;
|
|
344
359
|
var rows = this.children;
|
|
@@ -347,14 +362,22 @@ var DTableBody = /** @class */ (function (_super) {
|
|
|
347
362
|
}
|
|
348
363
|
return null;
|
|
349
364
|
};
|
|
350
|
-
|
|
365
|
+
/**
|
|
366
|
+
* Returns a cell at the given local X position or null if not exits.
|
|
367
|
+
* This method assumes the given local X position is on the given row.
|
|
368
|
+
*
|
|
369
|
+
* @param row a row
|
|
370
|
+
* @param localX a local X position
|
|
371
|
+
* @returns a cell at the given local X position or null if not exits
|
|
372
|
+
*/
|
|
373
|
+
DTableBody.prototype.toCell = function (row, localX) {
|
|
351
374
|
var cells = row.children;
|
|
352
375
|
var cellsLength = cells.length;
|
|
353
376
|
var columns = this._columns;
|
|
354
377
|
var columnsLength = columns.length;
|
|
355
378
|
for (var i = 0, imax = Math.min(cellsLength, columnsLength); i < imax; ++i) {
|
|
356
379
|
var cell = cells[cellsLength - i - 1];
|
|
357
|
-
var x =
|
|
380
|
+
var x = localX - cell.position.x;
|
|
358
381
|
if (0 <= x && x <= cell.width) {
|
|
359
382
|
return cell;
|
|
360
383
|
}
|
|
@@ -366,12 +389,12 @@ var DTableBody = /** @class */ (function (_super) {
|
|
|
366
389
|
var local = DTableBody.WORK_ON_CLICK;
|
|
367
390
|
local.copyFrom(e.data.global);
|
|
368
391
|
this.toLocal(local, undefined, local, false);
|
|
369
|
-
var rowIndexMapped = this.toRowIndexMapped(local);
|
|
370
|
-
if (0 <= rowIndexMapped
|
|
392
|
+
var rowIndexMapped = this.toRowIndexMapped(local.y);
|
|
393
|
+
if (0 <= rowIndexMapped) {
|
|
371
394
|
// Delegate to the cell at first
|
|
372
395
|
var row = this.toRow(rowIndexMapped);
|
|
373
396
|
if (row) {
|
|
374
|
-
var cell = this.toCell(row, local);
|
|
397
|
+
var cell = this.toCell(row, local.x);
|
|
375
398
|
if (cell && cell.onRowSelect && cell.onRowSelect(e, local)) {
|
|
376
399
|
return;
|
|
377
400
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-body.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body.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, Point, Rectangle } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport { DBase, DBaseEvents, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DTableBodyRow, DTableBodyRowOnChange, DTableBodyRowOptions } from \"./d-table-body-row\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions, DTableDataSupplimental } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelection, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableBodyCell } from \"./d-table-body-cell\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DApplications } from \"./d-applications\";\nimport { isNumber } from \"./util/is-number\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\n\n/**\n * {@link DTableBody} events.\n */\nexport interface DTableBodyEvents<EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when rows are updated.\n\t * The first and second parameters are an mapped index range of visible data.\n\t * Please note that these parameters are real numbers.\n\t * For instance, An index range of [0.5, 2.5] means:\n\t *\n\t * * The row at index 0 is partially visible.\n\t * * The row at index 1 is fully visible.\n\t * * The row at index 2 is partially visible.\n\t *\n\t * @param from a lowest mapped index of visible data\n\t * @param to a highest mapped index of vislble data\n\t * @param emitter an emitter\n\t */\n\tupdate(from: number, to: number, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableBody} \"on\" options.\n */\nexport interface DTableBodyOnOptions<EMITTER>\n\textends Partial<DTableBodyEvents<EMITTER>>,\n\t\tDOnOptions {}\n\nexport interface DTableBodyOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tEMITTER = any\n> extends DBaseOptions<THEME, EMITTER> {\n\tcolumns?: Array<DTableColumn<ROW, unknown>>;\n\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\n\toffset?: number;\n\tfrozen?: number;\n\ton?: DTableBodyOnOptions<EMITTER>;\n}\n\nexport interface DThemeTableBody extends DThemeBase {\n\tgetRowHeight(): number;\n}\n\nconst toRowOptions = <ROW, DATA extends DTableData<ROW>>(\n\ttheme: DThemeTableBody,\n\toptions: DTableBodyOptions<ROW, DATA>,\n\tselectionType: DTableDataSelectionType\n): DTableBodyRowOptions<ROW> => {\n\tconst columns = options.columns || [];\n\tlet result = options.row;\n\tif (result != null) {\n\t\tif (result.height == null) {\n\t\t\tresult.height = theme.getRowHeight();\n\t\t}\n\t\tif (result.columns === undefined) {\n\t\t\tresult.columns = columns;\n\t\t}\n\t\tif (result.frozen == null) {\n\t\t\tresult.frozen = options.frozen;\n\t\t}\n\t\tif (result.selection === undefined) {\n\t\t\tresult.selection = {\n\t\t\t\ttype: selectionType\n\t\t\t};\n\t\t} else if (result.selection.type === undefined) {\n\t\t\tresult.selection.type = selectionType;\n\t\t}\n\t} else {\n\t\tresult = {\n\t\t\tcolumns,\n\t\t\theight: theme.getRowHeight(),\n\t\t\tfrozen: options.frozen,\n\t\t\tselection: {\n\t\t\t\ttype: selectionType\n\t\t\t}\n\t\t};\n\t}\n\treturn result as DTableBodyRowOptions<ROW>;\n};\n\nexport class DTableBody<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tOPTIONS extends DTableBodyOptions<ROW, DATA, THEME> = DTableBodyOptions<ROW, DATA, THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_ON_CLICK = new Point();\n\n\tprotected _columns: Array<DTableColumn<ROW, unknown>>;\n\tprotected _rowHeight: number;\n\tprotected _rowIndexMappedStart: number;\n\tprotected _rowIndexMappedEnd: number;\n\tprotected _rowOptions: DTableBodyRowOptions<ROW>;\n\tprotected _updateRowsCount: number;\n\tprotected _isUpdateRowsCalled: boolean;\n\tprotected _isUpdateRowsCalledForcibly: boolean;\n\tprotected _workRows: Array<DTableBodyRow<ROW>>;\n\tprotected _onRowChangeBound: DTableBodyRowOnChange<ROW, unknown>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\tprotected _data: DATA;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = options.offset ?? 0;\n\t\tconst data = this.toData(options.data);\n\t\tthis._data = data;\n\t\tdata.bind(this);\n\t\tconst theme = this.theme;\n\t\tconst rowOptions = toRowOptions(theme, options, data.selection.type);\n\t\tthis._rowOptions = rowOptions;\n\t\tthis._rowHeight = rowOptions.height != null ? rowOptions.height : theme.getRowHeight();\n\t\tthis._columns = rowOptions.columns || [];\n\t\tthis._rowIndexMappedStart = 0;\n\t\tthis._rowIndexMappedEnd = 0;\n\t\tthis._updateRowsCount = 0;\n\t\tthis._isUpdateRowsCalled = false;\n\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\tthis._workRows = [];\n\t\tthis._onRowChangeBound = (newValue, oldValue, row, rowIndex, columnIndex, column): void => {\n\t\t\tthis.onRowChange(newValue, oldValue, row, rowIndex, columnIndex, column);\n\t\t};\n\t\tthis._columnIndexToCellOptions = new Map<number, DTableBodyCellOptions<ROW>>();\n\t\tthis._data.emit(\"init\", this._data);\n\t}\n\n\tprotected onRowChange(\n\t\tnewValue: unknown,\n\t\toldValue: unknown,\n\t\trow: ROW,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>\n\t): void {\n\t\tconst data = this._data;\n\t\tdata.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, data);\n\t\tif (column.update === DTableColumnUpdate.ALL) {\n\t\t\tthis.update(true);\n\t\t}\n\t}\n\n\tprotected toData(options?: DATA | DTableDataListOptions<ROW>): DATA {\n\t\tif (this.isData(options)) {\n\t\t\treturn options;\n\t\t}\n\t\treturn new DTableDataList<ROW>(options) as any;\n\t}\n\n\tprotected isData(\n\t\ttarget?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>\n\t): target is DTableData<ROW> {\n\t\treturn target != null && \"mapped\" in target;\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tthis.update();\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._data.selection;\n\t}\n\n\tlock(): void {\n\t\tthis._updateRowsCount += 1;\n\t\tif (this._updateRowsCount === 1) {\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateRowsCount -= 1;\n\t\tif (this._updateRowsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateRowsCalled) {\n\t\t\t\tthis.update(this._isUpdateRowsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\t/**\n\t * Updates rows. If the `forcibly` is true, some dirty checkings for\n\t * avoiding unnecessary state changes are skipped.\n\t *\n\t * @param forcibly true to update forcibly\n\t */\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateRowsCount) {\n\t\t\tthis._isUpdateRowsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateRowsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = this.parent;\n\t\tif (content == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tconst height = contentParent.height;\n\t\tconst rowHeight = this._rowHeight;\n\n\t\tconst data = this._data;\n\t\tconst dataMappedSize = data.mapped.size();\n\n\t\tconst oldRowIndexMappedStart = this._rowIndexMappedStart;\n\t\tlet oldRowIndexMappedEnd = this._rowIndexMappedEnd;\n\t\tlet oldRowCount = oldRowIndexMappedEnd - oldRowIndexMappedStart;\n\n\t\tconst y = this.transform.position.y;\n\t\tconst newHeight = y + dataMappedSize * rowHeight;\n\t\tconst newContentHeight = Math.max(height, newHeight);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newRowIndexMappedLowerBound = -newContentY / rowHeight;\n\t\tconst newRowIndexMappedUpperBound = (height - (newContentY + y)) / rowHeight;\n\t\tlet newRowIndexMappedStart = Math.floor(newRowIndexMappedLowerBound);\n\t\tnewRowIndexMappedStart -= newRowIndexMappedStart % 2 === 0 ? 2 : 1;\n\t\tlet newRowIndexMappedEnd = Math.floor(newRowIndexMappedUpperBound);\n\t\tnewRowIndexMappedEnd += (newRowIndexMappedEnd - newRowIndexMappedStart) % 2 === 1 ? 3 : 2;\n\t\tlet newRowCount = newRowIndexMappedEnd - newRowIndexMappedStart;\n\t\tif (newRowCount < oldRowCount && oldRowCount - 2 <= newRowCount) {\n\t\t\tnewRowCount = oldRowCount;\n\t\t\tnewRowIndexMappedEnd = newRowIndexMappedStart + newRowCount;\n\t\t}\n\n\t\tif (oldRowCount < newRowCount) {\n\t\t\tfor (let i = oldRowCount; i < newRowCount; ++i) {\n\t\t\t\tconst oldRowIndexMapped = oldRowIndexMappedStart + i;\n\t\t\t\tconst newRow = this.newRow(oldRowIndexMapped % 2 === 0);\n\t\t\t\tthis.addChild(newRow);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t} else if (newRowCount < oldRowCount) {\n\t\t\tfor (let i = oldRowCount - 1; newRowCount <= i; --i) {\n\t\t\t\tthis.removeChild(rows[i]);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t}\n\n\t\tthis._rowIndexMappedStart = newRowIndexMappedStart;\n\t\tthis._rowIndexMappedEnd = newRowIndexMappedEnd;\n\n\t\tconst rowIndexMappedStartDelta = newRowIndexMappedStart - oldRowIndexMappedStart;\n\t\tconst rowIndexMappedStartDeltaAbs = Math.abs(rowIndexMappedStartDelta);\n\t\tconst rowsLength = rows.length;\n\t\tif (0 < rowIndexMappedStartDeltaAbs && rowIndexMappedStartDeltaAbs < rowsLength) {\n\t\t\tconst work = this._workRows;\n\t\t\tif (0 < rowIndexMappedStartDelta) {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowIndexMappedStartDeltaAbs; i < rowsLength; ++i) {\n\t\t\t\t\trows[i - rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[rowsLength - rowIndexMappedStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[rowsLength - rowIndexMappedStartDeltaAbs + i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowsLength - rowIndexMappedStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\trows[i + rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tconst selection = data.selection;\n\t\tconst isRowSelectable = selection.type !== DTableDataSelectionType.NONE;\n\t\tdata.mapped.each(\n\t\t\t(\n\t\t\t\tdatum: ROW,\n\t\t\t\tsupplimental: DTableDataSupplimental | null,\n\t\t\t\tindex: number,\n\t\t\t\tunmappedIndex: number\n\t\t\t): void | boolean => {\n\t\t\t\tconst row = rows[index - newRowIndexMappedStart];\n\n\t\t\t\t// Position\n\t\t\t\trow.position.y = index * rowHeight;\n\n\t\t\t\t// State\n\t\t\t\tconst rowState = row.state;\n\t\t\t\trowState.lock();\n\t\t\t\trowState.set(DTableState.SELECTABLE, isRowSelectable);\n\t\t\t\trowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));\n\t\t\t\trowState.remove(DBaseState.DISABLED);\n\t\t\t\trowState.unlock();\n\n\t\t\t\t// Data\n\t\t\t\trow.set(datum, supplimental, unmappedIndex, forcibly);\n\t\t\t},\n\t\t\tnewRowIndexMappedStart,\n\t\t\tnewRowIndexMappedStart + rowsLength\n\t\t);\n\n\t\tfor (let i = 0; newRowIndexMappedStart + i < 0 && i < rowsLength; ++i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tfor (let i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tthis.height = newHeight;\n\t\tthis.unlock(false);\n\t\tthis.emit(\"update\", newRowIndexMappedLowerBound, newRowIndexMappedUpperBound, this);\n\t}\n\n\tprotected resetRow(row: DTableBodyRow<ROW>): DTableBodyRow<ROW> {\n\t\trow.blur(true);\n\t\tconst cells = row.children;\n\t\tfor (let i = 0, imax = cells.length; i < imax; ++i) {\n\t\t\tconst cell = cells[i];\n\t\t\tif (cell instanceof DBase) {\n\t\t\t\tcell.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t\treturn row;\n\t}\n\n\tprotected newRow(isEven: boolean): DTableBodyRow<ROW> {\n\t\treturn new DTableBodyRow<ROW>(\n\t\t\tthis._onRowChangeBound,\n\t\t\tisEven,\n\t\t\tthis._columnIndexToCellOptions,\n\t\t\tthis._rowOptions\n\t\t);\n\t}\n\n\tprotected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tsuper.onParentMove(newX, newY, oldX, oldY);\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected updateFrozenCellPosition(x: number): void {\n\t\tconst frozen = this._rowOptions.frozen;\n\t\tif (frozen != null && 0 < frozen) {\n\t\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\t\tfor (let i = 0, imax = rows.length; i < imax; ++i) {\n\t\t\t\trows[i].updateFrozenCellPosition(x);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClippingRect(target: unknown, result: Rectangle): void {\n\t\tsuper.getClippingRect(target, result);\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst dy = -parent.transform.position.y;\n\t\t\tresult.y += dy;\n\t\t\tresult.height -= dy;\n\t\t}\n\t}\n\n\t/**\n\t * Scroll to the given row or row index.\n\t *\n\t * @param target a row or an row index to which the body scrolls to.\n\t * @returns true if succeeded\n\t */\n\tscrollTo(target: ROW | number): boolean {\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst parentParent = parent.parent;\n\t\tif (parentParent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tlet rowIndexMapped = -1;\n\t\tif (isNumber(target)) {\n\t\t\tif (0 <= target && target < this.data.mapped.size()) {\n\t\t\t\trowIndexMapped = target;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.data.mapped.each((row: ROW, _: unknown, index: number): boolean => {\n\t\t\t\tif (row === target) {\n\t\t\t\t\trowIndexMapped = index;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t}\n\t\tif (rowIndexMapped < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tparent.position.y = Math.max(\n\t\t\tMath.min(0, parentParent.height - parent.height),\n\t\t\t-rowIndexMapped * this._rowHeight\n\t\t);\n\t\tDApplications.update(this);\n\t\treturn true;\n\t}\n\n\tprotected toRowIndexMapped(local: Point): number {\n\t\tif (0 <= this.parent.position.y + local.y) {\n\t\t\treturn Math.floor(local.y / this._rowHeight);\n\t\t}\n\t\treturn -1;\n\t}\n\n\tprotected toRow(rowIndexMapped: number): DTableBodyRow<ROW> | null {\n\t\tconst index = rowIndexMapped - this._rowIndexMappedStart;\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toCell(row: DTableBodyRow<ROW>, local: Point): DTableBodyCell<ROW, unknown> | null {\n\t\tconst cells = row.children as Array<DTableBodyCell<ROW, unknown>>;\n\t\tconst cellsLength = cells.length;\n\t\tconst columns = this._columns;\n\t\tconst columnsLength = columns.length;\n\t\tfor (let i = 0, imax = Math.min(cellsLength, columnsLength); i < imax; ++i) {\n\t\t\tconst cell = cells[cellsLength - i - 1];\n\t\t\tconst x = local.x - cell.position.x;\n\t\t\tif (0 <= x && x <= cell.width) {\n\t\t\t\treturn cell;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonRowClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tconst local = DTableBody.WORK_ON_CLICK;\n\t\t\tlocal.copyFrom(e.data.global);\n\t\t\tthis.toLocal(local, undefined, local, false);\n\t\t\tconst rowIndexMapped = this.toRowIndexMapped(local);\n\t\t\tif (0 <= rowIndexMapped && rowIndexMapped < this._data.mapped.size()) {\n\t\t\t\t// Delegate to the cell at first\n\t\t\t\tconst row = this.toRow(rowIndexMapped);\n\t\t\t\tif (row) {\n\t\t\t\t\tconst cell = this.toCell(row, local);\n\t\t\t\t\tif (cell && cell.onRowSelect && cell.onRowSelect(e, local)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Fallback to the default\n\t\t\t\tthis.onRowSelect(e, rowIndexMapped);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRowSelect(e: InteractionEvent, rowIndexMapped: number): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tconst isSingle = selection.type === DTableDataSelectionType.SINGLE;\n\t\tconst isNotSingle = !isSingle;\n\t\tconst rowIndex = data.mapped.unmap(rowIndexMapped);\n\t\tconst originalEvent = e.data.originalEvent;\n\t\tconst ctrlKey = originalEvent.ctrlKey;\n\t\tconst shiftKey = originalEvent.shiftKey;\n\t\tif (isSingle || selection.isEmpty() || !(isNotSingle && (ctrlKey || shiftKey))) {\n\t\t\tselection.clearAndAdd(rowIndex);\n\t\t} else if (ctrlKey) {\n\t\t\tselection.toggle(rowIndex);\n\t\t} else if (shiftKey) {\n\t\t\tconst lastRowIndex = selection.last;\n\t\t\tif (lastRowIndex != null) {\n\t\t\t\tconst sorter = data.sorter;\n\t\t\t\tconst filter = data.filter;\n\t\t\t\tconst rowIndexSorted = sorter.map(rowIndex);\n\t\t\t\tconst lastRowIndexSorted = sorter.map(lastRowIndex);\n\t\t\t\tif (rowIndexSorted != null && lastRowIndexSorted != null) {\n\t\t\t\t\tlet istart = lastRowIndexSorted + 1;\n\t\t\t\t\tlet iend = rowIndexSorted + 1;\n\t\t\t\t\tif (rowIndexSorted < lastRowIndexSorted) {\n\t\t\t\t\t\tistart = rowIndexSorted;\n\t\t\t\t\t\tiend = lastRowIndexSorted;\n\t\t\t\t\t}\n\t\t\t\t\tif (istart < iend) {\n\t\t\t\t\t\tconst rowIndices: number[] = [];\n\t\t\t\t\t\tconst indicesFiltered = filter.indices;\n\t\t\t\t\t\tconst indicesSorted = sorter.indices;\n\t\t\t\t\t\tif (indicesFiltered) {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[indexFiltered]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indexFiltered);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(i);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselection.addAll(rowIndices);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBody\";\n\t}\n\n\tget data(): DATA {\n\t\treturn this._data;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-table-body.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body.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, Point, Rectangle } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport { DBase, DBaseEvents, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DTableBodyRow, DTableBodyRowOnChange, DTableBodyRowOptions } from \"./d-table-body-row\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions, DTableDataSupplimental } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelection, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableBodyCell } from \"./d-table-body-cell\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DApplications } from \"./d-applications\";\nimport { isNumber } from \"./util/is-number\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\n\n/**\n * {@link DTableBody} events.\n */\nexport interface DTableBodyEvents<EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when rows are updated.\n\t * The first and second parameters are an mapped index range of visible data.\n\t * Please note that these parameters are real numbers.\n\t * For instance, An index range of [0.5, 2.5] means:\n\t *\n\t * * The row at index 0 is partially visible.\n\t * * The row at index 1 is fully visible.\n\t * * The row at index 2 is partially visible.\n\t *\n\t * @param from a lowest mapped index of visible data\n\t * @param to a highest mapped index of vislble data\n\t * @param emitter an emitter\n\t */\n\tupdate(from: number, to: number, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableBody} \"on\" options.\n */\nexport interface DTableBodyOnOptions<EMITTER>\n\textends Partial<DTableBodyEvents<EMITTER>>,\n\t\tDOnOptions {}\n\nexport interface DTableBodyOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tEMITTER = any\n> extends DBaseOptions<THEME, EMITTER> {\n\tcolumns?: Array<DTableColumn<ROW, unknown>>;\n\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\n\toffset?: number;\n\tfrozen?: number;\n\ton?: DTableBodyOnOptions<EMITTER>;\n}\n\nexport interface DThemeTableBody extends DThemeBase {\n\tgetRowHeight(): number;\n}\n\nconst toRowOptions = <ROW, DATA extends DTableData<ROW>>(\n\ttheme: DThemeTableBody,\n\toptions: DTableBodyOptions<ROW, DATA>,\n\tselectionType: DTableDataSelectionType\n): DTableBodyRowOptions<ROW> => {\n\tconst columns = options.columns || [];\n\tlet result = options.row;\n\tif (result != null) {\n\t\tif (result.height == null) {\n\t\t\tresult.height = theme.getRowHeight();\n\t\t}\n\t\tif (result.columns === undefined) {\n\t\t\tresult.columns = columns;\n\t\t}\n\t\tif (result.frozen == null) {\n\t\t\tresult.frozen = options.frozen;\n\t\t}\n\t\tif (result.selection === undefined) {\n\t\t\tresult.selection = {\n\t\t\t\ttype: selectionType\n\t\t\t};\n\t\t} else if (result.selection.type === undefined) {\n\t\t\tresult.selection.type = selectionType;\n\t\t}\n\t} else {\n\t\tresult = {\n\t\t\tcolumns,\n\t\t\theight: theme.getRowHeight(),\n\t\t\tfrozen: options.frozen,\n\t\t\tselection: {\n\t\t\t\ttype: selectionType\n\t\t\t}\n\t\t};\n\t}\n\treturn result as DTableBodyRowOptions<ROW>;\n};\n\nexport class DTableBody<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tOPTIONS extends DTableBodyOptions<ROW, DATA, THEME> = DTableBodyOptions<ROW, DATA, THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_ON_CLICK = new Point();\n\n\tprotected _columns: Array<DTableColumn<ROW, unknown>>;\n\tprotected _rowHeight: number;\n\tprotected _rowIndexMappedStart: number;\n\tprotected _rowIndexMappedEnd: number;\n\tprotected _rowOptions: DTableBodyRowOptions<ROW>;\n\tprotected _updateRowsCount: number;\n\tprotected _isUpdateRowsCalled: boolean;\n\tprotected _isUpdateRowsCalledForcibly: boolean;\n\tprotected _workRows: Array<DTableBodyRow<ROW>>;\n\tprotected _onRowChangeBound: DTableBodyRowOnChange<ROW, unknown>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\tprotected _data: DATA;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = options.offset ?? 0;\n\t\tconst data = this.toData(options.data);\n\t\tthis._data = data;\n\t\tdata.bind(this);\n\t\tconst theme = this.theme;\n\t\tconst rowOptions = toRowOptions(theme, options, data.selection.type);\n\t\tthis._rowOptions = rowOptions;\n\t\tthis._rowHeight = rowOptions.height != null ? rowOptions.height : theme.getRowHeight();\n\t\tthis._columns = rowOptions.columns || [];\n\t\tthis._rowIndexMappedStart = 0;\n\t\tthis._rowIndexMappedEnd = 0;\n\t\tthis._updateRowsCount = 0;\n\t\tthis._isUpdateRowsCalled = false;\n\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\tthis._workRows = [];\n\t\tthis._onRowChangeBound = (newValue, oldValue, row, rowIndex, columnIndex, column): void => {\n\t\t\tthis.onRowChange(newValue, oldValue, row, rowIndex, columnIndex, column);\n\t\t};\n\t\tthis._columnIndexToCellOptions = new Map<number, DTableBodyCellOptions<ROW>>();\n\t\tthis._data.emit(\"init\", this._data);\n\t}\n\n\tprotected onRowChange(\n\t\tnewValue: unknown,\n\t\toldValue: unknown,\n\t\trow: ROW,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>\n\t): void {\n\t\tconst data = this._data;\n\t\tdata.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, data);\n\t\tif (column.update === DTableColumnUpdate.ALL) {\n\t\t\tthis.update(true);\n\t\t}\n\t}\n\n\tprotected toData(options?: DATA | DTableDataListOptions<ROW>): DATA {\n\t\tif (this.isData(options)) {\n\t\t\treturn options;\n\t\t}\n\t\treturn new DTableDataList<ROW>(options) as any;\n\t}\n\n\tprotected isData(\n\t\ttarget?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>\n\t): target is DTableData<ROW> {\n\t\treturn target != null && \"mapped\" in target;\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tthis.update();\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._data.selection;\n\t}\n\n\tlock(): void {\n\t\tthis._updateRowsCount += 1;\n\t\tif (this._updateRowsCount === 1) {\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateRowsCount -= 1;\n\t\tif (this._updateRowsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateRowsCalled) {\n\t\t\t\tthis.update(this._isUpdateRowsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\t/**\n\t * Updates rows. If the `forcibly` is true, some dirty checkings for\n\t * avoiding unnecessary state changes are skipped.\n\t *\n\t * @param forcibly true to update forcibly\n\t */\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateRowsCount) {\n\t\t\tthis._isUpdateRowsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateRowsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = this.parent;\n\t\tif (content == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tconst height = contentParent.height;\n\t\tconst rowHeight = this._rowHeight;\n\n\t\tconst data = this._data;\n\t\tconst dataMappedSize = data.mapped.size();\n\n\t\tconst oldRowIndexMappedStart = this._rowIndexMappedStart;\n\t\tlet oldRowIndexMappedEnd = this._rowIndexMappedEnd;\n\t\tlet oldRowCount = oldRowIndexMappedEnd - oldRowIndexMappedStart;\n\n\t\tconst y = this.transform.position.y;\n\t\tconst newHeight = y + dataMappedSize * rowHeight;\n\t\tconst newContentHeight = Math.max(height, newHeight);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newRowIndexMappedLowerBound = -newContentY / rowHeight;\n\t\tconst newRowIndexMappedUpperBound = (height - (newContentY + y)) / rowHeight;\n\t\tlet newRowIndexMappedStart = Math.floor(newRowIndexMappedLowerBound);\n\t\tnewRowIndexMappedStart -= newRowIndexMappedStart % 2 === 0 ? 2 : 1;\n\t\tlet newRowIndexMappedEnd = Math.floor(newRowIndexMappedUpperBound);\n\t\tnewRowIndexMappedEnd += (newRowIndexMappedEnd - newRowIndexMappedStart) % 2 === 1 ? 3 : 2;\n\t\tlet newRowCount = newRowIndexMappedEnd - newRowIndexMappedStart;\n\t\tif (newRowCount < oldRowCount && oldRowCount - 2 <= newRowCount) {\n\t\t\tnewRowCount = oldRowCount;\n\t\t\tnewRowIndexMappedEnd = newRowIndexMappedStart + newRowCount;\n\t\t}\n\n\t\tif (oldRowCount < newRowCount) {\n\t\t\tfor (let i = oldRowCount; i < newRowCount; ++i) {\n\t\t\t\tconst oldRowIndexMapped = oldRowIndexMappedStart + i;\n\t\t\t\tconst newRow = this.newRow(oldRowIndexMapped % 2 === 0);\n\t\t\t\tthis.addChild(newRow);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t} else if (newRowCount < oldRowCount) {\n\t\t\tfor (let i = oldRowCount - 1; newRowCount <= i; --i) {\n\t\t\t\tthis.removeChild(rows[i]);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t}\n\n\t\tthis._rowIndexMappedStart = newRowIndexMappedStart;\n\t\tthis._rowIndexMappedEnd = newRowIndexMappedEnd;\n\n\t\tconst rowIndexMappedStartDelta = newRowIndexMappedStart - oldRowIndexMappedStart;\n\t\tconst rowIndexMappedStartDeltaAbs = Math.abs(rowIndexMappedStartDelta);\n\t\tconst rowsLength = rows.length;\n\t\tif (0 < rowIndexMappedStartDeltaAbs && rowIndexMappedStartDeltaAbs < rowsLength) {\n\t\t\tconst work = this._workRows;\n\t\t\tif (0 < rowIndexMappedStartDelta) {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowIndexMappedStartDeltaAbs; i < rowsLength; ++i) {\n\t\t\t\t\trows[i - rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[rowsLength - rowIndexMappedStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[rowsLength - rowIndexMappedStartDeltaAbs + i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowsLength - rowIndexMappedStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\trows[i + rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tconst selection = data.selection;\n\t\tconst isRowSelectable = selection.type !== DTableDataSelectionType.NONE;\n\t\tdata.mapped.each(\n\t\t\t(\n\t\t\t\tdatum: ROW,\n\t\t\t\tsupplimental: DTableDataSupplimental | null,\n\t\t\t\tindex: number,\n\t\t\t\tunmappedIndex: number\n\t\t\t): void | boolean => {\n\t\t\t\tconst row = rows[index - newRowIndexMappedStart];\n\n\t\t\t\t// Position\n\t\t\t\trow.position.y = index * rowHeight;\n\n\t\t\t\t// State\n\t\t\t\tconst rowState = row.state;\n\t\t\t\trowState.lock();\n\t\t\t\trowState.set(DTableState.SELECTABLE, isRowSelectable);\n\t\t\t\trowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));\n\t\t\t\trowState.remove(DBaseState.DISABLED);\n\t\t\t\trowState.unlock();\n\n\t\t\t\t// Data\n\t\t\t\trow.set(datum, supplimental, unmappedIndex, forcibly);\n\t\t\t},\n\t\t\tnewRowIndexMappedStart,\n\t\t\tnewRowIndexMappedStart + rowsLength\n\t\t);\n\n\t\tfor (let i = 0; newRowIndexMappedStart + i < 0 && i < rowsLength; ++i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tfor (let i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tthis.height = newHeight;\n\t\tthis.unlock(false);\n\t\tthis.emit(\"update\", newRowIndexMappedLowerBound, newRowIndexMappedUpperBound, this);\n\t}\n\n\tprotected resetRow(row: DTableBodyRow<ROW>): DTableBodyRow<ROW> {\n\t\trow.blur(true);\n\t\tconst cells = row.children;\n\t\tfor (let i = 0, imax = cells.length; i < imax; ++i) {\n\t\t\tconst cell = cells[i];\n\t\t\tif (cell instanceof DBase) {\n\t\t\t\tcell.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t\treturn row;\n\t}\n\n\tprotected newRow(isEven: boolean): DTableBodyRow<ROW> {\n\t\treturn new DTableBodyRow<ROW>(\n\t\t\tthis._onRowChangeBound,\n\t\t\tisEven,\n\t\t\tthis._columnIndexToCellOptions,\n\t\t\tthis._rowOptions\n\t\t);\n\t}\n\n\tprotected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tsuper.onParentMove(newX, newY, oldX, oldY);\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected updateFrozenCellPosition(x: number): void {\n\t\tconst frozen = this._rowOptions.frozen;\n\t\tif (frozen != null && 0 < frozen) {\n\t\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\t\tfor (let i = 0, imax = rows.length; i < imax; ++i) {\n\t\t\t\trows[i].updateFrozenCellPosition(x);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClippingRect(target: unknown, result: Rectangle): void {\n\t\tsuper.getClippingRect(target, result);\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst dy = -parent.transform.position.y;\n\t\t\tresult.y += dy;\n\t\t\tresult.height -= dy;\n\t\t}\n\t}\n\n\t/**\n\t * Scroll to the given row or row index.\n\t *\n\t * @param target a row or an row index to which the body scrolls to.\n\t * @returns true if succeeded\n\t */\n\tscrollTo(target: ROW | number): boolean {\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst parentParent = parent.parent;\n\t\tif (parentParent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tlet rowIndexMapped = -1;\n\t\tif (isNumber(target)) {\n\t\t\tif (0 <= target && target < this.data.mapped.size()) {\n\t\t\t\trowIndexMapped = target;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.data.mapped.each((row: ROW, _: unknown, index: number): boolean => {\n\t\t\t\tif (row === target) {\n\t\t\t\t\trowIndexMapped = index;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t}\n\t\tif (rowIndexMapped < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tparent.position.y = Math.max(\n\t\t\tMath.min(0, parentParent.height - parent.height),\n\t\t\t-rowIndexMapped * this._rowHeight\n\t\t);\n\t\tDApplications.update(this);\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns a mapped row index at the given local Y position or -1.\n\t *\n\t * @param localY a local Y position\n\t * @returns a mapped row index at the given local Y position or -1.\n\t */\n\ttoRowIndexMapped(localY: number): number {\n\t\tif (0 <= this.parent.position.y + localY) {\n\t\t\tconst result = Math.floor(localY / this._rowHeight);\n\t\t\tif (0 <= result && result < this._data.mapped.size()) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t}\n\n\t/**\n\t * Returns a row at the given mapped row index or null if not exits.\n\t *\n\t * @param rowIndexMapped a mapped row index\n\t * @returns a row at the given mapped row index or null if not exists.\n\t */\n\ttoRow(rowIndexMapped: number): DTableBodyRow<ROW> | null {\n\t\tconst index = rowIndexMapped - this._rowIndexMappedStart;\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Returns a cell at the given local X position or null if not exits.\n\t * This method assumes the given local X position is on the given row.\n\t *\n\t * @param row a row\n\t * @param localX a local X position\n\t * @returns a cell at the given local X position or null if not exits\n\t */\n\ttoCell(row: DTableBodyRow<ROW>, localX: number): DTableBodyCell<ROW, unknown> | null {\n\t\tconst cells = row.children as Array<DTableBodyCell<ROW, unknown>>;\n\t\tconst cellsLength = cells.length;\n\t\tconst columns = this._columns;\n\t\tconst columnsLength = columns.length;\n\t\tfor (let i = 0, imax = Math.min(cellsLength, columnsLength); i < imax; ++i) {\n\t\t\tconst cell = cells[cellsLength - i - 1];\n\t\t\tconst x = localX - cell.position.x;\n\t\t\tif (0 <= x && x <= cell.width) {\n\t\t\t\treturn cell;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonRowClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tconst local = DTableBody.WORK_ON_CLICK;\n\t\t\tlocal.copyFrom(e.data.global);\n\t\t\tthis.toLocal(local, undefined, local, false);\n\t\t\tconst rowIndexMapped = this.toRowIndexMapped(local.y);\n\t\t\tif (0 <= rowIndexMapped) {\n\t\t\t\t// Delegate to the cell at first\n\t\t\t\tconst row = this.toRow(rowIndexMapped);\n\t\t\t\tif (row) {\n\t\t\t\t\tconst cell = this.toCell(row, local.x);\n\t\t\t\t\tif (cell && cell.onRowSelect && cell.onRowSelect(e, local)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Fallback to the default\n\t\t\t\tthis.onRowSelect(e, rowIndexMapped);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRowSelect(e: InteractionEvent, rowIndexMapped: number): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tconst isSingle = selection.type === DTableDataSelectionType.SINGLE;\n\t\tconst isNotSingle = !isSingle;\n\t\tconst rowIndex = data.mapped.unmap(rowIndexMapped);\n\t\tconst originalEvent = e.data.originalEvent;\n\t\tconst ctrlKey = originalEvent.ctrlKey;\n\t\tconst shiftKey = originalEvent.shiftKey;\n\t\tif (isSingle || selection.isEmpty() || !(isNotSingle && (ctrlKey || shiftKey))) {\n\t\t\tselection.clearAndAdd(rowIndex);\n\t\t} else if (ctrlKey) {\n\t\t\tselection.toggle(rowIndex);\n\t\t} else if (shiftKey) {\n\t\t\tconst lastRowIndex = selection.last;\n\t\t\tif (lastRowIndex != null) {\n\t\t\t\tconst sorter = data.sorter;\n\t\t\t\tconst filter = data.filter;\n\t\t\t\tconst rowIndexSorted = sorter.map(rowIndex);\n\t\t\t\tconst lastRowIndexSorted = sorter.map(lastRowIndex);\n\t\t\t\tif (rowIndexSorted != null && lastRowIndexSorted != null) {\n\t\t\t\t\tlet istart = lastRowIndexSorted + 1;\n\t\t\t\t\tlet iend = rowIndexSorted + 1;\n\t\t\t\t\tif (rowIndexSorted < lastRowIndexSorted) {\n\t\t\t\t\t\tistart = rowIndexSorted;\n\t\t\t\t\t\tiend = lastRowIndexSorted;\n\t\t\t\t\t}\n\t\t\t\t\tif (istart < iend) {\n\t\t\t\t\t\tconst rowIndices: number[] = [];\n\t\t\t\t\t\tconst indicesFiltered = filter.indices;\n\t\t\t\t\t\tconst indicesSorted = sorter.indices;\n\t\t\t\t\t\tif (indicesFiltered) {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[indexFiltered]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indexFiltered);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(i);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselection.addAll(rowIndices);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBody\";\n\t}\n\n\tget data(): DATA {\n\t\treturn this._data;\n\t}\n}\n"]}
|
package/dist/wcardinal-ui.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Winter Cardinal UI v0.
|
|
2
|
+
Winter Cardinal UI v0.372.0
|
|
3
3
|
Copyright (C) 2019 Toshiba Corporation
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
|
|
@@ -75863,14 +75863,14 @@ var DChartAxisBaseTickContainer = /** @class */ (function () {
|
|
|
75863
75863
|
this._container = undefined;
|
|
75864
75864
|
};
|
|
75865
75865
|
DChartAxisBaseTickContainer.prototype.update = function () {
|
|
75866
|
+
var parser = this._parser;
|
|
75866
75867
|
var container = this._container;
|
|
75867
75868
|
var majorShapes = this._major.shapes;
|
|
75868
75869
|
var minorShapes = this._minor.shapes;
|
|
75869
|
-
if (container != null && majorShapes && minorShapes) {
|
|
75870
|
+
if (parser.tick.enable && container != null && majorShapes && minorShapes) {
|
|
75870
75871
|
var plotArea = container.plotArea;
|
|
75871
75872
|
var transform = plotArea.container.transform.localTransform;
|
|
75872
75873
|
var gridlineShapes = this._major.gridline.shapes;
|
|
75873
|
-
var parser = this._parser;
|
|
75874
75874
|
var offset = parser.padding * this._index;
|
|
75875
75875
|
var work = this._work;
|
|
75876
75876
|
var coordinate = void 0;
|
|
@@ -90726,12 +90726,27 @@ var DTableBody = /** @class */ (function (_super) {
|
|
|
90726
90726
|
DApplications.update(this);
|
|
90727
90727
|
return true;
|
|
90728
90728
|
};
|
|
90729
|
-
|
|
90730
|
-
|
|
90731
|
-
|
|
90729
|
+
/**
|
|
90730
|
+
* Returns a mapped row index at the given local Y position or -1.
|
|
90731
|
+
*
|
|
90732
|
+
* @param localY a local Y position
|
|
90733
|
+
* @returns a mapped row index at the given local Y position or -1.
|
|
90734
|
+
*/
|
|
90735
|
+
DTableBody.prototype.toRowIndexMapped = function (localY) {
|
|
90736
|
+
if (0 <= this.parent.position.y + localY) {
|
|
90737
|
+
var result = Math.floor(localY / this._rowHeight);
|
|
90738
|
+
if (0 <= result && result < this._data.mapped.size()) {
|
|
90739
|
+
return result;
|
|
90740
|
+
}
|
|
90732
90741
|
}
|
|
90733
90742
|
return -1;
|
|
90734
90743
|
};
|
|
90744
|
+
/**
|
|
90745
|
+
* Returns a row at the given mapped row index or null if not exits.
|
|
90746
|
+
*
|
|
90747
|
+
* @param rowIndexMapped a mapped row index
|
|
90748
|
+
* @returns a row at the given mapped row index or null if not exists.
|
|
90749
|
+
*/
|
|
90735
90750
|
DTableBody.prototype.toRow = function (rowIndexMapped) {
|
|
90736
90751
|
var index = rowIndexMapped - this._rowIndexMappedStart;
|
|
90737
90752
|
var rows = this.children;
|
|
@@ -90740,14 +90755,22 @@ var DTableBody = /** @class */ (function (_super) {
|
|
|
90740
90755
|
}
|
|
90741
90756
|
return null;
|
|
90742
90757
|
};
|
|
90743
|
-
|
|
90758
|
+
/**
|
|
90759
|
+
* Returns a cell at the given local X position or null if not exits.
|
|
90760
|
+
* This method assumes the given local X position is on the given row.
|
|
90761
|
+
*
|
|
90762
|
+
* @param row a row
|
|
90763
|
+
* @param localX a local X position
|
|
90764
|
+
* @returns a cell at the given local X position or null if not exits
|
|
90765
|
+
*/
|
|
90766
|
+
DTableBody.prototype.toCell = function (row, localX) {
|
|
90744
90767
|
var cells = row.children;
|
|
90745
90768
|
var cellsLength = cells.length;
|
|
90746
90769
|
var columns = this._columns;
|
|
90747
90770
|
var columnsLength = columns.length;
|
|
90748
90771
|
for (var i = 0, imax = Math.min(cellsLength, columnsLength); i < imax; ++i) {
|
|
90749
90772
|
var cell = cells[cellsLength - i - 1];
|
|
90750
|
-
var x =
|
|
90773
|
+
var x = localX - cell.position.x;
|
|
90751
90774
|
if (0 <= x && x <= cell.width) {
|
|
90752
90775
|
return cell;
|
|
90753
90776
|
}
|
|
@@ -90759,12 +90782,12 @@ var DTableBody = /** @class */ (function (_super) {
|
|
|
90759
90782
|
var local = DTableBody.WORK_ON_CLICK;
|
|
90760
90783
|
local.copyFrom(e.data.global);
|
|
90761
90784
|
this.toLocal(local, undefined, local, false);
|
|
90762
|
-
var rowIndexMapped = this.toRowIndexMapped(local);
|
|
90763
|
-
if (0 <= rowIndexMapped
|
|
90785
|
+
var rowIndexMapped = this.toRowIndexMapped(local.y);
|
|
90786
|
+
if (0 <= rowIndexMapped) {
|
|
90764
90787
|
// Delegate to the cell at first
|
|
90765
90788
|
var row = this.toRow(rowIndexMapped);
|
|
90766
90789
|
if (row) {
|
|
90767
|
-
var cell = this.toCell(row, local);
|
|
90790
|
+
var cell = this.toCell(row, local.x);
|
|
90768
90791
|
if (cell && cell.onRowSelect && cell.onRowSelect(e, local)) {
|
|
90769
90792
|
return;
|
|
90770
90793
|
}
|