Current Path : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/ui/wizard/dist/ |
Current File : /var/www/www-root/data/www/www.monolith-realty.ru/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 | 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<Metadata>]: string;\n\t\t};\n\t};\n\tnext?: {\n\t\tclassName?: string;\n\t\ttitles?: {\n\t\t\t[$Keys<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<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 } = complete;\n\t\tconst backClassName = (back.className ?? '').split(' ');\n\t\tconst nextClassName = (next.className ?? '').split(' ');\n\t\tconst completeClassName = (complete.className ?? '').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, ...backClassName]\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, ...nextClassName]\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\tcompleted && onComplete?.();\n\t\t\t\t},\n\t\t\t\tbuttonClassList: [...classList, ...completeClassName]\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#renderButtonTitle(backButton: HTMLElement, nextButton: HTMLElement)\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\t\tbackButton.textContent = backTitle;\n\t\tnextButton.textContent = nextTitle;\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\tthis.#renderButtonTitle(backButton, nextButton);\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","backClassName","className","split","nextClassName","completeClassName","backButton","id","Loc","getMessage","method","buttonClassList","buttons","completed","push","unshift","reduce","acc","node","join","entries","stages","forEach","stepName","stage","set","beforeCompletion","shouldComplete","nextButton","backTitle","titles","nextTitle","textContent","completeButton","isFirstStep","isLastStep","length","stageNode","get","clean","Type","isArrayFilled","append"],"mappings":"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"}