pict-section-form 1.0.169 → 1.0.170
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_distill/Simple-Form-Application.js +4 -1
- package/package.json +2 -2
- package/source/providers/Pict-Provider-DynamicFormSolverBehaviors.js +6 -0
- package/source/providers/Pict-Provider-DynamicSolver.js +144 -6
- package/source/providers/inputs/Pict-Provider-Input-AutofillTriggerGroup.js +32 -0
- package/source/providers/inputs/Pict-Provider-Input-TemplatedEntityLookup.js +2 -0
- package/source/services/ManifestFactory.js +105 -0
- package/types/source/providers/Pict-Provider-DynamicFormSolverBehaviors.d.ts +1 -0
- package/types/source/providers/Pict-Provider-DynamicFormSolverBehaviors.d.ts.map +1 -1
- package/types/source/providers/Pict-Provider-DynamicSolver.d.ts +39 -3
- package/types/source/providers/Pict-Provider-DynamicSolver.d.ts.map +1 -1
- package/types/source/providers/inputs/Pict-Provider-Input-AutofillTriggerGroup.d.ts.map +1 -1
- package/types/source/providers/inputs/Pict-Provider-Input-TemplatedEntityLookup.d.ts.map +1 -1
- package/types/source/services/ManifestFactory.d.ts +1 -0
- package/types/source/services/ManifestFactory.d.ts.map +1 -1
|
@@ -59,6 +59,7 @@ module.exports.default_configuration.pict_configuration = (
|
|
|
59
59
|
|
|
60
60
|
"Solvers":
|
|
61
61
|
[
|
|
62
|
+
'runSolvers()'
|
|
62
63
|
],
|
|
63
64
|
"MetaTemplates":
|
|
64
65
|
[
|
|
@@ -124,7 +125,9 @@ module.exports.default_configuration.pict_configuration = (
|
|
|
124
125
|
{
|
|
125
126
|
TriggerGroupHash: "BookTriggerGroup",
|
|
126
127
|
TriggerAddress: "AppData.CurrentAuthor.Name",
|
|
127
|
-
MarshalEmptyValues: true
|
|
128
|
+
MarshalEmptyValues: true,
|
|
129
|
+
PreSolvers: [ 'NumBooks = getvalue("AppData.BookAuthorJoins.length")' ],
|
|
130
|
+
PostSolvers: [ 'runSolvers()' ],
|
|
128
131
|
}
|
|
129
132
|
}
|
|
130
133
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pict-section-form",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.170",
|
|
4
4
|
"description": "Pict dynamic form sections",
|
|
5
5
|
"main": "source/Pict-Section-Form.js",
|
|
6
6
|
"directories": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"browser-env": "^3.3.0",
|
|
35
35
|
"eslint": "^9.39.1",
|
|
36
36
|
"jquery": "^3.7.1",
|
|
37
|
-
"pict": "^1.0.
|
|
37
|
+
"pict": "^1.0.343",
|
|
38
38
|
"pict-application": "^1.0.29",
|
|
39
39
|
"pict-service-commandlineutility": "^1.0.16",
|
|
40
40
|
"quackage": "^1.0.45",
|
|
@@ -72,6 +72,11 @@ class PictDynamicFormsSolverBehaviors extends libPictProvider
|
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
runSolvers()
|
|
76
|
+
{
|
|
77
|
+
return this.pict.providers.DynamicSolver.solveViews(undefined, true);
|
|
78
|
+
}
|
|
79
|
+
|
|
75
80
|
injectBehaviors(pExpressionParser)
|
|
76
81
|
{
|
|
77
82
|
// Wire up the solver functions.
|
|
@@ -92,6 +97,7 @@ class PictDynamicFormsSolverBehaviors extends libPictProvider
|
|
|
92
97
|
this.addSolverFunction(pExpressionParser, 'disablesolverordinall', 'fable.providers.DynamicFormSolverBehaviors.disableSolverOrdinal', 'Disables a solver ordinal so that it will not run.');
|
|
93
98
|
|
|
94
99
|
this.addSolverFunction(pExpressionParser, 'settabularrowlength', 'fable.providers.DynamicFormSolverBehaviors.setTabularRowLength', 'Sets the length of a tabular data set.');
|
|
100
|
+
this.addSolverFunction(pExpressionParser, 'runsolvers', 'fable.providers.DynamicFormSolverBehaviors.runSolvers', 'Solves all views.');
|
|
95
101
|
|
|
96
102
|
return false;
|
|
97
103
|
}
|
|
@@ -57,6 +57,8 @@ class PictDynamicSolver extends libPictProvider
|
|
|
57
57
|
/** @type {string} */
|
|
58
58
|
this.Hash;
|
|
59
59
|
|
|
60
|
+
this._RunSolversRegex = /\brunsolvers\b/gi;
|
|
61
|
+
|
|
60
62
|
// Initialize the solver service if it isn't up
|
|
61
63
|
this.fable.instantiateServiceProviderIfNotExists('ExpressionParser');
|
|
62
64
|
|
|
@@ -254,6 +256,119 @@ class PictDynamicSolver extends libPictProvider
|
|
|
254
256
|
return tmpSolver;
|
|
255
257
|
}
|
|
256
258
|
|
|
259
|
+
/** @typedef {{ Ordinal: number, Expression: string } | string} Solver */
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Execute a set of adhoc solvers.
|
|
263
|
+
*
|
|
264
|
+
* @param {import('../views/Pict-View-DynamicForm.js')} pView - The dynamic view to execute the solvers against.
|
|
265
|
+
* @param {Array<Solver>} pSolvers - An array of solvers to execute.
|
|
266
|
+
* @param {string} pReason - The reason for executing the solvers.
|
|
267
|
+
*/
|
|
268
|
+
executeSolvers(pView, pSolvers, pReason)
|
|
269
|
+
{
|
|
270
|
+
const tmpSolvers = Array.isArray(pSolvers) ? pSolvers : [];
|
|
271
|
+
let tmpSolveOutcome = {};
|
|
272
|
+
tmpSolveOutcome.SolverResultsMap = {};
|
|
273
|
+
tmpSolveOutcome.StartTimeStamp = +new Date();
|
|
274
|
+
|
|
275
|
+
let tmpOrdinalsToSolve = {};
|
|
276
|
+
tmpSolveOutcome.SolveOrdinals = tmpOrdinalsToSolve;
|
|
277
|
+
for (let i = 0; i < tmpSolvers.length; i++)
|
|
278
|
+
{
|
|
279
|
+
const tmpSolver = this.checkSolver(tmpSolvers[i]);
|
|
280
|
+
if (tmpSolver)
|
|
281
|
+
{
|
|
282
|
+
let tmpOrdinalContainer = this.checkAutoSolveOrdinal(tmpSolver.Ordinal, tmpOrdinalsToSolve);
|
|
283
|
+
tmpOrdinalContainer.AdhocSolvers.push(tmpSolver);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
// Now sort the ordinal container keys
|
|
288
|
+
let tmpOrdinalKeys = Object.keys(tmpOrdinalsToSolve);
|
|
289
|
+
tmpOrdinalKeys.sort((a, b) =>
|
|
290
|
+
{
|
|
291
|
+
if (isNaN(Number(a)) || isNaN(Number(b)))
|
|
292
|
+
{
|
|
293
|
+
return a.localeCompare(b);
|
|
294
|
+
}
|
|
295
|
+
return Number(a) - Number(b);
|
|
296
|
+
});
|
|
297
|
+
|
|
298
|
+
// Now enumerate the keys and solve each layer of the solution set
|
|
299
|
+
for (let i = 0; i < tmpOrdinalKeys.length; i++)
|
|
300
|
+
{
|
|
301
|
+
if (this.pict.LogNoisiness > 1)
|
|
302
|
+
{
|
|
303
|
+
this.log.trace(`DynamicSolver [${this.UUID}]::[${this.Hash}] [${pReason}] Solving ordinal ${tmpOrdinalKeys[i]}`);
|
|
304
|
+
}
|
|
305
|
+
let tmpOrdinalContainer = tmpOrdinalsToSolve[tmpOrdinalKeys[i]];
|
|
306
|
+
let tmpExecuteOrdinal = this.pict.providers.DynamicFormSolverBehaviors.checkSolverOrdinalEnabled(tmpOrdinalKeys[i]);
|
|
307
|
+
if (tmpExecuteOrdinal)
|
|
308
|
+
{
|
|
309
|
+
this.executeAdhocSolvers(pView, tmpOrdinalContainer.AdhocSolvers, pReason, Number(tmpOrdinalKeys[i]), tmpSolveOutcome.SolverResultsMap);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
tmpSolveOutcome.EndTimeStamp = +new Date();
|
|
314
|
+
|
|
315
|
+
// It's up to the developer to decide if they want to use this information somewhere.
|
|
316
|
+
this.lastAdhocSolveOutcome = tmpSolveOutcome;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Runs each Adhoc solver formulae for a dynamic view group at a given ordinal.
|
|
321
|
+
*
|
|
322
|
+
* Or for all ordinals if no ordinal is passed.
|
|
323
|
+
*
|
|
324
|
+
* @param {import('../views/Pict-View-DynamicForm.js')} pView - The dynamic view to execute the solvers against.
|
|
325
|
+
* @param {Array<string>} pAdhocSolverArray - An array of Solvers from the groups to solve.
|
|
326
|
+
* @param {string} pReason - The reason for executing the solvers.
|
|
327
|
+
* @param {number} pOrdinal - The ordinal value to filter to. Optional.
|
|
328
|
+
* @param {Object} pSolverResultsMap - The solver results map.
|
|
329
|
+
* @param {boolean} [pPreventSolverCycles=false] - Whether to prevent solver cycles.
|
|
330
|
+
*/
|
|
331
|
+
executeAdhocSolvers(pView, pAdhocSolverArray, pReason, pOrdinal, pSolverResultsMap, pPreventSolverCycles = false)
|
|
332
|
+
{
|
|
333
|
+
let tmpFiltered = (typeof(pOrdinal) === 'undefined') ? false : true;
|
|
334
|
+
let tmpSolverReultsMap = this.prepareSolverResultsMap(pSolverResultsMap);
|
|
335
|
+
|
|
336
|
+
for (let i = 0; i < pAdhocSolverArray.length; i++)
|
|
337
|
+
{
|
|
338
|
+
let tmpSolver = this.checkSolver(pAdhocSolverArray[i], tmpFiltered, pOrdinal);
|
|
339
|
+
if (typeof(tmpSolver) === 'undefined')
|
|
340
|
+
{
|
|
341
|
+
continue;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
if (pPreventSolverCycles && tmpSolver.Expression.match(this._RunSolversRegex))
|
|
345
|
+
{
|
|
346
|
+
if (this.pict.LogNoisiness > 0)
|
|
347
|
+
{
|
|
348
|
+
pView.log.warn(`Dynamic View [${pView.UUID}]::[${pView.Hash}] [${pReason}] skipping RecordSet ordinal ${tmpSolver.Ordinal} [${tmpSolver.Expression}] due to solver cycle prevention.`);
|
|
349
|
+
}
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
tmpSolver.StartTimeStamp = +new Date();
|
|
354
|
+
tmpSolver.Hash = `AdhocSolver-${i}`;
|
|
355
|
+
|
|
356
|
+
// TODO: Precompile the solvers (it's super easy)
|
|
357
|
+
if (this.pict.LogNoisiness > 1)
|
|
358
|
+
{
|
|
359
|
+
this.pict.log.trace(`Dynamic View [${pView.UUID}]::[${pView.Hash}] [${pReason}] solving equation ${i} ordinal ${tmpSolver.Ordinal} [${pView.options.Solvers[i]}]`);
|
|
360
|
+
}
|
|
361
|
+
tmpSolver.ResultsObject = {};
|
|
362
|
+
let tmpSolutionValue = this.fable.ExpressionParser.solve(tmpSolver.Expression, pView.getMarshalDestinationObject(), tmpSolver.ResultsObject, this.pict.manifest, pView.getMarshalDestinationObject());
|
|
363
|
+
if (this.pict.LogNoisiness > 1)
|
|
364
|
+
{
|
|
365
|
+
this.pict.log.trace(`[${tmpSolver.Expression}] [${pReason}] result was ${tmpSolutionValue}`);
|
|
366
|
+
}
|
|
367
|
+
tmpSolverReultsMap.ExecutedSolvers.push(tmpSolver);
|
|
368
|
+
tmpSolver.EndTimeStamp = +new Date();
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
257
372
|
/**
|
|
258
373
|
* Runs each RecordSet solver formulae for a dynamic view group at a given ordinal.
|
|
259
374
|
*
|
|
@@ -262,8 +377,9 @@ class PictDynamicSolver extends libPictProvider
|
|
|
262
377
|
* @param {array} pGroupSolverArray - An array of Solvers from the groups to solve.
|
|
263
378
|
* @param {number} pOrdinal - The ordinal value to filter to. Optional.
|
|
264
379
|
* @param {Object} pSolverResultsMap - The solver results map.
|
|
380
|
+
* @param {boolean} [pPreventSolverCycles=false] - Whether to prevent solver cycles.
|
|
265
381
|
*/
|
|
266
|
-
executeGroupSolvers(pGroupSolverArray, pOrdinal, pSolverResultsMap)
|
|
382
|
+
executeGroupSolvers(pGroupSolverArray, pOrdinal, pSolverResultsMap, pPreventSolverCycles = false)
|
|
267
383
|
{
|
|
268
384
|
// This is purely for readability of the code below ... uglify optimizes it out.
|
|
269
385
|
let tmpFiltered = (typeof(pOrdinal) === 'undefined') ? false : true;
|
|
@@ -280,6 +396,15 @@ class PictDynamicSolver extends libPictProvider
|
|
|
280
396
|
continue;
|
|
281
397
|
}
|
|
282
398
|
|
|
399
|
+
if (pPreventSolverCycles && tmpSolver.Expression.match(this._RunSolversRegex))
|
|
400
|
+
{
|
|
401
|
+
if (this.pict.LogNoisiness > 0)
|
|
402
|
+
{
|
|
403
|
+
tmpView.log.warn(`Dynamic View [${tmpView.UUID}]::[${tmpView.Hash}] skipping RecordSet ordinal ${tmpSolver.Ordinal} [${tmpSolver.Expression}] due to solver cycle prevention.`);
|
|
404
|
+
}
|
|
405
|
+
continue;
|
|
406
|
+
}
|
|
407
|
+
|
|
283
408
|
tmpSolver.StartTimeStamp = Date.now();
|
|
284
409
|
tmpSolver.Hash = `${pGroupSolverArray[j].ViewHash}-GroupSolver-${j}`;
|
|
285
410
|
|
|
@@ -328,8 +453,9 @@ class PictDynamicSolver extends libPictProvider
|
|
|
328
453
|
* @param {Array} pViewSectionSolverArray - The array of view section solvers.
|
|
329
454
|
* @param {number} pOrdinal - The ordinal value.
|
|
330
455
|
* @param {Object} pSolverResultsMap - The solver results map.
|
|
456
|
+
* @param {boolean} [pPreventSolverCycles=false] - Whether to prevent solver cycles.
|
|
331
457
|
*/
|
|
332
|
-
executeSectionSolvers(pViewSectionSolverArray, pOrdinal, pSolverResultsMap)
|
|
458
|
+
executeSectionSolvers(pViewSectionSolverArray, pOrdinal, pSolverResultsMap, pPreventSolverCycles = false)
|
|
333
459
|
{
|
|
334
460
|
let tmpFiltered = (typeof(pOrdinal) === 'undefined') ? false : true;
|
|
335
461
|
let tmpSolverReultsMap = this.prepareSolverResultsMap(pSolverResultsMap);
|
|
@@ -343,6 +469,15 @@ class PictDynamicSolver extends libPictProvider
|
|
|
343
469
|
continue;
|
|
344
470
|
}
|
|
345
471
|
|
|
472
|
+
if (pPreventSolverCycles && tmpSolver.Expression.match(this._RunSolversRegex))
|
|
473
|
+
{
|
|
474
|
+
if (this.pict.LogNoisiness > 0)
|
|
475
|
+
{
|
|
476
|
+
tmpView.log.warn(`Dynamic View [${tmpView.UUID}]::[${tmpView.Hash}] skipping RecordSet ordinal ${tmpSolver.Ordinal} [${tmpSolver.Expression}] due to solver cycle prevention.`);
|
|
477
|
+
}
|
|
478
|
+
continue;
|
|
479
|
+
}
|
|
480
|
+
|
|
346
481
|
tmpSolver.StartTimeStamp = +new Date();
|
|
347
482
|
tmpSolver.Hash = `${pViewSectionSolverArray[i].ViewHash}-SectionSolver-${i}`;
|
|
348
483
|
|
|
@@ -408,7 +543,7 @@ class PictDynamicSolver extends libPictProvider
|
|
|
408
543
|
{
|
|
409
544
|
if (!(pOrdinal.toString() in pOrdinalSet))
|
|
410
545
|
{
|
|
411
|
-
pOrdinalSet[pOrdinal.toString()] = { ViewSolvers:[], SectionSolvers:[], GroupSolvers:[] };
|
|
546
|
+
pOrdinalSet[pOrdinal.toString()] = { ViewSolvers:[], SectionSolvers:[], GroupSolvers:[], AdhocSolvers:[] };
|
|
412
547
|
}
|
|
413
548
|
return pOrdinalSet[pOrdinal];
|
|
414
549
|
}
|
|
@@ -434,11 +569,14 @@ class PictDynamicSolver extends libPictProvider
|
|
|
434
569
|
* leaves on the tree.
|
|
435
570
|
|
|
436
571
|
* @param {Array|string[]} [pViewHashes] - An optional array of view hashes to solve. If not provided, all views in the fable will be solved.
|
|
572
|
+
* @param {boolean} [pPreventSolverCycles] - An optional context string for the solve operation.
|
|
573
|
+
* TODO: make sure you can't cycle with the same solve context - new solver method to invoke this
|
|
437
574
|
*/
|
|
438
|
-
solveViews(pViewHashes)
|
|
575
|
+
solveViews(pViewHashes, pPreventSolverCycles)
|
|
439
576
|
{
|
|
440
577
|
//this.log.trace(`Dynamic View Provider [${this.UUID}]::[${this.Hash}] solving views.`);
|
|
441
578
|
let tmpViewHashes = Array.isArray(pViewHashes) ? pViewHashes : Object.keys(this.fable.views);
|
|
579
|
+
const tmpPreventSolverCycles = pPreventSolverCycles === true;
|
|
442
580
|
|
|
443
581
|
let tmpSolveOutcome = {};
|
|
444
582
|
tmpSolveOutcome.SolverResultsMap = {};
|
|
@@ -513,8 +651,8 @@ class PictDynamicSolver extends libPictProvider
|
|
|
513
651
|
let tmpExecuteOrdinal = this.pict.providers.DynamicFormSolverBehaviors.checkSolverOrdinalEnabled(tmpOrdinalKeys[i]);
|
|
514
652
|
if (tmpExecuteOrdinal)
|
|
515
653
|
{
|
|
516
|
-
this.executeGroupSolvers(tmpOrdinalContainer.GroupSolvers, Number(tmpOrdinalKeys[i]), tmpSolveOutcome.SolverResultsMap);
|
|
517
|
-
this.executeSectionSolvers(tmpOrdinalContainer.SectionSolvers, Number(tmpOrdinalKeys[i]), tmpSolveOutcome.SolverResultsMap);
|
|
654
|
+
this.executeGroupSolvers(tmpOrdinalContainer.GroupSolvers, Number(tmpOrdinalKeys[i]), tmpSolveOutcome.SolverResultsMap, tmpPreventSolverCycles);
|
|
655
|
+
this.executeSectionSolvers(tmpOrdinalContainer.SectionSolvers, Number(tmpOrdinalKeys[i]), tmpSolveOutcome.SolverResultsMap, tmpPreventSolverCycles);
|
|
518
656
|
this.executeViewSolvers(tmpOrdinalContainer.ViewSolvers, Number(tmpOrdinalKeys[i]), tmpSolveOutcome.SolverResultsMap);
|
|
519
657
|
}
|
|
520
658
|
}
|
|
@@ -131,6 +131,17 @@ class CustomInputHandler extends libPictSectionInputExtension
|
|
|
131
131
|
const tmpGroupConfig = tmpTriggerGroupConfigurations[i];
|
|
132
132
|
if (tmpGroupConfig.TriggerAllInputs)
|
|
133
133
|
{
|
|
134
|
+
if (Array.isArray(tmpGroupConfig.PreSolvers))
|
|
135
|
+
{
|
|
136
|
+
this.pict.providers.DynamicSolver.executeSolvers(pView, tmpGroupConfig.PreSolvers, `AutofillTriggerGroup hash ${tmpGroupConfig.TriggerGroupHash} pre-trigger`);
|
|
137
|
+
}
|
|
138
|
+
pView.registerOnTransactionCompleteCallback(pTransactionGUID, () =>
|
|
139
|
+
{
|
|
140
|
+
if (Array.isArray(tmpGroupConfig.PostSolvers))
|
|
141
|
+
{
|
|
142
|
+
this.pict.providers.DynamicSolver.executeSolvers(pView, tmpGroupConfig.PostSolvers, `AutofillTriggerGroup hash ${tmpGroupConfig.TriggerGroupHash} post-trigger`);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
134
145
|
this.pict.views.PictFormMetacontroller.triggerGlobalInputEvent(
|
|
135
146
|
`TriggerGroup:${tmpGroupConfig.TriggerGroupHash}:DataChange:${pInput.Hash || pInput.DataAddress}:${this.pict.getUUID()}`,
|
|
136
147
|
pTransactionGUID);
|
|
@@ -161,6 +172,17 @@ class CustomInputHandler extends libPictSectionInputExtension
|
|
|
161
172
|
const tmpGroupConfig = tmpTriggerGroupConfigurations[i];
|
|
162
173
|
if (tmpGroupConfig.TriggerAllInputs)
|
|
163
174
|
{
|
|
175
|
+
if (Array.isArray(tmpGroupConfig.PreSolvers))
|
|
176
|
+
{
|
|
177
|
+
this.pict.providers.DynamicSolver.executeSolvers(pView, tmpGroupConfig.PreSolvers, `AutofillTriggerGroup hash ${tmpGroupConfig.TriggerGroupHash} tabular pre-trigger`);
|
|
178
|
+
}
|
|
179
|
+
pView.registerOnTransactionCompleteCallback(pTransactionGUID, () =>
|
|
180
|
+
{
|
|
181
|
+
if (Array.isArray(tmpGroupConfig.PostSolvers))
|
|
182
|
+
{
|
|
183
|
+
this.pict.providers.DynamicSolver.executeSolvers(pView, tmpGroupConfig.PostSolvers, `AutofillTriggerGroup hash ${tmpGroupConfig.TriggerGroupHash} tabular post-trigger`);
|
|
184
|
+
}
|
|
185
|
+
});
|
|
164
186
|
this.pict.views.PictFormMetacontroller.triggerGlobalInputEvent(
|
|
165
187
|
`TriggerGroup:${tmpGroupConfig.TriggerGroupHash}:DataChange:${pInput.Hash || pInput.DataAddress}:${this.pict.getUUID()}`,
|
|
166
188
|
pTransactionGUID);
|
|
@@ -207,6 +229,11 @@ class CustomInputHandler extends libPictSectionInputExtension
|
|
|
207
229
|
continue;
|
|
208
230
|
}
|
|
209
231
|
|
|
232
|
+
if (Array.isArray(tmpAutoFillTriggerGroup.PreSolvers))
|
|
233
|
+
{
|
|
234
|
+
this.pict.providers.DynamicSolver.executeSolvers(pView, tmpAutoFillTriggerGroup.PreSolvers, `AutofillTriggerGroup hash ${tmpAutoFillTriggerGroup.TriggerGroupHash} pre-autofill`);
|
|
235
|
+
}
|
|
236
|
+
|
|
210
237
|
//FIXME: why is this check here? revisit
|
|
211
238
|
if ('TriggerAddress' in tmpAutoFillTriggerGroup)
|
|
212
239
|
{
|
|
@@ -223,6 +250,11 @@ class CustomInputHandler extends libPictSectionInputExtension
|
|
|
223
250
|
this.pict.providers['Pict-Input-Select'].refreshSelectList(tmpInputView, tmpInputView.getGroup(pInput.PictForm.GroupIndex), tmpInputView.getRow(pInput.PictForm.GroupIndex, pInput.PictForm.Row), pInput, pValue, pHTMLSelector);
|
|
224
251
|
tmpInputView.manualMarshalDataToViewByInput(pInput, tmpEventGUID);
|
|
225
252
|
}
|
|
253
|
+
|
|
254
|
+
if (Array.isArray(tmpAutoFillTriggerGroup.PostSolvers))
|
|
255
|
+
{
|
|
256
|
+
this.pict.providers.DynamicSolver.executeSolvers(pView, tmpAutoFillTriggerGroup.PostSolvers, `AutofillTriggerGroup hash ${tmpAutoFillTriggerGroup.TriggerGroupHash} post-autofill`);
|
|
257
|
+
}
|
|
226
258
|
}
|
|
227
259
|
|
|
228
260
|
return super.onAfterEventCompletion(pView, pInput, pValue, pHTMLSelector, pEvent, pTransactionGUID);
|
|
@@ -175,6 +175,7 @@ class CustomInputHandler extends libPictSectionInputExtension
|
|
|
175
175
|
*/
|
|
176
176
|
onDataMarshalToForm(pView, pGroup, pRow, pInput, pValue, pHTMLSelector, pTransactionGUID)
|
|
177
177
|
{
|
|
178
|
+
//FIXME: this should use a trigger group + event
|
|
178
179
|
this.assignDisplayEntityData(this.getContentDisplayHTMLID(pInput.Macro.RawHTMLID), pInput, pValue);
|
|
179
180
|
return super.onDataMarshalToForm(pView, pGroup, pRow, pInput, pValue, pHTMLSelector, pTransactionGUID);
|
|
180
181
|
}
|
|
@@ -193,6 +194,7 @@ class CustomInputHandler extends libPictSectionInputExtension
|
|
|
193
194
|
*/
|
|
194
195
|
onDataMarshalToFormTabular(pView, pGroup, pInput, pValue, pHTMLSelector, pRowIndex, pTransactionGUID)
|
|
195
196
|
{
|
|
197
|
+
//FIXME: this should use a trigger group + event
|
|
196
198
|
this.assignDisplayEntityData(this.getTabularContentDisplayInputID(pInput.Macro.RawHTMLID, pRowIndex), pInput, pValue);
|
|
197
199
|
return super.onDataMarshalToFormTabular(pView, pGroup, pInput, pValue, pHTMLSelector, pRowIndex, pTransactionGUID);
|
|
198
200
|
}
|
|
@@ -932,6 +932,110 @@ class ManifestFactory extends libFableServiceProviderBase
|
|
|
932
932
|
// This is meant to be overloaded by the parent class
|
|
933
933
|
}
|
|
934
934
|
|
|
935
|
+
migrateAutofillTriggerGroupSolvers(pManifests)
|
|
936
|
+
{
|
|
937
|
+
for (const tmpManifestFactory of Object.values(pManifests))
|
|
938
|
+
{
|
|
939
|
+
const tmpManifest = tmpManifestFactory.manifest;
|
|
940
|
+
|
|
941
|
+
const tmpGatheredSolverExpressions = [];
|
|
942
|
+
|
|
943
|
+
for (const tmpSection of tmpManifest.Sections || [])
|
|
944
|
+
{
|
|
945
|
+
if (Array.isArray(tmpSection.Solvers))
|
|
946
|
+
{
|
|
947
|
+
for (let i = 0; i < tmpSection.Solvers.length; i++)
|
|
948
|
+
{
|
|
949
|
+
const tmpSolverEntry = tmpSection.Solvers[i];
|
|
950
|
+
const tmpSolverExpression = (typeof (tmpSolverEntry) === 'string') ? tmpSolverEntry : tmpSolverEntry.Expression;
|
|
951
|
+
if (typeof tmpSolverExpression === 'string' && tmpSolverExpression.startsWith('TriggerGroup:'))
|
|
952
|
+
{
|
|
953
|
+
tmpGatheredSolverExpressions.push(tmpSolverEntry);
|
|
954
|
+
// Remove it from the section solvers
|
|
955
|
+
tmpSection.Solvers.splice(i, 1);
|
|
956
|
+
--i;
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
}
|
|
960
|
+
for (const tmpGroup of tmpSection.Groups || [])
|
|
961
|
+
{
|
|
962
|
+
if (Array.isArray(tmpGroup.RecordSetSolvers))
|
|
963
|
+
{
|
|
964
|
+
for (let i = 0; i < tmpGroup.RecordSetSolvers.length; i++)
|
|
965
|
+
{
|
|
966
|
+
const tmpSolverEntry = tmpGroup.RecordSetSolvers[i];
|
|
967
|
+
const tmpSolverExpression = (typeof (tmpSolverEntry) === 'string') ? tmpSolverEntry : tmpSolverEntry.Expression;
|
|
968
|
+
if (typeof tmpSolverExpression === 'string' && tmpSolverExpression.startsWith('TriggerGroup:'))
|
|
969
|
+
{
|
|
970
|
+
tmpGatheredSolverExpressions.push(tmpSolverEntry);
|
|
971
|
+
// Remove it from the group solvers
|
|
972
|
+
tmpGroup.RecordSetSolvers.splice(i, 1);
|
|
973
|
+
--i;
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
for (const tmpTriggerGroupSolverEntry of tmpGatheredSolverExpressions)
|
|
980
|
+
{
|
|
981
|
+
const tmpSolverExpression = (typeof (tmpTriggerGroupSolverEntry) === 'string') ? tmpTriggerGroupSolverEntry : tmpTriggerGroupSolverEntry.Expression;
|
|
982
|
+
let [ tmpType, tmpTriggerGroupHash, tmpPrePost, tmpSimpleSolverExpression ] = tmpSolverExpression.split(':');
|
|
983
|
+
if (!tmpSimpleSolverExpression)
|
|
984
|
+
{
|
|
985
|
+
tmpSimpleSolverExpression = tmpPrePost;
|
|
986
|
+
tmpPrePost = 'post';
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
if (!tmpSimpleSolverExpression || tmpSimpleSolverExpression.trim() === '')
|
|
990
|
+
{
|
|
991
|
+
this.log.error(`Skipping migration of empty TriggerGroup solver expression in manifest [${tmpManifest.Scope}] for TriggerGroup [${tmpTriggerGroupHash}]`);
|
|
992
|
+
continue;
|
|
993
|
+
}
|
|
994
|
+
const tmpTriggerGroupDescriptor = Object.values(tmpManifest.Descriptors).find((pDescriptor) =>
|
|
995
|
+
{
|
|
996
|
+
if (!pDescriptor.PictForm?.AutofillTriggerGroup)
|
|
997
|
+
{
|
|
998
|
+
return false;
|
|
999
|
+
}
|
|
1000
|
+
/** @type {Array<any>} */
|
|
1001
|
+
const tmpTriggerGroups = Array.isArray(pDescriptor.PictForm.AutofillTriggerGroup) ? pDescriptor.PictForm.AutofillTriggerGroup : [pDescriptor.PictForm.AutofillTriggerGroup];
|
|
1002
|
+
return tmpTriggerGroups.some((pTriggerGroup) => pTriggerGroup.TriggerGroupHash === tmpTriggerGroupHash);
|
|
1003
|
+
});
|
|
1004
|
+
if (!tmpTriggerGroupDescriptor)
|
|
1005
|
+
{
|
|
1006
|
+
this.log.error(`Could not find descriptor for TriggerGroup [${tmpTriggerGroupHash}] in manifest [${tmpManifest.Scope}] while migrating solver expression: ${tmpSolverExpression}`);
|
|
1007
|
+
continue;
|
|
1008
|
+
}
|
|
1009
|
+
const tmpTriggerGroups = Array.isArray(tmpTriggerGroupDescriptor.PictForm.AutofillTriggerGroup) ? tmpTriggerGroupDescriptor.PictForm.AutofillTriggerGroup : [tmpTriggerGroupDescriptor.PictForm.AutofillTriggerGroup];
|
|
1010
|
+
const tmpTriggerGroup = tmpTriggerGroups.find((pTriggerGroup) => pTriggerGroup.TriggerGroupHash === tmpTriggerGroupHash);
|
|
1011
|
+
if (!tmpTriggerGroup)
|
|
1012
|
+
{
|
|
1013
|
+
this.log.error(`Could not find TriggerGroup entry for TriggerGroup [${tmpTriggerGroupHash}] in descriptor [${tmpTriggerGroupDescriptor.Hash}] while migrating solver expression: ${tmpSolverExpression}`);
|
|
1014
|
+
continue;
|
|
1015
|
+
}
|
|
1016
|
+
let tmpUpdatedTriggerGroupSolverEntry = tmpTriggerGroupSolverEntry;
|
|
1017
|
+
if (typeof tmpTriggerGroupSolverEntry === 'string')
|
|
1018
|
+
{
|
|
1019
|
+
tmpUpdatedTriggerGroupSolverEntry = tmpSimpleSolverExpression;
|
|
1020
|
+
}
|
|
1021
|
+
else
|
|
1022
|
+
{
|
|
1023
|
+
tmpTriggerGroupSolverEntry.Expression = tmpSimpleSolverExpression;
|
|
1024
|
+
}
|
|
1025
|
+
if (tmpPrePost.toLowerCase() === 'pre')
|
|
1026
|
+
{
|
|
1027
|
+
tmpTriggerGroup.PreSolvers = tmpTriggerGroup.PreSolvers || [];
|
|
1028
|
+
tmpTriggerGroup.PreSolvers.push(tmpUpdatedTriggerGroupSolverEntry);
|
|
1029
|
+
}
|
|
1030
|
+
else
|
|
1031
|
+
{
|
|
1032
|
+
tmpTriggerGroup.PostSolvers = tmpTriggerGroup.PostSolvers || [];
|
|
1033
|
+
tmpTriggerGroup.PostSolvers.push(tmpUpdatedTriggerGroupSolverEntry);
|
|
1034
|
+
}
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
|
|
935
1039
|
/**
|
|
936
1040
|
* Create some manifests with a "factory" pattern.
|
|
937
1041
|
*
|
|
@@ -983,6 +1087,7 @@ class ManifestFactory extends libFableServiceProviderBase
|
|
|
983
1087
|
this.tabularRowAddDescriptor(tmpManifest, tmpRecord);
|
|
984
1088
|
}
|
|
985
1089
|
}
|
|
1090
|
+
this.migrateAutofillTriggerGroupSolvers(tmpManifests);
|
|
986
1091
|
|
|
987
1092
|
this.log.info(`Generated ${Object.keys(tmpManifests).length} manifests.`);
|
|
988
1093
|
|
|
@@ -20,6 +20,7 @@ declare class PictDynamicFormsSolverBehaviors extends libPictProvider {
|
|
|
20
20
|
setCSSSnippets(pCSSHideClass: any, pCSSSnippet: any): void;
|
|
21
21
|
cssHideClass: any;
|
|
22
22
|
addSolverFunction(pExpressionParser: any, pFunctionName: any, pFunctionAddress: any, pFunctionComment: any): void;
|
|
23
|
+
runSolvers(): any;
|
|
23
24
|
injectBehaviors(pExpressionParser: any): boolean;
|
|
24
25
|
/**
|
|
25
26
|
* @param {number|string} pSolverOrdinal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pict-Provider-DynamicFormSolverBehaviors.d.ts","sourceRoot":"","sources":["../../../source/providers/Pict-Provider-DynamicFormSolverBehaviors.js"],"names":[],"mappings":";AAaA;;;;;GAKG;AACH;IAeE,kBAAkB;IAClB,SADW,GAAG,CACF;IACZ,qFAAqF;IACrF,MADW,OAAO,MAAM,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,UAAU,CAAC,CAAA;KAAE,CACxE;IAIT,qBAAqB;IACrB,qBADW,MAAM,CAC4C;IAC7D,0BAAyD;IACzD,mBAA2H;IAE3H,qBAA0B;IAK3B,2DAMC;IAJA,kBAAsD;IAMvD,kHAaC;IAED,
|
|
1
|
+
{"version":3,"file":"Pict-Provider-DynamicFormSolverBehaviors.d.ts","sourceRoot":"","sources":["../../../source/providers/Pict-Provider-DynamicFormSolverBehaviors.js"],"names":[],"mappings":";AAaA;;;;;GAKG;AACH;IAeE,kBAAkB;IAClB,SADW,GAAG,CACF;IACZ,qFAAqF;IACrF,MADW,OAAO,MAAM,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,UAAU,CAAC,CAAA;KAAE,CACxE;IAIT,qBAAqB;IACrB,qBADW,MAAM,CAC4C;IAC7D,0BAAyD;IACzD,mBAA2H;IAE3H,qBAA0B;IAK3B,2DAMC;IAJA,kBAAsD;IAMvD,kHAaC;IAED,kBAGC;IAED,iDAuBC;IAED;;;OAGG;IACH,wCAHW,MAAM,GAAC,MAAM,YACb,OAAO,GAAC,MAAM,GAAC,MAAM,QAK/B;IAED;;OAEG;IACH,oCAFW,MAAM,GAAC,MAAM,QAKvB;IAED;;OAEG;IACH,qCAFW,MAAM,GAAC,MAAM,QAKvB;IAED;;;;OAIG;IACH,yCAJW,MAAM,GAAC,MAAM,GAEZ,OAAO,CAMlB;IAED,gDAGC;IAED,gEAUC;IAGD,wCAiBC;IAED,wCAiBC;IAED,+DAGC;IAED,+EAUC;IAED,uDAiBC;IAED,uDAiBC;IAED;;;;;;;OAOG;IACH,kCANW,MAAM,cACN,MAAM,WACN,MAAM,GAAC,MAAM,qBACb,OAAO,GAAC,MAAM,WAoDxB;IAGD,iEAqBC;IAED,mFA2BC;IAED,kGA0BC;IAED;;;;;;;;OAQG;IACH,mCAPW,MAAM,cACN,MAAM,UACN,MAAM,gBACN,MAAM,iBACN,MAAM,GACJ,OAAO,CAmCnB;IAED;;;;;;;;;;;OAWG;IACH,0CAVW,MAAM,cACN,MAAM,cAEN,MAAM,aADN,MAAM,UAEN,MAAM,gBACN,MAAM,iBACN,MAAM,qBACN,MAAM,GACJ,OAAO,CA0CnB;IAED;;;;;;OAMG;IACH,oCANW,KAAK,CAAC,WAAW,CAAC,UAClB,MAAM,iBACN,MAAM,GAEJ,OAAO,CA2BnB;IAED,+BAWC;CACD;;;;;AAphBD,kCAAkC;AAClC,6CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAQ3B"}
|
|
@@ -10,6 +10,7 @@ declare class PictDynamicSolver extends libPictProvider {
|
|
|
10
10
|
instantiateServiceProviderIfNotExists: (hash: string) => any;
|
|
11
11
|
ExpressionParser: any;
|
|
12
12
|
};
|
|
13
|
+
_RunSolversRegex: RegExp;
|
|
13
14
|
logSolveOutcome(pSolveOutcome: any): void;
|
|
14
15
|
/**
|
|
15
16
|
* Prepares the solver results map by ensuring it has the necessary structure.
|
|
@@ -44,6 +45,37 @@ declare class PictDynamicSolver extends libPictProvider {
|
|
|
44
45
|
* @returns {object|undefined} - The solver object if it passes the checks, otherwise undefined.
|
|
45
46
|
*/
|
|
46
47
|
checkSolver(pSolver: string | object, pFiltered?: boolean, pOrdinal?: number): object | undefined;
|
|
48
|
+
/** @typedef {{ Ordinal: number, Expression: string } | string} Solver */
|
|
49
|
+
/**
|
|
50
|
+
* Execute a set of adhoc solvers.
|
|
51
|
+
*
|
|
52
|
+
* @param {import('../views/Pict-View-DynamicForm.js')} pView - The dynamic view to execute the solvers against.
|
|
53
|
+
* @param {Array<Solver>} pSolvers - An array of solvers to execute.
|
|
54
|
+
* @param {string} pReason - The reason for executing the solvers.
|
|
55
|
+
*/
|
|
56
|
+
executeSolvers(pView: import("../views/Pict-View-DynamicForm.js"), pSolvers: Array<string | {
|
|
57
|
+
Ordinal: number;
|
|
58
|
+
Expression: string;
|
|
59
|
+
}>, pReason: string): void;
|
|
60
|
+
lastAdhocSolveOutcome: {
|
|
61
|
+
SolverResultsMap: {};
|
|
62
|
+
StartTimeStamp: number;
|
|
63
|
+
SolveOrdinals: {};
|
|
64
|
+
EndTimeStamp: number;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Runs each Adhoc solver formulae for a dynamic view group at a given ordinal.
|
|
68
|
+
*
|
|
69
|
+
* Or for all ordinals if no ordinal is passed.
|
|
70
|
+
*
|
|
71
|
+
* @param {import('../views/Pict-View-DynamicForm.js')} pView - The dynamic view to execute the solvers against.
|
|
72
|
+
* @param {Array<string>} pAdhocSolverArray - An array of Solvers from the groups to solve.
|
|
73
|
+
* @param {string} pReason - The reason for executing the solvers.
|
|
74
|
+
* @param {number} pOrdinal - The ordinal value to filter to. Optional.
|
|
75
|
+
* @param {Object} pSolverResultsMap - The solver results map.
|
|
76
|
+
* @param {boolean} [pPreventSolverCycles=false] - Whether to prevent solver cycles.
|
|
77
|
+
*/
|
|
78
|
+
executeAdhocSolvers(pView: import("../views/Pict-View-DynamicForm.js"), pAdhocSolverArray: Array<string>, pReason: string, pOrdinal: number, pSolverResultsMap: any, pPreventSolverCycles?: boolean): void;
|
|
47
79
|
/**
|
|
48
80
|
* Runs each RecordSet solver formulae for a dynamic view group at a given ordinal.
|
|
49
81
|
*
|
|
@@ -52,16 +84,18 @@ declare class PictDynamicSolver extends libPictProvider {
|
|
|
52
84
|
* @param {array} pGroupSolverArray - An array of Solvers from the groups to solve.
|
|
53
85
|
* @param {number} pOrdinal - The ordinal value to filter to. Optional.
|
|
54
86
|
* @param {Object} pSolverResultsMap - The solver results map.
|
|
87
|
+
* @param {boolean} [pPreventSolverCycles=false] - Whether to prevent solver cycles.
|
|
55
88
|
*/
|
|
56
|
-
executeGroupSolvers(pGroupSolverArray: any[], pOrdinal: number, pSolverResultsMap: any): void;
|
|
89
|
+
executeGroupSolvers(pGroupSolverArray: any[], pOrdinal: number, pSolverResultsMap: any, pPreventSolverCycles?: boolean): void;
|
|
57
90
|
/**
|
|
58
91
|
* Executes the section solvers at a given ordinal (or all if no ordinal is passed).
|
|
59
92
|
*
|
|
60
93
|
* @param {Array} pViewSectionSolverArray - The array of view section solvers.
|
|
61
94
|
* @param {number} pOrdinal - The ordinal value.
|
|
62
95
|
* @param {Object} pSolverResultsMap - The solver results map.
|
|
96
|
+
* @param {boolean} [pPreventSolverCycles=false] - Whether to prevent solver cycles.
|
|
63
97
|
*/
|
|
64
|
-
executeSectionSolvers(pViewSectionSolverArray: any[], pOrdinal: number, pSolverResultsMap: any): void;
|
|
98
|
+
executeSectionSolvers(pViewSectionSolverArray: any[], pOrdinal: number, pSolverResultsMap: any, pPreventSolverCycles?: boolean): void;
|
|
65
99
|
/**
|
|
66
100
|
* Executes the view solvers for the given array of view hashes.
|
|
67
101
|
*
|
|
@@ -101,8 +135,10 @@ declare class PictDynamicSolver extends libPictProvider {
|
|
|
101
135
|
* leaves on the tree.
|
|
102
136
|
|
|
103
137
|
* @param {Array|string[]} [pViewHashes] - An optional array of view hashes to solve. If not provided, all views in the fable will be solved.
|
|
138
|
+
* @param {boolean} [pPreventSolverCycles] - An optional context string for the solve operation.
|
|
139
|
+
* TODO: make sure you can't cycle with the same solve context - new solver method to invoke this
|
|
104
140
|
*/
|
|
105
|
-
solveViews(pViewHashes?: any[] | string[]): void;
|
|
141
|
+
solveViews(pViewHashes?: any[] | string[], pPreventSolverCycles?: boolean): void;
|
|
106
142
|
lastSolveOutcome: {
|
|
107
143
|
SolverResultsMap: {};
|
|
108
144
|
StartTimeStamp: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pict-Provider-DynamicSolver.d.ts","sourceRoot":"","sources":["../../../source/providers/Pict-Provider-DynamicSolver.js"],"names":[],"mappings":";AA+BA;;GAEG;AACH;IAcE,6BAA6B;IAC7B,MADW,OAAO,MAAM,CAAC,CAChB;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;
|
|
1
|
+
{"version":3,"file":"Pict-Provider-DynamicSolver.d.ts","sourceRoot":"","sources":["../../../source/providers/Pict-Provider-DynamicSolver.js"],"names":[],"mappings":";AA+BA;;GAEG;AACH;IAcE,6BAA6B;IAC7B,MADW,OAAO,MAAM,CAAC,CAChB;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;IAQV,yBAA0C;IAwB3C,0CAsBC;IAED;;;;;MAKE;IACF,qDAgBC;IAED;;;;;OAKG;IACH,oDA+CC;IAED;;;;;;OAMG;IACH,6BAJW,MAAM,YACN,OAAO,GACL,GAAG,CAyBf;IAED;;;;;;;;;OASG;IACH,qBALW,MAAM,GAAC,MAAM,cACb,OAAO,aACP,MAAM,GACJ,MAAM,GAAC,SAAS,CA8B5B;IAED,yEAAyE;IAEzE;;;;;;OAMG;IACH,sBAJW,OAAO,mCAAmC,CAAC,YAC3C,KAAK;iBANS,MAAM;oBAAc,MAAM;MAM3B,WACb,MAAM,QAmDhB;IADA;;;;;MAA4C;IAG7C;;;;;;;;;;;OAWG;IACH,2BAPW,OAAO,mCAAmC,CAAC,qBAC3C,KAAK,CAAC,MAAM,CAAC,WACb,MAAM,YACN,MAAM,iDAEN,OAAO,QAyCjB;IAED;;;;;;;;;OASG;IACH,wDAJW,MAAM,iDAEN,OAAO,QAoEjB;IAED;;;;;;;OAOG;IACH,gEAJW,MAAM,iDAEN,OAAO,QA0CjB;IAED;;;;;;OAMG;IACH,sDAHW,MAAM,gCA2BhB;IAED;;;;;;;;OAQG;IACH,gCAJW,MAAM,yBAWhB;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,yBAJW,QAAM,MAAM,EAAE,yBACd,OAAO,QA+FjB;IADA;;;;;;MAAuC;CAExC;;;;;AAvoBD,kCAAkC;AAClC,6CADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAS3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pict-Provider-Input-AutofillTriggerGroup.d.ts","sourceRoot":"","sources":["../../../../source/providers/inputs/Pict-Provider-Input-AutofillTriggerGroup.js"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;IAWE,6BAA6B;IAC7B,MADW,OAAO,MAAM,CAAC,CAChB;IAKV,oDAYC;IAED,sGAwBC;IAED,6HAwBC;IAGD;;;;;;;;;OASG;IACH,8CALW,GAAG,iBACH,MAAM,oBACN,MAAM,GACJ,GAAG,
|
|
1
|
+
{"version":3,"file":"Pict-Provider-Input-AutofillTriggerGroup.d.ts","sourceRoot":"","sources":["../../../../source/providers/inputs/Pict-Provider-Input-AutofillTriggerGroup.js"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;IAWE,6BAA6B;IAC7B,MADW,OAAO,MAAM,CAAC,CAChB;IAKV,oDAYC;IAED,sGAwBC;IAED,6HAwBC;IAGD;;;;;;;;;OASG;IACH,8CALW,GAAG,iBACH,MAAM,oBACN,MAAM,GACJ,GAAG,CA8Bf;IAED;;;;;;;;;;OAUG;IACH,qDANW,GAAG,iBACH,MAAM,aACN,MAAM,oBACN,MAAM,GACJ,GAAG,CA8Bf;CAmID"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pict-Provider-Input-TemplatedEntityLookup.d.ts","sourceRoot":"","sources":["../../../../source/providers/inputs/Pict-Provider-Input-TemplatedEntityLookup.js"],"names":[],"mappings":";AAIA;;;;;;GAMG;AACH;IAWE,6BAA6B;IAC7B,MADW,OAAO,MAAM,CAAC,CAChB;IACT,4DAA4D;IAC5D,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,aAAa,EAAE,MAAM,GAAG,CAAA;KAAE,CAC9C;IAKX;;;;;OAKG;IACH,sCAHW,MAAM,GACJ,MAAM,CAKlB;IAED;;;;;;OAMG;IACH,8CAJW,MAAM,aACN,MAAM,GACJ,MAAM,CAKlB;IAED;;;;;OAKG;IACH,iEAFW,GAAG,QAoEb;IAoBD;;;;;;;;;;;OAWG;IACH,uEANW,GAAG,iBACH,MAAM,aACN,MAAM,oBACN,MAAM,GACJ,GAAG,CAMf;IAED;;;;;;;;;;;OAWG;IACH,6EALW,GAAG,iBACH,MAAM,oBACN,MAAM,GACJ,OAAO,
|
|
1
|
+
{"version":3,"file":"Pict-Provider-Input-TemplatedEntityLookup.d.ts","sourceRoot":"","sources":["../../../../source/providers/inputs/Pict-Provider-Input-TemplatedEntityLookup.js"],"names":[],"mappings":";AAIA;;;;;;GAMG;AACH;IAWE,6BAA6B;IAC7B,MADW,OAAO,MAAM,CAAC,CAChB;IACT,4DAA4D;IAC5D,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,aAAa,EAAE,MAAM,GAAG,CAAA;KAAE,CAC9C;IAKX;;;;;OAKG;IACH,sCAHW,MAAM,GACJ,MAAM,CAKlB;IAED;;;;;;OAMG;IACH,8CAJW,MAAM,aACN,MAAM,GACJ,MAAM,CAKlB;IAED;;;;;OAKG;IACH,iEAFW,GAAG,QAoEb;IAoBD;;;;;;;;;;;OAWG;IACH,uEANW,GAAG,iBACH,MAAM,aACN,MAAM,oBACN,MAAM,GACJ,GAAG,CAMf;IAED;;;;;;;;;;;OAWG;IACH,6EALW,GAAG,iBACH,MAAM,oBACN,MAAM,GACJ,OAAO,CAOnB;IAED;;;;;;;;;;;OAWG;IACH,yEANW,GAAG,iBACH,MAAM,aACN,MAAM,oBACN,MAAM,GACJ,GAAG,CAOf;CACD"}
|
|
@@ -86,6 +86,7 @@ declare class ManifestFactory {
|
|
|
86
86
|
* @param {Object} pNewDescriptor - The descriptor object
|
|
87
87
|
*/
|
|
88
88
|
onTabularRowAddDescriptor(pIncomingDescriptor: any, pSection: any, pGroup: any, pNewDescriptor: any): void;
|
|
89
|
+
migrateAutofillTriggerGroupSolvers(pManifests: any): void;
|
|
89
90
|
/**
|
|
90
91
|
* Create some manifests with a "factory" pattern.
|
|
91
92
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManifestFactory.d.ts","sourceRoot":"","sources":["../../../source/services/ManifestFactory.js"],"names":[],"mappings":";AAOA;IAEC,2DA4CC;IAtCA,6KAA6K;IAC7K,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,6CAA6C,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;QAAC,WAAW,EAAE,MAAM,OAAO,UAAU,CAAC,CAAA;KAAE,CAC/J;IACV,kBAAkB;IAClB,KADW,GAAG,CACN;IACR,qBAAqB;IACrB,MADW,MAAM,CACR;IAET,cAAmC;IAcnC,+BAAoC;IAEpC,sBAA2B;IAC3B,oBAAyB;IASzB,2BAA2B;IAE3B,gCAAgD;IAChD,sCAAwC;IACxC,kCAA0C;IAG3C;;;;;OAKG;IACH,2BAHW,MAAM,GACL,MAAM,CASjB;IAED;;;;;;;;;OASG;IACH,uCAwJC;IAED;;;;OAIG;IACH,8CAOC;IAED;;;;;;OAMG;IACH,iCAJW,MAAM,OAiBhB;IAED;;;;;;;OAOG;IACH,mCALW,MAAM,MAAO,cACb,MAAM,OAkBhB;IAED;;;;OAIG;IACH,8BAFa,OAAO,CAenB;IAED,2FAyDC;IAED;;;;;;;OAOG;IACH,kEAwhBC;IAED;;;;;;;;;OASG;IACH,2GAGC;IAED;;;;;;OAMG;IACH,0CAJW,GAAG,GAEF,GAAG,
|
|
1
|
+
{"version":3,"file":"ManifestFactory.d.ts","sourceRoot":"","sources":["../../../source/services/ManifestFactory.js"],"names":[],"mappings":";AAOA;IAEC,2DA4CC;IAtCA,6KAA6K;IAC7K,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,6CAA6C,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;QAAC,WAAW,EAAE,MAAM,OAAO,UAAU,CAAC,CAAA;KAAE,CAC/J;IACV,kBAAkB;IAClB,KADW,GAAG,CACN;IACR,qBAAqB;IACrB,MADW,MAAM,CACR;IAET,cAAmC;IAcnC,+BAAoC;IAEpC,sBAA2B;IAC3B,oBAAyB;IASzB,2BAA2B;IAE3B,gCAAgD;IAChD,sCAAwC;IACxC,kCAA0C;IAG3C;;;;;OAKG;IACH,2BAHW,MAAM,GACL,MAAM,CASjB;IAED;;;;;;;;;OASG;IACH,uCAwJC;IAED;;;;OAIG;IACH,8CAOC;IAED;;;;;;OAMG;IACH,iCAJW,MAAM,OAiBhB;IAED;;;;;;;OAOG;IACH,mCALW,MAAM,MAAO,cACb,MAAM,OAkBhB;IAED;;;;OAIG;IACH,8BAFa,OAAO,CAenB;IAED,2FAyDC;IAED;;;;;;;OAOG;IACH,kEAwhBC;IAED;;;;;;;;;OASG;IACH,2GAGC;IAED,0DAsGC;IAED;;;;;;OAMG;IACH,0CAJW,GAAG,GAEF,GAAG,CAyDd;CACD;;+BAGU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC"}
|