{"version":3,"file":"widgets-transfer.mjs","sources":["../../../../packages/form/widgets/transfer/widget.ts","../../../../packages/form/widgets/transfer/module.ts","../../../../packages/form/widgets/transfer/index.ts","../../../../packages/form/widgets/transfer/widgets-transfer.ts"],"sourcesContent":["import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Observable, of } from 'rxjs';\n\nimport { ControlUIWidget, DelonFormModule, SFSchemaEnum, SFValue, getData } from '@delon/form';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport {\n  NzTransferModule,\n  TransferCanMove,\n  TransferChange,\n  TransferItem,\n  TransferSearchChange,\n  TransferSelectChange\n} from 'ng-zorro-antd/transfer';\n\nimport type { SFTransferWidgetSchema } from './schema';\n\n@Component({\n  selector: 'sf-transfer',\n  template: `<sf-item-wrap\n    [id]=\"id\"\n    [schema]=\"schema\"\n    [ui]=\"ui\"\n    [showError]=\"showError\"\n    [error]=\"error\"\n    [showTitle]=\"schema.title\"\n  >\n    <nz-transfer\n      [nzDataSource]=\"$any(list)\"\n      [nzTitles]=\"i.titles\"\n      [nzOperations]=\"i.operations\"\n      [nzListStyle]=\"ui.listStyle!\"\n      [nzItemUnit]=\"i.itemUnit\"\n      [nzItemsUnit]=\"i.itemsUnit\"\n      [nzShowSearch]=\"ui.showSearch\"\n      [nzFilterOption]=\"ui.filterOption\"\n      [nzSearchPlaceholder]=\"ui.searchPlaceholder\"\n      [nzNotFoundContent]=\"ui.notFoundContent\"\n      [nzOneWay]=\"ui.oneWay\"\n      [nzCanMove]=\"_canMove\"\n      (nzChange)=\"_change($event)\"\n      (nzSearchChange)=\"_searchChange($event)\"\n      (nzSelectChange)=\"_selectChange($event)\"\n    />\n  </sf-item-wrap> `,\n  encapsulation: ViewEncapsulation.None,\n  imports: [FormsModule, DelonFormModule, NzTransferModule]\n})\nexport class TransferWidget extends ControlUIWidget<SFTransferWidgetSchema> implements OnInit {\n  static readonly KEY = 'transfer';\n\n  list: SFSchemaEnum[] = [];\n  i!: { titles: string[]; operations: string[]; itemUnit: string; itemsUnit: string };\n  private _data: SFSchemaEnum[] = [];\n\n  ngOnInit(): void {\n    const { titles, operations, itemUnit, itemsUnit } = this.ui;\n    this.i = {\n      titles: titles ?? ['', ''],\n      operations: operations ?? ['', ''],\n      itemUnit: itemUnit ?? '项',\n      itemsUnit: itemsUnit ?? '项'\n    };\n  }\n\n  reset(value: SFValue): void {\n    getData(this.schema, this.ui, null).subscribe(list => {\n      let formData = value;\n      if (!Array.isArray(formData)) {\n        formData = [formData];\n      }\n      list.forEach((item: SFSchemaEnum) => {\n        if (~(formData as NzSafeAny[]).indexOf(item.value)) {\n          item.direction = 'right';\n        }\n      });\n      this.list = list;\n      this._data = list.filter(w => w.direction === 'right');\n      this.notify();\n      this.detectChanges();\n    });\n  }\n\n  private notify(): void {\n    this.formProperty.setValue(\n      this._data.map(i => i.value),\n      false\n    );\n  }\n\n  _canMove = (arg: TransferCanMove): Observable<TransferItem[]> => {\n    return this.ui.canMove ? this.ui.canMove(arg) : of(arg.list);\n  };\n\n  _change(options: TransferChange): void {\n    if (options.to === 'right') {\n      this._data = this._data.concat(...options.list);\n    } else {\n      this._data = this._data.filter((w: SFSchemaEnum) => options.list.indexOf(w as TransferItem) === -1);\n    }\n    if (this.ui.change) this.ui.change(options);\n    this.notify();\n  }\n\n  _searchChange(options: TransferSearchChange): void {\n    if (this.ui.searchChange) this.ui.searchChange(options);\n    this.detectChanges();\n  }\n\n  _selectChange(options: TransferSelectChange): void {\n    if (this.ui.selectChange) this.ui.selectChange(options);\n    this.detectChanges();\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { DelonFormModule, WidgetRegistry } from '@delon/form';\nimport { NzTransferModule } from 'ng-zorro-antd/transfer';\n\nimport { TransferWidget } from './widget';\n\nexport * from './widget';\nexport * from './schema';\n\n@NgModule({\n  imports: [FormsModule, DelonFormModule, NzTransferModule, TransferWidget]\n})\nexport class TransferWidgetModule {\n  constructor(widgetRegistry: WidgetRegistry) {\n    widgetRegistry.register(TransferWidget.KEY, TransferWidget);\n  }\n}\n","import type { SFWidgetProvideConfig } from '@delon/form';\n\nimport { TransferWidget } from './widget';\n\nexport * from './widget';\nexport * from './schema';\nexport * from './module';\n\nexport function withTransferWidget(): SFWidgetProvideConfig {\n  return { KEY: TransferWidget.KEY, type: TransferWidget };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}