@mirai/ui 2.1.92 → 2.1.93
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/build/components/Table/Table.ColumnFilter.js +63 -4
- package/build/components/Table/Table.ColumnFilter.js.map +1 -1
- package/build/components/Table/Table.constants.js +3 -1
- package/build/components/Table/Table.constants.js.map +1 -1
- package/build/components/Table/Table.stories.js +12 -1
- package/build/components/Table/Table.stories.js.map +1 -1
- package/build/components/Table/__tests__/__snapshots__/Table.ColumnFilter.test.js.snap +207 -33
- package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +494 -0
- package/build/components/Table/helpers/select.js +85 -29
- package/build/components/Table/helpers/select.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","names":["select","_ref","arguments","length","undefined","_ref$dataSource","dataSource","_ref$filter","filter","limit","_ref$schema","schema","search","_ref$sort","sort","has","Object","keys","fields","flatten","_toConsumableArray","values","filterGrouped","_ref2","field","includes","reduce","group","item","itemFound","find","_ref3","value","Array","isArray","push","_objectSpread","row","every","_ref4","_fieldValue$join","max","min","filterValue","_ref4$values","filterValues","fieldKey","bind","type","fieldValue","toLowerCase","join","some","Infinity","flat","forEach","index","rowValues","key","_schema$key","_schema$key2","map","JSON","stringify","order","_ref5","a","_ref6","b","slice","exports"],"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 = typeof row[fieldKey] === 'string' ? row[fieldKey].toLowerCase() : 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.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)\n .filter((key) => !!schema[key])\n .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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"select.js","names":["_locale","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","iterator","isArray","n","DATE_FORMAT_TOKEN","buildFormatRegex","format","RegExp","concat","replace","parseFilterDate","undefined","DEFAULT_DATE_FORMAT","formatRegex","Date","isNaN","getTime","parsedValue","parseDate","matchesDateFilter","rawValue","_ref","maxDate","minDate","dateValue","select","_ref2","_ref2$dataSource","dataSource","_ref2$filter","limit","_ref2$schema","schema","search","_ref2$sort","sort","has","fields","flatten","values","filterGrouped","_ref3","field","includes","reduce","group","item","itemFound","find","_ref4","filterParsed","map","entry","max","min","fieldKey","bind","_ref5","_ref5$format","type","row","every","_ref6","_fieldValue$join","filterValue","_ref6$values","filterValues","fieldValue","toLowerCase","join","some","Infinity","flat","index","rowValues","key","_schema$key","_schema$key2","JSON","stringify","order","_ref7","_ref8","b","exports"],"sources":["../../../../src/components/Table/helpers/select.js"],"sourcesContent":["import { DEFAULT_DATE_FORMAT, parseDate } from '@mirai/locale';\n\nconst DATE_FORMAT_TOKEN = /[DMY]/g;\n\nconst buildFormatRegex = (format) => new RegExp(`^${format.replace(DATE_FORMAT_TOKEN, '\\\\d')}$`);\n\nconst parseFilterDate = (value, format = DEFAULT_DATE_FORMAT, formatRegex) => {\n if (!value) return undefined;\n if (value instanceof Date) return isNaN(value.getTime()) ? undefined : value;\n if (typeof value !== 'string' || value.length !== format.length) return undefined;\n if (!(formatRegex || buildFormatRegex(format)).test(value)) return undefined;\n\n const parsedValue = parseDate(value, format);\n\n return parsedValue instanceof Date && !isNaN(parsedValue.getTime()) ? parsedValue : undefined;\n};\n\nconst matchesDateFilter = (rawValue, { format, formatRegex, maxDate, minDate }) => {\n const dateValue = parseFilterDate(rawValue, format, formatRegex);\n if (!dateValue) return false;\n\n return (!minDate || dateValue >= minDate) && (!maxDate || dateValue <= maxDate);\n};\n\nexport 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 const filterParsed = filterGrouped.map((entry) => {\n const { field, max, min } = entry;\n const fieldKey = schema[field].bind || field;\n const { format = DEFAULT_DATE_FORMAT, type } = schema[fieldKey] || {};\n\n if (type !== 'date') return { ...entry, fieldKey, format, type };\n\n const formatRegex = buildFormatRegex(format);\n\n return {\n ...entry,\n fieldKey,\n format,\n formatRegex,\n maxDate: parseFilterDate(max, format, formatRegex),\n minDate: parseFilterDate(min, format, formatRegex),\n type,\n };\n });\n\n flatten = flatten.filter((row = {}) =>\n filterParsed.every(\n ({\n fieldKey,\n format,\n formatRegex,\n max,\n maxDate,\n min,\n minDate,\n type,\n value: filterValue,\n values: filterValues = [],\n }) => {\n let fieldValue = typeof row[fieldKey] === 'string' ? row[fieldKey].toLowerCase() : 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.includes(filterValue.toLowerCase())\n : filterValue.some((item) => fieldValue.includes(item.toLowerCase()))\n : type === 'number'\n ? fieldValue >= (min || -Infinity) && fieldValue <= (max || Infinity)\n : type === 'date'\n ? matchesDateFilter(row[fieldKey], { format, formatRegex, maxDate, minDate })\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\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)\n .filter((key) => !!schema[key])\n .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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","ignoreList":[]}
|