UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

1 lines 31.6 kB
{"version":3,"file":"ng-zorro-antd-cron-expression.mjs","sources":["../../components/cron-expression/typings.ts","../../components/cron-expression/cron-expression-input.component.ts","../../components/cron-expression/cron-expression-label.component.ts","../../components/cron-expression/cron-expression-preview.component.ts","../../components/cron-expression/cron-expression.component.ts","../../components/cron-expression/cron-expression.module.ts","../../components/cron-expression/public-api.ts","../../components/cron-expression/ng-zorro-antd-cron-expression.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport type TimeType = keyof Cron;\n\nexport interface Cron {\n second?: CronValue;\n minute?: CronValue;\n hour?: CronValue;\n day?: CronValue;\n month?: CronValue;\n week?: CronValue;\n}\n\nexport type CronValue = '*' | `${number}` | `${number}-${number}` | `${number}/${number}` | string;\n\nexport interface CronChangeType {\n label: TimeType;\n value: CronValue;\n}\n\nexport type NzCronExpressionSize = 'large' | 'default' | 'small';\nexport type NzCronExpressionType = 'linux' | 'spring';\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { CronChangeType, TimeType } from './typings';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'nz-cron-expression-input',\n exportAs: 'nzCronExpressionInput',\n template: `\n <div class=\"ant-cron-expression-input\">\n <input\n nz-input\n [(ngModel)]=\"value\"\n [name]=\"label\"\n [disabled]=\"disabled\"\n (focus)=\"focusInputEffect($event)\"\n (blur)=\"blurInputEffect()\"\n (ngModelChange)=\"setValue()\"\n />\n </div>\n `,\n imports: [NzInputModule, FormsModule],\n standalone: true\n})\nexport class NzCronExpressionInputComponent {\n @Input() value: string = '0';\n @Input() label: TimeType = 'second';\n @Input({ transform: booleanAttribute }) disabled: boolean = false;\n @Output() readonly focusEffect = new EventEmitter<TimeType>();\n @Output() readonly blurEffect = new EventEmitter<void>();\n @Output() readonly getValue = new EventEmitter<CronChangeType>();\n\n constructor() {}\n\n focusInputEffect(event: FocusEvent): void {\n this.focusEffect.emit(this.label);\n (event.target as HTMLInputElement).select();\n }\n\n blurInputEffect(): void {\n this.blurEffect.emit();\n }\n\n setValue(): void {\n this.getValue.emit({ label: this.label, value: this.value });\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, Input } from '@angular/core';\n\nimport { NzCronExpressionLabelI18n } from 'ng-zorro-antd/i18n';\n\nimport { TimeType } from './typings';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'nz-cron-expression-label',\n exportAs: 'nzCronExpressionLabel',\n template: `\n <div class=\"ant-cron-expression-label\" [class.ant-cron-expression-label-foucs]=\"labelFocus === type\">\n <label>\n {{ locale[type] }}\n </label>\n </div>\n `,\n standalone: true\n})\nexport class NzCronExpressionLabelComponent {\n @Input() type: TimeType = 'second';\n @Input() locale!: NzCronExpressionLabelI18n;\n @Input() labelFocus: string | null = null;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { DatePipe, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\n\nimport { NzCronExpressionCronErrorI18n } from 'ng-zorro-antd/i18n';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'nz-cron-expression-preview',\n exportAs: 'nzCronExpressionPreview',\n template: ` <div class=\"ant-collapse ant-collapse-borderless ant-cron-expression-preview\">\n <div class=\"ant-cron-expression-preview-dateTime\" [class.ant-cron-expression-preview-dateTime-center]=\"!isExpand\">\n @if (visible) {\n @if (!nzSemantic) {\n {{ TimeList[0] | date: 'YYYY-MM-dd HH:mm:ss' }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"nzSemantic\" />\n }\n } @else {\n {{ locale.cronError }}\n }\n </div>\n @if (visible && !isExpand) {\n <div class=\"ant-cron-expression-preview-content\">\n <ul class=\"ant-cron-expression-preview-list\">\n @for (item of TimeList; track item) {\n <li>\n {{ item | date: 'YYYY-MM-dd HH:mm:ss' }}\n </li>\n }\n <li><a (click)=\"loadMorePreview.emit()\">···</a></li>\n </ul>\n </div>\n }\n\n <ul class=\"ant-cron-expression-preview-icon\">\n @if (isExpand) {\n <li><span nz-icon nzType=\"down\" nzTheme=\"outline\" (click)=\"setExpand()\"></span></li>\n } @else {\n <li><span nz-icon nzType=\"up\" nzTheme=\"outline\" (click)=\"setExpand()\"></span></li>\n }\n </ul>\n </div>`,\n imports: [NgTemplateOutlet, DatePipe, NzIconModule],\n standalone: true\n})\nexport class NzCronExpressionPreviewComponent {\n @Input() TimeList: Date[] = [];\n @Input({ transform: booleanAttribute }) visible: boolean = true;\n @Input() locale!: NzCronExpressionCronErrorI18n;\n @Input() nzSemantic: TemplateRef<void> | null = null;\n @Output() readonly loadMorePreview = new EventEmitter<void>();\n\n isExpand: boolean = true;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n setExpand(): void {\n this.isExpand = !this.isExpand;\n this.cdr.markForCheck();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n inject,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n AbstractControl,\n AsyncValidator,\n ControlValueAccessor,\n FormBuilder,\n FormControl,\n FormGroup,\n NG_ASYNC_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport { Observable, of } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CronExpression, parseExpression } from 'cron-parser';\n\nimport { NzDestroyService } from 'ng-zorro-antd/core/services';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzCronExpressionI18nInterface, NzI18nService } from 'ng-zorro-antd/i18n';\n\nimport { NzCronExpressionInputComponent } from './cron-expression-input.component';\nimport { NzCronExpressionLabelComponent } from './cron-expression-label.component';\nimport { NzCronExpressionPreviewComponent } from './cron-expression-preview.component';\nimport { Cron, CronChangeType, CronValue, NzCronExpressionSize, NzCronExpressionType, TimeType } from './typings';\n\nfunction labelsOfType(type: NzCronExpressionType): TimeType[] {\n if (type === 'spring') {\n return ['second', 'minute', 'hour', 'day', 'month', 'week'];\n }\n return ['minute', 'hour', 'day', 'month', 'week'];\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'nz-cron-expression',\n exportAs: 'nzCronExpression',\n template: `\n <div class=\"ant-cron-expression\">\n <div class=\"ant-cron-expression-content\">\n <div\n class=\"ant-input ant-cron-expression-input-group\"\n [class.ant-input-lg]=\"nzSize === 'large'\"\n [class.ant-input-sm]=\"nzSize === 'small'\"\n [class.ant-input-borderless]=\"nzBorderless\"\n [class.ant-cron-expression-input-group-focus]=\"focus && !nzBorderless\"\n [class.ant-input-status-error]=\"!validateForm.valid && !nzBorderless\"\n [class.ant-cron-expression-input-group-error-focus]=\"!validateForm.valid && focus && !nzBorderless\"\n [class.ant-input-disabled]=\"nzDisabled\"\n >\n @for (label of labels; track label) {\n <nz-cron-expression-input\n [value]=\"this.validateForm.controls[label].value\"\n [label]=\"label\"\n [disabled]=\"nzDisabled\"\n (focusEffect)=\"focusEffect($event)\"\n (blurEffect)=\"blurEffect()\"\n (getValue)=\"getValue($event)\"\n />\n }\n </div>\n <div\n class=\"ant-cron-expression-label-group\"\n [class.ant-input-lg]=\"nzSize === 'large'\"\n [class.ant-cron-expression-label-group-default]=\"nzSize === 'default'\"\n [class.ant-input-sm]=\"nzSize === 'small'\"\n >\n @for (label of labels; track label) {\n <nz-cron-expression-label [type]=\"label\" [labelFocus]=\"labelFocus\" [locale]=\"locale\" />\n }\n </div>\n @if (!nzCollapseDisable) {\n <nz-cron-expression-preview\n [TimeList]=\"nextTimeList\"\n [visible]=\"validateForm.valid\"\n [locale]=\"locale\"\n [nzSemantic]=\"nzSemantic\"\n (loadMorePreview)=\"loadMorePreview()\"\n />\n }\n </div>\n @if (nzExtra) {\n <div class=\"ant-cron-expression-map\">\n <ng-template [ngTemplateOutlet]=\"nzExtra\" />\n </div>\n }\n </div>\n `,\n providers: [\n {\n provide: NG_ASYNC_VALIDATORS,\n useExisting: forwardRef(() => NzCronExpressionComponent),\n multi: true\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NzCronExpressionComponent),\n multi: true\n },\n NzDestroyService\n ],\n imports: [\n NzCronExpressionInputComponent,\n NzCronExpressionLabelComponent,\n NzCronExpressionPreviewComponent,\n NgTemplateOutlet\n ],\n standalone: true\n})\nexport class NzCronExpressionComponent implements OnInit, OnChanges, ControlValueAccessor, AsyncValidator {\n @Input() nzSize: NzCronExpressionSize = 'default';\n @Input() nzType: NzCronExpressionType = 'linux';\n @Input({ transform: booleanAttribute }) nzCollapseDisable: boolean = false;\n @Input() nzExtra?: TemplateRef<void> | null = null;\n @Input() nzSemantic: TemplateRef<void> | null = null;\n @Input({ transform: booleanAttribute }) nzBorderless = false;\n @Input({ transform: booleanAttribute }) nzDisabled = false;\n\n locale!: NzCronExpressionI18nInterface;\n focus: boolean = false;\n labelFocus: TimeType | null = null;\n labels: TimeType[] = labelsOfType(this.nzType);\n interval!: CronExpression<false>;\n nextTimeList: Date[] = [];\n private isNzDisableFirstChange: boolean = true;\n private destroy$ = inject(NzDestroyService);\n\n validateForm: FormGroup<Record<TimeType, FormControl<CronValue>>>;\n\n onChange: NzSafeAny = () => {};\n onTouch: () => void = () => null;\n\n convertFormat(value: string): void {\n const values = value.split(' ');\n const valueObject = this.labels.reduce((obj, label, idx) => {\n obj[label] = values[idx];\n return obj;\n }, {} as Cron);\n this.validateForm.patchValue(valueObject);\n }\n\n writeValue(value: string | null): void {\n if (value) {\n this.convertFormat(value);\n }\n }\n\n registerOnChange(fn: NzSafeAny): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: NzSafeAny): void {\n this.onTouch = fn;\n }\n\n validate(): Observable<ValidationErrors | null> {\n if (this.validateForm.valid) {\n return of(null);\n } else {\n return of({ error: true });\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.nzDisabled = (this.isNzDisableFirstChange && this.nzDisabled) || isDisabled;\n this.isNzDisableFirstChange = false;\n this.cdr.markForCheck();\n }\n\n constructor(\n private formBuilder: FormBuilder,\n private cdr: ChangeDetectorRef,\n private i18n: NzI18nService\n ) {\n this.validateForm = this.formBuilder.nonNullable.group(\n {\n second: ['0', Validators.required],\n minute: ['*', Validators.required],\n hour: ['*', Validators.required],\n day: ['*', Validators.required],\n month: ['*', Validators.required],\n week: ['*', Validators.required]\n },\n { validators: this.checkValid }\n );\n }\n\n ngOnInit(): void {\n this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.locale = this.i18n.getLocaleData('CronExpression');\n this.cdr.markForCheck();\n });\n this.cronFormType();\n this.previewDate(this.validateForm.value);\n\n this.validateForm.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n this.onChange(Object.values(value).join(' '));\n this.previewDate(value);\n this.cdr.markForCheck();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzType } = changes;\n\n if (nzType) {\n this.labels = labelsOfType(this.nzType);\n this.cronFormType();\n }\n }\n\n cronFormType(): void {\n if (this.nzType === 'spring') {\n this.validateForm.controls.second.enable();\n } else {\n this.validateForm.controls.second.disable();\n }\n }\n\n previewDate(value: Cron): void {\n try {\n this.interval = parseExpression(Object.values(value).join(' '));\n this.nextTimeList = [\n this.interval.next().toDate(),\n this.interval.next().toDate(),\n this.interval.next().toDate(),\n this.interval.next().toDate(),\n this.interval.next().toDate()\n ];\n } catch (err: NzSafeAny) {\n return;\n }\n }\n\n loadMorePreview(): void {\n this.nextTimeList = [\n ...this.nextTimeList,\n this.interval.next().toDate(),\n this.interval.next().toDate(),\n this.interval.next().toDate(),\n this.interval.next().toDate(),\n this.interval.next().toDate()\n ];\n this.cdr.markForCheck();\n }\n\n focusEffect(value: TimeType): void {\n this.focus = true;\n this.labelFocus = value;\n this.cdr.markForCheck();\n }\n\n blurEffect(): void {\n this.focus = false;\n this.labelFocus = null;\n this.cdr.markForCheck();\n }\n\n getValue(item: CronChangeType): void {\n this.validateForm.controls[item.label].patchValue(item.value);\n this.cdr.markForCheck();\n }\n\n checkValid: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n if (control.value) {\n try {\n const cron: string[] = [];\n this.labels.forEach(label => {\n cron.push(control.value[label]);\n });\n parseExpression(cron.join(' '));\n } catch (err: unknown) {\n return { error: true };\n }\n }\n return null;\n };\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { NzCronExpressionInputComponent } from './cron-expression-input.component';\nimport { NzCronExpressionLabelComponent } from './cron-expression-label.component';\nimport { NzCronExpressionPreviewComponent } from './cron-expression-preview.component';\nimport { NzCronExpressionComponent } from './cron-expression.component';\n\n@NgModule({\n imports: [\n NzCronExpressionComponent,\n NzCronExpressionLabelComponent,\n NzCronExpressionInputComponent,\n NzCronExpressionPreviewComponent\n ],\n exports: [NzCronExpressionComponent]\n})\nexport class NzCronExpressionModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './typings';\nexport * from './cron-expression.component';\nexport * from './cron-expression.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}