{"version":3,"sources":["webpack:///./src/pages/manage/projects/messanger/id.vue","webpack:///./src/pages/manage/projects/messanger/id.vue?bafa","webpack:///./src/pages/manage/projects/messanger/id.vue?3a38","webpack:///./src/pages/manage/projects/messanger/id.vue?c276","webpack:///./src/pages/manage/projects/messanger/id.vue?7a1f"],"names":["_setup","_vm","attrs","name","uploaderDialogVisible","model","value","expression","staticClass","_s","fileType","staticStyle","message","transcribtion","response","_c","_l","alternative","on","$event","word","_e","_v","staticRenderFns","render","Home","Vue","constructor","dataSource","ObjectDataSource","id","this","$route","params","config","className","appConfigModule","event","url","data","axios","post","headers","Accept","onUploadProgress","e","onProgress","file","messages","sortDataSource","getDateString","date","Date","getDate","slice","getMonth","getFullYear","getHours","getMinutes","sort","a","b","priority","get","chunkIndex","alternativeIndex","wordIndex","chunks","alternatives","words","targetInnerHtml","messageDataSource","updateField","fieldName","fieldValue","text","__decorate","Component","components","FileUploaderDialog","component"],"mappings":"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","file":"js/chunk-295bb081.8f907571.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('h1',[_c('inline-editor-string',{attrs:{\"data-source\":_vm.dataSource,\"field\":{ name: 'caption' }}})],1),_c('v-btn',{on:{\"click\":function($event){_vm.uploaderDialogVisible = true}}},[_vm._v(\" Загрузить \")]),_c('file-uploader-dialog',{on:{\"upload\":_vm.uploadFile},model:{value:(_vm.uploaderDialogVisible),callback:function ($$v) {_vm.uploaderDialogVisible=$$v},expression:\"uploaderDialogVisible\"}}),(_vm.dataSource.model)?_c('ul',{staticClass:\"messages mt-5\",attrs:{\"border\":\"1\"}},_vm._l((_vm.dataSource.model.messages),function(message){return _c('li',{key:message.id,staticClass:\"message-body\"},[_c('span',[_vm._v(\" \"+_vm._s(message.priority)+\" \")]),_c('span',{staticClass:\"message-date\"},[_vm._v(_vm._s(_vm.getDateString(message.messageDate)))]),_c('span',{staticClass:\"message-author\"},[_vm._v(_vm._s(message.author)+\":\")]),_c('span',{staticClass:\"message-text\"},[(message.fileType == 0)?[_vm._v(\" \"+_vm._s(message.messageText)+\" \")]:[(message.fileType == 1)?[_c('img',{staticStyle:{\"max-width\":\"480px\"},attrs:{\"src\":`${_vm.config.baseUrl}${_vm.config.apiPrefix}manage/messangerproject/${_vm.dataSource.id}/messages/${message.id}/image`}})]:[(message.fileType == 2)?[_c('audio',{attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":`${_vm.config.baseUrl}${_vm.config.apiPrefix}manage/messangerproject/${_vm.dataSource.id}/messages/${message.id}/audiostream`,\"type\":\"audio/ogg\"}}),_vm._v(\" Your browser does not support the audio element. \")]),(message.transcribtion && message.transcribtion.response)?_vm._l((message.transcribtion.response\n .chunks),function(item,index){return _c('div',{key:index},_vm._l((item.alternatives),function(alternative,ai){return _c('span',{key:'a' + ai},_vm._l((alternative.words),function(word,wi){return _c('span',{key:wi,staticClass:\"word\",attrs:{\"contenteditable\":\"\"},on:{\"input\":function($event){return _vm.onInputWord($event, message, index, ai, wi)}}},[_vm._v(\" \"+_vm._s(word.word)+\" \")])}),0)}),0)}):_vm._e()]:[_vm._v(\" \"+_vm._s(message.fileName)+\" \")]]]],2)])}),0):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Vue, Component } from \"vue-property-decorator\";\nimport { ObjectDataSource } from \"@/data/Object/ObjecDatatSource\";\nimport FileUploaderDialog from \"@/components/helpers/file-uploader-dialog.vue\";\nimport appConfigModule from \"@/store/plugins/appConfig\";\n\nimport axios from \"axios\";\n@Component({\n components: { FileUploaderDialog },\n})\nexport default class Home extends Vue {\n dataSource: ObjectDataSource = new ObjectDataSource({\n id: +this.$route.params.id,\n config: {},\n className: \"MessangerProject\",\n });\n config: any = appConfigModule;\n\n uploaderDialogVisible: boolean = false;\n\n async uploadFile(event: any) {\n const url = `manage/messangerproject/${this.$route.params.id}/messages/upload/`;\n\n try {\n const { data } = await axios.post(url, event.data, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n Accept: \"*/*\",\n },\n onUploadProgress(e) {\n event.onProgress(e, event.file);\n },\n });\n this.dataSource.model.messages = data.messages;\n this.sortDataSource();\n } catch (e) {\n throw e;\n }\n }\n getDateString(value) {\n let date = new Date(value);\n\n return `${(\"0\" + date.getDate()).slice(-2)}.${(\n \"0\" +\n (date.getMonth() + 1)\n ).slice(-2)}.${date.getFullYear()} ${(\"0\" + date.getHours()).slice(-2)}:${(\n \"0\" + date.getMinutes()\n ).slice(-2)}`;\n\n return date;\n }\n sortDataSource() {\n this.dataSource.model.messages.sort(function (a, b) {\n if (a.priority > b.priority) {\n return 1;\n }\n if (a.priority < b.priority) {\n return -1;\n }\n // a должно быть равным b\n return 0;\n });\n }\n async created() {\n await this.dataSource.get();\n this.sortDataSource();\n }\n async onInputWord(e, message, chunkIndex, alternativeIndex, wordIndex) {\n message.transcribtion.response.chunks[chunkIndex].alternatives[\n alternativeIndex\n ].words[wordIndex].word = e.targetInnerHtml;\n let messageDataSource: ObjectDataSource = new ObjectDataSource({\n id: message.id,\n model: message,\n config: {},\n className: \"MessangerMessage\",\n });\n\n messageDataSource.updateField({\n fieldName: \"transcribtion\",\n fieldValue: message.transcribtion,\n });\n }\n async onInputText(e, message, chunkIndex, alternativeIndex) {\n message.transcribtion.response.chunks[chunkIndex].alternatives[\n alternativeIndex\n ].text = e.targetInnerHtml;\n let messageDataSource: ObjectDataSource = new ObjectDataSource({\n id: message.id,\n model: message,\n config: {},\n className: \"MessangerMessage\",\n });\n\n messageDataSource.updateField({\n fieldName: \"transcribtion\",\n fieldValue: message.transcribtion,\n });\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./id.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./id.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./id.vue?vue&type=template&id=2a229d8b&scoped=true\"\nimport script from \"./id.vue?vue&type=script&lang=ts\"\nexport * from \"./id.vue?vue&type=script&lang=ts\"\nimport style0 from \"./id.vue?vue&type=style&index=0&id=2a229d8b&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a229d8b\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./id.vue?vue&type=style&index=0&id=2a229d8b&prod&scoped=true&lang=scss\""],"sourceRoot":""}