pict-section-recordset 1.0.66 → 1.0.68

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 (50) hide show
  1. package/docs/_brand.json +18 -0
  2. package/docs/_cover.md +1 -1
  3. package/docs/_version.json +7 -0
  4. package/docs/index.html +2 -4
  5. package/docs/retold-catalog.json +33 -1
  6. package/docs/retold-keyword-index.json +1 -1
  7. package/example_applications/bookstore/Bookstore-Application.js +1 -1
  8. package/example_applications/bookstore/css/bookstore.css +15 -15
  9. package/example_applications/bookstore/css/pure.min.css +1 -1
  10. package/example_applications/bookstore/views/PictView-Bookstore-Dashboard.js +3 -3
  11. package/example_applications/bookstore/views/PictView-Bookstore-Navigation.js +9 -9
  12. package/example_applications/index.html +3 -3
  13. package/example_applications/mocks/book-edit-view.html +5 -5
  14. package/example_applications/mocks/book-read-view.html +5 -5
  15. package/example_applications/mocks/list-view.html +6 -6
  16. package/example_applications/simple_entity/Simple-RecordSet-Application.js +2 -2
  17. package/example_applications/simple_entity/html/index.html +14 -14
  18. package/package.json +7 -6
  19. package/source/providers/RecordSet-RecordProvider-MeadowEndpoints.js +1 -1
  20. package/source/services/RecordsSet-MetaController.js +22 -0
  21. package/source/templates/Pict-Template-FilterInstanceViews.js +1 -0
  22. package/source/views/dashboard/RecordSet-Dashboard-RecordListEntry.js +2 -2
  23. package/source/views/dashboard/RecordSet-Dashboard-RecordListHeader.js +2 -2
  24. package/source/views/list/RecordSet-List-RecordListEntry.js +2 -2
  25. package/source/views/list/RecordSet-List-RecordListHeader.js +2 -2
  26. package/test/PictSectionRecordSet-Basic_tests.js +83 -0
  27. package/types/Pict-Section-RecordSet.d.ts +2 -0
  28. package/types/providers/Filter-Data-Provider.d.ts +1 -0
  29. package/types/providers/Filter-Data-Provider.d.ts.map +1 -1
  30. package/types/providers/RecordSet-DynamicRecordsetSolver.d.ts +6 -0
  31. package/types/providers/RecordSet-DynamicRecordsetSolver.d.ts.map +1 -1
  32. package/types/providers/RecordSet-RecordProvider-MeadowEndpoints.d.ts +8 -0
  33. package/types/providers/RecordSet-RecordProvider-MeadowEndpoints.d.ts.map +1 -1
  34. package/types/providers/RecordSet-Router.d.ts +2 -0
  35. package/types/providers/RecordSet-Router.d.ts.map +1 -1
  36. package/types/services/RecordsSet-MetaController.d.ts +10 -5
  37. package/types/services/RecordsSet-MetaController.d.ts.map +1 -1
  38. package/types/templates/Pict-Template-FilterInstanceViews.d.ts +42 -2
  39. package/types/templates/Pict-Template-FilterInstanceViews.d.ts.map +1 -1
  40. package/types/templates/Pict-Template-FilterView.d.ts +0 -2
  41. package/types/templates/Pict-Template-FilterView.d.ts.map +1 -1
  42. package/types/views/Filter-PersistenceView.d.ts +31 -6
  43. package/types/views/Filter-PersistenceView.d.ts.map +1 -1
  44. package/types/views/RecordSet-Filters.d.ts +31 -0
  45. package/types/views/RecordSet-Filters.d.ts.map +1 -1
  46. package/types/views/RecordSet-RecordBaseView.d.ts +2 -0
  47. package/types/views/RecordSet-RecordBaseView.d.ts.map +1 -1
  48. package/types/views/dashboard/RecordSet-Dashboard.d.ts +2 -0
  49. package/types/views/dashboard/RecordSet-Dashboard.d.ts.map +1 -1
  50. package/docs/css/docuserve.css +0 -73
@@ -13,8 +13,8 @@
13
13
 
14
14
  /* --- Header Bar --- */
15
15
  .pict-example-header { display: flex; align-items: stretch; background: #264653; border-bottom: 3px solid #E76F51; }
16
- .pict-example-badge { background: #E76F51; color: #fff; padding: 0.6rem 1rem; font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; display: flex; align-items: center; gap: 0.5rem; }
17
- .pict-example-badge svg { width: 14px; height: 14px; fill: #fff; flex-shrink: 0; }
16
+ .pict-example-badge { background: #E76F51; color: var(--theme-color-background-panel, #fff); padding: 0.6rem 1rem; font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; display: flex; align-items: center; gap: 0.5rem; }
17
+ .pict-example-badge svg { width: 14px; height: 14px; fill: var(--theme-color-background-panel, #fff); flex-shrink: 0; }
18
18
  .pict-example-app-name { padding: 0.6rem 1rem; color: #FAEDCD; font-size: 1.1rem; font-weight: 600; display: flex; align-items: center; }
19
19
  .pict-example-module { margin-left: auto; padding: 0.6rem 1rem; color: #D4A373; font-size: 0.75rem; display: flex; align-items: center; letter-spacing: 0.03em; }
20
20
 
@@ -26,7 +26,7 @@
26
26
 
27
27
  /* --- Content Area --- */
28
28
  .pict-example-content { padding: 1.5rem; }
29
- #PRSP_Container { background: #fff; border: 1px solid #D4A373; border-top: 4px solid #E76F51; border-radius: 6px; padding: 1.25rem; box-shadow: 0 2px 8px rgba(38,70,83,0.08); }
29
+ #PRSP_Container { background: var(--theme-color-background-panel, #fff); border: 1px solid #D4A373; border-top: 4px solid #E76F51; border-radius: 6px; padding: 1.25rem; box-shadow: 0 2px 8px rgba(38,70,83,0.08); }
30
30
 
31
31
  /* --- Form Element Styling --- */
32
32
  #PRSP_Container input[type="text"],
@@ -42,7 +42,7 @@
42
42
  #PRSP_Container h1, #PRSP_Container h2, #PRSP_Container h3, #PRSP_Container h4 { color: #264653; }
43
43
  #PRSP_Container button,
44
44
  #PRSP_Container input[type="button"],
45
- #PRSP_Container input[type="submit"] { background: #E76F51; color: #fff; border: none; padding: 0.5rem 1.25rem; border-radius: 4px; font-size: 0.85rem; font-weight: 600; cursor: pointer; }
45
+ #PRSP_Container input[type="submit"] { background: #E76F51; color: var(--theme-color-background-panel, #fff); border: none; padding: 0.5rem 1.25rem; border-radius: 4px; font-size: 0.85rem; font-weight: 600; cursor: pointer; }
46
46
  #PRSP_Container button:hover,
47
47
  #PRSP_Container input[type="button"]:hover,
48
48
  #PRSP_Container input[type="submit"]:hover { background: #C45A3E; }
@@ -68,10 +68,10 @@
68
68
 
69
69
  /* Filter instances container */
70
70
  #PRSP_Filter_Instances { display: flex; flex-direction: column; gap: 0.5rem; }
71
- #PRSP_Filter_Instances > div { display: flex; align-items: center; gap: 0.5rem; background: #fff; border: 1px solid #E8D9C0; border-radius: 4px; padding: 0.5rem 0.75rem; flex-wrap: wrap; }
71
+ #PRSP_Filter_Instances > div { display: flex; align-items: center; gap: 0.5rem; background: var(--theme-color-background-panel, #fff); border: 1px solid #E8D9C0; border-radius: 4px; padding: 0.5rem 0.75rem; flex-wrap: wrap; }
72
72
 
73
73
  /* Remove (-) buttons in filter rows */
74
- #PRSP_Filter_Instances > div > button[type="button"] { background: #B33030; color: #fff; border: none; width: 1.6rem; height: 1.6rem; border-radius: 50%; font-size: 0.85rem; font-weight: 700; cursor: pointer; flex-shrink: 0; padding: 0; display: flex; align-items: center; justify-content: center; line-height: 1; }
74
+ #PRSP_Filter_Instances > div > button[type="button"] { background: #B33030; color: var(--theme-color-background-panel, #fff); border: none; width: 1.6rem; height: 1.6rem; border-radius: 50%; font-size: 0.85rem; font-weight: 700; cursor: pointer; flex-shrink: 0; padding: 0; display: flex; align-items: center; justify-content: center; line-height: 1; }
75
75
  #PRSP_Filter_Instances > div > button[type="button"]:hover { background: #8B2020; }
76
76
 
77
77
  /* Filter labels (spans) */
@@ -111,9 +111,9 @@
111
111
  #PRSP_Filter_Form > fieldset:nth-child(3) { border-top: 1px solid #E8D9C0; margin-top: 0.25rem; padding-top: 0.6rem; }
112
112
  #PRSP_Filter_Button_Clear { background: #264653 !important; color: #FAEDCD !important; }
113
113
  #PRSP_Filter_Button_Clear:hover { background: #1A3340 !important; }
114
- #PRSP_Filter_Button_Reset { background: #D4A373 !important; color: #fff !important; }
114
+ #PRSP_Filter_Button_Reset { background: #D4A373 !important; color: var(--theme-color-background-panel, #fff) !important; }
115
115
  #PRSP_Filter_Button_Reset:hover { background: #B88A5C !important; }
116
- #PRSP_Filter_Button_Apply { background: #E76F51 !important; color: #fff !important; }
116
+ #PRSP_Filter_Button_Apply { background: #E76F51 !important; color: var(--theme-color-background-panel, #fff) !important; }
117
117
  #PRSP_Filter_Button_Apply:hover { background: #C45A3E !important; }
118
118
  #PRSP_Filter_Button_Add { background: #264653 !important; color: #FAEDCD !important; width: 2rem; height: 2rem; border-radius: 50% !important; font-size: 1rem; font-weight: 700; display: flex !important; align-items: center; justify-content: center; padding: 0 !important; }
119
119
  #PRSP_Filter_Button_Add:hover { background: #1A3340 !important; }
@@ -121,8 +121,8 @@
121
121
  #PRSP_Filter_Button_Manage:hover { background: #1A3340 !important; }
122
122
 
123
123
  /* Dropdowns / popovers inside filters */
124
- #PRSP-SUBSET-Filters-Template-Add-Filter-Container { background: #fff; border: 1px solid #D4A373; border-radius: 4px; padding: 0.5rem; margin-top: 0.25rem; box-shadow: 0 2px 8px rgba(38,70,83,0.12); }
125
- #FilterPersistenceView-Container { background: #fff; border: 1px solid #D4A373; border-radius: 4px; padding: 0.5rem; margin-top: 0.25rem; box-shadow: 0 2px 8px rgba(38,70,83,0.12); }
124
+ #PRSP-SUBSET-Filters-Template-Add-Filter-Container { background: var(--theme-color-background-panel, #fff); border: 1px solid #D4A373; border-radius: 4px; padding: 0.5rem; margin-top: 0.25rem; box-shadow: 0 2px 8px rgba(38,70,83,0.12); }
125
+ #FilterPersistenceView-Container { background: var(--theme-color-background-panel, #fff); border: 1px solid #D4A373; border-radius: 4px; padding: 0.5rem; margin-top: 0.25rem; box-shadow: 0 2px 8px rgba(38,70,83,0.12); }
126
126
 
127
127
  /* --- Pagination --- */
128
128
  #RSP_Upper_Pagination_Container,
@@ -136,17 +136,17 @@
136
136
  #RSP_Upper_Pagination_Container ul li a,
137
137
  #RSP_Lower_Pagination_Container ul li a { display: block; padding: 0.35rem 0.75rem; border: 1px solid #D4A373; border-radius: 4px; text-decoration: none; color: #264653; font-size: 0.8rem; font-weight: 500; transition: background 0.15s, color 0.15s; }
138
138
  #RSP_Upper_Pagination_Container ul li a:hover,
139
- #RSP_Lower_Pagination_Container ul li a:hover { background: #E76F51; color: #fff; border-color: #E76F51; }
139
+ #RSP_Lower_Pagination_Container ul li a:hover { background: #E76F51; color: var(--theme-color-background-panel, #fff); border-color: #E76F51; }
140
140
 
141
141
  /* --- Page Number Links --- */
142
142
  #PRSP_List_Container > div { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-bottom: 0.5rem; }
143
- a[class^="page-offset"] { display: inline-block; padding: 0.3rem 0.6rem; border: 1px solid #D4A373; border-radius: 4px; text-decoration: none; color: #264653; font-size: 0.8rem; font-weight: 500; transition: background 0.15s, color 0.15s; background: #fff; }
144
- a[class^="page-offset"]:hover { background: #E76F51; color: #fff; border-color: #E76F51; }
143
+ a[class^="page-offset"] { display: inline-block; padding: 0.3rem 0.6rem; border: 1px solid #D4A373; border-radius: 4px; text-decoration: none; color: #264653; font-size: 0.8rem; font-weight: 500; transition: background 0.15s, color 0.15s; background: var(--theme-color-background-panel, #fff); }
144
+ a[class^="page-offset"]:hover { background: #E76F51; color: var(--theme-color-background-panel, #fff); border-color: #E76F51; }
145
145
 
146
146
  /* --- List Table Refinements --- */
147
147
  #PRSP_List_Table { width: 100%; border-collapse: collapse; }
148
148
  #PRSP_List_Table th { background: #264653 !important; color: #FAEDCD !important; padding: 0.6rem 0.75rem !important; border-bottom: none !important; text-align: left; font-size: 0.8rem; font-weight: 600; white-space: nowrap; }
149
- #PRSP_List_Table td { padding: 0.6rem 0.75rem !important; border-bottom: 1px solid #E8D9C0 !important; font-size: 0.85rem; background: #fff; vertical-align: middle; }
149
+ #PRSP_List_Table td { padding: 0.6rem 0.75rem !important; border-bottom: 1px solid #E8D9C0 !important; font-size: 0.85rem; background: var(--theme-color-background-panel, #fff); vertical-align: middle; }
150
150
  #PRSP_List_Table tr:nth-child(even) td { background: #FFF9F0; }
151
151
  #PRSP_List_Table tr:hover td { background: #FFF0E0; }
152
152
  #PRSP_List_Table img { max-width: 80px; max-height: 100px; border-radius: 3px; border: 1px solid #E8D9C0; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pict-section-recordset",
3
- "version": "1.0.66",
3
+ "version": "1.0.68",
4
4
  "description": "Pict dynamic record set management views",
5
5
  "main": "source/Pict-Section-RecordSet.js",
6
6
  "directories": {
@@ -33,16 +33,17 @@
33
33
  "browser-env": "^3.3.0",
34
34
  "eslint": "^9.28.0",
35
35
  "jquery": "^3.7.1",
36
- "pict": "^1.0.363",
37
- "pict-application": "^1.0.33",
36
+ "pict": "^1.0.371",
37
+ "pict-application": "^1.0.34",
38
+ "pict-docuserve": "^1.0.1",
38
39
  "pict-service-commandlineutility": "^1.0.19",
39
- "quackage": "^1.0.65",
40
+ "quackage": "^1.2.3",
40
41
  "typescript": "^5.9.3"
41
42
  },
42
43
  "dependencies": {
43
44
  "fable-serviceproviderbase": "^3.0.19",
44
- "pict-provider": "^1.0.12",
45
- "pict-router": "^1.0.9",
45
+ "pict-provider": "^1.0.13",
46
+ "pict-router": "^1.0.10",
46
47
  "pict-section-form": "^1.0.196",
47
48
  "pict-template": "^1.0.15",
48
49
  "pict-view": "^1.0.68",
@@ -237,7 +237,7 @@ class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
237
237
  }
238
238
  }
239
239
  }
240
- this.pict.EntityProvider.cacheConnectedEntityRecords(recordsReturn, IDFields, ['User', 'User'], false, () =>
240
+ this.pict.EntityProvider.cacheConnectedEntityRecordsWithoutCount(recordsReturn, IDFields, ['User', 'User'], false, () =>
241
241
  {
242
242
  resolve({ Records: recordsReturn, Facets: { } });
243
243
  });
@@ -517,6 +517,28 @@ class RecordSetMetacontroller extends libFableServiceProviderBase
517
517
  return this.manifests[pScope];
518
518
  }
519
519
 
520
+ /**
521
+ * Register a manifest at runtime, after initialization. This is the
522
+ * equivalent of adding a manifest to `fable.settings.Manifests` before
523
+ * init, but callable after the fact.
524
+ *
525
+ * @param {Record<string, any>} pManifest - The manifest to register. Must have `Scope` and `Descriptors`.
526
+ */
527
+ addManifest(pManifest)
528
+ {
529
+ if (!pManifest || !pManifest.Scope || !pManifest.Descriptors)
530
+ {
531
+ this.pict.log.error(`RecordSetMetacontroller: addManifest called with invalid manifest.`, pManifest);
532
+ return;
533
+ }
534
+ if (!pManifest.Form)
535
+ {
536
+ this.generateManifestTableCells(pManifest);
537
+ }
538
+ this.manifestDefinitions[pManifest.Scope] = pManifest;
539
+ this.manifests[pManifest.Scope] = pManifest.Form ? pManifest : this.pict.newManyfest(pManifest);
540
+ }
541
+
520
542
  /**
521
543
  * @param {Record<string, any>} pManifest - The manifest to generate table cells for.
522
544
  */
@@ -296,6 +296,7 @@ class PictTemplateFilterInstanceViewInstruction extends libPictTemplate
296
296
  // transaction queue instead of the dashboard's.
297
297
  const tmpFilterTransactionHash = `FilterInstance-${tmpView.Hash}-${tmpRenderGUID}`;
298
298
  this.pict.TransactionTracking.registerTransaction(tmpFilterTransactionHash);
299
+ /** @type {import('pict-view').Renderable} */
299
300
  const tmpFilterRootRenderable =
300
301
  {
301
302
  RenderableHash: '__Virtual',
@@ -59,7 +59,7 @@ const _DEFAULT_CONFIGURATION_List_RecordListEntry = (
59
59
  {
60
60
  Hash: 'PRSP-Dashboard-RecordListEntry-Template-Row-Cell',
61
61
  Template: /*html*/`
62
- <td style="border-bottom: 1px solid #ccc; padding: 5px;">
62
+ <td style="border-bottom: 1px solid var(--theme-color-border-default, #ccc); padding: 5px;">
63
63
  {~TBDA:Record.Data.PictDashboard.ValueTemplate~}
64
64
  </td>
65
65
  `
@@ -74,7 +74,7 @@ const _DEFAULT_CONFIGURATION_List_RecordListEntry = (
74
74
  Hash: 'PRSP-Dashboard-RecordListAction-Template-Cell',
75
75
  // FIXME: Needs a better way of getting the appropriate link templates in (likely requiring piping the RecordSet to the link manager)
76
76
  Template: /*html*/`
77
- <td style="border-bottom: 1px solid #ccc; padding: 5px;">
77
+ <td style="border-bottom: 1px solid var(--theme-color-border-default, #ccc); padding: 5px;">
78
78
  <ul>
79
79
  {~TSWP:PRSP-Dashboard-RecordListAction-Template-Cell-Datum:Pict.providers.RecordSetLinkManager.linkTemplates:Record~}
80
80
  </ul>
@@ -55,7 +55,7 @@ const _DEFAULT_CONFIGURATION_List_RecordListHeader = (
55
55
  Hash: 'PRSP-Dashboard-RecordListHeader-Template-Header',
56
56
  Template: /*html*/`
57
57
  <!-- DefaultPackage pict view template: [PRSP-Dashboard-RecordListHeader-Template-Header] -->
58
- <th style="border-bottom: 1px solid #ccc; padding: 5px; background-color: #f2f2f2; color: #333;">
58
+ <th style="border-bottom: 1px solid var(--theme-color-border-default, #ccc); padding: 5px; background-color: var(--theme-color-background-tertiary, #f2f2f2); color: var(--theme-color-text-primary, #333);">
59
59
  {~D:Record.DisplayName~}
60
60
  </th>
61
61
  <!-- DefaultPackage end view template: [PRSP-Dashboard-RecordListHeader-Template-Header] -->
@@ -75,7 +75,7 @@ const _DEFAULT_CONFIGURATION_List_RecordListHeader = (
75
75
  Hash: 'PRSP-Dashboard-RecordListActions-Template-Header',
76
76
  Template: /*html*/`
77
77
  <!-- DefaultPackage pict view template: [PRSP-Dashboard-RecordListActions-Template-Header] -->
78
- <th style="border-bottom: 1px solid #ccc; padding: 5px; background-color: #f2f2f2; color: #333;">
78
+ <th style="border-bottom: 1px solid var(--theme-color-border-default, #ccc); padding: 5px; background-color: var(--theme-color-background-tertiary, #f2f2f2); color: var(--theme-color-text-primary, #333);">
79
79
  Actions
80
80
  </th>
81
81
  <!-- DefaultPackage end view template: [PRSP-Dashboard-RecordListActions-Template-Header] -->
@@ -61,7 +61,7 @@ const _DEFAULT_CONFIGURATION_List_RecordListEntry = (
61
61
  {
62
62
  Hash: 'PRSP-List-RecordListEntry-Template-Row-Cell',
63
63
  Template: /*html*/`
64
- <td style="border-bottom: 1px solid #ccc; padding: 5px;">
64
+ <td style="border-bottom: 1px solid var(--theme-color-border-default, #ccc); padding: 5px;">
65
65
  {~TBDA:Record.Data.PictDashboard.ValueTemplate~}
66
66
  </td>
67
67
  `
@@ -76,7 +76,7 @@ const _DEFAULT_CONFIGURATION_List_RecordListEntry = (
76
76
  Hash: 'PRSP-List-RecordListAction-Template-Cell',
77
77
  // FIXME: Needs a better way of getting the appropriate link templates in (likely requiring piping the RecordSet to the link manager)
78
78
  Template: /*html*/`
79
- <td style="border-bottom: 1px solid #ccc; padding: 5px;">
79
+ <td style="border-bottom: 1px solid var(--theme-color-border-default, #ccc); padding: 5px;">
80
80
  <ul>
81
81
  {~TSWP:PRSP-List-RecordListAction-Template-Cell-Datum:Pict.providers.RecordSetLinkManager.linkTemplates:Record~}
82
82
  </ul>
@@ -43,7 +43,7 @@ const _DEFAULT_CONFIGURATION_List_RecordListHeader = (
43
43
  Hash: 'PRSP-List-RecordListHeader-Template-Header',
44
44
  Template: /*html*/`
45
45
  <!-- DefaultPackage pict view template: [PRSP-List-RecordListHeader-Template-Header] -->
46
- <th style="border-bottom: 1px solid #ccc; padding: 5px; background-color: #f2f2f2; color: #333;">
46
+ <th style="border-bottom: 1px solid var(--theme-color-border-default, #ccc); padding: 5px; background-color: var(--theme-color-background-tertiary, #f2f2f2); color: var(--theme-color-text-primary, #333);">
47
47
  {~D:Record.DisplayName~}
48
48
  </th>
49
49
  <!-- DefaultPackage end view template: [PRSP-List-RecordListHeader-Template-Header] -->
@@ -63,7 +63,7 @@ const _DEFAULT_CONFIGURATION_List_RecordListHeader = (
63
63
  Hash: 'PRSP-List-RecordListActions-Template-Header',
64
64
  Template: /*html*/`
65
65
  <!-- DefaultPackage pict view template: [PRSP-List-RecordListActions-Template-Header] -->
66
- <th style="border-bottom: 1px solid #ccc; padding: 5px; background-color: #f2f2f2; color: #333;">
66
+ <th style="border-bottom: 1px solid var(--theme-color-border-default, #ccc); padding: 5px; background-color: var(--theme-color-background-tertiary, #f2f2f2); color: var(--theme-color-text-primary, #333);">
67
67
  Actions
68
68
  </th>
69
69
  <!-- DefaultPackage end view template: [PRSP-List-RecordListActions-Template-Header] -->
@@ -118,5 +118,88 @@ suite
118
118
  }
119
119
  );
120
120
  });
121
+ suite
122
+ (
123
+ 'MetaController addManifest',
124
+ () =>
125
+ {
126
+ test(
127
+ 'should register a manifest at runtime',
128
+ (fDone) =>
129
+ {
130
+ let _Pict = new libPict();
131
+ _Pict.LogNoisiness = 0;
132
+ localStorage = originalLocalStorage;
133
+
134
+ let _Application = new DoNothingApplication(_Pict, {});
135
+ _Application.testDone = () =>
136
+ {
137
+ let _MetaController = _Pict.services.PictSectionRecordSet;
138
+
139
+ Expect(_MetaController).to.be.an('object', 'MetaController should exist.');
140
+ Expect(_MetaController.addManifest).to.be.a('function', 'addManifest should be a function.');
141
+
142
+ // Before adding, manifest should not exist
143
+ Expect(_MetaController.getManifest('TestDashboard')).to.equal(undefined);
144
+
145
+ // Add a manifest
146
+ _MetaController.addManifest({
147
+ Scope: 'TestDashboard',
148
+ CoreEntity: 'PhysicalAsset',
149
+ TitleTemplate: 'Test Dashboard',
150
+ Descriptors:
151
+ {
152
+ 'Name':
153
+ {
154
+ 'Name': 'Name',
155
+ 'Hash': 'Name',
156
+ 'PictDashboard': {}
157
+ }
158
+ }
159
+ });
160
+
161
+ // After adding, manifest should be retrievable
162
+ let tmpManifest = _MetaController.getManifest('TestDashboard');
163
+ Expect(tmpManifest).to.be.an('object', 'Manifest should be retrievable after addManifest.');
164
+
165
+ // The manifest definition should also be registered
166
+ Expect(_MetaController.manifestDefinitions['TestDashboard']).to.be.an('object');
167
+ Expect(_MetaController.manifestDefinitions['TestDashboard'].Scope).to.equal('TestDashboard');
168
+ Expect(_MetaController.manifestDefinitions['TestDashboard'].TitleTemplate).to.equal('Test Dashboard');
169
+
170
+ fDone();
171
+ };
172
+ _Application.initialize();
173
+ }
174
+ );
175
+
176
+ test(
177
+ 'should reject invalid manifests',
178
+ (fDone) =>
179
+ {
180
+ let _Pict = new libPict();
181
+ _Pict.LogNoisiness = 0;
182
+ localStorage = originalLocalStorage;
183
+
184
+ let _Application = new DoNothingApplication(_Pict, {});
185
+ _Application.testDone = () =>
186
+ {
187
+ let _MetaController = _Pict.services.PictSectionRecordSet;
188
+
189
+ // Should not throw on invalid input
190
+ _MetaController.addManifest(null);
191
+ _MetaController.addManifest({});
192
+ _MetaController.addManifest({ Scope: 'NoDescriptors' });
193
+
194
+ // None of these should have been registered
195
+ Expect(_MetaController.getManifest('NoDescriptors')).to.equal(undefined);
196
+
197
+ fDone();
198
+ };
199
+ _Application.initialize();
200
+ }
201
+ );
202
+ }
203
+ );
121
204
  }
122
205
  );
@@ -1,6 +1,8 @@
1
1
  declare const _exports: {
2
2
  new (pFable: any, pOptions: any, pServiceHash: any): import("./services/RecordsSet-MetaController.js");
3
3
  default_configuration: Record<string, any>;
4
+ isFableService: boolean;
5
+ CoreServiceProviderBase: typeof import("fable-serviceproviderbase");
4
6
  PictRecordSetApplication: typeof import("./application/Pict-Application-RecordSet.js");
5
7
  RecordSetProviderBase: typeof import("./providers/RecordSet-RecordProvider-Base.js");
6
8
  RecordSetProviderMeadowEndpoints: typeof import("./providers/RecordSet-RecordProvider-MeadowEndpoints.js");
@@ -48,6 +48,7 @@ declare class FilterDataProvider extends libPictProvider {
48
48
  constructor(pFable: import("pict"), pOptions?: Record<string, any>, pServiceHash?: string);
49
49
  storageProvider: any;
50
50
  keyCache: {};
51
+ filterExperienceModifiedFromURLHash: boolean;
51
52
  /** ===== UTILITY for Filter Experience ============= */
52
53
  /**
53
54
  * Using the information in the FilterClauses, try to generate a contextual default filter name for the display name of the current experience.
@@ -1 +1 @@
1
- {"version":3,"file":"Filter-Data-Provider.d.ts","sourceRoot":"","sources":["../../source/providers/Filter-Data-Provider.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Filter-Data-Provider.d.ts","sourceRoot":"","sources":["../../source/providers/Filter-Data-Provider.js"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ declare class RecordSetDynamicRecordsetSolver extends libPictProvider {
22
22
  PictSectionRecordSet: InstanceType<{
23
23
  new (pFable: any, pOptions: any, pServiceHash: any): import("../services/RecordsSet-MetaController.js");
24
24
  default_configuration: Record<string, any>;
25
+ isFableService: boolean;
26
+ CoreServiceProviderBase: typeof import("fable-serviceproviderbase");
25
27
  PictRecordSetApplication: typeof import("../application/Pict-Application-RecordSet.js");
26
28
  RecordSetProviderBase: typeof import("./RecordSet-RecordProvider-Base.js");
27
29
  RecordSetProviderMeadowEndpoints: typeof import("./RecordSet-RecordProvider-MeadowEndpoints.js");
@@ -66,6 +68,8 @@ declare class RecordSetDynamicRecordsetSolver extends libPictProvider {
66
68
  PictSectionRecordSet: InstanceType<{
67
69
  new (pFable: any, pOptions: any, pServiceHash: any): import("../services/RecordsSet-MetaController.js");
68
70
  default_configuration: Record<string, any>;
71
+ isFableService: boolean;
72
+ CoreServiceProviderBase: typeof import("fable-serviceproviderbase");
69
73
  PictRecordSetApplication: typeof import("../application/Pict-Application-RecordSet.js");
70
74
  RecordSetProviderBase: typeof import("./RecordSet-RecordProvider-Base.js");
71
75
  RecordSetProviderMeadowEndpoints: typeof import("./RecordSet-RecordProvider-MeadowEndpoints.js");
@@ -87,6 +91,8 @@ declare class RecordSetDynamicRecordsetSolver extends libPictProvider {
87
91
  PictSectionRecordSet: InstanceType<{
88
92
  new (pFable: any, pOptions: any, pServiceHash: any): import("../services/RecordsSet-MetaController.js");
89
93
  default_configuration: Record<string, any>;
94
+ isFableService: boolean;
95
+ CoreServiceProviderBase: typeof import("fable-serviceproviderbase");
90
96
  PictRecordSetApplication: typeof import("../application/Pict-Application-RecordSet.js");
91
97
  RecordSetProviderBase: typeof import("./RecordSet-RecordProvider-Base.js");
92
98
  RecordSetProviderMeadowEndpoints: typeof import("./RecordSet-RecordProvider-MeadowEndpoints.js");
@@ -1 +1 @@
1
- {"version":3,"file":"RecordSet-DynamicRecordsetSolver.d.ts","sourceRoot":"","sources":["../../source/providers/RecordSet-DynamicRecordsetSolver.js"],"names":[],"mappings":";AAaA;;GAEG;AACH;IAEC;;;;;;OAMG;IACH,oBAJW,MAAM,YACN,MAAM,gBACN,MAAM,EAwBhB;IAjBA;;;;YAIQ;IACR,MALW,OAAO,MAAM,CAAC,GAAG;QACxB,qCAAqC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;QAC7D,gBAAgB,EAAE,GAAG,CAAC;QACtB,oBAAoB,EAAE,YAAY,CAAC;;;;;;SAAsC,CAAC,CAAA;KAC1E,CACK;IACT,uHAAuH;IACvH,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,qCAAqC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;QAAC,gBAAgB,EAAE,GAAG,CAAA;KAAE,CACzG;IAYX;;;;;;;;;OASG;IACH,qBALW,MAAM,GAAC,MAAM,cACb,OAAO,aACP,MAAM,GACJ,MAAM,GAAC,SAAS,CA8B5B;IAED;;;;;;;;;OASG;IACH,8BALW,OAAO,UAAU,CAAC,qCAElB,MAAM,YACN,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAuCpC;IAED;;;;OAIG;IACH,gCAJW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YACnB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,aAC1B,OAAO,UAAU,CAAC;;mDA9Ge,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG;8BAC1C,GAAG;kCACC,YAAY,CAAC;;;;;;aAAsC,CAAC;;;;;;MAiH9E;IAED;;;OAGG;IACH,mCAHW,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,aAC1B,OAAO,UAAU,CAAC;;mDAvHe,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG;8BAC1C,GAAG;kCACC,YAAY,CAAC;;;;;;aAAsC,CAAC;;;;;;MAgI9E;IAED;;;;;;;OAOG;IACH,mCALW,OAAO,UAAU,CAAC,uCAElB,MAAM,YACN,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QA+BpC;IAED;;;;;;;;OAQG;IACH,gCAJW,MAAM,yBAWhB;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,oCAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YACnB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QA4DpC;IADA;;;;MAAuC;CAExC;;;;;AA5SD,kCAAkC;AAClC,6CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAS3B"}
1
+ {"version":3,"file":"RecordSet-DynamicRecordsetSolver.d.ts","sourceRoot":"","sources":["../../source/providers/RecordSet-DynamicRecordsetSolver.js"],"names":[],"mappings":";AAaA;;GAEG;AACH;IAEC;;;;;;OAMG;IACH,oBAJW,MAAM,YACN,MAAM,gBACN,MAAM,EAwBhB;IAjBA;;;;YAIQ;IACR,MALW,OAAO,MAAM,CAAC,GAAG;QACxB,qCAAqC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;QAC7D,gBAAgB,EAAE,GAAG,CAAC;QACtB,oBAAoB,EAAE,YAAY,CAAC;;;;;;;;SAAsC,CAAC,CAAA;KAC1E,CACK;IACT,uHAAuH;IACvH,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,qCAAqC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;QAAC,gBAAgB,EAAE,GAAG,CAAA;KAAE,CACzG;IAYX;;;;;;;;;OASG;IACH,qBALW,MAAM,GAAC,MAAM,cACb,OAAO,aACP,MAAM,GACJ,MAAM,GAAC,SAAS,CA8B5B;IAED;;;;;;;;;OASG;IACH,8BALW,OAAO,UAAU,CAAC,qCAElB,MAAM,YACN,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAuCpC;IAED;;;;OAIG;IACH,gCAJW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YACnB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,aAC1B,OAAO,UAAU,CAAC;;mDA9Ge,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG;8BAC1C,GAAG;kCACC,YAAY,CAAC;;;;;;;;aAAsC,CAAC;;;;;;MAiH9E;IAED;;;OAGG;IACH,mCAHW,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,aAC1B,OAAO,UAAU,CAAC;;mDAvHe,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG;8BAC1C,GAAG;kCACC,YAAY,CAAC;;;;;;;;aAAsC,CAAC;;;;;;MAgI9E;IAED;;;;;;;OAOG;IACH,mCALW,OAAO,UAAU,CAAC,uCAElB,MAAM,YACN,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QA+BpC;IAED;;;;;;;;OAQG;IACH,gCAJW,MAAM,yBAWhB;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,oCAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YACnB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QA4DpC;IADA;;;;MAAuC;CAExC;;;;;AA5SD,kCAAkC;AAClC,6CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAS3B"}
@@ -24,6 +24,8 @@ declare class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
24
24
  PictSectionRecordSet: InstanceType<{
25
25
  new (pFable: any, pOptions: any, pServiceHash: any): import("../services/RecordsSet-MetaController.js");
26
26
  default_configuration: Record<string, any>;
27
+ isFableService: boolean;
28
+ CoreServiceProviderBase: typeof import("fable-serviceproviderbase");
27
29
  PictRecordSetApplication: typeof import("../application/Pict-Application-RecordSet.js");
28
30
  RecordSetProviderBase: typeof libRecordSetProviderBase;
29
31
  RecordSetProviderMeadowEndpoints: typeof MeadowEndpointsRecordSetProvider;
@@ -34,6 +36,8 @@ declare class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
34
36
  PictSectionRecordSet: InstanceType<{
35
37
  new (pFable: any, pOptions: any, pServiceHash: any): import("../services/RecordsSet-MetaController.js");
36
38
  default_configuration: Record<string, any>;
39
+ isFableService: boolean;
40
+ CoreServiceProviderBase: typeof import("fable-serviceproviderbase");
37
41
  PictRecordSetApplication: typeof import("../application/Pict-Application-RecordSet.js");
38
42
  RecordSetProviderBase: typeof libRecordSetProviderBase;
39
43
  RecordSetProviderMeadowEndpoints: typeof MeadowEndpointsRecordSetProvider;
@@ -45,6 +49,8 @@ declare class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
45
49
  PictSectionRecordSet: InstanceType<{
46
50
  new (pFable: any, pOptions: any, pServiceHash: any): import("../services/RecordsSet-MetaController.js");
47
51
  default_configuration: Record<string, any>;
52
+ isFableService: boolean;
53
+ CoreServiceProviderBase: typeof import("fable-serviceproviderbase");
48
54
  PictRecordSetApplication: typeof import("../application/Pict-Application-RecordSet.js");
49
55
  RecordSetProviderBase: typeof libRecordSetProviderBase;
50
56
  RecordSetProviderMeadowEndpoints: typeof MeadowEndpointsRecordSetProvider;
@@ -55,6 +61,8 @@ declare class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
55
61
  PictSectionRecordSet: InstanceType<{
56
62
  new (pFable: any, pOptions: any, pServiceHash: any): import("../services/RecordsSet-MetaController.js");
57
63
  default_configuration: Record<string, any>;
64
+ isFableService: boolean;
65
+ CoreServiceProviderBase: typeof import("fable-serviceproviderbase");
58
66
  PictRecordSetApplication: typeof import("../application/Pict-Application-RecordSet.js");
59
67
  RecordSetProviderBase: typeof libRecordSetProviderBase;
60
68
  RecordSetProviderMeadowEndpoints: typeof MeadowEndpointsRecordSetProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"RecordSet-RecordProvider-MeadowEndpoints.d.ts","sourceRoot":"","sources":["../../source/providers/RecordSet-RecordProvider-MeadowEndpoints.js"],"names":[],"mappings":";AAGA;;;GAGG;AAEH;;;GAGG;AACH;IAcE;;;;;;;;;aASS;IACT,MAVW,OAAO,MAAM,CAAC,GAAG;QACpB,GAAG,EAAE,GAAG,CAAC;QACT,QAAQ,EACf;YACI,oBAAoB,EAAE,YAAY,CAAC;;;;;;aAAsC,CAAC,CAAC;YAC/E,CAAK,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACnB,CAAC;QACE,6CAA6C,EAAE,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;QACrE,oBAAoB,EAAE,YAAY,CAAC;;;;;;SAAsC,CAAC,CAAA;KAC7E,CACI;IACT;aAVa,GAAG;kBAEf;YACI,oBAAoB,EAAE,YAAY,CAAC;;;;;;aAAsC,CAAC,CAAC;YAC/E,CAAK,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACnB;uDACkD,CAAC,IAAI,QAAQ,KAAK,GAAG;8BAC9C,YAAY,CAAC;;;;;;SAAsC,CAAC;MAG5D;IAMtB,kCAAkC;IAClC,SADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAClB;IACZ,kDAAkD;IAClD,cADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACvB;IACvB,kDAAkD;IAClD,iBADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACpB;IAG3B,0EAA0E;IAC1E,sBADa,OAAO,iDAAiD,CAAC,CAerE;IAVC,wEAAwE;IAExE,iBAFW,OAAO,iDAAiD,CAAC,CAE4B;IAUlG;;OAEG;IACH,0BAFY,KAAK,CAAC,MAAM,CAAC,CASxB;IAED;;;;OAIG;IACH,qBAFW,MAAM,GAAC,MAAM,gBA4BvB;IAED,oBAaC;IAED,kBAaC;IAED;;;;OAIG;IACH,uBAFW,MAAM,GAAC,MAAM,gBA2BvB;IAED,iGAiBC;IA8DD;;;;OAIG;IACH,4BAFW,eAAe,gBA0BzB;IAED;;;;OAIG;IACH,sBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,gBAsB7B;IAED;;;;OAIG;IACH,sBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,gBAsB7B;IAED;;;;OAIG;IACH,sBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,gBAsB7B;IAED;;;;OAIG;IACH,sBAFW,MAAM,GAAC,MAAM,gBAKvB;IAaD;;;;OAIG;IACH,qBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,gBAK7B;IAcD;;;;OAIG;IACH,oCAJW,MAAM,WACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,uBACnB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAsF7B;IAgGD;;;OAGG;IACH,qCAHW,MAAM,GACL,MAAM,CAKjB;IAED;;;OAGG;IACH,wCAHW,MAAM,GACL,MAAM,CAyCjB;IAED;;OAEG;IACH,kCAFW,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,QA6BjC;IAED,+BA8HC;CA0DD;;;;;uBA51BY,OAAO,oCAAoC,EAAE,eAAe;uBAC5D,OAAO,oCAAoC,EAAE,eAAe"}
1
+ {"version":3,"file":"RecordSet-RecordProvider-MeadowEndpoints.d.ts","sourceRoot":"","sources":["../../source/providers/RecordSet-RecordProvider-MeadowEndpoints.js"],"names":[],"mappings":";AAGA;;;GAGG;AAEH;;;GAGG;AACH;IAcE;;;;;;;;;aASS;IACT,MAVW,OAAO,MAAM,CAAC,GAAG;QACpB,GAAG,EAAE,GAAG,CAAC;QACT,QAAQ,EACf;YACI,oBAAoB,EAAE,YAAY,CAAC;;;;;;;;aAAsC,CAAC,CAAC;YAC/E,CAAK,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACnB,CAAC;QACE,6CAA6C,EAAE,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC;QACrE,oBAAoB,EAAE,YAAY,CAAC;;;;;;;;SAAsC,CAAC,CAAA;KAC7E,CACI;IACT;aAVa,GAAG;kBAEf;YACI,oBAAoB,EAAE,YAAY,CAAC;;;;;;;;aAAsC,CAAC,CAAC;YAC/E,CAAK,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACnB;uDACkD,CAAC,IAAI,QAAQ,KAAK,GAAG;8BAC9C,YAAY,CAAC;;;;;;;;SAAsC,CAAC;MAG5D;IAMtB,kCAAkC;IAClC,SADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAClB;IACZ,kDAAkD;IAClD,cADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACvB;IACvB,kDAAkD;IAClD,iBADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACpB;IAG3B,0EAA0E;IAC1E,sBADa,OAAO,iDAAiD,CAAC,CAerE;IAVC,wEAAwE;IAExE,iBAFW,OAAO,iDAAiD,CAAC,CAE4B;IAUlG;;OAEG;IACH,0BAFY,KAAK,CAAC,MAAM,CAAC,CASxB;IAED;;;;OAIG;IACH,qBAFW,MAAM,GAAC,MAAM,gBA4BvB;IAED,oBAaC;IAED,kBAaC;IAED;;;;OAIG;IACH,uBAFW,MAAM,GAAC,MAAM,gBA2BvB;IAED,iGAiBC;IA8FD;;;;OAIG;IACH,4BAFW,eAAe,gBA2CzB;IAED;;;;OAIG;IACH,sBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,gBAsB7B;IAED;;;;OAIG;IACH,sBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,gBAsB7B;IAED;;;;OAIG;IACH,sBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,gBAsB7B;IAED;;;;OAIG;IACH,sBAFW,MAAM,GAAC,MAAM,gBAKvB;IAaD;;;;OAIG;IACH,qBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,gBAK7B;IAcD;;;;OAIG;IACH,oCAJW,MAAM,WACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,uBACnB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAsF7B;IAgGD;;;OAGG;IACH,qCAHW,MAAM,GACL,MAAM,CAKjB;IAED;;;OAGG;IACH,wCAHW,MAAM,GACL,MAAM,CAyCjB;IAED;;OAEG;IACH,kCAFW,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,QA6BjC;IAED,+BA8HC;CA0DD;;;;;uBA74BY,OAAO,oCAAoC,EAAE,eAAe;uBAC5D,OAAO,oCAAoC,EAAE,eAAe"}
@@ -6,6 +6,8 @@ declare class PictRecordSetRouter extends libPictProvider {
6
6
  PictSectionRecordSet: InstanceType<{
7
7
  new (pFable: any, pOptions: any, pServiceHash: any): import("../services/RecordsSet-MetaController.js");
8
8
  default_configuration: Record<string, any>;
9
+ isFableService: boolean;
10
+ CoreServiceProviderBase: typeof import("fable-serviceproviderbase");
9
11
  PictRecordSetApplication: typeof import("../application/Pict-Application-RecordSet.js");
10
12
  RecordSetProviderBase: typeof import("./RecordSet-RecordProvider-Base.js");
11
13
  RecordSetProviderMeadowEndpoints: typeof import("./RecordSet-RecordProvider-MeadowEndpoints.js");
@@ -1 +1 @@
1
- {"version":3,"file":"RecordSet-Router.d.ts","sourceRoot":"","sources":["../../source/providers/RecordSet-Router.js"],"names":[],"mappings":";AAYA;IAEC,2DAWC;IAJA,8GAA8G;IAC9G,MADW,OAAO,MAAM,CAAC,GAAG;QAAE,oBAAoB,EAAE,YAAY,CAAC;;;;;;SAAsC,CAAC,CAAA;KAAE,CACjG;IAET,gBAAsB;IAgBvB,8BAYC;IAED;;;;OAIG;IACH,iBAFW,MAAM,QAKhB;CACD;;;;;AA5DD,kCAAkC;AAClC,+CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAO7B"}
1
+ {"version":3,"file":"RecordSet-Router.d.ts","sourceRoot":"","sources":["../../source/providers/RecordSet-Router.js"],"names":[],"mappings":";AAYA;IAEC,2DAWC;IAJA,8GAA8G;IAC9G,MADW,OAAO,MAAM,CAAC,GAAG;QAAE,oBAAoB,EAAE,YAAY,CAAC;;;;;;;;SAAsC,CAAC,CAAA;KAAE,CACjG;IAET,gBAAsB;IAgBvB,8BAYC;IAED;;;;OAIG;IACH,iBAFW,MAAM,QAKhB;CACD;;;;;AA5DD,kCAAkC;AAClC,+CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAO7B"}
@@ -1,5 +1,5 @@
1
1
  export = RecordSetMetacontroller;
2
- declare class RecordSetMetacontroller {
2
+ declare class RecordSetMetacontroller extends libFableServiceProviderBase {
3
3
  constructor(pFable: any, pOptions: any, pServiceHash: any);
4
4
  /** @type {import('pict') & { PictSectionRecordSet: any, addAndInstantiateSingletonService: (hash: string, options: any, prototype: any) => any, newManyfest: (rec: any) => any }} */
5
5
  fable: import("pict") & {
@@ -13,11 +13,7 @@ declare class RecordSetMetacontroller {
13
13
  newManyfest: (rec: any) => any;
14
14
  };
15
15
  /** @type {any} */
16
- log: any;
17
- /** @type {any} */
18
16
  options: any;
19
- /** @type {string} */
20
- UUID: string;
21
17
  childViews: {
22
18
  list: any;
23
19
  create: any;
@@ -79,6 +75,14 @@ declare class RecordSetMetacontroller {
79
75
  addRecordLinkTemplate(pNameTemplate: string, pURLTemplate: string, pDefault: boolean): Record<string, any>;
80
76
  initialize(): true | this;
81
77
  getManifest(pScope: any): import("manyfest");
78
+ /**
79
+ * Register a manifest at runtime, after initialization. This is the
80
+ * equivalent of adding a manifest to `fable.settings.Manifests` before
81
+ * init, but callable after the fact.
82
+ *
83
+ * @param {Record<string, any>} pManifest - The manifest to register. Must have `Scope` and `Descriptors`.
84
+ */
85
+ addManifest(pManifest: Record<string, any>): void;
82
86
  /**
83
87
  * @param {Record<string, any>} pManifest - The manifest to generate table cells for.
84
88
  */
@@ -87,6 +91,7 @@ declare class RecordSetMetacontroller {
87
91
  declare namespace RecordSetMetacontroller {
88
92
  export { _DEFAULT_CONFIGURATION as default_configuration };
89
93
  }
94
+ import libFableServiceProviderBase = require("fable-serviceproviderbase");
90
95
  /** @type {Record<string, any>} */
91
96
  declare const _DEFAULT_CONFIGURATION: Record<string, any>;
92
97
  //# sourceMappingURL=RecordsSet-MetaController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecordsSet-MetaController.d.ts","sourceRoot":"","sources":["../../source/services/RecordsSet-MetaController.js"],"names":[],"mappings":";AAwBA;IAEC,2DA2GC;IAtGA,qLAAqL;IACrL,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,oBAAoB,EAAE,GAAG,CAAC;QAAC,iCAAiC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,GAAG,CAAC;QAAC,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,CACvK;IACV;8BAFoD,GAAG;2CAAqC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,GAAG;qBAAe,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG;MAEzJ;IACtB,kBAAkB;IAClB,KADW,GAAG,CACN;IACR,kBAAkB;IAClB,SADW,GAAG,CACF;IACZ,qBAAqB;IACrB,MADW,MAAM,CACR;IAET;;;;;MAKC;IAED,sDAAsD;IACtD,oBADW,MAAM,CAAC,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CACtB;IAC5B,kDAAkD;IAClD,iCADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACL;IAEzC,kDAAkD;IAClD,yBADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACb;IAEjC,+DAA+D;IAC/D,kBADW,KAAK,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CACjC;IAE1B,kDAAkD;IAClD,qBADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACjB;IAC7B,iDAAiD;IACjD,WADW,MAAM,CAAC,MAAM,EAAE,OAAO,UAAU,CAAC,CAAC,CACG;IAEhD,yBAA4B;IAkG7B;;;;OAIG;IACH,sCAJW,MAAM,GAEL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAK9B;IAED;;OAEG;IACH,oDAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,WAyG7B;IAED;;OAEG;IACH,8DAFW,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAqBpC;IAED;;;;OAIG;IACH,qCAJW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,YAC5B,MAAM,mBACN,MAAM,OAqDhB;IAED;;OAEG;IACH,+CAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAe7B;IAED;;OAEG;IACH,qCAMC;IAED;;OAEG;IACH,0BAFW,MAAM,oBAYhB;IAED;;;;;;OAMG;IACH,qCANW,MAAM,gBACN,MAAM,YACN,OAAO,GAEN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAK9B;IAED,0BAsFC;IAED,6CAGC;IAED;;OAEG;IACH,sCAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAwC7B;CAED;;;;AA1hBD,kCAAkC;AAClC,sCADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI3B"}
1
+ {"version":3,"file":"RecordsSet-MetaController.d.ts","sourceRoot":"","sources":["../../source/services/RecordsSet-MetaController.js"],"names":[],"mappings":";AAwBA;IAEC,2DA2GC;IAtGA,qLAAqL;IACrL,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,oBAAoB,EAAE,GAAG,CAAC;QAAC,iCAAiC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,GAAG,CAAC;QAAC,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,CACvK;IACV;8BAFoD,GAAG;2CAAqC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,GAAG;qBAAe,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG;MAEzJ;IAGtB,kBAAkB;IAClB,SADW,GAAG,CACF;IAIZ;;;;;MAKC;IAED,sDAAsD;IACtD,oBADW,MAAM,CAAC,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CACtB;IAC5B,kDAAkD;IAClD,iCADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACL;IAEzC,kDAAkD;IAClD,yBADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACb;IAEjC,+DAA+D;IAC/D,kBADW,KAAK,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CACjC;IAE1B,kDAAkD;IAClD,qBADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACjB;IAC7B,iDAAiD;IACjD,WADW,MAAM,CAAC,MAAM,EAAE,OAAO,UAAU,CAAC,CAAC,CACG;IAEhD,yBAA4B;IAkG7B;;;;OAIG;IACH,sCAJW,MAAM,GAEL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAK9B;IAED;;OAEG;IACH,oDAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,WAiH7B;IAED;;OAEG;IACH,8DAFW,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAqBpC;IAED;;;;OAIG;IACH,qCAJW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,YAC5B,MAAM,mBACN,MAAM,OAqDhB;IAED;;OAEG;IACH,+CAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAe7B;IAED;;OAEG;IACH,qCAMC;IAED;;OAEG;IACH,0BAFW,MAAM,oBAYhB;IAED;;;;;;OAMG;IACH,qCANW,MAAM,gBACN,MAAM,YACN,OAAO,GAEN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAK9B;IAED,0BAsFC;IAED,6CAGC;IAED;;;;;;OAMG;IACH,uBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAe7B;IAED;;OAEG;IACH,sCAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAwC7B;CAED;;;;;AAxjBD,kCAAkC;AAClC,sCADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI3B"}
@@ -3,6 +3,48 @@ export = PictTemplateFilterInstanceViewInstruction;
3
3
  * Specialized instruction for rendering the filter view and plumbing in required context.
4
4
  *
5
5
  * Based on the Pict base {~V:...~} template instruction.
6
+ *
7
+ * ## Async render architecture (see renderAsync below)
8
+ *
9
+ * The async path is tuned to get the dashboard records list painted before any
10
+ * speculative filter-list REST lookups complete. Three things collaborate to
11
+ * make that happen:
12
+ *
13
+ * 1. **Parallel filter fan-out.** Every filter clause starts its own
14
+ * `renderWithScopeAsync` in a single pass, instead of chaining through a
15
+ * sequential `Anticipate` queue. Template parsing, `onBefore*`/`onProject*`
16
+ * microtask hops, and the synchronous DOM walks done inside each filter's
17
+ * `onAfterRender` all happen concurrently rather than serialized across N
18
+ * filters. Results are collected into an indexed array so final output
19
+ * order still matches the clause order.
20
+ *
21
+ * 2. **Per-filter transaction isolation.** Each filter render gets its own
22
+ * synthetic `RootRenderable` carrying a fresh `TransactionHash`. Any
23
+ * `virtual-assignment` sub-renders that the filter's dynamic form spawns
24
+ * (notably `PSRSFilterProxyView`, which pict-section-form uses to host
25
+ * each filter's input) push into THIS transaction's queue, not the
26
+ * dashboard's. The dashboard's outer `renderAsync` callback fires as soon
27
+ * as every filter has its template string - without waiting on any of
28
+ * the nested input-initialize work.
29
+ *
30
+ * 3. **Deferred post-render drain.** The filter's post-render pipeline
31
+ * (`onAfterRenderAsync`, which is what runs pict-section-form's
32
+ * `runInputProviderFunctions('onInputInitialize', ...)` and therefore
33
+ * triggers `EntityBundleRequest.gatherDataFromServer` for any
34
+ * speculative-load inputs) is intentionally NOT run inline. It is queued
35
+ * via `setTimeout(..., 0)` so it fires on the next macrotask, giving the
36
+ * browser a tick to paint the dashboard first.
37
+ *
38
+ * ### Render-epoch race guard
39
+ *
40
+ * Between the dashboard callback firing and the setTimeout actually running,
41
+ * the user may have navigated away / applied a different filter experience /
42
+ * cleared filters. The `PRSP-Filters` view owns a monotonic `_renderEpoch`
43
+ * counter that gets bumped on every mutating action (`performSearch`,
44
+ * `handleClear`, `handleReset`, `addFilter`, `removeFilter`). Each scheduled
45
+ * drain captures the epoch at schedule time and bails out if a newer render
46
+ * has invalidated it, so a stale REST response can never clobber a filter
47
+ * container that now belongs to a different experience.
6
48
  */
7
49
  declare class PictTemplateFilterInstanceViewInstruction extends libPictTemplate {
8
50
  /**
@@ -11,8 +53,6 @@ declare class PictTemplateFilterInstanceViewInstruction extends libPictTemplate
11
53
  * @param {String} pServiceHash - The hash of the service
12
54
  */
13
55
  constructor(pFable: any, pOptions: any, pServiceHash: string);
14
- /** @type {any} */
15
- log: any;
16
56
  _getViewForFilterClause(pClause: any): import("../views/filters/RecordSet-Filter-Base.js");
17
57
  }
18
58
  import libPictTemplate = require("pict-template");
@@ -1 +1 @@
1
- {"version":3,"file":"Pict-Template-FilterInstanceViews.d.ts","sourceRoot":"","sources":["../../source/templates/Pict-Template-FilterInstanceViews.js"],"names":[],"mappings":";AAGA;;;;GAIG;AACH;IAEC;;;;OAIG;IACH,8DAeC;IAXA,kBAAkB;IAClB,KADW,GAAG,CACN;IAYT,2FAsBC;CA2KD"}
1
+ {"version":3,"file":"Pict-Template-FilterInstanceViews.d.ts","sourceRoot":"","sources":["../../source/templates/Pict-Template-FilterInstanceViews.js"],"names":[],"mappings":";AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH;IAEC;;;;OAIG;IACH,8DAeC;IAED,2FAsBC;CAuPD"}
@@ -11,8 +11,6 @@ declare class PictTemplateFilterViewInstruction extends libPictTemplate {
11
11
  * @param {String} pServiceHash - The hash of the service
12
12
  */
13
13
  constructor(pFable: any, pOptions: any, pServiceHash: string);
14
- /** @type {any} */
15
- log: any;
16
14
  }
17
15
  import libPictTemplate = require("pict-template");
18
16
  //# sourceMappingURL=Pict-Template-FilterView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pict-Template-FilterView.d.ts","sourceRoot":"","sources":["../../source/templates/Pict-Template-FilterView.js"],"names":[],"mappings":";AAEA;;;;GAIG;AACH;IAEC;;;;OAIG;IACH,8DAeC;IAXA,kBAAkB;IAClB,KADW,GAAG,CACN;CA0JT"}
1
+ {"version":3,"file":"Pict-Template-FilterView.d.ts","sourceRoot":"","sources":["../../source/templates/Pict-Template-FilterView.js"],"names":[],"mappings":";AAEA;;;;GAIG;AACH;IAEC;;;;OAIG;IACH,8DAeC;CAgJD"}