Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/js/ui/wizard/dist/
Upload File :
Current File : /var/www/homesaver/www/bitrix/js/ui/wizard/dist/wizard.bundle.js.map

{"version":3,"file":"wizard.bundle.js","sources":["../src/index.js"],"sourcesContent":["import { Tag, Loc, Dom, Type } from 'main.core';\nimport './style.css';\n\nexport type Metadata = {\n\t[key: string]: {\n\t\tget content(): HTMLElement;\n\t\ttitle: string;\n\t\tbeforeCompletion?: () => Promise<boolean>;\n\t};\n};\n\nexport type WizardOptions = {\n\tback?: {\n\t\tclassName?: string;\n\t\ttitles?: {\n\t\t\t[$Keys<typeof Metadata>]: string;\n\t\t};\n\t};\n\tnext?: {\n\t\tclassName?: string;\n\t\ttitles?: {\n\t\t\t[$Keys<typeof Metadata>]: string;\n\t\t};\n\t};\n\tcomplete?: {\n\t\tclassName?: string;\n\t\ttitle?: string;\n\t\tonComplete?: Function;\n\t};\n\tswapButtons: boolean;\n};\n\nexport class Wizard\n{\n\t#metadata: Metadata;\n\t#order: Array<$Keys<typeof Metadata>>;\n\t#options: WizardOptions;\n\t#stepIndex: number;\n\t#stepNode: HTMLElement;\n\t#stages: Map<string, HTMLElement>;\n\t#navigationButtons: { [key: string]: HTMLElement };\n\n\tconstructor(metadata: Metadata = {}, options: ?WizardOptions = {})\n\t{\n\t\tthis.#metadata = metadata;\n\t\tthis.#options = options;\n\t\tthis.#order = Object.keys(metadata);\n\t\tthis.#stepIndex = 0;\n\t\tthis.#stepNode = Tag.render`<div class=\"sign-wizard__step\"></div>`;\n\t\tthis.#stages = new Map();\n\t\tthis.#navigationButtons = this.#createNavigationButtons();\n\t}\n\n\t#createNavigationButtons(): { [key: string]: HTMLElement }\n\t{\n\t\tconst classList = [\n\t\t\t'ui-btn',\n\t\t\t'ui-btn-lg',\n\t\t\t'ui-btn-round',\n\t\t\t'sign-wizard__footer_button',\n\t\t];\n\t\tconst { back = {}, next = {}, complete = {}, swapButtons = false } = this.#options ?? {};\n\t\tconst { title: completeTitle, onComplete, className: completeClassName } = complete;\n\t\tconst backClassList = (back.className ?? '').split(' ');\n\t\tconst nextClassList = (next.className ?? '').split(' ');\n\t\tconst completeClassList = (completeClassName ?? '').split(' ');\n\t\tconst backButton = {\n\t\t\tid: 'back',\n\t\t\ttitle: Loc.getMessage('SIGN_WIZARD_FOOTER_BUTTON_BACK'),\n\t\t\tmethod: () => this.#onPrevStep(),\n\t\t\tbuttonClassList: [...classList, ...backClassList],\n\t\t};\n\t\tconst buttons = [\n\t\t\t{\n\t\t\t\tid: 'next',\n\t\t\t\ttitle: Loc.getMessage('SIGN_WIZARD_FOOTER_BUTTON_NEXT'),\n\t\t\t\tmethod: () => this.#onNextStep(),\n\t\t\t\tbuttonClassList: [...classList, ...nextClassList],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'complete',\n\t\t\t\ttitle: completeTitle ?? Loc.getMessage('SIGN_WIZARD_FOOTER_BUTTON_COMPLETE'),\n\t\t\t\tmethod: async () => {\n\t\t\t\t\tconst completed = await this.#tryCompleteStep('complete');\n\t\t\t\t\tif (completed && onComplete)\n\t\t\t\t\t{\n\t\t\t\t\t\tonComplete();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tbuttonClassList: [...classList, ...completeClassList],\n\t\t\t},\n\t\t];\n\t\tif (swapButtons)\n\t\t{\n\t\t\tbuttons.push(backButton);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tbuttons.unshift(backButton);\n\t\t}\n\n\t\treturn buttons.reduce((acc, button) => {\n\t\t\tconst {\n\t\t\t\ttitle,\n\t\t\t\tmethod,\n\t\t\t\tbuttonClassList = classList,\n\t\t\t\tid,\n\t\t\t} = button;\n\n\t\t\tconst node = Tag.render`\n\t\t\t\t<button\n\t\t\t\t\tclass=\"${buttonClassList.join(' ')}\"\n\t\t\t\t\ttitle=\"${title}\"\n\t\t\t\t\tonclick=\"${method}\"\n\t\t\t\t>\n\t\t\t\t\t${title}\n\t\t\t\t</button>\n\t\t\t`;\n\t\t\tacc[id] = node;\n\n\t\t\treturn acc;\n\t\t}, {});\n\t}\n\n\t#createStages(): Map<String, HTMLElement>\n\t{\n\t\tconst entries = Object.entries(this.#metadata);\n\t\tconst stages = new Map();\n\t\tentries.forEach(([stepName, step]) => {\n\t\t\tconst stage = Tag.render`\n\t\t\t\t<span class=\"sign-wizard__stages_item\">\n\t\t\t\t\t${step.title}\n\t\t\t\t</span>\n\t\t\t`;\n\t\t\tstages.set(stepName, stage);\n\t\t});\n\n\t\treturn stages;\n\t}\n\n\t#onPrevStep()\n\t{\n\t\tthis.#stepIndex -= 1;\n\t\tthis.moveOnStep(this.#stepIndex);\n\t}\n\n\tasync #tryCompleteStep(buttonId: string = 'next'): Promise<boolean>\n\t{\n\t\tconst stepName = this.#order[this.#stepIndex];\n\t\tconst { beforeCompletion } = this.#metadata[stepName] ?? {};\n\t\tthis.toggleBtnLoadingState(buttonId, true);\n\t\tconst shouldComplete = await beforeCompletion?.() ?? true;\n\t\tthis.toggleBtnLoadingState(buttonId, false);\n\n\t\treturn shouldComplete;\n\t}\n\n\tasync #onNextStep()\n\t{\n\t\tconst completed = await this.#tryCompleteStep();\n\t\tif (completed)\n\t\t{\n\t\t\tthis.#stepIndex += 1;\n\t\t\tthis.moveOnStep(this.#stepIndex);\n\t\t}\n\t}\n\n\t#getButtonsTitle(): { [key: string]: string; }\n\t{\n\t\tconst { back = {}, next = {} } = this.#options ?? {};\n\t\tconst stepName = this.#order[this.#stepIndex];\n\t\tconst backTitle = back.titles?.[stepName] ?? Loc.getMessage('SIGN_WIZARD_FOOTER_BUTTON_BACK');\n\t\tconst nextTitle = next.titles?.[stepName] ?? Loc.getMessage('SIGN_WIZARD_FOOTER_BUTTON_NEXT');\n\n\t\treturn {\n\t\t\tbackTitle,\n\t\t\tnextTitle,\n\t\t};\n\t}\n\n\t#renderNavigationButtons()\n\t{\n\t\tconst { back: backButton, next: nextButton, complete: completeButton } = this.#navigationButtons;\n\t\tconst isFirstStep = this.#stepIndex === 0;\n\t\tconst isLastStep = this.#stepIndex + 1 === this.#order.length;\n\t\tDom.removeClass(backButton, '--hide');\n\t\tDom.removeClass(nextButton, '--hide');\n\t\tDom.addClass(completeButton, '--hide');\n\t\tconst { nextTitle, backTitle } = this.#getButtonsTitle(backButton, nextButton);\n\t\tbackButton.textContent = backTitle;\n\t\tnextButton.textContent = nextTitle;\n\t\tif (isFirstStep)\n\t\t{\n\t\t\tDom.addClass(backButton, '--hide');\n\t\t}\n\n\t\tif (isLastStep)\n\t\t{\n\t\t\tDom.addClass(nextButton, '--hide');\n\t\t\tDom.removeClass(completeButton, '--hide');\n\t\t}\n\t}\n\n\t#renderActiveStage()\n\t{\n\t\tthis.#stages.forEach((stageNode) => {\n\t\t\tDom.removeClass(stageNode, '--active');\n\t\t});\n\t\tconst stepName = this.#order[this.#stepIndex];\n\t\tconst stageNode = this.#stages.get(stepName);\n\t\tDom.addClass(stageNode, '--active');\n\t}\n\n\t#renderStep()\n\t{\n\t\tconst stepName = this.#order[this.#stepIndex];\n\t\tconst { content } = this.#metadata[stepName] ?? {};\n\t\tif (!content)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tDom.clean(this.#stepNode);\n\t\tif (Type.isArrayFilled(content))\n\t\t{\n\t\t\tcontent.forEach((node) => Dom.append(node, this.#stepNode));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.append(content, this.#stepNode);\n\t\t}\n\t}\n\n\tgetLayout(): HTMLElement\n\t{\n\t\tthis.#stages = this.#createStages();\n\t\tconst content = Tag.render`\n\t\t\t<div class=\"sign-wizard__content\">\n\t\t\t\t<div class=\"sign-wizard__stages\">\n\t\t\t\t\t${[...this.#stages.values()]}\n\t\t\t\t</div>\n\t\t\t\t${this.#stepNode}\n\t\t\t</div>\n\t\t`;\n\t\tconst footer = Tag.render`\n\t\t\t<div class=\"sign-wizard__footer\">\n\t\t\t\t${Object.values(this.#navigationButtons)}\n\t\t\t</div>\n\t\t`;\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"sign-wizard__scope sign-wizard\">\n\t\t\t\t${content}\n\t\t\t\t${footer}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tmoveOnStep(step: number)\n\t{\n\t\tthis.#stepIndex = step;\n\t\tthis.#renderActiveStage();\n\t\tthis.#renderNavigationButtons();\n\t\tthis.#renderStep();\n\t}\n\n\ttoggleBtnLoadingState(buttonId: string, loading: boolean)\n\t{\n\t\tconst button = this.#navigationButtons[buttonId];\n\t\tif (loading)\n\t\t{\n\t\t\tDom.addClass(button, 'ui-btn-wait');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.removeClass(button, 'ui-btn-wait');\n\t\t}\n\t}\n\n\ttoggleBtnActiveState(buttonId: string, shouldDisable: boolean)\n\t{\n\t\tconst button = this.#navigationButtons[buttonId];\n\t\tif (shouldDisable)\n\t\t{\n\t\t\tDom.addClass(button, 'ui-btn-disabled');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.removeClass(button, 'ui-btn-disabled');\n\t\t}\n\t}\n}\n"],"names":["Wizard","constructor","metadata","options","Object","keys","Tag","render","Map","getLayout","content","values","footer","moveOnStep","step","toggleBtnLoadingState","buttonId","loading","button","Dom","addClass","removeClass","toggleBtnActiveState","shouldDisable","classList","back","next","complete","swapButtons","title","completeTitle","onComplete","className","completeClassName","backClassList","split","nextClassList","completeClassList","backButton","id","Loc","getMessage","method","buttonClassList","buttons","completed","push","unshift","reduce","acc","node","join","entries","stages","forEach","stepName","stage","set","beforeCompletion","shouldComplete","backTitle","titles","nextTitle","nextButton","completeButton","isFirstStep","isLastStep","length","textContent","stageNode","get","clean","Type","isArrayFilled","append"],"mappings":"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"}