@mirai/ui 1.0.222 → 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.
|
@@ -103,7 +103,7 @@ var select = function select() {
|
|
|
103
103
|
});
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
|
-
return limit
|
|
106
|
+
return limit ? values.slice(0, limit) : values;
|
|
107
107
|
};
|
|
108
108
|
exports.select = select;
|
|
109
109
|
//# sourceMappingURL=select.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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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"}
|