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/wizard/dist/ |
Upload File : |
{"version":3,"file":"wizard.bundle.js","sources":["../src/index.js"],"sourcesContent":["import { Dom, Loc, Tag, Type } from 'main.core';\nimport 'ui.hint';\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<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\tcancel?: {\n\t\ttitle?: string;\n\t\tclassName?: string;\n\t\tonCancel?: () => void;\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\n\t\tconst {\n\t\t\tback = {},\n\t\t\tnext = {},\n\t\t\tcomplete = {},\n\t\t\tcancel = {},\n\t\t\tswapButtons = false,\n\t\t} = this.#options ?? {};\n\n\t\tconst { title: completeTitle, onComplete, className: completeClassName } = complete;\n\t\tconst { title: cancelTitle, onCancel, className: cancelClassName } = cancel;\n\n\t\tconst backClassList = (back.className ?? '').split(' ');\n\t\tconst nextClassList = (next.className ?? '').split(' ');\n\t\tconst completeClassList = (completeClassName ?? '').split(' ');\n\t\tconst cancelClassList = (cancelClassName ?? '').split(' ');\n\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 cancelButton = {\n\t\t\tid: 'cancel',\n\t\t\ttitle: cancelTitle ?? Loc.getMessage('SIGN_WIZARD_FOOTER_BUTTON_CANCEL'),\n\t\t\tmethod: async () => {\n\t\t\t\tconst canceled = await this.#tryCompleteStep('cancel');\n\t\t\t\tif (canceled && onCancel)\n\t\t\t\t{\n\t\t\t\t\tonCancel();\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuttonClassList: [...classList, ...cancelClassList],\n\t\t};\n\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\n\t\tif (Object.keys(cancel).length > 0)\n\t\t{\n\t\t\tbuttons.push(cancelButton);\n\t\t}\n\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\n\t\tif (buttonId === 'cancel')\n\t\t{\n\t\t\treturn true;\n\t\t}\n\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 {\n\t\t\tback: backButton,\n\t\t\tnext: nextButton,\n\t\t\tcomplete: completeButton,\n\t\t\tcancel: cancelButton,\n\t\t} = 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\n\t\tif (cancelButton)\n\t\t{\n\t\t\tif (isFirstStep)\n\t\t\t{\n\t\t\t\tDom.removeClass(cancelButton, '--hide');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.addClass(cancelButton, '--hide');\n\t\t\t}\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 stepMetaData = this.#metadata[stepName];\n\t\tconst { content, events: stepEvents } = stepMetaData ?? {};\n\t\tif (!content)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (Type.isFunction(stepEvents?.onBeforeRenderStep))\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tstepEvents.onBeforeRenderStep();\n\t\t\t}\n\t\t\tcatch (e)\n\t\t\t{\n\t\t\t\tconsole.error('Error onBeforeRenderStep', e);\n\t\t\t}\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","cancel","swapButtons","title","completeTitle","onComplete","className","completeClassName","cancelTitle","onCancel","cancelClassName","backClassList","split","nextClassList","completeClassList","cancelClassList","backButton","id","Loc","getMessage","method","buttonClassList","cancelButton","canceled","buttons","completed","length","push","unshift","reduce","acc","node","join","entries","stages","forEach","stepName","stage","set","beforeCompletion","shouldComplete","backTitle","titles","nextTitle","nextButton","completeButton","isFirstStep","isLastStep","textContent","stageNode","get","stepMetaData","events","stepEvents","Type","isFunction","onBeforeRenderStep","e","console","error","clean","isArrayFilled","append"],"mappings":"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"}