{"version":3,"sources":["webpack:///./src/models/ElementTypeModel.ts","webpack:///../../../src/components/VDataTable/VSimpleTable.ts","webpack:///./src/models/VariableClassModel.ts","webpack:///./src/services/SupervisorTypeService.ts","webpack:///../../../src/components/VForm/VForm.ts","webpack:///./src/models/UserModel.ts","webpack:///./src/models/VersionModel.ts","webpack:///./src/views/Permisos.vue?6609","webpack:///./src/models/PermisoModel.ts","webpack:///./src/services/PermisoService.ts","webpack:///src/views/Permisos.vue","webpack:///./src/views/Permisos.vue?1fee","webpack:///./src/views/Permisos.vue","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///../../../src/components/VData/VData.ts","webpack:///../../../src/components/VDataIterator/VDataFooter.ts","webpack:///../../../src/components/VDataIterator/VDataIterator.ts","webpack:///../../../../src/components/VDataTable/mixins/header.ts","webpack:///../../../src/components/VDataTable/VDataTableHeaderMobile.ts","webpack:///../../../src/components/VDataTable/VDataTableHeaderDesktop.ts","webpack:///../../src/util/dedupeModelListeners.ts","webpack:///../../src/util/rebuildFunctionalSlots.ts","webpack:///../../../src/components/VDataTable/VDataTableHeader.ts","webpack:///../../../src/components/VDataTable/Row.ts","webpack:///../../../src/components/VDataTable/RowGroup.ts","webpack:///../../../src/components/VDataTable/MobileRow.ts","webpack:///../../../src/components/VDataTable/VDataTable.ts","webpack:///./src/services/UserService.ts","webpack:///./src/services/VariableClassService.ts","webpack:///./src/services/ElementTypeService.ts","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///../../../src/mixins/selectable/index.ts","webpack:///../../../src/components/VCheckbox/VCheckbox.ts","webpack:///../../../src/components/VBtn/index.ts","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///./src/models/SupervisorTypeModel.ts","webpack:///../../../src/mixins/mobile/index.ts","webpack:///./src/services/VersionService.ts"],"names":["ElementTypeModel","this","idNTipoElemento","fkNVersion","fldTNombre","fkNIcono","fldNOrden","fldTStyle","name","props","dense","fixedHeader","height","Number","String","computed","classes","$slots","themeClasses","methods","genWrapper","wrapper","$createElement","staticClass","style","render","h","class","VariableClassModel","idNTipoVariable","fkNTipoElemento","fkNTipoVariableOMRON","fkNAgrupacionVariable","fkNTipoVariableWEB","fldTDireccionDM","fldBVisibleEnPortada","fldBLectura","fldBEscritura","fldBGraficable","fldBComboTipoVariable","fldTDireccionVariable","SupervisorTypeService","filter","post","then","res","data","success","obj","map","itm","ret","fkNClaseTipoSupervisor","idNTipoSupervisor","result","catch","error","Message","response","responseErrorMessage","delete","put","responseType","provide","form","inheritAttrs","disabled","lazyValidation","readonly","value","Boolean","inputs","watchers","errorBag","watch","handler","errors","Object","deep","immediate","watchInput","watcher","input","val","_uid","valid","shouldValidate","validate","reset","resetErrorBag","setTimeout","resetValidation","register","unregister","found","find","i","unwatch","attrs","novalidate","attrs$","on","submit","e","UserModel","idNUsuario","fkNTipoUsuario","fldTLogin","fldTPassword","fldTEmail","fldBActivo","idNEmpresa","VersionModel","idNVersionSupervisor","fkNTipoSupervisor","fldTDescripcion","_vm","_h","_c","_self","tiposSupervisor","$event","type","indexOf","_k","keyCode","key","loadData","model","callback","$$v","$set","expression","versionesSupervisor","tiposElementos","variablesClasses","fldBVer","chkfldVerFueTrue","fldBEditar","chkfldEditarFueTrue","clearFilter","_v","userTypes","staticStyle","editForm","ref","permiso","puedeCambiar","chkBotonCancelar","saveData","headers","permisosList","scopedSlots","_u","fn","item","editItem","staticRenderFns","idNPermiso","fkNTipoVariable","tipoVariable","tipoSupervisor","version","tipoElemento","tipoUsuario","component","VAutocomplete","VBtn","VCard","VCardActions","VCheckbox","VCol","VContainer","VDataTable","VDialog","VForm","VIcon","VRow","VSpacer","VTextField","VToolbar","VToolbarTitle","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","undefined","call","RegExp","done","rx","S","previousLastIndex","lastIndex","index","items","default","options","sortBy","sortDesc","customSort","mustSort","multiSort","page","itemsPerPage","groupBy","groupDesc","customGroup","locale","disableSort","disablePagination","disableFiltering","search","customFilter","serverItemsLength","internalOptions","sortDiff","groupDiff","itemsLength","filteredItems","pageCount","Math","pageStart","pageStop","isGrouped","pagination","computedItems","sortItems","paginateItems","groupedItems","groupItems","scopedProps","sort","sortArray","group","updateOptions","originalItemsLength","length","computedOptions","$emit","Array","toggle","by","oldBy","desc","oldDesc","byIndex","k","s","$scopedSlots","required","itemsPerPageOptions","prevIcon","nextIcon","firstIcon","lastIcon","itemsPerPageText","itemsPerPageAllText","showFirstLastPage","showCurrentPage","disableItemsPerPage","pageText","disableNextPageIcon","computedDataItemsPerPageOptions","option","onFirstPage","onPreviousPage","onNextPage","onLastPage","onChangeItemsPerPage","genDataItemsPerPageOption","text","$vuetify","lang","t","genItemsPerPageSelect","computedIPPO","ippo","VSelect","hideDetails","auto","minWidth","genPaginationInfo","children","genIcon","icon","click","label","genIcons","before","after","rtl","mixins","VData","itemKey","singleSelect","expanded","mobileBreakpoint","singleExpand","loading","noResultsText","noDataText","loadingText","hideDefaultFooter","footerProps","selectableKey","selection","expansion","internalCurrentItems","everyItem","selectableItems","every","someItems","some","sanitizedFooterProps","keys","created","breakingProps","original","replacement","removedProps","prop","toggleSelectAll","isSelectable","isSelected","select","emit","old","isExpanded","expand","createItemProps","v","isMobile","genEmptyWrapper","genEmpty","noData","filteredItemsLength","noResults","genItems","empty","genFooter","genDefaultScopedSlot","outerProps","directives","ripple","sortIcon","showGroupBy","genSelectAll","indeterminate","VSimpleCheckbox","genSortIcon","size","sortByText","genSortChip","sortIndex","findIndex","beingSorted","isDesc","sortable","active","asc","VChip","genSortSelect","multiple","menuProps","closeOnContentClick","change","header","width","sortHeaders","th","tr","genGroupByToggle","getAria","$t","ariaSort","ariaLabel","genHeader","role","scope","slots","slot","functional","mobile","dedupeModelListeners","mergeData","VDataTableHeaderMobile","VDataTableHeaderDesktop","computedSlots","columns","slotName","scopedSlot","regularSlot","textAlign","divider","headerClass","contentClass","summaryClass","hideDefaultHeader","mobileRowChildren","filterFn","searchTableItems","matchesColumnFilters","headersWithCustomFilters","matchesSearchTerm","headersWithoutCustomFilters","showSelect","showExpand","caption","headerProps","calculateWidths","headersLength","expandIcon","itemClass","loaderHeight","internalGroupBy","openCache","widths","computedHeaders","defaultHeader","colspanAttrs","colspan","columnSorters","reduce","acc","sanitizedHeaderProps","computedItemsPerPage","firstOption","mounted","window","beforeDestroy","calcWidths","$el","querySelectorAll","customFilterWithColumns","customSortWithHeaders","VDataIterator","genCaption","genColgroup","genLoading","genHeaders","genGroupedRows","genRows","genDefaultGroupedRow","isOpen","toggleFn","removeFn","remove","small","column","RowGroup","genScopedRows","genDefaultRows","rows","genDefaultExpandedRow","headerRow","genDefaultSimpleRow","expandedRow","MobileRow","contextmenu","event","dblclick","genBody","body","genFooters","simpleProps","VSimpleTable","proxySlot","UserService","get","id","VariableClassService","ElementTypeService","genRipple","center","inputValue","falseValue","trueValue","hasColor","lazyValue","computedColor","isDark","isMultiple","isActive","valueComparator","isDirty","rippleState","genLabel","VInput","prevent","genInput","domProps","checked","blur","focus","keydown","onBlur","onClick","onChange","onFocus","onKeydown","indeterminateIcon","offIcon","onIcon","inputIndeterminate","computedIcon","validationState","isDisabled","hasError","genCheckbox","setTextColor","dark","light","toString","genDefaultSlot","defaultMenuProps","offsetY","offsetOverflow","transition","allowOverflow","autoSelectFirst","itemText","queryText","hideNoData","noFilter","searchInput","lazySearch","selectedIndex","selectedValues","selectedItems","hasDisplayedItems","hideSelected","currentRange","selectedItem","getText","internalSearch","allItems","set","isAnyValueAllowed","searchIsDirty","isSearching","menuCanShow","$_menuProps","listData","internalValue","isFocused","document","$refs","isMenuActive","oldVal","activateMenu","destroyed","onFilteredItemsChanged","onInternalSearchChanged","updateMenuDimensions","menu","changeSelectedIndex","deleteCurrentItem","curIndex","curItem","getDisabled","nextIndex","nextItem","clearableCallback","autocomplete","genInputSlot","genSelections","hasSlot","isAppendInner","onInput","target","onKeyDown","onSpaceDown","onTabDown","onUpDown","selectItem","setSelectedItems","setSearch","updateSelf","getValue","hasItem","onCopy","currentItem","currentItemText","SupervisorTypeModel","breakpoint","validator","isNaN","includes","mobileWidth","parseInt","isNumber","$attrs","hasOwnProperty","VersionService"],"mappings":"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","file":"js/chunk-15d967ca.59fb689e.js","sourcesContent":["export default class ElementTypeModel {\r\n idNTipoElemento: number | null;\r\n fkNVersion: number | null; \r\n fldTNombre: string | null;\r\n fkNIcono: number | null;\r\n fldNOrden: number | null;\r\n fldTStyle: string | null;\r\n\r\n constructor() {\r\n this.idNTipoElemento = null;\r\n this.fkNVersion = null;\r\n this.fldTNombre = null;\r\n this.fkNIcono = null;\r\n this.fldNOrden = null;\r\n this.fldTStyle = null;\r\n }\r\n}","import './VSimpleTable.sass'\n\nimport { convertToUnit } from '../../util/helpers'\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nexport default mixins(Themeable).extend({\n name: 'v-simple-table',\n\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String],\n },\n\n computed: {\n classes (): Record {\n return {\n 'v-data-table--dense': this.dense,\n 'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'v-data-table--fixed-header': this.fixedHeader,\n 'v-data-table--has-top': !!this.$slots.top,\n 'v-data-table--has-bottom': !!this.$slots.bottom,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genWrapper () {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'v-data-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.$createElement('table', this.$slots.default),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-data-table',\n class: this.classes,\n }, [\n this.$slots.top,\n this.genWrapper(),\n this.$slots.bottom,\n ])\n },\n})\n","export default class VariableClassModel {\r\n\r\n idNTipoVariable : number | null;\r\n fkNTipoElemento: number | null;\r\n fkNTipoVariableOMRON: number | null;\r\n fkNAgrupacionVariable: number | null;\r\n fkNTipoVariableWEB: number | null;\r\n fldTNombre: string | null;\r\n fldTDireccionDM: string | null;\r\n fldBVisibleEnPortada: boolean | null;\r\n fkNIcono: number | null;\r\n fldNOrden: number | null;\r\n fldTStyle: string | null;\r\n fldBLectura: boolean | null;\r\n fldBEscritura: boolean | null;\r\n fldBGraficable: boolean | null;\r\n fldBComboTipoVariable: boolean | null;\r\n fldTDireccionVariable: string | null;\r\n\r\n constructor() {\r\n this.idNTipoVariable = null;\r\n this.fkNTipoElemento = null;\r\n this.fkNTipoVariableOMRON = null;\r\n this.fkNAgrupacionVariable = null;\r\n this.fkNTipoVariableWEB = null;\r\n this.fldTNombre = null;\r\n this.fldTDireccionDM = null;\r\n this.fldBVisibleEnPortada = null;\r\n this.fkNIcono = null;\r\n this.fldNOrden = null;\r\n this.fldTStyle = null;\r\n this.fldBLectura = null;\r\n this.fldBEscritura = null;\r\n this.fldBGraficable = null;\r\n this.fldBComboTipoVariable = null;\r\n this.fldTDireccionVariable = null;\r\n }\r\n}","import SupervisorTypeModel from '../models/SupervisorTypeModel';\r\nimport IService from './IService';\r\nimport Axios from 'axios';\r\n\r\nexport default class SupervisorTypeService implements IService{\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n async list(filter: any) {\r\n const data = [];\r\n var res = await Axios.post('/api/supervisortypes/list', filter)\r\n .then(res => {\r\n if (res.data.success) {\r\n let obj = res.data.data.map((itm: any) => {\r\n let ret = new SupervisorTypeModel();\r\n ret.fkNClaseTipoSupervisor = itm.fkNClaseTipoSupervisor;\r\n ret.fkNIcono = itm.fkNIcono;\r\n ret.fldTNombre = itm.fldTNombre;\r\n ret.idNTipoSupervisor = itm.idNTipoSupervisor;\r\n return ret;\r\n });\r\n let result = {\r\n success: true,\r\n data: obj\r\n }\r\n return result;\r\n }\r\n return null;\r\n }).catch(error => {\r\n let result = {\r\n success: false,\r\n Message: error.response.data.responseErrorMessage\r\n }\r\n return result;\r\n });\r\n return res;\r\n } \r\n\r\n async insert(data: SupervisorTypeModel) {\r\n var res = await Axios.post('/api/supervisortypes/insert', data);\r\n return res.data;\r\n }\r\n\r\n async delete(data: SupervisorTypeModel) {\r\n var res = await Axios.delete('/api/supervisortypes/delete?id=' + data.idNTipoSupervisor);\r\n return res.data;\r\n }\r\n\r\n async update(data: SupervisorTypeModel) {\r\n var res = await Axios.put('/api/supervisortypes/update', data);\r\n return res.data;\r\n }\r\n\r\n async export(filter: any) {\r\n var res = await Axios.post('/api/supervisortypes/export', filter, {\r\n responseType: 'blob'\r\n });\r\n return res.data;\r\n }\r\n\r\n\r\n}","// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\n\ntype ErrorBag = Record\ntype VInputInstance = InstanceType\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.$set(this.errorBag, input._uid, val)\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input._uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i._uid === input._uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i._uid === found._uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n this.$delete(this.errorBag, found._uid)\n },\n },\n\n render (h): VNode {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$,\n },\n on: {\n submit: (e: Event) => this.$emit('submit', e),\n },\n }, this.$slots.default)\n },\n})\n","export default class UserModel {\r\n idNUsuario: number | null;\r\n fkNTipoUsuario: number | null;\r\n fldTNombre: string | null;\r\n fldTLogin: string | null;\r\n fldTPassword: string | null;\r\n fldTEmail: string | null;\r\n fldBActivo: boolean | null;\r\n\r\n // Para manejar la relacion 1 a 1 Con RelacionEmpresaUsuario\r\n idNEmpresa: number | null;\r\n\r\n constructor() {\r\n this.idNUsuario = null;\r\n this.fkNTipoUsuario = null;\r\n this.fldTNombre = null;\r\n this.fldTLogin = null;\r\n this.fldTPassword = null;\r\n this.fldTEmail = null;\r\n this.fldBActivo = false;\r\n this.idNEmpresa = null;\r\n\r\n }\r\n}","export default class VersionModel {\r\n idNVersionSupervisor: number | null;\r\n fkNTipoSupervisor: number | null;\r\n fldTNombre: string | null;\r\n fldTDescripcion: string | null;\r\n\r\n constructor() {\r\n this.idNVersionSupervisor = null;\r\n this.fkNTipoSupervisor = null;\r\n this.fldTNombre = null;\r\n this.fldTDescripcion = null;\r\n }\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main\"},[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-card',{staticClass:\"d-flex ml-2 pt-2 pb-0 flex-row\",attrs:{\"outlined\":\"\"}},[_c('v-form',{staticClass:\"slim\"},[_c('v-container',{staticClass:\"d-flex ml-2 pt-2 flex-row flex-wrap\"},[_c('v-autocomplete',{staticClass:\"pr-2 mx-320\",attrs:{\"items\":_vm.tiposSupervisor,\"item-text\":\"fldTNombre\",\"item-value\":\"idNTipoSupervisor\",\"label\":\"Tipo Supervisor\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.loadData($event)}},model:{value:(_vm.filter.idNTipoSupervisor),callback:function ($$v) {_vm.$set(_vm.filter, \"idNTipoSupervisor\", $$v)},expression:\"filter.idNTipoSupervisor\"}}),_c('v-autocomplete',{staticClass:\"pr-2 mx-320\",attrs:{\"items\":_vm.versionesSupervisor,\"item-text\":\"fldTNombre\",\"item-value\":\"idNVersionSupervisor\",\"label\":\"Version Supervisor\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.loadData($event)}},model:{value:(_vm.filter.idNVersionSupervisor),callback:function ($$v) {_vm.$set(_vm.filter, \"idNVersionSupervisor\", $$v)},expression:\"filter.idNVersionSupervisor\"}}),_c('v-autocomplete',{staticClass:\"pr-2 mx-320\",attrs:{\"items\":_vm.tiposElementos,\"item-text\":\"fldTNombre\",\"item-value\":\"idNTipoElemento\",\"label\":\"Tipo Elmento\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.loadData($event)}},model:{value:(_vm.filter.idNTipoElemento),callback:function ($$v) {_vm.$set(_vm.filter, \"idNTipoElemento\", $$v)},expression:\"filter.idNTipoElemento\"}}),_c('v-autocomplete',{staticClass:\"pr-2 mx-320\",attrs:{\"items\":_vm.variablesClasses,\"item-text\":\"fldTNombre\",\"item-value\":\"idNTipoVariable\",\"label\":\"Tipo Variable\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.loadData($event)}},model:{value:(_vm.filter.fkNTipoVariable),callback:function ($$v) {_vm.$set(_vm.filter, \"fkNTipoVariable\", $$v)},expression:\"filter.fkNTipoVariable\"}}),_c('v-row',[_c('v-checkbox',{staticClass:\"ml-4 mt-1\",attrs:{\"label\":\"Ver\",\"outlined\":\"\",\"dense\":\"\",\"indeterminate\":_vm.filter.fldBVer == null},on:{\"change\":_vm.chkfldVerFueTrue},model:{value:(_vm.filter.fldBVer),callback:function ($$v) {_vm.$set(_vm.filter, \"fldBVer\", $$v)},expression:\"filter.fldBVer\"}}),_c('v-checkbox',{staticClass:\"ml-4 mt-1\",attrs:{\"label\":\"Editar\",\"outlined\":\"\",\"dense\":\"\",\"indeterminate\":_vm.filter.fldBEditar == null},on:{\"change\":_vm.chkfldEditarFueTrue},model:{value:(_vm.filter.fldBEditar),callback:function ($$v) {_vm.$set(_vm.filter, \"fldBEditar\", $$v)},expression:\"filter.fldBEditar\"}})],1),_c('v-card-actions',{staticClass:\"btns-float\"},[_c('v-btn',{attrs:{\"color\":\"grey\",\"small\":\"\"},on:{\"click\":_vm.clearFilter}},[_vm._v(\"Limpiar\")]),_c('v-btn',{attrs:{\"color\":\"accent\",\"dark\":\"\",\"small\":\"\"},on:{\"click\":_vm.loadData}},[_vm._v(\"Filtrar\")])],1)],1)],1)],1)],1),_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-card',{staticClass:\"d-flex ml-2 pt-2 pb-0 flex-row\",attrs:{\"outlined\":\"\"}},[_c('v-form',{staticClass:\"slim\"},[_c('v-container',{staticClass:\"d-flex ml-2 pt-2 flex-row flex-wrap\"},[_c('v-autocomplete',{staticClass:\"pr-2 mx-320\",attrs:{\"items\":_vm.userTypes,\"item-text\":\"fldTNombre\",\"item-value\":\"idNTipoUsuario\",\"label\":\"Tipo de Usuario\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"change\":_vm.loadData},model:{value:(_vm.filter.fkNTipoUsuario),callback:function ($$v) {_vm.$set(_vm.filter, \"fkNTipoUsuario\", $$v)},expression:\"filter.fkNTipoUsuario\"}}),_c('span',{staticStyle:{\"color\":\"red\",\"font-size\":\"14px\",\"margin-top\":\"5px\"}},[_vm._v(\"(* Seleccione el tipo de usuario)\")])],1)],1)],1)],1),[_c('v-row',[_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"500\"},model:{value:(_vm.editForm),callback:function ($$v) {_vm.editForm=$$v},expression:\"editForm\"}},[_c('v-card',{staticClass:\"mx-auto\"},[_c('v-toolbar',{attrs:{\"color\":\"blue\",\"dark\":\"\"}},[_c('v-toolbar-title',[_vm._v(\"Editar Permiso\")]),_c('v-spacer')],1),_c('v-form',{ref:\"formularioEdicion\",staticClass:\"slim\"},[_c('v-container',{staticClass:\"d-flex pt-6 flex-row flex-wrap \"},[_c('v-text-field',{staticClass:\"pr-3 mx-320\",attrs:{\"label\":\"Id Tipo Variable\",\"disabled\":true,\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.permiso.fkNTipoVariable),callback:function ($$v) {_vm.$set(_vm.permiso, \"fkNTipoVariable\", $$v)},expression:\"permiso.fkNTipoVariable\"}}),_c('v-text-field',{staticClass:\"pr-3 mx-320\",attrs:{\"label\":\"Nombre\",\"disabled\":true,\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.permiso.fldTNombre),callback:function ($$v) {_vm.$set(_vm.permiso, \"fldTNombre\", $$v)},expression:\"permiso.fldTNombre\"}}),_c('br'),_c('v-row',{staticClass:\"ml-5 mt-3 mb-5\"},[_c('v-checkbox',{staticClass:\"pr-3 mt-n2\",attrs:{\"label\":\"Ver\",\"disabled\":_vm.puedeCambiar == false,\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.permiso.fldBVer),callback:function ($$v) {_vm.$set(_vm.permiso, \"fldBVer\", $$v)},expression:\"permiso.fldBVer\"}}),_c('v-checkbox',{staticClass:\"pr-3 mt-n2\",attrs:{\"label\":\"Editar\",\"disabled\":_vm.puedeCambiar == false,\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.permiso.fldBEditar),callback:function ($$v) {_vm.$set(_vm.permiso, \"fldBEditar\", $$v)},expression:\"permiso.fldBEditar\"}})],1),_c('v-card-actions',{staticClass:\"justify-space-between w-100 pb-6\"},[_c('div',{staticClass:\"justify-right\"},[_c('v-btn',{staticClass:\"ma-2\",attrs:{\"small\":\"\",\"color\":\"blue lighten-5\"},on:{\"click\":_vm.chkBotonCancelar}},[_vm._v(\" Cancelar \")]),(_vm.puedeCambiar == false)?_c('v-btn',{staticClass:\"ma-2\",attrs:{\"dark\":\"\",\"small\":\"\",\"color\":\"success\"},on:{\"click\":function($event){_vm.puedeCambiar = true}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-pencil\")]),_vm._v(\" Editar \")],1):_c('v-btn',{staticClass:\"ma-2\",attrs:{\"dark\":\"\",\"small\":\"\",\"color\":\"success\"},on:{\"click\":_vm.saveData}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-pencil\")]),_vm._v(\" Guardar \")],1)],1)])],1)],1)],1)],1)],1)],_c('v-container',{staticClass:\"pt-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"12\"}},[_c('v-card',[[_c('v-data-table',{staticClass:\"elevation-1 gt slim\",attrs:{\"dense\":\"\",\"headers\":_vm.headers,\"item-key\":\"idNPermiso\",\"items\":_vm.permisosList,\"footer-props\":{'items-per-page-options': [5, 10, 20, 50]}},scopedSlots:_vm._u([{key:\"item.action\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-icon',{staticClass:\"ml-3\",attrs:{\"color\":\"green\"},on:{\"click\":function($event){return _vm.editItem(item)}}},[_vm._v(\" mdi-pencil \")])]}},{key:\"item.fldBVer\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.fldBVer)?_c('v-icon',[_vm._v(\"mdi-check\")]):_c('v-icon',[_vm._v(\"mdi-window-close\")])]}},{key:\"item.fldBEditar\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.fldBEditar)?_c('v-icon',[_vm._v(\"mdi-check\")]):_c('v-icon',[_vm._v(\"mdi-window-close\")])]}}])})]],2)],1)],1)],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default class PermisoModel {\r\n idNPermiso: number | null;\r\n fkNTipoUsuario: number | null;\r\n fkNTipoVariable: number | null;\r\n fldBVer: boolean | null;\r\n fldBEditar: boolean | null;\r\n tipoVariable: string | null;\r\n tipoSupervisor: string | null;\r\n version: string | null;\r\n tipoElemento: string | null;\r\n tipoUsuario: string | null;\r\n idNTipoSupervisor: number | null;\r\n idNVersionSupervisor: number | null;\r\n idNTipoElemento: number | null;\r\n\r\n constructor() {\r\n this.idNPermiso = null;\r\n this.fkNTipoUsuario = null;\r\n this.fkNTipoVariable = null;\r\n this.fldBVer = null;\r\n this.fldBEditar = null;\r\n this.tipoVariable = null;\r\n this.tipoSupervisor = null;\r\n this.version = null;\r\n this.tipoElemento = null;\r\n this.tipoUsuario = null;\r\n this.idNTipoSupervisor = null;\r\n this.idNVersionSupervisor = null;\r\n this.idNTipoElemento = null;\r\n }\r\n}","import PermisoModel from '../models/PermisoModel';\r\nimport IService from './IService';\r\nimport Axios from 'axios';\r\n\r\nexport default class PermisoService implements IService {\r\n\r\n constructor() {\r\n }\r\n\r\n async list(filter: any) {\r\n const data = [];\r\n var res = await Axios.post('/api/Permisos/list', filter)\r\n .then(res => {\r\n if (res.data.success) {\r\n let obj = res.data.data.map((itm: any) => {\r\n let ret = new PermisoModel();\r\n ret.idNPermiso = itm.idNPermiso;\r\n ret.fkNTipoUsuario = itm.fkNTipoUsuario;\r\n ret.fkNTipoVariable = itm.fkNTipoVariable;\r\n ret.fldBEditar = itm.fldBEditar;\r\n ret.fldBVer = itm.fldBVer;\r\n ret.tipoVariable = itm.tipoVariable;\r\n ret.tipoSupervisor = itm.tipoSupervisor;\r\n ret.version = itm.version;\r\n ret.tipoElemento = itm.tipoElemento;\r\n ret.tipoUsuario = itm.tipoUsuario;\r\n\r\n return ret;\r\n });\r\n let result = {\r\n success: true,\r\n data: obj\r\n }\r\n return result;\r\n }\r\n return null;\r\n }).catch(error => {\r\n let result = {\r\n success: false,\r\n Message: error.response.data.responseErrorMessage\r\n }\r\n return result;\r\n });\r\n return res;\r\n }\r\n\r\n async insert(data: PermisoModel) {\r\n var res = await Axios.post('/api/Permisos/insert', data);\r\n return res.data;\r\n }\r\n\r\n async update(data: PermisoModel) {\r\n var res = await Axios.put('/api/Permisos/update', data);\r\n return res.data;\r\n }\r\n\r\n async delete(data: PermisoModel) {\r\n var res = await Axios.delete('/api/Permisos/delete?id=' + data.idNPermiso);\r\n return res.data;\r\n }\r\n\r\n}","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Permisos.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Permisos.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Permisos.vue?vue&type=template&id=3b2cfb9e&\"\nimport script from \"./Permisos.vue?vue&type=script&lang=js&\"\nexport * from \"./Permisos.vue?vue&type=script&lang=js&\"\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 { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAutocomplete,VBtn,VCard,VCardActions,VCheckbox,VCol,VContainer,VDataTable,VDialog,VForm,VIcon,VRow,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport Vue, { VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator>,\n sortBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator,\n sortDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if (!this.disableSort && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy = this.internalOptions.sortBy\n let sortDesc = this.internalOptions.sortDesc\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage)) || 1 // Prevent NaN\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps) as any\n },\n})\n","import './VDataFooter.sass'\n\n// Components\nimport VSelect from '../VSelect/VSelect'\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { DataPagination, DataOptions, DataItemsPerPageOption } from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-data-footer',\n\n props: {\n options: {\n type: Object as PropType,\n required: true,\n },\n pagination: {\n type: Object as PropType,\n required: true,\n },\n itemsPerPageOptions: {\n type: Array,\n default: () => ([5, 10, 15, -1]),\n } as PropValidator,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n firstIcon: {\n type: String,\n default: '$first',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n itemsPerPageAllText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageAll',\n },\n showFirstLastPage: Boolean,\n showCurrentPage: Boolean,\n disablePagination: Boolean,\n disableItemsPerPage: Boolean,\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n },\n\n computed: {\n disableNextPageIcon (): boolean {\n return this.options.itemsPerPage <= 0 ||\n this.options.page * this.options.itemsPerPage >= this.pagination.itemsLength ||\n this.pagination.pageStop < 0\n },\n computedDataItemsPerPageOptions (): any[] {\n return this.itemsPerPageOptions.map(option => {\n if (typeof option === 'object') return option\n else return this.genDataItemsPerPageOption(option)\n })\n },\n },\n\n methods: {\n updateOptions (obj: object) {\n this.$emit('update:options', Object.assign({}, this.options, obj))\n },\n onFirstPage () {\n this.updateOptions({ page: 1 })\n },\n onPreviousPage () {\n this.updateOptions({ page: this.options.page - 1 })\n },\n onNextPage () {\n this.updateOptions({ page: this.options.page + 1 })\n },\n onLastPage () {\n this.updateOptions({ page: this.pagination.pageCount })\n },\n onChangeItemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage, page: 1 })\n },\n genDataItemsPerPageOption (option: number) {\n return {\n text: option === -1 ? this.$vuetify.lang.t(this.itemsPerPageAllText) : String(option),\n value: option,\n }\n },\n genItemsPerPageSelect () {\n let value = this.options.itemsPerPage\n const computedIPPO = this.computedDataItemsPerPageOptions\n\n if (computedIPPO.length <= 1) return null\n\n if (!computedIPPO.find(ippo => ippo.value === value)) value = computedIPPO[0]\n\n return this.$createElement('div', {\n staticClass: 'v-data-footer__select',\n }, [\n this.$vuetify.lang.t(this.itemsPerPageText),\n this.$createElement(VSelect, {\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.itemsPerPageText),\n },\n props: {\n disabled: this.disableItemsPerPage,\n items: computedIPPO,\n value,\n hideDetails: true,\n auto: true,\n minWidth: '75px',\n },\n on: {\n input: this.onChangeItemsPerPage,\n },\n }),\n ])\n },\n genPaginationInfo () {\n let children: VNodeChildrenArrayContents = ['–']\n const itemsLength: number = this.pagination.itemsLength\n let pageStart: number = this.pagination.pageStart\n let pageStop: number = this.pagination.pageStop\n\n if (this.pagination.itemsLength && this.pagination.itemsPerPage) {\n pageStart = this.pagination.pageStart + 1\n pageStop = itemsLength < this.pagination.pageStop || this.pagination.pageStop < 0\n ? itemsLength\n : this.pagination.pageStop\n\n children = this.$scopedSlots['page-text']\n ? [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n : [this.$vuetify.lang.t(this.pageText, pageStart, pageStop, itemsLength)]\n } else if (this.$scopedSlots['page-text']) {\n children = [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n }\n\n return this.$createElement('div', {\n class: 'v-data-footer__pagination',\n }, children)\n },\n genIcon (click: Function, disabled: boolean, label: string, icon: string): VNode {\n return this.$createElement(VBtn, {\n props: {\n disabled: disabled || this.disablePagination,\n icon: true,\n text: true,\n // dark: this.dark, // TODO: add mixin\n // light: this.light // TODO: add mixin\n },\n on: {\n click,\n },\n attrs: {\n 'aria-label': label, // TODO: Localization\n },\n }, [this.$createElement(VIcon, icon)])\n },\n genIcons () {\n const before: VNodeChildrenArrayContents = []\n const after: VNodeChildrenArrayContents = []\n\n before.push(this.genIcon(\n this.onPreviousPage,\n this.options.page === 1,\n this.$vuetify.lang.t('$vuetify.dataFooter.prevPage'),\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon\n ))\n\n after.push(this.genIcon(\n this.onNextPage,\n this.disableNextPageIcon,\n this.$vuetify.lang.t('$vuetify.dataFooter.nextPage'),\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon\n ))\n\n if (this.showFirstLastPage) {\n before.unshift(this.genIcon(\n this.onFirstPage,\n this.options.page === 1,\n this.$vuetify.lang.t('$vuetify.dataFooter.firstPage'),\n this.$vuetify.rtl ? this.lastIcon : this.firstIcon\n ))\n\n after.push(this.genIcon(\n this.onLastPage,\n this.options.page >= this.pagination.pageCount || this.options.itemsPerPage === -1,\n this.$vuetify.lang.t('$vuetify.dataFooter.lastPage'),\n this.$vuetify.rtl ? this.firstIcon : this.lastIcon\n ))\n }\n\n return [\n this.$createElement('div', {\n staticClass: 'v-data-footer__icons-before',\n }, before),\n this.showCurrentPage && this.$createElement('span', [this.options.page.toString()]),\n this.$createElement('div', {\n staticClass: 'v-data-footer__icons-after',\n }, after),\n ]\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-data-footer',\n }, [\n this.genItemsPerPageSelect(),\n this.genPaginationInfo(),\n this.genIcons(),\n ])\n },\n})\n","// Components\nimport { VData } from '../VData'\nimport VDataFooter from './VDataFooter'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, camelizeObjectKeys } from '../../util/helpers'\nimport { breaking, removed } from '../../util/console'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DataItemProps, DataScopeProps } from 'vuetify/types'\n\n/* @vue/component */\nexport default mixins(\n Mobile,\n Themeable\n).extend({\n name: 'v-data-iterator',\n\n props: {\n ...VData.options.props, // TODO: filter out props not used\n itemKey: {\n type: String,\n default: 'id',\n },\n value: {\n type: Array,\n default: () => [],\n } as PropValidator,\n singleSelect: Boolean,\n expanded: {\n type: Array,\n default: () => [],\n } as PropValidator,\n mobileBreakpoint: {\n ...Mobile.options.props.mobileBreakpoint,\n default: 600,\n },\n singleExpand: Boolean,\n loading: [Boolean, String],\n noResultsText: {\n type: String,\n default: '$vuetify.dataIterator.noResultsText',\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideDefaultFooter: Boolean,\n footerProps: Object,\n selectableKey: {\n type: String,\n default: 'isSelectable',\n },\n },\n\n data: () => ({\n selection: {} as Record,\n expansion: {} as Record,\n internalCurrentItems: [] as any[],\n }),\n\n computed: {\n everyItem (): boolean {\n return !!this.selectableItems.length && this.selectableItems.every((i: any) => this.isSelected(i))\n },\n someItems (): boolean {\n return this.selectableItems.some((i: any) => this.isSelected(i))\n },\n sanitizedFooterProps (): Record {\n return camelizeObjectKeys(this.footerProps)\n },\n selectableItems (): any[] {\n return this.internalCurrentItems.filter(item => this.isSelectable(item))\n },\n },\n\n watch: {\n value: {\n handler (value: any[]) {\n this.selection = value.reduce((selection, item) => {\n selection[getObjectValueByPath(item, this.itemKey)] = item\n return selection\n }, {})\n },\n immediate: true,\n },\n selection (value: Record, old: Record) {\n if (deepEqual(Object.keys(value), Object.keys(old))) return\n\n this.$emit('input', Object.values(value))\n },\n expanded: {\n handler (value: any[]) {\n this.expansion = value.reduce((expansion, item) => {\n expansion[getObjectValueByPath(item, this.itemKey)] = true\n return expansion\n }, {})\n },\n immediate: true,\n },\n expansion (value: Record, old: Record) {\n if (deepEqual(value, old)) return\n const keys = Object.keys(value).filter(k => value[k])\n const expanded = !keys.length ? [] : this.items.filter(i => keys.includes(String(getObjectValueByPath(i, this.itemKey))))\n this.$emit('update:expanded', expanded)\n },\n },\n\n created () {\n const breakingProps = [\n ['disable-initial-sort', 'sort-by'],\n ['filter', 'custom-filter'],\n ['pagination', 'options'],\n ['total-items', 'server-items-length'],\n ['hide-actions', 'hide-default-footer'],\n ['rows-per-page-items', 'footer-props.items-per-page-options'],\n ['rows-per-page-text', 'footer-props.items-per-page-text'],\n ['prev-icon', 'footer-props.prev-icon'],\n ['next-icon', 'footer-props.next-icon'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const removedProps = [\n 'expand',\n 'content-class',\n 'content-props',\n 'content-tag',\n ]\n\n /* istanbul ignore next */\n removedProps.forEach(prop => {\n if (this.$attrs.hasOwnProperty(prop)) removed(prop)\n })\n },\n\n methods: {\n toggleSelectAll (value: boolean): void {\n const selection = Object.assign({}, this.selection)\n\n for (let i = 0; i < this.selectableItems.length; i++) {\n const item = this.selectableItems[i]\n\n if (!this.isSelectable(item)) continue\n\n const key = getObjectValueByPath(item, this.itemKey)\n if (value) selection[key] = item\n else delete selection[key]\n }\n\n this.selection = selection\n this.$emit('toggle-select-all', { items: this.internalCurrentItems, value })\n },\n isSelectable (item: any): boolean {\n return getObjectValueByPath(item, this.selectableKey) !== false\n },\n isSelected (item: any): boolean {\n return !!this.selection[getObjectValueByPath(item, this.itemKey)] || false\n },\n select (item: any, value = true, emit = true): void {\n if (!this.isSelectable(item)) return\n\n const selection = this.singleSelect ? {} : Object.assign({}, this.selection)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) selection[key] = item\n else delete selection[key]\n\n if (this.singleSelect && emit) {\n const keys = Object.keys(this.selection)\n const old = keys.length && getObjectValueByPath(this.selection[keys[0]], this.itemKey)\n old && old !== key && this.$emit('item-selected', { item: this.selection[old], value: false })\n }\n this.selection = selection\n emit && this.$emit('item-selected', { item, value })\n },\n isExpanded (item: any): boolean {\n return this.expansion[getObjectValueByPath(item, this.itemKey)] || false\n },\n expand (item: any, value = true): void {\n const expansion = this.singleExpand ? {} : Object.assign({}, this.expansion)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) expansion[key] = true\n else delete expansion[key]\n\n this.expansion = expansion\n this.$emit('item-expanded', { item, value })\n },\n createItemProps (item: any, index: number): DataItemProps {\n return {\n item,\n index,\n select: (v: boolean) => this.select(item, v),\n isSelected: this.isSelected(item),\n expand: (v: boolean) => this.expand(item, v),\n isExpanded: this.isExpanded(item),\n isMobile: this.isMobile,\n }\n },\n genEmptyWrapper (content: VNodeChildren) {\n return this.$createElement('div', content)\n },\n genEmpty (originalItemsLength: number, filteredItemsLength: number) {\n if (originalItemsLength === 0 && this.loading) {\n const loading = this.$slots.loading || this.$vuetify.lang.t(this.loadingText)\n return this.genEmptyWrapper(loading)\n } else if (originalItemsLength === 0) {\n const noData = this.$slots['no-data'] || this.$vuetify.lang.t(this.noDataText)\n return this.genEmptyWrapper(noData)\n } else if (filteredItemsLength === 0) {\n const noResults = this.$slots['no-results'] || this.$vuetify.lang.t(this.noResultsText)\n return this.genEmptyWrapper(noResults)\n }\n\n return null\n },\n genItems (props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n if (this.$scopedSlots.default) {\n return this.$scopedSlots.default({\n ...props,\n isSelected: this.isSelected,\n select: this.select,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n expand: this.expand,\n })\n }\n\n if (this.$scopedSlots.item) {\n return props.items.map((item: any, index) => this.$scopedSlots.item!(this.createItemProps(\n item,\n index\n )))\n }\n\n return []\n },\n genFooter (props: DataScopeProps) {\n if (this.hideDefaultFooter) return null\n\n const data = {\n props: {\n ...this.sanitizedFooterProps,\n options: props.options,\n pagination: props.pagination,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n }\n\n const scopedSlots = getPrefixedScopedSlots('footer.', this.$scopedSlots)\n\n return this.$createElement(VDataFooter, {\n scopedSlots,\n ...data,\n })\n },\n genDefaultScopedSlot (props: any) {\n const outerProps = {\n ...props,\n someItems: this.someItems,\n everyItem: this.everyItem,\n toggleSelectAll: this.toggleSelectAll,\n }\n\n return this.$createElement('div', {\n staticClass: 'v-data-iterator',\n }, [\n getSlot(this, 'header', outerProps, true),\n this.genItems(props),\n this.genFooter(props),\n getSlot(this, 'footer', outerProps, true),\n ])\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: this.$props,\n on: {\n 'update:options': (v: any, old: any) => !deepEqual(v, old) && this.$emit('update:options', v),\n 'update:page': (v: any) => this.$emit('update:page', v),\n 'update:items-per-page': (v: any) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: any) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: any) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: any) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: any) => this.$emit('update:group-desc', v),\n pagination: (v: any, old: any) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n","import { VDataTable } from '../'\nimport VIcon from '../../VIcon'\nimport VSimpleCheckbox from '../../VCheckbox/VSimpleCheckbox'\nimport ripple from '../../../directives/ripple'\n\nimport Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../../util/mixins'\nimport { DataOptions, DataTableHeader } from 'vuetify/types'\n\ntype VDataTableInstance = InstanceType\n\ninterface options extends Vue {\n dataTable: VDataTableInstance\n}\n\nexport default mixins().extend({\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n options: {\n type: Object,\n default: () => ({\n page: 1,\n itemsPerPage: 10,\n sortBy: [],\n sortDesc: [],\n groupBy: [],\n groupDesc: [],\n multiSort: false,\n mustSort: false,\n }),\n } as PropValidator,\n sortIcon: {\n type: String,\n default: '$sort',\n },\n everyItem: Boolean,\n someItems: Boolean,\n showGroupBy: Boolean,\n singleSelect: Boolean,\n disableSort: Boolean,\n },\n\n methods: {\n genSelectAll () {\n const data = {\n props: {\n value: this.everyItem,\n indeterminate: !this.everyItem && this.someItems,\n },\n on: {\n input: (v: boolean) => this.$emit('toggle-select-all', v),\n },\n }\n\n if (this.$scopedSlots['data-table-select']) {\n return this.$scopedSlots['data-table-select']!(data)\n }\n\n return this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n ...data,\n })\n },\n genSortIcon () {\n return this.$createElement(VIcon, {\n staticClass: 'v-data-table-header__icon',\n props: {\n size: 18,\n },\n }, [this.sortIcon])\n },\n },\n})\n","import { VNode, VNodeChildrenArrayContents } from 'vue'\nimport mixins from '../../util/mixins'\nimport VSelect from '../VSelect/VSelect'\nimport VChip from '../VChip'\nimport header from './mixins/header'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default mixins(header).extend({\n name: 'v-data-table-header-mobile',\n\n props: {\n sortByText: {\n type: String,\n default: '$vuetify.dataTable.sortBy',\n },\n },\n\n methods: {\n genSortChip (props: any) {\n const children: VNodeChildrenArrayContents = [props.item.text]\n\n const sortIndex = this.options.sortBy.findIndex(k => k === props.item.value)\n const beingSorted = sortIndex >= 0\n const isDesc = this.options.sortDesc[sortIndex]\n\n children.push(this.$createElement('div', {\n staticClass: 'v-chip__close',\n class: {\n sortable: true,\n active: beingSorted,\n asc: beingSorted && !isDesc,\n desc: beingSorted && isDesc,\n },\n }, [this.genSortIcon()]))\n\n return this.$createElement(VChip, {\n staticClass: 'sortable',\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n this.$emit('sort', props.item.value)\n },\n },\n }, children)\n },\n genSortSelect (items: any[]) {\n return this.$createElement(VSelect, {\n props: {\n label: this.$vuetify.lang.t(this.sortByText),\n items,\n hideDetails: true,\n multiple: this.options.multiSort,\n value: this.options.multiSort ? this.options.sortBy : this.options.sortBy[0],\n menuProps: { closeOnContentClick: true },\n },\n on: {\n change: (v: string | string[]) => this.$emit('sort', v),\n },\n scopedSlots: {\n selection: props => this.genSortChip(props),\n },\n })\n },\n },\n\n render (h): VNode {\n const children: VNodeChildrenArrayContents = []\n\n const header = this.headers.find(h => h.value === 'data-table-select')\n if (header && !this.singleSelect) {\n children.push(this.$createElement('div', {\n class: [\n 'v-data-table-header-mobile__select',\n ...wrapInArray(header.class),\n ],\n attrs: {\n width: header.width,\n },\n }, [this.genSelectAll()]))\n }\n\n const sortHeaders = this.headers\n .filter(h => h.sortable !== false && h.value !== 'data-table-select')\n .map(h => ({\n text: h.text,\n value: h.value,\n }))\n\n if (!this.disableSort && sortHeaders.length) {\n children.push(this.genSortSelect(sortHeaders))\n }\n\n const th = h('th', [h('div', { staticClass: 'v-data-table-header-mobile__wrapper' }, children)])\n\n const tr = h('tr', [th])\n\n return h('thead', {\n staticClass: 'v-data-table-header v-data-table-header-mobile',\n }, [tr])\n },\n})\n","// Helpers\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport header from './mixins/header'\nimport { wrapInArray, convertToUnit } from '../../util/helpers'\nimport { DataTableHeader } from 'vuetify/types'\n\nexport default mixins(header).extend({\n name: 'v-data-table-header-desktop',\n\n methods: {\n genGroupByToggle (header: DataTableHeader) {\n return this.$createElement('span', {\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n this.$emit('group', header.value)\n },\n },\n }, ['group'])\n },\n getAria (beingSorted: boolean, isDesc: boolean) {\n const $t = (key: string) => this.$vuetify.lang.t(`$vuetify.dataTable.ariaLabel.${key}`)\n\n let ariaSort = 'none'\n let ariaLabel = [\n $t('sortNone'),\n $t('activateAscending'),\n ]\n\n if (!beingSorted) {\n return { ariaSort, ariaLabel: ariaLabel.join(' ') }\n }\n\n if (isDesc) {\n ariaSort = 'descending'\n ariaLabel = [\n $t('sortDescending'),\n $t(this.options.mustSort ? 'activateAscending' : 'activateNone'),\n ]\n } else {\n ariaSort = 'ascending'\n ariaLabel = [\n $t('sortAscending'),\n $t('activateDescending'),\n ]\n }\n\n return { ariaSort, ariaLabel: ariaLabel.join(' ') }\n },\n genHeader (header: DataTableHeader) {\n const data: Required> = {\n attrs: {\n role: 'columnheader',\n scope: 'col',\n 'aria-label': header.text || '',\n },\n style: {\n width: convertToUnit(header.width),\n minWidth: convertToUnit(header.width),\n },\n class: [\n `text-${header.align || 'start'}`,\n ...wrapInArray(header.class),\n header.divider && 'v-data-table__divider',\n ],\n on: {},\n }\n const children = []\n\n if (header.value === 'data-table-select' && !this.singleSelect) {\n return this.$createElement('th', data, [this.genSelectAll()])\n }\n\n children.push(\n this.$scopedSlots[header.value]\n ? this.$scopedSlots[header.value]!({ header })\n : this.$createElement('span', [header.text])\n )\n\n if (!this.disableSort && (header.sortable || !header.hasOwnProperty('sortable'))) {\n data.on.click = () => this.$emit('sort', header.value)\n\n const sortIndex = this.options.sortBy.findIndex(k => k === header.value)\n const beingSorted = sortIndex >= 0\n const isDesc = this.options.sortDesc[sortIndex]\n\n data.class.push('sortable')\n\n const { ariaLabel, ariaSort } = this.getAria(beingSorted, isDesc)\n\n data.attrs['aria-label'] += `${header.text ? ': ' : ''}${ariaLabel}`\n data.attrs['aria-sort'] = ariaSort\n\n if (beingSorted) {\n data.class.push('active')\n data.class.push(isDesc ? 'desc' : 'asc')\n }\n\n if (header.align === 'end') children.unshift(this.genSortIcon())\n else children.push(this.genSortIcon())\n\n if (this.options.multiSort && beingSorted) {\n children.push(this.$createElement('span', { class: 'v-data-table-header__sort-badge' }, [String(sortIndex + 1)]))\n }\n }\n\n if (this.showGroupBy && header.groupable !== false) children.push(this.genGroupByToggle(header))\n\n return this.$createElement('th', data, children)\n },\n },\n\n render (): VNode {\n return this.$createElement('thead', {\n staticClass: 'v-data-table-header',\n }, [\n this.$createElement('tr', this.headers.map(header => this.genHeader(header))),\n ])\n },\n})\n","import { VNodeData } from 'vue'\n\n/**\n * Removes duplicate `@input` listeners when\n * using v-model with functional components\n *\n * @see https://github.com/vuetifyjs/vuetify/issues/4460\n */\nexport default function dedupeModelListeners (data: VNodeData): void {\n if (data.model && data.on && data.on.input) {\n if (Array.isArray(data.on.input)) {\n const i = data.on.input.indexOf(data.model.callback)\n if (i > -1) data.on.input.splice(i, 1)\n } else {\n delete data.on.input\n }\n }\n}\n","import { CreateElement, VNode } from 'vue'\n\nexport default function rebuildFunctionalSlots (slots: { [key: string]: VNode[] | undefined }, h: CreateElement) {\n const children: VNode[] = []\n\n for (const slot in slots) {\n if (slots.hasOwnProperty(slot)) {\n children.push(h('template', { slot }, slots[slot]))\n }\n }\n\n return children\n}\n","// Styles\nimport './VDataTableHeader.sass'\n\n// Components\nimport VDataTableHeaderMobile from './VDataTableHeaderMobile'\nimport VDataTableHeaderDesktop from './VDataTableHeaderDesktop'\n\n// Mixins\nimport header from './mixins/header'\n\n// Utilities\nimport dedupeModelListeners from '../../util/dedupeModelListeners'\nimport mergeData from '../../util/mergeData'\nimport rebuildSlots from '../../util/rebuildFunctionalSlots'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-data-table-header',\n\n functional: true,\n\n props: {\n ...header.options.props,\n mobile: Boolean,\n },\n\n render (h, { props, data, slots }) {\n dedupeModelListeners(data)\n const children = rebuildSlots(slots(), h)\n\n data = mergeData(data, { props })\n\n if (props.mobile) {\n return h(VDataTableHeaderMobile, data, children)\n } else {\n return h(VDataTableHeaderDesktop, data, children)\n }\n },\n})\n","// Types\nimport Vue, { VNode, PropType } from 'vue'\nimport { DataTableHeader } from 'vuetify/types'\n\n// Utils\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'row',\n\n functional: true,\n\n props: {\n headers: Array as PropType,\n index: Number,\n item: Object,\n rtl: Boolean,\n },\n\n render (h, { props, slots, data }): VNode {\n const computedSlots = slots()\n\n const columns: VNode[] = props.headers.map((header: DataTableHeader) => {\n const children = []\n const value = getObjectValueByPath(props.item, header.value)\n\n const slotName = header.value\n const scopedSlot = data.scopedSlots && data.scopedSlots[slotName]\n const regularSlot = computedSlots[slotName]\n\n if (scopedSlot) {\n children.push(scopedSlot({\n item: props.item,\n isMobile: false,\n header,\n index: props.index,\n value,\n }))\n } else if (regularSlot) {\n children.push(regularSlot)\n } else {\n children.push(value == null ? value : String(value))\n }\n\n const textAlign = `text-${header.align || 'start'}`\n\n return h('td', {\n class: [\n textAlign,\n header.cellClass,\n {\n 'v-data-table__divider': header.divider,\n },\n ],\n }, children)\n })\n\n return h('tr', data, columns)\n },\n})\n","import Vue, { VNode } from 'vue'\n\nexport default Vue.extend({\n name: 'row-group',\n\n functional: true,\n\n props: {\n value: {\n type: Boolean,\n default: true,\n },\n headerClass: {\n type: String,\n default: 'v-row-group__header',\n },\n contentClass: String,\n summaryClass: {\n type: String,\n default: 'v-row-group__summary',\n },\n },\n\n render (h, { slots, props }): VNode {\n const computedSlots = slots()\n const children = []\n\n if (computedSlots['column.header']) {\n children.push(h('tr', {\n staticClass: props.headerClass,\n }, computedSlots['column.header']))\n } else if (computedSlots['row.header']) {\n children.push(...computedSlots['row.header'])\n }\n\n if (computedSlots['row.content'] && props.value) children.push(...computedSlots['row.content'])\n\n if (computedSlots['column.summary']) {\n children.push(h('tr', {\n staticClass: props.summaryClass,\n }, computedSlots['column.summary']))\n } else if (computedSlots['row.summary']) {\n children.push(...computedSlots['row.summary'])\n }\n\n return children as any\n },\n})\n","import Vue, { VNode, PropType } from 'vue'\nimport { getObjectValueByPath } from '../../util/helpers'\nimport { DataTableHeader } from 'vuetify/types'\n\nexport default Vue.extend({\n name: 'row',\n\n functional: true,\n\n props: {\n headers: Array as PropType,\n hideDefaultHeader: Boolean,\n index: Number,\n item: Object,\n rtl: Boolean,\n },\n\n render (h, { props, slots, data }): VNode {\n const computedSlots = slots()\n\n const columns: VNode[] = props.headers.map((header: DataTableHeader) => {\n const classes = {\n 'v-data-table__mobile-row': true,\n }\n\n const children = []\n const value = getObjectValueByPath(props.item, header.value)\n\n const slotName = header.value\n const scopedSlot = data.scopedSlots && data.scopedSlots[slotName]\n const regularSlot = computedSlots[slotName]\n\n if (scopedSlot) {\n children.push(scopedSlot({\n item: props.item,\n isMobile: true,\n header,\n index: props.index,\n value,\n }))\n } else if (regularSlot) {\n children.push(regularSlot)\n } else {\n children.push(value == null ? value : String(value))\n }\n\n const mobileRowChildren = [\n h('div', {\n staticClass: 'v-data-table__mobile-row__cell',\n }, children),\n ]\n\n if (header.value !== 'dataTableSelect' && !props.hideDefaultHeader) {\n mobileRowChildren.unshift(\n h('div', {\n staticClass: 'v-data-table__mobile-row__header',\n }, [header.text])\n )\n }\n\n return h('td', { class: classes }, mobileRowChildren)\n })\n\n return h('tr', { ...data, staticClass: 'v-data-table__mobile-table-row' }, columns)\n },\n})\n","import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DataTableHeader,\n DataTableFilterFunction,\n DataScopeProps,\n DataOptions,\n DataPagination,\n DataTableCompareFunction,\n DataItemsPerPageOption,\n ItemGroup,\n RowClassFunction,\n DataTableItemProps,\n} from 'vuetify/types'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys, getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport { mergeClasses } from '../../util/mergeData'\n\nfunction filterFn (item: any, search: string | null, filter: DataTableFilterFunction) {\n return (header: DataTableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: DataTableHeader[],\n headersWithoutCustomFilters: DataTableHeader[],\n customFilter: DataTableFilterFunction\n) {\n search = typeof search === 'string' ? search.trim() : null\n\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n // We need to match every filter to be included in the results.\n const matchesColumnFilters = headersWithCustomFilters.every(filterFn(item, search, defaultFilter))\n\n // Headers without custom filters are only filtered by the `search` property if it is defined.\n // We only need a single column to match the search term to be included in the results.\n const matchesSearchTerm = !search || headersWithoutCustomFilters.some(filterFn(item, search, customFilter))\n\n return matchesColumnFilters && matchesSearchTerm\n })\n}\n\n/* @vue/component */\nexport default mixins(\n VDataIterator,\n Loadable,\n).extend({\n name: 'v-data-table',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => [],\n } as PropValidator,\n showSelect: Boolean,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator,\n itemClass: {\n type: [String, Function],\n default: () => '',\n } as PropValidator,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): DataTableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n columnSorters (): Record {\n return this.computedHeaders.reduce>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const itemsPerPageOptions: DataItemsPerPageOption[] | undefined = this.sanitizedFooterProps.itemsPerPageOptions\n\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find(item => typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage)\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeDestroy () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(items, search, this.headersWithCustomFilters, this.headersWithoutCustomFilters, this.customFilter)\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any, index: number): DataTableItemProps {\n const props = VDataIterator.options.methods.createItemProps.call(this, item, index)\n\n return Object.assign(props, { headers: this.computedHeaders })\n },\n genCaption (props: DataScopeProps) {\n if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataScopeProps) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [this.genProgress()])\n\n const tr = this.$createElement('tr', {\n staticClass: 'v-data-table__progress',\n }, [th])\n\n return this.$createElement('thead', [tr])\n },\n genHeaders (props: DataScopeProps) {\n const data = {\n props: {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll,\n },\n }\n\n const children: VNodeChildrenArrayContents = [getSlot(this, 'header', {\n ...data,\n isMobile: this.isMobile,\n })]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n children.push(this.$createElement(VDataTableHeader, {\n ...data,\n scopedSlots,\n }))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return this.$createElement('tr', {\n staticClass: 'v-data-table__empty-wrapper',\n }, [\n this.$createElement('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: ItemGroup[], props: DataScopeProps) {\n return groupedItems.map(group => {\n if (!this.openCache.hasOwnProperty(group.name)) this.$set(this.openCache, group.name, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group: group.name,\n options: props.options,\n isMobile: this.isMobile,\n items: group.items,\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group.name, group.items, props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataScopeProps) {\n const isOpen = !!this.openCache[group]\n const children: VNodeChildren = [\n this.$createElement('template', { slot: 'row.content' }, this.genRows(items, props)),\n ]\n const toggleFn = () => this.$set(this.openCache, group, !this.openCache[group])\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n this.$scopedSlots['group.header']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n remove: removeFn,\n }),\n ]))\n } else {\n const toggle = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: toggleFn,\n },\n }, [this.$createElement(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [this.$createElement(VIcon, ['$close'])])\n\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${props.options.groupBy[0]}: ${group}`, remove])\n\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', { slot: 'column.summary' }, [\n this.$scopedSlots['group.summary']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n }),\n ]))\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataScopeProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$scopedSlots.item!({\n ...this.createItemProps(item, i),\n isMobile: this.isMobile,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n index: i,\n item,\n }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map((item, index) => this.genDefaultExpandedRow(item, index))\n : items.map((item, index) => this.genDefaultSimpleRow(item, index))\n },\n genDefaultExpandedRow (item: any, index: number): VNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, index, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item,\n })])\n\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, index: number, classes: Record = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item, index)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot({\n ...data,\n isMobile: this.isMobile,\n }) : () => this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n disabled: !this.isSelectable(item),\n },\n on: {\n input: (val: boolean) => data.select(val),\n },\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(VIcon, {\n staticClass: 'v-data-table__expand-icon',\n class: {\n 'v-data-table__expand-icon--active': data.isExpanded,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n },\n },\n }, [this.expandIcon])\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: mergeClasses(\n { ...classes, 'v-data-table__selected': data.isSelected },\n getPropertyFromItem(item, this.itemClass)\n ),\n props: {\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$vuetify.rtl,\n },\n scopedSlots,\n on: {\n // TODO: for click, the first argument should be the event, and the second argument should be data,\n // but this is a breaking change so it's for v3\n click: () => this.$emit('click:row', item, data),\n contextmenu: (event: MouseEvent) => this.$emit('contextmenu:row', event, data),\n dblclick: (event: MouseEvent) => this.$emit('dblclick:row', event, data),\n },\n })\n },\n genBody (props: DataScopeProps): VNode | string | VNodeChildren {\n const data = {\n ...props,\n expand: this.expand,\n headers: this.computedHeaders,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n isSelected: this.isSelected,\n select: this.select,\n }\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body!(data)\n }\n\n return this.$createElement('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFooters (props: DataScopeProps) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n widths: this.widths,\n headers: this.computedHeaders,\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', data, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(VDataFooter, {\n ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n }))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataScopeProps): VNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return this.$createElement(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(VSimpleTable, {\n props: simpleProps,\n }, [\n this.proxySlot('top', getSlot(this, 'top', {\n ...props,\n isMobile: this.isMobile,\n }, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.proxySlot('bottom', this.genFooters(props)),\n ])\n },\n proxySlot (slot: string, content: VNodeChildren) {\n return this.$createElement('template', { slot }, content)\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n },\n on: {\n 'update:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'update:page': (v: number) => this.$emit('update:page', v),\n 'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n","import UserModel from '../models/UserModel';\r\nimport IService from './IService';\r\nimport Axios from 'axios';\r\n\r\nexport default class UserService implements IService {\r\n\r\n constructor() {\r\n }\r\n\r\n async list(filter: any) {\r\n const data = [];\r\n var res = await Axios.post('/api/users/list', filter)\r\n .then(res => {\r\n if (res.data.success) {\r\n let obj = res.data.data.map((itm: any) => {\r\n let ret = new UserModel();\r\n ret.idNUsuario = itm.idNUsuario;\r\n ret.fkNTipoUsuario = itm.fkNTipoUsuario;\r\n ret.fldBActivo = itm.fldBActivo;\r\n ret.fldTEmail = itm.fldTEmail;\r\n ret.fldTLogin = itm.fldTLogin;\r\n ret.fldTNombre = itm.fldTNombre;\r\n\r\n return ret;\r\n });\r\n let result = {\r\n success: true,\r\n data: obj\r\n }\r\n return result;\r\n }\r\n return null;\r\n }).catch(error => {\r\n let result = {\r\n success: false,\r\n Message: error.response.data.responseErrorMessage\r\n }\r\n return result;\r\n });\r\n return res;\r\n }\r\n\r\n async listTypes() {\r\n var res = await Axios.get('/api/usertypes/list');\r\n if (res.data.success) {\r\n return res.data.data;\r\n }\r\n return [];\r\n }\r\n\r\n async insert(data: UserModel) {\r\n var res = await Axios.post('/api/users/insert', data);\r\n return res.data;\r\n }\r\n\r\n async update(data: UserModel) {\r\n var res = await Axios.put('/api/users/update', data);\r\n return res.data;\r\n }\r\n\r\n async delete(data: UserModel) {\r\n var res = await Axios.delete('/api/users/delete?id=' + data.idNUsuario);\r\n return res.data;\r\n } \r\n\r\n async get(id:any) {\r\n var res = await Axios.get('/api/users/get?id=' + id);\r\n return res.data;\r\n }\r\n\r\n async export(filter: any) {\r\n var res = await Axios.post('/api/users/export', filter, {\r\n responseType: 'blob'\r\n });\r\n return res.data;\r\n }\r\n\r\n}","import VariableClassModel from '../models/VariableClassModel';\r\nimport IService from './IService';\r\nimport Axios from 'axios';\r\n\r\nexport default class VariableClassService implements IService {\r\n\r\n constructor() {\r\n }\r\n\r\n async list(filter: any) {\r\n const data = [];\r\n var res = await Axios.post('/api/VariableClasses/list', filter)\r\n .then(res => {\r\n if (res.data.success) {\r\n let obj = res.data.data.map((itm: any) => {\r\n let ret = new VariableClassModel();\r\n ret.idNTipoVariable = itm.idNTipoVariable;\r\n ret.fkNTipoElemento = itm.fkNTipoElemento;\r\n ret.fkNTipoVariableOMRON = itm.fkNTipoVariableOMRON;\r\n ret.fkNAgrupacionVariable = itm.fkNAgrupacionVariable;\r\n ret.fkNTipoVariableWEB = itm.fkNTipoVariableWEB;\r\n ret.fldTNombre = itm.fldTNombre;\r\n ret.fldTDireccionDM = itm.fldTDireccionDM;\r\n ret.fldBVisibleEnPortada = itm.fldBVisibleEnPortada;\r\n ret.fkNIcono = itm.fkNIcono;\r\n ret.fldNOrden = itm.fldNOrden;\r\n ret.fldTStyle = itm.fldTStyle;\r\n ret.fldBLectura = itm.fldBLectura;\r\n ret.fldBEscritura = itm.fldBEscritura;\r\n ret.fldBGraficable = itm.fldBGraficable;\r\n ret.fldBComboTipoVariable = itm.fldBComboTipoVariable;\r\n ret.fldTDireccionVariable = itm.fldTDireccionVariable;\r\n\r\n return ret;\r\n });\r\n let result = {\r\n success: true,\r\n data: obj\r\n }\r\n return result;\r\n }\r\n return null;\r\n }).catch(error => {\r\n let result = {\r\n success: false,\r\n Message: error.response.data.responseErrorMessage\r\n }\r\n return result;\r\n });\r\n return res;\r\n }\r\n\r\n async insert(data: VariableClassModel) {\r\n var res = await Axios.post('/api/VariableClasses/insert', data);\r\n return res.data;\r\n }\r\n\r\n async update(data: VariableClassModel) {\r\n var res = await Axios.put('/api/VariableClasses/update', data);\r\n return res.data;\r\n }\r\n\r\n async delete(data: VariableClassModel) {\r\n var res = await Axios.delete('/api/VariableClasses/delete?id=' + data.idNTipoVariable);\r\n return res.data;\r\n }\r\n\r\n async export(filter: any) {\r\n var res = await Axios.post('/api/VariableClasses/export', filter, {\r\n responseType: 'blob'\r\n });\r\n return res.data;\r\n }\r\n\r\n}","import ElementTypeModel from '../models/ElementTypeModel';\r\nimport IService from './IService';\r\nimport Axios from 'axios';\r\n\r\nexport default class ElementTypeService implements IService {\r\n\r\n constructor() {\r\n }\r\n\r\n async list(filter: any) {\r\n const data = [];\r\n var res = await Axios.post('/api/ElementsTypes/list', filter)\r\n .then(res => {\r\n if (res.data.success) {\r\n let obj = res.data.data.map((itm: any) => {\r\n let ret = new ElementTypeModel();\r\n ret.idNTipoElemento = itm.idNTipoElemento;\r\n ret.fkNVersion = itm.fkNVersion;\r\n ret.fldTNombre = itm.fldTNombre;\r\n ret.fkNIcono = itm.fkNIcono;\r\n ret.fldNOrden = itm.fldNOrden;\r\n ret.fldTStyle = itm.fldTStyle;\r\n\r\n return ret;\r\n });\r\n let result = {\r\n success: true,\r\n data: obj\r\n }\r\n return result;\r\n }\r\n return null;\r\n }).catch(error => {\r\n let result = {\r\n success: false,\r\n Message: error.response.data.responseErrorMessage\r\n }\r\n return result;\r\n });\r\n return res;\r\n }\r\n\r\n async listBySupervisor(id: number) {\r\n var res = await Axios.get('/api/ElementsTypes/listBySupervisor?id=' + id)\r\n .then(res => {\r\n if (res.data.success) {\r\n let result = {\r\n success: true,\r\n data: res.data.data\r\n }\r\n return result;\r\n }\r\n return null;\r\n }).catch(error => {\r\n let result = {\r\n success: false,\r\n Message: error.response.data.responseErrorMessage\r\n }\r\n return result;\r\n });\r\n return res;\r\n }\r\n\r\n async listTiposVariables(filter: any) { \r\n\r\n var res = await Axios.post('/api/ElementsTypes/listTiposVariables', filter)\r\n .then(res => {\r\n if (res.data.success) {\r\n let result = {\r\n success: true,\r\n data: res.data.data\r\n }\r\n return result;\r\n }\r\n return null;\r\n }).catch(error => {\r\n let result = {\r\n success: false,\r\n Message: error.response.data.responseErrorMessage\r\n }\r\n return result;\r\n });\r\n return res;\r\n }\r\n\r\n async listTiposVariablesByTipoElemento(filter: any) {\r\n\r\n var res = await Axios.post('/api/ElementsTypes/listTiposVariablesByTipoElemento', filter)\r\n .then(res => {\r\n if (res.data.success) {\r\n let result = {\r\n success: true,\r\n data: res.data.data\r\n }\r\n return result;\r\n }\r\n return null;\r\n }).catch(error => {\r\n let result = {\r\n success: false,\r\n Message: error.response.data.responseErrorMessage\r\n }\r\n return result;\r\n });\r\n return res;\r\n }\r\n\r\n async insert(data: ElementTypeModel) {\r\n var res = await Axios.post('/api/ElementsTypes/insert', data);\r\n return res.data;\r\n }\r\n\r\n async update(data: ElementTypeModel) {\r\n var res = await Axios.put('/api/ElementsTypes/update', data);\r\n return res.data;\r\n }\r\n\r\n async delete(data: ElementTypeModel) {\r\n var res = await Axios.delete('/api/ElementsTypes/delete?id=' + data.idNTipoElemento);\r\n return res.data;\r\n }\r\n\r\n async export(filter: any) {\r\n var res = await Axios.post('/api/ElementsTypes/export', filter, {\r\n responseType: 'blob'\r\n });\r\n return res.data;\r\n }\r\n\r\n}","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n\n return this.$createElement('div', data)\n },\n },\n})\n","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n // Label shouldn't cause the input to focus\n click: prevent,\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent,\n },\n ref: 'input',\n })\n },\n onBlur () {\n this.isFocused = false\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus () {\n this.isFocused = true\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n","// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-checkbox',\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.isDisabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n methods: {\n genCheckbox () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.dense,\n dark: this.dark,\n light: this.light,\n },\n }), this.computedIcon),\n this.genInput('checkbox', {\n ...this.attrs$,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","// 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 {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\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 } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\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 },\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 => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\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.$refs.input && this.$refs.input.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\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 destroyed () {\n document.removeEventListener('copy', this.onCopy)\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 const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\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 (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) 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 if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\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): boolean {\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","export default class SupervisorTypeModel {\r\n idNTipoSupervisor: number | null;\r\n fkNClaseTipoSupervisor: number | null;\r\n fldTNombre: string | null;\r\n fkNIcono: string | null;\r\n\r\n constructor() {\r\n this.idNTipoSupervisor = null;\r\n this.fldTNombre = null;\r\n this.fkNIcono = null;\r\n this.fkNClaseTipoSupervisor = null;\r\n }\r\n}","// Types\nimport { BreakpointName } from 'vuetify/types/services/breakpoint'\nimport { deprecate } from '../../util/console'\nimport Vue, { PropType } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'mobile',\n\n props: {\n mobileBreakpoint: {\n type: [Number, String] as PropType,\n default (): number | BreakpointName | undefined {\n // Avoid destroying unit\n // tests for users\n return this.$vuetify\n ? this.$vuetify.breakpoint.mobileBreakpoint\n : undefined\n },\n validator: v => (\n !isNaN(Number(v)) ||\n ['xs', 'sm', 'md', 'lg', 'xl'].includes(String(v))\n ),\n },\n },\n\n computed: {\n isMobile (): boolean {\n const {\n mobile,\n width,\n name,\n mobileBreakpoint,\n } = this.$vuetify.breakpoint\n\n // Check if local mobileBreakpoint matches\n // the application's mobileBreakpoint\n if (mobileBreakpoint === this.mobileBreakpoint) return mobile\n\n const mobileWidth = parseInt(this.mobileBreakpoint, 10)\n const isNumber = !isNaN(mobileWidth)\n\n return isNumber\n ? width < mobileWidth\n : name === this.mobileBreakpoint\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('mobile-break-point')) {\n deprecate('mobile-break-point', 'mobile-breakpoint', this)\n }\n },\n})\n","import VersionModel from '../models/VersionModel';\r\nimport IService from './IService';\r\nimport Axios from 'axios';\r\n\r\nexport default class VersionService implements IService {\r\n\r\n constructor() {\r\n }\r\n\r\n async list(filter: any) {\r\n const data = [];\r\n var res = await Axios.post('/api/Version/list', filter)\r\n .then(res => {\r\n if (res.data.success) {\r\n let obj = res.data.data.map((itm: any) => {\r\n let ret = new VersionModel();\r\n ret.idNVersionSupervisor = itm.idNVersionSupervisor;\r\n ret.fkNTipoSupervisor = itm.fkNTipoSupervisor;\r\n ret.fldTNombre = itm.fldTNombre;\r\n ret.fldTDescripcion = itm.fldTDescripcion;\r\n\r\n return ret;\r\n });\r\n let result = {\r\n success: true,\r\n data: obj\r\n }\r\n return result;\r\n }\r\n return null;\r\n }).catch(error => {\r\n let result = {\r\n success: false,\r\n Message: error.response.data.responseErrorMessage\r\n }\r\n return result;\r\n });\r\n return res;\r\n }\r\n\r\n async insert(data: VersionModel) {\r\n var res = await Axios.post('/api/Version/insert', data);\r\n return res.data;\r\n }\r\n\r\n async update(data: VersionModel) {\r\n var res = await Axios.put('/api/Version/update', data);\r\n return res.data;\r\n }\r\n\r\n async delete(data: VersionModel) {\r\n var res = await Axios.delete('/api/Version/delete?id=' + data.idNVersionSupervisor);\r\n return res.data;\r\n }\r\n\r\n async export(filter: any) {\r\n var res = await Axios.post('/api/Version/export', filter, {\r\n responseType: 'blob'\r\n });\r\n return res.data;\r\n }\r\n\r\n}"],"sourceRoot":""}