Current Path : /var/www/axolotl/data/www/axolotl.ru/www/bitrix/activities/bitrix/mixedcondition/ |
Current File : /var/www/axolotl/data/www/axolotl.ru/www/bitrix/activities/bitrix/mixedcondition/script.js.map |
{"version":3,"file":"script.js","sources":["script.es6.js"],"sourcesContent":["import { Reflection, Type, Tag, Event, Dom, Loc } from 'main.core';\nimport { BpMixedSelector } from 'bizproc.mixed-selector';\n\nconst namespace = Reflection.namespace('BX.Bizproc.Activity');\n\nclass MixedCondition {\n\n\toperatorList;\n\tconditions: Array;\n\ttable: HTMLTableElement;\n\tobjectTabs;\n\ttemplate: Array;\n\tformName: string;\n\n\tindex: number = 0;\n\tselector: BpMixedSelector;\n\taddConditionNode: HTMLElement;\n\n\tconstructor(options) {\n\t\tif (Type.isPlainObject(options))\n\t\t{\n\t\t\tthis.operatorList = options.operatorList;\n\t\t\tthis.conditions = options.conditions;\n\t\t\tthis.table = options.table;\n\t\t\tthis.objectTabs = options.objectTabs;\n\t\t\tthis.template = options.template;\n\t\t\tthis.formName = options.formName;\n\t\t}\n\t}\n\n\tinit()\n\t{\n\t\tthis.addConditionNode = this.#createAddConditionNode();\n\t\tDom.append(this.addConditionNode, this.table);\n\n\t\tfor (const i in this.conditions)\n\t\t{\n\t\t\tthis.addCondition(this.conditions[i]);\n\t\t}\n\t}\n\n\t#createAddConditionNode(): HTMLElement\n\t{\n\t\tconst me = this;\n\n\t\treturn Dom.create('tbody', {\n\t\t\tchildren: [\n\t\t\t\tDom.create('tr', {\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\tDom.create('td', {\n\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\tclassName: 'adm-detail-content-cell-l'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tDom.create('td', {\n\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\tclassName: 'adm-detail-content-cell-r'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\tDom.create('a', {\n\t\t\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\t\t\thref: '#'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttext: Loc.getMessage('BPMC_PD_ADD'),\n\t\t\t\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t\t\t\tclick: function (event){\n\t\t\t\t\t\t\t\t\t\t\tme.addCondition();\n\n\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t]\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\taddCondition(condition = {\n\t\tobject: null,\n\t\tfield: null,\n\t\tvalue: null,\n\t\tjoiner: '0',\n\t\toperator: '!empty'\n\t})\n\t{\n\t\tconst me = this;\n\n\t\tif (condition.object === 'Template')\n\t\t{\n\t\t\tcondition.object = 'Parameter';\n\t\t}\n\n\t\t// Tag.render can't render <tbody>, <td>, <tr>;\n\t\tconst tbody = Dom.create('tbody', {\n\t\t\tattrs: {\n\t\t\t\t'data-index': String(this.index),\n\t\t\t\t'data-object': BX.util.htmlspecialchars(condition.object) ?? '',\n\t\t\t\t'data-field': BX.util.htmlspecialchars(condition.field) ?? ''\n\t\t\t}\n\t\t});\n\n\t\tconst joinerNode = this.#createJoiner(condition.joiner);\n\t\tif (this.index > 0)\n\t\t{\n\t\t\tDom.append(joinerNode, tbody);\n\t\t}\n\n\t\tconst sourceNode = this.#createSource(condition.object, condition.field);\n\t\tDom.append(sourceNode, tbody);\n\t\tif (this.selector)\n\t\t{\n\t\t\tthis.selector.subscribe('onSelect', function (event) {\n\t\t\t\ttbody.setAttribute('data-object', event.data.item.object);\n\t\t\t\ttbody.setAttribute('data-field', event.data.item.field);\n\t\t\t\tme.#renderValue(tbody);\n\t\t\t});\n\t\t}\n\n\t\tconst conditionNode = this.#createCondition(condition.operator);\n\t\tDom.append(conditionNode, tbody);\n\n\t\tconst fieldNode = this.#createField(condition.operator);\n\t\tDom.append(fieldNode, tbody);\n\n\t\tthis.#renderValue(tbody, condition.operator, condition.value);\n\n\t\tDom.insertBefore(tbody, this.addConditionNode);\n\t\tthis.index++;\n\t}\n\n\t#createJoiner(joiner): HTMLElement\n\t{\n\t\tconst wrapJoiner = Dom.create('td', {\n\t\t\tattrs: {\n\t\t\t\tclassName: 'adm-detail-content-cell-l',\n\t\t\t\talign: 'right',\n\t\t\t\twidth: '40%'\n\t\t\t},\n\t\t});\n\n\t\tconst joinerNode = Tag.render`\n\t\t\t<select name=\"mixed_condition[${this.index}][joiner]\">\n\t\t\t\t<option value=\"0\">${Loc.getMessage('BPMC_PD_AND')}</option>\n\t\t\t\t<option value=\"1\">${Loc.getMessage('BPMC_PD_OR')}</option>\n\t\t\t</select>\n\t\t`;\n\t\tif (String(joiner) === '1'){\n\t\t\tjoinerNode.value = '1';\n\t\t}\n\t\tDom.append(joinerNode, wrapJoiner);\n\n\t\tconst wrapDelete = Dom.create('td', {\n\t\t\tattrs: {\n\t\t\t\tclassName: \"adm-detail-content-cell-r\",\n\t\t\t\talign: 'right',\n\t\t\t\twidth: '60%'\n\t\t\t},\n\t\t});\n\n\t\tconst deleteNode = Tag.render`<a href=\"#\">${Loc.getMessage('BPMC_PD_DELETE')}</a>`;\n\t\tEvent.bind(deleteNode, 'click', this.#deleteCondition.bind(this));\n\t\tDom.append(deleteNode, wrapDelete);\n\n\t\treturn Dom.create('tr', {\n\t\t\tchildren: [\n\t\t\t\twrapJoiner,\n\t\t\t\twrapDelete\n\t\t\t]\n\t\t});\n\t}\n\n\t#createSource(object, field): HTMLElement\n\t{\n\t\tconst label = Dom.create('td', {\n\t\t\tattrs: {\n\t\t\t\tclassName: 'adm-detail-content-cell-l',\n\t\t\t\talign: 'right',\n\t\t\t\twidth: '40%'\n\t\t\t},\n\t\t\ttext: Loc.getMessage('BPMC_PD_FIELD') + ':'\n\t\t});\n\n\t\tconst source = Dom.create('td', {\n\t\t\tattrs: {\n\t\t\t\tclassName: 'adm-detail-content-cell-r',\n\t\t\t\twidth: \"60%\"\n\t\t\t}\n\t\t});\n\n\t\tthis.selector = new BpMixedSelector({\n\t\t\ttargetNode: source,\n\t\t\ttemplate: this.template,\n\t\t\tobjectTabs: this.objectTabs,\n\t\t\tinputNames: {\n\t\t\t\tobject: 'mixed_condition[' + String(this.index) + '][object]',\n\t\t\t\tfield: 'mixed_condition[' + String(this.index) + '][field]',\n\t\t\t}\n\t\t});\n\t\tthis.selector.renderMixedSelector();\n\t\tif (object && field && this.objectTabs[object] && this.objectTabs[object][field])\n\t\t{\n\t\t\tthis.selector.setSelectedObjectAndField(object, field, this.objectTabs[object][field]['Name']);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst sourceName = this.#findActivityTitle(object, field);\n\t\t\tif (sourceName)\n\t\t\t{\n\t\t\t\tthis.selector.setSelectedObjectAndField(object, field, sourceName);\n\t\t\t}\n\t\t}\n\n\t\treturn Dom.create('tr', {children: [label, source]});\n\t}\n\n\t#findActivityTitle(object, field): string | null\n\t{\n\t\tconst activityTabItems = this.selector.getMenuItemsByTabName('Activity');\n\n\t\tfor (const i in activityTabItems)\n\t\t{\n\t\t\tconst activityInfo = activityTabItems[i];\n\t\t\tif (activityInfo.object === object)\n\t\t\t{\n\t\t\t\tconst activityItems = activityInfo.items;\n\t\t\t\tfor (const j in activityItems)\n\t\t\t\t{\n\t\t\t\t\tconst itemInfo = activityItems[j];\n\t\t\t\t\tif (itemInfo.field === field)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn itemInfo.text;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t#createCondition(operator): HTMLElement\n\t{\n\t\tconst label = Dom.create('td', {\n\t\t\tattrs: {\n\t\t\t\tclassName: 'adm-detail-content-cell-l',\n\t\t\t\talign: 'right',\n\t\t\t\twidth: \"40%\"\n\t\t\t},\n\t\t\ttext: Loc.getMessage('BPMC_PD_CONDITION') + ':'\n\t\t});\n\n\t\tconst select = Tag.render`\n\t\t\t<select name=\"mixed_condition[${this.index}][operator]\" data-role=\"operator-selector\"></select>\n\t\t`;\n\t\tEvent.bind(select, 'change', this.#changeCondition.bind(this));\n\n\t\tfor (const operation in this.operatorList)\n\t\t{\n\t\t\tconst option = Tag.render`\n\t\t\t\t<option value=\"${operation}\">${BX.util.htmlspecialchars(this.operatorList[operation])}</option>\n\t\t\t`;\n\t\t\tDom.append(option, select);\n\t\t}\n\t\tselect.value = operator;\n\t\tif (select.selectedIndex === -1)\n\t\t{\n\t\t\tselect.value = '!empty';\n\t\t}\n\n\t\treturn Dom.create('tr', {\n\t\t\tchildren: [\n\t\t\t\tlabel,\n\t\t\t\tDom.create('td', {\n\t\t\t\t\tattrs: {\n\t\t\t\t\t\tclassName: 'adm-detail-content-cell-r',\n\t\t\t\t\t\twidth: \"60%\"\n\t\t\t\t\t},\n\t\t\t\t\tchildren: [select]\n\t\t\t\t}),\n\t\t\t]\n\t\t});\n\t}\n\n\t#createField(operator): HTMLElement\n\t{\n\t\tconst wrapper = Dom.create('tr', {\n\t\t\tattrs: {\n\t\t\t\t'data-role': 'value-row'\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\tDom.create('td', {\n\t\t\t\t\tattrs: {\n\t\t\t\t\t\tclassName: 'adm-detail-content-cell-l',\n\t\t\t\t\t\talign: 'right',\n\t\t\t\t\t\twidth: '40%'\n\t\t\t\t\t},\n\t\t\t\t\ttext: Loc.getMessage('BPMC_PD_VALUE') + ':'\n\t\t\t\t}),\n\t\t\t\tDom.create('td', {\n\t\t\t\t\tattrs: {\n\t\t\t\t\t\tclassName: 'adm-detail-content-cell-r',\n\t\t\t\t\t\t'data-role': 'value-cell',\n\t\t\t\t\t\twidth: '60%'\n\t\t\t\t\t},\n\t\t\t\t\ttext: '...'\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\n\t\tif (['empty', '!empty'].includes(operator))\n\t\t{\n\t\t\tDom.style(wrapper, 'display', 'none');\n\t\t}\n\n\t\treturn wrapper;\n\t}\n\n\t#deleteCondition(event)\n\t{\n\t\tconst target = event.target.closest('tbody');\n\t\tif (target)\n\t\t{\n\t\t\tDom.remove(target);\n\t\t}\n\t\tevent.preventDefault();\n\t}\n\n\t#changeCondition(event)\n\t{\n\t\tconst target = event.target;\n\t\tthis.#renderValue(target.closest('tbody'), target.value);\n\t}\n\n\t#renderValue(conditionNode, operator, value=null)\n\t{\n\t\toperator = operator || conditionNode.querySelector('[data-role=\"operator-selector\"]').value;\n\t\tconst valueRow = conditionNode.querySelector('[data-role=\"value-row\"]');\n\t\tif (['empty', '!empty'].includes(operator))\n\t\t{\n\t\t\tDom.style(valueRow, 'display', 'none');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.style(valueRow, 'display', '');\n\t\t\tthis.#renderField(conditionNode, value);\n\t\t}\n\t}\n\n\t#renderField(conditionNode, value)\n\t{\n\t\tconst cell = conditionNode.querySelector('[data-role=\"value-cell\"]');\n\t\tconst index = conditionNode.getAttribute('data-index');\n\t\tconst property = this.getProperty(\n\t\t\tconditionNode.getAttribute('data-object'),\n\t\t\tconditionNode.getAttribute('data-field')\n\t\t);\n\n\t\tif (!property)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tobjFieldsPVC.GetFieldInputControl(\n\t\t\tproperty,\n\t\t\tvalue ?? '',\n\t\t\t{\n\t\t\t\tField: 'mixed_condition_value_' + index,\n\t\t\t\tForm: this.formName\n\t\t\t},\n\t\t\tfunction (value) {\n\t\t\t\tif (value)\n\t\t\t\t{\n\t\t\t\t\tcell.innerHTML = value;\n\t\t\t\t}\n\t\t\t\tif (!Type.isUndefined(BX.Bizproc.Selector))\n\t\t\t\t{\n\t\t\t\t\tBX.Bizproc.Selector.initSelectors(cell);\n\t\t\t\t}\n\t\t\t},\n\t\t\ttrue\n\t\t);\n\n\t}\n\n\tgetProperty(object, field): Object | null\n\t{\n\t\tif (object && this.objectTabs[object])\n\t\t{\n\t\t\treturn this.objectTabs[object][field];\n\t\t}\n\n\t\tconst results = BX.Bizproc.Selector.getActivitiesItems();\n\t\tfor (let i = 0; i < results.length; ++i)\n\t\t{\n\t\t\tif (results[i].propertyObject === object && results[i].propertyField === field)\n\t\t\t{\n\t\t\t\treturn results[i].property;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nnamespace.MixedCondition = MixedCondition;"],"names":["namespace","Reflection","MixedCondition","options","Type","isPlainObject","operatorList","conditions","table","objectTabs","template","formName","addConditionNode","Dom","append","i","addCondition","condition","object","field","value","joiner","operator","me","tbody","create","attrs","String","index","BX","util","htmlspecialchars","joinerNode","sourceNode","selector","subscribe","event","setAttribute","data","item","conditionNode","fieldNode","insertBefore","results","Bizproc","Selector","getActivitiesItems","length","propertyObject","propertyField","property","children","className","href","text","Loc","getMessage","events","click","preventDefault","wrapJoiner","align","width","Tag","render","wrapDelete","deleteNode","Event","bind","label","source","BpMixedSelector","targetNode","inputNames","renderMixedSelector","setSelectedObjectAndField","sourceName","activityTabItems","getMenuItemsByTabName","activityInfo","activityItems","items","j","itemInfo","select","operation","option","selectedIndex","wrapper","includes","style","target","closest","remove","querySelector","valueRow","cell","getAttribute","getProperty","objFieldsPVC","GetFieldInputControl","Field","Form","innerHTML","isUndefined","initSelectors"],"mappings":"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"}