@beinformed/ui 1.17.2 → 1.17.3

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/CHANGELOG.md CHANGED
@@ -2,12 +2,17 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
- ### [1.17.2](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.17.1...v1.17.2) (2022-04-07)
5
+ ### [1.17.3](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.17.2...v1.17.3) (2022-04-13)
6
+
7
+ ### Bug Fixes
6
8
 
9
+ - **flowtype:** set correct return type for validation hook ([19d5f80](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/19d5f800be6fd0ca64944b6b64496636b8556075))
10
+
11
+ ### [1.17.2](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.17.1...v1.17.2) (2022-04-07)
7
12
 
8
13
  ### Bug Fixes
9
14
 
10
- * **validate:** Added useAttributeValidate to validate the attribute onBlur ([#17](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/issues/17)) ([426b592](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/426b592015cf07d2c35d1708a54b7d68b6ab9cec))
15
+ - **validate:** Added useAttributeValidate to validate the attribute onBlur ([#17](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/issues/17)) ([426b592](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/426b592015cf07d2c35d1708a54b7d68b6ab9cec))
11
16
 
12
17
  ### [1.17.1](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.17.0...v1.17.1) (2022-03-30)
13
18
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useForm.js"],"names":["useDispatch","Href","getSetting","HTTP_METHODS","loadModularUI","removeModelByKey","useModularUI","addRepeatableAttributeSet","cancelForm","cancelRepeatableAttributeSet","previousObject","removeRepeatableAttributeSet","showFormNotification","updateFormAttribute","validateFormAttribute","FormModel","useForm","href","formHref","addParameter","form","method","POST","targetModel","removeOnUnmount","model","useFormNavigation","dispatch","previous","cancel","submit","connectKey","selfhref","data","formdata","updateModel","remove","showFormNotificationAction","useAttributeUpdate","object","attribute","value","options","useAttributeValidate","useAttributeSet","save"],"mappings":"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","sourcesContent":["// @flow\nimport { useDispatch } from \"react-redux\";\n\nimport Href from \"../models/href/Href\";\n\nimport { getSetting, HTTP_METHODS } from \"../constants\";\n\nimport { loadModularUI, removeModelByKey } from \"../redux/_modularui\";\nimport { useModularUI } from \"./useModularUI\";\n\nimport {\n addRepeatableAttributeSet,\n cancelForm,\n cancelRepeatableAttributeSet,\n previousObject,\n removeRepeatableAttributeSet,\n showFormNotification,\n updateFormAttribute,\n validateFormAttribute,\n} from \"../redux/actions\";\n\nimport FormModel from \"../models/form/FormModel\";\n\nimport type { FormObjectModel, AttributeType } from \"../models\";\nimport type { UpdateFormOptions } from \"../redux/types\";\nimport type {\n RemoveModelByKeyAction,\n UpdateModelAction,\n} from \"../redux/_modularui\";\n\ntype FormNavigationHook = {\n previous: (form: FormModel) => UpdateModelAction,\n cancel: (form: FormModel) => void,\n submit: (form: FormModel) => void,\n showFormNotification: (form: FormModel) => void,\n remove: (form: FormModel) => RemoveModelByKeyAction,\n};\n\ntype AttributeSetHook = {\n save: () => UpdateModelAction,\n cancel: (object: FormObjectModel) => UpdateModelAction,\n remove: (object: FormObjectModel) => UpdateModelAction,\n};\n\ntype AttributeUpdateHook = (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions\n) => void;\n\n/**\n * Load a form by href\n */\nexport const useForm = (href: string | Href): ?FormModel => {\n const formHref = new Href(href);\n\n if (!getSetting(\"ALWAYS_COMMIT_FORM\")) {\n formHref.addParameter(\"commit\", \"false\");\n }\n\n const form = useModularUI(\"form\", formHref, {\n method: HTTP_METHODS.POST,\n targetModel: FormModel,\n removeOnUnmount: true,\n });\n\n if (form?.model) {\n return form.model;\n }\n};\n\n/**\n * Form navigation methods\n */\nexport const useFormNavigation = (): FormNavigationHook => {\n const dispatch = useDispatch();\n\n const previous = (form: FormModel) => dispatch(previousObject(form));\n\n const cancel = (form: FormModel) => dispatch(cancelForm(form));\n\n const submit = (form: FormModel) =>\n dispatch(\n loadModularUI(form.connectKey, form.selfhref, {\n method: HTTP_METHODS.POST,\n data: form.formdata,\n updateModel: form,\n targetModel: FormModel,\n })\n );\n\n const remove = (form: FormModel) =>\n dispatch(removeModelByKey(form.connectKey));\n\n const showFormNotificationAction = (form: FormModel) =>\n dispatch(showFormNotification(form));\n\n return {\n previous,\n cancel,\n submit,\n remove,\n showFormNotification: showFormNotificationAction,\n };\n};\n\n/**\n * Update attributes of a form\n */\nexport const useAttributeUpdate = (\n form: FormModel,\n object: FormObjectModel\n): AttributeUpdateHook => {\n const dispatch = useDispatch();\n\n return (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions\n ) => dispatch(updateFormAttribute(form, object, attribute, value, options));\n};\n\n/**\n * Validate attributes of a form\n */\nexport const useAttributeValidate = (form: FormModel): AttributeUpdateHook => {\n const dispatch = useDispatch();\n\n return () => dispatch(validateFormAttribute(form));\n};\n\n/**\n * Attributeset actions\n */\nexport const useAttributeSet = (form: FormModel): AttributeSetHook => {\n const dispatch = useDispatch();\n\n return {\n save: () => dispatch(addRepeatableAttributeSet(form)),\n cancel: (object: FormObjectModel) =>\n dispatch(cancelRepeatableAttributeSet(form, object)),\n remove: (object: FormObjectModel) =>\n dispatch(removeRepeatableAttributeSet(form, object)),\n };\n};\n"],"file":"useForm.js"}
1
+ {"version":3,"sources":["../../src/hooks/useForm.js"],"names":["useDispatch","Href","getSetting","HTTP_METHODS","loadModularUI","removeModelByKey","useModularUI","addRepeatableAttributeSet","cancelForm","cancelRepeatableAttributeSet","previousObject","removeRepeatableAttributeSet","showFormNotification","updateFormAttribute","validateFormAttribute","FormModel","useForm","href","formHref","addParameter","form","method","POST","targetModel","removeOnUnmount","model","useFormNavigation","dispatch","previous","cancel","submit","connectKey","selfhref","data","formdata","updateModel","remove","showFormNotificationAction","useAttributeUpdate","object","attribute","value","options","useAttributeValidate","useAttributeSet","save"],"mappings":"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","sourcesContent":["// @flow\nimport { useDispatch } from \"react-redux\";\n\nimport Href from \"../models/href/Href\";\n\nimport { getSetting, HTTP_METHODS } from \"../constants\";\n\nimport { loadModularUI, removeModelByKey } from \"../redux/_modularui\";\nimport { useModularUI } from \"./useModularUI\";\n\nimport {\n addRepeatableAttributeSet,\n cancelForm,\n cancelRepeatableAttributeSet,\n previousObject,\n removeRepeatableAttributeSet,\n showFormNotification,\n updateFormAttribute,\n validateFormAttribute,\n} from \"../redux/actions\";\n\nimport FormModel from \"../models/form/FormModel\";\n\nimport type { FormObjectModel, AttributeType } from \"../models\";\nimport type { UpdateFormOptions } from \"../redux/types\";\nimport type {\n RemoveModelByKeyAction,\n UpdateModelAction,\n} from \"../redux/_modularui\";\n\ntype FormNavigationHook = {\n previous: (form: FormModel) => UpdateModelAction,\n cancel: (form: FormModel) => void,\n submit: (form: FormModel) => void,\n showFormNotification: (form: FormModel) => void,\n remove: (form: FormModel) => RemoveModelByKeyAction,\n};\n\ntype AttributeSetHook = {\n save: () => UpdateModelAction,\n cancel: (object: FormObjectModel) => UpdateModelAction,\n remove: (object: FormObjectModel) => UpdateModelAction,\n};\n\ntype AttributeUpdateHook = (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions\n) => void;\n\ntype AttributeValidateHook = () => void;\n\n/**\n * Load a form by href\n */\nexport const useForm = (href: string | Href): ?FormModel => {\n const formHref = new Href(href);\n\n if (!getSetting(\"ALWAYS_COMMIT_FORM\")) {\n formHref.addParameter(\"commit\", \"false\");\n }\n\n const form = useModularUI(\"form\", formHref, {\n method: HTTP_METHODS.POST,\n targetModel: FormModel,\n removeOnUnmount: true,\n });\n\n if (form?.model) {\n return form.model;\n }\n};\n\n/**\n * Form navigation methods\n */\nexport const useFormNavigation = (): FormNavigationHook => {\n const dispatch = useDispatch();\n\n const previous = (form: FormModel) => dispatch(previousObject(form));\n\n const cancel = (form: FormModel) => dispatch(cancelForm(form));\n\n const submit = (form: FormModel) =>\n dispatch(\n loadModularUI(form.connectKey, form.selfhref, {\n method: HTTP_METHODS.POST,\n data: form.formdata,\n updateModel: form,\n targetModel: FormModel,\n })\n );\n\n const remove = (form: FormModel) =>\n dispatch(removeModelByKey(form.connectKey));\n\n const showFormNotificationAction = (form: FormModel) =>\n dispatch(showFormNotification(form));\n\n return {\n previous,\n cancel,\n submit,\n remove,\n showFormNotification: showFormNotificationAction,\n };\n};\n\n/**\n * Update attributes of a form\n */\nexport const useAttributeUpdate = (\n form: FormModel,\n object: FormObjectModel\n): AttributeUpdateHook => {\n const dispatch = useDispatch();\n\n return (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions\n ) => dispatch(updateFormAttribute(form, object, attribute, value, options));\n};\n\n/**\n * Validate attributes of a form\n */\nexport const useAttributeValidate = (\n form: FormModel\n): AttributeValidateHook => {\n const dispatch = useDispatch();\n\n return () => dispatch(validateFormAttribute(form));\n};\n\n/**\n * Attributeset actions\n */\nexport const useAttributeSet = (form: FormModel): AttributeSetHook => {\n const dispatch = useDispatch();\n\n return {\n save: () => dispatch(addRepeatableAttributeSet(form)),\n cancel: (object: FormObjectModel) =>\n dispatch(cancelRepeatableAttributeSet(form, object)),\n remove: (object: FormObjectModel) =>\n dispatch(removeRepeatableAttributeSet(form, object)),\n };\n};\n"],"file":"useForm.js"}
@@ -31,6 +31,8 @@ import SectionModel from "../content/SectionModel";
31
31
  import LayoutHintCollection from "../layouthint/LayoutHintCollection";
32
32
  import { isPlainObject } from "../../utils";
33
33
 
34
+ /**
35
+ */
34
36
  var AttributeContent = /*#__PURE__*/function () {
35
37
  function AttributeContent(content) {
36
38
  _classCallCheck(this, AttributeContent);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/AttributeContent.js"],"names":["retrieveText","hasAllContentInData","SectionModel","LayoutHintCollection","isPlainObject","AttributeContent","content","_content","headerLabel","headerDescription","label","header","description","message","elements","element","propertyElement","layouthint","properties","textFragmentElement","textfragments","textfragment","text","contentElement","sections","section","elementName","collectionName","getContentElements","labels","getContentElementCollections","getContentElementCollectionByLabels","types","type","referredSections","push","getReferredSections"],"mappings":"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","sourcesContent":["// @flow\nimport { retrieveText } from \"../../utils/helpers/text\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\nimport SectionModel from \"../content/SectionModel\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\nimport { isPlainObject } from \"../../utils\";\n\nimport type {\n ContentData,\n ContentElementMapped,\n PropertyData,\n PropertyElementMapped,\n TextFragmentData,\n TextFragmentElementMapped,\n ContentAll,\n} from \"../types\";\nimport type SubSectionModel from \"../content/SubSectionModel\";\n\nclass AttributeContent {\n _content: ?ContentData;\n\n constructor(content: ?ContentData) {\n this._content = content;\n }\n\n /**\n */\n get fromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get header(): {\n label: ?string,\n description: ?string,\n } {\n let headerLabel = null;\n let headerDescription = null;\n\n const label = this._content?.header?.label;\n if (label) {\n headerLabel = label;\n }\n\n const description = this._content?.header?.description;\n if (description) {\n if (isPlainObject(description) && \"message\" in description) {\n headerDescription = description.message;\n } else if (typeof description === \"string\") {\n headerDescription = description;\n }\n }\n\n return { label: headerLabel, description: headerDescription };\n }\n\n /**\n */\n get elements(): ContentAll {\n if (this._content?.elements) {\n return this._content.elements?.map((element) => {\n if (element.propertyElement) {\n const { label, layouthint, properties } = element.propertyElement;\n\n return {\n propertyElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n properties,\n },\n };\n }\n\n if (element.textFragmentElement) {\n const { label, layouthint, textfragments } =\n element.textFragmentElement;\n return {\n textFragmentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n textfragments: textfragments.map((textfragment) => ({\n ...textfragment,\n text: retrieveText(textfragment.text),\n })),\n },\n };\n }\n\n if (element.contentElement) {\n const { label, layouthint, sections } = element.contentElement;\n return {\n contentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n sections: sections.map(\n (section) => new SectionModel(section, null)\n ),\n },\n };\n }\n\n // $FlowIssue\n return element;\n });\n }\n\n return [];\n }\n\n /**\n */\n get label(): ?string {\n return this._content?.label;\n }\n\n /**\n */\n getContentElements<T>(elementName: string): Array<T> {\n // $FlowIssue incompatible-return\n return this.elements.filter((element) => elementName in element);\n }\n\n /**\n */\n getContentElementCollections<T>(\n elementName: string,\n collectionName: string\n ): Array<T> {\n return this.getContentElements(elementName)\n .map((element) => element[elementName][collectionName])\n .flat();\n }\n\n /**\n */\n getContentElementCollectionByLabels<T, U>(\n elementName: string,\n collectionName: string,\n labels: Array<string>\n ): Array<U> {\n return (\n this.getContentElements<T>(elementName)\n // $FlowIssue incompatible-use\n .filter((element) => labels.includes(element[elementName].label))\n // $FlowIssue incompatible-use\n .map((element) => element[elementName][collectionName])\n .flat()\n );\n }\n\n /**\n */\n get properties(): Array<PropertyData> {\n return this.getContentElementCollections<PropertyData>(\n \"propertyElement\",\n \"properties\"\n );\n }\n\n /**\n * Get concept properties by property element label\n */\n getConceptPropertiesByLabels(labels: Array<string>): Array<PropertyData> {\n return this.getContentElementCollectionByLabels<\n PropertyElementMapped,\n PropertyData\n >(\"propertyElement\", \"properties\", labels);\n }\n\n /**\n */\n get textfragments(): Array<TextFragmentData> {\n return this.getContentElementCollections<TextFragmentData>(\n \"textFragmentElement\",\n \"textfragments\"\n );\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getTextFragmentsByLabels(labels: Array<string>): Array<TextFragmentData> {\n return this.getContentElementCollectionByLabels<\n TextFragmentElementMapped,\n TextFragmentData\n >(\"textFragmentElement\", \"textfragments\", labels);\n }\n\n /**\n */\n get sections(): Array<SectionModel> {\n return this.getContentElementCollections<SectionModel>(\n \"contentElement\",\n \"sections\"\n );\n }\n\n /**\n */\n getSectionsByType(types: Array<string>): Array<SectionModel> {\n return this.sections.filter((section) => types.includes(section.type));\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getSectionsByLabels(labels: Array<string>): Array<SectionModel> {\n return this.getContentElementCollectionByLabels<\n ContentElementMapped,\n SectionModel\n >(\"contentElement\", \"sections\", labels);\n }\n\n /**\n */\n getReferredSections(): Array<SectionModel | SubSectionModel> {\n const referredSections = [];\n\n for (const section of this.sections) {\n referredSections.push(...section.getReferredSections());\n }\n\n return referredSections;\n }\n}\n\nexport default AttributeContent;\n"],"file":"AttributeContent.js"}
1
+ {"version":3,"sources":["../../../src/models/attributes/AttributeContent.js"],"names":["retrieveText","hasAllContentInData","SectionModel","LayoutHintCollection","isPlainObject","AttributeContent","content","_content","headerLabel","headerDescription","label","header","description","message","elements","element","propertyElement","layouthint","properties","textFragmentElement","textfragments","textfragment","text","contentElement","sections","section","elementName","collectionName","getContentElements","labels","getContentElementCollections","getContentElementCollectionByLabels","types","type","referredSections","push","getReferredSections"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAASA,YAAT,QAA6B,0BAA7B;AACA,SAASC,mBAAT,QAAoC,0BAApC;AACA,OAAOC,YAAP,MAAyB,yBAAzB;AAEA,OAAOC,oBAAP,MAAiC,oCAAjC;AACA,SAASC,aAAT,QAA8B,aAA9B;;AAaA;AACA;IACMC,gB;AAGJ,4BAAYC,OAAZ,EAAmC;AAAA;;AAAA;;AACjC,SAAKC,QAAL,GAAgBD,OAAhB;AACD;AAED;AACF;;;;;SACE,eAAwB;AACtB,aAAOL,mBAAmB,EAA1B;AACD;AAED;AACF;;;;SACE,eAGE;AAAA;;AACA,UAAIO,WAAW,GAAG,IAAlB;AACA,UAAIC,iBAAiB,GAAG,IAAxB;AAEA,UAAMC,KAAK,qBAAG,KAAKH,QAAR,4EAAG,eAAeI,MAAlB,0DAAG,sBAAuBD,KAArC;;AACA,UAAIA,KAAJ,EAAW;AACTF,QAAAA,WAAW,GAAGE,KAAd;AACD;;AAED,UAAME,WAAW,sBAAG,KAAKL,QAAR,6EAAG,gBAAeI,MAAlB,0DAAG,sBAAuBC,WAA3C;;AACA,UAAIA,WAAJ,EAAiB;AACf,YAAIR,aAAa,CAACQ,WAAD,CAAb,IAA8B,aAAaA,WAA/C,EAA4D;AAC1DH,UAAAA,iBAAiB,GAAGG,WAAW,CAACC,OAAhC;AACD,SAFD,MAEO,IAAI,OAAOD,WAAP,KAAuB,QAA3B,EAAqC;AAC1CH,UAAAA,iBAAiB,GAAGG,WAApB;AACD;AACF;;AAED,aAAO;AAAEF,QAAAA,KAAK,EAAEF,WAAT;AAAsBI,QAAAA,WAAW,EAAEH;AAAnC,OAAP;AACD;AAED;AACF;;;;SACE,eAA2B;AAAA;;AACzB,6BAAI,KAAKF,QAAT,4CAAI,gBAAeO,QAAnB,EAA6B;AAAA;;AAC3B,wCAAO,KAAKP,QAAL,CAAcO,QAArB,0DAAO,wEAA4B,UAACC,OAAD,EAAa;AAC9C,cAAIA,OAAO,CAACC,eAAZ,EAA6B;AAC3B,wCAA0CD,OAAO,CAACC,eAAlD;AAAA,gBAAQN,KAAR,yBAAQA,KAAR;AAAA,gBAAeO,UAAf,yBAAeA,UAAf;AAAA,gBAA2BC,UAA3B,yBAA2BA,UAA3B;AAEA,mBAAO;AACLF,cAAAA,eAAe,EAAE;AACfN,gBAAAA,KAAK,EAALA,KADe;AAEfO,gBAAAA,UAAU,EAAE,IAAId,oBAAJ,CAAyBc,UAAzB,CAFG;AAGfC,gBAAAA,UAAU,EAAVA;AAHe;AADZ,aAAP;AAOD;;AAED,cAAIH,OAAO,CAACI,mBAAZ,EAAiC;AAC/B,wCACEJ,OAAO,CAACI,mBADV;AAAA,gBAAQT,MAAR,yBAAQA,KAAR;AAAA,gBAAeO,WAAf,yBAAeA,UAAf;AAAA,gBAA2BG,aAA3B,yBAA2BA,aAA3B;AAEA,mBAAO;AACLD,cAAAA,mBAAmB,EAAE;AACnBT,gBAAAA,KAAK,EAALA,MADmB;AAEnBO,gBAAAA,UAAU,EAAE,IAAId,oBAAJ,CAAyBc,WAAzB,CAFO;AAGnBG,gBAAAA,aAAa,EAAE,qBAAAA,aAAa,MAAb,CAAAA,aAAa,EAAK,UAACC,YAAD;AAAA,yDAC5BA,YAD4B;AAE/BC,oBAAAA,IAAI,EAAEtB,YAAY,CAACqB,YAAY,CAACC,IAAd;AAFa;AAAA,iBAAL;AAHT;AADhB,aAAP;AAUD;;AAED,cAAIP,OAAO,CAACQ,cAAZ,EAA4B;AAC1B,wCAAwCR,OAAO,CAACQ,cAAhD;AAAA,gBAAQb,OAAR,yBAAQA,KAAR;AAAA,gBAAeO,YAAf,yBAAeA,UAAf;AAAA,gBAA2BO,QAA3B,yBAA2BA,QAA3B;AACA,mBAAO;AACLD,cAAAA,cAAc,EAAE;AACdb,gBAAAA,KAAK,EAALA,OADc;AAEdO,gBAAAA,UAAU,EAAE,IAAId,oBAAJ,CAAyBc,YAAzB,CAFE;AAGdO,gBAAAA,QAAQ,EAAE,qBAAAA,QAAQ,MAAR,CAAAA,QAAQ,EAChB,UAACC,OAAD;AAAA,yBAAa,IAAIvB,YAAJ,CAAiBuB,OAAjB,EAA0B,IAA1B,CAAb;AAAA,iBADgB;AAHJ;AADX,aAAP;AASD,WAvC6C,CAyC9C;;;AACA,iBAAOV,OAAP;AACD,SA3CM,CAAP;AA4CD;;AAED,aAAO,EAAP;AACD;AAED;AACF;;;;SACE,eAAqB;AAAA;;AACnB,gCAAO,KAAKR,QAAZ,oDAAO,gBAAeG,KAAtB;AACD;AAED;AACF;;;;WACE,4BAAsBgB,WAAtB,EAAqD;AAAA;;AACnD;AACA,aAAO,wCAAKZ,QAAL,iBAAqB,UAACC,OAAD;AAAA,eAAaW,WAAW,IAAIX,OAA5B;AAAA,OAArB,CAAP;AACD;AAED;AACF;;;;WACE,sCACEW,WADF,EAEEC,cAFF,EAGY;AAAA;;AACV,aAAO,wEAAKC,kBAAL,CAAwBF,WAAxB,mBACA,UAACX,OAAD;AAAA,eAAaA,OAAO,CAACW,WAAD,CAAP,CAAqBC,cAArB,CAAb;AAAA,OADA,kBAAP;AAGD;AAED;AACF;;;;WACE,6CACED,WADF,EAEEC,cAFF,EAGEE,MAHF,EAIY;AAAA;;AACV,aACE,4GAAKD,kBAAL,CAA2BF,WAA3B,EACE;AADF,wBAEU,UAACX,OAAD;AAAA,eAAa,0BAAAc,MAAM,MAAN,CAAAA,MAAM,EAAUd,OAAO,CAACW,WAAD,CAAP,CAAqBhB,KAA/B,CAAnB;AAAA,OAFV,EAGE;AAHF,wBAIO,UAACK,OAAD;AAAA,eAAaA,OAAO,CAACW,WAAD,CAAP,CAAqBC,cAArB,CAAb;AAAA,OAJP,kBADF;AAQD;AAED;AACF;;;;SACE,eAAsC;AACpC,aAAO,KAAKG,4BAAL,CACL,iBADK,EAEL,YAFK,CAAP;AAID;AAED;AACF;AACA;;;;WACE,sCAA6BD,MAA7B,EAAyE;AACvE,aAAO,KAAKE,mCAAL,CAGL,iBAHK,EAGc,YAHd,EAG4BF,MAH5B,CAAP;AAID;AAED;AACF;;;;SACE,eAA6C;AAC3C,aAAO,KAAKC,4BAAL,CACL,qBADK,EAEL,eAFK,CAAP;AAID;AAED;AACF;AACA;;;;WACE,kCAAyBD,MAAzB,EAAyE;AACvE,aAAO,KAAKE,mCAAL,CAGL,qBAHK,EAGkB,eAHlB,EAGmCF,MAHnC,CAAP;AAID;AAED;AACF;;;;SACE,eAAoC;AAClC,aAAO,KAAKC,4BAAL,CACL,gBADK,EAEL,UAFK,CAAP;AAID;AAED;AACF;;;;WACE,2BAAkBE,KAAlB,EAA6D;AAAA;;AAC3D,aAAO,yCAAKR,QAAL,kBAAqB,UAACC,OAAD;AAAA,eAAa,0BAAAO,KAAK,MAAL,CAAAA,KAAK,EAAUP,OAAO,CAACQ,IAAlB,CAAlB;AAAA,OAArB,CAAP;AACD;AAED;AACF;AACA;;;;WACE,6BAAoBJ,MAApB,EAAgE;AAC9D,aAAO,KAAKE,mCAAL,CAGL,gBAHK,EAGa,UAHb,EAGyBF,MAHzB,CAAP;AAID;AAED;AACF;;;;WACE,+BAA6D;AAC3D,UAAMK,gBAAgB,GAAG,EAAzB;;AAD2D,iDAGrC,KAAKV,QAHgC;AAAA;;AAAA;AAG3D,4DAAqC;AAAA,cAA1BC,OAA0B;AACnCS,UAAAA,gBAAgB,CAACC,IAAjB,OAAAD,gBAAgB,qBAAST,OAAO,CAACW,mBAAR,EAAT,EAAhB;AACD;AAL0D;AAAA;AAAA;AAAA;AAAA;;AAO3D,aAAOF,gBAAP;AACD;;;;;;AAGH,eAAe7B,gBAAf","sourcesContent":["// @flow\nimport { retrieveText } from \"../../utils/helpers/text\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\nimport SectionModel from \"../content/SectionModel\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\nimport { isPlainObject } from \"../../utils\";\n\nimport type {\n ContentData,\n ContentElementMapped,\n PropertyData,\n PropertyElementMapped,\n TextFragmentData,\n TextFragmentElementMapped,\n ContentAll,\n} from \"../types\";\nimport type SubSectionModel from \"../content/SubSectionModel\";\n\n/**\n */\nclass AttributeContent {\n _content: ?ContentData;\n\n constructor(content: ?ContentData) {\n this._content = content;\n }\n\n /**\n */\n get fromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get header(): {\n label: ?string,\n description: ?string,\n } {\n let headerLabel = null;\n let headerDescription = null;\n\n const label = this._content?.header?.label;\n if (label) {\n headerLabel = label;\n }\n\n const description = this._content?.header?.description;\n if (description) {\n if (isPlainObject(description) && \"message\" in description) {\n headerDescription = description.message;\n } else if (typeof description === \"string\") {\n headerDescription = description;\n }\n }\n\n return { label: headerLabel, description: headerDescription };\n }\n\n /**\n */\n get elements(): ContentAll {\n if (this._content?.elements) {\n return this._content.elements?.map((element) => {\n if (element.propertyElement) {\n const { label, layouthint, properties } = element.propertyElement;\n\n return {\n propertyElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n properties,\n },\n };\n }\n\n if (element.textFragmentElement) {\n const { label, layouthint, textfragments } =\n element.textFragmentElement;\n return {\n textFragmentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n textfragments: textfragments.map((textfragment) => ({\n ...textfragment,\n text: retrieveText(textfragment.text),\n })),\n },\n };\n }\n\n if (element.contentElement) {\n const { label, layouthint, sections } = element.contentElement;\n return {\n contentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n sections: sections.map(\n (section) => new SectionModel(section, null)\n ),\n },\n };\n }\n\n // $FlowIssue\n return element;\n });\n }\n\n return [];\n }\n\n /**\n */\n get label(): ?string {\n return this._content?.label;\n }\n\n /**\n */\n getContentElements<T>(elementName: string): Array<T> {\n // $FlowIssue incompatible-return\n return this.elements.filter((element) => elementName in element);\n }\n\n /**\n */\n getContentElementCollections<T>(\n elementName: string,\n collectionName: string\n ): Array<T> {\n return this.getContentElements(elementName)\n .map((element) => element[elementName][collectionName])\n .flat();\n }\n\n /**\n */\n getContentElementCollectionByLabels<T, U>(\n elementName: string,\n collectionName: string,\n labels: Array<string>\n ): Array<U> {\n return (\n this.getContentElements<T>(elementName)\n // $FlowIssue incompatible-use\n .filter((element) => labels.includes(element[elementName].label))\n // $FlowIssue incompatible-use\n .map((element) => element[elementName][collectionName])\n .flat()\n );\n }\n\n /**\n */\n get properties(): Array<PropertyData> {\n return this.getContentElementCollections<PropertyData>(\n \"propertyElement\",\n \"properties\"\n );\n }\n\n /**\n * Get concept properties by property element label\n */\n getConceptPropertiesByLabels(labels: Array<string>): Array<PropertyData> {\n return this.getContentElementCollectionByLabels<\n PropertyElementMapped,\n PropertyData\n >(\"propertyElement\", \"properties\", labels);\n }\n\n /**\n */\n get textfragments(): Array<TextFragmentData> {\n return this.getContentElementCollections<TextFragmentData>(\n \"textFragmentElement\",\n \"textfragments\"\n );\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getTextFragmentsByLabels(labels: Array<string>): Array<TextFragmentData> {\n return this.getContentElementCollectionByLabels<\n TextFragmentElementMapped,\n TextFragmentData\n >(\"textFragmentElement\", \"textfragments\", labels);\n }\n\n /**\n */\n get sections(): Array<SectionModel> {\n return this.getContentElementCollections<SectionModel>(\n \"contentElement\",\n \"sections\"\n );\n }\n\n /**\n */\n getSectionsByType(types: Array<string>): Array<SectionModel> {\n return this.sections.filter((section) => types.includes(section.type));\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getSectionsByLabels(labels: Array<string>): Array<SectionModel> {\n return this.getContentElementCollectionByLabels<\n ContentElementMapped,\n SectionModel\n >(\"contentElement\", \"sections\", labels);\n }\n\n /**\n */\n getReferredSections(): Array<SectionModel | SubSectionModel> {\n const referredSections = [];\n\n for (const section of this.sections) {\n referredSections.push(...section.getReferredSections());\n }\n\n return referredSections;\n }\n}\n\nexport default AttributeContent;\n"],"file":"AttributeContent.js"}
@@ -31,6 +31,8 @@ import SubSectionModel from "./SubSectionModel";
31
31
  import { createHashFromHref } from "../../utils/helpers/createHash";
32
32
  import LinkModel from "../links/LinkModel";
33
33
  import { retrieveText } from "../../utils";
34
+ /**
35
+ */
34
36
 
35
37
  var SectionModel = /*#__PURE__*/function (_BaseModel) {
36
38
  _inherits(SectionModel, _BaseModel);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/content/SectionModel.js"],"names":["BaseModel","ContentLinkModel","SubSectionModel","createHashFromHref","LinkModel","retrieveText","SectionModel","data","entryDate","_entryDate","referred","_selflink","_links","self","selflink","href","type","sourceLabel","id","_id","getData","number","body","childSections","childSection","section","label","_childSections","sections","subSections","subSection","selfhref","push","referredChilds","getReferredSections"],"mappings":"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","sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport SubSectionModel from \"./SubSectionModel\";\n\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\nimport LinkModel from \"../links/LinkModel\";\n\nimport type Href from \"../href/Href\";\nimport { retrieveText } from \"../../utils\";\n\nclass SectionModel extends BaseModel {\n _entryDate: ISO_DATE | null;\n _selflink: ?LinkModel;\n _childSections: Array<SectionModel>;\n\n constructor(data: Object, entryDate: ISO_DATE | null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n get referred(): boolean {\n return this.data.referred;\n }\n\n /**\n */\n get selflink(): LinkModel {\n if (!this._selflink) {\n this._selflink = new LinkModel(this.data._links?.self);\n }\n return this._selflink;\n }\n\n /**\n */\n get selfhref(): Href {\n return this.selflink.href;\n }\n\n /**\n */\n get entryDate(): ISO_DATE | null {\n return this._entryDate;\n }\n\n /**\n */\n get type(): string {\n return this.data.type;\n }\n\n /**\n */\n get sourceLabel(): string {\n return this.data.sourceLabel;\n }\n\n /**\n */\n get id(): string {\n return this.data.id || this.data._id;\n }\n\n /**\n */\n get key(): string {\n return this.id;\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.data.number ?? null;\n }\n\n /**\n * Get content body\n */\n get body(): ?string {\n return retrieveText(this.data.body);\n }\n\n /**\n * Retrieve child section links\n */\n get childSectionLinks(): Array<ContentLinkModel> {\n return this.data.childSections\n ? this.data.childSections.map(\n (childSection) =>\n new ContentLinkModel(\n {\n section: childSection.id || childSection._id,\n _id: childSection.id || childSection._id,\n label: childSection.label,\n sourceLabel: childSection.sourceLabel,\n _links: childSection._links,\n },\n this.entryDate\n )\n )\n : [];\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return new ContentLinkModel(\n {\n section: this.id,\n _id: this.id,\n label: this.data.label,\n sourceLabel: this.data.sourceLabel,\n _links: this.data._links,\n },\n this.entryDate\n );\n }\n\n /**\n * Get tree of child sections\n */\n get childSections(): Array<SectionModel> {\n if (!this._childSections && this.data.childSections) {\n this._childSections = this.data.childSections\n .filter((childSection) => \"body\" in childSection)\n .map((childSection) => new SectionModel(childSection, this.entryDate));\n }\n return this._childSections || [];\n }\n\n /**\n * set resolved child sections\n */\n set childSections(sections: Array<SectionModel>) {\n this._childSections = sections || [];\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.data.subSections\n ? this.data.subSections.map(\n (subSection) => new SubSectionModel(subSection)\n )\n : [];\n }\n\n /**\n */\n get referenceHash(): number {\n return createHashFromHref(this.selfhref);\n }\n\n /**\n */\n getReferredSections(): Array<SubSectionModel | SectionModel> {\n const sections = [];\n\n for (const subSection of this.subSections) {\n if (subSection.referred) {\n sections.push(subSection);\n }\n\n const referredChilds = subSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n for (const childSection of this.childSections) {\n if (childSection.referred) {\n sections.push(childSection);\n }\n\n const referredChilds = childSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n return sections;\n }\n}\n\nexport default SectionModel;\n"],"file":"SectionModel.js"}
1
+ {"version":3,"sources":["../../../src/models/content/SectionModel.js"],"names":["BaseModel","ContentLinkModel","SubSectionModel","createHashFromHref","LinkModel","retrieveText","SectionModel","data","entryDate","_entryDate","referred","_selflink","_links","self","selflink","href","type","sourceLabel","id","_id","getData","number","body","childSections","childSection","section","label","_childSections","sections","subSections","subSection","selfhref","push","referredChilds","getReferredSections"],"mappings":"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","sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport SubSectionModel from \"./SubSectionModel\";\n\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\nimport LinkModel from \"../links/LinkModel\";\n\nimport type Href from \"../href/Href\";\nimport { retrieveText } from \"../../utils\";\n\n/**\n */\nclass SectionModel extends BaseModel {\n _entryDate: ISO_DATE | null;\n _selflink: ?LinkModel;\n _childSections: Array<SectionModel>;\n\n constructor(data: Object, entryDate: ISO_DATE | null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n get referred(): boolean {\n return this.data.referred;\n }\n\n /**\n */\n get selflink(): LinkModel {\n if (!this._selflink) {\n this._selflink = new LinkModel(this.data._links?.self);\n }\n return this._selflink;\n }\n\n /**\n */\n get selfhref(): Href {\n return this.selflink.href;\n }\n\n /**\n */\n get entryDate(): ISO_DATE | null {\n return this._entryDate;\n }\n\n /**\n */\n get type(): string {\n return this.data.type;\n }\n\n /**\n */\n get sourceLabel(): string {\n return this.data.sourceLabel;\n }\n\n /**\n */\n get id(): string {\n return this.data.id || this.data._id;\n }\n\n /**\n */\n get key(): string {\n return this.id;\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.data.number ?? null;\n }\n\n /**\n * Get content body\n */\n get body(): ?string {\n return retrieveText(this.data.body);\n }\n\n /**\n * Retrieve child section links\n */\n get childSectionLinks(): Array<ContentLinkModel> {\n return this.data.childSections\n ? this.data.childSections.map(\n (childSection) =>\n new ContentLinkModel(\n {\n section: childSection.id || childSection._id,\n _id: childSection.id || childSection._id,\n label: childSection.label,\n sourceLabel: childSection.sourceLabel,\n _links: childSection._links,\n },\n this.entryDate\n )\n )\n : [];\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return new ContentLinkModel(\n {\n section: this.id,\n _id: this.id,\n label: this.data.label,\n sourceLabel: this.data.sourceLabel,\n _links: this.data._links,\n },\n this.entryDate\n );\n }\n\n /**\n * Get tree of child sections\n */\n get childSections(): Array<SectionModel> {\n if (!this._childSections && this.data.childSections) {\n this._childSections = this.data.childSections\n .filter((childSection) => \"body\" in childSection)\n .map((childSection) => new SectionModel(childSection, this.entryDate));\n }\n return this._childSections || [];\n }\n\n /**\n * set resolved child sections\n */\n set childSections(sections: Array<SectionModel>) {\n this._childSections = sections || [];\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.data.subSections\n ? this.data.subSections.map(\n (subSection) => new SubSectionModel(subSection)\n )\n : [];\n }\n\n /**\n */\n get referenceHash(): number {\n return createHashFromHref(this.selfhref);\n }\n\n /**\n */\n getReferredSections(): Array<SubSectionModel | SectionModel> {\n const sections = [];\n\n for (const subSection of this.subSections) {\n if (subSection.referred) {\n sections.push(subSection);\n }\n\n const referredChilds = subSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n for (const childSection of this.childSections) {\n if (childSection.referred) {\n sections.push(childSection);\n }\n\n const referredChilds = childSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n return sections;\n }\n}\n\nexport default SectionModel;\n"],"file":"SectionModel.js"}
@@ -48,6 +48,8 @@ type AttributeUpdateHook = (
48
48
  options: UpdateFormOptions
49
49
  ) => void;
50
50
 
51
+ type AttributeValidateHook = () => void;
52
+
51
53
  /**
52
54
  * Load a form by href
53
55
  */
@@ -123,7 +125,9 @@ export const useAttributeUpdate = (
123
125
  /**
124
126
  * Validate attributes of a form
125
127
  */
126
- export const useAttributeValidate = (form: FormModel): AttributeUpdateHook => {
128
+ export const useAttributeValidate = (
129
+ form: FormModel
130
+ ): AttributeValidateHook => {
127
131
  const dispatch = useDispatch();
128
132
 
129
133
  return () => dispatch(validateFormAttribute(form));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useForm.js"],"names":["useForm","href","formHref","Href","addParameter","form","method","HTTP_METHODS","POST","targetModel","FormModel","removeOnUnmount","model","useFormNavigation","dispatch","previous","cancel","submit","connectKey","selfhref","data","formdata","updateModel","remove","showFormNotificationAction","showFormNotification","useAttributeUpdate","object","attribute","value","options","useAttributeValidate","useAttributeSet","save"],"mappings":"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","sourcesContent":["// @flow\nimport { useDispatch } from \"react-redux\";\n\nimport Href from \"../models/href/Href\";\n\nimport { getSetting, HTTP_METHODS } from \"../constants\";\n\nimport { loadModularUI, removeModelByKey } from \"../redux/_modularui\";\nimport { useModularUI } from \"./useModularUI\";\n\nimport {\n addRepeatableAttributeSet,\n cancelForm,\n cancelRepeatableAttributeSet,\n previousObject,\n removeRepeatableAttributeSet,\n showFormNotification,\n updateFormAttribute,\n validateFormAttribute,\n} from \"../redux/actions\";\n\nimport FormModel from \"../models/form/FormModel\";\n\nimport type { FormObjectModel, AttributeType } from \"../models\";\nimport type { UpdateFormOptions } from \"../redux/types\";\nimport type {\n RemoveModelByKeyAction,\n UpdateModelAction,\n} from \"../redux/_modularui\";\n\ntype FormNavigationHook = {\n previous: (form: FormModel) => UpdateModelAction,\n cancel: (form: FormModel) => void,\n submit: (form: FormModel) => void,\n showFormNotification: (form: FormModel) => void,\n remove: (form: FormModel) => RemoveModelByKeyAction,\n};\n\ntype AttributeSetHook = {\n save: () => UpdateModelAction,\n cancel: (object: FormObjectModel) => UpdateModelAction,\n remove: (object: FormObjectModel) => UpdateModelAction,\n};\n\ntype AttributeUpdateHook = (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions\n) => void;\n\n/**\n * Load a form by href\n */\nexport const useForm = (href: string | Href): ?FormModel => {\n const formHref = new Href(href);\n\n if (!getSetting(\"ALWAYS_COMMIT_FORM\")) {\n formHref.addParameter(\"commit\", \"false\");\n }\n\n const form = useModularUI(\"form\", formHref, {\n method: HTTP_METHODS.POST,\n targetModel: FormModel,\n removeOnUnmount: true,\n });\n\n if (form?.model) {\n return form.model;\n }\n};\n\n/**\n * Form navigation methods\n */\nexport const useFormNavigation = (): FormNavigationHook => {\n const dispatch = useDispatch();\n\n const previous = (form: FormModel) => dispatch(previousObject(form));\n\n const cancel = (form: FormModel) => dispatch(cancelForm(form));\n\n const submit = (form: FormModel) =>\n dispatch(\n loadModularUI(form.connectKey, form.selfhref, {\n method: HTTP_METHODS.POST,\n data: form.formdata,\n updateModel: form,\n targetModel: FormModel,\n })\n );\n\n const remove = (form: FormModel) =>\n dispatch(removeModelByKey(form.connectKey));\n\n const showFormNotificationAction = (form: FormModel) =>\n dispatch(showFormNotification(form));\n\n return {\n previous,\n cancel,\n submit,\n remove,\n showFormNotification: showFormNotificationAction,\n };\n};\n\n/**\n * Update attributes of a form\n */\nexport const useAttributeUpdate = (\n form: FormModel,\n object: FormObjectModel\n): AttributeUpdateHook => {\n const dispatch = useDispatch();\n\n return (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions\n ) => dispatch(updateFormAttribute(form, object, attribute, value, options));\n};\n\n/**\n * Validate attributes of a form\n */\nexport const useAttributeValidate = (form: FormModel): AttributeUpdateHook => {\n const dispatch = useDispatch();\n\n return () => dispatch(validateFormAttribute(form));\n};\n\n/**\n * Attributeset actions\n */\nexport const useAttributeSet = (form: FormModel): AttributeSetHook => {\n const dispatch = useDispatch();\n\n return {\n save: () => dispatch(addRepeatableAttributeSet(form)),\n cancel: (object: FormObjectModel) =>\n dispatch(cancelRepeatableAttributeSet(form, object)),\n remove: (object: FormObjectModel) =>\n dispatch(removeRepeatableAttributeSet(form, object)),\n };\n};\n"],"file":"useForm.js"}
1
+ {"version":3,"sources":["../../src/hooks/useForm.js"],"names":["useForm","href","formHref","Href","addParameter","form","method","HTTP_METHODS","POST","targetModel","FormModel","removeOnUnmount","model","useFormNavigation","dispatch","previous","cancel","submit","connectKey","selfhref","data","formdata","updateModel","remove","showFormNotificationAction","showFormNotification","useAttributeUpdate","object","attribute","value","options","useAttributeValidate","useAttributeSet","save"],"mappings":"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","sourcesContent":["// @flow\nimport { useDispatch } from \"react-redux\";\n\nimport Href from \"../models/href/Href\";\n\nimport { getSetting, HTTP_METHODS } from \"../constants\";\n\nimport { loadModularUI, removeModelByKey } from \"../redux/_modularui\";\nimport { useModularUI } from \"./useModularUI\";\n\nimport {\n addRepeatableAttributeSet,\n cancelForm,\n cancelRepeatableAttributeSet,\n previousObject,\n removeRepeatableAttributeSet,\n showFormNotification,\n updateFormAttribute,\n validateFormAttribute,\n} from \"../redux/actions\";\n\nimport FormModel from \"../models/form/FormModel\";\n\nimport type { FormObjectModel, AttributeType } from \"../models\";\nimport type { UpdateFormOptions } from \"../redux/types\";\nimport type {\n RemoveModelByKeyAction,\n UpdateModelAction,\n} from \"../redux/_modularui\";\n\ntype FormNavigationHook = {\n previous: (form: FormModel) => UpdateModelAction,\n cancel: (form: FormModel) => void,\n submit: (form: FormModel) => void,\n showFormNotification: (form: FormModel) => void,\n remove: (form: FormModel) => RemoveModelByKeyAction,\n};\n\ntype AttributeSetHook = {\n save: () => UpdateModelAction,\n cancel: (object: FormObjectModel) => UpdateModelAction,\n remove: (object: FormObjectModel) => UpdateModelAction,\n};\n\ntype AttributeUpdateHook = (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions\n) => void;\n\ntype AttributeValidateHook = () => void;\n\n/**\n * Load a form by href\n */\nexport const useForm = (href: string | Href): ?FormModel => {\n const formHref = new Href(href);\n\n if (!getSetting(\"ALWAYS_COMMIT_FORM\")) {\n formHref.addParameter(\"commit\", \"false\");\n }\n\n const form = useModularUI(\"form\", formHref, {\n method: HTTP_METHODS.POST,\n targetModel: FormModel,\n removeOnUnmount: true,\n });\n\n if (form?.model) {\n return form.model;\n }\n};\n\n/**\n * Form navigation methods\n */\nexport const useFormNavigation = (): FormNavigationHook => {\n const dispatch = useDispatch();\n\n const previous = (form: FormModel) => dispatch(previousObject(form));\n\n const cancel = (form: FormModel) => dispatch(cancelForm(form));\n\n const submit = (form: FormModel) =>\n dispatch(\n loadModularUI(form.connectKey, form.selfhref, {\n method: HTTP_METHODS.POST,\n data: form.formdata,\n updateModel: form,\n targetModel: FormModel,\n })\n );\n\n const remove = (form: FormModel) =>\n dispatch(removeModelByKey(form.connectKey));\n\n const showFormNotificationAction = (form: FormModel) =>\n dispatch(showFormNotification(form));\n\n return {\n previous,\n cancel,\n submit,\n remove,\n showFormNotification: showFormNotificationAction,\n };\n};\n\n/**\n * Update attributes of a form\n */\nexport const useAttributeUpdate = (\n form: FormModel,\n object: FormObjectModel\n): AttributeUpdateHook => {\n const dispatch = useDispatch();\n\n return (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions\n ) => dispatch(updateFormAttribute(form, object, attribute, value, options));\n};\n\n/**\n * Validate attributes of a form\n */\nexport const useAttributeValidate = (\n form: FormModel\n): AttributeValidateHook => {\n const dispatch = useDispatch();\n\n return () => dispatch(validateFormAttribute(form));\n};\n\n/**\n * Attributeset actions\n */\nexport const useAttributeSet = (form: FormModel): AttributeSetHook => {\n const dispatch = useDispatch();\n\n return {\n save: () => dispatch(addRepeatableAttributeSet(form)),\n cancel: (object: FormObjectModel) =>\n dispatch(cancelRepeatableAttributeSet(form, object)),\n remove: (object: FormObjectModel) =>\n dispatch(removeRepeatableAttributeSet(form, object)),\n };\n};\n"],"file":"useForm.js"}
@@ -61,6 +61,8 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
61
61
 
62
62
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? Object.defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
63
63
 
64
+ /**
65
+ */
64
66
  var AttributeContent = /*#__PURE__*/function () {
65
67
  function AttributeContent(content) {
66
68
  (0, _classCallCheck2.default)(this, AttributeContent);
@@ -17,6 +17,8 @@ import type {
17
17
  } from "../types";
18
18
  import type SubSectionModel from "../content/SubSectionModel";
19
19
 
20
+ /**
21
+ */
20
22
  class AttributeContent {
21
23
  _content: ?ContentData;
22
24
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/AttributeContent.js"],"names":["AttributeContent","content","_content","headerLabel","headerDescription","label","header","description","message","elements","element","propertyElement","layouthint","properties","LayoutHintCollection","textFragmentElement","textfragments","textfragment","text","contentElement","sections","section","SectionModel","elementName","collectionName","getContentElements","labels","getContentElementCollections","getContentElementCollectionByLabels","types","type","referredSections","push","getReferredSections"],"mappings":"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","sourcesContent":["// @flow\nimport { retrieveText } from \"../../utils/helpers/text\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\nimport SectionModel from \"../content/SectionModel\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\nimport { isPlainObject } from \"../../utils\";\n\nimport type {\n ContentData,\n ContentElementMapped,\n PropertyData,\n PropertyElementMapped,\n TextFragmentData,\n TextFragmentElementMapped,\n ContentAll,\n} from \"../types\";\nimport type SubSectionModel from \"../content/SubSectionModel\";\n\nclass AttributeContent {\n _content: ?ContentData;\n\n constructor(content: ?ContentData) {\n this._content = content;\n }\n\n /**\n */\n get fromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get header(): {\n label: ?string,\n description: ?string,\n } {\n let headerLabel = null;\n let headerDescription = null;\n\n const label = this._content?.header?.label;\n if (label) {\n headerLabel = label;\n }\n\n const description = this._content?.header?.description;\n if (description) {\n if (isPlainObject(description) && \"message\" in description) {\n headerDescription = description.message;\n } else if (typeof description === \"string\") {\n headerDescription = description;\n }\n }\n\n return { label: headerLabel, description: headerDescription };\n }\n\n /**\n */\n get elements(): ContentAll {\n if (this._content?.elements) {\n return this._content.elements?.map((element) => {\n if (element.propertyElement) {\n const { label, layouthint, properties } = element.propertyElement;\n\n return {\n propertyElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n properties,\n },\n };\n }\n\n if (element.textFragmentElement) {\n const { label, layouthint, textfragments } =\n element.textFragmentElement;\n return {\n textFragmentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n textfragments: textfragments.map((textfragment) => ({\n ...textfragment,\n text: retrieveText(textfragment.text),\n })),\n },\n };\n }\n\n if (element.contentElement) {\n const { label, layouthint, sections } = element.contentElement;\n return {\n contentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n sections: sections.map(\n (section) => new SectionModel(section, null)\n ),\n },\n };\n }\n\n // $FlowIssue\n return element;\n });\n }\n\n return [];\n }\n\n /**\n */\n get label(): ?string {\n return this._content?.label;\n }\n\n /**\n */\n getContentElements<T>(elementName: string): Array<T> {\n // $FlowIssue incompatible-return\n return this.elements.filter((element) => elementName in element);\n }\n\n /**\n */\n getContentElementCollections<T>(\n elementName: string,\n collectionName: string\n ): Array<T> {\n return this.getContentElements(elementName)\n .map((element) => element[elementName][collectionName])\n .flat();\n }\n\n /**\n */\n getContentElementCollectionByLabels<T, U>(\n elementName: string,\n collectionName: string,\n labels: Array<string>\n ): Array<U> {\n return (\n this.getContentElements<T>(elementName)\n // $FlowIssue incompatible-use\n .filter((element) => labels.includes(element[elementName].label))\n // $FlowIssue incompatible-use\n .map((element) => element[elementName][collectionName])\n .flat()\n );\n }\n\n /**\n */\n get properties(): Array<PropertyData> {\n return this.getContentElementCollections<PropertyData>(\n \"propertyElement\",\n \"properties\"\n );\n }\n\n /**\n * Get concept properties by property element label\n */\n getConceptPropertiesByLabels(labels: Array<string>): Array<PropertyData> {\n return this.getContentElementCollectionByLabels<\n PropertyElementMapped,\n PropertyData\n >(\"propertyElement\", \"properties\", labels);\n }\n\n /**\n */\n get textfragments(): Array<TextFragmentData> {\n return this.getContentElementCollections<TextFragmentData>(\n \"textFragmentElement\",\n \"textfragments\"\n );\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getTextFragmentsByLabels(labels: Array<string>): Array<TextFragmentData> {\n return this.getContentElementCollectionByLabels<\n TextFragmentElementMapped,\n TextFragmentData\n >(\"textFragmentElement\", \"textfragments\", labels);\n }\n\n /**\n */\n get sections(): Array<SectionModel> {\n return this.getContentElementCollections<SectionModel>(\n \"contentElement\",\n \"sections\"\n );\n }\n\n /**\n */\n getSectionsByType(types: Array<string>): Array<SectionModel> {\n return this.sections.filter((section) => types.includes(section.type));\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getSectionsByLabels(labels: Array<string>): Array<SectionModel> {\n return this.getContentElementCollectionByLabels<\n ContentElementMapped,\n SectionModel\n >(\"contentElement\", \"sections\", labels);\n }\n\n /**\n */\n getReferredSections(): Array<SectionModel | SubSectionModel> {\n const referredSections = [];\n\n for (const section of this.sections) {\n referredSections.push(...section.getReferredSections());\n }\n\n return referredSections;\n }\n}\n\nexport default AttributeContent;\n"],"file":"AttributeContent.js"}
1
+ {"version":3,"sources":["../../../src/models/attributes/AttributeContent.js"],"names":["AttributeContent","content","_content","headerLabel","headerDescription","label","header","description","message","elements","element","propertyElement","layouthint","properties","LayoutHintCollection","textFragmentElement","textfragments","textfragment","text","contentElement","sections","section","SectionModel","elementName","collectionName","getContentElements","labels","getContentElementCollections","getContentElementCollectionByLabels","types","type","referredSections","push","getReferredSections"],"mappings":"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","sourcesContent":["// @flow\nimport { retrieveText } from \"../../utils/helpers/text\";\nimport { hasAllContentInData } from \"../../constants/Settings\";\nimport SectionModel from \"../content/SectionModel\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\nimport { isPlainObject } from \"../../utils\";\n\nimport type {\n ContentData,\n ContentElementMapped,\n PropertyData,\n PropertyElementMapped,\n TextFragmentData,\n TextFragmentElementMapped,\n ContentAll,\n} from \"../types\";\nimport type SubSectionModel from \"../content/SubSectionModel\";\n\n/**\n */\nclass AttributeContent {\n _content: ?ContentData;\n\n constructor(content: ?ContentData) {\n this._content = content;\n }\n\n /**\n */\n get fromData(): boolean {\n return hasAllContentInData();\n }\n\n /**\n */\n get header(): {\n label: ?string,\n description: ?string,\n } {\n let headerLabel = null;\n let headerDescription = null;\n\n const label = this._content?.header?.label;\n if (label) {\n headerLabel = label;\n }\n\n const description = this._content?.header?.description;\n if (description) {\n if (isPlainObject(description) && \"message\" in description) {\n headerDescription = description.message;\n } else if (typeof description === \"string\") {\n headerDescription = description;\n }\n }\n\n return { label: headerLabel, description: headerDescription };\n }\n\n /**\n */\n get elements(): ContentAll {\n if (this._content?.elements) {\n return this._content.elements?.map((element) => {\n if (element.propertyElement) {\n const { label, layouthint, properties } = element.propertyElement;\n\n return {\n propertyElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n properties,\n },\n };\n }\n\n if (element.textFragmentElement) {\n const { label, layouthint, textfragments } =\n element.textFragmentElement;\n return {\n textFragmentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n textfragments: textfragments.map((textfragment) => ({\n ...textfragment,\n text: retrieveText(textfragment.text),\n })),\n },\n };\n }\n\n if (element.contentElement) {\n const { label, layouthint, sections } = element.contentElement;\n return {\n contentElement: {\n label,\n layouthint: new LayoutHintCollection(layouthint),\n sections: sections.map(\n (section) => new SectionModel(section, null)\n ),\n },\n };\n }\n\n // $FlowIssue\n return element;\n });\n }\n\n return [];\n }\n\n /**\n */\n get label(): ?string {\n return this._content?.label;\n }\n\n /**\n */\n getContentElements<T>(elementName: string): Array<T> {\n // $FlowIssue incompatible-return\n return this.elements.filter((element) => elementName in element);\n }\n\n /**\n */\n getContentElementCollections<T>(\n elementName: string,\n collectionName: string\n ): Array<T> {\n return this.getContentElements(elementName)\n .map((element) => element[elementName][collectionName])\n .flat();\n }\n\n /**\n */\n getContentElementCollectionByLabels<T, U>(\n elementName: string,\n collectionName: string,\n labels: Array<string>\n ): Array<U> {\n return (\n this.getContentElements<T>(elementName)\n // $FlowIssue incompatible-use\n .filter((element) => labels.includes(element[elementName].label))\n // $FlowIssue incompatible-use\n .map((element) => element[elementName][collectionName])\n .flat()\n );\n }\n\n /**\n */\n get properties(): Array<PropertyData> {\n return this.getContentElementCollections<PropertyData>(\n \"propertyElement\",\n \"properties\"\n );\n }\n\n /**\n * Get concept properties by property element label\n */\n getConceptPropertiesByLabels(labels: Array<string>): Array<PropertyData> {\n return this.getContentElementCollectionByLabels<\n PropertyElementMapped,\n PropertyData\n >(\"propertyElement\", \"properties\", labels);\n }\n\n /**\n */\n get textfragments(): Array<TextFragmentData> {\n return this.getContentElementCollections<TextFragmentData>(\n \"textFragmentElement\",\n \"textfragments\"\n );\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getTextFragmentsByLabels(labels: Array<string>): Array<TextFragmentData> {\n return this.getContentElementCollectionByLabels<\n TextFragmentElementMapped,\n TextFragmentData\n >(\"textFragmentElement\", \"textfragments\", labels);\n }\n\n /**\n */\n get sections(): Array<SectionModel> {\n return this.getContentElementCollections<SectionModel>(\n \"contentElement\",\n \"sections\"\n );\n }\n\n /**\n */\n getSectionsByType(types: Array<string>): Array<SectionModel> {\n return this.sections.filter((section) => types.includes(section.type));\n }\n\n /**\n * Get concept text fragments by text fragment element label\n */\n getSectionsByLabels(labels: Array<string>): Array<SectionModel> {\n return this.getContentElementCollectionByLabels<\n ContentElementMapped,\n SectionModel\n >(\"contentElement\", \"sections\", labels);\n }\n\n /**\n */\n getReferredSections(): Array<SectionModel | SubSectionModel> {\n const referredSections = [];\n\n for (const section of this.sections) {\n referredSections.push(...section.getReferredSections());\n }\n\n return referredSections;\n }\n}\n\nexport default AttributeContent;\n"],"file":"AttributeContent.js"}
@@ -59,6 +59,8 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
59
59
 
60
60
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
61
61
 
62
+ /**
63
+ */
62
64
  var SectionModel = /*#__PURE__*/function (_BaseModel) {
63
65
  (0, _inherits2.default)(SectionModel, _BaseModel);
64
66
 
@@ -9,6 +9,8 @@ import LinkModel from "../links/LinkModel";
9
9
  import type Href from "../href/Href";
10
10
  import { retrieveText } from "../../utils";
11
11
 
12
+ /**
13
+ */
12
14
  class SectionModel extends BaseModel {
13
15
  _entryDate: ISO_DATE | null;
14
16
  _selflink: ?LinkModel;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/content/SectionModel.js"],"names":["SectionModel","data","entryDate","_entryDate","referred","_selflink","LinkModel","_links","self","selflink","href","type","sourceLabel","id","_id","getData","number","body","childSections","childSection","ContentLinkModel","section","label","_childSections","sections","subSections","subSection","SubSectionModel","selfhref","push","referredChilds","getReferredSections","BaseModel"],"mappings":"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","sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport SubSectionModel from \"./SubSectionModel\";\n\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\nimport LinkModel from \"../links/LinkModel\";\n\nimport type Href from \"../href/Href\";\nimport { retrieveText } from \"../../utils\";\n\nclass SectionModel extends BaseModel {\n _entryDate: ISO_DATE | null;\n _selflink: ?LinkModel;\n _childSections: Array<SectionModel>;\n\n constructor(data: Object, entryDate: ISO_DATE | null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n get referred(): boolean {\n return this.data.referred;\n }\n\n /**\n */\n get selflink(): LinkModel {\n if (!this._selflink) {\n this._selflink = new LinkModel(this.data._links?.self);\n }\n return this._selflink;\n }\n\n /**\n */\n get selfhref(): Href {\n return this.selflink.href;\n }\n\n /**\n */\n get entryDate(): ISO_DATE | null {\n return this._entryDate;\n }\n\n /**\n */\n get type(): string {\n return this.data.type;\n }\n\n /**\n */\n get sourceLabel(): string {\n return this.data.sourceLabel;\n }\n\n /**\n */\n get id(): string {\n return this.data.id || this.data._id;\n }\n\n /**\n */\n get key(): string {\n return this.id;\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.data.number ?? null;\n }\n\n /**\n * Get content body\n */\n get body(): ?string {\n return retrieveText(this.data.body);\n }\n\n /**\n * Retrieve child section links\n */\n get childSectionLinks(): Array<ContentLinkModel> {\n return this.data.childSections\n ? this.data.childSections.map(\n (childSection) =>\n new ContentLinkModel(\n {\n section: childSection.id || childSection._id,\n _id: childSection.id || childSection._id,\n label: childSection.label,\n sourceLabel: childSection.sourceLabel,\n _links: childSection._links,\n },\n this.entryDate\n )\n )\n : [];\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return new ContentLinkModel(\n {\n section: this.id,\n _id: this.id,\n label: this.data.label,\n sourceLabel: this.data.sourceLabel,\n _links: this.data._links,\n },\n this.entryDate\n );\n }\n\n /**\n * Get tree of child sections\n */\n get childSections(): Array<SectionModel> {\n if (!this._childSections && this.data.childSections) {\n this._childSections = this.data.childSections\n .filter((childSection) => \"body\" in childSection)\n .map((childSection) => new SectionModel(childSection, this.entryDate));\n }\n return this._childSections || [];\n }\n\n /**\n * set resolved child sections\n */\n set childSections(sections: Array<SectionModel>) {\n this._childSections = sections || [];\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.data.subSections\n ? this.data.subSections.map(\n (subSection) => new SubSectionModel(subSection)\n )\n : [];\n }\n\n /**\n */\n get referenceHash(): number {\n return createHashFromHref(this.selfhref);\n }\n\n /**\n */\n getReferredSections(): Array<SubSectionModel | SectionModel> {\n const sections = [];\n\n for (const subSection of this.subSections) {\n if (subSection.referred) {\n sections.push(subSection);\n }\n\n const referredChilds = subSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n for (const childSection of this.childSections) {\n if (childSection.referred) {\n sections.push(childSection);\n }\n\n const referredChilds = childSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n return sections;\n }\n}\n\nexport default SectionModel;\n"],"file":"SectionModel.js"}
1
+ {"version":3,"sources":["../../../src/models/content/SectionModel.js"],"names":["SectionModel","data","entryDate","_entryDate","referred","_selflink","LinkModel","_links","self","selflink","href","type","sourceLabel","id","_id","getData","number","body","childSections","childSection","ContentLinkModel","section","label","_childSections","sections","subSections","subSection","SubSectionModel","selfhref","push","referredChilds","getReferredSections","BaseModel"],"mappings":"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","sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport SubSectionModel from \"./SubSectionModel\";\n\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\nimport LinkModel from \"../links/LinkModel\";\n\nimport type Href from \"../href/Href\";\nimport { retrieveText } from \"../../utils\";\n\n/**\n */\nclass SectionModel extends BaseModel {\n _entryDate: ISO_DATE | null;\n _selflink: ?LinkModel;\n _childSections: Array<SectionModel>;\n\n constructor(data: Object, entryDate: ISO_DATE | null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n get referred(): boolean {\n return this.data.referred;\n }\n\n /**\n */\n get selflink(): LinkModel {\n if (!this._selflink) {\n this._selflink = new LinkModel(this.data._links?.self);\n }\n return this._selflink;\n }\n\n /**\n */\n get selfhref(): Href {\n return this.selflink.href;\n }\n\n /**\n */\n get entryDate(): ISO_DATE | null {\n return this._entryDate;\n }\n\n /**\n */\n get type(): string {\n return this.data.type;\n }\n\n /**\n */\n get sourceLabel(): string {\n return this.data.sourceLabel;\n }\n\n /**\n */\n get id(): string {\n return this.data.id || this.data._id;\n }\n\n /**\n */\n get key(): string {\n return this.id;\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.data.number ?? null;\n }\n\n /**\n * Get content body\n */\n get body(): ?string {\n return retrieveText(this.data.body);\n }\n\n /**\n * Retrieve child section links\n */\n get childSectionLinks(): Array<ContentLinkModel> {\n return this.data.childSections\n ? this.data.childSections.map(\n (childSection) =>\n new ContentLinkModel(\n {\n section: childSection.id || childSection._id,\n _id: childSection.id || childSection._id,\n label: childSection.label,\n sourceLabel: childSection.sourceLabel,\n _links: childSection._links,\n },\n this.entryDate\n )\n )\n : [];\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return new ContentLinkModel(\n {\n section: this.id,\n _id: this.id,\n label: this.data.label,\n sourceLabel: this.data.sourceLabel,\n _links: this.data._links,\n },\n this.entryDate\n );\n }\n\n /**\n * Get tree of child sections\n */\n get childSections(): Array<SectionModel> {\n if (!this._childSections && this.data.childSections) {\n this._childSections = this.data.childSections\n .filter((childSection) => \"body\" in childSection)\n .map((childSection) => new SectionModel(childSection, this.entryDate));\n }\n return this._childSections || [];\n }\n\n /**\n * set resolved child sections\n */\n set childSections(sections: Array<SectionModel>) {\n this._childSections = sections || [];\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.data.subSections\n ? this.data.subSections.map(\n (subSection) => new SubSectionModel(subSection)\n )\n : [];\n }\n\n /**\n */\n get referenceHash(): number {\n return createHashFromHref(this.selfhref);\n }\n\n /**\n */\n getReferredSections(): Array<SubSectionModel | SectionModel> {\n const sections = [];\n\n for (const subSection of this.subSections) {\n if (subSection.referred) {\n sections.push(subSection);\n }\n\n const referredChilds = subSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n for (const childSection of this.childSections) {\n if (childSection.referred) {\n sections.push(childSection);\n }\n\n const referredChilds = childSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n return sections;\n }\n}\n\nexport default SectionModel;\n"],"file":"SectionModel.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beinformed/ui",
3
- "version": "1.17.2",
3
+ "version": "1.17.3",
4
4
  "description": "Toolbox for be informed javascript layouts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "bugs": "http://support.beinformed.com",
@@ -78,7 +78,7 @@
78
78
  "styled-components": "^5.2.0"
79
79
  },
80
80
  "dependencies": {
81
- "@babel/runtime-corejs3": "^7.17.8",
81
+ "@babel/runtime-corejs3": "^7.17.9",
82
82
  "big.js": "^6.1.1",
83
83
  "date-fns": "^2.28.0",
84
84
  "deepmerge": "^4.2.2",
@@ -96,7 +96,7 @@
96
96
  },
97
97
  "devDependencies": {
98
98
  "@babel/cli": "^7.17.3",
99
- "@babel/core": "^7.17.8",
99
+ "@babel/core": "^7.17.9",
100
100
  "@babel/eslint-parser": "^7.17.0",
101
101
  "@babel/eslint-plugin": "^7.16.5",
102
102
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
@@ -106,39 +106,39 @@
106
106
  "@babel/preset-react": "^7.16.7",
107
107
  "@commitlint/cli": "^16.2.3",
108
108
  "@commitlint/config-conventional": "^16.2.1",
109
- "@testing-library/react-hooks": "^7.0.2",
109
+ "@testing-library/react-hooks": "^8.0.0",
110
110
  "auditjs": "^4.0.36",
111
111
  "babel-jest": "^27.5.1",
112
- "babel-plugin-styled-components": "^2.0.2",
112
+ "babel-plugin-styled-components": "^2.0.7",
113
113
  "cherry-pick": "^0.5.0",
114
114
  "cross-env": "^7.0.3",
115
115
  "documentation": "^13.2.5",
116
- "eslint": "^8.12.0",
116
+ "eslint": "^8.13.0",
117
117
  "eslint-config-prettier": "^8.3.0",
118
118
  "eslint-plugin-babel": "^5.3.1",
119
119
  "eslint-plugin-ft-flow": "^2.0.1",
120
- "eslint-plugin-import": "^2.25.4",
121
- "eslint-plugin-jest": "^26.1.3",
122
- "eslint-plugin-jsdoc": "^38.1.3",
120
+ "eslint-plugin-import": "^2.26.0",
121
+ "eslint-plugin-jest": "^26.1.4",
122
+ "eslint-plugin-jsdoc": "^39.2.1",
123
123
  "eslint-plugin-react": "^7.28.0",
124
- "eslint-plugin-react-hooks": "^4.3.0",
125
- "flow-bin": "^0.174.1",
124
+ "eslint-plugin-react-hooks": "^4.4.0",
125
+ "flow-bin": "^0.176.0",
126
126
  "flow-copy-source": "^2.0.9",
127
127
  "flow-typed": "^3.6.1",
128
- "glob": "^7.2.0",
128
+ "glob": "^8.0.1",
129
129
  "history": "^4.0.0",
130
130
  "husky": "^7.0.4",
131
131
  "jest": "^27.5.1",
132
- "jest-junit": "^13.0.0",
132
+ "jest-junit": "^13.1.0",
133
133
  "jest-sonar-reporter": "^2.0.0",
134
134
  "jscodeshift": "^0.13.1",
135
135
  "lint-staged": "^12.3.7",
136
- "polished": "^4.1.4",
137
- "prettier": "^2.6.1",
136
+ "polished": "^4.2.2",
137
+ "prettier": "^2.6.2",
138
138
  "react": "^17.0.2",
139
139
  "react-dom": "^17.0.2",
140
- "react-helmet-async": "^1.2.3",
141
- "react-redux": "^7.2.6",
140
+ "react-helmet-async": "^1.3.0",
141
+ "react-redux": "^7.2.8",
142
142
  "react-router": "^5.2.0",
143
143
  "react-test-renderer": "^17.0.2",
144
144
  "redux": "^4.1.2",
@@ -48,6 +48,8 @@ type AttributeUpdateHook = (
48
48
  options: UpdateFormOptions
49
49
  ) => void;
50
50
 
51
+ type AttributeValidateHook = () => void;
52
+
51
53
  /**
52
54
  * Load a form by href
53
55
  */
@@ -123,7 +125,9 @@ export const useAttributeUpdate = (
123
125
  /**
124
126
  * Validate attributes of a form
125
127
  */
126
- export const useAttributeValidate = (form: FormModel): AttributeUpdateHook => {
128
+ export const useAttributeValidate = (
129
+ form: FormModel
130
+ ): AttributeValidateHook => {
127
131
  const dispatch = useDispatch();
128
132
 
129
133
  return () => dispatch(validateFormAttribute(form));
@@ -17,6 +17,8 @@ import type {
17
17
  } from "../types";
18
18
  import type SubSectionModel from "../content/SubSectionModel";
19
19
 
20
+ /**
21
+ */
20
22
  class AttributeContent {
21
23
  _content: ?ContentData;
22
24
 
@@ -9,6 +9,8 @@ import LinkModel from "../links/LinkModel";
9
9
  import type Href from "../href/Href";
10
10
  import { retrieveText } from "../../utils";
11
11
 
12
+ /**
13
+ */
12
14
  class SectionModel extends BaseModel {
13
15
  _entryDate: ISO_DATE | null;
14
16
  _selflink: ?LinkModel;