@appscode/design-system 1.0.43-alpha.14 → 1.0.43-alpha.142

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/base/utilities/_default.scss +283 -21
  2. package/base/utilities/_derived-variables.scss +0 -13
  3. package/base/utilities/_initial-variables.scss +78 -56
  4. package/base/utilities/_mixin.scss +10 -17
  5. package/base/utilities/_typography.scss +23 -7
  6. package/base/utilities/dark-theme.scss +25 -0
  7. package/components/_ac-accordion.scss +1 -0
  8. package/components/_ac-alert-box.scss +18 -10
  9. package/components/_ac-card.scss +55 -20
  10. package/components/_ac-code-highlight.scss +7 -1
  11. package/components/_ac-content-layout.scss +4 -4
  12. package/components/_ac-drag.scss +6 -6
  13. package/components/_ac-input.scss +74 -40
  14. package/components/_ac-modal.scss +5 -4
  15. package/components/_ac-multi-select.scss +195 -13
  16. package/components/_ac-options.scss +31 -16
  17. package/components/_ac-select-box.scss +15 -5
  18. package/components/_ac-table.scss +42 -36
  19. package/components/_ac-tabs.scss +72 -23
  20. package/components/_ac-tags.scss +2 -2
  21. package/components/_ac-terminal.scss +272 -0
  22. package/components/_app-drawer.scss +6 -6
  23. package/components/_breadcumb.scss +7 -2
  24. package/components/_buttons.scss +60 -27
  25. package/components/_card-body-wrapper.scss +3 -3
  26. package/components/_dashboard-header.scss +33 -1
  27. package/components/_direct-deploy.scss +69 -0
  28. package/components/_go-to-top.scss +1 -1
  29. package/components/_graph.scss +45 -0
  30. package/components/_image-upload.scss +6 -4
  31. package/components/_left-sidebar-menu.scss +200 -46
  32. package/components/_monaco-editor.scss +1 -1
  33. package/components/_navbar.scss +129 -26
  34. package/components/_overview-info.scss +4 -4
  35. package/components/_overview-page.scss +1 -2
  36. package/components/_pagination.scss +10 -2
  37. package/components/_payment-card.scss +28 -12
  38. package/components/_preview-modal.scss +19 -8
  39. package/components/_pricing-table.scss +1 -1
  40. package/components/_progress-bar.scss +5 -5
  41. package/components/_subscription-card.scss +15 -8
  42. package/components/_table-of-content.scss +1 -1
  43. package/components/_tfa.scss +69 -0
  44. package/components/_transitions.scss +261 -0
  45. package/components/_widget-menu.scss +9 -9
  46. package/components/_wizard.scss +31 -19
  47. package/components/ac-toaster/_ac-toasted.scss +5 -5
  48. package/components/bbum/_card-team.scss +18 -10
  49. package/components/bbum/_information-center.scss +17 -3
  50. package/components/bbum/_mobile-desktop.scss +6 -6
  51. package/components/bbum/_post.scss +5 -4
  52. package/components/bbum/_sign-up-notification.scss +6 -6
  53. package/components/bbum/_single-post-preview.scss +9 -9
  54. package/components/bbum/_user-profile.scss +97 -90
  55. package/components/ui-builder/_ui-builder.scss +29 -10
  56. package/components/ui-builder/_vue-open-api.scss +98 -0
  57. package/layouts/_404.scss +2 -1
  58. package/layouts/_code-preview.scss +14 -7
  59. package/main.scss +4 -0
  60. package/package.json +2 -7
  61. package/plugins/theme.js +4 -0
  62. package/vue-components/v2/banner/Banner.vue +2 -2
  63. package/vue-components/v2/breadcrumbs/Breadcrumb.vue +97 -0
  64. package/vue-components/v2/button/Button.vue +5 -0
  65. package/vue-components/v2/button/DownloadBtn.vue +45 -0
  66. package/vue-components/v2/card/PaymentCards.vue +11 -2
  67. package/vue-components/v2/content/ContentTable.vue +12 -7
  68. package/vue-components/v2/editor/Editor.vue +29 -1
  69. package/vue-components/v2/editor/FilteredFileEditor.vue +188 -0
  70. package/vue-components/v2/editor/ResourceKeyValueEditor.vue +209 -0
  71. package/vue-components/v2/loaders/ResourceLoader.vue +101 -0
  72. package/vue-components/v2/loaders/SidebarLoader.vue +43 -0
  73. package/vue-components/v2/modal/Modal.vue +33 -12
  74. package/vue-components/v2/modals/DeleteConfirmationModal.vue +77 -0
  75. package/vue-components/v2/modals/JsonShowModal.vue +12 -2
  76. package/vue-components/v2/navbar/Appdrawer.vue +10 -9
  77. package/vue-components/v2/navbar/ThemeMode.vue +120 -0
  78. package/vue-components/v2/navbar/User.vue +166 -15
  79. package/vue-components/v2/preloader/Preloader.vue +5 -5
  80. package/vue-components/v2/sidebar/ClusterSwitcher.vue +126 -0
  81. package/vue-components/v2/sidebar/SidebarItem.vue +23 -1
  82. package/vue-components/v2/sidebar/SidebarItemWithDropDown.vue +19 -20
  83. package/vue-components/v2/table/Table.vue +44 -8
  84. package/vue-components/v2/table/TableRow.vue +17 -8
  85. package/vue-components/v2/table/table-cell/CellValue.vue +31 -4
  86. package/vue-components/v2/table/table-cell/GenericCell.vue +56 -0
  87. package/vue-components/v2/table/table-cell/ObjectCell.vue +4 -1
  88. package/vue-components/v2/tabs/EditorTabs.vue +1 -1
  89. package/vue-components/v3/button/Button.vue +5 -0
  90. package/vue-components/v3/content/ContentTable.vue +5 -0
  91. package/vue-components/v3/dropdown/DropdownMenu.vue +1 -1
  92. package/vue-components/v3/editor/Editor.vue +50 -30
  93. package/vue-components/v3/editor/FilteredFileEditor.vue +166 -0
  94. package/vue-components/v3/editor/MonacoEditor.vue +124 -0
  95. package/vue-components/v3/editor/ResourceKeyValueEditor.vue +124 -0
  96. package/vue-components/v3/header/HeaderItem.vue +5 -0
  97. package/vue-components/v3/header/HeaderItems.vue +5 -0
  98. package/vue-components/v3/loaders/ResourceLoader.vue +83 -0
  99. package/vue-components/v3/loaders/SidebarLoader.vue +34 -0
  100. package/vue-components/v3/modal/Modal.vue +10 -1
  101. package/vue-components/v3/modals/JsonShowModal.vue +25 -16
  102. package/vue-components/v3/navbar/Appdrawer.vue +12 -7
  103. package/vue-components/v3/navbar/ThemeMode.vue +128 -0
  104. package/vue-components/v3/navbar/User.vue +166 -15
  105. package/vue-components/v3/sidebar/ClusterSwitcher.vue +133 -0
  106. package/vue-components/v3/sidebar/SidebarItemWithDropDown.vue +120 -0
  107. package/vue-components/v3/table/Table.vue +28 -5
  108. package/vue-components/v3/table/TableRow.vue +1 -1
  109. package/vue-components/v3/table/table-cell/CellValue.vue +26 -3
  110. package/vue-components/v3/table/table-cell/GenericCell.vue +62 -0
  111. package/vue-components/v3/table/table-cell/ObjectCell.vue +5 -1
  112. package/vue-components/v3/tabs/EditorTabs.vue +1 -1
@@ -7,7 +7,6 @@
7
7
  />
8
8
  <monaco-editor
9
9
  v-if="activeTab === 'edit'"
10
- ref="monacoEditor"
11
10
  @editorDidMount="onEditorMount"
12
11
  key="edit"
13
12
  :class="`vh-${editorHeight} is-clipped`"
@@ -16,10 +15,12 @@
16
15
  :language="language"
17
16
  :options="{
18
17
  minimap: {
19
- enabled: calcShowMinimap,
18
+ enabled: calcShowMinimap
20
19
  },
20
+ theme: theme,
21
21
  readOnly: readOnly,
22
- scrollBeyondLastLine: false,
22
+ wordWrap: wordWrap,
23
+ scrollBeyondLastLine: false
23
24
  }"
24
25
  />
25
26
  <monaco-editor
@@ -30,10 +31,12 @@
30
31
  :language="language"
31
32
  :options="{
32
33
  minimap: {
33
- enabled: calcShowMinimap,
34
+ enabled: calcShowMinimap
34
35
  },
36
+ theme: theme,
35
37
  readOnly: true,
36
- scrollBeyondLastLine: false,
38
+ wordWrap: wordWrap,
39
+ scrollBeyondLastLine: false
37
40
  }"
38
41
  :original="originalEditorContent"
39
42
  :diff-editor="true"
@@ -43,55 +46,65 @@
43
46
 
44
47
  <script>
45
48
  import { defineComponent, defineAsyncComponent, h } from "vue";
49
+ import Preloader from "../../v2/preloader/Preloader.vue";
50
+ import Banner from "../../v2/banner/Banner.vue";
46
51
  export default defineComponent({
47
52
  props: {
48
- value: {
53
+ modelValue: {
49
54
  type: String,
50
- default: "",
55
+ default: ""
51
56
  },
52
57
  originalValue: {
53
58
  type: String,
54
- default: "",
59
+ default: ""
55
60
  },
56
61
  readOnly: {
57
62
  type: Boolean,
58
- default: false,
63
+ default: false
59
64
  },
60
65
  language: {
61
66
  type: String,
62
- default: "yaml",
67
+ default: "yaml"
63
68
  },
64
69
  showMinimap: {
65
70
  type: Boolean,
66
- default: true,
71
+ default: true
67
72
  },
68
73
  editorHeight: {
69
74
  type: Number,
70
- default: 40,
75
+ default: 40
71
76
  },
77
+ editorTheme: {
78
+ type: String,
79
+ default: ""
80
+ },
81
+ wordWrap: {
82
+ type: String,
83
+ default: "off"
84
+ }
72
85
  },
73
86
 
74
87
  emits: ["update:modelValue"],
75
88
 
76
89
  components: {
77
90
  EditorTabs: defineAsyncComponent(() =>
78
- import("../tabs/EditorTabs.vue").then((module) => module.default)
79
- ),
80
- MonacoEditor: defineAsyncComponent(() =>
81
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
82
- // @ts-ignore
83
- import("vue-monaco").then((module) => {
84
- module.default.render = () => h("div");
85
- return module.default;
86
- })
91
+ import("../tabs/EditorTabs.vue").then(module => module.default)
87
92
  ),
93
+ MonacoEditor: defineAsyncComponent({
94
+ loader: () => import("./MonacoEditor.vue").then(module => module.default),
95
+
96
+ loadingComponent: Preloader,
97
+ delay: 200,
98
+ errorComponent: Banner,
99
+ timeout: 20000
100
+ })
88
101
  },
89
102
 
90
103
  data() {
91
104
  return {
92
105
  activeTab: "edit",
93
106
  editorContent: "",
94
- originalEditorContent: "",
107
+ originalEditorContent: ""
95
108
  };
96
109
  },
97
110
 
@@ -100,16 +113,24 @@ export default defineComponent({
100
113
  const noOfLines = this.editorContent.split("\n").length;
101
114
  return this.showMinimap && noOfLines * 2 > this.editorHeight;
102
115
  },
116
+ theme() {
117
+ return (
118
+ this.editorTheme ||
119
+ (document.documentElement.classList.contains("is-dark-theme")
120
+ ? "vs-dark"
121
+ : "vs")
122
+ );
123
+ }
103
124
  },
104
125
 
105
126
  watch: {
106
- value: {
127
+ modelValue: {
107
128
  immediate: true,
108
129
  handler(n) {
109
130
  if (this.editorContent !== n) {
110
131
  this.editorContent = n;
111
132
  }
112
- },
133
+ }
113
134
  },
114
135
  originalValue: {
115
136
  immediate: true,
@@ -117,21 +138,20 @@ export default defineComponent({
117
138
  if (this.originalEditorContent !== n) {
118
139
  this.originalEditorContent = n;
119
140
  }
120
- },
121
- },
141
+ }
142
+ }
122
143
  },
123
144
 
124
145
  methods: {
125
146
  onChange(e) {
126
147
  if (typeof e === "string") this.editorContent = e;
127
148
  },
128
- onEditorMount() {
129
- const editor = this.$refs.monacoEditor.getEditor();
149
+ onEditorMount(editor) {
130
150
  // add event listeners
131
151
  editor.onDidBlurEditorText(() => {
132
152
  this.$emit("update:modelValue", this.editorContent);
133
153
  });
134
- },
135
- },
154
+ }
155
+ }
136
156
  });
137
157
  </script>
@@ -0,0 +1,166 @@
1
+ <template>
2
+ <div class="ac-preview is-active is-not-fixed">
3
+ <div class="ac-preview-inner">
4
+ <!-- preview body start -->
5
+ <div class="ac-preview-body mt-0 pt-15 pl-20">
6
+ <div
7
+ v-if="isPreviewLoading || (!isPreviewLoading && previewYamls)"
8
+ class="left-content"
9
+ >
10
+ <div class="ac-files pt-0">
11
+ <ul v-if="!isPreviewLoading">
12
+ <li
13
+ v-for="(previewYaml, idx) in filteredYamls"
14
+ :key="previewYaml.name + idx"
15
+ :class="{ 'is-active': activeKey === previewYaml.uid }"
16
+ >
17
+ <a @click.prevent="setActivePreview(previewYaml.uid)">
18
+ <span>
19
+ <img
20
+ src="~@appscode/design-system-images/icons/file-icon.svg"
21
+ alt=""
22
+ />
23
+ </span>
24
+ <span>{{ previewYaml.name }}</span>
25
+ </a>
26
+ </li>
27
+ </ul>
28
+ <sidebar-loader v-else />
29
+ </div>
30
+ </div>
31
+ <div class="right-content">
32
+ <div class="right-content">
33
+ <resource-loader v-if="isPreviewLoading" />
34
+ <editor
35
+ v-else-if="!isPreviewLoading && !hideValue"
36
+ v-model="activeFile.content"
37
+ :original-value="originalValue"
38
+ :language="activeFile.format"
39
+ :read-only="isEditorReadOnly"
40
+ :editor-height="editorHeight"
41
+ :show-minimap="showMinimap"
42
+ />
43
+ <span v-else> *************** </span>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </template>
50
+ <script>
51
+ import { defineComponent, defineAsyncComponent } from "vue";
52
+ import Preloader from "../../v2/preloader/Preloader.vue";
53
+ import Banner from "../../v2/banner/Banner.vue";
54
+ export default defineComponent({
55
+ components: {
56
+ Editor: defineAsyncComponent({
57
+ loader: () =>
58
+ import("../editor/Editor.vue").then(module => module.default),
59
+ loadingComponent: Preloader,
60
+ delay: 200,
61
+ errorComponent: Banner,
62
+ timeout: 20000
63
+ }),
64
+ ResourceLoader: defineAsyncComponent(() =>
65
+ import("../loaders/ResourceLoader.vue")
66
+ ),
67
+ SidebarLoader: defineAsyncComponent(() =>
68
+ import("../loaders/SidebarLoader.vue")
69
+ )
70
+ },
71
+ props: {
72
+ searchText: {
73
+ type: String,
74
+ default: ""
75
+ },
76
+ toggleHideValue: {
77
+ type: Boolean,
78
+ default: true
79
+ },
80
+ isPreviewLoading: {
81
+ type: Boolean,
82
+ default: false
83
+ },
84
+ isEditorReadOnly: {
85
+ type: Boolean,
86
+ default: false
87
+ },
88
+ previewYamls: {
89
+ type: Array,
90
+ default: () => {
91
+ [];
92
+ }
93
+ },
94
+ showMinimap: {
95
+ type: Boolean,
96
+ default: false
97
+ },
98
+ editorHeight: {
99
+ type: Number,
100
+ default: 60
101
+ }
102
+ },
103
+ emits: ["setActiveKey"],
104
+ data() {
105
+ return {
106
+ activeKey: "",
107
+ hideValue: ""
108
+ };
109
+ },
110
+ computed: {
111
+ activeFile() {
112
+ const activeFile = this.filteredYamls.find(
113
+ element => element.uid === this.activeKey
114
+ );
115
+ return activeFile || { content: "", format: "yaml" };
116
+ },
117
+ originalValue() {
118
+ const activeFile = this.filteredYamls.find(
119
+ element => element.uid === this.activeKey
120
+ );
121
+ return (activeFile && activeFile.initContent) || "";
122
+ },
123
+ filteredYamls() {
124
+ if (this.searchText) {
125
+ return this.previewYamls.filter(
126
+ element => JSON.stringify(element).search(this.searchText) > -1
127
+ );
128
+ } else return this.previewYamls;
129
+ },
130
+ isKeyAvailable() {
131
+ const val = this.previewYamls.find(element => {
132
+ return element.uid === this.activeKey;
133
+ });
134
+ return val === undefined ? false : true;
135
+ }
136
+ },
137
+ methods: {
138
+ initActivePreview() {
139
+ if (!this.isKeyAvailable) {
140
+ this.activeKey = this.previewYamls[0].uid;
141
+ this.hideValue = this.activeFile.isSecret;
142
+ this.$emit("setActiveKey", this.activeKey);
143
+ }
144
+ },
145
+ setActivePreview(uid) {
146
+ this.activeKey = uid;
147
+ this.hideValue = this.activeFile.isSecret;
148
+ this.$emit("setActiveKey", this.activeKey);
149
+ }
150
+ },
151
+ watch: {
152
+ previewYamls: {
153
+ deep: true,
154
+ immediate: true,
155
+ handler(n) {
156
+ if (n.length) {
157
+ this.initActivePreview();
158
+ }
159
+ }
160
+ },
161
+ toggleHideValue(n) {
162
+ this.hideValue = n;
163
+ }
164
+ }
165
+ });
166
+ </script>
@@ -0,0 +1,124 @@
1
+ <template>
2
+ <div class="monaco-editor-vue3" :style="style"></div>
3
+ </template>
4
+
5
+ <script>
6
+ import { defineComponent, computed, toRefs } from 'vue'
7
+ import * as monaco from 'monaco-editor'
8
+
9
+ export default defineComponent({
10
+ name: "MonacoEditor",
11
+ props: {
12
+ diffEditor: { type: Boolean, default: false },
13
+ width: {type: [String, Number], default: '100%'},
14
+ height: {type: [String, Number], default: '100%'},
15
+ original: String,
16
+ value: String,
17
+ language: {type: String, default: 'javascript'},
18
+ theme: {type: String, default: 'vs'},
19
+ options: {type: Object, default() {return {};}},
20
+ },
21
+ emits: [
22
+ 'editorWillMount',
23
+ 'editorDidMount',
24
+ 'change'
25
+ ],
26
+ setup(props){
27
+ const { width, height } = toRefs(props)
28
+ const style = computed(()=>{
29
+ const fixedWidth = width.value.toString().includes('%') ? width.value : `${width.value}px`
30
+ const fixedHeight = height.value.toString().includes('%')? height.value : `${height.value}px`
31
+ return {
32
+ width: fixedWidth,
33
+ height: fixedHeight,
34
+ 'text-align': 'left'
35
+ }
36
+ })
37
+ return {
38
+ style
39
+ }
40
+ },
41
+ mounted() {
42
+ this.initMonaco()
43
+ },
44
+ beforeDestroy() {
45
+ this.editor && this.editor.dispose();
46
+ },
47
+ methods: {
48
+ initMonaco(){
49
+ this.$emit('editorWillMount', this.monaco)
50
+ const { value, language, theme, options } = this;
51
+ this.editor = monaco.editor[this.diffEditor ? 'createDiffEditor' : 'create'](this.$el, {
52
+ value: value,
53
+ language: language,
54
+ theme: theme,
55
+ ...options
56
+ });
57
+ this.diffEditor && this._setModel(this.value, this.original);
58
+
59
+ // @event `change`
60
+ const editor = this._getEditor()
61
+ editor.onDidChangeModelContent(event => {
62
+ const value = editor.getValue()
63
+ if (this.value !== value) {
64
+ this.$emit('change', value, event)
65
+ }
66
+ })
67
+
68
+ this.$emit('editorDidMount', this.editor)
69
+ },
70
+ _setModel(value, original) {
71
+ const { language } = this;
72
+ const originalModel = monaco.editor.createModel(original, language);
73
+ const modifiedModel = monaco.editor.createModel(value, language);
74
+ this.editor.setModel({
75
+ original: originalModel,
76
+ modified: modifiedModel
77
+ });
78
+ },
79
+ _setValue(value) {
80
+ let editor = this._getEditor();
81
+ if(editor) return editor.setValue(value);
82
+ },
83
+ _getValue() {
84
+ let editor = this._getEditor();
85
+ if(!editor) return '';
86
+ return editor.getValue();
87
+ },
88
+ _getEditor() {
89
+ if(!this.editor) return null;
90
+ return this.diffEditor ? this.editor.getModifiedEditor() : this.editor;
91
+ },
92
+ _setOriginal(){
93
+ const { original } = this.editor.getModel()
94
+ original.setValue(this.original)
95
+ }
96
+ },
97
+ watch: {
98
+ options: {
99
+ deep: true,
100
+ handler(options) {
101
+ this.editor.updateOptions(options);
102
+ }
103
+ },
104
+ value() {
105
+ this.value !== this._getValue() && this._setValue(this.value);
106
+ },
107
+ original() {
108
+ this._setOriginal()
109
+ },
110
+ language() {
111
+ if(!this.editor) return;
112
+ if(this.diffEditor){
113
+ const { original, modified } = this.editor.getModel();
114
+ monaco.editor.setModelLanguage(original, this.language);
115
+ monaco.editor.setModelLanguage(modified, this.language);
116
+ }else
117
+ monaco.editor.setModelLanguage(this.editor.getModel(), this.language);
118
+ },
119
+ theme() {
120
+ monaco.editor.setTheme(this.theme);
121
+ },
122
+ }
123
+ });
124
+ </script>
@@ -0,0 +1,124 @@
1
+ <template>
2
+ <content-table
3
+ :table-title="title"
4
+ :searchable="isSearchable"
5
+ :hide-header="hideHeader"
6
+ >
7
+ <template #content-right-controls>
8
+ <header-item v-if="showHideBtn">
9
+ <ac-button
10
+ modifier-classes="is-square is-primary"
11
+ :icon-class="toggleHideValue ? 'eye-slash' : 'eye'"
12
+ @click.prevent="toggleHideValue = !toggleHideValue"
13
+ />
14
+ </header-item>
15
+ <slot name="content-action" />
16
+ </template>
17
+ <template #content="{ searchText }">
18
+ <filtered-file-editor
19
+ :search-text="searchText"
20
+ :toggle-hide-value="toggleHideValue"
21
+ :is-preview-loading="isPreviewLoading"
22
+ :is-editor-read-only="isEditorReadOnly"
23
+ :preview-yamls="previewYamls"
24
+ :show-minimap="showMinimap"
25
+ :editor-height="editorHeight"
26
+ @setActiveKey="setActiveKey"
27
+ />
28
+ </template>
29
+ </content-table>
30
+ </template>
31
+ <script>
32
+ import { defineComponent, defineAsyncComponent } from "vue";
33
+ export default defineComponent({
34
+ components: {
35
+ AcButton: defineAsyncComponent(() => import("../button/Button.vue")),
36
+ ContentTable: defineAsyncComponent(() =>
37
+ import("../content/ContentTable.vue")
38
+ ),
39
+ HeaderItem: defineAsyncComponent(() => import("../header/HeaderItem.vue")),
40
+ FilteredFileEditor: defineAsyncComponent(() =>
41
+ import("./FilteredFileEditor.vue")
42
+ )
43
+ },
44
+ props: {
45
+ title: {
46
+ type: String,
47
+ default: "Title"
48
+ },
49
+ isSearchable: {
50
+ type: Boolean,
51
+ default: false
52
+ },
53
+ isPreviewLoading: {
54
+ type: Boolean,
55
+ default: false
56
+ },
57
+ isEditorReadOnly: {
58
+ type: Boolean,
59
+ default: false
60
+ },
61
+ previewYamls: {
62
+ type: Array,
63
+ default: () => {
64
+ [];
65
+ }
66
+ },
67
+ showHideBtn: {
68
+ type: Boolean,
69
+ default: false,
70
+ },
71
+ showMinimap: {
72
+ type: Boolean,
73
+ default: false
74
+ },
75
+ isUpdateActive: {
76
+ type: Boolean,
77
+ default: false
78
+ },
79
+ deleteModalStatus: {
80
+ type: String,
81
+ default: "closed"
82
+ },
83
+ editorHeight: {
84
+ type: Number,
85
+ default: 60
86
+ },
87
+ hideHeader: {
88
+ type: Boolean,
89
+ default: false
90
+ }
91
+ },
92
+ emits: ["activeKey"],
93
+ data() {
94
+ return {
95
+ activeKey: "",
96
+ toggleHideValue: "",
97
+ showDeleteDataModal: false
98
+ };
99
+ },
100
+ computed: {
101
+ activeFile() {
102
+ const activeFile = this.previewYamls.find(
103
+ element => element.uid === this.activeKey
104
+ );
105
+ return activeFile || { content: "", format: "yaml" };
106
+ },
107
+ },
108
+ methods: {
109
+ setActiveKey(key) {
110
+ this.activeKey = key;
111
+ this.toggleHideValue = this.activeFile.isSecret;
112
+ }
113
+ },
114
+ watch: {
115
+ activeKey:{
116
+ immediate: true,
117
+ handler(n){
118
+ this.$emit("activeKey",this.activeKey);
119
+ }
120
+ }
121
+
122
+ }
123
+ });
124
+ </script>
@@ -0,0 +1,5 @@
1
+ <template>
2
+ <div class="header-item">
3
+ <slot />
4
+ </div>
5
+ </template>
@@ -0,0 +1,5 @@
1
+ <template>
2
+ <div class="header-items is-flex is-align-items-center">
3
+ <slot />
4
+ </div>
5
+ </template>
@@ -0,0 +1,83 @@
1
+ <template>
2
+ <div>
3
+ <content-loader>
4
+ <rect x="21" y="6" rx="3" ry="3" width="42" height="3" />
5
+ <rect x="69" y="6" rx="3" ry="3" width="39" height="3" />
6
+ <rect x="114" y="6" rx="3" ry="3" width="24" height="3" />
7
+
8
+ <rect x="39" y="12" rx="3" ry="3" width="24" height="3" />
9
+ <rect x="69" y="12" rx="3" ry="3" width="45" height="3" />
10
+ <rect x="120" y="12" rx="3" ry="3" width="12" height="3" />
11
+
12
+ <rect x="39" y="18" rx="3" ry="3" width="30" height="3" />
13
+ <rect x="75" y="18" rx="3" ry="3" width="60" height="3" />
14
+
15
+ <rect x="21" y="27" rx="3" ry="3" width="42" height="3" />
16
+ <rect x="69" y="27" rx="3" ry="3" width="39" height="3" />
17
+ <rect x="114" y="27" rx="3" ry="3" width="24" height="3" />
18
+
19
+ <rect x="39" y="33" rx="3" ry="3" width="24" height="3" />
20
+ <rect x="69" y="33" rx="3" ry="3" width="45" height="3" />
21
+ <rect x="120" y="33" rx="3" ry="3" width="12" height="3" />
22
+
23
+ <rect x="39" y="39" rx="3" ry="3" width="30" height="3" />
24
+ <rect x="75" y="39" rx="3" ry="3" width="60" height="3" />
25
+
26
+ <rect x="21" y="48" rx="3" ry="3" width="42" height="3" />
27
+ <rect x="69" y="48" rx="3" ry="3" width="39" height="3" />
28
+ <rect x="114" y="48" rx="3" ry="3" width="24" height="3" />
29
+
30
+ <rect x="39" y="54" rx="3" ry="3" width="24" height="3" />
31
+ <rect x="69" y="54" rx="3" ry="3" width="45" height="3" />
32
+ <rect x="120" y="54" rx="3" ry="3" width="12" height="3" />
33
+
34
+ <rect x="39" y="60" rx="3" ry="3" width="30" height="3" />
35
+ <rect x="75" y="60" rx="3" ry="3" width="60" height="3" />
36
+
37
+ <rect x="21" y="69" rx="3" ry="3" width="42" height="3" />
38
+ <rect x="69" y="69" rx="3" ry="3" width="39" height="3" />
39
+ <rect x="114" y="69" rx="3" ry="3" width="24" height="3" />
40
+
41
+ <rect x="39" y="75" rx="3" ry="3" width="24" height="3" />
42
+ <rect x="69" y="75" rx="3" ry="3" width="45" height="3" />
43
+ <rect x="120" y="75" rx="3" ry="3" width="12" height="3" />
44
+
45
+ <rect x="39" y="81" rx="3" ry="3" width="30" height="3" />
46
+ <rect x="75" y="81" rx="3" ry="3" width="60" height="3" />
47
+
48
+ <rect x="21" y="90" rx="3" ry="3" width="42" height="3" />
49
+ <rect x="69" y="90" rx="3" ry="3" width="39" height="3" />
50
+ <rect x="114" y="90" rx="3" ry="3" width="24" height="3" />
51
+
52
+ <rect x="39" y="96" rx="3" ry="3" width="24" height="3" />
53
+ <rect x="69" y="96" rx="3" ry="3" width="45" height="3" />
54
+ <rect x="120" y="96" rx="3" ry="3" width="12" height="3" />
55
+
56
+ <rect x="39" y="102" rx="3" ry="3" width="30" height="3" />
57
+ <rect x="75" y="102" rx="3" ry="3" width="60" height="3" />
58
+
59
+ <rect x="21" y="111" rx="3" ry="3" width="42" height="3" />
60
+ <rect x="69" y="111" rx="3" ry="3" width="39" height="3" />
61
+ <rect x="114" y="111" rx="3" ry="3" width="24" height="3" />
62
+
63
+ <rect x="39" y="117" rx="3" ry="3" width="24" height="3" />
64
+ <rect x="69" y="117" rx="3" ry="3" width="45" height="3" />
65
+ <rect x="120" y="117" rx="3" ry="3" width="12" height="3" />
66
+
67
+ <rect x="39" y="123" rx="3" ry="3" width="30" height="3" />
68
+ <rect x="75" y="123" rx="3" ry="3" width="60" height="3" />
69
+ </content-loader>
70
+ </div>
71
+ </template>
72
+
73
+ <script>
74
+ import { defineAsyncComponent, defineComponent } from 'vue'
75
+ export default defineComponent({
76
+ name: 'LoaderElement',
77
+ components: {
78
+ ContentLoader: defineAsyncComponent(() =>
79
+ import('vue-content-loader').then((module) => module.ContentLoader)
80
+ ),
81
+ },
82
+ })
83
+ </script>