1/* eslint-disable */ 2this.BX = this.BX || {}; 3this.BX.Main = this.BX.Main || {}; 4this.BX.Main.Field = this.BX.Main.Field || {}; 5(function (exports,ui_vue3,main_core,ui_uploader_core,ui_uploader_tileWidget) { 6 'use strict'; 7 8 var Main = { 9 components: { 10 TileWidgetComponent: ui_uploader_tileWidget.TileWidgetComponent 11 }, 12 data: function data() { 13 return { 14 deletedValues: [], 15 uploadedValues: [], 16 uploadInProgress: false 17 }; 18 }, 19 props: { 20 fieldName: { 21 type: String, 22 required: true 23 }, 24 controlId: { 25 type: String, 26 required: true 27 }, 28 context: { 29 type: Object, 30 required: true 31 }, 32 values: { 33 type: Object 34 } 35 }, 36 computed: { 37 sessionInputName: function sessionInputName() { 38 return "".concat(this.context.fieldName, "_session_id"); 39 }, 40 valueInputName: function valueInputName() { 41 return this.context.fieldName + (this.context.multiple ? '[]' : ''); 42 }, 43 deletedValueInputName: function deletedValueInputName() { 44 return "".concat(this.context.fieldName, "_del").concat(this.context.multiple ? '[]' : ''); 45 }, 46 sessionId: function sessionId() { 47 return this.context.sessionId; 48 }, 49 currentValues: function currentValues() { 50 var values = [].concat(babelHelpers.toConsumableArray(this.values), babelHelpers.toConsumableArray(this.uploadedValues)); 51 return this.context.multiple ? values : values.slice(-1); 52 }, 53 uploaderOptions: function uploaderOptions() { 54 var _this = this, 55 _events; 56 return { 57 controller: 'main.fileUploader.fieldFileUploaderController', 58 controllerOptions: this.context.controllerOptions, 59 files: this.values, 60 events: (_events = {}, babelHelpers.defineProperty(_events, ui_uploader_core.UploaderEvent.FILE_UPLOAD_COMPLETE, function (event) { 61 var _event$getData, _event$getData$file, _event$getData$file$g; 62 var newFileId = (_event$getData = event.getData()) === null || _event$getData === void 0 ? void 0 : (_event$getData$file = _event$getData.file) === null || _event$getData$file === void 0 ? void 0 : (_event$getData$file$g = _event$getData$file.getCustomData()) === null || _event$getData$file$g === void 0 ? void 0 : _event$getData$file$g.realFileId; 63 if (newFileId) { 64 _this.uploadedValues.push(newFileId); 65 } 66 _this.emitChangeEvent(); 67 }), babelHelpers.defineProperty(_events, ui_uploader_core.UploaderEvent.FILE_REMOVE, function (event) { 68 var _event$getData2, _event$getData2$file, _event$getData2$file$, _event$getData3, _event$getData3$file; 69 var justUploadedDeletedFileId = (_event$getData2 = event.getData()) === null || _event$getData2 === void 0 ? void 0 : (_event$getData2$file = _event$getData2.file) === null || _event$getData2$file === void 0 ? void 0 : (_event$getData2$file$ = _event$getData2$file.getCustomData()) === null || _event$getData2$file$ === void 0 ? void 0 : _event$getData2$file$.realFileId; 70 if (justUploadedDeletedFileId && _this.uploadedValues.includes(justUploadedDeletedFileId)) 71 // just uploaded file was deleted 72 { 73 _this.uploadedValues = _this.uploadedValues.filter(function (id) { 74 return id !== justUploadedDeletedFileId; 75 }); 76 } 77 var deletedFileId = (_event$getData3 = event.getData()) === null || _event$getData3 === void 0 ? void 0 : (_event$getData3$file = _event$getData3.file) === null || _event$getData3$file === void 0 ? void 0 : _event$getData3$file.getServerFileId(); 78 if (deletedFileId && main_core.Type.isInteger(deletedFileId)) 79 // existed file was deleted 80 { 81 _this.deletedValues.push(deletedFileId); 82 } 83 _this.emitChangeEvent(); 84 }), babelHelpers.defineProperty(_events, ui_uploader_core.UploaderEvent.FILE_STATUS_CHANGE, function (event) { 85 var _event$getTarget; 86 var files = (_event$getTarget = event.getTarget()) === null || _event$getTarget === void 0 ? void 0 : _event$getTarget.getFiles(); 87 if (!files) { 88 return; 89 } 90 var inProgress = files.some(function (file) { 91 var status = file.getStatus(); 92 return status === ui_uploader_core.FileStatus.UPLOADING || status === ui_uploader_core.FileStatus.PREPARING || status === ui_uploader_core.FileStatus.PENDING || status === ui_uploader_core.FileStatus.UPLOADING; 93 }); 94 if (_this.uploadInProgress !== inProgress) { 95 _this.uploadInProgress = inProgress; 96 if (inProgress) { 97 _this.emitUploadStartEvent(); 98 } else { 99 _this.emitUploadCompleteEvent(); 100 } 101 } 102 }), _events), 103 multiple: this.context.multiple, 104 autoUpload: true, 105 treatOversizeImageAsFile: true 106 }; 107 }, 108 widgetOptions: function widgetOptions() { 109 return {}; 110 } 111 }, 112 methods: { 113 emitChangeEvent: function emitChangeEvent() { 114 BX.onCustomEvent(window, 'onUIEntityEditorUserFieldExternalChanged', [this.fieldName]); 115 BX.onCustomEvent(window, 'onCrmEntityEditorUserFieldExternalChanged', [this.fieldName]); 116 }, 117 emitUploadStartEvent: function emitUploadStartEvent() { 118 main_core.Event.EventEmitter.emit('BX.UI.EntityEditor:onUserFieldFileUploadStart', { 119 fieldName: this.fieldName 120 }); 121 }, 122 emitUploadCompleteEvent: function emitUploadCompleteEvent() { 123 main_core.Event.EventEmitter.emit('BX.UI.EntityEditor:onUserFieldFileUploadComplete', { 124 fieldName: this.fieldName 125 }); 126 } 127 }, 128 template: "\n\t\t<div class=\"main-field-file-wrapper\">\n\t\t\t<input type=\"hidden\" :name=\"sessionInputName\" :value=\"sessionId\" />\n\t\t\t<input v-if=\"currentValues.length\" v-for=\"(value, index) in currentValues\" :key=\"index\" type=\"hidden\" :name=\"valueInputName\" :value=\"value\"/>\n\t\t\t<input v-else type=\"hidden\" :name=\"valueInputName\" />\n\n\t\t\t<input v-for=\"(value, index) in deletedValues\" :key=\"index\" type=\"hidden\" :name=\"deletedValueInputName\" :value=\"value\"/>\n\n\t\t\t<TileWidgetComponent\n\t\t\t\tref=\"uploader\"\n\t\t\t\t:uploaderOptions=\"uploaderOptions\"\n\t\t\t\t:widgetOptions=\"widgetOptions\"\n\t\t\t/>\n\t\t</div>\n\t" 129 }; 130 131 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } 132 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {};
132 i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { babelHelpers.defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } 133 function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } 134 function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } 135 var _app = /*#__PURE__*/new WeakMap(); 136 var App = function App(params) { 137 babelHelpers.classCallCheck(this, App); 138 _classPrivateFieldInitSpec(this, _app, { 139 writable: true, 140 value: null 141 }); 142 var container = document.getElementById(params.containerId); 143 if (!main_core.Type.isDomNode(container)) { 144 throw new Error('container not found'); 145 } 146 babelHelpers.classPrivateFieldSet(this, _app, ui_vue3.BitrixVue.createApp(_objectSpread({}, Main), { 147 fieldName: params.fieldName, 148 controlId: params.controlId, 149 context: params.context, 150 values: params.value.map(function (value) { 151 return parseInt(value, 10); 152 }) 153 })); 154 babelHelpers.classPrivateFieldGet(this, _app).mount(container); 155 }; 156 157 exports.App = App; 158 159}((this.BX.Main.Field.File = this.BX.Main.Field.File || {}),BX.Vue3,BX,BX.UI.Uploader,BX.UI.Uploader)); 160//# sourceMappingURL=script.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.