From 74fa92d81bba1dc934f3067b0bce5c37e53e241e Mon Sep 17 00:00:00 2001 From: Jose Alberto Hernandez Date: Mon, 25 Jul 2022 22:25:15 -0500 Subject: [PATCH] Client subtype cannot be selected while editing datatables --- .../edit-data-table.component.html | 18 +++++++++++----- .../edit-data-table.component.ts | 21 ++++++++++++++++--- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/src/app/system/manage-data-tables/edit-data-table/edit-data-table.component.html b/src/app/system/manage-data-tables/edit-data-table/edit-data-table.component.html index 6b7c8ef70..5b63005b7 100644 --- a/src/app/system/manage-data-tables/edit-data-table/edit-data-table.component.html +++ b/src/app/system/manage-data-tables/edit-data-table/edit-data-table.component.html @@ -13,7 +13,7 @@ - + Application Table Name @@ -25,6 +25,14 @@ + + Entity SubType + + + {{ entitySubType.displayValue }} + + +
@@ -72,10 +80,10 @@ Actions - - @@ -86,14 +94,14 @@ - + + [disabled]="!isFormEdited" *mifosxHasPermission="'UPDATE_DATATABLE'">Submit diff --git a/src/app/system/manage-data-tables/edit-data-table/edit-data-table.component.ts b/src/app/system/manage-data-tables/edit-data-table/edit-data-table.component.ts index 5383f894e..2c9dbaec5 100644 --- a/src/app/system/manage-data-tables/edit-data-table/edit-data-table.component.ts +++ b/src/app/system/manage-data-tables/edit-data-table/edit-data-table.component.ts @@ -11,7 +11,7 @@ import { MatTableDataSource } from '@angular/material/table'; import { SystemService } from '../../system.service'; /** Data Imports */ -import { appTableData } from '../app-table-data'; +import { appTableData, entitySubTypeData } from '../app-table-data'; /** Custom Components */ import { ColumnDialogComponent } from '../column-dialog/column-dialog.component'; @@ -31,6 +31,8 @@ export class EditDataTableComponent implements OnInit { dataTableForm: FormGroup; /** Data Table Data. */ dataTableData: any; + entitySubTypeData = entitySubTypeData; + showEntitySubType: boolean; /** Column Data. */ columnData: any[]; /** Application Table Data. */ @@ -40,10 +42,14 @@ export class EditDataTableComponent implements OnInit { /** Data Table Changes Data. */ dataTableChangesData: { apptableName: string, + entitySubType: string, dropColumns?: { name: string }[], changeColumns: { name: string, newName?: string, code?: string, newCode?: string, mandatory: boolean, length?: number }[], addColumns?: { name?: string, type?: string, code?: string, mandatory?: boolean, length?: number }[] - } = { apptableName: '', changeColumns: [], addColumns: [], dropColumns: [] }; + } = { + apptableName: '', changeColumns: [], addColumns: [], dropColumns: [], + entitySubType: '' + }; /** Data passed to dialog. */ dataForDialog: { columnName: string, @@ -86,6 +92,9 @@ export class EditDataTableComponent implements OnInit { private dialog: MatDialog) { this.route.data.subscribe((data: { dataTable: any, columnCodes: any }) => { this.dataTableData = data.dataTable; + this.dataTableData.columnHeaderData.forEach((item: any) => { + item.system = ['created_at', 'updated_at'].includes(item.columnName); + }); this.columnData = this.dataTableData.columnHeaderData; this.dataForDialog.columnCodes = data.columnCodes; }); @@ -98,6 +107,9 @@ export class EditDataTableComponent implements OnInit { this.initData(); this.createDataTableForm(); this.setColumns(); + this.dataTableForm.controls.apptableName.valueChanges.subscribe((value: any) => { + this.showEntitySubType = (value === 'm_client'); + }); } /** @@ -115,10 +127,12 @@ export class EditDataTableComponent implements OnInit { initData() { this.columnData.shift(); this.dataTableChangesData.apptableName = this.dataTableData.applicationTableName; + this.dataTableChangesData.entitySubType = this.dataTableData.entitySubType; for (let index = 0; index < this.columnData.length; index++) { this.columnData[index].columnDisplayType = this.getColumnType(this.columnData[index].columnDisplayType); this.columnData[index].type = 'existing'; } + this.showEntitySubType = (this.dataTableData.applicationTableName === 'm_client'); } /** @@ -127,7 +141,8 @@ export class EditDataTableComponent implements OnInit { createDataTableForm() { this.dataTableForm = this.formBuilder.group({ 'datatableName': [{ value: this.dataTableData.registeredTableName, disabled: true }, Validators.required], - 'apptableName': [this.dataTableData.applicationTableName, Validators.required] + 'apptableName': [{ value: this.dataTableData.applicationTableName, disabled: true }, Validators.required], + 'entitySubType': [{ value: this.dataTableData.entitySubType, disabled: true }] }); }