{"version":3,"file":"date-picker.mjs","sources":["../../../../packages/abc/date-picker/range-shortcut.component.ts","../../../../packages/abc/date-picker/range.directive.ts","../../../../packages/abc/date-picker/date-picker.module.ts","../../../../packages/abc/date-picker/date-picker.ts"],"sourcesContent":["import { Component, TemplateRef, viewChild } from '@angular/core';\n\nimport { AlainDateRangePickerShortcutItem } from '@delon/util/config';\n\n@Component({\n  selector: '',\n  template: `\n    <ng-template #tpl>\n      @for (i of list; track $index) {\n        <a (click)=\"click(i)\" [innerHTML]=\"i._text\" [class.ml-sm]=\"!$first\"></a>\n      }\n    </ng-template>\n  `\n})\nexport class RangePickerShortcutTplComponent {\n  readonly tpl = viewChild.required<TemplateRef<void>>('tpl');\n\n  list: AlainDateRangePickerShortcutItem[] = [];\n\n  click(_: AlainDateRangePickerShortcutItem): void {}\n}\n","import {\n  AfterViewInit,\n  ComponentRef,\n  Directive,\n  OnDestroy,\n  TemplateRef,\n  ViewContainerRef,\n  inject,\n  input,\n  model\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { DelonLocaleService } from '@delon/theme';\nimport { AlainConfigService, AlainDateRangePickerShortcut, AlainDateRangePickerShortcutItem } from '@delon/util/config';\nimport { fixEndTimeOfRange, getTimeDistance } from '@delon/util/date-time';\nimport { assert, deepMergeKey } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { toBoolean } from 'ng-zorro-antd/core/util';\nimport { NzDatePickerComponent, NzRangePickerComponent, type ɵDatePickerService } from 'ng-zorro-antd/date-picker';\n\nimport { RangePickerShortcutTplComponent } from './range-shortcut.component';\n\n@Directive({\n  selector: 'nz-range-picker[extend]',\n  exportAs: 'extendRangePicker'\n})\nexport class RangePickerDirective implements OnDestroy, AfterViewInit {\n  private readonly dom = inject(DomSanitizer);\n  private readonly vcr = inject(ViewContainerRef);\n  private readonly nativeComp = inject(NzRangePickerComponent, { host: true, optional: true });\n  private readonly cogSrv = inject(AlainConfigService);\n\n  private defaultShortcuts: AlainDateRangePickerShortcut;\n  private _shortcut: AlainDateRangePickerShortcut | null = null;\n  private shortcutFactory: ComponentRef<RangePickerShortcutTplComponent> | null = null;\n  start: Date | null = null;\n  end: Date | null = null;\n  private locale = inject(DelonLocaleService).getData('datePicker');\n\n  readonly shortcut = input(null, {\n    transform: (v: AlainDateRangePickerShortcut | string | null) => {\n      const cog = deepMergeKey(\n        { list: [] },\n        true,\n        this.defaultShortcuts,\n        v == null ? {} : v\n      ) as AlainDateRangePickerShortcut;\n      if (typeof v !== 'object') {\n        cog.enabled = toBoolean(v) !== false;\n      }\n      this._shortcut = cog;\n      this.refreshShortcut();\n      return cog;\n    }\n  });\n  readonly ngModelEnd = model.required<NzSafeAny>();\n\n  private get dp(): NzDatePickerComponent {\n    return this.nativeComp!.datePicker;\n  }\n\n  private get srv(): ɵDatePickerService {\n    return this.dp.datePickerService;\n  }\n\n  constructor() {\n    if (typeof ngDevMode === 'undefined' || ngDevMode) {\n      assert(\n        !!this.nativeComp,\n        `It should be attached to nz-range-picker component, for example: '<nz-range-picker [(ngModel)]=\"i.start\" extend [(ngModelEnd)]=\"i.end\" shortcut></nz-range-picker>'`\n      );\n    }\n    const cog = this.cogSrv.merge('dataRange', {\n      nzFormat: 'yyyy-MM-dd',\n      nzAllowClear: true,\n      nzAutoFocus: false,\n      nzPopupStyle: { position: 'relative' },\n      nzShowToday: true,\n      shortcuts: {\n        enabled: false,\n        closed: true,\n        list: ['today', 'yesterday', '-3', '-7', 'week', 'lastWeek', 'month', 'lastMonth', 'year']\n      }\n    })!;\n    this.defaultShortcuts = { ...cog.shortcuts } as AlainDateRangePickerShortcut;\n    Object.assign(this, cog);\n  }\n\n  private cd(): void {\n    (this.dp as NzSafeAny).cdr.markForCheck();\n  }\n\n  private overrideNative(): void {\n    const dp = this.dp;\n    dp.writeValue = (value: Date) => {\n      const dates = (value && this.ngModelEnd() ? [value, this.ngModelEnd()] : []).filter(w => !!w);\n      this.srv.setValue(this.srv.makeValue(dates));\n      this.start = dates.length > 0 ? dates[0] : null;\n      this.end = dates.length > 0 ? dates[1] : null;\n      this.cd();\n    };\n\n    const oldOnChangeFn = dp.onChangeFn;\n    dp.onChangeFn = (list: Array<Date | null>) => {\n      let start: Date | null = null;\n      let end: Date | null = null;\n      if (list.length > 0 && list.filter(w => w != null).length === 2) {\n        [start, end] = fixEndTimeOfRange([list[0]!, list[1]!]);\n      }\n      this.start = start;\n      this.end = end;\n      oldOnChangeFn(start);\n      this.ngModelEnd.set(end);\n    };\n  }\n\n  private refreshShortcut(): void {\n    if (!this._shortcut) {\n      return;\n    }\n    const { enabled } = this._shortcut;\n    const list = (this._shortcut.list ?? []).map(i => {\n      let item: AlainDateRangePickerShortcutItem = typeof i === 'string' ? ({} as AlainDateRangePickerShortcutItem) : i;\n      if (typeof i === 'string') {\n        switch (i) {\n          case 'today': {\n            item.fn = () => getTimeDistance('today');\n            item.text = this.locale.today;\n            break;\n          }\n          case 'yesterday': {\n            item.fn = () => getTimeDistance('yesterday');\n            item.text = this.locale.yesterday;\n            break;\n          }\n          case '-3': {\n            item.fn = () => getTimeDistance(-2);\n            item.text = this.locale.last3Days;\n            break;\n          }\n          case '-7': {\n            item.fn = () => getTimeDistance(-6);\n            item.text = this.locale.last7Days;\n            break;\n          }\n          case 'week': {\n            item.fn = () => getTimeDistance('week');\n            item.text = this.locale.thisWeek;\n            break;\n          }\n          case 'lastWeek': {\n            item.fn = () => getTimeDistance('-week');\n            item.text = this.locale.lastWeek;\n            break;\n          }\n          case 'month': {\n            item.fn = () => getTimeDistance('month');\n            item.text = this.locale.thisMonth;\n            break;\n          }\n          case 'lastMonth': {\n            item.fn = () => getTimeDistance('-month');\n            item.text = this.locale.lastMonth;\n            break;\n          }\n          case 'year': {\n            item.fn = () => getTimeDistance('year');\n            item.text = this.locale.thisYear;\n            break;\n          }\n        }\n      }\n      item._text = this.dom.bypassSecurityTrustHtml(item.text);\n      return item;\n    });\n    let extraFooter: TemplateRef<NzSafeAny> | undefined;\n    if (!this.nativeComp || !enabled) {\n      extraFooter = undefined;\n    } else {\n      if (!this.shortcutFactory) {\n        this.shortcutFactory = this.vcr.createComponent(RangePickerShortcutTplComponent);\n      }\n      const instance = this.shortcutFactory.instance;\n      instance.list = list;\n      instance.click = (item: AlainDateRangePickerShortcutItem) => {\n        const res = item.fn([this.start, this.end]);\n        this.srv.setValue(this.srv.makeValue(res as Date[]));\n        this.dp.onChangeFn(res);\n        this.dp.close();\n      };\n      extraFooter = instance.tpl();\n    }\n    this.nativeComp!.datePicker.extraFooter = extraFooter;\n    Promise.resolve().then(() => this.cd());\n  }\n\n  ngAfterViewInit(): void {\n    this.overrideNative();\n    this.refreshShortcut();\n  }\n\n  ngOnDestroy(): void {\n    this.shortcutFactory?.destroy();\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\n\nimport { RangePickerShortcutTplComponent } from './range-shortcut.component';\nimport { RangePickerDirective } from './range.directive';\n\nconst COMPONENTS = [RangePickerDirective, RangePickerShortcutTplComponent];\n\n@NgModule({\n  imports: [CommonModule, FormsModule, NzDatePickerModule, ...COMPONENTS],\n  exports: COMPONENTS\n})\nexport class DatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}