Merge branch 'feature/SUPPORT-8987_formfield_refactor' into develop

This commit is contained in:
gulnaz 2025-04-30 08:31:14 +03:00
commit c17979c4c7
6 changed files with 77 additions and 87 deletions

View file

@ -60,8 +60,10 @@ export class UserManagementService extends Behavior {
if (!this.authService.hasRole('security_administrator') || !this.sendToErvu) { if (!this.authService.hasRole('security_administrator') || !this.sendToErvu) {
return; return;
} }
let kind = this.applicationKind.getValue(); const kind = this.applicationKind.getValue();
let formJson = this.collectData(); const formJson = this.collectData();
const appNumber = formJson['appNumber'];
const accountId = formJson['accountId'];
let request; let request;
switch (kind) { switch (kind) {
@ -80,30 +82,29 @@ export class UserManagementService extends Behavior {
request = new CreateAccountRequest(); request = new CreateAccountRequest();
request.data = createData; request.data = createData;
request.processKey = ProcessKey.CREATE; request.processKey = ProcessKey.CREATE;
this.doRequest(request, formJson['appNumber']); this.doRequest(request, appNumber);
break; break;
case ApplicationKind.EDIT_USER_MAIN: case ApplicationKind.EDIT_USER_MAIN:
let editPersonData = new EditPersonData(); let editPersonData = new EditPersonData();
editPersonData.accountId = formJson['accountId']; editPersonData.accountId = accountId;
editPersonData.personData = this.populateDto(new Person(), formJson); editPersonData.personData = this.populateDto(new Person(), formJson);
request = new EditPersonRequest(); request = new EditPersonRequest();
request.data = editPersonData; request.data = editPersonData;
request.processKey = ProcessKey.EDIT_PERSON; request.processKey = ProcessKey.EDIT_PERSON;
this.doRequest(request, formJson['appNumber']); this.doRequest(request, appNumber);
break; break;
case ApplicationKind.EDIT_USER_ACCOUNT: case ApplicationKind.EDIT_USER_ACCOUNT:
let editAccountData = new EditAccountData(); let editAccountData = new EditAccountData();
let account = this.populateDto(new Account(), formJson); let account = this.populateDto(new Account(), formJson);
account.id = formJson['accountId']; account.id = accountId;
editAccountData.account = account; editAccountData.account = account;
request = new EditAccountRequest(); request = new EditAccountRequest();
request.data = editAccountData; request.data = editAccountData;
request.processKey = ProcessKey.EDIT_ACCOUNT; request.processKey = ProcessKey.EDIT_ACCOUNT;
this.doRequest(request, formJson['appNumber']); this.doRequest(request, appNumber);
break; break;
case ApplicationKind.EDIT_USER_ROLES: case ApplicationKind.EDIT_USER_ROLES:
let editRolesAccount = new EditRolesAccount(); let editRolesAccount = new EditRolesAccount();
let accountId = formJson['accountId'];
let rolesList = formJson['rolesList']; let rolesList = formJson['rolesList'];
editRolesAccount.accountId = accountId; editRolesAccount.accountId = accountId;
editRolesAccount.rolesList = rolesList.map(id => { editRolesAccount.rolesList = rolesList.map(id => {
@ -119,34 +120,34 @@ export class UserManagementService extends Behavior {
request = new EditRolesRequest(); request = new EditRolesRequest();
request.data = editRolesData; request.data = editRolesData;
request.processKey = ProcessKey.EDIT_ROLES; request.processKey = ProcessKey.EDIT_ROLES;
this.doRequest(request, formJson['appNumber']); this.doRequest(request, appNumber);
}); });
break; break;
case ApplicationKind.BLOCK_USER: case ApplicationKind.BLOCK_USER:
let deactivationData = new ChangeActivationData(); let deactivationData = new ChangeActivationData();
deactivationData.accountIdList = [formJson['accountId']]; deactivationData.accountIdList = [accountId];
request = new ChangeActivationRequest(); request = new ChangeActivationRequest();
request.data = deactivationData; request.data = deactivationData;
request.processKey = ProcessKey.DEACTIVATE; request.processKey = ProcessKey.DEACTIVATE;
this.doRequest(request, formJson['appNumber']); this.doRequest(request, appNumber);
break; break;
case ApplicationKind.UNBLOCK_USER: case ApplicationKind.UNBLOCK_USER:
let activationData = new ChangeActivationData(); let activationData = new ChangeActivationData();
activationData.accountIdList = [formJson['accountId']]; activationData.accountIdList = [accountId];
request = new ChangeActivationRequest(); request = new ChangeActivationRequest();
request.data = activationData; request.data = activationData;
request.processKey = ProcessKey.ACTIVATE; request.processKey = ProcessKey.ACTIVATE;
this.doRequest(request, formJson['appNumber']); this.doRequest(request, appNumber);
break; break;
case ApplicationKind.RESET_PASSWORD: case ApplicationKind.RESET_PASSWORD:
let resetPasswordAccount = new ResetPasswordAccount(); let resetPasswordAccount = new ResetPasswordAccount();
resetPasswordAccount.id = formJson['accountId']; resetPasswordAccount.id = accountId;
let resetPasswordData = new ResetPasswordData(); let resetPasswordData = new ResetPasswordData();
resetPasswordData.account = resetPasswordAccount; resetPasswordData.account = resetPasswordAccount;
request = new ResetPasswordRequest(); request = new ResetPasswordRequest();
request.data = resetPasswordData; request.data = resetPasswordData;
request.processKey = ProcessKey.RESET_PASSWORD; request.processKey = ProcessKey.RESET_PASSWORD;
this.doRequest(request, formJson['appNumber']); this.doRequest(request, appNumber);
break; break;
} }
}; };

View file

@ -1,31 +1,17 @@
import { import {
AnalyticalScope, AnalyticalScope,
Autocomplete,
Behavior, Behavior,
Control, Control,
GridV2,
NotNull NotNull
} from "@webbpm/base-package"; } from "@webbpm/base-package";
@AnalyticalScope(Control) @AnalyticalScope(Control)
export class FormField extends Behavior { export class FormField extends Behavior {
//TODO SUPPORT-8987
@NotNull() @NotNull()
public name: string; public name: string;
public gridValue: boolean = false;
@NotNull("gridValue == true")
public columnId: string;
public getValue(): any { public getValue(): any {
if (this.gridValue) { return this.context.getValueForForm();
let grid = this.getScript(GridV2);
return grid.getAllRows().map(rowData => rowData[this.columnId])
}
return this.context instanceof Autocomplete
? this.getScript(Autocomplete).getBusinessId()
: this.getScript('component.ControlWithValue').getValueForForm();
} }
} }

View file

@ -0,0 +1,15 @@
import {FormField} from "./FormField";
import {AnalyticalScope, GridV2, GridV2Column, NotNull, ObjectRef} from "@webbpm/base-package";
@AnalyticalScope(GridV2)
export class GridFormField extends FormField {
@NotNull()
@ObjectRef()
public column: GridV2Column;
public getValue(): any[] {
let grid: GridV2 = this.getScript(GridV2);
return grid.getAllRows().map(rowData => rowData[this.column.getField()]);
}
}

View file

@ -0,0 +1,10 @@
import {FormField} from "./FormField";
import {AnalyticalScope, SelectBase} from "@webbpm/base-package";
@AnalyticalScope(SelectBase)
export class SelectizeFormField extends FormField {
public getValue(): any {
return this.context.getBusinessId();
}
}

View file

@ -2413,7 +2413,6 @@
<componentRootId>eaaf9ba1-feca-4c41-9944-e321eee27a58</componentRootId> <componentRootId>eaaf9ba1-feca-4c41-9944-e321eee27a58</componentRootId>
<name>Hbox</name> <name>Hbox</name>
<container>true</container> <container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered> <childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"/> <scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"/>
<scripts id="b6068710-0f31-48ec-8e03-c0c1480a40c0"/> <scripts id="b6068710-0f31-48ec-8e03-c0c1480a40c0"/>
@ -3461,9 +3460,9 @@
</entry> </entry>
</properties> </properties>
</scripts> </scripts>
<scripts id="93cced4c-2537-4583-95cf-db5937d58efd"> <scripts id="d4ef441c-372e-49ba-8394-b7a99efea972">
<classRef type="TS"> <classRef type="TS">
<className>FormField</className> <className>SelectizeFormField</className>
<packageName>account_applications.component.field</packageName> <packageName>account_applications.component.field</packageName>
</classRef> </classRef>
<enabled>true</enabled> <enabled>true</enabled>
@ -3586,6 +3585,7 @@
<componentRootId>62adbc2d-0be1-45de-bc44-b77d11b129d7</componentRootId> <componentRootId>62adbc2d-0be1-45de-bc44-b77d11b129d7</componentRootId>
<name>Grid_groups</name> <name>Grid_groups</name>
<container>true</container> <container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered> <childrenReordered>false</childrenReordered>
<scripts id="07201df9-ff33-4c71-9aae-a2cfdd028234"> <scripts id="07201df9-ff33-4c71-9aae-a2cfdd028234">
<properties> <properties>
@ -3665,24 +3665,18 @@
</properties> </properties>
</scripts> </scripts>
<scripts id="be8fe0e1-4909-4224-8664-be55168595c6"/> <scripts id="be8fe0e1-4909-4224-8664-be55168595c6"/>
<scripts id="79126393-0edc-40b0-89d7-4238c392e3de"> <scripts id="5f7dc87b-1b63-4832-b87a-488c1c127d64">
<classRef type="TS"> <classRef type="TS">
<className>FormField</className> <className>GridFormField</className>
<packageName>account_applications.component.field</packageName> <packageName>account_applications.component.field</packageName>
</classRef> </classRef>
<enabled>true</enabled> <enabled>true</enabled>
<expanded>true</expanded> <expanded>true</expanded>
<properties> <properties>
<entry> <entry>
<key>columnId</key> <key>column</key>
<value> <value>
<simple>"user_application_role$user_role_id"</simple> <simple>{"objectId":"c8b2b349-588a-473a-bc1e-fb8cf5a03c0a","packageName":"component.grid","className":"GridV2Column","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>gridValue</key>
<value>
<simple>true</simple>
</value> </value>
</entry> </entry>
<entry> <entry>
@ -3958,24 +3952,18 @@
</properties> </properties>
</scripts> </scripts>
<scripts id="be8fe0e1-4909-4224-8664-be55168595c6"/> <scripts id="be8fe0e1-4909-4224-8664-be55168595c6"/>
<scripts id="e6845ea7-23e8-4042-b73b-255707d5c740"> <scripts id="3f018695-895b-463b-9292-37d976a933b0">
<classRef type="TS"> <classRef type="TS">
<className>FormField</className> <className>GridFormField</className>
<packageName>account_applications.component.field</packageName> <packageName>account_applications.component.field</packageName>
</classRef> </classRef>
<enabled>true</enabled> <enabled>true</enabled>
<expanded>true</expanded> <expanded>true</expanded>
<properties> <properties>
<entry> <entry>
<key>columnId</key> <key>column</key>
<value> <value>
<simple>"link_user_application_ip_address$ip_address"</simple> <simple>{"objectId":"a062f520-09a7-42bc-a331-7546913530e8","packageName":"component.grid","className":"GridV2Column","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>gridValue</key>
<value>
<simple>true</simple>
</value> </value>
</entry> </entry>
<entry> <entry>

View file

@ -1768,24 +1768,18 @@
</properties> </properties>
</scripts> </scripts>
<scripts id="be8fe0e1-4909-4224-8664-be55168595c6"/> <scripts id="be8fe0e1-4909-4224-8664-be55168595c6"/>
<scripts id="e6845ea7-23e8-4042-b73b-255707d5c740"> <scripts id="91768a69-9949-4346-a63d-2df11c486dac">
<classRef type="TS"> <classRef type="TS">
<className>FormField</className> <className>GridFormField</className>
<packageName>account_applications.component.field</packageName> <packageName>account_applications.component.field</packageName>
</classRef> </classRef>
<enabled>true</enabled> <enabled>true</enabled>
<expanded>true</expanded> <expanded>true</expanded>
<properties> <properties>
<entry> <entry>
<key>columnId</key> <key>column</key>
<value> <value>
<simple>"link_user_application_ip_address$ip_address"</simple> <simple>{"objectId":"a062f520-09a7-42bc-a331-7546913530e8","packageName":"component.grid","className":"GridV2Column","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>gridValue</key>
<value>
<simple>true</simple>
</value> </value>
</entry> </entry>
<entry> <entry>
@ -2873,9 +2867,9 @@
</entry> </entry>
</properties> </properties>
</scripts> </scripts>
<scripts id="93cced4c-2537-4583-95cf-db5937d58efd"> <scripts id="f4a1c413-91a3-4124-8d6e-336c2b91cb65">
<classRef type="TS"> <classRef type="TS">
<className>FormField</className> <className>SelectizeFormField</className>
<packageName>account_applications.component.field</packageName> <packageName>account_applications.component.field</packageName>
</classRef> </classRef>
<enabled>true</enabled> <enabled>true</enabled>
@ -3004,6 +2998,7 @@
<componentRootId>62adbc2d-0be1-45de-bc44-b77d11b129d7</componentRootId> <componentRootId>62adbc2d-0be1-45de-bc44-b77d11b129d7</componentRootId>
<name>Grid_groups</name> <name>Grid_groups</name>
<container>true</container> <container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered> <childrenReordered>false</childrenReordered>
<scripts id="07201df9-ff33-4c71-9aae-a2cfdd028234"> <scripts id="07201df9-ff33-4c71-9aae-a2cfdd028234">
<properties> <properties>
@ -3070,24 +3065,18 @@
</properties> </properties>
</scripts> </scripts>
<scripts id="be8fe0e1-4909-4224-8664-be55168595c6"/> <scripts id="be8fe0e1-4909-4224-8664-be55168595c6"/>
<scripts id="79126393-0edc-40b0-89d7-4238c392e3de"> <scripts id="31598adb-72ce-4c63-9a50-28a435dbaf8c">
<classRef type="TS"> <classRef type="TS">
<className>FormField</className> <className>GridFormField</className>
<packageName>account_applications.component.field</packageName> <packageName>account_applications.component.field</packageName>
</classRef> </classRef>
<enabled>true</enabled> <enabled>true</enabled>
<expanded>true</expanded> <expanded>true</expanded>
<properties> <properties>
<entry> <entry>
<key>columnId</key> <key>column</key>
<value> <value>
<simple>"user_application_role$user_role_id"</simple> <simple>{"objectId":"c8b2b349-588a-473a-bc1e-fb8cf5a03c0a","packageName":"component.grid","className":"GridV2Column","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>gridValue</key>
<value>
<simple>true</simple>
</value> </value>
</entry> </entry>
<entry> <entry>
@ -3133,6 +3122,7 @@
<componentRootId>c8b2b349-588a-473a-bc1e-fb8cf5a03c0a</componentRootId> <componentRootId>c8b2b349-588a-473a-bc1e-fb8cf5a03c0a</componentRootId>
<name>Column role id</name> <name>Column role id</name>
<container>false</container> <container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered> <childrenReordered>false</childrenReordered>
<scripts id="9c5c7a86-dc40-4b30-a5a7-5e7b4c7ea1e1"/> <scripts id="9c5c7a86-dc40-4b30-a5a7-5e7b4c7ea1e1"/>
<scripts id="fd653fca-12f9-4e35-baa4-b6b5dd3f6d59"> <scripts id="fd653fca-12f9-4e35-baa4-b6b5dd3f6d59">
@ -8076,25 +8066,25 @@
<simple>"/app_list"</simple> <simple>"/app_list"</simple>
</value> </value>
</entry> </entry>
<entry>
<key>visible</key>
<value>
<simple>true</simple>
</value>
</entry>
<entry> <entry>
<key>style</key> <key>style</key>
<value> <value>
<complex> <complex>
<entry> <entry>
<key>margin</key> <key>margin</key>
<value> <value>
<simple>"0px 0px 10px 0px"</simple> <simple>"0px 0px 10px 0px"</simple>
</value> </value>
</entry> </entry>
</complex> </complex>
</value> </value>
</entry> </entry>
<entry>
<key>visible</key>
<value>
<simple>true</simple>
</value>
</entry>
</properties> </properties>
</scripts> </scripts>
</children> </children>