diff --git a/src/portal/lib/src/tag/tag.component.scss b/src/portal/lib/src/tag/tag.component.scss
index c0a0886dd..46c43cb6d 100644
--- a/src/portal/lib/src/tag/tag.component.scss
+++ b/src/portal/lib/src/tag/tag.component.scss
@@ -202,7 +202,7 @@
.retag-modal-body {
overflow-y: hidden;
- min-height: 184px;
+ min-height: 450px;
padding-top: 16px;
}
diff --git a/src/portal/lib/src/tag/tag.component.ts b/src/portal/lib/src/tag/tag.component.ts
index 5ca621198..90ffc3f37 100644
--- a/src/portal/lib/src/tag/tag.component.ts
+++ b/src/portal/lib/src/tag/tag.component.ts
@@ -22,7 +22,7 @@ import {
ElementRef, AfterViewInit
} from "@angular/core";
import {Subject, forkJoin} from "rxjs";
-import { debounceTime , distinctUntilChanged} from 'rxjs/operators';
+import { debounceTime , distinctUntilChanged, finalize} from 'rxjs/operators';
import { TranslateService } from "@ngx-translate/core";
import { State, Comparator } from "@clr/angular";
@@ -97,7 +97,6 @@ export class TagComponent implements OnInit, AfterViewInit {
digestId: string;
staticBackdrop = true;
closable = false;
- retagDialogClosable = true;
lastFilteredTagName: string;
inprogress: boolean;
openLabelFilterPanel: boolean;
@@ -587,14 +586,21 @@ export class TagComponent implements OnInit, AfterViewInit {
}
onRetag() {
- this.retagDialogOpened = false;
this.retagService.retag({
targetProject: this.imageNameInput.projectName.value,
targetRepo: this.imageNameInput.repoName.value,
targetTag: this.imageNameInput.tagName.value,
srcImage: this.retagSrcImage,
override: true
- }).subscribe(response => {
+ })
+ .pipe(finalize(() => {
+ this.retagDialogOpened = false;
+ this.imageNameInput.form.reset();
+ }))
+ .subscribe(response => {
+ this.translateService.get('RETAG.MSG_SUCCESS').subscribe((res: string) => {
+ this.errorHandler.info(res);
+ });
}, error => {
this.errorHandler.error(error);
});
diff --git a/src/portal/src/i18n/lang/en-us-lang.json b/src/portal/src/i18n/lang/en-us-lang.json
index ae1e9bff9..ffaaaf450 100644
--- a/src/portal/src/i18n/lang/en-us-lang.json
+++ b/src/portal/src/i18n/lang/en-us-lang.json
@@ -69,7 +69,7 @@
"RULE_USER_EXISTING": "Name is already in use.",
"EMPTY": "Name is required",
"NONEMPTY": "Can't be empty",
- "REPO_TOOLTIP": "Users can not do any operations to the images in this mode."
+ "REPO_TOOLTIP": "Users can not do any operations to the images in this mode.",
},
"PLACEHOLDER": {
"CURRENT_PWD": "Enter current password",
@@ -856,6 +856,11 @@
"MSG_SUCCESS": "Garbage Collection Successful",
"MSG_SCHEDULE_SET": "Garbage Collection schedule has been set",
"MSG_SCHEDULE_RESET": "Garbage Collection schedule has been reset"
+ },
+ "RETAG": {
+ "MSG_SUCCESS": "Retag successfully",
+ "TIP_REPO": "A repository name is broken up into path components. A component of a repository name must be at least one lowercase, alpha-numeric characters, optionally separated by periods, dashes or underscores. More strictly, it must match the regular expression [a-z0-9]+(?:[._-][a-z0-9]+)*.If a repository name has two or more path components, they must be separated by a forward slash ('/').The total length of a repository name, including slashes, must be less the 256 characters.",
+ "TIP_TAG": "A tag is a label applied to a Docker image in a repository. Tags are how various images in a repository are distinguished from each other.It need to match Regex: (`[\\w][\\w.-]{0,127}`)"
}
}
diff --git a/src/portal/src/i18n/lang/es-es-lang.json b/src/portal/src/i18n/lang/es-es-lang.json
index 88e217eaa..6f98be2c8 100644
--- a/src/portal/src/i18n/lang/es-es-lang.json
+++ b/src/portal/src/i18n/lang/es-es-lang.json
@@ -853,5 +853,11 @@
"MSG_SUCCESS": "Garbage Collection Successful",
"MSG_SCHEDULE_SET": "Garbage Collection schedule has been set",
"MSG_SCHEDULE_RESET": "Garbage Collection schedule has been reset"
+ },
+ "RETAG": {
+ "MSG_SUCCESS": "Retag successfully",
+ "TIP_REPO": "A repository name is broken up into path components. A component of a repository name must be at least one lowercase, alpha-numeric characters, optionally separated by periods, dashes or underscores. More strictly, it must match the regular expression [a-z0-9]+(?:[._-][a-z0-9]+)*.If a repository name has two or more path components, they must be separated by a forward slash ('/').The total length of a repository name, including slashes, must be less the 256 characters.",
+ "TIP_TAG": "A tag is a label applied to a Docker image in a repository. Tags are how various images in a repository are distinguished from each other.It need to match Regex: (`[\\w][\\w.-]{0,127}`)"
}
+
}
diff --git a/src/portal/src/i18n/lang/fr-fr-lang.json b/src/portal/src/i18n/lang/fr-fr-lang.json
index d5b16fdea..557bee796 100644
--- a/src/portal/src/i18n/lang/fr-fr-lang.json
+++ b/src/portal/src/i18n/lang/fr-fr-lang.json
@@ -816,5 +816,11 @@
"MSG_SUCCESS": "Garbage Collection Successful",
"MSG_SCHEDULE_SET": "Garbage Collection schedule has been set",
"MSG_SCHEDULE_RESET": "Garbage Collection schedule has been reset"
+ },
+ "RETAG": {
+ "MSG_SUCCESS": "Retag successfully",
+ "TIP_REPO": "A repository name is broken up into path components. A component of a repository name must be at least one lowercase, alpha-numeric characters, optionally separated by periods, dashes or underscores. More strictly, it must match the regular expression [a-z0-9]+(?:[._-][a-z0-9]+)*.If a repository name has two or more path components, they must be separated by a forward slash ('/').The total length of a repository name, including slashes, must be less the 256 characters.",
+ "TIP_TAG": "A tag is a label applied to a Docker image in a repository. Tags are how various images in a repository are distinguished from each other.It need to match Regex: (`[\\w][\\w.-]{0,127}`)"
}
+
}
diff --git a/src/portal/src/i18n/lang/pt-br-lang.json b/src/portal/src/i18n/lang/pt-br-lang.json
index 822c12d9c..77e41d302 100644
--- a/src/portal/src/i18n/lang/pt-br-lang.json
+++ b/src/portal/src/i18n/lang/pt-br-lang.json
@@ -847,6 +847,12 @@
"MSG_SUCCESS":"Garbage Collection efetuado com sucesso",
"MSG_SCHEDULE_SET":"Agendamento de Garbage Collection efetuado",
"MSG_SCHEDULE_RESET":"Agendamento de Garbage Collection foi redefinido"
+ },
+ "RETAG": {
+ "MSG_SUCCESS": "Retag successfully",
+ "TIP_REPO": "A repository name is broken up into path components. A component of a repository name must be at least one lowercase, alpha-numeric characters, optionally separated by periods, dashes or underscores. More strictly, it must match the regular expression [a-z0-9]+(?:[._-][a-z0-9]+)*.If a repository name has two or more path components, they must be separated by a forward slash ('/').The total length of a repository name, including slashes, must be less the 256 characters.",
+ "TIP_TAG": "A tag is a label applied to a Docker image in a repository. Tags are how various images in a repository are distinguished from each other.It need to match Regex: (`[\\w][\\w.-]{0,127}`)"
}
+
}
diff --git a/src/portal/src/i18n/lang/zh-cn-lang.json b/src/portal/src/i18n/lang/zh-cn-lang.json
index 1c05a5365..72f669c4c 100644
--- a/src/portal/src/i18n/lang/zh-cn-lang.json
+++ b/src/portal/src/i18n/lang/zh-cn-lang.json
@@ -851,5 +851,11 @@
"MSG_SUCCESS": "垃圾回收成功",
"MSG_SCHEDULE_SET": "垃圾回收定时任务设置成功",
"MSG_SCHEDULE_RESET": "垃圾回收定时任务已被重置"
+ },
+ "RETAG": {
+ "MSG_SUCCESS": "复制成功",
+ "TIP_REPO": "镜像仓库名被分解为路径组件。仓库名必须至少有一个小写字母、字母数字字符,可选句点、破折号或下划线分隔。严格意义上说,它必须匹配正则表达式[a-z0-9]+(?[.-][a-z0-9]+)*.如果仓库名有两个或多个路径组件,则它们必须用正斜杠('/')分隔。包括斜杠在内的仓库名的总长度必须小于256个字符。",
+ "TIP_TAG": "标签是应用于存储库中的Docker映像的一种标签,它用于区分多种镜像。它需要匹配Regex:([\\w][\\w.-]{0,127})"
}
+
}