diff --git a/src/portal/src/app/base/left-side-nav/replication/replication/create-edit-rule/create-edit-rule.component.scss b/src/portal/src/app/base/left-side-nav/replication/replication/create-edit-rule/create-edit-rule.component.scss
index 47254f297..9eeee69a4 100644
--- a/src/portal/src/app/base/left-side-nav/replication/replication/create-edit-rule/create-edit-rule.component.scss
+++ b/src/portal/src/app/base/left-side-nav/replication/replication/create-edit-rule/create-edit-rule.component.scss
@@ -283,4 +283,6 @@ clr-modal {
.select-width {
min-width:11rem;
}
-
+.flex {
+ display: flex;
+}
diff --git a/src/portal/src/app/base/left-side-nav/replication/replication/create-edit-rule/create-edit-rule.component.ts b/src/portal/src/app/base/left-side-nav/replication/replication/create-edit-rule/create-edit-rule.component.ts
index bd17829f7..f313e3882 100644
--- a/src/portal/src/app/base/left-side-nav/replication/replication/create-edit-rule/create-edit-rule.component.ts
+++ b/src/portal/src/app/base/left-side-nav/replication/replication/create-edit-rule/create-edit-rule.component.ts
@@ -183,7 +183,7 @@ export class CreateEditRuleComponent implements OnInit, OnDestroy {
!this.isRuleNameValid ||
(!this.isPushMode && !sourceRegistry ||
this.isPushMode && !destRegistry)
- || !(!this.isNotSchedule() && cron && this.cronInputValid(this.ruleForm.value.trigger.trigger_settings.cron || '')
+ || !(!this.isNotSchedule() && cron && cronRegex(this.ruleForm.value.trigger.trigger_settings.cron || '')
|| this.isNotSchedule()));
}
@@ -545,19 +545,13 @@ export class CreateEditRuleComponent implements OnInit, OnDestroy {
}
return filtersArray;
}
- cronInputValid(cronValue): boolean {
- return cronRegex(cronValue);
- }
- get cronTouched(): boolean {
- let triggerControl = this.ruleForm.controls.trigger as FormGroup;
- if (!triggerControl) {
- return false;
- }
- let trigger_settingsControls = triggerControl.controls.trigger_settings as FormGroup;
- if (!trigger_settingsControls) {
- return false;
- }
- return trigger_settingsControls.controls.cron.touched || trigger_settingsControls.controls.cron.dirty;
+ cronInputShouldShowError(): boolean {
+ return this.ruleForm && this.ruleForm.get('trigger')
+ && this.ruleForm.get('trigger').get('trigger_settings')
+ && this.ruleForm.get('trigger').get('trigger_settings').get('cron')
+ && (this.ruleForm.get('trigger').get('trigger_settings').get('cron').touched
+ || this.ruleForm.get('trigger').get('trigger_settings').get('cron').dirty)
+ && !cronRegex(this.ruleForm.get('trigger').get('trigger_settings').get('cron').value);
}
stickLabel(value, index) {
value.select = !value.select;
@@ -582,6 +576,10 @@ export class CreateEditRuleComponent implements OnInit, OnDestroy {
if (!e.target.value || (e.target.value && e.target.value.indexOf(PREFIX)) !== 0) {
e.target.value = PREFIX;
}
+ e.target.value = e.target.value.replace(/\s+/g, ' ');
+ if (e.target.value && e.target.value.split(/\s+/g).length > 6) {
+ e.target.value = e.target.value.trim();
+ }
}
}
}
diff --git a/src/portal/src/app/shared/components/cron-schedule/cron-schedule.component.html b/src/portal/src/app/shared/components/cron-schedule/cron-schedule.component.html
index 165623b6b..dc8d2a965 100644
--- a/src/portal/src/app/shared/components/cron-schedule/cron-schedule.component.html
+++ b/src/portal/src/app/shared/components/cron-schedule/cron-schedule.component.html
@@ -40,7 +40,7 @@