@oracle/oraclejet-core-pack 14.0.0
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/oj-c/Avatar.json +458 -0
- package/oj-c/Button.json +536 -0
- package/oj-c/Collapsible.json +396 -0
- package/oj-c/FilePicker.json +555 -0
- package/oj-c/InputNumber.json +1321 -0
- package/oj-c/InputPassword.json +1164 -0
- package/oj-c/InputText.json +1411 -0
- package/oj-c/ListItemLayout.json +313 -0
- package/oj-c/MessageToast.json +334 -0
- package/oj-c/MeterBar.json +735 -0
- package/oj-c/MeterCircle.json +797 -0
- package/oj-c/ProgressBar.json +212 -0
- package/oj-c/ProgressCircle.json +223 -0
- package/oj-c/RatingGauge.json +495 -0
- package/oj-c/SelectMultiple.json +1143 -0
- package/oj-c/SelectSingle.json +1450 -0
- package/oj-c/SplitMenuButton.json +495 -0
- package/oj-c/TextArea.json +1283 -0
- package/oj-c/avatar/__webdriver__/AvatarWebElement.js +32 -0
- package/oj-c/avatar/__webdriver__/AvatarWebElementBase.js +87 -0
- package/oj-c/avatar/__webdriver__/index.js +74 -0
- package/oj-c/avatar/avatar-styles.css +10 -0
- package/oj-c/avatar/avatar.js +27 -0
- package/oj-c/avatar/component.json +227 -0
- package/oj-c/avatar/index.js +6 -0
- package/oj-c/avatar.js +6 -0
- package/oj-c/button/__tests__/button.test.js +20 -0
- package/oj-c/button/__webdriver__/ButtonWebElement.js +96 -0
- package/oj-c/button/__webdriver__/ButtonWebElementBase.js +96 -0
- package/oj-c/button/__webdriver__/index.js +74 -0
- package/oj-c/button/button-styles.css +11 -0
- package/oj-c/button/button.js +71 -0
- package/oj-c/button/component.json +243 -0
- package/oj-c/button/index.js +6 -0
- package/oj-c/button.js +6 -0
- package/oj-c/collapsible/__webdriver__/CollapsibleWebElement.js +116 -0
- package/oj-c/collapsible/__webdriver__/CollapsibleWebElementBase.js +60 -0
- package/oj-c/collapsible/__webdriver__/index.js +74 -0
- package/oj-c/collapsible/collapsible-styles.css +11 -0
- package/oj-c/collapsible/collapsible.js +69 -0
- package/oj-c/collapsible/component.json +184 -0
- package/oj-c/collapsible/index.js +6 -0
- package/oj-c/collapsible.js +6 -0
- package/oj-c/component.json +104 -0
- package/oj-c/corepackbundle.js +4049 -0
- package/oj-c/docs/avatar.html +149 -0
- package/oj-c/docs/button.html +149 -0
- package/oj-c/docs/collapsible.html +149 -0
- package/oj-c/docs/file-picker.html +149 -0
- package/oj-c/docs/index.html +168 -0
- package/oj-c/docs/input-number.html +149 -0
- package/oj-c/docs/input-password.html +149 -0
- package/oj-c/docs/input-text.html +149 -0
- package/oj-c/docs/jsDocMd.json +1 -0
- package/oj-c/docs/list-item-layout.html +149 -0
- package/oj-c/docs/message-toast.html +149 -0
- package/oj-c/docs/meter-bar.html +149 -0
- package/oj-c/docs/meter-circle.html +149 -0
- package/oj-c/docs/oj-c.Avatar.html +1778 -0
- package/oj-c/docs/oj-c.Button.html +2065 -0
- package/oj-c/docs/oj-c.Collapsible.html +1990 -0
- package/oj-c/docs/oj-c.FilePicker.html +2380 -0
- package/oj-c/docs/oj-c.InputNumber.html +5850 -0
- package/oj-c/docs/oj-c.InputPassword.html +4891 -0
- package/oj-c/docs/oj-c.InputText.html +5772 -0
- package/oj-c/docs/oj-c.ListItemLayout.html +1549 -0
- package/oj-c/docs/oj-c.MessageToast.html +1574 -0
- package/oj-c/docs/oj-c.MeterBar.html +3193 -0
- package/oj-c/docs/oj-c.MeterCircle.html +3502 -0
- package/oj-c/docs/oj-c.ProgressBar.html +1122 -0
- package/oj-c/docs/oj-c.ProgressCircle.html +1138 -0
- package/oj-c/docs/oj-c.RatingGauge.html +2320 -0
- package/oj-c/docs/oj-c.SelectMultiple.html +4720 -0
- package/oj-c/docs/oj-c.SelectSingle.html +5920 -0
- package/oj-c/docs/oj-c.SplitMenuButton.html +1891 -0
- package/oj-c/docs/oj-c.TextArea.html +5447 -0
- package/oj-c/docs/progress-bar.html +149 -0
- package/oj-c/docs/progress-circle.html +149 -0
- package/oj-c/docs/rating-gauge.html +149 -0
- package/oj-c/docs/scripts/deprecated.js +268 -0
- package/oj-c/docs/scripts/prettify/Apache-License-2.0.txt +202 -0
- package/oj-c/docs/scripts/prettify/lang-css.js +9 -0
- package/oj-c/docs/scripts/prettify/prettify.js +35 -0
- package/oj-c/docs/select-multiple.html +149 -0
- package/oj-c/docs/select-single.html +149 -0
- package/oj-c/docs/split-menu-button.html +149 -0
- package/oj-c/docs/styles/images/bookmark.png +0 -0
- package/oj-c/docs/styles/images/linesarrowup.png +0 -0
- package/oj-c/docs/styles/images/linesarrowup_blue.png +0 -0
- package/oj-c/docs/styles/images/linesarrowup_hov.png +0 -0
- package/oj-c/docs/styles/images/linesarrowup_white.png +0 -0
- package/oj-c/docs/styles/images/oracle_logo_sm.png +0 -0
- package/oj-c/docs/styles/jsdoc-default.css +851 -0
- package/oj-c/docs/styles/prettify-jsdoc.css +111 -0
- package/oj-c/docs/styles/prettify-tomorrow.css +132 -0
- package/oj-c/docs/text-area.html +149 -0
- package/oj-c/editable-value/UNSAFE_useAssistiveText/useAssistiveText.js +57 -0
- package/oj-c/editable-value/UNSAFE_useComponentMessaging/useComponentMessaging.js +80 -0
- package/oj-c/editable-value/UNSAFE_useConverter/useConverter.js +56 -0
- package/oj-c/editable-value/UNSAFE_useConverterLifecycle/useConverterLifecycle.js +26 -0
- package/oj-c/editable-value/UNSAFE_useDeferredValidators/useDeferredValidators.js +22 -0
- package/oj-c/editable-value/UNSAFE_useEditableValue/useEditableValue.js +154 -0
- package/oj-c/editable-value/UNSAFE_useStaleIdentity/useStaleIdentity.js +17 -0
- package/oj-c/editable-value/UNSAFE_useValidationLifecycle/useValidationLifecycle.js +118 -0
- package/oj-c/editable-value/UNSAFE_useValidators/useValidators.js +153 -0
- package/oj-c/editable-value/UNSAFE_useValue/useValue.js +42 -0
- package/oj-c/editable-value/UNSAFE_useValueLifecycle/useValueLifecycle.js +27 -0
- package/oj-c/editable-value/component.json +9 -0
- package/oj-c/editable-value/utils/utils.js +31 -0
- package/oj-c/file-picker/__webdriver__/FilePickerWebElement.js +32 -0
- package/oj-c/file-picker/__webdriver__/FilePickerWebElementBase.js +87 -0
- package/oj-c/file-picker/__webdriver__/index.js +74 -0
- package/oj-c/file-picker/component.json +209 -0
- package/oj-c/file-picker/file-picker-styles.css +17 -0
- package/oj-c/file-picker/file-picker.js +59 -0
- package/oj-c/file-picker/index.js +6 -0
- package/oj-c/file-picker.js +6 -0
- package/oj-c/hooks/UNSAFE_useDataProvider/DataProviderHandler.js +89 -0
- package/oj-c/hooks/UNSAFE_useDataProvider/useDataProvider.js +25 -0
- package/oj-c/hooks/UNSAFE_useDataProvider/utils.js +202 -0
- package/oj-c/hooks/UNSAFE_useListData/__tests__/useListData.test.js +124 -0
- package/oj-c/hooks/UNSAFE_useListData/useListData.js +297 -0
- package/oj-c/hooks/UNSAFE_useTreeData/__tests__/useTreeData.test.js +62 -0
- package/oj-c/hooks/UNSAFE_useTreeData/useTreeData.js +130 -0
- package/oj-c/hooks/component.json +9 -0
- package/oj-c/input-number/__dev__/input-number.doc.mdx +31 -0
- package/oj-c/input-number/__webdriver__/InputNumberWebElement.js +32 -0
- package/oj-c/input-number/__webdriver__/InputNumberWebElementBase.js +339 -0
- package/oj-c/input-number/__webdriver__/index.js +74 -0
- package/oj-c/input-number/component.json +536 -0
- package/oj-c/input-number/index.js +6 -0
- package/oj-c/input-number/input-number-styles.css +13 -0
- package/oj-c/input-number/input-number.js +119 -0
- package/oj-c/input-number/stepBasisUtils.js +76 -0
- package/oj-c/input-number/useImplicitNumberConverter.js +12 -0
- package/oj-c/input-number/useImplicitNumberRangeValidator.js +28 -0
- package/oj-c/input-number/useNumberInputTextPreact.js +153 -0
- package/oj-c/input-number.js +6 -0
- package/oj-c/input-password/__webdriver__/InputPasswordWebElement.js +32 -0
- package/oj-c/input-password/__webdriver__/InputPasswordWebElementBase.js +258 -0
- package/oj-c/input-password/__webdriver__/index.js +74 -0
- package/oj-c/input-password/component.json +488 -0
- package/oj-c/input-password/index.js +6 -0
- package/oj-c/input-password/input-password-styles.css +13 -0
- package/oj-c/input-password/input-password.js +112 -0
- package/oj-c/input-password/useInputPasswordPreact.js +46 -0
- package/oj-c/input-password.js +6 -0
- package/oj-c/input-text/__dev__/input-text.doc.mdx +30 -0
- package/oj-c/input-text/__tests__/input-text.test.js +70 -0
- package/oj-c/input-text/__webdriver__/InputTextWebElement.js +32 -0
- package/oj-c/input-text/__webdriver__/InputTextWebElementBase.js +294 -0
- package/oj-c/input-text/__webdriver__/index.js +74 -0
- package/oj-c/input-text/component.json +580 -0
- package/oj-c/input-text/index.js +6 -0
- package/oj-c/input-text/input-text-styles.css +13 -0
- package/oj-c/input-text/input-text.js +118 -0
- package/oj-c/input-text/useInputTextPreact.js +46 -0
- package/oj-c/input-text.js +6 -0
- package/oj-c/list-item-layout/__webdriver__/ListItemLayoutWebElement.js +32 -0
- package/oj-c/list-item-layout/__webdriver__/ListItemLayoutWebElementBase.js +42 -0
- package/oj-c/list-item-layout/__webdriver__/index.js +74 -0
- package/oj-c/list-item-layout/component.json +139 -0
- package/oj-c/list-item-layout/index.js +6 -0
- package/oj-c/list-item-layout/list-item-layout-styles.css +12 -0
- package/oj-c/list-item-layout/list-item-layout.js +30 -0
- package/oj-c/list-item-layout.js +6 -0
- package/oj-c/message-toast/__webdriver__/MessageToastWebElement.js +32 -0
- package/oj-c/message-toast/__webdriver__/MessageToastWebElementBase.js +78 -0
- package/oj-c/message-toast/__webdriver__/index.js +74 -0
- package/oj-c/message-toast/component.json +244 -0
- package/oj-c/message-toast/index.js +6 -0
- package/oj-c/message-toast/message-toast-styles.css +8 -0
- package/oj-c/message-toast/message-toast.js +35 -0
- package/oj-c/message-toast.js +6 -0
- package/oj-c/metadata/allComponents.json +5552 -0
- package/oj-c/meter-bar/__webdriver__/MeterBarWebElement.js +32 -0
- package/oj-c/meter-bar/__webdriver__/MeterBarWebElementBase.js +195 -0
- package/oj-c/meter-bar/__webdriver__/index.js +74 -0
- package/oj-c/meter-bar/component.json +246 -0
- package/oj-c/meter-bar/index.js +6 -0
- package/oj-c/meter-bar/meter-bar-styles.css +21 -0
- package/oj-c/meter-bar/meter-bar.js +44 -0
- package/oj-c/meter-bar.js +6 -0
- package/oj-c/meter-circle/__webdriver__/MeterCircleWebElement.js +32 -0
- package/oj-c/meter-circle/__webdriver__/MeterCircleWebElementBase.js +213 -0
- package/oj-c/meter-circle/__webdriver__/index.js +74 -0
- package/oj-c/meter-circle/component.json +289 -0
- package/oj-c/meter-circle/index.js +6 -0
- package/oj-c/meter-circle/meter-circle-styles.css +14 -0
- package/oj-c/meter-circle/meter-circle.js +47 -0
- package/oj-c/meter-circle.js +6 -0
- package/oj-c/min/avatar/avatar-styles.css +10 -0
- package/oj-c/min/avatar.js +2 -0
- package/oj-c/min/avatar.js.map +1 -0
- package/oj-c/min/button/button-styles.css +11 -0
- package/oj-c/min/button.js +2 -0
- package/oj-c/min/button.js.map +1 -0
- package/oj-c/min/collapsible/collapsible-styles.css +11 -0
- package/oj-c/min/collapsible.js +2 -0
- package/oj-c/min/collapsible.js.map +1 -0
- package/oj-c/min/corepackbundle.css +226 -0
- package/oj-c/min/corepackbundle.js +6 -0
- package/oj-c/min/corepackbundle.js.map +1 -0
- package/oj-c/min/editable-value/UNSAFE_useAssistiveText/useAssistiveText.d.ts +32 -0
- package/oj-c/min/editable-value/UNSAFE_useAssistiveText/useAssistiveText.js +57 -0
- package/oj-c/min/editable-value/UNSAFE_useComponentMessaging/useComponentMessaging.d.ts +24 -0
- package/oj-c/min/editable-value/UNSAFE_useComponentMessaging/useComponentMessaging.js +80 -0
- package/oj-c/min/editable-value/UNSAFE_useConverter/useConverter.d.ts +14 -0
- package/oj-c/min/editable-value/UNSAFE_useConverter/useConverter.js +56 -0
- package/oj-c/min/editable-value/UNSAFE_useConverterLifecycle/useConverterLifecycle.d.ts +11 -0
- package/oj-c/min/editable-value/UNSAFE_useConverterLifecycle/useConverterLifecycle.js +26 -0
- package/oj-c/min/editable-value/UNSAFE_useDeferredValidators/useDeferredValidators.d.ts +8 -0
- package/oj-c/min/editable-value/UNSAFE_useDeferredValidators/useDeferredValidators.js +22 -0
- package/oj-c/min/editable-value/UNSAFE_useEditableValue/useEditableValue.d.ts +47 -0
- package/oj-c/min/editable-value/UNSAFE_useEditableValue/useEditableValue.js +154 -0
- package/oj-c/min/editable-value/UNSAFE_useStaleIdentity/useStaleIdentity.d.ts +5 -0
- package/oj-c/min/editable-value/UNSAFE_useStaleIdentity/useStaleIdentity.js +17 -0
- package/oj-c/min/editable-value/UNSAFE_useValidationLifecycle/useValidationLifecycle.d.ts +15 -0
- package/oj-c/min/editable-value/UNSAFE_useValidationLifecycle/useValidationLifecycle.js +118 -0
- package/oj-c/min/editable-value/UNSAFE_useValidators/useValidators.d.ts +35 -0
- package/oj-c/min/editable-value/UNSAFE_useValidators/useValidators.js +153 -0
- package/oj-c/min/editable-value/UNSAFE_useValue/useValue.d.ts +23 -0
- package/oj-c/min/editable-value/UNSAFE_useValue/useValue.js +42 -0
- package/oj-c/min/editable-value/UNSAFE_useValueLifecycle/useValueLifecycle.d.ts +9 -0
- package/oj-c/min/editable-value/UNSAFE_useValueLifecycle/useValueLifecycle.js +27 -0
- package/oj-c/min/editable-value/component.json +9 -0
- package/oj-c/min/editable-value/utils/utils.d.ts +6 -0
- package/oj-c/min/editable-value/utils/utils.js +31 -0
- package/oj-c/min/file-picker/file-picker-styles.css +17 -0
- package/oj-c/min/file-picker.js +2 -0
- package/oj-c/min/file-picker.js.map +1 -0
- package/oj-c/min/hooks/UNSAFE_useDataProvider/DataProviderHandler.d.ts +18 -0
- package/oj-c/min/hooks/UNSAFE_useDataProvider/DataProviderHandler.js +89 -0
- package/oj-c/min/hooks/UNSAFE_useDataProvider/useDataProvider.d.ts +10 -0
- package/oj-c/min/hooks/UNSAFE_useDataProvider/useDataProvider.js +25 -0
- package/oj-c/min/hooks/UNSAFE_useDataProvider/utils.d.ts +3 -0
- package/oj-c/min/hooks/UNSAFE_useDataProvider/utils.js +202 -0
- package/oj-c/min/hooks/UNSAFE_useListData/__tests__/useListData.test.d.ts +1 -0
- package/oj-c/min/hooks/UNSAFE_useListData/__tests__/useListData.test.js +124 -0
- package/oj-c/min/hooks/UNSAFE_useListData/useListData.d.ts +21 -0
- package/oj-c/min/hooks/UNSAFE_useListData/useListData.js +297 -0
- package/oj-c/min/hooks/UNSAFE_useTreeData/__tests__/useTreeData.test.d.ts +1 -0
- package/oj-c/min/hooks/UNSAFE_useTreeData/__tests__/useTreeData.test.js +62 -0
- package/oj-c/min/hooks/UNSAFE_useTreeData/useTreeData.d.ts +27 -0
- package/oj-c/min/hooks/UNSAFE_useTreeData/useTreeData.js +130 -0
- package/oj-c/min/hooks/component.json +9 -0
- package/oj-c/min/input-number/input-number-styles.css +13 -0
- package/oj-c/min/input-number.js +2 -0
- package/oj-c/min/input-number.js.map +1 -0
- package/oj-c/min/input-password/input-password-styles.css +13 -0
- package/oj-c/min/input-password.js +2 -0
- package/oj-c/min/input-password.js.map +1 -0
- package/oj-c/min/input-text/input-text-styles.css +13 -0
- package/oj-c/min/input-text.js +2 -0
- package/oj-c/min/input-text.js.map +1 -0
- package/oj-c/min/list-item-layout/list-item-layout-styles.css +12 -0
- package/oj-c/min/list-item-layout.js +2 -0
- package/oj-c/min/list-item-layout.js.map +1 -0
- package/oj-c/min/message-toast/message-toast-styles.css +8 -0
- package/oj-c/min/message-toast.js +2 -0
- package/oj-c/min/message-toast.js.map +1 -0
- package/oj-c/min/meter-bar/meter-bar-styles.css +21 -0
- package/oj-c/min/meter-bar.js +2 -0
- package/oj-c/min/meter-bar.js.map +1 -0
- package/oj-c/min/meter-circle/meter-circle-styles.css +14 -0
- package/oj-c/min/meter-circle.js +2 -0
- package/oj-c/min/meter-circle.js.map +1 -0
- package/oj-c/min/progress-bar/progress-bar-styles.css +11 -0
- package/oj-c/min/progress-bar.js +2 -0
- package/oj-c/min/progress-bar.js.map +1 -0
- package/oj-c/min/progress-circle/progress-circle-styles.css +14 -0
- package/oj-c/min/progress-circle.js +2 -0
- package/oj-c/min/progress-circle.js.map +1 -0
- package/oj-c/min/rating-gauge/rating-gauge-styles.css +12 -0
- package/oj-c/min/rating-gauge.js +2 -0
- package/oj-c/min/rating-gauge.js.map +1 -0
- package/oj-c/min/select-common/UNSAFE_useDataProviderListeners/index.d.ts +2 -0
- package/oj-c/min/select-common/UNSAFE_useDataProviderListeners/index.js +6 -0
- package/oj-c/min/select-common/UNSAFE_useDataProviderListeners/useDataProviderListeners.d.ts +13 -0
- package/oj-c/min/select-common/UNSAFE_useDataProviderListeners/useDataProviderListeners.js +96 -0
- package/oj-c/min/select-common/UNSAFE_useWrapDataProvider/index.d.ts +1 -0
- package/oj-c/min/select-common/UNSAFE_useWrapDataProvider/index.js +6 -0
- package/oj-c/min/select-common/UNSAFE_useWrapDataProvider/useWrapDataProvider.d.ts +3 -0
- package/oj-c/min/select-common/UNSAFE_useWrapDataProvider/useWrapDataProvider.js +16 -0
- package/oj-c/min/select-common/UNSAFE_useWrapValueState/index.d.ts +1 -0
- package/oj-c/min/select-common/UNSAFE_useWrapValueState/index.js +6 -0
- package/oj-c/min/select-common/UNSAFE_useWrapValueState/useWrapValueState.d.ts +23 -0
- package/oj-c/min/select-common/UNSAFE_useWrapValueState/useWrapValueState.js +23 -0
- package/oj-c/min/select-common/component.json +9 -0
- package/oj-c/min/select-common/utils/utils.d.ts +10 -0
- package/oj-c/min/select-common/utils/utils.js +19 -0
- package/oj-c/min/select-multiple/select-multiple-styles.css +13 -0
- package/oj-c/min/select-multiple.js +3 -0
- package/oj-c/min/select-multiple.js.map +1 -0
- package/oj-c/min/select-single/select-single-styles.css +22 -0
- package/oj-c/min/select-single.js +3 -0
- package/oj-c/min/select-single.js.map +1 -0
- package/oj-c/min/split-menu-button/split-menu-button-styles.css +11 -0
- package/oj-c/min/split-menu-button.js +2 -0
- package/oj-c/min/split-menu-button.js.map +1 -0
- package/oj-c/min/text-area/text-area-styles.css +13 -0
- package/oj-c/min/text-area.js +2 -0
- package/oj-c/min/text-area.js.map +1 -0
- package/oj-c/min/utils/UNSAFE_focusTabUtils/focusUtils.d.ts +2 -0
- package/oj-c/min/utils/UNSAFE_focusTabUtils/focusUtils.js +23 -0
- package/oj-c/min/utils/UNSAFE_focusTabUtils/index.d.ts +1 -0
- package/oj-c/min/utils/UNSAFE_focusTabUtils/index.js +6 -0
- package/oj-c/min/utils/UNSAFE_keyUtils/index.d.ts +1 -0
- package/oj-c/min/utils/UNSAFE_keyUtils/index.js +19 -0
- package/oj-c/min/utils/UNSAFE_keyUtils/keySetUtils.d.ts +4 -0
- package/oj-c/min/utils/UNSAFE_keyUtils/keySetUtils.js +33 -0
- package/oj-c/min/utils/UNSAFE_meterUtils/index.d.ts +1 -0
- package/oj-c/min/utils/UNSAFE_meterUtils/index.js +6 -0
- package/oj-c/min/utils/UNSAFE_meterUtils/meterUtils.d.ts +2 -0
- package/oj-c/min/utils/UNSAFE_meterUtils/meterUtils.js +12 -0
- package/oj-c/min/utils/component.json +9 -0
- package/oj-c/progress-bar/__webdriver__/ProgressBarWebElement.js +32 -0
- package/oj-c/progress-bar/__webdriver__/ProgressBarWebElementBase.js +60 -0
- package/oj-c/progress-bar/__webdriver__/index.js +74 -0
- package/oj-c/progress-bar/component.json +123 -0
- package/oj-c/progress-bar/index.js +6 -0
- package/oj-c/progress-bar/progress-bar-styles.css +11 -0
- package/oj-c/progress-bar/progress-bar.js +26 -0
- package/oj-c/progress-bar.js +6 -0
- package/oj-c/progress-circle/__webdriver__/ProgressCircleWebElement.js +32 -0
- package/oj-c/progress-circle/__webdriver__/ProgressCircleWebElementBase.js +60 -0
- package/oj-c/progress-circle/__webdriver__/index.js +74 -0
- package/oj-c/progress-circle/component.json +128 -0
- package/oj-c/progress-circle/index.js +6 -0
- package/oj-c/progress-circle/progress-circle-styles.css +14 -0
- package/oj-c/progress-circle/progress-circle.js +26 -0
- package/oj-c/progress-circle.js +6 -0
- package/oj-c/rating-gauge/__webdriver__/RatingGaugeWebElement.js +32 -0
- package/oj-c/rating-gauge/__webdriver__/RatingGaugeWebElementBase.js +168 -0
- package/oj-c/rating-gauge/__webdriver__/index.js +74 -0
- package/oj-c/rating-gauge/component.json +188 -0
- package/oj-c/rating-gauge/index.js +6 -0
- package/oj-c/rating-gauge/rating-gauge-styles.css +12 -0
- package/oj-c/rating-gauge/rating-gauge.js +44 -0
- package/oj-c/rating-gauge.js +6 -0
- package/oj-c/select-common/UNSAFE_useDataProviderListeners/index.js +6 -0
- package/oj-c/select-common/UNSAFE_useDataProviderListeners/useDataProviderListeners.js +96 -0
- package/oj-c/select-common/UNSAFE_useWrapDataProvider/index.js +6 -0
- package/oj-c/select-common/UNSAFE_useWrapDataProvider/useWrapDataProvider.js +16 -0
- package/oj-c/select-common/UNSAFE_useWrapValueState/index.js +6 -0
- package/oj-c/select-common/UNSAFE_useWrapValueState/useWrapValueState.js +23 -0
- package/oj-c/select-common/component.json +9 -0
- package/oj-c/select-common/utils/utils.js +19 -0
- package/oj-c/select-multiple/__dev__/select-multiple.doc.mdx +30 -0
- package/oj-c/select-multiple/__webdriver__/SelectMultipleWebElement.js +32 -0
- package/oj-c/select-multiple/__webdriver__/SelectMultipleWebElementBase.js +258 -0
- package/oj-c/select-multiple/__webdriver__/index.js +74 -0
- package/oj-c/select-multiple/component.json +475 -0
- package/oj-c/select-multiple/index.js +6 -0
- package/oj-c/select-multiple/select-multiple-styles.css +13 -0
- package/oj-c/select-multiple/select-multiple.js +108 -0
- package/oj-c/select-multiple/useSelectMultiplePreact.js +123 -0
- package/oj-c/select-multiple/useSyncValueAndValueItems.js +125 -0
- package/oj-c/select-multiple/useValueItems.js +22 -0
- package/oj-c/select-multiple.js +6 -0
- package/oj-c/select-single/__dev__/select-single.doc.mdx +30 -0
- package/oj-c/select-single/__webdriver__/SelectSingleWebElement.js +32 -0
- package/oj-c/select-single/__webdriver__/SelectSingleWebElementBase.js +258 -0
- package/oj-c/select-single/__webdriver__/index.js +74 -0
- package/oj-c/select-single/component.json +545 -0
- package/oj-c/select-single/index.js +6 -0
- package/oj-c/select-single/select-single-styles.css +22 -0
- package/oj-c/select-single/select-single.js +108 -0
- package/oj-c/select-single/useSelectSinglePreact.js +157 -0
- package/oj-c/select-single/useSyncValueAndValueItem.js +110 -0
- package/oj-c/select-single/useValueItem.js +18 -0
- package/oj-c/select-single.js +6 -0
- package/oj-c/split-menu-button/__dev__/split-menu-button.doc.mdx +32 -0
- package/oj-c/split-menu-button/__tests__/split-menu-button.test.js +17 -0
- package/oj-c/split-menu-button/__webdriver__/SplitMenuButtonWebElement.js +32 -0
- package/oj-c/split-menu-button/__webdriver__/SplitMenuButtonWebElementBase.js +87 -0
- package/oj-c/split-menu-button/__webdriver__/index.js +74 -0
- package/oj-c/split-menu-button/component.json +205 -0
- package/oj-c/split-menu-button/index.js +6 -0
- package/oj-c/split-menu-button/split-menu-button-styles.css +11 -0
- package/oj-c/split-menu-button/split-menu-button.js +76 -0
- package/oj-c/split-menu-button.js +6 -0
- package/oj-c/text-area/__webdriver__/TextAreaWebElement.js +32 -0
- package/oj-c/text-area/__webdriver__/TextAreaWebElementBase.js +285 -0
- package/oj-c/text-area/__webdriver__/index.js +74 -0
- package/oj-c/text-area/component.json +497 -0
- package/oj-c/text-area/index.js +6 -0
- package/oj-c/text-area/text-area-styles.css +13 -0
- package/oj-c/text-area/text-area.js +138 -0
- package/oj-c/text-area/useTextAreaAutosizePreact.js +44 -0
- package/oj-c/text-area/useTextAreaPreact.js +46 -0
- package/oj-c/text-area.js +6 -0
- package/oj-c/types/avatar/avatar.d.ts +68 -0
- package/oj-c/types/avatar/index.d.ts +2 -0
- package/oj-c/types/button/__tests__/button.test.d.ts +1 -0
- package/oj-c/types/button/button.d.ts +91 -0
- package/oj-c/types/button/index.d.ts +2 -0
- package/oj-c/types/collapsible/collapsible.d.ts +88 -0
- package/oj-c/types/collapsible/index.d.ts +2 -0
- package/oj-c/types/editable-value/UNSAFE_useAssistiveText/useAssistiveText.d.ts +32 -0
- package/oj-c/types/editable-value/UNSAFE_useComponentMessaging/useComponentMessaging.d.ts +24 -0
- package/oj-c/types/editable-value/UNSAFE_useConverter/useConverter.d.ts +14 -0
- package/oj-c/types/editable-value/UNSAFE_useConverterLifecycle/useConverterLifecycle.d.ts +11 -0
- package/oj-c/types/editable-value/UNSAFE_useDeferredValidators/useDeferredValidators.d.ts +8 -0
- package/oj-c/types/editable-value/UNSAFE_useEditableValue/useEditableValue.d.ts +47 -0
- package/oj-c/types/editable-value/UNSAFE_useStaleIdentity/useStaleIdentity.d.ts +5 -0
- package/oj-c/types/editable-value/UNSAFE_useValidationLifecycle/useValidationLifecycle.d.ts +15 -0
- package/oj-c/types/editable-value/UNSAFE_useValidators/useValidators.d.ts +35 -0
- package/oj-c/types/editable-value/UNSAFE_useValue/useValue.d.ts +23 -0
- package/oj-c/types/editable-value/UNSAFE_useValueLifecycle/useValueLifecycle.d.ts +9 -0
- package/oj-c/types/editable-value/utils/utils.d.ts +6 -0
- package/oj-c/types/file-picker/file-picker.d.ts +103 -0
- package/oj-c/types/file-picker/index.d.ts +2 -0
- package/oj-c/types/hooks/UNSAFE_useDataProvider/DataProviderHandler.d.ts +18 -0
- package/oj-c/types/hooks/UNSAFE_useDataProvider/useDataProvider.d.ts +10 -0
- package/oj-c/types/hooks/UNSAFE_useDataProvider/utils.d.ts +3 -0
- package/oj-c/types/hooks/UNSAFE_useListData/__tests__/useListData.test.d.ts +1 -0
- package/oj-c/types/hooks/UNSAFE_useListData/useListData.d.ts +21 -0
- package/oj-c/types/hooks/UNSAFE_useTreeData/__tests__/useTreeData.test.d.ts +1 -0
- package/oj-c/types/hooks/UNSAFE_useTreeData/useTreeData.d.ts +27 -0
- package/oj-c/types/input-number/index.d.ts +2 -0
- package/oj-c/types/input-number/input-number.d.ts +231 -0
- package/oj-c/types/input-number/stepBasisUtils.d.ts +1 -0
- package/oj-c/types/input-number/useImplicitNumberConverter.d.ts +10 -0
- package/oj-c/types/input-number/useImplicitNumberRangeValidator.d.ts +17 -0
- package/oj-c/types/input-number/useNumberInputTextPreact.d.ts +54 -0
- package/oj-c/types/input-password/index.d.ts +2 -0
- package/oj-c/types/input-password/input-password.d.ts +183 -0
- package/oj-c/types/input-password/useInputPasswordPreact.d.ts +40 -0
- package/oj-c/types/input-text/__tests__/input-text.test.d.ts +1 -0
- package/oj-c/types/input-text/index.d.ts +2 -0
- package/oj-c/types/input-text/input-text.d.ts +212 -0
- package/oj-c/types/input-text/useInputTextPreact.d.ts +47 -0
- package/oj-c/types/list-item-layout/index.d.ts +2 -0
- package/oj-c/types/list-item-layout/list-item-layout.d.ts +53 -0
- package/oj-c/types/message-toast/index.d.ts +2 -0
- package/oj-c/types/message-toast/message-toast.d.ts +83 -0
- package/oj-c/types/meter-bar/index.d.ts +2 -0
- package/oj-c/types/meter-bar/meter-bar.d.ts +133 -0
- package/oj-c/types/meter-circle/index.d.ts +2 -0
- package/oj-c/types/meter-circle/meter-circle.d.ts +148 -0
- package/oj-c/types/progress-bar/index.d.ts +2 -0
- package/oj-c/types/progress-bar/progress-bar.d.ts +53 -0
- package/oj-c/types/progress-circle/index.d.ts +2 -0
- package/oj-c/types/progress-circle/progress-circle.d.ts +53 -0
- package/oj-c/types/rating-gauge/index.d.ts +2 -0
- package/oj-c/types/rating-gauge/rating-gauge.d.ts +109 -0
- package/oj-c/types/select-common/UNSAFE_useDataProviderListeners/index.d.ts +2 -0
- package/oj-c/types/select-common/UNSAFE_useDataProviderListeners/useDataProviderListeners.d.ts +13 -0
- package/oj-c/types/select-common/UNSAFE_useWrapDataProvider/index.d.ts +1 -0
- package/oj-c/types/select-common/UNSAFE_useWrapDataProvider/useWrapDataProvider.d.ts +3 -0
- package/oj-c/types/select-common/UNSAFE_useWrapValueState/index.d.ts +1 -0
- package/oj-c/types/select-common/UNSAFE_useWrapValueState/useWrapValueState.d.ts +23 -0
- package/oj-c/types/select-common/utils/utils.d.ts +10 -0
- package/oj-c/types/select-multiple/index.d.ts +2 -0
- package/oj-c/types/select-multiple/select-multiple.d.ts +176 -0
- package/oj-c/types/select-multiple/useSelectMultiplePreact.d.ts +42 -0
- package/oj-c/types/select-multiple/useSyncValueAndValueItems.d.ts +17 -0
- package/oj-c/types/select-multiple/useValueItems.d.ts +6 -0
- package/oj-c/types/select-single/index.d.ts +2 -0
- package/oj-c/types/select-single/select-single.d.ts +186 -0
- package/oj-c/types/select-single/useSelectSinglePreact.d.ts +42 -0
- package/oj-c/types/select-single/useSyncValueAndValueItem.d.ts +17 -0
- package/oj-c/types/select-single/useValueItem.d.ts +5 -0
- package/oj-c/types/split-menu-button/__tests__/split-menu-button.test.d.ts +1 -0
- package/oj-c/types/split-menu-button/index.d.ts +2 -0
- package/oj-c/types/split-menu-button/split-menu-button.d.ts +93 -0
- package/oj-c/types/text-area/index.d.ts +2 -0
- package/oj-c/types/text-area/text-area.d.ts +209 -0
- package/oj-c/types/text-area/useTextAreaAutosizePreact.d.ts +44 -0
- package/oj-c/types/text-area/useTextAreaPreact.d.ts +44 -0
- package/oj-c/types/utils/UNSAFE_focusTabUtils/focusUtils.d.ts +2 -0
- package/oj-c/types/utils/UNSAFE_focusTabUtils/index.d.ts +1 -0
- package/oj-c/types/utils/UNSAFE_keyUtils/index.d.ts +1 -0
- package/oj-c/types/utils/UNSAFE_keyUtils/keySetUtils.d.ts +4 -0
- package/oj-c/types/utils/UNSAFE_meterUtils/index.d.ts +1 -0
- package/oj-c/types/utils/UNSAFE_meterUtils/meterUtils.d.ts +2 -0
- package/oj-c/utils/UNSAFE_focusTabUtils/focusUtils.js +23 -0
- package/oj-c/utils/UNSAFE_focusTabUtils/index.js +6 -0
- package/oj-c/utils/UNSAFE_keyUtils/index.js +19 -0
- package/oj-c/utils/UNSAFE_keyUtils/keySetUtils.js +33 -0
- package/oj-c/utils/UNSAFE_meterUtils/index.js +6 -0
- package/oj-c/utils/UNSAFE_meterUtils/meterUtils.js +12 -0
- package/oj-c/utils/component.json +9 -0
- package/package.json +22 -0
- package/webdriver/docs/.nojekyll +1 -0
- package/webdriver/docs/assets/highlight.css +78 -0
- package/webdriver/docs/assets/icons.css +1043 -0
- package/webdriver/docs/assets/icons.png +0 -0
- package/webdriver/docs/assets/icons@2x.png +0 -0
- package/webdriver/docs/assets/main.js +52 -0
- package/webdriver/docs/assets/search.js +1 -0
- package/webdriver/docs/assets/style.css +1414 -0
- package/webdriver/docs/assets/widgets.png +0 -0
- package/webdriver/docs/assets/widgets@2x.png +0 -0
- package/webdriver/docs/classes/AvatarWebElement.html +117 -0
- package/webdriver/docs/classes/ButtonWebElement.html +163 -0
- package/webdriver/docs/classes/CollapsibleWebElement.html +111 -0
- package/webdriver/docs/classes/FilePickerWebElement.html +117 -0
- package/webdriver/docs/classes/InputNumberWebElement.html +231 -0
- package/webdriver/docs/classes/InputPasswordWebElement.html +195 -0
- package/webdriver/docs/classes/InputTextWebElement.html +211 -0
- package/webdriver/docs/classes/ListItemLayoutWebElement.html +97 -0
- package/webdriver/docs/classes/MessageToastWebElement.html +113 -0
- package/webdriver/docs/classes/MeterBarWebElement.html +153 -0
- package/webdriver/docs/classes/MeterCircleWebElement.html +159 -0
- package/webdriver/docs/classes/ProgressBarWebElement.html +105 -0
- package/webdriver/docs/classes/ProgressCircleWebElement.html +105 -0
- package/webdriver/docs/classes/RatingGaugeWebElement.html +147 -0
- package/webdriver/docs/classes/SelectMultipleWebElement.html +196 -0
- package/webdriver/docs/classes/SelectSingleWebElement.html +196 -0
- package/webdriver/docs/classes/SplitMenuButtonWebElement.html +117 -0
- package/webdriver/docs/classes/TextAreaWebElement.html +207 -0
- package/webdriver/docs/index.html +16 -0
- package/webdriver/docs/modules.html +181 -0
- package/webdriver/index.js +34 -0
- package/webdriver/index.ts +18 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
define(["require", "exports"], function (require, exports) {
|
|
11
|
+
"use strict";
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.getUpdatedItemsFromMutationDetail = void 0;
|
|
14
|
+
function getUpdatedItemsFromMutationDetail(detail, currentData, dataProvider) {
|
|
15
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
const { add, remove, update } = detail !== null && detail !== void 0 ? detail : {};
|
|
17
|
+
const keyIndexMap = new Map();
|
|
18
|
+
for (const [index, item] of currentData.entries()) {
|
|
19
|
+
keyIndexMap.set(item.key, index);
|
|
20
|
+
}
|
|
21
|
+
let mutatedData = [...currentData];
|
|
22
|
+
if (remove) {
|
|
23
|
+
mutatedData = removeItemsFromDetail(remove, mutatedData, keyIndexMap);
|
|
24
|
+
}
|
|
25
|
+
if (add) {
|
|
26
|
+
mutatedData = yield addItemsFromDetail(add, mutatedData, keyIndexMap, dataProvider);
|
|
27
|
+
}
|
|
28
|
+
if (update) {
|
|
29
|
+
mutatedData = yield updateItemsFromDetail(update, mutatedData, keyIndexMap, dataProvider);
|
|
30
|
+
}
|
|
31
|
+
return mutatedData;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
exports.getUpdatedItemsFromMutationDetail = getUpdatedItemsFromMutationDetail;
|
|
35
|
+
function addItemsAtEnd(itemsToAdd, itemMetadataToAdd, items) {
|
|
36
|
+
const indices = new Array(itemsToAdd.length).fill(-1);
|
|
37
|
+
return addItemsAtIndices(indices, itemsToAdd, itemMetadataToAdd, items);
|
|
38
|
+
}
|
|
39
|
+
function addItemsAtIndices(indices, itemsToAdd, itemMetadataToAdd, items) {
|
|
40
|
+
const returnItems = [...items];
|
|
41
|
+
indices.forEach((addAtIndex, index) => {
|
|
42
|
+
var _a;
|
|
43
|
+
const addItem = {
|
|
44
|
+
data: itemsToAdd[index],
|
|
45
|
+
key: (_a = itemMetadataToAdd[index]) === null || _a === void 0 ? void 0 : _a.key,
|
|
46
|
+
metadata: itemMetadataToAdd[index]
|
|
47
|
+
};
|
|
48
|
+
if (addAtIndex >= 0) {
|
|
49
|
+
returnItems.splice(addAtIndex, 0, addItem);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
returnItems.push(addItem);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return returnItems;
|
|
56
|
+
}
|
|
57
|
+
function addItemsBeforeKeys(beforeKeys, itemsToAdd, items, keyIndexMap) {
|
|
58
|
+
const addIndices = [];
|
|
59
|
+
const itemMetadataToAdd = [];
|
|
60
|
+
beforeKeys.forEach((key) => {
|
|
61
|
+
addIndices.push(getIndexByKey(keyIndexMap, key));
|
|
62
|
+
itemMetadataToAdd.push({ key });
|
|
63
|
+
});
|
|
64
|
+
return addItemsAtIndices(addIndices, itemsToAdd, itemMetadataToAdd, items);
|
|
65
|
+
}
|
|
66
|
+
function addItemsFromDetail(detail, items, keyIndexMap, dataProvider) {
|
|
67
|
+
var _a;
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
const { addBeforeKeys, data, indexes, keys, metadata } = detail;
|
|
70
|
+
let mutatedData = [...items];
|
|
71
|
+
let treatedData = data || [];
|
|
72
|
+
let treatedMetaData = metadata || [];
|
|
73
|
+
if (treatedData.length === 0 && (keys === null || keys === void 0 ? void 0 : keys.size)) {
|
|
74
|
+
const fetchResults = (_a = (yield fetchDataByKeys(dataProvider, keys))) !== null && _a !== void 0 ? _a : [];
|
|
75
|
+
treatedData = fetchResults.map((itemContext) => itemContext.data);
|
|
76
|
+
treatedMetaData = fetchResults.map((itemContext) => itemContext.metadata);
|
|
77
|
+
}
|
|
78
|
+
if (treatedMetaData.length === 0 && (keys === null || keys === void 0 ? void 0 : keys.size)) {
|
|
79
|
+
treatedMetaData = [...keys].map((key) => ({ key }));
|
|
80
|
+
}
|
|
81
|
+
if (treatedData.length) {
|
|
82
|
+
if (indexes === null || indexes === void 0 ? void 0 : indexes.length) {
|
|
83
|
+
mutatedData = addItemsAtIndices(indexes, treatedData, treatedMetaData, mutatedData);
|
|
84
|
+
}
|
|
85
|
+
else if (addBeforeKeys === null || addBeforeKeys === void 0 ? void 0 : addBeforeKeys.length) {
|
|
86
|
+
mutatedData = addItemsBeforeKeys(addBeforeKeys, treatedData, mutatedData, keyIndexMap);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
mutatedData = addItemsAtEnd(treatedData, treatedMetaData, mutatedData);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return mutatedData;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
function fetchDataByKeys(dataProvider, keys) {
|
|
96
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
const fetchedData = [];
|
|
98
|
+
const results = (yield dataProvider.fetchByKeys({ keys })).results;
|
|
99
|
+
for (const key of keys) {
|
|
100
|
+
if (results.has(key)) {
|
|
101
|
+
const result = results.get(key);
|
|
102
|
+
fetchedData.push(Object.assign(Object.assign({}, result), { key }));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return fetchedData;
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
function getIndexByKey(keyIndexMap, key) {
|
|
109
|
+
if (keyIndexMap.has(key)) {
|
|
110
|
+
return keyIndexMap.get(key);
|
|
111
|
+
}
|
|
112
|
+
return -1;
|
|
113
|
+
}
|
|
114
|
+
function removeItemsAtIndices(indices, items) {
|
|
115
|
+
const returnItems = [...items];
|
|
116
|
+
indices.sort((a, b) => b - a);
|
|
117
|
+
indices.forEach((index) => {
|
|
118
|
+
if (index < returnItems.length) {
|
|
119
|
+
returnItems.splice(index, 1);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
return returnItems;
|
|
123
|
+
}
|
|
124
|
+
function removeItemsAtKeys(keys, items, keyIndexMap) {
|
|
125
|
+
const indicesToRemove = [];
|
|
126
|
+
keys.forEach((key) => {
|
|
127
|
+
const index = getIndexByKey(keyIndexMap, key);
|
|
128
|
+
if (index !== -1) {
|
|
129
|
+
indicesToRemove.push(index);
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
return removeItemsAtIndices(indicesToRemove, items);
|
|
133
|
+
}
|
|
134
|
+
function removeItemsFromDetail(detail, items, keyIndexMap) {
|
|
135
|
+
const { indexes, keys } = detail;
|
|
136
|
+
let mutatedData = [...items];
|
|
137
|
+
if (indexes === null || indexes === void 0 ? void 0 : indexes.length) {
|
|
138
|
+
mutatedData = removeItemsAtIndices(indexes, mutatedData);
|
|
139
|
+
}
|
|
140
|
+
else if (keys === null || keys === void 0 ? void 0 : keys.size) {
|
|
141
|
+
mutatedData = removeItemsAtKeys(keys, mutatedData, keyIndexMap);
|
|
142
|
+
}
|
|
143
|
+
return mutatedData;
|
|
144
|
+
}
|
|
145
|
+
function updateItemsAtIndices(indices, itemsToUpdate, itemMetadataToUpdate, items) {
|
|
146
|
+
const returnItems = [...items];
|
|
147
|
+
indices.forEach((updateAtIndex, index) => {
|
|
148
|
+
var _a;
|
|
149
|
+
if (returnItems[updateAtIndex]) {
|
|
150
|
+
const addItem = {
|
|
151
|
+
data: itemsToUpdate[index],
|
|
152
|
+
key: (_a = itemMetadataToUpdate[index]) === null || _a === void 0 ? void 0 : _a.key,
|
|
153
|
+
metadata: itemMetadataToUpdate[index]
|
|
154
|
+
};
|
|
155
|
+
returnItems.splice(updateAtIndex, 1, addItem);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
return returnItems;
|
|
159
|
+
}
|
|
160
|
+
function updateItemsAtKeys(keys, itemsToUpdate, itemMetadataToUpdate, items, keyIndexMap) {
|
|
161
|
+
const returnItems = [...items];
|
|
162
|
+
keys.forEach((key) => {
|
|
163
|
+
var _a;
|
|
164
|
+
const index = getIndexByKey(keyIndexMap, key);
|
|
165
|
+
const addItem = {
|
|
166
|
+
data: itemsToUpdate[index],
|
|
167
|
+
key: (_a = itemMetadataToUpdate[index]) === null || _a === void 0 ? void 0 : _a.key,
|
|
168
|
+
metadata: itemMetadataToUpdate[index]
|
|
169
|
+
};
|
|
170
|
+
if (index >= 0) {
|
|
171
|
+
returnItems.splice(index, 1, addItem);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
return returnItems;
|
|
175
|
+
}
|
|
176
|
+
function updateItemsFromDetail(detail, items, keyIndexMap, dataProvider) {
|
|
177
|
+
var _a;
|
|
178
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
179
|
+
const { data, indexes, keys, metadata } = detail;
|
|
180
|
+
let mutatedData = [...items];
|
|
181
|
+
let treatedData = data || [];
|
|
182
|
+
let treatedMetaData = metadata || [];
|
|
183
|
+
if (treatedData.length === 0 && (keys === null || keys === void 0 ? void 0 : keys.size)) {
|
|
184
|
+
const fetchResults = (_a = (yield fetchDataByKeys(dataProvider, keys))) !== null && _a !== void 0 ? _a : [];
|
|
185
|
+
treatedData = fetchResults.map((itemContext) => itemContext.data);
|
|
186
|
+
treatedMetaData = fetchResults.map((itemContext) => itemContext.metadata);
|
|
187
|
+
}
|
|
188
|
+
if (treatedMetaData.length === 0 && (keys === null || keys === void 0 ? void 0 : keys.size)) {
|
|
189
|
+
treatedMetaData = [...keys].map((key) => ({ key }));
|
|
190
|
+
}
|
|
191
|
+
if (treatedData.length) {
|
|
192
|
+
if (indexes === null || indexes === void 0 ? void 0 : indexes.length) {
|
|
193
|
+
mutatedData = updateItemsAtIndices(indexes, treatedData, treatedMetaData, mutatedData);
|
|
194
|
+
}
|
|
195
|
+
else if (keys === null || keys === void 0 ? void 0 : keys.size) {
|
|
196
|
+
mutatedData = updateItemsAtKeys(keys, treatedData, treatedMetaData, mutatedData, keyIndexMap);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return mutatedData;
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
});
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
13
|
+
define(["require", "exports", "chai", "ojs/ojarraydataprovider", "ojs/ojmodel", "ojs/ojcollectiondataprovider", "../useListData", "@testing-library/preact-hooks"], function (require, exports, chai_1, ojarraydataprovider_1, ojmodel_1, ojcollectiondataprovider_1, useListData_1, preact_hooks_1) {
|
|
14
|
+
"use strict";
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
ojarraydataprovider_1 = __importDefault(ojarraydataprovider_1);
|
|
17
|
+
ojcollectiondataprovider_1 = __importDefault(ojcollectiondataprovider_1);
|
|
18
|
+
function checkDataState(dataState, count, precision) {
|
|
19
|
+
if (dataState.status === 'error') {
|
|
20
|
+
console.log(dataState.error);
|
|
21
|
+
}
|
|
22
|
+
(0, chai_1.expect)(dataState.status).to.be.eq('success');
|
|
23
|
+
if (dataState.status === 'success') {
|
|
24
|
+
(0, chai_1.expect)(dataState.data.offset).to.be.eq(0);
|
|
25
|
+
(0, chai_1.expect)(dataState.data.data.length).to.be.eq(count);
|
|
26
|
+
(0, chai_1.expect)(dataState.data.sizePrecision).to.be.eq(precision);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function sleep() {
|
|
30
|
+
return new Promise((r) => setTimeout(r, 100));
|
|
31
|
+
}
|
|
32
|
+
describe('Test useListData hook - ArrayDataProvider', () => {
|
|
33
|
+
it('initialRowsFetched', function () {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
const createData = (count) => {
|
|
36
|
+
const data = [];
|
|
37
|
+
for (let i = 0; i < count; i++) {
|
|
38
|
+
const key = 'i' + i;
|
|
39
|
+
const obj = { key: key, name: 'Item ' + (i + 1) };
|
|
40
|
+
data.push(obj);
|
|
41
|
+
}
|
|
42
|
+
return data;
|
|
43
|
+
};
|
|
44
|
+
const dataProvider = new ojarraydataprovider_1.default(createData(50), {
|
|
45
|
+
keyAttributes: 'key'
|
|
46
|
+
});
|
|
47
|
+
const { result } = (0, preact_hooks_1.renderHook)(() => (0, useListData_1.useListData)(dataProvider, {
|
|
48
|
+
initialRowsFetched: 0
|
|
49
|
+
}));
|
|
50
|
+
if (result.current) {
|
|
51
|
+
const dataState = result.current[0];
|
|
52
|
+
(0, chai_1.expect)(dataState.status).to.be.eq('success');
|
|
53
|
+
checkDataState(dataState, 0, 'atLeast');
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
it('ArrayDataProvider - fetch next', function () {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const createData = (count) => {
|
|
60
|
+
const data = [];
|
|
61
|
+
for (let i = 0; i < count; i++) {
|
|
62
|
+
const key = 'i' + i;
|
|
63
|
+
const obj = { key: key, name: 'Item ' + (i + 1) };
|
|
64
|
+
data.push(obj);
|
|
65
|
+
}
|
|
66
|
+
return data;
|
|
67
|
+
};
|
|
68
|
+
const dataProvider = new ojarraydataprovider_1.default(createData(50), {
|
|
69
|
+
keyAttributes: 'key'
|
|
70
|
+
});
|
|
71
|
+
const { result } = (0, preact_hooks_1.renderHook)(() => (0, useListData_1.useListData)(dataProvider, {}));
|
|
72
|
+
if (result.current) {
|
|
73
|
+
let dataState = result.current[0];
|
|
74
|
+
(0, chai_1.expect)(dataState.status).to.be.eq('loading');
|
|
75
|
+
yield sleep();
|
|
76
|
+
dataState = result.current[0];
|
|
77
|
+
checkDataState(dataState, 25, 'atLeast');
|
|
78
|
+
let loadRange = result.current[1];
|
|
79
|
+
loadRange({ offset: 0, count: 50 });
|
|
80
|
+
yield sleep();
|
|
81
|
+
dataState = result.current[0];
|
|
82
|
+
checkDataState(dataState, 50, 'atLeast');
|
|
83
|
+
loadRange = result.current[1];
|
|
84
|
+
loadRange({ offset: 0, count: 75 });
|
|
85
|
+
yield sleep();
|
|
86
|
+
dataState = result.current[0];
|
|
87
|
+
checkDataState(dataState, 50, 'exact');
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
it('CollectionDataProvider - fetch next', function () {
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
const createData = (count) => {
|
|
94
|
+
const data = [];
|
|
95
|
+
for (let i = 0; i < count; i++) {
|
|
96
|
+
const key = 'i' + i;
|
|
97
|
+
const obj = new ojmodel_1.Model({ id: key, name: 'Item ' + (i + 1) });
|
|
98
|
+
data.push(obj);
|
|
99
|
+
}
|
|
100
|
+
return new ojmodel_1.Collection(data);
|
|
101
|
+
};
|
|
102
|
+
const dataProvider = new ojcollectiondataprovider_1.default(createData(50));
|
|
103
|
+
const { result } = (0, preact_hooks_1.renderHook)(() => (0, useListData_1.useListData)(dataProvider, {}));
|
|
104
|
+
if (result.current) {
|
|
105
|
+
let dataState = result.current[0];
|
|
106
|
+
(0, chai_1.expect)(dataState.status).to.be.eq('loading');
|
|
107
|
+
yield sleep();
|
|
108
|
+
dataState = result.current[0];
|
|
109
|
+
checkDataState(dataState, 25, 'atLeast');
|
|
110
|
+
let loadRange = result.current[1];
|
|
111
|
+
loadRange({ offset: 0, count: 50 });
|
|
112
|
+
yield sleep();
|
|
113
|
+
dataState = result.current[0];
|
|
114
|
+
checkDataState(dataState, 50, 'atLeast');
|
|
115
|
+
loadRange = result.current[1];
|
|
116
|
+
loadRange({ offset: 0, count: 75 });
|
|
117
|
+
yield sleep();
|
|
118
|
+
dataState = result.current[0];
|
|
119
|
+
checkDataState(dataState, 50, 'exact');
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
define(["require", "exports", "ojs/ojdataproviderfactory", "preact/hooks"], function (require, exports, ojdataproviderfactory_1, hooks_1) {
|
|
11
|
+
"use strict";
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.useListData = void 0;
|
|
14
|
+
const initialState = Object.freeze({
|
|
15
|
+
status: 'loading',
|
|
16
|
+
data: null
|
|
17
|
+
});
|
|
18
|
+
const defaultOptions = {
|
|
19
|
+
isInitialFetchDeferred: false
|
|
20
|
+
};
|
|
21
|
+
const DEFAULT_FETCH_SIZE = 25;
|
|
22
|
+
const useListData = (data, options = defaultOptions) => {
|
|
23
|
+
const fetchNextRef = (0, hooks_1.useRef)(null);
|
|
24
|
+
const totalSizeRef = (0, hooks_1.useRef)(0);
|
|
25
|
+
const isDoneRef = (0, hooks_1.useRef)(false);
|
|
26
|
+
const iteratorRef = (0, hooks_1.useRef)(null);
|
|
27
|
+
const fetchSize = options.fetchSize && options.fetchSize > 0 ? options.fetchSize : DEFAULT_FETCH_SIZE;
|
|
28
|
+
if (!data) {
|
|
29
|
+
const emptyListState = getEmptyState('exact');
|
|
30
|
+
return [emptyListState, (_) => Promise.resolve()];
|
|
31
|
+
}
|
|
32
|
+
const dataProvider = (0, hooks_1.useMemo)(() => wrapData(data), [data]);
|
|
33
|
+
const [state, dispatch] = (0, hooks_1.useReducer)(reducer, initialState);
|
|
34
|
+
const fetchRange = (0, hooks_1.useCallback)((range) => __awaiter(void 0, void 0, void 0, function* () {
|
|
35
|
+
const fetchOptions = {
|
|
36
|
+
attributes: options.attributes,
|
|
37
|
+
sortCriteria: options.sortCriteria,
|
|
38
|
+
filterCriterion: options.filterCriterion,
|
|
39
|
+
offset: range.offset,
|
|
40
|
+
size: range.count
|
|
41
|
+
};
|
|
42
|
+
try {
|
|
43
|
+
const result = yield dataProvider.fetchByOffset(fetchOptions);
|
|
44
|
+
const results = result['results'];
|
|
45
|
+
const sizePrecision = isDoneRef.current === true ? 'exact' : 'atLeast';
|
|
46
|
+
dispatch({
|
|
47
|
+
status: 'success',
|
|
48
|
+
data: {
|
|
49
|
+
offset: range.offset,
|
|
50
|
+
data: results,
|
|
51
|
+
totalSize: totalSizeRef.current,
|
|
52
|
+
sizePrecision: sizePrecision
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
dispatch({
|
|
58
|
+
status: 'error',
|
|
59
|
+
error: error
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}), [dataProvider, options.attributes, options.filterCriterion, options.sortCriteria]);
|
|
63
|
+
const loadInitial = (0, hooks_1.useCallback)(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
|
+
dispatch({ status: 'loading', data: null });
|
|
65
|
+
const iterator = dataProvider
|
|
66
|
+
.fetchFirst({
|
|
67
|
+
attributes: options.attributes,
|
|
68
|
+
sortCriteria: options.sortCriteria,
|
|
69
|
+
filterCriterion: options.filterCriterion,
|
|
70
|
+
size: fetchSize
|
|
71
|
+
})[Symbol.asyncIterator]();
|
|
72
|
+
iteratorRef.current = iterator;
|
|
73
|
+
try {
|
|
74
|
+
const result = yield iterator.next();
|
|
75
|
+
totalSizeRef.current = result.value.data.length;
|
|
76
|
+
if (result.done !== undefined) {
|
|
77
|
+
isDoneRef.current = result.done;
|
|
78
|
+
}
|
|
79
|
+
const initialFetchSize = options.initialRowsFetched && options.initialRowsFetched > 0
|
|
80
|
+
? options.initialRowsFetched
|
|
81
|
+
: fetchSize;
|
|
82
|
+
fetchRange({ offset: 0, count: Math.min(totalSizeRef.current, initialFetchSize) });
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
dispatch({
|
|
86
|
+
status: 'error',
|
|
87
|
+
error: error
|
|
88
|
+
});
|
|
89
|
+
iteratorRef.current = null;
|
|
90
|
+
}
|
|
91
|
+
}), [
|
|
92
|
+
dataProvider,
|
|
93
|
+
fetchRange,
|
|
94
|
+
options.attributes,
|
|
95
|
+
options.filterCriterion,
|
|
96
|
+
options.sortCriteria,
|
|
97
|
+
options.fetchSize
|
|
98
|
+
]);
|
|
99
|
+
const loadRange = (0, hooks_1.useCallback)((range) => __awaiter(void 0, void 0, void 0, function* () {
|
|
100
|
+
if (iteratorRef.current === null) {
|
|
101
|
+
loadInitial();
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
const endIndex = range.offset + range.count;
|
|
105
|
+
if (endIndex > totalSizeRef.current) {
|
|
106
|
+
if (fetchNextRef.current == null) {
|
|
107
|
+
const promise = fetchNextUntilThresholdOrDone(iteratorRef, totalSizeRef.current, endIndex);
|
|
108
|
+
fetchNextRef.current = promise;
|
|
109
|
+
try {
|
|
110
|
+
const value = yield promise;
|
|
111
|
+
if (value.done !== undefined) {
|
|
112
|
+
isDoneRef.current = value.done;
|
|
113
|
+
}
|
|
114
|
+
const total = value.total;
|
|
115
|
+
if (total > 0) {
|
|
116
|
+
totalSizeRef.current = total;
|
|
117
|
+
fetchRange({
|
|
118
|
+
offset: range.offset,
|
|
119
|
+
count: Math.min(totalSizeRef.current - range.offset, range.count)
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
fetchNextRef.current = null;
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
dispatch({
|
|
126
|
+
status: 'error',
|
|
127
|
+
error: error
|
|
128
|
+
});
|
|
129
|
+
fetchNextRef.current = null;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
fetchRange(range);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}), [state, loadInitial, fetchRange]);
|
|
138
|
+
const resetAndLoad = (0, hooks_1.useCallback)(() => {
|
|
139
|
+
iteratorRef.current = null;
|
|
140
|
+
fetchNextRef.current = null;
|
|
141
|
+
totalSizeRef.current = 0;
|
|
142
|
+
isDoneRef.current = false;
|
|
143
|
+
if (options.initialRowsFetched === 0) {
|
|
144
|
+
dispatch(getEmptyState('atLeast'));
|
|
145
|
+
}
|
|
146
|
+
else if (!options.isInitialFetchDeferred) {
|
|
147
|
+
loadInitial();
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
dispatch({ status: 'loading', data: null });
|
|
151
|
+
}
|
|
152
|
+
}, [loadInitial, options.isInitialFetchDeferred, options.initialRowsFetched]);
|
|
153
|
+
(0, hooks_1.useEffect)(() => {
|
|
154
|
+
resetAndLoad();
|
|
155
|
+
}, [resetAndLoad]);
|
|
156
|
+
const handleMutation = (0, hooks_1.useCallback)((event) => {
|
|
157
|
+
if (state.status === 'success' && state.data) {
|
|
158
|
+
const dataState = state.data;
|
|
159
|
+
let shouldUpdate = false;
|
|
160
|
+
if (event.detail.add) {
|
|
161
|
+
const itemsInserted = handleAddRemoveMutation(event.detail.add, dataState, options, true);
|
|
162
|
+
totalSizeRef.current = totalSizeRef.current + itemsInserted;
|
|
163
|
+
shouldUpdate = itemsInserted > 0 || dataState.sizePrecision === 'exact';
|
|
164
|
+
if (itemsInserted === 0) {
|
|
165
|
+
isDoneRef.current = false;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (event.detail.remove) {
|
|
169
|
+
const itemsRemoved = handleAddRemoveMutation(event.detail.remove, dataState, options, false);
|
|
170
|
+
totalSizeRef.current = totalSizeRef.current - itemsRemoved;
|
|
171
|
+
shouldUpdate = shouldUpdate || itemsRemoved > 0;
|
|
172
|
+
}
|
|
173
|
+
if (event.detail.update) {
|
|
174
|
+
shouldUpdate =
|
|
175
|
+
shouldUpdate || handleUpdateMutation(event.detail.update, dataState, options);
|
|
176
|
+
}
|
|
177
|
+
if (shouldUpdate) {
|
|
178
|
+
fetchRange({ offset: dataState.offset, count: dataState.data.length });
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}, [state, options, fetchRange]);
|
|
182
|
+
const handleRefresh = (0, hooks_1.useCallback)((event) => {
|
|
183
|
+
var _a;
|
|
184
|
+
let adjustment = -1;
|
|
185
|
+
const disregardAfterKey = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.disregardAfterKey;
|
|
186
|
+
if (disregardAfterKey && state.status === 'success') {
|
|
187
|
+
const index = state.data.data.findIndex((value) => {
|
|
188
|
+
return value.metadata.key === disregardAfterKey;
|
|
189
|
+
});
|
|
190
|
+
if (index > -1) {
|
|
191
|
+
adjustment = state.data.data.length - index - 1;
|
|
192
|
+
}
|
|
193
|
+
if (adjustment === 0 && state.data.data.length >= fetchSize) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (adjustment > -1 && state.status === 'success') {
|
|
198
|
+
totalSizeRef.current = totalSizeRef.current - adjustment;
|
|
199
|
+
loadRange({
|
|
200
|
+
offset: state.data.offset,
|
|
201
|
+
count: Math.max(state.data.data.length, fetchSize)
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
resetAndLoad();
|
|
206
|
+
}
|
|
207
|
+
}, [state, resetAndLoad]);
|
|
208
|
+
(0, hooks_1.useEffect)(() => {
|
|
209
|
+
dataProvider.addEventListener('refresh', handleRefresh);
|
|
210
|
+
dataProvider.addEventListener('mutate', handleMutation);
|
|
211
|
+
return () => {
|
|
212
|
+
dataProvider.removeEventListener('refresh', handleRefresh);
|
|
213
|
+
dataProvider.removeEventListener('mutate', handleMutation);
|
|
214
|
+
};
|
|
215
|
+
}, [dataProvider, resetAndLoad, handleMutation]);
|
|
216
|
+
return [state, loadRange];
|
|
217
|
+
};
|
|
218
|
+
exports.useListData = useListData;
|
|
219
|
+
const wrapData = (data) => {
|
|
220
|
+
const configuration = {
|
|
221
|
+
fetchFirst: { caching: 'visitedByCurrentIterator' }
|
|
222
|
+
};
|
|
223
|
+
return (0, ojdataproviderfactory_1.getEnhancedDataProvider)(data, configuration);
|
|
224
|
+
};
|
|
225
|
+
const reducer = (state, action) => {
|
|
226
|
+
if (state.status === action.status && action.status === 'loading') {
|
|
227
|
+
return state;
|
|
228
|
+
}
|
|
229
|
+
return action;
|
|
230
|
+
};
|
|
231
|
+
const fetchNextUntilThresholdOrDone = (iteratorRef, current, threshold) => __awaiter(void 0, void 0, void 0, function* () {
|
|
232
|
+
return yield fetchNextRecursive(iteratorRef, current, threshold);
|
|
233
|
+
});
|
|
234
|
+
const fetchNextRecursive = (iteratorRef, currentCount, threshold) => __awaiter(void 0, void 0, void 0, function* () {
|
|
235
|
+
const currentIterator = iteratorRef.current;
|
|
236
|
+
if (currentIterator === null) {
|
|
237
|
+
return { total: -1, done: undefined };
|
|
238
|
+
}
|
|
239
|
+
const result = yield currentIterator.next();
|
|
240
|
+
if (currentIterator === iteratorRef.current) {
|
|
241
|
+
currentCount += result.value.data.length;
|
|
242
|
+
if (currentCount >= threshold || result.done) {
|
|
243
|
+
return { total: currentCount, done: result.done };
|
|
244
|
+
}
|
|
245
|
+
return fetchNextRecursive(iteratorRef, currentCount, threshold);
|
|
246
|
+
}
|
|
247
|
+
return { total: -1, done: undefined };
|
|
248
|
+
});
|
|
249
|
+
const getEmptyState = (precision) => {
|
|
250
|
+
return {
|
|
251
|
+
status: 'success',
|
|
252
|
+
data: {
|
|
253
|
+
offset: 0,
|
|
254
|
+
data: [],
|
|
255
|
+
totalSize: 0,
|
|
256
|
+
sizePrecision: precision
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
};
|
|
260
|
+
const handleAddRemoveMutation = (detail, dataState, options, isAdd) => {
|
|
261
|
+
var _a;
|
|
262
|
+
let itemCount = 0;
|
|
263
|
+
if (isIndexesAvailable(detail, options)) {
|
|
264
|
+
const indexes = isAdd ? (_a = detail.indexes) === null || _a === void 0 ? void 0 : _a.sort() : detail.indexes;
|
|
265
|
+
let endIndex = dataState.totalSize - 1;
|
|
266
|
+
indexes === null || indexes === void 0 ? void 0 : indexes.forEach((index) => {
|
|
267
|
+
if (index <= endIndex) {
|
|
268
|
+
itemCount = itemCount += 1;
|
|
269
|
+
if (isAdd) {
|
|
270
|
+
endIndex = endIndex += 1;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
}
|
|
277
|
+
return itemCount;
|
|
278
|
+
};
|
|
279
|
+
const handleUpdateMutation = (detail, dataState, options) => {
|
|
280
|
+
if (isIndexesAvailable(detail, options)) {
|
|
281
|
+
const indexes = detail.indexes ? detail.indexes : [];
|
|
282
|
+
const startIndex = dataState.offset;
|
|
283
|
+
const endIndex = startIndex + dataState.data.length;
|
|
284
|
+
for (let i = 0; i < indexes.length; i++) {
|
|
285
|
+
if (indexes[i] >= startIndex && indexes[i] < endIndex) {
|
|
286
|
+
return true;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
}
|
|
292
|
+
return false;
|
|
293
|
+
};
|
|
294
|
+
const isIndexesAvailable = (detail, options) => {
|
|
295
|
+
return detail.indexes && options.sortCriteria == null && options.filterCriterion == null;
|
|
296
|
+
};
|
|
297
|
+
});
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
13
|
+
define(["require", "exports", "chai", "ojs/ojarraytreedataprovider", "../useTreeData", "@testing-library/preact-hooks"], function (require, exports, chai_1, ojarraytreedataprovider_1, useTreeData_1, preact_hooks_1) {
|
|
14
|
+
"use strict";
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
ojarraytreedataprovider_1 = __importDefault(ojarraytreedataprovider_1);
|
|
17
|
+
describe('Test useTree hook', () => {
|
|
18
|
+
it('render', function () {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const countPerLevel = 20;
|
|
21
|
+
const numLevels = 3;
|
|
22
|
+
const createData = (level, parentId) => {
|
|
23
|
+
const data = [];
|
|
24
|
+
const count = countPerLevel;
|
|
25
|
+
if (level == null) {
|
|
26
|
+
level = 1;
|
|
27
|
+
}
|
|
28
|
+
if (parentId == null) {
|
|
29
|
+
parentId = '';
|
|
30
|
+
}
|
|
31
|
+
for (let i = 0; i < count; i++) {
|
|
32
|
+
const key = parentId + 'l' + level + 'i' + i;
|
|
33
|
+
const obj = { key: key, name: 'Item ' + (i + 1) };
|
|
34
|
+
obj.level = level;
|
|
35
|
+
obj.parentKey = parentId;
|
|
36
|
+
obj.setSize = countPerLevel;
|
|
37
|
+
obj.posInSet = i + 1;
|
|
38
|
+
if (level === numLevels) {
|
|
39
|
+
obj.isLeaf = true;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
obj.isLeaf = false;
|
|
43
|
+
}
|
|
44
|
+
if (level < numLevels) {
|
|
45
|
+
obj.children = createData(level + 1, key);
|
|
46
|
+
}
|
|
47
|
+
data.push(obj);
|
|
48
|
+
}
|
|
49
|
+
return data;
|
|
50
|
+
};
|
|
51
|
+
const treeDataProvider = new ojarraytreedataprovider_1.default(createData(null, null), {
|
|
52
|
+
keyAttributes: 'key'
|
|
53
|
+
});
|
|
54
|
+
const { result } = (0, preact_hooks_1.renderHook)(() => (0, useTreeData_1.useTreeData)(treeDataProvider, {
|
|
55
|
+
initialRowsFetched: 0,
|
|
56
|
+
includeClosestParents: true
|
|
57
|
+
}));
|
|
58
|
+
(0, chai_1.expect)(result.current).to.be.an('array');
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
});
|