@elliemae/ds-shuttle 1.56.0-rc.2 → 1.57.0-rc.10
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/cjs/DSShuttle.js +8 -12
- package/cjs/DSShuttle.js.map +1 -1
- package/cjs/Shuttle.actions.js +7 -7
- package/cjs/Shuttle.actions.js.map +1 -1
- package/cjs/ShuttleContainer.js +6 -6
- package/cjs/ShuttleContainer.js.map +1 -1
- package/cjs/ShuttleImpl.js +13 -17
- package/cjs/ShuttleImpl.js.map +1 -1
- package/cjs/ShuttleRenderer.js +8 -12
- package/cjs/ShuttleRenderer.js.map +1 -1
- package/cjs/ShuttleState.js +1 -1
- package/cjs/classedComponents.js +2 -2
- package/cjs/classedComponents.js.map +1 -1
- package/cjs/components/LoadingIndicator.js +2 -2
- package/cjs/components/LoadingIndicator.js.map +1 -1
- package/cjs/components/ShuttleBreadcrumb.js +1 -1
- package/cjs/components/ShuttleBreadcrumb.js.map +1 -1
- package/cjs/components/ShuttleInfiniteScrollIndicator.js +1 -1
- package/cjs/components/ShuttleInfiniteScrollIndicator.js.map +1 -1
- package/cjs/components/ShuttleListItem/ActionButtons.js +5 -10
- package/cjs/components/ShuttleListItem/ActionButtons.js.map +1 -1
- package/cjs/components/ShuttleListItem/ShuttleListItem.js +4 -5
- package/cjs/components/ShuttleListItem/ShuttleListItem.js.map +1 -1
- package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +4 -7
- package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js.map +1 -1
- package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +4 -7
- package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js.map +1 -1
- package/cjs/components/ShuttleListPanel.js +2 -2
- package/cjs/components/ShuttleListPanel.js.map +1 -1
- package/cjs/components/ShuttleSearchBox.js +4 -5
- package/cjs/components/ShuttleSearchBox.js.map +1 -1
- package/cjs/components/ShuttleSource.js +13 -19
- package/cjs/components/ShuttleSource.js.map +1 -1
- package/cjs/components/ShuttleTarget.js +6 -9
- package/cjs/components/ShuttleTarget.js.map +1 -1
- package/cjs/helper.js +4 -4
- package/cjs/helper.js.map +1 -1
- package/cjs/index.js +8 -12
- package/cjs/index.js.map +1 -1
- package/cjs/updateShuttleStateFromProps.js +6 -6
- package/cjs/updateShuttleStateFromProps.js.map +1 -1
- package/cjs/utils.js +2 -2
- package/cjs/utils.js.map +1 -1
- package/cjs/withProviders.js +1 -1
- package/esm/DSShuttle.js +8 -12
- package/esm/DSShuttle.js.map +1 -1
- package/esm/Shuttle.actions.js +1 -1
- package/esm/Shuttle.actions.js.map +1 -1
- package/esm/ShuttleContainer.js +1 -1
- package/esm/ShuttleContainer.js.map +1 -1
- package/esm/ShuttleImpl.js +8 -12
- package/esm/ShuttleImpl.js.map +1 -1
- package/esm/ShuttleRenderer.js +8 -12
- package/esm/ShuttleRenderer.js.map +1 -1
- package/esm/ShuttleState.js +1 -1
- package/esm/classedComponents.js +2 -2
- package/esm/classedComponents.js.map +1 -1
- package/esm/components/LoadingIndicator.js +1 -1
- package/esm/components/LoadingIndicator.js.map +1 -1
- package/esm/components/ShuttleBreadcrumb.js +1 -1
- package/esm/components/ShuttleBreadcrumb.js.map +1 -1
- package/esm/components/ShuttleInfiniteScrollIndicator.js +1 -1
- package/esm/components/ShuttleInfiniteScrollIndicator.js.map +1 -1
- package/esm/components/ShuttleListItem/ActionButtons.js +2 -4
- package/esm/components/ShuttleListItem/ActionButtons.js.map +1 -1
- package/esm/components/ShuttleListItem/ShuttleListItem.js +3 -3
- package/esm/components/ShuttleListItem/ShuttleListItem.js.map +1 -1
- package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +4 -7
- package/esm/components/ShuttleListItem/ShuttleSourceListItem.js.map +1 -1
- package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +4 -7
- package/esm/components/ShuttleListItem/ShuttleTargetListItem.js.map +1 -1
- package/esm/components/ShuttleListPanel.js +2 -2
- package/esm/components/ShuttleListPanel.js.map +1 -1
- package/esm/components/ShuttleSearchBox.js +2 -2
- package/esm/components/ShuttleSearchBox.js.map +1 -1
- package/esm/components/ShuttleSource.js +8 -12
- package/esm/components/ShuttleSource.js.map +1 -1
- package/esm/components/ShuttleTarget.js +6 -9
- package/esm/components/ShuttleTarget.js.map +1 -1
- package/esm/helper.js +1 -1
- package/esm/helper.js.map +1 -1
- package/esm/index.js +8 -12
- package/esm/index.js.map +1 -1
- package/esm/updateShuttleStateFromProps.js +1 -1
- package/esm/updateShuttleStateFromProps.js.map +1 -1
- package/esm/utils.js +1 -1
- package/esm/utils.js.map +1 -1
- package/esm/withProviders.js +1 -1
- package/package.json +6 -6
|
@@ -3,10 +3,9 @@ import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutPr
|
|
|
3
3
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
4
4
|
import React, { useContext, useMemo, useCallback } from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
-
import ArrowShortRight from '@elliemae/ds-icons
|
|
7
|
-
import DSButton from '@elliemae/ds-
|
|
8
|
-
import
|
|
9
|
-
import { runAll } from '@elliemae/ds-utilities/utils';
|
|
6
|
+
import { Search, ArrowShortRight } from '@elliemae/ds-icons';
|
|
7
|
+
import DSButton from '@elliemae/ds-button';
|
|
8
|
+
import { runAll } from '@elliemae/ds-utilities';
|
|
10
9
|
import ShuttleSearchBox from './ShuttleSearchBox.js';
|
|
11
10
|
import ShuttleInfiniteScrollIndicator from './ShuttleInfiniteScrollIndicator.js';
|
|
12
11
|
import ShuttleSourceListItem from './ShuttleListItem/ShuttleSourceListItem.js';
|
|
@@ -25,19 +24,16 @@ import '@babel/runtime/helpers/esm/inherits';
|
|
|
25
24
|
import '@babel/runtime/helpers/esm/possibleConstructorReturn';
|
|
26
25
|
import '@babel/runtime/helpers/esm/getPrototypeOf';
|
|
27
26
|
import '@elliemae/ds-classnames';
|
|
28
|
-
import '@elliemae/ds-
|
|
29
|
-
import '@elliemae/ds-
|
|
27
|
+
import '@elliemae/ds-form';
|
|
28
|
+
import '@elliemae/ds-indeterminate-progress-indicator';
|
|
30
29
|
import '@babel/runtime/helpers/esm/slicedToArray';
|
|
31
30
|
import './ShuttleListItem/ActionButtons.js';
|
|
32
|
-
import '@elliemae/ds-icons/CloseCircle';
|
|
33
|
-
import '@elliemae/ds-icons/ArrowShortReturn';
|
|
34
31
|
import './ShuttleListItem/ShuttleListItem.js';
|
|
35
32
|
import 'react-spring/web.cjs';
|
|
36
|
-
import '@elliemae/ds-
|
|
33
|
+
import '@elliemae/ds-truncated-tooltip-text';
|
|
37
34
|
import 'react-sortable-hoc';
|
|
38
|
-
import '@elliemae/ds-icons/GripperVertical';
|
|
39
35
|
import './ShuttleBreadcrumb.js';
|
|
40
|
-
import '@elliemae/ds-
|
|
36
|
+
import '@elliemae/ds-breadcrumb';
|
|
41
37
|
import '../animation/animationConfig.js';
|
|
42
38
|
import './OverflowList.js';
|
|
43
39
|
import 'react-window';
|
|
@@ -46,7 +42,7 @@ import 'react-virtualized-auto-sizer';
|
|
|
46
42
|
import './VirtualizedItem.js';
|
|
47
43
|
import 'treetabular';
|
|
48
44
|
import 'constate';
|
|
49
|
-
import '@elliemae/ds-
|
|
45
|
+
import '@elliemae/ds-circular-progress-indicator';
|
|
50
46
|
import 'styled-components';
|
|
51
47
|
|
|
52
48
|
var _excluded = ["item"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShuttleSource.js","sources":["../../../src/components/ShuttleSource.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable no-shadow */\nimport React, { useCallback, useContext, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport ArrowShortRight from '@elliemae/ds-icons/ArrowShortRight';\nimport DSButton from '@elliemae/ds-basic/Button';\nimport Search from '@elliemae/ds-icons/Search';\nimport { runAll } from '@elliemae/ds-utilities/utils';\nimport ShuttleSearchBox from './ShuttleSearchBox';\nimport ShuttleInfiniteScrollIndicator from './ShuttleInfiniteScrollIndicator';\nimport ShuttleSourceListItem from './ShuttleListItem/ShuttleSourceListItem';\nimport {\n ShuttleFooterCounter,\n Overflow,\n ShuttleFooter,\n ShuttleHeader,\n ShuttleHeaderBreadcrumb,\n ShuttleHeaderSearchToggle,\n ShuttleList,\n ShuttleWrapper,\n ShuttleFooterActions,\n EmptyMessage,\n LoadingList,\n} from '../classedComponents';\nimport ShuttleListPanel from './ShuttleListPanel';\nimport VirtualizedList from './VirtualizedList';\nimport { getActiveIdFromHierarchy } from '../helper';\nimport AnimationState from '../AnimationState';\nimport SearchState from '../SearchState';\nimport VirtualizedSortableList from './VirtualizedSortableList';\nimport LoadingIndicator from './LoadingIndicator';\n\nconst noop = () => {};\n\nfunction ShuttleSource({\n items = [],\n checkedItems = [], // build Map() and memoize it for better performance\n hierarchy = [],\n onMoveItem = noop,\n onCheckItem = noop,\n onMoveCheckedItems = noop,\n onNavigateTo = noop,\n onClearCheckedItems = noop,\n emptyMessage = 'No items found',\n composeSourceItemProps = noop,\n loading = false,\n onSearch = noop,\n onSearchClose = noop,\n onSearchOpen = noop,\n sourceSortable = false,\n onSortEnd = noop,\n sourceClearItemsText = 'CLEAR ALL',\n searchPlaceholder,\n renderSourceCounter = (amount) => `${amount} items`,\n onGetMoreItems = () => {},\n moreItemsLoading = false,\n hasNextPage = false,\n}) {\n const {\n state: { isMovingBack = false, isMoving },\n } = useContext(AnimationState.Context);\n const {\n state: { searching, searchTerm },\n setSearchTerm,\n reset: resetSearch,\n toggleSearchBox,\n } = useContext(SearchState.Context);\n\n const hashedCheckedItems = useMemo(\n () =>\n checkedItems.reduce((result, item) => ({ ...result, [item]: true }), {}),\n [checkedItems],\n );\n\n const handleCloseSearch = useCallback(() => {\n setSearchTerm('');\n runAll(resetSearch, onSearchClose)();\n }, [searching]);\n\n const handleToggleSearch = useCallback(() => {\n toggleSearchBox(!searching);\n if (searching) {\n handleCloseSearch();\n } else {\n onSearchOpen();\n }\n }, [searching]);\n\n const ComponentList = useMemo(\n () => (sourceSortable ? VirtualizedSortableList : VirtualizedList),\n [sourceSortable],\n );\n\n const handleSortEnd = ({ oldIndex, newIndex }) => {\n onSortEnd({\n sourceItem: items[oldIndex],\n targetItem: items[newIndex],\n });\n };\n\n const isEmpty = !items.length;\n const hasContent = !loading && !isEmpty;\n const contentIsEmpty = !loading && isEmpty;\n\n return (\n <ShuttleWrapper>\n <ShuttleHeader>\n <ShuttleHeaderBreadcrumb\n hierarchy={hierarchy}\n onNavigateTo={onNavigateTo}\n />\n <ShuttleHeaderSearchToggle\n buttonType=\"text\"\n icon={<Search />}\n onClick={handleToggleSearch}\n containerProps={{ 'data-testid': 'shuttle-header-search-toggle' }}\n />\n </ShuttleHeader>\n <ShuttleList\n classProps={{ showPulse: isMovingBack }}\n style={{ pointerEvents: isMoving ? 'none' : null }}\n >\n <ShuttleSearchBox\n key={searching}\n isOpen={searching}\n onClose={runAll(() => toggleSearchBox(false), handleCloseSearch)}\n onFilter={runAll(setSearchTerm, onSearch)}\n placeholder={searchPlaceholder}\n value={searchTerm}\n />\n {hasContent ? (\n <Overflow\n activeHierarchy={getActiveIdFromHierarchy(hierarchy).id}\n classProps={{\n searching,\n empty: isEmpty,\n }}\n >\n <ComponentList\n key={searchTerm}\n helperClass=\"drag-helper\"\n itemRenderer={({ item, ...rest }) => (\n <ShuttleSourceListItem\n data-testid=\"source-list-item\"\n {...rest}\n {...composeSourceItemProps(item, rest)}\n isChecked={!!hashedCheckedItems[item.id]}\n item={item}\n onItemCheck={onCheckItem}\n onMoveToTarget={onMoveItem}\n onNavigateOnSourceTo={onNavigateTo}\n showSortHandler={sourceSortable}\n />\n )}\n items={items}\n onSortEnd={handleSortEnd}\n getMoreItems={onGetMoreItems}\n hasNextPage={hasNextPage}\n />\n </Overflow>\n ) : null}\n {contentIsEmpty ? (\n <LoadingList data-testid=\"shuttle__loading-list\">\n <EmptyMessage>{emptyMessage}</EmptyMessage>\n </LoadingList>\n ) : null}\n {loading ? (\n <LoadingList data-testid=\"shuttle__loading-list\">\n <LoadingIndicator />\n </LoadingList>\n ) : null}\n <ShuttleListPanel\n onClick={onMoveCheckedItems}\n open={checkedItems.length > 1}\n >\n <ArrowShortRight />\n </ShuttleListPanel>\n {moreItemsLoading ? <ShuttleInfiniteScrollIndicator isOpen /> : null}\n </ShuttleList>\n <ShuttleFooter>\n <ShuttleFooterActions>\n {!!checkedItems.length && (\n <DSButton\n buttonType=\"link\"\n labelText={sourceClearItemsText}\n onClick={onClearCheckedItems}\n />\n )}\n </ShuttleFooterActions>\n <ShuttleFooterCounter>\n {renderSourceCounter(checkedItems.length)}\n </ShuttleFooterCounter>\n </ShuttleFooter>\n </ShuttleWrapper>\n );\n}\n\nShuttleSource.propTypes = {\n items: PropTypes.arrayOf(PropTypes.shape({})),\n checkedItems: PropTypes.arrayOf(PropTypes.shape({})),\n hierarchy: PropTypes.arrayOf(PropTypes.shape({})),\n onMoveItem: PropTypes.func,\n onCheckItem: PropTypes.func,\n onMoveCheckedItems: PropTypes.func,\n onNavigateTo: PropTypes.func,\n onClearCheckedItems: PropTypes.func,\n emptyMessage: PropTypes.string,\n composeSourceItemProps: PropTypes.func,\n loading: PropTypes.bool,\n onSearch: PropTypes.func,\n onSearchClose: PropTypes.func,\n onSearchOpen: PropTypes.func,\n sourceSortable: PropTypes.bool,\n onSortEnd: PropTypes.func,\n sourceClearItemsText: PropTypes.string,\n searchPlaceholder: PropTypes.string,\n renderSourceCounter: PropTypes.func,\n onGetMoreItems: PropTypes.func,\n moreItemsLoading: PropTypes.bool,\n hasNextPage: PropTypes.bool,\n};\n\nexport default ShuttleSource;\n"],"names":["noop","ShuttleSource","items","checkedItems","hierarchy","onMoveItem","onCheckItem","onMoveCheckedItems","onNavigateTo","onClearCheckedItems","emptyMessage","composeSourceItemProps","loading","onSearch","onSearchClose","onSearchOpen","sourceSortable","onSortEnd","sourceClearItemsText","searchPlaceholder","renderSourceCounter","amount","onGetMoreItems","moreItemsLoading","hasNextPage","useContext","AnimationState","Context","state","isMovingBack","isMoving","SearchState","searching","searchTerm","setSearchTerm","resetSearch","reset","toggleSearchBox","hashedCheckedItems","useMemo","reduce","result","item","handleCloseSearch","useCallback","runAll","handleToggleSearch","ComponentList","VirtualizedSortableList","VirtualizedList","handleSortEnd","oldIndex","newIndex","sourceItem","targetItem","isEmpty","length","hasContent","contentIsEmpty","showPulse","pointerEvents","getActiveIdFromHierarchy","id","empty","rest","propTypes","PropTypes","arrayOf","shape","func","string","bool"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ShuttleSource.js","sources":["../../../src/components/ShuttleSource.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable no-shadow */\nimport React, { useCallback, useContext, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ArrowShortRight, Search } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport { runAll } from '@elliemae/ds-utilities';\nimport ShuttleSearchBox from './ShuttleSearchBox';\nimport ShuttleInfiniteScrollIndicator from './ShuttleInfiniteScrollIndicator';\nimport ShuttleSourceListItem from './ShuttleListItem/ShuttleSourceListItem';\nimport {\n ShuttleFooterCounter,\n Overflow,\n ShuttleFooter,\n ShuttleHeader,\n ShuttleHeaderBreadcrumb,\n ShuttleHeaderSearchToggle,\n ShuttleList,\n ShuttleWrapper,\n ShuttleFooterActions,\n EmptyMessage,\n LoadingList,\n} from '../classedComponents';\nimport ShuttleListPanel from './ShuttleListPanel';\nimport VirtualizedList from './VirtualizedList';\nimport { getActiveIdFromHierarchy } from '../helper';\nimport AnimationState from '../AnimationState';\nimport SearchState from '../SearchState';\nimport VirtualizedSortableList from './VirtualizedSortableList';\nimport LoadingIndicator from './LoadingIndicator';\n\nconst noop = () => {};\n\nfunction ShuttleSource({\n items = [],\n checkedItems = [], // build Map() and memoize it for better performance\n hierarchy = [],\n onMoveItem = noop,\n onCheckItem = noop,\n onMoveCheckedItems = noop,\n onNavigateTo = noop,\n onClearCheckedItems = noop,\n emptyMessage = 'No items found',\n composeSourceItemProps = noop,\n loading = false,\n onSearch = noop,\n onSearchClose = noop,\n onSearchOpen = noop,\n sourceSortable = false,\n onSortEnd = noop,\n sourceClearItemsText = 'CLEAR ALL',\n searchPlaceholder,\n renderSourceCounter = (amount) => `${amount} items`,\n onGetMoreItems = () => {},\n moreItemsLoading = false,\n hasNextPage = false,\n}) {\n const {\n state: { isMovingBack = false, isMoving },\n } = useContext(AnimationState.Context);\n const {\n state: { searching, searchTerm },\n setSearchTerm,\n reset: resetSearch,\n toggleSearchBox,\n } = useContext(SearchState.Context);\n\n const hashedCheckedItems = useMemo(\n () => checkedItems.reduce((result, item) => ({ ...result, [item]: true }), {}),\n [checkedItems],\n );\n\n const handleCloseSearch = useCallback(() => {\n setSearchTerm('');\n runAll(resetSearch, onSearchClose)();\n }, [searching]);\n\n const handleToggleSearch = useCallback(() => {\n toggleSearchBox(!searching);\n if (searching) {\n handleCloseSearch();\n } else {\n onSearchOpen();\n }\n }, [searching]);\n\n const ComponentList = useMemo(() => (sourceSortable ? VirtualizedSortableList : VirtualizedList), [sourceSortable]);\n\n const handleSortEnd = ({ oldIndex, newIndex }) => {\n onSortEnd({\n sourceItem: items[oldIndex],\n targetItem: items[newIndex],\n });\n };\n\n const isEmpty = !items.length;\n const hasContent = !loading && !isEmpty;\n const contentIsEmpty = !loading && isEmpty;\n\n return (\n <ShuttleWrapper>\n <ShuttleHeader>\n <ShuttleHeaderBreadcrumb hierarchy={hierarchy} onNavigateTo={onNavigateTo} />\n <ShuttleHeaderSearchToggle\n buttonType=\"text\"\n icon={<Search />}\n onClick={handleToggleSearch}\n containerProps={{ 'data-testid': 'shuttle-header-search-toggle' }}\n />\n </ShuttleHeader>\n <ShuttleList classProps={{ showPulse: isMovingBack }} style={{ pointerEvents: isMoving ? 'none' : null }}>\n <ShuttleSearchBox\n key={searching}\n isOpen={searching}\n onClose={runAll(() => toggleSearchBox(false), handleCloseSearch)}\n onFilter={runAll(setSearchTerm, onSearch)}\n placeholder={searchPlaceholder}\n value={searchTerm}\n />\n {hasContent ? (\n <Overflow\n activeHierarchy={getActiveIdFromHierarchy(hierarchy).id}\n classProps={{\n searching,\n empty: isEmpty,\n }}\n >\n <ComponentList\n key={searchTerm}\n helperClass=\"drag-helper\"\n itemRenderer={({ item, ...rest }) => (\n <ShuttleSourceListItem\n data-testid=\"source-list-item\"\n {...rest}\n {...composeSourceItemProps(item, rest)}\n isChecked={!!hashedCheckedItems[item.id]}\n item={item}\n onItemCheck={onCheckItem}\n onMoveToTarget={onMoveItem}\n onNavigateOnSourceTo={onNavigateTo}\n showSortHandler={sourceSortable}\n />\n )}\n items={items}\n onSortEnd={handleSortEnd}\n getMoreItems={onGetMoreItems}\n hasNextPage={hasNextPage}\n />\n </Overflow>\n ) : null}\n {contentIsEmpty ? (\n <LoadingList data-testid=\"shuttle__loading-list\">\n <EmptyMessage>{emptyMessage}</EmptyMessage>\n </LoadingList>\n ) : null}\n {loading ? (\n <LoadingList data-testid=\"shuttle__loading-list\">\n <LoadingIndicator />\n </LoadingList>\n ) : null}\n <ShuttleListPanel onClick={onMoveCheckedItems} open={checkedItems.length > 1}>\n <ArrowShortRight />\n </ShuttleListPanel>\n {moreItemsLoading ? <ShuttleInfiniteScrollIndicator isOpen /> : null}\n </ShuttleList>\n <ShuttleFooter>\n <ShuttleFooterActions>\n {!!checkedItems.length && (\n <DSButton buttonType=\"link\" labelText={sourceClearItemsText} onClick={onClearCheckedItems} />\n )}\n </ShuttleFooterActions>\n <ShuttleFooterCounter>{renderSourceCounter(checkedItems.length)}</ShuttleFooterCounter>\n </ShuttleFooter>\n </ShuttleWrapper>\n );\n}\n\nShuttleSource.propTypes = {\n items: PropTypes.arrayOf(PropTypes.shape({})),\n checkedItems: PropTypes.arrayOf(PropTypes.shape({})),\n hierarchy: PropTypes.arrayOf(PropTypes.shape({})),\n onMoveItem: PropTypes.func,\n onCheckItem: PropTypes.func,\n onMoveCheckedItems: PropTypes.func,\n onNavigateTo: PropTypes.func,\n onClearCheckedItems: PropTypes.func,\n emptyMessage: PropTypes.string,\n composeSourceItemProps: PropTypes.func,\n loading: PropTypes.bool,\n onSearch: PropTypes.func,\n onSearchClose: PropTypes.func,\n onSearchOpen: PropTypes.func,\n sourceSortable: PropTypes.bool,\n onSortEnd: PropTypes.func,\n sourceClearItemsText: PropTypes.string,\n searchPlaceholder: PropTypes.string,\n renderSourceCounter: PropTypes.func,\n onGetMoreItems: PropTypes.func,\n moreItemsLoading: PropTypes.bool,\n hasNextPage: PropTypes.bool,\n};\n\nexport default ShuttleSource;\n"],"names":["noop","ShuttleSource","items","checkedItems","hierarchy","onMoveItem","onCheckItem","onMoveCheckedItems","onNavigateTo","onClearCheckedItems","emptyMessage","composeSourceItemProps","loading","onSearch","onSearchClose","onSearchOpen","sourceSortable","onSortEnd","sourceClearItemsText","searchPlaceholder","renderSourceCounter","amount","onGetMoreItems","moreItemsLoading","hasNextPage","useContext","AnimationState","Context","state","isMovingBack","isMoving","SearchState","searching","searchTerm","setSearchTerm","resetSearch","reset","toggleSearchBox","hashedCheckedItems","useMemo","reduce","result","item","handleCloseSearch","useCallback","runAll","handleToggleSearch","ComponentList","VirtualizedSortableList","VirtualizedList","handleSortEnd","oldIndex","newIndex","sourceItem","targetItem","isEmpty","length","hasContent","contentIsEmpty","showPulse","pointerEvents","getActiveIdFromHierarchy","id","empty","rest","propTypes","PropTypes","arrayOf","shape","func","string","bool"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
3
3
|
import React, { useContext } from 'react';
|
|
4
|
-
import DSButton from '@elliemae/ds-
|
|
4
|
+
import DSButton from '@elliemae/ds-button';
|
|
5
5
|
import { ShuttleWrapper, ShuttleHeader, ShuttleHeaderBreadcrumb, ShuttleList, Overflow, LoadingList, ShuttleFooter, ShuttleFooterActions, ShuttleFooterCounter, EmptyMessage } from '../classedComponents.js';
|
|
6
6
|
import { getActiveIdFromHierarchy } from '../helper.js';
|
|
7
7
|
import AnimationContext from '../AnimationState.js';
|
|
@@ -12,11 +12,11 @@ import LoadingIndicator from './LoadingIndicator.js';
|
|
|
12
12
|
import '@elliemae/ds-classnames';
|
|
13
13
|
import './ShuttleBreadcrumb.js';
|
|
14
14
|
import 'react-spring/web.cjs';
|
|
15
|
-
import '@elliemae/ds-
|
|
15
|
+
import '@elliemae/ds-breadcrumb';
|
|
16
16
|
import '../animation/animationConfig.js';
|
|
17
17
|
import './OverflowList.js';
|
|
18
18
|
import '@babel/runtime/helpers/esm/defineProperty';
|
|
19
|
-
import '@elliemae/ds-utilities
|
|
19
|
+
import '@elliemae/ds-utilities';
|
|
20
20
|
import 'treetabular';
|
|
21
21
|
import '@babel/runtime/helpers/esm/slicedToArray';
|
|
22
22
|
import 'constate';
|
|
@@ -25,14 +25,11 @@ import 'react-window-infinite-loader';
|
|
|
25
25
|
import 'react-virtualized-auto-sizer';
|
|
26
26
|
import './VirtualizedItem.js';
|
|
27
27
|
import './ShuttleListItem/ActionButtons.js';
|
|
28
|
-
import '@elliemae/ds-icons
|
|
29
|
-
import '@elliemae/ds-icons/ArrowShortRight';
|
|
30
|
-
import '@elliemae/ds-icons/ArrowShortReturn';
|
|
28
|
+
import '@elliemae/ds-icons';
|
|
31
29
|
import './ShuttleListItem/ShuttleListItem.js';
|
|
32
|
-
import '@elliemae/ds-
|
|
30
|
+
import '@elliemae/ds-truncated-tooltip-text';
|
|
33
31
|
import 'react-sortable-hoc';
|
|
34
|
-
import '@elliemae/ds-
|
|
35
|
-
import '@elliemae/ds-basic/CircularProgressIndicator';
|
|
32
|
+
import '@elliemae/ds-circular-progress-indicator';
|
|
36
33
|
import 'styled-components';
|
|
37
34
|
|
|
38
35
|
var _excluded = ["item"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShuttleTarget.js","sources":["../../../src/components/ShuttleTarget.tsx"],"sourcesContent":["import React, { useContext
|
|
1
|
+
{"version":3,"file":"ShuttleTarget.js","sources":["../../../src/components/ShuttleTarget.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport DSButton from '@elliemae/ds-button';\n\nimport {\n EmptyMessage,\n Overflow,\n ShuttleFooter,\n ShuttleFooterActions,\n ShuttleFooterCounter,\n ShuttleHeader,\n ShuttleHeaderBreadcrumb,\n ShuttleList,\n ShuttleWrapper,\n LoadingList,\n} from '../classedComponents';\nimport { getActiveIdFromHierarchy } from '../helper';\nimport AnimationContext from '../AnimationState';\nimport VirtualizedList from './VirtualizedList';\nimport ShuttleTargetListItem from './ShuttleListItem/ShuttleTargetListItem';\nimport VirtualizedSortableList from './VirtualizedSortableList';\nimport LoadingIndicator from './LoadingIndicator';\n\nconst noop = () => {};\n\nfunction ShuttleTarget({\n items = [],\n hierarchy = [],\n onNavigateTo = noop,\n onMoveItem = noop,\n onClearMovedItems = noop,\n emptyMessage = 'No items selected',\n composeTargetItemProps = () => ({}),\n targetSortable = false,\n onSortEnd = noop,\n targetClearItemsText = 'CLEAR ALL',\n renderTargetCounter = (amount) => `${amount} items`,\n loading = false,\n}) {\n const {\n state: { isMoving = false },\n } = useContext(AnimationContext.Context);\n const isEmpty = !items.length;\n const emptyContent = loading ? <LoadingIndicator /> : <EmptyMessage>{emptyMessage}</EmptyMessage>;\n\n const ComponentList = targetSortable ? VirtualizedSortableList : VirtualizedList;\n\n const handleSortEnd = ({ oldIndex, newIndex }) => {\n onSortEnd({\n sourceItem: items[oldIndex],\n targetItem: items[newIndex],\n });\n };\n\n return (\n <ShuttleWrapper>\n <ShuttleHeader>\n <ShuttleHeaderBreadcrumb hierarchy={hierarchy} onNavigateTo={onNavigateTo} />\n </ShuttleHeader>\n <ShuttleList classProps={{ showPulse: isMoving }}>\n {!loading && !isEmpty ? (\n <Overflow\n activeHierarchy={getActiveIdFromHierarchy(hierarchy).id}\n classProps={{\n empty: !items.length,\n }}\n >\n <ComponentList\n itemRenderer={({ item, ...rest }) => (\n <ShuttleTargetListItem\n data-testid=\"target-list-item\"\n {...rest}\n {...composeTargetItemProps(item, rest)}\n isRoot={!getActiveIdFromHierarchy(hierarchy).id}\n item={item}\n onMoveToSource={onMoveItem}\n onNavigateOnTargetTo={onNavigateTo}\n showSortHandler={targetSortable}\n />\n )}\n items={items}\n onSortEnd={handleSortEnd}\n target\n />\n </Overflow>\n ) : (\n <LoadingList>{emptyContent}</LoadingList>\n )}\n </ShuttleList>\n <ShuttleFooter>\n <ShuttleFooterActions>\n {!!items.length && (\n <DSButton\n containerProps={{ 'data-testid': 'shuttle-clear-all-target' }}\n buttonType=\"link\"\n labelText={targetClearItemsText}\n onClick={onClearMovedItems}\n />\n )}\n </ShuttleFooterActions>\n <ShuttleFooterCounter>{renderTargetCounter(items.length)}</ShuttleFooterCounter>\n </ShuttleFooter>\n </ShuttleWrapper>\n );\n}\n\nexport default ShuttleTarget;\n"],"names":["noop","ShuttleTarget","items","hierarchy","onNavigateTo","onMoveItem","onClearMovedItems","emptyMessage","composeTargetItemProps","targetSortable","onSortEnd","targetClearItemsText","renderTargetCounter","amount","loading","useContext","AnimationContext","Context","state","isMoving","isEmpty","length","emptyContent","ComponentList","VirtualizedSortableList","VirtualizedList","handleSortEnd","oldIndex","newIndex","sourceItem","targetItem","showPulse","getActiveIdFromHierarchy","id","empty","item","rest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;;AAEA,SAASC,aAAT,OAaG;AAAA,wBAZDC,KAYC;AAAA,MAZDA,KAYC,2BAZO,EAYP;AAAA,4BAXDC,SAWC;AAAA,MAXDA,SAWC,+BAXW,EAWX;AAAA,+BAVDC,YAUC;AAAA,MAVDA,YAUC,kCAVcJ,IAUd;AAAA,6BATDK,UASC;AAAA,MATDA,UASC,gCATYL,IASZ;AAAA,mCARDM,iBAQC;AAAA,MARDA,iBAQC,sCARmBN,IAQnB;AAAA,+BAPDO,YAOC;AAAA,MAPDA,YAOC,kCAPc,mBAOd;AAAA,mCANDC,sBAMC;AAAA,MANDA,sBAMC,sCANwB;AAAA,WAAO,EAAP;AAAA,GAMxB;AAAA,iCALDC,cAKC;AAAA,MALDA,cAKC,oCALgB,KAKhB;AAAA,4BAJDC,SAIC;AAAA,MAJDA,SAIC,+BAJWV,IAIX;AAAA,mCAHDW,oBAGC;AAAA,MAHDA,oBAGC,sCAHsB,WAGtB;AAAA,mCAFDC,mBAEC;AAAA,MAFDA,mBAEC,sCAFqB,UAACC,MAAD;AAAA,qBAAeA,MAAf;AAAA,GAErB;AAAA,0BADDC,OACC;AAAA,MADDA,OACC,6BADS,KACT;;AACD,oBAEIC,UAAU,CAACC,gBAAgB,CAACC,OAAlB,CAFd;AAAA,0CACEC,KADF,CACWC,QADX;AAAA,MACWA,QADX,sCACsB,KADtB;;AAGA,MAAMC,OAAO,GAAG,CAAClB,KAAK,CAACmB,MAAvB;AACA,MAAMC,YAAY,GAAGR,OAAO,gBAAG,oBAAC,gBAAD,OAAH,gBAA0B,oBAAC,YAAD,QAAeP,YAAf,CAAtD;AAEA,MAAMgB,aAAa,GAAGd,cAAc,GAAGe,uBAAH,GAA6BC,eAAjE;;AAEA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,QAA4B;AAAA,QAAzBC,QAAyB,SAAzBA,QAAyB;AAAA,QAAfC,QAAe,SAAfA,QAAe;AAChDlB,IAAAA,SAAS,CAAC;AACRmB,MAAAA,UAAU,EAAE3B,KAAK,CAACyB,QAAD,CADT;AAERG,MAAAA,UAAU,EAAE5B,KAAK,CAAC0B,QAAD;AAFT,KAAD,CAAT;AAID,GALD;;AAOA,sBACE,oBAAC,cAAD,qBACE,oBAAC,aAAD,qBACE,oBAAC,uBAAD;AAAyB,IAAA,SAAS,EAAEzB,SAApC;AAA+C,IAAA,YAAY,EAAEC;AAA7D,IADF,CADF,eAIE,oBAAC,WAAD;AAAa,IAAA,UAAU,EAAE;AAAE2B,MAAAA,SAAS,EAAEZ;AAAb;AAAzB,KACG,CAACL,OAAD,IAAY,CAACM,OAAb,gBACC,oBAAC,QAAD;AACE,IAAA,eAAe,EAAEY,wBAAwB,CAAC7B,SAAD,CAAxB,CAAoC8B,EADvD;AAEE,IAAA,UAAU,EAAE;AACVC,MAAAA,KAAK,EAAE,CAAChC,KAAK,CAACmB;AADJ;AAFd,kBAME,oBAAC,aAAD;AACE,IAAA,YAAY,EAAE;AAAA,UAAGc,IAAH,SAAGA,IAAH;AAAA,UAAYC,IAAZ;;AAAA,0BACZ,oBAAC,qBAAD;AACE,uBAAY;AADd,SAEMA,IAFN,EAGM5B,sBAAsB,CAAC2B,IAAD,EAAOC,IAAP,CAH5B;AAIE,QAAA,MAAM,EAAE,CAACJ,wBAAwB,CAAC7B,SAAD,CAAxB,CAAoC8B,EAJ/C;AAKE,QAAA,IAAI,EAAEE,IALR;AAME,QAAA,cAAc,EAAE9B,UANlB;AAOE,QAAA,oBAAoB,EAAED,YAPxB;AAQE,QAAA,eAAe,EAAEK;AARnB,SADY;AAAA,KADhB;AAaE,IAAA,KAAK,EAAEP,KAbT;AAcE,IAAA,SAAS,EAAEwB,aAdb;AAeE,IAAA,MAAM;AAfR,IANF,CADD,gBA0BC,oBAAC,WAAD,QAAcJ,YAAd,CA3BJ,CAJF,eAkCE,oBAAC,aAAD,qBACE,oBAAC,oBAAD,QACG,CAAC,CAACpB,KAAK,CAACmB,MAAR,iBACC,oBAAC,QAAD;AACE,IAAA,cAAc,EAAE;AAAE,qBAAe;AAAjB,KADlB;AAEE,IAAA,UAAU,EAAC,MAFb;AAGE,IAAA,SAAS,EAAEV,oBAHb;AAIE,IAAA,OAAO,EAAEL;AAJX,IAFJ,CADF,eAWE,oBAAC,oBAAD,QAAuBM,mBAAmB,CAACV,KAAK,CAACmB,MAAP,CAA1C,CAXF,CAlCF,CADF;AAkDD;;;;"}
|
package/esm/helper.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
|
-
import { omit, compose, hashArray } from '@elliemae/ds-utilities
|
|
2
|
+
import { omit, compose, hashArray } from '@elliemae/ds-utilities';
|
|
3
3
|
import * as tree from 'treetabular';
|
|
4
4
|
|
|
5
5
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
package/esm/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sources":["../../src/helper.tsx"],"sourcesContent":["/* eslint-disable prettier/prettier */\n/* eslint-disable no-shadow,no-plusplus */\nimport { omit, compose, hashArray } from '@elliemae/ds-utilities
|
|
1
|
+
{"version":3,"file":"helper.js","sources":["../../src/helper.tsx"],"sourcesContent":["/* eslint-disable prettier/prettier */\n/* eslint-disable no-shadow,no-plusplus */\nimport { omit, compose, hashArray } from '@elliemae/ds-utilities';\nimport * as tree from 'treetabular';\n\nexport const getHierarchyTypeName = (dest) =>\n !dest ? 'hierarchy' : 'hierarchyDest';\nexport const checkHasChildren = (list, currentItem) =>\n list.some((item) => currentItem.id === item.parent);\nexport const getActiveIdFromHierarchy = (hierarchy = []) =>\n hierarchy[hierarchy.length - 1] || {};\n\nexport const filterItemsByHierarchy = (\n list,\n hierarchyId,\n parentField = 'parent',\n) => list.filter((item) => item[parentField] === hierarchyId);\nexport const getItemsById = (ids, list) =>\n ids\n .reduce(\n (acc, id) =>\n acc.concat(list.find((item) => String(item.id) === String(id))),\n [],\n )\n .filter((item) => item);\nexport const toggleInObject = (obj, key, value) =>\n obj[key] ? omit(obj, [key]) : { ...obj, [key]: value };\nexport const isMovable = (item) =>\n !item.forceNotMovable &&\n ((item.hasChildren && item.isMoveableContainer) || !item.hasChildren);\n// utility to execute all specified actions in sequence\nexport const pipe = (actions) => (initState, props) =>\n actions.reduce((prevState, action) => action(prevState, props), initState);\n\nexport const moveItems = ({ oldIndex, newIndex }) => (items) => {\n const sourceItem = items[oldIndex];\n items.splice(oldIndex, 1);\n items.splice(newIndex, 0, sourceItem);\n return items;\n};\n\nexport const prepareItems = (items) =>\n compose(tree.fixOrder(), (items) =>\n items.map((item) => ({\n ...item,\n hasChildren: checkHasChildren(items, item),\n })),\n )(items);\n\nconst defaultOptions = {\n parentField: 'parent',\n idField: 'id',\n op: (hasMoved) => !hasMoved,\n};\n\nexport function getChildrenFromParent(parentId, options) {\n const { parentField } = { ...defaultOptions, ...options };\n return (items) => items.filter((item) => item[parentField] === parentId);\n}\n\nexport function filterMovedItems(movedItems, options) {\n const { idField, op: filterOp } = { ...defaultOptions, ...options };\n const movedItemsHash = hashArray(movedItems, idField);\n return (items) =>\n items.filter((item) => filterOp(!!movedItemsHash[item[idField]]));\n}\n\nexport function filterBySearch(term, searching) {\n return (items) =>\n searching\n ? items.filter(\n (item) =>\n item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1,\n )\n : items;\n}\n"],"names":["getHierarchyTypeName","dest","checkHasChildren","list","currentItem","some","item","id","parent","getActiveIdFromHierarchy","hierarchy","length","filterItemsByHierarchy","hierarchyId","parentField","filter","getItemsById","ids","reduce","acc","concat","find","String","toggleInObject","obj","key","value","omit","isMovable","forceNotMovable","hasChildren","isMoveableContainer","pipe","actions","initState","props","prevState","action","moveItems","oldIndex","newIndex","items","sourceItem","splice","prepareItems","compose","tree","fixOrder","map","defaultOptions","idField","op","hasMoved","getChildrenFromParent","parentId","options","filterMovedItems","movedItems","filterOp","movedItemsHash","hashArray","filterBySearch","term","searching","name","toLowerCase","indexOf"],"mappings":"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"}
|
package/esm/index.js
CHANGED
|
@@ -3,7 +3,7 @@ export { default as utils } from './utils.js';
|
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'lodash';
|
|
5
5
|
import 'react-desc';
|
|
6
|
-
import '@elliemae/ds-
|
|
6
|
+
import '@elliemae/ds-truncated-tooltip-text';
|
|
7
7
|
import './ShuttleImpl.js';
|
|
8
8
|
import '@babel/runtime/helpers/esm/extends';
|
|
9
9
|
import '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
@@ -15,7 +15,7 @@ import '@babel/runtime/helpers/esm/inherits';
|
|
|
15
15
|
import '@babel/runtime/helpers/esm/possibleConstructorReturn';
|
|
16
16
|
import '@babel/runtime/helpers/esm/getPrototypeOf';
|
|
17
17
|
import '@babel/runtime/helpers/esm/defineProperty';
|
|
18
|
-
import '@elliemae/ds-utilities
|
|
18
|
+
import '@elliemae/ds-utilities';
|
|
19
19
|
import './withProviders.js';
|
|
20
20
|
import './AnimationState.js';
|
|
21
21
|
import '@babel/runtime/helpers/esm/slicedToArray';
|
|
@@ -28,25 +28,21 @@ import './Shuttle.actions.js';
|
|
|
28
28
|
import './ShuttleRenderer.js';
|
|
29
29
|
import './components/ShuttleSource.js';
|
|
30
30
|
import 'prop-types';
|
|
31
|
-
import '@elliemae/ds-icons
|
|
32
|
-
import '@elliemae/ds-
|
|
33
|
-
import '@elliemae/ds-icons/Search';
|
|
31
|
+
import '@elliemae/ds-icons';
|
|
32
|
+
import '@elliemae/ds-button';
|
|
34
33
|
import './components/ShuttleSearchBox.js';
|
|
35
34
|
import '@elliemae/ds-classnames';
|
|
36
|
-
import '@elliemae/ds-
|
|
35
|
+
import '@elliemae/ds-form';
|
|
37
36
|
import './components/ShuttleInfiniteScrollIndicator.js';
|
|
38
|
-
import '@elliemae/ds-
|
|
37
|
+
import '@elliemae/ds-indeterminate-progress-indicator';
|
|
39
38
|
import './components/ShuttleListItem/ShuttleSourceListItem.js';
|
|
40
39
|
import './components/ShuttleListItem/ActionButtons.js';
|
|
41
|
-
import '@elliemae/ds-icons/CloseCircle';
|
|
42
|
-
import '@elliemae/ds-icons/ArrowShortReturn';
|
|
43
40
|
import './components/ShuttleListItem/ShuttleListItem.js';
|
|
44
41
|
import 'react-spring/web.cjs';
|
|
45
42
|
import 'react-sortable-hoc';
|
|
46
|
-
import '@elliemae/ds-icons/GripperVertical';
|
|
47
43
|
import './classedComponents.js';
|
|
48
44
|
import './components/ShuttleBreadcrumb.js';
|
|
49
|
-
import '@elliemae/ds-
|
|
45
|
+
import '@elliemae/ds-breadcrumb';
|
|
50
46
|
import './animation/animationConfig.js';
|
|
51
47
|
import './components/OverflowList.js';
|
|
52
48
|
import './components/ShuttleListPanel.js';
|
|
@@ -57,7 +53,7 @@ import 'react-virtualized-auto-sizer';
|
|
|
57
53
|
import './components/VirtualizedItem.js';
|
|
58
54
|
import './components/VirtualizedSortableList.js';
|
|
59
55
|
import './components/LoadingIndicator.js';
|
|
60
|
-
import '@elliemae/ds-
|
|
56
|
+
import '@elliemae/ds-circular-progress-indicator';
|
|
61
57
|
import 'styled-components';
|
|
62
58
|
import './components/ShuttleTarget.js';
|
|
63
59
|
import './components/ShuttleListItem/ShuttleTargetListItem.js';
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';
|
|
2
2
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
3
|
-
import { compose, isEqual, hashArray } from '@elliemae/ds-utilities
|
|
3
|
+
import { compose, isEqual, hashArray } from '@elliemae/ds-utilities';
|
|
4
4
|
import { getItemsById, pipe, prepareItems } from './helper.js';
|
|
5
5
|
import { addToTarget, resetMovedItems } from './Shuttle.actions.js';
|
|
6
6
|
import 'treetabular';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateShuttleStateFromProps.js","sources":["../../src/updateShuttleStateFromProps.tsx"],"sourcesContent":["import { compose, isEqual, hashArray } from '@elliemae/ds-utilities
|
|
1
|
+
{"version":3,"file":"updateShuttleStateFromProps.js","sources":["../../src/updateShuttleStateFromProps.tsx"],"sourcesContent":["import { compose, isEqual, hashArray } from '@elliemae/ds-utilities';\nimport { getItemsById, pipe, prepareItems } from './helper';\nimport { addToTarget, resetMovedItems } from './Shuttle.actions';\n\nconst mergeToPrevState = (prevState, nextState) => ({\n ...prevState,\n ...nextState,\n prevProps: {\n ...prevState.prevProps,\n ...nextState.prevProps,\n },\n});\n\nfunction compareSelectedItems(nextProps, prevProps) {\n const { selectedItems, idField } = nextProps;\n return (nextState) => {\n if (isEqual(selectedItems, prevProps.selectedItems)) return nextState;\n // if we are using nonSelectedItems skip this legacy logic and paint just what's passed\n // to nonSelectedItems (source) and selectedItems (target)\n // TODO make controlledV2 the default behavior for controlled shuttle\n if (nextProps.nonSelectedItems) return nextState;\n\n const { preparedItems } = nextState;\n const prevSelectedItemsHash = hashArray(prevProps.selectedItems || []);\n\n const itemsToMove = getItemsById(selectedItems, preparedItems);\n const actions = itemsToMove.map((item) =>\n prevSelectedItemsHash[item[idField]]\n ? addToTarget(item, nextState.targetItems)\n : addToTarget(item),\n );\n\n return mergeToPrevState(nextState, {\n ...pipe([resetMovedItems(), ...actions])(nextState, nextProps),\n prevProps: {\n ...nextState.prevProps,\n selectedItems,\n },\n });\n };\n}\n\nfunction compareItems(nextProps, prevProps) {\n const { items } = nextProps;\n return (nextState) => {\n const preparedItems = prepareItems(items);\n const isControlledV2 = nextProps.nonSelectedItems;\n\n // TODO make controlledV2 the default behavior for controlled shuttle\n if (isControlledV2) {\n const targetItems = nextProps.selectedItems.map((id) =>\n preparedItems.find((it) => it.id === id),\n );\n\n return mergeToPrevState(nextState, {\n preparedItems,\n // PUI-4462 on async load and items change, the shuttle loads\n // all children from currently selected targetItems from items prop\n // (items prop update)\n targetItems,\n movedItems: targetItems,\n prevProps: {\n items,\n },\n });\n }\n\n if (isEqual(items, prevProps.items)) return nextState;\n\n return mergeToPrevState(nextState, {\n preparedItems,\n prevProps: {\n items,\n },\n });\n };\n}\n\nexport default function (nextProps, prevState) {\n const stateReducers = [compareSelectedItems, compareItems].map((fn) =>\n fn(nextProps, prevState.prevProps),\n );\n\n const nextState = compose(...stateReducers)(prevState);\n return !isEqual(nextState, prevState) ? nextState : null;\n}\n"],"names":["mergeToPrevState","prevState","nextState","prevProps","compareSelectedItems","nextProps","selectedItems","idField","isEqual","nonSelectedItems","preparedItems","prevSelectedItemsHash","hashArray","itemsToMove","getItemsById","actions","map","item","addToTarget","targetItems","pipe","resetMovedItems","compareItems","items","prepareItems","isControlledV2","id","find","it","movedItems","stateReducers","fn","compose"],"mappings":"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"}
|
package/esm/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
2
|
import * as tree from 'treetabular';
|
|
3
|
-
import { compose } from '@elliemae/ds-utilities
|
|
3
|
+
import { compose } from '@elliemae/ds-utilities';
|
|
4
4
|
import { prepareItems } from './helper.js';
|
|
5
5
|
|
|
6
6
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
package/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/utils.tsx"],"sourcesContent":["import * as tree from 'treetabular';\nimport { compose } from '@elliemae/ds-utilities
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/utils.tsx"],"sourcesContent":["import * as tree from 'treetabular';\nimport { compose } from '@elliemae/ds-utilities';\nimport { prepareItems } from './helper';\n\nexport default {\n prepareItems: (items, options) =>\n compose(tree.fixOrder(options), prepareItems)(items),\n ...tree,\n};\n"],"names":["prepareItems","items","options","compose","tree","fixOrder"],"mappings":";;;;;;;;AAIA;AACEA,EAAAA,YAAY,EAAE,wBAACC,KAAD,EAAQC,OAAR;AAAA,WACZC,OAAO,CAACC,IAAI,CAACC,QAAL,CAAcH,OAAd,CAAD,EAAyBF,YAAzB,CAAP,CAA8CC,KAA9C,CADY;AAAA;AADhB,GAGKG,IAHL;;;;"}
|
package/esm/withProviders.js
CHANGED
|
@@ -7,7 +7,7 @@ import 'constate';
|
|
|
7
7
|
import '@babel/runtime/helpers/esm/toConsumableArray';
|
|
8
8
|
import './helper.js';
|
|
9
9
|
import '@babel/runtime/helpers/esm/defineProperty';
|
|
10
|
-
import '@elliemae/ds-utilities
|
|
10
|
+
import '@elliemae/ds-utilities';
|
|
11
11
|
import 'treetabular';
|
|
12
12
|
import './Shuttle.actions.js';
|
|
13
13
|
import './utils.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-shuttle",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.57.0-rc.10",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Ellie Mae - Dim Sum - Shuttle",
|
|
6
6
|
"main": "cjs/index.js",
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
"build": "node ../../scripts/build/build.js"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@elliemae/ds-basic": "1.
|
|
20
|
-
"@elliemae/ds-classnames": "1.
|
|
21
|
-
"@elliemae/ds-icons": "1.
|
|
22
|
-
"@elliemae/ds-system": "1.
|
|
23
|
-
"@elliemae/ds-utilities": "1.
|
|
19
|
+
"@elliemae/ds-basic": "1.57.0-rc.10",
|
|
20
|
+
"@elliemae/ds-classnames": "1.57.0-rc.10",
|
|
21
|
+
"@elliemae/ds-icons": "1.57.0-rc.10",
|
|
22
|
+
"@elliemae/ds-system": "1.57.0-rc.10",
|
|
23
|
+
"@elliemae/ds-utilities": "1.57.0-rc.10",
|
|
24
24
|
"constate": "~1.3.2",
|
|
25
25
|
"prop-types": "~15.7.2",
|
|
26
26
|
"react-desc": "^4.1.2",
|