mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-14 23:17:33 +08:00
29 lines
779 B
TypeScript
29 lines
779 B
TypeScript
import type { IconInfo, IconInfoWithId } from '@/core/icon.ts';
|
|
|
|
export function getIconsInRows(allIconInfos: Record<string, IconInfo>, itemPerRow: number): IconInfoWithId[][] {
|
|
const ret: IconInfoWithId[][] = [];
|
|
let rowCount = 0;
|
|
|
|
for (const iconInfoId in allIconInfos) {
|
|
if (!Object.prototype.hasOwnProperty.call(allIconInfos, iconInfoId)) {
|
|
continue;
|
|
}
|
|
|
|
const iconInfo = allIconInfos[iconInfoId];
|
|
|
|
if (!ret[rowCount]) {
|
|
ret[rowCount] = [];
|
|
} else if (ret[rowCount] && ret[rowCount].length >= itemPerRow) {
|
|
rowCount++;
|
|
ret[rowCount] = [];
|
|
}
|
|
|
|
ret[rowCount].push({
|
|
id: iconInfoId,
|
|
icon: iconInfo.icon
|
|
});
|
|
}
|
|
|
|
return ret;
|
|
}
|