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/activities/bitrix/fixresultactivity/ |
Upload File : |
{"version":3,"file":"script.js","sources":["src/index.js"],"sourcesContent":["import { BpMixedSelector } from 'bizproc.mixed-selector';\nimport { Reflection, Type, Event, Dom, Tag, Text } from 'main.core';\n\nconst namespace = Reflection.namespace('BX.Bizproc.Activity');\n\ntype Property = {\n\tId: string,\n\tName: string,\n\tFieldName: string,\n\tType: string,\n\tRequired: ?boolean,\n\tDefault: any,\n\tOptions: ?Array,\n\tSettings: Object<string, any>,\n}\n\ntype AccessType = number;\ntype ResultType = number;\ntype FieldId = string;\ntype FieldsMap = Object<FieldId, Property>;\ntype RawHTML = string;\n\nclass FixResultActivity\n{\n\tresultFieldsContainer: ?HTMLDivElement = undefined;\n\taccessFieldsContainer: ?HTMLDivElement = undefined;\n\taccessTypeSelect: ?HTMLSelectElement = undefined;\n\tresultTypeSelect: ?HTMLSelectElement = undefined;\n\tresultFieldsMap: Object<ResultType, {\n\t\tdocumentType: [string, string, string],\n\t\tfieldsMap: FieldsMap,\n\t}>;\n\n\taccessFieldsMap: Object<AccessType, {\n\t\tdocumentType: [string, string, string],\n\t\tfieldsMap: FieldsMap,\n\t}>;\n\n\tcurrentResultValues: Object<FieldId, any> = {};\n\tcurrentAccessValues: Object<FieldId, any> = {};\n\trenderedResultProperties: Object<FieldId, RawHTML> = {};\n\trenderedAccessProperties: Object<FieldId, RawHTML> = {};\n\n\tselector: BpMixedSelector;\n\tobjectTabs;\n\ttemplate: Array;\n\tactivityFilter: Array;\n\n\tconstructor(options: {\n\t\tformName: string,\n\t\tresultFieldsMap: Object<ResultType, FieldsMap>,\n\t\taccessFieldsMap: Object<AccessType, FieldsMap>,\n\t\tcurrentResultValues: Object<FieldId, any>,\n\t\tcurrentAccessValues: Object<FieldId, any>,\n\t\tobjectTabs: any,\n\t\ttemplate: Array,\n\t\tactivityFilter: Array,\n\t})\n\t{\n\t\tthis.accessFieldsContainer = document.getElementById('access-fields-container');\n\t\tthis.resultFieldsContainer = document.getElementById('result-fields-container');\n\n\t\tif (Type.isPlainObject(options))\n\t\t{\n\t\t\tconst form = document.forms[options.formName];\n\t\t\tif (!Type.isNil(form))\n\t\t\t{\n\t\t\t\tthis.accessTypeSelect = form.access_type;\n\t\t\t\tthis.resultTypeSelect = form.result_type;\n\t\t\t}\n\n\t\t\tthis.resultFieldsMap = options.resultFieldsMap;\n\t\t\tthis.accessFieldsMap = options.accessFieldsMap;\n\t\t\tthis.objectTabs = options.objectTabs;\n\t\t\tthis.template = options.template;\n\t\t\tthis.activityFilter = options.activityFilter;\n\n\t\t\tif (Type.isPlainObject(options.currentResultValues))\n\t\t\t{\n\t\t\t\tthis.currentResultValues = options.currentResultValues;\n\t\t\t}\n\n\t\t\tif (Type.isPlainObject(options.currentAccessValues))\n\t\t\t{\n\t\t\t\tthis.currentAccessValues = options.currentAccessValues;\n\t\t\t}\n\t\t}\n\t}\n\n\tget currentResultType(): number\n\t{\n\t\tif (!this.resultTypeSelect)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn Text.toNumber(this.resultTypeSelect.value);\n\t}\n\n\tget currentAccessType(): number\n\t{\n\t\tif (!this.accessTypeSelect)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn Text.toNumber(this.accessTypeSelect.value);\n\t}\n\n\tgetBindFieldId(): string\n\t{\n\t\treturn `${this.currentResultType}_BindToCurrentElement`;\n\t}\n\n\tinit(): boolean\n\t{\n\t\tif (this.resultTypeSelect)\n\t\t{\n\t\t\tthis.renderResultFields();\n\t\t\tEvent.bind(this.resultTypeSelect, 'change', this.onResultTypeChange.bind(this));\n\t\t}\n\n\t\tif (this.accessTypeSelect)\n\t\t{\n\t\t\tthis.renderAccessFields();\n\t\t\tEvent.bind(this.accessTypeSelect, 'change', this.onAccessTypeChange.bind(this));\n\t\t}\n\t}\n\n\tonResultTypeChange(): void\n\t{\n\t\tDom.clean(this.resultFieldsContainer);\n\t\tthis.currentResultValues = {};\n\t\tthis.renderResultFields();\n\t}\n\n\tonAccessTypeChange(): void\n\t{\n\t\tDom.clean(this.accessFieldsContainer);\n\t\tthis.currentAccessValues = {};\n\t\tthis.renderAccessFields();\n\t}\n\n\trenderResultFields(): void\n\t{\n\t\tif (Object.hasOwn(this.resultFieldsMap, this.currentResultType))\n\t\t{\n\t\t\tconst { documentType, fieldsMap } = this.resultFieldsMap[this.currentResultType];\n\n\t\t\tthis.loadRenderedResultFields();\n\n\t\t\tfor (const fieldId of Object.keys(fieldsMap))\n\t\t\t{\n\t\t\t\tDom.append(this.#renderResultProperty(fieldId), this.resultFieldsContainer);\n\t\t\t}\n\t\t}\n\t}\n\n\trenderAccessFields(): void\n\t{\n\t\tif (Object.hasOwn(this.accessFieldsMap, this.currentAccessType))\n\t\t{\n\t\t\tconst { documentType, fieldsMap } = this.accessFieldsMap[this.currentAccessType];\n\n\t\t\tthis.loadRenderedAccessFields();\n\n\t\t\tfor (const fieldId of Object.keys(fieldsMap))\n\t\t\t{\n\t\t\t\tDom.append(this.#renderAccessProperty(fieldId), this.accessFieldsContainer);\n\t\t\t}\n\t\t}\n\t}\n\n\tloadRenderedResultFields()\n\t{\n\t\tconst { documentType, fieldsMap } = this.resultFieldsMap[this.currentResultType];\n\n\t\tif (Type.isFunction(BX.Bizproc.FieldType.renderControlCollection))\n\t\t{\n\t\t\tthis.renderedResultProperties = BX.Bizproc.FieldType.renderControlCollection(\n\t\t\t\tdocumentType,\n\t\t\t\tObject.entries(fieldsMap).map(([fieldId, field]) => ({\n\t\t\t\t\tproperty: field,\n\t\t\t\t\tfieldName: field.FieldName,\n\t\t\t\t\tvalue: this.currentResultValues[fieldId],\n\t\t\t\t\tcontrolId: fieldId,\n\t\t\t\t})),\n\t\t\t\t'designer',\n\t\t\t);\n\t\t}\n\t}\n\n\tloadRenderedAccessFields()\n\t{\n\t\tconst { documentType, fieldsMap } = this.accessFieldsMap[this.currentAccessType];\n\n\t\tif (Type.isFunction(BX.Bizproc.FieldType.renderControlCollection))\n\t\t{\n\t\t\tthis.renderedAccessProperties = BX.Bizproc.FieldType.renderControlCollection(\n\t\t\t\tdocumentType,\n\t\t\t\tObject.entries(fieldsMap).map(([fieldId, field]) => ({\n\t\t\t\t\tproperty: field,\n\t\t\t\t\tfieldName: field.FieldName,\n\t\t\t\t\tvalue: this.currentAccessValues[fieldId],\n\t\t\t\t\tcontrolId: fieldId,\n\t\t\t\t})),\n\t\t\t\t'designer',\n\t\t\t);\n\t\t}\n\t}\n\n\t#renderResultProperty(fieldId: FieldId): HTMLElement\n\t{\n\t\tconst { documentType, fieldsMap } = this.resultFieldsMap[this.currentResultType];\n\t\tconst property = fieldsMap[fieldId];\n\n\t\tif (property.Type === 'mixed')\n\t\t{\n\t\t\treturn this.#createSource(property);\n\t\t}\n\n\t\tconst fallback = () => BX.Bizproc.FieldType.renderControlDesigner(\n\t\t\tdocumentType,\n\t\t\tproperty,\n\t\t\tproperty.FieldName,\n\t\t\tthis.currentResultValues[fieldId],\n\t\t);\n\n\t\treturn Tag.render`\n\t\t\t<tr>\n\t\t\t\t<td class=\"adm-detail-content-cell-l\" style=\"text-align: right; vertical-align: middle\" align=\"right\" width=\"25%\">${Text.encode(property.Name)}</td>\n\t\t\t\t<td width=\"75%\" class=\"adm-detail-content-cell-r\">\n\t\t\t\t\t${Type.isDomNode(this.renderedResultProperties[fieldId]) ? this.renderedResultProperties[fieldId] : fallback()}\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t`;\n\t}\n\n\t#renderAccessProperty(fieldId: FieldId): HTMLElement\n\t{\n\t\tconst { documentType, fieldsMap } = this.accessFieldsMap[this.currentAccessType];\n\t\tconst property = fieldsMap[fieldId];\n\n\t\tconst fallback = () => BX.Bizproc.FieldType.renderControlDesigner(\n\t\t\tdocumentType,\n\t\t\tproperty,\n\t\t\tproperty.FieldName,\n\t\t\tthis.currentAccessValues[fieldId],\n\t\t);\n\n\t\treturn Tag.render`\n\t\t\t<tr>\n\t\t\t\t<td class=\"adm-detail-content-cell-l\" style=\"text-align: right; vertical-align: middle\" align=\"right\" width=\"25%\">${Text.encode(property.Name)}</td>\n\t\t\t\t<td width=\"75%\" class=\"adm-detail-content-cell-r\">\n\t\t\t\t\t${Type.isDomNode(this.renderedAccessProperties[fieldId]) ? this.renderedAccessProperties[fieldId] : fallback()}\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t`;\n\t}\n\n\t#createSource(property): HTMLElement\n\t{\n\t\tconst source = Tag.render`<td class=\"adm-detail-content-cell-r\" width=\"75%\"></td>`;\n\t\tconst object = this.currentResultValues.ResultItem?.object;\n\t\tconst field = this.currentResultValues.ResultItem?.field;\n\n\t\tthis.selector = new BpMixedSelector({\n\t\t\ttargetNode: source,\n\t\t\ttemplate: this.template,\n\t\t\texceptErrorMessages: true,\n\t\t\tobjectTabs: this.objectTabs,\n\t\t\tactivityFilter: this.activityFilter,\n\t\t\tinputNames: {\n\t\t\t\tobject: 'result_item_object',\n\t\t\t\tfield: 'result_item_field',\n\t\t\t},\n\t\t});\n\t\tthis.selector.renderMixedSelector();\n\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\tconst tr = Tag.render`\n\t\t\t<tr \n\t\t\t\tdata-object=\"${Text.encode(object ?? '')}\"\n\t\t\t\tdata-field=\"${Text.encode(field ?? '')}\">\n\t\t\t\t<td class=\"adm-detail-content-cell-l\" style=\"text-align: right; vertical-align: middle\" align=\"right\" width=\"25%\">${Text.encode(property.Name)}:</td>\n\t\t\t\t${source}\n\t\t\t</tr>\n\t\t`;\n\n\t\tif (this.selector)\n\t\t{\n\t\t\tthis.selector.subscribe('onSelect', (event) => {\n\t\t\t\ttr.setAttribute('data-object', event.data.item.object);\n\t\t\t\ttr.setAttribute('data-field', event.data.item.field);\n\t\t\t});\n\t\t}\n\n\t\treturn tr;\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\nnamespace.FixResultActivity = FixResultActivity;\n"],"names":["namespace","Reflection","FixResultActivity","options","undefined","accessFieldsContainer","document","getElementById","resultFieldsContainer","Type","isPlainObject","form","forms","formName","isNil","accessTypeSelect","access_type","resultTypeSelect","result_type","resultFieldsMap","accessFieldsMap","objectTabs","template","activityFilter","currentResultValues","currentAccessValues","currentResultType","renderResultFields","Event","bind","onResultTypeChange","renderAccessFields","onAccessTypeChange","Dom","clean","Object","hasOwn","documentType","fieldsMap","loadRenderedResultFields","keys","fieldId","append","currentAccessType","loadRenderedAccessFields","isFunction","BX","Bizproc","FieldType","renderControlCollection","renderedResultProperties","entries","map","field","property","fieldName","FieldName","value","controlId","renderedAccessProperties","Text","toNumber","fallback","renderControlDesigner","Tag","render","encode","Name","isDomNode","source","object","ResultItem","selector","BpMixedSelector","targetNode","exceptErrorMessages","inputNames","renderMixedSelector","setSelectedObjectAndField","sourceName","tr","subscribe","event","setAttribute","data","item","activityTabItems","getMenuItemsByTabName","i","activityInfo","activityItems","items","j","itemInfo","text"],"mappings":"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"}