pict-section-form 1.0.127 → 1.0.129
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/complex_table/Complex-Tabular-Application.js +1 -1
- package/example_applications/simple_form/Simple-Form_Default_Manifest.json +1 -1
- package/example_applications/simple_form/html/index.html +1 -0
- package/package.json +2 -2
- package/source/Pict-Section-Form.js +8 -0
- package/source/views/Pict-View-Form-Metacontroller.js +167 -0
- package/source/views/support/Pict-View-PSF-DebugViewer.js +151 -0
- package/source/views/support/Pict-View-PSF-Lifecycle-Visualization.js +36 -0
- package/source/views/support/Pict-View-PSF-Solver-Visualization.js +0 -0
- package/source/views/support/Pict-View-PSF-SupportBase.js +241 -0
- package/types/source/Pict-Section-Form.d.ts +4 -0
- package/types/source/providers/Pict-Provider-DynamicFormSolverBehaviors.d.ts +2 -2
- package/types/source/views/Pict-View-Form-Metacontroller.d.ts +28 -0
- package/types/source/views/Pict-View-Form-Metacontroller.d.ts.map +1 -1
- package/types/source/views/support/Pict-View-PSF-DebugViewer.d.ts +32 -0
- package/types/source/views/support/Pict-View-PSF-DebugViewer.d.ts.map +1 -0
- package/types/source/views/support/Pict-View-PSF-LifeCycle-Visualization.d.ts +23 -0
- package/types/source/views/support/Pict-View-PSF-LifeCycle-Visualization.d.ts.map +1 -0
- package/types/source/views/support/Pict-View-PSF-Solver-Visualization.d.ts +1 -0
- package/types/source/views/support/Pict-View-PSF-Solver-Visualization.d.ts.map +1 -0
- package/types/source/views/support/Pict-View-PSF-SupportBase.d.ts +37 -0
- package/types/source/views/support/Pict-View-PSF-SupportBase.d.ts.map +1 -0
|
@@ -88,7 +88,7 @@ module.exports.default_configuration.pict_configuration = {
|
|
|
88
88
|
{
|
|
89
89
|
//onclick="{~D:Record.Macro.DataRequestFunction~}"
|
|
90
90
|
"HashPostfix": "-Template-Wrap-Prefix",
|
|
91
|
-
"Template": "<h1>Rectangular Area Solver Micro-app</h1><div><a href=\"#\" onclick=\"{~Pict~}.PictApplication.solve()\">[ solve ]</a></div><hr />"
|
|
91
|
+
"Template": "<h1>Rectangular Area Solver Micro-app</h1><div><a href=\"#\" onclick=\"{~Pict~}.PictApplication.solve()\">[ solve ]</a> <a href=\"#\" onclick=\"{~P~}.views.PictFormMetacontroller.showSupportViewInlineEditor()\">[ editor ]</a></div><hr />"
|
|
92
92
|
}
|
|
93
93
|
],
|
|
94
94
|
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
[
|
|
31
31
|
{
|
|
32
32
|
"HashPostfix": "-Template-Wrap-Prefix",
|
|
33
|
-
"Template": "<h1>Rectangular Area Solver Micro-app</h1><div><a href=\"#\" onclick=\"{~P~}.PictApplication.solve()\">[ solve ]</a></div><hr />"
|
|
33
|
+
"Template": "<h1>Rectangular Area Solver Micro-app</h1><div><a href=\"#\" onclick=\"{~P~}.PictApplication.solve()\">[ solve ]</a> <a href=\"#\" onclick=\"{~P~}.views.PictFormMetacontroller.showSupportViewInlineEditor()\">[ editor ]</a></div><hr />"
|
|
34
34
|
}
|
|
35
35
|
]
|
|
36
36
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<title>Simple.</title>
|
|
5
5
|
<style id="PICT-CSS"></style>
|
|
6
|
+
<style> #Pict-Form-Container { position: absolute; margin: 10px; padding: 10px; left: 0px; top: 0px; width: 65%; border: 2px solid lightsteelblue; }</style>
|
|
6
7
|
<script src="./pict.min.js" type="text/javascript"></script>
|
|
7
8
|
<script type="text/javascript">Pict.safeOnDocumentReady(() => { Pict.safeLoadPictApplication(SimpleApplication, 1)});</script>
|
|
8
9
|
</head>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pict-section-form",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.129",
|
|
4
4
|
"description": "Pict dynamic form sections",
|
|
5
5
|
"main": "source/Pict-Section-Form.js",
|
|
6
6
|
"directories": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"browser-env": "^3.3.0",
|
|
32
32
|
"eslint": "^9.36.0",
|
|
33
33
|
"jquery": "^3.7.1",
|
|
34
|
-
"pict": "^1.0.
|
|
34
|
+
"pict": "^1.0.310",
|
|
35
35
|
"pict-application": "^1.0.29",
|
|
36
36
|
"pict-service-commandlineutility": "^1.0.15",
|
|
37
37
|
"quackage": "^1.0.42",
|
|
@@ -24,3 +24,11 @@ module.exports.PictDynamicLayoutProvider = require('./providers/Pict-Provider-Dy
|
|
|
24
24
|
|
|
25
25
|
// The ManifestFactory, for when we want to convert tabular data to configuration
|
|
26
26
|
module.exports.ManifestFactory = require('./services/ManifestFactory.js');
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
// The extension views
|
|
30
|
+
module.exports.ExtensionViews = (
|
|
31
|
+
{
|
|
32
|
+
LifecycleVisualization: require('./views/support/Pict-View-PSF-LifeCycle-Visualization.js'),
|
|
33
|
+
DebugViewer: require('./views/support/Pict-View-PSF-DebugViewer.js')
|
|
34
|
+
});
|
|
@@ -7,6 +7,10 @@ const libPictViewDynamicForm = require('./Pict-View-DynamicForm.js');
|
|
|
7
7
|
// TODO: Manage view lifecycle internally, including destruction of views if they are flagged to not be needed.
|
|
8
8
|
// Why? This allows us to dynamically add and remove sections without having to reload the application.
|
|
9
9
|
|
|
10
|
+
const PENDING_ASYNC_OPERATION_TYPE = 'PendingAsyncOperation';
|
|
11
|
+
const TRANSACTION_COMPLETE_CALLBACK_TYPE = 'onTransactionComplete';
|
|
12
|
+
const READY_TO_FINALIZE_TYPE = 'ReadyToFinalize';
|
|
13
|
+
|
|
10
14
|
/**
|
|
11
15
|
* @typedef {(a: any, b: any) => number} SortFunction
|
|
12
16
|
*/
|
|
@@ -33,6 +37,12 @@ class PictFormMetacontroller extends libPictViewClass
|
|
|
33
37
|
this.formTemplatePrefix = this.pict.providers.MetatemplateGenerator.baseTemplatePrefix;
|
|
34
38
|
|
|
35
39
|
this.manifest = this.pict.manifest;
|
|
40
|
+
|
|
41
|
+
this.SupportViewPrototypes = (
|
|
42
|
+
{
|
|
43
|
+
LifecycleVisualization: require('./support/Pict-View-PSF-LifeCycle-Visualization.js'),
|
|
44
|
+
DebugViewer: require('./support/Pict-View-PSF-DebugViewer.js')
|
|
45
|
+
});
|
|
36
46
|
}
|
|
37
47
|
|
|
38
48
|
get viewMarshalDestination()
|
|
@@ -940,6 +950,163 @@ class PictFormMetacontroller extends libPictViewClass
|
|
|
940
950
|
}
|
|
941
951
|
}
|
|
942
952
|
|
|
953
|
+
/**
|
|
954
|
+
* @param {string} pTransactionGUID - The transaction GUID.
|
|
955
|
+
* @param {string} pAsyncOperationHash - The hash of the async operation.
|
|
956
|
+
*/
|
|
957
|
+
registerEventTransactionAsyncOperation(pTransactionGUID, pAsyncOperationHash)
|
|
958
|
+
{
|
|
959
|
+
this.pict.TransactionTracking.pushToTransactionQueue(pTransactionGUID, pAsyncOperationHash, PENDING_ASYNC_OPERATION_TYPE);
|
|
960
|
+
}
|
|
961
|
+
|
|
962
|
+
/**
|
|
963
|
+
* @param {string} pTransactionGUID - The transaction GUID.
|
|
964
|
+
* @param {string} pAsyncOperationHash - The hash of the async operation.
|
|
965
|
+
*
|
|
966
|
+
* @return {boolean} - Returns true if the async operation was found and marked as complete, otherwise false.
|
|
967
|
+
*/
|
|
968
|
+
eventTransactionAsyncOperationComplete(pTransactionGUID, pAsyncOperationHash)
|
|
969
|
+
{
|
|
970
|
+
const tmpQueue = this.pict.TransactionTracking.checkTransactionQueue(pTransactionGUID);
|
|
971
|
+
let tmpPendingAsyncOperationCount = 0;
|
|
972
|
+
let tmpMarkedOperationCount = 0;
|
|
973
|
+
let tmpFinalized = false;
|
|
974
|
+
for (let i = 0; i < tmpQueue.length; i++)
|
|
975
|
+
{
|
|
976
|
+
const tmpQueueItem = tmpQueue[i];
|
|
977
|
+
if (tmpQueueItem.Type === PENDING_ASYNC_OPERATION_TYPE)
|
|
978
|
+
{
|
|
979
|
+
if (tmpQueueItem.Data === pAsyncOperationHash)
|
|
980
|
+
{
|
|
981
|
+
tmpQueue.splice(i, 1);
|
|
982
|
+
++tmpMarkedOperationCount;
|
|
983
|
+
--i;
|
|
984
|
+
}
|
|
985
|
+
else
|
|
986
|
+
{
|
|
987
|
+
++tmpPendingAsyncOperationCount;
|
|
988
|
+
}
|
|
989
|
+
}
|
|
990
|
+
if (tmpQueueItem.Type === READY_TO_FINALIZE_TYPE)
|
|
991
|
+
{
|
|
992
|
+
tmpFinalized = true;
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
if (tmpPendingAsyncOperationCount === 0)
|
|
996
|
+
{
|
|
997
|
+
for (const tmpQueueItem of tmpQueue)
|
|
998
|
+
{
|
|
999
|
+
if (tmpQueueItem.Type === TRANSACTION_COMPLETE_CALLBACK_TYPE)
|
|
1000
|
+
{
|
|
1001
|
+
if (typeof tmpQueueItem.Data !== 'function')
|
|
1002
|
+
{
|
|
1003
|
+
this.log.error(`PICT View Metatemplate Helper eventTransactionAsyncOperationComplete transaction callback was not a function.`);
|
|
1004
|
+
continue;
|
|
1005
|
+
}
|
|
1006
|
+
try
|
|
1007
|
+
{
|
|
1008
|
+
tmpQueueItem.Data();
|
|
1009
|
+
}
|
|
1010
|
+
catch (pError)
|
|
1011
|
+
{
|
|
1012
|
+
this.log.error(`PICT View Metatemplate Helper eventTransactionAsyncOperationComplete transaction callback error: ${pError}`, { Stack: pError.stack });
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
return tmpMarkedOperationCount > 0;
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
/**
|
|
1021
|
+
* @param {string} pTransactionGUID - The transaction GUID.
|
|
1022
|
+
*
|
|
1023
|
+
* @return {boolean} - Returns true if the transaction was found and able to be finalized, otherwise false.
|
|
1024
|
+
*/
|
|
1025
|
+
finalizeTransaction(pTransactionGUID)
|
|
1026
|
+
{
|
|
1027
|
+
this.pict.TransactionTracking.pushToTransactionQueue(pTransactionGUID, null, READY_TO_FINALIZE_TYPE);
|
|
1028
|
+
|
|
1029
|
+
const tmpQueue = this.pict.TransactionTracking.checkTransactionQueue(pTransactionGUID);
|
|
1030
|
+
let tmpPendingAsyncOperationCount = 0;
|
|
1031
|
+
for (const tmpQueueItem of tmpQueue)
|
|
1032
|
+
{
|
|
1033
|
+
if (tmpQueueItem.Type === PENDING_ASYNC_OPERATION_TYPE)
|
|
1034
|
+
{
|
|
1035
|
+
++tmpPendingAsyncOperationCount;
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
if (tmpPendingAsyncOperationCount > 0)
|
|
1039
|
+
{
|
|
1040
|
+
this.pict.log.info(`PICT View Metatemplate Helper finalizeTransaction ${pTransactionGUID} is waiting on ${tmpPendingAsyncOperationCount} pending async operations.`);
|
|
1041
|
+
return false;
|
|
1042
|
+
}
|
|
1043
|
+
for (const tmpQueueItem of tmpQueue)
|
|
1044
|
+
{
|
|
1045
|
+
if (tmpQueueItem.Type === TRANSACTION_COMPLETE_CALLBACK_TYPE)
|
|
1046
|
+
{
|
|
1047
|
+
if (typeof tmpQueueItem.Data !== 'function')
|
|
1048
|
+
{
|
|
1049
|
+
this.log.error(`PICT View Metatemplate Helper eventTransactionAsyncOperationComplete transaction callback was not a function.`);
|
|
1050
|
+
continue;
|
|
1051
|
+
}
|
|
1052
|
+
try
|
|
1053
|
+
{
|
|
1054
|
+
tmpQueueItem.Data();
|
|
1055
|
+
}
|
|
1056
|
+
catch (pError)
|
|
1057
|
+
{
|
|
1058
|
+
this.log.error(`PICT View Metatemplate Helper eventTransactionAsyncOperationComplete transaction callback error: ${pError}`, { Stack: pError.stack });
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
//TODO: figure out how to safely clean up old transactions
|
|
1063
|
+
//delete this.pict.TransactionTracking.transactions[pTransactionGUID];
|
|
1064
|
+
return true;
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
/**
|
|
1068
|
+
* @param {string} pTransactionGUID - The transaction GUID.
|
|
1069
|
+
* @param {Function} fCallback - The callback to call when the transaction is complete.
|
|
1070
|
+
*/
|
|
1071
|
+
registerOnTransactionCompleteCallback(pTransactionGUID, fCallback)
|
|
1072
|
+
{
|
|
1073
|
+
const tmpQueue = this.pict.TransactionTracking.checkTransactionQueue(pTransactionGUID);
|
|
1074
|
+
let tmpFinalized = false;
|
|
1075
|
+
for (const tmpQueueItem of tmpQueue)
|
|
1076
|
+
{
|
|
1077
|
+
if (tmpQueueItem.Type === READY_TO_FINALIZE_TYPE)
|
|
1078
|
+
{
|
|
1079
|
+
tmpFinalized = true;
|
|
1080
|
+
break;
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
if (tmpFinalized)
|
|
1084
|
+
{
|
|
1085
|
+
fCallback();
|
|
1086
|
+
}
|
|
1087
|
+
else
|
|
1088
|
+
{
|
|
1089
|
+
this.pict.TransactionTracking.pushToTransactionQueue(pTransactionGUID, fCallback, TRANSACTION_COMPLETE_CALLBACK_TYPE);
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
showSupportViewInlineEditor()
|
|
1094
|
+
{
|
|
1095
|
+
// 1. See if the Inline Editor support view is loaded
|
|
1096
|
+
if (!("Pict-Form-DebugViewer" in this.pict.views))
|
|
1097
|
+
{
|
|
1098
|
+
// 2. Load the support view if it isn't
|
|
1099
|
+
this.pict.addView("Pict-Form-DebugViewer", {}, this.SupportViewPrototypes.DebugViewer);
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
// 3. See if the container for the support view is loaded
|
|
1103
|
+
// 4. Render the container for the support view if it isn't loaded
|
|
1104
|
+
this.pict.views["Pict-Form-DebugViewer"].bootstrapContainer();
|
|
1105
|
+
|
|
1106
|
+
// 5. Render the support view into the container
|
|
1107
|
+
this.pict.views["Pict-Form-DebugViewer"].render();
|
|
1108
|
+
}
|
|
1109
|
+
|
|
943
1110
|
/**
|
|
944
1111
|
* Returns whether the object is a Pict Metacontroller.
|
|
945
1112
|
*
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
const libPictViewFormSupportBase = require(`./Pict-View-PSF-SupportBase.js`);
|
|
2
|
+
|
|
3
|
+
const defaultViewConfiguration = (
|
|
4
|
+
{
|
|
5
|
+
ViewIdentifier: "Pict-Form-DebugViewer",
|
|
6
|
+
|
|
7
|
+
DefaultRenderable: 'Pict-Form-DebugViewer-Renderable',
|
|
8
|
+
DefaultDestinationAddress: "#Pict-Form-Extensions-Container",
|
|
9
|
+
|
|
10
|
+
RenderOnLoad: false,
|
|
11
|
+
|
|
12
|
+
CSS: /*css*/`
|
|
13
|
+
#Pict-Form-Extensions-Container { position: absolute; left: 75%; top: 0px; width: 25%; background-color: blanchedalmond; margin: 2px; }
|
|
14
|
+
#PSFDV-SectionList .PSFDV-Section { margin: 2px; padding: 2px; background-color: aliceblue; }
|
|
15
|
+
#PSFDV-DynamicInputSection .PSFDV-Section { margin: 2px; padding: 2px; background-color: #c8fe44; }
|
|
16
|
+
.PSFDV-Section-Group, .PSFDV-Section-Descriptors { margin-left: 5px; }
|
|
17
|
+
.PSFDV-Section-Buttons { font-face: orange; }
|
|
18
|
+
.PSFDV-Solver-Entry { margin-left: 10px; margin-left: 5px; font-family: "Courier New", "Lucida Console", monospace; white-space: nowrap; overflow: scroll; }
|
|
19
|
+
.PSFDV-Solver-Result { font-family: "Courier New", "Lucida Console", monospace; background-color: #eefaee; white-space: nowrap; overflow: scroll; }
|
|
20
|
+
.PSFDV-DataHeader { font-weight: bold; }
|
|
21
|
+
.PSFDV-DeEmphasize { font-weight: light; font-size: smaller; }
|
|
22
|
+
.PSFDV-Data { margin-left: 10px; line-height: 0.5; font-size: smaller; }
|
|
23
|
+
.PSFDV-Label { font-weight: light; min-width: 15%; color: #334481; }
|
|
24
|
+
.PSFDV-Hidden { display: none; }
|
|
25
|
+
`,
|
|
26
|
+
|
|
27
|
+
Templates: [
|
|
28
|
+
{
|
|
29
|
+
Hash: "Pict-Form-DebugViewer-Content",
|
|
30
|
+
Template: /*html*/`
|
|
31
|
+
<div>
|
|
32
|
+
<h2>Pict Inline Form Editor</h2>
|
|
33
|
+
{~T:Pict-Form-DebugViewer-MetacontrollerContainer~}
|
|
34
|
+
</div>`
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
Hash: "Pict-Form-DebugViewer-MetacontrollerContainer",
|
|
38
|
+
Template: /*html*/`
|
|
39
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">Scope:</span> {~D:Context[0].getDynamicState().Scope~}</p>
|
|
40
|
+
<div id="PSFDV-SectionList">
|
|
41
|
+
{~TS:Pict-Form-DebugViewer-SectionContainer:Context[0].getDynamicState().SectionViews~}
|
|
42
|
+
</div>
|
|
43
|
+
<hr>
|
|
44
|
+
<div id="PSFDV-DynamicInputSection">
|
|
45
|
+
{~T:Pict-Form-DebugViewer-SectionContainer:Context[0].getDynamicState().DynamicInputView~}
|
|
46
|
+
</div>
|
|
47
|
+
`
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
Hash: "Pict-Form-DebugViewer-SectionContainer",
|
|
51
|
+
Template: /*html*/`
|
|
52
|
+
<div id="PSFDV-Section-{~D:Record.Hash~}" class="PSFDV-Section">
|
|
53
|
+
<h3><span class="PSFDV-DeEmphasize">Section:</span> {~D:Record.sectionDefinition.Name~}</h3>
|
|
54
|
+
<div class="PSDV-Section-Buttons"><a href="#" onclick="{~P~}.views['{~D:Record.View.Hash~}'].render()">[ render ]</a> <a href="#" onclick="{~P~}.ContentAssignment.assignContent('{~D:Record.View.options.DefaultDestinationAddress~}','')">[ clear ]</a> <a href="#" onclick="{~P~}.ContentAssignment.removeClass('#PSFDV-{~D:Record.View.Hash~}-Extra', 'PSFDV-Hidden')">[ Extra Data ]</a></div>
|
|
55
|
+
<div id="PSFDV-{~D:Record.View.Hash~}-Extra" class="PSFDV-Hidden">
|
|
56
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">Description:</span> {~D:Record.sectionDefinition.Description~}</p>
|
|
57
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">Hash:</span> {~D:Record.View.Hash~}</p>
|
|
58
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">HTML ID:</span> {~D:Record.View.sectionDefinition.Macro.HTMLID~}</p>
|
|
59
|
+
<h4>Section Solvers:</h4>
|
|
60
|
+
<div class="PSFDV-Section-Solvers">
|
|
61
|
+
{~TS:Pict-Form-DebugViewer-SolverEntry:Record.Solvers[]<<~?ExpressionScope,==,Section?~>>~}
|
|
62
|
+
</div>
|
|
63
|
+
<h4>Tabular/RecordSet Solvers:</h4>
|
|
64
|
+
<div class="PSFDV-Group-Solvers">
|
|
65
|
+
{~TS:Pict-Form-DebugViewer-SolverEntry:Record.Solvers[]<<~?ExpressionScope,==,Group?~>>~}
|
|
66
|
+
</div>
|
|
67
|
+
<h4>Inputs:</h4>
|
|
68
|
+
<div class="PSFDV-Section-Solver-DynamicInput">
|
|
69
|
+
{~TS:Pict-Form-DebugViewer-GroupContainer:Record.View.sectionDefinition.Groups~}
|
|
70
|
+
</div>
|
|
71
|
+
<a href="#" onclick="{~P~}.ContentAssignment.addClass('#PSFDV-{~D:Record.View.Hash~}-Extra', 'PSFDV-Hidden')">[ Hide Extra Data for {~D:Record.View.Hash~} ]</a>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
`
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
Hash: "Pict-Form-DebugViewer-SolverEntry",
|
|
78
|
+
Template: /*html*/`
|
|
79
|
+
<div class="PSFDV-Section-Solver-Entry">
|
|
80
|
+
<p class="PSFDV-Solver-Entry">{~D:Record.Expression~}</p>
|
|
81
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">Last Result</span> <span class="PSFDV-Solver-Result">{~D:Record.LastResult~}</span></p>
|
|
82
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">Sequence</span> Ordinal [{~D:Record.Ordinal~}] Index [{~D:Record.Index~}]</p>
|
|
83
|
+
</div>
|
|
84
|
+
`
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
Hash: "Pict-Form-DebugViewer-GroupContainer",
|
|
88
|
+
Template: /*html*/`
|
|
89
|
+
<div class="PSFDV-Section-Group">
|
|
90
|
+
<h8><span class="PSFDV-DeEmphasize">Group:</span> {~D:Record.Name~} [idx <em>{~D:Record.GroupIndex~}</em>]</h8>
|
|
91
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">Layout:</span> {~D:Record.Layout~}</p>
|
|
92
|
+
<div class="PSFDV-Section-Rows">
|
|
93
|
+
{~TS:Pict-Form-DebugViewer-RowContainer:Record.Rows~}
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
`
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
Hash: "Pict-Form-DebugViewer-RowContainer",
|
|
100
|
+
Template: /*html*/`
|
|
101
|
+
<div class="PSFDV-Section-Descriptors">
|
|
102
|
+
<h9>Row {~D:Record.Hash~}</h9>
|
|
103
|
+
{~TS:Pict-Form-DebugViewer-DescriptorContainer:Record.Inputs~}
|
|
104
|
+
</div>
|
|
105
|
+
`
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
Hash: "Pict-Form-DebugViewer-DescriptorContainer",
|
|
109
|
+
Template: /*html*/`
|
|
110
|
+
<div class="PSFDV-Section-Descriptor">
|
|
111
|
+
<p class="PSFDV-DataHeader"><span class="PSFDV-DeEmphasize">Input:</span> {~D:Record.Name~}</p>
|
|
112
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">Hash</span> {~D:Record.Hash~}</p>
|
|
113
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">DataType</span> {~D:Record.DataType~}</p>
|
|
114
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">InputType</span> {~D:Record.PictForm.InputType~}</p>
|
|
115
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">Informary Data Address</span> {~D:Record.PictForm.InformaryDataAddress~}</p>
|
|
116
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">Input Index</span> {~D:Record.PictForm.InputIndex~}</p>
|
|
117
|
+
<p class="PSFDV-Data"><span class="PSFDV-Label">HTML ID</span> {~D:Record.PictForm.Macro.HTMLID~}</p>
|
|
118
|
+
</div>
|
|
119
|
+
`
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
Hash: "Pict-Form-DebugViewer-Container",
|
|
123
|
+
Template: /*html*/`<div id="Pict-Form-Extensions-Container"></div>`
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
Renderables: [
|
|
127
|
+
{
|
|
128
|
+
RenderableHash: "Pict-Form-DebugViewer-Renderable",
|
|
129
|
+
TemplateHash: "Pict-Form-DebugViewer-Content"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
RenderableHash: "Pict-Form-DebugViewer-Container",
|
|
133
|
+
TemplateHash: "Pict-Form-DebugViewer-Container",
|
|
134
|
+
ContentDestinationAddress: 'body',
|
|
135
|
+
RenderMethod: 'append_once',
|
|
136
|
+
TestAddress: "#Pict-Form-Extensions-Container",
|
|
137
|
+
}
|
|
138
|
+
]
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
class PictFormsInlineEditor extends libPictViewFormSupportBase
|
|
142
|
+
{
|
|
143
|
+
constructor(pFable, pOptions, pServiceHash)
|
|
144
|
+
{
|
|
145
|
+
super(pFable, pOptions, pServiceHash);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
module.exports = PictFormsInlineEditor;
|
|
150
|
+
|
|
151
|
+
module.exports.default_configuration = defaultViewConfiguration;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const libPictView = require(`pict-view`);
|
|
2
|
+
|
|
3
|
+
const defaultViewConfiguration = (
|
|
4
|
+
{
|
|
5
|
+
ViewIdentifier: "PictSectionForm-Visualization-Lifecycle",
|
|
6
|
+
|
|
7
|
+
DefaultRenderable: 'PSF-Visualization-Lifecycle-Renderable',
|
|
8
|
+
DefaultDestinationAddress: "#PictSectionForm-Extensions-Container",
|
|
9
|
+
|
|
10
|
+
RenderOnLoad: false,
|
|
11
|
+
|
|
12
|
+
Templates: [
|
|
13
|
+
{
|
|
14
|
+
Hash: "PictSectionForm-Visualization-Lifecycle-Content",
|
|
15
|
+
Template: /*html*/``
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
Renderables: [
|
|
19
|
+
{
|
|
20
|
+
RenderableHash: "PictSectionForm-Visualization-Lifecycle-Renderable",
|
|
21
|
+
TemplateHash: "PictSectionForm-Visualization-Lifecycle-Content"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
class PictSectionFormsLifecycleVisualization extends libPictView
|
|
27
|
+
{
|
|
28
|
+
constructor(pFable, pOptions, pServiceHash)
|
|
29
|
+
{
|
|
30
|
+
super(pFable, pOptions, pServiceHash);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
module.exports = PictSectionFormsLifecycleVisualization;
|
|
35
|
+
|
|
36
|
+
module.exports.default_configuration = defaultViewConfiguration;
|
|
File without changes
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
const libPictView = require(`pict-view`);
|
|
2
|
+
|
|
3
|
+
const defaultViewConfiguration = (
|
|
4
|
+
{
|
|
5
|
+
ViewIdentifier: "Pict-Form-SupportBase",
|
|
6
|
+
|
|
7
|
+
DefaultRenderable: 'Pict-Form-SUPPORT-BASE',
|
|
8
|
+
|
|
9
|
+
RenderOnLoad: false,
|
|
10
|
+
|
|
11
|
+
Templates: [],
|
|
12
|
+
Renderables: [
|
|
13
|
+
{
|
|
14
|
+
RenderableHash: "Pict-Form-SUPPORT-BASE",
|
|
15
|
+
TemplateHash: "Pict-Form-SUPPORT-BASE-NOTEMPLATE"
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
class PictFormsSupportBase extends libPictView
|
|
21
|
+
{
|
|
22
|
+
constructor(pFable, pOptions, pServiceHash)
|
|
23
|
+
{
|
|
24
|
+
super(pFable, pOptions, pServiceHash);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
getDynamicState()
|
|
28
|
+
{
|
|
29
|
+
if (!('PictFormMetacontroller' in this.pict.views))
|
|
30
|
+
{
|
|
31
|
+
this.pict.log.warn(`Pict Forms Inline Editor tried to initialize but no metacontroller was found.`);
|
|
32
|
+
return (
|
|
33
|
+
{
|
|
34
|
+
"Scope": `ERR_NO_METACONTROLLER`,
|
|
35
|
+
"Description": `Error initializing inline editor -- no metacontroller found.`,
|
|
36
|
+
"Manifest": this.fable.newManyfest(),
|
|
37
|
+
"Sections": []
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
let tmpMetacontroller = this.pict.views.PictFormMetacontroller;
|
|
41
|
+
let tmpDynamicState = (
|
|
42
|
+
{
|
|
43
|
+
// TODO: The way the metacontroller pulls in the manifest and bootstraps the description is putting "DEFAULT" into the actual manifest; fix this.
|
|
44
|
+
"Scope": tmpMetacontroller.manifestDescription.Scope,
|
|
45
|
+
"Description": ``,
|
|
46
|
+
"Manifest": tmpMetacontroller.manifest,
|
|
47
|
+
"ManifestDescription": tmpMetacontroller.manifestDescription,
|
|
48
|
+
"AllViews": tmpMetacontroller.filterViews(),
|
|
49
|
+
"SectionViews": [],
|
|
50
|
+
"DynamicInputView": false,
|
|
51
|
+
"Solvers": []
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
for (let i = 0; i < tmpDynamicState.AllViews.length; i++)
|
|
55
|
+
{
|
|
56
|
+
let tmpSectionView = tmpDynamicState.AllViews[i];
|
|
57
|
+
if (tmpSectionView.isPictSectionForm && (tmpSectionView.Hash == 'PictFormMetacontroller-DynamicInputs'))
|
|
58
|
+
{
|
|
59
|
+
// This is the special Dynamic Input section -- it goes in its own place.
|
|
60
|
+
tmpDynamicState.DynamicInputView = tmpSectionView;
|
|
61
|
+
}
|
|
62
|
+
else if (tmpSectionView.isPictSectionForm)
|
|
63
|
+
{
|
|
64
|
+
tmpDynamicState.SectionViews.push(
|
|
65
|
+
{
|
|
66
|
+
View: tmpSectionView,
|
|
67
|
+
sectionDefinition: tmpSectionView.sectionDefinition,
|
|
68
|
+
Solvers: []
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Now get the solvers for each section view
|
|
74
|
+
for (let i = 0; i < tmpDynamicState.SectionViews.length; i++)
|
|
75
|
+
{
|
|
76
|
+
let tmpSectionView = tmpDynamicState.SectionViews[i].View;
|
|
77
|
+
let tmpSectionViewSolvers = tmpDynamicState.SectionViews[i].Solvers;
|
|
78
|
+
// Find the view representation in the
|
|
79
|
+
if (tmpSectionView.isPictSectionForm && Array.isArray(tmpSectionView.sectionDefinition.Solvers))
|
|
80
|
+
{
|
|
81
|
+
for (let j = 0; j < tmpSectionView.sectionDefinition.Solvers.length; j++)
|
|
82
|
+
{
|
|
83
|
+
let tmpSolver = tmpSectionView.sectionDefinition.Solvers[j];
|
|
84
|
+
|
|
85
|
+
let tmpSolverEntry = { ViewHash: tmpSectionView.Hash, SectionOrdinal: i, Ordinal: 1, Index: j, Expression: '', ExpressionType: 'Unknown', ExpressionScope: 'Section'}
|
|
86
|
+
if (typeof(tmpSolver) === 'string')
|
|
87
|
+
{
|
|
88
|
+
tmpSolverEntry.Expression = tmpSolver;
|
|
89
|
+
tmpSolverEntry.ExpressionType = 'Simple';
|
|
90
|
+
}
|
|
91
|
+
else if (typeof(tmpSolver) === 'object')
|
|
92
|
+
{
|
|
93
|
+
// When the solvers are in this format:
|
|
94
|
+
// {
|
|
95
|
+
// Ordinal: 0,
|
|
96
|
+
// Expression: "PercentTotalFat = (Fat * 9) / Calories",
|
|
97
|
+
// }
|
|
98
|
+
tmpSolverEntry.Expression = tmpSolver.Expression;
|
|
99
|
+
tmpSolverEntry.Ordinal = tmpSolver.Ordinal;
|
|
100
|
+
tmpSolverEntry.ExpressionType = 'Complex';
|
|
101
|
+
}
|
|
102
|
+
tmpDynamicState.Solvers.push(tmpSolverEntry);
|
|
103
|
+
tmpSectionViewSolvers.push(tmpSolverEntry);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Now get all the Group solvers
|
|
108
|
+
// These guards are here because the metacontroller view masquerades as a section form view but isn't one.
|
|
109
|
+
for (let j = 0; j < tmpSectionView.sectionDefinition.Groups.length; j++)
|
|
110
|
+
{
|
|
111
|
+
let tmpGroup = tmpSectionView.getGroup(j);
|
|
112
|
+
if (`RecordSetSolvers` in tmpGroup)
|
|
113
|
+
{
|
|
114
|
+
for (let k = 0; k < tmpGroup.RecordSetSolvers.length; k++)
|
|
115
|
+
{
|
|
116
|
+
let tmpSolver = tmpGroup.RecordSetSolvers[k];
|
|
117
|
+
|
|
118
|
+
let tmpSolverEntry = { ViewHash: tmpSectionView.Hash, SectionOrdinal: i, Ordinal: 1, Index: j, Expression: '', ExpressionType: 'Unknown', ExpressionScope: 'Group'}
|
|
119
|
+
if (tmpSolver)
|
|
120
|
+
{
|
|
121
|
+
if (typeof(tmpSolver) === 'string')
|
|
122
|
+
{
|
|
123
|
+
tmpSolverEntry.Expression = tmpSolver;
|
|
124
|
+
tmpSolverEntry.ExpressionType = 'Simple';
|
|
125
|
+
}
|
|
126
|
+
else if (typeof(tmpSolver) === 'object')
|
|
127
|
+
{
|
|
128
|
+
// When the solvers are in this format:
|
|
129
|
+
// {
|
|
130
|
+
// Ordinal: 0,
|
|
131
|
+
// Expression: "PercentTotalFat = (Fat * 9) / Calories",
|
|
132
|
+
// }
|
|
133
|
+
tmpSolverEntry.Expression = tmpSolver.Expression;
|
|
134
|
+
tmpSolverEntry.Ordinal = tmpSolver.Ordinal;
|
|
135
|
+
tmpSolverEntry.ExpressionType = 'Complex';
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
tmpDynamicState.Solvers.push(tmpSolverEntry);
|
|
139
|
+
tmpSectionViewSolvers.push(tmpSolverEntry);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Now sort the solvers by Ordinal and then Index
|
|
145
|
+
tmpSectionViewSolvers.sort((pLeftValue, pRightValue) =>
|
|
146
|
+
{
|
|
147
|
+
if (pLeftValue.Ordinal < pRightValue.Ordinal) return -1;
|
|
148
|
+
if (pLeftValue.Ordinal > pRightValue.Ordinal) return 1;
|
|
149
|
+
if (pLeftValue.Index < pRightValue.Index) return -1;
|
|
150
|
+
if (pLeftValue.Index > pRightValue.Index) return 1;
|
|
151
|
+
return 0;
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// Get the *full* last solve outcome object
|
|
156
|
+
tmpDynamicState.LastSolveOutcome = this.pict.providers.DynamicSolver.lastSolveOutcome;
|
|
157
|
+
|
|
158
|
+
// Now walk through the solvers and see if the outcome has a result for it.
|
|
159
|
+
if (typeof(tmpDynamicState.LastSolveOutcome) == 'object')
|
|
160
|
+
{
|
|
161
|
+
for (let i = 0; i < tmpDynamicState.Solvers.length; i++)
|
|
162
|
+
{
|
|
163
|
+
let tmpSolverEntry = tmpDynamicState.Solvers[i];
|
|
164
|
+
|
|
165
|
+
if (tmpSolverEntry.Ordinal in tmpDynamicState.LastSolveOutcome.SolveOrdinals)
|
|
166
|
+
{
|
|
167
|
+
if (tmpSolverEntry.ExpressionScope == 'Section')
|
|
168
|
+
{
|
|
169
|
+
let tmpSolveResultSet = tmpDynamicState.LastSolveOutcome.SolveOrdinals[tmpSolverEntry.Ordinal].SectionSolvers;
|
|
170
|
+
if (Array.isArray(tmpSolveResultSet))
|
|
171
|
+
{
|
|
172
|
+
for (let j = 0; j < tmpSolveResultSet.length; j++)
|
|
173
|
+
{
|
|
174
|
+
let tmpPotentialResultEntry = tmpSolveResultSet[j];
|
|
175
|
+
if ((tmpPotentialResultEntry.ViewHash == tmpSolverEntry.ViewHash) && (tmpPotentialResultEntry.Solver.Expression == tmpSolverEntry.Expression))
|
|
176
|
+
{
|
|
177
|
+
// We have a match -- assign the result to the solver entry
|
|
178
|
+
tmpSolverEntry.LastResult = tmpPotentialResultEntry.Solver.ResultsObject.RawResult;
|
|
179
|
+
tmpSolverEntry.LastResultsObject = tmpPotentialResultEntry.ResultsObject;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else if ((tmpSolverEntry.ExpressionScope == 'Group'))
|
|
185
|
+
{
|
|
186
|
+
let tmpSolveResultSet = tmpDynamicState.LastSolveOutcome.SolveOrdinals[tmpSolverEntry.Ordinal].GroupSolvers;
|
|
187
|
+
if (Array.isArray(tmpSolveResultSet))
|
|
188
|
+
{
|
|
189
|
+
for (let j = 0; j < tmpSolveResultSet.length; j++)
|
|
190
|
+
{
|
|
191
|
+
let tmpPotentialResultEntry = tmpSolveResultSet[j];
|
|
192
|
+
if ((tmpPotentialResultEntry.ViewHash == tmpSolverEntry.ViewHash) && (tmpPotentialResultEntry.Solver.Expression == tmpSolverEntry.Expression))
|
|
193
|
+
{
|
|
194
|
+
// We have a match -- assign the result to the solver entry
|
|
195
|
+
tmpSolverEntry.LastResult = tmpPotentialResultEntry.Solver.ResultsObject.RawResult;
|
|
196
|
+
tmpSolverEntry.LastResultsObject = tmpPotentialResultEntry.Solver.ResultsObject;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
return tmpDynamicState;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
getSectionSolvers(pSectionViewHash)
|
|
209
|
+
{
|
|
210
|
+
let tmpDynamicState = this.getDynamicState();
|
|
211
|
+
let tmpSectionSolvers = tmpDynamicState.Solvers.map((pSolverEntry) => { if (pSolverEntry.ViewHash === pSectionViewHash) return pSolverEntry; });
|
|
212
|
+
return tmpSectionSolvers;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
writeSolver(pIdentifierHash, pSolver)
|
|
216
|
+
{
|
|
217
|
+
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
bootstrapContainer()
|
|
221
|
+
{
|
|
222
|
+
// 3. See if the container for the support view is loaded
|
|
223
|
+
let tmpContainerTest = this.options.DefaultDestinationAddress;
|
|
224
|
+
|
|
225
|
+
let tmpContainerElement = this.pict.ContentAssignment.getElement(this.options.DefaultDestinationAddress);
|
|
226
|
+
if (tmpContainerElement.length > 0)
|
|
227
|
+
{
|
|
228
|
+
return true;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// 4. Render the container for the support view if it isn't loaded
|
|
232
|
+
let tmpContainerRenderableHash = 'Pict-Form-DebugViewer-Container';
|
|
233
|
+
this.renderables[tmpContainerRenderableHash].TestAddress = tmpContainerTest;
|
|
234
|
+
this.pict.CSSMap.injectCSS();
|
|
235
|
+
this.render(tmpContainerRenderableHash);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
module.exports = PictFormsSupportBase;
|
|
240
|
+
|
|
241
|
+
module.exports.default_configuration = defaultViewConfiguration;
|
|
@@ -8,6 +8,10 @@ declare const _exports: {
|
|
|
8
8
|
PictFormApplication: typeof import("./application/Pict-Application-Form.js");
|
|
9
9
|
PictDynamicLayoutProvider: typeof import("./providers/Pict-Provider-DynamicLayout.js");
|
|
10
10
|
ManifestFactory: typeof import("./services/ManifestFactory.js");
|
|
11
|
+
ExtensionViews: {
|
|
12
|
+
LifecycleVisualization: typeof import("./views/support/Pict-View-PSF-LifeCycle-Visualization.js");
|
|
13
|
+
DebugViewer: typeof import("./views/support/Pict-View-PSF-DebugViewer.js");
|
|
14
|
+
};
|
|
11
15
|
};
|
|
12
16
|
export = _exports;
|
|
13
17
|
//# sourceMappingURL=Pict-Section-Form.d.ts.map
|
|
@@ -44,10 +44,10 @@ declare class PictDynamicFormsSolverBehaviors extends libPictProvider {
|
|
|
44
44
|
* @param {string} pInputHash - The hash of the input to color.
|
|
45
45
|
* @param {string} pColor - The HTML hex color to apply (e.g. #FF0000 for red).
|
|
46
46
|
* @param {string} pApplyChange - If "0", the change will not be applied.
|
|
47
|
-
* @param {string} [
|
|
47
|
+
* @param {string} [pCSSSelector] - Optional. If provided, the color will be applied to the closest element matching this selector instead of the input itself.
|
|
48
48
|
* @returns {boolean} - Returns true if the color was applied successfully or if the change was skipped for pApplyChange equal to "0", false otherwise.
|
|
49
49
|
*/
|
|
50
|
-
colorInputBackground(pSectionHash: string, pInputHash: string, pColor: string, pApplyChange: string,
|
|
50
|
+
colorInputBackground(pSectionHash: string, pInputHash: string, pColor: string, pApplyChange: string, pCSSSelector?: string): boolean;
|
|
51
51
|
logValues(...args: any[]): any;
|
|
52
52
|
}
|
|
53
53
|
declare namespace PictDynamicFormsSolverBehaviors {
|
|
@@ -14,6 +14,10 @@ declare class PictFormMetacontroller extends libPictViewClass {
|
|
|
14
14
|
lastRenderedViews: any[];
|
|
15
15
|
formTemplatePrefix: any;
|
|
16
16
|
manifest: any;
|
|
17
|
+
SupportViewPrototypes: {
|
|
18
|
+
LifecycleVisualization: typeof import("./support/Pict-View-PSF-LifeCycle-Visualization.js");
|
|
19
|
+
DebugViewer: typeof import("./support/Pict-View-PSF-DebugViewer.js");
|
|
20
|
+
};
|
|
17
21
|
set viewMarshalDestination(pValue: any);
|
|
18
22
|
get viewMarshalDestination(): any;
|
|
19
23
|
/**
|
|
@@ -160,6 +164,30 @@ declare class PictFormMetacontroller extends libPictViewClass {
|
|
|
160
164
|
* @param {string} [pTransactionGUID] - (optional) The transaction GUID to use for the event.
|
|
161
165
|
*/
|
|
162
166
|
triggerGlobalInputEvent(pEvent: string, pTransactionGUID?: string): void;
|
|
167
|
+
/**
|
|
168
|
+
* @param {string} pTransactionGUID - The transaction GUID.
|
|
169
|
+
* @param {string} pAsyncOperationHash - The hash of the async operation.
|
|
170
|
+
*/
|
|
171
|
+
registerEventTransactionAsyncOperation(pTransactionGUID: string, pAsyncOperationHash: string): void;
|
|
172
|
+
/**
|
|
173
|
+
* @param {string} pTransactionGUID - The transaction GUID.
|
|
174
|
+
* @param {string} pAsyncOperationHash - The hash of the async operation.
|
|
175
|
+
*
|
|
176
|
+
* @return {boolean} - Returns true if the async operation was found and marked as complete, otherwise false.
|
|
177
|
+
*/
|
|
178
|
+
eventTransactionAsyncOperationComplete(pTransactionGUID: string, pAsyncOperationHash: string): boolean;
|
|
179
|
+
/**
|
|
180
|
+
* @param {string} pTransactionGUID - The transaction GUID.
|
|
181
|
+
*
|
|
182
|
+
* @return {boolean} - Returns true if the transaction was found and able to be finalized, otherwise false.
|
|
183
|
+
*/
|
|
184
|
+
finalizeTransaction(pTransactionGUID: string): boolean;
|
|
185
|
+
/**
|
|
186
|
+
* @param {string} pTransactionGUID - The transaction GUID.
|
|
187
|
+
* @param {Function} fCallback - The callback to call when the transaction is complete.
|
|
188
|
+
*/
|
|
189
|
+
registerOnTransactionCompleteCallback(pTransactionGUID: string, fCallback: Function): void;
|
|
190
|
+
showSupportViewInlineEditor(): void;
|
|
163
191
|
/**
|
|
164
192
|
* Returns whether the object is a Pict Metacontroller.
|
|
165
193
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pict-View-Form-Metacontroller.d.ts","sourceRoot":"","sources":["../../../source/views/Pict-View-Form-Metacontroller.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Pict-View-Form-Metacontroller.d.ts","sourceRoot":"","sources":["../../../source/views/Pict-View-Form-Metacontroller.js"],"names":[],"mappings":";AAaA;;GAEG;AAEH;;;;;;GAMG;AACH;IAEC,2DAmBC;IAXA,yBAA2B;IAE3B,wBAAsF;IAEtF,cAAkC;IAElC;;;MAIE;IAQH,wCAGC;IARD,kCAGC;IAOD;;;;OAIG;IACH,qBAFa,GAAG,CAaf;IAED;;;;OAIG;IACH,mBAFa,GAAG,CAaf;IAED,yCAYC;IAED;;;;;OAKG;IACH,kCAHW,aAAa,GACX,IAAI,CAsBhB;IAwBD;;;;OAIG;IACH,WAFa,GAAG,CAMf;IAED,gDAGC;IAED,+CAGC;IAED;;;;OAIG;IACH,2DAJW,MAAM,GAEL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAW9B;IAED;;;OAGG;IACH,0BAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,sBACnB,MAAM,QAiChB;IAED;;;;;;;;;OASG;IACH,kCALW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UACnB,MAAM,GAEL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAsC9B;IAED;;;;OAIG;IACH,uCAJW,KAAK,CAAC,MAAM,CAAC,sBACb,MAAM,UACN,MAAM,QAahB;IAED;;;OAGG;IACH,6CAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,sBACnB,MAAM,SAehB;IAED;;;;;;;;OAQG;IACH,wDAHW,YAAY,SAoHtB;IAED;;;;;;;OAOG;IACH,4CAHW,MAAM,GACJ,IAAI,CAShB;IAED;;;;OAIG;IACH,6BAFa,IAAI,CAQhB;IAED;;;;;;;OAOG;IACH,+DAFW,YAAY,QAatB;IAED;;;;;OAKG;IACH,8EAFW,YAAY,QAmBtB;IAED;;;;;;OAMG;IACH,oEAHW,YAAY,GACV,IAAI,CAkDhB;IAED;;;;;;;OAOG;IACH,uEAJW,YAAY,GAEX,IAAI,CAsFf;IAED;;;;;OAKG;IACH,qCAHW,MAAM,GACJ,MAAM,GAAC,OAAO,CA2C1B;IAED,+CAeC;IAED;;;;;;;OAOG;IACH,kFAJW,MAAM,GAEJ,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAoLtC;IA5JC,gCAA0D;IAC1D,yBAAiD;IA6JnD;;;;OAIG;IACH,gCAHW,MAAM,qBACN,MAAM,QA0BhB;IAED;;;OAGG;IACH,yDAHW,MAAM,uBACN,MAAM,QAKhB;IAED;;;;;OAKG;IACH,yDALW,MAAM,uBACN,MAAM,GAEL,OAAO,CAoDlB;IAED;;;;OAIG;IACH,sCAJW,MAAM,GAEL,OAAO,CA0ClB;IAED;;;OAGG;IACH,wDAHW,MAAM,6BAuBhB;IAED,oCAeC;IAED;;;;OAIG;IACH,4BAFa,OAAO,CAKnB;CACD;;;;;qCAGU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;oBAnlCjB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export = PictFormsInlineEditor;
|
|
2
|
+
declare class PictFormsInlineEditor extends libPictViewFormSupportBase {
|
|
3
|
+
}
|
|
4
|
+
declare namespace PictFormsInlineEditor {
|
|
5
|
+
export { defaultViewConfiguration as default_configuration };
|
|
6
|
+
}
|
|
7
|
+
import libPictViewFormSupportBase = require("./Pict-View-PSF-SupportBase.js");
|
|
8
|
+
declare namespace defaultViewConfiguration {
|
|
9
|
+
let ViewIdentifier: string;
|
|
10
|
+
let DefaultRenderable: string;
|
|
11
|
+
let DefaultDestinationAddress: string;
|
|
12
|
+
let RenderOnLoad: boolean;
|
|
13
|
+
let CSS: string;
|
|
14
|
+
let Templates: {
|
|
15
|
+
Hash: string;
|
|
16
|
+
Template: string;
|
|
17
|
+
}[];
|
|
18
|
+
let Renderables: ({
|
|
19
|
+
RenderableHash: string;
|
|
20
|
+
TemplateHash: string;
|
|
21
|
+
ContentDestinationAddress?: undefined;
|
|
22
|
+
RenderMethod?: undefined;
|
|
23
|
+
TestAddress?: undefined;
|
|
24
|
+
} | {
|
|
25
|
+
RenderableHash: string;
|
|
26
|
+
TemplateHash: string;
|
|
27
|
+
ContentDestinationAddress: string;
|
|
28
|
+
RenderMethod: string;
|
|
29
|
+
TestAddress: string;
|
|
30
|
+
})[];
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=Pict-View-PSF-DebugViewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pict-View-PSF-DebugViewer.d.ts","sourceRoot":"","sources":["../../../../source/views/support/Pict-View-PSF-DebugViewer.js"],"names":[],"mappings":";AA4IA;CAMC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export = PictSectionFormsLifecycleVisualization;
|
|
2
|
+
declare class PictSectionFormsLifecycleVisualization extends libPictView {
|
|
3
|
+
constructor(pFable: any, pOptions: any, pServiceHash: any);
|
|
4
|
+
}
|
|
5
|
+
declare namespace PictSectionFormsLifecycleVisualization {
|
|
6
|
+
export { defaultViewConfiguration as default_configuration };
|
|
7
|
+
}
|
|
8
|
+
import libPictView = require("pict-view");
|
|
9
|
+
declare namespace defaultViewConfiguration {
|
|
10
|
+
let ViewIdentifier: string;
|
|
11
|
+
let DefaultRenderable: string;
|
|
12
|
+
let DefaultDestinationAddress: string;
|
|
13
|
+
let RenderOnLoad: boolean;
|
|
14
|
+
let Templates: {
|
|
15
|
+
Hash: string;
|
|
16
|
+
Template: string;
|
|
17
|
+
}[];
|
|
18
|
+
let Renderables: {
|
|
19
|
+
RenderableHash: string;
|
|
20
|
+
TemplateHash: string;
|
|
21
|
+
}[];
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=Pict-View-PSF-LifeCycle-Visualization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pict-View-PSF-LifeCycle-Visualization.d.ts","sourceRoot":"","sources":["../../../../source/views/support/Pict-View-PSF-LifeCycle-Visualization.js"],"names":[],"mappings":";AAyBA;IAEC,2DAGC;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=Pict-View-PSF-Solver-Visualization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pict-View-PSF-Solver-Visualization.d.ts","sourceRoot":"","sources":["../../../../source/views/support/Pict-View-PSF-Solver-Visualization.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export = PictFormsSupportBase;
|
|
2
|
+
declare class PictFormsSupportBase extends libPictView {
|
|
3
|
+
constructor(pFable: any, pOptions: any, pServiceHash: any);
|
|
4
|
+
getDynamicState(): {
|
|
5
|
+
Scope: any;
|
|
6
|
+
Description: string;
|
|
7
|
+
Manifest: any;
|
|
8
|
+
ManifestDescription: any;
|
|
9
|
+
AllViews: any;
|
|
10
|
+
SectionViews: any[];
|
|
11
|
+
DynamicInputView: boolean;
|
|
12
|
+
Solvers: any[];
|
|
13
|
+
} | {
|
|
14
|
+
Scope: string;
|
|
15
|
+
Description: string;
|
|
16
|
+
Manifest: any;
|
|
17
|
+
Sections: any[];
|
|
18
|
+
};
|
|
19
|
+
getSectionSolvers(pSectionViewHash: any): any;
|
|
20
|
+
writeSolver(pIdentifierHash: any, pSolver: any): void;
|
|
21
|
+
bootstrapContainer(): boolean;
|
|
22
|
+
}
|
|
23
|
+
declare namespace PictFormsSupportBase {
|
|
24
|
+
export { defaultViewConfiguration as default_configuration };
|
|
25
|
+
}
|
|
26
|
+
import libPictView = require("pict-view");
|
|
27
|
+
declare namespace defaultViewConfiguration {
|
|
28
|
+
let ViewIdentifier: string;
|
|
29
|
+
let DefaultRenderable: string;
|
|
30
|
+
let RenderOnLoad: boolean;
|
|
31
|
+
let Templates: any[];
|
|
32
|
+
let Renderables: {
|
|
33
|
+
RenderableHash: string;
|
|
34
|
+
TemplateHash: string;
|
|
35
|
+
}[];
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=Pict-View-PSF-SupportBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pict-View-PSF-SupportBase.d.ts","sourceRoot":"","sources":["../../../../source/views/support/Pict-View-PSF-SupportBase.js"],"names":[],"mappings":";AAmBA;IAEC,2DAGC;IAED;;;;;;;;;;;;;;MAmLC;IAED,8CAKC;IAED,sDAGC;IAED,8BAgBC;CACD"}
|