verben-workflow-ui 0.5.72 → 0.5.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/lib/components/flowable-status/flowable-status.component.mjs +10 -3
- package/esm2022/src/lib/components/workflow-designer/designer-canvas/designer-canvas.component.mjs +26 -2
- package/esm2022/src/lib/components/workflow-designer/swimlane-dialog/swimlane-dialog.component.mjs +14 -4
- package/esm2022/src/lib/components/workflow-designer/workflow-data.service.mjs +41 -19
- package/esm2022/src/lib/components/workflow-designer/workflow-designer.component.mjs +45 -3
- package/esm2022/src/lib/components/workflow-designer/workflow-designer.state.mjs +38 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs +9 -2
- package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs +157 -23
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs.map +1 -1
- package/package.json +60 -60
- package/src/lib/components/workflow-designer/swimlane-dialog/swimlane-dialog.component.d.ts +4 -1
- package/src/lib/components/workflow-designer/workflow-data.service.d.ts +12 -3
- package/src/lib/components/workflow-designer/workflow-designer.component.d.ts +2 -0
- package/src/lib/components/workflow-designer/workflow-designer.state.d.ts +16 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verben-workflow-ui-src-lib-components-flowable-status.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.columns.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.service.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.state.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.facade.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.form.component.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.form.component.html","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.component.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.component.html","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.module.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/verben-workflow-ui-src-lib-components-flowable-status.ts"],"sourcesContent":["import { ColumnDefinition } from \"verben-ng-ui\";\nimport { FlowableStatus } from \"verben-workflow-ui/src/lib/models\";\n\nexport const columns: ColumnDefinition<FlowableStatus>[] = [\n {\n id: 'date',\n header: 'CREATED',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'name',\n header: 'NAME',\n accessorKey: 'Name',\n formControlName: 'Name',\n },\n {\n id: 'description',\n header: 'DESCRIPTION',\n accessorKey: 'Description',\n formControlName: 'Description',\n },\n { id: 'actions', header: 'Actions' },\n];\n","import { Injectable } from '@angular/core';\nimport { ErrorResponse, FlowableStatus, Paged } from 'verben-workflow-ui/src/lib/models';\nimport { EnvironmentService, HttpWebRequestService } from 'verben-workflow-ui/src/lib/services';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FlowableStatusService {\n\n constructor(\n private httpService: HttpWebRequestService,\n private envSvc: EnvironmentService\n ) { }\n\n /**\n * Get data 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 data\n */\n getData(\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string\n ): Promise<Paged<FlowableStatus> | ErrorResponse> {\n const url = `GetFlowableStatus/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.get(url) as Promise<Paged<FlowableStatus> | ErrorResponse>;\n }\n\n /**\n * Get data 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 data\n */\n getFlowableStatusWithParam(\n param: string,\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string\n ): Promise<Paged<FlowableStatus> | ErrorResponse> {\n const url = `GetFlowableStatusWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.get(url) as Promise<Paged<FlowableStatus> | ErrorResponse>;\n }\n\n /**\n * Save multiple data\n * @param requests Array of data to save\n * @returns Promise containing the save operation result\n */\n saveFlowableStatuses(requests: FlowableStatus[]): Promise<any | ErrorResponse> {\n const url = `SaveFlowableStatus`;\n return this.httpService.post(url, requests);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { IDataFilter } from 'verben-ng-ui';\nimport { FlowableStatus, QueryParams, SortDirection } from 'verben-workflow-ui/src/lib/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FlowableStatusState {\n private updating$ = new BehaviorSubject<boolean>(false);\n private data$ = new BehaviorSubject<FlowableStatus[]>([]);\n private searchTerm$ = new BehaviorSubject<string>('');\n private queryParams$ = new BehaviorSubject<QueryParams<FlowableStatus>>({\n skip: 0,\n limit: 20,\n sortParam: 'CreatedAt',\n sortOrder: SortDirection.Desc,\n });\n private filterParams$ = new BehaviorSubject<IDataFilter[]>([]);\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<FlowableStatus[]> {\n return this.data$.asObservable();\n }\n\n setRequests(data: FlowableStatus[]): void {\n this.data$.next(data);\n }\n\n getSearchTerm$(): Observable<string> {\n return this.searchTerm$.asObservable();\n }\n\n getSearchTermValue(): string {\n return this.searchTerm$.getValue();\n }\n\n setSearchTerm(term: string): void {\n this.searchTerm$.next(term);\n }\n\n getFilterParams$(): Observable<IDataFilter[]> {\n return this.filterParams$.asObservable();\n }\n\n setFilterParams(params: IDataFilter[]): void {\n this.filterParams$.next(params);\n }\n\n getQueryParams$(): Observable<QueryParams<FlowableStatus>> {\n return this.queryParams$.asObservable();\n }\n\n getQueryParamsValue(): QueryParams<FlowableStatus> {\n return this.queryParams$.getValue();\n }\n\n updateQueryParams(params: Partial<QueryParams<FlowableStatus>>): void {\n this.queryParams$.next({ ...this.queryParams$.getValue(), ...params });\n }\n\n addRequest(task: FlowableStatus): void {\n const currentValue = this.data$.getValue();\n this.data$.next([task, ...currentValue]);\n }\n\n resetPagination(): void {\n const currentParams = this.queryParams$.getValue();\n this.queryParams$.next({ ...currentParams, skip: 0 });\n }\n\n updateRequest(updatedRequest: FlowableStatus): void {\n const data = this.data$.getValue();\n const index = data.findIndex((r) => r.Code === updatedRequest.Code);\n if (index !== -1) {\n data[index] = updatedRequest;\n this.data$.next([...data]);\n }\n }\n\n removeRequest(code: string): void {\n const currentValue = this.data$.getValue();\n this.data$.next(currentValue.filter((r) => r.Code !== code));\n }\n\n appendRequests(newRequests: FlowableStatus[]): void {\n const currentRequests = this.data$.getValue();\n this.data$.next([...currentRequests, ...newRequests]);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Observable,\n Subject,\n debounceTime,\n distinctUntilChanged,\n takeUntil,\n} from 'rxjs';\nimport { IDataFilter } from 'verben-ng-ui';\nimport { ErrorResponse, FlowableStatus, QueryParams, SortDirection } from 'verben-workflow-ui/src/lib/models';\nimport { UtilService } from 'verben-workflow-ui/src/lib/services';\nimport { FlowableStatusService } from './flowable-status.service';\nimport { FlowableStatusState } from './flowable-status.state';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FlowableStatusFacade {\n private searchSubject = new Subject<string>();\n private destroy$ = new Subject<void>();\n\n constructor(\n private service: FlowableStatusService,\n private state: FlowableStatusState,\n private utilService: UtilService\n ) {\n this.searchSubject\n .pipe(\n debounceTime(1000),\n distinctUntilChanged(),\n takeUntil(this.destroy$)\n )\n .subscribe((searchTerm) => {\n this.handleSearch(searchTerm);\n });\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<FlowableStatus[]> {\n return this.state.getRequests$();\n }\n\n getQueryParams$(): Observable<QueryParams<FlowableStatus>> {\n return this.state.getQueryParams$();\n }\n\n getSearchTerm$(): Observable<string> {\n return this.state.getSearchTerm$();\n }\n\n // Search handling\n search(term: string): void {\n this.searchSubject.next(term);\n }\n\n private async handleSearch(searchTerm: string): Promise<void> {\n this.state.setSearchTerm(searchTerm);\n this.state.resetPagination();\n\n try {\n this.state.setUpdating(true);\n if (searchTerm.trim()) {\n await this.loadRequestsWithParam(searchTerm);\n } else {\n await this.loadRequests();\n }\n } catch (error) {\n console.error('Search failed:', error);\n throw error;\n } finally {\n this.state.setUpdating(false);\n }\n }\n\n async filter(filterParams: IDataFilter[]): Promise<void> {\n this.state.resetPagination();\n this.state.setFilterParams(filterParams);\n }\n\n addNewRequest(task: FlowableStatus) {\n this.state.addRequest(task);\n }\n\n async loadRequests(): Promise<void> {\n try {\n this.state.setUpdating(true);\n const params = this.state.getQueryParamsValue();\n\n const requests = await this.service.getData(\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:', 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.getFlowableStatusWithParam(\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(params: Partial<QueryParams<FlowableStatus>>): void {\n this.state.updateQueryParams(params);\n }\n\n async addRequest(request: Partial<FlowableStatus>): Promise<void> {\n try {\n this.state.setUpdating(true);\n const newRequest = { ...request } as FlowableStatus;\n\n const response = await this.service.saveFlowableStatuses([newRequest]);\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n this.state.resetPagination();\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 async updateRequest(request: FlowableStatus): Promise<void> {\n try {\n this.state.setUpdating(true);\n const response = await this.service.saveFlowableStatuses([request]);\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\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 // 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\n // Update skip value\n const newSkip = currentParams.skip + currentParams.limit;\n\n // Load and append data\n const response = await this.service.getData(\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 // Load more handling\n async loadData(skip: number, limit: number): Promise<FlowableStatus[] | void> {\n try {\n this.state.setUpdating(true);\n const response = await this.service.getData(\n skip,\n limit,\n 'CreatedDate',\n SortDirection.Desc\n );\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n return response.Result;\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 {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { CardData } from 'verben-ng-ui';\nimport { FlowableStatus } from 'verben-workflow-ui/src/lib/models';\n\n@Component({\n selector: 'flowable-status-form',\n templateUrl: './flowable-status.form.component.html',\n})\nexport class FlowableStatusFormComponent {\n @Output() onSave = new EventEmitter<Partial<FlowableStatus>>();\n @Output() switchView = new EventEmitter<undefined>();\n\n @Input()\n get currentData(): CardData | null {\n return this._currentData;\n }\n set currentData(value: CardData | null) {\n this._currentData = value;\n if (value?.data) {\n this.form.patchValue({\n Name: value.data.Name || '',\n Description: value.data.Description || '',\n });\n } else {\n this.form.reset();\n }\n }\n\n private _currentData: CardData | null = null;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder) {\n this.form = this.fb.group({\n Name: ['', { validators: [Validators.required] }],\n Description: ['', { validators: [Validators.required] }],\n });\n }\n\n handleSubmit(): void {\n if (this.form.valid) {\n this.onSave.emit(this.form.value);\n }\n }\n}\n","<form [formGroup]=\"form\" class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n (ngSubmit)=\"handleSubmit()\">\n <verbena-input name=\"Name\" label=\"Name\" formControlName=\"Name\" placeHolder=\"Enter Name\" />\n <verbena-input name=\"Description\" label=\"Description\" formControlName=\"Description\"\n placeHolder=\"Enter Description\" />\n\n <div class=\"flex justify-between gap-4 my-2\">\n <verbena-button (click)=\"switchView.emit()\" text=\"Switch To Table\" styleType=\"ylw-outline\"\n class=\"ml-auto\"></verbena-button>\n <verbena-button type=\"submit\" text=\"Save\" bgColor=\"#FFE681\" textColor=\"#404040\" borderRadius=\"10px\"\n pd=\"10px 20px\" width=\"114px\" height=\"39px\" [disable]=\"form.invalid\"></verbena-button>\n </div>\n</form>\n","import {\n ChangeDetectorRef,\n Component,\n signal,\n WritableSignal,\n} from '@angular/core';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { CardData, FormGroupConfig } from 'verben-ng-ui';\nimport { FlowableStatus, ObjectState } from 'verben-workflow-ui/src/lib/models';\nimport { BaseDataViewComponent, DataViewConfig } from 'verben-workflow-ui/src/lib/shared';\nimport { columns } from './flowable-status.columns';\nimport { FlowableStatusFacade } from './flowable-status.facade';\n\n@Component({\n selector: 'lib-flowable-status',\n templateUrl: './flowable-status.component.html',\n styleUrl: './flowable-status.component.css',\n})\nexport class FlowableStatusComponent extends BaseDataViewComponent<FlowableStatus> {\n config: DataViewConfig<FlowableStatus> = {\n dataSource: [],\n columns: columns,\n cardDataMapper: (status) => ({\n selected: false,\n title: status.Name,\n data: status,\n body: [\n { title: 'Name', value: status.Name },\n { title: 'Description', value: status.Description },\n ],\n children: [],\n }),\n onDetailView: (status) => {\n // Custom detail view logic\n },\n };\n\n formGroupConfig: WritableSignal<FormGroupConfig<any>>;\n\n constructor(\n private cdr: ChangeDetectorRef,\n private facade: FlowableStatusFacade,\n private fb: FormBuilder\n ) {\n super();\n\n this.loadData = this.loadData.bind(this);\n\n this.formGroupConfig = signal({\n controls: {\n Name: this.fb.control('', [Validators.required]),\n Description: this.fb.control('', [Validators.required]),\n },\n });\n\n this.facade.getRequests$().subscribe((data) => {\n this.data.set(data);\n });\n }\n\n override loadInitialData() {\n try {\n this.facade.loadRequests();\n } catch (error) {\n // Handle error\n }\n }\n\n protected getCardDataByIdentifier(code: string): CardData | undefined {\n return this.cardData()?.find(({ data }) => data.data.Code === code);\n }\n\n async loadMore() {\n try {\n await this.facade.loadMore();\n } catch (error) {\n // Handle error\n }\n }\n\n async onSave(data: Partial<FlowableStatus>) {\n const payload = {\n ...this.currentData?.data,\n ...data,\n DataState: this.currentData?.data?.DataState === ObjectState.New ? ObjectState.New : ObjectState.Changed,\n } as FlowableStatus;\n await this.facade.addRequest(payload);\n }\n\n handleSearch(event: { key: string; value: string }) {\n this.facade.search(event.value);\n }\n\n handleFetchedExport({ skip, limit }: any) {\n this.facade.loadData(skip, limit).then((data) => {\n if (data) {\n this.handleExport(data);\n }\n });\n }\n\n async loadData(range: { skip: number; limit: number }) {\n const data = await this.facade.loadData(range.skip, range.limit);\n return data ?? [];\n }\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: FlowableStatus = {\n Name: '',\n Description: '',\n TenantId: '',\n ServiceName: '',\n id: crypto.randomUUID(),\n Id: '',\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n DataState: ObjectState.New,\n Code: '',\n };\n this.data.update((prev) => [newForm, ...prev]);\n // console.log(newForm);\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: true,\n isToggle: true,\n }\" [buttonClass]=\"'my-custom-button-class'\" [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\" [selectedColumnCount]=\"selectedColumnCount\"\n [selectedSortCount]=\"selectedSortCount\" [selectedFilterTableCount]=\"selectedFilterTableCount\"\n (viewChange)=\"onViewChange($event)\" (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\" (createClick)=\"vdv.toggleView()\">\n <div table-content>\n <lib-data-table [data]=\"data()\" [columns]=\"config.columns\" [styleConfig]=\"styles\"\n [formGroupConfig]=\"formGroupConfig()\" (selectionChange)=\"onSelectionChange($event)\"\n (rowSave)=\"onSave($event.data)\">\n <ng-container libColumn=\"date\">\n <ng-template #cell let-row=\"row\" let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"name\">\n <ng-template #cellEdit let-control=\"control\">\n <verbena-input name=\"Name\" [formControl]=\"control\" placeHolder=\"Enter Name\" />\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"description\">\n <ng-template #cellEdit let-control=\"control\">\n <verbena-input name=\"Description\" [formControl]=\"control\" placeHolder=\"Enter Description\" />\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-isEditing=\"isEditing\" let-toggleRowEdit=\"toggleRowEdit\"\n let-deleteRow=\"deleteRow\">\n <div class=\"flex gap-6\">\n <verben-svg (click)=\"toggleRowEdit()\" icon=\"edit\" [width]=\"15\" [height]=\"15\"\n class=\"cursor-pointer\"></verben-svg>\n\n <verben-svg icon=\"delete\" [width]=\"15\" [height]=\"15\" (click)=\"deleteRow()\"\n class=\"cursor-pointer\"></verben-svg>\n </div>\n </ng-template>\n\n <ng-template #cellEdit let-value let-deleteRow let-isEditing=\"isEditing\"\n let-toggleRowEdit=\"toggleRowEdit\" let-row=\"row\" let-rowIndex=\"rowIndex\">\n <div class=\"flex gap-6\">\n <verben-svg (click)=\"toggleRowEdit()\" icon=\"tick\" [width]=\"15\" [height]=\"15\"\n class=\"cursor-pointer\"></verben-svg>\n\n <verben-svg icon=\"delete\" [width]=\"15\" [height]=\"15\" (click)=\"toggleRowEdit()\"\n class=\"cursor-pointer\"></verben-svg>\n </div>\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=\"Id\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\" [cardDataList]=\"cardData()\">\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <div (click)=\"currentData = vdcv.onItemClick(item)\"\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 gap-1\">\n <label for=\"desc\"\n class=\"text-[10px] font-light\">Description:</label>\n <span id=\"desc\" class=\"text-sm\">{{\n item.data.Description\n }}</span>\n </p>\n </div>\n\n <div class=\"grid gap-y-1\">\n <p class=\"grid\">\n <label for=\"name\"\n class=\"text-[10px] font-light text-[#404040]\">Name</label>\n <span id=\"name\" class=\"text-sm font-medium\">{{\n item.data?.Name\n }}</span>\n </p>\n </div>\n </div>\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 <flowable-status-form [currentData]=\"currentData\" (switchView)=\"vdv.toggleView()\"\n (onSave)=\"onSave($event)\"></flowable-status-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 <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()\"\n (sortApplied)=\"onSortUpdated($event)\"></lib-data-sort>\n </div>\n <div export-content>\n <lib-data-xport [columns]=\"config.columns\" [data]=\"data()\" [dataQueryFunction]=\"loadData\">\n </lib-data-xport>\n </div>\n </verben-data-view>\n\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-end\">\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 { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { SharedModule } from 'verben-workflow-ui/src/lib/shared';\nimport { FlowableStatusComponent } from './flowable-status.component';\nimport { FlowableStatusFormComponent } from './flowable-status.form.component';\n\n@NgModule({\n declarations: [FlowableStatusComponent, FlowableStatusFormComponent],\n imports: [CommonModule, SharedModule, RouterLink],\n exports: [FlowableStatusComponent],\n})\nexport class FlowableStatusModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.FlowableStatusService","i2.FlowableStatusState","i3","i1","i2","i1.FlowableStatusFacade","i5.FlowableStatusFormComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verben-workflow-ui-src-lib-components-flowable-status.mjs","sources":["../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.columns.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.service.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.state.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.facade.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.form.component.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.form.component.html","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.component.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.component.html","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/flowable-status.module.ts","../../../projects/verben-workflow-ui/src/lib/components/flowable-status/verben-workflow-ui-src-lib-components-flowable-status.ts"],"sourcesContent":["import { ColumnDefinition } from \"verben-ng-ui\";\nimport { FlowableStatus } from \"verben-workflow-ui/src/lib/models\";\n\nexport const columns: ColumnDefinition<FlowableStatus>[] = [\n {\n id: 'date',\n header: 'CREATED',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'name',\n header: 'NAME',\n accessorKey: 'Name',\n formControlName: 'Name',\n },\n {\n id: 'description',\n header: 'DESCRIPTION',\n accessorKey: 'Description',\n formControlName: 'Description',\n },\n { id: 'actions', header: 'Actions' },\n];\n","import { Injectable } from '@angular/core';\nimport { ErrorResponse, FlowableStatus, Paged } from 'verben-workflow-ui/src/lib/models';\nimport { EnvironmentService, HttpWebRequestService } from 'verben-workflow-ui/src/lib/services';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FlowableStatusService {\n\n constructor(\n private httpService: HttpWebRequestService,\n private envSvc: EnvironmentService\n ) { }\n\n /**\n * Get data 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 data\n */\n getData(\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string\n ): Promise<Paged<FlowableStatus> | ErrorResponse> {\n const url = `GetFlowableStatus/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.get(url) as Promise<Paged<FlowableStatus> | ErrorResponse>;\n }\n\n /**\n * Get data 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 data\n */\n getFlowableStatusWithParam(\n param: string,\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string\n ): Promise<Paged<FlowableStatus> | ErrorResponse> {\n const url = `GetFlowableStatusWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.get(url) as Promise<Paged<FlowableStatus> | ErrorResponse>;\n }\n\n /**\n * Save multiple data\n * @param requests Array of data to save\n * @returns Promise containing the save operation result\n */\n saveFlowableStatuses(requests: FlowableStatus[]): Promise<any | ErrorResponse> {\n const url = `SaveFlowableStatus`;\n return this.httpService.post(url, requests);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { IDataFilter } from 'verben-ng-ui';\nimport { FlowableStatus, QueryParams, SortDirection } from 'verben-workflow-ui/src/lib/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FlowableStatusState {\n private updating$ = new BehaviorSubject<boolean>(false);\n private data$ = new BehaviorSubject<FlowableStatus[]>([]);\n private searchTerm$ = new BehaviorSubject<string>('');\n private queryParams$ = new BehaviorSubject<QueryParams<FlowableStatus>>({\n skip: 0,\n limit: 20,\n sortParam: 'CreatedAt',\n sortOrder: SortDirection.Desc,\n });\n private filterParams$ = new BehaviorSubject<IDataFilter[]>([]);\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<FlowableStatus[]> {\n return this.data$.asObservable();\n }\n\n setRequests(data: FlowableStatus[]): void {\n this.data$.next(data);\n }\n\n getSearchTerm$(): Observable<string> {\n return this.searchTerm$.asObservable();\n }\n\n getSearchTermValue(): string {\n return this.searchTerm$.getValue();\n }\n\n setSearchTerm(term: string): void {\n this.searchTerm$.next(term);\n }\n\n getFilterParams$(): Observable<IDataFilter[]> {\n return this.filterParams$.asObservable();\n }\n\n setFilterParams(params: IDataFilter[]): void {\n this.filterParams$.next(params);\n }\n\n getQueryParams$(): Observable<QueryParams<FlowableStatus>> {\n return this.queryParams$.asObservable();\n }\n\n getQueryParamsValue(): QueryParams<FlowableStatus> {\n return this.queryParams$.getValue();\n }\n\n updateQueryParams(params: Partial<QueryParams<FlowableStatus>>): void {\n this.queryParams$.next({ ...this.queryParams$.getValue(), ...params });\n }\n\n addRequest(task: FlowableStatus): void {\n const currentValue = this.data$.getValue();\n this.data$.next([task, ...currentValue]);\n }\n\n resetPagination(): void {\n const currentParams = this.queryParams$.getValue();\n this.queryParams$.next({ ...currentParams, skip: 0 });\n }\n\n updateRequest(updatedRequest: FlowableStatus): void {\n const data = this.data$.getValue();\n const index = data.findIndex((r) => r.Code === updatedRequest.Code);\n if (index !== -1) {\n data[index] = updatedRequest;\n this.data$.next([...data]);\n }\n }\n\n removeRequest(code: string): void {\n const currentValue = this.data$.getValue();\n this.data$.next(currentValue.filter((r) => r.Code !== code));\n }\n\n appendRequests(newRequests: FlowableStatus[]): void {\n const currentRequests = this.data$.getValue();\n this.data$.next([...currentRequests, ...newRequests]);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Observable,\n Subject,\n debounceTime,\n distinctUntilChanged,\n takeUntil,\n} from 'rxjs';\nimport { IDataFilter } from 'verben-ng-ui';\nimport { ErrorResponse, FlowableStatus, QueryParams, SortDirection } from 'verben-workflow-ui/src/lib/models';\nimport { UtilService } from 'verben-workflow-ui/src/lib/services';\nimport { FlowableStatusService } from './flowable-status.service';\nimport { FlowableStatusState } from './flowable-status.state';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FlowableStatusFacade {\n private searchSubject = new Subject<string>();\n private destroy$ = new Subject<void>();\n\n constructor(\n private service: FlowableStatusService,\n private state: FlowableStatusState,\n private utilService: UtilService\n ) {\n this.searchSubject\n .pipe(\n debounceTime(1000),\n distinctUntilChanged(),\n takeUntil(this.destroy$)\n )\n .subscribe((searchTerm) => {\n this.handleSearch(searchTerm);\n });\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<FlowableStatus[]> {\n return this.state.getRequests$();\n }\n\n getQueryParams$(): Observable<QueryParams<FlowableStatus>> {\n return this.state.getQueryParams$();\n }\n\n getSearchTerm$(): Observable<string> {\n return this.state.getSearchTerm$();\n }\n\n // Search handling\n search(term: string): void {\n this.searchSubject.next(term);\n }\n\n private async handleSearch(searchTerm: string): Promise<void> {\n this.state.setSearchTerm(searchTerm);\n this.state.resetPagination();\n\n try {\n this.state.setUpdating(true);\n if (searchTerm.trim()) {\n await this.loadRequestsWithParam(searchTerm);\n } else {\n await this.loadRequests();\n }\n } catch (error) {\n console.error('Search failed:', error);\n throw error;\n } finally {\n this.state.setUpdating(false);\n }\n }\n\n async filter(filterParams: IDataFilter[]): Promise<void> {\n this.state.resetPagination();\n this.state.setFilterParams(filterParams);\n }\n\n addNewRequest(task: FlowableStatus) {\n this.state.addRequest(task);\n }\n\n async loadRequests(): Promise<void> {\n try {\n this.state.setUpdating(true);\n const params = this.state.getQueryParamsValue();\n\n const requests = await this.service.getData(\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:', 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.getFlowableStatusWithParam(\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(params: Partial<QueryParams<FlowableStatus>>): void {\n this.state.updateQueryParams(params);\n }\n\n async addRequest(request: Partial<FlowableStatus>): Promise<void> {\n try {\n this.state.setUpdating(true);\n const newRequest = { ...request } as FlowableStatus;\n\n const response = await this.service.saveFlowableStatuses([newRequest]);\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n this.state.resetPagination();\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 async updateRequest(request: FlowableStatus): Promise<void> {\n try {\n this.state.setUpdating(true);\n const response = await this.service.saveFlowableStatuses([request]);\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\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 // 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\n // Update skip value\n const newSkip = currentParams.skip + currentParams.limit;\n\n // Load and append data\n const response = await this.service.getData(\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 // Load more handling\n async loadData(skip: number, limit: number): Promise<FlowableStatus[] | void> {\n try {\n this.state.setUpdating(true);\n const response = await this.service.getData(\n skip,\n limit,\n 'CreatedDate',\n SortDirection.Desc\n );\n\n if (response instanceof ErrorResponse) {\n this.utilService.showError(response.ErrorMsg);\n return;\n }\n\n return response.Result;\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 {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { CardData } from 'verben-ng-ui';\nimport { FlowableStatus } from 'verben-workflow-ui/src/lib/models';\n\n@Component({\n selector: 'flowable-status-form',\n templateUrl: './flowable-status.form.component.html',\n})\nexport class FlowableStatusFormComponent {\n @Output() onSave = new EventEmitter<Partial<FlowableStatus>>();\n @Output() switchView = new EventEmitter<undefined>();\n\n @Input()\n get currentData(): CardData | null {\n return this._currentData;\n }\n set currentData(value: CardData | null) {\n this._currentData = value;\n if (value?.data) {\n this.form.patchValue({\n Name: value.data.Name || '',\n Description: value.data.Description || '',\n });\n } else {\n this.form.reset();\n }\n }\n\n private _currentData: CardData | null = null;\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder) {\n this.form = this.fb.group({\n Name: ['', { validators: [Validators.required] }],\n Description: ['', { validators: [Validators.required] }],\n });\n }\n\n handleSubmit(): void {\n if (this.form.valid) {\n this.onSave.emit(this.form.value);\n }\n }\n}\n","<form [formGroup]=\"form\" class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n (ngSubmit)=\"handleSubmit()\">\n <verbena-input name=\"Name\" label=\"Name\" formControlName=\"Name\" placeHolder=\"Enter Name\" />\n <verbena-input name=\"Description\" label=\"Description\" formControlName=\"Description\"\n placeHolder=\"Enter Description\" />\n\n <div class=\"flex justify-between gap-4 my-2\">\n <verbena-button (click)=\"switchView.emit()\" text=\"Switch To Table\" styleType=\"ylw-outline\"\n class=\"ml-auto\"></verbena-button>\n <verbena-button type=\"submit\" text=\"Save\" bgColor=\"#FFE681\" textColor=\"#404040\" borderRadius=\"10px\"\n pd=\"10px 20px\" width=\"114px\" height=\"39px\" [disable]=\"form.invalid\"></verbena-button>\n </div>\n</form>\n","import {\n ChangeDetectorRef,\n Component,\n signal,\n WritableSignal,\n} from '@angular/core';\nimport { FormBuilder, Validators } from '@angular/forms';\nimport { CardData, FormGroupConfig } from 'verben-ng-ui';\nimport { FlowableStatus, ObjectState } from 'verben-workflow-ui/src/lib/models';\nimport { BaseDataViewComponent, DataViewConfig } from 'verben-workflow-ui/src/lib/shared';\nimport { columns } from './flowable-status.columns';\nimport { FlowableStatusFacade } from './flowable-status.facade';\n\n@Component({\n selector: 'lib-flowable-status',\n templateUrl: './flowable-status.component.html',\n styleUrl: './flowable-status.component.css',\n})\nexport class FlowableStatusComponent extends BaseDataViewComponent<FlowableStatus> {\n config: DataViewConfig<FlowableStatus> = {\n dataSource: [],\n columns: columns,\n cardDataMapper: (status) => ({\n selected: false,\n title: status.Name,\n data: status,\n body: [\n { title: 'Name', value: status.Name },\n { title: 'Description', value: status.Description },\n ],\n children: [],\n }),\n onDetailView: (status) => {\n // Custom detail view logic\n },\n };\n\n formGroupConfig: WritableSignal<FormGroupConfig<any>>;\n\n constructor(\n private cdr: ChangeDetectorRef,\n private facade: FlowableStatusFacade,\n private fb: FormBuilder\n ) {\n super();\n\n this.loadData = this.loadData.bind(this);\n\n this.formGroupConfig = signal({\n controls: {\n Name: this.fb.control('', [Validators.required]),\n Description: this.fb.control('', [Validators.required]),\n },\n });\n\n this.facade.getRequests$().subscribe((data) => {\n this.data.set(data);\n });\n }\n\n override loadInitialData() {\n try {\n this.facade.loadRequests();\n } catch (error) {\n // Handle error\n }\n }\n\n protected getCardDataByIdentifier(code: string): CardData | undefined {\n return this.cardData()?.find(({ data }) => data.data.Code === code);\n }\n\n async loadMore() {\n try {\n await this.facade.loadMore();\n } catch (error) {\n // Handle error\n }\n }\n\n async onSave(data: Partial<FlowableStatus>) {\n const merged = {\n ...this.currentData?.data,\n ...data,\n } as FlowableStatus;\n // A record is new only when it has no Code yet (the backend always assigns\n // Code on persisted records). Don't trust the loaded DataState here: records\n // returned from the backend come through unchanged and report DataState\n // 'New', which would force an insert (and thus duplicate) on every edit.\n const payload = {\n ...merged,\n DataState: merged.Code ? ObjectState.Changed : ObjectState.New,\n } as FlowableStatus;\n await this.facade.addRequest(payload);\n }\n\n handleSearch(event: { key: string; value: string }) {\n this.facade.search(event.value);\n }\n\n handleFetchedExport({ skip, limit }: any) {\n this.facade.loadData(skip, limit).then((data) => {\n if (data) {\n this.handleExport(data);\n }\n });\n }\n\n async loadData(range: { skip: number; limit: number }) {\n const data = await this.facade.loadData(range.skip, range.limit);\n return data ?? [];\n }\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: FlowableStatus = {\n Name: '',\n Description: '',\n TenantId: '',\n ServiceName: '',\n id: crypto.randomUUID(),\n Id: '',\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n DataState: ObjectState.New,\n Code: '',\n };\n this.data.update((prev) => [newForm, ...prev]);\n // console.log(newForm);\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: true,\n isToggle: true,\n }\" [buttonClass]=\"'my-custom-button-class'\" [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\" [selectedColumnCount]=\"selectedColumnCount\"\n [selectedSortCount]=\"selectedSortCount\" [selectedFilterTableCount]=\"selectedFilterTableCount\"\n (viewChange)=\"onViewChange($event)\" (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\" (createClick)=\"vdv.toggleView()\">\n <div table-content>\n <lib-data-table [data]=\"data()\" [columns]=\"config.columns\" [styleConfig]=\"styles\"\n [formGroupConfig]=\"formGroupConfig()\" (selectionChange)=\"onSelectionChange($event)\"\n (rowSave)=\"onSave($event.data)\">\n <ng-container libColumn=\"date\">\n <ng-template #cell let-row=\"row\" let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"name\">\n <ng-template #cellEdit let-control=\"control\">\n <verbena-input name=\"Name\" [formControl]=\"control\" placeHolder=\"Enter Name\" />\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"description\">\n <ng-template #cellEdit let-control=\"control\">\n <verbena-input name=\"Description\" [formControl]=\"control\" placeHolder=\"Enter Description\" />\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-isEditing=\"isEditing\" let-toggleRowEdit=\"toggleRowEdit\"\n let-deleteRow=\"deleteRow\">\n <div class=\"flex gap-6\">\n <verben-svg (click)=\"toggleRowEdit()\" icon=\"edit\" [width]=\"15\" [height]=\"15\"\n class=\"cursor-pointer\"></verben-svg>\n\n <verben-svg icon=\"delete\" [width]=\"15\" [height]=\"15\" (click)=\"deleteRow()\"\n class=\"cursor-pointer\"></verben-svg>\n </div>\n </ng-template>\n\n <ng-template #cellEdit let-value let-deleteRow let-isEditing=\"isEditing\"\n let-toggleRowEdit=\"toggleRowEdit\" let-row=\"row\" let-rowIndex=\"rowIndex\">\n <div class=\"flex gap-6\">\n <verben-svg (click)=\"toggleRowEdit()\" icon=\"tick\" [width]=\"15\" [height]=\"15\"\n class=\"cursor-pointer\"></verben-svg>\n\n <verben-svg icon=\"delete\" [width]=\"15\" [height]=\"15\" (click)=\"toggleRowEdit()\"\n class=\"cursor-pointer\"></verben-svg>\n </div>\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=\"Id\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\" [cardDataList]=\"cardData()\">\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <div (click)=\"currentData = vdcv.onItemClick(item)\"\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 gap-1\">\n <label for=\"desc\"\n class=\"text-[10px] font-light\">Description:</label>\n <span id=\"desc\" class=\"text-sm\">{{\n item.data.Description\n }}</span>\n </p>\n </div>\n\n <div class=\"grid gap-y-1\">\n <p class=\"grid\">\n <label for=\"name\"\n class=\"text-[10px] font-light text-[#404040]\">Name</label>\n <span id=\"name\" class=\"text-sm font-medium\">{{\n item.data?.Name\n }}</span>\n </p>\n </div>\n </div>\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 <flowable-status-form [currentData]=\"currentData\" (switchView)=\"vdv.toggleView()\"\n (onSave)=\"onSave($event)\"></flowable-status-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 <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()\"\n (sortApplied)=\"onSortUpdated($event)\"></lib-data-sort>\n </div>\n <div export-content>\n <lib-data-xport [columns]=\"config.columns\" [data]=\"data()\" [dataQueryFunction]=\"loadData\">\n </lib-data-xport>\n </div>\n </verben-data-view>\n\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-end\">\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 { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { SharedModule } from 'verben-workflow-ui/src/lib/shared';\nimport { FlowableStatusComponent } from './flowable-status.component';\nimport { FlowableStatusFormComponent } from './flowable-status.form.component';\n\n@NgModule({\n declarations: [FlowableStatusComponent, FlowableStatusFormComponent],\n imports: [CommonModule, SharedModule, RouterLink],\n exports: [FlowableStatusComponent],\n})\nexport class FlowableStatusModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.FlowableStatusService","i2.FlowableStatusState","i3","i1","i2","i1.FlowableStatusFacade","i5.FlowableStatusFormComponent"],"mappings":"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"}
|