dashboard-shell-shell 1.0.121 → 1.0.1000000081
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/.DS_Store +0 -0
- package/assets/brand/harvester/favicon.png +0 -0
- package/assets/brand/suse/favicon.png +0 -0
- package/assets/icons/iconfont.css +19 -3
- package/assets/icons/iconfont.js +1 -1
- package/assets/icons/iconfont.json +28 -0
- package/assets/icons/iconfont.ttf +0 -0
- package/assets/icons/iconfont.woff +0 -0
- package/assets/icons/iconfont.woff2 +0 -0
- package/assets/images/pl/half-logo.svg +2 -23
- package/assets/styles/base/_functions.scss +0 -0
- package/assets/styles/base/_mixins.scss +0 -0
- package/assets/styles/base/_variables.scss +1 -1
- package/assets/styles/global/_labeled-input.scss +0 -1
- package/assets/styles/global/_layout.scss +1 -1
- package/assets/styles/global/_select.scss +4 -2
- package/assets/styles/global/_table.scss +5 -0
- package/assets/styles/vendor/vue-select.scss +2 -1
- package/assets/translations/en-us.yaml +1 -1
- package/assets/translations/zh-hans.yaml +25 -15
- package/chart/monitoring/index.vue +3 -1
- package/chart/monitoring/prometheus/index.vue +13 -10
- package/cloud-credential/aws.vue +2 -0
- package/components/ActionDropdown.vue +1 -1
- package/components/ActionDropdownShell.vue +71 -0
- package/components/ActionMenu.vue +2 -2
- package/components/ActionMenuShell.vue +3 -0
- package/components/AppModal.vue +84 -8
- package/components/AssignTo.vue +25 -11
- package/components/AsyncButton.vue +24 -7
- package/components/BannerGraphic.vue +1 -0
- package/components/ButtonDropdown.vue +26 -4
- package/components/ButtonGroup.vue +4 -0
- package/components/ButtonMultiAction.vue +1 -0
- package/components/CodeMirror.vue +19 -6
- package/components/CommunityLinks.vue +3 -3
- package/components/ConsumptionGauge.vue +24 -5
- package/components/CopyToClipboardText.vue +2 -1
- package/components/CruResource.vue +13 -7
- package/components/CruResourceFooter.vue +2 -2
- package/components/DashboardOptions.vue +29 -17
- package/components/DetailText.vue +5 -0
- package/components/DisableAuthProviderModal.vue +1 -0
- package/components/DotState.vue +84 -0
- package/components/ExplorerMembers.vue +1 -1
- package/components/ExplorerProjectsNamespaces.vue +89 -16
- package/components/FixedBanner.vue +19 -12
- package/components/GlobalRoleBindings.vue +5 -1
- package/components/GrafanaDashboard.vue +4 -4
- package/components/GrowlManager.vue +4 -1
- package/components/HardwareResourceGauge.vue +39 -3
- package/components/InfoBox.vue +3 -3
- package/components/InputOrDisplay.vue +28 -2
- package/components/LabelValue.vue +20 -1
- package/components/LandingPagePreference.vue +5 -3
- package/components/LocaleSelector.vue +39 -93
- package/components/ModalManager.vue +55 -0
- package/components/ModalWithCard.vue +13 -3
- package/components/MoveModal.vue +1 -0
- package/components/PodSecurityAdmission.vue +1 -1
- package/components/PromptChangePassword.vue +1 -1
- package/components/PromptModal.vue +16 -3
- package/components/PromptRemove.vue +29 -9
- package/components/PromptRestore.vue +1 -0
- package/components/ResourceCancelModal.vue +1 -0
- package/components/ResourceDetail/Masthead.vue +52 -17
- package/components/ResourceDetail/__tests__/Masthead.test.ts +5 -1
- package/components/ResourceDetail/index.vue +54 -16
- package/components/ResourceList/Masthead.vue +9 -4
- package/components/ResourceList/index.vue +4 -3
- package/components/ResourceTable.vue +1 -0
- package/components/SideNav.vue +20 -15
- package/components/SlideInPanelManager.vue +126 -0
- package/components/SortableTable/THead.vue +10 -4
- package/components/SortableTable/actions.js +1 -1
- package/components/SortableTable/index.vue +540 -554
- package/components/SortableTable/selection.js +2 -13
- package/components/StatusBadge.vue +77 -0
- package/components/Tabbed/Tab.vue +3 -3
- package/components/Tabbed/index.vue +47 -29
- package/components/Wizard.vue +2 -2
- package/components/YamlEditor.vue +1 -1
- package/components/__tests__/AsyncButton.test.ts +2 -2
- package/components/__tests__/FixedBanner.test.ts +3 -3
- package/components/__tests__/ModalManager.spec.ts +176 -0
- package/components/__tests__/SlideInPanelManager.spec.ts +166 -0
- package/components/auth/Principal.vue +10 -3
- package/components/auth/RoleDetailEdit.vue +1 -1
- package/components/auth/__tests__/RoleDetailEdit.test.ts +3 -2
- package/components/form/ArrayList.vue +123 -85
- package/components/form/ArrayListGrouped.vue +10 -2
- package/components/form/ArrayListSelect.vue +1 -1
- package/components/form/Command.vue +6 -15
- package/components/form/EnvVars.vue +16 -8
- package/components/form/Footer.vue +10 -7
- package/components/form/HealthCheck.vue +3 -3
- package/components/form/HookOption.vue +11 -16
- package/components/form/InputWithSelect.vue +6 -5
- package/components/form/KeyValue.vue +39 -10
- package/components/form/LabeledSelect.vue +73 -77
- package/components/form/Labels.vue +6 -3
- package/components/form/LifecycleHooks.vue +3 -3
- package/components/form/MatchExpressions.vue +42 -17
- package/components/form/NameNsDescription.vue +163 -116
- package/components/form/Networking.vue +20 -12
- package/components/form/NodeAffinity.vue +31 -23
- package/components/form/NodeScheduling.vue +13 -3
- package/components/form/Password.vue +11 -5
- package/components/form/PodAffinity.vue +47 -48
- package/components/form/Probe.vue +68 -66
- package/components/form/ResourceQuota/Namespace.vue +4 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +5 -7
- package/components/form/ResourceQuota/Project.vue +9 -5
- package/components/form/ResourceQuota/ProjectRow.vue +4 -6
- package/components/form/ResourceSelector.vue +7 -9
- package/components/form/SSHKnownHosts/KnownHostsEditDialog.vue +6 -3
- package/components/form/SSHKnownHosts/__tests__/KnownHostsEditDialog.test.ts +12 -1
- package/components/form/SSHKnownHosts/index.vue +16 -2
- package/components/form/Security.vue +54 -56
- package/components/form/Select.vue +44 -7
- package/components/form/ShellInput.vue +5 -1
- package/components/form/SimpleSecretSelector.vue +29 -9
- package/components/form/Tolerations.vue +5 -1
- package/components/form/UnitInput.vue +10 -5
- package/components/form/ValueFromResource.vue +134 -121
- package/components/form/WorkloadPorts.vue +18 -18
- package/components/form/__tests__/ArrayList.test.ts +5 -2
- package/components/form/__tests__/MatchExpressions.test.ts +12 -12
- package/components/form/__tests__/NameNsDescription.test.ts +115 -14
- package/components/form/__tests__/Probe.test.ts +12 -8
- package/components/form/__tests__/SSHKnownHosts.test.ts +11 -0
- package/components/form/__tests__/Select.test.ts +37 -0
- package/components/form/__tests__/UnitInput.test.ts +4 -5
- package/components/formatter/BadgeStateFormatter.vue +8 -5
- package/components/formatter/InternalExternalIP.vue +2 -0
- package/components/formatter/LiveDate.vue +3 -3
- package/components/formatter/SecretData.vue +20 -7
- package/components/nav/Favorite.vue +5 -1
- package/components/nav/Group.vue +18 -4
- package/components/nav/Header.vue +39 -13
- package/components/nav/Jump.vue +7 -0
- package/components/nav/NamespaceFilter.vue +21 -11
- package/components/nav/Pinned.vue +1 -1
- package/components/nav/TopLevelMenu.vue +5 -17
- package/components/nav/Type.vue +30 -33
- package/components/nav/__tests__/TopLevelMenu.test.ts +0 -40
- package/components/rancherResourceDetail/Masthead.vue +769 -0
- package/components/rancherResourceDetail/__tests__/Masthead.test.ts +65 -0
- package/components/rancherResourceDetail/index.vue +591 -0
- package/components/rancherResourceList/Masthead-btn.vue +225 -0
- package/components/rancherResourceList/Masthead.vue +375 -0
- package/components/rancherResourceList/ResourceLoadingIndicator.vue +140 -0
- package/components/rancherResourceList/index.vue +307 -0
- package/components/rancherResourceList/resource-list.config.js +7 -0
- package/components/rancherResourceTable.vue +783 -0
- package/components/rancherSortableTable/THead.vue +561 -0
- package/components/rancherSortableTable/actions.js +153 -0
- package/components/rancherSortableTable/advanced-filtering.js +272 -0
- package/components/rancherSortableTable/debug.js +117 -0
- package/components/rancherSortableTable/filtering.js +290 -0
- package/components/rancherSortableTable/grouping.js +48 -0
- package/components/rancherSortableTable/index.vue +2712 -0
- package/components/rancherSortableTable/paging.js +155 -0
- package/components/rancherSortableTable/selection.js +629 -0
- package/components/rancherSortableTable/sortable-config.ts +4 -0
- package/components/rancherSortableTable/sorting.js +129 -0
- package/components/templates/blank.vue +4 -1
- package/components/templates/default.vue +8 -0
- package/components/templates/home.vue +10 -1
- package/components/templates/plain.vue +10 -1
- package/composables/focusTrap.ts +11 -3
- package/composables/useRuntimeFlag.ts +29 -0
- package/config/private-label.js +15 -10
- package/config/router/routes.js +21 -13
- package/config/store.js +4 -0
- package/config/table-headers.js +3 -2
- package/config/uiplugins.js +5 -1
- package/core/plugin-routes.ts +5 -115
- package/core/plugins.js +1 -1
- package/core/types.ts +23 -2
- package/detail/__tests__/autoscaling.horizontalpodautoscaler.test.ts +84 -23
- package/detail/autoscaling.horizontalpodautoscaler/index.vue +13 -3
- package/detail/provisioning.cattle.io.cluster.vue +72 -6
- package/dialog/AddCustomBadgeDialog.vue +1 -0
- package/dialog/DeactivateDriverDialog.vue +5 -4
- package/dialog/ForceMachineRemoveDialog.vue +6 -3
- package/dialog/GitRepoForceUpdateDialog.vue +1 -1
- package/dialog/ScalePoolDownDialog.vue +2 -2
- package/edit/__tests__/monitoring.coreos.com.prometheusrule.test.ts +16 -3
- package/edit/auth/__tests__/oidc.test.ts +162 -88
- package/edit/auth/azuread.vue +2 -1
- package/edit/auth/github.vue +1 -1
- package/edit/auth/googleoauth.vue +5 -1
- package/edit/auth/ldap/__tests__/config.test.ts +0 -14
- package/edit/auth/ldap/config.vue +0 -24
- package/edit/auth/ldap/index.vue +1 -1
- package/edit/auth/oidc.vue +39 -6
- package/edit/auth/saml.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +5 -2
- package/edit/cloudcredential.vue +24 -9
- package/edit/fleet.cattle.io.clustergroup.vue +5 -3
- package/edit/fleet.cattle.io.gitrepo.vue +2 -0
- package/edit/logging-flow/Match.vue +1 -1
- package/edit/logging.banzaicloud.io.output/__tests__/logging.banzaicloud.io.output.test.ts +40 -9
- package/edit/management.cattle.io.user.vue +28 -3
- package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +19 -19
- package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +31 -31
- package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +36 -12
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +6 -6
- 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/webhook.vue +1 -1
- package/edit/monitoring.coreos.com.receiver/auth.vue +29 -29
- 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/IngressClass.vue +7 -3
- package/edit/networking.k8s.io.ingress/RulePath.vue +1 -1
- package/edit/networking.k8s.io.ingress/__tests__/IngressClass.test.ts +58 -0
- package/edit/persistentvolume/__tests__/persistentvolume.test.ts +14 -2
- package/edit/provisioning.cattle.io.cluster/CustomCommand.vue +4 -1
- package/edit/provisioning.cattle.io.cluster/SelectCredential.vue +26 -9
- package/edit/provisioning.cattle.io.cluster/__tests__/Advanced.test.ts +8 -10
- package/edit/provisioning.cattle.io.cluster/rke2.vue +31 -40
- package/edit/provisioning.cattle.io.cluster/tabs/Advanced.vue +5 -2
- package/edit/provisioning.cattle.io.cluster/tabs/AgentConfiguration.vue +6 -1
- package/edit/provisioning.cattle.io.cluster/tabs/MachinePool.vue +33 -2
- package/edit/provisioning.cattle.io.cluster/tabs/etcd/index.vue +3 -3
- package/edit/service.vue +0 -3
- package/edit/token.vue +32 -11
- package/edit/workload/Job.vue +6 -6
- package/edit/workload/__tests__/Job.test.ts +0 -1
- package/edit/workload/index.vue +1 -0
- package/edit/workload/mixins/workload.js +3 -3
- package/initialize/install-plugins.js +2 -1
- package/list/harvesterhci.io.management.cluster.vue +4 -1
- package/list/management.cattle.io.feature.vue +1 -0
- package/list/namespace.vue +3 -1
- package/list/provisioning.cattle.io.cluster.vue +20 -12
- package/list/workload.vue +7 -6
- package/machine-config/__tests__/vmwarevsphere.test.ts +48 -3
- package/machine-config/azure.vue +16 -4
- package/machine-config/vmwarevsphere.vue +16 -0
- package/mixins/resource-fetch.js +2 -1
- package/models/__tests__/logging.banzaicloud.io.flow.test.ts +88 -0
- package/models/__tests__/namespace.test.ts +25 -1
- package/models/cloudcredential.js +5 -0
- package/models/kontainerdriver.js +6 -3
- package/models/logging.banzaicloud.io.flow.js +2 -1
- package/models/management.cattle.io.node.js +3 -3
- package/models/management.cattle.io.setting.js +2 -1
- package/models/namespace.js +4 -5
- package/models/nodedriver.js +6 -3
- package/models/storage.k8s.io.storageclass.js +2 -2
- package/models/workload.js +4 -1
- package/package.json +1 -1
- package/pages/about.vue +16 -8
- package/pages/account/index.vue +80 -24
- package/pages/account/pri.vue +229 -0
- package/pages/auth/login.vue +195 -44
- package/pages/auth/logout.vue +4 -1
- package/pages/auth/setup.vue +144 -19
- package/pages/auth/verify.vue +13 -8
- package/pages/auth copy/login.vue +595 -0
- package/pages/auth copy/logout.vue +47 -0
- package/pages/auth copy/setup.vue +523 -0
- package/pages/auth copy/verify.vue +203 -0
- package/pages/c/_cluster/_product/namespaces.vue +5 -5
- package/pages/c/_cluster/apps/charts/chart.vue +1 -1
- package/pages/c/_cluster/apps/charts/install.vue +26 -26
- package/pages/c/_cluster/auth/config/index.vue +10 -12
- package/pages/c/_cluster/explorer/EventsTable.vue +38 -33
- package/pages/c/_cluster/explorer/index.vue +17 -15
- package/pages/c/_cluster/istio/index.vue +2 -2
- package/pages/c/_cluster/longhorn/index.vue +1 -1
- package/pages/c/_cluster/monitoring/index.vue +1 -1
- package/pages/c/_cluster/monitoring/monitor/_namespace/_id.vue +4 -2
- package/pages/c/_cluster/monitoring/monitor/create.vue +4 -2
- package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
- package/pages/c/_cluster/monitoring/route-receiver/_id.vue +4 -2
- package/pages/c/_cluster/monitoring/route-receiver/create.vue +5 -2
- package/pages/c/_cluster/neuvector/index.vue +1 -1
- package/pages/c/_cluster/settings/brand.vue +3 -3
- package/pages/c/_cluster/uiplugins/CatalogList/index.vue +8 -10
- package/pages/diagnostic.vue +59 -11
- package/pages/fail-whale.vue +14 -8
- package/pages/home.vue +24 -18
- package/pages/prefs.vue +9 -7
- package/pages/support/index.vue +4 -1
- package/pkg/tsconfig.json +9 -9
- package/pkg/vue.config.js +1 -1
- package/plugins/dashboard-store/normalize.js +3 -1
- package/plugins/dashboard-store/resource-class.js +31 -29
- package/plugins/internal-api/index.ts +37 -0
- package/plugins/internal-api/shared/base-api.ts +13 -0
- package/plugins/internal-api/shell/shell.api.ts +108 -0
- package/promptRemove/management.cattle.io.fleetworkspace.vue +1 -1
- package/promptRemove/management.cattle.io.globalrole.vue +1 -1
- package/promptRemove/management.cattle.io.project.vue +2 -2
- package/promptRemove/management.cattle.io.roletemplate.vue +1 -1
- package/promptRemove/pod.vue +1 -1
- package/public/index.html +2 -1
- package/rancher-components/BadgeState/BadgeState.vue +5 -1
- package/rancher-components/Banner/Banner.vue +8 -2
- package/rancher-components/Card/Card.vue +3 -6
- package/rancher-components/Form/Checkbox/Checkbox.vue +4 -0
- package/rancher-components/Form/LabeledInput/LabeledInput.vue +5 -2
- package/rancher-components/Form/Radio/RadioButton.vue +3 -3
- package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +1 -5
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +9 -4
- package/rancher-components/RcDropdown/RcDropdownItem.vue +1 -2
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +7 -3
- package/rancher-components/RcDropdown/types.ts +1 -0
- package/scripts/clean +0 -0
- package/scripts/extension/bundle +20 -0
- package/scripts/extension/helm/charts/ui-plugin-server/templates/_helpers.tpl +2 -2
- package/scripts/extension/helm/charts/ui-plugin-server/templates/cr.yaml +2 -1
- package/scripts/extension/helm/charts/ui-plugin-server/values.yaml +2 -0
- package/scripts/extension/helm/scripts/package +0 -0
- package/scripts/extension/helm/scripts/patch +0 -0
- package/scripts/extension/helm/scripts/version +0 -0
- package/scripts/extension/helmpatch +44 -31
- package/scripts/extension/parse-tag-name +0 -0
- package/scripts/extension/publish +12 -12
- package/scripts/publish-shell.sh +18 -23
- package/scripts/serve-pkgs +0 -0
- package/scripts/sync-shell-deps +0 -0
- package/scripts/test-plugins-build.sh +4 -6
- package/scripts/typegen.sh +28 -46
- package/server/har-file.js +25 -3
- package/static/favicon.ico +0 -0
- package/static/favicon.png +0 -0
- package/static/loading-indicator.html +2 -2
- package/store/aws.js +9 -2
- package/store/features.js +2 -1
- package/store/i18n.js +3 -3
- package/store/modal.ts +71 -0
- package/store/slideInPanel.ts +47 -0
- package/store/type-map.js +2 -1
- package/types/cloud-shell/index.d.ts +11014 -0
- package/types/global-vue.d.ts +5 -0
- package/types/internal-api/shell/growl.d.ts +25 -0
- package/types/internal-api/shell/modal.d.ts +77 -0
- package/types/internal-api/shell/slideIn.d.ts +15 -0
- package/types/shell/index.d.ts +118 -128
- package/types/vue-shim.d.ts +4 -1
- package/utils/__tests__/object.test.ts +38 -4
- package/utils/__tests__/string.test.ts +2 -2
- package/utils/auth.js +1 -0
- package/utils/banners.js +0 -45
- package/utils/cluster.js +35 -0
- package/utils/color.js +9 -8
- package/utils/error.js +61 -3
- package/utils/errorTranslate.json +450 -30
- package/utils/object.js +46 -6
- package/utils/router.js +22 -1
- package/utils/select.js +26 -3
- package/utils/string.js +9 -8
- package/utils/title.ts +1 -1
- package/utils/validators/machine-pool.ts +20 -0
- package/vue.config.js +7 -2
- package/components/formatter/ExtensionCache.vue +0 -74
- package/components/formatter/Port.vue +0 -24
- package/components/formatter/SecretType.vue +0 -41
- package/types/resources/fleet.d.ts +0 -57
- package/types/resources/pod-security-admission.ts +0 -36
- package/types/resources/settings.d.ts +0 -93
- package/types/resources/userPreferences.d.ts +0 -13
- package/types/vue-shim.d +0 -20
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
+
set -eo pipefail
|
|
2
3
|
|
|
3
4
|
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
|
4
5
|
BASE_DIR="$(pwd)"
|
|
@@ -330,6 +331,12 @@ if [ "${UPDATE_LATEST_PACAKGES}" = "true" ]; then
|
|
|
330
331
|
find plugin -type f | sort > files.txt
|
|
331
332
|
popd > /dev/null
|
|
332
333
|
|
|
334
|
+
# --------------------------------------------------------------------------------
|
|
335
|
+
# Package extensions into tgz for the compressedEndpoint
|
|
336
|
+
# --------------------------------------------------------------------------------
|
|
337
|
+
echo -e "${CYAN}Packaging extension into tgz${RESET}"
|
|
338
|
+
tar -czf ${BASE_DIR}/extensions/${pkg}/${PKG_VERSION}.tgz -C ${BASE_DIR}/extensions/${pkg} ${PKG_VERSION}
|
|
339
|
+
|
|
333
340
|
# --------------------------------------------------------------------------------
|
|
334
341
|
# Create the Helm chart
|
|
335
342
|
# --------------------------------------------------------------------------------
|
|
@@ -358,18 +365,11 @@ if [ "${UPDATE_LATEST_PACAKGES}" = "true" ]; then
|
|
|
358
365
|
cp ./pkg/${pkg}/README.md ${CHART_FOLDER}/README.md
|
|
359
366
|
fi
|
|
360
367
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
else
|
|
367
|
-
echo "Patching for container build"
|
|
368
|
-
ENDPOINT=http://${IMAGE_PREFIX}${BASE_EXT}-svc.cattle-ui-plugin-system:8080/plugin/${PKG_NAME}
|
|
369
|
-
fi
|
|
370
|
-
sed -i.bak -e 's@endpoint: .*@endpoint: '"${ENDPOINT}"'@g' cr.yaml
|
|
371
|
-
rm *.bak
|
|
372
|
-
popd > /dev/null
|
|
368
|
+
export GITHUB_BUILD
|
|
369
|
+
export IMAGE_PREFIX
|
|
370
|
+
export BASE_EXT
|
|
371
|
+
export GITHUB_SOURCE
|
|
372
|
+
export GITHUB_BRANCH
|
|
373
373
|
|
|
374
374
|
# Additional patches
|
|
375
375
|
${SCRIPT_DIR}/helmpatch ${CHART_FOLDER} "${BASE_DIR}/pkg/${pkg}/package.json"
|
package/scripts/publish-shell.sh
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
|
|
3
|
+
# 执行命令:TAG=cloud-shell-pkg-v{版本号} ./cloud-shell/scripts/publish-shell.sh
|
|
4
|
+
|
|
3
5
|
set -eo pipefail
|
|
4
6
|
|
|
5
7
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
|
6
8
|
BASE_DIR="$(cd $SCRIPT_DIR && cd ../.. && pwd)"
|
|
7
|
-
|
|
9
|
+
echo "BASE_DIR is ${BASE_DIR}"
|
|
10
|
+
echo "SCRIPT_DIR is ${SCRIPT_DIR}"
|
|
11
|
+
echo "PWD is $(pwd)"
|
|
12
|
+
CLOUD_SHELL_DIR=$BASE_DIR/cloud-shell/
|
|
13
|
+
echo "CLOUD_SHELL_DIR is ${CLOUD_SHELL_DIR}"
|
|
8
14
|
CREATORS_DIR=$BASE_DIR/creators/extension
|
|
9
15
|
FORCE_PUBLISH_TO_NPM="false"
|
|
10
16
|
DEFAULT_NPM_REGISTRY="https://registry.npmjs.org"
|
|
@@ -20,7 +26,7 @@ if [ ! -d "${BASE_DIR}/node_modules" ]; then
|
|
|
20
26
|
exit 1
|
|
21
27
|
fi
|
|
22
28
|
|
|
23
|
-
echo "Publishing Shell Packages"
|
|
29
|
+
echo "Publishing Cloud Shell Packages"
|
|
24
30
|
|
|
25
31
|
if [ "$1" == "--npm" ]; then
|
|
26
32
|
FORCE_PUBLISH_TO_NPM="true"
|
|
@@ -32,26 +38,16 @@ fi
|
|
|
32
38
|
|
|
33
39
|
PUBLISH_ARGS="--no-git-tag-version --access public --registry $NPM_REGISTRY"
|
|
34
40
|
|
|
35
|
-
pushd ${
|
|
41
|
+
pushd ${CLOUD_SHELL_DIR} >/dev/null
|
|
36
42
|
|
|
37
43
|
function publish() {
|
|
38
44
|
NAME=$1
|
|
39
45
|
FOLDER=$2
|
|
40
46
|
|
|
41
|
-
# if we pass a third arg, that is the version number
|
|
42
|
-
# that we want to actually publish on NPM
|
|
43
|
-
# they should match with the package.json version stated
|
|
44
|
-
# because of the check in the "Check Tags Version Matching" step in the workflow
|
|
45
47
|
if [ -n "$3" ]; then
|
|
46
48
|
PKG_VERSION=$3
|
|
47
49
|
fi
|
|
48
50
|
|
|
49
|
-
# if the PKG_VERSION has a - it means it will be a pre-release
|
|
50
|
-
if [[ $PKG_VERSION == *"-"* ]]; then
|
|
51
|
-
PUBLISH_ARGS="$PUBLISH_ARGS --tag pre-release"
|
|
52
|
-
fi
|
|
53
|
-
|
|
54
|
-
# when testing the workflow, we don't want to actually do an npm publish but only a dry run
|
|
55
51
|
if [ ${DRY_RUN} == "true" ]; then
|
|
56
52
|
PUBLISH_ARGS="$PUBLISH_ARGS --dry-run"
|
|
57
53
|
fi
|
|
@@ -62,13 +58,12 @@ function publish() {
|
|
|
62
58
|
pushd ${FOLDER} >/dev/null
|
|
63
59
|
|
|
64
60
|
# For now, copy the rancher components into the shell and ship them with it
|
|
65
|
-
if [ "$NAME" == "Shell" ]; then
|
|
61
|
+
if [ "$NAME" == "Cloud Shell" ]; then
|
|
66
62
|
echo "Adding Rancher Components"
|
|
67
63
|
rm -rf ./rancher-components
|
|
68
64
|
cp -R ${BASE_DIR}/pkg/rancher-components/src/components ./rancher-components/
|
|
69
65
|
fi
|
|
70
66
|
|
|
71
|
-
# Make a note of dependency versions, if required
|
|
72
67
|
node ${SCRIPT_DIR}/record-deps.js
|
|
73
68
|
|
|
74
69
|
echo "Publishing to registry: $NPM_REGISTRY"
|
|
@@ -86,30 +81,30 @@ function publish() {
|
|
|
86
81
|
|
|
87
82
|
echo "TAG ${TAG}"
|
|
88
83
|
|
|
89
|
-
|
|
84
|
+
# let's get the package name and version from the tag
|
|
90
85
|
PKG_NAME=$(sed 's/-pkg-v.*//' <<< "$TAG")
|
|
91
86
|
PKG_V=$(sed 's/.*-pkg-v//'<<< "$TAG")
|
|
92
87
|
|
|
93
88
|
echo "PKG_NAME ${PKG_NAME}"
|
|
94
89
|
echo "PKG_V ${PKG_V}"
|
|
95
90
|
|
|
96
|
-
# Generate the type definitions for the shell
|
|
97
|
-
if [ ${PKG_NAME} == "shell" ]; then
|
|
91
|
+
# Generate the type definitions for the cloud-shell
|
|
92
|
+
if [ ${PKG_NAME} == "cloud-shell" ]; then
|
|
98
93
|
${SCRIPT_DIR}/typegen.sh
|
|
99
94
|
fi
|
|
100
95
|
|
|
101
96
|
# version comparison checks
|
|
102
97
|
case $PKG_NAME in
|
|
103
|
-
"shell")
|
|
104
|
-
echo "Publishing only Shell pkg via tagged release"
|
|
105
|
-
publish "Shell" ${
|
|
98
|
+
"cloud-shell")
|
|
99
|
+
echo "Publishing only Cloud Shell pkg via tagged release"
|
|
100
|
+
publish "Cloud Shell" ${CLOUD_SHELL_DIR} ${PKG_V}
|
|
106
101
|
;;
|
|
107
102
|
"creators")
|
|
108
103
|
echo "Publishing only Creators pkg via tagged release"
|
|
109
104
|
publish "Extension creator" ${CREATORS_DIR} ${PKG_V}
|
|
110
105
|
;;
|
|
111
106
|
*)
|
|
112
|
-
echo "something went wrong with the tagging name => TAG: ${TAG} , PKG_NAME: ${PKG_NAME}. Admissable names are 'shell' and '
|
|
107
|
+
echo "something went wrong with the tagging name => TAG: ${TAG} , PKG_NAME: ${PKG_NAME}. Admissable names are 'cloud-shell' and 'creators'"
|
|
113
108
|
exit 1
|
|
114
109
|
;;
|
|
115
|
-
esac
|
|
110
|
+
esac
|
package/scripts/serve-pkgs
CHANGED
|
File without changes
|
package/scripts/sync-shell-deps
CHANGED
|
File without changes
|
|
@@ -238,11 +238,9 @@ function clone_repo_test_extension_build() {
|
|
|
238
238
|
# Don't forget to add the unit tests exception to clone_repo_test_extension_build function if a new extension has those
|
|
239
239
|
clone_repo_test_extension_build "rancher" "kubewarden-ui" "kubewarden"
|
|
240
240
|
clone_repo_test_extension_build "rancher" "elemental-ui" "elemental"
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
# clone_repo_test_extension_build "StackVista" "rancher-extension-stackstate" "observability"
|
|
246
|
-
# clone_repo_test_extension_build "harvester" "harvester-ui-extension" "harvester"
|
|
241
|
+
clone_repo_test_extension_build "neuvector" "manager-ext" "neuvector-ui-ext"
|
|
242
|
+
clone_repo_test_extension_build "rancher" "capi-ui-extension" "capi"
|
|
243
|
+
clone_repo_test_extension_build "StackVista" "rancher-extension-stackstate" "observability"
|
|
244
|
+
clone_repo_test_extension_build "harvester" "harvester-ui-extension" "harvester"
|
|
247
245
|
|
|
248
246
|
echo "All done"
|
package/scripts/typegen.sh
CHANGED
|
@@ -2,71 +2,53 @@
|
|
|
2
2
|
|
|
3
3
|
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
|
4
4
|
BASE_DIR="$(git rev-parse --show-toplevel)"
|
|
5
|
-
|
|
5
|
+
CLOUD_SHELL_DIR=$BASE_DIR/cloud-shell
|
|
6
6
|
|
|
7
|
-
echo "Generating typescript definitions"
|
|
7
|
+
echo "Generating typescript definitions in ${CLOUD_SHELL_DIR}"
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
# 清理 tmp 并创建目录
|
|
10
|
+
rm -rf ${CLOUD_SHELL_DIR}/tmp
|
|
11
|
+
mkdir -p ${CLOUD_SHELL_DIR}/tmp
|
|
11
12
|
|
|
12
13
|
echo "Generating ..."
|
|
13
14
|
|
|
14
15
|
# utils
|
|
15
|
-
${BASE_DIR}/node_modules/.bin/tsc ${
|
|
16
|
-
${BASE_DIR}/node_modules/.bin/tsc ${
|
|
17
|
-
${BASE_DIR}/node_modules/.bin/tsc ${
|
|
16
|
+
${BASE_DIR}/node_modules/.bin/tsc ${CLOUD_SHELL_DIR}/utils/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${CLOUD_SHELL_DIR}/tmp/utils > /dev/null
|
|
17
|
+
${BASE_DIR}/node_modules/.bin/tsc ${CLOUD_SHELL_DIR}/utils/validators/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${CLOUD_SHELL_DIR}/tmp/utils/validators > /dev/null
|
|
18
|
+
${BASE_DIR}/node_modules/.bin/tsc ${CLOUD_SHELL_DIR}/utils/crypto/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${CLOUD_SHELL_DIR}/tmp/utils/crypto > /dev/null
|
|
18
19
|
|
|
19
20
|
# config
|
|
20
|
-
${BASE_DIR}/node_modules/.bin/tsc ${
|
|
21
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/config/table-headers.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
|
|
22
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/config/types.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
|
|
23
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/config/labels-annotations.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
|
|
24
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/config/version.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
|
|
21
|
+
${BASE_DIR}/node_modules/.bin/tsc ${CLOUD_SHELL_DIR}/config/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${CLOUD_SHELL_DIR}/tmp/config > /dev/null
|
|
25
22
|
|
|
26
|
-
#
|
|
27
|
-
${BASE_DIR}/node_modules/.bin/tsc ${
|
|
28
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/store/prefs.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/store > /dev/null
|
|
29
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/store/plugins.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/store > /dev/null
|
|
23
|
+
# store
|
|
24
|
+
${BASE_DIR}/node_modules/.bin/tsc ${CLOUD_SHELL_DIR}/store/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${CLOUD_SHELL_DIR}/tmp/store > /dev/null
|
|
30
25
|
|
|
31
|
-
#
|
|
32
|
-
${BASE_DIR}/node_modules/.bin/tsc ${
|
|
33
|
-
${BASE_DIR}/node_modules/.bin/tsc ${
|
|
34
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/plugins/dashboard-store/classify.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/dashboard-store/ > /dev/null
|
|
35
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/plugins/dashboard-store/actions.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/dashboard-store/ > /dev/null
|
|
36
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/plugins/steve/steve-class.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/steve/ > /dev/null
|
|
37
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/plugins/steve/hybrid-class.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/steve/ > /dev/null
|
|
26
|
+
# plugins
|
|
27
|
+
${BASE_DIR}/node_modules/.bin/tsc ${CLOUD_SHELL_DIR}/plugins/dashboard-store/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${CLOUD_SHELL_DIR}/tmp/plugins/dashboard-store/ > /dev/null
|
|
28
|
+
${BASE_DIR}/node_modules/.bin/tsc ${CLOUD_SHELL_DIR}/plugins/steve/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${CLOUD_SHELL_DIR}/tmp/plugins/steve/ > /dev/null
|
|
38
29
|
|
|
39
|
-
#
|
|
40
|
-
${BASE_DIR}/node_modules/.bin/tsc ${
|
|
41
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/mixins/resource-fetch.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/mixins > /dev/null
|
|
30
|
+
# mixins
|
|
31
|
+
${BASE_DIR}/node_modules/.bin/tsc ${CLOUD_SHELL_DIR}/mixins/**/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${CLOUD_SHELL_DIR}/tmp/mixins > /dev/null
|
|
42
32
|
|
|
43
|
-
#
|
|
44
|
-
${BASE_DIR}/node_modules/.bin/tsc ${
|
|
45
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/models/networking.k8s.io.ingress.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/models/ > /dev/null
|
|
46
|
-
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/models/catalog.cattle.io.clusterrepo.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/models/ > /dev/null
|
|
33
|
+
# models
|
|
34
|
+
${BASE_DIR}/node_modules/.bin/tsc ${CLOUD_SHELL_DIR}/models/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${CLOUD_SHELL_DIR}/tmp/models/ > /dev/null
|
|
47
35
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
# Go through all of the folders and combine by wrapping with 'declare module'
|
|
51
|
-
|
|
52
|
-
echo "Contents of ${SHELL_DIR}/tmp after tsc commands:"
|
|
53
|
-
find ${SHELL_DIR}/tmp
|
|
36
|
+
echo "Contents of ${CLOUD_SHELL_DIR}/tmp after tsc commands:"
|
|
37
|
+
find ${CLOUD_SHELL_DIR}/tmp
|
|
54
38
|
|
|
55
39
|
echo "Combining type definitions ..."
|
|
56
40
|
|
|
57
|
-
DEST=${
|
|
41
|
+
DEST=${CLOUD_SHELL_DIR}/types/cloud-shell
|
|
58
42
|
mkdir -p ${DEST}
|
|
59
43
|
|
|
60
44
|
INDEX=${DEST}/index.d.ts
|
|
61
45
|
rm -rf ${INDEX}
|
|
62
46
|
|
|
63
|
-
echo "// Auto-generated type definitions for shell" > ${INDEX}
|
|
47
|
+
echo "// Auto-generated type definitions for cloud-shell" > ${INDEX}
|
|
64
48
|
echo "// Do not modify this file as changes will get overwritten" >> ${INDEX}
|
|
65
49
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
cat "$BASE_DIR/shell/types/vue-shim.d" >> ${INDEX}
|
|
69
|
-
fi
|
|
50
|
+
echo "/// <reference types=\"@rancher/cloud-shell/types/vue-shim\" />" >> ${INDEX}
|
|
51
|
+
echo "/// <reference types=\"@rancher/cloud-shell/types/global-vue\" />" >> ${INDEX}
|
|
70
52
|
|
|
71
53
|
function processDir() {
|
|
72
54
|
local dir=$1
|
|
@@ -80,9 +62,7 @@ function processDir() {
|
|
|
80
62
|
processDir $entry $basePkg/$filename
|
|
81
63
|
else
|
|
82
64
|
if [[ $filename == *.d.ts ]]; then
|
|
83
|
-
# We use convoluted mechanism here to ensure this works on mac with bash 3.x
|
|
84
65
|
local name=$(echo $filename | rev | cut -c6- | rev)
|
|
85
|
-
|
|
86
66
|
local module=${basePkg}/${name}
|
|
87
67
|
if [ "${name}" == "index" ]; then
|
|
88
68
|
module=${basePkg}
|
|
@@ -97,6 +77,8 @@ function processDir() {
|
|
|
97
77
|
done
|
|
98
78
|
}
|
|
99
79
|
|
|
100
|
-
processDir ${
|
|
80
|
+
processDir ${CLOUD_SHELL_DIR}/tmp @cloud-shell
|
|
81
|
+
|
|
82
|
+
rm -rf ${CLOUD_SHELL_DIR}/tmp
|
|
101
83
|
|
|
102
|
-
|
|
84
|
+
echo "Type generation completed in ${CLOUD_SHELL_DIR}"
|
package/server/har-file.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
const fs = require('fs');
|
|
2
2
|
const path = require('path');
|
|
3
|
+
const querystring = require('querystring');
|
|
3
4
|
|
|
4
5
|
// When we receive a request to this URL we will reset the session to replay again from the HAR file
|
|
5
6
|
// This allows the user to refresh the browser and replay the HAR file again
|
|
6
7
|
const RESET_URL = '/api/v1/namespaces/cattle-ui-plugin-system/services/http:ui-plugin-operator:80/proxy/index.json';
|
|
7
8
|
|
|
8
|
-
const
|
|
9
|
+
const EXCLUDE_QS = 'exclude';
|
|
10
|
+
|
|
11
|
+
const LEGACY_UI_PLUGIN_INDEX = '/api/v1/namespaces/cattle-ui-plugin-system/services/http:ui-plugin-operator:80/proxy/index.json';
|
|
12
|
+
const NEW_UI_PLUGIN_INDEX = '/v1/uiplugins';
|
|
9
13
|
|
|
10
14
|
/**
|
|
11
15
|
* Load the network requests/responses from the har file
|
|
@@ -113,10 +117,28 @@ function harProxy(responses, folder) {
|
|
|
113
117
|
const url = decodeURIComponent(req.originalUrl);
|
|
114
118
|
let playback = session[req.originalUrl];
|
|
115
119
|
|
|
120
|
+
// Handle case where HAR file was created with older UI Extension API that used the operator
|
|
121
|
+
if (!playback && req.originalUrl.includes(NEW_UI_PLUGIN_INDEX)) {
|
|
122
|
+
// Look for new URl for UI plugins
|
|
123
|
+
playback = session[LEGACY_UI_PLUGIN_INDEX];
|
|
124
|
+
}
|
|
125
|
+
|
|
116
126
|
// If it did not match, try without the metadata excludes query string that was adding in 2.8.0
|
|
117
127
|
// This might allow HAR captures with Rancher < 2.8.0 to be replayed on >= 2.8.0
|
|
118
|
-
if (!playback && req.originalUrl.
|
|
119
|
-
|
|
128
|
+
if (!playback && req.originalUrl.includes('?')) {
|
|
129
|
+
const urlParts = req.originalUrl.split('?');
|
|
130
|
+
|
|
131
|
+
if (urlParts.length > 1) {
|
|
132
|
+
const queryString = urlParts[1];
|
|
133
|
+
const qs = querystring.parse(queryString);
|
|
134
|
+
|
|
135
|
+
delete qs[EXCLUDE_QS];
|
|
136
|
+
|
|
137
|
+
const newQs = querystring.stringify(qs);
|
|
138
|
+
const newUrl = newQs.length ? `${ urlParts[0] }?${ newQs }` : urlParts[0];
|
|
139
|
+
|
|
140
|
+
playback = session[newUrl];
|
|
141
|
+
}
|
|
120
142
|
}
|
|
121
143
|
|
|
122
144
|
if (playback && playback[req.method] && playback[req.method].length) {
|
package/static/favicon.ico
CHANGED
|
Binary file
|
package/static/favicon.png
CHANGED
|
Binary file
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
animation: initial-load-animate 1s infinite linear;
|
|
16
16
|
background-color: transparent;
|
|
17
17
|
box-sizing: border-box;
|
|
18
|
-
border: 5px solid #
|
|
18
|
+
border: 5px solid #1890FF;
|
|
19
19
|
border-radius: 50%;
|
|
20
|
-
border-top-color:
|
|
20
|
+
border-top-color: transparent;
|
|
21
21
|
display: inline-block;
|
|
22
22
|
height: 80px;
|
|
23
23
|
margin: 0 auto;
|
package/store/aws.js
CHANGED
|
@@ -241,8 +241,15 @@ export const actions = {
|
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
addObjects(out, res[key]);
|
|
244
|
-
|
|
245
|
-
|
|
244
|
+
if (res.NextToken) {
|
|
245
|
+
opt.NextToken = res.NextToken;
|
|
246
|
+
hasNext = true;
|
|
247
|
+
} else if (res.Marker) {
|
|
248
|
+
opt.Marker = res.Marker;
|
|
249
|
+
hasNext = true;
|
|
250
|
+
} else {
|
|
251
|
+
hasNext = false;
|
|
252
|
+
}
|
|
246
253
|
}
|
|
247
254
|
|
|
248
255
|
return out;
|
package/store/features.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MANAGEMENT } from '@shell/config/types';
|
|
2
|
+
import { SCHEDULING_CUSTOMIZATION as SCHEDULING_CUSTOMIZATION_FEATURE } from '@shell/config/features';
|
|
2
3
|
|
|
3
4
|
const definitions = {};
|
|
4
5
|
|
|
@@ -36,7 +37,7 @@ export const FLEET_WORKSPACE_BACK = create('provisioningv2-fleet-workspace-back-
|
|
|
36
37
|
export const STEVE_CACHE = create('ui-sql-cache', false);
|
|
37
38
|
export const UIEXTENSION = create('uiextension', true);
|
|
38
39
|
export const PROVISIONING_PRE_BOOTSTRAP = create('provisioningprebootstrap', false);
|
|
39
|
-
export const SCHEDULING_CUSTOMIZATION = create(
|
|
40
|
+
export const SCHEDULING_CUSTOMIZATION = create(SCHEDULING_CUSTOMIZATION_FEATURE, false);
|
|
40
41
|
|
|
41
42
|
// Not currently used.. no point defining ones we don't use
|
|
42
43
|
// export const EMBEDDED_CLUSTER_API = create('embedded-cluster-api', true);
|
package/store/i18n.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import merge from 'lodash/merge';
|
|
2
2
|
import IntlMessageFormat from 'intl-messageformat';
|
|
3
3
|
import { get } from '@shell/utils/object';
|
|
4
|
-
import
|
|
4
|
+
import zh from '@shell/assets/translations/zh-hans.yaml';
|
|
5
5
|
import { getProduct, getVendor, DOCS_BASE } from '@shell/config/private-label';
|
|
6
6
|
import { loadTranslation } from '@shell/utils/dynamic-importer';
|
|
7
7
|
|
|
8
8
|
const NONE = 'none';
|
|
9
|
-
const DEFAULT_LOCALE = '
|
|
9
|
+
const DEFAULT_LOCALE = 'zh-hans';
|
|
10
10
|
|
|
11
11
|
// Formatters can't be serialized into state
|
|
12
12
|
const intlCache = {};
|
|
@@ -25,7 +25,7 @@ export const state = function() {
|
|
|
25
25
|
selected: null,
|
|
26
26
|
previous: null,
|
|
27
27
|
available,
|
|
28
|
-
translations: { [DEFAULT_LOCALE]:
|
|
28
|
+
translations: { [DEFAULT_LOCALE]: zh },
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
return out;
|
package/store/modal.ts
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { markRaw, Component } from 'vue';
|
|
2
|
+
import { MutationTree, GetterTree, ActionTree } from 'vuex';
|
|
3
|
+
|
|
4
|
+
export interface ModalState {
|
|
5
|
+
isOpen: boolean;
|
|
6
|
+
component: Component | null;
|
|
7
|
+
componentProps: Record<string, any>;
|
|
8
|
+
resources: any[];
|
|
9
|
+
closeOnClickOutside: boolean;
|
|
10
|
+
modalWidth: string;
|
|
11
|
+
modalSticky: boolean;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const state = (): ModalState => ({
|
|
15
|
+
isOpen: false,
|
|
16
|
+
component: null,
|
|
17
|
+
componentProps: {},
|
|
18
|
+
resources: [],
|
|
19
|
+
closeOnClickOutside: false,
|
|
20
|
+
modalWidth: '610px',
|
|
21
|
+
modalSticky: false
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const getters: GetterTree<ModalState, any> = {
|
|
25
|
+
isOpen: (state) => state.isOpen,
|
|
26
|
+
component: (state) => state.component,
|
|
27
|
+
componentProps: (state) => state.componentProps,
|
|
28
|
+
resources: (state) => state.resources,
|
|
29
|
+
closeOnClickOutside: (state) => state.closeOnClickOutside,
|
|
30
|
+
modalWidth: (state) => state.modalWidth,
|
|
31
|
+
modalSticky: (state) => state.modalSticky,
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const mutations: MutationTree<ModalState> = {
|
|
35
|
+
openModal(state, payload: {
|
|
36
|
+
component: Component;
|
|
37
|
+
componentProps?: Record<string, any>;
|
|
38
|
+
resources?: any[];
|
|
39
|
+
closeOnClickOutside?: boolean;
|
|
40
|
+
modalWidth?: string;
|
|
41
|
+
modalSticky?: boolean;
|
|
42
|
+
}) {
|
|
43
|
+
state.isOpen = true;
|
|
44
|
+
state.component = markRaw(payload.component);
|
|
45
|
+
state.componentProps = payload.componentProps || {};
|
|
46
|
+
state.resources = Array.isArray(payload.resources) ? payload.resources : (payload.resources ? [payload.resources] : []);
|
|
47
|
+
state.closeOnClickOutside = payload.closeOnClickOutside ?? false;
|
|
48
|
+
state.modalWidth = payload.modalWidth || '610px';
|
|
49
|
+
state.modalSticky = payload.modalSticky ?? false;
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
closeModal(state) {
|
|
53
|
+
state.isOpen = false;
|
|
54
|
+
state.component = null;
|
|
55
|
+
state.componentProps = {};
|
|
56
|
+
state.resources = [];
|
|
57
|
+
state.closeOnClickOutside = false;
|
|
58
|
+
state.modalWidth = '610px';
|
|
59
|
+
state.modalSticky = false;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const actions: ActionTree<ModalState, any> = {};
|
|
64
|
+
|
|
65
|
+
export default {
|
|
66
|
+
namespaced: true,
|
|
67
|
+
state,
|
|
68
|
+
getters,
|
|
69
|
+
mutations,
|
|
70
|
+
actions
|
|
71
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { markRaw, Component } from 'vue';
|
|
2
|
+
import { MutationTree, GetterTree, ActionTree } from 'vuex';
|
|
3
|
+
|
|
4
|
+
export interface SlideInPanelState {
|
|
5
|
+
isOpen: boolean;
|
|
6
|
+
component: Component | null;
|
|
7
|
+
componentProps: Record<string, any>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const state = (): SlideInPanelState => ({
|
|
11
|
+
isOpen: false,
|
|
12
|
+
component: null,
|
|
13
|
+
componentProps: {}
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
const getters: GetterTree<SlideInPanelState, any> = {
|
|
17
|
+
isOpen: (state) => state.isOpen,
|
|
18
|
+
component: (state) => state.component,
|
|
19
|
+
componentProps: (state) => state.componentProps
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const mutations: MutationTree<SlideInPanelState> = {
|
|
23
|
+
open(state, payload: { component: Component; componentProps?: Record<string, any> }) {
|
|
24
|
+
state.isOpen = true;
|
|
25
|
+
state.component = markRaw(payload.component);
|
|
26
|
+
state.componentProps = payload.componentProps || {};
|
|
27
|
+
},
|
|
28
|
+
close(state) {
|
|
29
|
+
state.isOpen = false;
|
|
30
|
+
|
|
31
|
+
// Delay clearing component/props for 500ms (same as transition duration)
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
state.component = null;
|
|
34
|
+
state.componentProps = {};
|
|
35
|
+
}, 500);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const actions: ActionTree<SlideInPanelState, any> = {};
|
|
40
|
+
|
|
41
|
+
export default {
|
|
42
|
+
namespaced: true,
|
|
43
|
+
state,
|
|
44
|
+
getters,
|
|
45
|
+
mutations,
|
|
46
|
+
actions
|
|
47
|
+
};
|
package/store/type-map.js
CHANGED
|
@@ -154,6 +154,7 @@ import { haveV2Monitoring } from '@shell/utils/monitoring';
|
|
|
154
154
|
import { NEU_VECTOR_NAMESPACE } from '@shell/config/product/neuvector';
|
|
155
155
|
import { createHeaders, rowValueGetter } from '@shell/store/type-map.utils';
|
|
156
156
|
import { defineAsyncComponent } from 'vue';
|
|
157
|
+
import { cloud2harvesterhci } from '@shell/utils/router';
|
|
157
158
|
|
|
158
159
|
export const NAMESPACED = 'namespaced';
|
|
159
160
|
export const CLUSTER_LEVEL = 'cluster';
|
|
@@ -506,7 +507,7 @@ export const getters = {
|
|
|
506
507
|
|
|
507
508
|
groupForBasicType(state) {
|
|
508
509
|
return (product, schemaId) => {
|
|
509
|
-
return state.basicTypes?.[product]?.[schemaId];
|
|
510
|
+
return state.basicTypes?.[product]?.[cloud2harvesterhci(schemaId)];
|
|
510
511
|
};
|
|
511
512
|
},
|
|
512
513
|
|