@beinformed/ui 1.13.1 → 1.13.5
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 +20 -0
- package/esm/constants/LayoutHintConfig.js +9 -0
- package/esm/constants/LayoutHintConfig.js.map +1 -1
- package/esm/constants/LayoutHints.js +5 -0
- package/esm/constants/LayoutHints.js.map +1 -1
- package/esm/constants/Settings.js +2 -1
- package/esm/constants/Settings.js.map +1 -1
- package/esm/models/attributes/AttributeContent.js +3 -3
- package/esm/models/attributes/AttributeContent.js.map +1 -1
- package/esm/models/attributes/AttributeModel.js.map +1 -1
- package/esm/models/attributes/BooleanAttributeModel.js +1 -0
- package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js +1 -0
- package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeChildCollection.js +1 -1
- package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeModel.js +2 -1
- package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/esm/models/attributes/DatetimeAttributeModel.js +8 -3
- package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/esm/models/base/BaseCollection.js.map +1 -1
- package/esm/models/base/ResourceCollection.js +4 -2
- package/esm/models/base/ResourceCollection.js.map +1 -1
- package/esm/models/base/ResourceModel.js +1 -0
- package/esm/models/base/ResourceModel.js.map +1 -1
- package/esm/models/concepts/BusinessScenarioModel.js +2 -1
- package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/esm/models/concepts/ConceptDetailModel.js +2 -1
- package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
- package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
- package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js +2 -0
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/href/Href.js +1 -1
- package/esm/models/href/Href.js.map +1 -1
- package/esm/react-server/renderSSRComplete.js +1 -2
- package/esm/react-server/renderSSRComplete.js.map +1 -1
- package/esm/react-server/serverNoSSR.js +1 -1
- package/esm/react-server/serverNoSSR.js.map +1 -1
- package/esm/redux/_modularui/actions.js +16 -17
- package/esm/redux/_modularui/actions.js.map +1 -1
- package/esm/redux/_modularui/reducer.js +1 -2
- package/esm/redux/_modularui/reducer.js.map +1 -1
- package/esm/redux/actions/SignIn.js +5 -9
- package/esm/redux/actions/SignIn.js.map +1 -1
- package/esm/utils/fetch/xhr.js +2 -1
- package/esm/utils/fetch/xhr.js.map +1 -1
- package/esm/utils/helpers/objects.js +2 -1
- package/esm/utils/helpers/objects.js.map +1 -1
- package/lib/constants/LayoutHintConfig.js +9 -0
- package/lib/constants/LayoutHintConfig.js.flow +9 -0
- package/lib/constants/LayoutHintConfig.js.map +1 -1
- package/lib/constants/LayoutHints.js +8 -2
- package/lib/constants/LayoutHints.js.flow +4 -0
- package/lib/constants/LayoutHints.js.map +1 -1
- package/lib/constants/Settings.js +2 -1
- package/lib/constants/Settings.js.flow +2 -0
- package/lib/constants/Settings.js.map +1 -1
- package/lib/hooks/__tests__/useAuthentication.spec.js.flow +1 -0
- package/lib/models/attributes/AttributeContent.js +3 -3
- package/lib/models/attributes/AttributeContent.js.flow +3 -3
- package/lib/models/attributes/AttributeContent.js.map +1 -1
- package/lib/models/attributes/AttributeModel.js.flow +10 -2
- package/lib/models/attributes/AttributeModel.js.map +1 -1
- package/lib/models/attributes/BooleanAttributeModel.js +1 -0
- package/lib/models/attributes/BooleanAttributeModel.js.flow +4 -1
- package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js +1 -0
- package/lib/models/attributes/ChoiceAttributeModel.js.flow +4 -1
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.flow +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +5 -2
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js +1 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js.flow +1 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeModel.js +2 -1
- package/lib/models/attributes/CompositeAttributeModel.js.flow +1 -0
- package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/lib/models/attributes/DatetimeAttributeModel.js +9 -3
- package/lib/models/attributes/DatetimeAttributeModel.js.flow +7 -4
- package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/lib/models/attributes/__tests__/StringAttributeModel.spec.js.flow +1 -1
- package/lib/models/base/BaseCollection.js.flow +2 -2
- package/lib/models/base/BaseCollection.js.map +1 -1
- package/lib/models/base/ResourceCollection.js +4 -2
- package/lib/models/base/ResourceCollection.js.flow +4 -6
- package/lib/models/base/ResourceCollection.js.map +1 -1
- package/lib/models/base/ResourceModel.js +1 -0
- package/lib/models/base/ResourceModel.js.flow +3 -2
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/base/__tests__/BaseModel.spec.js.flow +5 -5
- package/lib/models/concepts/BusinessScenarioModel.js +3 -1
- package/lib/models/concepts/BusinessScenarioModel.js.flow +2 -1
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js +3 -1
- package/lib/models/concepts/ConceptDetailModel.js.flow +2 -2
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js.flow +5 -2
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/ConceptRelationModel.js.flow +6 -2
- package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js +2 -0
- package/lib/models/content/ContentLinkModel.js.flow +2 -0
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/href/Href.js +1 -1
- package/lib/models/href/Href.js.flow +4 -3
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/types.js.flow +2 -2
- package/lib/react-server/__tests__/serverUtil.spec.js.flow +15 -14
- package/lib/react-server/renderSSRComplete.js +1 -2
- package/lib/react-server/renderSSRComplete.js.flow +2 -1
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/react-server/serverNoSSR.js +1 -1
- package/lib/react-server/serverNoSSR.js.flow +1 -1
- package/lib/react-server/serverNoSSR.js.map +1 -1
- package/lib/redux/_modularui/__tests__/actions.spec.js.flow +1 -0
- package/lib/redux/_modularui/actions.js +12 -12
- package/lib/redux/_modularui/actions.js.flow +12 -12
- package/lib/redux/_modularui/actions.js.map +1 -1
- package/lib/redux/_modularui/reducer.js +1 -2
- package/lib/redux/_modularui/reducer.js.flow +0 -1
- package/lib/redux/_modularui/reducer.js.map +1 -1
- package/lib/redux/actions/SignIn.js +6 -9
- package/lib/redux/actions/SignIn.js.flow +5 -11
- package/lib/redux/actions/SignIn.js.map +1 -1
- package/lib/redux/actions/__tests__/Application.spec.js.flow +1 -0
- package/lib/redux/actions/__tests__/CustomErrorResponseHandler.spec.js.flow +2 -0
- package/lib/utils/fetch/__tests__/xhr.spec.js.flow +1 -0
- package/lib/utils/fetch/xhr.js +3 -1
- package/lib/utils/fetch/xhr.js.flow +3 -1
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/objects.js +3 -1
- package/lib/utils/helpers/objects.js.flow +2 -2
- package/lib/utils/helpers/objects.js.map +1 -1
- package/package.json +25 -25
- package/src/constants/LayoutHintConfig.js +9 -0
- package/src/constants/LayoutHints.js +4 -0
- package/src/constants/Settings.js +2 -0
- package/src/hooks/__tests__/useAuthentication.spec.js +1 -0
- package/src/models/attributes/AttributeContent.js +3 -3
- package/src/models/attributes/AttributeModel.js +10 -2
- package/src/models/attributes/BooleanAttributeModel.js +4 -1
- package/src/models/attributes/ChoiceAttributeModel.js +4 -1
- package/src/models/attributes/ChoiceAttributeOptionCollection.js +1 -1
- package/src/models/attributes/ChoiceAttributeOptionModel.js +5 -2
- package/src/models/attributes/CompositeAttributeChildCollection.js +1 -1
- package/src/models/attributes/CompositeAttributeModel.js +1 -0
- package/src/models/attributes/DatetimeAttributeModel.js +7 -4
- package/src/models/attributes/__tests__/StringAttributeModel.spec.js +1 -1
- package/src/models/base/BaseCollection.js +2 -2
- package/src/models/base/ResourceCollection.js +4 -6
- package/src/models/base/ResourceModel.js +3 -2
- package/src/models/base/__tests__/BaseModel.spec.js +5 -5
- package/src/models/concepts/BusinessScenarioModel.js +2 -1
- package/src/models/concepts/ConceptDetailModel.js +2 -2
- package/src/models/concepts/ConceptLinkModel.js +5 -2
- package/src/models/concepts/ConceptRelationModel.js +6 -2
- package/src/models/content/ContentLinkModel.js +2 -0
- package/src/models/href/Href.js +4 -3
- package/src/models/types.js +2 -2
- package/src/react-server/__tests__/serverUtil.spec.js +15 -14
- package/src/react-server/renderSSRComplete.js +2 -1
- package/src/react-server/serverNoSSR.js +1 -1
- package/src/redux/_modularui/__tests__/actions.spec.js +1 -0
- package/src/redux/_modularui/actions.js +12 -12
- package/src/redux/_modularui/reducer.js +0 -1
- package/src/redux/actions/SignIn.js +5 -11
- package/src/redux/actions/__tests__/Application.spec.js +1 -0
- package/src/redux/actions/__tests__/CustomErrorResponseHandler.spec.js +2 -0
- package/src/utils/fetch/__tests__/xhr.spec.js +1 -0
- package/src/utils/fetch/xhr.js +3 -1
- package/src/utils/helpers/objects.js +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/attributes/DatetimeAttributeModel.js"],"names":["has","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil","StringAttributeModel","ConstraintCollection","DateTimeDateFormatConstraint","DateTimeTimeFormatConstraint","DatetimeFormatConstraint","DateBoundaryConstraint","ATTRIBUTE_WIDTH","ISO_DATE_FORMAT","getSetting","PRODUCT_DEFAULT_DATE_FORMAT","DatetimeAttributeModel","attribute","attributeContributions","updateInitValue","type","value","data","length","split","hasTime","getTimeValue","timeValue","timeInputFormat","toLowerCase","formatUtil","setHour","setMinute","setSecond","setMilliseconds","getInitValue","_initvalue","_inputvalue","getInitialInputValue","_value","initValue","toFormat","inputFormat","getContribution","toString","getInputValue","validate","toISO","format","convertFormat","dateInputFormat","hasDate","dateInputFormatSetting","dateFormat","replace","readonlyFormatSetting","_placeholder","formatLabel","placeholder","timeFormatParts","push","timeFormat","join","hasFormat","dateReadonlyFormat","dateTimeReadonlyFormat","timeReadonlyFormat","formatValue","error","id","message","properties","_errorCollection","addServerError","constraints","add","getFormatConstraint","mindate","maxdate","SMALL","MEDIUM","contributions"],"mappings":";;;;;;;;;;;;;;AACA,SAASA,GAAT,QAAoB,6BAApB;AAEA,SACEC,QADF,EAEEC,YAFF,EAGEC,QAHF,EAIEC,aAJF,QAKO,mCALP;AAOA,OAAOC,oBAAP,MAAiC,wBAAjC;AAEA,OAAOC,oBAAP,MAAiC,0CAAjC;AACA,OAAOC,4BAAP,MAAyC,kDAAzC;AACA,OAAOC,4BAAP,MAAyC,kDAAzC;AACA,OAAOC,wBAAP,MAAqC,8CAArC;AACA,OAAOC,sBAAP,MAAmC,4CAAnC;AAEA,SAASC,eAAT,EAA0BC,eAA1B,QAAiD,iBAAjD;AACA,SAASC,UAAT,QAA2B,0BAA3B;AAIA;AACA,IAAMC,2BAA2B,GAAG,YAApC;AAEA;AACA;;IACMC,sB;;;;;AACJ;AACF;AACE,kCAAYC,SAAZ,EAA+BC,sBAA/B,EAA+D;AAAA;;AAAA;;AAC7D,8BAAMD,SAAN,EAAiBC,sBAAjB;;AAEA,UAAKC,eAAL;;AAH6D;AAI9D;AAED;AACF;;;;;;AAOE;AACF;AACE,mBAIoB;AAClB,cAAQ,KAAKC,IAAb;AACE,aAAK,MAAL;AACE,iBAAOhB,QAAP;;AACF,aAAK,WAAL;AACE,iBAAOC,aAAP;;AACF,aAAK,UAAL;AACE,iBAAOF,YAAP;;AACF;AACE,iBAAOD,QAAP;AARJ;AAUD;AAED;AACF;;;;WACE,wBAA8B;AAC5B,UAAImB,KAAK,GAAG,KAAKC,IAAL,CAAUD,KAAtB;;AACA,UAAIA,KAAK,IAAI,IAAb,EAAmB;AACjB,YAAI,KAAKD,IAAL,KAAc,MAAd,IAAwBC,KAAK,CAACE,MAAN,KAAiB,CAA7C,EAAgD;AAC9CF,UAAAA,KAAK,aAAMA,KAAN,QAAL;AACD,SAHgB,CAKjB;;;AACA,YAAI,KAAKD,IAAL,KAAc,UAAd,IAA4B,0BAAAC,KAAK,MAAL,CAAAA,KAAK,EAAU,GAAV,CAArC,EAAqD;AACnDA,UAAAA,KAAK,GAAGA,KAAK,CAACG,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAR;AACD;;AAED,YAAI,KAAKC,OAAT,EAAkB;AAChBJ,UAAAA,KAAK,GAAG,KAAKK,YAAL,CAAkBL,KAAlB,CAAR;AACD;AACF;;AAED,aAAOA,KAAP;AACD;AAED;AACF;;;;WACE,sBAAaA,KAAb,EAAoC;AAAA;;AAClC,UAAIM,SAAS,GAAGN,KAAhB;;AACA,UAAI,CAAC,0CAAKO,eAAL,CAAqBC,WAArB,mBAA4C,GAA5C,CAAL,EAAuD;AACrDF,QAAAA,SAAS,GAAG,KAAKG,UAAL,CAAgBC,OAAhB,CAAwBV,KAAxB,EAA+B,CAA/B,CAAZ;AACD;;AACD,UAAI,CAAC,2CAAKO,eAAL,kBAA8B,GAA9B,CAAL,EAAyC;AACvCD,QAAAA,SAAS,GAAG,KAAKG,UAAL,CAAgBE,SAAhB,CAA0BX,KAA1B,EAAiC,CAAjC,CAAZ;AACD;;AACD,UAAI,CAAC,2CAAKO,eAAL,kBAA8B,GAA9B,CAAL,EAAyC;AACvCD,QAAAA,SAAS,GAAG,KAAKG,UAAL,CAAgBG,SAAhB,CAA0BZ,KAA1B,EAAiC,CAAjC,CAAZ;AACD;;AACD,UAAI,KAAKD,IAAL,KAAc,WAAd,IAA6B,CAAC,2CAAKQ,eAAL,kBAA8B,GAA9B,CAAlC,EAAsE;AACpED,QAAAA,SAAS,GAAG,KAAKG,UAAL,CAAgBI,eAAhB,CAAgCb,KAAhC,EAAuC,CAAvC,CAAZ;AACD;;AACD,aAAOM,SAAP;AACD;AAED;AACF;AACA;;;;WACE,2BAAkB;AAChB,UAAMN,KAAK,GAAG,KAAKc,YAAL,EAAd;;AACA,UAAId,KAAK,IAAI,IAAb,EAAmB;AACjB,aAAKe,UAAL,GAAkBf,KAAlB;AACA,aAAKgB,WAAL,GAAmB,KAAKC,oBAAL,CAA0BjB,KAA1B,CAAnB;AACA,aAAKkB,MAAL,GAAclB,KAAd;AACD;AACF;AAED;AACF;AACA;;;;WACE,8BAAqBA,KAArB,EAA6C;AAC3C,UAAI,CAACA,KAAL,EAAY;AACV,eAAO,EAAP;AACD;;AAED,UAAImB,SAAS,GAAGnB,KAAhB;;AACA,UAAI,KAAKD,IAAL,KAAc,MAAd,IAAwBC,KAAK,CAACE,MAAN,KAAiB,CAA7C,EAAgD;AAC9CiB,QAAAA,SAAS,aAAMnB,KAAN,QAAT;AACD;;AAED,aAAO,KAAKS,UAAL,CAAgBW,QAAhB,CAAyBD,SAAzB,EAAoC,KAAKE,WAAzC,CAAP;AACD;AAED;AACF;AACA;;;;SACE,eAAmB;AACjB,aAAO,KAAKC,eAAL,CAAqB,MAArB,EAA6B,MAA7B,CAAP;AACD;AAED;AACF;AACA;;;;WACE,yBAAwB;AACtB,aAAO,KAAKN,WAAL,GAAmB,KAAKA,WAAL,CAAiBO,QAAjB,EAAnB,GAAiD,EAAxD;AACD;AAED;AACF;AACA;;;;SACE,eAAyB;AACvB,aAAO,KAAKC,aAAL,EAAP;AACD;AAED;AACF;AACA;;SACE,aAAexB,KAAf,EAA8B;AAC5B,WAAKyB,QAAL,CAAczB,KAAd;AAEA,WAAKgB,WAAL,GAAmBhB,KAAnB;AAEA,WAAKA,KAAL,GACEA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,EAA5B,GACI,KAAKS,UAAL,CAAgBiB,KAAhB,CAAsB1B,KAAtB,EAA6B,KAAKqB,WAAlC,CADJ,GAEI,IAHN;AAID;AAED;AACF;AACA;;;;SACE,eAAqB;AACnB,UAAMM,MAAM,GAAG,KAAKL,eAAL,CAAqB,QAArB,EAA+B,EAA/B,CAAf;AACA,aAAO,KAAKb,UAAL,CAAgBmB,aAAhB,CAA8BD,MAA9B,CAAP;AACD;AAED;AACF;;;;SACE,eAAuB;AACrB,aAAO,KAAKL,eAAL,CAAqB,UAArB,EAAiC,EAAjC,CAAP;AACD;AAED;AACF;;;;SACE,eAAuB;AACrB,aACE,KAAKvB,IAAL,KAAc,MAAd,IACA,KAAKA,IAAL,KAAc,UADd,IAEA,KAAKA,IAAL,KAAc,WAHhB;AAKD;AAED;AACF;;;;SACE,eAAuB;AACrB,aACE,KAAKA,IAAL,KAAc,MAAd,IACA,KAAKA,IAAL,KAAc,UADd,IAEA,KAAKA,IAAL,KAAc,WAHhB;AAKD;AAED;AACF;;;;SACE,eAA0B;AACxB,cAAQ,KAAKA,IAAb;AACE,aAAK,MAAL;AACE,iBAAO,KAAK8B,eAAL,CAAqBrB,WAArB,EAAP;;AACF,aAAK,MAAL;AACE,iBAAO,KAAKD,eAAL,CAAqBC,WAArB,EAAP;;AACF;AACE,iBAAO,KAAKmB,MAAL,CAAYnB,WAAZ,EAAP;AANJ;AAQD;AAED;AACF;;;;SACE,eAA0B;AACxB,UAAI,KAAKsB,OAAL,IAAgB,KAAK1B,OAAzB,EAAkC;AAAA;;AAChC,eAAO,gFAAG,KAAKyB,eAAR,wBAA2B,KAAKtB,eAAhC,kBAAP;AACD;;AAED,UAAI,KAAKuB,OAAT,EAAkB;AAChB,eAAO,KAAKD,eAAZ;AACD;;AAED,UAAI,KAAKzB,OAAT,EAAkB;AAChB,eAAO,KAAKG,eAAZ;AACD;;AAED,aAAO,EAAP;AACD;AAED;AACF;;;;SACE,eAA8B;AAAA;;AAC5B,UAAI,CAAC,KAAKuB,OAAV,EAAmB;AACjB,eAAO,EAAP;AACD,OAH2B,CAK5B;;;AACA,UAAMC,sBAAsB,GAAGtC,UAAU,CAAC,mBAAD,EAAsB,EAAtB,CAAzC;;AAEA,UAAIsC,sBAAJ,EAA4B;AAC1B,eAAOA,sBAAP;AACD;;AAED,UAAIJ,MAAM,GAAG,KAAKA,MAAlB;AAEA,UAAIK,UAAU,GAAG,KAAK5B,OAAL,GACb,kCAAAuB,MAAM,CAACM,OAAP,CAAe,KAAK1B,eAApB,EAAqC,EAArC,kBADa,GAEboB,MAFJ;AAIA,aAAOK,UAAP;AACD;AAED;AACF;;;;SACE,eAAiC;AAAA;;AAC/B,UAAI,CAAC,KAAKF,OAAV,EAAmB;AACjB,eAAO,EAAP;AACD;;AAED,UAAIH,MAAM,GAAG,KAAKA,MAAlB;AAEA,UAAIK,UAAU,GAAG,KAAK5B,OAAL,GACb,kCAAAuB,MAAM,CAACM,OAAP,CAAe,KAAK1B,eAApB,EAAqC,EAArC,kBADa,GAEboB,MAFJ;AAIA,UAAMO,qBAAqB,GAAGzC,UAAU,CAAC,sBAAD,EAAyB,EAAzB,CAAxC;;AAEA,UAAIuC,UAAU,KAAKtC,2BAAf,IAA8CwC,qBAAlD,EAAyE;AACvEF,QAAAA,UAAU,GAAGE,qBAAb;AACD;;AAED,aAAOF,UAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA0B;AACxB,UAAI,KAAKG,YAAL,KAAsB,EAA1B,EAA8B;AAC5B,eAAO,KAAKA,YAAZ;AACD;;AAED,UAAMJ,sBAAsB,GAAGtC,UAAU,CAAC,mBAAD,EAAsB,EAAtB,CAAzC;;AAEA,UAAIsC,sBAAJ,EAA4B;AAC1B,eAAOA,sBAAsB,CAACvB,WAAvB,EAAP;AACD;;AAED,UAAM4B,WAAW,GAAG,KAAKd,eAAL,CAAqB,aAArB,EAAoC,EAApC,CAApB;;AAEA,UAAI,KAAKQ,OAAL,IAAgB,KAAK1B,OAArB,IAAgC,0BAAAgC,WAAW,MAAX,CAAAA,WAAW,EAAU,GAAV,CAA/C,EAA+D;AAC7D;AACA,eAAOA,WAAW,CAACjC,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAP;AACD;;AAED,aAAOiC,WAAP;AACD;AAED;AACF;AACA;;SACE,aAAgBC,WAAhB,EAAqC;AACnC,WAAKF,YAAL,GAAoBE,WAApB;AACD;AAED;AACF;;;;SACE,eAA8B;AAC5B,UAAI,CAAC,KAAKjC,OAAV,EAAmB;AACjB,eAAO,EAAP;AACD;;AAED,UAAMuB,MAAM,GAAG,KAAKA,MAApB;AAEA,UAAIW,eAAe,GAAG,EAAtB;;AACA,UAAI,0BAAAX,MAAM,MAAN,CAAAA,MAAM,EAAU,GAAV,CAAV,EAA0B;AACxBW,QAAAA,eAAe,CAACC,IAAhB,CAAqB,IAArB;AACD,OAFD,MAEO,IAAI,0BAAAZ,MAAM,MAAN,CAAAA,MAAM,EAAU,GAAV,CAAV,EAA0B;AAC/BW,QAAAA,eAAe,CAACC,IAAhB,CAAqB,IAArB;AACD;;AACD,UAAI,0BAAAZ,MAAM,MAAN,CAAAA,MAAM,EAAU,GAAV,CAAV,EAA0B;AACxBW,QAAAA,eAAe,CAACC,IAAhB,CAAqB,IAArB;AACD;;AACD,UAAI,0BAAAZ,MAAM,MAAN,CAAAA,MAAM,EAAU,GAAV,CAAV,EAA0B;AACxBW,QAAAA,eAAe,CAACC,IAAhB,CAAqB,IAArB;AACD;;AAED,UAAIC,UAAU,GAAGF,eAAe,CAACG,IAAhB,CAAqB,GAArB,CAAjB;;AACA,UAAI,0BAAAd,MAAM,MAAN,CAAAA,MAAM,EAAU,GAAV,CAAV,EAA0B;AACxBa,QAAAA,UAAU,aAAMA,UAAN,SAAV;AACD;;AACD,UAAI,0BAAAb,MAAM,MAAN,CAAAA,MAAM,EAAU,GAAV,CAAV,EAA0B;AACxB,yBAAUa,UAAV;AACD;;AACD,aAAOA,UAAP;AACD;AAED;AACF;;;;SACE,eAAiC;AAC/B,UAAI,CAAC,KAAKpC,OAAV,EAAmB;AACjB,eAAO,EAAP;AACD;;AAED,aAAO,KAAKG,eAAZ;AACD;AAED;AACF;;;;SACE,eAA6B;AAC3B,aAAO,OAAO,KAAKP,KAAZ,KAAsB,QAAtB,IAAkC,KAAK6B,eAAL,KAAyB,EAA3D,GACH,KAAKpB,UAAL,CAAgBW,QAAhB,CAAyB,KAAKpB,KAA9B,EAAqC,KAAK6B,eAA1C,CADG,GAEH,EAFJ;AAGD;AAED;AACF;;;;SACE,eAA6B;AAC3B,aAAO,OAAO,KAAK7B,KAAZ,KAAsB,QAAtB,IAAkC,KAAKO,eAAL,KAAyB,EAA3D,GACH,KAAKE,UAAL,CAAgBW,QAAhB,CAAyB,KAAKpB,KAA9B,EAAqC,KAAKO,eAA1C,CADG,GAEH,EAFJ;AAGD,K,CAED;;AACA;AACF;;;;WACE,qBAAYP,KAAZ,EAAoC;AAClC,UAAIA,KAAK,IAAI,IAAT,IAAiBA,KAAK,CAACuB,QAAN,OAAqB,EAA1C,EAA8C;AAC5C,eAAO,EAAP;AACD,OAHiC,CAKlC;;;AACA,UACE,CAAC,KAAKxB,IAAL,KAAc,UAAd,IAA4B,KAAKA,IAAL,KAAc,WAA3C,KACAlB,QAAQ,CAAC6D,SAAT,CAAmB1C,KAAnB,EAA0BR,eAA1B,CAFF,EAGE;AACA,eAAOX,QAAQ,CAACuC,QAAT,CAAkBpB,KAAlB,EAAyB,KAAK2C,kBAA9B,CAAP;AACD;;AAED,UAAI,KAAKb,OAAL,IAAgB,KAAK1B,OAAzB,EAAkC;AAAA;;AAChC,YAAMwC,sBAAsB,iDAAM,KAAKD,kBAAX,wBAAiC,KAAKE,kBAAtC,CAA5B;;AACA,eAAO,KAAKpC,UAAL,CAAgBW,QAAhB,CAAyBpB,KAAzB,EAAgC4C,sBAAhC,CAAP;AACD;;AAED,UAAI,KAAK7C,IAAL,KAAc,MAAlB,EAA0B;AACxB,eAAO,KAAKU,UAAL,CAAgBW,QAAhB,CAAyBpB,KAAzB,EAAgC,KAAK2C,kBAArC,CAAP;AACD;;AAED,aAAO,KAAKlC,UAAL,CAAgBW,QAAhB,CAAyBpB,KAAzB,EAAgC,KAAK2B,MAArC,CAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA4B;AAC1B,UAAI,OAAO,KAAK3B,KAAZ,KAAsB,QAA1B,EAAoC;AAClC,eAAO,KAAK8C,WAAL,CAAiB,KAAK9C,KAAL,CAAWuB,QAAX,EAAjB,CAAP;AACD;;AAED,aAAO,EAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA6B;AAC3B,aAAO,KAAKD,eAAL,CAAqB,SAArB,CAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA6B;AAC3B,aAAO,KAAKA,eAAL,CAAqB,SAArB,CAAP;AACD;AAED;AACF;AACA;;;;WACE,wBAAeyB,KAAf,EAAuC;AACrC,UAAQC,EAAR,GAAoCD,KAApC,CAAQC,EAAR;AAAA,UAAYC,OAAZ,GAAoCF,KAApC,CAAYE,OAAZ;AAAA,UAAqBC,UAArB,GAAoCH,KAApC,CAAqBG,UAArB;;AACA,UAAIA,UAAU,IAAItE,GAAG,CAACsE,UAAD,EAAa,QAAb,CAAjB,IAA2C,KAAKd,WAApD,EAAiE;AAC/Dc,QAAAA,UAAU,CAACvB,MAAX,GAAoB,KAAKS,WAAzB;AACD;;AAED,WAAKe,gBAAL,CAAsBC,cAAtB,CAAqCJ,EAArC,EAAyCC,OAAzC,EAAkDC,UAAlD;AACD;AAED;AACF;;;;WACE,+BAAwC;AACtC,cAAQ,KAAKnD,IAAb;AACE,aAAK,MAAL;AACE,iBAAO,IAAIZ,4BAAJ,CACL,KAAK0C,eADA,EAEL,KAAKO,WAFA,CAAP;;AAIF,aAAK,MAAL;AACE,iBAAO,IAAIhD,4BAAJ,CACL,KAAKmB,eADA,EAEL,KAAK6B,WAFA,CAAP;;AAIF;AACE,iBAAO,IAAI/C,wBAAJ,CACL,KAAKU,IADA,EAEL,KAAKsB,WAFA,EAGL,KAAKe,WAHA,CAAP;AAZJ;AAkBD;AAED;AACF;AACA;;;;WACE,0BAAuC;AACrC,UAAMiB,WAAW,GAAG,IAAInE,oBAAJ,EAApB;AAEAmE,MAAAA,WAAW,CAACC,GAAZ,CAAgB,KAAKC,mBAAL,EAAhB;;AAEA,UAAI,KAAKC,OAAL,IAAgB,KAAKC,OAAzB,EAAkC;AAChCJ,QAAAA,WAAW,CAACC,GAAZ,CACE,IAAIhE,sBAAJ,CACE,KAAKS,IADP,EAEE,KAAKyD,OAFP,EAGE,KAAKC,OAHP,EAIE,KAAKpC,WAJP,CADF;AAQD;;AAED,aAAOgC,WAAP;AACD;AAED;AACF;;;;SACE,eAAmD;AACjD,UAAI,KAAKtD,IAAL,KAAc,MAAd,IAAwB,KAAKA,IAAL,KAAc,MAA1C,EAAkD;AAChD,eAAOR,eAAe,CAACmE,KAAvB;AACD;;AAED,aAAOnE,eAAe,CAACoE,MAAvB;AACD;;;WA9bD,2BAAyBC,aAAzB,EAAyD;AAAA;;AACvD,aAAO,wCAAC,MAAD,EAAS,MAAT,EAAiB,UAAjB,EAA6B,WAA7B,oBACLA,aAAa,CAAC7D,IADT,CAAP;AAGD;;;;EAfkCd,oB;;AA4crC,eAAeU,sBAAf","sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport {\n DateUtil,\n DateTimeUtil,\n TimeUtil,\n TimestampUtil,\n} from \"../../utils/datetime/DateTimeUtil\";\n\nimport StringAttributeModel from \"./StringAttributeModel\";\n\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport DateTimeDateFormatConstraint from \"./input-constraints/DateTimeDateFormatConstraint\";\nimport DateTimeTimeFormatConstraint from \"./input-constraints/DateTimeTimeFormatConstraint\";\nimport DatetimeFormatConstraint from \"./input-constraints/DatetimeFormatConstraint\";\nimport DateBoundaryConstraint from \"./input-constraints/DateBoundaryConstraint\";\n\nimport { ATTRIBUTE_WIDTH, ISO_DATE_FORMAT } from \"../../constants\";\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { FormErrorAnchor, IConstraintModel } from \"../types\";\n\n// date format of default\nconst PRODUCT_DEFAULT_DATE_FORMAT = \"dd-MM-yyyy\";\n\n/**\n */\nclass DatetimeAttributeModel extends StringAttributeModel {\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this.updateInitValue();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return [\"date\", \"time\", \"datetime\", \"timestamp\"].includes(\n contributions.type\n );\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n getInitValue(): string | null {\n let value = this.data.value;\n if (value != null) {\n if (this.type === \"time\" && value.length === 5) {\n value = `${value}:00`;\n }\n\n // handle old datetime values, which contained ms\n if (this.type === \"datetime\" && value.includes(\".\")) {\n value = value.split(\".\")[0];\n }\n\n if (this.hasTime) {\n value = this.getTimeValue(value);\n }\n }\n\n return value;\n }\n\n /**\n */\n getTimeValue(value: string): string {\n let timeValue = value;\n if (!this.timeInputFormat.toLowerCase().includes(\"h\")) {\n timeValue = this.formatUtil.setHour(value, 0);\n }\n if (!this.timeInputFormat.includes(\"m\")) {\n timeValue = this.formatUtil.setMinute(value, 0);\n }\n if (!this.timeInputFormat.includes(\"s\")) {\n timeValue = this.formatUtil.setSecond(value, 0);\n }\n if (this.type === \"timestamp\" && !this.timeInputFormat.includes(\"S\")) {\n timeValue = this.formatUtil.setMilliseconds(value, 0);\n }\n return timeValue;\n }\n\n /**\n * Set time in the correct value based on available elements in the time format\n */\n updateInitValue() {\n const value = this.getInitValue();\n if (value != null) {\n this._initvalue = value;\n this._inputvalue = this.getInitialInputValue(value);\n this._value = value;\n }\n }\n\n /**\n * Get initial user input value\n */\n getInitialInputValue(value?: string): string {\n if (!value) {\n return \"\";\n }\n\n let initValue = value;\n if (this.type === \"time\" && value.length === 5) {\n initValue = `${value}:00`;\n }\n\n return this.formatUtil.toFormat(initValue, this.inputFormat);\n }\n\n /**\n * Set type to date\n */\n get type(): string {\n return this.getContribution(\"type\", \"date\");\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n getInputValue(): string {\n return this._inputvalue ? this._inputvalue.toString() : \"\";\n }\n\n /**\n * Get input value\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this.validate(value);\n\n this._inputvalue = value;\n\n this.value =\n value !== null && value !== \"\"\n ? this.formatUtil.toISO(value, this.inputFormat)\n : null;\n }\n\n /**\n * Get date format\n */\n get format(): string {\n const format = this.getContribution(\"format\", \"\");\n return this.formatUtil.convertFormat(format);\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n get hasDate(): boolean {\n return (\n this.type === \"date\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get hasTime(): boolean {\n return (\n this.type === \"time\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get formatLabel(): string {\n switch (this.type) {\n case \"date\":\n return this.dateInputFormat.toLowerCase();\n case \"time\":\n return this.timeInputFormat.toLowerCase();\n default:\n return this.format.toLowerCase();\n }\n }\n\n /**\n */\n get inputFormat(): string {\n if (this.hasDate && this.hasTime) {\n return `${this.dateInputFormat} ${this.timeInputFormat}`.trim();\n }\n\n if (this.hasDate) {\n return this.dateInputFormat;\n }\n\n if (this.hasTime) {\n return this.timeInputFormat;\n }\n\n return \"\";\n }\n\n /**\n */\n get dateInputFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n // setting for date input\n const dateInputFormatSetting = getSetting(\"DATE_INPUT_FORMAT\", \"\");\n\n if (dateInputFormatSetting) {\n return dateInputFormatSetting;\n }\n\n let format = this.format;\n\n let dateFormat = this.hasTime\n ? format.replace(this.timeInputFormat, \"\").trim()\n : format;\n\n return dateFormat;\n }\n\n /**\n */\n get dateReadonlyFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n let format = this.format;\n\n let dateFormat = this.hasTime\n ? format.replace(this.timeInputFormat, \"\").trim()\n : format;\n\n const readonlyFormatSetting = getSetting(\"DATE_READONLY_FORMAT\", \"\");\n\n if (dateFormat === PRODUCT_DEFAULT_DATE_FORMAT && readonlyFormatSetting) {\n dateFormat = readonlyFormatSetting;\n }\n\n return dateFormat;\n }\n\n /**\n * return attribute placeholder or, if DATE_INPUT_FORMAT setting is used, lowercased setting, otherwise return formatlabel without time input format from contributions\n */\n get placeholder(): string {\n if (this._placeholder !== \"\") {\n return this._placeholder;\n }\n\n const dateInputFormatSetting = getSetting(\"DATE_INPUT_FORMAT\", \"\");\n\n if (dateInputFormatSetting) {\n return dateInputFormatSetting.toLowerCase();\n }\n\n const formatLabel = this.getContribution(\"formatlabel\", \"\");\n\n if (this.hasDate && this.hasTime && formatLabel.includes(\" \")) {\n // return first part of formatlabel to keep placeholder matching date input\n return formatLabel.split(\" \")[0];\n }\n\n return formatLabel;\n }\n\n /**\n * Set placeholder text\n */\n set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n }\n\n /**\n */\n get timeInputFormat(): string {\n if (!this.hasTime) {\n return \"\";\n }\n\n const format = this.format;\n\n let timeFormatParts = [];\n if (format.includes(\"H\")) {\n timeFormatParts.push(\"HH\");\n } else if (format.includes(\"h\")) {\n timeFormatParts.push(\"hh\");\n }\n if (format.includes(\"m\")) {\n timeFormatParts.push(\"mm\");\n }\n if (format.includes(\"s\")) {\n timeFormatParts.push(\"ss\");\n }\n\n let timeFormat = timeFormatParts.join(\":\");\n if (format.includes(\"S\")) {\n timeFormat = `${timeFormat}.SSS`;\n }\n if (format.includes(\"a\")) {\n return `${timeFormat} a`;\n }\n return timeFormat;\n }\n\n /**\n */\n get timeReadonlyFormat(): string {\n if (!this.hasTime) {\n return \"\";\n }\n\n return this.timeInputFormat;\n }\n\n /**\n */\n get dateInputValue(): string {\n return typeof this.value === \"string\" && this.dateInputFormat !== \"\"\n ? this.formatUtil.toFormat(this.value, this.dateInputFormat)\n : \"\";\n }\n\n /**\n */\n get timeInputValue(): string {\n return typeof this.value === \"string\" && this.timeInputFormat !== \"\"\n ? this.formatUtil.toFormat(this.value, this.timeInputFormat)\n : \"\";\n }\n\n // format value in readonly rendering\n /**\n */\n formatValue(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n // when the value is exactly an iso date, render as date\n if (\n (this.type === \"datetime\" || this.type === \"timestamp\") &&\n DateUtil.hasFormat(value, ISO_DATE_FORMAT)\n ) {\n return DateUtil.toFormat(value, this.dateReadonlyFormat);\n }\n\n if (this.hasDate && this.hasTime) {\n const dateTimeReadonlyFormat = `${this.dateReadonlyFormat} ${this.timeReadonlyFormat}`;\n return this.formatUtil.toFormat(value, dateTimeReadonlyFormat);\n }\n\n if (this.type === \"date\") {\n return this.formatUtil.toFormat(value, this.dateReadonlyFormat);\n }\n\n return this.formatUtil.toFormat(value, this.format);\n }\n\n /**\n * Retrieve readonly value, the date in the configurated format\n */\n get readonlyvalue(): string {\n if (typeof this.value === \"string\") {\n return this.formatValue(this.value.toString());\n }\n\n return \"\";\n }\n\n /**\n * Get minimum date\n */\n get mindate(): string | null {\n return this.getContribution(\"mindate\");\n }\n\n /**\n * Get maximum date\n */\n get maxdate(): string | null {\n return this.getContribution(\"maxdate\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n const { id, message, properties } = error;\n if (properties && has(properties, \"format\") && this.formatLabel) {\n properties.format = this.formatLabel;\n }\n\n this._errorCollection.addServerError(id, message, properties);\n }\n\n /**\n */\n getFormatConstraint(): IConstraintModel {\n switch (this.type) {\n case \"date\":\n return new DateTimeDateFormatConstraint(\n this.dateInputFormat,\n this.formatLabel\n );\n case \"time\":\n return new DateTimeTimeFormatConstraint(\n this.timeInputFormat,\n this.formatLabel\n );\n default:\n return new DatetimeFormatConstraint(\n this.type,\n this.inputFormat,\n this.formatLabel\n );\n }\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this.getFormatConstraint());\n\n if (this.mindate || this.maxdate) {\n constraints.add(\n new DateBoundaryConstraint(\n this.type,\n this.mindate,\n this.maxdate,\n this.inputFormat\n )\n );\n }\n\n return constraints;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"date\" || this.type === \"time\") {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n\nexport default DatetimeAttributeModel;\n"],"file":"DatetimeAttributeModel.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/models/attributes/DatetimeAttributeModel.js"],"names":["has","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil","StringAttributeModel","ConstraintCollection","DateTimeDateFormatConstraint","DateTimeTimeFormatConstraint","DatetimeFormatConstraint","DateBoundaryConstraint","ATTRIBUTE_WIDTH","ISO_DATE_FORMAT","getSetting","IGNORE_FORMAT_SETTING","PRODUCT_DEFAULT_DATE_FORMAT","DatetimeAttributeModel","attribute","attributeContributions","updateInitValue","type","value","data","length","split","hasTime","getTimeValue","timeValue","timeInputFormat","toLowerCase","formatUtil","setHour","setMinute","setSecond","setMilliseconds","getInitValue","_initvalue","_inputvalue","getInitialInputValue","_value","initValue","toFormat","inputFormat","getContribution","toString","getInputValue","validate","toISO","format","convertFormat","dateInputFormat","hasDate","ignoreFormatSetting","layouthint","dateInputFormatSetting","dateFormat","replace","readonlyFormatSetting","_placeholder","formatLabel","placeholder","timeFormatParts","push","timeFormat","join","hasFormat","dateReadonlyFormat","dateTimeReadonlyFormat","timeReadonlyFormat","formatValue","error","id","message","properties","_errorCollection","addServerError","constraints","add","getFormatConstraint","mindate","maxdate","SMALL","MEDIUM","contributions"],"mappings":"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","sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport {\n DateUtil,\n DateTimeUtil,\n TimeUtil,\n TimestampUtil,\n} from \"../../utils/datetime/DateTimeUtil\";\n\nimport StringAttributeModel from \"./StringAttributeModel\";\n\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport DateTimeDateFormatConstraint from \"./input-constraints/DateTimeDateFormatConstraint\";\nimport DateTimeTimeFormatConstraint from \"./input-constraints/DateTimeTimeFormatConstraint\";\nimport DatetimeFormatConstraint from \"./input-constraints/DatetimeFormatConstraint\";\nimport DateBoundaryConstraint from \"./input-constraints/DateBoundaryConstraint\";\n\nimport { ATTRIBUTE_WIDTH, ISO_DATE_FORMAT } from \"../../constants\";\nimport { getSetting } from \"../../constants/Settings\";\nimport { IGNORE_FORMAT_SETTING } from \"../../constants/LayoutHints\";\n\nimport type { FormErrorAnchor, IConstraintModel } from \"../types\";\n\n// date format of default\nconst PRODUCT_DEFAULT_DATE_FORMAT = \"dd-MM-yyyy\";\n\n/**\n */\nclass DatetimeAttributeModel extends StringAttributeModel {\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this.updateInitValue();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return [\"date\", \"time\", \"datetime\", \"timestamp\"].includes(\n contributions.type\n );\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n getInitValue(): string | null {\n let value = this.data.value;\n if (value != null) {\n if (this.type === \"time\" && value.length === 5) {\n value = `${value}:00`;\n }\n\n // handle old datetime values, which contained ms\n if (this.type === \"datetime\" && value.includes(\".\")) {\n value = value.split(\".\")[0];\n }\n\n if (this.hasTime) {\n value = this.getTimeValue(value);\n }\n }\n\n return value;\n }\n\n /**\n */\n getTimeValue(value: string): string {\n let timeValue = value;\n if (!this.timeInputFormat.toLowerCase().includes(\"h\")) {\n timeValue = this.formatUtil.setHour(value, 0);\n }\n if (!this.timeInputFormat.includes(\"m\")) {\n timeValue = this.formatUtil.setMinute(value, 0);\n }\n if (!this.timeInputFormat.includes(\"s\")) {\n timeValue = this.formatUtil.setSecond(value, 0);\n }\n if (this.type === \"timestamp\" && !this.timeInputFormat.includes(\"S\")) {\n timeValue = this.formatUtil.setMilliseconds(value, 0);\n }\n return timeValue;\n }\n\n /**\n * Set time in the correct value based on available elements in the time format\n */\n updateInitValue() {\n const value = this.getInitValue();\n if (value != null) {\n this._initvalue = value;\n this._inputvalue = this.getInitialInputValue(value);\n this._value = value;\n }\n }\n\n /**\n * Get initial user input value\n */\n getInitialInputValue(value?: string): string {\n if (!value) {\n return \"\";\n }\n\n let initValue = value;\n if (this.type === \"time\" && value.length === 5) {\n initValue = `${value}:00`;\n }\n\n return this.formatUtil.toFormat(initValue, this.inputFormat);\n }\n\n /**\n * Set type to date\n */\n get type(): string {\n return this.getContribution(\"type\", \"date\");\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n getInputValue(): string {\n return this._inputvalue ? this._inputvalue.toString() : \"\";\n }\n\n /**\n * Get input value\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this.validate(value);\n\n this._inputvalue = value;\n\n this.value =\n value !== null && value !== \"\"\n ? this.formatUtil.toISO(value, this.inputFormat)\n : null;\n }\n\n /**\n * Get date format\n */\n get format(): string {\n const format = this.getContribution(\"format\", \"\");\n return this.formatUtil.convertFormat(format);\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n get hasDate(): boolean {\n return (\n this.type === \"date\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get hasTime(): boolean {\n return (\n this.type === \"time\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get formatLabel(): string {\n switch (this.type) {\n case \"date\":\n return this.dateInputFormat.toLowerCase();\n case \"time\":\n return this.timeInputFormat.toLowerCase();\n default:\n return this.format.toLowerCase();\n }\n }\n\n /**\n */\n get inputFormat(): string {\n if (this.hasDate && this.hasTime) {\n return `${this.dateInputFormat} ${this.timeInputFormat}`.trim();\n }\n\n if (this.hasDate) {\n return this.dateInputFormat;\n }\n\n if (this.hasTime) {\n return this.timeInputFormat;\n }\n\n return \"\";\n }\n\n /**\n */\n get dateInputFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n // setting for date input\n const ignoreFormatSetting = this.layouthint.has(IGNORE_FORMAT_SETTING);\n if (!ignoreFormatSetting) {\n const dateInputFormatSetting = getSetting(\"DATE_INPUT_FORMAT\", \"\");\n if (dateInputFormatSetting) {\n return dateInputFormatSetting;\n }\n }\n\n let format = this.format;\n\n let dateFormat = this.hasTime\n ? format.replace(this.timeInputFormat, \"\").trim()\n : format;\n\n return dateFormat;\n }\n\n /**\n */\n get dateReadonlyFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n let format = this.format;\n\n let dateFormat = this.hasTime\n ? format.replace(this.timeInputFormat, \"\").trim()\n : format;\n\n const readonlyFormatSetting = getSetting(\"DATE_READONLY_FORMAT\", \"\");\n\n if (dateFormat === PRODUCT_DEFAULT_DATE_FORMAT && readonlyFormatSetting) {\n dateFormat = readonlyFormatSetting;\n }\n\n return dateFormat;\n }\n\n /**\n * return attribute placeholder or, if DATE_INPUT_FORMAT setting is used, lowercased setting, otherwise return formatlabel without time input format from contributions\n */\n get placeholder(): string {\n if (this._placeholder !== \"\") {\n return this._placeholder;\n }\n\n const dateInputFormatSetting = getSetting(\"DATE_INPUT_FORMAT\", \"\");\n\n if (dateInputFormatSetting) {\n return dateInputFormatSetting.toLowerCase();\n }\n\n const formatLabel = this.getContribution(\"formatlabel\", \"\");\n\n if (this.hasDate && this.hasTime && formatLabel.includes(\" \")) {\n // return first part of formatlabel to keep placeholder matching date input\n return formatLabel.split(\" \")[0];\n }\n\n return formatLabel;\n }\n\n /**\n * Set placeholder text\n */\n set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n }\n\n /**\n */\n get timeInputFormat(): string {\n if (!this.hasTime) {\n return \"\";\n }\n\n const format = this.format;\n\n let timeFormatParts = [];\n if (format.includes(\"H\")) {\n timeFormatParts.push(\"HH\");\n } else if (format.includes(\"h\")) {\n timeFormatParts.push(\"hh\");\n }\n if (format.includes(\"m\")) {\n timeFormatParts.push(\"mm\");\n }\n if (format.includes(\"s\")) {\n timeFormatParts.push(\"ss\");\n }\n\n let timeFormat = timeFormatParts.join(\":\");\n if (format.includes(\"S\")) {\n timeFormat = `${timeFormat}.SSS`;\n }\n if (format.includes(\"a\")) {\n return `${timeFormat} a`;\n }\n return timeFormat;\n }\n\n /**\n */\n get timeReadonlyFormat(): string {\n if (!this.hasTime) {\n return \"\";\n }\n\n return this.timeInputFormat;\n }\n\n /**\n */\n get dateInputValue(): string {\n return typeof this.value === \"string\" && this.dateInputFormat !== \"\"\n ? this.formatUtil.toFormat(this.value, this.dateInputFormat)\n : \"\";\n }\n\n /**\n */\n get timeInputValue(): string {\n return typeof this.value === \"string\" && this.timeInputFormat !== \"\"\n ? this.formatUtil.toFormat(this.value, this.timeInputFormat)\n : \"\";\n }\n\n // format value in readonly rendering\n /**\n */\n formatValue(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n // when the value is exactly an iso date, render as date\n if (\n (this.type === \"datetime\" || this.type === \"timestamp\") &&\n DateUtil.hasFormat(value, ISO_DATE_FORMAT)\n ) {\n return DateUtil.toFormat(value, this.dateReadonlyFormat);\n }\n\n if (this.hasDate && this.hasTime) {\n const dateTimeReadonlyFormat = `${this.dateReadonlyFormat} ${this.timeReadonlyFormat}`;\n return this.formatUtil.toFormat(value, dateTimeReadonlyFormat);\n }\n\n if (this.type === \"date\") {\n return this.formatUtil.toFormat(value, this.dateReadonlyFormat);\n }\n\n return this.formatUtil.toFormat(value, this.format);\n }\n\n /**\n * Retrieve readonly value, the date in the configurated format\n */\n get readonlyvalue(): string {\n if (typeof this.value === \"string\") {\n return this.formatValue(this.value.toString());\n }\n\n return \"\";\n }\n\n /**\n * Get minimum date\n */\n get mindate(): string | null {\n return this.getContribution(\"mindate\");\n }\n\n /**\n * Get maximum date\n */\n get maxdate(): string | null {\n return this.getContribution(\"maxdate\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n const { id, message, properties } = error;\n if (properties && has(properties, \"format\") && this.formatLabel) {\n properties.format = this.formatLabel;\n }\n\n this._errorCollection.addServerError(id, message, properties);\n }\n\n /**\n */\n getFormatConstraint(): IConstraintModel {\n switch (this.type) {\n case \"date\":\n return new DateTimeDateFormatConstraint(\n this.dateInputFormat,\n this.formatLabel\n );\n case \"time\":\n return new DateTimeTimeFormatConstraint(\n this.timeInputFormat,\n this.formatLabel\n );\n default:\n return new DatetimeFormatConstraint(\n this.type,\n this.inputFormat,\n this.formatLabel\n );\n }\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this.getFormatConstraint());\n\n if (this.mindate || this.maxdate) {\n constraints.add(\n new DateBoundaryConstraint(\n this.type,\n this.mindate,\n this.maxdate,\n this.inputFormat\n )\n );\n }\n\n return constraints;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"date\" || this.type === \"time\") {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n\nexport default DatetimeAttributeModel;\n"],"file":"DatetimeAttributeModel.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/base/BaseCollection.js"],"names":["clone","cloneDeep","BaseCollection","initCollection","collection","_collection","items","all","Array","isArray","itemIndex","length","hasItems","index","callbackfn","thisArg","some","every","forEach","compareFn","deepcopy"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/models/base/BaseCollection.js"],"names":["clone","cloneDeep","BaseCollection","initCollection","collection","_collection","items","all","Array","isArray","itemIndex","length","hasItems","index","callbackfn","thisArg","some","every","forEach","compareFn","deepcopy"],"mappings":"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","sourcesContent":["// @flow\nimport clone from \"lodash/clone\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\n/**\n * Base class for collections of models\n */\nclass BaseCollection<T> {\n _collection: Array<T>;\n\n /**\n * Construct base collection\n */\n constructor(initCollection: Array<T> = []) {\n this.collection = initCollection;\n }\n\n /**\n * Retrieve current collection\n */\n get collection(): Array<T> {\n return this._collection;\n }\n\n /**\n * Replace current collection with a new collection\n */\n set collection(collection: Array<T>) {\n this._collection = collection;\n }\n\n /**\n * Add an other collection, array of items or single item to this collection;\n */\n add(items: BaseCollection<T> | Array<T> | T): BaseCollection<T> {\n if (items instanceof BaseCollection) {\n this.collection = [...this.collection, ...items.all];\n } else if (Array.isArray(items)) {\n // $FlowExpectedError[incompatible-type]\n this.collection = [...this.collection, ...items];\n } else {\n this.collection = [...this.collection, items];\n }\n\n return this;\n }\n\n /**\n * Remove an item from the collection by it's index.\n */\n removeByIndex(itemIndex: number) {\n if (itemIndex > -1) {\n this.collection = [\n ...this.collection.slice(0, itemIndex),\n ...this.collection.slice(itemIndex + 1),\n ];\n }\n }\n\n /**\n * Indicates if the collection has items\n */\n get hasItems(): boolean {\n return this.length > 0;\n }\n\n /**\n * Indicates if collection is empty\n */\n get isEmpty(): boolean {\n return !this.hasItems;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<T> {\n return this.collection;\n }\n\n /**\n * Get the size of this collection\n */\n get size(): number {\n return this.length;\n }\n\n /**\n * Get the size of this collection\n */\n get length(): number {\n return this.collection.length;\n }\n\n /**\n * Return first link in collection\n */\n get first(): T | null {\n return this.collection[0] ?? null;\n }\n\n /**\n */\n get last(): T | null {\n return this.collection[this.collection.length - 1] ?? null;\n }\n\n /**\n */\n get(index: number): T | null {\n return this.collection[index] ?? null;\n }\n\n /**\n * Find item\n */\n find(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ): T | null {\n return this.collection.find(callbackfn, thisArg) ?? null;\n }\n\n /**\n * Filter items\n */\n filter(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ): Array<T> {\n return this.collection.filter(callbackfn, thisArg);\n }\n\n /**\n * Check if at least one item occurs\n */\n some(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ): boolean {\n return this.collection.some(callbackfn, thisArg);\n }\n\n /**\n */\n every(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ): boolean {\n return this.collection.every(callbackfn, thisArg);\n }\n\n /**\n */\n map<U>(\n callbackfn: (value: T, index: number, array: Array<T>) => U,\n thisArg?: T\n ): Array<U> {\n return this.collection.map<U, ?T>(callbackfn, thisArg);\n }\n\n /**\n */\n forEach(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ) {\n this.collection.forEach(callbackfn, thisArg);\n }\n\n /**\n */\n sort(compareFn?: (a: T, b: T) => number): Array<T> {\n return this.collection.sort(compareFn);\n }\n\n /**\n * Retrieve an alphabetically sorted array of items\n */\n get sorted(): Array<T> {\n return this.collection.sort();\n }\n\n /**\n * Returns a clone of the model (this is not a deep copy)\n */\n clone(deepcopy: boolean = false): this {\n // deepcopy can be expensive, use with care!\n if (deepcopy) {\n return cloneDeep(this);\n }\n\n return clone(this);\n }\n}\n\nexport default BaseCollection;\n"],"file":"BaseCollection.js"}
|
|
@@ -36,7 +36,8 @@ var ResourceCollection = /*#__PURE__*/function (_BaseCollection) {
|
|
|
36
36
|
function getInitialChildModelLinks() {
|
|
37
37
|
var initialChildModelLinks = [];
|
|
38
38
|
this.collection.forEach(function (item) {
|
|
39
|
-
|
|
39
|
+
// $FlowFixMe[method-unbinding]
|
|
40
|
+
if (typeof (item === null || item === void 0 ? void 0 : item.getInitialChildModelLinks) === "function") {
|
|
40
41
|
initialChildModelLinks.push.apply(initialChildModelLinks, _toConsumableArray(item.getInitialChildModelLinks()));
|
|
41
42
|
}
|
|
42
43
|
});
|
|
@@ -50,7 +51,8 @@ var ResourceCollection = /*#__PURE__*/function (_BaseCollection) {
|
|
|
50
51
|
key: "setChildModels",
|
|
51
52
|
value: function setChildModels(models) {
|
|
52
53
|
this.collection.forEach(function (item) {
|
|
53
|
-
|
|
54
|
+
// $FlowFixMe[prop-missing]
|
|
55
|
+
if (typeof item["setChildModels"] === "function") {
|
|
54
56
|
item.setChildModels(models);
|
|
55
57
|
}
|
|
56
58
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/base/ResourceCollection.js"],"names":["BaseCollection","ResourceCollection","initialChildModelLinks","collection","forEach","item","getInitialChildModelLinks","push","models","setChildModels"],"mappings":";;;;;;;;;;;;AACA,OAAOA,cAAP,MAA2B,kBAA3B;;AAKA;AACA;AACA;AACA;IACMC,kB;;;;;;;;;;;;;;AACJ;AACF;AACA;AACE,yCAA8C;AAC5C,UAAMC,sBAAsB,GAAG,EAA/B;AAEA,WAAKC,UAAL,CAAgBC,OAAhB,CAAwB,UAACC,IAAD,EAAa;AACnC,
|
|
1
|
+
{"version":3,"sources":["../../../src/models/base/ResourceCollection.js"],"names":["BaseCollection","ResourceCollection","initialChildModelLinks","collection","forEach","item","getInitialChildModelLinks","push","models","setChildModels"],"mappings":";;;;;;;;;;;;AACA,OAAOA,cAAP,MAA2B,kBAA3B;;AAKA;AACA;AACA;AACA;IACMC,kB;;;;;;;;;;;;;;AACJ;AACF;AACA;AACE,yCAA8C;AAC5C,UAAMC,sBAAsB,GAAG,EAA/B;AAEA,WAAKC,UAAL,CAAgBC,OAAhB,CAAwB,UAACC,IAAD,EAAa;AACnC;AACA,YAAI,QAAOA,IAAP,aAAOA,IAAP,uBAAOA,IAAI,CAAEC,yBAAb,MAA2C,UAA/C,EAA2D;AACzDJ,UAAAA,sBAAsB,CAACK,IAAvB,OAAAL,sBAAsB,qBAASG,IAAI,CAACC,yBAAL,EAAT,EAAtB;AACD;AACF,OALD;AAOA,aAAOJ,sBAAP;AACD;AAED;AACF;AACA;;;;WACE,wBAAeM,MAAf,EAA8C;AAC5C,WAAKL,UAAL,CAAgBC,OAAhB,CAAwB,UAACC,IAAD,EAAU;AAChC;AACA,YAAI,OAAOA,IAAI,CAAC,gBAAD,CAAX,KAAkC,UAAtC,EAAkD;AAChDA,UAAAA,IAAI,CAACI,cAAL,CAAoBD,MAApB;AACD;AACF,OALD;AAMD;;;;EA3BwDR,c;;AA8B3D,eAAeC,kBAAf","sourcesContent":["// @flow\nimport BaseCollection from \"./BaseCollection\";\n\nimport type { ModularUIModel, IModelWithChildModels } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * The ResourceCollection makes it possible to add child models to a collection of models\n * These child models are fetched using the ModularUI util\n */\nclass ResourceCollection<T: IModelWithChildModels> extends BaseCollection<T> {\n /**\n * Retrieve all child model links and flatten it into an array with single entries, removing all undefined items\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const initialChildModelLinks = [];\n\n this.collection.forEach((item: T) => {\n // $FlowFixMe[method-unbinding]\n if (typeof item?.getInitialChildModelLinks === \"function\") {\n initialChildModelLinks.push(...item.getInitialChildModelLinks());\n }\n });\n\n return initialChildModelLinks;\n }\n\n /**\n * Pass through models for setchildmodels to items of this collection\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.collection.forEach((item) => {\n // $FlowFixMe[prop-missing]\n if (typeof item[\"setChildModels\"] === \"function\") {\n item.setChildModels(models);\n }\n });\n }\n}\n\nexport default ResourceCollection;\n"],"file":"ResourceCollection.js"}
|
|
@@ -239,6 +239,7 @@ var ResourceModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
239
239
|
return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(ResourceModel.prototype), "dehydrate", this).call(this)), {}, {
|
|
240
240
|
key: this._key,
|
|
241
241
|
locale: this._locale,
|
|
242
|
+
// $FlowFixMe[missing-type-arg]
|
|
242
243
|
childModels: _mapInstanceProperty(_context = this._childModels).call(_context, function (childModel) {
|
|
243
244
|
return childModel.dehydrate();
|
|
244
245
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/base/ResourceModel.js"],"names":["ModularUIResponse","BaseModel","LinkCollection","IllegalArgumentException","IllegalStateException","ResourceModel","modularuiResponse","data","contributions","_key","key","_locale","locale","_childModels","_lastServerUpdate","Date","now","lastServerUpdate","getContribution","_links","Array","isArray","self","resourcetype","links","selflink","getLinkByKey","href","models","flattenModels","setChildModels","childModels","childModel","dehydrate","Error"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/models/base/ResourceModel.js"],"names":["ModularUIResponse","BaseModel","LinkCollection","IllegalArgumentException","IllegalStateException","ResourceModel","modularuiResponse","data","contributions","_key","key","_locale","locale","_childModels","_lastServerUpdate","Date","now","lastServerUpdate","getContribution","_links","Array","isArray","self","resourcetype","links","selflink","getLinkByKey","href","models","flattenModels","setChildModels","childModels","childModel","dehydrate","Error"],"mappings":"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","sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport BaseModel from \"./BaseModel\";\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../exceptions\";\n\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\nimport type { ModularUIModel, IModelWithChildModels } from \"../types\";\n\n/**\n * Base model\n */\nclass ResourceModel extends BaseModel implements IModelWithChildModels {\n _key: string;\n _locale: string;\n _childModels: Array<ModularUIModel>;\n _links: LinkCollection;\n _lastServerUpdate: number;\n\n /**\n * constructor\n */\n constructor(modularuiResponse: ModularUIResponse = new ModularUIResponse()) {\n super(modularuiResponse.data, modularuiResponse.contributions);\n\n this._key = modularuiResponse.key;\n this._locale = modularuiResponse.locale;\n\n this._childModels = [];\n\n this._lastServerUpdate = Date.now();\n }\n\n /**\n * Returns true when the model is supported based on configuration found in contributions\n *\n * @abstract\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n if (!(data instanceof ModularUIResponse)) {\n throw new IllegalArgumentException(\n \"Given argument for isApplicableModel is not a ModularUIResponse\"\n );\n }\n\n throw new Error(\"No isApplicableModel condition set on resourcemodel\");\n }\n\n /**\n */\n get lastServerUpdate(): number {\n return this._lastServerUpdate;\n }\n\n /**\n */\n set lastServerUpdate(lastServerUpdate: number) {\n this._lastServerUpdate = lastServerUpdate;\n }\n\n /**\n */\n get locale(): string {\n return this._locale;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this._key;\n }\n\n /**\n * Get type of model\n *\n * @abstract\n */\n get type(): string {\n throw new IllegalStateException(\n `No type set on the resource model with key ${this.key}`\n );\n }\n\n /**\n * Retrieve type of resource\n */\n get resourcetype(): string {\n return this.getContribution(\"resourcetype\", \"unknown\");\n }\n\n /**\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n Array.isArray(this.data._links)\n ? this.data._links[0]\n : this.data._links,\n {\n self: {\n resourcetype: this.resourcetype,\n },\n ...this.contributions._links,\n }\n );\n }\n return this._links;\n }\n\n /**\n */\n set links(links: LinkCollection) {\n this._links = links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\n\n if (selflink === null) {\n throw new IllegalStateException(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`\n );\n }\n\n return selflink;\n }\n\n /**\n * Return default self link of resource\n */\n get selfhref(): Href {\n return this.selflink.href;\n }\n\n /**\n * Add links to expand on initialization of this model\n *\n * @abstract\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return [];\n }\n\n /**\n * Retrieve links of expanded child models\n */\n get childModels(): Array<ModularUIModel> {\n return this._childModels;\n }\n\n /**\n * Add child models to this model\n */\n addChildModels(models: Array<ModularUIModel>): this {\n const flattenModels = [].concat(...models);\n\n this._childModels = flattenModels;\n\n this.setChildModels(flattenModels);\n\n return this;\n }\n\n /**\n * Template to set expanded child models\n * Use this hook to separate the retrieved child models into the correct models.\n *\n * @abstract\n * @example <caption>Put all models of instance List and GroupingPanel into the panels property</caption>\n */\n setChildModels(models: Array<ModularUIModel>) {\n if (!models) {\n throw new IllegalArgumentException(\"No models send to setChildModels\");\n }\n }\n\n /**\n */\n dehydrate(): Object {\n return {\n ...super.dehydrate(),\n key: this._key,\n locale: this._locale,\n // $FlowFixMe[missing-type-arg]\n childModels: this._childModels.map<ModularUIModel>(\n (childModel: ModularUIModel) => childModel.dehydrate()\n ),\n };\n }\n}\n\nexport default ResourceModel;\n"],"file":"ResourceModel.js"}
|
|
@@ -17,6 +17,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
17
17
|
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; } }
|
|
18
18
|
|
|
19
19
|
import ConceptDetailModel from "./ConceptDetailModel";
|
|
20
|
+
import ConceptTypeDetailModel from "./ConceptTypeDetailModel";
|
|
20
21
|
|
|
21
22
|
/**
|
|
22
23
|
*/
|
|
@@ -91,7 +92,7 @@ var BusinessScenarioModel = /*#__PURE__*/function (_ConceptDetailModel) {
|
|
|
91
92
|
value: function setChildModels(models) {
|
|
92
93
|
// $FlowExpectedError[incompatible-type]
|
|
93
94
|
this.conceptType = _findInstanceProperty(models).call(models, function (model) {
|
|
94
|
-
return model
|
|
95
|
+
return model instanceof ConceptTypeDetailModel;
|
|
95
96
|
});
|
|
96
97
|
var scenarioSteps = [];
|
|
97
98
|
var SCENARIO_STEP_HREF = "/concepttypes/Library/KMTs/Business scenarios.bixml/ScenarioStep";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"names":["ConceptDetailModel","BusinessScenarioModel","childModelLinks","conceptTypeLink","links","getLinkByKey","push","scenarioStepLinks","relationsCollection","all","relation","direction","concept","concepttypeHref","path","asLinkModel","length","models","conceptType","model","
|
|
1
|
+
{"version":3,"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"names":["ConceptDetailModel","ConceptTypeDetailModel","BusinessScenarioModel","childModelLinks","conceptTypeLink","links","getLinkByKey","push","scenarioStepLinks","relationsCollection","all","relation","direction","concept","concepttypeHref","path","asLinkModel","length","models","conceptType","model","scenarioSteps","SCENARIO_STEP_HREF","i","selfhref","_scenarioSteps","actors","forEach","scenarioStep","relationsToActor","newRelationToActor","some","actor","key","data","conceptTypeHref","_links","concepttype","href"],"mappings":"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","sourcesContent":["// @flow\nimport ConceptDetailModel from \"./ConceptDetailModel\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ConceptLinkModel from \"./ConceptLinkModel\";\n\n/**\n */\nclass BusinessScenarioModel extends ConceptDetailModel {\n _scenarioSteps: Array<ConceptDetailModel>;\n\n /**\n */\n get type(): string {\n return \"BusinessScenario\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n const conceptTypeHref = data?.data?._links?.concepttype?.href;\n return (\n conceptTypeHref ===\n \"/concepttypes/Library/KMTs/Business scenarios.bixml/BusinessScenario\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const childModelLinks = [];\n const conceptTypeLink = this.links.getLinkByKey(\"concepttype\");\n\n if (conceptTypeLink) {\n childModelLinks.push(conceptTypeLink);\n }\n\n const scenarioStepLinks = this.relationsCollection.all\n .filter(\n (relation) =>\n relation.direction === \"outgoing\" &&\n relation.concept.concepttypeHref?.path ===\n \"/concepttypes/Library/KMTs/Business scenarios.bixml/ScenarioStep\"\n )\n .map((relation) => relation.concept.asLinkModel());\n\n if (scenarioStepLinks.length > 0) {\n childModelLinks.push(...scenarioStepLinks);\n }\n\n return childModelLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n // $FlowExpectedError[incompatible-type]\n this.conceptType = models.find(\n (model) => model instanceof ConceptTypeDetailModel\n );\n\n const scenarioSteps = [];\n const SCENARIO_STEP_HREF =\n \"/concepttypes/Library/KMTs/Business scenarios.bixml/ScenarioStep\";\n for (let i = 0; i < models.length; i++) {\n const model = models[i];\n\n if (\n model instanceof ConceptDetailModel &&\n model.conceptType?.selfhref.path === SCENARIO_STEP_HREF\n ) {\n scenarioSteps.push(model);\n }\n }\n\n this.scenarioSteps = scenarioSteps;\n }\n\n /**\n */\n set scenarioSteps(models: Array<ConceptDetailModel>) {\n this._scenarioSteps = models;\n }\n\n /**\n */\n get scenarioSteps(): Array<ConceptDetailModel> {\n return this._scenarioSteps;\n }\n\n /**\n */\n get actors(): Array<ConceptLinkModel> {\n const actors = [];\n\n this.scenarioSteps.forEach((scenarioStep) => {\n const relationsToActor = scenarioStep.relationsCollection.find(\n (relation) =>\n relation.direction === \"outgoing\" &&\n relation.concept.concepttypeHref?.path ===\n \"/concepttypes/Library/KMTs/Business scenarios.bixml/Persona\"\n );\n\n const newRelationToActor =\n relationsToActor &&\n !actors.some((actor) => actor.key === relationsToActor.concept.key);\n\n if (relationsToActor && newRelationToActor) {\n actors.push(relationsToActor.concept);\n }\n });\n\n return actors;\n }\n}\n\nexport default BusinessScenarioModel;\n"],"file":"BusinessScenarioModel.js"}
|
|
@@ -30,6 +30,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
|
|
|
30
30
|
import ResourceModel from "../base/ResourceModel";
|
|
31
31
|
import ConceptRelationCollection from "./ConceptRelationCollection";
|
|
32
32
|
import SourceReferenceCollection from "./SourceReferenceCollection";
|
|
33
|
+
import ConceptTypeDetailModel from "./ConceptTypeDetailModel";
|
|
33
34
|
import { TIMEVERSION_FILTER_NAME } from "../../constants/Constants";
|
|
34
35
|
|
|
35
36
|
/**
|
|
@@ -96,7 +97,7 @@ var ConceptDetailModel = /*#__PURE__*/function (_ResourceModel) {
|
|
|
96
97
|
value: function setChildModels(models) {
|
|
97
98
|
// $FlowExpectedError[incompatible-type]
|
|
98
99
|
var conceptTypeModel = _findInstanceProperty(models).call(models, function (model) {
|
|
99
|
-
return model
|
|
100
|
+
return model instanceof ConceptTypeDetailModel;
|
|
100
101
|
});
|
|
101
102
|
|
|
102
103
|
if (conceptTypeModel) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/concepts/ConceptDetailModel.js"],"names":["ResourceModel","ConceptRelationCollection","SourceReferenceCollection","TIMEVERSION_FILTER_NAME","ConceptDetailModel","modularuiResponse","_relations","data","relations","entryDate","conceptTypeLink","links","getLinkByKey","relationsCollectionLinks","relationsCollection","getInitialChildModelLinks","isCacheable","models","conceptTypeModel","model","type","conceptType","setChildModels","getData","href","selflink","setParameter","removeParameter","_conceptType","conceptLabel","formula","labelTypes","labelType","setting","labels","label","_id","ids","propertyTypes","propertyType","properties","property","conceptProperties","textFragments","textFragment","textFragmentConfig","textFragmentTypes","textFragmentType","notConfiguredTextFragments","some","textfragment","keys","textfragments","availableLocales","_sourceReferences","getSourceReferencesForCurrentLanguage","LANGUAGE_POSTFIX_LENGTH","sourceReferences","availableLanguagesInSourceReferences","sourceReference","substring","length","currentLanguagePostfix","locale","availableLanguages","split","value","contributions","resourcetype"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAOA,aAAP,MAA0B,uBAA1B;AACA,OAAOC,yBAAP,MAAsC,6BAAtC;AACA,OAAOC,yBAAP,MAAsC,6BAAtC;AAEA,SAASC,uBAAT,QAAwC,2BAAxC;;AAaA;AACA;AACA;IACqBC,kB;;;;;AAKnB;AACF;AACE,8BAAYC,iBAAZ,EAAkD;AAAA;;AAAA;;AAChD,8BAAMA,iBAAN;;AADgD;;AAAA;;AAAA;;AAGhD,UAAKC,UAAL,GAAkB,IAAIL,yBAAJ,CAChB,MAAKM,IAAL,CAAUC,SADM,EAEhB,MAAKC,SAFW,CAAlB;AAHgD;AAOjD;AAED;AACF;;;;;SACE,eAAmB;AACjB,aAAO,eAAP;AACD;AAED;AACF;;;;;AAQE;AACF;AACE,yCAA8C;AAC5C,UAAMC,eAAe,GAAG,KAAKC,KAAL,CAAWC,YAAX,CAAwB,aAAxB,CAAxB;AACA,UAAMC,wBAAwB,GAC5B,KAAKC,mBAAL,CAAyBC,yBAAzB,EADF;;AAGA,UAAIL,eAAJ,EAAqB;AAAA;;AACnBA,QAAAA,eAAe,CAACM,WAAhB,GAA8B,IAA9B;AACA,mDAAQN,eAAR,qCAA4BG,wBAA5B;AACD;;AAED,aAAOA,wBAAP;AACD;AAED;AACF;;;;WACE,wBAAeI,MAAf,EAA8C;AAC5C;AACA,UAAMC,gBAAyC,GAAG,sBAAAD,MAAM,MAAN,CAAAA,MAAM,EACtD,UAACE,KAAD;AAAA,eAAWA,KAAK,CAACC,IAAN,KAAe,mBAA1B;AAAA,OADsD,CAAxD;;AAIA,UAAIF,gBAAJ,EAAsB;AACpB,aAAKG,WAAL,GAAmBH,gBAAnB;AACD;;AAED,WAAKJ,mBAAL,CAAyBQ,cAAzB,CAAwCL,MAAxC;AACD;AAED;AACF;AACA;;;;SACE,eAAkB;AAChB,aAAO,KAAKM,OAAL,CAAa,KAAb,EAAoB,SAApB,CAAP;AACD;AAED;AACF;AACA;;;;SACE,eAAqB;AACnB,UAAQC,IAAR,GAAiB,KAAKC,QAAtB,CAAQD,IAAR;;AAEA,UAAI,KAAKf,SAAT,EAAoB;AAClBe,QAAAA,IAAI,CAACE,YAAL,CAAkBvB,uBAAlB,EAA2C,KAAKM,SAAhD;AACD,OAFD,MAEO;AACLe,QAAAA,IAAI,CAACG,eAAL,CAAqBxB,uBAArB;AACD;;AAED,aAAOqB,IAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA2C;AACzC,aAAO,KAAKI,YAAZ;AACD;AAED;AACF;;SACE,aAAgBP,WAAhB,EAAsD;AACpD,WAAKO,YAAL,GAAoBP,WAApB;AACD;AAED;AACF;AACA;;;;SACE,eAAoB;AAClB,aAAO,KAAKd,IAAL,CAAUsB,YAAjB;AACD;AAED;AACF;AACA;;;;SACE,eAA2B;AACzB,aAAO,KAAKN,OAAL,CAAa,cAAb,EAA6B,SAA7B,CAAP;AACD;AAED;AACF;AACA;;;;SACE,eAAqD;AACnD,aAAO,KAAKjB,UAAZ;AACD;AAED;AACF;AACA;;;;SACE,eAAsB;AACpB,aAAO,KAAKC,IAAL,CAAUuB,OAAjB;AACD;AAED;AACF;AACA;;;;SACE,eAAgC;AAAA;AAAA;;AAC9B,aAAO,KAAKT,WAAL,IAAoB,KAAKA,WAAL,CAAiBU,UAArC,GACH,sCAAKV,WAAL,CAAiBU,UAAjB,kBAAgC,UAACC,SAAD,EAAe;AAAA;;AAC7C,YAAMC,OAAO,GAAG,MAAI,CAAC1B,IAAL,CAAU2B,MAAV,GACZ,kCAAA,MAAI,CAAC3B,IAAL,CAAU2B,MAAV,kBAAsB,UAACC,KAAD;AAAA,iBAAWA,KAAK,CAACf,IAAN,KAAeY,SAAS,CAACI,GAApC;AAAA,SAAtB,CADY,GAEZ,EAFJ;AAIA,+CACKJ,SADL,GAEKC,OAFL;AAID,OATD,CADG,GAWH,EAXJ;AAYD;AAED;AACF;AACA;;;;WACE,8BAAqBI,GAArB,EAA4D;AAAA;;AAC1D,aAAO,yCAAKH,MAAL,kBAAmB,UAACC,KAAD;AAAA,eAAuB,0BAAAE,GAAG,MAAH,CAAAA,GAAG,EAAUF,KAAK,CAACC,GAAhB,CAA1B;AAAA,OAAnB,CAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA6C;AAAA;AAAA;;AAC3C,aAAO,KAAKf,WAAL,IAAoB,KAAKA,WAAL,CAAiBiB,aAArC,GACH,sCAAKjB,WAAL,CAAiBiB,aAAjB,kBAAmC,UAACC,YAAD,EAAkB;AAAA;;AACnD,YAAMN,OAAO,GAAG,MAAI,CAAC1B,IAAL,CAAUiC,UAAV,GACZ,kCAAA,MAAI,CAACjC,IAAL,CAAUiC,UAAV,kBACE,UAACC,QAAD;AAAA,iBAAcA,QAAQ,CAACrB,IAAT,KAAkBmB,YAAY,CAACH,GAA7C;AAAA,SADF,CADY,GAIZ,EAJJ;AAMA,+CACKG,YADL,GAEKN,OAFL;AAID,OAXD,CADG,GAaH,EAbJ;AAcD;AAED;AACF;AACA;;;;WACE,mCAA0BI,GAA1B,EAAmE;AAAA;;AACjE,aAAO,yCAAKK,iBAAL,kBAA8B,UAACD,QAAD;AAAA,eACnC,0BAAAJ,GAAG,MAAH,CAAAA,GAAG,EAAUI,QAAQ,CAACL,GAAnB,CADgC;AAAA,OAA9B,CAAP;AAGD;AAED;AACF;AACA;;;;SACE,eAA6C;AAAA;AAAA;AAAA;AAAA;;AAC3C,UAAMO,aAAa,GAAG,KAAKpC,IAAL,CAAUoC,aAAV,GAClB,sCAAKpC,IAAL,CAAUoC,aAAV,kBAA4B,UAACC,YAAD,EAAkB;AAAA;;AAC5C,YAAMC,kBAAkB,GACtB,MAAI,CAACxB,WAAL,IACA,kCAAA,MAAI,CAACA,WAAL,CAAiByB,iBAAjB,kBACE,UAACC,gBAAD;AAAA,iBAAsBH,YAAY,CAACxB,IAAb,KAAsB2B,gBAAgB,CAACX,GAA7D;AAAA,SADF,CAFF;;AAMA,+CACKS,kBADL,GAEKD,YAFL;AAID,OAXD,CADkB,GAalB,EAbJ;AAeA,UAAMI,0BAA0B,GAC9B,KAAK3B,WAAL,IAAoB,KAAKA,WAAL,CAAiByB,iBAArC,GACI,0CAAKzB,WAAL,CAAiByB,iBAAjB,mBAA0C,UAACC,gBAAD,EAAsB;AAC9D,YAAI,CAAC,MAAI,CAACxC,IAAL,CAAUoC,aAAf,EAA8B;AAC5B,iBAAO,IAAP;AACD;;AAED,eAAO,CAAC,MAAI,CAACpC,IAAL,CAAUoC,aAAV,CAAwBM,IAAxB,CACN,UAACC,YAAD;AAAA,iBAAkBA,YAAY,CAAC9B,IAAb,KAAsB2B,gBAAgB,CAACX,GAAzD;AAAA,SADM,CAAR;AAGD,OARD,CADJ,GAUI,EAXN;AAaA,0FAAWO,aAAX,sBAA6BK,0BAA7B;AACD;AAED;AACF;AACA;;;;WACE,+BAAsBG,IAAtB,EAAoE;AAAA;;AAClE,aAAO,0CAAKC,aAAL,mBAA0B,UAACF,YAAD;AAAA,eAC/B,0BAAAC,IAAI,MAAJ,CAAAA,IAAI,EAAUD,YAAY,CAAC9B,IAAvB,CAD2B;AAAA,OAA1B,CAAP;AAGD;AAED;AACF;AACA;;;;WACE,wCAE6B;AAAA,UAD3BiC,gBAC2B,uEADO,EACP;;AAC3B,UAAI,CAAC,KAAKC,iBAAV,EAA6B;AAC3B,aAAKA,iBAAL,GAAyB,IAAIpD,yBAAJ,CACvB,KAAKqD,qCAAL,CAA2CF,gBAA3C,CADuB,EAEvB,KAAK5C,SAFkB,CAAzB;AAID;;AAED,aAAO,KAAK6C,iBAAZ;AACD;AAED;AACF;AACA;AACA;;AACE;AACF;;;;WACE,+CACED,gBADF,EAEiB;AACf,UAAMG,uBAAuB,GAAG,CAAhC;;AACA,UAAI,KAAKjD,IAAL,CAAUkD,gBAAd,EAAgC;AAAA;;AAC9B,YAAMC,oCAAoC,GACxC,uCAAKnD,IAAL,CAAUkD,gBAAV,mBAA+B,UAACE,eAAD;AAAA,iBAC7BA,eAAe,CAACvC,IAAhB,CAAqBwC,SAArB,CACED,eAAe,CAACvC,IAAhB,CAAqByC,MAArB,GAA8BL,uBADhC,CAD6B;AAAA,SAA/B,CADF;;AAOA,YAAMM,sBAAsB,cAAO,KAAKC,MAAZ,CAA5B;;AAEA,YACE,0BAAAL,oCAAoC,MAApC,CAAAA,oCAAoC,EAAUI,sBAAV,CADtC,EAEE;AAAA;;AACA;AACA,iBAAO,0CAAKvD,IAAL,CAAUkD,gBAAV,mBAAkC,UAACE,eAAD;AAAA;;AAAA,mBACvC,uCAAAA,eAAe,CAACvC,IAAhB,mBAA8B0C,sBAA9B,CADuC;AAAA,WAAlC,CAAP;AAGD;;AAED,YAAME,kBAAkB,GAAG,qBAAAX,gBAAgB,MAAhB,CAAAA,gBAAgB,EACzC,UAACU,MAAD;AAAA,4BAAgBA,MAAM,CAACE,KAAP,CAAa,GAAb,EAAkB,CAAlB,CAAhB;AAAA,SADyC,CAA3C,CAnB8B,CAuB9B;;;AACA,eAAO,0CAAK1D,IAAL,CAAUkD,gBAAV,mBACL,UAACE,eAAD;AAAA,iBACE,CAAC,0BAAAK,kBAAkB,MAAlB,CAAAA,kBAAkB,EACjBL,eAAe,CAACvC,IAAhB,CAAqBwC,SAArB,CACED,eAAe,CAACvC,IAAhB,CAAqByC,MAArB,GAA8BL,uBADhC,CADiB,CADrB;AAAA,SADK,CAAP;AAQD;;AACD,aAAO,EAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA+B;AAAA;;AAC7B,mFAAO,KAAKjD,IAAZ,iFAAO,kBAAmBJ,uBAAnB,CAAP,2DAAO,uBAA6C+D,KAApD,yEAA6D,IAA7D;AACD;;;WAzQD,2BAAyB3D,IAAzB,EAA2D;AACzD,aACEA,IAAI,CAAC4D,aAAL,CAAmBC,YAAnB,IACA7D,IAAI,CAAC4D,aAAL,CAAmBC,YAAnB,KAAoC,eAFtC;AAID;;;;EA7B6CpE,a;;SAA3BI,kB","sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ConceptRelationCollection from \"./ConceptRelationCollection\";\nimport SourceReferenceCollection from \"./SourceReferenceCollection\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type {\n ModularUIModel,\n labelsJSON,\n textfragmentJSON,\n propertyJSON,\n} from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type Href from \"../href/Href\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\n\n/**\n * Model for concept details, available through modelcatalog\n */\nexport default class ConceptDetailModel extends ResourceModel {\n _relations: ConceptRelationCollection;\n _conceptType: ?ConceptTypeDetailModel;\n _sourceReferences: SourceReferenceCollection;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this._relations = new ConceptRelationCollection(\n this.data.relations,\n this.entryDate\n );\n }\n\n /**\n */\n get type(): string {\n return \"ConceptDetail\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ConceptDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const conceptTypeLink = this.links.getLinkByKey(\"concepttype\");\n const relationsCollectionLinks =\n this.relationsCollection.getInitialChildModelLinks();\n\n if (conceptTypeLink) {\n conceptTypeLink.isCacheable = true;\n return [conceptTypeLink, ...relationsCollectionLinks];\n }\n\n return relationsCollectionLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n // $FlowExpectedError[incompatible-type]\n const conceptTypeModel: ?ConceptTypeDetailModel = models.find(\n (model) => model.type === \"ConceptTypeDetail\"\n );\n\n if (conceptTypeModel) {\n this.conceptType = conceptTypeModel;\n }\n\n this.relationsCollection.setChildModels(models);\n }\n\n /**\n * Retrieve concept detail identifier as key for this model\n */\n get key(): string {\n return this.getData(\"_id\", \"concept\");\n }\n\n /**\n * Getting the self link of this Concept\n */\n get selfhref(): Href {\n const { href } = this.selflink;\n\n if (this.entryDate) {\n href.setParameter(TIMEVERSION_FILTER_NAME, this.entryDate);\n } else {\n href.removeParameter(TIMEVERSION_FILTER_NAME);\n }\n\n return href;\n }\n\n /**\n * Get conceptType of concept\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n */\n set conceptType(conceptType: ?ConceptTypeDetailModel) {\n this._conceptType = conceptType;\n }\n\n /**\n * Get concept label\n */\n get label(): string {\n return this.data.conceptLabel;\n }\n\n /**\n * Get taxonomy type\n */\n get taxonomyType(): string {\n return this.getData(\"taxonomyType\", \"default\");\n }\n\n /**\n * Get concept relations collection\n */\n get relationsCollection(): ConceptRelationCollection {\n return this._relations;\n }\n\n /**\n * Get concept formula\n */\n get formula(): string {\n return this.data.formula;\n }\n\n /**\n * Get additional labels of concept\n */\n get labels(): Array<labelsJSON> {\n return this.conceptType && this.conceptType.labelTypes\n ? this.conceptType.labelTypes.map((labelType) => {\n const setting = this.data.labels\n ? this.data.labels.find((label) => label.type === labelType._id)\n : {};\n\n return {\n ...labelType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get label elements by id\n */\n getLabelElementByIds(ids: Array<string>): Array<labelsJSON> {\n return this.labels.filter((label: labelsJSON) => ids.includes(label._id));\n }\n\n /**\n * Get concept properties\n */\n get conceptProperties(): Array<propertyJSON> {\n return this.conceptType && this.conceptType.propertyTypes\n ? this.conceptType.propertyTypes.map((propertyType) => {\n const setting = this.data.properties\n ? this.data.properties.find(\n (property) => property.type === propertyType._id\n )\n : {};\n\n return {\n ...propertyType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get concept properties by id\n */\n getConceptPropertiesByIds(ids: Array<string>): Array<propertyJSON> {\n return this.conceptProperties.filter((property) =>\n ids.includes(property._id)\n );\n }\n\n /**\n * Get Text fragments\n */\n get textfragments(): Array<textfragmentJSON> {\n const textFragments = this.data.textFragments\n ? this.data.textFragments.map((textFragment) => {\n const textFragmentConfig =\n this.conceptType &&\n this.conceptType.textFragmentTypes.find(\n (textFragmentType) => textFragment.type === textFragmentType._id\n );\n\n return {\n ...textFragmentConfig,\n ...textFragment,\n };\n })\n : [];\n\n const notConfiguredTextFragments =\n this.conceptType && this.conceptType.textFragmentTypes\n ? this.conceptType.textFragmentTypes.filter((textFragmentType) => {\n if (!this.data.textFragments) {\n return true;\n }\n\n return !this.data.textFragments.some(\n (textfragment) => textfragment.type === textFragmentType._id\n );\n })\n : [];\n\n return [...textFragments, ...notConfiguredTextFragments];\n }\n\n /**\n * Get text fragments by id\n */\n getTextFragmentByKeys(keys: Array<string>): Array<textfragmentJSON> {\n return this.textfragments.filter((textfragment) =>\n keys.includes(textfragment.type)\n );\n }\n\n /**\n * Get source reference collection\n */\n getSourceReferenceCollection(\n availableLocales: Array<string> = []\n ): SourceReferenceCollection {\n if (!this._sourceReferences) {\n this._sourceReferences = new SourceReferenceCollection(\n this.getSourceReferencesForCurrentLanguage(availableLocales),\n this.entryDate\n );\n }\n\n return this._sourceReferences;\n }\n\n /*\n * Retrieve all sourceReferenceTypes that are valid for the current language\n * Used by sourceRef collection\n */\n /**\n */\n getSourceReferencesForCurrentLanguage(\n availableLocales: Array<string>\n ): Array<Object> {\n const LANGUAGE_POSTFIX_LENGTH = 3;\n if (this.data.sourceReferences) {\n const availableLanguagesInSourceReferences =\n this.data.sourceReferences.map((sourceReference) =>\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH\n )\n );\n\n const currentLanguagePostfix = `_${this.locale}`;\n\n if (\n availableLanguagesInSourceReferences.includes(currentLanguagePostfix)\n ) {\n // return all sourceReferences that end with language that is selected\n return this.data.sourceReferences.filter((sourceReference) =>\n sourceReference.type.endsWith(currentLanguagePostfix)\n );\n }\n\n const availableLanguages = availableLocales.map(\n (locale) => `_${locale.split(\"-\")[0]}`\n );\n\n // return all sourceReferences that do not end with language postfix\n return this.data.sourceReferences.filter(\n (sourceReference) =>\n !availableLanguages.includes(\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH\n )\n )\n );\n }\n return [];\n }\n\n /**\n * Retrieve entrydate of content toc\n */\n get entryDate(): string | null {\n return this.data.filter?.[TIMEVERSION_FILTER_NAME]?.value ?? null;\n }\n}\n"],"file":"ConceptDetailModel.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/models/concepts/ConceptDetailModel.js"],"names":["ResourceModel","ConceptRelationCollection","SourceReferenceCollection","ConceptTypeDetailModel","TIMEVERSION_FILTER_NAME","ConceptDetailModel","modularuiResponse","_relations","data","relations","entryDate","conceptTypeLink","links","getLinkByKey","relationsCollectionLinks","relationsCollection","getInitialChildModelLinks","isCacheable","models","conceptTypeModel","model","conceptType","setChildModels","getData","href","selflink","setParameter","removeParameter","_conceptType","conceptLabel","formula","labelTypes","labelType","setting","labels","label","type","_id","ids","propertyTypes","propertyType","properties","property","conceptProperties","textFragments","textFragment","textFragmentConfig","textFragmentTypes","textFragmentType","notConfiguredTextFragments","some","textfragment","keys","textfragments","availableLocales","_sourceReferences","getSourceReferencesForCurrentLanguage","LANGUAGE_POSTFIX_LENGTH","sourceReferences","availableLanguagesInSourceReferences","sourceReference","substring","length","currentLanguagePostfix","locale","availableLanguages","split","value","contributions","resourcetype"],"mappings":"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","sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ConceptRelationCollection from \"./ConceptRelationCollection\";\nimport SourceReferenceCollection from \"./SourceReferenceCollection\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type {\n ModularUIModel,\n labelsJSON,\n textfragmentJSON,\n propertyJSON,\n} from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type Href from \"../href/Href\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Model for concept details, available through modelcatalog\n */\nexport default class ConceptDetailModel extends ResourceModel {\n _relations: ConceptRelationCollection;\n _conceptType: ?ConceptTypeDetailModel;\n _sourceReferences: SourceReferenceCollection;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this._relations = new ConceptRelationCollection(\n this.data.relations,\n this.entryDate\n );\n }\n\n /**\n */\n get type(): string {\n return \"ConceptDetail\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ConceptDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const conceptTypeLink = this.links.getLinkByKey(\"concepttype\");\n const relationsCollectionLinks =\n this.relationsCollection.getInitialChildModelLinks();\n\n if (conceptTypeLink) {\n conceptTypeLink.isCacheable = true;\n return [conceptTypeLink, ...relationsCollectionLinks];\n }\n\n return relationsCollectionLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n // $FlowExpectedError[incompatible-type]\n const conceptTypeModel: ?ConceptTypeDetailModel = models.find(\n (model) => model instanceof ConceptTypeDetailModel\n );\n\n if (conceptTypeModel) {\n this.conceptType = conceptTypeModel;\n }\n\n this.relationsCollection.setChildModels(models);\n }\n\n /**\n * Retrieve concept detail identifier as key for this model\n */\n get key(): string {\n return this.getData(\"_id\", \"concept\");\n }\n\n /**\n * Getting the self link of this Concept\n */\n get selfhref(): Href {\n const { href } = this.selflink;\n\n if (this.entryDate) {\n href.setParameter(TIMEVERSION_FILTER_NAME, this.entryDate);\n } else {\n href.removeParameter(TIMEVERSION_FILTER_NAME);\n }\n\n return href;\n }\n\n /**\n * Get conceptType of concept\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n */\n set conceptType(conceptType: ?ConceptTypeDetailModel) {\n this._conceptType = conceptType;\n }\n\n /**\n * Get concept label\n */\n get label(): string {\n return this.data.conceptLabel;\n }\n\n /**\n * Get taxonomy type\n */\n get taxonomyType(): string {\n return this.getData(\"taxonomyType\", \"default\");\n }\n\n /**\n * Get concept relations collection\n */\n get relationsCollection(): ConceptRelationCollection {\n return this._relations;\n }\n\n /**\n * Get concept formula\n */\n get formula(): string {\n return this.data.formula;\n }\n\n /**\n * Get additional labels of concept\n */\n get labels(): Array<labelsJSON> {\n return this.conceptType && this.conceptType.labelTypes\n ? this.conceptType.labelTypes.map((labelType) => {\n const setting = this.data.labels\n ? this.data.labels.find((label) => label.type === labelType._id)\n : {};\n\n return {\n ...labelType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get label elements by id\n */\n getLabelElementByIds(ids: Array<string>): Array<labelsJSON> {\n return this.labels.filter((label: labelsJSON) => ids.includes(label._id));\n }\n\n /**\n * Get concept properties\n */\n get conceptProperties(): Array<propertyJSON> {\n return this.conceptType && this.conceptType.propertyTypes\n ? this.conceptType.propertyTypes.map((propertyType) => {\n const setting = this.data.properties\n ? this.data.properties.find(\n (property) => property.type === propertyType._id\n )\n : {};\n\n return {\n ...propertyType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get concept properties by id\n */\n getConceptPropertiesByIds(ids: Array<string>): Array<propertyJSON> {\n return this.conceptProperties.filter((property) =>\n ids.includes(property._id)\n );\n }\n\n /**\n * Get Text fragments\n */\n get textfragments(): Array<textfragmentJSON> {\n const textFragments = this.data.textFragments\n ? this.data.textFragments.map((textFragment) => {\n const textFragmentConfig =\n this.conceptType &&\n this.conceptType.textFragmentTypes.find(\n (textFragmentType) => textFragment.type === textFragmentType._id\n );\n\n return {\n ...textFragmentConfig,\n ...textFragment,\n };\n })\n : [];\n\n const notConfiguredTextFragments =\n this.conceptType && this.conceptType.textFragmentTypes\n ? this.conceptType.textFragmentTypes.filter((textFragmentType) => {\n if (!this.data.textFragments) {\n return true;\n }\n\n return !this.data.textFragments.some(\n (textfragment) => textfragment.type === textFragmentType._id\n );\n })\n : [];\n\n return [...textFragments, ...notConfiguredTextFragments];\n }\n\n /**\n * Get text fragments by id\n */\n getTextFragmentByKeys(keys: Array<string>): Array<textfragmentJSON> {\n return this.textfragments.filter((textfragment) =>\n keys.includes(textfragment.type)\n );\n }\n\n /**\n * Get source reference collection\n */\n getSourceReferenceCollection(\n availableLocales: Array<string> = []\n ): SourceReferenceCollection {\n if (!this._sourceReferences) {\n this._sourceReferences = new SourceReferenceCollection(\n this.getSourceReferencesForCurrentLanguage(availableLocales),\n this.entryDate\n );\n }\n\n return this._sourceReferences;\n }\n\n /*\n * Retrieve all sourceReferenceTypes that are valid for the current language\n * Used by sourceRef collection\n */\n /**\n */\n getSourceReferencesForCurrentLanguage(\n availableLocales: Array<string>\n ): Array<Object> {\n const LANGUAGE_POSTFIX_LENGTH = 3;\n if (this.data.sourceReferences) {\n const availableLanguagesInSourceReferences =\n this.data.sourceReferences.map((sourceReference) =>\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH\n )\n );\n\n const currentLanguagePostfix = `_${this.locale}`;\n\n if (\n availableLanguagesInSourceReferences.includes(currentLanguagePostfix)\n ) {\n // return all sourceReferences that end with language that is selected\n return this.data.sourceReferences.filter((sourceReference) =>\n sourceReference.type.endsWith(currentLanguagePostfix)\n );\n }\n\n const availableLanguages = availableLocales.map(\n (locale) => `_${locale.split(\"-\")[0]}`\n );\n\n // return all sourceReferences that do not end with language postfix\n return this.data.sourceReferences.filter(\n (sourceReference) =>\n !availableLanguages.includes(\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH\n )\n )\n );\n }\n return [];\n }\n\n /**\n * Retrieve entrydate of content toc\n */\n get entryDate(): string | null {\n return this.data.filter?.[TIMEVERSION_FILTER_NAME]?.value ?? null;\n }\n}\n"],"file":"ConceptDetailModel.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/concepts/ConceptLinkModel.js"],"names":["BaseModel","LinkModel","LinkCollection","ConceptTypeDetailModel","TIMEVERSION_FILTER_NAME","ConceptLinkModel","data","entryDate","_entryDate","conceptTypeLink","isCacheable","models","href","conceptTypeModel","model","selfhref","equalsWithParameters","type","conceptType","_conceptType","_id","label","getData","_links","Array","isArray","selflink","links","getLinkByKey","Error","key","addParameter","link","create"],"mappings":";;;;;;;;;;;;;;AACA,OAAOA,SAAP,MAAsB,mBAAtB;AACA,OAAOC,SAAP,MAAsB,oBAAtB;AACA,OAAOC,cAAP,MAA2B,yBAA3B;AACA,OAAOC,sBAAP,MAAmC,0BAAnC;AACA,SAASC,uBAAT,QAAwC,2BAAxC;;AAIA;AACA;AACA;IACqBC,gB;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/models/concepts/ConceptLinkModel.js"],"names":["BaseModel","LinkModel","LinkCollection","ConceptTypeDetailModel","TIMEVERSION_FILTER_NAME","ConceptLinkModel","data","entryDate","_entryDate","conceptTypeLink","isCacheable","models","href","conceptTypeModel","model","selfhref","equalsWithParameters","type","conceptType","_conceptType","_id","label","getData","_links","Array","isArray","selflink","links","getLinkByKey","Error","key","addParameter","link","create"],"mappings":"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","sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport LinkModel from \"../links/LinkModel\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { IModelWithChildModels, ModularUIModel } from \"../types\";\nimport type Href from \"../href/Href\";\n/**\n * Link to a concept\n */\nexport default class ConceptLinkModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _links: ?LinkCollection;\n _entryDate: ?ISO_DATE;\n _conceptType: ?ConceptTypeDetailModel;\n\n /**\n * Construct ConceptLinkModel\n */\n constructor(data: Object, entryDate: ?ISO_DATE = null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n if (this.conceptTypeLink) {\n this.conceptTypeLink.isCacheable = true;\n return [this.conceptTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n if (this.conceptTypeLink) {\n const href = this.conceptTypeLink.href;\n const conceptTypeModel = models.find((model) =>\n model.selfhref.equalsWithParameters(href)\n );\n\n if (conceptTypeModel?.type === \"ConceptTypeDetail\") {\n this.conceptType = conceptTypeModel;\n }\n }\n }\n\n /**\n * Retrieve concept type\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n * Set concept type\n */\n set conceptType(conceptType: ?ModularUIModel) {\n this._conceptType =\n conceptType instanceof ConceptTypeDetailModel ? conceptType : null;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this.data._id;\n }\n\n /**\n * Retrieve label\n */\n get label(): string {\n const label = this.getData(\"label\");\n\n if (label) {\n return label;\n }\n\n return this.getData(\"conceptLabel\", \"\");\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n Array.isArray(this.data._links) ? this.data._links[0] : this.data._links\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\n\n if (selflink === null) {\n throw new Error(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`\n );\n }\n\n return selflink;\n }\n\n /**\n * Self href of concept\n */\n get selfhref(): Href {\n if (this._entryDate !== null) {\n return this.selflink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this._entryDate\n );\n }\n\n return this.selflink.href;\n }\n\n /**\n */\n get conceptTypeLink(): LinkModel | null {\n return this.links.getLinkByKey(\"concepttype\");\n }\n\n /**\n * Concept type href of concept\n */\n get concepttypeHref(): Href | null {\n return this.conceptTypeLink?.href ?? null;\n }\n\n /**\n */\n get taxonomyType(): string {\n return \"default\";\n }\n\n /**\n */\n asLinkModel(): LinkModel {\n const link = LinkModel.create(this.key, this.selfhref.href, this.label);\n link.href = this.selfhref;\n\n return link;\n }\n}\n"],"file":"ConceptLinkModel.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/concepts/ConceptRelationModel.js"],"names":["ConceptLinkModel","LinkModel","ConceptRelationModel","relation","entryDate","_relation","concept","_concept","getInitialChildModelLinks","models","setChildModels","relationType","textFragments","relationLabel","relationDirection"],"mappings":";;;AACA,OAAOA,gBAAP,MAA6B,oBAA7B;AACA,OAAOC,SAAP,MAAsB,oBAAtB;;
|
|
1
|
+
{"version":3,"sources":["../../../src/models/concepts/ConceptRelationModel.js"],"names":["ConceptLinkModel","LinkModel","ConceptRelationModel","relation","entryDate","_relation","concept","_concept","getInitialChildModelLinks","models","setChildModels","relationType","textFragments","relationLabel","relationDirection"],"mappings":";;;AACA,OAAOA,gBAAP,MAA6B,oBAA7B;AACA,OAAOC,SAAP,MAAsB,oBAAtB;;AAQA;AACA;AACA;IACqBC,oB;AAInB;AACF;AACE,gCAAYC,QAAZ,EAA2D;AAAA,QAA7BC,SAA6B,uEAAN,IAAM;;AAAA;;AAAA;;AAAA;;AACzD,SAAKC,SAAL,GAAiBF,QAAjB;;AAEA,QAAIA,QAAQ,IAAIA,QAAQ,CAACG,OAAzB,EAAkC;AAChC,WAAKC,QAAL,GAAgB,IAAIP,gBAAJ,CAAqBG,QAAQ,CAACG,OAA9B,EAAuCF,SAAvC,CAAhB;AACD;AACF;AAED;AACF;;;;;WACE,qCAA8C;AAC5C,aAAO,KAAKE,OAAL,CAAaE,yBAAb,EAAP;AACD;AAED;AACF;;;;WACE,wBAAeC,MAAf,EAA8C;AAC5C,WAAKH,OAAL,CAAaI,cAAb,CAA4BD,MAA5B;AACD;AAED;AACF;AACA;;;;SACE,eAAkB;AAChB,aAAO,KAAKJ,SAAL,CAAeM,YAAtB;AACD;AAED;AACF;AACA;;;;SACE,eAA6C;AAC3C,aAAO,KAAKN,SAAL,CAAeO,aAAtB;AACD;AAED;AACF;AACA;;;;SACE,eAAoB;AAClB,aAAO,KAAKP,SAAL,CAAeQ,aAAtB;AACD;AAED;AACF;AACA;;;;SACE,eAAwB;AACtB,aAAO,KAAKR,SAAL,CAAeS,iBAAtB;AACD;AAED;AACF;AACA;;;;SACE,eAAgC;AAC9B,aAAO,KAAKP,QAAZ;AACD;AAED;AACF;AACA;;SACE,aAAYD,OAAZ,EAAuC;AACrC,WAAKC,QAAL,GAAgBD,OAAhB;AACD;;;;;;SAlEkBJ,oB","sourcesContent":["// @flow\nimport ConceptLinkModel from \"./ConceptLinkModel\";\nimport LinkModel from \"../links/LinkModel\";\n\nimport type {\n IModelWithChildModels,\n ModularUIModel,\n textfragmentJSON,\n} from \"../types\";\n\n/**\n * Concept relation model\n */\nexport default class ConceptRelationModel implements IModelWithChildModels {\n _relation: Object;\n _concept: ConceptLinkModel;\n\n /**\n */\n constructor(relation: Object, entryDate: ?ISO_DATE = null) {\n this._relation = relation;\n\n if (relation && relation.concept) {\n this._concept = new ConceptLinkModel(relation.concept, entryDate);\n }\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.concept.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.concept.setChildModels(models);\n }\n\n /**\n * Get key of relation\n */\n get key(): string {\n return this._relation.relationType;\n }\n\n /**\n * Get Text fragments\n */\n get textfragments(): Array<textfragmentJSON> {\n return this._relation.textFragments;\n }\n\n /**\n * Get Label of relation\n */\n get label(): string {\n return this._relation.relationLabel;\n }\n\n /**\n * Get direction of relation\n */\n get direction(): string {\n return this._relation.relationDirection;\n }\n\n /**\n * Get other concept\n */\n get concept(): ConceptLinkModel {\n return this._concept;\n }\n\n /**\n * Set concept information\n */\n set concept(concept: ConceptLinkModel) {\n this._concept = concept;\n }\n}\n"],"file":"ConceptRelationModel.js"}
|
|
@@ -53,6 +53,7 @@ var ContentLinkModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
*/
|
|
56
|
+
// $FlowFixMe[method-unbinding]
|
|
56
57
|
|
|
57
58
|
|
|
58
59
|
_createClass(ContentLinkModel, [{
|
|
@@ -67,6 +68,7 @@ var ContentLinkModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
67
68
|
}
|
|
68
69
|
/**
|
|
69
70
|
*/
|
|
71
|
+
// $FlowFixMe[method-unbinding]
|
|
70
72
|
|
|
71
73
|
}, {
|
|
72
74
|
key: "setChildModels",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/content/ContentLinkModel.js"],"names":["has","BaseModel","Href","LinkModel","ContentTypeModel","TIMEVERSION_FILTER_NAME","LinkCollection","ContentLinkModel","data","entryDate","_entryDate","contentTypeLink","isCacheable","models","href","contentTypeModel","model","selfhref","equalsWithParameters","type","contentType","_contentType","getData","startURI","_links","self","encodeURIComponent","substring","length","indexOf","section","substr","addParameter","Array","isArray","selflink","links","getLinkByKey","Error","key","hash","_items","items"],"mappings":";;;;;;;;;;;;;;;AACA,SAASA,GAAT,QAAoB,6BAApB;AAEA,OAAOC,SAAP,MAAsB,mBAAtB;AACA,OAAOC,IAAP,MAAiB,cAAjB;AACA,OAAOC,SAAP,MAAsB,oBAAtB;AACA,OAAOC,gBAAP,MAA6B,oBAA7B;AACA,SAASC,uBAAT,QAAwC,2BAAxC;AAEA,OAAOC,cAAP,MAA2B,yBAA3B;;AAIA;AACA;AACA;IACqBC,gB;;;;;AASnB;AACF;AACE,4BAAYC,IAAZ,EAAuD;AAAA;;AAAA,QAA7BC,SAA6B,uEAAN,IAAM;;AAAA;;AACrD,8BAAMD,IAAN,EAAY,EAAZ;;AADqD;;AAAA;;AAAA,mEALf,IAKe;;AAAA;;AAGrD,UAAKE,UAAL,GAAkBD,SAAlB;AAHqD;AAItD;AAED;AACF;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/models/content/ContentLinkModel.js"],"names":["has","BaseModel","Href","LinkModel","ContentTypeModel","TIMEVERSION_FILTER_NAME","LinkCollection","ContentLinkModel","data","entryDate","_entryDate","contentTypeLink","isCacheable","models","href","contentTypeModel","model","selfhref","equalsWithParameters","type","contentType","_contentType","getData","startURI","_links","self","encodeURIComponent","substring","length","indexOf","section","substr","addParameter","Array","isArray","selflink","links","getLinkByKey","Error","key","hash","_items","items"],"mappings":"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","sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\nimport LinkModel from \"../links/LinkModel\";\nimport ContentTypeModel from \"./ContentTypeModel\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport type { ModularUIModel, IModelWithChildModels } from \"../types\";\n\n/**\n * Link to a concept\n */\nexport default class ContentLinkModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _links: ?LinkCollection;\n _entryDate: ?ISO_DATE;\n _contentType: ContentTypeModel | null = null;\n _items: Array<ContentLinkModel>;\n\n /**\n */\n constructor(data: Object, entryDate: ?ISO_DATE = null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n // $FlowFixMe[method-unbinding]\n getInitialChildModelLinks(): Array<LinkModel> {\n if (this.contentTypeLink) {\n this.contentTypeLink.isCacheable = true;\n return [this.contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n // $FlowFixMe[method-unbinding]\n setChildModels(models: Array<ModularUIModel>) {\n if (this.contentTypeLink) {\n const href = this.contentTypeLink.href;\n const contentTypeModel = models.find((model) =>\n model.selfhref.equalsWithParameters(href)\n );\n\n if (contentTypeModel?.type === \"ContentType\") {\n this.contentType = contentTypeModel;\n }\n }\n }\n\n /**\n * Retrieve content type\n */\n get contentType(): ?ContentTypeModel | null {\n return this._contentType;\n }\n\n /**\n * Set concept type\n */\n set contentType(contentType: ?ModularUIModel) {\n this._contentType =\n contentType instanceof ContentTypeModel ? contentType : null;\n }\n\n /**\n */\n set entryDate(entryDate: ISO_DATE) {\n this._entryDate = entryDate;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this.getData(\"_id\", \"\");\n }\n\n /**\n * Retrieve label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Retrieve the label of the source a link to a section belongs to\n */\n get sourceLabel(): string | null {\n return this.getData(\"sourceLabel\");\n }\n\n /**\n * Encode the content-identifier of the path to the content resource.\n * This makes it a single uri part, which can be used on routes to make nested routes\n */\n get encodedHref(): Href {\n const startURI = \"/content/\";\n\n const selfhref = this.data._links.self.href;\n const href = has(this.data, \"section\")\n ? new Href(\n `${startURI}${encodeURIComponent(\n selfhref.substring(\n startURI.length,\n selfhref.indexOf(this.data.section) - 1\n )\n )}/${this.getData(\"section\")}`\n )\n : new Href(\n `${startURI}${encodeURIComponent(\n this.data._links.self.href.substr(startURI.length)\n )}`\n );\n\n if (this._entryDate !== null) {\n return href.addParameter(TIMEVERSION_FILTER_NAME, this._entryDate);\n }\n\n return href;\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n Array.isArray(this.data._links) ? this.data._links[0] : this.data._links\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\n\n if (selflink === null) {\n throw new Error(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`\n );\n }\n\n return selflink;\n }\n\n /**\n * Self href of concept\n */\n get selfhref(): Href {\n if (this._entryDate !== null) {\n return this.selflink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this._entryDate\n );\n }\n\n return this.selflink.href;\n }\n\n /**\n */\n get subSectionID(): string {\n return this.selfhref.hash;\n }\n\n /**\n */\n get contentTypeLink(): LinkModel | null {\n return this.links.getLinkByKey(\"contenttype\");\n }\n\n /**\n * Concept type href of concept\n */\n get contentTypeHref(): Href | null {\n if (this.contentTypeLink) {\n return this.contentTypeLink.href;\n }\n\n return null;\n }\n\n /**\n * Children of link model in TOC\n */\n set items(items: Array<ContentLinkModel>) {\n this._items = items;\n }\n\n /**\n */\n get items(): Array<ContentLinkModel> {\n return this._items;\n }\n}\n"],"file":"ContentLinkModel.js"}
|
package/esm/models/href/Href.js
CHANGED
|
@@ -69,7 +69,7 @@ var Href = /*#__PURE__*/function () {
|
|
|
69
69
|
value: function setFromLocationOrObject(href) {
|
|
70
70
|
var _this = this;
|
|
71
71
|
|
|
72
|
-
if (href
|
|
72
|
+
if (typeof href["pathname"] === "string") {
|
|
73
73
|
this.path = href.pathname;
|
|
74
74
|
} else if (typeof href._path === "string") {
|
|
75
75
|
this.path = href._path;
|