@mirai/ui 2.0.24 → 2.0.26
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.
|
@@ -143,7 +143,7 @@ var Calendar = function Calendar(_ref) {
|
|
|
143
143
|
next = [selected[0], date];
|
|
144
144
|
} else {
|
|
145
145
|
var _selected$;
|
|
146
|
-
next = [((_selected$ = selected[0]) === null || _selected$ === void 0 ? void 0 : _selected$.getTime()) === date.getTime() ? undefined : date];
|
|
146
|
+
next = [((_selected$ = selected[0]) === null || _selected$ === void 0 ? void 0 : _selected$.getTime()) === date.getTime() && selected[1] === undefined ? undefined : date];
|
|
147
147
|
setFocus(undefined);
|
|
148
148
|
}
|
|
149
149
|
onChange(next);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","names":["Calendar","autoScroll","disabledDates","disabledPast","format","from","locale","range","rangeMaxDays","to","value","vertical","propVertical","onChange","onFocus","onNavigation","onScroll","others","useDevice","isMobile","useState","behavior","setBehavior","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","setVertical","el","useRef","useEffect","current","getScrollTo","dateDiff","parseDate","months","date","length","dateFrom","days","next","diffMonths","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testId","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","disabledDatesTS","useMemo","map","role","tag","tooltips","styles","style","calendar","scrollview","Array","_","index","getMonthRef","displayName","propTypes","PropTypes","bool","captions","shape","arrayOf","string","highlights","number","rangeMinDays","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.jsx"],"sourcesContent":["import { dateCalc, dateDiff, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { ScrollView, View } from '../../primitives';\nimport style from './Calendar.module.css';\nimport { Month } from './Calendar.Month';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getFirstDateOfMonth, getMonthRef, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n autoScroll = false,\n disabledDates = [],\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n vertical: propVertical = false,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const [behavior, setBehavior] = useState();\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\n const [vertical, setVertical] = useState(propVertical);\n\n const el = useRef();\n\n useEffect(() => {\n setVertical(propVertical || isMobile);\n }, [isMobile, propVertical]);\n\n useEffect(() => {\n if (!vertical || !el?.current || !value[0]) return;\n\n setBehavior('auto');\n setScrollTo(getScrollTo(dateDiff(instance, parseDate(value[0], format)).months));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [el?.current, vertical]);\n\n useEffect(() => {\n let date = range ? (value?.length > 0 ? value[0] : undefined) : value;\n\n if (from && date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n if (days < 0) date = undefined;\n }\n if (!date) return setSelected(range ? [] : undefined);\n\n date = parseDate(date, format);\n if ((range && (selected.length === 0 || value.length === 2)) || !range) {\n const next = getFirstDateOfMonth(date);\n const { months: diffMonths } = dateDiff(instance, date);\n\n if (!vertical && !isMobile && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (vertical || isMobile) {\n autoScroll && setScrollTo(getScrollTo(diffMonths));\n setScrolling(false);\n }\n }\n\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [format, from, range, value]);\n\n useEffect(() => {\n from && (!value || value.length === 0 || !value[0]) && setInstance(getFirstDateOfMonth(parseDate(from, format)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [from]);\n\n useEffect(() => {\n onFocus(focus);\n }, [focus, onFocus]);\n\n const handleChange = (date) => {\n setSelected(() => {\n let next;\n\n if (!range) {\n next = date;\n } else if (selected[1] === undefined && date > selected[0]) {\n next = [selected[0], date];\n } else {\n next = [selected[0]?.getTime() === date.getTime() ? undefined : date];\n setFocus(undefined);\n }\n onChange(next);\n\n return next;\n });\n };\n\n const handleMonth = (month) => {\n setInstance(() => {\n const addMonths = range && value[0] && !value[1] ? (month > 0 ? 1 : -1) : month;\n const next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + addMonths));\n\n onNavigation(next);\n return next;\n });\n };\n\n const handleScroll = (event) => {\n if (vertical) setScrolling(true);\n\n onScroll(event);\n setBehavior();\n setTimestamp(Date.now());\n };\n\n const { testId, scrollEventThrottle } = others;\n let { className, months = 2, ...props } = others;\n\n const today = getToday();\n const instanceTS = instance.getTime();\n const todayMonthTS = getFirstDateOfMonth(today).getTime();\n const disabledPrevious =\n (disabledPast && instanceTS <= todayMonthTS) ||\n (from && instanceTS <= getFirstDateOfMonth(parseDate(from, format)).getTime());\n\n const disabledNext =\n to && parseDate(to, format).getTime() <= getFirstDateOfMonth(dateCalc(instance, months, 'months')).getTime();\n\n props = {\n ...props,\n disabledPast,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n disabledDatesTS: useMemo(() => disabledDates.map((date) => parseDate(date, format).getTime()), [disabledDates]),\n focus,\n format,\n from: from ? parseDate(from, format) : undefined,\n locale,\n range,\n role: others.role || 'calendar',\n selected,\n tag: 'calendar',\n timestamp,\n to:\n range &&\n rangeMaxDays &&\n selected[0] &&\n !selected[1] &&\n (!to || dateCalc(selected[0], rangeMaxDays, 'days') < parseDate(to, format))\n ? dateCalc(selected[0], rangeMaxDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n tooltips: !vertical || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: !isMobile ? setFocus : undefined,\n };\n\n if (vertical && to) months = dateDiff(today, parseDate(to, format)).months + 1;\n\n return (\n <View\n role={others.role}\n tag=\"calendar\"\n className={styles(style.calendar, vertical && style.vertical, className)}\n testId={testId}\n >\n {vertical && <Weekdays locale={locale} vertical={vertical} />}\n <ScrollView\n behavior={behavior}\n horizontal={!vertical}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (_, index) => (\n <Month\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n key={index}\n ref={vertical && range ? getMonthRef({ autoScroll, el, index, instance, value }) : undefined}\n vertical={vertical}\n onNext={!vertical && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={!vertical && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n {...props}\n testId={testId}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n autoScroll: PropTypes.bool,\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.string,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n months: PropTypes.number,\n range: PropTypes.bool,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n to: PropTypes.string,\n tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n vertical: PropTypes.bool,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Calendar.js","names":["Calendar","autoScroll","disabledDates","disabledPast","format","from","locale","range","rangeMaxDays","to","value","vertical","propVertical","onChange","onFocus","onNavigation","onScroll","others","useDevice","isMobile","useState","behavior","setBehavior","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","setVertical","el","useRef","useEffect","current","getScrollTo","dateDiff","parseDate","months","date","length","dateFrom","days","next","diffMonths","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testId","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","disabledDatesTS","useMemo","map","role","tag","tooltips","styles","style","calendar","scrollview","Array","_","index","getMonthRef","displayName","propTypes","PropTypes","bool","captions","shape","arrayOf","string","highlights","number","rangeMinDays","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.jsx"],"sourcesContent":["import { dateCalc, dateDiff, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { ScrollView, View } from '../../primitives';\nimport style from './Calendar.module.css';\nimport { Month } from './Calendar.Month';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getFirstDateOfMonth, getMonthRef, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n autoScroll = false,\n disabledDates = [],\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n vertical: propVertical = false,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const [behavior, setBehavior] = useState();\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\n const [vertical, setVertical] = useState(propVertical);\n\n const el = useRef();\n\n useEffect(() => {\n setVertical(propVertical || isMobile);\n }, [isMobile, propVertical]);\n\n useEffect(() => {\n if (!vertical || !el?.current || !value[0]) return;\n\n setBehavior('auto');\n setScrollTo(getScrollTo(dateDiff(instance, parseDate(value[0], format)).months));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [el?.current, vertical]);\n\n useEffect(() => {\n let date = range ? (value?.length > 0 ? value[0] : undefined) : value;\n\n if (from && date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n if (days < 0) date = undefined;\n }\n if (!date) return setSelected(range ? [] : undefined);\n\n date = parseDate(date, format);\n if ((range && (selected.length === 0 || value.length === 2)) || !range) {\n const next = getFirstDateOfMonth(date);\n const { months: diffMonths } = dateDiff(instance, date);\n\n if (!vertical && !isMobile && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (vertical || isMobile) {\n autoScroll && setScrollTo(getScrollTo(diffMonths));\n setScrolling(false);\n }\n }\n\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [format, from, range, value]);\n\n useEffect(() => {\n from && (!value || value.length === 0 || !value[0]) && setInstance(getFirstDateOfMonth(parseDate(from, format)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [from]);\n\n useEffect(() => {\n onFocus(focus);\n }, [focus, onFocus]);\n\n const handleChange = (date) => {\n setSelected(() => {\n let next;\n\n if (!range) {\n next = date;\n } else if (selected[1] === undefined && date > selected[0]) {\n next = [selected[0], date];\n } else {\n next = [selected[0]?.getTime() === date.getTime() && selected[1] === undefined ? undefined : date];\n setFocus(undefined);\n }\n onChange(next);\n\n return next;\n });\n };\n\n const handleMonth = (month) => {\n setInstance(() => {\n const addMonths = range && value[0] && !value[1] ? (month > 0 ? 1 : -1) : month;\n const next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + addMonths));\n\n onNavigation(next);\n return next;\n });\n };\n\n const handleScroll = (event) => {\n if (vertical) setScrolling(true);\n\n onScroll(event);\n setBehavior();\n setTimestamp(Date.now());\n };\n\n const { testId, scrollEventThrottle } = others;\n let { className, months = 2, ...props } = others;\n\n const today = getToday();\n const instanceTS = instance.getTime();\n const todayMonthTS = getFirstDateOfMonth(today).getTime();\n const disabledPrevious =\n (disabledPast && instanceTS <= todayMonthTS) ||\n (from && instanceTS <= getFirstDateOfMonth(parseDate(from, format)).getTime());\n\n const disabledNext =\n to && parseDate(to, format).getTime() <= getFirstDateOfMonth(dateCalc(instance, months, 'months')).getTime();\n\n props = {\n ...props,\n disabledPast,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n disabledDatesTS: useMemo(() => disabledDates.map((date) => parseDate(date, format).getTime()), [disabledDates]),\n focus,\n format,\n from: from ? parseDate(from, format) : undefined,\n locale,\n range,\n role: others.role || 'calendar',\n selected,\n tag: 'calendar',\n timestamp,\n to:\n range &&\n rangeMaxDays &&\n selected[0] &&\n !selected[1] &&\n (!to || dateCalc(selected[0], rangeMaxDays, 'days') < parseDate(to, format))\n ? dateCalc(selected[0], rangeMaxDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n tooltips: !vertical || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: !isMobile ? setFocus : undefined,\n };\n\n if (vertical && to) months = dateDiff(today, parseDate(to, format)).months + 1;\n\n return (\n <View\n role={others.role}\n tag=\"calendar\"\n className={styles(style.calendar, vertical && style.vertical, className)}\n testId={testId}\n >\n {vertical && <Weekdays locale={locale} vertical={vertical} />}\n <ScrollView\n behavior={behavior}\n horizontal={!vertical}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (_, index) => (\n <Month\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n key={index}\n ref={vertical && range ? getMonthRef({ autoScroll, el, index, instance, value }) : undefined}\n vertical={vertical}\n onNext={!vertical && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={!vertical && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n {...props}\n testId={testId}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n autoScroll: PropTypes.bool,\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.string,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n months: PropTypes.number,\n range: PropTypes.bool,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n to: PropTypes.string,\n tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n vertical: PropTypes.bool,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -73,11 +73,15 @@ var Table = function Table(_ref) {
|
|
|
73
73
|
setSort = _useState8[1];
|
|
74
74
|
(0, _react.useEffect)(function () {
|
|
75
75
|
var nextFilter = propFilter;
|
|
76
|
+
var nextSort = propSort;
|
|
76
77
|
if (store) {
|
|
77
78
|
var storeFilter = _helpers2.Storage.get("".concat(store, ":filter"));
|
|
78
79
|
if (storeFilter !== null && storeFilter !== void 0 && storeFilter.length) nextFilter = storeFilter;
|
|
80
|
+
var storeSort = _helpers2.Storage.get("".concat(store, ":sort"));
|
|
81
|
+
if (storeSort) nextSort = storeSort;
|
|
79
82
|
}
|
|
80
83
|
setFilter(nextFilter);
|
|
84
|
+
setSort(nextSort);
|
|
81
85
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
82
86
|
}, []);
|
|
83
87
|
(0, _react.useEffect)(function () {
|
|
@@ -117,7 +121,9 @@ var Table = function Table(_ref) {
|
|
|
117
121
|
}) : [].concat(_toConsumableArray(selected), [rowId]));
|
|
118
122
|
};
|
|
119
123
|
var handleSort = function handleSort(field) {
|
|
120
|
-
|
|
124
|
+
var nextSort = sort[field] === undefined ? _defineProperty({}, field, true) : sort[field] ? _defineProperty({}, field, false) : {};
|
|
125
|
+
_helpers2.Storage.set("".concat(store, ":sort"), nextSort);
|
|
126
|
+
setSort(nextSort);
|
|
121
127
|
};
|
|
122
128
|
var testId = others.testId;
|
|
123
129
|
var fields = Object.keys(schema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","names":["Table","dataSource","propFilter","filter","inline","l10n","pagination","schema","search","selected","sort","propSort","store","onPress","onScroll","onSelect","others","useState","setFilter","limit","setLimit","scrollTo","setScrollTo","setSort","useEffect","nextFilter","storeFilter","Storage","get","length","set","handleAddFilter","item","handleRemoveFilter","index","splice","handleHeadSelect","next","select","map","id","handleScroll","event","percentY","PAGINATION_DISPATCHER","handleSelect","rowId","includes","selectId","handleSort","field","undefined","testId","fields","Object","keys","filterFields","React","createElement","ScrollView","tag","className","styles","style","container","outlined","table","row","displayName","propTypes","PropTypes","arrayOf","shape","bool","L10N_SHAPE","number","isRequired","string","func"],"sources":["../../../src/components/Table/Table.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Fragment, useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Primitive, ScrollView } from '../../primitives';\nimport { select, Storage } from './helpers';\nimport { L10N_SHAPE, PAGINATION_DISPATCHER } from './Table.constants';\nimport { Filter } from './Table.Filter';\nimport style from './Table.module.css';\nimport { Row } from './Table.Row';\n\nexport const Table = ({\n dataSource = [],\n filter: propFilter,\n inline = true,\n l10n,\n pagination,\n schema,\n search,\n selected = [],\n sort: propSort = true,\n store,\n onPress,\n onScroll = () => {},\n onSelect,\n ...others\n}) => {\n const [filter, setFilter] = useState([]);\n const [limit, setLimit] = useState(pagination);\n const [scrollTo, setScrollTo] = useState();\n const [sort, setSort] = useState({});\n\n useEffect(() => {\n let nextFilter = propFilter;\n if (store) {\n const storeFilter = Storage.get(`${store}:filter`);\n if (storeFilter?.length) nextFilter = storeFilter;\n }\n\n setFilter(nextFilter);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!store) return;\n Storage.set(`${store}:filter`, filter);\n }, [filter, store]);\n\n const handleAddFilter = (item) => {\n setFilter([...filter, item]);\n setScrollTo(0);\n };\n\n const handleRemoveFilter = (index) => {\n filter?.splice(index, 1);\n setFilter([...filter]);\n setScrollTo();\n };\n\n const handleHeadSelect = () => {\n const next = select({ dataSource, filter, schema, search, selected, sort });\n onSelect(selected.length !== next.length ? next.map(({ id }) => id) : []);\n };\n\n const handleScroll = (event) => {\n if (pagination && event.percentY > PAGINATION_DISPATCHER && limit < dataSource.length) setLimit(limit + pagination);\n onScroll(event);\n };\n\n const handleSelect = (rowId) => {\n onSelect(selected.includes(rowId) ? selected.filter((selectId) => selectId !== rowId) : [...selected, rowId]);\n };\n\n const handleSort = (field) => {\n setSort(sort[field] === undefined ? { [field]: true } : sort[field] ? { [field]: false } : {});\n };\n\n const { testId } = others;\n const fields = Object.keys(schema);\n const { length: filterFields } = filter?.filter(({ field } = {}) => fields.includes(field)) || {};\n\n return React.createElement(\n ScrollView,\n {\n ...others,\n tag: 'table-container',\n scrollTo: scrollTo,\n onScroll: handleScroll,\n className: styles(style.container, !inline && style.outlined, others.className),\n },\n <>\n {filterFields > 0 && <Filter filter={filter} schema={schema} onRemove={(index) => handleRemoveFilter(index)} />}\n <Primitive tag=\"table\" className={style.table}>\n <Primitive tag=\"thead\">\n <Row\n checked={dataSource.length > 0 ? selected.length === dataSource.length : undefined}\n indeterminate={dataSource.length > 0 && selected.length > 0}\n l10n={l10n}\n schema={schema}\n sort={sort}\n onFilter={propFilter ? handleAddFilter : undefined}\n onSelect={onSelect ? handleHeadSelect : undefined}\n onSort={propSort ? handleSort : undefined}\n testId={testId ? `${testId}-head` : undefined}\n />\n </Primitive>\n <Primitive tag=\"tbody\">\n {select({ dataSource, filter, limit, schema, search, sort }).map((row, index) => (\n <Row\n checked={selected.includes(row.id)}\n dataSource={row}\n id={row.id}\n key={row.id}\n schema={schema}\n onPress={onPress}\n onSelect={onSelect ? handleSelect : undefined}\n testId={testId ? `${testId}-${index}` : undefined}\n />\n ))}\n </Primitive>\n </Primitive>\n </>,\n );\n};\n\nTable.displayName = 'Component:Table';\n\nTable.propTypes = {\n dataSource: PropTypes.arrayOf(PropTypes.shape({})),\n filter: PropTypes.arrayOf(PropTypes.shape({})),\n inline: PropTypes.bool,\n l10n: L10N_SHAPE,\n pagination: PropTypes.number,\n schema: PropTypes.shape({}).isRequired,\n search: PropTypes.string,\n selected: PropTypes.arrayOf(PropTypes.shape()),\n sort: PropTypes.bool,\n store: PropTypes.string,\n onPress: PropTypes.func,\n onScroll: PropTypes.func,\n onSelect: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.js","names":["Table","dataSource","propFilter","filter","inline","l10n","pagination","schema","search","selected","sort","propSort","store","onPress","onScroll","onSelect","others","useState","setFilter","limit","setLimit","scrollTo","setScrollTo","setSort","useEffect","nextFilter","nextSort","storeFilter","Storage","get","length","storeSort","set","handleAddFilter","item","handleRemoveFilter","index","splice","handleHeadSelect","next","select","map","id","handleScroll","event","percentY","PAGINATION_DISPATCHER","handleSelect","rowId","includes","selectId","handleSort","field","undefined","testId","fields","Object","keys","filterFields","React","createElement","ScrollView","tag","className","styles","style","container","outlined","table","row","displayName","propTypes","PropTypes","arrayOf","shape","bool","L10N_SHAPE","number","isRequired","string","func"],"sources":["../../../src/components/Table/Table.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Fragment, useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Primitive, ScrollView } from '../../primitives';\nimport { select, Storage } from './helpers';\nimport { L10N_SHAPE, PAGINATION_DISPATCHER } from './Table.constants';\nimport { Filter } from './Table.Filter';\nimport style from './Table.module.css';\nimport { Row } from './Table.Row';\n\nexport const Table = ({\n dataSource = [],\n filter: propFilter,\n inline = true,\n l10n,\n pagination,\n schema,\n search,\n selected = [],\n sort: propSort = true,\n store,\n onPress,\n onScroll = () => {},\n onSelect,\n ...others\n}) => {\n const [filter, setFilter] = useState([]);\n const [limit, setLimit] = useState(pagination);\n const [scrollTo, setScrollTo] = useState();\n const [sort, setSort] = useState({});\n\n useEffect(() => {\n let nextFilter = propFilter;\n let nextSort = propSort;\n if (store) {\n const storeFilter = Storage.get(`${store}:filter`);\n if (storeFilter?.length) nextFilter = storeFilter;\n\n const storeSort = Storage.get(`${store}:sort`);\n if (storeSort) nextSort = storeSort;\n }\n\n setFilter(nextFilter);\n setSort(nextSort);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!store) return;\n Storage.set(`${store}:filter`, filter);\n }, [filter, store]);\n\n const handleAddFilter = (item) => {\n setFilter([...filter, item]);\n setScrollTo(0);\n };\n\n const handleRemoveFilter = (index) => {\n filter?.splice(index, 1);\n setFilter([...filter]);\n setScrollTo();\n };\n\n const handleHeadSelect = () => {\n const next = select({ dataSource, filter, schema, search, selected, sort });\n onSelect(selected.length !== next.length ? next.map(({ id }) => id) : []);\n };\n\n const handleScroll = (event) => {\n if (pagination && event.percentY > PAGINATION_DISPATCHER && limit < dataSource.length) setLimit(limit + pagination);\n onScroll(event);\n };\n\n const handleSelect = (rowId) => {\n onSelect(selected.includes(rowId) ? selected.filter((selectId) => selectId !== rowId) : [...selected, rowId]);\n };\n\n const handleSort = (field) => {\n const nextSort = sort[field] === undefined ? { [field]: true } : sort[field] ? { [field]: false } : {};\n\n Storage.set(`${store}:sort`, nextSort);\n setSort(nextSort);\n };\n\n const { testId } = others;\n const fields = Object.keys(schema);\n const { length: filterFields } = filter?.filter(({ field } = {}) => fields.includes(field)) || {};\n\n return React.createElement(\n ScrollView,\n {\n ...others,\n tag: 'table-container',\n scrollTo: scrollTo,\n onScroll: handleScroll,\n className: styles(style.container, !inline && style.outlined, others.className),\n },\n <>\n {filterFields > 0 && <Filter filter={filter} schema={schema} onRemove={(index) => handleRemoveFilter(index)} />}\n <Primitive tag=\"table\" className={style.table}>\n <Primitive tag=\"thead\">\n <Row\n checked={dataSource.length > 0 ? selected.length === dataSource.length : undefined}\n indeterminate={dataSource.length > 0 && selected.length > 0}\n l10n={l10n}\n schema={schema}\n sort={sort}\n onFilter={propFilter ? handleAddFilter : undefined}\n onSelect={onSelect ? handleHeadSelect : undefined}\n onSort={propSort ? handleSort : undefined}\n testId={testId ? `${testId}-head` : undefined}\n />\n </Primitive>\n <Primitive tag=\"tbody\">\n {select({ dataSource, filter, limit, schema, search, sort }).map((row, index) => (\n <Row\n checked={selected.includes(row.id)}\n dataSource={row}\n id={row.id}\n key={row.id}\n schema={schema}\n onPress={onPress}\n onSelect={onSelect ? handleSelect : undefined}\n testId={testId ? `${testId}-${index}` : undefined}\n />\n ))}\n </Primitive>\n </Primitive>\n </>,\n );\n};\n\nTable.displayName = 'Component:Table';\n\nTable.propTypes = {\n dataSource: PropTypes.arrayOf(PropTypes.shape({})),\n filter: PropTypes.arrayOf(PropTypes.shape({})),\n inline: PropTypes.bool,\n l10n: L10N_SHAPE,\n pagination: PropTypes.number,\n schema: PropTypes.shape({}).isRequired,\n search: PropTypes.string,\n selected: PropTypes.arrayOf(PropTypes.shape()),\n sort: PropTypes.bool,\n store: PropTypes.string,\n onPress: PropTypes.func,\n onScroll: PropTypes.func,\n onSelect: PropTypes.func,\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAE3B,IAAMA,KAAK,GAAG,SAARA,KAAK,OAeZ;EAAA,2BAdJC,UAAU;IAAVA,UAAU,gCAAG,EAAE;IACPC,UAAU,QAAlBC,MAAM;IAAA,mBACNC,MAAM;IAANA,MAAM,4BAAG,IAAI;IACbC,IAAI,QAAJA,IAAI;IACJC,UAAU,QAAVA,UAAU;IACVC,MAAM,QAANA,MAAM;IACNC,MAAM,QAANA,MAAM;IAAA,qBACNC,QAAQ;IAARA,QAAQ,8BAAG,EAAE;IAAA,iBACbC,IAAI;IAAEC,QAAQ,0BAAG,IAAI;IACrBC,KAAK,QAALA,KAAK;IACLC,OAAO,QAAPA,OAAO;IAAA,qBACPC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IACnBC,QAAQ,QAARA,QAAQ;IACLC,MAAM;EAET,gBAA4B,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAA;IAAjCd,MAAM;IAAEe,SAAS;EACxB,iBAA0B,IAAAD,eAAQ,EAACX,UAAU,CAAC;IAAA;IAAvCa,KAAK;IAAEC,QAAQ;EACtB,iBAAgC,IAAAH,eAAQ,GAAE;IAAA;IAAnCI,QAAQ;IAAEC,WAAW;EAC5B,iBAAwB,IAAAL,eAAQ,EAAC,CAAC,CAAC,CAAC;IAAA;IAA7BP,IAAI;IAAEa,OAAO;EAEpB,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAIC,UAAU,GAAGvB,UAAU;IAC3B,IAAIwB,QAAQ,GAAGf,QAAQ;IACvB,IAAIC,KAAK,EAAE;MACT,IAAMe,WAAW,GAAGC,iBAAO,CAACC,GAAG,WAAIjB,KAAK,aAAU;MAClD,IAAIe,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEG,MAAM,EAAEL,UAAU,GAAGE,WAAW;MAEjD,IAAMI,SAAS,GAAGH,iBAAO,CAACC,GAAG,WAAIjB,KAAK,WAAQ;MAC9C,IAAImB,SAAS,EAAEL,QAAQ,GAAGK,SAAS;IACrC;IAEAb,SAAS,CAACO,UAAU,CAAC;IACrBF,OAAO,CAACG,QAAQ,CAAC;IACjB;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAF,gBAAS,EAAC,YAAM;IACd,IAAI,CAACZ,KAAK,EAAE;IACZgB,iBAAO,CAACI,GAAG,WAAIpB,KAAK,cAAWT,MAAM,CAAC;EACxC,CAAC,EAAE,CAACA,MAAM,EAAES,KAAK,CAAC,CAAC;EAEnB,IAAMqB,eAAe,GAAG,SAAlBA,eAAe,CAAIC,IAAI,EAAK;IAChChB,SAAS,8BAAKf,MAAM,IAAE+B,IAAI,GAAE;IAC5BZ,WAAW,CAAC,CAAC,CAAC;EAChB,CAAC;EAED,IAAMa,kBAAkB,GAAG,SAArBA,kBAAkB,CAAIC,KAAK,EAAK;IACpCjC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEkC,MAAM,CAACD,KAAK,EAAE,CAAC,CAAC;IACxBlB,SAAS,oBAAKf,MAAM,EAAE;IACtBmB,WAAW,EAAE;EACf,CAAC;EAED,IAAMgB,gBAAgB,GAAG,SAAnBA,gBAAgB,GAAS;IAC7B,IAAMC,IAAI,GAAG,IAAAC,gBAAM,EAAC;MAAEvC,UAAU,EAAVA,UAAU;MAAEE,MAAM,EAANA,MAAM;MAAEI,MAAM,EAANA,MAAM;MAAEC,MAAM,EAANA,MAAM;MAAEC,QAAQ,EAARA,QAAQ;MAAEC,IAAI,EAAJA;IAAK,CAAC,CAAC;IAC3EK,QAAQ,CAACN,QAAQ,CAACqB,MAAM,KAAKS,IAAI,CAACT,MAAM,GAAGS,IAAI,CAACE,GAAG,CAAC;MAAA,IAAGC,EAAE,SAAFA,EAAE;MAAA,OAAOA,EAAE;IAAA,EAAC,GAAG,EAAE,CAAC;EAC3E,CAAC;EAED,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,KAAK,EAAK;IAC9B,IAAItC,UAAU,IAAIsC,KAAK,CAACC,QAAQ,GAAGC,4BAAqB,IAAI3B,KAAK,GAAGlB,UAAU,CAAC6B,MAAM,EAAEV,QAAQ,CAACD,KAAK,GAAGb,UAAU,CAAC;IACnHQ,QAAQ,CAAC8B,KAAK,CAAC;EACjB,CAAC;EAED,IAAMG,YAAY,GAAG,SAAfA,YAAY,CAAIC,KAAK,EAAK;IAC9BjC,QAAQ,CAACN,QAAQ,CAACwC,QAAQ,CAACD,KAAK,CAAC,GAAGvC,QAAQ,CAACN,MAAM,CAAC,UAAC+C,QAAQ;MAAA,OAAKA,QAAQ,KAAKF,KAAK;IAAA,EAAC,gCAAOvC,QAAQ,IAAEuC,KAAK,EAAC,CAAC;EAC/G,CAAC;EAED,IAAMG,UAAU,GAAG,SAAbA,UAAU,CAAIC,KAAK,EAAK;IAC5B,IAAM1B,QAAQ,GAAGhB,IAAI,CAAC0C,KAAK,CAAC,KAAKC,SAAS,uBAAMD,KAAK,EAAG,IAAI,IAAK1C,IAAI,CAAC0C,KAAK,CAAC,uBAAMA,KAAK,EAAG,KAAK,IAAK,CAAC,CAAC;IAEtGxB,iBAAO,CAACI,GAAG,WAAIpB,KAAK,YAASc,QAAQ,CAAC;IACtCH,OAAO,CAACG,QAAQ,CAAC;EACnB,CAAC;EAED,IAAQ4B,MAAM,GAAKtC,MAAM,CAAjBsC,MAAM;EACd,IAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAAClD,MAAM,CAAC;EAClC,YAAiC,CAAAJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEA,MAAM,CAAC;MAAA,gFAAa,CAAC,CAAC;QAAZiD,KAAK,SAALA,KAAK;MAAA,OAAYG,MAAM,CAACN,QAAQ,CAACG,KAAK,CAAC;IAAA,EAAC,KAAI,CAAC,CAAC;IAAjFM,YAAY,SAApB5B,MAAM;EAEd,oBAAO6B,cAAK,CAACC,aAAa,CACxBC,sBAAU,kCAEL7C,MAAM;IACT8C,GAAG,EAAE,iBAAiB;IACtBzC,QAAQ,EAAEA,QAAQ;IAClBP,QAAQ,EAAE6B,YAAY;IACtBoB,SAAS,EAAE,IAAAC,eAAM,EAACC,oBAAK,CAACC,SAAS,EAAE,CAAC9D,MAAM,IAAI6D,oBAAK,CAACE,QAAQ,EAAEnD,MAAM,CAAC+C,SAAS;EAAC,iBAEjF,4DACGL,YAAY,GAAG,CAAC,iBAAI,6BAAC,cAAM;IAAC,MAAM,EAAEvD,MAAO;IAAC,MAAM,EAAEI,MAAO;IAAC,QAAQ,EAAE,kBAAC6B,KAAK;MAAA,OAAKD,kBAAkB,CAACC,KAAK,CAAC;IAAA;EAAC,EAAG,eAC/G,6BAAC,qBAAS;IAAC,GAAG,EAAC,OAAO;IAAC,SAAS,EAAE6B,oBAAK,CAACG;EAAM,gBAC5C,6BAAC,qBAAS;IAAC,GAAG,EAAC;EAAO,gBACpB,6BAAC,WAAG;IACF,OAAO,EAAEnE,UAAU,CAAC6B,MAAM,GAAG,CAAC,GAAGrB,QAAQ,CAACqB,MAAM,KAAK7B,UAAU,CAAC6B,MAAM,GAAGuB,SAAU;IACnF,aAAa,EAAEpD,UAAU,CAAC6B,MAAM,GAAG,CAAC,IAAIrB,QAAQ,CAACqB,MAAM,GAAG,CAAE;IAC5D,IAAI,EAAEzB,IAAK;IACX,MAAM,EAAEE,MAAO;IACf,IAAI,EAAEG,IAAK;IACX,QAAQ,EAAER,UAAU,GAAG+B,eAAe,GAAGoB,SAAU;IACnD,QAAQ,EAAEtC,QAAQ,GAAGuB,gBAAgB,GAAGe,SAAU;IAClD,MAAM,EAAE1C,QAAQ,GAAGwC,UAAU,GAAGE,SAAU;IAC1C,MAAM,EAAEC,MAAM,aAAMA,MAAM,aAAUD;EAAU,EAC9C,CACQ,eACZ,6BAAC,qBAAS;IAAC,GAAG,EAAC;EAAO,GACnB,IAAAb,gBAAM,EAAC;IAAEvC,UAAU,EAAVA,UAAU;IAAEE,MAAM,EAANA,MAAM;IAAEgB,KAAK,EAALA,KAAK;IAAEZ,MAAM,EAANA,MAAM;IAAEC,MAAM,EAANA,MAAM;IAAEE,IAAI,EAAJA;EAAK,CAAC,CAAC,CAAC+B,GAAG,CAAC,UAAC4B,GAAG,EAAEjC,KAAK;IAAA,oBAC1E,6BAAC,WAAG;MACF,OAAO,EAAE3B,QAAQ,CAACwC,QAAQ,CAACoB,GAAG,CAAC3B,EAAE,CAAE;MACnC,UAAU,EAAE2B,GAAI;MAChB,EAAE,EAAEA,GAAG,CAAC3B,EAAG;MACX,GAAG,EAAE2B,GAAG,CAAC3B,EAAG;MACZ,MAAM,EAAEnC,MAAO;MACf,OAAO,EAAEM,OAAQ;MACjB,QAAQ,EAAEE,QAAQ,GAAGgC,YAAY,GAAGM,SAAU;MAC9C,MAAM,EAAEC,MAAM,aAAMA,MAAM,cAAIlB,KAAK,IAAKiB;IAAU,EAClD;EAAA,CACH,CAAC,CACQ,CACF,CACX,CACJ;AACH,CAAC;AAAC;AAEFrD,KAAK,CAACsE,WAAW,GAAG,iBAAiB;AAErCtE,KAAK,CAACuE,SAAS,GAAG;EAChBtE,UAAU,EAAEuE,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAClDvE,MAAM,EAAEqE,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9CtE,MAAM,EAAEoE,kBAAS,CAACG,IAAI;EACtBtE,IAAI,EAAEuE,iBAAU;EAChBtE,UAAU,EAAEkE,kBAAS,CAACK,MAAM;EAC5BtE,MAAM,EAAEiE,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAACI,UAAU;EACtCtE,MAAM,EAAEgE,kBAAS,CAACO,MAAM;EACxBtE,QAAQ,EAAE+D,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,EAAE,CAAC;EAC9ChE,IAAI,EAAE8D,kBAAS,CAACG,IAAI;EACpB/D,KAAK,EAAE4D,kBAAS,CAACO,MAAM;EACvBlE,OAAO,EAAE2D,kBAAS,CAACQ,IAAI;EACvBlE,QAAQ,EAAE0D,kBAAS,CAACQ,IAAI;EACxBjE,QAAQ,EAAEyD,kBAAS,CAACQ;AACtB,CAAC"}
|