@messaia/cdk 18.2.2 → 18.2.3-rc02
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/base/components/generic-form-base.component.mjs +8 -3
- package/esm2022/lib/base/components/generic-list.component.mjs +3 -3
- package/esm2022/lib/common/common.module.mjs +2 -1
- package/esm2022/lib/common/models/app-event.mjs +13 -1
- package/esm2022/lib/common/models/audit-entity.mjs +21 -8
- package/esm2022/lib/common/models/audit-user.mjs +13 -4
- package/esm2022/lib/common/models/base-entity.mjs +12 -5
- package/esm2022/lib/common/models/common-error.mjs +16 -6
- package/esm2022/lib/common/models/common-handler-context.mjs +20 -11
- package/esm2022/lib/common/models/displayname-number-projection.mjs +27 -6
- package/esm2022/lib/common/models/displayname-projection.mjs +17 -4
- package/esm2022/lib/common/models/entity.mjs +1 -1
- package/esm2022/lib/common/models/enum-item.mjs +1 -1
- package/esm2022/lib/common/models/enum-metadata.mjs +20 -9
- package/esm2022/lib/common/models/modifiable-entity.mjs +22 -0
- package/esm2022/lib/forms/components/generic-form/generic-form.component.mjs +1 -6
- package/fesm2022/messaia-cdk.mjs +181 -55
- package/fesm2022/messaia-cdk.mjs.map +1 -1
- package/lib/common/common.module.d.ts +1 -0
- package/lib/common/models/app-event.d.ts +12 -0
- package/lib/common/models/audit-entity.d.ts +18 -6
- package/lib/common/models/audit-user.d.ts +12 -3
- package/lib/common/models/base-entity.d.ts +11 -4
- package/lib/common/models/common-error.d.ts +15 -5
- package/lib/common/models/common-handler-context.d.ts +19 -10
- package/lib/common/models/displayname-number-projection.d.ts +15 -3
- package/lib/common/models/displayname-projection.d.ts +11 -2
- package/lib/common/models/entity.d.ts +6 -1
- package/lib/common/models/enum-item.d.ts +16 -5
- package/lib/common/models/enum-metadata.d.ts +19 -8
- package/lib/common/models/modifiable-entity.d.ts +21 -0
- package/lib/forms/components/generic-form/generic-form.component.d.ts +0 -2
- package/package.json +1 -1
package/fesm2022/messaia-cdk.mjs
CHANGED
|
@@ -1409,9 +1409,21 @@ var Salutation;
|
|
|
1409
1409
|
Salutation[Salutation["Male"] = 2] = "Male";
|
|
1410
1410
|
})(Salutation || (Salutation = {}));
|
|
1411
1411
|
|
|
1412
|
+
/**
|
|
1413
|
+
* Represents an application event with a specified type and associated payload.
|
|
1414
|
+
* Used for event-driven communication within the application.
|
|
1415
|
+
*
|
|
1416
|
+
* @template T The type of the payload associated with the event.
|
|
1417
|
+
*/
|
|
1412
1418
|
class AppEvent {
|
|
1413
1419
|
type;
|
|
1414
1420
|
payload;
|
|
1421
|
+
/**
|
|
1422
|
+
* Constructor to initialize the event type and payload.
|
|
1423
|
+
*
|
|
1424
|
+
* @param type The type of the event, represented by the `AppEventType` enum.
|
|
1425
|
+
* @param payload The data or payload associated with the event.
|
|
1426
|
+
*/
|
|
1415
1427
|
constructor(type, payload) {
|
|
1416
1428
|
this.type = type;
|
|
1417
1429
|
this.payload = payload;
|
|
@@ -1420,16 +1432,26 @@ class AppEvent {
|
|
|
1420
1432
|
|
|
1421
1433
|
/**
|
|
1422
1434
|
* Represents a common error with a code and description.
|
|
1435
|
+
* Typically used to encapsulate error details for consistent error handling.
|
|
1423
1436
|
*/
|
|
1424
1437
|
class CommonError {
|
|
1425
|
-
/**
|
|
1438
|
+
/**
|
|
1439
|
+
* @property Code
|
|
1440
|
+
* @description The unique code identifying the type of error.
|
|
1441
|
+
* @type {string}
|
|
1442
|
+
*/
|
|
1426
1443
|
code;
|
|
1427
|
-
/**
|
|
1444
|
+
/**
|
|
1445
|
+
* @property Description
|
|
1446
|
+
* @description A human-readable message providing details about the error.
|
|
1447
|
+
* @type {string}
|
|
1448
|
+
*/
|
|
1428
1449
|
description;
|
|
1429
1450
|
/**
|
|
1430
|
-
* Constructs a new instance of CommonError.
|
|
1431
|
-
*
|
|
1432
|
-
* @param
|
|
1451
|
+
* Constructs a new instance of the `CommonError` class.
|
|
1452
|
+
*
|
|
1453
|
+
* @param code The unique error code.
|
|
1454
|
+
* @param description A descriptive message explaining the error.
|
|
1433
1455
|
*/
|
|
1434
1456
|
constructor(code, description) {
|
|
1435
1457
|
this.code = code;
|
|
@@ -1438,33 +1460,42 @@ class CommonError {
|
|
|
1438
1460
|
}
|
|
1439
1461
|
|
|
1440
1462
|
/**
|
|
1441
|
-
* Represents the context of a handler operation, including
|
|
1442
|
-
*
|
|
1463
|
+
* Represents the context of a handler operation, including the operation result, success status, and associated errors.
|
|
1464
|
+
*
|
|
1465
|
+
* @typeparam TResult The type of the result encapsulated by the context.
|
|
1443
1466
|
*/
|
|
1444
1467
|
class CommonHandlerContext {
|
|
1445
1468
|
/**
|
|
1446
|
-
*
|
|
1469
|
+
* @property Errors
|
|
1470
|
+
* @description A collection of errors that occurred during the operation. Empty if the operation succeeded.
|
|
1471
|
+
* @type {CommonError[]}
|
|
1447
1472
|
*/
|
|
1448
1473
|
errors = [];
|
|
1449
1474
|
/**
|
|
1450
|
-
*
|
|
1475
|
+
* @property Result
|
|
1476
|
+
* @description The result of the operation. Its value depends on the success or failure of the operation.
|
|
1477
|
+
* @type {TResult}
|
|
1451
1478
|
*/
|
|
1452
1479
|
result;
|
|
1453
1480
|
/**
|
|
1454
|
-
*
|
|
1481
|
+
* @property Has Succeeded
|
|
1482
|
+
* @description Indicates whether the operation was successful. Defaults to `true`.
|
|
1483
|
+
* @type {boolean}
|
|
1455
1484
|
*/
|
|
1456
1485
|
hasSucceeded = true;
|
|
1457
1486
|
/**
|
|
1458
|
-
* Constructs a new instance of CommonHandlerContext.
|
|
1459
|
-
*
|
|
1487
|
+
* Constructs a new instance of the `CommonHandlerContext` class.
|
|
1488
|
+
*
|
|
1489
|
+
* @param result The initial result of the operation.
|
|
1460
1490
|
*/
|
|
1461
1491
|
constructor(result) {
|
|
1462
1492
|
this.result = result;
|
|
1463
1493
|
}
|
|
1464
1494
|
/**
|
|
1465
|
-
* Marks the operation as failed and
|
|
1466
|
-
*
|
|
1467
|
-
* @
|
|
1495
|
+
* Marks the operation as failed and appends the provided errors to the `errors` property.
|
|
1496
|
+
*
|
|
1497
|
+
* @param errors An optional array of `CommonError` instances that provide details about why the operation failed.
|
|
1498
|
+
* @returns The current instance of `CommonHandlerContext` with the failure status and errors updated.
|
|
1468
1499
|
*/
|
|
1469
1500
|
fail(...errors) {
|
|
1470
1501
|
this.errors.push(...errors);
|
|
@@ -2100,17 +2131,29 @@ function Api(endpoint) {
|
|
|
2100
2131
|
};
|
|
2101
2132
|
}
|
|
2102
2133
|
|
|
2134
|
+
/**
|
|
2135
|
+
* Represents a projection of an entity with display name, number, and ID properties.
|
|
2136
|
+
* This class is typically used to define how these properties are displayed and filtered in a table/grid.
|
|
2137
|
+
*/
|
|
2103
2138
|
class DisplayNameNumberProjection {
|
|
2104
2139
|
/**
|
|
2105
|
-
* @property
|
|
2140
|
+
* @property Display Name
|
|
2141
|
+
* @description The name to display in the grid or UI. It is optional and localized using `@Display`.
|
|
2142
|
+
* @type {string}
|
|
2106
2143
|
*/
|
|
2107
2144
|
displayName;
|
|
2108
2145
|
/**
|
|
2109
|
-
* @property
|
|
2146
|
+
* @property Number
|
|
2147
|
+
* @description A numeric value associated with the entity, displayed in the grid.
|
|
2148
|
+
* Includes filtering options and a medium grid display configuration.
|
|
2149
|
+
* @type {number}
|
|
2110
2150
|
*/
|
|
2111
2151
|
number;
|
|
2112
2152
|
/**
|
|
2113
|
-
* @property
|
|
2153
|
+
* @property ID
|
|
2154
|
+
* @description The unique identifier for the entity. Configured for filtering and sorting.
|
|
2155
|
+
* The arrowBefore property ensures proper column sorting behavior in grids.
|
|
2156
|
+
* @type {number}
|
|
2114
2157
|
*/
|
|
2115
2158
|
id;
|
|
2116
2159
|
}
|
|
@@ -2120,23 +2163,41 @@ __decorate([
|
|
|
2120
2163
|
__metadata("design:type", String)
|
|
2121
2164
|
], DisplayNameNumberProjection.prototype, "displayName", void 0);
|
|
2122
2165
|
__decorate([
|
|
2123
|
-
Column({
|
|
2166
|
+
Column({
|
|
2167
|
+
index: 10,
|
|
2168
|
+
filterOperator: FilterOperator.Contains,
|
|
2169
|
+
maxWidth: 90,
|
|
2170
|
+
display: Grid.Md
|
|
2171
|
+
}),
|
|
2124
2172
|
Display($localize `:@@number:Number`),
|
|
2125
2173
|
__metadata("design:type", Number)
|
|
2126
2174
|
], DisplayNameNumberProjection.prototype, "number", void 0);
|
|
2127
2175
|
__decorate([
|
|
2128
|
-
Column({
|
|
2176
|
+
Column({
|
|
2177
|
+
filterOperator: FilterOperator.Contains,
|
|
2178
|
+
index: 1100,
|
|
2179
|
+
arrowBefore: true
|
|
2180
|
+
}),
|
|
2129
2181
|
Display($localize `:@@id:ID`),
|
|
2130
2182
|
__metadata("design:type", Number)
|
|
2131
2183
|
], DisplayNameNumberProjection.prototype, "id", void 0);
|
|
2132
2184
|
|
|
2185
|
+
/**
|
|
2186
|
+
* Represents a projection for displaying an entity's name and ID properties.
|
|
2187
|
+
* This class is typically used in grid or table views to manage how these properties are displayed and filtered.
|
|
2188
|
+
*/
|
|
2133
2189
|
class DisplayNameProjection {
|
|
2134
2190
|
/**
|
|
2135
|
-
* @property
|
|
2191
|
+
* @property Display Name
|
|
2192
|
+
* @description The name to display in the grid or UI. This property is localized using `@Display`.
|
|
2193
|
+
* @type {string}
|
|
2136
2194
|
*/
|
|
2137
2195
|
displayName;
|
|
2138
2196
|
/**
|
|
2139
|
-
* @property
|
|
2197
|
+
* @property ID
|
|
2198
|
+
* @description The unique identifier for the entity. Configured for filtering and sorting.
|
|
2199
|
+
* The `arrowBefore` property ensures proper sorting behavior in grids.
|
|
2200
|
+
* @type {number}
|
|
2140
2201
|
*/
|
|
2141
2202
|
id;
|
|
2142
2203
|
}
|
|
@@ -2146,38 +2207,53 @@ __decorate([
|
|
|
2146
2207
|
__metadata("design:type", String)
|
|
2147
2208
|
], DisplayNameProjection.prototype, "displayName", void 0);
|
|
2148
2209
|
__decorate([
|
|
2149
|
-
Column({
|
|
2210
|
+
Column({
|
|
2211
|
+
filterOperator: FilterOperator.Contains,
|
|
2212
|
+
index: 1100,
|
|
2213
|
+
arrowBefore: true
|
|
2214
|
+
}),
|
|
2150
2215
|
Display($localize `:@@id:ID`),
|
|
2151
2216
|
__metadata("design:type", Number)
|
|
2152
2217
|
], DisplayNameProjection.prototype, "id", void 0);
|
|
2153
2218
|
|
|
2154
2219
|
/**
|
|
2155
|
-
* Metadata class for enum values, containing display information and
|
|
2220
|
+
* Metadata class for enum values, containing display information, ordering, and other optional properties.
|
|
2221
|
+
* This class provides additional metadata for enum items, useful for customizing their presentation and behavior in the UI.
|
|
2156
2222
|
*/
|
|
2157
2223
|
class EnumMetadata {
|
|
2158
2224
|
/**
|
|
2159
|
-
*
|
|
2225
|
+
* @property Display
|
|
2226
|
+
* @description An optional display string associated with the enum value. This string can be used for user-friendly display in the UI.
|
|
2227
|
+
* @type {string}
|
|
2160
2228
|
*/
|
|
2161
2229
|
display;
|
|
2162
2230
|
/**
|
|
2163
|
-
*
|
|
2231
|
+
* @property Icon
|
|
2232
|
+
* @description An optional icon associated with the enum value. This can be used to visually represent the enum value in the UI.
|
|
2233
|
+
* @type {Icon<any, any>}
|
|
2164
2234
|
*/
|
|
2165
2235
|
icon;
|
|
2166
2236
|
/**
|
|
2167
|
-
*
|
|
2237
|
+
* @property Text Color
|
|
2238
|
+
* @description An optional text color associated with the enum value. This allows customization of the appearance of the value in the UI.
|
|
2239
|
+
* @type {string}
|
|
2168
2240
|
*/
|
|
2169
2241
|
textColor;
|
|
2170
2242
|
/**
|
|
2171
|
-
*
|
|
2243
|
+
* @property Order
|
|
2244
|
+
* @description An optional order number used for sorting enum values. This helps in controlling the order in which enum items are displayed.
|
|
2245
|
+
* @type {number}
|
|
2172
2246
|
*/
|
|
2173
2247
|
order;
|
|
2174
2248
|
/**
|
|
2175
|
-
*
|
|
2249
|
+
* @property Hidden
|
|
2250
|
+
* @description A flag indicating whether the enum value should be hidden from the UI. This can be useful for conditionally hiding enum items.
|
|
2251
|
+
* @type {boolean}
|
|
2176
2252
|
*/
|
|
2177
2253
|
hidden;
|
|
2178
2254
|
/**
|
|
2179
|
-
* Constructor to initialize the EnumMetadata class.
|
|
2180
|
-
* @param init
|
|
2255
|
+
* Constructor to initialize the EnumMetadata class with optional values.
|
|
2256
|
+
* @param init An optional partial object to initialize the properties of EnumMetadata.
|
|
2181
2257
|
*/
|
|
2182
2258
|
constructor(init) {
|
|
2183
2259
|
Object.assign(this, init);
|
|
@@ -3776,18 +3852,25 @@ function prop(config) {
|
|
|
3776
3852
|
};
|
|
3777
3853
|
}
|
|
3778
3854
|
|
|
3855
|
+
/**
|
|
3856
|
+
* Abstract class representing a base entity with common properties and functionality.
|
|
3857
|
+
*/
|
|
3779
3858
|
class BaseEntity {
|
|
3780
3859
|
/**
|
|
3781
|
-
* @property
|
|
3860
|
+
* @property ID
|
|
3861
|
+
* @description Represents the unique identifier of the entity.
|
|
3862
|
+
* @type {number}
|
|
3782
3863
|
*/
|
|
3783
3864
|
id;
|
|
3784
3865
|
/**
|
|
3785
|
-
* @property
|
|
3866
|
+
* @property Version
|
|
3867
|
+
* @description Represents the version number of the entity for concurrency control.
|
|
3868
|
+
* @type {number}
|
|
3786
3869
|
*/
|
|
3787
3870
|
version;
|
|
3788
3871
|
/**
|
|
3789
|
-
*
|
|
3790
|
-
* @param init
|
|
3872
|
+
* Constructor to initialize properties of the base entity.
|
|
3873
|
+
* @param init Partial object containing initial property values.
|
|
3791
3874
|
*/
|
|
3792
3875
|
constructor(init) {
|
|
3793
3876
|
Object.assign(this, init);
|
|
@@ -3805,26 +3888,38 @@ __decorate([
|
|
|
3805
3888
|
__metadata("design:type", Number)
|
|
3806
3889
|
], BaseEntity.prototype, "id", void 0);
|
|
3807
3890
|
|
|
3891
|
+
/**
|
|
3892
|
+
* Abstract class extending the base entity with audit-related properties.
|
|
3893
|
+
* Includes information about entity creation and updates.
|
|
3894
|
+
*/
|
|
3808
3895
|
class AuditEntity extends BaseEntity {
|
|
3809
3896
|
/**
|
|
3810
|
-
* @property
|
|
3897
|
+
* @property Created By
|
|
3898
|
+
* @description Specifies the username or identifier of the user who created the entity.
|
|
3899
|
+
* @type {string}
|
|
3811
3900
|
*/
|
|
3812
3901
|
createdBy;
|
|
3813
3902
|
/**
|
|
3814
|
-
* @property
|
|
3903
|
+
* @property Created Date
|
|
3904
|
+
* @description Specifies the date and time when the entity was created.
|
|
3905
|
+
* @type {Date}
|
|
3815
3906
|
*/
|
|
3816
3907
|
createdDate;
|
|
3817
3908
|
/**
|
|
3818
|
-
* @property
|
|
3909
|
+
* @property Updated By
|
|
3910
|
+
* @description Specifies the username or identifier of the user who last updated the entity.
|
|
3911
|
+
* @type {string}
|
|
3819
3912
|
*/
|
|
3820
3913
|
updatedBy;
|
|
3821
3914
|
/**
|
|
3822
|
-
* @property
|
|
3915
|
+
* @property Updated Date
|
|
3916
|
+
* @description Specifies the date and time when the entity was last updated.
|
|
3917
|
+
* @type {Date}
|
|
3823
3918
|
*/
|
|
3824
3919
|
updatedDate;
|
|
3825
3920
|
/**
|
|
3826
|
-
*
|
|
3827
|
-
* @param init
|
|
3921
|
+
* Constructor to initialize properties of the audit entity.
|
|
3922
|
+
* @param init Partial object containing initial property values.
|
|
3828
3923
|
*/
|
|
3829
3924
|
constructor(init) {
|
|
3830
3925
|
super(init);
|
|
@@ -3836,22 +3931,32 @@ __decorate([
|
|
|
3836
3931
|
index: 1000,
|
|
3837
3932
|
columnSets: ['audit', 'common'],
|
|
3838
3933
|
header: $localize `:@@createdDate:Created date`,
|
|
3839
|
-
arrowBefore: true,
|
|
3934
|
+
arrowBefore: true,
|
|
3935
|
+
display: Grid.Sm
|
|
3840
3936
|
}),
|
|
3841
3937
|
__metadata("design:type", Date)
|
|
3842
3938
|
], AuditEntity.prototype, "createdDate", void 0);
|
|
3843
3939
|
|
|
3940
|
+
/**
|
|
3941
|
+
* Represents a user entity with audit-related information such as display name, email, and letter.
|
|
3942
|
+
*/
|
|
3844
3943
|
class AuditUser {
|
|
3845
3944
|
/**
|
|
3846
|
-
* @property
|
|
3945
|
+
* @property Display Name
|
|
3946
|
+
* @description The full name or preferred display name of the user.
|
|
3947
|
+
* @type {string}
|
|
3847
3948
|
*/
|
|
3848
3949
|
displayName;
|
|
3849
3950
|
/**
|
|
3850
|
-
* @property
|
|
3951
|
+
* @property Email
|
|
3952
|
+
* @description The email address of the user.
|
|
3953
|
+
* @type {string}
|
|
3851
3954
|
*/
|
|
3852
3955
|
email;
|
|
3853
3956
|
/**
|
|
3854
|
-
* @property
|
|
3957
|
+
* @property Letter
|
|
3958
|
+
* @description The first letter or an abbreviation associated with the user.
|
|
3959
|
+
* @type {string}
|
|
3855
3960
|
*/
|
|
3856
3961
|
letter;
|
|
3857
3962
|
}
|
|
@@ -3909,6 +4014,27 @@ class KeyValue {
|
|
|
3909
4014
|
value;
|
|
3910
4015
|
}
|
|
3911
4016
|
|
|
4017
|
+
/**
|
|
4018
|
+
* Represents an entity that can be modified, extending from the AuditEntity class.
|
|
4019
|
+
* This class adds additional properties to manage whether the entity is deletable or editable.
|
|
4020
|
+
*/
|
|
4021
|
+
class ModifiableEntity extends AuditEntity {
|
|
4022
|
+
/**
|
|
4023
|
+
* @property isDeletable
|
|
4024
|
+
* @description A flag indicating whether the entity can be deleted.
|
|
4025
|
+
* This property helps determine if the entity is deletable in the UI or business logic.
|
|
4026
|
+
* @type {boolean}
|
|
4027
|
+
*/
|
|
4028
|
+
isDeletable;
|
|
4029
|
+
/**
|
|
4030
|
+
* @property isEditable
|
|
4031
|
+
* @description A flag indicating whether the entity can be edited.
|
|
4032
|
+
* This property helps determine if the entity is editable in the UI or business logic.
|
|
4033
|
+
* @type {boolean}
|
|
4034
|
+
*/
|
|
4035
|
+
isEditable;
|
|
4036
|
+
}
|
|
4037
|
+
|
|
3912
4038
|
var SaveAction;
|
|
3913
4039
|
(function (SaveAction) {
|
|
3914
4040
|
SaveAction[SaveAction["SaveAndClose"] = 0] = "SaveAndClose";
|
|
@@ -19684,8 +19810,6 @@ class GenericFormBaseComponent extends BaseComponent {
|
|
|
19684
19810
|
}
|
|
19685
19811
|
/* Set panel ID from query */
|
|
19686
19812
|
this.subtitle ||= this.route.snapshot?.data?.subtitle;
|
|
19687
|
-
/* Add list menu items */
|
|
19688
|
-
this.addToolbarMenuItems();
|
|
19689
19813
|
}
|
|
19690
19814
|
/**
|
|
19691
19815
|
* Builds the form fields.
|
|
@@ -19702,8 +19826,15 @@ class GenericFormBaseComponent extends BaseComponent {
|
|
|
19702
19826
|
this.toolbarMenuItems = this.toolbarMenuItems.concat(...this.formDefinition?.toolbarMenuItems);
|
|
19703
19827
|
this.toolbarMenuItems.forEach((x, i) => x.index ??= i);
|
|
19704
19828
|
}
|
|
19829
|
+
/*
|
|
19830
|
+
Assign a value to `this.deletable` only if it is currently falsy.
|
|
19831
|
+
Use the `deletable` property from `formDefinition`, defaulting to `false` if undefined.
|
|
19832
|
+
*/
|
|
19833
|
+
this.deletable &&= (this.formDefinition.deletable ?? false);
|
|
19705
19834
|
/* Create the form fields using the entity type */
|
|
19706
19835
|
this.fieldGroups = this.formDefinition?.fieldGroups?.filter(x => !x.hidden);
|
|
19836
|
+
/* Add list menu items */
|
|
19837
|
+
this.addToolbarMenuItems();
|
|
19707
19838
|
}
|
|
19708
19839
|
/**
|
|
19709
19840
|
* Builds a new form.
|
|
@@ -20836,7 +20967,7 @@ class GenericListComponent extends BaseComponent {
|
|
|
20836
20967
|
});
|
|
20837
20968
|
}
|
|
20838
20969
|
/* Add delete menu */
|
|
20839
|
-
if (this.deletable) {
|
|
20970
|
+
if (this.deletable && this.canDelete) {
|
|
20840
20971
|
this.rowMenuItems.unshift({
|
|
20841
20972
|
title: $localize `:@@delete:Delete`,
|
|
20842
20973
|
icon: 'delete_forever',
|
|
@@ -20846,7 +20977,7 @@ class GenericListComponent extends BaseComponent {
|
|
|
20846
20977
|
});
|
|
20847
20978
|
}
|
|
20848
20979
|
/* Add edit menu */
|
|
20849
|
-
if (this.editable) {
|
|
20980
|
+
if (this.editable && this.canUpdate) {
|
|
20850
20981
|
this.rowMenuItems.unshift({
|
|
20851
20982
|
title: $localize `:@@edit:Edit`,
|
|
20852
20983
|
icon: 'edit_note',
|
|
@@ -25723,11 +25854,6 @@ class VdGenericFormComponent {
|
|
|
25723
25854
|
log(message, ...optionalParams) {
|
|
25724
25855
|
console.log(message, optionalParams);
|
|
25725
25856
|
}
|
|
25726
|
-
//---------------------------------------------------------------
|
|
25727
|
-
//TODO delete:
|
|
25728
|
-
myFunction(func, option) {
|
|
25729
|
-
return func(option, this.formValue, this.formGroup, this.context);
|
|
25730
|
-
}
|
|
25731
25857
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdGenericFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25732
25858
|
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: VdGenericFormComponent, selector: "vd-generic-form", inputs: { formGroup: "formGroup", classType: "classType", formDefinition: "formDefinition", fieldGroups: "fieldGroups", groupName: "groupName", fieldSets: "fieldSets", context: "context", debugValue: "debugValue", readonly: "readonly", separatorKeysCodes: "separatorKeysCodes" }, queries: [{ propertyName: "editorTemplate", first: true, predicate: VdEditorDirective, descendants: true }, { propertyName: "codeTemplate", first: true, predicate: VdCodeDirective, descendants: true }, { propertyName: "fileTemplate", first: true, predicate: VdFileDirective, descendants: true }, { propertyName: "customTemplate", first: true, predicate: VdCustomDirective, descendants: true }, { propertyName: "bottom", first: true, predicate: ["bottom"], descendants: true }, { propertyName: "customFields", first: true, predicate: ["customFields"], descendants: true }, { propertyName: "customFieldsTemplates", predicate: VdGenericFormCustomFieldDirective }], ngImport: i0, template: "<div *ngIf=\"formGroup && fieldRows\" [formGroup]=\"formGroup\">\r\n <!-- #region Fields -->\r\n <ng-container *ngFor=\"let fields of fieldRows; let i = index\">\r\n <div layout-gt-sm=\"row\" layout=\"column\">\r\n <ng-container *ngFor=\"let field of fields\" [ngSwitch]=\"field.type\">\r\n <ng-container *ngIf=\"!field.hidden && !(field.hide && field.hide(formValue, formGroup, context))\">\r\n <ng-container *ngIf=\"field.wrapped\">\r\n <!-- #region Text input -->\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Text\" [attr.flex]=\"field.flex||0\" [class]=\"field.cssClass\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <input matInput\r\n [type]=\"field.inputType ?? 'text'\"\r\n [minlength]=\"field.minLength | func:formValue:formGroup:context\"\r\n [maxlength]=\"field.maxLength | func:formValue:formGroup:context\"\r\n [min]=\"field.min\" [max]=\"field.max\"\r\n [formControlName]=\"field.name!\"\r\n [readonly]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\"\r\n [pattern]=\"((field.pattern | func:formValue:formGroup:context)??'')\"\r\n [autoFocus]=\"((field.focus | func:formValue:formGroup:context)??false)\"\r\n [selectText]=\"((field.selectText | func:formValue:formGroup:context)??false)\"\r\n [onlyNumber]=\"(field.numbersOnly??false)\"\r\n parseDecimal\r\n [parseDecimalEnabled]=\"(field.parseDecimal??false)\"\r\n (keydown)=\"field.keydown && field.keydown($event, formValue, formGroup, context)\">\r\n <ng-container *ngFor=\"let suffixButton of field.suffixButtons\" matSuffix>\r\n <button type=\"button\"\r\n mat-icon-button\r\n *ngIf=\"!suffixButton.hide || !suffixButton.hide(formValue, context)\"\r\n (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error *ngFor=\"let errorMessage of $any($any(formGroup.controls[field.name!]))['errorMessages']\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Textarea -->\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.TextArea\" [attr.flex]=\"field.flex||0\" [class]=\"field.cssClass\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <textarea matInput\r\n [formControlName]=\"field.name!\"\r\n rows=\"field.rows||2\"\r\n [readonly]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\"\r\n (keydown)=\"field.keydown && field.keydown($event, formValue, formGroup, context)\">\r\n </textarea>\r\n <ng-container *ngFor=\"let suffixButton of field.suffixButtons\" matSuffix>\r\n <button type=\"button\"\r\n mat-icon-button\r\n *ngIf=\"!suffixButton.hide || !suffixButton.hide(formValue, context)\"\r\n (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error *ngFor=\"let errorMessage of $any(formGroup.controls[field.name!])['errorMessages']\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Enum -->\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Enum\" [attr.flex]=\"field.flex||0\" [class]=\"field.cssClass\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <vd-select [formControlName]=\"field.name!\"\r\n [enum]=\"field.enumType\"\r\n [enumMetadata]=\"field.enumMetadata\"\r\n [enumFilter]=\"field.enumFilter | func:formValue:formGroup:context\"\r\n [optionValueProperty]=\"field.optionValueProperty\"\r\n [optionTextProperty]=\"field.optionTextProperty\"\r\n [defaultOption]=\"field.defaultOption??true\"\r\n [multiple]=\"field.multiple\"\r\n [readonly]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\"\r\n [triggerCssClass]=\"field.triggerCssClass\"\r\n [triggerMode]=\"field.triggerMode\"\r\n layout=\"row\"\r\n flex>\r\n <ng-template vd-select-trigger let-trigger=\"trigger\" *ngIf=\"field.triggerTemplate\">\r\n <span [innerHTML]=\"field.triggerTemplate(trigger, formValue, formGroup, context)\"></span>\r\n </ng-template>\r\n <ng-template vd-select-option let-option=\"option\" *ngIf=\"field.optionTemplate\">\r\n <span [outerHTML]=\"field.optionTemplate(option, formValue, formGroup, context)\"></span>\r\n </ng-template>\r\n <ng-template vd-select-option let-option=\"option\" let-text=\"text\" *ngIf=\"field.optionIcon && !field.optionTemplate\">\r\n <div layout=\"row\" layout-align=\"start center\">\r\n <ng-template #optionIconTemplate\r\n [ngTemplateOutlet]=\"optionIconTemplate\"\r\n let-optionIcon=\"optionIcon\"\r\n [ngTemplateOutletContext]=\"{ optionIcon: field.optionIcon(option, formValue, formGroup, context) }\">\r\n <mat-icon *ngIf=\"optionIcon.svgIcon\" [svgIcon]=\"optionIcon.svgIcon\" [fontSet]=\"optionIcon.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: optionIcon.iconColor??'' }\"></mat-icon>\r\n <mat-icon *ngIf=\"optionIcon.matIcon\" [fontSet]=\"optionIcon.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: optionIcon.iconColor??'' }\">{{optionIcon.matIcon}}</mat-icon>\r\n </ng-template>\r\n <span>{{text}}</span>\r\n </div>\r\n </ng-template>\r\n </vd-select>\r\n <ng-container *ngFor=\"let suffixButton of field.suffixButtons\" matSuffix>\r\n <button type=\"button\"\r\n mat-icon-button\r\n *ngIf=\"!suffixButton.hide || !suffixButton.hide(formValue, context)\"\r\n (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error *ngFor=\"let errorMessage of $any(formGroup.controls[field.name!])['errorMessages']\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n <!-- #endregion -->\r\n\r\n <!-- #region VdSelect -->\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.VdSelect\" [attr.flex]=\"field.flex||0\" [class]=\"field.cssClass\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <vd-select [formControlName]=\"field.name!\"\r\n [endpoint]=\"field.endpoint??'' | func:formValue:formGroup:context\"\r\n [params]=\"field.params??{} | func:formValue:formGroup:context\"\r\n [projection]=\"field.projection\" [mapper]=\"field.mapper\"\r\n [compareWith]=\"field.compareWith\"\r\n [loadData]=\"field.fetchCondition | func:formValue:formGroup:context\"\r\n [optionValueProperty]=\"field.optionValueProperty\"\r\n [optionTextProperty]=\"field.optionTextProperty\"\r\n [defaultOption]=\"field.defaultOption??true\"\r\n [matIconKey]=\"field.optionMatIconProperty\"\r\n [svgIconKey]=\"field.optionSvgIconProperty\"\r\n [fontSet]=\"field.optionIconFontSet\"\r\n [multiple]=\"field.multiple\"\r\n [selectFirst]=\"field.selectFirst\"\r\n [readonly]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\"\r\n [triggerCssClass]=\"field.triggerCssClass\"\r\n [triggerMode]=\"field.triggerMode\"\r\n (itemSelected)=\"field.itemSelect && field.itemSelect($event, formValue, formGroup, context);\"\r\n (itemChange)=\"field.itemChange && field.itemChange($event, formValue, formGroup, context);\"\r\n layout=\"row\"\r\n flex>\r\n <ng-template vd-select-trigger let-trigger=\"trigger\" *ngIf=\"field.triggerTemplate\">\r\n <span [innerHTML]=\"field.triggerTemplate(trigger, formValue, formGroup, context)\"></span>\r\n </ng-template>\r\n <ng-template vd-select-trigger let-trigger=\"trigger\" *ngIf=\"field.triggerMapper && field.multiple && field.triggerMode == 'chip'\">\r\n <mat-chip-set>\r\n <mat-chip *ngFor=\"let item of trigger\" [color]=\"field.chipColor\" [color]=\"field.chipColor\" highlighted selected>\r\n <span [innerHTML]=\"field.triggerMapper(item, formValue, formGroup, context)\"></span>\r\n </mat-chip>\r\n </mat-chip-set>\r\n </ng-template>\r\n <ng-template vd-select-option let-option=\"option\" *ngIf=\"field.optionTemplate\">\r\n <span [outerHTML]=\"field.optionTemplate(option, formValue, formGroup, context)\"></span>\r\n </ng-template>\r\n <ng-template vd-select-option let-option=\"option\" let-text=\"text\" *ngIf=\"field.optionIcon && !field.optionTemplate\">\r\n <div layout=\"row\" layout-align=\"start center\">\r\n <ng-template #optionIconTemplate\r\n [ngTemplateOutlet]=\"optionIconTemplate\"\r\n let-optionIcon=\"optionIcon\"\r\n [ngTemplateOutletContext]=\"{ optionIcon: field.optionIcon(option, formValue, formGroup, context) }\">\r\n <mat-icon *ngIf=\"optionIcon.svgIcon\" [svgIcon]=\"optionIcon.svgIcon\" [fontSet]=\"optionIcon.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: optionIcon.iconColor??'' }\"></mat-icon>\r\n <mat-icon *ngIf=\"optionIcon.matIcon\" [fontSet]=\"optionIcon.fontSet || 'material-symbols-outlined'\" [ngStyle]=\"{ color: optionIcon.iconColor??'' }\">{{optionIcon.matIcon}}</mat-icon>\r\n </ng-template>\r\n <span>{{text}}</span>\r\n </div>\r\n </ng-template>\r\n </vd-select>\r\n <ng-container *ngFor=\"let suffixButton of field.suffixButtons\" matSuffix>\r\n <button type=\"button\" mat-icon-button *ngIf=\"!suffixButton.hide || !suffixButton.hide(formValue, context)\" (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error *ngFor=\"let errorMessage of $any(formGroup.controls[field.name!])['errorMessages']\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n <!-- #endregion -->\r\n\r\n <!-- #region VdList -->\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.VdList\" [attr.flex]=\"field.flex||0\" [class]=\"field.cssClass\" floatLabel=\"always\" class=\"form-field-type-list\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <vd-list [formControlName]=\"field.name!\"\r\n [endpoint]=\"field.endpoint??'' | func:formValue:formGroup:context\"\r\n [params]=\"field.params ??{} | func:formValue:formGroup:context\"\r\n [projection]=\"field.projection\"\r\n [mapper]=\"field.mapper\"\r\n [compareWith]=\"field.compareWith\"\r\n [loadData]=\"field.fetchCondition | func:formValue:formGroup:context\"\r\n [optionValueProperty]=\"field.optionValueProperty\"\r\n [optionTextProperty]=\"field.optionTextProperty\"\r\n [multiple]=\"field.multiple\"\r\n [readonly]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\"\r\n (itemSelected)=\"field.itemSelect && field.itemSelect($event, formValue, formGroup, context);\"\r\n (itemChange)=\"field.itemChange && field.itemChange($event, formValue, formGroup, context);\"\r\n [style.max-width]=\"field.maxWidth\"\r\n [style.max-height]=\"field.maxHeight\"\r\n flex>\r\n <ng-template vd-list-option let-option=\"option\" *ngIf=\"field.optionTemplate\">\r\n <span [outerHTML]=\"field.optionTemplate(option, formValue, formGroup, context)\"></span>\r\n </ng-template>\r\n </vd-list>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error *ngFor=\"let errorMessage of $any(formGroup.controls[field.name!])['errorMessages']\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Chips -->\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Chips\" [attr.flex]=\"field.flex||0\" [class]=\"field.cssClass\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <mat-chip-grid #chipList [formControlName]=\"field.name!\" [disableControl]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\">\r\n <mat-chip-row *ngFor=\"let chip of $any(formGroup.controls[field.name!])?.value\"\r\n (removed)=\"removeChip(field, chip)\"\r\n [color]=\"field.chipColor\"\r\n selectable=\"true\"\r\n highlighted\r\n selected>\r\n <span>{{chip}}</span>\r\n <button matChipRemove>\r\n <mat-icon fontSet=\"material-symbols-outlined\">cancel</mat-icon>\r\n </button>\r\n </mat-chip-row>\r\n <input [placeholder]=\"$any(field.label)\"\r\n #chipInput\r\n [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matAutocomplete]=\"chipAutocomplete\"\r\n (input)=\"filterAutocomplete(field, chipInput)\"\r\n (matChipInputTokenEnd)=\"addChip(field, $event)\"\r\n autocomplete=\"off\">\r\n </mat-chip-grid>\r\n <mat-autocomplete autoActiveFirstOption #chipAutocomplete=\"matAutocomplete\" [class]=\"field.autocompleteCssClass\" (optionSelected)=\"autocompleteValueSelected(field, $event, chipInput)\">\r\n <mat-option *ngFor=\"let option of autocompleteFilteredOptions[field.name!]\" [value]=\"option.id\">\r\n {{option.name}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <ng-container *ngFor=\"let suffixButton of field.suffixButtons\" matSuffix>\r\n <button type=\"button\" mat-icon-button *ngIf=\"!suffixButton.hide || !suffixButton.hide(formValue, context)\" (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error *ngFor=\"let errorMessage of $any(formGroup.controls[field.name!])['errorMessages']\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n <!-- #endregion -->\r\n\r\n <!-- #region VdChips -->\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.VdChips\" [attr.flex]=\"field.flex||0\" [class]=\"field.cssClass\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <vd-chips #vdChip\r\n [formControlName]=\"field.name!\"\r\n [endpoint]=\"field.endpoint??'' | func:formValue:formGroup:context\"\r\n [params]=\"field.params || {} | func:formValue:formGroup:context\"\r\n [searchField]=\"field.searchField\"\r\n [searchFields]=\"field.searchFields\"\r\n [filters]=\"field.filters\"\r\n [selectFirst]=\"field.selectFirst\"\r\n [classType]=\"field.classType\"\r\n [projection]=\"field.projection\"\r\n [key]=\"field.optionValueProperty\"\r\n [readonly]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\"\r\n [removable]=\"!field.clear\"\r\n [context]=\"context\"\r\n [suffixButtons]=\"field.suffixButtons\"\r\n [autocompleteCssClass]=\"field.autocompleteCssClass\"\r\n (initSelect)=\"field.itemSelect && field.itemSelect($event, formValue, formGroup, context);\"\r\n (selected)=\"!field.itemChange ? $event.callback(true) : $event.callback(field.itemChange($event.value, formValue, formGroup, context) !== false)\"\r\n (cleared)=\"field.clear && field.clear(formValue, formGroup, context);\"\r\n [customValue]=\"field.customValue\"\r\n layout=\"row\"\r\n flex>\r\n <ng-template vd-chip let-chip=\"chip\" *ngIf=\"field.chipTemplate\">\r\n <div [outerHTML]=\"field.chipTemplate(chip, formValue, formGroup, context)\"></div>\r\n </ng-template>\r\n <ng-template vd-autocomplete-option let-option=\"option\" *ngIf=\"field.autocompleteTemplate\">\r\n <div [outerHTML]=\"field.autocompleteTemplate(option, formValue, formGroup, context)\"></div>\r\n </ng-template>\r\n </vd-chips>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-hint *ngIf=\"vdChip.emptyResult\" class=\"tc-red-400\" i18n=\"@@noResultsFound\">No results were found.</mat-hint>\r\n <mat-error *ngFor=\"let errorMessage of $any(formGroup.controls[field.name!])['errorMessages']\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Select -->\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Select\" [attr.flex]=\"field.flex||0\" [class]=\"field.cssClass\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <mat-select [formControlName]=\"field.name!\"\r\n [multiple]=\"field.multiple\"\r\n [disableControl]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\"\r\n flex>\r\n <mat-option *ngFor=\"let option of $any(field.options)\" [value]=\"option.id\">{{option.name}}</mat-option>\r\n </mat-select>\r\n <ng-container *ngFor=\"let suffixButton of field.suffixButtons\" matSuffix>\r\n <button type=\"button\" mat-icon-button *ngIf=\"!suffixButton.hide || !suffixButton.hide(formValue, context)\" (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error *ngFor=\"let errorMessage of $any(formGroup.controls[field.name!])['errorMessages']\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Autocomplete -->\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Autocomplete\" [attr.flex]=\"field.flex||0\" [class]=\"field.cssClass\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <input type=\"text\"\r\n matInput\r\n [formControlName]=\"field.name!\"\r\n [min]=\"field.min\"\r\n [max]=\"field.max\"\r\n [matAutocomplete]=\"auto\"\r\n (input)=\"filterAutocomplete(field, autocompleteInput)\"\r\n autocomplete=\"off\"\r\n [readonly]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\"\r\n (keydown)=\"field.keydown && field.keydown($event, formValue, formGroup, context)\"\r\n #autocompleteInput>\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" [class]=\"field.autocompleteCssClass\">\r\n <mat-option *ngFor=\"let option of autocompleteFilteredOptions[field.name!]\" [value]=\"option.id\">\r\n {{option.name}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <ng-container *ngFor=\"let suffixButton of field.suffixButtons\" matSuffix>\r\n <button type=\"button\" mat-icon-button *ngIf=\"!suffixButton.hide || !suffixButton.hide(formValue, context)\" (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error *ngFor=\"let errorMessage of $any(formGroup.controls[field.name!])['errorMessages']\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Date -->\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Date\" [attr.flex]=\"field.flex||0\" [class]=\"field.cssClass\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <input matInput\r\n [formControlName]=\"field.name!\"\r\n [min]=\"field.min\" [max]=\"field.max\"\r\n autocomplete=\"off\"\r\n [matDatepicker]=\"datePicker\"\r\n [matDatepickerFilter]=\"field.dateFilter\"\r\n [readonly]=\"readonly || field.forceSelect || (field.readonly && field.readonly(formValue, formGroup, context))\"\r\n (keydown)=\"field.keydown && field.keydown($event, formValue, formGroup, context)\">\r\n <mat-datepicker-toggle matSuffix [for]=\"datePicker\"></mat-datepicker-toggle>\r\n <mat-datepicker #datePicker [disabled]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\" (monthSelected)=\"handleDatePickerFilterAsync(datePicker, field, $event )\" (opened)=\"handleDatePickerOpened(datePicker, field)\" [calendarHeaderComponent]=\"datePickerHeaderComponent\"></mat-datepicker>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error *ngFor=\"let errorMessage of $any(formGroup.controls[field.name!])['errorMessages']\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Calendar -->\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Calendar\" [attr.flex]=\"field.flex||0\" [class]=\"field.cssClass\" floatLabel=\"always\" class=\"form-field-type-calendar\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <input input=\"hidden\" hidden matInput [formControlName]=\"field.name!\">\r\n <mat-calendar #calendar\r\n [selected]=\"formGroup.get(field.name!)?.value\"\r\n (selectedChange)=\"formGroup.get(field.name!)?.setValue($event);\"\r\n (monthSelected)=\"handleCalendarFilterAsync(calendar, field, $event )\"\r\n [headerComponent]=\"datePickerHeaderComponent\"\r\n (keydown)=\"field.keydown && field.keydown($event, formValue, formGroup, context)\"\r\n style=\"width: 100%;\"></mat-calendar>\r\n <mat-error *ngFor=\"let errorMessage of $any(formGroup.controls[field.name!])['errorMessages']\" layout-margin>{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Color input -->\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Color\" [attr.flex]=\"field.flex||0\" [class]=\"field.cssClass\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <input [type]=\"field.inputType ?? 'text'\"\r\n [minlength]=\"field.minLength | func:formValue:formGroup:context\"\r\n [maxlength]=\"field.maxLength | func:formValue:formGroup:context\"\r\n [min]=\"field.min\" [max]=\"field.max\" matInput [formControlName]=\"field.name!\"\r\n [readonly]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\"\r\n [pattern]=\"((field.pattern | func:formValue:formGroup:context)??'')\"\r\n [onlyNumber]=\"(field.numbersOnly??false)\"\r\n (keydown)=\"field.keydown && field.keydown($event, formValue, formGroup, context)\">\r\n <ngx-colors matSuffix ngx-colors-trigger [formControlName]=\"field.name!\" [hideTextInput]=\"true\" (close)=\"this.formGroup.get(field.name!)?.setValue($event)\" format=\"hex\" class=\"color-picker\"></ngx-colors>\r\n <ng-container *ngFor=\"let suffixButton of field.suffixButtons\" matSuffix>\r\n <button type=\"button\" mat-icon-button *ngIf=\"!suffixButton.hide || !suffixButton.hide(formValue, context)\" (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error *ngFor=\"let errorMessage of $any($any(formGroup.controls[field.name!]))['errorMessages']\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n <!-- #endregion -->\r\n </ng-container>\r\n\r\n <!-- #region Checkbox -->\r\n <div *ngSwitchCase=\"FormFieldType.Checkbox\" [attr.flex]=\"field.flex||0\" class=\"mat-checkbox-wrap\" [class]=\"field.cssClass\">\r\n <mat-checkbox [formControlName]=\"field.name!\"\r\n [disableControl]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\">\r\n {{field.label}}\r\n </mat-checkbox>\r\n <mat-error *ngFor=\"let errorMessage of $any(formGroup.controls[field.name!])['errorMessages']\" layout-margin>{{errorMessage}}</mat-error>\r\n </div>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Editor -->\r\n <ng-container *ngSwitchCase=\"FormFieldType.Editor\">\r\n <ng-template *ngIf=\"editorTemplate?.templateRef!\" [ngTemplateOutlet]=\"editorTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Code -->\r\n <ng-container *ngSwitchCase=\"FormFieldType.Code\">\r\n <ng-template *ngIf=\"codeTemplate?.templateRef!\" [ngTemplateOutlet]=\"codeTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region File -->\r\n <ng-container *ngSwitchCase=\"FormFieldType.File\">\r\n <mat-form-field [attr.flex]=\"field.flex||0\" layout-margin>\r\n <mat-label>{{field.label}}</mat-label>\r\n <div vd-file-input\r\n [formControlName]=\"field.name!\"\r\n (select)=\"field.change && field.change(field, $event, formGroup, context)\"\r\n [accept]=\"field.fileExtensions\" [disableControl]=\"(readonly || (field.readonly && field.readonly(formValue, formGroup, context)))??false\"\r\n flex>\r\n </div>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Custom -->\r\n <ng-container *ngSwitchCase=\"FormFieldType.Custom\">\r\n <ng-template *ngIf=\"customTemplate?.templateRef!\" [ngTemplateOutlet]=\"customTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- #region Template for custom fields -->\r\n <ng-container *ngFor=\"let customField of customFieldsTemplates\">\r\n <ng-template *ngIf=\"customField?.templateRef && customField.row == fields[0]?.row && customField.inline\" [ngTemplateOutlet]=\"customField?.templateRef!\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </div>\r\n\r\n <!-- #region Template for custom fields -->\r\n <ng-container *ngIf=\"customFields\" [ngTemplateOutlet]=\"customFields\" [ngTemplateOutletContext]=\"{formGroup: formGroup, row: fields[0].row}\"></ng-container>\r\n <ng-container *ngFor=\"let customField of customFieldsTemplates\">\r\n <ng-template *ngIf=\"customField?.templateRef && customField.row == ((fields[0]?.row??0)+1) && !customField.inline\" [ngTemplateOutlet]=\"customField?.templateRef!\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Form bottom -->\r\n <ng-container *ngIf=\"bottom\" [ngTemplateOutlet]=\"bottom\" [ngTemplateOutletContext]=\"{formGroup: formGroup}\"></ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Template for suffix buttons -->\r\n <ng-template #suffixButtons let-field>\r\n <ng-container *ngFor=\"let suffixButton of field.suffixButtons\" matSuffix>\r\n <button type=\"button\" mat-icon-button *ngIf=\"!suffixButton.hide || !suffixButton.hide(formValue, context)\" (click)=\"suffixButton.event && suffixButton.event(formValue, context)\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">{{suffixButton.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n </ng-template>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Debug value -->\r\n <code *ngIf=\"debugValue\">\r\n <pre>{{formValue | json}}</pre>\r\n </code>\r\n <!-- #endregion -->\r\n</div>", styles: [".mat-checkbox-wrap mat-error{transform:translate(36px,-20px);max-width:93%;font-size:var(--mdc-typography-caption-font-size, 12px)}::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-icon-suffix .color-picker{width:40px;display:block}::ng-deep .mat-mdc-form-field-type-mat-chip-grid .mat-mdc-form-field-infix{padding-top:7px!important;padding-bottom:7px!important}::ng-deep .mat-mdc-form-field-type-mat-chip-grid .mat-mdc-chip{padding-top:0!important;padding-bottom:0!important;margin-top:2px!important;margin-bottom:2px!important;margin-left:4px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: DisableControlDirective, selector: "[disableControl]", inputs: ["disableControl"] }, { kind: "directive", type: OnlyNumberDirective, selector: "[onlyNumber]", inputs: ["onlyNumber"] }, { kind: "directive", type: AutofocusDirective, selector: "[autoFocus]", inputs: ["focusDelay", "selectText", "autoFocus"] }, { kind: "component", type: VdSelectComponent, selector: "vd-select", inputs: ["triggerCssClass", "triggerMode"] }, { kind: "directive", type: VdSelectOptionDirective, selector: "[vd-select-option]ng-template" }, { kind: "directive", type: VdSelectTriggerDirective, selector: "[vd-select-trigger]ng-template" }, { kind: "component", type: VdChipsComponent, selector: "vd-chips", inputs: ["classType", "chips", "endpoint", "params", "projection", "paginated", "customValue", "context", "key", "searchField", "searchFields", "filters", "removable", "selectFirst", "debounce", "autocompleteCssClass", "suffixButtons"], outputs: ["initSelect", "selected", "cleared", "launch", "chipFocus"] }, { kind: "directive", type: VdAutocompleteOptionDirective, selector: "[vd-autocomplete-option]ng-template" }, { kind: "directive", type: VdChipDirective, selector: "[vd-chip]ng-template" }, { kind: "component", type: VdFileInputComponent, selector: "[vd-file-input]", inputs: ["accept", "placeholder", "required", "multiple", "disabled", "errorState"], outputs: ["select", "clear"] }, { kind: "component", type: VdListComponent, selector: "vd-list" }, { kind: "directive", type: VdListOptionDirective, selector: "[vd-list-option]ng-template" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i5$4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i21.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i21.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i21.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i21.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i16.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i10.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i24.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i24.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i24.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i24.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i24.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i24.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i25.NgxColorsComponent, selector: "ngx-colors" }, { kind: "directive", type: i25.NgxColorsTriggerDirective, selector: "[ngx-colors-trigger]", inputs: ["colorsAnimation", "palette", "format", "formats", "position", "hideTextInput", "hideColorPicker", "attachTo", "overlayClassName", "colorPickerControls", "acceptLabel", "cancelLabel"], outputs: ["change", "input", "slider", "close", "open"] }, { kind: "directive", type: EmptyStringResetDirective, selector: "[ngModel],[formControlName],[formControl]" }, { kind: "directive", type: MatFormFieldReadonlyDirective, selector: "mat-form-field" }, { kind: "directive", type: NativeElementInjectorDirective, selector: "[ngModel], [formControl], [formControlName]" }, { kind: "directive", type: ParseDecimalDirective, selector: "[parseDecimal]", inputs: ["parseDecimalEnabled"] }, { kind: "pipe", type: i2.JsonPipe, name: "json" }, { kind: "pipe", type: FuncPipe, name: "func" }] });
|
|
25733
25859
|
}
|
|
@@ -26665,5 +26791,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
26665
26791
|
* Generated bundle index. Do not edit.
|
|
26666
26792
|
*/
|
|
26667
26793
|
|
|
26668
|
-
export { AbstractMatFormField, ActionItem, Api, ApiResponse, AppEvent, AppEventType, AppSetting, AppStorage, AsyncValidationDirective, AuditEntity, AuditUser, AuthHelper, AuthUser, AutofocusDirective, BaseComponent, BaseDirective, BaseEntity, BaseInterceptor, BaseService, BindPipe, CachingInterceptor, Column, ColumnObject, Common, CommonError, CommonHandlerContext, ContextHelper, DataSourceFilterDirective, DataSourcePipe, DatePickerHeaderComponent, DisableControlDirective, Display, DisplayNameNumberProjection, DisplayNameProjection, DynamicBuilder, DynamicComponentCompiler, EmptyStringResetDirective, EnumMetadata, EnumPipe, EnumService, EqualValidator, ErrorMessageBindingStrategy, EventQueueService, Facet, FacetValue, FieldFuncPipe, FileControlDirective, FileService, FileSizePipe, FilterClearComponent, FilterDateComponent, FilterGlue, FilterInputComponent, FilterOperator, FilterPipe, FilterSelectComponent, FirstLetterPipe, Form, FormArrayPipe, FormBuilderConfiguration, FormControlPipe, FormDefinition, FormField, FormFieldDefinition, FormFieldGroup, FormFieldGroupDefinition, FormFieldType, FormGroupPipe, FuncPipe, GenericFormBaseComponent, GenericFormComponent, GenericListComponent, GenericReactiveFormComponent, GenericService, GlobalRoles, Grid, GroupFilterPipe, HtmlControlTemplateDirective, IAbstractControl, Icon, ImageFileControlDirective, IpVersion, JoinPipe, KeyValue, KeysPipe, LoadingScreenInterceptor, LoadingScreenService, MapPipe, MatFormFieldEditorDirective, MatFormFieldReadonlyDirective, MaterialModule, Menu, MenuClient, MenuDepartment, MenuFormIncludesResolve, MenuItem, MenuItemClient, MenuItemDepartment, MenuItemFormIncludesResolve, MenuItemService, MenuListProjectionResolve, MenuResolve, MenuScope, MenuService, MenuSettings, MenuSettingsResolve, MessageType, MonthNamePipe, NameNumberProjection, NameProjection, NativeElementInjectorDirective, NumericValueType, OnlyNumberDirective, OrderPipe, Pagination, ParseDecimalDirective, Permission, PlaceholderPipe, PrintService, PropertyJoinPipe, PropertyPipe, RUNTIME_COMPILER_PROVIDERS, ReactiveFormConfig, ReactiveTypedFormsModule, ResetFormType, RxFormArray, RxFormBuilder, RxFormControl, RxFormControlDirective, RxFormGroup, RxReactiveFormsModule, RxwebFormDirective, RxwebValidators, SafeHtmlPipe, Salutation, SaveAction, ServiceLocator, SplitPipe, SubMenuResolve, SuffixButton, Table, TableColumn, TableColumnConfig, TableColumnType, TableConfig, TableDataSource, TableDefinition, TableQueryConfig, TableStaticDataSource, TaskDialogData, Templates, TimePipe, TitleCase, TitleProjection, TruncatePipe, TypedForm, TypedFormBuilder, UniqueValidatorDirective, UrlValidationType, Utils, ValidationAlphabetLocale, ValueAccessorBase, ValuesPipe, VdAlertDialogComponent, VdAutocompleteOptionDirective, VdBaseModule, VdChipDirective, VdChipsComponent, VdChipsModule, VdCodeDirective, VdCommonModule, VdConfirmDialogComponent, VdCustomDirective, VdDelayedHoverDirective, VdDialogActionsDirective, VdDialogComponent, VdDialogContentDirective, VdDialogService, VdDialogTitleDirective, VdDialogsModule, VdDynamicMenuComponent, VdDynamicTableComponent, VdDynamicTableConfigDialogComponent, VdEditorDirective, VdFileDirective, VdFileInputComponent, VdFileModule, VdFilterOptionDirective, VdFormsModule, VdGenericFormComponent, VdGenericFormCustomFieldDirective, VdHttpModule, VdLayoutCardOverComponent, VdLayoutCloseDirective, VdLayoutCompactComponent, VdLayoutComponent, VdLayoutFooterComponent, VdLayoutManageListCloseDirective, VdLayoutManageListComponent, VdLayoutManageListOpenDirective, VdLayoutManageListToggleDirective, VdLayoutModule, VdLayoutNavComponent, VdLayoutNavListCloseDirective, VdLayoutNavListComponent, VdLayoutNavListOpenDirective, VdLayoutNavListToggleDirective, VdLayoutOpenDirective, VdLayoutToggleDirective, VdListComponent, VdListModule, VdListOptionDirective, VdListToolbarComponent, VdMediaModule, VdMediaService, VdMediaToggleDirective, VdMenuComponent, VdMenuModule, VdNavigationDrawerComponent, VdNavigationDrawerMenuDirective, VdNavigationDrawerToolbarDirective, VdPromptDialogComponent, VdSearchModule, VdSelectComponent, VdSelectModule, VdSelectOptionDirective, VdSelectTriggerDirective, VdTableFieldDirective, VdTableModule, VdTaskDialogComponent, allOf, allOfAsync, alpha, alphaAsync, alphaNumeric, alphaNumericAsync, and, ascii, async, blacklist, choice, choiceAsync, compare, compose, contains, containsAsync, createCompiler, creditCard, creditCardAsync, cusip, custom, customAsync, dataUri, date, dateAsync, different, digit, disable, elementClass, email, endpointMetadataKey, endsWith, endsWithAsync, error, escape, even, extension, extensionAsync, factor, factorAsync, file, fileAsync, fileSize, fileSizeAsync, formFieldGroupsMetadataKey, formFieldsMetadataKey, getEndpoint, getFormGroups, getTableDefinition, greaterThan, greaterThanAsync, greaterThanEqualTo, greaterThanEqualToAsync, grid, headerMetadataKey, hexColor, image, imageAsync, json, latLong, latitude, leapYear, lessThan, lessThanAsync, lessThanEqualTo, lessThanEqualToAsync, longitude, lowerCase, ltrim, mac, mask, maxDate, maxDateAsync, maxLength, maxLengthAsync, maxNumber, maxNumberAsync, maxTime, maxTimeAsync, minDate, minDateAsync, minLength, minLengthAsync, minNumber, minNumberAsync, minTime, minTimeAsync, mixinControlValueAccessor, mixinDisabled, model, noneOf, noneOfAsync, not, notEmpty, numeric, numericAsync, odd, oneOf, oneOfAsync, or, password, passwordAsync, pattern, patternAsync, port, prefix, primeNumber, prop, propArray, propObject, range, rangeAsync, required, requiredTrue, rtrim, rule, sanitize, startsWith, startsWithAsync, stripLow, suffix, tableColumnsMetadataKey, tableDefinitionMetadataKey, time, timeAsync, toBoolean, toDate, toDouble, toFloat, toInt, toString, trim, unique, updateOn, upperCase, url, urlAsync, whitelist };
|
|
26794
|
+
export { AbstractMatFormField, ActionItem, Api, ApiResponse, AppEvent, AppEventType, AppSetting, AppStorage, AsyncValidationDirective, AuditEntity, AuditUser, AuthHelper, AuthUser, AutofocusDirective, BaseComponent, BaseDirective, BaseEntity, BaseInterceptor, BaseService, BindPipe, CachingInterceptor, Column, ColumnObject, Common, CommonError, CommonHandlerContext, ContextHelper, DataSourceFilterDirective, DataSourcePipe, DatePickerHeaderComponent, DisableControlDirective, Display, DisplayNameNumberProjection, DisplayNameProjection, DynamicBuilder, DynamicComponentCompiler, EmptyStringResetDirective, EnumMetadata, EnumPipe, EnumService, EqualValidator, ErrorMessageBindingStrategy, EventQueueService, Facet, FacetValue, FieldFuncPipe, FileControlDirective, FileService, FileSizePipe, FilterClearComponent, FilterDateComponent, FilterGlue, FilterInputComponent, FilterOperator, FilterPipe, FilterSelectComponent, FirstLetterPipe, Form, FormArrayPipe, FormBuilderConfiguration, FormControlPipe, FormDefinition, FormField, FormFieldDefinition, FormFieldGroup, FormFieldGroupDefinition, FormFieldType, FormGroupPipe, FuncPipe, GenericFormBaseComponent, GenericFormComponent, GenericListComponent, GenericReactiveFormComponent, GenericService, GlobalRoles, Grid, GroupFilterPipe, HtmlControlTemplateDirective, IAbstractControl, Icon, ImageFileControlDirective, IpVersion, JoinPipe, KeyValue, KeysPipe, LoadingScreenInterceptor, LoadingScreenService, MapPipe, MatFormFieldEditorDirective, MatFormFieldReadonlyDirective, MaterialModule, Menu, MenuClient, MenuDepartment, MenuFormIncludesResolve, MenuItem, MenuItemClient, MenuItemDepartment, MenuItemFormIncludesResolve, MenuItemService, MenuListProjectionResolve, MenuResolve, MenuScope, MenuService, MenuSettings, MenuSettingsResolve, MessageType, ModifiableEntity, MonthNamePipe, NameNumberProjection, NameProjection, NativeElementInjectorDirective, NumericValueType, OnlyNumberDirective, OrderPipe, Pagination, ParseDecimalDirective, Permission, PlaceholderPipe, PrintService, PropertyJoinPipe, PropertyPipe, RUNTIME_COMPILER_PROVIDERS, ReactiveFormConfig, ReactiveTypedFormsModule, ResetFormType, RxFormArray, RxFormBuilder, RxFormControl, RxFormControlDirective, RxFormGroup, RxReactiveFormsModule, RxwebFormDirective, RxwebValidators, SafeHtmlPipe, Salutation, SaveAction, ServiceLocator, SplitPipe, SubMenuResolve, SuffixButton, Table, TableColumn, TableColumnConfig, TableColumnType, TableConfig, TableDataSource, TableDefinition, TableQueryConfig, TableStaticDataSource, TaskDialogData, Templates, TimePipe, TitleCase, TitleProjection, TruncatePipe, TypedForm, TypedFormBuilder, UniqueValidatorDirective, UrlValidationType, Utils, ValidationAlphabetLocale, ValueAccessorBase, ValuesPipe, VdAlertDialogComponent, VdAutocompleteOptionDirective, VdBaseModule, VdChipDirective, VdChipsComponent, VdChipsModule, VdCodeDirective, VdCommonModule, VdConfirmDialogComponent, VdCustomDirective, VdDelayedHoverDirective, VdDialogActionsDirective, VdDialogComponent, VdDialogContentDirective, VdDialogService, VdDialogTitleDirective, VdDialogsModule, VdDynamicMenuComponent, VdDynamicTableComponent, VdDynamicTableConfigDialogComponent, VdEditorDirective, VdFileDirective, VdFileInputComponent, VdFileModule, VdFilterOptionDirective, VdFormsModule, VdGenericFormComponent, VdGenericFormCustomFieldDirective, VdHttpModule, VdLayoutCardOverComponent, VdLayoutCloseDirective, VdLayoutCompactComponent, VdLayoutComponent, VdLayoutFooterComponent, VdLayoutManageListCloseDirective, VdLayoutManageListComponent, VdLayoutManageListOpenDirective, VdLayoutManageListToggleDirective, VdLayoutModule, VdLayoutNavComponent, VdLayoutNavListCloseDirective, VdLayoutNavListComponent, VdLayoutNavListOpenDirective, VdLayoutNavListToggleDirective, VdLayoutOpenDirective, VdLayoutToggleDirective, VdListComponent, VdListModule, VdListOptionDirective, VdListToolbarComponent, VdMediaModule, VdMediaService, VdMediaToggleDirective, VdMenuComponent, VdMenuModule, VdNavigationDrawerComponent, VdNavigationDrawerMenuDirective, VdNavigationDrawerToolbarDirective, VdPromptDialogComponent, VdSearchModule, VdSelectComponent, VdSelectModule, VdSelectOptionDirective, VdSelectTriggerDirective, VdTableFieldDirective, VdTableModule, VdTaskDialogComponent, allOf, allOfAsync, alpha, alphaAsync, alphaNumeric, alphaNumericAsync, and, ascii, async, blacklist, choice, choiceAsync, compare, compose, contains, containsAsync, createCompiler, creditCard, creditCardAsync, cusip, custom, customAsync, dataUri, date, dateAsync, different, digit, disable, elementClass, email, endpointMetadataKey, endsWith, endsWithAsync, error, escape, even, extension, extensionAsync, factor, factorAsync, file, fileAsync, fileSize, fileSizeAsync, formFieldGroupsMetadataKey, formFieldsMetadataKey, getEndpoint, getFormGroups, getTableDefinition, greaterThan, greaterThanAsync, greaterThanEqualTo, greaterThanEqualToAsync, grid, headerMetadataKey, hexColor, image, imageAsync, json, latLong, latitude, leapYear, lessThan, lessThanAsync, lessThanEqualTo, lessThanEqualToAsync, longitude, lowerCase, ltrim, mac, mask, maxDate, maxDateAsync, maxLength, maxLengthAsync, maxNumber, maxNumberAsync, maxTime, maxTimeAsync, minDate, minDateAsync, minLength, minLengthAsync, minNumber, minNumberAsync, minTime, minTimeAsync, mixinControlValueAccessor, mixinDisabled, model, noneOf, noneOfAsync, not, notEmpty, numeric, numericAsync, odd, oneOf, oneOfAsync, or, password, passwordAsync, pattern, patternAsync, port, prefix, primeNumber, prop, propArray, propObject, range, rangeAsync, required, requiredTrue, rtrim, rule, sanitize, startsWith, startsWithAsync, stripLow, suffix, tableColumnsMetadataKey, tableDefinitionMetadataKey, time, timeAsync, toBoolean, toDate, toDouble, toFloat, toInt, toString, trim, unique, updateOn, upperCase, url, urlAsync, whitelist };
|
|
26669
26795
|
//# sourceMappingURL=messaia-cdk.mjs.map
|