{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?4b66","webpack:///./src/components/SchemaView.vue?3525","webpack:///./src/components/InlineGroup.vue?537c","webpack:///./src/views/MainView.vue?6541","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/RawData.vue?33a8","webpack:///./src/components/FormView.vue?7b77","webpack:///./src/components/List.vue?2142","webpack:///./src/components/DataVisualizer.vue?f009","webpack:///./src/components/Login.vue?38b4","webpack:///./src/App.vue?244e","webpack:///./src/components/RawJson.vue?e012","webpack:///./src/services/communicator-service.ts","webpack:///./src/store/action-type.ts","webpack:///./src/store/fetch-state.ts","webpack:///./src/store/mutation-type.ts","webpack:///./src/App.vue?de9d","webpack:///./src/services/soya-service.ts","webpack:///./src/components/Spinner.vue?73b5","webpack:///./src/components/Spinner.vue","webpack:///./src/components/Spinner.vue?57a8","webpack:///./src/components/Spinner.vue?72fe","webpack:///./src/components/NavBar.vue?ed67","webpack:///./src/views/MainView.vue?099a","webpack:///./src/store/store.ts","webpack:///./src/components/DataVisualizer.vue?62bd","webpack:///./src/components/RawData.vue?d322","webpack:///./src/components/RawJson.vue?1fcc","webpack:///./src/components/RawJson.vue","webpack:///./src/components/RawJson.vue?71a2","webpack:///./src/components/RawJson.vue?f524","webpack:///./src/components/Button.vue?e660","webpack:///./src/components/Button.vue","webpack:///./src/components/Button.vue?cf56","webpack:///./src/components/Button.vue?54ff","webpack:///./src/components/RawData.vue","webpack:///./src/components/RawData.vue?b10a","webpack:///./src/components/RawData.vue?5908","webpack:///./src/components/FormEditView.vue?126b","webpack:///./src/components/FormView.vue?c405","webpack:///./src/components/FormView.vue","webpack:///./src/components/FormView.vue?954b","webpack:///./src/components/FormView.vue?dc3c","webpack:///./src/components/InlineGroup.vue?d796","webpack:///./src/components/InlineGroup.vue","webpack:///./src/utils/i18n.ts","webpack:///./src/utils/vue.ts","webpack:///./src/utils/deflate.ts","webpack:///./src/utils/index.ts","webpack:///./src/services/config-service.ts","webpack:///./src/utils/actions.ts","webpack:///./src/components/FormEditView.vue","webpack:///./src/components/FormEditView.vue?d761","webpack:///./src/components/FormEditView.vue?496e","webpack:///./src/components/DataVisualizer.vue","webpack:///./src/components/DataVisualizer.vue?6aad","webpack:///./src/components/DataVisualizer.vue?aca8","webpack:///./src/components/SchemaView.vue?ee22","webpack:///./src/components/List.vue?a17f","webpack:///./src/components/List.vue","webpack:///./src/components/List.vue?50af","webpack:///./src/components/List.vue?01c8","webpack:///./src/components/ChartVisualizer.vue?301d","webpack:///./src/utils/evaluator.ts","webpack:///./src/components/ChartVisualizer.vue","webpack:///./src/router/routes.ts","webpack:///./src/components/ChartVisualizer.vue?f3da","webpack:///./src/components/ChartVisualizer.vue?77b6","webpack:///./src/components/SchemaView.vue","webpack:///./src/components/SchemaView.vue?d0cc","webpack:///./src/components/SchemaView.vue?3b5d","webpack:///./src/components/RepoView.vue?9268","webpack:///./src/components/RepoView.vue","webpack:///./src/components/RepoView.vue?924e","webpack:///./src/components/RepoView.vue?b869","webpack:///./src/views/MainView.vue","webpack:///./src/views/MainView.vue?fab8","webpack:///./src/views/MainView.vue?6994","webpack:///./src/views/SchemaView.vue?24a1","webpack:///./src/views/SchemaView.vue","webpack:///./src/views/SchemaView.vue?6c98","webpack:///./src/views/SchemaView.vue?e25e","webpack:///./src/views/ItemView.vue?c66a","webpack:///./src/views/ItemView.vue","webpack:///./src/views/ItemView.vue?d815","webpack:///./src/views/ItemView.vue?5951","webpack:///./src/router/index.ts","webpack:///./src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?0756","webpack:///./src/components/NavBar.vue?bca4","webpack:///./src/components/Login.vue?0eb8","webpack:///./src/components/Login.vue","webpack:///./src/components/Login.vue?f6a6","webpack:///./src/components/Login.vue?3ca4","webpack:///./src/App.vue","webpack:///./src/App.vue?198c","webpack:///./src/App.vue?315a","webpack:///./src/main.ts","webpack:///./src/components/NavBar.vue?0529","webpack:///./src/components/FormEditView.vue?476a"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","ActionType","FetchState","MutationType","_vm","this","_h","$createElement","_c","_self","attrs","isUiFluid","encryptionSupport","title","description","vaultUrl","staticClass","_v","_s","message","vaultSupport","scopes","identityProviders","on","logIn","tryInitializeVaultifier","staticRenderFns","setInstance","instance","getInstance","soya","variant","small","extend","props","default","component","directives","rawName","expression","modifiers","goHome","version","encryptionIcon","_e","url","toggleUiFluid","actions","workingAction","scopedSlots","_u","fn","gearAnimation","workingActionTitle","proxy","_l","act","executeAction","handleActivateTab","handleShowEditView","selectedVaultItem","selectVaultItem","doFetch","commit","asyncFunc","setState","setFetchState","commitObj","state","FETCHING","SET_FETCH_STATE","SUCCESS","ERROR","use","Store","repo","all","NONE","schemaDRI","current","undefined","vaultItem","allState","currentState","paging","ui","isFluid","mutations","payload","SET_REPOS","SET_CURRENT_SCHEMA","SET_SCHEMA_DRIS","SET_VAULT_ITEMS","SET_VAULT_ITEM","SET_SCHEMA_DRI_TITLE","item","find","x","dri","SET_VAULT_ITEMS_PAGING","SET_UI_IS_FLUID","RESET_VAULT_ITEMS","UPDATE_VAULT_ITEM","dispatch","updateItem","FETCH_VAULT_ITEM","postItem","DELETE_VAULT_ITEM","deleteItem","FETCH_SCHEMA_DRIS","getSchemas","FETCH_SCHEMAS_TITLE","store","FETCH_REPOS","getRepos","FETCH_VAULT_ITEMS","page","size","schema","fetchContent","pull","doc","getSparqlBuilder","sparql","query","bindings","fromRepo","identifier","getItems","getMetaItems","items","getItem","info","infos","TOGGLE_UI_IS_FLUID","model","callback","$$v","activeTabIndex","isSaving","saveVaultItem","schemaDri","_m","systemData","isMetaEditable","editableMeta","meta","isDataEditable","save","editableData","jsonContent","computed","JSON","stringify","trim","computedType","click","type","_t","String","methods","$emit","arguments","components","RawJson","CustomButton","Spinner","Boolean","created","resetEditableData","console","log","watch","parse","copy","raw","isEncrypted","allowSelectSchema","showTypeahead","hasSelectedStructure","$event","selectedStructureName","preventDefault","suggestItems","selectFromTypeahead","editableText","iFrameSrc","saveEdit","action","isExecutingAction","cancelEdit","ref","formData","selectedStructure","onDataChange","onIFrameSrcChange","class","isLoading","hasSchemaDri","selectedLanguage","selectedTag","required","mounted","addEventListener","evt","source","iframe","style","height","documentHeight","reload","URL","location","href","windowParams","searchParams","params","append","encodeURIComponent","toString","contentWindow","postMessage","$refs","script","language","beforeCreate","getTranslation","obj","zip_free_queue","zip_qhead","zip_qtail","zip_initflag","zip_outcnt","zip_outoff","zip_complete","zip_window","zip_d_buf","zip_l_buf","zip_prev","zip_bi_buf","zip_bi_valid","zip_block_start","zip_ins_h","zip_hash_head","zip_prev_match","zip_match_available","zip_match_length","zip_prev_length","zip_strstart","zip_match_start","zip_eofile","zip_lookahead","zip_max_chain_length","zip_max_lazy_match","zip_compr_level","zip_good_match","zip_nice_match","zip_dyn_ltree","zip_dyn_dtree","zip_static_ltree","zip_static_dtree","zip_bl_tree","zip_l_desc","zip_d_desc","zip_bl_desc","zip_bl_count","zip_heap","zip_heap_len","zip_heap_max","zip_depth","zip_length_code","zip_dist_code","zip_base_length","zip_base_dist","zip_flag_buf","zip_last_lit","zip_last_dist","zip_last_flags","zip_flags","zip_flag_bit","zip_opt_len","zip_static_len","zip_deflate_data","zip_deflate_pos","zip_WSIZE","zip_STORED_BLOCK","zip_STATIC_TREES","zip_DYN_TREES","zip_DEFAULT_LEVEL","zip_FULL_SEARCH","zip_INBUFSIZ","zip_INBUF_EXTRA","zip_OUTBUFSIZ","zip_window_size","zip_MIN_MATCH","zip_MAX_MATCH","zip_BITS","zip_LIT_BUFSIZE","zip_HASH_BITS","zip_DIST_BUFSIZE","zip_HASH_SIZE","zip_HASH_MASK","zip_WMASK","zip_NIL","zip_TOO_FAR","zip_MIN_LOOKAHEAD","zip_MAX_DIST","zip_SMALLEST","zip_MAX_BITS","zip_MAX_BL_BITS","zip_LENGTH_CODES","zip_LITERALS","zip_END_BLOCK","zip_L_CODES","zip_D_CODES","zip_BL_CODES","zip_REP_3_6","zip_REPZ_3_10","zip_REPZ_11_138","zip_HEAP_SIZE","zip_H_SHIFT","parseInt","zip_outbuf","zip_DeflateCT","fc","dl","zip_DeflateTreeDesc","dyn_tree","static_tree","extra_bits","extra_base","elems","max_length","max_code","zip_DeflateConfiguration","a","b","good_length","max_lazy","nice_length","max_chain","zip_DeflateBuffer","next","len","ptr","Array","off","zip_extra_lbits","zip_extra_dbits","zip_extra_blbits","zip_bl_order","zip_configuration_table","zip_deflate_start","level","zip_reuse_queue","zip_new_queue","zip_head1","zip_head2","val","zip_put_byte","zip_qoutbuf","zip_put_short","w","zip_INSERT_STRING","zip_SEND_CODE","tree","zip_send_bits","zip_D_CODE","dist","zip_SMALLER","zip_read_buff","buff","offset","charCodeAt","zip_lm_init","zip_fill_window","zip_longest_match","cur_match","matchp","chain_length","scanp","best_len","limit","strendp","scan_end1","scan_end","more","zip_deflate_fast","flush","zip_ct_tally","zip_flush_block","zip_deflate_better","zip_init_deflate","zip_ct_init","zip_deflate_internal","buff_size","zip_qcopy","bits","zip_gen_codes","zip_bi_reverse","zip_init_block","zip_pqdownheap","k","v","zip_gen_bitlen","desc","h","xbits","f","extra","base","stree","overflow","next_code","zip_build_tree","node","xnew","zip_scan_tree","curlen","prevlen","nextlen","count","max_count","min_count","zip_send_tree","zip_build_bl_tree","max_blindex","zip_send_all_trees","lcodes","dcodes","blcodes","rank","eof","opt_lenb","static_lenb","stored_len","zip_bi_windup","zip_compress_block","lc","dcode","out_length","in_length","ltree","dtree","lx","dx","fx","flag","zip_Buf_size","res","q","tryGet","path","reduce","prev","curr","config","configFilename","fetch","json","ConfigService","INSTANCE","fetchExternalConfig","vaultifier","vue","method","usesAuth","baseUrlPlaceholder","vaultItemIdPlaceholder","replace","returnValue","open","indexOf","vaultifierUrl","post","put","headers","status","$bvModal","msgBoxOk","actionsObj","arr","FormView","InlineGroup","hasCancel","selectStructure","Promise","error","structure","$store","event","src","filter","handler","immediate","showRawView","RawData","FormEditView","hasSchema","onComplete","isSchemaListLoading","fetchSchemas","selectedSchema","selectSchema","selectedTabIndex","isVaultItemListLoading","totalVaultItems","currentVaultPage","vaultPageItems","fetchVaultItems","addItem","isDeleteButtonDisabled","deleteSelectedVaultItem","getListTitle","dataItemCount","dataItemPage","vaultItems","saveMessage","editViewSchemaDri","_showEditView","refresh","totalItems","pageItems","inputPageKeydown","inputPage","paginationPageChange","Number","currentPage","changePage","_","scaleXExpression","row","idx","$set","addRow","canRemoveRow","removeRow","computeChartData","chartData","isObject","makeSafeObject","left","right","exp","eval","Date","Intl","DateTimeFormat","dateStyle","timeStyle","format","floatVal","parseFloat","isNaN","RoutePath","RouteParams","zingchart","rows","labels","scaleX","series","evalTypeAgnostic","values","initialize","selectedListLabelTemplate","showEditView","editViewSchema","List","ChartVisualizer","refreshObj","isChart","fetchObj","response","vaultItemId","show","compile","schemaDRIs","hasSelectedVaultItem","hasSelectedSchema","isRepoListLoading","fetchRepos","selectedRepo","selectRepo","repos","DataVisualizer","SchemaView","RepoView","hasRepoSupport","getVaultSupport","isVaultItemLoading","isShown","itemId","routes","MAIN_VIEW","MainView","SCHEMA_VIEW","SCHEMA_DRI","ITEM_VIEW","ItemView","ITEM_ID","router","settingsActions","$router","supportsEncryption","supportsDecryption","submitForm","appKey","appSecret","scopeOptions","scope","idp","authority","imageUrl","getIdentityProviderTitle","identityProvider","text","isLoginData","Login","NavBar","isInitializing","isLoggedIn","vaultInfo","currentRoute","credentials","baseUrl","clientId","vw","urls","setCredentials","oAuthType","isAuthenticated","setEnd2EndEncryption","getVaultInfo","hasMessage","isLoginFormShowed","oAuth","document","VueBootstrapTypeahead","render","App","$mount"],"mappings":"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","file":"js/app.3814f0d9.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=8af996cc&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchemaView.vue?vue&type=style&index=0&id=3fd4be1c&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InlineGroup.vue?vue&type=style&index=0&id=65fc9698&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainView.vue?vue&type=style&index=0&id=4ff6a4af&scoped=true&lang=css&\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf755\",\n\t\"./tlh.js\": \"cf755\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RawData.vue?vue&type=style&index=0&id=21bf251c&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormView.vue?vue&type=style&index=0&id=a7b2bdd0&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=style&index=0&id=3857e62a&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataVisualizer.vue?vue&type=style&index=0&id=ccdc9328&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=c0fc6e04&scoped=true&lang=css&\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RawJson.vue?vue&type=style&index=0&id=a5a9b48e&scoped=true&lang=css&\"","import { Vaultifier } from 'vaultifier';\n\nlet vaultifier: Vaultifier;\n\nexport const setInstance = (instance: Vaultifier): Vaultifier => vaultifier = instance;\nexport const getInstance = (): Vaultifier => vaultifier;","export enum ActionType {\n DELETE_VAULT_ITEM = 'deleteSelectedVaultItem',\n FETCH_SCHEMA_DRIS = 'fetchSchemaDRIs',\n FETCH_SCHEMAS_TITLE = 'fetchSchemasTitle',\n FETCH_REPOS = 'fetchRepos',\n FETCH_VAULT_ITEMS = 'fetchVaultItems',\n FETCH_VAULT_ITEM = 'fetchVaultItem',\n RESET_VAULT_ITEMS = 'resetVaultItems',\n TOGGLE_UI_IS_FLUID = 'toggleUiIsFluid',\n UPDATE_VAULT_ITEM = 'updateVaultItem',\n}\n","export enum FetchState {\n NONE = 'none',\n FETCHING = 'fetching',\n SUCCESS = 'success',\n ERROR = 'error',\n}","export enum MutationType {\n SET_CURRENT_SCHEMA = 'setCurrentSchema',\n SET_SCHEMA_DRIS = 'setSchemaDRIs',\n SET_SCHEMA_DRI_TITLE = 'setSchemaDRITitle',\n SET_REPOS = 'setRepos',\n SET_VAULT_ITEMS = 'setVaultItems',\n SET_VAULT_ITEM = 'setVaultItem',\n SET_FETCH_STATE = 'setSchemaDRIFetchState',\n SET_VAULT_ITEMS_PAGING = 'setVaultItemsPaging',\n SET_UI_IS_FLUID = 'setUiIsFluid',\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-container',{attrs:{\"fluid\":_vm.isUiFluid}},[_c('nav-bar',{attrs:{\"encryptionSupport\":_vm.encryptionSupport,\"title\":_vm.title,\"description\":_vm.description,\"url\":_vm.vaultUrl}})],1),(_vm.isInitializing)?_c('b-container',[_c('div',{staticClass:\"jumbotron\"},[_c('span',{staticClass:\"lead\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \"),_c('span',{staticClass:\"text-muted\"},[_vm._v(\"is loading \"),_c('spinner')],1)])])]):(_vm.hasMessage)?_c('b-container',[_c('div',{staticClass:\"jumbotron\"},[_c('h1',{staticClass:\"display-5\"},[_vm._v(\"Buddy Message\")]),_c('p',{staticClass:\"lead\"},[_vm._v(_vm._s(_vm.message))])])]):(_vm.isLoginFormShowed)?_c('b-container',[_c('login',{attrs:{\"scopes\":_vm.vaultSupport.scopes,\"identityProviders\":_vm.identityProviders},on:{\"login\":_vm.logIn,\"useIdentityProvider\":_vm.tryInitializeVaultifier}})],1):_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Soya } from \"soya-js\";\n\n// soya is created only once\n// this way we can make use of its inbuilt caching\nexport const soya = new Soya();","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-spinner',{attrs:{\"type\":\"grow\",\"variant\":_vm.variant,\"small\":_vm.small}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport Vue from 'vue'\nexport default Vue.extend({\n props: {\n variant: {\n default: 'dark',\n },\n small: {\n default: false,\n }\n }\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Spinner.vue?vue&type=template&id=711cc042&\"\nimport script from \"./Spinner.vue?vue&type=script&lang=ts&\"\nexport * from \"./Spinner.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-navbar',{attrs:{\"toggleable\":\"lg\",\"type\":\"dark\",\"variant\":\"dark\"}},[_c('b-navbar-brand',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.bottomright\",value:(_vm.description),expression:\"description\",modifiers:{\"hover\":true,\"bottomright\":true}}],attrs:{\"href\":\"#\"},on:{\"click\":_vm.goHome}},[_vm._v(_vm._s(_vm.title))]),_c('b-nav-text',[_vm._v(\" v\"+_vm._s(_vm.version)+\" \"),(_vm.encryptionIcon)?_c('b-icon',{staticClass:\"ml-2\",attrs:{\"icon\":_vm.encryptionIcon}}):_vm._e()],1),(_vm.url)?_c('b-nav-text',[_c('a',{attrs:{\"href\":_vm.url}},[_vm._v(_vm._s(_vm.url))])]):_vm._e(),_c('b-navbar-nav',{staticClass:\"ml-auto\"},[_c('b-nav-item',[_c('b-icon',{attrs:{\"icon\":_vm.isUiFluid ? 'arrows-angle-contract': 'arrows-angle-expand'},on:{\"click\":_vm.toggleUiFluid}})],1),(_vm.actions && _vm.actions.length > 0)?_c('b-nav-item-dropdown',{attrs:{\"right\":\"\",\"disabled\":!!_vm.workingAction},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-icon',{attrs:{\"icon\":\"gear\",\"animation\":_vm.gearAnimation,\"aria-label\":\"Settings\"}}),_c('span',{staticClass:\"ml-2\"},[_vm._v(_vm._s(_vm.workingActionTitle))])]},proxy:true}],null,false,3798702937)},_vm._l((_vm.actions),function(act){return _c('b-dropdown-item',{key:act.key,attrs:{\"href\":\"#\"},on:{\"click\":function () { return _vm.executeAction(act); }}},[_vm._v(_vm._s(act.title))])}),1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',{attrs:{\"fluid\":_vm.isUiFluid}},[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"pills\":\"\",\"card\":\"\",\"lazy\":\"\"},on:{\"activate-tab\":_vm.handleActivateTab}},[_c('b-tab',{attrs:{\"title\":\"Schemas\"}},[_c('schema-view',{on:{\"showEditView\":_vm.handleShowEditView}})],1),(_vm.hasRepoSupport)?_c('b-tab',{attrs:{\"title\":\"Repos\"}},[_c('repo-view')],1):_vm._e()],1)],1),(_vm.isVaultItemLoading)?_c('div',{staticClass:\"center\"},[_c('Spinner')],1):_vm._e(),(_vm.hasSelectedVaultItem)?_c('data-visualizer',{staticClass:\"data-visualizer\",attrs:{\"item\":_vm.selectedVaultItem},on:{\"selectVaultItem\":_vm.selectVaultItem}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { getInstance, soya } from '@/services';\nimport { Soya, SoyaDocument } from 'soya-js';\nimport { MultiResponse, Paging, Vaultifier, VaultItem, VaultItemsQuery, VaultMeta, VaultMinMeta, VaultPostItem, VaultRepo, VaultSchema, } from 'vaultifier';\nimport Vue from 'vue';\nimport Vuex, { Commit } from 'vuex'\nimport { ActionType } from './action-type';\nimport { FetchState } from './fetch-state';\nimport { MutationType } from './mutation-type';\n\nexport interface IFetchVaultItems {\n page?: number;\n size?: number;\n repo?: VaultRepo;\n schema?: Partial;\n fetchContent?: boolean;\n}\nexport interface IStore {\n repo: {\n all?: VaultRepo[],\n state: FetchState,\n },\n schemaDRI: {\n all: VaultSchema[],\n state: FetchState,\n current?: SoyaDocument,\n },\n vaultItem: {\n all: VaultMeta[],\n allState: FetchState,\n current?: VaultItem,\n currentState: FetchState,\n paging?: Paging,\n },\n ui: {\n isFluid: boolean,\n }\n}\ninterface IFetchState {\n state: FetchState,\n setFetchState: (store: IStore, state: FetchState) => void,\n}\n\nasync function doFetch(\n commit: Commit,\n asyncFunc: () => Promise,\n setState: (commit: Commit, data: T) => void,\n setFetchState: (store: IStore, state: FetchState) => void,\n) {\n const commitObj: IFetchState = {\n setFetchState,\n state: FetchState.FETCHING,\n }\n\n commit(MutationType.SET_FETCH_STATE, commitObj);\n try {\n setState(commit, await asyncFunc());\n\n commitObj.state = FetchState.SUCCESS;\n commit(MutationType.SET_FETCH_STATE, commitObj)\n }\n catch {\n commitObj.state = FetchState.ERROR;\n commit(MutationType.SET_FETCH_STATE, commitObj);\n }\n}\n\nexport const getStore = () => {\n Vue.use(Vuex);\n\n return new Vuex.Store({\n state: (): IStore => ({\n repo: {\n all: [],\n state: FetchState.NONE,\n },\n schemaDRI: {\n all: [],\n state: FetchState.NONE,\n current: undefined,\n },\n vaultItem: {\n all: [],\n allState: FetchState.NONE,\n current: undefined,\n currentState: FetchState.NONE,\n paging: undefined,\n },\n ui: {\n isFluid: false,\n }\n }),\n mutations: {\n [MutationType.SET_FETCH_STATE](state, payload: IFetchState) {\n payload.setFetchState(state, payload.state);\n },\n [MutationType.SET_REPOS](state, payload: VaultRepo[]) {\n state.repo.all = payload;\n },\n [MutationType.SET_CURRENT_SCHEMA](state, payload: SoyaDocument | undefined) {\n state.schemaDRI.current = payload;\n },\n [MutationType.SET_SCHEMA_DRIS](state, payload: VaultSchema[]) {\n state.schemaDRI.all = payload;\n },\n [MutationType.SET_VAULT_ITEMS](state, payload: VaultMeta[]) {\n state.vaultItem.all = payload;\n },\n [MutationType.SET_VAULT_ITEM](state, payload: VaultItem) {\n state.vaultItem.current = payload;\n },\n [MutationType.SET_SCHEMA_DRI_TITLE](state, payload: VaultSchema) {\n const item = state.schemaDRI.all.find(x => x.dri === payload.dri);\n\n if (item)\n item.title = payload.title;\n },\n [MutationType.SET_VAULT_ITEMS_PAGING](state, payload?: Paging) {\n state.vaultItem.paging = payload;\n },\n [MutationType.SET_UI_IS_FLUID](state, payload: boolean) {\n state.ui.isFluid = payload;\n },\n },\n actions: {\n [ActionType.RESET_VAULT_ITEMS]({ commit }) {\n commit(MutationType.SET_VAULT_ITEMS, undefined);\n commit(MutationType.SET_VAULT_ITEM, undefined);\n commit(MutationType.SET_VAULT_ITEMS_PAGING, undefined);\n },\n async [ActionType.UPDATE_VAULT_ITEM]({ state, commit, dispatch }, payload: VaultPostItem) {\n if (payload.id) {\n await getInstance().updateItem(payload);\n dispatch(ActionType.FETCH_VAULT_ITEM, { id: payload.id } as VaultMinMeta);\n }\n else\n await getInstance().postItem(payload);\n\n },\n async [ActionType.DELETE_VAULT_ITEM]({ state, commit, dispatch }, payload: VaultMeta) {\n await getInstance().deleteItem({\n id: payload.id,\n });\n\n if (state.vaultItem.current?.id === payload.id)\n commit(MutationType.SET_VAULT_ITEM, undefined);\n },\n async [ActionType.FETCH_SCHEMA_DRIS]({ commit, dispatch }) {\n await doFetch(\n commit,\n () => getInstance().getSchemas(),\n (commit, data) => {\n dispatch(ActionType.RESET_VAULT_ITEMS);\n commit(MutationType.SET_SCHEMA_DRIS, data);\n dispatch(ActionType.FETCH_SCHEMAS_TITLE);\n },\n (store, state) => store.schemaDRI.state = state\n );\n },\n async [ActionType.FETCH_REPOS]({ commit, dispatch }) {\n await doFetch(\n commit,\n () => getInstance().getRepos(),\n (commit, data) => {\n dispatch(ActionType.RESET_VAULT_ITEMS);\n commit(MutationType.SET_REPOS, data);\n },\n (store, state) => store.repo.state = state\n );\n },\n async [ActionType.FETCH_VAULT_ITEMS]({ commit, state }, { page, size, repo, schema, fetchContent }: IFetchVaultItems) {\n // reset currently selected vault item if list of vault items is refreshed\n commit(MutationType.SET_VAULT_ITEM, undefined);\n commit(MutationType.SET_CURRENT_SCHEMA, undefined);\n\n if (schema?.dri) {\n try {\n const doc = await soya.pull(schema.dri);\n commit(MutationType.SET_CURRENT_SCHEMA, doc);\n\n const sparql = await soya.getSparqlBuilder(doc);\n const bindings = await sparql.query(`\n PREFIX base: <${doc[\"@context\"][\"@base\"]}>\n SELECT * WHERE {\n ?base a base:OverlayDataBudRendering .\n }`);\n\n // if there is an overlay for DataBudRendering\n // we want to fetch the whole content\n if (bindings.length > 0)\n fetchContent = true;\n } catch { /* if it goes wrong we don't care */ }\n }\n\n await doFetch>(\n commit,\n async () => {\n let query: VaultItemsQuery | undefined = {\n page: {\n page,\n size,\n },\n };\n let instance: Vaultifier;\n\n if (schema) {\n instance = getInstance();\n query = {\n ...query,\n schema: schema?.dri,\n };\n }\n else if (repo) {\n instance = await getInstance().fromRepo(repo.identifier);\n }\n else\n throw new Error('Schema and repo are undefined');\n\n if (fetchContent)\n return instance.getItems(query);\n else\n return instance.getMetaItems(query);\n },\n (commit, data) => {\n commit(MutationType.SET_VAULT_ITEMS, data.items);\n commit(MutationType.SET_VAULT_ITEMS_PAGING, data.paging);\n },\n (store, state) => store.vaultItem.allState = state,\n );\n },\n async[ActionType.FETCH_VAULT_ITEM]({ commit }, payload: VaultMinMeta) {\n await doFetch(\n commit,\n () => getInstance().getItem({ id: payload.id }),\n (commit, data) => commit(MutationType.SET_VAULT_ITEM, data),\n (store, state) => store.vaultItem.currentState = state,\n )\n },\n async[ActionType.FETCH_SCHEMAS_TITLE]({ commit, state }) {\n const infos = await soya.info(state.schemaDRI.all.map(x => x.dri));\n\n for (const info of infos) {\n const schema = state.schemaDRI.all.find(x => x.dri === info.dri);\n\n if (schema) {\n schema.title = info.name;\n commit(MutationType.SET_SCHEMA_DRI_TITLE, schema);\n }\n }\n },\n async[ActionType.TOGGLE_UI_IS_FLUID]({ commit, state }) {\n commit(MutationType.SET_UI_IS_FLUID, !state.ui.isFluid);\n },\n }\n });\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"pills\":\"\",\"card\":\"\"},model:{value:(_vm.activeTabIndex),callback:function ($$v) {_vm.activeTabIndex=$$v},expression:\"activeTabIndex\"}},[(_vm.showRawView)?_c('b-tab',{attrs:{\"title\":\"Raw Data\"}},[_c('raw-data',{attrs:{\"item\":_vm.item,\"isSaving\":_vm.isSaving},on:{\"save\":_vm.saveVaultItem}})],1):_vm._e(),(_vm.hasSchema)?_c('b-tab',{attrs:{\"title\":\"Form\",\"lazy\":\"\"}},[_c('form-edit-view',{attrs:{\"item\":_vm.item,\"schemaDri\":_vm.schemaDri,\"allowSelectSchema\":true,\"hasCancel\":false,\"isSaving\":_vm.isSaving},on:{\"save\":_vm.saveVaultItem}})],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"},[_vm._m(0),_c('raw-json',{attrs:{\"data\":_vm.systemData}}),_c('div',{staticClass:\"top-container\"},[_c('h3',{staticClass:\"heading\"},[_vm._v(\"Meta\")]),_c('b-checkbox',{staticClass:\"check\",model:{value:(_vm.isMetaEditable),callback:function ($$v) {_vm.isMetaEditable=$$v},expression:\"isMetaEditable\"}},[_vm._v(\"Editable\")])],1),(_vm.isMetaEditable)?_c('b-textarea',{staticClass:\"textarea\",attrs:{\"rows\":\"10\"},model:{value:(_vm.editableMeta),callback:function ($$v) {_vm.editableMeta=$$v},expression:\"editableMeta\"}}):_c('raw-json',{attrs:{\"data\":_vm.item.meta}})],1),_c('div',{staticClass:\"col-md-6\"},[_c('div',{staticClass:\"top-container\"},[_c('h3',{staticClass:\"heading\"},[_vm._v(\"Content\")]),(_vm.isEncrypted)?_c('span',{staticClass:\"text-muted\"},[_vm._v(\" (encrypted)\")]):_vm._e(),_c('b-checkbox',{staticClass:\"check\",model:{value:(_vm.isDataEditable),callback:function ($$v) {_vm.isDataEditable=$$v},expression:\"isDataEditable\"}},[_vm._v(\"Editable\")]),(_vm.isDataEditable || _vm.isMetaEditable)?_c('custom-button',{staticClass:\"btn-save\",attrs:{\"type\":_vm.isSaving ? 'primary-outline' : undefined,\"disabled\":_vm.isSaving},on:{\"click\":_vm.save}},[(_vm.isSaving)?_c('spinner'):[_vm._v(\" Save \")]],2):_vm._e()],1),(_vm.isDataEditable)?_c('b-textarea',{staticClass:\"textarea\",attrs:{\"rows\":\"20\"},model:{value:(_vm.editableData),callback:function ($$v) {_vm.editableData=$$v},expression:\"editableData\"}}):_c('raw-json',{attrs:{\"data\":_vm.item.data}})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"top-container\"},[_c('h3',{staticClass:\"heading\"},[_vm._v(\"System\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',{staticClass:\"card\"},[_vm._v(_vm._s(_vm.jsonContent))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue'\nexport default Vue.extend({\n props: [\n 'data',\n ],\n computed: {\n jsonContent(): string {\n return JSON.stringify(this.data, null, 2).trim();\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RawJson.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RawJson.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RawJson.vue?vue&type=template&id=a5a9b48e&scoped=true&\"\nimport script from \"./RawJson.vue?vue&type=script&lang=ts&\"\nexport * from \"./RawJson.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RawJson.vue?vue&type=style&index=0&id=a5a9b48e&scoped=true&lang=css&\"\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 \"a5a9b48e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-button',{attrs:{\"variant\":_vm.computedType},on:{\"click\":_vm.click}},[(_vm.type === 'refresh')?[_c('b-icon',{attrs:{\"icon\":\"arrow-clockwise\",\"aria-label\":\"Refresh\"}}),_vm._t(\"default\")]:_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue'\nexport default Vue.extend({\n props: {\n type: {\n type: String,\n default: 'primary'\n }\n },\n methods: {\n click() {\n this.$emit('click', ...arguments);\n }\n },\n computed: {\n computedType() {\n return this.type === 'refresh' ? 'outline-primary' : this.type;\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Button.vue?vue&type=template&id=235a3e72&\"\nimport script from \"./Button.vue?vue&type=script&lang=ts&\"\nexport * from \"./Button.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// @ts-ignore\nimport { VaultItem, VaultPostItem } from 'vaultifier';\nimport Vue, { PropType } from 'vue'\nimport RawJson from './RawJson.vue';\nimport CustomButton from './Button.vue';\nimport Spinner from './Spinner.vue';\n\ninterface Data {\n isDataEditable: boolean;\n isMetaEditable: boolean;\n editableData: string;\n editableMeta: string;\n}\n\nexport default Vue.extend({\n components: {\n RawJson,\n CustomButton,\n Spinner,\n },\n props: {\n item: {\n type: Object as PropType,\n },\n isSaving: {\n type: Boolean as PropType,\n }\n },\n data: (): Data => ({\n isDataEditable: false,\n isMetaEditable: false,\n editableData: '',\n editableMeta: '',\n }),\n created() {\n this.resetEditableData();\n },\n methods: {\n resetEditableData() {\n this.editableData = JSON.stringify(this.item.data, undefined, 2);\n this.editableMeta = JSON.stringify(this.item.meta, undefined, 2);\n },\n save() {\n console.log('save')\n const postItem: VaultPostItem = {\n ...this.item,\n };\n\n this.$emit('save', postItem);\n },\n },\n watch: {\n editableData(value: string) {\n try {\n this.item.data = JSON.parse(value);\n } catch { /* */ }\n },\n editableMeta(value: string) {\n try {\n this.item.meta = JSON.parse(value);\n } catch { /* */ }\n },\n item() {\n this.resetEditableData();\n },\n },\n computed: {\n systemData(): any {\n const copy = { ...this.item };\n // @ts-ignore\n delete copy.raw;\n // @ts-ignore\n delete copy.data;\n // @ts-ignore\n delete copy.meta;\n return copy;\n },\n isEncrypted(): boolean {\n return this.item.isEncrypted;\n }\n }\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RawData.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RawData.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RawData.vue?vue&type=template&id=21bf251c&scoped=true&\"\nimport script from \"./RawData.vue?vue&type=script&lang=ts&\"\nexport * from \"./RawData.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RawData.vue?vue&type=style&index=0&id=21bf251c&scoped=true&lang=css&\"\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 \"21bf251c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('inline-group',[(_vm.allowSelectSchema && (_vm.showTypeahead || !_vm.hasSelectedStructure))?_c('b-form',{attrs:{\"inline\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}}},[_c('b-typeahead',{attrs:{\"prepend\":\"Search SOyA structure...\",\"serializer\":function (s) { return s.name; },\"data\":_vm.suggestItems},on:{\"hit\":_vm.selectFromTypeahead},model:{value:(_vm.editableText),callback:function ($$v) {_vm.editableText=$$v},expression:\"editableText\"}},[_vm._v(_vm._s(_vm.editableText))])],1):_c('b-button',{on:{\"click\":function($event){_vm.showTypeahead = true}}},[_vm._v(_vm._s(_vm.selectedStructureName))]),_c('div',{staticClass:\"spacer\"}),(_vm.iFrameSrc)?_c('b-button',{attrs:{\"href\":_vm.iFrameSrc,\"target\":\"_blank\",\"variant\":\"success\"}},[_vm._v(\"Open Permalink\")]):_vm._e(),_c('custom-button',{attrs:{\"type\":_vm.isSaving ? 'primary-outline' : undefined,\"disabled\":!_vm.hasSelectedStructure || _vm.isSaving},on:{\"click\":_vm.saveEdit}},[(_vm.isSaving)?_c('spinner'):[_vm._v(\" Save \")]],2),_vm._l((_vm.actions),function(action){return _c('custom-button',{key:action.key,attrs:{\"type\":_vm.isExecutingAction ? 'success-outline' : 'success',\"disabled\":_vm.isExecutingAction},on:{\"click\":function($event){return _vm.executeAction(action)}}},[(_vm.isExecutingAction)?_c('spinner'):[_vm._v(\" \"+_vm._s(action.title)+\" \")]],2)}),(_vm.hasCancel)?_c('custom-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.cancelEdit}},[_vm._v(\"Cancel\")]):_vm._e()],2),(_vm.isLoading)?_c('spinner'):_vm._e(),_c('form-view',{ref:\"form\",attrs:{\"data\":_vm.formData,\"schemaDri\":_vm.selectedStructure ? _vm.selectedStructure.dri : undefined},on:{\"change\":_vm.onDataChange,\"iFrameSrcChange\":_vm.onIFrameSrcChange}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isLoading)?_c('spinner'):_vm._e(),_c('b-container',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasSchemaDri),expression:\"hasSchemaDri\"}],staticClass:\"p-0\"},[_c('b-row',[_c('b-col',[_c('b-form',{ref:\"form\",staticClass:\"form\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('iframe',{ref:\"iframe\",staticClass:\"iframe\",class:{'transparent': _vm.isLoading},attrs:{\"src\":_vm.iFrameSrc}})])],1)],1)],1),(!_vm.hasSchemaDri)?_c('b-alert',{attrs:{\"variant\":\"primary\",\"show\":\"\"}},[_vm._v(\" Please select a form. \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport Spinner from './Spinner.vue';\n\ninterface Data {\n selectedLanguage: string | null,\n selectedTag: string | null,\n isLoading: boolean,\n iFrameSrc: string | null,\n}\n\nexport default Vue.extend({\n data: (): Data => ({\n selectedLanguage: null,\n selectedTag: null,\n isLoading: false,\n iFrameSrc: null,\n }),\n props: {\n data: {\n type: Object,\n required: false,\n default: () => ({}),\n },\n schemaDri: String,\n },\n components: {\n Spinner,\n },\n mounted() {\n window.addEventListener('message', (evt: MessageEvent) => {\n // ignore all messages that are created from this window\n if (evt.source === window)\n return;\n\n const iframe = this.iframe;\n\n switch (evt.data?.type) {\n case 'update':\n this.isLoading = false;\n if (iframe)\n iframe.style.height = evt.data.documentHeight + 'px';\n break;\n case 'data':\n this.$emit('change', evt.data.evt);\n break;\n }\n });\n },\n methods: {\n async reload() {\n if (!this.schemaDri)\n return;\n\n this.isLoading = true;\n\n const { searchParams: windowParams } = new URL(window.location.href);\n // one can specify a different form url via URL params\n const url = new URL(windowParams.get('FORM_URL') || 'https://soya-form.ownyourdata.eu');\n const { searchParams: params } = url;\n\n params.append('viewMode', 'embedded');\n params.append('schemaDri', this.schemaDri);\n params.append('data', encodeURIComponent(JSON.stringify(this.data)));\n\n this.iFrameSrc = url.toString();\n },\n },\n watch: {\n schemaDri() {\n this.reload();\n },\n data() {\n this.iframe?.contentWindow?.postMessage({\n type: 'data',\n data: this.data,\n }, '*');\n },\n iFrameSrc() {\n this.$emit('iFrameSrcChange', this.iFrameSrc);\n }\n },\n computed: {\n hasSchemaDri(): boolean {\n return !!this.schemaDri;\n },\n iframe(): HTMLIFrameElement | undefined {\n return this.$refs.iframe as unknown as HTMLIFrameElement;\n }\n },\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormView.vue?vue&type=template&id=a7b2bdd0&scoped=true&\"\nimport script from \"./FormView.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FormView.vue?vue&type=style&index=0&id=a7b2bdd0&scoped=true&lang=css&\"\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 \"a7b2bdd0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"inline-group\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./InlineGroup.vue?vue&type=template&id=65fc9698&scoped=true&\"\nvar script = {}\nimport style0 from \"./InlineGroup.vue?vue&type=style&index=0&id=65fc9698&scoped=true&lang=css&\"\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 \"65fc9698\",\n null\n \n)\n\nexport default component.exports","import { i18nObject } from \"vaultifier\";\n\n// currently vaultifier only supports English\nconst language = 'en';\n\nexport const getTranslation = (obj: i18nObject | string) => {\n if (typeof obj === 'string')\n return obj;\n\n return obj[language];\n}","import Vue from 'vue';\n\nexport const dummyComponent = Vue.extend({\n beforeCreate() {\n throw new Error('Do not use the default export but use the factory function instead!');\n },\n});","// Taken from https://github.com/johan/js-deflate\n// Speficially: https://github.com/johan/js-deflate/blob/master/rawdeflate.js\n\n// @ts-nocheck\n\n/*\n * $Id: rawdeflate.js,v 0.3 2009/03/01 19:05:05 dankogai Exp dankogai $\n *\n * Original:\n * http://www.onicos.com/staff/iz/amuse/javascript/expert/deflate.txt\n */\n\n// if run as a web worker, respond to messages by deflating them\nexport const deflate = (function () {\n\n /* Copyright (C) 1999 Masanao Izumo \n * Version: 1.0.1\n * LastModified: Dec 25 1999\n */\n\n /* Interface:\n * data = deflate(src);\n */\n\n /* constant parameters */\n var zip_WSIZE = 32768;\t\t// Sliding Window size\n var zip_STORED_BLOCK = 0;\n var zip_STATIC_TREES = 1;\n var zip_DYN_TREES = 2;\n\n /* for deflate */\n var zip_DEFAULT_LEVEL = 6;\n var zip_FULL_SEARCH = true;\n var zip_INBUFSIZ = 32768;\t// Input buffer size\n var zip_INBUF_EXTRA = 64;\t// Extra buffer\n var zip_OUTBUFSIZ = 1024 * 8;\n var zip_window_size = 2 * zip_WSIZE;\n var zip_MIN_MATCH = 3;\n var zip_MAX_MATCH = 258;\n var zip_BITS = 16;\n // for SMALL_MEM\n var zip_LIT_BUFSIZE = 0x2000;\n var zip_HASH_BITS = 13;\n // for MEDIUM_MEM\n // var zip_LIT_BUFSIZE = 0x4000;\n // var zip_HASH_BITS = 14;\n // for BIG_MEM\n // var zip_LIT_BUFSIZE = 0x8000;\n // var zip_HASH_BITS = 15;\n //if(zip_LIT_BUFSIZE > zip_INBUFSIZ)\n // alert(\"error: zip_INBUFSIZ is too small\");\n //if((zip_WSIZE<<1) > (1< zip_BITS-1)\n // alert(\"error: zip_HASH_BITS is too large\");\n //if(zip_HASH_BITS < 8 || zip_MAX_MATCH != 258)\n // alert(\"error: Code too clever\");\n var zip_DIST_BUFSIZE = zip_LIT_BUFSIZE;\n var zip_HASH_SIZE = 1 << zip_HASH_BITS;\n var zip_HASH_MASK = zip_HASH_SIZE - 1;\n var zip_WMASK = zip_WSIZE - 1;\n var zip_NIL = 0; // Tail of hash chains\n var zip_TOO_FAR = 4096;\n var zip_MIN_LOOKAHEAD = zip_MAX_MATCH + zip_MIN_MATCH + 1;\n var zip_MAX_DIST = zip_WSIZE - zip_MIN_LOOKAHEAD;\n var zip_SMALLEST = 1;\n var zip_MAX_BITS = 15;\n var zip_MAX_BL_BITS = 7;\n var zip_LENGTH_CODES = 29;\n var zip_LITERALS = 256;\n var zip_END_BLOCK = 256;\n var zip_L_CODES = zip_LITERALS + 1 + zip_LENGTH_CODES;\n var zip_D_CODES = 30;\n var zip_BL_CODES = 19;\n var zip_REP_3_6 = 16;\n var zip_REPZ_3_10 = 17;\n var zip_REPZ_11_138 = 18;\n var zip_HEAP_SIZE = 2 * zip_L_CODES + 1;\n var zip_H_SHIFT = parseInt((zip_HASH_BITS + zip_MIN_MATCH - 1) /\n zip_MIN_MATCH);\n\n /* variables */\n var zip_free_queue;\n var zip_qhead, zip_qtail;\n var zip_initflag;\n var zip_outbuf = null;\n var zip_outcnt, zip_outoff;\n var zip_complete;\n var zip_window;\n var zip_d_buf;\n var zip_l_buf;\n var zip_prev;\n var zip_bi_buf;\n var zip_bi_valid;\n var zip_block_start;\n var zip_ins_h;\n var zip_hash_head;\n var zip_prev_match;\n var zip_match_available;\n var zip_match_length;\n var zip_prev_length;\n var zip_strstart;\n var zip_match_start;\n var zip_eofile;\n var zip_lookahead;\n var zip_max_chain_length;\n var zip_max_lazy_match;\n var zip_compr_level;\n var zip_good_match;\n var zip_nice_match;\n var zip_dyn_ltree;\n var zip_dyn_dtree;\n var zip_static_ltree;\n var zip_static_dtree;\n var zip_bl_tree;\n var zip_l_desc;\n var zip_d_desc;\n var zip_bl_desc;\n var zip_bl_count;\n var zip_heap;\n var zip_heap_len;\n var zip_heap_max;\n var zip_depth;\n var zip_length_code;\n var zip_dist_code;\n var zip_base_length;\n var zip_base_dist;\n var zip_flag_buf;\n var zip_last_lit;\n var zip_last_dist;\n var zip_last_flags;\n var zip_flags;\n var zip_flag_bit;\n var zip_opt_len;\n var zip_static_len;\n var zip_deflate_data;\n var zip_deflate_pos;\n\n /* objects (deflate) */\n\n function zip_DeflateCT() {\n this.fc = 0; // frequency count or bit string\n this.dl = 0; // father node in Huffman tree or length of bit string\n }\n\n function zip_DeflateTreeDesc() {\n this.dyn_tree = null;\t// the dynamic tree\n this.static_tree = null;\t// corresponding static tree or NULL\n this.extra_bits = null;\t// extra bits for each code or NULL\n this.extra_base = 0;\t// base index for extra_bits\n this.elems = 0;\t\t// max number of elements in the tree\n this.max_length = 0;\t// max bit length for the codes\n this.max_code = 0;\t\t// largest code with non zero frequency\n }\n\n /* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\n function zip_DeflateConfiguration(a, b, c, d) {\n this.good_length = a; // reduce lazy search above this match length\n this.max_lazy = b; // do not perform lazy search above this match length\n this.nice_length = c; // quit search above this match length\n this.max_chain = d;\n }\n\n function zip_DeflateBuffer() {\n this.next = null;\n this.len = 0;\n this.ptr = new Array(zip_OUTBUFSIZ);\n this.off = 0;\n }\n\n /* constant tables */\n var zip_extra_lbits = [\n 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0];\n var zip_extra_dbits = [\n 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13];\n var zip_extra_blbits = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7];\n var zip_bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n var zip_configuration_table = [\n new zip_DeflateConfiguration(0, 0, 0, 0),\n new zip_DeflateConfiguration(4, 4, 8, 4),\n new zip_DeflateConfiguration(4, 5, 16, 8),\n new zip_DeflateConfiguration(4, 6, 32, 32),\n new zip_DeflateConfiguration(4, 4, 16, 16),\n new zip_DeflateConfiguration(8, 16, 32, 32),\n new zip_DeflateConfiguration(8, 16, 128, 128),\n new zip_DeflateConfiguration(8, 32, 128, 256),\n new zip_DeflateConfiguration(32, 128, 258, 1024),\n new zip_DeflateConfiguration(32, 258, 258, 4096)];\n\n\n /* routines (deflate) */\n\n function zip_deflate_start(level) {\n var i;\n\n if (!level)\n level = zip_DEFAULT_LEVEL;\n else if (level < 1)\n level = 1;\n else if (level > 9)\n level = 9;\n\n zip_compr_level = level;\n zip_initflag = false;\n zip_eofile = false;\n if (zip_outbuf != null)\n return;\n\n zip_free_queue = zip_qhead = zip_qtail = null;\n zip_outbuf = new Array(zip_OUTBUFSIZ);\n zip_window = new Array(zip_window_size);\n zip_d_buf = new Array(zip_DIST_BUFSIZE);\n zip_l_buf = new Array(zip_INBUFSIZ + zip_INBUF_EXTRA);\n zip_prev = new Array(1 << zip_BITS);\n zip_dyn_ltree = new Array(zip_HEAP_SIZE);\n for (i = 0; i < zip_HEAP_SIZE; i++)\n zip_dyn_ltree[i] = new zip_DeflateCT();\n zip_dyn_dtree = new Array(2 * zip_D_CODES + 1);\n for (i = 0; i < 2 * zip_D_CODES + 1; i++)\n zip_dyn_dtree[i] = new zip_DeflateCT();\n zip_static_ltree = new Array(zip_L_CODES + 2);\n for (i = 0; i < zip_L_CODES + 2; i++)\n zip_static_ltree[i] = new zip_DeflateCT();\n zip_static_dtree = new Array(zip_D_CODES);\n for (i = 0; i < zip_D_CODES; i++)\n zip_static_dtree[i] = new zip_DeflateCT();\n zip_bl_tree = new Array(2 * zip_BL_CODES + 1);\n for (i = 0; i < 2 * zip_BL_CODES + 1; i++)\n zip_bl_tree[i] = new zip_DeflateCT();\n zip_l_desc = new zip_DeflateTreeDesc();\n zip_d_desc = new zip_DeflateTreeDesc();\n zip_bl_desc = new zip_DeflateTreeDesc();\n zip_bl_count = new Array(zip_MAX_BITS + 1);\n zip_heap = new Array(2 * zip_L_CODES + 1);\n zip_depth = new Array(2 * zip_L_CODES + 1);\n zip_length_code = new Array(zip_MAX_MATCH - zip_MIN_MATCH + 1);\n zip_dist_code = new Array(512);\n zip_base_length = new Array(zip_LENGTH_CODES);\n zip_base_dist = new Array(zip_D_CODES);\n zip_flag_buf = new Array(parseInt(zip_LIT_BUFSIZE / 8));\n }\n\n function zip_deflate_end() {\n zip_free_queue = zip_qhead = zip_qtail = null;\n zip_outbuf = null;\n zip_window = null;\n zip_d_buf = null;\n zip_l_buf = null;\n zip_prev = null;\n zip_dyn_ltree = null;\n zip_dyn_dtree = null;\n zip_static_ltree = null;\n zip_static_dtree = null;\n zip_bl_tree = null;\n zip_l_desc = null;\n zip_d_desc = null;\n zip_bl_desc = null;\n zip_bl_count = null;\n zip_heap = null;\n zip_depth = null;\n zip_length_code = null;\n zip_dist_code = null;\n zip_base_length = null;\n zip_base_dist = null;\n zip_flag_buf = null;\n }\n\n function zip_reuse_queue(p) {\n p.next = zip_free_queue;\n zip_free_queue = p;\n }\n\n function zip_new_queue() {\n var p;\n\n if (zip_free_queue != null) {\n p = zip_free_queue;\n zip_free_queue = zip_free_queue.next;\n }\n else\n p = new zip_DeflateBuffer();\n p.next = null;\n p.len = p.off = 0;\n\n return p;\n }\n\n function zip_head1(i) {\n return zip_prev[zip_WSIZE + i];\n }\n\n function zip_head2(i, val) {\n return zip_prev[zip_WSIZE + i] = val;\n }\n\n /* put_byte is used for the compressed output, put_ubyte for the\n * uncompressed output. However unlzw() uses window for its\n * suffix table instead of its output buffer, so it does not use put_ubyte\n * (to be cleaned up).\n */\n function zip_put_byte(c) {\n zip_outbuf[zip_outoff + zip_outcnt++] = c;\n if (zip_outoff + zip_outcnt == zip_OUTBUFSIZ)\n zip_qoutbuf();\n }\n\n /* Output a 16 bit value, lsb first */\n function zip_put_short(w) {\n w &= 0xffff;\n if (zip_outoff + zip_outcnt < zip_OUTBUFSIZ - 2) {\n zip_outbuf[zip_outoff + zip_outcnt++] = (w & 0xff);\n zip_outbuf[zip_outoff + zip_outcnt++] = (w >>> 8);\n } else {\n zip_put_byte(w & 0xff);\n zip_put_byte(w >>> 8);\n }\n }\n\n /* ==========================================================================\n * Insert string s in the dictionary and set match_head to the previous head\n * of the hash chain (the most recent string with same hash key). Return\n * the previous length of the hash chain.\n * IN assertion: all calls to to INSERT_STRING are made with consecutive\n * input characters and the first MIN_MATCH bytes of s are valid\n * (except for the last MIN_MATCH-1 bytes of the input file).\n */\n function zip_INSERT_STRING() {\n zip_ins_h = ((zip_ins_h << zip_H_SHIFT)\n ^ (zip_window[zip_strstart + zip_MIN_MATCH - 1] & 0xff))\n & zip_HASH_MASK;\n zip_hash_head = zip_head1(zip_ins_h);\n zip_prev[zip_strstart & zip_WMASK] = zip_hash_head;\n zip_head2(zip_ins_h, zip_strstart);\n }\n\n /* Send a code of the given tree. c and tree must not have side effects */\n function zip_SEND_CODE(c, tree) {\n zip_send_bits(tree[c].fc, tree[c].dl);\n }\n\n /* Mapping from a distance to a distance code. dist is the distance - 1 and\n * must not have side effects. dist_code[256] and dist_code[257] are never\n * used.\n */\n function zip_D_CODE(dist) {\n return (dist < 256 ? zip_dist_code[dist]\n : zip_dist_code[256 + (dist >> 7)]) & 0xff;\n }\n\n /* ==========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\n function zip_SMALLER(tree, n, m) {\n return tree[n].fc < tree[m].fc ||\n (tree[n].fc == tree[m].fc && zip_depth[n] <= zip_depth[m]);\n }\n\n /* ==========================================================================\n * read string data\n */\n function zip_read_buff(buff, offset, n) {\n var i;\n for (i = 0; i < n && zip_deflate_pos < zip_deflate_data.length; i++)\n buff[offset + i] =\n zip_deflate_data.charCodeAt(zip_deflate_pos++) & 0xff;\n return i;\n }\n\n /* ==========================================================================\n * Initialize the \"longest match\" routines for a new file\n */\n function zip_lm_init() {\n var j;\n\n /* Initialize the hash table. */\n for (j = 0; j < zip_HASH_SIZE; j++)\n //\tzip_head2(j, zip_NIL);\n zip_prev[zip_WSIZE + j] = 0;\n /* prev will be initialized on the fly */\n\n /* Set the default configuration parameters:\n */\n zip_max_lazy_match = zip_configuration_table[zip_compr_level].max_lazy;\n zip_good_match = zip_configuration_table[zip_compr_level].good_length;\n if (!zip_FULL_SEARCH)\n zip_nice_match = zip_configuration_table[zip_compr_level].nice_length;\n zip_max_chain_length = zip_configuration_table[zip_compr_level].max_chain;\n\n zip_strstart = 0;\n zip_block_start = 0;\n\n zip_lookahead = zip_read_buff(zip_window, 0, 2 * zip_WSIZE);\n if (zip_lookahead <= 0) {\n zip_eofile = true;\n zip_lookahead = 0;\n return;\n }\n zip_eofile = false;\n /* Make sure that we always have enough lookahead. This is important\n * if input comes from a device such as a tty.\n */\n while (zip_lookahead < zip_MIN_LOOKAHEAD && !zip_eofile)\n zip_fill_window();\n\n /* If lookahead < MIN_MATCH, ins_h is garbage, but this is\n * not important since only literal bytes will be emitted.\n */\n zip_ins_h = 0;\n for (j = 0; j < zip_MIN_MATCH - 1; j++) {\n // UPDATE_HASH(ins_h, window[j]);\n zip_ins_h = ((zip_ins_h << zip_H_SHIFT) ^ (zip_window[j] & 0xff)) & zip_HASH_MASK;\n }\n }\n\n /* ==========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n */\n function zip_longest_match(cur_match) {\n var chain_length = zip_max_chain_length; // max hash chain length\n var scanp = zip_strstart; // current string\n var matchp;\t\t// matched string\n var len;\t\t// length of current match\n var best_len = zip_prev_length;\t// best match length so far\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n var limit = (zip_strstart > zip_MAX_DIST ? zip_strstart - zip_MAX_DIST : zip_NIL);\n\n var strendp = zip_strstart + zip_MAX_MATCH;\n var scan_end1 = zip_window[scanp + best_len - 1];\n var scan_end = zip_window[scanp + best_len];\n\n /* Do not waste too much time if we already have a good match: */\n if (zip_prev_length >= zip_good_match)\n chain_length >>= 2;\n\n // Assert(encoder->strstart <= window_size-MIN_LOOKAHEAD, \"insufficient lookahead\");\n\n do {\n // Assert(cur_match < encoder->strstart, \"no future\");\n matchp = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2:\n */\n if (zip_window[matchp + best_len] != scan_end ||\n zip_window[matchp + best_len - 1] != scan_end1 ||\n zip_window[matchp] != zip_window[scanp] ||\n zip_window[++matchp] != zip_window[scanp + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scanp += 2;\n matchp++;\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n // eslint-disable-next-line no-empty\n do {\n } while (zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n scanp < strendp);\n\n len = zip_MAX_MATCH - (strendp - scanp);\n scanp = strendp - zip_MAX_MATCH;\n\n if (len > best_len) {\n zip_match_start = cur_match;\n best_len = len;\n if (zip_FULL_SEARCH) {\n if (len >= zip_MAX_MATCH) break;\n } else {\n if (len >= zip_nice_match) break;\n }\n\n scan_end1 = zip_window[scanp + best_len - 1];\n scan_end = zip_window[scanp + best_len];\n }\n } while ((cur_match = zip_prev[cur_match & zip_WMASK]) > limit\n && --chain_length != 0);\n\n return best_len;\n }\n\n /* ==========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead, and sets eofile if end of input file.\n * IN assertion: lookahead < MIN_LOOKAHEAD && strstart + lookahead > 0\n * OUT assertions: at least one byte has been read, or eofile is set;\n * file reads are performed for at least two bytes (required for the\n * translate_eol option).\n */\n function zip_fill_window() {\n var n, m;\n\n // Amount of free space at the end of the window.\n var more = zip_window_size - zip_lookahead - zip_strstart;\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (more == -1) {\n /* Very unlikely, but possible on 16 bit machine if strstart == 0\n * and lookahead == 1 (input done one byte at time)\n */\n more--;\n } else if (zip_strstart >= zip_WSIZE + zip_MAX_DIST) {\n /* By the IN assertion, the window is not empty so we can't confuse\n * more == 0 with more == 64K on a 16 bit machine.\n */\n //\tAssert(window_size == (ulg)2*WSIZE, \"no sliding with BIG_MEM\");\n\n //\tSystem.arraycopy(window, WSIZE, window, 0, WSIZE);\n for (n = 0; n < zip_WSIZE; n++)\n zip_window[n] = zip_window[n + zip_WSIZE];\n\n zip_match_start -= zip_WSIZE;\n zip_strstart -= zip_WSIZE; /* we now have strstart >= MAX_DIST: */\n zip_block_start -= zip_WSIZE;\n\n for (n = 0; n < zip_HASH_SIZE; n++) {\n m = zip_head1(n);\n zip_head2(n, m >= zip_WSIZE ? m - zip_WSIZE : zip_NIL);\n }\n for (n = 0; n < zip_WSIZE; n++) {\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n m = zip_prev[n];\n zip_prev[n] = (m >= zip_WSIZE ? m - zip_WSIZE : zip_NIL);\n }\n more += zip_WSIZE;\n }\n // At this point, more >= 2\n if (!zip_eofile) {\n n = zip_read_buff(zip_window, zip_strstart + zip_lookahead, more);\n if (n <= 0)\n zip_eofile = true;\n else\n zip_lookahead += n;\n }\n }\n\n /* ==========================================================================\n * Processes a new input file and return its compressed length. This\n * function does not perform lazy evaluationof matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\n function zip_deflate_fast() {\n while (zip_lookahead != 0 && zip_qhead == null) {\n var flush; // set if current block must be flushed\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n zip_INSERT_STRING();\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (zip_hash_head != zip_NIL &&\n zip_strstart - zip_hash_head <= zip_MAX_DIST) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n zip_match_length = zip_longest_match(zip_hash_head);\n /* longest_match() sets match_start */\n if (zip_match_length > zip_lookahead)\n zip_match_length = zip_lookahead;\n }\n if (zip_match_length >= zip_MIN_MATCH) {\n //\t check_match(strstart, match_start, match_length);\n\n flush = zip_ct_tally(zip_strstart - zip_match_start,\n zip_match_length - zip_MIN_MATCH);\n zip_lookahead -= zip_match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (zip_match_length <= zip_max_lazy_match) {\n zip_match_length--; // string at strstart already in hash table\n do {\n zip_strstart++;\n zip_INSERT_STRING();\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead. If lookahead < MIN_MATCH\n * these bytes are garbage, but it does not matter since\n * the next lookahead bytes will be emitted as literals.\n */\n } while (--zip_match_length != 0);\n zip_strstart++;\n } else {\n zip_strstart += zip_match_length;\n zip_match_length = 0;\n zip_ins_h = zip_window[zip_strstart] & 0xff;\n //\t\tUPDATE_HASH(ins_h, window[strstart + 1]);\n zip_ins_h = ((zip_ins_h << zip_H_SHIFT) ^ (zip_window[zip_strstart + 1] & 0xff)) & zip_HASH_MASK;\n\n //#if MIN_MATCH != 3\n //\t\tCall UPDATE_HASH() MIN_MATCH-3 more times\n //#endif\n\n }\n } else {\n /* No match, output a literal byte */\n flush = zip_ct_tally(0, zip_window[zip_strstart] & 0xff);\n zip_lookahead--;\n zip_strstart++;\n }\n if (flush) {\n zip_flush_block(0);\n zip_block_start = zip_strstart;\n }\n\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n while (zip_lookahead < zip_MIN_LOOKAHEAD && !zip_eofile)\n zip_fill_window();\n }\n }\n\n function zip_deflate_better() {\n /* Process the input block. */\n while (zip_lookahead != 0 && zip_qhead == null) {\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n zip_INSERT_STRING();\n\n /* Find the longest match, discarding those <= prev_length.\n */\n zip_prev_length = zip_match_length;\n zip_prev_match = zip_match_start;\n zip_match_length = zip_MIN_MATCH - 1;\n\n if (zip_hash_head != zip_NIL &&\n zip_prev_length < zip_max_lazy_match &&\n zip_strstart - zip_hash_head <= zip_MAX_DIST) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n zip_match_length = zip_longest_match(zip_hash_head);\n /* longest_match() sets match_start */\n if (zip_match_length > zip_lookahead)\n zip_match_length = zip_lookahead;\n\n /* Ignore a length 3 match if it is too distant: */\n if (zip_match_length == zip_MIN_MATCH &&\n zip_strstart - zip_match_start > zip_TOO_FAR) {\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n zip_match_length--;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (zip_prev_length >= zip_MIN_MATCH &&\n zip_match_length <= zip_prev_length) {\n var flush; // set if current block must be flushed\n\n //\t check_match(strstart - 1, prev_match, prev_length);\n flush = zip_ct_tally(zip_strstart - 1 - zip_prev_match,\n zip_prev_length - zip_MIN_MATCH);\n\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted.\n */\n zip_lookahead -= zip_prev_length - 1;\n zip_prev_length -= 2;\n do {\n zip_strstart++;\n zip_INSERT_STRING();\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead. If lookahead < MIN_MATCH\n * these bytes are garbage, but it does not matter since the\n * next lookahead bytes will always be emitted as literals.\n */\n } while (--zip_prev_length != 0);\n zip_match_available = 0;\n zip_match_length = zip_MIN_MATCH - 1;\n zip_strstart++;\n if (flush) {\n zip_flush_block(0);\n zip_block_start = zip_strstart;\n }\n } else if (zip_match_available != 0) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n if (zip_ct_tally(0, zip_window[zip_strstart - 1] & 0xff)) {\n zip_flush_block(0);\n zip_block_start = zip_strstart;\n }\n zip_strstart++;\n zip_lookahead--;\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n zip_match_available = 1;\n zip_strstart++;\n zip_lookahead--;\n }\n\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n while (zip_lookahead < zip_MIN_LOOKAHEAD && !zip_eofile)\n zip_fill_window();\n }\n }\n\n function zip_init_deflate() {\n if (zip_eofile)\n return;\n zip_bi_buf = 0;\n zip_bi_valid = 0;\n zip_ct_init();\n zip_lm_init();\n\n zip_qhead = null;\n zip_outcnt = 0;\n zip_outoff = 0;\n\n if (zip_compr_level <= 3) {\n zip_prev_length = zip_MIN_MATCH - 1;\n zip_match_length = 0;\n }\n else {\n zip_match_length = zip_MIN_MATCH - 1;\n zip_match_available = 0;\n }\n\n zip_complete = false;\n }\n\n /* ==========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\n function zip_deflate_internal(buff, off, buff_size) {\n var n;\n\n if (!zip_initflag) {\n zip_init_deflate();\n zip_initflag = true;\n if (zip_lookahead == 0) { // empty\n zip_complete = true;\n return 0;\n }\n }\n\n if ((n = zip_qcopy(buff, off, buff_size)) == buff_size)\n return buff_size;\n\n if (zip_complete)\n return n;\n\n if (zip_compr_level <= 3) // optimized for speed\n zip_deflate_fast();\n else\n zip_deflate_better();\n if (zip_lookahead == 0) {\n if (zip_match_available != 0)\n zip_ct_tally(0, zip_window[zip_strstart - 1] & 0xff);\n zip_flush_block(1);\n zip_complete = true;\n }\n return n + zip_qcopy(buff, n + off, buff_size - n);\n }\n\n function zip_qcopy(buff, off, buff_size) {\n var n, i, j;\n\n n = 0;\n while (zip_qhead != null && n < buff_size) {\n i = buff_size - n;\n if (i > zip_qhead.len)\n i = zip_qhead.len;\n // System.arraycopy(qhead.ptr, qhead.off, buff, off + n, i);\n for (j = 0; j < i; j++)\n buff[off + n + j] = zip_qhead.ptr[zip_qhead.off + j];\n\n zip_qhead.off += i;\n zip_qhead.len -= i;\n n += i;\n if (zip_qhead.len == 0) {\n var p;\n p = zip_qhead;\n zip_qhead = zip_qhead.next;\n zip_reuse_queue(p);\n }\n }\n\n if (n == buff_size)\n return n;\n\n if (zip_outoff < zip_outcnt) {\n i = buff_size - n;\n if (i > zip_outcnt - zip_outoff)\n i = zip_outcnt - zip_outoff;\n // System.arraycopy(outbuf, outoff, buff, off + n, i);\n for (j = 0; j < i; j++)\n buff[off + n + j] = zip_outbuf[zip_outoff + j];\n zip_outoff += i;\n n += i;\n if (zip_outcnt == zip_outoff)\n zip_outcnt = zip_outoff = 0;\n }\n return n;\n }\n\n /* ==========================================================================\n * Allocate the match buffer, initialize the various tables and save the\n * location of the internal file attribute (ascii/binary) and method\n * (DEFLATE/STORE).\n */\n function zip_ct_init() {\n var n;\t// iterates over tree elements\n var bits;\t// bit counter\n var length;\t// length value\n var code;\t// code value\n var dist;\t// distance index\n\n if (zip_static_dtree[0].dl != 0) return; // ct_init already called\n\n zip_l_desc.dyn_tree = zip_dyn_ltree;\n zip_l_desc.static_tree = zip_static_ltree;\n zip_l_desc.extra_bits = zip_extra_lbits;\n zip_l_desc.extra_base = zip_LITERALS + 1;\n zip_l_desc.elems = zip_L_CODES;\n zip_l_desc.max_length = zip_MAX_BITS;\n zip_l_desc.max_code = 0;\n\n zip_d_desc.dyn_tree = zip_dyn_dtree;\n zip_d_desc.static_tree = zip_static_dtree;\n zip_d_desc.extra_bits = zip_extra_dbits;\n zip_d_desc.extra_base = 0;\n zip_d_desc.elems = zip_D_CODES;\n zip_d_desc.max_length = zip_MAX_BITS;\n zip_d_desc.max_code = 0;\n\n zip_bl_desc.dyn_tree = zip_bl_tree;\n zip_bl_desc.static_tree = null;\n zip_bl_desc.extra_bits = zip_extra_blbits;\n zip_bl_desc.extra_base = 0;\n zip_bl_desc.elems = zip_BL_CODES;\n zip_bl_desc.max_length = zip_MAX_BL_BITS;\n zip_bl_desc.max_code = 0;\n\n // Initialize the mapping length (0..255) -> length code (0..28)\n length = 0;\n for (code = 0; code < zip_LENGTH_CODES - 1; code++) {\n zip_base_length[code] = length;\n for (n = 0; n < (1 << zip_extra_lbits[code]); n++)\n zip_length_code[length++] = code;\n }\n // Assert (length == 256, \"ct_init: length != 256\");\n\n /* Note that the length 255 (match length 258) can be represented\n * in two different ways: code 284 + 5 bits or code 285, so we\n * overwrite length_code[255] to use the best encoding:\n */\n zip_length_code[length - 1] = code;\n\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n dist = 0;\n for (code = 0; code < 16; code++) {\n zip_base_dist[code] = dist;\n for (n = 0; n < (1 << zip_extra_dbits[code]); n++) {\n zip_dist_code[dist++] = code;\n }\n }\n // Assert (dist == 256, \"ct_init: dist != 256\");\n dist >>= 7; // from now on, all distances are divided by 128\n for (; code < zip_D_CODES; code++) {\n zip_base_dist[code] = dist << 7;\n for (n = 0; n < (1 << (zip_extra_dbits[code] - 7)); n++)\n zip_dist_code[256 + dist++] = code;\n }\n // Assert (dist == 256, \"ct_init: 256+dist != 512\");\n\n // Construct the codes of the static literal tree\n for (bits = 0; bits <= zip_MAX_BITS; bits++)\n zip_bl_count[bits] = 0;\n n = 0;\n while (n <= 143) { zip_static_ltree[n++].dl = 8; zip_bl_count[8]++; }\n while (n <= 255) { zip_static_ltree[n++].dl = 9; zip_bl_count[9]++; }\n while (n <= 279) { zip_static_ltree[n++].dl = 7; zip_bl_count[7]++; }\n while (n <= 287) { zip_static_ltree[n++].dl = 8; zip_bl_count[8]++; }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n zip_gen_codes(zip_static_ltree, zip_L_CODES + 1);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < zip_D_CODES; n++) {\n zip_static_dtree[n].dl = 5;\n zip_static_dtree[n].fc = zip_bi_reverse(n, 5);\n }\n\n // Initialize the first block of the first file:\n zip_init_block();\n }\n\n /* ==========================================================================\n * Initialize a new block.\n */\n function zip_init_block() {\n var n; // iterates over tree elements\n\n // Initialize the trees.\n for (n = 0; n < zip_L_CODES; n++) zip_dyn_ltree[n].fc = 0;\n for (n = 0; n < zip_D_CODES; n++) zip_dyn_dtree[n].fc = 0;\n for (n = 0; n < zip_BL_CODES; n++) zip_bl_tree[n].fc = 0;\n\n zip_dyn_ltree[zip_END_BLOCK].fc = 1;\n zip_opt_len = zip_static_len = 0;\n zip_last_lit = zip_last_dist = zip_last_flags = 0;\n zip_flags = 0;\n zip_flag_bit = 1;\n }\n\n /* ==========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\n function zip_pqdownheap(\n tree,\t// the tree to restore\n k) {\t// node to move down\n var v = zip_heap[k];\n var j = k << 1;\t// left son of k\n\n while (j <= zip_heap_len) {\n // Set j to the smallest of the two sons:\n if (j < zip_heap_len &&\n zip_SMALLER(tree, zip_heap[j + 1], zip_heap[j]))\n j++;\n\n // Exit if v is smaller than both sons\n if (zip_SMALLER(tree, v, zip_heap[j]))\n break;\n\n // Exchange v with the smallest son\n zip_heap[k] = zip_heap[j];\n k = j;\n\n // And continue down the tree, setting j to the left son of k\n j <<= 1;\n }\n zip_heap[k] = v;\n }\n\n /* ==========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\n function zip_gen_bitlen(desc) { // the tree descriptor\n var tree = desc.dyn_tree;\n var extra = desc.extra_bits;\n var base = desc.extra_base;\n var max_code = desc.max_code;\n var max_length = desc.max_length;\n var stree = desc.static_tree;\n var h;\t\t// heap index\n var n, m;\t\t// iterate over the tree elements\n var bits;\t\t// bit length\n var xbits;\t\t// extra bits\n var f;\t\t// frequency\n var overflow = 0;\t// number of elements with bit length too large\n\n for (bits = 0; bits <= zip_MAX_BITS; bits++)\n zip_bl_count[bits] = 0;\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[zip_heap[zip_heap_max]].dl = 0; // root of the heap\n\n for (h = zip_heap_max + 1; h < zip_HEAP_SIZE; h++) {\n n = zip_heap[h];\n bits = tree[tree[n].dl].dl + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n].dl = bits;\n // We overwrite tree[n].dl which is no longer needed\n\n if (n > max_code)\n continue; // not a leaf node\n\n zip_bl_count[bits]++;\n xbits = 0;\n if (n >= base)\n xbits = extra[n - base];\n f = tree[n].fc;\n zip_opt_len += f * (bits + xbits);\n if (stree != null)\n zip_static_len += f * (stree[n].dl + xbits);\n }\n if (overflow == 0)\n return;\n\n // This happens for example on obj2 and pic of the Calgary corpus\n\n // Find the first bit length which could increase:\n do {\n bits = max_length - 1;\n while (zip_bl_count[bits] == 0)\n bits--;\n zip_bl_count[bits]--;\t\t// move one leaf down the tree\n zip_bl_count[bits + 1] += 2;\t// move one overflow item as its brother\n zip_bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits != 0; bits--) {\n n = zip_bl_count[bits];\n while (n != 0) {\n m = zip_heap[--h];\n if (m > max_code)\n continue;\n if (tree[m].dl != bits) {\n zip_opt_len += (bits - tree[m].dl) * tree[m].fc;\n tree[m].fc = bits;\n }\n n--;\n }\n }\n }\n\n /* ==========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\n function zip_gen_codes(tree,\t// the tree to decorate\n max_code) {\t// largest code with non zero frequency\n var next_code = new Array(zip_MAX_BITS + 1); // next code value for each bit length\n var code = 0;\t\t// running code value\n var bits;\t\t\t// bit index\n var n;\t\t\t// code index\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= zip_MAX_BITS; bits++) {\n code = ((code + zip_bl_count[bits - 1]) << 1);\n next_code[bits] = code;\n }\n\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n // Assert (code + encoder->bl_count[MAX_BITS]-1 == (1<> 1; n >= 1; n--)\n zip_pqdownheap(tree, n);\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n do {\n n = zip_heap[zip_SMALLEST];\n zip_heap[zip_SMALLEST] = zip_heap[zip_heap_len--];\n zip_pqdownheap(tree, zip_SMALLEST);\n\n m = zip_heap[zip_SMALLEST]; // m = node of next least frequency\n\n // keep the nodes sorted by frequency\n zip_heap[--zip_heap_max] = n;\n zip_heap[--zip_heap_max] = m;\n\n // Create a new node father of n and m\n tree[node].fc = tree[n].fc + tree[m].fc;\n //\tdepth[node] = (char)(MAX(depth[n], depth[m]) + 1);\n if (zip_depth[n] > zip_depth[m] + 1)\n zip_depth[node] = zip_depth[n];\n else\n zip_depth[node] = zip_depth[m] + 1;\n tree[n].dl = tree[m].dl = node;\n\n // and insert the new node in the heap\n zip_heap[zip_SMALLEST] = node++;\n zip_pqdownheap(tree, zip_SMALLEST);\n\n } while (zip_heap_len >= 2);\n\n zip_heap[--zip_heap_max] = zip_heap[zip_SMALLEST];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n zip_gen_bitlen(desc);\n\n // The field len is now set, we can generate the bit codes\n zip_gen_codes(tree, max_code);\n }\n\n /* ==========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree. Updates opt_len to take into account the repeat\n * counts. (The contribution of the bit length codes will be added later\n * during the construction of bl_tree.)\n */\n function zip_scan_tree(tree,// the tree to be scanned\n max_code) { // and its largest code of non zero frequency\n var n;\t\t\t// iterates over all tree elements\n var prevlen = -1;\t\t// last emitted length\n var curlen;\t\t\t// length of current code\n var nextlen = tree[0].dl;\t// length of next code\n var count = 0;\t\t// repeat count of the current code\n var max_count = 7;\t\t// max repeat count\n var min_count = 4;\t\t// min repeat count\n\n if (nextlen == 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[max_code + 1].dl = 0xffff; // guard\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[n + 1].dl;\n if (++count < max_count && curlen == nextlen)\n continue;\n else if (count < min_count)\n zip_bl_tree[curlen].fc += count;\n else if (curlen != 0) {\n if (curlen != prevlen)\n zip_bl_tree[curlen].fc++;\n zip_bl_tree[zip_REP_3_6].fc++;\n } else if (count <= 10)\n zip_bl_tree[zip_REPZ_3_10].fc++;\n else\n zip_bl_tree[zip_REPZ_11_138].fc++;\n count = 0; prevlen = curlen;\n if (nextlen == 0) {\n max_count = 138;\n min_count = 3;\n } else if (curlen == nextlen) {\n max_count = 6;\n min_count = 3;\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n }\n\n /* ==========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\n function zip_send_tree(tree, // the tree to be scanned\n max_code) { // and its largest code of non zero frequency\n var n;\t\t\t// iterates over all tree elements\n var prevlen = -1;\t\t// last emitted length\n var curlen;\t\t\t// length of current code\n var nextlen = tree[0].dl;\t// length of next code\n var count = 0;\t\t// repeat count of the current code\n var max_count = 7;\t\t// max repeat count\n var min_count = 4;\t\t// min repeat count\n\n /* tree[max_code+1].dl = -1; */ /* guard already set */\n if (nextlen == 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[n + 1].dl;\n if (++count < max_count && curlen == nextlen) {\n continue;\n } else if (count < min_count) {\n do { zip_SEND_CODE(curlen, zip_bl_tree); } while (--count != 0);\n } else if (curlen != 0) {\n if (curlen != prevlen) {\n zip_SEND_CODE(curlen, zip_bl_tree);\n count--;\n }\n // Assert(count >= 3 && count <= 6, \" 3_6?\");\n zip_SEND_CODE(zip_REP_3_6, zip_bl_tree);\n zip_send_bits(count - 3, 2);\n } else if (count <= 10) {\n zip_SEND_CODE(zip_REPZ_3_10, zip_bl_tree);\n zip_send_bits(count - 3, 3);\n } else {\n zip_SEND_CODE(zip_REPZ_11_138, zip_bl_tree);\n zip_send_bits(count - 11, 7);\n }\n count = 0;\n prevlen = curlen;\n if (nextlen == 0) {\n max_count = 138;\n min_count = 3;\n } else if (curlen == nextlen) {\n max_count = 6;\n min_count = 3;\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n }\n\n /* ==========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\n function zip_build_bl_tree() {\n var max_blindex; // index of last bit length code of non zero freq\n\n // Determine the bit length frequencies for literal and distance trees\n zip_scan_tree(zip_dyn_ltree, zip_l_desc.max_code);\n zip_scan_tree(zip_dyn_dtree, zip_d_desc.max_code);\n\n // Build the bit length tree:\n zip_build_tree(zip_bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = zip_BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n if (zip_bl_tree[zip_bl_order[max_blindex]].dl != 0) break;\n }\n /* Update opt_len to include the bit length tree and counts */\n zip_opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n // Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n //\t encoder->opt_len, encoder->static_len));\n\n return max_blindex;\n }\n\n /* ==========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\n function zip_send_all_trees(lcodes, dcodes, blcodes) { // number of codes for each tree\n var rank; // index in bl_order\n\n // Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n // Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n //\t \"too many codes\");\n // Tracev((stderr, \"\\nbl counts: \"));\n zip_send_bits(lcodes - 257, 5); // not +255 as stated in appnote.txt\n zip_send_bits(dcodes - 1, 5);\n zip_send_bits(blcodes - 4, 4); // not -3 as stated in appnote.txt\n for (rank = 0; rank < blcodes; rank++) {\n // Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n zip_send_bits(zip_bl_tree[zip_bl_order[rank]].dl, 3);\n }\n\n // send the literal tree\n zip_send_tree(zip_dyn_ltree, lcodes - 1);\n\n // send the distance tree\n zip_send_tree(zip_dyn_dtree, dcodes - 1);\n }\n\n /* ==========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\n function zip_flush_block(eof) { // true if this is the last block for a file\n var opt_lenb, static_lenb; // opt_len and static_len in bytes\n var max_blindex;\t// index of last bit length code of non zero freq\n var stored_len;\t// length of input block\n\n stored_len = zip_strstart - zip_block_start;\n zip_flag_buf[zip_last_flags] = zip_flags; // Save the flags for the last 8 items\n\n // Construct the literal and distance trees\n zip_build_tree(zip_l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\",\n //\t encoder->opt_len, encoder->static_len));\n\n zip_build_tree(zip_d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\",\n //\t encoder->opt_len, encoder->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = zip_build_bl_tree();\n\n // Determine the best encoding. Compute first the block length in bytes\n opt_lenb = (zip_opt_len + 3 + 7) >> 3;\n static_lenb = (zip_static_len + 3 + 7) >> 3;\n\n // Trace((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u dist %u \",\n //\t opt_lenb, encoder->opt_len,\n //\t static_lenb, encoder->static_len, stored_len,\n //\t encoder->last_lit, encoder->last_dist));\n\n if (static_lenb <= opt_lenb)\n opt_lenb = static_lenb;\n if (stored_len + 4 <= opt_lenb // 4: two words for the lengths\n && zip_block_start >= 0) {\n var i;\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n zip_send_bits((zip_STORED_BLOCK << 1) + eof, 3); /* send block type */\n zip_bi_windup();\t\t /* align on byte boundary */\n zip_put_short(stored_len);\n zip_put_short(~stored_len);\n\n // copy block\n /*\n p = &window[block_start];\n for(i = 0; i < stored_len; i++)\n put_byte(p[i]);\n */\n for (i = 0; i < stored_len; i++)\n zip_put_byte(zip_window[zip_block_start + i]);\n\n } else if (static_lenb == opt_lenb) {\n zip_send_bits((zip_STATIC_TREES << 1) + eof, 3);\n zip_compress_block(zip_static_ltree, zip_static_dtree);\n } else {\n zip_send_bits((zip_DYN_TREES << 1) + eof, 3);\n zip_send_all_trees(zip_l_desc.max_code + 1,\n zip_d_desc.max_code + 1,\n max_blindex + 1);\n zip_compress_block(zip_dyn_ltree, zip_dyn_dtree);\n }\n\n zip_init_block();\n\n if (eof != 0)\n zip_bi_windup();\n }\n\n /* ==========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\n function zip_ct_tally(\n dist, // distance of matched string\n lc) { // match length-MIN_MATCH or unmatched char (if dist==0)\n zip_l_buf[zip_last_lit++] = lc;\n if (dist == 0) {\n // lc is the unmatched char\n zip_dyn_ltree[lc].fc++;\n } else {\n // Here, lc is the match length - MIN_MATCH\n dist--;\t\t // dist = match distance - 1\n // Assert((ush)dist < (ush)MAX_DIST &&\n //\t (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n //\t (ush)D_CODE(dist) < (ush)D_CODES, \"ct_tally: bad match\");\n\n zip_dyn_ltree[zip_length_code[lc] + zip_LITERALS + 1].fc++;\n zip_dyn_dtree[zip_D_CODE(dist)].fc++;\n\n zip_d_buf[zip_last_dist++] = dist;\n zip_flags |= zip_flag_bit;\n }\n zip_flag_bit <<= 1;\n\n // Output the flags if they fill a byte\n if ((zip_last_lit & 7) == 0) {\n zip_flag_buf[zip_last_flags++] = zip_flags;\n zip_flags = 0;\n zip_flag_bit = 1;\n }\n // Try to guess if it is profitable to stop the current block here\n if (zip_compr_level > 2 && (zip_last_lit & 0xfff) == 0) {\n // Compute an upper bound for the compressed length\n var out_length = zip_last_lit * 8;\n var in_length = zip_strstart - zip_block_start;\n var dcode;\n\n for (dcode = 0; dcode < zip_D_CODES; dcode++) {\n out_length += zip_dyn_dtree[dcode].fc * (5 + zip_extra_dbits[dcode]);\n }\n out_length >>= 3;\n // Trace((stderr,\"\\nlast_lit %u, last_dist %u, in %ld, out ~%ld(%ld%%) \",\n //\t encoder->last_lit, encoder->last_dist, in_length, out_length,\n //\t 100L - out_length*100L/in_length));\n if (zip_last_dist < parseInt(zip_last_lit / 2) &&\n out_length < parseInt(in_length / 2))\n return true;\n }\n return (zip_last_lit == zip_LIT_BUFSIZE - 1 ||\n zip_last_dist == zip_DIST_BUFSIZE);\n /* We avoid equality with LIT_BUFSIZE because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n }\n\n /* ==========================================================================\n * Send the block data compressed using the given Huffman trees\n */\n function zip_compress_block(\n ltree,\t// literal tree\n dtree) {\t// distance tree\n var dist;\t\t// distance of matched string\n var lc;\t\t// match length or unmatched char (if dist == 0)\n var lx = 0;\t\t// running index in l_buf\n var dx = 0;\t\t// running index in d_buf\n var fx = 0;\t\t// running index in flag_buf\n var flag = 0;\t// current flags\n var code;\t\t// the code to send\n var extra;\t\t// number of extra bits to send\n\n if (zip_last_lit != 0) do {\n if ((lx & 7) == 0)\n flag = zip_flag_buf[fx++];\n lc = zip_l_buf[lx++] & 0xff;\n if ((flag & 1) == 0) {\n zip_SEND_CODE(lc, ltree); /* send a literal byte */\n //\tTracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n // Here, lc is the match length - MIN_MATCH\n code = zip_length_code[lc];\n zip_SEND_CODE(code + zip_LITERALS + 1, ltree); // send the length code\n extra = zip_extra_lbits[code];\n if (extra != 0) {\n lc -= zip_base_length[code];\n zip_send_bits(lc, extra); // send the extra length bits\n }\n dist = zip_d_buf[dx++];\n // Here, dist is the match distance - 1\n code = zip_D_CODE(dist);\n //\tAssert (code < D_CODES, \"bad d_code\");\n\n zip_SEND_CODE(code, dtree);\t // send the distance code\n extra = zip_extra_dbits[code];\n if (extra != 0) {\n dist -= zip_base_dist[code];\n zip_send_bits(dist, extra); // send the extra distance bits\n }\n } // literal or match pair ?\n flag >>= 1;\n } while (lx < zip_last_lit);\n\n zip_SEND_CODE(zip_END_BLOCK, ltree);\n }\n\n /* ==========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\n var zip_Buf_size = 16; // bit size of bi_buf\n function zip_send_bits(\n value,\t// value to send\n length) {\t// number of bits\n /* If not enough room in bi_buf, use (valid) bits from bi_buf and\n * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))\n * unused bits in value.\n */\n if (zip_bi_valid > zip_Buf_size - length) {\n zip_bi_buf |= (value << zip_bi_valid);\n zip_put_short(zip_bi_buf);\n zip_bi_buf = (value >> (zip_Buf_size - zip_bi_valid));\n zip_bi_valid += length - zip_Buf_size;\n } else {\n zip_bi_buf |= value << zip_bi_valid;\n zip_bi_valid += length;\n }\n }\n\n /* ==========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\n function zip_bi_reverse(\n code,\t// the value to invert\n len) {\t// its bit length\n var res = 0;\n do {\n res |= code & 1;\n code >>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >> 1;\n }\n\n /* ==========================================================================\n * Write out any remaining bits in an incomplete byte.\n */\n function zip_bi_windup() {\n if (zip_bi_valid > 8) {\n zip_put_short(zip_bi_buf);\n } else if (zip_bi_valid > 0) {\n zip_put_byte(zip_bi_buf);\n }\n zip_bi_buf = 0;\n zip_bi_valid = 0;\n }\n\n function zip_qoutbuf() {\n if (zip_outcnt != 0) {\n var q, i;\n q = zip_new_queue();\n if (zip_qhead == null)\n zip_qhead = zip_qtail = q;\n else\n zip_qtail = zip_qtail.next = q;\n q.len = zip_outcnt - zip_outoff;\n // System.arraycopy(zip_outbuf, zip_outoff, q.ptr, 0, q.len);\n for (i = 0; i < q.len; i++)\n q.ptr[i] = zip_outbuf[zip_outoff + i];\n zip_outcnt = zip_outoff = 0;\n }\n }\n\n return function deflate(str, level) {\n var i, j;\n\n zip_deflate_data = str;\n zip_deflate_pos = 0;\n if (typeof level == \"undefined\")\n level = zip_DEFAULT_LEVEL;\n zip_deflate_start(level);\n\n var buff = new Array(1024);\n var aout = [];\n while ((i = zip_deflate_internal(buff, 0, buff.length)) > 0) {\n var cbuf = new Array(i);\n for (j = 0; j < i; j++) {\n cbuf[j] = String.fromCharCode(buff[j]);\n }\n aout[aout.length] = cbuf.join(\"\");\n }\n zip_deflate_data = null; // G.C.\n return aout.join(\"\");\n };\n\n})();","export * from './vue';\nexport * from './i18n';\nexport * from './deflate';\nexport * from './plantuml';\n\nexport function tryGet(obj: any, ...path: string[]) {\n path = path || [];\n return path.reduce((prev, curr) => {\n if (!prev)\n return undefined;\n\n return prev[curr];\n }, obj);\n}\n\nexport function sort(arr: Array, propFunc: (x: T) => any, desc = false) {\n return arr.sort((x, y) => {\n x = propFunc(x);\n y = propFunc(y);\n\n let res = 0;\n\n if (x > y) res = 1;\n else if (x < y) res = -1;\n\n return desc ? -res : res;\n })\n}","import { tryGet } from '../utils';\n\n// @ts-ignore\nexport * as PACKAGE from '../../package.json';\n\nexport class ConfigService {\n\n static INSTANCE: ConfigService;\n\n private static async fetchExternalConfig(): Promise {\n const configFilename = `oyd-databud.config.json`;\n\n try {\n const res = await fetch(`./config/${configFilename}`);\n const json = await res.json();\n\n return json;\n } catch (e) {\n return {};\n }\n }\n\n static async initialize(): Promise {\n if (!ConfigService.INSTANCE) {\n const config = await ConfigService.fetchExternalConfig();\n ConfigService.INSTANCE = new ConfigService(config);\n }\n\n return ConfigService.getInstance();\n }\n\n static getInstance(): ConfigService {\n return ConfigService.INSTANCE;\n }\n\n static get(...path: string[]) {\n return ConfigService.getInstance().get(...path);\n }\n\n private constructor(public config: any) { }\n\n private get(...path: string[]) {\n return tryGet(this.config, ...path);\n }\n}","import { ConfigService } from \"@/services/config-service\";\nimport { Vaultifier, VaultItem } from \"vaultifier\";\nimport { NetworkResponse } from \"vaultifier/dist/module/communicator\";\nimport Vue from \"vue\";\n\nexport interface Action {\n key: string,\n title: string,\n url: string,\n usesAuth: boolean,\n method: string,\n}\n\nexport const executeAction = async (action: Action, vaultifier: Vaultifier, vue?: Vue, item?: VaultItem): Promise => {\n const { key, title, method, usesAuth } = action;\n let { url } = action;\n\n const baseUrlPlaceholder = '{{base_url}}';\n const vaultItemIdPlaceholder = '{{item_id}}';\n\n if (item)\n url = url.replace(vaultItemIdPlaceholder, item.id.toString());\n\n let returnValue: NetworkResponse | undefined = undefined;\n\n // method `OPEN` just opens a new tab\n if (method === 'OPEN') {\n window.open(url, '_blank');\n }\n else\n try {\n if (url.indexOf(baseUrlPlaceholder) !== -1) {\n const vaultifierUrl = url.replace(baseUrlPlaceholder, '');\n\n if (method === 'POST')\n returnValue = await vaultifier.post(vaultifierUrl, usesAuth);\n else if (method === 'PUT')\n returnValue = await vaultifier.put(vaultifierUrl, usesAuth);\n else if (method === 'GET')\n returnValue = await vaultifier.get(vaultifierUrl, usesAuth);\n else\n throw new Error(`Invalid method for action ${key}`);\n }\n else {\n const req = await fetch(url, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (req.status >= 400)\n throw new Error('Action did not result in a valid HTTP status code');\n }\n\n if (vue)\n vue.$bvModal.msgBoxOk(`The action \"${title}\" was executed succssfully.`);\n } catch {\n if (vue)\n vue.$bvModal.msgBoxOk(`The action \"${title}\" has failed.`);\n }\n\n return returnValue;\n}\n\nexport const getActionsFromConfig = (...path: string[]): Action[] => {\n const actionsObj = ConfigService.get(...path);\n const arr: Action[] = []\n\n for (const key in actionsObj) {\n arr.push({\n usesAuth: false,\n ...actionsObj[key],\n key,\n });\n }\n\n return arr;\n}","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue, { PropType } from 'vue';\n\nimport { VaultItem, VaultPostItem } from 'vaultifier';\nimport FormView from './FormView.vue';\nimport InlineGroup from './InlineGroup.vue';\nimport CustomButton from './Button.vue';\nimport Spinner from './Spinner.vue';\nimport { Soya, SoyaQueryResult } from 'soya-js';\nimport { IStore } from '@/store';\nimport { getInstance } from '@/services';\nimport { Action, executeAction, getActionsFromConfig } from '@/utils/actions';\n\ninterface SoyaStructure {\n name?: string;\n dri: string;\n}\n\ninterface Data {\n editableText?: string,\n selectedStructure?: SoyaStructure,\n suggestItems: SoyaQueryResult[],\n isLoading: boolean,\n isExecutingAction: boolean,\n showTypeahead: boolean,\n formData: any,\n iFrameSrc?: string,\n}\n\nexport default Vue.extend({\n components: {\n FormView,\n CustomButton,\n InlineGroup,\n Spinner,\n },\n props: {\n schemaDri: String as PropType,\n item: Object as PropType,\n isSaving: {\n type: Boolean as PropType,\n default: false,\n },\n hasCancel: {\n type: Boolean as PropType,\n default: true\n },\n allowSelectSchema: {\n type: Boolean as PropType,\n default: true,\n }\n },\n data: (): Data => ({\n editableText: '',\n selectedStructure: undefined,\n suggestItems: [],\n isLoading: false,\n isExecutingAction: false,\n showTypeahead: false,\n formData: undefined,\n iFrameSrc: undefined,\n }),\n mounted() {\n if (this.schemaDri)\n this.selectStructure({\n name: undefined,\n dri: this.schemaDri,\n });\n },\n methods: {\n async saveEdit() {\n if (!this.selectedStructure)\n return;\n\n const postItem: VaultPostItem = {\n data: this.formData,\n id: this.item?.id,\n meta: {\n schema: this.selectedStructure.dri,\n },\n };\n\n // promise ensures we really await the correct saving of the item\n await new Promise((resolve) => {\n this.$emit('save', postItem, resolve);\n });\n\n return true;\n },\n async executeAction(action: Action) {\n this.isExecutingAction = true;\n\n // TODO: await saveEdit does not work\n // if saving did not work, we do not execute vaccination\n if (this.item && await this.saveEdit())\n try {\n await executeAction(action, getInstance(), this, this.item);\n } catch (e) {\n console.error(e);\n }\n\n this.isExecutingAction = false;\n },\n cancelEdit(): void {\n this.$emit('cancel');\n },\n selectStructure(structure?: SoyaStructure) {\n this.selectedStructure = structure;\n\n if (structure && !structure.name) {\n const item = (this.$store.state as IStore).schemaDRI.all.find(x => x.dri === structure.dri);\n if (item)\n structure.name = item.title;\n }\n\n this.showTypeahead = false;\n },\n async selectFromTypeahead(result: SoyaQueryResult): Promise {\n this.isLoading = true;\n\n this.selectStructure(result);\n\n this.isLoading = false;\n },\n onDataChange(event: { data: any }) {\n this.formData = event.data;\n },\n onIFrameSrcChange(src: string) {\n this.iFrameSrc = src;\n },\n },\n computed: {\n hasSelectedStructure(): boolean {\n return !!this.selectedStructure;\n },\n selectedStructureName(): string | undefined {\n return this.selectedStructure ? (this.selectedStructure.name || this.selectedStructure.dri) : undefined;\n },\n actions(): Action[] {\n // TODO: is this any nice?\n return getActionsFromConfig('settings', 'additionalFormActions').filter(x => (x as any).schemaDri === this.schemaDri);\n }\n },\n watch: {\n item: {\n handler(value: VaultItem | undefined) {\n this.formData = value?.data;\n },\n immediate: true,\n },\n schemaDri(value?: string) {\n if (value)\n this.selectStructure({\n name: undefined,\n dri: value,\n });\n else\n this.selectStructure(undefined);\n },\n async editableText(value: string) {\n if (!value)\n this.suggestItems = [];\n // type at least 3 characters\n else if (value.length >= 3)\n this.suggestItems = await new Soya().query({ name: value });\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormEditView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormEditView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormEditView.vue?vue&type=template&id=2b2d6788&scoped=true&\"\nimport script from \"./FormEditView.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormEditView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FormEditView.vue?vue&type=style&index=0&id=2b2d6788&scoped=true&lang=css&\"\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 \"2b2d6788\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue, { PropType } from 'vue';\n\nimport { VaultItem, VaultMinMeta, VaultPostItem } from 'vaultifier';\nimport RawData from './RawData.vue';\n\nimport FormEditView from './FormEditView.vue';\n\nimport { ActionType } from '@/store/action-type';\n\ninterface Data {\n isSaving: boolean;\n activeTabIndex: number;\n}\n\nexport default Vue.extend({\n props: {\n item: Object as PropType,\n showRawView: {\n default: true,\n type: Boolean as PropType,\n },\n },\n data: (): Data => ({\n isSaving: false,\n activeTabIndex: 0,\n }),\n components: {\n RawData,\n FormEditView,\n },\n computed: {\n schemaDri(): string | undefined {\n return this.item.meta.schema;\n },\n hasSchema(): boolean {\n return !!this.schemaDri;\n },\n },\n methods: {\n async saveVaultItem(item: VaultPostItem, onComplete?: () => void) {\n this.isSaving = true;\n\n try {\n await this.$store.dispatch(ActionType.UPDATE_VAULT_ITEM, item);\n } catch {\n /* TODO: Error handling */\n }\n\n this.isSaving = false;\n\n if (onComplete)\n // indicate saving is complete\n onComplete();\n },\n },\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataVisualizer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataVisualizer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataVisualizer.vue?vue&type=template&id=ccdc9328&scoped=true&\"\nimport script from \"./DataVisualizer.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataVisualizer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DataVisualizer.vue?vue&type=style&index=0&id=ccdc9328&scoped=true&lang=css&\"\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 \"ccdc9328\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('section',{staticClass:\"col-md-4\"},[_c('list',{attrs:{\"isLoading\":_vm.isSchemaListLoading},on:{\"refresh\":_vm.fetchSchemas}},_vm._l((_vm.schemaDRIs),function(item){return _c('b-list-group-item',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.top\",value:(item.dri === undefined ? \"All data\" : undefined),expression:\"item.dri === undefined ? `All data` : undefined\",modifiers:{\"hover\":true,\"top\":true}}],key:item.dri,attrs:{\"active\":_vm.selectedSchema && item.dri === _vm.selectedSchema.dri,\"variant\":item.dri === undefined ? 'secondary' : undefined},on:{\"click\":function () { return _vm.selectSchema(item); }}},[_vm._v(\" \"+_vm._s(item.title || item.dri)+\" \")])}),1)],1),_c('section',{staticClass:\"col-md-8\"},[_c('b-tabs',{attrs:{\"content-class\":\"mt-3\",\"lazy\":\"\"},on:{\"activate-tab\":_vm.handleActivateTab},model:{value:(_vm.selectedTabIndex),callback:function ($$v) {_vm.selectedTabIndex=$$v},expression:\"selectedTabIndex\"}},[_c('b-tab',{attrs:{\"title\":\"Data Items\"}},[_c('list',{attrs:{\"isLoading\":_vm.isVaultItemListLoading,\"totalItems\":_vm.totalVaultItems,\"currentPage\":_vm.currentVaultPage,\"pageItems\":_vm.vaultPageItems},on:{\"refresh\":_vm.fetchVaultItems},scopedSlots:_vm._u([{key:\"header-end\",fn:function(){return [_c('custom-button',{on:{\"click\":_vm.addItem}},[_vm._v(\"New\")]),_vm._l((_vm.actions),function(action){return _c('custom-button',{key:action.key,attrs:{\"type\":_vm.isExecutingAction ? 'success-outline' : 'success',\"disabled\":_vm.isExecutingAction},on:{\"click\":function($event){return _vm.executeAction(action)}}},[(_vm.isExecutingAction)?_c('spinner'):[_vm._v(\" \"+_vm._s(action.title)+\" \")]],2)}),_c('custom-button',{attrs:{\"type\":\"danger\",\"disabled\":_vm.isDeleteButtonDisabled},on:{\"click\":_vm.deleteSelectedVaultItem}},[_vm._v(\"Delete\")])]},proxy:true}])},_vm._l((_vm.vaultItems),function(item){return _c('b-list-group-item',{key:item.id,attrs:{\"active\":_vm.selectedVaultItem && item.id === _vm.selectedVaultItem.id},on:{\"click\":function () { return _vm.selectVaultItem(item); }}},[_vm._v(\" \"+_vm._s(_vm.getListTitle(item))+\" \")])}),1)],1),_c('b-tab',{attrs:{\"title\":\"Charts\"}},[_c('b-input-group',{attrs:{\"prepend\":\"Page Size\"}},[_c('b-input',{model:{value:(_vm.dataItemCount),callback:function ($$v) {_vm.dataItemCount=$$v},expression:\"dataItemCount\"}})],1),_c('b-input-group',{attrs:{\"prepend\":\"Page Number\"}},[_c('b-input',{model:{value:(_vm.dataItemPage),callback:function ($$v) {_vm.dataItemPage=$$v},expression:\"dataItemPage\"}})],1),_c('chart-visualizer',{attrs:{\"items\":_vm.vaultItems}})],1)],1)],1),(_vm.showEditView)?_c('b-container',[(_vm.saveMessage)?_c('b-alert',{attrs:{\"show\":\"\",\"variant\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.saveMessage)+\" \")]):_vm._e(),_c('form-edit-view',{staticClass:\"col-md-12 form-edit-view\",attrs:{\"schemaDri\":_vm.editViewSchemaDri,\"isSaving\":_vm.isSaving},on:{\"save\":_vm.saveVaultItem,\"cancel\":function () { return _vm._showEditView(false); }}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('inline-group',[_c('custom-button',{attrs:{\"disabled\":_vm.isLoading,\"type\":\"refresh\"},on:{\"click\":function () { return _vm.refresh(); }}}),_vm._t(\"header-end\")],2),_c('div',{staticClass:\"list-container\"},[(_vm.isLoading)?_c('spinner'):_c('b-list-group',{staticClass:\"list\"},[_vm._t(\"default\",function(){return [_c('b-list-group-item',{staticClass:\"list-group-item--nolink\"},[_vm._v(\"No items available\")])]})],2)],1),(_vm.totalItems && _vm.page && _vm.pageItems)?_c('div',[_c('div',[_c('b-input-group',{staticClass:\"d-flex justify-content-center\",attrs:{\"prepend\":\"Page\"}},[_c('b-form-input',{staticClass:\"input-page\",attrs:{\"disabled\":_vm.isLoading,\"type\":\"number\"},on:{\"keypress\":_vm.inputPageKeydown},model:{value:(_vm.inputPage),callback:function ($$v) {_vm.inputPage=$$v},expression:\"inputPage\"}})],1)],1),_c('b-pagination',{attrs:{\"disabled\":_vm.isLoading,\"total-rows\":_vm.totalItems,\"per-page\":_vm.pageItems,\"align\":\"fill\"},on:{\"page-click\":_vm.paginationPageChange},model:{value:(_vm.page),callback:function ($$v) {_vm.page=$$v},expression:\"page\"}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { BvEvent } from 'bootstrap-vue';\nimport Vue, { PropType } from 'vue';\nimport Spinner from './Spinner.vue';\nimport CustomButton from '../components/Button.vue';\nimport InlineGroup from '../components/InlineGroup.vue';\n\nexport interface RefreshObj {\n page?: number,\n}\n\ninterface Data {\n page?: number,\n inputPage?: number,\n}\n\nexport default Vue.extend({\n props: {\n isLoading: {\n type: Boolean as PropType,\n default: false,\n },\n totalItems: Number as PropType,\n currentPage: Number as PropType,\n pageItems: Number as PropType,\n },\n data: (): Data => ({\n page: undefined,\n inputPage: undefined,\n }),\n components: {\n Spinner,\n CustomButton,\n InlineGroup,\n },\n created() {\n this.page = this.currentPage;\n },\n watch: {\n currentPage() {\n this.page = this.currentPage;\n },\n page() {\n this.inputPage = this.page;\n }\n },\n methods: {\n changePage(page: number) {\n this.refresh(page);\n },\n paginationPageChange(_: BvEvent, page: number) {\n this.changePage(page);\n },\n refresh(page?: number) {\n this.$emit('refresh', {\n page,\n });\n },\n inputPageKeydown(event: KeyboardEvent) {\n if (this.inputPage && event.key === 'Enter')\n this.changePage(this.inputPage);\n }\n }\n});\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=3857e62a&scoped=true&\"\nimport script from \"./List.vue?vue&type=script&lang=ts&\"\nexport * from \"./List.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./List.vue?vue&type=style&index=0&id=3857e62a&scoped=true&lang=css&\"\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 \"3857e62a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-form',[_c('b-input-group',{attrs:{\"prepend\":\"Scale X\"}},[_c('b-form-input',{model:{value:(_vm.scaleXExpression),callback:function ($$v) {_vm.scaleXExpression=$$v},expression:\"scaleXExpression\"}})],1),_vm._l((_vm.rows),function(row,idx){return _c('b-input-group',{key:idx,attrs:{\"prepend\":(\"Data \" + (idx+1))}},[_c('b-form-input',{model:{value:(row.expression),callback:function ($$v) {_vm.$set(row, \"expression\", $$v)},expression:\"row.expression\"}}),_c('b-input-group-append',[_c('b-button',{attrs:{\"variant\":\"success\"},on:{\"click\":function($event){return _vm.addRow(idx)}}},[_vm._v(\"+\")]),_c('b-button',{attrs:{\"disabled\":!_vm.canRemoveRow,\"variant\":_vm.canRemoveRow ? 'danger' : ''},on:{\"click\":function($event){return _vm.removeRow(idx)}}},[_vm._v(\"-\")])],1)],1)}),_c('b-button',{on:{\"click\":_vm.computeChartData}},[_vm._v(\" Update Chart \")]),_c('div',{staticClass:\"mt-3\"},[_vm._t(\"default\")],2)],2),(_vm.chartData)?_c('zingchart',{attrs:{\"data\":_vm.chartData}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import * as expressionEval from \"expression-eval\";\n\ntype parseExpression = expressionEval.parse.Expression & {\n name: string\n object: parseExpression,\n property: parseExpression,\n left?: parseExpression,\n right?: parseExpression,\n}\n\nexport class Evaluator {\n static makeSafeObject = (expression: parseExpression, obj: any, isObject?: boolean): any => {\n if (expression.type === 'Identifier') {\n if (isObject && typeof obj[expression.name] !== 'object')\n obj[expression.name] = {};\n else if (obj[expression.name] === undefined)\n obj[expression.name] = '';\n\n return obj[expression.name];\n }\n else if (expression.type === 'MemberExpression') {\n obj = Evaluator.makeSafeObject(expression.object, obj, isObject ?? true);\n obj = Evaluator.makeSafeObject(expression.property, obj, isObject ?? false);\n }\n else if (expression.left && expression.right) {\n Evaluator.makeSafeObject(expression.left, obj);\n Evaluator.makeSafeObject(expression.right, obj);\n }\n\n return obj;\n }\n\n static eval = (expression: string, value: any): any => {\n try {\n const exp = expressionEval.parse(expression) as parseExpression;\n Evaluator.makeSafeObject(exp, value);\n\n return expressionEval.eval(exp, value);\n }\n catch (e) {\n /* we don't mind any errors */\n }\n\n return expression;\n }\n\n static evalTypeAgnostic = (expression: string, value: any) => {\n const val = Evaluator.eval(expression, value);\n\n if (val instanceof Date)\n return new Intl.DateTimeFormat('de', {\n // @ts-ignore somehow TS does not know dateStyle and wants to complain\n dateStyle: 'short',\n timeStyle: 'medium',\n }).format(val);\n\n // try parsing values as float\n const floatVal = parseFloat(val);\n if (!isNaN(floatVal))\n return floatVal;\n\n return val;\n };\n}","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { VaultItem } from \"vaultifier\";\nimport Vue, { PropType } from \"vue\";\nimport 'zingchart/es6';\n//@ts-expect-error zingchart-vue does not have types\nimport zingchartVue from 'zingchart-vue';\nimport { Evaluator } from '../utils/evaluator';\n\ninterface Row {\n expression: string;\n}\n\ninterface Scale {\n labels: string[],\n}\n\ninterface ChartData {\n scaleX: Scale,\n type: string\n series: {\n values: any[],\n }[],\n}\n\ninterface Data {\n rows: Row[],\n labels: string[],\n scaleXExpression: string,\n chartData: ChartData | undefined,\n}\n\nexport default Vue.extend({\n components: {\n zingchart: zingchartVue,\n },\n props: {\n items: Array as PropType,\n },\n data: (): Data => ({\n rows: [{ expression: '' }],\n labels: [],\n scaleXExpression: '',\n chartData: undefined,\n }),\n computed: {\n canRemoveRow() {\n return this.rows.length > 1;\n },\n },\n methods: {\n addRow(idx: number) {\n this.rows.splice(idx + 1, 0, {\n expression: '',\n })\n },\n removeRow(idx: number) {\n this.rows.splice(idx, 1);\n },\n computeChartData(): ChartData | undefined {\n if (!this.items || this.items.length === 0)\n return;\n\n const data: ChartData = {\n type: 'area',\n scaleX: {\n labels: [],\n },\n series: [],\n }\n\n for (let j = 0, size = this.rows.length; j < size; j++) {\n const row = this.rows[j];\n\n if (!row.expression)\n continue;\n\n const series: any[] = [];\n\n for (let i = 0, size = this.items.length; i < size; i++) {\n const item = this.items[i];\n\n // only in first loop we populate labels\n if (j === 0) {\n data.scaleX.labels.push(Evaluator.evalTypeAgnostic(this.scaleXExpression, item) || (i + 1));\n }\n\n const value = Evaluator.evalTypeAgnostic(row.expression, item);\n\n if (value !== undefined && value !== null) {\n series.push(value);\n }\n }\n\n data.series.push({ values: series });\n }\n\n this.chartData = data.series.length === 0 ? undefined : data;\n return;\n },\n },\n});\n","import MainView from '../views/MainView.vue';\nimport SchemaView from '../views/SchemaView.vue';\nimport ItemView from '../views/ItemView.vue';\n\nexport enum RoutePath {\n MAIN_VIEW = '/',\n SCHEMA_VIEW = '/schema',\n ITEM_VIEW = '/item',\n}\n\nexport enum RouteParams {\n SCHEMA_DRI = 'schemaDri',\n ITEM_ID = 'itemId',\n}\n\nexport const routes = [\n {\n path: RoutePath.MAIN_VIEW,\n component: MainView\n },\n {\n path: RoutePath.SCHEMA_VIEW,\n component: SchemaView,\n props: () => {\n return { schemaDri: new URL(window.location.href).searchParams.get(RouteParams.SCHEMA_DRI) }\n },\n },\n {\n path: RoutePath.ITEM_VIEW,\n component: ItemView,\n props: () => {\n return { itemId: new URL(window.location.href).searchParams.get(RouteParams.ITEM_ID) }\n },\n },\n];","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChartVisualizer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChartVisualizer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChartVisualizer.vue?vue&type=template&id=0899f76a&\"\nimport script from \"./ChartVisualizer.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChartVisualizer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { IFetchVaultItems, IStore } from '../store';\nimport List, { RefreshObj } from '../components/List.vue';\nimport CustomButton from '../components/Button.vue';\nimport ChartVisualizer from '../components/ChartVisualizer.vue';\nimport FormEditView from './FormEditView.vue';\nimport { VaultItem, VaultMinMeta, VaultPostItem, VaultSchema } from 'vaultifier/dist/module';\nimport { ActionType } from '@/store/action-type';\nimport { FetchState } from '@/store/fetch-state';\nimport { getInstance, soya } from '@/services';\nimport { NetworkResponse } from 'vaultifier/dist/module/communicator';\nimport { Action, executeAction, getActionsFromConfig } from '@/utils/actions';\nimport Handlebars from 'handlebars';\n\ninterface IData {\n selectedSchema?: VaultSchema,\n selectedListLabelTemplate?: string,\n\n showEditView: boolean,\n editViewSchema?: VaultSchema,\n isSaving: boolean,\n isExecutingAction: boolean,\n saveMessage?: string,\n\n // charting\n selectedTabIndex: number,\n dataItemCount: number,\n dataItemPage?: number,\n}\n\nexport default Vue.extend({\n mounted() {\n this.initialize();\n },\n data: (): IData => ({\n selectedSchema: undefined,\n selectedListLabelTemplate: undefined,\n\n showEditView: false,\n editViewSchema: undefined,\n isSaving: false,\n isExecutingAction: false,\n saveMessage: undefined,\n\n // charting\n selectedTabIndex: 0,\n dataItemCount: 50,\n dataItemPage: undefined,\n }),\n components: {\n CustomButton,\n FormEditView,\n List,\n ChartVisualizer,\n },\n methods: {\n async initialize() {\n await this.fetchSchemas();\n },\n async selectSchema(schema: VaultSchema) {\n const state = this.$store.state as IStore;\n\n this.selectedSchema = schema;\n // reset template as it needs to be fetched anew\n this.selectedListLabelTemplate = undefined;\n\n await this.fetchVaultItems();\n\n const doc = state.schemaDRI.current;\n if (doc) {\n try {\n const sparql = await soya.getSparqlBuilder(doc);\n const bindings = await sparql.query(`\n PREFIX base: <${doc[\"@context\"][\"@base\"]}>\n PREFIX soya: \n SELECT * WHERE {\n ?base a base:OverlayDataBudRendering .\n ?base soya:renderingLabel ?label .\n }`);\n\n if (bindings[0])\n this.selectedListLabelTemplate = bindings[0].get('?label') || undefined;\n } catch { /* we don't care if this does not work */ }\n }\n },\n async selectVaultItem(item?: VaultMinMeta) {\n await this.$store.dispatch(ActionType.FETCH_VAULT_ITEM, item);\n },\n async fetchSchemas() {\n this.selectedSchema = undefined;\n await this.$store.dispatch(ActionType.FETCH_SCHEMA_DRIS);\n },\n async fetchVaultItems(refreshObj?: RefreshObj) {\n const isChart = this.selectedTabIndex === 1;\n\n let fetchObj: IFetchVaultItems = {\n schema: this.selectedSchema,\n page: refreshObj?.page,\n // we only want to fetch all the content if we display charts\n fetchContent: isChart,\n };\n\n if (isChart) {\n fetchObj.size = this.dataItemCount;\n fetchObj.page = this.dataItemPage;\n }\n\n await this.$store.dispatch(ActionType.FETCH_VAULT_ITEMS, fetchObj);\n },\n async deleteSelectedVaultItem() {\n await this.$store.dispatch(ActionType.DELETE_VAULT_ITEM, this.selectedVaultItem);\n await this.fetchSchemas();\n },\n async addItem() {\n await this.selectVaultItem(undefined);\n this._showEditView(true);\n },\n async executeAction(action: Action) {\n this.isExecutingAction = true;\n\n const vaultifier = getInstance();\n const state = this.$store.state as IStore;\n let response: NetworkResponse | undefined;\n\n try {\n response = await executeAction(action, vaultifier, this);\n } catch (e) {\n console.error(e);\n }\n\n if (response) {\n const vaultItemId = response.data.id;\n const vaultItem = await vaultifier.getItem({ id: vaultItemId });\n\n if (!vaultItem.meta.schema) {\n console.error('Vault item does not have schema DRI!');\n } else {\n await this.fetchSchemas();\n const schema = state.schemaDRI.all.find(x => x.dri === vaultItem.meta.schema);\n\n if (!schema) {\n console.error('Could not find schema DRI in internal list!');\n } else {\n await this.selectSchema(schema);\n await this.selectVaultItem(vaultItem);\n }\n }\n }\n\n this.isExecutingAction = false;\n },\n async saveVaultItem(postItem: VaultPostItem, onComplete?: () => void) {\n this.saveMessage = undefined;\n this.isSaving = true;\n\n try {\n await this.$store.dispatch(ActionType.UPDATE_VAULT_ITEM, postItem);\n this._showEditView(false);\n } catch (e) {\n console.error(e);\n this.saveMessage = 'Could not save item';\n }\n\n await this.fetchVaultItems();\n this.isSaving = false;\n\n if (onComplete)\n // indicate saving is complete\n onComplete();\n },\n _showEditView(show: boolean) {\n this.showEditView = show;\n this.saveMessage = undefined;\n this.editViewSchema = this.selectedSchema;\n\n this.$emit('showEditView', this.showEditView);\n },\n async handleActivateTab() {\n this.selectedSchema = undefined;\n this.$store.dispatch(ActionType.RESET_VAULT_ITEMS);\n },\n getListTitle(vaultItem: VaultItem) {\n if (this.selectedListLabelTemplate)\n return Handlebars.compile(this.selectedListLabelTemplate)(vaultItem.data);\n else\n return vaultItem.id;\n },\n },\n computed: {\n schemaDRIs(): (VaultSchema & { dri?: string })[] {\n return [{ dri: undefined, title: 'Default' }, ...this.$store.state.schemaDRI.all];\n },\n isSchemaListLoading(): boolean {\n return (this.$store.state as IStore).schemaDRI.state === FetchState.FETCHING;\n },\n vaultItems(): VaultItem[] | undefined {\n return this.$store.state.vaultItem.all;\n },\n isVaultItemListLoading(): boolean {\n return (this.$store.state as IStore).vaultItem.allState === FetchState.FETCHING;\n },\n selectedVaultItem(): VaultItem | undefined {\n return (this.$store.state as IStore).vaultItem.current;\n },\n hasSelectedVaultItem(): boolean {\n return !!this.selectedVaultItem;\n },\n isDeleteButtonDisabled(): boolean {\n return !this.hasSelectedVaultItem;\n },\n hasSelectedSchema(): boolean {\n return !!this.selectedSchema;\n },\n editViewSchemaDri(): string | undefined {\n return this.editViewSchema?.dri;\n },\n currentVaultPage(): number | undefined {\n return (this.$store.state as IStore).vaultItem.paging?.current;\n },\n totalVaultItems(): number | undefined {\n return (this.$store.state as IStore).vaultItem.paging?.totalItems;\n },\n vaultPageItems(): number | undefined {\n return (this.$store.state as IStore).vaultItem.paging?.pageItems;\n },\n actions(): Action[] {\n return getActionsFromConfig('settings', 'additionalListActions');\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchemaView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchemaView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SchemaView.vue?vue&type=template&id=3fd4be1c&scoped=true&\"\nimport script from \"./SchemaView.vue?vue&type=script&lang=ts&\"\nexport * from \"./SchemaView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SchemaView.vue?vue&type=style&index=0&id=3fd4be1c&scoped=true&lang=css&\"\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 \"3fd4be1c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('section',{staticClass:\"col-md-4\"},[_c('list',{attrs:{\"isLoading\":_vm.isRepoListLoading},on:{\"refresh\":_vm.fetchRepos}},_vm._l((_vm.repos),function(item){return _c('b-list-group-item',{key:item.id,attrs:{\"active\":_vm.selectedRepo && item.id === _vm.selectedRepo.id},on:{\"click\":function () { return _vm.selectRepo(item); }}},[_vm._v(_vm._s(item.name))])}),1)],1),_c('section',{staticClass:\"col-md-8\"},[_c('list',{attrs:{\"isLoading\":_vm.isVaultItemListLoading,\"totalItems\":_vm.totalVaultItems,\"currentPage\":_vm.currentVaultPage,\"pageItems\":_vm.vaultPageItems},on:{\"refresh\":_vm.fetchVaultItems},scopedSlots:_vm._u([{key:\"header-end\",fn:function(){return [_c('custom-button',{attrs:{\"type\":\"danger\",\"disabled\":_vm.isDeleteButtonDisabled},on:{\"click\":_vm.deleteSelectedVaultItem}},[_vm._v(\"Delete\")])]},proxy:true}])},_vm._l((_vm.vaultItems),function(item){return _c('b-list-group-item',{key:item.id,attrs:{\"active\":_vm.selectedVaultItem && item.id === _vm.selectedVaultItem.id},on:{\"click\":function () { return _vm.selectVaultItem(item); }}},[_vm._v(\" \"+_vm._s(item.id)+\" \")])}),1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { IFetchVaultItems, IStore } from '../store';\nimport List, { RefreshObj } from '../components/List.vue';\nimport CustomButton from '../components/Button.vue';\nimport { VaultItem, VaultMinMeta, VaultRepo } from 'vaultifier/dist/module';\nimport { ActionType } from '@/store/action-type';\nimport { FetchState } from '@/store/fetch-state';\n\ninterface IData {\n selectedRepo?: VaultRepo,\n}\n\nexport default Vue.extend({\n mounted() {\n this.initialize();\n },\n data: (): IData => ({\n selectedRepo: undefined,\n }),\n components: {\n List,\n CustomButton,\n },\n methods: {\n async initialize() {\n this.fetchRepos();\n },\n async selectRepo(item?: VaultRepo) {\n this.selectedRepo = item;\n\n this.fetchVaultItems();\n },\n async selectVaultItem(item?: VaultMinMeta) {\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEM, item);\n },\n async fetchRepos() {\n this.selectedRepo = undefined;\n this.$store.dispatch(ActionType.FETCH_REPOS);\n },\n async fetchVaultItems(refreshObj?: RefreshObj) {\n const fetchObj: IFetchVaultItems = {\n repo: this.selectedRepo,\n page: refreshObj?.page,\n };\n\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEMS, fetchObj);\n },\n async deleteSelectedVaultItem() {\n await this.$store.dispatch(ActionType.DELETE_VAULT_ITEM, this.selectedVaultItem);\n this.fetchRepos();\n },\n },\n computed: {\n store(): IStore {\n return this.$store.state as IStore;\n },\n repos(): VaultRepo[] | undefined {\n return this.store.repo.all;\n },\n isRepoListLoading(): boolean {\n return this.store.repo.state === FetchState.FETCHING;\n },\n vaultItems(): VaultItem[] | undefined {\n return this.$store.state.vaultItem.all;\n },\n isVaultItemListLoading(): boolean {\n return (this.$store.state as IStore).vaultItem.allState === FetchState.FETCHING;\n },\n hasSelectedVaultItem(): boolean {\n return !!this.selectedVaultItem;\n },\n isDeleteButtonDisabled(): boolean {\n return !this.hasSelectedVaultItem;\n },\n selectedVaultItem(): VaultItem | undefined {\n return (this.$store.state as IStore).vaultItem.current;\n },\n currentVaultPage(): number | undefined {\n return (this.$store.state as IStore).vaultItem.paging?.current;\n },\n totalVaultItems(): number | undefined {\n return (this.$store.state as IStore).vaultItem.paging?.totalItems;\n },\n vaultPageItems(): number | undefined {\n return (this.$store.state as IStore).vaultItem.paging?.pageItems;\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RepoView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RepoView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RepoView.vue?vue&type=template&id=6885a059&\"\nimport script from \"./RepoView.vue?vue&type=script&lang=ts&\"\nexport * from \"./RepoView.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { IStore, MutationType } from '../store';\nimport DataVisualizer from '../components/DataVisualizer.vue';\nimport Spinner from '../components/Spinner.vue';\nimport SchemaView from '../components/SchemaView.vue';\nimport RepoView from '../components/RepoView.vue';\nimport { VaultItem, VaultMinMeta } from 'vaultifier/dist/module';\nimport { FetchState } from '@/store/fetch-state';\n\nimport { getInstance } from '@/services';\nimport { ActionType } from '@/store/action-type';\n\ninterface Data {\n hasRepoSupport: boolean,\n}\n\nexport default Vue.extend({\n components: {\n DataVisualizer,\n Spinner,\n SchemaView,\n RepoView,\n },\n data: (): Data => ({\n hasRepoSupport: false,\n }),\n async created() {\n this.hasRepoSupport = (await getInstance().getVaultSupport()).repos;\n },\n computed: {\n selectedVaultItem(): VaultItem | undefined {\n return this.state.vaultItem.current;\n },\n hasSelectedVaultItem(): boolean {\n return !!this.selectedVaultItem;\n },\n state(): IStore {\n return this.$store.state as IStore;\n },\n isVaultItemLoading(): boolean {\n return this.state.vaultItem.currentState == FetchState.FETCHING;\n },\n isUiFluid(): boolean {\n return this.state.ui.isFluid;\n }\n },\n methods: {\n handleShowEditView(isShown: boolean) {\n if (isShown)\n this.$store.commit(MutationType.SET_VAULT_ITEM, undefined);\n },\n handleActivateTab() {\n this.$store.dispatch(ActionType.RESET_VAULT_ITEMS);\n },\n selectVaultItem(item: VaultMinMeta) {\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEM, item);\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MainView.vue?vue&type=template&id=4ff6a4af&scoped=true&\"\nimport script from \"./MainView.vue?vue&type=script&lang=ts&\"\nexport * from \"./MainView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MainView.vue?vue&type=style&index=0&id=4ff6a4af&scoped=true&lang=css&\"\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 \"4ff6a4af\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-4\"},[_c('list',{attrs:{\"isLoading\":_vm.isVaultItemListLoading}},_vm._l((_vm.vaultItems),function(item){return _c('b-list-group-item',{key:item.id,attrs:{\"active\":item.id === _vm.selectedVaultItem.id},on:{\"click\":function () { return _vm.selectVaultItem(item); }}},[_vm._v(\" \"+_vm._s(item.id)+\" \")])}),1)],1),_c('div',{staticClass:\"col-md-8\"},[(_vm.hasSelectedVaultItem)?_c('data-visualizer',{attrs:{\"showRawView\":false,\"item\":_vm.selectedVaultItem}}):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue, { PropType } from 'vue'\nimport { VaultItem, VaultMinMeta, VaultSchema } from 'vaultifier';\nimport List from '../components/List.vue';\nimport DataVisualizer from '../components/DataVisualizer.vue';\nimport { IStore } from '@/store';\nimport { FetchState } from '@/store/fetch-state';\nimport { ActionType } from '@/store/action-type';\n\nexport default Vue.extend({\n props: {\n schemaDri: String as PropType,\n },\n components: {\n DataVisualizer,\n List,\n },\n created() {\n this.initialize();\n },\n methods: {\n async initialize() {\n this.fetchVaultItems();\n },\n async selectVaultItem(item?: VaultMinMeta) {\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEM, item);\n },\n async fetchVaultItems() {\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEMS, { schema: { dri: this.schemaDri } });\n }\n },\n computed: {\n vaultItems(): VaultItem[] | undefined {\n return this.$store.state.vaultItem.all;\n },\n isVaultItemListLoading(): boolean {\n return (this.$store.state as IStore).vaultItem.allState === FetchState.FETCHING;\n },\n selectedVaultItem(): VaultItem | undefined {\n return (this.$store.state as IStore).vaultItem.current;\n },\n hasSelectedVaultItem(): boolean {\n return !!this.selectedVaultItem;\n },\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchemaView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchemaView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SchemaView.vue?vue&type=template&id=04e5c71d&\"\nimport script from \"./SchemaView.vue?vue&type=script&lang=ts&\"\nexport * from \"./SchemaView.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',[(_vm.vaultItem)?_c('data-visualizer',{attrs:{\"item\":_vm.vaultItem}}):_c('spinner')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport DataVisualizer from '../components/DataVisualizer.vue';\n\nimport { IStore } from '@/store';\nimport { ActionType } from '@/store/action-type';\nimport { VaultItem, VaultMinMeta } from 'vaultifier';\nimport Spinner from '@/components/Spinner.vue';\nexport default Vue.extend({\n props: {\n itemId: String,\n },\n components: {\n DataVisualizer,\n Spinner,\n },\n mounted() {\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEM, {\n id: parseInt(this.itemId)\n } as VaultMinMeta)\n },\n computed: {\n vaultItem(): VaultItem | undefined {\n return (this.$store.state as IStore).vaultItem.current;\n }\n }\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ItemView.vue?vue&type=template&id=cf6a6122&\"\nimport script from \"./ItemView.vue?vue&type=script&lang=ts&\"\nexport * from \"./ItemView.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport VueRouter from 'vue-router';\n\nimport { routes } from './routes';\nexport { RoutePath } from './routes'\n\nVue.use(VueRouter);\n\nexport const router = new VueRouter({\n routes,\n mode: 'hash',\n})","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { RoutePath } from '@/router';\nimport { getInstance } from '@/services';\nimport { IStore } from '@/store';\nimport { ActionType } from '@/store/action-type';\nimport { VaultEncryptionSupport } from 'vaultifier';\nimport { Action, executeAction, getActionsFromConfig } from '../utils/actions';\nimport Vue, { PropType } from 'vue'\n\nimport { ConfigService, PACKAGE } from '../services/config-service';\n\ninterface Data {\n workingAction?: Action,\n}\n\nexport default Vue.extend({\n props: {\n encryptionSupport: Object as PropType,\n settingsActions: Array as PropType,\n title: String as PropType,\n description: String as PropType,\n url: String as PropType,\n },\n data: (): Data => ({\n workingAction: undefined,\n }),\n methods: {\n async executeAction(action: Action) {\n this.workingAction = action;\n await executeAction(action, getInstance(), this);\n this.workingAction = undefined;\n },\n goHome() {\n this.$router.push(RoutePath.MAIN_VIEW);\n },\n toggleUiFluid() {\n this.$store.dispatch(ActionType.TOGGLE_UI_IS_FLUID);\n }\n },\n computed: {\n version() {\n return PACKAGE.version;\n },\n encryptionIcon(): string | undefined {\n if (!this.encryptionSupport)\n return '';\n\n const { supportsEncryption, supportsDecryption } = this.encryptionSupport;\n\n if (supportsEncryption && supportsDecryption)\n return 'lock-fill'\n else if (!supportsEncryption && !supportsDecryption)\n return undefined;\n else\n return 'lock';\n },\n actions(): Action[] {\n return getActionsFromConfig('settings', 'actions');\n },\n gearAnimation() {\n return this.workingAction ? 'spin' : undefined;\n },\n workingActionTitle() {\n return this.workingAction?.title;\n },\n state(): IStore {\n return this.$store.state as IStore;\n },\n isUiFluid(): boolean {\n return this.state.ui.isFluid;\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=19eddea2&scoped=true&\"\nimport script from \"./NavBar.vue?vue&type=script&lang=ts&\"\nexport * from \"./NavBar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&id=19eddea2&scoped=true&lang=css&\"\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 \"19eddea2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"jumbotron\"},[_c('h1',{staticClass:\"display-5\"},[_vm._v(\"DataBud Login\")]),_c('b-form',{on:{\"submit\":_vm.submitForm}},[_c('b-form-group',{attrs:{\"label\":\"App Key:\"}},[_c('b-form-input',{attrs:{\"required\":\"\",\"name\":\"username\"},model:{value:(_vm.appKey),callback:function ($$v) {_vm.appKey=$$v},expression:\"appKey\"}})],1),_c('b-form-group',{attrs:{\"label\":\"App Secret:\"}},[_c('b-form-input',{attrs:{\"required\":\"\",\"name\":\"password\",\"type\":\"password\"},model:{value:(_vm.appSecret),callback:function ($$v) {_vm.appSecret=$$v},expression:\"appSecret\"}})],1),(_vm.scopeOptions)?_c('b-form-group',{attrs:{\"label\":\"Scope:\"}},[_c('b-form-select',{attrs:{\"required\":\"\",\"options\":_vm.scopeOptions},model:{value:(_vm.scope),callback:function ($$v) {_vm.scope=$$v},expression:\"scope\"}})],1):_vm._e(),_c('b-button',{attrs:{\"type\":\"submit\",\"variant\":\"primary\"}},[_vm._v(\"Login\")])],1),_c('div',{staticClass:\"mt-3\"},_vm._l((_vm.identityProviders),function(idp){return _c('b-button',{key:idp.authority,attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function () { return _vm.$emit('useIdentityProvider', idp); }}},[(idp.imageUrl)?_c('img',{staticClass:\"button-icon\",attrs:{\"src\":idp.imageUrl}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.getIdentityProviderTitle(idp))+\" \")])}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue, { PropType } from 'vue';\nimport { OAuthIdentityProvider, OAuthSupport } from 'vaultifier';\nimport { getTranslation } from '../utils';\n\nexport interface Data {\n appKey: string,\n appSecret: string,\n scope?: string,\n}\n\nexport default Vue.extend({\n props: {\n scopes: Array as PropType,\n identityProviders: Array as PropType<(OAuthSupport | OAuthIdentityProvider)[] | undefined>,\n },\n data: (): Data => ({\n appKey: '',\n appSecret: '',\n scope: undefined,\n }),\n created() {\n if (this.scopes && this.scopes.length > 0)\n this.scope = this.scopes[0];\n },\n methods: {\n submitForm(event: Event) {\n event.preventDefault();\n\n this.$emit('login', {\n appKey: this.appKey,\n appSecret: this.appSecret,\n scope: this.scope,\n } as Data);\n },\n getIdentityProviderTitle(identityProvider: OAuthIdentityProvider) {\n // 'OAuth' is the default string for OYD-internal authorization code\n return getTranslation(identityProvider.title ?? 'OAuth');\n }\n },\n computed: {\n scopeOptions() {\n return this.scopes?.map((x) => ({\n text: x,\n value: x,\n }));\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=c0fc6e04&scoped=true&\"\nimport script from \"./Login.vue?vue&type=script&lang=ts&\"\nexport * from \"./Login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=c0fc6e04&scoped=true&lang=css&\"\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 \"c0fc6e04\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport { setInstance as setVaultifier } from './services';\nimport Spinner from './components/Spinner.vue'\nimport NavBar from './components/NavBar.vue'\nimport Login, { Data as LoginData } from './components/Login.vue'\nimport { Vaultifier, VaultEncryptionSupport, VaultSupport, VaultInfo, VaultifierWeb, OAuthIdentityProvider, OAuthSupport, } from 'vaultifier';\nimport { RoutePath } from './router';\nimport { RouteParams } from \"./router/routes\";\nimport { IStore } from \"./store\";\nimport { ConfigService } from \"./services/config-service\";\n\nconst isLoginData = (data: any): data is LoginData => {\n const d = data as LoginData;\n return d.appKey !== undefined && d.appSecret !== undefined;\n}\n\ninterface IData {\n isInitializing: boolean,\n isLoggedIn: boolean,\n message?: string,\n encryptionSupport?: VaultEncryptionSupport,\n vaultSupport?: VaultSupport,\n vaultInfo?: VaultInfo,\n vaultUrl?: string,\n}\n\nexport default Vue.extend({\n components: {\n Spinner,\n Login,\n NavBar,\n },\n created() {\n this.initialize();\n },\n data: (): IData => ({\n isInitializing: true,\n isLoggedIn: false,\n message: undefined,\n encryptionSupport: undefined,\n vaultSupport: undefined,\n vaultInfo: undefined,\n vaultUrl: undefined,\n }),\n methods: {\n async initialize() {\n this.tryInitializeVaultifier();\n\n const { searchParams } = new URL(window.location.href);\n\n const schema = searchParams.get(RouteParams.SCHEMA_DRI);\n if (schema && this.$router.currentRoute.path !== RoutePath.SCHEMA_VIEW)\n this.$router.push(RoutePath.SCHEMA_VIEW);\n\n const itemId = searchParams.get(RouteParams.ITEM_ID);\n if (itemId && this.$router.currentRoute.path !== RoutePath.ITEM_VIEW)\n this.$router.push(RoutePath.ITEM_VIEW);\n },\n async tryInitializeVaultifier(credentials?: OAuthIdentityProvider | LoginData) {\n this.isInitializing = true;\n\n let vaultifier: Vaultifier | undefined = undefined;\n\n const vw = await VaultifierWeb.create({\n baseUrl: ConfigService.get('endpoint', 'url'),\n clientId: ConfigService.get('endpoint', 'clientId'),\n });\n\n if (vw.vaultifier)\n this.vaultUrl = vw.vaultifier.urls.baseUrl;\n\n try {\n if (credentials) {\n // APP_KEY and APP_SECRET based authentication\n if (vw.vaultifier && isLoginData(credentials)) {\n vw.vaultifier.setCredentials(credentials);\n await vw.vaultifier.initialize();\n }\n // external authentication provider\n else\n await vw.initialize({\n oAuthType: credentials as OAuthIdentityProvider,\n });\n }\n else\n await vw.initialize();\n } catch (e) {\n console.error(e);\n }\n\n if (vw.vaultifier) {\n vaultifier = vw.vaultifier;\n setVaultifier(vaultifier);\n }\n\n if (!vaultifier) {\n this.message = `Sorry. I was not able to create a vaultifier instance.\nTry looking into the browser console to gain more insights on the problem.`;\n this.isInitializing = false;\n return;\n }\n\n try {\n this.vaultSupport = await vaultifier.getVaultSupport();\n\n if (await vaultifier.isAuthenticated()) {\n this.isLoggedIn = true;\n }\n else {\n try {\n await vaultifier.initialize();\n this.isLoggedIn = await vaultifier.isAuthenticated();\n } catch { /* vaultifier throws an error if no credentials can be determined */ }\n }\n\n this.encryptionSupport = await vaultifier.setEnd2EndEncryption(true);\n\n if (this.isLoggedIn) {\n this.vaultInfo = await vaultifier.getVaultInfo();\n }\n }\n catch {\n if (vaultifier.urls.baseUrl)\n this.message = `I'm not sure ${vaultifier.urls.baseUrl} is the correct endpoint I should connect to. Please check this again.`;\n else\n this.message = `I could not find any endpoint to connect to.`\n }\n\n this.isInitializing = false;\n },\n logIn(credentials: LoginData) {\n this.tryInitializeVaultifier(credentials);\n },\n },\n computed: {\n hasMessage(): boolean {\n return !!this.message;\n },\n isLoginFormShowed(): boolean {\n return !this.isInitializing && !this.isLoggedIn;\n },\n title(): string {\n return this.vaultInfo?.name || 'OYD-DataBud';\n },\n description(): string | undefined {\n return this.vaultInfo?.description;\n },\n state(): IStore {\n return this.$store.state as IStore;\n },\n isUiFluid(): boolean {\n return this.state.ui.isFluid;\n },\n identityProviders(): (OAuthSupport | OAuthIdentityProvider)[] | undefined {\n return this.vaultSupport?.oAuth;\n }\n },\n watch: {\n title() {\n document.title = this.title;\n }\n }\n});\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=8af996cc&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=8af996cc&scoped=true&lang=css&\"\nimport style1 from \"./App.vue?vue&type=style&index=1&lang=css&\"\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 \"8af996cc\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport App from './App.vue';\nimport { router } from './router';\nimport { getStore } from './store';\n\nimport { BootstrapVue, IconsPlugin } from 'bootstrap-vue';\nimport 'bootstrap/dist/css/bootstrap.css';\nimport 'bootstrap-vue/dist/bootstrap-vue.css';\n\nimport VueBootstrapTypeahead from 'vue-bootstrap-typeahead';\n\nimport { ConfigService } from './services/config-service';\n\n(async () => {\n await ConfigService.initialize();\n\n Vue.use(BootstrapVue);\n Vue.use(IconsPlugin);\n \n Vue.component('b-typeahead', VueBootstrapTypeahead);\n\n new Vue({\n router,\n store: getStore(),\n render: h => h(App)\n }).$mount('#app')\n}\n)();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=19eddea2&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormEditView.vue?vue&type=style&index=0&id=2b2d6788&scoped=true&lang=css&\""],"sourceRoot":""}