@defra/forms-model 3.0.501 → 3.0.503
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/dist/module/__stubs__/pages.js +14 -1
- package/dist/module/__stubs__/pages.js.map +1 -1
- package/dist/module/form/form-editor/__stubs__/preview.js +7 -1
- package/dist/module/form/form-editor/__stubs__/preview.js.map +1 -1
- package/dist/module/form/form-editor/macros/types.js.map +1 -1
- package/dist/module/form/form-editor/preview/controller/guidance-page-controller.js +58 -0
- package/dist/module/form/form-editor/preview/controller/guidance-page-controller.js.map +1 -0
- package/dist/module/form/form-editor/preview/controller/page-controller-base.js +363 -0
- package/dist/module/form/form-editor/preview/controller/page-controller-base.js.map +1 -0
- package/dist/module/form/form-editor/preview/controller/page-controller.js +62 -186
- package/dist/module/form/form-editor/preview/controller/page-controller.js.map +1 -1
- package/dist/module/form/form-editor/preview/index.js +2 -0
- package/dist/module/form/form-editor/preview/index.js.map +1 -1
- package/dist/module/form/form-editor/preview/types.js.map +1 -1
- package/dist/module/pages/helpers.js +2 -1
- package/dist/module/pages/helpers.js.map +1 -1
- package/dist/types/__stubs__/pages.d.ts +14 -0
- package/dist/types/__stubs__/pages.d.ts.map +1 -1
- package/dist/types/form/form-editor/__stubs__/preview.d.ts +5 -1
- package/dist/types/form/form-editor/__stubs__/preview.d.ts.map +1 -1
- package/dist/types/form/form-editor/macros/types.d.ts +8 -0
- package/dist/types/form/form-editor/macros/types.d.ts.map +1 -1
- package/dist/types/form/form-editor/preview/controller/guidance-page-controller.d.ts +10 -0
- package/dist/types/form/form-editor/preview/controller/guidance-page-controller.d.ts.map +1 -0
- package/dist/types/form/form-editor/preview/controller/page-controller-base.d.ts +198 -0
- package/dist/types/form/form-editor/preview/controller/page-controller-base.d.ts.map +1 -0
- package/dist/types/form/form-editor/preview/controller/page-controller.d.ts +9 -114
- package/dist/types/form/form-editor/preview/controller/page-controller.d.ts.map +1 -1
- package/dist/types/form/form-editor/preview/index.d.ts +2 -0
- package/dist/types/form/form-editor/preview/types.d.ts +5 -1
- package/dist/types/form/form-editor/preview/types.d.ts.map +1 -1
- package/dist/types/pages/helpers.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__stubs__/pages.ts +20 -1
- package/src/form/form-editor/__stubs__/preview.js +13 -1
- package/src/form/form-editor/macros/types.ts +8 -0
- package/src/form/form-editor/preview/controller/guidance-page-controller.js +64 -0
- package/src/form/form-editor/preview/controller/page-controller-base.js +388 -0
- package/src/form/form-editor/preview/controller/page-controller.js +67 -201
- package/src/form/form-editor/preview/index.js +2 -0
- package/src/form/form-editor/preview/types.ts +6 -1
- package/src/pages/helpers.ts +2 -1
@@ -0,0 +1,198 @@
|
|
1
|
+
/**
|
2
|
+
* @implements {PageOverviewElements}
|
3
|
+
*/
|
4
|
+
export class PagePreviewElements implements PageOverviewElements {
|
5
|
+
/**
|
6
|
+
* @param {Page|undefined} page
|
7
|
+
*/
|
8
|
+
constructor(page: Page | undefined);
|
9
|
+
/**
|
10
|
+
* @type {Page | { title: string }}
|
11
|
+
* @private
|
12
|
+
*/
|
13
|
+
private _page;
|
14
|
+
get heading(): string;
|
15
|
+
get guidance(): string;
|
16
|
+
get addHeading(): boolean;
|
17
|
+
get repeatQuestion(): string | undefined;
|
18
|
+
get hasRepeater(): boolean;
|
19
|
+
}
|
20
|
+
/**
|
21
|
+
* @abstract
|
22
|
+
* @implements {PagePreviewPanelMacro}
|
23
|
+
*/
|
24
|
+
export class PreviewPageControllerBase implements PagePreviewPanelMacro {
|
25
|
+
static PATH: string;
|
26
|
+
/**
|
27
|
+
* @type {typeof HighlightClass}
|
28
|
+
*/
|
29
|
+
static HighlightClass: typeof HighlightClass;
|
30
|
+
/**
|
31
|
+
* Creates a dummy component for when guidance is highlighted
|
32
|
+
* but no guidance text exists
|
33
|
+
* @returns {Markdown}
|
34
|
+
*/
|
35
|
+
static createGuidanceComponent(highlight?: boolean): Markdown;
|
36
|
+
/**
|
37
|
+
* @param {PagePreviewBaseElements} elements
|
38
|
+
* @param {PageRenderer} renderer
|
39
|
+
*/
|
40
|
+
constructor(elements: PagePreviewBaseElements, renderer: PageRenderer);
|
41
|
+
/**
|
42
|
+
* @type {string}
|
43
|
+
* @protected
|
44
|
+
*/
|
45
|
+
protected _pageTemplate: string;
|
46
|
+
/**
|
47
|
+
* @protected
|
48
|
+
* @type {Question[]}
|
49
|
+
*/
|
50
|
+
protected _components: Question[];
|
51
|
+
/**
|
52
|
+
* @type {boolean}
|
53
|
+
* @protected
|
54
|
+
*/
|
55
|
+
protected _showTitle: boolean;
|
56
|
+
/**
|
57
|
+
* @protected
|
58
|
+
* @type {string}
|
59
|
+
*/
|
60
|
+
protected _title: string;
|
61
|
+
/**
|
62
|
+
* @type { undefined | HighlightClass }
|
63
|
+
* @protected
|
64
|
+
*/
|
65
|
+
protected _highlighted: undefined | HighlightClass;
|
66
|
+
/**
|
67
|
+
* @type {string}
|
68
|
+
* @protected
|
69
|
+
*/
|
70
|
+
protected _guidanceText: string;
|
71
|
+
/**
|
72
|
+
* @type { string }
|
73
|
+
* @protected
|
74
|
+
*/
|
75
|
+
protected _sectionTitle: string;
|
76
|
+
/**
|
77
|
+
* @type {Markdown}
|
78
|
+
* @protected
|
79
|
+
*/
|
80
|
+
protected _emptyGuidance: Markdown;
|
81
|
+
/**
|
82
|
+
* @type {Markdown}
|
83
|
+
* @protected
|
84
|
+
*/
|
85
|
+
protected _guidanceComponent: Markdown;
|
86
|
+
/**
|
87
|
+
* @protected
|
88
|
+
* @type {boolean}
|
89
|
+
*/
|
90
|
+
protected _isRepeater: boolean;
|
91
|
+
/**
|
92
|
+
* @returns {Markdown[]}
|
93
|
+
* @protected
|
94
|
+
*/
|
95
|
+
protected _getGuidanceComponents(): Markdown[];
|
96
|
+
/**
|
97
|
+
* @returns {Markdown[]}
|
98
|
+
* @protected
|
99
|
+
*/
|
100
|
+
protected get _guidanceComponents(): Markdown[];
|
101
|
+
/**
|
102
|
+
* @returns {PagePreviewComponent[]}
|
103
|
+
*/
|
104
|
+
get components(): PagePreviewComponent[];
|
105
|
+
/**
|
106
|
+
* @returns {string}
|
107
|
+
* @protected
|
108
|
+
*/
|
109
|
+
protected _getGuidanceText(): string;
|
110
|
+
set guidanceText(text: string);
|
111
|
+
/**
|
112
|
+
* @returns {string}
|
113
|
+
*/
|
114
|
+
get guidanceText(): string;
|
115
|
+
get guidance(): {
|
116
|
+
text: string;
|
117
|
+
classes: string;
|
118
|
+
};
|
119
|
+
/**
|
120
|
+
* @param {boolean} showTitle
|
121
|
+
*/
|
122
|
+
set showTitle(showTitle: boolean);
|
123
|
+
get showTitle(): boolean;
|
124
|
+
/**
|
125
|
+
* @returns {{ text: string, classes: string }}
|
126
|
+
*/
|
127
|
+
get pageTitle(): {
|
128
|
+
text: string;
|
129
|
+
classes: string;
|
130
|
+
};
|
131
|
+
setRepeater(): void;
|
132
|
+
unsetRepeater(): void;
|
133
|
+
get isRepeater(): boolean;
|
134
|
+
render(): void;
|
135
|
+
/**
|
136
|
+
* @returns {string}
|
137
|
+
* @protected
|
138
|
+
*/
|
139
|
+
protected _getTitle(): string;
|
140
|
+
/**
|
141
|
+
* @param {string} value
|
142
|
+
*/
|
143
|
+
set title(value: string);
|
144
|
+
/**
|
145
|
+
* @returns {string}
|
146
|
+
*/
|
147
|
+
get title(): string;
|
148
|
+
highlightTitle(): void;
|
149
|
+
/**
|
150
|
+
* @returns {{classes: string, text: string} | undefined}
|
151
|
+
*/
|
152
|
+
get sectionTitle(): {
|
153
|
+
classes: string;
|
154
|
+
text: string;
|
155
|
+
} | undefined;
|
156
|
+
/**
|
157
|
+
* @returns {string|undefined}
|
158
|
+
* @protected
|
159
|
+
*/
|
160
|
+
protected _getSectionTitleText(): string | undefined;
|
161
|
+
/**
|
162
|
+
* @param {string | undefined} val
|
163
|
+
*/
|
164
|
+
set sectionTitleText(val: string | undefined);
|
165
|
+
get sectionTitleText(): string | undefined;
|
166
|
+
highlightGuidance(): void;
|
167
|
+
/**
|
168
|
+
* @param {HighlightClass} highlightSection
|
169
|
+
*/
|
170
|
+
setHighLighted(highlightSection: HighlightClass): void;
|
171
|
+
clearHighlight(): void;
|
172
|
+
/**
|
173
|
+
* @param {string} field
|
174
|
+
* @protected
|
175
|
+
* @returns {string}
|
176
|
+
*/
|
177
|
+
protected _isHighlighted(field: string): string;
|
178
|
+
#private;
|
179
|
+
}
|
180
|
+
import type { PageOverviewElements } from '../../../../form/form-editor/preview/types.js';
|
181
|
+
import type { Page } from '../../../../form/form-definition/types.js';
|
182
|
+
import type { PagePreviewPanelMacro } from '../../../../form/form-editor/macros/types.js';
|
183
|
+
import type { Question } from '../../../../form/form-editor/preview/question.js';
|
184
|
+
/**
|
185
|
+
* Enum for Highlight classes
|
186
|
+
*/
|
187
|
+
type HighlightClass = string;
|
188
|
+
declare namespace HighlightClass {
|
189
|
+
let TITLE: string;
|
190
|
+
let GUIDANCE: string;
|
191
|
+
let REPEATER: string;
|
192
|
+
}
|
193
|
+
import { Markdown } from '../../../../form/form-editor/preview/markdown.js';
|
194
|
+
import type { PagePreviewComponent } from '../../../../form/form-editor/macros/types.js';
|
195
|
+
import type { PagePreviewBaseElements } from '../../../../form/form-editor/preview/types.js';
|
196
|
+
import type { PageRenderer } from '../../../../form/form-editor/preview/types.js';
|
197
|
+
export {};
|
198
|
+
//# sourceMappingURL=page-controller-base.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"page-controller-base.d.ts","sourceRoot":"","sources":["../../../../../../src/form/form-editor/preview/controller/page-controller-base.js"],"names":[],"mappings":"AA6BA;;GAEG;AACH;IASE;;OAEG;IACH,kBAFW,IAAI,GAAC,SAAS,EAMxB;IAfD;;;OAGG;IACH,cAEC;IAWD,sBAEC;IAED,uBAUC;IAED,0BAEC;IAED,yCAKC;IAED,2BAEC;CACF;AAED;;;GAGG;AACH;IACE,oBAAoC;IAmEpC;;OAEG;IACH,uBAFU,OAAO,cAAc,CAEO;IA4KtC;;;;OAIG;IACH,qDAFa,QAAQ,CAgBpB;IA5MD;;;OAGG;IACH,sBAHW,uBAAuB,YACvB,YAAY,EAMtB;IAhED;;;OAGG;IACH,yBAHU,MAAM,CAGsD;IACtE;;;OAGG;IACH,uBAFU,QAAQ,EAAE,CAEJ;IAChB;;;OAGG;IACH,sBAHU,OAAO,CAGA;IACjB;;;OAGG;IACH,kBAFU,MAAM,CAEL;IAMX;;;OAGG;IACH,wBAHW,SAAS,GAAG,cAAc,CAGb;IACxB;;;OAGG;IACH,yBAHU,MAAM,CAGE;IAClB;;;OAGG;IACH,yBAHW,MAAM,CAGC;IAClB;;;OAGG;IACH,0BAHU,QAAQ,CAGkD;IACpE;;;OAGG;IACH,8BAHU,QAAQ,CAGsD;IACxE;;;OAGG;IACH,uBAFU,OAAO,CAEE;IAiBnB;;;OAGG;IACH,oCAHa,QAAQ,EAAE,CAWtB;IAED;;;OAGG;IACH,qCAHa,QAAQ,EAAE,CAKtB;IAED;;OAEG;IACH,kBAFa,oBAAoB,EAAE,CAclC;IAED;;;OAGG;IACH,8BAHa,MAAM,CAKlB;IAED,uBAOa,MAAM,EAHlB;IAED;;OAEG;IACH,oBAFa,MAAM,CAIlB;IAED;;;MAKC;IAED;;OAEG;IACH,yBAFW,OAAO,EAKjB;IAED,iBAPW,OAAO,CASjB;IAED;;OAEG;IACH,iBAFa;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAO7C;IAED,oBAGC;IAED,sBAGC;IAED,0BAEC;IAED,eAEC;IAED;;;OAGG;IACH,uBAHa,MAAM,CAQlB;IASD;;OAEG;IACH,iBAFW,MAAM,EAKhB;IAbD;;OAEG;IACH,aAFa,MAAM,CAIlB;IAUD,uBAEC;IAED;;OAEG;IACH,oBAFa;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAUvD;IAED;;;OAGG;IACH,kCAHa,MAAM,GAAC,SAAS,CAK5B;IAED;;OAEG;IACH,0BAFW,MAAM,GAAG,SAAS,EAK5B;IAED,wBAPW,MAAM,GAAG,SAAS,CAS5B;IAuBD,0BAGC;IAED;;OAEG;IACH,iCAFW,cAAc,QAKxB;IAED,uBAKC;IAED;;;;OAIG;IACH,gCAJW,MAAM,GAEJ,MAAM,CAIlB;;CACF;0CAGoH,yCAAyC;0BAGrH,qCAAqC;2CAEd,wCAAwC;8BAJ3E,4CAA4C;;;;sBAzW/D,MAAM;;;;;;yBAlBS,4CAA4C;0CA+XL,wCAAwC;6CALa,yCAAyC;kCAAzC,yCAAyC"}
|
@@ -1,31 +1,4 @@
|
|
1
|
-
|
2
|
-
* @implements {PageOverviewElements}
|
3
|
-
*/
|
4
|
-
export class PagePreviewElements implements PageOverviewElements {
|
5
|
-
/**
|
6
|
-
* @param {Page} page
|
7
|
-
*/
|
8
|
-
constructor(page: Page);
|
9
|
-
/**
|
10
|
-
* @type {Page}
|
11
|
-
* @private
|
12
|
-
*/
|
13
|
-
private _page;
|
14
|
-
get heading(): string;
|
15
|
-
get guidance(): string;
|
16
|
-
get addHeading(): boolean;
|
17
|
-
}
|
18
|
-
/**
|
19
|
-
* @implements {PagePreviewPanelMacro}
|
20
|
-
*/
|
21
|
-
export class PreviewPageController implements PagePreviewPanelMacro {
|
22
|
-
static PATH: string;
|
23
|
-
/**
|
24
|
-
* Creates a dummy component for when guidance is highlighted
|
25
|
-
* but no guidance text exists
|
26
|
-
* @returns {Markdown}
|
27
|
-
*/
|
28
|
-
static createGuidanceComponent(): Markdown;
|
1
|
+
export class PreviewPageController extends PreviewPageControllerBase {
|
29
2
|
/**
|
30
3
|
* Helper method to return the guidance or a new one
|
31
4
|
* @param { Markdown | Question | undefined } guidanceComponent
|
@@ -40,51 +13,6 @@ export class PreviewPageController implements PagePreviewPanelMacro {
|
|
40
13
|
* @param {PageRenderer} renderer
|
41
14
|
*/
|
42
15
|
constructor(components: ComponentDef[], elements: PageOverviewElements, definition: FormDefinition, renderer: PageRenderer);
|
43
|
-
/**
|
44
|
-
* @type {string}
|
45
|
-
* @protected
|
46
|
-
*/
|
47
|
-
protected _pageTemplate: string;
|
48
|
-
/**
|
49
|
-
* @protected
|
50
|
-
* @type {Question[]}
|
51
|
-
*/
|
52
|
-
protected _components: Question[];
|
53
|
-
/**
|
54
|
-
* @type { undefined | 'title' | 'guidance'}
|
55
|
-
* @protected
|
56
|
-
*/
|
57
|
-
protected _highlighted: undefined | "title" | "guidance";
|
58
|
-
/**
|
59
|
-
* @type {string}
|
60
|
-
* @private
|
61
|
-
*/
|
62
|
-
private _guidanceText;
|
63
|
-
/**
|
64
|
-
* @type {Markdown}
|
65
|
-
* @private
|
66
|
-
*/
|
67
|
-
private _emptyGuidance;
|
68
|
-
/**
|
69
|
-
*
|
70
|
-
* @type {Markdown}
|
71
|
-
* @protected
|
72
|
-
*/
|
73
|
-
protected _guidanceComponent: Markdown;
|
74
|
-
/**
|
75
|
-
* @type {boolean}
|
76
|
-
* @private
|
77
|
-
*/
|
78
|
-
private _showTitle;
|
79
|
-
/**
|
80
|
-
* @returns {Markdown[]}
|
81
|
-
* @private
|
82
|
-
*/
|
83
|
-
private get _guidanceComponents();
|
84
|
-
/**
|
85
|
-
* @returns {PagePreviewComponent[]}
|
86
|
-
*/
|
87
|
-
get components(): PagePreviewComponent[];
|
88
16
|
/**
|
89
17
|
* @returns {boolean}
|
90
18
|
*/
|
@@ -94,56 +22,23 @@ export class PreviewPageController implements PagePreviewPanelMacro {
|
|
94
22
|
* @returns {QuestionBaseModel}
|
95
23
|
*/
|
96
24
|
_overrideComponentHeading(component: PreviewComponent): QuestionBaseModel;
|
97
|
-
set guidanceText(text: string);
|
98
|
-
get guidanceText(): string;
|
99
|
-
/**
|
100
|
-
*
|
101
|
-
* @param {boolean} showTitle
|
102
|
-
*/
|
103
|
-
set showTitle(showTitle: boolean);
|
104
|
-
get showTitle(): boolean;
|
105
|
-
get guidance(): {
|
106
|
-
text: string;
|
107
|
-
classes: string;
|
108
|
-
};
|
109
|
-
/**
|
110
|
-
* @returns {{ text: string, classes: string }}
|
111
|
-
*/
|
112
|
-
get pageTitle(): {
|
113
|
-
text: string;
|
114
|
-
classes: string;
|
115
|
-
};
|
116
|
-
render(): void;
|
117
25
|
/**
|
118
26
|
* @returns {boolean}
|
119
27
|
*/
|
120
28
|
get titleAndFirstTitleSame(): boolean;
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
*/
|
128
|
-
get title(): string;
|
129
|
-
highlightTitle(): void;
|
130
|
-
highlightGuidance(): void;
|
131
|
-
/**
|
132
|
-
* @param {'title'|'guidance'} highlightSection
|
133
|
-
*/
|
134
|
-
setHighLighted(highlightSection: "title" | "guidance"): void;
|
135
|
-
clearHighlight(): void;
|
29
|
+
get repeaterText(): string | undefined;
|
30
|
+
get repeaterButton(): {
|
31
|
+
classes: string;
|
32
|
+
text: string;
|
33
|
+
} | undefined;
|
34
|
+
get repeaterButtonText(): string | undefined;
|
136
35
|
#private;
|
137
36
|
}
|
138
|
-
import
|
139
|
-
import type { Page } from '../../../../form/form-definition/types.js';
|
140
|
-
import type { PagePreviewPanelMacro } from '../../../../form/form-editor/macros/types.js';
|
141
|
-
import type { Question } from '../../../../form/form-editor/preview/question.js';
|
142
|
-
import { Markdown } from '../../../../form/form-editor/preview/markdown.js';
|
143
|
-
import type { PagePreviewComponent } from '../../../../form/form-editor/macros/types.js';
|
37
|
+
import { PreviewPageControllerBase } from '../../../../form/form-editor/preview/controller/page-controller-base.js';
|
144
38
|
import type { PreviewComponent } from '../../../../form/form-editor/preview/preview.js';
|
145
39
|
import type { QuestionBaseModel } from '../../../../form/form-editor/preview/types.js';
|
146
40
|
import type { ComponentDef } from '../../../../components/types.js';
|
41
|
+
import type { PageOverviewElements } from '../../../../form/form-editor/preview/types.js';
|
147
42
|
import type { FormDefinition } from '../../../../form/form-definition/types.js';
|
148
43
|
import type { PageRenderer } from '../../../../form/form-editor/preview/types.js';
|
149
44
|
//# sourceMappingURL=page-controller.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"page-controller.d.ts","sourceRoot":"","sources":["../../../../../../src/form/form-editor/preview/controller/page-controller.js"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"page-controller.d.ts","sourceRoot":"","sources":["../../../../../../src/form/form-editor/preview/controller/page-controller.js"],"names":[],"mappings":"AAiBA;IAyME;;;;;OAKG;IACH,4CAKC;IA5MD;;;;;OAKG;IACH,wBALW,YAAY,EAAE,YACd,oBAAoB,cACpB,cAAc,YACd,YAAY,EAiBtB;IAmCD;;OAEG;IACH,sBAFa,OAAO,CAgBnB;IAED;;;OAGG;IACH,qCAHW,gBAAgB,GACd,iBAAiB,CAgC7B;IAED;;OAEG;IACH,8BAFa,OAAO,CASnB;IAwBD,uCAQC;IAaD;;;kBAUC;IAED,6CAaC;;CAcF;0CAtOyC,mEAAmE;sCA2OxE,2CAA2C;uCAFY,yCAAyC;kCAIjF,2BAA2B;0CAJa,yCAAyC;oCAG5F,qCAAqC;kCAHc,yCAAyC"}
|
@@ -21,4 +21,6 @@ export * from "../../../form/form-editor/preview/long-answer.js";
|
|
21
21
|
export * from "../../../form/form-editor/preview/uk-address.js";
|
22
22
|
export * from "../../../form/form-editor/preview/yes-no.js";
|
23
23
|
export * from "../../../form/form-editor/preview/controller/page-controller.js";
|
24
|
+
export * from "../../../form/form-editor/preview/controller/guidance-page-controller.js";
|
25
|
+
export * from "../../../form/form-editor/preview/controller/page-controller-base.js";
|
24
26
|
//# sourceMappingURL=index.d.ts.map
|
@@ -69,10 +69,14 @@ export type Renderer = QuestionRenderer | PageRenderer;
|
|
69
69
|
export interface ListElements extends QuestionElements {
|
70
70
|
afterInputsHTML: string;
|
71
71
|
}
|
72
|
-
export interface
|
72
|
+
export interface PagePreviewBaseElements {
|
73
73
|
heading: string;
|
74
74
|
guidance: string;
|
75
|
+
}
|
76
|
+
export interface PageOverviewElements extends PagePreviewBaseElements {
|
75
77
|
addHeading: boolean;
|
78
|
+
repeatQuestion: string | undefined;
|
79
|
+
hasRepeater: boolean;
|
76
80
|
}
|
77
81
|
export type PreviewQuestion = DateInputQuestion | EmailAddressQuestion | ListSortableQuestion | LongAnswerQuestion | PhoneNumberQuestion | Question | RadioSortableQuestion | SelectSortableQuestion | ShortAnswerQuestion | UkAddressQuestion | AutocompleteQuestion;
|
78
82
|
//# sourceMappingURL=types.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gDAAgD,CAAA;AAC1F,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AACrF,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iDAAiD,CAAA;AAC3F,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iDAAiD,CAAA;AAC3F,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,+CAA+C,CAAA;AACvF,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gDAAgD,CAAA;AACzF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,kDAAkD,CAAA;AAC7F,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,mDAAmD,CAAA;AAC/F,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gDAAgD,CAAA;AACzF,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AACrF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,gBAAgB,GAAG,IAAI;IACvB,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI;IAC5C,MAAM,mBAAmB;CAC1B,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAA;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;CAC1C;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,CAAA;CACrE;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,iBAAiB,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,qBAAqB,CAAA;CAC9B;AAED,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,iBAAiB,CAAA;AAErE,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,MAAM,CAAA;CAC1E;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAC7E;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,GAAG,IAAI,CAAA;CACvE;AAED,MAAM,MAAM,QAAQ,GAAG,gBAAgB,GAAG,YAAY,CAAA;AAEtD,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/types.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/pages/helpers.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/pages/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EACL,KAAK,IAAI,EACT,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EAChB,MAAM,qCAAqC,CAAA;AAK5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,SAAS,IAAI,EACnD,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAaC,QAAQ,CAC7C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GACnB,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAEvD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GACnB,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAIvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GACnB,IAAI,IAAI,YAAY,GAAG,cAAc,CAGvC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,UAAU,CAEpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,CAAC,EAAE,cAAc,GAAG,MAAM,GACnC,UAAU,IAAI,cAAc,CAE9B;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GACnB,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,IAAI,EAAE,CAAA;CAAE,CAAC,CAezC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,cAAc,GAAG,MAAM,8BAO1E;AAUD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAQxD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAcvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,UAYtC"}
|
package/package.json
CHANGED
package/src/__stubs__/pages.ts
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
-
import {
|
1
|
+
import {
|
2
|
+
buildFileUploadComponent,
|
3
|
+
buildMarkdownComponent
|
4
|
+
} from '~/src/__stubs__/components.js'
|
2
5
|
import { ComponentType } from '~/src/components/enums.js'
|
3
6
|
import {
|
4
7
|
type PageFileUpload,
|
@@ -26,6 +29,22 @@ export function buildQuestionPage(
|
|
26
29
|
}
|
27
30
|
}
|
28
31
|
|
32
|
+
export const GUIDANCE_PAGE_CONTENT = 'Lorem ipsum dolar sit amet'
|
33
|
+
export function buildGuidancePage(partialPage: Partial<PageQuestion>) {
|
34
|
+
return {
|
35
|
+
id: 'a3fc003b-d380-43e8-9b87-9ca48ac8447f',
|
36
|
+
title: 'Guidance page',
|
37
|
+
path: '/guidance-page',
|
38
|
+
next: [],
|
39
|
+
components: [
|
40
|
+
buildMarkdownComponent({
|
41
|
+
content: 'Lorem ipsum dolar sit amet'
|
42
|
+
})
|
43
|
+
],
|
44
|
+
...partialPage
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
29
48
|
/**
|
30
49
|
* Stub builder for a Summary page
|
31
50
|
* @param {Partial<PageSummary>} [partialSummaryPage]
|
@@ -159,16 +159,28 @@ export class PagePreviewElements {
|
|
159
159
|
guidance
|
160
160
|
heading
|
161
161
|
addHeading
|
162
|
+
repeatQuestion
|
163
|
+
hasRepeater
|
162
164
|
|
163
165
|
/**
|
164
166
|
* @param {string} heading
|
165
167
|
* @param {string} guidance
|
166
168
|
* @param {boolean} [addHeading]
|
169
|
+
* @param {string} repeatQuestion
|
170
|
+
* @param {boolean} hasRepeater
|
167
171
|
*/
|
168
|
-
constructor(
|
172
|
+
constructor(
|
173
|
+
heading,
|
174
|
+
guidance = '',
|
175
|
+
addHeading = undefined,
|
176
|
+
repeatQuestion = '',
|
177
|
+
hasRepeater = false
|
178
|
+
) {
|
169
179
|
this.heading = heading
|
170
180
|
this.guidance = guidance
|
171
181
|
this.addHeading = addHeading ?? heading.length > 0
|
182
|
+
this.repeatQuestion = repeatQuestion
|
183
|
+
this.hasRepeater = hasRepeater
|
172
184
|
}
|
173
185
|
}
|
174
186
|
|
@@ -73,4 +73,12 @@ export interface PagePreviewPanelMacro {
|
|
73
73
|
classes: string
|
74
74
|
}
|
75
75
|
readonly components: PagePreviewComponent[]
|
76
|
+
readonly sectionTitle?: {
|
77
|
+
text: string
|
78
|
+
classes: string
|
79
|
+
}
|
80
|
+
readonly repeaterButton?: {
|
81
|
+
text: string
|
82
|
+
classes: string
|
83
|
+
}
|
76
84
|
}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { PreviewPageControllerBase } from '~/src/form/form-editor/preview/controller/page-controller-base.js'
|
2
|
+
|
3
|
+
const FALLBACK_GUIDANCE_TEXT = 'Guidance text'
|
4
|
+
|
5
|
+
export class GuidancePageController extends PreviewPageControllerBase {
|
6
|
+
/**
|
7
|
+
* @type {Markdown}
|
8
|
+
* @protected
|
9
|
+
*/
|
10
|
+
_unhighlightedEmptyGuidance =
|
11
|
+
PreviewPageControllerBase.createGuidanceComponent(false)
|
12
|
+
|
13
|
+
/**
|
14
|
+
* @type {Markdown}
|
15
|
+
* @protected
|
16
|
+
*/
|
17
|
+
_guidanceComponent = PreviewPageControllerBase.createGuidanceComponent(false)
|
18
|
+
|
19
|
+
/**
|
20
|
+
* @param {PagePreviewBaseElements} elements
|
21
|
+
* @param {PageRenderer} renderer
|
22
|
+
*/
|
23
|
+
constructor(elements, renderer) {
|
24
|
+
super(elements, renderer)
|
25
|
+
if (elements.guidance.length) {
|
26
|
+
this._guidanceComponent.content = elements.guidance
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
/**
|
31
|
+
* @returns {Markdown[]}
|
32
|
+
* @protected
|
33
|
+
*/
|
34
|
+
_getGuidanceComponents() {
|
35
|
+
if (this._guidanceText.length) {
|
36
|
+
return [this._guidanceComponent]
|
37
|
+
}
|
38
|
+
|
39
|
+
if (
|
40
|
+
this._isHighlighted(PreviewPageControllerBase.HighlightClass.GUIDANCE)
|
41
|
+
) {
|
42
|
+
return [this._emptyGuidance]
|
43
|
+
}
|
44
|
+
|
45
|
+
return [this._unhighlightedEmptyGuidance]
|
46
|
+
}
|
47
|
+
|
48
|
+
/**
|
49
|
+
* @returns {string}
|
50
|
+
* @protected
|
51
|
+
*/
|
52
|
+
_getGuidanceText() {
|
53
|
+
const guidanceText = super._getGuidanceText()
|
54
|
+
if (!guidanceText.length) {
|
55
|
+
return FALLBACK_GUIDANCE_TEXT
|
56
|
+
}
|
57
|
+
return super._getGuidanceText()
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
/**
|
62
|
+
* @import { Markdown } from '~/src/form/form-editor/preview/markdown.js'
|
63
|
+
* @import { PageRenderer, PagePreviewBaseElements } from '~/src/form/form-editor/preview/types.js'
|
64
|
+
*/
|