@instructure/platform-modules 1.11.0 → 1.13.0
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 +72 -23
- package/dist/adapters/canvasGraphql/index.d.ts.map +1 -1
- package/dist/adapters/canvasGraphql/normalize.d.ts +2 -1
- package/dist/adapters/canvasGraphql/normalize.d.ts.map +1 -1
- package/dist/adapters/canvasGraphql/queries.d.ts +9 -2
- package/dist/adapters/canvasGraphql/queries.d.ts.map +1 -1
- package/dist/adapters/inMemory.d.ts +2 -0
- package/dist/adapters/inMemory.d.ts.map +1 -1
- package/dist/adapters/types.d.ts +6 -1
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/analytics/types.d.ts +1 -1
- package/dist/analytics/types.d.ts.map +1 -1
- package/dist/cache/keys.d.ts +1 -0
- package/dist/cache/keys.d.ts.map +1 -1
- package/dist/chunks/useModulesPageData-BFCZuChP.js +1639 -0
- package/dist/components/FilterSelect.d.ts +1 -2
- package/dist/components/FilterSelect.d.ts.map +1 -1
- package/dist/components/ModuleCard.d.ts.map +1 -1
- package/dist/components/ModuleCard.stories.d.ts +1 -0
- package/dist/components/ModuleCard.stories.d.ts.map +1 -1
- package/dist/components/ModuleItemRow.d.ts +8 -5
- package/dist/components/ModuleItemRow.d.ts.map +1 -1
- package/dist/components/ModulesList.d.ts +0 -1
- package/dist/components/ModulesList.d.ts.map +1 -1
- package/dist/components/ModulesList.stories.d.ts +3 -2
- package/dist/components/ModulesList.stories.d.ts.map +1 -1
- package/dist/components/ModulesProgressBar.d.ts +20 -1
- package/dist/components/ModulesProgressBar.d.ts.map +1 -1
- package/dist/components/ModulesProgressBar.stories.d.ts +1 -0
- package/dist/components/ModulesProgressBar.stories.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/labels.d.ts +9 -0
- package/dist/components/labels.d.ts.map +1 -1
- package/dist/config/base.d.ts.map +1 -1
- package/dist/config/capabilities.d.ts.map +1 -1
- package/dist/config/filters.d.ts +2 -1
- package/dist/config/filters.d.ts.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/itemMeta.d.ts.map +1 -1
- package/dist/config/itemTypes.d.ts +1 -1
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/schemas.d.ts +2 -2
- package/dist/config/schemas.d.ts.map +1 -1
- package/dist/config/types.d.ts +22 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/edit/adapter/inMemoryEdit.d.ts +5 -0
- package/dist/edit/adapter/inMemoryEdit.d.ts.map +1 -0
- package/dist/edit/adapter/types.d.ts +90 -0
- package/dist/edit/adapter/types.d.ts.map +1 -0
- package/dist/edit/hooks/useModulesEditData.d.ts +28 -0
- package/dist/edit/hooks/useModulesEditData.d.ts.map +1 -0
- package/dist/edit/index.d.ts +5 -0
- package/dist/edit/index.d.ts.map +1 -0
- package/dist/edit.js +189 -0
- package/dist/hooks/constants.d.ts +3 -3
- package/dist/hooks/constants.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +2 -3
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/pageSteps.d.ts +12 -0
- package/dist/hooks/pageSteps.d.ts.map +1 -0
- package/dist/hooks/queryOptions.d.ts +5 -3
- package/dist/hooks/queryOptions.d.ts.map +1 -1
- package/dist/hooks/useIsMobileViewport.d.ts +3 -0
- package/dist/hooks/useIsMobileViewport.d.ts.map +1 -0
- package/dist/hooks/useItemsMode.d.ts +2 -0
- package/dist/hooks/useItemsMode.d.ts.map +1 -1
- package/dist/hooks/useModuleItemQueries.d.ts +19 -8
- package/dist/hooks/useModuleItemQueries.d.ts.map +1 -1
- package/dist/hooks/useModules.d.ts +2 -0
- package/dist/hooks/useModules.d.ts.map +1 -1
- package/dist/hooks/useModulesPageData.d.ts +16 -7
- package/dist/hooks/useModulesPageData.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1663 -2867
- package/dist/organize/Organize.stories.d.ts +2 -1
- package/dist/organize/Organize.stories.d.ts.map +1 -1
- package/dist/organize/OrganizeModulesModal.d.ts.map +1 -1
- package/dist/organize/ProposalPreview.d.ts.map +1 -1
- package/dist/types/domain.d.ts +3 -1
- package/dist/types/domain.d.ts.map +1 -1
- package/dist/types/filterClause.d.ts +2 -2
- package/dist/types/filterClause.d.ts.map +1 -1
- package/dist/types/schemas.d.ts.map +1 -1
- package/locales/en.json +6 -9
- package/package.json +8 -1
- package/dist/hooks/useModuleItems.d.ts +0 -25
- package/dist/hooks/useModuleItems.d.ts.map +0 -1
package/dist/edit.js
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { C as P, X as w, D as C, u as E, ae as A, i as q, c as B } from "./chunks/useModulesPageData-BFCZuChP.js";
|
|
2
|
+
import { useQueryClient as S, useMutation as $ } from "@tanstack/react-query";
|
|
3
|
+
import { useMemo as j } from "react";
|
|
4
|
+
const b = (o) => o.map((a, r) => ({ ...a, position: r + 1 })), f = (o, a, r) => {
|
|
5
|
+
const l = r === void 0 ? o.length : Math.min(Math.max(r - 1, 0), o.length);
|
|
6
|
+
return [...o.slice(0, l), a, ...o.slice(l)];
|
|
7
|
+
}, v = (o, a) => {
|
|
8
|
+
const r = new Map(a.map((l, u) => [l, u]));
|
|
9
|
+
return [...o].sort((l, u) => (r.get(l.id) ?? a.length) - (r.get(u.id) ?? a.length));
|
|
10
|
+
};
|
|
11
|
+
function k(o, a = {}) {
|
|
12
|
+
const r = (t) => {
|
|
13
|
+
if (t !== o.courseId)
|
|
14
|
+
throw new w(o.courseId, t);
|
|
15
|
+
}, l = (t) => {
|
|
16
|
+
const e = o.modules.findIndex((s) => s.id === t);
|
|
17
|
+
if (e === -1) throw new Error(`in-memory adapter has no module ${t}`);
|
|
18
|
+
return e;
|
|
19
|
+
}, u = (t) => o.itemsByModuleId[t] ?? [], M = (t, e) => {
|
|
20
|
+
o.itemsByModuleId[t] = b(e.map((s) => ({ ...s, moduleId: t })));
|
|
21
|
+
}, m = (t) => String(t.reduce((e, s) => Math.max(e, Number(s) || 0), 0) + 1);
|
|
22
|
+
return {
|
|
23
|
+
...P(o, a),
|
|
24
|
+
async createModule({ courseId: t, name: e, position: s }) {
|
|
25
|
+
r(t);
|
|
26
|
+
const i = {
|
|
27
|
+
id: m(o.modules.map((d) => d.id)),
|
|
28
|
+
name: e,
|
|
29
|
+
position: 0,
|
|
30
|
+
published: !1,
|
|
31
|
+
itemCount: 0,
|
|
32
|
+
prerequisiteModules: [],
|
|
33
|
+
requireSequentialProgress: !1
|
|
34
|
+
};
|
|
35
|
+
return o.modules = b(f(o.modules, i, s)), o.itemsByModuleId[i.id] = [], o.modules[l(i.id)];
|
|
36
|
+
},
|
|
37
|
+
async updateModule({ courseId: t, moduleId: e, patch: s }) {
|
|
38
|
+
r(t);
|
|
39
|
+
const { prerequisiteModuleIds: i, position: d, ...n } = s, p = o.modules[l(e)], h = { ...p, ...n };
|
|
40
|
+
i && (h.prerequisiteModules = i.map((c) => ({
|
|
41
|
+
id: c,
|
|
42
|
+
name: o.modules[l(c)].name
|
|
43
|
+
})));
|
|
44
|
+
const g = o.modules.filter((c) => c.id !== e);
|
|
45
|
+
return o.modules = b(f(g, h, d ?? p.position)), o.modules[l(e)];
|
|
46
|
+
},
|
|
47
|
+
async deleteModule({ courseId: t, moduleId: e }) {
|
|
48
|
+
r(t), l(e), o.modules = b(o.modules.filter((s) => s.id !== e)), delete o.itemsByModuleId[e];
|
|
49
|
+
},
|
|
50
|
+
async reorderModules({ courseId: t, moduleIds: e }) {
|
|
51
|
+
r(t), o.modules = b(v(o.modules, e));
|
|
52
|
+
},
|
|
53
|
+
async setModulesPublished({ courseId: t, moduleIds: e, published: s, includeItems: i }) {
|
|
54
|
+
r(t);
|
|
55
|
+
const d = new Set(
|
|
56
|
+
e === "all" ? o.modules.map((n) => n.id) : e
|
|
57
|
+
);
|
|
58
|
+
if (o.modules = o.modules.map(
|
|
59
|
+
(n) => d.has(n.id) ? { ...n, published: s } : n
|
|
60
|
+
), !!i)
|
|
61
|
+
for (const n of d)
|
|
62
|
+
M(
|
|
63
|
+
n,
|
|
64
|
+
u(n).map((p) => ({ ...p, published: s }))
|
|
65
|
+
);
|
|
66
|
+
},
|
|
67
|
+
async createModuleItem({ courseId: t, moduleId: e, type: s, title: i, position: d, indent: n = 0, extensions: p }) {
|
|
68
|
+
r(t), l(e);
|
|
69
|
+
const h = Object.values(o.itemsByModuleId).flatMap(
|
|
70
|
+
(c) => c.map((y) => y.id)
|
|
71
|
+
), g = {
|
|
72
|
+
id: m(h),
|
|
73
|
+
moduleId: e,
|
|
74
|
+
title: i,
|
|
75
|
+
type: s,
|
|
76
|
+
position: 0,
|
|
77
|
+
indent: n,
|
|
78
|
+
published: !1,
|
|
79
|
+
...p ? { extensions: p } : {}
|
|
80
|
+
};
|
|
81
|
+
return M(e, f(u(e), g, d)), u(e).find((c) => c.id === g.id);
|
|
82
|
+
},
|
|
83
|
+
async updateModuleItem({ courseId: t, moduleId: e, itemId: s, patch: i }) {
|
|
84
|
+
r(t);
|
|
85
|
+
const { moduleId: d = e, position: n, ...p } = i;
|
|
86
|
+
l(d);
|
|
87
|
+
const h = u(e).find((y) => y.id === s);
|
|
88
|
+
if (!h) throw new Error(`in-memory adapter has no item ${s} in module ${e}`);
|
|
89
|
+
M(
|
|
90
|
+
e,
|
|
91
|
+
u(e).filter((y) => y.id !== s)
|
|
92
|
+
);
|
|
93
|
+
const c = n ?? (d !== e ? void 0 : h.position);
|
|
94
|
+
return M(d, f(u(d), { ...h, ...p }, c)), u(d).find((y) => y.id === s);
|
|
95
|
+
},
|
|
96
|
+
async deleteModuleItem({ courseId: t, moduleId: e, itemId: s }) {
|
|
97
|
+
r(t), M(
|
|
98
|
+
e,
|
|
99
|
+
u(e).filter((i) => i.id !== s)
|
|
100
|
+
);
|
|
101
|
+
},
|
|
102
|
+
async reorderModuleItems({ courseId: t, moduleId: e, itemIds: s }) {
|
|
103
|
+
r(t), M(e, v(u(e), s));
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
const D = [
|
|
108
|
+
"createModule",
|
|
109
|
+
"updateModule",
|
|
110
|
+
"deleteModule",
|
|
111
|
+
"reorderModules",
|
|
112
|
+
"setModulesPublished",
|
|
113
|
+
"createModuleItem",
|
|
114
|
+
"updateModuleItem",
|
|
115
|
+
"deleteModuleItem",
|
|
116
|
+
"reorderModuleItems"
|
|
117
|
+
];
|
|
118
|
+
function I(o, a, r, l, u) {
|
|
119
|
+
return $({
|
|
120
|
+
mutationFn: (M) => !a[o] || !l ? Promise.reject(new Error(`${o} is not available to this editor`)) : l({ ...M, courseId: r }),
|
|
121
|
+
// Settled, not success: a bulk write that fails partway has still committed part of itself.
|
|
122
|
+
onSettled: (M, m, t) => u(t)
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
function F(o) {
|
|
126
|
+
const { adapter: a, courseId: r } = o, l = C({ ...o, view: "teacher" }), u = S(), { permissions: M } = E(), m = j(
|
|
127
|
+
() => Object.fromEntries(
|
|
128
|
+
D.map((d) => [
|
|
129
|
+
d,
|
|
130
|
+
typeof a[d] == "function" && M[d] !== !1
|
|
131
|
+
])
|
|
132
|
+
),
|
|
133
|
+
[a, M]
|
|
134
|
+
), t = () => q(u, r), e = (...d) => Promise.all([
|
|
135
|
+
t(),
|
|
136
|
+
...d.map((n) => B(u, r, n))
|
|
137
|
+
]), s = (d) => {
|
|
138
|
+
var n;
|
|
139
|
+
return (n = a[d]) == null ? void 0 : n.bind(a);
|
|
140
|
+
}, i = {
|
|
141
|
+
createModule: I("createModule", m, r, s("createModule"), t),
|
|
142
|
+
updateModule: I("updateModule", m, r, s("updateModule"), t),
|
|
143
|
+
deleteModule: I("deleteModule", m, r, s("deleteModule"), t),
|
|
144
|
+
reorderModules: I("reorderModules", m, r, s("reorderModules"), t),
|
|
145
|
+
setModulesPublished: I(
|
|
146
|
+
"setModulesPublished",
|
|
147
|
+
m,
|
|
148
|
+
r,
|
|
149
|
+
s("setModulesPublished"),
|
|
150
|
+
({ includeItems: d }) => d ? A(u, r) : t()
|
|
151
|
+
),
|
|
152
|
+
createModuleItem: I(
|
|
153
|
+
"createModuleItem",
|
|
154
|
+
m,
|
|
155
|
+
r,
|
|
156
|
+
s("createModuleItem"),
|
|
157
|
+
({ moduleId: d }) => e(d)
|
|
158
|
+
),
|
|
159
|
+
updateModuleItem: I(
|
|
160
|
+
"updateModuleItem",
|
|
161
|
+
m,
|
|
162
|
+
r,
|
|
163
|
+
s("updateModuleItem"),
|
|
164
|
+
({ moduleId: d, patch: n }) => e(
|
|
165
|
+
d,
|
|
166
|
+
...n.moduleId && n.moduleId !== d ? [n.moduleId] : []
|
|
167
|
+
)
|
|
168
|
+
),
|
|
169
|
+
deleteModuleItem: I(
|
|
170
|
+
"deleteModuleItem",
|
|
171
|
+
m,
|
|
172
|
+
r,
|
|
173
|
+
s("deleteModuleItem"),
|
|
174
|
+
({ moduleId: d }) => e(d)
|
|
175
|
+
),
|
|
176
|
+
reorderModuleItems: I(
|
|
177
|
+
"reorderModuleItems",
|
|
178
|
+
m,
|
|
179
|
+
r,
|
|
180
|
+
s("reorderModuleItems"),
|
|
181
|
+
({ moduleId: d }) => e(d)
|
|
182
|
+
)
|
|
183
|
+
};
|
|
184
|
+
return { ...l, can: m, mutations: i };
|
|
185
|
+
}
|
|
186
|
+
export {
|
|
187
|
+
k as createInMemoryEditAdapter,
|
|
188
|
+
F as useModulesEditData
|
|
189
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { PageInfo } from '../types/domain';
|
|
2
1
|
export declare const DEFAULT_PAGE_SIZE: number;
|
|
3
|
-
/**
|
|
2
|
+
/** Modules per page below the `mobileOnly` breakpoint, where the design's progress bar holds four. */
|
|
3
|
+
export declare const DEFAULT_MOBILE_PAGE_SIZE: number;
|
|
4
|
+
/** The design's items per page. Inline items are sliced to it too. */
|
|
4
5
|
export declare const DEFAULT_ITEM_PAGE_SIZE: number;
|
|
5
6
|
/** Per-module ceiling above which inlining stops paying. @see INLINE_ITEM_LIMIT */
|
|
6
7
|
export declare const DEFAULT_INLINE_THRESHOLD: number;
|
|
@@ -12,5 +13,4 @@ export declare const DEFAULT_COLLAPSE_WRITE_CONCURRENCY: number;
|
|
|
12
13
|
export declare const DEFAULT_STALE_TIME_MS: number;
|
|
13
14
|
/** A collapsed query stays subscribed and pins its cache entry. Past this the oldest is evicted. */
|
|
14
15
|
export declare const DEFAULT_RETAIN_COLLAPSED_LIMIT: number;
|
|
15
|
-
export declare const EMPTY_PAGE_INFO: PageInfo;
|
|
16
16
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/hooks/constants.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/hooks/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,EAAE,MAAW,CAAA;AAE3C,sGAAsG;AACtG,eAAO,MAAM,wBAAwB,EAAE,MAAU,CAAA;AAEjD,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,EAAE,MAAW,CAAA;AAEhD,mFAAmF;AACnF,eAAO,MAAM,wBAAwB,EAAE,MAAY,CAAA;AAEnD,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB,EAAE,MAAU,CAAA;AAEjD,qGAAqG;AACrG,eAAO,MAAM,kCAAkC,EAAE,MAAU,CAAA;AAE3D,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,EAAE,MAAsB,CAAA;AAE1D,oGAAoG;AACpG,eAAO,MAAM,8BAA8B,EAAE,MAAW,CAAA"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
export { DEFAULT_INLINE_THRESHOLD, DEFAULT_ITEM_CONCURRENCY, DEFAULT_ITEM_PAGE_SIZE, DEFAULT_PAGE_SIZE, DEFAULT_RETAIN_COLLAPSED_LIMIT, DEFAULT_STALE_TIME_MS,
|
|
2
|
-
export { moduleItemsQueryOptions, modulesQueryOptions, type ModuleItemsQueryArgs, type ModuleItemsQueryOptions, type
|
|
1
|
+
export { DEFAULT_INLINE_THRESHOLD, DEFAULT_ITEM_CONCURRENCY, DEFAULT_ITEM_PAGE_SIZE, DEFAULT_MOBILE_PAGE_SIZE, DEFAULT_PAGE_SIZE, DEFAULT_RETAIN_COLLAPSED_LIMIT, DEFAULT_STALE_TIME_MS, } from './constants';
|
|
2
|
+
export { moduleItemsQueryOptions, modulesQueryOptions, type ModuleItemsQueryArgs, type ModuleItemsQueryOptions, type ModulesQueryArgs, type ModulesQueryOptions, } from './queryOptions';
|
|
3
3
|
export { useModules, type UseModulesOptions, type UseModulesResult } from './useModules';
|
|
4
|
-
export { useModuleItems, type UseModuleItemsOptions, type UseModuleItemsResult, } from './useModuleItems';
|
|
5
4
|
export { resolveItemsMode, inlineShapeOf, type InlineQueryShape, useItemsMode, type ItemsMode, type ResolvedItemsMode, type UseItemsModeOptions, type UseItemsModeResult, } from './useItemsMode';
|
|
6
5
|
export { useModulesPageData, type ModuleItemsSource, type ModuleItemsState, type UseModulesPageDataOptions, type UseModulesPageDataResult, } from './useModulesPageData';
|
|
7
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,8BAA8B,EAC9B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACxF,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,KAAK,gBAAgB,EACrB,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ModulesPageRequest } from '../adapters/types';
|
|
2
|
+
import { ModulesPageInfo } from '../types/domain';
|
|
3
|
+
export type PageStep = 'first' | 'previous' | 'next' | 'last';
|
|
4
|
+
export interface PagePosition {
|
|
5
|
+
request: ModulesPageRequest;
|
|
6
|
+
/** 1-indexed. */
|
|
7
|
+
page: number;
|
|
8
|
+
}
|
|
9
|
+
export declare const FIRST_POSITION: PagePosition;
|
|
10
|
+
export declare function pageCountOf(totalCount: number | null, pageSize: number): number;
|
|
11
|
+
export declare function stepPage(step: PageStep, page: number, pageInfo: ModulesPageInfo, pageSize: number): PagePosition | null;
|
|
12
|
+
//# sourceMappingURL=pageSteps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pageSteps.d.ts","sourceRoot":"","sources":["../../src/hooks/pageSteps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;AAE7D,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,kBAAkB,CAAA;IAC3B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,cAAc,EAAE,YAAsD,CAAA;AAEnF,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,wBAAgB,QAAQ,CACtB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,YAAY,GAAG,IAAI,CAsBrB"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QueryObserverOptions, UseQueryOptions } from '@tanstack/react-query';
|
|
2
2
|
import { LimitFunction } from 'p-limit';
|
|
3
3
|
import { ModulesDataAdapter, ModulesPageRequest } from '../adapters/types';
|
|
4
4
|
import { ModuleItemsKey, ModulesListKey, ModulesView } from '../cache/keys';
|
|
5
|
+
import { DueRange } from '../components/labels';
|
|
5
6
|
import { ModuleItemsPage, ModulesPage } from '../types/domain';
|
|
6
7
|
import { FilterClause } from '../types/filterClause';
|
|
7
|
-
export type ModulesCursor = string | null;
|
|
8
8
|
export type ModulesQueryOptions = UseQueryOptions<ModulesPage, Error, ModulesPage, ModulesListKey>;
|
|
9
|
-
export type ModuleItemsQueryOptions =
|
|
9
|
+
export type ModuleItemsQueryOptions = QueryObserverOptions<ModuleItemsPage, Error, ModuleItemsPage, ModuleItemsPage, ModuleItemsKey>;
|
|
10
10
|
export interface ModulesQueryArgs {
|
|
11
11
|
courseId: string;
|
|
12
12
|
adapter: ModulesDataAdapter;
|
|
@@ -14,6 +14,7 @@ export interface ModulesQueryArgs {
|
|
|
14
14
|
pageSize: number;
|
|
15
15
|
includeItems: boolean;
|
|
16
16
|
filter?: FilterClause;
|
|
17
|
+
dueRange?: DueRange;
|
|
17
18
|
inlineItemsFirst?: number;
|
|
18
19
|
inlineFirst?: number;
|
|
19
20
|
view?: ModulesView;
|
|
@@ -24,6 +25,7 @@ export interface ModuleItemsQueryArgs {
|
|
|
24
25
|
courseId: string;
|
|
25
26
|
moduleId: string;
|
|
26
27
|
adapter: ModulesDataAdapter;
|
|
28
|
+
page: ModulesPageRequest;
|
|
27
29
|
pageSize: number;
|
|
28
30
|
view?: ModulesView;
|
|
29
31
|
staleTime: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryOptions.d.ts","sourceRoot":"","sources":["../../src/hooks/queryOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"queryOptions.d.ts","sourceRoot":"","sources":["../../src/hooks/queryOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAA;AAElG,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,CACxD,eAAe,EACf,KAAK,EACL,eAAe,EACf,eAAe,EACf,cAAc,CACf,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,kBAAkB,CAAA;IAC3B,IAAI,EAAE,kBAAkB,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,OAAO,CAAA;IACrB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,kBAAkB,CAAA;IAC3B,IAAI,EAAE,kBAAkB,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,mBAAmB,CAkC/E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,uBAAuB,CAqB3F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsMobileViewport.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsMobileViewport.ts"],"names":[],"mappings":"AAUA,gGAAgG;AAChG,wBAAgB,mBAAmB,IAAI,OAAO,CAa7C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ModulesDataAdapter } from '../adapters/types';
|
|
2
2
|
import { ModulesView } from '../cache/keys';
|
|
3
3
|
import { ModulesPage } from '../types/domain';
|
|
4
|
+
import { DueRange } from '../components/labels';
|
|
4
5
|
import { FilterClause } from '../types/filterClause';
|
|
5
6
|
export type ItemsMode = 'auto' | 'inline' | 'onDemand';
|
|
6
7
|
export type ResolvedItemsMode = 'inline' | 'onDemand';
|
|
@@ -13,6 +14,7 @@ export interface UseItemsModeOptions {
|
|
|
13
14
|
pageSize?: number;
|
|
14
15
|
/** Must match what the list query gets. The probe shares its key. */
|
|
15
16
|
filter?: FilterClause;
|
|
17
|
+
dueRange?: DueRange;
|
|
16
18
|
view?: ModulesView;
|
|
17
19
|
staleTime?: number;
|
|
18
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useItemsMode.d.ts","sourceRoot":"","sources":["../../src/hooks/useItemsMode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,mBAAmB,CAAA;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAMzD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEtD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,CAAA;AAErD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,kBAAkB,CAAA;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qEAAqE;IACrE,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACtC,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,WAAW,EACtB,eAAe,EAAE,MAAM,EACvB,UAAU,GAAE,MAAiC,GAC5C,iBAAiB,CAgBnB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"useItemsMode.d.ts","sourceRoot":"","sources":["../../src/hooks/useItemsMode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,mBAAmB,CAAA;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAMzD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEtD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,CAAA;AAErD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,kBAAkB,CAAA;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qEAAqE;IACrE,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACtC,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,WAAW,EACtB,eAAe,EAAE,MAAM,EACvB,UAAU,GAAE,MAAiC,GAC5C,iBAAiB,CAgBnB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CA+D7E;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,gBAAgB,CAMtE"}
|
|
@@ -1,12 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QueryObserverResult } from '@tanstack/react-query';
|
|
2
|
+
import { ModulesPageRequest } from '../adapters/types';
|
|
2
3
|
import { ModuleItemsPage } from '../types/domain';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export type ModuleItemsObserverResult =
|
|
4
|
+
import { PageStep } from './pageSteps';
|
|
5
|
+
import { ModuleItemsQueryOptions } from './queryOptions';
|
|
6
|
+
export type ModuleItemsObserverResult = QueryObserverResult<ModuleItemsPage, Error>;
|
|
7
|
+
export interface ModuleItemsEntry {
|
|
8
|
+
result: ModuleItemsObserverResult;
|
|
9
|
+
/** The page `result.data` holds. It lags the requested page while that page loads. */
|
|
10
|
+
page: number;
|
|
11
|
+
}
|
|
6
12
|
export interface ModuleItemQueries {
|
|
7
|
-
|
|
8
|
-
|
|
13
|
+
entries: ReadonlyMap<string, ModuleItemsEntry>;
|
|
14
|
+
goToPage: (moduleId: string, step: PageStep) => void;
|
|
15
|
+
}
|
|
16
|
+
export interface ModuleItemQueriesOptions {
|
|
17
|
+
pageSize: number;
|
|
18
|
+
retainCollapsedLimit?: number;
|
|
19
|
+
/** A change sends every module back to page one. */
|
|
20
|
+
partition?: string;
|
|
9
21
|
}
|
|
10
|
-
export declare function useModuleItemQueries(activeModuleIds: readonly string[], buildOptions: (moduleId: string, enabled: boolean) => ModuleItemsQueryOptions, retainCollapsedLimit
|
|
11
|
-
export {};
|
|
22
|
+
export declare function useModuleItemQueries(activeModuleIds: readonly string[], buildOptions: (moduleId: string, enabled: boolean, page: ModulesPageRequest) => ModuleItemsQueryOptions, { pageSize, retainCollapsedLimit, partition, }: ModuleItemQueriesOptions): ModuleItemQueries;
|
|
12
23
|
//# sourceMappingURL=useModuleItemQueries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModuleItemQueries.d.ts","sourceRoot":"","sources":["../../src/hooks/useModuleItemQueries.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useModuleItemQueries.d.ts","sourceRoot":"","sources":["../../src/hooks/useModuleItemQueries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE/F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAqC,KAAK,QAAQ,EAAY,MAAM,aAAa,CAAA;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAE7D,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;AAUnF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,yBAAyB,CAAA;IACjC,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC9C,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;CACrD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAUD,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,SAAS,MAAM,EAAE,EAClC,YAAY,EAAE,CACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,kBAAkB,KACrB,uBAAuB,EAC5B,EACE,QAAQ,EACR,oBAAqD,EACrD,SAAc,GACf,EAAE,wBAAwB,GAC1B,iBAAiB,CA4GnB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ModulesDataAdapter } from '../adapters/types';
|
|
2
2
|
import { ModulesView } from '../cache/keys';
|
|
3
|
+
import { DueRange } from '../components/labels';
|
|
3
4
|
import { Module, ModulesPageInfo } from '../types/domain';
|
|
4
5
|
import { FilterClause } from '../types/filterClause';
|
|
5
6
|
export interface UseModulesOptions {
|
|
@@ -8,6 +9,7 @@ export interface UseModulesOptions {
|
|
|
8
9
|
pageSize?: number;
|
|
9
10
|
includeItems?: boolean;
|
|
10
11
|
filter?: FilterClause;
|
|
12
|
+
dueRange?: DueRange;
|
|
11
13
|
inlineItemsFirst?: number;
|
|
12
14
|
inlineFirst?: number;
|
|
13
15
|
view?: ModulesView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModules.d.ts","sourceRoot":"","sources":["../../src/hooks/useModules.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,mBAAmB,CAAA;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"useModules.d.ts","sourceRoot":"","sources":["../../src/hooks/useModules.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,mBAAmB,CAAA;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAKzD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,kBAAkB,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,eAAe,CAAA;IACzB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB;AAaD,gGAAgG;AAChG,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CA6GvE"}
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import { ModulesDataAdapter } from '../adapters/types';
|
|
2
2
|
import { ModulesView } from '../cache/keys';
|
|
3
3
|
import { FilterEntry } from '../config/schemas';
|
|
4
|
-
import { Module, ModuleItem, ModulesPageInfo
|
|
4
|
+
import { Module, ModuleItem, ModulesPageInfo } from '../types/domain';
|
|
5
5
|
import { ItemsMode, ResolvedItemsMode } from './useItemsMode';
|
|
6
6
|
export type ModuleItemsSource = 'inline' | 'onDemand';
|
|
7
7
|
export interface ModuleItemsState {
|
|
8
8
|
items: ModuleItem[];
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
/** 1-indexed. */
|
|
10
|
+
page: number;
|
|
11
|
+
pageCount: number;
|
|
12
|
+
/** Count of numbered items, not sub-headers, on earlier pages. */
|
|
13
|
+
itemOffset: number;
|
|
14
|
+
goToFirstPage: () => void;
|
|
15
|
+
goToPreviousPage: () => void;
|
|
16
|
+
goToNextPage: () => void;
|
|
17
|
+
goToLastPage: () => void;
|
|
12
18
|
isLoading: boolean;
|
|
13
|
-
|
|
19
|
+
isRefreshing: boolean;
|
|
14
20
|
error: Error | null;
|
|
15
21
|
source: ModuleItemsSource;
|
|
16
22
|
}
|
|
@@ -21,12 +27,16 @@ export interface UseModulesPageDataOptions {
|
|
|
21
27
|
itemsMode?: ItemsMode;
|
|
22
28
|
inlineThreshold?: number;
|
|
23
29
|
pageSize?: number;
|
|
30
|
+
/** Replaces `pageSize` below the `mobileOnly` breakpoint. */
|
|
31
|
+
mobilePageSize?: number;
|
|
24
32
|
itemPageSize?: number;
|
|
25
33
|
itemConcurrency?: number;
|
|
26
34
|
retainCollapsedLimit?: number;
|
|
27
35
|
staleTime?: number;
|
|
28
36
|
initialExpandedModuleIds?: readonly string[];
|
|
29
37
|
initialFilter?: string;
|
|
38
|
+
/** The clock the `due_this_week` window is resolved against. Defaults to mount time. */
|
|
39
|
+
today?: Date;
|
|
30
40
|
}
|
|
31
41
|
export interface UseModulesPageDataResult {
|
|
32
42
|
modules: Module[];
|
|
@@ -34,6 +44,7 @@ export interface UseModulesPageDataResult {
|
|
|
34
44
|
/** 1-indexed. */
|
|
35
45
|
page: number;
|
|
36
46
|
pageCount: number;
|
|
47
|
+
pageSize: number;
|
|
37
48
|
hasNextPage: boolean;
|
|
38
49
|
hasPreviousPage: boolean;
|
|
39
50
|
goToFirstPage: () => void;
|
|
@@ -61,8 +72,6 @@ export interface UseModulesPageDataResult {
|
|
|
61
72
|
filterEntry: FilterEntry | undefined;
|
|
62
73
|
/** Undefined when the server already narrowed. */
|
|
63
74
|
filterPredicate: FilterEntry['predicate'] | undefined;
|
|
64
|
-
/** True when a narrowing filter runs client-side and the server has more pages. */
|
|
65
|
-
filterResultsArePartial: boolean;
|
|
66
75
|
/** True while collapsed-state writes are still in flight. */
|
|
67
76
|
isPersistingCollapsed: boolean;
|
|
68
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModulesPageData.d.ts","sourceRoot":"","sources":["../../src/hooks/useModulesPageData.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"useModulesPageData.d.ts","sourceRoot":"","sources":["../../src/hooks/useModulesPageData.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,9 +6,9 @@ export type { ListModuleItemsArgs, ListModulesArgs, ModulesDataAdapter, ModulesP
|
|
|
6
6
|
export { createInMemoryAdapter, InMemoryCourseMismatchError, INLINE_ITEM_LIMIT, type InMemoryAdapterOptions, type InMemoryFixture, type InMemoryOperation, type InMemoryRequest, } from './adapters';
|
|
7
7
|
export { type CanvasGraphqlAdapterOptions, createCanvasGraphqlAdapter, INLINE_QUERY_NODE_BUDGET, type ExecuteQuery, GET_MODULE_ITEMS, GET_MODULES, PartialCanvasResponseError, type PartialResponseSubject, type UnsupportedModuleItem, type UnsupportedModuleStatus, } from './adapters/canvasGraphql';
|
|
8
8
|
export { ACTION_ORDER_LTI_FLOOR, type ActionContext, type ActionEntry, ActionEntrySchema, ALL_FILTER, baseFilters, baseModulesConfig, type BoundFormatters, type BuildActionContext, createActionContext, type CreateActionContextOptions, defaultFormatters, DUE_THIS_WEEK_DAYS, filterClauseOf, type FilterContext, type FilterEntry, FilterEntrySchema, type FormatterContext, hideUnservableFilters, isPredicateServed, type ItemTypeContext, type ItemTypeEntry, ItemTypeEntrySchema, mergeRegistry, type MetaFieldContext, type MetaFieldEntry, MetaFieldEntrySchema, type ModulesConfig, type ModulesConfigOverride, ModulesConfigProvider, type ModulesConfigProviderProps, ModulesConfigSchema, type ModulesFormatters, type ModulesNavigation, NEW_PLACEMENT_FIELD, organizePreviewConfig, partialModulesConfig, type Registry, type RegistryEntry, RegistryEntrySchema, type RegistryOverride, registrySchema, resolveModulesConfig, TYPE_FIELD, unservableFilters, useActionContext, useFieldVisible, useFormatters, useModulesConfig, visibleActions, visibleEntries, type VisibleEntry, visibleEntry, } from './config';
|
|
9
|
-
export { DEFAULT_INLINE_THRESHOLD, DEFAULT_ITEM_CONCURRENCY, DEFAULT_ITEM_PAGE_SIZE, DEFAULT_PAGE_SIZE, DEFAULT_RETAIN_COLLAPSED_LIMIT, DEFAULT_STALE_TIME_MS, type InlineQueryShape, type ItemsMode, type ModuleItemsSource, type ModuleItemsState, type ResolvedItemsMode,
|
|
9
|
+
export { DEFAULT_INLINE_THRESHOLD, DEFAULT_ITEM_CONCURRENCY, DEFAULT_ITEM_PAGE_SIZE, DEFAULT_MOBILE_PAGE_SIZE, DEFAULT_PAGE_SIZE, DEFAULT_RETAIN_COLLAPSED_LIMIT, DEFAULT_STALE_TIME_MS, type InlineQueryShape, type ItemsMode, type ModuleItemsSource, type ModuleItemsState, type ResolvedItemsMode, useModules, type UseModulesOptions, useModulesPageData, type UseModulesPageDataOptions, type UseModulesPageDataResult, type UseModulesResult, } from './hooks';
|
|
10
10
|
export { invalidateCourse, invalidateModuleItems, invalidateModuleList, moduleItemsPrefix, type ModuleItemsKeyOptions, modulesKeys, modulesListPrefix, type ModulesListKeyOptions, type ModulesView, } from './cache';
|
|
11
|
-
export { FilterSelect, type FilterSelectProps, ItemDueSoonPill, ModuleCard, type ModuleCardProps, ModuleDueSoonPill, ModuleItemRow, type ModuleItemRowProps, moduleItemStatusLabel, ModuleItemStatusPill, type ModuleItemStatusPillProps, ModulesList, type ModulesListProps, ModulesProgressBar, type ModulesProgressBarProps, type ModulesRequestCounts, moduleStatusLabel, ModuleStatusPill, type ModuleStatusPillProps, } from './components';
|
|
11
|
+
export { type DueRange, FilterSelect, type FilterSelectProps, ItemDueSoonPill, ModuleCard, type ModuleCardProps, ModuleDueSoonPill, ModuleItemRow, type ModuleItemRowProps, moduleItemStatusLabel, ModuleItemStatusPill, type ModuleItemStatusPillProps, ModulesList, type ModulesListProps, ModulesProgressBar, type ModulesProgressBarProps, type ModulesRequestCounts, moduleStatusLabel, ModuleStatusPill, type ModuleStatusPillProps, } from './components';
|
|
12
12
|
export { createTranslate, DEFAULT_LOCALE, defaultTranslate, type ModulesI18n, ModulesI18nProvider, type ModulesI18nProviderProps, type ModulesTranslationKey, type ModulesTranslations, type PluralForms, type TranslateFunction, useModulesI18n, } from './i18n';
|
|
13
13
|
export { buildFixture, type BuildFixtureOptions, courseEmpty, courseFatModule, courseItemLinks, courseItemRowVariants, courseLarge, courseLockReasons, courseSmall, FIXTURE_COURSE_ID, type FixtureView, } from './fixtures';
|
|
14
14
|
export { defaultOrganizeInput, hasOrganizeInputErrors, MAX_DIRECTION_CHARS, type ModuleOrganizationActions, ORGANIZE_CONTENT_TYPES, ORGANIZE_MODES, ORGANIZE_SLOW_AFTER_MS, type OrganizeContentType, OrganizeForm, type OrganizeFormProps, type OrganizeInput, type OrganizeInputErrors, type OrganizeMode, OrganizeModulesButton, type OrganizeModulesButtonProps, OrganizeModulesModal, type OrganizeModulesModalProps, type OrganizeProposal, type OrganizeStatus, PROPOSAL_PREVIEW_COURSE_ID, ProposalPreview, type ProposalPreviewProps, proposalToFixture, type ProposedCompletionRequirement, type ProposedItem, type ProposedModule, type UnplacedItem, useOrganizeModules, type UseOrganizeModulesOptions, type UseOrganizeModulesResult, validateOrganizeInput, } from './organize';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|