diff --git a/src/portal/lib/src/list-replication-rule/list-replication-rule.component.html b/src/portal/lib/src/list-replication-rule/list-replication-rule.component.html
index a48a9017b..45ffa0e73 100644
--- a/src/portal/lib/src/list-replication-rule/list-replication-rule.component.html
+++ b/src/portal/lib/src/list-replication-rule/list-replication-rule.component.html
@@ -8,7 +8,8 @@
{{'REPLICATION.NAME' | translate}}
{{'REPLICATION.STATUS' | translate}}
- {{'REPLICATION.SRC_REGISTRY' | translate}}
+ {{'REPLICATION.SRC_REGISTRY' | translate}}
+ {{'REPLICATION.REPLICATION_MODE' | translate}}
{{'REPLICATION.DESTINATION_NAMESPACE' | translate}}
{{'REPLICATION.REPLICATION_TRIGGER' | translate}}
{{'REPLICATION.OVERRIDE' | translate}}
@@ -27,14 +28,11 @@
Enabled
-
+
{{p.src_registry ? p.src_registry.name : ''}}
-
- 1" clrTooltipTrigger shape="ellipsis-horizontal" size="18">
-
- {{p.src_namespaces}}
-
-
+
+
+ {{p.src_registry && p.src_registry.id > 0 ? 'pull-based' : 'push-based'}}
{{p.dest_registry ? p.dest_registry.name : ''}} : {{p.dest_namespace? p.dest_namespace: '-'}}
diff --git a/src/portal/lib/src/list-replication-rule/list-replication-rule.component.scss b/src/portal/lib/src/list-replication-rule/list-replication-rule.component.scss
index a37a9016d..ba7f5c7ea 100644
--- a/src/portal/lib/src/list-replication-rule/list-replication-rule.component.scss
+++ b/src/portal/lib/src/list-replication-rule/list-replication-rule.component.scss
@@ -8,6 +8,9 @@
.min-width {
width: 224px;
}
+.col-width {
+ width: 140px;
+}
.status-width {
width: 105px;
}
diff --git a/src/portal/lib/src/replication/replication-tasks/replication-tasks.component.ts b/src/portal/lib/src/replication/replication-tasks/replication-tasks.component.ts
index 2af8e40a5..2010a2f8c 100644
--- a/src/portal/lib/src/replication/replication-tasks/replication-tasks.component.ts
+++ b/src/portal/lib/src/replication/replication-tasks/replication-tasks.component.ts
@@ -8,7 +8,11 @@ import { ErrorHandler } from "../../error-handler/error-handler";
import { ReplicationJob, ReplicationTasks, Comparator, ReplicationJobItem, State } from "../../service/interface";
import { CustomComparator, DEFAULT_PAGE_SIZE, calculatePage, doFiltering, doSorting } from "../../utils";
import { RequestQueryParams } from "../../service/RequestQueryParams";
-const taskStatus = 'InProgress';
+const taskStatus: any = {
+ PENDING: "pending",
+ RUNNING: "running",
+ SCHEDULED: "scheduled"
+};
@Component({
selector: 'replication-tasks',
templateUrl: './replication-tasks.component.html',
@@ -145,7 +149,9 @@ export class ReplicationTasksComponent implements OnInit, OnDestroy {
let count: number = 0;
this.tasks.forEach(tasks => {
if (
- tasks.status === taskStatus
+ tasks.status.toLowerCase() === taskStatus.PENDING ||
+ tasks.status.toLowerCase() === taskStatus.RUNNING ||
+ tasks.status.toLowerCase() === taskStatus.SCHEDULED
) {
count++;
}
diff --git a/src/portal/src/app/project/project-detail/project-detail.component.ts b/src/portal/src/app/project/project-detail/project-detail.component.ts
index 7c969ed36..3ba7d2ec3 100644
--- a/src/portal/src/app/project/project-detail/project-detail.component.ts
+++ b/src/portal/src/app/project/project-detail/project-detail.component.ts
@@ -82,7 +82,7 @@ export class ProjectDetailComponent implements OnInit {
permissionsList.push(this.userPermissionService.getPermission(projectId,
USERSTATICPERMISSION.LABEL.KEY, USERSTATICPERMISSION.LABEL.VALUE.CREATE));
forkJoin(...permissionsList).subscribe(Rules => {
- [this.hasLogListPermission, this.hasConfigurationListPermission, this.hasMemberListPermission,
+ [this.hasLogListPermission, this.hasConfigurationListPermission, this.hasMemberListPermission
, this.hasLabelListPermission, this.hasRepositoryListPermission, this.hasHelmChartsListPermission, this.hasRobotListPermission
, this.hasLabelCreatePermission] = Rules;
diff --git a/src/portal/src/i18n/lang/zh-cn-lang.json b/src/portal/src/i18n/lang/zh-cn-lang.json
index 1cb00ffda..b261d91c4 100644
--- a/src/portal/src/i18n/lang/zh-cn-lang.json
+++ b/src/portal/src/i18n/lang/zh-cn-lang.json
@@ -38,7 +38,7 @@
"COPY": "拷贝",
"EDIT": "编辑",
"SWITCH": "切换",
- "REPLICATE": "复制",
+ "REPLICATE": "同步",
"ACTIONS": "操作",
"BROWSE": "选择文件",
"UPLOAD": "上传",
@@ -133,7 +133,7 @@
"USER": "用户管理",
"GROUP": "组管理",
"REGISTRY": "仓库管理",
- "REPLICATION": "复制管理",
+ "REPLICATION": "同步管理",
"CONFIG": "配置管理",
"VULNERABILITY": "漏洞",
"GARBAGE_COLLECTION": "垃圾清理"
@@ -194,16 +194,16 @@
"DELETION_TITLE": "移除项目成员确认",
"DELETION_SUMMARY": "你确认删除项目 {{param}}?",
"FILTER_PLACEHOLDER": "过滤项目",
- "REPLICATION_RULE": "复制规则",
+ "REPLICATION_RULE": "同步规则",
"CREATED_SUCCESS": "成功创建项目。",
"DELETED_SUCCESS": "成功删除项目。",
"TOGGLED_SUCCESS": "切换状态成功。",
- "FAILED_TO_DELETE_PROJECT": "项目包含镜像仓库或复制规则或Helm Charts,无法删除。",
+ "FAILED_TO_DELETE_PROJECT": "项目包含镜像仓库或同步规则或Helm Charts,无法删除。",
"INLINE_HELP_PUBLIC": "当项目设为公开后,任何人都有此项目下镜像的读权限。命令行用户不需要“docker login”就可以拉取此项目下的镜像。"
},
"PROJECT_DETAIL": {
"REPOSITORIES": "镜像仓库",
- "REPLICATION": "复制",
+ "REPLICATION": "同步",
"USERS": "成员",
"LOGS": "日志",
"LABELS": "标签",
@@ -362,7 +362,7 @@
"IN_PROGRESS": "进行中",
"STOP_EXECUTIONS": "停止任务",
"ID":"ID",
- "REPLICATION_RULE": "复制规则",
+ "REPLICATION_RULE": "同步规则",
"NEW_REPLICATION_RULE": "新建规则",
"ENDPOINTS": "目标",
"FILTER_POLICIES_PLACEHOLDER": "过滤规则",
@@ -370,8 +370,8 @@
"DELETION_TITLE": "删除规则确认",
"DELETION_SUMMARY": "确认删除规则 {{param}}?",
"DELETION_TITLE_FAILURE": "规则确认删除失败",
- "REPLICATION_TITLE": "复制规则确认",
- "REPLICATION_SUMMARY": "确认复制规则 {{param}}?",
+ "REPLICATION_TITLE": "同步规则确认",
+ "REPLICATION_SUMMARY": "确认同步规则 {{param}}?",
"DELETION_SUMMARY_FAILURE": "有 pending/running/retrying 状态,不能删除",
"REPLICATE_SUMMARY_FAILURE": "有 pending/running 状态,不能删除",
"FILTER_TARGETS_PLACEHOLDER": "过滤目标",
@@ -391,10 +391,10 @@
"DESCRIPTION": "描述",
"ENABLE": "启用",
"DISABLE": "停用",
- "REPLICATION_MODE": "复制模式",
+ "REPLICATION_MODE": "同步模式",
"SRC_REGISTRY": "源仓库",
"DESTINATION_NAMESPACE": "目标仓库:命名空间",
- "LAST_REPLICATION":"最后一次复制",
+ "LAST_REPLICATION":"最后一次同步",
"DESTINATION_NAME_IS_REQUIRED": "目标名称为必填项。",
"NEW_DESTINATION": "创建目标",
"DESTINATION_URL": "目标URL",
@@ -406,8 +406,8 @@
"DISABLED": "停用",
"LAST_START_TIME": "上次起始时间",
"ACTIVATION": "活动状态",
- "REPLICATION_EXECUTION": "复制任务",
- "REPLICATION_EXECUTIONS": "复制任务",
+ "REPLICATION_EXECUTION": "同步任务",
+ "REPLICATION_EXECUTIONS": "同步任务",
"STOPJOB": "停止任务",
"ALL": "全部",
"PENDING": "挂起",
@@ -429,22 +429,22 @@
"ITEMS": "条记录",
"NO_LOGS": "无日志",
"TOGGLE_ENABLE_TITLE": "启用规则",
- "CONFIRM_TOGGLE_ENABLE_POLICY": "启用规则后,该项目下的所有镜像仓库将复制到目标实例。\n请确认继续。",
+ "CONFIRM_TOGGLE_ENABLE_POLICY": "启用规则后,该项目下的所有镜像仓库将同步到目标实例。\n请确认继续。",
"TOGGLE_DISABLE_TITLE": "停用规则",
- "CONFIRM_TOGGLE_DISABLE_POLICY": "停用规则后,所有未完成的复制任务将被终止和取消。\n请确认继续。",
- "CREATED_SUCCESS": "创建复制规则成功。",
- "UPDATED_SUCCESS": "更新复制规则成功。",
- "DELETED_SUCCESS": "删除复制规则成功。",
- "DELETED_FAILED": "删除复制规则失败。",
- "TOGGLED_SUCCESS": "切换复制规则状态成功。",
- "CANNOT_EDIT": "当复制规则启用时无法修改。",
+ "CONFIRM_TOGGLE_DISABLE_POLICY": "停用规则后,所有未完成的同步任务将被终止和取消。\n请确认继续。",
+ "CREATED_SUCCESS": "创建同步规则成功。",
+ "UPDATED_SUCCESS": "更新同步规则成功。",
+ "DELETED_SUCCESS": "删除同步规则成功。",
+ "DELETED_FAILED": "删除同步规则失败。",
+ "TOGGLED_SUCCESS": "切换同步规则状态成功。",
+ "CANNOT_EDIT": "当同步规则启用时无法修改。",
"POLICY_ALREADY_EXISTS": "规则已存在。",
- "FAILED_TO_DELETE_POLICY_ENABLED": "删除复制规则失败: 仍有未完成的任务。",
- "FOUND_ERROR_IN_JOBS": "复制任务中包含错误,请检查。",
+ "FAILED_TO_DELETE_POLICY_ENABLED": "删除同步规则失败: 仍有未完成的任务。",
+ "FOUND_ERROR_IN_JOBS": "同步任务中包含错误,请检查。",
"INVALID_DATE": "无效日期。",
- "PLACEHOLDER": "未发现任何复制规则!",
- "JOB_PLACEHOLDER": "未发现任何复制任务!",
- "JOB_LOG_VIEWER": "查看复制任务日志",
+ "PLACEHOLDER": "未发现任何同步规则!",
+ "JOB_PLACEHOLDER": "未发现任何同步任务!",
+ "JOB_LOG_VIEWER": "查看同步任务日志",
"NO_ENDPOINT_INFO": "请先添加一个目标",
"NO_PROJECT_INFO": "此项目不存在",
"SOURCE_RESOURCE_FILTER": "源资源过滤器",
@@ -459,15 +459,15 @@
"MODE": "模式",
"TRIGGER_MODE": "触发模式",
"SOURCE_PROJECT": "源项目",
- "REPLICATE": "复制",
+ "REPLICATE": "同步",
"DELETE_REMOTE_IMAGES": "删除本地镜像时同时也删除远程的镜像。",
"DELETE_ENABLED": "默认启用该规则",
- "REPLICATE_IMMEDIATE": "立即复制现有的镜像。",
+ "REPLICATE_IMMEDIATE": "立即同步现有的镜像。",
"NEW": "新增",
"NAME_TOOLTIP": "项目名称由小写字符、数字和._-组成且至少2个字符并以字符或者数字开头。",
"ACKNOWLEDGE": "确认",
"RULE_DISABLED": "这个规则因为过滤选项中的标签被删除已经不能用了,更新过滤项以便重新启用规则。",
- "REPLI_MODE": "复制模式",
+ "REPLI_MODE": "同步模式",
"SOURCE_REGISTRY":"源Registry",
"SOURCE_NAMESPACES":"源Namespace",
"DEST_REGISTRY":"目的Registry",
@@ -507,9 +507,9 @@
"UPDATED_SUCCESS": "成功更新目标。",
"DELETED_SUCCESS": "成功删除目标。",
"DELETED_FAILED": "删除目标失败。",
- "CANNOT_EDIT": "当复制规则启用时目标无法修改。",
+ "CANNOT_EDIT": "当同步规则启用时目标无法修改。",
"FAILED_TO_DELETE_TARGET_IN_USED": "无法删除正在使用的目标。",
- "PLACEHOLDER": "未发现任何复制目标!"
+ "PLACEHOLDER": "未发现任何同步目标!"
},
"REPOSITORY": {
"COPY_DIGEST_ID": "复制摘要",
@@ -641,7 +641,7 @@
"CONFIG": {
"TITLE": "配置",
"AUTH": "认证模式",
- "REPLICATION": "复制",
+ "REPLICATION": "同步",
"EMAIL": "邮箱",
"LABEL": "标签",
"REPOSITORY": "仓库",
@@ -909,14 +909,14 @@
"DELETE_USER": "删除用户",
"DELETE_ROBOT": "删除账户",
"DELETE_REGISTRY": "删除Registry",
- "DELETE_REPLICATION": "删除复制",
+ "DELETE_REPLICATION": "删除同步",
"DELETE_MEMBER": "删除用户成员",
"DELETE_GROUP": "删除组成员",
"SWITCH_ROLE": "切换角色",
"ADD_GROUP": "添加组成员",
"ADD_USER": "添加用户成员",
"DELETE_LABEL": "删除标签",
- "REPLICATION": "复制",
+ "REPLICATION": "同步",
"DAY_AGO": "天前",
"HOUR_AGO": "小时前",
"MINUTE_AGO": "分钟前",
@@ -967,7 +967,7 @@
"MSG_SCHEDULE_RESET": "垃圾回收定时任务已被重置"
},
"RETAG": {
- "MSG_SUCCESS": "复制成功",
+ "MSG_SUCCESS": "同步成功",
"TIP_REPO": "镜像仓库名被分解为路径组件。仓库名必须至少有一个小写字母、字母数字字符,可选句点、破折号或下划线分隔。严格意义上说,它必须匹配正则表达式[a-z0-9]+(?[.-][a-z0-9]+)*.如果仓库名有两个或多个路径组件,则它们必须用正斜杠('/')分隔。包括斜杠在内的仓库名的总长度必须小于256个字符。",
"TIP_TAG": "标签是应用于存储库中的Docker映像的一种标签,它用于区分多种镜像。它需要匹配Regex:([\\w][\\w.-]{0,127})"
}