pict-section-form 1.0.59 → 1.0.61
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/.vscode/settings.json +1 -1
- package/example_applications/complex_table/Complex-Tabular-Application.js +2 -1
- package/package.json +1 -1
- package/source/providers/Pict-Provider-MetatemplateGenerator.js +39 -2
- package/source/providers/dynamictemplates/Pict-DynamicTemplates-DefaultFormTemplates.js +156 -0
- package/source/providers/layouts/Pict-Layout-RecordSet.js +0 -1
- package/source/providers/layouts/Pict-Layout-VerticalRecord.js +64 -0
- package/source/services/ManifestFactory.js +12 -12
- package/source/services/Pict-Service-DynamicApplication.js +2 -0
- package/types/source/providers/Pict-Provider-DynamicSolver.d.ts.map +1 -1
- package/types/source/providers/inputs/Pict-Provider-Input-HTML.d.ts +71 -0
- package/types/source/providers/inputs/Pict-Provider-Input-HTML.d.ts.map +1 -0
- package/types/source/providers/inputs/Pict-Provider-Input-Markdown.d.ts +71 -0
- package/types/source/providers/inputs/Pict-Provider-Input-Markdown.d.ts.map +1 -0
- package/types/source/services/ManifestFactory.d.ts.map +1 -1
- package/types/source/views/Pict-View-DynamicForm.d.ts +1 -0
- package/types/source/views/Pict-View-DynamicForm.d.ts.map +1 -1
package/.vscode/settings.json
CHANGED
|
@@ -104,6 +104,7 @@ module.exports.default_configuration.pict_configuration = {
|
|
|
104
104
|
{
|
|
105
105
|
Hash: "Statistics",
|
|
106
106
|
Name: "Statistics",
|
|
107
|
+
Layout: "Vertical",
|
|
107
108
|
// ShowTitle: true
|
|
108
109
|
},
|
|
109
110
|
{
|
|
@@ -309,7 +310,6 @@ module.exports.default_configuration.pict_configuration = {
|
|
|
309
310
|
}
|
|
310
311
|
},
|
|
311
312
|
|
|
312
|
-
|
|
313
313
|
"UI.ExtraSectionSelection": {
|
|
314
314
|
Name: "Extra Form Sections",
|
|
315
315
|
Hash: "ExtraFormSectionSelection",
|
|
@@ -330,6 +330,7 @@ module.exports.default_configuration.pict_configuration = {
|
|
|
330
330
|
DataType: "PreciseNumber",
|
|
331
331
|
Default: "1",
|
|
332
332
|
PictForm: { Section: "Recipe", Group: "Statistics", Row: 1, Width: 1,
|
|
333
|
+
"ExtraDescription": "How many people does this recipe feed?",
|
|
333
334
|
"InputType":"Option",
|
|
334
335
|
"Providers": ["CustomDataProvider", "Pict-Input-Select"],
|
|
335
336
|
"SelectOptions": [{"id":"few", "text":"Few"}, {"id":"some", "text":"Some"}, {"id":"many", "text":"Many"}]
|
package/package.json
CHANGED
|
@@ -213,8 +213,6 @@ class PictMetatemplateGenerator extends libPictProvider
|
|
|
213
213
|
return tmpBeginTemplate + tmpMidTemplate + tmpInformaryDataAddressTemplate + tmpEndTemplate;
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
-
|
|
217
|
-
|
|
218
216
|
// If we didn't find the template for the "input type", or the "data type", fall back to the default
|
|
219
217
|
tmpBeginTemplate = this.getMetatemplateTemplateReference(pView, 'TabularTemplate-Begin-Input', pViewDataAddress);
|
|
220
218
|
tmpEndTemplate = this.getMetatemplateTemplateReference(pView, 'TabularTemplate-End-Input', pViewDataAddress);
|
|
@@ -228,6 +226,43 @@ class PictMetatemplateGenerator extends libPictProvider
|
|
|
228
226
|
return '';
|
|
229
227
|
}
|
|
230
228
|
|
|
229
|
+
/**
|
|
230
|
+
* Retrieves the metatemplate template reference for the given vertical input view, data type, input type, and view data address.
|
|
231
|
+
*
|
|
232
|
+
* @param {Object} pView - The input view.
|
|
233
|
+
* @param {string} pDataType - The data type.
|
|
234
|
+
* @param {string} pInputType - The input type.
|
|
235
|
+
* @param {string} pViewDataAddress - The view data address.
|
|
236
|
+
* @returns {string} The metatemplate template reference.
|
|
237
|
+
*/
|
|
238
|
+
getVerticalInputMetatemplateTemplateReference(pView, pDataType, pInputType, pViewDataAddress)
|
|
239
|
+
{
|
|
240
|
+
// Input types are customizable -- there could be 30 different input types for the string data type with special handling and templates
|
|
241
|
+
let tmpTemplateInputTypePostfix = `-VerticalTemplate-Input-InputType-${pInputType}`;
|
|
242
|
+
// Data types are not customizable; they are a fixed list based on what is available in Manyfest
|
|
243
|
+
let tmpTemplateDataTypePostfix = `-VerticalTemplate-Input-DataType-${pDataType}`;
|
|
244
|
+
|
|
245
|
+
// First check if there is an "input type" template available in either the section-specific configuration or in the general
|
|
246
|
+
if (pInputType)
|
|
247
|
+
{
|
|
248
|
+
let tmpTemplate = this.getMetatemplateTemplateReference(pView, tmpTemplateInputTypePostfix, pViewDataAddress);
|
|
249
|
+
if (tmpTemplate)
|
|
250
|
+
{
|
|
251
|
+
return tmpTemplate;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// If we didn't find the template for the "input type", check for the "data type"
|
|
256
|
+
let tmpTemplate = this.getMetatemplateTemplateReference(pView, tmpTemplateDataTypePostfix, pViewDataAddress);
|
|
257
|
+
if (tmpTemplate)
|
|
258
|
+
{
|
|
259
|
+
return tmpTemplate;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
// There wasn't an input type specific or data type specific template, so fall back to the generic input template.
|
|
263
|
+
return this.getMetatemplateTemplateReference(pView, '-Template-Input', pViewDataAddress);
|
|
264
|
+
}
|
|
265
|
+
|
|
231
266
|
/**
|
|
232
267
|
* Retrieves the group layout provider based on the given view and group.
|
|
233
268
|
*
|
|
@@ -248,6 +283,8 @@ class PictMetatemplateGenerator extends libPictProvider
|
|
|
248
283
|
return this.pict.providers['Pict-Layout-Tabular'];
|
|
249
284
|
case 'Record':
|
|
250
285
|
return this.pict.providers['Pict-Layout-Record'];
|
|
286
|
+
case 'Vertical':
|
|
287
|
+
return this.pict.providers['Pict-Layout-VerticalRecord'];
|
|
251
288
|
case 'Default':
|
|
252
289
|
default:
|
|
253
290
|
// Try to load a custom layout, then fall back to the Record layout if it doesn't exist
|
|
@@ -118,6 +118,20 @@ Glug glug glug Oo... -->
|
|
|
118
118
|
"Template": /*HTML*/`
|
|
119
119
|
</div>
|
|
120
120
|
<!-- Form Template Row Postfix [{~D:Context[0].UUID~}]::[{~D:Context[0].Hash~}] {~D:Record.Hash~}::{~D:Record.Name~} -->
|
|
121
|
+
`
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"HashPostfix": "-Template-VerticalRow-Prefix",
|
|
125
|
+
"Template": /*HTML*/`
|
|
126
|
+
<!-- Form Template Vertical Row Prefix [{~D:Context[0].UUID~}]::[{~D:Context[0].Hash~}] {~D:Record.Hash~}::{~D:Record.Name~} -->
|
|
127
|
+
<div class="pict-form-vertical-group">
|
|
128
|
+
`
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"HashPostfix": "-Template-VerticalRow-Postfix",
|
|
132
|
+
"Template": /*HTML*/`
|
|
133
|
+
</div>
|
|
134
|
+
<!-- Form Template Vertical Row Postfix [{~D:Context[0].UUID~}]::[{~D:Context[0].Hash~}] {~D:Record.Hash~}::{~D:Record.Name~} -->
|
|
121
135
|
`
|
|
122
136
|
},
|
|
123
137
|
{
|
|
@@ -153,6 +167,13 @@ Glug glug glug Oo... -->
|
|
|
153
167
|
"Template": /*HTML*/`
|
|
154
168
|
<!-- DataType Number {~D:Record.Hash~} {~D:Record.DataType~} -->
|
|
155
169
|
<span>{~D:Record.Name~}:</span> <input type="Number" {~D:Record.Macro.InputFullProperties~} {~D:Record.Macro.InputChangeHandler~} value="">
|
|
170
|
+
`
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"HashPostfix": "-Template-Input-DataType-PreciseNumber",
|
|
174
|
+
"Template": /*HTML*/`
|
|
175
|
+
<!-- DataType PreciseNumber {~D:Record.Hash~} {~D:Record.DataType~} -->
|
|
176
|
+
<span>{~D:Record.Name~}:</span> <input type="Number" {~D:Record.Macro.InputFullProperties~} {~D:Record.Macro.InputChangeHandler~} value="">
|
|
156
177
|
`
|
|
157
178
|
},
|
|
158
179
|
{
|
|
@@ -217,6 +238,141 @@ Glug glug glug Oo... -->
|
|
|
217
238
|
/*
|
|
218
239
|
* END Input Templates (default)
|
|
219
240
|
*/
|
|
241
|
+
/*
|
|
242
|
+
* BEGIN Vertical Input Templates
|
|
243
|
+
*/
|
|
244
|
+
{
|
|
245
|
+
"HashPostfix": "-VerticalTemplate-Input",
|
|
246
|
+
"Template": /*HTML*/`
|
|
247
|
+
<!-- DEFAULT Input {~"D:Record.Hash~} {~D:Record.DataType~} -->
|
|
248
|
+
<div class="pict-form-vertical-input">
|
|
249
|
+
<span>{~D:Record.Name~}:</span>
|
|
250
|
+
<span>{~D:Record.PictForm.ExtraDescription~}</span>
|
|
251
|
+
<input type="text" {~D:Record.Macro.InputFullProperties~} {~D:Record.Macro.InputChangeHandler~} value="">
|
|
252
|
+
</div>
|
|
253
|
+
`
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"HashPostfix": "-VerticalTemplate-Input-DataType-String",
|
|
257
|
+
"Template": /*HTML*/`
|
|
258
|
+
<!-- DataType Number {~D:Record.Hash~} {~D:Record.DataType~} -->
|
|
259
|
+
<div class="pict-form-vertical-input">
|
|
260
|
+
<span>{~D:Record.Name~}:</span>
|
|
261
|
+
<span>{~D:Record.PictForm.ExtraDescription~}</span>
|
|
262
|
+
<input type="text" {~D:Record.Macro.InputFullProperties~} {~D:Record.Macro.InputChangeHandler~} value="">
|
|
263
|
+
</div>
|
|
264
|
+
`
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"HashPostfix": "-VerticalTemplate-Input-DataType-Number",
|
|
268
|
+
"Template": /*HTML*/`
|
|
269
|
+
<!-- DataType Number {~D:Record.Hash~} {~D:Record.DataType~} -->
|
|
270
|
+
<div class="pict-form-vertical-input">
|
|
271
|
+
<span>{~D:Record.Name~}:</span>
|
|
272
|
+
<span>{~D:Record.PictForm.ExtraDescription~}</span>
|
|
273
|
+
<input type="Number" {~D:Record.Macro.InputFullProperties~} {~D:Record.Macro.InputChangeHandler~} value="">
|
|
274
|
+
</div>
|
|
275
|
+
`
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"HashPostfix": "-VerticalTemplate-Input-DataType-PreciseNumber",
|
|
279
|
+
"Template": /*HTML*/`
|
|
280
|
+
<!-- DataType PreciseNumber {~D:Record.Hash~} {~D:Record.DataType~} -->
|
|
281
|
+
<div class="pict-form-vertical-input">
|
|
282
|
+
<span>{~D:Record.Name~}:</span>
|
|
283
|
+
<span>{~D:Record.PictForm.ExtraDescription~}</span>
|
|
284
|
+
<input type="Number" {~D:Record.Macro.InputFullProperties~} {~D:Record.Macro.InputChangeHandler~} value="">
|
|
285
|
+
</div>
|
|
286
|
+
`
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"HashPostfix": "-VerticalTemplate-Input-InputType-TextArea",
|
|
290
|
+
"Template": /*HTML*/`
|
|
291
|
+
<!-- InputType TextArea {~D:Record.Hash~} {~D:Record.DataType~} -->
|
|
292
|
+
<div class="pict-form-vertical-input">
|
|
293
|
+
<span>{~D:Record.Name~}:</span>
|
|
294
|
+
<span>{~D:Record.PictForm.ExtraDescription~}</span>
|
|
295
|
+
<textarea {~D:Record.Macro.InputFullProperties~} {~D:Record.Macro.InputChangeHandler~}></textarea>
|
|
296
|
+
</div>
|
|
297
|
+
`
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"HashPostfix": "-VerticalTemplate-Input-InputType-Option",
|
|
301
|
+
"DefaultInputExtensions": ["Pict-Input-Select"],
|
|
302
|
+
"Template": /*HTML*/`
|
|
303
|
+
<!-- InputType Option {~D:Record.Hash~} {~D:Record.DataType~} -->
|
|
304
|
+
<div class="pict-form-vertical-input">
|
|
305
|
+
<input type="hidden" {~D:Record.Macro.InputFullProperties~} {~D:Record.Macro.InputChangeHandler~} value="">
|
|
306
|
+
<span>{~D:Record.Name~}:</span>
|
|
307
|
+
<span>{~D:Record.PictForm.ExtraDescription~}</span>
|
|
308
|
+
<select id="SELECT-FOR-{~D:Record.Macro.RawHTMLID~}" onchange="{~D:Record.Macro.DataRequestFunction~}"></select>
|
|
309
|
+
</div>
|
|
310
|
+
`
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"HashPostfix": "-VerticalTemplate-Input-InputType-Boolean",
|
|
314
|
+
"Template": /*HTML*/`
|
|
315
|
+
<!-- InputType Boolean {~D:Record.Hash~} {~D:Record.DataType~} -->
|
|
316
|
+
<div class="pict-form-vertical-input">
|
|
317
|
+
<span>{~D:Record.Name~}:</span>
|
|
318
|
+
<span>{~D:Record.PictForm.ExtraDescription~}</span>
|
|
319
|
+
<input type="checkbox" {~D:Record.Macro.InputFullProperties~} {~D:Record.Macro.InputChangeHandler~} value="">
|
|
320
|
+
</div>
|
|
321
|
+
`
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"HashPostfix": "-VerticalTemplate-Input-DataType-DateTime",
|
|
325
|
+
"DefaultInputExtensions": ["Pict-Input-DateTime"],
|
|
326
|
+
"Template": /*HTML*/`
|
|
327
|
+
<!-- DataType DateTime {~D:Record.Hash~} {~D:Record.DataType~} -->
|
|
328
|
+
<div class="pict-form-vertical-input">
|
|
329
|
+
<input type="hidden" {~D:Record.Macro.InputFullProperties~} value="">
|
|
330
|
+
<span>{~D:Record.Name~}:</span>
|
|
331
|
+
<span>{~D:Record.PictForm.ExtraDescription~}</span>
|
|
332
|
+
<input id="DATETIME-INPUT-FOR-{~D:Record.Macro.RawHTMLID~}" onchange="{~D:Record.Macro.DataRequestFunction~}" type="datetime-local" value="" />
|
|
333
|
+
</div>
|
|
334
|
+
`
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"HashPostfix": "-VerticalTemplate-Input-InputType-ReadOnly",
|
|
338
|
+
"Template": /*HTML*/`
|
|
339
|
+
<!-- InputType ReadOnly {~D:Record.Hash~} {~D:Record.DataType~} -->
|
|
340
|
+
<div class="pict-form-vertical-input">
|
|
341
|
+
<span>{~D:Record.Name~}:</span>
|
|
342
|
+
<span>{~D:Record.PictForm.ExtraDescription~}</span>
|
|
343
|
+
<input type="text" readonly {~D:Record.Macro.InputFullProperties~}></input>
|
|
344
|
+
</div>
|
|
345
|
+
`
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"HashPostfix": "-VerticalTemplate-Input-InputType-Markdown",
|
|
349
|
+
"DefaultInputExtensions": ["Pict-Input-Markdown"],
|
|
350
|
+
"Template": /*HTML*/`
|
|
351
|
+
<!-- InputType Markdown {~D:Record.Hash~} {~D:Record.DataType~} -->
|
|
352
|
+
<div class="pict-form-vertical-input">
|
|
353
|
+
<input type="hidden" {~D:Record.Macro.InputFullProperties~} {~D:Record.Macro.InputChangeHandler~} value="">
|
|
354
|
+
<span>{~D:Record.Name~}:</span>
|
|
355
|
+
<span>{~D:Record.PictForm.ExtraDescription~}</span>
|
|
356
|
+
<div id="DISPLAY-FOR-{~D:Record.Macro.RawHTMLID~}" class="pict-section-form-markdown"></div>
|
|
357
|
+
</div>
|
|
358
|
+
`
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"HashPostfix": "-VerticalTemplate-Input-InputType-HTML",
|
|
362
|
+
"DefaultInputExtensions": ["Pict-Input-HTML"],
|
|
363
|
+
"Template": /*HTML*/`
|
|
364
|
+
<!-- InputType Markdown {~D:Record.Hash~} {~D:Record.DataType~} -->
|
|
365
|
+
<div class="pict-form-vertical-input">
|
|
366
|
+
<input type="hidden" {~D:Record.Macro.InputFullProperties~} {~D:Record.Macro.InputChangeHandler~} value="">
|
|
367
|
+
<span>{~D:Record.Name~}:</span>
|
|
368
|
+
<span>{~D:Record.PictForm.ExtraDescription~}</span>
|
|
369
|
+
<div id="DISPLAY-FOR-{~D:Record.Macro.RawHTMLID~}" class="pict-section-form-html"></div>
|
|
370
|
+
</div>
|
|
371
|
+
`
|
|
372
|
+
},
|
|
373
|
+
/*
|
|
374
|
+
* END Vertical Input Templates (default)
|
|
375
|
+
*/
|
|
220
376
|
/*
|
|
221
377
|
*
|
|
222
378
|
* [ External Control Templates START ]
|
|
@@ -47,7 +47,6 @@ class RecordSetLayout extends libPictSectionGroupLayout
|
|
|
47
47
|
|
|
48
48
|
for (let j = 0; j < pGroup.Rows.length; j++)
|
|
49
49
|
{
|
|
50
|
-
|
|
51
50
|
for (let k = 0; k < pGroup.supportingManifest.elementAddresses.length; k++)
|
|
52
51
|
{
|
|
53
52
|
let tmpSupportingManifestHash = pGroup.supportingManifest.elementAddresses[k];
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
const libPictSectionGroupLayout = require('../Pict-Provider-DynamicLayout.js');
|
|
2
|
+
|
|
3
|
+
class VerticalRecordLayout extends libPictSectionGroupLayout
|
|
4
|
+
{
|
|
5
|
+
constructor(pFable, pOptions, pServiceHash)
|
|
6
|
+
{
|
|
7
|
+
super(pFable, pOptions, pServiceHash);
|
|
8
|
+
|
|
9
|
+
/** @type {import('pict')} */
|
|
10
|
+
this.pict;
|
|
11
|
+
/** @type {import('pict')} */
|
|
12
|
+
this.fable;
|
|
13
|
+
/** @type {any} */
|
|
14
|
+
this.log;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Generate a group layout template for a single-record dynamically generated group view.
|
|
19
|
+
*
|
|
20
|
+
* This is the standard name / field entry form that you're used to filling out for addresses
|
|
21
|
+
* and such.
|
|
22
|
+
*
|
|
23
|
+
* @param {object} pView - The view to generate the dynamic group layout for
|
|
24
|
+
* @param {object} pGroup - The group to generate and inject dynamic layout templates
|
|
25
|
+
* @returns {string} - The template for the group
|
|
26
|
+
*/
|
|
27
|
+
generateGroupLayoutTemplate(pView, pGroup)
|
|
28
|
+
{
|
|
29
|
+
let tmpMetatemplateGenerator = this.pict.providers.MetatemplateGenerator;
|
|
30
|
+
let tmpTemplate = '';
|
|
31
|
+
|
|
32
|
+
if (!('Rows' in pGroup))
|
|
33
|
+
{
|
|
34
|
+
pGroup.Rows = [];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
tmpTemplate += tmpMetatemplateGenerator.getMetatemplateTemplateReference(pView, `-Template-Group-Prefix`, `getGroup("${pGroup.GroupIndex}")`);
|
|
38
|
+
// Every input has its own "row" in the vertical layout
|
|
39
|
+
tmpTemplate += tmpMetatemplateGenerator.getMetatemplateTemplateReference(pView, `-Template-VerticalRow-Prefix`, `getGroup("${pGroup.GroupIndex}")`);
|
|
40
|
+
|
|
41
|
+
for (let j = 0; j < pGroup.Rows.length; j++)
|
|
42
|
+
{
|
|
43
|
+
let tmpRow = pGroup.Rows[j];
|
|
44
|
+
// There are three row layouts: Record, Tabular and Columnar
|
|
45
|
+
for (let k = 0; k < tmpRow.Inputs.length; k++)
|
|
46
|
+
{
|
|
47
|
+
let tmpInput = tmpRow.Inputs[k];
|
|
48
|
+
// Update the InputIndex to match the current render config
|
|
49
|
+
tmpInput.PictForm.InputIndex = k;
|
|
50
|
+
tmpInput.PictForm.GroupIndex = pGroup.GroupIndex;
|
|
51
|
+
|
|
52
|
+
tmpTemplate += tmpMetatemplateGenerator.getVerticalInputMetatemplateTemplateReference(pView, tmpInput.DataType, tmpInput.PictForm.InputType, `getInput("${pGroup.GroupIndex}","${j}","${k}")`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Close every input that has its own "row" in the vertical layout
|
|
57
|
+
tmpTemplate += tmpMetatemplateGenerator.getMetatemplateTemplateReference(pView, `-Template-VerticalRow-Postfix`, `getGroup("${pGroup.GroupIndex}")`);
|
|
58
|
+
tmpTemplate += tmpMetatemplateGenerator.getMetatemplateTemplateReference(pView, `-Template-Group-Postfix`, `getGroup("${pGroup.GroupIndex}")`);
|
|
59
|
+
|
|
60
|
+
return tmpTemplate;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
module.exports = VerticalRecordLayout;
|
|
@@ -324,10 +324,10 @@ class ManifestFactory extends libFableServiceProviderBase
|
|
|
324
324
|
let tmpRecord = JSON.parse(JSON.stringify(pRecord));
|
|
325
325
|
|
|
326
326
|
// Fill out required defaults on the row
|
|
327
|
-
tmpRecord['Input Hash'] = tmpRecord['Input Hash']
|
|
328
|
-
tmpRecord['Input Address'] = tmpRecord['Input Address']
|
|
329
|
-
tmpRecord['Input Name'] = tmpRecord['Input Name']
|
|
330
|
-
tmpRecord.DataType = tmpRecord.DataType
|
|
327
|
+
tmpRecord['Input Hash'] = tmpRecord['Input Hash']?.trim?.() || `DefaultHash${this.defaultHashCounter++}`;
|
|
328
|
+
tmpRecord['Input Address'] = tmpRecord['Input Address']?.trim?.() || `DefaultData.InputHash_${tmpRecord['Input Hash']}`;
|
|
329
|
+
tmpRecord['Input Name'] = tmpRecord['Input Name']?.trim?.() || `Auto Input ${tmpRecord['Input Hash']}`;
|
|
330
|
+
tmpRecord.DataType = tmpRecord.DataType?.trim?.() || 'String';
|
|
331
331
|
|
|
332
332
|
const tmpDescriptor = (
|
|
333
333
|
{
|
|
@@ -483,22 +483,22 @@ class ManifestFactory extends libFableServiceProviderBase
|
|
|
483
483
|
}
|
|
484
484
|
|
|
485
485
|
// Setup the Section and the Group
|
|
486
|
-
const tmpSectionName = tmpRecord['Section Name']
|
|
487
|
-
const tmpSectionHash = this.sanitizeObjectKey(tmpSectionName);
|
|
486
|
+
const tmpSectionName = tmpRecord['Section Name']?.trim?.();
|
|
487
|
+
const tmpSectionHash = this.sanitizeObjectKey(tmpSectionName || 'Default_Section');
|
|
488
488
|
tmpDescriptor.PictForm.Section = tmpSectionHash;
|
|
489
489
|
const tmpSection = tmpCoreManifestFactory.getManifestSection(tmpSectionHash);
|
|
490
|
-
if (
|
|
490
|
+
if (tmpSectionName)
|
|
491
491
|
{
|
|
492
|
-
tmpSection.Name =
|
|
492
|
+
tmpSection.Name = tmpSectionName;
|
|
493
493
|
}
|
|
494
494
|
|
|
495
|
-
const tmpGroupName = tmpRecord['Group Name']
|
|
496
|
-
const tmpGroupHash = this.sanitizeObjectKey(tmpGroupName);
|
|
495
|
+
const tmpGroupName = tmpRecord['Group Name']?.trim?.();
|
|
496
|
+
const tmpGroupHash = this.sanitizeObjectKey(tmpGroupName || 'Default_Group');
|
|
497
497
|
tmpDescriptor.PictForm.Group = tmpGroupHash;
|
|
498
498
|
const tmpGroup = tmpCoreManifestFactory.getManifestGroup(tmpSection, tmpGroupHash);
|
|
499
|
-
if (
|
|
499
|
+
if (tmpGroupName)
|
|
500
500
|
{
|
|
501
|
-
tmpGroup.Name =
|
|
501
|
+
tmpGroup.Name = tmpGroupName;
|
|
502
502
|
}
|
|
503
503
|
if (tmpRecord['Group CSS'])
|
|
504
504
|
{
|
|
@@ -14,6 +14,7 @@ const libMetatemplateGenerator = require('../providers/Pict-Provider-Metatemplat
|
|
|
14
14
|
const libMetatemplateMacros = require('../providers/Pict-Provider-MetatemplateMacros.js');
|
|
15
15
|
|
|
16
16
|
const libPictLayoutRecord = require('../providers/layouts/Pict-Layout-Record.js');
|
|
17
|
+
const libPictLayoutVerticalRecord = require('../providers/layouts/Pict-Layout-VerticalRecord.js');
|
|
17
18
|
const libPictLayoutTabular = require('../providers/layouts/Pict-Layout-Tabular.js');
|
|
18
19
|
const libPictLayoutRecordSet = require('../providers/layouts/Pict-Layout-RecordSet.js');
|
|
19
20
|
const libPictLayoutChart = require('../providers/layouts/Pict-Layout-Chart.js');
|
|
@@ -50,6 +51,7 @@ class PictDynamicApplication extends libFableServiceProviderBase
|
|
|
50
51
|
this.fable.addProviderSingleton('MetatemplateMacros', libMetatemplateMacros.default_configuration, libMetatemplateMacros);
|
|
51
52
|
|
|
52
53
|
this.fable.addProviderSingleton('Pict-Layout-Record', libPictLayoutRecord.default_configuration, libPictLayoutRecord);
|
|
54
|
+
this.fable.addProviderSingleton('Pict-Layout-VerticalRecord', libPictLayoutVerticalRecord.default_configuration, libPictLayoutVerticalRecord);
|
|
53
55
|
this.fable.addProviderSingleton('Pict-Layout-Tabular', libPictLayoutTabular.default_configuration, libPictLayoutTabular);
|
|
54
56
|
this.fable.addProviderSingleton('Pict-Layout-RecordSet', libPictLayoutRecordSet.default_configuration, libPictLayoutRecordSet);
|
|
55
57
|
this.fable.addProviderSingleton('Pict-Layout-Chart', libPictLayoutChart.default_configuration, libPictLayoutChart);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pict-Provider-DynamicSolver.d.ts","sourceRoot":"","sources":["../../../source/providers/Pict-Provider-DynamicSolver.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Pict-Provider-DynamicSolver.d.ts","sourceRoot":"","sources":["../../../source/providers/Pict-Provider-DynamicSolver.js"],"names":[],"mappings":";AAuBA;;GAEG;AACH;IAEC;;;;;;OAMG;IACH,oBAJW,MAAM,YACN,MAAM,gBACN,MAAM,EAyDhB;IAlDA,6BAA6B;IAC7B,MADW,OAAO,MAAM,CAAC,CAChB;IACT,gGAAgG;IAChG,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,qCAAqC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAA;KAAE,CAClF;IACV,kBAAkB;IAClB,KADW,GAAG,CACN;IACR,qBAAqB;IACrB,MADW,MAAM,CACR;IACT,qBAAqB;IACrB,MADW,MAAM,CACR;IA2CV;;;;;;;;;OASG;IACH,qBALW,MAAM,GAAC,MAAM,cACb,OAAO,aACP,MAAM,GACJ,MAAM,GAAC,SAAS,CA8B5B;IAED;;;;;;;OAOG;IACH,wDAFW,MAAM,QAyDhB;IAED;;;;;OAKG;IACH,gEAFW,MAAM,QA+BhB;IAED;;;;;OAKG;IACH,sDAFW,MAAM,QAwBhB;IAED;;;;;;;;OAQG;IACH,gCAJW,MAAM,yBAWhB;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,yBAFW,QAAM,MAAM,EAAE,QAiFxB;IADA;;;;;MAAuC;CAExC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export = CustomInputHandler;
|
|
2
|
+
/**
|
|
3
|
+
* CustomInputHandler class.
|
|
4
|
+
*
|
|
5
|
+
* @class
|
|
6
|
+
* @extends libPictSectionInputExtension
|
|
7
|
+
* @memberof providers.inputs
|
|
8
|
+
*/
|
|
9
|
+
declare class CustomInputHandler extends libPictSectionInputExtension {
|
|
10
|
+
constructor(pFable: any, pOptions: any, pServiceHash: any);
|
|
11
|
+
/** @type {import('pict')} */
|
|
12
|
+
pict: import("pict");
|
|
13
|
+
/** @type {import('pict')} */
|
|
14
|
+
fable: import("pict");
|
|
15
|
+
/** @type {any} */
|
|
16
|
+
log: any;
|
|
17
|
+
/**
|
|
18
|
+
* Generates the HTML ID for a content display input element.
|
|
19
|
+
*
|
|
20
|
+
* @param {string} pInputHTMLID - The HTML ID of the input element.
|
|
21
|
+
* @returns {string} - The generated HTML ID for the content display input element.
|
|
22
|
+
*/
|
|
23
|
+
getContentDisplayHTMLID(pInputHTMLID: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Generates a tabular content display input ID based on the provided input HTML ID and row index.
|
|
26
|
+
*
|
|
27
|
+
* @param {string} pInputHTMLID - The input HTML ID.
|
|
28
|
+
* @param {number} pRowIndex - The row index.
|
|
29
|
+
* @returns {string} - The generated tabular content display input ID.
|
|
30
|
+
*/
|
|
31
|
+
getTabularContentDisplayInputID(pInputHTMLID: string, pRowIndex: number): string;
|
|
32
|
+
getInputContent(pInput: any, pValue: any): any;
|
|
33
|
+
/**
|
|
34
|
+
* Initializes a tabular input element.
|
|
35
|
+
*
|
|
36
|
+
* @param {Object} pView - The view object.
|
|
37
|
+
* @param {Object} pGroup - The group object.
|
|
38
|
+
* @param {Object} pInput - The input object.
|
|
39
|
+
* @param {any} pValue - The input value.
|
|
40
|
+
* @param {string} pHTMLSelector - The HTML selector.
|
|
41
|
+
* @param {number} pRowIndex - The index of the row.
|
|
42
|
+
* @returns {any} - The result of the initialization.
|
|
43
|
+
*/
|
|
44
|
+
onInputInitializeTabular(pView: any, pGroup: any, pInput: any, pValue: any, pHTMLSelector: string, pRowIndex: number): any;
|
|
45
|
+
/**
|
|
46
|
+
* Marshals data to the form for the given input.
|
|
47
|
+
*
|
|
48
|
+
* @param {Object} pView - The view object.
|
|
49
|
+
* @param {Object} pGroup - The group object.
|
|
50
|
+
* @param {Object} pRow - The row object.
|
|
51
|
+
* @param {Object} pInput - The input object.
|
|
52
|
+
* @param {any} pValue - The value to be marshaled.
|
|
53
|
+
* @param {string} pHTMLSelector - The HTML selector.
|
|
54
|
+
* @returns {boolean} - Returns true if the value is successfully marshaled to the form, otherwise false.
|
|
55
|
+
*/
|
|
56
|
+
onDataMarshalToForm(pView: any, pGroup: any, pRow: any, pInput: any, pValue: any, pHTMLSelector: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Marshals data to a form in tabular format.
|
|
59
|
+
*
|
|
60
|
+
* @param {Object} pView - The view object.
|
|
61
|
+
* @param {Object} pGroup - The group object.
|
|
62
|
+
* @param {Object} pInput - The input object.
|
|
63
|
+
* @param {any} pValue - The value parameter.
|
|
64
|
+
* @param {string} pHTMLSelector - The HTML selector parameter.
|
|
65
|
+
* @param {number} pRowIndex - The row index parameter.
|
|
66
|
+
* @returns {any} - The result of the data marshaling.
|
|
67
|
+
*/
|
|
68
|
+
onDataMarshalToFormTabular(pView: any, pGroup: any, pInput: any, pValue: any, pHTMLSelector: string, pRowIndex: number): any;
|
|
69
|
+
}
|
|
70
|
+
import libPictSectionInputExtension = require("../Pict-Provider-InputExtension.js");
|
|
71
|
+
//# sourceMappingURL=Pict-Provider-Input-HTML.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pict-Provider-Input-HTML.d.ts","sourceRoot":"","sources":["../../../../source/providers/inputs/Pict-Provider-Input-HTML.js"],"names":[],"mappings":";AAEA;;;;;;GAMG;AACH;IAEC,2DAUC;IANA,6BAA6B;IAC7B,MADW,OAAO,MAAM,CAAC,CAChB;IACT,6BAA6B;IAC7B,OADW,OAAO,MAAM,CAAC,CACf;IACV,kBAAkB;IAClB,KADW,GAAG,CACN;IAGT;;;;;OAKG;IACH,sCAHW,MAAM,GACJ,MAAM,CAKlB;IAED;;;;;;OAMG;IACH,8CAJW,MAAM,aACN,MAAM,GACJ,MAAM,CAKlB;IAED,+CAiBC;IAuBD;;;;;;;;;;OAUG;IACH,uEALW,GAAG,iBACH,MAAM,aACN,MAAM,GACJ,GAAG,CAUf;IAED;;;;;;;;;;OAUG;IACH,6EAJW,GAAG,iBACH,MAAM,GACJ,OAAO,CAUnB;IAED;;;;;;;;;;OAUG;IACH,yEALW,GAAG,iBACH,MAAM,aACN,MAAM,GACJ,GAAG,CAUf;CACD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export = CustomInputHandler;
|
|
2
|
+
/**
|
|
3
|
+
* CustomInputHandler class.
|
|
4
|
+
*
|
|
5
|
+
* @class
|
|
6
|
+
* @extends libPictSectionInputExtension
|
|
7
|
+
* @memberof providers.inputs
|
|
8
|
+
*/
|
|
9
|
+
declare class CustomInputHandler extends libPictSectionInputExtension {
|
|
10
|
+
constructor(pFable: any, pOptions: any, pServiceHash: any);
|
|
11
|
+
/** @type {import('pict')} */
|
|
12
|
+
pict: import("pict");
|
|
13
|
+
/** @type {import('pict')} */
|
|
14
|
+
fable: import("pict");
|
|
15
|
+
/** @type {any} */
|
|
16
|
+
log: any;
|
|
17
|
+
/**
|
|
18
|
+
* Generates the HTML ID for a content display input element.
|
|
19
|
+
*
|
|
20
|
+
* @param {string} pInputHTMLID - The HTML ID of the input element.
|
|
21
|
+
* @returns {string} - The generated HTML ID for the content display input element.
|
|
22
|
+
*/
|
|
23
|
+
getContentDisplayHTMLID(pInputHTMLID: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Generates a tabular content display input ID based on the provided input HTML ID and row index.
|
|
26
|
+
*
|
|
27
|
+
* @param {string} pInputHTMLID - The input HTML ID.
|
|
28
|
+
* @param {number} pRowIndex - The row index.
|
|
29
|
+
* @returns {string} - The generated tabular content display input ID.
|
|
30
|
+
*/
|
|
31
|
+
getTabularContentDisplayInputID(pInputHTMLID: string, pRowIndex: number): string;
|
|
32
|
+
getInputContent(pInput: any, pValue: any): any;
|
|
33
|
+
/**
|
|
34
|
+
* Initializes a tabular input element.
|
|
35
|
+
*
|
|
36
|
+
* @param {Object} pView - The view object.
|
|
37
|
+
* @param {Object} pGroup - The group object.
|
|
38
|
+
* @param {Object} pInput - The input object.
|
|
39
|
+
* @param {any} pValue - The input value.
|
|
40
|
+
* @param {string} pHTMLSelector - The HTML selector.
|
|
41
|
+
* @param {number} pRowIndex - The index of the row.
|
|
42
|
+
* @returns {any} - The result of the initialization.
|
|
43
|
+
*/
|
|
44
|
+
onInputInitializeTabular(pView: any, pGroup: any, pInput: any, pValue: any, pHTMLSelector: string, pRowIndex: number): any;
|
|
45
|
+
/**
|
|
46
|
+
* Marshals data to the form for the given input.
|
|
47
|
+
*
|
|
48
|
+
* @param {Object} pView - The view object.
|
|
49
|
+
* @param {Object} pGroup - The group object.
|
|
50
|
+
* @param {Object} pRow - The row object.
|
|
51
|
+
* @param {Object} pInput - The input object.
|
|
52
|
+
* @param {any} pValue - The value to be marshaled.
|
|
53
|
+
* @param {string} pHTMLSelector - The HTML selector.
|
|
54
|
+
* @returns {boolean} - Returns true if the value is successfully marshaled to the form, otherwise false.
|
|
55
|
+
*/
|
|
56
|
+
onDataMarshalToForm(pView: any, pGroup: any, pRow: any, pInput: any, pValue: any, pHTMLSelector: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Marshals data to a form in tabular format.
|
|
59
|
+
*
|
|
60
|
+
* @param {Object} pView - The view object.
|
|
61
|
+
* @param {Object} pGroup - The group object.
|
|
62
|
+
* @param {Object} pInput - The input object.
|
|
63
|
+
* @param {any} pValue - The value parameter.
|
|
64
|
+
* @param {string} pHTMLSelector - The HTML selector parameter.
|
|
65
|
+
* @param {number} pRowIndex - The row index parameter.
|
|
66
|
+
* @returns {any} - The result of the data marshaling.
|
|
67
|
+
*/
|
|
68
|
+
onDataMarshalToFormTabular(pView: any, pGroup: any, pInput: any, pValue: any, pHTMLSelector: string, pRowIndex: number): any;
|
|
69
|
+
}
|
|
70
|
+
import libPictSectionInputExtension = require("../Pict-Provider-InputExtension.js");
|
|
71
|
+
//# sourceMappingURL=Pict-Provider-Input-Markdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pict-Provider-Input-Markdown.d.ts","sourceRoot":"","sources":["../../../../source/providers/inputs/Pict-Provider-Input-Markdown.js"],"names":[],"mappings":";AAIA;;;;;;GAMG;AACH;IAEC,2DAUC;IANA,6BAA6B;IAC7B,MADW,OAAO,MAAM,CAAC,CAChB;IACT,6BAA6B;IAC7B,OADW,OAAO,MAAM,CAAC,CACf;IACV,kBAAkB;IAClB,KADW,GAAG,CACN;IAGT;;;;;OAKG;IACH,sCAHW,MAAM,GACJ,MAAM,CAKlB;IAED;;;;;;OAMG;IACH,8CAJW,MAAM,aACN,MAAM,GACJ,MAAM,CAKlB;IAED,+CAqBC;IAuBD;;;;;;;;;;OAUG;IACH,uEALW,GAAG,iBACH,MAAM,aACN,MAAM,GACJ,GAAG,CAUf;IAED;;;;;;;;;;OAUG;IACH,6EAJW,GAAG,iBACH,MAAM,GACJ,OAAO,CAUnB;IAED;;;;;;;;;;OAUG;IACH,yEALW,GAAG,iBACH,MAAM,aACN,MAAM,GACJ,GAAG,CAUf;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManifestFactory.d.ts","sourceRoot":"","sources":["../../../source/services/ManifestFactory.js"],"names":[],"mappings":";AAOA;IAEC,2DAyCC;IAnCA,sIAAsI;IACtI,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,6CAA6C,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,CAAA;KAAE,CACxH;IACV,kBAAkB;IAClB,KADW,GAAG,CACN;IACR,qBAAqB;IACrB,MADW,MAAM,CACR;IAET,cAAmC;IAcnC,+BAAoC;IASpC,2BAA2B;IAE3B,gCAAgD;IAChD,sCAAwC;IACxC,kCAA0C;IAG3C;;;;;OAKG;IACH,2BAHW,MAAM,GACL,MAAM,CASjB;IAED;;;;;;;;;OASG;IACH,uCAoJC;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;;;;;;;OAOG;IACH,
|
|
1
|
+
{"version":3,"file":"ManifestFactory.d.ts","sourceRoot":"","sources":["../../../source/services/ManifestFactory.js"],"names":[],"mappings":";AAOA;IAEC,2DAyCC;IAnCA,sIAAsI;IACtI,OADW,OAAO,MAAM,CAAC,GAAG;QAAE,6CAA6C,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,CAAA;KAAE,CACxH;IACV,kBAAkB;IAClB,KADW,GAAG,CACN;IACR,qBAAqB;IACrB,MADW,MAAM,CACR;IAET,cAAmC;IAcnC,+BAAoC;IASpC,2BAA2B;IAE3B,gCAAgD;IAChD,sCAAwC;IACxC,kCAA0C;IAG3C;;;;;OAKG;IACH,2BAHW,MAAM,GACL,MAAM,CASjB;IAED;;;;;;;;;OASG;IACH,uCAoJC;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;;;;;;;OAOG;IACH,kEAyRC;IAED;;;;;;;;;OASG;IACH,2GAGC;IAED;;;;;;OAMG;IACH,0CAJW,GAAG,GAEF,GAAG,CAwDd;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pict-View-DynamicForm.d.ts","sourceRoot":"","sources":["../../../source/views/Pict-View-DynamicForm.js"],"names":[],"mappings":";AAQA;;;;;;;GAOG;AACH;IAEC,2DAmGC;IAzDA,gKAAgK;IAChK,MADW,OAAO,MAAM,CAAC,GAAG;QAAE,eAAe,EAAE,OAAO,kBAAkB,CAAC,CAAC;QAAC,GAAG,EAAE,GAAG,CAAC;QAAC,6CAA6C,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;KAAE,CACnJ;IAKT,qBAAqB;IACrB,sBAAqC;IACrC
|
|
1
|
+
{"version":3,"file":"Pict-View-DynamicForm.d.ts","sourceRoot":"","sources":["../../../source/views/Pict-View-DynamicForm.js"],"names":[],"mappings":"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"}
|