dashboard-shell-shell 3.0.5-test.6 → 3.0.5-test.61
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/brand/harvester/favicon.png +0 -0
- package/assets/brand/suse/favicon.png +0 -0
- package/assets/icons/demo.css +539 -0
- package/assets/icons/demo.css:Zone.Identifier +0 -0
- package/assets/icons/demo_index.html +1131 -0
- package/assets/icons/demo_index.html:Zone.Identifier +0 -0
- package/assets/icons/iconfont.css +219 -0
- package/assets/icons/iconfont.css:Zone.Identifier +0 -0
- package/assets/icons/iconfont.js +1 -0
- package/assets/icons/iconfont.js:Zone.Identifier +0 -0
- package/assets/icons/iconfont.json +324 -0
- package/assets/icons/iconfont.json:Zone.Identifier +0 -0
- package/assets/icons/iconfont.ttf +0 -0
- package/assets/icons/iconfont.ttf:Zone.Identifier +0 -0
- package/assets/icons/iconfont.woff +0 -0
- package/assets/icons/iconfont.woff2 +0 -0
- package/assets/icons/iconfont.woff2:Zone.Identifier +0 -0
- package/assets/icons/iconfont.woff:Zone.Identifier +0 -0
- package/assets/iconsNew/demo.css +539 -0
- package/assets/iconsNew/demo.css:Zone.Identifier +0 -0
- package/assets/iconsNew/demo_index.html +303 -0
- package/assets/iconsNew/demo_index.html:Zone.Identifier +0 -0
- package/assets/iconsNew/iconfont.css +43 -0
- package/assets/iconsNew/iconfont.css:Zone.Identifier +0 -0
- package/assets/iconsNew/iconfont.js +1 -0
- package/assets/iconsNew/iconfont.js:Zone.Identifier +0 -0
- package/assets/iconsNew/iconfont.json +44 -0
- package/assets/iconsNew/iconfont.json:Zone.Identifier +0 -0
- package/assets/iconsNew/iconfont.ttf +0 -0
- package/assets/iconsNew/iconfont.ttf:Zone.Identifier +0 -0
- package/assets/iconsNew/iconfont.woff +0 -0
- package/assets/iconsNew/iconfont.woff2 +0 -0
- package/assets/iconsNew/iconfont.woff2:Zone.Identifier +0 -0
- package/assets/iconsNew/iconfont.woff:Zone.Identifier +0 -0
- package/assets/images/API.svg +3 -0
- package/assets/images/action.svg +6 -0
- package/assets/images/login/password.svg +20 -0
- package/assets/images/login/user.svg +6 -0
- package/assets/images/login-bg.png +0 -0
- package/assets/images/login-left.png +0 -0
- package/assets/images/login-logo.svg +44 -0
- package/assets/images/logo.png +0 -0
- package/assets/images/logo.svg +47 -0
- package/assets/images/pl/dark/logo.png +0 -0
- package/assets/images/pl/half-logo.svg +2 -23
- package/assets/images/pl/harvester.png +0 -0
- package/assets/images/pl/logo.png +0 -0
- package/assets/images/promp-yellow.svg +5 -0
- package/assets/images/user.png +0 -0
- package/assets/styles/all.scss +83 -0
- package/assets/styles/app.scss +5 -0
- package/assets/styles/base/_basic.scss +2 -2
- package/assets/styles/base/_helpers.scss +1 -1
- package/assets/styles/base/_mixins.scss +1 -1
- package/assets/styles/base/_typography.scss +2 -1
- package/assets/styles/base/_variables.scss +14 -7
- package/assets/styles/fonts/_icons.scss +3 -2
- package/assets/styles/global/_button.scss +44 -26
- package/assets/styles/global/_columns.scss +3 -1
- package/assets/styles/global/_form.scss +46 -13
- package/assets/styles/global/_labeled-input.scss +54 -26
- package/assets/styles/global/_layout.scss +8 -3
- package/assets/styles/global/_select.scss +25 -17
- package/assets/styles/global/_table.scss +7 -1
- package/assets/styles/global/_tooltip.scss +60 -8
- package/assets/styles/themes/_dark.scss +3 -0
- package/assets/styles/themes/_light.scss +69 -46
- package/assets/styles/vendor/vue-select.scss +24 -10
- package/assets/translations/en-us.yaml +92 -4
- package/assets/translations/zh-hans.yaml +668 -206
- package/components/ActionDropdown.vue +2 -1
- package/components/ActionMenu.vue +2 -2
- package/components/ActionMenuShell.vue +2 -0
- package/components/AppModal.vue +46 -5
- package/components/BrandImage.vue +1 -0
- package/components/ButtonDropdown.vue +28 -4
- package/components/ButtonMultiAction.vue +1 -0
- package/components/ClusterIconMenu.vue +2 -2
- package/components/CodeMirror.vue +26 -10
- package/components/ConsumptionGauge.vue +24 -5
- package/components/ContainerResourceLimit.vue +2 -2
- package/components/CopyToClipboard.vue +15 -0
- package/components/CruResource.vue +12 -10
- package/components/CruResourceFooter.vue +2 -2
- package/components/DashboardOptions.vue +29 -17
- package/components/DotState.vue +84 -0
- package/components/Drawer/Chrome.vue +2 -2
- package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +30 -27
- package/components/Drawer/ResourceDetailDrawer/YamlTab.vue +1 -1
- package/components/Drawer/ResourceDetailDrawer/index.vue +5 -4
- package/components/ExplorerMembers.vue +28 -4
- package/components/ExplorerProjectsNamespaces.vue +19 -5
- package/components/GlobalRoleBindings.vue +23 -4
- package/components/GrafanaDashboard.vue +4 -4
- package/components/GrowlManager.vue +3 -1
- package/components/HardwareResourceGauge.vue +39 -3
- package/components/IndentedPanel.vue +4 -10
- package/components/InfoBox.vue +3 -3
- package/components/InputOrDisplay.vue +28 -2
- package/components/LabelValue.vue +20 -1
- package/components/ModalWithCard.vue +12 -3
- package/components/PodSecurityAdmission.vue +2 -2
- package/components/PromptModal.vue +1 -1
- package/components/PromptRemove.vue +53 -12
- package/components/RelatedResources.vue +3 -0
- package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +1 -3
- package/components/Resource/Detail/Metadata/KeyValue.vue +8 -4
- package/components/Resource/Detail/Metadata/index.vue +3 -1
- package/components/Resource/Detail/TitleBar/Title.vue +4 -3
- package/components/Resource/Detail/TitleBar/Top.vue +2 -0
- package/components/Resource/Detail/TitleBar/composables.ts +16 -1
- package/components/Resource/Detail/TitleBar/index.vue +125 -27
- package/components/ResourceDetail/Masthead/index.vue +1 -1
- package/components/ResourceDetail/Masthead/latest.vue +1 -1
- package/components/ResourceDetail/Masthead/legacy.vue +183 -39
- package/components/ResourceDetail/legacy.vue +47 -29
- package/components/ResourceList/Masthead.vue +222 -54
- package/components/ResourceList/ResourceLoadingIndicator.vue +5 -2
- package/components/ResourceTable.vue +40 -2
- package/components/SideNav.vue +74 -20
- package/components/SingleClusterInfo.vue +2 -1
- package/components/SortableTable/THead.vue +79 -4
- package/components/SortableTable/index.vue +1053 -464
- package/components/SortableTable/paging.js +26 -16
- package/components/SortableTable/selection.js +2 -2
- package/components/Tabbed/Tab.vue +3 -3
- package/components/Tabbed/index.vue +53 -30
- package/components/YamlEditor.vue +0 -1
- package/components/auth/Principal.vue +51 -19
- package/components/auth/RoleDetailEdit.vue +69 -14
- package/components/auth/SelectPrincipal.vue +1 -0
- package/components/breadcrumb/index.vue +119 -0
- package/components/form/ArrayList.vue +177 -152
- package/components/form/ArrayListGrouped.vue +13 -3
- package/components/form/ArrayListSelect.vue +1 -1
- package/components/form/BannerSettings.vue +64 -59
- package/components/form/ChangePassword.vue +5 -5
- package/components/form/ClusterAppearance.vue +4 -3
- package/components/form/ColorInput.vue +32 -8
- package/components/form/Command.vue +4 -5
- package/components/form/Conditions.vue +15 -1
- package/components/form/Footer.vue +12 -8
- package/components/form/HealthCheck.vue +0 -2
- package/components/form/HookOption.vue +87 -58
- package/components/form/InputWithSelect.vue +8 -4
- package/components/form/KeyValue.vue +66 -8
- package/components/form/LabeledSelect.vue +216 -242
- package/components/form/Labels.vue +4 -4
- package/components/form/MatchExpressions.vue +28 -11
- package/components/form/Members/ClusterMembershipEditor.vue +1 -1
- package/components/form/Members/ClusterPermissionsEditor.vue +61 -43
- package/components/form/Members/MembershipEditor.vue +4 -4
- package/components/form/Members/ProjectMembershipEditor.vue +1 -1
- package/components/form/NameNsDescription.vue +62 -22
- package/components/form/Networking.vue +6 -9
- package/components/form/NodeAffinity.vue +29 -28
- package/components/form/Password.vue +16 -7
- package/components/form/PodAffinity.vue +24 -25
- package/components/form/Probe.vue +15 -11
- package/components/form/ProjectMemberEditor.vue +66 -48
- package/components/form/ResourceQuota/Namespace.vue +4 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +26 -23
- package/components/form/ResourceQuota/Project.vue +4 -4
- package/components/form/ResourceQuota/ProjectRow.vue +38 -35
- package/components/form/ResourceSelector.vue +1 -1
- package/components/form/SecretSelector.vue +24 -23
- package/components/form/Security.vue +1 -3
- package/components/form/Select.vue +12 -3
- package/components/form/ServiceNameSelect.vue +2 -5
- package/components/form/ServicePorts.vue +149 -75
- package/components/form/SimpleSecretSelector.vue +29 -9
- package/components/form/Taints.vue +2 -1
- package/components/form/Tolerations.vue +13 -9
- package/components/form/UnitInput.vue +8 -3
- package/components/form/ValueFromResource.vue +110 -96
- package/components/form/WorkloadPorts.vue +143 -123
- package/components/formatter/BadgeStateFormatter.vue +8 -5
- package/components/formatter/LiveDate.vue +3 -3
- package/components/formatter/WorkloadHealthScale.vue +4 -3
- package/components/nav/Favorite.vue +5 -1
- package/components/nav/Group.vue +139 -99
- package/components/nav/Header.vue +138 -164
- package/components/nav/HeaderPageActionMenu.vue +1 -0
- package/components/nav/NamespaceFilter.vue +34 -36
- package/components/nav/TopLevelMenu.vue +62 -25
- package/components/nav/Type.vue +73 -43
- package/composables/useClickOutside.ts +1 -1
- package/config/menuRouteMap.js +10 -0
- package/config/private-label.js +14 -11
- package/config/product/auth.js +17 -7
- package/config/product/explorer.js +32 -10
- package/config/product/manager.js +28 -17
- package/config/product/settings.js +19 -9
- package/config/product/uiplugins.js +13 -10
- package/config/router/navigation-guards/index.js +61 -3
- package/config/settings.ts +28 -0
- package/config/table-headers.js +3 -2
- package/detail/node.vue +28 -23
- package/dialog/AddCustomBadgeDialog.vue +17 -9
- package/dialog/ForceMachineRemoveDialog.vue +2 -2
- package/dialog/RollbackWorkloadDialog.vue +1 -1
- package/dialog/ScalePoolDownDialog.vue +2 -2
- 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/logging-flow/index.vue +1 -2
- package/edit/logging.banzaicloud.io.output/providers/awsElasticsearch.vue +3 -3
- package/edit/logging.banzaicloud.io.output/providers/azurestorage.vue +19 -19
- package/edit/logging.banzaicloud.io.output/providers/cloudwatch.vue +23 -23
- package/edit/logging.banzaicloud.io.output/providers/datadog.vue +19 -19
- package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +14 -14
- package/edit/logging.banzaicloud.io.output/providers/forward.vue +12 -12
- package/edit/logging.banzaicloud.io.output/providers/gcs.vue +23 -23
- package/edit/logging.banzaicloud.io.output/providers/gelf.vue +6 -6
- package/edit/logging.banzaicloud.io.output/providers/kafka.vue +10 -10
- package/edit/logging.banzaicloud.io.output/providers/kinesisStream.vue +8 -8
- package/edit/logging.banzaicloud.io.output/providers/logdna.vue +17 -17
- package/edit/logging.banzaicloud.io.output/providers/logz.vue +7 -7
- package/edit/logging.banzaicloud.io.output/providers/loki.vue +12 -12
- package/edit/logging.banzaicloud.io.output/providers/newrelic.vue +3 -3
- package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +14 -14
- package/edit/logging.banzaicloud.io.output/providers/redis.vue +6 -6
- package/edit/logging.banzaicloud.io.output/providers/s3.vue +23 -23
- package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +13 -13
- package/edit/logging.banzaicloud.io.output/providers/sumologic.vue +2 -2
- package/edit/logging.banzaicloud.io.output/providers/syslog.vue +54 -54
- package/edit/management.cattle.io.user.vue +17 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +19 -19
- package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +50 -26
- package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +36 -12
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/dingding.vue +32 -0
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +6 -6
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/message.vue +52 -0
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/snmp.vue +45 -0
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +1 -1
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/work.vue +31 -0
- package/edit/monitoring.coreos.com.receiver/types/email.vue +6 -6
- package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +10 -10
- package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +5 -5
- package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -4
- package/edit/namespace.vue +1 -2
- 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/token.vue +31 -12
- package/edit/workload/Job.vue +31 -34
- package/edit/workload/Upgrading.vue +5 -5
- package/edit/workload/index.vue +22 -18
- 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/list/management.cattle.io.setting.vue +22 -13
- package/list/management.cattle.io.user.vue +7 -3
- package/list/namespace.vue +3 -0
- package/list/provisioning.cattle.io.cluster.vue +6 -7
- package/mixins/brand.js +17 -0
- 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/account/pri.vue +229 -0
- package/pages/auth/login.vue +216 -51
- package/pages/auth/setup.vue +175 -33
- package/pages/c/_cluster/_product/namespaces.vue +5 -5
- package/pages/c/_cluster/auth/roles/index.vue +83 -8
- 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/c/_cluster/monitoring/monitor/index.vue +2 -2
- package/pages/c/_cluster/settings/banners.vue +174 -102
- package/pages/c/_cluster/settings/brand.vue +350 -302
- package/pages/c/_cluster/settings/performance.vue +61 -38
- package/pages/home.vue +119 -37
- package/pages/prefs.vue +27 -25
- package/pkg/tsconfig.json +9 -9
- package/pkg/vue.config.js +1 -1
- package/plugins/dashboard-store/actions.js +1 -1
- package/plugins/dashboard-store/resource-class.js +28 -27
- package/promptRemove/mixin/roleDeletionCheck.js +2 -2
- package/public/index.html +4 -4
- package/rancher-components/BadgeState/BadgeState.vue +38 -55
- package/rancher-components/Banner/Banner.vue +25 -9
- package/rancher-components/Card/Card.vue +7 -8
- package/rancher-components/Form/Checkbox/Checkbox.vue +4 -0
- package/rancher-components/Form/LabeledInput/LabeledInput.vue +42 -3
- package/rancher-components/Form/Radio/RadioButton.vue +35 -11
- package/rancher-components/Form/Radio/RadioGroup.vue +22 -6
- package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +3 -3
- package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +1 -0
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +41 -4
- package/rancher-components/RcDropdown/RcDropdown.vue +35 -7
- package/rancher-components/RcDropdown/RcDropdownItem.vue +2 -2
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +12 -6
- package/rancher-components/RcDropdown/types.ts +1 -0
- package/rancher-components/StringList/StringList.vue +1 -1
- package/scripts/build-pkg.sh +18 -23
- package/scripts/publish-shell.sh +1 -1
- package/static/favicon.ico +0 -0
- package/static/favicon.png +0 -0
- package/static/loading-indicator.html +3 -3
- package/store/i18n.js +6 -2
- package/store/modal.ts +3 -3
- package/store/prefs.js +11 -4
- package/store/type-map.js +30 -2
- package/types/shell/index.d.ts +86 -97
- package/utils/error.js +109 -8
- package/utils/errorTranslate.json +1740 -0
- package/utils/errorTranslateNew.json +39 -0
- package/utils/roleFiltering.js +33 -0
- package/utils/router.js +21 -0
- package/utils/select.js +26 -3
- package/utils/string.js +8 -5
- package/utils/title.ts +1 -1
- package/vue.config.js +1 -1
|
@@ -913,42 +913,42 @@ export default class Resource {
|
|
|
913
913
|
{
|
|
914
914
|
action: this.canUpdate ? 'goToEdit' : 'goToViewConfig',
|
|
915
915
|
label: this.t(this.canUpdate ? 'action.edit' : 'action.view'),
|
|
916
|
-
icon: 'icon icon-edit',
|
|
916
|
+
// icon: 'icon icon-edit',
|
|
917
917
|
enabled: this.canCustomEdit,
|
|
918
918
|
},
|
|
919
|
-
{
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
},
|
|
919
|
+
// {
|
|
920
|
+
// action: this.canEditYaml ? 'goToEditYaml' : 'goToViewYaml',
|
|
921
|
+
// label: this.t(this.canEditYaml ? 'action.editYaml' : 'action.viewYaml'),
|
|
922
|
+
// icon: 'icon icon-file',
|
|
923
|
+
// enabled: this.canYaml,
|
|
924
|
+
// },
|
|
925
925
|
{
|
|
926
926
|
action: (this.canCustomEdit ? 'goToClone' : 'cloneYaml'),
|
|
927
927
|
label: this.t('action.clone'),
|
|
928
|
-
icon: 'icon icon-copy',
|
|
929
|
-
enabled: this.canClone && this.canCreate && (this.canCustomEdit || this.canYaml),
|
|
930
|
-
},
|
|
931
|
-
{ divider: true },
|
|
932
|
-
{
|
|
933
|
-
action: 'download',
|
|
934
|
-
label: this.t('action.download'),
|
|
935
|
-
icon: 'icon icon-download',
|
|
936
|
-
bulkable: true,
|
|
937
|
-
bulkAction: 'downloadBulk',
|
|
938
|
-
enabled: this.canYaml,
|
|
939
|
-
weight: -9,
|
|
940
|
-
},
|
|
941
|
-
{
|
|
942
|
-
action: 'viewInApi',
|
|
943
|
-
label: this.t('action.viewInApi'),
|
|
944
|
-
icon: 'icon icon-external-link',
|
|
945
|
-
enabled: this.canViewInApi,
|
|
928
|
+
// icon: 'icon icon-copy',
|
|
929
|
+
enabled: this.canClone && this.canCreate && (this.canCustomEdit || this.canYaml)&& this.schema.id!=='event',
|
|
946
930
|
},
|
|
931
|
+
// { divider: true },
|
|
932
|
+
// {
|
|
933
|
+
// action: 'download',
|
|
934
|
+
// label: this.t('action.download'),
|
|
935
|
+
// icon: 'icon icon-download',
|
|
936
|
+
// bulkable: true,
|
|
937
|
+
// bulkAction: 'downloadBulk',
|
|
938
|
+
// enabled: this.canYaml,
|
|
939
|
+
// weight: -9,
|
|
940
|
+
// },
|
|
941
|
+
// {
|
|
942
|
+
// action: 'viewInApi',
|
|
943
|
+
// label: this.t('action.viewInApi'),
|
|
944
|
+
// icon: 'icon icon-external-link',
|
|
945
|
+
// enabled: this.canViewInApi,
|
|
946
|
+
// },
|
|
947
947
|
{
|
|
948
948
|
action: 'promptRemove',
|
|
949
949
|
altAction: 'remove',
|
|
950
950
|
label: this.t('action.remove'),
|
|
951
|
-
icon: 'icon icon-trash',
|
|
951
|
+
// icon: 'icon icon-trash',
|
|
952
952
|
bulkable: true,
|
|
953
953
|
enabled: this.canDelete,
|
|
954
954
|
bulkAction: 'promptRemove',
|
|
@@ -1322,7 +1322,8 @@ export default class Resource {
|
|
|
1322
1322
|
}
|
|
1323
1323
|
|
|
1324
1324
|
get detailLocation() {
|
|
1325
|
-
|
|
1325
|
+
let location = this._detailLocation;
|
|
1326
|
+
return location;
|
|
1326
1327
|
}
|
|
1327
1328
|
|
|
1328
1329
|
goToDetail() {
|
|
@@ -92,10 +92,10 @@ export default {
|
|
|
92
92
|
this.info = '';
|
|
93
93
|
this.warning = this.t('rbac.globalRoles.usersBound', { count: uniqueUsersWithBinds.size });
|
|
94
94
|
} else {
|
|
95
|
-
this.info = this.t('rbac.globalRoles.notBound'
|
|
95
|
+
this.info = this.t('rbac.globalRoles.notBound');
|
|
96
96
|
}
|
|
97
97
|
} else {
|
|
98
|
-
this.info = this.t('rbac.globalRoles.notBound'
|
|
98
|
+
this.info = this.t('rbac.globalRoles.notBound');
|
|
99
99
|
}
|
|
100
100
|
} catch (e) {
|
|
101
101
|
this.info = this.t('rbac.globalRoles.unableToCheck');
|
package/public/index.html
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
7
7
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
|
8
8
|
<link rel="shortcut icon" type="image/x-icon" href="/favicon.png">
|
|
9
|
-
<title
|
|
9
|
+
<title>云翼云管平台</title>
|
|
10
10
|
</head>
|
|
11
11
|
|
|
12
12
|
<body>
|
|
@@ -49,11 +49,11 @@
|
|
|
49
49
|
|
|
50
50
|
.initial-load-spinner {
|
|
51
51
|
animation: initial-load-animate 1s infinite linear;
|
|
52
|
-
background-color:
|
|
52
|
+
background-color: transparent;
|
|
53
53
|
box-sizing: border-box;
|
|
54
|
-
border: 5px solid #
|
|
54
|
+
border: 5px solid #1890FF;
|
|
55
55
|
border-radius: 50%;
|
|
56
|
-
border-top-color:
|
|
56
|
+
border-top-color: transparent;
|
|
57
57
|
display: inline-block;
|
|
58
58
|
height: 80px;
|
|
59
59
|
margin: 0 auto;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { PropType, defineComponent } from 'vue';
|
|
3
|
+
import { mapGetters } from 'vuex';
|
|
3
4
|
|
|
4
5
|
interface Badge {
|
|
5
6
|
stateBackground: string;
|
|
@@ -47,74 +48,56 @@ export default defineComponent({
|
|
|
47
48
|
},
|
|
48
49
|
|
|
49
50
|
computed: {
|
|
51
|
+
...mapGetters({ t: 'i18n/t' }),
|
|
50
52
|
bg(): string | null {
|
|
51
53
|
return this.value?.stateBackground || this.color;
|
|
52
54
|
},
|
|
53
55
|
|
|
54
56
|
msg(): string | null {
|
|
55
|
-
|
|
57
|
+
let text = this.value?.stateDisplay || this.label;
|
|
58
|
+
let zhText = this.t(`stateLabel.${ text }`)
|
|
59
|
+
return zhText ? zhText : text
|
|
56
60
|
}
|
|
57
61
|
}
|
|
58
62
|
});
|
|
59
63
|
</script>
|
|
60
64
|
|
|
61
65
|
<template>
|
|
62
|
-
<
|
|
63
|
-
<
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
/>
|
|
68
|
-
<span class="msg">{{ msg }}</span>
|
|
69
|
-
<slot name="content-right" />
|
|
70
|
-
</span>
|
|
66
|
+
<div style="display: flex;flex-direction: row;align-items: center;font-size: 12px;">
|
|
67
|
+
<div :class="{ [bg]: true }"></div>
|
|
68
|
+
<span style="margin-left: 5px;">{{ msg }}</span>
|
|
69
|
+
|
|
70
|
+
</div>
|
|
71
71
|
</template>
|
|
72
|
-
|
|
73
72
|
<style lang="scss" scoped>
|
|
74
|
-
.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
border:
|
|
79
|
-
border-radius: 20px;
|
|
80
|
-
|
|
81
|
-
&.bg-info {
|
|
82
|
-
border-color: var(--info);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
&.bg-error {
|
|
86
|
-
border-color: var(--error);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
&.bg-warning {
|
|
90
|
-
border-color: var(--warning);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// Successful states are de-emphasized by using [text-]color instead of background-color
|
|
94
|
-
&.bg-success {
|
|
95
|
-
color: var(--success);
|
|
96
|
-
background: transparent;
|
|
97
|
-
border-color: var(--success);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// Added badge-disabled instead of bg-disabled since bg-disabled is used in other places with !important styling, an investigation is needed to make the naming consistent
|
|
101
|
-
&.badge-disabled {
|
|
102
|
-
color: var(--badge-state-disabled-text);
|
|
103
|
-
background-color: var( --badge-state-disabled-bg);
|
|
104
|
-
border: 1px solid var(--badge-state-disabled-border);
|
|
105
|
-
}
|
|
73
|
+
.bg-error {
|
|
74
|
+
width: 10px; /* 圆点的宽度 */
|
|
75
|
+
height: 10px; /* 圆点的高度 */
|
|
76
|
+
background-color: #DD0C17; /* 圆点的颜色 */
|
|
77
|
+
border-radius: 50%; /* 设置为圆形 */
|
|
106
78
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
79
|
+
.bg-darker {
|
|
80
|
+
width: 10px; /* 圆点的宽度 */
|
|
81
|
+
height: 10px; /* 圆点的高度 */
|
|
82
|
+
background-color: #DD0C17; /* 圆点的颜色 */
|
|
83
|
+
border-radius: 50%; /* 设置为圆形 */
|
|
84
|
+
}
|
|
85
|
+
.bg-success {
|
|
86
|
+
width: 10px; /* 圆点的宽度 */
|
|
87
|
+
height: 10px; /* 圆点的高度 */
|
|
88
|
+
background-color: #95F204 !important; /* 圆点的颜色 */
|
|
89
|
+
border-radius: 50%; /* 设置为圆形 */
|
|
90
|
+
}
|
|
91
|
+
.bg-warning {
|
|
92
|
+
width: 10px; /* 圆点的宽度 */
|
|
93
|
+
height: 10px; /* 圆点的高度 */
|
|
94
|
+
background-color: #DAC342; /* 圆点的颜色 */
|
|
95
|
+
border-radius: 50%; /* 设置为圆形 */
|
|
96
|
+
}
|
|
97
|
+
.bg-info {
|
|
98
|
+
width: 10px; /* 圆点的宽度 */
|
|
99
|
+
height: 10px; /* 圆点的高度 */
|
|
100
|
+
background-color: #1890FF; /* 圆点的颜色 */
|
|
101
|
+
border-radius: 50%; /* 设置为圆形 */
|
|
119
102
|
}
|
|
120
103
|
</style>
|
|
@@ -78,7 +78,16 @@ export default defineComponent({
|
|
|
78
78
|
* Return message text as label.
|
|
79
79
|
*/
|
|
80
80
|
messageLabel(): string | void {
|
|
81
|
-
|
|
81
|
+
|
|
82
|
+
let labelStr = this.label
|
|
83
|
+
|
|
84
|
+
if (labelStr === 'waiting for api to be available') {
|
|
85
|
+
labelStr = '等待api可用'
|
|
86
|
+
} else if (labelStr === 'Cluster agent is not connected') {
|
|
87
|
+
labelStr = '集群agent未连接'
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return !(typeof labelStr === 'string') ? stringify(labelStr) : undefined;
|
|
82
91
|
},
|
|
83
92
|
},
|
|
84
93
|
methods: { nlToBr }
|
|
@@ -154,11 +163,17 @@ export default defineComponent({
|
|
|
154
163
|
$left-border-size: 4px;
|
|
155
164
|
$icon-size: 24px;
|
|
156
165
|
|
|
166
|
+
.banner__content {
|
|
167
|
+
line-height: 18px !important;
|
|
168
|
+
}
|
|
169
|
+
|
|
157
170
|
.banner {
|
|
158
171
|
display: flex;
|
|
159
|
-
margin: 15px 0;
|
|
172
|
+
/* margin: 15px 0; */
|
|
173
|
+
margin: 0px 0px 20px 0px;
|
|
160
174
|
position: relative;
|
|
161
175
|
width: 100%;
|
|
176
|
+
min-height: 32px;
|
|
162
177
|
color: var(--body-text);
|
|
163
178
|
|
|
164
179
|
&__icon {
|
|
@@ -195,18 +210,18 @@ $icon-size: 24px;
|
|
|
195
210
|
}
|
|
196
211
|
}
|
|
197
212
|
|
|
198
|
-
&.banner-disabled {
|
|
199
|
-
filter: grayscale(1);
|
|
200
|
-
}
|
|
201
|
-
|
|
202
213
|
&__content {
|
|
203
|
-
padding: 10px;
|
|
214
|
+
padding: 2px 10px;
|
|
204
215
|
transition: all 0.2s ease;
|
|
205
|
-
line-height:
|
|
216
|
+
line-height: 12px;
|
|
206
217
|
width: 100%;
|
|
207
218
|
border-left: solid $left-border-size transparent;
|
|
208
219
|
display: flex;
|
|
209
220
|
gap: 3px;
|
|
221
|
+
min-height: 32px;
|
|
222
|
+
align-items: center;
|
|
223
|
+
word-wrap:break-word;
|
|
224
|
+
word-break:break-all;
|
|
210
225
|
|
|
211
226
|
.primary & {
|
|
212
227
|
background: var(--primary);
|
|
@@ -224,7 +239,8 @@ $icon-size: 24px;
|
|
|
224
239
|
}
|
|
225
240
|
|
|
226
241
|
.info & {
|
|
227
|
-
background: var(--info-banner-bg);
|
|
242
|
+
// background: var(--info-banner-bg);
|
|
243
|
+
background: #f2f2f2;
|
|
228
244
|
border-color: var(--info);
|
|
229
245
|
}
|
|
230
246
|
|
|
@@ -76,7 +76,7 @@ export default defineComponent({
|
|
|
76
76
|
<template>
|
|
77
77
|
<div
|
|
78
78
|
id="focus-trap-card-container-element"
|
|
79
|
-
class="card-
|
|
79
|
+
class="card-containers"
|
|
80
80
|
:class="{'highlight-border': showHighlightBorder, 'card-sticky': sticky}"
|
|
81
81
|
data-testid="card"
|
|
82
82
|
>
|
|
@@ -89,7 +89,7 @@ export default defineComponent({
|
|
|
89
89
|
{{ title }}
|
|
90
90
|
</slot>
|
|
91
91
|
</div>
|
|
92
|
-
<hr role="none">
|
|
92
|
+
<!-- <hr role="none"> -->
|
|
93
93
|
<div
|
|
94
94
|
class="card-body"
|
|
95
95
|
data-testid="card-body-slot"
|
|
@@ -117,17 +117,15 @@ export default defineComponent({
|
|
|
117
117
|
</template>
|
|
118
118
|
|
|
119
119
|
<style lang='scss'>
|
|
120
|
-
.card-
|
|
120
|
+
.card-containers {
|
|
121
121
|
&.highlight-border {
|
|
122
122
|
border-left: 5px solid var(--primary);
|
|
123
123
|
}
|
|
124
|
-
border-radius: var(--border-radius);
|
|
125
124
|
display: flex;
|
|
126
125
|
flex-basis: 40%;
|
|
127
|
-
margin: 10px;
|
|
128
126
|
min-height: 100px;
|
|
129
|
-
padding:
|
|
130
|
-
|
|
127
|
+
padding: 24px;
|
|
128
|
+
border: 1px solid var(--border);
|
|
131
129
|
&:not(.top) {
|
|
132
130
|
align-items: top;
|
|
133
131
|
flex-direction: row;
|
|
@@ -143,14 +141,15 @@ export default defineComponent({
|
|
|
143
141
|
justify-content: center;
|
|
144
142
|
}
|
|
145
143
|
& .card-actions {
|
|
146
|
-
align-self: end;
|
|
147
144
|
display: flex;
|
|
145
|
+
justify-content: flex-end;
|
|
148
146
|
padding-top: 20px;
|
|
149
147
|
}
|
|
150
148
|
& .card-title {
|
|
151
149
|
align-items: center;
|
|
152
150
|
display: flex;
|
|
153
151
|
width: 100%;
|
|
152
|
+
margin-bottom: 15px;
|
|
154
153
|
h5 {
|
|
155
154
|
margin: 0;
|
|
156
155
|
}
|
|
@@ -317,6 +317,7 @@ export default defineComponent({
|
|
|
317
317
|
<span
|
|
318
318
|
v-else-if="label"
|
|
319
319
|
:id="idForLabel"
|
|
320
|
+
:style="label == '记住用户名' ? { color: '#fff' } : ''"
|
|
320
321
|
>{{ label }}</span>
|
|
321
322
|
<i
|
|
322
323
|
v-if="tooltipKey"
|
|
@@ -497,6 +498,9 @@ $fontColor: var(--input-label);
|
|
|
497
498
|
|
|
498
499
|
// Disabled styles
|
|
499
500
|
&.disabled {
|
|
501
|
+
span {
|
|
502
|
+
color: var(--muted);
|
|
503
|
+
}
|
|
500
504
|
.checkbox-custom {
|
|
501
505
|
background-color: var(--checkbox-disabled-bg);
|
|
502
506
|
border-color: var(--checkbox-disabled-bg);
|
|
@@ -4,6 +4,7 @@ import TextAreaAutoGrow from '@components/Form/TextArea/TextAreaAutoGrow.vue';
|
|
|
4
4
|
import LabeledTooltip from '@components/LabeledTooltip/LabeledTooltip.vue';
|
|
5
5
|
import { escapeHtml, generateRandomAlphaString } from '@shell/utils/string';
|
|
6
6
|
import cronstrue from 'cronstrue';
|
|
7
|
+
import 'cronstrue/locales/zh_CN';
|
|
7
8
|
import { isValidCron } from 'cron-validator';
|
|
8
9
|
import { debounce } from 'lodash';
|
|
9
10
|
import { useLabeledFormElement, labeledFormElementProps } from '@shell/composables/useLabeledFormElement';
|
|
@@ -226,7 +227,8 @@ export default defineComponent({
|
|
|
226
227
|
}
|
|
227
228
|
|
|
228
229
|
try {
|
|
229
|
-
const hint = cronstrue.toString(this.value as string || '', { verbose: true });
|
|
230
|
+
// const hint = cronstrue.toString(this.value as string || '', { verbose: true });
|
|
231
|
+
const hint = cronstrue.toString(this.value as string || '', { locale: 'zh_CN' });
|
|
230
232
|
|
|
231
233
|
return hint;
|
|
232
234
|
} catch (e) {
|
|
@@ -347,6 +349,24 @@ export default defineComponent({
|
|
|
347
349
|
</script>
|
|
348
350
|
|
|
349
351
|
<template>
|
|
352
|
+
<div class="label-input-all">
|
|
353
|
+
<slot name="label">
|
|
354
|
+
<label
|
|
355
|
+
v-if="hasLabel"
|
|
356
|
+
:for="inputId"
|
|
357
|
+
>
|
|
358
|
+
<t
|
|
359
|
+
v-if="labelKey"
|
|
360
|
+
:k="labelKey"
|
|
361
|
+
/>
|
|
362
|
+
<template v-else-if="label">{{ label }}</template>
|
|
363
|
+
|
|
364
|
+
<span
|
|
365
|
+
v-if="requiredField"
|
|
366
|
+
class="required"
|
|
367
|
+
>*</span>
|
|
368
|
+
</label>
|
|
369
|
+
</slot>
|
|
350
370
|
<div
|
|
351
371
|
:class="{
|
|
352
372
|
'labeled-input': true,
|
|
@@ -361,7 +381,7 @@ export default defineComponent({
|
|
|
361
381
|
[className]: true
|
|
362
382
|
}"
|
|
363
383
|
>
|
|
364
|
-
<slot name="label">
|
|
384
|
+
<!-- <slot name="label">
|
|
365
385
|
<label
|
|
366
386
|
v-if="hasLabel"
|
|
367
387
|
:for="inputId"
|
|
@@ -378,7 +398,7 @@ export default defineComponent({
|
|
|
378
398
|
:aria-hidden="true"
|
|
379
399
|
>*</span>
|
|
380
400
|
</label>
|
|
381
|
-
</slot>
|
|
401
|
+
</slot> -->
|
|
382
402
|
|
|
383
403
|
<slot name="prefix" />
|
|
384
404
|
|
|
@@ -462,6 +482,8 @@ export default defineComponent({
|
|
|
462
482
|
/>
|
|
463
483
|
</div>
|
|
464
484
|
</div>
|
|
485
|
+
<slot name="suffixNew" />
|
|
486
|
+
</div>
|
|
465
487
|
</template>
|
|
466
488
|
<style scoped lang="scss">
|
|
467
489
|
.labeled-input.view {
|
|
@@ -484,6 +506,23 @@ export default defineComponent({
|
|
|
484
506
|
-moz-appearance: textfield;
|
|
485
507
|
}
|
|
486
508
|
}
|
|
509
|
+
.label-input-all{
|
|
510
|
+
display: flex;
|
|
511
|
+
label{
|
|
512
|
+
width: 160px !important;
|
|
513
|
+
line-height: 32px;
|
|
514
|
+
.required{
|
|
515
|
+
color: red;
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
.span-4 {
|
|
520
|
+
width: none;
|
|
521
|
+
}
|
|
522
|
+
.v-popper--has-tooltip INPUT, .v-popper--has-tooltip INPUT:hover, .v-popper--has-tooltip INPUT:focus{
|
|
523
|
+
padding: 0px 0px 0px 11px;
|
|
524
|
+
}
|
|
525
|
+
|
|
487
526
|
</style>
|
|
488
527
|
<style>
|
|
489
528
|
.validation-message {
|
|
@@ -198,7 +198,7 @@ export default defineComponent({
|
|
|
198
198
|
>
|
|
199
199
|
<!-- slot content -->
|
|
200
200
|
</slot>
|
|
201
|
-
<
|
|
201
|
+
<div
|
|
202
202
|
v-else-if="label"
|
|
203
203
|
v-clean-html="label"
|
|
204
204
|
/>
|
|
@@ -264,18 +264,25 @@ $fontColor: var(--input-label);
|
|
|
264
264
|
&.disabled,
|
|
265
265
|
&.disabled .radio-label,
|
|
266
266
|
&.disabled .radio-button-outer-container-description {
|
|
267
|
-
cursor: not-allowed
|
|
267
|
+
cursor: not-allowed;
|
|
268
|
+
color: var(--muted);
|
|
268
269
|
}
|
|
269
270
|
|
|
270
|
-
|
|
271
|
-
height:
|
|
272
|
-
width:
|
|
273
|
-
min-height:
|
|
274
|
-
min-width:
|
|
271
|
+
.radio-custom {
|
|
272
|
+
height: 12px;
|
|
273
|
+
width: 12px;
|
|
274
|
+
min-height: 13px;
|
|
275
|
+
min-width: 13px;
|
|
275
276
|
background-color: var(--input-bg);
|
|
276
277
|
border-radius: 50%;
|
|
278
|
+
transition: all 0.3s ease-out;
|
|
277
279
|
border: 1.5px solid var(--border);
|
|
278
|
-
margin-top:
|
|
280
|
+
margin-top: 3px !important;
|
|
281
|
+
|
|
282
|
+
&:focus {
|
|
283
|
+
outline: none;
|
|
284
|
+
border-radius: 50%;
|
|
285
|
+
}
|
|
279
286
|
}
|
|
280
287
|
|
|
281
288
|
input {
|
|
@@ -284,20 +291,37 @@ $fontColor: var(--input-label);
|
|
|
284
291
|
|
|
285
292
|
.radio-custom {
|
|
286
293
|
&[aria-checked="true"] {
|
|
287
|
-
background-color:
|
|
294
|
+
background-color: #fff;
|
|
288
295
|
-webkit-transform: rotate(0deg) scale(1);
|
|
289
296
|
-ms-transform: rotate(0deg) scale(1);
|
|
290
297
|
transform: rotate(0deg) scale(1);
|
|
291
298
|
opacity:1;
|
|
292
299
|
border: 1.5px solid var(--primary);
|
|
300
|
+
display: flex;
|
|
301
|
+
align-items: center;
|
|
302
|
+
justify-content: center;
|
|
303
|
+
|
|
293
304
|
|
|
305
|
+
&::after {
|
|
306
|
+
background-color: var(--primary);
|
|
307
|
+
width: 7px;
|
|
308
|
+
height: 7px;
|
|
309
|
+
display: inline;
|
|
310
|
+
content: "";
|
|
311
|
+
/* position: absolute; */
|
|
312
|
+
/* top: 17%;
|
|
313
|
+
left: 19%;
|
|
314
|
+
margin-left: 0.4px; */
|
|
315
|
+
/* top: 1.5px;
|
|
316
|
+
left: 1.5px; */
|
|
317
|
+
border-radius: 50%;
|
|
318
|
+
}
|
|
294
319
|
// Ensure that checked radio buttons are muted but still visibly selected when muted
|
|
295
320
|
&.text-muted {
|
|
296
321
|
opacity: .25;
|
|
297
322
|
}
|
|
298
323
|
}
|
|
299
324
|
}
|
|
300
|
-
|
|
301
325
|
input:disabled ~ .radio-custom:not([aria-checked="true"]) {
|
|
302
326
|
background-color: var(--disabled-bg);
|
|
303
327
|
opacity: .25;
|
|
@@ -313,7 +337,7 @@ $fontColor: var(--input-label);
|
|
|
313
337
|
display: inline-flex;
|
|
314
338
|
flex-direction: column;
|
|
315
339
|
|
|
316
|
-
margin: 3px
|
|
340
|
+
margin: 3px 16px 0px 5px;
|
|
317
341
|
}
|
|
318
342
|
}
|
|
319
343
|
|
|
@@ -102,6 +102,11 @@ export default defineComponent({
|
|
|
102
102
|
row: {
|
|
103
103
|
type: Boolean,
|
|
104
104
|
default: false
|
|
105
|
+
},
|
|
106
|
+
|
|
107
|
+
flexDirection: {
|
|
108
|
+
type: String,
|
|
109
|
+
default: 'row'
|
|
105
110
|
}
|
|
106
111
|
},
|
|
107
112
|
|
|
@@ -237,14 +242,14 @@ export default defineComponent({
|
|
|
237
242
|
</script>
|
|
238
243
|
|
|
239
244
|
<template>
|
|
240
|
-
<div>
|
|
245
|
+
<div style="display: flex;">
|
|
241
246
|
<!-- Label -->
|
|
242
247
|
<div
|
|
243
248
|
v-if="label || labelKey || tooltip || tooltipKey || $slots.label"
|
|
244
|
-
class="radio-group label"
|
|
249
|
+
class="radio-group label radio-group-labelBox"
|
|
245
250
|
>
|
|
246
251
|
<slot name="label">
|
|
247
|
-
<
|
|
252
|
+
<span class="radio-group-title">
|
|
248
253
|
<t
|
|
249
254
|
v-if="labelKey"
|
|
250
255
|
:k="labelKey"
|
|
@@ -262,7 +267,7 @@ export default defineComponent({
|
|
|
262
267
|
v-clean-tooltip="tooltip"
|
|
263
268
|
class="icon icon-info icon-lg"
|
|
264
269
|
/>
|
|
265
|
-
</
|
|
270
|
+
</span>
|
|
266
271
|
</slot>
|
|
267
272
|
</div>
|
|
268
273
|
|
|
@@ -274,7 +279,7 @@ export default defineComponent({
|
|
|
274
279
|
:aria-describedby="radioGroupAriaDescribedBy"
|
|
275
280
|
:aria-activedescendant="ariaActiveDescendant"
|
|
276
281
|
class="radio-group"
|
|
277
|
-
:class="{'row':row}"
|
|
282
|
+
:class="{'row':row, 'flexDirection': flexDirection === 'column'}"
|
|
278
283
|
:tabindex="isDisabled ? -1 : 0"
|
|
279
284
|
:aria-disabled="isDisabled"
|
|
280
285
|
@keydown.down.prevent.stop="clickNext(1)"
|
|
@@ -312,6 +317,9 @@ export default defineComponent({
|
|
|
312
317
|
</template>
|
|
313
318
|
|
|
314
319
|
<style lang='scss'>
|
|
320
|
+
.flexDirection {
|
|
321
|
+
flex-direction: column;
|
|
322
|
+
}
|
|
315
323
|
.radio-group {
|
|
316
324
|
&:focus, &:focus-visible {
|
|
317
325
|
border: none;
|
|
@@ -334,7 +342,15 @@ export default defineComponent({
|
|
|
334
342
|
}
|
|
335
343
|
|
|
336
344
|
.label{
|
|
337
|
-
font-size:
|
|
345
|
+
font-size: 12px !important;
|
|
338
346
|
}
|
|
339
347
|
}
|
|
348
|
+
.radio-group-title{
|
|
349
|
+
font-size: 12px !important;
|
|
350
|
+
margin-bottom: 0px !important;
|
|
351
|
+
display: inline-block;
|
|
352
|
+
}
|
|
353
|
+
.radio-group-labelBox {
|
|
354
|
+
width: 160px;
|
|
355
|
+
}
|
|
340
356
|
</style>
|
|
@@ -108,7 +108,7 @@ export default defineComponent({
|
|
|
108
108
|
* (unless the input is long)
|
|
109
109
|
*/
|
|
110
110
|
style(): string {
|
|
111
|
-
return `height: ${ this.curHeight }px; overflow: ${ this.overflow };`;
|
|
111
|
+
return `height: ${ this.curHeight }px; overflow: ${ this.overflow };min-height:${ this.curHeight }px;`;
|
|
112
112
|
},
|
|
113
113
|
|
|
114
114
|
className(): string | unknown[] | Record<string, boolean> {
|
|
@@ -165,13 +165,13 @@ export default defineComponent({
|
|
|
165
165
|
return;
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
-
el.style.height = '1px';
|
|
168
|
+
// el.style.height = '1px';
|
|
169
169
|
|
|
170
170
|
const border = parseInt(getComputedStyle(el).getPropertyValue('borderTopWidth'), 10) || 0 + parseInt(getComputedStyle(el).getPropertyValue('borderBottomWidth'), 10) || 0;
|
|
171
171
|
const neu = Math.max(this.minHeight, Math.min(el.scrollHeight + border, this.maxHeight));
|
|
172
172
|
|
|
173
173
|
el.style.overflowY = el.scrollHeight > neu ? 'auto' : 'hidden';
|
|
174
|
-
el.style.height = `${ neu }px`;
|
|
174
|
+
// el.style.height = `${ neu }px`;
|
|
175
175
|
|
|
176
176
|
this.curHeight = neu;
|
|
177
177
|
}
|