Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/ui/stageflow/dist/ |
Upload File : |
{"version":3,"file":"stageflow.bundle.js","sources":["../src/stage.js","../src/chart.js","../src/index.js"],"sourcesContent":["import { Dom, Tag, Text, Type } from 'main.core';\n\ndeclare type StageParams = {\n\tid: number,\n\tname: string,\n\tcolor: string,\n\tbackgroundColor: string,\n\tisFilled?: boolean,\n\tevents?: {\n\t\tonMouseEnter: (stage: Stage) => void,\n\t\tonMouseLeave: (stage: Stage) => void,\n\t\tonClick: (stage: Stage) => void,\n\t},\n\tisSuccess?: boolean,\n\tisFail?: boolean,\n\tisDisable?: boolean,\n\tfillingColor?: string,\n};\n\nexport class Stage\n{\n\tid;\n\tname;\n\tsuccess;\n\tfail;\n\tcolor;\n\tfillingColor;\n\tbackgroundColor;\n\tisFilled;\n\tnode;\n\ttextNode;\n\tisDisable;\n\tbackgroundImage = \"url('data:image/svg+xml;charset=UTF-8,%3csvg width=%27295%27 height=%2732%27 viewBox=%270 0 295 32%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3cmask id=%27mask0_2_11%27 style=%27mask-type:alpha%27 maskUnits=%27userSpaceOnUse%27 x=%270%27 y=%270%27 width=%27295%27 height=%2732%27%3e%3cpath fill=%27#COLOR2#%27 d=%27M0 2.9961C0 1.3414 1.33554 0 2.99805 0L285.905 7.15256e-07C287.561 7.15256e-07 289.366 1.25757 289.937 2.80757L295 16.5505L290.007 29.2022C289.397 30.7474 287.567 32 285.905 32H2.99805C1.34227 32 0 30.6657 0 29.0039V2.9961Z%27/%3e%3c/mask%3e%3cg mask=%27url(%23mask0_2_11)%27%3e%3cpath fill=%27#COLOR2#%27 d=%27M0 2.9961C0 1.3414 1.33554 0 2.99805 0L285.905 7.15256e-07C287.561 7.15256e-07 289.366 1.25757 289.937 2.80757L295 16.5505L290.007 29.2022C289.397 30.7474 287.567 32 285.905 32H2.99805C1.34227 32 0 30.6657 0 29.0039V2.9961Z%27/%3e%3cpath d=%27M0 30H295V32H0V30Z%27 fill=%27#COLOR1#%27/%3e%3c/g%3e%3c/svg%3e') 3 10 3 3 fill repeat\";\n\n\tconstructor(params: StageParams)\n\t{\n\t\tthis.id = params.id;\n\t\tthis.name = params.name;\n\t\tthis.color = params.color;\n\t\tthis.backgroundColor = params.backgroundColor;\n\t\tthis.isFilled = params.isFilled;\n\t\tthis.events = params.events;\n\t\tthis.success = params.isSuccess;\n\t\tthis.fail = params.isFail;\n\t\tthis.fillingColor = params.fillingColor;\n\t\tthis.isDisable = params.isDisable;\n\t}\n\n\tstatic create(data: StageParams): ?Stage\n\t{\n\t\tif (Type.isPlainObject(data) && data.id && data.name && data.color && data.backgroundColor)\n\t\t{\n\t\t\tdata.id = Text.toInteger(data.id);\n\t\t\tdata.name = data.name.toString();\n\t\t\tdata.color = data.color.toString();\n\t\t\tdata.backgroundColor = data.backgroundColor.toString();\n\t\t\tdata.events = Type.isPlainObject(data.events) ? data.events : {};\n\t\t\tdata.isFilled = Type.isBoolean(data.isFilled) ? data.isFilled : false;\n\t\t\tdata.isDisable = Type.isBoolean(data.isDisable) ? data.isDisable : false;\n\n\t\t\tif (data.id > 0)\n\t\t\t{\n\t\t\t\treturn new Stage(data);\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetId(): number\n\t{\n\t\treturn this.id;\n\t}\n\n\tgetName(): string\n\t{\n\t\treturn this.name;\n\t}\n\n\tsetName(name: string): Stage\n\t{\n\t\tthis.name = name;\n\t\tif(this.textNode)\n\t\t{\n\t\t\tthis.textNode.innerText = this.name;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tisSuccess(): boolean\n\t{\n\t\treturn (this.success === true);\n\t}\n\n\tisFail(): boolean\n\t{\n\t\treturn (this.fail === true);\n\t}\n\n\tisFinal(): boolean\n\t{\n\t\treturn (this.isFail() || this.isSuccess());\n\t}\n\n\tisDisabled(): boolean\n\t{\n\t\treturn this.isDisable;\n\t}\n\n\tsetDisable(isDisable: boolean = true): Stage\n\t{\n\t\tif (this.isDisable === isDisable)\n\t\t{\n\t\t\treturn this;\n\t\t}\n\n\t\tif (this.node)\n\t\t{\n\t\t\tDom.toggleClass(this.node, '--disabled');\n\t\t}\n\n\t\tthis.isDisable = isDisable;\n\n\t\treturn this;\n\t}\n\n\tgetColor(): string\n\t{\n\t\treturn this.color;\n\t}\n\n\tsetColor(color: string): Stage\n\t{\n\t\tthis.color = color;\n\n\t\treturn this;\n\t}\n\n\trender(): Element\n\t{\n\t\tif(this.node)\n\t\t{\n\t\t\tthis.textNode.style.backgroundImage = this.getBackgroundImage();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst disableClass = this.isDisabled() ? '--disabled' : '';\n\n\t\t\tthis.textNode = Tag.render`<div style=\"border-image: ${this.getBackgroundImage()};\" class=\"ui-stageflow-stage-item-text\">${Text.encode(this.getName())}</div>`;\n\t\t\tthis.node = Tag.render`<div \n\t\t\t\t\tclass=\"ui-stageflow-stage ${disableClass}\" \n\t\t\t\t\tdata-stage-id=\"${this.getId()}\" \n\t\t\t\t\tonmouseenter=\"${this.onMouseEnter.bind(this)}\" \n\t\t\t\t\tonmouseleave=\"${this.onMouseLeave.bind(this)}\"\n\t\t\t\t\tonclick=\"${this.onClick.bind(this)}\"\n\t\t\t\t>\n\t\t\t\t<div class=\"ui-stageflow-stage-item\">\n\t\t\t\t\t${this.textNode}\n\t\t\t\t</div>\n\t\t\t</div>`;\n\t\t}\n\n\t\tthis.textNode.style.color = Stage.calculateTextColor('#' + (this.isFilled ? this.color : this.backgroundColor));\n\n\t\treturn this.node;\n\t}\n\n\tgetBackgroundImage(color: string = null, isFilled: boolean = null): string\n\t{\n\t\tif(!color)\n\t\t{\n\t\t\tif(this.isFilled && this.fillingColor)\n\t\t\t{\n\t\t\t\tcolor = this.fillingColor;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcolor = this.getColor();\n\t\t\t}\n\t\t}\n\t\tif(Type.isNull(isFilled))\n\t\t{\n\t\t\tisFilled = this.isFilled;\n\t\t}\n\n\t\tlet image = this.backgroundImage.replaceAll('#COLOR1#', encodeURIComponent('#' + color));\n\n\t\tif(isFilled)\n\t\t{\n\t\t\timage = image.replaceAll('#COLOR2#', encodeURIComponent('#' + color));\n\t\t}\n\t\telse\n\t\t{\n\t\t\timage = image.replaceAll('#COLOR2#', encodeURIComponent('#' + this.backgroundColor));\n\t\t}\n\n\t\treturn image;\n\t}\n\n\tonMouseEnter()\n\t{\n\t\tif(Type.isFunction(this.events.onMouseEnter))\n\t\t{\n\t\t\tthis.events.onMouseEnter(this);\n\t\t}\n\t}\n\n\tonMouseLeave()\n\t{\n\t\tif(Type.isFunction(this.events.onMouseLeave))\n\t\t{\n\t\t\tthis.events.onMouseLeave(this);\n\t\t}\n\t}\n\n\tonClick()\n\t{\n\t\tif(Type.isFunction(this.events.onClick))\n\t\t{\n\t\t\tthis.events.onClick(this);\n\t\t}\n\t}\n\n\taddBackLight(color)\n\t{\n\t\tif(this.textNode)\n\t\t{\n\t\t\tthis.textNode.style.borderImage = this.getBackgroundImage(color, true);\n\t\t\tthis.textNode.style.color = Stage.calculateTextColor('#' + color);\n\t\t}\n\t}\n\n\tremoveBackLight()\n\t{\n\t\tif(this.textNode)\n\t\t{\n\t\t\tthis.textNode.style.borderImage = this.getBackgroundImage();\n\t\t\tthis.textNode.style.color = Stage.calculateTextColor('#' + (this.isFilled ? this.fillingColor : this.backgroundColor));\n\t\t}\n\t}\n\n\tgetMinWidthForFullNameVisibility(): number\n\t{\n\t\tif (!this.textNode)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst {clientWidth, offsetWidth, scrollWidth } = this.textNode;\n\n\t\treturn scrollWidth + (offsetWidth - clientWidth) + 2;\n\t}\n\n\tisNameCropped(): boolean\n\t{\n\t\tif (!this.textNode)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this.textNode.offsetWidth < this.textNode.scrollWidth\n\t}\n\n\tstatic calculateTextColor(baseColor)\n\t{\n\t\tvar r, g, b;\n\t\tif ( baseColor.length > 7 && baseColor.indexOf('(') >= 0 && baseColor.indexOf(')') >= 0)\n\t\t{\n\t\t\tvar hexComponent = baseColor.split(\"(\")[1].split(\")\")[0];\n\t\t\thexComponent = hexComponent.split(\",\");\n\t\t\tr = parseInt(hexComponent[0]);\n\t\t\tg = parseInt(hexComponent[1]);\n\t\t\tb = parseInt(hexComponent[2]);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(/^#([A-Fa-f0-9]{3}){1,2}$/.test(baseColor))\n\t\t\t{\n\t\t\t\tvar c = baseColor.substring(1).split('');\n\t\t\t\tif(c.length === 3)\n\t\t\t\t{\n\t\t\t\t\tc= [c[0], c[0], c[1], c[1], c[2], c[2]];\n\t\t\t\t}\n\t\t\t\tc = '0x'+c.join('');\n\t\t\t\tr = ( c >> 16 ) & 255;\n\t\t\t\tg = ( c >> 8 ) & 255;\n\t\t\t\tb = c & 255;\n\t\t\t}\n\t\t}\n\n\t\tvar y = 0.21 * r + 0.72 * g + 0.07 * b;\n\t\treturn ( y < 145 ) ? \"#fff\" : \"#333\";\n\t}\n}","import { Text, Dom, Tag, Type, Loc } from 'main.core';\nimport { Button } from 'ui.buttons';\nimport { Stage } from './stage';\nimport './css/style.css';\n\nimport { MenuManager, Popup, PopupManager } from 'main.popup';\n\nconst semanticSelectorPopupId = 'ui-stageflow-select-semantic-popup';\nconst finalStageSelectorPopupId = 'ui-stageflow-select-final-stage-popup';\nconst FinalStageDefaultData = {\n\tid: 'final',\n\tcolor: '7BD500',\n\tisFilled: false,\n};\n\nconst defaultFinalStageLabels = {\n\tfinalStageName: Loc.getMessage('UI_STAGEFLOW_FINAL_STAGE_NAME'),\n\tfinalStagePopupTitle: Loc.getMessage('UI_STAGEFLOW_FINAL_STAGE_POPUP_TITLE'),\n\tfinalStagePopupFail: Loc.getMessage('UI_STAGEFLOW_FINAL_STAGE_POPUP_FAIL'),\n\tfinalStageSelectorTitle: Loc.getMessage('UI_STAGEFLOW_FINAL_STAGE_SELECTOR_TITLE'),\n};\n\nexport class Chart\n{\n\tbackgroundColor;\n\tcontainer;\n\tcurrentStage = 0;\n\tstages: Map;\n\tisActive = false;\n\tonStageChange;\n\tlabels: {\n\t\tfinalStageName: string,\n\t\tfinalStagePopupTitle: string,\n\t\tfinalStagePopupFail: string,\n\t\tfinalStageSelectorTitle: string,\n\t};\n\n\tconstructor(params: {\n\t\tbackgroundColor: string,\n\t\tcurrentStage: number,\n\t\tisActive: boolean,\n\t\tonStageChange: ?Function,\n\t\tlabels: ?{},\n\t}, stages = [])\n\t{\n\t\tthis.labels = defaultFinalStageLabels;\n\t\tif(Type.isPlainObject(params))\n\t\t{\n\t\t\tif(Type.isString(params.backgroundColor) && params.backgroundColor.length === 6)\n\t\t\t{\n\t\t\t\tthis.backgroundColor = params.backgroundColor;\n\t\t\t}\n\t\t\tif(params.currentStage)\n\t\t\t{\n\t\t\t\tthis.currentStage = Text.toInteger(params.currentStage);\n\t\t\t}\n\t\t\tif(Type.isBoolean(params.isActive))\n\t\t\t{\n\t\t\t\tthis.isActive = params.isActive;\n\t\t\t}\n\t\t\tif(Type.isFunction(params.onStageChange))\n\t\t\t{\n\t\t\t\tthis.onStageChange = params.onStageChange;\n\t\t\t}\n\t\t\tif(Type.isPlainObject(params.labels))\n\t\t\t{\n\t\t\t\tthis.labels = {...this.labels, ...params.labels};\n\t\t\t}\n\t\t}\n\t\tFinalStageDefaultData.name = this.labels.finalStageName;\n\t\tif(Type.isArray(stages))\n\t\t{\n\t\t\tlet fillingColor = null;\n\t\t\tif(this.currentStage > 0)\n\t\t\t{\n\t\t\t\tstages.forEach((data) => {\n\t\t\t\t\tif(Text.toInteger(data.id) === Text.toInteger(this.currentStage))\n\t\t\t\t\t{\n\t\t\t\t\t\tfillingColor = data.color;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tthis.fillStages(stages, fillingColor);\n\t\t}\n\t\tif(!this.currentStage && this.stages.length > 0)\n\t\t{\n\t\t\tthis.currentStage = this.stages.keys().next().value;\n\t\t}\n\t}\n\n\tsetCurrentStageId(stageId: number): Chart\n\t{\n\t\tstageId = Text.toInteger(stageId);\n\t\tconst currentStage = this.getStageById(stageId);\n\t\tif(!currentStage)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tthis.currentStage = stageId;\n\t\tconst finalStage = this.getFinalStage();\n\t\tif(finalStage)\n\t\t{\n\t\t\tif(currentStage.isFinal())\n\t\t\t{\n\t\t\t\tfinalStage.setColor(currentStage.getColor()).setName(currentStage.getName());\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfinalStage.setColor(FinalStageDefaultData.color).setName(FinalStageDefaultData.name);\n\t\t\t}\n\t\t}\n\t\tthis.stages.forEach((stage: Stage) =>\n\t\t{\n\t\t\tif(!stage.isFinal())\n\t\t\t{\n\t\t\t\tstage.fillingColor = currentStage.getColor();\n\t\t\t}\n\t\t});\n\t\tthis.addBackLightUpToStage();\n\n\t\treturn this;\n\t}\n\n\tfillStages(stages: Array, fillingColor: ?string)\n\t{\n\t\tlet isFilled = (this.currentStage > 0);\n\t\tconst finalStageOptions = {};\n\t\tthis.stages = new Map();\n\t\tstages.forEach((data) =>\n\t\t{\n\t\t\tdata.isFilled = isFilled;\n\t\t\tdata.backgroundColor = this.backgroundColor;\n\t\t\tdata.fillingColor = fillingColor;\n\t\t\tdata.events = {\n\t\t\t\tonMouseEnter: this.onStageMouseHover.bind(this),\n\t\t\t\tonMouseLeave: this.onStageMouseLeave.bind(this),\n\t\t\t\tonClick: this.onStageClick.bind(this),\n\t\t\t};\n\t\t\tconst stage = Stage.create(data);\n\t\t\tif(stage)\n\t\t\t{\n\t\t\t\tthis.stages.set(stage.getId(), stage);\n\t\t\t}\n\t\t\tif(stage.isSuccess())\n\t\t\t{\n\t\t\t\tFinalStageDefaultData.color = stage.getColor();\n\t\t\t}\n\t\t\tif(stage.isFinal())\n\t\t\t{\n\t\t\t\tfinalStageOptions.isFilled = isFilled;\n\t\t\t\tif(stage.getId() === this.currentStage)\n\t\t\t\t{\n\t\t\t\t\tfinalStageOptions.name = stage.getName();\n\t\t\t\t\tfinalStageOptions.color = stage.getColor();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if(isFilled && stage.getId() === this.currentStage)\n\t\t\t{\n\t\t\t\tisFilled = false;\n\t\t\t}\n\t\t});\n\n\t\tif(this.getFailStages().length <= 0)\n\t\t{\n\t\t\tFinalStageDefaultData.name = finalStageOptions.name = this.getSuccessStage().getName();\n\t\t}\n\n\t\tthis.addFinalStage(finalStageOptions);\n\t}\n\n\taddFinalStage(data: {\n\t\tisFilled: ?boolean,\n\t\tname: ?string,\n\t\tcolor: ?string,\n\t})\n\t{\n\t\tthis.stages.set(FinalStageDefaultData.id, new Stage({...{\n\t\t\tbackgroundColor: this.backgroundColor,\n\t\t\tevents: {\n\t\t\t\tonMouseEnter: this.onStageMouseHover.bind(this),\n\t\t\t\tonMouseLeave: this.onStageMouseLeave.bind(this),\n\t\t\t\tonClick: this.onFinalStageClick.bind(this),\n\t\t\t},\n\t\t}, ...FinalStageDefaultData, ...data}));\n\t}\n\n\tgetFinalStage(): ?Stage\n\t{\n\t\treturn this.getStageById(FinalStageDefaultData.id);\n\t}\n\n\tgetStages(): Map\n\t{\n\t\treturn this.stages;\n\t}\n\n\tgetFirstFailStage(): ?Stage\n\t{\n\t\tlet failStage = null;\n\t\tthis.stages.forEach((stage: Stage) =>\n\t\t{\n\t\t\tif(stage.isFail() && !failStage)\n\t\t\t{\n\t\t\t\tfailStage = stage;\n\t\t\t}\n\t\t});\n\n\t\treturn failStage;\n\t}\n\n\tgetFailStages(): Array\n\t{\n\t\tconst failStages = [];\n\t\tthis.stages.forEach((stage: Stage) =>\n\t\t{\n\t\t\tif(stage.isFail())\n\t\t\t{\n\t\t\t\tfailStages.push(stage);\n\t\t\t}\n\t\t});\n\n\t\treturn failStages;\n\t}\n\n\tgetSuccessStage(): ?Stage\n\t{\n\t\tlet finalStage = null;\n\t\tthis.stages.forEach((stage: Stage) =>\n\t\t{\n\t\t\tif(stage.isSuccess())\n\t\t\t{\n\t\t\t\tfinalStage = stage;\n\t\t\t}\n\t\t});\n\n\t\treturn finalStage;\n\t}\n\n\tgetStageById(id: number): ?Stage\n\t{\n\t\treturn this.stages.get(id);\n\t}\n\n\trender(): Element\n\t{\n\t\tconst container = this.renderContainer();\n\n\t\tthis.getStages().forEach((stage: Stage) =>\n\t\t{\n\t\t\tif(stage.isFinal())\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcontainer.appendChild(stage.render());\n\t\t});\n\n\t\tthis.addBackLightUpToStage();\n\n\t\treturn container;\n\t}\n\n\trenderContainer(): Element\n\t{\n\t\tif(this.container)\n\t\t{\n\t\t\tDom.clean(this.container);\n\t\t\treturn this.container;\n\t\t}\n\n\t\tthis.container = Tag.render`<div class=\"ui-stageflow-container\"></div>`;\n\n\t\treturn this.container;\n\t}\n\n\tonStageMouseHover(stage: Stage)\n\t{\n\t\tif(!this.isActive)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hoverStageId = stage.getId();\n\n\t\tfor(let [id, currentStage] of this.stages)\n\t\t{\n\t\t\tcurrentStage.addBackLight(stage.getColor());\n\t\t\tif(id === stage.getId())\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tthis.increaseStageWidthForNameVisibility(stage);\n\t}\n\n\tonStageMouseLeave(stage: Stage)\n\t{\n\t\tif(!this.isActive)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tDom.style(stage.node, {\n\t\t\tflexBasis: null,\n\t\t\tflexGrow: null,\n\t\t})\n\n\t\tfor(let [id, currentStage] of this.stages)\n\t\t{\n\t\t\tcurrentStage.removeBackLight();\n\t\t\tif(id === stage.getId())\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tonStageClick(stage: Stage)\n\t{\n\t\tif(!this.isActive)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif(stage.getId() !== this.currentStage && Type.isFunction(this.onStageChange))\n\t\t{\n\t\t\tthis.onStageChange(stage);\n\t\t}\n\t\tconst popup = this.getSemanticSelectorPopup();\n\t\tif(popup.isShown())\n\t\t{\n\t\t\tpopup.close();\n\t\t}\n\t}\n\n\tonFinalStageClick(stage: Stage)\n\t{\n\t\tif(!this.isActive)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif(this.getFailStages().length <= 0)\n\t\t{\n\t\t\tthis.onStageClick(this.getSuccessStage());\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst popup = this.getSemanticSelectorPopup();\n\t\t\tpopup.show();\n\t\t\tconst currentStage = this.getStageById(this.currentStage);\n\t\t\tthis.isActive = false;\n\t\t\tif (!currentStage.isFinal()) {\n\t\t\t\tconst finalStage = this.getStageById(FinalStageDefaultData.id);\n\t\t\t\tif (finalStage) {\n\t\t\t\t\tthis.addBackLightUpToStage(finalStage.getId(), finalStage.getColor());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\taddBackLightUpToStage(stageId: number|string = null, color: string = null)\n\t{\n\t\tif(!stageId)\n\t\t{\n\t\t\tstageId = this.currentStage;\n\t\t}\n\t\tconst currentStage = this.getStageById(stageId);\n\t\tif(currentStage && !color)\n\t\t{\n\t\t\tcolor = currentStage.getColor();\n\t\t}\n\n\t\tlet isFilled = !!stageId;\n\t\tthis.stages.forEach((stage: Stage) =>\n\t\t{\n\t\t\tstage.isFilled = isFilled;\n\t\t\tif(stage.isFilled)\n\t\t\t{\n\t\t\t\tstage.addBackLight(color ? color : stage.getColor());\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tstage.removeBackLight();\n\t\t\t}\n\t\t\tif(!stage.isFinal() && isFilled && stage.getId() === stageId)\n\t\t\t{\n\t\t\t\tisFilled = false;\n\t\t\t}\n\t\t});\n\t}\n\n\tgetSemanticSelectorPopup(): Popup\n\t{\n\t\tlet popup = PopupManager.getPopupById(semanticSelectorPopupId);\n\n\t\tif (!popup)\n\t\t{\n\t\t\tpopup = PopupManager.create({\n\t\t\t\tid: semanticSelectorPopupId,\n\t\t\t\tautoHide: true,\n\t\t\t\tcloseByEsc: true,\n\t\t\t\tcloseIcon: true,\n\t\t\t\tmaxWidth: 420,\n\t\t\t\tcontent: Tag.render`<div class=\"ui-stageflow-popup-title\">${this.labels.finalStagePopupTitle}</div>`,\n\t\t\t\tbuttons: [\n\t\t\t\t\tthis.getSemanticPopupSuccessButton(),\n\t\t\t\t\tthis.getSemanticPopupFailureButton(),\n\t\t\t\t],\n\t\t\t\tevents: {\n\t\t\t\t\tonClose: () => {\n\t\t\t\t\t\tthis.setCurrentStageId(this.currentStage);\n\t\t\t\t\t\tthis.isActive = true;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\treturn popup;\n\t}\n\n\tgetSemanticPopupSuccessButton(): Button\n\t{\n\t\treturn new BX.UI.Button({\n\t\t\tcolor: BX.UI.Button.Color.SUCCESS,\n\t\t\ttext: this.getSuccessStage().getName(),\n\t\t\tonclick: () => {\n\t\t\t\tthis.isActive = true;\n\t\t\t\tthis.onStageClick(this.getSuccessStage());\n\t\t\t},\n\t\t});\n\t}\n\n\tgetSemanticPopupFailureButton(): ?Button\n\t{\n\t\tconst failureSemanticText = this.getFailStageName();\n\t\tif (!failureSemanticText)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\treturn new BX.UI.Button({\n\t\t\tcolor: BX.UI.Button.Color.DANGER,\n\t\t\ttext: failureSemanticText,\n\t\t\tonclick: () => {\n\t\t\t\tPopupManager.getPopupById(semanticSelectorPopupId)?.close();\n\t\t\t\tconst finalStagePopup = this.getFinalStageSelectorPopup();\n\t\t\t\tfinalStagePopup.show();\n\t\t\t\tthis.isActive = false;\n\t\t\t},\n\t\t});\n\t}\n\n\tgetFinalStageSemanticSelector(isSuccess: boolean = null): Element\n\t{\n\t\tif(!this.finalStageSemanticSelector)\n\t\t{\n\t\t\tthis.finalStageSemanticSelector = Tag.render`<div class=\"ui-stageflow-stage-selector-option ui-stageflow-stage-selector-option-fail\" onclick=\"${this.onSemanticSelectorClick.bind(this)}\"></div>`;\n\t\t}\n\n\t\tif(Type.isBoolean(isSuccess))\n\t\t{\n\t\t\tlet realFinalStage = null;\n\t\t\tlet failStageName = this.getFailStageName();\n\t\t\tif(isSuccess || !failStageName)\n\t\t\t{\n\t\t\t\tthis.finalStageSemanticSelector.classList.add('ui-stageflow-stage-selector-option-success');\n\t\t\t\tthis.finalStageSemanticSelector.classList.remove('ui-stageflow-stage-selector-option-fail');\n\t\t\t\tthis.finalStageSemanticSelector.innerText = this.getSuccessStage().getName();\n\t\t\t\trealFinalStage = this.getSuccessStage();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.finalStageSemanticSelector.classList.add('ui-stageflow-stage-selector-option-fail');\n\t\t\t\tthis.finalStageSemanticSelector.classList.remove('ui-stageflow-stage-selector-option-success');\n\t\t\t\tthis.finalStageSemanticSelector.innerText = failStageName;\n\t\t\t\trealFinalStage = this.getFirstFailStage();\n\t\t\t}\n\t\t\tconst finalStage = this.getFinalStage();\n\t\t\tif(finalStage && realFinalStage)\n\t\t\t{\n\t\t\t\tfinalStage.setColor(realFinalStage.getColor()).setName(realFinalStage.getName());\n\t\t\t}\n\t\t\tthis.addBackLightUpToStage(finalStage.getId(), finalStage.getColor());\n\t\t}\n\n\t\treturn this.finalStageSemanticSelector;\n\t}\n\n\tgetFinalStageSelectorPopup(isSuccess: boolean = false): Popup\n\t{\n\t\tlet popup = PopupManager.getPopupById(finalStageSelectorPopupId);\n\t\tif (!popup)\n\t\t{\n\t\t\tpopup = PopupManager.create({\n\t\t\t\tid: finalStageSelectorPopupId,\n\t\t\t\tautoHide: false,\n\t\t\t\tcloseByEsc: true,\n\t\t\t\tcloseIcon: true,\n\t\t\t\twidth: 420,\n\t\t\t\ttitleBar: true,\n\t\t\t\tbuttons: [\n\t\t\t\t\tnew BX.UI.SaveButton({\n\t\t\t\t\t\tonclick: () =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpopup.close();\n\t\t\t\t\t\t\tconst stage = this.getSelectedFinalStage();\n\t\t\t\t\t\t\tif(stage)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthis.onStageClick(stage);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tnew BX.UI.CancelButton({\n\t\t\t\t\t\tonclick: () =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpopup.close();\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\tevents: {\n\t\t\t\t\tonClose: () =>\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.setCurrentStageId(this.currentStage);\n\t\t\t\t\t\tthis.isActive = true;\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tpopup.setContent(this.getFinalStagePopupFailStagesWrapper(isSuccess));\n\t\tpopup.setTitleBar(this.getFinalStagePopupTitleBar(isSuccess));\n\n\t\treturn popup;\n\t}\n\n\tgetFinalStagePopupFailStagesWrapper(isSuccess: boolean = false): HTMLElement\n\t{\n\t\tconst failStageListWrapper = Tag.render`<div class=\"ui-stageflow-final-fail-stage-list-wrapper\"></div>`;\n\t\tif (isSuccess)\n\t\t{\n\t\t\treturn failStageListWrapper;\n\t\t}\n\n\t\tconst failStages = this.getFailStages();\n\t\tif (failStages.length > 1)\n\t\t{\n\t\t\tfailStages.forEach((stage: Stage) => {\n\t\t\t\tDom.append(this.getFinalStagePopupFailStage(stage), failStageListWrapper);\n\t\t\t});\n\n\t\t\tthis.setCheckedStageInFailStagesWrapper(failStageListWrapper);\n\t\t}\n\n\t\treturn failStageListWrapper;\n\t}\n\n\tsetCheckedStageInFailStagesWrapper(failStageListWrapper: HTMLElement): void\n\t{\n\t\tconst failStagesNodeList = this.extractFinalStagePopupFailStages(failStageListWrapper);\n\t\tif (!Type.isArrayFilled(failStagesNodeList))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst firstFailStageInput = failStagesNodeList[0].querySelector('input');\n\t\tif (firstFailStageInput)\n\t\t{\n\t\t\tfirstFailStageInput.checked = true;\n\t\t}\n\t}\n\n\textractFinalStagePopupFailStages(failStageListWrapper: HTMLElement): NodeList\n\t{\n\t\treturn failStageListWrapper.querySelectorAll('.ui-stageflow-final-fail-stage-list-section') ?? [];\n\t}\n\n\tgetFinalStagePopupFailStage(stage: Stage): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"ui-stageflow-final-fail-stage-list-section\">\n\t\t\t\t<input\n\t\t\t\t\tdata-stage-id=\"${stage.getId()}\"\n\t\t\t\t\tid=\"ui-stageflow-final-fail-stage-${stage.getId()}\"\n\t\t\t\t\tname=\"ui-stageflow-final-fail-stage-input\"\n\t\t\t\t\tclass=\"crm-list-fail-deal-button\"\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t>\n\t\t\t\t<label for=\"ui-stageflow-final-fail-stage-${stage.getId()}\">${stage.getName()}</label>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetFinalStagePopupTitleBar(isSuccess: boolean = false): Object\n\t{\n\t\tconst titleBar = {};\n\n\t\ttitleBar.content = Tag.render`\n\t\t\t<div class=\"ui-stageflow-stage-selector-block\">\n\t\t\t\t<span>${this.labels.finalStageSelectorTitle}</span>\n\t\t\t\t${this.getFinalStageSemanticSelector(isSuccess)}\n\t\t\t</div>\n\t\t`;\n\n\t\treturn titleBar;\n\t}\n\n\tonSemanticSelectorClick()\n\t{\n\t\tconst failStageName = this.getFailStageName();\n\t\tconst menu = MenuManager.create({\n\t\t\tid: 'ui-stageflow-final-stage-semantic-selector',\n\t\t\tbindElement: this.getFinalStageSemanticSelector(),\n\t\t\titems: [\n\t\t\t\t{\n\t\t\t\t\ttext: this.getSuccessStage().getName(),\n\t\t\t\t\tonclick: () =>\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.getFinalStageSelectorPopup(true);\n\t\t\t\t\t\tmenu.close();\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t(failStageName ? {\n\t\t\t\t\ttext: failStageName,\n\t\t\t\t\tonclick: () =>\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.getFinalStageSelectorPopup(false);\n\t\t\t\t\t\tmenu.close();\n\t\t\t\t\t},\n\t\t\t\t} : null),\n\t\t\t]\n\t\t});\n\n\t\tmenu.show();\n\t}\n\n\tgetSelectedFinalStage(): ?Stage\n\t{\n\t\tconst finalStageSemanticSelector = this.getFinalStageSemanticSelector();\n\t\tif(finalStageSemanticSelector.classList.contains('ui-stageflow-stage-selector-option-success'))\n\t\t{\n\t\t\treturn this.getSuccessStage();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst failStages = this.getFailStages();\n\t\t\tif(failStages.length > 1)\n\t\t\t{\n\t\t\t\tconst finalStageSelectorPopupContainer = document.getElementById(finalStageSelectorPopupId);\n\t\t\t\tif(finalStageSelectorPopupContainer)\n\t\t\t\t{\n\t\t\t\t\tconst selectedInput = finalStageSelectorPopupContainer.querySelector('input:checked');\n\t\t\t\t\tif(selectedInput)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst failStage = this.getStageById(Text.toInteger(selectedInput.dataset.stageId));\n\t\t\t\t\t\tif(failStage)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn failStage;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.getFirstFailStage();\n\t\t}\n\t}\n\n\tgetFailStageName(): ?string\n\t{\n\t\tconst failStagesLength = this.getFailStages().length;\n\n\t\tif(failStagesLength <= 0)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\telse if(failStagesLength === 1)\n\t\t{\n\t\t\treturn this.getFirstFailStageName();\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn this.labels.finalStagePopupFail;\n\t\t}\n\t}\n\n\tgetFirstFailStageName(): ?string\n\t{\n\t\treturn this.getFirstFailStage()?.getName();\n\t}\n\n\tincreaseStageWidthForNameVisibility(stage: Stage): void\n\t{\n\t\tif (!stage.isNameCropped())\n\t\t{\n\t\t\treturn\n\t\t}\n\n\t\tDom.style(stage.node, {\n\t\t\tflexGrow: 0,\n\t\t\tflexBasis: `${stage.getMinWidthForFullNameVisibility()}px`,\n\t\t})\n\t}\n}\n","import {Chart} from './chart';\nimport {Stage} from './stage';\nimport 'ui.fonts.opensans';\n\nexport const StageFlow = {\n\tChart,\n\tStage,\n};"],"names":["Stage","constructor","params","backgroundImage","id","name","color","backgroundColor","isFilled","events","success","isSuccess","fail","isFail","fillingColor","isDisable","create","data","Type","isPlainObject","Text","toInteger","toString","isBoolean","getId","getName","setName","textNode","innerText","isFinal","isDisabled","setDisable","node","Dom","toggleClass","getColor","setColor","render","style","getBackgroundImage","disableClass","Tag","encode","onMouseEnter","bind","onMouseLeave","onClick","calculateTextColor","isNull","image","replaceAll","encodeURIComponent","isFunction","addBackLight","borderImage","removeBackLight","getMinWidthForFullNameVisibility","clientWidth","offsetWidth","scrollWidth","isNameCropped","baseColor","r","g","b","length","indexOf","hexComponent","split","parseInt","test","c","substring","join","y","semanticSelectorPopupId","finalStageSelectorPopupId","FinalStageDefaultData","defaultFinalStageLabels","finalStageName","Loc","getMessage","finalStagePopupTitle","finalStagePopupFail","finalStageSelectorTitle","Chart","stages","currentStage","isActive","labels","isString","onStageChange","isArray","forEach","fillStages","keys","next","value","setCurrentStageId","stageId","getStageById","finalStage","getFinalStage","stage","addBackLightUpToStage","finalStageOptions","Map","onStageMouseHover","onStageMouseLeave","onStageClick","set","getFailStages","getSuccessStage","addFinalStage","onFinalStageClick","getStages","getFirstFailStage","failStage","failStages","push","get","container","renderContainer","appendChild","clean","hoverStageId","increaseStageWidthForNameVisibility","flexBasis","flexGrow","popup","getSemanticSelectorPopup","isShown","close","show","PopupManager","getPopupById","autoHide","closeByEsc","closeIcon","maxWidth","content","buttons","getSemanticPopupSuccessButton","getSemanticPopupFailureButton","onClose","BX","UI","Button","Color","SUCCESS","text","onclick","failureSemanticText","getFailStageName","DANGER","finalStagePopup","getFinalStageSelectorPopup","getFinalStageSemanticSelector","finalStageSemanticSelector","onSemanticSelectorClick","realFinalStage","failStageName","classList","add","remove","width","titleBar","SaveButton","getSelectedFinalStage","CancelButton","setContent","getFinalStagePopupFailStagesWrapper","setTitleBar","getFinalStagePopupTitleBar","failStageListWrapper","append","getFinalStagePopupFailStage","setCheckedStageInFailStagesWrapper","failStagesNodeList","extractFinalStagePopupFailStages","isArrayFilled","firstFailStageInput","querySelector","checked","querySelectorAll","menu","MenuManager","bindElement","items","contains","finalStageSelectorPopupContainer","document","getElementById","selectedInput","dataset","failStagesLength","getFirstFailStageName","StageFlow"],"mappings":"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"}