Your IP : 216.73.216.86


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

{"version":3,"file":"cardsform.bundle.js","sources":["../src/cardsform.js"],"sourcesContent":["import {BaseForm} from 'landing.ui.form.baseform';\nimport {FormCollection} from 'landing.ui.collection.formcollection';\nimport {Loc} from 'landing.loc';\nimport {Content} from 'landing.ui.panel.content';\nimport {Dom, Runtime, Text, Type, Event} from 'main.core';\nimport {CardForm} from 'landing.ui.form.cardform';\nimport {Draggable} from 'ui.draganddrop.draggable';\nimport {PageObject} from 'landing.pageobject';\nimport {BaseEvent} from 'main.core.events';\nimport {TextField} from 'landing.ui.field.textfield';\n\nimport './css/cards_form.css';\n\nexport class CardsForm extends BaseForm\n{\n\tstatic popups: Array<> = [];\n\n\tconstructor(options = {})\n\t{\n\t\tsuper(options);\n\n\t\tDom.addClass(this.layout, 'landing-ui-form-cards');\n\t\tthis.type = 'cards';\n\t\tthis.code = options.code;\n\t\tthis.id = `${this.code.replace('.', '')}-${Text.getRandom()}`;\n\t\tthis.presets = options.presets;\n\t\tthis.childForms = new FormCollection();\n\t\tthis.presetForm = new FormCollection();\n\t\tthis.sync = options.sync;\n\t\tthis.forms = options.forms;\n\t\tthis.wheelEventName = window.onwheel ? 'wheel' : 'mousewheel';\n\n\t\tthis.onFormRemove = this.onFormRemove.bind(this);\n\t\tthis.onAddCardClick = this.onAddCardClick.bind(this);\n\t\tthis.onMouseWheel = this.onMouseWheel.bind(this);\n\t\tthis.onDragEnd = this.onDragEnd.bind(this);\n\n\t\tthis.addButton = this.createAddButton();\n\t\tthis.draggable = new Draggable({\n\t\t\tcontainer: this.body,\n\t\t\tcontext: parent.window,\n\t\t\tdraggable: '.landing-ui-form-cards-item',\n\t\t\tdragElement: '.landing-ui-form-card-item-header-drag',\n\t\t\ttype: Draggable.MOVE,\n\t\t\toffset: {\n\t\t\t\ty: -65,\n\t\t\t},\n\t\t});\n\n\t\tthis.draggable.subscribe('end', this.onDragEnd);\n\n\t\tsetTimeout(() => {\n\t\t\tthis.value = this.serialize();\n\t\t});\n\n\t\tthis.adjustLastFormState();\n\t\tDom.append(this.addButton.layout, this.footer);\n\t}\n\n\tcreateAddButton(): BX.Landing.UI.Button.BaseButton\n\t{\n\t\treturn new BX.Landing.UI.Button.BaseButton(`add-card-${Text.getRandom()}`, {\n\t\t\tclassName: 'landing-ui-card-add-button',\n\t\t\ttext: Loc.getMessage('LANDING_CARDS_FORM_ADD_BUTTON'),\n\t\t\tonClick: this.onAddCardClick,\n\t\t});\n\t}\n\n\tonFormRemove(event: BaseEvent)\n\t{\n\t\tthis.childForms.remove(event.getTarget());\n\t\tthis.sortForms();\n\t\tthis.adjustLastFormState();\n\t}\n\n\tonDragEnd()\n\t{\n\t\t// @todo: Need add sort:end event for Draggable\n\t\tsetTimeout(() => {\n\t\t\tthis.sortForms();\n\t\t});\n\t}\n\n\tsortForms()\n\t{\n\t\tconst children = [...this.body.children];\n\n\t\tthis.childForms.sort((a, b) => {\n\t\t\tconst aIndex = parseInt(children.indexOf(a.wrapper));\n\t\t\tconst bIndex = parseInt(children.indexOf(b.wrapper));\n\t\t\treturn aIndex < bIndex ? -1 : 1;\n\t\t});\n\n\t\tthis.childForms.forEach((form, index) => {\n\t\t\tconst [code] = form.selector.split('@');\n\t\t\tform.selector = `${code}@${index}`;\n\t\t});\n\t}\n\n\taddChildForm(form: CardForm)\n\t{\n\t\tthis.childForms.add(form);\n\t\tform.subscribe('onRemove', this.onFormRemove);\n\n\t\tDom.append(form.wrapper, this.body);\n\t\tthis.adjustLastFormState();\n\t}\n\n\taddPresetForm(form)\n\t{\n\t\tthis.presetForm.add(form);\n\t\tform.wrapper.hidden = true;\n\t\tDom.append(form.wrapper, this.body);\n\t\tthis.adjustLastFormState();\n\t}\n\n\tonAddCardClick()\n\t{\n\t\tif (Type.isPlainObject(this.presets) && Object.keys(this.presets).length > 0)\n\t\t{\n\t\t\tthis.showPresetsPopup();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.addEmptyCard();\n\t\t}\n\t}\n\n\tonPresetItemClick(presetId)\n\t{\n\t\tconst preset = this.presets[presetId];\n\n\t\tconst newForm = this.presetForm.find((form) => {\n\t\t\treturn form.preset.id === presetId;\n\t\t}).clone();\n\n\t\tnewForm.selector = `${newForm.selector.split('@')[0]}@${this.childForms.length}`;\n\t\tnewForm.oldIndex = this.childForms.length;\n\t\tnewForm.preset = Runtime.clone(preset);\n\t\tnewForm.preset.id = presetId;\n\t\tthis.addChildForm(newForm);\n\t\tthis.adjustLastFormState();\n\t\tthis.popup.close();\n\n\t\tif (Type.isPlainObject(preset.values))\n\t\t{\n\t\t\tnewForm.fields.forEach((field) => {\n\t\t\t\tconst code = field.selector.split('@')[0];\n\n\t\t\t\tif (code in preset.values)\n\t\t\t\t{\n\t\t\t\t\tfield.setValue(preset.values[code]);\n\n\t\t\t\t\tif (field instanceof TextField)\n\t\t\t\t\t{\n\t\t\t\t\t\tBX.fireEvent(field.input, 'input');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (Type.isArray(preset.disallow))\n\t\t\t\t{\n\t\t\t\t\tconst isDisallow = !!preset.disallow.find((fieldCode) => {\n\t\t\t\t\t\treturn code === fieldCode;\n\t\t\t\t\t});\n\n\t\t\t\t\tif (isDisallow)\n\t\t\t\t\t{\n\t\t\t\t\t\tfield.layout.hidden = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tshowPresetsPopup()\n\t{\n\t\tif (this.popup)\n\t\t{\n\t\t\tCardsForm.popups.map(popup => {\n\t\t\t\tpopup.popupWindow.close();\n\t\t\t\tpopup.popupWindow.destroy();\n\t\t\t});\n\t\t}\n\n\t\tthis.popup = new BX.PopupMenuWindow({\n\t\t\tid: 'cards_list_' + Text.getRandom(),\n\t\t\tbindElement: this.addButton.layout,\n\t\t\titems: Object.keys(this.presets).map((preset) => {\n\t\t\t\treturn {\n\t\t\t\t\thtml: this.presets[preset].name,\n\t\t\t\t\tclassName: 'landing-ui-form-cards-preset-popup-item menu-popup-no-icon',\n\t\t\t\t\tonclick: this.onPresetItemClick.bind(this, preset),\n\t\t\t\t};\n\t\t\t}),\n\t\t\tautoHide: true,\n\t\t\tmaxHeight: 176,\n\t\t\tminHeight: 87,\n\t\t});\n\n\t\tCardsForm.popups.push(this.popup);\n\n\t\tEvent.bind(this.popup.popupWindow.popupContainer, 'mouseover', this.onMouseOver.bind(this));\n\t\tEvent.bind(this.popup.popupWindow.popupContainer, 'mouseleave', this.onMouseLeave.bind(this));\n\t\tconst rootWindow = PageObject.getRootWindow();\n\t\tEvent.bind(rootWindow.document, 'click', this.onDocumentClick.bind(this));\n\t\tDom.append(\n\t\t\tthis.popup.popupWindow.popupContainer,\n\t\t\tthis.addButton.layout.closest('.landing-ui-panel-content-body-content'),\n\t\t);\n\n\t\tthis.popup.popupWindow.show();\n\n\t\tthis.adjustPopupPosition();\n\t}\n\n\tonMouseOver()\n\t{\n\t\tconst container = this.popup.popupWindow.getPopupContainer();\n\t\tEvent.bind(container, this.wheelEventName, this.onMouseWheel, true);\n\t\tEvent.bind(container, 'touchmove', this.onMouseWheel, true);\n\t}\n\n\tonMouseLeave()\n\t{\n\t\tconst container = this.popup.popupWindow.getPopupContainer();\n\t\tEvent.unbind(container, this.wheelEventName, this.onMouseWheel, true);\n\t\tEvent.unbind(container, 'touchmove', this.onMouseWheel, true);\n\t}\n\n\tonMouseWheel(event)\n\t{\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\n\t\tconst delta = Content.getDeltaFromEvent(event);\n\t\tconst {scrollTop} = this.popup.popupWindow.getContentContainer();\n\n\t\trequestAnimationFrame(() => {\n\t\t\tthis.popup.popupWindow.contentContainer.scrollTop = scrollTop - delta.y;\n\t\t});\n\t}\n\n\tonDocumentClick(event)\n\t{\n\t\tif (\n\t\t\tthis.popup.popupWindow\n\t\t\t&& !Dom.hasClass(event.target, 'landing-ui-button-text')\n\t\t\t&& !Dom.hasClass(event.target, 'landing-ui-card-add-button')\n\t\t)\n\t\t{\n\t\t\tthis.popup.popupWindow.close();\n\t\t}\n\t}\n\n\tadjustPopupPosition()\n\t{\n\t\tif (this.popup.popupWindow)\n\t\t{\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tconst offsetParent = this.addButton.layout.closest('.landing-ui-panel-content-body-content');\n\n\t\t\t\tconst buttonTop = BX.Landing.Utils.offsetTop(this.addButton.layout, offsetParent);\n\t\t\t\tconst buttonLeft = BX.Landing.Utils.offsetLeft(this.addButton.layout, offsetParent);\n\t\t\t\tconst buttonRect = this.addButton.layout.getBoundingClientRect();\n\t\t\t\tconst popupRect = this.popup.popupWindow.popupContainer.getBoundingClientRect();\n\n\t\t\t\tconst yOffset = 14;\n\n\t\t\t\tthis.popup.popupWindow.popupContainer.style.top = `${buttonTop + buttonRect.height + yOffset}px`;\n\t\t\t\tthis.popup.popupWindow.popupContainer.style.left = `${buttonLeft - (popupRect.width / 2) + (buttonRect.width / 2)}px`;\n\t\t\t\tthis.popup.popupWindow.setAngle({\n\t\t\t\t\toffset: 83,\n\t\t\t\t\tposition: 'top',\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\taddEmptyCard()\n\t{\n\t\tconst newData = Runtime.clone(this.childForms[0].data);\n\t\tconst newSelector = `${newData.selector.split('@')[0]}@${this.childForms.length}`;\n\t\tnewData.selector = newSelector;\n\t\tconst newForm = this.childForms[0].clone(newData);\n\t\tnewForm.oldIndex = this.childForms.length;\n\t\tnewForm.selector = newSelector;\n\t\tnewForm.fields.forEach((field) => field.reset());\n\t\tthis.addChildForm(newForm);\n\t\tthis.adjustLastFormState();\n\t}\n\n\tgetVisibleForms()\n\t{\n\t\treturn [...this.body.children].filter((item) => {\n\t\t\treturn !item.hidden;\n\t\t});\n\t}\n\n\tadjustLastFormState()\n\t{\n\t\tconst visibleItems = this.getVisibleForms();\n\n\t\tif (visibleItems.length === 1)\n\t\t{\n\t\t\tDom.addClass(visibleItems[0], 'landing-ui-disallow-remove');\n\t\t\treturn;\n\t\t}\n\n\t\t[...visibleItems].forEach((item) => {\n\t\t\tDom.removeClass(item, 'landing-ui-disallow-remove');\n\t\t});\n\t}\n\n\tserialize()\n\t{\n\t\treturn this.childForms.map((form) => {\n\t\t\treturn form.serialize();\n\t\t});\n\t}\n\n\t/**\n\t * Gets indexes map\n\t * @return {Object}\n\t */\n\tgetIndexesMap()\n\t{\n\t\treturn this.childForms.reduce((acc, form, index) => {\n\t\t\treturn {...acc, [index]: form.oldIndex};\n\t\t}, {});\n\t}\n\n\tgetUsedPresets()\n\t{\n\t\treturn this.childForms.reduce((acc, form) => {\n\t\t\tif (Type.isPlainObject(form.preset))\n\t\t\t{\n\t\t\t\tconst [, index] = form.selector.split('@');\n\t\t\t\tacc[index] = form.preset.id;\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t}, {});\n\t}\n\n\tisChanged()\n\t{\n\t\treturn JSON.stringify(this.value) !== JSON.stringify(this.serialize());\n\t}\n}"],"names":["CardsForm","options","Dom","addClass","layout","type","code","id","replace","Text","getRandom","presets","childForms","FormCollection","presetForm","sync","forms","wheelEventName","window","onwheel","onFormRemove","bind","onAddCardClick","onMouseWheel","onDragEnd","addButton","createAddButton","draggable","Draggable","container","body","context","parent","dragElement","MOVE","offset","y","subscribe","setTimeout","value","serialize","adjustLastFormState","append","footer","BX","Landing","UI","Button","BaseButton","className","text","Loc","getMessage","onClick","event","remove","getTarget","sortForms","children","sort","a","b","aIndex","parseInt","indexOf","wrapper","bIndex","forEach","form","index","selector","split","add","hidden","Type","isPlainObject","Object","keys","length","showPresetsPopup","addEmptyCard","presetId","preset","newForm","find","clone","oldIndex","Runtime","addChildForm","popup","close","values","fields","field","setValue","TextField","fireEvent","input","isArray","disallow","isDisallow","fieldCode","popups","map","popupWindow","destroy","PopupMenuWindow","bindElement","items","html","name","onclick","onPresetItemClick","autoHide","maxHeight","minHeight","push","Event","popupContainer","onMouseOver","onMouseLeave","rootWindow","PageObject","getRootWindow","document","onDocumentClick","closest","show","adjustPopupPosition","getPopupContainer","unbind","stopPropagation","preventDefault","delta","Content","getDeltaFromEvent","getContentContainer","scrollTop","requestAnimationFrame","contentContainer","hasClass","target","offsetParent","buttonTop","Utils","offsetTop","buttonLeft","offsetLeft","buttonRect","getBoundingClientRect","popupRect","yOffset","style","top","height","left","width","setAngle","position","newData","data","newSelector","reset","filter","item","visibleItems","getVisibleForms","removeClass","reduce","acc","JSON","stringify","BaseForm"],"mappings":"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"}