{"version":3,"sources":["webpack:///../../../src/mixins/loadable/index.ts","webpack:///../../../src/components/VProgressLinear/index.ts","webpack:///./src/components/BreadcrumbsSmallScreen.vue","webpack:///src/components/BreadcrumbsSmallScreen.vue","webpack:///./src/components/BreadcrumbsSmallScreen.vue?8b31","webpack:///./src/components/BreadcrumbsSmallScreen.vue?8af6","webpack:///../../../src/mixins/validatable/index.ts","webpack:///./src/mixins/createSnapshot.js","webpack:///../../../src/components/VProgressLinear/VProgressLinear.ts","webpack:///./src/mixins/breadcrumbs.js","webpack:///./src/mixins/snapshot.js","webpack:///../../../src/components/VMessages/VMessages.ts","webpack:///../../../src/components/VMessages/index.ts","webpack:///../../../src/components/VInput/VInput.ts","webpack:///../../../src/components/VLabel/VLabel.ts","webpack:///../../../src/components/VLabel/index.ts","webpack:///./node_modules/core-js/modules/web.url.to-json.js","webpack:///../../../src/components/VInput/index.ts"],"names":["Vue","extend","name","props","loading","type","Boolean","String","default","loaderHeight","Number","methods","genProgress","this","$slots","progress","$createElement","VProgressLinear","absolute","color","height","indeterminate","staticClass","organizationMenu","callback","_vm","expression","staticStyle","_c","attrs","model","organizationSearch","key","item","long_id","on","$event","fetchingSpaces","fn","_g","sid","_v","spaceRole","space_role","iid","value","snapshot","currentState","scopedSlots","openSnapshot","isSpaceArchived","staticRenderFns","mixins","computed","mapGetters","component","baseMixins","Colorable","RegistrableInject","Themeable","disabled","error","errorCount","errorMessages","Array","messages","readonly","rules","success","successMessages","validateOnBlur","required","data","errorBucket","hasColor","hasFocused","hasInput","isFocused","isResetting","lazyValue","valid","computedColor","isDisabled","isDark","appIsDark","hasError","internalErrorMessages","length","hasSuccess","internalSuccessMessages","externalError","hasMessages","validationTarget","hasState","shouldValidate","genInternalMessages","internalMessages","internalValue","get","set","val","$emit","form","isInteractive","isReadonly","validations","slice","validationState","watch","handler","newVal","oldVal","deepEqual","validate","deep","$nextTick","setTimeout","beforeMount","created","register","beforeDestroy","unregister","isArray","reset","resetValidation","force","index","rule","push","consoleError","createQuickAndDetailedSnapshots","snapshotCreationLoading","snapshotCreationErrorContent","snapshotCreationError","addSnapshot","newSnapshotType","postBody","longId","shortId","description","$store","dispatch","snackBarText","snackBarTimeout","snackBarIcon","snapshotTypes","QUICK_SNAPSHOT","today","Date","currentDate","toJSON","currentTime","getHours","getMinutes","getSeconds","datetimeLongId","datetimeShortId","replace","short_id","snapshot_type","DETAILED_SNAPSHOT","userTasksRoute","$router","resolve","href","apiURL","$route","params","$axios","post","then","oid","snid","catch","response","reason","includes","finally","PositionableFactory","Proxyable","directives","intersect","active","backgroundColor","backgroundOpacity","bufferValue","query","reverse","rounded","stream","striped","internalLazyValue","isVisible","__cachedBackground","setBackgroundColor","style","backgroundStyle","__cachedBar","computedTransition","__cachedBarType","__cachedIndeterminate","__cachedDeterminate","__cachedBuffer","styles","width","convertToUnit","normalizedValue","class","genProgressBar","__cachedStream","setTextColor","normalizedBuffer","parseFloat","opacity","isReversed","Math","max","classes","fixed","reactive","themeClasses","VFadeTransition","VSlideXTransition","$vuetify","rtl","normalize","$listeners","change","genContent","slot","getSlot","genListeners","listeners","click","onClick","e","$el","getBoundingClientRect","offsetX","onObserve","entries","observer","isIntersecting","render","h","role","undefined","bottom","top","breadcrumbs","space","instance","spaceSearch","instanceSearch","snapshotSearch","spaceMenu","instanceMenu","snapshotMenu","sortArray","fetchOrgSpaces","orgName","org","userOrgs","filter","openSpace","spaceName","goToSnapshotTimelineView","toUpperCase","showInstanceOpenSnackBar","instanceName","goToMaster","openInstance","masterInstance","roleTypes","INSTANCE_EDITOR","fetchDistributedInstanceSnapshots","routeName","extraParams","delay","sortedSnapshots","nonDevelopmentSnapshots","mostRecentSnapshot","console","log","isEditorRole","isDistributedInstance","sortedInstanceSnapshots","instanceSnapshots","isViewerRole","disabledInstance","snapshots","mapState","organizationName","orgLongName","orgNames","spaceInstances","getters","spacesWithPrimarySnapshots","snapshotName","map","sort","a","b","toLowerCase","localeCompare","sortedOrgNames","indexOf","sortedEducationSpaces","educationSpaces","space_long_id","sortedResearchSpaces","researchSpaces","sortedDatasetSpaces","datasetSpaces","sortedInstances","sortBy","isCurrentState","showOrgMenu","showSpaceMenu","showInstanceMenu","fetchingInstances","showSnapshotMenu","fetchingSnapshots","find","instanceFixedNames","MASTER_INSTANCE","snapshotEnums","AUTO_SNAPSHOT","ARCHIVED_SNAPSHOT","RESTED_SNAPSHOT","fileStatusTypes","SAVED_AND_UNCHANGED","SAVED_AND_CHANGED","UNSAVED","STATUS_UNAVAILABLE","snapshotBackupStatusOptions","CREATING_SNAPSHOT","getSnapshotStatusIcon","snapshotData","backup_location","getSnapshotStatusDescription","filesystem_prefix","currentFileStatus","file","status","in_last_snapshot","changed","genChildren","tag","genMessage","message","VMessages","BindsAttrs","Validatable","inheritAttrs","appendIcon","dense","hideDetails","hideSpinButtons","hint","id","label","persistentHint","prependIcon","hasMouseDown","showDetails","isLabelActive","isDirty","computedId","_uid","hasDetails","messagesToDisplay","hasHint","hasLabel","$_modelEvent","validation","validationResult","beforeCreate","$options","event","genPrependSlot","genControl","genAppendSlot","title","attrs$","genInputSlot","genMessages","genDefaultSlot","genLabel","genIcon","cb","extraData","icon","eventName","kebabCase","hasListener","listeners$","mergeData","split","dark","light","tabindex","preventDefault","stopPropagation","mouseup","VIcon","mousedown","onMouseDown","onMouseUp","ref","VLabel","focused","for","genSlot","location","prepend","append","functional","left","right","ctx","children","functionalThemeClasses","position","options","$","call","target","proto","enumerable","URL","prototype","toString","VInput"],"mappings":"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","file":"static/js/chunk-b33a481a.1b716f06.js","sourcesContent":["import Vue, { VNode } from 'vue'\nimport VProgressLinear from '../../components/VProgressLinear'\n\ninterface colorable extends Vue {\n color?: string\n}\n\n/**\n * Loadable\n *\n * @mixin\n *\n * Used to add linear progress bar to components\n * Can use a default bar with a specific color\n * or designate a custom progress linear bar\n */\n/* @vue/component */\nexport default Vue.extend().extend({\n name: 'loadable',\n\n props: {\n loading: {\n type: [Boolean, String],\n default: false,\n },\n loaderHeight: {\n type: [Number, String],\n default: 2,\n },\n },\n\n methods: {\n genProgress (): VNode | VNode[] | null {\n if (this.loading === false) return null\n\n return this.$slots.progress || this.$createElement(VProgressLinear, {\n props: {\n absolute: true,\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n height: this.loaderHeight,\n indeterminate: true,\n },\n })\n },\n },\n})\n","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"d-inline d-flex align-center\"},[(_vm.showOrgMenu)?_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"flex-shrink-1 ml-2\",attrs:{\"disabled\":_vm.fetchingSpaces,\"text\":\"\",\"color\":\"secondary\"}},on),[_c('div',{staticClass:\"d-flex align-center\"},[_c('div',{staticClass:\"secondary--text font-weight-bold caption text-truncate flex-shrink-1\"},[_vm._v(_vm._s(_vm.organizationName))]),_c('v-icon',[_vm._v(\"arrow_drop_down\")])],1)])]}}],null,false,2318592317),model:{value:(_vm.organizationMenu),callback:function ($$v) {_vm.organizationMenu=$$v},expression:\"organizationMenu\"}},[_c('v-list',{staticClass:\"overflow-y-auto\",staticStyle:{\"max-height\":\"500px\"},attrs:{\"nav\":\"\",\"dense\":\"\"}},[_c('v-list-item',[_c('v-text-field',{staticClass:\"ma-0 pa-0\",attrs:{\"autofocus\":\"\",\"append-icon\":\"search\",\"label\":\"Filter\",\"dense\":\"\",\"single-line\":\"\",\"outlined\":\"\"},model:{value:(_vm.organizationSearch),callback:function ($$v) {_vm.organizationSearch=$$v},expression:\"organizationSearch\"}})],1),_c('v-list-item',{attrs:{\"disabled\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"apartment\")]),_vm._v(\" Organizations \")],1),_c('v-divider')],1)],1),_vm._l((_vm.sortedOrgNames),function(item){return _c('v-list-item',{key:item.long_id,on:{\"click\":function($event){return _vm.fetchOrgSpaces(item.long_id)}}},[_c('v-list-item-title',[_c('div',{staticClass:\"d-flex justify-space-between align-center\"},[_vm._v(\" \"+_vm._s(item.long_id)+\" \"),_c('v-chip',{staticClass:\"ml-3\",attrs:{\"outlined\":\"\",\"color\":\"grey lighten-1\",\"x-small\":\"\"}},[_vm._v(_vm._s(item.role))])],1)])],1)})],2)],1):_vm._e(),_c('v-menu',{attrs:{\"disabled\":_vm.fetchingSpaces,\"offset-y\":\"\",\"offset-x\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"icon\":\"\",\"text\":\"\"}},on),[_c('v-icon',[_vm._v(\"more_horiz\")])],1)]}}])},[_c('v-expansion-panels',{staticClass:\"overflow-y-scroll\",staticStyle:{\"max-height\":\"500px\",\"max-width\":\"70vw\"},attrs:{\"accordion\":\"\",\"focusable\":\"\"}},[_c('v-expansion-panel',{staticStyle:{\"min-width\":\"70vw\",\"max-width\":\"70vw\"}},[_c('v-expansion-panel-header',{staticClass:\"caption secondary--text font-weight-bold\"},[_c('div',{staticClass:\"d-flex justify-start\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"dashboard\")]),_vm._v(\" Spaces \")],1)]),_c('v-expansion-panel-content',[_c('v-list-item-group',[(_vm.educationSpaces.length)?_c('div',{staticStyle:{\"max-width\":\"70vw\"}},[_c('v-list-item',{attrs:{\"disabled\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase\"},[_vm._v(\"courses\")]),_c('v-divider')],1)],1),_vm._l((_vm.educationSpaces),function(item){return _c('v-list-item',{key:item.sid,on:{\"click\":function($event){return _vm.openSpace(item.space_long_id, item.sid, item.iid, item.snid)}}},[_c('v-list-item-title',[_c('div',{staticClass:\"d-flex justify-space-between align-center\"},[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(item.space_long_id))]),_c('v-chip',{staticClass:\"ml-3\",attrs:{\"outlined\":\"\",\"color\":\"grey lighten-1\",\"x-small\":\"\"}},[_vm._v(_vm._s(_vm.spaceRole(item.space_role)))])],1)])],1)})],2):_vm._e(),(_vm.researchSpaces.length)?_c('div',[_c('v-list-item',{staticClass:\"mt-5\",attrs:{\"disabled\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase\"},[_vm._v(\"Research Projects\")]),_c('v-divider')],1)],1),_vm._l((_vm.researchSpaces),function(item){return _c('v-list-item',{key:item.sid,on:{\"click\":function($event){return _vm.openSpace(item.space_long_id, item.sid, item.iid, item.snid)}}},[_c('v-list-item-title',[_c('div',{staticClass:\"d-flex justify-space-between align-center\"},[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(item.space_long_id))]),_c('v-chip',{staticClass:\"ml-3\",attrs:{\"outlined\":\"\",\"color\":\"grey lighten-1\",\"x-small\":\"\"}},[_vm._v(_vm._s(_vm.spaceRole(item.space_role)))])],1)])],1)})],2):_vm._e(),(_vm.datasetSpaces.length)?_c('div',[_c('v-list-item',{staticClass:\"mt-5\",attrs:{\"disabled\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase\"},[_vm._v(\"Datasets\")]),_c('v-divider')],1)],1),_vm._l((_vm.datasetSpaces),function(item){return _c('v-list-item',{key:item.sid,on:{\"click\":function($event){return _vm.openSpace(item.space_long_id, item.sid, item.iid, item.snid)}}},[_c('v-list-item-title',[_c('div',{staticClass:\"d-flex justify-space-between align-center\"},[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(item.space_long_id))]),_c('v-chip',{staticClass:\"ml-3\",attrs:{\"outlined\":\"\",\"color\":\"grey lighten-1\",\"x-small\":\"\"}},[_vm._v(_vm._s(_vm.spaceRole(item.space_role)))])],1)])],1)})],2):_vm._e()])],1)],1),(_vm.sortedInstances.length)?_c('v-expansion-panel',{staticStyle:{\"min-width\":\"70vw\",\"max-width\":\"70vw\"}},[_c('v-expansion-panel-header',{staticClass:\"caption secondary--text font-weight-bold\"},[_c('div',{staticClass:\"d-flex justify-start\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"group\")]),_vm._v(\" Instances \")],1)]),_c('v-expansion-panel-content',[_c('v-list-item-group',[_c('div',{staticStyle:{\"max-width\":\"70vw\"}},[_c('v-list-item',{attrs:{\"disabled\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase\"},[_vm._v(\"instances\")]),_c('v-divider')],1)],1),_vm._l((_vm.sortedInstances),function(item){return _c('v-list-item',{key:item.iid,attrs:{\"disabled\":_vm.disabledInstance(item.long_id, item.data)},on:{\"click\":function($event){return _vm.openInstance(item.long_id, item.iid, item.role)}}},[_c('v-list-item-title',[_c('div',{staticClass:\"d-flex justify-space-between align-center\"},[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(item.long_id))]),_c('v-chip',{staticClass:\"ml-3\",attrs:{\"outlined\":\"\",\"color\":\"grey lighten-1\",\"x-small\":\"\"}},[_vm._v(_vm._s(item.role))])],1)])],1)})],2)])],1)],1):_vm._e(),_c('v-expansion-panel',{staticStyle:{\"min-width\":\"70vw\",\"max-width\":\"70vw\"}},[_c('v-expansion-panel-header',{staticClass:\"caption secondary--text font-weight-bold\"},[_c('div',{staticClass:\"d-flex justify-start\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"layers\")]),_vm._v(\" Snapshots \")],1)]),_c('v-expansion-panel-content',[_c('v-list',{staticClass:\"overflow-y-auto\",staticStyle:{\"max-height\":\"500px\"},attrs:{\"nav\":\"\",\"dense\":\"\"},model:{value:(_vm.snapshot),callback:function ($$v) {_vm.snapshot=$$v},expression:\"snapshot\"}},[(_vm.currentState.length && _vm.isInstanceEditor && !_vm.isDistributedInstance)?_c('v-list-item',{attrs:{\"disabled\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase\"},[_vm._v(\" mutable state \"),_c('v-spacer')],1),_c('v-divider')],1)],1):_vm._e(),(_vm.currentState.length && _vm.isInstanceEditor && !_vm.isDistributedInstance)?_c('v-list-item',{on:{\"click\":function($event){return _vm.openSnapshot(_vm.currentState[0].snid)}}},[_c('v-list-item-title',[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(_vm.currentState[0].long_id))])])],1):_vm._e(),(_vm.sortedSnapshots.length)?_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase d-flex align-center flex-wrap\"},[_vm._v(\" immutable states \"),_c('v-spacer'),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"color\":\"info\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.goToSnapshotTimelineView()}}},on),[_c('v-icon',[_vm._v(\"timeline\")])],1)]}}],null,false,2773548375)},[_c('span',[_vm._v(\"Timeline view of snapshots\")])])],1),_c('v-divider')],1)],1):_vm._e(),(_vm.sortedSnapshots.length)?_c('div',_vm._l((_vm.sortedSnapshots),function(item){return _c('v-list-item',{key:item.snid,on:{\"click\":function($event){return _vm.openSnapshot(item.snid)}}},[_c('v-list-item-title',[_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(item.long_id))])])],1)}),1):(_vm.currentSpaceType !== _vm.spaceTypes.VENDOR_SPACE && _vm.isDevelopment && _vm.isInstanceEditor)?[(!_vm.isTrialSpace)?_c('v-list-item',{attrs:{\"disabled\":_vm.isSpaceArchived},on:{\"click\":function($event){return _vm.addSnapshot(_vm.snapshotTypes.QUICK_SNAPSHOT)}}},[_c('v-list-item-title',{staticClass:\"subtitle-2 d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"mdi-camera-plus-outline\")]),_vm._v(\" Quick snapshot \")],1),_c('v-list-item-action',[_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-icon',_vm._g({attrs:{\"small\":\"\",\"color\":\"grey lighten-1\"}},on),[_vm._v(\"mdi-information\")])]}}],null,false,2792354461)},[_c('span',[_vm._v(\" This will create and save a snapshot of your current state, including all your files, tables, and applications. \")])])],1)],1):_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('v-list-item',{attrs:{\"disabled\":\"\"}},[_c('v-list-item-title',{staticClass:\"subtitle-2 d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"mdi-camera-plus-outline\")]),_vm._v(\" Quick snapshot \")],1),_c('v-list-item-action',[_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on1 }){return [_c('v-icon',_vm._g({attrs:{\"small\":\"\",\"color\":\"grey lighten-1\"}},on1),[_vm._v(\"mdi-information\")])]}}],null,true)})],1)],1)],1)]}}])},[_c('span',[_vm._v(\" You discovered a premium feature! \"),_c('br'),_vm._v(\" Subscribing to Nuvolos will unlock it. \")])])]:_vm._e()],2)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\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??ref--13-1!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadcrumbsSmallScreen.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??ref--13-1!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadcrumbsSmallScreen.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BreadcrumbsSmallScreen.vue?vue&type=template&id=3fb2b3ea&\"\nimport script from \"./BreadcrumbsSmallScreen.vue?vue&type=script&lang=js&\"\nexport * from \"./BreadcrumbsSmallScreen.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Mixins\nimport Colorable from '../colorable'\nimport Themeable from '../themeable'\nimport { inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { deepEqual } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { InputMessage, InputValidationRules } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'form', any>('form'),\n Themeable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'validatable',\n\n props: {\n disabled: Boolean,\n error: Boolean,\n errorCount: {\n type: [Number, String],\n default: 1,\n },\n errorMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator,\n messages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator,\n readonly: Boolean,\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator,\n success: Boolean,\n successMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator,\n validateOnBlur: Boolean,\n value: { required: false },\n },\n\n data () {\n return {\n errorBucket: [] as string[],\n hasColor: false,\n hasFocused: false,\n hasInput: false,\n isFocused: false,\n isResetting: false,\n lazyValue: this.value,\n valid: false,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.color) return this.color\n // It's assumed that if the input is on a\n // dark background, the user will want to\n // have a white color. If the entire app\n // is setup to be dark, then they will\n // like want to use their primary color\n if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n hasError (): boolean {\n return (\n this.internalErrorMessages.length > 0 ||\n this.errorBucket.length > 0 ||\n this.error\n )\n },\n // TODO: Add logic that allows the user to enable based\n // upon a good validation\n hasSuccess (): boolean {\n return (\n this.internalSuccessMessages.length > 0 ||\n this.success\n )\n },\n externalError (): boolean {\n return this.internalErrorMessages.length > 0 || this.error\n },\n hasMessages (): boolean {\n return this.validationTarget.length > 0\n },\n hasState (): boolean {\n if (this.isDisabled) return false\n\n return (\n this.hasSuccess ||\n (this.shouldValidate && this.hasError)\n )\n },\n internalErrorMessages (): InputValidationRules {\n return this.genInternalMessages(this.errorMessages)\n },\n internalMessages (): InputValidationRules {\n return this.genInternalMessages(this.messages)\n },\n internalSuccessMessages (): InputValidationRules {\n return this.genInternalMessages(this.successMessages)\n },\n internalValue: {\n get (): unknown {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n\n this.$emit('input', val)\n },\n },\n isDisabled (): boolean {\n return this.disabled || (\n !!this.form &&\n this.form.disabled\n )\n },\n isInteractive (): boolean {\n return !this.isDisabled && !this.isReadonly\n },\n isReadonly (): boolean {\n return this.readonly || (\n !!this.form &&\n this.form.readonly\n )\n },\n shouldValidate (): boolean {\n if (this.externalError) return true\n if (this.isResetting) return false\n\n return this.validateOnBlur\n ? this.hasFocused && !this.isFocused\n : (this.hasInput || this.hasFocused)\n },\n validations (): InputValidationRules {\n return this.validationTarget.slice(0, Number(this.errorCount))\n },\n validationState (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor) return this.computedColor\n return undefined\n },\n validationTarget (): InputValidationRules {\n if (this.internalErrorMessages.length > 0) {\n return this.internalErrorMessages\n } else if (this.successMessages && this.successMessages.length > 0) {\n return this.internalSuccessMessages\n } else if (this.messages && this.messages.length > 0) {\n return this.internalMessages\n } else if (this.shouldValidate) {\n return this.errorBucket\n } else return []\n },\n },\n\n watch: {\n rules: {\n handler (newVal, oldVal) {\n if (deepEqual(newVal, oldVal)) return\n this.validate()\n },\n deep: true,\n },\n internalValue () {\n // If it's the first time we're setting input,\n // mark it with hasInput\n this.hasInput = true\n this.validateOnBlur || this.$nextTick(this.validate)\n },\n isFocused (val) {\n // Should not check validation\n // if disabled\n if (\n !val &&\n !this.isDisabled\n ) {\n this.hasFocused = true\n this.validateOnBlur && this.$nextTick(this.validate)\n }\n },\n isResetting () {\n setTimeout(() => {\n this.hasInput = false\n this.hasFocused = false\n this.isResetting = false\n this.validate()\n }, 0)\n },\n hasError (val) {\n if (this.shouldValidate) {\n this.$emit('update:error', val)\n }\n },\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeMount () {\n this.validate()\n },\n\n created () {\n this.form && this.form.register(this)\n },\n\n beforeDestroy () {\n this.form && this.form.unregister(this)\n },\n\n methods: {\n genInternalMessages (messages: InputMessage | null): InputValidationRules {\n if (!messages) return []\n else if (Array.isArray(messages)) return messages\n else return [messages]\n },\n /** @public */\n reset () {\n this.isResetting = true\n this.internalValue = Array.isArray(this.internalValue)\n ? []\n : null\n },\n /** @public */\n resetValidation () {\n this.isResetting = true\n },\n /** @public */\n validate (force = false, value?: any): boolean {\n const errorBucket = []\n value = value || this.internalValue\n\n if (force) this.hasInput = this.hasFocused = true\n\n for (let index = 0; index < this.rules.length; index++) {\n const rule = this.rules[index]\n const valid = typeof rule === 'function' ? rule(value) : rule\n\n if (valid === false || typeof valid === 'string') {\n errorBucket.push(valid || '')\n } else if (typeof valid !== 'boolean') {\n consoleError(`Rules should return a string or boolean, received '${typeof valid}' instead`, this)\n }\n }\n\n this.errorBucket = errorBucket\n this.valid = errorBucket.length === 0\n\n return this.valid\n },\n },\n})\n","export const createQuickAndDetailedSnapshots = {\n data() {\n return {\n snapshotCreationLoading: false,\n snapshotCreationErrorContent: 'An error has occurred while creating your snapshot, please try again later.',\n snapshotCreationError: false\n }\n },\n methods: {\n addSnapshot: function (newSnapshotType, longId = null, shortId = null, description = null) {\n this.snapshotCreationError = false\n this.$store.dispatch('showSnackBar', {\n snackBarText: 'Saving snapshot, please wait..',\n snackBarTimeout: 10000,\n snackBarIcon: 'info'\n })\n let postBody\n if (newSnapshotType === this.snapshotTypes.QUICK_SNAPSHOT) {\n const today = new Date()\n const currentDate = today.toJSON().slice(0, 10)\n const currentTime = ('0' + today.getHours()).slice(-2) + ':' + ('0' + today.getMinutes()).slice(-2) + ':' + ('0' + today.getSeconds()).slice(-2)\n const datetimeLongId = currentDate + ' / ' + currentTime\n const datetimeShortId = datetimeLongId.replace(/\\/+/g, '_').replace(/\\s+/g, '').replace('-', '_').replace(/:/g, '_')\n postBody = {\n description: 'Quick snapshot - no description available',\n long_id: 'Quick snapshot ' + datetimeLongId,\n short_id: datetimeShortId,\n snapshot_type: this.snapshotTypes.QUICK_SNAPSHOT\n }\n } else if (newSnapshotType === this.snapshotTypes.DETAILED_SNAPSHOT) {\n this.snapshotCreationLoading = true\n postBody = {\n description,\n long_id: longId,\n short_id: shortId,\n snapshot_type: this.snapshotTypes.DETAILED_SNAPSHOT\n }\n }\n const userTasksRoute = this.$router.resolve({ name: 'user-tasks' }).href\n const apiURL = `/instances/${this.$route.params.iid}/snapshots_async`\n this.$axios\n .post(apiURL, postBody)\n .then(() => {\n this.$store.dispatch('showSnackBar', {\n snackBarText: `Snapshot creation has started, you can track its progress here`,\n snackBarTimeout: 5000,\n snackBarIcon: 'info'\n })\n if (newSnapshotType === this.snapshotTypes.DETAILED_SNAPSHOT) {\n this.$router.push({\n name: 'snapshot-overview',\n params: {\n oid: this.$route.params.oid,\n sid: this.$route.params.sid,\n iid: this.$route.params.iid,\n snid: this.$route.params.snid\n }\n })\n }\n })\n .catch(error => {\n this.$store.dispatch('hideSnackBar')\n if (\n error.response &&\n error.response.data &&\n error.response.data.reason &&\n error.response.data.reason[0].includes('duplicate key value violates unique constraint \"uc_iid_long\"')\n ) {\n this.snapshotCreationError = true\n this.snapshotCreationErrorContent = 'Another snapshot uses the same name you chose for this snapshot, please choose another name'\n } else {\n this.$store.dispatch('showSnackBar', {\n snackBarText: 'Failed to create a snapshot, please try again later.',\n snackBarTimeout: 10000,\n snackBarIcon: 'error'\n })\n }\n })\n .finally(() => {\n this.snapshotCreationLoading = false\n })\n }\n }\n}\n","import './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n Proxyable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n directives: { intersect },\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n staticClass: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return this.$createElement(this.computedTransition, [this.__cachedBarType])\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n 'v-progress-linear__indeterminate--active': this.active,\n },\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return this.$createElement('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.change)\n },\n styles (): object {\n const styles: Record = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__content',\n }, slot)\n },\n genListeners () {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.click = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short') {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n [name]: true,\n },\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number) {\n if (value < 0) return 0\n if (value > 100) return 100\n return parseFloat(value)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-progress-linear',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n on: this.genListeners(),\n }\n\n return h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ])\n },\n})\n","import { sortArray, isEditorRole, isViewerRole, isDistributedInstance, isCurrentState } from '@/utils'\nimport { mapGetters, mapState } from 'vuex'\nimport { sortBy } from 'lodash'\nexport const breadcrumbs = {\n data: function () {\n return {\n space: 'select space',\n instance: 'select instance',\n snapshot: 'select snapshot',\n organizationSearch: '',\n spaceSearch: '',\n instanceSearch: '',\n snapshotSearch: '',\n organizationMenu: false,\n spaceMenu: false,\n instanceMenu: false,\n snapshotMenu: false\n }\n },\n methods: {\n sortArray: function () {\n return sortArray\n },\n fetchOrgSpaces: function (orgName) {\n this.organizationMenu = false\n this.space = 'select space'\n const org = this.userOrgs.filter(org => org.long_id === orgName)[0]\n this.$router.push({ name: 'home-dashboard', params: { oid: org.oid } })\n },\n openSpace(spaceName, sid, iid, snid) {\n this.spaceMenu = false\n this.space = spaceName\n this.$router.push({ name: 'snapshot-overview', params: { oid: this.$route.params.oid, sid, iid, snid } })\n },\n openSnapshot(snid) {\n this.snapshotMenu = false\n this.$router.push({\n name: 'snapshot-overview',\n params: { oid: this.$route.params.oid, sid: this.$route.params.sid, iid: this.$route.params.iid, snid }\n })\n },\n goToSnapshotTimelineView: function () {\n this.snapshotMenu = false\n this.$router.push({\n name: 'instance-snapshots',\n params: { oid: this.$route.params.oid, sid: this.$route.params.sid, iid: this.$route.params.iid, snid: this.$route.params.snid }\n })\n },\n spaceRole: function (role) {\n if (role) {\n if (role.toUpperCase().includes('ADMIN')) {\n return 'SPACE ADMIN'\n } else {\n return 'MEMBER'\n }\n } else {\n return 'UNAVAILABLE'\n }\n },\n showInstanceOpenSnackBar(instanceName) {\n this.$store.dispatch('showSnackBar', {\n snackBarText: `Moved to instance: ${instanceName}`,\n snackBarTimeout: 5000,\n snackBarIcon: 'check_circle'\n })\n },\n goToMaster() {\n this.openInstance('master', this.masterInstance.iid, this.roleTypes.INSTANCE_EDITOR)\n },\n fetchDistributedInstanceSnapshots(iid, routeName = 'snapshot-overview', extraParams = {}) {\n this.$axios\n .get(`instances/${iid}/snapshots`)\n .then(response => {\n if (response.data && response.data.length < 2) {\n const delay = 2000\n this.$store.dispatch('showSnackBar', {\n snackBarText: 'Distributed has no snapshots, resetting to master instance.',\n snackBarTimeout: delay,\n snackBarIcon: 'info'\n })\n setTimeout(() => {\n this.goToMaster()\n }, delay)\n } else if (response.data && response.data.length > 1) {\n const sortedSnapshots = sortArray(response.data, 'snid', 'descending', false)\n const nonDevelopmentSnapshots = sortedSnapshots.filter(snapshot => snapshot.long_id !== 'Current State')\n const mostRecentSnapshot = nonDevelopmentSnapshots[0]\n this.$router.push({\n name: routeName,\n params: {\n oid: this.$route.params.oid,\n sid: this.$route.params.sid,\n iid: mostRecentSnapshot.iid,\n snid: mostRecentSnapshot.snid,\n ...extraParams\n }\n })\n this.showInstanceOpenSnackBar(mostRecentSnapshot.long_id)\n }\n })\n .catch(error => {\n console.log(error)\n this.$store.dispatch('showSnackBar', {\n snackBarText: 'Failed to fetch snapshots of distributed',\n snackBarTimeout: 5000,\n snackBarIcon: 'error'\n })\n })\n },\n async openInstance(instanceName, iid, role) {\n // instanceName => NO NEED, less input the better!\n await this.$store.dispatch('instanceStore/fetchSnapshots', iid)\n if (isEditorRole(role) && !isDistributedInstance(instanceName)) {\n const sortedInstanceSnapshots = sortArray(this.instanceSnapshots, 'snid', 'ascending', false)\n if (sortedInstanceSnapshots.length) {\n this.$router.push({\n name: 'snapshot-overview',\n params: { oid: this.$route.params.oid, sid: this.$route.params.sid, iid, snid: sortedInstanceSnapshots[0].snid }\n })\n this.showInstanceOpenSnackBar(instanceName)\n }\n } else if (isDistributedInstance(instanceName)) {\n this.fetchDistributedInstanceSnapshots(iid)\n } else if (isViewerRole(role)) {\n const sortedInstanceSnapshots = sortArray(this.instanceSnapshots, 'snid', 'descending', false)\n this.$router.push({\n name: 'snapshot-overview',\n params: { oid: this.$route.params.oid, sid: this.$route.params.sid, iid, snid: sortedInstanceSnapshots[0].snid }\n })\n this.showInstanceOpenSnackBar(instanceName)\n }\n },\n disabledInstance(snapshots) {\n if (!snapshots.length) {\n return true\n } else if (snapshots.length >= 1) {\n return false\n }\n }\n },\n computed: {\n ...mapGetters('instanceStore', ['isInstanceEditor', 'isDistributedInstance']),\n ...mapState('instanceStore', ['instanceSnapshots']),\n ...mapState(['userOrgs']),\n ...mapState('orgStore', ['educationSpaces', 'researchSpaces', 'datasetSpaces', 'spacesWithPrimarySnapshots', 'fetchingSpaces']),\n ...mapState('spaceStore', ['spaceInstances', 'fetchingInstances']),\n ...mapState('instanceStore', ['fetchingSnapshots']),\n ...mapGetters('snapshotStore', ['isDevelopment', 'nonDevelopmentSnapshots']),\n ...mapGetters('orgStore', ['orgLongName']),\n ...mapGetters('spaceStore', ['currentSpaceType']),\n organizationName() {\n if (this.$route.params.oid !== undefined) {\n return this.orgLongName\n } else {\n return this.orgNames[0]\n }\n },\n instanceName() {\n if (this.$route.params.iid !== undefined && this.spaceInstances && this.spaceInstances.length) {\n return this.$store.getters['instanceStore/instanceLongNameById'](this.$route.params.iid)\n } else {\n return 'select instance'\n }\n },\n spaceName() {\n if (this.$route.params.sid !== undefined && this.spacesWithPrimarySnapshots && this.spacesWithPrimarySnapshots.length) {\n return this.$store.getters['spaceStore/spaceLongNameById'](this.$route.params.sid)\n } else {\n return 'select space'\n }\n },\n snapshotName() {\n if (this.$route.params.snid !== undefined && this.instanceSnapshots && this.instanceSnapshots.length) {\n return this.$store.getters['snapshotStore/snapshotLongNameById'](this.$route.params.snid)\n } else {\n return 'select snapshot'\n }\n },\n orgNames() {\n return this.userOrgs\n .map(org => org.long_id)\n .sort(function (a, b) {\n return a.toLowerCase().localeCompare(b.toLowerCase())\n })\n },\n sortedOrgNames() {\n if (this.organizationSearch.length) {\n return sortArray(this.userOrgs, 'long_id', 'ascending', true).filter(\n org => org.long_id.toLowerCase().indexOf(this.organizationSearch.toLowerCase()) !== -1\n )\n } else {\n return sortArray(this.userOrgs, 'long_id', 'ascending', true)\n }\n },\n sortedEducationSpaces() {\n if (this.spaceSearch.length) {\n return this.educationSpaces.filter(space => space.space_long_id.toLowerCase().indexOf(this.spaceSearch.toLowerCase()) !== -1)\n } else {\n return this.educationSpaces\n }\n },\n sortedResearchSpaces() {\n if (this.spaceSearch.length) {\n return this.researchSpaces.filter(space => space.space_long_id.toLowerCase().indexOf(this.spaceSearch.toLowerCase()) !== -1)\n } else {\n return this.researchSpaces\n }\n },\n sortedDatasetSpaces() {\n if (this.spaceSearch.length) {\n return this.datasetSpaces.filter(space => space.space_long_id.toLowerCase().indexOf(this.spaceSearch.toLowerCase()) !== -1)\n } else {\n return this.datasetSpaces\n }\n },\n sortedInstances() {\n if (this.instanceSearch.length) {\n return sortArray(this.spaceInstances, 'iid', 'ascending', false).filter(\n instance => instance.long_id.toLowerCase().indexOf(this.instanceSearch.toLowerCase()) !== -1\n )\n } else {\n return this.spaceInstances\n }\n },\n sortedSnapshots() {\n if (this.snapshotSearch.length) {\n return sortBy(this.instanceSnapshots, 'snapshot_timestamp')\n .reverse()\n .filter(snapshot => !isCurrentState(snapshot.short_id) && snapshot.long_id.toLowerCase().indexOf(this.snapshotSearch.toLowerCase()) !== -1)\n } else {\n return sortBy(this.instanceSnapshots, 'snapshot_timestamp')\n .reverse()\n .filter(snapshot => !isCurrentState(snapshot.short_id))\n }\n },\n currentState() {\n if (this.snapshotSearch.length) {\n return this.instanceSnapshots.filter(\n snapshot => snapshot.long_id === 'Current State' && snapshot.long_id.toLowerCase().indexOf(this.snapshotSearch.toLowerCase()) !== -1\n )\n } else {\n return this.instanceSnapshots.filter(snapshot => snapshot.long_id === 'Current State')\n }\n },\n showOrgMenu() {\n if (this.orgNames.length) {\n return true\n } else {\n return false\n }\n },\n showSpaceMenu() {\n if (this.spacesWithPrimarySnapshots.length && !this.fetchingSpaces) {\n return true\n } else {\n return false\n }\n },\n showInstanceMenu() {\n if (!this.fetchingInstances && !this.fetchingSpaces && this.$route.params.snid !== undefined) {\n return true\n } else {\n return false\n }\n },\n showSnapshotMenu() {\n if (this.instanceSnapshots.length && !this.fetchingSnapshots && !this.fetchingInstances && !this.fetchingSpaces) {\n return true\n } else {\n return false\n }\n },\n masterInstance() {\n const masterInstance = this.spaceInstances.find(instance => instance.long_id === this.instanceFixedNames.MASTER_INSTANCE)\n return masterInstance\n }\n },\n watch: {\n organizationMenu: function (val) {\n if (val) {\n this.organizationSearch = ''\n }\n },\n spaceMenu: function (val) {\n if (val) {\n this.spaceSearch = ''\n }\n },\n instanceMenu: function (val) {\n if (val) {\n this.instanceSearch = ''\n }\n },\n snapshotMenu: function (val) {\n if (val) {\n this.snapshotSearch = ''\n }\n }\n }\n}\n","export const snapshotEnums = {\n data() {\n return {\n snapshotTypes: {\n QUICK_SNAPSHOT: 20,\n AUTO_SNAPSHOT: 30,\n DETAILED_SNAPSHOT: 10,\n ARCHIVED_SNAPSHOT: 40,\n RESTED_SNAPSHOT: 50\n },\n fileStatusTypes: {\n SAVED_AND_UNCHANGED: 'SAVED_AND_UNCHANGED',\n SAVED_AND_CHANGED: 'SAVED_AND_CHANGED',\n UNSAVED: 'UNSAVED',\n STATUS_UNAVAILABLE: 'STATUS_UNAVAILABLE'\n },\n snapshotBackupStatusOptions: {\n CREATING_SNAPSHOT: 'creating'\n }\n }\n },\n methods: {\n getSnapshotStatusIcon: function (snapshotData) {\n if (!snapshotData.backup_location) {\n return 'mdi-lock-off'\n } else if (snapshotData.backup_location === this.snapshotBackupStatusOptions.CREATING_SNAPSHOT) {\n return 'mdi-lock-clock'\n } else {\n return 'mdi-lock-check'\n }\n },\n getSnapshotStatusDescription: function (snapshotData) {\n if (!snapshotData.filesystem_prefix && !snapshotData.backup_location) {\n return 'The data for this snapshot can not be located. Please contact support.'\n } else if (snapshotData.filesystem_prefix && !snapshotData.backup_location) {\n return 'This snapshot has no backup.'\n } else if (snapshotData.filesystem_prefix && snapshotData.backup_location === this.snapshotBackupStatusOptions.CREATING_SNAPSHOT) {\n return 'A backup is being created for this snapshot.'\n } else if (snapshotData.filesystem_prefix && snapshotData.backup_location) {\n return 'A backup exists for this snapshot'\n } else if (!snapshotData.filesystem_prefix && snapshotData.backup_location === this.snapshotBackupStatusOptions.CREATING_SNAPSHOT) {\n return 'The data for this snapshot can not be located. Please contact support.'\n } else if (!snapshotData.filesystem_prefix && snapshotData.backup_location) {\n return 'Files in this snapshot are in cold storage. It can take slightly longer to view or download them.'\n }\n },\n currentFileStatus(file) {\n if (file.status) {\n if (file.status.success && file.status.in_last_snapshot && !file.status.changed) {\n return this.fileStatusTypes.SAVED_AND_UNCHANGED\n } else if (file.status.success && file.status.in_last_snapshot && file.status.changed) {\n return this.fileStatusTypes.SAVED_AND_CHANGED\n } else if (file.status.success && !file.status.in_last_snapshot) {\n return this.fileStatusTypes.UNSAVED\n }\n }\n return this.fileStatusTypes.STATUS_UNAVAILABLE\n }\n }\n}\n","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n },\n\n methods: {\n genChildren () {\n return this.$createElement('transition-group', {\n staticClass: 'v-messages__wrapper',\n attrs: {\n name: 'message-transition',\n tag: 'div',\n },\n }, this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key,\n }, getSlot(this, 'default', { message, key }) || [message])\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-messages',\n class: this.themeClasses,\n }), [this.genChildren()])\n },\n})\n","import VMessages from './VMessages'\n\nexport { VMessages }\nexport default VMessages\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null as any as PropType,\n },\n\n data () {\n return {\n lazyValue: this.value,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // .loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this._uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n attrs: { title: this.attrs$.title },\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n this.$slots.default,\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const data = mergeData({\n attrs: {\n 'aria-label': hasListener ? kebabCase(type).split('-')[0] + ' icon' : undefined,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n },\n on: !hasListener\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n },\n }, extraData)\n\n return this.$createElement('div', {\n staticClass: `v-input__icon`,\n class: type ? `v-input__icon--${kebabCase(type)}` : undefined,\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n },\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n },\n }, this.$slots.label || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n },\n attrs: {\n role: this.hasMessages ? 'alert' : null,\n },\n scopedSlots: {\n default: props => getSlot(this, 'message', props),\n },\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), this.genContent())\n },\n})\n","// Styles\nimport './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-label',\n\n functional: true,\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0,\n },\n right: {\n type: [Number, String],\n default: 'auto',\n },\n value: Boolean,\n },\n\n render (h, ctx): VNode {\n const { children, listeners, props } = ctx\n const data = {\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx),\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for,\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative',\n },\n ref: 'label',\n }\n\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, data), children)\n },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return call(URL.prototype.toString, this);\n }\n});\n","import VInput from './VInput'\n\nexport { VInput }\nexport default VInput\n"],"sourceRoot":""}