File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/ui/userfieldfactory/dist/userfieldfactory.bundle.js.map
Back
{"version":3,"file":"userfieldfactory.bundle.js","sources":["../src/fieldtypes.js","../src/creationmenu.js","../src/enumitem.js","../src/configurator.js","../src/factory.js"],"sourcesContent":["import {Loc} from 'main.core';\n\nexport const MAX_FIELD_LENGTH = 50;\n\n/**\n * @memberof BX.UI.UserFieldFactory\n */\nexport class FieldTypes\n{\n\tstatic getTypes(): {}\n\t{\n\t\treturn Object.freeze({\n\t\t\tstring: 'string',\n\t\t\tenumeration: 'enumeration',\n\t\t\tdate: 'date',\n\t\t\tdatetime: 'datetime',\n\t\t\taddress: 'address',\n\t\t\turl: 'url',\n\t\t\tfile: 'file',\n\t\t\tmoney: 'money',\n\t\t\tboolean: 'boolean',\n\t\t\tdouble: 'double',\n\t\t\temployee: 'employee',\n\t\t\tcrm: 'crm',\n\t\t\tcrmStatus: 'crm_status',\n\t\t});\n\t}\n\n\tstatic getDescriptions(): {}\n\t{\n\t\treturn Object.freeze({\n\t\t\tstring: {\n\t\t\t\ttitle: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_STRING_TITLE\"),\n\t\t\t\tdescription: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_STRING_LEGEND\"),\n\t\t\t\tdefaultTitle: Loc.getMessage('UI_USERFIELD_FACTORY_UF_STRING_LABEL'),\n\t\t\t},\n\t\t\tenumeration: {\n\t\t\t\ttitle: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_ENUM_TITLE\"),\n\t\t\t\tdescription: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_ENUM_LEGEND\"),\n\t\t\t\tdefaultTitle: Loc.getMessage('UI_USERFIELD_FACTORY_UF_ENUMERATION_LABEL'),\n\t\t\t},\n\t\t\tdatetime: {\n\t\t\t\ttitle: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_DATETIME_TITLE\"),\n\t\t\t\tdescription: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_DATETIME_LEGEND\"),\n\t\t\t\tdefaultTitle: Loc.getMessage('UI_USERFIELD_FACTORY_UF_DATETIME_LABEL'),\n\t\t\t},\n\t\t\taddress: {\n\t\t\t\ttitle: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_ADDRESS_TITLE_2\"),\n\t\t\t\tdescription: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_ADDRESS_LEGEND_2\"),\n\t\t\t},\n\t\t\turl: {\n\t\t\t\ttitle: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_URL_TITLE\"),\n\t\t\t\tdescription: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_URL_LEGEND\"),\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\ttitle: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_FILE_TITLE\"),\n\t\t\t\tdescription: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_FILE_LEGEND\"),\n\t\t\t\tdefaultTitle: Loc.getMessage('UI_USERFIELD_FACTORY_UF_FILE_LABEL'),\n\t\t\t},\n\t\t\tmoney: {\n\t\t\t\ttitle: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_MONEY_TITLE\"),\n\t\t\t\tdescription: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_MONEY_LEGEND\"),\n\t\t\t\tdefaultTitle: Loc.getMessage('UI_USERFIELD_FACTORY_UF_MONEY_LABEL'),\n\t\t\t},\n\t\t\tboolean: {\n\t\t\t\ttitle: Loc.getMessage(\"UI_USERFIELD_FACTORY_BOOLEAN_TITLE\"),\n\t\t\t\tdescription: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_BOOLEAN_LEGEND\"),\n\t\t\t},\n\t\t\tdouble: {\n\t\t\t\ttitle: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_DOUBLE_TITLE\"),\n\t\t\t\tdescription: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_DOUBLE_LEGEND\"),\n\t\t\t\tdefaultTitle: Loc.getMessage('UI_USERFIELD_FACTORY_UF_DOUBLE_LABEL'),\n\t\t\t},\n\t\t\temployee: {\n\t\t\t\ttitle: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_EMPLOYEE_TITLE\"),\n\t\t\t\tdescription: Loc.getMessage(\"UI_USERFIELD_FACTORY_UF_EMPLOYEE_LEGEND\"),\n\t\t\t},\n\t\t});\n\t}\n\n\tstatic getCustomTypeDescription(): {}\n\t{\n\t\treturn Object.freeze({\n\t\t\tname: 'custom',\n\t\t\ttitle: Loc.getMessage('UI_USERFIELD_FACTORY_UF_CUSTOM_TITLE'),\n\t\t\tdescription: Loc.getMessage('UI_USERFIELD_FACTORY_UF_CUSTOM_LEGEND'),\n\t\t});\n\t}\n}\n\nexport const DefaultData = Object.freeze({\n\tmultiple: 'N',\n\tmandatory: 'N',\n\tuserTypeId: FieldTypes.string,\n\tshowFilter: 'E',\n\tshowInList: 'Y',\n\tsettings: {},\n\tisSearchable: 'N',\n});\n\nexport const DefaultFieldData = Object.freeze({\n\tfile: {\n\t\tshowFilter: 'N',\n\t\tshowInList: 'N',\n\t},\n\temployee: {\n\t\tshowFilter: 'I',\n\t},\n\tcrm: {\n\t\tshowFilter: 'I',\n\t},\n\tcrm_status: {\n\t\tshowFilter: 'I',\n\t},\n\tenumeration: {\n\t\tsettings: {\n\t\t\tDISPLAY: 'UI',\n\t\t},\n\t},\n\tdouble: {\n\t\tsettings: {\n\t\t\tPRECISION: 2,\n\t\t},\n\t},\n});","import {Dom, Event, Type, Tag} from 'main.core';\nimport {Popup} from 'main.popup';\n\nconst SCROLL_OFFSET = 3;\n\n/**\n * @memberof BX.UI.UserFieldFactory\n */\nexport class CreationMenu\n{\n\t#enableScrollToBottom: boolean;\n\t#enableScrollToTop: boolean;\n\n\tconstructor(id: string, types: Array, params: Object)\n\t{\n\t\tthis.id = id;\n\t\tthis.items = types;\n\t\tthis.params = {};\n\t\tif(Type.isPlainObject(params))\n\t\t{\n\t\t\tthis.params = params;\n\t\t}\n\t}\n\n\tgetId(): string\n\t{\n\t\tif(!this.id)\n\t\t{\n\t\t\treturn 'ui-user-field-factory-menu';\n\t\t}\n\n\t\treturn this.id;\n\t}\n\n\tgetPopup(onItemClick = null): Popup\n\t{\n\t\tif(!this.popup)\n\t\t{\n\t\t\tlet options = {...CreationMenu.getDefaultPopupOptions(), ...this.params};\n\n\t\t\toptions.events = {\n\t\t\t\tonPopupShow: this.onPopupShow.bind(this),\n\t\t\t\tonPopupDestroy: this.onPopupDestroy.bind(this),\n\t\t\t};\n\t\t\toptions.id = this.getId();\n\n\t\t\tthis.popup = new Popup(options);\n\t\t}\n\n\t\tthis.popup.setContent(this.render(onItemClick));\n\n\t\treturn this.popup;\n\t}\n\n\tstatic getDefaultPopupOptions(): Object\n\t{\n\t\treturn {\n\t\t\tautoHide: true,\n\t\t\tdraggable: false,\n\t\t\toffsetLeft: 0,\n\t\t\toffsetTop: 0,\n\t\t\tnoAllPaddings: true,\n\t\t\tbindOptions: { forceBindPosition: true },\n\t\t\tcloseByEsc: true,\n\t\t\tcacheable: false,\n\t\t};\n\t}\n\n\topen(callback: function): void\n\t{\n\t\tconst popup = this.getPopup(callback);\n\t\tif(!popup.isShown())\n\t\t{\n\t\t\tpopup.show();\n\t\t}\n\t}\n\n\trender(onItemClick): Element\n\t{\n\t\tif(!this.container)\n\t\t{\n\t\t\tthis.container = Tag.render`<div class=\"ui-userfieldfactory-creation-menu-container\"></div>`;\n\n\t\t\tconst scrollIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"42\\\" height=\\\"13\\\" viewBox=\\\"0 0 42 13\\\">\\n\" +\n\t\t\t\t\" <polyline fill=\\\"none\\\" stroke=\\\"#CACDD1\\\" stroke-width=\\\"2\\\" points=\\\"274 98 284 78.614 274 59\\\" transform=\\\"rotate(90 186 -86.5)\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\\n\" +\n\t\t\t\t\"</svg>\\n\";\n\n\t\t\tthis.topScrollButton = Tag.render`<div class=\"ui-userfieldfactory-creation-menu-scroll-top\">${scrollIcon}</div>`;\n\t\t\tthis.bottomScrollButton = Tag.render`<div class=\"ui-userfieldfactory-creation-menu-scroll-bottom\">${scrollIcon}</div>`;\n\n\t\t\tthis.container.appendChild(this.topScrollButton);\n\t\t\tthis.container.appendChild(this.bottomScrollButton);\n\n\t\t\tthis.container.appendChild(this.renderList(onItemClick));\n\t\t}\n\n\t\treturn this.container;\n\t}\n\n\trenderList(onItemClick): Element\n\t{\n\t\tif(!this.containerList)\n\t\t{\n\t\t\tthis.containerList = Tag.render`<div class=\"ui-userfieldfactory-creation-menu-list\"></div>`;\n\n\t\t\tthis.items.forEach((item) =>\n\t\t\t{\n\t\t\t\tthis.containerList.appendChild(this.renderItem(item, onItemClick));\n\t\t\t});\n\t\t}\n\n\t\treturn this.containerList;\n\t}\n\n\trenderItem(item, onClick): Element\n\t{\n\t\treturn Tag.render`<div class=\"ui-userfieldfactory-creation-menu-item\" onclick=\"${(()=>{this.handleItemClick(item, onClick);})}\">\n\t\t\t<div class=\"ui-userfieldfactory-creation-menu-item-title\">${item.title}</div>\n\t\t\t<div class=\"ui-userfieldfactory-creation-menu-item-desc\">${item.description}</div>\n\t\t</div>`;\n\t}\n\n\thandleItemClick(item, onClick)\n\t{\n\t\tif(Type.isFunction(item.onClick))\n\t\t{\n\t\t\titem.onClick(item.name);\n\t\t}\n\t\telse if(Type.isFunction(onClick))\n\t\t{\n\t\t\tonClick(item.name);\n\t\t}\n\t\tthis.getPopup().close();\n\t}\n\n\tonPopupShow()\n\t{\n\t\tEvent.bind(this.bottomScrollButton, \"mouseover\", this.onBottomButtonMouseOver.bind(this));\n\t\tEvent.bind(this.bottomScrollButton, \"mouseout\", this.onBottomButtonMouseOut.bind(this));\n\t\tEvent.bind(this.topScrollButton, \"mouseover\", this.onTopButtonMouseOver.bind(this));\n\t\tEvent.bind(this.topScrollButton, \"mouseout\", this.onTopButtonMouseOut.bind(this));\n\t\tEvent.bind(this.containerList, \"scroll\", this.onScroll.bind(this));\n\n\t\twindow.setTimeout(this.adjust.bind(this), 100);\n\t}\n\n\tonPopupDestroy()\n\t{\n\t\tEvent.unbind(this.bottomScrollButton, \"mouseover\", this.onBottomButtonMouseOver.bind(this));\n\t\tEvent.unbind(this.bottomScrollButton, \"mouseout\", this.onBottomButtonMouseOut.bind(this));\n\t\tEvent.unbind(this.topScrollButton, \"mouseover\", this.onTopButtonMouseOver.bind(this));\n\t\tEvent.unbind(this.topScrollButton, \"mouseout\", this.onTopButtonMouseOut.bind(this));\n\t\tEvent.unbind(this.containerList, \"scroll\", this.onScroll.bind(this));\n\n\t\tthis.container = null;\n\t\tthis.containerList = null;\n\t\tthis.topScrollButton = null;\n\t\tthis.bottomScrollButton = null;\n\n\t\tthis.popup = null;\n\t}\n\n\tonBottomButtonMouseOver()\n\t{\n\t\tif(this.#enableScrollToBottom)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#enableScrollToBottom = true;\n\t\tthis.#enableScrollToTop = false;\n\n\t\t(function scroll()\n\t\t{\n\t\t\tif(!this.#enableScrollToBottom)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif((this.containerList.scrollTop + this.containerList.offsetHeight) !== this.containerList.scrollHeight)\n\t\t\t{\n\t\t\t\tthis.containerList.scrollTop += SCROLL_OFFSET;\n\t\t\t}\n\n\t\t\tif((this.containerList.scrollTop + this.containerList.offsetHeight) === this.containerList.scrollHeight)\n\t\t\t{\n\t\t\t\tthis.#enableScrollToBottom = false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\twindow.setTimeout(scroll.bind(this), 20);\n\t\t\t}\n\t\t}).bind(this)();\n\t}\n\n\tonBottomButtonMouseOut()\n\t{\n\t\tthis.#enableScrollToBottom = false;\n\t}\n\n\tonTopButtonMouseOver()\n\t{\n\t\tif(this.#enableScrollToTop)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#enableScrollToBottom = false;\n\t\tthis.#enableScrollToTop = true;\n\n\t\t(function scroll()\n\t\t{\n\t\t\tif(!this.#enableScrollToTop)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(this.containerList.scrollTop > 0)\n\t\t\t{\n\t\t\t\tthis.containerList.scrollTop -= SCROLL_OFFSET;\n\t\t\t}\n\n\t\t\tif(this.containerList.scrollTop === 0)\n\t\t\t{\n\t\t\t\tthis.#enableScrollToTop = false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\twindow.setTimeout(scroll.bind(this), 20);\n\t\t\t}\n\t\t}).bind(this)();\n\t}\n\n\tonTopButtonMouseOut()\n\t{\n\t\tthis.#enableScrollToTop = false;\n\t}\n\n\tonScroll()\n\t{\n\t\tthis.adjust();\n\t}\n\n\tadjust()\n\t{\n\t\tconst height = this.containerList.offsetHeight;\n\t\tconst scrollTop = this.containerList.scrollTop;\n\t\tconst scrollHeight = this.containerList.scrollHeight;\n\n\t\tif(scrollTop === 0)\n\t\t{\n\t\t\tDom.hide(this.topScrollButton);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.show(this.topScrollButton);\n\t\t}\n\n\t\tif((scrollTop + height) === scrollHeight)\n\t\t{\n\t\t\tDom.hide(this.bottomScrollButton);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.show(this.bottomScrollButton);\n\t\t}\n\t}\n}","/**\n * @memberof BX.UI.UserFieldFactory\n */\nexport class EnumItem\n{\n\tconstructor(value = null, id = null)\n\t{\n\t\tthis.value = value;\n\t\tthis.id = id;\n\t}\n\n\tsetNode(node: Element)\n\t{\n\t\tthis.node = node;\n\t}\n\n\tgetId(): ?number\n\t{\n\t\treturn this.id;\n\t}\n\n\tgetNode(): ?Element\n\t{\n\t\treturn this.node;\n\t}\n\n\tgetInput(): ?Element\n\t{\n\t\tconst node = this.getNode();\n\t\tif(!node)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\tif(node instanceof HTMLInputElement)\n\t\t{\n\t\t\treturn node;\n\t\t}\n\t\treturn node.querySelector('input');\n\t}\n\n\tgetValue(): string\n\t{\n\t\tconst input = this.getInput();\n\t\tif(input && input.value)\n\t\t{\n\t\t\treturn input.value;\n\t\t}\n\n\t\treturn this.value || '';\n\t}\n}","import {Type, Loc, Tag, Text} from 'main.core';\nimport {UserField} from 'ui.userfield';\nimport {FieldTypes} from \"./fieldtypes\";\nimport {EnumItem} from './enumitem';\n\n/**\n * @memberof BX.UI.UserFieldFactory\n */\nexport class Configurator\n{\n\tconstructor(params: {\n\t\tuserField: UserField,\n\t\tonSave: Function,\n\t\tonCancel: ?Function,\n\t})\n\t{\n\t\tif(Type.isPlainObject(params))\n\t\t{\n\t\t\tif(params.userField)\n\t\t\t{\n\t\t\t\tthis.userField = params.userField;\n\t\t\t}\n\t\t\tif(Type.isFunction(params.onSave))\n\t\t\t{\n\t\t\t\tthis.onSave = params.onSave;\n\t\t\t}\n\t\t\tif(Type.isFunction(params.onCancel))\n\t\t\t{\n\t\t\t\tthis.onCancel = params.onCancel;\n\t\t\t}\n\t\t}\n\n\t\tthis.enumItems = new Set();\n\t}\n\n\trender(): Element\n\t{\n\t\tthis.node = Tag.render`<div class=\"ui-userfieldfactory-configurator\"></div>`;\n\n\t\tthis.labelInput = Tag.render`<input class=\"ui-ctl-element\" type=\"text\" value=\"${Text.encode(this.userField.getTitle())}\" />`;\n\n\t\tthis.node.appendChild(Tag.render`<div class=\"ui-userfieldfactory-configurator-block\">\n\t\t\t<div class=\"ui-userfieldfactory-configurator-title\">\n\t\t\t\t<span class=\"ui-userfieldfactory-configurator-title-text\">${Loc.getMessage('UI_USERFIELD_FACTORY_CONFIGURATOR_FIELD_TITLE')}</span>\n\t\t\t</div>\n\t\t\t<div class=\"ui-userfieldfactory-configurator-content\">\n\t\t\t\t<div class=\"ui-ctl ui-ctl-textbox ui-ctl-w100\">\n\t\t\t\t\t${this.labelInput}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>`);\n\n\t\tif(this.userField.getUserTypeId() === FieldTypes.getTypes().enumeration)\n\t\t{\n\t\t\tthis.node.appendChild(this.renderEnumeration());\n\t\t}\n\n\t\tthis.node.appendChild(this.renderOptions());\n\n\t\tconst save = (event) =>\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t\tif(Type.isFunction(this.onSave))\n\t\t\t{\n\t\t\t\tthis.onSave(this.saveField());\n\t\t\t}\n\t\t};\n\n\t\tconst cancel = (event) =>\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t\tif(Type.isFunction(this.onCancel))\n\t\t\t{\n\t\t\t\tthis.onCancel();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.node.style.display = 'none';\n\t\t\t}\n\t\t};\n\n\t\tthis.saveButton = Tag.render`<span class=\"ui-btn ui-btn-primary\" onclick=\"${save.bind(this)}\">${Loc.getMessage('UI_USERFIELD_SAVE')}</span>`;\n\t\tthis.cancelButton = Tag.render`<span class=\"ui-btn ui-btn-light-border\" onclick=\"${cancel.bind(this)}\">${Loc.getMessage('UI_USERFIELD_CANCEL')}</span>`;\n\n\t\tthis.node.appendChild(Tag.render`<div class=\"ui-userfieldfactory-configurator-block\">\n\t\t\t${this.saveButton}${this.cancelButton}\n\t\t</div>`);\n\n\t\treturn this.node;\n\t}\n\n\tsaveField(): UserField\n\t{\n\t\tif(this.timeCheckbox)\n\t\t{\n\t\t\tif(this.timeCheckbox.checked)\n\t\t\t{\n\t\t\t\tthis.userField.setUserTypeId(FieldTypes.getTypes().datetime);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.userField.setUserTypeId(FieldTypes.getTypes().date);\n\t\t\t}\n\t\t}\n\t\tif(this.multipleCheckbox)\n\t\t{\n\t\t\tthis.userField.setIsMultiple(this.multipleCheckbox.checked);\n\t\t}\n\t\tthis.userField.setTitle(this.labelInput.value);\n\t\tthis.userField.setIsMandatory(this.mandatoryCheckbox.checked);\n\t\tthis.saveEnumeration(this.userField, this.enumItems);\n\n\t\treturn this.userField;\n\t}\n\n\trenderEnumeration(): Element\n\t{\n\t\tthis.enumItemsContainer = Tag.render`<div class=\"ui-userfieldfactory-configurator-block\"></div>`;\n\n\t\tthis.enumAddItemContainer = Tag.render`<div class=\"ui-userfieldfactory-configurator-block-add-field\">\n\t\t\t<span class=\"ui-userfieldfactory-configurator-add-button\" onclick=\"${() => {this.addEnumInput().focus();}}\">${Loc.getMessage('UI_USERFIELD_ADD')}</span>\n\t\t</div>`;\n\n\t\tthis.enumContainer = Tag.render`<div class=\"ui-userfieldfactory-configurator-block\">\n\t\t\t<div class=\"ui-userfieldfactory-configurator-title\">\n\t\t\t\t<span class=\"ui-userfieldfactory-configurator-title-text\">${Loc.getMessage('UI_USERFIELD_FACTORY_UF_ENUM_ITEMS')}</span>\n\t\t\t</div>\n\t\t\t${this.enumItemsContainer}\n\t\t\t${this.enumAddItemContainer}\n\t\t</div>`;\n\n\t\tthis.userField.getEnumeration().forEach((item) =>\n\t\t{\n\t\t\tthis.addEnumInput(item);\n\t\t});\n\t\tthis.addEnumInput();\n\n\t\treturn this.enumContainer;\n\t}\n\n\taddEnumInput(item: ?{\n\t\tvalue: string,\n\t\tid: ?number,\n\t}): Element\n\t{\n\t\tlet enumItem;\n\t\tif(Type.isPlainObject(item))\n\t\t{\n\t\t\tenumItem = new EnumItem(item.value, item.id);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tenumItem = new EnumItem();\n\t\t}\n\n\t\tconst node = Tag.render`<div style=\"margin-bottom: 10px;\" class=\"ui-ctl ui-ctl-textbox ui-ctl-w100 ui-ctl-row\">\n\t\t\t<input class=\"ui-ctl-element\" type=\"text\" value=\"${Text.encode(enumItem.getValue())}\">\n\t\t\t<div class=\"ui-userfieldfactory-configurator-remove-enum\" onclick=\"${(event) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.deleteEnumItem(enumItem);\n\t\t\t}}\"></div>\n\t\t</div>`;\n\n\t\tenumItem.setNode(node);\n\n\t\tthis.enumItems.add(enumItem);\n\n\t\tthis.enumItemsContainer.appendChild(node);\n\n\t\treturn node;\n\t}\n\n\tdeleteEnumItem(item: EnumItem)\n\t{\n\t\tthis.enumItemsContainer.removeChild(item.getNode());\n\t\tthis.enumItems.delete(item);\n\t}\n\n\trenderOptions(): Element\n\t{\n\t\tthis.optionsContainer = Tag.render`<div class=\"ui-userfieldfactory-configurator-block\"></div>`;\n\n\t\tthis.mandatoryCheckbox = Tag.render`<input class=\"ui-ctl-element\" type=\"checkbox\">`;\n\t\tthis.mandatoryCheckbox.checked = (this.userField.isMandatory());\n\t\tthis.optionsContainer.appendChild(Tag.render`<div>\n\t\t\t\t<label class=\"ui-ctl ui-ctl-checkbox ui-ctl-xs\">\n\t\t\t\t\t${this.mandatoryCheckbox}\n\t\t\t\t\t<div class=\"ui-ctl-label-text\">${Loc.getMessage('UI_USERFIELD_FACTORY_FIELD_REQUIRED')}</div>\n\t\t\t\t</label>\n\t\t\t</div>`);\n\n\t\tif(!this.userField.isSaved() && (this.userField.getUserTypeId() === FieldTypes.getTypes().date || this.userField.getUserTypeId() === FieldTypes.getTypes().datetime))\n\t\t{\n\t\t\tthis.timeCheckbox = Tag.render`<input class=\"ui-ctl-element\" type=\"checkbox\">`;\n\t\t\tthis.timeCheckbox.checked = (this.userField.getUserTypeId() === FieldTypes.getTypes().datetime);\n\t\t\tthis.optionsContainer.appendChild(Tag.render`<div>\n\t\t\t\t<label class=\"ui-ctl ui-ctl-checkbox ui-ctl-xs\">\n\t\t\t\t\t${this.timeCheckbox}\n\t\t\t\t\t<div class=\"ui-ctl-label-text\">${Loc.getMessage('UI_USERFIELD_FACTORY_UF_ENABLE_TIME')}</div>\n\t\t\t\t</label>\n\t\t\t</div>`);\n\t\t}\n\n\t\tif(!this.userField.isSaved() && this.userField.getUserTypeId() !== FieldTypes.getTypes().boolean)\n\t\t{\n\t\t\tthis.multipleCheckbox = Tag.render`<input class=\"ui-ctl-element\" type=\"checkbox\">`;\n\t\t\tthis.multipleCheckbox.checked = this.userField.isMultiple();\n\t\t\tthis.optionsContainer.appendChild(Tag.render`<div>\n\t\t\t\t<label class=\"ui-ctl ui-ctl-checkbox ui-ctl-xs\">\n\t\t\t\t\t${this.multipleCheckbox}\n\t\t\t\t\t<div class=\"ui-ctl-label-text\">${Loc.getMessage('UI_USERFIELD_FACTORY_FIELD_MULTIPLE')}</div>\n\t\t\t\t</label>\n\t\t\t</div>`);\n\t\t}\n\n\t\treturn this.optionsContainer;\n\t}\n\n\tsaveEnumeration(userField: UserField, enumItems: EnumItem[])\n\t{\n\t\tconst items = [];\n\t\tlet sort = 100;\n\n\t\tenumItems.forEach((item) =>\n\t\t{\n\t\t\titems.push({\n\t\t\t\tvalue: item.getValue(),\n\t\t\t\tsort: sort,\n\t\t\t\tid: item.getId(),\n\t\t\t});\n\n\t\t\tsort += 100;\n\t\t});\n\n\t\tuserField.setEnumeration(items);\n\t}\n}","import {Loc, Type, Reflection} from \"main.core\";\nimport {EventEmitter} from \"main.core.events\";\n\nimport {CreationMenu} from \"./creationmenu\";\nimport {UserField} from 'ui.userfield';\nimport {MAX_FIELD_LENGTH, DefaultData, DefaultFieldData, FieldTypes} from \"./fieldtypes\";\nimport {Configurator} from \"./configurator\";\n\nimport 'sidepanel';\nimport 'uf';\n\n/**\n * @memberof BX.UI.UserFieldFactory\n * @mixes EventEmitter\n */\nexport class Factory\n{\n\tconstructor(entityId: string, params: {\n\t\tmenuId: ?string,\n\t\ttypes: ?Array,\n\t\tbindElement: ?Element,\n\t\tconfiguratorClass: ?Configurator,\n\t\tcustomTypesUrl: ?string,\n\t\tmoduleId: ?string,\n\t} = {})\n\t{\n\t\tEventEmitter.makeObservable(this, 'BX.UI.UserFieldFactory.Factory');\n\t\tthis.configuratorClass = Configurator;\n\t\tif(Type.isString(entityId) && entityId.length > 0)\n\t\t{\n\t\t\tthis.entityId = entityId;\n\t\t}\n\t\tif(Type.isPlainObject(params))\n\t\t{\n\t\t\tif(Type.isString(params.menuId))\n\t\t\t{\n\t\t\t\tthis.menuId = params.menuId;\n\t\t\t}\n\t\t\tif(!Type.isArray(params.types))\n\t\t\t{\n\t\t\t\tparams.types = [];\n\t\t\t}\n\t\t\tif(Type.isDomNode(params.bindElement))\n\t\t\t{\n\t\t\t\tthis.bindElement = params.bindElement;\n\t\t\t}\n\t\t\tthis.moduleId = params.moduleId;\n\t\t\tthis.setCustomTypesUrl(params.customTypesUrl)\n\t\t\t\t.setConfiguratorClass(params.configuratorClass);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tparams.types = [];\n\t\t}\n\t\tthis.types = this.getFieldTypes().concat(params.types);\n\t}\n\n\tgetFieldTypes(): Array\n\t{\n\t\tconst types = [];\n\n\t\tObject.keys(FieldTypes.getDescriptions()).forEach((name) =>\n\t\t{\n\t\t\ttypes.push({...FieldTypes.getDescriptions()[name], ...{name}});\n\t\t});\n\n\t\tthis.emit('OnGetUserTypes', {\n\t\t\ttypes\n\t\t});\n\n\t\treturn types;\n\t}\n\n\tgetMenu(params: Object): CreationMenu\n\t{\n\t\tif(!Type.isPlainObject(params))\n\t\t{\n\t\t\tparams = {};\n\t\t}\n\t\tif(!Type.isDomNode(params.bindElement))\n\t\t{\n\t\t\tparams.bindElement = this.bindElement;\n\t\t}\n\t\tconst types = this.types;\n\t\tif(this.customTypesUrl && !this.isCustomTypeAdded)\n\t\t{\n\t\t\tconst customType = {...FieldTypes.getCustomTypeDescription()};\n\t\t\tcustomType.onClick = this.onCustomTypeClick.bind(this);\n\t\t\ttypes.push(customType);\n\t\t\tthis.isCustomTypeAdded = true;\n\t\t}\n\t\tif(!this.menu)\n\t\t{\n\t\t\tthis.menu = new CreationMenu(this.menuId, types, params);\n\t\t}\n\n\t\treturn this.menu;\n\t}\n\n\tsetConfiguratorClass(configuratorClassName: string|Function)\n\t{\n\t\tlet configuratorClass = null;\n\t\tif(Type.isString(configuratorClassName))\n\t\t{\n\t\t\tconfiguratorClass = Reflection.getClass(configuratorClassName);\n\t\t}\n\t\telse if(Type.isFunction(configuratorClassName))\n\t\t{\n\t\t\tconfiguratorClass = configuratorClassName;\n\t\t}\n\n\t\tif(Type.isFunction(configuratorClass) && configuratorClass.prototype instanceof Configurator)\n\t\t{\n\t\t\tthis.configuratorClass = configuratorClass;\n\t\t}\n\t}\n\n\tsetCustomTypesUrl(customTypesUrl: string): this\n\t{\n\t\tthis.customTypesUrl = customTypesUrl;\n\n\t\treturn this;\n\t}\n\n\tgetConfigurator(params: {\n\t\tuserField: UserField,\n\t\tonSave: Function,\n\t\tonCancel: ?Function,\n\t}): Configurator\n\t{\n\t\treturn new this.configuratorClass(params);\n\t}\n\n\tcreateUserField(fieldType: string, fieldName: ?string): UserField\n\t{\n\t\tlet data = {...DefaultData, ...DefaultFieldData[fieldType], ...{userTypeId: fieldType}};\n\n\t\tif(!Type.isString(fieldName) || fieldName.length <= 0 || fieldName.length > MAX_FIELD_LENGTH)\n\t\t{\n\t\t\tfieldName = this.generateFieldName();\n\t\t}\n\t\tdata.fieldName = fieldName;\n\t\tdata.entityId = this.entityId;\n\n\t\tconst userField = new UserField(data, {\n\t\t\tmoduleId: this.moduleId,\n\t\t});\n\t\tuserField.setTitle(this.getDefaultLabel(fieldType));\n\n\t\tthis.emit('onCreateField', {\n\t\t\tuserField,\n\t\t});\n\n\t\treturn userField;\n\t}\n\n\tgetDefaultLabel(fieldType: string): string\n\t{\n\t\tlet label = Loc.getMessage('UI_USERFIELD_FACTORY_UF_LABEL');\n\t\tthis.types.forEach((type) =>\n\t\t{\n\t\t\tif(type.name === fieldType && Type.isString(type.defaultTitle))\n\t\t\t{\n\t\t\t\tlabel = type.defaultTitle;\n\t\t\t}\n\t\t});\n\n\t\treturn label;\n\t}\n\n\tgenerateFieldName(): string\n\t{\n\t\tlet name = 'UF_' + (this.entityId ? (this.entityId + \"_\") : \"\");\n\t\tlet dateSuffix = (new Date()).getTime().toString();\n\t\tif(name.length + dateSuffix.length > MAX_FIELD_LENGTH)\n\t\t{\n\t\t\tdateSuffix = dateSuffix.substr(((name.length + dateSuffix.length) - MAX_FIELD_LENGTH));\n\t\t}\n\n\t\tname += dateSuffix;\n\n\t\treturn name;\n\t}\n\n\tonCustomTypeClick()\n\t{\n\t\tif(!this.customTypesUrl)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tBX.SidePanel.Instance.open(this.customTypesUrl.toString(), {\n\t\t\tcacheable: false,\n\t\t\tallowChangeHistory: false,\n\t\t\twidth: 900,\n\t\t\tevents: {\n\t\t\t\tonClose: (event) => {\n\t\t\t\t\tconst slider = event.getSlider();\n\t\t\t\t\tif(slider)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst userFieldData = slider.getData().get('userFieldData');\n\t\t\t\t\t\tif(userFieldData)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst userField = UserField.unserialize(userFieldData);\n\t\t\t\t\t\t\tthis.emit('onCreateCustomUserField', {userField});\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}"],"names":["MAX_FIELD_LENGTH","FieldTypes","Object","freeze","string","enumeration","date","datetime","address","url","file","money","employee","crm","crmStatus","title","Loc","getMessage","description","defaultTitle","name","DefaultData","multiple","mandatory","userTypeId","showFilter","showInList","settings","isSearchable","DefaultFieldData","crm_status","DISPLAY","PRECISION","SCROLL_OFFSET","CreationMenu","id","types","params","items","Type","isPlainObject","onItemClick","popup","options","getDefaultPopupOptions","events","onPopupShow","bind","onPopupDestroy","getId","Popup","setContent","render","callback","getPopup","isShown","show","container","Tag","scrollIcon","topScrollButton","bottomScrollButton","appendChild","renderList","containerList","forEach","item","renderItem","onClick","handleItemClick","isFunction","close","Event","onBottomButtonMouseOver","onBottomButtonMouseOut","onTopButtonMouseOver","onTopButtonMouseOut","onScroll","window","setTimeout","adjust","unbind","scroll","scrollTop","offsetHeight","scrollHeight","height","Dom","hide","autoHide","draggable","offsetLeft","offsetTop","noAllPaddings","bindOptions","forceBindPosition","closeByEsc","cacheable","EnumItem","value","node","getNode","HTMLInputElement","querySelector","input","getInput","Configurator","userField","onSave","onCancel","enumItems","Set","labelInput","Text","encode","getTitle","getUserTypeId","getTypes","renderEnumeration","renderOptions","save","event","preventDefault","saveField","cancel","style","display","saveButton","cancelButton","timeCheckbox","checked","setUserTypeId","multipleCheckbox","setIsMultiple","setTitle","setIsMandatory","mandatoryCheckbox","saveEnumeration","enumItemsContainer","enumAddItemContainer","addEnumInput","focus","enumContainer","getEnumeration","enumItem","getValue","deleteEnumItem","setNode","add","removeChild","optionsContainer","isMandatory","isSaved","isMultiple","sort","push","setEnumeration","Factory","entityId","EventEmitter","makeObservable","configuratorClass","isString","length","menuId","isArray","isDomNode","bindElement","moduleId","setCustomTypesUrl","customTypesUrl","setConfiguratorClass","getFieldTypes","concat","keys","getDescriptions","emit","isCustomTypeAdded","customType","getCustomTypeDescription","onCustomTypeClick","menu","configuratorClassName","Reflection","getClass","prototype","fieldType","fieldName","data","generateFieldName","UserField","getDefaultLabel","label","type","dateSuffix","Date","getTime","toString","substr","BX","SidePanel","Instance","open","allowChangeHistory","width","onClose","slider","getSlider","userFieldData","getData","get","unserialize"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.27 |
proxy
|
phpinfo
|
Settings