pict-section-recordset 1.0.36 → 1.0.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/example_applications/simple_entity/Simple-RecordSet-Application.js +10 -0
- package/package.json +2 -2
- package/source/application/Pict-Application-RecordSet.js +4 -0
- package/source/providers/RecordSet-RecordProvider-MeadowEndpoints.js +82 -34
- package/source/services/RecordsSet-MetaController.js +14 -1
- package/source/views/RecordSet-Filters.js +19 -12
- package/source/views/dashboard/RecordSet-Dashboard-HeaderDashboard.js +2 -2
- package/source/views/dashboard/RecordSet-Dashboard-PaginationBottom.js +2 -2
- package/source/views/dashboard/RecordSet-Dashboard-PaginationTop.js +2 -2
- package/source/views/dashboard/RecordSet-Dashboard-RecordList.js +5 -5
- package/source/views/dashboard/RecordSet-Dashboard-RecordListEntry.js +2 -2
- package/source/views/dashboard/RecordSet-Dashboard-RecordListHeader.js +2 -2
- package/source/views/dashboard/RecordSet-Dashboard-Title.js +2 -2
- package/source/views/dashboard/RecordSet-Dashboard.js +3 -1
- package/source/views/filters/RecordSet-Filter-Base-Range.js +2 -2
- package/source/views/filters/RecordSet-Filter-Base.js +7 -2
- package/source/views/list/RecordSet-List.js +3 -1
- package/types/application/Pict-Application-RecordSet.d.ts.map +1 -1
- package/types/providers/RecordSet-RecordProvider-MeadowEndpoints.d.ts +9 -0
- package/types/providers/RecordSet-RecordProvider-MeadowEndpoints.d.ts.map +1 -1
- package/types/services/RecordsSet-MetaController.d.ts.map +1 -1
- package/types/views/RecordSet-Filters.d.ts +1 -0
- package/types/views/RecordSet-Filters.d.ts.map +1 -1
- package/types/views/dashboard/RecordSet-Dashboard-HeaderDashboard.d.ts +3 -3
- package/types/views/dashboard/RecordSet-Dashboard-PaginationBottom.d.ts +3 -3
- package/types/views/dashboard/RecordSet-Dashboard-PaginationTop.d.ts +3 -3
- package/types/views/dashboard/RecordSet-Dashboard-RecordList.d.ts +5 -5
- package/types/views/dashboard/RecordSet-Dashboard-RecordList.d.ts.map +1 -1
- package/types/views/dashboard/RecordSet-Dashboard-RecordListEntry.d.ts +3 -3
- package/types/views/dashboard/RecordSet-Dashboard-RecordListHeader.d.ts +3 -3
- package/types/views/dashboard/RecordSet-Dashboard-Title.d.ts +3 -3
- package/types/views/dashboard/RecordSet-Dashboard.d.ts.map +1 -1
- package/types/views/filters/RecordSet-Filter-Base.d.ts.map +1 -1
- package/types/views/list/RecordSet-List-RecordList.d.ts.map +1 -1
- package/types/views/list/RecordSet-List.d.ts.map +1 -1
|
@@ -230,6 +230,16 @@ module.exports.default_configuration.pict_configuration = (
|
|
|
230
230
|
"RecordSetType": "MeadowEndpoint", // Could be "Custom" which would require a provider to already be created for the record set.
|
|
231
231
|
"RecordSetMeadowEntity": "Book", // This leverages the /Schema endpoint to get the record set columns.
|
|
232
232
|
|
|
233
|
+
"RecordSetIgnoreFilterFields": [ "Deleted", "DeletingIDUser", "DeleteDate", "UpdateDate" ],
|
|
234
|
+
|
|
235
|
+
"RecordSetFieldFilterClauses":
|
|
236
|
+
{
|
|
237
|
+
"Title":
|
|
238
|
+
[
|
|
239
|
+
{ "FilterKey": "Title", "ClauseKey": "TitleMatch", "DisplayName": "Book Title Custom Filter", "Type": "StringMatch", "FilterByColumn": "Title", "ExactMatch": true }
|
|
240
|
+
]
|
|
241
|
+
},
|
|
242
|
+
|
|
233
243
|
"RecordSetListColumns": [
|
|
234
244
|
{
|
|
235
245
|
"Key": "Title",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pict-section-recordset",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.38",
|
|
4
4
|
"description": "Pict dynamic record set management views",
|
|
5
5
|
"main": "source/Pict-Section-RecordSet.js",
|
|
6
6
|
"directories": {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"pict-application": "^1.0.27",
|
|
38
38
|
"pict-service-commandlineutility": "^1.0.15",
|
|
39
39
|
"quackage": "^1.0.42",
|
|
40
|
-
"typescript": "^5.
|
|
40
|
+
"typescript": "^5.9.2"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"fable-serviceproviderbase": "^3.0.15",
|
|
@@ -45,6 +45,10 @@ class PictSectionRecordSetApplication extends libPictApplication
|
|
|
45
45
|
|
|
46
46
|
onAfterInitialize()
|
|
47
47
|
{
|
|
48
|
+
if (this.pict.CSSMap)
|
|
49
|
+
{
|
|
50
|
+
this.pict.CSSMap.injectCSS();
|
|
51
|
+
}
|
|
48
52
|
// Now add the routes
|
|
49
53
|
this.pict.providers.RecordSetRouter.addRoutes(this.fable.providers.RecordSetRouter.pictRouter);
|
|
50
54
|
|
|
@@ -52,16 +52,32 @@ class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
|
|
|
52
52
|
/** @return {import('pict/types/source/Pict-Meadow-EntityProvider.js')} */
|
|
53
53
|
get entityProvider()
|
|
54
54
|
{
|
|
55
|
-
|
|
56
|
-
//TODO: figure out a pattern to share this with other consumers, to consolidate cache
|
|
57
|
-
this._EntityProvider = this.pict.instantiateServiceProviderWithoutRegistration('EntityProvider');
|
|
58
|
-
if (this.options.URLPrefix)
|
|
55
|
+
if (!this._EntityProvider)
|
|
59
56
|
{
|
|
60
|
-
|
|
57
|
+
/** @type {import('pict/types/source/Pict-Meadow-EntityProvider.js')} */
|
|
58
|
+
//TODO: figure out a pattern to share this with other consumers, to consolidate cache
|
|
59
|
+
this._EntityProvider = this.pict.instantiateServiceProviderWithoutRegistration('EntityProvider');
|
|
60
|
+
if (this.options.URLPrefix)
|
|
61
|
+
{
|
|
62
|
+
this._EntityProvider.options.urlPrefix = this.options.URLPrefix;
|
|
63
|
+
}
|
|
61
64
|
}
|
|
65
|
+
|
|
62
66
|
return this._EntityProvider;
|
|
63
67
|
}
|
|
64
68
|
|
|
69
|
+
/**
|
|
70
|
+
* @return {Array<string>} - The fields to ignore for filter availability.
|
|
71
|
+
*/
|
|
72
|
+
get ignoreFilterFields()
|
|
73
|
+
{
|
|
74
|
+
if (Array.isArray(this.options.IgnoreFilterFields))
|
|
75
|
+
{
|
|
76
|
+
return this.options.IgnoreFilterFields;
|
|
77
|
+
}
|
|
78
|
+
return [];
|
|
79
|
+
}
|
|
80
|
+
|
|
65
81
|
/**
|
|
66
82
|
* Get a record by its ID or GUID.
|
|
67
83
|
*
|
|
@@ -166,7 +182,7 @@ class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
|
|
|
166
182
|
return new Promise((resolve, reject) =>
|
|
167
183
|
{
|
|
168
184
|
const [ tmpClauses, tmpExperience ] = this._prepareFilterState(tmpEntity, pOptions);
|
|
169
|
-
this.pict.providers.FilterManager.loadRecordPageByFilterUsingProvider(this.
|
|
185
|
+
this.pict.providers.FilterManager.loadRecordPageByFilterUsingProvider(this.entityProvider, tmpClauses, tmpExperience, pOptions.Offset || 0, pOptions.PageSize || 250, (pError) =>
|
|
170
186
|
{
|
|
171
187
|
if (pError)
|
|
172
188
|
{
|
|
@@ -211,7 +227,7 @@ class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
|
|
|
211
227
|
return new Promise((resolve, reject) =>
|
|
212
228
|
{
|
|
213
229
|
const [ tmpClauses, tmpExperience ] = this._prepareFilterState(tmpEntity, pOptions, 'Count');
|
|
214
|
-
this.pict.providers.FilterManager.countRecordsByFilterUsingProivider(this.
|
|
230
|
+
this.pict.providers.FilterManager.countRecordsByFilterUsingProivider(this.entityProvider, tmpClauses, tmpExperience, (pError) =>
|
|
215
231
|
{
|
|
216
232
|
if (pError)
|
|
217
233
|
{
|
|
@@ -346,6 +362,43 @@ class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
|
|
|
346
362
|
return pRecord;
|
|
347
363
|
}
|
|
348
364
|
|
|
365
|
+
/**
|
|
366
|
+
* @param {string} pSchemaField - The schema field name.
|
|
367
|
+
* @param {Record<string, any>} pColumn - The full column definition from the schema.
|
|
368
|
+
*/
|
|
369
|
+
getFieldFilterClauses(pSchemaField, pColumn)
|
|
370
|
+
{
|
|
371
|
+
let tmpFieldFilterClauses = this.options.FieldFilterClauses?.[pSchemaField];
|
|
372
|
+
if (!Array.isArray(tmpFieldFilterClauses))
|
|
373
|
+
{
|
|
374
|
+
tmpFieldFilterClauses = [];
|
|
375
|
+
const tmpFieldHumanName = this._getHumanReadableFieldName(pSchemaField);
|
|
376
|
+
switch (pColumn.type)
|
|
377
|
+
{
|
|
378
|
+
case 'string':
|
|
379
|
+
tmpFieldFilterClauses.push({ FilterKey: pSchemaField, ClauseKey: `${pSchemaField}_Match_Exact`, DisplayName: `${tmpFieldHumanName} Exact Match`, Type: 'StringMatch', FilterByColumn: pSchemaField, ExactMatch: true, Ordinal: tmpFieldFilterClauses.length + 1 });
|
|
380
|
+
tmpFieldFilterClauses.push({ FilterKey: pSchemaField, ClauseKey: `${pSchemaField}_Match_Fuzzy`, DisplayName: `${tmpFieldHumanName} Partial Match`, Type: 'StringMatch', FilterByColumn: pSchemaField, ExactMatch: false , Ordinal: tmpFieldFilterClauses.length + 1 });
|
|
381
|
+
tmpFieldFilterClauses.push({ FilterKey: pSchemaField, ClauseKey: `${pSchemaField}_Range`, DisplayName: `${tmpFieldHumanName} in Range`, Type: 'StringRange', FilterByColumn: pSchemaField , Ordinal: tmpFieldFilterClauses.length + 1 });
|
|
382
|
+
break;
|
|
383
|
+
case 'date':
|
|
384
|
+
case 'datetime':
|
|
385
|
+
tmpFieldFilterClauses.push({ FilterKey: pSchemaField, ClauseKey: `${pSchemaField}_Match_Exact`, DisplayName: `${tmpFieldHumanName} Exact Match`, Type: 'DateMatch', FilterByColumn: pSchemaField, ExactMatch: true , Ordinal: tmpFieldFilterClauses.length + 1 });
|
|
386
|
+
tmpFieldFilterClauses.push({ FilterKey: pSchemaField, ClauseKey: `${pSchemaField}_Match_Fuzzy`, DisplayName: `${tmpFieldHumanName} Partial Match`, Type: 'DateMatch', FilterByColumn: pSchemaField, ExactMatch: false , Ordinal: tmpFieldFilterClauses.length + 1 });
|
|
387
|
+
tmpFieldFilterClauses.push({ FilterKey: pSchemaField, ClauseKey: `${pSchemaField}_Range`, DisplayName: `${tmpFieldHumanName} in Range`, Type: 'DateRange', FilterByColumn: pSchemaField , Ordinal: tmpFieldFilterClauses.length + 1 });
|
|
388
|
+
break;
|
|
389
|
+
case 'boolean': //TODO: we didn't add filters for this - they are just numeric but it's weird for the user, maybe we should add views for this that account for the difference
|
|
390
|
+
case 'integer':
|
|
391
|
+
tmpFieldFilterClauses.push({ FilterKey: pSchemaField, ClauseKey: `${pSchemaField}_Match_Exact`, DisplayName: `${tmpFieldHumanName} Exact Match`, Type: 'NumericMatch', FilterByColumn: pSchemaField, ExactMatch: true , Ordinal: tmpFieldFilterClauses.length + 1 });
|
|
392
|
+
tmpFieldFilterClauses.push({ FilterKey: pSchemaField, ClauseKey: `${pSchemaField}_Match_Fuzzy`, DisplayName: `${tmpFieldHumanName} Partial Match`, Type: 'NumericMatch', FilterByColumn: pSchemaField, ExactMatch: false , Ordinal: tmpFieldFilterClauses.length + 1 });
|
|
393
|
+
tmpFieldFilterClauses.push({ FilterKey: pSchemaField, ClauseKey: `${pSchemaField}_Range`, DisplayName: `${tmpFieldHumanName} in Range`, Type: 'NumericRange', FilterByColumn: pSchemaField , Ordinal: tmpFieldFilterClauses.length + 1 });
|
|
394
|
+
break;
|
|
395
|
+
default:
|
|
396
|
+
this.pict.log.warn(`Unsupported field type ${pColumn.type} for field ${pSchemaField}`, { Schema: pColumn });
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
return tmpFieldFilterClauses;
|
|
400
|
+
}
|
|
401
|
+
|
|
349
402
|
/**
|
|
350
403
|
* @param {(error?: Error) => void} fCallback - The callback function.
|
|
351
404
|
*/
|
|
@@ -412,6 +465,10 @@ class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
|
|
|
412
465
|
if (tmpExperience.Default && !tmpEntityFilterState.FilterClauses)
|
|
413
466
|
{
|
|
414
467
|
tmpEntityFilterState.FilterClauses = JSON.parse(JSON.stringify(this._Experiences[tmpKey].FilterClauses));
|
|
468
|
+
for (const tmpClause of tmpEntityFilterState.FilterClauses)
|
|
469
|
+
{
|
|
470
|
+
tmpClause.Hash = `${tmpClause.FilterByColumn}-${tmpClause.Type}-${this.pict.getUUID()}`;
|
|
471
|
+
}
|
|
415
472
|
}
|
|
416
473
|
continue;
|
|
417
474
|
}
|
|
@@ -430,15 +487,15 @@ class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
|
|
|
430
487
|
return fCallback(pError);
|
|
431
488
|
}
|
|
432
489
|
const tmpProperties = tmpSchema?.properties;
|
|
433
|
-
// loop
|
|
490
|
+
// loop through the schema and add the columns to the tableCells
|
|
434
491
|
let tmpOrdinal = 0;
|
|
435
492
|
for (const tmpSchemaField in tmpProperties)
|
|
436
493
|
{
|
|
437
|
-
|
|
438
|
-
if (tmpSchemaField === 'Deleted' || tmpSchemaField === 'DeletingIDUser')
|
|
494
|
+
if (this.ignoreFilterFields.includes(tmpSchemaField))
|
|
439
495
|
{
|
|
440
496
|
continue;
|
|
441
497
|
}
|
|
498
|
+
++tmpOrdinal;
|
|
442
499
|
const tmpColumn = tmpProperties[tmpSchemaField];
|
|
443
500
|
let tmpFieldFilterSchema = this._FilterSchema[tmpSchemaField];
|
|
444
501
|
if (!tmpFieldFilterSchema)
|
|
@@ -473,28 +530,15 @@ class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
|
|
|
473
530
|
{
|
|
474
531
|
tmpFieldFilterSchema.AvailableClauses = [];
|
|
475
532
|
}
|
|
476
|
-
const
|
|
477
|
-
|
|
533
|
+
const tmpFieldFilterClauses = this.getFieldFilterClauses(tmpSchemaField, tmpColumn);
|
|
534
|
+
if (Array.isArray(tmpFieldFilterClauses) && tmpFieldFilterClauses.length > 0)
|
|
478
535
|
{
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
case 'datetime':
|
|
486
|
-
tmpFieldFilterSchema.AvailableClauses.push({ FilterKey: tmpSchemaField, ClauseKey: `${tmpSchemaField}_Match_Exact`, DisplayName: `${tmpFieldHumanName} Exact Match`, Type: 'DateMatch', FilterByColumn: tmpSchemaField, ExactMatch: true , Ordinal: tmpFieldFilterSchema.AvailableClauses.length + 1 });
|
|
487
|
-
tmpFieldFilterSchema.AvailableClauses.push({ FilterKey: tmpSchemaField, ClauseKey: `${tmpSchemaField}_Match_Fuzzy`, DisplayName: `${tmpFieldHumanName} Partial Match`, Type: 'DateMatch', FilterByColumn: tmpSchemaField, ExactMatch: false , Ordinal: tmpFieldFilterSchema.AvailableClauses.length + 1 });
|
|
488
|
-
tmpFieldFilterSchema.AvailableClauses.push({ FilterKey: tmpSchemaField, ClauseKey: `${tmpSchemaField}_Range`, DisplayName: `${tmpFieldHumanName} in Range`, Type: 'DateRange', FilterByColumn: tmpSchemaField , Ordinal: tmpFieldFilterSchema.AvailableClauses.length + 1 });
|
|
489
|
-
break;
|
|
490
|
-
case 'boolean': //TODO: we didn't add filters for this - they are just numeric but it's weird for the user, maybe we should add views for this that account for the difference
|
|
491
|
-
case 'integer':
|
|
492
|
-
tmpFieldFilterSchema.AvailableClauses.push({ FilterKey: tmpSchemaField, ClauseKey: `${tmpSchemaField}_Match_Exact`, DisplayName: `${tmpFieldHumanName} Exact Match`, Type: 'NumericMatch', FilterByColumn: tmpSchemaField, ExactMatch: true , Ordinal: tmpFieldFilterSchema.AvailableClauses.length + 1 });
|
|
493
|
-
tmpFieldFilterSchema.AvailableClauses.push({ FilterKey: tmpSchemaField, ClauseKey: `${tmpSchemaField}_Match_Fuzzy`, DisplayName: `${tmpFieldHumanName} Partial Match`, Type: 'NumericMatch', FilterByColumn: tmpSchemaField, ExactMatch: false , Ordinal: tmpFieldFilterSchema.AvailableClauses.length + 1 });
|
|
494
|
-
tmpFieldFilterSchema.AvailableClauses.push({ FilterKey: tmpSchemaField, ClauseKey: `${tmpSchemaField}_Range`, DisplayName: `${tmpFieldHumanName} in Range`, Type: 'NumericRange', FilterByColumn: tmpSchemaField , Ordinal: tmpFieldFilterSchema.AvailableClauses.length + 1 });
|
|
495
|
-
break;
|
|
496
|
-
default:
|
|
497
|
-
this.pict.log.warn(`Unsupported field type ${tmpColumn.type} for field ${tmpSchemaField}`, { Schema: tmpColumn });
|
|
536
|
+
for (const tmpFilterClause of tmpFieldFilterClauses)
|
|
537
|
+
{
|
|
538
|
+
//TODO: allow customization of filter order
|
|
539
|
+
tmpFilterClause.Ordinal = tmpFieldFilterSchema.AvailableClauses.length + 1;
|
|
540
|
+
tmpFieldFilterSchema.AvailableClauses.push(tmpFilterClause);
|
|
541
|
+
}
|
|
498
542
|
}
|
|
499
543
|
}
|
|
500
544
|
if (typeof this.pict.providers.FilterManager.filters === 'object')
|
|
@@ -518,9 +562,14 @@ class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
|
|
|
518
562
|
{
|
|
519
563
|
tmpFieldFilterSchema.RecordSet = this.options.RecordSet;
|
|
520
564
|
}
|
|
565
|
+
const tmpFieldHumanName = this._getHumanReadableFieldName(tmpFilterKey);
|
|
566
|
+
if (tmpFilterClause.DisplayName)
|
|
567
|
+
{
|
|
568
|
+
tmpFieldFilterSchema.DisplayName = tmpFilterClause.DisplayName;
|
|
569
|
+
}
|
|
521
570
|
if (!tmpFieldFilterSchema.DisplayName)
|
|
522
571
|
{
|
|
523
|
-
tmpFieldFilterSchema.DisplayName =
|
|
572
|
+
tmpFieldFilterSchema.DisplayName = tmpFieldHumanName;
|
|
524
573
|
}
|
|
525
574
|
if (!tmpFieldFilterSchema.Description)
|
|
526
575
|
{
|
|
@@ -538,7 +587,6 @@ class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
|
|
|
538
587
|
{
|
|
539
588
|
tmpFieldFilterSchema.AvailableClauses = [];
|
|
540
589
|
}
|
|
541
|
-
const tmpFieldHumanName = this._getHumanReadableFieldName(tmpFilterKey);
|
|
542
590
|
tmpFieldFilterSchema.AvailableClauses.push(tmpFilterClause);
|
|
543
591
|
if (!tmpFilterClause.FilterKey)
|
|
544
592
|
{
|
|
@@ -624,7 +672,7 @@ class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
|
|
|
624
672
|
{
|
|
625
673
|
if (error)
|
|
626
674
|
{
|
|
627
|
-
this.fable.log.error(
|
|
675
|
+
this.fable.log.error(`Error fetching schema: ${error?.message || error}`, { Stack: error?.stack });
|
|
628
676
|
this._Schema = null;
|
|
629
677
|
return fCallback(error);
|
|
630
678
|
}
|
|
@@ -168,11 +168,24 @@ class RecordSetMetacontroller extends libFableServiceProviderBase
|
|
|
168
168
|
{
|
|
169
169
|
providerConfiguration.URLPrefix = '/1.0/';
|
|
170
170
|
}
|
|
171
|
+
if (`RecordSetIgnoreFilterFields` in pRecordSetConfiguration)
|
|
172
|
+
{
|
|
173
|
+
providerConfiguration.IgnoreFilterFields = pRecordSetConfiguration.RecordSetIgnoreFilterFields;
|
|
174
|
+
}
|
|
175
|
+
else
|
|
176
|
+
{
|
|
177
|
+
providerConfiguration.IgnoreFilterFields = [ 'Deleted', 'DeletingIDUser', 'DeleteDate' ];
|
|
178
|
+
}
|
|
179
|
+
if (`RecordSetFieldFilterClauses` in pRecordSetConfiguration)
|
|
180
|
+
{
|
|
181
|
+
providerConfiguration.FieldFilterClauses = pRecordSetConfiguration.RecordSetFieldFilterClauses;
|
|
182
|
+
}
|
|
183
|
+
|
|
171
184
|
tmpProvider = this.recordSetProviders[pRecordSetConfiguration.RecordSet] = this.fable.addProvider(providerConfiguration.Hash, providerConfiguration, ProviderMeadowEndpoints);
|
|
172
185
|
break;
|
|
173
186
|
default:
|
|
174
187
|
case 'Custom':
|
|
175
|
-
// Create a custom provider
|
|
188
|
+
// Create a custom provider
|
|
176
189
|
if (`ProviderHash` in providerConfiguration)
|
|
177
190
|
{
|
|
178
191
|
if (!(providerConfiguration.ProviderHash in this.fable.servicesMap))
|
|
@@ -31,16 +31,14 @@ const _DEFAULT_CONFIGURATION_SUBSET_Filter =
|
|
|
31
31
|
Hash: 'PRSP-SUBSET-Filters-Template',
|
|
32
32
|
Template: /*html*/`
|
|
33
33
|
<!-- DefaultPackage pict view template: [PRSP-SUBSET-Filters-Template] -->
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
</form>
|
|
43
|
-
</section>
|
|
34
|
+
<form id="PRSP_Filter_Form" onsubmit="_Pict.views['PRSP-Filters'].handleSearch(event, '{~D:Record.RecordSet~}', '{~D:Record.ViewContext~}'); return false;">
|
|
35
|
+
{~T:PRSP-SUBSET-Filters-Template-Input-Fieldset~}
|
|
36
|
+
<div id="PRSP_Filter_Instances">
|
|
37
|
+
{~FIV:Record~}
|
|
38
|
+
</div>
|
|
39
|
+
{~T:PRSP-SUBSET-Filters-Template-Button-Fieldset~}
|
|
40
|
+
{~T:PRSP-SUBSET-Filters-Template-AddFilter-Fieldset~}
|
|
41
|
+
</form>
|
|
44
42
|
<!-- DefaultPackage end view template: [PRSP-SUBSET-Filters-Template] -->
|
|
45
43
|
`
|
|
46
44
|
},
|
|
@@ -49,8 +47,8 @@ const _DEFAULT_CONFIGURATION_SUBSET_Filter =
|
|
|
49
47
|
Template: /*html*/`
|
|
50
48
|
<!-- DefaultPackage pict view template: [PRSP-SUBSET-Filters-Template-Input-Fieldset] -->
|
|
51
49
|
<fieldset>
|
|
52
|
-
<label for="
|
|
53
|
-
<input type="text" name="filter">
|
|
50
|
+
<label for="search_filter">Filter:</label>
|
|
51
|
+
<input id="search_filter" type="text" name="filter">
|
|
54
52
|
</fieldset>
|
|
55
53
|
<!-- DefaultPackage end view template: [PRSP-SUBSET-Filters-Template-Input-Fieldset] -->
|
|
56
54
|
`
|
|
@@ -371,6 +369,15 @@ class ViewRecordSetSUBSETFilters extends libPictView
|
|
|
371
369
|
this.render(undefined, undefined, { RecordSet: pRecordSet, ViewContext: pViewContext });
|
|
372
370
|
}
|
|
373
371
|
|
|
372
|
+
removeFilter(pEvent, pRecordSet, pViewContext, pSpecificFilterKey)
|
|
373
|
+
{
|
|
374
|
+
pEvent?.preventDefault();
|
|
375
|
+
this.pict.log.info(`Removing filter: ${pSpecificFilterKey} from record set: ${pRecordSet} in view context: ${pViewContext}`);
|
|
376
|
+
this.pict.providers[`RSP-Provider-${pRecordSet}`].removeFilterClause(pSpecificFilterKey);
|
|
377
|
+
//FIXME: we need the record from the original render here but no longer have it...
|
|
378
|
+
this.render(undefined, undefined, { RecordSet: pRecordSet, ViewContext: pViewContext });
|
|
379
|
+
}
|
|
380
|
+
|
|
374
381
|
getFilterSchema(pRecordSet)
|
|
375
382
|
{
|
|
376
383
|
const tmpRecordsetProvider = this.pict.providers['RSP-Provider-' + pRecordSet];
|
|
@@ -49,7 +49,7 @@ const _DEFAULT_CONFIGURATION_Dashboard_HeaderList =
|
|
|
49
49
|
Manifests: {},
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
-
class
|
|
52
|
+
class viewRecordSetDashboardHeaderList extends libPictView
|
|
53
53
|
{
|
|
54
54
|
constructor(pFable, pOptions, pServiceHash)
|
|
55
55
|
{
|
|
@@ -58,7 +58,7 @@ class viewRecordSetListHeaderList extends libPictView
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
module.exports =
|
|
61
|
+
module.exports = viewRecordSetDashboardHeaderList;
|
|
62
62
|
|
|
63
63
|
module.exports.default_configuration = _DEFAULT_CONFIGURATION_Dashboard_HeaderList;
|
|
64
64
|
|
|
@@ -53,7 +53,7 @@ const _DEFAULT_CONFIGURATION_List_PaginationBottom = (
|
|
|
53
53
|
Manifests: {}
|
|
54
54
|
});
|
|
55
55
|
|
|
56
|
-
class
|
|
56
|
+
class viewRecordSetDashboardPaginationBottom extends libPictView
|
|
57
57
|
{
|
|
58
58
|
constructor(pFable, pOptions, pServiceHash)
|
|
59
59
|
{
|
|
@@ -62,7 +62,7 @@ class viewRecordSetListPaginationBottom extends libPictView
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
module.exports =
|
|
65
|
+
module.exports = viewRecordSetDashboardPaginationBottom;
|
|
66
66
|
|
|
67
67
|
module.exports.default_configuration = _DEFAULT_CONFIGURATION_List_PaginationBottom;
|
|
68
68
|
|
|
@@ -113,7 +113,7 @@ const _DEFAULT_CONFIGURATION_List_PaginationTop = (
|
|
|
113
113
|
Manifests: {}
|
|
114
114
|
});
|
|
115
115
|
|
|
116
|
-
class
|
|
116
|
+
class viewRecordSetDashboardPaginationTop extends libPictView
|
|
117
117
|
{
|
|
118
118
|
constructor(pFable, pOptions, pServiceHash)
|
|
119
119
|
{
|
|
@@ -122,7 +122,7 @@ class viewRecordSetListPaginationTop extends libPictView
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
module.exports =
|
|
125
|
+
module.exports = viewRecordSetDashboardPaginationTop;
|
|
126
126
|
|
|
127
127
|
module.exports.default_configuration = _DEFAULT_CONFIGURATION_List_PaginationTop;
|
|
128
128
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const libPictView = require('pict-view');
|
|
2
2
|
|
|
3
3
|
/** @type {Record<string, any>} */
|
|
4
|
-
const
|
|
4
|
+
const _DEFAULT_CONFIGURATION_Dashboard_RecordList =
|
|
5
5
|
{
|
|
6
6
|
ViewIdentifier: 'PRSP-Dashboard-RecordList',
|
|
7
7
|
|
|
@@ -65,16 +65,16 @@ const _DEFAULT_CONFIGURATION_List_RecordList =
|
|
|
65
65
|
Manifests: {}
|
|
66
66
|
};
|
|
67
67
|
|
|
68
|
-
class
|
|
68
|
+
class viewRecordSetDashboardRecordList extends libPictView
|
|
69
69
|
{
|
|
70
70
|
constructor(pFable, pOptions, pServiceHash)
|
|
71
71
|
{
|
|
72
|
-
let tmpOptions = Object.assign({},
|
|
72
|
+
let tmpOptions = Object.assign({}, _DEFAULT_CONFIGURATION_Dashboard_RecordList, pOptions);
|
|
73
73
|
super(pFable, tmpOptions, pServiceHash);
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
module.exports =
|
|
77
|
+
module.exports = viewRecordSetDashboardRecordList;
|
|
78
78
|
|
|
79
|
-
module.exports.default_configuration =
|
|
79
|
+
module.exports.default_configuration = _DEFAULT_CONFIGURATION_Dashboard_RecordList;
|
|
80
80
|
|
|
@@ -106,7 +106,7 @@ const _DEFAULT_CONFIGURATION_List_RecordListEntry = (
|
|
|
106
106
|
Manifests: {}
|
|
107
107
|
});
|
|
108
108
|
|
|
109
|
-
class
|
|
109
|
+
class viewRecordSetDashboardRecordListEntry extends libPictView
|
|
110
110
|
{
|
|
111
111
|
constructor(pFable, pOptions, pServiceHash)
|
|
112
112
|
{
|
|
@@ -115,7 +115,7 @@ class viewRecordSetListRecordListEntry extends libPictView
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
module.exports =
|
|
118
|
+
module.exports = viewRecordSetDashboardRecordListEntry;
|
|
119
119
|
|
|
120
120
|
module.exports.default_configuration = _DEFAULT_CONFIGURATION_List_RecordListEntry;
|
|
121
121
|
|
|
@@ -96,7 +96,7 @@ const _DEFAULT_CONFIGURATION_List_RecordListHeader = (
|
|
|
96
96
|
Manifests: {}
|
|
97
97
|
});
|
|
98
98
|
|
|
99
|
-
class
|
|
99
|
+
class viewRecordSetDashboardRecordListHeader extends libPictView
|
|
100
100
|
{
|
|
101
101
|
constructor(pFable, pOptions, pServiceHash)
|
|
102
102
|
{
|
|
@@ -105,7 +105,7 @@ class viewRecordSetListRecordListHeader extends libPictView
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
module.exports =
|
|
108
|
+
module.exports = viewRecordSetDashboardRecordListHeader;
|
|
109
109
|
|
|
110
110
|
module.exports.default_configuration = _DEFAULT_CONFIGURATION_List_RecordListHeader;
|
|
111
111
|
|
|
@@ -53,7 +53,7 @@ const _DEFAULT_CONFIGURATION_List_Title =
|
|
|
53
53
|
Manifests: {},
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
-
class
|
|
56
|
+
class viewRecordSetDashboardTitle extends libPictView
|
|
57
57
|
{
|
|
58
58
|
constructor(pFable, pOptions, pServiceHash)
|
|
59
59
|
{
|
|
@@ -62,6 +62,6 @@ class viewRecordSetListTitle extends libPictView
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
module.exports =
|
|
65
|
+
module.exports = viewRecordSetDashboardTitle;
|
|
66
66
|
|
|
67
67
|
module.exports.default_configuration = _DEFAULT_CONFIGURATION_List_Title;
|
|
@@ -43,7 +43,9 @@ const _DEFAULT_CONFIGURATION__Dashboard = (
|
|
|
43
43
|
<section id="PRSP_List_Container">
|
|
44
44
|
{~V:PRSP-Dashboard-Title~}
|
|
45
45
|
{~V:PRSP-Dashboard-HeaderDashboard~}
|
|
46
|
-
|
|
46
|
+
<section id="PRSP_Filters_Container">
|
|
47
|
+
{~FV:PRSP-Filters:Dashboard~}
|
|
48
|
+
</section>
|
|
47
49
|
{~V:PRSP-Dashboard-PaginationTop~}
|
|
48
50
|
{~V:PRSP-Dashboard-RecordList~}
|
|
49
51
|
{~V:PRSP-Dashboard-PaginationBottom~}
|
|
@@ -20,7 +20,7 @@ class ViewRecordSetSUBSETFilterBaseRange extends ViewRecordSetSUBSETFilterBase
|
|
|
20
20
|
|
|
21
21
|
pRecord.StartClauseDescriptor =
|
|
22
22
|
{
|
|
23
|
-
Hash: this.fable.DataFormat.sanitizeObjectKey(this.constructor.name),
|
|
23
|
+
Hash: this.fable.DataFormat.sanitizeObjectKey(`${pRecord.StartClauseAddress}_${this.constructor.name}`),
|
|
24
24
|
Address: pRecord.StartClauseAddress,
|
|
25
25
|
//TODO: figure out a nice pattern for extracting a name for the field from the filter - and allow the filter author to provide the label here
|
|
26
26
|
Name: pRecord.MinimumLabel || `Minimum ${pRecord.ExternalFilterByColumn || pRecord.ExternalFilterByColumns?.[0] || pRecord.FilterByColumn || pRecord.FilterByColumns?.[0] || 'Value'}`,
|
|
@@ -29,7 +29,7 @@ class ViewRecordSetSUBSETFilterBaseRange extends ViewRecordSetSUBSETFilterBase
|
|
|
29
29
|
|
|
30
30
|
pRecord.EndClauseDescriptor =
|
|
31
31
|
{
|
|
32
|
-
Hash: this.fable.DataFormat.sanitizeObjectKey(this.constructor.name),
|
|
32
|
+
Hash: this.fable.DataFormat.sanitizeObjectKey(`${pRecord.EndClauseAddress}_${this.constructor.name}`),
|
|
33
33
|
Address: pRecord.EndClauseAddress,
|
|
34
34
|
Name: pRecord.MaximumLabel || `Maximum ${pRecord.ExternalFilterByColumn || pRecord.ExternalFilterByColumns?.[0] || pRecord.FilterByColumn || pRecord.FilterByColumns?.[0] || 'Value'}`,
|
|
35
35
|
DataType: 'String',
|
|
@@ -33,7 +33,7 @@ const _DEFAULT_CONFIGURATION_SUBSET_Filter =
|
|
|
33
33
|
Hash: 'PRSP-Filter-Base-Form',
|
|
34
34
|
Template: /*html*/`
|
|
35
35
|
<!-- DefaultPackage pict view template: [PRSP-Filter-Base-Form] -->
|
|
36
|
-
{~
|
|
36
|
+
{~DJ:Record~}
|
|
37
37
|
<!-- DefaultPackage end view template: [PRSP-Filter-Base-Form] -->
|
|
38
38
|
`
|
|
39
39
|
},
|
|
@@ -42,6 +42,11 @@ const _DEFAULT_CONFIGURATION_SUBSET_Filter =
|
|
|
42
42
|
Template: /*html*/`
|
|
43
43
|
<!-- DefaultPackage pict view template: [PRSP-Filter-Base-Template] -->
|
|
44
44
|
<div>
|
|
45
|
+
<button type="button"
|
|
46
|
+
onclick="_Pict.views['PRSP-Filters'].removeFilter(event, '{~D:Record.RecordSet~}', '{~D:Record.ViewContext~}', '{~D:Record.Hash~}');"
|
|
47
|
+
>
|
|
48
|
+
-
|
|
49
|
+
</button>
|
|
45
50
|
{~TBR:Context[0].getFilterFormTemplate()~}
|
|
46
51
|
</div>
|
|
47
52
|
<!-- DefaultPackage end view template: [PRSP-Filter-Base-Template] -->
|
|
@@ -81,7 +86,7 @@ class ViewRecordSetSUBSETFilterBase extends libPictView
|
|
|
81
86
|
pRecord.ClauseDescriptor =
|
|
82
87
|
{
|
|
83
88
|
Address: pRecord.ClauseValueAddress,
|
|
84
|
-
Hash: this.fable.DataFormat.sanitizeObjectKey(this.constructor.name),
|
|
89
|
+
Hash: this.fable.DataFormat.sanitizeObjectKey(`${pRecord.ClauseValueAddress}_${this.constructor.name}`),
|
|
85
90
|
//TODO: figure out a nice pattern for extracting a name for the field from the filter - and allow the filter author to provide the label here
|
|
86
91
|
Name: pRecord.Label || pRecord.ExternalFilterByColumn || pRecord.ExternalFilterByColumns?.[0] || pRecord.FilterByColumn || pRecord.FilterByColumns?.[0] || 'Value',
|
|
87
92
|
DataType: 'String',
|
|
@@ -43,7 +43,9 @@ const _DEFAULT_CONFIGURATION__List = (
|
|
|
43
43
|
<section id="PRSP_List_Container">
|
|
44
44
|
{~V:PRSP-List-Title~}
|
|
45
45
|
{~V:PRSP-List-HeaderList~}
|
|
46
|
-
|
|
46
|
+
<section id="PRSP_Filters_Container">
|
|
47
|
+
{~FV:PRSP-Filters:List~}
|
|
48
|
+
</section>
|
|
47
49
|
{~V:PRSP-List-PaginationTop~}
|
|
48
50
|
{~V:PRSP-List-RecordList~}
|
|
49
51
|
{~V:PRSP-List-PaginationBottom~}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pict-Application-RecordSet.d.ts","sourceRoot":"","sources":["../../source/application/Pict-Application-RecordSet.js"],"names":[],"mappings":";AAOA;;;;;;;GAOG;AACH;IAEC,2DAeC;
|
|
1
|
+
{"version":3,"file":"Pict-Application-RecordSet.d.ts","sourceRoot":"","sources":["../../source/application/Pict-Application-RecordSet.js"],"names":[],"mappings":";AAOA;;;;;;;GAOG;AACH;IAEC,2DAeC;CAwBD;;;;;qCAIU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC"}
|
|
@@ -70,6 +70,10 @@ declare class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
|
|
|
70
70
|
get entityProvider(): import("pict/types/source/Pict-Meadow-EntityProvider.js");
|
|
71
71
|
/** @type {import('pict/types/source/Pict-Meadow-EntityProvider.js')} */
|
|
72
72
|
_EntityProvider: import("pict/types/source/Pict-Meadow-EntityProvider.js");
|
|
73
|
+
/**
|
|
74
|
+
* @return {Array<string>} - The fields to ignore for filter availability.
|
|
75
|
+
*/
|
|
76
|
+
get ignoreFilterFields(): Array<string>;
|
|
73
77
|
/**
|
|
74
78
|
* Get a record by its ID or GUID.
|
|
75
79
|
*
|
|
@@ -119,6 +123,11 @@ declare class MeadowEndpointsRecordSetProvider extends libRecordSetProviderBase
|
|
|
119
123
|
* @param {Record<string, any>} pRecord - The record to clone.
|
|
120
124
|
*/
|
|
121
125
|
cloneRecord(pRecord: Record<string, any>): Promise<any>;
|
|
126
|
+
/**
|
|
127
|
+
* @param {string} pSchemaField - The schema field name.
|
|
128
|
+
* @param {Record<string, any>} pColumn - The full column definition from the schema.
|
|
129
|
+
*/
|
|
130
|
+
getFieldFilterClauses(pSchemaField: string, pColumn: Record<string, any>): any;
|
|
122
131
|
/**
|
|
123
132
|
* @param {(error?: Error) => void} fCallback - The callback function.
|
|
124
133
|
*/
|
|
@@ -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,CACZ;IAClB,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,
|
|
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,CACZ;IAClB,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;;;;OAIG;IACH,uBAFW,MAAM,GAAC,MAAM,gBA2BvB;IAED,iGAiBC;IA+CD;;;;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;;;OAGG;IACH,oCAHW,MAAM,WACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAiC7B;IAED;;OAEG;IACH,6BAFW,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,QA+MjC;IAED;;;OAGG;IACH,oCAHW,MAAM,GACL,MAAM,CAKjB;IAED;;;OAGG;IACH,yCAHW,MAAM,GACL,MAAM,CAiCjB;IAED;;OAEG;IACH,kCAFW,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,QA6BjC;IAED,gDAcC;CAsCD;;;;;uBAjuBY,OAAO,oCAAoC,EAAE,eAAe;uBAC5D,OAAO,oCAAoC,EAAE,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordsSet-MetaController.d.ts","sourceRoot":"","sources":["../../source/services/RecordsSet-MetaController.js"],"names":[],"mappings":";AAwBA;IAEC,2DA0CC;IArCA,0JAA0J;IAC1J,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,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,CAC5I;IACV;2CAFiE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,GAAG;qBAAe,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG;MAE9H;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;IAiC7B;;OAEG;IACH,4CAFY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAK9B;IAED,
|
|
1
|
+
{"version":3,"file":"RecordsSet-MetaController.d.ts","sourceRoot":"","sources":["../../source/services/RecordsSet-MetaController.js"],"names":[],"mappings":";AAwBA;IAEC,2DA0CC;IArCA,0JAA0J;IAC1J,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,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,CAC5I;IACV;2CAFiE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,GAAG;qBAAe,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG;MAE9H;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;IAiC7B;;OAEG;IACH,4CAFY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAK9B;IAED,kEAuGC;IAED,4EAmBC;IAED,kFAyCC;IAED,yDAaC;IAED,qCAMC;IAED,iDAUC;IAED,iFAGC;IAED,0BA2EC;IAED,6CAGC;IAED;;OAEG;IACH,sCAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAwC7B;CAED;;;;AAvaD,kCAAkC;AAClC,sCADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI3B"}
|
|
@@ -50,6 +50,7 @@ declare class ViewRecordSetSUBSETFilters extends libPictView {
|
|
|
50
50
|
*/
|
|
51
51
|
selectFilterToAdd(pEvent: Event, pRecordSet: string, pViewContext: string): void;
|
|
52
52
|
addFilter(pEvent: any, pRecordSet: any, pViewContext: any, pFilterKey: any, pClauseKey: any): void;
|
|
53
|
+
removeFilter(pEvent: any, pRecordSet: any, pViewContext: any, pSpecificFilterKey: any): void;
|
|
53
54
|
getFilterSchema(pRecordSet: any): any[];
|
|
54
55
|
serializeFilterExperience(pExperience: any): Promise<string>;
|
|
55
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordSet-Filters.d.ts","sourceRoot":"","sources":["../../source/views/RecordSet-Filters.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"RecordSet-Filters.d.ts","sourceRoot":"","sources":["../../source/views/RecordSet-Filters.js"],"names":[],"mappings":";AAsJA;IAEC,2DAqEC;IAjEA,kHAAkH;IAClH,MADW,GAAe,GAAG,OAAO,MAAM,CAAC,GAAG;QAAE,oBAAoB,EAAE;;;;;;SAAsC,CAAA;KAAE,CACrG;IAwDT,cAA+E;IAG/E,wCAA0E;IAU3E;;;;OAIG;IACH,qBAFa,GAAG,CAaf;IAED;;;;OAIG;IACH,mBAFa,GAAG,CAaf;IAED;;;;OAIG;IACH,qBAJW,KAAK,cACL,MAAM,gBACN,MAAM,QAShB;IAED;;;;OAIG;IACH,0BAJW,MAAM,gBACN,MAAM,kBACN,MAAM,QA+ChB;IAED;;;;OAIG;IACH,oBAJW,KAAK,cACL,MAAM,gBACN,MAAM,QAgBhB;IAED;;;;OAIG;IACH,0BAJW,KAAK,cACL,MAAM,gBACN,MAAM,QAQhB;IAED,mGAOC;IAED,6FAOC;IAED,wCAIC;IAwCD,6DAOC;IAED;;;;OAIG;IACH,yCAJW,MAAM,GAEL,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAUvC;IAED;;;;;OAKG;IACH,iBALW,MAAM,aACN,iBAAiB,GAEhB,OAAO,CAAC,WAAW,CAAC,CAU/B;IAED;;;OAGG;IACH,sBAHW,UAAU,aACV,iBAAiB,mBAY3B;IAED;;;;OAIG;IACH,oBAJW,WAAW,GAEV,MAAM,CA2BjB;IAED;;;;OAIG;IACH,eAJW,MAAM,GAEL,WAAW,CAsCtB;CACD;;;;;AAxiBD,kCAAkC;AAClC,oDADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+I5B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export =
|
|
2
|
-
declare class
|
|
1
|
+
export = viewRecordSetDashboardHeaderList;
|
|
2
|
+
declare class viewRecordSetDashboardHeaderList extends libPictView {
|
|
3
3
|
constructor(pFable: any, pOptions: any, pServiceHash: any);
|
|
4
4
|
}
|
|
5
|
-
declare namespace
|
|
5
|
+
declare namespace viewRecordSetDashboardHeaderList {
|
|
6
6
|
export { _DEFAULT_CONFIGURATION_Dashboard_HeaderList as default_configuration };
|
|
7
7
|
}
|
|
8
8
|
import libPictView = require("pict-view");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export =
|
|
2
|
-
declare class
|
|
1
|
+
export = viewRecordSetDashboardPaginationBottom;
|
|
2
|
+
declare class viewRecordSetDashboardPaginationBottom extends libPictView {
|
|
3
3
|
constructor(pFable: any, pOptions: any, pServiceHash: any);
|
|
4
4
|
}
|
|
5
|
-
declare namespace
|
|
5
|
+
declare namespace viewRecordSetDashboardPaginationBottom {
|
|
6
6
|
export { _DEFAULT_CONFIGURATION_List_PaginationBottom as default_configuration };
|
|
7
7
|
}
|
|
8
8
|
import libPictView = require("pict-view");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export =
|
|
2
|
-
declare class
|
|
1
|
+
export = viewRecordSetDashboardPaginationTop;
|
|
2
|
+
declare class viewRecordSetDashboardPaginationTop extends libPictView {
|
|
3
3
|
constructor(pFable: any, pOptions: any, pServiceHash: any);
|
|
4
4
|
}
|
|
5
|
-
declare namespace
|
|
5
|
+
declare namespace viewRecordSetDashboardPaginationTop {
|
|
6
6
|
export { _DEFAULT_CONFIGURATION_List_PaginationTop as default_configuration };
|
|
7
7
|
}
|
|
8
8
|
import libPictView = require("pict-view");
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export =
|
|
2
|
-
declare class
|
|
1
|
+
export = viewRecordSetDashboardRecordList;
|
|
2
|
+
declare class viewRecordSetDashboardRecordList extends libPictView {
|
|
3
3
|
constructor(pFable: any, pOptions: any, pServiceHash: any);
|
|
4
4
|
}
|
|
5
|
-
declare namespace
|
|
6
|
-
export {
|
|
5
|
+
declare namespace viewRecordSetDashboardRecordList {
|
|
6
|
+
export { _DEFAULT_CONFIGURATION_Dashboard_RecordList as default_configuration };
|
|
7
7
|
}
|
|
8
8
|
import libPictView = require("pict-view");
|
|
9
9
|
/** @type {Record<string, any>} */
|
|
10
|
-
declare const
|
|
10
|
+
declare const _DEFAULT_CONFIGURATION_Dashboard_RecordList: Record<string, any>;
|
|
11
11
|
//# sourceMappingURL=RecordSet-Dashboard-RecordList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordSet-Dashboard-RecordList.d.ts","sourceRoot":"","sources":["../../../source/views/dashboard/RecordSet-Dashboard-RecordList.js"],"names":[],"mappings":";AAmEA;IAEC,2DAIC;CACD;;;;;AAxED,kCAAkC;AAClC,
|
|
1
|
+
{"version":3,"file":"RecordSet-Dashboard-RecordList.d.ts","sourceRoot":"","sources":["../../../source/views/dashboard/RecordSet-Dashboard-RecordList.js"],"names":[],"mappings":";AAmEA;IAEC,2DAIC;CACD;;;;;AAxED,kCAAkC;AAClC,2DADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+D5B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export =
|
|
2
|
-
declare class
|
|
1
|
+
export = viewRecordSetDashboardRecordListEntry;
|
|
2
|
+
declare class viewRecordSetDashboardRecordListEntry extends libPictView {
|
|
3
3
|
constructor(pFable: any, pOptions: any, pServiceHash: any);
|
|
4
4
|
}
|
|
5
|
-
declare namespace
|
|
5
|
+
declare namespace viewRecordSetDashboardRecordListEntry {
|
|
6
6
|
export { _DEFAULT_CONFIGURATION_List_RecordListEntry as default_configuration };
|
|
7
7
|
}
|
|
8
8
|
import libPictView = require("pict-view");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export =
|
|
2
|
-
declare class
|
|
1
|
+
export = viewRecordSetDashboardRecordListHeader;
|
|
2
|
+
declare class viewRecordSetDashboardRecordListHeader extends libPictView {
|
|
3
3
|
constructor(pFable: any, pOptions: any, pServiceHash: any);
|
|
4
4
|
}
|
|
5
|
-
declare namespace
|
|
5
|
+
declare namespace viewRecordSetDashboardRecordListHeader {
|
|
6
6
|
export { _DEFAULT_CONFIGURATION_List_RecordListHeader as default_configuration };
|
|
7
7
|
}
|
|
8
8
|
import libPictView = require("pict-view");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export =
|
|
2
|
-
declare class
|
|
1
|
+
export = viewRecordSetDashboardTitle;
|
|
2
|
+
declare class viewRecordSetDashboardTitle extends libPictView {
|
|
3
3
|
constructor(pFable: any, pOptions: any, pServiceHash: any);
|
|
4
4
|
}
|
|
5
|
-
declare namespace
|
|
5
|
+
declare namespace viewRecordSetDashboardTitle {
|
|
6
6
|
export { _DEFAULT_CONFIGURATION_List_Title as default_configuration };
|
|
7
7
|
}
|
|
8
8
|
import libPictView = require("pict-view");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordSet-Dashboard.d.ts","sourceRoot":"","sources":["../../../source/views/dashboard/RecordSet-Dashboard.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"RecordSet-Dashboard.d.ts","sourceRoot":"","sources":["../../../source/views/dashboard/RecordSet-Dashboard.js"],"names":[],"mappings":";AA4EA;IAOE;;;;;;;;MAQC;IAGF,iEAuCC;IA2BD,8CAGC;IAED,sDAuCC;IAnCA,iCAUC;IA2BF;;;;;;;;;;OAUG;IACH,wCAVW,MAAM,2BACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBACnB,MAAM,iBACN,MAAM,+BACN,MAAM,WACN,MAAM,aACN,MAAM,GAEL,OAAO,CAAC,IAAI,CAAC,CA+QxB;IAED;;;;;;;;;OASG;IACH,yCATW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBACnB,MAAM,iBACN,MAAM,+BACN,MAAM,WACN,MAAM,aACN,MAAM,GAEL,OAAO,CAAC,IAAI,CAAC,CA4QxB;CAwBD;;;;;AAzwBD,kCAAkC;AAClC,iDADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+D1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordSet-Filter-Base.d.ts","sourceRoot":"","sources":["../../../source/views/filters/RecordSet-Filter-Base.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"RecordSet-Filter-Base.d.ts","sourceRoot":"","sources":["../../../source/views/filters/RecordSet-Filter-Base.js"],"names":[],"mappings":";AAmEA;IAEC,2DAIC;IAED;;;;OAIG;IACH,uBAFW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAe7B;IAED,gCAGC;CACD;;;;;AAjGD,kCAAkC;AAClC,oDADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+D5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordSet-List-RecordList.d.ts","sourceRoot":"","sources":["../../../source/views/list/RecordSet-List-RecordList.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"RecordSet-List-RecordList.d.ts","sourceRoot":"","sources":["../../../source/views/list/RecordSet-List-RecordList.js"],"names":[],"mappings":";AAkFA;IAEC,2DAIC;CACD;;;;;AAvFD,kCAAkC;AAClC,sDADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA8E5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordSet-List.d.ts","sourceRoot":"","sources":["../../../source/views/list/RecordSet-List.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"RecordSet-List.d.ts","sourceRoot":"","sources":["../../../source/views/list/RecordSet-List.js"],"names":[],"mappings":";AA4EA;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;;;;;AAxaD,kCAAkC;AAClC,4CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+D1B"}
|