@genesislcap/foundation-entity-management 14.254.0 → 14.255.0

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.
Files changed (2) hide show
  1. package/dist/custom-elements.json +683 -683
  2. package/package.json +21 -21
@@ -118,84 +118,122 @@
118
118
  },
119
119
  {
120
120
  "kind": "javascript-module",
121
- "path": "src/entities/entities.styles.ts",
121
+ "path": "src/layouts/default.ts",
122
122
  "declarations": [
123
123
  {
124
124
  "kind": "variable",
125
- "name": "styles",
126
- "default": "css`\n :host {\n contain: content;\n }\n\n :host::part(header) {\n display: flex;\n justify-content: space-between;\n align-items: center;\n user-select: none;\n padding: 0 calc(var(--design-unit) * 2px);\n }\n\n :host([modal-position='centre']) .edit-modal {\n overflow-y: auto;\n }\n\n .container {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n foundation-form {\n min-height: 400px;\n height: 100%;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n }\n\n .title {\n margin-left: 1px;\n }\n\n .header-title {\n color: var(--neutral-foreground-rest);\n font-size: var(--type-ramp-plus-4-font-size);\n font-family: var(--body-font);\n font-weight: 700;\n }\n\n .search-container {\n display: flex;\n align-items: center;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .search-container zero-search-bar,\n .search-container rapid-search-bar {\n width: 500px;\n }\n\n .crud-buttons {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .crud-buttons-wrapper {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n justify-content: flex-end;\n }\n\n .crud-buttons-wrapper-column,\n .crud-buttons-wrapper-top {\n flex: 1;\n padding: calc(var(--design-unit) * 2px) 0;\n }\n\n .crud-buttons-wrapper-bottom {\n padding: calc(var(--design-unit) * 2px);\n }\n`",
127
- "description": "Defines the css of the entity component as an ElementStyles object"
125
+ "name": "loginLayout",
126
+ "default": "new FASTElementLayout(\n html`\n <div class=\"container\">\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n `,\n baseLayoutCss,\n)"
127
+ },
128
+ {
129
+ "kind": "variable",
130
+ "name": "defaultLayout",
131
+ "default": "new FASTElementLayout(\n html`\n <div class=\"container\">\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n `,\n css`\n ${baseLayoutCss}\n `,\n)"
128
132
  }
129
133
  ],
130
134
  "exports": [
131
135
  {
132
136
  "kind": "js",
133
- "name": "styles",
137
+ "name": "loginLayout",
134
138
  "declaration": {
135
- "name": "styles",
136
- "module": "src/entities/entities.styles.ts"
139
+ "name": "loginLayout",
140
+ "module": "src/layouts/default.ts"
141
+ }
142
+ },
143
+ {
144
+ "kind": "js",
145
+ "name": "defaultLayout",
146
+ "declaration": {
147
+ "name": "defaultLayout",
148
+ "module": "src/layouts/default.ts"
137
149
  }
138
150
  }
139
151
  ]
140
152
  },
141
153
  {
142
154
  "kind": "javascript-module",
143
- "path": "src/entities/entities.template.ts",
155
+ "path": "src/layouts/index.ts",
156
+ "declarations": [],
157
+ "exports": [
158
+ {
159
+ "kind": "js",
160
+ "name": "*",
161
+ "declaration": {
162
+ "name": "*",
163
+ "package": "./default"
164
+ }
165
+ }
166
+ ]
167
+ },
168
+ {
169
+ "kind": "javascript-module",
170
+ "path": "src/list/index.ts",
171
+ "declarations": [],
172
+ "exports": [
173
+ {
174
+ "kind": "js",
175
+ "name": "*",
176
+ "declaration": {
177
+ "name": "*",
178
+ "package": "./list"
179
+ }
180
+ }
181
+ ]
182
+ },
183
+ {
184
+ "kind": "javascript-module",
185
+ "path": "src/list/list.styles.ts",
144
186
  "declarations": [
145
187
  {
146
- "kind": "function",
147
- "name": "crudButtonsTemplate",
148
- "parameters": [
149
- {
150
- "name": "prefix"
151
- },
152
- {
153
- "name": "position",
154
- "type": {
155
- "text": "CrudMenuPosition"
156
- }
157
- }
158
- ],
159
- "description": "Default crud buttons for Entity Management screen"
160
- },
188
+ "kind": "variable",
189
+ "name": "listStyles",
190
+ "default": "css`\n :host {\n contain: content;\n }\n\n :host,\n fast-router {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .container {\n display: flex;\n flex-direction: column;\n height: inherit;\n width: 100%;\n }\n`"
191
+ }
192
+ ],
193
+ "exports": [
194
+ {
195
+ "kind": "js",
196
+ "name": "listStyles",
197
+ "declaration": {
198
+ "name": "listStyles",
199
+ "module": "src/list/list.styles.ts"
200
+ }
201
+ }
202
+ ]
203
+ },
204
+ {
205
+ "kind": "javascript-module",
206
+ "path": "src/list/list.template.ts",
207
+ "declarations": [
161
208
  {
162
209
  "kind": "function",
163
- "name": "getPrefixedEntities",
210
+ "name": "getPrefixedList",
164
211
  "parameters": [
165
212
  {
166
213
  "name": "prefix"
167
214
  }
168
- ],
169
- "description": "Defines the html of the entity component as a ViewTemplate object"
215
+ ]
170
216
  }
171
217
  ],
172
218
  "exports": [
173
219
  {
174
220
  "kind": "js",
175
- "name": "crudButtonsTemplate",
176
- "declaration": {
177
- "name": "crudButtonsTemplate",
178
- "module": "src/entities/entities.template.ts"
179
- }
180
- },
181
- {
182
- "kind": "js",
183
- "name": "getPrefixedEntities",
221
+ "name": "getPrefixedList",
184
222
  "declaration": {
185
- "name": "getPrefixedEntities",
186
- "module": "src/entities/entities.template.ts"
223
+ "name": "getPrefixedList",
224
+ "module": "src/list/list.template.ts"
187
225
  }
188
226
  }
189
227
  ]
190
228
  },
191
229
  {
192
230
  "kind": "javascript-module",
193
- "path": "src/entities/entities.ts",
231
+ "path": "src/list/list.ts",
194
232
  "declarations": [
195
233
  {
196
234
  "kind": "class",
197
- "description": "Main class which defines the entity management functionality",
198
- "name": "EntityManagement",
235
+ "description": "",
236
+ "name": "List",
199
237
  "members": [
200
238
  {
201
239
  "kind": "field",
@@ -213,92 +251,74 @@
213
251
  "type": {
214
252
  "text": "string"
215
253
  },
216
- "description": "Name of the backend resource which contain the entities to manage",
217
- "privacy": "public"
254
+ "default": "''"
218
255
  },
219
256
  {
220
257
  "kind": "field",
221
- "name": "readEvent",
258
+ "name": "title",
222
259
  "type": {
223
260
  "text": "string"
224
261
  },
225
- "description": "Name of the request on the Genesis server which fetches data for the form, example usage could\ninclude fetching additional data that is not available in the grid but required for the selected entity",
226
- "privacy": "public"
262
+ "default": "''"
227
263
  },
228
264
  {
229
265
  "kind": "field",
230
- "name": "readEventFn",
266
+ "name": "persistColumnStateKey",
231
267
  "type": {
232
- "text": "(entity) => any"
233
- },
234
- "description": "Similar to readEvent but allows to provide function that will be executed before\nopening the form and yields data to the form",
235
- "parameters": [
236
- {
237
- "description": "selected entity from the grid",
238
- "name": "entity"
239
- }
240
- ],
241
- "return": {
242
- "type": {
243
- "text": ""
244
- }
245
- },
246
- "privacy": "public"
268
+ "text": "string"
269
+ }
247
270
  },
248
271
  {
249
272
  "kind": "field",
250
- "name": "updateEvent",
273
+ "name": "persistFilterModelKey",
251
274
  "type": {
252
275
  "text": "string"
253
- },
254
- "description": "Name of the event handler on the Genesis server which handles updating the entity",
255
- "privacy": "public"
276
+ }
256
277
  },
257
278
  {
258
279
  "kind": "field",
259
- "name": "deleteEvent",
280
+ "name": "sizeColumnsToFit",
260
281
  "type": {
261
- "text": "string"
262
- },
263
- "description": "Name of the event handler on the Genesis server which handles deleting the entity",
264
- "privacy": "public"
282
+ "text": "boolean"
283
+ }
265
284
  },
266
285
  {
267
286
  "kind": "field",
268
- "name": "createEvent",
287
+ "name": "rowSelection",
269
288
  "type": {
270
289
  "text": "string"
271
- },
272
- "description": "Name of the event handler on the Genesis server which handles creating an entity",
273
- "privacy": "public"
290
+ }
274
291
  },
275
292
  {
276
293
  "kind": "field",
277
- "name": "title",
294
+ "name": "enableFilterBar",
278
295
  "type": {
279
- "text": "string"
296
+ "text": "boolean"
297
+ }
298
+ },
299
+ {
300
+ "kind": "field",
301
+ "name": "asyncAdd",
302
+ "type": {
303
+ "text": "boolean"
280
304
  },
281
- "description": "Title of the grid",
282
- "privacy": "public"
305
+ "default": "false"
283
306
  },
284
307
  {
285
308
  "kind": "field",
286
- "name": "entityLabel",
309
+ "name": "asyncRemove",
287
310
  "type": {
288
- "text": "string"
311
+ "text": "boolean"
289
312
  },
290
- "description": "Label for the entity which is used in the title of the modal when editing the entity, on CRUD buttons and on toast notifications",
291
- "privacy": "public"
313
+ "default": "false"
292
314
  },
293
315
  {
294
316
  "kind": "field",
295
- "name": "rowSelection",
317
+ "name": "asyncUpdate",
296
318
  "type": {
297
- "text": "string"
319
+ "text": "boolean"
298
320
  },
299
- "default": "'single'",
300
- "description": "This attribute allows you to change row-selection to 'single' or 'multiple' which will allow you to select single or multiple rows.",
301
- "privacy": "public"
321
+ "default": "true"
302
322
  },
303
323
  {
304
324
  "kind": "field",
@@ -306,9 +326,7 @@
306
326
  "type": {
307
327
  "text": "boolean"
308
328
  },
309
- "default": "false",
310
- "description": "If false, will disable cell flashing for all cells by default, unless otherwise defined in custom colDef",
311
- "privacy": "public"
329
+ "default": "false"
312
330
  },
313
331
  {
314
332
  "kind": "field",
@@ -316,9 +334,23 @@
316
334
  "type": {
317
335
  "text": "boolean"
318
336
  },
319
- "default": "false",
320
- "description": "If true, will enable row flashing for all rows for `add` transactions",
321
- "privacy": "public"
337
+ "default": "false"
338
+ },
339
+ {
340
+ "kind": "field",
341
+ "name": "hideEdit",
342
+ "type": {
343
+ "text": "boolean"
344
+ },
345
+ "default": "false"
346
+ },
347
+ {
348
+ "kind": "field",
349
+ "name": "hideDelete",
350
+ "type": {
351
+ "text": "boolean"
352
+ },
353
+ "default": "false"
322
354
  },
323
355
  {
324
356
  "kind": "field",
@@ -326,26 +358,29 @@
326
358
  "type": {
327
359
  "text": "DatasourceType"
328
360
  },
329
- "default": "'client'",
330
- "description": "If set to 'server' it will enable Server-Side Row Model and use `grid-pro-server-side-datasource` for the grid of the `entity-list` sub-component.\nBy default `grid-pro-client-side-datasource` will be used.",
331
- "privacy": "public"
361
+ "default": "'client'"
332
362
  },
333
363
  {
334
364
  "kind": "field",
335
- "name": "persistColumnStateKey",
365
+ "name": "headerCaseType",
336
366
  "type": {
337
- "text": "string"
367
+ "text": "GridProCaseType"
368
+ }
369
+ },
370
+ {
371
+ "kind": "field",
372
+ "name": "grid",
373
+ "type": {
374
+ "text": "ZeroGridPro"
338
375
  },
339
- "description": "This attribute controls whether and how the entity manager stores the state of the columns when the user edits them. Omit this attribute to disable the functionality, set it to a unique value to enable it.",
340
376
  "privacy": "public"
341
377
  },
342
378
  {
343
379
  "kind": "field",
344
- "name": "persistFilterModelKey",
380
+ "name": "datasource",
345
381
  "type": {
346
- "text": "string"
382
+ "text": "GridProGenesisDatasource"
347
383
  },
348
- "description": "The key to use for persisting the filter model in local browser or KV storage.",
349
384
  "privacy": "public"
350
385
  },
351
386
  {
@@ -353,176 +388,131 @@
353
388
  "name": "gridOptions",
354
389
  "type": {
355
390
  "text": "GridOptions"
356
- },
357
- "description": "GridOptions to be passed down from application",
358
- "privacy": "public"
391
+ }
359
392
  },
360
393
  {
361
394
  "kind": "field",
362
395
  "name": "columns",
363
396
  "type": {
364
397
  "text": "ColDef[]"
365
- },
366
- "description": "Array which holds the column definitions.",
367
- "privacy": "public"
398
+ }
368
399
  },
369
400
  {
370
401
  "kind": "field",
371
402
  "name": "datasourceConfig",
372
403
  "type": {
373
404
  "text": "DatasourceConfiguration"
374
- },
375
- "description": "The configuration which is used when interacting with the resource on the backend",
376
- "privacy": "public"
405
+ }
377
406
  },
378
407
  {
379
408
  "kind": "field",
380
- "name": "createFormUiSchema",
409
+ "name": "actionButtonsConfig",
381
410
  "type": {
382
- "text": "UiSchema"
411
+ "text": "array"
383
412
  },
384
- "description": "Enables you to supply a schema to configure an insert form.",
385
- "privacy": "public"
413
+ "default": "[]"
386
414
  },
387
415
  {
388
416
  "kind": "field",
389
- "name": "updateFormUiSchema",
417
+ "name": "deleteEvent",
390
418
  "type": {
391
- "text": "UiSchema"
392
- },
393
- "description": "Enables you to supply a schema to configure an update form.",
394
- "privacy": "public"
419
+ "text": "string"
420
+ }
395
421
  },
396
422
  {
397
423
  "kind": "field",
398
- "name": "formRenderers",
424
+ "name": "updateEvent",
399
425
  "type": {
400
- "text": "RendererEntry[]"
401
- },
402
- "default": "renderers",
403
- "description": "Array with renderers used by foundation-forms",
404
- "privacy": "public"
426
+ "text": "string"
427
+ }
405
428
  },
406
429
  {
407
430
  "kind": "field",
408
- "name": "defaultEntityValues",
431
+ "name": "connect",
409
432
  "type": {
410
- "text": "Record<string, unknown>"
433
+ "text": "Connect"
411
434
  },
412
- "description": "The default values to populate the form with when the user is adding an entity",
413
- "privacy": "public"
414
- },
415
- {
416
- "kind": "method",
417
- "name": "editModalVisibleChanged",
418
- "privacy": "private"
435
+ "privacy": "protected"
419
436
  },
420
437
  {
421
438
  "kind": "field",
422
- "name": "sizeColumnsToFit",
439
+ "name": "isServerSideDatasource",
423
440
  "type": {
424
441
  "text": "boolean"
425
442
  },
426
- "description": "Resizes columns to take available space",
427
- "privacy": "public"
443
+ "readonly": true
444
+ },
445
+ {
446
+ "kind": "method",
447
+ "name": "onCellEditingStopped",
448
+ "privacy": "private",
449
+ "parameters": [
450
+ {
451
+ "name": "event",
452
+ "type": {
453
+ "text": "CellEditRequestEvent"
454
+ }
455
+ }
456
+ ]
428
457
  },
429
458
  {
430
459
  "kind": "field",
431
- "name": "enableFilterBar",
432
- "type": {
433
- "text": "boolean"
434
- },
435
- "description": "Enables filter bar component",
436
- "privacy": "public"
460
+ "name": "criteria",
461
+ "readonly": true
437
462
  },
438
463
  {
439
464
  "kind": "field",
440
- "name": "hideEdit",
441
- "type": {
442
- "text": "boolean"
443
- },
444
- "default": "false",
445
- "description": "Hides edit button",
446
- "privacy": "public"
465
+ "name": "fields",
466
+ "readonly": true
447
467
  },
448
468
  {
449
469
  "kind": "field",
450
- "name": "hideDelete",
451
- "type": {
452
- "text": "boolean"
453
- },
454
- "default": "false",
455
- "description": "Hides delete button",
456
- "privacy": "public"
470
+ "name": "isSnapshot",
471
+ "readonly": true
457
472
  },
458
473
  {
459
474
  "kind": "field",
460
- "name": "enableSearchBar",
461
- "type": {
462
- "text": "boolean"
463
- },
464
- "default": "false",
465
- "description": "This attribute controls whether to enable the search-bar.",
466
- "privacy": "public"
475
+ "name": "maxRows",
476
+ "readonly": true
467
477
  },
468
478
  {
469
479
  "kind": "field",
470
- "name": "headerCaseType",
471
- "type": {
472
- "text": "GridProCaseType"
473
- },
474
- "description": "The case type to use for the header names. If not set, the default CONSTANT_CASE will be used.",
475
- "privacy": "public"
480
+ "name": "maxView",
481
+ "readonly": true
476
482
  },
477
483
  {
478
484
  "kind": "field",
479
- "name": "searchBarConfig",
480
- "type": {
481
- "text": "AvailableOption[]"
482
- },
483
- "description": "Allows configuration of the search bar component, if not provided it would build configuration based on columns in the grid\n* @public"
485
+ "name": "movingView",
486
+ "readonly": true
484
487
  },
485
488
  {
486
489
  "kind": "field",
487
- "name": "modalPosition",
488
- "type": {
489
- "text": "'centre' | 'left' | 'right'"
490
- },
491
- "default": "'right'",
492
- "description": "Determines where the modal dialog will appear on screen",
493
- "privacy": "public"
490
+ "name": "orderBy",
491
+ "readonly": true
494
492
  },
495
493
  {
496
494
  "kind": "field",
497
- "name": "crudMenuPosition",
498
- "type": {
499
- "text": "CrudMenuPosition"
500
- },
501
- "description": "Determines where the buttons will appear",
502
- "privacy": "public"
495
+ "name": "pollingInterval",
496
+ "readonly": true
503
497
  },
504
498
  {
505
499
  "kind": "field",
506
- "name": "crudMenuStyle",
507
- "type": {
508
- "text": "ActionsMenuStyle"
509
- },
510
- "description": "Determines the style of the buttons",
511
- "privacy": "public"
500
+ "name": "request",
501
+ "readonly": true
512
502
  },
513
503
  {
514
504
  "kind": "field",
515
- "name": "crudActionMenuName",
516
- "type": {
517
- "text": "string"
518
- },
519
- "default": "'⋮'",
520
- "description": "The label of the crud action menu"
505
+ "name": "reverse",
506
+ "readonly": true
521
507
  },
522
508
  {
523
509
  "kind": "method",
524
- "name": "readEntity",
525
- "privacy": "private",
510
+ "name": "handleRowClicked",
511
+ "return": {
512
+ "type": {
513
+ "text": "void"
514
+ }
515
+ },
526
516
  "parameters": [
527
517
  {
528
518
  "name": "e",
@@ -534,132 +524,94 @@
534
524
  },
535
525
  {
536
526
  "kind": "method",
537
- "name": "searchBarReqServer",
538
- "privacy": "private",
527
+ "name": "handleRowDblClicked",
528
+ "return": {
529
+ "type": {
530
+ "text": "void"
531
+ }
532
+ },
539
533
  "parameters": [
540
534
  {
541
- "name": "options",
535
+ "name": "e",
542
536
  "type": {
543
- "text": "SelectedOption<string>[]"
537
+ "text": "CustomEvent"
544
538
  }
545
539
  }
546
540
  ]
547
541
  },
548
542
  {
549
543
  "kind": "method",
550
- "name": "searchBarDataserver",
551
- "privacy": "private",
544
+ "name": "handleRowContextMenu",
545
+ "return": {
546
+ "type": {
547
+ "text": "void"
548
+ }
549
+ },
552
550
  "parameters": [
553
551
  {
554
- "name": "options",
552
+ "name": "e",
555
553
  "type": {
556
- "text": "SelectedOption<string>[]"
554
+ "text": "CustomEvent"
557
555
  }
558
556
  }
559
557
  ]
560
558
  },
561
559
  {
562
560
  "kind": "method",
563
- "name": "requestChanged",
561
+ "name": "handleFilterChanged",
564
562
  "privacy": "private",
565
563
  "parameters": [
566
564
  {
567
- "name": "e",
568
- "type": {
569
- "text": "CustomEvent<string>"
570
- }
565
+ "name": "e"
571
566
  }
572
567
  ]
573
568
  },
574
569
  {
575
570
  "kind": "method",
576
- "name": "criteriaChanged",
571
+ "name": "handleFilterCleared",
577
572
  "privacy": "private",
578
573
  "parameters": [
579
574
  {
580
- "name": "e",
581
- "type": {
582
- "text": "CustomEvent<string>"
583
- }
575
+ "name": "e"
584
576
  }
585
577
  ]
586
578
  },
587
579
  {
588
580
  "kind": "method",
589
- "name": "submitFailureNotification",
581
+ "name": "select",
590
582
  "privacy": "private",
591
583
  "parameters": [
592
584
  {
593
- "name": "e",
594
- "type": {
595
- "text": "CustomEvent"
596
- }
585
+ "name": "e"
597
586
  }
598
587
  ]
599
588
  },
600
589
  {
601
590
  "kind": "method",
602
- "name": "submitErrorHandler",
591
+ "name": "selectionChanged",
603
592
  "privacy": "private",
604
593
  "parameters": [
605
594
  {
606
595
  "name": "e",
607
596
  "type": {
608
- "text": "CustomEvent"
597
+ "text": "CustomEvent<SelectionChangedEvent>"
609
598
  }
610
599
  }
611
600
  ]
612
601
  },
613
602
  {
614
- "kind": "method",
615
- "name": "showDeleteConfirmation",
603
+ "kind": "field",
604
+ "name": "edit",
616
605
  "privacy": "private"
617
- }
618
- ],
619
- "events": [
620
- {
621
- "description": "Fired when the request is changed",
622
- "name": "request-changed"
623
- },
624
- {
625
- "description": "Fired when the criteria is changed",
626
- "name": "criteria-changed"
627
- },
628
- {
629
- "description": "Fired when an entity is created",
630
- "name": "create-entity"
631
- },
632
- {
633
- "description": "Fired when an entity is edited",
634
- "name": "edit-entity"
635
- },
636
- {
637
- "description": "Fired when an entity is deleted Bubbled events from the child entity-list component",
638
- "name": "delete-entity"
639
- },
640
- {
641
- "description": "Fired when there is an error in a create, edit or delete operation",
642
- "name": "submit-failure"
643
- },
644
- {
645
- "description": "Fired when a create, edit or delete operation is completed successfully",
646
- "name": "submit-success"
647
- },
648
- {
649
- "description": "Fired when a row is clicked",
650
- "name": "rowClick"
651
- },
652
- {
653
- "description": "Fired when a row is double clicked",
654
- "name": "rowDblClick"
655
- },
656
- {
657
- "description": "Fired when a row is right clicked",
658
- "name": "contextMenu"
659
606
  },
660
607
  {
661
- "description": "Fired when a row is selected",
662
- "name": "rowSelected"
608
+ "kind": "method",
609
+ "name": "delete",
610
+ "parameters": [
611
+ {
612
+ "name": "e"
613
+ }
614
+ ]
663
615
  }
664
616
  ],
665
617
  "attributes": [
@@ -677,124 +629,91 @@
677
629
  "type": {
678
630
  "text": "string"
679
631
  },
680
- "description": "Name of the backend resource which contain the entities to manage",
632
+ "default": "''",
681
633
  "fieldName": "resourceName"
682
634
  },
683
635
  {
684
- "name": "readEvent",
636
+ "name": "title",
685
637
  "type": {
686
638
  "text": "string"
687
639
  },
688
- "description": "Name of the request on the Genesis server which fetches data for the form, example usage could\ninclude fetching additional data that is not available in the grid but required for the selected entity",
689
- "fieldName": "readEvent"
640
+ "default": "''",
641
+ "fieldName": "title"
690
642
  },
691
643
  {
692
- "name": "updateEvent",
644
+ "name": "persist-column-state-key",
693
645
  "type": {
694
646
  "text": "string"
695
647
  },
696
- "description": "Name of the event handler on the Genesis server which handles updating the entity",
697
- "fieldName": "updateEvent"
698
- },
699
- {
700
- "name": "deleteEvent",
701
- "type": {
702
- "text": "string"
703
- },
704
- "description": "Name of the event handler on the Genesis server which handles deleting the entity",
705
- "fieldName": "deleteEvent"
706
- },
707
- {
708
- "name": "createEvent",
709
- "type": {
710
- "text": "string"
711
- },
712
- "description": "Name of the event handler on the Genesis server which handles creating an entity",
713
- "fieldName": "createEvent"
648
+ "fieldName": "persistColumnStateKey"
714
649
  },
715
650
  {
716
- "name": "title",
651
+ "name": "persist-filter-model-key",
717
652
  "type": {
718
653
  "text": "string"
719
654
  },
720
- "description": "Title of the grid",
721
- "fieldName": "title"
655
+ "fieldName": "persistFilterModelKey"
722
656
  },
723
657
  {
724
- "name": "entityLabel",
658
+ "name": "size-columns-to-fit",
725
659
  "type": {
726
- "text": "string"
660
+ "text": "boolean"
727
661
  },
728
- "description": "Label for the entity which is used in the title of the modal when editing the entity, on CRUD buttons and on toast notifications",
729
- "fieldName": "entityLabel"
662
+ "fieldName": "sizeColumnsToFit"
730
663
  },
731
664
  {
732
665
  "name": "row-selection",
733
666
  "type": {
734
667
  "text": "string"
735
668
  },
736
- "default": "'single'",
737
- "description": "This attribute allows you to change row-selection to 'single' or 'multiple' which will allow you to select single or multiple rows.",
738
669
  "fieldName": "rowSelection"
739
670
  },
740
671
  {
741
- "name": "enable-cell-flashing",
672
+ "name": "enable-filter-bar",
742
673
  "type": {
743
674
  "text": "boolean"
744
675
  },
745
- "default": "false",
746
- "description": "If false, will disable cell flashing for all cells by default, unless otherwise defined in custom colDef",
747
- "fieldName": "enableCellFlashing"
676
+ "fieldName": "enableFilterBar"
748
677
  },
749
678
  {
750
- "name": "enable-row-flashing",
679
+ "name": "async-add",
751
680
  "type": {
752
681
  "text": "boolean"
753
682
  },
754
683
  "default": "false",
755
- "description": "If true, will enable row flashing for all rows for `add` transactions",
756
- "fieldName": "enableRowFlashing"
757
- },
758
- {
759
- "name": "datasource-type",
760
- "type": {
761
- "text": "DatasourceType"
762
- },
763
- "default": "'client'",
764
- "description": "If set to 'server' it will enable Server-Side Row Model and use `grid-pro-server-side-datasource` for the grid of the `entity-list` sub-component.\nBy default `grid-pro-client-side-datasource` will be used.",
765
- "fieldName": "datasourceType"
684
+ "fieldName": "asyncAdd"
766
685
  },
767
686
  {
768
- "name": "persist-column-state-key",
687
+ "name": "async-remove",
769
688
  "type": {
770
- "text": "string"
689
+ "text": "boolean"
771
690
  },
772
- "description": "This attribute controls whether and how the entity manager stores the state of the columns when the user edits them. Omit this attribute to disable the functionality, set it to a unique value to enable it.",
773
- "fieldName": "persistColumnStateKey"
691
+ "default": "false",
692
+ "fieldName": "asyncRemove"
774
693
  },
775
694
  {
776
- "name": "persist-filter-model-key",
695
+ "name": "async-update",
777
696
  "type": {
778
- "text": "string"
697
+ "text": "boolean"
779
698
  },
780
- "description": "The key to use for persisting the filter model in local browser or KV storage.",
781
- "fieldName": "persistFilterModelKey"
699
+ "default": "true",
700
+ "fieldName": "asyncUpdate"
782
701
  },
783
702
  {
784
- "name": "size-columns-to-fit",
703
+ "name": "enable-cell-flashing",
785
704
  "type": {
786
705
  "text": "boolean"
787
706
  },
788
- "description": "Resizes columns to take available space",
789
- "fieldName": "sizeColumnsToFit"
707
+ "default": "false",
708
+ "fieldName": "enableCellFlashing"
790
709
  },
791
710
  {
792
- "name": "enable-filter-bar",
711
+ "name": "enable-row-flashing",
793
712
  "type": {
794
713
  "text": "boolean"
795
714
  },
796
- "description": "Enables filter bar component",
797
- "fieldName": "enableFilterBar"
715
+ "default": "false",
716
+ "fieldName": "enableRowFlashing"
798
717
  },
799
718
  {
800
719
  "name": "hide-edit",
@@ -802,7 +721,6 @@
802
721
  "text": "boolean"
803
722
  },
804
723
  "default": "false",
805
- "description": "Hides edit button",
806
724
  "fieldName": "hideEdit"
807
725
  },
808
726
  {
@@ -811,59 +729,22 @@
811
729
  "text": "boolean"
812
730
  },
813
731
  "default": "false",
814
- "description": "Hides delete button",
815
732
  "fieldName": "hideDelete"
816
733
  },
817
734
  {
818
- "name": "enable-search-bar",
735
+ "name": "datasource-type",
819
736
  "type": {
820
- "text": "boolean"
737
+ "text": "DatasourceType"
821
738
  },
822
- "default": "false",
823
- "description": "This attribute controls whether to enable the search-bar.",
824
- "fieldName": "enableSearchBar"
739
+ "default": "'client'",
740
+ "fieldName": "datasourceType"
825
741
  },
826
742
  {
827
743
  "name": "header-case-type",
828
744
  "type": {
829
745
  "text": "GridProCaseType"
830
746
  },
831
- "description": "The case type to use for the header names. If not set, the default CONSTANT_CASE will be used.",
832
747
  "fieldName": "headerCaseType"
833
- },
834
- {
835
- "name": "modal-position",
836
- "type": {
837
- "text": "'centre' | 'left' | 'right'"
838
- },
839
- "default": "'right'",
840
- "description": "Determines where the modal dialog will appear on screen",
841
- "fieldName": "modalPosition"
842
- },
843
- {
844
- "name": "crud-menu-position",
845
- "type": {
846
- "text": "CrudMenuPosition"
847
- },
848
- "description": "Determines where the buttons will appear",
849
- "fieldName": "crudMenuPosition"
850
- },
851
- {
852
- "name": "crud-menu-style",
853
- "type": {
854
- "text": "ActionsMenuStyle"
855
- },
856
- "description": "Determines the style of the buttons",
857
- "fieldName": "crudMenuStyle"
858
- },
859
- {
860
- "name": "crud-action-menu-name",
861
- "type": {
862
- "text": "string"
863
- },
864
- "default": "'⋮'",
865
- "description": "The label of the crud action menu",
866
- "fieldName": "crudActionMenuName"
867
748
  }
868
749
  ],
869
750
  "mixins": [
@@ -876,178 +757,109 @@
876
757
  "name": "FASTElement",
877
758
  "package": "@microsoft/fast-element"
878
759
  },
879
- "tagName": "entity-management",
760
+ "tagName": "entity-list",
880
761
  "customElement": true
881
762
  }
882
763
  ],
883
764
  "exports": [
884
765
  {
885
766
  "kind": "js",
886
- "name": "EntityManagement",
767
+ "name": "List",
887
768
  "declaration": {
888
- "name": "EntityManagement",
889
- "module": "src/entities/entities.ts"
769
+ "name": "List",
770
+ "module": "src/list/list.ts"
890
771
  }
891
772
  },
892
773
  {
893
774
  "kind": "custom-element-definition",
894
- "name": "entity-management",
895
- "declaration": {
896
- "name": "EntityManagement",
897
- "module": "src/entities/entities.ts"
898
- }
899
- }
900
- ]
901
- },
902
- {
903
- "kind": "javascript-module",
904
- "path": "src/entities/index.ts",
905
- "declarations": [],
906
- "exports": [
907
- {
908
- "kind": "js",
909
- "name": "*",
910
- "declaration": {
911
- "name": "*",
912
- "package": "./entities"
913
- }
914
- },
915
- {
916
- "kind": "js",
917
- "name": "*",
918
- "declaration": {
919
- "name": "*",
920
- "package": "./entities.template"
921
- }
922
- },
923
- {
924
- "kind": "js",
925
- "name": "*",
775
+ "name": "entity-list",
926
776
  "declaration": {
927
- "name": "*",
928
- "package": "./entities.styles"
777
+ "name": "List",
778
+ "module": "src/list/list.ts"
929
779
  }
930
780
  }
931
781
  ]
932
782
  },
933
783
  {
934
784
  "kind": "javascript-module",
935
- "path": "src/layouts/default.ts",
785
+ "path": "src/entities/entities.styles.ts",
936
786
  "declarations": [
937
787
  {
938
788
  "kind": "variable",
939
- "name": "loginLayout",
940
- "default": "new FASTElementLayout(\n html`\n <div class=\"container\">\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n `,\n baseLayoutCss,\n)"
941
- },
942
- {
943
- "kind": "variable",
944
- "name": "defaultLayout",
945
- "default": "new FASTElementLayout(\n html`\n <div class=\"container\">\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n `,\n css`\n ${baseLayoutCss}\n `,\n)"
789
+ "name": "styles",
790
+ "default": "css`\n :host {\n contain: content;\n }\n\n :host::part(header) {\n display: flex;\n justify-content: space-between;\n align-items: center;\n user-select: none;\n padding: 0 calc(var(--design-unit) * 2px);\n }\n\n :host([modal-position='centre']) .edit-modal {\n overflow-y: auto;\n }\n\n .container {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n foundation-form {\n min-height: 400px;\n height: 100%;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n }\n\n .title {\n margin-left: 1px;\n }\n\n .header-title {\n color: var(--neutral-foreground-rest);\n font-size: var(--type-ramp-plus-4-font-size);\n font-family: var(--body-font);\n font-weight: 700;\n }\n\n .search-container {\n display: flex;\n align-items: center;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .search-container zero-search-bar,\n .search-container rapid-search-bar {\n width: 500px;\n }\n\n .crud-buttons {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .crud-buttons-wrapper {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n justify-content: flex-end;\n }\n\n .crud-buttons-wrapper-column,\n .crud-buttons-wrapper-top {\n flex: 1;\n padding: calc(var(--design-unit) * 2px) 0;\n }\n\n .crud-buttons-wrapper-bottom {\n padding: calc(var(--design-unit) * 2px);\n }\n`",
791
+ "description": "Defines the css of the entity component as an ElementStyles object"
946
792
  }
947
793
  ],
948
794
  "exports": [
949
795
  {
950
796
  "kind": "js",
951
- "name": "loginLayout",
952
- "declaration": {
953
- "name": "loginLayout",
954
- "module": "src/layouts/default.ts"
955
- }
956
- },
957
- {
958
- "kind": "js",
959
- "name": "defaultLayout",
960
- "declaration": {
961
- "name": "defaultLayout",
962
- "module": "src/layouts/default.ts"
963
- }
964
- }
965
- ]
966
- },
967
- {
968
- "kind": "javascript-module",
969
- "path": "src/layouts/index.ts",
970
- "declarations": [],
971
- "exports": [
972
- {
973
- "kind": "js",
974
- "name": "*",
975
- "declaration": {
976
- "name": "*",
977
- "package": "./default"
978
- }
979
- }
980
- ]
981
- },
982
- {
983
- "kind": "javascript-module",
984
- "path": "src/list/index.ts",
985
- "declarations": [],
986
- "exports": [
987
- {
988
- "kind": "js",
989
- "name": "*",
797
+ "name": "styles",
990
798
  "declaration": {
991
- "name": "*",
992
- "package": "./list"
799
+ "name": "styles",
800
+ "module": "src/entities/entities.styles.ts"
993
801
  }
994
802
  }
995
803
  ]
996
804
  },
997
805
  {
998
806
  "kind": "javascript-module",
999
- "path": "src/list/list.styles.ts",
807
+ "path": "src/entities/entities.template.ts",
1000
808
  "declarations": [
1001
809
  {
1002
- "kind": "variable",
1003
- "name": "listStyles",
1004
- "default": "css`\n :host {\n contain: content;\n }\n\n :host,\n fast-router {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .container {\n display: flex;\n flex-direction: column;\n height: inherit;\n width: 100%;\n }\n`"
1005
- }
1006
- ],
1007
- "exports": [
1008
- {
1009
- "kind": "js",
1010
- "name": "listStyles",
1011
- "declaration": {
1012
- "name": "listStyles",
1013
- "module": "src/list/list.styles.ts"
1014
- }
1015
- }
1016
- ]
1017
- },
1018
- {
1019
- "kind": "javascript-module",
1020
- "path": "src/list/list.template.ts",
1021
- "declarations": [
810
+ "kind": "function",
811
+ "name": "crudButtonsTemplate",
812
+ "parameters": [
813
+ {
814
+ "name": "prefix"
815
+ },
816
+ {
817
+ "name": "position",
818
+ "type": {
819
+ "text": "CrudMenuPosition"
820
+ }
821
+ }
822
+ ],
823
+ "description": "Default crud buttons for Entity Management screen"
824
+ },
1022
825
  {
1023
826
  "kind": "function",
1024
- "name": "getPrefixedList",
827
+ "name": "getPrefixedEntities",
1025
828
  "parameters": [
1026
829
  {
1027
830
  "name": "prefix"
1028
831
  }
1029
- ]
832
+ ],
833
+ "description": "Defines the html of the entity component as a ViewTemplate object"
1030
834
  }
1031
835
  ],
1032
836
  "exports": [
1033
837
  {
1034
838
  "kind": "js",
1035
- "name": "getPrefixedList",
839
+ "name": "crudButtonsTemplate",
1036
840
  "declaration": {
1037
- "name": "getPrefixedList",
1038
- "module": "src/list/list.template.ts"
841
+ "name": "crudButtonsTemplate",
842
+ "module": "src/entities/entities.template.ts"
843
+ }
844
+ },
845
+ {
846
+ "kind": "js",
847
+ "name": "getPrefixedEntities",
848
+ "declaration": {
849
+ "name": "getPrefixedEntities",
850
+ "module": "src/entities/entities.template.ts"
1039
851
  }
1040
852
  }
1041
853
  ]
1042
854
  },
1043
855
  {
1044
856
  "kind": "javascript-module",
1045
- "path": "src/list/list.ts",
857
+ "path": "src/entities/entities.ts",
1046
858
  "declarations": [
1047
859
  {
1048
860
  "kind": "class",
1049
- "description": "",
1050
- "name": "List",
861
+ "description": "Main class which defines the entity management functionality",
862
+ "name": "EntityManagement",
1051
863
  "members": [
1052
864
  {
1053
865
  "kind": "field",
@@ -1065,106 +877,112 @@
1065
877
  "type": {
1066
878
  "text": "string"
1067
879
  },
1068
- "default": "''"
880
+ "description": "Name of the backend resource which contain the entities to manage",
881
+ "privacy": "public"
1069
882
  },
1070
883
  {
1071
884
  "kind": "field",
1072
- "name": "title",
885
+ "name": "readEvent",
1073
886
  "type": {
1074
887
  "text": "string"
1075
888
  },
1076
- "default": "''"
1077
- },
1078
- {
1079
- "kind": "field",
1080
- "name": "persistColumnStateKey",
1081
- "type": {
1082
- "text": "string"
1083
- }
1084
- },
1085
- {
1086
- "kind": "field",
1087
- "name": "persistFilterModelKey",
1088
- "type": {
1089
- "text": "string"
1090
- }
889
+ "description": "Name of the request on the Genesis server which fetches data for the form, example usage could\ninclude fetching additional data that is not available in the grid but required for the selected entity",
890
+ "privacy": "public"
1091
891
  },
1092
892
  {
1093
893
  "kind": "field",
1094
- "name": "sizeColumnsToFit",
894
+ "name": "readEventFn",
1095
895
  "type": {
1096
- "text": "boolean"
1097
- }
896
+ "text": "(entity) => any"
897
+ },
898
+ "description": "Similar to readEvent but allows to provide function that will be executed before\nopening the form and yields data to the form",
899
+ "parameters": [
900
+ {
901
+ "description": "selected entity from the grid",
902
+ "name": "entity"
903
+ }
904
+ ],
905
+ "return": {
906
+ "type": {
907
+ "text": ""
908
+ }
909
+ },
910
+ "privacy": "public"
1098
911
  },
1099
912
  {
1100
913
  "kind": "field",
1101
- "name": "rowSelection",
914
+ "name": "updateEvent",
1102
915
  "type": {
1103
916
  "text": "string"
1104
- }
1105
- },
1106
- {
1107
- "kind": "field",
1108
- "name": "enableFilterBar",
1109
- "type": {
1110
- "text": "boolean"
1111
- }
917
+ },
918
+ "description": "Name of the event handler on the Genesis server which handles updating the entity",
919
+ "privacy": "public"
1112
920
  },
1113
921
  {
1114
922
  "kind": "field",
1115
- "name": "asyncAdd",
923
+ "name": "deleteEvent",
1116
924
  "type": {
1117
- "text": "boolean"
925
+ "text": "string"
1118
926
  },
1119
- "default": "false"
927
+ "description": "Name of the event handler on the Genesis server which handles deleting the entity",
928
+ "privacy": "public"
1120
929
  },
1121
930
  {
1122
931
  "kind": "field",
1123
- "name": "asyncRemove",
932
+ "name": "createEvent",
1124
933
  "type": {
1125
- "text": "boolean"
934
+ "text": "string"
1126
935
  },
1127
- "default": "false"
936
+ "description": "Name of the event handler on the Genesis server which handles creating an entity",
937
+ "privacy": "public"
1128
938
  },
1129
939
  {
1130
940
  "kind": "field",
1131
- "name": "asyncUpdate",
941
+ "name": "title",
1132
942
  "type": {
1133
- "text": "boolean"
943
+ "text": "string"
1134
944
  },
1135
- "default": "true"
945
+ "description": "Title of the grid",
946
+ "privacy": "public"
1136
947
  },
1137
948
  {
1138
949
  "kind": "field",
1139
- "name": "enableCellFlashing",
950
+ "name": "entityLabel",
1140
951
  "type": {
1141
- "text": "boolean"
952
+ "text": "string"
1142
953
  },
1143
- "default": "false"
954
+ "description": "Label for the entity which is used in the title of the modal when editing the entity, on CRUD buttons and on toast notifications",
955
+ "privacy": "public"
1144
956
  },
1145
957
  {
1146
958
  "kind": "field",
1147
- "name": "enableRowFlashing",
959
+ "name": "rowSelection",
1148
960
  "type": {
1149
- "text": "boolean"
961
+ "text": "string"
1150
962
  },
1151
- "default": "false"
963
+ "default": "'single'",
964
+ "description": "This attribute allows you to change row-selection to 'single' or 'multiple' which will allow you to select single or multiple rows.",
965
+ "privacy": "public"
1152
966
  },
1153
967
  {
1154
968
  "kind": "field",
1155
- "name": "hideEdit",
969
+ "name": "enableCellFlashing",
1156
970
  "type": {
1157
971
  "text": "boolean"
1158
972
  },
1159
- "default": "false"
973
+ "default": "false",
974
+ "description": "If false, will disable cell flashing for all cells by default, unless otherwise defined in custom colDef",
975
+ "privacy": "public"
1160
976
  },
1161
977
  {
1162
978
  "kind": "field",
1163
- "name": "hideDelete",
979
+ "name": "enableRowFlashing",
1164
980
  "type": {
1165
981
  "text": "boolean"
1166
982
  },
1167
- "default": "false"
983
+ "default": "false",
984
+ "description": "If true, will enable row flashing for all rows for `add` transactions",
985
+ "privacy": "public"
1168
986
  },
1169
987
  {
1170
988
  "kind": "field",
@@ -1172,29 +990,26 @@
1172
990
  "type": {
1173
991
  "text": "DatasourceType"
1174
992
  },
1175
- "default": "'client'"
1176
- },
1177
- {
1178
- "kind": "field",
1179
- "name": "headerCaseType",
1180
- "type": {
1181
- "text": "GridProCaseType"
1182
- }
993
+ "default": "'client'",
994
+ "description": "If set to 'server' it will enable Server-Side Row Model and use `grid-pro-server-side-datasource` for the grid of the `entity-list` sub-component.\nBy default `grid-pro-client-side-datasource` will be used.",
995
+ "privacy": "public"
1183
996
  },
1184
997
  {
1185
998
  "kind": "field",
1186
- "name": "grid",
999
+ "name": "persistColumnStateKey",
1187
1000
  "type": {
1188
- "text": "ZeroGridPro"
1001
+ "text": "string"
1189
1002
  },
1003
+ "description": "This attribute controls whether and how the entity manager stores the state of the columns when the user edits them. Omit this attribute to disable the functionality, set it to a unique value to enable it.",
1190
1004
  "privacy": "public"
1191
1005
  },
1192
1006
  {
1193
1007
  "kind": "field",
1194
- "name": "datasource",
1008
+ "name": "persistFilterModelKey",
1195
1009
  "type": {
1196
- "text": "GridProGenesisDatasource"
1010
+ "text": "string"
1197
1011
  },
1012
+ "description": "The key to use for persisting the filter model in local browser or KV storage.",
1198
1013
  "privacy": "public"
1199
1014
  },
1200
1015
  {
@@ -1202,131 +1017,176 @@
1202
1017
  "name": "gridOptions",
1203
1018
  "type": {
1204
1019
  "text": "GridOptions"
1205
- }
1020
+ },
1021
+ "description": "GridOptions to be passed down from application",
1022
+ "privacy": "public"
1206
1023
  },
1207
1024
  {
1208
1025
  "kind": "field",
1209
1026
  "name": "columns",
1210
1027
  "type": {
1211
1028
  "text": "ColDef[]"
1212
- }
1029
+ },
1030
+ "description": "Array which holds the column definitions.",
1031
+ "privacy": "public"
1213
1032
  },
1214
1033
  {
1215
1034
  "kind": "field",
1216
1035
  "name": "datasourceConfig",
1217
1036
  "type": {
1218
1037
  "text": "DatasourceConfiguration"
1219
- }
1038
+ },
1039
+ "description": "The configuration which is used when interacting with the resource on the backend",
1040
+ "privacy": "public"
1220
1041
  },
1221
1042
  {
1222
1043
  "kind": "field",
1223
- "name": "actionButtonsConfig",
1044
+ "name": "createFormUiSchema",
1224
1045
  "type": {
1225
- "text": "array"
1046
+ "text": "UiSchema"
1226
1047
  },
1227
- "default": "[]"
1048
+ "description": "Enables you to supply a schema to configure an insert form.",
1049
+ "privacy": "public"
1228
1050
  },
1229
1051
  {
1230
1052
  "kind": "field",
1231
- "name": "deleteEvent",
1053
+ "name": "updateFormUiSchema",
1232
1054
  "type": {
1233
- "text": "string"
1234
- }
1055
+ "text": "UiSchema"
1056
+ },
1057
+ "description": "Enables you to supply a schema to configure an update form.",
1058
+ "privacy": "public"
1235
1059
  },
1236
1060
  {
1237
1061
  "kind": "field",
1238
- "name": "updateEvent",
1062
+ "name": "formRenderers",
1239
1063
  "type": {
1240
- "text": "string"
1241
- }
1064
+ "text": "RendererEntry[]"
1065
+ },
1066
+ "default": "renderers",
1067
+ "description": "Array with renderers used by foundation-forms",
1068
+ "privacy": "public"
1242
1069
  },
1243
1070
  {
1244
1071
  "kind": "field",
1245
- "name": "connect",
1072
+ "name": "defaultEntityValues",
1246
1073
  "type": {
1247
- "text": "Connect"
1074
+ "text": "Record<string, unknown>"
1248
1075
  },
1249
- "privacy": "protected"
1076
+ "description": "The default values to populate the form with when the user is adding an entity",
1077
+ "privacy": "public"
1078
+ },
1079
+ {
1080
+ "kind": "method",
1081
+ "name": "editModalVisibleChanged",
1082
+ "privacy": "private"
1250
1083
  },
1251
1084
  {
1252
1085
  "kind": "field",
1253
- "name": "isServerSideDatasource",
1086
+ "name": "sizeColumnsToFit",
1254
1087
  "type": {
1255
1088
  "text": "boolean"
1256
1089
  },
1257
- "readonly": true
1258
- },
1259
- {
1260
- "kind": "method",
1261
- "name": "onCellEditingStopped",
1262
- "privacy": "private",
1263
- "parameters": [
1264
- {
1265
- "name": "event",
1266
- "type": {
1267
- "text": "CellEditRequestEvent"
1268
- }
1269
- }
1270
- ]
1090
+ "description": "Resizes columns to take available space",
1091
+ "privacy": "public"
1271
1092
  },
1272
1093
  {
1273
1094
  "kind": "field",
1274
- "name": "criteria",
1275
- "readonly": true
1095
+ "name": "enableFilterBar",
1096
+ "type": {
1097
+ "text": "boolean"
1098
+ },
1099
+ "description": "Enables filter bar component",
1100
+ "privacy": "public"
1276
1101
  },
1277
1102
  {
1278
1103
  "kind": "field",
1279
- "name": "fields",
1280
- "readonly": true
1104
+ "name": "hideEdit",
1105
+ "type": {
1106
+ "text": "boolean"
1107
+ },
1108
+ "default": "false",
1109
+ "description": "Hides edit button",
1110
+ "privacy": "public"
1281
1111
  },
1282
1112
  {
1283
1113
  "kind": "field",
1284
- "name": "isSnapshot",
1285
- "readonly": true
1114
+ "name": "hideDelete",
1115
+ "type": {
1116
+ "text": "boolean"
1117
+ },
1118
+ "default": "false",
1119
+ "description": "Hides delete button",
1120
+ "privacy": "public"
1286
1121
  },
1287
1122
  {
1288
1123
  "kind": "field",
1289
- "name": "maxRows",
1290
- "readonly": true
1124
+ "name": "enableSearchBar",
1125
+ "type": {
1126
+ "text": "boolean"
1127
+ },
1128
+ "default": "false",
1129
+ "description": "This attribute controls whether to enable the search-bar.",
1130
+ "privacy": "public"
1291
1131
  },
1292
1132
  {
1293
1133
  "kind": "field",
1294
- "name": "maxView",
1295
- "readonly": true
1134
+ "name": "headerCaseType",
1135
+ "type": {
1136
+ "text": "GridProCaseType"
1137
+ },
1138
+ "description": "The case type to use for the header names. If not set, the default CONSTANT_CASE will be used.",
1139
+ "privacy": "public"
1296
1140
  },
1297
1141
  {
1298
1142
  "kind": "field",
1299
- "name": "movingView",
1300
- "readonly": true
1143
+ "name": "searchBarConfig",
1144
+ "type": {
1145
+ "text": "AvailableOption[]"
1146
+ },
1147
+ "description": "Allows configuration of the search bar component, if not provided it would build configuration based on columns in the grid\n* @public"
1301
1148
  },
1302
1149
  {
1303
1150
  "kind": "field",
1304
- "name": "orderBy",
1305
- "readonly": true
1151
+ "name": "modalPosition",
1152
+ "type": {
1153
+ "text": "'centre' | 'left' | 'right'"
1154
+ },
1155
+ "default": "'right'",
1156
+ "description": "Determines where the modal dialog will appear on screen",
1157
+ "privacy": "public"
1306
1158
  },
1307
1159
  {
1308
1160
  "kind": "field",
1309
- "name": "pollingInterval",
1310
- "readonly": true
1161
+ "name": "crudMenuPosition",
1162
+ "type": {
1163
+ "text": "CrudMenuPosition"
1164
+ },
1165
+ "description": "Determines where the buttons will appear",
1166
+ "privacy": "public"
1311
1167
  },
1312
1168
  {
1313
1169
  "kind": "field",
1314
- "name": "request",
1315
- "readonly": true
1170
+ "name": "crudMenuStyle",
1171
+ "type": {
1172
+ "text": "ActionsMenuStyle"
1173
+ },
1174
+ "description": "Determines the style of the buttons",
1175
+ "privacy": "public"
1316
1176
  },
1317
1177
  {
1318
1178
  "kind": "field",
1319
- "name": "reverse",
1320
- "readonly": true
1179
+ "name": "crudActionMenuName",
1180
+ "type": {
1181
+ "text": "string"
1182
+ },
1183
+ "default": "'⋮'",
1184
+ "description": "The label of the crud action menu"
1321
1185
  },
1322
1186
  {
1323
1187
  "kind": "method",
1324
- "name": "handleRowClicked",
1325
- "return": {
1326
- "type": {
1327
- "text": "void"
1328
- }
1329
- },
1188
+ "name": "readEntity",
1189
+ "privacy": "private",
1330
1190
  "parameters": [
1331
1191
  {
1332
1192
  "name": "e",
@@ -1338,94 +1198,132 @@
1338
1198
  },
1339
1199
  {
1340
1200
  "kind": "method",
1341
- "name": "handleRowDblClicked",
1342
- "return": {
1343
- "type": {
1344
- "text": "void"
1345
- }
1346
- },
1201
+ "name": "searchBarReqServer",
1202
+ "privacy": "private",
1347
1203
  "parameters": [
1348
1204
  {
1349
- "name": "e",
1205
+ "name": "options",
1350
1206
  "type": {
1351
- "text": "CustomEvent"
1207
+ "text": "SelectedOption<string>[]"
1352
1208
  }
1353
1209
  }
1354
1210
  ]
1355
1211
  },
1356
1212
  {
1357
1213
  "kind": "method",
1358
- "name": "handleRowContextMenu",
1359
- "return": {
1360
- "type": {
1361
- "text": "void"
1362
- }
1363
- },
1214
+ "name": "searchBarDataserver",
1215
+ "privacy": "private",
1364
1216
  "parameters": [
1365
1217
  {
1366
- "name": "e",
1218
+ "name": "options",
1367
1219
  "type": {
1368
- "text": "CustomEvent"
1220
+ "text": "SelectedOption<string>[]"
1369
1221
  }
1370
1222
  }
1371
1223
  ]
1372
1224
  },
1373
1225
  {
1374
1226
  "kind": "method",
1375
- "name": "handleFilterChanged",
1227
+ "name": "requestChanged",
1376
1228
  "privacy": "private",
1377
1229
  "parameters": [
1378
1230
  {
1379
- "name": "e"
1231
+ "name": "e",
1232
+ "type": {
1233
+ "text": "CustomEvent<string>"
1234
+ }
1380
1235
  }
1381
1236
  ]
1382
1237
  },
1383
1238
  {
1384
1239
  "kind": "method",
1385
- "name": "handleFilterCleared",
1240
+ "name": "criteriaChanged",
1386
1241
  "privacy": "private",
1387
1242
  "parameters": [
1388
1243
  {
1389
- "name": "e"
1244
+ "name": "e",
1245
+ "type": {
1246
+ "text": "CustomEvent<string>"
1247
+ }
1390
1248
  }
1391
1249
  ]
1392
1250
  },
1393
1251
  {
1394
1252
  "kind": "method",
1395
- "name": "select",
1253
+ "name": "submitFailureNotification",
1396
1254
  "privacy": "private",
1397
1255
  "parameters": [
1398
1256
  {
1399
- "name": "e"
1257
+ "name": "e",
1258
+ "type": {
1259
+ "text": "CustomEvent"
1260
+ }
1400
1261
  }
1401
1262
  ]
1402
1263
  },
1403
1264
  {
1404
1265
  "kind": "method",
1405
- "name": "selectionChanged",
1266
+ "name": "submitErrorHandler",
1406
1267
  "privacy": "private",
1407
1268
  "parameters": [
1408
1269
  {
1409
1270
  "name": "e",
1410
1271
  "type": {
1411
- "text": "CustomEvent<SelectionChangedEvent>"
1272
+ "text": "CustomEvent"
1412
1273
  }
1413
1274
  }
1414
1275
  ]
1415
1276
  },
1416
1277
  {
1417
- "kind": "field",
1418
- "name": "edit",
1278
+ "kind": "method",
1279
+ "name": "showDeleteConfirmation",
1419
1280
  "privacy": "private"
1281
+ }
1282
+ ],
1283
+ "events": [
1284
+ {
1285
+ "description": "Fired when the request is changed",
1286
+ "name": "request-changed"
1420
1287
  },
1421
1288
  {
1422
- "kind": "method",
1423
- "name": "delete",
1424
- "parameters": [
1425
- {
1426
- "name": "e"
1427
- }
1428
- ]
1289
+ "description": "Fired when the criteria is changed",
1290
+ "name": "criteria-changed"
1291
+ },
1292
+ {
1293
+ "description": "Fired when an entity is created",
1294
+ "name": "create-entity"
1295
+ },
1296
+ {
1297
+ "description": "Fired when an entity is edited",
1298
+ "name": "edit-entity"
1299
+ },
1300
+ {
1301
+ "description": "Fired when an entity is deleted Bubbled events from the child entity-list component",
1302
+ "name": "delete-entity"
1303
+ },
1304
+ {
1305
+ "description": "Fired when there is an error in a create, edit or delete operation",
1306
+ "name": "submit-failure"
1307
+ },
1308
+ {
1309
+ "description": "Fired when a create, edit or delete operation is completed successfully",
1310
+ "name": "submit-success"
1311
+ },
1312
+ {
1313
+ "description": "Fired when a row is clicked",
1314
+ "name": "rowClick"
1315
+ },
1316
+ {
1317
+ "description": "Fired when a row is double clicked",
1318
+ "name": "rowDblClick"
1319
+ },
1320
+ {
1321
+ "description": "Fired when a row is right clicked",
1322
+ "name": "contextMenu"
1323
+ },
1324
+ {
1325
+ "description": "Fired when a row is selected",
1326
+ "name": "rowSelected"
1429
1327
  }
1430
1328
  ],
1431
1329
  "attributes": [
@@ -1443,91 +1341,124 @@
1443
1341
  "type": {
1444
1342
  "text": "string"
1445
1343
  },
1446
- "default": "''",
1344
+ "description": "Name of the backend resource which contain the entities to manage",
1447
1345
  "fieldName": "resourceName"
1448
1346
  },
1449
1347
  {
1450
- "name": "title",
1348
+ "name": "readEvent",
1451
1349
  "type": {
1452
1350
  "text": "string"
1453
1351
  },
1454
- "default": "''",
1455
- "fieldName": "title"
1352
+ "description": "Name of the request on the Genesis server which fetches data for the form, example usage could\ninclude fetching additional data that is not available in the grid but required for the selected entity",
1353
+ "fieldName": "readEvent"
1456
1354
  },
1457
1355
  {
1458
- "name": "persist-column-state-key",
1356
+ "name": "updateEvent",
1459
1357
  "type": {
1460
1358
  "text": "string"
1461
1359
  },
1462
- "fieldName": "persistColumnStateKey"
1360
+ "description": "Name of the event handler on the Genesis server which handles updating the entity",
1361
+ "fieldName": "updateEvent"
1463
1362
  },
1464
1363
  {
1465
- "name": "persist-filter-model-key",
1364
+ "name": "deleteEvent",
1466
1365
  "type": {
1467
1366
  "text": "string"
1468
1367
  },
1469
- "fieldName": "persistFilterModelKey"
1368
+ "description": "Name of the event handler on the Genesis server which handles deleting the entity",
1369
+ "fieldName": "deleteEvent"
1470
1370
  },
1471
1371
  {
1472
- "name": "size-columns-to-fit",
1372
+ "name": "createEvent",
1473
1373
  "type": {
1474
- "text": "boolean"
1374
+ "text": "string"
1475
1375
  },
1476
- "fieldName": "sizeColumnsToFit"
1376
+ "description": "Name of the event handler on the Genesis server which handles creating an entity",
1377
+ "fieldName": "createEvent"
1378
+ },
1379
+ {
1380
+ "name": "title",
1381
+ "type": {
1382
+ "text": "string"
1383
+ },
1384
+ "description": "Title of the grid",
1385
+ "fieldName": "title"
1386
+ },
1387
+ {
1388
+ "name": "entityLabel",
1389
+ "type": {
1390
+ "text": "string"
1391
+ },
1392
+ "description": "Label for the entity which is used in the title of the modal when editing the entity, on CRUD buttons and on toast notifications",
1393
+ "fieldName": "entityLabel"
1477
1394
  },
1478
1395
  {
1479
1396
  "name": "row-selection",
1480
1397
  "type": {
1481
1398
  "text": "string"
1482
1399
  },
1400
+ "default": "'single'",
1401
+ "description": "This attribute allows you to change row-selection to 'single' or 'multiple' which will allow you to select single or multiple rows.",
1483
1402
  "fieldName": "rowSelection"
1484
1403
  },
1485
1404
  {
1486
- "name": "enable-filter-bar",
1405
+ "name": "enable-cell-flashing",
1487
1406
  "type": {
1488
1407
  "text": "boolean"
1489
1408
  },
1490
- "fieldName": "enableFilterBar"
1409
+ "default": "false",
1410
+ "description": "If false, will disable cell flashing for all cells by default, unless otherwise defined in custom colDef",
1411
+ "fieldName": "enableCellFlashing"
1491
1412
  },
1492
1413
  {
1493
- "name": "async-add",
1414
+ "name": "enable-row-flashing",
1494
1415
  "type": {
1495
1416
  "text": "boolean"
1496
1417
  },
1497
1418
  "default": "false",
1498
- "fieldName": "asyncAdd"
1419
+ "description": "If true, will enable row flashing for all rows for `add` transactions",
1420
+ "fieldName": "enableRowFlashing"
1499
1421
  },
1500
1422
  {
1501
- "name": "async-remove",
1423
+ "name": "datasource-type",
1502
1424
  "type": {
1503
- "text": "boolean"
1425
+ "text": "DatasourceType"
1504
1426
  },
1505
- "default": "false",
1506
- "fieldName": "asyncRemove"
1427
+ "default": "'client'",
1428
+ "description": "If set to 'server' it will enable Server-Side Row Model and use `grid-pro-server-side-datasource` for the grid of the `entity-list` sub-component.\nBy default `grid-pro-client-side-datasource` will be used.",
1429
+ "fieldName": "datasourceType"
1507
1430
  },
1508
1431
  {
1509
- "name": "async-update",
1432
+ "name": "persist-column-state-key",
1510
1433
  "type": {
1511
- "text": "boolean"
1434
+ "text": "string"
1512
1435
  },
1513
- "default": "true",
1514
- "fieldName": "asyncUpdate"
1436
+ "description": "This attribute controls whether and how the entity manager stores the state of the columns when the user edits them. Omit this attribute to disable the functionality, set it to a unique value to enable it.",
1437
+ "fieldName": "persistColumnStateKey"
1515
1438
  },
1516
1439
  {
1517
- "name": "enable-cell-flashing",
1440
+ "name": "persist-filter-model-key",
1441
+ "type": {
1442
+ "text": "string"
1443
+ },
1444
+ "description": "The key to use for persisting the filter model in local browser or KV storage.",
1445
+ "fieldName": "persistFilterModelKey"
1446
+ },
1447
+ {
1448
+ "name": "size-columns-to-fit",
1518
1449
  "type": {
1519
1450
  "text": "boolean"
1520
1451
  },
1521
- "default": "false",
1522
- "fieldName": "enableCellFlashing"
1452
+ "description": "Resizes columns to take available space",
1453
+ "fieldName": "sizeColumnsToFit"
1523
1454
  },
1524
1455
  {
1525
- "name": "enable-row-flashing",
1456
+ "name": "enable-filter-bar",
1526
1457
  "type": {
1527
1458
  "text": "boolean"
1528
1459
  },
1529
- "default": "false",
1530
- "fieldName": "enableRowFlashing"
1460
+ "description": "Enables filter bar component",
1461
+ "fieldName": "enableFilterBar"
1531
1462
  },
1532
1463
  {
1533
1464
  "name": "hide-edit",
@@ -1535,6 +1466,7 @@
1535
1466
  "text": "boolean"
1536
1467
  },
1537
1468
  "default": "false",
1469
+ "description": "Hides edit button",
1538
1470
  "fieldName": "hideEdit"
1539
1471
  },
1540
1472
  {
@@ -1543,22 +1475,59 @@
1543
1475
  "text": "boolean"
1544
1476
  },
1545
1477
  "default": "false",
1478
+ "description": "Hides delete button",
1546
1479
  "fieldName": "hideDelete"
1547
1480
  },
1548
1481
  {
1549
- "name": "datasource-type",
1482
+ "name": "enable-search-bar",
1550
1483
  "type": {
1551
- "text": "DatasourceType"
1484
+ "text": "boolean"
1552
1485
  },
1553
- "default": "'client'",
1554
- "fieldName": "datasourceType"
1486
+ "default": "false",
1487
+ "description": "This attribute controls whether to enable the search-bar.",
1488
+ "fieldName": "enableSearchBar"
1555
1489
  },
1556
1490
  {
1557
1491
  "name": "header-case-type",
1558
1492
  "type": {
1559
1493
  "text": "GridProCaseType"
1560
1494
  },
1495
+ "description": "The case type to use for the header names. If not set, the default CONSTANT_CASE will be used.",
1561
1496
  "fieldName": "headerCaseType"
1497
+ },
1498
+ {
1499
+ "name": "modal-position",
1500
+ "type": {
1501
+ "text": "'centre' | 'left' | 'right'"
1502
+ },
1503
+ "default": "'right'",
1504
+ "description": "Determines where the modal dialog will appear on screen",
1505
+ "fieldName": "modalPosition"
1506
+ },
1507
+ {
1508
+ "name": "crud-menu-position",
1509
+ "type": {
1510
+ "text": "CrudMenuPosition"
1511
+ },
1512
+ "description": "Determines where the buttons will appear",
1513
+ "fieldName": "crudMenuPosition"
1514
+ },
1515
+ {
1516
+ "name": "crud-menu-style",
1517
+ "type": {
1518
+ "text": "ActionsMenuStyle"
1519
+ },
1520
+ "description": "Determines the style of the buttons",
1521
+ "fieldName": "crudMenuStyle"
1522
+ },
1523
+ {
1524
+ "name": "crud-action-menu-name",
1525
+ "type": {
1526
+ "text": "string"
1527
+ },
1528
+ "default": "'⋮'",
1529
+ "description": "The label of the crud action menu",
1530
+ "fieldName": "crudActionMenuName"
1562
1531
  }
1563
1532
  ],
1564
1533
  "mixins": [
@@ -1571,25 +1540,56 @@
1571
1540
  "name": "FASTElement",
1572
1541
  "package": "@microsoft/fast-element"
1573
1542
  },
1574
- "tagName": "entity-list",
1543
+ "tagName": "entity-management",
1575
1544
  "customElement": true
1576
1545
  }
1577
1546
  ],
1578
1547
  "exports": [
1579
1548
  {
1580
1549
  "kind": "js",
1581
- "name": "List",
1550
+ "name": "EntityManagement",
1582
1551
  "declaration": {
1583
- "name": "List",
1584
- "module": "src/list/list.ts"
1552
+ "name": "EntityManagement",
1553
+ "module": "src/entities/entities.ts"
1585
1554
  }
1586
1555
  },
1587
1556
  {
1588
1557
  "kind": "custom-element-definition",
1589
- "name": "entity-list",
1558
+ "name": "entity-management",
1590
1559
  "declaration": {
1591
- "name": "List",
1592
- "module": "src/list/list.ts"
1560
+ "name": "EntityManagement",
1561
+ "module": "src/entities/entities.ts"
1562
+ }
1563
+ }
1564
+ ]
1565
+ },
1566
+ {
1567
+ "kind": "javascript-module",
1568
+ "path": "src/entities/index.ts",
1569
+ "declarations": [],
1570
+ "exports": [
1571
+ {
1572
+ "kind": "js",
1573
+ "name": "*",
1574
+ "declaration": {
1575
+ "name": "*",
1576
+ "package": "./entities"
1577
+ }
1578
+ },
1579
+ {
1580
+ "kind": "js",
1581
+ "name": "*",
1582
+ "declaration": {
1583
+ "name": "*",
1584
+ "package": "./entities.template"
1585
+ }
1586
+ },
1587
+ {
1588
+ "kind": "js",
1589
+ "name": "*",
1590
+ "declaration": {
1591
+ "name": "*",
1592
+ "package": "./entities.styles"
1593
1593
  }
1594
1594
  }
1595
1595
  ]