pict-section-recordset 1.0.24 → 1.0.26

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 (98) hide show
  1. package/example_applications/simple_entity/Simple-RecordSet-Application.js +170 -110
  2. package/package.json +7 -7
  3. package/source/application/Pict-Application-RecordSet.js +8 -0
  4. package/source/providers/RecordSet-Link-Manager.js +2 -2
  5. package/source/providers/RecordSet-RecordProvider-Base.js +9 -2
  6. package/source/providers/RecordSet-RecordProvider-MeadowEndpoints.js +116 -14
  7. package/source/services/RecordsSet-MetaController.js +41 -19
  8. package/source/templates/Pict-Template-FilterInstanceViews.js +222 -0
  9. package/source/templates/Pict-Template-FilterView.js +4 -2
  10. package/source/views/RecordSet-Filters.js +449 -0
  11. package/source/views/dashboard/RecordSet-Dashboard.js +65 -8
  12. package/source/views/filters/RecordSet-Filter-Base-Range.js +38 -0
  13. package/source/views/filters/RecordSet-Filter-Base.js +88 -0
  14. package/source/views/filters/RecordSet-Filter-DateMatch.js +56 -0
  15. package/source/views/filters/RecordSet-Filter-DateRange.js +75 -0
  16. package/source/views/filters/RecordSet-Filter-ExternalJoinDateMatch.js +55 -0
  17. package/source/views/filters/RecordSet-Filter-ExternalJoinDateRange.js +57 -0
  18. package/source/views/filters/RecordSet-Filter-ExternalJoinNumericMatch.js +54 -0
  19. package/source/views/filters/RecordSet-Filter-ExternalJoinNumericRange.js +57 -0
  20. package/source/views/filters/RecordSet-Filter-ExternalJoinStringMatch.js +45 -0
  21. package/source/views/filters/RecordSet-Filter-ExternalJoinStringRange.js +46 -0
  22. package/source/views/filters/RecordSet-Filter-InternalJoinDateMatch.js +55 -0
  23. package/source/views/filters/RecordSet-Filter-InternalJoinDateRange.js +57 -0
  24. package/source/views/filters/RecordSet-Filter-InternalJoinNumericMatch.js +55 -0
  25. package/source/views/filters/RecordSet-Filter-InternalJoinNumericRange.js +57 -0
  26. package/source/views/filters/RecordSet-Filter-InternalJoinStringMatch.js +45 -0
  27. package/source/views/filters/RecordSet-Filter-InternalJoinStringRange.js +46 -0
  28. package/source/views/filters/RecordSet-Filter-NumericMatch.js +55 -0
  29. package/source/views/filters/RecordSet-Filter-NumericRange.js +57 -0
  30. package/source/views/filters/RecordSet-Filter-StringMatch.js +45 -0
  31. package/source/views/filters/RecordSet-Filter-StringRange.js +46 -0
  32. package/source/views/filters/index.js +27 -0
  33. package/source/views/list/RecordSet-List.js +44 -6
  34. package/test/PictSectionRecordSet-RecordProvider-Meadow_tests.js +11 -0
  35. package/types/application/Pict-Application-RecordSet.d.ts.map +1 -1
  36. package/types/providers/RecordSet-DynamicRecordsetSolver.d.ts +6 -6
  37. package/types/providers/RecordSet-DynamicRecordsetSolver.d.ts.map +1 -1
  38. package/types/providers/RecordSet-Link-Manager.d.ts +3 -3
  39. package/types/providers/RecordSet-RecordProvider-Base.d.ts +9 -0
  40. package/types/providers/RecordSet-RecordProvider-Base.d.ts.map +1 -1
  41. package/types/providers/RecordSet-RecordProvider-MeadowEndpoints.d.ts +30 -4
  42. package/types/providers/RecordSet-RecordProvider-MeadowEndpoints.d.ts.map +1 -1
  43. package/types/services/RecordsSet-MetaController.d.ts +2 -2
  44. package/types/services/RecordsSet-MetaController.d.ts.map +1 -1
  45. package/types/templates/Pict-Template-FilterInstanceViews.d.ts +19 -0
  46. package/types/templates/Pict-Template-FilterInstanceViews.d.ts.map +1 -0
  47. package/types/templates/Pict-Template-FilterView.d.ts.map +1 -1
  48. package/types/views/RecordSet-Filters.d.ts +84 -0
  49. package/types/views/RecordSet-Filters.d.ts.map +1 -0
  50. package/types/views/dashboard/RecordSet-Dashboard.d.ts +4 -2
  51. package/types/views/dashboard/RecordSet-Dashboard.d.ts.map +1 -1
  52. package/types/views/filters/RecordSet-Filter-Base-Range.d.ts +5 -0
  53. package/types/views/filters/RecordSet-Filter-Base-Range.d.ts.map +1 -0
  54. package/types/views/filters/RecordSet-Filter-Base.d.ts +29 -0
  55. package/types/views/filters/RecordSet-Filter-Base.d.ts.map +1 -0
  56. package/types/views/filters/RecordSet-Filter-DateMatch.d.ts +9 -0
  57. package/types/views/filters/RecordSet-Filter-DateMatch.d.ts.map +1 -0
  58. package/types/views/filters/RecordSet-Filter-DateRange.d.ts +9 -0
  59. package/types/views/filters/RecordSet-Filter-DateRange.d.ts.map +1 -0
  60. package/types/views/filters/RecordSet-Filter-ExternalJoinDateMatch.d.ts +9 -0
  61. package/types/views/filters/RecordSet-Filter-ExternalJoinDateMatch.d.ts.map +1 -0
  62. package/types/views/filters/RecordSet-Filter-ExternalJoinDateRange.d.ts +9 -0
  63. package/types/views/filters/RecordSet-Filter-ExternalJoinDateRange.d.ts.map +1 -0
  64. package/types/views/filters/RecordSet-Filter-ExternalJoinNumericMatch.d.ts +9 -0
  65. package/types/views/filters/RecordSet-Filter-ExternalJoinNumericMatch.d.ts.map +1 -0
  66. package/types/views/filters/RecordSet-Filter-ExternalJoinNumericRange.d.ts +9 -0
  67. package/types/views/filters/RecordSet-Filter-ExternalJoinNumericRange.d.ts.map +1 -0
  68. package/types/views/filters/RecordSet-Filter-ExternalJoinStringMatch.d.ts +9 -0
  69. package/types/views/filters/RecordSet-Filter-ExternalJoinStringMatch.d.ts.map +1 -0
  70. package/types/views/filters/RecordSet-Filter-ExternalJoinStringRange.d.ts +9 -0
  71. package/types/views/filters/RecordSet-Filter-ExternalJoinStringRange.d.ts.map +1 -0
  72. package/types/views/filters/RecordSet-Filter-InternalJoinDateMatch.d.ts +9 -0
  73. package/types/views/filters/RecordSet-Filter-InternalJoinDateMatch.d.ts.map +1 -0
  74. package/types/views/filters/RecordSet-Filter-InternalJoinDateRange.d.ts +9 -0
  75. package/types/views/filters/RecordSet-Filter-InternalJoinDateRange.d.ts.map +1 -0
  76. package/types/views/filters/RecordSet-Filter-InternalJoinNumericMatch.d.ts +9 -0
  77. package/types/views/filters/RecordSet-Filter-InternalJoinNumericMatch.d.ts.map +1 -0
  78. package/types/views/filters/RecordSet-Filter-InternalJoinNumericRange.d.ts +9 -0
  79. package/types/views/filters/RecordSet-Filter-InternalJoinNumericRange.d.ts.map +1 -0
  80. package/types/views/filters/RecordSet-Filter-InternalJoinStringMatch.d.ts +9 -0
  81. package/types/views/filters/RecordSet-Filter-InternalJoinStringMatch.d.ts.map +1 -0
  82. package/types/views/filters/RecordSet-Filter-InternalJoinStringRange.d.ts +9 -0
  83. package/types/views/filters/RecordSet-Filter-InternalJoinStringRange.d.ts.map +1 -0
  84. package/types/views/filters/RecordSet-Filter-NumericMatch.d.ts +9 -0
  85. package/types/views/filters/RecordSet-Filter-NumericMatch.d.ts.map +1 -0
  86. package/types/views/filters/RecordSet-Filter-NumericRange.d.ts +9 -0
  87. package/types/views/filters/RecordSet-Filter-NumericRange.d.ts.map +1 -0
  88. package/types/views/filters/RecordSet-Filter-StringMatch.d.ts +9 -0
  89. package/types/views/filters/RecordSet-Filter-StringMatch.d.ts.map +1 -0
  90. package/types/views/filters/RecordSet-Filter-StringRange.d.ts +9 -0
  91. package/types/views/filters/RecordSet-Filter-StringRange.d.ts.map +1 -0
  92. package/types/views/filters/index.d.ts +20 -0
  93. package/types/views/filters/index.d.ts.map +1 -0
  94. package/types/views/list/RecordSet-List.d.ts +12 -2
  95. package/types/views/list/RecordSet-List.d.ts.map +1 -1
  96. package/source/views/RecordSet-Filter.js +0 -159
  97. package/types/views/RecordSet-Filter.d.ts +0 -39
  98. package/types/views/RecordSet-Filter.d.ts.map +0 -1
@@ -9,11 +9,21 @@ declare class viewRecordSetList extends libPictRecordSetRecordView {
9
9
  recordListEntry: any;
10
10
  paginationBottom: any;
11
11
  };
12
- handleRecordSetListRoute(pRoutePayload: any): Promise<boolean>;
12
+ handleRecordSetListRoute(pRoutePayload: any): Promise<void>;
13
13
  onBeforeRenderList(pRecordListData: any): any;
14
14
  dynamicallyGenerateColumns(pRecordListData: any): any;
15
15
  excludedByDefaultCells: string[];
16
- renderList(pRecordSetConfiguration: any, pProviderHash: any, pFilterString: any, pOffset: any, pPageSize: any): Promise<boolean>;
16
+ /**
17
+ * @param {Record<string, any>} pRecordSetConfiguration
18
+ * @param {string} pProviderHash
19
+ * @param {string} pFilterString
20
+ * @param {string} pSerializedFilterExperience
21
+ * @param {number} pOffset
22
+ * @param {number} pPageSize
23
+ *
24
+ * @return {Promise<void>}
25
+ */
26
+ renderList(pRecordSetConfiguration: Record<string, any>, pProviderHash: string, pFilterString: string, pSerializedFilterExperience: string, pOffset: number, pPageSize: number): Promise<void>;
17
27
  }
18
28
  declare namespace viewRecordSetList {
19
29
  export { _DEFAULT_CONFIGURATION__List as default_configuration };
@@ -1 +1 @@
1
- {"version":3,"file":"RecordSet-List.d.ts","sourceRoot":"","sources":["../../../source/views/list/RecordSet-List.js"],"names":[],"mappings":";AA0EA;IAOE;;;;;;;;MAQC;IAGF,+DAuBC;IAaD,8CAGC;IAED,sDAkCC;IA9BA,iCAUC;IAsBF,iIA0MC;CAwBD;;;;;AAhYD,kCAAkC;AAClC,4CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA6D1B"}
1
+ {"version":3,"file":"RecordSet-List.d.ts","sourceRoot":"","sources":["../../../source/views/list/RecordSet-List.js"],"names":[],"mappings":";AA0EA;IAOE;;;;;;;;MAQC;IAGF,4DAwBC;IAiBD,8CAGC;IAED,sDAkCC;IA9BA,iCAUC;IAsBF;;;;;;;;;OASG;IACH,oCATW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBACnB,MAAM,iBACN,MAAM,+BACN,MAAM,WACN,MAAM,aACN,MAAM,GAEL,OAAO,CAAC,IAAI,CAAC,CAmOxB;CAwBD;;;;;AAtaD,kCAAkC;AAClC,4CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA6D1B"}
@@ -1,159 +0,0 @@
1
- const libPictView = require('pict-view');
2
-
3
- /** @type {Record<string, any>} */
4
- const _DEFAULT_CONFIGURATION_SUBSET_Filter =
5
- {
6
- ViewIdentifier: 'PRSP-SUBSET-Filter',
7
-
8
- DefaultRenderable: 'PRSP_Renderable_Filter',
9
- DefaultDestinationAddress: '#PRSP_Filter_Container',
10
- DefaultTemplateRecordAddress: false,
11
-
12
- // If this is set to true, when the App initializes this will.
13
- // While the App initializes, initialize will be called.
14
- AutoInitialize: false,
15
- AutoInitializeOrdinal: 0,
16
-
17
- // If this is set to true, when the App autorenders (on load) this will.
18
- // After the App initializes, render will be called.
19
- AutoRender: false,
20
- AutoRenderOrdinal: 0,
21
-
22
- AutoSolveWithApp: false,
23
- AutoSolveOrdinal: 0,
24
-
25
- CSS: false,
26
- CSSPriority: 500,
27
-
28
- Templates:
29
- [
30
- {
31
- Hash: 'PRSP-SUBSET-Filter-Template',
32
- Template: /*html*/`
33
- <!-- DefaultPackage pict view template: [PRSP-SUBSET-Filter-Template] -->
34
- <section id="PRSP_Filter_Container">
35
- <form id="PRSP_Filter_Form" onsubmit="_Pict.views['PRSP-Filters'].handleSearch(event, '{~D:Record.RecordSet~}', '{~D:Record.ViewContext~}'); return false;">
36
- {~T:PRSP-SUBSET-Filter-Template-Input-Fieldset~}
37
- {~T:PRSP-SUBSET-Filter-Template-Button-Fieldset~}
38
- </form>
39
- </section>
40
- <!-- DefaultPackage end view template: [PRSP-SUBSET-Filter-Template] -->
41
- `
42
- },
43
- {
44
- Hash: 'PRSP-SUBSET-Filter-Template-Input-Fieldset',
45
- Template: /*html*/`
46
- <!-- DefaultPackage pict view template: [PRSP-SUBSET-Filter-Template-Input-Fieldset] -->
47
- <fieldset>
48
- <label for="filter">Filter:</label>
49
- <input type="text" name="filter">
50
- </fieldset>
51
- <!-- DefaultPackage end view template: [PRSP-SUBSET-Filter-Template-Input-Fieldset] -->
52
- `
53
- },
54
- {
55
- Hash: 'PRSP-SUBSET-Filter-Template-Button-Fieldset',
56
- Template: /*html*/`
57
- <!-- DefaultPackage pict view template: [PRSP-SUBSET-Filter-Template-Button-Fieldset] -->
58
- <fieldset>
59
- <button type="button" id="PRSP_Filter_Button_Reset" onclick="_Pict.views['PRSP-Filters'].handleReset(event, '{~D:Record.RecordSet~}', '{~D:Record.ViewContext~}')">Reset</button>
60
- <button type="submit" id="PRSP_Filter_Button_Apply">Apply</button>
61
- </fieldset>
62
- <!-- DefaultPackage end view template: [PRSP-SUBSET-Filter-Template-Button-Fieldset] -->
63
- `
64
- },
65
- ],
66
-
67
- Renderables:
68
- [
69
- {
70
- RenderableHash: 'PRSP_Renderable_Filter',
71
- TemplateHash: 'PRSP-SUBSET-Filter-Template',
72
- DestinationAddress: '#PRSP_Filter_Container',
73
- RenderMethod: 'replace'
74
- },
75
- ],
76
-
77
- Manifests: {},
78
- };
79
-
80
- class viewRecordSetSUBSETFilter extends libPictView
81
- {
82
- constructor(pFable, pOptions, pServiceHash)
83
- {
84
- let tmpOptions = Object.assign({}, _DEFAULT_CONFIGURATION_SUBSET_Filter, pOptions);
85
- super(pFable, tmpOptions, pServiceHash);
86
- /** @type {import('fable') & import('pict') & { PictSectionRecordSet: import('../Pict-Section-RecordSet.js') }} */
87
- this.pict;
88
- }
89
-
90
- /**
91
- * @param {Event} pEvent - The DOM event that triggered the search
92
- * @param {string} pRecordSet - The record set being filtered
93
- * @param {string} pViewContext - The view context for the filter (ex. List, Dashboard)
94
- */
95
- handleSearch(pEvent, pRecordSet, pViewContext)
96
- {
97
- pEvent.preventDefault(); // don't submit the form
98
- pEvent.stopPropagation();
99
- const tmpSearchString = this.pict.ContentAssignment.readContent(`input[name="filter"]`);
100
- this.performSearch(pRecordSet, pViewContext, tmpSearchString ? String(tmpSearchString) : ' ');
101
- }
102
-
103
- /**
104
- * @param {string} pRecordSet - The record set being filtered
105
- * @param {string} pViewContext - The view context for the filter (ex. List, Dashboard)
106
- * @param {string} [pFilterString] - The filter string to apply, defaults to a single space if not provided
107
- */
108
- performSearch(pRecordSet, pViewContext, pFilterString)
109
- {
110
- const tmpPictRouter = this.pict.providers.PictRouter;
111
- const tmpProviderConfiguration = this.pict.PictSectionRecordSet.recordSetProviderConfigurations[pRecordSet];
112
- let filterExpr = '%20';
113
- if (pFilterString)
114
- {
115
- /** @type {Array<string>} */
116
- const searchFields = tmpProviderConfiguration?.SearchFields ?? [ 'Name' ];
117
- filterExpr = searchFields.map((filterField) => `FBVOR~${filterField}~LK~${encodeURIComponent(`%${pFilterString}%`)}`).join('~');
118
- }
119
- let tmpURLTemplate = tmpProviderConfiguration[`RecordSetFilterURLTemplate-${pViewContext}`] || tmpProviderConfiguration[`RecordSetFilterURLTemplate-Default`];
120
- if (!tmpURLTemplate)
121
- {
122
- if (pViewContext === 'Dashboard' || pViewContext === 'List')
123
- {
124
- tmpURLTemplate = `/PSRS/${pRecordSet}/${pViewContext}/FilteredTo/{~D:Record.FilterString~}`;
125
- }
126
- }
127
- let tmpURL;
128
- if (tmpURLTemplate)
129
- {
130
- tmpURL = this.pict.parseTemplate(tmpURLTemplate,
131
- {
132
- RecordSet: pRecordSet,
133
- FilterString: filterExpr,
134
- });
135
- }
136
- else
137
- {
138
- tmpURL = `/PSRS/${pRecordSet}/List/FilteredTo/${filterExpr}`;
139
- }
140
- tmpPictRouter.router.navigate(tmpURL);
141
- }
142
-
143
- /**
144
- * @param {Event} pEvent - The DOM event that triggered the search
145
- * @param {string} pRecordSet - The record set being filtered
146
- * @param {string} pViewContext - The view context for the filter (ex. List, Dashboard)
147
- */
148
- handleReset(pEvent, pRecordSet, pViewContext)
149
- {
150
- pEvent.preventDefault();
151
- this.pict.ContentAssignment.assignContent('input[name="filter"]', '');
152
- this.performSearch(pRecordSet, pViewContext);
153
- }
154
- }
155
-
156
- module.exports = viewRecordSetSUBSETFilter;
157
-
158
- module.exports.default_configuration = _DEFAULT_CONFIGURATION_SUBSET_Filter;
159
-
@@ -1,39 +0,0 @@
1
- export = viewRecordSetSUBSETFilter;
2
- declare class viewRecordSetSUBSETFilter extends libPictView {
3
- constructor(pFable: any, pOptions: any, pServiceHash: any);
4
- /** @type {import('fable') & import('pict') & { PictSectionRecordSet: import('../Pict-Section-RecordSet.js') }} */
5
- pict: any & import("pict") & {
6
- PictSectionRecordSet: {
7
- new (pFable: any, pOptions: any, pServiceHash: any): import("../services/RecordsSet-MetaController.js");
8
- default_configuration: Record<string, any>;
9
- PictRecordSetApplication: typeof import("../application/Pict-Application-RecordSet.js");
10
- RecordSetProviderBase: typeof import("../providers/RecordSet-RecordProvider-Base.js");
11
- RecordSetProviderMeadowEndpoints: typeof import("../providers/RecordSet-RecordProvider-MeadowEndpoints.js");
12
- };
13
- };
14
- /**
15
- * @param {Event} pEvent - The DOM event that triggered the search
16
- * @param {string} pRecordSet - The record set being filtered
17
- * @param {string} pViewContext - The view context for the filter (ex. List, Dashboard)
18
- */
19
- handleSearch(pEvent: Event, pRecordSet: string, pViewContext: string): void;
20
- /**
21
- * @param {string} pRecordSet - The record set being filtered
22
- * @param {string} pViewContext - The view context for the filter (ex. List, Dashboard)
23
- * @param {string} [pFilterString] - The filter string to apply, defaults to a single space if not provided
24
- */
25
- performSearch(pRecordSet: string, pViewContext: string, pFilterString?: string): void;
26
- /**
27
- * @param {Event} pEvent - The DOM event that triggered the search
28
- * @param {string} pRecordSet - The record set being filtered
29
- * @param {string} pViewContext - The view context for the filter (ex. List, Dashboard)
30
- */
31
- handleReset(pEvent: Event, pRecordSet: string, pViewContext: string): void;
32
- }
33
- declare namespace viewRecordSetSUBSETFilter {
34
- export { _DEFAULT_CONFIGURATION_SUBSET_Filter as default_configuration };
35
- }
36
- import libPictView = require("pict-view");
37
- /** @type {Record<string, any>} */
38
- declare const _DEFAULT_CONFIGURATION_SUBSET_Filter: Record<string, any>;
39
- //# sourceMappingURL=RecordSet-Filter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RecordSet-Filter.d.ts","sourceRoot":"","sources":["../../source/views/RecordSet-Filter.js"],"names":[],"mappings":";AA+EA;IAEC,2DAMC;IAFA,kHAAkH;IAClH,MADW,GAAe,GAAG,OAAO,MAAM,CAAC,GAAG;QAAE,oBAAoB,EAAE;;;;;;SAAsC,CAAA;KAAE,CACrG;IAGV;;;;OAIG;IACH,qBAJW,KAAK,cACL,MAAM,gBACN,MAAM,QAQhB;IAED;;;;OAIG;IACH,0BAJW,MAAM,gBACN,MAAM,kBACN,MAAM,QAmChB;IAED;;;;OAIG;IACH,oBAJW,KAAK,cACL,MAAM,gBACN,MAAM,QAOhB;CACD;;;;;AAvJD,kCAAkC;AAClC,oDADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA2E5B"}