{"version":3,"file":"moxa-formoxa-mx-table-customize-columns-setting.mjs","sources":["../../../../libs/formoxa/mx-table-customize-columns-setting/src/lib/services/mx-columns-setting-intl.service.ts","../../../../libs/formoxa/mx-table-customize-columns-setting/src/lib/components/mx-table-customize-columns-setting.component.ts","../../../../libs/formoxa/mx-table-customize-columns-setting/src/lib/components/mx-table-customize-columns-setting-dialog.component.ts","../../../../libs/formoxa/mx-table-customize-columns-setting/src/moxa-formoxa-mx-table-customize-columns-setting.ts"],"sourcesContent":["import { Injectable, Optional, Provider, SkipSelf } from '@angular/core';\nimport { TranslationLabels, TranslationService } from '@moxa/formoxa/mx-shared';\n\nexport interface MxColumnsSettingIntlLabels extends TranslationLabels {\n  dialogTitle: string;\n  resetToDefaultLabel: string;\n  cancelButtonLabel: string;\n  saveButtonLabel: string;\n  columnsSelectedLabel: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class MxColumnsSettingIntlService extends TranslationService<MxColumnsSettingIntlLabels> {\n  defaultLabels: MxColumnsSettingIntlLabels = {\n    dialogTitle: 'Customize Columns',\n    resetToDefaultLabel: 'Reset to default',\n    cancelButtonLabel: 'Cancel',\n    saveButtonLabel: 'Save',\n    columnsSelectedLabel: 'Shown in table'\n  };\n\n  constructor() {\n    super();\n    this.registerTranslations('en', this.defaultLabels);\n  }\n}\n\nexport function MX_COLUMNS_SETTING_INTL_PROVIDER_FACTORY(\n  parent: MxColumnsSettingIntlService\n): MxColumnsSettingIntlService {\n  return parent || new MxColumnsSettingIntlService();\n}\n\nexport const MX_COLUMNS_SETTING_INTL_PROVIDER: Provider = {\n  provide: MxColumnsSettingIntlService,\n  useFactory: MX_COLUMNS_SETTING_INTL_PROVIDER_FACTORY,\n  deps: [[new Optional(), new SkipSelf(), MxColumnsSettingIntlService]]\n};\n","import {\n  CdkDrag,\n  CdkDragDrop,\n  CdkDragHandle,\n  CdkDragPlaceholder,\n  CdkDropList,\n  moveItemInArray\n} from '@angular/cdk/drag-drop';\n\nimport { Component, computed, effect, inject, input, model, output, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MxListItemComponent } from '@moxa/formoxa/mx-list';\nimport { MxTableColumn } from '../models/mx-table-customize-columns-setting.model';\nimport {\n  MX_COLUMNS_SETTING_INTL_PROVIDER,\n  MxColumnsSettingIntlService\n} from '../services/mx-columns-setting-intl.service';\n\n@Component({\n  selector: 'mx-table-customize-columns-setting',\n  standalone: true,\n  imports: [\n    FormsModule,\n    MatButtonModule,\n    MatCheckboxModule,\n    MatIconModule,\n    MatRippleModule,\n    CdkDrag,\n    CdkDropList,\n    CdkDragPlaceholder,\n    CdkDragHandle,\n    MxListItemComponent\n  ],\n  providers: [MX_COLUMNS_SETTING_INTL_PROVIDER],\n  template: `\n    <div class=\"mx-table-customize-columns-setting__content\">\n      <div class=\"columns-count\">\n        <span class=\"columns-count__label gl-label-md\">{{ intl.translate('columnsSelectedLabel') }}</span>\n        @if (hasDefaultColumns()) {\n          <button mat-button type=\"button\" color=\"primary\" (click)=\"onResetColumns()\">\n            {{ intl.translate('resetToDefaultLabel') }}\n          </button>\n        }\n      </div>\n\n      <div class=\"columns-list-container\">\n        <div class=\"columns-list-area\">\n          @for (column of fixedColumns(); track column.name) {\n            <mx-list-item [hasBorder]=\"false\" [class.non-draggable]=\"true\" [disabled]=\"true\">\n              <mat-checkbox mx-list-item-prefix disabled [(ngModel)]=\"column.selected\"> </mat-checkbox>\n              {{ column.label }}\n              <mat-icon mx-list-item-postfix class=\"drag-handle\" svgIcon=\"icon:drag_indicator\"></mat-icon>\n            </mx-list-item>\n          }\n        </div>\n\n        <div cdkDropList class=\"columns-list-area\" (cdkDropListDropped)=\"drop($event)\">\n          @for (column of availableChangeColumns(); track column.name) {\n            <div cdkDrag cdkDragLockAxis=\"y\">\n              <div *cdkDragPlaceholder></div>\n              <mx-list-item [hasBorder]=\"false\">\n                <mat-checkbox\n                  mx-list-item-prefix\n                  [(ngModel)]=\"column.selected\"\n                  (ngModelChange)=\"onSelectedChange(column)\"\n                >\n                </mat-checkbox>\n                {{ column.label }}\n                <mat-icon\n                  mx-list-item-postfix\n                  cdkDragHandle\n                  class=\"drag-handle\"\n                  svgIcon=\"icon:drag_indicator\"\n                ></mat-icon>\n              </mx-list-item>\n            </div>\n          }\n        </div>\n      </div>\n    </div>\n  `,\n  styleUrls: ['./mx-table-customize-columns-setting.component.scss']\n})\nexport class MxTableCustomizeColumnsSettingComponent {\n  intl = inject(MxColumnsSettingIntlService);\n\n  columns = input<MxTableColumn[]>([]);\n  defaultColumns = input<MxTableColumn[]>([]);\n  columnsChange = output<MxTableColumn[]>();\n  hasDefaultColumns = computed(() => this.defaultColumns().length > 0);\n  availableColumns = computed(() => this.columns().filter((col) => !col.disabled));\n  fixedColumns = signal<MxTableColumn[]>([]);\n  availableChangeColumns = model<MxTableColumn[]>([]);\n\n  constructor() {\n    effect(() => {\n      this.fixedColumns.set(this.columns().filter((col) => col.disabled));\n      const cloneColumns = JSON.parse(JSON.stringify(this.availableColumns()));\n      this.availableChangeColumns.set(cloneColumns);\n    });\n\n    effect(() => {\n      if (this.availableChangeColumns()) {\n        const newColumns = [...this.fixedColumns(), ...this.availableChangeColumns()];\n        this.columnsChange.emit(newColumns);\n      }\n    });\n  }\n\n  drop(event: CdkDragDrop<MxTableColumn[]>): void {\n    moveItemInArray(this.availableChangeColumns(), event.previousIndex, event.currentIndex);\n    this.availableChangeColumns.set([...this.availableChangeColumns()]);\n  }\n\n  onSelectedChange(column: MxTableColumn): void {\n    const newColumns = this.availableChangeColumns().map((col) => (col.name === column.name ? column : col));\n    this.availableChangeColumns.set(newColumns);\n  }\n\n  onResetColumns(): void {\n    const resetColumns = JSON.parse(JSON.stringify(this.defaultColumns()));\n    this.availableChangeColumns.set(resetColumns.filter((col: MxTableColumn) => !col.disabled));\n    this.fixedColumns.set(resetColumns.filter((col: MxTableColumn) => col.disabled));\n  }\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MxTableColumn } from '../models/mx-table-customize-columns-setting.model';\nimport {\n  MX_COLUMNS_SETTING_INTL_PROVIDER,\n  MxColumnsSettingIntlService\n} from '../services/mx-columns-setting-intl.service';\nimport { MxTableCustomizeColumnsSettingComponent } from './mx-table-customize-columns-setting.component';\n\n@Component({\n  selector: 'mx-table-customize-columns-setting-dialog',\n  standalone: true,\n  imports: [MatButtonModule, MatIconModule, MatRippleModule, MatDialogModule, MxTableCustomizeColumnsSettingComponent],\n  template: `\n    <div mat-dialog-title>{{ intl.translate('dialogTitle') }}</div>\n\n    <mat-dialog-content>\n      <mx-table-customize-columns-setting\n        [columns]=\"this.data.columns\"\n        [defaultColumns]=\"this.data.defaultColumns ?? []\"\n        (columnsChange)=\"onColumnsChange($event)\"\n      >\n      </mx-table-customize-columns-setting>\n    </mat-dialog-content>\n\n    <mat-dialog-actions>\n      <div class=\"gl-fill-remaining-space\"></div>\n      <button type=\"button\" mat-button mat-dialog-close>{{ intl.translate('cancelButtonLabel') }}</button>\n      <button type=\"submit\" mat-flat-button color=\"primary\" (click)=\"onSubmit()\">\n        {{ intl.translate('saveButtonLabel') }}\n      </button>\n    </mat-dialog-actions>\n  `,\n  styleUrls: ['./mx-table-customize-columns-setting.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [MX_COLUMNS_SETTING_INTL_PROVIDER]\n})\nexport class MxTableCustomizeColumnsSettingDialogComponent {\n  intl = inject(MxColumnsSettingIntlService);\n  dialogRef = inject(MatDialogRef<MxTableCustomizeColumnsSettingDialogComponent>);\n  data: { columns: MxTableColumn[]; defaultColumns?: MxTableColumn[] } = inject(MAT_DIALOG_DATA);\n\n  #currentColumns: MxTableColumn[] = [];\n  constructor() {\n    this.#currentColumns = this.data.columns;\n  }\n\n  onColumnsChange(columns: MxTableColumn[]): void {\n    this.#currentColumns = columns;\n  }\n\n  onSubmit(): void {\n    this.dialogRef.close(this.#currentColumns);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}