@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 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
- sort = _useState4[0],
61
- setSort = _useState4[1];
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: 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
- var fields = Object.keys(schema);
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
- Object.keys(sort).forEach(function (key) {
88
- var fieldKey = schema[key].bind || key;
89
- var order = sort[key] ? 1 : -1;
90
- values.sort(function () {
91
- var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
92
- a = _ref5[fieldKey];
93
- var _ref6 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
94
- b = _ref6[fieldKey];
95
- return (a === undefined || a < b ? -1 : b === undefined || a > b ? 1 : 0) * order;
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","flatten","values","fields","Object","keys","length","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"],"sources":["../../../../src/components/Table/helpers/select.js"],"sourcesContent":["export const select = ({ dataSource = [], filter = [], schema = {}, search, sort = {} } = {}) => {\n let flatten = [...dataSource];\n let values = [];\n\n const fields = Object.keys(schema);\n\n if (filter?.length > 0) {\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 (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 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 return values;\n};\n"],"mappings":"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"}
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/ui",
3
- "version": "1.0.221",
3
+ "version": "1.0.223",
4
4
  "repository": "git@gitlab.com:miraicorp/dev/frontend/ui.git",
5
5
  "author": "JΛVI <hello@soyjavi.com>",
6
6
  "license": "MIT",