{"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  standalone: true\n})\nexport class RangePickerShortcutTplComponent {\n  @ViewChild('tpl', { static: true })\n  readonly tpl!: TemplateRef<void>;\n\n  list: AlainDateRangePickerShortcutItem[] = [];\n\n  click(_: AlainDateRangePickerShortcutItem): void {}\n}\n","import {\n  AfterViewInit,\n  ComponentRef,\n  Directive,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  Output,\n  TemplateRef,\n  ViewContainerRef,\n  inject\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\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 { NzDatePickerComponent, NzRangePickerComponent } from 'ng-zorro-antd/date-picker';\nimport { DatePickerService } from 'ng-zorro-antd/date-picker/date-picker.service';\n\nimport { RangePickerShortcutTplComponent } from './range-shortcut.component';\n\n@Directive({\n  selector: 'nz-range-picker[extend]',\n  exportAs: 'extendRangePicker',\n  standalone: true\n})\nexport class RangePickerDirective implements OnDestroy, AfterViewInit {\n  static ngAcceptInputType_shortcut: AlainDateRangePickerShortcut | string | null;\n\n  private readonly dom = inject(DomSanitizer);\n  private readonly vcr = inject(ViewContainerRef);\n  private readonly nativeComp = inject(NzRangePickerComponent, { host: true, optional: true });\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\n  @Input()\n  set shortcut(val: AlainDateRangePickerShortcut | null) {\n    const item = deepMergeKey(\n      { list: [] },\n      true,\n      this.defaultShortcuts,\n      val == null ? {} : val\n    ) as AlainDateRangePickerShortcut;\n    if (typeof val !== 'object') {\n      item.enabled = val !== false;\n    }\n    (item.list || []).forEach(i => {\n      i._text = this.dom.bypassSecurityTrustHtml(i.text);\n    });\n    this._shortcut = item;\n    this.refreshShortcut();\n  }\n  get shortcut(): AlainDateRangePickerShortcut | null {\n    return this._shortcut;\n  }\n  @Input({ required: true }) ngModelEnd: NzSafeAny;\n  @Output() readonly ngModelEndChange = new EventEmitter<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(configSrv: AlainConfigService) {\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 = configSrv.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: [\n          {\n            text: '今天',\n            fn: () => getTimeDistance('today')\n          },\n          {\n            text: '昨天',\n            fn: () => getTimeDistance('yesterday')\n          },\n          {\n            text: '近3天',\n            fn: () => getTimeDistance(-2)\n          },\n          {\n            text: '近7天',\n            fn: () => getTimeDistance(-6)\n          },\n          {\n            text: '本周',\n            fn: () => getTimeDistance('week')\n          },\n          {\n            text: '本月',\n            fn: () => getTimeDistance('month')\n          },\n          {\n            text: '全年',\n            fn: () => getTimeDistance('year')\n          }\n        ]\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 = end;\n      this.ngModelEndChange.emit(end);\n    };\n  }\n\n  private refreshShortcut(): void {\n    if (!this._shortcut) {\n      return;\n    }\n    const { enabled, list } = this._shortcut;\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;\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  private destoryShortcut(): void {\n    if (this.shortcutFactory != null) {\n      this.shortcutFactory.destroy();\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destoryShortcut();\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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"}