{"version":3,"sources":["webpack:///./node_modules/file-saver/dist/FileSaver.min.js","webpack:///./src/pages/configuracion/adminBD/AdminBD.vue?58bb","webpack:///./node_modules/idb/build/index.js","webpack:///src/pages/configuracion/adminBD/AdminBD.vue","webpack:///./src/pages/configuracion/adminBD/AdminBD.vue?aee0","webpack:///./src/pages/configuracion/adminBD/AdminBD.vue","webpack:///./src/mixins/basePageMixin.js","webpack:///./src/mixins/common.js"],"names":["this","b","a","autoBom","console","warn","test","type","Blob","c","d","XMLHttpRequest","open","responseType","onload","g","response","onerror","error","send","status","e","dispatchEvent","MouseEvent","document","createEvent","initMouseEvent","window","f","self","global","navigator","userAgent","saveAs","HTMLAnchorElement","prototype","h","i","URL","webkitURL","j","createElement","name","download","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","msSaveOrOpenBlob","title","body","innerText","HTMLElement","safari","FileReader","k","onloadend","result","replace","readAsDataURL","l","m","module","exports","render","_vm","_h","$createElement","_c","_self","attrs","_v","staticClass","on","$event","stopPropagation","exportarBD","apply","arguments","_s","$vuetify","icons","values","exportarBDCambios","model","value","callback","$$v","jsonFile","expression","importarBD","upload","staticRenderFns","instanceOfAny","object","constructors","some","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","IDBDatabase","IDBObjectStore","IDBIndex","IDBCursor","IDBTransaction","getCursorAdvanceMethods","advance","continue","continuePrimaryKey","transactionDoneMap","WeakMap","transformCache","reverseTransformCache","promisifyRequest","request","promise","Promise","resolve","reject","unlisten","removeEventListener","success","wrap","addEventListener","set","cacheDonePromiseForTransaction","tx","has","done","complete","DOMException","idbProxyTraps","prop","receiver","get","objectStoreNames","undefined","objectStore","replaceTraps","wrapFunction","func","includes","args","unwrap","transformCachableValue","Proxy","IDBRequest","newValue","openDB","version","blocked","upgrade","blocking","terminated","indexedDB","openPromise","event","oldVersion","newVersion","transaction","then","db","catch","readMethods","writeMethods","cachedMethods","Map","getMethod","targetFuncName","useIndex","isWrite","method","async","storeName","store","index","shift","all","oldTraps","advanceMethodProps","methodMap","advanceResults","ittrProxiedCursorToOriginalProxy","cursorIteratorTraps","cachedFunc","iterate","cursor","openCursor","proxiedCursor","delete","isIteratorProp","Symbol","asyncIterator","mixins","data","databaseVersion","created","methods","loadPage","abrirBD","downloadClientSide","jsonData","objectstore","reader","JSON","record","component","VBtn","VCard","VCardText","VCardTitle","VFileInput","VIcon","basePageMixin","routeParams","routeQuery","loadingData","rememberState","rememberScroll","showingDialogs","pageLoaded","bottomNavBarButtons","dbReady","_","cloneDeep","$route","params","query","extra","decodeBase64","computed","routeFromBrowserHistory","meta","fromBrowserHistory","userPermissions","permissions","initDB","$offline","$loading","showManual","connect","initSchema","init","hide","closeDB","close","copyRouteParamsToPageStore","pageStoreName","routeParam","storeHasProperty","setStoreProperty","initStore","property","$store","getStoreProperty","dispatchStore","actionName","payload","dispatch","hasViewPerm","perm","hasInsertPerm","hasEditPerm","hasDeletePerm","hasPerm","beforeRouteLeaveBase","to","from","next","beforeRouteLeaveCommon","initNavigationBottom","addNavigationBottomButton","icon","visible","badge","badgeColor","push","order","length","that","showingDialog","dialog","$set"],"mappings":"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","file":"js/chunk-626cd7ea.bdcf6b26.js","sourcesContent":["(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b10-base',[_c('b10-toolbar',{attrs:{\"title\":_vm.title}}),_c('b10-page-content',{attrs:{\"padding\":2}},[_c('v-card',[_c('v-card-title',[_vm._v(\"Exportar BD\")]),_c('v-card-text',[_c('v-btn',{staticClass:\"mb-2\",attrs:{\"block\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.exportarBD.apply(null, arguments)}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$vuetify.icons.values.download)+\" \")]),_vm._v(\" Completa \")],1),_c('v-btn',{staticClass:\"mb-2\",attrs:{\"block\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.exportarBDCambios.apply(null, arguments)}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$vuetify.icons.values.download)+\" \")]),_vm._v(\" Solo cambios \")],1)],1)],1),_c('v-card',[_c('v-card-title',[_vm._v(\"Importar BD\")]),_c('v-card-text',[_c('v-file-input',{staticClass:\"mb-2\",attrs:{\"label\":\"Fichero base de datos\",\"show-size\":\"\"},model:{value:(_vm.jsonFile),callback:function ($$v) {_vm.jsonFile=$$v},expression:\"jsonFile\"}}),_c('v-btn',{staticClass:\"mb-2\",attrs:{\"block\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.importarBD.apply(null, arguments)}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$vuetify.icons.values.upload)+\" \")]),_vm._v(\" Importar BD \")],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst transactionDoneMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(this.request);\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nconst advanceMethodProps = ['continue', 'continuePrimaryKey', 'advance'];\nconst methodMap = {};\nconst advanceResults = new WeakMap();\nconst ittrProxiedCursorToOriginalProxy = new WeakMap();\nconst cursorIteratorTraps = {\n get(target, prop) {\n if (!advanceMethodProps.includes(prop))\n return target[prop];\n let cachedFunc = methodMap[prop];\n if (!cachedFunc) {\n cachedFunc = methodMap[prop] = function (...args) {\n advanceResults.set(this, ittrProxiedCursorToOriginalProxy.get(this)[prop](...args));\n };\n }\n return cachedFunc;\n },\n};\nasync function* iterate(...args) {\n // tslint:disable-next-line:no-this-assignment\n let cursor = this;\n if (!(cursor instanceof IDBCursor)) {\n cursor = await cursor.openCursor(...args);\n }\n if (!cursor)\n return;\n cursor = cursor;\n const proxiedCursor = new Proxy(cursor, cursorIteratorTraps);\n ittrProxiedCursorToOriginalProxy.set(proxiedCursor, cursor);\n // Map this double-proxy back to the original, so other cursor methods work.\n reverseTransformCache.set(proxiedCursor, unwrap(cursor));\n while (cursor) {\n yield proxiedCursor;\n // If one of the advancing methods was not called, call continue().\n cursor = await (advanceResults.get(proxiedCursor) || cursor.continue());\n advanceResults.delete(proxiedCursor);\n }\n}\nfunction isIteratorProp(target, prop) {\n return ((prop === Symbol.asyncIterator &&\n instanceOfAny(target, [IDBIndex, IDBObjectStore, IDBCursor])) ||\n (prop === 'iterate' && instanceOfAny(target, [IDBIndex, IDBObjectStore])));\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get(target, prop, receiver) {\n if (isIteratorProp(target, prop))\n return iterate;\n return oldTraps.get(target, prop, receiver);\n },\n has(target, prop) {\n return isIteratorProp(target, prop) || oldTraps.has(target, prop);\n },\n}));\n\nexport { deleteDB, openDB, unwrap, wrap };\n","\r\n \r\n \r\n \r\n \r\n Exportar BD\r\n \r\n \r\n \r\n {{ $vuetify.icons.values.download }}\r\n Completa\r\n \r\n \r\n \r\n {{ $vuetify.icons.values.download }}\r\n Solo cambios\r\n \r\n \r\n \r\n \r\n Importar BD\r\n \r\n \r\n \r\n \r\n {{ $vuetify.icons.values.upload }}\r\n Importar BD\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminBD.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminBD.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AdminBD.vue?vue&type=template&id=e0202bec&\"\nimport script from \"./AdminBD.vue?vue&type=script&lang=js&\"\nexport * from \"./AdminBD.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 { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VFileInput,VIcon})\n","import { decodeBase64 } from '@/utils/router'\r\nimport { get } from 'vuex-pathify'\r\nimport _ from '@/utils/lodash'\r\nimport { beforeRouteLeaveCommon } from './common'\r\nimport { hasViewPerm, hasInsertPerm, hasEditPerm, hasDeletePerm, hasPerm, permissions } from '@/utils/permissions'\r\nimport { initSchema, connect } from '@/offline/database'\r\n\r\nexport const basePageMixin = {\r\n data () {\r\n return {\r\n title: '',\r\n routeParams: null,\r\n routeQuery: null,\r\n loadingData: false,\r\n rememberState: false,\r\n rememberScroll: false,\r\n showingDialogs: {},\r\n pageLoaded: false,\r\n bottomNavBarButtons: [],\r\n dbReady: false,\r\n }\r\n },\r\n created () {\r\n this.routeParams = _.cloneDeep(this.$route.params)\r\n this.routeQuery = _.cloneDeep(this.$route.query)\r\n if (this.routeQuery.extra) {\r\n this.routeQuery.extra = decodeBase64(this.routeQuery.extra)\r\n }\r\n },\r\n computed: {\r\n routeFromBrowserHistory () {\r\n // no mostrar alerts en el \"back\" del navegador\r\n return this.$route.meta.fromBrowserHistory\r\n },\r\n userPermissions: get('usuario/permisos'),\r\n permissions () {\r\n return permissions\r\n },\r\n },\r\n methods: {\r\n async initDB () {\r\n if (!this.$offline.db) {\r\n this.$loading.showManual('Inicializando base de datos...')\r\n try {\r\n await this.$offline.init(await connect(initSchema()))\r\n } finally {\r\n this.dbReady = true\r\n this.$loading.hide()\r\n }\r\n } else {\r\n this.dbReady = true\r\n }\r\n },\r\n async closeDB () {\r\n if (this.$offline.db) {\r\n await this.$offline.db.close()\r\n this.$offline.db = null\r\n this.dbReady = false\r\n }\r\n },\r\n async copyRouteParamsToPageStore () {\r\n if (this.pageStoreName) {\r\n for (const routeParam in this.routeParams) {\r\n if (this.storeHasProperty(routeParam)) {\r\n await this.setStoreProperty(routeParam, this.routeParams[routeParam])\r\n }\r\n }\r\n }\r\n },\r\n async initStore () {\r\n // routeParams -> ¿existe en el store de la página? -> copiar valor\r\n // usado para: nextRoute, readonly\r\n await this.copyRouteParamsToPageStore()\r\n },\r\n storeHasProperty (property) {\r\n return property in this.$store.get(`${this.pageStoreName}`)\r\n },\r\n async setStoreProperty (property, value) {\r\n await this.$store.set(`${this.pageStoreName}/${property}`, value)\r\n },\r\n async getStoreProperty (property) {\r\n return await this.$store.get(`${this.pageStoreName}/${property}`)\r\n },\r\n async dispatchStore (actionName, payload) {\r\n return await this.$store.dispatch(`${this.pageStoreName}/${actionName}`, payload)\r\n },\r\n hasViewPerm (perm) {\r\n return hasViewPerm(this.userPermissions, perm)\r\n },\r\n hasInsertPerm (perm) {\r\n return hasInsertPerm(this.userPermissions, perm)\r\n },\r\n hasEditPerm (perm) {\r\n return hasEditPerm(this.userPermissions, perm)\r\n },\r\n hasDeletePerm (perm) {\r\n return hasDeletePerm(this.userPermissions, perm)\r\n },\r\n hasPerm (perm) {\r\n return hasPerm(this.userPermissions, perm)\r\n },\r\n beforeRouteLeaveBase (to, from, next) {\r\n if (!beforeRouteLeaveCommon(this, to, from, next)) {\r\n next()\r\n }\r\n },\r\n initNavigationBottom () {\r\n this.bottomNavBarButtons = []\r\n },\r\n addNavigationBottomButton (title, name, icon, visible = true, badge = null, badgeColor = 'green') {\r\n const index = this.bottomNavBarButtons.push({\r\n title,\r\n name,\r\n icon,\r\n order: this.bottomNavBarButtons.length + 1,\r\n visible,\r\n badge,\r\n badgeColor,\r\n })\r\n return this.bottomNavBarButtons[index - 1]\r\n },\r\n }\r\n}\r\n","export const beforeRouteLeaveCommon = (that, to, from, next) => {\r\n if (that.loadingData) {\r\n next(false)\r\n return true\r\n } else {\r\n let showingDialog = false\r\n for (const dialog in that.showingDialogs) {\r\n if (that.showingDialogs[dialog]) {\r\n that.$set(that.showingDialogs, dialog, false)\r\n showingDialog = true\r\n next(false)\r\n break\r\n }\r\n }\r\n return showingDialog\r\n }\r\n}\r\n"],"sourceRoot":""}