dashboard-shell-shell 3.0.5-test.45 → 3.0.5-test.46
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/translations/zh-hans.yaml +11 -4
- package/components/Resource/Detail/TitleBar/index.vue +2 -2
- package/components/SortableTable/index.vue +17 -1
- package/components/nav/Header.vue +10 -133
- package/models/workload.js +2 -2
- package/package.json +1 -1
- package/scripts/publish-shell.sh +1 -1
- package/utils/errorTranslate.json +10 -12
|
@@ -595,7 +595,10 @@ assignTo:
|
|
|
595
595
|
workspace: 工作空间
|
|
596
596
|
|
|
597
597
|
stateLabel:
|
|
598
|
+
Wait Check-In: 等待加入
|
|
599
|
+
Provisioning: 配置中
|
|
598
600
|
Waiting: 等待中
|
|
601
|
+
waiting: 等待中
|
|
599
602
|
Images preloading: 图像预加载中
|
|
600
603
|
Images preloaded: 图像已预加载
|
|
601
604
|
Waiting Reboot: 等待重启
|
|
@@ -1879,10 +1882,13 @@ cluster:
|
|
|
1879
1882
|
searchPlaceholder: 请输入搜索
|
|
1880
1883
|
noResults: 没有匹配的结果
|
|
1881
1884
|
privateRegistry:
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1885
|
+
header: Rancher 系统容器镜像仓库
|
|
1886
|
+
label: 为 Rancher 系统容器镜像启用集群范围容器镜像仓库
|
|
1887
|
+
description: "如果启用,Rancher 将在集群配置期间从此镜像仓库拉取容器镜像。默认情况下,Rancher 在安装官方 Helm Chart 应用时也会使用此镜像仓库。如果禁用集群范围镜像仓库,系统镜像将从全局设置中的系统默认镜像仓库拉取。"
|
|
1888
|
+
importedDescription: "默认情况下,Rancher 在安装官方 Helm Chart 应用时也会使用此镜像仓库。如果禁用集群范围镜像仓库,系统镜像将从全局设置中的系统默认镜像仓库拉取。"
|
|
1889
|
+
docsLinkRke2: "有关配置私有镜像仓库的帮助,请参阅 RKE2 <a href=\"https://docs.rke2.io/install/private_registry\" target=\"_blank\">文档。</a>"
|
|
1890
|
+
docsLinkK3s: "有关配置私有镜像仓库的帮助,请参阅 K3s <a href=\"https://docs.k3s.io/installation/private-registry\" target=\"_blank\">文档。</a>"
|
|
1891
|
+
privateRegistryUrlError: 镜像仓库必须是有效的 URL。协议头可选。
|
|
1886
1892
|
provider:
|
|
1887
1893
|
aliyunecs: Aliyun ECS
|
|
1888
1894
|
aliyunkubernetescontainerservice: Alibaba ACK
|
|
@@ -3238,6 +3244,7 @@ managementNode:
|
|
|
3238
3244
|
|
|
3239
3245
|
members:
|
|
3240
3246
|
clusterMembers: 集群成员
|
|
3247
|
+
memberRoles: 成员角色
|
|
3241
3248
|
clusterAndProject: 集群和项目成员
|
|
3242
3249
|
createActionLabel: 添加
|
|
3243
3250
|
clusterMembership: 集群成员
|
|
@@ -197,11 +197,11 @@ watch(
|
|
|
197
197
|
:aria-label="i18n.t('component.resource.detail.titleBar.ariaLabel.showConfiguration', { resource: resourceName })"
|
|
198
198
|
@click="() => emit('show-configuration', showConfigurationReturnFocusSelector)"
|
|
199
199
|
>
|
|
200
|
-
|
|
200
|
+
<!-- <img
|
|
201
201
|
:src="showConfigurationIcon"
|
|
202
202
|
class="mmr-3"
|
|
203
203
|
aria-hidden="true"
|
|
204
|
-
>
|
|
204
|
+
> -->
|
|
205
205
|
{{ i18n.t('component.resource.detail.titleBar.showConfiguration') }}
|
|
206
206
|
</RcButton>
|
|
207
207
|
<ActionMenu
|
|
@@ -654,6 +654,14 @@ export default {
|
|
|
654
654
|
namespaces() {
|
|
655
655
|
return this.$store.getters['activeNamespaceCache'];
|
|
656
656
|
},
|
|
657
|
+
|
|
658
|
+
// 正确的总数显示
|
|
659
|
+
totalCount() {
|
|
660
|
+
if (this.externalPaginationEnabled && this.externalPaginationResult) {
|
|
661
|
+
return this.externalPaginationResult.total || this.externalPaginationResult.count || 0;
|
|
662
|
+
}
|
|
663
|
+
return this.rows ? this.rows.length : 0;
|
|
664
|
+
},
|
|
657
665
|
|
|
658
666
|
initalLoad() {
|
|
659
667
|
return !!(!this.isLoading && !this._didinit && this.rows?.length);
|
|
@@ -884,6 +892,14 @@ export default {
|
|
|
884
892
|
// this.$router.replace(route);
|
|
885
893
|
// }
|
|
886
894
|
// },
|
|
895
|
+
// 设置当前页码
|
|
896
|
+
setPage(pageNum) {
|
|
897
|
+
if (pageNum >= 1 && pageNum <= this.totalPages) {
|
|
898
|
+
this.page = pageNum;
|
|
899
|
+
this.inputPage = ''; // 清空输入框
|
|
900
|
+
this.debouncedPaginationChanged();
|
|
901
|
+
}
|
|
902
|
+
},
|
|
887
903
|
onTableScroll(table, e) {
|
|
888
904
|
// 记录最后滚动的距离
|
|
889
905
|
let lastScrollTop = 0;
|
|
@@ -1854,7 +1870,7 @@ export default {
|
|
|
1854
1870
|
class="paging"
|
|
1855
1871
|
>
|
|
1856
1872
|
<div style="height: 100%; align-content: center;">
|
|
1857
|
-
共 {{
|
|
1873
|
+
共 {{ totalCount ? totalCount : 0 }} 条
|
|
1858
1874
|
</div>
|
|
1859
1875
|
|
|
1860
1876
|
<button
|
|
@@ -425,128 +425,7 @@ export default {
|
|
|
425
425
|
<TopLevelMenu v-if="isRancherInHarvester || isMultiCluster || !isSingleProduct" />
|
|
426
426
|
</div>
|
|
427
427
|
|
|
428
|
-
<!--
|
|
429
|
-
class="menu-spacer"
|
|
430
|
-
:class="{'isSingleProduct': isSingleProduct }"
|
|
431
|
-
>
|
|
432
|
-
<router-link
|
|
433
|
-
v-if="isSingleProduct && !isRancherInHarvester"
|
|
434
|
-
:to="singleProductLogoRoute"
|
|
435
|
-
role="link"
|
|
436
|
-
:alt="t('branding.logos.home')"
|
|
437
|
-
>
|
|
438
|
-
<BrandImage
|
|
439
|
-
v-if="isSingleProduct.supportCustomLogo && isHarvester"
|
|
440
|
-
class="side-menu-logo"
|
|
441
|
-
file-name="harvester.svg"
|
|
442
|
-
:support-custom-logo="true"
|
|
443
|
-
:alt="t('branding.logos.label')"
|
|
444
|
-
/>
|
|
445
|
-
<img
|
|
446
|
-
v-else
|
|
447
|
-
class="side-menu-logo"
|
|
448
|
-
:src="isSingleProduct.logo"
|
|
449
|
-
:alt="t('branding.logos.label')"
|
|
450
|
-
>
|
|
451
|
-
</router-link>
|
|
452
|
-
</div>
|
|
453
|
-
|
|
454
|
-
<div
|
|
455
|
-
v-if="!simple"
|
|
456
|
-
ref="product"
|
|
457
|
-
class="product"
|
|
458
|
-
>
|
|
459
|
-
<div
|
|
460
|
-
v-if="currentProduct && currentProduct.showClusterSwitcher"
|
|
461
|
-
v-clean-tooltip="nameTooltip"
|
|
462
|
-
class="cluster cluster-clipped"
|
|
463
|
-
>
|
|
464
|
-
<div
|
|
465
|
-
v-if="isSingleProduct && !isRancherInHarvester"
|
|
466
|
-
class="product-name"
|
|
467
|
-
>
|
|
468
|
-
<template v-if="isSingleProduct.supportCustomLogo">
|
|
469
|
-
{{ vendor }}
|
|
470
|
-
</template>
|
|
471
|
-
<template v-else>
|
|
472
|
-
{{ t(isSingleProduct.productNameKey) }}
|
|
473
|
-
</template>
|
|
474
|
-
</div>
|
|
475
|
-
<template v-else>
|
|
476
|
-
<ClusterProviderIcon
|
|
477
|
-
v-if="currentCluster"
|
|
478
|
-
:cluster="currentCluster"
|
|
479
|
-
class="mr-10"
|
|
480
|
-
:alt="t('branding.logos.label')"
|
|
481
|
-
/>
|
|
482
|
-
<div
|
|
483
|
-
v-if="currentCluster"
|
|
484
|
-
ref="clusterName"
|
|
485
|
-
class="cluster-name"
|
|
486
|
-
>
|
|
487
|
-
{{ currentCluster.spec.displayName }}
|
|
488
|
-
</div>
|
|
489
|
-
<ClusterBadge
|
|
490
|
-
v-if="currentCluster"
|
|
491
|
-
:cluster="currentCluster"
|
|
492
|
-
class="ml-10"
|
|
493
|
-
:alt="t('branding.logos.label')"
|
|
494
|
-
/>
|
|
495
|
-
<div
|
|
496
|
-
v-if="!currentCluster"
|
|
497
|
-
class="simple-title"
|
|
498
|
-
>
|
|
499
|
-
<BrandImage
|
|
500
|
-
class="side-menu-logo-img"
|
|
501
|
-
file-name="rancher-logo.svg"
|
|
502
|
-
:alt="t('branding.logos.label')"
|
|
503
|
-
/>
|
|
504
|
-
</div>
|
|
505
|
-
</template>
|
|
506
|
-
</div>
|
|
507
|
-
<div
|
|
508
|
-
v-if="currentProduct && !currentProduct.showClusterSwitcher"
|
|
509
|
-
class="cluster"
|
|
510
|
-
>
|
|
511
|
-
<img
|
|
512
|
-
v-if="currentProduct.iconHeader"
|
|
513
|
-
v-bind="$attrs"
|
|
514
|
-
:src="currentProduct.iconHeader"
|
|
515
|
-
class="cluster-os-logo mr-10"
|
|
516
|
-
style="width: 44px; height: 36px;"
|
|
517
|
-
:alt="t('branding.logos.label')"
|
|
518
|
-
>
|
|
519
|
-
<div class="product-name">
|
|
520
|
-
{{ prod }}
|
|
521
|
-
</div>
|
|
522
|
-
</div>
|
|
523
|
-
</div>
|
|
524
|
-
|
|
525
|
-
<div
|
|
526
|
-
v-else
|
|
527
|
-
class="simple-title"
|
|
528
|
-
>
|
|
529
|
-
<div
|
|
530
|
-
v-if="isSingleProduct"
|
|
531
|
-
class="product-name"
|
|
532
|
-
>
|
|
533
|
-
{{ t(isSingleProduct.productNameKey) }}
|
|
534
|
-
</div>
|
|
535
|
-
|
|
536
|
-
<div
|
|
537
|
-
v-else
|
|
538
|
-
class="side-menu-logo"
|
|
539
|
-
>
|
|
540
|
-
<BrandImage
|
|
541
|
-
class="side-menu-logo-img"
|
|
542
|
-
data-testid="header__brand-img"
|
|
543
|
-
file-name="rancher-logo.svg"
|
|
544
|
-
:alt="t('branding.logos.label')"
|
|
545
|
-
/>
|
|
546
|
-
</div>
|
|
547
|
-
</div> -->
|
|
548
|
-
|
|
549
|
-
<!-- ===== 左侧 logo 区域 ===== -->
|
|
428
|
+
<!-- ===== 左侧 logo 区域 ===== -->
|
|
550
429
|
<div class="menu-spacer">
|
|
551
430
|
<!-- 如果是单产品模式且不是 RancherInHarvester,就显示 logo 路由跳转 -->
|
|
552
431
|
<router-link
|
|
@@ -593,7 +472,7 @@ export default {
|
|
|
593
472
|
<template v-if="currentProduct && currentProduct.showClusterSwitcher">
|
|
594
473
|
|
|
595
474
|
<!-- 导入 YAML 按钮 -->
|
|
596
|
-
<button
|
|
475
|
+
<!-- <button
|
|
597
476
|
v-if="showImportYaml"
|
|
598
477
|
v-clean-tooltip="t('nav.import')"
|
|
599
478
|
:disabled="!importEnabled"
|
|
@@ -606,9 +485,9 @@ export default {
|
|
|
606
485
|
@click="openImport()"
|
|
607
486
|
>
|
|
608
487
|
<i class="icon icon-upload icon-lg" />
|
|
609
|
-
</button>
|
|
488
|
+
</button> -->
|
|
610
489
|
|
|
611
|
-
<button
|
|
490
|
+
<!-- <button
|
|
612
491
|
v-if="showKubeShell"
|
|
613
492
|
id="btn-kubectl"
|
|
614
493
|
v-clean-tooltip="t('nav.shellShortcut', {key: shellShortcut})"
|
|
@@ -623,10 +502,10 @@ export default {
|
|
|
623
502
|
@click="currentCluster.openShell()"
|
|
624
503
|
>
|
|
625
504
|
<i class="icon icon-terminal icon-lg" />
|
|
626
|
-
</button>
|
|
505
|
+
</button> -->
|
|
627
506
|
|
|
628
507
|
<!-- 下载 kubeconfig 按钮 -->
|
|
629
|
-
<button
|
|
508
|
+
<!-- <button
|
|
630
509
|
v-if="showKubeConfig"
|
|
631
510
|
v-clean-tooltip="t('nav.kubeconfig.download')"
|
|
632
511
|
:disabled="!kubeConfigEnabled"
|
|
@@ -639,10 +518,10 @@ export default {
|
|
|
639
518
|
@click="currentCluster.downloadKubeConfig()"
|
|
640
519
|
>
|
|
641
520
|
<i class="icon icon-file icon-lg" />
|
|
642
|
-
</button>
|
|
521
|
+
</button> -->
|
|
643
522
|
|
|
644
523
|
<!-- 复制 kubeconfig 按钮 -->
|
|
645
|
-
<button
|
|
524
|
+
<!-- <button
|
|
646
525
|
v-if="showCopyConfig"
|
|
647
526
|
v-clean-tooltip="t('nav.kubeconfig.copy')"
|
|
648
527
|
:disabled="!kubeConfigEnabled"
|
|
@@ -655,18 +534,16 @@ export default {
|
|
|
655
534
|
@click="copyKubeConfig($event)"
|
|
656
535
|
>
|
|
657
536
|
|
|
658
|
-
<!-- 点击复制后显示对勾 -->
|
|
659
537
|
<i
|
|
660
538
|
v-if="kubeConfigCopying"
|
|
661
539
|
class="icon icon-checkmark icon-lg"
|
|
662
540
|
/>
|
|
663
541
|
|
|
664
|
-
<!-- 未复制状态显示复制图标 -->
|
|
665
542
|
<i
|
|
666
543
|
v-else
|
|
667
544
|
class="icon icon-copy icon-lg"
|
|
668
545
|
/>
|
|
669
|
-
</button>
|
|
546
|
+
</button> -->
|
|
670
547
|
</template>
|
|
671
548
|
|
|
672
549
|
<!-- 资源搜索按钮 -->
|
|
@@ -1024,7 +901,7 @@ export default {
|
|
|
1024
901
|
border: none;
|
|
1025
902
|
background: var(--header-btn-bg);
|
|
1026
903
|
color: var(--header-btn-text);
|
|
1027
|
-
padding: 0
|
|
904
|
+
padding: 0 10px 0 10px;
|
|
1028
905
|
line-height: 32px;
|
|
1029
906
|
min-height: 32px;
|
|
1030
907
|
width: 30px;
|
package/models/workload.js
CHANGED
|
@@ -199,8 +199,8 @@ export default class Workload extends WorkloadService {
|
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
this.$dispatch('growl/error', {
|
|
202
|
-
title: '
|
|
203
|
-
message: '
|
|
202
|
+
title: '不可用',
|
|
203
|
+
message: '没有正在运行的 Pod 可用来执行 Shell。'
|
|
204
204
|
}, { root: true });
|
|
205
205
|
}
|
|
206
206
|
|
package/package.json
CHANGED
package/scripts/publish-shell.sh
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"translations": [
|
|
3
|
+
{
|
|
4
|
+
"pattern": "can't delete vlanconfig (\\S+) because the storage network nad (\\S+) is still attached",
|
|
5
|
+
"replacement": "无法删除 VLAN 配置 '$1':存储网络附加定义 '$2' 仍在使用",
|
|
6
|
+
"flags": "gi"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"pattern": "please stop all workloads before configuring the storage-network setting",
|
|
10
|
+
"replacement": "配置存储网络设置前,请先停止所有工作负载",
|
|
11
|
+
"flags": "gi"
|
|
12
|
+
},
|
|
3
13
|
{
|
|
4
14
|
"pattern": "failure while starting vmi: arm64 not support this disk bus type, please use virtio or scsi",
|
|
5
15
|
"replacement": "启动虚拟机实例失败:ARM64 架构不支持此磁盘总线类型,请使用 virtio 或 scsi",
|
|
@@ -1614,10 +1624,6 @@
|
|
|
1614
1624
|
"pattern": "nad ",
|
|
1615
1625
|
"replacement": "虚拟网络"
|
|
1616
1626
|
},
|
|
1617
|
-
{
|
|
1618
|
-
"pattern": " is",
|
|
1619
|
-
"replacement": "是"
|
|
1620
|
-
},
|
|
1621
1627
|
{
|
|
1622
1628
|
"pattern": "please ",
|
|
1623
1629
|
"replacement": "请"
|
|
@@ -1706,14 +1712,6 @@
|
|
|
1706
1712
|
"pattern": "replicaset",
|
|
1707
1713
|
"replacement": "副本集"
|
|
1708
1714
|
},
|
|
1709
|
-
{
|
|
1710
|
-
"pattern": "Cluster",
|
|
1711
|
-
"replacement": "名称"
|
|
1712
|
-
},
|
|
1713
|
-
{
|
|
1714
|
-
"pattern": "name",
|
|
1715
|
-
"replacement": "名称"
|
|
1716
|
-
},
|
|
1717
1715
|
{
|
|
1718
1716
|
"pattern": "%",
|
|
1719
1717
|
"replacement": ""
|