dashboard-shell-shell 1.0.113 → 1.0.114
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.
- package/components/ActionDropdown.vue +1 -1
- package/components/ActionMenu.vue +2 -2
- package/components/ActionMenuShell.vue +0 -1
- package/components/AppModal.vue +6 -78
- package/components/AssignTo.vue +11 -25
- package/components/AsyncButton.vue +7 -24
- package/components/BannerGraphic.vue +0 -1
- package/components/ButtonDropdown.vue +4 -26
- package/components/ButtonGroup.vue +0 -4
- package/components/ButtonMultiAction.vue +0 -1
- package/components/CommunityLinks.vue +3 -3
- package/components/ConsumptionGauge.vue +5 -24
- package/components/CopyToClipboardText.vue +1 -2
- package/components/CruResource.vue +7 -12
- package/components/CruResourceFooter.vue +2 -2
- package/components/DashboardOptions.vue +15 -21
- package/components/DetailText.vue +0 -5
- package/components/DisableAuthProviderModal.vue +0 -1
- package/components/ExplorerMembers.vue +1 -1
- package/components/ExplorerProjectsNamespaces.vue +14 -56
- package/components/FixedBanner.vue +12 -19
- package/components/GlobalRoleBindings.vue +1 -5
- package/components/GrafanaDashboard.vue +4 -4
- package/components/GrowlManager.vue +1 -4
- package/components/HardwareResourceGauge.vue +3 -39
- package/components/InfoBox.vue +3 -3
- package/components/InputOrDisplay.vue +2 -28
- package/components/LabelValue.vue +1 -16
- package/components/LandingPagePreference.vue +3 -5
- package/components/LocaleSelector.vue +93 -39
- package/components/ModalWithCard.vue +0 -2
- package/components/MoveModal.vue +0 -1
- package/components/PromptChangePassword.vue +1 -1
- package/components/PromptModal.vue +2 -15
- package/components/PromptRemove.vue +8 -28
- package/components/PromptRestore.vue +0 -1
- package/components/ResourceCancelModal.vue +0 -1
- package/components/ResourceDetail/Masthead.vue +43 -188
- package/components/ResourceDetail/__tests__/Masthead.test.ts +1 -5
- package/components/ResourceDetail/index.vue +14 -49
- package/components/ResourceList/Masthead.vue +18 -80
- package/components/ResourceTable.vue +19 -60
- package/components/SideNav.vue +12 -32
- package/components/SortableTable/THead.vue +5 -34
- package/components/SortableTable/actions.js +1 -1
- package/components/SortableTable/index.vue +142 -649
- package/components/SortableTable/paging.js +28 -36
- package/components/SortableTable/selection.js +11 -0
- package/components/Tabbed/Tab.vue +3 -3
- package/components/Tabbed/index.vue +26 -44
- package/components/Wizard.vue +2 -2
- package/components/__tests__/AsyncButton.test.ts +2 -2
- package/components/__tests__/FixedBanner.test.ts +3 -3
- package/components/auth/Principal.vue +3 -10
- package/components/auth/__tests__/RoleDetailEdit.test.ts +2 -3
- package/components/form/ArrayList.vue +85 -123
- package/components/form/ArrayListGrouped.vue +2 -10
- package/components/form/Command.vue +15 -6
- package/components/form/EnvVars.vue +8 -16
- package/components/form/Footer.vue +5 -8
- package/components/form/HealthCheck.vue +3 -3
- package/components/form/HookOption.vue +16 -11
- package/components/form/KeyValue.vue +7 -16
- package/components/form/LabeledSelect.vue +76 -59
- package/components/form/LifecycleHooks.vue +3 -3
- package/components/form/MatchExpressions.vue +12 -35
- package/components/form/NameNsDescription.vue +115 -147
- package/components/form/Networking.vue +12 -20
- package/components/form/NodeAffinity.vue +23 -31
- package/components/form/NodeScheduling.vue +3 -13
- package/components/form/Password.vue +5 -11
- package/components/form/PodAffinity.vue +44 -43
- package/components/form/Probe.vue +66 -68
- package/components/form/ResourceQuota/Project.vue +1 -5
- package/components/form/ResourceSelector.vue +9 -7
- package/components/form/SSHKnownHosts/KnownHostsEditDialog.vue +3 -6
- package/components/form/SSHKnownHosts/__tests__/KnownHostsEditDialog.test.ts +1 -12
- package/components/form/SSHKnownHosts/index.vue +2 -16
- package/components/form/Security.vue +56 -54
- package/components/form/Select.vue +7 -41
- package/components/form/ShellInput.vue +1 -5
- package/components/form/Tolerations.vue +1 -5
- package/components/form/UnitInput.vue +2 -2
- package/components/form/ValueFromResource.vue +121 -134
- package/components/form/WorkloadPorts.vue +18 -18
- package/components/form/__tests__/ArrayList.test.ts +2 -5
- package/components/form/__tests__/MatchExpressions.test.ts +12 -12
- package/components/form/__tests__/NameNsDescription.test.ts +14 -115
- package/components/form/__tests__/Probe.test.ts +8 -12
- package/components/form/__tests__/SSHKnownHosts.test.ts +0 -11
- package/components/form/__tests__/Select.test.ts +0 -37
- package/components/form/__tests__/UnitInput.test.ts +5 -4
- package/components/formatter/BadgeStateFormatter.vue +5 -8
- package/components/formatter/ExtensionCache.vue +74 -0
- package/components/formatter/InternalExternalIP.vue +0 -2
- package/components/formatter/Port.vue +24 -0
- package/components/formatter/SecretData.vue +7 -20
- package/components/formatter/SecretType.vue +41 -0
- package/components/nav/Favorite.vue +1 -5
- package/components/nav/Group.vue +27 -60
- package/components/nav/Header.vue +13 -39
- package/components/nav/Jump.vue +0 -7
- package/components/nav/NamespaceFilter.vue +8 -14
- package/components/nav/Pinned.vue +1 -1
- package/components/nav/TopLevelMenu.vue +17 -5
- package/components/nav/Type.vue +35 -32
- package/components/nav/__tests__/TopLevelMenu.test.ts +40 -0
- package/components/templates/blank.vue +1 -4
- package/components/templates/default.vue +0 -8
- package/components/templates/home.vue +1 -10
- package/components/templates/plain.vue +1 -10
- package/package.json +1 -1
- package/components/ActionDropdownShell.vue +0 -71
- package/components/DotState.vue +0 -84
- package/components/ModalManager.vue +0 -55
- package/components/SlideInPanelManager.vue +0 -126
- package/components/StatusBadge.vue +0 -77
- package/components/__tests__/ModalManager.spec.ts +0 -176
- package/components/__tests__/SlideInPanelManager.spec.ts +0 -166
|
@@ -95,12 +95,10 @@ export default {
|
|
|
95
95
|
query: { [AS]: _YAML },
|
|
96
96
|
};
|
|
97
97
|
|
|
98
|
-
const tabList = ['集群配置'];
|
|
99
98
|
return {
|
|
100
99
|
formRoute,
|
|
101
100
|
yamlRoute,
|
|
102
101
|
hasEditComponent,
|
|
103
|
-
tabList,
|
|
104
102
|
};
|
|
105
103
|
},
|
|
106
104
|
|
|
@@ -127,28 +125,6 @@ export default {
|
|
|
127
125
|
|
|
128
126
|
return this.$store.getters['type-map/labelFor'](this.schema, 99);
|
|
129
127
|
},
|
|
130
|
-
_descriptionDisplay() {
|
|
131
|
-
const key = this.$route.path.split('/').pop();
|
|
132
|
-
|
|
133
|
-
return this.$store.getters['i18n/t'](`typeDescription."${ key.toLowerCase() }"`);
|
|
134
|
-
},
|
|
135
|
-
demoDisplay() {
|
|
136
|
-
const product = this.$store.getters['productId'];
|
|
137
|
-
const productId = this.$store.getters['type-map/groupForBasicType'](this.$store.getters['productId'], this._createLocation.params.resource);
|
|
138
|
-
const parts = productId?.split('::');
|
|
139
|
-
const newString = 'root';
|
|
140
|
-
|
|
141
|
-
if (!parts.includes(newString)) {
|
|
142
|
-
parts.unshift(newString); // 将字符串添加到数组第一位
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
const partsEn = parts.map((item) => {
|
|
146
|
-
return this.$store.getters['i18n/t'](`typeLabel."${ item.toLowerCase() }"`);
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
return partsEn;
|
|
150
|
-
// return this.$store.getters['i18n/t'](`typeLabel."${ productId.toLowerCase() }"`)
|
|
151
|
-
},
|
|
152
128
|
|
|
153
129
|
_isYamlCreatable() {
|
|
154
130
|
if ( this.isYamlCreatable !== null) {
|
|
@@ -189,30 +165,16 @@ export default {
|
|
|
189
165
|
|
|
190
166
|
<template>
|
|
191
167
|
<header class="with-subheader">
|
|
192
|
-
|
|
168
|
+
<slot name="typeDescription">
|
|
193
169
|
<TypeDescription :resource="resource" />
|
|
194
|
-
</slot>
|
|
170
|
+
</slot>
|
|
195
171
|
<div class="title">
|
|
196
|
-
<
|
|
197
|
-
<span
|
|
198
|
-
v-for="(item,index) in demoDisplay"
|
|
199
|
-
:key="index"
|
|
200
|
-
>
|
|
201
|
-
<span>{{ item }}</span>
|
|
202
|
-
<span>/</span>
|
|
203
|
-
</span>
|
|
204
|
-
<span class="excram-last-name">{{ _typeDisplay }}</span>
|
|
205
|
-
</div>
|
|
206
|
-
<h1 class="m-0 descrip-name">
|
|
172
|
+
<h1 class="m-0">
|
|
207
173
|
<TabTitle>{{ _typeDisplay }}</TabTitle> <Favorite
|
|
208
174
|
v-if="isExplorer"
|
|
209
175
|
:resource="favoriteResource || resource"
|
|
210
176
|
/>
|
|
211
177
|
</h1>
|
|
212
|
-
<!-- 描述 -->
|
|
213
|
-
<div class="masthod-title-description">
|
|
214
|
-
{{ _descriptionDisplay }}
|
|
215
|
-
</div>
|
|
216
178
|
<ResourceLoadingIndicator
|
|
217
179
|
v-if="showIncrementalLoadingIndicator"
|
|
218
180
|
:resources="loadResources"
|
|
@@ -224,15 +186,7 @@ export default {
|
|
|
224
186
|
<!--Slot content-->
|
|
225
187
|
</slot>
|
|
226
188
|
</div>
|
|
227
|
-
<div
|
|
228
|
-
v-if="!(tabList.includes(_typeDisplay))"
|
|
229
|
-
style="width: 110%;height: 1px;background-color: #D7D7D7;margin-top: 10px;margin-bottom: 20px;margin-left: -20px;margin-right: -20px;"
|
|
230
|
-
/>
|
|
231
|
-
<div
|
|
232
|
-
v-if="!(tabList.includes(_typeDisplay))"
|
|
233
|
-
class="actions-container"
|
|
234
|
-
style="width: 100%;min-height: 32px;text-align: left"
|
|
235
|
-
>
|
|
189
|
+
<div class="actions-container">
|
|
236
190
|
<slot name="actions">
|
|
237
191
|
<div class="actions">
|
|
238
192
|
<slot name="extraActions" />
|
|
@@ -246,14 +200,14 @@ export default {
|
|
|
246
200
|
>
|
|
247
201
|
{{ _createButtonlabel }}
|
|
248
202
|
</router-link>
|
|
249
|
-
|
|
203
|
+
<router-link
|
|
250
204
|
v-else-if="_isYamlCreatable"
|
|
251
205
|
:to="_yamlCreateLocation"
|
|
252
206
|
class="btn role-primary"
|
|
253
207
|
:data-testid="componentTestid+'-create-yaml'"
|
|
254
208
|
>
|
|
255
209
|
{{ t("resourceList.head.createFromYaml") }}
|
|
256
|
-
</router-link>
|
|
210
|
+
</router-link>
|
|
257
211
|
</slot>
|
|
258
212
|
</div>
|
|
259
213
|
</slot>
|
|
@@ -263,46 +217,30 @@ export default {
|
|
|
263
217
|
|
|
264
218
|
<style lang="scss" scoped>
|
|
265
219
|
.title {
|
|
266
|
-
|
|
267
|
-
display: flex;
|
|
220
|
+
align-items: center;
|
|
221
|
+
display: flex;
|
|
268
222
|
h1 {
|
|
269
223
|
margin: 0;
|
|
270
224
|
}
|
|
271
225
|
}
|
|
272
226
|
|
|
273
227
|
header {
|
|
274
|
-
|
|
228
|
+
margin-bottom: 20px;
|
|
275
229
|
}
|
|
276
230
|
|
|
277
231
|
header.with-subheader {
|
|
278
|
-
|
|
232
|
+
grid-template-areas:
|
|
279
233
|
'type-banner type-banner'
|
|
280
234
|
'title actions'
|
|
281
235
|
'sub-header sub-header'
|
|
282
|
-
'state-banner state-banner';
|
|
283
|
-
position: relative;
|
|
284
|
-
display: unset;
|
|
236
|
+
'state-banner state-banner';
|
|
285
237
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
color: var(--primary);
|
|
294
|
-
}
|
|
295
|
-
.descrip-name{
|
|
296
|
-
font-size: 26px;
|
|
297
|
-
font-family: 'Microsoft YaHei';
|
|
298
|
-
}
|
|
299
|
-
.masthod-title-description{
|
|
300
|
-
font-family: 'Microsoft YaHei';
|
|
301
|
-
margin: 20px 0px;
|
|
302
|
-
}
|
|
303
|
-
.actions-container{
|
|
304
|
-
/* display: flex; */
|
|
305
|
-
/* margin-left: 0px; */
|
|
306
|
-
position: absolute;
|
|
238
|
+
|
|
239
|
+
.sub-header {
|
|
240
|
+
grid-area: sub-header;
|
|
241
|
+
|
|
242
|
+
a {
|
|
243
|
+
display: inline-block;
|
|
244
|
+
}
|
|
307
245
|
}
|
|
308
246
|
</style>
|
|
@@ -77,6 +77,11 @@ export default {
|
|
|
77
77
|
default: null,
|
|
78
78
|
},
|
|
79
79
|
|
|
80
|
+
groupBy: {
|
|
81
|
+
type: String,
|
|
82
|
+
default: null
|
|
83
|
+
},
|
|
84
|
+
|
|
80
85
|
namespaced: {
|
|
81
86
|
type: Boolean,
|
|
82
87
|
default: null, // Automatic from schema
|
|
@@ -112,35 +117,11 @@ export default {
|
|
|
112
117
|
default: true,
|
|
113
118
|
},
|
|
114
119
|
|
|
115
|
-
/**
|
|
116
|
-
* Field to group rows by, row[groupBy] must be something that can be a map key
|
|
117
|
-
*/
|
|
118
|
-
groupBy: {
|
|
119
|
-
type: String,
|
|
120
|
-
default: null
|
|
121
|
-
},
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Override any product based group options
|
|
125
|
-
*/
|
|
126
|
-
groupOptions: {
|
|
127
|
-
type: Array,
|
|
128
|
-
default: null
|
|
129
|
-
},
|
|
130
|
-
|
|
131
120
|
groupable: {
|
|
132
121
|
type: Boolean,
|
|
133
122
|
default: null, // Null: auto based on namespaced and type custom groupings
|
|
134
123
|
},
|
|
135
124
|
|
|
136
|
-
/**
|
|
137
|
-
* If the current preference for group isn't applicable, or not set, use this instead
|
|
138
|
-
*/
|
|
139
|
-
groupDefault: {
|
|
140
|
-
type: String,
|
|
141
|
-
default: DEFAULT_GROUP,
|
|
142
|
-
},
|
|
143
|
-
|
|
144
125
|
groupTooltip: {
|
|
145
126
|
type: String,
|
|
146
127
|
default: 'resourceTable.groupBy.namespace',
|
|
@@ -208,6 +189,10 @@ export default {
|
|
|
208
189
|
default: null, // Default comes from the user preference
|
|
209
190
|
},
|
|
210
191
|
|
|
192
|
+
hideGroupingControls: {
|
|
193
|
+
type: Boolean,
|
|
194
|
+
default: false
|
|
195
|
+
}
|
|
211
196
|
},
|
|
212
197
|
|
|
213
198
|
data() {
|
|
@@ -343,18 +328,8 @@ export default {
|
|
|
343
328
|
// If we are grouping by a custom group, it may specify that we hide a specific column
|
|
344
329
|
const custom = this._listGroupMapped?.[this.group];
|
|
345
330
|
|
|
346
|
-
let hideColumn;
|
|
347
|
-
|
|
348
331
|
if (custom?.hideColumn) {
|
|
349
|
-
|
|
350
|
-
} else {
|
|
351
|
-
const componentCustom = this.groupOptions?.find((go) => go.value === this.group);
|
|
352
|
-
|
|
353
|
-
hideColumn = componentCustom?.hideColumn;
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
if (hideColumn) {
|
|
357
|
-
const idx = headers.findIndex((header) => header.name === hideColumn);
|
|
332
|
+
const idx = headers.findIndex((header) => header.name === custom.hideColumn);
|
|
358
333
|
|
|
359
334
|
if ( idx >= 0 ) {
|
|
360
335
|
headers.splice(idx, 1);
|
|
@@ -413,24 +388,22 @@ export default {
|
|
|
413
388
|
group: {
|
|
414
389
|
get() {
|
|
415
390
|
// Check group is valid
|
|
416
|
-
const exists = this.
|
|
391
|
+
const exists = this.groupOptions.find((g) => g.value === this._group);
|
|
417
392
|
|
|
418
393
|
if (!exists) {
|
|
419
394
|
// Attempt to find the default option in available options...
|
|
420
395
|
// if not use the first value in the options collection...
|
|
421
396
|
// and if not that just fall back to the default
|
|
422
|
-
if (this.
|
|
423
|
-
return
|
|
397
|
+
if (this.groupOptions.find((g) => g.value === DEFAULT_GROUP)) {
|
|
398
|
+
return DEFAULT_GROUP;
|
|
424
399
|
}
|
|
425
400
|
|
|
426
|
-
return this.
|
|
401
|
+
return this.groupOptions[0]?.value || DEFAULT_GROUP;
|
|
427
402
|
}
|
|
428
403
|
|
|
429
404
|
return this._group;
|
|
430
405
|
},
|
|
431
406
|
set(value) {
|
|
432
|
-
console.log('_group:===='+value);
|
|
433
|
-
|
|
434
407
|
this._group = value;
|
|
435
408
|
}
|
|
436
409
|
},
|
|
@@ -440,13 +413,9 @@ export default {
|
|
|
440
413
|
const namespaceGroupable = this.$store.getters['isMultipleNamespaces'] && this.isNamespaced;
|
|
441
414
|
const customGroupable = !!this.options?.listGroups?.length;
|
|
442
415
|
|
|
443
|
-
|
|
444
|
-
if(this.parsedPagingParams.singularLabel === 'SSH Key' || this.parsedPagingParams.singularLabel === '负载均衡器'){
|
|
445
|
-
return false
|
|
416
|
+
return namespaceGroupable || customGroupable;
|
|
446
417
|
}
|
|
447
418
|
|
|
448
|
-
return namespaceGroupable || customGroupable || this.groupOptions?.length;
|
|
449
|
-
}
|
|
450
419
|
return this.groupable || false;
|
|
451
420
|
},
|
|
452
421
|
|
|
@@ -473,20 +442,10 @@ export default {
|
|
|
473
442
|
return custom.field;
|
|
474
443
|
}
|
|
475
444
|
|
|
476
|
-
const componentCustom = this.groupOptions?.find((go) => go.value === this.group);
|
|
477
|
-
|
|
478
|
-
if (componentCustom?.field) {
|
|
479
|
-
return componentCustom.field;
|
|
480
|
-
}
|
|
481
|
-
|
|
482
445
|
return null;
|
|
483
446
|
},
|
|
484
447
|
|
|
485
|
-
|
|
486
|
-
if (this.groupOptions) {
|
|
487
|
-
return this.groupOptions;
|
|
488
|
-
}
|
|
489
|
-
|
|
448
|
+
groupOptions() {
|
|
490
449
|
// Ignore the defaults below, we have an override set of groups
|
|
491
450
|
// REPLACE (instead of SUPPLEMENT) defaults with listGroups (given listGroupsWillOverride is true)
|
|
492
451
|
if (this.options?.listGroupsWillOverride && !!this.options?.listGroups?.length) {
|
|
@@ -610,7 +569,7 @@ export default {
|
|
|
610
569
|
:alt-loading="altLoading"
|
|
611
570
|
:group-by="computedGroupBy"
|
|
612
571
|
:group="group"
|
|
613
|
-
:group-options="
|
|
572
|
+
:group-options="groupOptions"
|
|
614
573
|
:search="search"
|
|
615
574
|
:paging="true"
|
|
616
575
|
:paging-params="parsedPagingParams"
|
|
@@ -637,14 +596,14 @@ export default {
|
|
|
637
596
|
@enter="handleEnterKeyPress"
|
|
638
597
|
>
|
|
639
598
|
<template
|
|
640
|
-
v-if="
|
|
599
|
+
v-if="!hideGroupingControls && showGrouping"
|
|
641
600
|
#header-middle
|
|
642
601
|
>
|
|
643
602
|
<slot name="more-header-middle" />
|
|
644
603
|
|
|
645
604
|
<ButtonGroup
|
|
646
605
|
v-model:value="group"
|
|
647
|
-
:options="
|
|
606
|
+
:options="groupOptions"
|
|
648
607
|
/>
|
|
649
608
|
</template>
|
|
650
609
|
|
package/components/SideNav.vue
CHANGED
|
@@ -394,14 +394,7 @@ export default {
|
|
|
394
394
|
</script>
|
|
395
395
|
|
|
396
396
|
<template>
|
|
397
|
-
<nav
|
|
398
|
-
class="side-nav"
|
|
399
|
-
role="navigation"
|
|
400
|
-
:aria-label="t('nav.ariaLabel.sideNav')"
|
|
401
|
-
>
|
|
402
|
-
<div class="side-all-title">
|
|
403
|
-
控制台
|
|
404
|
-
</div>
|
|
397
|
+
<nav class="side-nav">
|
|
405
398
|
<!-- Actual nav -->
|
|
406
399
|
<div class="nav">
|
|
407
400
|
<template
|
|
@@ -421,36 +414,36 @@ export default {
|
|
|
421
414
|
</template>
|
|
422
415
|
</div>
|
|
423
416
|
<!-- SideNav footer area (seems to be tied to harvester) -->
|
|
424
|
-
|
|
417
|
+
<div
|
|
425
418
|
v-if="showProductFooter"
|
|
426
419
|
class="footer"
|
|
427
|
-
>
|
|
420
|
+
>
|
|
428
421
|
<!-- support link -->
|
|
429
|
-
|
|
422
|
+
<router-link
|
|
430
423
|
:to="supportLink"
|
|
431
424
|
class="pull-right"
|
|
432
425
|
role="link"
|
|
433
426
|
:aria-label="t('nav.support', {hasSupport: true})"
|
|
434
427
|
>
|
|
435
428
|
{{ t('nav.support', {hasSupport: true}) }}
|
|
436
|
-
</router-link>
|
|
429
|
+
</router-link>
|
|
437
430
|
<!-- version number -->
|
|
438
|
-
|
|
431
|
+
<span
|
|
439
432
|
v-clean-tooltip="{content: displayVersion, placement: 'top'}"
|
|
440
433
|
class="clip version text-muted"
|
|
441
434
|
>
|
|
442
435
|
{{ displayVersion }}
|
|
443
|
-
</span>
|
|
436
|
+
</span>
|
|
444
437
|
|
|
445
438
|
<!-- locale selector -->
|
|
446
|
-
|
|
439
|
+
<LocaleSelector
|
|
447
440
|
v-if="isSingleProduct && hasMultipleLocales && !isStandaloneHarvester"
|
|
448
441
|
mode="login"
|
|
449
442
|
:show-icon="false"
|
|
450
|
-
/>
|
|
451
|
-
|
|
443
|
+
/>
|
|
444
|
+
</div>
|
|
452
445
|
<!-- SideNav footer alternative -->
|
|
453
|
-
|
|
446
|
+
<div
|
|
454
447
|
v-else
|
|
455
448
|
class="version text-muted flex"
|
|
456
449
|
>
|
|
@@ -471,7 +464,7 @@ export default {
|
|
|
471
464
|
(Harvester-{{ harvesterVersion }})
|
|
472
465
|
</span>
|
|
473
466
|
</template>
|
|
474
|
-
</div>
|
|
467
|
+
</div>
|
|
475
468
|
</nav>
|
|
476
469
|
</template>
|
|
477
470
|
|
|
@@ -497,10 +490,6 @@ export default {
|
|
|
497
490
|
|
|
498
491
|
A { padding-left: 0; }
|
|
499
492
|
}
|
|
500
|
-
:deep() A{
|
|
501
|
-
height: 50px;
|
|
502
|
-
background-color: #fff;
|
|
503
|
-
}
|
|
504
493
|
|
|
505
494
|
.tools {
|
|
506
495
|
display: flex;
|
|
@@ -576,13 +565,4 @@ export default {
|
|
|
576
565
|
display: flex;
|
|
577
566
|
}
|
|
578
567
|
|
|
579
|
-
|
|
580
|
-
.side-all-title{
|
|
581
|
-
height: 50px;
|
|
582
|
-
line-height: 50px;
|
|
583
|
-
font-size: 16px;
|
|
584
|
-
color: #7f7f7f;
|
|
585
|
-
padding-left: 21px;
|
|
586
|
-
font-weight: bold;
|
|
587
|
-
}
|
|
588
568
|
</style>
|
|
@@ -237,25 +237,11 @@ export default {
|
|
|
237
237
|
v-if="subExpandColumn"
|
|
238
238
|
:width="expandWidth"
|
|
239
239
|
/>
|
|
240
|
-
<!-- <th
|
|
241
|
-
v-for="(col) in columns"
|
|
242
|
-
v-show="!hasAdvancedFiltering || (hasAdvancedFiltering && col.isColVisible)"
|
|
243
|
-
:key="col.name"
|
|
244
|
-
:align="col.align || 'left'"
|
|
245
|
-
:width="col.width"
|
|
246
|
-
:class="{ sortable: col.sort, [col.breakpoint]: !!col.breakpoint}"
|
|
247
|
-
:tabindex="col.sort ? 0 : -1"
|
|
248
|
-
class="sortable-table-head-element"
|
|
249
|
-
:aria-sort="ariaSort(col)"
|
|
250
|
-
@click.prevent="changeSort($event, col)"
|
|
251
|
-
@keyup.enter="changeSort($event, col)"
|
|
252
|
-
@keyup.space="changeSort($event, col)"
|
|
253
|
-
> -->
|
|
254
240
|
<th
|
|
255
241
|
v-for="(col) in columns"
|
|
256
242
|
v-show="!hasAdvancedFiltering || (hasAdvancedFiltering && col.isColVisible)"
|
|
257
243
|
:key="col.name"
|
|
258
|
-
:align="'left'"
|
|
244
|
+
:align="col.align || 'left'"
|
|
259
245
|
:width="col.width"
|
|
260
246
|
:class="{ sortable: col.sort, [col.breakpoint]: !!col.breakpoint}"
|
|
261
247
|
:tabindex="col.sort ? 0 : -1"
|
|
@@ -273,13 +259,10 @@ export default {
|
|
|
273
259
|
v-clean-tooltip="tooltip(col)"
|
|
274
260
|
class="content"
|
|
275
261
|
>
|
|
276
|
-
<span
|
|
277
|
-
v-clean-html="labelFor(col)"
|
|
278
|
-
class="text-no-break"
|
|
279
|
-
/>
|
|
262
|
+
<span v-clean-html="labelFor(col)" />
|
|
280
263
|
<span
|
|
281
264
|
v-if="col.subLabel"
|
|
282
|
-
class="text-muted
|
|
265
|
+
class="text-muted"
|
|
283
266
|
>
|
|
284
267
|
{{ col.subLabel }}
|
|
285
268
|
</span>
|
|
@@ -299,12 +282,10 @@ export default {
|
|
|
299
282
|
<i
|
|
300
283
|
v-if="isCurrent(col) && !descending"
|
|
301
284
|
class="icon icon-sort-down icon-stack-1x"
|
|
302
|
-
:alt="t('sortableTable.alt.sortingIconDesc')"
|
|
303
285
|
/>
|
|
304
286
|
<i
|
|
305
287
|
v-if="isCurrent(col) && descending"
|
|
306
288
|
class="icon icon-sort-up icon-stack-1x"
|
|
307
|
-
:alt="t('sortableTable.alt.sortingIconAsc')"
|
|
308
289
|
/>
|
|
309
290
|
</span>
|
|
310
291
|
</div>
|
|
@@ -313,7 +294,6 @@ export default {
|
|
|
313
294
|
<th
|
|
314
295
|
v-if="rowActions && hasAdvancedFiltering && tableColsOptions.length"
|
|
315
296
|
:width="rowActionsWidth"
|
|
316
|
-
:align="'left'"
|
|
317
297
|
>
|
|
318
298
|
<div
|
|
319
299
|
ref="table-options"
|
|
@@ -372,17 +352,10 @@ export default {
|
|
|
372
352
|
</div>
|
|
373
353
|
</div>
|
|
374
354
|
</th>
|
|
375
|
-
<!-- <th
|
|
376
|
-
v-else-if="rowActions"
|
|
377
|
-
:width="rowActionsWidth"
|
|
378
|
-
/> -->
|
|
379
355
|
<th
|
|
380
356
|
v-else-if="rowActions"
|
|
381
357
|
:width="rowActionsWidth"
|
|
382
|
-
|
|
383
|
-
>
|
|
384
|
-
操作
|
|
385
|
-
</th>
|
|
358
|
+
/>
|
|
386
359
|
</tr>
|
|
387
360
|
</thead>
|
|
388
361
|
</template>
|
|
@@ -462,7 +435,7 @@ export default {
|
|
|
462
435
|
}
|
|
463
436
|
|
|
464
437
|
th {
|
|
465
|
-
padding:
|
|
438
|
+
padding: 8px 5px;
|
|
466
439
|
font-weight: normal;
|
|
467
440
|
border: 0;
|
|
468
441
|
color: var(--body-text);
|
|
@@ -501,8 +474,6 @@ export default {
|
|
|
501
474
|
|
|
502
475
|
&:last-child {
|
|
503
476
|
padding-right: 10px;
|
|
504
|
-
padding-left: 12px;
|
|
505
|
-
width: 200px;
|
|
506
477
|
}
|
|
507
478
|
|
|
508
479
|
&:not(.sortable) > SPAN {
|