@defra/forms-model 3.0.457 → 3.0.458
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/form/form-editor/preview/list.js +1 -2
- package/dist/module/form/form-editor/preview/list.js.map +1 -1
- package/dist/types/form/form-editor/preview/list.d.ts +1 -2
- package/dist/types/form/form-editor/preview/list.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/form/form-editor/preview/list.js +1 -2
@@ -109,7 +109,6 @@ export class ListQuestion extends Question {
|
|
109
109
|
|
110
110
|
/**
|
111
111
|
* @returns {ListItemReadonly[]}
|
112
|
-
* @readonly
|
113
112
|
*/
|
114
113
|
get list() {
|
115
114
|
const iterator = /** @type {MapIterator<ListElement>} */
|
@@ -188,6 +187,6 @@ export class ListQuestion extends Question {
|
|
188
187
|
|
189
188
|
/**
|
190
189
|
* @import { ListElement, ListItemReadonly } from '~/src/form/form-editor/types.js'
|
191
|
-
* @import {
|
190
|
+
* @import { ListElements, QuestionRenderer, DefaultComponent, GovukFieldset } from '~/src/form/form-editor/preview/types.js'
|
192
191
|
*/
|
193
192
|
//# sourceMappingURL=list.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"list.js","names":["Question","DefaultListConst","TextElementId","HintElementId","Template","PATH","Input","RenderName","listItemMapper","listElement","id","listsElementToMap","listElements","entries","map","Map","ListQuestion","_questionTemplate","_listElements","listRenderId","listRenderName","_list","constructor","questionRenderer","items","values","createListFromElements","renderInput","afterInputs","list","length","formGroup","html","afterInputsHTML","name","fieldset","fieldSet","hint","push","set","render","delete","key","iterator","Array","from","listItem","hintText","_highlight","text","classes","getHighlight","undefined","label","updateText","get","updateHint","updateValue","value"],"sources":["../../../../../src/form/form-editor/preview/list.js"],"sourcesContent":["import { Question } from '~/src/form/form-editor/preview/question.js'\n\nconst DefaultListConst = {\n TextElementId: 'radioText',\n HintElementId: 'radioHint',\n Template: Question.PATH + 'radios.njk',\n Input: 'listInput',\n RenderName: 'listInputField'\n}\n\n/**\n * @param {ListElement} listElement\n * @returns {[string, ListElement]}\n */\nexport function listItemMapper(listElement) {\n return [listElement.id, listElement]\n}\n\n/**\n *\n * @param { ListElement[]| undefined } listElements\n * @returns {Map<string, ListElement>}\n */\nexport function listsElementToMap(listElements) {\n const entries = listElements ? listElements.map(listItemMapper) : []\n return new Map(entries)\n}\n\nexport class ListQuestion extends Question {\n /**\n * @type {string}\n * @protected\n */\n _questionTemplate = DefaultListConst.Template\n /** @type {ListElements} */\n _listElements\n listRenderId = DefaultListConst.Input\n listRenderName = DefaultListConst.RenderName\n\n /**\n * @type {Map<string, ListElement>}\n * @protected\n */\n _list\n\n /**\n * @param {ListElements} listElements\n * @param {QuestionRenderer} questionRenderer\n */\n constructor(listElements, questionRenderer) {\n super(listElements, questionRenderer)\n\n const items = /** @type {ListElement[]} */ (listElements.values.items)\n this._list = this.createListFromElements(items)\n this._listElements = listElements\n }\n\n /**\n * @returns {{\n * formGroup?: {afterInputs: {html: string}};\n * hint: DefaultComponent;\n * name: string;\n * fieldset?: GovukFieldset;\n * id: string;\n * items: ListItemReadonly[]\n * }}\n */\n get renderInput() {\n const afterInputs =\n /** @type {{ formGroup?: { afterInputs: { html: string } } }} */ (\n this.list.length\n ? {}\n : {\n formGroup: {\n afterInputs: {\n html: this._listElements.afterInputsHTML\n }\n }\n }\n )\n\n return {\n id: this.listRenderId,\n name: this.listRenderName,\n fieldset: this.fieldSet,\n hint: this.hint,\n items: this.list,\n ...afterInputs\n }\n }\n\n /**\n *\n * @param {ListElement} listElement\n */\n push(listElement) {\n this._list.set(listElement.id, listElement)\n this.render()\n }\n\n /**\n * @param {string} key\n */\n delete(key) {\n this._list.delete(key)\n this.render()\n }\n\n /**\n * @param {ListElement[]} listElements\n * @returns {Map<string, ListElement>}\n */\n createListFromElements(listElements) {\n this._list = listsElementToMap(listElements)\n return this._list\n }\n\n /**\n * @returns {ListItemReadonly[]}\n
|
1
|
+
{"version":3,"file":"list.js","names":["Question","DefaultListConst","TextElementId","HintElementId","Template","PATH","Input","RenderName","listItemMapper","listElement","id","listsElementToMap","listElements","entries","map","Map","ListQuestion","_questionTemplate","_listElements","listRenderId","listRenderName","_list","constructor","questionRenderer","items","values","createListFromElements","renderInput","afterInputs","list","length","formGroup","html","afterInputsHTML","name","fieldset","fieldSet","hint","push","set","render","delete","key","iterator","Array","from","listItem","hintText","_highlight","text","classes","getHighlight","undefined","label","updateText","get","updateHint","updateValue","value"],"sources":["../../../../../src/form/form-editor/preview/list.js"],"sourcesContent":["import { Question } from '~/src/form/form-editor/preview/question.js'\n\nconst DefaultListConst = {\n TextElementId: 'radioText',\n HintElementId: 'radioHint',\n Template: Question.PATH + 'radios.njk',\n Input: 'listInput',\n RenderName: 'listInputField'\n}\n\n/**\n * @param {ListElement} listElement\n * @returns {[string, ListElement]}\n */\nexport function listItemMapper(listElement) {\n return [listElement.id, listElement]\n}\n\n/**\n *\n * @param { ListElement[]| undefined } listElements\n * @returns {Map<string, ListElement>}\n */\nexport function listsElementToMap(listElements) {\n const entries = listElements ? listElements.map(listItemMapper) : []\n return new Map(entries)\n}\n\nexport class ListQuestion extends Question {\n /**\n * @type {string}\n * @protected\n */\n _questionTemplate = DefaultListConst.Template\n /** @type {ListElements} */\n _listElements\n listRenderId = DefaultListConst.Input\n listRenderName = DefaultListConst.RenderName\n\n /**\n * @type {Map<string, ListElement>}\n * @protected\n */\n _list\n\n /**\n * @param {ListElements} listElements\n * @param {QuestionRenderer} questionRenderer\n */\n constructor(listElements, questionRenderer) {\n super(listElements, questionRenderer)\n\n const items = /** @type {ListElement[]} */ (listElements.values.items)\n this._list = this.createListFromElements(items)\n this._listElements = listElements\n }\n\n /**\n * @returns {{\n * formGroup?: {afterInputs: {html: string}};\n * hint: DefaultComponent;\n * name: string;\n * fieldset?: GovukFieldset;\n * id: string;\n * items: ListItemReadonly[]\n * }}\n */\n get renderInput() {\n const afterInputs =\n /** @type {{ formGroup?: { afterInputs: { html: string } } }} */ (\n this.list.length\n ? {}\n : {\n formGroup: {\n afterInputs: {\n html: this._listElements.afterInputsHTML\n }\n }\n }\n )\n\n return {\n id: this.listRenderId,\n name: this.listRenderName,\n fieldset: this.fieldSet,\n hint: this.hint,\n items: this.list,\n ...afterInputs\n }\n }\n\n /**\n *\n * @param {ListElement} listElement\n */\n push(listElement) {\n this._list.set(listElement.id, listElement)\n this.render()\n }\n\n /**\n * @param {string} key\n */\n delete(key) {\n this._list.delete(key)\n this.render()\n }\n\n /**\n * @param {ListElement[]} listElements\n * @returns {Map<string, ListElement>}\n */\n createListFromElements(listElements) {\n this._list = listsElementToMap(listElements)\n return this._list\n }\n\n /**\n * @returns {ListItemReadonly[]}\n */\n get list() {\n const iterator = /** @type {MapIterator<ListElement>} */ (\n this._list.values()\n )\n return Array.from(iterator).map((listItem) => {\n const hintText =\n this._highlight === `${listItem.id}-hint` && !listItem.hint?.text.length\n ? 'Hint text'\n : (listItem.hint?.text ?? '')\n\n const hint = {\n hint: hintText\n ? {\n text: hintText,\n classes: this.getHighlight(listItem.id + '-hint')\n }\n : undefined\n }\n\n const text = listItem.text.length ? listItem.text : 'Item text'\n\n return {\n ...listItem,\n text,\n ...hint,\n label: {\n text: listItem.text,\n classes: this.getHighlight(listItem.id + '-label')\n }\n }\n })\n }\n\n /**\n *\n * @param {string | undefined} id\n * @param {string} text\n */\n updateText(id, text) {\n if (!id) {\n return\n }\n\n const listItem = this._list.get(id)\n if (listItem) {\n listItem.text = text\n this.render()\n }\n }\n\n /**\n *\n * @param {string | undefined} id\n * @param {string} hint\n */\n updateHint(id, hint) {\n if (!id) {\n return\n }\n\n const listItem = this._list.get(id)\n if (listItem) {\n listItem.hint = {\n ...listItem.hint,\n text: hint\n }\n this.render()\n }\n }\n\n /**\n * @param {string | undefined} id\n * @param {string} value\n */\n updateValue(id, value) {\n if (!id) {\n return\n }\n\n const listItem = this._list.get(id)\n if (listItem) {\n listItem.value = value\n this.render()\n }\n }\n}\n\n/**\n * @import { ListElement, ListItemReadonly } from '~/src/form/form-editor/types.js'\n * @import { ListElements, QuestionRenderer, DefaultComponent, GovukFieldset } from '~/src/form/form-editor/preview/types.js'\n */\n"],"mappings":"AAAA,SAASA,QAAQ;AAEjB,MAAMC,gBAAgB,GAAG;EACvBC,aAAa,EAAE,WAAW;EAC1BC,aAAa,EAAE,WAAW;EAC1BC,QAAQ,EAAEJ,QAAQ,CAACK,IAAI,GAAG,YAAY;EACtCC,KAAK,EAAE,WAAW;EAClBC,UAAU,EAAE;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,WAAW,EAAE;EAC1C,OAAO,CAACA,WAAW,CAACC,EAAE,EAAED,WAAW,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,iBAAiBA,CAACC,YAAY,EAAE;EAC9C,MAAMC,OAAO,GAAGD,YAAY,GAAGA,YAAY,CAACE,GAAG,CAACN,cAAc,CAAC,GAAG,EAAE;EACpE,OAAO,IAAIO,GAAG,CAACF,OAAO,CAAC;AACzB;AAEA,OAAO,MAAMG,YAAY,SAAShB,QAAQ,CAAC;EACzC;AACF;AACA;AACA;EACEiB,iBAAiB,GAAGhB,gBAAgB,CAACG,QAAQ;EAC7C;EACAc,aAAa;EACbC,YAAY,GAAGlB,gBAAgB,CAACK,KAAK;EACrCc,cAAc,GAAGnB,gBAAgB,CAACM,UAAU;;EAE5C;AACF;AACA;AACA;EACEc,KAAK;;EAEL;AACF;AACA;AACA;EACEC,WAAWA,CAACV,YAAY,EAAEW,gBAAgB,EAAE;IAC1C,KAAK,CAACX,YAAY,EAAEW,gBAAgB,CAAC;IAErC,MAAMC,KAAK,GAAG,4BAA8BZ,YAAY,CAACa,MAAM,CAACD,KAAM;IACtE,IAAI,CAACH,KAAK,GAAG,IAAI,CAACK,sBAAsB,CAACF,KAAK,CAAC;IAC/C,IAAI,CAACN,aAAa,GAAGN,YAAY;EACnC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAIe,WAAWA,CAAA,EAAG;IAChB,MAAMC,WAAW,GACf;IACE,IAAI,CAACC,IAAI,CAACC,MAAM,GACZ,CAAC,CAAC,GACF;MACEC,SAAS,EAAE;QACTH,WAAW,EAAE;UACXI,IAAI,EAAE,IAAI,CAACd,aAAa,CAACe;QAC3B;MACF;IACF,CACL;IAEH,OAAO;MACLvB,EAAE,EAAE,IAAI,CAACS,YAAY;MACrBe,IAAI,EAAE,IAAI,CAACd,cAAc;MACzBe,QAAQ,EAAE,IAAI,CAACC,QAAQ;MACvBC,IAAI,EAAE,IAAI,CAACA,IAAI;MACfb,KAAK,EAAE,IAAI,CAACK,IAAI;MAChB,GAAGD;IACL,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACEU,IAAIA,CAAC7B,WAAW,EAAE;IAChB,IAAI,CAACY,KAAK,CAACkB,GAAG,CAAC9B,WAAW,CAACC,EAAE,EAAED,WAAW,CAAC;IAC3C,IAAI,CAAC+B,MAAM,CAAC,CAAC;EACf;;EAEA;AACF;AACA;EACEC,MAAMA,CAACC,GAAG,EAAE;IACV,IAAI,CAACrB,KAAK,CAACoB,MAAM,CAACC,GAAG,CAAC;IACtB,IAAI,CAACF,MAAM,CAAC,CAAC;EACf;;EAEA;AACF;AACA;AACA;EACEd,sBAAsBA,CAACd,YAAY,EAAE;IACnC,IAAI,CAACS,KAAK,GAAGV,iBAAiB,CAACC,YAAY,CAAC;IAC5C,OAAO,IAAI,CAACS,KAAK;EACnB;;EAEA;AACF;AACA;EACE,IAAIQ,IAAIA,CAAA,EAAG;IACT,MAAMc,QAAQ,GAAG;IACf,IAAI,CAACtB,KAAK,CAACI,MAAM,CAAC,CACnB;IACD,OAAOmB,KAAK,CAACC,IAAI,CAACF,QAAQ,CAAC,CAAC7B,GAAG,CAAEgC,QAAQ,IAAK;MAC5C,MAAMC,QAAQ,GACZ,IAAI,CAACC,UAAU,KAAK,GAAGF,QAAQ,CAACpC,EAAE,OAAO,IAAI,CAACoC,QAAQ,CAACT,IAAI,EAAEY,IAAI,CAACnB,MAAM,GACpE,WAAW,GACVgB,QAAQ,CAACT,IAAI,EAAEY,IAAI,IAAI,EAAG;MAEjC,MAAMZ,IAAI,GAAG;QACXA,IAAI,EAAEU,QAAQ,GACV;UACEE,IAAI,EAAEF,QAAQ;UACdG,OAAO,EAAE,IAAI,CAACC,YAAY,CAACL,QAAQ,CAACpC,EAAE,GAAG,OAAO;QAClD,CAAC,GACD0C;MACN,CAAC;MAED,MAAMH,IAAI,GAAGH,QAAQ,CAACG,IAAI,CAACnB,MAAM,GAAGgB,QAAQ,CAACG,IAAI,GAAG,WAAW;MAE/D,OAAO;QACL,GAAGH,QAAQ;QACXG,IAAI;QACJ,GAAGZ,IAAI;QACPgB,KAAK,EAAE;UACLJ,IAAI,EAAEH,QAAQ,CAACG,IAAI;UACnBC,OAAO,EAAE,IAAI,CAACC,YAAY,CAACL,QAAQ,CAACpC,EAAE,GAAG,QAAQ;QACnD;MACF,CAAC;IACH,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;EACE4C,UAAUA,CAAC5C,EAAE,EAAEuC,IAAI,EAAE;IACnB,IAAI,CAACvC,EAAE,EAAE;MACP;IACF;IAEA,MAAMoC,QAAQ,GAAG,IAAI,CAACzB,KAAK,CAACkC,GAAG,CAAC7C,EAAE,CAAC;IACnC,IAAIoC,QAAQ,EAAE;MACZA,QAAQ,CAACG,IAAI,GAAGA,IAAI;MACpB,IAAI,CAACT,MAAM,CAAC,CAAC;IACf;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEgB,UAAUA,CAAC9C,EAAE,EAAE2B,IAAI,EAAE;IACnB,IAAI,CAAC3B,EAAE,EAAE;MACP;IACF;IAEA,MAAMoC,QAAQ,GAAG,IAAI,CAACzB,KAAK,CAACkC,GAAG,CAAC7C,EAAE,CAAC;IACnC,IAAIoC,QAAQ,EAAE;MACZA,QAAQ,CAACT,IAAI,GAAG;QACd,GAAGS,QAAQ,CAACT,IAAI;QAChBY,IAAI,EAAEZ;MACR,CAAC;MACD,IAAI,CAACG,MAAM,CAAC,CAAC;IACf;EACF;;EAEA;AACF;AACA;AACA;EACEiB,WAAWA,CAAC/C,EAAE,EAAEgD,KAAK,EAAE;IACrB,IAAI,CAAChD,EAAE,EAAE;MACP;IACF;IAEA,MAAMoC,QAAQ,GAAG,IAAI,CAACzB,KAAK,CAACkC,GAAG,CAAC7C,EAAE,CAAC;IACnC,IAAIoC,QAAQ,EAAE;MACZA,QAAQ,CAACY,KAAK,GAAGA,KAAK;MACtB,IAAI,CAAClB,MAAM,CAAC,CAAC;IACf;EACF;AACF;;AAEA;AACA;AACA;AACA","ignoreList":[]}
|
@@ -62,9 +62,8 @@ export class ListQuestion extends Question {
|
|
62
62
|
createListFromElements(listElements: ListElement[]): Map<string, ListElement>;
|
63
63
|
/**
|
64
64
|
* @returns {ListItemReadonly[]}
|
65
|
-
* @readonly
|
66
65
|
*/
|
67
|
-
|
66
|
+
get list(): ListItemReadonly[];
|
68
67
|
/**
|
69
68
|
*
|
70
69
|
* @param {string | undefined} id
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/list.js"],"names":[],"mappings":"AAUA;;;GAGG;AACH,4CAHW,WAAW,GACT,CAAC,MAAM,EAAE,WAAW,CAAC,CAIjC;AAED;;;;GAIG;AACH,gDAHY,WAAW,EAAE,GAAE,SAAS,GACvB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAKpC;AAED;IAiBE;;;OAGG;IACH,0BAHW,YAAY,oBACZ,gBAAgB,EAQ1B;IArBD,2BAA2B;IAC3B,eADW,YAAY,CACV;IACb,qBAAqC;IACrC,uBAA4C;IAE5C;;;OAGG;IACH,iBAHU,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAG7B;IAcL;;;;;;;;;OASG;IACH,mBATa;QACT,SAAS,CAAC,EAAE;YAAC,WAAW,EAAE;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAC,CAAA;SAAC,CAAC;QAC1C,IAAI,EAAE,gBAAgB,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,gBAAgB,EAAE,CAAA;KACzB,CAwBH;IAED;;;OAGG;IACH,kBAFW,WAAW,QAKrB;IAED;;OAEG;IACH,YAFW,MAAM,QAKhB;IAED;;;OAGG;IACH,qCAHW,WAAW,EAAE,GACX,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAKpC;IAED
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/list.js"],"names":[],"mappings":"AAUA;;;GAGG;AACH,4CAHW,WAAW,GACT,CAAC,MAAM,EAAE,WAAW,CAAC,CAIjC;AAED;;;;GAIG;AACH,gDAHY,WAAW,EAAE,GAAE,SAAS,GACvB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAKpC;AAED;IAiBE;;;OAGG;IACH,0BAHW,YAAY,oBACZ,gBAAgB,EAQ1B;IArBD,2BAA2B;IAC3B,eADW,YAAY,CACV;IACb,qBAAqC;IACrC,uBAA4C;IAE5C;;;OAGG;IACH,iBAHU,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAG7B;IAcL;;;;;;;;;OASG;IACH,mBATa;QACT,SAAS,CAAC,EAAE;YAAC,WAAW,EAAE;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAC,CAAA;SAAC,CAAC;QAC1C,IAAI,EAAE,gBAAgB,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,gBAAgB,EAAE,CAAA;KACzB,CAwBH;IAED;;;OAGG;IACH,kBAFW,WAAW,QAKrB;IAED;;OAEG;IACH,YAFW,MAAM,QAKhB;IAED;;;OAGG;IACH,qCAHW,WAAW,EAAE,GACX,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAKpC;IAED;;OAEG;IACH,YAFa,gBAAgB,EAAE,CAiC9B;IAED;;;;OAIG;IACH,eAHW,MAAM,GAAG,SAAS,QAClB,MAAM,QAYhB;IAED;;;;OAIG;IACH,eAHW,MAAM,GAAG,SAAS,QAClB,MAAM,QAehB;IAED;;;OAGG;IACH,gBAHW,MAAM,GAAG,SAAS,SAClB,MAAM,QAYhB;CACF;iCAGiD,iCAAiC;yBAhN1D,4CAA4C;kCAiNe,yCAAyC;sCAAzC,yCAAyC;mCAAzC,yCAAyC;sCAD3E,iCAAiC;sCACC,yCAAyC"}
|
package/package.json
CHANGED
@@ -117,7 +117,6 @@ export class ListQuestion extends Question {
|
|
117
117
|
|
118
118
|
/**
|
119
119
|
* @returns {ListItemReadonly[]}
|
120
|
-
* @readonly
|
121
120
|
*/
|
122
121
|
get list() {
|
123
122
|
const iterator = /** @type {MapIterator<ListElement>} */ (
|
@@ -208,5 +207,5 @@ export class ListQuestion extends Question {
|
|
208
207
|
|
209
208
|
/**
|
210
209
|
* @import { ListElement, ListItemReadonly } from '~/src/form/form-editor/types.js'
|
211
|
-
* @import {
|
210
|
+
* @import { ListElements, QuestionRenderer, DefaultComponent, GovukFieldset } from '~/src/form/form-editor/preview/types.js'
|
212
211
|
*/
|