@mirai/ui 1.0.221 → 1.0.223
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/build/components/Table/Table.constants.js +3 -1
- package/build/components/Table/Table.constants.js.map +1 -1
- package/build/components/Table/Table.js +19 -7
- package/build/components/Table/Table.js.map +1 -1
- package/build/components/Table/Table.stories.js +21 -3
- package/build/components/Table/Table.stories.js.map +1 -1
- package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +321 -0
- package/build/components/Table/helpers/select.js +22 -14
- package/build/components/Table/helpers/select.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1079,6 +1079,7 @@ This component helps you to create a pure html table receiving the following pro
|
|
|
1079
1079
|
- `filter:object[]` array of filter items that are applied to the table data. Each filter item represents a specific filter configuration.
|
|
1080
1080
|
- `inline:shape` specifies whether the table should be displayed inline
|
|
1081
1081
|
- `schema:shape` the model data schema
|
|
1082
|
+
- `pagination:number` the number of rows you will paginate
|
|
1082
1083
|
- `search:string` the query string you want use for filter the datasource
|
|
1083
1084
|
- `selected:arrayOf(dataSource.row)` if you want pre-select some rows in 1st render
|
|
1084
1085
|
- `store:string` if you want use storage feature for some features of your table (ex. keep the current filters).
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.STORAGE_KEY = exports.L10N_SHAPE = void 0;
|
|
6
|
+
exports.STORAGE_KEY = exports.PAGINATION_DISPATCHER = exports.L10N_SHAPE = void 0;
|
|
7
7
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
9
|
var L10N_SHAPE = _propTypes.default.shape({
|
|
@@ -13,6 +13,8 @@ var L10N_SHAPE = _propTypes.default.shape({
|
|
|
13
13
|
labelMin: _propTypes.default.string
|
|
14
14
|
});
|
|
15
15
|
exports.L10N_SHAPE = L10N_SHAPE;
|
|
16
|
+
var PAGINATION_DISPATCHER = 90;
|
|
17
|
+
exports.PAGINATION_DISPATCHER = PAGINATION_DISPATCHER;
|
|
16
18
|
var STORAGE_KEY = 'mirai-ui-table';
|
|
17
19
|
exports.STORAGE_KEY = STORAGE_KEY;
|
|
18
20
|
//# sourceMappingURL=Table.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.constants.js","names":["L10N_SHAPE","PropTypes","shape","actionCancel","string","actionSubmit","labelMax","labelMin","STORAGE_KEY"],"sources":["../../../src/components/Table/Table.constants.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst L10N_SHAPE = PropTypes.shape({\n actionCancel: PropTypes.string,\n actionSubmit: PropTypes.string,\n labelMax: PropTypes.string,\n labelMin: PropTypes.string,\n});\n\nconst STORAGE_KEY = 'mirai-ui-table';\n\nexport { L10N_SHAPE, STORAGE_KEY };\n"],"mappings":";;;;;;AAAA;AAAmC;AAEnC,IAAMA,UAAU,GAAGC,kBAAS,CAACC,KAAK,CAAC;EACjCC,YAAY,EAAEF,kBAAS,CAACG,MAAM;EAC9BC,YAAY,EAAEJ,kBAAS,CAACG,MAAM;EAC9BE,QAAQ,EAAEL,kBAAS,CAACG,MAAM;EAC1BG,QAAQ,EAAEN,kBAAS,CAACG;AACtB,CAAC,CAAC;AAAC;AAEH,IAAMI,WAAW,GAAG,gBAAgB;AAAC"}
|
|
1
|
+
{"version":3,"file":"Table.constants.js","names":["L10N_SHAPE","PropTypes","shape","actionCancel","string","actionSubmit","labelMax","labelMin","PAGINATION_DISPATCHER","STORAGE_KEY"],"sources":["../../../src/components/Table/Table.constants.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst L10N_SHAPE = PropTypes.shape({\n actionCancel: PropTypes.string,\n actionSubmit: PropTypes.string,\n labelMax: PropTypes.string,\n labelMin: PropTypes.string,\n});\n\nconst PAGINATION_DISPATCHER = 90;\n\nconst STORAGE_KEY = 'mirai-ui-table';\n\nexport { L10N_SHAPE, PAGINATION_DISPATCHER, STORAGE_KEY };\n"],"mappings":";;;;;;AAAA;AAAmC;AAEnC,IAAMA,UAAU,GAAGC,kBAAS,CAACC,KAAK,CAAC;EACjCC,YAAY,EAAEF,kBAAS,CAACG,MAAM;EAC9BC,YAAY,EAAEJ,kBAAS,CAACG,MAAM;EAC9BE,QAAQ,EAAEL,kBAAS,CAACG,MAAM;EAC1BG,QAAQ,EAAEN,kBAAS,CAACG;AACtB,CAAC,CAAC;AAAC;AAEH,IAAMI,qBAAqB,GAAG,EAAE;AAAC;AAEjC,IAAMC,WAAW,GAAG,gBAAgB;AAAC"}
|
|
@@ -14,7 +14,7 @@ var _Table = require("./Table.constants");
|
|
|
14
14
|
var _Table2 = require("./Table.Filter");
|
|
15
15
|
var _TableModule = _interopRequireDefault(require("./Table.module.css"));
|
|
16
16
|
var _Table3 = require("./Table.Row");
|
|
17
|
-
var _excluded = ["dataSource", "filter", "inline", "l10n", "schema", "search", "selected", "store", "onPress", "onScroll", "onSelect"];
|
|
17
|
+
var _excluded = ["dataSource", "filter", "inline", "l10n", "pagination", "schema", "search", "selected", "store", "onPress", "onScroll", "onSelect"];
|
|
18
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -42,23 +42,29 @@ var Table = function Table(_ref) {
|
|
|
42
42
|
_ref$inline = _ref.inline,
|
|
43
43
|
inline = _ref$inline === void 0 ? true : _ref$inline,
|
|
44
44
|
l10n = _ref.l10n,
|
|
45
|
+
pagination = _ref.pagination,
|
|
45
46
|
schema = _ref.schema,
|
|
46
47
|
search = _ref.search,
|
|
47
48
|
_ref$selected = _ref.selected,
|
|
48
49
|
selected = _ref$selected === void 0 ? [] : _ref$selected,
|
|
49
50
|
store = _ref.store,
|
|
50
51
|
onPress = _ref.onPress,
|
|
51
|
-
onScroll = _ref.onScroll,
|
|
52
|
+
_ref$onScroll = _ref.onScroll,
|
|
53
|
+
onScroll = _ref$onScroll === void 0 ? function () {} : _ref$onScroll,
|
|
52
54
|
onSelect = _ref.onSelect,
|
|
53
55
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
54
56
|
var _useState = (0, _react.useState)([]),
|
|
55
57
|
_useState2 = _slicedToArray(_useState, 2),
|
|
56
58
|
filter = _useState2[0],
|
|
57
59
|
setFilter = _useState2[1];
|
|
58
|
-
var _useState3 = (0, _react.useState)(
|
|
60
|
+
var _useState3 = (0, _react.useState)(pagination),
|
|
59
61
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
60
|
-
|
|
61
|
-
|
|
62
|
+
limit = _useState4[0],
|
|
63
|
+
setLimit = _useState4[1];
|
|
64
|
+
var _useState5 = (0, _react.useState)({}),
|
|
65
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
66
|
+
sort = _useState6[0],
|
|
67
|
+
setSort = _useState6[1];
|
|
62
68
|
(0, _react.useEffect)(function () {
|
|
63
69
|
var nextFilter = propFilter;
|
|
64
70
|
if (store) {
|
|
@@ -90,6 +96,10 @@ var Table = function Table(_ref) {
|
|
|
90
96
|
});
|
|
91
97
|
onSelect(selected.length !== next.length ? next : [], event);
|
|
92
98
|
};
|
|
99
|
+
var handleScroll = function handleScroll(event) {
|
|
100
|
+
if (pagination && event.percentY > _Table.PAGINATION_DISPATCHER && limit < dataSource.length) setLimit(limit + pagination);
|
|
101
|
+
onScroll(event);
|
|
102
|
+
};
|
|
93
103
|
var handleSelect = function handleSelect(row, event) {
|
|
94
104
|
onSelect((0, _helpers2.exists)(row, selected) ? selected.filter(function (item) {
|
|
95
105
|
return !(0, _helpers2.exists)(row, [item]);
|
|
@@ -110,7 +120,7 @@ var Table = function Table(_ref) {
|
|
|
110
120
|
filterFields = _ref4.length;
|
|
111
121
|
return /*#__PURE__*/_react.default.createElement(_primitives.ScrollView, _objectSpread(_objectSpread({}, others), {}, {
|
|
112
122
|
role: role,
|
|
113
|
-
onScroll:
|
|
123
|
+
onScroll: handleScroll,
|
|
114
124
|
className: (0, _helpers.styles)(_TableModule.default.container, !inline && _TableModule.default.outlined, others.className)
|
|
115
125
|
}), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterFields > 0 && /*#__PURE__*/_react.default.createElement(_Table2.Filter, {
|
|
116
126
|
filter: filter,
|
|
@@ -140,12 +150,13 @@ var Table = function Table(_ref) {
|
|
|
140
150
|
return (0, _helpers2.select)({
|
|
141
151
|
dataSource: dataSource,
|
|
142
152
|
filter: filter,
|
|
153
|
+
limit: limit,
|
|
143
154
|
schema: schema,
|
|
144
155
|
search: search,
|
|
145
156
|
selected: selected,
|
|
146
157
|
sort: sort
|
|
147
158
|
});
|
|
148
|
-
}, [dataSource, filter, schema, search, selected, sort]).map(function (row, index) {
|
|
159
|
+
}, [dataSource, filter, limit, schema, search, selected, sort]).map(function (row, index) {
|
|
149
160
|
return /*#__PURE__*/_react.default.createElement(_Table3.Row, {
|
|
150
161
|
checked: (0, _helpers2.exists)(row, selected),
|
|
151
162
|
dataSource: row,
|
|
@@ -164,6 +175,7 @@ Table.propTypes = {
|
|
|
164
175
|
filter: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
165
176
|
inline: _propTypes.default.bool,
|
|
166
177
|
l10n: _Table.L10N_SHAPE,
|
|
178
|
+
pagination: _propTypes.default.number,
|
|
167
179
|
schema: _propTypes.default.shape({}).isRequired,
|
|
168
180
|
search: _propTypes.default.string,
|
|
169
181
|
store: _propTypes.default.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","names":["Table","dataSource","propFilter","filter","inline","l10n","schema","search","selected","store","onPress","onScroll","onSelect","others","useState","setFilter","sort","setSort","useEffect","nextFilter","storeFilter","Storage","get","length","set","handleAddFilter","item","handleRemoveFilter","index","splice","handleHeadSelect","row","event","next","select","handleSelect","exists","handleSort","field","undefined","role","testId","fields","Object","keys","includes","filterFields","React","createElement","ScrollView","className","styles","style","container","outlined","table","useMemo","map","displayName","propTypes","PropTypes","arrayOf","shape","bool","L10N_SHAPE","isRequired","string","func"],"sources":["../../../src/components/Table/Table.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Fragment, useEffect, useMemo, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Primitive, ScrollView } from '../../primitives';\nimport { exists, select, Storage } from './helpers';\nimport { L10N_SHAPE } 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 schema,\n search,\n selected = [],\n store,\n onPress,\n onScroll,\n onSelect,\n ...others\n}) => {\n const [filter, setFilter] = 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 };\n\n const handleRemoveFilter = (index) => {\n filter?.splice(index, 1);\n setFilter([...filter]);\n };\n\n const handleHeadSelect = (row, event) => {\n const next = select({ dataSource, filter, schema, search, selected, sort });\n onSelect(selected.length !== next.length ? next : [], event);\n };\n\n const handleSelect = (row, event) => {\n onSelect(exists(row, selected) ? selected.filter((item) => !exists(row, [item])) : [...selected, row], event);\n };\n\n const handleSort = (field) => {\n setSort(sort[field] === undefined ? { [field]: true } : sort[field] ? { [field]: false } : {});\n };\n\n const { role = 'table', 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 role,\n onScroll,\n className: styles(style.container, !inline && style.outlined, others.className),\n },\n <>\n {filterFields > 0 && (\n <Filter filter={filter} schema={schema} role=\"table-filter\" onRemove={(index) => handleRemoveFilter(index)} />\n )}\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={handleSort}\n testId={testId ? `${testId}-head` : undefined}\n />\n </Primitive>\n <Primitive tag=\"tbody\">\n {useMemo(\n () => select({ dataSource, filter, schema, search, selected, sort }),\n [dataSource, filter, schema, search, selected, sort],\n ).map((row, index) => (\n <Row\n checked={exists(row, selected)}\n dataSource={row}\n key={index}\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 schema: PropTypes.shape({}).isRequired,\n search: PropTypes.string,\n store: PropTypes.string,\n selected: PropTypes.arrayOf(PropTypes.shape()),\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","store","onPress","onScroll","onSelect","others","useState","setFilter","limit","setLimit","sort","setSort","useEffect","nextFilter","storeFilter","Storage","get","length","set","handleAddFilter","item","handleRemoveFilter","index","splice","handleHeadSelect","row","event","next","select","handleScroll","percentY","PAGINATION_DISPATCHER","handleSelect","exists","handleSort","field","undefined","role","testId","fields","Object","keys","includes","filterFields","React","createElement","ScrollView","className","styles","style","container","outlined","table","useMemo","map","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, useMemo, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Primitive, ScrollView } from '../../primitives';\nimport { exists, 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 store,\n onPress,\n onScroll = () => {},\n onSelect,\n ...others\n}) => {\n const [filter, setFilter] = useState([]);\n const [limit, setLimit] = useState(pagination);\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 };\n\n const handleRemoveFilter = (index) => {\n filter?.splice(index, 1);\n setFilter([...filter]);\n };\n\n const handleHeadSelect = (row, event) => {\n const next = select({ dataSource, filter, schema, search, selected, sort });\n onSelect(selected.length !== next.length ? next : [], event);\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 = (row, event) => {\n onSelect(exists(row, selected) ? selected.filter((item) => !exists(row, [item])) : [...selected, row], event);\n };\n\n const handleSort = (field) => {\n setSort(sort[field] === undefined ? { [field]: true } : sort[field] ? { [field]: false } : {});\n };\n\n const { role = 'table', 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 role,\n onScroll: handleScroll,\n className: styles(style.container, !inline && style.outlined, others.className),\n },\n <>\n {filterFields > 0 && (\n <Filter filter={filter} schema={schema} role=\"table-filter\" onRemove={(index) => handleRemoveFilter(index)} />\n )}\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={handleSort}\n testId={testId ? `${testId}-head` : undefined}\n />\n </Primitive>\n <Primitive tag=\"tbody\">\n {useMemo(\n () => select({ dataSource, filter, limit, schema, search, selected, sort }),\n [dataSource, filter, limit, schema, search, selected, sort],\n ).map((row, index) => (\n <Row\n checked={exists(row, selected)}\n dataSource={row}\n key={index}\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 store: PropTypes.string,\n selected: PropTypes.arrayOf(PropTypes.shape()),\n onPress: PropTypes.func,\n onScroll: PropTypes.func,\n onSelect: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -15,10 +15,14 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
15
15
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
16
16
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
17
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
19
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
20
18
|
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
21
19
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
20
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
21
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
22
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
23
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
24
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
25
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
22
26
|
var _default = {
|
|
23
27
|
title: 'Components'
|
|
24
28
|
};
|
|
@@ -113,7 +117,20 @@ var dataSource = [{
|
|
|
113
117
|
languages: 1,
|
|
114
118
|
tags: tags(['ES']),
|
|
115
119
|
year: 2022
|
|
116
|
-
}]
|
|
120
|
+
}].concat(_toConsumableArray(['Juan', 'Carlos', 'Alejandro', 'Andrés', 'Luis', 'Javier', 'Miguel', 'Daniel', 'José', 'Roberto', 'María', 'Ana', 'Laura', 'Isabel', 'Carmen', 'Patricia', 'Sofía', 'Paula', 'Clara', 'Elena'].map(function (username) {
|
|
121
|
+
return {
|
|
122
|
+
username: username,
|
|
123
|
+
email: "".concat(username.toLowerCase(), "@mirai.com"),
|
|
124
|
+
active: false,
|
|
125
|
+
activeSwitch: /*#__PURE__*/_react.default.createElement(_.Switch, {
|
|
126
|
+
name: "active",
|
|
127
|
+
onChange: handleSwitch
|
|
128
|
+
}),
|
|
129
|
+
languages: 1,
|
|
130
|
+
tags: tags(['ES']),
|
|
131
|
+
year: 2023
|
|
132
|
+
};
|
|
133
|
+
})));
|
|
117
134
|
var Story = function Story(props) {
|
|
118
135
|
var _useState = (0, _react.useState)(),
|
|
119
136
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -191,6 +208,7 @@ Story.args = {
|
|
|
191
208
|
labelMax: 'Max',
|
|
192
209
|
labelMin: 'Min'
|
|
193
210
|
},
|
|
211
|
+
pagination: 10,
|
|
194
212
|
schema: {
|
|
195
213
|
username: {
|
|
196
214
|
label: 'User Name',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.stories.js","names":["title","tags","value","map","language","style","tag","handleSwitch","event","stopPropagation","console","log","dataSource","username","email","active","activeSwitch","year","undefined","action","languages","twitter","actionTitle","bio","Story","props","useState","selected","setSelected","search","setSearch","useEffect","handleScroll","others","handlePress","handleSelect","table","storyName","args","filter","field","min","max","values","inline","l10n","actionCancel","actionSubmit","labelMax","labelMin","schema","label","tooltip","type","hidden","bind","sort","options","testId","background","argTypes"],"sources":["../../../src/components/Table/Table.stories.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Button, Icon, ICON, InputText, Switch, Text, View } from '../../';\nimport { Table } from './Table';\nimport style from './Table.stories.module.css';\n\nexport default { title: 'Components' };\n\nconst tags = (value) =>\n value.map((language) => (\n <Text key={language} bold tiny className={style.tag}>\n {language}\n </Text>\n ));\n\nconst handleSwitch = (value, event) => {\n event.stopPropagation();\n console.log('::switch::', value);\n};\n\nconst dataSource = [\n {\n username: 'jose',\n email: 'jose@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n year: undefined,\n action: null,\n },\n {\n username: 'mario/1',\n email: 'mario.1@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n languages: 1,\n tags: tags(['ES']),\n year: 0,\n },\n {\n username: 'svet',\n email: 'svet@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n languages: [3, 1, 0],\n tags: tags(['RU', 'ES', 'EN']),\n year: 2021,\n twitter: undefined,\n action: <Button small>Click Me</Button>,\n actionTitle: 'Click Me',\n },\n {\n username: 'javi',\n email: 'hi@soyjavi.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n languages: [2, 1, 0, 4],\n tags: tags(['EU', 'ES', 'EN', 'TH']),\n year: 2022,\n twitter: 'soyjavi',\n bio: \"Hi, I'm Javi. For as long as I can remember, I have always loved build software and helping people through it. I strive to design simple, clean, and beautiful products in the hope that they will make a difference in the world.\",\n },\n {\n username: 'victor',\n email: 'victor@mirai.com',\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: [1, 0],\n tags: tags(['ES', 'EN']),\n year: 2021,\n },\n {\n username: 'mario/2',\n email: 'mario.2@mirai.com',\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: 1,\n tags: tags(['ES']),\n year: 2022,\n },\n];\n\nexport const Story = (props) => {\n const [selected, setSelected] = useState();\n const [search, setSearch] = useState();\n\n useEffect(() => {\n setSearch(props.search);\n }, [props.search]);\n\n const handleScroll = (...others) => console.log('<Table>::onScroll', ...others);\n\n const handlePress = (...others) => console.log('<Table>::onPress', ...others);\n\n const handleSelect = (...others) => {\n console.log('<Table>::onSelect', ...others);\n setSelected(...others);\n };\n\n return (\n <>\n <InputText name=\"search\" placeholder=\"search...\" type=\"search\" value={search} onChange={setSearch} />\n\n <Table\n {...props}\n search={search}\n selected={selected}\n onPress={handlePress}\n onScroll={handleScroll}\n onSelect={handleSelect}\n className={style.table}\n />\n </>\n );\n};\n\nStory.storyName = 'Table';\n\nStory.args = {\n dataSource,\n filter: [\n { field: 'email', value: '@mirai.com' },\n { field: 'nonExistent', value: '@mirai.com' },\n { field: 'email', value: '@soyjavi.com' },\n { field: 'year', min: 1, max: 2022 },\n { field: 'languages', values: [3, 0] },\n ],\n inline: true,\n l10n: {\n actionCancel: 'Cancel',\n actionSubmit: 'Submit',\n labelMax: 'Max',\n labelMin: 'Min',\n },\n schema: {\n username: { label: 'User Name', tooltip: 'The name user is recognized.' },\n email: { label: 'Email' },\n active: { label: 'Active', type: 'boolean', hidden: true },\n activeSwitch: {\n label: 'Active',\n type: 'component',\n bind: 'active',\n sort: false,\n tooltip: 'Marks if user is available.',\n },\n tags: {\n label: (\n <View row className={style.label}>\n <Text>🏷️</Text>\n Languages\n </View>\n ),\n type: 'component',\n bind: 'languages',\n tooltip: 'Spoken languages',\n },\n languages: {\n hidden: true,\n type: 'options',\n options: { 1: 'Spanish', 2: 'Basque', 0: 'English', 3: 'Rusian', 4: 'Thai' },\n },\n year: { label: 'Year', type: 'number' },\n twitter: { label: 'Twitter' },\n bio: { label: 'Biography' },\n action: { label: 'Action', type: 'component', sort: false, filter: false },\n },\n search: '',\n // store: 'mirai',\n // inherited properties\n testId: 'test-story',\n style: {\n background: 'green',\n },\n};\n\nStory.argTypes = {};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.stories.js","names":["title","tags","value","map","language","style","tag","handleSwitch","event","stopPropagation","console","log","dataSource","username","email","active","activeSwitch","year","undefined","action","languages","twitter","actionTitle","bio","toLowerCase","Story","props","useState","selected","setSelected","search","setSearch","useEffect","handleScroll","others","handlePress","handleSelect","table","storyName","args","filter","field","min","max","values","inline","l10n","actionCancel","actionSubmit","labelMax","labelMin","pagination","schema","label","tooltip","type","hidden","bind","sort","options","testId","background","argTypes"],"sources":["../../../src/components/Table/Table.stories.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Button, Icon, ICON, InputText, Switch, Text, View } from '../../';\nimport { Table } from './Table';\nimport style from './Table.stories.module.css';\n\nexport default { title: 'Components' };\n\nconst tags = (value) =>\n value.map((language) => (\n <Text key={language} bold tiny className={style.tag}>\n {language}\n </Text>\n ));\n\nconst handleSwitch = (value, event) => {\n event.stopPropagation();\n console.log('::switch::', value);\n};\n\nconst dataSource = [\n {\n username: 'jose',\n email: 'jose@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n year: undefined,\n action: null,\n },\n {\n username: 'mario/1',\n email: 'mario.1@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n languages: 1,\n tags: tags(['ES']),\n year: 0,\n },\n {\n username: 'svet',\n email: 'svet@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n languages: [3, 1, 0],\n tags: tags(['RU', 'ES', 'EN']),\n year: 2021,\n twitter: undefined,\n action: <Button small>Click Me</Button>,\n actionTitle: 'Click Me',\n },\n {\n username: 'javi',\n email: 'hi@soyjavi.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n languages: [2, 1, 0, 4],\n tags: tags(['EU', 'ES', 'EN', 'TH']),\n year: 2022,\n twitter: 'soyjavi',\n bio: \"Hi, I'm Javi. For as long as I can remember, I have always loved build software and helping people through it. I strive to design simple, clean, and beautiful products in the hope that they will make a difference in the world.\",\n },\n {\n username: 'victor',\n email: 'victor@mirai.com',\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: [1, 0],\n tags: tags(['ES', 'EN']),\n year: 2021,\n },\n {\n username: 'mario/2',\n email: 'mario.2@mirai.com',\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: 1,\n tags: tags(['ES']),\n year: 2022,\n },\n\n ...[\n 'Juan',\n 'Carlos',\n 'Alejandro',\n 'Andrés',\n 'Luis',\n 'Javier',\n 'Miguel',\n 'Daniel',\n 'José',\n 'Roberto',\n 'María',\n 'Ana',\n 'Laura',\n 'Isabel',\n 'Carmen',\n 'Patricia',\n 'Sofía',\n 'Paula',\n 'Clara',\n 'Elena',\n ].map((username) => ({\n username,\n email: `${username.toLowerCase()}@mirai.com`,\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: 1,\n tags: tags(['ES']),\n year: 2023,\n })),\n];\n\nexport const Story = (props) => {\n const [selected, setSelected] = useState();\n const [search, setSearch] = useState();\n\n useEffect(() => {\n setSearch(props.search);\n }, [props.search]);\n\n const handleScroll = (...others) => console.log('<Table>::onScroll', ...others);\n\n const handlePress = (...others) => console.log('<Table>::onPress', ...others);\n\n const handleSelect = (...others) => {\n console.log('<Table>::onSelect', ...others);\n setSelected(...others);\n };\n\n return (\n <>\n <InputText name=\"search\" placeholder=\"search...\" type=\"search\" value={search} onChange={setSearch} />\n\n <Table\n {...props}\n search={search}\n selected={selected}\n onPress={handlePress}\n onScroll={handleScroll}\n onSelect={handleSelect}\n className={style.table}\n />\n </>\n );\n};\n\nStory.storyName = 'Table';\n\nStory.args = {\n dataSource,\n filter: [\n { field: 'email', value: '@mirai.com' },\n { field: 'nonExistent', value: '@mirai.com' },\n { field: 'email', value: '@soyjavi.com' },\n { field: 'year', min: 1, max: 2022 },\n { field: 'languages', values: [3, 0] },\n ],\n inline: true,\n l10n: {\n actionCancel: 'Cancel',\n actionSubmit: 'Submit',\n labelMax: 'Max',\n labelMin: 'Min',\n },\n pagination: 10,\n schema: {\n username: { label: 'User Name', tooltip: 'The name user is recognized.' },\n email: { label: 'Email' },\n active: { label: 'Active', type: 'boolean', hidden: true },\n activeSwitch: {\n label: 'Active',\n type: 'component',\n bind: 'active',\n sort: false,\n tooltip: 'Marks if user is available.',\n },\n tags: {\n label: (\n <View row className={style.label}>\n <Text>🏷️</Text>\n Languages\n </View>\n ),\n type: 'component',\n bind: 'languages',\n tooltip: 'Spoken languages',\n },\n languages: {\n hidden: true,\n type: 'options',\n options: { 1: 'Spanish', 2: 'Basque', 0: 'English', 3: 'Rusian', 4: 'Thai' },\n },\n year: { label: 'Year', type: 'number' },\n twitter: { label: 'Twitter' },\n bio: { label: 'Biography' },\n action: { label: 'Action', type: 'component', sort: false, filter: false },\n },\n search: '',\n // store: 'mirai',\n // inherited properties\n testId: 'test-story',\n style: {\n background: 'green',\n },\n};\n\nStory.argTypes = {};\n"],"mappings":"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"}
|
|
@@ -2591,6 +2591,327 @@ exports[`component:<Table> prop:onSelect 1`] = `
|
|
|
2591
2591
|
</DocumentFragment>
|
|
2592
2592
|
`;
|
|
2593
2593
|
|
|
2594
|
+
exports[`component:<Table> prop:pagination 1`] = `
|
|
2595
|
+
<DocumentFragment>
|
|
2596
|
+
<div
|
|
2597
|
+
class="scrollview snap vertical notIndicator container"
|
|
2598
|
+
>
|
|
2599
|
+
<table
|
|
2600
|
+
class="table"
|
|
2601
|
+
>
|
|
2602
|
+
<thead>
|
|
2603
|
+
<tr>
|
|
2604
|
+
<th>
|
|
2605
|
+
<span
|
|
2606
|
+
class="view forceRow column"
|
|
2607
|
+
>
|
|
2608
|
+
User Name
|
|
2609
|
+
<div
|
|
2610
|
+
class="view row icons"
|
|
2611
|
+
>
|
|
2612
|
+
<span
|
|
2613
|
+
class="icon headline-3 icon disabled"
|
|
2614
|
+
>
|
|
2615
|
+
<svg
|
|
2616
|
+
fill="currentColor"
|
|
2617
|
+
height="1em"
|
|
2618
|
+
stroke="currentColor"
|
|
2619
|
+
stroke-width="0"
|
|
2620
|
+
viewBox="0 0 24 24"
|
|
2621
|
+
width="1em"
|
|
2622
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2623
|
+
>
|
|
2624
|
+
<path
|
|
2625
|
+
d="M0 0h24v24H0V0z"
|
|
2626
|
+
fill="none"
|
|
2627
|
+
/>
|
|
2628
|
+
<path
|
|
2629
|
+
d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
|
|
2630
|
+
/>
|
|
2631
|
+
</svg>
|
|
2632
|
+
</span>
|
|
2633
|
+
</div>
|
|
2634
|
+
</span>
|
|
2635
|
+
</th>
|
|
2636
|
+
<th>
|
|
2637
|
+
<span
|
|
2638
|
+
class="view forceRow column"
|
|
2639
|
+
>
|
|
2640
|
+
Email
|
|
2641
|
+
<div
|
|
2642
|
+
class="view row icons"
|
|
2643
|
+
>
|
|
2644
|
+
<span
|
|
2645
|
+
class="icon headline-3 icon disabled"
|
|
2646
|
+
>
|
|
2647
|
+
<svg
|
|
2648
|
+
fill="currentColor"
|
|
2649
|
+
height="1em"
|
|
2650
|
+
stroke="currentColor"
|
|
2651
|
+
stroke-width="0"
|
|
2652
|
+
viewBox="0 0 24 24"
|
|
2653
|
+
width="1em"
|
|
2654
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2655
|
+
>
|
|
2656
|
+
<path
|
|
2657
|
+
d="M0 0h24v24H0V0z"
|
|
2658
|
+
fill="none"
|
|
2659
|
+
/>
|
|
2660
|
+
<path
|
|
2661
|
+
d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
|
|
2662
|
+
/>
|
|
2663
|
+
</svg>
|
|
2664
|
+
</span>
|
|
2665
|
+
</div>
|
|
2666
|
+
</span>
|
|
2667
|
+
</th>
|
|
2668
|
+
<th>
|
|
2669
|
+
<span
|
|
2670
|
+
class="view forceRow column"
|
|
2671
|
+
>
|
|
2672
|
+
Year
|
|
2673
|
+
<div
|
|
2674
|
+
class="view row icons"
|
|
2675
|
+
>
|
|
2676
|
+
<span
|
|
2677
|
+
class="icon headline-3 icon disabled"
|
|
2678
|
+
>
|
|
2679
|
+
<svg
|
|
2680
|
+
fill="currentColor"
|
|
2681
|
+
height="1em"
|
|
2682
|
+
stroke="currentColor"
|
|
2683
|
+
stroke-width="0"
|
|
2684
|
+
viewBox="0 0 24 24"
|
|
2685
|
+
width="1em"
|
|
2686
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2687
|
+
>
|
|
2688
|
+
<path
|
|
2689
|
+
d="M0 0h24v24H0V0z"
|
|
2690
|
+
fill="none"
|
|
2691
|
+
/>
|
|
2692
|
+
<path
|
|
2693
|
+
d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
|
|
2694
|
+
/>
|
|
2695
|
+
</svg>
|
|
2696
|
+
</span>
|
|
2697
|
+
</div>
|
|
2698
|
+
</span>
|
|
2699
|
+
</th>
|
|
2700
|
+
<th>
|
|
2701
|
+
<span
|
|
2702
|
+
class="view forceRow column"
|
|
2703
|
+
>
|
|
2704
|
+
<span>
|
|
2705
|
+
<div
|
|
2706
|
+
class="dispatcher tooltip"
|
|
2707
|
+
>
|
|
2708
|
+
Twitter
|
|
2709
|
+
</div>
|
|
2710
|
+
</span>
|
|
2711
|
+
<div
|
|
2712
|
+
class="view row icons"
|
|
2713
|
+
>
|
|
2714
|
+
<span
|
|
2715
|
+
class="icon headline-3 icon disabled"
|
|
2716
|
+
>
|
|
2717
|
+
<svg
|
|
2718
|
+
fill="currentColor"
|
|
2719
|
+
height="1em"
|
|
2720
|
+
stroke="currentColor"
|
|
2721
|
+
stroke-width="0"
|
|
2722
|
+
viewBox="0 0 24 24"
|
|
2723
|
+
width="1em"
|
|
2724
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2725
|
+
>
|
|
2726
|
+
<path
|
|
2727
|
+
d="M0 0h24v24H0V0z"
|
|
2728
|
+
fill="none"
|
|
2729
|
+
/>
|
|
2730
|
+
<path
|
|
2731
|
+
d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
|
|
2732
|
+
/>
|
|
2733
|
+
</svg>
|
|
2734
|
+
</span>
|
|
2735
|
+
</div>
|
|
2736
|
+
</span>
|
|
2737
|
+
</th>
|
|
2738
|
+
<th>
|
|
2739
|
+
<span
|
|
2740
|
+
class="view forceRow column"
|
|
2741
|
+
>
|
|
2742
|
+
Action
|
|
2743
|
+
<div
|
|
2744
|
+
class="view row icons"
|
|
2745
|
+
>
|
|
2746
|
+
<span
|
|
2747
|
+
class="icon headline-3 icon disabled"
|
|
2748
|
+
>
|
|
2749
|
+
<svg
|
|
2750
|
+
fill="currentColor"
|
|
2751
|
+
height="1em"
|
|
2752
|
+
stroke="currentColor"
|
|
2753
|
+
stroke-width="0"
|
|
2754
|
+
viewBox="0 0 24 24"
|
|
2755
|
+
width="1em"
|
|
2756
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2757
|
+
>
|
|
2758
|
+
<path
|
|
2759
|
+
d="M0 0h24v24H0V0z"
|
|
2760
|
+
fill="none"
|
|
2761
|
+
/>
|
|
2762
|
+
<path
|
|
2763
|
+
d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
|
|
2764
|
+
/>
|
|
2765
|
+
</svg>
|
|
2766
|
+
</span>
|
|
2767
|
+
</div>
|
|
2768
|
+
</span>
|
|
2769
|
+
</th>
|
|
2770
|
+
</tr>
|
|
2771
|
+
</thead>
|
|
2772
|
+
<tbody>
|
|
2773
|
+
<tr>
|
|
2774
|
+
<td>
|
|
2775
|
+
<span
|
|
2776
|
+
class="view forceRow column text"
|
|
2777
|
+
>
|
|
2778
|
+
jose
|
|
2779
|
+
</span>
|
|
2780
|
+
</td>
|
|
2781
|
+
<td>
|
|
2782
|
+
<span
|
|
2783
|
+
class="view forceRow column text"
|
|
2784
|
+
>
|
|
2785
|
+
jose@mirai.com
|
|
2786
|
+
</span>
|
|
2787
|
+
</td>
|
|
2788
|
+
<td>
|
|
2789
|
+
<span
|
|
2790
|
+
class="view forceRow column number"
|
|
2791
|
+
>
|
|
2792
|
+
2012
|
|
2793
|
+
</span>
|
|
2794
|
+
</td>
|
|
2795
|
+
<td>
|
|
2796
|
+
<span
|
|
2797
|
+
class="view forceRow column text"
|
|
2798
|
+
/>
|
|
2799
|
+
</td>
|
|
2800
|
+
<td>
|
|
2801
|
+
<span
|
|
2802
|
+
class="view forceRow column text"
|
|
2803
|
+
/>
|
|
2804
|
+
</td>
|
|
2805
|
+
</tr>
|
|
2806
|
+
<tr>
|
|
2807
|
+
<td>
|
|
2808
|
+
<span
|
|
2809
|
+
class="view forceRow column text"
|
|
2810
|
+
>
|
|
2811
|
+
mario/1
|
|
2812
|
+
</span>
|
|
2813
|
+
</td>
|
|
2814
|
+
<td>
|
|
2815
|
+
<span
|
|
2816
|
+
class="view forceRow column text"
|
|
2817
|
+
>
|
|
2818
|
+
mario.1@mirai.com
|
|
2819
|
+
</span>
|
|
2820
|
+
</td>
|
|
2821
|
+
<td>
|
|
2822
|
+
<span
|
|
2823
|
+
class="view forceRow column number"
|
|
2824
|
+
>
|
|
2825
|
+
2005
|
|
2826
|
+
</span>
|
|
2827
|
+
</td>
|
|
2828
|
+
<td>
|
|
2829
|
+
<span
|
|
2830
|
+
class="view forceRow column text"
|
|
2831
|
+
/>
|
|
2832
|
+
</td>
|
|
2833
|
+
<td>
|
|
2834
|
+
<span
|
|
2835
|
+
class="view forceRow column text"
|
|
2836
|
+
/>
|
|
2837
|
+
</td>
|
|
2838
|
+
</tr>
|
|
2839
|
+
<tr>
|
|
2840
|
+
<td>
|
|
2841
|
+
<span
|
|
2842
|
+
class="view forceRow column text"
|
|
2843
|
+
>
|
|
2844
|
+
carlos
|
|
2845
|
+
</span>
|
|
2846
|
+
</td>
|
|
2847
|
+
<td>
|
|
2848
|
+
<span
|
|
2849
|
+
class="view forceRow column text"
|
|
2850
|
+
>
|
|
2851
|
+
carlos@mirai.com
|
|
2852
|
+
</span>
|
|
2853
|
+
</td>
|
|
2854
|
+
<td>
|
|
2855
|
+
<span
|
|
2856
|
+
class="view forceRow column number"
|
|
2857
|
+
>
|
|
2858
|
+
2012
|
|
2859
|
+
</span>
|
|
2860
|
+
</td>
|
|
2861
|
+
<td>
|
|
2862
|
+
<span
|
|
2863
|
+
class="view forceRow column text"
|
|
2864
|
+
/>
|
|
2865
|
+
</td>
|
|
2866
|
+
<td>
|
|
2867
|
+
<span
|
|
2868
|
+
class="view forceRow column text"
|
|
2869
|
+
/>
|
|
2870
|
+
</td>
|
|
2871
|
+
</tr>
|
|
2872
|
+
<tr>
|
|
2873
|
+
<td>
|
|
2874
|
+
<span
|
|
2875
|
+
class="view forceRow column text"
|
|
2876
|
+
>
|
|
2877
|
+
svet
|
|
2878
|
+
</span>
|
|
2879
|
+
</td>
|
|
2880
|
+
<td>
|
|
2881
|
+
<span
|
|
2882
|
+
class="view forceRow column text"
|
|
2883
|
+
>
|
|
2884
|
+
svet@mirai.com
|
|
2885
|
+
</span>
|
|
2886
|
+
</td>
|
|
2887
|
+
<td>
|
|
2888
|
+
<span
|
|
2889
|
+
class="view forceRow column number"
|
|
2890
|
+
>
|
|
2891
|
+
2021
|
|
2892
|
+
</span>
|
|
2893
|
+
</td>
|
|
2894
|
+
<td>
|
|
2895
|
+
<span
|
|
2896
|
+
class="view forceRow column text"
|
|
2897
|
+
/>
|
|
2898
|
+
</td>
|
|
2899
|
+
<td>
|
|
2900
|
+
<span
|
|
2901
|
+
class="view forceRow column text"
|
|
2902
|
+
>
|
|
2903
|
+
<strong>
|
|
2904
|
+
action
|
|
2905
|
+
</strong>
|
|
2906
|
+
</span>
|
|
2907
|
+
</td>
|
|
2908
|
+
</tr>
|
|
2909
|
+
</tbody>
|
|
2910
|
+
</table>
|
|
2911
|
+
</div>
|
|
2912
|
+
</DocumentFragment>
|
|
2913
|
+
`;
|
|
2914
|
+
|
|
2594
2915
|
exports[`component:<Table> prop:search 1`] = `
|
|
2595
2916
|
<DocumentFragment>
|
|
2596
2917
|
<div
|
|
@@ -22,15 +22,21 @@ var select = function select() {
|
|
|
22
22
|
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
|
|
23
23
|
_ref$filter = _ref.filter,
|
|
24
24
|
filter = _ref$filter === void 0 ? [] : _ref$filter,
|
|
25
|
+
limit = _ref.limit,
|
|
25
26
|
_ref$schema = _ref.schema,
|
|
26
27
|
schema = _ref$schema === void 0 ? {} : _ref$schema,
|
|
27
28
|
search = _ref.search,
|
|
28
29
|
_ref$sort = _ref.sort,
|
|
29
30
|
sort = _ref$sort === void 0 ? {} : _ref$sort;
|
|
31
|
+
var has = {
|
|
32
|
+
filter: (filter === null || filter === void 0 ? void 0 : filter.length) > 0,
|
|
33
|
+
search: !!search,
|
|
34
|
+
sort: Object.keys(sort).length > 0
|
|
35
|
+
};
|
|
36
|
+
var fields = Object.keys(schema);
|
|
30
37
|
var flatten = _toConsumableArray(dataSource);
|
|
31
38
|
var values = [];
|
|
32
|
-
|
|
33
|
-
if ((filter === null || filter === void 0 ? void 0 : filter.length) > 0) {
|
|
39
|
+
if (has.filter) {
|
|
34
40
|
var filterGrouped = _toConsumableArray(filter).filter(function (_ref2) {
|
|
35
41
|
var field = _ref2.field;
|
|
36
42
|
return fields.includes(field);
|
|
@@ -71,7 +77,7 @@ var select = function select() {
|
|
|
71
77
|
});
|
|
72
78
|
});
|
|
73
79
|
}
|
|
74
|
-
if (search) {
|
|
80
|
+
if (has.search) {
|
|
75
81
|
flatten.forEach(function (row, index) {
|
|
76
82
|
var rowValues = Object.keys(row).filter(function (key) {
|
|
77
83
|
var _schema$key, _schema$key2;
|
|
@@ -84,18 +90,20 @@ var select = function select() {
|
|
|
84
90
|
} else {
|
|
85
91
|
values = _toConsumableArray(flatten);
|
|
86
92
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
if (has.sort) {
|
|
94
|
+
Object.keys(sort).forEach(function (key) {
|
|
95
|
+
var fieldKey = schema[key].bind || key;
|
|
96
|
+
var order = sort[key] ? 1 : -1;
|
|
97
|
+
values.sort(function () {
|
|
98
|
+
var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
99
|
+
a = _ref5[fieldKey];
|
|
100
|
+
var _ref6 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
101
|
+
b = _ref6[fieldKey];
|
|
102
|
+
return (a === undefined || a < b ? -1 : b === undefined || a > b ? 1 : 0) * order;
|
|
103
|
+
});
|
|
96
104
|
});
|
|
97
|
-
}
|
|
98
|
-
return values;
|
|
105
|
+
}
|
|
106
|
+
return limit ? values.slice(0, limit) : values;
|
|
99
107
|
};
|
|
100
108
|
exports.select = select;
|
|
101
109
|
//# sourceMappingURL=select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","names":["select","dataSource","filter","schema","search","sort","
|
|
1
|
+
{"version":3,"file":"select.js","names":["select","dataSource","filter","limit","schema","search","sort","has","length","Object","keys","fields","flatten","values","filterGrouped","field","includes","reduce","group","item","itemFound","find","value","Array","isArray","push","row","every","max","min","filterValue","filterValues","fieldKey","bind","type","fieldValue","join","toLowerCase","undefined","some","Infinity","flat","forEach","index","rowValues","key","map","JSON","stringify","order","a","b","slice"],"sources":["../../../../src/components/Table/helpers/select.js"],"sourcesContent":["export const select = ({ dataSource = [], filter = [], limit, schema = {}, search, sort = {} } = {}) => {\n const has = { filter: filter?.length > 0, search: !!search, sort: Object.keys(sort).length > 0 };\n const fields = Object.keys(schema);\n let flatten = [...dataSource];\n let values = [];\n\n if (has.filter) {\n const filterGrouped = [...filter]\n .filter(({ field }) => fields.includes(field))\n .reduce((group, item = {}) => {\n const itemFound = group.find(({ field }) => item.field === field);\n\n if (itemFound && item.value) {\n if (!Array.isArray(itemFound.value)) itemFound.value = [itemFound.value];\n itemFound.value.push(item.value);\n } else {\n group.push({ ...item });\n }\n\n return group;\n }, []);\n\n flatten = flatten.filter((row = {}) =>\n filterGrouped.every(({ field, max, min, value: filterValue, values: filterValues = [] }) => {\n const fieldKey = schema[field].bind || field;\n const { type } = schema[fieldKey];\n let fieldValue = row[fieldKey];\n\n if (type === 'boolean') fieldValue = fieldValue ? 'true' : 'false';\n else if (type !== 'options' && Array.isArray(fieldValue)) fieldValue = fieldValue.join(' ')?.toLowerCase();\n\n if (fieldValue === undefined) return false;\n\n return filterValue && type !== 'options'\n ? !Array.isArray(filterValue)\n ? fieldValue.toLowerCase().includes(filterValue.toLowerCase())\n : filterValue.some((item) => fieldValue.includes(item.toLowerCase()))\n : type === 'number'\n ? fieldValue >= (min || -Infinity) && fieldValue <= (max || Infinity)\n : type === 'options'\n ? filterValues\n .flat()\n .some((item) => (Array.isArray(fieldValue) ? fieldValue.includes(item) : fieldValue === item))\n : false;\n }),\n );\n }\n\n if (has.search) {\n flatten.forEach((row, index) => {\n const rowValues = Object.keys(row)\n .filter((key) => !schema[key]?.bind && schema[key]?.type !== 'component')\n .map((key) => row[key]);\n\n if (JSON.stringify(rowValues).toLowerCase().includes(search.toLowerCase())) values.push(flatten[index]);\n });\n } else {\n values = [...flatten];\n }\n\n if (has.sort) {\n Object.keys(sort).forEach((key) => {\n const fieldKey = schema[key].bind || key;\n const order = sort[key] ? 1 : -1;\n\n values.sort(\n ({ [fieldKey]: a } = {}, { [fieldKey]: b } = {}) =>\n (a === undefined || a < b ? -1 : b === undefined || a > b ? 1 : 0) * order,\n );\n });\n }\n\n return limit ? values.slice(0, limit) : values;\n};\n"],"mappings":"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"}
|