{"version":3,"file":"verben-workflow-ui-src-lib-shared.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/shared/shared.module.ts","../../../projects/verben-workflow-ui/src/lib/shared/base-table-style.ts","../../../projects/verben-workflow-ui/src/lib/shared/components/base-data-view.component.ts","../../../projects/verben-workflow-ui/src/lib/shared/components/base-model-field.ts","../../../projects/verben-workflow-ui/src/lib/shared/verben-workflow-ui-src-lib-shared.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n  CardDataViewModule,\n  CardModule,\n  DataExportModule,\n  DataTableModule,\n  DataViewModule,\n  DropDownModule,\n  SortTableModule,\n  SvgModule,\n  TableFilterModule,\n  VerbenaBadgeModule,\n  VerbenaButtonModule,\n  VerbenaInputModule,\n  VerbenaSwitchModule,\n  VerbenDialogueModule,\n  VisibleColumnModule,\n  VerbenaTextareaModule,\n  VerbenPopUpModule,\n  ChipModule,\n  DatePickerModule,\n  DataColumnsModule,\n  DataXportModule,\n  DataSortModule,\n  DataFilterModule,\n} from 'verben-ng-ui';\n\nimport { EditorModule } from 'verben-reporting-ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AsyncLabelPipe } from 'verben-workflow-ui/src/lib/pipes';\n\n@NgModule({\n  declarations: [],\n  imports: [CommonModule, AsyncLabelPipe],\n  exports: [\n    CommonModule,\n    DataTableModule,\n    CardModule,\n    SvgModule,\n    DataViewModule,\n    CardDataViewModule,\n    SortTableModule,\n    VisibleColumnModule,\n    TableFilterModule,\n    DataExportModule,\n    FormsModule,\n    ReactiveFormsModule,\n    VerbenaInputModule,\n    VerbenaButtonModule,\n    VerbenaBadgeModule,\n    VerbenDialogueModule,\n    DropDownModule,\n    VerbenaTextareaModule,\n    VerbenaSwitchModule,\n    VerbenPopUpModule,\n    ChipModule,\n    DatePickerModule,\n    DataColumnsModule,\n    DataXportModule,\n    DataSortModule,\n    DataFilterModule,\n    AsyncLabelPipe,\n    EditorModule,\n  ],\n})\nexport class SharedModule {}\n","import { TableStyles } from 'verben-ng-ui';\n\nexport const baseStyle: TableStyles = {\n  width: '100%',\n  fontFamily: '\"Fraunces\", serif',\n  fontSize: '125%',\n  whiteSpace: 'nowrap',\n  margin: '0',\n  border: '1px solid #D4A007',\n  borderRadius: '16px',\n  borderCollapse: 'separate',\n  borderSpacing: '0',\n  // tableLayout: 'fixed',\n  overflow: 'hidden',\n  rows: {\n    even: {\n      backgroundColor: '#FDFDFD',\n    },\n    odd: {\n      backgroundColor: '#F1F4FB',\n    },\n    height: '68px',\n  },\n  cells: {\n    padding: '0.5rem 1rem',\n  },\n  header: {\n    stickyTop: true,\n    // zIndex: 2,\n    backgroundColor: '#EFF2FB',\n    fontWeight: 'bold',\n    textAlign: 'left',\n    padding: '12px 16px',\n    height: '40px',\n  },\n  footer: {\n    // stickyBottom: true,\n    // zIndex: 2,\n    padding: '3px',\n  },\n  //   body: {\n  //     background: '#fff',\n  //     padding: '4px 5px',\n  //     textAlign: 'center',\n  //   },\n  firstColumn: {\n    // stickyLeft: true,\n    // zIndex: 1,\n  },\n  lastColumn: {\n    stickyRight: true,\n    zIndex: 1,\n    textAlign: 'center',\n    width: 'min-content',\n  },\n};\n","import {\n  Component,\n  computed,\n  effect,\n  OnInit,\n  signal,\n  viewChild,\n  ViewChild,\n} from '@angular/core';\nimport {\n  CardData,\n  CardDataViewComponent,\n  ColumnDefinition,\n  DataFilterType,\n  DataTableComponent,\n  DataViewComponent,\n  IDataFilter,\n  SortCondition,\n} from 'verben-ng-ui';\nimport { baseStyle } from '../base-table-style';\nimport { DataViewConfig } from '../models/DataViewConfig';\n\n@Component({\n  template: '',\n})\nexport abstract class BaseDataViewComponent<T> implements OnInit {\n  @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n  @ViewChild('vdv') dataView!: DataViewComponent;\n  dataTable = viewChild(DataTableComponent);\n  styles = baseStyle;\n\n  // Configurable properties\n  abstract config: DataViewConfig<T>;\n\n  // Signals for reactive data management\n  data = signal<T[]>([]);\n  cardData;\n\n  // View state management\n  currentData: CardData | null = null;\n  isGridView = true;\n  selected: CardData | null = null;\n\n  // Filtering and sorting state\n  visibleColumns: IDataFilter[] = [];\n  filterArray: IDataFilter[] = [];\n  sortOptions: IDataFilter[] = [];\n\n  selectedColumnCount = 0;\n  selectedFilterTableCount = 0;\n  selectedSortCount = 0;\n\n  constructor() {\n    this.cardData = computed(\n      () => this.data()?.map(this.config.cardDataMapper) ?? []\n    );\n    effect(() => {\n      const possiblyNewCard = this.cardData().find((c) => !c.data.Name) ?? null;\n      if (possiblyNewCard) {\n        console.log(possiblyNewCard);\n        possiblyNewCard.selected = true;\n        this.currentData = this.cardDataView.onItemClick(possiblyNewCard);\n      }\n    });\n    this.initializeConfig();\n  }\n\n  ngOnInit() {\n    this.loadInitialData();\n  }\n\n  // To be implemented by child classes if needed\n  protected loadInitialData() {\n    // Default implementation can be overridden\n    // this.data.set(this.config.dataSource);\n  }\n\n  private initializeConfig() {\n    // Initialize filter and column configurations\n    this.visibleColumns = this.config?.columns?.map((col) => ({\n      checked: true,\n      name: typeof col.header === 'string' ? col.header : col.id,\n      type: DataFilterType.Bool,\n    }));\n\n    this.selectedColumnCount = this.config?.columns.length || 0;\n    this.filterArray = this.config?.filterOptions || [];\n    this.sortOptions = this.config?.sortOptions || [];\n  }\n\n  // Generic view and interaction methods\n  // openDetailView(identifier: any) {\n  //   const cardItem = this.getCardDataByIdentifier(identifier);\n  //   if (cardItem && this.cardDataView) {\n  //     this.resetSelections();\n  //     cardItem.selected = true;\n  //     this.currentData = this.cardDataView.onItemClick(cardItem);\n  //     this.dataView.toggleView();\n  //   }\n  // }\n\n  // private resetSelections() {\n  //   this.cardData().forEach((item) => {\n  //     item.selected = false;\n  //     item.children?.forEach((child) => (child.selected = false));\n  //   });\n  // }\n\n  // Abstract method to find card data - to be implemented by child\n  // protected abstract getCardDataByIdentifier(\n  //   identifier: any\n  // ): CardData | undefined;\n\n  // Common utility methods\n  downloadCSV(data: Partial<any>[]) {\n    const headers = Object.keys(data[0]);\n    const csvContent = [\n      headers.join(','),\n      ...data.map((row) => headers.map((header) => row[header]).join(',')),\n    ].join('\\n');\n    const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n    const link = document.createElement('a');\n    if (link.download !== undefined) {\n      const url = URL.createObjectURL(blob);\n      link.setAttribute('href', url);\n      link.setAttribute('download', 'export.csv');\n      link.style.visibility = 'hidden';\n      document.body.appendChild(link);\n      link.click();\n      document.body.removeChild(link);\n    }\n  }\n\n  // Event handlers\n  onViewChange(isGridView: boolean): void {\n    // this.isGridView = isGridView;\n    // if (this.currentData) {\n    //   this.cardDataView?.clearData();\n    //   this.currentData = null;\n    // }\n  }\n\n  onColumnsUpdated(updatedColumns: ColumnDefinition<T>[]) {\n    // Update visible columns logic\n    this.config.columns = updatedColumns;\n    this.selectedColumnCount = updatedColumns.length;\n    // Additional column update logic can be added here\n  }\n\n  onSortUpdated(updatedSorts: SortCondition[]) {\n    this.selectedSortCount = updatedSorts.length;\n  }\n\n  onSelectionChange(selectedRows: T[]) {\n    console.log('Selection changed:', selectedRows);\n  }\n\n  onStateChange(event: { key: string; value: boolean }): void {\n    console.log(`State changed for ${event.key}:`, event.value);\n  }\n\n  handleExport(exportedData: Partial<T>[]) {\n    console.log('Exported data:', exportedData);\n    this.downloadCSV(exportedData);\n  }\n\n  goToCardView(data: T) {\n    const item = this.cardData().find((x) => x.data.Code == data);\n    if (item) {\n      this.cardClicked(item, true);\n    }\n  }\n\n  goToTableView() {\n    if (!this.currentData) {\n      return;\n    }\n    this.dataView.toggleView();\n    const id = this.currentData.data ? this.currentData.data.Code : '';\n    if (id.trim().length > 0 && !this.dataTable()?.isRowEditing(id)) {\n      this.dataTable()?.toggleRowEdit(id);\n    }\n  }\n\n  cardClicked(item: CardData, toggleView: boolean = false) {\n    this.currentData = this.cardDataView.onItemClick(item);\n    if (toggleView) {\n      this.dataView.toggleView();\n    }\n  }\n}\n","export class BaseModeField<T> {\n  value: T | undefined;\n  key: string;\n  label: string;\n  required: boolean;\n  order: number;\n  controlType: 'text' | 'select' | 'multiselect';\n  type: string;\n  options: { key: string; value: string }[];\n  constructor(\n    options: {\n      value?: T;\n      key?: string;\n      label?: string;\n      required?: boolean;\n      order?: number;\n      controlType?: 'text' | 'select' | 'multiselect';\n      type?: string;\n      options?: { key: string; value: string }[];\n    } = {}\n  ) {\n    this.value = options.value;\n    this.key = options.key || '';\n    this.label = options.label || '';\n    this.required = !!options.required;\n    this.order = options.order === undefined ? 1 : options.order;\n    this.controlType = options.controlType || 'text';\n    this.type = options.type || '';\n    this.options = options.options || [];\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}