{"version":3,"sources":["webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///./src/views/maestros/create-chat/create-chat.html","webpack:///./src/views/maestros/create-chat/create-chat.ts","webpack:///./src/views/maestros/create-chat/create-chat.ts?7beb","webpack:///./src/views/maestros/create-chat/create-chat.vue"],"names":["defaultMenuProps","offsetY","offsetOverflow","transition","name","props","allowOverflow","type","default","autoSelectFirst","filter","itemText","queryText","hideNoData","menuProps","noFilter","searchInput","undefined","data","lazySearch","this","computed","classes","selectedIndex","computedItems","selectedValues","selectedItems","map","item","hasDisplayedItems","hideSelected","filteredItems","some","length","currentRange","selectedItem","String","getText","internalSearch","allItems","get","set","isAnyValueAllowed","isDirty","searchIsDirty","isSearching","multiple","menuCanShow","$_menuProps","find","i","listData","items","watch","internalValue","isFocused","document","$refs","input","isMenuActive","val","oldVal","activateMenu","created","methods","onFilteredItemsChanged","onInternalSearchChanged","updateMenuDimensions","menu","changeSelectedIndex","keyCode","deleteCurrentItem","index","currentItem","getDisabled","newIndex","clearableCallback","genInput","attrs","autocomplete","domProps","value","genInputSlot","slot","genSelections","hasSlot","onClick","isAppendInner","e","onInput","target","onKeyDown","onSpaceDown","onTabDown","onUpDown","selectItem","setSelectedItems","setSearch","updateSelf","valueComparator","getValue","hasItem","indexOf","onCopy","currentItemText","event","render","_vm","_h","$createElement","_c","_self","ref","staticStyle","scopedSlots","_u","key","fn","invalid","validated","_v","_s","$t","on","$event","preventDefault","handleSubmit","onSubmit","errors","valid","model","callback","$$v","roomName","expression","users","selectedUsers","staticClass","cancelar","staticRenderFns","va","messages","required","max","selectedUserId","returnToHome","router","push","urlIdsRequest","Format","chat","catch","error","toast","TypeError","then","result","observer","validate","submitRoom","room","id","collaborativeAreaId","state","url","chatRoomCrud","newRoomId","post","JSON","stringify","userInRoomUrl","chatUserInRoomCrud","forEach","userId","userInRoom","roomId","components","ValidationProvider","ValidationObserver","VAutocomplete","VTextField","VSelect","component","VCard","VCardActions","VCardText","VContainer","VFlex","VLayout","VSpacer"],"mappings":"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","file":"js/chunk-403424b8.14cae99f.js","sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { keyCodes, getObjectValueByPath } from '../../util/helpers'\n\n// Types\nimport { PropType } from 'vue'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n allowOverflow: {\n type: Boolean,\n default: true,\n },\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n },\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n default: undefined,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => this.filter(item, String(this.internalSearch), String(this.getText(item))))\n },\n internalSearch: {\n get (): string | undefined {\n return this.lazySearch\n },\n set (val: any) {\n this.lazySearch = val\n\n this.$emit('update:search-input', val)\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = undefined\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n this.setMenuIndex(-1)\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n this.setMenuIndex(0)\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n if (this.readonly) return\n\n const index = this.selectedItems.length - 1\n\n if (this.selectedIndex === -1 && index !== 0) {\n this.selectedIndex = index\n return\n }\n\n const currentItem = this.selectedItems[this.selectedIndex]\n\n if (this.getDisabled(currentItem)) return\n\n const newIndex = this.selectedIndex === index\n ? this.selectedIndex - 1\n : this.selectedItems[this.selectedIndex + 1]\n ? this.selectedIndex\n : -1\n\n if (newIndex === -1) {\n this.setValue(this.multiple ? [] : undefined)\n } else {\n this.selectItem(currentItem)\n }\n\n this.selectedIndex = newIndex\n },\n clearableCallback () {\n this.internalSearch = undefined\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections () {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (this.isDisabled) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n VSelect.options.methods.onKeyDown.call(this, e)\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (!this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (!this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )) {\n this.setSearch()\n }\n },\n hasItem (item: any) {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData!.setData('text/plain', currentItemText)\n event.clipboardData!.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ValidationObserver',{ref:\"observer\",staticStyle:{\"display\":\"block\",\"width\":\"600px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nvar validated = ref.validated;\nreturn _c('v-card',{staticStyle:{\"border-radius\":\"20px\"}},[_c('v-card-text',[_c('h2',[_vm._v(_vm._s(_vm.$t('chat.nuevaSalaTitulo')))]),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit(_vm.onSubmit)}}},[_c('v-container',{staticStyle:{\"margin-left\":\"0px\",\"padding-left\":\"0px\"},attrs:{\"grid-list-md\":\"\"}},[_c('v-layout',{attrs:{\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"sm12\":\"\"}},[_c('ValidationProvider',{attrs:{\"name\":\"nombre colaborativa\",\"rules\":\"required|max:1000\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar valid = ref.valid;\nreturn _c('v-text-field',{attrs:{\"outlined\":\"\",\"error-messages\":errors,\"success\":valid,\"label\":\"Nombre Colaborativa\",\"color\":\"#CFDC35\",\"autofocus\":\"\",\"required\":\"\"},model:{value:(_vm.roomName),callback:function ($$v) {_vm.roomName=$$v},expression:\"roomName\"}})}}],null,true)})],1),_c('v-flex',{attrs:{\"xs12\":\"\",\"sm12\":\"\"}},[_c('ValidationProvider',{attrs:{\"name\":\"seleccionar usuarios\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar valid = ref.valid;\nreturn _c('v-select',{attrs:{\"error-messages\":errors,\"success\":valid,\"items\":_vm.users,\"item-value\":\"_id\",\"item-text\":\"username\",\"label\":\"Seleccionar Usuarios del Chat\",\"multiple\":\"\",\"chips\":\"\",\"hint\":\"Usuarios del chat\",\"persistent-hint\":\"\",\"required\":\"\"},model:{value:(_vm.selectedUsers),callback:function ($$v) {_vm.selectedUsers=$$v},expression:\"selectedUsers\"}})}}],null,true)})],1)],1)],1)],1)]),_c('v-card-actions',[_c('v-spacer'),_c('button',{staticClass:\"boton-secundario\",on:{\"click\":_vm.cancelar}},[_vm._v(\"Cancelar\")]),_c('button',{staticClass:\"boton-secundario\",staticStyle:{\"margin-left\":\"20px\"},attrs:{\"color\":\"#CFDC35\",\"disabled\":invalid || !validated},on:{\"click\":_vm.onSubmit}},[_vm._v(_vm._s(_vm.$t('chat.enviarMensajeBoton')))])],1)],1)}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { itiMessageService, ItiString, itiHttpService } from '@/iti-core-vue';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { ValidationProvider, ValidationObserver, extend } from 'vee-validate';\nimport { required, max, min } from 'vee-validate/dist/rules';\nimport { API } from '@/shared/api';\nimport { localize } from 'vee-validate';\nimport { VAutocomplete, VTextField, VSelect } from 'vuetify/lib'\nimport router from '@/router';\nimport { User } from '@/shared/dtos/user';\nimport '@/../public/assets/css/chat.css';\n\nextend('max', max);\nextend('min', min);\n\n\nlocalize({\n va: {\n messages: {\n required: 'Aquest camp no pot estar buit',\n max: 'Aquest camp deu de tindre menys de {length} caràcters'\n }\n }\n });\n\n@Component({\n components: {\n ValidationProvider,\n ValidationObserver,\n VAutocomplete,\n VTextField,\n VSelect\n },\n})\nexport default class ProductoFormulario extends Vue {\n \n\n public roomName: string = '';\n public selectedUserId: number = 0;\n public selectedUsers: number[] = [];\n\n public users: User[] = [];\n $refs!: {\n observer: any\n }\n public cancelar(){\n this.returnToHome();\n }\n public returnToHome(){\n router.push({ name: 'Home'});\n }\n public addUserToRoom(){\n\n }\n public created(){\n const urlIdsRequest = ItiString.Format('{0}',API.chat+'/users');\n itiHttpService.get(urlIdsRequest).catch((error) => { itiMessageService.toast(error, itiMessageService.TypeError); })\n .then((value) =>{\n this.users = value;\n });\n }\n\n public async onSubmit() {\n const result = this.$refs.observer.validate();\n if(result){\n await this.submitRoom();\n }\n }\n\n public async submitRoom(){\n //First we create the room\n var room: any = {\n id: 0,\n roomName: this.roomName,\n collaborativeAreaId: 0,\n state: 0\n }\n const url = ItiString.Format('{0}', API.chatRoomCrud);\n\n var newRoomId = 0;\n await itiHttpService.post(url, JSON.stringify(room))\n .catch((error) => { itiMessageService.toast(error, itiMessageService.TypeError); })\n .then((value) =>{\n newRoomId = value.id;\n });\n\n //Then we add the users\n const userInRoomUrl = ItiString.Format('{0}', API.chatUserInRoomCrud)\n this.selectedUsers.forEach(async userId => {\n var userInRoom: any = {\n id: 0,\n roomId: newRoomId,\n userId: userId\n }\n await itiHttpService.post(userInRoomUrl, JSON.stringify(userInRoom))\n .catch((error) => { itiMessageService.toast(error, itiMessageService.TypeError); })\n .then((value) => {})\n })\n\n itiMessageService.toast(\"Sala creada correctamente\");\n this.returnToHome();\n \n /*const url = ItiString.Format('{0}/{1}', API.notifications, this.idDestinoAutocomplete);\n await itiHttpService.post(url, JSON.stringify(this.texto))\n .catch((error) => { itiMessageService.toast(error, itiMessageService.TypeError); })\n .then((value) =>{\n itiMessageService.toast(\"Mensaje mandado correctamente\");\n this.returnToHome();\n } );\n */\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/eslint-loader/index.js??ref--13-0!./create-chat.ts?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/eslint-loader/index.js??ref--13-0!./create-chat.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./create-chat.html?vue&type=template&id=569f9c86&\"\nimport script from \"./create-chat.ts?vue&type=script&lang=ts&\"\nexport * from \"./create-chat.ts?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCard,VCardActions,VCardText,VContainer,VFlex,VLayout,VSelect,VSpacer,VTextField})\n"],"sourceRoot":""}