Merge remote-tracking branch 'origin/test/ERVU-290_with_ip_valid' into develop

This commit is contained in:
Zaripov Emil 2025-02-24 16:04:00 +03:00
commit b87711ebcb
6 changed files with 584 additions and 45 deletions

View file

@ -0,0 +1,29 @@
<div [id]="getObjectId()"
class="form-group">
<label [ngbTooltip]="tooltip | emptyIfNull"
[hidden]="!label" class="control-label">
<span>{{label}}<span *ngIf="isRequired()" class="alarm"> *</span></span>
</label>
<div class="component-float">
<input [type]="typeAsString"
class="form-control"
[name]="name"
[masked-input]="mask"
[regexMask]="regexMask"
[un-mask-value]="unMaskValue"
[casing]="casingValue"
[placeholder]="placeholder | emptyIfNull"
[maxlength]="allowMoreSymbols ? null : maxLength"
[maxLengthAllowingMoreSymbols]="allowMoreSymbols ? maxLength : null"
[minlength]="minLength"
[(ngModel)]="internalValue"
#model="ngModel"
[disabled]="!isEnabled()"
[ngStyle]="style"
[required]="isRequired()"
[pattern]="pattern"
[title]="getValueForTooltip()"
(focus)="onFocus()"
(blur)="onBlur()">
</div>
</div>

View file

@ -0,0 +1,31 @@
import {TextFieldGridEditor} from "@webbpm/base-package";
import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef} from "@angular/core";
@Component({
moduleId: module.id,
selector: 'text-field-ervu-grid-editor',
templateUrl: './../../../../../../src/resources/template/account_applications/component/editablegrid/editors/ErvuAccountTextFieldGridEditor.html',
changeDetection: ChangeDetectionStrategy.OnPush
})
export class ErvuAccountTextFieldGridEditor extends TextFieldGridEditor{
constructor(el: ElementRef, cd: ChangeDetectorRef) {
super(el, cd);
}
onBlur() {
super.onBlur();
if (this.getValue() && !this.isValueValid()) {
this.clearValue();
this.cd.markForCheck();
}
}
protected isValueValid() {
if (this.pattern) {
const regex = new RegExp(this.pattern);
return regex.test(this.getValue());
}
return true;
}
}

View file

@ -27,6 +27,7 @@ import {NewPasswordComponent} from "./component/new-password.component";
import {AppProgressIndicationComponent} from "./component/app-progress-indication.component";
import {AppProgressIndicationService} from "./service/app-progress-indication.service";
import {VBoxLoadValues} from "../../account_applications/component/container/VBoxLoadValues";
import {ErvuAccountTextFieldGridEditor} from "../../account_applications/component/editablegrid/editors/ErvuAccountTextFieldGridEditor";
registerLocaleData(localeRu);
export const DIRECTIVES = [
@ -42,7 +43,8 @@ export const DIRECTIVES = [
forwardRef(() => ResetPasswordComponent),
forwardRef(() => NewPasswordComponent),
forwardRef(() => AppProgressIndicationComponent),
forwardRef(() => VBoxLoadValues)
forwardRef(() => VBoxLoadValues),
forwardRef(() => ErvuAccountTextFieldGridEditor)
];
@NgModule({

View file

@ -904,6 +904,7 @@
<componentRootId>b15ecae8-7ddd-470b-821d-48a9e512bac0</componentRootId>
<name>Vbox_1</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
<properties>
@ -1283,6 +1284,7 @@
<componentRootId>ea3759c2-1b7a-45f1-8422-d98df8e10d23</componentRootId>
<name>Vbox_2</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
<properties>
@ -1617,21 +1619,13 @@
<componentRootId>ec1fa9b6-04e1-4b58-96c7-538963204d95</componentRootId>
<name>Организация</name>
<container>false</container>
<removed>true</removed>
</children>
<children id="f8f30f98-1b48-48f7-9cab-4bda644effdf">
<prototypeId>b310f98a-69c6-4e7b-8cdb-f1ab9f9c0d94</prototypeId>
<componentRootId>f8f30f98-1b48-48f7-9cab-4bda644effdf</componentRootId>
<name>Combo box_Организация</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="23992f0e-94ed-4fb4-b4d1-dc6ad7f13227">
<scripts id="859913ec-9a30-439c-afc2-3c83cddcfe03">
<properties>
<entry>
<key>cssClasses</key>
<value>
<item id="7c89a562-ccbd-49f2-976e-915fff09010e" removed="false">
<item id="a9ed2b2d-4668-4417-967b-8ebfafc21110" removed="false">
<value>
<simple>"width-full"</simple>
</value>
@ -1652,10 +1646,10 @@
</entry>
</properties>
</scripts>
<scripts id="efb0fec7-9951-4b36-bbda-fa17aa002d74">
<scripts id="d9ac3145-9d66-42bd-9f24-1c3d0d2e31d0">
<properties>
<entry>
<key>comboBoxService</key>
<key>autocompleteService</key>
<value>
<complex>
<entry>
@ -1664,12 +1658,6 @@
<simple>{"schema":"public","table":"recruitment","entity":"recruitment","name":"idm_id"}</simple>
</value>
</entry>
<entry>
<key>columnSorts</key>
<value>
<item id="100c4cad-a1df-4a34-8e26-ac81c506167f" removed="true"/>
</value>
</entry>
<entry>
<key>displayColumn</key>
<value>
@ -1683,26 +1671,36 @@
<entry>
<key>graph</key>
<value>
<simple>{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"public","x":326.0,"y":171.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"public","x":326.0,"y":171.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"public","x":326.0,"y":171.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null]],"mainNodeIndex":0}</simple>
<simple>{"conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"nodeByIndex":{"0":{"tableName":"recruitment","schemaName":"public","x":334.0,"y":161.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"nodes":[{"tableName":"recruitment","schemaName":"public","x":334.0,"y":161.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}],"nodeByEntityName":{"recruitment":{"tableName":"recruitment","schemaName":"public","x":334.0,"y":161.0,"alias":"recruitment","conditionGroup":{"operator":"AND","conditions":[],"groups":[]},"emptyEntityAction":"IGNORE_OR_DELETE"}},"matrix":[[null]],"mainNodeIndex":0}</simple>
</value>
</entry>
</complex>
<expanded>false</expanded>
</value>
</entry>
<entry>
<key>parentControlReference</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
<implRef type="JAVA">
<className>RecruitmentComboBoxService</className>
<packageName>ru.micord.ervu.account_applications.component.service</packageName>
</implRef>
</value>
</entry>
</properties>
</scripts>
<scripts id="4d028ea6-e4a3-4acf-bd60-de7aa1a78f71"/>
<scripts id="9f543b36-92e3-4a63-b8db-a4d7e852113e"/>
<scripts id="47f307b6-79a7-4c9a-96d6-6ee423565f02"/>
<scripts id="ec1e9370-303a-4a7e-948f-27ef7687cd03">
<scripts id="0b478949-71f8-4a8c-bcfc-8407265d231c">
<properties>
<entry>
<key>variable</key>
<value>
<simple>"org_unit_id"</simple>
</value>
</entry>
</properties>
</scripts>
<scripts id="2d8e021b-77e9-4d5c-a3e7-36fa9f8f1c42"/>
<scripts id="5c1508fe-b7fe-44cb-bec9-11eb7b09570f"/>
<scripts id="b26e8065-5cb8-40d4-b160-61e2ccc0cb14">
<properties>
<entry>
<key>columnForSave</key>
@ -1748,7 +1746,7 @@
</item>
<item id="2ee3d3e8-3f6e-4dbb-9c57-7815ec96dadc" removed="false">
<value>
<simple>"webp"</simple>
<simple>"jpg"</simple>
</value>
</item>
<item id="d8b830a7-2e42-4639-baa9-85c73895ace5" removed="false">
@ -1760,22 +1758,17 @@
<item id="1fee2eab-40ba-4c16-b471-75f522eeea9d" removed="true"/>
<item id="8c398d16-eac4-4f31-9755-55748bc29b65" removed="false">
<value>
<simple>"gif"</simple>
<simple>"odt"</simple>
</value>
</item>
<item id="8b635611-b65a-49c5-b1f2-dc3b9975811c" removed="false">
<value>
<simple>"raw"</simple>
<simple>"doc"</simple>
</value>
</item>
<item id="cb7c8457-2f6e-41a3-9a4d-e8560ddee7c3" removed="false">
<value>
<simple>"tiff"</simple>
</value>
</item>
<item id="1d963d03-1f14-4a9a-b60b-70b5d4c22b56" removed="false">
<value>
<simple>"psd"</simple>
<simple>"docx"</simple>
</value>
</item>
<item id="e5c31c54-9371-4c39-8c26-2ada992000d6" removed="true"/>
@ -1884,7 +1877,6 @@
<componentRootId>6a35687d-bbb6-4094-86c8-2f414a1ca1e7</componentRootId>
<name>Vbox_3</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
<properties>
@ -1918,6 +1910,7 @@
<componentRootId>9bfac70b-fd5e-4cdc-84fa-50190bde76d1</componentRootId>
<name>Many to many</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
<properties>
@ -2504,6 +2497,7 @@
<componentRootId>a44f98ec-c47e-40b3-983f-73b5a72bb31d</componentRootId>
<name>IP- адреса</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="e39e7bd9-3f44-4cb6-ab26-7aa5f7e7e1cc">
<properties>
@ -2564,7 +2558,7 @@
<entry>
<key>rowEditionType</key>
<value>
<simple>"NO_CLICK"</simple>
<simple>"SINGLE_CLICK"</simple>
</value>
</entry>
<entry>
@ -2716,9 +2710,12 @@
<componentRootId>f04c6a48-0dd2-4308-a4ad-efad0e0e6f3e</componentRootId>
<name>IP адрес_text field (column)</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="629205c1-607f-4483-ba17-1d1bbe74432b"/>
<scripts id="e83fada5-9370-43cf-a757-f60760fa9397">
<enabled>false</enabled>
<expanded>false</expanded>
<properties>
<entry>
<key>label</key>
@ -2729,7 +2726,43 @@
<entry>
<key>mask</key>
<value>
<simple>"9[9][9].9[9][9].9[9][9].9[9][9]"</simple>
<simple>"^((25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.){3}(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})$"</simple>
</value>
</entry>
<entry>
<key>maxLength</key>
<value>
<simple>null</simple>
</value>
</entry>
<entry>
<key>minLength</key>
<value>
<simple>null</simple>
</value>
</entry>
<entry>
<key>pattern</key>
<value>
<simple>null</simple>
</value>
</entry>
<entry>
<key>patternErrorMessage</key>
<value>
<simple>"Проверьте корректность заполнения ip-адреса"</simple>
</value>
</entry>
<entry>
<key>placeholder</key>
<value>
<simple>null</simple>
</value>
</entry>
<entry>
<key>regexMask</key>
<value>
<simple>true</simple>
</value>
</entry>
<entry>
@ -2738,6 +2771,12 @@
<simple>true</simple>
</value>
</entry>
<entry>
<key>tooltip</key>
<value>
<simple>"Введите ip-адрес"</simple>
</value>
</entry>
<entry>
<key>unMaskValue</key>
<value>
@ -2770,6 +2809,46 @@
<value>
<simple>{"schema":"public","table":"link_user_application_ip_address","entity":"link_user_application_ip_address","name":"ip_address"}</simple>
</value>
</entry>
</properties>
</scripts>
<scripts id="913abe3d-38b9-4029-bd78-34dc962e2949">
<classRef type="TS">
<className>ErvuAccountTextFieldGridEditor</className>
<packageName>account_applications.component.editablegrid.editors</packageName>
</classRef>
<enabled>true</enabled>
<expanded>true</expanded>
<properties>
<entry>
<key>mask</key>
<value>
<simple>"9[9][9].9[9][9].9[9][9].9[9][9]"</simple>
</value>
</entry>
<entry>
<key>pattern</key>
<value>
<simple>"^((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}$"</simple>
</value>
</entry>
<entry>
<key>required</key>
<value>
<simple>true</simple>
</value>
</entry>
<entry>
<key>tooltip</key>
<value>
<simple>"Введите ip-адрес"</simple>
</value>
</entry>
<entry>
<key>unMaskValue</key>
<value>
<simple>false</simple>
</value>
</entry>
</properties>
</scripts>
@ -3288,6 +3367,7 @@
<componentRootId>eff7bfda-85b7-4f80-817b-59d5cf192d93</componentRootId>
<name>Vbox_current_user</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"/>
<scripts id="72befe90-1915-483f-b88c-d1ec5d4bdc8e"/>
@ -3405,14 +3485,325 @@
<componentRootId>41fc9dcd-6e83-4886-9049-acbcbec7b99d</componentRootId>
<name>Action Controller1</name>
<container>false</container>
<removed>true</removed>
<childrenReordered>false</childrenReordered>
<scripts id="37dff5c8-1599-4984-b107-c44a87b6da2e">
<properties>
<entry>
<key>eventRefs</key>
<value>
<item id="0094caef-4dac-4097-b37c-6e266ec8ad71" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"594569b5-8dfd-4576-91cb-57c900c46c60","packageName":"component.field","className":"TextField","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"valueChangeEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
</value>
</entry>
<entry>
<key>ifCondition</key>
<value>
<complex>
<entry>
<key>conditions</key>
<value>
<item id="e1d4b5dc-efbe-42ac-b158-79ddc0818052" removed="false">
<value>
<complex>
<entry>
<key>_isGroupSelected</key>
<value>
<simple>false</simple>
</value>
</entry>
<entry>
<key>one</key>
<value>
<complex>
<entry>
<key>conditionFirstPart</key>
<value>
<complex>
<entry>
<key>objectValue</key>
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"594569b5-8dfd-4576-91cb-57c900c46c60","packageName":"component.field","className":"TextField","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"getValue"</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</entry>
<entry>
<key>operation</key>
<value>
<simple>"IS_NOT_EMPTY"</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
</value>
</entry>
<entry>
<key>logicalOperation</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
</value>
</entry>
<entry>
<key>thenActions</key>
<value>
<item id="df0e48af-6b37-4b8b-b072-b8c30af23f83" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"7b65eda9-a92d-49fe-8355-547f7941ba7f","packageName":"component.button","className":"ExecuteSqlButton","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"onClick"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
</value>
</item>
</value>
</entry>
</properties>
</scripts>
</children>
<children id="69e4bba9-688b-4273-a078-c6440233e07c">
<prototypeId>98594cec-0a9b-4cef-af09-e1b71cb2ad9e</prototypeId>
<componentRootId>69e4bba9-688b-4273-a078-c6440233e07c</componentRootId>
<name>Action Controller2</name>
<container>false</container>
<removed>true</removed>
<childrenReordered>false</childrenReordered>
<scripts id="37dff5c8-1599-4984-b107-c44a87b6da2e">
<properties>
<entry>
<key>eventRefs</key>
<value>
<item id="2e637366-d2f8-47fd-b7dd-f7b99efd9cc0" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"7b65eda9-a92d-49fe-8355-547f7941ba7f","packageName":"component.button","className":"ExecuteSqlButton","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"clickEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
</value>
</entry>
<entry>
<key>ifCondition</key>
<value>
<complex>
<entry>
<key>conditions</key>
<value>
<item id="ac2af951-9e51-444b-824f-dc83dfb12f93" removed="false">
<value>
<complex>
<entry>
<key>_isGroupSelected</key>
<value>
<simple>false</simple>
</value>
</entry>
<entry>
<key>one</key>
<value>
<complex>
<entry>
<key>conditionFirstPart</key>
<value>
<complex>
<entry>
<key>objectValue</key>
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"7b65eda9-a92d-49fe-8355-547f7941ba7f","packageName":"component.button","className":"ExecuteSqlButton","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"getResult"</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</entry>
<entry>
<key>operation</key>
<value>
<simple>"IS_NOT_EMPTY"</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
</value>
</entry>
<entry>
<key>logicalOperation</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
</value>
</entry>
<entry>
<key>thenActions</key>
<value>
<item id="0aea3f15-a642-4ede-a438-acb904c6194b" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"ec1fa9b6-04e1-4b58-96c7-538963204d95","packageName":"component.field","className":"Autocomplete","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setValueByBusinessId"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>objectValue</key>
<value>
<complex>
<entry>
<key>argument</key>
<value>
<simple>null</simple>
</value>
</entry>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"7b65eda9-a92d-49fe-8355-547f7941ba7f","packageName":"component.button","className":"ExecuteSqlButton","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"getResult"</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
<item id="063371a2-13b4-48bc-b2fa-26bfda38bbbb" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"ec1fa9b6-04e1-4b58-96c7-538963204d95","packageName":"component.field","className":"Autocomplete","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"setEnabled"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<complex>
<entry>
<key>staticValue</key>
<value>
<implRef type="TS">
<className>boolean</className>
<packageName></packageName>
</implRef>
<simple>false</simple>
</value>
</entry>
</complex>
</value>
</entry>
</complex>
</value>
</item>
</value>
</entry>
</properties>
</scripts>
</children>
</children>
<children id="b1b6018e-a845-4303-a180-560e7d7bf68e">

View file

@ -2471,6 +2471,7 @@
<componentRootId>0238c461-4b4e-49b7-8c09-829b8c5fefd0</componentRootId>
<name>IP- адреса</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="e39e7bd9-3f44-4cb6-ab26-7aa5f7e7e1cc">
<properties>
@ -2531,7 +2532,7 @@
<entry>
<key>rowEditionType</key>
<value>
<simple>"NO_CLICK"</simple>
<simple>"SINGLE_CLICK"</simple>
</value>
</entry>
<entry>
@ -2683,9 +2684,11 @@
<componentRootId>d132a5c1-f433-4cae-be25-9eefdfa5204f</componentRootId>
<name>IP адрес_text field (column)</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="629205c1-607f-4483-ba17-1d1bbe74432b"/>
<scripts id="e83fada5-9370-43cf-a757-f60760fa9397">
<enabled>false</enabled>
<properties>
<entry>
<key>label</key>
@ -2737,6 +2740,46 @@
<value>
<simple>{"schema":"public","table":"link_user_application_ip_address","entity":"link_user_application_ip_address","name":"ip_address"}</simple>
</value>
</entry>
</properties>
</scripts>
<scripts id="781280c8-26c0-4b9b-86b9-03ef3004bf3b">
<classRef type="TS">
<className>ErvuAccountTextFieldGridEditor</className>
<packageName>account_applications.component.editablegrid.editors</packageName>
</classRef>
<enabled>true</enabled>
<expanded>true</expanded>
<properties>
<entry>
<key>mask</key>
<value>
<simple>"9[9][9].9[9][9].9[9][9].9[9][9]"</simple>
</value>
</entry>
<entry>
<key>pattern</key>
<value>
<simple>"^((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}$"</simple>
</value>
</entry>
<entry>
<key>required</key>
<value>
<simple>true</simple>
</value>
</entry>
<entry>
<key>tooltip</key>
<value>
<simple>"Введите ip-адрес"</simple>
</value>
</entry>
<entry>
<key>unMaskValue</key>
<value>
<simple>false</simple>
</value>
</entry>
</properties>
</scripts>

View file

@ -2539,6 +2539,7 @@
<componentRootId>4a55cbf7-e58e-485a-aa8d-30947c00f537</componentRootId>
<name>IP- адреса</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="e39e7bd9-3f44-4cb6-ab26-7aa5f7e7e1cc">
<properties>
@ -2599,7 +2600,7 @@
<entry>
<key>rowEditionType</key>
<value>
<simple>"NO_CLICK"</simple>
<simple>"SINGLE_CLICK"</simple>
</value>
</entry>
<entry>
@ -2751,9 +2752,11 @@
<componentRootId>a357ff33-0ae2-47b2-b747-aa4d3e9745e0</componentRootId>
<name>IP адрес_text field (column)</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="629205c1-607f-4483-ba17-1d1bbe74432b"/>
<scripts id="e83fada5-9370-43cf-a757-f60760fa9397">
<enabled>false</enabled>
<properties>
<entry>
<key>label</key>
@ -2805,6 +2808,46 @@
<value>
<simple>{"schema":"public","table":"link_user_application_ip_address","entity":"link_user_application_ip_address","name":"ip_address"}</simple>
</value>
</entry>
</properties>
</scripts>
<scripts id="4caa2a1b-b3f5-4be9-bf67-37ac680a1dfc">
<classRef type="TS">
<className>ErvuAccountTextFieldGridEditor</className>
<packageName>account_applications.component.editablegrid.editors</packageName>
</classRef>
<enabled>true</enabled>
<expanded>true</expanded>
<properties>
<entry>
<key>mask</key>
<value>
<simple>"9[9][9].9[9][9].9[9][9].9[9][9]"</simple>
</value>
</entry>
<entry>
<key>pattern</key>
<value>
<simple>"^((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}$"</simple>
</value>
</entry>
<entry>
<key>required</key>
<value>
<simple>true</simple>
</value>
</entry>
<entry>
<key>tooltip</key>
<value>
<simple>"Введите ip-адрес"</simple>
</value>
</entry>
<entry>
<key>unMaskValue</key>
<value>
<simple>false</simple>
</value>
</entry>
</properties>
</scripts>