@wcardinal/wcardinal-ui 0.441.0 → 0.443.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-picker-color.d.ts +3 -0
- package/dist/types/wcardinal/ui/d-table-column-state.d.ts +4 -1
- package/dist/types/wcardinal/ui/d-table-state.d.ts +4 -0
- package/dist/types/wcardinal/ui/theme/common/new-svg-rounded-checkerboard.d.ts +1 -0
- package/dist/types/wcardinal/ui/theme/common/new-svg-rounded-rect.d.ts +1 -0
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-picker-color.d.ts +3 -0
- package/dist/types/wcardinal/ui/theme/dark/new-dark-svg-rounded-checkerboard.d.ts +1 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-picker-color.d.ts +3 -0
- package/dist/types/wcardinal/ui/theme/white/new-white-svg-rounded-checkerboard.d.ts +1 -0
- package/dist/wcardinal/ui/d-dynamic-text.js +3 -8
- package/dist/wcardinal/ui/d-dynamic-text.js.map +1 -1
- package/dist/wcardinal/ui/d-image-piece-impl.js +8 -0
- package/dist/wcardinal/ui/d-image-piece-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-image-piece-layouter-part-container.js +1 -1
- package/dist/wcardinal/ui/d-image-piece-layouter-part-container.js.map +1 -1
- package/dist/wcardinal/ui/d-picker-color.js +5 -4
- package/dist/wcardinal/ui/d-picker-color.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body.js +3 -2
- package/dist/wcardinal/ui/d-table-body.js.map +1 -1
- package/dist/wcardinal/ui/d-table-column-state.js.map +1 -1
- package/dist/wcardinal/ui/d-table-state.js +4 -0
- package/dist/wcardinal/ui/d-table-state.js.map +1 -1
- package/dist/wcardinal/ui/theme/common/new-svg-rounded-checkerboard.js +20 -0
- package/dist/wcardinal/ui/theme/common/new-svg-rounded-checkerboard.js.map +1 -0
- package/dist/wcardinal/ui/theme/common/new-svg-rounded-rect.js +15 -0
- package/dist/wcardinal/ui/theme/common/new-svg-rounded-rect.js.map +1 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-color-gradient.js +2 -5
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-color-gradient.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-color.js +3 -6
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-color.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-picker-color.js +24 -35
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-picker-color.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cells.js +7 -2
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cells.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/new-dark-svg-rounded-checkerboard.js +5 -0
- package/dist/wcardinal/ui/theme/dark/new-dark-svg-rounded-checkerboard.js.map +1 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-button-color-gradient.js +2 -5
- package/dist/wcardinal/ui/theme/white/d-theme-white-button-color-gradient.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-button-color.js +3 -6
- package/dist/wcardinal/ui/theme/white/d-theme-white-button-color.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-picker-color.js +24 -35
- package/dist/wcardinal/ui/theme/white/d-theme-white-picker-color.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cells.js +7 -2
- package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cells.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/new-white-svg-rounded-checkerboard.js +5 -0
- package/dist/wcardinal/ui/theme/white/new-white-svg-rounded-checkerboard.js.map +1 -0
- package/dist/wcardinal-ui-theme-dark-en-us.js +71 -49
- package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.js +71 -49
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +71 -49
- package/dist/wcardinal-ui-theme-dark.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.js +71 -49
- package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.js +71 -49
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white.js +71 -49
- package/dist/wcardinal-ui-theme-white.min.js +2 -2
- package/dist/wcardinal-ui.cjs.js +131 -112
- package/dist/wcardinal-ui.js +25 -16
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-picker-color.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-picker-color.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, Point, Sprite, Texture } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DColorAndAlpha } from \"./d-color-and-alpha\";\nimport { DInputRealAndLabel } from \"./d-input-real-and-label\";\nimport { DInputTextAndLabel } from \"./d-input-text-and-label\";\nimport { DPickerColorAndAlpha } from \"./d-picker-color-and-alpha\";\nimport { DColorRecent } from \"./d-color-recent\";\nimport { UtilHsv } from \"./util/util-hsv\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { UtilRgb } from \"./util/util-rgb\";\nimport { DBaseInteractive } from \"./d-base-interactive\";\nimport { DColorStandard } from \"./d-color-standard\";\nimport { DSelect } from \"./d-select\";\nimport { DLayoutHorizontal } from \"./d-layout-horizontal\";\nimport { DColorType } from \"./d-color-type\";\nimport { DColorStandards } from \"./d-color-standards\";\nimport { DColorRecents } from \"./d-color-recents\";\n\nexport interface DPickerColorOptions<THEME extends DThemePickerColor = DThemePickerColor>\n\textends DBaseOptions<THEME> {}\n\nexport interface DThemePickerColor extends DThemeBase {\n\tgetMainWidth(): number;\n\tgetMainHeight(): number;\n\tgetMainTexture(): Texture;\n\tgetMainBaseTexture(): Texture;\n\tgetMainPointerTexture(): Texture;\n\tgetMainPointerColor(): number;\n\tgetMainPointerAlpha(): number;\n\n\tgetBaseHeight(): number;\n\tgetBaseMargin(): number;\n\tgetBaseTexture(): Texture;\n\tgetBasePointerTexture(): Texture;\n\tgetBasePointerColor(): number;\n\tgetBasePointerAlpha(): number;\n\n\tgetAlphaHeight(): number;\n\tgetAlphaMargin(): number;\n\tgetAlphaTexture(): Texture;\n\tgetAlphaCheckerboardTexture(): Texture;\n\tgetAlphaPointerTexture(): Texture;\n\tgetAlphaPointerColor(): number;\n\tgetAlphaPointerAlpha(): number;\n\n\tgetRecentMargin(): number;\n\tgetRecentColorMargin(): number;\n\tgetRecentColorWidth(): number;\n\tgetRecentColorHeight(): number;\n\tgetRecentColorCount(): number;\n\tgetRecentCheckerboardTexture(): Texture;\n\tgetRecentTexture(): Texture;\n\n\tgetInputMargin(): number;\n\tgetInputLabelWidth(): number;\n\n\tgetSampleCheckerboardOldTexture(): Texture;\n\tgetSampleCheckerboardNewTexture(): Texture;\n\tgetSampleOldTexture(): Texture;\n\tgetSampleNewTexture(): Texture;\n\n\tgetStandardColorCount(): number;\n\tgetStandardColorWidth(): number;\n\tgetStandardColorHeight(): number;\n\tgetStandardColorMargin(): number;\n\tgetStandardTexture(): Texture;\n\n\ttoColorTypeLabel(type: DColorType): string;\n}\n\nexport class DPickerColor<\n\tTHEME extends DThemePickerColor = DThemePickerColor,\n\tOPTIONS extends DPickerColorOptions<THEME> = DPickerColorOptions<THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected _mainBaseSprite!: Sprite;\n\tprotected _mainSprite!: Sprite;\n\tprotected _mainPointerSprite!: Sprite;\n\tprotected _pointerPoint!: Point;\n\tprotected _mainStandardColor!: DLayoutHorizontal;\n\tprotected _onMainMoveBound!: (e: InteractionEvent) => void;\n\tprotected _onMainUpBound!: (e: InteractionEvent) => void;\n\n\tprotected _standardColorSprites!: Sprite[];\n\tprotected _standard!: DColorStandard;\n\n\tprotected _baseSprite!: Sprite;\n\tprotected _basePointerSprite!: Sprite;\n\tprotected _onBaseMoveBound!: (e: InteractionEvent) => void;\n\tprotected _onBaseUpBound!: (e: InteractionEvent) => void;\n\n\tprotected _alphaCheckerboardSprite!: Sprite;\n\tprotected _alphaSprite!: Sprite;\n\tprotected _alphaPointerSprite!: Sprite;\n\tprotected _onAlphaMoveBound!: (e: InteractionEvent) => void;\n\tprotected _onAlphaUpBound!: (e: InteractionEvent) => void;\n\n\tprotected _recentColorSprites!: Sprite[];\n\tprotected _recent!: DColorRecent;\n\n\tprotected _inputAndLabelColor!: DInputTextAndLabel;\n\tprotected _inputAndLabelAlpha!: DInputRealAndLabel;\n\n\tprotected _sampleCurrentCheckerboardSprite!: Sprite;\n\tprotected _sampleCurrentSprite!: Sprite;\n\tprotected _sampleNewCheckerboardSprite!: Sprite;\n\tprotected _sampleNewSprite!: Sprite;\n\n\tprotected _current!: DColorAndAlpha;\n\tprotected _currentPicker!: DPickerColorAndAlpha;\n\tprotected _base!: number;\n\tprotected _new!: DColorAndAlpha;\n\tprotected _newPicker!: DPickerColorAndAlpha;\n\n\tprotected _typeSelector!: DSelect<DColorType>;\n\n\tget current(): DColorAndAlpha {\n\t\treturn this._currentPicker;\n\t}\n\n\tget new(): DColorAndAlpha {\n\t\treturn this._newPicker;\n\t}\n\n\tget recent(): DColorRecent {\n\t\treturn this._recent;\n\t}\n\n\tget standard(): DColorStandard {\n\t\treturn this._standard;\n\t}\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\n\t\tthis._base = 0xff0000;\n\t\tthis._new = { color: 0xffffff, alpha: 1 };\n\t\tthis._newPicker = new DPickerColorAndAlpha(\n\t\t\tthis._new,\n\t\t\t(color) => {\n\t\t\t\tthis.setColorNew(color);\n\t\t\t},\n\t\t\t(alpha: number) => {\n\t\t\t\tthis.setAlphaNew(alpha);\n\t\t\t}\n\t\t);\n\t\tthis._current = { color: 0xffffff, alpha: 1 };\n\t\tthis._currentPicker = new DPickerColorAndAlpha(\n\t\t\tthis._current,\n\t\t\t(color) => {\n\t\t\t\tthis.setColorCurrent(color);\n\t\t\t},\n\t\t\t(alpha: number) => {\n\t\t\t\tthis.setAlphaCurrent(alpha);\n\t\t\t}\n\t\t);\n\n\t\tconst theme = this.theme;\n\t\tconst padding = this._padding;\n\t\tconst paddingTop = padding.getTop();\n\t\tconst paddingRight = padding.getRight();\n\t\tconst paddingBottom = padding.getBottom();\n\t\tconst paddingLeft = padding.getLeft();\n\t\tthis._pointerPoint = new Point();\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tconst mainHeight = theme.getMainHeight();\n\n\t\tconst typeSelector = new DSelect<DColorType>({\n\t\t\tparent: this,\n\t\t\tvalue: DColorType.STANDARD,\n\t\t\tmenu: {\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: DColorType.STANDARD,\n\t\t\t\t\t\ttext: {\n\t\t\t\t\t\t\tvalue: theme.toColorTypeLabel(DColorType.STANDARD)\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: DColorType.CUSTOM,\n\t\t\t\t\t\ttext: {\n\t\t\t\t\t\t\tvalue: theme.toColorTypeLabel(DColorType.CUSTOM)\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\ton: {\n\t\t\t\tchange: (value: DColorType): void => {\n\t\t\t\t\tthis.onTypeChange(value);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis._typeSelector = typeSelector;\n\t\ttypeSelector.x = paddingLeft;\n\t\ttypeSelector.y = paddingTop;\n\t\ttypeSelector.width = mainWidth;\n\t\ttypeSelector.interactive = true;\n\t\tthis.addChild(typeSelector);\n\n\t\t// Main\n\t\tconst mainBaseSprite = new Sprite(theme.getMainBaseTexture());\n\t\tthis._mainBaseSprite = mainBaseSprite;\n\t\tmainBaseSprite.x = paddingLeft;\n\t\tmainBaseSprite.y = typeSelector.y + typeSelector.height + theme.getBaseMargin();\n\t\tmainBaseSprite.width = mainWidth;\n\t\tmainBaseSprite.height = mainHeight;\n\t\tmainBaseSprite.interactive = true;\n\t\tmainBaseSprite.visible = false;\n\t\tthis.addChild(mainBaseSprite);\n\n\t\tconst mainSprite = new Sprite(theme.getMainTexture());\n\t\tthis._mainSprite = mainSprite;\n\t\tmainSprite.x = paddingLeft;\n\t\tmainSprite.y = typeSelector.y + typeSelector.height + theme.getBaseMargin();\n\t\tmainSprite.tint = this._base;\n\t\tmainSprite.interactive = false;\n\t\tmainSprite.visible = false;\n\t\tthis.addChild(mainSprite);\n\n\t\t// Main event handling\n\t\tthis._onMainMoveBound = (e: InteractionEvent): void => {\n\t\t\tthis.onMainMove(e);\n\t\t};\n\t\tthis._onMainUpBound = (e: InteractionEvent): void => {\n\t\t\tthis.onMainUp(e);\n\t\t};\n\t\tmainBaseSprite.on(UtilPointerEvent.down, (e: InteractionEvent) => {\n\t\t\tthis.onMainDown(e);\n\t\t});\n\n\t\t// Base color picker\n\t\tconst baseSprite = new Sprite(theme.getBaseTexture());\n\t\tthis._baseSprite = baseSprite;\n\t\tbaseSprite.x = paddingLeft;\n\t\tbaseSprite.y = mainBaseSprite.y + mainBaseSprite.height + theme.getBaseMargin();\n\t\tbaseSprite.interactive = true;\n\t\tbaseSprite.visible = false;\n\t\tthis.addChild(baseSprite);\n\n\t\t// Base event\n\t\tthis._onBaseMoveBound = (e: InteractionEvent): void => {\n\t\t\tthis.onBaseMove(e);\n\t\t};\n\t\tthis._onBaseUpBound = (e: InteractionEvent): void => {\n\t\t\tthis.onBaseUp(e);\n\t\t};\n\t\tbaseSprite.on(UtilPointerEvent.down, (e: InteractionEvent) => {\n\t\t\tthis.onBaseDown(e);\n\t\t});\n\n\t\t// Standard main color\n\t\tthis._standardColorSprites = [];\n\t\tconst standardColorSprites = this._standardColorSprites;\n\t\tconst standardColorCount = theme.getStandardColorCount();\n\t\tconst standardColorWidth = theme.getStandardColorWidth();\n\t\tconst standardColorHeight = theme.getStandardColorHeight();\n\t\tconst standardColorMargin = theme.getStandardColorMargin();\n\t\tconst standardColorY = typeSelector.y + typeSelector.height + theme.getBaseMargin();\n\t\tconst standardTexture = theme.getStandardTexture();\n\t\tconst standard = (this._standard = DColorStandards.getInstance());\n\t\tstandard.on(\"change\", () => {\n\t\t\tthis.onStandardChange();\n\t\t});\n\t\tconst onStandardClick = (e: InteractionEvent) => {\n\t\t\tconst sprite = e.currentTarget;\n\t\t\tif (sprite instanceof Sprite) {\n\t\t\t\tthis.setColorNew(sprite.tint);\n\t\t\t}\n\t\t};\n\t\tfor (let i = 0; i < standardColorCount; ++i) {\n\t\t\tconst x = paddingLeft + (i % 10) * (standardColorWidth + standardColorMargin);\n\t\t\tconst y =\n\t\t\t\tstandardColorY + Math.floor(i / 10) * (standardColorHeight + standardColorMargin);\n\n\t\t\tconst sprite = new Sprite(standardTexture);\n\t\t\tconst standardColor = standard.get(i);\n\t\t\tif (standardColor != null) {\n\t\t\t\tsprite.tint = standardColor;\n\t\t\t\tsprite.alpha = 1;\n\t\t\t} else {\n\t\t\t\tsprite.tint = 0xffffff;\n\t\t\t\tsprite.alpha = 1;\n\t\t\t}\n\t\t\tsprite.x = x;\n\t\t\tsprite.y = y;\n\t\t\tsprite.buttonMode = true;\n\t\t\tsprite.interactive = true;\n\t\t\tsprite.on(UtilPointerEvent.tap, onStandardClick);\n\t\t\tstandardColorSprites.push(sprite);\n\t\t}\n\t\tconst mainStandardColor = new DLayoutHorizontal({\n\t\t\twidth: \"auto\",\n\t\t\theight: \"auto\",\n\t\t\trow: 8,\n\t\t\tchildren: standardColorSprites\n\t\t});\n\t\tthis._mainStandardColor = mainStandardColor;\n\t\tmainStandardColor.visible = true;\n\t\tthis.addChild(mainStandardColor);\n\n\t\t// Alpha picker\n\t\tconst alphaCheckerboardSprite = new Sprite(theme.getAlphaCheckerboardTexture());\n\t\tthis._alphaCheckerboardSprite = alphaCheckerboardSprite;\n\t\talphaCheckerboardSprite.x = padding.getLeft();\n\t\talphaCheckerboardSprite.y = baseSprite.y + theme.getBaseHeight() + theme.getBaseMargin();\n\t\talphaCheckerboardSprite.interactive = false;\n\t\tthis.addChild(alphaCheckerboardSprite);\n\n\t\tconst alphaSprite = new Sprite(theme.getAlphaTexture());\n\t\talphaSprite.tint = this._new.color;\n\t\talphaSprite.interactive = true;\n\t\talphaCheckerboardSprite.addChild(alphaSprite);\n\n\t\t// Alpha event\n\t\tthis._onAlphaMoveBound = (e: InteractionEvent): void => {\n\t\t\tthis.onAlphaMove(e);\n\t\t};\n\t\tthis._onAlphaUpBound = (e: InteractionEvent): void => {\n\t\t\tthis.onAlphaUp(e);\n\t\t};\n\t\talphaSprite.on(UtilPointerEvent.down, (e: InteractionEvent) => {\n\t\t\tthis.onAlphaDown(e);\n\t\t});\n\n\t\t// Pointers\n\t\tconst mainPointerSprite = new Sprite(theme.getMainPointerTexture());\n\t\tthis._mainPointerSprite = mainPointerSprite;\n\t\tmainPointerSprite.x = paddingLeft;\n\t\tmainPointerSprite.y = typeSelector.y + typeSelector.height + theme.getBaseMargin();\n\t\tmainPointerSprite.anchor.x = 0.5;\n\t\tmainPointerSprite.anchor.y = 0.5;\n\t\tmainPointerSprite.tint = theme.getMainPointerColor();\n\t\tmainPointerSprite.alpha = theme.getMainPointerAlpha();\n\t\tmainPointerSprite.interactive = false;\n\t\tmainPointerSprite.visible = false;\n\t\tthis.addChild(mainPointerSprite);\n\n\t\tconst alphaPointerSprite = new Sprite(theme.getAlphaPointerTexture());\n\t\tthis._alphaPointerSprite = alphaPointerSprite;\n\t\talphaPointerSprite.x = mainWidth;\n\t\talphaPointerSprite.y = alphaCheckerboardSprite.height * 0.5;\n\t\talphaPointerSprite.tint = theme.getAlphaPointerColor();\n\t\talphaPointerSprite.alpha = theme.getAlphaPointerAlpha();\n\t\talphaPointerSprite.anchor.set(0.5, 0.5);\n\t\talphaPointerSprite.interactive = false;\n\t\talphaCheckerboardSprite.addChild(alphaPointerSprite);\n\n\t\tconst basePointerSprite = new Sprite(theme.getBasePointerTexture());\n\t\tthis._basePointerSprite = basePointerSprite;\n\t\tbasePointerSprite.x = 0;\n\t\tbasePointerSprite.y = baseSprite.height * 0.5;\n\t\tbasePointerSprite.tint = theme.getBasePointerColor();\n\t\tbasePointerSprite.alpha = theme.getBasePointerAlpha();\n\t\tbasePointerSprite.anchor.set(0.5, 0.5);\n\t\tbasePointerSprite.interactive = false;\n\t\tbaseSprite.addChild(basePointerSprite);\n\n\t\t// Recently used\n\t\tthis._recentColorSprites = [];\n\t\tconst recentColorSprites = this._recentColorSprites;\n\t\tconst recentColorCount = theme.getRecentColorCount();\n\t\tconst recentColorWidth = theme.getRecentColorWidth();\n\t\tconst recentColorHeight = theme.getRecentColorHeight();\n\t\tconst recentColorMargin = theme.getRecentColorMargin();\n\t\tconst recentColorY =\n\t\t\talphaCheckerboardSprite.y + theme.getAlphaHeight() + theme.getRecentMargin();\n\t\tconst recentCheckerboardTexture = theme.getRecentCheckerboardTexture();\n\t\tconst recentTexture = theme.getRecentTexture();\n\t\tconst recent = (this._recent = DColorRecents.getInstance());\n\t\trecent.on(\"change\", () => {\n\t\t\tthis.onRecentChange();\n\t\t});\n\t\tconst onRecentClick = (e: InteractionEvent) => {\n\t\t\tconst sprite = e.currentTarget;\n\t\t\tif (sprite instanceof Sprite) {\n\t\t\t\tthis.setColorNew(sprite.tint);\n\t\t\t\tthis.setAlphaNew(sprite.alpha);\n\t\t\t}\n\t\t};\n\t\tfor (let i = 0; i < recentColorCount; ++i) {\n\t\t\tconst x = paddingLeft + i * (recentColorWidth + recentColorMargin);\n\t\t\tconst y = recentColorY;\n\n\t\t\tconst checkerboardSprite = new Sprite(recentCheckerboardTexture);\n\t\t\tcheckerboardSprite.x = x;\n\t\t\tcheckerboardSprite.y = y;\n\t\t\tcheckerboardSprite.interactive = false;\n\t\t\tthis.addChild(checkerboardSprite);\n\n\t\t\tconst sprite = new Sprite(recentTexture);\n\t\t\tconst recentColorAndAlpha = recent.get(i);\n\t\t\tif (recentColorAndAlpha != null) {\n\t\t\t\tsprite.tint = recentColorAndAlpha.color;\n\t\t\t\tsprite.alpha = recentColorAndAlpha.alpha;\n\t\t\t} else {\n\t\t\t\tsprite.tint = 0xffffff;\n\t\t\t\tsprite.alpha = 0;\n\t\t\t}\n\t\t\tsprite.x = x;\n\t\t\tsprite.y = y;\n\t\t\tsprite.buttonMode = true;\n\t\t\tsprite.interactive = true;\n\t\t\tsprite.on(UtilPointerEvent.tap, onRecentClick);\n\t\t\tthis.addChild(sprite);\n\t\t\trecentColorSprites.push(sprite);\n\t\t}\n\n\t\t// Input color\n\t\tconst inputMargin = theme.getInputMargin();\n\t\tconst inputLabelWidth = theme.getInputLabelWidth();\n\t\tconst inputY = recentColorY + recentColorHeight + inputMargin;\n\t\tconst inputWidth = (mainWidth - inputMargin) * 0.5;\n\t\tconst inputAndLabelColor = new DInputTextAndLabel({\n\t\t\tparent: this,\n\t\t\tx: paddingLeft,\n\t\t\ty: inputY,\n\t\t\twidth: inputWidth,\n\t\t\tlabel: {\n\t\t\t\twidth: inputLabelWidth,\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: \"#\"\n\t\t\t\t},\n\t\t\t\tinteractive: DBaseInteractive.NONE\n\t\t\t},\n\t\t\tinput: {\n\t\t\t\tweight: 1,\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: \"FFFFFF\"\n\t\t\t\t},\n\t\t\t\ton: {\n\t\t\t\t\tinput: (code: string): void => {\n\t\t\t\t\t\tconst color = UtilRgb.fromCode(code);\n\t\t\t\t\t\tif (color != null) {\n\t\t\t\t\t\t\tthis.setColorNew(color);\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});\n\t\tthis._inputAndLabelColor = inputAndLabelColor;\n\t\tconst inputHeight = inputAndLabelColor.height;\n\n\t\tconst inputAndLabelAlpha = new DInputRealAndLabel({\n\t\t\tparent: this,\n\t\t\tx: paddingLeft,\n\t\t\ty: inputY + inputHeight + inputMargin,\n\t\t\twidth: inputWidth,\n\t\t\tlabel: {\n\t\t\t\twidth: inputLabelWidth,\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: \"A\"\n\t\t\t\t},\n\t\t\t\tinteractive: DBaseInteractive.NONE\n\t\t\t},\n\t\t\tinput: {\n\t\t\t\tweight: 1,\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: 1\n\t\t\t\t},\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 1,\n\t\t\t\ton: {\n\t\t\t\t\tinput: (value: number) => {\n\t\t\t\t\t\tthis.setAlphaNew(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis._inputAndLabelAlpha = inputAndLabelAlpha;\n\n\t\t// Samples\n\t\tconst sampleWidth = (inputWidth - inputLabelWidth - inputMargin) * 0.5;\n\t\tconst sampleHeight = inputHeight + inputMargin + inputHeight;\n\t\tconst sampleX = paddingLeft + (mainWidth - inputMargin) * 0.5 + inputMargin;\n\t\tconst sampleY =\n\t\t\tinputY + (inputHeight + inputMargin + inputAndLabelAlpha.height - sampleHeight) * 0.5;\n\n\t\tconst sampleCurrentCheckerboardSprite = new Sprite(theme.getSampleCheckerboardOldTexture());\n\t\tthis._sampleCurrentCheckerboardSprite = sampleCurrentCheckerboardSprite;\n\t\tsampleCurrentCheckerboardSprite.x = sampleX;\n\t\tsampleCurrentCheckerboardSprite.y = sampleY;\n\t\tsampleCurrentCheckerboardSprite.width = sampleWidth;\n\t\tsampleCurrentCheckerboardSprite.height = sampleHeight;\n\t\tsampleCurrentCheckerboardSprite.interactive = false;\n\t\tthis.addChild(sampleCurrentCheckerboardSprite);\n\n\t\tconst current = this._current;\n\t\tconst sampleCurrentSprite = new Sprite(theme.getSampleOldTexture());\n\t\tthis._sampleCurrentSprite = sampleCurrentSprite;\n\t\tsampleCurrentSprite.x = sampleX;\n\t\tsampleCurrentSprite.y = sampleY;\n\t\tsampleCurrentSprite.tint = current.color;\n\t\tsampleCurrentSprite.alpha = current.alpha;\n\t\tsampleCurrentSprite.width = sampleWidth;\n\t\tsampleCurrentSprite.height = sampleHeight;\n\t\tsampleCurrentSprite.interactive = true;\n\t\tsampleCurrentSprite.buttonMode = true;\n\t\tsampleCurrentSprite.on(UtilPointerEvent.tap, (): void => {\n\t\t\tthis.setColorNew(current.color);\n\t\t\tthis.setAlphaNew(current.alpha);\n\t\t});\n\t\tthis.addChild(sampleCurrentSprite);\n\n\t\tconst sampleNewCheckerboardSprite = new Sprite(theme.getSampleCheckerboardNewTexture());\n\t\tthis._sampleNewCheckerboardSprite = sampleNewCheckerboardSprite;\n\t\tsampleNewCheckerboardSprite.x = sampleX + sampleWidth;\n\t\tsampleNewCheckerboardSprite.y = sampleY;\n\t\tsampleNewCheckerboardSprite.width = sampleWidth;\n\t\tsampleNewCheckerboardSprite.height = sampleHeight;\n\t\tsampleNewCheckerboardSprite.interactive = false;\n\t\tthis.addChild(sampleNewCheckerboardSprite);\n\n\t\tconst sampleNewSprite = new Sprite(theme.getSampleNewTexture());\n\t\tthis._sampleNewSprite = sampleNewSprite;\n\t\tsampleNewSprite.x = sampleX + sampleWidth;\n\t\tsampleNewSprite.y = sampleY;\n\t\tsampleNewSprite.tint = this._new.color;\n\t\tsampleNewSprite.alpha = this._new.alpha;\n\t\tsampleNewSprite.width = sampleWidth;\n\t\tsampleNewSprite.height = sampleHeight;\n\t\tsampleNewSprite.interactive = false;\n\t\tthis.addChild(sampleNewSprite);\n\n\t\t// Width\n\t\tif (options == null || options.width == null) {\n\t\t\tthis.width = paddingLeft + mainWidth + paddingRight;\n\t\t}\n\n\t\t// Height\n\t\tif (options == null || options.height == null) {\n\t\t\tthis.height =\n\t\t\t\tinputY +\n\t\t\t\tinputAndLabelColor.height +\n\t\t\t\tinputMargin +\n\t\t\t\tinputAndLabelAlpha.height +\n\t\t\t\tpaddingBottom;\n\t\t}\n\t}\n\n\tprotected onMainDown(e: InteractionEvent): void {\n\t\tthis.onMainPick(e.data.global);\n\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.on(UtilPointerEvent.move, this._onMainMoveBound);\n\t\t\tstage.on(UtilPointerEvent.up, this._onMainUpBound);\n\t\t\tstage.on(UtilPointerEvent.upoutside, this._onMainUpBound);\n\t\t}\n\t}\n\n\tprotected onMainMove(e: InteractionEvent): void {\n\t\tthis.onMainPick(e.data.global);\n\t}\n\n\tprotected onMainUp(e: InteractionEvent): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.off(UtilPointerEvent.move, this._onMainMoveBound);\n\t\t\tstage.off(UtilPointerEvent.up, this._onMainUpBound);\n\t\t}\n\t}\n\n\tprotected toMainHex(b: number, w0: number, w1: number, shift: number): number {\n\t\treturn Math.max(0, Math.min(255, w0 * 255 + w1 * ((b >> shift) & 0xff))) << shift;\n\t}\n\n\tprotected toMainColor(\n\t\tbase: number,\n\t\ttx: number,\n\t\tty: number,\n\t\twidth: number,\n\t\theight: number\n\t): number {\n\t\tconst hw = width * 0.5;\n\t\tconst ux = Math.max(0, Math.min(1, ((tx - hw) * (1 - ty / height) + hw) / width));\n\t\tconst uy = Math.max(0, Math.min(1, ty / height));\n\t\tconst w1 = Math.abs(0.5 * uy - ux);\n\t\tconst w0 = 1 - w1 - uy;\n\t\tconst r = this.toMainHex(base, w0, w1, 16);\n\t\tconst g = this.toMainHex(base, w0, w1, 8);\n\t\tconst b = this.toMainHex(base, w0, w1, 0);\n\t\treturn r | g | b;\n\t}\n\n\tprotected onMainPick(global: Point): void {\n\t\tconst mainBaseSprite = this._mainBaseSprite;\n\t\tconst point = this._pointerPoint;\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tconst mainHeight = theme.getMainHeight();\n\t\tthis.toLocal(global, undefined, point);\n\t\tconst x = Math.max(0, Math.min(mainWidth, point.x - mainBaseSprite.x));\n\t\tconst y = Math.max(0, Math.min(mainHeight, point.y - mainBaseSprite.y));\n\t\tconst mainPointerSprite = this._mainPointerSprite;\n\t\tmainPointerSprite.position.set(mainBaseSprite.x + x, mainBaseSprite.y + y);\n\t\tthis.onColorNew(this.toMainColor(this._base, x, y, mainWidth, mainHeight));\n\t}\n\n\tprotected setColorCurrent(color: number): void {\n\t\tthis._sampleCurrentSprite.tint = this._current.color = color;\n\t}\n\n\tprotected setAlphaCurrent(alpha: number): void {\n\t\tthis._sampleCurrentSprite.alpha = this._current.alpha = alpha;\n\t}\n\n\tprotected setColorNew(color: number): void {\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tconst mainHeight = theme.getMainHeight();\n\t\tconst mainBaseSprite = this._mainBaseSprite;\n\n\t\t// Base color\n\t\tconst hsv = UtilHsv.fromRgb(color);\n\t\tthis._mainSprite.tint = this._base = UtilHsv.toRgb(hsv[0], 255, 255);\n\n\t\t// Move the base pointer\n\t\tconst basePointerSprite = this._basePointerSprite;\n\t\tbasePointerSprite.x = Math.max(0, Math.min(1, hsv[0] / 360)) * mainWidth;\n\n\t\t// Move the main pointer\n\t\tconst ns = Math.max(0, Math.min(1, hsv[1] / 255));\n\t\tconst nv = Math.max(0, Math.min(1, 1 - hsv[2] / 255));\n\t\tconst mainPointerSprite = this._mainPointerSprite;\n\t\tmainPointerSprite.tint = nv < 0.45 ? theme.getMainPointerColor() : 0xffffff;\n\t\tmainPointerSprite.position.set(\n\t\t\tmainBaseSprite.x + ns * mainWidth,\n\t\t\tmainBaseSprite.y + nv * mainHeight\n\t\t);\n\n\t\t// New color\n\t\tthis.onColorNew(color);\n\t}\n\n\tprotected onColorNew(color: number): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tlayer.lock();\n\t\t}\n\t\tthis._sampleNewSprite.tint = this._new.color = color;\n\t\tthis._inputAndLabelColor.input.value = UtilRgb.toCode(color);\n\t\tthis.emit(\"newcolorchange\", color, this);\n\t\tif (layer) {\n\t\t\tlayer.unlock();\n\t\t\tlayer.update();\n\t\t}\n\t}\n\n\tprotected onBaseDown(e: InteractionEvent): void {\n\t\tthis.onBasePick(e.data.global);\n\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.on(UtilPointerEvent.move, this._onBaseMoveBound);\n\t\t\tstage.on(UtilPointerEvent.up, this._onBaseUpBound);\n\t\t}\n\t}\n\n\tprotected onBaseMove(e: InteractionEvent): void {\n\t\tthis.onBasePick(e.data.global);\n\t}\n\n\tprotected onBaseUp(e: InteractionEvent): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.off(UtilPointerEvent.move, this._onBaseMoveBound);\n\t\t\tstage.off(UtilPointerEvent.up, this._onBaseUpBound);\n\t\t}\n\t}\n\n\tprotected toBaseHex(t: number, shift: number): number {\n\t\treturn Math.max(0, Math.min(255, t * 6 * 255)) << shift;\n\t}\n\n\tprotected toBaseColor(t: number): number {\n\t\tif (t <= 0.167) {\n\t\t\treturn 0xff0000 + this.toBaseHex(t, 8);\n\t\t} else if (t <= 0.333) {\n\t\t\tt = 0.333 - t;\n\t\t\treturn 0x00ff00 + this.toBaseHex(t, 16);\n\t\t} else if (t <= 0.5) {\n\t\t\tt -= 0.333;\n\t\t\treturn 0x00ff00 + this.toBaseHex(t, 0);\n\t\t} else if (t < 0.667) {\n\t\t\tt = 0.667 - t;\n\t\t\treturn 0x0000ff + this.toBaseHex(t, 8);\n\t\t} else if (t < 0.883) {\n\t\t\tt -= 0.667;\n\t\t\treturn 0x0000ff + this.toBaseHex(t, 16);\n\t\t} else {\n\t\t\tt = 0.883 - t;\n\t\t\treturn 0xff0000 + this.toBaseHex(t, 0);\n\t\t}\n\t}\n\n\tprotected onBasePick(global: Point): void {\n\t\tconst point = this._pointerPoint;\n\t\tconst padding = this._padding;\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tthis.toLocal(global, undefined, point);\n\t\tconst x = Math.max(0, Math.min(mainWidth, point.x - padding.getLeft()));\n\t\tconst basePointerSprite = this._basePointerSprite;\n\t\tbasePointerSprite.x = x;\n\t\tthis.onColorBase(this.toBaseColor(x / mainWidth));\n\t}\n\n\tprotected setColorBase(h: number): void {\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tconst basePointerSprite = this._basePointerSprite;\n\t\tbasePointerSprite.x = Math.max(0, Math.min(1, h / 360)) * mainWidth;\n\t\tthis.onColorBase(UtilHsv.toRgb(h, 255, 255));\n\t}\n\n\tprotected onColorBase(color: number): void {\n\t\tthis._mainSprite.tint = this._base = color;\n\n\t\tconst mainPointerSprite = this._mainPointerSprite;\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tconst mainHeight = theme.getMainHeight();\n\t\tconst padding = this._padding;\n\t\tthis.onColorNew(\n\t\t\tthis.toMainColor(\n\t\t\t\tthis._base,\n\t\t\t\tmainPointerSprite.x - padding.getLeft(),\n\t\t\t\tmainPointerSprite.y - padding.getTop(),\n\t\t\t\tmainWidth,\n\t\t\t\tmainHeight\n\t\t\t)\n\t\t);\n\t}\n\n\tprotected onAlphaDown(e: InteractionEvent): void {\n\t\tthis.onAlphaPick(e.data.global);\n\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.on(UtilPointerEvent.move, this._onAlphaMoveBound);\n\t\t\tstage.on(UtilPointerEvent.up, this._onAlphaUpBound);\n\t\t}\n\t}\n\n\tprotected onAlphaMove(e: InteractionEvent): void {\n\t\tthis.onAlphaPick(e.data.global);\n\t}\n\n\tprotected onAlphaUp(e: InteractionEvent): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.off(UtilPointerEvent.move, this._onAlphaMoveBound);\n\t\t\tstage.off(UtilPointerEvent.up, this._onAlphaUpBound);\n\t\t}\n\t}\n\n\tprotected onAlphaPick(global: Point): void {\n\t\tconst point = this._pointerPoint;\n\t\tconst padding = this._padding;\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tthis.toLocal(global, undefined, point);\n\t\tconst x = Math.max(0, Math.min(mainWidth, point.x - padding.getLeft()));\n\t\tthis._alphaPointerSprite.x = x;\n\t\tthis.onAlphaNew(x / mainWidth);\n\t}\n\n\tprotected setAlphaNew(alpha: number): void {\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tthis._alphaPointerSprite.x = Math.max(0, Math.min(1, alpha)) * mainWidth;\n\t\tthis.onAlphaNew(alpha);\n\t}\n\n\tprotected onAlphaNew(alpha: number): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tlayer.lock();\n\t\t}\n\t\tthis._sampleNewSprite.alpha = this._new.alpha = alpha;\n\t\tthis._inputAndLabelAlpha.input.value = Number(alpha.toFixed(2));\n\t\tthis.emit(\"newalphachange\", alpha, this);\n\t\tif (layer) {\n\t\t\tlayer.unlock();\n\t\t\tlayer.update();\n\t\t}\n\t}\n\n\tprotected onRecentChange(): void {\n\t\tconst sprites = this._recentColorSprites;\n\t\tconst recent = this._recent;\n\t\tfor (let i = 0, imax = sprites.length; i < imax; ++i) {\n\t\t\tconst sprite = sprites[i];\n\t\t\tconst colorAndAlpha = recent.get(i);\n\t\t\tif (colorAndAlpha != null) {\n\t\t\t\tsprite.tint = colorAndAlpha.color;\n\t\t\t\tsprite.alpha = colorAndAlpha.alpha;\n\t\t\t} else {\n\t\t\t\tsprite.tint = 0xffffff;\n\t\t\t\tsprite.alpha = 0;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onStandardChange(): void {\n\t\tconst sprites = this._standardColorSprites;\n\t\tconst standard = this._standard;\n\t\tfor (let i = 0, imax = sprites.length; i < imax; ++i) {\n\t\t\tconst sprite = sprites[i];\n\t\t\tconst color = standard.get(i);\n\t\t\tif (color != null) {\n\t\t\t\tsprite.tint = color;\n\t\t\t\tsprite.alpha = 1;\n\t\t\t} else {\n\t\t\t\tsprite.tint = 0xffffff;\n\t\t\t\tsprite.alpha = 1;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onTypeChange(type: DColorType): void {\n\t\tswitch (type) {\n\t\t\tcase DColorType.CUSTOM:\n\t\t\t\tthis._mainBaseSprite.visible = true;\n\t\t\t\tthis._mainSprite.visible = true;\n\t\t\t\tthis._mainPointerSprite.visible = true;\n\t\t\t\tthis._baseSprite.visible = true;\n\t\t\t\tthis._mainStandardColor.visible = false;\n\t\t\t\tbreak;\n\t\t\tcase DColorType.STANDARD:\n\t\t\t\tthis._mainBaseSprite.visible = false;\n\t\t\t\tthis._mainSprite.visible = false;\n\t\t\t\tthis._mainPointerSprite.visible = false;\n\t\t\t\tthis._baseSprite.visible = false;\n\t\t\t\tthis._mainStandardColor.visible = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DPickerColor\";\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-picker-color.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-picker-color.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, Point, Sprite, Texture } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DColorAndAlpha } from \"./d-color-and-alpha\";\nimport { DInputRealAndLabel } from \"./d-input-real-and-label\";\nimport { DInputTextAndLabel } from \"./d-input-text-and-label\";\nimport { DPickerColorAndAlpha } from \"./d-picker-color-and-alpha\";\nimport { DColorRecent } from \"./d-color-recent\";\nimport { UtilHsv } from \"./util/util-hsv\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { UtilRgb } from \"./util/util-rgb\";\nimport { DBaseInteractive } from \"./d-base-interactive\";\nimport { DColorStandard } from \"./d-color-standard\";\nimport { DSelect } from \"./d-select\";\nimport { DLayoutHorizontal } from \"./d-layout-horizontal\";\nimport { DColorType } from \"./d-color-type\";\nimport { DColorStandards } from \"./d-color-standards\";\nimport { DColorRecents } from \"./d-color-recents\";\n\nexport interface DPickerColorOptions<THEME extends DThemePickerColor = DThemePickerColor>\n\textends DBaseOptions<THEME> {}\n\nexport interface DThemePickerColor extends DThemeBase {\n\tgetMainWidth(): number;\n\tgetMainHeight(): number;\n\tgetMainTexture(): Texture;\n\tgetMainBaseTexture(): Texture;\n\tgetMainPointerTexture(): Texture;\n\tgetMainPointerColor(): number;\n\tgetMainPointerAlpha(): number;\n\n\tgetBaseHeight(): number;\n\tgetBaseMargin(): number;\n\tgetBaseTexture(): Texture;\n\tgetBasePointerTexture(): Texture;\n\tgetBasePointerColor(): number;\n\tgetBasePointerAlpha(): number;\n\n\tgetAlphaHeight(): number;\n\tgetAlphaMargin(): number;\n\tgetAlphaTexture(): Texture;\n\tgetAlphaCheckerboardTexture(): Texture;\n\tgetAlphaPointerTexture(): Texture;\n\tgetAlphaPointerColor(): number;\n\tgetAlphaPointerAlpha(): number;\n\n\tgetRecentMargin(): number;\n\tgetRecentColorMargin(): number;\n\tgetRecentColorWidth(): number;\n\tgetRecentColorHeight(): number;\n\tgetRecentColorCount(): number;\n\tgetRecentCheckerboardTexture(): Texture;\n\tgetRecentTexture(): Texture;\n\n\tgetInputMargin(): number;\n\tgetInputLabelWidth(): number;\n\n\tgetSampleWidth(): number;\n\tgetSampleHeight(): number;\n\tgetSampleMargin(): number;\n\tgetSampleCheckerboardOldTexture(): Texture;\n\tgetSampleCheckerboardNewTexture(): Texture;\n\tgetSampleOldTexture(): Texture;\n\tgetSampleNewTexture(): Texture;\n\n\tgetStandardColorCount(): number;\n\tgetStandardColorWidth(): number;\n\tgetStandardColorHeight(): number;\n\tgetStandardColorMargin(): number;\n\tgetStandardTexture(): Texture;\n\n\ttoColorTypeLabel(type: DColorType): string;\n}\n\nexport class DPickerColor<\n\tTHEME extends DThemePickerColor = DThemePickerColor,\n\tOPTIONS extends DPickerColorOptions<THEME> = DPickerColorOptions<THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected _mainBaseSprite!: Sprite;\n\tprotected _mainSprite!: Sprite;\n\tprotected _mainPointerSprite!: Sprite;\n\tprotected _pointerPoint!: Point;\n\tprotected _mainStandardColor!: DLayoutHorizontal;\n\tprotected _onMainMoveBound!: (e: InteractionEvent) => void;\n\tprotected _onMainUpBound!: (e: InteractionEvent) => void;\n\n\tprotected _standardColorSprites!: Sprite[];\n\tprotected _standard!: DColorStandard;\n\n\tprotected _baseSprite!: Sprite;\n\tprotected _basePointerSprite!: Sprite;\n\tprotected _onBaseMoveBound!: (e: InteractionEvent) => void;\n\tprotected _onBaseUpBound!: (e: InteractionEvent) => void;\n\n\tprotected _alphaCheckerboardSprite!: Sprite;\n\tprotected _alphaSprite!: Sprite;\n\tprotected _alphaPointerSprite!: Sprite;\n\tprotected _onAlphaMoveBound!: (e: InteractionEvent) => void;\n\tprotected _onAlphaUpBound!: (e: InteractionEvent) => void;\n\n\tprotected _recentColorSprites!: Sprite[];\n\tprotected _recent!: DColorRecent;\n\n\tprotected _inputAndLabelColor!: DInputTextAndLabel;\n\tprotected _inputAndLabelAlpha!: DInputRealAndLabel;\n\n\tprotected _sampleCurrentCheckerboardSprite!: Sprite;\n\tprotected _sampleCurrentSprite!: Sprite;\n\tprotected _sampleNewCheckerboardSprite!: Sprite;\n\tprotected _sampleNewSprite!: Sprite;\n\n\tprotected _current!: DColorAndAlpha;\n\tprotected _currentPicker!: DPickerColorAndAlpha;\n\tprotected _base!: number;\n\tprotected _new!: DColorAndAlpha;\n\tprotected _newPicker!: DPickerColorAndAlpha;\n\n\tprotected _typeSelector!: DSelect<DColorType>;\n\n\tget current(): DColorAndAlpha {\n\t\treturn this._currentPicker;\n\t}\n\n\tget new(): DColorAndAlpha {\n\t\treturn this._newPicker;\n\t}\n\n\tget recent(): DColorRecent {\n\t\treturn this._recent;\n\t}\n\n\tget standard(): DColorStandard {\n\t\treturn this._standard;\n\t}\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\n\t\tthis._base = 0xff0000;\n\t\tthis._new = { color: 0xffffff, alpha: 1 };\n\t\tthis._newPicker = new DPickerColorAndAlpha(\n\t\t\tthis._new,\n\t\t\t(color) => {\n\t\t\t\tthis.setColorNew(color);\n\t\t\t},\n\t\t\t(alpha: number) => {\n\t\t\t\tthis.setAlphaNew(alpha);\n\t\t\t}\n\t\t);\n\t\tthis._current = { color: 0xffffff, alpha: 1 };\n\t\tthis._currentPicker = new DPickerColorAndAlpha(\n\t\t\tthis._current,\n\t\t\t(color) => {\n\t\t\t\tthis.setColorCurrent(color);\n\t\t\t},\n\t\t\t(alpha: number) => {\n\t\t\t\tthis.setAlphaCurrent(alpha);\n\t\t\t}\n\t\t);\n\n\t\tconst theme = this.theme;\n\t\tconst padding = this._padding;\n\t\tconst paddingTop = padding.getTop();\n\t\tconst paddingRight = padding.getRight();\n\t\tconst paddingBottom = padding.getBottom();\n\t\tconst paddingLeft = padding.getLeft();\n\t\tthis._pointerPoint = new Point();\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tconst mainHeight = theme.getMainHeight();\n\n\t\tconst typeSelector = new DSelect<DColorType>({\n\t\t\tparent: this,\n\t\t\tvalue: DColorType.STANDARD,\n\t\t\tmenu: {\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: DColorType.STANDARD,\n\t\t\t\t\t\ttext: {\n\t\t\t\t\t\t\tvalue: theme.toColorTypeLabel(DColorType.STANDARD)\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: DColorType.CUSTOM,\n\t\t\t\t\t\ttext: {\n\t\t\t\t\t\t\tvalue: theme.toColorTypeLabel(DColorType.CUSTOM)\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\ton: {\n\t\t\t\tchange: (value: DColorType): void => {\n\t\t\t\t\tthis.onTypeChange(value);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis._typeSelector = typeSelector;\n\t\ttypeSelector.x = paddingLeft;\n\t\ttypeSelector.y = paddingTop;\n\t\ttypeSelector.width = mainWidth;\n\t\ttypeSelector.interactive = true;\n\t\tthis.addChild(typeSelector);\n\n\t\t// Main\n\t\tconst mainBaseSprite = new Sprite(theme.getMainBaseTexture());\n\t\tthis._mainBaseSprite = mainBaseSprite;\n\t\tmainBaseSprite.x = paddingLeft;\n\t\tmainBaseSprite.y = typeSelector.y + typeSelector.height + theme.getBaseMargin();\n\t\tmainBaseSprite.width = mainWidth;\n\t\tmainBaseSprite.height = mainHeight;\n\t\tmainBaseSprite.interactive = true;\n\t\tmainBaseSprite.visible = false;\n\t\tthis.addChild(mainBaseSprite);\n\n\t\tconst mainSprite = new Sprite(theme.getMainTexture());\n\t\tthis._mainSprite = mainSprite;\n\t\tmainSprite.x = paddingLeft;\n\t\tmainSprite.y = typeSelector.y + typeSelector.height + theme.getBaseMargin();\n\t\tmainSprite.tint = this._base;\n\t\tmainSprite.interactive = false;\n\t\tmainSprite.visible = false;\n\t\tthis.addChild(mainSprite);\n\n\t\t// Main event handling\n\t\tthis._onMainMoveBound = (e: InteractionEvent): void => {\n\t\t\tthis.onMainMove(e);\n\t\t};\n\t\tthis._onMainUpBound = (e: InteractionEvent): void => {\n\t\t\tthis.onMainUp(e);\n\t\t};\n\t\tmainBaseSprite.on(UtilPointerEvent.down, (e: InteractionEvent) => {\n\t\t\tthis.onMainDown(e);\n\t\t});\n\n\t\t// Base color picker\n\t\tconst baseSprite = new Sprite(theme.getBaseTexture());\n\t\tthis._baseSprite = baseSprite;\n\t\tbaseSprite.x = paddingLeft;\n\t\tbaseSprite.y = mainBaseSprite.y + mainBaseSprite.height + theme.getBaseMargin();\n\t\tbaseSprite.interactive = true;\n\t\tbaseSprite.visible = false;\n\t\tthis.addChild(baseSprite);\n\n\t\t// Base event\n\t\tthis._onBaseMoveBound = (e: InteractionEvent): void => {\n\t\t\tthis.onBaseMove(e);\n\t\t};\n\t\tthis._onBaseUpBound = (e: InteractionEvent): void => {\n\t\t\tthis.onBaseUp(e);\n\t\t};\n\t\tbaseSprite.on(UtilPointerEvent.down, (e: InteractionEvent) => {\n\t\t\tthis.onBaseDown(e);\n\t\t});\n\n\t\t// Standard main color\n\t\tthis._standardColorSprites = [];\n\t\tconst standardColorSprites = this._standardColorSprites;\n\t\tconst standardColorCount = theme.getStandardColorCount();\n\t\tconst standardColorWidth = theme.getStandardColorWidth();\n\t\tconst standardColorHeight = theme.getStandardColorHeight();\n\t\tconst standardColorMargin = theme.getStandardColorMargin();\n\t\tconst standardColorY = typeSelector.y + typeSelector.height + theme.getBaseMargin();\n\t\tconst standardTexture = theme.getStandardTexture();\n\t\tconst standard = (this._standard = DColorStandards.getInstance());\n\t\tstandard.on(\"change\", () => {\n\t\t\tthis.onStandardChange();\n\t\t});\n\t\tconst onStandardClick = (e: InteractionEvent) => {\n\t\t\tconst sprite = e.currentTarget;\n\t\t\tif (sprite instanceof Sprite) {\n\t\t\t\tthis.setColorNew(sprite.tint);\n\t\t\t}\n\t\t};\n\t\tfor (let i = 0; i < standardColorCount; ++i) {\n\t\t\tconst x = paddingLeft + (i % 10) * (standardColorWidth + standardColorMargin);\n\t\t\tconst y =\n\t\t\t\tstandardColorY + Math.floor(i / 10) * (standardColorHeight + standardColorMargin);\n\n\t\t\tconst sprite = new Sprite(standardTexture);\n\t\t\tconst standardColor = standard.get(i);\n\t\t\tif (standardColor != null) {\n\t\t\t\tsprite.tint = standardColor;\n\t\t\t\tsprite.alpha = 1;\n\t\t\t} else {\n\t\t\t\tsprite.tint = 0xffffff;\n\t\t\t\tsprite.alpha = 1;\n\t\t\t}\n\t\t\tsprite.x = x;\n\t\t\tsprite.y = y;\n\t\t\tsprite.buttonMode = true;\n\t\t\tsprite.interactive = true;\n\t\t\tsprite.on(UtilPointerEvent.tap, onStandardClick);\n\t\t\tstandardColorSprites.push(sprite);\n\t\t}\n\t\tconst mainStandardColor = new DLayoutHorizontal({\n\t\t\twidth: \"auto\",\n\t\t\theight: \"auto\",\n\t\t\trow: 8,\n\t\t\tchildren: standardColorSprites\n\t\t});\n\t\tthis._mainStandardColor = mainStandardColor;\n\t\tmainStandardColor.visible = true;\n\t\tthis.addChild(mainStandardColor);\n\n\t\t// Alpha picker\n\t\tconst alphaCheckerboardSprite = new Sprite(theme.getAlphaCheckerboardTexture());\n\t\tthis._alphaCheckerboardSprite = alphaCheckerboardSprite;\n\t\talphaCheckerboardSprite.x = padding.getLeft();\n\t\talphaCheckerboardSprite.y = baseSprite.y + theme.getBaseHeight() + theme.getBaseMargin();\n\t\talphaCheckerboardSprite.interactive = false;\n\t\tthis.addChild(alphaCheckerboardSprite);\n\n\t\tconst alphaSprite = new Sprite(theme.getAlphaTexture());\n\t\talphaSprite.tint = this._new.color;\n\t\talphaSprite.interactive = true;\n\t\talphaCheckerboardSprite.addChild(alphaSprite);\n\n\t\t// Alpha event\n\t\tthis._onAlphaMoveBound = (e: InteractionEvent): void => {\n\t\t\tthis.onAlphaMove(e);\n\t\t};\n\t\tthis._onAlphaUpBound = (e: InteractionEvent): void => {\n\t\t\tthis.onAlphaUp(e);\n\t\t};\n\t\talphaSprite.on(UtilPointerEvent.down, (e: InteractionEvent) => {\n\t\t\tthis.onAlphaDown(e);\n\t\t});\n\n\t\t// Pointers\n\t\tconst mainPointerSprite = new Sprite(theme.getMainPointerTexture());\n\t\tthis._mainPointerSprite = mainPointerSprite;\n\t\tmainPointerSprite.x = paddingLeft;\n\t\tmainPointerSprite.y = typeSelector.y + typeSelector.height + theme.getBaseMargin();\n\t\tmainPointerSprite.anchor.x = 0.5;\n\t\tmainPointerSprite.anchor.y = 0.5;\n\t\tmainPointerSprite.tint = theme.getMainPointerColor();\n\t\tmainPointerSprite.alpha = theme.getMainPointerAlpha();\n\t\tmainPointerSprite.interactive = false;\n\t\tmainPointerSprite.visible = false;\n\t\tthis.addChild(mainPointerSprite);\n\n\t\tconst alphaPointerSprite = new Sprite(theme.getAlphaPointerTexture());\n\t\tthis._alphaPointerSprite = alphaPointerSprite;\n\t\talphaPointerSprite.x = mainWidth;\n\t\talphaPointerSprite.y = alphaCheckerboardSprite.height * 0.5;\n\t\talphaPointerSprite.tint = theme.getAlphaPointerColor();\n\t\talphaPointerSprite.alpha = theme.getAlphaPointerAlpha();\n\t\talphaPointerSprite.anchor.set(0.5, 0.5);\n\t\talphaPointerSprite.interactive = false;\n\t\talphaCheckerboardSprite.addChild(alphaPointerSprite);\n\n\t\tconst basePointerSprite = new Sprite(theme.getBasePointerTexture());\n\t\tthis._basePointerSprite = basePointerSprite;\n\t\tbasePointerSprite.x = 0;\n\t\tbasePointerSprite.y = baseSprite.height * 0.5;\n\t\tbasePointerSprite.tint = theme.getBasePointerColor();\n\t\tbasePointerSprite.alpha = theme.getBasePointerAlpha();\n\t\tbasePointerSprite.anchor.set(0.5, 0.5);\n\t\tbasePointerSprite.interactive = false;\n\t\tbaseSprite.addChild(basePointerSprite);\n\n\t\t// Recently used\n\t\tthis._recentColorSprites = [];\n\t\tconst recentColorSprites = this._recentColorSprites;\n\t\tconst recentColorCount = theme.getRecentColorCount();\n\t\tconst recentColorWidth = theme.getRecentColorWidth();\n\t\tconst recentColorHeight = theme.getRecentColorHeight();\n\t\tconst recentColorMargin = theme.getRecentColorMargin();\n\t\tconst recentColorY =\n\t\t\talphaCheckerboardSprite.y + theme.getAlphaHeight() + theme.getRecentMargin();\n\t\tconst recentCheckerboardTexture = theme.getRecentCheckerboardTexture();\n\t\tconst recentTexture = theme.getRecentTexture();\n\t\tconst recent = (this._recent = DColorRecents.getInstance());\n\t\trecent.on(\"change\", () => {\n\t\t\tthis.onRecentChange();\n\t\t});\n\t\tconst onRecentClick = (e: InteractionEvent) => {\n\t\t\tconst sprite = e.currentTarget;\n\t\t\tif (sprite instanceof Sprite) {\n\t\t\t\tthis.setColorNew(sprite.tint);\n\t\t\t\tthis.setAlphaNew(sprite.alpha);\n\t\t\t}\n\t\t};\n\t\tfor (let i = 0; i < recentColorCount; ++i) {\n\t\t\tconst x = paddingLeft + i * (recentColorWidth + recentColorMargin);\n\t\t\tconst y = recentColorY;\n\n\t\t\tconst checkerboardSprite = new Sprite(recentCheckerboardTexture);\n\t\t\tcheckerboardSprite.x = x;\n\t\t\tcheckerboardSprite.y = y;\n\t\t\tcheckerboardSprite.interactive = false;\n\t\t\tthis.addChild(checkerboardSprite);\n\n\t\t\tconst sprite = new Sprite(recentTexture);\n\t\t\tconst recentColorAndAlpha = recent.get(i);\n\t\t\tif (recentColorAndAlpha != null) {\n\t\t\t\tsprite.tint = recentColorAndAlpha.color;\n\t\t\t\tsprite.alpha = recentColorAndAlpha.alpha;\n\t\t\t} else {\n\t\t\t\tsprite.tint = 0xffffff;\n\t\t\t\tsprite.alpha = 0;\n\t\t\t}\n\t\t\tsprite.x = x;\n\t\t\tsprite.y = y;\n\t\t\tsprite.buttonMode = true;\n\t\t\tsprite.interactive = true;\n\t\t\tsprite.on(UtilPointerEvent.tap, onRecentClick);\n\t\t\tthis.addChild(sprite);\n\t\t\trecentColorSprites.push(sprite);\n\t\t}\n\n\t\t// Input color\n\t\tconst inputMargin = theme.getInputMargin();\n\t\tconst inputLabelWidth = theme.getInputLabelWidth();\n\t\tconst inputY = recentColorY + recentColorHeight + inputMargin;\n\t\tconst inputWidth = (mainWidth - inputMargin) * 0.5;\n\t\tconst inputAndLabelColor = new DInputTextAndLabel({\n\t\t\tparent: this,\n\t\t\tx: paddingLeft,\n\t\t\ty: inputY,\n\t\t\twidth: inputWidth,\n\t\t\tlabel: {\n\t\t\t\twidth: inputLabelWidth,\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: \"#\"\n\t\t\t\t},\n\t\t\t\tinteractive: DBaseInteractive.NONE\n\t\t\t},\n\t\t\tinput: {\n\t\t\t\tweight: 1,\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: \"FFFFFF\"\n\t\t\t\t},\n\t\t\t\ton: {\n\t\t\t\t\tinput: (code: string): void => {\n\t\t\t\t\t\tconst color = UtilRgb.fromCode(code);\n\t\t\t\t\t\tif (color != null) {\n\t\t\t\t\t\t\tthis.setColorNew(color);\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});\n\t\tthis._inputAndLabelColor = inputAndLabelColor;\n\t\tconst inputHeight = inputAndLabelColor.height;\n\n\t\tconst inputAndLabelAlpha = new DInputRealAndLabel({\n\t\t\tparent: this,\n\t\t\tx: paddingLeft,\n\t\t\ty: inputY + inputHeight + inputMargin,\n\t\t\twidth: inputWidth,\n\t\t\tlabel: {\n\t\t\t\twidth: inputLabelWidth,\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: \"A\"\n\t\t\t\t},\n\t\t\t\tinteractive: DBaseInteractive.NONE\n\t\t\t},\n\t\t\tinput: {\n\t\t\t\tweight: 1,\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: 1\n\t\t\t\t},\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 1,\n\t\t\t\ton: {\n\t\t\t\t\tinput: (value: number) => {\n\t\t\t\t\t\tthis.setAlphaNew(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis._inputAndLabelAlpha = inputAndLabelAlpha;\n\n\t\t// Samples\n\t\tconst sampleWidth = theme.getSampleWidth();\n\t\tconst sampleHeight = theme.getSampleHeight();\n\t\tconst sampleX = paddingLeft + (mainWidth - inputMargin) * 0.5 + inputMargin;\n\t\tconst sampleY =\n\t\t\tinputY + (inputHeight + inputMargin + inputAndLabelAlpha.height - sampleHeight) * 0.5;\n\t\tconst sampleMargin = theme.getSampleMargin();\n\n\t\tconst sampleCurrentCheckerboardSprite = new Sprite(theme.getSampleCheckerboardOldTexture());\n\t\tthis._sampleCurrentCheckerboardSprite = sampleCurrentCheckerboardSprite;\n\t\tsampleCurrentCheckerboardSprite.x = sampleX;\n\t\tsampleCurrentCheckerboardSprite.y = sampleY;\n\t\tsampleCurrentCheckerboardSprite.width = sampleWidth;\n\t\tsampleCurrentCheckerboardSprite.height = sampleHeight;\n\t\tsampleCurrentCheckerboardSprite.interactive = false;\n\t\tthis.addChild(sampleCurrentCheckerboardSprite);\n\n\t\tconst current = this._current;\n\t\tconst sampleCurrentSprite = new Sprite(theme.getSampleOldTexture());\n\t\tthis._sampleCurrentSprite = sampleCurrentSprite;\n\t\tsampleCurrentSprite.x = sampleX;\n\t\tsampleCurrentSprite.y = sampleY;\n\t\tsampleCurrentSprite.tint = current.color;\n\t\tsampleCurrentSprite.alpha = current.alpha;\n\t\tsampleCurrentSprite.width = sampleWidth;\n\t\tsampleCurrentSprite.height = sampleHeight;\n\t\tsampleCurrentSprite.interactive = true;\n\t\tsampleCurrentSprite.buttonMode = true;\n\t\tsampleCurrentSprite.on(UtilPointerEvent.tap, (): void => {\n\t\t\tthis.setColorNew(current.color);\n\t\t\tthis.setAlphaNew(current.alpha);\n\t\t});\n\t\tthis.addChild(sampleCurrentSprite);\n\n\t\tconst sampleNewCheckerboardSprite = new Sprite(theme.getSampleCheckerboardNewTexture());\n\t\tthis._sampleNewCheckerboardSprite = sampleNewCheckerboardSprite;\n\t\tsampleNewCheckerboardSprite.x = sampleX + sampleWidth + sampleMargin;\n\t\tsampleNewCheckerboardSprite.y = sampleY;\n\t\tsampleNewCheckerboardSprite.width = sampleWidth;\n\t\tsampleNewCheckerboardSprite.height = sampleHeight;\n\t\tsampleNewCheckerboardSprite.interactive = false;\n\t\tthis.addChild(sampleNewCheckerboardSprite);\n\n\t\tconst sampleNewSprite = new Sprite(theme.getSampleNewTexture());\n\t\tthis._sampleNewSprite = sampleNewSprite;\n\t\tsampleNewSprite.x = sampleX + sampleWidth + sampleMargin;\n\t\tsampleNewSprite.y = sampleY;\n\t\tsampleNewSprite.tint = this._new.color;\n\t\tsampleNewSprite.alpha = this._new.alpha;\n\t\tsampleNewSprite.width = sampleWidth;\n\t\tsampleNewSprite.height = sampleHeight;\n\t\tsampleNewSprite.interactive = false;\n\t\tthis.addChild(sampleNewSprite);\n\n\t\t// Width\n\t\tif (options == null || options.width == null) {\n\t\t\tthis.width = paddingLeft + mainWidth + paddingRight;\n\t\t}\n\n\t\t// Height\n\t\tif (options == null || options.height == null) {\n\t\t\tthis.height =\n\t\t\t\tinputY +\n\t\t\t\tinputAndLabelColor.height +\n\t\t\t\tinputMargin +\n\t\t\t\tinputAndLabelAlpha.height +\n\t\t\t\tpaddingBottom;\n\t\t}\n\t}\n\n\tprotected onMainDown(e: InteractionEvent): void {\n\t\tthis.onMainPick(e.data.global);\n\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.on(UtilPointerEvent.move, this._onMainMoveBound);\n\t\t\tstage.on(UtilPointerEvent.up, this._onMainUpBound);\n\t\t\tstage.on(UtilPointerEvent.upoutside, this._onMainUpBound);\n\t\t}\n\t}\n\n\tprotected onMainMove(e: InteractionEvent): void {\n\t\tthis.onMainPick(e.data.global);\n\t}\n\n\tprotected onMainUp(e: InteractionEvent): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.off(UtilPointerEvent.move, this._onMainMoveBound);\n\t\t\tstage.off(UtilPointerEvent.up, this._onMainUpBound);\n\t\t}\n\t}\n\n\tprotected toMainHex(b: number, w0: number, w1: number, shift: number): number {\n\t\treturn Math.max(0, Math.min(255, w0 * 255 + w1 * ((b >> shift) & 0xff))) << shift;\n\t}\n\n\tprotected toMainColor(\n\t\tbase: number,\n\t\ttx: number,\n\t\tty: number,\n\t\twidth: number,\n\t\theight: number\n\t): number {\n\t\tconst hw = width * 0.5;\n\t\tconst ux = Math.max(0, Math.min(1, ((tx - hw) * (1 - ty / height) + hw) / width));\n\t\tconst uy = Math.max(0, Math.min(1, ty / height));\n\t\tconst w1 = Math.abs(0.5 * uy - ux);\n\t\tconst w0 = 1 - w1 - uy;\n\t\tconst r = this.toMainHex(base, w0, w1, 16);\n\t\tconst g = this.toMainHex(base, w0, w1, 8);\n\t\tconst b = this.toMainHex(base, w0, w1, 0);\n\t\treturn r | g | b;\n\t}\n\n\tprotected onMainPick(global: Point): void {\n\t\tconst mainBaseSprite = this._mainBaseSprite;\n\t\tconst point = this._pointerPoint;\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tconst mainHeight = theme.getMainHeight();\n\t\tthis.toLocal(global, undefined, point);\n\t\tconst x = Math.max(0, Math.min(mainWidth, point.x - mainBaseSprite.x));\n\t\tconst y = Math.max(0, Math.min(mainHeight, point.y - mainBaseSprite.y));\n\t\tconst mainPointerSprite = this._mainPointerSprite;\n\t\tmainPointerSprite.position.set(mainBaseSprite.x + x, mainBaseSprite.y + y);\n\t\tthis.onColorNew(this.toMainColor(this._base, x, y, mainWidth, mainHeight));\n\t}\n\n\tprotected setColorCurrent(color: number): void {\n\t\tthis._sampleCurrentSprite.tint = this._current.color = color;\n\t}\n\n\tprotected setAlphaCurrent(alpha: number): void {\n\t\tthis._sampleCurrentSprite.alpha = this._current.alpha = alpha;\n\t}\n\n\tprotected setColorNew(color: number): void {\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tconst mainHeight = theme.getMainHeight();\n\t\tconst mainBaseSprite = this._mainBaseSprite;\n\n\t\t// Base color\n\t\tconst hsv = UtilHsv.fromRgb(color);\n\t\tthis._mainSprite.tint = this._base = UtilHsv.toRgb(hsv[0], 255, 255);\n\n\t\t// Move the base pointer\n\t\tconst basePointerSprite = this._basePointerSprite;\n\t\tbasePointerSprite.x = Math.max(0, Math.min(1, hsv[0] / 360)) * mainWidth;\n\n\t\t// Move the main pointer\n\t\tconst ns = Math.max(0, Math.min(1, hsv[1] / 255));\n\t\tconst nv = Math.max(0, Math.min(1, 1 - hsv[2] / 255));\n\t\tconst mainPointerSprite = this._mainPointerSprite;\n\t\tmainPointerSprite.tint = nv < 0.45 ? theme.getMainPointerColor() : 0xffffff;\n\t\tmainPointerSprite.position.set(\n\t\t\tmainBaseSprite.x + ns * mainWidth,\n\t\t\tmainBaseSprite.y + nv * mainHeight\n\t\t);\n\n\t\t// New color\n\t\tthis.onColorNew(color);\n\t}\n\n\tprotected onColorNew(color: number): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tlayer.lock();\n\t\t}\n\t\tthis._sampleNewSprite.tint = this._new.color = color;\n\t\tthis._inputAndLabelColor.input.value = UtilRgb.toCode(color);\n\t\tthis.emit(\"newcolorchange\", color, this);\n\t\tif (layer) {\n\t\t\tlayer.unlock();\n\t\t\tlayer.update();\n\t\t}\n\t}\n\n\tprotected onBaseDown(e: InteractionEvent): void {\n\t\tthis.onBasePick(e.data.global);\n\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.on(UtilPointerEvent.move, this._onBaseMoveBound);\n\t\t\tstage.on(UtilPointerEvent.up, this._onBaseUpBound);\n\t\t}\n\t}\n\n\tprotected onBaseMove(e: InteractionEvent): void {\n\t\tthis.onBasePick(e.data.global);\n\t}\n\n\tprotected onBaseUp(e: InteractionEvent): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.off(UtilPointerEvent.move, this._onBaseMoveBound);\n\t\t\tstage.off(UtilPointerEvent.up, this._onBaseUpBound);\n\t\t}\n\t}\n\n\tprotected toBaseHex(t: number, shift: number): number {\n\t\treturn Math.max(0, Math.min(255, t * 6 * 255)) << shift;\n\t}\n\n\tprotected toBaseColor(t: number): number {\n\t\tif (t <= 0.167) {\n\t\t\treturn 0xff0000 + this.toBaseHex(t, 8);\n\t\t} else if (t <= 0.333) {\n\t\t\tt = 0.333 - t;\n\t\t\treturn 0x00ff00 + this.toBaseHex(t, 16);\n\t\t} else if (t <= 0.5) {\n\t\t\tt -= 0.333;\n\t\t\treturn 0x00ff00 + this.toBaseHex(t, 0);\n\t\t} else if (t < 0.667) {\n\t\t\tt = 0.667 - t;\n\t\t\treturn 0x0000ff + this.toBaseHex(t, 8);\n\t\t} else if (t < 0.883) {\n\t\t\tt -= 0.667;\n\t\t\treturn 0x0000ff + this.toBaseHex(t, 16);\n\t\t} else {\n\t\t\tt = 0.883 - t;\n\t\t\treturn 0xff0000 + this.toBaseHex(t, 0);\n\t\t}\n\t}\n\n\tprotected onBasePick(global: Point): void {\n\t\tconst point = this._pointerPoint;\n\t\tconst padding = this._padding;\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tthis.toLocal(global, undefined, point);\n\t\tconst x = Math.max(0, Math.min(mainWidth, point.x - padding.getLeft()));\n\t\tconst basePointerSprite = this._basePointerSprite;\n\t\tbasePointerSprite.x = x;\n\t\tthis.onColorBase(this.toBaseColor(x / mainWidth));\n\t}\n\n\tprotected setColorBase(h: number): void {\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tconst basePointerSprite = this._basePointerSprite;\n\t\tbasePointerSprite.x = Math.max(0, Math.min(1, h / 360)) * mainWidth;\n\t\tthis.onColorBase(UtilHsv.toRgb(h, 255, 255));\n\t}\n\n\tprotected onColorBase(color: number): void {\n\t\tthis._mainSprite.tint = this._base = color;\n\n\t\tconst mainPointerSprite = this._mainPointerSprite;\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tconst mainHeight = theme.getMainHeight();\n\t\tconst padding = this._padding;\n\t\tthis.onColorNew(\n\t\t\tthis.toMainColor(\n\t\t\t\tthis._base,\n\t\t\t\tmainPointerSprite.x - padding.getLeft(),\n\t\t\t\tmainPointerSprite.y - padding.getTop(),\n\t\t\t\tmainWidth,\n\t\t\t\tmainHeight\n\t\t\t)\n\t\t);\n\t}\n\n\tprotected onAlphaDown(e: InteractionEvent): void {\n\t\tthis.onAlphaPick(e.data.global);\n\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.on(UtilPointerEvent.move, this._onAlphaMoveBound);\n\t\t\tstage.on(UtilPointerEvent.up, this._onAlphaUpBound);\n\t\t}\n\t}\n\n\tprotected onAlphaMove(e: InteractionEvent): void {\n\t\tthis.onAlphaPick(e.data.global);\n\t}\n\n\tprotected onAlphaUp(e: InteractionEvent): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.off(UtilPointerEvent.move, this._onAlphaMoveBound);\n\t\t\tstage.off(UtilPointerEvent.up, this._onAlphaUpBound);\n\t\t}\n\t}\n\n\tprotected onAlphaPick(global: Point): void {\n\t\tconst point = this._pointerPoint;\n\t\tconst padding = this._padding;\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tthis.toLocal(global, undefined, point);\n\t\tconst x = Math.max(0, Math.min(mainWidth, point.x - padding.getLeft()));\n\t\tthis._alphaPointerSprite.x = x;\n\t\tthis.onAlphaNew(x / mainWidth);\n\t}\n\n\tprotected setAlphaNew(alpha: number): void {\n\t\tconst theme = this.theme;\n\t\tconst mainWidth = theme.getMainWidth();\n\t\tthis._alphaPointerSprite.x = Math.max(0, Math.min(1, alpha)) * mainWidth;\n\t\tthis.onAlphaNew(alpha);\n\t}\n\n\tprotected onAlphaNew(alpha: number): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tlayer.lock();\n\t\t}\n\t\tthis._sampleNewSprite.alpha = this._new.alpha = alpha;\n\t\tthis._inputAndLabelAlpha.input.value = Number(alpha.toFixed(2));\n\t\tthis.emit(\"newalphachange\", alpha, this);\n\t\tif (layer) {\n\t\t\tlayer.unlock();\n\t\t\tlayer.update();\n\t\t}\n\t}\n\n\tprotected onRecentChange(): void {\n\t\tconst sprites = this._recentColorSprites;\n\t\tconst recent = this._recent;\n\t\tfor (let i = 0, imax = sprites.length; i < imax; ++i) {\n\t\t\tconst sprite = sprites[i];\n\t\t\tconst colorAndAlpha = recent.get(i);\n\t\t\tif (colorAndAlpha != null) {\n\t\t\t\tsprite.tint = colorAndAlpha.color;\n\t\t\t\tsprite.alpha = colorAndAlpha.alpha;\n\t\t\t} else {\n\t\t\t\tsprite.tint = 0xffffff;\n\t\t\t\tsprite.alpha = 0;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onStandardChange(): void {\n\t\tconst sprites = this._standardColorSprites;\n\t\tconst standard = this._standard;\n\t\tfor (let i = 0, imax = sprites.length; i < imax; ++i) {\n\t\t\tconst sprite = sprites[i];\n\t\t\tconst color = standard.get(i);\n\t\t\tif (color != null) {\n\t\t\t\tsprite.tint = color;\n\t\t\t\tsprite.alpha = 1;\n\t\t\t} else {\n\t\t\t\tsprite.tint = 0xffffff;\n\t\t\t\tsprite.alpha = 1;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onTypeChange(type: DColorType): void {\n\t\tswitch (type) {\n\t\t\tcase DColorType.CUSTOM:\n\t\t\t\tthis._mainBaseSprite.visible = true;\n\t\t\t\tthis._mainSprite.visible = true;\n\t\t\t\tthis._mainPointerSprite.visible = true;\n\t\t\t\tthis._baseSprite.visible = true;\n\t\t\t\tthis._mainStandardColor.visible = false;\n\t\t\t\tbreak;\n\t\t\tcase DColorType.STANDARD:\n\t\t\t\tthis._mainBaseSprite.visible = false;\n\t\t\t\tthis._mainSprite.visible = false;\n\t\t\t\tthis._mainPointerSprite.visible = false;\n\t\t\t\tthis._baseSprite.visible = false;\n\t\t\t\tthis._mainStandardColor.visible = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DPickerColor\";\n\t}\n}\n"]}
|
|
@@ -210,6 +210,7 @@ var DTableBody = /** @class */ (function (_super) {
|
|
|
210
210
|
// State
|
|
211
211
|
var rowState = row.state;
|
|
212
212
|
rowState.lock();
|
|
213
|
+
rowState.add(DTableState.HAS_DATA);
|
|
213
214
|
rowState.set(DTableState.SELECTABLE, isRowSelectable);
|
|
214
215
|
rowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));
|
|
215
216
|
rowState.remove(DBaseState.DISABLED);
|
|
@@ -225,7 +226,7 @@ var DTableBody = /** @class */ (function (_super) {
|
|
|
225
226
|
var rowState = row.state;
|
|
226
227
|
rowState.lock();
|
|
227
228
|
rowState.add(DBaseState.DISABLED);
|
|
228
|
-
rowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);
|
|
229
|
+
rowState.removeAll(DTableState.HAS_DATA, DTableState.SELECTABLE, DBaseState.ACTIVE);
|
|
229
230
|
rowState.unlock();
|
|
230
231
|
// Data
|
|
231
232
|
row.unset();
|
|
@@ -238,7 +239,7 @@ var DTableBody = /** @class */ (function (_super) {
|
|
|
238
239
|
var rowState = row.state;
|
|
239
240
|
rowState.lock();
|
|
240
241
|
rowState.add(DBaseState.DISABLED);
|
|
241
|
-
rowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);
|
|
242
|
+
rowState.removeAll(DTableState.HAS_DATA, DTableState.SELECTABLE, DBaseState.ACTIVE);
|
|
242
243
|
rowState.unlock();
|
|
243
244
|
// Data
|
|
244
245
|
row.unset();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-body.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAwC,KAAK,EAAa,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,KAAK,EAAyC,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAA+C,MAAM,oBAAoB,CAAC;AAGhG,OAAO,EAAE,cAAc,EAAyB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAuB,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA6C7D,IAAM,YAAY,GAAG,UACpB,KAAsB,EACtB,OAAqC,EACrC,aAAsC;IAEtC,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IACzB,IAAI,MAAM,IAAI,IAAI,EAAE;QACnB,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;YAC1B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;SACrC;QACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,MAAM,CAAC,SAAS,GAAG;gBAClB,IAAI,EAAE,aAAa;aACnB,CAAC;SACF;aAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;YAC/C,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC;SACtC;KACD;SAAM;QACN,MAAM,GAAG;YACR,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE;YAC5B,SAAS,EAAE;gBACV,IAAI,EAAE,aAAa;aACnB;SACD,CAAC;KACF;IACD,OAAO,MAAmC,CAAC;AAC5C,CAAC,CAAC;AAEF;IAKU,8BAAqB;IAiB9B,oBAAY,OAA4B,EAAE,MAAc,EAAE,MAAc,EAAE,OAAgB;QAA1F,YACC,kBAAM,OAAO,CAAC,SAuBd;QArBA,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC;QACnC,IAAM,IAAI,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAChB,IAAM,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC;QACzB,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrE,KAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACvF,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,KAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,KAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,KAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,KAAI,CAAC,iBAAiB,GAAG,UAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM;YAC/E,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC,CAAC;QACF,KAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,EAAsC,CAAC;QAC/E,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,CAAC;;IACrC,CAAC;IAES,gCAAW,GAArB,UACC,QAAiB,EACjB,QAAiB,EACjB,GAAQ,EACR,QAAgB,EAChB,WAAmB,EACnB,MAAyB;QAEzB,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,kBAAkB,CAAC,GAAG,EAAE;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAClB;IACF,CAAC;IAES,2BAAM,GAAhB,UAAiB,OAA2C;QAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACzB,OAAO,OAAO,CAAC;SACf;QACD,OAAO,IAAI,cAAc,CAAM,OAAO,CAAQ,CAAC;IAChD,CAAC;IAES,2BAAM,GAAhB,UACC,MAAyD;QAEzD,OAAO,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,MAAM,CAAC;IAC7C,CAAC;IAED,6BAAQ,GAAR,UAAS,QAAgB,EAAE,SAAiB,EAAE,QAAgB,EAAE,SAAiB;QAChF,iBAAM,QAAQ,YAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED,sBAAI,iCAAS;aAAb;YACC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7B,CAAC;;;OAAA;IAED,yBAAI,GAAJ;QACC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;SACzC;IACF,CAAC;IAED,2BAAM,GAAN,UAAO,YAAqB;QAC3B,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAChC,IAAI,YAAY,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;SACzC;IACF,CAAC;IAED;;;;;OAKG;IACH,2BAAM,GAAN,UAAO,QAAkB;QACxB,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,QAAQ,EAAE;gBACb,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;aACxC;YACD,OAAO;SACP;QAED,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,OAAO;SACP;QACD,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,IAAI,aAAa,IAAI,IAAI,EAAE;YAC1B,OAAO;SACP;QAED,IAAM,IAAI,GAAG,IAAI,CAAC,QAAqC,CAAC;QACxD,IAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QACpC,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAE1C,IAAM,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAI,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACnD,IAAI,WAAW,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;QAEhE,IAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,IAAM,SAAS,GAAG,CAAC,GAAG,cAAc,GAAG,SAAS,CAAC;QACjD,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrD,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5E,IAAM,2BAA2B,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7D,IAAM,2BAA2B,GAAG,CAAC,MAAM,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC7E,IAAI,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACrE,sBAAsB,IAAI,sBAAsB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACnE,oBAAoB,IAAI,CAAC,oBAAoB,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,WAAW,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;QAChE,IAAI,WAAW,GAAG,WAAW,EAAE;YAC9B,WAAW,GAAG,WAAW,CAAC;YAC1B,oBAAoB,GAAG,sBAAsB,GAAG,WAAW,CAAC;SAC5D;QAED,IAAI,WAAW,GAAG,WAAW,EAAE;YAC9B,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE;gBAC/C,IAAM,iBAAiB,GAAG,sBAAsB,GAAG,CAAC,CAAC;gBACrD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACtB;YACD,WAAW,GAAG,WAAW,CAAC;YAC1B,oBAAoB,GAAG,sBAAsB,GAAG,WAAW,CAAC;SAC5D;aAAM,IAAI,WAAW,GAAG,WAAW,EAAE;YACrC,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;gBACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1B;YACD,WAAW,GAAG,WAAW,CAAC;YAC1B,oBAAoB,GAAG,sBAAsB,GAAG,WAAW,CAAC;SAC5D;QAED,IAAI,CAAC,oBAAoB,GAAG,sBAAsB,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;QAE/C,IAAM,wBAAwB,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;QACjF,IAAM,2BAA2B,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACvE,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,GAAG,2BAA2B,IAAI,2BAA2B,GAAG,UAAU,EAAE;YAChF,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5B,IAAI,CAAC,GAAG,wBAAwB,EAAE;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClC;gBACD,KAAK,IAAI,CAAC,GAAG,2BAA2B,EAAE,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE;oBAC9D,IAAI,CAAC,CAAC,GAAG,2BAA2B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChD;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,UAAU,GAAG,2BAA2B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC7D;aACD;iBAAM;gBACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,2BAA2B,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7E;gBACD,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,2BAA2B,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;oBACvE,IAAI,CAAC,CAAC,GAAG,2BAA2B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChD;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClB;aACD;YACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SAChB;QAED,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAM,eAAe,GAAG,SAAS,CAAC,IAAI,KAAK,uBAAuB,CAAC,IAAI,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,UACC,KAAU,EACV,YAA2C,EAC3C,KAAa,EACb,aAAqB;YAErB,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,CAAC;YAEjD,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC;YAEnC,QAAQ;YACR,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YACtD,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACnE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;YACP,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC,EACD,sBAAsB,EACtB,sBAAsB,GAAG,UAAU,CACnC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,sBAAsB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE;YACtE,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YAE1D,QAAQ;YACR,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9D,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;YACP,GAAG,CAAC,KAAK,EAAE,CAAC;SACZ;QAED,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,cAAc,IAAI,sBAAsB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YACzF,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YAE1D,QAAQ;YACR,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9D,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;YACP,GAAG,CAAC,KAAK,EAAE,CAAC;SACZ;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC;QACjC,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;IACrF,CAAC;IAES,6BAAQ,GAAlB,UAAmB,GAAuB;QACzC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,IAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACnD,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,YAAY,KAAK,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;aAC7B;SACD;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAES,2BAAM,GAAhB,UAAiB,MAAe;QAC/B,OAAO,IAAI,aAAa,CACvB,IAAI,CAAC,iBAAiB,EACtB,MAAM,EACN,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,CAChB,CAAC;IACH,CAAC;IAES,iCAAY,GAAtB,UAAuB,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;QAC5E,iBAAM,YAAY,YAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAES,6CAAwB,GAAlC,UAAmC,CAAS;QAC3C,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,MAAM,EAAE;YACjC,IAAM,IAAI,GAAG,IAAI,CAAC,QAAqC,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBAClD,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;aACpC;SACD;IACF,CAAC;IAED,oCAAe,GAAf,UAAgB,MAAe,EAAE,MAAiB;QACjD,iBAAM,eAAe,YAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEtC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;SACpB;IACF,CAAC;IAED;;;;;OAKG;IACH,6BAAQ,GAAR,UAAS,MAAoB;QAC5B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,OAAO,KAAK,CAAC;SACb;QACD,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,IAAI,YAAY,IAAI,IAAI,EAAE;YACzB,OAAO,KAAK,CAAC;SACb;QACD,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QACxB,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;YACrB,IAAI,CAAC,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;gBACpD,cAAc,GAAG,MAAM,CAAC;aACxB;SACD;aAAM;YACN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,GAAQ,EAAE,CAAU,EAAE,KAAa;gBACzD,IAAI,GAAG,KAAK,MAAM,EAAE;oBACnB,cAAc,GAAG,KAAK,CAAC;oBACvB,OAAO,KAAK,CAAC;iBACb;gBACD,OAAO,IAAI,CAAC;YACb,CAAC,CAAC,CAAC;SACH;QACD,IAAI,cAAc,GAAG,CAAC,EAAE;YACvB,OAAO,KAAK,CAAC;SACb;QACD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAChD,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CACjC,CAAC;QACF,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,qCAAgB,GAAhB,UAAiB,MAAc;QAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE;YACzC,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;gBACrD,OAAO,MAAM,CAAC;aACd;SACD;QACD,OAAO,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACH,0BAAK,GAAL,UAAM,cAAsB;QAC3B,IAAM,KAAK,GAAG,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAM,IAAI,GAAG,IAAI,CAAC,QAAqC,CAAC;QACxD,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;YACtC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;SACnB;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACH,2BAAM,GAAN,UAAO,GAAuB,EAAE,MAAc;QAC7C,IAAM,KAAK,GAAG,GAAG,CAAC,QAA+C,CAAC;QAClE,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YAC3E,IAAM,IAAI,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,IAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC9B,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,+BAAU,GAAV,UAAW,CAAmB;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC;YACvC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,cAAc,EAAE;gBACxB,gCAAgC;gBAChC,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACvC,IAAI,GAAG,EAAE;oBACR,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;oBACvC,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;wBAC3D,OAAO;qBACP;iBACD;gBAED,0BAA0B;gBAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;aACpC;SACD;IACF,CAAC;IAES,gCAAW,GAArB,UAAsB,CAAmB,EAAE,cAAsB;QAChE,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,KAAK,uBAAuB,CAAC,MAAM,CAAC;QACnE,IAAM,WAAW,GAAG,CAAC,QAAQ,CAAC;QAC9B,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,IAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,IAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;QACxC,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE;YAC/E,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAChC;aAAM,IAAI,OAAO,EAAE;YACnB,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC3B;aAAM,IAAI,QAAQ,EAAE;YACpB,IAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC;YACpC,IAAI,YAAY,IAAI,IAAI,EAAE;gBACzB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACpD,IAAI,cAAc,IAAI,IAAI,IAAI,kBAAkB,IAAI,IAAI,EAAE;oBACzD,IAAI,MAAM,GAAG,kBAAkB,GAAG,CAAC,CAAC;oBACpC,IAAI,IAAI,GAAG,cAAc,GAAG,CAAC,CAAC;oBAC9B,IAAI,cAAc,GAAG,kBAAkB,EAAE;wBACxC,MAAM,GAAG,cAAc,CAAC;wBACxB,IAAI,GAAG,kBAAkB,CAAC;qBAC1B;oBACD,IAAI,MAAM,GAAG,IAAI,EAAE;wBAClB,IAAM,UAAU,GAAa,EAAE,CAAC;wBAChC,IAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;wBACvC,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;wBACrC,IAAI,eAAe,EAAE;4BACpB,IAAI,aAAa,EAAE;gCAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCAC7D,IAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;oCACzC,IAAI,MAAM,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,EAAE;wCACpD,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;qCAC9C;iCACD;6BACD;iCAAM;gCACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCAC7D,IAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;oCACzC,IAAI,MAAM,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,EAAE;wCACpD,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;qCAC/B;iCACD;6BACD;yBACD;6BAAM;4BACN,IAAI,aAAa,EAAE;gCAClB,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCACnC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;iCAClC;6BACD;iCAAM;gCACN,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCACnC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iCACnB;6BACD;yBACD;wBACD,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;qBAC7B;iBACD;aACD;SACD;IACF,CAAC;IAED,+BAAU,GAAV,UAAW,CAA0B,EAAE,kBAAsC;QAC5E,OAAO,iBAAM,UAAU,YAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAChD,CAAC;IAES,4BAAO,GAAjB;QACC,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,sBAAI,4BAAI;aAAR;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IA7fgB,wBAAa,GAAG,IAAI,KAAK,EAAE,CAAC;IA8f9C,iBAAC;CAAA,AApgBD,CAKU,KAAK,GA+fd;SApgBY,UAAU","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Point, Rectangle } from \"pixi.js\";\nimport { DBase, DBaseEvents, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DTableBodyRow, DTableBodyRowOnChange, DTableBodyRowOptions } from \"./d-table-body-row\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions, DTableDataSupplimental } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelection, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableBodyCell } from \"./d-table-body-cell\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DApplications } from \"./d-applications\";\nimport { isNumber } from \"./util/is-number\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\n\n/**\n * {@link DTableBody} events.\n */\nexport interface DTableBodyEvents<EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when rows are updated.\n\t * The first and second parameters are an mapped index range of visible data.\n\t * Please note that these parameters are real numbers.\n\t * For instance, An index range of [0.5, 2.5] means:\n\t *\n\t * * The row at index 0 is partially visible.\n\t * * The row at index 1 is fully visible.\n\t * * The row at index 2 is partially visible.\n\t *\n\t * @param from a lowest mapped index of visible data\n\t * @param to a highest mapped index of vislble data\n\t * @param emitter an emitter\n\t */\n\tupdate(from: number, to: number, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableBody} \"on\" options.\n */\nexport interface DTableBodyOnOptions<EMITTER>\n\textends Partial<DTableBodyEvents<EMITTER>>,\n\t\tDOnOptions {}\n\nexport interface DTableBodyOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tEMITTER = any\n> extends DBaseOptions<THEME, EMITTER> {\n\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\n\ton?: DTableBodyOnOptions<EMITTER>;\n}\n\nexport interface DThemeTableBody extends DThemeBase {\n\tgetRowHeight(): number;\n}\n\nconst toRowOptions = <ROW, DATA extends DTableData<ROW>>(\n\ttheme: DThemeTableBody,\n\toptions: DTableBodyOptions<ROW, DATA>,\n\tselectionType: DTableDataSelectionType\n): DTableBodyRowOptions<ROW> => {\n\tlet result = options.row;\n\tif (result != null) {\n\t\tif (result.height == null) {\n\t\t\tresult.height = theme.getRowHeight();\n\t\t}\n\t\tif (result.selection === undefined) {\n\t\t\tresult.selection = {\n\t\t\t\ttype: selectionType\n\t\t\t};\n\t\t} else if (result.selection.type === undefined) {\n\t\t\tresult.selection.type = selectionType;\n\t\t}\n\t} else {\n\t\tresult = {\n\t\t\theight: theme.getRowHeight(),\n\t\t\tselection: {\n\t\t\t\ttype: selectionType\n\t\t\t}\n\t\t};\n\t}\n\treturn result as DTableBodyRowOptions<ROW>;\n};\n\nexport class DTableBody<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tOPTIONS extends DTableBodyOptions<ROW, DATA, THEME> = DTableBodyOptions<ROW, DATA, THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_ON_CLICK = new Point();\n\n\tprotected _columns: DTableColumn<ROW>[];\n\tprotected _frozen: number;\n\tprotected _rowHeight: number;\n\tprotected _rowIndexMappedStart: number;\n\tprotected _rowIndexMappedEnd: number;\n\tprotected _rowOptions: DTableBodyRowOptions<ROW>;\n\tprotected _updateRowsCount: number;\n\tprotected _isUpdateRowsCalled: boolean;\n\tprotected _isUpdateRowsCalledForcibly: boolean;\n\tprotected _workRows: Array<DTableBodyRow<ROW>>;\n\tprotected _onRowChangeBound: DTableBodyRowOnChange<ROW>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\tprotected _data: DATA;\n\n\tconstructor(columns: DTableColumn<ROW>[], frozen: number, offset: number, options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = offset;\n\t\tconst data = this.toData(options.data);\n\t\tthis._data = data;\n\t\tdata.bind(this);\n\t\tconst theme = this.theme;\n\t\tthis._columns = columns;\n\t\tthis._frozen = frozen;\n\t\tconst rowOptions = toRowOptions(theme, options, data.selection.type);\n\t\tthis._rowOptions = rowOptions;\n\t\tthis._rowHeight = rowOptions.height != null ? rowOptions.height : theme.getRowHeight();\n\t\tthis._rowIndexMappedStart = 0;\n\t\tthis._rowIndexMappedEnd = 0;\n\t\tthis._updateRowsCount = 0;\n\t\tthis._isUpdateRowsCalled = false;\n\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\tthis._workRows = [];\n\t\tthis._onRowChangeBound = (newValue, oldValue, row, rowIndex, columnIndex, column): void => {\n\t\t\tthis.onRowChange(newValue, oldValue, row, rowIndex, columnIndex, column);\n\t\t};\n\t\tthis._columnIndexToCellOptions = new Map<number, DTableBodyCellOptions<ROW>>();\n\t\tthis._data.emit(\"init\", this._data);\n\t}\n\n\tprotected onRowChange(\n\t\tnewValue: unknown,\n\t\toldValue: unknown,\n\t\trow: ROW,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW>\n\t): void {\n\t\tconst data = this._data;\n\t\tdata.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, data);\n\t\tif (column.update === DTableColumnUpdate.ALL) {\n\t\t\tthis.update(true);\n\t\t}\n\t}\n\n\tprotected toData(options?: DATA | DTableDataListOptions<ROW>): DATA {\n\t\tif (this.isData(options)) {\n\t\t\treturn options;\n\t\t}\n\t\treturn new DTableDataList<ROW>(options) as any;\n\t}\n\n\tprotected isData(\n\t\ttarget?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>\n\t): target is DTableData<ROW> {\n\t\treturn target != null && \"mapped\" in target;\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tthis.update();\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._data.selection;\n\t}\n\n\tlock(): void {\n\t\tthis._updateRowsCount += 1;\n\t\tif (this._updateRowsCount === 1) {\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateRowsCount -= 1;\n\t\tif (this._updateRowsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateRowsCalled) {\n\t\t\t\tthis.update(this._isUpdateRowsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\t/**\n\t * Updates rows. If the `forcibly` is true, some dirty checkings for\n\t * avoiding unnecessary state changes are skipped.\n\t *\n\t * @param forcibly true to update forcibly\n\t */\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateRowsCount) {\n\t\t\tthis._isUpdateRowsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateRowsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = this.parent;\n\t\tif (content == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tconst height = contentParent.height;\n\t\tconst rowHeight = this._rowHeight;\n\n\t\tconst data = this._data;\n\t\tconst dataMappedSize = data.mapped.size();\n\n\t\tconst oldRowIndexMappedStart = this._rowIndexMappedStart;\n\t\tlet oldRowIndexMappedEnd = this._rowIndexMappedEnd;\n\t\tlet oldRowCount = oldRowIndexMappedEnd - oldRowIndexMappedStart;\n\n\t\tconst y = this.transform.position.y;\n\t\tconst newHeight = y + dataMappedSize * rowHeight;\n\t\tconst newContentHeight = Math.max(height, newHeight);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newRowIndexMappedLowerBound = -newContentY / rowHeight;\n\t\tconst newRowIndexMappedUpperBound = (height - (newContentY + y)) / rowHeight;\n\t\tlet newRowIndexMappedStart = Math.floor(newRowIndexMappedLowerBound);\n\t\tnewRowIndexMappedStart -= newRowIndexMappedStart % 2 === 0 ? 2 : 1;\n\t\tlet newRowIndexMappedEnd = Math.floor(newRowIndexMappedUpperBound);\n\t\tnewRowIndexMappedEnd += (newRowIndexMappedEnd - newRowIndexMappedStart) % 2 === 1 ? 3 : 2;\n\t\tlet newRowCount = newRowIndexMappedEnd - newRowIndexMappedStart;\n\t\tif (newRowCount < oldRowCount) {\n\t\t\tnewRowCount = oldRowCount;\n\t\t\tnewRowIndexMappedEnd = newRowIndexMappedStart + newRowCount;\n\t\t}\n\n\t\tif (oldRowCount < newRowCount) {\n\t\t\tfor (let i = oldRowCount; i < newRowCount; ++i) {\n\t\t\t\tconst oldRowIndexMapped = oldRowIndexMappedStart + i;\n\t\t\t\tconst newRow = this.newRow(oldRowIndexMapped % 2 === 0);\n\t\t\t\tthis.addChild(newRow);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t} else if (newRowCount < oldRowCount) {\n\t\t\tfor (let i = oldRowCount - 1; newRowCount <= i; --i) {\n\t\t\t\tthis.removeChild(rows[i]);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t}\n\n\t\tthis._rowIndexMappedStart = newRowIndexMappedStart;\n\t\tthis._rowIndexMappedEnd = newRowIndexMappedEnd;\n\n\t\tconst rowIndexMappedStartDelta = newRowIndexMappedStart - oldRowIndexMappedStart;\n\t\tconst rowIndexMappedStartDeltaAbs = Math.abs(rowIndexMappedStartDelta);\n\t\tconst rowsLength = rows.length;\n\t\tif (0 < rowIndexMappedStartDeltaAbs && rowIndexMappedStartDeltaAbs < rowsLength) {\n\t\t\tconst work = this._workRows;\n\t\t\tif (0 < rowIndexMappedStartDelta) {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowIndexMappedStartDeltaAbs; i < rowsLength; ++i) {\n\t\t\t\t\trows[i - rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[rowsLength - rowIndexMappedStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[rowsLength - rowIndexMappedStartDeltaAbs + i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowsLength - rowIndexMappedStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\trows[i + rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tconst selection = data.selection;\n\t\tconst isRowSelectable = selection.type !== DTableDataSelectionType.NONE;\n\t\tdata.mapped.each(\n\t\t\t(\n\t\t\t\tdatum: ROW,\n\t\t\t\tsupplimental: DTableDataSupplimental | null,\n\t\t\t\tindex: number,\n\t\t\t\tunmappedIndex: number\n\t\t\t): void | boolean => {\n\t\t\t\tconst row = rows[index - newRowIndexMappedStart];\n\n\t\t\t\t// Position\n\t\t\t\trow.position.y = index * rowHeight;\n\n\t\t\t\t// State\n\t\t\t\tconst rowState = row.state;\n\t\t\t\trowState.lock();\n\t\t\t\trowState.set(DTableState.SELECTABLE, isRowSelectable);\n\t\t\t\trowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));\n\t\t\t\trowState.remove(DBaseState.DISABLED);\n\t\t\t\trowState.unlock();\n\n\t\t\t\t// Data\n\t\t\t\trow.set(datum, supplimental, unmappedIndex, forcibly);\n\t\t\t},\n\t\t\tnewRowIndexMappedStart,\n\t\t\tnewRowIndexMappedStart + rowsLength\n\t\t);\n\n\t\tfor (let i = 0; newRowIndexMappedStart + i < 0 && i < rowsLength; ++i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tfor (let i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tthis.height = newHeight;\n\t\tthis.unlock(false);\n\t\tthis.emit(\"update\", newRowIndexMappedLowerBound, newRowIndexMappedUpperBound, this);\n\t}\n\n\tprotected resetRow(row: DTableBodyRow<ROW>): DTableBodyRow<ROW> {\n\t\trow.blur(true);\n\t\tconst cells = row.children;\n\t\tfor (let i = 0, imax = cells.length; i < imax; ++i) {\n\t\t\tconst cell = cells[i];\n\t\t\tif (cell instanceof DBase) {\n\t\t\t\tcell.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t\treturn row;\n\t}\n\n\tprotected newRow(isEven: boolean): DTableBodyRow<ROW> {\n\t\treturn new DTableBodyRow<ROW>(\n\t\t\tthis._onRowChangeBound,\n\t\t\tisEven,\n\t\t\tthis._columnIndexToCellOptions,\n\t\t\tthis._columns,\n\t\t\tthis._frozen,\n\t\t\tthis._rowOptions\n\t\t);\n\t}\n\n\tprotected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tsuper.onParentMove(newX, newY, oldX, oldY);\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected updateFrozenCellPosition(x: number): void {\n\t\tconst frozen = this._frozen;\n\t\tif (frozen != null && 0 < frozen) {\n\t\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\t\tfor (let i = 0, imax = rows.length; i < imax; ++i) {\n\t\t\t\trows[i].updateFrozenCellPosition(x);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClippingRect(target: unknown, result: Rectangle): void {\n\t\tsuper.getClippingRect(target, result);\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst dy = -parent.transform.position.y;\n\t\t\tresult.y += dy;\n\t\t\tresult.height -= dy;\n\t\t}\n\t}\n\n\t/**\n\t * Scroll to the given row or row index.\n\t *\n\t * @param target a row or an row index to which the body scrolls to.\n\t * @returns true if succeeded\n\t */\n\tscrollTo(target: ROW | number): boolean {\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst parentParent = parent.parent;\n\t\tif (parentParent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tlet rowIndexMapped = -1;\n\t\tif (isNumber(target)) {\n\t\t\tif (0 <= target && target < this.data.mapped.size()) {\n\t\t\t\trowIndexMapped = target;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.data.mapped.each((row: ROW, _: unknown, index: number): boolean => {\n\t\t\t\tif (row === target) {\n\t\t\t\t\trowIndexMapped = index;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t}\n\t\tif (rowIndexMapped < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tparent.position.y = Math.max(\n\t\t\tMath.min(0, parentParent.height - parent.height),\n\t\t\t-rowIndexMapped * this._rowHeight\n\t\t);\n\t\tDApplications.update(this);\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns a mapped row index at the given local Y position or -1.\n\t *\n\t * @param localY a local Y position\n\t * @returns a mapped row index at the given local Y position or -1.\n\t */\n\ttoRowIndexMapped(localY: number): number {\n\t\tif (0 <= this.parent.position.y + localY) {\n\t\t\tconst result = Math.floor(localY / this._rowHeight);\n\t\t\tif (0 <= result && result < this._data.mapped.size()) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t}\n\n\t/**\n\t * Returns a row at the given mapped row index or null if not exits.\n\t *\n\t * @param rowIndexMapped a mapped row index\n\t * @returns a row at the given mapped row index or null if not exists.\n\t */\n\ttoRow(rowIndexMapped: number): DTableBodyRow<ROW> | null {\n\t\tconst index = rowIndexMapped - this._rowIndexMappedStart;\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Returns a cell at the given local X position or null if not exits.\n\t * This method assumes the given local X position is on the given row.\n\t *\n\t * @param row a row\n\t * @param localX a local X position\n\t * @returns a cell at the given local X position or null if not exits\n\t */\n\ttoCell(row: DTableBodyRow<ROW>, localX: number): DTableBodyCell<ROW, unknown> | null {\n\t\tconst cells = row.children as Array<DTableBodyCell<ROW, unknown>>;\n\t\tconst cellsLength = cells.length;\n\t\tconst columns = this._columns;\n\t\tconst columnsLength = columns.length;\n\t\tfor (let i = 0, imax = Math.min(cellsLength, columnsLength); i < imax; ++i) {\n\t\t\tconst cell = cells[cellsLength - i - 1];\n\t\t\tconst x = localX - cell.position.x;\n\t\t\tif (0 <= x && x <= cell.width) {\n\t\t\t\treturn cell;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonRowClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tconst local = DTableBody.WORK_ON_CLICK;\n\t\t\tlocal.copyFrom(e.data.global);\n\t\t\tthis.toLocal(local, undefined, local, false);\n\t\t\tconst rowIndexMapped = this.toRowIndexMapped(local.y);\n\t\t\tif (0 <= rowIndexMapped) {\n\t\t\t\t// Delegate to the cell at first\n\t\t\t\tconst row = this.toRow(rowIndexMapped);\n\t\t\t\tif (row) {\n\t\t\t\t\tconst cell = this.toCell(row, local.x);\n\t\t\t\t\tif (cell && cell.onRowSelect && cell.onRowSelect(e, local)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Fallback to the default\n\t\t\t\tthis.onRowSelect(e, rowIndexMapped);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRowSelect(e: InteractionEvent, rowIndexMapped: number): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tconst isSingle = selection.type === DTableDataSelectionType.SINGLE;\n\t\tconst isNotSingle = !isSingle;\n\t\tconst rowIndex = data.mapped.unmap(rowIndexMapped);\n\t\tconst originalEvent = e.data.originalEvent;\n\t\tconst ctrlKey = originalEvent.ctrlKey;\n\t\tconst shiftKey = originalEvent.shiftKey;\n\t\tif (isSingle || selection.isEmpty() || !(isNotSingle && (ctrlKey || shiftKey))) {\n\t\t\tselection.clearAndAdd(rowIndex);\n\t\t} else if (ctrlKey) {\n\t\t\tselection.toggle(rowIndex);\n\t\t} else if (shiftKey) {\n\t\t\tconst lastRowIndex = selection.last;\n\t\t\tif (lastRowIndex != null) {\n\t\t\t\tconst sorter = data.sorter;\n\t\t\t\tconst filter = data.filter;\n\t\t\t\tconst rowIndexSorted = sorter.map(rowIndex);\n\t\t\t\tconst lastRowIndexSorted = sorter.map(lastRowIndex);\n\t\t\t\tif (rowIndexSorted != null && lastRowIndexSorted != null) {\n\t\t\t\t\tlet istart = lastRowIndexSorted + 1;\n\t\t\t\t\tlet iend = rowIndexSorted + 1;\n\t\t\t\t\tif (rowIndexSorted < lastRowIndexSorted) {\n\t\t\t\t\t\tistart = rowIndexSorted;\n\t\t\t\t\t\tiend = lastRowIndexSorted;\n\t\t\t\t\t}\n\t\t\t\t\tif (istart < iend) {\n\t\t\t\t\t\tconst rowIndices: number[] = [];\n\t\t\t\t\t\tconst indicesFiltered = filter.indices;\n\t\t\t\t\t\tconst indicesSorted = sorter.indices;\n\t\t\t\t\t\tif (indicesFiltered) {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[indexFiltered]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indexFiltered);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(i);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselection.addAll(rowIndices);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(e: MouseEvent | TouchEvent, interactionManager: InteractionManager): boolean {\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBody\";\n\t}\n\n\tget data(): DATA {\n\t\treturn this._data;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-table-body.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Point, Rectangle } from \"pixi.js\";\nimport { DBase, DBaseEvents, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DTableBodyRow, DTableBodyRowOnChange, DTableBodyRowOptions } from \"./d-table-body-row\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions, DTableDataSupplimental } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelection, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableBodyCell } from \"./d-table-body-cell\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DApplications } from \"./d-applications\";\nimport { isNumber } from \"./util/is-number\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\n\n/**\n * {@link DTableBody} events.\n */\nexport interface DTableBodyEvents<EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when rows are updated.\n\t * The first and second parameters are an mapped index range of visible data.\n\t * Please note that these parameters are real numbers.\n\t * For instance, An index range of [0.5, 2.5] means:\n\t *\n\t * * The row at index 0 is partially visible.\n\t * * The row at index 1 is fully visible.\n\t * * The row at index 2 is partially visible.\n\t *\n\t * @param from a lowest mapped index of visible data\n\t * @param to a highest mapped index of vislble data\n\t * @param emitter an emitter\n\t */\n\tupdate(from: number, to: number, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableBody} \"on\" options.\n */\nexport interface DTableBodyOnOptions<EMITTER>\n\textends Partial<DTableBodyEvents<EMITTER>>,\n\t\tDOnOptions {}\n\nexport interface DTableBodyOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tEMITTER = any\n> extends DBaseOptions<THEME, EMITTER> {\n\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\n\ton?: DTableBodyOnOptions<EMITTER>;\n}\n\nexport interface DThemeTableBody extends DThemeBase {\n\tgetRowHeight(): number;\n}\n\nconst toRowOptions = <ROW, DATA extends DTableData<ROW>>(\n\ttheme: DThemeTableBody,\n\toptions: DTableBodyOptions<ROW, DATA>,\n\tselectionType: DTableDataSelectionType\n): DTableBodyRowOptions<ROW> => {\n\tlet result = options.row;\n\tif (result != null) {\n\t\tif (result.height == null) {\n\t\t\tresult.height = theme.getRowHeight();\n\t\t}\n\t\tif (result.selection === undefined) {\n\t\t\tresult.selection = {\n\t\t\t\ttype: selectionType\n\t\t\t};\n\t\t} else if (result.selection.type === undefined) {\n\t\t\tresult.selection.type = selectionType;\n\t\t}\n\t} else {\n\t\tresult = {\n\t\t\theight: theme.getRowHeight(),\n\t\t\tselection: {\n\t\t\t\ttype: selectionType\n\t\t\t}\n\t\t};\n\t}\n\treturn result as DTableBodyRowOptions<ROW>;\n};\n\nexport class DTableBody<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tOPTIONS extends DTableBodyOptions<ROW, DATA, THEME> = DTableBodyOptions<ROW, DATA, THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_ON_CLICK = new Point();\n\n\tprotected _columns: DTableColumn<ROW>[];\n\tprotected _frozen: number;\n\tprotected _rowHeight: number;\n\tprotected _rowIndexMappedStart: number;\n\tprotected _rowIndexMappedEnd: number;\n\tprotected _rowOptions: DTableBodyRowOptions<ROW>;\n\tprotected _updateRowsCount: number;\n\tprotected _isUpdateRowsCalled: boolean;\n\tprotected _isUpdateRowsCalledForcibly: boolean;\n\tprotected _workRows: Array<DTableBodyRow<ROW>>;\n\tprotected _onRowChangeBound: DTableBodyRowOnChange<ROW>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\tprotected _data: DATA;\n\n\tconstructor(columns: DTableColumn<ROW>[], frozen: number, offset: number, options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = offset;\n\t\tconst data = this.toData(options.data);\n\t\tthis._data = data;\n\t\tdata.bind(this);\n\t\tconst theme = this.theme;\n\t\tthis._columns = columns;\n\t\tthis._frozen = frozen;\n\t\tconst rowOptions = toRowOptions(theme, options, data.selection.type);\n\t\tthis._rowOptions = rowOptions;\n\t\tthis._rowHeight = rowOptions.height != null ? rowOptions.height : theme.getRowHeight();\n\t\tthis._rowIndexMappedStart = 0;\n\t\tthis._rowIndexMappedEnd = 0;\n\t\tthis._updateRowsCount = 0;\n\t\tthis._isUpdateRowsCalled = false;\n\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\tthis._workRows = [];\n\t\tthis._onRowChangeBound = (newValue, oldValue, row, rowIndex, columnIndex, column): void => {\n\t\t\tthis.onRowChange(newValue, oldValue, row, rowIndex, columnIndex, column);\n\t\t};\n\t\tthis._columnIndexToCellOptions = new Map<number, DTableBodyCellOptions<ROW>>();\n\t\tthis._data.emit(\"init\", this._data);\n\t}\n\n\tprotected onRowChange(\n\t\tnewValue: unknown,\n\t\toldValue: unknown,\n\t\trow: ROW,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW>\n\t): void {\n\t\tconst data = this._data;\n\t\tdata.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, data);\n\t\tif (column.update === DTableColumnUpdate.ALL) {\n\t\t\tthis.update(true);\n\t\t}\n\t}\n\n\tprotected toData(options?: DATA | DTableDataListOptions<ROW>): DATA {\n\t\tif (this.isData(options)) {\n\t\t\treturn options;\n\t\t}\n\t\treturn new DTableDataList<ROW>(options) as any;\n\t}\n\n\tprotected isData(\n\t\ttarget?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>\n\t): target is DTableData<ROW> {\n\t\treturn target != null && \"mapped\" in target;\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tthis.update();\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._data.selection;\n\t}\n\n\tlock(): void {\n\t\tthis._updateRowsCount += 1;\n\t\tif (this._updateRowsCount === 1) {\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateRowsCount -= 1;\n\t\tif (this._updateRowsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateRowsCalled) {\n\t\t\t\tthis.update(this._isUpdateRowsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\t/**\n\t * Updates rows. If the `forcibly` is true, some dirty checkings for\n\t * avoiding unnecessary state changes are skipped.\n\t *\n\t * @param forcibly true to update forcibly\n\t */\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateRowsCount) {\n\t\t\tthis._isUpdateRowsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateRowsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = this.parent;\n\t\tif (content == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tconst height = contentParent.height;\n\t\tconst rowHeight = this._rowHeight;\n\n\t\tconst data = this._data;\n\t\tconst dataMappedSize = data.mapped.size();\n\n\t\tconst oldRowIndexMappedStart = this._rowIndexMappedStart;\n\t\tlet oldRowIndexMappedEnd = this._rowIndexMappedEnd;\n\t\tlet oldRowCount = oldRowIndexMappedEnd - oldRowIndexMappedStart;\n\n\t\tconst y = this.transform.position.y;\n\t\tconst newHeight = y + dataMappedSize * rowHeight;\n\t\tconst newContentHeight = Math.max(height, newHeight);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newRowIndexMappedLowerBound = -newContentY / rowHeight;\n\t\tconst newRowIndexMappedUpperBound = (height - (newContentY + y)) / rowHeight;\n\t\tlet newRowIndexMappedStart = Math.floor(newRowIndexMappedLowerBound);\n\t\tnewRowIndexMappedStart -= newRowIndexMappedStart % 2 === 0 ? 2 : 1;\n\t\tlet newRowIndexMappedEnd = Math.floor(newRowIndexMappedUpperBound);\n\t\tnewRowIndexMappedEnd += (newRowIndexMappedEnd - newRowIndexMappedStart) % 2 === 1 ? 3 : 2;\n\t\tlet newRowCount = newRowIndexMappedEnd - newRowIndexMappedStart;\n\t\tif (newRowCount < oldRowCount) {\n\t\t\tnewRowCount = oldRowCount;\n\t\t\tnewRowIndexMappedEnd = newRowIndexMappedStart + newRowCount;\n\t\t}\n\n\t\tif (oldRowCount < newRowCount) {\n\t\t\tfor (let i = oldRowCount; i < newRowCount; ++i) {\n\t\t\t\tconst oldRowIndexMapped = oldRowIndexMappedStart + i;\n\t\t\t\tconst newRow = this.newRow(oldRowIndexMapped % 2 === 0);\n\t\t\t\tthis.addChild(newRow);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t} else if (newRowCount < oldRowCount) {\n\t\t\tfor (let i = oldRowCount - 1; newRowCount <= i; --i) {\n\t\t\t\tthis.removeChild(rows[i]);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t}\n\n\t\tthis._rowIndexMappedStart = newRowIndexMappedStart;\n\t\tthis._rowIndexMappedEnd = newRowIndexMappedEnd;\n\n\t\tconst rowIndexMappedStartDelta = newRowIndexMappedStart - oldRowIndexMappedStart;\n\t\tconst rowIndexMappedStartDeltaAbs = Math.abs(rowIndexMappedStartDelta);\n\t\tconst rowsLength = rows.length;\n\t\tif (0 < rowIndexMappedStartDeltaAbs && rowIndexMappedStartDeltaAbs < rowsLength) {\n\t\t\tconst work = this._workRows;\n\t\t\tif (0 < rowIndexMappedStartDelta) {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowIndexMappedStartDeltaAbs; i < rowsLength; ++i) {\n\t\t\t\t\trows[i - rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[rowsLength - rowIndexMappedStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[rowsLength - rowIndexMappedStartDeltaAbs + i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowsLength - rowIndexMappedStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\trows[i + rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tconst selection = data.selection;\n\t\tconst isRowSelectable = selection.type !== DTableDataSelectionType.NONE;\n\t\tdata.mapped.each(\n\t\t\t(\n\t\t\t\tdatum: ROW,\n\t\t\t\tsupplimental: DTableDataSupplimental | null,\n\t\t\t\tindex: number,\n\t\t\t\tunmappedIndex: number\n\t\t\t): void | boolean => {\n\t\t\t\tconst row = rows[index - newRowIndexMappedStart];\n\n\t\t\t\t// Position\n\t\t\t\trow.position.y = index * rowHeight;\n\n\t\t\t\t// State\n\t\t\t\tconst rowState = row.state;\n\t\t\t\trowState.lock();\n\t\t\t\trowState.add(DTableState.HAS_DATA);\n\t\t\t\trowState.set(DTableState.SELECTABLE, isRowSelectable);\n\t\t\t\trowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));\n\t\t\t\trowState.remove(DBaseState.DISABLED);\n\t\t\t\trowState.unlock();\n\n\t\t\t\t// Data\n\t\t\t\trow.set(datum, supplimental, unmappedIndex, forcibly);\n\t\t\t},\n\t\t\tnewRowIndexMappedStart,\n\t\t\tnewRowIndexMappedStart + rowsLength\n\t\t);\n\n\t\tfor (let i = 0; newRowIndexMappedStart + i < 0 && i < rowsLength; ++i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.HAS_DATA, DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tfor (let i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.HAS_DATA, DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tthis.height = newHeight;\n\t\tthis.unlock(false);\n\t\tthis.emit(\"update\", newRowIndexMappedLowerBound, newRowIndexMappedUpperBound, this);\n\t}\n\n\tprotected resetRow(row: DTableBodyRow<ROW>): DTableBodyRow<ROW> {\n\t\trow.blur(true);\n\t\tconst cells = row.children;\n\t\tfor (let i = 0, imax = cells.length; i < imax; ++i) {\n\t\t\tconst cell = cells[i];\n\t\t\tif (cell instanceof DBase) {\n\t\t\t\tcell.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t\treturn row;\n\t}\n\n\tprotected newRow(isEven: boolean): DTableBodyRow<ROW> {\n\t\treturn new DTableBodyRow<ROW>(\n\t\t\tthis._onRowChangeBound,\n\t\t\tisEven,\n\t\t\tthis._columnIndexToCellOptions,\n\t\t\tthis._columns,\n\t\t\tthis._frozen,\n\t\t\tthis._rowOptions\n\t\t);\n\t}\n\n\tprotected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tsuper.onParentMove(newX, newY, oldX, oldY);\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected updateFrozenCellPosition(x: number): void {\n\t\tconst frozen = this._frozen;\n\t\tif (frozen != null && 0 < frozen) {\n\t\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\t\tfor (let i = 0, imax = rows.length; i < imax; ++i) {\n\t\t\t\trows[i].updateFrozenCellPosition(x);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClippingRect(target: unknown, result: Rectangle): void {\n\t\tsuper.getClippingRect(target, result);\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst dy = -parent.transform.position.y;\n\t\t\tresult.y += dy;\n\t\t\tresult.height -= dy;\n\t\t}\n\t}\n\n\t/**\n\t * Scroll to the given row or row index.\n\t *\n\t * @param target a row or an row index to which the body scrolls to.\n\t * @returns true if succeeded\n\t */\n\tscrollTo(target: ROW | number): boolean {\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst parentParent = parent.parent;\n\t\tif (parentParent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tlet rowIndexMapped = -1;\n\t\tif (isNumber(target)) {\n\t\t\tif (0 <= target && target < this.data.mapped.size()) {\n\t\t\t\trowIndexMapped = target;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.data.mapped.each((row: ROW, _: unknown, index: number): boolean => {\n\t\t\t\tif (row === target) {\n\t\t\t\t\trowIndexMapped = index;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t}\n\t\tif (rowIndexMapped < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tparent.position.y = Math.max(\n\t\t\tMath.min(0, parentParent.height - parent.height),\n\t\t\t-rowIndexMapped * this._rowHeight\n\t\t);\n\t\tDApplications.update(this);\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns a mapped row index at the given local Y position or -1.\n\t *\n\t * @param localY a local Y position\n\t * @returns a mapped row index at the given local Y position or -1.\n\t */\n\ttoRowIndexMapped(localY: number): number {\n\t\tif (0 <= this.parent.position.y + localY) {\n\t\t\tconst result = Math.floor(localY / this._rowHeight);\n\t\t\tif (0 <= result && result < this._data.mapped.size()) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t}\n\n\t/**\n\t * Returns a row at the given mapped row index or null if not exits.\n\t *\n\t * @param rowIndexMapped a mapped row index\n\t * @returns a row at the given mapped row index or null if not exists.\n\t */\n\ttoRow(rowIndexMapped: number): DTableBodyRow<ROW> | null {\n\t\tconst index = rowIndexMapped - this._rowIndexMappedStart;\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Returns a cell at the given local X position or null if not exits.\n\t * This method assumes the given local X position is on the given row.\n\t *\n\t * @param row a row\n\t * @param localX a local X position\n\t * @returns a cell at the given local X position or null if not exits\n\t */\n\ttoCell(row: DTableBodyRow<ROW>, localX: number): DTableBodyCell<ROW, unknown> | null {\n\t\tconst cells = row.children as Array<DTableBodyCell<ROW, unknown>>;\n\t\tconst cellsLength = cells.length;\n\t\tconst columns = this._columns;\n\t\tconst columnsLength = columns.length;\n\t\tfor (let i = 0, imax = Math.min(cellsLength, columnsLength); i < imax; ++i) {\n\t\t\tconst cell = cells[cellsLength - i - 1];\n\t\t\tconst x = localX - cell.position.x;\n\t\t\tif (0 <= x && x <= cell.width) {\n\t\t\t\treturn cell;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonRowClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tconst local = DTableBody.WORK_ON_CLICK;\n\t\t\tlocal.copyFrom(e.data.global);\n\t\t\tthis.toLocal(local, undefined, local, false);\n\t\t\tconst rowIndexMapped = this.toRowIndexMapped(local.y);\n\t\t\tif (0 <= rowIndexMapped) {\n\t\t\t\t// Delegate to the cell at first\n\t\t\t\tconst row = this.toRow(rowIndexMapped);\n\t\t\t\tif (row) {\n\t\t\t\t\tconst cell = this.toCell(row, local.x);\n\t\t\t\t\tif (cell && cell.onRowSelect && cell.onRowSelect(e, local)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Fallback to the default\n\t\t\t\tthis.onRowSelect(e, rowIndexMapped);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRowSelect(e: InteractionEvent, rowIndexMapped: number): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tconst isSingle = selection.type === DTableDataSelectionType.SINGLE;\n\t\tconst isNotSingle = !isSingle;\n\t\tconst rowIndex = data.mapped.unmap(rowIndexMapped);\n\t\tconst originalEvent = e.data.originalEvent;\n\t\tconst ctrlKey = originalEvent.ctrlKey;\n\t\tconst shiftKey = originalEvent.shiftKey;\n\t\tif (isSingle || selection.isEmpty() || !(isNotSingle && (ctrlKey || shiftKey))) {\n\t\t\tselection.clearAndAdd(rowIndex);\n\t\t} else if (ctrlKey) {\n\t\t\tselection.toggle(rowIndex);\n\t\t} else if (shiftKey) {\n\t\t\tconst lastRowIndex = selection.last;\n\t\t\tif (lastRowIndex != null) {\n\t\t\t\tconst sorter = data.sorter;\n\t\t\t\tconst filter = data.filter;\n\t\t\t\tconst rowIndexSorted = sorter.map(rowIndex);\n\t\t\t\tconst lastRowIndexSorted = sorter.map(lastRowIndex);\n\t\t\t\tif (rowIndexSorted != null && lastRowIndexSorted != null) {\n\t\t\t\t\tlet istart = lastRowIndexSorted + 1;\n\t\t\t\t\tlet iend = rowIndexSorted + 1;\n\t\t\t\t\tif (rowIndexSorted < lastRowIndexSorted) {\n\t\t\t\t\t\tistart = rowIndexSorted;\n\t\t\t\t\t\tiend = lastRowIndexSorted;\n\t\t\t\t\t}\n\t\t\t\t\tif (istart < iend) {\n\t\t\t\t\t\tconst rowIndices: number[] = [];\n\t\t\t\t\t\tconst indicesFiltered = filter.indices;\n\t\t\t\t\t\tconst indicesSorted = sorter.indices;\n\t\t\t\t\t\tif (indicesFiltered) {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[indexFiltered]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indexFiltered);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(i);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselection.addAll(rowIndices);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(e: MouseEvent | TouchEvent, interactionManager: InteractionManager): boolean {\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBody\";\n\t}\n\n\tget data(): DATA {\n\t\treturn this._data;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-column-state.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-state.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBaseStateSet } from \"./d-base-state-set\";\n\n/**\n * {@link DTable} column state modifier.\n * This function is called on every cells of a column when the cell data is changed.\n *
|
|
1
|
+
{"version":3,"file":"d-table-column-state.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-state.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBaseStateSet } from \"./d-base-state-set\";\n\n/**\n * {@link DTable} column state modifier.\n * This function is called on every cells of a column when the cell data is changed.\n *\n * @param row a cell data\n * @param columnIndex a column index of a cell\n * @param state a cell state\n */\nexport type DTableColumnStateModifier<ROW_VALUE> = (\n\trow: ROW_VALUE,\n\tcolumnIndex: number,\n\tstate: DBaseStateSet\n) => void;\n\nexport interface DTableColumnState<ROW_VALUE> {\n\tinitial?: string | string[];\n\tmodifier?: DTableColumnStateModifier<ROW_VALUE>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-state.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,IAAM,WAAW,GAAG;IAC1B;;OAEG;IACH,KAAK,EAAE,OAAO;IAEd;;OAEG;IACH,GAAG,EAAE,KAAK;IAEV;;OAEG;IACH,MAAM,EAAE,QAAQ;IAEhB;;OAEG;IACH,UAAU,EAAE,YAAY;IAExB;;OAEG;IACH,QAAQ,EAAE,UAAU;IAEpB;;OAEG;IACH,gBAAgB,EAAE,kBAAkB;IAEpC;;OAEG;IACH,iBAAiB,EAAE,mBAAmB;IAEtC;;OAEG;IACH,YAAY,EAAE,cAAc;IAE5B;;OAEG;IACH,MAAM,EAAE,QAAQ;IAEhB;;OAEG;IACH,SAAS,EAAE,WAAW;IAEtB;;OAEG;IACH,UAAU,EAAE,YAAY;IAExB;;OAEG;IACH,eAAe,EAAE,iBAAiB;IAElC;;OAEG;IACH,QAAQ,EAAE,UAAU;CACpB,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * {@link DTable} states.\n */\nexport const DTableState = {\n\t/**\n\t * Start cells in rows.\n\t */\n\tSTART: \"START\",\n\n\t/**\n\t * End cells in rows.\n\t */\n\tEND: \"END\",\n\n\t/**\n\t * Cells of frozen columns.\n\t */\n\tFROZEN: \"FROZEN\",\n\n\t/**\n\t * Cells of a right-most frozen column.\n\t */\n\tFROZEN_END: \"FROZEN_END\",\n\n\t/**\n\t * Header cells of sortable columns.\n\t */\n\tSORTABLE: \"SORTABLE\",\n\n\t/**\n\t * Header cells of columns sorted in the ascending order.\n\t */\n\tSORTED_ASCENDING: \"SORTED_ASCENDING\",\n\n\t/**\n\t * Header cells of columns sorted in the descending order.\n\t */\n\tSORTED_DESCENDING: \"SORTED_DESCENDING\",\n\n\t/**\n\t * Tree cells with child cells.\n\t */\n\tHAS_CHILDREN: \"HAS_CHILDREN\",\n\n\t/**\n\t * Tree cells opened.\n\t */\n\tOPENED: \"OPENED\",\n\n\t/**\n\t * Header cells of checkable columns.\n\t */\n\tCHECKABLE: \"CHECKABLE\",\n\n\t/**\n\t * Selectable row\n\t */\n\tSELECTABLE: \"SELECTABLE\",\n\n\t/**\n\t * Header or category cells hovered on their edges.\n\t */\n\tHOVERED_ON_EDGE: \"HOVERED_ON_EDGE\",\n\n\t/**\n\t * Header or category of being resized.\n\t */\n\tRESIZING: \"RESIZING\"\n};\n"]}
|
|
1
|
+
{"version":3,"file":"d-table-state.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,IAAM,WAAW,GAAG;IAC1B;;OAEG;IACH,KAAK,EAAE,OAAO;IAEd;;OAEG;IACH,GAAG,EAAE,KAAK;IAEV;;OAEG;IACH,MAAM,EAAE,QAAQ;IAEhB;;OAEG;IACH,UAAU,EAAE,YAAY;IAExB;;OAEG;IACH,QAAQ,EAAE,UAAU;IAEpB;;OAEG;IACH,QAAQ,EAAE,UAAU;IAEpB;;OAEG;IACH,gBAAgB,EAAE,kBAAkB;IAEpC;;OAEG;IACH,iBAAiB,EAAE,mBAAmB;IAEtC;;OAEG;IACH,YAAY,EAAE,cAAc;IAE5B;;OAEG;IACH,MAAM,EAAE,QAAQ;IAEhB;;OAEG;IACH,SAAS,EAAE,WAAW;IAEtB;;OAEG;IACH,UAAU,EAAE,YAAY;IAExB;;OAEG;IACH,eAAe,EAAE,iBAAiB;IAElC;;OAEG;IACH,QAAQ,EAAE,UAAU;CACpB,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * {@link DTable} states.\n */\nexport const DTableState = {\n\t/**\n\t * Start cells in rows.\n\t */\n\tSTART: \"START\",\n\n\t/**\n\t * End cells in rows.\n\t */\n\tEND: \"END\",\n\n\t/**\n\t * Cells of frozen columns.\n\t */\n\tFROZEN: \"FROZEN\",\n\n\t/**\n\t * Cells of a right-most frozen column.\n\t */\n\tFROZEN_END: \"FROZEN_END\",\n\n\t/**\n\t * Rows with data\n\t */\n\tHAS_DATA: \"HAS_DATA\",\n\n\t/**\n\t * Header cells of sortable columns.\n\t */\n\tSORTABLE: \"SORTABLE\",\n\n\t/**\n\t * Header cells of columns sorted in the ascending order.\n\t */\n\tSORTED_ASCENDING: \"SORTED_ASCENDING\",\n\n\t/**\n\t * Header cells of columns sorted in the descending order.\n\t */\n\tSORTED_DESCENDING: \"SORTED_DESCENDING\",\n\n\t/**\n\t * Tree cells with child cells.\n\t */\n\tHAS_CHILDREN: \"HAS_CHILDREN\",\n\n\t/**\n\t * Tree cells opened.\n\t */\n\tOPENED: \"OPENED\",\n\n\t/**\n\t * Header cells of checkable columns.\n\t */\n\tCHECKABLE: \"CHECKABLE\",\n\n\t/**\n\t * Selectable row\n\t */\n\tSELECTABLE: \"SELECTABLE\",\n\n\t/**\n\t * Header or category cells hovered on their edges.\n\t */\n\tHOVERED_ON_EDGE: \"HOVERED_ON_EDGE\",\n\n\t/**\n\t * Header or category of being resized.\n\t */\n\tRESIZING: \"RESIZING\"\n};\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { newSvgRoundedRect } from "./new-svg-rounded-rect";
|
|
2
|
+
var isPatternInjected = false;
|
|
3
|
+
export var newSvgRoundedCheckerboard = function (width, height, color1, color2, stroke, strokeWidth, strokeOpacity) {
|
|
4
|
+
var result = "";
|
|
5
|
+
if (!isPatternInjected) {
|
|
6
|
+
isPatternInjected = true;
|
|
7
|
+
result =
|
|
8
|
+
"<defs>" +
|
|
9
|
+
"<pattern id=\"rounded-checkerboard-pattern\" patternUnits=\"userSpaceOnUse\" width=\"18\" height=\"18\">" +
|
|
10
|
+
"<rect x=\"0\" y=\"0\" width=\"9\" height=\"9\" fill=\"".concat(color1, "\" />") +
|
|
11
|
+
"<rect x=\"9\" y=\"0\" width=\"9\" height=\"9\" fill=\"".concat(color2, "\" />") +
|
|
12
|
+
"<rect x=\"0\" y=\"9\" width=\"9\" height=\"9\" fill=\"".concat(color2, "\" />") +
|
|
13
|
+
"<rect x=\"9\" y=\"9\" width=\"9\" height=\"9\" fill=\"".concat(color1, "\" />") +
|
|
14
|
+
"</pattern>" +
|
|
15
|
+
"</defs>";
|
|
16
|
+
}
|
|
17
|
+
result += newSvgRoundedRect(0, 0, width, height, "url(#rounded-checkerboard-pattern)", stroke, strokeWidth, strokeOpacity);
|
|
18
|
+
return result;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=new-svg-rounded-checkerboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-svg-rounded-checkerboard.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/common/new-svg-rounded-checkerboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAC9B,MAAM,CAAC,IAAM,yBAAyB,GAAG,UACxC,KAAa,EACb,MAAc,EACd,MAAc,EACd,MAAc,EACd,MAAe,EACf,WAAoB,EACpB,aAAsB;IAEtB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,iBAAiB,EAAE;QACvB,iBAAiB,GAAG,IAAI,CAAC;QACzB,MAAM;YACL,QAAQ;gBACR,0GAAkG;gBAClG,gEAAgD,MAAM,UAAM;gBAC5D,gEAAgD,MAAM,UAAM;gBAC5D,gEAAgD,MAAM,UAAM;gBAC5D,gEAAgD,MAAM,UAAM;gBAC5D,YAAY;gBACZ,SAAS,CAAC;KACX;IACD,MAAM,IAAI,iBAAiB,CAC1B,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,oCAAoC,EACpC,MAAM,EACN,WAAW,EACX,aAAa,CACb,CAAC;IACF,OAAO,MAAM,CAAC;AACf,CAAC,CAAC","sourcesContent":["import { newSvgRoundedRect } from \"./new-svg-rounded-rect\";\n\nlet isPatternInjected = false;\nexport const newSvgRoundedCheckerboard = (\n\twidth: number,\n\theight: number,\n\tcolor1: string,\n\tcolor2: string,\n\tstroke?: string,\n\tstrokeWidth?: number,\n\tstrokeOpacity?: number\n): string => {\n\tlet result = \"\";\n\tif (!isPatternInjected) {\n\t\tisPatternInjected = true;\n\t\tresult =\n\t\t\t`<defs>` +\n\t\t\t`<pattern id=\"rounded-checkerboard-pattern\" patternUnits=\"userSpaceOnUse\" width=\"18\" height=\"18\">` +\n\t\t\t`<rect x=\"0\" y=\"0\" width=\"9\" height=\"9\" fill=\"${color1}\" />` +\n\t\t\t`<rect x=\"9\" y=\"0\" width=\"9\" height=\"9\" fill=\"${color2}\" />` +\n\t\t\t`<rect x=\"0\" y=\"9\" width=\"9\" height=\"9\" fill=\"${color2}\" />` +\n\t\t\t`<rect x=\"9\" y=\"9\" width=\"9\" height=\"9\" fill=\"${color1}\" />` +\n\t\t\t`</pattern>` +\n\t\t\t`</defs>`;\n\t}\n\tresult += newSvgRoundedRect(\n\t\t0,\n\t\t0,\n\t\twidth,\n\t\theight,\n\t\t\"url(#rounded-checkerboard-pattern)\",\n\t\tstroke,\n\t\tstrokeWidth,\n\t\tstrokeOpacity\n\t);\n\treturn result;\n};\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export var newSvgRoundedRect = function (x, y, width, height, fill, stroke, strokeWidth, strokeOpacity) {
|
|
2
|
+
var sw = strokeWidth !== null && strokeWidth !== void 0 ? strokeWidth : 0;
|
|
3
|
+
var o = sw * 0.5;
|
|
4
|
+
var r = Math.max(0, 3 - o);
|
|
5
|
+
var w = width - sw - r - r;
|
|
6
|
+
var h = height - sw - r - r;
|
|
7
|
+
x += o + r;
|
|
8
|
+
y += o;
|
|
9
|
+
return ("<path d=\"M".concat(x, ",").concat(y, " h").concat(w, " a").concat(r, ",").concat(r, " 0 0 1 ").concat(r, ",").concat(r, " v").concat(h, " a").concat(r, ",").concat(r, " 0 0 1 -").concat(r, ",").concat(r, " h-").concat(w, " a").concat(r, ",").concat(r, " 0 0 1 -").concat(r, ",-").concat(r, " v-").concat(h, " a").concat(r, ",").concat(r, " 0 0 1 ").concat(r, ",-").concat(r, "z\" fill=\"").concat(fill, "\"") +
|
|
10
|
+
(stroke ? " stroke=\"".concat(stroke, "\"") : "") +
|
|
11
|
+
(strokeWidth != null ? " stroke-width=\"".concat(strokeWidth, "\"") : "") +
|
|
12
|
+
(strokeOpacity != null ? " stroke-opacity=\"".concat(strokeOpacity, "\"") : "") +
|
|
13
|
+
" />");
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=new-svg-rounded-rect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-svg-rounded-rect.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/common/new-svg-rounded-rect.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAChC,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,IAAY,EACZ,MAAe,EACf,WAAoB,EACpB,aAAsB;IAEtB,IAAM,EAAE,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,CAAC,CAAC;IAC5B,IAAM,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;IACnB,IAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAM,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAM,CAAC,GAAG,MAAM,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACX,CAAC,IAAI,CAAC,CAAC;IACP,OAAO,CACN,qBAAa,CAAC,cAAI,CAAC,eAAK,CAAC,eAAK,CAAC,cAAI,CAAC,oBAAU,CAAC,cAAI,CAAC,eAAK,CAAC,eAAK,CAAC,cAAI,CAAC,qBAAW,CAAC,cAAI,CAAC,gBAAM,CAAC,eAAK,CAAC,cAAI,CAAC,qBAAW,CAAC,eAAK,CAAC,gBAAM,CAAC,eAAK,CAAC,cAAI,CAAC,oBAAU,CAAC,eAAK,CAAC,wBAAY,IAAI,OAAG;QAChL,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAY,MAAM,OAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,0BAAkB,WAAW,OAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,4BAAoB,aAAa,OAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,KAAK,CACL,CAAC;AACH,CAAC,CAAC","sourcesContent":["export const newSvgRoundedRect = (\n\tx: number,\n\ty: number,\n\twidth: number,\n\theight: number,\n\tfill: string,\n\tstroke?: string,\n\tstrokeWidth?: number,\n\tstrokeOpacity?: number\n): string => {\n\tconst sw = strokeWidth ?? 0;\n\tconst o = sw * 0.5;\n\tconst r = Math.max(0, 3 - o);\n\tconst w = width - sw - r - r;\n\tconst h = height - sw - r - r;\n\tx += o + r;\n\ty += o;\n\treturn (\n\t\t`<path d=\"M${x},${y} h${w} a${r},${r} 0 0 1 ${r},${r} v${h} a${r},${r} 0 0 1 -${r},${r} h-${w} a${r},${r} 0 0 1 -${r},-${r} v-${h} a${r},${r} 0 0 1 ${r},-${r}z\" fill=\"${fill}\"` +\n\t\t(stroke ? ` stroke=\"${stroke}\"` : ``) +\n\t\t(strokeWidth != null ? ` stroke-width=\"${strokeWidth}\"` : ``) +\n\t\t(strokeOpacity != null ? ` stroke-opacity=\"${strokeOpacity}\"` : ``) +\n\t\t` />`\n\t);\n};\n"]}
|
|
@@ -6,12 +6,9 @@ import { __extends } from "tslib";
|
|
|
6
6
|
import { DColorGradientObservable } from "../../d-color-gradient-observable";
|
|
7
7
|
import { DThemeDarkAtlas } from "./d-theme-dark-atlas";
|
|
8
8
|
import { DThemeDarkButton } from "./d-theme-dark-button";
|
|
9
|
-
|
|
10
|
-
// Apache license version 2.0.
|
|
9
|
+
import { newSvgRoundedRect } from "../common/new-svg-rounded-rect";
|
|
11
10
|
/* eslint-disable prettier/prettier */
|
|
12
|
-
DThemeDarkAtlas.add("button_color_gradient_sample", 21, 21,
|
|
13
|
-
"<path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\" fill=\"#fff\"/>" +
|
|
14
|
-
"</g>");
|
|
11
|
+
DThemeDarkAtlas.add("button_color_gradient_sample", 21, 21, newSvgRoundedRect(3, 3, 15, 15, "#fff", "#eee", 1));
|
|
15
12
|
/* eslint-enable prettier/prettier */
|
|
16
13
|
var formatter = function () {
|
|
17
14
|
return "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-theme-dark-button-color-gradient.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/dark/d-theme-dark-button-color-gradient.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"d-theme-dark-button-color-gradient.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/dark/d-theme-dark-button-color-gradient.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,sCAAsC;AACtC,eAAe,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,EAAE,EAAE,EACzD,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAClD,CAAC;AACF,qCAAqC;AAErC,IAAM,SAAS,GAAG;IACjB,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;AAEF;IACS,iDAA0C;IADnD;;IAmBA,CAAC;IAfA,0DAAkB,GAAlB;QACC,OAAO,eAAe,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC9D,CAAC;IAED,wDAAgB,GAAhB;QACC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,oDAAY,GAAZ;QACC,OAAO,IAAI,wBAAwB,EAAE,CAAC;IACvC,CAAC;IAED,wDAAgB,GAAhB;QACC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;IACF,oCAAC;AAAD,CAAC,AAnBD,CACS,gBAAgB,GAkBxB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Texture } from \"pixi.js\";\nimport { DButtonColorGradient, DThemeButtonColorGradient } from \"../../d-button-color-gradient\";\nimport { DColorGradientObservable } from \"../../d-color-gradient-observable\";\nimport { DStateAwareOrValueMightBe } from \"../../d-state-aware\";\nimport { DThemeDarkAtlas } from \"./d-theme-dark-atlas\";\nimport { DThemeDarkButton } from \"./d-theme-dark-button\";\nimport { newSvgRoundedRect } from \"../common/new-svg-rounded-rect\";\n\n/* eslint-disable prettier/prettier */\nDThemeDarkAtlas.add(\"button_color_gradient_sample\", 21, 21,\n\tnewSvgRoundedRect(3, 3, 15, 15, \"#fff\", \"#eee\", 1)\n);\n/* eslint-enable prettier/prettier */\n\nconst formatter = (): string => {\n\treturn \"\";\n};\n\nexport class DThemeDarkButtonColorGradient\n\textends DThemeDarkButton<DColorGradientObservable>\n\timplements DThemeButtonColorGradient\n{\n\tgetViewBaseTexture(): Texture | null {\n\t\treturn DThemeDarkAtlas.mappings.button_color_gradient_sample;\n\t}\n\n\tgetTextFormatter(): (value: DColorGradientObservable, caller: DButtonColorGradient) => string {\n\t\treturn formatter;\n\t}\n\n\tnewTextValue(): DStateAwareOrValueMightBe<DColorGradientObservable> {\n\t\treturn new DColorGradientObservable();\n\t}\n\n\tgetCheckerColors(): [number, number] {\n\t\treturn [0x37255, 0.27];\n\t}\n}\n"]}
|