feat: remove groupId and replace it with groupBy

This commit is contained in:
thecodrr
2021-07-13 10:33:21 +05:00
parent 2d0eb3fb33
commit 6300542c5f
5 changed files with 7 additions and 11 deletions

View File

@@ -8,7 +8,7 @@ test("group alphabetically", () => {
.split("") .split("")
.map((a) => ({ title: a, item: true })); .map((a) => ({ title: a, item: true }));
let ret = groupArray(alphabet, { let ret = groupArray(alphabet, {
groupId: "abc", groupBy: "abc",
sortDirection: "asc", sortDirection: "asc",
sortBy: "title", sortBy: "title",
}).filter((v) => !v.item); }).filter((v) => !v.item);

View File

@@ -56,10 +56,9 @@ const groupedTest = (type) =>
dateCreated: getLastWeekTimestamp() - 604800000 * 2, dateCreated: getLastWeekTimestamp() - 604800000 * 2,
}); });
let grouped = groupArray(db.notes.all, { let grouped = groupArray(db.notes.all, {
groupId: type, groupBy: type,
sortDirection: "desc", sortDirection: "desc",
sortBy: "dateCreated", sortBy: "dateCreated",
groupBy: "dateCreated",
}); });
expect(grouped.length).toBeGreaterThan(0); expect(grouped.length).toBeGreaterThan(0);
expect(grouped.some((i) => i.type === "header")).toBe(true); expect(grouped.some((i) => i.type === "header")).toBe(true);

View File

@@ -63,9 +63,8 @@ class Settings {
getGroupOptions(key) { getGroupOptions(key) {
return ( return (
this._settings.groupOptions[key] || { this._settings.groupOptions[key] || {
groupId: undefined, groupBy: undefined,
sortBy: "dateEdited", sortBy: "dateEdited",
groupBy: "dateEdited",
sortDirection: "desc", sortDirection: "desc",
} }
); );

View File

@@ -1,7 +1,6 @@
/** /**
* @typedef {{ * @typedef {{
* groupId: "abc" | "year" | "month" | "week" | undefined, * groupBy: "abc" | "year" | "month" | "week" | undefined,
* groupBy: "dateCreated" | "dateDeleted" | "dateEdited",
* sortBy: "dateCreated" | "dateDeleted" | "dateEdited" | "title", * sortBy: "dateCreated" | "dateDeleted" | "dateEdited" | "title",
* sortDirection: "desc" | "asc" * sortDirection: "desc" | "asc"
* }} GroupOptions * }} GroupOptions

View File

@@ -44,13 +44,12 @@ const KEY_SELECTORS = {
export function groupArray( export function groupArray(
array, array,
options = { options = {
groupId: undefined, groupBy: undefined,
sortBy: "dateEdited", sortBy: "dateEdited",
groupBy: "dateEdited",
sortDirection: "desc", sortDirection: "desc",
} }
) { ) {
const keySelector = KEY_SELECTORS[options.groupId || "default"]; const keySelector = KEY_SELECTORS[options.groupBy || "default"];
if (options.sortBy && options.sortDirection) if (options.sortBy && options.sortDirection)
fastsort(array).by(getSortSelectors(options)); fastsort(array).by(getSortSelectors(options));
@@ -60,7 +59,7 @@ export function groupArray(
? "Pinned" ? "Pinned"
: item.conflicted : item.conflicted
? "Conflicted" ? "Conflicted"
: keySelector(item, options.groupBy); : keySelector(item, options.sortBy);
let group = groups.get(groupTitle) || []; let group = groups.get(groupTitle) || [];
group.push(item); group.push(item);