@wavemaker-ai/app-ng-runtime 1.0.0-rc.309
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/build-task/.npmignore +2 -0
- package/build-task/bundles/index.umd.js +3060 -0
- package/build-task/fesm2022/index.mjs +2949 -0
- package/build-task/fesm2022/index.mjs.map +1 -0
- package/build-task/index.d.ts +882 -0
- package/build-task/package.json +23 -0
- package/components/advanced/carousel/.npmignore +2 -0
- package/components/advanced/carousel/bundles/index.umd.js +352 -0
- package/components/advanced/carousel/fesm2022/index.mjs +335 -0
- package/components/advanced/carousel/fesm2022/index.mjs.map +1 -0
- package/components/advanced/carousel/index.d.ts +89 -0
- package/components/advanced/carousel/package.json +18 -0
- package/components/advanced/custom/.npmignore +2 -0
- package/components/advanced/custom/bundles/index.umd.js +258 -0
- package/components/advanced/custom/fesm2022/index.mjs +244 -0
- package/components/advanced/custom/fesm2022/index.mjs.map +1 -0
- package/components/advanced/custom/index.d.ts +50 -0
- package/components/advanced/custom/package.json +18 -0
- package/components/advanced/login/.npmignore +2 -0
- package/components/advanced/login/bundles/index.umd.js +135 -0
- package/components/advanced/login/fesm2022/index.mjs +120 -0
- package/components/advanced/login/fesm2022/index.mjs.map +1 -0
- package/components/advanced/login/index.d.ts +34 -0
- package/components/advanced/login/package.json +18 -0
- package/components/advanced/marquee/.npmignore +2 -0
- package/components/advanced/marquee/bundles/index.umd.js +71 -0
- package/components/advanced/marquee/fesm2022/index.mjs +53 -0
- package/components/advanced/marquee/fesm2022/index.mjs.map +1 -0
- package/components/advanced/marquee/index.d.ts +12 -0
- package/components/advanced/marquee/package.json +18 -0
- package/components/base/.npmignore +2 -0
- package/components/base/bundles/index.umd.js +6055 -0
- package/components/base/fesm2022/index.mjs +5931 -0
- package/components/base/fesm2022/index.mjs.map +1 -0
- package/components/base/index.d.ts +1436 -0
- package/components/base/package.json +26 -0
- package/components/basic/anchor/.npmignore +2 -0
- package/components/basic/anchor/bundles/index.umd.js +204 -0
- package/components/basic/anchor/fesm2022/index.mjs +187 -0
- package/components/basic/anchor/fesm2022/index.mjs.map +1 -0
- package/components/basic/anchor/index.d.ts +40 -0
- package/components/basic/anchor/package.json +18 -0
- package/components/basic/audio/.npmignore +2 -0
- package/components/basic/audio/bundles/index.umd.js +83 -0
- package/components/basic/audio/fesm2022/index.mjs +65 -0
- package/components/basic/audio/fesm2022/index.mjs.map +1 -0
- package/components/basic/audio/index.d.ts +23 -0
- package/components/basic/audio/package.json +18 -0
- package/components/basic/html/.npmignore +2 -0
- package/components/basic/html/bundles/index.umd.js +122 -0
- package/components/basic/html/fesm2022/index.mjs +105 -0
- package/components/basic/html/fesm2022/index.mjs.map +1 -0
- package/components/basic/html/index.d.ts +17 -0
- package/components/basic/html/package.json +18 -0
- package/components/basic/icon/.npmignore +2 -0
- package/components/basic/icon/bundles/index.umd.js +80 -0
- package/components/basic/icon/fesm2022/index.mjs +62 -0
- package/components/basic/icon/fesm2022/index.mjs.map +1 -0
- package/components/basic/icon/index.d.ts +18 -0
- package/components/basic/icon/package.json +18 -0
- package/components/basic/iframe/.npmignore +2 -0
- package/components/basic/iframe/bundles/index.umd.js +101 -0
- package/components/basic/iframe/fesm2022/index.mjs +84 -0
- package/components/basic/iframe/fesm2022/index.mjs.map +1 -0
- package/components/basic/iframe/index.d.ts +29 -0
- package/components/basic/iframe/package.json +18 -0
- package/components/basic/label/.npmignore +2 -0
- package/components/basic/label/bundles/index.umd.js +129 -0
- package/components/basic/label/fesm2022/index.mjs +113 -0
- package/components/basic/label/fesm2022/index.mjs.map +1 -0
- package/components/basic/label/index.d.ts +15 -0
- package/components/basic/label/package.json +18 -0
- package/components/basic/picture/.npmignore +2 -0
- package/components/basic/picture/bundles/index.umd.js +138 -0
- package/components/basic/picture/fesm2022/index.mjs +121 -0
- package/components/basic/picture/fesm2022/index.mjs.map +1 -0
- package/components/basic/picture/index.d.ts +22 -0
- package/components/basic/picture/package.json +18 -0
- package/components/basic/progress/progress-bar/.npmignore +2 -0
- package/components/basic/progress/progress-bar/bundles/index.umd.js +170 -0
- package/components/basic/progress/progress-bar/fesm2022/index.mjs +154 -0
- package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-bar/index.d.ts +45 -0
- package/components/basic/progress/progress-bar/package.json +18 -0
- package/components/basic/progress/progress-circle/.npmignore +2 -0
- package/components/basic/progress/progress-circle/bundles/index.umd.js +171 -0
- package/components/basic/progress/progress-circle/fesm2022/index.mjs +155 -0
- package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-circle/index.d.ts +43 -0
- package/components/basic/progress/progress-circle/package.json +18 -0
- package/components/basic/progress/progress-utils/.npmignore +2 -0
- package/components/basic/progress/progress-utils/bundles/index.umd.js +35 -0
- package/components/basic/progress/progress-utils/fesm2022/index.mjs +32 -0
- package/components/basic/progress/progress-utils/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-utils/index.d.ts +5 -0
- package/components/basic/progress/progress-utils/package.json +18 -0
- package/components/basic/rich-text-editor/.npmignore +2 -0
- package/components/basic/rich-text-editor/bundles/index.umd.js +236 -0
- package/components/basic/rich-text-editor/fesm2022/index.mjs +222 -0
- package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -0
- package/components/basic/rich-text-editor/index.d.ts +58 -0
- package/components/basic/rich-text-editor/package.json +18 -0
- package/components/basic/search/.npmignore +2 -0
- package/components/basic/search/bundles/index.umd.js +1091 -0
- package/components/basic/search/fesm2022/index.mjs +1080 -0
- package/components/basic/search/fesm2022/index.mjs.map +1 -0
- package/components/basic/search/index.d.ts +125 -0
- package/components/basic/search/package.json +18 -0
- package/components/basic/spinner/.npmignore +2 -0
- package/components/basic/spinner/bundles/index.umd.js +126 -0
- package/components/basic/spinner/fesm2022/index.mjs +111 -0
- package/components/basic/spinner/fesm2022/index.mjs.map +1 -0
- package/components/basic/spinner/index.d.ts +30 -0
- package/components/basic/spinner/package.json +18 -0
- package/components/basic/tree/.npmignore +2 -0
- package/components/basic/tree/bundles/index.umd.js +767 -0
- package/components/basic/tree/fesm2022/index.mjs +751 -0
- package/components/basic/tree/fesm2022/index.mjs.map +1 -0
- package/components/basic/tree/index.d.ts +97 -0
- package/components/basic/tree/package.json +18 -0
- package/components/basic/video/.npmignore +2 -0
- package/components/basic/video/bundles/index.umd.js +116 -0
- package/components/basic/video/fesm2022/index.mjs +99 -0
- package/components/basic/video/fesm2022/index.mjs.map +1 -0
- package/components/basic/video/index.d.ts +30 -0
- package/components/basic/video/package.json +18 -0
- package/components/chart/.npmignore +2 -0
- package/components/chart/bundles/index.umd.js +1747 -0
- package/components/chart/fesm2022/index.mjs +1774 -0
- package/components/chart/fesm2022/index.mjs.map +1 -0
- package/components/chart/index.d.ts +103 -0
- package/components/chart/package.json +18 -0
- package/components/containers/accordion/.npmignore +2 -0
- package/components/containers/accordion/bundles/index.umd.js +500 -0
- package/components/containers/accordion/fesm2022/index.mjs +486 -0
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -0
- package/components/containers/accordion/index.d.ts +114 -0
- package/components/containers/accordion/package.json +18 -0
- package/components/containers/layout-grid/.npmignore +2 -0
- package/components/containers/layout-grid/bundles/index.umd.js +172 -0
- package/components/containers/layout-grid/fesm2022/index.mjs +153 -0
- package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -0
- package/components/containers/layout-grid/index.d.ts +29 -0
- package/components/containers/layout-grid/package.json +18 -0
- package/components/containers/linear-layout/.npmignore +2 -0
- package/components/containers/linear-layout/bundles/index.umd.js +186 -0
- package/components/containers/linear-layout/fesm2022/index.mjs +167 -0
- package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -0
- package/components/containers/linear-layout/index.d.ts +27 -0
- package/components/containers/linear-layout/package.json +18 -0
- package/components/containers/panel/.npmignore +2 -0
- package/components/containers/panel/bundles/index.umd.js +223 -0
- package/components/containers/panel/fesm2022/index.mjs +210 -0
- package/components/containers/panel/fesm2022/index.mjs.map +1 -0
- package/components/containers/panel/index.d.ts +46 -0
- package/components/containers/panel/package.json +18 -0
- package/components/containers/tabs/.npmignore +2 -0
- package/components/containers/tabs/bundles/index.umd.js +788 -0
- package/components/containers/tabs/fesm2022/index.mjs +775 -0
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -0
- package/components/containers/tabs/index.d.ts +127 -0
- package/components/containers/tabs/package.json +18 -0
- package/components/containers/tile/.npmignore +2 -0
- package/components/containers/tile/bundles/index.umd.js +68 -0
- package/components/containers/tile/fesm2022/index.mjs +50 -0
- package/components/containers/tile/fesm2022/index.mjs.map +1 -0
- package/components/containers/tile/index.d.ts +12 -0
- package/components/containers/tile/package.json +18 -0
- package/components/containers/wizard/.npmignore +2 -0
- package/components/containers/wizard/bundles/index.umd.js +1074 -0
- package/components/containers/wizard/fesm2022/index.mjs +1058 -0
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -0
- package/components/containers/wizard/index.d.ts +257 -0
- package/components/containers/wizard/package.json +18 -0
- package/components/data/card/.npmignore +2 -0
- package/components/data/card/bundles/index.umd.js +237 -0
- package/components/data/card/fesm2022/index.mjs +220 -0
- package/components/data/card/fesm2022/index.mjs.map +1 -0
- package/components/data/card/index.d.ts +51 -0
- package/components/data/card/package.json +18 -0
- package/components/data/form/.npmignore +2 -0
- package/components/data/form/bundles/index.umd.js +3339 -0
- package/components/data/form/fesm2022/index.mjs +3327 -0
- package/components/data/form/fesm2022/index.mjs.map +1 -0
- package/components/data/form/index.d.ts +487 -0
- package/components/data/form/package.json +18 -0
- package/components/data/list/.npmignore +2 -0
- package/components/data/list/bundles/index.umd.js +1610 -0
- package/components/data/list/fesm2022/index.mjs +1602 -0
- package/components/data/list/fesm2022/index.mjs.map +1 -0
- package/components/data/list/index.d.ts +283 -0
- package/components/data/list/package.json +18 -0
- package/components/data/live-table/.npmignore +2 -0
- package/components/data/live-table/bundles/index.umd.js +283 -0
- package/components/data/live-table/fesm2022/index.mjs +268 -0
- package/components/data/live-table/fesm2022/index.mjs.map +1 -0
- package/components/data/live-table/index.d.ts +39 -0
- package/components/data/live-table/package.json +18 -0
- package/components/data/pagination/.npmignore +2 -0
- package/components/data/pagination/bundles/index.umd.js +885 -0
- package/components/data/pagination/fesm2022/index.mjs +880 -0
- package/components/data/pagination/fesm2022/index.mjs.map +1 -0
- package/components/data/pagination/index.d.ts +106 -0
- package/components/data/pagination/package.json +18 -0
- package/components/data/table/.npmignore +2 -0
- package/components/data/table/bundles/index.umd.js +4991 -0
- package/components/data/table/fesm2022/index.mjs +4978 -0
- package/components/data/table/fesm2022/index.mjs.map +1 -0
- package/components/data/table/index.d.ts +744 -0
- package/components/data/table/package.json +18 -0
- package/components/dialogs/alert-dialog/.npmignore +2 -0
- package/components/dialogs/alert-dialog/bundles/index.umd.js +126 -0
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +114 -0
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/alert-dialog/index.d.ts +26 -0
- package/components/dialogs/alert-dialog/package.json +18 -0
- package/components/dialogs/confirm-dialog/.npmignore +2 -0
- package/components/dialogs/confirm-dialog/bundles/index.umd.js +129 -0
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs +117 -0
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/confirm-dialog/index.d.ts +29 -0
- package/components/dialogs/confirm-dialog/package.json +18 -0
- package/components/dialogs/default/.npmignore +2 -0
- package/components/dialogs/default/bundles/index.umd.js +380 -0
- package/components/dialogs/default/fesm2022/index.mjs +363 -0
- package/components/dialogs/default/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/default/index.d.ts +89 -0
- package/components/dialogs/default/package.json +18 -0
- package/components/dialogs/design-dialog/.npmignore +2 -0
- package/components/dialogs/design-dialog/bundles/index.umd.js +150 -0
- package/components/dialogs/design-dialog/fesm2022/index.mjs +135 -0
- package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/design-dialog/index.d.ts +20 -0
- package/components/dialogs/design-dialog/package.json +18 -0
- package/components/dialogs/iframe-dialog/.npmignore +2 -0
- package/components/dialogs/iframe-dialog/bundles/index.umd.js +119 -0
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs +108 -0
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/iframe-dialog/index.d.ts +22 -0
- package/components/dialogs/iframe-dialog/package.json +18 -0
- package/components/dialogs/login-dialog/.npmignore +2 -0
- package/components/dialogs/login-dialog/bundles/index.umd.js +114 -0
- package/components/dialogs/login-dialog/fesm2022/index.mjs +98 -0
- package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/login-dialog/index.d.ts +26 -0
- package/components/dialogs/login-dialog/package.json +18 -0
- package/components/dialogs/partial-dialog/.npmignore +2 -0
- package/components/dialogs/partial-dialog/bundles/index.umd.js +157 -0
- package/components/dialogs/partial-dialog/fesm2022/index.mjs +146 -0
- package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -0
- package/components/dialogs/partial-dialog/index.d.ts +32 -0
- package/components/dialogs/partial-dialog/package.json +18 -0
- package/components/input/base-form/.npmignore +2 -0
- package/components/input/base-form/bundles/index.umd.js +147 -0
- package/components/input/base-form/fesm2022/index.mjs +131 -0
- package/components/input/base-form/fesm2022/index.mjs.map +1 -0
- package/components/input/base-form/index.d.ts +29 -0
- package/components/input/base-form/package.json +18 -0
- package/components/input/base-form-custom/.npmignore +2 -0
- package/components/input/base-form-custom/bundles/index.umd.js +129 -0
- package/components/input/base-form-custom/fesm2022/index.mjs +112 -0
- package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -0
- package/components/input/base-form-custom/index.d.ts +26 -0
- package/components/input/base-form-custom/package.json +18 -0
- package/components/input/button/.npmignore +2 -0
- package/components/input/button/bundles/index.umd.js +98 -0
- package/components/input/button/fesm2022/index.mjs +81 -0
- package/components/input/button/fesm2022/index.mjs.map +1 -0
- package/components/input/button/index.d.ts +22 -0
- package/components/input/button/package.json +18 -0
- package/components/input/button-group/.npmignore +2 -0
- package/components/input/button-group/bundles/index.umd.js +80 -0
- package/components/input/button-group/fesm2022/index.mjs +62 -0
- package/components/input/button-group/fesm2022/index.mjs.map +1 -0
- package/components/input/button-group/index.d.ts +14 -0
- package/components/input/button-group/package.json +18 -0
- package/components/input/calendar/.npmignore +2 -0
- package/components/input/calendar/bundles/index.umd.js +655 -0
- package/components/input/calendar/fesm2022/index.mjs +665 -0
- package/components/input/calendar/fesm2022/index.mjs.map +1 -0
- package/components/input/calendar/index.d.ts +131 -0
- package/components/input/calendar/package.json +18 -0
- package/components/input/caption-position/.npmignore +2 -0
- package/components/input/caption-position/bundles/index.umd.js +196 -0
- package/components/input/caption-position/fesm2022/index.mjs +178 -0
- package/components/input/caption-position/fesm2022/index.mjs.map +1 -0
- package/components/input/caption-position/index.d.ts +34 -0
- package/components/input/caption-position/package.json +18 -0
- package/components/input/checkbox/.npmignore +2 -0
- package/components/input/checkbox/bundles/index.umd.js +206 -0
- package/components/input/checkbox/fesm2022/index.mjs +191 -0
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -0
- package/components/input/checkbox/index.d.ts +39 -0
- package/components/input/checkbox/package.json +18 -0
- package/components/input/checkboxset/.npmignore +2 -0
- package/components/input/checkboxset/bundles/index.umd.js +178 -0
- package/components/input/checkboxset/fesm2022/index.mjs +165 -0
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -0
- package/components/input/checkboxset/index.d.ts +27 -0
- package/components/input/checkboxset/package.json +18 -0
- package/components/input/chips/.npmignore +2 -0
- package/components/input/chips/bundles/index.umd.js +741 -0
- package/components/input/chips/fesm2022/index.mjs +729 -0
- package/components/input/chips/fesm2022/index.mjs.map +1 -0
- package/components/input/chips/index.d.ts +90 -0
- package/components/input/chips/package.json +18 -0
- package/components/input/color-picker/.npmignore +2 -0
- package/components/input/color-picker/bundles/index.umd.js +145 -0
- package/components/input/color-picker/fesm2022/index.mjs +132 -0
- package/components/input/color-picker/fesm2022/index.mjs.map +1 -0
- package/components/input/color-picker/index.d.ts +36 -0
- package/components/input/color-picker/package.json +18 -0
- package/components/input/composite/.npmignore +2 -0
- package/components/input/composite/bundles/index.umd.js +120 -0
- package/components/input/composite/fesm2022/index.mjs +103 -0
- package/components/input/composite/fesm2022/index.mjs.map +1 -0
- package/components/input/composite/index.d.ts +27 -0
- package/components/input/composite/package.json +18 -0
- package/components/input/currency/.npmignore +2 -0
- package/components/input/currency/bundles/index.umd.js +112 -0
- package/components/input/currency/fesm2022/index.mjs +97 -0
- package/components/input/currency/fesm2022/index.mjs.map +1 -0
- package/components/input/currency/index.d.ts +31 -0
- package/components/input/currency/package.json +18 -0
- package/components/input/dataset-aware-form/.npmignore +2 -0
- package/components/input/dataset-aware-form/bundles/index.umd.js +354 -0
- package/components/input/dataset-aware-form/fesm2022/index.mjs +340 -0
- package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -0
- package/components/input/dataset-aware-form/index.d.ts +80 -0
- package/components/input/dataset-aware-form/package.json +18 -0
- package/components/input/epoch/base-date-time/.npmignore +2 -0
- package/components/input/epoch/base-date-time/bundles/index.umd.js +1093 -0
- package/components/input/epoch/base-date-time/fesm2022/index.mjs +1084 -0
- package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/base-date-time/index.d.ts +249 -0
- package/components/input/epoch/base-date-time/package.json +18 -0
- package/components/input/epoch/date/.npmignore +2 -0
- package/components/input/epoch/date/bundles/index.umd.js +515 -0
- package/components/input/epoch/date/fesm2022/index.mjs +505 -0
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date/index.d.ts +64 -0
- package/components/input/epoch/date/package.json +18 -0
- package/components/input/epoch/date-time/.npmignore +2 -0
- package/components/input/epoch/date-time/bundles/index.umd.js +519 -0
- package/components/input/epoch/date-time/fesm2022/index.mjs +510 -0
- package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date-time/index.d.ts +112 -0
- package/components/input/epoch/date-time/package.json +18 -0
- package/components/input/epoch/date-time-picker/.npmignore +2 -0
- package/components/input/epoch/date-time-picker/bundles/index.umd.js +453 -0
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs +439 -0
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date-time-picker/index.d.ts +83 -0
- package/components/input/epoch/date-time-picker/package.json +18 -0
- package/components/input/epoch/picker/.npmignore +2 -0
- package/components/input/epoch/picker/bundles/index.umd.js +192 -0
- package/components/input/epoch/picker/fesm2022/index.mjs +172 -0
- package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/picker/index.d.ts +39 -0
- package/components/input/epoch/picker/package.json +18 -0
- package/components/input/epoch/time/.npmignore +2 -0
- package/components/input/epoch/time/bundles/index.umd.js +401 -0
- package/components/input/epoch/time/fesm2022/index.mjs +391 -0
- package/components/input/epoch/time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/time/index.d.ts +108 -0
- package/components/input/epoch/time/package.json +18 -0
- package/components/input/file-upload/.npmignore +2 -0
- package/components/input/file-upload/bundles/index.umd.js +483 -0
- package/components/input/file-upload/fesm2022/index.mjs +469 -0
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -0
- package/components/input/file-upload/index.d.ts +106 -0
- package/components/input/file-upload/package.json +18 -0
- package/components/input/number/.npmignore +2 -0
- package/components/input/number/bundles/index.umd.js +109 -0
- package/components/input/number/fesm2022/index.mjs +95 -0
- package/components/input/number/fesm2022/index.mjs.map +1 -0
- package/components/input/number/index.d.ts +29 -0
- package/components/input/number/package.json +18 -0
- package/components/input/radioset/.npmignore +2 -0
- package/components/input/radioset/bundles/index.umd.js +164 -0
- package/components/input/radioset/fesm2022/index.mjs +151 -0
- package/components/input/radioset/fesm2022/index.mjs.map +1 -0
- package/components/input/radioset/index.d.ts +26 -0
- package/components/input/radioset/package.json +18 -0
- package/components/input/rating/.npmignore +2 -0
- package/components/input/rating/bundles/index.umd.js +270 -0
- package/components/input/rating/fesm2022/index.mjs +257 -0
- package/components/input/rating/fesm2022/index.mjs.map +1 -0
- package/components/input/rating/index.d.ts +47 -0
- package/components/input/rating/package.json +18 -0
- package/components/input/select/.npmignore +2 -0
- package/components/input/select/bundles/index.umd.js +225 -0
- package/components/input/select/fesm2022/index.mjs +211 -0
- package/components/input/select/fesm2022/index.mjs.map +1 -0
- package/components/input/select/index.d.ts +39 -0
- package/components/input/select/package.json +18 -0
- package/components/input/slider/.npmignore +2 -0
- package/components/input/slider/bundles/index.umd.js +203 -0
- package/components/input/slider/fesm2022/index.mjs +189 -0
- package/components/input/slider/fesm2022/index.mjs.map +1 -0
- package/components/input/slider/index.d.ts +42 -0
- package/components/input/slider/package.json +18 -0
- package/components/input/switch/.npmignore +2 -0
- package/components/input/switch/bundles/index.umd.js +224 -0
- package/components/input/switch/fesm2022/index.mjs +211 -0
- package/components/input/switch/fesm2022/index.mjs.map +1 -0
- package/components/input/switch/index.d.ts +33 -0
- package/components/input/switch/package.json +18 -0
- package/components/input/text/.npmignore +2 -0
- package/components/input/text/bundles/index.umd.js +1130 -0
- package/components/input/text/fesm2022/index.mjs +1114 -0
- package/components/input/text/fesm2022/index.mjs.map +1 -0
- package/components/input/text/index.d.ts +316 -0
- package/components/input/text/package.json +18 -0
- package/components/input/textarea/.npmignore +2 -0
- package/components/input/textarea/bundles/index.umd.js +108 -0
- package/components/input/textarea/fesm2022/index.mjs +94 -0
- package/components/input/textarea/fesm2022/index.mjs.map +1 -0
- package/components/input/textarea/index.d.ts +33 -0
- package/components/input/textarea/package.json +18 -0
- package/components/navigation/breadcrumb/.npmignore +2 -0
- package/components/navigation/breadcrumb/bundles/index.umd.js +138 -0
- package/components/navigation/breadcrumb/fesm2022/index.mjs +121 -0
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -0
- package/components/navigation/breadcrumb/index.d.ts +28 -0
- package/components/navigation/breadcrumb/package.json +18 -0
- package/components/navigation/menu/.npmignore +2 -0
- package/components/navigation/menu/bundles/index.umd.js +947 -0
- package/components/navigation/menu/fesm2022/index.mjs +929 -0
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -0
- package/components/navigation/menu/index.d.ts +189 -0
- package/components/navigation/menu/package.json +18 -0
- package/components/navigation/navbar/.npmignore +2 -0
- package/components/navigation/navbar/bundles/index.umd.js +87 -0
- package/components/navigation/navbar/fesm2022/index.mjs +70 -0
- package/components/navigation/navbar/fesm2022/index.mjs.map +1 -0
- package/components/navigation/navbar/index.d.ts +19 -0
- package/components/navigation/navbar/package.json +18 -0
- package/components/navigation/popover/.npmignore +2 -0
- package/components/navigation/popover/bundles/index.umd.js +527 -0
- package/components/navigation/popover/fesm2022/index.mjs +513 -0
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -0
- package/components/navigation/popover/index.d.ts +86 -0
- package/components/navigation/popover/package.json +18 -0
- package/components/page/default/.npmignore +2 -0
- package/components/page/default/bundles/index.umd.js +458 -0
- package/components/page/default/fesm2022/index.mjs +438 -0
- package/components/page/default/fesm2022/index.mjs.map +1 -0
- package/components/page/default/index.d.ts +124 -0
- package/components/page/default/package.json +18 -0
- package/components/page/footer/.npmignore +2 -0
- package/components/page/footer/bundles/index.umd.js +71 -0
- package/components/page/footer/fesm2022/index.mjs +53 -0
- package/components/page/footer/fesm2022/index.mjs.map +1 -0
- package/components/page/footer/index.d.ts +12 -0
- package/components/page/footer/package.json +18 -0
- package/components/page/header/.npmignore +2 -0
- package/components/page/header/bundles/index.umd.js +67 -0
- package/components/page/header/fesm2022/index.mjs +49 -0
- package/components/page/header/fesm2022/index.mjs.map +1 -0
- package/components/page/header/index.d.ts +13 -0
- package/components/page/header/package.json +18 -0
- package/components/page/left-panel/.npmignore +2 -0
- package/components/page/left-panel/bundles/index.umd.js +415 -0
- package/components/page/left-panel/fesm2022/index.mjs +400 -0
- package/components/page/left-panel/fesm2022/index.mjs.map +1 -0
- package/components/page/left-panel/index.d.ts +41 -0
- package/components/page/left-panel/package.json +18 -0
- package/components/page/right-panel/.npmignore +2 -0
- package/components/page/right-panel/bundles/index.umd.js +86 -0
- package/components/page/right-panel/fesm2022/index.mjs +69 -0
- package/components/page/right-panel/fesm2022/index.mjs.map +1 -0
- package/components/page/right-panel/index.d.ts +13 -0
- package/components/page/right-panel/package.json +18 -0
- package/components/page/top-nav/.npmignore +2 -0
- package/components/page/top-nav/bundles/index.umd.js +68 -0
- package/components/page/top-nav/fesm2022/index.mjs +50 -0
- package/components/page/top-nav/fesm2022/index.mjs.map +1 -0
- package/components/page/top-nav/index.d.ts +12 -0
- package/components/page/top-nav/package.json +18 -0
- package/components/prefab/.npmignore +2 -0
- package/components/prefab/bundles/index.umd.js +176 -0
- package/components/prefab/fesm2022/index.mjs +159 -0
- package/components/prefab/fesm2022/index.mjs.map +1 -0
- package/components/prefab/index.d.ts +33 -0
- package/components/prefab/package.json +18 -0
- package/core/.npmignore +2 -0
- package/core/bundles/index.umd.js +5627 -0
- package/core/fesm2022/index.mjs +5475 -0
- package/core/fesm2022/index.mjs.map +1 -0
- package/core/index.d.ts +2143 -0
- package/core/package.json +24 -0
- package/http/.npmignore +2 -0
- package/http/bundles/index.umd.js +421 -0
- package/http/fesm2022/index.mjs +405 -0
- package/http/fesm2022/index.mjs.map +1 -0
- package/http/index.d.ts +120 -0
- package/http/package.json +23 -0
- package/locales/angular/af-na.js +17 -0
- package/locales/angular/af.js +17 -0
- package/locales/angular/agq.js +15 -0
- package/locales/angular/ak.js +17 -0
- package/locales/angular/am.js +17 -0
- package/locales/angular/ar-ae.js +25 -0
- package/locales/angular/ar-bh.js +25 -0
- package/locales/angular/ar-dj.js +25 -0
- package/locales/angular/ar-dz.js +25 -0
- package/locales/angular/ar-eg.js +25 -0
- package/locales/angular/ar-eh.js +25 -0
- package/locales/angular/ar-er.js +25 -0
- package/locales/angular/ar-il.js +25 -0
- package/locales/angular/ar-iq.js +25 -0
- package/locales/angular/ar-jo.js +25 -0
- package/locales/angular/ar-km.js +25 -0
- package/locales/angular/ar-kw.js +25 -0
- package/locales/angular/ar-lb.js +25 -0
- package/locales/angular/ar-ly.js +25 -0
- package/locales/angular/ar-ma.js +25 -0
- package/locales/angular/ar-mr.js +25 -0
- package/locales/angular/ar-om.js +25 -0
- package/locales/angular/ar-ps.js +25 -0
- package/locales/angular/ar-qa.js +25 -0
- package/locales/angular/ar-sa.js +25 -0
- package/locales/angular/ar-sd.js +25 -0
- package/locales/angular/ar-so.js +25 -0
- package/locales/angular/ar-ss.js +25 -0
- package/locales/angular/ar-sy.js +25 -0
- package/locales/angular/ar-td.js +25 -0
- package/locales/angular/ar-tn.js +25 -0
- package/locales/angular/ar-ye.js +25 -0
- package/locales/angular/ar.js +25 -0
- package/locales/angular/as.js +17 -0
- package/locales/angular/asa.js +17 -0
- package/locales/angular/ast.js +17 -0
- package/locales/angular/az-cyrl.js +15 -0
- package/locales/angular/az-latn.js +17 -0
- package/locales/angular/az.js +17 -0
- package/locales/angular/bas.js +15 -0
- package/locales/angular/be-tarask.js +21 -0
- package/locales/angular/be.js +21 -0
- package/locales/angular/bem.js +17 -0
- package/locales/angular/bez.js +17 -0
- package/locales/angular/bg.js +17 -0
- package/locales/angular/bm.js +15 -0
- package/locales/angular/bn-in.js +17 -0
- package/locales/angular/bn.js +17 -0
- package/locales/angular/bo-in.js +15 -0
- package/locales/angular/bo.js +15 -0
- package/locales/angular/br.js +23 -0
- package/locales/angular/brx.js +17 -0
- package/locales/angular/bs-cyrl.js +15 -0
- package/locales/angular/bs-latn.js +19 -0
- package/locales/angular/bs.js +19 -0
- package/locales/angular/ca-ad.js +17 -0
- package/locales/angular/ca-es-valencia.js +17 -0
- package/locales/angular/ca-fr.js +17 -0
- package/locales/angular/ca-it.js +17 -0
- package/locales/angular/ca.js +17 -0
- package/locales/angular/ccp-in.js +15 -0
- package/locales/angular/ccp.js +15 -0
- package/locales/angular/ce.js +17 -0
- package/locales/angular/ceb.js +17 -0
- package/locales/angular/cgg.js +17 -0
- package/locales/angular/chr.js +17 -0
- package/locales/angular/ckb-ir.js +17 -0
- package/locales/angular/ckb.js +17 -0
- package/locales/angular/cs.js +21 -0
- package/locales/angular/cy.js +25 -0
- package/locales/angular/da-gl.js +17 -0
- package/locales/angular/da.js +17 -0
- package/locales/angular/dav.js +15 -0
- package/locales/angular/de-at.js +17 -0
- package/locales/angular/de-be.js +17 -0
- package/locales/angular/de-ch.js +17 -0
- package/locales/angular/de-it.js +17 -0
- package/locales/angular/de-li.js +17 -0
- package/locales/angular/de-lu.js +17 -0
- package/locales/angular/de.js +17 -0
- package/locales/angular/dje.js +15 -0
- package/locales/angular/doi.js +17 -0
- package/locales/angular/dsb.js +21 -0
- package/locales/angular/dua.js +15 -0
- package/locales/angular/dyo.js +15 -0
- package/locales/angular/dz.js +15 -0
- package/locales/angular/ebu.js +15 -0
- package/locales/angular/ee-tg.js +17 -0
- package/locales/angular/ee.js +17 -0
- package/locales/angular/el-cy.js +17 -0
- package/locales/angular/el.js +17 -0
- package/locales/angular/en-001.js +17 -0
- package/locales/angular/en-150.js +17 -0
- package/locales/angular/en-ae.js +17 -0
- package/locales/angular/en-ag.js +17 -0
- package/locales/angular/en-ai.js +17 -0
- package/locales/angular/en-as.js +17 -0
- package/locales/angular/en-at.js +17 -0
- package/locales/angular/en-au.js +17 -0
- package/locales/angular/en-bb.js +17 -0
- package/locales/angular/en-be.js +17 -0
- package/locales/angular/en-bi.js +17 -0
- package/locales/angular/en-bm.js +17 -0
- package/locales/angular/en-bs.js +17 -0
- package/locales/angular/en-bw.js +17 -0
- package/locales/angular/en-bz.js +17 -0
- package/locales/angular/en-ca.js +17 -0
- package/locales/angular/en-cc.js +17 -0
- package/locales/angular/en-ch.js +17 -0
- package/locales/angular/en-ck.js +17 -0
- package/locales/angular/en-cm.js +17 -0
- package/locales/angular/en-cx.js +17 -0
- package/locales/angular/en-cy.js +17 -0
- package/locales/angular/en-de.js +17 -0
- package/locales/angular/en-dg.js +17 -0
- package/locales/angular/en-dk.js +17 -0
- package/locales/angular/en-dm.js +17 -0
- package/locales/angular/en-er.js +17 -0
- package/locales/angular/en-fi.js +17 -0
- package/locales/angular/en-fj.js +17 -0
- package/locales/angular/en-fk.js +17 -0
- package/locales/angular/en-fm.js +17 -0
- package/locales/angular/en-gb.js +17 -0
- package/locales/angular/en-gd.js +17 -0
- package/locales/angular/en-gg.js +17 -0
- package/locales/angular/en-gh.js +17 -0
- package/locales/angular/en-gi.js +17 -0
- package/locales/angular/en-gm.js +17 -0
- package/locales/angular/en-gu.js +17 -0
- package/locales/angular/en-gy.js +17 -0
- package/locales/angular/en-hk.js +17 -0
- package/locales/angular/en-ie.js +17 -0
- package/locales/angular/en-il.js +17 -0
- package/locales/angular/en-im.js +17 -0
- package/locales/angular/en-in.js +17 -0
- package/locales/angular/en-io.js +17 -0
- package/locales/angular/en-je.js +17 -0
- package/locales/angular/en-jm.js +17 -0
- package/locales/angular/en-ke.js +17 -0
- package/locales/angular/en-ki.js +17 -0
- package/locales/angular/en-kn.js +17 -0
- package/locales/angular/en-ky.js +17 -0
- package/locales/angular/en-lc.js +17 -0
- package/locales/angular/en-lr.js +17 -0
- package/locales/angular/en-ls.js +17 -0
- package/locales/angular/en-mg.js +17 -0
- package/locales/angular/en-mh.js +17 -0
- package/locales/angular/en-mo.js +17 -0
- package/locales/angular/en-mp.js +17 -0
- package/locales/angular/en-ms.js +17 -0
- package/locales/angular/en-mt.js +17 -0
- package/locales/angular/en-mu.js +17 -0
- package/locales/angular/en-mv.js +17 -0
- package/locales/angular/en-mw.js +17 -0
- package/locales/angular/en-my.js +17 -0
- package/locales/angular/en-na.js +17 -0
- package/locales/angular/en-nf.js +17 -0
- package/locales/angular/en-ng.js +17 -0
- package/locales/angular/en-nl.js +17 -0
- package/locales/angular/en-nr.js +17 -0
- package/locales/angular/en-nu.js +17 -0
- package/locales/angular/en-nz.js +17 -0
- package/locales/angular/en-pg.js +17 -0
- package/locales/angular/en-ph.js +17 -0
- package/locales/angular/en-pk.js +17 -0
- package/locales/angular/en-pn.js +17 -0
- package/locales/angular/en-pr.js +17 -0
- package/locales/angular/en-pw.js +17 -0
- package/locales/angular/en-rw.js +17 -0
- package/locales/angular/en-sb.js +17 -0
- package/locales/angular/en-sc.js +17 -0
- package/locales/angular/en-sd.js +17 -0
- package/locales/angular/en-se.js +17 -0
- package/locales/angular/en-sg.js +17 -0
- package/locales/angular/en-sh.js +17 -0
- package/locales/angular/en-si.js +17 -0
- package/locales/angular/en-sl.js +17 -0
- package/locales/angular/en-ss.js +17 -0
- package/locales/angular/en-sx.js +17 -0
- package/locales/angular/en-sz.js +17 -0
- package/locales/angular/en-tc.js +17 -0
- package/locales/angular/en-tk.js +17 -0
- package/locales/angular/en-to.js +17 -0
- package/locales/angular/en-tt.js +17 -0
- package/locales/angular/en-tv.js +17 -0
- package/locales/angular/en-tz.js +17 -0
- package/locales/angular/en-ug.js +17 -0
- package/locales/angular/en-um.js +17 -0
- package/locales/angular/en-vc.js +17 -0
- package/locales/angular/en-vg.js +17 -0
- package/locales/angular/en-vi.js +17 -0
- package/locales/angular/en-vu.js +17 -0
- package/locales/angular/en-ws.js +17 -0
- package/locales/angular/en-za.js +17 -0
- package/locales/angular/en-zm.js +17 -0
- package/locales/angular/en-zw.js +17 -0
- package/locales/angular/en.js +17 -0
- package/locales/angular/eo.js +17 -0
- package/locales/angular/es-419.js +19 -0
- package/locales/angular/es-ar.js +19 -0
- package/locales/angular/es-bo.js +19 -0
- package/locales/angular/es-br.js +19 -0
- package/locales/angular/es-bz.js +19 -0
- package/locales/angular/es-cl.js +19 -0
- package/locales/angular/es-co.js +19 -0
- package/locales/angular/es-cr.js +19 -0
- package/locales/angular/es-cu.js +19 -0
- package/locales/angular/es-do.js +19 -0
- package/locales/angular/es-ea.js +19 -0
- package/locales/angular/es-ec.js +19 -0
- package/locales/angular/es-gq.js +19 -0
- package/locales/angular/es-gt.js +19 -0
- package/locales/angular/es-hn.js +19 -0
- package/locales/angular/es-ic.js +19 -0
- package/locales/angular/es-mx.js +19 -0
- package/locales/angular/es-ni.js +19 -0
- package/locales/angular/es-pa.js +19 -0
- package/locales/angular/es-pe.js +19 -0
- package/locales/angular/es-ph.js +19 -0
- package/locales/angular/es-pr.js +19 -0
- package/locales/angular/es-py.js +19 -0
- package/locales/angular/es-sv.js +19 -0
- package/locales/angular/es-us.js +19 -0
- package/locales/angular/es-uy.js +19 -0
- package/locales/angular/es-ve.js +19 -0
- package/locales/angular/es.js +19 -0
- package/locales/angular/et.js +17 -0
- package/locales/angular/eu.js +17 -0
- package/locales/angular/ewo.js +15 -0
- package/locales/angular/fa-af.js +17 -0
- package/locales/angular/fa.js +17 -0
- package/locales/angular/ff-adlm-bf.js +15 -0
- package/locales/angular/ff-adlm-cm.js +15 -0
- package/locales/angular/ff-adlm-gh.js +15 -0
- package/locales/angular/ff-adlm-gm.js +15 -0
- package/locales/angular/ff-adlm-gw.js +15 -0
- package/locales/angular/ff-adlm-lr.js +15 -0
- package/locales/angular/ff-adlm-mr.js +15 -0
- package/locales/angular/ff-adlm-ne.js +15 -0
- package/locales/angular/ff-adlm-ng.js +15 -0
- package/locales/angular/ff-adlm-sl.js +15 -0
- package/locales/angular/ff-adlm-sn.js +15 -0
- package/locales/angular/ff-adlm.js +15 -0
- package/locales/angular/ff-cm.js +64 -0
- package/locales/angular/ff-gn.js +64 -0
- package/locales/angular/ff-latn-bf.js +17 -0
- package/locales/angular/ff-latn-cm.js +17 -0
- package/locales/angular/ff-latn-gh.js +17 -0
- package/locales/angular/ff-latn-gm.js +17 -0
- package/locales/angular/ff-latn-gn.js +17 -0
- package/locales/angular/ff-latn-gw.js +17 -0
- package/locales/angular/ff-latn-lr.js +17 -0
- package/locales/angular/ff-latn-mr.js +17 -0
- package/locales/angular/ff-latn-ne.js +17 -0
- package/locales/angular/ff-latn-ng.js +17 -0
- package/locales/angular/ff-latn-sl.js +17 -0
- package/locales/angular/ff-latn.js +17 -0
- package/locales/angular/ff-mr.js +64 -0
- package/locales/angular/ff.js +17 -0
- package/locales/angular/fi.js +17 -0
- package/locales/angular/fil.js +17 -0
- package/locales/angular/fo-dk.js +17 -0
- package/locales/angular/fo.js +17 -0
- package/locales/angular/fr-be.js +19 -0
- package/locales/angular/fr-bf.js +19 -0
- package/locales/angular/fr-bi.js +19 -0
- package/locales/angular/fr-bj.js +19 -0
- package/locales/angular/fr-bl.js +19 -0
- package/locales/angular/fr-ca.js +19 -0
- package/locales/angular/fr-cd.js +19 -0
- package/locales/angular/fr-cf.js +19 -0
- package/locales/angular/fr-cg.js +19 -0
- package/locales/angular/fr-ch.js +19 -0
- package/locales/angular/fr-ci.js +19 -0
- package/locales/angular/fr-cm.js +19 -0
- package/locales/angular/fr-dj.js +19 -0
- package/locales/angular/fr-dz.js +19 -0
- package/locales/angular/fr-ga.js +19 -0
- package/locales/angular/fr-gf.js +19 -0
- package/locales/angular/fr-gn.js +19 -0
- package/locales/angular/fr-gp.js +19 -0
- package/locales/angular/fr-gq.js +19 -0
- package/locales/angular/fr-ht.js +19 -0
- package/locales/angular/fr-km.js +19 -0
- package/locales/angular/fr-lu.js +19 -0
- package/locales/angular/fr-ma.js +19 -0
- package/locales/angular/fr-mc.js +19 -0
- package/locales/angular/fr-mf.js +19 -0
- package/locales/angular/fr-mg.js +19 -0
- package/locales/angular/fr-ml.js +19 -0
- package/locales/angular/fr-mq.js +19 -0
- package/locales/angular/fr-mr.js +19 -0
- package/locales/angular/fr-mu.js +19 -0
- package/locales/angular/fr-nc.js +19 -0
- package/locales/angular/fr-ne.js +19 -0
- package/locales/angular/fr-pf.js +19 -0
- package/locales/angular/fr-pm.js +19 -0
- package/locales/angular/fr-re.js +19 -0
- package/locales/angular/fr-rw.js +19 -0
- package/locales/angular/fr-sc.js +19 -0
- package/locales/angular/fr-sn.js +19 -0
- package/locales/angular/fr-sy.js +19 -0
- package/locales/angular/fr-td.js +19 -0
- package/locales/angular/fr-tg.js +19 -0
- package/locales/angular/fr-tn.js +19 -0
- package/locales/angular/fr-vu.js +19 -0
- package/locales/angular/fr-wf.js +19 -0
- package/locales/angular/fr-yt.js +19 -0
- package/locales/angular/fr.js +19 -0
- package/locales/angular/fur.js +17 -0
- package/locales/angular/fy.js +17 -0
- package/locales/angular/ga-gb.js +23 -0
- package/locales/angular/ga.js +23 -0
- package/locales/angular/gd.js +21 -0
- package/locales/angular/gl.js +17 -0
- package/locales/angular/global/af-na.js +24 -0
- package/locales/angular/global/af.js +24 -0
- package/locales/angular/global/agq.js +22 -0
- package/locales/angular/global/ak.js +24 -0
- package/locales/angular/global/am.js +24 -0
- package/locales/angular/global/ar-ae.js +32 -0
- package/locales/angular/global/ar-bh.js +32 -0
- package/locales/angular/global/ar-dj.js +32 -0
- package/locales/angular/global/ar-dz.js +32 -0
- package/locales/angular/global/ar-eg.js +32 -0
- package/locales/angular/global/ar-eh.js +32 -0
- package/locales/angular/global/ar-er.js +32 -0
- package/locales/angular/global/ar-il.js +32 -0
- package/locales/angular/global/ar-iq.js +32 -0
- package/locales/angular/global/ar-jo.js +32 -0
- package/locales/angular/global/ar-km.js +32 -0
- package/locales/angular/global/ar-kw.js +32 -0
- package/locales/angular/global/ar-lb.js +32 -0
- package/locales/angular/global/ar-ly.js +32 -0
- package/locales/angular/global/ar-ma.js +32 -0
- package/locales/angular/global/ar-mr.js +32 -0
- package/locales/angular/global/ar-om.js +32 -0
- package/locales/angular/global/ar-ps.js +32 -0
- package/locales/angular/global/ar-qa.js +32 -0
- package/locales/angular/global/ar-sa.js +32 -0
- package/locales/angular/global/ar-sd.js +32 -0
- package/locales/angular/global/ar-so.js +32 -0
- package/locales/angular/global/ar-ss.js +32 -0
- package/locales/angular/global/ar-sy.js +32 -0
- package/locales/angular/global/ar-td.js +32 -0
- package/locales/angular/global/ar-tn.js +32 -0
- package/locales/angular/global/ar-ye.js +32 -0
- package/locales/angular/global/ar.js +32 -0
- package/locales/angular/global/as.js +24 -0
- package/locales/angular/global/asa.js +24 -0
- package/locales/angular/global/ast.js +24 -0
- package/locales/angular/global/az-cyrl.js +22 -0
- package/locales/angular/global/az-latn.js +24 -0
- package/locales/angular/global/az.js +24 -0
- package/locales/angular/global/bas.js +22 -0
- package/locales/angular/global/be-tarask.js +28 -0
- package/locales/angular/global/be.js +28 -0
- package/locales/angular/global/bem.js +24 -0
- package/locales/angular/global/bez.js +24 -0
- package/locales/angular/global/bg.js +24 -0
- package/locales/angular/global/bm.js +22 -0
- package/locales/angular/global/bn-in.js +24 -0
- package/locales/angular/global/bn.js +24 -0
- package/locales/angular/global/bo-in.js +22 -0
- package/locales/angular/global/bo.js +22 -0
- package/locales/angular/global/br.js +30 -0
- package/locales/angular/global/brx.js +24 -0
- package/locales/angular/global/bs-cyrl.js +22 -0
- package/locales/angular/global/bs-latn.js +26 -0
- package/locales/angular/global/bs.js +26 -0
- package/locales/angular/global/ca-ad.js +24 -0
- package/locales/angular/global/ca-es-valencia.js +24 -0
- package/locales/angular/global/ca-fr.js +24 -0
- package/locales/angular/global/ca-it.js +24 -0
- package/locales/angular/global/ca.js +24 -0
- package/locales/angular/global/ccp-in.js +22 -0
- package/locales/angular/global/ccp.js +22 -0
- package/locales/angular/global/ce.js +24 -0
- package/locales/angular/global/ceb.js +24 -0
- package/locales/angular/global/cgg.js +24 -0
- package/locales/angular/global/chr.js +24 -0
- package/locales/angular/global/ckb-ir.js +24 -0
- package/locales/angular/global/ckb.js +24 -0
- package/locales/angular/global/cs.js +28 -0
- package/locales/angular/global/cy.js +32 -0
- package/locales/angular/global/da-gl.js +24 -0
- package/locales/angular/global/da.js +24 -0
- package/locales/angular/global/dav.js +22 -0
- package/locales/angular/global/de-at.js +24 -0
- package/locales/angular/global/de-be.js +24 -0
- package/locales/angular/global/de-ch.js +24 -0
- package/locales/angular/global/de-it.js +24 -0
- package/locales/angular/global/de-li.js +24 -0
- package/locales/angular/global/de-lu.js +24 -0
- package/locales/angular/global/de.js +24 -0
- package/locales/angular/global/dje.js +22 -0
- package/locales/angular/global/doi.js +24 -0
- package/locales/angular/global/dsb.js +28 -0
- package/locales/angular/global/dua.js +22 -0
- package/locales/angular/global/dyo.js +22 -0
- package/locales/angular/global/dz.js +22 -0
- package/locales/angular/global/ebu.js +22 -0
- package/locales/angular/global/ee-tg.js +24 -0
- package/locales/angular/global/ee.js +24 -0
- package/locales/angular/global/el-cy.js +24 -0
- package/locales/angular/global/el.js +24 -0
- package/locales/angular/global/en-001.js +24 -0
- package/locales/angular/global/en-150.js +24 -0
- package/locales/angular/global/en-ae.js +24 -0
- package/locales/angular/global/en-ag.js +24 -0
- package/locales/angular/global/en-ai.js +24 -0
- package/locales/angular/global/en-as.js +24 -0
- package/locales/angular/global/en-at.js +24 -0
- package/locales/angular/global/en-au.js +24 -0
- package/locales/angular/global/en-bb.js +24 -0
- package/locales/angular/global/en-be.js +24 -0
- package/locales/angular/global/en-bi.js +24 -0
- package/locales/angular/global/en-bm.js +24 -0
- package/locales/angular/global/en-bs.js +24 -0
- package/locales/angular/global/en-bw.js +24 -0
- package/locales/angular/global/en-bz.js +24 -0
- package/locales/angular/global/en-ca.js +24 -0
- package/locales/angular/global/en-cc.js +24 -0
- package/locales/angular/global/en-ch.js +24 -0
- package/locales/angular/global/en-ck.js +24 -0
- package/locales/angular/global/en-cm.js +24 -0
- package/locales/angular/global/en-cx.js +24 -0
- package/locales/angular/global/en-cy.js +24 -0
- package/locales/angular/global/en-de.js +24 -0
- package/locales/angular/global/en-dg.js +24 -0
- package/locales/angular/global/en-dk.js +24 -0
- package/locales/angular/global/en-dm.js +24 -0
- package/locales/angular/global/en-er.js +24 -0
- package/locales/angular/global/en-fi.js +24 -0
- package/locales/angular/global/en-fj.js +24 -0
- package/locales/angular/global/en-fk.js +24 -0
- package/locales/angular/global/en-fm.js +24 -0
- package/locales/angular/global/en-gb.js +24 -0
- package/locales/angular/global/en-gd.js +24 -0
- package/locales/angular/global/en-gg.js +24 -0
- package/locales/angular/global/en-gh.js +24 -0
- package/locales/angular/global/en-gi.js +24 -0
- package/locales/angular/global/en-gm.js +24 -0
- package/locales/angular/global/en-gu.js +24 -0
- package/locales/angular/global/en-gy.js +24 -0
- package/locales/angular/global/en-hk.js +24 -0
- package/locales/angular/global/en-ie.js +24 -0
- package/locales/angular/global/en-il.js +24 -0
- package/locales/angular/global/en-im.js +24 -0
- package/locales/angular/global/en-in.js +24 -0
- package/locales/angular/global/en-io.js +24 -0
- package/locales/angular/global/en-je.js +24 -0
- package/locales/angular/global/en-jm.js +24 -0
- package/locales/angular/global/en-ke.js +24 -0
- package/locales/angular/global/en-ki.js +24 -0
- package/locales/angular/global/en-kn.js +24 -0
- package/locales/angular/global/en-ky.js +24 -0
- package/locales/angular/global/en-lc.js +24 -0
- package/locales/angular/global/en-lr.js +24 -0
- package/locales/angular/global/en-ls.js +24 -0
- package/locales/angular/global/en-mg.js +24 -0
- package/locales/angular/global/en-mh.js +24 -0
- package/locales/angular/global/en-mo.js +24 -0
- package/locales/angular/global/en-mp.js +24 -0
- package/locales/angular/global/en-ms.js +24 -0
- package/locales/angular/global/en-mt.js +24 -0
- package/locales/angular/global/en-mu.js +24 -0
- package/locales/angular/global/en-mv.js +24 -0
- package/locales/angular/global/en-mw.js +24 -0
- package/locales/angular/global/en-my.js +24 -0
- package/locales/angular/global/en-na.js +24 -0
- package/locales/angular/global/en-nf.js +24 -0
- package/locales/angular/global/en-ng.js +24 -0
- package/locales/angular/global/en-nl.js +24 -0
- package/locales/angular/global/en-nr.js +24 -0
- package/locales/angular/global/en-nu.js +24 -0
- package/locales/angular/global/en-nz.js +24 -0
- package/locales/angular/global/en-pg.js +24 -0
- package/locales/angular/global/en-ph.js +24 -0
- package/locales/angular/global/en-pk.js +24 -0
- package/locales/angular/global/en-pn.js +24 -0
- package/locales/angular/global/en-pr.js +24 -0
- package/locales/angular/global/en-pw.js +24 -0
- package/locales/angular/global/en-rw.js +24 -0
- package/locales/angular/global/en-sb.js +24 -0
- package/locales/angular/global/en-sc.js +24 -0
- package/locales/angular/global/en-sd.js +24 -0
- package/locales/angular/global/en-se.js +24 -0
- package/locales/angular/global/en-sg.js +24 -0
- package/locales/angular/global/en-sh.js +24 -0
- package/locales/angular/global/en-si.js +24 -0
- package/locales/angular/global/en-sl.js +24 -0
- package/locales/angular/global/en-ss.js +24 -0
- package/locales/angular/global/en-sx.js +24 -0
- package/locales/angular/global/en-sz.js +24 -0
- package/locales/angular/global/en-tc.js +24 -0
- package/locales/angular/global/en-tk.js +24 -0
- package/locales/angular/global/en-to.js +24 -0
- package/locales/angular/global/en-tt.js +24 -0
- package/locales/angular/global/en-tv.js +24 -0
- package/locales/angular/global/en-tz.js +24 -0
- package/locales/angular/global/en-ug.js +24 -0
- package/locales/angular/global/en-um.js +24 -0
- package/locales/angular/global/en-vc.js +24 -0
- package/locales/angular/global/en-vg.js +24 -0
- package/locales/angular/global/en-vi.js +24 -0
- package/locales/angular/global/en-vu.js +24 -0
- package/locales/angular/global/en-ws.js +24 -0
- package/locales/angular/global/en-za.js +24 -0
- package/locales/angular/global/en-zm.js +24 -0
- package/locales/angular/global/en-zw.js +24 -0
- package/locales/angular/global/en.js +24 -0
- package/locales/angular/global/eo.js +24 -0
- package/locales/angular/global/es-419.js +26 -0
- package/locales/angular/global/es-ar.js +26 -0
- package/locales/angular/global/es-bo.js +26 -0
- package/locales/angular/global/es-br.js +26 -0
- package/locales/angular/global/es-bz.js +26 -0
- package/locales/angular/global/es-cl.js +26 -0
- package/locales/angular/global/es-co.js +26 -0
- package/locales/angular/global/es-cr.js +26 -0
- package/locales/angular/global/es-cu.js +26 -0
- package/locales/angular/global/es-do.js +26 -0
- package/locales/angular/global/es-ea.js +26 -0
- package/locales/angular/global/es-ec.js +26 -0
- package/locales/angular/global/es-gq.js +26 -0
- package/locales/angular/global/es-gt.js +26 -0
- package/locales/angular/global/es-hn.js +26 -0
- package/locales/angular/global/es-ic.js +26 -0
- package/locales/angular/global/es-mx.js +26 -0
- package/locales/angular/global/es-ni.js +26 -0
- package/locales/angular/global/es-pa.js +26 -0
- package/locales/angular/global/es-pe.js +26 -0
- package/locales/angular/global/es-ph.js +26 -0
- package/locales/angular/global/es-pr.js +26 -0
- package/locales/angular/global/es-py.js +26 -0
- package/locales/angular/global/es-sv.js +26 -0
- package/locales/angular/global/es-us.js +26 -0
- package/locales/angular/global/es-uy.js +26 -0
- package/locales/angular/global/es-ve.js +26 -0
- package/locales/angular/global/es.js +26 -0
- package/locales/angular/global/et.js +24 -0
- package/locales/angular/global/eu.js +24 -0
- package/locales/angular/global/ewo.js +22 -0
- package/locales/angular/global/fa-af.js +24 -0
- package/locales/angular/global/fa.js +24 -0
- package/locales/angular/global/ff-adlm-bf.js +22 -0
- package/locales/angular/global/ff-adlm-cm.js +22 -0
- package/locales/angular/global/ff-adlm-gh.js +22 -0
- package/locales/angular/global/ff-adlm-gm.js +22 -0
- package/locales/angular/global/ff-adlm-gw.js +22 -0
- package/locales/angular/global/ff-adlm-lr.js +22 -0
- package/locales/angular/global/ff-adlm-mr.js +22 -0
- package/locales/angular/global/ff-adlm-ne.js +22 -0
- package/locales/angular/global/ff-adlm-ng.js +22 -0
- package/locales/angular/global/ff-adlm-sl.js +22 -0
- package/locales/angular/global/ff-adlm-sn.js +22 -0
- package/locales/angular/global/ff-adlm.js +22 -0
- package/locales/angular/global/ff-cm.js +74 -0
- package/locales/angular/global/ff-gn.js +74 -0
- package/locales/angular/global/ff-latn-bf.js +24 -0
- package/locales/angular/global/ff-latn-cm.js +24 -0
- package/locales/angular/global/ff-latn-gh.js +24 -0
- package/locales/angular/global/ff-latn-gm.js +24 -0
- package/locales/angular/global/ff-latn-gn.js +24 -0
- package/locales/angular/global/ff-latn-gw.js +24 -0
- package/locales/angular/global/ff-latn-lr.js +24 -0
- package/locales/angular/global/ff-latn-mr.js +24 -0
- package/locales/angular/global/ff-latn-ne.js +24 -0
- package/locales/angular/global/ff-latn-ng.js +24 -0
- package/locales/angular/global/ff-latn-sl.js +24 -0
- package/locales/angular/global/ff-latn.js +24 -0
- package/locales/angular/global/ff-mr.js +74 -0
- package/locales/angular/global/ff.js +24 -0
- package/locales/angular/global/fi.js +24 -0
- package/locales/angular/global/fil.js +24 -0
- package/locales/angular/global/fo-dk.js +24 -0
- package/locales/angular/global/fo.js +24 -0
- package/locales/angular/global/fr-be.js +26 -0
- package/locales/angular/global/fr-bf.js +26 -0
- package/locales/angular/global/fr-bi.js +26 -0
- package/locales/angular/global/fr-bj.js +26 -0
- package/locales/angular/global/fr-bl.js +26 -0
- package/locales/angular/global/fr-ca.js +26 -0
- package/locales/angular/global/fr-cd.js +26 -0
- package/locales/angular/global/fr-cf.js +26 -0
- package/locales/angular/global/fr-cg.js +26 -0
- package/locales/angular/global/fr-ch.js +26 -0
- package/locales/angular/global/fr-ci.js +26 -0
- package/locales/angular/global/fr-cm.js +26 -0
- package/locales/angular/global/fr-dj.js +26 -0
- package/locales/angular/global/fr-dz.js +26 -0
- package/locales/angular/global/fr-ga.js +26 -0
- package/locales/angular/global/fr-gf.js +26 -0
- package/locales/angular/global/fr-gn.js +26 -0
- package/locales/angular/global/fr-gp.js +26 -0
- package/locales/angular/global/fr-gq.js +26 -0
- package/locales/angular/global/fr-ht.js +26 -0
- package/locales/angular/global/fr-km.js +26 -0
- package/locales/angular/global/fr-lu.js +26 -0
- package/locales/angular/global/fr-ma.js +26 -0
- package/locales/angular/global/fr-mc.js +26 -0
- package/locales/angular/global/fr-mf.js +26 -0
- package/locales/angular/global/fr-mg.js +26 -0
- package/locales/angular/global/fr-ml.js +26 -0
- package/locales/angular/global/fr-mq.js +26 -0
- package/locales/angular/global/fr-mr.js +26 -0
- package/locales/angular/global/fr-mu.js +26 -0
- package/locales/angular/global/fr-nc.js +26 -0
- package/locales/angular/global/fr-ne.js +26 -0
- package/locales/angular/global/fr-pf.js +26 -0
- package/locales/angular/global/fr-pm.js +26 -0
- package/locales/angular/global/fr-re.js +26 -0
- package/locales/angular/global/fr-rw.js +26 -0
- package/locales/angular/global/fr-sc.js +26 -0
- package/locales/angular/global/fr-sn.js +26 -0
- package/locales/angular/global/fr-sy.js +26 -0
- package/locales/angular/global/fr-td.js +26 -0
- package/locales/angular/global/fr-tg.js +26 -0
- package/locales/angular/global/fr-tn.js +26 -0
- package/locales/angular/global/fr-vu.js +26 -0
- package/locales/angular/global/fr-wf.js +26 -0
- package/locales/angular/global/fr-yt.js +26 -0
- package/locales/angular/global/fr.js +26 -0
- package/locales/angular/global/fur.js +24 -0
- package/locales/angular/global/fy.js +24 -0
- package/locales/angular/global/ga-gb.js +30 -0
- package/locales/angular/global/ga.js +30 -0
- package/locales/angular/global/gd.js +28 -0
- package/locales/angular/global/gl.js +24 -0
- package/locales/angular/global/gsw-fr.js +24 -0
- package/locales/angular/global/gsw-li.js +24 -0
- package/locales/angular/global/gsw.js +24 -0
- package/locales/angular/global/gu.js +24 -0
- package/locales/angular/global/guz.js +22 -0
- package/locales/angular/global/gv.js +30 -0
- package/locales/angular/global/ha-gh.js +24 -0
- package/locales/angular/global/ha-ne.js +24 -0
- package/locales/angular/global/ha.js +24 -0
- package/locales/angular/global/haw.js +24 -0
- package/locales/angular/global/he.js +28 -0
- package/locales/angular/global/hi-latn.js +24 -0
- package/locales/angular/global/hi.js +24 -0
- package/locales/angular/global/hr-ba.js +26 -0
- package/locales/angular/global/hr.js +26 -0
- package/locales/angular/global/hsb.js +28 -0
- package/locales/angular/global/hu.js +24 -0
- package/locales/angular/global/hy.js +24 -0
- package/locales/angular/global/ia.js +24 -0
- package/locales/angular/global/id.js +22 -0
- package/locales/angular/global/ig.js +22 -0
- package/locales/angular/global/ii.js +22 -0
- package/locales/angular/global/is.js +24 -0
- package/locales/angular/global/it-ch.js +26 -0
- package/locales/angular/global/it-sm.js +26 -0
- package/locales/angular/global/it-va.js +26 -0
- package/locales/angular/global/it.js +26 -0
- package/locales/angular/global/ja.js +22 -0
- package/locales/angular/global/jgo.js +24 -0
- package/locales/angular/global/jmc.js +24 -0
- package/locales/angular/global/jv.js +22 -0
- package/locales/angular/global/ka.js +24 -0
- package/locales/angular/global/kab.js +24 -0
- package/locales/angular/global/kam.js +22 -0
- package/locales/angular/global/kde.js +22 -0
- package/locales/angular/global/kea.js +22 -0
- package/locales/angular/global/kgp.js +22 -0
- package/locales/angular/global/khq.js +22 -0
- package/locales/angular/global/ki.js +22 -0
- package/locales/angular/global/kk.js +24 -0
- package/locales/angular/global/kkj.js +24 -0
- package/locales/angular/global/kl.js +24 -0
- package/locales/angular/global/kln.js +22 -0
- package/locales/angular/global/km.js +22 -0
- package/locales/angular/global/kn.js +24 -0
- package/locales/angular/global/ko-kp.js +22 -0
- package/locales/angular/global/ko.js +22 -0
- package/locales/angular/global/kok.js +22 -0
- package/locales/angular/global/ks-arab.js +24 -0
- package/locales/angular/global/ks-deva.js +22 -0
- package/locales/angular/global/ks.js +24 -0
- package/locales/angular/global/ksb.js +24 -0
- package/locales/angular/global/ksf.js +22 -0
- package/locales/angular/global/ksh.js +26 -0
- package/locales/angular/global/ku.js +24 -0
- package/locales/angular/global/kw.js +32 -0
- package/locales/angular/global/ky.js +24 -0
- package/locales/angular/global/lag.js +26 -0
- package/locales/angular/global/lb.js +24 -0
- package/locales/angular/global/lg.js +24 -0
- package/locales/angular/global/lkt.js +22 -0
- package/locales/angular/global/ln-ao.js +24 -0
- package/locales/angular/global/ln-cf.js +24 -0
- package/locales/angular/global/ln-cg.js +24 -0
- package/locales/angular/global/ln.js +24 -0
- package/locales/angular/global/lo.js +22 -0
- package/locales/angular/global/lrc-iq.js +22 -0
- package/locales/angular/global/lrc.js +22 -0
- package/locales/angular/global/lt.js +28 -0
- package/locales/angular/global/lu.js +22 -0
- package/locales/angular/global/luo.js +22 -0
- package/locales/angular/global/luy.js +22 -0
- package/locales/angular/global/lv.js +26 -0
- package/locales/angular/global/mai.js +22 -0
- package/locales/angular/global/mas-tz.js +24 -0
- package/locales/angular/global/mas.js +24 -0
- package/locales/angular/global/mer.js +22 -0
- package/locales/angular/global/mfe.js +22 -0
- package/locales/angular/global/mg.js +24 -0
- package/locales/angular/global/mgh.js +22 -0
- package/locales/angular/global/mgo.js +24 -0
- package/locales/angular/global/mi.js +22 -0
- package/locales/angular/global/mk.js +24 -0
- package/locales/angular/global/ml.js +24 -0
- package/locales/angular/global/mn.js +24 -0
- package/locales/angular/global/mni-beng.js +22 -0
- package/locales/angular/global/mni.js +22 -0
- package/locales/angular/global/mr.js +24 -0
- package/locales/angular/global/ms-bn.js +22 -0
- package/locales/angular/global/ms-id.js +22 -0
- package/locales/angular/global/ms-sg.js +22 -0
- package/locales/angular/global/ms.js +22 -0
- package/locales/angular/global/mt.js +28 -0
- package/locales/angular/global/mua.js +22 -0
- package/locales/angular/global/my.js +22 -0
- package/locales/angular/global/mzn.js +22 -0
- package/locales/angular/global/naq.js +26 -0
- package/locales/angular/global/nb-sj.js +24 -0
- package/locales/angular/global/nb.js +24 -0
- package/locales/angular/global/nd.js +24 -0
- package/locales/angular/global/nds-nl.js +22 -0
- package/locales/angular/global/nds.js +22 -0
- package/locales/angular/global/ne-in.js +24 -0
- package/locales/angular/global/ne.js +24 -0
- package/locales/angular/global/nl-aw.js +24 -0
- package/locales/angular/global/nl-be.js +24 -0
- package/locales/angular/global/nl-bq.js +24 -0
- package/locales/angular/global/nl-cw.js +24 -0
- package/locales/angular/global/nl-sr.js +24 -0
- package/locales/angular/global/nl-sx.js +24 -0
- package/locales/angular/global/nl.js +24 -0
- package/locales/angular/global/nmg.js +22 -0
- package/locales/angular/global/nn.js +24 -0
- package/locales/angular/global/nnh.js +24 -0
- package/locales/angular/global/no.js +24 -0
- package/locales/angular/global/nus.js +22 -0
- package/locales/angular/global/nyn.js +24 -0
- package/locales/angular/global/om-ke.js +24 -0
- package/locales/angular/global/om.js +24 -0
- package/locales/angular/global/or.js +24 -0
- package/locales/angular/global/os-ru.js +24 -0
- package/locales/angular/global/os.js +24 -0
- package/locales/angular/global/pa-arab.js +22 -0
- package/locales/angular/global/pa-guru.js +24 -0
- package/locales/angular/global/pa.js +24 -0
- package/locales/angular/global/pcm.js +24 -0
- package/locales/angular/global/pl.js +28 -0
- package/locales/angular/global/ps-pk.js +24 -0
- package/locales/angular/global/ps.js +24 -0
- package/locales/angular/global/pt-ao.js +26 -0
- package/locales/angular/global/pt-ch.js +26 -0
- package/locales/angular/global/pt-cv.js +26 -0
- package/locales/angular/global/pt-gq.js +26 -0
- package/locales/angular/global/pt-gw.js +26 -0
- package/locales/angular/global/pt-lu.js +26 -0
- package/locales/angular/global/pt-mo.js +26 -0
- package/locales/angular/global/pt-mz.js +26 -0
- package/locales/angular/global/pt-pt.js +26 -0
- package/locales/angular/global/pt-st.js +26 -0
- package/locales/angular/global/pt-tl.js +26 -0
- package/locales/angular/global/pt.js +26 -0
- package/locales/angular/global/qu-bo.js +22 -0
- package/locales/angular/global/qu-ec.js +22 -0
- package/locales/angular/global/qu.js +22 -0
- package/locales/angular/global/rm.js +24 -0
- package/locales/angular/global/rn.js +22 -0
- package/locales/angular/global/ro-md.js +26 -0
- package/locales/angular/global/ro.js +26 -0
- package/locales/angular/global/rof.js +24 -0
- package/locales/angular/global/ru-by.js +28 -0
- package/locales/angular/global/ru-kg.js +28 -0
- package/locales/angular/global/ru-kz.js +28 -0
- package/locales/angular/global/ru-md.js +28 -0
- package/locales/angular/global/ru-ua.js +28 -0
- package/locales/angular/global/ru.js +28 -0
- package/locales/angular/global/rw.js +22 -0
- package/locales/angular/global/rwk.js +24 -0
- package/locales/angular/global/sa.js +22 -0
- package/locales/angular/global/sah.js +22 -0
- package/locales/angular/global/saq.js +24 -0
- package/locales/angular/global/sat-olck.js +26 -0
- package/locales/angular/global/sat.js +26 -0
- package/locales/angular/global/sbp.js +22 -0
- package/locales/angular/global/sc.js +24 -0
- package/locales/angular/global/sd-arab.js +24 -0
- package/locales/angular/global/sd-deva.js +22 -0
- package/locales/angular/global/sd.js +24 -0
- package/locales/angular/global/se-fi.js +26 -0
- package/locales/angular/global/se-se.js +26 -0
- package/locales/angular/global/se.js +26 -0
- package/locales/angular/global/seh.js +24 -0
- package/locales/angular/global/ses.js +22 -0
- package/locales/angular/global/sg.js +22 -0
- package/locales/angular/global/shi-latn.js +22 -0
- package/locales/angular/global/shi-tfng.js +26 -0
- package/locales/angular/global/shi.js +26 -0
- package/locales/angular/global/si.js +24 -0
- package/locales/angular/global/sk.js +28 -0
- package/locales/angular/global/sl.js +28 -0
- package/locales/angular/global/smn.js +26 -0
- package/locales/angular/global/sn.js +24 -0
- package/locales/angular/global/so-dj.js +24 -0
- package/locales/angular/global/so-et.js +24 -0
- package/locales/angular/global/so-ke.js +24 -0
- package/locales/angular/global/so.js +24 -0
- package/locales/angular/global/sq-mk.js +24 -0
- package/locales/angular/global/sq-xk.js +24 -0
- package/locales/angular/global/sq.js +24 -0
- package/locales/angular/global/sr-cyrl-ba.js +26 -0
- package/locales/angular/global/sr-cyrl-me.js +26 -0
- package/locales/angular/global/sr-cyrl-xk.js +26 -0
- package/locales/angular/global/sr-cyrl.js +26 -0
- package/locales/angular/global/sr-latn-ba.js +22 -0
- package/locales/angular/global/sr-latn-me.js +22 -0
- package/locales/angular/global/sr-latn-xk.js +22 -0
- package/locales/angular/global/sr-latn.js +22 -0
- package/locales/angular/global/sr.js +26 -0
- package/locales/angular/global/su-latn.js +22 -0
- package/locales/angular/global/su.js +22 -0
- package/locales/angular/global/sv-ax.js +24 -0
- package/locales/angular/global/sv-fi.js +24 -0
- package/locales/angular/global/sv.js +24 -0
- package/locales/angular/global/sw-cd.js +24 -0
- package/locales/angular/global/sw-ke.js +24 -0
- package/locales/angular/global/sw-ug.js +24 -0
- package/locales/angular/global/sw.js +24 -0
- package/locales/angular/global/ta-lk.js +24 -0
- package/locales/angular/global/ta-my.js +24 -0
- package/locales/angular/global/ta-sg.js +24 -0
- package/locales/angular/global/ta.js +24 -0
- package/locales/angular/global/te.js +24 -0
- package/locales/angular/global/teo-ke.js +24 -0
- package/locales/angular/global/teo.js +24 -0
- package/locales/angular/global/tg.js +22 -0
- package/locales/angular/global/th.js +22 -0
- package/locales/angular/global/ti-er.js +24 -0
- package/locales/angular/global/ti.js +24 -0
- package/locales/angular/global/tk.js +24 -0
- package/locales/angular/global/to.js +22 -0
- package/locales/angular/global/tr-cy.js +24 -0
- package/locales/angular/global/tr.js +24 -0
- package/locales/angular/global/tt.js +22 -0
- package/locales/angular/global/twq.js +22 -0
- package/locales/angular/global/tzm.js +24 -0
- package/locales/angular/global/ug.js +24 -0
- package/locales/angular/global/uk.js +28 -0
- package/locales/angular/global/und.js +24 -0
- package/locales/angular/global/ur-in.js +24 -0
- package/locales/angular/global/ur.js +24 -0
- package/locales/angular/global/uz-arab.js +22 -0
- package/locales/angular/global/uz-cyrl.js +22 -0
- package/locales/angular/global/uz-latn.js +24 -0
- package/locales/angular/global/uz.js +24 -0
- package/locales/angular/global/vai-latn.js +22 -0
- package/locales/angular/global/vai-vaii.js +22 -0
- package/locales/angular/global/vai.js +22 -0
- package/locales/angular/global/vi.js +22 -0
- package/locales/angular/global/vun.js +24 -0
- package/locales/angular/global/wae.js +24 -0
- package/locales/angular/global/wo.js +22 -0
- package/locales/angular/global/xh.js +24 -0
- package/locales/angular/global/xog.js +24 -0
- package/locales/angular/global/yav.js +22 -0
- package/locales/angular/global/yi.js +24 -0
- package/locales/angular/global/yo-bj.js +22 -0
- package/locales/angular/global/yo.js +22 -0
- package/locales/angular/global/yrl-co.js +22 -0
- package/locales/angular/global/yrl-ve.js +22 -0
- package/locales/angular/global/yrl.js +22 -0
- package/locales/angular/global/yue-hans.js +22 -0
- package/locales/angular/global/yue-hant.js +22 -0
- package/locales/angular/global/yue.js +22 -0
- package/locales/angular/global/zgh.js +22 -0
- package/locales/angular/global/zh-hans-hk.js +22 -0
- package/locales/angular/global/zh-hans-mo.js +22 -0
- package/locales/angular/global/zh-hans-sg.js +22 -0
- package/locales/angular/global/zh-hans.js +22 -0
- package/locales/angular/global/zh-hant-hk.js +22 -0
- package/locales/angular/global/zh-hant-mo.js +22 -0
- package/locales/angular/global/zh-hant.js +22 -0
- package/locales/angular/global/zh.js +22 -0
- package/locales/angular/global/zu.js +24 -0
- package/locales/angular/gsw-fr.js +17 -0
- package/locales/angular/gsw-li.js +17 -0
- package/locales/angular/gsw.js +17 -0
- package/locales/angular/gu.js +17 -0
- package/locales/angular/guz.js +15 -0
- package/locales/angular/gv.js +23 -0
- package/locales/angular/ha-gh.js +17 -0
- package/locales/angular/ha-ne.js +17 -0
- package/locales/angular/ha.js +17 -0
- package/locales/angular/haw.js +17 -0
- package/locales/angular/he.js +21 -0
- package/locales/angular/hi-latn.js +17 -0
- package/locales/angular/hi.js +17 -0
- package/locales/angular/hr-ba.js +19 -0
- package/locales/angular/hr.js +19 -0
- package/locales/angular/hsb.js +21 -0
- package/locales/angular/hu.js +17 -0
- package/locales/angular/hy.js +17 -0
- package/locales/angular/ia.js +17 -0
- package/locales/angular/id.js +15 -0
- package/locales/angular/ig.js +15 -0
- package/locales/angular/ii.js +15 -0
- package/locales/angular/is.js +17 -0
- package/locales/angular/it-ch.js +19 -0
- package/locales/angular/it-sm.js +19 -0
- package/locales/angular/it-va.js +19 -0
- package/locales/angular/it.js +19 -0
- package/locales/angular/ja.js +15 -0
- package/locales/angular/jgo.js +17 -0
- package/locales/angular/jmc.js +17 -0
- package/locales/angular/jv.js +15 -0
- package/locales/angular/ka.js +17 -0
- package/locales/angular/kab.js +17 -0
- package/locales/angular/kam.js +15 -0
- package/locales/angular/kde.js +15 -0
- package/locales/angular/kea.js +15 -0
- package/locales/angular/kgp.js +15 -0
- package/locales/angular/khq.js +15 -0
- package/locales/angular/ki.js +15 -0
- package/locales/angular/kk.js +17 -0
- package/locales/angular/kkj.js +17 -0
- package/locales/angular/kl.js +17 -0
- package/locales/angular/kln.js +15 -0
- package/locales/angular/km.js +15 -0
- package/locales/angular/kn.js +17 -0
- package/locales/angular/ko-kp.js +15 -0
- package/locales/angular/ko.js +15 -0
- package/locales/angular/kok.js +15 -0
- package/locales/angular/ks-arab.js +17 -0
- package/locales/angular/ks-deva.js +15 -0
- package/locales/angular/ks.js +17 -0
- package/locales/angular/ksb.js +17 -0
- package/locales/angular/ksf.js +15 -0
- package/locales/angular/ksh.js +19 -0
- package/locales/angular/ku.js +17 -0
- package/locales/angular/kw.js +25 -0
- package/locales/angular/ky.js +17 -0
- package/locales/angular/lag.js +19 -0
- package/locales/angular/lb.js +17 -0
- package/locales/angular/lg.js +17 -0
- package/locales/angular/lkt.js +15 -0
- package/locales/angular/ln-ao.js +17 -0
- package/locales/angular/ln-cf.js +17 -0
- package/locales/angular/ln-cg.js +17 -0
- package/locales/angular/ln.js +17 -0
- package/locales/angular/lo.js +15 -0
- package/locales/angular/lrc-iq.js +15 -0
- package/locales/angular/lrc.js +15 -0
- package/locales/angular/lt.js +21 -0
- package/locales/angular/lu.js +15 -0
- package/locales/angular/luo.js +15 -0
- package/locales/angular/luy.js +15 -0
- package/locales/angular/lv.js +19 -0
- package/locales/angular/mai.js +15 -0
- package/locales/angular/mas-tz.js +17 -0
- package/locales/angular/mas.js +17 -0
- package/locales/angular/mer.js +15 -0
- package/locales/angular/mfe.js +15 -0
- package/locales/angular/mg.js +17 -0
- package/locales/angular/mgh.js +15 -0
- package/locales/angular/mgo.js +17 -0
- package/locales/angular/mi.js +15 -0
- package/locales/angular/mk.js +17 -0
- package/locales/angular/ml.js +17 -0
- package/locales/angular/mn.js +17 -0
- package/locales/angular/mni-beng.js +15 -0
- package/locales/angular/mni.js +15 -0
- package/locales/angular/mr.js +17 -0
- package/locales/angular/ms-bn.js +15 -0
- package/locales/angular/ms-id.js +15 -0
- package/locales/angular/ms-sg.js +15 -0
- package/locales/angular/ms.js +15 -0
- package/locales/angular/mt.js +21 -0
- package/locales/angular/mua.js +15 -0
- package/locales/angular/my.js +15 -0
- package/locales/angular/mzn.js +15 -0
- package/locales/angular/naq.js +19 -0
- package/locales/angular/nb-sj.js +17 -0
- package/locales/angular/nb.js +17 -0
- package/locales/angular/nd.js +17 -0
- package/locales/angular/nds-nl.js +15 -0
- package/locales/angular/nds.js +15 -0
- package/locales/angular/ne-in.js +17 -0
- package/locales/angular/ne.js +17 -0
- package/locales/angular/nl-aw.js +17 -0
- package/locales/angular/nl-be.js +17 -0
- package/locales/angular/nl-bq.js +17 -0
- package/locales/angular/nl-cw.js +17 -0
- package/locales/angular/nl-sr.js +17 -0
- package/locales/angular/nl-sx.js +17 -0
- package/locales/angular/nl.js +17 -0
- package/locales/angular/nmg.js +15 -0
- package/locales/angular/nn.js +17 -0
- package/locales/angular/nnh.js +17 -0
- package/locales/angular/no.js +17 -0
- package/locales/angular/nus.js +15 -0
- package/locales/angular/nyn.js +17 -0
- package/locales/angular/om-ke.js +17 -0
- package/locales/angular/om.js +17 -0
- package/locales/angular/or.js +17 -0
- package/locales/angular/os-ru.js +17 -0
- package/locales/angular/os.js +17 -0
- package/locales/angular/pa-arab.js +15 -0
- package/locales/angular/pa-guru.js +17 -0
- package/locales/angular/pa.js +17 -0
- package/locales/angular/pcm.js +17 -0
- package/locales/angular/pl.js +21 -0
- package/locales/angular/ps-pk.js +17 -0
- package/locales/angular/ps.js +17 -0
- package/locales/angular/pt-ao.js +19 -0
- package/locales/angular/pt-ch.js +19 -0
- package/locales/angular/pt-cv.js +19 -0
- package/locales/angular/pt-gq.js +19 -0
- package/locales/angular/pt-gw.js +19 -0
- package/locales/angular/pt-lu.js +19 -0
- package/locales/angular/pt-mo.js +19 -0
- package/locales/angular/pt-mz.js +19 -0
- package/locales/angular/pt-pt.js +19 -0
- package/locales/angular/pt-st.js +19 -0
- package/locales/angular/pt-tl.js +19 -0
- package/locales/angular/pt.js +19 -0
- package/locales/angular/qu-bo.js +15 -0
- package/locales/angular/qu-ec.js +15 -0
- package/locales/angular/qu.js +15 -0
- package/locales/angular/rm.js +17 -0
- package/locales/angular/rn.js +15 -0
- package/locales/angular/ro-md.js +19 -0
- package/locales/angular/ro.js +19 -0
- package/locales/angular/rof.js +17 -0
- package/locales/angular/ru-by.js +21 -0
- package/locales/angular/ru-kg.js +21 -0
- package/locales/angular/ru-kz.js +21 -0
- package/locales/angular/ru-md.js +21 -0
- package/locales/angular/ru-ua.js +21 -0
- package/locales/angular/ru.js +21 -0
- package/locales/angular/rw.js +15 -0
- package/locales/angular/rwk.js +17 -0
- package/locales/angular/sa.js +15 -0
- package/locales/angular/sah.js +15 -0
- package/locales/angular/saq.js +17 -0
- package/locales/angular/sat-olck.js +19 -0
- package/locales/angular/sat.js +19 -0
- package/locales/angular/sbp.js +15 -0
- package/locales/angular/sc.js +17 -0
- package/locales/angular/sd-arab.js +17 -0
- package/locales/angular/sd-deva.js +15 -0
- package/locales/angular/sd.js +17 -0
- package/locales/angular/se-fi.js +19 -0
- package/locales/angular/se-se.js +19 -0
- package/locales/angular/se.js +19 -0
- package/locales/angular/seh.js +17 -0
- package/locales/angular/ses.js +15 -0
- package/locales/angular/sg.js +15 -0
- package/locales/angular/shi-latn.js +15 -0
- package/locales/angular/shi-tfng.js +19 -0
- package/locales/angular/shi.js +19 -0
- package/locales/angular/si.js +17 -0
- package/locales/angular/sk.js +21 -0
- package/locales/angular/sl.js +21 -0
- package/locales/angular/smn.js +19 -0
- package/locales/angular/sn.js +17 -0
- package/locales/angular/so-dj.js +17 -0
- package/locales/angular/so-et.js +17 -0
- package/locales/angular/so-ke.js +17 -0
- package/locales/angular/so.js +17 -0
- package/locales/angular/sq-mk.js +17 -0
- package/locales/angular/sq-xk.js +17 -0
- package/locales/angular/sq.js +17 -0
- package/locales/angular/sr-cyrl-ba.js +19 -0
- package/locales/angular/sr-cyrl-me.js +19 -0
- package/locales/angular/sr-cyrl-xk.js +19 -0
- package/locales/angular/sr-cyrl.js +19 -0
- package/locales/angular/sr-latn-ba.js +15 -0
- package/locales/angular/sr-latn-me.js +15 -0
- package/locales/angular/sr-latn-xk.js +15 -0
- package/locales/angular/sr-latn.js +15 -0
- package/locales/angular/sr.js +19 -0
- package/locales/angular/su-latn.js +15 -0
- package/locales/angular/su.js +15 -0
- package/locales/angular/sv-ax.js +17 -0
- package/locales/angular/sv-fi.js +17 -0
- package/locales/angular/sv.js +17 -0
- package/locales/angular/sw-cd.js +17 -0
- package/locales/angular/sw-ke.js +17 -0
- package/locales/angular/sw-ug.js +17 -0
- package/locales/angular/sw.js +17 -0
- package/locales/angular/ta-lk.js +17 -0
- package/locales/angular/ta-my.js +17 -0
- package/locales/angular/ta-sg.js +17 -0
- package/locales/angular/ta.js +17 -0
- package/locales/angular/te.js +17 -0
- package/locales/angular/teo-ke.js +17 -0
- package/locales/angular/teo.js +17 -0
- package/locales/angular/tg.js +15 -0
- package/locales/angular/th.js +15 -0
- package/locales/angular/ti-er.js +17 -0
- package/locales/angular/ti.js +17 -0
- package/locales/angular/tk.js +17 -0
- package/locales/angular/to.js +15 -0
- package/locales/angular/tr-cy.js +17 -0
- package/locales/angular/tr.js +17 -0
- package/locales/angular/tt.js +15 -0
- package/locales/angular/twq.js +15 -0
- package/locales/angular/tzm.js +17 -0
- package/locales/angular/ug.js +17 -0
- package/locales/angular/uk.js +21 -0
- package/locales/angular/und.js +17 -0
- package/locales/angular/ur-in.js +17 -0
- package/locales/angular/ur.js +17 -0
- package/locales/angular/uz-arab.js +15 -0
- package/locales/angular/uz-cyrl.js +15 -0
- package/locales/angular/uz-latn.js +17 -0
- package/locales/angular/uz.js +17 -0
- package/locales/angular/vai-latn.js +15 -0
- package/locales/angular/vai-vaii.js +15 -0
- package/locales/angular/vai.js +15 -0
- package/locales/angular/vi.js +15 -0
- package/locales/angular/vun.js +17 -0
- package/locales/angular/wae.js +17 -0
- package/locales/angular/wo.js +15 -0
- package/locales/angular/xh.js +17 -0
- package/locales/angular/xog.js +17 -0
- package/locales/angular/yav.js +15 -0
- package/locales/angular/yi.js +17 -0
- package/locales/angular/yo-bj.js +15 -0
- package/locales/angular/yo.js +15 -0
- package/locales/angular/yrl-co.js +15 -0
- package/locales/angular/yrl-ve.js +15 -0
- package/locales/angular/yrl.js +15 -0
- package/locales/angular/yue-hans.js +15 -0
- package/locales/angular/yue-hant.js +15 -0
- package/locales/angular/yue.js +15 -0
- package/locales/angular/zgh.js +15 -0
- package/locales/angular/zh-hans-hk.js +15 -0
- package/locales/angular/zh-hans-mo.js +15 -0
- package/locales/angular/zh-hans-sg.js +15 -0
- package/locales/angular/zh-hans.js +15 -0
- package/locales/angular/zh-hant-hk.js +15 -0
- package/locales/angular/zh-hant-mo.js +15 -0
- package/locales/angular/zh-hant.js +15 -0
- package/locales/angular/zh.js +15 -0
- package/locales/angular/zu.js +17 -0
- package/locales/moment/af.js +82 -0
- package/locales/moment/ar-dz.js +167 -0
- package/locales/moment/ar-kw.js +66 -0
- package/locales/moment/ar-ly.js +182 -0
- package/locales/moment/ar-ma.js +67 -0
- package/locales/moment/ar-ps.js +123 -0
- package/locales/moment/ar-sa.js +116 -0
- package/locales/moment/ar-tn.js +66 -0
- package/locales/moment/ar.js +200 -0
- package/locales/moment/az.js +113 -0
- package/locales/moment/be.js +153 -0
- package/locales/moment/bg.js +98 -0
- package/locales/moment/bm.js +62 -0
- package/locales/moment/bn-bd.js +140 -0
- package/locales/moment/bn.js +130 -0
- package/locales/moment/bo.js +135 -0
- package/locales/moment/br.js +179 -0
- package/locales/moment/bs.js +171 -0
- package/locales/moment/ca.js +111 -0
- package/locales/moment/cs.js +192 -0
- package/locales/moment/cv.js +74 -0
- package/locales/moment/cy.js +109 -0
- package/locales/moment/da.js +64 -0
- package/locales/moment/de-at.js +90 -0
- package/locales/moment/de-ch.js +87 -0
- package/locales/moment/de.js +89 -0
- package/locales/moment/dv.js +101 -0
- package/locales/moment/el.js +117 -0
- package/locales/moment/en-au.js +79 -0
- package/locales/moment/en-ca.js +75 -0
- package/locales/moment/en-gb.js +79 -0
- package/locales/moment/en-ie.js +79 -0
- package/locales/moment/en-il.js +75 -0
- package/locales/moment/en-in.js +79 -0
- package/locales/moment/en-nz.js +79 -0
- package/locales/moment/en-sg.js +79 -0
- package/locales/moment/eo.js +79 -0
- package/locales/moment/es-do.js +119 -0
- package/locales/moment/es-mx.js +121 -0
- package/locales/moment/es-us.js +121 -0
- package/locales/moment/es.js +121 -0
- package/locales/moment/et.js +89 -0
- package/locales/moment/eu.js +76 -0
- package/locales/moment/fa.js +124 -0
- package/locales/moment/fi.js +135 -0
- package/locales/moment/fil.js +69 -0
- package/locales/moment/fo.js +68 -0
- package/locales/moment/fr-ca.js +81 -0
- package/locales/moment/fr-ch.js +85 -0
- package/locales/moment/fr.js +119 -0
- package/locales/moment/fy.js +86 -0
- package/locales/moment/ga.js +106 -0
- package/locales/moment/gd.js +106 -0
- package/locales/moment/gl.js +86 -0
- package/locales/moment/gom-deva.js +137 -0
- package/locales/moment/gom-latn.js +135 -0
- package/locales/moment/gu.js +133 -0
- package/locales/moment/he.js +105 -0
- package/locales/moment/hi.js +179 -0
- package/locales/moment/hr.js +167 -0
- package/locales/moment/hu.js +129 -0
- package/locales/moment/hy-am.js +105 -0
- package/locales/moment/id.js +87 -0
- package/locales/moment/is.js +151 -0
- package/locales/moment/it-ch.js +75 -0
- package/locales/moment/it.js +117 -0
- package/locales/moment/ja.js +159 -0
- package/locales/moment/jv.js +87 -0
- package/locales/moment/ka.js +103 -0
- package/locales/moment/kk.js +93 -0
- package/locales/moment/km.js +114 -0
- package/locales/moment/kn.js +135 -0
- package/locales/moment/ko.js +86 -0
- package/locales/moment/ku-kmr.js +125 -0
- package/locales/moment/ku.js +129 -0
- package/locales/moment/ky.js +95 -0
- package/locales/moment/lb.js +148 -0
- package/locales/moment/lo.js +77 -0
- package/locales/moment/lt.js +136 -0
- package/locales/moment/lv.js +105 -0
- package/locales/moment/me.js +128 -0
- package/locales/moment/mi.js +71 -0
- package/locales/moment/mk.js +97 -0
- package/locales/moment/ml.js +93 -0
- package/locales/moment/mn.js +111 -0
- package/locales/moment/mr.js +214 -0
- package/locales/moment/ms-my.js +87 -0
- package/locales/moment/ms.js +86 -0
- package/locales/moment/mt.js +67 -0
- package/locales/moment/my.js +102 -0
- package/locales/moment/nb.js +71 -0
- package/locales/moment/ne.js +132 -0
- package/locales/moment/nl-be.js +113 -0
- package/locales/moment/nl.js +115 -0
- package/locales/moment/nn.js +70 -0
- package/locales/moment/oc-lnc.js +96 -0
- package/locales/moment/pa-in.js +133 -0
- package/locales/moment/pl.js +151 -0
- package/locales/moment/pt-br.js +69 -0
- package/locales/moment/pt.js +74 -0
- package/locales/moment/ro.js +87 -0
- package/locales/moment/ru.js +224 -0
- package/locales/moment/sd.js +92 -0
- package/locales/moment/se.js +68 -0
- package/locales/moment/si.js +80 -0
- package/locales/moment/sk.js +156 -0
- package/locales/moment/sl.js +182 -0
- package/locales/moment/sq.js +76 -0
- package/locales/moment/sr-cyrl.js +138 -0
- package/locales/moment/sr.js +140 -0
- package/locales/moment/ss.js +95 -0
- package/locales/moment/sv.js +79 -0
- package/locales/moment/sw.js +66 -0
- package/locales/moment/ta.js +142 -0
- package/locales/moment/te.js +99 -0
- package/locales/moment/tet.js +79 -0
- package/locales/moment/tg.js +128 -0
- package/locales/moment/th.js +76 -0
- package/locales/moment/tk.js +102 -0
- package/locales/moment/tl-ph.js +68 -0
- package/locales/moment/tlh.js +135 -0
- package/locales/moment/tr.js +117 -0
- package/locales/moment/tzl.js +100 -0
- package/locales/moment/tzm-latn.js +65 -0
- package/locales/moment/tzm.js +65 -0
- package/locales/moment/ug-cn.js +122 -0
- package/locales/moment/uk.js +178 -0
- package/locales/moment/ur.js +93 -0
- package/locales/moment/uz-latn.js +65 -0
- package/locales/moment/uz.js +62 -0
- package/locales/moment/vi.js +91 -0
- package/locales/moment/x-pseudo.js +84 -0
- package/locales/moment/yo.js +64 -0
- package/locales/moment/zh-cn.js +131 -0
- package/locales/moment/zh-hk.js +112 -0
- package/locales/moment/zh-mo.js +111 -0
- package/locales/moment/zh-tw.js +110 -0
- package/locales/moment-timezone/moment-timezone-with-data.js +1582 -0
- package/npm-shrinkwrap.json +17 -0
- package/oAuth/.npmignore +2 -0
- package/oAuth/bundles/index.umd.js +495 -0
- package/oAuth/fesm2022/index.mjs +478 -0
- package/oAuth/fesm2022/index.mjs.map +1 -0
- package/oAuth/index.d.ts +43 -0
- package/oAuth/package.json +23 -0
- package/package-lock.json +17 -0
- package/package.json +16 -0
- package/runtime/base/.npmignore +2 -0
- package/runtime/base/bundles/index.umd.js +6144 -0
- package/runtime/base/fesm2022/index.mjs +6180 -0
- package/runtime/base/fesm2022/index.mjs.map +1 -0
- package/runtime/base/index.d.ts +1426 -0
- package/runtime/base/package.json +23 -0
- package/runtime/dynamic/.npmignore +2 -0
- package/runtime/dynamic/bundles/index.umd.js +887 -0
- package/runtime/dynamic/fesm2022/index.mjs +950 -0
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -0
- package/runtime/dynamic/index.d.ts +164 -0
- package/runtime/dynamic/package.json +23 -0
- package/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -0
- package/scripts/d3/d3.min.js +2 -0
- package/scripts/datatable/datatable.js +3787 -0
- package/scripts/iscroll/build/iscroll.js +2091 -0
- package/scripts/jquery-ui/ui/widgets/droppable.js +503 -0
- package/scripts/jquery-ui/ui/widgets/resizable.js +1275 -0
- package/scripts/jquery-ui/ui/widgets/sortable.js +1608 -0
- package/scripts/jquery.ui.touch-punch/jquery.ui.touch-punch.min.js +11 -0
- package/scripts/summernote/dist/summernote-lite.min.js +2 -0
- package/scripts/swipey/swipey.jquery.plugin.js +799 -0
- package/scripts/tree-keyboard-navigation/keyboard-navigation.js +251 -0
- package/security/.npmignore +2 -0
- package/security/bundles/index.umd.js +446 -0
- package/security/fesm2022/index.mjs +444 -0
- package/security/fesm2022/index.mjs.map +1 -0
- package/security/index.d.ts +130 -0
- package/security/package.json +23 -0
- package/swipey/.npmignore +2 -0
- package/swipey/bundles/index.umd.js +54 -0
- package/swipey/fesm2022/index.mjs +51 -0
- package/swipey/fesm2022/index.mjs.map +1 -0
- package/swipey/index.d.ts +21 -0
- package/swipey/package.json +23 -0
- package/transpiler/.npmignore +2 -0
- package/transpiler/bundles/index.umd.js +814 -0
- package/transpiler/fesm2022/index.mjs +808 -0
- package/transpiler/fesm2022/index.mjs.map +1 -0
- package/transpiler/index.d.ts +47 -0
- package/transpiler/package.json +24 -0
- package/variables/.npmignore +2 -0
- package/variables/bundles/index.umd.js +3174 -0
- package/variables/fesm2022/index.mjs +3236 -0
- package/variables/fesm2022/index.mjs.map +1 -0
- package/variables/index.d.ts +468 -0
- package/variables/package.json +23 -0
|
@@ -0,0 +1,1774 @@
|
|
|
1
|
+
import * as i2 from '@angular/common';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SpinnerComponent } from '@wm/components/basic/spinner';
|
|
4
|
+
import * as i0 from '@angular/core';
|
|
5
|
+
import { HostBinding, Inject, Optional, ViewEncapsulation, Component } from '@angular/core';
|
|
6
|
+
import * as i1 from '@wm/core';
|
|
7
|
+
import { isEmptyObject, prettifyLabels, isNumberType, triggerFn, DataSource, getClonedObject, isDataSourceEqual, removeAttr } from '@wm/core';
|
|
8
|
+
import { register, PROP_STRING, PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, StylableComponent, styler, APPLY_STYLES_TYPE, provideAsWidgetRef } from '@wm/components/base';
|
|
9
|
+
import { invert, includes, split, isFinite, forEach, isUndefined, isString, isArray, get, minBy, maxBy, map, first, orderBy, groupBy, max, fill, forEachRight, concat, replace, uniq, intersection, isEmpty, keys, isObject, debounce } from 'lodash-es';
|
|
10
|
+
import * as momentLib from 'moment';
|
|
11
|
+
|
|
12
|
+
const registerProps = () => {
|
|
13
|
+
register('wm-chart', new Map([
|
|
14
|
+
['aggregation', { value: 'none', ...PROP_STRING }],
|
|
15
|
+
['aggregationcolumn', PROP_STRING],
|
|
16
|
+
['areaviewtype', { value: 'stack', ...PROP_STRING }],
|
|
17
|
+
['barspacing', { value: 'medium', ...PROP_STRING }],
|
|
18
|
+
['bubblesize', PROP_STRING],
|
|
19
|
+
['centerlabel', PROP_STRING],
|
|
20
|
+
['class', PROP_STRING],
|
|
21
|
+
['customcolors', PROP_ANY],
|
|
22
|
+
['dataset', PROP_ANY],
|
|
23
|
+
['datasource', PROP_STRING],
|
|
24
|
+
['donutratio', { value: 'medium', ...PROP_STRING }],
|
|
25
|
+
['formattype', { value: '', PROP_STRING }],
|
|
26
|
+
['groupby', PROP_STRING],
|
|
27
|
+
['height', { value: '210px', PROP_STRING }],
|
|
28
|
+
['highlightpoints', PROP_BOOLEAN],
|
|
29
|
+
['iconclass', PROP_STRING],
|
|
30
|
+
['interpolation', { value: 'linear', ...PROP_STRING }],
|
|
31
|
+
['labelthreshold', { value: 0.01, ...PROP_NUMBER }],
|
|
32
|
+
['labeltype', { value: 'percent', ...PROP_STRING }],
|
|
33
|
+
['legendtype', { value: 'furious', ...PROP_STRING }],
|
|
34
|
+
['linethickness', PROP_STRING],
|
|
35
|
+
['loadingdatamsg', { value: 'Loading...', ...PROP_STRING }],
|
|
36
|
+
['name', PROP_STRING],
|
|
37
|
+
['nodatamessage', { value: 'No Data Available.', ...PROP_STRING }],
|
|
38
|
+
['offset', PROP_STRING],
|
|
39
|
+
['offsetbottom', { value: 55, ...PROP_NUMBER }],
|
|
40
|
+
['offsetleft', { value: 75, ...PROP_NUMBER }],
|
|
41
|
+
['offsetright', { value: 25, ...PROP_NUMBER }],
|
|
42
|
+
['offsettop', { value: 25, ...PROP_NUMBER }],
|
|
43
|
+
['orderby', PROP_STRING],
|
|
44
|
+
['reducexticks', { value: true, ...PROP_BOOLEAN }],
|
|
45
|
+
['shape', { value: 'circle', ...PROP_STRING }],
|
|
46
|
+
['show', { value: true, ...PROP_BOOLEAN }],
|
|
47
|
+
['showlabels', { value: 'outside', ...PROP_STRING }],
|
|
48
|
+
['showlabelsoutside', { value: true, ...PROP_BOOLEAN }],
|
|
49
|
+
['showlegend', { value: 'top', ...PROP_STRING }],
|
|
50
|
+
['showvalues', { value: false, ...PROP_BOOLEAN }],
|
|
51
|
+
['showxaxis', { value: true, ...PROP_BOOLEAN }],
|
|
52
|
+
['showxdistance', { value: false, ...PROP_BOOLEAN }],
|
|
53
|
+
['showyaxis', { value: true, ...PROP_BOOLEAN }],
|
|
54
|
+
['showydistance', { value: false, ...PROP_BOOLEAN }],
|
|
55
|
+
['staggerlabels', { value: false, ...PROP_BOOLEAN }],
|
|
56
|
+
['subheading', PROP_STRING],
|
|
57
|
+
['theme', PROP_STRING],
|
|
58
|
+
['title', PROP_STRING],
|
|
59
|
+
['tooltips', { value: true, ...PROP_BOOLEAN }],
|
|
60
|
+
['type', PROP_STRING],
|
|
61
|
+
['viewtype', { value: 'Grouped', ...PROP_STRING }],
|
|
62
|
+
['xaxisdatakey', PROP_STRING],
|
|
63
|
+
['xaxislabel', PROP_STRING],
|
|
64
|
+
['xaxislabeldistance', { value: 12, ...PROP_NUMBER }],
|
|
65
|
+
['xdateformat', PROP_STRING],
|
|
66
|
+
['xdomain', { value: 'Default', ...PROP_STRING }],
|
|
67
|
+
['xnumberformat', PROP_STRING],
|
|
68
|
+
['xunits', PROP_STRING],
|
|
69
|
+
['yaxisdatakey', PROP_STRING],
|
|
70
|
+
['yaxislabel', PROP_STRING],
|
|
71
|
+
['yaxislabeldistance', { value: 12, ...PROP_NUMBER }],
|
|
72
|
+
['ydomain', { value: 'Default', ...PROP_STRING }],
|
|
73
|
+
['ynumberformat', PROP_STRING],
|
|
74
|
+
['yunits', PROP_STRING]
|
|
75
|
+
]));
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
const moment = momentLib.default || window['moment'];
|
|
79
|
+
const chartTypes = ['Column', 'Line', 'Area', 'Cumulative Line', 'Bar', 'Pie', 'Donut', 'Bubble'], allShapes = ['circle', 'square', 'diamond', 'cross', 'triangle-up', 'triangle-down'];
|
|
80
|
+
const dateList = ['01/01/2001', '01/01/2002', '01/01/2003'], themes = {
|
|
81
|
+
'Terrestrial': {
|
|
82
|
+
colors: ['#1f77b4', '#aec7e8', '#ff7f0e', '#ffbb78', '#2ca02c', '#98df8a', '#d62728', '#ff9896', '#9467bd', '#c5b0d5', '#8c564b', '#c49c94', '#e377c2', '#f7b6d2', '#7f7f7f', '#c7c7c7', '#bcbd22', '#dbdb8d', '#17becf', '#9edae5'],
|
|
83
|
+
tooltip: {
|
|
84
|
+
'backgroundColor': '#de7d28',
|
|
85
|
+
'textColor': '#FFFFFF'
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
'Annabelle': {
|
|
89
|
+
colors: ['#393b79', '#5254a3', '#6b6ecf', '#9c9ede', '#637939', '#8ca252', '#b5cf6b', '#cedb9c', '#8c6d31', '#bd9e39', '#e7ba52', '#e7cb94', '#843c39', '#ad494a', '#d6616b', '#e7969c', '#7b4173', '#a55194', '#ce6dbd', '#de9ed6'],
|
|
90
|
+
tooltip: {
|
|
91
|
+
'backgroundColor': '#2e306f',
|
|
92
|
+
'textColor': '#FFFFFF'
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
'Azure': {
|
|
96
|
+
colors: ['#3182bd', '#6baed6', '#9ecae1', '#c6dbef', '#e6550d', '#fd8d3c', '#fdae6b', '#fdd0a2', '#31a354', '#74c476', '#a1d99b', '#c7e9c0', '#756bb1', '#9e9ac8', '#bcbddc', '#dadaeb', '#636363', '#969696', '#bdbdbd', '#d9d9d9'],
|
|
97
|
+
tooltip: {
|
|
98
|
+
'backgroundColor': '#3182bd',
|
|
99
|
+
'textColor': '#FFFFFF'
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
'Retro': {
|
|
103
|
+
colors: ['#0ca7a1', '#ffa615', '#334957', '#acc5c2', '#988f90', '#8accc9', '#515151', '#f27861', '#36c9fd', '#794668', '#0f709d', '#0d2738', '#44be78', '#4a1839', '#6a393f', '#557d8b', '#6c331c', '#1c1c1c', '#861500', '#09562a'],
|
|
104
|
+
tooltip: {
|
|
105
|
+
'backgroundColor': '#80513a',
|
|
106
|
+
'textColor': '#FFFFFF'
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
'Mellow': {
|
|
110
|
+
colors: ['#f0dcbf', '#88c877', '#aeb918', '#2e2c23', '#ddddd2', '#dfe956', '#4c963b', '#5d3801', '#e1eec3', '#cd8472', '#fcfab3', '#9a4635', '#9295ad', '#2e3f12', '#565677', '#557d8b', '#4f4d02', '#0c0c1b', '#833324', '#24120e'],
|
|
111
|
+
tooltip: {
|
|
112
|
+
'backgroundColor': '#7c9e73',
|
|
113
|
+
'textColor': '#FFFFFF'
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
'Orient': {
|
|
117
|
+
colors: ['#a80000', '#cc6c3c', '#f0e400', '#000084', '#fccc6c', '#009c6c', '#cc309c', '#78cc00', '#fc84e4', '#48e4fc', '#4878d8', '#186c0c', '#606060', '#a8a8a8', '#000000', '#d7d7d7', '#75a06e', '#190d0b', '#888888', '#694b84'],
|
|
118
|
+
tooltip: {
|
|
119
|
+
'backgroundColor': '#c14242',
|
|
120
|
+
'textColor': '#FFFFFF'
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
'GrayScale': {
|
|
124
|
+
colors: ['#141414', '#353535', '#5b5b5b', '#848484', '#a8a8a8', '#c3c3c3', '#e0e0e0', '#c8c8c8', '#a5a5a5', '#878787', '#656565', '#4e4e4e', '#303030', '#1c1c1c', '#4f4f4f', '#3b3b3b', '#757575', '#606060', '#868686', '#c1c1c1'],
|
|
125
|
+
tooltip: {
|
|
126
|
+
'backgroundColor': '#575757',
|
|
127
|
+
'textColor': '#FFFFFF'
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
'Flyer': {
|
|
131
|
+
colors: ['#3f454c', '#5a646e', '#848778', '#cededf', '#74c4dd', '#0946ed', '#380bb1', '#000ff0', '#f54a23', '#1db262', '#bca3aa', '#ffa500', '#a86b32', '#63a18c', '#56795e', '#934343', '#b75f5f', '#752d2d', '#4e1111', '#920606'],
|
|
132
|
+
tooltip: {
|
|
133
|
+
'backgroundColor': '#47637c',
|
|
134
|
+
'textColor': '#FFFFFF'
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
'Luminosity': {
|
|
138
|
+
colors: ['#FFFFFF', '#e4e4e4', '#00bcd4', '#f0dd2f', '#00aabf', '#018376', '#e91e63', '#39e5d4', '#ff6d6d', '#00ff76', '#ff9800', '#969696', '#ff4200', '#e00000', '#95cbe5', '#5331ff', '#fff4a7', '#e7a800', '#0061e4', '#d5e7ff'],
|
|
139
|
+
tooltip: {
|
|
140
|
+
'backgroundColor': '#47637c',
|
|
141
|
+
'textColor': '#FFFFFF'
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}, basicProperties = ['xaxislabel', 'yaxislabel', 'xunits', 'yunits', 'xnumberformat', 'xdateformat', 'ynumberformat',
|
|
145
|
+
'showvalues', 'showlabels', 'viewtype', 'areaviewtype', 'staggerlabels', 'reducexticks', 'offsettop', 'offsetbottom', 'offsetright', 'offsetleft',
|
|
146
|
+
'barspacing', 'xaxislabeldistance', 'yaxislabeldistance', 'theme', 'labeltype', 'donutratio', 'showlabelsoutside', 'showxdistance', 'showydistance', 'shape', 'nodatamessage', 'captions', 'showxaxis', 'showyaxis',
|
|
147
|
+
'centerlabel', 'customcolors', 'showlegend', 'legendtype', 'xdomain', 'ydomain', 'tooltips', 'linethickness', 'highlightpoints', 'interpolation', 'labelthreshold'], barSpacingMap = {
|
|
148
|
+
'small': 0.3,
|
|
149
|
+
'medium': 0.5,
|
|
150
|
+
'large': 0.8
|
|
151
|
+
}, donutRatioMap = {
|
|
152
|
+
'small': 0.3,
|
|
153
|
+
'medium': 0.6,
|
|
154
|
+
'large': 0.7
|
|
155
|
+
}, barSpacingMapInvert = invert(barSpacingMap), donutRatioMapInvert = invert(donutRatioMap), tickformats = {
|
|
156
|
+
'Thousand': {
|
|
157
|
+
'prefix': 'K',
|
|
158
|
+
'divider': 1000
|
|
159
|
+
},
|
|
160
|
+
'Million': {
|
|
161
|
+
'prefix': 'M',
|
|
162
|
+
'divider': 1000000
|
|
163
|
+
},
|
|
164
|
+
'Billion': {
|
|
165
|
+
'prefix': 'B',
|
|
166
|
+
'divider': 1000000000
|
|
167
|
+
}
|
|
168
|
+
}, chartId = '#preview-chart', dataTypeJSON = ['Column', 'Line', 'Pie', 'Bar', 'Donut', 'Bubble'], // Charts that supports the data to be JSON;
|
|
169
|
+
lineTypeCharts = ['Line', 'Area', 'Cumulative Line'], // Charts that does not supports the string type of data in the xaxis in the nvd3;
|
|
170
|
+
dataTypeArray = ['Cumulative Line', 'Area'], // Charts that supports the data to be Array
|
|
171
|
+
SAMPLE_DATA = {
|
|
172
|
+
'group1': 'Europe',
|
|
173
|
+
'group2': 'Asia',
|
|
174
|
+
'group3': 'America',
|
|
175
|
+
'group4': 'Australia'
|
|
176
|
+
};
|
|
177
|
+
// returns true if chart type is pie
|
|
178
|
+
const isPieChart = type => type === 'Pie';
|
|
179
|
+
// returns true if chart type is line
|
|
180
|
+
const isLineChart = type => type === 'Line';
|
|
181
|
+
// returns true if chart type is bar
|
|
182
|
+
const isBarChart = type => type === 'Bar';
|
|
183
|
+
// returns true if chart type is donut
|
|
184
|
+
const isDonutChart = type => type === 'Donut';
|
|
185
|
+
// returns true if chart type is bubble
|
|
186
|
+
const isBubbleChart = type => type === 'Bubble';
|
|
187
|
+
// returns true if chart type is column
|
|
188
|
+
const isColumnChart = type => type === 'Column';
|
|
189
|
+
// returns true if chart type is area
|
|
190
|
+
const isAreaChart = type => type === 'Area';
|
|
191
|
+
// returns true if chart type is area
|
|
192
|
+
const isPieType = type => isPieChart(type) || isDonutChart(type);
|
|
193
|
+
// The format of chart data is array of json objects in case of the following types of chart
|
|
194
|
+
const isChartDataJSON = type => includes(dataTypeJSON, type) || !includes(chartTypes, type);
|
|
195
|
+
// The format of chart data is array of objects in case of the following types of chart
|
|
196
|
+
const isChartDataArray = type => includes(dataTypeArray, type);
|
|
197
|
+
// returns true is the chart type is 'line', 'area' or 'cumulative line' else false
|
|
198
|
+
const isLineTypeChart = type => includes(lineTypeCharts, type);
|
|
199
|
+
// X/Y Domain properties are supported only for Column and Area charts
|
|
200
|
+
const isAxisDomainSupported = type => isColumnChart(type) || isAreaChart(type);
|
|
201
|
+
// Returns bar spacing value
|
|
202
|
+
const getBarSpacingValue = (value, prop) => {
|
|
203
|
+
if (prop === 'value') {
|
|
204
|
+
return barSpacingMap[value];
|
|
205
|
+
}
|
|
206
|
+
if (prop === 'key') {
|
|
207
|
+
return barSpacingMapInvert[value];
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
// Returns radius value
|
|
211
|
+
const getRadiusValue = (value, prop) => {
|
|
212
|
+
if (prop === 'value') {
|
|
213
|
+
return donutRatioMap[value];
|
|
214
|
+
}
|
|
215
|
+
if (prop === 'key') {
|
|
216
|
+
return donutRatioMapInvert[value];
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
// Returns labels config
|
|
220
|
+
const getLabelValues = (showlabels, showlabelsoutside, prop) => {
|
|
221
|
+
const labelsConfig = {};
|
|
222
|
+
switch (showlabels) {
|
|
223
|
+
case 'hide':
|
|
224
|
+
labelsConfig.showlabels = false;
|
|
225
|
+
break;
|
|
226
|
+
case 'inside':
|
|
227
|
+
labelsConfig.showlabels = true;
|
|
228
|
+
labelsConfig.showlabelsoutside = false;
|
|
229
|
+
break;
|
|
230
|
+
case 'outside':
|
|
231
|
+
labelsConfig.showlabels = true;
|
|
232
|
+
labelsConfig.showlabelsoutside = true;
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
return labelsConfig;
|
|
236
|
+
};
|
|
237
|
+
// Construct the sample data
|
|
238
|
+
const constructSampleData = (dataType, yaxisLength, shape) => {
|
|
239
|
+
let first_series = [], second_series = [], third_series = [], first_series_array = [], second_series_array = [], third_series_array = [], first_series_bubble = [], second_series_bubble = [], third_series_bubble = [], data = [];
|
|
240
|
+
switch (dataType) {
|
|
241
|
+
case 'jsonFormat':
|
|
242
|
+
first_series = [
|
|
243
|
+
{ 'x': '01/01/2001', 'y': 4000000 },
|
|
244
|
+
{ 'x': '01/01/2002', 'y': 1000000 },
|
|
245
|
+
{ 'x': '01/01/2003', 'y': 5000000 }
|
|
246
|
+
];
|
|
247
|
+
second_series = [
|
|
248
|
+
{ 'x': '01/01/2001', 'y': 3000000 },
|
|
249
|
+
{ 'x': '01/01/2002', 'y': 4000000 },
|
|
250
|
+
{ 'x': '01/01/2003', 'y': 7000000 }
|
|
251
|
+
];
|
|
252
|
+
third_series = [
|
|
253
|
+
{ 'x': '01/01/2001', 'y': 2000000 },
|
|
254
|
+
{ 'x': '01/01/2002', 'y': 8000000 },
|
|
255
|
+
{ 'x': '01/01/2003', 'y': 6000000 }
|
|
256
|
+
];
|
|
257
|
+
data[0] = {
|
|
258
|
+
values: first_series,
|
|
259
|
+
key: SAMPLE_DATA.group1
|
|
260
|
+
};
|
|
261
|
+
if (yaxisLength >= 2) {
|
|
262
|
+
data[1] = {
|
|
263
|
+
values: second_series,
|
|
264
|
+
key: SAMPLE_DATA.group2
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
if (yaxisLength >= 3) {
|
|
268
|
+
data[2] = {
|
|
269
|
+
values: third_series,
|
|
270
|
+
key: SAMPLE_DATA.group3
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
break;
|
|
274
|
+
case 'lineChartFormat':
|
|
275
|
+
first_series = [
|
|
276
|
+
{ 'x': 1, 'y': 4000000 },
|
|
277
|
+
{ 'x': 2, 'y': 1000000 },
|
|
278
|
+
{ 'x': 3, 'y': 5000000 }
|
|
279
|
+
];
|
|
280
|
+
second_series = [
|
|
281
|
+
{ 'x': 1, 'y': 3000000 },
|
|
282
|
+
{ 'x': 2, 'y': 4000000 },
|
|
283
|
+
{ 'x': 3, 'y': 7000000 }
|
|
284
|
+
];
|
|
285
|
+
third_series = [
|
|
286
|
+
{ 'x': 1, 'y': 2000000 },
|
|
287
|
+
{ 'x': 2, 'y': 8000000 },
|
|
288
|
+
{ 'x': 3, 'y': 6000000 }
|
|
289
|
+
];
|
|
290
|
+
data[0] = {
|
|
291
|
+
values: first_series,
|
|
292
|
+
key: SAMPLE_DATA.group1
|
|
293
|
+
};
|
|
294
|
+
if (yaxisLength >= 2) {
|
|
295
|
+
data[1] = {
|
|
296
|
+
values: second_series,
|
|
297
|
+
key: SAMPLE_DATA.group2
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
if (yaxisLength >= 3) {
|
|
301
|
+
data[2] = {
|
|
302
|
+
values: third_series,
|
|
303
|
+
key: SAMPLE_DATA.group3
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
break;
|
|
307
|
+
case 'arrayFormat':
|
|
308
|
+
first_series_array = [
|
|
309
|
+
[1, 4000000],
|
|
310
|
+
[2, 1000000],
|
|
311
|
+
[3, 5000000]
|
|
312
|
+
];
|
|
313
|
+
second_series_array = [
|
|
314
|
+
[1, 3000000],
|
|
315
|
+
[2, 4000000],
|
|
316
|
+
[3, 7000000]
|
|
317
|
+
];
|
|
318
|
+
third_series_array = [
|
|
319
|
+
[1, 2000000],
|
|
320
|
+
[2, 8000000],
|
|
321
|
+
[3, 6000000]
|
|
322
|
+
];
|
|
323
|
+
data[0] = {
|
|
324
|
+
values: first_series_array,
|
|
325
|
+
key: SAMPLE_DATA.group1
|
|
326
|
+
};
|
|
327
|
+
if (yaxisLength >= 2) {
|
|
328
|
+
data[1] = {
|
|
329
|
+
values: second_series_array,
|
|
330
|
+
key: SAMPLE_DATA.group2
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
if (yaxisLength >= 3) {
|
|
334
|
+
data[2] = {
|
|
335
|
+
values: third_series_array,
|
|
336
|
+
key: SAMPLE_DATA.group3
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
break;
|
|
340
|
+
case 'bubbleFormat':
|
|
341
|
+
shape = shape === 'random' ? allShapes[Math.floor(Math.random() * allShapes.length)] : shape;
|
|
342
|
+
first_series_bubble = [
|
|
343
|
+
{ 'x': 80.66, 'y': 33739900, 'size': 78, 'shape': shape },
|
|
344
|
+
{ 'x': 79.84, 'y': 81902300, 'size': 90, 'shape': shape },
|
|
345
|
+
{ 'x': 78.6, 'y': 5523100, 'size': 45, 'shape': shape }
|
|
346
|
+
];
|
|
347
|
+
second_series_bubble = [
|
|
348
|
+
{ 'x': 72.73, 'y': 79716200, 'size': 98, 'shape': shape },
|
|
349
|
+
{ 'x': 80.05, 'y': 61801600, 'size': 20, 'shape': shape },
|
|
350
|
+
{ 'x': 72.49, 'y': 73137200, 'size': 34, 'shape': shape }
|
|
351
|
+
];
|
|
352
|
+
third_series_bubble = [
|
|
353
|
+
{ 'x': 68.09, 'y': 33739900, 'size': 45, 'shape': shape },
|
|
354
|
+
{ 'x': 81.55, 'y': 7485600, 'size': 78, 'shape': shape },
|
|
355
|
+
{ 'x': 68.60, 'y': 141850000, 'size': 56, 'shape': shape }
|
|
356
|
+
];
|
|
357
|
+
data[0] = {
|
|
358
|
+
values: first_series_bubble,
|
|
359
|
+
key: SAMPLE_DATA.group1
|
|
360
|
+
};
|
|
361
|
+
if (yaxisLength >= 2) {
|
|
362
|
+
data[1] = {
|
|
363
|
+
values: second_series_bubble,
|
|
364
|
+
key: SAMPLE_DATA.group2
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
if (yaxisLength >= 3) {
|
|
368
|
+
data[2] = {
|
|
369
|
+
values: third_series_bubble,
|
|
370
|
+
key: SAMPLE_DATA.group3
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
break;
|
|
374
|
+
case 'pieChartFormat':
|
|
375
|
+
data = [
|
|
376
|
+
{ 'x': SAMPLE_DATA.group1, 'y': 1000000 },
|
|
377
|
+
{ 'x': SAMPLE_DATA.group2, 'y': 2000000 },
|
|
378
|
+
{ 'x': SAMPLE_DATA.group3, 'y': 3000000 },
|
|
379
|
+
{ 'x': SAMPLE_DATA.group4, 'y': 4000000 }
|
|
380
|
+
];
|
|
381
|
+
break;
|
|
382
|
+
}
|
|
383
|
+
return data;
|
|
384
|
+
};
|
|
385
|
+
const getDataType = widgetContext => {
|
|
386
|
+
const type = widgetContext.type;
|
|
387
|
+
if (isLineChart(type)) {
|
|
388
|
+
return 'lineChartFormat';
|
|
389
|
+
}
|
|
390
|
+
if (isPieType(type)) {
|
|
391
|
+
return 'pieChartFormat';
|
|
392
|
+
}
|
|
393
|
+
if (isBubbleChart(type)) {
|
|
394
|
+
return 'bubbleFormat';
|
|
395
|
+
}
|
|
396
|
+
return isChartDataJSON(type) ? 'jsonFormat' : 'arrayFormat';
|
|
397
|
+
};
|
|
398
|
+
// Sample data to populate when no data is bound
|
|
399
|
+
const getSampleData = widgetContext => constructSampleData(getDataType(widgetContext), split(widgetContext.yaxisdatakey, ',').length, widgetContext.shape);
|
|
400
|
+
// Check whether X/Y Domain was set to Min and is supported for the present chart
|
|
401
|
+
const isAxisDomainValid = (widgetContext, axis) => {
|
|
402
|
+
if (widgetContext[axis + 'domain'] === 'Min' && (isAxisDomainSupported(widgetContext.type))) {
|
|
403
|
+
return true;
|
|
404
|
+
}
|
|
405
|
+
return false;
|
|
406
|
+
};
|
|
407
|
+
// Check whether min and max values are finite or not
|
|
408
|
+
const areMinMaxValuesValid = values => {
|
|
409
|
+
if (isFinite(values.min) && isFinite(values.max)) {
|
|
410
|
+
return true;
|
|
411
|
+
}
|
|
412
|
+
return false;
|
|
413
|
+
};
|
|
414
|
+
const getYScaleMinValue = value => {
|
|
415
|
+
const _min = Math.floor(value);
|
|
416
|
+
/* If the number has a) decimal part returning floor value - 0.1
|
|
417
|
+
b) no decimal part returning floor value - 1 */
|
|
418
|
+
return Math.abs(value) - _min > 0 ? value - 0.1 : _min - 1;
|
|
419
|
+
};
|
|
420
|
+
// Chooses the data points of line/cumulative line/area chart and highlights them
|
|
421
|
+
const highlightPoints = (id, highlightpoints) => {
|
|
422
|
+
const chartSvg = id ? d3.select('#wmChart' + id + ' svg') : d3.select(chartId + ' svg');
|
|
423
|
+
if (highlightpoints) {
|
|
424
|
+
chartSvg.selectAll('.nv-point')
|
|
425
|
+
.style('stroke-width', '6px')
|
|
426
|
+
.style('fill-opacity', '0.95')
|
|
427
|
+
.style('stroke-opacity', '0.95');
|
|
428
|
+
}
|
|
429
|
+
else {
|
|
430
|
+
chartSvg.selectAll('.nv-point')
|
|
431
|
+
.style('stroke-width', '0px')
|
|
432
|
+
.style('fill-opacity', '0');
|
|
433
|
+
}
|
|
434
|
+
};
|
|
435
|
+
// Chooses the line of line/cumulative line and increases the thickness of it
|
|
436
|
+
const setLineThickness = (id, thickness) => {
|
|
437
|
+
const chartSvg = id ? d3.select('#wmChart' + id + ' svg') : d3.select(chartId + ' svg');
|
|
438
|
+
thickness = thickness || 1.5;
|
|
439
|
+
const lines = chartSvg.selectAll('.nv-line');
|
|
440
|
+
if (lines.size() !== 0) {
|
|
441
|
+
lines.style('stroke-width', thickness);
|
|
442
|
+
}
|
|
443
|
+
};
|
|
444
|
+
// Constructing a common key value map for preview and canvas mode
|
|
445
|
+
const initProperties = (widgetContext, propertyValueMap) => {
|
|
446
|
+
if (!propertyValueMap || isEmptyObject(propertyValueMap)) {
|
|
447
|
+
propertyValueMap = {};
|
|
448
|
+
}
|
|
449
|
+
forEach(basicProperties, prop => {
|
|
450
|
+
if (isUndefined(propertyValueMap[prop])) {
|
|
451
|
+
propertyValueMap[prop] = widgetContext[prop];
|
|
452
|
+
}
|
|
453
|
+
});
|
|
454
|
+
return propertyValueMap;
|
|
455
|
+
};
|
|
456
|
+
const getNumberValue = (value, callback) => {
|
|
457
|
+
return isNaN(parseInt(value, 10)) ? callback(value, 'value') : value;
|
|
458
|
+
};
|
|
459
|
+
// Formats the given value according to date format
|
|
460
|
+
const getDateFormatedData = (dateFormat, d) => {
|
|
461
|
+
dateFormat = dateFormat || '%x';
|
|
462
|
+
/**
|
|
463
|
+
* if date value is string "20-05-2019" then new Date(value) return 20May2019 with current time in India,
|
|
464
|
+
* whereas this will return 19May2019 with time lagging for few hours.
|
|
465
|
+
* This is because it returns UTC time i.e. Coordinated Universal Time (UTC).
|
|
466
|
+
* To create date in local time use moment
|
|
467
|
+
*/
|
|
468
|
+
if (dateFormat == '%c') {
|
|
469
|
+
dateFormat = '%a %b %e %X %Y';
|
|
470
|
+
}
|
|
471
|
+
return d3.timeFormat(dateFormat)(new Date(moment(moment(d).format()).valueOf()));
|
|
472
|
+
};
|
|
473
|
+
const removeTrailingZeros = value => {
|
|
474
|
+
if (!value) {
|
|
475
|
+
return value;
|
|
476
|
+
}
|
|
477
|
+
// Convert value to a string if it's a number
|
|
478
|
+
const stringValue = typeof value === 'number' ? value.toString() : value;
|
|
479
|
+
// Remove trailing zeros
|
|
480
|
+
return stringValue.replace(/\.0+([A-Za-z]*)$/, '$1').replace(/\.([1-9]+)0+([A-Za-z]*)$/, '.$1$2');
|
|
481
|
+
};
|
|
482
|
+
// Formats the given value according to number format
|
|
483
|
+
const getNumberFormatedData = (numberFormat, d) => {
|
|
484
|
+
let formattedData, divider, prefix;
|
|
485
|
+
// formatting the data based on number format selected
|
|
486
|
+
if (numberFormat) {
|
|
487
|
+
let numberFormatter;
|
|
488
|
+
if (numberFormat == 'Thousand' || numberFormat == 'Million' || numberFormat == 'Billion') {
|
|
489
|
+
numberFormatter = d3.format(',.2s');
|
|
490
|
+
}
|
|
491
|
+
else if (numberFormat == '%') {
|
|
492
|
+
numberFormatter = d3.format('.2%');
|
|
493
|
+
}
|
|
494
|
+
else if (numberFormat == '.f') {
|
|
495
|
+
numberFormatter = d3.format('.2f');
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
numberFormatter = d3.format(numberFormat);
|
|
499
|
+
}
|
|
500
|
+
formattedData = numberFormatter(d);
|
|
501
|
+
// Getting the respective divider[1000,1000000,1000000000] based on the number format choosen
|
|
502
|
+
divider = (tickformats[numberFormat] && tickformats[numberFormat].divider) || 0;
|
|
503
|
+
prefix = tickformats[numberFormat] && tickformats[numberFormat].prefix;
|
|
504
|
+
if (prefix && divider !== 0) {
|
|
505
|
+
formattedData = d3.format('.2f')(d / divider) + prefix;
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
else {
|
|
509
|
+
// Auto formatting the data when no formating option is chosen
|
|
510
|
+
formattedData = d >= 1000 ? d3.format('.1s')(d) : d;
|
|
511
|
+
}
|
|
512
|
+
formattedData = removeTrailingZeros(formattedData);
|
|
513
|
+
return formattedData;
|
|
514
|
+
};
|
|
515
|
+
// Set the visibility property of the chart x,y axis due to a bug in the nvd3
|
|
516
|
+
const toggleAxisShow = (property, value) => {
|
|
517
|
+
const $xAxis = d3.select(chartId + ' g.nv-axis.nv-x'), $yAxis = d3.select(chartId + ' g.nv-axis.nv-y');
|
|
518
|
+
if (property === 'showxaxis') {
|
|
519
|
+
$xAxis.style('visibility', value ? 'visible' : 'hidden');
|
|
520
|
+
}
|
|
521
|
+
else {
|
|
522
|
+
$yAxis.style('visibility', value ? 'visible' : 'hidden');
|
|
523
|
+
}
|
|
524
|
+
};
|
|
525
|
+
const modifyLegendPosition = (widgetContext, position, id) => {
|
|
526
|
+
const showLegend = isShowLegend(widgetContext.showlegend), chart_Id = id ? '#wmChart' + id : chartId, legendWrap = d3.select(chart_Id + ' .nv-legendWrap'), legendPadding = 5;
|
|
527
|
+
// Return when showlegend is false
|
|
528
|
+
if (!showLegend || !legendWrap['_groups'][0][0]) {
|
|
529
|
+
return;
|
|
530
|
+
}
|
|
531
|
+
if (position === 'bottom') {
|
|
532
|
+
const legendWrapHeight = legendWrap['_groups'][0][0].getBoundingClientRect().height, wrap = d3.select(chart_Id + ' .nv-wrap'), wrapTransform = (wrap && wrap.attr('transform')) ? wrap.attr('transform').replace(/, /g, ',') : '', coordinates = /translate\(\s*([^\s,)]+)[ ,]([^\s,)]+)/.exec(wrapTransform), getChartHeight = () => {
|
|
533
|
+
let chartHeight = $(chart_Id + ' svg>.nvd3.nv-wrap')[0].getBoundingClientRect().height;
|
|
534
|
+
if (chartHeight === 0) { // fix for IE
|
|
535
|
+
chartHeight = ($(chart_Id + ' svg')[0].getBoundingClientRect().height - (legendWrapHeight + 15));
|
|
536
|
+
}
|
|
537
|
+
return chartHeight;
|
|
538
|
+
};
|
|
539
|
+
legendWrap.attr('transform', 'translate(0 , ' + (getChartHeight() - legendWrapHeight - legendPadding) + ')');
|
|
540
|
+
if (coordinates) {
|
|
541
|
+
wrap.attr('transform', 'translate(' + coordinates[1] + ',' + legendPadding + ')');
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
// Returns value if legend need to shown or not
|
|
546
|
+
const isShowLegend = value => {
|
|
547
|
+
// Old projects will have either true or false
|
|
548
|
+
if (value === 'false' || value === false) {
|
|
549
|
+
return false;
|
|
550
|
+
}
|
|
551
|
+
if (value === 'true' || value === true) {
|
|
552
|
+
return true;
|
|
553
|
+
}
|
|
554
|
+
// New projects will have either 'Hide Legend', 'Show Top', 'Show Bottom'
|
|
555
|
+
return value === 'hide' ? false : true;
|
|
556
|
+
};
|
|
557
|
+
/**
|
|
558
|
+
* Customise the tooltip for donut & pie charts and also for charts having only one value attached to yaxis
|
|
559
|
+
* @param key
|
|
560
|
+
* @param label
|
|
561
|
+
*/
|
|
562
|
+
const customiseTooltip = (chart, propertyValueMap, widgetContext, label) => {
|
|
563
|
+
d3.selectAll('.nvtooltip').style('opacity', 0);
|
|
564
|
+
chart.tooltip.contentGenerator((key, propValueMap) => {
|
|
565
|
+
let xValue = key.data.x, yValue;
|
|
566
|
+
yValue = getNumberFormatedData(propValueMap?.ynumberformat || widgetContext?.ynumberformat || propertyValueMap?.ynumberformat, key.data.y);
|
|
567
|
+
if (isPieType(widgetContext.type)) {
|
|
568
|
+
label = key.data.x;
|
|
569
|
+
xValue = '';
|
|
570
|
+
}
|
|
571
|
+
return '<table>' +
|
|
572
|
+
'<tbody>' +
|
|
573
|
+
'<tr class="value"><b>' + xValue +
|
|
574
|
+
'</b></tr>' +
|
|
575
|
+
'<tr>' +
|
|
576
|
+
'<td class="legend-color-guide"><div style="background-color:' + key.color + ';"></div></td>' +
|
|
577
|
+
'<td class="key">' + label + '</td>' +
|
|
578
|
+
'<td class="value">' + yValue + '</td>' +
|
|
579
|
+
'</tr>' +
|
|
580
|
+
'</tbody>' +
|
|
581
|
+
'</table>';
|
|
582
|
+
});
|
|
583
|
+
};
|
|
584
|
+
// intializes the chart obejct
|
|
585
|
+
const initChart = (widgetContext, xDomainValues, yDomainValues, propertyValueMap, isPreview) => {
|
|
586
|
+
propertyValueMap = initProperties(widgetContext, propertyValueMap);
|
|
587
|
+
let chart, colors = [], xaxislabel, yaxislabel, labelConfig, radius, barSpacing, showLegend, xAxisValue, hasMultipleYValues;
|
|
588
|
+
const xValue = {}, yValue = {};
|
|
589
|
+
switch (widgetContext.type) {
|
|
590
|
+
case 'Column':
|
|
591
|
+
barSpacing = getNumberValue(propertyValueMap.barspacing, getBarSpacingValue) || barSpacingMap.medium;
|
|
592
|
+
chart = nv.models.multiBarChart()
|
|
593
|
+
.x(d => d.x)
|
|
594
|
+
.y(d => d.y)
|
|
595
|
+
.reduceXTicks(propertyValueMap.reducexticks)
|
|
596
|
+
.rotateLabels(0)
|
|
597
|
+
.showControls(false)
|
|
598
|
+
.stacked(propertyValueMap.viewtype === 'Stacked' ? true : false)
|
|
599
|
+
.groupSpacing(barSpacing);
|
|
600
|
+
break;
|
|
601
|
+
case 'Cumulative Line':
|
|
602
|
+
chart = nv.models.cumulativeLineChart()
|
|
603
|
+
.x(d => d[0])
|
|
604
|
+
.y(d => d[1])
|
|
605
|
+
.showControls(false)
|
|
606
|
+
.useInteractiveGuideline(propertyValueMap.tooltips)
|
|
607
|
+
.interpolate(propertyValueMap.interpolation);
|
|
608
|
+
break;
|
|
609
|
+
case 'Line':
|
|
610
|
+
chart = nv.models.lineChart()
|
|
611
|
+
.useInteractiveGuideline(propertyValueMap.tooltips)
|
|
612
|
+
.interpolate(propertyValueMap.interpolation);
|
|
613
|
+
break;
|
|
614
|
+
case 'Area':
|
|
615
|
+
chart = nv.models.stackedAreaChart()
|
|
616
|
+
.x(d => d.x)
|
|
617
|
+
.y(d => d.y)
|
|
618
|
+
.clipEdge(true)
|
|
619
|
+
.showControls(false)
|
|
620
|
+
.style(propertyValueMap.areaviewtype)
|
|
621
|
+
.useInteractiveGuideline(propertyValueMap.tooltips)
|
|
622
|
+
.interpolate(propertyValueMap.interpolation);
|
|
623
|
+
break;
|
|
624
|
+
case 'Bar':
|
|
625
|
+
barSpacing = getNumberValue(propertyValueMap.barspacing, getBarSpacingValue) || barSpacingMap.medium;
|
|
626
|
+
chart = nv.models.multiBarHorizontalChart()
|
|
627
|
+
.x(d => d.x)
|
|
628
|
+
.y(d => d.y)
|
|
629
|
+
.showControls(false)
|
|
630
|
+
.stacked(propertyValueMap.viewtype === 'Stacked' ? true : false)
|
|
631
|
+
.showValues(propertyValueMap.showvalues)
|
|
632
|
+
.groupSpacing(barSpacing);
|
|
633
|
+
break;
|
|
634
|
+
case 'Pie':
|
|
635
|
+
case 'Donut':
|
|
636
|
+
labelConfig = getLabelValues(propertyValueMap.showlabels, propertyValueMap.showlabelsoutside, 'value');
|
|
637
|
+
radius = getNumberValue(propertyValueMap.donutratio, getRadiusValue) || donutRatioMap.medium;
|
|
638
|
+
chart = nv.models.pieChart()
|
|
639
|
+
.x(d => d.x)
|
|
640
|
+
.y(d => d.y)
|
|
641
|
+
.showLabels(labelConfig.showlabels)
|
|
642
|
+
.labelType(propertyValueMap.labeltype)
|
|
643
|
+
.valueFormat(d3.format('%'))
|
|
644
|
+
.title(propertyValueMap.centerlabel)
|
|
645
|
+
.labelThreshold(propertyValueMap.labelthreshold || 0.01)
|
|
646
|
+
.labelsOutside(labelConfig.showlabelsoutside);
|
|
647
|
+
if (isDonutChart(widgetContext.type)) {
|
|
648
|
+
chart.donut(true)
|
|
649
|
+
.donutRatio(radius);
|
|
650
|
+
}
|
|
651
|
+
if (propertyValueMap.labeltype === 'key-value') {
|
|
652
|
+
chart.labelType(d => d.data.x + ' ' + d.data.y);
|
|
653
|
+
}
|
|
654
|
+
break;
|
|
655
|
+
case 'Bubble':
|
|
656
|
+
chart = nv.models.scatterChart()
|
|
657
|
+
.x(d => d.x)
|
|
658
|
+
.y(d => d.y)
|
|
659
|
+
.showDistX(propertyValueMap.showxdistance)
|
|
660
|
+
.showDistY(propertyValueMap.showydistance);
|
|
661
|
+
break;
|
|
662
|
+
}
|
|
663
|
+
if (xDomainValues) {
|
|
664
|
+
xValue.min = xDomainValues.min.x || xDomainValues.min[0];
|
|
665
|
+
xValue.max = xDomainValues.max.x || xDomainValues.max[0];
|
|
666
|
+
// If the values on the x axis are string then min max values gives Infinity
|
|
667
|
+
if (areMinMaxValuesValid(xValue)) {
|
|
668
|
+
// Reducing the min value to 0.1 so the min value is not missed out
|
|
669
|
+
xValue.min = getYScaleMinValue(xValue.min);
|
|
670
|
+
chart.xDomain([xValue.min, xValue.max]);
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
if (yDomainValues) {
|
|
674
|
+
// Reducing the min value to 1 so the min value is not missed out
|
|
675
|
+
yValue.min = yDomainValues.min.y || yDomainValues.min[1];
|
|
676
|
+
yValue.max = yDomainValues.max.y || yDomainValues.max[1];
|
|
677
|
+
// If the values on the y axis are string or invalid then min max values gives Infinity
|
|
678
|
+
if (areMinMaxValuesValid(yValue)) {
|
|
679
|
+
// Reducing the min value to 1 so the min value is not missed out
|
|
680
|
+
yValue.min = getYScaleMinValue(yValue.min);
|
|
681
|
+
chart.yDomain([yValue.min, yValue.max]);
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
// Setting the legend type choosen by user or default it will be furious
|
|
685
|
+
chart.legend.vers((propertyValueMap.legendtype && propertyValueMap.legendtype.toLowerCase()) || 'furious');
|
|
686
|
+
if (!includes(chartTypes, widgetContext.type)) {
|
|
687
|
+
chart = nv.models.multiBarChart()
|
|
688
|
+
.x(d => d.x)
|
|
689
|
+
.y(d => d.y);
|
|
690
|
+
}
|
|
691
|
+
if (isPieType(widgetContext.type)) {
|
|
692
|
+
// In case of pie/donut chart formatting the values of it
|
|
693
|
+
if (propertyValueMap.labeltype === 'percent') {
|
|
694
|
+
chart.valueFormat(d3.format('%'));
|
|
695
|
+
}
|
|
696
|
+
else {
|
|
697
|
+
chart.valueFormat(d => getNumberFormatedData(propertyValueMap.ynumberformat, d));
|
|
698
|
+
}
|
|
699
|
+
// Customizing the tooltips in case of the pie and donut when labelType is value
|
|
700
|
+
customiseTooltip(chart, propertyValueMap, widgetContext);
|
|
701
|
+
}
|
|
702
|
+
else {
|
|
703
|
+
chart.showXAxis(propertyValueMap.showxaxis)
|
|
704
|
+
.showYAxis(propertyValueMap.showyaxis);
|
|
705
|
+
chart.legendPosition(propertyValueMap.showlegend);
|
|
706
|
+
// Setting the labels if they are specified explicitly or taking the axiskeys chosen
|
|
707
|
+
xaxislabel = propertyValueMap.xaxislabel || prettifyLabels(widgetContext.xaxisdatakey) || 'x caption';
|
|
708
|
+
yaxislabel = propertyValueMap.yaxislabel || prettifyLabels(widgetContext.yaxisdatakey) || 'y caption';
|
|
709
|
+
// Checking if y axis has multiple values
|
|
710
|
+
if (widgetContext.yaxisdatakey && widgetContext.yaxisdatakey.split(',').length > 1) {
|
|
711
|
+
hasMultipleYValues = true;
|
|
712
|
+
}
|
|
713
|
+
// Customizing the tooltip to show yaxislabel, only if the y axis contains one value
|
|
714
|
+
if (!hasMultipleYValues && !isBubbleChart(widgetContext.type)) {
|
|
715
|
+
customiseTooltip(chart, propertyValueMap, widgetContext, yaxislabel);
|
|
716
|
+
}
|
|
717
|
+
// Adding the units to the captions if they are specified
|
|
718
|
+
xaxislabel += propertyValueMap.xunits ? '(' + propertyValueMap.xunits + ')' : '';
|
|
719
|
+
yaxislabel += propertyValueMap.yunits ? '(' + propertyValueMap.yunits + ')' : '';
|
|
720
|
+
chart.xAxis
|
|
721
|
+
.axisLabel(xaxislabel)
|
|
722
|
+
.axisLabelDistance(propertyValueMap.xaxislabeldistance)
|
|
723
|
+
.staggerLabels(propertyValueMap.staggerlabels);
|
|
724
|
+
// If date format set format based date format
|
|
725
|
+
if (propertyValueMap.xdateformat || (isPreview && !isBubbleChart(widgetContext.type))) {
|
|
726
|
+
if (isLineTypeChart(widgetContext.type)) {
|
|
727
|
+
chart.xAxis.tickFormat(d => {
|
|
728
|
+
// get the actual value
|
|
729
|
+
xAxisValue = isPreview ? dateList[d - 1] : widgetContext.xDataKeyArr[d];
|
|
730
|
+
return getDateFormatedData(propertyValueMap.xdateformat, xAxisValue);
|
|
731
|
+
});
|
|
732
|
+
}
|
|
733
|
+
else {
|
|
734
|
+
chart.xAxis.tickFormat(d => getDateFormatedData(propertyValueMap.xdateformat, d));
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
else if (propertyValueMap.xnumberformat) {
|
|
738
|
+
chart.xAxis.tickFormat(d => getNumberFormatedData(propertyValueMap.xnumberformat, d));
|
|
739
|
+
}
|
|
740
|
+
else {
|
|
741
|
+
if (isLineTypeChart(widgetContext.type)) {
|
|
742
|
+
// get the actual value
|
|
743
|
+
chart.xAxis.tickFormat(d => widgetContext.xDataKeyArr[d]);
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
chart.yAxis
|
|
747
|
+
.axisLabel(yaxislabel)
|
|
748
|
+
.axisLabelDistance(propertyValueMap.yaxislabeldistance)
|
|
749
|
+
.staggerLabels(propertyValueMap.staggerlabels)
|
|
750
|
+
.tickFormat(d => getNumberFormatedData(propertyValueMap?.ynumberformat, d));
|
|
751
|
+
if (isBarChart(widgetContext.type)) {
|
|
752
|
+
chart.valueFormat(d => getNumberFormatedData(propertyValueMap?.ynumberformat, d));
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
// Support for custom colors if user gives direct string of colors in text box
|
|
756
|
+
if (isString(propertyValueMap.customcolors) && propertyValueMap.customcolors) {
|
|
757
|
+
colors = split(propertyValueMap.customcolors, ',');
|
|
758
|
+
}
|
|
759
|
+
if (isArray(propertyValueMap.customcolors)) {
|
|
760
|
+
colors = propertyValueMap.customcolors;
|
|
761
|
+
}
|
|
762
|
+
showLegend = isShowLegend(propertyValueMap.showlegend);
|
|
763
|
+
chart.showLegend(showLegend)
|
|
764
|
+
.margin({ top: propertyValueMap.offsettop, right: propertyValueMap.offsetright, bottom: propertyValueMap.offsetbottom, left: propertyValueMap.offsetleft })
|
|
765
|
+
.color(colors.length ? colors : themes[propertyValueMap.theme].colors);
|
|
766
|
+
chart.tooltip.enabled(propertyValueMap.tooltips);
|
|
767
|
+
widgetContext.message = propertyValueMap.nodatamessage || 'No data found';
|
|
768
|
+
// setting the no data message
|
|
769
|
+
chart.noData(widgetContext.message);
|
|
770
|
+
if (isLineTypeChart(widgetContext.type) && widgetContext.highlightpoints) {
|
|
771
|
+
chart.dispatch.on('stateChange', () => {
|
|
772
|
+
setTimeout(() => postPlotChartProcess(widgetContext), 100);
|
|
773
|
+
});
|
|
774
|
+
}
|
|
775
|
+
if (widgetContext.showlegend && (widgetContext.type === 'Donut' || widgetContext.type === 'Pie')) {
|
|
776
|
+
if (widgetContext.showlegend === 'right') {
|
|
777
|
+
chart.legendPosition('right');
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
return chart;
|
|
781
|
+
};
|
|
782
|
+
// @ts-ignore
|
|
783
|
+
const postPlotChartProcess = (widgetContext, isPreview) => {
|
|
784
|
+
const id = isPreview ? null : widgetContext.$id;
|
|
785
|
+
// If user sets to highlight the data points and increase the thickness of the line
|
|
786
|
+
if (isLineTypeChart(widgetContext.type)) {
|
|
787
|
+
setLineThickness(id, widgetContext.linethickness);
|
|
788
|
+
highlightPoints(id, widgetContext.highlightpoints);
|
|
789
|
+
}
|
|
790
|
+
// Modifying the legend position only when legend is shown
|
|
791
|
+
// if (widgetContext.showlegend) {
|
|
792
|
+
// modifyLegendPosition(widgetContext, widgetContext.showlegend, id);
|
|
793
|
+
// }
|
|
794
|
+
};
|
|
795
|
+
// @ts-ignore
|
|
796
|
+
const getDateList = () => dateList;
|
|
797
|
+
|
|
798
|
+
const WIDGET_CONFIG = { widgetType: 'wm-chart', hostClass: 'app-chart' };
|
|
799
|
+
const options = {
|
|
800
|
+
'Bubble': ['bubblesize', 'shape']
|
|
801
|
+
}, NONE = 'none', advanceDataProps = ['aggregation', 'aggregationcolumn', 'groupby', 'orderby'],
|
|
802
|
+
// XPaths to get actual data of data points in charts
|
|
803
|
+
chartDataPointXpath = {
|
|
804
|
+
'Column': 'rect.nv-bar',
|
|
805
|
+
'Bar': 'g.nv-bar',
|
|
806
|
+
'Area': '.nv-stackedarea .nv-point',
|
|
807
|
+
'Cumulative Line': '.nv-cumulativeLine .nv-scatterWrap path.nv-point',
|
|
808
|
+
'Line': '.nv-lineChart .nv-scatterWrap path.nv-point',
|
|
809
|
+
'Pie': '.nv-pieChart .nv-slice path',
|
|
810
|
+
'Donut': '.nv-pieChart .nv-slice path',
|
|
811
|
+
'Bubble': '.nv-scatterChart .nv-point-paths path'
|
|
812
|
+
},
|
|
813
|
+
// all properties of the chart
|
|
814
|
+
allOptions = ['bubblesize', 'shape'], styleProps = {
|
|
815
|
+
'fontunit': 'font-size',
|
|
816
|
+
'fontsize': 'font-size',
|
|
817
|
+
'color': 'fill',
|
|
818
|
+
'fontfamily': 'font-family',
|
|
819
|
+
'fontweight': 'font-weight',
|
|
820
|
+
'fontstyle': 'font-style',
|
|
821
|
+
'textdecoration': 'text-decoration'
|
|
822
|
+
},
|
|
823
|
+
// Getting the relevant aggregation function based on the selected option
|
|
824
|
+
aggregationFnMap = {
|
|
825
|
+
'average': 'AVG',
|
|
826
|
+
'count': 'COUNT',
|
|
827
|
+
'maximum': 'MAX',
|
|
828
|
+
'minimum': 'MIN',
|
|
829
|
+
'sum': 'SUM'
|
|
830
|
+
};
|
|
831
|
+
const getBooleanValue = val => {
|
|
832
|
+
if (val === true || val === 'true') {
|
|
833
|
+
return true;
|
|
834
|
+
}
|
|
835
|
+
if (val === false || val === 'false') {
|
|
836
|
+
return false;
|
|
837
|
+
}
|
|
838
|
+
return val;
|
|
839
|
+
};
|
|
840
|
+
// returns orderby columns and their orders in two separate arrays
|
|
841
|
+
const getLodashOrderByFormat = orderby => {
|
|
842
|
+
let columns;
|
|
843
|
+
const orderByColumns = [], orders = [];
|
|
844
|
+
forEach(split(orderby, ','), function (col) {
|
|
845
|
+
columns = split(col, ':');
|
|
846
|
+
orderByColumns.push(columns[0]);
|
|
847
|
+
orders.push(columns[1]);
|
|
848
|
+
});
|
|
849
|
+
return {
|
|
850
|
+
'columns': orderByColumns,
|
|
851
|
+
'orders': orders
|
|
852
|
+
};
|
|
853
|
+
};
|
|
854
|
+
// Replacing the '.' by the '$' because '.' is not supported in the alias names
|
|
855
|
+
const getValidAliasName = aliasName => aliasName ? aliasName.replace(/\./g, '$') : null;
|
|
856
|
+
// Applying the font related styles for the chart
|
|
857
|
+
const setTextStyle = (properties, id) => {
|
|
858
|
+
const charttext = d3.select('#wmChart' + id + ' svg').selectAll('text');
|
|
859
|
+
if (!charttext.empty()) {
|
|
860
|
+
charttext.style(properties);
|
|
861
|
+
}
|
|
862
|
+
};
|
|
863
|
+
const angle = d => {
|
|
864
|
+
const a = (d.startAngle + d.endAngle) * 90 / Math.PI - 90;
|
|
865
|
+
return a > 90 ? a - 180 : a;
|
|
866
|
+
};
|
|
867
|
+
class ChartComponent extends StylableComponent {
|
|
868
|
+
static { this.initializeProps = registerProps(); }
|
|
869
|
+
isGroupByEnabled() {
|
|
870
|
+
return !!(this.groupby && this.groupby !== NONE);
|
|
871
|
+
}
|
|
872
|
+
// Check if x and y axis that are chosen are valid to plot chart
|
|
873
|
+
isValidAxis() {
|
|
874
|
+
// Check if x axis and y axis are chosen and are not equal
|
|
875
|
+
return this.binddataset ? (this.xaxisdatakey && this.yaxisdatakey) : true;
|
|
876
|
+
}
|
|
877
|
+
// Check if aggregation is chosen
|
|
878
|
+
isAggregationEnabled() {
|
|
879
|
+
return !!((this.isGroupByEnabled() && this.aggregation !== NONE && this.aggregationcolumn));
|
|
880
|
+
}
|
|
881
|
+
// Check if either groupby, aggregation or orderby is chosen
|
|
882
|
+
isDataFilteringEnabled() {
|
|
883
|
+
/*Query need to be triggered if any of the following cases satisfy
|
|
884
|
+
* 1. Group By and aggregation both chosen
|
|
885
|
+
* 2. Only Order By is chosen
|
|
886
|
+
* */
|
|
887
|
+
return this.isAggregationEnabled() || (!this.isVisuallyGrouped && this.orderby);
|
|
888
|
+
}
|
|
889
|
+
/*Charts like Line,Area,Cumulative Line does not support any other datatype
|
|
890
|
+
other than integer unlike the column and bar.It is a nvd3 issue. Inorder to
|
|
891
|
+
support that this is a fix*/
|
|
892
|
+
getxAxisVal(dataObj, xKey, index) {
|
|
893
|
+
const value = get(dataObj, xKey);
|
|
894
|
+
// If x axis is other than number type then add indexes
|
|
895
|
+
if (isLineTypeChart(this.type) && !isNumberType(this.xAxisDataType)) {
|
|
896
|
+
// Verification to get the unique data keys
|
|
897
|
+
this.xDataKeyArr.push(value);
|
|
898
|
+
// Check if it is of type Date
|
|
899
|
+
if (value instanceof Date) {
|
|
900
|
+
return value;
|
|
901
|
+
}
|
|
902
|
+
else {
|
|
903
|
+
return index;
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
return value;
|
|
907
|
+
}
|
|
908
|
+
// Getting the min and max values among all the x values
|
|
909
|
+
getXMinMaxValues(datum) {
|
|
910
|
+
if (!datum) {
|
|
911
|
+
return;
|
|
912
|
+
}
|
|
913
|
+
const xValues = {};
|
|
914
|
+
/*
|
|
915
|
+
compute the min x value
|
|
916
|
+
eg: When data has objects
|
|
917
|
+
input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]
|
|
918
|
+
min x: 1
|
|
919
|
+
eg: When data has arrays
|
|
920
|
+
input: [[10, 20], [20, 30], [30, 40]];
|
|
921
|
+
min x: 10
|
|
922
|
+
*/
|
|
923
|
+
xValues.min = minBy(datum.values, dataObject => dataObject.x || dataObject[0]);
|
|
924
|
+
/*
|
|
925
|
+
compute the max x value
|
|
926
|
+
eg: When data has objects
|
|
927
|
+
input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]
|
|
928
|
+
max x: 3
|
|
929
|
+
eg: When data has arrays
|
|
930
|
+
input: [[10, 20], [20, 30], [30, 40]];
|
|
931
|
+
max x: 30
|
|
932
|
+
*/
|
|
933
|
+
xValues.max = maxBy(datum.values, dataObject => dataObject.x || dataObject[0]);
|
|
934
|
+
return xValues;
|
|
935
|
+
}
|
|
936
|
+
// Getting the min and max values among all the y values
|
|
937
|
+
getYMinMaxValues(datum) {
|
|
938
|
+
const yValues = {}, minValues = [], maxValues = [];
|
|
939
|
+
if (!datum) {
|
|
940
|
+
return;
|
|
941
|
+
}
|
|
942
|
+
/*
|
|
943
|
+
Getting the min and max y values among all the series of data
|
|
944
|
+
compute the min y value
|
|
945
|
+
eg: When data has objects
|
|
946
|
+
input: [[{x:1, y:2}, {x:2, y:3}, {x:3, y:4}], [{x:2, y:3}, {x:3, y:4}, {x:4, y:5}]]
|
|
947
|
+
min y values : '2'(among first set) & '3'(among second set)
|
|
948
|
+
max y values : '4'(among first set) & '5'(among second set)
|
|
949
|
+
|
|
950
|
+
eg: When data has arrays
|
|
951
|
+
input: [[[10, 20], [20, 30], [30, 40]], [[20, 30], [30, 40], [40, 50]]]
|
|
952
|
+
min y values : '20'(among first set) & '30'(among second set)
|
|
953
|
+
max y values : '40'(among first set) & '50'(among second set)
|
|
954
|
+
*/
|
|
955
|
+
forEach(datum, data => {
|
|
956
|
+
minValues.push(minBy(data.values, function (dataObject) {
|
|
957
|
+
return dataObject.y || dataObject[1];
|
|
958
|
+
}));
|
|
959
|
+
maxValues.push(maxBy(data.values, function (dataObject) {
|
|
960
|
+
return dataObject.y || dataObject[1];
|
|
961
|
+
}));
|
|
962
|
+
});
|
|
963
|
+
// Gets the least and highest values among all the min and max values of respective series of data
|
|
964
|
+
yValues.min = minBy(minValues, dataObject => dataObject.y || dataObject[1]);
|
|
965
|
+
yValues.max = maxBy(maxValues, dataObject => dataObject.y || dataObject[1]);
|
|
966
|
+
return yValues;
|
|
967
|
+
}
|
|
968
|
+
// If the x-axis values are undefined, we return empty array else we return the values
|
|
969
|
+
getValidData(values) {
|
|
970
|
+
return (values.length === 1 && values[0] === undefined) ? [] : values;
|
|
971
|
+
}
|
|
972
|
+
// Returns the single data point based on the type of the data chart accepts
|
|
973
|
+
valueFinder(dataObj, xKey, yKey, index, shape) {
|
|
974
|
+
const xVal = this.getxAxisVal(dataObj, xKey, index), value = get(dataObj, yKey), yVal = parseFloat(value) || value, size = parseFloat(dataObj[this.bubblesize]) || 2;
|
|
975
|
+
let dataPoint = {};
|
|
976
|
+
if (isChartDataJSON(this.type)) {
|
|
977
|
+
dataPoint.x = xVal;
|
|
978
|
+
dataPoint.y = yVal;
|
|
979
|
+
// only Bubble chart has the third dimension
|
|
980
|
+
if (isBubbleChart(this.type)) {
|
|
981
|
+
dataPoint.size = size;
|
|
982
|
+
dataPoint.shape = shape || 'circle';
|
|
983
|
+
}
|
|
984
|
+
}
|
|
985
|
+
else if (isChartDataArray(this.type)) {
|
|
986
|
+
dataPoint = [xVal, yVal];
|
|
987
|
+
}
|
|
988
|
+
// Adding actual unwrapped data to chart data to use at the time of selected data point of chart event
|
|
989
|
+
dataPoint._dataObj = dataObj;
|
|
990
|
+
return dataPoint;
|
|
991
|
+
}
|
|
992
|
+
// Setting appropriate error messages
|
|
993
|
+
setErrMsg(message) {
|
|
994
|
+
if (this.showNoDataMsg) {
|
|
995
|
+
this.showContentLoadError = true;
|
|
996
|
+
this.invalidConfig = true;
|
|
997
|
+
// TODO: Set the locale from the message
|
|
998
|
+
this.errMsg = ''; // $rootScope.locale[message];
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
processChartData() {
|
|
1002
|
+
this.sampleData = getSampleData(this);
|
|
1003
|
+
// scope variables used to keep the actual key values for x-axis
|
|
1004
|
+
this.xDataKeyArr = [];
|
|
1005
|
+
// Plotting the chart with sample data when the chart dataset is not bound
|
|
1006
|
+
if (!this.binddataset) {
|
|
1007
|
+
this.xDataKeyArr = getDateList();
|
|
1008
|
+
return this.sampleData;
|
|
1009
|
+
}
|
|
1010
|
+
if (!this.chartData || !this.chartData.length) {
|
|
1011
|
+
return [];
|
|
1012
|
+
}
|
|
1013
|
+
let datum = [], yAxisKey, shapes = [], values = [];
|
|
1014
|
+
const xAxisKey = this.xaxisdatakey, yAxisKeys = this.yaxisdatakey ? this.yaxisdatakey.split(',') : [], dataSet = this.chartData;
|
|
1015
|
+
if (isArray(dataSet)) {
|
|
1016
|
+
if (isPieType(this.type)) {
|
|
1017
|
+
yAxisKey = yAxisKeys[0];
|
|
1018
|
+
datum = map(dataSet, (dataObj, index) => {
|
|
1019
|
+
if (!isEmptyObject(dataSet[index])) {
|
|
1020
|
+
return this.valueFinder(dataSet[index], xAxisKey, yAxisKey);
|
|
1021
|
+
}
|
|
1022
|
+
});
|
|
1023
|
+
datum = this.getValidData(datum);
|
|
1024
|
+
}
|
|
1025
|
+
else {
|
|
1026
|
+
if (isBubbleChart(this.type)) {
|
|
1027
|
+
shapes = this.shape === 'random' ? allShapes : this.shape;
|
|
1028
|
+
}
|
|
1029
|
+
yAxisKeys.forEach((yAxisKey, series) => {
|
|
1030
|
+
values = map(dataSet, (dataObj, index) => {
|
|
1031
|
+
if (!isEmptyObject(dataSet[index])) {
|
|
1032
|
+
return this.valueFinder(dataSet[index], xAxisKey, yAxisKey, index, (isArray(shapes) && shapes[series]) || this.shape);
|
|
1033
|
+
}
|
|
1034
|
+
});
|
|
1035
|
+
values = this.getValidData(values);
|
|
1036
|
+
datum.push({
|
|
1037
|
+
values: values,
|
|
1038
|
+
key: prettifyLabels(yAxisKey)
|
|
1039
|
+
});
|
|
1040
|
+
});
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
return datum;
|
|
1044
|
+
}
|
|
1045
|
+
setChartData(data) {
|
|
1046
|
+
if (data) {
|
|
1047
|
+
this._processedData = data;
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
getChartData() {
|
|
1051
|
+
return this._processedData;
|
|
1052
|
+
}
|
|
1053
|
+
// constructing the grouped data based on the selection of orderby, x & y axis
|
|
1054
|
+
getVisuallyGroupedData(queryResponse, groupingColumn) {
|
|
1055
|
+
let groupData = {}, groupValues = [], orderByDetails, maxLength;
|
|
1056
|
+
const chartData = [], _isAreaChart = isAreaChart(this.type), yAxisKey = first(split(this.yaxisdatakey, ','));
|
|
1057
|
+
this.xDataKeyArr = [];
|
|
1058
|
+
queryResponse = orderBy(queryResponse, split(this.groupby, ','));
|
|
1059
|
+
if (this.orderby) {
|
|
1060
|
+
orderByDetails = getLodashOrderByFormat(this.orderby);
|
|
1061
|
+
queryResponse = orderBy(queryResponse, orderByDetails.columns, orderByDetails.orders);
|
|
1062
|
+
}
|
|
1063
|
+
queryResponse = groupBy(queryResponse, groupingColumn);
|
|
1064
|
+
// In case of area chart all the series data should be of same length
|
|
1065
|
+
if (_isAreaChart) {
|
|
1066
|
+
maxLength = max(map(queryResponse, obj => obj.length));
|
|
1067
|
+
}
|
|
1068
|
+
forEach(queryResponse, (values, groupKey) => {
|
|
1069
|
+
groupValues = isAreaChart ? fill(new Array(maxLength), [0, 0]) : [];
|
|
1070
|
+
forEachRight(values, (value, index) => {
|
|
1071
|
+
groupValues[index] = this.valueFinder(value, this.xaxisdatakey, yAxisKey, index);
|
|
1072
|
+
});
|
|
1073
|
+
groupData = {
|
|
1074
|
+
key: groupKey,
|
|
1075
|
+
values: groupValues
|
|
1076
|
+
};
|
|
1077
|
+
chartData.push(groupData);
|
|
1078
|
+
});
|
|
1079
|
+
return chartData;
|
|
1080
|
+
}
|
|
1081
|
+
/*Decides whether the data should be visually grouped or not
|
|
1082
|
+
Visually grouped when a different column is choosen in the group by other than x and y axis and aggregation is not chosen*/
|
|
1083
|
+
getGroupingDetails() {
|
|
1084
|
+
if (this.isGroupByEnabled() && !this.isAggregationEnabled()) {
|
|
1085
|
+
let isVisuallyGrouped = false, visualGroupingColumn, groupingExpression, columns = [], groupingColumnIndex;
|
|
1086
|
+
const groupbyColumns = this.groupby && this.groupby !== NONE ? this.groupby.split(',') : [], yAxisKeys = this.yaxisdatakey ? this.yaxisdatakey.split(',') : [];
|
|
1087
|
+
if (groupbyColumns.length > 1) {
|
|
1088
|
+
/*Getting the group by column which is not selected either in x or y axis*/
|
|
1089
|
+
groupbyColumns.every((column, index) => {
|
|
1090
|
+
if (this.xaxisdatakey !== column && $.inArray(column, yAxisKeys) === -1) {
|
|
1091
|
+
isVisuallyGrouped = true;
|
|
1092
|
+
visualGroupingColumn = column;
|
|
1093
|
+
groupingColumnIndex = index;
|
|
1094
|
+
groupbyColumns.splice(groupingColumnIndex, 1);
|
|
1095
|
+
return false;
|
|
1096
|
+
}
|
|
1097
|
+
return true;
|
|
1098
|
+
});
|
|
1099
|
+
// Constructing the groupby expression
|
|
1100
|
+
if (visualGroupingColumn) {
|
|
1101
|
+
columns.push(visualGroupingColumn);
|
|
1102
|
+
}
|
|
1103
|
+
if (groupbyColumns.length) {
|
|
1104
|
+
columns = concat(columns, groupbyColumns);
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
// If x and y axis are not included in aggregation need to be included in groupby
|
|
1108
|
+
if (this.xaxisdatakey !== this.aggregationcolumn) {
|
|
1109
|
+
columns.push(this.xaxisdatakey);
|
|
1110
|
+
}
|
|
1111
|
+
forEach(yAxisKeys, key => {
|
|
1112
|
+
if (key !== this.aggregationcolumn) {
|
|
1113
|
+
columns.push(key);
|
|
1114
|
+
}
|
|
1115
|
+
});
|
|
1116
|
+
groupingExpression = columns.join(',');
|
|
1117
|
+
// set isVisuallyGrouped flag in scope for later use
|
|
1118
|
+
this.isVisuallyGrouped = isVisuallyGrouped;
|
|
1119
|
+
return {
|
|
1120
|
+
expression: groupingExpression,
|
|
1121
|
+
isVisuallyGrouped: isVisuallyGrouped,
|
|
1122
|
+
visualGroupingColumn: visualGroupingColumn
|
|
1123
|
+
};
|
|
1124
|
+
}
|
|
1125
|
+
return {
|
|
1126
|
+
expression: '',
|
|
1127
|
+
isVisuallyGrouped: false,
|
|
1128
|
+
visualGroupingColumn: ''
|
|
1129
|
+
};
|
|
1130
|
+
}
|
|
1131
|
+
// Function to get the aggregated data after applying the aggregation & group by or order by operations.
|
|
1132
|
+
getAggregatedData(callback) {
|
|
1133
|
+
const variable = this.datasource, yAxisKeys = this.yaxisdatakey ? this.yaxisdatakey.split(',') : [], data = {};
|
|
1134
|
+
let sortExpr, columns = [], colAlias, orderByColumns, groupByFields = [];
|
|
1135
|
+
if (!variable) {
|
|
1136
|
+
return;
|
|
1137
|
+
}
|
|
1138
|
+
if (this.isGroupByEnabled()) {
|
|
1139
|
+
groupByFields = split(this.groupby, ',');
|
|
1140
|
+
}
|
|
1141
|
+
if (this.orderby) {
|
|
1142
|
+
sortExpr = replace(this.orderby, /:/g, ' ');
|
|
1143
|
+
columns = uniq(concat(columns, groupByFields, [this.aggregationcolumn]));
|
|
1144
|
+
orderByColumns = getLodashOrderByFormat(this.orderby).columns;
|
|
1145
|
+
// If the orderby column is chosen either in groupby or orderby then replace . with $ for that column
|
|
1146
|
+
forEach(intersection(columns, orderByColumns), col => {
|
|
1147
|
+
colAlias = getValidAliasName(col);
|
|
1148
|
+
// @ts-ignore
|
|
1149
|
+
sortExpr = replace(sortExpr, col, colAlias);
|
|
1150
|
+
});
|
|
1151
|
+
}
|
|
1152
|
+
if (this.isAggregationEnabled()) {
|
|
1153
|
+
// Send the group by in the aggregations api only if aggregation is also chosen
|
|
1154
|
+
data.groupByFields = groupByFields;
|
|
1155
|
+
data.aggregations = [
|
|
1156
|
+
{
|
|
1157
|
+
'field': this.aggregationcolumn,
|
|
1158
|
+
'type': aggregationFnMap[this.aggregation],
|
|
1159
|
+
'alias': getValidAliasName(this.aggregationcolumn)
|
|
1160
|
+
}
|
|
1161
|
+
];
|
|
1162
|
+
}
|
|
1163
|
+
// Execute the query.
|
|
1164
|
+
variable.execute('getAggregatedData', {
|
|
1165
|
+
'aggregations': data,
|
|
1166
|
+
'sort': sortExpr
|
|
1167
|
+
}).then(response => {
|
|
1168
|
+
// Transform the result into a format supported by the chart.
|
|
1169
|
+
const chartData = [], aggregationAlias = getValidAliasName(this.aggregationcolumn), xAxisAliasKey = getValidAliasName(this.xaxisdatakey), yAxisAliasKeys = [];
|
|
1170
|
+
yAxisKeys.forEach(yAxisKey => yAxisAliasKeys.push(getValidAliasName(yAxisKey)));
|
|
1171
|
+
forEach(response.body.content, (responseContent) => {
|
|
1172
|
+
const obj = {};
|
|
1173
|
+
// Set the response in the chartData based on 'aggregationColumn', 'xAxisDataKey' & 'yAxisDataKey'.
|
|
1174
|
+
if (this.isAggregationEnabled()) {
|
|
1175
|
+
obj[this.aggregationcolumn] = responseContent[aggregationAlias];
|
|
1176
|
+
obj[this.aggregationcolumn] = get(responseContent, aggregationAlias) || get(responseContent, this.aggregationcolumn);
|
|
1177
|
+
}
|
|
1178
|
+
obj[this.xaxisdatakey] = get(responseContent, xAxisAliasKey) || get(responseContent, this.xaxisdatakey);
|
|
1179
|
+
yAxisKeys.forEach((yAxisKey, index) => {
|
|
1180
|
+
obj[yAxisKey] = responseContent[yAxisAliasKeys[index]];
|
|
1181
|
+
obj[yAxisKey] = get(responseContent, yAxisAliasKeys[index]) || get(responseContent, yAxisKey);
|
|
1182
|
+
});
|
|
1183
|
+
chartData.push(obj);
|
|
1184
|
+
});
|
|
1185
|
+
this.chartData = chartData;
|
|
1186
|
+
triggerFn(callback);
|
|
1187
|
+
}, () => {
|
|
1188
|
+
this.chartData = [];
|
|
1189
|
+
this.setErrMsg('MESSAGE_ERROR_FETCH_DATA');
|
|
1190
|
+
triggerFn(callback);
|
|
1191
|
+
});
|
|
1192
|
+
}
|
|
1193
|
+
// This function sets maximum width for the labels that can be displayed.This will helpful when they are overlapping
|
|
1194
|
+
setLabelsMaxWidth() {
|
|
1195
|
+
let xTicks, tickWidth, maxLength, xDist, yDist, totalHeight, maxNoLabels, nthElement, labelsAvailableWidth, barWrapper, yAxisWrapper, svgWrapper;
|
|
1196
|
+
const fontsize = parseInt(this.fontsize, 10) || 12, isBarchart = isBarChart(this.type);
|
|
1197
|
+
// getting the x ticks in the chart
|
|
1198
|
+
xTicks = $('#wmChart' + this.$id + ' svg').find('g.nv-x').find('g.tick').find('text');
|
|
1199
|
+
// getting the distance between the two visible ticks associated with visible text
|
|
1200
|
+
xTicks.each(function () {
|
|
1201
|
+
const xTick = $(this);
|
|
1202
|
+
let xTransform, tickDist;
|
|
1203
|
+
if (xTick.text() && xTick.css('opacity') === '1') {
|
|
1204
|
+
xTransform = xTick.parent().attr('transform').split(',');
|
|
1205
|
+
xDist = parseFloat(xTransform[0].substr(10));
|
|
1206
|
+
yDist = parseFloat(xTransform[1] || '0');
|
|
1207
|
+
if (!isBarchart && xDist > 0) {
|
|
1208
|
+
tickDist = xDist;
|
|
1209
|
+
}
|
|
1210
|
+
else if (yDist > 0) {
|
|
1211
|
+
tickDist = yDist;
|
|
1212
|
+
}
|
|
1213
|
+
if (tickWidth) {
|
|
1214
|
+
tickWidth = tickDist - tickWidth;
|
|
1215
|
+
return false;
|
|
1216
|
+
}
|
|
1217
|
+
tickWidth = tickDist;
|
|
1218
|
+
return true;
|
|
1219
|
+
}
|
|
1220
|
+
});
|
|
1221
|
+
// In case of bar chart getting the available space for the labels to be displayed
|
|
1222
|
+
if (isBarchart) {
|
|
1223
|
+
barWrapper = $('#wmChart' + this.$id + ' svg>g.nv-wrap>g>g.nv-barsWrap')[0];
|
|
1224
|
+
yAxisWrapper = $('#wmChart' + this.$id + ' svg>g.nv-wrap>g>g.nv-y')[0];
|
|
1225
|
+
svgWrapper = $('#wmChart' + this.$id + ' svg')[0];
|
|
1226
|
+
// getting the total height of the chart
|
|
1227
|
+
totalHeight = barWrapper ? barWrapper.getBoundingClientRect().height : 0;
|
|
1228
|
+
// getting the labels available space
|
|
1229
|
+
labelsAvailableWidth = yAxisWrapper ? svgWrapper.getBoundingClientRect().width - yAxisWrapper.getBoundingClientRect().width : svgWrapper.getBoundingClientRect().width;
|
|
1230
|
+
// Setting the max length for the label
|
|
1231
|
+
maxLength = Math.round(labelsAvailableWidth / fontsize);
|
|
1232
|
+
// if available space for each label is less than the font-size
|
|
1233
|
+
// then limiting the labels to be displayed
|
|
1234
|
+
if (tickWidth < fontsize) {
|
|
1235
|
+
// calculate the maximum no of labels to be fitted
|
|
1236
|
+
maxNoLabels = totalHeight / fontsize;
|
|
1237
|
+
// showing only the nth element
|
|
1238
|
+
nthElement = Math.ceil(this.chartData.length / maxNoLabels);
|
|
1239
|
+
// showing up only some labels
|
|
1240
|
+
d3.select('#wmChart' + this.$id + ' svg').select('g.nv-x').selectAll('g.tick').select('text').each(function (text, i) {
|
|
1241
|
+
// hiding every non nth element
|
|
1242
|
+
if (i % nthElement !== 0) {
|
|
1243
|
+
d3.select(this).attr('opacity', 0);
|
|
1244
|
+
}
|
|
1245
|
+
});
|
|
1246
|
+
}
|
|
1247
|
+
}
|
|
1248
|
+
else {
|
|
1249
|
+
// Setting the max length for the label
|
|
1250
|
+
maxLength = Math.round(tickWidth / fontsize);
|
|
1251
|
+
}
|
|
1252
|
+
// maxLength should always be a positive number
|
|
1253
|
+
maxLength = Math.abs(maxLength);
|
|
1254
|
+
// Validating if every label exceeds the max length and if so limiting the length and adding ellipsis
|
|
1255
|
+
xTicks.each(function () {
|
|
1256
|
+
if (this.textContent.length > maxLength) {
|
|
1257
|
+
this.textContent = this.textContent.substr(0, maxLength) + '...';
|
|
1258
|
+
}
|
|
1259
|
+
});
|
|
1260
|
+
}
|
|
1261
|
+
// Returns the columns of that can be choosen in the x and y axis
|
|
1262
|
+
getDefaultColumns() {
|
|
1263
|
+
let type, stringColumn, i, temp;
|
|
1264
|
+
const defaultColumns = [], columns = this.datasource.execute(DataSource.Operation.GET_PROPERTIES_MAP) || [];
|
|
1265
|
+
for (i = 0; i < columns.length && defaultColumns.length <= 2; i += 1) {
|
|
1266
|
+
type = columns[i].type;
|
|
1267
|
+
if (!columns[i].isRelated && (isNumberType(type))) {
|
|
1268
|
+
defaultColumns.push(columns[i].fieldName);
|
|
1269
|
+
}
|
|
1270
|
+
else if (type === 'string' && !stringColumn) {
|
|
1271
|
+
stringColumn = columns[i].fieldName;
|
|
1272
|
+
}
|
|
1273
|
+
}
|
|
1274
|
+
// Other than bubble chart x: string type y: number type
|
|
1275
|
+
// Bubble chart x: number type y: number type
|
|
1276
|
+
if (stringColumn && defaultColumns.length > 0 && !isBubbleChart(this.type)) {
|
|
1277
|
+
temp = defaultColumns[0];
|
|
1278
|
+
defaultColumns[0] = stringColumn;
|
|
1279
|
+
defaultColumns[1] = temp;
|
|
1280
|
+
}
|
|
1281
|
+
return defaultColumns;
|
|
1282
|
+
}
|
|
1283
|
+
// Call user defined javascript function when user links it to click event of the widget.
|
|
1284
|
+
attachClickEvent() {
|
|
1285
|
+
let dataObj;
|
|
1286
|
+
d3.select('#wmChart' + this.$id + ' svg').selectAll(chartDataPointXpath[this.type]).style('pointer-events', 'all')
|
|
1287
|
+
.on('click', (event, data, index) => {
|
|
1288
|
+
switch (this.type) {
|
|
1289
|
+
case 'Column':
|
|
1290
|
+
case 'Bar':
|
|
1291
|
+
dataObj = data._dataObj;
|
|
1292
|
+
break;
|
|
1293
|
+
case 'Pie':
|
|
1294
|
+
case 'Donut':
|
|
1295
|
+
dataObj = data.data._dataObj;
|
|
1296
|
+
break;
|
|
1297
|
+
case 'Area':
|
|
1298
|
+
case 'Cumulative Line':
|
|
1299
|
+
case 'Line':
|
|
1300
|
+
dataObj = data[0]._dataObj;
|
|
1301
|
+
break;
|
|
1302
|
+
case 'Bubble':
|
|
1303
|
+
dataObj = data;
|
|
1304
|
+
break;
|
|
1305
|
+
}
|
|
1306
|
+
this.selecteditem = dataObj;
|
|
1307
|
+
this.invokeEventCallback('select', {
|
|
1308
|
+
$event: event,
|
|
1309
|
+
selectedChartItem: data,
|
|
1310
|
+
selectedItem: this.selecteditem
|
|
1311
|
+
});
|
|
1312
|
+
});
|
|
1313
|
+
}
|
|
1314
|
+
/* Returns Y Scale min value
|
|
1315
|
+
Ex: Input : 8.97
|
|
1316
|
+
Output : 8.87
|
|
1317
|
+
|
|
1318
|
+
Input : 8
|
|
1319
|
+
Output : 7
|
|
1320
|
+
*/
|
|
1321
|
+
postPlotProcess(chart) {
|
|
1322
|
+
let chartSvg, pieLabels, pieGroups, angleArray;
|
|
1323
|
+
const styleObj = {};
|
|
1324
|
+
const element = this.$element;
|
|
1325
|
+
postPlotChartProcess(this);
|
|
1326
|
+
if (!isPieType(this.type)) {
|
|
1327
|
+
this.setLabelsMaxWidth();
|
|
1328
|
+
}
|
|
1329
|
+
else if (!this.showlabelsoutside) {
|
|
1330
|
+
/** Nvd3 has a issue in rotating text. So we will use this as a temp fix.
|
|
1331
|
+
* If the issue is resolved there, we can remove this.*/
|
|
1332
|
+
/* If it is a donut chart, then rotate the text and position them*/
|
|
1333
|
+
chartSvg = d3.select('#wmChart' + this.$id + ' svg');
|
|
1334
|
+
pieLabels = chartSvg.select('.nv-pieLabels').selectAll('.nv-label');
|
|
1335
|
+
pieGroups = chartSvg.select('.nv-pie').selectAll('.nv-slice');
|
|
1336
|
+
angleArray = [];
|
|
1337
|
+
if (pieGroups && pieGroups.length) {
|
|
1338
|
+
pieGroups.each(function () {
|
|
1339
|
+
d3.select(this).attr('transform', function (d) {
|
|
1340
|
+
angleArray.push(angle(d));
|
|
1341
|
+
});
|
|
1342
|
+
});
|
|
1343
|
+
pieLabels.each(function (d, i) {
|
|
1344
|
+
const group = d3.select(this);
|
|
1345
|
+
$(group[0][0]).find('text').attr('transform', 'rotate(' + angleArray[i] + ')');
|
|
1346
|
+
});
|
|
1347
|
+
}
|
|
1348
|
+
}
|
|
1349
|
+
// prepare text style props object and set
|
|
1350
|
+
forEach(styleProps, (value, key) => {
|
|
1351
|
+
if (key === 'fontsize' || key === 'fontunit') {
|
|
1352
|
+
styleObj[value] = this.fontsize + this.fontunit;
|
|
1353
|
+
}
|
|
1354
|
+
else {
|
|
1355
|
+
styleObj[value] = this[key];
|
|
1356
|
+
}
|
|
1357
|
+
});
|
|
1358
|
+
setTextStyle(styleObj, this.$id);
|
|
1359
|
+
/*
|
|
1360
|
+
* allow window-resize functionality, for only-run mode as
|
|
1361
|
+
* updating chart is being handled by watchers of height & width in studio-mode
|
|
1362
|
+
* */
|
|
1363
|
+
triggerFn(this._resizeFn && this._resizeFn.clear);
|
|
1364
|
+
this._resizeFn = nv.utils.windowResize(() => {
|
|
1365
|
+
if (element[0].getBoundingClientRect().height) {
|
|
1366
|
+
chart.update();
|
|
1367
|
+
postPlotChartProcess(this);
|
|
1368
|
+
if (!isPieType(this.type)) {
|
|
1369
|
+
this.setLabelsMaxWidth();
|
|
1370
|
+
}
|
|
1371
|
+
}
|
|
1372
|
+
else {
|
|
1373
|
+
// TODO: get parents of accordion type
|
|
1374
|
+
/*let parent = element.closest('.app-accordion-panel, .tab-pane').isolateScope();
|
|
1375
|
+
if (parent) {
|
|
1376
|
+
parent.initialized = false;
|
|
1377
|
+
}*/
|
|
1378
|
+
}
|
|
1379
|
+
});
|
|
1380
|
+
}
|
|
1381
|
+
// prepares and configures the chart properties
|
|
1382
|
+
configureChart() {
|
|
1383
|
+
// Copy the data only in case of pie chart with default data
|
|
1384
|
+
// Reason : when multiple pie charts are bound to same data, first chart theme will be applied to all charts
|
|
1385
|
+
let xDomainValues;
|
|
1386
|
+
let yDomainValues;
|
|
1387
|
+
let chart;
|
|
1388
|
+
let beforeRenderVal;
|
|
1389
|
+
const yformatOptions = {};
|
|
1390
|
+
if (this._processedData.length > 0) {
|
|
1391
|
+
if (isAxisDomainValid(this, 'x')) {
|
|
1392
|
+
xDomainValues = this.binddataset ? this.getXMinMaxValues(this._processedData[0]) : { 'min': { 'x': 1 }, 'max': { 'x': 5 } };
|
|
1393
|
+
}
|
|
1394
|
+
if (isAxisDomainValid(this, 'y')) {
|
|
1395
|
+
yDomainValues = this.binddataset ? this.getYMinMaxValues(this._processedData) : { 'min': { 'y': 1 }, 'max': { 'y': 5 } };
|
|
1396
|
+
}
|
|
1397
|
+
}
|
|
1398
|
+
if (isPieType(this.type) && (!this.binddataset || !this.scopedataset)) {
|
|
1399
|
+
this._processedData = getClonedObject(this.scopedataset || this._processedData);
|
|
1400
|
+
}
|
|
1401
|
+
// get the chart object
|
|
1402
|
+
chart = initChart(this, xDomainValues, yDomainValues, null, !this.binddataset);
|
|
1403
|
+
if (isArray(this._processedData)) {
|
|
1404
|
+
// WMS-19499: To remove chart X-axis old ticks when chart data loaded dynamically.
|
|
1405
|
+
const oldgTicks = $('#wmChart' + this.$id + ' svg').find('g.nv-x').find('g.tick');
|
|
1406
|
+
if (oldgTicks && oldgTicks.length) {
|
|
1407
|
+
oldgTicks.remove();
|
|
1408
|
+
}
|
|
1409
|
+
beforeRenderVal = this.invokeEventCallback('beforerender', { 'chartInstance': chart });
|
|
1410
|
+
if (beforeRenderVal) {
|
|
1411
|
+
chart = beforeRenderVal;
|
|
1412
|
+
}
|
|
1413
|
+
this.chart = chart;
|
|
1414
|
+
// changing the default no data message
|
|
1415
|
+
d3.select('#wmChart' + this.$id + ' svg')
|
|
1416
|
+
.datum(this._processedData)
|
|
1417
|
+
.call(this.chart);
|
|
1418
|
+
this.postPlotProcess(chart);
|
|
1419
|
+
return chart;
|
|
1420
|
+
}
|
|
1421
|
+
}
|
|
1422
|
+
// Plotting the chart with set of the properties set to it
|
|
1423
|
+
plotChart() {
|
|
1424
|
+
const element = this.$element;
|
|
1425
|
+
// call user-transformed function
|
|
1426
|
+
this.chartData = (this.invokeEventCallback('transform')) || this.chartData;
|
|
1427
|
+
// Getting the order by data only in run mode. The order by applies for all the charts other than pie and donut charts
|
|
1428
|
+
if (this.isVisuallyGrouped && !isPieType(this.type)) {
|
|
1429
|
+
this._processedData = this.chartData;
|
|
1430
|
+
}
|
|
1431
|
+
else {
|
|
1432
|
+
this._processedData = this.processChartData();
|
|
1433
|
+
}
|
|
1434
|
+
// checking the parent container before plotting the chart
|
|
1435
|
+
if (!element[0].getBoundingClientRect().height) {
|
|
1436
|
+
return;
|
|
1437
|
+
}
|
|
1438
|
+
if (this.clearCanvas) {
|
|
1439
|
+
// empty svg to add-new chart
|
|
1440
|
+
element.find('svg').replaceWith('<svg></svg>');
|
|
1441
|
+
this.clearCanvas = false;
|
|
1442
|
+
}
|
|
1443
|
+
// In case of invalid axis show no data available message
|
|
1444
|
+
if (!this.isValidAxis()) {
|
|
1445
|
+
this._processedData = [];
|
|
1446
|
+
}
|
|
1447
|
+
nv.addGraph(() => this.configureChart(), () => {
|
|
1448
|
+
/*Bubble chart has an time out delay of 300ms in their implementation due to which we
|
|
1449
|
+
* won't be getting required data points on attaching events
|
|
1450
|
+
* hence delaying it 600ms*/
|
|
1451
|
+
setTimeout(() => {
|
|
1452
|
+
this.attachClickEvent();
|
|
1453
|
+
}, 600);
|
|
1454
|
+
});
|
|
1455
|
+
this.isLoadInProgress = false;
|
|
1456
|
+
}
|
|
1457
|
+
// TODO: Need way to figure out if the datasource is a live source
|
|
1458
|
+
get isLiveVariable() {
|
|
1459
|
+
// setting the flag for the live variable in the scope for the checks
|
|
1460
|
+
const variableObj = this.datasource;
|
|
1461
|
+
return variableObj && variableObj.category === 'wm.LiveVariable';
|
|
1462
|
+
}
|
|
1463
|
+
plotChartProxy() {
|
|
1464
|
+
this.showContentLoadError = false;
|
|
1465
|
+
this.invalidConfig = false;
|
|
1466
|
+
// Checking if x and y axis are chosen
|
|
1467
|
+
this.isLoadInProgress = true;
|
|
1468
|
+
const groupingDetails = this.getGroupingDetails();
|
|
1469
|
+
// If aggregation/group by/order by properties have been set, then get the aggregated data and plot the result in the chart.
|
|
1470
|
+
// TODO: datasource for live variable detection
|
|
1471
|
+
if (this.binddataset && this.isLiveVariable && (this.filterFields || this.isDataFilteringEnabled())) {
|
|
1472
|
+
this.getAggregatedData(() => this.plotChart());
|
|
1473
|
+
}
|
|
1474
|
+
else { // Else, simply plot the chart.
|
|
1475
|
+
// In case of live variable resetting the aggregated data to the normal dataset when the aggregation has been removed
|
|
1476
|
+
if (this.dataset && this.isLiveVariable) {
|
|
1477
|
+
this.chartData = this.dataset;
|
|
1478
|
+
if (this.isGroupByEnabled() && groupingDetails.isVisuallyGrouped) {
|
|
1479
|
+
this.chartData = this.getVisuallyGroupedData(this.chartData, groupingDetails.visualGroupingColumn);
|
|
1480
|
+
}
|
|
1481
|
+
}
|
|
1482
|
+
this.plotChart();
|
|
1483
|
+
}
|
|
1484
|
+
}
|
|
1485
|
+
// sets the default x and y axis options
|
|
1486
|
+
setDefaultAxisOptions() {
|
|
1487
|
+
const defaultColumns = this.getDefaultColumns();
|
|
1488
|
+
// If we get the valid default columns then assign them as the x and y axis
|
|
1489
|
+
// In case of service variable we may not get the valid columns because we cannot know the datatypes
|
|
1490
|
+
this.xaxisdatakey = defaultColumns[0] || null;
|
|
1491
|
+
this.yaxisdatakey = defaultColumns[1] || null;
|
|
1492
|
+
}
|
|
1493
|
+
getCutomizedOptions(prop, fields) {
|
|
1494
|
+
const groupByColumns = split(this.groupby, ','), aggColumns = split(this.aggregationcolumn, ',');
|
|
1495
|
+
if (!this.binddataset) {
|
|
1496
|
+
return fields;
|
|
1497
|
+
}
|
|
1498
|
+
if (!this.axisoptions) {
|
|
1499
|
+
this.axisoptions = fields;
|
|
1500
|
+
}
|
|
1501
|
+
let newOptions;
|
|
1502
|
+
switch (prop) {
|
|
1503
|
+
case 'xaxisdatakey':
|
|
1504
|
+
// If group by enabled, columns chosen in groupby will be populated in x axis options
|
|
1505
|
+
if (this.isGroupByEnabled()) {
|
|
1506
|
+
newOptions = groupByColumns;
|
|
1507
|
+
}
|
|
1508
|
+
break;
|
|
1509
|
+
case 'yaxisdatakey':
|
|
1510
|
+
// If aggregation by enabled, columns chosen in aggregation will be populated in y axis options
|
|
1511
|
+
if (this.isAggregationEnabled()) {
|
|
1512
|
+
newOptions = aggColumns;
|
|
1513
|
+
}
|
|
1514
|
+
else if (this.isLiveVariable) {
|
|
1515
|
+
// In case of live variable populating only numeric columns
|
|
1516
|
+
newOptions = this.numericColumns;
|
|
1517
|
+
}
|
|
1518
|
+
break;
|
|
1519
|
+
case 'groupby':
|
|
1520
|
+
// Filtering only non primary key columns
|
|
1521
|
+
if (this.isLiveVariable && this.nonPrimaryColumns && this.nonPrimaryColumns.length) {
|
|
1522
|
+
newOptions = this.nonPrimaryColumns;
|
|
1523
|
+
}
|
|
1524
|
+
break;
|
|
1525
|
+
case 'aggregationcolumn':
|
|
1526
|
+
// Set the 'aggregationColumn' to show all keys in case of aggregation function is count or to numeric keys in all other cases.
|
|
1527
|
+
if (this.isLiveVariable && this.isAggregationEnabled() && this.aggregation !== 'count') {
|
|
1528
|
+
newOptions = this.numericColumns;
|
|
1529
|
+
}
|
|
1530
|
+
break;
|
|
1531
|
+
case 'orderby':
|
|
1532
|
+
// Set the 'aggregationColumn' to show all keys in case of aggregation function is count or to numeric keys in all other cases.
|
|
1533
|
+
if (this.isLiveVariable && this.isAggregationEnabled()) {
|
|
1534
|
+
newOptions = uniq(concat(groupByColumns, aggColumns));
|
|
1535
|
+
}
|
|
1536
|
+
break;
|
|
1537
|
+
case 'bubblesize':
|
|
1538
|
+
if (this.numericColumns && this.numericColumns.length) {
|
|
1539
|
+
newOptions = this.numericColumns;
|
|
1540
|
+
}
|
|
1541
|
+
break;
|
|
1542
|
+
}
|
|
1543
|
+
return newOptions || fields || this.axisoptions;
|
|
1544
|
+
}
|
|
1545
|
+
// Function that iterates through all the columns and then fetching the numeric and non primary columns among them
|
|
1546
|
+
setNumericandNonPrimaryColumns() {
|
|
1547
|
+
let columns, type;
|
|
1548
|
+
const propertiesMap = this.datasource.execute(DataSource.Operation.GET_PROPERTIES_MAP);
|
|
1549
|
+
this.numericColumns = [];
|
|
1550
|
+
this.nonPrimaryColumns = [];
|
|
1551
|
+
// Fetching all the columns
|
|
1552
|
+
if (this.dataset && !isEmpty(propertiesMap)) {
|
|
1553
|
+
columns = []; // TODO: fetchPropertiesMapColumns(propertiesMap);
|
|
1554
|
+
}
|
|
1555
|
+
if (columns) {
|
|
1556
|
+
// Iterating through all the columns and fetching the numeric and non primary key columns
|
|
1557
|
+
forEach(Object.keys(columns), (key) => {
|
|
1558
|
+
type = columns[key].type;
|
|
1559
|
+
if (isNumberType(type)) {
|
|
1560
|
+
this.numericColumns.push(key);
|
|
1561
|
+
}
|
|
1562
|
+
// Hiding only table's primary key
|
|
1563
|
+
if (columns[key].isRelatedPk === 'true' || !columns[key].isPrimaryKey) {
|
|
1564
|
+
this.nonPrimaryColumns.push(key);
|
|
1565
|
+
}
|
|
1566
|
+
});
|
|
1567
|
+
this.numericColumns = this.numericColumns.sort();
|
|
1568
|
+
this.nonPrimaryColumns = this.nonPrimaryColumns.sort();
|
|
1569
|
+
}
|
|
1570
|
+
}
|
|
1571
|
+
// plot the chart
|
|
1572
|
+
handleDataSet(newVal) {
|
|
1573
|
+
this.errMsg = '';
|
|
1574
|
+
// Resetting the flag to false when the binding was removed
|
|
1575
|
+
if (!newVal && !this.binddataset) {
|
|
1576
|
+
this.isVisuallyGrouped = false;
|
|
1577
|
+
this.axisoptions = null;
|
|
1578
|
+
}
|
|
1579
|
+
// liveVariables contain data in 'data' property' of the variable
|
|
1580
|
+
this.chartData = this.isLiveVariable ? newVal || '' : (newVal && newVal.dataValue === '' && keys(newVal).length === 1) ? '' : newVal;
|
|
1581
|
+
// if the data returned is an object make it an array of object
|
|
1582
|
+
if (!isArray(this.chartData) && isObject(this.chartData)) {
|
|
1583
|
+
this.chartData = [this.chartData];
|
|
1584
|
+
}
|
|
1585
|
+
if (newVal && newVal.filterFields) {
|
|
1586
|
+
this.filterFields = newVal.filterFields;
|
|
1587
|
+
}
|
|
1588
|
+
// plotchart for only valid data and only after bound variable returns data
|
|
1589
|
+
if (this.chartData) {
|
|
1590
|
+
this._plotChartProxy();
|
|
1591
|
+
}
|
|
1592
|
+
}
|
|
1593
|
+
// sets the center label for donut chart type
|
|
1594
|
+
setDonutCenterLabel(labelValue) {
|
|
1595
|
+
let chartSvg, pieGroups;
|
|
1596
|
+
chartSvg = d3.select('#wmChart' + this.$id + ' svg');
|
|
1597
|
+
pieGroups = chartSvg.select('.nv-wrap.nv-pie').select('.nv-pie');
|
|
1598
|
+
pieGroups.text('');
|
|
1599
|
+
pieGroups.append('text')
|
|
1600
|
+
.attr('dy', '.35em')
|
|
1601
|
+
.attr('text-anchor', 'middle')
|
|
1602
|
+
.attr('class', 'nv-pie-title')
|
|
1603
|
+
.text(labelValue)
|
|
1604
|
+
.each(function (d) {
|
|
1605
|
+
var d3text = d3.select(this), circ = d3.select(this.parentElement), totalWidth = Number(circ.node().getBoundingClientRect().width),
|
|
1606
|
+
// minus the ring width from total width
|
|
1607
|
+
availWidth = totalWidth - 30, textWidth = this.getComputedTextLength();
|
|
1608
|
+
d3text.attr("data-scale", availWidth / textWidth);
|
|
1609
|
+
}).style("font-size", function () {
|
|
1610
|
+
// 16 is the default font size to multiply with the scaled value and 24 is the maximum font size that can be applied
|
|
1611
|
+
var fontSize = 16 * d3.select(this).attr("data-scale");
|
|
1612
|
+
return fontSize > 24 ? 24 : fontSize + "px";
|
|
1613
|
+
});
|
|
1614
|
+
}
|
|
1615
|
+
onPropertyChange(key, newVal, oldVal) {
|
|
1616
|
+
super.onPropertyChange(key, newVal, oldVal);
|
|
1617
|
+
switch (key) {
|
|
1618
|
+
case 'dataset':
|
|
1619
|
+
this.handleDataSet(newVal);
|
|
1620
|
+
break;
|
|
1621
|
+
case 'centerlabel':
|
|
1622
|
+
if (this.chart) {
|
|
1623
|
+
this.chart.title(newVal);
|
|
1624
|
+
this.setDonutCenterLabel(newVal);
|
|
1625
|
+
}
|
|
1626
|
+
break;
|
|
1627
|
+
case 'type':
|
|
1628
|
+
// Based on the change in type deciding the default margins
|
|
1629
|
+
if (isPieType(this.type)) {
|
|
1630
|
+
this.offsettop = 20;
|
|
1631
|
+
this.offsetright = 0;
|
|
1632
|
+
this.offsetbottom = 0;
|
|
1633
|
+
this.offsetleft = 0;
|
|
1634
|
+
}
|
|
1635
|
+
else if (oldVal === 'Pie' || oldVal === 'Donut') {
|
|
1636
|
+
this.offsettop = 25;
|
|
1637
|
+
this.offsetright = 25;
|
|
1638
|
+
this.offsetbottom = 55;
|
|
1639
|
+
this.offsetleft = 75;
|
|
1640
|
+
}
|
|
1641
|
+
if (oldVal !== newVal) {
|
|
1642
|
+
this.clearCanvas = true;
|
|
1643
|
+
}
|
|
1644
|
+
// In studio mode, configure properties dependent on chart type
|
|
1645
|
+
this._plotChartProxy();
|
|
1646
|
+
break;
|
|
1647
|
+
default:
|
|
1648
|
+
// In RunMode, the plotchart method will not be called for all property change
|
|
1649
|
+
this._plotChartProxy();
|
|
1650
|
+
break;
|
|
1651
|
+
}
|
|
1652
|
+
if (includes(advanceDataProps, key)) {
|
|
1653
|
+
this._plotChartProxy();
|
|
1654
|
+
}
|
|
1655
|
+
}
|
|
1656
|
+
handleLoading(data) {
|
|
1657
|
+
const dataSource = this.datasource;
|
|
1658
|
+
if (dataSource && dataSource.execute(DataSource.Operation.IS_API_AWARE) && isDataSourceEqual(data.variable, dataSource)) {
|
|
1659
|
+
this.variableInflight = data.active;
|
|
1660
|
+
this.isLoadInProgress = data.active;
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
hideTooltip() {
|
|
1664
|
+
d3.selectAll('.nvtooltip').style('opacity', 0);
|
|
1665
|
+
}
|
|
1666
|
+
onStyleChange(key, newVal, oldVal) {
|
|
1667
|
+
const styleObj = {};
|
|
1668
|
+
super.onStyleChange(key, newVal, oldVal);
|
|
1669
|
+
switch (key) {
|
|
1670
|
+
case 'fontsize':
|
|
1671
|
+
case 'fontunit':
|
|
1672
|
+
case 'color':
|
|
1673
|
+
case 'fontfamily':
|
|
1674
|
+
case 'fontweight':
|
|
1675
|
+
case 'fontstyle':
|
|
1676
|
+
case 'textdecoration':
|
|
1677
|
+
styleObj[styleProps[key]] = (key === 'fontsize' || key === 'fontunit') ? this.fontsize + this.fontunit : newVal;
|
|
1678
|
+
setTextStyle(styleObj, this.$id);
|
|
1679
|
+
break;
|
|
1680
|
+
}
|
|
1681
|
+
}
|
|
1682
|
+
constructor(inj, app, explicitContext) {
|
|
1683
|
+
super(inj, WIDGET_CONFIG, explicitContext);
|
|
1684
|
+
this.app = app;
|
|
1685
|
+
this.iconclass = '';
|
|
1686
|
+
this.nonPrimaryColumns = [];
|
|
1687
|
+
this.xDataKeyArr = [];
|
|
1688
|
+
this.chartData = [];
|
|
1689
|
+
this._processedData = [];
|
|
1690
|
+
this._subsciptions = [];
|
|
1691
|
+
this._plotChartProxy = debounce(this.plotChartProxy.bind(this), 100);
|
|
1692
|
+
this.redraw = this._plotChartProxy.bind(this);
|
|
1693
|
+
styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER, ['fontsize', 'fontunit', 'color', 'fontfamily', 'fontweight', 'fontstyle', 'textdecoration']);
|
|
1694
|
+
// generate unique id for the component
|
|
1695
|
+
this.$id = this.widgetId || Math.random();
|
|
1696
|
+
// remove title attribute as the element on hover shows you the hint through-out the element
|
|
1697
|
+
removeAttr(this.nativeElement, 'title');
|
|
1698
|
+
this.chartReady = false;
|
|
1699
|
+
this.binddataset = this.nativeElement.getAttribute('dataset.bind');
|
|
1700
|
+
// Show loading status based on the variable life cycle
|
|
1701
|
+
this._subsciptions.push(this.app.subscribe('toggle-variable-state', this.handleLoading.bind(this)));
|
|
1702
|
+
// Will hide tolltip of a chart in mobile when the user scrolls.
|
|
1703
|
+
this._subsciptions.push(this.app.subscribe('iscroll-start', () => { this.hideTooltip(); }));
|
|
1704
|
+
}
|
|
1705
|
+
ngAfterViewInit() {
|
|
1706
|
+
super.ngAfterViewInit();
|
|
1707
|
+
// For old projects
|
|
1708
|
+
if (!includes(['outside', 'inside', 'hide'], this.showlabels)) {
|
|
1709
|
+
this.showlabels = getBooleanValue(this.showlabels);
|
|
1710
|
+
this.showlabelsoutside = getBooleanValue(this.showlabelsoutside);
|
|
1711
|
+
this.showlabels = this.showlabels ? (this.showlabelsoutside ? 'outside' : 'inside') : 'hide';
|
|
1712
|
+
}
|
|
1713
|
+
if (!this.theme) {
|
|
1714
|
+
// Default theme for pie/donut is Azure and for other it is Terrestrial
|
|
1715
|
+
this.theme = isPieType(this.type) ? 'Azure' : 'Terrestrial';
|
|
1716
|
+
}
|
|
1717
|
+
this.nativeElement.setAttribute('id', 'wmChart' + this.$id);
|
|
1718
|
+
// When there is not value binding, then plot the chart with sample data
|
|
1719
|
+
if (!this.binddataset && !this.nativeElement.getAttribute('scopedataset')) {
|
|
1720
|
+
this._plotChartProxy();
|
|
1721
|
+
}
|
|
1722
|
+
}
|
|
1723
|
+
ngOnDestroy() {
|
|
1724
|
+
// destroy all subscriptions to prevent memory leak.
|
|
1725
|
+
this.hideTooltip();
|
|
1726
|
+
// MEMORY LEAK FIX: Unsubscribe from all subscriptions
|
|
1727
|
+
if (this._subsciptions) {
|
|
1728
|
+
this._subsciptions.forEach((subscription) => {
|
|
1729
|
+
subscription();
|
|
1730
|
+
});
|
|
1731
|
+
this._subsciptions = [];
|
|
1732
|
+
}
|
|
1733
|
+
// MEMORY LEAK FIX: Clear chart instance
|
|
1734
|
+
if (this.chart) {
|
|
1735
|
+
this.chart = null;
|
|
1736
|
+
}
|
|
1737
|
+
// MEMORY LEAK FIX: Remove resize handler if exists
|
|
1738
|
+
if (this._resizeFn) {
|
|
1739
|
+
this._resizeFn = null;
|
|
1740
|
+
}
|
|
1741
|
+
// MEMORY LEAK FIX: Clear array references
|
|
1742
|
+
this.chartData = [];
|
|
1743
|
+
this._processedData = [];
|
|
1744
|
+
this.sampleData = [];
|
|
1745
|
+
this.xDataKeyArr = [];
|
|
1746
|
+
this.nonPrimaryColumns = [];
|
|
1747
|
+
super.ngOnDestroy();
|
|
1748
|
+
}
|
|
1749
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ChartComponent, deps: [{ token: i0.Injector }, { token: i1.App }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1750
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ChartComponent, isStandalone: true, selector: "div[wmChart]", host: { properties: { "class.panel": "this.title" } }, providers: [
|
|
1751
|
+
provideAsWidgetRef(ChartComponent)
|
|
1752
|
+
], usesInheritance: true, ngImport: i0, template: "@if (title) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\"><i class=\"app-icon panel-icon {{iconclass}}\" [class.ng-hide]=\"!iconclass\"></i></div>\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n @if (subheading) {\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n }\n </h3>\n </div>\n}\n<div class=\"app-chart-inner\" [ngClass]=\"{'loading':isLoadInProgress, 'panel-body': title}\">\n <svg></svg>\n @if (showContentLoadError && showNoDataMsg) {\n <div class=\"wm-content-info readonly-wrapper\">\n <p class=\"wm-message\" [title]=\"hintMsg\" [ngClass]=\"{'error': invalidConfig}\" [innerText]=\"errMsg\"></p>\n </div>\n }\n <div wmSpinner show.bind=\"isLoadInProgress\" caption.bind=\"loadingdatamsg\"></div>\n</div>\n", styles: [".nvtooltip h3,.nvtooltip p{margin:0;text-align:center}.nv-distx,.nv-disty,.nv-noninteractive,.nvd3 .nv-axis,.nvd3 .nv-interactiveGuideLine,.nvd3.nv-pie .nv-label,.nvd3.nv-sparklineplus g.nv-hoverValue,.nvtooltip{pointer-events:none}.nvd3 .nv-axis{opacity:1}.nvd3 .nv-axis path{fill:none;stroke:#000;stroke-opacity:.75;shape-rendering:crispEdges}.nvd3 .nv-axis .zero line,.nvd3 .nv-axis line.zero,.nvd3 .nv-axis path.domain{stroke-opacity:.75}.nvd3 .nv-axis.nv-x path.domain{stroke-opacity:0}.nvd3 .nv-axis line{fill:none;stroke:#e5e5e5;shape-rendering:crispEdges}.nvd3 .nv-axis .nv-axisMaxMin text,.nvtooltip table td.key.total{font-weight:700}.nvd3 .x .nv-axis .nv-axisMaxMin text,.nvd3 .x2 .nv-axis .nv-axisMaxMin text,.nvd3 .x3 .nv-axis .nv-axisMaxMin text{text-anchor:middle}.nvd3 .nv-axis.nv-disabled,.nvd3 .nv-controlsWrap .nv-legend .nv-check-box .nv-check{opacity:0}.nvd3 .nv-bars rect{fill-opacity:.75;-webkit-transition:fill-opacity .25s linear;transition:fill-opacity .25s linear}.nvd3 .nv-bars rect.hover,.nvd3 .nv-boxplot circle:hover,.nvd3 .nv-boxplot rect:hover,.nvd3 .nv-candlestickBar .nv-ticks rect:hover,.nvd3 .nv-discretebar .nv-groups rect:hover,.nvd3 .nv-multibar .nv-groups rect:hover,.nvd3 .nv-multibarHorizontal .nv-groups rect:hover,.nvd3 .nv-scatter .nv-point.hover,.nvd3.nv-bullet .nv-measure:hover,.nvd3.nv-linePlusBar .nv-bar rect:hover,.nvd3.nv-pie .hover path{fill-opacity:1}.nvd3 .nv-bars .hover rect{fill:#add8e6}.nvd3 .nv-bars text{fill:#0000}.nvd3 .nv-bars .hover text{fill:#000}.nvd3 .nv-discretebar .nv-groups rect,.nvd3 .nv-multibar .nv-groups rect,.nvd3 .nv-multibarHorizontal .nv-groups rect{stroke-opacity:0;-webkit-transition:fill-opacity .25s linear;transition:fill-opacity .25s linear}.nvd3 .nv-discretebar .nv-groups text,.nvd3 .nv-multibarHorizontal .nv-groups text{font-weight:700;fill:#000;stroke:#0000}.nvd3 .nv-boxplot circle{fill-opacity:.5}.nvd3 line.nv-boxplot-median{stroke:#000}.nv-boxplot-tick:hover{stroke-width:2.5px}.nvd3.nv-bullet{font:10px sans-serif}.nvd3.nv-bullet .nv-measure{fill-opacity:.8}.nvd3.nv-bullet .nv-marker{stroke:#000;stroke-width:2px}.nvd3.nv-bullet .nv-markerTriangle{stroke:#000;fill:#fff;stroke-width:1.5px}.nvd3.nv-bullet .nv-markerLine{stroke:#000;stroke-width:1.5px}.nvd3.nv-bullet .nv-tick line{stroke:#666;stroke-width:.5px}.nvd3.nv-bullet .nv-range.nv-s0{fill:#eee}.nvd3.nv-bullet .nv-range.nv-s1{fill:#ddd}.nvd3.nv-bullet .nv-range.nv-s2{fill:#ccc}.nvd3.nv-bullet .nv-title{font-size:14px;font-weight:700}.nvd3.nv-bullet .nv-subtitle{fill:#999}.nvd3.nv-bullet .nv-range{fill:#bababa;fill-opacity:.4}.nvd3.nv-bullet .nv-range:hover{fill-opacity:.7}.nvd3.nv-candlestickBar .nv-ticks .nv-tick,.nvd3.nv-ohlcBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.hover,.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.positive rect,.nvd3.nv-sparklineplus .nv-maxValue{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.negative rect,.nvd3.nv-sparklineplus .nv-minValue{stroke:#d62728;fill:#d62728}.with-transitions .nv-candlestickBar .nv-ticks .nv-tick,.with-transitions .nvd3 .nv-groups .nv-point{-webkit-transition:stroke-width .25s linear,stroke-opacity .25s linear;transition:stroke-width .25s linear,stroke-opacity .25s linear}.nvd3.nv-candlestickBar .nv-ticks line{stroke:#333}.nv-force-node{stroke:#fff;stroke-width:1.5px}.nv-force-link{stroke:#999;stroke-opacity:.6}.nv-force-node text{stroke-width:0}.nvd3 .nv-check-box .nv-box{fill-opacity:0;stroke-width:2}.nvd3 .nv-check-box .nv-check{fill-opacity:0;stroke-width:4}.nvd3 .nv-hoverArea,.nvd3 .nv-series.nv-disabled .nv-check-box .nv-check,.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point,.nvd3.nv-pie .nv-label rect{fill-opacity:0;stroke-opacity:0}.nvd3.nv-linePlusBar .nv-bar rect{fill-opacity:.75}.nvd3 .nv-groups path.nv-line,.nvd3.nv-sparkline path{fill:none}.nvd3 .nv-groups path.nv-area{stroke:none}.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point{fill-opacity:.5!important;stroke-opacity:.5!important}.nvd3 .nv-groups .nv-point.hover,.nvd3.nv-scatter .nv-groups .nv-point.hover{stroke-width:7px;fill-opacity:.95!important;stroke-opacity:.95!important}.nvd3 .nv-point-paths path{stroke:#aaa;stroke-opacity:0;fill:#eee;fill-opacity:0}.nvd3 .nv-indexLine{cursor:ew-resize}svg.nvd3-svg{-webkit-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%;height:100%}.nvtooltip.with-3d-shadow,.with-3d-shadow .nvtooltip{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px #0003;border-radius:5px}.nvd3 text{font:12px Arial,sans-serif}.nvtooltip h3,.nvtooltip table td.key{font-weight:400}.nvd3 .title{font:700 14px Arial,sans-serif}.nvd3 .nv-background{fill:#fff;fill-opacity:0}.nvd3.nv-noData{font-size:18px;font-weight:700}.nv-brush .selection{fill-opacity:.125;shape-rendering:crispEdges}.nv-brush .handle path{fill:#eee;stroke:#666}.nvd3 .nv-legend .nv-series{cursor:pointer}.nvd3 .nv-legend .nv-disabled circle{fill-opacity:0}.nvd3 .nv-brush .selection{fill-opacity:0!important}.nvd3 .nv-brushBackground rect{stroke:#000;stroke-width:.4;fill:#fff;fill-opacity:.7}@media print{.nvd3 text{stroke-width:0;fill-opacity:1}}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive{stroke:#2ca02c}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative{stroke:#d62728}.nvd3 .background path{fill:none;stroke:#eee;stroke-opacity:.4;shape-rendering:crispEdges}.nvd3 .foreground path{fill:none;stroke-opacity:.7}.nvd3 .nv-parallelCoordinates-brush .selection{fill:#fff;fill-opacity:.6;stroke:gray;shape-rendering:crispEdges}.nvd3 .nv-parallelCoordinates .hover{fill-opacity:1;stroke-width:3px}.nvd3 .missingValuesline line{fill:none;stroke:#000;stroke-width:1;stroke-opacity:1;stroke-dasharray:5,5}.nvd3.nv-pie path{stroke-opacity:0;-webkit-transition:fill-opacity .25s linear,stroke-width .25s linear,stroke-opacity .25s linear;transition:fill-opacity .25s linear,stroke-width .25s linear,stroke-opacity .25s linear;stroke:#fff;stroke-width:1px;stroke-opacity:1;fill-opacity:.7}.nvd3.nv-pie .nv-pie-title{font-size:24px;fill:#13c4f996}.nvd3.nv-pie .nv-slice text{stroke:#000;stroke-width:0}.nvd3 .nv-groups .nv-point.hover{stroke-width:20px;stroke-opacity:.5}.nvd3.nv-sparklineplus .nv-hoverValue line{stroke:#333;stroke-width:1.5px}.nvd3.nv-sparklineplus,.nvd3.nv-sparklineplus g{pointer-events:all}.nvd3.nv-sparklineplus .nv-xValue,.nvd3.nv-sparklineplus .nv-yValue{stroke-width:0;font-size:.9em;font-weight:400}.nvd3.nv-sparklineplus .nv-yValue{stroke:#f66}.nvd3.nv-sparklineplus .nv-currentValue{font-weight:700;font-size:1.1em}.nvd3.nv-stackedarea path.nv-area{fill-opacity:.7;stroke-opacity:0;-webkit-transition:fill-opacity .25s linear,stroke-opacity .25s linear;transition:fill-opacity .25s linear,stroke-opacity .25s linear}.nvd3.nv-stackedarea path.nv-area.hover{fill-opacity:.9}.nvd3.nv-stackedarea .nv-groups .nv-point{stroke-opacity:0;fill-opacity:0}.nvtooltip{position:absolute;background-color:#fff;color:#000;padding:1px;border:1px solid rgba(0,0,0,.5);z-index:10000;display:block;font-family:Arial,sans-serif;font-size:13px;text-align:left;white-space:nowrap;-webkit-user-select:none;-ms-user-select:none;user-select:none;background:#fffc;border-radius:4px}.nvtooltip.with-transitions,.with-transitions .nvtooltip{-webkit-transition:opacity 50ms linear .2s;transition:opacity 50ms linear .2s}.nvtooltip.x-nvtooltip,.nvtooltip.y-nvtooltip{padding:8px}.nvtooltip h3{padding:4px 14px;line-height:18px;background-color:#f7f7f7bf;color:#000;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.nvtooltip p{padding:5px 14px}.nvtooltip span{display:inline-block;margin:2px 0}.nvtooltip table{margin:6px;border-spacing:0}.nvtooltip table td{padding:2px 9px 2px 0;vertical-align:middle}.nvtooltip table td.value{text-align:right;font-weight:700}.nvtooltip table td.percent{color:#a9a9a9}.nvtooltip table tr.highlight td{padding:1px 9px 1px 0;border-bottom-style:solid;border-bottom-width:1px;border-top-style:solid;border-top-width:1px}.nvtooltip table td.legend-color-guide div{vertical-align:middle;width:12px;height:12px;border:1px solid #999}.nvtooltip .footer{padding:3px;text-align:center}.nvtooltip-pending-removal{pointer-events:none;display:none}.nvd3 line.nv-guideline{stroke:#ccc}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SpinnerComponent, selector: "[wmSpinner]", exportAs: ["wmSpinner"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1753
|
+
}
|
|
1754
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ChartComponent, decorators: [{
|
|
1755
|
+
type: Component,
|
|
1756
|
+
args: [{ standalone: true, imports: [CommonModule, SpinnerComponent], selector: 'div[wmChart]', providers: [
|
|
1757
|
+
provideAsWidgetRef(ChartComponent)
|
|
1758
|
+
], encapsulation: ViewEncapsulation.None, template: "@if (title) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\"><i class=\"app-icon panel-icon {{iconclass}}\" [class.ng-hide]=\"!iconclass\"></i></div>\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n @if (subheading) {\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n }\n </h3>\n </div>\n}\n<div class=\"app-chart-inner\" [ngClass]=\"{'loading':isLoadInProgress, 'panel-body': title}\">\n <svg></svg>\n @if (showContentLoadError && showNoDataMsg) {\n <div class=\"wm-content-info readonly-wrapper\">\n <p class=\"wm-message\" [title]=\"hintMsg\" [ngClass]=\"{'error': invalidConfig}\" [innerText]=\"errMsg\"></p>\n </div>\n }\n <div wmSpinner show.bind=\"isLoadInProgress\" caption.bind=\"loadingdatamsg\"></div>\n</div>\n", styles: [".nvtooltip h3,.nvtooltip p{margin:0;text-align:center}.nv-distx,.nv-disty,.nv-noninteractive,.nvd3 .nv-axis,.nvd3 .nv-interactiveGuideLine,.nvd3.nv-pie .nv-label,.nvd3.nv-sparklineplus g.nv-hoverValue,.nvtooltip{pointer-events:none}.nvd3 .nv-axis{opacity:1}.nvd3 .nv-axis path{fill:none;stroke:#000;stroke-opacity:.75;shape-rendering:crispEdges}.nvd3 .nv-axis .zero line,.nvd3 .nv-axis line.zero,.nvd3 .nv-axis path.domain{stroke-opacity:.75}.nvd3 .nv-axis.nv-x path.domain{stroke-opacity:0}.nvd3 .nv-axis line{fill:none;stroke:#e5e5e5;shape-rendering:crispEdges}.nvd3 .nv-axis .nv-axisMaxMin text,.nvtooltip table td.key.total{font-weight:700}.nvd3 .x .nv-axis .nv-axisMaxMin text,.nvd3 .x2 .nv-axis .nv-axisMaxMin text,.nvd3 .x3 .nv-axis .nv-axisMaxMin text{text-anchor:middle}.nvd3 .nv-axis.nv-disabled,.nvd3 .nv-controlsWrap .nv-legend .nv-check-box .nv-check{opacity:0}.nvd3 .nv-bars rect{fill-opacity:.75;-webkit-transition:fill-opacity .25s linear;transition:fill-opacity .25s linear}.nvd3 .nv-bars rect.hover,.nvd3 .nv-boxplot circle:hover,.nvd3 .nv-boxplot rect:hover,.nvd3 .nv-candlestickBar .nv-ticks rect:hover,.nvd3 .nv-discretebar .nv-groups rect:hover,.nvd3 .nv-multibar .nv-groups rect:hover,.nvd3 .nv-multibarHorizontal .nv-groups rect:hover,.nvd3 .nv-scatter .nv-point.hover,.nvd3.nv-bullet .nv-measure:hover,.nvd3.nv-linePlusBar .nv-bar rect:hover,.nvd3.nv-pie .hover path{fill-opacity:1}.nvd3 .nv-bars .hover rect{fill:#add8e6}.nvd3 .nv-bars text{fill:#0000}.nvd3 .nv-bars .hover text{fill:#000}.nvd3 .nv-discretebar .nv-groups rect,.nvd3 .nv-multibar .nv-groups rect,.nvd3 .nv-multibarHorizontal .nv-groups rect{stroke-opacity:0;-webkit-transition:fill-opacity .25s linear;transition:fill-opacity .25s linear}.nvd3 .nv-discretebar .nv-groups text,.nvd3 .nv-multibarHorizontal .nv-groups text{font-weight:700;fill:#000;stroke:#0000}.nvd3 .nv-boxplot circle{fill-opacity:.5}.nvd3 line.nv-boxplot-median{stroke:#000}.nv-boxplot-tick:hover{stroke-width:2.5px}.nvd3.nv-bullet{font:10px sans-serif}.nvd3.nv-bullet .nv-measure{fill-opacity:.8}.nvd3.nv-bullet .nv-marker{stroke:#000;stroke-width:2px}.nvd3.nv-bullet .nv-markerTriangle{stroke:#000;fill:#fff;stroke-width:1.5px}.nvd3.nv-bullet .nv-markerLine{stroke:#000;stroke-width:1.5px}.nvd3.nv-bullet .nv-tick line{stroke:#666;stroke-width:.5px}.nvd3.nv-bullet .nv-range.nv-s0{fill:#eee}.nvd3.nv-bullet .nv-range.nv-s1{fill:#ddd}.nvd3.nv-bullet .nv-range.nv-s2{fill:#ccc}.nvd3.nv-bullet .nv-title{font-size:14px;font-weight:700}.nvd3.nv-bullet .nv-subtitle{fill:#999}.nvd3.nv-bullet .nv-range{fill:#bababa;fill-opacity:.4}.nvd3.nv-bullet .nv-range:hover{fill-opacity:.7}.nvd3.nv-candlestickBar .nv-ticks .nv-tick,.nvd3.nv-ohlcBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.hover,.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.positive rect,.nvd3.nv-sparklineplus .nv-maxValue{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.negative rect,.nvd3.nv-sparklineplus .nv-minValue{stroke:#d62728;fill:#d62728}.with-transitions .nv-candlestickBar .nv-ticks .nv-tick,.with-transitions .nvd3 .nv-groups .nv-point{-webkit-transition:stroke-width .25s linear,stroke-opacity .25s linear;transition:stroke-width .25s linear,stroke-opacity .25s linear}.nvd3.nv-candlestickBar .nv-ticks line{stroke:#333}.nv-force-node{stroke:#fff;stroke-width:1.5px}.nv-force-link{stroke:#999;stroke-opacity:.6}.nv-force-node text{stroke-width:0}.nvd3 .nv-check-box .nv-box{fill-opacity:0;stroke-width:2}.nvd3 .nv-check-box .nv-check{fill-opacity:0;stroke-width:4}.nvd3 .nv-hoverArea,.nvd3 .nv-series.nv-disabled .nv-check-box .nv-check,.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point,.nvd3.nv-pie .nv-label rect{fill-opacity:0;stroke-opacity:0}.nvd3.nv-linePlusBar .nv-bar rect{fill-opacity:.75}.nvd3 .nv-groups path.nv-line,.nvd3.nv-sparkline path{fill:none}.nvd3 .nv-groups path.nv-area{stroke:none}.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point{fill-opacity:.5!important;stroke-opacity:.5!important}.nvd3 .nv-groups .nv-point.hover,.nvd3.nv-scatter .nv-groups .nv-point.hover{stroke-width:7px;fill-opacity:.95!important;stroke-opacity:.95!important}.nvd3 .nv-point-paths path{stroke:#aaa;stroke-opacity:0;fill:#eee;fill-opacity:0}.nvd3 .nv-indexLine{cursor:ew-resize}svg.nvd3-svg{-webkit-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%;height:100%}.nvtooltip.with-3d-shadow,.with-3d-shadow .nvtooltip{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px #0003;border-radius:5px}.nvd3 text{font:12px Arial,sans-serif}.nvtooltip h3,.nvtooltip table td.key{font-weight:400}.nvd3 .title{font:700 14px Arial,sans-serif}.nvd3 .nv-background{fill:#fff;fill-opacity:0}.nvd3.nv-noData{font-size:18px;font-weight:700}.nv-brush .selection{fill-opacity:.125;shape-rendering:crispEdges}.nv-brush .handle path{fill:#eee;stroke:#666}.nvd3 .nv-legend .nv-series{cursor:pointer}.nvd3 .nv-legend .nv-disabled circle{fill-opacity:0}.nvd3 .nv-brush .selection{fill-opacity:0!important}.nvd3 .nv-brushBackground rect{stroke:#000;stroke-width:.4;fill:#fff;fill-opacity:.7}@media print{.nvd3 text{stroke-width:0;fill-opacity:1}}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive{stroke:#2ca02c}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative{stroke:#d62728}.nvd3 .background path{fill:none;stroke:#eee;stroke-opacity:.4;shape-rendering:crispEdges}.nvd3 .foreground path{fill:none;stroke-opacity:.7}.nvd3 .nv-parallelCoordinates-brush .selection{fill:#fff;fill-opacity:.6;stroke:gray;shape-rendering:crispEdges}.nvd3 .nv-parallelCoordinates .hover{fill-opacity:1;stroke-width:3px}.nvd3 .missingValuesline line{fill:none;stroke:#000;stroke-width:1;stroke-opacity:1;stroke-dasharray:5,5}.nvd3.nv-pie path{stroke-opacity:0;-webkit-transition:fill-opacity .25s linear,stroke-width .25s linear,stroke-opacity .25s linear;transition:fill-opacity .25s linear,stroke-width .25s linear,stroke-opacity .25s linear;stroke:#fff;stroke-width:1px;stroke-opacity:1;fill-opacity:.7}.nvd3.nv-pie .nv-pie-title{font-size:24px;fill:#13c4f996}.nvd3.nv-pie .nv-slice text{stroke:#000;stroke-width:0}.nvd3 .nv-groups .nv-point.hover{stroke-width:20px;stroke-opacity:.5}.nvd3.nv-sparklineplus .nv-hoverValue line{stroke:#333;stroke-width:1.5px}.nvd3.nv-sparklineplus,.nvd3.nv-sparklineplus g{pointer-events:all}.nvd3.nv-sparklineplus .nv-xValue,.nvd3.nv-sparklineplus .nv-yValue{stroke-width:0;font-size:.9em;font-weight:400}.nvd3.nv-sparklineplus .nv-yValue{stroke:#f66}.nvd3.nv-sparklineplus .nv-currentValue{font-weight:700;font-size:1.1em}.nvd3.nv-stackedarea path.nv-area{fill-opacity:.7;stroke-opacity:0;-webkit-transition:fill-opacity .25s linear,stroke-opacity .25s linear;transition:fill-opacity .25s linear,stroke-opacity .25s linear}.nvd3.nv-stackedarea path.nv-area.hover{fill-opacity:.9}.nvd3.nv-stackedarea .nv-groups .nv-point{stroke-opacity:0;fill-opacity:0}.nvtooltip{position:absolute;background-color:#fff;color:#000;padding:1px;border:1px solid rgba(0,0,0,.5);z-index:10000;display:block;font-family:Arial,sans-serif;font-size:13px;text-align:left;white-space:nowrap;-webkit-user-select:none;-ms-user-select:none;user-select:none;background:#fffc;border-radius:4px}.nvtooltip.with-transitions,.with-transitions .nvtooltip{-webkit-transition:opacity 50ms linear .2s;transition:opacity 50ms linear .2s}.nvtooltip.x-nvtooltip,.nvtooltip.y-nvtooltip{padding:8px}.nvtooltip h3{padding:4px 14px;line-height:18px;background-color:#f7f7f7bf;color:#000;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.nvtooltip p{padding:5px 14px}.nvtooltip span{display:inline-block;margin:2px 0}.nvtooltip table{margin:6px;border-spacing:0}.nvtooltip table td{padding:2px 9px 2px 0;vertical-align:middle}.nvtooltip table td.value{text-align:right;font-weight:700}.nvtooltip table td.percent{color:#a9a9a9}.nvtooltip table tr.highlight td{padding:1px 9px 1px 0;border-bottom-style:solid;border-bottom-width:1px;border-top-style:solid;border-top-width:1px}.nvtooltip table td.legend-color-guide div{vertical-align:middle;width:12px;height:12px;border:1px solid #999}.nvtooltip .footer{padding:3px;text-align:center}.nvtooltip-pending-removal{pointer-events:none;display:none}.nvd3 line.nv-guideline{stroke:#ccc}\n"] }]
|
|
1759
|
+
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.App }, { type: undefined, decorators: [{
|
|
1760
|
+
type: Inject,
|
|
1761
|
+
args: ['EXPLICIT_CONTEXT']
|
|
1762
|
+
}, {
|
|
1763
|
+
type: Optional
|
|
1764
|
+
}] }], propDecorators: { title: [{
|
|
1765
|
+
type: HostBinding,
|
|
1766
|
+
args: ['class.panel']
|
|
1767
|
+
}] } });
|
|
1768
|
+
|
|
1769
|
+
/**
|
|
1770
|
+
* Generated bundle index. Do not edit.
|
|
1771
|
+
*/
|
|
1772
|
+
|
|
1773
|
+
export { ChartComponent };
|
|
1774
|
+
//# sourceMappingURL=index.mjs.map
|