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.
- package/esm2022/lib/action-form/action-form.component.mjs +112 -0
- package/esm2022/lib/common/constant.mjs +5 -0
- package/esm2022/lib/common/enum.mjs +48 -0
- package/esm2022/lib/components/action-card/action-card.component.mjs +23 -0
- package/esm2022/lib/components/button/button.component.mjs +12 -0
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +47 -0
- package/esm2022/lib/components/input-field/input-field.component.mjs +20 -0
- package/esm2022/lib/components/loader/loader.component.mjs +12 -0
- package/esm2022/lib/components/select/select.component.mjs +47 -0
- package/esm2022/lib/input-selector/input-selector.component.mjs +39 -0
- package/esm2022/lib/interfaces/api.interface.mjs +2 -0
- package/esm2022/lib/interfaces/interface.mjs +2 -0
- package/esm2022/lib/mstate-angular/mstate-angular.component.mjs +143 -0
- package/esm2022/lib/mstate-angular.helper.mjs +34 -0
- package/esm2022/lib/mstate-angular.module.mjs +17 -0
- package/esm2022/lib/mstate-angular.service.mjs +50 -0
- package/esm2022/mstate-angular.mjs +5 -0
- package/esm2022/public-api.mjs +6 -0
- package/fesm2022/mstate-angular.mjs +550 -0
- package/fesm2022/mstate-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/action-form/action-form.component.d.ts +26 -0
- package/lib/common/constant.d.ts +2 -0
- package/lib/common/enum.d.ts +41 -0
- package/lib/components/action-card/action-card.component.d.ts +11 -0
- package/lib/components/button/button.component.d.ts +5 -0
- package/lib/components/dropdown/dropdown.component.d.ts +17 -0
- package/lib/components/input-field/input-field.component.d.ts +8 -0
- package/lib/components/loader/loader.component.d.ts +5 -0
- package/lib/components/select/select.component.d.ts +17 -0
- package/lib/input-selector/input-selector.component.d.ts +16 -0
- package/{src/lib/interfaces/api.interface.ts → lib/interfaces/api.interface.d.ts} +42 -51
- package/lib/interfaces/interface.d.ts +73 -0
- package/lib/mstate-angular/mstate-angular.component.d.ts +68 -0
- package/lib/mstate-angular.helper.d.ts +11 -0
- package/lib/mstate-angular.module.d.ts +8 -0
- package/lib/mstate-angular.service.d.ts +17 -0
- package/package.json +27 -14
- package/{src/public-api.ts → public-api.d.ts} +2 -6
- package/ng-package.json +0 -7
- package/src/lib/action-form/action-form.component.html +0 -13
- package/src/lib/action-form/action-form.component.scss +0 -0
- package/src/lib/action-form/action-form.component.spec.ts +0 -23
- package/src/lib/action-form/action-form.component.ts +0 -124
- package/src/lib/common/constant.ts +0 -4
- package/src/lib/common/enum.ts +0 -46
- package/src/lib/components/action-card/action-card.component.html +0 -1
- package/src/lib/components/action-card/action-card.component.scss +0 -0
- package/src/lib/components/action-card/action-card.component.spec.ts +0 -21
- package/src/lib/components/action-card/action-card.component.ts +0 -21
- package/src/lib/components/button/button.component.html +0 -3
- package/src/lib/components/button/button.component.scss +0 -0
- package/src/lib/components/button/button.component.spec.ts +0 -21
- package/src/lib/components/button/button.component.ts +0 -11
- package/src/lib/components/dropdown/dropdown.component.html +0 -10
- package/src/lib/components/dropdown/dropdown.component.scss +0 -0
- package/src/lib/components/dropdown/dropdown.component.spec.ts +0 -21
- package/src/lib/components/dropdown/dropdown.component.ts +0 -46
- package/src/lib/components/input-field/input-field.component.html +0 -9
- package/src/lib/components/input-field/input-field.component.scss +0 -0
- package/src/lib/components/input-field/input-field.component.spec.ts +0 -21
- package/src/lib/components/input-field/input-field.component.ts +0 -16
- package/src/lib/components/loader/loader.component.html +0 -1
- package/src/lib/components/loader/loader.component.scss +0 -0
- package/src/lib/components/loader/loader.component.spec.ts +0 -21
- package/src/lib/components/loader/loader.component.ts +0 -11
- package/src/lib/components/select/select.component.html +0 -10
- package/src/lib/components/select/select.component.scss +0 -43
- package/src/lib/components/select/select.component.spec.ts +0 -21
- package/src/lib/components/select/select.component.ts +0 -46
- package/src/lib/input-selector/input-selector.component.html +0 -23
- package/src/lib/input-selector/input-selector.component.scss +0 -0
- package/src/lib/input-selector/input-selector.component.spec.ts +0 -21
- package/src/lib/input-selector/input-selector.component.ts +0 -38
- package/src/lib/interfaces/interface.ts +0 -81
- package/src/lib/material.scss +0 -439
- package/src/lib/mstate-angular/mstate-angular.component.html +0 -40
- package/src/lib/mstate-angular/mstate-angular.component.scss +0 -36
- package/src/lib/mstate-angular/mstate-angular.component.spec.ts +0 -21
- package/src/lib/mstate-angular/mstate-angular.component.ts +0 -186
- package/src/lib/mstate-angular.helper.ts +0 -35
- package/src/lib/mstate-angular.module.ts +0 -9
- package/src/lib/mstate-angular.service.ts +0 -77
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- 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,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,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,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,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
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
export interface
|
33
|
-
|
34
|
-
}
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
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.
|
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
|
-
*
|
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';
|