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/ui/uploader/vue/dist/ |
Upload File : |
{"version":3,"file":"ui.uploader.vue.bundle.js","sources":["../src/vue-uploader-adapter.js","../src/vue-uploader-widget.js","../src/vue-uploader-component.js"],"sourcesContent":["import { Type } from 'main.core';\nimport { EventEmitter, BaseEvent } from 'main.core.events';\nimport { ref, shallowRef, VueRefValue } from 'ui.vue3';\n\nimport {\n\tUploader,\n\tUploaderFile,\n\tUploaderEvent,\n\tUploaderError,\n\ttype UploaderOptions,\n\ttype UploaderFileInfo,\n} from 'ui.uploader.core';\n\n/**\n * @memberof BX.UI.Uploader\n */\nexport default class VueUploaderAdapter extends EventEmitter\n{\n\t#uploader: Uploader = null;\n\t#items: VueRefValue<Array> = null;\n\t#uploaderError = null;\n\t#removeFilesFromServer: boolean = true;\n\n\tconstructor(uploaderOptions: UploaderOptions | Uploader)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.UI.Uploader.Vue.Adapter');\n\n\t\tthis.#items = ref([]);\n\t\tthis.#uploaderError = shallowRef(null);\n\n\t\tconst events = {\n\t\t\t[UploaderEvent.FILE_ADD_START]: this.#handleFileAdd.bind(this),\n\t\t\t[UploaderEvent.FILE_REMOVE]: this.#handleFileRemove.bind(this),\n\t\t\t[UploaderEvent.FILE_STATE_CHANGE]: this.#handleFileStateChange.bind(this),\n\t\t\t[UploaderEvent.FILE_COMPLETE]: this.#handleFileComplete.bind(this),\n\t\t\t[UploaderEvent.FILE_ERROR]: this.#handleFileError.bind(this),\n\t\t\t[UploaderEvent.ERROR]: this.#handleError.bind(this),\n\t\t\t[UploaderEvent.UPLOAD_START]: this.#handleUploadStart.bind(this),\n\t\t\t[UploaderEvent.UPLOAD_COMPLETE]: this.#handleUploadComplete.bind(this),\n\t\t};\n\n\t\tif (uploaderOptions instanceof Uploader)\n\t\t{\n\t\t\tthis.#uploader = uploaderOptions;\n\t\t\tif (this.#uploader.getFileCount() > 0)\n\t\t\t{\n\t\t\t\tthrow new Error('VueUploaderAdapter: an uploader have some files. We cannot create an adapter.');\n\t\t\t}\n\n\t\t\t// Resubscribe events because adapter events must be first\n\t\t\tObject.keys(events).forEach((eventName) => {\n\t\t\t\tconst currentListeners = [...this.#uploader.getListeners(eventName).keys()];\n\t\t\t\tthis.#uploader.unsubscribeAll(eventName);\n\t\t\t\tthis.#uploader.subscribe(eventName, events[eventName]);\n\t\t\t\tcurrentListeners.forEach((listener) => {\n\t\t\t\t\tthis.#uploader.subscribe(eventName, listener);\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst options: UploaderOptions = Type.isPlainObject(uploaderOptions) ? { ...uploaderOptions } : {};\n\t\t\tconst userEvents = options.events;\n\t\t\toptions.events = events;\n\t\t\tthis.#uploader = new Uploader(options);\n\t\t\tthis.#uploader.subscribeFromOptions(userEvents);\n\t\t}\n\t}\n\n\tgetUploader(): Uploader\n\t{\n\t\treturn this.#uploader;\n\t}\n\n\tgetReactiveItems(): VueRefValue<Array>\n\t{\n\t\treturn this.#items;\n\t}\n\n\tgetUploaderError(): VueRefValue<Object>\n\t{\n\t\treturn this.#uploaderError;\n\t}\n\n\tgetItems(): UploaderFileInfo[]\n\t{\n\t\treturn this.#items.value;\n\t}\n\n\tgetItem(id): ?UploaderFileInfo\n\t{\n\t\treturn this.getItems().find((item: UploaderFileInfo): boolean => item.id === id) || null;\n\t}\n\n\tsetRemoveFilesFromServerWhenDestroy(value: boolean = true): void\n\t{\n\t\tthis.#removeFilesFromServer = value;\n\t}\n\n\tdestroy(): void\n\t{\n\t\tthis.#uploader.destroy({ removeFilesFromServer: this.#removeFilesFromServer });\n\t\tthis.#uploader = null;\n\t}\n\n\t#handleFileAdd(event: BaseEvent): void\n\t{\n\t\tconst file: UploaderFile = event.getData().file;\n\t\tconst item: UploaderFileInfo = file.getState();\n\n\t\tthis.emit('Item:onBeforeAdd', { item });\n\t\tthis.getItems().push(item);\n\t\tthis.emit('Item:onAdd', { item });\n\t}\n\n\t#handleFileRemove(event: BaseEvent): void\n\t{\n\t\tconst file: UploaderFile = event.getData().file;\n\n\t\tconst position: number = this.getItems().findIndex((fileInfo: UploaderFileInfo): boolean => {\n\t\t\treturn fileInfo.id === file.getId();\n\t\t});\n\n\t\tif (position >= 0)\n\t\t{\n\t\t\tconst result: UploaderFileInfo[] = this.getItems().splice(position, 1);\n\t\t\tthis.emit('Item:onRemove', { item: result[0] });\n\t\t}\n\t}\n\n\t#handleFileStateChange(event: BaseEvent): void\n\t{\n\t\tconst file: UploaderFile = event.getData().file;\n\t\tconst item: ?UploaderFileInfo = this.getItem(file.getId());\n\t\tif (item)\n\t\t{\n\t\t\tObject.assign(item, file.getState());\n\t\t}\n\t}\n\n\t#handleFileComplete(event: BaseEvent): void\n\t{\n\t\tconst file: UploaderFile = event.getData().file;\n\t\tconst item: UploaderFileInfo = file.getState();\n\n\t\tthis.emit('Item:onComplete', { item });\n\t}\n\n\t#handleFileError(event: BaseEvent): void\n\t{\n\t\tconst file: UploaderFile = event.getData().file;\n\t\tconst error: UploaderError = event.getData().error;\n\t\tconst item: UploaderFileInfo = file.getState();\n\n\t\tthis.emit('Item:onError', { item, error });\n\t}\n\n\t#handleError(event: BaseEvent): void\n\t{\n\t\tconst { error } = event.getData();\n\t\tthis.#uploaderError.value = error.toJSON();\n\n\t\tthis.emit('Uploader:onError', new BaseEvent({ data: event.getData() }));\n\t}\n\n\t#handleUploadStart(event: BaseEvent): void\n\t{\n\t\tthis.emit('Uploader:onUploadStart', new BaseEvent({ data: event.getData() }));\n\t}\n\n\t#handleUploadComplete(event: BaseEvent): void\n\t{\n\t\tthis.emit('Uploader:onUploadComplete', new BaseEvent({ data: event.getData() }));\n\t}\n}\n","import { Type } from 'main.core';\nimport { EventEmitter } from 'main.core.events';\nimport type { UploaderOptions, Uploader } from 'ui.uploader.core';\nimport { BitrixVue, VueCreateAppResult } from 'ui.vue3';\n\nimport VueUploaderAdapter from './vue-uploader-adapter';\n\n/**\n * @memberof BX.UI.Uploader\n */\nexport default class VueUploaderWidget extends EventEmitter\n{\n\t#vueAdapter: VueUploaderAdapter = null;\n\t#uploaderOptions: UploaderOptions = null;\n\t#widgetOptions = {};\n\t#vueApp = null;\n\t#rootComponent = null;\n\n\tconstructor(uploaderOptions: UploaderOptions, widgetOptions: {[key: string]: any} = {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.UI.Uploader.Vue.Widget');\n\n\t\tthis.#uploaderOptions = uploaderOptions;\n\t\tthis.#widgetOptions = widgetOptions;\n\t}\n\n\tdefineComponent(): ?Function\n\t{\n\t\treturn null;\n\t}\n\n\tgetAdapter(): VueUploaderAdapter\n\t{\n\t\tif (this.#vueAdapter === null)\n\t\t{\n\t\t\tthis.#vueAdapter = new VueUploaderAdapter(this.#uploaderOptions);\n\t\t}\n\n\t\treturn this.#vueAdapter;\n\t}\n\n\tgetUploader(): Uploader\n\t{\n\t\treturn this.getAdapter().getUploader();\n\t}\n\n\tgetVueApp(): VueCreateAppResult\n\t{\n\t\tif (this.#vueApp !== null)\n\t\t{\n\t\t\treturn this.#vueApp;\n\t\t}\n\n\t\tthis.#vueApp = BitrixVue.createApp(this.defineComponent(), {\n\t\t\tuploaderOptions: this.#uploaderOptions,\n\t\t\twidgetOptions: this.#widgetOptions,\n\t\t\tuploaderAdapter: this.getAdapter(),\n\t\t});\n\n\t\treturn this.#vueApp;\n\t}\n\n\tgetRootComponent()\n\t{\n\t\treturn this.#rootComponent;\n\t}\n\n\trenderTo(node: HTMLElement)\n\t{\n\t\tif (Type.isDomNode(node) && this.#rootComponent === null)\n\t\t{\n\t\t\tthis.#rootComponent = this.getVueApp().mount(node);\n\t\t}\n\n\t\treturn this.#rootComponent;\n\t}\n}\n","import { Type } from 'main.core';\nimport { EventEmitter } from 'main.core.events';\n\nimport VueUploaderAdapter from './vue-uploader-adapter';\n\nimport type { BitrixVueComponentProps } from 'ui.vue3';\n\n/**\n * @memberof BX.UI.Uploader\n */\nexport const VueUploaderComponent: BitrixVueComponentProps = {\n\tname: 'VueUploaderComponent',\n\tprops: {\n\t\tuploaderOptions: {\n\t\t\ttype: Object,\n\t\t},\n\t\twidgetOptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: {},\n\t\t},\n\t\tuploaderAdapter: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tdata: (): Object<string, any> => ({\n\t\titems: [],\n\t\tuploaderError: null,\n\t}),\n\tprovide(): Object<string, any> {\n\t\treturn {\n\t\t\tuploader: this.uploader,\n\t\t\tadapter: this.adapter,\n\t\t\twidgetOptions: this.widgetOptions,\n\t\t\temitter: this.emitter,\n\t\t};\n\t},\n\tbeforeCreate(): void\n\t{\n\t\tif (this.uploaderAdapter === null)\n\t\t{\n\t\t\tthis.hasOwnAdapter = true;\n\n\t\t\tconst uploaderOptions = {\n\t\t\t\t...(Type.isPlainObject(this.customUploaderOptions) ? this.customUploaderOptions : {}),\n\t\t\t\t...this.uploaderOptions,\n\t\t\t};\n\n\t\t\tthis.adapter = new VueUploaderAdapter(uploaderOptions);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.hasOwnAdapter = false;\n\t\t\tthis.adapter = this.uploaderAdapter;\n\t\t}\n\n\t\tthis.uploader = this.adapter.getUploader();\n\n\t\tthis.emitter = new EventEmitter(this, `BX.UI.Uploader.${this.$options.name}`);\n\t\tthis.emitter.subscribeFromOptions(this.widgetOptions.events);\n\t},\n\tcreated(): void\n\t{\n\t\tthis.items = this.adapter.getReactiveItems();\n\t\tthis.uploaderError = this.adapter.getUploaderError();\n\t},\n\tunmounted(): void\n\t{\n\t\tif (this.hasOwnAdapter)\n\t\t{\n\t\t\tthis.adapter.destroy();\n\t\t\tthis.adapter = null;\n\t\t\tthis.uploader = null;\n\t\t}\n\t},\n};\n"],"names":["VueUploaderAdapter","EventEmitter","constructor","uploaderOptions","setEventNamespace","ref","shallowRef","events","UploaderEvent","FILE_ADD_START","bind","FILE_REMOVE","FILE_STATE_CHANGE","FILE_COMPLETE","FILE_ERROR","ERROR","UPLOAD_START","UPLOAD_COMPLETE","Uploader","getFileCount","Error","Object","keys","forEach","eventName","currentListeners","getListeners","unsubscribeAll","subscribe","listener","options","Type","isPlainObject","userEvents","subscribeFromOptions","getUploader","getReactiveItems","getUploaderError","getItems","value","getItem","id","find","item","setRemoveFilesFromServerWhenDestroy","destroy","removeFilesFromServer","event","file","getData","getState","emit","push","position","findIndex","fileInfo","getId","result","splice","assign","error","toJSON","BaseEvent","data","VueUploaderWidget","widgetOptions","defineComponent","getAdapter","getVueApp","BitrixVue","createApp","uploaderAdapter","getRootComponent","renderTo","node","isDomNode","mount","VueUploaderComponent","name","props","type","default","items","uploaderError","provide","uploader","adapter","emitter","beforeCreate","hasOwnAdapter","customUploaderOptions","$options","created","unmounted"],"mappings":"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"}