@watermarkinsights/ripple 3.27.0 → 3.27.1
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/README.md +3 -3
- package/dist/cjs/{chartFunctions-b2e0cb4e.js → chartFunctions-42cfb4d3.js} +596 -596
- package/dist/cjs/{functions-9807717e.js → functions-85c3c557.js} +498 -498
- package/dist/cjs/{global-42a24725.js → global-9982752f.js} +72 -72
- package/dist/cjs/{http-service-9e8c4dd5.js → http-service-494d81de.js} +49 -49
- package/dist/cjs/{interfaces-30a74c1f.js → interfaces-a3338581.js} +29 -29
- package/dist/cjs/{intl-526c75ec.js → intl-1c36fe38.js} +131 -131
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/priv-chart-popover.cjs.entry.js +91 -91
- package/dist/cjs/priv-datepicker.cjs.entry.js +657 -657
- package/dist/cjs/priv-navigator-button.cjs.entry.js +19 -19
- package/dist/cjs/priv-navigator-item.cjs.entry.js +23 -23
- package/dist/cjs/ripple.cjs.js +1 -1
- package/dist/cjs/wm-action-menu_2.cjs.entry.js +334 -334
- package/dist/cjs/wm-button.cjs.entry.js +189 -189
- package/dist/cjs/wm-chart-slice.cjs.entry.js +18 -18
- package/dist/cjs/wm-chart.cjs.entry.js +183 -183
- package/dist/cjs/wm-datepicker.cjs.entry.js +263 -263
- package/dist/cjs/wm-file-list.cjs.entry.js +35 -35
- package/dist/cjs/wm-file.cjs.entry.js +181 -181
- package/dist/cjs/wm-input.cjs.entry.js +136 -136
- package/dist/cjs/wm-modal-footer.cjs.entry.js +33 -33
- package/dist/cjs/wm-modal-header.cjs.entry.js +32 -32
- package/dist/cjs/wm-modal.cjs.entry.js +152 -152
- package/dist/cjs/wm-navigation_3.cjs.entry.js +186 -186
- package/dist/cjs/wm-navigator.cjs.entry.js +264 -264
- package/dist/cjs/wm-network-uploader.cjs.entry.js +465 -465
- package/dist/cjs/wm-option_2.cjs.entry.js +768 -768
- package/dist/cjs/wm-pagination.cjs.entry.js +179 -179
- package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +155 -155
- package/dist/cjs/wm-search.cjs.entry.js +184 -184
- package/dist/cjs/wm-snackbar.cjs.entry.js +134 -134
- package/dist/cjs/wm-tab-item_3.cjs.entry.js +264 -264
- package/dist/cjs/wm-tag-input-row.cjs.entry.js +14 -14
- package/dist/cjs/wm-tag-input.cjs.entry.js +948 -941
- package/dist/cjs/wm-timepicker.cjs.entry.js +385 -385
- package/dist/cjs/wm-toggletip.cjs.entry.js +120 -120
- package/dist/cjs/wm-uploader.cjs.entry.js +441 -441
- package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
- package/dist/collection/components/charts/chartFunctions.js +562 -562
- package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +267 -267
- package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +125 -125
- package/dist/collection/components/charts/wm-chart/wm-chart.js +450 -450
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +207 -207
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +143 -143
- package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +121 -121
- package/dist/collection/components/wm-action-menu/wm-action-menu.js +472 -472
- package/dist/collection/components/wm-button/wm-button.js +486 -486
- package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +983 -983
- package/dist/collection/components/wm-datepicker/wm-datepicker.js +491 -491
- package/dist/collection/components/wm-file/wm-file.js +313 -313
- package/dist/collection/components/wm-file-list/wm-file-list.js +152 -152
- package/dist/collection/components/wm-input/wm-input.js +509 -509
- package/dist/collection/components/wm-menuitem/wm-menuitem.js +454 -454
- package/dist/collection/components/wm-modal/wm-modal-footer.js +138 -138
- package/dist/collection/components/wm-modal/wm-modal-header.js +82 -82
- package/dist/collection/components/wm-modal/wm-modal.js +462 -462
- package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +119 -119
- package/dist/collection/components/wm-navigation/wm-navigation-item.js +130 -130
- package/dist/collection/components/wm-navigation/wm-navigation.js +217 -217
- package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +106 -106
- package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +123 -123
- package/dist/collection/components/wm-navigator/wm-navigator.js +467 -467
- package/dist/collection/components/wm-option/wm-option.js +435 -435
- package/dist/collection/components/wm-pagination/wm-pagination.js +362 -362
- package/dist/collection/components/wm-search/wm-search.js +439 -439
- package/dist/collection/components/wm-select/wm-select.js +1054 -1054
- package/dist/collection/components/wm-snackbar/wm-snackbar.js +267 -267
- package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +211 -211
- package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +327 -327
- package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +108 -108
- package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js +122 -122
- package/dist/collection/components/wm-tag-input/wm-tag-input.css +21 -17
- package/dist/collection/components/wm-tag-input/wm-tag-input.js +1302 -1295
- package/dist/collection/components/wm-timepicker/wm-timepicker.js +605 -605
- package/dist/collection/components/wm-toggletip/wm-toggletip.js +243 -243
- package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +772 -772
- package/dist/collection/components/wm-uploader/wm-uploader.js +964 -964
- package/dist/collection/components/wm-wrapper/wm-wrapper.js +28 -28
- package/dist/collection/dev/scripts.js +20 -20
- package/dist/collection/global/__mocks__/functions.js +6 -6
- package/dist/collection/global/functions.js +541 -541
- package/dist/collection/global/global.js +79 -79
- package/dist/collection/global/interfaces.js +49 -49
- package/dist/collection/global/intl.js +132 -132
- package/dist/collection/global/services/__mocks__/http-service.js +130 -130
- package/dist/collection/global/services/http-service.js +50 -50
- package/dist/collection/lang/lang.js +5 -5
- package/dist/collection/lang/missing.js +43 -43
- package/dist/collection/lang/piglatin.js +93 -93
- package/dist/esm/{chartFunctions-dd9eb9ac.js → chartFunctions-0b53b301.js} +596 -596
- package/dist/esm/{functions-f32b1ca4.js → functions-cbb19d50.js} +498 -498
- package/dist/esm/{global-7ee0d78d.js → global-2c7bbfe6.js} +72 -72
- package/dist/esm/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +49 -49
- package/dist/esm/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +29 -29
- package/dist/esm/{intl-d101e1a9.js → intl-ffbca53d.js} +131 -131
- package/dist/esm/loader.js +1 -1
- package/dist/esm/polyfills/core-js.js +0 -0
- package/dist/esm/polyfills/dom.js +0 -0
- package/dist/esm/polyfills/es5-html-element.js +0 -0
- package/dist/esm/polyfills/index.js +0 -0
- package/dist/esm/polyfills/system.js +0 -0
- package/dist/esm/priv-chart-popover.entry.js +91 -91
- package/dist/esm/priv-datepicker.entry.js +657 -657
- package/dist/esm/priv-navigator-button.entry.js +19 -19
- package/dist/esm/priv-navigator-item.entry.js +23 -23
- package/dist/esm/ripple.js +1 -1
- package/dist/esm/wm-action-menu_2.entry.js +334 -334
- package/dist/esm/wm-button.entry.js +189 -189
- package/dist/esm/wm-chart-slice.entry.js +18 -18
- package/dist/esm/wm-chart.entry.js +183 -183
- package/dist/esm/wm-datepicker.entry.js +263 -263
- package/dist/esm/wm-file-list.entry.js +35 -35
- package/dist/esm/wm-file.entry.js +181 -181
- package/dist/esm/wm-input.entry.js +136 -136
- package/dist/esm/wm-modal-footer.entry.js +33 -33
- package/dist/esm/wm-modal-header.entry.js +32 -32
- package/dist/esm/wm-modal.entry.js +152 -152
- package/dist/esm/wm-navigation_3.entry.js +186 -186
- package/dist/esm/wm-navigator.entry.js +264 -264
- package/dist/esm/wm-network-uploader.entry.js +465 -465
- package/dist/esm/wm-option_2.entry.js +768 -768
- package/dist/esm/wm-pagination.entry.js +179 -179
- package/dist/esm/wm-progress-indicator_3.entry.js +155 -155
- package/dist/esm/wm-search.entry.js +184 -184
- package/dist/esm/wm-snackbar.entry.js +134 -134
- package/dist/esm/wm-tab-item_3.entry.js +264 -264
- package/dist/esm/wm-tag-input-row.entry.js +14 -14
- package/dist/esm/wm-tag-input.entry.js +948 -941
- package/dist/esm/wm-timepicker.entry.js +385 -385
- package/dist/esm/wm-toggletip.entry.js +120 -120
- package/dist/esm/wm-uploader.entry.js +441 -441
- package/dist/esm/wm-wrapper.entry.js +12 -12
- package/dist/esm-es5/{chartFunctions-dd9eb9ac.js → chartFunctions-0b53b301.js} +1 -1
- package/dist/esm-es5/{global-7ee0d78d.js → global-2c7bbfe6.js} +1 -1
- package/dist/esm-es5/{intl-d101e1a9.js → intl-ffbca53d.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
- package/dist/esm-es5/priv-datepicker.entry.js +1 -1
- package/dist/esm-es5/ripple.js +1 -1
- package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
- package/dist/esm-es5/wm-button.entry.js +1 -1
- package/dist/esm-es5/wm-chart.entry.js +1 -1
- package/dist/esm-es5/wm-datepicker.entry.js +1 -1
- package/dist/esm-es5/wm-file.entry.js +1 -1
- package/dist/esm-es5/wm-input.entry.js +1 -1
- package/dist/esm-es5/wm-modal-header.entry.js +1 -1
- package/dist/esm-es5/wm-modal.entry.js +1 -1
- package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
- package/dist/esm-es5/wm-navigator.entry.js +1 -1
- package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
- package/dist/esm-es5/wm-option_2.entry.js +1 -1
- package/dist/esm-es5/wm-pagination.entry.js +1 -1
- package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
- package/dist/esm-es5/wm-search.entry.js +1 -1
- package/dist/esm-es5/wm-snackbar.entry.js +1 -1
- package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
- package/dist/esm-es5/wm-tag-input.entry.js +1 -1
- package/dist/esm-es5/wm-timepicker.entry.js +1 -1
- package/dist/esm-es5/wm-toggletip.entry.js +1 -1
- package/dist/esm-es5/wm-uploader.entry.js +1 -1
- package/dist/ripple/{p-725c14b0.system.entry.js → p-00022d17.system.entry.js} +1 -1
- package/dist/ripple/{p-b97de06f.system.entry.js → p-0450cdbe.system.entry.js} +1 -1
- package/dist/ripple/{p-bfe1062d.entry.js → p-05a17658.entry.js} +1 -1
- package/dist/ripple/p-0b6a7b77.system.entry.js +1 -0
- package/dist/ripple/{p-b6bf2866.entry.js → p-0e789be7.entry.js} +1 -1
- package/dist/ripple/{p-b617b64f.system.entry.js → p-15779c22.system.entry.js} +1 -1
- package/dist/ripple/{p-04faca6b.entry.js → p-17487f1b.entry.js} +1 -1
- package/dist/ripple/{p-122da0d1.system.entry.js → p-197c83de.system.entry.js} +1 -1
- package/dist/ripple/{p-11d98b00.system.entry.js → p-1bad4efe.system.entry.js} +1 -1
- package/dist/ripple/{p-252ba295.system.entry.js → p-2ff923ee.system.entry.js} +1 -1
- package/dist/ripple/{p-a6afe65a.entry.js → p-31712996.entry.js} +1 -1
- package/dist/ripple/{p-f69276d5.system.entry.js → p-31c18f5e.system.entry.js} +1 -1
- package/dist/ripple/{p-df28f438.system.js → p-32944b70.system.js} +1 -1
- package/dist/ripple/{p-73d277ba.system.entry.js → p-36effc40.system.entry.js} +1 -1
- package/dist/ripple/{p-0be94e77.entry.js → p-3807bcae.entry.js} +1 -1
- package/dist/ripple/{p-88d17f6b.system.entry.js → p-3aa48fad.system.entry.js} +1 -1
- package/dist/ripple/{p-82a97531.system.entry.js → p-419f133c.system.entry.js} +1 -1
- package/dist/ripple/{p-13ec8ac0.entry.js → p-438a1e8e.entry.js} +1 -1
- package/dist/ripple/{p-19689aac.js → p-4698b365.js} +1 -1
- package/dist/ripple/{p-f8d45250.system.entry.js → p-54086f7b.system.entry.js} +1 -1
- package/dist/ripple/{p-47f53321.entry.js → p-5497694c.entry.js} +1 -1
- package/dist/ripple/{p-fb370a69.entry.js → p-58fbf116.entry.js} +1 -1
- package/dist/ripple/{p-14dfc4e7.entry.js → p-65a741c1.entry.js} +1 -1
- package/dist/ripple/{p-ac63b3aa.entry.js → p-7e74274b.entry.js} +1 -1
- package/dist/ripple/{p-81752607.system.js → p-81ad3fe5.system.js} +1 -1
- package/dist/ripple/{p-f3e42327.system.entry.js → p-89db9c27.system.entry.js} +1 -1
- package/dist/ripple/{p-4753fbfc.system.entry.js → p-947f01e2.system.entry.js} +1 -1
- package/dist/ripple/{p-3aee75e7.entry.js → p-978429f9.entry.js} +1 -1
- package/dist/ripple/{p-2c8fd902.system.entry.js → p-97d5b4bd.system.entry.js} +1 -1
- package/dist/ripple/{p-67c0ad56.system.entry.js → p-9d6a574b.system.entry.js} +1 -1
- package/dist/ripple/{p-c545fe1c.entry.js → p-a3ba2bdd.entry.js} +1 -1
- package/dist/ripple/{p-c7567fd3.entry.js → p-a42f5231.entry.js} +1 -1
- package/dist/ripple/p-a51aec3f.entry.js +1 -0
- package/dist/ripple/{p-b831988d.entry.js → p-a5b86b47.entry.js} +1 -1
- package/dist/ripple/{p-4cadf985.entry.js → p-a90b8a08.entry.js} +1 -1
- package/dist/ripple/{p-d9b66dca.system.entry.js → p-aabe172c.system.entry.js} +1 -1
- package/dist/ripple/{p-69121ad1.entry.js → p-ab2a0aee.entry.js} +1 -1
- package/dist/ripple/{p-5fb0aa58.js → p-aed93a25.js} +1 -1
- package/dist/ripple/{p-f39ee84b.entry.js → p-b2d75e7d.entry.js} +1 -1
- package/dist/ripple/{p-19b897ce.js → p-b410c675.js} +1 -1
- package/dist/ripple/{p-4809e419.system.entry.js → p-b6f558f7.system.entry.js} +1 -1
- package/dist/ripple/p-bb048fe7.entry.js +1 -0
- package/dist/ripple/{p-2805fed6.system.entry.js → p-bced37cf.system.entry.js} +1 -1
- package/dist/ripple/{p-c9a1834d.system.entry.js → p-bd0c1e7c.system.entry.js} +1 -1
- package/dist/ripple/{p-89f1991f.entry.js → p-c0e183f4.entry.js} +1 -1
- package/dist/ripple/{p-7eca18bd.system.entry.js → p-c27eda00.system.entry.js} +1 -1
- package/dist/ripple/{p-894bc6c4.system.entry.js → p-cd3e0b8b.system.entry.js} +1 -1
- package/dist/ripple/{p-f6b2e4ac.system.js → p-d1af63b5.system.js} +1 -1
- package/dist/ripple/{p-30572b71.system.js → p-d41ba263.system.js} +1 -1
- package/dist/ripple/{p-db7e6e89.entry.js → p-d8993992.entry.js} +1 -1
- package/dist/ripple/{p-f13b239c.system.entry.js → p-da525ed1.system.entry.js} +1 -1
- package/dist/ripple/{p-33af1eee.entry.js → p-e6f46289.entry.js} +1 -1
- package/dist/ripple/{p-e928f350.entry.js → p-fc967b2c.entry.js} +1 -1
- package/dist/ripple/ripple.esm.js +1 -1
- package/dist/ripple/ripple.js +1 -1
- package/dist/types/components/charts/chartFunctions.d.ts +37 -37
- package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +27 -27
- package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +11 -11
- package/dist/types/components/charts/wm-chart/wm-chart.d.ts +47 -47
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +29 -29
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +20 -20
- package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -10
- package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +49 -49
- package/dist/types/components/wm-button/wm-button.d.ts +44 -44
- package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -80
- package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +42 -42
- package/dist/types/components/wm-file/wm-file.d.ts +40 -40
- package/dist/types/components/wm-file-list/wm-file-list.d.ts +16 -16
- package/dist/types/components/wm-input/wm-input.d.ts +57 -57
- package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
- package/dist/types/components/wm-modal/wm-modal-footer.d.ts +14 -14
- package/dist/types/components/wm-modal/wm-modal-header.d.ts +10 -10
- package/dist/types/components/wm-modal/wm-modal.d.ts +40 -40
- package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +16 -16
- package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -13
- package/dist/types/components/wm-navigation/wm-navigation.d.ts +26 -26
- package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
- package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
- package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
- package/dist/types/components/wm-option/wm-option.d.ts +34 -34
- package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
- package/dist/types/components/wm-search/wm-search.d.ts +77 -77
- package/dist/types/components/wm-select/wm-select.d.ts +101 -101
- package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +30 -30
- package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +37 -37
- package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +52 -52
- package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
- package/dist/types/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.d.ts +11 -11
- package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +137 -136
- package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +62 -62
- package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +25 -25
- package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -85
- package/dist/types/components/wm-uploader/wm-uploader.d.ts +99 -99
- package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
- package/dist/types/components.d.ts +27 -27
- package/dist/types/global/__mocks__/functions.d.ts +6 -6
- package/dist/types/global/functions.d.ts +40 -40
- package/dist/types/global/global.d.ts +1 -1
- package/dist/types/global/interfaces.d.ts +74 -74
- package/dist/types/global/intl.d.ts +29 -29
- package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
- package/dist/types/global/services/http-service.d.ts +4 -4
- package/dist/types/lang/lang.d.ts +5 -5
- package/package.json +46 -46
- package/dist/ripple/p-37de8e2f.entry.js +0 -1
- package/dist/ripple/p-b378e064.system.entry.js +0 -1
- package/dist/ripple/p-d2037549.entry.js +0 -1
- /package/dist/esm-es5/{functions-f32b1ca4.js → functions-cbb19d50.js} +0 -0
- /package/dist/esm-es5/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +0 -0
- /package/dist/esm-es5/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +0 -0
- /package/dist/ripple/{p-888bec42.js → p-43f1298b.js} +0 -0
- /package/dist/ripple/{p-cfa80f5b.js → p-91480a89.js} +0 -0
- /package/dist/ripple/{p-313b6073.system.js → p-9d02957d.system.js} +0 -0
- /package/dist/ripple/{p-9eb5a71e.system.js → p-b267e710.system.js} +0 -0
- /package/dist/ripple/{p-08b7ec08.system.js → p-f5df5903.system.js} +0 -0
- /package/dist/ripple/{p-a6d6eae7.js → p-fd8070fb.js} +0 -0
|
@@ -1,130 +1,130 @@
|
|
|
1
|
-
const state = [
|
|
2
|
-
{
|
|
3
|
-
uuid: "d57a8104-a07e-4e58-97f6-705d55b15845",
|
|
4
|
-
uploader_member_uuid: "fd947ce1-ca75-4b88-ba47-4576104cf845",
|
|
5
|
-
updated_at: "2018-04-16T10:31:48.740000Z",
|
|
6
|
-
organization_uuid: "d57a8104-a07e-4e58-97f6-705d55b15845",
|
|
7
|
-
mime_type: "application/pdf",
|
|
8
|
-
institution_uuid: "c1dac227-b71c-44ae-a4be-eb20929c6e99",
|
|
9
|
-
inserted_at: "2018-09-17T09:33:45.550000Z",
|
|
10
|
-
file_path: "bogusurl.dev",
|
|
11
|
-
file_name: "test.pdf",
|
|
12
|
-
course_uuid: null,
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
uuid: "410ee9ed-af53-4f52-90b1-bf3f054ad86b",
|
|
16
|
-
uploader_member_uuid: "fd947ce1-ca75-4b88-ba47-4576104cf845",
|
|
17
|
-
updated_at: "2019-11-26T20:39:38.990000Z",
|
|
18
|
-
organization_uuid: "8d242cdf-4261-4003-9a91-45575eb7d44e",
|
|
19
|
-
mime_type: "application/pdf",
|
|
20
|
-
institution_uuid: "c1dac227-b71c-44ae-a4be-eb20929c6e99",
|
|
21
|
-
inserted_at: "2019-11-26T20:39:38.990000Z",
|
|
22
|
-
file_path: "anotherbogusurl.dev",
|
|
23
|
-
file_name: "brochure.pdf",
|
|
24
|
-
course_uuid: null,
|
|
25
|
-
},
|
|
26
|
-
];
|
|
27
|
-
const firstUploadResponseText = {
|
|
28
|
-
url: "aws-path.url",
|
|
29
|
-
updated_at: "2019-07-03T14:11:08.000Z",
|
|
30
|
-
path: "",
|
|
31
|
-
guid: "12345",
|
|
32
|
-
};
|
|
33
|
-
const secondUploadResponseText = {
|
|
34
|
-
url: "aws-path.url",
|
|
35
|
-
updated_at: "2019-07-02T10:14:29.000Z",
|
|
36
|
-
path: "",
|
|
37
|
-
guid: "67890",
|
|
38
|
-
};
|
|
39
|
-
const navigatorResponse = {
|
|
40
|
-
connection_name: "watermarkinsights-idp-qa",
|
|
41
|
-
current_product_id: "dm",
|
|
42
|
-
email: "user@email.net",
|
|
43
|
-
logout_url: "localhost:3333/logout",
|
|
44
|
-
products: [
|
|
45
|
-
{
|
|
46
|
-
description: "Some Aqua description",
|
|
47
|
-
iconUrl: "https://cdn.watermarkinsights.com/images/login/aqua.svg",
|
|
48
|
-
id: "aqua",
|
|
49
|
-
linkUrl: "https://aqua.taskstream.com/sso/login",
|
|
50
|
-
name: "Aqua",
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
description: "Some Digital Measures description",
|
|
54
|
-
iconUrl: "https://cdn.watermarkinsights.com/images/login/digitalmeasures.svg",
|
|
55
|
-
id: "dm",
|
|
56
|
-
linkUrl: "https://www.digitalmeasures.com/login/sso/authenticate",
|
|
57
|
-
name: "Digital Measures",
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
description: "Some Planning description",
|
|
61
|
-
iconUrl: "https://cdn.watermarkinsights.com/images/login/planningselfstudy.svg",
|
|
62
|
-
id: "planning",
|
|
63
|
-
linkUrl: "https://planning.watermarkinsights.com/login/sso",
|
|
64
|
-
name: "Planning",
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
description: "Checking that the component handles anything throwed at it",
|
|
68
|
-
iconUrl: "https://cdn.watermarkinsights.com/images/login/livetext.svg",
|
|
69
|
-
id: "something_bonkers",
|
|
70
|
-
linkUrl: "https://planning.watermarkinsights.com/login/sso",
|
|
71
|
-
name: "Bonkers",
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
description: "c1 = livetext",
|
|
75
|
-
iconUrl: "https://cdn.watermarkinsights.com/images/login/livetext.svg",
|
|
76
|
-
id: "c1",
|
|
77
|
-
linkUrl: "https://livetext.fakeurl/login/sso",
|
|
78
|
-
name: "Livetext",
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
description: "something with an id containing admin",
|
|
82
|
-
iconUrl: "not.important",
|
|
83
|
-
id: "banana_admin_shoe",
|
|
84
|
-
linkUrl: "irrelevant",
|
|
85
|
-
name: "Platform Admin",
|
|
86
|
-
},
|
|
87
|
-
],
|
|
88
|
-
};
|
|
89
|
-
const responses = {
|
|
90
|
-
"get-path.url": state,
|
|
91
|
-
"request-upload-path.url0": firstUploadResponseText,
|
|
92
|
-
"request-upload-path.url1": secondUploadResponseText,
|
|
93
|
-
"/platform/navigator/userinfo": navigatorResponse,
|
|
94
|
-
};
|
|
95
|
-
export const getRequest = async (url) => {
|
|
96
|
-
return Promise.resolve(responses[url]);
|
|
97
|
-
};
|
|
98
|
-
export const postRequest = async (url, payload) => {
|
|
99
|
-
switch (url) {
|
|
100
|
-
case "upload-path.url":
|
|
101
|
-
state.push({
|
|
102
|
-
uuid: payload.document_uuid,
|
|
103
|
-
uploader_member_uuid: "fd947ce1-ca75-4b88-ba47-4576104cf845",
|
|
104
|
-
updated_at: "2019-12-10T20:48:10.138Z",
|
|
105
|
-
organization_uuid: payload.organization_uuid,
|
|
106
|
-
mime_type: payload.mime_type,
|
|
107
|
-
institution_uuid: "c1dac227-b71c-44ae-a4be-eb20929c6e99",
|
|
108
|
-
inserted_at: "2019-12-10T20:48:10.138Z",
|
|
109
|
-
file_path: payload.file_path,
|
|
110
|
-
file_name: payload.file_name,
|
|
111
|
-
course_uuid: null,
|
|
112
|
-
});
|
|
113
|
-
return Promise.resolve();
|
|
114
|
-
case "request-download-path.url":
|
|
115
|
-
return Promise.resolve({ url: "aws-download-path.url" });
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
export const deleteRequest = async (url) => {
|
|
119
|
-
const uuid = url.split("/").pop();
|
|
120
|
-
// console.log("uuid: ", uuid);
|
|
121
|
-
const index = state.findIndex((i) => i.uuid === uuid);
|
|
122
|
-
// console.log("index: ", index);
|
|
123
|
-
state.splice(index, 1);
|
|
124
|
-
// console.log("state from DELETE: ", state, Date.now());
|
|
125
|
-
// return new Promise(resolve => setTimeout(() => resolve(), 300));
|
|
126
|
-
return Promise.resolve();
|
|
127
|
-
};
|
|
128
|
-
export const putRequest = (_url, _file) => {
|
|
129
|
-
return Promise.resolve();
|
|
130
|
-
};
|
|
1
|
+
const state = [
|
|
2
|
+
{
|
|
3
|
+
uuid: "d57a8104-a07e-4e58-97f6-705d55b15845",
|
|
4
|
+
uploader_member_uuid: "fd947ce1-ca75-4b88-ba47-4576104cf845",
|
|
5
|
+
updated_at: "2018-04-16T10:31:48.740000Z",
|
|
6
|
+
organization_uuid: "d57a8104-a07e-4e58-97f6-705d55b15845",
|
|
7
|
+
mime_type: "application/pdf",
|
|
8
|
+
institution_uuid: "c1dac227-b71c-44ae-a4be-eb20929c6e99",
|
|
9
|
+
inserted_at: "2018-09-17T09:33:45.550000Z",
|
|
10
|
+
file_path: "bogusurl.dev",
|
|
11
|
+
file_name: "test.pdf",
|
|
12
|
+
course_uuid: null,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
uuid: "410ee9ed-af53-4f52-90b1-bf3f054ad86b",
|
|
16
|
+
uploader_member_uuid: "fd947ce1-ca75-4b88-ba47-4576104cf845",
|
|
17
|
+
updated_at: "2019-11-26T20:39:38.990000Z",
|
|
18
|
+
organization_uuid: "8d242cdf-4261-4003-9a91-45575eb7d44e",
|
|
19
|
+
mime_type: "application/pdf",
|
|
20
|
+
institution_uuid: "c1dac227-b71c-44ae-a4be-eb20929c6e99",
|
|
21
|
+
inserted_at: "2019-11-26T20:39:38.990000Z",
|
|
22
|
+
file_path: "anotherbogusurl.dev",
|
|
23
|
+
file_name: "brochure.pdf",
|
|
24
|
+
course_uuid: null,
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
const firstUploadResponseText = {
|
|
28
|
+
url: "aws-path.url",
|
|
29
|
+
updated_at: "2019-07-03T14:11:08.000Z",
|
|
30
|
+
path: "",
|
|
31
|
+
guid: "12345",
|
|
32
|
+
};
|
|
33
|
+
const secondUploadResponseText = {
|
|
34
|
+
url: "aws-path.url",
|
|
35
|
+
updated_at: "2019-07-02T10:14:29.000Z",
|
|
36
|
+
path: "",
|
|
37
|
+
guid: "67890",
|
|
38
|
+
};
|
|
39
|
+
const navigatorResponse = {
|
|
40
|
+
connection_name: "watermarkinsights-idp-qa",
|
|
41
|
+
current_product_id: "dm",
|
|
42
|
+
email: "user@email.net",
|
|
43
|
+
logout_url: "localhost:3333/logout",
|
|
44
|
+
products: [
|
|
45
|
+
{
|
|
46
|
+
description: "Some Aqua description",
|
|
47
|
+
iconUrl: "https://cdn.watermarkinsights.com/images/login/aqua.svg",
|
|
48
|
+
id: "aqua",
|
|
49
|
+
linkUrl: "https://aqua.taskstream.com/sso/login",
|
|
50
|
+
name: "Aqua",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
description: "Some Digital Measures description",
|
|
54
|
+
iconUrl: "https://cdn.watermarkinsights.com/images/login/digitalmeasures.svg",
|
|
55
|
+
id: "dm",
|
|
56
|
+
linkUrl: "https://www.digitalmeasures.com/login/sso/authenticate",
|
|
57
|
+
name: "Digital Measures",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
description: "Some Planning description",
|
|
61
|
+
iconUrl: "https://cdn.watermarkinsights.com/images/login/planningselfstudy.svg",
|
|
62
|
+
id: "planning",
|
|
63
|
+
linkUrl: "https://planning.watermarkinsights.com/login/sso",
|
|
64
|
+
name: "Planning",
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
description: "Checking that the component handles anything throwed at it",
|
|
68
|
+
iconUrl: "https://cdn.watermarkinsights.com/images/login/livetext.svg",
|
|
69
|
+
id: "something_bonkers",
|
|
70
|
+
linkUrl: "https://planning.watermarkinsights.com/login/sso",
|
|
71
|
+
name: "Bonkers",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
description: "c1 = livetext",
|
|
75
|
+
iconUrl: "https://cdn.watermarkinsights.com/images/login/livetext.svg",
|
|
76
|
+
id: "c1",
|
|
77
|
+
linkUrl: "https://livetext.fakeurl/login/sso",
|
|
78
|
+
name: "Livetext",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
description: "something with an id containing admin",
|
|
82
|
+
iconUrl: "not.important",
|
|
83
|
+
id: "banana_admin_shoe",
|
|
84
|
+
linkUrl: "irrelevant",
|
|
85
|
+
name: "Platform Admin",
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
};
|
|
89
|
+
const responses = {
|
|
90
|
+
"get-path.url": state,
|
|
91
|
+
"request-upload-path.url0": firstUploadResponseText,
|
|
92
|
+
"request-upload-path.url1": secondUploadResponseText,
|
|
93
|
+
"/platform/navigator/userinfo": navigatorResponse,
|
|
94
|
+
};
|
|
95
|
+
export const getRequest = async (url) => {
|
|
96
|
+
return Promise.resolve(responses[url]);
|
|
97
|
+
};
|
|
98
|
+
export const postRequest = async (url, payload) => {
|
|
99
|
+
switch (url) {
|
|
100
|
+
case "upload-path.url":
|
|
101
|
+
state.push({
|
|
102
|
+
uuid: payload.document_uuid,
|
|
103
|
+
uploader_member_uuid: "fd947ce1-ca75-4b88-ba47-4576104cf845",
|
|
104
|
+
updated_at: "2019-12-10T20:48:10.138Z",
|
|
105
|
+
organization_uuid: payload.organization_uuid,
|
|
106
|
+
mime_type: payload.mime_type,
|
|
107
|
+
institution_uuid: "c1dac227-b71c-44ae-a4be-eb20929c6e99",
|
|
108
|
+
inserted_at: "2019-12-10T20:48:10.138Z",
|
|
109
|
+
file_path: payload.file_path,
|
|
110
|
+
file_name: payload.file_name,
|
|
111
|
+
course_uuid: null,
|
|
112
|
+
});
|
|
113
|
+
return Promise.resolve();
|
|
114
|
+
case "request-download-path.url":
|
|
115
|
+
return Promise.resolve({ url: "aws-download-path.url" });
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
export const deleteRequest = async (url) => {
|
|
119
|
+
const uuid = url.split("/").pop();
|
|
120
|
+
// console.log("uuid: ", uuid);
|
|
121
|
+
const index = state.findIndex((i) => i.uuid === uuid);
|
|
122
|
+
// console.log("index: ", index);
|
|
123
|
+
state.splice(index, 1);
|
|
124
|
+
// console.log("state from DELETE: ", state, Date.now());
|
|
125
|
+
// return new Promise(resolve => setTimeout(() => resolve(), 300));
|
|
126
|
+
return Promise.resolve();
|
|
127
|
+
};
|
|
128
|
+
export const putRequest = (_url, _file) => {
|
|
129
|
+
return Promise.resolve();
|
|
130
|
+
};
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
export const getRequest = async (url) => {
|
|
2
|
-
const response = await fetch(url);
|
|
3
|
-
if (!!response && !!response.ok) {
|
|
4
|
-
return await response.json();
|
|
5
|
-
}
|
|
6
|
-
else {
|
|
7
|
-
throw new Error(response.statusText);
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
export const postRequest = async (url, payload) => {
|
|
11
|
-
const response = await fetch(url, {
|
|
12
|
-
method: "POST",
|
|
13
|
-
headers: { "Content-Type": "application/json; charset=utf-8" },
|
|
14
|
-
body: JSON.stringify(payload),
|
|
15
|
-
});
|
|
16
|
-
if (!!response && !!response.ok) {
|
|
17
|
-
return await response.json();
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
throw new Error(response.statusText);
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
export const deleteRequest = async (url) => {
|
|
24
|
-
const response = await fetch(url, { method: "DELETE" });
|
|
25
|
-
if (!!response && !!response.ok) {
|
|
26
|
-
return await response.json();
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
throw new Error(response.statusText);
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
export const putRequest = (url, file, onProgress) => {
|
|
33
|
-
return new Promise((resolve, reject) => {
|
|
34
|
-
// there's no way to track progress with the fetch API, so using XHR
|
|
35
|
-
const req = new XMLHttpRequest();
|
|
36
|
-
req.upload.addEventListener("progress", (ev) => onProgress(ev));
|
|
37
|
-
req.addEventListener("readystatechange", function () {
|
|
38
|
-
if (this.readyState === 4 && this.status === 200) {
|
|
39
|
-
resolve(this);
|
|
40
|
-
}
|
|
41
|
-
else if (this.readyState === 4 && this.status !== 200) {
|
|
42
|
-
reject();
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
req.onerror = () => reject();
|
|
46
|
-
req.open("PUT", url, true);
|
|
47
|
-
req.setRequestHeader("Content-Disposition", `attachment;filename="${file.name}"`);
|
|
48
|
-
req.send(file);
|
|
49
|
-
});
|
|
50
|
-
};
|
|
1
|
+
export const getRequest = async (url) => {
|
|
2
|
+
const response = await fetch(url);
|
|
3
|
+
if (!!response && !!response.ok) {
|
|
4
|
+
return await response.json();
|
|
5
|
+
}
|
|
6
|
+
else {
|
|
7
|
+
throw new Error(response.statusText);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
export const postRequest = async (url, payload) => {
|
|
11
|
+
const response = await fetch(url, {
|
|
12
|
+
method: "POST",
|
|
13
|
+
headers: { "Content-Type": "application/json; charset=utf-8" },
|
|
14
|
+
body: JSON.stringify(payload),
|
|
15
|
+
});
|
|
16
|
+
if (!!response && !!response.ok) {
|
|
17
|
+
return await response.json();
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
throw new Error(response.statusText);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
export const deleteRequest = async (url) => {
|
|
24
|
+
const response = await fetch(url, { method: "DELETE" });
|
|
25
|
+
if (!!response && !!response.ok) {
|
|
26
|
+
return await response.json();
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw new Error(response.statusText);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
export const putRequest = (url, file, onProgress) => {
|
|
33
|
+
return new Promise((resolve, reject) => {
|
|
34
|
+
// there's no way to track progress with the fetch API, so using XHR
|
|
35
|
+
const req = new XMLHttpRequest();
|
|
36
|
+
req.upload.addEventListener("progress", (ev) => onProgress(ev));
|
|
37
|
+
req.addEventListener("readystatechange", function () {
|
|
38
|
+
if (this.readyState === 4 && this.status === 200) {
|
|
39
|
+
resolve(this);
|
|
40
|
+
}
|
|
41
|
+
else if (this.readyState === 4 && this.status !== 200) {
|
|
42
|
+
reject();
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
req.onerror = () => reject();
|
|
46
|
+
req.open("PUT", url, true);
|
|
47
|
+
req.setRequestHeader("Content-Disposition", `attachment;filename="${file.name}"`);
|
|
48
|
+
req.send(file);
|
|
49
|
+
});
|
|
50
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import en from "./compiled-lang/en.json";
|
|
2
|
-
import fr from "./compiled-lang/fr.json";
|
|
3
|
-
import es from "./compiled-lang/es.json";
|
|
4
|
-
import pig from "./compiled-lang/pig.json";
|
|
5
|
-
export { en, fr, es, pig };
|
|
1
|
+
import en from "./compiled-lang/en.json";
|
|
2
|
+
import fr from "./compiled-lang/fr.json";
|
|
3
|
+
import es from "./compiled-lang/es.json";
|
|
4
|
+
import pig from "./compiled-lang/pig.json";
|
|
5
|
+
export { en, fr, es, pig };
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
/* This script is useful when we translate internally, so we know which keys to translate.
|
|
2
|
-
* Currently Martin Maugeais translates to French and Kristian Manrique to Spanish.
|
|
3
|
-
* This script should be run with `npm run missing`. It may fail otherwise, as fs paths are relative to project root.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
const fs = require("fs");
|
|
7
|
-
const en = require("./en.json");
|
|
8
|
-
const fr = require("./fr.json");
|
|
9
|
-
const es = require("./es.json");
|
|
10
|
-
|
|
11
|
-
const keys = Object.keys(en);
|
|
12
|
-
|
|
13
|
-
let missingFR = {};
|
|
14
|
-
let missingES = {};
|
|
15
|
-
|
|
16
|
-
keys.map((key) => {
|
|
17
|
-
if (!fr[key]) {
|
|
18
|
-
missingFR[key] = en[key];
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
if (!es[key]) {
|
|
22
|
-
missingES[key] = en[key];
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
const dataFR = JSON.stringify(missingFR, null, 2);
|
|
27
|
-
const dataES = JSON.stringify(missingES, null, 2);
|
|
28
|
-
|
|
29
|
-
const totalMissingFR = Object.entries(missingFR).length;
|
|
30
|
-
if (totalMissingFR > 0) {
|
|
31
|
-
fs.writeFile("src/lang/missingTranslationsFR.json", dataFR, (err) => {
|
|
32
|
-
!!err && console.log(err);
|
|
33
|
-
});
|
|
34
|
-
console.log(`${totalMissingFR} french translations missing. See src/lang/missingTranslationsFR.json`);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const totalMissingES = Object.entries(missingES).length;
|
|
38
|
-
if (totalMissingES > 0) {
|
|
39
|
-
fs.writeFile("src/lang/missingTranslationsES.json", dataES, (err) => {
|
|
40
|
-
!!err && console.log(err);
|
|
41
|
-
});
|
|
42
|
-
console.log(`${totalMissingES} spanish translations missing. See src/lang/missingTranslationsES.json`);
|
|
43
|
-
}
|
|
1
|
+
/* This script is useful when we translate internally, so we know which keys to translate.
|
|
2
|
+
* Currently Martin Maugeais translates to French and Kristian Manrique to Spanish.
|
|
3
|
+
* This script should be run with `npm run missing`. It may fail otherwise, as fs paths are relative to project root.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const fs = require("fs");
|
|
7
|
+
const en = require("./en.json");
|
|
8
|
+
const fr = require("./fr.json");
|
|
9
|
+
const es = require("./es.json");
|
|
10
|
+
|
|
11
|
+
const keys = Object.keys(en);
|
|
12
|
+
|
|
13
|
+
let missingFR = {};
|
|
14
|
+
let missingES = {};
|
|
15
|
+
|
|
16
|
+
keys.map((key) => {
|
|
17
|
+
if (!fr[key]) {
|
|
18
|
+
missingFR[key] = en[key];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (!es[key]) {
|
|
22
|
+
missingES[key] = en[key];
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const dataFR = JSON.stringify(missingFR, null, 2);
|
|
27
|
+
const dataES = JSON.stringify(missingES, null, 2);
|
|
28
|
+
|
|
29
|
+
const totalMissingFR = Object.entries(missingFR).length;
|
|
30
|
+
if (totalMissingFR > 0) {
|
|
31
|
+
fs.writeFile("src/lang/missingTranslationsFR.json", dataFR, (err) => {
|
|
32
|
+
!!err && console.log(err);
|
|
33
|
+
});
|
|
34
|
+
console.log(`${totalMissingFR} french translations missing. See src/lang/missingTranslationsFR.json`);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const totalMissingES = Object.entries(missingES).length;
|
|
38
|
+
if (totalMissingES > 0) {
|
|
39
|
+
fs.writeFile("src/lang/missingTranslationsES.json", dataES, (err) => {
|
|
40
|
+
!!err && console.log(err);
|
|
41
|
+
});
|
|
42
|
+
console.log(`${totalMissingES} spanish translations missing. See src/lang/missingTranslationsES.json`);
|
|
43
|
+
}
|
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
const fs = require("fs");
|
|
2
|
-
const en = require("./en.json");
|
|
3
|
-
|
|
4
|
-
const pig = {};
|
|
5
|
-
Object.keys(en).map((k) => {
|
|
6
|
-
let string = en[k].defaultMessage;
|
|
7
|
-
const interpStart = string.indexOf("{");
|
|
8
|
-
const interpEnd = string.lastIndexOf("}") + 1;
|
|
9
|
-
|
|
10
|
-
// if there is an interpolation pattern
|
|
11
|
-
if (interpStart >= 0 && interpEnd > 2) {
|
|
12
|
-
let translInterp = translateSentence(string.slice(0, interpStart));
|
|
13
|
-
|
|
14
|
-
const interp = string.slice(interpStart, interpEnd);
|
|
15
|
-
// what's inside the braces shouldn't be translated
|
|
16
|
-
// unless it's in nested translated, and so on
|
|
17
|
-
// we can set flags to cut the string into pieces
|
|
18
|
-
// which should or should not be translated
|
|
19
|
-
const flags = [];
|
|
20
|
-
for (x = 0; x < interp.length; x++) {
|
|
21
|
-
if (interp[x] == "{") {
|
|
22
|
-
flags.push(x);
|
|
23
|
-
} else if (interp[x] == "}") {
|
|
24
|
-
flags.push(x);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
splits = flags.map((_, i) => {
|
|
29
|
-
if (i < flags.length) return interp.slice(flags[i], flags[i + 1]);
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
splits.map((split, i) => {
|
|
33
|
-
translInterp += i % 2 ? translateSentence(split) : split; // only translate even ones (the odd ones are params)
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
translInterp += translateSentence(string.slice(interpEnd, string.length));
|
|
37
|
-
|
|
38
|
-
const dm = { defaultMessage: translInterp };
|
|
39
|
-
pig[k] = dm;
|
|
40
|
-
} else {
|
|
41
|
-
const dm = { defaultMessage: translateSentence(string) };
|
|
42
|
-
pig[k] = dm;
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
data = JSON.stringify(pig, null, 2);
|
|
46
|
-
|
|
47
|
-
fs.writeFile("src/lang/pig.json", data, (err) => {
|
|
48
|
-
!!err && console.log(err);
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
function pigLatinize(word) {
|
|
52
|
-
const isVowel = (char) => ["a", "e", "i", "o", "u"].includes(char.toLowerCase());
|
|
53
|
-
const isLetter = (char) => RegExp(/^\p{L}/, "u").test(char);
|
|
54
|
-
|
|
55
|
-
const firstLetter = Array.from(word).reduce((l, char, i) => (isLetter(char) && l < 0 ? i : l), -1);
|
|
56
|
-
|
|
57
|
-
const lastLetter = Array.from(word).reduce((l, char, i) => (isLetter(char) ? i : l), -1);
|
|
58
|
-
|
|
59
|
-
if (firstLetter == -1 && lastLetter == -1) return word; // only special chars, don't translate
|
|
60
|
-
|
|
61
|
-
const specialKBefore = word.slice(0, firstLetter) || "";
|
|
62
|
-
const specialKAfter = word.slice(lastLetter + 1, word.length + 1) || "";
|
|
63
|
-
word = word.slice(firstLetter, lastLetter + 1) || "";
|
|
64
|
-
|
|
65
|
-
if (word) {
|
|
66
|
-
if (isVowel(word[0])) {
|
|
67
|
-
word += "yay";
|
|
68
|
-
} else {
|
|
69
|
-
const firstVowel = Array.from(word).reduce((firstV, char, i) => {
|
|
70
|
-
return isVowel(char) && firstV < 0 ? i : firstV;
|
|
71
|
-
}, -1);
|
|
72
|
-
if (word[0] == word[0].toUpperCase()) {
|
|
73
|
-
word =
|
|
74
|
-
word.substring(firstVowel, firstVowel + 1).toUpperCase() +
|
|
75
|
-
word.substring(firstVowel + 1, word.length) +
|
|
76
|
-
word.substring(0, firstVowel).toLowerCase() +
|
|
77
|
-
"ay";
|
|
78
|
-
} else {
|
|
79
|
-
word = word.substring(firstVowel, word.length) + word.substring(0, firstVowel) + "ay";
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return specialKBefore + word + specialKAfter;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
function translateSentence(string) {
|
|
87
|
-
let words = string.split(" ");
|
|
88
|
-
return words
|
|
89
|
-
.reduce((acc, word) => {
|
|
90
|
-
return acc + " " + pigLatinize(word);
|
|
91
|
-
}, "")
|
|
92
|
-
.substring(1); // rm leading space
|
|
93
|
-
}
|
|
1
|
+
const fs = require("fs");
|
|
2
|
+
const en = require("./en.json");
|
|
3
|
+
|
|
4
|
+
const pig = {};
|
|
5
|
+
Object.keys(en).map((k) => {
|
|
6
|
+
let string = en[k].defaultMessage;
|
|
7
|
+
const interpStart = string.indexOf("{");
|
|
8
|
+
const interpEnd = string.lastIndexOf("}") + 1;
|
|
9
|
+
|
|
10
|
+
// if there is an interpolation pattern
|
|
11
|
+
if (interpStart >= 0 && interpEnd > 2) {
|
|
12
|
+
let translInterp = translateSentence(string.slice(0, interpStart));
|
|
13
|
+
|
|
14
|
+
const interp = string.slice(interpStart, interpEnd);
|
|
15
|
+
// what's inside the braces shouldn't be translated
|
|
16
|
+
// unless it's in nested translated, and so on
|
|
17
|
+
// we can set flags to cut the string into pieces
|
|
18
|
+
// which should or should not be translated
|
|
19
|
+
const flags = [];
|
|
20
|
+
for (x = 0; x < interp.length; x++) {
|
|
21
|
+
if (interp[x] == "{") {
|
|
22
|
+
flags.push(x);
|
|
23
|
+
} else if (interp[x] == "}") {
|
|
24
|
+
flags.push(x);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
splits = flags.map((_, i) => {
|
|
29
|
+
if (i < flags.length) return interp.slice(flags[i], flags[i + 1]);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
splits.map((split, i) => {
|
|
33
|
+
translInterp += i % 2 ? translateSentence(split) : split; // only translate even ones (the odd ones are params)
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
translInterp += translateSentence(string.slice(interpEnd, string.length));
|
|
37
|
+
|
|
38
|
+
const dm = { defaultMessage: translInterp };
|
|
39
|
+
pig[k] = dm;
|
|
40
|
+
} else {
|
|
41
|
+
const dm = { defaultMessage: translateSentence(string) };
|
|
42
|
+
pig[k] = dm;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
data = JSON.stringify(pig, null, 2);
|
|
46
|
+
|
|
47
|
+
fs.writeFile("src/lang/pig.json", data, (err) => {
|
|
48
|
+
!!err && console.log(err);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
function pigLatinize(word) {
|
|
52
|
+
const isVowel = (char) => ["a", "e", "i", "o", "u"].includes(char.toLowerCase());
|
|
53
|
+
const isLetter = (char) => RegExp(/^\p{L}/, "u").test(char);
|
|
54
|
+
|
|
55
|
+
const firstLetter = Array.from(word).reduce((l, char, i) => (isLetter(char) && l < 0 ? i : l), -1);
|
|
56
|
+
|
|
57
|
+
const lastLetter = Array.from(word).reduce((l, char, i) => (isLetter(char) ? i : l), -1);
|
|
58
|
+
|
|
59
|
+
if (firstLetter == -1 && lastLetter == -1) return word; // only special chars, don't translate
|
|
60
|
+
|
|
61
|
+
const specialKBefore = word.slice(0, firstLetter) || "";
|
|
62
|
+
const specialKAfter = word.slice(lastLetter + 1, word.length + 1) || "";
|
|
63
|
+
word = word.slice(firstLetter, lastLetter + 1) || "";
|
|
64
|
+
|
|
65
|
+
if (word) {
|
|
66
|
+
if (isVowel(word[0])) {
|
|
67
|
+
word += "yay";
|
|
68
|
+
} else {
|
|
69
|
+
const firstVowel = Array.from(word).reduce((firstV, char, i) => {
|
|
70
|
+
return isVowel(char) && firstV < 0 ? i : firstV;
|
|
71
|
+
}, -1);
|
|
72
|
+
if (word[0] == word[0].toUpperCase()) {
|
|
73
|
+
word =
|
|
74
|
+
word.substring(firstVowel, firstVowel + 1).toUpperCase() +
|
|
75
|
+
word.substring(firstVowel + 1, word.length) +
|
|
76
|
+
word.substring(0, firstVowel).toLowerCase() +
|
|
77
|
+
"ay";
|
|
78
|
+
} else {
|
|
79
|
+
word = word.substring(firstVowel, word.length) + word.substring(0, firstVowel) + "ay";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return specialKBefore + word + specialKAfter;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function translateSentence(string) {
|
|
87
|
+
let words = string.split(" ");
|
|
88
|
+
return words
|
|
89
|
+
.reduce((acc, word) => {
|
|
90
|
+
return acc + " " + pigLatinize(word);
|
|
91
|
+
}, "")
|
|
92
|
+
.substring(1); // rm leading space
|
|
93
|
+
}
|