@pega/custom-dx-components 8.8.16 → 8.8.18
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/.prettierrc.json +7 -1
- package/babel.config.cjs +13 -0
- package/jest.config.cjs +37 -0
- package/package.json +12 -4
- package/src/auth.js +9 -3
- package/src/cli.js +12 -0
- package/src/constants.js +9 -4
- package/src/currentPath.cjs +1 -0
- package/src/tasks/authenticate/index.js +43 -40
- package/src/tasks/build/helper.js +18 -31
- package/src/tasks/build/index.js +26 -6
- package/src/tasks/build-all/index.js +15 -3
- package/src/tasks/bundle/builder/index.js +5 -0
- package/src/tasks/bundle/builder/webpack.config.js +1 -3
- package/src/tasks/create/index.js +17 -7
- package/src/tasks/create/templates/Constellation/Field/Boolean/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/Date/DateFormatter.js.mustache +7 -7
- package/src/tasks/create/templates/Constellation/Field/Date/date.js.mustache +8 -8
- package/src/tasks/create/templates/Constellation/Field/Date/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/DateTime/date-time.js.mustache +10 -10
- package/src/tasks/create/templates/Constellation/Field/DateTime/date-utils.js.mustache +6 -5
- package/src/tasks/create/templates/Constellation/Field/DateTime/date.js.mustache +6 -3
- package/src/tasks/create/templates/Constellation/Field/DateTime/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/Decimal/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/Integer/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/Picklist/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/Text/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/Text-Email/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/Text-Input/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/Text-Phone/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/Text-URL/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/TimeOfDay/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Field/TimeOfDay/time-of-day.js.mustache +6 -5
- package/src/tasks/create/templates/Constellation/Template/DETAILS/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Template/FORM/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Template/FORM-region/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Template/PAGE/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Widget/CASE/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Widget/PAGE/styles.js.mustache +13 -6
- package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/styles.js.mustache +13 -6
- package/src/tasks/create-all/index.js +109 -150
- package/src/tasks/delete/helper.js +87 -53
- package/src/tasks/delete/index.js +8 -15
- package/src/tasks/delete-all/helper.js +132 -85
- package/src/tasks/delete-all/index.js +8 -15
- package/src/tasks/index.js +2 -0
- package/src/tasks/init/index.js +20 -22
- package/src/tasks/init/template/babel.config.cjs +13 -0
- package/src/tasks/init/template/jest.config.cjs +21 -0
- package/src/tasks/init/template/package.json.mustache +6 -4
- package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/config.json +55 -0
- package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/demo.stories.jsx +51 -0
- package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/index.jsx +60 -0
- package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/mock.stories.js +13 -0
- package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/Boolean.js +38 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/boolean-format.js +26 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/config.json +145 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/demo.stories.jsx +61 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/event-utils.js +18 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/index.jsx +170 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/mock.stories.js +21 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/OneColumnPage.svg +36 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/config.json +23 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/demo.stories.jsx +78 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/index.jsx +73 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/mock.stories.js +390 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/config.json +291 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/demo.stories.jsx +53 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/event-utils.js +18 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/index.jsx +296 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/mock.stories.js +23 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/DateFormatter.js +61 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/FormattedText.jsx +41 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/config.json +195 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/date.js +439 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/demo.stories.jsx +73 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/index.jsx +256 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/mock.stories.js +23 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/config.json +256 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date-time.js +92 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date-utils.js +288 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date.js +331 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/demo.stories.jsx +73 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/index.jsx +254 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/mock.stories.js +23 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/config.json +278 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/demo.stories.jsx +49 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/event-utils.js +18 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/index.jsx +270 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/mock.stories.js +21 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/OneColumnDetails.svg +22 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/StatusWork.jsx +26 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/config.json +35 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/demo.stories.jsx +132 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/index.jsx +83 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/mock.stories.js +189 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/utils.js +152 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/config.json +111 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/demo.stories.jsx +48 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/event-utils.js +18 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/index.jsx +231 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/mock.stories.js +22 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/DefaultForm.svg +29 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/config.json +45 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/demo.stories.jsx +166 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/index.jsx +42 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/mock.stories.js +137 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/config.json +344 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/demo.stories.jsx +49 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/event-utils.js +18 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/index.jsx +333 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/mock.stories.js +21 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/GetNextWork.jsx +35 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/OneColumnPage.svg +36 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/config.json +32 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/demo.stories.jsx +102 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/index.jsx +70 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/localizations.json +4 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/mock.stories.js +94 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/utils.js +229 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/Avatar.jsx +75 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/OneColumnPage.svg +36 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/Operator.jsx +237 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/config.json +66 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/demo.stories.jsx +68 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/index.jsx +108 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/mock.stories.js +51 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/OneColumnPage.svg +36 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/config.json +59 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/demo.stories.jsx +30 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/index.jsx +48 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/mock.stories.js +23 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/config.json +111 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/demo.stories.jsx +48 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/event-utils.js +18 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/index.jsx +231 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/mock.stories.js +20 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/config.json +93 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/demo.stories.jsx +49 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/event-utils.js +18 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/index.jsx +275 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/mock.stories.js +21 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/config.json +123 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/demo.stories.jsx +46 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/event-utils.js +18 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/index.jsx +266 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/mock.stories.js +37 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/config.json +114 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/demo.stories.jsx +78 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/event-utils.js +18 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/index.jsx +351 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/mock.stories.js +67 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/config.json +55 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/demo.stories.jsx +51 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/index.jsx +60 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/mock.stories.js +13 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/StatusWork.jsx +26 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/config.json +111 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/demo.stories.jsx +48 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/event-utils.js +18 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/index.jsx +239 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/mock.stories.js +21 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/config.json +185 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/demo.stories.jsx +57 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/index.jsx +213 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/mock.stories.js +20 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/time-of-day.js +288 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/StatusWork.jsx +26 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/TwoColumnDetails.svg +28 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/config.json +42 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/demo.stories.jsx +136 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/index.jsx +83 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/mock.stories.js +230 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/utils.js +155 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/TwoColumn.svg +38 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/config.json +27 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/demo.stories.jsx +175 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/index.jsx +45 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/mock.stories.js +143 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/config.json +237 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/demo.stories.jsx +46 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/event-utils.js +18 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/index.jsx +232 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/mock.stories.js +22 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/styles.js +14 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/suggestions-handler.js +10 -0
- package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/text-url.jsx +173 -0
- package/src/tasks/init/template/test/functionTest/localCreateAllListDeleteAll.test.js +157 -0
- package/src/tasks/init/template/test/functionTest/localCreateBuildAllDeleteAll.test.js +148 -0
- package/src/tasks/init/template/test/functionTest/localCreateBuildDelete.test.js +84 -0
- package/src/tasks/init/template/test/functionTest/localCreateListDelete.test.js +108 -0
- package/src/tasks/init/template/test/functionTest/localCreatePublishAllDeleteAll.test.js +148 -0
- package/src/tasks/init/template/test/functionTest/localCreatePublishDelete.test.js +84 -0
- package/src/tasks/init/template/test/functionTest/localCreateRenameDelete.test.js +84 -0
- package/src/tasks/init/template/test/functionTest/localPromoteRevertWP.test.js +59 -0
- package/src/tasks/list/helper.js +129 -61
- package/src/tasks/list/index.js +3 -4
- package/src/tasks/promote-webpack/index.js +126 -0
- package/src/tasks/promote-webpack/webpack.config.js +376 -0
- package/src/tasks/publish/helper.js +69 -80
- package/src/tasks/publish/index.js +29 -12
- package/src/tasks/publish-all/helper.js +66 -83
- package/src/tasks/publish-all/index.js +30 -18
- package/src/tasks/rename/index.js +127 -97
- package/src/tasks/revert-webpack/index.js +71 -0
- package/src/util.js +205 -108
- package/test/unitTest/util.test.js +544 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { withKnobs } from '@storybook/addon-knobs';
|
|
2
|
+
import { configProps, stateProps } from './mock.stories';
|
|
3
|
+
import PegaDxilMyTimeOfDay from './index.jsx';
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: 'PegaDxilMyTimeOfDay',
|
|
7
|
+
decorators: [withKnobs],
|
|
8
|
+
component: PegaDxilMyTimeOfDay
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const basePegaDxilMyTimeOfDay = () => {
|
|
12
|
+
const props = {
|
|
13
|
+
getPConnect: () => {
|
|
14
|
+
return {
|
|
15
|
+
getActionsApi: () => {
|
|
16
|
+
return {
|
|
17
|
+
updateFieldValue: () => {/* nothing */},
|
|
18
|
+
triggerFieldChange: () => {/* nothing */}
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
getValidationApi: () => {
|
|
22
|
+
return {
|
|
23
|
+
validate: () => {/* nothing */}
|
|
24
|
+
};
|
|
25
|
+
},
|
|
26
|
+
getStateProps: () => {
|
|
27
|
+
return stateProps;
|
|
28
|
+
},
|
|
29
|
+
getConfigProps: () => {
|
|
30
|
+
return configProps;
|
|
31
|
+
},
|
|
32
|
+
ignoreSuggestion: () => {/* nothing */},
|
|
33
|
+
clearErrorMessages: () => {/* nothing */}
|
|
34
|
+
};
|
|
35
|
+
},
|
|
36
|
+
value: configProps.value,
|
|
37
|
+
validatemessage: configProps.validatemessage,
|
|
38
|
+
label: configProps.label,
|
|
39
|
+
hideLabel: configProps.hideLabel,
|
|
40
|
+
helperText: configProps.helperText,
|
|
41
|
+
withSeconds: configProps.withSeconds,
|
|
42
|
+
testId: configProps.testId,
|
|
43
|
+
additionalProps: configProps.additionalProps,
|
|
44
|
+
displayMode: configProps.displayMode,
|
|
45
|
+
variant: configProps.variant,
|
|
46
|
+
hasSuggestions: configProps.hasSuggestions,
|
|
47
|
+
disabled: configProps.disabled,
|
|
48
|
+
readOnly: configProps.readOnly,
|
|
49
|
+
required: configProps.required
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
return (
|
|
53
|
+
<>
|
|
54
|
+
<PegaDxilMyTimeOfDay {...props} />
|
|
55
|
+
</>
|
|
56
|
+
);
|
|
57
|
+
};
|
package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/index.jsx
ADDED
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { TimeInput, FieldValueList, DateTimeDisplay, Text } from '@pega/cosmos-react-core';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
|
|
5
|
+
// includes in bundle
|
|
6
|
+
import {
|
|
7
|
+
parseClockFormat,
|
|
8
|
+
timeCorrectedToSeconds,
|
|
9
|
+
datetimeFireChangeBlurEvents
|
|
10
|
+
} from "./time-of-day";
|
|
11
|
+
import { suggestionsHandler } from './suggestions-handler';
|
|
12
|
+
|
|
13
|
+
import StyledPegaDxilMyTimeOfDayWrapper from './styles';
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
// Duplicated runtime code from Constellation Design System Component
|
|
17
|
+
|
|
18
|
+
// props passed in combination of props from property panel (config.json) and run time props from Constellation
|
|
19
|
+
// any default values in config.pros should be set in defaultProps at bottom of this file
|
|
20
|
+
const PegaDxilMyTimeOfDay = props => {
|
|
21
|
+
const {
|
|
22
|
+
getPConnect,
|
|
23
|
+
value,
|
|
24
|
+
validatemessage,
|
|
25
|
+
label,
|
|
26
|
+
hideLabel,
|
|
27
|
+
helperText,
|
|
28
|
+
withSeconds,
|
|
29
|
+
pickerInterval,
|
|
30
|
+
testId,
|
|
31
|
+
additionalProps,
|
|
32
|
+
displayMode,
|
|
33
|
+
variant,
|
|
34
|
+
hasSuggestions
|
|
35
|
+
} = props;
|
|
36
|
+
let { formatter } = props;
|
|
37
|
+
const pConn = getPConnect();
|
|
38
|
+
const actions = pConn.getActionsApi();
|
|
39
|
+
const propName = pConn.getStateProps().value;
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
// BUG-547602: Temporary type coercion for 8.5 until DXAPIs are enhanced to pass original pxViewMetadata JSON, respecting boolean primitives
|
|
43
|
+
let { readOnly, required, disabled } = props;
|
|
44
|
+
[readOnly, required, disabled] = [readOnly, required, disabled].map(
|
|
45
|
+
(prop) => prop === true || (typeof prop === 'string' && prop === 'true')
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
let { clockFormat } = props;
|
|
49
|
+
clockFormat = parseClockFormat(clockFormat);
|
|
50
|
+
|
|
51
|
+
const [status, setStatus] = useState(hasSuggestions ? 'pending' : undefined);
|
|
52
|
+
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
if (validatemessage !== '') {
|
|
55
|
+
setStatus('error');
|
|
56
|
+
}
|
|
57
|
+
if (hasSuggestions) {
|
|
58
|
+
setStatus('pending');
|
|
59
|
+
} else if (!hasSuggestions && status !== 'success') {
|
|
60
|
+
setStatus(validatemessage !== '' ? 'error' : undefined);
|
|
61
|
+
}
|
|
62
|
+
}, [validatemessage, hasSuggestions]);
|
|
63
|
+
|
|
64
|
+
const onResolveSuggestionHandler = (accepted) => {
|
|
65
|
+
suggestionsHandler(accepted, pConn, setStatus);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
function handleBlur(onBlurValue) {
|
|
69
|
+
const { valueAsISOString: time, state: errorState } = onBlurValue;
|
|
70
|
+
const trimmedTime = time ? timeCorrectedToSeconds(time, withSeconds) : time;
|
|
71
|
+
datetimeFireChangeBlurEvents(errorState, value, trimmedTime, actions, propName, pConn);
|
|
72
|
+
const isValueChanged = !(value === undefined && trimmedTime === '') && value !== trimmedTime;
|
|
73
|
+
if (hasSuggestions && isValueChanged) {
|
|
74
|
+
pConn.ignoreSuggestion();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function handleChange(onChangeValue) {
|
|
79
|
+
const { valueAsISOString: time } = onChangeValue;
|
|
80
|
+
const trimmedTime = time ? timeCorrectedToSeconds(time, withSeconds) : time;
|
|
81
|
+
if (hasSuggestions && value !== trimmedTime) {
|
|
82
|
+
setStatus(undefined);
|
|
83
|
+
}
|
|
84
|
+
pConn.clearErrorMessages({
|
|
85
|
+
property: propName
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (displayMode === 'LABELS_LEFT' || displayMode === 'STACKED_LARGE_VAL' || displayMode === 'DISPLAY_ONLY') {
|
|
90
|
+
let variantValue = 'time';
|
|
91
|
+
let formatValue = withSeconds ? 'long' : 'short';
|
|
92
|
+
if (pConn && pConn.getConfigProps()) {
|
|
93
|
+
const runtimeformatter = pConn.getConfigProps()?.formatter;
|
|
94
|
+
if (formatter !== runtimeformatter) {
|
|
95
|
+
formatter = runtimeformatter;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (formatter === 'Time-Only') {
|
|
99
|
+
variantValue = 'time';
|
|
100
|
+
formatValue = 'long';
|
|
101
|
+
}
|
|
102
|
+
const displayComp = (
|
|
103
|
+
<DateTimeDisplay
|
|
104
|
+
variant={variantValue}
|
|
105
|
+
format={formatValue}
|
|
106
|
+
value={value}
|
|
107
|
+
clockFormat={clockFormat || undefined}
|
|
108
|
+
/>
|
|
109
|
+
);
|
|
110
|
+
switch (displayMode) {
|
|
111
|
+
case 'DISPLAY_ONLY': {
|
|
112
|
+
return ( <StyledPegaDxilMyTimeOfDayWrapper> displayComp </StyledPegaDxilMyTimeOfDayWrapper>);
|
|
113
|
+
}
|
|
114
|
+
case 'LABELS_LEFT': {
|
|
115
|
+
return (
|
|
116
|
+
<StyledPegaDxilMyTimeOfDayWrapper>
|
|
117
|
+
<FieldValueList
|
|
118
|
+
variant={hideLabel ? 'stacked' : variant}
|
|
119
|
+
data-testid={testId}
|
|
120
|
+
fields={[{ id: '1', name: hideLabel ? '' : label, value: displayComp }]}
|
|
121
|
+
/>
|
|
122
|
+
</StyledPegaDxilMyTimeOfDayWrapper>
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
case 'STACKED_LARGE_VAL': {
|
|
126
|
+
return (
|
|
127
|
+
<StyledPegaDxilMyTimeOfDayWrapper>
|
|
128
|
+
<FieldValueList
|
|
129
|
+
variant='stacked'
|
|
130
|
+
data-testid={testId}
|
|
131
|
+
fields={[
|
|
132
|
+
{
|
|
133
|
+
id: '2',
|
|
134
|
+
name: hideLabel ? '' : label,
|
|
135
|
+
value: (
|
|
136
|
+
<Text variant='h1' as='span'>
|
|
137
|
+
{displayComp}
|
|
138
|
+
</Text>
|
|
139
|
+
)
|
|
140
|
+
}
|
|
141
|
+
]}
|
|
142
|
+
/>
|
|
143
|
+
</StyledPegaDxilMyTimeOfDayWrapper>
|
|
144
|
+
);
|
|
145
|
+
}
|
|
146
|
+
// no default
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
return (
|
|
151
|
+
<StyledPegaDxilMyTimeOfDayWrapper>
|
|
152
|
+
<TimeInput
|
|
153
|
+
{...additionalProps}
|
|
154
|
+
label={label}
|
|
155
|
+
labelHidden={hideLabel}
|
|
156
|
+
info={validatemessage || helperText}
|
|
157
|
+
status={status}
|
|
158
|
+
value={value || undefined}
|
|
159
|
+
withSeconds={withSeconds}
|
|
160
|
+
disabled={disabled}
|
|
161
|
+
readOnly={readOnly}
|
|
162
|
+
required={required}
|
|
163
|
+
pickerInterval={pickerInterval}
|
|
164
|
+
clockFormat={clockFormat || undefined}
|
|
165
|
+
data-testid={testId}
|
|
166
|
+
onFocus={actions.onFocus}
|
|
167
|
+
onChange={handleChange}
|
|
168
|
+
onBlur={handleBlur}
|
|
169
|
+
onResolveSuggestion={onResolveSuggestionHandler}
|
|
170
|
+
/>
|
|
171
|
+
</StyledPegaDxilMyTimeOfDayWrapper>
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
PegaDxilMyTimeOfDay.defaultProps = {
|
|
176
|
+
value: undefined,
|
|
177
|
+
withSeconds: false,
|
|
178
|
+
validatemessage: "",
|
|
179
|
+
helperText: "",
|
|
180
|
+
hideLabel: false,
|
|
181
|
+
disabled: false,
|
|
182
|
+
readOnly: false,
|
|
183
|
+
required: false,
|
|
184
|
+
pickerInterval: "30",
|
|
185
|
+
clockFormat: 0,
|
|
186
|
+
testId: null,
|
|
187
|
+
additionalProps: {},
|
|
188
|
+
displayMode: null,
|
|
189
|
+
variant: "inline",
|
|
190
|
+
formatter:"defaultTime"
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
PegaDxilMyTimeOfDay.propTypes = {
|
|
194
|
+
value: PropTypes.string,
|
|
195
|
+
label: PropTypes.string.isRequired,
|
|
196
|
+
hideLabel: PropTypes.bool,
|
|
197
|
+
withSeconds: PropTypes.bool,
|
|
198
|
+
getPConnect: PropTypes.func.isRequired,
|
|
199
|
+
validatemessage: PropTypes.string,
|
|
200
|
+
helperText: PropTypes.string,
|
|
201
|
+
disabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
|
|
202
|
+
readOnly: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
|
|
203
|
+
required: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
|
|
204
|
+
pickerInterval: PropTypes.string,
|
|
205
|
+
clockFormat: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
206
|
+
testId: PropTypes.string,
|
|
207
|
+
additionalProps: PropTypes.objectOf(PropTypes.any),
|
|
208
|
+
displayMode: PropTypes.string,
|
|
209
|
+
variant: PropTypes.string,
|
|
210
|
+
formatter : PropTypes.string
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
export default PegaDxilMyTimeOfDay;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export const configProps = {
|
|
2
|
+
value: '13:30',
|
|
3
|
+
validatemessage: '',
|
|
4
|
+
label: 'TimeOfDay Label',
|
|
5
|
+
hideLabel: false,
|
|
6
|
+
helperText: 'TimeOfDay helper text',
|
|
7
|
+
withSeconds: false,
|
|
8
|
+
testId: '12345678',
|
|
9
|
+
additionalProps: {},
|
|
10
|
+
displayMode: '',
|
|
11
|
+
variant: '',
|
|
12
|
+
hasSuggestions: false,
|
|
13
|
+
readOnly: false,
|
|
14
|
+
required: false,
|
|
15
|
+
disabled: false
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const stateProps = {
|
|
19
|
+
value: '.TimeOfDayLabel'
|
|
20
|
+
};
|
package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/styles.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// utilizing theming, comment out, if want individual style
|
|
2
|
+
import styled from 'styled-components';
|
|
3
|
+
import { Configuration } from '@pega/cosmos-react-core';
|
|
4
|
+
|
|
5
|
+
export default styled(Configuration)``;
|
|
6
|
+
|
|
7
|
+
// individual style, comment out above, and uncomment here and add styles
|
|
8
|
+
// import styled, { css } from 'styled-components';
|
|
9
|
+
//
|
|
10
|
+
// export default styled.div(() => {
|
|
11
|
+
// return css`
|
|
12
|
+
// margin: 0px 0;
|
|
13
|
+
// `;
|
|
14
|
+
// });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* eslint-disable import/prefer-default-export */
|
|
2
|
+
export const suggestionsHandler = (accepted, pConn, setStatus) => {
|
|
3
|
+
if (accepted) {
|
|
4
|
+
pConn.acceptSuggestion();
|
|
5
|
+
setStatus('success');
|
|
6
|
+
} else {
|
|
7
|
+
pConn.ignoreSuggestion();
|
|
8
|
+
setStatus(undefined);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
/* eslint-disable no-undef */
|
|
2
|
+
import dayjs from "dayjs";
|
|
3
|
+
import relativeTime from 'dayjs/plugin/relativeTime.js';
|
|
4
|
+
import localizedFormat from 'dayjs/plugin/localizedFormat.js';
|
|
5
|
+
import utc from 'dayjs/plugin/utc.js';
|
|
6
|
+
import timezone from 'dayjs/plugin/timezone.js';
|
|
7
|
+
|
|
8
|
+
dayjs.extend(relativeTime);
|
|
9
|
+
dayjs.extend(localizedFormat);
|
|
10
|
+
dayjs.extend(utc);
|
|
11
|
+
dayjs.extend(timezone);
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Return relative time in fromNow for the given datetime
|
|
15
|
+
* @description Convert and return the given datetime in dayJSObject
|
|
16
|
+
*
|
|
17
|
+
* @param {string} text datetime
|
|
18
|
+
* @returns {object} datetime as a dayjs object
|
|
19
|
+
*/
|
|
20
|
+
export const getDayJSObject = (text) => {
|
|
21
|
+
const momObj = dayjs(text);
|
|
22
|
+
if (momObj.isValid()) return momObj;
|
|
23
|
+
const timeStamp = text;
|
|
24
|
+
const isDateTime = timeStamp.indexOf("GMT") !== -1;
|
|
25
|
+
const year = parseInt(timeStamp.substr(0, 4), 10);
|
|
26
|
+
const month = parseInt(timeStamp.substr(4, 2), 10) - 1;
|
|
27
|
+
const day = parseInt(timeStamp.substr(6, 2), 10);
|
|
28
|
+
|
|
29
|
+
const CurrentTz = PCore.getLocaleUtils().getTimeZoneInUse();
|
|
30
|
+
|
|
31
|
+
let mom = new Date();
|
|
32
|
+
|
|
33
|
+
mom.setUTCDate(day);
|
|
34
|
+
mom.setUTCMonth(month);
|
|
35
|
+
mom.setUTCFullYear(year);
|
|
36
|
+
|
|
37
|
+
/* istanbul ignore else */
|
|
38
|
+
if (isDateTime) {
|
|
39
|
+
const hours = parseInt(timeStamp.substr(9, 2), 10);
|
|
40
|
+
const minutes = parseInt(timeStamp.substr(11, 2), 10);
|
|
41
|
+
const seconds = parseInt(timeStamp.substr(13, 2), 10);
|
|
42
|
+
const ms = parseInt(timeStamp.substr(16, 3), 10);
|
|
43
|
+
mom.setUTCHours(hours);
|
|
44
|
+
mom.setUTCMinutes(minutes);
|
|
45
|
+
mom.setUTCSeconds(seconds);
|
|
46
|
+
mom.setUTCMilliseconds(ms);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
mom = dayjs(
|
|
50
|
+
mom.toLocaleString("en-US", {
|
|
51
|
+
timeZone: CurrentTz
|
|
52
|
+
})
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
return mom;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Return relative time in fromNow for the given datetime
|
|
60
|
+
*
|
|
61
|
+
* @param {string} time datetime
|
|
62
|
+
* @returns {object} relative time from now
|
|
63
|
+
*/
|
|
64
|
+
export const getRelativeTime = (time) => {
|
|
65
|
+
let relativetime = "";
|
|
66
|
+
if (dayjs(time).isUTC()) {
|
|
67
|
+
relativetime = dayjs(time).fromNow();
|
|
68
|
+
} else {
|
|
69
|
+
const dayjstime = getDayJSObject(time);
|
|
70
|
+
relativetime = dayjs(dayjstime).fromNow();
|
|
71
|
+
}
|
|
72
|
+
return relativetime;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Return year for the date passed
|
|
77
|
+
*
|
|
78
|
+
* @param {string} value from which Year needs to be taken out
|
|
79
|
+
* @returns {number} year for the date passed
|
|
80
|
+
*/
|
|
81
|
+
export const getFullYear = (value) =>
|
|
82
|
+
value ? new Date(value).getFullYear() : new Date().getFullYear();
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Return maxDate for the date passed
|
|
86
|
+
*
|
|
87
|
+
* @param {number} nextYears next number of years
|
|
88
|
+
* @param {number} currentYear current year
|
|
89
|
+
* @param {number} yearFromValue year set on value in redux
|
|
90
|
+
*
|
|
91
|
+
* @returns {string} maxDate calculated based on inputs
|
|
92
|
+
*/
|
|
93
|
+
export const getMaxDate = (nextYears, currentYear, yearFromValue) => {
|
|
94
|
+
if (Number.isNaN(nextYears)) {
|
|
95
|
+
nextYears = 20;
|
|
96
|
+
}
|
|
97
|
+
let maxYear = currentYear + nextYears;
|
|
98
|
+
if (yearFromValue > maxYear) {
|
|
99
|
+
maxYear = yearFromValue;
|
|
100
|
+
}
|
|
101
|
+
return `${maxYear}-01-01`;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Return minDate for the date passed
|
|
106
|
+
*
|
|
107
|
+
* @param {number} previousYears previous number of years
|
|
108
|
+
* @param {number} currentYear current year
|
|
109
|
+
* @param {number} yearFromValue year set on value in redux
|
|
110
|
+
*
|
|
111
|
+
* @returns {string} minDate calculated based on inputs
|
|
112
|
+
*/
|
|
113
|
+
export const getMinDate = (previousYears, currentYear, yearFromValue) => {
|
|
114
|
+
if (Number.isNaN(previousYears)) {
|
|
115
|
+
previousYears = 100;
|
|
116
|
+
}
|
|
117
|
+
let minYear = currentYear - previousYears;
|
|
118
|
+
if (yearFromValue < minYear) {
|
|
119
|
+
minYear = yearFromValue;
|
|
120
|
+
}
|
|
121
|
+
return `${minYear}-12-31`;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Return clockFormat after parsing
|
|
126
|
+
*
|
|
127
|
+
* @param {number | string} clockFormat chosen by user
|
|
128
|
+
*
|
|
129
|
+
* @returns {number} clockFormat
|
|
130
|
+
*/
|
|
131
|
+
export const parseClockFormat = (clockFormat) =>
|
|
132
|
+
typeof clockFormat === "string" ? parseInt(clockFormat, 10) : clockFormat;
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Return datetime value string off to seconds
|
|
136
|
+
*
|
|
137
|
+
* @param {string} datetime in ISO format
|
|
138
|
+
* @param {boolean} withSeconds to specify if seconds is needed or not
|
|
139
|
+
*
|
|
140
|
+
* @returns {string} datetime after stripping of ms and seconds if selected to
|
|
141
|
+
*/
|
|
142
|
+
export const correctDateTimeToSeconds = (datetime, withSeconds) => {
|
|
143
|
+
if (withSeconds) {
|
|
144
|
+
return `${datetime.substring(0, datetime.indexOf("Z"))}.000Z`;
|
|
145
|
+
}
|
|
146
|
+
return `${datetime.substring(0, datetime.lastIndexOf(":"))}:00.000Z`;
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Return time value string off to seconds
|
|
151
|
+
*
|
|
152
|
+
* @param {string} datetime in ISO format
|
|
153
|
+
* @param {boolean} withSeconds to specify if seconds is needed or not
|
|
154
|
+
*
|
|
155
|
+
* @returns {string} just time after stripping of ms and seconds if selected to
|
|
156
|
+
*/
|
|
157
|
+
export const timeCorrectedToSeconds = (datetime, withSeconds) => {
|
|
158
|
+
if (withSeconds) {
|
|
159
|
+
return datetime.substring(datetime.indexOf("T") + 1, datetime.indexOf("."));
|
|
160
|
+
}
|
|
161
|
+
return `${datetime.substring(
|
|
162
|
+
datetime.indexOf("T") + 1,
|
|
163
|
+
datetime.lastIndexOf(":")
|
|
164
|
+
)}:00`;
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* This function handles the cosmos blur handler of DateTime components
|
|
169
|
+
*
|
|
170
|
+
* @param {string | undefined} errorState for the selected datetime value
|
|
171
|
+
* @param {string} actualValue present in redux
|
|
172
|
+
* @param {string} formattedValue retrieved by trimming ISO to just Date/Time, also applying timezone if DateTime
|
|
173
|
+
* @param {object} actions object which has fire and blur callbacks
|
|
174
|
+
* @param {string} propName name of the property bound
|
|
175
|
+
* @param {object} pConn component's PConnect object which is useful to invoke validationApi
|
|
176
|
+
*
|
|
177
|
+
* @returns {void}
|
|
178
|
+
*/
|
|
179
|
+
export const datetimeFireChangeBlurEvents = (
|
|
180
|
+
errorState,
|
|
181
|
+
actualValue,
|
|
182
|
+
formattedValue,
|
|
183
|
+
actions,
|
|
184
|
+
propName,
|
|
185
|
+
pConn
|
|
186
|
+
) => {
|
|
187
|
+
|
|
188
|
+
// TODO - clean up, we should not rely on timestamp from cosmos to check InComplete validation
|
|
189
|
+
// above triggerFieldChange should have validated this
|
|
190
|
+
if (errorState) {
|
|
191
|
+
pConn.getValidationApi().validate(errorState);
|
|
192
|
+
}
|
|
193
|
+
// BUG-640834 In errorState presist old values avoiding store update & re-render.
|
|
194
|
+
else{
|
|
195
|
+
if (formattedValue !== actualValue) {
|
|
196
|
+
actions.updateFieldValue(propName, formattedValue);
|
|
197
|
+
}
|
|
198
|
+
actions.triggerFieldChange(propName, formattedValue);
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Return Date format for the locale passed
|
|
204
|
+
*
|
|
205
|
+
* @param {string} locale locale string
|
|
206
|
+
* @param {object} options options for format string
|
|
207
|
+
* @returns {string} dateformat for the locale
|
|
208
|
+
* Example : getDateFormat("pl-PL") returns "DD.MM.YYYY"
|
|
209
|
+
*/
|
|
210
|
+
export const getDateFormat = (locale, options) => {
|
|
211
|
+
return new Intl.DateTimeFormat(locale, options)
|
|
212
|
+
.formatToParts()
|
|
213
|
+
.map(({ type, value }) => {
|
|
214
|
+
switch (type) {
|
|
215
|
+
case "day":
|
|
216
|
+
return "DD";
|
|
217
|
+
case "month":
|
|
218
|
+
return "MM";
|
|
219
|
+
case "year":
|
|
220
|
+
return "YYYY";
|
|
221
|
+
case "hour":
|
|
222
|
+
return "hh";
|
|
223
|
+
case "minute":
|
|
224
|
+
return "mm";
|
|
225
|
+
case "second":
|
|
226
|
+
return "ss";
|
|
227
|
+
case "dayPeriod":
|
|
228
|
+
return "A";
|
|
229
|
+
case "literal":
|
|
230
|
+
return value;
|
|
231
|
+
default:
|
|
232
|
+
return "";
|
|
233
|
+
}
|
|
234
|
+
})
|
|
235
|
+
.join("");
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Return boolean for the locale passed to specify if locale uses 12 hour format
|
|
240
|
+
*
|
|
241
|
+
* @param {string} locale locale string
|
|
242
|
+
* @returns {boolean} True or False for the locale
|
|
243
|
+
* Example : getDateFormat("pl-PL") returns false
|
|
244
|
+
*/
|
|
245
|
+
export const is12HClockFormat = (locale) => {
|
|
246
|
+
const meridiem = new Intl.DateTimeFormat(locale, {
|
|
247
|
+
hour: "numeric"
|
|
248
|
+
})
|
|
249
|
+
.formatToParts()
|
|
250
|
+
.find(({ type }) => type === "dayPeriod");
|
|
251
|
+
return !!(meridiem === null || meridiem === undefined
|
|
252
|
+
? undefined
|
|
253
|
+
: meridiem.value);
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Return Option object for Time formatting
|
|
258
|
+
*
|
|
259
|
+
* @param {boolean} withSeconds true or false depending on seconds to be included
|
|
260
|
+
* @param {boolean} is12h 12 hour format
|
|
261
|
+
* @returns {object} options object time formatting
|
|
262
|
+
* Example : getTimeOptions(false, true) returns {hour: 'numeric',minute: 'numeric',hour12: true}
|
|
263
|
+
*/
|
|
264
|
+
export const getTimeOptions = (withSeconds, is12h = false) => {
|
|
265
|
+
return {
|
|
266
|
+
hour: "numeric",
|
|
267
|
+
minute: "numeric",
|
|
268
|
+
...(withSeconds && { second: "numeric" }),
|
|
269
|
+
hour12: is12h
|
|
270
|
+
};
|
|
271
|
+
};
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Return Option object for Datetime formatting
|
|
275
|
+
*
|
|
276
|
+
* @param {boolean} withSeconds true or false depending on seconds to be included
|
|
277
|
+
* @param {boolean} is12h 12 hour format
|
|
278
|
+
* @returns {object} options object datetime formatting
|
|
279
|
+
* Example : getDateTimeOptions(false, true) returns {year: 'numeric',month: 'numeric',day: 'numeric',hour: 'numeric',minute: 'numeric',hour12: true}
|
|
280
|
+
*/
|
|
281
|
+
export const getDateTimeOptions = (withSeconds, is12h = false) => {
|
|
282
|
+
return {
|
|
283
|
+
year: "numeric",
|
|
284
|
+
month: "numeric",
|
|
285
|
+
day: "numeric",
|
|
286
|
+
...getTimeOptions(withSeconds, is12h)
|
|
287
|
+
};
|
|
288
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Status } from "@pega/cosmos-react-core";
|
|
2
|
+
|
|
3
|
+
export default function StatusWorkRenderer({ value }) {
|
|
4
|
+
let variant = "info";
|
|
5
|
+
|
|
6
|
+
const warnStrings = ["fail", "cancel", "reject", "revoke", "stopped", "warn"];
|
|
7
|
+
const infoStrings = ["open", "hold", "info", "new"];
|
|
8
|
+
const successStrings = ["resolved", "completed", "success"];
|
|
9
|
+
const pendingStrings = ["pending"];
|
|
10
|
+
|
|
11
|
+
if (new RegExp(warnStrings.join("|"), "i").test(value)) {
|
|
12
|
+
variant = "warn";
|
|
13
|
+
} else if (new RegExp(infoStrings.join("|"), "i").test(value)) {
|
|
14
|
+
variant = "info";
|
|
15
|
+
} else if (new RegExp(successStrings.join("|"), "i").test(value)) {
|
|
16
|
+
variant = "success";
|
|
17
|
+
} else if (new RegExp(pendingStrings.join("|"), "i").test(value)) {
|
|
18
|
+
variant = "pending";
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<Status type="rectangle" variant={variant}>
|
|
23
|
+
{value}
|
|
24
|
+
</Status>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="100px" height="70px" viewBox="0 0 100 70" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>2 col </title>
|
|
4
|
+
<g id="Page-Config" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<g id="Page-layouts" transform="translate(-847.000000, -84.000000)">
|
|
6
|
+
<g id="2-col-" transform="translate(847.000000, 84.000000)">
|
|
7
|
+
<rect id="bg" stroke="#A5A8BC" stroke-width="0.5" fill="#E7E9EB" x="0.25" y="0.25" width="99.5" height="69.5"></rect>
|
|
8
|
+
<g id="white" transform="translate(3.000000, 3.000000)" fill="#FFFFFF">
|
|
9
|
+
<rect id="Rectangle" x="0" y="0" width="94" height="66.5"></rect>
|
|
10
|
+
</g>
|
|
11
|
+
<g id="gray-copy-2" transform="translate(6.000000, 6.000000)" fill="#8084A7">
|
|
12
|
+
<rect id="Rectangle" x="0" y="-2.84217094e-14" width="42" height="63.8"></rect>
|
|
13
|
+
<rect id="Rectangle" x="46" y="-2.84217094e-14" width="42" height="63.8"></rect>
|
|
14
|
+
</g>
|
|
15
|
+
<g id="labels-copy" transform="translate(22.000000, 17.000000)" fill="#FFFFFF" font-family="OpenSans-Semibold, Open Sans" font-size="11" font-weight="500">
|
|
16
|
+
<text id="B">
|
|
17
|
+
<tspan x="45.75" y="12">B</tspan>
|
|
18
|
+
</text>
|
|
19
|
+
<g id="labels">
|
|
20
|
+
<text id="A">
|
|
21
|
+
<tspan x="0.75" y="12">A</tspan>
|
|
22
|
+
</text>
|
|
23
|
+
</g>
|
|
24
|
+
</g>
|
|
25
|
+
</g>
|
|
26
|
+
</g>
|
|
27
|
+
</g>
|
|
28
|
+
</svg>
|