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/rospirotorg.ru/bitrix/js/bizproc/condition/dist/ |
Upload File : |
{"version":3,"file":"condition.bundle.js","sources":["../src/operator/operator.js","../src/bp/bp-condition.js"],"sourcesContent":["import { Loc } from 'main.core';\n\nexport class Operator\n{\n\tstatic EMPTY = 'empty';\n\tstatic NOT_EMPTY = '!empty';\n\tstatic EQUAL = '=';\n\tstatic NOT_EQUAL = '!=';\n\tstatic CONTAIN = 'contain';\n\tstatic NOT_CONTAIN = '!contain';\n\tstatic IN = 'in';\n\tstatic NOT_IN = '!in';\n\tstatic GREATER_THEN = '>';\n\tstatic GREATER_THEN_OR_EQUAL = '>=';\n\tstatic LESS_THEN = '<';\n\tstatic LESS_THEN_OR_EQUAL = '<=';\n\tstatic MODIFIED = 'modified';\n\tstatic BETWEEN = 'between';\n\n\tstatic getAll(): []\n\t{\n\t\treturn [\n\t\t\tthis.NOT_EMPTY,\n\t\t\tthis.EMPTY,\n\t\t\tthis.EQUAL,\n\t\t\tthis.NOT_EQUAL,\n\t\t\tthis.CONTAIN,\n\t\t\tthis.NOT_CONTAIN,\n\t\t\tthis.IN,\n\t\t\tthis.NOT_IN,\n\t\t\tthis.GREATER_THEN,\n\t\t\tthis.GREATER_THEN_OR_EQUAL,\n\t\t\tthis.LESS_THEN,\n\t\t\tthis.LESS_THEN_OR_EQUAL,\n\t\t\tthis.MODIFIED,\n\t\t\tthis.BETWEEN,\n\t\t];\n\t}\n\n\tstatic getAllLabels(): {}\n\t{\n\t\treturn Object.fromEntries([\n\t\t\t[this.EMPTY, Loc.getMessage('BIZPROC_JS_CONDITION_EMPTY')],\n\t\t\t[this.NOT_EMPTY, Loc.getMessage('BIZPROC_JS_CONDITION_NOT_EMPTY')],\n\t\t\t[this.EQUAL, Loc.getMessage('BIZPROC_JS_CONDITION_EQ')],\n\t\t\t[this.NOT_EQUAL, Loc.getMessage('BIZPROC_JS_CONDITION_NE')],\n\t\t\t[this.CONTAIN, Loc.getMessage('BIZPROC_JS_CONDITION_CONTAIN')],\n\t\t\t[this.NOT_CONTAIN, Loc.getMessage('BIZPROC_JS_CONDITION_NOT_CONTAIN')],\n\t\t\t[this.IN, Loc.getMessage('BIZPROC_JS_CONDITION_IN')],\n\t\t\t[this.NOT_IN, Loc.getMessage('BIZPROC_JS_CONDITION_NOT_IN')],\n\t\t\t[this.GREATER_THEN, Loc.getMessage('BIZPROC_JS_CONDITION_GT')],\n\t\t\t[this.GREATER_THEN_OR_EQUAL, Loc.getMessage('BIZPROC_JS_CONDITION_GTE')],\n\t\t\t[this.LESS_THEN, Loc.getMessage('BIZPROC_JS_CONDITION_LT')],\n\t\t\t[this.LESS_THEN_OR_EQUAL, Loc.getMessage('BIZPROC_JS_CONDITION_LTE')],\n\t\t\t[this.BETWEEN, Loc.getMessage('BIZPROC_JS_CONDITION_BETWEEN')],\n\t\t\t[this.MODIFIED, Loc.getMessage('BIZPROC_JS_CONDITION_MODIFIED')],\n\t\t]);\n\t}\n\n\tstatic getOperatorLabel(operator: string): string\n\t{\n\t\treturn this.getAllLabels()[operator] ?? '';\n\t}\n\n\tstatic getOperatorFieldTypeFilter(operator: string, isRobot: boolean = false): []\n\t{\n\t\tif (!this.getAll().includes(operator))\n\t\t{\n\t\t\treturn [];\n\t\t}\n\n\t\tif (operator === this.BETWEEN)\n\t\t{\n\t\t\treturn ['int', 'double', 'date', 'datetime', 'time'];\n\t\t}\n\n\t\treturn [];\n\t}\n\n\tstatic getAllSortedForBp(): []\n\t{\n\t\treturn [\n\t\t\tthis.EQUAL,\n\t\t\tthis.NOT_EQUAL,\n\t\t\tthis.GREATER_THEN,\n\t\t\tthis.GREATER_THEN_OR_EQUAL,\n\t\t\tthis.LESS_THEN,\n\t\t\tthis.LESS_THEN_OR_EQUAL,\n\t\t\tthis.IN,\n\t\t\tthis.NOT_IN,\n\t\t\tthis.CONTAIN,\n\t\t\tthis.NOT_CONTAIN,\n\t\t\tthis.NOT_EMPTY,\n\t\t\tthis.EMPTY,\n\t\t\tthis.MODIFIED,\n\t\t\tthis.BETWEEN,\n\t\t];\n\t}\n\n\tstatic getOperatorsWithoutRenderValue(): []\n\t{\n\t\treturn [this.EMPTY, this.NOT_EMPTY, this.MODIFIED];\n\t}\n}\n","import { Type, Tag, Text, Event, Dom, Loc, Runtime } from 'main.core';\nimport type { ConditionType } from '../types';\nimport { Operator } from '../condition';\n\nimport 'bp_field_type';\n\nexport class BpCondition\n{\n\t#operator: string = Operator.EQUAL;\n\t#operatorName: string = '';\n\t#valueName: string = '';\n\t#value: any;\n\t#documentType;\n\t#useModified: boolean = false;\n\n\t#operatorElement: HTMLSelectElement;\n\t#valueElement: HTMLElement;\n\t#lastFieldProperty: string;\n\n\tconstructor(parameters: ConditionType)\n\t{\n\t\tif (!Type.isPlainObject(parameters))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (Operator.getAll().includes(parameters.operator))\n\t\t{\n\t\t\tthis.#operator = parameters.operator;\n\t\t}\n\n\t\tif (Type.isStringFilled(parameters.selectName))\n\t\t{\n\t\t\tthis.#operatorName = parameters.selectName;\n\t\t}\n\n\t\tif (Type.isStringFilled(parameters.inputName))\n\t\t{\n\t\t\tthis.#valueName = parameters.inputName;\n\t\t}\n\n\t\tif (Type.isBoolean(parameters.useOperatorModified))\n\t\t{\n\t\t\tthis.#useModified = parameters.useOperatorModified;\n\t\t}\n\n\t\tthis.#value = parameters.value;\n\t\tthis.#documentType = parameters.documentType;\n\t}\n\n\trenderOperator(fieldType: string): HTMLElement\n\t{\n\t\tconst select: HTMLElement = Tag.render`<select name=\"${Text.encode(this.#operatorName)}\"></select>`;\n\t\tEvent.bind(select, 'change', this.#onChangeOperator.bind(this));\n\n\t\tthis.#getFilteredOperatorsByFieldType(fieldType).forEach((operator) => {\n\t\t\tDom.append(\n\t\t\t\tTag.render`\n\t\t\t\t\t<option value=\"${Text.encode(operator)}\"${this.#operator === operator ? ' selected' : ''}>\n\t\t\t\t\t\t${Text.encode(Operator.getOperatorLabel(operator))}\n\t\t\t\t\t</option>\n\t\t\t\t`,\n\t\t\t\tselect,\n\t\t\t);\n\t\t});\n\n\t\tthis.#operatorElement = select;\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('BIZPROC_JS_CONDITION')}\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#onChangeOperator(event)\n\t{\n\t\tconst select: HTMLSelectElement = event.target;\n\t\tconst previousOperator = String(this.#operator);\n\t\tthis.#operator = select.selectedOptions[0].value;\n\n\t\tconst valueRow = this.#valueElement.closest('tr');\n\t\tif (Operator.getOperatorsWithoutRenderValue().includes(this.#operator))\n\t\t{\n\t\t\tif (Dom.isShown(valueRow))\n\t\t\t{\n\t\t\t\tDom.hide(valueRow);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (!Dom.isShown(valueRow))\n\t\t{\n\t\t\tDom.show(valueRow);\n\t\t}\n\n\t\tconst needRerender = (\n\t\t\tpreviousOperator === Operator.BETWEEN\n\t\t\t|| this.#operator === Operator.BETWEEN\n\t\t\t|| Operator.getOperatorsWithoutRenderValue().includes(previousOperator)\n\t\t);\n\t\tif (needRerender)\n\t\t{\n\t\t\tthis.rerenderValue(this.#lastFieldProperty);\n\t\t}\n\t}\n\n\trerenderOperator(fieldType: string)\n\t{\n\t\tconst filterOperators = this.#getFilteredOperatorsByFieldType(fieldType);\n\t\tif (this.#operatorElement.options.length === filterOperators.length)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tDom.clean(this.#operatorElement);\n\t\tfilterOperators.forEach((operator) => {\n\t\t\tDom.append(\n\t\t\t\tTag.render`\n\t\t\t\t\t<option value=\"${Text.encode(operator)}\"${this.#operator === operator ? ' selected' : ''}>\n\t\t\t\t\t\t${Text.encode(Operator.getOperatorLabel(operator))}\n\t\t\t\t\t</option>\n\t\t\t\t`,\n\t\t\t\tthis.#operatorElement,\n\t\t\t);\n\t\t});\n\t\tthis.#operator = this.#operatorElement.selectedOptions[0].value;\n\t}\n\n\t#getFilteredOperatorsByFieldType(fieldType: string): []\n\t{\n\t\treturn Operator.getAllSortedForBp().filter((operator) => {\n\t\t\tif (!this.#useModified && operator === Operator.MODIFIED)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst filterFields = Operator.getOperatorFieldTypeFilter(operator);\n\n\t\t\t// todo: white list\n\t\t\treturn filterFields.length === 0 || filterFields.includes(fieldType);\n\t\t});\n\t}\n\n\trenderOperatorTo(fieldType: string, to: HTMLElement)\n\t{\n\t\tDom.append(this.renderOperator(fieldType), to);\n\t}\n\n\trenderValue(fieldProperty: {}): HTMLElement\n\t{\n\t\tthis.#lastFieldProperty = fieldProperty;\n\n\t\tthis.#valueElement = (\n\t\t\tthis.#operator === Operator.BETWEEN\n\t\t\t\t? this.#renderBetweenValue(fieldProperty, this.#value)\n\t\t\t\t: this.#getFieldControl(fieldProperty, this.#value)\n\t\t);\n\n\t\treturn Tag.render`\n\t\t\t<tr${Operator.getOperatorsWithoutRenderValue().includes(this.#operator) ? ' hidden' : ''}>\n\t\t\t\t<td align=\"right\" width=\"40%\" class=\"adm-detail-content-cell-l\">\n\t\t\t\t\t${Loc.getMessage('BIZPROC_JS_CONDITION_VALUE')}\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${this.#valueElement}\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t`;\n\t}\n\n\t#renderBetweenValue(fieldProperty: {}, value): HTMLElement\n\t{\n\t\tconst property = Object.assign(Runtime.clone(fieldProperty), { Multiple: false });\n\n\t\tconst valueElement1 = this.#getFieldControl(\n\t\t\tproperty,\n\t\t\tvalue[0] || '',\n\t\t\t`${this.#valueName}_greater_then`,\n\t\t);\n\t\tconst valueElement2 = this.#getFieldControl(\n\t\t\tproperty,\n\t\t\tvalue[1] || '',\n\t\t\t`${this.#valueName}_less_then`,\n\t\t);\n\n\t\treturn Tag.render`\n\t\t\t<table>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr><td>${valueElement1}</td></tr>\n\t\t\t\t\t<tr><td>${valueElement2}</td></tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t`;\n\t}\n\n\trerenderValue(fieldProperty: {})\n\t{\n\t\tthis.#lastFieldProperty = fieldProperty;\n\n\t\tif (this.#operator === Operator.BETWEEN)\n\t\t{\n\t\t\tthis.#rerenderBetweenValue(fieldProperty);\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst valueElement = this.#getFieldControl(fieldProperty, '');\n\n\t\tDom.replace(this.#valueElement, valueElement);\n\t\tthis.#valueElement = valueElement;\n\t}\n\n\t#rerenderBetweenValue(fieldProperty: {})\n\t{\n\t\tconst valueElement = this.#renderBetweenValue(fieldProperty, ['', '']);\n\t\tDom.replace(this.#valueElement, valueElement);\n\t\tthis.#valueElement = valueElement;\n\t}\n\n\t#getFieldControl(fieldProperty: {}, value: any, valueName?: string): any\n\t{\n\t\tconst name = Type.isNil(valueName) ? this.#valueName : valueName;\n\n\t\treturn BX.Bizproc.FieldType.renderControl(this.#documentType, fieldProperty, name, value, 'designer');\n\t}\n\n\trenderValueTo(fieldType: string, to: HTMLElement)\n\t{\n\t\tDom.append(this.renderValue(fieldType), to);\n\t}\n\n\tdestroy()\n\t{\n\t\tthis.#operator = null;\n\t\tthis.#value = null;\n\t\tthis.#documentType = null;\n\n\t\tthis.#operatorName = null;\n\t\tthis.#valueName = null;\n\n\t\tDom.remove(this.#operatorElement.parentElement.parentElement);\n\t\tthis.#operatorElement = null;\n\n\t\tDom.remove(this.#valueElement.parentElement.parentElement);\n\t\tthis.#valueElement = null;\n\n\t\tthis.#lastFieldProperty = null;\n\t}\n}\n"],"names":["Operator","getAll","NOT_EMPTY","EMPTY","EQUAL","NOT_EQUAL","CONTAIN","NOT_CONTAIN","IN","NOT_IN","GREATER_THEN","GREATER_THEN_OR_EQUAL","LESS_THEN","LESS_THEN_OR_EQUAL","MODIFIED","BETWEEN","getAllLabels","Object","fromEntries","Loc","getMessage","getOperatorLabel","operator","getOperatorFieldTypeFilter","isRobot","includes","getAllSortedForBp","getOperatorsWithoutRenderValue","BpCondition","constructor","parameters","Type","isPlainObject","isStringFilled","selectName","inputName","isBoolean","useOperatorModified","value","documentType","renderOperator","fieldType","select","Tag","render","Text","encode","Event","bind","forEach","Dom","append","rerenderOperator","filterOperators","options","length","clean","selectedOptions","renderOperatorTo","to","renderValue","fieldProperty","rerenderValue","valueElement","replace","renderValueTo","destroy","remove","parentElement","event","target","previousOperator","String","valueRow","closest","isShown","hide","show","needRerender","filter","filterFields","property","assign","Runtime","clone","Multiple","valueElement1","valueElement2","valueName","name","isNil","BX","Bizproc","FieldType","renderControl"],"mappings":"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"}