{"version":3,"file":"winkong-ng-zorro-antd-extension-editable.mjs","sources":["../../../components/editable/editable.component.ts","../../../components/editable/editable.module.ts","../../../components/editable/winkong-ng-zorro-antd-extension-editable.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/directive-class-suffix */\n/* eslint-disable @angular-eslint/directive-selector */\n/* eslint-disable @angular-eslint/component-selector */\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  Input,\n  OnInit,\n  Output,\n  TemplateRef,\n  ViewChild,\n  ViewContainerRef,\n} from '@angular/core';\nimport {\n  isNumber,\n  isString,\n  toNumber,\n  toString,\n} from '@winkong/ng-zorro-antd-extension/util';\n\n@Component({\n  selector: '[nzx-editable]',\n  template: `\n    <ng-container #detailContainer> </ng-container>\n\n    <ng-template #detailTemplate>\n      {{ nzxContent }}\n      <button\n        *ngIf=\"nzxShowBtn\"\n        class=\"ant-typography-edit\"\n        type=\"button\"\n        nz-trans-button\n        (click)=\"edit()\"\n      >\n        <span nz-icon nzType=\"edit\" nzTheme=\"outline\"></span>\n      </button>\n    </ng-template>\n\n    <ng-template #editTemplate>\n      <textarea\n        nz-input\n        [nzAutosize]=\"{ minRows: 1, maxRows: 4 }\"\n        [ngModel]=\"nzxContent\"\n        (ngModelChange)=\"valueChange($event)\"\n        (blur)=\"blur()\"\n      ></textarea>\n    </ng-template>\n  `,\n  styles: [\n    `\n      .nzx-editable-cell {\n        cursor: pointer;\n      }\n    `,\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  exportAs: 'NzxEditable',\n})\nexport class NzxEditableComponent implements OnInit {\n  @Input() nzxContent: string | number | null = '';\n  @Input() nzxShowBtn = true;\n  @Input() nzxContentType: 'string' | 'number' | undefined;\n\n  @Output() nzxContentChange = new EventEmitter();\n\n  @HostBinding('class') class = 'nzx-editable-cell';\n\n  @ViewChild('detailTemplate', { static: true })\n  private detailTemplateRef!: TemplateRef<any>;\n\n  @ViewChild('editTemplate', { static: true })\n  private editTemplateRef!: TemplateRef<any>;\n\n  @ViewChild('detailContainer', { static: true, read: ViewContainerRef })\n  private detailContainerRef!: ViewContainerRef;\n  private _valueType: 'string' | 'number' = 'string';\n\n  @HostListener('dblclick')\n  dblclick() {\n    this.edit();\n  }\n\n  ngOnInit(): void {\n    if (this.nzxContentType) {\n      this._valueType = this.nzxContentType;\n    } else {\n      if (isString(this.nzxContent)) {\n        this._valueType = 'string';\n      }\n      if (isNumber(this.nzxContent)) {\n        this._valueType = 'number';\n      }\n    }\n\n    this.detailContainerRef.clear();\n    const view = this.detailContainerRef.createEmbeddedView(\n      this.detailTemplateRef\n    );\n    view.markForCheck();\n  }\n\n  edit() {\n    this.detailContainerRef.clear();\n    const view = this.detailContainerRef.createEmbeddedView(\n      this.editTemplateRef\n    );\n    view.markForCheck();\n    (view.rootNodes[0] as HTMLTextAreaElement).focus();\n  }\n\n  blur() {\n    this.detailContainerRef.clear();\n    const view = this.detailContainerRef.createEmbeddedView(\n      this.detailTemplateRef\n    );\n    view.markForCheck();\n  }\n\n  valueChange(value: any) {\n    let result = value;\n    if (this._valueType === 'number') {\n      result = toNumber(value);\n    } else {\n      result = toString(value);\n    }\n    this.nzxContentChange.emit(result);\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzTransButtonModule } from '@winkong/ng-zorro-antd/core/trans-button';\nimport { NzIconModule } from '@winkong/ng-zorro-antd/icon';\nimport { NzInputModule } from '@winkong/ng-zorro-antd/input';\nimport { NzxEditableComponent } from './editable.component';\n@NgModule({\n  declarations: [NzxEditableComponent],\n  imports: [\n    CommonModule,\n    FormsModule,\n    NzIconModule,\n    NzInputModule,\n    NzTransButtonModule,\n  ],\n  exports: [NzxEditableComponent],\n})\nexport class NzxEditableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}