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/cvetdv.ru/bitrix/activities/bitrix/propertyvariablecondition/ |
Upload File : |
{"version":3,"file":"script.js","sources":["src/index.js"],"sourcesContent":["import {Reflection, Text, Type, Tag, Dom, Loc, Event} from 'main.core';\nimport {BpCondition, Operator} from \"bizproc.condition\";\n\nconst namespace = Reflection.namespace('BX.Bizproc.Activity');\n\nclass PropertyVariableCondition\n{\n\t#table: HTMLTableElement;\n\t#fields: {\n\t\tvariables: Object<string, {Name: string, Type: string}>,\n\t\tproperties: Object<string, {Name: string, Type: string}>,\n\t} = {\n\t\tvariables: {},\n\t\tproperties: {},\n\t};\n\t#documentType: any;\n\n\t#index: number = 0;\n\t#conditions: Array<{\n\t\toperator: string,\n\t\tfieldId: string,\n\t\tjoiner: number,\n\t\tvalue: any,\n\t}> = [];\n\t#conditionCountNode: HTMLInputElement;\n\n\tconstructor(options: {\n\t\ttable: HTMLTableElement,\n\t\tconditions: {\n\t\t\tvariable_condition_count: string,\n\t\t},\n\t\tvariables?: {},\n\t\tproperties?: {},\n\t\tdocumentType: any,\n\t})\n\t{\n\t\tif (!Type.isPlainObject(options))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (Type.isElementNode(options.table))\n\t\t{\n\t\t\tthis.#table = options.table;\n\t\t}\n\n\t\tif (Type.isPlainObject(options.conditions))\n\t\t{\n\t\t\tconst indexes = String(options.conditions.variable_condition_count).split(',').map(Text.toInteger);\n\t\t\tindexes.forEach((index) => {\n\t\t\t\tthis.#conditions.push({\n\t\t\t\t\toperator: options.conditions['variable_condition_condition_' + index] || Operator.EQUAL,\n\t\t\t\t\tfieldId: options.conditions['variable_condition_field_' + index] || '',\n\t\t\t\t\tjoiner: options.conditions['variable_condition_joiner_' + index] || 0,\n\t\t\t\t\tvalue: options.conditions['variable_condition_value_' + index] || '',\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tif (Type.isPlainObject(options.variables))\n\t\t{\n\t\t\tthis.#fields.variables = options.variables;\n\t\t}\n\t\tif (Type.isPlainObject(options.properties))\n\t\t{\n\t\t\tthis.#fields.properties = options.properties;\n\t\t}\n\n\t\tthis.#documentType = options.documentType;\n\t}\n\n\tinit()\n\t{\n\t\tconst wrapper = Tag.render`<tbody></tbody>`;\n\t\tthis.#conditions.forEach((condition) => {this.#renderConditionTo(condition, wrapper)});\n\t\tDom.append(this.#renderAddButton(), wrapper);\n\t\tDom.append(wrapper, this.#table);\n\t}\n\n\t#renderConditionTo(condition: {operator?: string, fieldId?: string, joiner?: number, value?: any}, wrapper)\n\t{\n\t\tconst bpCondition = new BpCondition({\n\t\t\toperator: condition.operator || Operator.EQUAL,\n\t\t\tvalue: condition.value || '',\n\t\t\tselectName: 'variable_condition_condition_' + String(this.#index),\n\t\t\tinputName: 'variable_condition_value_' + String(this.#index),\n\t\t\tdocumentType: this.#documentType,\n\t\t\tuseOperatorModified: false,\n\t\t});\n\n\t\tif (this.#index !== 0)\n\t\t{\n\t\t\tDom.append(this.#renderJoinerAndDeleteButton(Text.toInteger(condition.joiner || 0), bpCondition), wrapper);\n\t\t}\n\n\t\tconst fieldNode = this.#renderField(condition.fieldId || '', this.#index, bpCondition);\n\t\tDom.append(fieldNode, wrapper);\n\n\t\tlet fieldId = condition.fieldId || '';\n\n\t\tlet field = this.#fields.variables[fieldId] ?? this.#fields.properties[fieldId];\n\t\tif (Type.isNil(field))\n\t\t{\n\t\t\tfieldId = fieldNode.getElementsByTagName('SELECT')[0].options[0].value;\n\t\t\tfield = this.#fields.variables[fieldId] ?? this.#fields.properties[fieldId];\n\t\t}\n\n\t\tbpCondition.renderOperatorTo(field.Type, wrapper);\n\t\tbpCondition.renderValueTo(field, wrapper);\n\n\t\tthis.#index++;\n\t}\n\n\t#renderField(fieldId: string, index: string, condition: BpCondition): HTMLElement\n\t{\n\t\tconst select: HTMLSelectElement = Tag.render`\n\t\t\t<select name=\"variable_condition_field_${String(index)}\"></select>\n\t\t`;\n\n\t\tconst propertyKeys = Object.keys(this.#fields.properties);\n\t\tif (propertyKeys.length > 0)\n\t\t{\n\t\t\tconst optgroup = Tag.render`<optgroup label=\"${Loc.getMessage('BPFC_PD_PARAMS')}\"></optgroup>`;\n\t\t\tpropertyKeys.forEach((key) => {\n\t\t\t\tDom.append(\n\t\t\t\t\tTag.render`\n\t\t\t\t\t\t<option value=\"${Text.encode(key)}\"${fieldId === key ? ' selected' : ''}>\n\t\t\t\t\t\t\t${Text.encode(this.#fields.properties[key].Name)}\n\t\t\t\t\t\t</option>\n\t\t\t\t\t`,\n\t\t\t\t\toptgroup\n\t\t\t\t)\n\t\t\t});\n\n\t\t\tDom.append(optgroup, select);\n\t\t}\n\n\t\tconst variableKeys = Object.keys(this.#fields.variables);\n\t\tif (variableKeys.length > 0)\n\t\t{\n\t\t\tconst optgroup = Tag.render`<optgroup label=\"${Loc.getMessage('BPFC_PD_VARS')}\"></optgroup>`;\n\t\t\tvariableKeys.forEach((key) => {\n\t\t\t\tDom.append(\n\t\t\t\t\tTag.render`\n\t\t\t\t\t\t<option value=\"${Text.encode(key)}\"${fieldId === key ? ' selected' : ''}>\n\t\t\t\t\t\t\t${Text.encode(this.#fields.variables[key].Name)}\n\t\t\t\t\t\t</option>\n\t\t\t\t\t`,\n\t\t\t\t\toptgroup\n\t\t\t\t)\n\t\t\t});\n\n\t\t\tDom.append(optgroup, select);\n\t\t}\n\n\t\tEvent.bind(select, 'change', this.#onFieldChange.bind(this, condition));\n\n\t\treturn Tag.render`\n\t\t\t<tr>\n\t\t\t\t<td align=\"right\" width=\"40%\" class=\"adm-detail-content-cell-l\">\n\t\t\t\t\t${Loc.getMessage('BPFC_PD_FIELD') + ':'}\n\t\t\t\t</td>\n\t\t\t\t<td width=\"60%\" class=\"adm-detail-content-cell-r\">\n\t\t\t\t\t${select}\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t`;\n\t}\n\n\t#onFieldChange(condition: BpCondition, event)\n\t{\n\t\tconst select: HTMLSelectElement = event.target;\n\t\tconst fieldId = select.selectedOptions[0].value;\n\n\t\tlet field = this.#fields.properties[fieldId] ?? this.#fields.variables[fieldId];\n\t\tif (!field)\n\t\t{\n\t\t\tselect.selectedIndex = 0;\n\t\t\tfield = this.#fields[select.selectedOptions[0]];\n\t\t}\n\n\t\tcondition.rerenderOperator(field.Type ?? 'string');\n\t\tcondition.rerenderValue(field ?? {Type: 'string'});\n\t}\n\n\t#renderJoinerAndDeleteButton(joiner: number, condition: BpCondition): HTMLElement\n\t{\n\t\tconst index = this.#index;\n\t\tconst deleteButton = Tag.render`<a href=\"#\">${Loc.getMessage('BPFC_PD_DELETE')}</a>`;\n\t\tEvent.bindOnce(deleteButton, 'click', this.#onDeleteClick.bind(this, condition, index));\n\n\t\treturn Tag.render`\n\t\t\t<tr>\n\t\t\t\t<td align=\"right\" width=\"40%\" class=\"adm-detail-content-cell-l\">\n\t\t\t\t\t<select name=\"${'variable_condition_joiner_' + String(this.#index)}\">\n\t\t\t\t\t\t<option value=\"0\">${Loc.getMessage('BPFC_PD_AND')}</option>\n\t\t\t\t\t\t<option value=\"1\"${joiner === 1 ? ' selected' : ''}>${Loc.getMessage('BPFC_PD_OR')}</option>\n\t\t\t\t\t</select>\n\t\t\t\t</td>\n\t\t\t\t<td align=\"right\" width=\"60%\" class=\"adm-detail-content-cell-r\">\n\t\t\t\t\t${deleteButton}\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t`;\n\t}\n\n\t#onDeleteClick(condition: BpCondition, index: number, event)\n\t{\n\t\tevent.preventDefault();\n\n\t\tconst eventTarget: HTMLElement = event.target;\n\t\tconst wrapper = eventTarget.closest('tbody');\n\n\t\tconst td = eventTarget.parentElement;\n\t\tconst tr: HTMLTableRowElement = td.parentElement;\n\n\t\tconst rowIndex = tr.rowIndex;\n\t\twrapper.deleteRow(rowIndex + 1); // field\n\t\twrapper.deleteRow(rowIndex); // joiner\n\t\tcondition.destroy();\n\n\t\tconst currentIndexes = this.#conditionCountNode.value.split(',');\n\t\tconst deletedIndex = currentIndexes.indexOf(String(index));\n\t\tif (deletedIndex !== -1)\n\t\t{\n\t\t\tcurrentIndexes.splice(deletedIndex, 1);\n\t\t}\n\t\tthis.#conditionCountNode.value = currentIndexes.join(',');\n\t}\n\n\t#renderAddButton(): HTMLElement\n\t{\n\t\tthis.#conditionCountNode = Tag.render`\n\t\t\t<input \n\t\t\t\ttype=\"hidden\"\n\t\t\t\tname=\"variable_condition_count\"\n\t\t\t\tvalue=\"${[...Array(this.#index)].map((value, index) => index).join(',')}\"\n\t\t\t>\n\t\t`;\n\n\t\tconst addButton = Tag.render`<a href=\"#\">${Loc.getMessage('BPFC_PD_ADD')}</a>`;\n\t\tEvent.bind(addButton, 'click', this.#onAddClick.bind(this));\n\n\t\treturn Tag.render`\n\t\t\t<tr>\n\t\t\t\t<td class=\"adm-detail-content-cell-l\"></td>\n\t\t\t\t<td class=\"adm-detail-content-cell-r\">\n\t\t\t\t\t${this.#conditionCountNode}\n\t\t\t\t\t${addButton}\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t`;\n\t}\n\n\t#onAddClick(event)\n\t{\n\t\tevent.preventDefault();\n\n\t\tconst eventTarget: HTMLElement = event.target;\n\t\tconst wrapper = eventTarget.closest('tbody');\n\n\t\tconst addRow = eventTarget.closest('tr');\n\t\tDom.remove(addRow);\n\n\t\tthis.#conditionCountNode.value += ',' + String(this.#index);\n\t\tthis.#renderConditionTo({}, wrapper);\n\n\t\tDom.append(addRow, wrapper);\n\t}\n}\n\nnamespace.PropertyVariableCondition = PropertyVariableCondition;"],"names":["namespace","Reflection","PropertyVariableCondition","options","variables","properties","Type","isPlainObject","isElementNode","table","conditions","indexes","String","variable_condition_count","split","map","Text","toInteger","forEach","index","push","operator","Operator","EQUAL","fieldId","joiner","value","documentType","wrapper","Tag","render","condition","Dom","append","bpCondition","BpCondition","selectName","inputName","useOperatorModified","fieldNode","field","isNil","getElementsByTagName","renderOperatorTo","renderValueTo","select","propertyKeys","Object","keys","length","optgroup","Loc","getMessage","key","encode","Name","variableKeys","Event","bind","event","target","selectedOptions","selectedIndex","rerenderOperator","rerenderValue","deleteButton","bindOnce","preventDefault","eventTarget","closest","td","parentElement","tr","rowIndex","deleteRow","destroy","currentIndexes","deletedIndex","indexOf","splice","join","Array","addButton","addRow","remove"],"mappings":"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"}