mirror of
https://github.com/goharbor/harbor.git
synced 2024-06-26 06:45:12 +02:00
Update cron ui for add replicatipn rule page (#19083)
1.Fixes #19072 Signed-off-by: AllForNothing <sshijun@vmware.com>
This commit is contained in:
parent
26b53ef343
commit
d34775296c
|
@ -596,11 +596,15 @@
|
||||||
formGroupName="trigger_settings"
|
formGroupName="trigger_settings"
|
||||||
class="clr-form-control">
|
class="clr-form-control">
|
||||||
<div class="flex" [hidden]="isNotSchedule()">
|
<div class="flex" [hidden]="isNotSchedule()">
|
||||||
<label for="targetCron" class="required"
|
<label
|
||||||
>Cron String</label
|
for="targetCron"
|
||||||
|
class="required sub-label"
|
||||||
|
>{{
|
||||||
|
'REPLICATION.CRON_STR' | translate
|
||||||
|
}}</label
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="clr-control-container"
|
class="clr-control-container no-extend"
|
||||||
[class.clr-error]="
|
[class.clr-error]="
|
||||||
cronInputShouldShowError()
|
cronInputShouldShowError()
|
||||||
">
|
">
|
||||||
|
@ -615,6 +619,19 @@
|
||||||
pattern="^0\s(?!(\*\s)).+$"
|
pattern="^0\s(?!(\*\s)).+$"
|
||||||
class="form-control cron-input clr-input"
|
class="form-control cron-input clr-input"
|
||||||
formControlName="cron" />
|
formControlName="cron" />
|
||||||
|
<clr-tooltip class="des-tooltip">
|
||||||
|
<clr-icon
|
||||||
|
clrTooltipTrigger
|
||||||
|
shape="info-circle"
|
||||||
|
size="24"></clr-icon>
|
||||||
|
<clr-tooltip-content
|
||||||
|
class="flatten"
|
||||||
|
clrPosition="top-left"
|
||||||
|
clrSize="lg"
|
||||||
|
*clrIfOpen>
|
||||||
|
<cron-tooltip></cron-tooltip>
|
||||||
|
</clr-tooltip-content>
|
||||||
|
</clr-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<clr-control-error
|
<clr-control-error
|
||||||
*ngIf="cronInputShouldShowError()">
|
*ngIf="cronInputShouldShowError()">
|
||||||
|
@ -624,19 +641,6 @@
|
||||||
}}
|
}}
|
||||||
</clr-control-error>
|
</clr-control-error>
|
||||||
</div>
|
</div>
|
||||||
<a
|
|
||||||
href="javascript:void(0)"
|
|
||||||
role="tooltip"
|
|
||||||
aria-haspopup="true"
|
|
||||||
class="tooltip tooltip-lg tooltip-top-left top-7 cron-tooltip">
|
|
||||||
<clr-icon
|
|
||||||
shape="info-circle"
|
|
||||||
class="info-tips-icon"
|
|
||||||
size="24"></clr-icon>
|
|
||||||
<div class="tooltip-content table-box">
|
|
||||||
<cron-tooltip></cron-tooltip>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -343,3 +343,11 @@ clr-modal {
|
||||||
.label-input {
|
.label-input {
|
||||||
padding-right: 1.2rem;
|
padding-right: 1.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.no-extend {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cron-input {
|
||||||
|
width: 12rem;
|
||||||
|
}
|
||||||
|
|
|
@ -730,6 +730,16 @@ export class CreateEditRuleComponent implements OnInit, OnDestroy {
|
||||||
this.ruleForm?.get('trigger')?.get('trigger_settings')?.get('cron')
|
this.ruleForm?.get('trigger')?.get('trigger_settings')?.get('cron')
|
||||||
?.dirty
|
?.dirty
|
||||||
) {
|
) {
|
||||||
|
if (
|
||||||
|
!this.ruleForm
|
||||||
|
?.get('trigger')
|
||||||
|
?.get('trigger_settings')
|
||||||
|
?.get('cron')
|
||||||
|
?.value?.startsWith(PREFIX)
|
||||||
|
) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
this.ruleForm
|
this.ruleForm
|
||||||
?.get('trigger')
|
?.get('trigger')
|
||||||
|
|
|
@ -660,10 +660,11 @@
|
||||||
"BANDWIDTH_TOOLTIP": "Legt die maximale Netzwerkbandbreite für jede Ausführung fest. Bitte auf die Anzahl der parallelen Ausführungen achten. Für umbegrenzte Bandbreite, bitte -1 eingeben",
|
"BANDWIDTH_TOOLTIP": "Legt die maximale Netzwerkbandbreite für jede Ausführung fest. Bitte auf die Anzahl der parallelen Ausführungen achten. Für umbegrenzte Bandbreite, bitte -1 eingeben",
|
||||||
"UNLIMITED": "Unbegrenzt",
|
"UNLIMITED": "Unbegrenzt",
|
||||||
"UNREACHABLE_SOURCE_REGISTRY": "Verbindung zur Quell-Registry fehlgeschlagen, bitte sicherstellen, dass die Quell-Registry verfügbar ist, bevor diese Regel angepasst wird: {{error}}",
|
"UNREACHABLE_SOURCE_REGISTRY": "Verbindung zur Quell-Registry fehlgeschlagen, bitte sicherstellen, dass die Quell-Registry verfügbar ist, bevor diese Regel angepasst wird: {{error}}",
|
||||||
"CRON_ERROR_TIP": "Das Feld ist erforderlich und \"*\" ist im \"Minuten\" Feld nicht erlaubt",
|
"CRON_ERROR_TIP": "The 1st field of the cron string must be 0 and the 2nd filed can not be \"*\"",
|
||||||
"COPY_BY_CHUNK": "Copy by chunk",
|
"COPY_BY_CHUNK": "Copy by chunk",
|
||||||
"COPY_BY_CHUNK_TIP": "Specify whether to copy the blob by chunk. Transfer by chunk may increase the number of API requests.",
|
"COPY_BY_CHUNK_TIP": "Specify whether to copy the blob by chunk. Transfer by chunk may increase the number of API requests.",
|
||||||
"TRIGGER_STOP_SUCCESS": "Triggered stopping execution successfully"
|
"TRIGGER_STOP_SUCCESS": "Triggered stopping execution successfully",
|
||||||
|
"CRON_STR": "Cron String"
|
||||||
},
|
},
|
||||||
"DESTINATION": {
|
"DESTINATION": {
|
||||||
"NEW_ENDPOINT": "Neuer Endpunkt",
|
"NEW_ENDPOINT": "Neuer Endpunkt",
|
||||||
|
|
|
@ -661,10 +661,11 @@
|
||||||
"BANDWIDTH_TOOLTIP": "Set the maximum network bandwidth for each execution. Please pay attention to the number of concurrent executions. For unlimited bandwidth, please enter -1",
|
"BANDWIDTH_TOOLTIP": "Set the maximum network bandwidth for each execution. Please pay attention to the number of concurrent executions. For unlimited bandwidth, please enter -1",
|
||||||
"UNLIMITED": "Unlimited",
|
"UNLIMITED": "Unlimited",
|
||||||
"UNREACHABLE_SOURCE_REGISTRY": "Failed to connect to the source registry, please make sure the source registry is available before editing this rule: {{error}}",
|
"UNREACHABLE_SOURCE_REGISTRY": "Failed to connect to the source registry, please make sure the source registry is available before editing this rule: {{error}}",
|
||||||
"CRON_ERROR_TIP": "Field is required and \"*\" is not allowed for the \"Minutes\" field",
|
"CRON_ERROR_TIP": "The 1st field of the cron string must be 0 and the 2nd filed can not be \"*\"",
|
||||||
"COPY_BY_CHUNK": "Copy by chunk",
|
"COPY_BY_CHUNK": "Copy by chunk",
|
||||||
"COPY_BY_CHUNK_TIP": "Specify whether to copy the blob by chunk. Transfer by chunk may increase the number of API requests.",
|
"COPY_BY_CHUNK_TIP": "Specify whether to copy the blob by chunk. Transfer by chunk may increase the number of API requests.",
|
||||||
"TRIGGER_STOP_SUCCESS": "Triggered stopping execution successfully"
|
"TRIGGER_STOP_SUCCESS": "Triggered stopping execution successfully",
|
||||||
|
"CRON_STR": "Cron String"
|
||||||
},
|
},
|
||||||
"DESTINATION": {
|
"DESTINATION": {
|
||||||
"NEW_ENDPOINT": "New Endpoint",
|
"NEW_ENDPOINT": "New Endpoint",
|
||||||
|
|
|
@ -661,10 +661,11 @@
|
||||||
"BANDWIDTH_TOOLTIP": "Set the maximum network bandwidth for each execution. Please pay attention to the number of concurrent executions. For unlimited bandwidth, please enter -1",
|
"BANDWIDTH_TOOLTIP": "Set the maximum network bandwidth for each execution. Please pay attention to the number of concurrent executions. For unlimited bandwidth, please enter -1",
|
||||||
"UNLIMITED": "Unlimited",
|
"UNLIMITED": "Unlimited",
|
||||||
"UNREACHABLE_SOURCE_REGISTRY": "Failed to connect to the source registry, please make sure the source registry is available before editing this rule: {{error}}",
|
"UNREACHABLE_SOURCE_REGISTRY": "Failed to connect to the source registry, please make sure the source registry is available before editing this rule: {{error}}",
|
||||||
"CRON_ERROR_TIP": "Field is required and \"*\" is not allowed for the \"Minutes\" field",
|
"CRON_ERROR_TIP": "The 1st field of the cron string must be 0 and the 2nd filed can not be \"*\"",
|
||||||
"COPY_BY_CHUNK": "Copy by chunk",
|
"COPY_BY_CHUNK": "Copy by chunk",
|
||||||
"COPY_BY_CHUNK_TIP": "Specify whether to copy the blob by chunk. Transfer by chunk may increase the number of API requests.",
|
"COPY_BY_CHUNK_TIP": "Specify whether to copy the blob by chunk. Transfer by chunk may increase the number of API requests.",
|
||||||
"TRIGGER_STOP_SUCCESS": "Triggered stopping execution successfully"
|
"TRIGGER_STOP_SUCCESS": "Triggered stopping execution successfully",
|
||||||
|
"CRON_STR": "Cron String"
|
||||||
},
|
},
|
||||||
"DESTINATION": {
|
"DESTINATION": {
|
||||||
"NEW_ENDPOINT": "Nuevo Endpoint",
|
"NEW_ENDPOINT": "Nuevo Endpoint",
|
||||||
|
|
|
@ -647,10 +647,11 @@
|
||||||
"BANDWIDTH_TOOLTIP": "Définissez la bande passante réseau maximale pour chaque exécution. Veuillez faire attention au nombre d'exécutions simultanées. Pour une bande passante illimitée, veuillez entrer -1",
|
"BANDWIDTH_TOOLTIP": "Définissez la bande passante réseau maximale pour chaque exécution. Veuillez faire attention au nombre d'exécutions simultanées. Pour une bande passante illimitée, veuillez entrer -1",
|
||||||
"UNLIMITED": "Illimitée",
|
"UNLIMITED": "Illimitée",
|
||||||
"UNREACHABLE_SOURCE_REGISTRY": "Échec de connexion au registre source. Veuillez vérifier que le registre source est disponible avant d'éditer cette règle: {{error}}",
|
"UNREACHABLE_SOURCE_REGISTRY": "Échec de connexion au registre source. Veuillez vérifier que le registre source est disponible avant d'éditer cette règle: {{error}}",
|
||||||
"CRON_ERROR_TIP": "Ce champ est requis et \"*\" n'est pas autorisé pour le champ \"Minutes\"",
|
"CRON_ERROR_TIP": "The 1st field of the cron string must be 0 and the 2nd filed can not be \"*\"",
|
||||||
"COPY_BY_CHUNK": "Copier par morceaux",
|
"COPY_BY_CHUNK": "Copier par morceaux",
|
||||||
"COPY_BY_CHUNK_TIP": "Specifie si le blob doit être copié par morceaux. Transférer par morceaux peut augmenter le nombre de requêtes faites à l'API.",
|
"COPY_BY_CHUNK_TIP": "Specifie si le blob doit être copié par morceaux. Transférer par morceaux peut augmenter le nombre de requêtes faites à l'API.",
|
||||||
"TRIGGER_STOP_SUCCESS": "Déclenchement avec succès de l'arrêt d'exécution"
|
"TRIGGER_STOP_SUCCESS": "Déclenchement avec succès de l'arrêt d'exécution",
|
||||||
|
"CRON_STR": "Cron String"
|
||||||
},
|
},
|
||||||
"DESTINATION": {
|
"DESTINATION": {
|
||||||
"NEW_ENDPOINT": "Nouveau Endpoint",
|
"NEW_ENDPOINT": "Nouveau Endpoint",
|
||||||
|
|
|
@ -659,10 +659,11 @@
|
||||||
"BANDWIDTH_TOOLTIP": "Informe o limite de banda para cada execução. Tome cuidado e observe a relação com o número de execuções simultâneas. Para remover qualquer limite, informe -1",
|
"BANDWIDTH_TOOLTIP": "Informe o limite de banda para cada execução. Tome cuidado e observe a relação com o número de execuções simultâneas. Para remover qualquer limite, informe -1",
|
||||||
"UNLIMITED": "Ilimitado",
|
"UNLIMITED": "Ilimitado",
|
||||||
"UNREACHABLE_SOURCE_REGISTRY": "Failed to connect to the source registry, please make sure the source registry is available before editing this rule: {{error}}",
|
"UNREACHABLE_SOURCE_REGISTRY": "Failed to connect to the source registry, please make sure the source registry is available before editing this rule: {{error}}",
|
||||||
"CRON_ERROR_TIP": "Field is required and \"*\"is not allowed for the \"Minutes\" field",
|
"CRON_ERROR_TIP": "The 1st field of the cron string must be 0 and the 2nd filed can not be \"*\"",
|
||||||
"COPY_BY_CHUNK": "Copy by chunk",
|
"COPY_BY_CHUNK": "Copy by chunk",
|
||||||
"COPY_BY_CHUNK_TIP": "Specify whether to copy the blob by chunk. Transfer by chunk may increase the number of API requests.",
|
"COPY_BY_CHUNK_TIP": "Specify whether to copy the blob by chunk. Transfer by chunk may increase the number of API requests.",
|
||||||
"TRIGGER_STOP_SUCCESS": "Triggered stopping execution successfully"
|
"TRIGGER_STOP_SUCCESS": "Triggered stopping execution successfully",
|
||||||
|
"CRON_STR": "Cron String"
|
||||||
},
|
},
|
||||||
"DESTINATION": {
|
"DESTINATION": {
|
||||||
"NEW_ENDPOINT": "Novo Endereço",
|
"NEW_ENDPOINT": "Novo Endereço",
|
||||||
|
|
|
@ -660,10 +660,11 @@
|
||||||
"BANDWIDTH_TOOLTIP": "Set the maximum network bandwidth for each execution. Please pay attention to the number of concurrent executions. For unlimited bandwidth, please enter -1",
|
"BANDWIDTH_TOOLTIP": "Set the maximum network bandwidth for each execution. Please pay attention to the number of concurrent executions. For unlimited bandwidth, please enter -1",
|
||||||
"UNLIMITED": "Unlimited",
|
"UNLIMITED": "Unlimited",
|
||||||
"UNREACHABLE_SOURCE_REGISTRY": "Failed to connect to the source registry, please make sure the source registry is available before editing this rule: {{error}}",
|
"UNREACHABLE_SOURCE_REGISTRY": "Failed to connect to the source registry, please make sure the source registry is available before editing this rule: {{error}}",
|
||||||
"CRON_ERROR_TIP": "Field is required and \"*\" is not allowed for the \"Minutes\" field",
|
"CRON_ERROR_TIP": "The 1st field of the cron string must be 0 and the 2nd filed can not be \"*\"",
|
||||||
"COPY_BY_CHUNK": "Copy by chunk",
|
"COPY_BY_CHUNK": "Copy by chunk",
|
||||||
"COPY_BY_CHUNK_TIP": "Specify whether to copy the blob by chunk. Transfer by chunk may increase the number of API requests.",
|
"COPY_BY_CHUNK_TIP": "Specify whether to copy the blob by chunk. Transfer by chunk may increase the number of API requests.",
|
||||||
"TRIGGER_STOP_SUCCESS": "Triggered stopping execution successfully"
|
"TRIGGER_STOP_SUCCESS": "Triggered stopping execution successfully",
|
||||||
|
"CRON_STR": "Cron String"
|
||||||
},
|
},
|
||||||
"DESTINATION": {
|
"DESTINATION": {
|
||||||
"NEW_ENDPOINT": "Yeni Uç Nokta",
|
"NEW_ENDPOINT": "Yeni Uç Nokta",
|
||||||
|
|
|
@ -660,10 +660,11 @@
|
||||||
"BANDWIDTH_TOOLTIP": "设置执行该条同步规则时的最大网络带宽。实际总带宽需要考虑并发执行的情况。如无需限制,请输入-1",
|
"BANDWIDTH_TOOLTIP": "设置执行该条同步规则时的最大网络带宽。实际总带宽需要考虑并发执行的情况。如无需限制,请输入-1",
|
||||||
"UNLIMITED": "无限制",
|
"UNLIMITED": "无限制",
|
||||||
"UNREACHABLE_SOURCE_REGISTRY": "连接源仓库失败,在编辑此规则前请先确保源仓库可用: {{error}}",
|
"UNREACHABLE_SOURCE_REGISTRY": "连接源仓库失败,在编辑此规则前请先确保源仓库可用: {{error}}",
|
||||||
"CRON_ERROR_TIP": "此项必填且\"分钟\"项不能为\"*\"",
|
"CRON_ERROR_TIP": "Cron 字符串的第一项必须为0且第二项不能为\"*\"",
|
||||||
"COPY_BY_CHUNK": "分块复制",
|
"COPY_BY_CHUNK": "分块复制",
|
||||||
"COPY_BY_CHUNK_TIP": "请指定是否开启分块复制。开启此项可能导致相应的 API 请求数量增加。",
|
"COPY_BY_CHUNK_TIP": "请指定是否开启分块复制。开启此项可能导致相应的 API 请求数量增加。",
|
||||||
"TRIGGER_STOP_SUCCESS": "成功触发停止执行"
|
"TRIGGER_STOP_SUCCESS": "成功触发停止执行",
|
||||||
|
"CRON_STR": "Cron"
|
||||||
},
|
},
|
||||||
"DESTINATION": {
|
"DESTINATION": {
|
||||||
"NEW_ENDPOINT": "新建目标",
|
"NEW_ENDPOINT": "新建目标",
|
||||||
|
|
|
@ -656,10 +656,11 @@
|
||||||
"BANDWIDTH_TOOLTIP": "設定每個執行的最大網路頻寬。請注意並發執行的數量。若要無限制頻寬,請輸入 -1",
|
"BANDWIDTH_TOOLTIP": "設定每個執行的最大網路頻寬。請注意並發執行的數量。若要無限制頻寬,請輸入 -1",
|
||||||
"UNLIMITED": "無限制",
|
"UNLIMITED": "無限制",
|
||||||
"UNREACHABLE_SOURCE_REGISTRY": "無法連接到來源登錄,請在編輯此規則之前確保來源登錄可用:{{error}}",
|
"UNREACHABLE_SOURCE_REGISTRY": "無法連接到來源登錄,請在編輯此規則之前確保來源登錄可用:{{error}}",
|
||||||
"CRON_ERROR_TIP": "欄位為必填,「分鐘」欄位不允許使用「*」",
|
"CRON_ERROR_TIP": "The 1st field of the cron string must be 0 and the 2nd filed can not be \"*\"",
|
||||||
"COPY_BY_CHUNK": "分段複製",
|
"COPY_BY_CHUNK": "分段複製",
|
||||||
"COPY_BY_CHUNK_TIP": "指定是否按分段複製 blob。分段傳輸可能會增加 API 請求的數量。",
|
"COPY_BY_CHUNK_TIP": "指定是否按分段複製 blob。分段傳輸可能會增加 API 請求的數量。",
|
||||||
"TRIGGER_STOP_SUCCESS": "成功觸發停止執行"
|
"TRIGGER_STOP_SUCCESS": "成功觸發停止執行",
|
||||||
|
"CRON_STR": "Cron String"
|
||||||
},
|
},
|
||||||
"DESTINATION": {
|
"DESTINATION": {
|
||||||
"NEW_ENDPOINT": "新增目標",
|
"NEW_ENDPOINT": "新增目標",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user