mstate-angular 0.2.1 → 0.2.2

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.
Files changed (86) hide show
  1. package/esm2022/lib/action-form/action-form.component.mjs +112 -0
  2. package/esm2022/lib/common/constant.mjs +5 -0
  3. package/esm2022/lib/common/enum.mjs +48 -0
  4. package/esm2022/lib/components/action-card/action-card.component.mjs +23 -0
  5. package/esm2022/lib/components/button/button.component.mjs +12 -0
  6. package/esm2022/lib/components/dropdown/dropdown.component.mjs +47 -0
  7. package/esm2022/lib/components/input-field/input-field.component.mjs +20 -0
  8. package/esm2022/lib/components/loader/loader.component.mjs +12 -0
  9. package/esm2022/lib/components/select/select.component.mjs +47 -0
  10. package/esm2022/lib/input-selector/input-selector.component.mjs +39 -0
  11. package/esm2022/lib/interfaces/api.interface.mjs +2 -0
  12. package/esm2022/lib/interfaces/interface.mjs +2 -0
  13. package/esm2022/lib/mstate-angular/mstate-angular.component.mjs +143 -0
  14. package/esm2022/lib/mstate-angular.helper.mjs +34 -0
  15. package/esm2022/lib/mstate-angular.module.mjs +17 -0
  16. package/esm2022/lib/mstate-angular.service.mjs +50 -0
  17. package/esm2022/mstate-angular.mjs +5 -0
  18. package/esm2022/public-api.mjs +6 -0
  19. package/fesm2022/mstate-angular.mjs +550 -0
  20. package/fesm2022/mstate-angular.mjs.map +1 -0
  21. package/index.d.ts +5 -0
  22. package/lib/action-form/action-form.component.d.ts +26 -0
  23. package/lib/common/constant.d.ts +2 -0
  24. package/lib/common/enum.d.ts +41 -0
  25. package/lib/components/action-card/action-card.component.d.ts +11 -0
  26. package/lib/components/button/button.component.d.ts +5 -0
  27. package/lib/components/dropdown/dropdown.component.d.ts +17 -0
  28. package/lib/components/input-field/input-field.component.d.ts +8 -0
  29. package/lib/components/loader/loader.component.d.ts +5 -0
  30. package/lib/components/select/select.component.d.ts +17 -0
  31. package/lib/input-selector/input-selector.component.d.ts +16 -0
  32. package/{src/lib/interfaces/api.interface.ts → lib/interfaces/api.interface.d.ts} +42 -51
  33. package/lib/interfaces/interface.d.ts +73 -0
  34. package/lib/mstate-angular/mstate-angular.component.d.ts +68 -0
  35. package/lib/mstate-angular.helper.d.ts +11 -0
  36. package/lib/mstate-angular.module.d.ts +8 -0
  37. package/lib/mstate-angular.service.d.ts +17 -0
  38. package/package.json +27 -14
  39. package/{src/public-api.ts → public-api.d.ts} +2 -6
  40. package/ng-package.json +0 -7
  41. package/src/lib/action-form/action-form.component.html +0 -13
  42. package/src/lib/action-form/action-form.component.scss +0 -0
  43. package/src/lib/action-form/action-form.component.spec.ts +0 -23
  44. package/src/lib/action-form/action-form.component.ts +0 -124
  45. package/src/lib/common/constant.ts +0 -4
  46. package/src/lib/common/enum.ts +0 -46
  47. package/src/lib/components/action-card/action-card.component.html +0 -1
  48. package/src/lib/components/action-card/action-card.component.scss +0 -0
  49. package/src/lib/components/action-card/action-card.component.spec.ts +0 -21
  50. package/src/lib/components/action-card/action-card.component.ts +0 -21
  51. package/src/lib/components/button/button.component.html +0 -3
  52. package/src/lib/components/button/button.component.scss +0 -0
  53. package/src/lib/components/button/button.component.spec.ts +0 -21
  54. package/src/lib/components/button/button.component.ts +0 -11
  55. package/src/lib/components/dropdown/dropdown.component.html +0 -10
  56. package/src/lib/components/dropdown/dropdown.component.scss +0 -0
  57. package/src/lib/components/dropdown/dropdown.component.spec.ts +0 -21
  58. package/src/lib/components/dropdown/dropdown.component.ts +0 -46
  59. package/src/lib/components/input-field/input-field.component.html +0 -9
  60. package/src/lib/components/input-field/input-field.component.scss +0 -0
  61. package/src/lib/components/input-field/input-field.component.spec.ts +0 -21
  62. package/src/lib/components/input-field/input-field.component.ts +0 -16
  63. package/src/lib/components/loader/loader.component.html +0 -1
  64. package/src/lib/components/loader/loader.component.scss +0 -0
  65. package/src/lib/components/loader/loader.component.spec.ts +0 -21
  66. package/src/lib/components/loader/loader.component.ts +0 -11
  67. package/src/lib/components/select/select.component.html +0 -10
  68. package/src/lib/components/select/select.component.scss +0 -43
  69. package/src/lib/components/select/select.component.spec.ts +0 -21
  70. package/src/lib/components/select/select.component.ts +0 -46
  71. package/src/lib/input-selector/input-selector.component.html +0 -23
  72. package/src/lib/input-selector/input-selector.component.scss +0 -0
  73. package/src/lib/input-selector/input-selector.component.spec.ts +0 -21
  74. package/src/lib/input-selector/input-selector.component.ts +0 -38
  75. package/src/lib/interfaces/interface.ts +0 -81
  76. package/src/lib/material.scss +0 -439
  77. package/src/lib/mstate-angular/mstate-angular.component.html +0 -40
  78. package/src/lib/mstate-angular/mstate-angular.component.scss +0 -36
  79. package/src/lib/mstate-angular/mstate-angular.component.spec.ts +0 -21
  80. package/src/lib/mstate-angular/mstate-angular.component.ts +0 -186
  81. package/src/lib/mstate-angular.helper.ts +0 -35
  82. package/src/lib/mstate-angular.module.ts +0 -9
  83. package/src/lib/mstate-angular.service.ts +0 -77
  84. package/tsconfig.lib.json +0 -14
  85. package/tsconfig.lib.prod.json +0 -10
  86. package/tsconfig.spec.json +0 -14
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mstate-angular.mjs","sources":["../../../projects/mstate-angular/src/lib/common/enum.ts","../../../projects/mstate-angular/src/lib/common/constant.ts","../../../projects/mstate-angular/src/lib/mstate-angular.helper.ts","../../../projects/mstate-angular/src/lib/mstate-angular.service.ts","../../../projects/mstate-angular/src/lib/components/input-field/input-field.component.ts","../../../projects/mstate-angular/src/lib/components/input-field/input-field.component.html","../../../projects/mstate-angular/src/lib/components/select/select.component.ts","../../../projects/mstate-angular/src/lib/components/select/select.component.html","../../../projects/mstate-angular/src/lib/components/dropdown/dropdown.component.ts","../../../projects/mstate-angular/src/lib/components/dropdown/dropdown.component.html","../../../projects/mstate-angular/src/lib/input-selector/input-selector.component.ts","../../../projects/mstate-angular/src/lib/input-selector/input-selector.component.html","../../../projects/mstate-angular/src/lib/components/button/button.component.ts","../../../projects/mstate-angular/src/lib/components/button/button.component.html","../../../projects/mstate-angular/src/lib/action-form/action-form.component.ts","../../../projects/mstate-angular/src/lib/action-form/action-form.component.html","../../../projects/mstate-angular/src/lib/components/action-card/action-card.component.ts","../../../projects/mstate-angular/src/lib/components/action-card/action-card.component.html","../../../projects/mstate-angular/src/lib/components/loader/loader.component.ts","../../../projects/mstate-angular/src/lib/components/loader/loader.component.html","../../../projects/mstate-angular/src/lib/mstate-angular/mstate-angular.component.ts","../../../projects/mstate-angular/src/lib/mstate-angular/mstate-angular.component.html","../../../projects/mstate-angular/src/lib/mstate-angular.module.ts","../../../projects/mstate-angular/src/public-api.ts","../../../projects/mstate-angular/src/mstate-angular.ts"],"sourcesContent":["export enum Route {\r\n EXECUTE_ACTION = 'workflow/v2/execute',\r\n GET_WORKFLOW_CONFIG = 'workflow/config',\r\n GET_CURRENT_ACTIONS_WITHOUT_INSTANCE = 'workflow/v2/actions',\r\n GET_CURRENT_ACTIONS_WITH_INSTANCE = 'workflow/actions',\r\n}\r\n\r\nexport enum FieldType {\r\n DATE_PICKER = 'datePicker',\r\n TIME_PICKER = 'timePicker',\r\n INPUT_FIELD = 'inputField',\r\n TEXT_AREA = 'textArea',\r\n CHECKBOX = 'checkBox',\r\n RADIO_LIST = 'radioList',\r\n DROP_DOWN = 'dropDown',\r\n SUMMARY = 'summary',\r\n CONTEXT_FIELD = 'CONTEXT_FIELD',\r\n CUSTOM_FIELD = 'CUSTOM_FIELD',\r\n}\r\n\r\nexport enum ManualStepModule {\r\n CONTEXT_FIELD = 'CONTEXT_FIELD',\r\n CUSTOM_FIELD = 'CUSTOM_FIELD',\r\n USER_INPUT = 'USER_INPUT',\r\n}\r\n\r\nexport enum Theme {\r\n DARK = 'dark',\r\n LIGHT = 'light',\r\n SYSTEM = 'system',\r\n}\r\n\r\nexport enum Variable {\r\n WORKFLOW = 'workflow',\r\n TOKEN = 'token',\r\n INSTANCE_ID = 'instanceID',\r\n START = 'start',\r\n TRIGGER_AGAIN = 'triggerAgain',\r\n ERRORS = 'errors',\r\n}\r\n\r\nexport enum ActionType {\r\n MANUAL = 'MANUAL',\r\n AUTO = 'AUTO',\r\n CHAINED = 'CHAINED',\r\n}\r\n","// export const MSTATE_URL = 'https://dev.mstate.mobioffice.io/api';\r\n// export const MSTATE_URL = 'http://localhost:3000/api';\r\nexport const MSTATE_URL = 'https://api.mstate.mobioffice.io/api';\r\nexport const TOKEN_KEY = 'secret-key';\r\n","import { Injectable, SimpleChanges } from '@angular/core';\r\nimport { Step, UserInput } from './interfaces/interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MstateAngularHelper {\r\n detectChange(change: SimpleChanges, keys: string[]) {\r\n for (const key of keys) {\r\n if (change[key] && change[key].currentValue !== change[key].previousValue)\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n formatString(str: string = '') {\r\n return str.toUpperCase().replace(/_/gi, ' ');\r\n }\r\n\r\n getObjectValue<T>(obj: any, target: string) {\r\n const keys = target ? target.split('.') : [];\r\n\r\n let cur: any = obj;\r\n for (const key of keys) {\r\n cur = cur?.[key];\r\n }\r\n\r\n return cur as T | undefined;\r\n }\r\n\r\n checkIsStep(step: Step | UserInput): step is Step {\r\n return (step as Step)?.config !== undefined;\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { MSTATE_URL, TOKEN_KEY } from './common/constant';\r\nimport { Route } from './common/enum';\r\n\r\nimport {\r\n GetCurrentActionsWithInstanceIDRequest,\r\n GetCurrentActionsWithoutInstanceIDRequest,\r\n GetCurrentActionsWithoutInstanceIDResponse,\r\n MstateResponse,\r\n PostExecuteActionRequest,\r\n PostExecuteActionResponse,\r\n} from './interfaces/api.interface';\r\nimport axios, { AxiosRequestConfig } from 'axios';\r\nimport { ListMapper } from './interfaces/interface';\r\nimport { MstateAngularHelper } from './mstate-angular.helper';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MstateAngularService {\r\n private getHeaders(token: string) {\r\n return new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n [TOKEN_KEY]: token,\r\n });\r\n }\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private mstateHelper: MstateAngularHelper\r\n ) {}\r\n\r\n executeAction<T>(payload: PostExecuteActionRequest<T>) {\r\n return this.http.post<MstateResponse<PostExecuteActionResponse>>(\r\n `${MSTATE_URL}/${Route.EXECUTE_ACTION}`,\r\n {\r\n instanceID: payload.instanceID ?? '',\r\n name: payload.workflow,\r\n action: payload.action,\r\n },\r\n { headers: this.getHeaders(payload.token) }\r\n );\r\n }\r\n\r\n getCurrentActionsWithInstanceID(\r\n payload: GetCurrentActionsWithInstanceIDRequest\r\n ) {\r\n return this.http.get<\r\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\r\n >(\r\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITH_INSTANCE}/${payload.instanceID}`,\r\n {\r\n headers: this.getHeaders(payload.token),\r\n }\r\n );\r\n }\r\n\r\n getCurrentActionsWithoutInstanceID(\r\n payload: GetCurrentActionsWithoutInstanceIDRequest\r\n ) {\r\n return this.http.get<\r\n MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>\r\n >(\r\n `${MSTATE_URL}/${Route.GET_CURRENT_ACTIONS_WITHOUT_INSTANCE}?name=${payload.workflow}`,\r\n {\r\n headers: this.getHeaders(payload.token),\r\n }\r\n );\r\n }\r\n\r\n async handleDropdownAPI(request: AxiosRequestConfig, target: string) {\r\n const { data } = await axios(request);\r\n\r\n return this.mstateHelper.getObjectValue<any>(data, target) ?? [];\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'mobi-office-input-field',\n standalone: true,\n imports: [CommonModule, FormsModule],\n templateUrl: './input-field.component.html',\n styleUrl: './input-field.component.scss',\n})\nexport class InputFieldComponent {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: any;\n}\n","<div class=\"form-group\">\n <label>{{ config.label }}</label>\n <input\n [type]=\"config.inputType\"\n [name]=\"config.field.keyForAPI\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n class=\"form-control\" />\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormsModule } from '@angular/forms';\nimport { MstateAngularService } from '../../mstate-angular.service';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@Component({\n selector: 'mobi-office-select',\n standalone: true,\n imports: [FormsModule, NgSelectModule, CommonModule],\n providers: [MstateAngularService],\n templateUrl: './select.component.html',\n styleUrl: './select.component.scss',\n})\nexport class SelectComponent implements OnInit {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: any;\n\n constructor(\n private mstateService: MstateAngularService,\n private mstateHelper: MstateAngularHelper\n ) {}\n\n protected list: any[] = [];\n\n ngOnInit(): void {\n const field = this.config.field ?? {};\n\n if (field.request) {\n this.mstateService\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\n .then((data) => {\n this.list = data;\n })\n .catch((e) => console.log(e));\n } else {\n this.list = field.itemList ?? [];\n }\n }\n\n getObjectValue(obj: any, target: string) {\n return this.mstateHelper.getObjectValue(obj, target);\n }\n}\n","<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserInput } from '../../interfaces/interface';\nimport { FormsModule } from '@angular/forms';\nimport { MstateAngularService } from '../../mstate-angular.service';\nimport { MstateAngularHelper } from '../../mstate-angular.helper';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\n@Component({\n selector: 'mobi-office-dropdown',\n standalone: true,\n imports: [FormsModule, NgSelectModule, CommonModule],\n providers: [MstateAngularService],\n templateUrl: './dropdown.component.html',\n styleUrl: './dropdown.component.scss',\n})\nexport class DropdownComponent implements OnInit {\n @Input({ required: true }) config!: UserInput;\n @Input({ required: true }) mstateModel!: any;\n\n constructor(\n private mstateService: MstateAngularService,\n private mstateHelper: MstateAngularHelper\n ) {}\n\n protected list: any[] = [];\n\n ngOnInit(): void {\n const field = this.config.field ?? {};\n\n if (field.request) {\n this.mstateService\n .handleDropdownAPI(field.request, field?.mapper?.target ?? '')\n .then((data) => {\n this.list = data;\n })\n .catch((e) => console.log(e));\n } else {\n this.list = field.itemList ?? [];\n }\n }\n\n getObjectValue(obj: any, target: string) {\n return this.mstateHelper.getObjectValue(obj, target);\n }\n}\n","<div class=\"form-group\">\n <ng-select\n [items]=\"list\"\n [multiple]=\"config.field.placeholder\"\n [bindLabel]=\"this.config.field.mapper?.label ?? 'label'\"\n [placeholder]=\"config.field.placeholder\"\n [(ngModel)]=\"mstateModel[config.field.keyForAPI]\"\n >\n </ng-select>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Step, UserInput } from '../interfaces/interface';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { FieldType } from '../common/enum';\nimport { InputFieldComponent } from '../components/input-field/input-field.component';\nimport { SelectComponent } from '../components/select/select.component';\nimport { DropdownComponent } from '../components/dropdown/dropdown.component';\n\n@Component({\n selector: 'mobi-office-input-selector',\n standalone: true,\n imports: [\n CommonModule,\n InputFieldComponent,\n SelectComponent,\n DropdownComponent,\n ],\n providers: [MstateAngularHelper, MstateAngularService],\n templateUrl: './input-selector.component.html',\n styleUrl: './input-selector.component.scss',\n})\nexport class InputSelectorComponent implements OnInit {\n @Input({ required: true }) step!: UserInput | Step;\n @Input({ required: true }) mstateModel!: any;\n\n constructor(private mstateHelper: MstateAngularHelper) {}\n\n protected config!: UserInput;\n protected FieldType = FieldType;\n\n ngOnInit(): void {\n this.config = this.mstateHelper.checkIsStep(this.step)\n ? this.step?.config?.data\n : this.step;\n }\n}\n","@switch (config.fieldType) {\n @case (FieldType.INPUT_FIELD) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.TEXT_AREA) {\n <mobi-office-input-field [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n\n @case (FieldType.DROP_DOWN) {\n <mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n @case (FieldType.RADIO_LIST) {\n <mobi-office-dropdown [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n\n @case (FieldType.CHECKBOX) {\n <mobi-office-select [config]=\"config\" [mstateModel]=\"mstateModel\" />\n }\n\n @default {\n <p>Step Left to handle</p>\n }\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mobi-office-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n})\nexport class ButtonComponent {}\n","<button>\n <ng-content></ng-content>\n</button>\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { MstateAngularService } from '../mstate-angular.service';\r\nimport { catchError, finalize } from 'rxjs';\r\nimport { ActionConfig, UserInput } from '../interfaces/interface';\r\nimport { EvaluatedAction } from '../interfaces/api.interface';\r\nimport { ActionType, ManualStepModule } from '../common/enum';\r\nimport { InputSelectorComponent } from '../input-selector/input-selector.component';\r\nimport { ButtonComponent } from '../components/button/button.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MstateAngularHelper } from '../mstate-angular.helper';\r\n\r\n@Component({\r\n selector: 'lib-action-form',\r\n standalone: true,\r\n imports: [FormsModule, InputSelectorComponent, ButtonComponent],\r\n providers: [MstateAngularService, MstateAngularHelper],\r\n templateUrl: './action-form.component.html',\r\n styleUrl: './action-form.component.scss',\r\n})\r\nexport class ActionFormComponent implements OnInit, OnChanges {\r\n @Input({ required: true }) token: string = '';\r\n @Input({ required: true }) workflow: string = '';\r\n @Input({ required: true }) config: ActionConfig | EvaluatedAction = {\r\n name: '',\r\n type: ActionType.MANUAL,\r\n steps: [],\r\n };\r\n @Input({ required: true }) onExecuteAction: (\r\n response: any,\r\n errors?: string[]\r\n ) => void = () => {};\r\n @Input() updateCustomFieldValue?: (key: string) => unknown;\r\n\r\n @Input() instanceID?: string;\r\n @Input() onSuccess?: (actionName: string) => void;\r\n\r\n //#region Custom Declaration\r\n protected isLoading = true;\r\n protected mstateModel: any = {};\r\n\r\n constructor(\r\n private mstateAngularService: MstateAngularService,\r\n private mstateAngularHelper: MstateAngularHelper\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (Boolean(this.config?.steps?.length) === false) {\r\n this.handleExecuteAction();\r\n return;\r\n }\r\n\r\n this.handleStepConfigFilter();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n console.log({ changes });\r\n if (this.mstateAngularHelper.detectChange(changes, ['mstateModel'])) {\r\n }\r\n }\r\n\r\n //#region handlers\r\n\r\n protected handleExecuteAction() {\r\n this.isLoading = true;\r\n console.log(this.mstateModel);\r\n // this.mstateAngularService\r\n // .executeAction({\r\n // action: {\r\n // name: this.config.name,\r\n // payload: this.mstateModel,\r\n // },\r\n // token: this.token,\r\n // workflow: this.workflow,\r\n // })\r\n // .pipe(\r\n // catchError(e => {\r\n // throw e;\r\n // }),\r\n // finalize(() => {\r\n // this.isLoading = false;\r\n // })\r\n // )\r\n // .subscribe(data => {\r\n // this.onExecuteAction(data.data);\r\n // });\r\n }\r\n\r\n private handleStepConfigFilter = () => {\r\n const keyForAPISet = new Set();\r\n\r\n this.config.steps = this.config?.steps?.filter(stepConfig => {\r\n const step = stepConfig as UserInput;\r\n\r\n switch (step?.module) {\r\n case ManualStepModule.CUSTOM_FIELD: {\r\n if (this.updateCustomFieldValue) {\r\n this.mstateModel[step?.context?.as] = this.updateCustomFieldValue(\r\n step?.context?.key\r\n );\r\n }\r\n return true;\r\n }\r\n\r\n case ManualStepModule.CONTEXT_FIELD:\r\n this.mstateModel[step?.context?.as] = step?.context?.value;\r\n return true;\r\n\r\n default: {\r\n const isDuplicate = keyForAPISet.has(step?.field?.keyForAPI);\r\n keyForAPISet.add(step?.field?.keyForAPI);\r\n return isDuplicate === false;\r\n }\r\n }\r\n }) as UserInput[];\r\n };\r\n\r\n //#endregion\r\n}\r\n","<div>\r\n <h4>{{ config.meta?.title ?? config.name }}</h4>\r\n\r\n <form #userForm=\"ngForm\">\r\n @for (step of config.steps; track $index) {\r\n <mobi-office-input-selector [step]=\"step\" [mstateModel]=\"mstateModel\" />\r\n }\r\n </form>\r\n\r\n <mobi-office-button (click)=\"handleExecuteAction()\"\r\n >Submit</mobi-office-button\r\n >\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EvaluatedAction } from '../../interfaces/api.interface';\nimport { ActionConfig } from '../../interfaces/interface';\n\n@Component({\n selector: 'mobi-office-action-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './action-card.component.html',\n styleUrl: './action-card.component.scss',\n})\nexport class ActionCardComponent {\n @Input({ required: true }) error?: EvaluatedAction | ActionConfig;\n\n @Output() retryEmitter = new EventEmitter<EvaluatedAction | ActionConfig>();\n\n handleRetry() {\n this.retryEmitter.emit(this.error);\n }\n}\n","<p>action-card works!</p>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mobi-office-loader',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './loader.component.html',\n styleUrl: './loader.component.scss',\n})\nexport class LoaderComponent {}\n","<p>Loading...</p>\n","import {\n Component,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Theme, Variable } from '../common/enum';\nimport { ActionFormComponent } from '../action-form/action-form.component';\nimport { MstateAngularHelper } from '../mstate-angular.helper';\nimport { MstateAngularService } from '../mstate-angular.service';\nimport { catchError, finalize } from 'rxjs';\nimport { EvaluatedAction } from '../interfaces/api.interface';\nimport { ActionConfig } from '../interfaces/interface';\nimport { ActionCardComponent } from '../components/action-card/action-card.component';\nimport { LoaderComponent } from '../components/loader/loader.component';\n\n@Component({\n selector: 'mstate-angular',\n standalone: true,\n imports: [\n CommonModule,\n ActionFormComponent,\n ActionCardComponent,\n LoaderComponent,\n ],\n providers: [MstateAngularHelper, MstateAngularService],\n templateUrl: './mstate-angular.component.html',\n styleUrl: './mstate-angular.component.scss',\n})\nexport class MstateAngularComponent implements OnChanges, OnInit {\n @Input({ required: true }) token: string = '';\n @Input({ required: true }) workflow: string = '';\n @Input() instanceID?: string;\n /**\n * @type {boolean}\n * @default true\n * @description Trigger if to start workflow.\n */\n @Input() start: boolean = true;\n /**\n * @type {'dark' | 'light' | 'system'}\n * @default 'light'\n * @description To change the color theme of mstate.\n */\n @Input() theme?: Theme;\n /**\n * @type {string}\n * @description To Validate who are allowed to perform or see action.\n */\n @Input() who?: string;\n /**\n * Triggers whenever your current workflow moved to other.\n * @param {string} newInstanceID - The new instance ID on which your current workflow moved.\n * @returns {void}.\n */\n @Input() onInstanceChange?: (newInstanceID: string) => void;\n /**\n * Triggers when The Action execution is completed.\n * @param {string} actionName - action name which you have executed at this moment.\n * @returns {void}.\n */\n @Input() onSuccess?: (actionName: string) => void;\n /**\n * Triggers when Error occurs while performing any action.\n * @param {unknown[]} errors - Error response from the api call done by Mstate.\n * @returns {void}.\n */\n @Input() onError?: (errors: unknown[]) => void;\n /**\n * Handles your steps which contain Custom field module.\n * @param {string} key - Which key you expect for getting the value.\n * @returns {unknown} - whatever value you want to save in that custom field.\n */\n @Input() handleCustomField?: (key: string) => unknown;\n\n //#region Variables & Events\n\n protected isLoading = true;\n protected triggerAgain = false;\n protected errors: any[] = [];\n protected errorMessages: string[] = [];\n protected allowedActions: (EvaluatedAction | ActionConfig)[] = [];\n\n constructor(\n private mstateAngularHelper: MstateAngularHelper,\n private mstateAngularService: MstateAngularService\n ) {}\n\n ngOnInit(): void {\n if (this.start) this.setAllowedActions();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n this.mstateAngularHelper.detectChange(changes, [\n Variable.START,\n Variable.TRIGGER_AGAIN,\n ])\n ) {\n if (this.start) this.setAllowedActions();\n }\n\n if (this.mstateAngularHelper.detectChange(changes, [Variable.ERRORS])) {\n console.log({ mstateErrors: this.errors });\n this.errorMessages = this.errors.filter((e) => typeof e === 'string');\n }\n }\n\n //#endregion\n\n //#region Handlers\n\n private setAllowedActions() {\n this.isLoading = true;\n\n if (this.instanceID) {\n this.mstateAngularService\n .getCurrentActionsWithInstanceID({\n instanceID: this.instanceID,\n token: this.token,\n })\n .pipe(\n catchError((err: any) => {\n console.log(err);\n throw err;\n }),\n finalize(() => {\n this.isLoading = false;\n })\n )\n .subscribe((data) => {\n this.allowedActions = Object.values(data.data);\n });\n } else {\n this.mstateAngularService\n .getCurrentActionsWithoutInstanceID({\n workflow: this.workflow,\n token: this.token,\n })\n .pipe(\n catchError((err: any) => {\n console.log(err);\n throw err;\n }),\n finalize(() => {\n this.isLoading = false;\n })\n )\n .subscribe((data) => {\n this.allowedActions = Object.values(data.data);\n });\n }\n }\n\n handleExecuteAction(value: any, errors?: string[]) {\n if (errors?.length) {\n this.errors = errors;\n value.instanceID = errors[0]\n ?.split(\"instanceID='\")\n ?.pop()\n ?.replace(\"'\", '');\n } else {\n this.allowedActions = value.actions;\n }\n\n if (\n value?.instanceID &&\n value?.instanceID !== this.instanceID &&\n !errors?.length\n ) {\n this.instanceID = value?.instanceID;\n\n if (this.onInstanceChange) {\n this.onInstanceChange(value?.instanceID);\n }\n }\n }\n\n handleError(config: ActionConfig) {\n this.allowedActions = [config];\n }\n\n //#endregion\n}\n","<div class=\"mstate-angular\">\n <img\n src=\"https://firebasestorage.googleapis.com/v0/b/mobioffice-dev.appspot.com/o/companies_logo%2Flogo.png?alt=media&token=e5f238f0-c373-4c76-9168-37fbe7da1de0\"\n alt=\"logo\"\n width=\"100%\"\n class=\"logo\" />\n\n @if (isLoading) {\n <mobi-office-loader></mobi-office-loader>\n } @else if (errorMessages.length) {\n @for (message of errorMessages; track message) {\n <p>\n {{ message }}\n </p>\n }\n } @else {\n @switch (allowedActions.length) {\n @case (0) {\n <h1>Workflow Ended</h1>\n }\n @case (1) {\n <lib-action-form\n [workflow]=\"workflow\"\n [token]=\"token\"\n [instanceID]=\"instanceID\"\n [config]=\"allowedActions[0]\"\n [onExecuteAction]=\"handleExecuteAction\"\n [updateCustomFieldValue]=\"handleCustomField\"\n [onSuccess]=\"onSuccess\"></lib-action-form>\n }\n @default {\n @for (item of allowedActions; track $index) {\n <mobi-office-action-card\n [error]=\"item\"\n (retryEmitter)=\"handleError($event)\"></mobi-office-action-card>\n }\n }\n }\n }\n</div>\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MstateAngularComponent } from './mstate-angular/mstate-angular.component';\r\n\r\n@NgModule({\r\n imports: [CommonModule, MstateAngularComponent], // Import other necessary modules like CommonModule\r\n exports: [MstateAngularComponent], // Export the pipe so it can be used externally\r\n})\r\nexport class MstateAngularModule {}\r\n","/*\r\n * Public API Surface of mstate-angular\r\n */\r\n\r\nexport * from './lib/mstate-angular/mstate-angular.component';\r\nexport * from './lib/mstate-angular.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.MstateAngularHelper","i1","i1.MstateAngularService","i1.MstateAngularHelper","i2.MstateAngularService"],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="mstate-angular" />
5
+ export * from './public-api';
@@ -0,0 +1,26 @@
1
+ import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { MstateAngularService } from '../mstate-angular.service';
3
+ import { ActionConfig } from '../interfaces/interface';
4
+ import { EvaluatedAction } from '../interfaces/api.interface';
5
+ import { MstateAngularHelper } from '../mstate-angular.helper';
6
+ import * as i0 from "@angular/core";
7
+ export declare class ActionFormComponent implements OnInit, OnChanges {
8
+ private mstateAngularService;
9
+ private mstateAngularHelper;
10
+ token: string;
11
+ workflow: string;
12
+ config: ActionConfig | EvaluatedAction;
13
+ onExecuteAction: (response: any, errors?: string[]) => void;
14
+ updateCustomFieldValue?: (key: string) => unknown;
15
+ instanceID?: string;
16
+ onSuccess?: (actionName: string) => void;
17
+ protected isLoading: boolean;
18
+ protected mstateModel: any;
19
+ constructor(mstateAngularService: MstateAngularService, mstateAngularHelper: MstateAngularHelper);
20
+ ngOnInit(): void;
21
+ ngOnChanges(changes: SimpleChanges): void;
22
+ protected handleExecuteAction(): void;
23
+ private handleStepConfigFilter;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<ActionFormComponent, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<ActionFormComponent, "lib-action-form", never, { "token": { "alias": "token"; "required": true; }; "workflow": { "alias": "workflow"; "required": true; }; "config": { "alias": "config"; "required": true; }; "onExecuteAction": { "alias": "onExecuteAction"; "required": true; }; "updateCustomFieldValue": { "alias": "updateCustomFieldValue"; "required": false; }; "instanceID": { "alias": "instanceID"; "required": false; }; "onSuccess": { "alias": "onSuccess"; "required": false; }; }, {}, never, never, true, never>;
26
+ }
@@ -0,0 +1,2 @@
1
+ export declare const MSTATE_URL = "https://api.mstate.mobioffice.io/api";
2
+ export declare const TOKEN_KEY = "secret-key";
@@ -0,0 +1,41 @@
1
+ export declare enum Route {
2
+ EXECUTE_ACTION = "workflow/v2/execute",
3
+ GET_WORKFLOW_CONFIG = "workflow/config",
4
+ GET_CURRENT_ACTIONS_WITHOUT_INSTANCE = "workflow/v2/actions",
5
+ GET_CURRENT_ACTIONS_WITH_INSTANCE = "workflow/actions"
6
+ }
7
+ export declare enum FieldType {
8
+ DATE_PICKER = "datePicker",
9
+ TIME_PICKER = "timePicker",
10
+ INPUT_FIELD = "inputField",
11
+ TEXT_AREA = "textArea",
12
+ CHECKBOX = "checkBox",
13
+ RADIO_LIST = "radioList",
14
+ DROP_DOWN = "dropDown",
15
+ SUMMARY = "summary",
16
+ CONTEXT_FIELD = "CONTEXT_FIELD",
17
+ CUSTOM_FIELD = "CUSTOM_FIELD"
18
+ }
19
+ export declare enum ManualStepModule {
20
+ CONTEXT_FIELD = "CONTEXT_FIELD",
21
+ CUSTOM_FIELD = "CUSTOM_FIELD",
22
+ USER_INPUT = "USER_INPUT"
23
+ }
24
+ export declare enum Theme {
25
+ DARK = "dark",
26
+ LIGHT = "light",
27
+ SYSTEM = "system"
28
+ }
29
+ export declare enum Variable {
30
+ WORKFLOW = "workflow",
31
+ TOKEN = "token",
32
+ INSTANCE_ID = "instanceID",
33
+ START = "start",
34
+ TRIGGER_AGAIN = "triggerAgain",
35
+ ERRORS = "errors"
36
+ }
37
+ export declare enum ActionType {
38
+ MANUAL = "MANUAL",
39
+ AUTO = "AUTO",
40
+ CHAINED = "CHAINED"
41
+ }
@@ -0,0 +1,11 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { EvaluatedAction } from '../../interfaces/api.interface';
3
+ import { ActionConfig } from '../../interfaces/interface';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ActionCardComponent {
6
+ error?: EvaluatedAction | ActionConfig;
7
+ retryEmitter: EventEmitter<ActionConfig | EvaluatedAction>;
8
+ handleRetry(): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<ActionCardComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<ActionCardComponent, "mobi-office-action-card", never, { "error": { "alias": "error"; "required": true; }; }, { "retryEmitter": "retryEmitter"; }, never, never, true, never>;
11
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ButtonComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "mobi-office-button", never, {}, {}, never, ["*"], true, never>;
5
+ }
@@ -0,0 +1,17 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { UserInput } from '../../interfaces/interface';
3
+ import { MstateAngularService } from '../../mstate-angular.service';
4
+ import { MstateAngularHelper } from '../../mstate-angular.helper';
5
+ import * as i0 from "@angular/core";
6
+ export declare class DropdownComponent implements OnInit {
7
+ private mstateService;
8
+ private mstateHelper;
9
+ config: UserInput;
10
+ mstateModel: any;
11
+ constructor(mstateService: MstateAngularService, mstateHelper: MstateAngularHelper);
12
+ protected list: any[];
13
+ ngOnInit(): void;
14
+ getObjectValue(obj: any, target: string): unknown;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "mobi-office-dropdown", never, { "config": { "alias": "config"; "required": true; }; "mstateModel": { "alias": "mstateModel"; "required": true; }; }, {}, never, never, true, never>;
17
+ }
@@ -0,0 +1,8 @@
1
+ import { UserInput } from '../../interfaces/interface';
2
+ import * as i0 from "@angular/core";
3
+ export declare class InputFieldComponent {
4
+ config: UserInput;
5
+ mstateModel: any;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputFieldComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputFieldComponent, "mobi-office-input-field", never, { "config": { "alias": "config"; "required": true; }; "mstateModel": { "alias": "mstateModel"; "required": true; }; }, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class LoaderComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoaderComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoaderComponent, "mobi-office-loader", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,17 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { UserInput } from '../../interfaces/interface';
3
+ import { MstateAngularService } from '../../mstate-angular.service';
4
+ import { MstateAngularHelper } from '../../mstate-angular.helper';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SelectComponent implements OnInit {
7
+ private mstateService;
8
+ private mstateHelper;
9
+ config: UserInput;
10
+ mstateModel: any;
11
+ constructor(mstateService: MstateAngularService, mstateHelper: MstateAngularHelper);
12
+ protected list: any[];
13
+ ngOnInit(): void;
14
+ getObjectValue(obj: any, target: string): unknown;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "mobi-office-select", never, { "config": { "alias": "config"; "required": true; }; "mstateModel": { "alias": "mstateModel"; "required": true; }; }, {}, never, never, true, never>;
17
+ }
@@ -0,0 +1,16 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { Step, UserInput } from '../interfaces/interface';
3
+ import { MstateAngularHelper } from '../mstate-angular.helper';
4
+ import { FieldType } from '../common/enum';
5
+ import * as i0 from "@angular/core";
6
+ export declare class InputSelectorComponent implements OnInit {
7
+ private mstateHelper;
8
+ step: UserInput | Step;
9
+ mstateModel: any;
10
+ constructor(mstateHelper: MstateAngularHelper);
11
+ protected config: UserInput;
12
+ protected FieldType: typeof FieldType;
13
+ ngOnInit(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputSelectorComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputSelectorComponent, "mobi-office-input-selector", never, { "step": { "alias": "step"; "required": true; }; "mstateModel": { "alias": "mstateModel"; "required": true; }; }, {}, never, never, true, never>;
16
+ }
@@ -1,51 +1,42 @@
1
- import { ActionConfig, UserInput, Workflow } from './interface';
2
-
3
- export interface GetWorkflowRequest {
4
- workflow: string;
5
- token: string;
6
- }
7
-
8
- export interface GetCurrentActionsWithoutInstanceIDRequest {
9
- workflow: string;
10
- token: string;
11
- }
12
-
13
- export interface GetCurrentActionsWithInstanceIDRequest {
14
- instanceID: string;
15
- token: string;
16
- }
17
-
18
- export interface PostExecuteActionRequest<T> {
19
- instanceID?: string;
20
- token: string;
21
- workflow: string;
22
- action: {
23
- name: string;
24
- payload: T;
25
- };
26
- }
27
-
28
- export interface GetWorkflowResponse {
29
- data: Workflow;
30
- }
31
-
32
- export interface GetCurrentActionsWithoutInstanceIDResponse {
33
- [actionName: string]: ActionConfig;
34
- }
35
-
36
- export interface EvaluatedAction extends ActionConfig {
37
- steps: UserInput[];
38
- }
39
-
40
- export interface GetCurrentActionsWithInstanceIDResponse {
41
- [actionName: string]: EvaluatedAction;
42
- }
43
-
44
- export interface PostExecuteActionResponse {}
45
-
46
- export interface MstateResponse<T = any> {
47
- data: T;
48
- path: string;
49
- statusCode: number;
50
- timestamp: Date;
51
- }
1
+ import { ActionConfig, UserInput, Workflow } from './interface';
2
+ export interface GetWorkflowRequest {
3
+ workflow: string;
4
+ token: string;
5
+ }
6
+ export interface GetCurrentActionsWithoutInstanceIDRequest {
7
+ workflow: string;
8
+ token: string;
9
+ }
10
+ export interface GetCurrentActionsWithInstanceIDRequest {
11
+ instanceID: string;
12
+ token: string;
13
+ }
14
+ export interface PostExecuteActionRequest<T> {
15
+ instanceID?: string;
16
+ token: string;
17
+ workflow: string;
18
+ action: {
19
+ name: string;
20
+ payload: T;
21
+ };
22
+ }
23
+ export interface GetWorkflowResponse {
24
+ data: Workflow;
25
+ }
26
+ export interface GetCurrentActionsWithoutInstanceIDResponse {
27
+ [actionName: string]: ActionConfig;
28
+ }
29
+ export interface EvaluatedAction extends ActionConfig {
30
+ steps: UserInput[];
31
+ }
32
+ export interface GetCurrentActionsWithInstanceIDResponse {
33
+ [actionName: string]: EvaluatedAction;
34
+ }
35
+ export interface PostExecuteActionResponse {
36
+ }
37
+ export interface MstateResponse<T = any> {
38
+ data: T;
39
+ path: string;
40
+ statusCode: number;
41
+ timestamp: Date;
42
+ }
@@ -0,0 +1,73 @@
1
+ import { AxiosRequestConfig } from 'axios';
2
+ import { ActionType, FieldType, ManualStepModule } from '../common/enum';
3
+ export interface Workflow {
4
+ name: string;
5
+ version: string;
6
+ meta?: unknown;
7
+ maxChainCount: number;
8
+ states: State[];
9
+ }
10
+ export interface State {
11
+ name: string;
12
+ actions: Action[];
13
+ }
14
+ export interface Action {
15
+ name: string;
16
+ on: {
17
+ [key: string]: {
18
+ name: string;
19
+ type: 'ACTION' | 'STATE';
20
+ };
21
+ };
22
+ }
23
+ export interface ActionConfig {
24
+ name: string;
25
+ as?: string;
26
+ who?: string[];
27
+ type: ActionType;
28
+ meta?: any;
29
+ steps: Step[] | UserInput[];
30
+ }
31
+ export interface Step {
32
+ id: string;
33
+ module: string;
34
+ config: {
35
+ data: UserInput;
36
+ };
37
+ }
38
+ export interface SelectOptions {
39
+ id: string | number;
40
+ label: string;
41
+ }
42
+ export interface ListMapper {
43
+ id: string;
44
+ label: string;
45
+ target: string;
46
+ page?: number;
47
+ limit?: number;
48
+ }
49
+ export interface UserInput {
50
+ id: string;
51
+ module: ManualStepModule;
52
+ buttonActionText: string;
53
+ fieldType: FieldType;
54
+ field: {
55
+ keyForAPI: string;
56
+ isRequired: boolean;
57
+ label: string;
58
+ value: string;
59
+ placeholder: string;
60
+ multiple?: boolean;
61
+ request?: AxiosRequestConfig;
62
+ mapper?: ListMapper;
63
+ itemList?: (SelectOptions | any)[];
64
+ };
65
+ label: string;
66
+ context: any;
67
+ inputType?: 'text' | 'number' | 'date' | 'time' | 'password';
68
+ order: number;
69
+ minLength?: number;
70
+ maxLength?: number;
71
+ export?: (value: any) => any;
72
+ customValidation?: (value: any) => boolean;
73
+ }
@@ -0,0 +1,68 @@
1
+ import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { Theme } from '../common/enum';
3
+ import { MstateAngularHelper } from '../mstate-angular.helper';
4
+ import { MstateAngularService } from '../mstate-angular.service';
5
+ import { EvaluatedAction } from '../interfaces/api.interface';
6
+ import { ActionConfig } from '../interfaces/interface';
7
+ import * as i0 from "@angular/core";
8
+ export declare class MstateAngularComponent implements OnChanges, OnInit {
9
+ private mstateAngularHelper;
10
+ private mstateAngularService;
11
+ token: string;
12
+ workflow: string;
13
+ instanceID?: string;
14
+ /**
15
+ * @type {boolean}
16
+ * @default true
17
+ * @description Trigger if to start workflow.
18
+ */
19
+ start: boolean;
20
+ /**
21
+ * @type {'dark' | 'light' | 'system'}
22
+ * @default 'light'
23
+ * @description To change the color theme of mstate.
24
+ */
25
+ theme?: Theme;
26
+ /**
27
+ * @type {string}
28
+ * @description To Validate who are allowed to perform or see action.
29
+ */
30
+ who?: string;
31
+ /**
32
+ * Triggers whenever your current workflow moved to other.
33
+ * @param {string} newInstanceID - The new instance ID on which your current workflow moved.
34
+ * @returns {void}.
35
+ */
36
+ onInstanceChange?: (newInstanceID: string) => void;
37
+ /**
38
+ * Triggers when The Action execution is completed.
39
+ * @param {string} actionName - action name which you have executed at this moment.
40
+ * @returns {void}.
41
+ */
42
+ onSuccess?: (actionName: string) => void;
43
+ /**
44
+ * Triggers when Error occurs while performing any action.
45
+ * @param {unknown[]} errors - Error response from the api call done by Mstate.
46
+ * @returns {void}.
47
+ */
48
+ onError?: (errors: unknown[]) => void;
49
+ /**
50
+ * Handles your steps which contain Custom field module.
51
+ * @param {string} key - Which key you expect for getting the value.
52
+ * @returns {unknown} - whatever value you want to save in that custom field.
53
+ */
54
+ handleCustomField?: (key: string) => unknown;
55
+ protected isLoading: boolean;
56
+ protected triggerAgain: boolean;
57
+ protected errors: any[];
58
+ protected errorMessages: string[];
59
+ protected allowedActions: (EvaluatedAction | ActionConfig)[];
60
+ constructor(mstateAngularHelper: MstateAngularHelper, mstateAngularService: MstateAngularService);
61
+ ngOnInit(): void;
62
+ ngOnChanges(changes: SimpleChanges): void;
63
+ private setAllowedActions;
64
+ handleExecuteAction(value: any, errors?: string[]): void;
65
+ handleError(config: ActionConfig): void;
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<MstateAngularComponent, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<MstateAngularComponent, "mstate-angular", never, { "token": { "alias": "token"; "required": true; }; "workflow": { "alias": "workflow"; "required": true; }; "instanceID": { "alias": "instanceID"; "required": false; }; "start": { "alias": "start"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "who": { "alias": "who"; "required": false; }; "onInstanceChange": { "alias": "onInstanceChange"; "required": false; }; "onSuccess": { "alias": "onSuccess"; "required": false; }; "onError": { "alias": "onError"; "required": false; }; "handleCustomField": { "alias": "handleCustomField"; "required": false; }; }, {}, never, never, true, never>;
68
+ }
@@ -0,0 +1,11 @@
1
+ import { SimpleChanges } from '@angular/core';
2
+ import { Step, UserInput } from './interfaces/interface';
3
+ import * as i0 from "@angular/core";
4
+ export declare class MstateAngularHelper {
5
+ detectChange(change: SimpleChanges, keys: string[]): boolean;
6
+ formatString(str?: string): string;
7
+ getObjectValue<T>(obj: any, target: string): T | undefined;
8
+ checkIsStep(step: Step | UserInput): step is Step;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<MstateAngularHelper, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<MstateAngularHelper>;
11
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@angular/common";
3
+ import * as i2 from "./mstate-angular/mstate-angular.component";
4
+ export declare class MstateAngularModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<MstateAngularModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MstateAngularModule, never, [typeof i1.CommonModule, typeof i2.MstateAngularComponent], [typeof i2.MstateAngularComponent]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<MstateAngularModule>;
8
+ }
@@ -0,0 +1,17 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { GetCurrentActionsWithInstanceIDRequest, GetCurrentActionsWithoutInstanceIDRequest, GetCurrentActionsWithoutInstanceIDResponse, MstateResponse, PostExecuteActionRequest, PostExecuteActionResponse } from './interfaces/api.interface';
3
+ import { AxiosRequestConfig } from 'axios';
4
+ import { MstateAngularHelper } from './mstate-angular.helper';
5
+ import * as i0 from "@angular/core";
6
+ export declare class MstateAngularService {
7
+ private http;
8
+ private mstateHelper;
9
+ private getHeaders;
10
+ constructor(http: HttpClient, mstateHelper: MstateAngularHelper);
11
+ executeAction<T>(payload: PostExecuteActionRequest<T>): import("rxjs").Observable<MstateResponse<PostExecuteActionResponse>>;
12
+ getCurrentActionsWithInstanceID(payload: GetCurrentActionsWithInstanceIDRequest): import("rxjs").Observable<MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>>;
13
+ getCurrentActionsWithoutInstanceID(payload: GetCurrentActionsWithoutInstanceIDRequest): import("rxjs").Observable<MstateResponse<GetCurrentActionsWithoutInstanceIDResponse>>;
14
+ handleDropdownAPI(request: AxiosRequestConfig, target: string): Promise<any>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<MstateAngularService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<MstateAngularService>;
17
+ }
package/package.json CHANGED
@@ -1,14 +1,27 @@
1
- {
2
- "name": "mstate-angular",
3
- "version": "0.2.1",
4
- "peerDependencies": {
5
- "@angular/common": "^17.3.0",
6
- "@angular/core": "^17.3.0",
7
- "@ng-select/ng-select": "^14.1.0",
8
- "axios": "^1.7.9"
9
- },
10
- "dependencies": {
11
- "tslib": "^2.3.0"
12
- },
13
- "sideEffects": false
14
- }
1
+ {
2
+ "name": "mstate-angular",
3
+ "version": "0.2.2",
4
+ "peerDependencies": {
5
+ "@angular/common": "^17.3.0",
6
+ "@angular/core": "^17.3.0",
7
+ "@ng-select/ng-select": "^14.1.0",
8
+ "axios": "^1.7.9"
9
+ },
10
+ "dependencies": {
11
+ "tslib": "^2.3.0"
12
+ },
13
+ "sideEffects": false,
14
+ "module": "fesm2022/mstate-angular.mjs",
15
+ "typings": "index.d.ts",
16
+ "exports": {
17
+ "./package.json": {
18
+ "default": "./package.json"
19
+ },
20
+ ".": {
21
+ "types": "./index.d.ts",
22
+ "esm2022": "./esm2022/mstate-angular.mjs",
23
+ "esm": "./esm2022/mstate-angular.mjs",
24
+ "default": "./fesm2022/mstate-angular.mjs"
25
+ }
26
+ }
27
+ }
@@ -1,6 +1,2 @@
1
- /*
2
- * Public API Surface of mstate-angular
3
- */
4
-
5
- export * from './lib/mstate-angular/mstate-angular.component';
6
- export * from './lib/mstate-angular.module';
1
+ export * from './lib/mstate-angular/mstate-angular.component';
2
+ export * from './lib/mstate-angular.module';
package/ng-package.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/mstate-angular",
4
- "lib": {
5
- "entryFile": "src/public-api.ts"
6
- }
7
- }