| Current Path : /var/www/homesaver/www/bitrix/js/rest/form-constructor/dist/ |
| Current File : /var/www/homesaver/www/bitrix/js/rest/form-constructor/dist/form-constructor.bundle.js.map |
{"version":3,"file":"form-constructor.bundle.js","sources":["../src/fields/base-field.js","../src/fields/dropdown-list.js","../src/fields/input.js","../src/form-constructor.js"],"sourcesContent":["import { Type, Text, Dom, Tag } from 'main.core';\nimport type { FieldConfig } from '../types';\nimport { EventEmitter } from 'main.core.events';\n\nexport class BaseField extends EventEmitter\n{\n\toptions: FieldConfig;\n\treadySave: boolean;\n\tvalue: any;\n\t#errorBlock: HTMLElement;\n\n\tconstructor(options: FieldConfig)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Rest.EInvoice.Field');\n\t\tthis.options = options;\n\t\tthis.value = this.options.value ?? null;\n\t\tthis.readySave = !(Type.isNil(this.value) || this.value === '');\n\t\tthis.options.id = Type.isStringFilled(this.options.id) ? this.options.id : Text.getRandom(8);\n\t}\n\n\tgetId(): string\n\t{\n\t\treturn this.options.id;\n\t}\n\n\tgetName(): string\n\t{\n\t\treturn this.options.name;\n\t}\n\n\tgetContent(): HTMLElement\n\t{\n\t\tconst wrapper = Tag.render`\n\t\t\t<div class=\"container\"></div>\n\t\t`;\n\t\tDom.append(this.renderFieldContainer(), wrapper);\n\t\tDom.append(this.renderErrorsContainer(), wrapper);\n\t\tDom.hide(this.renderErrorsContainer());\n\t\tthis.subscribe('error', (event) => {\n\t\t\tconst messages = event.data.messages;\n\t\t\tthis.renderErrorsContainer().innerHTML = Type.isArray(messages) ? messages.join('<br>') : messages;\n\t\t\tDom.show(this.renderErrorsContainer());\n\n\t\t\tif (!Dom.hasClass(wrapper, 'ui-ctl-warning'))\n\t\t\t{\n\t\t\t\tDom.addClass(wrapper, 'ui-ctl-warning');\n\t\t\t}\n\t\t});\n\n\t\treturn wrapper;\n\t}\n\n\trenderFieldContainer(): HTMLElement\n\t{\n\t\tthrow new Error('Must be implemented in a child class');\n\t}\n\n\tisReadySave(): boolean\n\t{\n\t\treturn this.readySave;\n\t}\n\n\trenderErrorsContainer(): HTMLElement\n\t{\n\t\tif (!this.#errorBlock)\n\t\t{\n\t\t\tthis.#errorBlock = Tag.render`\n\t\t\t\t<div class=\"ui-ctl-bottom bitrix-einvoice-error-block\"></div>\n\t\t\t`;\n\t\t}\n\n\t\treturn this.#errorBlock;\n\t}\n\n\tgetValue(): any\n\t{\n\t\treturn this.value;\n\t}\n}\n","import { Dom, Tag, Type, Event } from 'main.core';\nimport type { FieldConfig } from '../types';\nimport { BaseField } from './base-field';\n\nexport class DropdownList extends BaseField\n{\n\tconstructor(options: FieldConfig)\n\t{\n\t\tsuper(options);\n\t\tthis.readySave = true;\n\t}\n\n\trenderFieldContainer(): HTMLElement\n\t{\n\t\tconst wrapper = Tag.render`\n\t\t\t<div class=\"ui-ctl ui-ctl-after-icon ui-ctl-dropdown\">\n\t\t\t\t<div class=\"ui-ctl-after ui-ctl-icon-angle\"></div>\n\t\t\t</div>\n\t\t`;\n\n\t\tif (Type.isArray(this.options.items))\n\t\t{\n\t\t\tconst itemsWrapper = Tag.render`\n\t\t\t\t<select class=\"ui-ctl-element\" id=\"${this.getId()}\" />\n\t\t\t`;\n\t\t\tthis.options.items.forEach((item) => {\n\t\t\t\tconst itemElement = Tag.render`\n\t\t\t\t\t<option value=\"${item.value}\">${item.name}</option>\n\t\t\t\t`;\n\n\t\t\t\tif (this.options.value === item.value)\n\t\t\t\t{\n\t\t\t\t\tDom.attr(itemElement, {\n\t\t\t\t\t\tselected: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tDom.append(itemElement, itemsWrapper);\n\t\t\t});\n\t\t\tDom.append(itemsWrapper, wrapper);\n\n\t\t\tEvent.bind(itemsWrapper, 'change', (event) => {\n\t\t\t\tthis.value = event.target.value;\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(this.options, 'updateForm') && this.options.updateForm)\n\t\t\t\t{\n\t\t\t\t\tthis.emit('onFieldChange', {\n\t\t\t\t\t\ttarget: event.target,\n\t\t\t\t\t\tfield: this,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn wrapper;\n\t}\n}\n","import { Dom, Tag, Event, Type } from 'main.core';\nimport { BaseEvent } from 'main.core.events';\nimport { BaseField } from './base-field';\n\nexport class Input extends BaseField\n{\n\trenderFieldContainer(): HTMLElement\n\t{\n\t\tconst wrapper = Tag.render`\n\t\t\t<div class=\"ui-ctl-container\"/>\n\t\t`;\n\n\t\tif (this.options.label)\n\t\t{\n\t\t\tconst inputTitle = Tag.render`\n\t\t\t\t<div class=\"ui-ctl-top\">\n\t\t\t\t\t<div class=\"ui-ctl-title\">${this.options.label}</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t\tDom.append(inputTitle, wrapper);\n\t\t}\n\n\t\tconst input = Tag.render`\n\t\t\t<div class=\"ui-ctl ui-ctl-textbox\">\n\t\t\t\t<input type=\"text\" id=\"${this.getId()}\" class=\"ui-ctl-element\">\n\t\t\t</div>\n\t\t`;\n\t\tconst inputElement = input.querySelector('input');\n\n\t\tif (this.options.placeholder)\n\t\t{\n\t\t\tDom.attr(inputElement, {\n\t\t\t\tplaceholder: this.options.placeholder,\n\t\t\t});\n\t\t}\n\n\t\tif (this.options.value)\n\t\t{\n\t\t\tDom.attr(inputElement, {\n\t\t\t\tvalue: this.options.value,\n\t\t\t});\n\t\t}\n\n\t\tEvent.bind(inputElement, 'paste', (event) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.#onInput(wrapper, event);\n\t\t\t}, 0);\n\t\t});\n\t\tEvent.bind(inputElement, 'input', (event) => {\n\t\t\tthis.#onInput(wrapper, event);\n\t\t});\n\n\t\tDom.append(input, wrapper);\n\n\t\treturn wrapper;\n\t}\n\n\t#onInput(wrapper: HTMLElement, event: BaseEvent): void\n\t{\n\t\tDom.hide(this.renderErrorsContainer());\n\n\t\tif (Dom.hasClass(wrapper, 'ui-ctl-warning'))\n\t\t{\n\t\t\tDom.removeClass(wrapper, 'ui-ctl-warning');\n\t\t}\n\t\tif (Type.isNil(event.target.value) || event.target.value === '')\n\t\t{\n\t\t\tthis.emit('onUnreadySave');\n\t\t\tthis.readySave = false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.emit('onReadySave');\n\t\t\tthis.readySave = true;\n\t\t}\n\n\t\tthis.value = event.target.value;\n\t}\n}\n","import { Dom, Tag, ajax, Type, Text, Loc } from 'main.core';\nimport { StepByStep } from 'ui.stepbystep';\nimport { DropdownList } from './fields/dropdown-list';\nimport { Input } from './fields/input';\nimport { BaseField } from './fields/base-field';\nimport type { SettingsEInvoiceOptions, StepEInvoiceSettingsConfig } from './types';\nimport { BaseEvent, EventEmitter } from 'main.core.events';\n\nexport class FormConstructor extends EventEmitter\n{\n\t#options: SettingsEInvoiceOptions;\n\t#fields: Array<BaseField>;\n\t#stepByStep: StepByStep;\n\n\tconstructor(options: SettingsEInvoiceOptions)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Rest.EInvoice');\n\t\tif (!Type.isArray(options.steps))\n\t\t{\n\t\t\tthrow new Error('Unexpected property type \"steps\", expected type array');\n\t\t}\n\t\tthis.#options = options;\n\t\tthis.#fields = [];\n\n\t\tthis.#stepByStep = new StepByStep({\n\t\t\tcontent: this.#getContentConfig(),\n\t\t});\n\t}\n\n\tgetFields()\n\t{\n\t\treturn this.#fields;\n\t}\n\n\trender(): HTMLElement\n\t{\n\t\treturn this.#stepByStep.getContentWrapper();\n\t}\n\n\trenderTo(target: HTMLElement)\n\t{\n\t\tthis.#stepByStep.target = target;\n\t\tthis.#stepByStep.init();\n\t}\n\n\t#getContentConfig(): Object\n\t{\n\t\tconst contentConfig = [];\n\n\t\tthis.#options.steps.forEach((item) => {\n\t\t\tconst stepConfig = {\n\t\t\t\thtml: [{\n\t\t\t\t\tbackgroundColor: '#ffffff',\n\t\t\t\t}],\n\t\t\t};\n\n\t\t\tif (item.title)\n\t\t\t{\n\t\t\t\tstepConfig.html[0].header = {\n\t\t\t\t\ttitle: item.title,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tstepConfig.html[0].node = this.#getStepContent(item);\n\t\t\tcontentConfig.push(stepConfig);\n\t\t});\n\n\t\treturn contentConfig;\n\t}\n\n\t#getStepContent(stepConfig: StepEInvoiceSettingsConfig): HTMLElement\n\t{\n\t\tconst wrapper = Tag.render`\n\t\t\t<div class=\"bitrix-einvoice-settings-step__wrapper\"></div>\n\t\t`;\n\n\t\tif (stepConfig.description)\n\t\t{\n\t\t\tconst description = Tag.render`\n\t\t\t\t<div class=\"bitrix-einvoice-settings-step__description\">${stepConfig.description}</div>\n\t\t\t`;\n\t\t\tDom.append(description, wrapper);\n\t\t}\n\n\t\tif (stepConfig.fields)\n\t\t{\n\t\t\tstepConfig.fields.forEach((fieldConfig, index) => {\n\t\t\t\tlet field;\n\n\t\t\t\tswitch (fieldConfig.type)\n\t\t\t\t{\n\t\t\t\t\tcase 'input':\n\t\t\t\t\t\tfield = new Input(fieldConfig);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'dropdown-list':\n\t\t\t\t\t\tfield = new DropdownList(fieldConfig);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow new Error('Incorrect field type');\n\t\t\t\t}\n\n\t\t\t\tif (field instanceof BaseField)\n\t\t\t\t{\n\t\t\t\t\tfield.subscribe('onReadySave', () => {\n\t\t\t\t\t\tthis.emit('onReadySave');\n\t\t\t\t\t});\n\t\t\t\t\tfield.subscribe('onUnreadySave', () => {\n\t\t\t\t\t\tthis.emit('onUnreadySave');\n\t\t\t\t\t});\n\t\t\t\t\tfield.subscribe('onFieldChange', (event) => {\n\t\t\t\t\t\tthis.emit('onFieldChange', event);\n\t\t\t\t\t});\n\t\t\t\t\tthis.#fields.push(field);\n\t\t\t\t\tconst fieldContent = field.getContent();\n\t\t\t\t\tDom.append(fieldContent, wrapper);\n\n\t\t\t\t\tif (index > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tDom.style(fieldContent, 'margin-top', '12px');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (stepConfig.link && stepConfig.link.url.startsWith('https://'))\n\t\t{\n\t\t\tconst linkArticle = Tag.render`\n\t\t\t\t<div class=\"bitrix-einvoice-settings-step-wrapper-link\">\n\t\t\t\t\t<a href=\"${stepConfig.link.url}\" class=\"bitrix-einvoice-settings-step__link\">${Text.encode(stepConfig.link.name)}</a>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t\tDom.append(linkArticle, wrapper);\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\tgetFormData(): Object\n\t{\n\t\tlet result = {};\n\n\t\tthis.#fields.forEach((field) => {\n\t\t\tif (field.isReadySave())\n\t\t\t{\n\t\t\t\tresult[field.getName()] = field.getValue();\n\t\t\t}\n\t\t});\n\n\t\treturn result\n\t}\n\n\t/*\n\terrors = {\n\t\tfieldName: ['error message']\n\t}\n\t */\n\tshowFieldErrors(errors: Object): void\n\t{\n\t\tfor (const [fieldName, messages] of Object.entries(errors)) {\n\t\t\tthis.#fields.forEach((field) => {\n\t\t\t\tif (field.getName() === fieldName)\n\t\t\t\t{\n\t\t\t\t\tfield.emit('error', new BaseEvent({\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tmessages: messages,\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}\n\n\tshowTextInBalloon(text: string): void\n\t{\n\t\tBX.UI.Notification.Center.notify({\n\t\t\tid: 'einvoice-error-save-settings',\n\t\t\tcontent: Tag.render`\n\t\t\t\t\t\t<div class=\"bitrix-einvoice-settings-notification-wrapper\">\n\t\t\t\t\t\t\t<span class=\"ui-icon-set --warning\"></span>\n\t\t\t\t\t\t\t${text}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\tautoHideDelay: 5000,\n\t\t});\n\t}\n}"],"names":["BaseField","options","setEventNamespace","value","readySave","Type","isNil","id","isStringFilled","Text","getRandom","name","wrapper","Tag","render","Dom","append","renderFieldContainer","renderErrorsContainer","hide","subscribe","event","messages","data","innerHTML","isArray","join","show","hasClass","addClass","Error","EventEmitter","DropdownList","items","itemsWrapper","getId","forEach","item","itemElement","attr","selected","Event","bind","target","Object","prototype","hasOwnProperty","call","updateForm","emit","field","Input","label","inputTitle","input","inputElement","querySelector","placeholder","setTimeout","removeClass","FormConstructor","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","steps","StepByStep","content","getContentWrapper","init","result","isReadySave","getName","getValue","errors","fieldName","BaseEvent","entries","text","BX","UI","Notification","Center","notify","autoHideDelay","contentConfig","stepConfig","html","backgroundColor","title","header","node","push","description","fields","fieldConfig","index","type","fieldContent","getContent","style","link","url","startsWith","linkArticle","encode"],"mappings":"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"}