@gidoont/ngx-cron-editor
Advanced tools
Comparing version 0.0.5 to 0.0.6
@@ -15,3 +15,3 @@ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms"),require("@angular/material/form-field"),require("@angular/material/tabs"),require("@angular/material/list"),require("@angular/material/select"),require("@angular/material/input"),require("@angular/material/radio"),require("@angular/common"),require("@angular/material/checkbox")):"function"==typeof define&&define.amd?define("@gidoont/ngx-cron-editor",["exports","@angular/core","@angular/forms","@angular/material/form-field","@angular/material/tabs","@angular/material/list","@angular/material/select","@angular/material/input","@angular/material/radio","@angular/common","@angular/material/checkbox"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).gidoont=e.gidoont||{},e.gidoont["ngx-cron-editor"]={}),e.ng.core,e.ng.forms,e.ng.material.formField,e.ng.material.tabs,e.ng.material.list,e.ng.material.select,e.ng.material.input,e.ng.material.radio,e.ng.common,e.ng.material.checkbox)}(this,(function(e,t,r,n,o,a,s,i,c,l,m){"use strict"; | ||
PERFORMANCE OF THIS SOFTWARE. | ||
***************************************************************************** */function u(e,t,r,n){return new(r||(r=Promise))((function(o,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,i)}c((n=n.apply(e,t||[])).next())}))}function h(e,t){var r,n,o,a,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,n=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}Object.create;function p(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)s.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return s}function y(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(p(arguments[t]));return e}Object.create;function d(e,t){var r;return h(this,(function(n){switch(n.label){case 0:r=e,n.label=1;case 1:return r<=t?[4,r]:[3,4];case 2:n.sent(),n.label=3;case 3:return r++,[3,1];case 4:return[2]}}))}var f=function(){function e(e){this.parent=e,this.use24HourTime=!0,this.hideHours=!1,this.hideMinutes=!1,this.hideSeconds=!0,this.minutes=y(d(0,59)),this.seconds=y(d(0,59)),this.hourTypes=["AM","PM"]}return Object.defineProperty(e.prototype,"hours",{get:function(){return this.use24HourTime?y(d(0,23)):y(d(0,12))},enumerable:!1,configurable:!0}),e}();f.decorators=[{type:t.Component,args:[{selector:"cron-time-picker",template:'<span [formGroup]="parent.control">\r\n\r\n <ng-container *ngIf="!hideHours">\r\n <mat-form-field>\r\n <mat-label>Hour(s)</mat-label>\r\n <mat-select formControlName="hours">\r\n <mat-option *ngFor="let hour of hours" [value]="hour">{{hour}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n <ng-container *ngIf="!hideMinutes">\r\n <span *ngIf="!hideHours">:</span>\r\n <mat-form-field>\r\n <mat-label>Minute(s)</mat-label>\r\n <mat-select formControlName="minutes">\r\n <mat-option *ngFor="let minute of minutes" [value]="minute">{{minute}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf="!hideSeconds">\r\n <span *ngIf="!hideMinutes">:</span>\r\n <mat-form-field>\r\n <mat-label>Second(s)</mat-label>\r\n <mat-select formControlName="seconds">\r\n <mat-option *ngFor="let second of seconds" [value]="second">{{second}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf="!use24HourTime">\r\n <span></span>.\r\n <mat-form-field>\r\n <mat-select formControlName="hourType">\r\n <mat-option *ngFor="let hourType of hourTypes" [value]="hourType">{{hourType}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n</span>\r\n',providers:[{provide:n.MAT_FORM_FIELD_DEFAULT_OPTIONS,useValue:{appearance:"outline",floatLabel:"always"}}]}]}],f.ctorParameters=function(){return[{type:r.ControlContainer}]},f.propDecorators={disabled:[{type:t.Input}],use24HourTime:[{type:t.Input}],hideHours:[{type:t.Input}],hideMinutes:[{type:t.Input}],hideSeconds:[{type:t.Input}]};var b,g={SUN:"Sunday",MON:"Monday",TUE:"Tuesday",WED:"Wednesday",THU:"Thursday",FRI:"Friday",SAT:"Saturday"},D={"#1":"First","#2":"Second","#3":"Third","#4":"Fourth","#5":"Fifth",L:"Last"};(b=e.Months||(e.Months={}))[b.January=1]="January",b[b.February=2]="February",b[b.March=3]="March",b[b.April=4]="April",b[b.May=5]="May",b[b.June=6]="June",b[b.July=7]="July",b[b.August=8]="August",b[b.September=9]="September",b[b.October=10]="October",b[b.November=11]="November",b[b.December=12]="December";var v={provide:r.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return T})),multi:!0},k={appearance:"outline",floatLabel:"always"},T=function(){function t(e){this.fb=e,this.selectOptions=this.getSelectOptions(),this.localCron="0 0 1/1 * *",this.onChange=function(e){},this.onTouched=function(){}}return Object.defineProperty(t.prototype,"cron",{get:function(){return this.localCron},set:function(e){this.localCron=e,this.onChange(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isCronFlavorQuartz",{get:function(){return"quartz"===this.options.cronFlavor},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isCronFlavorStandard",{get:function(){return"standard"===this.options.cronFlavor},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"yearDefaultChar",{get:function(){return"quartz"===this.options.cronFlavor?"*":""},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"weekDayDefaultChar",{get:function(){return"quartz"===this.options.cronFlavor?"?":"*"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"monthDayDefaultChar",{get:function(){return"quartz"===this.options.cronFlavor?"?":"*"},enumerable:!1,configurable:!0}),t.prototype.onTabFocus=function(e){switch(e){case 0:this.minutesForm.setValue(this.minutesForm.value);break;case 1:this.hourlyForm.setValue(this.hourlyForm.value);break;case 2:this.dailyForm.setValue(this.dailyForm.value);break;case 3:this.weeklyForm.setValue(this.weeklyForm.value);break;case 4:this.monthlyForm.setValue(this.monthlyForm.value);break;case 5:this.yearlyForm.setValue(this.yearlyForm.value);break;case 6:this.advancedForm.setValue(this.advancedForm.value);break;default:throw new Error("Invalid tab selected")}},t.prototype.ngOnInit=function(){return u(this,void 0,void 0,(function(){var e,t,n,o,a=this;return h(this,(function(s){return this.state=this.getDefaultState(),this.handleModelChange(this.cron),e=p(this.options.defaultTime.split(":").map(Number),3),t=e[0],n=e[1],o=e[2],this.cronForm=new r.FormControl("0 0 1/1 * *"),this.minutesForm=this.fb.group({hours:[0],minutes:[1],seconds:[0]}),this.minutesForm.valueChanges.subscribe((function(e){return a.computeMinutesCron(e)})),this.hourlyForm=this.fb.group({hours:[1],minutes:[0],seconds:[0]}),this.hourlyForm.valueChanges.subscribe((function(e){return a.computeHourlyCron(e)})),this.dailyForm=this.fb.group({subTab:["everyDays"],everyDays:this.fb.group({days:[1],hours:[this.getAmPmHour(1)],minutes:[0],seconds:[0],hourType:[this.getHourType(0)]}),everyWeekDay:this.fb.group({days:[0],hours:[this.getAmPmHour(1)],minutes:[0],seconds:[0],hourType:[this.getHourType(0)]})}),this.dailyForm.valueChanges.subscribe((function(e){return a.computeDailyCron(e)})),this.weeklyForm=this.fb.group({MON:[!0],TUE:[!1],WED:[!1],THU:[!1],FRI:[!1],SAT:[!1],SUN:[!1],hours:[this.getAmPmHour(t)],minutes:[n],seconds:[o],hourType:[this.getHourType(t)]}),this.weeklyForm.valueChanges.subscribe((function(e){return a.computeWeeklyCron(e)})),this.monthlyForm=this.fb.group({subTab:["specificDay"],specificDay:this.fb.group({day:["1"],months:[1],hours:[this.getAmPmHour(t)],minutes:[n],seconds:[o],hourType:[this.getHourType(t)]}),specificWeekDay:this.fb.group({monthWeek:["#1"],day:["MON"],months:[1],hours:[this.getAmPmHour(t)],minutes:[n],seconds:[o],hourType:[this.getHourType(t)]})}),this.monthlyForm.valueChanges.subscribe((function(e){return a.computeMonthlyCron(e)})),this.yearlyForm=this.fb.group({subTab:["specificMonthDay"],specificMonthDay:this.fb.group({month:[1],day:["1"],hours:[this.getAmPmHour(t)],minutes:[n],seconds:[o],hourType:[this.getHourType(t)]}),specificMonthWeek:this.fb.group({monthWeek:["#1"],day:["MON"],month:[1],hours:[this.getAmPmHour(t)],minutes:[n],seconds:[o],hourType:[this.getHourType(t)]})}),this.yearlyForm.valueChanges.subscribe((function(e){return a.computeYearlyCron(e)})),this.advancedForm=this.fb.group({expression:[this.isCronFlavorQuartz?"0 15 10 L-2 * ? *":"15 10 2 * *"]}),this.advancedForm.controls.expression.valueChanges.subscribe((function(e){return a.computeAdvancedExpression(e)})),[2]}))}))},t.prototype.computeMinutesCron=function(e){this.cron=((this.isCronFlavorQuartz?e.seconds:"")+" 0/"+e.minutes+" * 1/1 * "+this.weekDayDefaultChar+" "+this.yearDefaultChar).trim(),this.cronForm.setValue(this.cron)},t.prototype.computeHourlyCron=function(e){this.cron=((this.isCronFlavorQuartz?e.seconds:"")+" "+e.minutes+" 0/"+e.hours+" 1/1 * "+this.weekDayDefaultChar+" "+this.yearDefaultChar).trim(),this.cronForm.setValue(this.cron)},t.prototype.computeDailyCron=function(e){switch(e.subTab){case"everyDays":this.cron=((this.isCronFlavorQuartz?e.everyDays.seconds:"")+" "+e.everyDays.minutes+" "+this.hourToCron(e.everyDays.hours,e.everyDays.hourType)+" 1/"+e.everyDays.days+" * "+this.weekDayDefaultChar+" "+this.yearDefaultChar).trim();break;case"everyWeekDay":this.cron=((this.isCronFlavorQuartz?e.everyWeekDay.seconds:"")+" "+e.everyWeekDay.minutes+" "+this.hourToCron(e.everyWeekDay.hours,e.everyWeekDay.hourType)+" "+this.monthDayDefaultChar+" * MON-FRI "+this.yearDefaultChar).trim();break;default:throw new Error("Invalid cron daily subtab selection")}this.cronForm.setValue(this.cron)},t.prototype.computeWeeklyCron=function(e){var t=this.selectOptions.days.reduce((function(t,r){return e[r]?t.concat([r]):t}),[]).join(",");this.cron=((this.isCronFlavorQuartz?e.seconds:"")+" "+e.minutes+" "+this.hourToCron(e.hours,e.hourType)+" "+this.monthDayDefaultChar+" * "+t+" "+this.yearDefaultChar).trim(),this.cronForm.setValue(this.cron)},t.prototype.computeMonthlyCron=function(e){switch(e.subTab){case"specificDay":this.cron=((this.isCronFlavorQuartz?e.specificDay.seconds:"")+" "+e.specificDay.minutes+" "+this.hourToCron(e.specificDay.hours,e.specificDay.hourType)+" "+e.specificDay.day+" 1/"+e.specificDay.months+" "+this.weekDayDefaultChar+" "+this.yearDefaultChar).trim();break;case"specificWeekDay":this.cron=((this.isCronFlavorQuartz?e.specificWeekDay.seconds:"")+" "+e.specificWeekDay.minutes+" "+this.hourToCron(e.specificWeekDay.hours,e.specificWeekDay.hourType)+" "+this.monthDayDefaultChar+" 1/"+e.specificWeekDay.months+" "+e.specificWeekDay.day+e.specificWeekDay.monthWeek+" "+this.yearDefaultChar).trim();break;default:throw new Error("Invalid cron montly subtab selection")}this.cronForm.setValue(this.cron)},t.prototype.computeYearlyCron=function(e){switch(e.subTab){case"specificMonthDay":this.cron=((this.isCronFlavorQuartz?e.specificMonthDay.seconds:"")+" "+e.specificMonthDay.minutes+" "+this.hourToCron(e.specificMonthDay.hours,e.specificMonthDay.hourType)+" "+e.specificMonthDay.day+" "+e.specificMonthDay.month+" "+this.weekDayDefaultChar+" "+this.yearDefaultChar).trim();break;case"specificMonthWeek":this.cron=((this.isCronFlavorQuartz?e.specificMonthWeek.seconds:"")+" "+e.specificMonthWeek.minutes+" "+this.hourToCron(e.specificMonthWeek.hours,e.specificMonthWeek.hourType)+" "+this.monthDayDefaultChar+" "+e.specificMonthWeek.month+" "+e.specificMonthWeek.day+e.specificMonthWeek.monthWeek+" "+this.yearDefaultChar).trim();break;default:throw new Error("Invalid cron yearly subtab selection")}this.cronForm.setValue(this.cron)},t.prototype.computeAdvancedExpression=function(e){this.cron=e,this.cronForm.setValue(this.cron)},t.prototype.dayDisplay=function(e){return g[e]},t.prototype.monthWeekDisplay=function(e){return D[e]},t.prototype.monthDisplay=function(t){return e.Months[t]},t.prototype.monthDayDisplay=function(e){return"L"===e?"Last Day":"LW"===e?"Last Weekday":"1W"===e?"First Weekday":""+e+this.getOrdinalSuffix(e)},t.prototype.getAmPmHour=function(e){return this.options.use24HourTime?e:(e+11)%12+1},t.prototype.getHourType=function(e){return this.options.use24HourTime?void 0:e>=12?"PM":"AM"},t.prototype.hourToCron=function(e,t){return this.options.use24HourTime?e:"AM"===t?12===e?0:e:12===e?12:e+12},t.prototype.handleModelChange=function(e){var t=this;if(this.isDirty)this.isDirty=!1;else{if(this.isDirty=!1,!this.cronIsValid(e)){if(this.isCronFlavorQuartz)throw new Error("Invalid cron expression, there must be 6 or 7 segments");if(this.isCronFlavorStandard)throw new Error("Invalid cron expression, there must be 5 segments")}var r=e;5===e.split(" ").length&&this.isCronFlavorStandard&&(e="0 "+e+" *");var n=p(e.split(" "),6),o=n[0],a=n[1],s=n[2],i=n[3],c=n[4],l=n[5];if(e.match(/\d+ 0\/\d+ \* 1\/1 \* [\?\*] \*/))this.activeTab="minutes",this.state.minutes.minutes=parseInt(a.substring(2),10),this.state.minutes.seconds=parseInt(o,10);else if(e.match(/\d+ \d+ 0\/\d+ 1\/1 \* [\?\*] \*/))this.activeTab="hourly",this.state.hourly.hours=parseInt(s.substring(2),10),this.state.hourly.minutes=parseInt(a,10),this.state.hourly.seconds=parseInt(o,10);else if(e.match(/\d+ \d+ \d+ 1\/\d+ \* [\?\*] \*/)){this.activeTab="daily",this.state.daily.subTab="everyDays",this.state.daily.everyDays.days=parseInt(i.substring(2),10);var m=parseInt(s,10);this.state.daily.everyDays.hours=this.getAmPmHour(m),this.state.daily.everyDays.hourType=this.getHourType(m),this.state.daily.everyDays.minutes=parseInt(a,10),this.state.daily.everyDays.seconds=parseInt(o,10)}else if(e.match(/\d+ \d+ \d+ [\?\*] \* MON-FRI \*/)){this.activeTab="daily",this.state.daily.subTab="everyWeekDay";m=parseInt(s,10);this.state.daily.everyWeekDay.hours=this.getAmPmHour(m),this.state.daily.everyWeekDay.hourType=this.getHourType(m),this.state.daily.everyWeekDay.minutes=parseInt(a,10),this.state.daily.everyWeekDay.seconds=parseInt(o,10)}else if(e.match(/\d+ \d+ \d+ [\?\*] \* (MON|TUE|WED|THU|FRI|SAT|SUN)(,(MON|TUE|WED|THU|FRI|SAT|SUN))* \*/)){this.activeTab="weekly",this.selectOptions.days.forEach((function(e){return t.state.weekly[e]=!1})),l.split(",").forEach((function(e){return t.state.weekly[e]=!0}));m=parseInt(s,10);this.state.weekly.hours=this.getAmPmHour(m),this.state.weekly.hourType=this.getHourType(m),this.state.weekly.minutes=parseInt(a,10),this.state.weekly.seconds=parseInt(o,10)}else if(e.match(/\d+ \d+ \d+ (\d+|L|LW|1W) 1\/\d+ [\?\*] \*/)){this.activeTab="monthly",this.state.monthly.subTab="specificDay",this.state.monthly.specificDay.day=i,this.state.monthly.specificDay.months=parseInt(c.substring(2),10);m=parseInt(s,10);this.state.monthly.specificDay.hours=this.getAmPmHour(m),this.state.monthly.specificDay.hourType=this.getHourType(m),this.state.monthly.specificDay.minutes=parseInt(a,10),this.state.monthly.specificDay.seconds=parseInt(o,10)}else if(e.match(/\d+ \d+ \d+ [\?\*] 1\/\d+ (MON|TUE|WED|THU|FRI|SAT|SUN)((#[1-5])|L) \*/)){var u=l.substr(0,3),h=l.substr(3);this.activeTab="monthly",this.state.monthly.subTab="specificWeekDay",this.state.monthly.specificWeekDay.monthWeek=h,this.state.monthly.specificWeekDay.day=u,this.state.monthly.specificWeekDay.months=parseInt(c.substring(2),10);m=parseInt(s,10);this.state.monthly.specificWeekDay.hours=this.getAmPmHour(m),this.state.monthly.specificWeekDay.hourType=this.getHourType(m),this.state.monthly.specificWeekDay.minutes=parseInt(a,10),this.state.monthly.specificWeekDay.seconds=parseInt(o,10)}else if(e.match(/\d+ \d+ \d+ (\d+|L|LW|1W) \d+ [\?\*] \*/)){this.activeTab="yearly",this.state.yearly.subTab="specificMonthDay",this.state.yearly.specificMonthDay.month=parseInt(c,10),this.state.yearly.specificMonthDay.day=i;m=parseInt(s,10);this.state.yearly.specificMonthDay.hours=this.getAmPmHour(m),this.state.yearly.specificMonthDay.hourType=this.getHourType(m),this.state.yearly.specificMonthDay.minutes=parseInt(a,10),this.state.yearly.specificMonthDay.seconds=parseInt(o,10)}else if(e.match(/\d+ \d+ \d+ [\?\*] \d+ (MON|TUE|WED|THU|FRI|SAT|SUN)((#[1-5])|L) \*/)){u=l.substr(0,3),h=l.substr(3);this.activeTab="yearly",this.state.yearly.subTab="specificMonthWeek",this.state.yearly.specificMonthWeek.monthWeek=h,this.state.yearly.specificMonthWeek.day=u,this.state.yearly.specificMonthWeek.month=parseInt(c,10);m=parseInt(s,10);this.state.yearly.specificMonthWeek.hours=this.getAmPmHour(m),this.state.yearly.specificMonthWeek.hourType=this.getHourType(m),this.state.yearly.specificMonthWeek.minutes=parseInt(a,10),this.state.yearly.specificMonthWeek.seconds=parseInt(o,10)}else this.activeTab="advanced",this.state.advanced.expression=r}},t.prototype.cronIsValid=function(e){if(e){var t=e.split(" ");return this.isCronFlavorQuartz&&(6===t.length||7===t.length)||this.isCronFlavorStandard&&5===t.length}return!1},t.prototype.getDefaultState=function(){var e=p(this.options.defaultTime.split(":").map(Number),3),t=e[0],r=e[1],n=e[2];return{minutes:{minutes:1,seconds:0},hourly:{hours:1,minutes:0,seconds:0},daily:{subTab:"everyDays",everyDays:{days:1,hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)},everyWeekDay:{hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)}},weekly:{MON:!0,TUE:!1,WED:!1,THU:!1,FRI:!1,SAT:!1,SUN:!1,hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)},monthly:{subTab:"specificDay",specificDay:{day:"1",months:1,hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)},specificWeekDay:{monthWeek:"#1",day:"MON",months:1,hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)}},yearly:{subTab:"specificMonthDay",specificMonthDay:{month:1,day:"1",hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)},specificMonthWeek:{monthWeek:"#1",day:"MON",month:1,hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)}},advanced:{expression:this.isCronFlavorQuartz?"0 15 10 L-2 * ? *":"15 10 2 * *"}}},t.prototype.getOrdinalSuffix=function(e){if(e.length>1&&"1"===e.charAt(e.length-2))return"th";switch(e.charAt(e.length-1)){case"1":return"st";case"2":return"nd";case"3":return"rd";default:return"th"}},t.prototype.getSelectOptions=function(){return{months:this.getRange(1,12),monthWeeks:["#1","#2","#3","#4","#5","L"],days:["MON","TUE","WED","THU","FRI","SAT","SUN"],minutes:this.getRange(0,59),fullMinutes:this.getRange(0,59),seconds:this.getRange(0,59),hours:this.getRange(1,23),monthDays:this.getRange(1,31),monthDaysWithLasts:y(["1W"],y(this.getRange(1,31).map(String)),["LW","L"]),monthDaysWithOutLasts:y(this.getRange(1,31).map(String)),hourTypes:["AM","PM"]}},t.prototype.getRange=function(e,t){var r=t-e+1;return Array.apply(null,Array(r)).map((function(t,r){return r+e}))},t.prototype.writeValue=function(e){this.cron=e},t.prototype.registerOnChange=function(e){this.onChange=e},t.prototype.registerOnTouched=function(e){this.onTouched=e},t.prototype.setDisabledState=function(e){this.disabled=e},t}();T.decorators=[{type:t.Component,args:[{selector:"cron-editor",template:'<section class="cron-editor-main">\r\n <mat-tab-group class="cron-editor-container" (selectedIndexChange)="onTabFocus($event)" [backgroundColor]="backgroundColor" [color]="color">\r\n\r\n \x3c!-- Minute --\x3e\r\n <mat-tab class="cron-editor-tab" label="Minutes" *ngIf="!options.hideMinutesTab">\r\n <div class="cron-editor-tab-content">\r\n\r\n <span class="cron-form-label">Every </span>\r\n\r\n <cron-time-picker\r\n [formGroup]="minutesForm"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideHours]="true"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n </div>\r\n </mat-tab>\r\n\r\n \x3c!-- Hourly --\x3e\r\n <mat-tab class="cron-editor-tab" label="Hourly" *ngIf="!options.hideHourlyTab">\r\n <div class="cron-editor-tab-content">\r\n <span class="cron-form-label">Every </span>\r\n\r\n <cron-time-picker [formGroup]="hourlyForm"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n </div>\r\n </mat-tab>\r\n\r\n\r\n \x3c!-- Daily--\x3e\r\n <mat-tab class="cron-editor-tab" label="Daily" *ngIf="!options.hideDailyTab">\r\n <div class="cron-editor-tab-content" [formGroup]="dailyForm">\r\n\r\n <mat-radio-group class="cron-editor-radio-group" formControlName="subTab">\r\n <mat-radio-button name="subTab" class="cron-editor-radio-button" value="everyDays" checked="checked">\r\n\r\n <span class="cron-form-label">Every </span>\r\n\r\n <mat-form-field formGroupName="everyDays">\r\n <mat-label>Day(s)</mat-label>\r\n <mat-select formControlName="days">\r\n <mat-option *ngFor="let monthDay of selectOptions.monthDays" [value]="monthDay">\r\n {{monthDay}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n at\r\n\r\n <cron-time-picker\r\n formGroupName="everyDays"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name="subTab" class="cron-editor-radio-button" value="everyWeekDay">\r\n\r\n <span>Week Day (MON-FRI) at </span>\r\n\r\n <cron-time-picker\r\n formGroupName="everyWeekDay"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </mat-tab>\r\n\r\n \x3c!-- Weekly--\x3e\r\n <mat-tab class="cron-editor-tab" label="Weekly" *ngIf="!options.hideWeeklyTab">\r\n <div class="cron-editor-tab-content">\r\n\r\n <span class="cron-form-label">Every </span>\r\n\r\n <div [formGroup]="weeklyForm">\r\n <mat-checkbox class="checkbox-margin" formControlName="MON">Monday</mat-checkbox>\r\n <mat-checkbox class="checkbox-margin" formControlName="TUE">Tuesday</mat-checkbox>\r\n <mat-checkbox class="checkbox-margin" formControlName="WED">Wednesday</mat-checkbox>\r\n <mat-checkbox class="checkbox-margin" formControlName="THU">Thursday</mat-checkbox>\r\n <mat-checkbox class="checkbox-margin" formControlName="FRI">Friday</mat-checkbox>\r\n <mat-checkbox class="checkbox-margin" formControlName="SAT">Saturday</mat-checkbox>\r\n <mat-checkbox class="checkbox-margin" formControlName="SUN">Sunday</mat-checkbox>\r\n </div>\r\n\r\n\r\n <span class="cron-form-label">at time </span>\r\n\r\n <cron-time-picker [formGroup]="weeklyForm"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds|| !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n </div>\r\n\r\n </mat-tab>\r\n\r\n \x3c!-- Monthly--\x3e\r\n <mat-tab class="cron-editor-tab" label="Monthly" *ngIf="!options.hideMonthlyTab">\r\n\r\n <div class="cron-editor-tab-content" [formGroup]="monthlyForm">\r\n\r\n\r\n <mat-radio-group formControlName="subTab">\r\n\r\n <mat-radio-button name="monthly-radio" value="specificDay" >\r\n\r\n \x3c!-- Spesific day --\x3e\r\n <span formGroupName="specificDay">\r\n\r\n On the\r\n\r\n <ng-container *ngIf="options.cronFlavor === \'quartz\'">\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class="month-days" formControlName="day">\r\n <option *ngFor="let monthDaysWithLast of selectOptions.monthDaysWithLasts" [value]="monthDaysWithLast">\r\n {{monthDayDisplay(monthDaysWithLast)}}\r\n </option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf="options.cronFlavor === \'standard\'">\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class="month-days" formControlName="day">\r\n <mat-option *ngFor="let monthDaysWithOutLast of selectOptions.monthDaysWithOutLasts" [value]="monthDaysWithOutLast">\r\n {{monthDayDisplay(monthDaysWithOutLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n of every\r\n\r\n <ng-container>\r\n <mat-form-field>\r\n <mat-label>Month</mat-label>\r\n <mat-select class="months-small" formControlName="months" [ngClass]="options.formSelectClass">\r\n <mat-option *ngFor="let month of selectOptions.months" [value]="month">\r\n {{month}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n at time\r\n\r\n <cron-time-picker [disabled]="disabled" [formGroup]="monthlyForm.controls.specificDay"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n </span>\r\n\r\n\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name="monthly-radio" value="specificWeekDay">\r\n\r\n \x3c!-- Spesific Week day --\x3e\r\n <span formGroupName="specificWeekDay">\r\n\r\n On the\r\n\r\n <mat-form-field>\r\n <mat-label>Week</mat-label>\r\n <mat-select class="day-order-in-month" formControlName="monthWeek" [ngClass]="options.formSelectClass">\r\n <mat-option *ngFor="let monthWeek of selectOptions.monthWeeks" [value]="monthWeek">\r\n {{monthWeekDisplay(monthWeek)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class="week-days" formControlName="day" [ngClass]="options.formSelectClass">\r\n <mat-option *ngFor="let day of selectOptions.days" [value]="day">\r\n {{dayDisplay(day)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n of every\r\n\r\n <mat-form-field>\r\n <mat-label>Month</mat-label>\r\n <mat-select class="months-small" formControlName="months">\r\n <mat-option *ngFor="let month of selectOptions.months" [value]="month">\r\n {{month}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n at time\r\n\r\n <cron-time-picker [formGroup]="monthlyForm.controls.specificWeekDay"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n\r\n </cron-time-picker>\r\n\r\n\r\n </span>\r\n </mat-radio-button>\r\n\r\n </mat-radio-group>\r\n\r\n </div>\r\n </mat-tab>\r\n\r\n \x3c!-- Yearly--\x3e\r\n <mat-tab class="cron-editor-tab" label="Yearly" *ngIf="!options.hideYearlyTab">\r\n\r\n <div class="cron-editor-tab-content" [formGroup]="yearlyForm">\r\n\r\n <mat-radio-group formControlName="subTab">\r\n\r\n <mat-radio-button name="yearly-radio" value="specificMonthDay">\r\n\r\n On the\r\n\r\n <mat-form-field formGroupName="specificMonthDay" *ngIf="options.cronFlavor === \'quartz\'">\r\n <mat-label>Day</mat-label>\r\n <mat-select class="month-days" formControlName="day">\r\n <mat-option *ngFor="let monthDaysWithLast of selectOptions.monthDaysWithLasts" [value]="monthDaysWithLast">\r\n {{monthDayDisplay(monthDaysWithLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field formGroupName="specificMonthDay" *ngIf="options.cronFlavor === \'standard\'">\r\n <mat-label>Day</mat-label>\r\n <mat-select class="month-days" formControlName="day" >\r\n <mat-option *ngFor="let monthDaysWithOutLast of selectOptions.monthDaysWithOutLasts" [value]="monthDaysWithOutLast">\r\n {{monthDayDisplay(monthDaysWithOutLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n of\r\n\r\n <mat-form-field formGroupName="specificMonthDay">\r\n <mat-label>Month</mat-label>\r\n <mat-select class="months" formControlName="month">\r\n <mat-option *ngFor="let month of selectOptions.months" [value]="month">\r\n {{monthDisplay(month)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n at time\r\n\r\n <cron-time-picker [disabled]="disabled"\r\n [formGroup]="yearlyForm.controls.specificMonthDay"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name="yearly-radio" value="specificMonthWeek" [ngClass]="state.formRadioClass">\r\n\r\n On the\r\n\r\n <mat-form-field formGroupName="specificMonthWeek">\r\n <mat-label>Week</mat-label>\r\n <mat-select class="day-order-in-month" formControlName="monthWeek" >\r\n <mat-option *ngFor="let monthWeek of selectOptions.monthWeeks" [value]="monthWeek">\r\n {{monthWeekDisplay(monthWeek)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field formGroupName="specificMonthWeek">\r\n <mat-label>Day</mat-label>\r\n <mat-select class="week-days" formControlName="day" >\r\n <mat-option *ngFor="let day of selectOptions.days" [value]="day">\r\n {{dayDisplay(day)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n of\r\n\r\n <mat-form-field formGroupName="specificMonthWeek">\r\n <mat-label>Month</mat-label>\r\n <mat-select class="months" formControlName="month">\r\n <mat-option *ngFor="let month of selectOptions.months" [value]="month">\r\n {{monthDisplay(month)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n at time\r\n\r\n <cron-time-picker [disabled]="disabled"\r\n [formGroup]="yearlyForm.controls.specificMonthWeek"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </mat-tab>\r\n\r\n \x3c!-- Advanced--\x3e\r\n <mat-tab class="cron-editor-tab" label="Advanced" *ngIf="!options.hideAdvancedTab">\r\n <div class="cron-editor-tab-content" [formGroup]="advancedForm">\r\n\r\n <mat-form-field>\r\n <mat-label>Expression</mat-label>\r\n <input matInput type="text" class="advanced-cron-editor-input" formControlName="expression">\r\n </mat-form-field>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</section>\r\n',providers:[v,{provide:n.MAT_FORM_FIELD_DEFAULT_OPTIONS,useValue:k}],styles:[".cron-editor-main{min-height:250px}.cron-editor-tab-content{border-radius:8px;height:200px;margin-top:24px;overflow:auto}.cron-editor-main .cron-editor-container .cron-editor-radio{display:inline-block;width:20px}.cron-editor-main .cron-editor-container .cron-editor-checkbox,.cron-editor-main .cron-editor-container .cron-editor-input,.cron-editor-main .cron-editor-container .cron-editor-select{display:inline-block}.cron-editor-main .cron-editor-container .well-time-wrapper{padding-left:20px}.cron-editor-main .cron-editor-container .inline-block{display:inline-block}.cron-editor-main .cron-editor-container .hour-types{width:70px}.nav-tabs li a{cursor:pointer}.cron-editor-radio-group{display:flex;flex-direction:column;margin:15px 0}.cron-editor-radio-button{margin:5px}.checkbox-margin{margin:0 10px}.cron-editor-tab-content ::ng-deep .mat-form-field{width:auto}"]}]}],T.ctorParameters=function(){return[{type:r.FormBuilder}]},T.propDecorators={backgroundColor:[{type:t.Input}],color:[{type:t.Input}],disabled:[{type:t.Input}],options:[{type:t.Input}],cron:[{type:t.Input}]};var C=function(){};C.decorators=[{type:t.NgModule,args:[{imports:[l.CommonModule,r.FormsModule,r.ReactiveFormsModule,o.MatTabsModule,a.MatListModule,s.MatSelectModule,i.MatInputModule,c.MatRadioModule,m.MatCheckboxModule],exports:[f,T],declarations:[f,T]}]}],e.CRON_VALUE_ACCESSOR=v,e.CronEditorModule=C,e.CronGenComponent=T,e.Days=g,e.MonthWeeks=D,e.TimePickerComponent=f,e.ɵ0=k,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
***************************************************************************** */function u(e,t,r,n){return new(r||(r=Promise))((function(o,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,i)}c((n=n.apply(e,t||[])).next())}))}function h(e,t){var r,n,o,a,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,n=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}Object.create;function p(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)s.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return s}function y(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(p(arguments[t]));return e}Object.create;function d(e,t){var r;return h(this,(function(n){switch(n.label){case 0:r=e,n.label=1;case 1:return r<=t?[4,r]:[3,4];case 2:n.sent(),n.label=3;case 3:return r++,[3,1];case 4:return[2]}}))}var f=function(){function e(e){this.parent=e,this.use24HourTime=!0,this.hideHours=!1,this.hideMinutes=!1,this.hideSeconds=!0,this.minutes=y(d(0,59)),this.seconds=y(d(0,59)),this.hourTypes=["AM","PM"]}return Object.defineProperty(e.prototype,"hours",{get:function(){return this.use24HourTime?y(d(0,23)):y(d(0,12))},enumerable:!1,configurable:!0}),e}();f.decorators=[{type:t.Component,args:[{selector:"cron-time-picker",template:'<span [formGroup]="parent.control">\r\n\r\n <ng-container *ngIf="!hideHours">\r\n <mat-form-field>\r\n <mat-label>Hour(s)</mat-label>\r\n <mat-select formControlName="hours">\r\n <mat-option *ngFor="let hour of hours" [value]="hour">{{hour}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n <ng-container *ngIf="!hideMinutes">\r\n <span *ngIf="!hideHours">:</span>\r\n <mat-form-field>\r\n <mat-label>Minute(s)</mat-label>\r\n <mat-select formControlName="minutes">\r\n <mat-option *ngFor="let minute of minutes" [value]="minute">{{minute}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf="!hideSeconds">\r\n <span *ngIf="!hideMinutes">:</span>\r\n <mat-form-field>\r\n <mat-label>Second(s)</mat-label>\r\n <mat-select formControlName="seconds">\r\n <mat-option *ngFor="let second of seconds" [value]="second">{{second}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf="!use24HourTime">\r\n <span></span>.\r\n <mat-form-field>\r\n <mat-select formControlName="hourType">\r\n <mat-option *ngFor="let hourType of hourTypes" [value]="hourType">{{hourType}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n</span>\r\n',providers:[{provide:n.MAT_FORM_FIELD_DEFAULT_OPTIONS,useValue:{appearance:"outline",floatLabel:"always"}}],styles:[".mat-form-field{width:auto}.mat-form-field ::ng-deep .mat-form-field.wrapper{padding-bottom:0}"]}]}],f.ctorParameters=function(){return[{type:r.ControlContainer}]},f.propDecorators={disabled:[{type:t.Input}],use24HourTime:[{type:t.Input}],hideHours:[{type:t.Input}],hideMinutes:[{type:t.Input}],hideSeconds:[{type:t.Input}]};var b,g={SUN:"Sunday",MON:"Monday",TUE:"Tuesday",WED:"Wednesday",THU:"Thursday",FRI:"Friday",SAT:"Saturday"},D={"#1":"First","#2":"Second","#3":"Third","#4":"Fourth","#5":"Fifth",L:"Last"};(b=e.Months||(e.Months={}))[b.January=1]="January",b[b.February=2]="February",b[b.March=3]="March",b[b.April=4]="April",b[b.May=5]="May",b[b.June=6]="June",b[b.July=7]="July",b[b.August=8]="August",b[b.September=9]="September",b[b.October=10]="October",b[b.November=11]="November",b[b.December=12]="December";var v={provide:r.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return T})),multi:!0},k={appearance:"outline",floatLabel:"always"},T=function(){function t(e){this.fb=e,this.selectOptions=this.getSelectOptions(),this.localCron="0 0 1/1 * *",this.onChange=function(e){},this.onTouched=function(){}}return Object.defineProperty(t.prototype,"cron",{get:function(){return this.localCron},set:function(e){this.localCron=e,this.onChange(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isCronFlavorQuartz",{get:function(){return"quartz"===this.options.cronFlavor},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isCronFlavorStandard",{get:function(){return"standard"===this.options.cronFlavor},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"yearDefaultChar",{get:function(){return"quartz"===this.options.cronFlavor?"*":""},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"weekDayDefaultChar",{get:function(){return"quartz"===this.options.cronFlavor?"?":"*"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"monthDayDefaultChar",{get:function(){return"quartz"===this.options.cronFlavor?"?":"*"},enumerable:!1,configurable:!0}),t.prototype.onTabFocus=function(e){switch(e){case 0:this.minutesForm.setValue(this.minutesForm.value);break;case 1:this.hourlyForm.setValue(this.hourlyForm.value);break;case 2:this.dailyForm.setValue(this.dailyForm.value);break;case 3:this.weeklyForm.setValue(this.weeklyForm.value);break;case 4:this.monthlyForm.setValue(this.monthlyForm.value);break;case 5:this.yearlyForm.setValue(this.yearlyForm.value);break;case 6:this.advancedForm.setValue(this.advancedForm.value);break;default:throw new Error("Invalid tab selected")}},t.prototype.ngOnInit=function(){return u(this,void 0,void 0,(function(){var e,t,n,o,a=this;return h(this,(function(s){return this.state=this.getDefaultState(),this.handleModelChange(this.cron),e=p(this.options.defaultTime.split(":").map(Number),3),t=e[0],n=e[1],o=e[2],this.cronForm=new r.FormControl("0 0 1/1 * *"),this.minutesForm=this.fb.group({hours:[0],minutes:[1],seconds:[0]}),this.minutesForm.valueChanges.subscribe((function(e){return a.computeMinutesCron(e)})),this.hourlyForm=this.fb.group({hours:[1],minutes:[0],seconds:[0]}),this.hourlyForm.valueChanges.subscribe((function(e){return a.computeHourlyCron(e)})),this.dailyForm=this.fb.group({subTab:["everyDays"],everyDays:this.fb.group({days:[1],hours:[this.getAmPmHour(1)],minutes:[0],seconds:[0],hourType:[this.getHourType(0)]}),everyWeekDay:this.fb.group({days:[0],hours:[this.getAmPmHour(1)],minutes:[0],seconds:[0],hourType:[this.getHourType(0)]})}),this.dailyForm.valueChanges.subscribe((function(e){return a.computeDailyCron(e)})),this.weeklyForm=this.fb.group({MON:[!0],TUE:[!1],WED:[!1],THU:[!1],FRI:[!1],SAT:[!1],SUN:[!1],hours:[this.getAmPmHour(t)],minutes:[n],seconds:[o],hourType:[this.getHourType(t)]}),this.weeklyForm.valueChanges.subscribe((function(e){return a.computeWeeklyCron(e)})),this.monthlyForm=this.fb.group({subTab:["specificDay"],specificDay:this.fb.group({day:["1"],months:[1],hours:[this.getAmPmHour(t)],minutes:[n],seconds:[o],hourType:[this.getHourType(t)]}),specificWeekDay:this.fb.group({monthWeek:["#1"],day:["MON"],months:[1],hours:[this.getAmPmHour(t)],minutes:[n],seconds:[o],hourType:[this.getHourType(t)]})}),this.monthlyForm.valueChanges.subscribe((function(e){return a.computeMonthlyCron(e)})),this.yearlyForm=this.fb.group({subTab:["specificMonthDay"],specificMonthDay:this.fb.group({month:[1],day:["1"],hours:[this.getAmPmHour(t)],minutes:[n],seconds:[o],hourType:[this.getHourType(t)]}),specificMonthWeek:this.fb.group({monthWeek:["#1"],day:["MON"],month:[1],hours:[this.getAmPmHour(t)],minutes:[n],seconds:[o],hourType:[this.getHourType(t)]})}),this.yearlyForm.valueChanges.subscribe((function(e){return a.computeYearlyCron(e)})),this.advancedForm=this.fb.group({expression:[this.isCronFlavorQuartz?"0 15 10 L-2 * ? *":"15 10 2 * *"]}),this.advancedForm.controls.expression.valueChanges.subscribe((function(e){return a.computeAdvancedExpression(e)})),[2]}))}))},t.prototype.computeMinutesCron=function(e){this.cron=((this.isCronFlavorQuartz?e.seconds:"")+" 0/"+e.minutes+" * 1/1 * "+this.weekDayDefaultChar+" "+this.yearDefaultChar).trim(),this.cronForm.setValue(this.cron)},t.prototype.computeHourlyCron=function(e){this.cron=((this.isCronFlavorQuartz?e.seconds:"")+" "+e.minutes+" 0/"+e.hours+" 1/1 * "+this.weekDayDefaultChar+" "+this.yearDefaultChar).trim(),this.cronForm.setValue(this.cron)},t.prototype.computeDailyCron=function(e){switch(e.subTab){case"everyDays":this.cron=((this.isCronFlavorQuartz?e.everyDays.seconds:"")+" "+e.everyDays.minutes+" "+this.hourToCron(e.everyDays.hours,e.everyDays.hourType)+" 1/"+e.everyDays.days+" * "+this.weekDayDefaultChar+" "+this.yearDefaultChar).trim();break;case"everyWeekDay":this.cron=((this.isCronFlavorQuartz?e.everyWeekDay.seconds:"")+" "+e.everyWeekDay.minutes+" "+this.hourToCron(e.everyWeekDay.hours,e.everyWeekDay.hourType)+" "+this.monthDayDefaultChar+" * MON-FRI "+this.yearDefaultChar).trim();break;default:throw new Error("Invalid cron daily subtab selection")}this.cronForm.setValue(this.cron)},t.prototype.computeWeeklyCron=function(e){var t=this.selectOptions.days.reduce((function(t,r){return e[r]?t.concat([r]):t}),[]).join(",");this.cron=((this.isCronFlavorQuartz?e.seconds:"")+" "+e.minutes+" "+this.hourToCron(e.hours,e.hourType)+" "+this.monthDayDefaultChar+" * "+t+" "+this.yearDefaultChar).trim(),this.cronForm.setValue(this.cron)},t.prototype.computeMonthlyCron=function(e){switch(e.subTab){case"specificDay":this.cron=((this.isCronFlavorQuartz?e.specificDay.seconds:"")+" "+e.specificDay.minutes+" "+this.hourToCron(e.specificDay.hours,e.specificDay.hourType)+" "+e.specificDay.day+" 1/"+e.specificDay.months+" "+this.weekDayDefaultChar+" "+this.yearDefaultChar).trim();break;case"specificWeekDay":this.cron=((this.isCronFlavorQuartz?e.specificWeekDay.seconds:"")+" "+e.specificWeekDay.minutes+" "+this.hourToCron(e.specificWeekDay.hours,e.specificWeekDay.hourType)+" "+this.monthDayDefaultChar+" 1/"+e.specificWeekDay.months+" "+e.specificWeekDay.day+e.specificWeekDay.monthWeek+" "+this.yearDefaultChar).trim();break;default:throw new Error("Invalid cron montly subtab selection")}this.cronForm.setValue(this.cron)},t.prototype.computeYearlyCron=function(e){switch(e.subTab){case"specificMonthDay":this.cron=((this.isCronFlavorQuartz?e.specificMonthDay.seconds:"")+" "+e.specificMonthDay.minutes+" "+this.hourToCron(e.specificMonthDay.hours,e.specificMonthDay.hourType)+" "+e.specificMonthDay.day+" "+e.specificMonthDay.month+" "+this.weekDayDefaultChar+" "+this.yearDefaultChar).trim();break;case"specificMonthWeek":this.cron=((this.isCronFlavorQuartz?e.specificMonthWeek.seconds:"")+" "+e.specificMonthWeek.minutes+" "+this.hourToCron(e.specificMonthWeek.hours,e.specificMonthWeek.hourType)+" "+this.monthDayDefaultChar+" "+e.specificMonthWeek.month+" "+e.specificMonthWeek.day+e.specificMonthWeek.monthWeek+" "+this.yearDefaultChar).trim();break;default:throw new Error("Invalid cron yearly subtab selection")}this.cronForm.setValue(this.cron)},t.prototype.computeAdvancedExpression=function(e){this.cron=e,this.cronForm.setValue(this.cron)},t.prototype.dayDisplay=function(e){return g[e]},t.prototype.monthWeekDisplay=function(e){return D[e]},t.prototype.monthDisplay=function(t){return e.Months[t]},t.prototype.monthDayDisplay=function(e){return"L"===e?"Last Day":"LW"===e?"Last Weekday":"1W"===e?"First Weekday":""+e+this.getOrdinalSuffix(e)},t.prototype.getAmPmHour=function(e){return this.options.use24HourTime?e:(e+11)%12+1},t.prototype.getHourType=function(e){return this.options.use24HourTime?void 0:e>=12?"PM":"AM"},t.prototype.hourToCron=function(e,t){return this.options.use24HourTime?e:"AM"===t?12===e?0:e:12===e?12:e+12},t.prototype.handleModelChange=function(e){var t=this;if(this.isDirty)this.isDirty=!1;else{if(this.isDirty=!1,!this.cronIsValid(e)){if(this.isCronFlavorQuartz)throw new Error("Invalid cron expression, there must be 6 or 7 segments");if(this.isCronFlavorStandard)throw new Error("Invalid cron expression, there must be 5 segments")}var r=e;5===e.split(" ").length&&this.isCronFlavorStandard&&(e="0 "+e+" *");var n=p(e.split(" "),6),o=n[0],a=n[1],s=n[2],i=n[3],c=n[4],l=n[5];if(e.match(/\d+ 0\/\d+ \* 1\/1 \* [\?\*] \*/))this.activeTab="minutes",this.state.minutes.minutes=parseInt(a.substring(2),10),this.state.minutes.seconds=parseInt(o,10);else if(e.match(/\d+ \d+ 0\/\d+ 1\/1 \* [\?\*] \*/))this.activeTab="hourly",this.state.hourly.hours=parseInt(s.substring(2),10),this.state.hourly.minutes=parseInt(a,10),this.state.hourly.seconds=parseInt(o,10);else if(e.match(/\d+ \d+ \d+ 1\/\d+ \* [\?\*] \*/)){this.activeTab="daily",this.state.daily.subTab="everyDays",this.state.daily.everyDays.days=parseInt(i.substring(2),10);var m=parseInt(s,10);this.state.daily.everyDays.hours=this.getAmPmHour(m),this.state.daily.everyDays.hourType=this.getHourType(m),this.state.daily.everyDays.minutes=parseInt(a,10),this.state.daily.everyDays.seconds=parseInt(o,10)}else if(e.match(/\d+ \d+ \d+ [\?\*] \* MON-FRI \*/)){this.activeTab="daily",this.state.daily.subTab="everyWeekDay";m=parseInt(s,10);this.state.daily.everyWeekDay.hours=this.getAmPmHour(m),this.state.daily.everyWeekDay.hourType=this.getHourType(m),this.state.daily.everyWeekDay.minutes=parseInt(a,10),this.state.daily.everyWeekDay.seconds=parseInt(o,10)}else if(e.match(/\d+ \d+ \d+ [\?\*] \* (MON|TUE|WED|THU|FRI|SAT|SUN)(,(MON|TUE|WED|THU|FRI|SAT|SUN))* \*/)){this.activeTab="weekly",this.selectOptions.days.forEach((function(e){return t.state.weekly[e]=!1})),l.split(",").forEach((function(e){return t.state.weekly[e]=!0}));m=parseInt(s,10);this.state.weekly.hours=this.getAmPmHour(m),this.state.weekly.hourType=this.getHourType(m),this.state.weekly.minutes=parseInt(a,10),this.state.weekly.seconds=parseInt(o,10)}else if(e.match(/\d+ \d+ \d+ (\d+|L|LW|1W) 1\/\d+ [\?\*] \*/)){this.activeTab="monthly",this.state.monthly.subTab="specificDay",this.state.monthly.specificDay.day=i,this.state.monthly.specificDay.months=parseInt(c.substring(2),10);m=parseInt(s,10);this.state.monthly.specificDay.hours=this.getAmPmHour(m),this.state.monthly.specificDay.hourType=this.getHourType(m),this.state.monthly.specificDay.minutes=parseInt(a,10),this.state.monthly.specificDay.seconds=parseInt(o,10)}else if(e.match(/\d+ \d+ \d+ [\?\*] 1\/\d+ (MON|TUE|WED|THU|FRI|SAT|SUN)((#[1-5])|L) \*/)){var u=l.substr(0,3),h=l.substr(3);this.activeTab="monthly",this.state.monthly.subTab="specificWeekDay",this.state.monthly.specificWeekDay.monthWeek=h,this.state.monthly.specificWeekDay.day=u,this.state.monthly.specificWeekDay.months=parseInt(c.substring(2),10);m=parseInt(s,10);this.state.monthly.specificWeekDay.hours=this.getAmPmHour(m),this.state.monthly.specificWeekDay.hourType=this.getHourType(m),this.state.monthly.specificWeekDay.minutes=parseInt(a,10),this.state.monthly.specificWeekDay.seconds=parseInt(o,10)}else if(e.match(/\d+ \d+ \d+ (\d+|L|LW|1W) \d+ [\?\*] \*/)){this.activeTab="yearly",this.state.yearly.subTab="specificMonthDay",this.state.yearly.specificMonthDay.month=parseInt(c,10),this.state.yearly.specificMonthDay.day=i;m=parseInt(s,10);this.state.yearly.specificMonthDay.hours=this.getAmPmHour(m),this.state.yearly.specificMonthDay.hourType=this.getHourType(m),this.state.yearly.specificMonthDay.minutes=parseInt(a,10),this.state.yearly.specificMonthDay.seconds=parseInt(o,10)}else if(e.match(/\d+ \d+ \d+ [\?\*] \d+ (MON|TUE|WED|THU|FRI|SAT|SUN)((#[1-5])|L) \*/)){u=l.substr(0,3),h=l.substr(3);this.activeTab="yearly",this.state.yearly.subTab="specificMonthWeek",this.state.yearly.specificMonthWeek.monthWeek=h,this.state.yearly.specificMonthWeek.day=u,this.state.yearly.specificMonthWeek.month=parseInt(c,10);m=parseInt(s,10);this.state.yearly.specificMonthWeek.hours=this.getAmPmHour(m),this.state.yearly.specificMonthWeek.hourType=this.getHourType(m),this.state.yearly.specificMonthWeek.minutes=parseInt(a,10),this.state.yearly.specificMonthWeek.seconds=parseInt(o,10)}else this.activeTab="advanced",this.state.advanced.expression=r}},t.prototype.cronIsValid=function(e){if(e){var t=e.split(" ");return this.isCronFlavorQuartz&&(6===t.length||7===t.length)||this.isCronFlavorStandard&&5===t.length}return!1},t.prototype.getDefaultState=function(){var e=p(this.options.defaultTime.split(":").map(Number),3),t=e[0],r=e[1],n=e[2];return{minutes:{minutes:1,seconds:0},hourly:{hours:1,minutes:0,seconds:0},daily:{subTab:"everyDays",everyDays:{days:1,hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)},everyWeekDay:{hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)}},weekly:{MON:!0,TUE:!1,WED:!1,THU:!1,FRI:!1,SAT:!1,SUN:!1,hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)},monthly:{subTab:"specificDay",specificDay:{day:"1",months:1,hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)},specificWeekDay:{monthWeek:"#1",day:"MON",months:1,hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)}},yearly:{subTab:"specificMonthDay",specificMonthDay:{month:1,day:"1",hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)},specificMonthWeek:{monthWeek:"#1",day:"MON",month:1,hours:this.getAmPmHour(t),minutes:r,seconds:n,hourType:this.getHourType(t)}},advanced:{expression:this.isCronFlavorQuartz?"0 15 10 L-2 * ? *":"15 10 2 * *"}}},t.prototype.getOrdinalSuffix=function(e){if(e.length>1&&"1"===e.charAt(e.length-2))return"th";switch(e.charAt(e.length-1)){case"1":return"st";case"2":return"nd";case"3":return"rd";default:return"th"}},t.prototype.getSelectOptions=function(){return{months:this.getRange(1,12),monthWeeks:["#1","#2","#3","#4","#5","L"],days:["MON","TUE","WED","THU","FRI","SAT","SUN"],minutes:this.getRange(0,59),fullMinutes:this.getRange(0,59),seconds:this.getRange(0,59),hours:this.getRange(1,23),monthDays:this.getRange(1,31),monthDaysWithLasts:y(["1W"],y(this.getRange(1,31).map(String)),["LW","L"]),monthDaysWithOutLasts:y(this.getRange(1,31).map(String)),hourTypes:["AM","PM"]}},t.prototype.getRange=function(e,t){var r=t-e+1;return Array.apply(null,Array(r)).map((function(t,r){return r+e}))},t.prototype.writeValue=function(e){this.cron=e},t.prototype.registerOnChange=function(e){this.onChange=e},t.prototype.registerOnTouched=function(e){this.onTouched=e},t.prototype.setDisabledState=function(e){this.disabled=e},t}();T.decorators=[{type:t.Component,args:[{selector:"cron-editor",template:'<section class="cron-editor-main">\r\n <mat-tab-group class="cron-editor-container" (selectedIndexChange)="onTabFocus($event)" [backgroundColor]="backgroundColor" [color]="color">\r\n\r\n \x3c!-- Minute --\x3e\r\n <mat-tab class="cron-editor-tab" label="Minutes" *ngIf="!options.hideMinutesTab">\r\n <div class="cron-editor-tab-content">\r\n\r\n <span class="cron-form-label">Every </span>\r\n\r\n <cron-time-picker\r\n [formGroup]="minutesForm"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideHours]="true"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n </div>\r\n </mat-tab>\r\n\r\n \x3c!-- Hourly --\x3e\r\n <mat-tab class="cron-editor-tab" label="Hourly" *ngIf="!options.hideHourlyTab">\r\n <div class="cron-editor-tab-content">\r\n <span class="cron-form-label">Every </span>\r\n\r\n <cron-time-picker [formGroup]="hourlyForm"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n </div>\r\n </mat-tab>\r\n\r\n\r\n \x3c!-- Daily--\x3e\r\n <mat-tab class="cron-editor-tab" label="Daily" *ngIf="!options.hideDailyTab">\r\n <div class="cron-editor-tab-content" [formGroup]="dailyForm">\r\n\r\n <mat-radio-group class="cron-editor-radio-group" formControlName="subTab">\r\n <mat-radio-button name="subTab" class="cron-editor-radio-button" value="everyDays" checked="checked">\r\n\r\n <span class="cron-form-label">Every </span>\r\n\r\n <mat-form-field formGroupName="everyDays">\r\n <mat-label>Day(s)</mat-label>\r\n <mat-select formControlName="days">\r\n <mat-option *ngFor="let monthDay of selectOptions.monthDays" [value]="monthDay">\r\n {{monthDay}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>at</span>\r\n\r\n <cron-time-picker\r\n formGroupName="everyDays"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name="subTab" class="cron-editor-radio-button" value="everyWeekDay">\r\n\r\n <span>Week Day (MON-FRI) at </span>\r\n\r\n <cron-time-picker\r\n formGroupName="everyWeekDay"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </mat-tab>\r\n\r\n \x3c!-- Weekly--\x3e\r\n <mat-tab class="cron-editor-tab" label="Weekly" *ngIf="!options.hideWeeklyTab">\r\n <div class="cron-editor-tab-content">\r\n\r\n <span class="cron-form-label">Every </span>\r\n\r\n <div [formGroup]="weeklyForm">\r\n <mat-checkbox class="checkbox-margin" formControlName="MON">Monday</mat-checkbox>\r\n <mat-checkbox class="checkbox-margin" formControlName="TUE">Tuesday</mat-checkbox>\r\n <mat-checkbox class="checkbox-margin" formControlName="WED">Wednesday</mat-checkbox>\r\n <mat-checkbox class="checkbox-margin" formControlName="THU">Thursday</mat-checkbox>\r\n <mat-checkbox class="checkbox-margin" formControlName="FRI">Friday</mat-checkbox>\r\n <mat-checkbox class="checkbox-margin" formControlName="SAT">Saturday</mat-checkbox>\r\n <mat-checkbox class="checkbox-margin" formControlName="SUN">Sunday</mat-checkbox>\r\n </div>\r\n\r\n\r\n <span class="cron-form-label">at time </span>\r\n\r\n <cron-time-picker [formGroup]="weeklyForm"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds|| !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n </div>\r\n\r\n </mat-tab>\r\n\r\n \x3c!-- Monthly--\x3e\r\n <mat-tab class="cron-editor-tab" label="Monthly" *ngIf="!options.hideMonthlyTab">\r\n\r\n <div class="cron-editor-tab-content" [formGroup]="monthlyForm">\r\n\r\n\r\n <mat-radio-group formControlName="subTab">\r\n\r\n <mat-radio-button name="monthly-radio" value="specificDay" >\r\n\r\n \x3c!-- Spesific day --\x3e\r\n <span formGroupName="specificDay">\r\n\r\n <span>On the</span>\r\n\r\n <ng-container *ngIf="options.cronFlavor === \'quartz\'">\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class="month-days" formControlName="day">\r\n <option *ngFor="let monthDaysWithLast of selectOptions.monthDaysWithLasts" [value]="monthDaysWithLast">\r\n {{monthDayDisplay(monthDaysWithLast)}}\r\n </option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf="options.cronFlavor === \'standard\'">\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class="month-days" formControlName="day">\r\n <mat-option *ngFor="let monthDaysWithOutLast of selectOptions.monthDaysWithOutLasts" [value]="monthDaysWithOutLast">\r\n {{monthDayDisplay(monthDaysWithOutLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <span>of every</span>\r\n\r\n <ng-container>\r\n <mat-form-field>\r\n <mat-label>Month</mat-label>\r\n <mat-select class="months-small" formControlName="months" [ngClass]="options.formSelectClass">\r\n <mat-option *ngFor="let month of selectOptions.months" [value]="month">\r\n {{month}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <span>at time</span>\r\n\r\n <cron-time-picker [disabled]="disabled" [formGroup]="monthlyForm.controls.specificDay"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n </span>\r\n\r\n\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name="monthly-radio" value="specificWeekDay">\r\n\r\n \x3c!-- Spesific Week day --\x3e\r\n <span formGroupName="specificWeekDay">\r\n\r\n <span>On the</span>\r\n\r\n <mat-form-field>\r\n <mat-label>Week</mat-label>\r\n <mat-select class="day-order-in-month" formControlName="monthWeek" [ngClass]="options.formSelectClass">\r\n <mat-option *ngFor="let monthWeek of selectOptions.monthWeeks" [value]="monthWeek">\r\n {{monthWeekDisplay(monthWeek)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class="week-days" formControlName="day" [ngClass]="options.formSelectClass">\r\n <mat-option *ngFor="let day of selectOptions.days" [value]="day">\r\n {{dayDisplay(day)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>of every</span>\r\n\r\n <mat-form-field>\r\n <mat-label>Month</mat-label>\r\n <mat-select class="months-small" formControlName="months">\r\n <mat-option *ngFor="let month of selectOptions.months" [value]="month">\r\n {{month}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>at time</span>\r\n\r\n <cron-time-picker [formGroup]="monthlyForm.controls.specificWeekDay"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n\r\n </cron-time-picker>\r\n\r\n\r\n </span>\r\n </mat-radio-button>\r\n\r\n </mat-radio-group>\r\n\r\n </div>\r\n </mat-tab>\r\n\r\n \x3c!-- Yearly--\x3e\r\n <mat-tab class="cron-editor-tab" label="Yearly" *ngIf="!options.hideYearlyTab">\r\n\r\n <div class="cron-editor-tab-content" [formGroup]="yearlyForm">\r\n\r\n <mat-radio-group formControlName="subTab">\r\n\r\n <mat-radio-button name="yearly-radio" value="specificMonthDay">\r\n\r\n <span>On the</span>\r\n\r\n <mat-form-field formGroupName="specificMonthDay" *ngIf="options.cronFlavor === \'quartz\'">\r\n <mat-label>Day</mat-label>\r\n <mat-select class="month-days" formControlName="day">\r\n <mat-option *ngFor="let monthDaysWithLast of selectOptions.monthDaysWithLasts" [value]="monthDaysWithLast">\r\n {{monthDayDisplay(monthDaysWithLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field formGroupName="specificMonthDay" *ngIf="options.cronFlavor === \'standard\'">\r\n <mat-label>Day</mat-label>\r\n <mat-select class="month-days" formControlName="day" >\r\n <mat-option *ngFor="let monthDaysWithOutLast of selectOptions.monthDaysWithOutLasts" [value]="monthDaysWithOutLast">\r\n {{monthDayDisplay(monthDaysWithOutLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>of</span>\r\n\r\n <mat-form-field formGroupName="specificMonthDay">\r\n <mat-label>Month</mat-label>\r\n <mat-select class="months" formControlName="month">\r\n <mat-option *ngFor="let month of selectOptions.months" [value]="month">\r\n {{monthDisplay(month)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>at time</span>\r\n\r\n <cron-time-picker [disabled]="disabled"\r\n [formGroup]="yearlyForm.controls.specificMonthDay"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name="yearly-radio" value="specificMonthWeek" [ngClass]="state.formRadioClass">\r\n\r\n <span>On the</span>\r\n\r\n <mat-form-field formGroupName="specificMonthWeek">\r\n <mat-label>Week</mat-label>\r\n <mat-select class="day-order-in-month" formControlName="monthWeek" >\r\n <mat-option *ngFor="let monthWeek of selectOptions.monthWeeks" [value]="monthWeek">\r\n {{monthWeekDisplay(monthWeek)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field formGroupName="specificMonthWeek">\r\n <mat-label>Day</mat-label>\r\n <mat-select class="week-days" formControlName="day" >\r\n <mat-option *ngFor="let day of selectOptions.days" [value]="day">\r\n {{dayDisplay(day)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>of</span>\r\n\r\n <mat-form-field formGroupName="specificMonthWeek">\r\n <mat-label>Month</mat-label>\r\n <mat-select class="months" formControlName="month">\r\n <mat-option *ngFor="let month of selectOptions.months" [value]="month">\r\n {{monthDisplay(month)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>at time</span>\r\n\r\n <cron-time-picker [disabled]="disabled"\r\n [formGroup]="yearlyForm.controls.specificMonthWeek"\r\n [use24HourTime]="options.use24HourTime"\r\n [hideSeconds]="options.hideSeconds || !isCronFlavorQuartz">\r\n </cron-time-picker>\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </mat-tab>\r\n\r\n \x3c!-- Advanced--\x3e\r\n <mat-tab class="cron-editor-tab" label="Advanced" *ngIf="!options.hideAdvancedTab">\r\n <div class="cron-editor-tab-content" [formGroup]="advancedForm">\r\n\r\n <mat-form-field>\r\n <mat-label>Expression</mat-label>\r\n <input matInput type="text" class="advanced-cron-editor-input" formControlName="expression">\r\n </mat-form-field>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</section>\r\n',providers:[v,{provide:n.MAT_FORM_FIELD_DEFAULT_OPTIONS,useValue:k}],styles:[".cron-editor-main{min-height:250px}.cron-editor-tab-content{border-radius:8px;height:200px;margin-top:24px;overflow:auto}.cron-editor-main .cron-editor-container .cron-editor-radio{display:inline-block;width:20px}.cron-editor-main .cron-editor-container .cron-editor-checkbox,.cron-editor-main .cron-editor-container .cron-editor-input,.cron-editor-main .cron-editor-container .cron-editor-select{display:inline-block}.cron-editor-main .cron-editor-container .well-time-wrapper{padding-left:20px}.cron-editor-main .cron-editor-container .inline-block{display:inline-block}.cron-editor-main .cron-editor-container .hour-types{width:70px}.nav-tabs li a{cursor:pointer}.cron-editor-radio-group{display:flex;flex-direction:column;margin:15px 0}.cron-editor-radio-button{margin:5px}.checkbox-margin{margin:0 10px}.cron-editor-tab-content .mat-form-field{width:auto}.cron-editor-tab-content ::ng-deep .mat-form-field-wrapper{padding-bottom:0}.cron-editor-tab-content ::ng-deep .mat-radio-label-content{align-items:center;display:flex}.cron-editor-tab-content ::ng-deep .mat-radio-label-content>*{margin-right:5px}"]}]}],T.ctorParameters=function(){return[{type:r.FormBuilder}]},T.propDecorators={backgroundColor:[{type:t.Input}],color:[{type:t.Input}],disabled:[{type:t.Input}],options:[{type:t.Input}],cron:[{type:t.Input}]};var C=function(){};C.decorators=[{type:t.NgModule,args:[{imports:[l.CommonModule,r.FormsModule,r.ReactiveFormsModule,o.MatTabsModule,a.MatListModule,s.MatSelectModule,i.MatInputModule,c.MatRadioModule,m.MatCheckboxModule],exports:[f,T],declarations:[f,T]}]}],e.CRON_VALUE_ACCESSOR=v,e.CronEditorModule=C,e.CronGenComponent=T,e.Days=g,e.MonthWeeks=D,e.TimePickerComponent=f,e.ɵ0=k,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=gidoont-ngx-cron-editor.umd.min.js.map |
@@ -34,3 +34,4 @@ import { Component, Input } from '@angular/core'; | ||
} | ||
] | ||
], | ||
styles: [".mat-form-field{width:auto}.mat-form-field ::ng-deep .mat-form-field.wrapper{padding-bottom:0}"] | ||
},] } | ||
@@ -49,2 +50,2 @@ ]; | ||
export { ɵ0 }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvR29HYS9QaHBzdG9ybVByb2plY3RzL25neC1saWJzL25neC1jcm9uLWVkaXRvci9saWJzL25neC1jcm9uLWVkaXRvci8iLCJzb3VyY2VzIjpbInNyYy9jcm9uLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVU5RSxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBYSxFQUFFLEdBQVc7SUFDeEMsS0FBSyxJQUFJLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNqQyxNQUFNLENBQUMsQ0FBQztLQUNUO0FBQ0gsQ0FBQztXQVFlLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0FBSS9ELE1BQU0sT0FBTyxtQkFBbUI7SUFnQjlCLFlBQW1CLE1BQXdCO1FBQXhCLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBYjNCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFNNUIsWUFBTyxHQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFFLENBQUM7UUFDOUIsWUFBTyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFFLENBQUM7UUFDN0IsY0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRWMsQ0FBQztJQVIvQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7O1lBcEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1Qix5NkNBQStDO2dCQUMvQyxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLDhCQUE4Qjt3QkFDdkMsUUFBUSxJQUFpRDtxQkFDMUQ7aUJBQ0Y7YUFDRjs7O1lBM0JRLGdCQUFnQjs7O3VCQThCdEIsS0FBSzs0QkFDTCxLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1BVF9MQUJFTF9HTE9CQUxfT1BUSU9OUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVQaWNrZXJNb2RlbCB7XHJcbiAgZGF5czogbnVtYmVyO1xyXG4gIGhvdXJzOiBudW1iZXI7XHJcbiAgbWludXRlczogbnVtYmVyO1xyXG4gIHNlY29uZHM6IG51bWJlcjtcclxufVxyXG5cclxuZnVuY3Rpb24qIHJhbmdlKHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKSB7XHJcbiAgZm9yIChsZXQgaSA9IHN0YXJ0OyBpIDw9IGVuZDsgaSsrKSB7XHJcbiAgICB5aWVsZCBpO1xyXG4gIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjcm9uLXRpbWUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3Jvbi10aW1lLXBpY2tlci50ZW1wbGF0ZS5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TLFxyXG4gICAgICB1c2VWYWx1ZTogeyBhcHBlYXJhbmNlOiAnb3V0bGluZScsIGZsb2F0TGFiZWw6ICdhbHdheXMnIH1cclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB1c2UyNEhvdXJUaW1lID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaGlkZUhvdXJzID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGhpZGVNaW51dGVzID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGhpZGVTZWNvbmRzID0gdHJ1ZTtcclxuXHJcbiAgZ2V0IGhvdXJzKCk6IG51bWJlcltdIHtcclxuICAgIHJldHVybiB0aGlzLnVzZTI0SG91clRpbWUgPyBbLi4uIHJhbmdlKDAsIDIzKV0gOiBbLi4uIHJhbmdlKDAsIDEyKV07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWludXRlcyA9ICBbLi4ucmFuZ2UoMCwgNTkpIF07XHJcbiAgcHVibGljIHNlY29uZHMgPSBbLi4ucmFuZ2UoMCwgNTkpIF07XHJcbiAgcHVibGljIGhvdXJUeXBlcyA9IFsnQU0nLCAnUE0nXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBhcmVudDogQ29udHJvbENvbnRhaW5lcikge31cclxuXHJcblxyXG5cclxufVxyXG5cclxuXHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvR29HYS9QaHBzdG9ybVByb2plY3RzL25neC1saWJzL25neC1jcm9uLWVkaXRvci9saWJzL25neC1jcm9uLWVkaXRvci8iLCJzb3VyY2VzIjpbInNyYy9jcm9uLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVU5RSxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBYSxFQUFFLEdBQVc7SUFDeEMsS0FBSyxJQUFJLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNqQyxNQUFNLENBQUMsQ0FBQztLQUNUO0FBQ0gsQ0FBQztXQVNlLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0FBSS9ELE1BQU0sT0FBTyxtQkFBbUI7SUFnQjlCLFlBQW1CLE1BQXdCO1FBQXhCLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBYjNCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFNNUIsWUFBTyxHQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFFLENBQUM7UUFDOUIsWUFBTyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFFLENBQUM7UUFDN0IsY0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRWMsQ0FBQztJQVIvQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7O1lBckJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1Qix5NkNBQWdEO2dCQUVoRCxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLDhCQUE4Qjt3QkFDdkMsUUFBUSxJQUFpRDtxQkFDMUQ7aUJBQ0Y7O2FBQ0Y7OztZQTVCUSxnQkFBZ0I7Ozt1QkErQnRCLEtBQUs7NEJBQ0wsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNQVRfTEFCRUxfR0xPQkFMX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTUFUX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaW1lUGlja2VyTW9kZWwge1xyXG4gIGRheXM6IG51bWJlcjtcclxuICBob3VyczogbnVtYmVyO1xyXG4gIG1pbnV0ZXM6IG51bWJlcjtcclxuICBzZWNvbmRzOiBudW1iZXI7XHJcbn1cclxuXHJcbmZ1bmN0aW9uKiByYW5nZShzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcikge1xyXG4gIGZvciAobGV0IGkgPSBzdGFydDsgaSA8PSBlbmQ7IGkrKykge1xyXG4gICAgeWllbGQgaTtcclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3Jvbi10aW1lLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Nyb24tdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Nyb24tdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TLFxyXG4gICAgICB1c2VWYWx1ZTogeyBhcHBlYXJhbmNlOiAnb3V0bGluZScsIGZsb2F0TGFiZWw6ICdhbHdheXMnIH1cclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB1c2UyNEhvdXJUaW1lID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaGlkZUhvdXJzID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGhpZGVNaW51dGVzID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGhpZGVTZWNvbmRzID0gdHJ1ZTtcclxuXHJcbiAgZ2V0IGhvdXJzKCk6IG51bWJlcltdIHtcclxuICAgIHJldHVybiB0aGlzLnVzZTI0SG91clRpbWUgPyBbLi4uIHJhbmdlKDAsIDIzKV0gOiBbLi4uIHJhbmdlKDAsIDEyKV07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWludXRlcyA9ICBbLi4ucmFuZ2UoMCwgNTkpIF07XHJcbiAgcHVibGljIHNlY29uZHMgPSBbLi4ucmFuZ2UoMCwgNTkpIF07XHJcbiAgcHVibGljIGhvdXJUeXBlcyA9IFsnQU0nLCAnUE0nXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBhcmVudDogQ29udHJvbENvbnRhaW5lcikge31cclxuXHJcblxyXG5cclxufVxyXG5cclxuXHJcbiJdfQ== |
@@ -43,3 +43,4 @@ import { Component, Input, forwardRef, NgModule } from '@angular/core'; | ||
} | ||
] | ||
], | ||
styles: [".mat-form-field{width:auto}.mat-form-field ::ng-deep .mat-form-field.wrapper{padding-bottom:0}"] | ||
},] } | ||
@@ -621,3 +622,3 @@ ]; | ||
selector: 'cron-editor', | ||
template: "<section class=\"cron-editor-main\">\r\n <mat-tab-group class=\"cron-editor-container\" (selectedIndexChange)=\"onTabFocus($event)\" [backgroundColor]=\"backgroundColor\" [color]=\"color\">\r\n\r\n <!-- Minute -->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Minutes\" *ngIf=\"!options.hideMinutesTab\">\r\n <div class=\"cron-editor-tab-content\">\r\n\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <cron-time-picker\r\n [formGroup]=\"minutesForm\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideHours]=\"true\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Hourly -->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Hourly\" *ngIf=\"!options.hideHourlyTab\">\r\n <div class=\"cron-editor-tab-content\">\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <cron-time-picker [formGroup]=\"hourlyForm\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </div>\r\n </mat-tab>\r\n\r\n\r\n <!-- Daily-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Daily\" *ngIf=\"!options.hideDailyTab\">\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"dailyForm\">\r\n\r\n <mat-radio-group class=\"cron-editor-radio-group\" formControlName=\"subTab\">\r\n <mat-radio-button name=\"subTab\" class=\"cron-editor-radio-button\" value=\"everyDays\" checked=\"checked\">\r\n\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <mat-form-field formGroupName=\"everyDays\">\r\n <mat-label>Day(s)</mat-label>\r\n <mat-select formControlName=\"days\">\r\n <mat-option *ngFor=\"let monthDay of selectOptions.monthDays\" [value]=\"monthDay\">\r\n {{monthDay}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n at\r\n\r\n <cron-time-picker\r\n formGroupName=\"everyDays\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name=\"subTab\" class=\"cron-editor-radio-button\" value=\"everyWeekDay\">\r\n\r\n <span>Week Day (MON-FRI) at </span>\r\n\r\n <cron-time-picker\r\n formGroupName=\"everyWeekDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Weekly-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Weekly\" *ngIf=\"!options.hideWeeklyTab\">\r\n <div class=\"cron-editor-tab-content\">\r\n\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <div [formGroup]=\"weeklyForm\">\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"MON\">Monday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"TUE\">Tuesday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"WED\">Wednesday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"THU\">Thursday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"FRI\">Friday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"SAT\">Saturday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"SUN\">Sunday</mat-checkbox>\r\n </div>\r\n\r\n\r\n <span class=\"cron-form-label\">at time </span>\r\n\r\n <cron-time-picker [formGroup]=\"weeklyForm\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds|| !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </div>\r\n\r\n </mat-tab>\r\n\r\n <!-- Monthly-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Monthly\" *ngIf=\"!options.hideMonthlyTab\">\r\n\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"monthlyForm\">\r\n\r\n\r\n <mat-radio-group formControlName=\"subTab\">\r\n\r\n <mat-radio-button name=\"monthly-radio\" value=\"specificDay\" >\r\n\r\n <!-- Spesific day -->\r\n <span formGroupName=\"specificDay\">\r\n\r\n On the\r\n\r\n <ng-container *ngIf=\"options.cronFlavor === 'quartz'\">\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\">\r\n <option *ngFor=\"let monthDaysWithLast of selectOptions.monthDaysWithLasts\" [value]=\"monthDaysWithLast\">\r\n {{monthDayDisplay(monthDaysWithLast)}}\r\n </option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"options.cronFlavor === 'standard'\">\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\">\r\n <mat-option *ngFor=\"let monthDaysWithOutLast of selectOptions.monthDaysWithOutLasts\" [value]=\"monthDaysWithOutLast\">\r\n {{monthDayDisplay(monthDaysWithOutLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n of every\r\n\r\n <ng-container>\r\n <mat-form-field>\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months-small\" formControlName=\"months\" [ngClass]=\"options.formSelectClass\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{month}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n at time\r\n\r\n <cron-time-picker [disabled]=\"disabled\" [formGroup]=\"monthlyForm.controls.specificDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </span>\r\n\r\n\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name=\"monthly-radio\" value=\"specificWeekDay\">\r\n\r\n <!-- Spesific Week day -->\r\n <span formGroupName=\"specificWeekDay\">\r\n\r\n On the\r\n\r\n <mat-form-field>\r\n <mat-label>Week</mat-label>\r\n <mat-select class=\"day-order-in-month\" formControlName=\"monthWeek\" [ngClass]=\"options.formSelectClass\">\r\n <mat-option *ngFor=\"let monthWeek of selectOptions.monthWeeks\" [value]=\"monthWeek\">\r\n {{monthWeekDisplay(monthWeek)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"week-days\" formControlName=\"day\" [ngClass]=\"options.formSelectClass\">\r\n <mat-option *ngFor=\"let day of selectOptions.days\" [value]=\"day\">\r\n {{dayDisplay(day)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n of every\r\n\r\n <mat-form-field>\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months-small\" formControlName=\"months\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{month}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n at time\r\n\r\n <cron-time-picker [formGroup]=\"monthlyForm.controls.specificWeekDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n\r\n </cron-time-picker>\r\n\r\n\r\n </span>\r\n </mat-radio-button>\r\n\r\n </mat-radio-group>\r\n\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Yearly-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Yearly\" *ngIf=\"!options.hideYearlyTab\">\r\n\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"yearlyForm\">\r\n\r\n <mat-radio-group formControlName=\"subTab\">\r\n\r\n <mat-radio-button name=\"yearly-radio\" value=\"specificMonthDay\">\r\n\r\n On the\r\n\r\n <mat-form-field formGroupName=\"specificMonthDay\" *ngIf=\"options.cronFlavor === 'quartz'\">\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\">\r\n <mat-option *ngFor=\"let monthDaysWithLast of selectOptions.monthDaysWithLasts\" [value]=\"monthDaysWithLast\">\r\n {{monthDayDisplay(monthDaysWithLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field formGroupName=\"specificMonthDay\" *ngIf=\"options.cronFlavor === 'standard'\">\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\" >\r\n <mat-option *ngFor=\"let monthDaysWithOutLast of selectOptions.monthDaysWithOutLasts\" [value]=\"monthDaysWithOutLast\">\r\n {{monthDayDisplay(monthDaysWithOutLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n of\r\n\r\n <mat-form-field formGroupName=\"specificMonthDay\">\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months\" formControlName=\"month\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{monthDisplay(month)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n at time\r\n\r\n <cron-time-picker [disabled]=\"disabled\"\r\n [formGroup]=\"yearlyForm.controls.specificMonthDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name=\"yearly-radio\" value=\"specificMonthWeek\" [ngClass]=\"state.formRadioClass\">\r\n\r\n On the\r\n\r\n <mat-form-field formGroupName=\"specificMonthWeek\">\r\n <mat-label>Week</mat-label>\r\n <mat-select class=\"day-order-in-month\" formControlName=\"monthWeek\" >\r\n <mat-option *ngFor=\"let monthWeek of selectOptions.monthWeeks\" [value]=\"monthWeek\">\r\n {{monthWeekDisplay(monthWeek)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field formGroupName=\"specificMonthWeek\">\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"week-days\" formControlName=\"day\" >\r\n <mat-option *ngFor=\"let day of selectOptions.days\" [value]=\"day\">\r\n {{dayDisplay(day)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n of\r\n\r\n <mat-form-field formGroupName=\"specificMonthWeek\">\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months\" formControlName=\"month\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{monthDisplay(month)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n at time\r\n\r\n <cron-time-picker [disabled]=\"disabled\"\r\n [formGroup]=\"yearlyForm.controls.specificMonthWeek\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Advanced-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Advanced\" *ngIf=\"!options.hideAdvancedTab\">\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"advancedForm\">\r\n\r\n <mat-form-field>\r\n <mat-label>Expression</mat-label>\r\n <input matInput type=\"text\" class=\"advanced-cron-editor-input\" formControlName=\"expression\">\r\n </mat-form-field>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</section>\r\n", | ||
template: "<section class=\"cron-editor-main\">\r\n <mat-tab-group class=\"cron-editor-container\" (selectedIndexChange)=\"onTabFocus($event)\" [backgroundColor]=\"backgroundColor\" [color]=\"color\">\r\n\r\n <!-- Minute -->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Minutes\" *ngIf=\"!options.hideMinutesTab\">\r\n <div class=\"cron-editor-tab-content\">\r\n\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <cron-time-picker\r\n [formGroup]=\"minutesForm\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideHours]=\"true\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Hourly -->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Hourly\" *ngIf=\"!options.hideHourlyTab\">\r\n <div class=\"cron-editor-tab-content\">\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <cron-time-picker [formGroup]=\"hourlyForm\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </div>\r\n </mat-tab>\r\n\r\n\r\n <!-- Daily-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Daily\" *ngIf=\"!options.hideDailyTab\">\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"dailyForm\">\r\n\r\n <mat-radio-group class=\"cron-editor-radio-group\" formControlName=\"subTab\">\r\n <mat-radio-button name=\"subTab\" class=\"cron-editor-radio-button\" value=\"everyDays\" checked=\"checked\">\r\n\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <mat-form-field formGroupName=\"everyDays\">\r\n <mat-label>Day(s)</mat-label>\r\n <mat-select formControlName=\"days\">\r\n <mat-option *ngFor=\"let monthDay of selectOptions.monthDays\" [value]=\"monthDay\">\r\n {{monthDay}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>at</span>\r\n\r\n <cron-time-picker\r\n formGroupName=\"everyDays\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name=\"subTab\" class=\"cron-editor-radio-button\" value=\"everyWeekDay\">\r\n\r\n <span>Week Day (MON-FRI) at </span>\r\n\r\n <cron-time-picker\r\n formGroupName=\"everyWeekDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Weekly-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Weekly\" *ngIf=\"!options.hideWeeklyTab\">\r\n <div class=\"cron-editor-tab-content\">\r\n\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <div [formGroup]=\"weeklyForm\">\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"MON\">Monday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"TUE\">Tuesday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"WED\">Wednesday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"THU\">Thursday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"FRI\">Friday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"SAT\">Saturday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"SUN\">Sunday</mat-checkbox>\r\n </div>\r\n\r\n\r\n <span class=\"cron-form-label\">at time </span>\r\n\r\n <cron-time-picker [formGroup]=\"weeklyForm\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds|| !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </div>\r\n\r\n </mat-tab>\r\n\r\n <!-- Monthly-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Monthly\" *ngIf=\"!options.hideMonthlyTab\">\r\n\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"monthlyForm\">\r\n\r\n\r\n <mat-radio-group formControlName=\"subTab\">\r\n\r\n <mat-radio-button name=\"monthly-radio\" value=\"specificDay\" >\r\n\r\n <!-- Spesific day -->\r\n <span formGroupName=\"specificDay\">\r\n\r\n <span>On the</span>\r\n\r\n <ng-container *ngIf=\"options.cronFlavor === 'quartz'\">\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\">\r\n <option *ngFor=\"let monthDaysWithLast of selectOptions.monthDaysWithLasts\" [value]=\"monthDaysWithLast\">\r\n {{monthDayDisplay(monthDaysWithLast)}}\r\n </option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"options.cronFlavor === 'standard'\">\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\">\r\n <mat-option *ngFor=\"let monthDaysWithOutLast of selectOptions.monthDaysWithOutLasts\" [value]=\"monthDaysWithOutLast\">\r\n {{monthDayDisplay(monthDaysWithOutLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <span>of every</span>\r\n\r\n <ng-container>\r\n <mat-form-field>\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months-small\" formControlName=\"months\" [ngClass]=\"options.formSelectClass\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{month}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <span>at time</span>\r\n\r\n <cron-time-picker [disabled]=\"disabled\" [formGroup]=\"monthlyForm.controls.specificDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </span>\r\n\r\n\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name=\"monthly-radio\" value=\"specificWeekDay\">\r\n\r\n <!-- Spesific Week day -->\r\n <span formGroupName=\"specificWeekDay\">\r\n\r\n <span>On the</span>\r\n\r\n <mat-form-field>\r\n <mat-label>Week</mat-label>\r\n <mat-select class=\"day-order-in-month\" formControlName=\"monthWeek\" [ngClass]=\"options.formSelectClass\">\r\n <mat-option *ngFor=\"let monthWeek of selectOptions.monthWeeks\" [value]=\"monthWeek\">\r\n {{monthWeekDisplay(monthWeek)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"week-days\" formControlName=\"day\" [ngClass]=\"options.formSelectClass\">\r\n <mat-option *ngFor=\"let day of selectOptions.days\" [value]=\"day\">\r\n {{dayDisplay(day)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>of every</span>\r\n\r\n <mat-form-field>\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months-small\" formControlName=\"months\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{month}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>at time</span>\r\n\r\n <cron-time-picker [formGroup]=\"monthlyForm.controls.specificWeekDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n\r\n </cron-time-picker>\r\n\r\n\r\n </span>\r\n </mat-radio-button>\r\n\r\n </mat-radio-group>\r\n\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Yearly-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Yearly\" *ngIf=\"!options.hideYearlyTab\">\r\n\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"yearlyForm\">\r\n\r\n <mat-radio-group formControlName=\"subTab\">\r\n\r\n <mat-radio-button name=\"yearly-radio\" value=\"specificMonthDay\">\r\n\r\n <span>On the</span>\r\n\r\n <mat-form-field formGroupName=\"specificMonthDay\" *ngIf=\"options.cronFlavor === 'quartz'\">\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\">\r\n <mat-option *ngFor=\"let monthDaysWithLast of selectOptions.monthDaysWithLasts\" [value]=\"monthDaysWithLast\">\r\n {{monthDayDisplay(monthDaysWithLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field formGroupName=\"specificMonthDay\" *ngIf=\"options.cronFlavor === 'standard'\">\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\" >\r\n <mat-option *ngFor=\"let monthDaysWithOutLast of selectOptions.monthDaysWithOutLasts\" [value]=\"monthDaysWithOutLast\">\r\n {{monthDayDisplay(monthDaysWithOutLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>of</span>\r\n\r\n <mat-form-field formGroupName=\"specificMonthDay\">\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months\" formControlName=\"month\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{monthDisplay(month)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>at time</span>\r\n\r\n <cron-time-picker [disabled]=\"disabled\"\r\n [formGroup]=\"yearlyForm.controls.specificMonthDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name=\"yearly-radio\" value=\"specificMonthWeek\" [ngClass]=\"state.formRadioClass\">\r\n\r\n <span>On the</span>\r\n\r\n <mat-form-field formGroupName=\"specificMonthWeek\">\r\n <mat-label>Week</mat-label>\r\n <mat-select class=\"day-order-in-month\" formControlName=\"monthWeek\" >\r\n <mat-option *ngFor=\"let monthWeek of selectOptions.monthWeeks\" [value]=\"monthWeek\">\r\n {{monthWeekDisplay(monthWeek)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field formGroupName=\"specificMonthWeek\">\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"week-days\" formControlName=\"day\" >\r\n <mat-option *ngFor=\"let day of selectOptions.days\" [value]=\"day\">\r\n {{dayDisplay(day)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>of</span>\r\n\r\n <mat-form-field formGroupName=\"specificMonthWeek\">\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months\" formControlName=\"month\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{monthDisplay(month)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>at time</span>\r\n\r\n <cron-time-picker [disabled]=\"disabled\"\r\n [formGroup]=\"yearlyForm.controls.specificMonthWeek\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Advanced-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Advanced\" *ngIf=\"!options.hideAdvancedTab\">\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"advancedForm\">\r\n\r\n <mat-form-field>\r\n <mat-label>Expression</mat-label>\r\n <input matInput type=\"text\" class=\"advanced-cron-editor-input\" formControlName=\"expression\">\r\n </mat-form-field>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</section>\r\n", | ||
providers: [ | ||
@@ -630,3 +631,3 @@ CRON_VALUE_ACCESSOR, | ||
], | ||
styles: [".cron-editor-main{min-height:250px}.cron-editor-tab-content{border-radius:8px;height:200px;margin-top:24px;overflow:auto}.cron-editor-main .cron-editor-container .cron-editor-radio{display:inline-block;width:20px}.cron-editor-main .cron-editor-container .cron-editor-checkbox,.cron-editor-main .cron-editor-container .cron-editor-input,.cron-editor-main .cron-editor-container .cron-editor-select{display:inline-block}.cron-editor-main .cron-editor-container .well-time-wrapper{padding-left:20px}.cron-editor-main .cron-editor-container .inline-block{display:inline-block}.cron-editor-main .cron-editor-container .hour-types{width:70px}.nav-tabs li a{cursor:pointer}.cron-editor-radio-group{display:flex;flex-direction:column;margin:15px 0}.cron-editor-radio-button{margin:5px}.checkbox-margin{margin:0 10px}.cron-editor-tab-content ::ng-deep .mat-form-field{width:auto}"] | ||
styles: [".cron-editor-main{min-height:250px}.cron-editor-tab-content{border-radius:8px;height:200px;margin-top:24px;overflow:auto}.cron-editor-main .cron-editor-container .cron-editor-radio{display:inline-block;width:20px}.cron-editor-main .cron-editor-container .cron-editor-checkbox,.cron-editor-main .cron-editor-container .cron-editor-input,.cron-editor-main .cron-editor-container .cron-editor-select{display:inline-block}.cron-editor-main .cron-editor-container .well-time-wrapper{padding-left:20px}.cron-editor-main .cron-editor-container .inline-block{display:inline-block}.cron-editor-main .cron-editor-container .hour-types{width:70px}.nav-tabs li a{cursor:pointer}.cron-editor-radio-group{display:flex;flex-direction:column;margin:15px 0}.cron-editor-radio-button{margin:5px}.checkbox-margin{margin:0 10px}.cron-editor-tab-content .mat-form-field{width:auto}.cron-editor-tab-content ::ng-deep .mat-form-field-wrapper{padding-bottom:0}.cron-editor-tab-content ::ng-deep .mat-radio-label-content{align-items:center;display:flex}.cron-editor-tab-content ::ng-deep .mat-radio-label-content>*{margin-right:5px}"] | ||
},] } | ||
@@ -633,0 +634,0 @@ ]; |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"CronEditorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/material/tabs","name":"MatTabsModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/material/list","name":"MatListModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":23,"character":4},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/material/radio","name":"MatRadioModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/material/checkbox","name":"MatCheckboxModule","line":26,"character":4}],"exports":[{"__symbolic":"reference","name":"TimePickerComponent"},{"__symbolic":"reference","name":"CronGenComponent"}],"declarations":[{"__symbolic":"reference","name":"TimePickerComponent"},{"__symbolic":"reference","name":"CronGenComponent"}]}]}],"members":{}},"CronOptions":{"__symbolic":"interface"},"Days":{"SUN":"Sunday","MON":"Monday","TUE":"Tuesday","WED":"Wednesday","THU":"Thursday","FRI":"Friday","SAT":"Saturday","$quoted$":["SUN","MON","TUE","WED","THU","FRI","SAT"]},"MonthWeeks":{"#1":"First","#2":"Second","#3":"Third","#4":"Fourth","#5":"Fifth","L":"Last","$quoted$":["#1","#2","#3","#4","#5","L"]},"Months":{"January":1,"February":2,"March":3,"April":4,"May":5,"June":6,"July":7,"August":8,"September":9,"October":10,"November":11,"December":12},"CRON_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":9,"character":11},"useExisting":{"__symbolic":"reference","name":"CronGenComponent"},"multi":true},"CronGenComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"cron-editor","providers":[{"__symbolic":"reference","name":"CRON_VALUE_ACCESSOR"},{"provide":{"__symbolic":"reference","module":"@angular/material/form-field","name":"MAT_FORM_FIELD_DEFAULT_OPTIONS","line":22,"character":15},"useValue":{"appearance":"outline","floatLabel":"always"}}],"template":"<section class=\"cron-editor-main\">\r\n <mat-tab-group class=\"cron-editor-container\" (selectedIndexChange)=\"onTabFocus($event)\" [backgroundColor]=\"backgroundColor\" [color]=\"color\">\r\n\r\n <!-- Minute -->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Minutes\" *ngIf=\"!options.hideMinutesTab\">\r\n <div class=\"cron-editor-tab-content\">\r\n\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <cron-time-picker\r\n [formGroup]=\"minutesForm\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideHours]=\"true\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Hourly -->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Hourly\" *ngIf=\"!options.hideHourlyTab\">\r\n <div class=\"cron-editor-tab-content\">\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <cron-time-picker [formGroup]=\"hourlyForm\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </div>\r\n </mat-tab>\r\n\r\n\r\n <!-- Daily-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Daily\" *ngIf=\"!options.hideDailyTab\">\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"dailyForm\">\r\n\r\n <mat-radio-group class=\"cron-editor-radio-group\" formControlName=\"subTab\">\r\n <mat-radio-button name=\"subTab\" class=\"cron-editor-radio-button\" value=\"everyDays\" checked=\"checked\">\r\n\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <mat-form-field formGroupName=\"everyDays\">\r\n <mat-label>Day(s)</mat-label>\r\n <mat-select formControlName=\"days\">\r\n <mat-option *ngFor=\"let monthDay of selectOptions.monthDays\" [value]=\"monthDay\">\r\n {{monthDay}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n at\r\n\r\n <cron-time-picker\r\n formGroupName=\"everyDays\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name=\"subTab\" class=\"cron-editor-radio-button\" value=\"everyWeekDay\">\r\n\r\n <span>Week Day (MON-FRI) at </span>\r\n\r\n <cron-time-picker\r\n formGroupName=\"everyWeekDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Weekly-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Weekly\" *ngIf=\"!options.hideWeeklyTab\">\r\n <div class=\"cron-editor-tab-content\">\r\n\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <div [formGroup]=\"weeklyForm\">\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"MON\">Monday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"TUE\">Tuesday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"WED\">Wednesday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"THU\">Thursday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"FRI\">Friday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"SAT\">Saturday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"SUN\">Sunday</mat-checkbox>\r\n </div>\r\n\r\n\r\n <span class=\"cron-form-label\">at time </span>\r\n\r\n <cron-time-picker [formGroup]=\"weeklyForm\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds|| !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </div>\r\n\r\n </mat-tab>\r\n\r\n <!-- Monthly-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Monthly\" *ngIf=\"!options.hideMonthlyTab\">\r\n\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"monthlyForm\">\r\n\r\n\r\n <mat-radio-group formControlName=\"subTab\">\r\n\r\n <mat-radio-button name=\"monthly-radio\" value=\"specificDay\" >\r\n\r\n <!-- Spesific day -->\r\n <span formGroupName=\"specificDay\">\r\n\r\n On the\r\n\r\n <ng-container *ngIf=\"options.cronFlavor === 'quartz'\">\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\">\r\n <option *ngFor=\"let monthDaysWithLast of selectOptions.monthDaysWithLasts\" [value]=\"monthDaysWithLast\">\r\n {{monthDayDisplay(monthDaysWithLast)}}\r\n </option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"options.cronFlavor === 'standard'\">\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\">\r\n <mat-option *ngFor=\"let monthDaysWithOutLast of selectOptions.monthDaysWithOutLasts\" [value]=\"monthDaysWithOutLast\">\r\n {{monthDayDisplay(monthDaysWithOutLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n of every\r\n\r\n <ng-container>\r\n <mat-form-field>\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months-small\" formControlName=\"months\" [ngClass]=\"options.formSelectClass\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{month}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n at time\r\n\r\n <cron-time-picker [disabled]=\"disabled\" [formGroup]=\"monthlyForm.controls.specificDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </span>\r\n\r\n\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name=\"monthly-radio\" value=\"specificWeekDay\">\r\n\r\n <!-- Spesific Week day -->\r\n <span formGroupName=\"specificWeekDay\">\r\n\r\n On the\r\n\r\n <mat-form-field>\r\n <mat-label>Week</mat-label>\r\n <mat-select class=\"day-order-in-month\" formControlName=\"monthWeek\" [ngClass]=\"options.formSelectClass\">\r\n <mat-option *ngFor=\"let monthWeek of selectOptions.monthWeeks\" [value]=\"monthWeek\">\r\n {{monthWeekDisplay(monthWeek)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"week-days\" formControlName=\"day\" [ngClass]=\"options.formSelectClass\">\r\n <mat-option *ngFor=\"let day of selectOptions.days\" [value]=\"day\">\r\n {{dayDisplay(day)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n of every\r\n\r\n <mat-form-field>\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months-small\" formControlName=\"months\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{month}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n at time\r\n\r\n <cron-time-picker [formGroup]=\"monthlyForm.controls.specificWeekDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n\r\n </cron-time-picker>\r\n\r\n\r\n </span>\r\n </mat-radio-button>\r\n\r\n </mat-radio-group>\r\n\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Yearly-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Yearly\" *ngIf=\"!options.hideYearlyTab\">\r\n\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"yearlyForm\">\r\n\r\n <mat-radio-group formControlName=\"subTab\">\r\n\r\n <mat-radio-button name=\"yearly-radio\" value=\"specificMonthDay\">\r\n\r\n On the\r\n\r\n <mat-form-field formGroupName=\"specificMonthDay\" *ngIf=\"options.cronFlavor === 'quartz'\">\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\">\r\n <mat-option *ngFor=\"let monthDaysWithLast of selectOptions.monthDaysWithLasts\" [value]=\"monthDaysWithLast\">\r\n {{monthDayDisplay(monthDaysWithLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field formGroupName=\"specificMonthDay\" *ngIf=\"options.cronFlavor === 'standard'\">\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\" >\r\n <mat-option *ngFor=\"let monthDaysWithOutLast of selectOptions.monthDaysWithOutLasts\" [value]=\"monthDaysWithOutLast\">\r\n {{monthDayDisplay(monthDaysWithOutLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n of\r\n\r\n <mat-form-field formGroupName=\"specificMonthDay\">\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months\" formControlName=\"month\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{monthDisplay(month)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n at time\r\n\r\n <cron-time-picker [disabled]=\"disabled\"\r\n [formGroup]=\"yearlyForm.controls.specificMonthDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name=\"yearly-radio\" value=\"specificMonthWeek\" [ngClass]=\"state.formRadioClass\">\r\n\r\n On the\r\n\r\n <mat-form-field formGroupName=\"specificMonthWeek\">\r\n <mat-label>Week</mat-label>\r\n <mat-select class=\"day-order-in-month\" formControlName=\"monthWeek\" >\r\n <mat-option *ngFor=\"let monthWeek of selectOptions.monthWeeks\" [value]=\"monthWeek\">\r\n {{monthWeekDisplay(monthWeek)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field formGroupName=\"specificMonthWeek\">\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"week-days\" formControlName=\"day\" >\r\n <mat-option *ngFor=\"let day of selectOptions.days\" [value]=\"day\">\r\n {{dayDisplay(day)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n of\r\n\r\n <mat-form-field formGroupName=\"specificMonthWeek\">\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months\" formControlName=\"month\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{monthDisplay(month)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n at time\r\n\r\n <cron-time-picker [disabled]=\"disabled\"\r\n [formGroup]=\"yearlyForm.controls.specificMonthWeek\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Advanced-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Advanced\" *ngIf=\"!options.hideAdvancedTab\">\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"advancedForm\">\r\n\r\n <mat-form-field>\r\n <mat-label>Expression</mat-label>\r\n <input matInput type=\"text\" class=\"advanced-cron-editor-input\" formControlName=\"expression\">\r\n </mat-form-field>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</section>\r\n","styles":[".cron-editor-main{min-height:250px}.cron-editor-tab-content{border-radius:8px;height:200px;margin-top:24px;overflow:auto}.cron-editor-main .cron-editor-container .cron-editor-radio{display:inline-block;width:20px}.cron-editor-main .cron-editor-container .cron-editor-checkbox,.cron-editor-main .cron-editor-container .cron-editor-input,.cron-editor-main .cron-editor-container .cron-editor-select{display:inline-block}.cron-editor-main .cron-editor-container .well-time-wrapper{padding-left:20px}.cron-editor-main .cron-editor-container .inline-block{display:inline-block}.cron-editor-main .cron-editor-container .hour-types{width:70px}.nav-tabs li a{cursor:pointer}.cron-editor-radio-group{display:flex;flex-direction:column;margin:15px 0}.cron-editor-radio-button{margin:5px}.checkbox-margin{margin:0 10px}.cron-editor-tab-content ::ng-deep .mat-form-field{width:auto}"]}]}],"members":{"backgroundColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"cron":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":85,"character":26}]}],"onTabFocus":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"computeMinutesCron":[{"__symbolic":"method"}],"computeHourlyCron":[{"__symbolic":"method"}],"computeDailyCron":[{"__symbolic":"method"}],"computeWeeklyCron":[{"__symbolic":"method"}],"computeMonthlyCron":[{"__symbolic":"method"}],"computeYearlyCron":[{"__symbolic":"method"}],"computeAdvancedExpression":[{"__symbolic":"method"}],"dayDisplay":[{"__symbolic":"method"}],"monthWeekDisplay":[{"__symbolic":"method"}],"monthDisplay":[{"__symbolic":"method"}],"monthDayDisplay":[{"__symbolic":"method"}],"getAmPmHour":[{"__symbolic":"method"}],"getHourType":[{"__symbolic":"method"}],"hourToCron":[{"__symbolic":"method"}],"handleModelChange":[{"__symbolic":"method"}],"cronIsValid":[{"__symbolic":"method"}],"getDefaultState":[{"__symbolic":"method"}],"getOrdinalSuffix":[{"__symbolic":"method"}],"getSelectOptions":[{"__symbolic":"method"}],"getRange":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}]}},"TimePickerModel":{"__symbolic":"interface"},"TimePickerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"cron-time-picker","providers":[{"provide":{"__symbolic":"reference","module":"@angular/material/form-field","name":"MAT_FORM_FIELD_DEFAULT_OPTIONS","line":24,"character":15},"useValue":{"appearance":"outline","floatLabel":"always"}}],"template":"<span [formGroup]=\"parent.control\">\r\n\r\n <ng-container *ngIf=\"!hideHours\">\r\n <mat-form-field>\r\n <mat-label>Hour(s)</mat-label>\r\n <mat-select formControlName=\"hours\">\r\n <mat-option *ngFor=\"let hour of hours\" [value]=\"hour\">{{hour}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hideMinutes\">\r\n <span *ngIf=\"!hideHours\">:</span>\r\n <mat-form-field>\r\n <mat-label>Minute(s)</mat-label>\r\n <mat-select formControlName=\"minutes\">\r\n <mat-option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{minute}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!hideSeconds\">\r\n <span *ngIf=\"!hideMinutes\">:</span>\r\n <mat-form-field>\r\n <mat-label>Second(s)</mat-label>\r\n <mat-select formControlName=\"seconds\">\r\n <mat-option *ngFor=\"let second of seconds\" [value]=\"second\">{{second}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!use24HourTime\">\r\n <span></span>.\r\n <mat-form-field>\r\n <mat-select formControlName=\"hourType\">\r\n <mat-option *ngFor=\"let hourType of hourTypes\" [value]=\"hourType\">{{hourType}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n</span>\r\n"}]}],"members":{"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"use24HourTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"hideHours":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"hideMinutes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"hideSeconds":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"ControlContainer","line":45,"character":29}]}]}}},"origins":{"CronEditorModule":"./src/cron-editor.module","CronOptions":"./src/CronOptions","Days":"./src/enums","MonthWeeks":"./src/enums","Months":"./src/enums","CRON_VALUE_ACCESSOR":"./src/cron-editor.component","CronGenComponent":"./src/cron-editor.component","TimePickerModel":"./src/cron-time-picker.component","TimePickerComponent":"./src/cron-time-picker.component"},"importAs":"@gidoont/ngx-cron-editor"} | ||
{"__symbolic":"module","version":4,"metadata":{"CronEditorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/material/tabs","name":"MatTabsModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/material/list","name":"MatListModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":23,"character":4},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/material/radio","name":"MatRadioModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/material/checkbox","name":"MatCheckboxModule","line":26,"character":4}],"exports":[{"__symbolic":"reference","name":"TimePickerComponent"},{"__symbolic":"reference","name":"CronGenComponent"}],"declarations":[{"__symbolic":"reference","name":"TimePickerComponent"},{"__symbolic":"reference","name":"CronGenComponent"}]}]}],"members":{}},"CronOptions":{"__symbolic":"interface"},"Days":{"SUN":"Sunday","MON":"Monday","TUE":"Tuesday","WED":"Wednesday","THU":"Thursday","FRI":"Friday","SAT":"Saturday","$quoted$":["SUN","MON","TUE","WED","THU","FRI","SAT"]},"MonthWeeks":{"#1":"First","#2":"Second","#3":"Third","#4":"Fourth","#5":"Fifth","L":"Last","$quoted$":["#1","#2","#3","#4","#5","L"]},"Months":{"January":1,"February":2,"March":3,"April":4,"May":5,"June":6,"July":7,"August":8,"September":9,"October":10,"November":11,"December":12},"CRON_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":9,"character":11},"useExisting":{"__symbolic":"reference","name":"CronGenComponent"},"multi":true},"CronGenComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"cron-editor","providers":[{"__symbolic":"reference","name":"CRON_VALUE_ACCESSOR"},{"provide":{"__symbolic":"reference","module":"@angular/material/form-field","name":"MAT_FORM_FIELD_DEFAULT_OPTIONS","line":22,"character":15},"useValue":{"appearance":"outline","floatLabel":"always"}}],"template":"<section class=\"cron-editor-main\">\r\n <mat-tab-group class=\"cron-editor-container\" (selectedIndexChange)=\"onTabFocus($event)\" [backgroundColor]=\"backgroundColor\" [color]=\"color\">\r\n\r\n <!-- Minute -->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Minutes\" *ngIf=\"!options.hideMinutesTab\">\r\n <div class=\"cron-editor-tab-content\">\r\n\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <cron-time-picker\r\n [formGroup]=\"minutesForm\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideHours]=\"true\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Hourly -->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Hourly\" *ngIf=\"!options.hideHourlyTab\">\r\n <div class=\"cron-editor-tab-content\">\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <cron-time-picker [formGroup]=\"hourlyForm\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </div>\r\n </mat-tab>\r\n\r\n\r\n <!-- Daily-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Daily\" *ngIf=\"!options.hideDailyTab\">\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"dailyForm\">\r\n\r\n <mat-radio-group class=\"cron-editor-radio-group\" formControlName=\"subTab\">\r\n <mat-radio-button name=\"subTab\" class=\"cron-editor-radio-button\" value=\"everyDays\" checked=\"checked\">\r\n\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <mat-form-field formGroupName=\"everyDays\">\r\n <mat-label>Day(s)</mat-label>\r\n <mat-select formControlName=\"days\">\r\n <mat-option *ngFor=\"let monthDay of selectOptions.monthDays\" [value]=\"monthDay\">\r\n {{monthDay}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>at</span>\r\n\r\n <cron-time-picker\r\n formGroupName=\"everyDays\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name=\"subTab\" class=\"cron-editor-radio-button\" value=\"everyWeekDay\">\r\n\r\n <span>Week Day (MON-FRI) at </span>\r\n\r\n <cron-time-picker\r\n formGroupName=\"everyWeekDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Weekly-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Weekly\" *ngIf=\"!options.hideWeeklyTab\">\r\n <div class=\"cron-editor-tab-content\">\r\n\r\n <span class=\"cron-form-label\">Every </span>\r\n\r\n <div [formGroup]=\"weeklyForm\">\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"MON\">Monday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"TUE\">Tuesday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"WED\">Wednesday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"THU\">Thursday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"FRI\">Friday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"SAT\">Saturday</mat-checkbox>\r\n <mat-checkbox class=\"checkbox-margin\" formControlName=\"SUN\">Sunday</mat-checkbox>\r\n </div>\r\n\r\n\r\n <span class=\"cron-form-label\">at time </span>\r\n\r\n <cron-time-picker [formGroup]=\"weeklyForm\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds|| !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </div>\r\n\r\n </mat-tab>\r\n\r\n <!-- Monthly-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Monthly\" *ngIf=\"!options.hideMonthlyTab\">\r\n\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"monthlyForm\">\r\n\r\n\r\n <mat-radio-group formControlName=\"subTab\">\r\n\r\n <mat-radio-button name=\"monthly-radio\" value=\"specificDay\" >\r\n\r\n <!-- Spesific day -->\r\n <span formGroupName=\"specificDay\">\r\n\r\n <span>On the</span>\r\n\r\n <ng-container *ngIf=\"options.cronFlavor === 'quartz'\">\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\">\r\n <option *ngFor=\"let monthDaysWithLast of selectOptions.monthDaysWithLasts\" [value]=\"monthDaysWithLast\">\r\n {{monthDayDisplay(monthDaysWithLast)}}\r\n </option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"options.cronFlavor === 'standard'\">\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\">\r\n <mat-option *ngFor=\"let monthDaysWithOutLast of selectOptions.monthDaysWithOutLasts\" [value]=\"monthDaysWithOutLast\">\r\n {{monthDayDisplay(monthDaysWithOutLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <span>of every</span>\r\n\r\n <ng-container>\r\n <mat-form-field>\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months-small\" formControlName=\"months\" [ngClass]=\"options.formSelectClass\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{month}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <span>at time</span>\r\n\r\n <cron-time-picker [disabled]=\"disabled\" [formGroup]=\"monthlyForm.controls.specificDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </span>\r\n\r\n\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name=\"monthly-radio\" value=\"specificWeekDay\">\r\n\r\n <!-- Spesific Week day -->\r\n <span formGroupName=\"specificWeekDay\">\r\n\r\n <span>On the</span>\r\n\r\n <mat-form-field>\r\n <mat-label>Week</mat-label>\r\n <mat-select class=\"day-order-in-month\" formControlName=\"monthWeek\" [ngClass]=\"options.formSelectClass\">\r\n <mat-option *ngFor=\"let monthWeek of selectOptions.monthWeeks\" [value]=\"monthWeek\">\r\n {{monthWeekDisplay(monthWeek)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"week-days\" formControlName=\"day\" [ngClass]=\"options.formSelectClass\">\r\n <mat-option *ngFor=\"let day of selectOptions.days\" [value]=\"day\">\r\n {{dayDisplay(day)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>of every</span>\r\n\r\n <mat-form-field>\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months-small\" formControlName=\"months\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{month}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>at time</span>\r\n\r\n <cron-time-picker [formGroup]=\"monthlyForm.controls.specificWeekDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n\r\n </cron-time-picker>\r\n\r\n\r\n </span>\r\n </mat-radio-button>\r\n\r\n </mat-radio-group>\r\n\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Yearly-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Yearly\" *ngIf=\"!options.hideYearlyTab\">\r\n\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"yearlyForm\">\r\n\r\n <mat-radio-group formControlName=\"subTab\">\r\n\r\n <mat-radio-button name=\"yearly-radio\" value=\"specificMonthDay\">\r\n\r\n <span>On the</span>\r\n\r\n <mat-form-field formGroupName=\"specificMonthDay\" *ngIf=\"options.cronFlavor === 'quartz'\">\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\">\r\n <mat-option *ngFor=\"let monthDaysWithLast of selectOptions.monthDaysWithLasts\" [value]=\"monthDaysWithLast\">\r\n {{monthDayDisplay(monthDaysWithLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field formGroupName=\"specificMonthDay\" *ngIf=\"options.cronFlavor === 'standard'\">\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"month-days\" formControlName=\"day\" >\r\n <mat-option *ngFor=\"let monthDaysWithOutLast of selectOptions.monthDaysWithOutLasts\" [value]=\"monthDaysWithOutLast\">\r\n {{monthDayDisplay(monthDaysWithOutLast)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>of</span>\r\n\r\n <mat-form-field formGroupName=\"specificMonthDay\">\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months\" formControlName=\"month\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{monthDisplay(month)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>at time</span>\r\n\r\n <cron-time-picker [disabled]=\"disabled\"\r\n [formGroup]=\"yearlyForm.controls.specificMonthDay\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </mat-radio-button>\r\n\r\n <mat-radio-button name=\"yearly-radio\" value=\"specificMonthWeek\" [ngClass]=\"state.formRadioClass\">\r\n\r\n <span>On the</span>\r\n\r\n <mat-form-field formGroupName=\"specificMonthWeek\">\r\n <mat-label>Week</mat-label>\r\n <mat-select class=\"day-order-in-month\" formControlName=\"monthWeek\" >\r\n <mat-option *ngFor=\"let monthWeek of selectOptions.monthWeeks\" [value]=\"monthWeek\">\r\n {{monthWeekDisplay(monthWeek)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field formGroupName=\"specificMonthWeek\">\r\n <mat-label>Day</mat-label>\r\n <mat-select class=\"week-days\" formControlName=\"day\" >\r\n <mat-option *ngFor=\"let day of selectOptions.days\" [value]=\"day\">\r\n {{dayDisplay(day)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>of</span>\r\n\r\n <mat-form-field formGroupName=\"specificMonthWeek\">\r\n <mat-label>Month</mat-label>\r\n <mat-select class=\"months\" formControlName=\"month\">\r\n <mat-option *ngFor=\"let month of selectOptions.months\" [value]=\"month\">\r\n {{monthDisplay(month)}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <span>at time</span>\r\n\r\n <cron-time-picker [disabled]=\"disabled\"\r\n [formGroup]=\"yearlyForm.controls.specificMonthWeek\"\r\n [use24HourTime]=\"options.use24HourTime\"\r\n [hideSeconds]=\"options.hideSeconds || !isCronFlavorQuartz\">\r\n </cron-time-picker>\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </mat-tab>\r\n\r\n <!-- Advanced-->\r\n <mat-tab class=\"cron-editor-tab\" label=\"Advanced\" *ngIf=\"!options.hideAdvancedTab\">\r\n <div class=\"cron-editor-tab-content\" [formGroup]=\"advancedForm\">\r\n\r\n <mat-form-field>\r\n <mat-label>Expression</mat-label>\r\n <input matInput type=\"text\" class=\"advanced-cron-editor-input\" formControlName=\"expression\">\r\n </mat-form-field>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</section>\r\n","styles":[".cron-editor-main{min-height:250px}.cron-editor-tab-content{border-radius:8px;height:200px;margin-top:24px;overflow:auto}.cron-editor-main .cron-editor-container .cron-editor-radio{display:inline-block;width:20px}.cron-editor-main .cron-editor-container .cron-editor-checkbox,.cron-editor-main .cron-editor-container .cron-editor-input,.cron-editor-main .cron-editor-container .cron-editor-select{display:inline-block}.cron-editor-main .cron-editor-container .well-time-wrapper{padding-left:20px}.cron-editor-main .cron-editor-container .inline-block{display:inline-block}.cron-editor-main .cron-editor-container .hour-types{width:70px}.nav-tabs li a{cursor:pointer}.cron-editor-radio-group{display:flex;flex-direction:column;margin:15px 0}.cron-editor-radio-button{margin:5px}.checkbox-margin{margin:0 10px}.cron-editor-tab-content .mat-form-field{width:auto}.cron-editor-tab-content ::ng-deep .mat-form-field-wrapper{padding-bottom:0}.cron-editor-tab-content ::ng-deep .mat-radio-label-content{align-items:center;display:flex}.cron-editor-tab-content ::ng-deep .mat-radio-label-content>*{margin-right:5px}"]}]}],"members":{"backgroundColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"cron":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":85,"character":26}]}],"onTabFocus":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"computeMinutesCron":[{"__symbolic":"method"}],"computeHourlyCron":[{"__symbolic":"method"}],"computeDailyCron":[{"__symbolic":"method"}],"computeWeeklyCron":[{"__symbolic":"method"}],"computeMonthlyCron":[{"__symbolic":"method"}],"computeYearlyCron":[{"__symbolic":"method"}],"computeAdvancedExpression":[{"__symbolic":"method"}],"dayDisplay":[{"__symbolic":"method"}],"monthWeekDisplay":[{"__symbolic":"method"}],"monthDisplay":[{"__symbolic":"method"}],"monthDayDisplay":[{"__symbolic":"method"}],"getAmPmHour":[{"__symbolic":"method"}],"getHourType":[{"__symbolic":"method"}],"hourToCron":[{"__symbolic":"method"}],"handleModelChange":[{"__symbolic":"method"}],"cronIsValid":[{"__symbolic":"method"}],"getDefaultState":[{"__symbolic":"method"}],"getOrdinalSuffix":[{"__symbolic":"method"}],"getSelectOptions":[{"__symbolic":"method"}],"getRange":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}]}},"TimePickerModel":{"__symbolic":"interface"},"TimePickerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"cron-time-picker","providers":[{"provide":{"__symbolic":"reference","module":"@angular/material/form-field","name":"MAT_FORM_FIELD_DEFAULT_OPTIONS","line":25,"character":15},"useValue":{"appearance":"outline","floatLabel":"always"}}],"template":"<span [formGroup]=\"parent.control\">\r\n\r\n <ng-container *ngIf=\"!hideHours\">\r\n <mat-form-field>\r\n <mat-label>Hour(s)</mat-label>\r\n <mat-select formControlName=\"hours\">\r\n <mat-option *ngFor=\"let hour of hours\" [value]=\"hour\">{{hour}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hideMinutes\">\r\n <span *ngIf=\"!hideHours\">:</span>\r\n <mat-form-field>\r\n <mat-label>Minute(s)</mat-label>\r\n <mat-select formControlName=\"minutes\">\r\n <mat-option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{minute}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!hideSeconds\">\r\n <span *ngIf=\"!hideMinutes\">:</span>\r\n <mat-form-field>\r\n <mat-label>Second(s)</mat-label>\r\n <mat-select formControlName=\"seconds\">\r\n <mat-option *ngFor=\"let second of seconds\" [value]=\"second\">{{second}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!use24HourTime\">\r\n <span></span>.\r\n <mat-form-field>\r\n <mat-select formControlName=\"hourType\">\r\n <mat-option *ngFor=\"let hourType of hourTypes\" [value]=\"hourType\">{{hourType}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n</span>\r\n","styles":[".mat-form-field{width:auto}.mat-form-field ::ng-deep .mat-form-field.wrapper{padding-bottom:0}"]}]}],"members":{"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"use24HourTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"hideHours":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"hideMinutes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"hideSeconds":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"ControlContainer","line":46,"character":29}]}]}}},"origins":{"CronEditorModule":"./src/cron-editor.module","CronOptions":"./src/CronOptions","Days":"./src/enums","MonthWeeks":"./src/enums","Months":"./src/enums","CRON_VALUE_ACCESSOR":"./src/cron-editor.component","CronGenComponent":"./src/cron-editor.component","TimePickerModel":"./src/cron-time-picker.component","TimePickerComponent":"./src/cron-time-picker.component"},"importAs":"@gidoont/ngx-cron-editor"} |
@@ -5,3 +5,3 @@ { | ||
"name": "@gidoont/ngx-cron-editor", | ||
"version": "0.0.5", | ||
"version": "0.0.6", | ||
"repository": { | ||
@@ -8,0 +8,0 @@ "type": "git", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
486625
2813
12