@genesislcap/foundation-entity-management 14.255.0 → 14.255.1

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