{"version":3,"file":"verben-workflow-ui-src-lib-components-wf.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/wf/wf.columns.ts","../../../projects/verben-workflow-ui/src/lib/components/wf/wf.component.ts","../../../projects/verben-workflow-ui/src/lib/components/wf/wf.component.html","../../../projects/verben-workflow-ui/src/lib/components/wf/wf.service.ts","../../../projects/verben-workflow-ui/src/lib/components/wf/wf.module.ts","../../../projects/verben-workflow-ui/src/lib/components/wf/verben-workflow-ui-src-lib-components-wf.ts"],"sourcesContent":["import { ColumnDefinition } from 'verben-ng-ui';\nimport { Workflow } from 'verben-workflow-ui/src/lib/models';\n\nexport const columns: ColumnDefinition<Workflow>[] = [\n  {\n    id: 'name',\n    header: 'Name',\n    accessorKey: 'Name',\n  },\n  {\n    id: 'description',\n    header: 'Description',\n    accessorKey: 'Description',\n  },\n  {\n    id: 'assignment-type',\n    header: 'Assignment Type',\n    accessorKey: 'AssignmentType',\n  },\n  {\n    id: 'operation',\n    header: 'Operation',\n    accessorKey: 'Operation',\n  },\n  {\n    id: 'stage-entry-rule',\n    header: 'StageEntryRule',\n    accessorKey: 'StageEntryRule',\n  },\n  {\n    id: 'status',\n    header: 'Status',\n    accessorKey: 'Status',\n  },\n  { id: 'actions', header: 'Actions', accessorKey: 'Code' },\n];\n","import { Component } from '@angular/core';\nimport { Workflow } from 'verben-workflow-ui/src/lib/models';\nimport { TaskAssignmentType } from 'verben-workflow-ui/src/lib/models';\nimport { ObjectState } from 'verben-workflow-ui/src/lib/models';\nimport { Status } from 'verben-workflow-ui/src/lib/models';\nimport { BaseDataViewComponent } from 'verben-workflow-ui/src/lib/shared';\nimport { DataViewConfig } from 'verben-workflow-ui/src/lib/shared';\nimport { columns } from './wf.columns';\nimport { CardData } from 'verben-ng-ui';\n\n@Component({\n  selector: 'lib-wf',\n  templateUrl: './wf.component.html',\n  styleUrl: './wf.component.css',\n})\nexport class WfComponent extends BaseDataViewComponent<Workflow> {\n  config: DataViewConfig<Workflow> = {\n    dataSource: [], // Populate from service\n    columns: columns, // Your existing column definitions\n    cardDataMapper: (task) => ({\n      selected: false,\n      title: task.Name,\n      data: task,\n      body: [\n        { title: 'Name', value: task.Name },\n        { title: 'Status', value: task.Status },\n        { title: 'AssignmentType', value: task.AssignmentType },\n      ],\n      children: [],\n    }),\n    onDetailView: (task) => {\n      // Custom detail view logic\n    },\n  };\n\n  protected getCardDataByIdentifier(code: string): CardData | undefined {\n    return this.cardData().find(({ data }) => data.data.Code === code);\n  }\n\n  // Event handlers\n  override onViewChange(isGridView: boolean): void {}\n\n  override onStateChange(event: { key: string; value: boolean }): void {\n    console.log(`State changed for ${event.key}:`, event.value);\n    switch (event.key) {\n      case 'create':\n        const timestamp = new Date();\n        var newForm: Workflow = {\n          Name: '',\n          Description: '',\n          StageEntryRule: '',\n          AssignmentType: TaskAssignmentType.Queue,\n          TenantId: '',\n          ServiceName: '',\n          id: timestamp.toString(),\n          Id: timestamp.toString(),\n          CreatedAt: new Date(),\n          UpdatedAt: new Date(),\n          DataState: ObjectState.New,\n          Code: timestamp.toString(),\n          Status: Status.Active,\n          Actions: [],\n          Lanes: [],\n          Stages: [],\n        };\n        this.data.update((prev) => [newForm, ...prev]);\n        break;\n      default:\n        break;\n    }\n  }\n}\n","<div class=\"space-y-8\">\n  <verben-data-view\n    #vdv\n    [viewState]=\"{\n        isSearch: true,\n        isColumn: true,\n        isFilter: true,\n        isSort: true,\n        isExport: true,\n        isSelect: true,\n        isCreate: true,\n        isToggle: true,\n      }\"\n    [buttonClass]=\"'my-custom-button-class'\"\n    [iconClass]=\"'my-icon-class'\"\n    [activeIconClass]=\"'my-active-icon-class'\"\n    [selectedColumnCount]=\"0\"\n    [selectedSortCount]=\"0\"\n    [selectedFilterTableCount]=\"0\"\n    (viewChange)=\"onViewChange($event)\"\n    (stateChange)=\"onStateChange($event)\"\n  >\n    <div table-content></div>\n\n    <div card-content></div>\n\n    <div column-content></div>\n\n    <div filter-content></div>\n\n    <div sort-content></div>\n\n    <div export-content></div>\n  </verben-data-view>\n</div>\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Paged, SearchPropertyValue, Workflow } from 'verben-workflow-ui/src/lib/models';\nimport { HttpWebRequestService } from 'verben-workflow-ui/src/lib/services';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class WfService {\n\n  constructor(private httpService: HttpWebRequestService) { }\n\n  /**\n   * Get user access requests with pagination and sorting\n   * @param skip Number of records to skip\n   * @param limit Number of records to take\n   * @param sortParam Sort parameter\n   * @param sortOrder Sort order ('asc' or 'desc')\n   * @returns Promise containing the user access requests\n   */\n  getWorkflows(\n    skip: number,\n    limit: number,\n    sortParam: string,\n    sortOrder: string\n  ): Promise<Paged<Workflow>> {\n    const url = `GetWorkflows/${skip}/${limit}/${sortParam}/${sortOrder}`;\n    return this.httpService.get(url) as Promise<Paged<Workflow>>;\n  }\n\n  /**\n   * Get user access requests with additional parameter, pagination and sorting\n   * @param param Search parameter\n   * @param skip Number of records to skip\n   * @param limit Number of records to take\n   * @param sortParam Sort parameter\n   * @param sortOrder Sort order ('asc' or 'desc')\n   * @returns Promise containing the filtered user access requests\n   */\n  getWorkflowWithParam(\n    param: string,\n    skip: number = 0,\n    limit: number = 1,\n    sortParam: string = 'CreatedAt',\n    sortOrder: string = 'Asc'\n  ): Promise<Paged<Workflow>> {\n    const url = `GetWorkflowsWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;\n    return this.httpService.get(url) as Promise<Paged<Workflow>>;\n  }\n\n  /**\n   * Get user access requests with additional parameter, pagination and sorting\n   * @param params Filter parameters\n   * @param skip Number of records to skip\n   * @param limit Number of records to take\n   * @param sortParam Sort parameter\n   * @param sortOrder Sort order ('asc' or 'desc')\n   * @returns Promise containing the filtered user access requests\n   */\n  getWorkflowByFilterParams(\n    params: SearchPropertyValue[],\n    skip: number,\n    limit: number,\n    sortParam: string,\n    sortOrder: string\n  ): Promise<Paged<Workflow>> {\n    const url = `SearchWorkflow/${skip}/${limit}/${sortParam}/${sortOrder}`;\n    return this.httpService.post(url, params) as Promise<Paged<Workflow>>;\n  }\n\n  /**\n   * Save multiple user access requests\n   * @param requests Array of user access requests to save\n   * @returns Promise containing the save operation result\n   */\n  saveWorkflows(requests: Partial<Workflow>[]): Promise<any> {\n    const url = `SaveWorkflows`;\n    // const payload = requests.map((wf) => {\n    //   delete wf[\"Id\"];\n    //   wf.Actions = wf.Actions.map((ac) => {\n    //     delete ac[\"Id\"];\n    //     return ac;\n    //   })\n    //   return wf;\n    // })\n    return this.httpService.post(url, requests);\n  }\n\n  /**\n   * Delete multiple user access requests\n   * @param requestIds Array of request IDs to delete\n   * @returns Observable containing the delete operation result\n   */\n  deleteWorkflows(requestIds: string[]): Observable<any> {\n    const url = `DeleteWorkflows`;\n    return this.httpService.delete(`${url}?data=${requestIds.join(',')}`);\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WfComponent } from './wf.component';\nimport { SharedModule } from 'verben-workflow-ui/src/lib/shared';\nimport { RouterLink } from '@angular/router';\nimport { WfService } from './wf.service';\n\n@NgModule({\n  declarations: [WfComponent],\n  imports: [CommonModule, SharedModule, RouterLink],\n  providers: [WfService],\n  exports: [WfComponent],\n})\nexport class WfModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}