dashboard-shell-shell 3.0.5-test.9 → 3.0.5-tsh.2
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/assets/brand/csp/favicon.png +0 -0
- package/assets/icons/iconfont.css +4 -1
- package/assets/images/pl/dark/logo.png +0 -0
- package/assets/styles/all.scss +23 -3
- package/assets/styles/base/_variables.scss +2 -2
- package/assets/styles/fonts/_icons.scss +3 -2
- package/assets/styles/global/_button.scss +1 -1
- package/assets/styles/global/_form.scss +1 -0
- package/assets/styles/global/_select.scss +1 -1
- package/assets/styles/global/_tooltip.scss +5 -1
- package/assets/styles/themes/_light.scss +3 -3
- package/assets/styles/vendor/vue-select.scss +2 -1
- package/assets/translations/en-us.yaml +60 -0
- package/assets/translations/zh-hans.yaml +164 -21
- package/components/ButtonDropdown.vue +3 -1
- package/components/ClusterIconMenu.vue +1 -1
- package/components/CodeMirror.vue +6 -4
- package/components/ConsumptionGauge.vue +1 -1
- package/components/ContainerResourceLimit.vue +2 -2
- package/components/CruResource.vue +3 -2
- package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +22 -19
- package/components/Drawer/ResourceDetailDrawer/index.vue +3 -3
- package/components/ExplorerMembers.vue +10 -1
- package/components/GlobalRoleBindings.vue +52 -112
- package/components/PodSecurityAdmission.vue +1 -1
- package/components/PromptRemove.vue +23 -1
- package/components/RelatedResources.vue +3 -0
- package/components/Resource/Detail/TitleBar/composables.ts +16 -1
- package/components/Resource/Detail/TitleBar/index.vue +37 -24
- package/components/ResourceDetail/Masthead/index.vue +1 -1
- package/components/ResourceDetail/Masthead/latest.vue +1 -1
- package/components/ResourceDetail/Masthead/legacy.vue +8 -7
- package/components/ResourceDetail/legacy.vue +15 -15
- package/components/ResourceList/Masthead.vue +11 -15
- package/components/ResourceTable.vue +16 -0
- package/components/SideNav.vue +21 -21
- package/components/SingleClusterInfo.vue +2 -1
- package/components/SortableTable/THead.vue +46 -1
- package/components/SortableTable/index.vue +54 -18
- package/components/Tabbed/index.vue +6 -1
- package/components/auth/Principal.vue +16 -8
- package/components/auth/RoleDetailEdit.vue +11 -7
- package/components/breadcrumb/index.vue +13 -210
- package/components/form/ArrayList.vue +164 -147
- package/components/form/ArrayListGrouped.vue +5 -3
- package/components/form/ChangePassword.vue +1 -1
- package/components/form/ClusterAppearance.vue +4 -3
- package/components/form/Command.vue +4 -5
- package/components/form/Conditions.vue +15 -1
- package/components/form/Footer.vue +1 -0
- package/components/form/HealthCheck.vue +0 -2
- package/components/form/HookOption.vue +87 -58
- package/components/form/InputWithSelect.vue +8 -7
- package/components/form/KeyValue.vue +20 -2
- package/components/form/LabeledSelect.vue +3 -1
- package/components/form/Labels.vue +2 -2
- package/components/form/MatchExpressions.vue +4 -4
- package/components/form/Members/ClusterMembershipEditor.vue +1 -1
- package/components/form/Members/ClusterPermissionsEditor.vue +31 -28
- package/components/form/Members/MembershipEditor.vue +3 -3
- package/components/form/Members/ProjectMembershipEditor.vue +1 -1
- package/components/form/NameNsDescription.vue +4 -2
- package/components/form/Networking.vue +6 -9
- package/components/form/NodeAffinity.vue +29 -28
- package/components/form/PodAffinity.vue +23 -23
- package/components/form/Probe.vue +15 -11
- package/components/form/ProjectMemberEditor.vue +28 -25
- package/components/form/ResourceQuota/Namespace.vue +4 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +11 -9
- package/components/form/ResourceQuota/Project.vue +4 -4
- package/components/form/ResourceQuota/ProjectRow.vue +36 -30
- package/components/form/ResourceSelector.vue +1 -1
- package/components/form/Security.vue +1 -3
- package/components/form/Select.vue +7 -1
- package/components/form/ServiceNameSelect.vue +2 -5
- package/components/form/ServicePorts.vue +149 -75
- package/components/form/Tolerations.vue +13 -9
- package/components/form/ValueFromResource.vue +110 -96
- package/components/formatter/WorkloadHealthScale.vue +4 -3
- package/components/nav/Group.vue +6 -0
- package/components/nav/Header.vue +17 -137
- package/components/nav/NamespaceFilter.vue +14 -19
- package/components/nav/TopLevelMenu.vue +99 -125
- package/components/nav/Type.vue +11 -3
- package/config/menuRouteMap.js +10 -0
- package/config/product/explorer.js +32 -10
- package/config/product/manager.js +28 -17
- package/config/router/navigation-guards/index.js +61 -3
- package/detail/node.vue +28 -23
- package/dialog/AddCustomBadgeDialog.vue +17 -9
- package/dialog/RollbackWorkloadDialog.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +9 -6
- package/edit/autoscaling.horizontalpodautoscaler/index.vue +3 -1
- package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +7 -5
- package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +5 -3
- package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
- package/edit/configmap.vue +4 -0
- package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +32 -8
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/dingding.vue +32 -0
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/message.vue +52 -0
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/snmp.vue +45 -0
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/work.vue +31 -0
- package/edit/networking.k8s.io.ingress/Certificate.vue +14 -5
- package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
- package/edit/networking.k8s.io.ingress/Rule.vue +5 -11
- package/edit/networking.k8s.io.ingress/RulePath.vue +105 -96
- package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +3 -3
- package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +4 -2
- package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +12 -11
- package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
- package/edit/persistentvolume/index.vue +3 -1
- package/edit/persistentvolumeclaim.vue +2 -0
- package/edit/provisioning.cattle.io.cluster/tabs/Basics.vue +1 -1
- package/edit/secret/index.vue +2 -2
- package/edit/service.vue +4 -1
- package/edit/storage.k8s.io.storageclass/index.vue +10 -8
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +34 -27
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +15 -13
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +41 -39
- package/edit/workload/Job.vue +31 -34
- package/edit/workload/Upgrading.vue +5 -5
- package/edit/workload/index.vue +19 -15
- package/edit/workload/storage/Mount.vue +1 -0
- package/edit/workload/storage/awsElasticBlockStore.vue +9 -7
- package/edit/workload/storage/azureDisk.vue +14 -10
- package/edit/workload/storage/azureFile.vue +9 -7
- package/edit/workload/storage/csi/index.vue +6 -9
- package/edit/workload/storage/emptyDir.vue +7 -5
- package/edit/workload/storage/gcePersistentDisk.vue +9 -7
- package/edit/workload/storage/hostPath.vue +7 -5
- package/edit/workload/storage/nfs.vue +8 -6
- package/edit/workload/storage/persistentVolumeClaim/index.vue +12 -10
- package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +20 -15
- package/edit/workload/storage/secret.vue +9 -6
- package/edit/workload/storage/vsphereVolume.vue +11 -7
- package/initialize/app-extended.js +7 -1
- package/list/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +8 -6
- package/mixins/create-edit-view/impl.js +10 -0
- package/models/provisioning.cattle.io.cluster.js +19 -18
- package/models/workload.js +2 -2
- package/package.json +1 -1
- package/pages/account/index.vue +93 -58
- package/pages/auth/login.vue +1 -1
- package/pages/auth/setup.vue +36 -17
- package/pages/c/_cluster/explorer/ConfigBadge.vue +1 -1
- package/pages/c/_cluster/explorer/index.vue +2 -1
- package/pages/c/_cluster/explorer/tools/index.vue +6 -6
- package/pages/home.vue +55 -13
- package/plugins/dashboard-store/actions.js +1 -1
- package/rancher-components/Banner/Banner.vue +14 -2
- package/rancher-components/Form/Radio/RadioGroup.vue +9 -1
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +31 -2
- package/scripts/build-pkg.sh +18 -23
- package/scripts/publish-shell.sh +1 -1
- package/store/i18n.js +1 -0
- package/store/type-map.js +0 -2
- package/utils/error.js +23 -3
- package/utils/errorTranslate.json +377 -8
- package/utils/errorTranslateNew.json +39 -0
|
@@ -152,7 +152,7 @@ export default {
|
|
|
152
152
|
});
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
if (this.value?.metadata?.name && !this.value
|
|
155
|
+
if (this.value?.metadata?.name && !this.value?.displayName) {
|
|
156
156
|
this.value['displayName'] = this.value.metadata.name;
|
|
157
157
|
}
|
|
158
158
|
|
|
@@ -705,12 +705,12 @@ export default {
|
|
|
705
705
|
<!-- 列表头部 -->
|
|
706
706
|
<template #column-headers>
|
|
707
707
|
<div class="column-headers row">
|
|
708
|
-
<div :class="ruleClass">
|
|
708
|
+
<div class="arrayListCls" :class="ruleClass">
|
|
709
709
|
<span class="text-label">{{ t('rbac.roletemplate.tabs.grantResources.tableHeaders.verbs') }}
|
|
710
710
|
<span class="required">*</span>
|
|
711
711
|
</span>
|
|
712
712
|
</div>
|
|
713
|
-
<div :class="ruleClass">
|
|
713
|
+
<div class="arrayListCls" :class="ruleClass">
|
|
714
714
|
<span class="text-label">
|
|
715
715
|
{{ t('rbac.roletemplate.tabs.grantResources.tableHeaders.resources') }}
|
|
716
716
|
<i
|
|
@@ -723,7 +723,7 @@ export default {
|
|
|
723
723
|
>*</span>
|
|
724
724
|
</span>
|
|
725
725
|
</div>
|
|
726
|
-
<div :class="ruleClass">
|
|
726
|
+
<div class="arrayListCls" :class="ruleClass">
|
|
727
727
|
<span class="text-label">{{ t('rbac.roletemplate.tabs.grantResources.tableHeaders.apiGroups') }}</span>
|
|
728
728
|
</div>
|
|
729
729
|
<div
|
|
@@ -740,7 +740,7 @@ export default {
|
|
|
740
740
|
<div class="columns row mr-20">
|
|
741
741
|
|
|
742
742
|
<!-- 动作(verbs)选择 -->
|
|
743
|
-
<div :class="ruleClass">
|
|
743
|
+
<div class="arrayListCls" :class="ruleClass">
|
|
744
744
|
<!-- Select verbs -->
|
|
745
745
|
<Select
|
|
746
746
|
:value="props.row.value.verbs"
|
|
@@ -758,7 +758,7 @@ export default {
|
|
|
758
758
|
</div>
|
|
759
759
|
|
|
760
760
|
<!-- 资源(resources)选择 -->
|
|
761
|
-
<div :class="ruleClass">
|
|
761
|
+
<div class="arrayListCls" :class="ruleClass">
|
|
762
762
|
<Select
|
|
763
763
|
style="width: auto;"
|
|
764
764
|
:value="getRule('resources', props.row.value)"
|
|
@@ -776,7 +776,7 @@ export default {
|
|
|
776
776
|
</div>
|
|
777
777
|
|
|
778
778
|
<!-- API Groups 输入 -->
|
|
779
|
-
<div :class="ruleClass">
|
|
779
|
+
<div class="arrayListCls" :class="ruleClass">
|
|
780
780
|
<LabeledInput
|
|
781
781
|
:value="getRule('apiGroups', props.row.value)"
|
|
782
782
|
:disabled="isBuiltin"
|
|
@@ -788,6 +788,7 @@ export default {
|
|
|
788
788
|
|
|
789
789
|
<!-- 非命名空间 URL 输入(仅非命名空间模式显示) -->
|
|
790
790
|
<div
|
|
791
|
+
class="arrayListCls"
|
|
791
792
|
v-if="!isNamespaced"
|
|
792
793
|
:class="ruleClass"
|
|
793
794
|
>
|
|
@@ -859,6 +860,9 @@ export default {
|
|
|
859
860
|
</template>
|
|
860
861
|
|
|
861
862
|
<style lang="scss" scoped>
|
|
863
|
+
.arrayListCls {
|
|
864
|
+
min-width: 360px;
|
|
865
|
+
}
|
|
862
866
|
.ruleCls {
|
|
863
867
|
margin-right: 10px;
|
|
864
868
|
}
|
|
@@ -1,54 +1,18 @@
|
|
|
1
1
|
<script>
|
|
2
|
-
import { Banner } from '@components/Banner';
|
|
3
2
|
import { get } from '@shell/utils/object';;
|
|
4
|
-
import {
|
|
5
|
-
AS, _DETAIL, _CONFIG, _YAML, MODE, _CREATE, _EDIT, _VIEW, _UNFLAG, _GRAPH
|
|
6
|
-
} from '@shell/config/query-params';
|
|
7
|
-
import { ExtensionPoint, PanelLocation } from '@shell/core/types';
|
|
8
3
|
import { useRuntimeFlag } from '@shell/composables/useRuntimeFlag';
|
|
9
4
|
import { useStore } from 'vuex';
|
|
10
5
|
|
|
11
|
-
// i18n-uses resourceDetail.header.*
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Resource Detail Masthead component.
|
|
15
|
-
*
|
|
16
|
-
* ToDo: this component seem to be picking up a lot of logic from special cases, could be simplified down to parameters and then customized per use-case via wrapper component
|
|
17
|
-
*/
|
|
18
6
|
export default {
|
|
19
7
|
|
|
20
|
-
name: '
|
|
8
|
+
name: 'MastheadBreadcrumb',
|
|
21
9
|
|
|
22
10
|
components: {
|
|
23
|
-
// BadgeState,
|
|
24
|
-
Banner,
|
|
25
11
|
},
|
|
26
12
|
props: {
|
|
27
|
-
|
|
28
|
-
type: Object,
|
|
29
|
-
default: () => {
|
|
30
|
-
return {};
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
|
|
34
|
-
mode: {
|
|
35
|
-
type: String,
|
|
36
|
-
default: 'view'
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
realMode: {
|
|
40
|
-
type: String,
|
|
41
|
-
default: 'view'
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
as: {
|
|
13
|
+
resourceTypeLabel: {
|
|
45
14
|
type: String,
|
|
46
|
-
default:
|
|
47
|
-
},
|
|
48
|
-
|
|
49
|
-
storeOverride: {
|
|
50
|
-
type: String,
|
|
51
|
-
default: null,
|
|
15
|
+
default: ''
|
|
52
16
|
},
|
|
53
17
|
|
|
54
18
|
resource: {
|
|
@@ -56,15 +20,10 @@ export default {
|
|
|
56
20
|
default: null,
|
|
57
21
|
},
|
|
58
22
|
|
|
59
|
-
|
|
60
|
-
type: String,
|
|
61
|
-
default: null,
|
|
62
|
-
},
|
|
63
|
-
|
|
64
|
-
parentRouteOverride: {
|
|
23
|
+
realMode: {
|
|
65
24
|
type: String,
|
|
66
|
-
default:
|
|
67
|
-
}
|
|
25
|
+
default: 'view',
|
|
26
|
+
}
|
|
68
27
|
|
|
69
28
|
},
|
|
70
29
|
|
|
@@ -77,97 +36,21 @@ export default {
|
|
|
77
36
|
|
|
78
37
|
data() {
|
|
79
38
|
return {
|
|
80
|
-
DETAIL_VIEW: _DETAIL,
|
|
81
|
-
extensionType: ExtensionPoint.PANEL,
|
|
82
|
-
extensionLocation: PanelLocation.DETAILS_MASTHEAD,
|
|
83
|
-
Svg: require('~shell/assets/images/API.svg')
|
|
84
39
|
};
|
|
85
40
|
},
|
|
86
41
|
|
|
87
42
|
computed: {
|
|
88
|
-
dev() {
|
|
89
|
-
return this.$store.getters['prefs/dev'];
|
|
90
|
-
},
|
|
91
|
-
|
|
92
|
-
schema() {
|
|
93
|
-
const inStore = this.storeOverride || this.$store.getters['currentStore'](this.resource);
|
|
94
|
-
|
|
95
|
-
return this.$store.getters[`${ inStore }/schemaFor`]( this.resource );
|
|
96
|
-
},
|
|
97
|
-
|
|
98
|
-
isProjectHelmChart() {
|
|
99
|
-
return this.schema?.id === HELM.PROJECTHELMCHART;
|
|
100
|
-
},
|
|
101
|
-
|
|
102
|
-
shouldHifenize() {
|
|
103
|
-
return (this.mode === 'view' || this.mode === 'edit') && this.resourceSubtype?.length && this.value?.nameDisplay?.length;
|
|
104
|
-
},
|
|
105
|
-
|
|
106
|
-
parent() {
|
|
107
|
-
const displayName = this.value?.parentNameOverride || this.$store.getters['type-map/labelFor'](this.schema);
|
|
108
|
-
const product = this.$store.getters['currentProduct'].name;
|
|
109
|
-
|
|
110
|
-
const defaultLocation = {
|
|
111
|
-
name: 'c-cluster-product-resource',
|
|
112
|
-
params: {
|
|
113
|
-
resource: this.resource,
|
|
114
|
-
product,
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
const location = this.value?.parentLocationOverride || defaultLocation;
|
|
119
|
-
|
|
120
|
-
if (this.parentRouteOverride) {
|
|
121
|
-
location.name = this.parentRouteOverride;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
const typeOptions = this.$store.getters[`type-map/optionsFor`]( this.resource );
|
|
125
|
-
|
|
126
|
-
// 转换为中文
|
|
127
|
-
const displayName_zh_hans = {
|
|
128
|
-
'GlobalRole': '全局角色',
|
|
129
|
-
'RoleTemplate': '集群角色',
|
|
130
|
-
}
|
|
131
|
-
if (displayName_zh_hans[displayName]) {
|
|
132
|
-
displayName = displayName_zh_hans[displayName]
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
if (displayName == '集群角色' && (this.$route.query?.roleContext == 'NAMESPACE' || location.hash == '#NAMESPACE')) {
|
|
136
|
-
displayName = '项目或资源组角色'
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
const out = {
|
|
140
|
-
displayName, location, ...typeOptions
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
return out;
|
|
144
|
-
},
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
displayName() {
|
|
148
|
-
let displayName = this.value.nameDisplay;
|
|
149
|
-
|
|
150
|
-
if (this.isProjectHelmChart) {
|
|
151
|
-
displayName = this.value.projectDisplayName;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
return this.shouldHifenize ? ` - ${ displayName }` : displayName;
|
|
155
|
-
},
|
|
156
43
|
|
|
157
44
|
demoDisplay() {
|
|
158
45
|
|
|
159
46
|
const resources = this.$route.params?.resource || ''
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
if (productId === undefined) {
|
|
164
|
-
return '';
|
|
165
|
-
}
|
|
166
|
-
const parts = productId.split('::');
|
|
47
|
+
|
|
48
|
+
let productId = this.$store.getters['type-map/groupForBasicType'](this.$store.getters['productId'], resources);
|
|
49
|
+
const parts = productId?.split('::') || [];
|
|
167
50
|
const newString = 'root';
|
|
168
51
|
|
|
169
52
|
if (!parts?.includes(newString)) {
|
|
170
|
-
parts
|
|
53
|
+
parts?.unshift(newString); // 将字符串添加到数组第一位
|
|
171
54
|
}
|
|
172
55
|
|
|
173
56
|
const partsEn = parts.map((item) => {
|
|
@@ -177,12 +60,6 @@ export default {
|
|
|
177
60
|
return partsEn;
|
|
178
61
|
},
|
|
179
62
|
|
|
180
|
-
location() {
|
|
181
|
-
const { parent } = this;
|
|
182
|
-
|
|
183
|
-
return parent?.location;
|
|
184
|
-
},
|
|
185
|
-
|
|
186
63
|
},
|
|
187
64
|
|
|
188
65
|
methods: {
|
|
@@ -206,7 +83,7 @@ export default {
|
|
|
206
83
|
<span>/</span>
|
|
207
84
|
</span>
|
|
208
85
|
<span class="excram-last-name">
|
|
209
|
-
{{ (realMode === 'view'? '查看': realMode === 'edit' ? '编辑':'创建') +
|
|
86
|
+
{{ (realMode === 'view'? '查看': realMode === 'edit' ? '编辑':'创建') + resourceTypeLabel }}
|
|
210
87
|
</span>
|
|
211
88
|
</div>
|
|
212
89
|
</div>
|
|
@@ -215,71 +92,6 @@ export default {
|
|
|
215
92
|
|
|
216
93
|
<style lang='scss' scoped>
|
|
217
94
|
|
|
218
|
-
HEADER {
|
|
219
|
-
margin: 0;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
.primaryheader {
|
|
223
|
-
display: flex;
|
|
224
|
-
flex-direction: row;
|
|
225
|
-
align-items: center;
|
|
226
|
-
font-size:14px;
|
|
227
|
-
height: 50px;
|
|
228
|
-
|
|
229
|
-
h1 {
|
|
230
|
-
margin: 0;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
.subheader{
|
|
235
|
-
display: flex;
|
|
236
|
-
flex-direction: row;
|
|
237
|
-
color: var(--input-label);
|
|
238
|
-
& > * {
|
|
239
|
-
margin: 5px 20px 5px 0px;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
.live-data {
|
|
243
|
-
color: var(--body-text)
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
.state-banner {
|
|
248
|
-
margin: 3px 0 0 0;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
.masthead-state {
|
|
252
|
-
font-size: initial;
|
|
253
|
-
display: inline-block;
|
|
254
|
-
position: relative;
|
|
255
|
-
/* top: -2px; */
|
|
256
|
-
font-size: 12px;
|
|
257
|
-
margin-left: 5px;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
.masthead-istio {
|
|
261
|
-
.icon {
|
|
262
|
-
vertical-align: middle;
|
|
263
|
-
color: var(--primary);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
.left-right-split {
|
|
268
|
-
display: grid;
|
|
269
|
-
align-items: center;
|
|
270
|
-
|
|
271
|
-
.left-half {
|
|
272
|
-
grid-column: 1;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
.right-half {
|
|
276
|
-
grid-column: 2;
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
.resource-external {
|
|
281
|
-
font-size: 18px;
|
|
282
|
-
}
|
|
283
95
|
.excram-list{
|
|
284
96
|
font-size: 14px;
|
|
285
97
|
margin-bottom: 20px;
|
|
@@ -287,10 +99,7 @@ export default {
|
|
|
287
99
|
.excram-last-name{
|
|
288
100
|
color: var(--link);
|
|
289
101
|
}
|
|
290
|
-
|
|
291
|
-
color: #d7d7d7;
|
|
292
|
-
margin: 0px 10px;
|
|
293
|
-
}
|
|
102
|
+
|
|
294
103
|
.detailIcon-span{
|
|
295
104
|
width: 24px;
|
|
296
105
|
height: 24px;
|
|
@@ -306,11 +115,5 @@ export default {
|
|
|
306
115
|
left: 4px;
|
|
307
116
|
top: -2px;
|
|
308
117
|
}
|
|
309
|
-
|
|
310
|
-
display: flex;
|
|
311
|
-
align-items: center;
|
|
312
|
-
}
|
|
313
|
-
.detailIcon-span-title{
|
|
314
|
-
font-weight: bold;
|
|
315
|
-
}
|
|
118
|
+
|
|
316
119
|
</style>
|