{"version":3,"file":"verben-workflow-ui-src-lib-components-my-queue.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/my-queue/my-queue.columns.ts","../../../projects/verben-workflow-ui/src/lib/components/my-queue/my-queue.service.ts","../../../projects/verben-workflow-ui/src/lib/components/my-queue/my-queue.state.ts","../../../projects/verben-workflow-ui/src/lib/components/my-queue/my-queue.facade.ts","../../../projects/verben-workflow-ui/src/lib/components/my-queue/my-queue.component.ts","../../../projects/verben-workflow-ui/src/lib/components/my-queue/my-queue.component.html","../../../projects/verben-workflow-ui/src/lib/components/my-queue/tasks.form.component.ts","../../../projects/verben-workflow-ui/src/lib/components/my-queue/tasks.form.component.html","../../../projects/verben-workflow-ui/src/lib/components/my-queue/my-queue.module.ts","../../../projects/verben-workflow-ui/src/lib/components/my-queue/verben-workflow-ui-src-lib-components-my-queue.ts"],"sourcesContent":["import { ColumnDefinition } from 'verben-ng-ui';\nimport { Task } from 'verben-workflow-ui/src/lib/models';\n\nexport const columns: ColumnDefinition<Task>[] = [\n  {\n    id: 'task',\n    header: 'TASK',\n    accessorKey: 'Name',\n  },\n  {\n    id: 'stage',\n    header: 'STAGE',\n    accessorFn: (row) =>\n      row.FullStages?.slice(0, 3)\n        ?.map(({ Name }) => Name)\n        .join(', ') +\n      (row.FullStages?.length && row.FullStages?.length > 3\n        ? ` ... + ${row.FullStages?.length - 3}`\n        : ''),\n  },\n  {\n    id: 'history',\n    header: 'HISTORY',\n    accessorKey: 'Code',\n  },\n  {\n    id: 'workflow',\n    header: 'WORKFLOW',\n    accessorKey: 'WorkflowCode',\n  },\n  { id: 'actions', header: 'Actions' },\n];\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Actor, ErrorResponse, Form, Paged, Task, WorkflowAction } from 'verben-workflow-ui/src/lib/models';\nimport { HttpWebRequestService } from 'verben-workflow-ui/src/lib/services';\n\n@Injectable()\nexport class MyQueueService {\n\n  constructor(private httpService: HttpWebRequestService) { }\n\n  /**\n   * Get tasks 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 tasks\n   */\n  getTasks(\n    skip: number,\n    limit: number,\n    sortParam: string,\n    sortOrder: string\n  ): Promise<Paged<Task> | ErrorResponse> {\n    const url = `GetTasks/${skip}/${limit}/${sortParam}/${sortOrder}`;\n    return this.httpService.get(url) as Promise<Paged<Task> | ErrorResponse>;\n  }\n\n  /**\n   * Get tasks 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 tasks\n   */\n  getTaskWithParam(\n    param: string,\n    skip: number,\n    limit: number,\n    sortParam: string,\n    sortOrder: string\n  ): Promise<Paged<Task> | ErrorResponse> {\n    const url = `GetTaskWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;\n    return this.httpService.get(url) as Promise<Paged<Task> | ErrorResponse>;\n  }\n\n  /**\n   * Save multiple tasks\n   * @param requests Array of tasks to save\n   * @returns Promise containing the save operation result\n   */\n  saveTasks(requests: Task[]): Promise<any | ErrorResponse> {\n    const url = `SaveTasks`;\n    return this.httpService.post(url, requests);\n  }\n\n  /**\n   * Approve or reject multiple tasks\n   * @param requests Array of tasks to save\n   * @param isApproval True for approval, false for decline\n   * @returns Promise containing the save operation result\n   */\n  processTasks(requests: Task[], isApproval: boolean): Promise<any | ErrorResponse> {\n    const url = `TaskAction/${isApproval}`;\n    return this.httpService.post(url, requests);\n  }\n\n  /**\n   * Delete multiple tasks\n   * @param requestIds Array of request IDs to delete\n   * @returns Observable containing the delete operation result\n   */\n  deleteTasks(requestIds: string[]): Observable<any | ErrorResponse> {\n    const url = `DeleteTasks`;\n    return this.httpService.delete(`${url}?data=${requestIds.join(',')}`);\n  }\n\n  getTasksForUser(\n    user: string,\n    skip: number,\n    limit: number,\n    sortParam: string,\n    sortOrder: string\n  ): Promise<Paged<Task> | ErrorResponse> {\n    const url = `GetTasksForUser/${skip}/${limit}/${sortParam}/${sortOrder}/${user}`;\n    return this.httpService.get(url) as Promise<Paged<Task> | ErrorResponse>;\n  }\n\n  getQueueTasksForUser(\n    user: string,\n    skip: number,\n    limit: number,\n    sortParam: string,\n    sortOrder: string\n  ): Promise<Paged<Task> | ErrorResponse> {\n    const url = `GetQueueTasksForUser/${skip}/${limit}/${sortParam}/${sortOrder}/${user}`;\n    return this.httpService.get(url) as Promise<Paged<Task> | ErrorResponse>;\n  }\n\n  getPossibleTasksForUser(\n    user: string,\n    skip: number,\n    limit: number,\n    sortParam: string,\n    sortOrder: string\n  ): Promise<Paged<Task> | ErrorResponse> {\n    const url = `GetPossibleTasksForUser/${skip}/${limit}/${sortParam}/${sortOrder}/${user}`;\n    return this.httpService.get(url) as Promise<Paged<Task> | ErrorResponse>;\n  }\n\n  getNextActions(taskCode: string): Promise<WorkflowAction[] | ErrorResponse> {\n    const url = `GetNextActions/${taskCode}`;\n    return this.httpService.get(url) as Promise<WorkflowAction[] | ErrorResponse>;\n  }\n\n  getPreviousActions(taskCode: string): Promise<WorkflowAction[] | ErrorResponse> {\n    const url = `GetPreviousActions/${taskCode}`;\n    return this.httpService.get(url) as Promise<WorkflowAction[] | ErrorResponse>;\n  }\n\n  getAllPreviousActions(taskCode: string): Promise<WorkflowAction[] | ErrorResponse> {\n    const url = `GetAllPreviousActions/${taskCode}`;\n    return this.httpService.get(url) as Promise<WorkflowAction[] | ErrorResponse>;\n  }\n\n  getNextActors(\n    taskCode: string,\n    forCurrentStage: boolean,\n    stageCode?: string,\n  ): Promise<Actor[] | ErrorResponse> {\n    const url = `GetNextActors/${taskCode}${'/' + forCurrentStage + (stageCode ? '/' + stageCode : '')}`;\n    return this.httpService.get(url) as Promise<Actor[] | ErrorResponse>;\n  }\n\n  passOn(\n    fromStage: string,\n    toStage: string,\n    task: Task,\n    comment: string,\n    recipient?: string\n  ): Promise<Task | ErrorResponse> {\n    const url = `PassOn/${fromStage}/${toStage}/${comment}${recipient ? '/' + recipient : ''\n      }`;\n    return this.httpService.post(url, task);\n  }\n\n  passBack(\n    fromStage: string,\n    toStage: string,\n    task: Task,\n    comment: string,\n    recipient?: string\n  ): Promise<Task | ErrorResponse> {\n    const url = `PassBack/${fromStage}/${toStage}/${comment}${recipient ? '/' + recipient : ''\n      }`;\n    return this.httpService.post(url, task);\n  }\n\n  pickTask(\n    targetStage: string,\n    task: Task,\n    comment: string,\n    recipient?: string\n  ): Promise<Task | ErrorResponse> {\n    const url = `PickTask/${comment}/${targetStage}${recipient ? '/' + recipient : ''\n      }`;\n    return this.httpService.post(url, task);\n  }\n\n  unPickTask(\n    targetStage: string,\n    task: Task,\n    comment: string,\n    recipient?: string\n  ): Promise<Task | ErrorResponse> {\n    const url = `UnPickTask/${comment}/${targetStage}${recipient ? '/' + recipient : ''\n      }`;\n    return this.httpService.post(url, task);\n  }\n\n  followTask(actorId: string, task: Task): Promise<Task | ErrorResponse> {\n    const url = `FollowTask/${actorId}`;\n    return this.httpService.post(url, task);\n  }\n\n  unFollowTask(\n    taskId: string,\n    actorId: string\n    // task: Task,\n  ): Promise<void | ErrorResponse> {\n    const url = `UnFollowTask/${taskId}/${actorId}`;\n    return this.httpService.post(url, {});\n  }\n\n  reAssign(\n    task: Task,\n    comment: string,\n    fromUser?: string,\n    toUser?: string\n  ): Promise<Task | ErrorResponse> {\n    const url = `Reassign/${comment}/${toUser}/${fromUser}`;\n    return this.httpService.post(url, task);\n  }\n\n  skipTo(\n    fromStage: string,\n    toStage: string,\n    task: Task,\n    comment: string,\n    recipient?: string,\n    isBackward: boolean = false\n  ): Promise<Task | ErrorResponse> {\n    const url = `SkipTo/${fromStage}/${toStage}/${comment}${recipient ? '/' + recipient : ''\n      }/${isBackward}`;\n    return this.httpService.post(url, task);\n  }\n\n  getCurrentFormsForTask(taskCode: string): Promise<Form[] | ErrorResponse> {\n    const url = `GetCurrentFormsForTask/${taskCode}`;\n    return this.httpService.get(url) as Promise<Form[] | ErrorResponse>;\n  }\n\n  fillForm(form: Form, taskCode: string): Promise<Form | ErrorResponse> {\n    const url = `FillForm/${taskCode}`;\n    return this.httpService.post(url, form);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Actor, Form, QueryParams, SortDirection, Task, WorkflowAction } from 'verben-workflow-ui/src/lib/models';\n\n@Injectable()\nexport class MyQueueState {\n  private updating$ = new BehaviorSubject<boolean>(false);\n  private tasks$ = new BehaviorSubject<Task[]>([]);\n  private queryParams$ = new BehaviorSubject<\n    QueryParams<Task> & { user?: string }\n  >({\n    skip: 0,\n    limit: 20,\n    sortParam: 'CreatedAt',\n    sortOrder: SortDirection.Desc,\n  });\n  private nextActions$ = new BehaviorSubject<WorkflowAction[]>([]);\n  private nextActors$ = new BehaviorSubject<Actor[]>([]);\n  private taskForms$ = new BehaviorSubject<Form[]>([]);\n\n  isUpdating$(): Observable<boolean> {\n    return this.updating$.asObservable();\n  }\n\n  setUpdating(isUpdating: boolean): void {\n    this.updating$.next(isUpdating);\n  }\n\n  getRequests$(): Observable<Task[]> {\n    return this.tasks$.asObservable();\n  }\n\n  setRequests(tasks: Task[]): void {\n    this.tasks$.next(tasks);\n  }\n\n  getNextActions$(): Observable<WorkflowAction[]> {\n    return this.nextActions$.asObservable();\n  }\n\n  getNextActors$(): Observable<Actor[]> {\n    return this.nextActors$.asObservable();\n  }\n\n  getTaskForms$(): Observable<Form[]> {\n    return this.taskForms$.asObservable();\n  }\n\n  setNextActions(nextActions: WorkflowAction[]): void {\n    this.nextActions$.next(nextActions);\n  }\n\n  setNextActors(nextActors: Actor[]): void {\n    this.nextActors$.next(nextActors);\n  }\n\n  setTaskForms(taskForms: Form[]): void {\n    this.taskForms$.next(taskForms);\n  }\n\n  getQueryParams$(): Observable<QueryParams<Task>> {\n    return this.queryParams$.asObservable();\n  }\n\n  getQueryParamsValue(): QueryParams<Task> & { user?: string } {\n    return this.queryParams$.getValue();\n  }\n\n  updateQueryParams(params: Partial<QueryParams<Task>>): void {\n    this.queryParams$.next({ ...this.queryParams$.getValue(), ...params });\n  }\n\n  resetQueryParams(): void {\n    this.queryParams$.next({\n      skip: 0,\n      limit: 20,\n      sortParam: 'CreatedAt',\n      sortOrder: SortDirection.Desc,\n    });\n  }\n\n  addRequest(task: Task): void {\n    const currentValue = this.tasks$.getValue();\n    this.tasks$.next([task, ...currentValue]);\n  }\n\n  updateRequest(updatedRequest: Task): void {\n    const tasks = this.tasks$.getValue();\n    const index = tasks.findIndex((r) => r.Code === updatedRequest.Code);\n    if (index !== -1) {\n      tasks[index] = updatedRequest;\n      this.tasks$.next([...tasks]);\n    }\n  }\n\n  removeRequest(taskCode: string): void {\n    const currentValue = this.tasks$.getValue();\n    this.tasks$.next(currentValue.filter((r) => r.Code !== taskCode));\n  }\n\n  appendRequests(newRequests: Task[]): void {\n    const currentRequests = this.tasks$.getValue();\n    this.tasks$.next([...currentRequests, ...newRequests]);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, lastValueFrom } from 'rxjs';\nimport { Actor, ErrorResponse, Form, QueryParams, Task, WorkflowAction } from 'verben-workflow-ui/src/lib/models';\nimport { UtilService } from 'verben-workflow-ui/src/lib/services';\nimport { MyQueueService } from './my-queue.service';\nimport { MyQueueState } from './my-queue.state';\n\n@Injectable()\nexport class MyQueueFacade {\n  constructor(\n    private service: MyQueueService,\n    private state: MyQueueState,\n    private utilService: UtilService\n  ) {\n    this.isUpdating$().subscribe((loading) => {\n      this.utilService.sendBI(loading);\n    });\n  }\n\n  isUpdating$(): Observable<boolean> {\n    return this.state.isUpdating$();\n  }\n\n  getRequests$(): Observable<Task[]> {\n    return this.state.getRequests$();\n  }\n\n  getNextActions$(): Observable<WorkflowAction[]> {\n    return this.state.getNextActions$();\n  }\n\n  getNextActors$(): Observable<Actor[]> {\n    return this.state.getNextActors$();\n  }\n\n  getTaskForms$(): Observable<Form[]> {\n    return this.state.getTaskForms$();\n  }\n\n  getQueryParams$(): Observable<QueryParams<Task>> {\n    return this.state.getQueryParams$();\n  }\n\n  addNewRequest(task: Task) {\n    this.state.addRequest(task);\n  }\n\n  async loadRequests(queue: boolean = false): Promise<void> {\n    try {\n      this.state.setUpdating(true);\n      const params = this.state.getQueryParamsValue();\n\n      const response = queue\n        ? await this.service.getQueueTasksForUser(\n          params.user || '',\n          params.skip,\n          params.limit,\n          params.sortParam || 'CreatedDate',\n          params.sortOrder\n        )\n        : await this.service.getTasksForUser(\n          params.user || '',\n          params.skip,\n          params.limit,\n          params.sortParam || 'CreatedDate',\n          params.sortOrder\n        );\n\n      if (response instanceof ErrorResponse) {\n        this.utilService.showError(response.ErrorMsg);\n        return;\n      }\n\n      const { Skip, PageSize, Result } = response;\n\n      if (Result) {\n        this.state.setRequests(Result);\n        this.state.updateQueryParams({ skip: Skip });\n      }\n    } catch (error) {\n      console.error('Failed to load requests:', error);\n      throw error;\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async loadRequestsWithParam(param: string): Promise<void> {\n    try {\n      this.state.setUpdating(true);\n      const params = this.state.getQueryParamsValue();\n\n      const requests = await this.service.getTaskWithParam(\n        param,\n        params.skip,\n        params.limit,\n        params.sortParam || 'CreatedDate',\n        params.sortOrder\n      );\n\n      if (requests instanceof ErrorResponse) {\n        this.utilService.showError(requests.ErrorMsg);\n        return;\n      }\n\n      this.state.setRequests(requests.Result);\n      this.state.updateQueryParams({ skip: requests.Skip });\n    } catch (error) {\n      console.error('Failed to load requests with param:', error);\n      throw error;\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  updateQueryParams(\n    params: Partial<QueryParams<Task>> & { user?: string }\n  ): void {\n    this.state.updateQueryParams(params);\n    // this.loadRequests();\n  }\n\n  async addRequest(request: Partial<Task>): Promise<void> {\n    try {\n      this.state.setUpdating(true);\n      const newRequest = { ...request } as Task;\n      this.state.addRequest(newRequest);\n\n      const response = await this.service.saveTasks([newRequest]);\n\n      if (response instanceof ErrorResponse) {\n        this.utilService.showError(response.ErrorMsg);\n        return;\n      }\n\n      this.utilService.showSuccess('Task created successfully');\n      await this.loadRequests(); // Reload to get server-side changes\n    } catch (error) {\n      console.error('Failed to add request:', error);\n      this.state.removeRequest(request.Code!);\n      throw error;\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  resetQueryParams(): void {\n    this.state.resetQueryParams();\n  }\n\n  async updateRequest(request: Task): Promise<void> {\n    try {\n      this.state.setUpdating(true);\n      const response = await this.service.saveTasks([request]);\n\n      if (response instanceof ErrorResponse) {\n        this.utilService.showError(response.ErrorMsg);\n        return;\n      }\n\n      this.utilService.showSuccess('Task updated successfully');\n      this.state.updateRequest(request);\n    } catch (error) {\n      console.error('Failed to update request:', error);\n      throw error;\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async deleteRequest(requestId: string): Promise<void> {\n    try {\n      this.state.setUpdating(true);\n      await lastValueFrom(this.service.deleteTasks([requestId]));\n      this.state.removeRequest(requestId);\n    } catch (error) {\n      console.error('Failed to delete request:', error);\n      throw error;\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async approveRequest(request: Task): Promise<void> {\n    try {\n      this.state.setUpdating(true);\n      const response = await this.service.processTasks([request], true);\n\n      if (response instanceof ErrorResponse) {\n        this.utilService.showError(response.ErrorMsg);\n        return;\n      }\n\n      // console.log(response);\n      const data = (response as Task[])?.[0];\n      if (data) {\n        this.state.updateRequest(data);\n      }\n    } catch (error) {\n      console.error('Failed to update request:', error);\n      throw error;\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async loadNextActions(taskCode: string): Promise<WorkflowAction[]> {\n    try {\n      this.state.setUpdating(true);\n      const params = this.state.getQueryParamsValue();\n\n      const requests = await this.service.getNextActions(taskCode);\n\n      if (requests instanceof ErrorResponse) {\n        this.utilService.showError(requests.ErrorMsg);\n        return [];\n      }\n\n      this.state.setNextActions(requests);\n\n      // if (requests.length > 0) {\n      //   // this.selectedAction = actions[0];\n      //   this.loadNextActors(taskCode, requests[0].ToStage);\n      // }\n\n      return requests;\n    } catch (error) {\n      console.error('Failed to load requests with param:', error);\n      return [];\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async loadPreviousActions(taskCode: string): Promise<WorkflowAction[]> {\n    try {\n      this.state.setUpdating(true);\n\n      const requests = await this.service.getPreviousActions(taskCode);\n\n      if (requests instanceof ErrorResponse) {\n        this.utilService.showError(requests.ErrorMsg);\n        return [];\n      }\n\n      this.state.setNextActions(requests);\n\n      return requests;\n    } catch (error) {\n      console.error('Failed to load requests with param:', error);\n      return [];\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async loadAllPreviousActions(taskCode: string): Promise<WorkflowAction[]> {\n    try {\n      this.state.setUpdating(true);\n\n      const requests = await this.service.getAllPreviousActions(taskCode);\n\n      if (requests instanceof ErrorResponse) {\n        this.utilService.showError(requests.ErrorMsg);\n        return [];\n      }\n\n      this.state.setNextActions(requests);\n\n      return requests;\n    } catch (error) {\n      console.error('Failed to load requests with param:', error);\n      return [];\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async loadNextActors(\n    taskCode: string,\n    forCurrentStage: boolean,\n    stageCode?: string,\n  ): Promise<Actor[]> {\n    try {\n      this.state.setUpdating(true);\n      const params = this.state.getQueryParamsValue();\n\n      const requests = await this.service.getNextActors(\n        taskCode,\n        forCurrentStage,\n        stageCode,\n      );\n\n      if (requests instanceof ErrorResponse) {\n        this.utilService.showError(requests.ErrorMsg);\n        return [];\n      }\n\n      this.state.setNextActors(requests);\n\n      return requests;\n    } catch (error) {\n      console.error('Failed to load requests with param:', error);\n      return [];\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async loadTaskForms(taskCode: string): Promise<Form[]> {\n    try {\n      this.state.setUpdating(true);\n      console.log('Loading task form');\n      const requests = await this.service.getCurrentFormsForTask(taskCode);\n\n      if (requests instanceof ErrorResponse) {\n        this.utilService.showError(requests.ErrorMsg);\n        return [];\n      }\n\n      console.log('FORMS', requests);\n      this.state.setTaskForms(requests);\n\n      return requests;\n    } catch (error) {\n      console.error('Failed to load requests with param:', error);\n      return [];\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async passOn(\n    action: WorkflowAction,\n    request: Task,\n    comment: string,\n    recipient: string | null,\n    currentUser: string\n  ): Promise<void> {\n    try {\n      this.state.setUpdating(true);\n      const response = await this.service.passOn(\n        action.FromStage,\n        action.ToStage,\n        {\n          ...request,\n          FullStages: [],\n          CurrentActors: request.CurrentActors.map((c) => ({\n            ...c,\n            ActorTags: [],\n          })),\n        },\n        comment,\n        recipient ?? undefined\n      );\n\n      if (response instanceof ErrorResponse) {\n        this.utilService.showError(response.ErrorMsg);\n        return;\n      }\n\n      // console.log(response);\n      const data = response as Task;\n      if (data) {\n        if (data.CurrentActors.map((c) => c.Identifier).includes(currentUser)) {\n          this.state.updateRequest(data);\n        } else {\n          this.state.removeRequest(request.Code);\n        }\n        this.utilService.showSuccess('Task passed on successfully');\n      }\n    } catch (error) {\n      console.error('Failed to update request:', error);\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async passBack(\n    action: WorkflowAction,\n    request: Task,\n    comment: string,\n    recipient: string | null,\n    currentUser: string\n  ): Promise<void> {\n    try {\n      this.state.setUpdating(true);\n      const response = await this.service.passBack(\n        // Alternate from and to stage o.\n        action.ToStage,\n        action.FromStage,\n        {\n          ...request,\n          FullStages: [],\n          CurrentActors: request.CurrentActors.map((c) => ({\n            ...c,\n            ActorTags: [],\n          })),\n        },\n        comment,\n        recipient ?? undefined\n      );\n\n      if (response instanceof ErrorResponse) {\n        this.utilService.showError(response.ErrorMsg);\n        return;\n      }\n\n      // console.log(response);\n      const data = response as Task;\n      if (data) {\n        if (data.CurrentActors.map((c) => c.Identifier).includes(currentUser)) {\n          this.state.updateRequest(data);\n        } else {\n          this.state.removeRequest(request.Code);\n        }\n        this.utilService.showSuccess('Task passed back successfully');\n      }\n    } catch (error) {\n      console.error('Failed to update request:', error);\n      throw error;\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async skipTo(\n    from: WorkflowAction['FromStage'],\n    to: WorkflowAction['ToStage'],\n    request: Task,\n    comment: string,\n    recipient: string | null,\n    currentUser: string\n  ): Promise<void> {\n    try {\n      this.state.setUpdating(true);\n      const response = await this.service.skipTo(\n        from,\n        to,\n        {\n          ...request,\n          FullStages: [],\n          CurrentActors: request.CurrentActors.map((c) => ({\n            ...c,\n            ActorTags: [],\n          })),\n        },\n        comment,\n        recipient ?? undefined\n      );\n\n      if (response instanceof ErrorResponse) {\n        this.utilService.showError(response.ErrorMsg);\n        return;\n      }\n\n      // console.log(response);\n      const data = response as Task;\n      if (data) {\n        if (data.CurrentActors.map((c) => c.Identifier).includes(currentUser)) {\n          this.state.updateRequest(data);\n        } else {\n          this.state.removeRequest(request.Code);\n        }\n        this.utilService.showSuccess('Task skipped to successfully');\n      }\n    } catch (error) {\n      console.error('Failed to update request:', error);\n      throw error;\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async pickTask(\n    action: WorkflowAction,\n    request: Task,\n    comment: string,\n    recipient: string | null,\n    currentUser: string\n  ): Promise<void> {\n    try {\n      this.state.setUpdating(true);\n      const response = await this.service.passOn(\n        action.FromStage,\n        action.ToStage,\n        {\n          ...request,\n          FullStages: [],\n          CurrentActors: request.CurrentActors.map((c) => ({\n            ...c,\n            ActorTags: [],\n          })),\n        },\n        comment,\n        recipient ?? undefined\n      );\n\n      if (response instanceof ErrorResponse) {\n        this.utilService.showError(response.ErrorMsg);\n        return;\n      }\n\n      // console.log(response);\n      const data = response as Task;\n      if (data) {\n        if (data.CurrentActors.map((c) => c.Identifier).includes(currentUser)) {\n          this.state.updateRequest(data);\n        } else {\n          this.state.removeRequest(request.Code);\n        }\n        this.utilService.showSuccess('Task picked successfully');\n      }\n    } catch (error) {\n      console.error('Failed to update request:', error);\n      throw error;\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async reAssign(request: Task, comment: string, currentUser: string): Promise<void> {\n    try {\n      this.state.setUpdating(true);\n      const response = await this.service.reAssign(\n        {\n          ...request,\n          FullStages: [],\n          CurrentActors: request.CurrentActors.map((c) => ({\n            ...c,\n            ActorTags: [],\n          })),\n        },\n        comment\n      );\n\n      if (response instanceof ErrorResponse) {\n        this.utilService.showError(response.ErrorMsg);\n        return;\n      }\n\n      // console.log(response);\n      const data = response as Task;\n      if (data) {\n        if (data.CurrentActors.map((c) => c.Identifier).includes(currentUser)) {\n          this.state.updateRequest(data);\n        } else {\n          this.state.removeRequest(request.Code);\n        }\n        this.utilService.showSuccess('Task re-assigned successfully');\n      }\n    } catch (error) {\n      console.error('Failed to update request:', error);\n      throw error;\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  async fillForm(form: Form, taskCode: string): Promise<Form> {\n    try {\n      this.state.setUpdating(true);\n      const filledForm = await this.service.fillForm(form, taskCode);\n\n      if (filledForm instanceof ErrorResponse) {\n        this.utilService.showError(filledForm.ErrorMsg);\n        throw new Error(filledForm.ErrorMsg);\n      }\n\n      return filledForm;\n    } catch (error) {\n      console.error('Failed to fill form:', error);\n      throw error;\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n\n  // Load more handling\n  async loadMore(queue: boolean = false): Promise<void> {\n    try {\n      this.state.setUpdating(true);\n      const currentParams = this.state.getQueryParamsValue();\n      // const searchTerm = this.state.getSearchTermValue();\n      const searchTerm = false;\n\n      // Update skip value\n      const newSkip = currentParams.skip + currentParams.limit;\n\n      // Load and append data\n      const response = queue\n        ? await this.service.getQueueTasksForUser(\n          currentParams.user || '',\n          currentParams.skip,\n          currentParams.limit,\n          currentParams.sortParam || 'CreatedDate',\n          currentParams.sortOrder\n        )\n        : await this.service.getTasksForUser(\n          currentParams.user || '',\n          currentParams.skip,\n          currentParams.limit,\n          currentParams.sortParam || 'CreatedDate',\n          currentParams.sortOrder\n        );\n\n      if (response instanceof ErrorResponse) {\n        this.utilService.showError(response.ErrorMsg);\n        return;\n      }\n\n      this.state.appendRequests(response.Result);\n      this.state.updateQueryParams({\n        skip: newSkip,\n        limit: currentParams.limit,\n      });\n    } catch (error) {\n      console.error('Load more failed:', error);\n      throw error;\n    } finally {\n      this.state.setUpdating(false);\n    }\n  }\n}\n","import { ChangeDetectorRef, Component, input, Input, QueryList, ViewChildren } from '@angular/core';\nimport { VerbenPopUpComponent } from 'verben-ng-ui';\nimport { TaskModel } from 'verben-workflow-ui/src/lib/components/tasks';\nimport { ObjectState, Task, TaskStatus } from 'verben-workflow-ui/src/lib/models';\nimport { BaseDataViewComponent, DataViewConfig } from 'verben-workflow-ui/src/lib/shared';\nimport { columns } from './my-queue.columns';\nimport { MyQueueFacade } from './my-queue.facade';\nimport { MyQueueService } from './my-queue.service';\nimport { MyQueueState } from './my-queue.state';\n\n@Component({\n  selector: 'lib-my-queue',\n  templateUrl: './my-queue.component.html',\n  styleUrl: './my-queue.component.css',\n  providers: [MyQueueService, MyQueueState, MyQueueFacade],\n})\nexport class MyQueueComponent extends BaseDataViewComponent<Task> {\n  isGeneral = input<boolean>(false);\n  @Input() user!: string;\n  config: DataViewConfig<Task> = {\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      ],\n      children: [],\n    }),\n    onDetailView: (task) => {\n      // Custom detail view logic\n    },\n  };\n  @ViewChildren('popup') popups!: QueryList<VerbenPopUpComponent>;\n\n  constructor(private cdr: ChangeDetectorRef, private facade: MyQueueFacade) {\n    super();\n\n    this.facade.getRequests$().subscribe((data) => {\n      this.data.set(data);\n    });\n  }\n\n  override loadInitialData() {\n    this.facade.resetQueryParams();\n    this.facade.updateQueryParams({ user: this.user });\n    try {\n      this.facade.loadRequests();\n    } catch (error) {\n      // Handle error\n    }\n  }\n\n  // protected getCardDataByIdentifier(mailAddress: string): CardData | undefined {\n  //   return this.cardData().find(({ data }) => data.MailAddress === mailAddress);\n  // }\n\n  async loadMore() {\n    try {\n      await this.facade.loadMore();\n    } catch (error) {\n      // Handle error\n    }\n  }\n\n  getActionNamesForTask(task: Task): string[] {\n    if (this.isGeneral()) {\n      return ['picktask', 'releasetask', 'followtask', 'unfollowtask'];\n    } else {\n      const actions = ['passon', 'passback', 'skipto', 'reassign'];\n      if (task.FullStages?.[0]?.IsEntryPoint) {\n        // Remove passback for entry point stages\n        return actions.filter(action => action !== 'passback');\n      }\n      return actions;\n    }\n  }\n\n  groupByWorkflowCode(task: Task) {\n    return `Workflow: ${task.WorkflowCode}`;\n  }\n\n  onPopupToggled(isOpen: boolean, currentPopup: VerbenPopUpComponent) {\n    if (isOpen) {\n      this.popups.forEach((popup) => {\n        if (popup !== currentPopup && popup.dropdownOpen) {\n          popup.toggleDropdown();\n        }\n      });\n    }\n  }\n\n\n\n  override onStateChange(event: { key: string; value: boolean }): void {\n    switch (event.key) {\n      case 'create':\n        var newItem: Task = new TaskModel({\n          WorkflowCode: '',\n          Status: TaskStatus.Active,\n          Flowable: '',\n          FlowableData: null,\n          FlowablePath: '',\n          CurrentActors: [],\n          DataState: ObjectState.New,\n        }) as unknown as Task;\n        this.facade.addNewRequest(newItem);\n        // const cardData: CardData = {\n        //   selected: false,\n        //   title: ,\n        //   data: newGroup,\n        //   body: [],\n        //   children: [],\n        // };\n        // this.data = this.data.concat([newGroup]);\n        // this.cardData.push(cardData);\n        // this.userCardClicked(cardData);\n        this.dataView.isTableView = false;\n        break;\n      // case 'filter':\n      //   this.showFilter = event.value;\n      //   break;\n      // case 'sort':\n      //   this.showSort = event.value;\n      //   break;\n      // case 'column':\n      //   this.showColumn = event.value;\n      //   break;\n      default:\n        break;\n    }\n  }\n}\n","<div class=\"space-y-8\">\n  <verben-data-view #vdv [viewState]=\"{\n      isSearch: true,\n      isColumn: true,\n      isFilter: true,\n      isSort: true,\n      isExport: true,\n      isSelect: true,\n      isCreate: isGeneral(),\n      isToggle: true,\n    }\" [buttonClass]=\"'my-custom-button-class'\" [iconClass]=\"'my-icon-class'\"\n    [activeIconClass]=\"'my-active-icon-class'\" [selectedColumnCount]=\"0\" [selectedSortCount]=\"0\"\n    [selectedFilterTableCount]=\"0\" (viewChange)=\"onViewChange($event)\" (stateChange)=\"onStateChange($event)\">\n    <div table-content>\n      <lib-data-table [data]=\"data()\" [columns]=\"config.columns\" [styleConfig]=\"styles\"\n        (selectionChange)=\"onSelectionChange($event)\" [groupBy]=\"groupByWorkflowCode\">\n        <ng-container libColumn=\"history\">\n          <ng-template #cell let-value let-deleteRow>\n            <a [routerLink]=\"['/workflow/task-history', value]\" routerLinkActive=\"router-link-active\"\n              class=\"underline text-[#0000FF]\">view history</a>\n          </ng-template>\n        </ng-container>\n\n        <ng-container libColumn=\"workflow\">\n          <ng-template #cell let-value>\n            <a [routerLink]=\"['/workflow/workflows', value]\" routerLinkActive=\"router-link-active\"\n              class=\"underline text-[#0000FF]\">view Workflow</a>\n          </ng-template>\n        </ng-container>\n\n        <ng-container libColumn=\"actions\">\n          <ng-template #cell let-row=\"row\">\n            <lib-operation-popup [user]=\"user\" [task]=\"row\" [allowedActions]=\"getActionNamesForTask(row)\"\n              (actionComplete)=\"loadInitialData()\">\n              <div trigger class=\"cursor-pointer p-2 -m-2 inline-flex items-center justify-center\">\n                <verben-svg icon=\"dots\" [width]=\"3\" [height]=\"18\" class=\"w-auto\"></verben-svg>\n              </div>\n            </lib-operation-popup>\n          </ng-template>\n          <ng-template #header>\n            <strong class=\"text-center\">Actions</strong>\n          </ng-template>\n        </ng-container>\n      </lib-data-table>\n    </div>\n    <div card-content>\n      <verben-card-data-view borderRadius=\"12px\" (loadMoreClick)=\"loadMore()\" #vdcv dataId=\"Id\" border=\"5px\"\n        [cardDataList]=\"cardData()\" rbgColor=\"#f5f6f9\" mg=\"20px\">\n        <verben-left-card-data-view class=\"space-y-7\">\n          <verben-left-card-data #vlcd [parent]=\"vdcv\" dataId=\"Code\"\n            class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\" [cardDataList]=\"cardData()\">\n            <ng-template #card let-item>\n              <div (click)=\"\n                  currentData = isGeneral() ? vdcv.onItemClick(item) : null\n                \" class=\"flex\">\n                <div (click)=\"\n                    currentData = isGeneral() ? vdcv.onItemClick(item) : null\n                  \" class=\"flex cursor-pointer w-full bg-secondary rounded-xl\">\n                  <div class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\" [ngClass]=\"\n                      item.selected ? 'bg-primary' : 'bg-secondary-200'\n                    \"></div>\n                  <div class=\"flex flex-col py-2 px-4 w-full\">\n                    <div class=\"flex items-center gap-4 justify-between\">\n                      <div class=\"grid gap-y-2\">\n                        <span class=\"font-semibold text-[#404040]\">{{\n                          item.title\n                          }}</span>\n                        <p class=\"flex items-center\">\n                          <label for=\"phone\" class=\"text-[10px] font-light\">Status:</label>\n                          <span id=\"phone\" class=\"text-sm\">{{\n                            item.data.Status\n                            }}</span>\n                        </p>\n                      </div>\n\n                      <div class=\"grid gap-y-2\">\n                        <span for=\"role\" class=\"font-light\">{{\n                          item.data.Code\n                          }}</span>\n\n                        <div (click)=\"$event.stopPropagation();\" class=\"flex items-end gap-4\">\n                          <a [routerLink]=\"[\n                              '/workflow/task-history',\n                              item.data.Code\n                            ]\" routerLinkActive=\"router-link-active\"\n                            class=\"underline text-[#0000FF] text-xs relative z-10\">view\n                            history</a>\n\n                          <lib-operation-popup [user]=\"user\" [task]=\"item.data\"\n                            [allowedActions]=\"getActionNamesForTask(item.data)\" (actionComplete)=\"loadInitialData()\">\n                            <div trigger class=\"cursor-pointer p-2 -m-2 inline-flex items-center justify-center\">\n                              <verben-svg icon=\"dots\" [width]=\"3\" [height]=\"18\" class=\"w-auto\"></verben-svg>\n                            </div>\n                          </lib-operation-popup>\n                        </div>\n                      </div>\n                    </div>\n\n                    <!-- <div class=\"flex\">\n                      <span class=\"font-normal text-sm\">{{ item.title }}</span>\n                    </div>\n                    @for (ciItem of item.body; track ciItem.value) {\n                    <div class=\"\">\n                      <span class=\"text-muted font-light text-xs\"\n                        >{{ ciItem.title }}:</span\n                      >\n                      <span class=\"text-black\">{{ ciItem.value }}</span>\n                    </div>\n                    } -->\n                  </div>\n                </div>\n              </div>\n            </ng-template>\n          </verben-left-card-data>\n        </verben-left-card-data-view>\n\n        <verben-right-card-data-view>\n          <ng-template #parent>\n            <!-- <lib-user-request-form\n              [currentData]=\"currentData\"\n              (switchView)=\"vdv.toggleView()\"\n              (onApproval)=\"onApprove($event)\"\n            ></lib-user-request-form> -->\n          </ng-template>\n        </verben-right-card-data-view>\n\n        <verben-card-data-view-footer class=\"w-full\">\n          <div [ngClass]=\"{\n              'flex gap-2 items-center': true,\n              'justify-end': true,\n            }\">\n            <!-- <verbena-button\n              *ngIf=\"!vdcv.hasCurrentItem()\"\n              [fontWeight]=\"'bold'\"\n              [bgColor]=\"'#8E8D87'\"\n              [borderRadius]=\"'4px'\"\n              [textColor]=\"'#fff'\"\n              [pd]=\"'9.79px 37.28px'\"\n              [text]=\"'Delete'\"\n            >\n            </verbena-button> -->\n            <div class=\"flex {{\n                vdcv.hasCurrentItem() ? 'flex-1' : ''\n              }} justify-end items-center gap-5\">\n              <span class=\"paginator-text\">{{ cardData().length }} records loaded</span>\n              <button (click)=\"loadMore()\" class=\"load-more view-links text-[#3479E9] underline\">\n                Load more\n              </button>\n            </div>\n          </div>\n        </verben-card-data-view-footer>\n      </verben-card-data-view>\n    </div>\n    <div column-content>\n      <lib-data-columns [columns]=\"config.columns\" (columnsUpdated)=\"onColumnsUpdated($event)\"></lib-data-columns>\n    </div>\n    <div filter-content>\n      <verben-table-filter [border]=\"'1px solid rgba(212, 160, 7, 1)'\" borderRadius=\"10px\"\n        boxShadow=\"2px 2px 2px 0px silver\" bgColor=\"white\" width=\"420px\" textColor=\"black\" pd=\"1rem\"\n        primaryColor=\"#FFE681\" secondaryColor=\"#3479E9\" tertiaryColor=\"#404040\" [filterOptions]=\"filterArray\"\n        [maxFilterLength]=\"3\"></verben-table-filter>\n    </div>\n    <div sort-content>\n      <lib-data-sort [columns]=\"config.columns\" [data]=\"data()\" (sortApplied)=\"onSortUpdated($event)\"></lib-data-sort>\n    </div>\n    <div export-content>\n      <lib-data-export [data]=\"data()\" (exportDataEvent)=\"handleExport($event)\">\n      </lib-data-export>\n    </div>\n  </verben-data-view>\n\n  <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-end\">\n\n    <div class=\"flex justify-end items-center gap-5\">\n      <span class=\"paginator-text\">{{ cardData().length }} records loaded</span>\n      <button (click)=\"loadMore()\" class=\"load-more view-links text-[#3479E9] underline\">\n        Load more\n      </button>\n    </div>\n  </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CardData } from 'verben-ng-ui';\nimport { Task } from 'verben-workflow-ui/src/lib/models';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Status } from 'verben-workflow-ui/src/lib/models';\nimport { Workflow } from 'verben-workflow-ui/src/lib/models';\nimport { Form } from 'verben-workflow-ui/src/lib/models';\nimport { DataType } from 'verben-workflow-ui/src/lib/models';\nimport { TaskFacade } from 'verben-workflow-ui/src/lib/components/tasks';\n\n@Component({\n  selector: 'tasks-form',\n  templateUrl: './tasks.form.component.html',\n})\nexport class TasksFormComponent {\n  @Input()\n  get currentData(): CardData | null {\n    return this._currentData;\n  }\n  set currentData(value: CardData | null) {\n    this._currentData = value;\n    console.log(value?.data);\n    if (value?.data) {\n      this.form.patchValue({\n        Name: value.data.Name || '',\n        Description: value.data.Description || '',\n        WorkflowCode: value.data.WorkflowCode || '',\n        Status: value.data.Status || '',\n      });\n    } else {\n      this.form.reset();\n    }\n  }\n\n  private _currentData: CardData | null = null;\n\n  taskForm: Form | null = null;\n  active: number = 0;\n  dataType: DataType = DataType.Text;\n\n  @Output() onTaskFormSave = new EventEmitter<Form>();\n  @Output() onSave = new EventEmitter<Partial<Task>>();\n\n  form: FormGroup;\n  statuses = Object.values(Status);\n  workflows: Workflow[] = [];\n  loadingTaskForm: boolean = false;\n  taskFormView: boolean = false;\n\n  // active: boolean = false;\n\n  constructor(private fb: FormBuilder, private taskFacade: TaskFacade) {\n    this.taskFacade.getWorkflow$().subscribe((workflows) => {\n      this.workflows = workflows;\n    });\n    this.form = this.fb.group({\n      Name: ['', { validators: [Validators.required] }],\n      Description: ['', { validators: [Validators.required] }],\n      WorkflowCode: ['', { validators: [Validators.required] }],\n      Status: ['', { validators: [Validators.required] }],\n      TaskForms: [],\n    });\n  }\n\n  ngOnInit() {\n    try {\n      this.taskFacade.loadWorkflows().then(() => {});\n    } catch (error) {\n      // Handle error\n    }\n\n    this.form.get('WorkflowCode')?.valueChanges.subscribe((value) => {\n      if (value) {\n        const selectedWorkflow = this.workflows.find(\n          ({ Code }) => Code === value\n        );\n        if (selectedWorkflow?.Form) {\n          this.loadingTaskForm = true;\n          this.taskFacade\n            .loadFormsWithParam(selectedWorkflow.Form)\n            .then((form) => {\n              if (form) {\n                this.taskForm = form;\n              }\n            })\n            .finally(() => {\n              this.loadingTaskForm = false;\n            });\n        } else {\n          this.taskForm = null;\n        }\n      }\n    });\n  }\n\n  handleSubmit(): void {\n    if (this.form.valid) {\n      // Emit save event with form value\n      console.log('Form saved:', this.form.value);\n      if (\n        !this.taskForm ||\n        (this.form.get('TaskForms')?.value as Form[])?.length > 0\n      ) {\n        this.onSave.emit(this.form.value);\n      }\n    }\n  }\n\n  onDelete(): void {\n    // Emit delete event\n    console.log('Delete requested');\n  }\n\n  sendTaskForm() {\n    if (this.taskForm) {\n      this.form\n        .get('TaskForms')\n        ?.setValue([{ ...this.taskForm, Swimlane: '' }]);\n      this.taskFormView = false;\n      this.onTaskFormSave.emit(this.taskForm);\n    }\n  }\n\n  areRequiredPropertiesFilled(): boolean {\n    const properties = this.taskForm?.Entities[this.active].Properties || [];\n\n    // Check if all required properties have valid values\n    // return properties.every((property: any) => {\n    //   console.log(property);\n    //   return (\n    //     !property.isRequired ||\n    //     (property.Value !== undefined &&\n    //       property.Value !== null &&\n    //       property.Value !== '')\n    //   );\n    // });\n    return true;\n  }\n\n  disableProcessing() {\n    const selectedWorkflow = this.workflows.find(\n      ({ Code }) => Code === this.form.get('WorkflowCode')?.value\n    );\n\n    if (\n      selectedWorkflow?.Form &&\n      (this.currentData?.data as Task)?.TaskForms?.length === 0\n    ) {\n      return true;\n    } else return this.form.invalid;\n  }\n}\n","@if (taskFormView && taskForm) {\n<div\n  *ngIf=\"taskForm.Entities[active]\"\n  class=\"flex flex-wrap bg-[#9A9FBF80] rounded-xl px-3 py-2 w-full relative gap-6\"\n>\n  <app-form-timer></app-form-timer>\n  <div *ngFor=\"let group of taskForm.Entities; let index = index\">\n    <p\n      (click)=\"active = index\"\n      [ngClass]=\"{\n        'bg-[#fff] text-primary rounded-lg shadow-lg': active === index\n      }\"\n      class=\"px-6 py-2 cursor-pointer\"\n    >\n      {{ group.Name }}group\n    </p>\n  </div>\n</div>\n\n<div *ngIf=\"taskForm.Entities[active]; else emptyState\" class=\"mt-4\">\n  <form-control\n    [dataType]=\"dataType\"\n    [formProperties]=\"taskForm.Entities[active].Properties\"\n  ></form-control>\n\n  <div class=\"flex gap-3 justify-end\">\n    <verbena-button\n      (click)=\"areRequiredPropertiesFilled()\"\n      text=\"CHECK\"\n      styleType=\"ylw-outline\"\n      class=\"ml-auto\"\n    ></verbena-button>\n\n    <verbena-button\n      (click)=\"taskFormView = false\"\n      text=\"Close task form\"\n      styleType=\"ylw-outline\"\n      class=\"ml-auto\"\n    ></verbena-button>\n\n    <verbena-button\n      class=\"verben-primary-button\"\n      (click)=\"sendTaskForm()\"\n      [disable]=\"!areRequiredPropertiesFilled()\"\n      text=\"Save\"\n    ></verbena-button>\n  </div>\n</div>\n\n<!-- Empty state template -->\n<ng-template #emptyState>\n  <p class=\"mt-4 p-4 text-gray-600 text-center\">\n    No entries available for the selected form group.\n  </p>\n</ng-template>\n\n} @else {\n<form\n  [formGroup]=\"form\"\n  class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n  (ngSubmit)=\"handleSubmit()\"\n>\n  <verbena-input\n    name=\"Name\"\n    label=\"Name\"\n    formControlName=\"Name\"\n    placeHolder=\"Enter Name\"\n  />\n  <verbena-input\n    name=\"Description\"\n    label=\"Description\"\n    formControlName=\"Description\"\n    placeHolder=\"Enter Description\"\n  />\n\n  <div class=\"space-y-1\">\n    <label for=\"workflow\">Workflow</label>\n\n    <verben-drop-down\n      label=\"Workflow\"\n      styleClass=\"w-full\"\n      width=\"100%\"\n      [multiselect]=\"false\"\n      placeholder=\"Select\"\n      [options]=\"workflows\"\n      optionLabel=\"Name\"\n      optionValue=\"Code\"\n      id=\"workflow\"\n      formControlName=\"WorkflowCode\"\n      class=\"form-control\"\n    >\n    </verben-drop-down>\n  </div>\n\n  <div class=\"space-y-1\">\n    <label for=\"status\">Status</label>\n\n    <verben-drop-down\n      label=\"Status\"\n      styleClass=\"w-full\"\n      width=\"100%\"\n      [multiselect]=\"false\"\n      [showClear]=\"true\"\n      placeholder=\"Null\"\n      [(options)]=\"statuses\"\n      id=\"status\"\n      formControlName=\"Status\"\n      class=\"form-control\"\n    >\n    </verben-drop-down>\n  </div>\n\n  <!-- buttons -->\n  <div class=\"flex justify-between gap-4 my-2\">\n    <verbena-button\n      width=\"114px\"\n      height=\"39px\"\n      text=\"Delete\"\n      bgColor=\"#999999\"\n      textColor=\"#404040\"\n      borderRadius=\"10px\"\n      [disable]=\"disableProcessing()\"\n    ></verbena-button>\n    <verbena-button\n      [disable]=\"!taskForm || loadingTaskForm\"\n      (click)=\"taskFormView = true\"\n      [text]=\"loadingTaskForm ? 'Checking for form' : 'Fill task form'\"\n      styleType=\"ylw-outline\"\n      class=\"ml-auto\"\n    ></verbena-button>\n    <verbena-button\n      type=\"submit\"\n      text=\"Save\"\n      bgColor=\"#FFE681\"\n      textColor=\"#404040\"\n      borderRadius=\"10px\"\n      pd=\"10px 20px\"\n      width=\"114px\"\n      height=\"39px\"\n      [disable]=\"disableProcessing()\"\n    ></verbena-button>\n  </div>\n</form>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { FormControlerModule } from 'verben-workflow-ui/src/lib/components/form-control';\nimport { FormTimerModule } from 'verben-workflow-ui/src/lib/components/form-timer';\nimport { OperationPopupComponent } from 'verben-workflow-ui/src/lib/components/operation-popup';\nimport { SharedModule } from 'verben-workflow-ui/src/lib/shared';\nimport { MyQueueComponent } from './my-queue.component';\nimport { TasksFormComponent } from './tasks.form.component';\n@NgModule({\n  declarations: [MyQueueComponent, TasksFormComponent],\n  imports: [\n    CommonModule,\n    SharedModule,\n    RouterLink,\n    FormControlerModule,\n    FormTimerModule,\n    OperationPopupComponent,\n  ],\n\n  exports: [MyQueueComponent],\n})\nexport class MyQueueModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.MyQueueService","i2.MyQueueState","i3","i1.MyQueueFacade","i2","i1","i4","i5"],"mappings":"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"}