From 7e62582da657a128462c98a05827267d864ce523 Mon Sep 17 00:00:00 2001 From: Andrzej Malirz Date: Sat, 25 May 2024 23:48:17 +0200 Subject: [PATCH] add action add quantity --- angular.json | 3 +- .../equipment/a_equipment_add_quantity.ts | 38 +++++++++++++++++++ src/app/actions/equipment/index.ts | 1 + src/app/shared/config/actions.json.ts | 4 ++ src/app/shared/config/constants.json.ts | 4 +- src/app/shared/config/views/wizard.json.ts | 19 ++++++++++ .../services/actionService/action.service.ts | 6 ++- src/proxy.conf.json | 2 +- 8 files changed, 71 insertions(+), 6 deletions(-) create mode 100644 src/app/actions/equipment/a_equipment_add_quantity.ts diff --git a/angular.json b/angular.json index 9a140ba..f12c90b 100644 --- a/angular.json +++ b/angular.json @@ -114,6 +114,7 @@ "cli": { "schematicCollections": [ "@angular-eslint/schematics" - ] + ], + "analytics": "8f2e454e-bb27-4eb2-9f14-3bfcadbfaa29" } } diff --git a/src/app/actions/equipment/a_equipment_add_quantity.ts b/src/app/actions/equipment/a_equipment_add_quantity.ts new file mode 100644 index 0000000..f16dc8c --- /dev/null +++ b/src/app/actions/equipment/a_equipment_add_quantity.ts @@ -0,0 +1,38 @@ +import { ApiService } from "src/app/shared/services/apiService/api.service"; +import { ViewService } from "src/app/shared/services/viewService/view.service"; +import { WizardService } from "src/app/shared/services/wizardService/wizard.service"; +import { switchMap, filter, tap, defaultIfEmpty, of } from "rxjs"; +import { CID } from "src/app/shared/config/constants.json"; + +export function a_equipment_add_quantity(vs: ViewService, apis: ApiService, ws: WizardService) { + return ws.create('test').pipe( + tap(() => { + ws.allowSave(() => { + if (ws.getValue('quantity') === '') { + vs.showToast('Quantity is reqired', 'warning'); + return false; + } + return true + }) + }), + switchMap(() => ws.destroy()), + filter(wizardDestroyed => wizardDestroyed.save), + switchMap(wizardDestroyed => apis.saveRecord( + CID.EQUIPMENT, + wizardDestroyed.savedFields, + {} + ) + + ), + tap(() => { + vs.refresh(); + + }), + defaultIfEmpty(null) + ); +} + + + + + diff --git a/src/app/actions/equipment/index.ts b/src/app/actions/equipment/index.ts index d9b7113..c225c8a 100644 --- a/src/app/actions/equipment/index.ts +++ b/src/app/actions/equipment/index.ts @@ -2,3 +2,4 @@ export * from './a_equipment_type_create'; export * from './a_equipment_type_delete'; export * from './a_equipment_create'; export * from './a_equipment_delete'; +export * from './a_equipment_add_quantity'; \ No newline at end of file diff --git a/src/app/shared/config/actions.json.ts b/src/app/shared/config/actions.json.ts index 3bfb849..d32edad 100644 --- a/src/app/shared/config/actions.json.ts +++ b/src/app/shared/config/actions.json.ts @@ -11,6 +11,10 @@ export const actionsConfig = [ displayName: 'Delete', actionName: 'deleteEquipment', }, + { + displayName: 'Add quantity', + actionName: 'addQuantityEquipment', + }, ] }, "equipmentTypes": { diff --git a/src/app/shared/config/constants.json.ts b/src/app/shared/config/constants.json.ts index fd0105e..d10fd74 100644 --- a/src/app/shared/config/constants.json.ts +++ b/src/app/shared/config/constants.json.ts @@ -1,4 +1,4 @@ export const CID = { - EQUIPMENT: "http://localhost:5001/api/v1/Equipments", - EQUIPMENT_TYPE: "http://localhost:5001/api/v1/Equipment/Types" + EQUIPMENT: "http://localhost:5451/api/v1/Equipments", + EQUIPMENT_TYPE: "http://localhost:5451/api/v1/Equipment/Types" } \ No newline at end of file diff --git a/src/app/shared/config/views/wizard.json.ts b/src/app/shared/config/views/wizard.json.ts index d3dfe17..de895b6 100644 --- a/src/app/shared/config/views/wizard.json.ts +++ b/src/app/shared/config/views/wizard.json.ts @@ -59,6 +59,25 @@ export const wizardConfig = [ fieldValue: '' }, ] + }, + "test": { + title: 'Create quantity type', + fields: [ + { + fieldLabel: "Quantity", + fieldType: "number", + fieldName: "quantity", + isClass: false, + classDataUrl: '', + }, + ], + formBuilderGroupFields: [ + { + fieldKey: 'quantity', + fieldValue: '' + }, + ] } + } ] \ No newline at end of file diff --git a/src/app/shared/services/actionService/action.service.ts b/src/app/shared/services/actionService/action.service.ts index 0334252..843fab1 100644 --- a/src/app/shared/services/actionService/action.service.ts +++ b/src/app/shared/services/actionService/action.service.ts @@ -10,7 +10,8 @@ import { a_equipment_type_create, a_equipment_type_delete, a_equipment_create, - a_equipment_delete + a_equipment_delete, + a_equipment_add_quantity } from 'src/app/actions/equipment'; @Injectable({ @@ -33,8 +34,9 @@ export class ActionService { // EQUIPMENT TYPE createEquipmentType() { return a_equipment_type_create(this.viewService, this.apiService, this.wizardService) } deleteEquipmentType() { return a_equipment_type_delete(this.viewService, this.apiService, this.yesNoService) } - + // EQUIPMENT createEquipment() { return a_equipment_create(this.viewService, this.apiService, this.wizardService) } deleteEquipment() { return a_equipment_delete(this.viewService, this.apiService, this.yesNoService) } + addQuantityEquipment() { return a_equipment_add_quantity(this.viewService, this.apiService, this.wizardService) } } diff --git a/src/proxy.conf.json b/src/proxy.conf.json index 0f48bc0..cfe279b 100644 --- a/src/proxy.conf.json +++ b/src/proxy.conf.json @@ -1,6 +1,6 @@ { "/api": { - "target": "http://localhost:5001", + "target": "http://localhost:5451", "secure": false } } \ No newline at end of file