openc3-cosmos-tool-bucketexplorer 5.5.2 → 5.6.0

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openc3-cosmos-tool-bucketexplorer
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.5.2
4
+ version: 5.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-03-16 00:00:00.000000000 Z
12
+ date: 2023-04-17 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: " This plugin adds the OpenC3 COSMOS Bucket Explorer tool\n"
15
15
  email:
@@ -24,10 +24,10 @@ files:
24
24
  - Rakefile
25
25
  - plugin.txt
26
26
  - tools/bucketexplorer/index.html
27
+ - tools/bucketexplorer/js/288.js
28
+ - tools/bucketexplorer/js/288.js.map
27
29
  - tools/bucketexplorer/js/735.js
28
30
  - tools/bucketexplorer/js/735.js.map
29
- - tools/bucketexplorer/js/951.js
30
- - tools/bucketexplorer/js/951.js.map
31
31
  - tools/bucketexplorer/js/app.js
32
32
  - tools/bucketexplorer/js/app.js.map
33
33
  homepage: https://github.com/OpenC3/openc3
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/951.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-bucketexplorer/./src/tools/BucketExplorer/BucketExplorer.vue","webpack://@openc3/cosmos-tool-bucketexplorer/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/cosmos-tool-bucketexplorer/../openc3-tool-common/src/components/TopBar.vue?231a","webpack://@openc3/cosmos-tool-bucketexplorer/../openc3-tool-common/src/components/TopBar.vue?d9e2","webpack://@openc3/cosmos-tool-bucketexplorer/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-bucketexplorer/../openc3-tool-common/src/services/api.js","webpack://@openc3/cosmos-tool-bucketexplorer/src/tools/BucketExplorer/BucketExplorer.vue","webpack://@openc3/cosmos-tool-bucketexplorer/./src/tools/BucketExplorer/BucketExplorer.vue?11a5","webpack://@openc3/cosmos-tool-bucketexplorer/./src/tools/BucketExplorer/BucketExplorer.vue?5e11","webpack://@openc3/cosmos-tool-bucketexplorer/./src/tools/BucketExplorer/BucketExplorer.vue?7858","webpack://@openc3/cosmos-tool-bucketexplorer/../openc3-tool-common/src/components/TopBar.vue?28f1","webpack://@openc3/cosmos-tool-bucketexplorer/./src/tools/BucketExplorer/BucketExplorer.vue?b452","webpack://@openc3/cosmos-tool-bucketexplorer/../openc3-tool-common/src/components/TopBar.vue?bcb1"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('top-bar',{attrs:{\"title\":_vm.title}}),_c('v-list',[_c('span',{staticClass:\"ma-2\"},[_vm._v(\"Buckets (click to browse):\")]),_vm._l((_vm.buckets),function(bucket,index){return _c('v-list-item',{key:index,on:{\"click\":function($event){$event.stopPropagation();return _vm.selectBucket(bucket)}}},[_c('v-icon',{staticClass:\"mr-2\"},[_vm._v(\"mdi-bucket\")]),_c('v-list-item-title',[_vm._v(_vm._s(bucket))])],1)})],2),_c('v-card',{attrs:{\"width\":\"100%\"}},[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.bucket)+\" Files \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.files,\"search\":_vm.search,\"items-per-page\":1000,\"footer-props\":{\n showFirstLastPage: true,\n itemsPerPageOptions: [1000],\n firstIcon: 'mdi-page-first',\n lastIcon: 'mdi-page-last',\n prevIcon: 'mdi-chevron-left',\n nextIcon: 'mdi-chevron-right',\n },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"dense\":\"\"},on:{\"click:row\":_vm.fileClick},scopedSlots:_vm._u([{key:\"top\",fn:function(){return [_c('v-row',{staticClass:\"pa-5\"},[_c('v-icon',{staticClass:\"ml-2\",on:{\"click\":_vm.backArrow}},[_vm._v(\"mdi-chevron-left-box-outline\")]),_c('span',{staticClass:\".text-body-1 ma-2\",attrs:{\"data-test\":\"file-path\"}},[_vm._v(\"/\"+_vm._s(_vm.path))]),_c('v-spacer'),_c('span',{staticClass:\"pa-1\"},[_vm._v(\"Upload\")]),_c('v-file-input',{staticClass:\"file-input\",attrs:{\"hide-input\":\"\",\"prepend-icon\":\"mdi-upload\",\"data-test\":\"upload-file\"},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}})],1)]},proxy:true},{key:\"item.name\",fn:function({ item }){return [_c('v-icon',{staticClass:\"mr-2\"},[_vm._v(_vm._s(item.icon))]),_vm._v(_vm._s(item.name)+\" \")]}},{key:\"item.action\",fn:function({ item }){return [(item.icon == 'mdi-file')?_c('v-icon',{staticClass:\"mr-3\",attrs:{\"data-test\":\"download-file\"},on:{\"click\":function($event){return _vm.downloadFile(item.name)}}},[_vm._v(\"mdi-download-box\")]):_vm._e(),(item.icon == 'mdi-file')?_c('v-icon',{attrs:{\"data-test\":\"delete-file\"},on:{\"click\":function($event){return _vm.deleteFile(item.name)}}},[_vm._v(\"mdi-delete\")]):_vm._e()]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('div',{staticClass:\"v-toolbar__content\"},[_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label}`)}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_c('v-list',[_c('v-radio-group',{staticClass:\"ma-0 pa-0\",attrs:{\"value\":menu.radioGroup,\"hide-details\":\"\",\"dense\":\"\"}},[_vm._l((menu.items),function(option,j){return [(option.divider)?_c('v-divider'):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label} ${option.label}`)},on:{\"click\":function($event){return option.command(option)}}},[(option.radio)?_c('v-list-item-action',[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),(option.checkbox)?_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label},model:{value:(option.checked),callback:function ($$v) {_vm.$set(option, \"checked\", $$v)},expression:\"option.checked\"}})],1):_vm._e(),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label))]):_vm._e()],1)]})],2)],1)],1)}),_c('v-spacer'),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.title))]),_c('v-spacer')],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=2eb37f67&scoped=true&\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js&\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=2eb37f67&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2eb37f67\",\n null\n \n)\n\nexport default component.exports","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true).then(\n function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n }\n )\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.headers['ignore-errors'].includes(\n error.response.status.toString()\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n if (vueInstance.$notify) {\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n } else {\n throw error\n }\n }\n)\n\nexport default axiosInstance\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from './axios.js'\n\nconst request = async function (\n method,\n url,\n { data, params = {}, headers, noAuth = false, noScope = false } = {}\n) {\n if (!noAuth) {\n try {\n let refreshed = await OpenC3Auth.updateToken(\n OpenC3Auth.defaultMinValidity\n )\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n } catch (error) {\n OpenC3Auth.login()\n }\n headers['Authorization'] = localStorage.openc3Token\n }\n if (!noScope && !params['scope']) {\n params['scope'] = window.openc3Scope\n }\n return axios({\n method,\n url,\n data,\n params,\n headers,\n })\n}\n\nconst acceptOnlyDefaultHeaders = {\n Accept: 'application/json',\n}\n\nconst fullDefaultHeaders = {\n ...acceptOnlyDefaultHeaders,\n 'Content-Type': 'application/json',\n}\n\nexport default {\n get: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('get', path, { params, headers, noScope, noAuth })\n },\n\n put: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('put', path, { data, params, headers, noScope, noAuth })\n },\n\n post: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('post', path, { data, params, headers, noScope, noAuth })\n },\n\n delete: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('delete', path, { params, headers, noScope, noAuth })\n },\n}\n","<!--\n# Copyright 2023 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <top-bar :title=\"title\" />\n <v-list>\n <span class=\"ma-2\">Buckets (click to browse):</span>\n <v-list-item\n v-for=\"(bucket, index) in buckets\"\n :key=\"index\"\n @click.stop=\"selectBucket(bucket)\"\n >\n <v-icon class=\"mr-2\">mdi-bucket</v-icon\n ><v-list-item-title>{{ bucket }}</v-list-item-title>\n </v-list-item>\n </v-list>\n <v-card width=\"100%\">\n <v-card-title>\n {{ bucket }} Files\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"files\"\n :search=\"search\"\n :items-per-page=\"1000\"\n :footer-props=\"{\n showFirstLastPage: true,\n itemsPerPageOptions: [1000],\n firstIcon: 'mdi-page-first',\n lastIcon: 'mdi-page-last',\n prevIcon: 'mdi-chevron-left',\n nextIcon: 'mdi-chevron-right',\n }\"\n @click:row=\"fileClick\"\n calculate-widths\n multi-sort\n dense\n >\n <template v-slot:top>\n <v-row class=\"pa-5\">\n <v-icon class=\"ml-2\" @click=\"backArrow\"\n >mdi-chevron-left-box-outline</v-icon\n ><span class=\".text-body-1 ma-2\" data-test=\"file-path\"\n >/{{ path }}</span\n >\n <v-spacer />\n <span class=\"pa-1\">Upload</span>\n <v-file-input\n v-model=\"file\"\n hide-input\n class=\"file-input\"\n prepend-icon=\"mdi-upload\"\n data-test=\"upload-file\"\n />\n </v-row>\n </template>\n <template v-slot:item.name=\"{ item }\">\n <v-icon class=\"mr-2\">{{ item.icon }}</v-icon\n >{{ item.name }}\n </template>\n <template v-slot:item.action=\"{ item }\">\n <v-icon\n class=\"mr-3\"\n v-if=\"item.icon == 'mdi-file'\"\n @click=\"downloadFile(item.name)\"\n data-test=\"download-file\"\n >mdi-download-box</v-icon\n >\n <v-icon\n v-if=\"item.icon == 'mdi-file'\"\n @click=\"deleteFile(item.name)\"\n data-test=\"delete-file\"\n >mdi-delete</v-icon\n >\n </template>\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nimport Api from '@openc3/tool-common/src/services/api'\nimport axios from 'axios'\n\nexport default {\n components: {\n TopBar,\n },\n data() {\n return {\n title: 'COSMOS Bucket Explorer',\n search: '',\n bucket: '',\n buckets: [],\n path: '',\n file: null,\n files: [],\n headers: [\n { text: 'Name', value: 'name' },\n { text: 'Size', value: 'size' },\n { text: 'Modified Date', value: 'modified' },\n { text: 'Action', value: 'action' },\n ],\n }\n },\n created() {\n Api.get('/openc3-api/storage/buckets').then((response) => {\n this.buckets = response.data\n })\n if (this.$route.params.path) {\n let parts = this.$route.params.path.split('/')\n this.bucket = parts[0]\n this.path = parts.slice(1).join('/')\n this.updateFiles()\n }\n },\n watch: {\n // This is the upload function that is activated when the file gets set\n file: async function () {\n if (this.file === null) return\n // Reassign data to presignedRequest for readability\n const { data: presignedRequest } = await Api.get(\n `/openc3-api/storage/upload/${encodeURIComponent(\n `${this.path}${this.file.name}`\n )}?bucket=OPENC3_${this.bucket.toUpperCase()}_BUCKET`\n )\n // This pushes the file into storage by using the fields in the presignedRequest\n // See storage_controller.rb get_presigned_request()\n const response = await axios({\n ...presignedRequest,\n data: this.file,\n })\n this.file = null\n this.updateFiles()\n },\n },\n methods: {\n update() {\n this.$router.push({\n name: 'Bucket Explorer',\n params: {\n path: `${this.bucket}/${this.path}`,\n },\n })\n this.updateFiles()\n },\n selectBucket(bucket) {\n if (this.bucket === bucket) return\n this.bucket = bucket\n this.path = ''\n this.update()\n },\n backArrow() {\n // Nothing to do if we're at the root so return\n if (this.path === '') return\n let parts = this.path.split('/')\n this.path = parts.slice(0, parts.length - 2).join('/')\n // Only append the last slash if we're not at the root\n // The root is 2 because it's the path before clicking back\n if (parts.length > 2) {\n this.path += '/'\n }\n this.update()\n },\n fileClick(event) {\n if (event.icon === 'mdi-folder') {\n if (this.bucket === '') {\n // initial bucket click\n this.bucket = event.name\n } else {\n this.path += `${event.name}/`\n }\n this.update()\n }\n },\n downloadFile(filename) {\n Api.get(\n `/openc3-api/storage/download/${encodeURIComponent(\n this.path\n )}${filename}?bucket=OPENC3_${this.bucket.toUpperCase()}_BUCKET`\n )\n .then((response) => {\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = response.data.url\n link.setAttribute('download', filename)\n link.click()\n })\n .catch((response) => {\n this.$notify.caution({\n title: `Unable to download file ${this.path}${filename} from bucket ${this.bucket}`,\n })\n })\n },\n deleteFile(filename) {\n this.$dialog\n .confirm(`Are you sure you want to delete: ${filename}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n return Api.delete(\n `/openc3-api/storage/delete/${encodeURIComponent(\n this.path\n )}${filename}?bucket=OPENC3_${this.bucket.toUpperCase()}_BUCKET`\n )\n })\n .then((response) => {\n this.updateFiles()\n })\n },\n updateFiles() {\n Api.get(\n `/openc3-api/storage/files/OPENC3_${this.bucket.toUpperCase()}_BUCKET/${\n this.path\n }`\n )\n .then((response) => {\n this.files = response.data[0].map((bucket) => {\n return { name: bucket, icon: 'mdi-folder' }\n })\n this.files = this.files.concat(\n response.data[1].map((item) => {\n return {\n name: item.name,\n icon: 'mdi-file',\n size: item.size,\n modified: item.modified,\n download: true,\n }\n })\n )\n })\n .catch((response) => {\n this.files = []\n if (response.data.message) {\n this.$notify.caution({\n title: response.data.message,\n })\n } else {\n this.$notify.caution({\n title: response.message,\n })\n }\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.file-input {\n display: block;\n flex: none;\n padding-top: 0px;\n margin-top: 0px;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BucketExplorer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BucketExplorer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BucketExplorer.vue?vue&type=template&id=1be1ddea&scoped=true&\"\nimport script from \"./BucketExplorer.vue?vue&type=script&lang=js&\"\nexport * from \"./BucketExplorer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BucketExplorer.vue?vue&type=style&index=0&id=1be1ddea&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1be1ddea\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".file-input[data-v-1be1ddea]{display:block;flex:none;padding-top:0;margin-top:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-list[data-v-2eb37f67] .v-label{margin-left:5px}.v-list-item__icon[data-v-2eb37f67]{margin-right:15px!important}.v-list-item__title[data-v-2eb37f67]{color:#fff}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BucketExplorer.vue?vue&type=style&index=0&id=1be1ddea&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"31bbdc3c\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=2eb37f67&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5f049f38\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_uucdexesw","actualCoverage","s","render","f","_vm","this","_c","_self","attrs","title","staticClass","_v","_l","buckets","bucket","index","key","on","$event","stopPropagation","selectBucket","_s","model","value","search","callback","$$v","expression","headers","files","showFirstLastPage","itemsPerPageOptions","firstIcon","lastIcon","prevIcon","nextIcon","fileClick","scopedSlots","_u","fn","backArrow","path","file","proxy","_ref","item","icon","name","_ref2","b","downloadFile","_e","deleteFile","staticRenderFns","menus","menu","i","_g","_b","formatDT","concat","label","domProps","radioGroup","items","option","j","divider","disabled","command","radio","checkbox","checked","$set","style","props","type","Array","default","String","methods","string","replaceAll","toLowerCase","mounted","substring","document","component","vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","params","interceptors","response","use","error","_error$response","_error$response2","_error$response2$conf","_error$response3","_error$response3$data","_error$response4","_error$response4$data","_error$response5","_error$response5$data","_error$response5$data2","status","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","includes","toString","Promise","reject","body","statusText","config","data","message","exception","class","_error$response6","$notify","serious","request","_asyncToGenerator","_regeneratorRuntime","mark","_callee","method","url","_ref2$params","_ref2$noAuth","noAuth","_ref2$noScope","noScope","_args","arguments","wrap","_context","prev","next","length","undefined","sent","t0","login","localStorage","openc3Token","window","openc3Scope","abrupt","stop","_x","_x2","apply","acceptOnlyDefaultHeaders","Accept","fullDefaultHeaders","_objectSpread","get","_ref3","_ref3$headers","put","_ref4","_ref4$headers","post","_ref5","_ref5$headers","delete","_ref6","_ref6$headers","components","TopBar","text","created","_this","Api","$route","parts","split","slice","join","updateFiles","watch","_file","presignedRequest","encodeURIComponent","toUpperCase","update","$router","push","event","filename","_this2","link","createElement","href","setAttribute","click","catch","caution","_this3","$dialog","confirm","okText","cancelText","dialog","_this4","map","size","modified","download","___CSS_LOADER_EXPORT___","module","id","content","__esModule","locals","exports","add"],"sourceRoot":""}