@wcardinal/wcardinal-ui 0.154.0 → 0.155.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-application-layer-options.d.ts +3 -4
- package/dist/types/wcardinal/ui/d-base-background.d.ts +2 -4
- package/dist/types/wcardinal/ui/d-base-border.d.ts +2 -4
- package/dist/types/wcardinal/ui/d-base-corner.d.ts +1 -3
- package/dist/types/wcardinal/ui/d-base-outline.d.ts +2 -4
- package/dist/types/wcardinal/ui/d-base-padding.d.ts +2 -4
- package/dist/types/wcardinal/ui/d-chart-series-base-coordinate-container.d.ts +1 -2
- package/dist/types/wcardinal/ui/d-color-gradient-point-observable.d.ts +2 -4
- package/dist/types/wcardinal/ui/d-diagram-canvas-data-map.d.ts +1 -3
- package/dist/types/wcardinal/ui/d-diagram-canvas-id-map.d.ts +1 -3
- package/dist/types/wcardinal/ui/d-dynamic-text-geometry.d.ts +2 -3
- package/dist/types/wcardinal/ui/d-dynamic-text-measure.d.ts +2 -3
- package/dist/types/wcardinal/ui/d-dynamic-text.d.ts +8 -8
- package/dist/types/wcardinal/ui/d-input-and-label.d.ts +4 -5
- package/dist/types/wcardinal/ui/d-on-options.d.ts +1 -3
- package/dist/types/wcardinal/ui/d-pagination-button-last.d.ts +8 -0
- package/dist/types/wcardinal/ui/d-pagination-button-next.d.ts +8 -0
- package/dist/types/wcardinal/ui/d-pagination-button-page.d.ts +8 -0
- package/dist/types/wcardinal/ui/d-pagination-button-previous.d.ts +8 -0
- package/dist/types/wcardinal/ui/d-pagination-button-top.d.ts +8 -0
- package/dist/types/wcardinal/ui/d-pagination-dots.d.ts +8 -0
- package/dist/types/wcardinal/ui/d-pagination-page.d.ts +8 -0
- package/dist/types/wcardinal/ui/d-pagination.d.ts +137 -44
- package/dist/types/wcardinal/ui/d-picker-color-gradient-view.d.ts +4 -5
- package/dist/types/wcardinal/ui/d-scalar-expression.d.ts +68 -66
- package/dist/types/wcardinal/ui/d-table-data-list-filter.d.ts +1 -2
- package/dist/types/wcardinal/ui/d-table-data-list-selection.d.ts +1 -3
- package/dist/types/wcardinal/ui/d-table-data-selection.d.ts +1 -3
- package/dist/types/wcardinal/ui/d-table-data-tree-filter.d.ts +1 -2
- package/dist/types/wcardinal/ui/d-table-data-tree-selection-impl.d.ts +1 -3
- package/dist/types/wcardinal/ui/index.d.ts +11 -3
- package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtimes.d.ts +4 -5
- package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-change-color.d.ts +5 -6
- package/dist/types/wcardinal/ui/shape/e-shape-capabilities.d.ts +1 -3
- package/dist/types/wcardinal/ui/shape/e-shape-connector-edge-acceptor-impl.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/e-shape-deserializers.d.ts +2 -6
- package/dist/types/wcardinal/ui/shape/e-shape-runtimes.d.ts +2 -3
- package/dist/types/wcardinal/ui/shape/e-shape-text.d.ts +1 -3
- package/dist/types/wcardinal/ui/shape/e-shape-uploadeds.d.ts +1 -3
- package/dist/types/wcardinal/ui/shape/variant/create-line-of-any-uploaded.d.ts +1 -2
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-last.d.ts +8 -0
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-next.d.ts +8 -0
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-page.d.ts +9 -0
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-previous.d.ts +8 -0
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-top.d.ts +8 -0
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-dots.d.ts +10 -0
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-page.d.ts +13 -0
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark.d.ts +2 -9
- package/dist/types/wcardinal/ui/theme/dark/index.d.ts +7 -3
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-last.d.ts +8 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-next.d.ts +8 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-page.d.ts +9 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-previous.d.ts +8 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-top.d.ts +8 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-dots.d.ts +10 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-page.d.ts +13 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/white/d-theme-white.d.ts +2 -9
- package/dist/types/wcardinal/ui/theme/white/index.d.ts +7 -3
- package/dist/types/wcardinal/ui/util/dynamic-atlas.d.ts +2 -6
- package/dist/types/wcardinal/ui/util/dynamic-font-atlas-characters.d.ts +1 -3
- package/dist/types/wcardinal/ui/util/dynamic-sdf-font-atlases.d.ts +1 -3
- package/dist/types/wcardinal/ui/util/format-node/{format-noder-d.d.ts → format-node-rd.d.ts} +0 -0
- package/dist/types/wcardinal/ui/util/format-node/index.d.ts +31 -0
- package/dist/types/wcardinal/ui/util/index.d.ts +5 -0
- package/dist/types/wcardinal/ui/util/util-name.d.ts +1 -3
- package/dist/types/wcardinal/ui/util/util-svg-atlas-builder.d.ts +4 -12
- package/dist/wcardinal/ui/d-application-layer-options.js.map +1 -1
- package/dist/wcardinal/ui/d-base-background.js.map +1 -1
- package/dist/wcardinal/ui/d-base-border.js.map +1 -1
- package/dist/wcardinal/ui/d-base-corner.js.map +1 -1
- package/dist/wcardinal/ui/d-base-outline.js.map +1 -1
- package/dist/wcardinal/ui/d-base-padding.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-series-base-coordinate-container.js.map +1 -1
- package/dist/wcardinal/ui/d-color-gradient-point-observable.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-canvas-data-map.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-canvas-id-map.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram.js.map +1 -1
- package/dist/wcardinal/ui/d-dynamic-text-geometry.js.map +1 -1
- package/dist/wcardinal/ui/d-dynamic-text-measure.js.map +1 -1
- package/dist/wcardinal/ui/d-dynamic-text.js.map +1 -1
- package/dist/wcardinal/ui/d-input-and-label.js.map +1 -1
- package/dist/wcardinal/ui/d-on-options.js.map +1 -1
- package/dist/wcardinal/ui/d-pagination-button-last.js +18 -0
- package/dist/wcardinal/ui/d-pagination-button-last.js.map +1 -0
- package/dist/wcardinal/ui/d-pagination-button-next.js +18 -0
- package/dist/wcardinal/ui/d-pagination-button-next.js.map +1 -0
- package/dist/wcardinal/ui/d-pagination-button-page.js +18 -0
- package/dist/wcardinal/ui/d-pagination-button-page.js.map +1 -0
- package/dist/wcardinal/ui/d-pagination-button-previous.js +18 -0
- package/dist/wcardinal/ui/d-pagination-button-previous.js.map +1 -0
- package/dist/wcardinal/ui/d-pagination-button-top.js +18 -0
- package/dist/wcardinal/ui/d-pagination-button-top.js.map +1 -0
- package/dist/wcardinal/ui/d-pagination-dots.js +18 -0
- package/dist/wcardinal/ui/d-pagination-dots.js.map +1 -0
- package/dist/wcardinal/ui/d-pagination-page.js +18 -0
- package/dist/wcardinal/ui/d-pagination-page.js.map +1 -0
- package/dist/wcardinal/ui/d-pagination.js +455 -212
- package/dist/wcardinal/ui/d-pagination.js.map +1 -1
- package/dist/wcardinal/ui/d-picker-color-gradient-view.js.map +1 -1
- package/dist/wcardinal/ui/d-scalar-expression.js +107 -79
- package/dist/wcardinal/ui/d-scalar-expression.js.map +1 -1
- package/dist/wcardinal/ui/d-table-data-list-filter.js.map +1 -1
- package/dist/wcardinal/ui/d-table-data-list-selection.js.map +1 -1
- package/dist/wcardinal/ui/d-table-data-selection.js.map +1 -1
- package/dist/wcardinal/ui/d-table-data-tree-filter.js.map +1 -1
- package/dist/wcardinal/ui/d-table-data-tree-selection-impl.js.map +1 -1
- package/dist/wcardinal/ui/index.js +11 -3
- package/dist/wcardinal/ui/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtimes.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-value-change-color.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-capabilities.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-connector-edge-acceptor-impl.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-deserializers.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-runtimes.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-uploadeds.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/to-image-element.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-last.js +28 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-last.js.map +1 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-next.js +27 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-next.js.map +1 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-page.js +24 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-page.js.map +1 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-previous.js +27 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-previous.js.map +1 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-top.js +28 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-top.js.map +1 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-dots.js +36 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-dots.js.map +1 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-page.js +35 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-page.js.map +1 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination.js +5 -2
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/index.js +7 -3
- package/dist/wcardinal/ui/theme/dark/index.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/load/load-theme-dark-pagination.js +14 -6
- package/dist/wcardinal/ui/theme/dark/load/load-theme-dark-pagination.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-last.js +28 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-last.js.map +1 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-next.js +27 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-next.js.map +1 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-page.js +24 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-page.js.map +1 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-previous.js +27 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-previous.js.map +1 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-top.js +28 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-top.js.map +1 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-dots.js +36 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-dots.js.map +1 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-page.js +35 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-page.js.map +1 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination.js +5 -2
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/index.js +7 -3
- package/dist/wcardinal/ui/theme/white/index.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/load/load-theme-white-pagination.js +14 -6
- package/dist/wcardinal/ui/theme/white/load/load-theme-white-pagination.js.map +1 -1
- package/dist/wcardinal/ui/util/dynamic-atlas.js.map +1 -1
- package/dist/wcardinal/ui/util/dynamic-font-atlas-characters.js.map +1 -1
- package/dist/wcardinal/ui/util/dynamic-sdf-font-atlases.js.map +1 -1
- package/dist/wcardinal/ui/util/format-node/{format-noder-d.js → format-node-rd.js} +1 -1
- package/dist/wcardinal/ui/util/format-node/{format-noder-d.js.map → format-node-rd.js.map} +1 -1
- package/dist/wcardinal/ui/util/format-node/index.js +36 -0
- package/dist/wcardinal/ui/util/format-node/index.js.map +1 -0
- package/dist/wcardinal/ui/util/index.js +5 -0
- package/dist/wcardinal/ui/util/index.js.map +1 -1
- package/dist/wcardinal/ui/util/number-formatter-impl.js +1 -1
- package/dist/wcardinal/ui/util/number-formatter-impl.js.map +1 -1
- package/dist/wcardinal/ui/util/util-name.js.map +1 -1
- package/dist/wcardinal/ui/util/util-svg-atlas-builder.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +163 -39
- package/dist/wcardinal-ui-theme-dark.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white.js +163 -39
- package/dist/wcardinal-ui-theme-white.min.js +2 -2
- package/dist/wcardinal-ui-theme-white.min.js.map +1 -1
- package/dist/wcardinal-ui.cjs.js +999 -446
- package/dist/wcardinal-ui.js +675 -370
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +3 -3
- package/dist/types/wcardinal/ui/d-pagination-dots-button.d.ts +0 -8
- package/dist/types/wcardinal/ui/d-pagination-dynamic-buttons.d.ts +0 -21
- package/dist/types/wcardinal/ui/d-pagination-navigation-button.d.ts +0 -8
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-dots-button.d.ts +0 -9
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-dynamic-buttons.d.ts +0 -6
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-navigation-button.d.ts +0 -4
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-dots-button.d.ts +0 -9
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-dynamic-buttons.d.ts +0 -6
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-navigation-button.d.ts +0 -4
- package/dist/wcardinal/ui/d-pagination-dots-button.js +0 -18
- package/dist/wcardinal/ui/d-pagination-dots-button.js.map +0 -1
- package/dist/wcardinal/ui/d-pagination-dynamic-buttons.js +0 -81
- package/dist/wcardinal/ui/d-pagination-dynamic-buttons.js.map +0 -1
- package/dist/wcardinal/ui/d-pagination-navigation-button.js +0 -18
- package/dist/wcardinal/ui/d-pagination-navigation-button.js.map +0 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-dots-button.js +0 -24
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-dots-button.js.map +0 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-dynamic-buttons.js +0 -18
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-dynamic-buttons.js.map +0 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-navigation-button.js +0 -32
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-navigation-button.js.map +0 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-dots-button.js +0 -24
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-dots-button.js.map +0 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-dynamic-buttons.js +0 -18
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-dynamic-buttons.js.map +0 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-navigation-button.js +0 -32
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-navigation-button.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-scalar-expression.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-scalar-expression.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DScalar } from \"./d-scalar\";\nimport { isNumber } from \"./util/is-number\";\n\nconst enum NodeType {\n\t// Parensesis\n\tOPEN,\n\tCLOSE,\n\tPARENSESIS,\n\n\t// Operations\n\tADD_OR_PLUS,\n\tSUB_OR_MINUS,\n\n\tPLUS,\n\tMINUS,\n\n\tADD,\n\tSUB,\n\tMUL,\n\tDIV,\n\n\t// Functions\n\tMIN,\n\tMAX,\n\tCOMMA,\n\n\t// Literals\n\tPARENT,\n\tSELF,\n\tPADDING,\n\tCURRENT,\n\tNUMBER\n}\n\ntype NodeTypeOperator =\n\t| NodeType.SUB_OR_MINUS\n\t| NodeType.ADD_OR_PLUS\n\t| NodeType.SUB\n\t| NodeType.ADD\n\t| NodeType.MUL\n\t| NodeType.DIV\n\t| NodeType.OPEN\n\t| NodeType.CLOSE\n\t| NodeType.MIN\n\t| NodeType.MAX\n\t| NodeType.COMMA;\n\ntype NodeTypeLiteral =\n\t| NodeType.NUMBER\n\t| NodeType.PARENT\n\t| NodeType.SELF\n\t| NodeType.PADDING\n\t| NodeType.CURRENT;\n\ntype Token = NodeTypeOperator | [NodeTypeLiteral, number];\n\ninterface NodeOrTokenParensesis {\n\t[0]: NodeType.PARENSESIS;\n\t[1]: NodeOrToken[];\n}\n\ninterface NodeOrTokenUnary {\n\t[0]: NodeType.PLUS | NodeType.MINUS;\n\t[1]: NodeOrToken;\n}\n\ntype NodeArithmeticOperator = NodeType.SUB | NodeType.ADD | NodeType.MUL | NodeType.DIV;\n\ninterface NodeOrTokenArithmetic {\n\t[0]: NodeArithmeticOperator;\n\t[1]: NodeOrToken;\n\t[2]: NodeOrToken;\n}\n\ninterface NodeOrTokenFunction {\n\t[0]: NodeType.MIN | NodeType.MAX;\n\t[1]: NodeOrToken[];\n}\n\ntype NodeOrToken =\n\t| Token\n\t| NodeOrTokenParensesis\n\t| NodeOrTokenUnary\n\t| NodeOrTokenArithmetic\n\t| NodeOrTokenFunction;\n\ninterface NodeLiteral {\n\t[0]: NodeTypeLiteral;\n\t[1]: number;\n}\n\ninterface NodeParensesis {\n\t[0]: NodeType.PARENSESIS;\n\t[1]: Node[];\n}\n\ninterface NodeUnary {\n\t[0]: NodeType.PLUS | NodeType.MINUS;\n\t[1]: Node;\n}\n\ninterface NodeArithmetic {\n\t[0]: NodeArithmeticOperator;\n\t[1]: Node;\n\t[2]: Node;\n}\n\ninterface NodeFunction {\n\t[0]: NodeType.MIN | NodeType.MAX;\n\t[1]: Node[];\n}\n\ntype Node = NodeParensesis | NodeUnary | NodeArithmetic | NodeFunction | NodeLiteral;\n\nconst TOKEN_MAPPING_OPERATOR: { [token: string]: NodeTypeOperator | undefined } = {\n\t\"+\": NodeType.ADD_OR_PLUS,\n\t\"-\": NodeType.SUB_OR_MINUS,\n\t\"*\": NodeType.MUL,\n\t\"/\": NodeType.DIV,\n\t\"(\": NodeType.OPEN,\n\t\")\": NodeType.CLOSE,\n\t\",\": NodeType.COMMA,\n\tmin: NodeType.MIN,\n\tmax: NodeType.MAX\n};\n\nconst TOKEN_MAPPING_LITERAL: { [token: string]: NodeTypeLiteral | undefined } = {\n\t\"%\": NodeType.PARENT,\n\ts: NodeType.SELF,\n\tp: NodeType.PADDING,\n\tc: NodeType.CURRENT\n};\n\n/**\n * Parser and evaluator of the scalar expressions like `100% - 50s`.\n *\n * Literals\n *\n * * x%: 0.01 * x * parent value\n * * xs: 0.01 * x * self value\n * * xp: 0.01 * x * padding value\n * * xc: 0.01 * x * current value\n *\n * Operators\n *\n * * `+`\n * * `-`\n * * `*`\n * * `/`\n * * `(` and `)`\n *\n * Functions\n *\n * * min( a, b, ... )\n * * max( a, b, ... )\n *\n * Examples\n *\n * * `90%`: 0.9 * parent value\n * * `50s`: 0.5 * self value\n * * `90% - 50s`: 0.9 * parent value - 0.5 * self value\n * * `90% - (50s + 100) * 2`: 0.9 * parent value - ( 0.5 * self value + 100 ) * 2\n */\nexport class DScalarExpression implements DScalar {\n\tprotected static TOKEN_REGEX = /(?:\\+|-|\\*|\\/|\\(|\\)|min|max|,|(?:\\d+(?:\\.\\d*)?[%psc]?))/g;\n\tprotected _node: Node;\n\n\tconstructor(expression: string) {\n\t\tconst nodes: NodeOrToken[] = this.toToken(expression);\n\t\tlet i = 0;\n\t\tdo {\n\t\t\ti = this.toParensesis(nodes, i);\n\t\t} while (i < nodes.length);\n\t\tthis.toUnary(nodes);\n\t\tthis.toArithmetic(nodes, NodeType.MUL, NodeType.DIV);\n\t\tthis.toArithmetic(nodes, NodeType.ADD, NodeType.SUB);\n\t\tif (nodes.length === 1) {\n\t\t\tconst node = nodes[0];\n\t\t\tif (!isNumber(node)) {\n\t\t\t\tthis._node = node as any;\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Failed to parse '${expression}'`);\n\t}\n\n\ttoParensesis(nodes: NodeOrToken[], ifrom: number): number {\n\t\tlet ito = nodes.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst inode = nodes[i];\n\t\t\tif (inode === NodeType.OPEN) {\n\t\t\t\tlet istart = i;\n\t\t\t\tlet nodeType = NodeType.PARENSESIS;\n\t\t\t\tif (0 < i) {\n\t\t\t\t\tconst nodeTypePrev = nodes[i - 1];\n\t\t\t\t\tif (nodeTypePrev === NodeType.MIN || nodeTypePrev === NodeType.MAX) {\n\t\t\t\t\t\tistart -= 1;\n\t\t\t\t\t\tnodeType = nodeTypePrev;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (let j = i + 1; j < ito; ++j) {\n\t\t\t\t\tconst jnode = nodes[j];\n\t\t\t\t\tif (jnode === NodeType.CLOSE) {\n\t\t\t\t\t\tnodes[istart] = [nodeType, this.toComma(nodes, i + 1, j)];\n\t\t\t\t\t\tnodes.splice(istart + 1, j - istart);\n\t\t\t\t\t\treturn istart + 1;\n\t\t\t\t\t} else if (jnode === NodeType.OPEN) {\n\t\t\t\t\t\tj = this.toParensesis(nodes, j) - 1;\n\t\t\t\t\t\tito = nodes.length;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthrow new Error(`Malformed parensesis`);\n\t\t\t}\n\t\t}\n\t\treturn ito;\n\t}\n\n\ttoCommaOf(nodes: NodeOrToken[], ifrom: number, ito: number): NodeOrToken {\n\t\tconst l = ito - ifrom;\n\t\tif (l <= 0) {\n\t\t\treturn [NodeType.NUMBER, 0];\n\t\t} else if (l <= 1) {\n\t\t\treturn nodes[ifrom];\n\t\t} else {\n\t\t\tconst operand: NodeOrToken[] = [];\n\t\t\tfor (let j = ifrom; j < ito; ++j) {\n\t\t\t\toperand.push(nodes[j]);\n\t\t\t}\n\t\t\treturn [NodeType.PARENSESIS, operand];\n\t\t}\n\t}\n\n\ttoComma(nodes: NodeOrToken[], ifrom: number, ito: number): NodeOrToken[] {\n\t\tlet result: NodeOrToken[] | null = null;\n\t\tlet iprev = ifrom;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (node === NodeType.COMMA) {\n\t\t\t\tresult = result || [];\n\t\t\t\tresult.push(this.toCommaOf(nodes, iprev, i));\n\t\t\t\tiprev = i + 1;\n\t\t\t}\n\t\t}\n\t\tif (iprev < ito) {\n\t\t\tif (result == null) {\n\t\t\t\tconst operand: NodeOrToken[] = [];\n\t\t\t\tfor (let i = iprev; i < ito; ++i) {\n\t\t\t\t\toperand.push(nodes[i]);\n\t\t\t\t}\n\t\t\t\treturn operand;\n\t\t\t} else {\n\t\t\t\tresult.push(this.toCommaOf(nodes, iprev, ito));\n\t\t\t}\n\t\t}\n\t\treturn result || [];\n\t}\n\n\ttoUnaryNode(node: NodeOrToken): void {\n\t\tif (!isNumber(node)) {\n\t\t\tif (\n\t\t\t\tnode[0] === NodeType.PARENSESIS ||\n\t\t\t\tnode[0] === NodeType.MIN ||\n\t\t\t\tnode[0] === NodeType.MAX\n\t\t\t) {\n\t\t\t\tthis.toUnary(node[1]);\n\t\t\t}\n\t\t}\n\t}\n\n\ttoUnary(nodes: NodeOrToken[]): void {\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (node === NodeType.ADD_OR_PLUS || node === NodeType.SUB_OR_MINUS) {\n\t\t\t\tif (i <= 0 || isNumber(nodes[i - 1])) {\n\t\t\t\t\tif (i + 1 < imax && !isNumber(nodes[i + 1])) {\n\t\t\t\t\t\tconst operand = nodes.splice(i + 1, 1)[0];\n\t\t\t\t\t\tconst type = node === NodeType.ADD_OR_PLUS ? NodeType.PLUS : NodeType.MINUS;\n\t\t\t\t\t\tnodes[i] = [type, operand];\n\t\t\t\t\t\timax = nodes.length;\n\t\t\t\t\t\tthis.toUnaryNode(operand);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new Error(\"Malformed unary operator\");\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst type = node === NodeType.ADD_OR_PLUS ? NodeType.ADD : NodeType.SUB;\n\t\t\t\t\tnodes[i] = type;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.toUnaryNode(node);\n\t\t\t\timax = nodes.length;\n\t\t\t}\n\t\t}\n\t}\n\n\ttoArithmeticNode(\n\t\tnode: NodeOrToken,\n\t\toperatorA: NodeArithmeticOperator,\n\t\toperatorB: NodeArithmeticOperator\n\t): void {\n\t\tif (!isNumber(node)) {\n\t\t\tif (\n\t\t\t\tnode[0] === NodeType.PARENSESIS ||\n\t\t\t\tnode[0] === NodeType.MIN ||\n\t\t\t\tnode[0] === NodeType.MAX\n\t\t\t) {\n\t\t\t\tthis.toArithmetic(node[1], operatorA, operatorB);\n\t\t\t} else if (node[0] === NodeType.PLUS || node[0] === NodeType.MINUS) {\n\t\t\t\tthis.toArithmeticNode(node[1], operatorA, operatorB);\n\t\t\t} else if (\n\t\t\t\tnode[0] === NodeType.ADD ||\n\t\t\t\tnode[0] === NodeType.SUB ||\n\t\t\t\tnode[0] === NodeType.MUL ||\n\t\t\t\tnode[0] === NodeType.DIV\n\t\t\t) {\n\t\t\t\tthis.toArithmeticNode(node[1], operatorA, operatorB);\n\t\t\t\tthis.toArithmeticNode(node[2], operatorA, operatorB);\n\t\t\t}\n\t\t}\n\t}\n\n\ttoArithmetic(\n\t\tnodes: NodeOrToken[],\n\t\toperatorA: NodeArithmeticOperator,\n\t\toperatorB: NodeArithmeticOperator\n\t): void {\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (node === operatorA || node === operatorB) {\n\t\t\t\tif (0 < i && i + 1 < imax) {\n\t\t\t\t\tconst left = nodes[i - 1];\n\t\t\t\t\tconst right = nodes[i + 1];\n\t\t\t\t\tif (!isNumber(left) && !isNumber(right)) {\n\t\t\t\t\t\tnodes.splice(i, 2);\n\t\t\t\t\t\tnodes[i - 1] = [node, left, right];\n\t\t\t\t\t\ti -= 1;\n\t\t\t\t\t\timax = nodes.length;\n\t\t\t\t\t\tthis.toArithmeticNode(left, operatorA, operatorB);\n\t\t\t\t\t\tthis.toArithmeticNode(right, operatorA, operatorB);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthrow new Error(`Malformed operands for the operator ${node}`);\n\t\t\t} else {\n\t\t\t\tthis.toArithmeticNode(node, operatorA, operatorB);\n\t\t\t\timax = nodes.length;\n\t\t\t}\n\t\t}\n\t}\n\n\ttoToken(expression: string): Token[] {\n\t\tconst tokens: Token[] = [];\n\t\twhile (true) {\n\t\t\tconst matched = DScalarExpression.TOKEN_REGEX.exec(expression);\n\t\t\tif (matched != null) {\n\t\t\t\tconst token = matched[0];\n\t\t\t\tconst tokenTypeOperator = TOKEN_MAPPING_OPERATOR[token];\n\t\t\t\tif (tokenTypeOperator != null) {\n\t\t\t\t\ttokens.push(tokenTypeOperator);\n\t\t\t\t} else {\n\t\t\t\t\tconst parsedToken = parseFloat(token);\n\t\t\t\t\tif (parsedToken !== parsedToken) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected token '${token}' at ${matched.index} in '${expression}'`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst tokenTypeLiteral = TOKEN_MAPPING_LITERAL[token[token.length - 1]];\n\t\t\t\t\tif (tokenTypeLiteral != null) {\n\t\t\t\t\t\ttokens.push([tokenTypeLiteral, parsedToken * 0.01]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttokens.push([NodeType.NUMBER, parsedToken]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn tokens;\n\t}\n\n\tprotected evaluate(\n\t\tnode: Node,\n\t\tparent: number,\n\t\tself: number,\n\t\tpadding: number,\n\t\tcurrent: number\n\t): number {\n\t\tswitch (node[0]) {\n\t\t\tcase NodeType.PARENSESIS:\n\t\t\t\tconst nodes = node[1];\n\t\t\t\treturn this.evaluate(nodes[nodes.length - 1], parent, self, padding, current);\n\n\t\t\t// Unary operators\n\t\t\tcase NodeType.PLUS:\n\t\t\t\treturn +this.evaluate(node[1], parent, self, padding, current);\n\n\t\t\tcase NodeType.MINUS:\n\t\t\t\treturn -this.evaluate(node[1], parent, self, padding, current);\n\n\t\t\t// Four arithmetic operators\n\t\t\tcase NodeType.ADD:\n\t\t\t\treturn (\n\t\t\t\t\tthis.evaluate(node[1], parent, self, padding, current) +\n\t\t\t\t\tthis.evaluate(node[2], parent, self, padding, current)\n\t\t\t\t);\n\t\t\tcase NodeType.SUB:\n\t\t\t\treturn (\n\t\t\t\t\tthis.evaluate(node[1], parent, self, padding, current) -\n\t\t\t\t\tthis.evaluate(node[2], parent, self, padding, current)\n\t\t\t\t);\n\t\t\tcase NodeType.MUL:\n\t\t\t\treturn (\n\t\t\t\t\tthis.evaluate(node[1], parent, self, padding, current) *\n\t\t\t\t\tthis.evaluate(node[2], parent, self, padding, current)\n\t\t\t\t);\n\t\t\tcase NodeType.DIV:\n\t\t\t\treturn (\n\t\t\t\t\tthis.evaluate(node[1], parent, self, padding, current) /\n\t\t\t\t\tthis.evaluate(node[2], parent, self, padding, current)\n\t\t\t\t);\n\n\t\t\t// Functions\n\t\t\tcase NodeType.MIN:\n\t\t\t\tif (0 < node[1].length) {\n\t\t\t\t\tconst args = node[1];\n\t\t\t\t\tlet result = this.evaluate(args[0], parent, self, padding, current);\n\t\t\t\t\tfor (let i = 1, imax = args.length; i < imax; ++i) {\n\t\t\t\t\t\tresult = Math.min(\n\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\tthis.evaluate(args[i], parent, self, padding, current)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\tcase NodeType.MAX:\n\t\t\t\tif (0 < node[1].length) {\n\t\t\t\t\tconst args = node[1];\n\t\t\t\t\tlet result = this.evaluate(args[0], parent, self, padding, current);\n\t\t\t\t\tfor (let i = 1, imax = args.length; i < imax; ++i) {\n\t\t\t\t\t\tresult = Math.max(\n\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\tthis.evaluate(args[i], parent, self, padding, current)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\n\t\t\t// Literals\n\t\t\tcase NodeType.PARENT:\n\t\t\t\treturn node[1] * parent;\n\t\t\tcase NodeType.SELF:\n\t\t\t\treturn node[1] * self;\n\t\t\tcase NodeType.PADDING:\n\t\t\t\treturn node[1] * padding;\n\t\t\tcase NodeType.CURRENT:\n\t\t\t\treturn node[1] * current;\n\t\t\tcase NodeType.NUMBER:\n\t\t\t\treturn node[1];\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\tcalculate(parent: number, self: number, padding: number, current: number): number {\n\t\treturn this.evaluate(this._node, parent, self, padding, current);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-scalar-expression.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-scalar-expression.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DScalar } from \"./d-scalar\";\nimport { isNumber } from \"./util/is-number\";\n\nexport const DScalarExpressionNodeType = {\n\t// Parensesis\n\tOPEN: 0,\n\tCLOSE: 1,\n\tPARENSESIS: 2,\n\n\t// Operations\n\tADD_OR_PLUS: 3,\n\tSUB_OR_MINUS: 4,\n\n\tPLUS: 5,\n\tMINUS: 6,\n\n\tADD: 7,\n\tSUB: 8,\n\tMUL: 9,\n\tDIV: 10,\n\n\t// Functions\n\tMIN: 11,\n\tMAX: 12,\n\tCOMMA: 13,\n\n\t// Literals\n\tPARENT: 14,\n\tSELF: 15,\n\tPADDING: 16,\n\tCURRENT: 17,\n\tNUMBER: 18\n} as const;\n\nexport type DScalarExpressionNodeType =\n\ttypeof DScalarExpressionNodeType[keyof typeof DScalarExpressionNodeType];\n\nexport type DScalarExpressionNodeTypeOperator =\n\t| typeof DScalarExpressionNodeType.SUB_OR_MINUS\n\t| typeof DScalarExpressionNodeType.ADD_OR_PLUS\n\t| typeof DScalarExpressionNodeType.SUB\n\t| typeof DScalarExpressionNodeType.ADD\n\t| typeof DScalarExpressionNodeType.MUL\n\t| typeof DScalarExpressionNodeType.DIV\n\t| typeof DScalarExpressionNodeType.OPEN\n\t| typeof DScalarExpressionNodeType.CLOSE\n\t| typeof DScalarExpressionNodeType.MIN\n\t| typeof DScalarExpressionNodeType.MAX\n\t| typeof DScalarExpressionNodeType.COMMA;\n\nexport type DScalarExpressionNodeTypeLiteral =\n\t| typeof DScalarExpressionNodeType.NUMBER\n\t| typeof DScalarExpressionNodeType.PARENT\n\t| typeof DScalarExpressionNodeType.SELF\n\t| typeof DScalarExpressionNodeType.PADDING\n\t| typeof DScalarExpressionNodeType.CURRENT;\n\nexport type DScalarExpressionToken =\n\t| DScalarExpressionNodeTypeOperator\n\t| [DScalarExpressionNodeTypeLiteral, number];\n\nexport interface DScalarExpressionNodeOrTokenParensesis {\n\t[0]: typeof DScalarExpressionNodeType.PARENSESIS;\n\t[1]: DScalarExpressionNodeOrToken[];\n}\n\nexport interface DScalarExpressionNodeOrTokenUnary {\n\t[0]: typeof DScalarExpressionNodeType.PLUS | typeof DScalarExpressionNodeType.MINUS;\n\t[1]: DScalarExpressionNodeOrToken;\n}\n\nexport type DScalarExpressionNodeArithmeticOperator =\n\t| typeof DScalarExpressionNodeType.SUB\n\t| typeof DScalarExpressionNodeType.ADD\n\t| typeof DScalarExpressionNodeType.MUL\n\t| typeof DScalarExpressionNodeType.DIV;\n\nexport interface DScalarExpressionNodeOrTokenArithmetic {\n\t[0]: DScalarExpressionNodeArithmeticOperator;\n\t[1]: DScalarExpressionNodeOrToken;\n\t[2]: DScalarExpressionNodeOrToken;\n}\n\nexport interface DScalarExpressionNodeOrTokenFunction {\n\t[0]: typeof DScalarExpressionNodeType.MIN | typeof DScalarExpressionNodeType.MAX;\n\t[1]: DScalarExpressionNodeOrToken[];\n}\n\nexport type DScalarExpressionNodeOrToken =\n\t| DScalarExpressionToken\n\t| DScalarExpressionNodeOrTokenParensesis\n\t| DScalarExpressionNodeOrTokenUnary\n\t| DScalarExpressionNodeOrTokenArithmetic\n\t| DScalarExpressionNodeOrTokenFunction;\n\nexport interface DScalarExpressionNodeLiteral {\n\t[0]: DScalarExpressionNodeTypeLiteral;\n\t[1]: number;\n}\n\nexport interface DScalarExpressionNodeParensesis {\n\t[0]: typeof DScalarExpressionNodeType.PARENSESIS;\n\t[1]: DScalarExpressionNode[];\n}\n\nexport interface DScalarExpressionNodeUnary {\n\t[0]: typeof DScalarExpressionNodeType.PLUS | typeof DScalarExpressionNodeType.MINUS;\n\t[1]: DScalarExpressionNode;\n}\n\nexport interface DScalarExpressionNodeArithmetic {\n\t[0]: DScalarExpressionNodeArithmeticOperator;\n\t[1]: DScalarExpressionNode;\n\t[2]: DScalarExpressionNode;\n}\n\nexport interface DScalarExpressionNodeFunction {\n\t[0]: typeof DScalarExpressionNodeType.MIN | typeof DScalarExpressionNodeType.MAX;\n\t[1]: DScalarExpressionNode[];\n}\n\nexport type DScalarExpressionNode =\n\t| DScalarExpressionNodeParensesis\n\t| DScalarExpressionNodeUnary\n\t| DScalarExpressionNodeArithmetic\n\t| DScalarExpressionNodeFunction\n\t| DScalarExpressionNodeLiteral;\n\n/**\n * Parser and evaluator of the scalar expressions like `100% - 50s`.\n *\n * Literals\n *\n * * x%: 0.01 * x * parent value\n * * xs: 0.01 * x * self value\n * * xp: 0.01 * x * padding value\n * * xc: 0.01 * x * current value\n *\n * Operators\n *\n * * `+`\n * * `-`\n * * `*`\n * * `/`\n * * `(` and `)`\n *\n * Functions\n *\n * * min( a, b, ... )\n * * max( a, b, ... )\n *\n * Examples\n *\n * * `90%`: 0.9 * parent value\n * * `50s`: 0.5 * self value\n * * `90% - 50s`: 0.9 * parent value - 0.5 * self value\n * * `90% - (50s + 100) * 2`: 0.9 * parent value - ( 0.5 * self value + 100 ) * 2\n */\nexport class DScalarExpression implements DScalar {\n\tprotected static TOKEN_REGEX = /(?:\\+|-|\\*|\\/|\\(|\\)|min|max|,|(?:\\d+(?:\\.\\d*)?[%psc]?))/g;\n\tprotected _node: DScalarExpressionNode;\n\n\tconstructor(expression: string) {\n\t\tconst nodes: DScalarExpressionNodeOrToken[] = this.toToken(expression);\n\t\tlet i = 0;\n\t\tdo {\n\t\t\ti = this.toParensesis(nodes, i);\n\t\t} while (i < nodes.length);\n\t\tthis.toUnary(nodes);\n\t\tthis.toArithmetic(nodes, DScalarExpressionNodeType.MUL, DScalarExpressionNodeType.DIV);\n\t\tthis.toArithmetic(nodes, DScalarExpressionNodeType.ADD, DScalarExpressionNodeType.SUB);\n\t\tif (nodes.length === 1) {\n\t\t\tconst node = nodes[0];\n\t\t\tif (!isNumber(node)) {\n\t\t\t\tthis._node = node as any;\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Failed to parse '${expression}'`);\n\t}\n\n\ttoParensesis(nodes: DScalarExpressionNodeOrToken[], ifrom: number): number {\n\t\tlet ito = nodes.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst inode = nodes[i];\n\t\t\tif (inode === DScalarExpressionNodeType.OPEN) {\n\t\t\t\tlet istart = i;\n\t\t\t\tlet nodeType: DScalarExpressionNodeType = DScalarExpressionNodeType.PARENSESIS;\n\t\t\t\tif (0 < i) {\n\t\t\t\t\tconst nodeTypePrev = nodes[i - 1];\n\t\t\t\t\tif (\n\t\t\t\t\t\tnodeTypePrev === DScalarExpressionNodeType.MIN ||\n\t\t\t\t\t\tnodeTypePrev === DScalarExpressionNodeType.MAX\n\t\t\t\t\t) {\n\t\t\t\t\t\tistart -= 1;\n\t\t\t\t\t\tnodeType = nodeTypePrev;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (let j = i + 1; j < ito; ++j) {\n\t\t\t\t\tconst jnode = nodes[j];\n\t\t\t\t\tif (jnode === DScalarExpressionNodeType.CLOSE) {\n\t\t\t\t\t\tnodes[istart] = [nodeType, this.toComma(nodes, i + 1, j)];\n\t\t\t\t\t\tnodes.splice(istart + 1, j - istart);\n\t\t\t\t\t\treturn istart + 1;\n\t\t\t\t\t} else if (jnode === DScalarExpressionNodeType.OPEN) {\n\t\t\t\t\t\tj = this.toParensesis(nodes, j) - 1;\n\t\t\t\t\t\tito = nodes.length;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthrow new Error(`Malformed parensesis`);\n\t\t\t}\n\t\t}\n\t\treturn ito;\n\t}\n\n\ttoCommaOf(\n\t\tnodes: DScalarExpressionNodeOrToken[],\n\t\tifrom: number,\n\t\tito: number\n\t): DScalarExpressionNodeOrToken {\n\t\tconst l = ito - ifrom;\n\t\tif (l <= 0) {\n\t\t\treturn [DScalarExpressionNodeType.NUMBER, 0];\n\t\t} else if (l <= 1) {\n\t\t\treturn nodes[ifrom];\n\t\t} else {\n\t\t\tconst operand: DScalarExpressionNodeOrToken[] = [];\n\t\t\tfor (let j = ifrom; j < ito; ++j) {\n\t\t\t\toperand.push(nodes[j]);\n\t\t\t}\n\t\t\treturn [DScalarExpressionNodeType.PARENSESIS, operand];\n\t\t}\n\t}\n\n\ttoComma(\n\t\tnodes: DScalarExpressionNodeOrToken[],\n\t\tifrom: number,\n\t\tito: number\n\t): DScalarExpressionNodeOrToken[] {\n\t\tlet result: DScalarExpressionNodeOrToken[] | null = null;\n\t\tlet iprev = ifrom;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (node === DScalarExpressionNodeType.COMMA) {\n\t\t\t\tresult = result || [];\n\t\t\t\tresult.push(this.toCommaOf(nodes, iprev, i));\n\t\t\t\tiprev = i + 1;\n\t\t\t}\n\t\t}\n\t\tif (iprev < ito) {\n\t\t\tif (result == null) {\n\t\t\t\tconst operand: DScalarExpressionNodeOrToken[] = [];\n\t\t\t\tfor (let i = iprev; i < ito; ++i) {\n\t\t\t\t\toperand.push(nodes[i]);\n\t\t\t\t}\n\t\t\t\treturn operand;\n\t\t\t} else {\n\t\t\t\tresult.push(this.toCommaOf(nodes, iprev, ito));\n\t\t\t}\n\t\t}\n\t\treturn result || [];\n\t}\n\n\ttoUnaryNode(node: DScalarExpressionNodeOrToken): void {\n\t\tif (!isNumber(node)) {\n\t\t\tif (\n\t\t\t\tnode[0] === DScalarExpressionNodeType.PARENSESIS ||\n\t\t\t\tnode[0] === DScalarExpressionNodeType.MIN ||\n\t\t\t\tnode[0] === DScalarExpressionNodeType.MAX\n\t\t\t) {\n\t\t\t\tthis.toUnary(node[1]);\n\t\t\t}\n\t\t}\n\t}\n\n\ttoUnary(nodes: DScalarExpressionNodeOrToken[]): void {\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (\n\t\t\t\tnode === DScalarExpressionNodeType.ADD_OR_PLUS ||\n\t\t\t\tnode === DScalarExpressionNodeType.SUB_OR_MINUS\n\t\t\t) {\n\t\t\t\tif (i <= 0 || isNumber(nodes[i - 1])) {\n\t\t\t\t\tif (i + 1 < imax && !isNumber(nodes[i + 1])) {\n\t\t\t\t\t\tconst operand = nodes.splice(i + 1, 1)[0];\n\t\t\t\t\t\tconst type =\n\t\t\t\t\t\t\tnode === DScalarExpressionNodeType.ADD_OR_PLUS\n\t\t\t\t\t\t\t\t? DScalarExpressionNodeType.PLUS\n\t\t\t\t\t\t\t\t: DScalarExpressionNodeType.MINUS;\n\t\t\t\t\t\tnodes[i] = [type, operand];\n\t\t\t\t\t\timax = nodes.length;\n\t\t\t\t\t\tthis.toUnaryNode(operand);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new Error(\"Malformed unary operator\");\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst type =\n\t\t\t\t\t\tnode === DScalarExpressionNodeType.ADD_OR_PLUS\n\t\t\t\t\t\t\t? DScalarExpressionNodeType.ADD\n\t\t\t\t\t\t\t: DScalarExpressionNodeType.SUB;\n\t\t\t\t\tnodes[i] = type;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.toUnaryNode(node);\n\t\t\t\timax = nodes.length;\n\t\t\t}\n\t\t}\n\t}\n\n\ttoArithmeticNode(\n\t\tnode: DScalarExpressionNodeOrToken,\n\t\toperatorA: DScalarExpressionNodeArithmeticOperator,\n\t\toperatorB: DScalarExpressionNodeArithmeticOperator\n\t): void {\n\t\tif (!isNumber(node)) {\n\t\t\tif (\n\t\t\t\tnode[0] === DScalarExpressionNodeType.PARENSESIS ||\n\t\t\t\tnode[0] === DScalarExpressionNodeType.MIN ||\n\t\t\t\tnode[0] === DScalarExpressionNodeType.MAX\n\t\t\t) {\n\t\t\t\tthis.toArithmetic(node[1], operatorA, operatorB);\n\t\t\t} else if (\n\t\t\t\tnode[0] === DScalarExpressionNodeType.PLUS ||\n\t\t\t\tnode[0] === DScalarExpressionNodeType.MINUS\n\t\t\t) {\n\t\t\t\tthis.toArithmeticNode(node[1], operatorA, operatorB);\n\t\t\t} else if (\n\t\t\t\tnode[0] === DScalarExpressionNodeType.ADD ||\n\t\t\t\tnode[0] === DScalarExpressionNodeType.SUB ||\n\t\t\t\tnode[0] === DScalarExpressionNodeType.MUL ||\n\t\t\t\tnode[0] === DScalarExpressionNodeType.DIV\n\t\t\t) {\n\t\t\t\tthis.toArithmeticNode(node[1], operatorA, operatorB);\n\t\t\t\tthis.toArithmeticNode(node[2], operatorA, operatorB);\n\t\t\t}\n\t\t}\n\t}\n\n\ttoArithmetic(\n\t\tnodes: DScalarExpressionNodeOrToken[],\n\t\toperatorA: DScalarExpressionNodeArithmeticOperator,\n\t\toperatorB: DScalarExpressionNodeArithmeticOperator\n\t): void {\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (node === operatorA || node === operatorB) {\n\t\t\t\tif (0 < i && i + 1 < imax) {\n\t\t\t\t\tconst left = nodes[i - 1];\n\t\t\t\t\tconst right = nodes[i + 1];\n\t\t\t\t\tif (!isNumber(left) && !isNumber(right)) {\n\t\t\t\t\t\tnodes.splice(i, 2);\n\t\t\t\t\t\tnodes[i - 1] = [node, left, right];\n\t\t\t\t\t\ti -= 1;\n\t\t\t\t\t\timax = nodes.length;\n\t\t\t\t\t\tthis.toArithmeticNode(left, operatorA, operatorB);\n\t\t\t\t\t\tthis.toArithmeticNode(right, operatorA, operatorB);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthrow new Error(`Malformed operands for the operator ${node}`);\n\t\t\t} else {\n\t\t\t\tthis.toArithmeticNode(node, operatorA, operatorB);\n\t\t\t\timax = nodes.length;\n\t\t\t}\n\t\t}\n\t}\n\n\ttoToken(expression: string): DScalarExpressionToken[] {\n\t\tconst tokens: DScalarExpressionToken[] = [];\n\t\twhile (true) {\n\t\t\tconst matched = DScalarExpression.TOKEN_REGEX.exec(expression);\n\t\t\tif (matched != null) {\n\t\t\t\tconst token = matched[0];\n\t\t\t\tconst tokenTypeOperator = this.toTokenOperator(token);\n\t\t\t\tif (tokenTypeOperator != null) {\n\t\t\t\t\ttokens.push(tokenTypeOperator);\n\t\t\t\t} else {\n\t\t\t\t\tconst parsedToken = parseFloat(token);\n\t\t\t\t\tif (parsedToken !== parsedToken) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Unexpected token '${token}' at ${matched.index} in '${expression}'`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst tokenTypeLiteral = this.toTokenLiteral(token);\n\t\t\t\t\tif (tokenTypeLiteral != null) {\n\t\t\t\t\t\ttokens.push([tokenTypeLiteral, parsedToken * 0.01]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttokens.push([DScalarExpressionNodeType.NUMBER, parsedToken]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn tokens;\n\t}\n\n\ttoTokenOperator(token: string): DScalarExpressionNodeTypeOperator | null {\n\t\tswitch (token) {\n\t\t\tcase \"+\":\n\t\t\t\treturn DScalarExpressionNodeType.ADD_OR_PLUS;\n\t\t\tcase \"-\":\n\t\t\t\treturn DScalarExpressionNodeType.SUB_OR_MINUS;\n\t\t\tcase \"*\":\n\t\t\t\treturn DScalarExpressionNodeType.MUL;\n\t\t\tcase \"/\":\n\t\t\t\treturn DScalarExpressionNodeType.DIV;\n\t\t\tcase \"(\":\n\t\t\t\treturn DScalarExpressionNodeType.OPEN;\n\t\t\tcase \")\":\n\t\t\t\treturn DScalarExpressionNodeType.CLOSE;\n\t\t\tcase \",\":\n\t\t\t\treturn DScalarExpressionNodeType.COMMA;\n\t\t\tcase \"min\":\n\t\t\t\treturn DScalarExpressionNodeType.MIN;\n\t\t\tcase \"max\":\n\t\t\t\treturn DScalarExpressionNodeType.MAX;\n\t\t}\n\t\treturn null;\n\t}\n\n\ttoTokenLiteral(token: string): DScalarExpressionNodeTypeLiteral | null {\n\t\tconst tokenLength = token.length;\n\t\tif (0 < tokenLength) {\n\t\t\tswitch (token[tokenLength - 1]) {\n\t\t\t\tcase \"%\":\n\t\t\t\t\treturn DScalarExpressionNodeType.PARENT;\n\t\t\t\tcase \"s\":\n\t\t\t\t\treturn DScalarExpressionNodeType.SELF;\n\t\t\t\tcase \"p\":\n\t\t\t\t\treturn DScalarExpressionNodeType.PADDING;\n\t\t\t\tcase \"c\":\n\t\t\t\t\treturn DScalarExpressionNodeType.CURRENT;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected evaluate(\n\t\tnode: DScalarExpressionNode,\n\t\tparent: number,\n\t\tself: number,\n\t\tpadding: number,\n\t\tcurrent: number\n\t): number {\n\t\tswitch (node[0]) {\n\t\t\tcase DScalarExpressionNodeType.PARENSESIS:\n\t\t\t\tconst nodes = node[1];\n\t\t\t\treturn this.evaluate(nodes[nodes.length - 1], parent, self, padding, current);\n\n\t\t\t// Unary operators\n\t\t\tcase DScalarExpressionNodeType.PLUS:\n\t\t\t\treturn +this.evaluate(node[1], parent, self, padding, current);\n\n\t\t\tcase DScalarExpressionNodeType.MINUS:\n\t\t\t\treturn -this.evaluate(node[1], parent, self, padding, current);\n\n\t\t\t// Four arithmetic operators\n\t\t\tcase DScalarExpressionNodeType.ADD:\n\t\t\t\treturn (\n\t\t\t\t\tthis.evaluate(node[1], parent, self, padding, current) +\n\t\t\t\t\tthis.evaluate(node[2], parent, self, padding, current)\n\t\t\t\t);\n\t\t\tcase DScalarExpressionNodeType.SUB:\n\t\t\t\treturn (\n\t\t\t\t\tthis.evaluate(node[1], parent, self, padding, current) -\n\t\t\t\t\tthis.evaluate(node[2], parent, self, padding, current)\n\t\t\t\t);\n\t\t\tcase DScalarExpressionNodeType.MUL:\n\t\t\t\treturn (\n\t\t\t\t\tthis.evaluate(node[1], parent, self, padding, current) *\n\t\t\t\t\tthis.evaluate(node[2], parent, self, padding, current)\n\t\t\t\t);\n\t\t\tcase DScalarExpressionNodeType.DIV:\n\t\t\t\treturn (\n\t\t\t\t\tthis.evaluate(node[1], parent, self, padding, current) /\n\t\t\t\t\tthis.evaluate(node[2], parent, self, padding, current)\n\t\t\t\t);\n\n\t\t\t// Functions\n\t\t\tcase DScalarExpressionNodeType.MIN:\n\t\t\t\tif (0 < node[1].length) {\n\t\t\t\t\tconst args = node[1];\n\t\t\t\t\tlet result = this.evaluate(args[0], parent, self, padding, current);\n\t\t\t\t\tfor (let i = 1, imax = args.length; i < imax; ++i) {\n\t\t\t\t\t\tresult = Math.min(\n\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\tthis.evaluate(args[i], parent, self, padding, current)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\tcase DScalarExpressionNodeType.MAX:\n\t\t\t\tif (0 < node[1].length) {\n\t\t\t\t\tconst args = node[1];\n\t\t\t\t\tlet result = this.evaluate(args[0], parent, self, padding, current);\n\t\t\t\t\tfor (let i = 1, imax = args.length; i < imax; ++i) {\n\t\t\t\t\t\tresult = Math.max(\n\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\tthis.evaluate(args[i], parent, self, padding, current)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\n\t\t\t// Literals\n\t\t\tcase DScalarExpressionNodeType.PARENT:\n\t\t\t\treturn node[1] * parent;\n\t\t\tcase DScalarExpressionNodeType.SELF:\n\t\t\t\treturn node[1] * self;\n\t\t\tcase DScalarExpressionNodeType.PADDING:\n\t\t\t\treturn node[1] * padding;\n\t\t\tcase DScalarExpressionNodeType.CURRENT:\n\t\t\t\treturn node[1] * current;\n\t\t\tcase DScalarExpressionNodeType.NUMBER:\n\t\t\t\treturn node[1];\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\tcalculate(parent: number, self: number, padding: number, current: number): number {\n\t\treturn this.evaluate(this._node, parent, self, padding, current);\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-data-list-filter.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list-filter.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQhD;IAA+C,wCAAkB;IAShE,8BAAY,MAAuC;QAAnD,YACC,iBAAO,SAUP;QARA,KAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,KAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QACrB,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAEpB,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;IACvB,CAAC;IAED,sBAAI,oCAAE;aAAN;YACC,OAAO,IAAI,CAAC,GAAG,CAAC;QACjB,CAAC;;;OAAA;IAED,oCAAK,GAAL;QACC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,sCAAO,GAAP;QACC,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;SACtB;IACF,CAAC;IAED,wCAAS,GAAT;QACC,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAES,0CAAW,GAArB;QACC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,IAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAM,QAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAM,MAAM,GAAG,QAAM,CAAC,MAAM,CAAC;YAC7B,IAAM,IAAI,GAAG,QAAM,CAAC,IAAI,CAAC;YACzB,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;gBACvB,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;gBACrC,IAAI,aAAa,EAAE;oBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;wBAC3D,IAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wBACrC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,EAAE;4BAC3C,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBACjB;qBACD;iBACD;qBAAM;oBACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;wBAClD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;4BACvB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBACjB;qBACD;iBACD;aACD;iBAAM;gBACN,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;gBACrC,IAAI,aAAa,EAAE;oBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;wBAC3D,IAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wBACrC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,EAAE;4BAChD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBACjB;qBACD;iBACD;qBAAM;oBACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;wBAClD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;4BAC5B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBACjB;qBACD;iBACD;aACD;YACD,OAAO,QAAQ,CAAC;SAChB;aAAM;YACN,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAED,kCAAG,GAAH;QACC,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,kCAAG,GAAH,UAAI,MAAsC;QACzC,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;SACtB;IACF,CAAC;IAED,sCAAO,GAAP;QACC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACf,CAAC;IAED,qCAAM,GAAN;QACC,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE;YAC9E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aAC1B;iBAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;gBAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aAC1B;SACD;IACF,CAAC;IAED,sBAAI,yCAAO;aAAX;YACC,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,kCAAG,GAAH,UAAI,WAAmB;QACtB,IAAI,MAAM,GAAG,WAAW,CAAC;QAEzB,IAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,eAAe,EAAE;YACpB,IAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,KAAK,EAAE;gBACf,MAAM,GAAG,KAAK,CAAC;aACf;iBAAM;gBACN,OAAO,IAAI,CAAC;aACZ;SACD;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAED,oCAAK,GAAL,UAAM,KAAa;QAClB,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,IAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,eAAe,EAAE;YACpB,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IACF,2BAAC;AAAD,CAAC,AArJD,CAA+C,KAAK,CAAC,YAAY,GAqJhE","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport { DTableDataSorter } from \"./d-table-data-sorter\";\nimport { isFunction } from \"./util/is-function\";\n\
|
|
1
|
+
{"version":3,"file":"d-table-data-list-filter.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list-filter.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 { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport { DTableDataSorter } from \"./d-table-data-sorter\";\nimport { isFunction } from \"./util/is-function\";\n\nexport interface DTableDataListFilterParent<ROW> {\n\treadonly sorter: DTableDataSorter<ROW>;\n\treadonly rows: ROW[];\n\tupdate(): void;\n}\n\nexport class DTableDataListFilter<ROW> extends utils.EventEmitter implements DTableDataFilter<ROW> {\n\tprotected _id: number;\n\tprotected _idUpdated: number;\n\tprotected _isApplied: boolean;\n\tprotected _sorterId: number;\n\tprotected _parent: DTableDataListFilterParent<ROW>;\n\tprotected _filter: DTableDataFilterer<ROW> | null;\n\tprotected _filtered: number[] | null;\n\n\tconstructor(parent: DTableDataListFilterParent<ROW>) {\n\t\tsuper();\n\n\t\tthis._id = 0;\n\t\tthis._idUpdated = -1;\n\t\tthis._isApplied = false;\n\t\tthis._sorterId = -1;\n\n\t\tthis._parent = parent;\n\t\tthis._filter = null;\n\t\tthis._filtered = null;\n\t}\n\n\tget id(): number {\n\t\treturn this._id;\n\t}\n\n\tapply(): void {\n\t\tthis._isApplied = true;\n\t\tthis._id += 1;\n\t\tthis._parent.update();\n\t}\n\n\tunapply(): void {\n\t\tif (this._isApplied) {\n\t\t\tthis._isApplied = false;\n\t\t\tthis._id += 1;\n\t\t\tthis._parent.update();\n\t\t}\n\t}\n\n\tisApplied(): boolean {\n\t\treturn this._isApplied;\n\t}\n\n\tprotected newFiltered(): number[] | null {\n\t\tconst filter = this._filter;\n\t\tif (filter != null) {\n\t\t\tconst filtered: number[] = [];\n\t\t\tconst parent = this._parent;\n\t\t\tconst sorter = parent.sorter;\n\t\t\tconst rows = parent.rows;\n\t\t\tif (isFunction(filter)) {\n\t\t\t\tconst indicesSorted = sorter.indices;\n\t\t\t\tif (indicesSorted) {\n\t\t\t\t\tfor (let i = 0, imax = indicesSorted.length; i < imax; ++i) {\n\t\t\t\t\t\tconst indexSorted = indicesSorted[i];\n\t\t\t\t\t\tif (filter(rows[indexSorted], indexSorted)) {\n\t\t\t\t\t\t\tfiltered.push(i);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0, imax = rows.length; i < imax; ++i) {\n\t\t\t\t\t\tif (filter(rows[i], i)) {\n\t\t\t\t\t\t\tfiltered.push(i);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst indicesSorted = sorter.indices;\n\t\t\t\tif (indicesSorted) {\n\t\t\t\t\tfor (let i = 0, imax = indicesSorted.length; i < imax; ++i) {\n\t\t\t\t\t\tconst indexSorted = indicesSorted[i];\n\t\t\t\t\t\tif (filter.test(rows[indexSorted], indexSorted)) {\n\t\t\t\t\t\t\tfiltered.push(i);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0, imax = rows.length; i < imax; ++i) {\n\t\t\t\t\t\tif (filter.test(rows[i], i)) {\n\t\t\t\t\t\t\tfiltered.push(i);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn filtered;\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tget(): DTableDataFilterer<ROW> | null {\n\t\treturn this._filter;\n\t}\n\n\tset(filter: DTableDataFilterer<ROW> | null): void {\n\t\tif (this._filter !== filter) {\n\t\t\tthis._filter = filter;\n\t\t}\n\t}\n\n\ttoDirty(): void {\n\t\tthis._id += 1;\n\t}\n\n\tupdate(): void {\n\t\tif (this._id !== this._idUpdated || this._parent.sorter.id !== this._sorterId) {\n\t\t\tthis._idUpdated = this._id;\n\t\t\tthis._sorterId = this._parent.sorter.id;\n\t\t\tif (this._isApplied) {\n\t\t\t\tthis._filtered = this.newFiltered();\n\t\t\t\tthis.emit(\"change\", this);\n\t\t\t} else if (this._filtered != null) {\n\t\t\t\tthis._filtered = null;\n\t\t\t\tthis.emit(\"change\", this);\n\t\t\t}\n\t\t}\n\t}\n\n\tget indices(): number[] | null {\n\t\tthis.update();\n\t\treturn this._filtered;\n\t}\n\n\tmap(sortedIndex: number): number | null {\n\t\tlet result = sortedIndex;\n\n\t\tconst indicesFiltered = this.indices;\n\t\tif (indicesFiltered) {\n\t\t\tconst index = indicesFiltered.indexOf(result);\n\t\t\tif (0 <= index) {\n\t\t\t\tresult = index;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tunmap(index: number): number {\n\t\tlet result = index;\n\n\t\tconst indicesFiltered = this.indices;\n\t\tif (indicesFiltered) {\n\t\t\tresult = indicesFiltered[result];\n\t\t}\n\n\t\treturn result;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-data-list-selection.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list-selection.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 {\n\tDTableDataSelection,\n\tDTableDataSelectionOptions,\n\tDTableDataSelectionParent,\n\tDTableDataSelectionType\n} from \"./d-table-data-selection\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst COMPARATOR = (a: [number, unknown], b: [number, unknown]): number => {\n\treturn a[0] - b[0];\n};\n\nexport class DTableDataListSelection<ROW>\n\textends utils.EventEmitter\n\timplements DTableDataSelection<ROW>\n{\n\tprotected _parent: DTableDataSelectionParent<ROW>;\n\tprotected _type: DTableDataSelectionType;\n\tprotected _indices: Set<number>;\n\n\tconstructor(parent: DTableDataSelectionParent<ROW>, options?: DTableDataSelectionOptions) {\n\t\tsuper();\n\n\t\tthis._parent = parent;\n\t\tthis._type = toEnum(options?.type ?? DTableDataSelectionType.NONE, DTableDataSelectionType);\n\t\tthis._indices = new Set<number>();\n\t}\n\n\tget type(): DTableDataSelectionType {\n\t\treturn this._type;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\ttoggle(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tif (indices.has(rowIndex)) {\n\t\t\tindices.delete(rowIndex);\n\t\t} else {\n\t\t\tindices.add(rowIndex);\n\t\t}\n\t\tthis.onChange();\n\t}\n\n\tadd(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tindices.add(rowIndex);\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tget first(): number | null {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tlet result: number = NaN;\n\t\t\tindices.forEach((index: number): void => {\n\t\t\t\tif (result !== result) {\n\t\t\t\t\tresult = index;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): number | null {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tlet result: number = 0;\n\t\t\tindices.forEach((index: number): void => {\n\t\t\t\tresult = index;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\taddTo(rowIndex: number): void {\n\t\tconst lastRowIndex = this.last;\n\t\tif (lastRowIndex != null) {\n\t\t\tthis.addRange(lastRowIndex, false, rowIndex, true);\n\t\t}\n\t}\n\n\taddRange(from: number, includeFrom: boolean, to: number, includeTo: boolean): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tif (from < to) {\n\t\t\tconst ifrom = from + (includeFrom ? 0 : 1);\n\t\t\tconst ito = to + (includeTo ? 1 : 0);\n\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\tindices.add(i);\n\t\t\t}\n\t\t} else {\n\t\t\tconst ifrom = to + (includeTo ? 0 : 1);\n\t\t\tconst ito = from + (includeFrom ? 1 : 0);\n\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\tindices.add(i);\n\t\t\t}\n\t\t}\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\taddAll(rowIndices: number[]): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\tindices.add(rowIndices[i]);\n\t\t}\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tcontains(rowIndex: number): boolean {\n\t\treturn this._indices.has(rowIndex);\n\t}\n\n\tremove(rowIndex: number): void {\n\t\tif (this._indices.delete(rowIndex)) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tindices.clear();\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAdd(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tif (!indices.has(rowIndex) || indices.size !== 1) {\n\t\t\tindices.clear();\n\t\t\tindices.add(rowIndex);\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAddAll(rowIndices: number[]): void {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size || 0 < rowIndices.length) {\n\t\t\tindices.clear();\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tindices.add(rowIndices[i]);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tshift(rowIndex: number, amount: number): void {\n\t\tconst shifted: number[] = [];\n\t\tconst indices = this._indices;\n\t\tindices.forEach((index: number): void => {\n\t\t\tif (rowIndex <= index) {\n\t\t\t\tshifted.push(index);\n\t\t\t}\n\t\t});\n\t\tconst shiftedLength = shifted.length;\n\t\tif (0 < shiftedLength) {\n\t\t\tfor (let i = 0, imax = shifted.length; i < imax; ++i) {\n\t\t\t\tindices.delete(shifted[i]);\n\t\t\t}\n\t\t\tfor (let i = 0, imax = shifted.length; i < imax; ++i) {\n\t\t\t\tindices.add(shifted[i] + amount);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this._indices.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._indices.size === 0;\n\t}\n\n\t/**\n\t * Returns a copy of an index array of selected rows.\n\t * The order of indices is an insertion order.\n\t */\n\tget indices(): number[] {\n\t\tconst result: number[] = [];\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push(index);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns a copy of an array of selected row value.\n\t * The order is an insertion order.\n\t */\n\tget rows(): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push(parent.get(index)!);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns an array of the (index, row value) pairs of selected rows.\n\t * The order of pairs is an insertion order.\n\t */\n\ttoArray(): Array<[number, ROW]> {\n\t\tconst result: Array<[number, ROW]> = [];\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push([index, parent.get(index)!]);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns an sorted array of the (index, row value) pairs of selected rows.\n\t */\n\ttoSortedArray(): Array<[number, ROW]> {\n\t\treturn this.toArray().sort(COMPARATOR);\n\t}\n\n\ttoObject(): { [index: number]: ROW } {\n\t\tconst result: { [index: number]: ROW } = {};\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult[index] = parent.get(index)!;\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoMap(): Map<number, ROW> {\n\t\tconst result: Map<number, ROW> = new Map<number, ROW>();\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.set(index, parent.get(index)!);\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-table-data-list-selection.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list-selection.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 {\n\tDTableDataSelection,\n\tDTableDataSelectionOptions,\n\tDTableDataSelectionParent,\n\tDTableDataSelectionType\n} from \"./d-table-data-selection\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst COMPARATOR = (a: [number, unknown], b: [number, unknown]): number => {\n\treturn a[0] - b[0];\n};\n\nexport class DTableDataListSelection<ROW>\n\textends utils.EventEmitter\n\timplements DTableDataSelection<ROW>\n{\n\tprotected _parent: DTableDataSelectionParent<ROW>;\n\tprotected _type: DTableDataSelectionType;\n\tprotected _indices: Set<number>;\n\n\tconstructor(parent: DTableDataSelectionParent<ROW>, options?: DTableDataSelectionOptions) {\n\t\tsuper();\n\n\t\tthis._parent = parent;\n\t\tthis._type = toEnum(options?.type ?? DTableDataSelectionType.NONE, DTableDataSelectionType);\n\t\tthis._indices = new Set<number>();\n\t}\n\n\tget type(): DTableDataSelectionType {\n\t\treturn this._type;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\ttoggle(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tif (indices.has(rowIndex)) {\n\t\t\tindices.delete(rowIndex);\n\t\t} else {\n\t\t\tindices.add(rowIndex);\n\t\t}\n\t\tthis.onChange();\n\t}\n\n\tadd(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tindices.add(rowIndex);\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tget first(): number | null {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tlet result: number = NaN;\n\t\t\tindices.forEach((index: number): void => {\n\t\t\t\tif (result !== result) {\n\t\t\t\t\tresult = index;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): number | null {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tlet result: number = 0;\n\t\t\tindices.forEach((index: number): void => {\n\t\t\t\tresult = index;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\taddTo(rowIndex: number): void {\n\t\tconst lastRowIndex = this.last;\n\t\tif (lastRowIndex != null) {\n\t\t\tthis.addRange(lastRowIndex, false, rowIndex, true);\n\t\t}\n\t}\n\n\taddRange(from: number, includeFrom: boolean, to: number, includeTo: boolean): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tif (from < to) {\n\t\t\tconst ifrom = from + (includeFrom ? 0 : 1);\n\t\t\tconst ito = to + (includeTo ? 1 : 0);\n\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\tindices.add(i);\n\t\t\t}\n\t\t} else {\n\t\t\tconst ifrom = to + (includeTo ? 0 : 1);\n\t\t\tconst ito = from + (includeFrom ? 1 : 0);\n\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\tindices.add(i);\n\t\t\t}\n\t\t}\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\taddAll(rowIndices: number[]): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\tindices.add(rowIndices[i]);\n\t\t}\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tcontains(rowIndex: number): boolean {\n\t\treturn this._indices.has(rowIndex);\n\t}\n\n\tremove(rowIndex: number): void {\n\t\tif (this._indices.delete(rowIndex)) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tindices.clear();\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAdd(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tif (!indices.has(rowIndex) || indices.size !== 1) {\n\t\t\tindices.clear();\n\t\t\tindices.add(rowIndex);\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAddAll(rowIndices: number[]): void {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size || 0 < rowIndices.length) {\n\t\t\tindices.clear();\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tindices.add(rowIndices[i]);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tshift(rowIndex: number, amount: number): void {\n\t\tconst shifted: number[] = [];\n\t\tconst indices = this._indices;\n\t\tindices.forEach((index: number): void => {\n\t\t\tif (rowIndex <= index) {\n\t\t\t\tshifted.push(index);\n\t\t\t}\n\t\t});\n\t\tconst shiftedLength = shifted.length;\n\t\tif (0 < shiftedLength) {\n\t\t\tfor (let i = 0, imax = shifted.length; i < imax; ++i) {\n\t\t\t\tindices.delete(shifted[i]);\n\t\t\t}\n\t\t\tfor (let i = 0, imax = shifted.length; i < imax; ++i) {\n\t\t\t\tindices.add(shifted[i] + amount);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this._indices.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._indices.size === 0;\n\t}\n\n\t/**\n\t * Returns a copy of an index array of selected rows.\n\t * The order of indices is an insertion order.\n\t */\n\tget indices(): number[] {\n\t\tconst result: number[] = [];\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push(index);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns a copy of an array of selected row value.\n\t * The order is an insertion order.\n\t */\n\tget rows(): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push(parent.get(index)!);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns an array of the (index, row value) pairs of selected rows.\n\t * The order of pairs is an insertion order.\n\t */\n\ttoArray(): Array<[number, ROW]> {\n\t\tconst result: Array<[number, ROW]> = [];\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push([index, parent.get(index)!]);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns an sorted array of the (index, row value) pairs of selected rows.\n\t */\n\ttoSortedArray(): Array<[number, ROW]> {\n\t\treturn this.toArray().sort(COMPARATOR);\n\t}\n\n\ttoObject(): Record<number, ROW> {\n\t\tconst result: Record<number, ROW> = {};\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult[index] = parent.get(index)!;\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoMap(): Map<number, ROW> {\n\t\tconst result: Map<number, ROW> = new Map<number, ROW>();\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.set(index, parent.get(index)!);\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-data-selection.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-selection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,CAAC,IAAM,uBAAuB,GAAG;IACtC,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;CACF,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableData } from \"./d-table-data\";\n\nexport const DTableDataSelectionType = {\n\tNONE: 0,\n\tSINGLE: 1,\n\tMULTIPLE: 2\n} as const;\n\nexport type DTableDataSelectionType =\n\ttypeof DTableDataSelectionType[keyof typeof DTableDataSelectionType];\n\nexport interface DTableDataSelectionOptions {\n\ttype?: keyof typeof DTableDataSelectionType | DTableDataSelectionType;\n}\n\nexport interface DTableDataSelection<ROW> extends utils.EventEmitter {\n\t/**\n\t * Returns a copy of an index array of selected rows.\n\t * The order of indices is an insertion order.\n\t */\n\treadonly indices: number[];\n\n\t/**\n\t * Returns a copy of an array of selected row value.\n\t * The order is an insertion order.\n\t */\n\treadonly rows: ROW[];\n\n\treadonly type: DTableDataSelectionType;\n\n\treadonly first: number | null;\n\treadonly last: number | null;\n\n\ttoggle(rowIndex: number): void;\n\tadd(rowIndex: number): void;\n\taddTo(rowIndex: number): void;\n\taddRange(from: number, includeFrom: boolean, to: number, includeTo: boolean): void;\n\taddAll(rowIndices: number[]): void;\n\tcontains(rowIndex: number): boolean;\n\tremove(rowIndex: number): void;\n\tclear(): void;\n\tclearAndAdd(rowIndex: number): void;\n\tclearAndAddAll(rowIndices: number[]): void;\n\tshift(rowIndex: number, amount: number): void;\n\tsize(): number;\n\tisEmpty(): boolean;\n\n\t/**\n\t * Returns an array of the (index, row value) pairs of selected rows.\n\t * The order of pairs is an insertion order.\n\t */\n\ttoArray(): Array<[number, ROW]>;\n\n\t/**\n\t * Returns an sorted array of the (index, row value) pairs of selected rows.\n\t */\n\ttoSortedArray(): Array<[number, ROW]>;\n\n\ttoObject():
|
|
1
|
+
{"version":3,"file":"d-table-data-selection.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-selection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,CAAC,IAAM,uBAAuB,GAAG;IACtC,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;CACF,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableData } from \"./d-table-data\";\n\nexport const DTableDataSelectionType = {\n\tNONE: 0,\n\tSINGLE: 1,\n\tMULTIPLE: 2\n} as const;\n\nexport type DTableDataSelectionType =\n\ttypeof DTableDataSelectionType[keyof typeof DTableDataSelectionType];\n\nexport interface DTableDataSelectionOptions {\n\ttype?: keyof typeof DTableDataSelectionType | DTableDataSelectionType;\n}\n\nexport interface DTableDataSelection<ROW> extends utils.EventEmitter {\n\t/**\n\t * Returns a copy of an index array of selected rows.\n\t * The order of indices is an insertion order.\n\t */\n\treadonly indices: number[];\n\n\t/**\n\t * Returns a copy of an array of selected row value.\n\t * The order is an insertion order.\n\t */\n\treadonly rows: ROW[];\n\n\treadonly type: DTableDataSelectionType;\n\n\treadonly first: number | null;\n\treadonly last: number | null;\n\n\ttoggle(rowIndex: number): void;\n\tadd(rowIndex: number): void;\n\taddTo(rowIndex: number): void;\n\taddRange(from: number, includeFrom: boolean, to: number, includeTo: boolean): void;\n\taddAll(rowIndices: number[]): void;\n\tcontains(rowIndex: number): boolean;\n\tremove(rowIndex: number): void;\n\tclear(): void;\n\tclearAndAdd(rowIndex: number): void;\n\tclearAndAddAll(rowIndices: number[]): void;\n\tshift(rowIndex: number, amount: number): void;\n\tsize(): number;\n\tisEmpty(): boolean;\n\n\t/**\n\t * Returns an array of the (index, row value) pairs of selected rows.\n\t * The order of pairs is an insertion order.\n\t */\n\ttoArray(): Array<[number, ROW]>;\n\n\t/**\n\t * Returns an sorted array of the (index, row value) pairs of selected rows.\n\t */\n\ttoSortedArray(): Array<[number, ROW]>;\n\n\ttoObject(): Record<number, ROW>;\n\n\ttoMap(): Map<number, ROW>;\n}\n\nexport interface DTableDataSelectionParent<ROW> extends DTableData<ROW> {\n\tupdate(): void;\n}\n\nexport type DTableDataSelectionCreator<NODE> = (\n\tparent: DTableDataSelectionParent<NODE>\n) => DTableDataSelection<NODE>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-data-tree-filter.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree-filter.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 { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport { DTableDataTreeNode } from \"./d-table-data-tree-item\";\nimport { DTableDataTreeItemAccessor } from \"./d-table-data-tree-item-accessor\";\nimport { isFunction } from \"./util/is-function\";\n\ninterface DTableDataTreeFilterParent<NODE> {\n\treadonly nodes: NODE[] | undefined;\n\treadonly accessor: DTableDataTreeItemAccessor<NODE>;\n\tisOpened(node: NODE): boolean;\n\tupdate(): void;\n}\n\nexport class DTableDataTreeFilter<NODE extends DTableDataTreeNode<NODE, NODE>>\n\textends utils.EventEmitter\n\timplements DTableDataFilter<NODE>\n{\n\tprotected _id: number;\n\tprotected _idUpdated: number;\n\tprotected _isApplied: boolean;\n\tprotected _parent: DTableDataTreeFilterParent<NODE>;\n\tprotected _filter: DTableDataFilterer<NODE> | null;\n\tprotected _filtered: number[] | null;\n\n\tconstructor(parent: DTableDataTreeFilterParent<NODE>) {\n\t\tsuper();\n\n\t\tthis._id = 0;\n\t\tthis._idUpdated = -1;\n\t\tthis._isApplied = false;\n\n\t\tthis._parent = parent;\n\t\tthis._filter = null;\n\t\tthis._filtered = null;\n\t}\n\n\tget id(): number {\n\t\treturn this._id;\n\t}\n\n\tapply(): void {\n\t\tthis._isApplied = true;\n\t\tthis._id += 1;\n\t\tthis._parent.update();\n\t}\n\n\tunapply(): void {\n\t\tif (this._isApplied) {\n\t\t\tthis._isApplied = false;\n\t\t\tthis._id += 1;\n\t\t\tthis._parent.update();\n\t\t}\n\t}\n\n\tisApplied(): boolean {\n\t\treturn this._isApplied;\n\t}\n\n\tprotected isFiltered(node: NODE, index: number, filter: DTableDataFilterer<NODE>): boolean {\n\t\tif (isFunction(filter)) {\n\t\t\treturn filter(node, index);\n\t\t} else {\n\t\t\treturn filter.test(node, index);\n\t\t}\n\t}\n\n\tprotected hasFiltered(\n\t\tparent: DTableDataTreeFilterParent<NODE>,\n\t\tnodes: NODE[],\n\t\tfilter: DTableDataFilterer<NODE>\n\t): boolean {\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (this.isFiltered(node, -1, filter)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tconst children = toChildren(node);\n\t\t\tif (\n\t\t\t\tchildren != null &&\n\t\t\t\t0 < children.length &&\n\t\t\t\tthis.hasFiltered(parent, children, filter)\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected addAllToFiltered(\n\t\tparent: DTableDataTreeFilterParent<NODE>,\n\t\tnodes: NODE[],\n\t\tfiltered: number[],\n\t\tcursor: [number]\n\t): void {\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tfiltered.push(cursor[0]);\n\t\t\tcursor[0] += 1;\n\t\t\tconst children = toChildren(node);\n\t\t\tif (children != null && 0 < children.length && parent.isOpened(node)) {\n\t\t\t\tthis.addAllToFiltered(parent, children, filtered, cursor);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected newFilteredSub(\n\t\tparent: DTableDataTreeFilterParent<NODE>,\n\t\tnodes: NODE[],\n\t\tfilter: DTableDataFilterer<NODE>,\n\t\tfiltered: number[],\n\t\tcursor: [number]\n\t): boolean {\n\t\tlet result = false;\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst index = cursor[0];\n\t\t\tcursor[0] += 1;\n\t\t\tconst isFiltered = this.isFiltered(node, index, filter);\n\t\t\tconst children = toChildren(node);\n\t\t\tif (children != null && 0 < children.length) {\n\t\t\t\tif (parent.isOpened(node)) {\n\t\t\t\t\tif (isFiltered) {\n\t\t\t\t\t\tfiltered.push(index);\n\t\t\t\t\t\tresult = true;\n\t\t\t\t\t\tthis.addAllToFiltered(parent, children, filtered, cursor);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst position = filtered.length;\n\t\t\t\t\t\tif (this.newFilteredSub(parent, children, filter, filtered, cursor)) {\n\t\t\t\t\t\t\tfiltered.splice(position, 0, index);\n\t\t\t\t\t\t\tresult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (isFiltered || this.hasFiltered(parent, children, filter)) {\n\t\t\t\t\tfiltered.push(index);\n\t\t\t\t\tresult = true;\n\t\t\t\t}\n\t\t\t} else if (isFiltered) {\n\t\t\t\tfiltered.push(index);\n\t\t\t\tresult = true;\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newFiltered(): number[] | null {\n\t\tconst filter = this._filter;\n\t\tif (filter != null) {\n\t\t\tconst filtered: number[] = [];\n\t\t\tconst parent = this._parent;\n\t\t\tconst nodes = parent.nodes;\n\t\t\tif (nodes) {\n\t\t\t\tconst cursor: [number] = [0];\n\t\t\t\tthis.newFilteredSub(parent, nodes, filter, filtered, cursor);\n\t\t\t}\n\t\t\treturn filtered;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget(): DTableDataFilterer<NODE> | null {\n\t\treturn this._filter;\n\t}\n\n\tset(filter: DTableDataFilterer<NODE> | null): void {\n\t\tif (this._filter !== filter) {\n\t\t\tthis._filter = filter;\n\t\t}\n\t}\n\n\ttoDirty(): void {\n\t\tthis._id += 1;\n\t}\n\n\tupdate(): void {\n\t\tif (this._id !== this._idUpdated) {\n\t\t\tthis._idUpdated = this._id;\n\t\t\tif (this._isApplied) {\n\t\t\t\tthis._filtered = this.newFiltered();\n\t\t\t\tthis.emit(\"change\", this);\n\t\t\t} else if (this._filtered != null) {\n\t\t\t\tthis._filtered = null;\n\t\t\t\tthis.emit(\"change\", this);\n\t\t\t}\n\t\t}\n\t}\n\n\tget indices(): number[] | null {\n\t\tthis.update();\n\t\treturn this._filtered;\n\t}\n\n\tmap(sortedIndex: number): number | null {\n\t\tlet result = sortedIndex;\n\n\t\tconst indices = this.indices;\n\t\tif (indices) {\n\t\t\tconst index = indices.indexOf(result);\n\t\t\tif (0 <= index) {\n\t\t\t\tresult = index;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tunmap(index: number): number {\n\t\tlet result = index;\n\n\t\tconst indices = this.indices;\n\t\tif (indices) {\n\t\t\tresult = indices[result];\n\t\t}\n\n\t\treturn result;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-table-data-tree-filter.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree-filter.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 { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport { DTableDataTreeNode } from \"./d-table-data-tree-item\";\nimport { DTableDataTreeItemAccessor } from \"./d-table-data-tree-item-accessor\";\nimport { isFunction } from \"./util/is-function\";\n\nexport interface DTableDataTreeFilterParent<NODE> {\n\treadonly nodes: NODE[] | undefined;\n\treadonly accessor: DTableDataTreeItemAccessor<NODE>;\n\tisOpened(node: NODE): boolean;\n\tupdate(): void;\n}\n\nexport class DTableDataTreeFilter<NODE extends DTableDataTreeNode<NODE, NODE>>\n\textends utils.EventEmitter\n\timplements DTableDataFilter<NODE>\n{\n\tprotected _id: number;\n\tprotected _idUpdated: number;\n\tprotected _isApplied: boolean;\n\tprotected _parent: DTableDataTreeFilterParent<NODE>;\n\tprotected _filter: DTableDataFilterer<NODE> | null;\n\tprotected _filtered: number[] | null;\n\n\tconstructor(parent: DTableDataTreeFilterParent<NODE>) {\n\t\tsuper();\n\n\t\tthis._id = 0;\n\t\tthis._idUpdated = -1;\n\t\tthis._isApplied = false;\n\n\t\tthis._parent = parent;\n\t\tthis._filter = null;\n\t\tthis._filtered = null;\n\t}\n\n\tget id(): number {\n\t\treturn this._id;\n\t}\n\n\tapply(): void {\n\t\tthis._isApplied = true;\n\t\tthis._id += 1;\n\t\tthis._parent.update();\n\t}\n\n\tunapply(): void {\n\t\tif (this._isApplied) {\n\t\t\tthis._isApplied = false;\n\t\t\tthis._id += 1;\n\t\t\tthis._parent.update();\n\t\t}\n\t}\n\n\tisApplied(): boolean {\n\t\treturn this._isApplied;\n\t}\n\n\tprotected isFiltered(node: NODE, index: number, filter: DTableDataFilterer<NODE>): boolean {\n\t\tif (isFunction(filter)) {\n\t\t\treturn filter(node, index);\n\t\t} else {\n\t\t\treturn filter.test(node, index);\n\t\t}\n\t}\n\n\tprotected hasFiltered(\n\t\tparent: DTableDataTreeFilterParent<NODE>,\n\t\tnodes: NODE[],\n\t\tfilter: DTableDataFilterer<NODE>\n\t): boolean {\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (this.isFiltered(node, -1, filter)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tconst children = toChildren(node);\n\t\t\tif (\n\t\t\t\tchildren != null &&\n\t\t\t\t0 < children.length &&\n\t\t\t\tthis.hasFiltered(parent, children, filter)\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected addAllToFiltered(\n\t\tparent: DTableDataTreeFilterParent<NODE>,\n\t\tnodes: NODE[],\n\t\tfiltered: number[],\n\t\tcursor: [number]\n\t): void {\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tfiltered.push(cursor[0]);\n\t\t\tcursor[0] += 1;\n\t\t\tconst children = toChildren(node);\n\t\t\tif (children != null && 0 < children.length && parent.isOpened(node)) {\n\t\t\t\tthis.addAllToFiltered(parent, children, filtered, cursor);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected newFilteredSub(\n\t\tparent: DTableDataTreeFilterParent<NODE>,\n\t\tnodes: NODE[],\n\t\tfilter: DTableDataFilterer<NODE>,\n\t\tfiltered: number[],\n\t\tcursor: [number]\n\t): boolean {\n\t\tlet result = false;\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst index = cursor[0];\n\t\t\tcursor[0] += 1;\n\t\t\tconst isFiltered = this.isFiltered(node, index, filter);\n\t\t\tconst children = toChildren(node);\n\t\t\tif (children != null && 0 < children.length) {\n\t\t\t\tif (parent.isOpened(node)) {\n\t\t\t\t\tif (isFiltered) {\n\t\t\t\t\t\tfiltered.push(index);\n\t\t\t\t\t\tresult = true;\n\t\t\t\t\t\tthis.addAllToFiltered(parent, children, filtered, cursor);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst position = filtered.length;\n\t\t\t\t\t\tif (this.newFilteredSub(parent, children, filter, filtered, cursor)) {\n\t\t\t\t\t\t\tfiltered.splice(position, 0, index);\n\t\t\t\t\t\t\tresult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (isFiltered || this.hasFiltered(parent, children, filter)) {\n\t\t\t\t\tfiltered.push(index);\n\t\t\t\t\tresult = true;\n\t\t\t\t}\n\t\t\t} else if (isFiltered) {\n\t\t\t\tfiltered.push(index);\n\t\t\t\tresult = true;\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newFiltered(): number[] | null {\n\t\tconst filter = this._filter;\n\t\tif (filter != null) {\n\t\t\tconst filtered: number[] = [];\n\t\t\tconst parent = this._parent;\n\t\t\tconst nodes = parent.nodes;\n\t\t\tif (nodes) {\n\t\t\t\tconst cursor: [number] = [0];\n\t\t\t\tthis.newFilteredSub(parent, nodes, filter, filtered, cursor);\n\t\t\t}\n\t\t\treturn filtered;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget(): DTableDataFilterer<NODE> | null {\n\t\treturn this._filter;\n\t}\n\n\tset(filter: DTableDataFilterer<NODE> | null): void {\n\t\tif (this._filter !== filter) {\n\t\t\tthis._filter = filter;\n\t\t}\n\t}\n\n\ttoDirty(): void {\n\t\tthis._id += 1;\n\t}\n\n\tupdate(): void {\n\t\tif (this._id !== this._idUpdated) {\n\t\t\tthis._idUpdated = this._id;\n\t\t\tif (this._isApplied) {\n\t\t\t\tthis._filtered = this.newFiltered();\n\t\t\t\tthis.emit(\"change\", this);\n\t\t\t} else if (this._filtered != null) {\n\t\t\t\tthis._filtered = null;\n\t\t\t\tthis.emit(\"change\", this);\n\t\t\t}\n\t\t}\n\t}\n\n\tget indices(): number[] | null {\n\t\tthis.update();\n\t\treturn this._filtered;\n\t}\n\n\tmap(sortedIndex: number): number | null {\n\t\tlet result = sortedIndex;\n\n\t\tconst indices = this.indices;\n\t\tif (indices) {\n\t\t\tconst index = indices.indexOf(result);\n\t\t\tif (0 <= index) {\n\t\t\t\tresult = index;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tunmap(index: number): number {\n\t\tlet result = index;\n\n\t\tconst indices = this.indices;\n\t\tif (indices) {\n\t\t\tresult = indices[result];\n\t\t}\n\n\t\treturn result;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-data-tree-selection-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree-selection-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableDataSelectionOptions, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport {\n\tDTableDataTreeSelection,\n\tDTableDataTreeSelectionParent\n} from \"./d-table-data-tree-selection\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst COMPARATOR = (a: [number, unknown], b: [number, unknown]): number => {\n\treturn a[0] - b[0];\n};\n\nexport class DTableDataTreeSelectionImpl<NODE>\n\textends utils.EventEmitter\n\timplements DTableDataTreeSelection<NODE>\n{\n\tprotected _parent: DTableDataTreeSelectionParent<NODE>;\n\tprotected _type: DTableDataSelectionType;\n\tprotected _rows: Set<NODE>;\n\n\tconstructor(parent: DTableDataTreeSelectionParent<NODE>, options?: DTableDataSelectionOptions) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._type = toEnum(options?.type ?? DTableDataSelectionType.NONE, DTableDataSelectionType);\n\t\tthis._rows = new Set<NODE>();\n\t}\n\n\tonNodeChange(nodes?: NODE[]): void {\n\t\tif (nodes != null) {\n\t\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\t\tconst oldRows = this._rows;\n\t\t\tconst newRows = this.newRows(nodes, toChildren, oldRows, new Set<NODE>());\n\t\t\tif (oldRows.size !== newRows.size) {\n\t\t\t\tthis._rows = newRows;\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t} else {\n\t\t\tconst rows = this._rows;\n\t\t\tif (0 < rows.size) {\n\t\t\t\trows.clear();\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected newRows(\n\t\tnodes: NODE[],\n\t\ttoChildren: (node: NODE) => NODE[] | null | undefined,\n\t\trows: Set<NODE>,\n\t\tresult: Set<NODE>\n\t): Set<NODE> {\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (rows.has(node)) {\n\t\t\t\tresult.add(node);\n\t\t\t}\n\t\t\tconst children = toChildren(node);\n\t\t\tif (children != null) {\n\t\t\t\tthis.newRows(children, toChildren, rows, result);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tget indices(): number[] {\n\t\tconst rows = this._rows;\n\t\tconst result: number[] = [];\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult.push(index);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tget rows(): NODE[] {\n\t\tconst result: NODE[] = [];\n\t\tthis._rows.forEach((row: NODE): void => {\n\t\t\tresult.push(row);\n\t\t});\n\t\treturn result;\n\t}\n\n\tget type(): DTableDataSelectionType {\n\t\treturn this._type;\n\t}\n\n\tprotected getFirst(): NODE | null {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\trows.forEach((row: NODE): void => {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = row;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getLast(): NODE | null {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\trows.forEach((row: NODE): void => {\n\t\t\t\tresult = row;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toIndex(target: NODE): number | null {\n\t\tlet result: number | null = null;\n\t\tthis._parent.each((row: NODE, index: number): boolean => {\n\t\t\tif (target === row) {\n\t\t\t\tresult = index;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\treturn result;\n\t}\n\n\tget first(): number | null {\n\t\tconst row = this.getFirst();\n\t\tif (row) {\n\t\t\treturn this.toIndex(row);\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): number | null {\n\t\tconst row = this.getLast();\n\t\tif (row) {\n\t\t\treturn this.toIndex(row);\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\ttoggle(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (rows.has(row)) {\n\t\t\t\trows.delete(row);\n\t\t\t} else {\n\t\t\t\trows.add(row);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tadd(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (!rows.has(row)) {\n\t\t\t\trows.add(row);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\taddTo(rowIndex: number): void {\n\t\tconst lastRowIndex = this.last;\n\t\tif (lastRowIndex != null) {\n\t\t\tthis.addRange(lastRowIndex, false, rowIndex, true);\n\t\t}\n\t}\n\n\taddRange(from: number, includeFrom: boolean, to: number, includeTo: boolean): void {\n\t\tconst rows = this._rows;\n\t\tconst oldSize = rows.size;\n\t\tconst parent = this._parent;\n\t\tif (from < to) {\n\t\t\tparent.each(\n\t\t\t\t(row: NODE): void => {\n\t\t\t\t\trows.add(row);\n\t\t\t\t},\n\t\t\t\tfrom + (includeFrom ? 0 : 1),\n\t\t\t\tto + (includeTo ? 1 : 0)\n\t\t\t);\n\t\t} else {\n\t\t\tparent.each(\n\t\t\t\t(row: NODE): void => {\n\t\t\t\t\trows.add(row);\n\t\t\t\t},\n\t\t\t\tto + (includeTo ? 0 : 1),\n\t\t\t\tfrom + (includeFrom ? 1 : 0)\n\t\t\t);\n\t\t}\n\t\tconst newSize = rows.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\taddAll(rowIndices: number[]): void {\n\t\tif (0 < rowIndices.length) {\n\t\t\tconst rows = this._rows;\n\t\t\tconst parent = this._parent;\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tconst row = parent.get(rowIndices[i]);\n\t\t\t\tif (row) {\n\t\t\t\t\trows.add(row);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tcontains(rowIndex: number): boolean {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\treturn this._rows.has(row);\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (rows.has(row)) {\n\t\t\t\trows.delete(row);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size) {\n\t\t\trows.clear();\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAdd(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (rows.has(row)) {\n\t\t\t\tif (1 < rows.size) {\n\t\t\t\t\trows.clear();\n\t\t\t\t\trows.add(row);\n\t\t\t\t\tthis.onChange();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\trows.clear();\n\t\t\t\trows.add(row);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tclearAndAddAll(rowIndices: number[]): void {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size || 0 < rowIndices.length) {\n\t\t\trows.clear();\n\t\t\tconst parent = this._parent;\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tconst row = parent.get(rowIndices[i]);\n\t\t\t\tif (row) {\n\t\t\t\t\trows.add(row);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tshift(rowIndex: number, amount: number): void {\n\t\t// DO NOTHING\n\t}\n\n\tsize(): number {\n\t\treturn this._rows.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._rows.size <= 0;\n\t}\n\n\ttoArray(): Array<[number, NODE]> {\n\t\tconst rows = this._rows;\n\t\tconst result: Array<[number, NODE]> = [];\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult.push([index, row]);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoSortedArray(): Array<[number, NODE]> {\n\t\treturn this.toArray().sort(COMPARATOR);\n\t}\n\n\ttoObject(): { [index: number]: NODE } {\n\t\tconst rows = this._rows;\n\t\tconst result: { [index: number]: NODE } = {};\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult[index] = row;\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoMap(): Map<number, NODE> {\n\t\tconst rows = this._rows;\n\t\tconst result = new Map<number, NODE>();\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult.set(index, row);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-table-data-tree-selection-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree-selection-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableDataSelectionOptions, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport {\n\tDTableDataTreeSelection,\n\tDTableDataTreeSelectionParent\n} from \"./d-table-data-tree-selection\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst COMPARATOR = (a: [number, unknown], b: [number, unknown]): number => {\n\treturn a[0] - b[0];\n};\n\nexport class DTableDataTreeSelectionImpl<NODE>\n\textends utils.EventEmitter\n\timplements DTableDataTreeSelection<NODE>\n{\n\tprotected _parent: DTableDataTreeSelectionParent<NODE>;\n\tprotected _type: DTableDataSelectionType;\n\tprotected _rows: Set<NODE>;\n\n\tconstructor(parent: DTableDataTreeSelectionParent<NODE>, options?: DTableDataSelectionOptions) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._type = toEnum(options?.type ?? DTableDataSelectionType.NONE, DTableDataSelectionType);\n\t\tthis._rows = new Set<NODE>();\n\t}\n\n\tonNodeChange(nodes?: NODE[]): void {\n\t\tif (nodes != null) {\n\t\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\t\tconst oldRows = this._rows;\n\t\t\tconst newRows = this.newRows(nodes, toChildren, oldRows, new Set<NODE>());\n\t\t\tif (oldRows.size !== newRows.size) {\n\t\t\t\tthis._rows = newRows;\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t} else {\n\t\t\tconst rows = this._rows;\n\t\t\tif (0 < rows.size) {\n\t\t\t\trows.clear();\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected newRows(\n\t\tnodes: NODE[],\n\t\ttoChildren: (node: NODE) => NODE[] | null | undefined,\n\t\trows: Set<NODE>,\n\t\tresult: Set<NODE>\n\t): Set<NODE> {\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (rows.has(node)) {\n\t\t\t\tresult.add(node);\n\t\t\t}\n\t\t\tconst children = toChildren(node);\n\t\t\tif (children != null) {\n\t\t\t\tthis.newRows(children, toChildren, rows, result);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tget indices(): number[] {\n\t\tconst rows = this._rows;\n\t\tconst result: number[] = [];\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult.push(index);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tget rows(): NODE[] {\n\t\tconst result: NODE[] = [];\n\t\tthis._rows.forEach((row: NODE): void => {\n\t\t\tresult.push(row);\n\t\t});\n\t\treturn result;\n\t}\n\n\tget type(): DTableDataSelectionType {\n\t\treturn this._type;\n\t}\n\n\tprotected getFirst(): NODE | null {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\trows.forEach((row: NODE): void => {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = row;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getLast(): NODE | null {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\trows.forEach((row: NODE): void => {\n\t\t\t\tresult = row;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toIndex(target: NODE): number | null {\n\t\tlet result: number | null = null;\n\t\tthis._parent.each((row: NODE, index: number): boolean => {\n\t\t\tif (target === row) {\n\t\t\t\tresult = index;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\treturn result;\n\t}\n\n\tget first(): number | null {\n\t\tconst row = this.getFirst();\n\t\tif (row) {\n\t\t\treturn this.toIndex(row);\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): number | null {\n\t\tconst row = this.getLast();\n\t\tif (row) {\n\t\t\treturn this.toIndex(row);\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\ttoggle(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (rows.has(row)) {\n\t\t\t\trows.delete(row);\n\t\t\t} else {\n\t\t\t\trows.add(row);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tadd(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (!rows.has(row)) {\n\t\t\t\trows.add(row);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\taddTo(rowIndex: number): void {\n\t\tconst lastRowIndex = this.last;\n\t\tif (lastRowIndex != null) {\n\t\t\tthis.addRange(lastRowIndex, false, rowIndex, true);\n\t\t}\n\t}\n\n\taddRange(from: number, includeFrom: boolean, to: number, includeTo: boolean): void {\n\t\tconst rows = this._rows;\n\t\tconst oldSize = rows.size;\n\t\tconst parent = this._parent;\n\t\tif (from < to) {\n\t\t\tparent.each(\n\t\t\t\t(row: NODE): void => {\n\t\t\t\t\trows.add(row);\n\t\t\t\t},\n\t\t\t\tfrom + (includeFrom ? 0 : 1),\n\t\t\t\tto + (includeTo ? 1 : 0)\n\t\t\t);\n\t\t} else {\n\t\t\tparent.each(\n\t\t\t\t(row: NODE): void => {\n\t\t\t\t\trows.add(row);\n\t\t\t\t},\n\t\t\t\tto + (includeTo ? 0 : 1),\n\t\t\t\tfrom + (includeFrom ? 1 : 0)\n\t\t\t);\n\t\t}\n\t\tconst newSize = rows.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\taddAll(rowIndices: number[]): void {\n\t\tif (0 < rowIndices.length) {\n\t\t\tconst rows = this._rows;\n\t\t\tconst parent = this._parent;\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tconst row = parent.get(rowIndices[i]);\n\t\t\t\tif (row) {\n\t\t\t\t\trows.add(row);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tcontains(rowIndex: number): boolean {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\treturn this._rows.has(row);\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (rows.has(row)) {\n\t\t\t\trows.delete(row);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size) {\n\t\t\trows.clear();\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAdd(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (rows.has(row)) {\n\t\t\t\tif (1 < rows.size) {\n\t\t\t\t\trows.clear();\n\t\t\t\t\trows.add(row);\n\t\t\t\t\tthis.onChange();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\trows.clear();\n\t\t\t\trows.add(row);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tclearAndAddAll(rowIndices: number[]): void {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size || 0 < rowIndices.length) {\n\t\t\trows.clear();\n\t\t\tconst parent = this._parent;\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tconst row = parent.get(rowIndices[i]);\n\t\t\t\tif (row) {\n\t\t\t\t\trows.add(row);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tshift(rowIndex: number, amount: number): void {\n\t\t// DO NOTHING\n\t}\n\n\tsize(): number {\n\t\treturn this._rows.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._rows.size <= 0;\n\t}\n\n\ttoArray(): Array<[number, NODE]> {\n\t\tconst rows = this._rows;\n\t\tconst result: Array<[number, NODE]> = [];\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult.push([index, row]);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoSortedArray(): Array<[number, NODE]> {\n\t\treturn this.toArray().sort(COMPARATOR);\n\t}\n\n\ttoObject(): Record<number, NODE> {\n\t\tconst rows = this._rows;\n\t\tconst result: Record<number, NODE> = {};\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult[index] = row;\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoMap(): Map<number, NODE> {\n\t\tconst rows = this._rows;\n\t\tconst result = new Map<number, NODE>();\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult.set(index, row);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
|
|
@@ -205,6 +205,7 @@ export * from "./d-diagram-data-remote";
|
|
|
205
205
|
export * from "./d-diagram-data";
|
|
206
206
|
export * from "./d-diagram-editor-thumbnail";
|
|
207
207
|
export * from "./d-diagram-editor";
|
|
208
|
+
export * from "./d-diagram-layer-background";
|
|
208
209
|
export * from "./d-diagram-layer-container";
|
|
209
210
|
export * from "./d-diagram-layer";
|
|
210
211
|
export * from "./d-diagram-layers";
|
|
@@ -236,6 +237,7 @@ export * from "./d-dialog-mode";
|
|
|
236
237
|
export * from "./d-dialog-processing-message";
|
|
237
238
|
export * from "./d-dialog-processing";
|
|
238
239
|
export * from "./d-dialog-save-as";
|
|
240
|
+
export * from "./d-dialog-select-list-item-updater";
|
|
239
241
|
export * from "./d-dialog-select-list-item";
|
|
240
242
|
export * from "./d-dialog-select-list";
|
|
241
243
|
export * from "./d-dialog-select-search";
|
|
@@ -380,10 +382,15 @@ export * from "./d-note";
|
|
|
380
382
|
export * from "./d-notification";
|
|
381
383
|
export * from "./d-outline";
|
|
382
384
|
export * from "./d-padding";
|
|
383
|
-
export * from "./d-pagination-
|
|
384
|
-
export * from "./d-pagination-
|
|
385
|
-
export * from "./d-pagination-
|
|
385
|
+
export * from "./d-pagination-button-last";
|
|
386
|
+
export * from "./d-pagination-button-next";
|
|
387
|
+
export * from "./d-pagination-button-page";
|
|
388
|
+
export * from "./d-pagination-button-previous";
|
|
389
|
+
export * from "./d-pagination-button-top";
|
|
390
|
+
export * from "./d-pagination-dots";
|
|
391
|
+
export * from "./d-pagination-page";
|
|
386
392
|
export * from "./d-pagination";
|
|
393
|
+
export * from "./d-pane-scrollbar";
|
|
387
394
|
export * from "./d-pane";
|
|
388
395
|
export * from "./d-picker-color-and-alpha";
|
|
389
396
|
export * from "./d-picker-color-gradient-recent";
|
|
@@ -490,6 +497,7 @@ export * from "./d-table-header-cell-check";
|
|
|
490
497
|
export * from "./d-table-header-cell";
|
|
491
498
|
export * from "./d-table-header";
|
|
492
499
|
export * from "./d-table-row";
|
|
500
|
+
export * from "./d-table-scrollbar";
|
|
493
501
|
export * from "./d-table-state";
|
|
494
502
|
export * from "./d-table";
|
|
495
503
|
export * from "./d-text-base";
|