@decaf-ts/for-angular 0.0.37 → 0.0.38
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/fesm2022/decaf-ts-for-angular.mjs +1520 -1089
- package/fesm2022/decaf-ts-for-angular.mjs.map +1 -1
- package/index.d.ts +921 -635
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ElementRef, Type, Injector, EnvironmentInjector, ComponentMirror, ViewContainerRef, ComponentRef, TemplateRef, OnChanges, ChangeDetectorRef, Renderer2, EventEmitter, SimpleChanges, AfterViewInit, OnInit, OnDestroy, InjectionToken, Provider, ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import { ElementRef, Type, Injector, EnvironmentInjector, ComponentMirror, ViewContainerRef, ComponentRef, TemplateRef, OnChanges, ChangeDetectorRef, Renderer2, EventEmitter, SimpleChanges, AfterViewInit, OnInit, OnDestroy, NgZone, InjectionToken, Provider, ModuleWithProviders } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/forms';
|
|
4
4
|
import { FormGroup, FormArray, FormControl, ControlValueAccessor, AbstractControl } from '@angular/forms';
|
|
5
5
|
import { Repository, Adapter, OrderDirection, EventIds, Paginator, Condition } from '@decaf-ts/core';
|
|
@@ -17,7 +17,7 @@ import * as i3 from '@ngx-translate/core';
|
|
|
17
17
|
import { TranslateService, TranslateLoader, TranslationObject, TranslateParser, RootTranslateServiceConfig } from '@ngx-translate/core';
|
|
18
18
|
import { Title, SafeHtml } from '@angular/platform-browser';
|
|
19
19
|
import { IonAccordionGroup, ItemReorderEventDetail } from '@ionic/angular/standalone';
|
|
20
|
-
import {
|
|
20
|
+
import { Observable, Subscription } from 'rxjs';
|
|
21
21
|
import { InjectablesRegistry } from '@decaf-ts/injectable-decorators';
|
|
22
22
|
import { HttpClient } from '@angular/common/http';
|
|
23
23
|
|
|
@@ -100,7 +100,7 @@ type FieldUpdateMode = 'change' | 'blur' | 'submit';
|
|
|
100
100
|
* @typedef {('checkbox'|'radio'|'select'|TextFieldTypes|'textarea')} PossibleInputTypes
|
|
101
101
|
* @memberOf module:engine
|
|
102
102
|
*/
|
|
103
|
-
type PossibleInputTypes = 'checkbox' | 'radio' | 'select' | TextFieldTypes | 'textarea';
|
|
103
|
+
type PossibleInputTypes = 'checkbox' | 'radio' | 'select' | TextFieldTypes | 'file' | 'textarea';
|
|
104
104
|
/**
|
|
105
105
|
* @description Field definition for Angular components
|
|
106
106
|
* @summary A comprehensive type that combines properties from various Ionic components
|
|
@@ -193,6 +193,7 @@ type FormParent = FormGroup | FormArray;
|
|
|
193
193
|
*/
|
|
194
194
|
type FormParentGroup = [FormParent, string];
|
|
195
195
|
type I18nResourceConfigType = I18nResourceConfig | I18nResourceConfig[];
|
|
196
|
+
type WindowColorScheme = 'dark' | 'light' | unknown;
|
|
196
197
|
|
|
197
198
|
/**
|
|
198
199
|
* @module lib/engine/interfaces
|
|
@@ -475,6 +476,10 @@ interface IBaseCustomEvent {
|
|
|
475
476
|
data?: unknown;
|
|
476
477
|
target?: HTMLElement;
|
|
477
478
|
}
|
|
479
|
+
interface IModelPageCustomEvent extends IBaseCustomEvent {
|
|
480
|
+
success: boolean;
|
|
481
|
+
message?: string;
|
|
482
|
+
}
|
|
478
483
|
/**
|
|
479
484
|
* @description Configuration for internationalization (i18n) resource file paths
|
|
480
485
|
* @summary Defines the structure for configuring i18n resource file paths with prefix and suffix.
|
|
@@ -600,6 +605,10 @@ interface IListEmptyOptions {
|
|
|
600
605
|
link: string;
|
|
601
606
|
icon: string;
|
|
602
607
|
}
|
|
608
|
+
interface IWindowResizeEvent {
|
|
609
|
+
width: number;
|
|
610
|
+
height: number;
|
|
611
|
+
}
|
|
603
612
|
|
|
604
613
|
/**
|
|
605
614
|
* @description Angular engine key constants.
|
|
@@ -1198,12 +1207,12 @@ declare class NgxRenderingEngine extends RenderingEngine<AngularFieldDefinition,
|
|
|
1198
1207
|
}
|
|
1199
1208
|
|
|
1200
1209
|
/**
|
|
1201
|
-
* @module lib/engine/
|
|
1210
|
+
* @module lib/engine/NgxComponentDirective
|
|
1202
1211
|
* @description Base decaf component abstraction providing shared inputs and utilities.
|
|
1203
|
-
* @summary
|
|
1212
|
+
* @summary NgxComponentDirective is the abstract foundation for Decaf components and provides common
|
|
1204
1213
|
* inputs (model, mapper, pk, props), logging, repository resolution, and event dispatch helpers.
|
|
1205
1214
|
* It centralizes shared behavior for child components and simplifies integration with the rendering engine.
|
|
1206
|
-
* @link {@link
|
|
1215
|
+
* @link {@link NgxComponentDirective}
|
|
1207
1216
|
*/
|
|
1208
1217
|
|
|
1209
1218
|
/**
|
|
@@ -1214,12 +1223,12 @@ declare class NgxRenderingEngine extends RenderingEngine<AngularFieldDefinition,
|
|
|
1214
1223
|
* internationalization support. It implements OnChanges to respond to input property changes
|
|
1215
1224
|
* and includes utilities for navigation, localization, and dynamic property binding. All Decaf
|
|
1216
1225
|
* components should extend this directive to inherit its foundational capabilities.
|
|
1217
|
-
* @class
|
|
1226
|
+
* @class NgxComponentDirective
|
|
1218
1227
|
* @extends {LoggedClass}
|
|
1219
1228
|
* @implements {OnChanges}
|
|
1220
|
-
* @memberOf module:lib/engine/
|
|
1229
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1221
1230
|
*/
|
|
1222
|
-
declare abstract class
|
|
1231
|
+
declare abstract class NgxComponentDirective extends LoggedClass implements OnChanges {
|
|
1223
1232
|
/**
|
|
1224
1233
|
* @description Reference to the component's native DOM element.
|
|
1225
1234
|
* @summary Provides direct access to the native DOM element of the component through Angular's
|
|
@@ -1227,7 +1236,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1227
1236
|
* apply custom styles, or access native element properties and methods. The element is
|
|
1228
1237
|
* identified by the 'component' template reference variable.
|
|
1229
1238
|
* @type {ElementRef}
|
|
1230
|
-
* @memberOf module:lib/engine/
|
|
1239
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1231
1240
|
*/
|
|
1232
1241
|
component: ElementRef;
|
|
1233
1242
|
/**
|
|
@@ -1237,7 +1246,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1237
1246
|
* component instances within a larger application structure. It serves as a human-readable
|
|
1238
1247
|
* identifier that helps distinguish between multiple instances of the same component type.
|
|
1239
1248
|
* @type {string}
|
|
1240
|
-
* @memberOf module:lib/engine/
|
|
1249
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1241
1250
|
*/
|
|
1242
1251
|
name: string;
|
|
1243
1252
|
/**
|
|
@@ -1247,7 +1256,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1247
1256
|
* proper nesting and organization of components within a layout. It can be used to track
|
|
1248
1257
|
* component dependencies and establish component hierarchies for rendering and event propagation.
|
|
1249
1258
|
* @type {string | undefined}
|
|
1250
|
-
* @memberOf module:lib/engine/
|
|
1259
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1251
1260
|
*/
|
|
1252
1261
|
childOf: string | undefined;
|
|
1253
1262
|
/**
|
|
@@ -1257,7 +1266,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1257
1266
|
* By default, it generates a random 16-character value, but it can be explicitly set via input.
|
|
1258
1267
|
* @type {string | number}
|
|
1259
1268
|
* @default generateRandomValue(16)
|
|
1260
|
-
* @memberOf module:lib/engine/
|
|
1269
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1261
1270
|
*/
|
|
1262
1271
|
uid: string | number;
|
|
1263
1272
|
/**
|
|
@@ -1267,7 +1276,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1267
1276
|
* When set, this property provides the component with access to the model's schema, validation rules,
|
|
1268
1277
|
* and metadata needed for rendering and data operations.
|
|
1269
1278
|
* @type {Model | string | undefined}
|
|
1270
|
-
* @memberOf module:lib/engine/
|
|
1279
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1271
1280
|
*/
|
|
1272
1281
|
model: Model | string | undefined;
|
|
1273
1282
|
/**
|
|
@@ -1277,7 +1286,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1277
1286
|
* specific records, such as read, update, and delete operations. The value corresponds to
|
|
1278
1287
|
* the field designated as the primary key in the model definition.
|
|
1279
1288
|
* @type {EventIds}
|
|
1280
|
-
* @memberOf module:lib/engine/
|
|
1289
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1281
1290
|
*/
|
|
1282
1291
|
modelId?: EventIds;
|
|
1283
1292
|
/**
|
|
@@ -1287,7 +1296,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1287
1296
|
* If not explicitly set, it defaults to the repository's configured primary key or 'id'.
|
|
1288
1297
|
* @type {string}
|
|
1289
1298
|
* @default 'id'
|
|
1290
|
-
* @memberOf module:lib/engine/
|
|
1299
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1291
1300
|
*/
|
|
1292
1301
|
pk: string;
|
|
1293
1302
|
/**
|
|
@@ -1297,7 +1306,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1297
1306
|
* provided as a static object mapping or as a function for dynamic mapping transformations.
|
|
1298
1307
|
* @type {Record<string, string> | FunctionLike}
|
|
1299
1308
|
* @default {}
|
|
1300
|
-
* @memberOf module:lib/engine/
|
|
1309
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1301
1310
|
*/
|
|
1302
1311
|
mapper: Record<string, string> | FunctionLike;
|
|
1303
1312
|
/**
|
|
@@ -1307,7 +1316,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1307
1316
|
* which operation buttons are displayed in the UI. By default, only READ operations are enabled.
|
|
1308
1317
|
* @type {CrudOperations[]}
|
|
1309
1318
|
* @default [OperationKeys.READ]
|
|
1310
|
-
* @memberOf module:lib/engine/
|
|
1319
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1311
1320
|
*/
|
|
1312
1321
|
operations: CrudOperations[];
|
|
1313
1322
|
/**
|
|
@@ -1329,7 +1338,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1329
1338
|
* establish the component's vertical placement within the grid structure.
|
|
1330
1339
|
* @type {number}
|
|
1331
1340
|
* @default 1
|
|
1332
|
-
* @memberOf module:lib/engine/
|
|
1341
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1333
1342
|
*/
|
|
1334
1343
|
row: number;
|
|
1335
1344
|
/**
|
|
@@ -1339,7 +1348,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1339
1348
|
* establish the component's horizontal placement within the grid structure.
|
|
1340
1349
|
* @type {number}
|
|
1341
1350
|
* @default 1
|
|
1342
|
-
* @memberOf module:lib/engine/
|
|
1351
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1343
1352
|
*/
|
|
1344
1353
|
col: number;
|
|
1345
1354
|
/**
|
|
@@ -1350,7 +1359,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1350
1359
|
* This provides a way to customize the component's appearance beyond the built-in styling options.
|
|
1351
1360
|
* @type {string}
|
|
1352
1361
|
* @default ""
|
|
1353
|
-
* @memberOf module:lib/engine/
|
|
1362
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1354
1363
|
*/
|
|
1355
1364
|
className: string;
|
|
1356
1365
|
/**
|
|
@@ -1361,7 +1370,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1361
1370
|
* data model and provides methods for querying and filtering data based on specific criteria.
|
|
1362
1371
|
* @type {DecafRepository<Model>}
|
|
1363
1372
|
* @private
|
|
1364
|
-
* @memberOf module:lib/engine/
|
|
1373
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1365
1374
|
*/
|
|
1366
1375
|
protected _repository?: DecafRepository<Model>;
|
|
1367
1376
|
/**
|
|
@@ -1372,7 +1381,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1372
1381
|
* and layout features that require menu interaction.
|
|
1373
1382
|
* @protected
|
|
1374
1383
|
* @type {MenuController}
|
|
1375
|
-
* @memberOf module:lib/engine/
|
|
1384
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1376
1385
|
*/
|
|
1377
1386
|
protected menuController: MenuController;
|
|
1378
1387
|
/**
|
|
@@ -1383,7 +1392,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1383
1392
|
* view updates when modifications occur outside the normal Angular change detection flow.
|
|
1384
1393
|
* @protected
|
|
1385
1394
|
* @type {ChangeDetectorRef}
|
|
1386
|
-
* @memberOf module:lib/engine/
|
|
1395
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1387
1396
|
*/
|
|
1388
1397
|
protected changeDetectorRef: ChangeDetectorRef;
|
|
1389
1398
|
/**
|
|
@@ -1393,7 +1402,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1393
1402
|
* including server-side rendering and web workers, without direct DOM access.
|
|
1394
1403
|
* @protected
|
|
1395
1404
|
* @type {Renderer2}
|
|
1396
|
-
* @memberOf module:lib/engine/
|
|
1405
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1397
1406
|
*/
|
|
1398
1407
|
protected renderer: Renderer2;
|
|
1399
1408
|
/**
|
|
@@ -1403,7 +1412,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1403
1412
|
* on the current locale setting, enabling multilingual support throughout the application.
|
|
1404
1413
|
* @protected
|
|
1405
1414
|
* @type {TranslateService}
|
|
1406
|
-
* @memberOf module:lib/engine/
|
|
1415
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1407
1416
|
*/
|
|
1408
1417
|
protected translateService: TranslateService;
|
|
1409
1418
|
/**
|
|
@@ -1414,7 +1423,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1414
1423
|
* The logger is used throughout the component to record important events, debug information,
|
|
1415
1424
|
* and potential issues, facilitating easier debugging and maintenance.
|
|
1416
1425
|
* @type {Logger}
|
|
1417
|
-
* @memberOf module:lib/engine/
|
|
1426
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1418
1427
|
*/
|
|
1419
1428
|
logger: Logger;
|
|
1420
1429
|
/**
|
|
@@ -1424,7 +1433,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1424
1433
|
* state changes. Events are passed up the component hierarchy to enable coordinated
|
|
1425
1434
|
* behavior across the application.
|
|
1426
1435
|
* @type {EventEmitter<IBaseCustomEvent>}
|
|
1427
|
-
* @memberOf module:lib/engine/
|
|
1436
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1428
1437
|
*/
|
|
1429
1438
|
listenEvent: EventEmitter<IBaseCustomEvent>;
|
|
1430
1439
|
/**
|
|
@@ -1434,7 +1443,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1434
1443
|
* handles route parameters, and manages the browser's navigation history.
|
|
1435
1444
|
* @protected
|
|
1436
1445
|
* @type {Router}
|
|
1437
|
-
* @memberOf module:lib/engine/
|
|
1446
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1438
1447
|
*/
|
|
1439
1448
|
protected router: Router;
|
|
1440
1449
|
/**
|
|
@@ -1444,7 +1453,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1444
1453
|
* the default application locale for this specific component instance, enabling per-component
|
|
1445
1454
|
* localization when needed.
|
|
1446
1455
|
* @type {string | undefined}
|
|
1447
|
-
* @memberOf module:lib/engine/
|
|
1456
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1448
1457
|
*/
|
|
1449
1458
|
locale?: string;
|
|
1450
1459
|
/**
|
|
@@ -1456,7 +1465,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1456
1465
|
* Additional properties can be included to customize the rendering behavior.
|
|
1457
1466
|
* @type {Record<string, unknown>}
|
|
1458
1467
|
* @default {tag: ""}
|
|
1459
|
-
* @memberOf module:lib/engine/
|
|
1468
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1460
1469
|
*/
|
|
1461
1470
|
item: Record<string, unknown>;
|
|
1462
1471
|
/**
|
|
@@ -1468,7 +1477,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1468
1477
|
* enabling customizable component behavior based on external configuration.
|
|
1469
1478
|
* @type {Record<string, unknown>}
|
|
1470
1479
|
* @default {}
|
|
1471
|
-
* @memberOf module:lib/engine/
|
|
1480
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1472
1481
|
*/
|
|
1473
1482
|
props: Record<string, unknown>;
|
|
1474
1483
|
/**
|
|
@@ -1478,7 +1487,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1478
1487
|
* different operations or views. The route helps establish the component's position in the
|
|
1479
1488
|
* application's routing hierarchy.
|
|
1480
1489
|
* @type {string}
|
|
1481
|
-
* @memberOf module:lib/engine/
|
|
1490
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1482
1491
|
*/
|
|
1483
1492
|
route: string;
|
|
1484
1493
|
/**
|
|
@@ -1488,17 +1497,17 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1488
1497
|
* certain operations that require initialization can be performed.
|
|
1489
1498
|
* @type {boolean}
|
|
1490
1499
|
* @default false
|
|
1491
|
-
* @memberOf module:lib/engine/
|
|
1500
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1492
1501
|
*/
|
|
1493
1502
|
initialized: boolean;
|
|
1494
1503
|
/**
|
|
1495
1504
|
* @description Component name identifier for logging and localization contexts.
|
|
1496
1505
|
* @summary Stores the component's name which is used as a key for logging contexts
|
|
1497
1506
|
* and as a base for locale resolution. Can be injected via the CPTKN token or defaults
|
|
1498
|
-
* to "
|
|
1507
|
+
* to "NgxComponentDirective" if not provided.
|
|
1499
1508
|
* @protected
|
|
1500
1509
|
* @type {string | undefined}
|
|
1501
|
-
* @memberOf module:lib/engine/
|
|
1510
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1502
1511
|
*/
|
|
1503
1512
|
protected componentName?: string;
|
|
1504
1513
|
/**
|
|
@@ -1508,7 +1517,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1508
1517
|
* load appropriate translation resources and locale-specific configurations.
|
|
1509
1518
|
* @protected
|
|
1510
1519
|
* @type {string | undefined}
|
|
1511
|
-
* @memberOf module:lib/engine/
|
|
1520
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1512
1521
|
*/
|
|
1513
1522
|
protected localeRoot?: string;
|
|
1514
1523
|
/**
|
|
@@ -1519,7 +1528,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1519
1528
|
* while maintaining encapsulation and preventing accidental modification.
|
|
1520
1529
|
* @protected
|
|
1521
1530
|
* @readonly
|
|
1522
|
-
* @memberOf module:lib/engine/
|
|
1531
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1523
1532
|
*/
|
|
1524
1533
|
protected readonly OperationKeys: typeof OperationKeys;
|
|
1525
1534
|
/**
|
|
@@ -1533,14 +1542,14 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1533
1542
|
*/
|
|
1534
1543
|
protected location: Location;
|
|
1535
1544
|
/**
|
|
1536
|
-
* @description Constructor for
|
|
1545
|
+
* @description Constructor for NgxComponentDirective.
|
|
1537
1546
|
* @summary Initializes the directive by setting up the component name, locale root,
|
|
1538
1547
|
* and logger. Calls the parent LoggedClass constructor and configures localization
|
|
1539
1548
|
* context. The component name and locale root can be optionally injected via the
|
|
1540
1549
|
* CPTKN token, otherwise defaults are used.
|
|
1541
1550
|
* @param {string} [componentName] - Optional component name for identification and logging
|
|
1542
1551
|
* @param {string} [localeRoot] - Optional locale root key for internationalization
|
|
1543
|
-
* @memberOf module:lib/engine/
|
|
1552
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1544
1553
|
*/
|
|
1545
1554
|
constructor(componentName?: string, localeRoot?: string);
|
|
1546
1555
|
/**
|
|
@@ -1548,7 +1557,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1548
1557
|
* @summary Returns the current locale identifier by calling the getLocale method.
|
|
1549
1558
|
* This property provides convenient access to the component's active locale setting.
|
|
1550
1559
|
* @returns {string} The current locale identifier
|
|
1551
|
-
* @memberOf module:lib/engine/
|
|
1560
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1552
1561
|
*/
|
|
1553
1562
|
get localeContext(): string;
|
|
1554
1563
|
/**
|
|
@@ -1559,7 +1568,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1559
1568
|
* @protected
|
|
1560
1569
|
* @returns {DecafRepository<Model>} The repository instance for the current model
|
|
1561
1570
|
* @throws {InternalError} If repository initialization fails
|
|
1562
|
-
* @memberOf module:lib/engine/
|
|
1571
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1563
1572
|
*/
|
|
1564
1573
|
protected get repository(): DecafRepository<Model>;
|
|
1565
1574
|
/**
|
|
@@ -1570,7 +1579,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1570
1579
|
* it updates the component's locale setting accordingly.
|
|
1571
1580
|
* @param {SimpleChanges} changes - Object containing the changed properties with their previous and current values
|
|
1572
1581
|
* @return {void}
|
|
1573
|
-
* @memberOf module:lib/engine/
|
|
1582
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1574
1583
|
*/
|
|
1575
1584
|
ngOnChanges(changes: SimpleChanges): void;
|
|
1576
1585
|
/**
|
|
@@ -1583,7 +1592,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1583
1592
|
* @param {string | string[]} phrase - The translation key or array of keys to translate
|
|
1584
1593
|
* @param {object | string} [params] - Optional parameters for interpolation in translated text
|
|
1585
1594
|
* @return {Promise<string>} A promise that resolves to the translated text
|
|
1586
|
-
* @memberOf module:lib/engine/
|
|
1595
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1587
1596
|
*/
|
|
1588
1597
|
protected translate(phrase: string | string[], params?: object | string): Promise<string>;
|
|
1589
1598
|
/**
|
|
@@ -1595,7 +1604,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1595
1604
|
* @protected
|
|
1596
1605
|
* @param {...unknown[]} args - Variable number of arguments that can be used by child implementations
|
|
1597
1606
|
* @return {Promise<void>} A promise that resolves when initialization is complete
|
|
1598
|
-
* @memberOf module:lib/engine/
|
|
1607
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1599
1608
|
*/
|
|
1600
1609
|
protected initialize(...args: unknown[]): Promise<void>;
|
|
1601
1610
|
/**
|
|
@@ -1606,7 +1615,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1606
1615
|
* @protected
|
|
1607
1616
|
* @param {string} [locale] - Optional locale identifier to set
|
|
1608
1617
|
* @return {string} The current locale identifier
|
|
1609
|
-
* @memberOf module:lib/engine/
|
|
1618
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1610
1619
|
*/
|
|
1611
1620
|
protected getLocale(locale?: string): string;
|
|
1612
1621
|
/**
|
|
@@ -1616,7 +1625,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1616
1625
|
* class name using the pattern `/model/{ModelName}`. Returns an empty string if neither
|
|
1617
1626
|
* a route nor a model is available.
|
|
1618
1627
|
* @return {string} The route path for this component
|
|
1619
|
-
* @memberOf module:lib/engine/
|
|
1628
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1620
1629
|
*/
|
|
1621
1630
|
getRoute(): string;
|
|
1622
1631
|
/**
|
|
@@ -1628,7 +1637,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1628
1637
|
* @template M - The model type extending from Model
|
|
1629
1638
|
* @param {string | Model | ModelConstructor<M>} model - The model to resolve and initialize
|
|
1630
1639
|
* @return {void}
|
|
1631
|
-
* @memberOf module:lib/engine/
|
|
1640
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1632
1641
|
*/
|
|
1633
1642
|
getModel<M extends Model>(model: string | Model | ModelConstructor<M>): void;
|
|
1634
1643
|
/**
|
|
@@ -1640,7 +1649,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1640
1649
|
* decorator metadata with the component's runtime configuration.
|
|
1641
1650
|
* @param {Model} model - The model instance to extract definitions from
|
|
1642
1651
|
* @return {void}
|
|
1643
|
-
* @memberOf module:lib/engine/
|
|
1652
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1644
1653
|
*/
|
|
1645
1654
|
setModelDefinitions(model: Model): void;
|
|
1646
1655
|
/**
|
|
@@ -1659,7 +1668,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1659
1668
|
* @mermaid
|
|
1660
1669
|
* sequenceDiagram
|
|
1661
1670
|
* participant C as Component
|
|
1662
|
-
* participant D as
|
|
1671
|
+
* participant D as NgxComponentDirective
|
|
1663
1672
|
* participant P as Props Object
|
|
1664
1673
|
*
|
|
1665
1674
|
* C->>D: parseProps(instance, skip)
|
|
@@ -1677,7 +1686,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1677
1686
|
* end
|
|
1678
1687
|
* end
|
|
1679
1688
|
* @protected
|
|
1680
|
-
* @memberOf module:lib/engine/
|
|
1689
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1681
1690
|
*/
|
|
1682
1691
|
protected parseProps(instance: KeyValue, skip?: string[]): void;
|
|
1683
1692
|
/**
|
|
@@ -1691,7 +1700,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1691
1700
|
* @param {number} index - The index of the item in the list
|
|
1692
1701
|
* @param {KeyValue | string | number} item - The item data to track
|
|
1693
1702
|
* @return {string | number} A unique identifier for the item
|
|
1694
|
-
* @memberOf module:lib/engine/
|
|
1703
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1695
1704
|
*/
|
|
1696
1705
|
protected trackItemFn(index: number, item: KeyValue | string | number): string | number;
|
|
1697
1706
|
/**
|
|
@@ -1706,7 +1715,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1706
1715
|
* @mermaid
|
|
1707
1716
|
* sequenceDiagram
|
|
1708
1717
|
* participant C as Child Component
|
|
1709
|
-
* participant D as
|
|
1718
|
+
* participant D as NgxComponentDirective
|
|
1710
1719
|
* participant H as Event Handler
|
|
1711
1720
|
* participant P as Parent Component
|
|
1712
1721
|
*
|
|
@@ -1726,7 +1735,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1726
1735
|
* else No handlers
|
|
1727
1736
|
* D->>P: listenEvent.emit(event)
|
|
1728
1737
|
* end
|
|
1729
|
-
* @memberOf module:lib/engine/
|
|
1738
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1730
1739
|
*/
|
|
1731
1740
|
handleEvent(event: IBaseCustomEvent | ICrudFormEvent | CustomEvent): Promise<void>;
|
|
1732
1741
|
/**
|
|
@@ -1739,7 +1748,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1739
1748
|
* @return {boolean} True if the operation is allowed, false otherwise
|
|
1740
1749
|
* @mermaid
|
|
1741
1750
|
* sequenceDiagram
|
|
1742
|
-
* participant D as
|
|
1751
|
+
* participant D as NgxComponentDirective
|
|
1743
1752
|
* participant U as UI
|
|
1744
1753
|
*
|
|
1745
1754
|
* U->>D: isAllowed(operation)
|
|
@@ -1750,7 +1759,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1750
1759
|
* D->>D: Check if operation is not current operation
|
|
1751
1760
|
* D-->>U: Return result
|
|
1752
1761
|
* end
|
|
1753
|
-
* @memberOf module:lib/engine/
|
|
1762
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1754
1763
|
*/
|
|
1755
1764
|
isAllowed(operation: string): boolean;
|
|
1756
1765
|
/**
|
|
@@ -1766,7 +1775,7 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1766
1775
|
* @mermaid
|
|
1767
1776
|
* sequenceDiagram
|
|
1768
1777
|
* participant U as UI
|
|
1769
|
-
* participant D as
|
|
1778
|
+
* participant D as NgxComponentDirective
|
|
1770
1779
|
* participant R as Router
|
|
1771
1780
|
*
|
|
1772
1781
|
* U->>D: Click operation button
|
|
@@ -1777,11 +1786,11 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1777
1786
|
* R->>R: Navigate to new route
|
|
1778
1787
|
* R-->>D: Return navigation result
|
|
1779
1788
|
* D-->>U: Display new operation view
|
|
1780
|
-
* @memberOf module:lib/engine/
|
|
1789
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
1781
1790
|
*/
|
|
1782
1791
|
changeOperation(operation: string, id?: string): Promise<boolean>;
|
|
1783
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
1784
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
1792
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxComponentDirective, never>;
|
|
1793
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxComponentDirective, never, never, { "name": { "alias": "name"; "required": false; }; "childOf": { "alias": "childOf"; "required": false; }; "uid": { "alias": "uid"; "required": false; }; "model": { "alias": "model"; "required": false; }; "modelId": { "alias": "modelId"; "required": false; }; "pk": { "alias": "pk"; "required": false; }; "mapper": { "alias": "mapper"; "required": false; }; "operations": { "alias": "operations"; "required": false; }; "operation": { "alias": "operation"; "required": false; }; "row": { "alias": "row"; "required": false; }; "col": { "alias": "col"; "required": false; }; "className": { "alias": "className"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "item": { "alias": "item"; "required": false; }; "props": { "alias": "props"; "required": false; }; "route": { "alias": "route"; "required": false; }; }, { "listenEvent": "listenEvent"; }, never, never, true, never>;
|
|
1785
1794
|
}
|
|
1786
1795
|
|
|
1787
1796
|
/**
|
|
@@ -1792,8 +1801,8 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1792
1801
|
* It handles form group lifecycle, error messaging, change detection, and parent-child form relationships.
|
|
1793
1802
|
* Extend this class to create custom form field components that seamlessly integrate with Angular's
|
|
1794
1803
|
* reactive forms and Decaf's validation system.
|
|
1795
|
-
* @class
|
|
1796
|
-
* @extends {
|
|
1804
|
+
* @class NgxFormFieldDirective
|
|
1805
|
+
* @extends {NgxComponentDirective}
|
|
1797
1806
|
* @implements {ControlValueAccessor}
|
|
1798
1807
|
* @implements {FieldProperties}
|
|
1799
1808
|
* @example
|
|
@@ -1807,14 +1816,14 @@ declare abstract class NgxDecafComponentDirective extends LoggedClass implements
|
|
|
1807
1816
|
* multi: true
|
|
1808
1817
|
* }]
|
|
1809
1818
|
* })
|
|
1810
|
-
* export class TextFieldComponent extends
|
|
1819
|
+
* export class TextFieldComponent extends NgxFormFieldDirective {
|
|
1811
1820
|
* constructor() {
|
|
1812
1821
|
* super();
|
|
1813
1822
|
* }
|
|
1814
1823
|
* }
|
|
1815
1824
|
* ```
|
|
1816
1825
|
*/
|
|
1817
|
-
declare abstract class
|
|
1826
|
+
declare abstract class NgxFormFieldDirective extends NgxComponentDirective implements ControlValueAccessor, FieldProperties {
|
|
1818
1827
|
/**
|
|
1819
1828
|
* @description Index of the currently active form group in a form array.
|
|
1820
1829
|
* @summary When working with multiple form groups (form arrays), this indicates
|
|
@@ -2013,7 +2022,7 @@ declare abstract class NgxDecafFormFieldDirective extends NgxDecafComponentDirec
|
|
|
2013
2022
|
* @protected
|
|
2014
2023
|
*/
|
|
2015
2024
|
protected parent?: HTMLElement;
|
|
2016
|
-
constructor();
|
|
2025
|
+
constructor(componentName?: string);
|
|
2017
2026
|
/**
|
|
2018
2027
|
* @description Gets the currently active form group based on context.
|
|
2019
2028
|
* @summary Returns the appropriate FormGroup based on whether this field supports
|
|
@@ -2134,21 +2143,21 @@ declare abstract class NgxDecafFormFieldDirective extends NgxDecafComponentDirec
|
|
|
2134
2143
|
* @public
|
|
2135
2144
|
*/
|
|
2136
2145
|
getErrors(parent: HTMLElement): string | void;
|
|
2137
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
2138
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
2146
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxFormFieldDirective, never>;
|
|
2147
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxFormFieldDirective, never, never, { "activeFormGroupIndex": { "alias": "activeFormGroupIndex"; "required": false; }; "operation": { "alias": "operation"; "required": true; }; "parentComponent": { "alias": "parentComponent"; "required": false; }; "optionsMapper": { "alias": "optionsMapper"; "required": false; }; }, {}, never, never, true, never>;
|
|
2139
2148
|
}
|
|
2140
2149
|
|
|
2141
2150
|
/**
|
|
2142
|
-
* @module lib/engine/
|
|
2151
|
+
* @module lib/engine/NgxFormService
|
|
2143
2152
|
* @description Utilities to create and manage Angular forms in Decaf components.
|
|
2144
|
-
* @summary The
|
|
2153
|
+
* @summary The NgxFormService exposes helpers to build FormGroup/FormArray instances
|
|
2145
2154
|
* from component metadata or UI model definitions, register forms in a registry,
|
|
2146
2155
|
* validate and extract form data, and create controls with appropriate validators.
|
|
2147
2156
|
*/
|
|
2148
2157
|
|
|
2149
2158
|
/**
|
|
2150
2159
|
* @description Service for managing Angular forms and form controls.
|
|
2151
|
-
* @summary The
|
|
2160
|
+
* @summary The NgxFormService provides utility methods for creating, managing, and validating Angular forms and form controls. It includes functionality for registering forms, adding controls, validating fields, and handling form data.
|
|
2152
2161
|
*
|
|
2153
2162
|
* @class
|
|
2154
2163
|
* @param {WeakMap<AbstractControl, FieldProperties>} controls - A WeakMap to store control properties.
|
|
@@ -2160,17 +2169,17 @@ declare abstract class NgxDecafFormFieldDirective extends NgxDecafComponentDirec
|
|
|
2160
2169
|
* { inputs: { name: 'username', type: 'text', required: true } },
|
|
2161
2170
|
* { inputs: { name: 'password', type: 'password', minLength: 8 } }
|
|
2162
2171
|
* ];
|
|
2163
|
-
* const form =
|
|
2172
|
+
* const form = NgxFormService.createFormFromComponents('loginForm', components, true);
|
|
2164
2173
|
*
|
|
2165
2174
|
* // Validating fields
|
|
2166
|
-
*
|
|
2175
|
+
* NgxFormService.validateFields(form);
|
|
2167
2176
|
*
|
|
2168
2177
|
* // Getting form data
|
|
2169
|
-
* const formData =
|
|
2178
|
+
* const formData = NgxFormService.getFormData(form);
|
|
2170
2179
|
* @mermaid
|
|
2171
2180
|
* sequenceDiagram
|
|
2172
2181
|
* participant C as Component
|
|
2173
|
-
* participant NFS as
|
|
2182
|
+
* participant NFS as NgxFormService
|
|
2174
2183
|
* participant AF as Angular Forms
|
|
2175
2184
|
* C->>NFS: createFormFromComponents()
|
|
2176
2185
|
* NFS->>AF: new FormGroup()
|
|
@@ -2183,7 +2192,7 @@ declare abstract class NgxDecafFormFieldDirective extends NgxDecafComponentDirec
|
|
|
2183
2192
|
* NFS->>AF: Get control values
|
|
2184
2193
|
* NFS-->>C: Return form data
|
|
2185
2194
|
*/
|
|
2186
|
-
declare class
|
|
2195
|
+
declare class NgxFormService {
|
|
2187
2196
|
/**
|
|
2188
2197
|
* @description WeakMap that stores control properties for form controls.
|
|
2189
2198
|
* @summary A WeakMap that associates AbstractControl instances with their corresponding FieldProperties.
|
|
@@ -2215,7 +2224,7 @@ declare class NgxDecafFormService {
|
|
|
2215
2224
|
* @mermaid
|
|
2216
2225
|
* sequenceDiagram
|
|
2217
2226
|
* participant C as Component
|
|
2218
|
-
* participant NFS as
|
|
2227
|
+
* participant NFS as NgxFormService
|
|
2219
2228
|
* participant FR as Form Registry
|
|
2220
2229
|
* participant AF as Angular Forms
|
|
2221
2230
|
* C->>NFS: createForm(id, formArray, registry)
|
|
@@ -2281,7 +2290,7 @@ declare class NgxDecafFormService {
|
|
|
2281
2290
|
* @private
|
|
2282
2291
|
* @mermaid
|
|
2283
2292
|
* sequenceDiagram
|
|
2284
|
-
* participant NFS as
|
|
2293
|
+
* participant NFS as NgxFormService
|
|
2285
2294
|
* participant FG as FormGroup
|
|
2286
2295
|
* participant FA as FormArray
|
|
2287
2296
|
* NFS->>NFS: Split path into parts
|
|
@@ -2395,7 +2404,7 @@ declare class NgxDecafFormService {
|
|
|
2395
2404
|
* @mermaid
|
|
2396
2405
|
* sequenceDiagram
|
|
2397
2406
|
* participant C as Component
|
|
2398
|
-
* participant NFS as
|
|
2407
|
+
* participant NFS as NgxFormService
|
|
2399
2408
|
* participant FR as Form Registry
|
|
2400
2409
|
* C->>NFS: getControlFromForm(formId, path?)
|
|
2401
2410
|
* NFS->>FR: Get form by formId
|
|
@@ -2430,7 +2439,7 @@ declare class NgxDecafFormService {
|
|
|
2430
2439
|
* @mermaid
|
|
2431
2440
|
* sequenceDiagram
|
|
2432
2441
|
* participant C as Component
|
|
2433
|
-
* participant NFS as
|
|
2442
|
+
* participant NFS as NgxFormService
|
|
2434
2443
|
* participant AF as Angular Forms
|
|
2435
2444
|
* C->>NFS: createFormFromChildren(id, registry, children)
|
|
2436
2445
|
* NFS->>AF: new FormGroup({})
|
|
@@ -2457,7 +2466,7 @@ declare class NgxDecafFormService {
|
|
|
2457
2466
|
* @mermaid
|
|
2458
2467
|
* sequenceDiagram
|
|
2459
2468
|
* participant C as Component
|
|
2460
|
-
* participant NFS as
|
|
2469
|
+
* participant NFS as NgxFormService
|
|
2461
2470
|
* participant AF as Angular Forms
|
|
2462
2471
|
* C->>NFS: createFormFromComponents(id, components, registry)
|
|
2463
2472
|
* NFS->>AF: new FormGroup({})
|
|
@@ -2486,7 +2495,7 @@ declare class NgxDecafFormService {
|
|
|
2486
2495
|
* @mermaid
|
|
2487
2496
|
* sequenceDiagram
|
|
2488
2497
|
* participant C as Component
|
|
2489
|
-
* participant NFS as
|
|
2498
|
+
* participant NFS as NgxFormService
|
|
2490
2499
|
* participant F as Form
|
|
2491
2500
|
* C->>NFS: addControlFromProps(id, componentProps, parentProps?)
|
|
2492
2501
|
* NFS->>NFS: createForm(id, formArray, true)
|
|
@@ -2514,7 +2523,7 @@ declare class NgxDecafFormService {
|
|
|
2514
2523
|
* @mermaid
|
|
2515
2524
|
* sequenceDiagram
|
|
2516
2525
|
* participant C as Component
|
|
2517
|
-
* participant NFS as
|
|
2526
|
+
* participant NFS as NgxFormService
|
|
2518
2527
|
* participant FG as FormGroup
|
|
2519
2528
|
* participant FC as FormControl
|
|
2520
2529
|
* C->>NFS: getFormData(formGroup)
|
|
@@ -2556,7 +2565,7 @@ declare class NgxDecafFormService {
|
|
|
2556
2565
|
* @mermaid
|
|
2557
2566
|
* sequenceDiagram
|
|
2558
2567
|
* participant C as Component
|
|
2559
|
-
* participant NFS as
|
|
2568
|
+
* participant NFS as NgxFormService
|
|
2560
2569
|
* participant FC as FormControl
|
|
2561
2570
|
* participant FG as FormGroup
|
|
2562
2571
|
* participant FA as FormArray
|
|
@@ -2610,7 +2619,7 @@ declare class NgxDecafFormService {
|
|
|
2610
2619
|
* @mermaid
|
|
2611
2620
|
* sequenceDiagram
|
|
2612
2621
|
* participant C as Component
|
|
2613
|
-
* participant NFS as
|
|
2622
|
+
* participant NFS as NgxFormService
|
|
2614
2623
|
* participant VF as ValidatorFactory
|
|
2615
2624
|
* participant AF as Angular Forms
|
|
2616
2625
|
* C->>NFS: fromProps(props, updateMode?)
|
|
@@ -2652,7 +2661,7 @@ declare class NgxDecafFormService {
|
|
|
2652
2661
|
* @mermaid
|
|
2653
2662
|
* sequenceDiagram
|
|
2654
2663
|
* participant C as Component
|
|
2655
|
-
* participant NFS as
|
|
2664
|
+
* participant NFS as NgxFormService
|
|
2656
2665
|
* participant DOM as DOM Tree
|
|
2657
2666
|
* C->>NFS: getParentEl(element, tagName)
|
|
2658
2667
|
* loop Traverse up DOM tree
|
|
@@ -2717,7 +2726,7 @@ declare abstract class NgxEventHandler<PAYLOAD> extends LoggedClass {
|
|
|
2717
2726
|
/**
|
|
2718
2727
|
* @module lib/engine/NgxPageDirective
|
|
2719
2728
|
* @description Base page component for Decaf Angular applications.
|
|
2720
|
-
* @summary Provides a page-level base class (NgxPageDirective) that extends
|
|
2729
|
+
* @summary Provides a page-level base class (NgxPageDirective) that extends NgxComponentDirective and
|
|
2721
2730
|
* offers page-focused utilities such as menu management, title handling and router event hooks.
|
|
2722
2731
|
* @link {@link NgxPageDirective}
|
|
2723
2732
|
*/
|
|
@@ -2725,16 +2734,14 @@ declare abstract class NgxEventHandler<PAYLOAD> extends LoggedClass {
|
|
|
2725
2734
|
/**
|
|
2726
2735
|
* @description Base directive for page-level components in Decaf Angular applications.
|
|
2727
2736
|
* @summary Abstract directive that provides foundational functionality for page components.
|
|
2728
|
-
* Extends
|
|
2737
|
+
* Extends NgxComponentDirective to add page-specific features including menu management,
|
|
2729
2738
|
* page title handling, and Ionic lifecycle hooks. This directive serves as the base class for
|
|
2730
2739
|
* all page-level components, providing consistent behavior for navigation, routing, and UI state.
|
|
2731
2740
|
* @class NgxPageDirective
|
|
2732
|
-
* @extends {
|
|
2741
|
+
* @extends {NgxComponentDirective}
|
|
2733
2742
|
* @memberOf module:lib/engine/NgxPageDirective
|
|
2734
2743
|
*/
|
|
2735
|
-
declare abstract class NgxPageDirective extends
|
|
2736
|
-
protected localeRoot?: string | undefined;
|
|
2737
|
-
protected hasMenu: boolean;
|
|
2744
|
+
declare abstract class NgxPageDirective extends NgxComponentDirective implements AfterViewInit {
|
|
2738
2745
|
/**
|
|
2739
2746
|
* @description Page title text for the current view.
|
|
2740
2747
|
* @summary Stores the title text to be displayed for this page. This can be set dynamically
|
|
@@ -2767,16 +2774,28 @@ declare abstract class NgxPageDirective extends NgxDecafComponentDirective imple
|
|
|
2767
2774
|
* @memberOf module:lib/engine/NgxPageDirective
|
|
2768
2775
|
*/
|
|
2769
2776
|
protected titleService: Title;
|
|
2777
|
+
/**
|
|
2778
|
+
* @description Flag indicating whether the page should display the navigation menu.
|
|
2779
|
+
* @summary Controls the visibility and availability of the application menu for this page.
|
|
2780
|
+
* When set to true, the menu is enabled and accessible to users. When false, the menu
|
|
2781
|
+
* is disabled, which is useful for pages like login screens or standalone views that
|
|
2782
|
+
* should not show navigation options.
|
|
2783
|
+
* @protected
|
|
2784
|
+
* @type {boolean}
|
|
2785
|
+
* @default true
|
|
2786
|
+
* @memberOf module:lib/engine/NgxPageDirective
|
|
2787
|
+
*/
|
|
2788
|
+
protected hasMenu: boolean;
|
|
2770
2789
|
/**
|
|
2771
2790
|
* @description Constructor for NgxPageDirective.
|
|
2772
2791
|
* @summary Initializes the page directive with optional locale root and menu visibility settings.
|
|
2773
|
-
* Calls the parent
|
|
2792
|
+
* Calls the parent NgxComponentDirective constructor to set up base functionality including
|
|
2774
2793
|
* logging, localization, and component identification.
|
|
2775
2794
|
* @param {string} [localeRoot] - Optional locale root key for internationalization
|
|
2776
2795
|
* @param {boolean} [hasMenu=true] - Whether this page should display the menu
|
|
2777
2796
|
* @memberOf module:lib/engine/NgxPageDirective
|
|
2778
2797
|
*/
|
|
2779
|
-
constructor(localeRoot?: string
|
|
2798
|
+
constructor(localeRoot?: string, hasMenu?: boolean);
|
|
2780
2799
|
/**
|
|
2781
2800
|
* @description Ionic lifecycle hook called when the page is about to enter view.
|
|
2782
2801
|
* @summary This lifecycle hook is triggered just before the page becomes visible to the user.
|
|
@@ -2805,208 +2824,595 @@ declare abstract class NgxPageDirective extends NgxDecafComponentDirective imple
|
|
|
2805
2824
|
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxPageDirective, never, never, {}, {}, never, never, true, never>;
|
|
2806
2825
|
}
|
|
2807
2826
|
|
|
2808
|
-
|
|
2809
|
-
* @description Dynamic component renderer for Decaf Angular applications.
|
|
2810
|
-
* @summary This component provides a flexible way to dynamically render Angular components
|
|
2811
|
-
* at runtime based on a tag name. It handles the creation, property binding, and event
|
|
2812
|
-
* subscription for dynamically loaded components. This is particularly useful for
|
|
2813
|
-
* building configurable UIs where components need to be determined at runtime.
|
|
2814
|
-
*
|
|
2815
|
-
* @component {ComponentRendererComponent}
|
|
2816
|
-
* @example
|
|
2817
|
-
* <ngx-decaf-component-renderer
|
|
2818
|
-
* [tag]="tag"
|
|
2819
|
-
* [globals]="globals"
|
|
2820
|
-
* (listenEvent)="listenEvent($event)">
|
|
2821
|
-
* </ngx-decaf-component-renderer>
|
|
2822
|
-
*
|
|
2823
|
-
* @mermaid
|
|
2824
|
-
* classDiagram
|
|
2825
|
-
* class ComponentRendererComponent {
|
|
2826
|
-
* +ViewContainerRef vcr
|
|
2827
|
-
* +string tag
|
|
2828
|
-
* +Record~string, unknown~ globals
|
|
2829
|
-
* +EnvironmentInjector injector
|
|
2830
|
-
* +ComponentRef~unknown~ component
|
|
2831
|
-
* +EventEmitter~IBaseCustomEvent~ listenEvent
|
|
2832
|
-
* +ngOnInit()
|
|
2833
|
-
* +ngOnDestroy()
|
|
2834
|
-
* +ngOnChanges(changes)
|
|
2835
|
-
* -createComponent(tag, globals)
|
|
2836
|
-
* -subscribeEvents()
|
|
2837
|
-
* -unsubscribeEvents()
|
|
2838
|
-
* }
|
|
2839
|
-
* ComponentRendererComponent --|> OnInit
|
|
2840
|
-
* ComponentRendererComponent --|> OnChanges
|
|
2841
|
-
* ComponentRendererComponent --|> OnDestroy
|
|
2842
|
-
*
|
|
2843
|
-
* @implements {OnInit}
|
|
2844
|
-
* @implements {OnChanges}
|
|
2845
|
-
* @implements {OnDestroy}
|
|
2846
|
-
*/
|
|
2847
|
-
declare class ComponentRendererComponent implements OnInit, OnDestroy {
|
|
2827
|
+
declare abstract class NgxModelPageDirective extends NgxPageDirective {
|
|
2848
2828
|
/**
|
|
2849
|
-
* @description
|
|
2850
|
-
* @summary
|
|
2851
|
-
*
|
|
2852
|
-
*
|
|
2829
|
+
* @description Primary key value of the current model instance.
|
|
2830
|
+
* @summary Specifies the primary key value for the current model record being displayed or
|
|
2831
|
+
* manipulated by the component. This identifier is used for CRUD operations that target
|
|
2832
|
+
* specific records, such as read, update, and delete operations. The value corresponds to
|
|
2833
|
+
* the field designated as the primary key in the model definition.
|
|
2834
|
+
* @type {EventIds}
|
|
2835
|
+
* @memberOf module:lib/engine/NgxComponentDirective
|
|
2836
|
+
*/
|
|
2837
|
+
modelId: EventIds;
|
|
2838
|
+
/**
|
|
2839
|
+
* @description The CRUD operation type to be performed on the model.
|
|
2840
|
+
* @summary Specifies which operation (Create, Read, Update, Delete) this component instance
|
|
2841
|
+
* should perform. This determines the UI behavior, form configuration, and available actions.
|
|
2842
|
+
* The operation affects form validation, field availability, and the specific repository
|
|
2843
|
+
* method called during data submission.
|
|
2853
2844
|
*
|
|
2854
|
-
* @type {
|
|
2855
|
-
* @
|
|
2845
|
+
* @type {OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE}
|
|
2846
|
+
* @default OperationKeys.READ
|
|
2847
|
+
* @memberOf ModelPage
|
|
2856
2848
|
*/
|
|
2857
|
-
|
|
2849
|
+
operation: OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE;
|
|
2858
2850
|
/**
|
|
2859
|
-
* @description The
|
|
2860
|
-
* @summary
|
|
2861
|
-
*
|
|
2862
|
-
*
|
|
2863
|
-
* to
|
|
2851
|
+
* @description The name of the model class to operate on.
|
|
2852
|
+
* @summary Identifies which registered model class this component should work with.
|
|
2853
|
+
* This name is used to resolve the model constructor from the global model registry
|
|
2854
|
+
* and instantiate the appropriate repository for data operations. The model must
|
|
2855
|
+
* be properly registered using the @Model decorator for resolution to work.
|
|
2864
2856
|
*
|
|
2865
2857
|
* @type {string}
|
|
2866
|
-
*
|
|
2867
|
-
* @memberOf ComponentRendererComponent
|
|
2858
|
+
* @memberOf ModelPage
|
|
2868
2859
|
*/
|
|
2869
|
-
|
|
2860
|
+
modelName: string;
|
|
2870
2861
|
/**
|
|
2871
|
-
* @description
|
|
2872
|
-
* @summary
|
|
2873
|
-
*
|
|
2874
|
-
*
|
|
2875
|
-
*
|
|
2862
|
+
* @description Array of operations allowed for the current model instance.
|
|
2863
|
+
* @summary Dynamically determined list of operations that are permitted based on
|
|
2864
|
+
* the current context and model state. Initially contains CREATE and READ operations,
|
|
2865
|
+
* with UPDATE and DELETE added when a modelId is present. This controls which
|
|
2866
|
+
* action buttons are displayed and which operations are accessible to the user.
|
|
2876
2867
|
*
|
|
2877
|
-
* @type {
|
|
2878
|
-
* @default
|
|
2879
|
-
* @memberOf
|
|
2868
|
+
* @type {OperationKeys[]}
|
|
2869
|
+
* @default [OperationKeys.CREATE, OperationKeys.READ]
|
|
2870
|
+
* @memberOf ModelPage
|
|
2880
2871
|
*/
|
|
2881
|
-
|
|
2872
|
+
allowedOperations: OperationKeys[];
|
|
2882
2873
|
/**
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2874
|
+
* @description Current model data loaded from the repository.
|
|
2875
|
+
* @summary Stores the raw data object representing the current model instance retrieved
|
|
2876
|
+
* from the repository. This property holds the actual data values for the model being
|
|
2877
|
+
* displayed or edited, and is set to undefined when no data is available or when an
|
|
2878
|
+
* error occurs during data loading.
|
|
2879
|
+
* @type {KeyValue | undefined}
|
|
2880
|
+
* @default undefined
|
|
2881
|
+
* @memberOf NgxModelPageDirective
|
|
2882
|
+
*/
|
|
2883
|
+
modelData: KeyValue | undefined;
|
|
2884
|
+
/**
|
|
2885
|
+
* @description Error message from failed operations.
|
|
2886
|
+
* @summary Stores error messages that occur during repository operations such as
|
|
2887
|
+
* data loading, creation, update, or deletion. When set, this indicates an error
|
|
2888
|
+
* state that should be displayed to the user. Cleared on successful operations.
|
|
2889
|
+
* @type {string | undefined}
|
|
2890
|
+
* @default undefined
|
|
2891
|
+
* @memberOf NgxModelPageDirective
|
|
2891
2892
|
*/
|
|
2892
|
-
|
|
2893
|
+
errorMessage: string | undefined;
|
|
2893
2894
|
/**
|
|
2894
|
-
* @description
|
|
2895
|
-
* @summary
|
|
2896
|
-
*
|
|
2897
|
-
* and
|
|
2895
|
+
* @description Lazy-initialized repository getter with model resolution.
|
|
2896
|
+
* @summary Creates and returns a repository instance for the specified model name.
|
|
2897
|
+
* Resolves the model constructor from the global registry, instantiates the repository,
|
|
2898
|
+
* and creates a new model instance. Throws an InternalError if the model is not
|
|
2899
|
+
* properly registered with the @Model decorator.
|
|
2898
2900
|
*
|
|
2899
|
-
* @
|
|
2900
|
-
*
|
|
2901
|
+
* @return {DecafRepository<Model>} The repository instance for the current model
|
|
2902
|
+
*
|
|
2903
|
+
* @throws {InternalError} When the model is not found in the registry
|
|
2901
2904
|
*/
|
|
2902
|
-
|
|
2903
|
-
children: KeyValue[];
|
|
2904
|
-
projectable: boolean;
|
|
2905
|
+
protected get repository(): DecafRepository<Model>;
|
|
2905
2906
|
/**
|
|
2906
|
-
* @description
|
|
2907
|
-
* @summary
|
|
2908
|
-
*
|
|
2909
|
-
*
|
|
2910
|
-
* rendered child.
|
|
2911
|
-
*
|
|
2912
|
-
* @type {EventEmitter<IBaseCustomEvent>}
|
|
2913
|
-
* @memberOf ComponentRendererComponent
|
|
2907
|
+
* @description Angular lifecycle hook for component initialization.
|
|
2908
|
+
* @summary Initializes the component by setting up the logger instance using the getLogger
|
|
2909
|
+
* utility. This ensures that logging is available throughout the component's lifecycle
|
|
2910
|
+
* for error tracking and debugging purposes.
|
|
2914
2911
|
*/
|
|
2915
|
-
|
|
2912
|
+
ionViewWillEnter(): Promise<void>;
|
|
2916
2913
|
/**
|
|
2917
|
-
* @description
|
|
2918
|
-
* @summary
|
|
2919
|
-
*
|
|
2920
|
-
*
|
|
2921
|
-
*
|
|
2914
|
+
* @description Refreshes the component data by loading the specified model instance.
|
|
2915
|
+
* @summary Loads model data from the repository based on the current operation type.
|
|
2916
|
+
* For READ, UPDATE, and DELETE operations, fetches the existing model data using
|
|
2917
|
+
* the provided unique identifier. Handles errors gracefully by logging them through
|
|
2918
|
+
* the logger instance.
|
|
2922
2919
|
*
|
|
2923
|
-
* @
|
|
2924
|
-
* @memberOf ComponentRendererComponent
|
|
2920
|
+
* @param {string} [uid] - The unique identifier of the model to load; defaults to modelId
|
|
2925
2921
|
*/
|
|
2926
|
-
|
|
2922
|
+
refresh(uid?: EventIds): Promise<void>;
|
|
2927
2923
|
/**
|
|
2928
|
-
* @description
|
|
2929
|
-
* @summary
|
|
2930
|
-
*
|
|
2924
|
+
* @description Generic event handler for component events.
|
|
2925
|
+
* @summary Processes incoming events from child components and routes them to appropriate
|
|
2926
|
+
* handlers based on the event name. Currently handles SUBMIT events by delegating to
|
|
2927
|
+
* the handleSubmit method. This centralized event handling approach allows for easy
|
|
2928
|
+
* extension and consistent event processing.
|
|
2931
2929
|
*
|
|
2932
|
-
* @
|
|
2930
|
+
* @param {IBaseCustomEvent} event - The event object containing event data and metadata
|
|
2933
2931
|
*/
|
|
2934
|
-
|
|
2935
|
-
/**
|
|
2936
|
-
* @description Repository model for data operations.
|
|
2937
|
-
* @summary The data model repository that this component will use for CRUD operations.
|
|
2938
|
-
* This provides a connection to the data layer for retrieving and manipulating data.
|
|
2939
|
-
*
|
|
2940
|
-
* @type {Model| undefined}
|
|
2941
|
-
*/
|
|
2942
|
-
parentComponent: FormParent | ElementRef<unknown> | undefined;
|
|
2943
|
-
parent: undefined | KeyValue;
|
|
2944
|
-
inner?: TemplateRef<unknown>;
|
|
2945
|
-
uid: string;
|
|
2932
|
+
handleEvent(event: IBaseCustomEvent): Promise<void>;
|
|
2946
2933
|
/**
|
|
2947
|
-
* @description
|
|
2948
|
-
* @summary
|
|
2949
|
-
*
|
|
2950
|
-
*
|
|
2934
|
+
* @description Handles form submission events for CRUD operations.
|
|
2935
|
+
* @summary Processes form submission by executing the appropriate repository operation
|
|
2936
|
+
* based on the current operation type. Handles CREATE, UPDATE, and DELETE operations,
|
|
2937
|
+
* processes the form data, refreshes the repository cache, navigates back to the previous
|
|
2938
|
+
* page, and displays success notifications. Comprehensive error handling ensures robust
|
|
2939
|
+
* operation with detailed logging.
|
|
2951
2940
|
*
|
|
2952
|
-
* @
|
|
2941
|
+
* @param {IBaseCustomEvent} event - The submit event containing form data
|
|
2942
|
+
* @return {Promise<IModelPageCustomEvent|void>} Promise that resolves on success or throws on error
|
|
2953
2943
|
*/
|
|
2954
|
-
|
|
2944
|
+
handleSubmit(event: IBaseCustomEvent): Promise<IModelPageCustomEvent | void>;
|
|
2955
2945
|
/**
|
|
2956
|
-
* @description
|
|
2957
|
-
* @summary
|
|
2958
|
-
*
|
|
2959
|
-
*
|
|
2946
|
+
* @description Retrieves a model instance from the repository by unique identifier.
|
|
2947
|
+
* @summary Fetches a specific model instance using the repository's read method.
|
|
2948
|
+
* Handles both string and numeric identifiers by automatically converting numeric
|
|
2949
|
+
* strings to numbers. If no identifier is provided, logs an informational message
|
|
2950
|
+
* and navigates back to the previous page. Returns undefined for missing instances.
|
|
2960
2951
|
*
|
|
2961
|
-
* @
|
|
2962
|
-
*
|
|
2963
|
-
* participant A as Angular Lifecycle
|
|
2964
|
-
* participant C as ComponentRendererComponent
|
|
2965
|
-
* participant R as NgxRenderingEngine
|
|
2966
|
-
*
|
|
2967
|
-
* A->>C: ngOnInit()
|
|
2968
|
-
* C->>C: createComponent(tag, globals)
|
|
2969
|
-
* C->>R: components(tag)
|
|
2970
|
-
* R-->>C: Return component constructor
|
|
2971
|
-
* C->>C: Process component inputs
|
|
2972
|
-
* C->>C: Create component instance
|
|
2973
|
-
* C->>C: subscribeEvents()
|
|
2974
|
-
*
|
|
2975
|
-
* @return {void}
|
|
2976
|
-
* @memberOf ComponentRendererComponent
|
|
2952
|
+
* @param {string} uid - The unique identifier of the model instance to retrieve
|
|
2953
|
+
* @return {Promise<Model | undefined>} Promise resolving to the model instance or undefined
|
|
2977
2954
|
*/
|
|
2978
|
-
|
|
2955
|
+
handleGet(uid?: EventIds): Promise<Model | undefined>;
|
|
2979
2956
|
/**
|
|
2980
|
-
* @description
|
|
2981
|
-
* @summary
|
|
2982
|
-
*
|
|
2983
|
-
*
|
|
2957
|
+
* @description Parses and transforms form data for repository operations.
|
|
2958
|
+
* @summary Converts raw form data into the appropriate format for repository operations.
|
|
2959
|
+
* For DELETE operations, returns the primary key value (string or number). For CREATE
|
|
2960
|
+
* and UPDATE operations, builds a complete model instance using the Model.build method
|
|
2961
|
+
* with proper primary key assignment for updates.
|
|
2984
2962
|
*
|
|
2985
|
-
* @
|
|
2986
|
-
*
|
|
2987
|
-
*
|
|
2988
|
-
|
|
2989
|
-
|
|
2963
|
+
* @param {Partial<Model>} data - The raw form data to be processed
|
|
2964
|
+
* @return {Model | string | number} Processed data ready for repository operations
|
|
2965
|
+
* @private
|
|
2966
|
+
*/
|
|
2967
|
+
private parseData;
|
|
2968
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxModelPageDirective, never>;
|
|
2969
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxModelPageDirective, never, never, { "modelId": { "alias": "modelId"; "required": false; }; "operation": { "alias": "operation"; "required": false; }; "modelName": { "alias": "modelName"; "required": false; }; }, {}, never, never, true, never>;
|
|
2970
|
+
}
|
|
2971
|
+
|
|
2972
|
+
/**
|
|
2973
|
+
* @module module:lib/engine/NgxParentComponentDirective
|
|
2974
|
+
* @description Directive base for parent container components used by the rendering system.
|
|
2975
|
+
* @summary Provides NgxParentComponentDirective which offers inputs for children metadata,
|
|
2976
|
+
* column/row configuration and parent component wiring used by layout and container components.
|
|
2977
|
+
*
|
|
2978
|
+
* @link {@link NgxParentComponentDirective}
|
|
2979
|
+
*/
|
|
2980
|
+
|
|
2981
|
+
/**
|
|
2982
|
+
* @description Layout component for creating responsive grid layouts in Angular applications.
|
|
2983
|
+
* @summary This component provides a flexible grid system that can be configured with dynamic
|
|
2984
|
+
* rows and columns. It supports responsive breakpoints and can render child components within
|
|
2985
|
+
* the grid structure. The component extends NgxComponentDirective to inherit common functionality
|
|
2986
|
+
* and integrates with the model and component renderer systems.
|
|
2987
|
+
*
|
|
2988
|
+
* @class NgxParentComponentDirective
|
|
2989
|
+
* @extends {NgxParentComponentDirective}
|
|
2990
|
+
* @implements {OnInit}
|
|
2991
|
+
*/
|
|
2992
|
+
declare class NgxParentComponentDirective extends NgxComponentDirective implements OnInit {
|
|
2993
|
+
/**
|
|
2994
|
+
* @description The display name or title of the fieldset section.
|
|
2995
|
+
* @summary Sets the legend or header text that appears in the accordion header. This text
|
|
2996
|
+
* provides a clear label for the collapsible section, helping users understand what content
|
|
2997
|
+
* is contained within. The name is displayed prominently and serves as the clickable area
|
|
2998
|
+
* for expanding/collapsing the fieldset.
|
|
2990
2999
|
*
|
|
2991
|
-
*
|
|
2992
|
-
*
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
3000
|
+
* @type {string}
|
|
3001
|
+
* @default 'Child'
|
|
3002
|
+
*/
|
|
3003
|
+
parentComponent: FormParent;
|
|
3004
|
+
/**
|
|
3005
|
+
* @description Array of UI model metadata for all form fields.
|
|
3006
|
+
* @summary Contains the complete collection of UI model metadata that defines
|
|
3007
|
+
* the structure, validation, and presentation of form fields across all pages.
|
|
3008
|
+
* Each metadata object contains information about field type, validation rules,
|
|
3009
|
+
* page assignment, and display properties.
|
|
2996
3010
|
*
|
|
2997
|
-
* @
|
|
2998
|
-
* @memberOf ComponentRendererComponent
|
|
3011
|
+
* @type {UIModelMetadata[]}
|
|
2999
3012
|
*/
|
|
3000
|
-
|
|
3013
|
+
children: UIModelMetadata[] | KeyValue[];
|
|
3001
3014
|
/**
|
|
3002
|
-
* @description
|
|
3003
|
-
* @summary
|
|
3004
|
-
*
|
|
3005
|
-
*
|
|
3015
|
+
* @description Number of columns or array of column definitions for the grid layout.
|
|
3016
|
+
* @summary Defines the column structure of the grid. When a number is provided, it creates
|
|
3017
|
+
* that many equal-width columns. When an array is provided, each element can define specific
|
|
3018
|
+
* column properties or sizing. This allows for flexible grid layouts that can adapt to
|
|
3019
|
+
* different content requirements.
|
|
3006
3020
|
*
|
|
3007
|
-
* @
|
|
3008
|
-
* @
|
|
3009
|
-
|
|
3021
|
+
* @type {(number | string[])}
|
|
3022
|
+
* @default 1
|
|
3023
|
+
*/
|
|
3024
|
+
cols: number | string[];
|
|
3025
|
+
/**
|
|
3026
|
+
* @description Number of rows or array of row definitions for the grid layout.
|
|
3027
|
+
* @summary Defines the row structure of the grid. When a number is provided, it creates
|
|
3028
|
+
* that many equal-height rows. When an array is provided, each element can define specific
|
|
3029
|
+
* row properties or sizing. This provides control over vertical spacing and content organization.
|
|
3030
|
+
*
|
|
3031
|
+
* @type {(number | string[])}
|
|
3032
|
+
* @default 1
|
|
3033
|
+
*/
|
|
3034
|
+
rows: number | KeyValue[] | string[];
|
|
3035
|
+
ngOnInit(model?: Model | string): Promise<void>;
|
|
3036
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxParentComponentDirective, never>;
|
|
3037
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxParentComponentDirective, never, never, { "parentComponent": { "alias": "parentComponent"; "required": false; }; "children": { "alias": "children"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; }, {}, never, never, true, never>;
|
|
3038
|
+
}
|
|
3039
|
+
|
|
3040
|
+
declare abstract class NgxFormDirective extends NgxParentComponentDirective implements OnInit, IFormElement, OnDestroy, IRenderedModel {
|
|
3041
|
+
crudFieldComponent: string;
|
|
3042
|
+
/**
|
|
3043
|
+
* @description Reactive form group associated with this fieldset.
|
|
3044
|
+
* @summary The FormGroup instance that contains all form controls within this fieldset.
|
|
3045
|
+
* Used for form validation, value management, and integration with Angular's reactive forms.
|
|
3046
|
+
*
|
|
3047
|
+
* @type {FormGroup}
|
|
3048
|
+
*/
|
|
3049
|
+
parentFormId: string;
|
|
3050
|
+
/**
|
|
3051
|
+
* @description Reference to the reactive form DOM element.
|
|
3052
|
+
* @summary ViewChild reference that provides direct access to the form's DOM element.
|
|
3053
|
+
* This enables programmatic manipulation of the form element and access to native
|
|
3054
|
+
* HTML form properties and methods when needed.
|
|
3055
|
+
*
|
|
3056
|
+
* @type {ElementRef}
|
|
3057
|
+
*/
|
|
3058
|
+
component: ElementRef;
|
|
3059
|
+
/**
|
|
3060
|
+
* @description Field update trigger mode for form validation.
|
|
3061
|
+
* @summary Determines when form field validation should be triggered. Options include
|
|
3062
|
+
* 'change', 'blur', or 'submit'. This affects the user experience by controlling
|
|
3063
|
+
* when validation feedback is shown to the user during form interaction.
|
|
3064
|
+
*
|
|
3065
|
+
* @type {FieldUpdateMode}
|
|
3066
|
+
* @default 'change'
|
|
3067
|
+
*/
|
|
3068
|
+
updateOn: FieldUpdateMode;
|
|
3069
|
+
/**
|
|
3070
|
+
* @description Form submission target specification.
|
|
3071
|
+
* @summary Specifies where to display the response after form submission, similar
|
|
3072
|
+
* to the HTML form target attribute. Options include '_self', '_blank', '_parent',
|
|
3073
|
+
* '_top', or a named frame. Controls the browser behavior for form responses.
|
|
3074
|
+
*
|
|
3075
|
+
* @type {HTMLFormTarget}
|
|
3076
|
+
* @default '_self'
|
|
3077
|
+
*/
|
|
3078
|
+
target: HTMLFormTarget;
|
|
3079
|
+
/**
|
|
3080
|
+
* @description HTTP method or submission strategy for the form.
|
|
3081
|
+
* @summary Defines how the form should be submitted. 'get' and 'post' correspond
|
|
3082
|
+
* to standard HTTP methods for traditional form submission, while 'event' uses
|
|
3083
|
+
* Angular event-driven submission for single-page application workflows.
|
|
3084
|
+
*
|
|
3085
|
+
* @type {'get' | 'post' | 'event'}
|
|
3086
|
+
* @default 'event'
|
|
3087
|
+
*/
|
|
3088
|
+
method: 'get' | 'post' | 'event';
|
|
3089
|
+
/**
|
|
3090
|
+
* @description Configuration options for the CRUD form behavior.
|
|
3091
|
+
* @summary Contains various configuration settings that control form rendering,
|
|
3092
|
+
* validation, and behavior. These options are merged with default settings
|
|
3093
|
+
* during component initialization to customize the form's functionality.
|
|
3094
|
+
*
|
|
3095
|
+
* @type {ICrudFormOptions}
|
|
3096
|
+
*/
|
|
3097
|
+
options: ICrudFormOptions;
|
|
3098
|
+
/**
|
|
3099
|
+
* @description Optional action identifier for form submission context.
|
|
3100
|
+
* @summary Specifies a custom action name that will be included in the submit event.
|
|
3101
|
+
* If not provided, defaults to the standard submit event constant. Used to
|
|
3102
|
+
* distinguish between different types of form submissions within the same component.
|
|
3103
|
+
*
|
|
3104
|
+
* @type {string | undefined}
|
|
3105
|
+
*/
|
|
3106
|
+
action?: string;
|
|
3107
|
+
/**
|
|
3108
|
+
* @description The current CRUD operation being performed.
|
|
3109
|
+
* @summary Specifies the type of operation this form is handling (CREATE, READ, UPDATE, DELETE).
|
|
3110
|
+
* This is a required input that determines form behavior, validation rules, and available actions.
|
|
3111
|
+
* The operation affects form state, button visibility, and submission logic.
|
|
3112
|
+
*
|
|
3113
|
+
* @type {CrudOperations}
|
|
3114
|
+
* @required
|
|
3115
|
+
*/
|
|
3116
|
+
operation: CrudOperations;
|
|
3117
|
+
/**
|
|
3118
|
+
* @description Custom event handlers for form actions.
|
|
3119
|
+
* @summary A record of event handler functions keyed by event names that can be
|
|
3120
|
+
* triggered during form operations. These handlers provide extensibility for
|
|
3121
|
+
* custom business logic and can be invoked for various form events and actions.
|
|
3122
|
+
*
|
|
3123
|
+
* @type {HandlerLike}
|
|
3124
|
+
*/
|
|
3125
|
+
handlers: HandlerLike;
|
|
3126
|
+
/**
|
|
3127
|
+
* @description Angular reactive FormGroup for form state management.
|
|
3128
|
+
* @summary The FormGroup instance that manages all form controls, validation,
|
|
3129
|
+
* and form state. This is the main interface for accessing form values and
|
|
3130
|
+
* controlling form behavior. May be undefined for read-only operations.
|
|
3131
|
+
*
|
|
3132
|
+
* @type {FormGroup | undefined}
|
|
3133
|
+
*/
|
|
3134
|
+
formGroup: FormParent | undefined;
|
|
3135
|
+
/**
|
|
3136
|
+
* @description Unique identifier for the form renderer.
|
|
3137
|
+
* @summary A unique string identifier used to register and manage this form
|
|
3138
|
+
* instance within the NgxFormService. This ID is also used as the HTML id
|
|
3139
|
+
* attribute for the form element, enabling DOM queries and form management.
|
|
3140
|
+
*
|
|
3141
|
+
* @type {string}
|
|
3142
|
+
*/
|
|
3143
|
+
rendererId: string;
|
|
3144
|
+
/**
|
|
3145
|
+
* @description Event emitter for form submission events.
|
|
3146
|
+
* @summary Emits ICrudFormEvent objects when the form is submitted, providing
|
|
3147
|
+
* form data, component information, and any associated handlers to parent
|
|
3148
|
+
* components. This enables decoupled handling of form submission logic.
|
|
3149
|
+
*
|
|
3150
|
+
* @type {EventEmitter<ICrudFormEvent>}
|
|
3151
|
+
*/
|
|
3152
|
+
submitEvent: EventEmitter<ICrudFormEvent>;
|
|
3153
|
+
/**
|
|
3154
|
+
* @description Unique identifier for the current record instance.
|
|
3155
|
+
* @summary This property holds a unique string value that identifies the specific record being managed by the form.
|
|
3156
|
+
* It is automatically generated if not provided, ensuring each form instance has a distinct identifier.
|
|
3157
|
+
* The uid is used for tracking, referencing, and emitting events related to the current record, and may be used
|
|
3158
|
+
* in conjunction with the primary key for CRUD operations.
|
|
3159
|
+
*
|
|
3160
|
+
* @type {string}
|
|
3161
|
+
* @default Randomly generated 12-character string
|
|
3162
|
+
*/
|
|
3163
|
+
allowClear: boolean;
|
|
3164
|
+
protected activeFormGroupIndex: number;
|
|
3165
|
+
get activeFormGroup(): FormParent;
|
|
3166
|
+
/**
|
|
3167
|
+
* @description Component initialization lifecycle method.
|
|
3168
|
+
* @summary Initializes the component by setting up the logger, configuring form state
|
|
3169
|
+
* based on the operation type, and merging configuration options. For READ and DELETE
|
|
3170
|
+
* operations, the formGroup is set to undefined since these operations don't require
|
|
3171
|
+
* form input. Configuration options are merged with default settings.
|
|
3172
|
+
*
|
|
3173
|
+
* @returns {Promise<void>}
|
|
3174
|
+
*/
|
|
3175
|
+
ngOnInit(model?: Model | string): Promise<void>;
|
|
3176
|
+
/**
|
|
3177
|
+
* @description Component cleanup lifecycle method.
|
|
3178
|
+
* @summary Performs cleanup operations when the component is destroyed.
|
|
3179
|
+
* Unregisters the FormGroup from the NgxFormService to prevent memory leaks
|
|
3180
|
+
* and ensure proper resource cleanup.
|
|
3181
|
+
*
|
|
3182
|
+
* @returns {void}
|
|
3183
|
+
*/
|
|
3184
|
+
ngOnDestroy(): void;
|
|
3185
|
+
getFormArrayIndex(index: number): FormParent | undefined;
|
|
3186
|
+
/**
|
|
3187
|
+
* @description Handles form reset or navigation back functionality.
|
|
3188
|
+
* @summary Provides different reset behavior based on the current operation.
|
|
3189
|
+
* For CREATE and UPDATE operations, resets the form to its initial state.
|
|
3190
|
+
* For READ and DELETE operations, navigates back in the browser history
|
|
3191
|
+
* since these operations don't have modifiable form data to reset.
|
|
3192
|
+
*
|
|
3193
|
+
* @returns {void}
|
|
3194
|
+
*/
|
|
3195
|
+
handleReset(): void;
|
|
3196
|
+
handleSubmit(event?: SubmitEvent, eventName?: string, componentName?: string): Promise<boolean | void>;
|
|
3197
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxFormDirective, never>;
|
|
3198
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxFormDirective, never, never, { "parentFormId": { "alias": "parentFormId"; "required": false; }; "updateOn": { "alias": "updateOn"; "required": false; }; "target": { "alias": "target"; "required": false; }; "method": { "alias": "method"; "required": false; }; "options": { "alias": "options"; "required": false; }; "action": { "alias": "action"; "required": false; }; "operation": { "alias": "operation"; "required": true; }; "handlers": { "alias": "handlers"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "rendererId": { "alias": "rendererId"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; }, { "submitEvent": "submitEvent"; }, never, never, true, never>;
|
|
3199
|
+
}
|
|
3200
|
+
|
|
3201
|
+
declare abstract class NgxMediaDirective extends NgxComponentDirective implements OnDestroy {
|
|
3202
|
+
private destroy$;
|
|
3203
|
+
private resizeSubject;
|
|
3204
|
+
resize$: Observable<IWindowResizeEvent>;
|
|
3205
|
+
colorScheme$: Observable<WindowColorScheme>;
|
|
3206
|
+
protected zone: NgZone;
|
|
3207
|
+
constructor(localeRoot?: string);
|
|
3208
|
+
isDarkMode(): Promise<boolean>;
|
|
3209
|
+
ngOnDestroy(): void;
|
|
3210
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxMediaDirective, never>;
|
|
3211
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxMediaDirective, never, never, {}, {}, never, never, true, never>;
|
|
3212
|
+
}
|
|
3213
|
+
|
|
3214
|
+
/**
|
|
3215
|
+
* @description Dynamic component renderer for Decaf Angular applications.
|
|
3216
|
+
* @summary This component provides a flexible way to dynamically render Angular components
|
|
3217
|
+
* at runtime based on a tag name. It handles the creation, property binding, and event
|
|
3218
|
+
* subscription for dynamically loaded components. This is particularly useful for
|
|
3219
|
+
* building configurable UIs where components need to be determined at runtime.
|
|
3220
|
+
*
|
|
3221
|
+
* @component {ComponentRendererComponent}
|
|
3222
|
+
* @example
|
|
3223
|
+
* <ngx-decaf-component-renderer
|
|
3224
|
+
* [tag]="tag"
|
|
3225
|
+
* [globals]="globals"
|
|
3226
|
+
* (listenEvent)="listenEvent($event)">
|
|
3227
|
+
* </ngx-decaf-component-renderer>
|
|
3228
|
+
*
|
|
3229
|
+
* @mermaid
|
|
3230
|
+
* classDiagram
|
|
3231
|
+
* class ComponentRendererComponent {
|
|
3232
|
+
* +ViewContainerRef vcr
|
|
3233
|
+
* +string tag
|
|
3234
|
+
* +Record~string, unknown~ globals
|
|
3235
|
+
* +EnvironmentInjector injector
|
|
3236
|
+
* +ComponentRef~unknown~ component
|
|
3237
|
+
* +EventEmitter~IBaseCustomEvent~ listenEvent
|
|
3238
|
+
* +ngOnInit()
|
|
3239
|
+
* +ngOnDestroy()
|
|
3240
|
+
* +ngOnChanges(changes)
|
|
3241
|
+
* -createComponent(tag, globals)
|
|
3242
|
+
* -subscribeEvents()
|
|
3243
|
+
* -unsubscribeEvents()
|
|
3244
|
+
* }
|
|
3245
|
+
* ComponentRendererComponent --|> OnInit
|
|
3246
|
+
* ComponentRendererComponent --|> OnChanges
|
|
3247
|
+
* ComponentRendererComponent --|> OnDestroy
|
|
3248
|
+
*
|
|
3249
|
+
* @implements {OnInit}
|
|
3250
|
+
* @implements {OnChanges}
|
|
3251
|
+
* @implements {OnDestroy}
|
|
3252
|
+
*/
|
|
3253
|
+
declare class ComponentRendererComponent implements OnInit, OnDestroy {
|
|
3254
|
+
/**
|
|
3255
|
+
* @description Reference to the container where the dynamic component will be rendered.
|
|
3256
|
+
* @summary This ViewContainerRef provides the container where the dynamically created
|
|
3257
|
+
* component will be inserted into the DOM. It's marked as static to ensure it's available
|
|
3258
|
+
* during the ngOnInit lifecycle hook when the component is created.
|
|
3259
|
+
*
|
|
3260
|
+
* @type {ViewContainerRef}
|
|
3261
|
+
* @memberOf ComponentRendererComponent
|
|
3262
|
+
*/
|
|
3263
|
+
vcr: ViewContainerRef;
|
|
3264
|
+
/**
|
|
3265
|
+
* @description The tag name of the component to be dynamically rendered.
|
|
3266
|
+
* @summary This input property specifies which component should be rendered by providing
|
|
3267
|
+
* its registered tag name. The tag must correspond to a component that has been registered
|
|
3268
|
+
* with the NgxRenderingEngine. This is a required input as it determines which component
|
|
3269
|
+
* to create.
|
|
3270
|
+
*
|
|
3271
|
+
* @type {string}
|
|
3272
|
+
* @required
|
|
3273
|
+
* @memberOf ComponentRendererComponent
|
|
3274
|
+
*/
|
|
3275
|
+
tag: string;
|
|
3276
|
+
/**
|
|
3277
|
+
* @description Global properties to pass to the rendered component.
|
|
3278
|
+
* @summary This input property allows passing a set of properties to the dynamically
|
|
3279
|
+
* rendered component. These properties will be mapped to the component's inputs if they
|
|
3280
|
+
* match. Properties that don't match any input on the target component will be filtered out
|
|
3281
|
+
* with a warning.
|
|
3282
|
+
*
|
|
3283
|
+
* @type {Record<string, unknown>}
|
|
3284
|
+
* @default {}
|
|
3285
|
+
* @memberOf ComponentRendererComponent
|
|
3286
|
+
*/
|
|
3287
|
+
globals: Record<string, unknown>;
|
|
3288
|
+
/**
|
|
3289
|
+
* @description Injector used for dependency injection in the dynamic component.
|
|
3290
|
+
* @summary This injector is used when creating the dynamic component to provide it with
|
|
3291
|
+
* access to the application's dependency injection system. It ensures that the dynamically
|
|
3292
|
+
* created component can access the same services and dependencies as statically created
|
|
3293
|
+
* components.
|
|
3294
|
+
*
|
|
3295
|
+
* @type {EnvironmentInjector}
|
|
3296
|
+
* @memberOf ComponentRendererComponent
|
|
3297
|
+
*/
|
|
3298
|
+
injector: EnvironmentInjector;
|
|
3299
|
+
/**
|
|
3300
|
+
* @description Reference to the dynamically created component.
|
|
3301
|
+
* @summary This property holds a reference to the ComponentRef of the dynamically created
|
|
3302
|
+
* component. It's used to interact with the component instance, subscribe to its events,
|
|
3303
|
+
* and properly destroy it when the renderer is destroyed.
|
|
3304
|
+
*
|
|
3305
|
+
* @type {ComponentRef<unknown>}
|
|
3306
|
+
* @memberOf ComponentRendererComponent
|
|
3307
|
+
*/
|
|
3308
|
+
component: ComponentRef<unknown>;
|
|
3309
|
+
children: KeyValue[];
|
|
3310
|
+
projectable: boolean;
|
|
3311
|
+
/**
|
|
3312
|
+
* @description Event emitter for events from the rendered component.
|
|
3313
|
+
* @summary This output property emits events that originate from the dynamically rendered
|
|
3314
|
+
* component. It allows the parent component to listen for and respond to events from the
|
|
3315
|
+
* dynamic component, creating a communication channel between the parent and the dynamically
|
|
3316
|
+
* rendered child.
|
|
3317
|
+
*
|
|
3318
|
+
* @type {EventEmitter<IBaseCustomEvent>}
|
|
3319
|
+
* @memberOf ComponentRendererComponent
|
|
3320
|
+
*/
|
|
3321
|
+
listenEvent: EventEmitter<IBaseCustomEvent>;
|
|
3322
|
+
/**
|
|
3323
|
+
* @description Logger instance for the component.
|
|
3324
|
+
* @summary This property holds a Logger instance specific to this component.
|
|
3325
|
+
* It's used to log information, warnings, and errors related to the component's
|
|
3326
|
+
* operations, particularly useful for debugging and monitoring the dynamic
|
|
3327
|
+
* component rendering process.
|
|
3328
|
+
*
|
|
3329
|
+
* @type {Logger}
|
|
3330
|
+
* @memberOf ComponentRendererComponent
|
|
3331
|
+
*/
|
|
3332
|
+
logger: Logger;
|
|
3333
|
+
/**
|
|
3334
|
+
* @description Repository model for data operations.
|
|
3335
|
+
* @summary The data model repository that this component will use for CRUD operations.
|
|
3336
|
+
* This provides a connection to the data layer for retrieving and manipulating data.
|
|
3337
|
+
*
|
|
3338
|
+
* @type {Model| undefined}
|
|
3339
|
+
*/
|
|
3340
|
+
model: Model | undefined;
|
|
3341
|
+
/**
|
|
3342
|
+
* @description Repository model for data operations.
|
|
3343
|
+
* @summary The data model repository that this component will use for CRUD operations.
|
|
3344
|
+
* This provides a connection to the data layer for retrieving and manipulating data.
|
|
3345
|
+
*
|
|
3346
|
+
* @type {Model| undefined}
|
|
3347
|
+
*/
|
|
3348
|
+
parentComponent: FormParent | ElementRef<unknown> | undefined;
|
|
3349
|
+
parent: undefined | KeyValue;
|
|
3350
|
+
inner?: TemplateRef<unknown>;
|
|
3351
|
+
uid: string;
|
|
3352
|
+
/**
|
|
3353
|
+
* @description Creates an instance of ComponentRendererComponent.
|
|
3354
|
+
* @summary Initializes a new ComponentRendererComponent. This component doesn't require
|
|
3355
|
+
* any dependencies to be injected in its constructor as it uses the inject function to
|
|
3356
|
+
* obtain the EnvironmentInjector.
|
|
3357
|
+
*
|
|
3358
|
+
* @memberOf ComponentRendererComponent
|
|
3359
|
+
*/
|
|
3360
|
+
constructor();
|
|
3361
|
+
/**
|
|
3362
|
+
* @description Initializes the component after Angular first displays the data-bound properties.
|
|
3363
|
+
* @summary Sets up the component by creating the dynamic component specified by the tag input.
|
|
3364
|
+
* This method is called once when the component is initialized and triggers the dynamic
|
|
3365
|
+
* component creation process with the provided tag name and global properties.
|
|
3366
|
+
*
|
|
3367
|
+
* @mermaid
|
|
3368
|
+
* sequenceDiagram
|
|
3369
|
+
* participant A as Angular Lifecycle
|
|
3370
|
+
* participant C as ComponentRendererComponent
|
|
3371
|
+
* participant R as NgxRenderingEngine
|
|
3372
|
+
*
|
|
3373
|
+
* A->>C: ngOnInit()
|
|
3374
|
+
* C->>C: createComponent(tag, globals)
|
|
3375
|
+
* C->>R: components(tag)
|
|
3376
|
+
* R-->>C: Return component constructor
|
|
3377
|
+
* C->>C: Process component inputs
|
|
3378
|
+
* C->>C: Create component instance
|
|
3379
|
+
* C->>C: subscribeEvents()
|
|
3380
|
+
*
|
|
3381
|
+
* @return {void}
|
|
3382
|
+
* @memberOf ComponentRendererComponent
|
|
3383
|
+
*/
|
|
3384
|
+
ngOnInit(): void;
|
|
3385
|
+
/**
|
|
3386
|
+
* @description Cleans up resources when the component is destroyed.
|
|
3387
|
+
* @summary Performs cleanup operations when the component is being destroyed by Angular.
|
|
3388
|
+
* This includes unsubscribing from all event emitters of the dynamic component and
|
|
3389
|
+
* destroying the rendering engine instance to prevent memory leaks.
|
|
3390
|
+
*
|
|
3391
|
+
* @mermaid
|
|
3392
|
+
* sequenceDiagram
|
|
3393
|
+
* participant A as Angular Lifecycle
|
|
3394
|
+
* participant C as ComponentRendererComponent
|
|
3395
|
+
* participant R as NgxRenderingEngine
|
|
3396
|
+
*
|
|
3397
|
+
* A->>C: ngOnDestroy()
|
|
3398
|
+
* alt component exists
|
|
3399
|
+
* C->>C: unsubscribeEvents()
|
|
3400
|
+
* C->>R: destroy()
|
|
3401
|
+
* end
|
|
3402
|
+
*
|
|
3403
|
+
* @return {Promise<void>} A promise that resolves when cleanup is complete
|
|
3404
|
+
* @memberOf ComponentRendererComponent
|
|
3405
|
+
*/
|
|
3406
|
+
ngOnDestroy(): Promise<void>;
|
|
3407
|
+
/**
|
|
3408
|
+
* @description Creates and renders a dynamic component.
|
|
3409
|
+
* @summary This method handles the creation of a dynamic component based on the provided tag.
|
|
3410
|
+
* It retrieves the component constructor from the rendering engine, processes its inputs,
|
|
3411
|
+
* filters out unmapped properties, creates the component instance, and sets up event subscriptions.
|
|
3412
|
+
*
|
|
3413
|
+
* @param {string} tag - The tag name of the component to create
|
|
3414
|
+
* @param {KeyValue} globals - Global properties to pass to the component
|
|
3415
|
+
* @return {void}
|
|
3010
3416
|
*
|
|
3011
3417
|
* @mermaid
|
|
3012
3418
|
* sequenceDiagram
|
|
@@ -3092,7 +3498,7 @@ declare class ComponentRendererComponent implements OnInit, OnDestroy {
|
|
|
3092
3498
|
* @module module:lib/components/crud-field/crud-field.component
|
|
3093
3499
|
* @description CRUD field component module.
|
|
3094
3500
|
* @summary Exposes `CrudFieldComponent`, a dynamic form field used in CRUD forms supporting
|
|
3095
|
-
* many input types, validation and integration with `
|
|
3501
|
+
* many input types, validation and integration with `NgxFormFieldDirective` utilities.
|
|
3096
3502
|
*
|
|
3097
3503
|
* @link {@link CrudFieldComponent}
|
|
3098
3504
|
*/
|
|
@@ -3100,7 +3506,7 @@ declare class ComponentRendererComponent implements OnInit, OnDestroy {
|
|
|
3100
3506
|
/**
|
|
3101
3507
|
* @description A dynamic form field component for CRUD operations.
|
|
3102
3508
|
* @summary The CrudFieldComponent is a versatile form field component that adapts to different
|
|
3103
|
-
* input types and CRUD operations. It extends
|
|
3509
|
+
* input types and CRUD operations. It extends NgxFormFieldDirective to inherit form handling capabilities
|
|
3104
3510
|
* and implements lifecycle hooks to properly initialize, render, and clean up. This component
|
|
3105
3511
|
* supports various input types (text, number, date, select, etc.), validation rules, and styling
|
|
3106
3512
|
* options, making it suitable for building dynamic forms for create, read, update, and delete
|
|
@@ -3140,7 +3546,7 @@ declare class ComponentRendererComponent implements OnInit, OnDestroy {
|
|
|
3140
3546
|
*
|
|
3141
3547
|
* @memberOf module:for-angular
|
|
3142
3548
|
*/
|
|
3143
|
-
declare class CrudFieldComponent extends
|
|
3549
|
+
declare class CrudFieldComponent extends NgxFormFieldDirective implements OnInit, OnDestroy, AfterViewInit {
|
|
3144
3550
|
/**
|
|
3145
3551
|
* @description The CRUD operation being performed.
|
|
3146
3552
|
* @summary Specifies which CRUD operation (Create, Read, Update, Delete) the field is being used for.
|
|
@@ -3461,394 +3867,165 @@ declare class CrudFieldComponent extends NgxDecafFormFieldDirective implements O
|
|
|
3461
3867
|
/**
|
|
3462
3868
|
* @description Input mode for text inputs.
|
|
3463
3869
|
* @summary Hints at the type of data that might be entered by the user while editing the element.
|
|
3464
|
-
* This can affect the virtual keyboard layout on mobile devices.
|
|
3465
|
-
*
|
|
3466
|
-
* @type {'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'}
|
|
3467
|
-
* @default 'none'
|
|
3468
|
-
* @memberOf CrudFieldComponent
|
|
3469
|
-
*/
|
|
3470
|
-
inputmode: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
|
|
3471
|
-
/**
|
|
3472
|
-
* @description Autocomplete behavior for the field.
|
|
3473
|
-
* @summary Specifies whether and how the browser should automatically complete the input.
|
|
3474
|
-
* This can improve user experience by suggesting previously entered values.
|
|
3475
|
-
*
|
|
3476
|
-
* @type {AutocompleteTypes}
|
|
3477
|
-
* @default 'off'
|
|
3478
|
-
* @memberOf CrudFieldComponent
|
|
3479
|
-
*/
|
|
3480
|
-
autocomplete: AutocompleteTypes;
|
|
3481
|
-
/**
|
|
3482
|
-
* @description Fill style for the field.
|
|
3483
|
-
* @summary Determines the fill style of the field, such as 'outline' or 'solid'.
|
|
3484
|
-
* This affects the border and background of the field.
|
|
3485
|
-
*
|
|
3486
|
-
* @type {'outline' | 'solid'}
|
|
3487
|
-
* @default 'outline'
|
|
3488
|
-
* @memberOf CrudFieldComponent
|
|
3489
|
-
*/
|
|
3490
|
-
fill: 'outline' | 'solid';
|
|
3491
|
-
/**
|
|
3492
|
-
* @description Placement of the label relative to the field.
|
|
3493
|
-
* @summary Specifies where the label should be placed relative to the field.
|
|
3494
|
-
* Options include 'start', 'end', 'floating', 'stacked', and 'fixed'.
|
|
3495
|
-
*
|
|
3496
|
-
* @type {'start' | 'end' | 'floating' | 'stacked' | 'fixed'}
|
|
3497
|
-
* @default 'floating'
|
|
3498
|
-
* @memberOf CrudFieldComponent
|
|
3499
|
-
*/
|
|
3500
|
-
labelPlacement: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
|
|
3501
|
-
/**
|
|
3502
|
-
* @description Update mode for the field.
|
|
3503
|
-
* @summary Determines when the field value should be updated in the form model.
|
|
3504
|
-
* Options include 'change', 'blur', and 'submit'.
|
|
3505
|
-
*
|
|
3506
|
-
* @type {FieldUpdateMode}
|
|
3507
|
-
* @default 'change'
|
|
3508
|
-
* @memberOf CrudFieldComponent
|
|
3509
|
-
*/
|
|
3510
|
-
updateOn: FieldUpdateMode;
|
|
3511
|
-
/**
|
|
3512
|
-
* @description Reference to the field component.
|
|
3513
|
-
* @summary Provides a reference to the field component element, allowing direct access to its properties and methods.
|
|
3514
|
-
*
|
|
3515
|
-
* @type {ElementRef}
|
|
3516
|
-
* @memberOf CrudFieldComponent
|
|
3517
|
-
*/
|
|
3518
|
-
component: ElementRef;
|
|
3519
|
-
/**
|
|
3520
|
-
* @description Parent form group.
|
|
3521
|
-
* @summary References the parent form group to which this field belongs.
|
|
3522
|
-
* This is necessary for integrating the field with Angular's reactive forms.
|
|
3523
|
-
*
|
|
3524
|
-
* @type {FormGroup}
|
|
3525
|
-
* @memberOf CrudFieldComponent
|
|
3526
|
-
*/
|
|
3527
|
-
formGroup: FormGroup | undefined;
|
|
3528
|
-
/**
|
|
3529
|
-
* @description Angular FormControl instance for this field.
|
|
3530
|
-
* @summary The specific FormControl instance that manages this field's state, validation,
|
|
3531
|
-
* and value. This provides direct access to Angular's reactive forms functionality
|
|
3532
|
-
* for this individual field within the broader form structure.
|
|
3533
|
-
*
|
|
3534
|
-
* @type {FormControl}
|
|
3535
|
-
* @memberOf CrudFieldComponent
|
|
3536
|
-
*/
|
|
3537
|
-
formControl: FormControl;
|
|
3538
|
-
/**
|
|
3539
|
-
* @description Indicates if this field supports multiple values.
|
|
3540
|
-
* @summary When true, this field can handle multiple values, typically used in
|
|
3541
|
-
* multi-select scenarios or when the field is part of a form array structure
|
|
3542
|
-
* that allows multiple entries of the same field type.
|
|
3543
|
-
*
|
|
3544
|
-
* @type {boolean}
|
|
3545
|
-
* @default false
|
|
3546
|
-
* @memberOf CrudFieldComponent
|
|
3547
|
-
*/
|
|
3548
|
-
multiple: boolean;
|
|
3549
|
-
/**
|
|
3550
|
-
* @description Unique identifier for the current record.
|
|
3551
|
-
* @summary A unique identifier for the current record being displayed or manipulated.
|
|
3552
|
-
* This is typically used in conjunction with the primary key for operations on specific records.
|
|
3553
|
-
*
|
|
3554
|
-
* @type {string | number}
|
|
3555
|
-
*/
|
|
3556
|
-
uid: string;
|
|
3557
|
-
page: number;
|
|
3558
|
-
/**
|
|
3559
|
-
* @description Translatability of field labels.
|
|
3560
|
-
* @summary Indicates whether the field labels should be translated based on the current language settings.
|
|
3561
|
-
* This is useful for applications supporting multiple languages.
|
|
3562
|
-
*
|
|
3563
|
-
* @type {StringOrBoolean}
|
|
3564
|
-
* @default true
|
|
3565
|
-
* @memberOf CrudFieldComponent
|
|
3566
|
-
*/
|
|
3567
|
-
translatable: StringOrBoolean;
|
|
3568
|
-
/**
|
|
3569
|
-
* @description Component initialization lifecycle method.
|
|
3570
|
-
* @summary Initializes the field component based on the operation type and field configuration.
|
|
3571
|
-
* For READ and DELETE operations, removes the form group to make fields read-only.
|
|
3572
|
-
* For other operations, sets up icons, configures multi-value support if needed,
|
|
3573
|
-
* and sets default values for radio buttons if no value is provided.
|
|
3574
|
-
*
|
|
3575
|
-
* @returns {void}
|
|
3576
|
-
* @memberOf CrudFieldComponent
|
|
3577
|
-
*/
|
|
3578
|
-
ngOnInit(): Promise<void>;
|
|
3579
|
-
/**
|
|
3580
|
-
* Returns a list of options for select or radio inputs, with their `text` property
|
|
3581
|
-
* localized if it does not already include the word 'options'. The localization key
|
|
3582
|
-
* is generated from the component's label, replacing 'label' with 'options'.
|
|
3583
|
-
*
|
|
3584
|
-
* @returns {CrudFieldOption[]} The array of parsed and localized options.
|
|
3585
|
-
* @memberOf CrudFieldComponent
|
|
3586
|
-
*/
|
|
3587
|
-
getOptions(): Promise<CrudFieldOption[]>;
|
|
3588
|
-
/**
|
|
3589
|
-
* @description Component after view initialization lifecycle method.
|
|
3590
|
-
* @summary Calls the parent afterViewInit method for READ and DELETE operations.
|
|
3591
|
-
* This ensures proper initialization of read-only fields that don't require
|
|
3592
|
-
* form functionality but still need view setup.
|
|
3593
|
-
*
|
|
3594
|
-
* @returns {void}
|
|
3595
|
-
* @memberOf CrudFieldComponent
|
|
3596
|
-
*/
|
|
3597
|
-
ngAfterViewInit(): void;
|
|
3598
|
-
/**
|
|
3599
|
-
* @description Component cleanup lifecycle method.
|
|
3600
|
-
* @summary Performs cleanup operations for READ and DELETE operations by calling
|
|
3601
|
-
* the parent onDestroy method. This ensures proper resource cleanup for
|
|
3602
|
-
* read-only field components.
|
|
3603
|
-
*
|
|
3604
|
-
* @returns {void}
|
|
3605
|
-
* @memberOf CrudFieldComponent
|
|
3606
|
-
*/
|
|
3607
|
-
ngOnDestroy(): void;
|
|
3608
|
-
toggleOptionSelection(val: string, event: CheckboxCustomEvent): void;
|
|
3609
|
-
isOptionChecked(value: string): boolean;
|
|
3610
|
-
/**
|
|
3611
|
-
* @description Handles fieldset group update events from parent fieldsets.
|
|
3612
|
-
* @summary Processes events triggered when an existing group needs to be updated.
|
|
3613
|
-
* Updates the active form group index and refreshes the form group and form control
|
|
3614
|
-
* references to point to the group being edited.
|
|
3615
|
-
*
|
|
3616
|
-
* @param {CustomEvent} event - The fieldset update group event containing update details
|
|
3617
|
-
* @returns {void}
|
|
3618
|
-
* @memberOf CrudFieldComponent
|
|
3619
|
-
*/
|
|
3620
|
-
handleFieldsetUpdateGroupEvent(event: CustomEvent): void;
|
|
3621
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CrudFieldComponent, never>;
|
|
3622
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CrudFieldComponent, "ngx-decaf-crud-field", never, { "operation": { "alias": "operation"; "required": true; }; "name": { "alias": "name"; "required": true; }; "className": { "alias": "className"; "required": false; }; "path": { "alias": "path"; "required": true; }; "childOf": { "alias": "childOf"; "required": false; }; "type": { "alias": "type"; "required": true; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": true; }; "placeholder": { "alias": "placeholder"; "required": false; }; "format": { "alias": "format"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "max": { "alias": "max"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "min": { "alias": "min"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "step": { "alias": "step"; "required": false; }; "equals": { "alias": "equals"; "required": false; }; "different": { "alias": "different"; "required": false; }; "lessThan": { "alias": "lessThan"; "required": false; }; "lessThanOrEqual": { "alias": "lessThanOrEqual"; "required": false; }; "greaterThan": { "alias": "greaterThan"; "required": false; }; "greaterThanOrEqual": { "alias": "greaterThanOrEqual"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "cancelText": { "alias": "cancelText"; "required": false; }; "interface": { "alias": "interface"; "required": false; }; "options": { "alias": "options"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "spellcheck": { "alias": "spellcheck"; "required": false; }; "inputmode": { "alias": "inputmode"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "fill": { "alias": "fill"; "required": false; }; "labelPlacement": { "alias": "labelPlacement"; "required": false; }; "updateOn": { "alias": "updateOn"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "uid": { "alias": "uid"; "required": false; }; "page": { "alias": "page"; "required": false; }; "translatable": { "alias": "translatable"; "required": false; }; }, {}, never, never, true, never>;
|
|
3623
|
-
}
|
|
3624
|
-
|
|
3625
|
-
/**
|
|
3626
|
-
* @module module:lib/engine/NgxParentComponentDirective
|
|
3627
|
-
* @description Directive base for parent container components used by the rendering system.
|
|
3628
|
-
* @summary Provides NgxParentComponentDirective which offers inputs for children metadata,
|
|
3629
|
-
* column/row configuration and parent component wiring used by layout and container components.
|
|
3630
|
-
*
|
|
3631
|
-
* @link {@link NgxParentComponentDirective}
|
|
3632
|
-
*/
|
|
3633
|
-
|
|
3634
|
-
/**
|
|
3635
|
-
* @description Layout component for creating responsive grid layouts in Angular applications.
|
|
3636
|
-
* @summary This component provides a flexible grid system that can be configured with dynamic
|
|
3637
|
-
* rows and columns. It supports responsive breakpoints and can render child components within
|
|
3638
|
-
* the grid structure. The component extends NgxDecafComponentDirective to inherit common functionality
|
|
3639
|
-
* and integrates with the model and component renderer systems.
|
|
3640
|
-
*
|
|
3641
|
-
* @class NgxParentComponentDirective
|
|
3642
|
-
* @extends {NgxParentComponentDirective}
|
|
3643
|
-
* @implements {OnInit}
|
|
3644
|
-
*/
|
|
3645
|
-
declare class NgxParentComponentDirective extends NgxDecafComponentDirective implements OnInit {
|
|
3646
|
-
/**
|
|
3647
|
-
* @description The display name or title of the fieldset section.
|
|
3648
|
-
* @summary Sets the legend or header text that appears in the accordion header. This text
|
|
3649
|
-
* provides a clear label for the collapsible section, helping users understand what content
|
|
3650
|
-
* is contained within. The name is displayed prominently and serves as the clickable area
|
|
3651
|
-
* for expanding/collapsing the fieldset.
|
|
3652
|
-
*
|
|
3653
|
-
* @type {string}
|
|
3654
|
-
* @default 'Child'
|
|
3655
|
-
*/
|
|
3656
|
-
parentComponent: FormParent;
|
|
3657
|
-
/**
|
|
3658
|
-
* @description Array of UI model metadata for all form fields.
|
|
3659
|
-
* @summary Contains the complete collection of UI model metadata that defines
|
|
3660
|
-
* the structure, validation, and presentation of form fields across all pages.
|
|
3661
|
-
* Each metadata object contains information about field type, validation rules,
|
|
3662
|
-
* page assignment, and display properties.
|
|
3663
|
-
*
|
|
3664
|
-
* @type {UIModelMetadata[]}
|
|
3665
|
-
*/
|
|
3666
|
-
children: UIModelMetadata[] | KeyValue[];
|
|
3667
|
-
/**
|
|
3668
|
-
* @description Number of columns or array of column definitions for the grid layout.
|
|
3669
|
-
* @summary Defines the column structure of the grid. When a number is provided, it creates
|
|
3670
|
-
* that many equal-width columns. When an array is provided, each element can define specific
|
|
3671
|
-
* column properties or sizing. This allows for flexible grid layouts that can adapt to
|
|
3672
|
-
* different content requirements.
|
|
3673
|
-
*
|
|
3674
|
-
* @type {(number | string[])}
|
|
3675
|
-
* @default 1
|
|
3676
|
-
*/
|
|
3677
|
-
cols: number | string[];
|
|
3678
|
-
/**
|
|
3679
|
-
* @description Number of rows or array of row definitions for the grid layout.
|
|
3680
|
-
* @summary Defines the row structure of the grid. When a number is provided, it creates
|
|
3681
|
-
* that many equal-height rows. When an array is provided, each element can define specific
|
|
3682
|
-
* row properties or sizing. This provides control over vertical spacing and content organization.
|
|
3683
|
-
*
|
|
3684
|
-
* @type {(number | string[])}
|
|
3685
|
-
* @default 1
|
|
3686
|
-
*/
|
|
3687
|
-
rows: number | KeyValue[] | string[];
|
|
3688
|
-
ngOnInit(model?: Model | string): Promise<void>;
|
|
3689
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgxParentComponentDirective, never>;
|
|
3690
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxParentComponentDirective, never, never, { "parentComponent": { "alias": "parentComponent"; "required": false; }; "children": { "alias": "children"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; }, {}, never, never, true, never>;
|
|
3691
|
-
}
|
|
3692
|
-
|
|
3693
|
-
declare abstract class NgxFormDirective extends NgxParentComponentDirective implements OnInit, IFormElement, OnDestroy, IRenderedModel {
|
|
3694
|
-
crudFieldComponent: string;
|
|
3695
|
-
/**
|
|
3696
|
-
* @description Reactive form group associated with this fieldset.
|
|
3697
|
-
* @summary The FormGroup instance that contains all form controls within this fieldset.
|
|
3698
|
-
* Used for form validation, value management, and integration with Angular's reactive forms.
|
|
3870
|
+
* This can affect the virtual keyboard layout on mobile devices.
|
|
3699
3871
|
*
|
|
3700
|
-
* @type {
|
|
3872
|
+
* @type {'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'}
|
|
3873
|
+
* @default 'none'
|
|
3874
|
+
* @memberOf CrudFieldComponent
|
|
3701
3875
|
*/
|
|
3702
|
-
|
|
3876
|
+
inputmode: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
|
|
3703
3877
|
/**
|
|
3704
|
-
* @description
|
|
3705
|
-
* @summary
|
|
3706
|
-
* This
|
|
3707
|
-
* HTML form properties and methods when needed.
|
|
3878
|
+
* @description Autocomplete behavior for the field.
|
|
3879
|
+
* @summary Specifies whether and how the browser should automatically complete the input.
|
|
3880
|
+
* This can improve user experience by suggesting previously entered values.
|
|
3708
3881
|
*
|
|
3709
|
-
* @type {
|
|
3882
|
+
* @type {AutocompleteTypes}
|
|
3883
|
+
* @default 'off'
|
|
3884
|
+
* @memberOf CrudFieldComponent
|
|
3710
3885
|
*/
|
|
3711
|
-
|
|
3886
|
+
autocomplete: AutocompleteTypes;
|
|
3712
3887
|
/**
|
|
3713
|
-
* @description
|
|
3714
|
-
* @summary Determines
|
|
3715
|
-
*
|
|
3716
|
-
* when validation feedback is shown to the user during form interaction.
|
|
3888
|
+
* @description Fill style for the field.
|
|
3889
|
+
* @summary Determines the fill style of the field, such as 'outline' or 'solid'.
|
|
3890
|
+
* This affects the border and background of the field.
|
|
3717
3891
|
*
|
|
3718
|
-
* @type {
|
|
3719
|
-
* @default '
|
|
3892
|
+
* @type {'outline' | 'solid'}
|
|
3893
|
+
* @default 'outline'
|
|
3894
|
+
* @memberOf CrudFieldComponent
|
|
3720
3895
|
*/
|
|
3721
|
-
|
|
3896
|
+
fill: 'outline' | 'solid';
|
|
3722
3897
|
/**
|
|
3723
|
-
* @description
|
|
3724
|
-
* @summary Specifies where
|
|
3725
|
-
*
|
|
3726
|
-
* '_top', or a named frame. Controls the browser behavior for form responses.
|
|
3898
|
+
* @description Placement of the label relative to the field.
|
|
3899
|
+
* @summary Specifies where the label should be placed relative to the field.
|
|
3900
|
+
* Options include 'start', 'end', 'floating', 'stacked', and 'fixed'.
|
|
3727
3901
|
*
|
|
3728
|
-
* @type {
|
|
3729
|
-
* @default '
|
|
3902
|
+
* @type {'start' | 'end' | 'floating' | 'stacked' | 'fixed'}
|
|
3903
|
+
* @default 'floating'
|
|
3904
|
+
* @memberOf CrudFieldComponent
|
|
3730
3905
|
*/
|
|
3731
|
-
|
|
3906
|
+
labelPlacement: 'start' | 'end' | 'floating' | 'stacked' | 'fixed';
|
|
3732
3907
|
/**
|
|
3733
|
-
* @description
|
|
3734
|
-
* @summary
|
|
3735
|
-
*
|
|
3736
|
-
* Angular event-driven submission for single-page application workflows.
|
|
3908
|
+
* @description Update mode for the field.
|
|
3909
|
+
* @summary Determines when the field value should be updated in the form model.
|
|
3910
|
+
* Options include 'change', 'blur', and 'submit'.
|
|
3737
3911
|
*
|
|
3738
|
-
* @type {
|
|
3739
|
-
* @default '
|
|
3912
|
+
* @type {FieldUpdateMode}
|
|
3913
|
+
* @default 'change'
|
|
3914
|
+
* @memberOf CrudFieldComponent
|
|
3740
3915
|
*/
|
|
3741
|
-
|
|
3916
|
+
updateOn: FieldUpdateMode;
|
|
3742
3917
|
/**
|
|
3743
|
-
* @description
|
|
3744
|
-
* @summary
|
|
3745
|
-
* validation, and behavior. These options are merged with default settings
|
|
3746
|
-
* during component initialization to customize the form's functionality.
|
|
3918
|
+
* @description Reference to the field component.
|
|
3919
|
+
* @summary Provides a reference to the field component element, allowing direct access to its properties and methods.
|
|
3747
3920
|
*
|
|
3748
|
-
* @type {
|
|
3921
|
+
* @type {ElementRef}
|
|
3922
|
+
* @memberOf CrudFieldComponent
|
|
3749
3923
|
*/
|
|
3750
|
-
|
|
3924
|
+
component: ElementRef;
|
|
3751
3925
|
/**
|
|
3752
|
-
* @description
|
|
3753
|
-
* @summary
|
|
3754
|
-
*
|
|
3755
|
-
* distinguish between different types of form submissions within the same component.
|
|
3926
|
+
* @description Parent form group.
|
|
3927
|
+
* @summary References the parent form group to which this field belongs.
|
|
3928
|
+
* This is necessary for integrating the field with Angular's reactive forms.
|
|
3756
3929
|
*
|
|
3757
|
-
* @type {
|
|
3930
|
+
* @type {FormGroup}
|
|
3931
|
+
* @memberOf CrudFieldComponent
|
|
3758
3932
|
*/
|
|
3759
|
-
|
|
3933
|
+
formGroup: FormGroup | undefined;
|
|
3760
3934
|
/**
|
|
3761
|
-
* @description
|
|
3762
|
-
* @summary
|
|
3763
|
-
*
|
|
3764
|
-
*
|
|
3935
|
+
* @description Angular FormControl instance for this field.
|
|
3936
|
+
* @summary The specific FormControl instance that manages this field's state, validation,
|
|
3937
|
+
* and value. This provides direct access to Angular's reactive forms functionality
|
|
3938
|
+
* for this individual field within the broader form structure.
|
|
3765
3939
|
*
|
|
3766
|
-
* @type {
|
|
3767
|
-
* @
|
|
3940
|
+
* @type {FormControl}
|
|
3941
|
+
* @memberOf CrudFieldComponent
|
|
3768
3942
|
*/
|
|
3769
|
-
|
|
3943
|
+
formControl: FormControl;
|
|
3770
3944
|
/**
|
|
3771
|
-
* @description
|
|
3772
|
-
* @summary
|
|
3773
|
-
*
|
|
3774
|
-
*
|
|
3945
|
+
* @description Indicates if this field supports multiple values.
|
|
3946
|
+
* @summary When true, this field can handle multiple values, typically used in
|
|
3947
|
+
* multi-select scenarios or when the field is part of a form array structure
|
|
3948
|
+
* that allows multiple entries of the same field type.
|
|
3775
3949
|
*
|
|
3776
|
-
* @type {
|
|
3950
|
+
* @type {boolean}
|
|
3951
|
+
* @default false
|
|
3952
|
+
* @memberOf CrudFieldComponent
|
|
3777
3953
|
*/
|
|
3778
|
-
|
|
3954
|
+
multiple: boolean;
|
|
3779
3955
|
/**
|
|
3780
|
-
* @description
|
|
3781
|
-
* @summary
|
|
3782
|
-
*
|
|
3783
|
-
* controlling form behavior. May be undefined for read-only operations.
|
|
3956
|
+
* @description Unique identifier for the current record.
|
|
3957
|
+
* @summary A unique identifier for the current record being displayed or manipulated.
|
|
3958
|
+
* This is typically used in conjunction with the primary key for operations on specific records.
|
|
3784
3959
|
*
|
|
3785
|
-
* @type {
|
|
3960
|
+
* @type {string | number}
|
|
3786
3961
|
*/
|
|
3787
|
-
|
|
3962
|
+
uid: string;
|
|
3963
|
+
page: number;
|
|
3788
3964
|
/**
|
|
3789
|
-
* @description
|
|
3790
|
-
* @summary
|
|
3791
|
-
*
|
|
3792
|
-
* attribute for the form element, enabling DOM queries and form management.
|
|
3965
|
+
* @description Translatability of field labels.
|
|
3966
|
+
* @summary Indicates whether the field labels should be translated based on the current language settings.
|
|
3967
|
+
* This is useful for applications supporting multiple languages.
|
|
3793
3968
|
*
|
|
3794
|
-
* @type {
|
|
3969
|
+
* @type {StringOrBoolean}
|
|
3970
|
+
* @default true
|
|
3971
|
+
* @memberOf CrudFieldComponent
|
|
3795
3972
|
*/
|
|
3796
|
-
|
|
3797
|
-
/**
|
|
3798
|
-
* @description Event emitter for form submission events.
|
|
3799
|
-
* @summary Emits ICrudFormEvent objects when the form is submitted, providing
|
|
3800
|
-
* form data, component information, and any associated handlers to parent
|
|
3801
|
-
* components. This enables decoupled handling of form submission logic.
|
|
3802
|
-
*
|
|
3803
|
-
* @type {EventEmitter<ICrudFormEvent>}
|
|
3804
|
-
*/
|
|
3805
|
-
submitEvent: EventEmitter<ICrudFormEvent>;
|
|
3973
|
+
translatable: StringOrBoolean;
|
|
3806
3974
|
/**
|
|
3807
|
-
* @description
|
|
3808
|
-
* @summary
|
|
3809
|
-
*
|
|
3810
|
-
*
|
|
3811
|
-
*
|
|
3975
|
+
* @description Component initialization lifecycle method.
|
|
3976
|
+
* @summary Initializes the field component based on the operation type and field configuration.
|
|
3977
|
+
* For READ and DELETE operations, removes the form group to make fields read-only.
|
|
3978
|
+
* For other operations, sets up icons, configures multi-value support if needed,
|
|
3979
|
+
* and sets default values for radio buttons if no value is provided.
|
|
3812
3980
|
*
|
|
3813
|
-
* @
|
|
3814
|
-
* @
|
|
3981
|
+
* @returns {void}
|
|
3982
|
+
* @memberOf CrudFieldComponent
|
|
3815
3983
|
*/
|
|
3816
|
-
|
|
3817
|
-
protected activeFormGroupIndex: number;
|
|
3818
|
-
get activeFormGroup(): FormParent;
|
|
3984
|
+
ngOnInit(): Promise<void>;
|
|
3819
3985
|
/**
|
|
3820
|
-
*
|
|
3821
|
-
*
|
|
3822
|
-
*
|
|
3823
|
-
* operations, the formGroup is set to undefined since these operations don't require
|
|
3824
|
-
* form input. Configuration options are merged with default settings.
|
|
3986
|
+
* Returns a list of options for select or radio inputs, with their `text` property
|
|
3987
|
+
* localized if it does not already include the word 'options'. The localization key
|
|
3988
|
+
* is generated from the component's label, replacing 'label' with 'options'.
|
|
3825
3989
|
*
|
|
3826
|
-
* @returns {
|
|
3990
|
+
* @returns {CrudFieldOption[]} The array of parsed and localized options.
|
|
3991
|
+
* @memberOf CrudFieldComponent
|
|
3827
3992
|
*/
|
|
3828
|
-
|
|
3993
|
+
getOptions(): Promise<CrudFieldOption[]>;
|
|
3994
|
+
/**
|
|
3995
|
+
* @description Component after view initialization lifecycle method.
|
|
3996
|
+
* @summary Calls the parent afterViewInit method for READ and DELETE operations.
|
|
3997
|
+
* This ensures proper initialization of read-only fields that don't require
|
|
3998
|
+
* form functionality but still need view setup.
|
|
3999
|
+
*
|
|
4000
|
+
* @returns {void}
|
|
4001
|
+
* @memberOf CrudFieldComponent
|
|
4002
|
+
*/
|
|
4003
|
+
ngAfterViewInit(): void;
|
|
3829
4004
|
/**
|
|
3830
4005
|
* @description Component cleanup lifecycle method.
|
|
3831
|
-
* @summary Performs cleanup operations
|
|
3832
|
-
*
|
|
3833
|
-
*
|
|
4006
|
+
* @summary Performs cleanup operations for READ and DELETE operations by calling
|
|
4007
|
+
* the parent onDestroy method. This ensures proper resource cleanup for
|
|
4008
|
+
* read-only field components.
|
|
3834
4009
|
*
|
|
3835
4010
|
* @returns {void}
|
|
4011
|
+
* @memberOf CrudFieldComponent
|
|
3836
4012
|
*/
|
|
3837
4013
|
ngOnDestroy(): void;
|
|
3838
|
-
|
|
4014
|
+
toggleOptionSelection(val: string, event: CheckboxCustomEvent): void;
|
|
4015
|
+
isOptionChecked(value: string): boolean;
|
|
3839
4016
|
/**
|
|
3840
|
-
* @description Handles
|
|
3841
|
-
* @summary
|
|
3842
|
-
*
|
|
3843
|
-
*
|
|
3844
|
-
* since these operations don't have modifiable form data to reset.
|
|
4017
|
+
* @description Handles fieldset group update events from parent fieldsets.
|
|
4018
|
+
* @summary Processes events triggered when an existing group needs to be updated.
|
|
4019
|
+
* Updates the active form group index and refreshes the form group and form control
|
|
4020
|
+
* references to point to the group being edited.
|
|
3845
4021
|
*
|
|
4022
|
+
* @param {CustomEvent} event - The fieldset update group event containing update details
|
|
3846
4023
|
* @returns {void}
|
|
4024
|
+
* @memberOf CrudFieldComponent
|
|
3847
4025
|
*/
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
static
|
|
3851
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxFormDirective, never, never, { "parentFormId": { "alias": "parentFormId"; "required": false; }; "updateOn": { "alias": "updateOn"; "required": false; }; "target": { "alias": "target"; "required": false; }; "method": { "alias": "method"; "required": false; }; "options": { "alias": "options"; "required": false; }; "action": { "alias": "action"; "required": false; }; "operation": { "alias": "operation"; "required": true; }; "handlers": { "alias": "handlers"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "rendererId": { "alias": "rendererId"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; }, { "submitEvent": "submitEvent"; }, never, never, true, never>;
|
|
4026
|
+
handleFieldsetUpdateGroupEvent(event: CustomEvent): void;
|
|
4027
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CrudFieldComponent, never>;
|
|
4028
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CrudFieldComponent, "ngx-decaf-crud-field", never, { "operation": { "alias": "operation"; "required": true; }; "name": { "alias": "name"; "required": true; }; "className": { "alias": "className"; "required": false; }; "path": { "alias": "path"; "required": true; }; "childOf": { "alias": "childOf"; "required": false; }; "type": { "alias": "type"; "required": true; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": true; }; "placeholder": { "alias": "placeholder"; "required": false; }; "format": { "alias": "format"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "max": { "alias": "max"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "min": { "alias": "min"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "step": { "alias": "step"; "required": false; }; "equals": { "alias": "equals"; "required": false; }; "different": { "alias": "different"; "required": false; }; "lessThan": { "alias": "lessThan"; "required": false; }; "lessThanOrEqual": { "alias": "lessThanOrEqual"; "required": false; }; "greaterThan": { "alias": "greaterThan"; "required": false; }; "greaterThanOrEqual": { "alias": "greaterThanOrEqual"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "cancelText": { "alias": "cancelText"; "required": false; }; "interface": { "alias": "interface"; "required": false; }; "options": { "alias": "options"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "spellcheck": { "alias": "spellcheck"; "required": false; }; "inputmode": { "alias": "inputmode"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "fill": { "alias": "fill"; "required": false; }; "labelPlacement": { "alias": "labelPlacement"; "required": false; }; "updateOn": { "alias": "updateOn"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "uid": { "alias": "uid"; "required": false; }; "page": { "alias": "page"; "required": false; }; "translatable": { "alias": "translatable"; "required": false; }; }, {}, never, never, true, never>;
|
|
3852
4029
|
}
|
|
3853
4030
|
|
|
3854
4031
|
declare class CrudFormComponent extends NgxFormDirective {
|
|
@@ -3867,7 +4044,7 @@ declare class CrudFormComponent extends NgxFormDirective {
|
|
|
3867
4044
|
/**
|
|
3868
4045
|
* @description Handles form submission with validation and event emission.
|
|
3869
4046
|
* @summary Processes form submission by first preventing default browser behavior,
|
|
3870
|
-
* then validating all form fields using
|
|
4047
|
+
* then validating all form fields using NgxFormService. If validation passes,
|
|
3871
4048
|
* extracts form data and emits a submitEvent with the data, component information,
|
|
3872
4049
|
* and any associated handlers. Returns false if validation fails.
|
|
3873
4050
|
*
|
|
@@ -3936,7 +4113,7 @@ declare class CrudFormComponent extends NgxFormDirective {
|
|
|
3936
4113
|
* @extends {NgxBaseComponentDirective}
|
|
3937
4114
|
* @implements {OnInit}
|
|
3938
4115
|
*/
|
|
3939
|
-
declare class EmptyStateComponent extends
|
|
4116
|
+
declare class EmptyStateComponent extends NgxComponentDirective implements OnInit {
|
|
3940
4117
|
/**
|
|
3941
4118
|
* @description The main title displayed in the empty state.
|
|
3942
4119
|
* @summary Specifies the primary message to show in the empty state component.
|
|
@@ -4694,7 +4871,7 @@ declare class FieldsetComponent extends NgxFormDirective implements OnInit, Afte
|
|
|
4694
4871
|
*
|
|
4695
4872
|
* @memberOf ForAngularCommonModule
|
|
4696
4873
|
*/
|
|
4697
|
-
declare class FilterComponent extends
|
|
4874
|
+
declare class FilterComponent extends NgxComponentDirective implements OnInit, OnDestroy {
|
|
4698
4875
|
/**
|
|
4699
4876
|
* @description Reference to the dropdown options container element.
|
|
4700
4877
|
* @summary ViewChild reference used to access and manipulate the dropdown options element
|
|
@@ -5360,7 +5537,7 @@ declare class LayoutComponent extends NgxParentComponentDirective implements OnI
|
|
|
5360
5537
|
* @extends {NgxBaseComponentDirective}
|
|
5361
5538
|
* @implements {OnInit}
|
|
5362
5539
|
*/
|
|
5363
|
-
declare class ListComponent extends
|
|
5540
|
+
declare class ListComponent extends NgxComponentDirective implements OnInit, OnDestroy {
|
|
5364
5541
|
/**
|
|
5365
5542
|
* @description The display mode for the list component.
|
|
5366
5543
|
* @summary Determines how the list data is loaded and displayed. Options include:
|
|
@@ -6160,7 +6337,7 @@ declare class ListComponent extends NgxDecafComponentDirective implements OnInit
|
|
|
6160
6337
|
* C->>C: Process action
|
|
6161
6338
|
* C->>V: Update view or navigate
|
|
6162
6339
|
*/
|
|
6163
|
-
declare class ListItemComponent extends
|
|
6340
|
+
declare class ListItemComponent extends NgxComponentDirective implements OnInit {
|
|
6164
6341
|
/**
|
|
6165
6342
|
* @description Reference to the action menu popover component.
|
|
6166
6343
|
* @summary ViewChild reference that provides access to the HTMLIonPopoverElement
|
|
@@ -6306,17 +6483,6 @@ declare class ListItemComponent extends NgxDecafComponentDirective implements On
|
|
|
6306
6483
|
* @memberOf ListItemComponent
|
|
6307
6484
|
*/
|
|
6308
6485
|
actionMenuOpen: boolean;
|
|
6309
|
-
/**
|
|
6310
|
-
* @description Angular NavController service for handling navigation.
|
|
6311
|
-
* @summary Injected service that provides methods for programmatic navigation
|
|
6312
|
-
* within the Ionic application. Used for navigating to different routes when
|
|
6313
|
-
* list item actions are performed or when the item itself is clicked.
|
|
6314
|
-
*
|
|
6315
|
-
* @private
|
|
6316
|
-
* @type {NavController}
|
|
6317
|
-
* @memberOf ListItemComponent
|
|
6318
|
-
*/
|
|
6319
|
-
private navController;
|
|
6320
6486
|
/**
|
|
6321
6487
|
* @description Creates an instance of ListItemComponent.
|
|
6322
6488
|
* @summary Initializes a new ListItemComponent by calling the parent class constructor
|
|
@@ -6371,7 +6537,7 @@ declare class ListItemComponent extends NgxDecafComponentDirective implements On
|
|
|
6371
6537
|
* participant U as User
|
|
6372
6538
|
* participant L as ListItemComponent
|
|
6373
6539
|
* participant P as Parent Component
|
|
6374
|
-
* participant N as
|
|
6540
|
+
* participant N as Router
|
|
6375
6541
|
* participant E as Event System
|
|
6376
6542
|
*
|
|
6377
6543
|
* U->>L: Perform action (click/swipe)
|
|
@@ -6451,7 +6617,7 @@ declare class ListItemComponent extends NgxDecafComponentDirective implements On
|
|
|
6451
6617
|
/**
|
|
6452
6618
|
* @description Navigates to a new route based on the specified action and item ID.
|
|
6453
6619
|
* @summary This method constructs a navigation URL using the component's route configuration,
|
|
6454
|
-
* the specified action, and an item identifier. It uses Ionic's
|
|
6620
|
+
* the specified action, and an item identifier. It uses Ionic's Router to perform
|
|
6455
6621
|
* forward navigation with appropriate animations. This method is typically used for
|
|
6456
6622
|
* CRUD operations where each action (create, read, update, delete) has its own route.
|
|
6457
6623
|
*
|
|
@@ -6462,7 +6628,7 @@ declare class ListItemComponent extends NgxDecafComponentDirective implements On
|
|
|
6462
6628
|
* @mermaid
|
|
6463
6629
|
* sequenceDiagram
|
|
6464
6630
|
* participant L as ListItemComponent
|
|
6465
|
-
* participant N as
|
|
6631
|
+
* participant N as Router
|
|
6466
6632
|
* participant R as Router
|
|
6467
6633
|
*
|
|
6468
6634
|
* L->>L: redirect(action, id)
|
|
@@ -6545,7 +6711,7 @@ declare class ListItemComponent extends NgxDecafComponentDirective implements On
|
|
|
6545
6711
|
* ModelRenderer->>ModelRenderer: Subscribe to events
|
|
6546
6712
|
* ModelRenderer-->>App: Emit events
|
|
6547
6713
|
*/
|
|
6548
|
-
declare class ModelRendererComponent<M extends Model> extends
|
|
6714
|
+
declare class ModelRendererComponent<M extends Model> extends NgxComponentDirective implements OnChanges, OnDestroy, IRenderedModel {
|
|
6549
6715
|
/**
|
|
6550
6716
|
* @description Global variables to be passed to the rendered component
|
|
6551
6717
|
*/
|
|
@@ -6652,7 +6818,7 @@ declare class ModelRendererComponent<M extends Model> extends NgxDecafComponentD
|
|
|
6652
6818
|
* @extends {NgxBaseComponentDirective}
|
|
6653
6819
|
* @implements {OnInit}
|
|
6654
6820
|
*/
|
|
6655
|
-
declare class PaginationComponent extends
|
|
6821
|
+
declare class PaginationComponent extends NgxComponentDirective implements OnInit {
|
|
6656
6822
|
/**
|
|
6657
6823
|
* @description The total number of pages to display in the pagination component.
|
|
6658
6824
|
* @summary Specifies the total number of pages available for navigation. This is a required
|
|
@@ -6884,7 +7050,7 @@ declare class PaginationComponent extends NgxDecafComponentDirective implements
|
|
|
6884
7050
|
* @implements {OnInit}
|
|
6885
7051
|
* @memberOf SearchbarComponent
|
|
6886
7052
|
*/
|
|
6887
|
-
declare class SearchbarComponent extends
|
|
7053
|
+
declare class SearchbarComponent extends NgxComponentDirective implements OnInit {
|
|
6888
7054
|
/**
|
|
6889
7055
|
* @description The mode of the searchbar.
|
|
6890
7056
|
* @summary Determines the visual style of the searchbar, either iOS or Material Design.
|
|
@@ -7965,39 +8131,152 @@ declare function provideI18n(config?: RootTranslateServiceConfig, resources?: I1
|
|
|
7965
8131
|
} | i0.EnvironmentProviders | i0.Provider[])[];
|
|
7966
8132
|
|
|
7967
8133
|
/**
|
|
7968
|
-
* @module
|
|
8134
|
+
* @module lib/for-angular-common.module
|
|
7969
8135
|
* @description Core Angular module and providers for Decaf's for-angular package.
|
|
7970
8136
|
* @summary Provides the shared Angular module, injection tokens and helper functions used
|
|
7971
8137
|
* by the for-angular integration. This module wires up common imports (forms, translation)
|
|
7972
8138
|
* and exposes helper providers such as DB adapter registration and logger utilities.
|
|
7973
|
-
*
|
|
7974
8139
|
* @link {@link ForAngularCommonModule}
|
|
7975
8140
|
*/
|
|
7976
8141
|
|
|
7977
|
-
/** */
|
|
7978
8142
|
declare const DB_ADAPTER_PROVIDER = "DB_ADAPTER_PROVIDER";
|
|
8143
|
+
/**
|
|
8144
|
+
* @description Injection token for registering the database adapter provider.
|
|
8145
|
+
* @summary Used to inject the database adapter instance that implements DecafRepositoryAdapter.
|
|
8146
|
+
* This token allows the framework to locate and use the application's specific database implementation.
|
|
8147
|
+
* @const {InjectionToken<DecafRepositoryAdapter>}
|
|
8148
|
+
* @memberOf module:lib/for-angular-common.module
|
|
8149
|
+
*/
|
|
7979
8150
|
declare const DB_ADAPTER_PROVIDER_TOKEN: InjectionToken<DecafRepositoryAdapter>;
|
|
8151
|
+
/**
|
|
8152
|
+
* @description Injection token for the root path of locale translation files.
|
|
8153
|
+
* @summary Used to configure the base path where i18n translation files are located.
|
|
8154
|
+
* This allows the translation loader to locate JSON files for different languages.
|
|
8155
|
+
* @const {InjectionToken<string>}
|
|
8156
|
+
* @memberOf module:lib/for-angular-common.module
|
|
8157
|
+
* @example
|
|
8158
|
+
* // Typical usage when providing the token
|
|
8159
|
+
* { provide: LOCALE_ROOT_TOKEN, useValue: './assets/i18n/' }
|
|
8160
|
+
*/
|
|
7980
8161
|
declare const LOCALE_ROOT_TOKEN: InjectionToken<string>;
|
|
8162
|
+
/**
|
|
8163
|
+
* @description Generic injection token for providing arbitrary values to constructors.
|
|
8164
|
+
* @summary Used to inject classes, strings, or any other value into component or service constructors.
|
|
8165
|
+
* This is a flexible token that can be used to provide any type of dependency when more specific
|
|
8166
|
+
* tokens are not appropriate. The actual type and purpose of the injected value is determined by
|
|
8167
|
+
* the provider configuration.
|
|
8168
|
+
* @const {InjectionToken<unknown>}
|
|
8169
|
+
* @memberOf module:lib/for-angular-common.module
|
|
8170
|
+
* @example
|
|
8171
|
+
* // Inject a string value
|
|
8172
|
+
* { provide: CPTKN, useValue: 'some-config-value' }
|
|
8173
|
+
*
|
|
8174
|
+
* // Inject a class
|
|
8175
|
+
* { provide: CPTKN, useClass: MyService }
|
|
8176
|
+
*
|
|
8177
|
+
* // Inject any arbitrary value
|
|
8178
|
+
* { provide: CPTKN, useValue: { key: 'value', data: [1, 2, 3] } }
|
|
8179
|
+
*/
|
|
7981
8180
|
declare const CPTKN: InjectionToken<unknown>;
|
|
8181
|
+
/**
|
|
8182
|
+
* @description Injection token for i18n resource configuration.
|
|
8183
|
+
* @summary Used to provide configuration for internationalization resources, including
|
|
8184
|
+
* translation file locations and supported languages. This token configures how the
|
|
8185
|
+
* application loads and manages translation resources.
|
|
8186
|
+
* @const {InjectionToken<{resources: I18nResourceConfig[]; versionedSuffix: boolean}>}
|
|
8187
|
+
* @memberOf module:lib/for-angular-common.module
|
|
8188
|
+
*/
|
|
7982
8189
|
declare const I18N_CONFIG_TOKEN: InjectionToken<{
|
|
7983
8190
|
resources: I18nResourceConfig[];
|
|
7984
8191
|
versionedSuffix: boolean;
|
|
7985
8192
|
}>;
|
|
8193
|
+
/**
|
|
8194
|
+
* @description Provides an array of component types for dynamic rendering.
|
|
8195
|
+
* @summary Helper function to package component constructors for registration with the
|
|
8196
|
+
* rendering engine. This function accepts component classes and returns them as an array
|
|
8197
|
+
* suitable for use with the CPTKN injection token.
|
|
8198
|
+
* @param {...Constructor<unknown>[]} components - Component constructor classes to register
|
|
8199
|
+
* @return {Constructor<unknown>[]} Array of component constructors
|
|
8200
|
+
* @memberOf module:lib/for-angular-common.module
|
|
8201
|
+
* @example
|
|
8202
|
+
* // Register multiple custom components
|
|
8203
|
+
* providers: [
|
|
8204
|
+
* { provide: CPTKN, useValue: provideDynamicComponents(MyComponent, AnotherComponent) }
|
|
8205
|
+
* ]
|
|
8206
|
+
*/
|
|
8207
|
+
declare function provideDynamicComponents(...components: Constructor<unknown>[]): Constructor<unknown>[];
|
|
8208
|
+
/**
|
|
8209
|
+
* @description Retrieves the repository instance for a given model.
|
|
8210
|
+
* @summary Creates or retrieves a DecafRepository instance for the specified model. This function
|
|
8211
|
+
* resolves the model by name or class, locates the registered database adapter, and returns
|
|
8212
|
+
* a fully initialized repository instance for performing CRUD operations.
|
|
8213
|
+
* @param {Model | string} model - The model class or model name string
|
|
8214
|
+
* @return {DecafRepository<Model>} Repository instance for the model
|
|
8215
|
+
* @throws {InternalError} If model is not found or not registered with @model decorator
|
|
8216
|
+
* @memberOf module:lib/for-angular-common.module
|
|
8217
|
+
* @example
|
|
8218
|
+
* // Get repository by model class
|
|
8219
|
+
* const userRepo = getModelRepository(User);
|
|
8220
|
+
*
|
|
8221
|
+
* // Get repository by model name
|
|
8222
|
+
* const productRepo = getModelRepository('Product');
|
|
8223
|
+
*
|
|
8224
|
+
* // Use repository for queries
|
|
8225
|
+
* const users = await userRepo.findAll();
|
|
8226
|
+
*/
|
|
7986
8227
|
declare function getModelRepository(model: Model | string): DecafRepository<Model>;
|
|
8228
|
+
/**
|
|
8229
|
+
* @description Provides a database adapter for dependency injection.
|
|
8230
|
+
* @summary Creates an Angular provider that registers a database adapter instance. This function
|
|
8231
|
+
* instantiates the adapter class, registers its flavour globally, and returns a provider object
|
|
8232
|
+
* for use in Angular's dependency injection system.
|
|
8233
|
+
* @template DbAdapter - The database adapter class type extending {flavour: string}
|
|
8234
|
+
* @param {Constructor<DbAdapter>} adapterClass - Database adapter constructor class
|
|
8235
|
+
* @param {KeyValue} [options={}] - Configuration options passed to adapter constructor
|
|
8236
|
+
* @param {string} [flavour] - Optional flavour override; uses adapter.flavour if not provided
|
|
8237
|
+
* @return {Provider} Angular provider object for DB_ADAPTER_PROVIDER_TOKEN
|
|
8238
|
+
* @memberOf module:lib/for-angular-common.module
|
|
8239
|
+
* @example
|
|
8240
|
+
* // Register a SQLite adapter
|
|
8241
|
+
* providers: [
|
|
8242
|
+
* provideDbAdapter(SqliteAdapter, { database: 'myapp.db' }, 'sqlite')
|
|
8243
|
+
* ]
|
|
8244
|
+
*
|
|
8245
|
+
* // Register with default flavour from adapter
|
|
8246
|
+
* providers: [
|
|
8247
|
+
* provideDbAdapter(PostgresAdapter, { host: 'localhost', port: 5432 })
|
|
8248
|
+
* ]
|
|
8249
|
+
*/
|
|
7987
8250
|
declare function provideDbAdapter<DbAdapter extends {
|
|
7988
8251
|
flavour: string;
|
|
7989
8252
|
}>(adapterClass: Constructor<DbAdapter>, options?: KeyValue, flavour?: string): Provider;
|
|
8253
|
+
/**
|
|
8254
|
+
* @description Retrieves a logger instance for the given context.
|
|
8255
|
+
* @summary Creates or retrieves a namespaced logger instance using the Decaf logging system.
|
|
8256
|
+
* The logger is automatically namespaced under "for-angular" and can be further scoped
|
|
8257
|
+
* to a specific instance, function, or string identifier.
|
|
8258
|
+
* @param {string | FunctionLike | unknown} instance - The instance, function, or string to scope the logger to
|
|
8259
|
+
* @return {Logger} Logger instance for the specified context
|
|
8260
|
+
* @memberOf module:lib/for-angular-common.module
|
|
8261
|
+
* @example
|
|
8262
|
+
* // Get logger for a class
|
|
8263
|
+
* const logger = getLogger(MyComponent);
|
|
8264
|
+
* logger.info('Component initialized');
|
|
8265
|
+
*
|
|
8266
|
+
* // Get logger with string identifier
|
|
8267
|
+
* const serviceLogger = getLogger('UserService');
|
|
8268
|
+
* serviceLogger.error('Operation failed', error);
|
|
8269
|
+
*/
|
|
7990
8270
|
declare function getLogger(instance: string | FunctionLike | unknown): Logger;
|
|
7991
8271
|
/**
|
|
7992
|
-
* @description Main Angular module for the Decaf framework
|
|
8272
|
+
* @description Main Angular module for the Decaf framework.
|
|
7993
8273
|
* @summary The ForAngularCommonModule provides the core functionality for integrating Decaf with Angular applications.
|
|
7994
8274
|
* It imports and exports common Angular and Ionic components and modules needed for Decaf applications,
|
|
7995
8275
|
* including form handling, translation support, and Ionic UI components. This module can be imported
|
|
7996
8276
|
* directly or via the forRoot() method for proper initialization in the application's root module.
|
|
7997
|
-
*
|
|
7998
8277
|
* @class ForAngularCommonModule
|
|
8278
|
+
* @memberOf module:lib/for-angular-common.module
|
|
7999
8279
|
* @example
|
|
8000
|
-
* ```typescript
|
|
8001
8280
|
* // In your app module:
|
|
8002
8281
|
* @NgModule({
|
|
8003
8282
|
* imports: [
|
|
@@ -8007,17 +8286,24 @@ declare function getLogger(instance: string | FunctionLike | unknown): Logger;
|
|
|
8007
8286
|
* // ...
|
|
8008
8287
|
* })
|
|
8009
8288
|
* export class AppModule {}
|
|
8010
|
-
* ```
|
|
8011
8289
|
*/
|
|
8012
8290
|
declare class ForAngularCommonModule {
|
|
8013
8291
|
/**
|
|
8014
|
-
* @description Creates a module with providers for root module import
|
|
8292
|
+
* @description Creates a module with providers for root module import.
|
|
8015
8293
|
* @summary This static method provides the proper way to import the ForAngularCommonModule in the application's
|
|
8016
8294
|
* root module. It returns a ModuleWithProviders object that includes the ForAngularCommonModule itself.
|
|
8017
8295
|
* Using forRoot() ensures that the module and its providers are properly initialized and only
|
|
8018
8296
|
* instantiated once in the application.
|
|
8019
|
-
*
|
|
8020
8297
|
* @return {ModuleWithProviders<ForAngularCommonModule>} The module with its providers
|
|
8298
|
+
* @memberOf ForAngularCommonModule
|
|
8299
|
+
* @static
|
|
8300
|
+
* @example
|
|
8301
|
+
* // Import in root module
|
|
8302
|
+
* @NgModule({
|
|
8303
|
+
* imports: [ForAngularCommonModule.forRoot()],
|
|
8304
|
+
* // ...
|
|
8305
|
+
* })
|
|
8306
|
+
* export class AppModule {}
|
|
8021
8307
|
*/
|
|
8022
8308
|
static forRoot(): ModuleWithProviders<ForAngularCommonModule>;
|
|
8023
8309
|
static ɵfac: i0.ɵɵFactoryDeclaration<ForAngularCommonModule, never>;
|
|
@@ -8025,5 +8311,5 @@ declare class ForAngularCommonModule {
|
|
|
8025
8311
|
static ɵinj: i0.ɵɵInjectorDeclaration<ForAngularCommonModule>;
|
|
8026
8312
|
}
|
|
8027
8313
|
|
|
8028
|
-
export { AngularEngineKeys, BaseComponentProps, CPTKN, CollapsableDirective, ComponentRendererComponent, ComponentsTagNames, CrudFieldComponent, CrudFormComponent, CssClasses, DB_ADAPTER_PROVIDER, DB_ADAPTER_PROVIDER_TOKEN, DefaultFormReactiveOptions, DefaultListEmptyOptions, Dynamic, DynamicModule, EmptyStateComponent, EventConstants, FieldsetComponent, FilterComponent, ForAngularCommonModule, ForAngularComponentsModule, FormConstants, I18N_CONFIG_TOKEN, I18nLoader, I18nLoaderFactory, I18nParser, LOCALE_ROOT_TOKEN, LayoutComponent, ListComponent, ListComponentsTypes, ListItemComponent, LoggerLevels, ModelRendererComponent,
|
|
8029
|
-
export type { AngularDynamicOutput, AngularFieldDefinition, CheckboxOption, ComponentMetadata, CrudFieldOption, DecafRepository, DecafRepositoryAdapter, ElementPositions, ElementSizes, FieldUpdateMode, FlexPositions, FormParent, FormParentGroup, FormServiceControl, FormServiceControls, FunctionLike, HTMLFormTarget, HandlerLike, I18nResourceConfig, I18nResourceConfigType, IBaseCustomEvent, IComponentConfig, IComponentHolder, IComponentInput, ICrudFormEvent, ICrudFormOptions, IFieldSetItem, IFieldSetValidationEvent, IFilterQuery, IFilterQueryItem, IFormElement, IFormReactiveSubmitEvent, IListComponentRefreshEvent, IListEmptyOptions, IMenuItem, IPaginationCustomEvent, IRenderedModel, ISortObject, InputOption, KeyValue, ListItemCustomEvent, PossibleInputTypes, RadioOption, RawQuery, SelectOption, StringOrBoolean };
|
|
8314
|
+
export { AngularEngineKeys, BaseComponentProps, CPTKN, CollapsableDirective, ComponentRendererComponent, ComponentsTagNames, CrudFieldComponent, CrudFormComponent, CssClasses, DB_ADAPTER_PROVIDER, DB_ADAPTER_PROVIDER_TOKEN, DefaultFormReactiveOptions, DefaultListEmptyOptions, Dynamic, DynamicModule, EmptyStateComponent, EventConstants, FieldsetComponent, FilterComponent, ForAngularCommonModule, ForAngularComponentsModule, FormConstants, I18N_CONFIG_TOKEN, I18nLoader, I18nLoaderFactory, I18nParser, LOCALE_ROOT_TOKEN, LayoutComponent, ListComponent, ListComponentsTypes, ListItemComponent, LoggerLevels, ModelRendererComponent, NgxComponentDirective, NgxEventHandler, NgxFormDirective, NgxFormFieldDirective, NgxFormService, NgxMediaDirective, NgxModelPageDirective, NgxPageDirective, NgxParentComponentDirective, NgxRenderingEngine, PaginationComponent, RouteDirections, SearchbarComponent, SteppedFormComponent, cleanSpaces, dataMapper, formatDate, generateRandomValue, getInjectablesRegistry, getLocaleContext, getLocaleContextByKey, getLocaleFromClassName, getLocaleLanguage, getLogger, getModelRepository, getOnWindow, getOnWindowDocument, getWindow, getWindowDocument, getWindowWidth, isDarkMode, isDevelopmentMode, isNotUndefined, isValidDate, itemMapper, parseToValidDate, provideDbAdapter, provideDynamicComponents, provideI18n, provideI18nLoader, removeFocusTrap, setOnWindow, stringToBoolean, windowEventEmitter };
|
|
8315
|
+
export type { AngularDynamicOutput, AngularFieldDefinition, CheckboxOption, ComponentMetadata, CrudFieldOption, DecafRepository, DecafRepositoryAdapter, ElementPositions, ElementSizes, FieldUpdateMode, FlexPositions, FormParent, FormParentGroup, FormServiceControl, FormServiceControls, FunctionLike, HTMLFormTarget, HandlerLike, I18nResourceConfig, I18nResourceConfigType, IBaseCustomEvent, IComponentConfig, IComponentHolder, IComponentInput, ICrudFormEvent, ICrudFormOptions, IFieldSetItem, IFieldSetValidationEvent, IFilterQuery, IFilterQueryItem, IFormElement, IFormReactiveSubmitEvent, IListComponentRefreshEvent, IListEmptyOptions, IMenuItem, IModelPageCustomEvent, IPaginationCustomEvent, IRenderedModel, ISortObject, IWindowResizeEvent, InputOption, KeyValue, ListItemCustomEvent, PossibleInputTypes, RadioOption, RawQuery, SelectOption, StringOrBoolean, WindowColorScheme };
|