{"version":3,"file":"ng-stalk-modal-template.mjs","sources":["../../components/modal-template/content-area-impl2/content-area-impl2.ts","../../components/modal-template/modal-template.component.ts","../../components/modal-template/modal-template.component.html","../../components/modal-template/mag-modal-template.module.ts","../../components/modal-template/public-api.ts","../../components/modal-template/ng-stalk-modal-template.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\nimport { SelectableZorroDataSource } from 'ng-stalk/core/crud';\nimport { Override } from 'ng-stalk/core/model';\nimport { MagUtil } from 'ng-stalk/core/util';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { Subject } from 'rxjs';\n\nexport abstract class ContentAreaImpl2<T, F> {\n  dataSource?: SelectableZorroDataSource<T, F>;\n\n  public componentId: string;\n  protected unsubscribeAll: Subject<NzSafeAny>;\n\n  protected constructor() {\n    this.componentId = MagUtil.generateGUID();\n    this.unsubscribeAll = new Subject();\n  }\n\n  @Override\n  // ngOnInit(): void {\n  onInit(): void {\n    this.dataSource = this.makeDataSource();\n  }\n\n  @Override\n  // ngOnDestroy(): void {\n  onDestroy(): void {\n    this.unsubscribeAll.next(true);\n    this.unsubscribeAll.complete();\n  }\n\n  abstract makeDataSource(): SelectableZorroDataSource<T, F>;\n\n  public getDataSource(): SelectableZorroDataSource<T, F> {\n    // @ts-ignore\n    return this.dataSource;\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, Input, OnDestroy, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ActionButton, ActionButtonContainer, CrudAction, OnActionCallback } from 'ng-stalk/core/crud';\nimport { MagSubmittingService } from 'ng-stalk/core/service';\nimport { NzButtonType } from 'ng-zorro-antd/button';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzModalRef, NzModalService } from 'ng-zorro-antd/modal';\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n  selector: 'mag-modal-template',\n  templateUrl: './modal-template.component.html',\n  styleUrls: ['./modal-template.component.less']\n})\nexport class ModalTemplateComponent implements OnInit, OnDestroy {\n  // @ts-ignore\n  @Input('dialogRef') dialogRef: NzModalRef<NzSafeAny>;\n  @Input('dialogTitle') dialogTitle?: string;\n  @Input('buttons') buttons: ActionButton[] | Observable<ActionButton[]> = [];\n  @Input('actionCallback') actionCallback?: OnActionCallback;\n  @Input('form') form?: FormGroup;\n  @Input('shareUrl') shareUrl?: string;\n\n  // @ts-ignore\n  actionButtonContainer: ActionButtonContainer;\n\n  private _unsubscribeAll: Subject<NzSafeAny>;\n\n  constructor(private submittingService: MagSubmittingService, private modalService: NzModalService) {\n    this._unsubscribeAll = new Subject();\n  }\n\n  ngOnInit(): void {\n    // this.dialogRef.getInstance().nzTitle = this.dialogTitle;\n    // this.dialogRef.componentInstance.nzTitle = this.dialogTitle;\n    if (this.buttons instanceof Observable) {\n      this.buttons.pipe(takeUntil(this._unsubscribeAll)).subscribe((actionButtons: ActionButton[]) => {\n        // TODO\n        this.actionButtonContainer = new ActionButtonContainer(\n          this.submittingService,\n          actionButtons,\n          this.actionCallback,\n          this.dialogRef,\n          this.modalService\n        );\n      });\n    } else {\n      this.actionButtonContainer = new ActionButtonContainer(\n        this.submittingService,\n        this.buttons,\n        this.actionCallback,\n        this.dialogRef,\n        this.modalService\n      );\n    }\n    if (this.dialogTitle) {\n      setTimeout(() => {\n        this.dialogRef.updateConfig({\n          ...this.dialogRef.getConfig(),\n          nzTitle: this.dialogTitle\n        });\n      });\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.actionButtonContainer.destroy();\n    this._unsubscribeAll.next(true);\n    this._unsubscribeAll.complete();\n  }\n\n  isDeleteAction(action: CrudAction | string): boolean {\n    if (action === CrudAction.openDeletePrompt || action === 'openDeletePrompt') {\n      return true;\n    }\n    return false;\n  }\n\n  public get hasShareUrl(): boolean {\n    return this.shareUrl ? true : false;\n  }\n\n  /**\n   * invalid 한 폼인지 체크한다.\n   */\n  get isInvalidForm(): boolean {\n    // 폼이 없을 경우에는 form 의 valid 를 체크하지 않으므로 항상 유효함으로 처리한다.\n    if (!this.form) {\n      return false;\n    }\n\n    return !this.form.valid;\n  }\n\n  // @ts-ignore\n  onSharedUrl(url: string): void {\n    // TODO\n    // this.dialog.open(AlertModalComponent, {\n    //   data: {\n    //     title: '공유 URL 복사 완료',\n    //     message: `클립보드로 공유 URL ${url} 이 복사되었습니다.`,\n    //   }\n    // });\n  }\n\n  normalizeColor(color: string = 'default'): NzButtonType {\n    switch (color) {\n      case 'primary':\n      case 'accent': // material style\n        return 'primary';\n      case 'dashed':\n        return 'dashed';\n      case 'danger':\n      case 'warn': // material style\n        return 'default';\n      case 'link':\n        return 'link';\n      case 'default':\n      default:\n        return 'default';\n    }\n  }\n}\n","<!-- TODO URL 카피 기능 및 타이틀 제공 기능을 제공해야한다 -->\n<!--<mat-toolbar matDialogTitle class=\"mat-accent m-0\">-->\n<!--  <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"space-between center\">-->\n<!--    <span class=\"title dialog-title\" fxFlex=\"auto\"></span>-->\n\n\n<!--    <button mat-button class=\"mat-icon-button\" [mag-copy-clipboard]=\"shareUrl\" aria-label=\"Copy Share URL\" (copied)=\"onSharedUrl($event)\" *ngIf=\"hasShareUrl\">-->\n<!--      <mat-icon>link</mat-icon>-->\n<!--    </button>-->\n<!--    <button mat-button class=\"mat-icon-button\"-->\n<!--            (click)=\"dialogRef.close()\"-->\n<!--            aria-label=\"Close dialog\">-->\n<!--      <mat-icon>close</mat-icon>-->\n<!--    </button>-->\n<!--  </div>-->\n<!--</mat-toolbar>-->\n<div >\n  <ng-content></ng-content>\n</div>\n<div *nzModalFooter>\n  <ng-container *ngFor=\"let actionButton of actionButtonContainer.buttons\">\n    <button nz-button [nzType]=\"normalizeColor(actionButton.color)\"\n            [disabled]=\"actionButton.state === 'disabled' || (actionButton.type === 'submit' && isInvalidForm)\"\n            (click)=\"actionButtonContainer.onClick(actionButton.action)\">\n      {{ actionButton.name }}\n    </button>\n  </ng-container>\n</div>","/**\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 { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MagDirectivesModule } from 'ng-stalk/directives';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { ModalTemplateComponent } from './modal-template.component';\n\n@NgModule({\n  imports: [CommonModule, NzButtonModule, MagDirectivesModule, NzModalModule],\n  declarations: [ModalTemplateComponent],\n  exports: [ModalTemplateComponent]\n})\nexport class MagModalTemplateModule {\n  // static forRoot(): ModuleWithProviders {\n  //   return {\n  //     ngModule: MagModalModule,\n  //     providers: [\n  //     ]\n  //   };\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\nexport * from './content-area-impl2/content-area-impl2';\nexport * from './modal-template.component';\nexport * from './mag-modal-template.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}