placementt-core 1.400.1007 → 1.400.1009
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/lib/dataViewerReload.d.ts +24 -0
- package/lib/dataViewerReload.js +61 -0
- package/lib/dataViewerReload.js.map +1 -0
- package/lib/exportTransformers.js +5 -1
- package/lib/exportTransformers.js.map +1 -1
- package/lib/features/search/globalSearch.d.ts +16 -0
- package/lib/features/search/globalSearch.js +37 -5
- package/lib/features/search/globalSearch.js.map +1 -1
- package/lib/firebase/firebase.d.ts +3 -0
- package/lib/firebase/firebase.js +14 -1
- package/lib/firebase/firebase.js.map +1 -1
- package/lib/hooks.d.ts +13 -2
- package/lib/hooks.js +27 -18
- package/lib/hooks.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/tasksAndTips.js +3 -2
- package/lib/tasksAndTips.js.map +1 -1
- package/lib/typeDefinitions.d.ts +44 -4
- package/lib/util.js +1 -1
- package/lib/util.js.map +1 -1
- package/lib/workflows.d.ts +54 -0
- package/lib/workflows.js +124 -0
- package/lib/workflows.js.map +1 -0
- package/package.json +1 -1
- package/src/dataViewerReload.ts +57 -0
- package/src/exportTransformers.ts +5 -2
- package/src/features/search/globalSearch.ts +41 -4
- package/src/firebase/firebase.tsx +17 -2
- package/src/hooks.tsx +28 -20
- package/src/index.ts +2 -0
- package/src/tasksAndTips.ts +3 -2
- package/src/typeDefinitions.ts +50 -4
- package/src/util.ts +1 -1
- package/src/workflows.ts +125 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reload signalling for DataViewers.
|
|
3
|
+
*
|
|
4
|
+
* Most DataViewers read with a one-off `getDocs`, so after an async job mutates
|
|
5
|
+
* a collection they sit on stale data until the component remounts. Jobs tag
|
|
6
|
+
* themselves with one or more reload keys (by default the callable's
|
|
7
|
+
* `collectionLink` from CALLABLE_JOB_CONTEXT) and fire `triggerDataViewerReload`
|
|
8
|
+
* once they reach a terminal state. Any DataViewer given a matching `reloadKey`
|
|
9
|
+
* refetches in place, keeping its selection, view and scroll position.
|
|
10
|
+
*
|
|
11
|
+
* Snapshot DataViewers stay out of this by simply not passing a `reloadKey`.
|
|
12
|
+
*/
|
|
13
|
+
type Listener = () => void;
|
|
14
|
+
/**
|
|
15
|
+
* Subscribe to reload signals for one or more keys. Returns an unsubscribe
|
|
16
|
+
* function suitable for returning straight out of a useEffect.
|
|
17
|
+
*/
|
|
18
|
+
export declare const subscribeDataViewerReload: (keys: string[], callback: Listener) => () => void;
|
|
19
|
+
/**
|
|
20
|
+
* Fire every listener registered against any of the given keys. A listener
|
|
21
|
+
* subscribed to several of the keys is only called once.
|
|
22
|
+
*/
|
|
23
|
+
export declare const triggerDataViewerReload: (keys?: (string | null | undefined)[]) => void;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Reload signalling for DataViewers.
|
|
4
|
+
*
|
|
5
|
+
* Most DataViewers read with a one-off `getDocs`, so after an async job mutates
|
|
6
|
+
* a collection they sit on stale data until the component remounts. Jobs tag
|
|
7
|
+
* themselves with one or more reload keys (by default the callable's
|
|
8
|
+
* `collectionLink` from CALLABLE_JOB_CONTEXT) and fire `triggerDataViewerReload`
|
|
9
|
+
* once they reach a terminal state. Any DataViewer given a matching `reloadKey`
|
|
10
|
+
* refetches in place, keeping its selection, view and scroll position.
|
|
11
|
+
*
|
|
12
|
+
* Snapshot DataViewers stay out of this by simply not passing a `reloadKey`.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.triggerDataViewerReload = exports.subscribeDataViewerReload = void 0;
|
|
16
|
+
const listeners = {};
|
|
17
|
+
/**
|
|
18
|
+
* Subscribe to reload signals for one or more keys. Returns an unsubscribe
|
|
19
|
+
* function suitable for returning straight out of a useEffect.
|
|
20
|
+
*/
|
|
21
|
+
const subscribeDataViewerReload = (keys, callback) => {
|
|
22
|
+
keys.forEach((key) => {
|
|
23
|
+
if (!listeners[key])
|
|
24
|
+
listeners[key] = new Set();
|
|
25
|
+
listeners[key].add(callback);
|
|
26
|
+
});
|
|
27
|
+
return () => {
|
|
28
|
+
keys.forEach((key) => {
|
|
29
|
+
listeners[key]?.delete(callback);
|
|
30
|
+
if (listeners[key]?.size === 0)
|
|
31
|
+
delete listeners[key];
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
exports.subscribeDataViewerReload = subscribeDataViewerReload;
|
|
36
|
+
/**
|
|
37
|
+
* Fire every listener registered against any of the given keys. A listener
|
|
38
|
+
* subscribed to several of the keys is only called once.
|
|
39
|
+
*/
|
|
40
|
+
const triggerDataViewerReload = (keys) => {
|
|
41
|
+
if (!keys?.length)
|
|
42
|
+
return;
|
|
43
|
+
const called = new Set();
|
|
44
|
+
keys.forEach((key) => {
|
|
45
|
+
if (!key)
|
|
46
|
+
return;
|
|
47
|
+
listeners[key]?.forEach((callback) => {
|
|
48
|
+
if (called.has(callback))
|
|
49
|
+
return;
|
|
50
|
+
called.add(callback);
|
|
51
|
+
try {
|
|
52
|
+
callback();
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
console.error("DataViewer reload listener failed", key, e);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
exports.triggerDataViewerReload = triggerDataViewerReload;
|
|
61
|
+
//# sourceMappingURL=dataViewerReload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataViewerReload.js","sourceRoot":"","sources":["../src/dataViewerReload.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAIH,MAAM,SAAS,GAAmC,EAAE,CAAC;AAErD;;;GAGG;AACI,MAAM,yBAAyB,GAAG,CAAC,IAAc,EAAE,QAAkB,EAAE,EAAE;IAC5E,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACjB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QAChD,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,EAAE;QACR,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC,CAAC;AAZW,QAAA,yBAAyB,6BAYpC;AAEF;;;GAGG;AACI,MAAM,uBAAuB,GAAG,CAAC,IAAgC,EAAE,EAAE;IACxE,IAAI,CAAC,IAAI,EAAE,MAAM;QAAE,OAAO;IAE1B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAY,CAAC;IAEnC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACjB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO;YACjC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrB,IAAI,CAAC;gBACD,QAAQ,EAAE,CAAC;YACf,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAjBW,QAAA,uBAAuB,2BAiBlC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.exportTransformers = void 0;
|
|
4
|
+
const workflows_1 = require("./workflows");
|
|
4
5
|
exports.exportTransformers = {
|
|
5
6
|
resolveCohortName: async (fetcher, value) => {
|
|
6
7
|
if (!value)
|
|
@@ -13,7 +14,10 @@ exports.exportTransformers = {
|
|
|
13
14
|
if (!cohortId)
|
|
14
15
|
return value;
|
|
15
16
|
const cohort = await fetcher.getDocData(["cohorts", cohortId]).catch(() => null);
|
|
16
|
-
|
|
17
|
+
if (!cohort?.workflowId)
|
|
18
|
+
return value;
|
|
19
|
+
const workflowConfig = await fetcher.getDocData(["workflows", cohort.workflowId]).catch(() => null);
|
|
20
|
+
return (0, workflows_1.applyWorkflowOverrides)(workflowConfig?.workflow || [], cohort.workflowOverrides).find(s => s.id === value)?.name ?? value;
|
|
17
21
|
},
|
|
18
22
|
resolveActivityTitles: async (fetcher, value) => {
|
|
19
23
|
const activityIds = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportTransformers.js","sourceRoot":"","sources":["../src/exportTransformers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"exportTransformers.js","sourceRoot":"","sources":["../src/exportTransformers.ts"],"names":[],"mappings":";;;AACA,2CAAmD;AAStC,QAAA,kBAAkB,GAAwC;IACnE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAa,CAAC,SAAS,EAAE,KAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpG,OAAO,MAAM,EAAE,IAAI,IAAI,KAAK,CAAC;IACjC,CAAC;IAED,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAgB,CAAC;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7F,IAAI,CAAC,MAAM,EAAE,UAAU;YAAE,OAAO,KAAK,CAAC;QACtC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpH,OAAO,IAAA,kCAAsB,EAAC,cAAc,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC;IACrI,CAAC;IAED,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC5C,MAAM,WAAW,GAAG,KAAoC,CAAC;QACzD,IAAI,CAAC,WAAW,EAAE,MAAM;YAAE,OAAO,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAmB,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAC5G,CAAC;QACF,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;CACJ,CAAC"}
|
|
@@ -63,6 +63,22 @@ export type GlobalSearchIndexDefinition = {
|
|
|
63
63
|
/** Turns one raw hit into a row. */
|
|
64
64
|
toHit: (hit: any) => GlobalSearchHit;
|
|
65
65
|
};
|
|
66
|
+
/**
|
|
67
|
+
* The oIds whose employer databases this institute may read.
|
|
68
|
+
*
|
|
69
|
+
* Its own, plus every trust and every careers hub it has an approved link with —
|
|
70
|
+
* for a trust, `trustLinks` holds its member schools, so the same walk covers
|
|
71
|
+
* both directions of the relationship. Mirrors the `sources` handling in
|
|
72
|
+
* useProviderContactPaginator, which is what the Employers list itself queries.
|
|
73
|
+
*
|
|
74
|
+
* @param {UserData} user the signed-in user.
|
|
75
|
+
* @param {InstituteData} [institute] the signed-in institute.
|
|
76
|
+
* @return {{oId: string, linked: boolean}[]} scopes to search, own database first.
|
|
77
|
+
*/
|
|
78
|
+
export declare const employerSearchScopes: (user: UserData, institute?: InstituteData) => {
|
|
79
|
+
oId: string;
|
|
80
|
+
linked: boolean;
|
|
81
|
+
}[];
|
|
66
82
|
/**
|
|
67
83
|
* The indexes the navbar search covers.
|
|
68
84
|
*
|
|
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.nonEmptyGlobalSearchSections = exports.totalGlobalSearchHits = exports.globalSearch = exports.availableGlobalSearchIndexes = exports.GLOBAL_SEARCH_INDEXES = exports.GLOBAL_SEARCH_INDEX_HITS = exports.GLOBAL_SEARCH_OVERVIEW_HITS = void 0;
|
|
17
|
+
exports.nonEmptyGlobalSearchSections = exports.totalGlobalSearchHits = exports.globalSearch = exports.availableGlobalSearchIndexes = exports.GLOBAL_SEARCH_INDEXES = exports.employerSearchScopes = exports.GLOBAL_SEARCH_INDEX_HITS = exports.GLOBAL_SEARCH_OVERVIEW_HITS = void 0;
|
|
18
18
|
const algoliasearch_1 = __importDefault(require("algoliasearch"));
|
|
19
19
|
const util_1 = require("../../firebase/util");
|
|
20
20
|
const algoliaConfig_1 = require("../../algoliaConfig");
|
|
@@ -26,6 +26,33 @@ const fullName = (forename, surname) => [forename, surname].filter(Boolean).join
|
|
|
26
26
|
const joinParts = (...parts) => parts.filter(Boolean).join(" · ") || undefined;
|
|
27
27
|
/** Packages that run their own students, placements and cohorts. */
|
|
28
28
|
const isSchoolPackage = (institute) => institute?.package === "institutes-one" || institute?.package === "institutes-two";
|
|
29
|
+
/** Packages that keep an employer database of their own. */
|
|
30
|
+
const hasEmployerDatabase = (institute) => isSchoolPackage(institute) || institute?.package === "careersHub";
|
|
31
|
+
/**
|
|
32
|
+
* The oIds whose employer databases this institute may read.
|
|
33
|
+
*
|
|
34
|
+
* Its own, plus every trust and every careers hub it has an approved link with —
|
|
35
|
+
* for a trust, `trustLinks` holds its member schools, so the same walk covers
|
|
36
|
+
* both directions of the relationship. Mirrors the `sources` handling in
|
|
37
|
+
* useProviderContactPaginator, which is what the Employers list itself queries.
|
|
38
|
+
*
|
|
39
|
+
* @param {UserData} user the signed-in user.
|
|
40
|
+
* @param {InstituteData} [institute] the signed-in institute.
|
|
41
|
+
* @return {{oId: string, linked: boolean}[]} scopes to search, own database first.
|
|
42
|
+
*/
|
|
43
|
+
const employerSearchScopes = (user, institute) => {
|
|
44
|
+
const approved = (links) => Object.entries(links || {})
|
|
45
|
+
.filter(([, link]) => link?.status === "approved")
|
|
46
|
+
.map(([oId]) => oId);
|
|
47
|
+
const linked = [...approved(institute?.trustLinks), ...approved(institute?.careersHubLinks)]
|
|
48
|
+
.filter((oId) => oId !== user.oId);
|
|
49
|
+
return [
|
|
50
|
+
{ oId: user.oId, linked: false },
|
|
51
|
+
// Deduped: a school can be linked to a trust and a hub that share an oId.
|
|
52
|
+
...Array.from(new Set(linked)).map((oId) => ({ oId, linked: true })),
|
|
53
|
+
];
|
|
54
|
+
};
|
|
55
|
+
exports.employerSearchScopes = employerSearchScopes;
|
|
29
56
|
/**
|
|
30
57
|
* The indexes the navbar search covers.
|
|
31
58
|
*
|
|
@@ -54,10 +81,15 @@ exports.GLOBAL_SEARCH_INDEXES = [
|
|
|
54
81
|
label: "Employers",
|
|
55
82
|
labelSingular: "employer",
|
|
56
83
|
indexName: "providerContacts",
|
|
57
|
-
available: (institute) => Boolean(institute && institute
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
|
|
84
|
+
available: (institute) => Boolean(hasEmployerDatabase(institute) && institute?.network !== false),
|
|
85
|
+
// oIds are Firestore ids, so they go into the attribute path unquoted — the
|
|
86
|
+
// same shape algoliaProviderContactSearch already uses. Own records come
|
|
87
|
+
// through at any status; a linked trust's or hub's only once approved.
|
|
88
|
+
filters: (user, institute) => `(${(0, exports.employerSearchScopes)(user, institute)
|
|
89
|
+
.map(({ oId, linked }) => (linked ?
|
|
90
|
+
`(savedBy.${oId}.exists:true AND savedBy.${oId}.status:approved)` :
|
|
91
|
+
`savedBy.${oId}.exists:true`))
|
|
92
|
+
.join(" OR ")})`,
|
|
61
93
|
toHit: (hit) => ({
|
|
62
94
|
id: hit.objectID,
|
|
63
95
|
title: hit.name || fullName(hit.contactForename, hit.contactSurname) || "Unnamed employer",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalSearch.js","sourceRoot":"","sources":["../../../src/features/search/globalSearch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;AAEH,kEAA0C;AAE1C,8CAA+D;AAC/D,uDAAmD;AAEnD,8EAA8E;AACjE,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAE7C,8EAA8E;AACjE,QAAA,wBAAwB,GAAG,EAAE,CAAC;AAoD3C,MAAM,QAAQ,GAAG,CAAC,QAAiB,EAAE,OAAgB,EAAE,EAAE,CACrD,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAEzD,MAAM,SAAS,GAAG,CAAC,GAAG,KAAiC,EAAE,EAAE,CACvD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;AAEnD,oEAAoE;AACpE,MAAM,eAAe,GAAG,CAAC,SAAyB,EAAE,EAAE,CAClD,SAAS,EAAE,OAAO,KAAK,gBAAgB,IAAI,SAAS,EAAE,OAAO,KAAK,gBAAgB,CAAC;AAEvF;;;;;GAKG;AACU,QAAA,qBAAqB,GAAkC;IAChE;QACI,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,YAAY;QACnB,aAAa,EAAE,WAAW;QAC1B,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,cAAc,CAAC;QAC1F,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAA,iCAA0B,EAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB;QAChF,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACb,EAAE,EAAE,GAAG,CAAC,QAAQ;YAChB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI,oBAAoB;YACpD,QAAQ,EAAE,SAAS,CACf,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,EACrB,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,EAC9D,GAAG,CAAC,QAAQ,CACf;YACD,IAAI,EAAE,GAAG,CAAC,UAAU;YACpB,IAAI,EAAE,kCAAkC,GAAG,CAAC,QAAQ,EAAE;YACtD,GAAG,EAAE,GAAG;SACX,CAAC;KACL;IACD;QACI,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,WAAW;QAClB,aAAa,EAAE,UAAU;QACzB,SAAS,EAAE,kBAAkB;QAC7B,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"globalSearch.js","sourceRoot":"","sources":["../../../src/features/search/globalSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ export type RegistrationData = {
|
|
|
21
21
|
export declare const register: (credentials: RegistrationData, type: "Institute" | "Provider" | "Student") => Promise<string>;
|
|
22
22
|
export declare const executeCallable: <K extends string>(functionName: K, data: K extends CallableName ? CallableContracts[K]["request"] : unknown, options?: {
|
|
23
23
|
timeout?: number;
|
|
24
|
+
reloadKeys?: string[];
|
|
24
25
|
}) => Promise<K extends CallableName ? {
|
|
25
26
|
data: CallableContracts[K]["response"];
|
|
26
27
|
} : {
|
|
@@ -31,6 +32,8 @@ export declare function useExecuteCallableJob({ user }: {
|
|
|
31
32
|
}): {
|
|
32
33
|
execute: (functionName: "events-sendExternalEventInvites" | "events-sendEmployerConfirmations" | "events-addStudents" | "events-studentJoinEvent" | "events-careersHubAddSchool" | "userManagement-addUsers" | "userManagement-activateUsers" | "userManagement-deactivateUsers" | "userManagement-deleteUsers" | "userManagement-uploadAnalytics" | "userManagement-sendParentWelcomeEmail" | "userManagement-addStudentsToCohort" | "userManagement-removeFromCohort" | "providerContacts-add" | "providerContacts-delete" | "providerContacts-resendEmployerInvite" | "providerContacts-approveEmployerContacts" | "placementListing-addToCohort" | "placementListing-delist" | "placement-bulkUpload" | "placement-sendBulkExternalEmails" | "registration-registerInstitutes" | "registration-resendSchoolInvites" | "registration-deleteSchoolInvites" | "admissions-createCohort" | "parents-add" | "parents-bulkApprove" | "aspirations-sendLeaverCheckpointNow" | "aspirations-sendAspirationCycleNow" | "aspirations-sendLeaverGroupNow" | "aspirations-deleteAspirationCycle", data: {
|
|
33
34
|
[key: string]: unknown;
|
|
35
|
+
}, options?: {
|
|
36
|
+
reloadKeys?: string[];
|
|
34
37
|
}) => Promise<{
|
|
35
38
|
severity: string;
|
|
36
39
|
message: string;
|
package/lib/firebase/firebase.js
CHANGED
|
@@ -13,6 +13,7 @@ const firebaseConfig_1 = require("./firebaseConfig");
|
|
|
13
13
|
const jobsSlice_1 = require("../features/jobs/jobsSlice");
|
|
14
14
|
const reduxHooks_1 = require("../reduxHooks");
|
|
15
15
|
const callableJobContext_1 = require("./callableJobContext");
|
|
16
|
+
const dataViewerReload_1 = require("../dataViewerReload");
|
|
16
17
|
const authListener = (setUser) => {
|
|
17
18
|
return (0, auth_1.onAuthStateChanged)(firebaseConfig_1.auth, (aUser) => {
|
|
18
19
|
if (!aUser) {
|
|
@@ -89,22 +90,28 @@ const executeCallable = async (functionName, data, options) => {
|
|
|
89
90
|
recipientId: context?.recipientId?.(data) ?? null,
|
|
90
91
|
};
|
|
91
92
|
const jobRef = firebaseQuery.add(["jobs"], jobObject);
|
|
93
|
+
// Which DataViewers should refetch once this call settles. Defaults to the
|
|
94
|
+
// callable's collection, so most flows need no per-call-site wiring.
|
|
95
|
+
const reloadKeys = options?.reloadKeys ?? [context?.collectionLink];
|
|
92
96
|
const funcCallable = (0, functions_1.httpsCallable)(firebaseConfig_1.functions, functionName, options);
|
|
93
97
|
try {
|
|
94
98
|
const res = await funcCallable(data);
|
|
95
99
|
jobRef.then((doc) => firebaseQuery.update(["jobs", doc.id], { status: "complete", updated: new Date().toISOString() }));
|
|
100
|
+
(0, dataViewerReload_1.triggerDataViewerReload)(reloadKeys);
|
|
96
101
|
return res;
|
|
97
102
|
}
|
|
98
103
|
catch (e) {
|
|
99
104
|
console.log("callableError", functionName, e);
|
|
100
105
|
jobRef.then((doc) => firebaseQuery.update(["jobs", doc.id], { status: "error", updated: new Date().toISOString(), error: e?.message ?? String(e) }));
|
|
106
|
+
// Errored calls are frequently partial, so still refresh.
|
|
107
|
+
(0, dataViewerReload_1.triggerDataViewerReload)(reloadKeys);
|
|
101
108
|
throw e;
|
|
102
109
|
}
|
|
103
110
|
};
|
|
104
111
|
exports.executeCallable = executeCallable;
|
|
105
112
|
function useExecuteCallableJob({ user }) {
|
|
106
113
|
const dispatch = (0, reduxHooks_1.useAppDispatch)();
|
|
107
|
-
const execute = async (functionName, data) => {
|
|
114
|
+
const execute = async (functionName, data, options) => {
|
|
108
115
|
const getCode = () => {
|
|
109
116
|
switch (functionName) {
|
|
110
117
|
case "userManagement-addUsers":
|
|
@@ -304,6 +311,9 @@ function useExecuteCallableJob({ user }) {
|
|
|
304
311
|
job: jobObject,
|
|
305
312
|
}));
|
|
306
313
|
const items = { ...data, jobId: jobId };
|
|
314
|
+
// Which DataViewers should refetch once this job settles. Defaults to the
|
|
315
|
+
// callable's collection, so most flows need no per-call-site wiring.
|
|
316
|
+
const reloadKeys = options?.reloadKeys ?? [context?.collectionLink];
|
|
307
317
|
const funcCallable = (0, functions_1.httpsCallable)(firebaseConfig_1.functions, functionName);
|
|
308
318
|
console.log(items);
|
|
309
319
|
funcCallable(items).then(async () => {
|
|
@@ -312,6 +322,7 @@ function useExecuteCallableJob({ user }) {
|
|
|
312
322
|
jobId: jobId,
|
|
313
323
|
data: jobResolved
|
|
314
324
|
}));
|
|
325
|
+
(0, dataViewerReload_1.triggerDataViewerReload)(reloadKeys);
|
|
315
326
|
}).catch(async (e) => {
|
|
316
327
|
const errorUpdate = {
|
|
317
328
|
status: "error",
|
|
@@ -320,6 +331,8 @@ function useExecuteCallableJob({ user }) {
|
|
|
320
331
|
};
|
|
321
332
|
await firebaseQuery.update(["jobs", jobId], errorUpdate);
|
|
322
333
|
dispatch((0, jobsSlice_1.updateJob)({ jobId, data: errorUpdate }));
|
|
334
|
+
// Errored jobs are frequently partial, so still refresh.
|
|
335
|
+
(0, dataViewerReload_1.triggerDataViewerReload)(reloadKeys);
|
|
323
336
|
});
|
|
324
337
|
return {
|
|
325
338
|
severity: "success",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../src/firebase/firebase.tsx"],"names":[],"mappings":";;;;;;AA6HA,sDA4PC;AAzXD,wCAA6E;AAC7E,kDAAiD;AAEjD,iDAAuC;AAEvC,oEAA4C;AAC5C,qDAAiD;AACjD,0DAAkE;AAClE,8CAA+C;AAC/C,6DAA4D;AAIrD,MAAM,YAAY,GAAG,CAAC,OAA4B,EAAE,EAAE;IACzD,OAAO,IAAA,yBAAkB,EAAC,qBAAI,EAAE,CAAC,KAAK,EAAE,EAAE;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,CAAA;YACd,OAAO;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO;QACX,CAAC;QAAA,CAAC;QACF,IAAA,sBAAO,EAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB;AAEK,MAAM,KAAK,GAAG,KAAK,EAAE,WAA8C,EAAE,EAAE;IAC1E,OAAO,MAAM,IAAA,iCAA0B,EAAC,qBAAI,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC3F,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB;AAeK,MAAM,QAAQ,GAAG,KAAK,EAAE,WAA6B,EAAE,IAAqC,EAAE,EAAE;IACnG,OAAO,MAAM,IAAA,uBAAe,EAAC,wBAAwB,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAClF,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAClB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAA,aAAK,EAAC,EAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,WAAW,EAAC,CAAC,CAAC;QAC/E,CAAC;QACD,OAAQ,GAAG,CAAC,IAA8B,CAAC,GAAG,CAAC,GAAa,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAVW,QAAA,QAAQ,YAUnB;AAEF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE9F,SAAS,YAAY,CAAC,IAAa;IAC/B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5D,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;KACzD,CAAC,CACL,CAAC;AACN,CAAC;AAED,MAAM,2BAA2B,GAAG;IAChC,WAAW,EAAE,cAAc;IAC3B,SAAS,EAAE,wBAAwB;CACtC,CAAC;AAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAEvH,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,+EAA+E;AAC/E,wCAAwC;AACjC,MAAM,eAAe,GAAG,KAAK,EAChC,YAAe,EACf,IAAwE,EACxE,OAA4B,EAC4D,EAAE;IAC1F,MAAM,WAAW,GAAG,qBAAI,CAAC,WAAW,CAAC;IACrC,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,yCAAoB,CAAC,YAAY,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG;QACd,YAAY;QACZ,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;QAC3B,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;QAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,IAAI;QAChC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAC,SAAS,EAAE,WAAW,EAAE,KAAK,IAAI,IAAI,EAAC,CAAC;QACnG,GAAG,EAAE,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QAChE,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI;QAC/C,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI;QAC3D,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI;KACpD,CAAC;IAEF,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAgD,CAAC,CAAC;IAE7F,MAAM,YAAY,GAAG,IAAA,yBAAa,EAAC,0BAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACrE,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC,CAAC;QACtH,OAAO,GAAU,CAAC;IACtB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACnJ,MAAM,CAAC,CAAC;IACZ,CAAC;AACL,CAAC,CAAC;AArCW,QAAA,eAAe,mBAqC1B;AAGF,SAAgB,qBAAqB,CAAC,EAAC,IAAI,EAAkB;IAUzD,MAAM,QAAQ,GAAG,IAAA,2BAAc,GAAE,CAAC;IAElC,MAAM,OAAO,GAAG,KAAK,EAAE,YAAiC,EAAE,IAA2B,EAAE,EAAE;QACrF,MAAM,OAAO,GAAG,GAAG,EAAE;YACjB,QAAQ,YAAY,EAAE,CAAC;gBACvB,KAAK,yBAAyB;oBAC1B,OAAO;wBACH,KAAK,EAAE,WAAW;wBAClB,WAAW,EAAE,UAAW,IAA0B,CAAC,KAAK,CAAC,MAAM,IAAK,IAA0B,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE;qBAC1H,CAAC;gBACN,KAAK,8BAA8B;oBAC/B,OAAO;wBACH,KAAK,EAAE,kBAAkB;wBACzB,WAAW,EAAE,4BAA4B,KAAK,CAAC,OAAO,CAAE,IAAuC,CAAC,KAAK,CAAC,CAAC,CAAC;4BACpG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAE,IAA0C,CAAC,KAAK,CAAC,CAAC,MAAM,SAAS;qBACrG,CAAC;gBACN,KAAK,gCAAgC;oBACjC,OAAO;wBACH,KAAK,EAAE,oBAAoB;wBAC3B,WAAW,EAAE,gBAAgB,KAAK,CAAC,OAAO,CAAE,IAAuC,CAAC,KAAK,CAAC,CAAC,CAAC;4BACxF,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAE,IAA0C,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,UAAU,SAAS;qBACnH,CAAC;gBACN,KAAK,iCAAiC;oBAClC,OAAO;wBACH,KAAK,EAAE,4BAA4B;wBACnC,WAAW,EAAE,YAAY,KAAK,CAAC,OAAO,CAAE,IAAuC,CAAC,KAAK,CAAC,CAAC,CAAC;4BACpF,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAE,IAA0C,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,UAAU,0BAA0B;qBACpI,CAAC;gBACN,KAAK,4BAA4B;oBAC7B,OAAO;wBACH,KAAK,EAAE,gBAAgB;wBACvB,WAAW,EAAE,0BAA0B,KAAK,CAAC,OAAO,CAAE,IAAuC,CAAC,KAAK,CAAC,CAAC,CAAC;4BAClG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAE,IAA0C,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,UAAU,SAAS;qBACnH,CAAC;gBACN,KAAK,sBAAsB;oBACvB,OAAO;wBACH,KAAK,EAAE,0BAA0B;wBACjC,WAAW,EAAE,0BAA2B,IAA8B,CAAC,gBAAgB,CAAC,MAAM,oBAAoB;qBACrH,CAAC;gBACN,KAAK,uCAAuC;oBACxC,OAAO;wBACH,KAAK,EAAE,+BAA+B;wBACtC,WAAW,EAAE,oCAAoC,KAAK,CAAC,OAAO,CAAE,IAAuC,CAAC,KAAK,CAAC,CAAC,CAAC;4BAC5G,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAE,IAA0C,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,UAAU,SAAS;qBACnH,CAAC;gBACN,KAAK,iCAAiC;oBAClC,OAAO;wBACH,KAAK,EAAE,oCAAqC,IAAmC,CAAC,IAAI,CAAC,SAAS,EAAE;wBAChG,WAAW,EAAE,0CAA2C,IAAmC,CAAC,IAAI,CAAC,SAAS,qDAAqD;qBAClK,CAAC;gBACN,KAAK,kCAAkC;oBACnC,OAAO;wBACH,KAAK,EAAE,mDAAoD,IAAgD,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;wBAC7H,WAAW,EAAE,yDAA0D,IAAgD,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAS,IAI3H,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAE,IAIxE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,YAAY,oDAAoD;qBACvH,CAAC;gBACN,KAAK,oBAAoB;oBACrB,OAAO;wBACH,KAAK,EAAE,mCAAoC,IAAuC,CAAC,KAAK,CAAC,IAAI,EAAE;wBAC/F,WAAW,EAAE,kDAAmD,IAAuC,CAAC,KAAK,CAAC,IAAI,qDAAqD;qBAC1K,CAAC;gBACN,KAAK,8BAA8B;oBAC/B,OAAO;wBACH,KAAK,EAAE,qCAAqC;wBAC5C,WAAW,EAAE,qDAAqD;qBACrE,CAAC;gBACN,KAAK,yBAAyB;oBAC1B,OAAO;wBACH,KAAK,EAAE,0CAA0C;wBACjD,WAAW,EAAE,sDAAsD;qBACtE,CAAC;gBACN,KAAK,yBAAyB;oBAC1B,OAAO;wBACH,KAAK,EAAE,0CAA0C;wBACjD,WAAW,EAAE,mDAAmD;qBACnE,CAAC;gBACN,KAAK,iCAAiC;oBAClC,OAAO;wBACH,KAAK,EAAE,YAAa,IAAwB,CAAC,OAAO,CAAC,MAAM,UAAW,IAA6C,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAa,IAA6C,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE;wBACxP,WAAW,EAAE,sBAAuB,IAAwB,CAAC,OAAO,CAAC,MAAM,UAAW,IAAwB,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,mCAAmC;qBACpL,CAAC;gBACN,KAAK,uCAAuC;oBACxC,OAAO;wBACH,KAAK,EAAE,oCAAoC;wBAC3C,WAAW,EAAE,qEAAqE;qBACrF,CAAC;gBACN,KAAK,kCAAkC;oBACnC,OAAO;wBACH,KAAK,EAAE,kCAAkC;wBACzC,WAAW,EAAE,mEAAmE;qBACnF,CAAC;gBACN,KAAK,kCAAkC;oBACnC,OAAO;wBACH,KAAK,EAAE,iCAAiC;wBACxC,WAAW,EAAE,qCAAqC;qBACrD,CAAC;gBACN,KAAK,4BAA4B;oBAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAwD,CAAC;oBACjF,MAAM,IAAI,GAAY,EAAE,CAAC;oBACzB,IAAI,UAAU,CAAC,OAAO,EAAC,CAAC;wBACpB,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,UAAU,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBAClG,CAAC;oBACD,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAC,CAAC;wBAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,gBAAgB,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBACtG,CAAC;oBACD,OAAO;wBACH,KAAK,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;wBACrD,WAAW,EAAE,sBAAsB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC;qBAC3F,CAAC;gBACN,KAAK,yBAAyB;oBAC1B,OAAO;wBACH,KAAK,EAAE,+BAA+B;wBACtC,WAAW,EAAE,8DAA8D;qBAC9E,CAAC;gBACN,KAAK,oBAAoB;oBACrB,OAAO;wBACH,KAAK,EAAE,+BAA+B;wBACtC,WAAW,EAAE,8DAA8D;qBAC9E,CAAC;gBACN,KAAK,oCAAoC;oBACrC,OAAO;wBACH,KAAK,EAAE,gCAAgC;wBACvC,WAAW,EAAE,wEAAwE;qBACxF,CAAC;gBACN,KAAK,sBAAsB;oBACvB,OAAO;wBACH,KAAK,EAAE,4BAA4B;wBACnC,WAAW,EAAE,6DAA6D;qBAC7E,CAAC;gBACN,KAAK,0CAA0C;oBAC3C,OAAO;wBACH,KAAK,EAAE,8BAA8B;wBACrC,WAAW,EAAE,uFAAuF;qBACvG,CAAA;gBACL,KAAK,aAAa;oBACd,OAAO;wBACH,KAAK,EAAE,kBAAkB;wBACzB,WAAW,EAAE,6EAA6E;qBAC7F,CAAA;gBACL,KAAK,qBAAqB;oBACtB,OAAO;wBACH,KAAK,EAAE,mBAAmB;wBAC1B,WAAW,EAAE,+EAA+E;qBAC/F,CAAA;gBACL,KAAK,kCAAkC;oBACnC,OAAO;wBACH,KAAK,EAAE,yBAAyB;wBAChC,WAAW,EAAE,8BAA+B,IAA2B,CAAC,QAAQ,CAAC,WAAW,EAAE,4BAA6B,IAAoC,CAAC,eAAe,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,EAAE,EAAE;qBACtP,CAAA;gBACL,KAAK,qCAAqC;oBACtC,OAAO;wBACH,KAAK,EAAE,yBAAyB;wBAChC,WAAW,EAAE,2EAA2E;qBAC3F,CAAA;gBACL,KAAK,oCAAoC;oBACrC,OAAO;wBACH,KAAK,EAAE,mCAAmC;wBAC1C,WAAW,EAAE,kDAAkD;qBAClE,CAAA;gBACL,KAAK,gCAAgC;oBACjC,OAAO;wBACH,KAAK,EAAE,0BAA0B;wBACjC,WAAW,EAAE,yCAAyC;qBACzD,CAAA;gBACL,KAAK,mCAAmC;oBACpC,OAAO;wBACH,KAAK,EAAE,iBAAiB;wBACxB,WAAW,EAAE,wDAAwD;qBACxE,CAAA;gBAEL;oBACI,OAAO;YACX,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,yCAAoB,CAAC,YAAY,CAAC,CAAC;QAEnD,MAAM,SAAS,GAAG;YACd,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK;YACvB,WAAW,EAAE,OAAO,EAAE,EAAE,WAAW;YACnC,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY;YACZ,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI;YACvB,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACvD,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;gBAC7B,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;aAClE,CAAC;YACF,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5C,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI;YAC/C,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI;YAC3D,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI;SACpD,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5B,QAAQ,CAAC,IAAA,kBAAM,EAAC;YACZ,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,SAAS;SACjB,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAG,EAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC;QAEtC,MAAM,YAAY,GAAG,IAAA,yBAAa,EAAC,0BAAS,EAAE,YAAY,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAQ,CAAC;YAC3E,QAAQ,CAAC,IAAA,qBAAS,EAAC;gBACf,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,WAAW;aACJ,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAM,EAAE,EAAE;YACtB,MAAM,WAAW,GAAG;gBAChB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACjC,KAAK,EAAE,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC;aACjC,CAAC;YACF,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;YACzD,QAAQ,CAAC,IAAA,qBAAS,EAAC,EAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAiB,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,OAAO;YACH,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,sIAAsI;YAC/I,KAAK,EAAE,KAAK;SACf,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,EAAC,OAAO,EAAC,CAAC;AACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../src/firebase/firebase.tsx"],"names":[],"mappings":";;;;;;AAqIA,sDAmQC;AAxYD,wCAA6E;AAC7E,kDAAiD;AAEjD,iDAAuC;AAEvC,oEAA4C;AAC5C,qDAAiD;AACjD,0DAAkE;AAClE,8CAA+C;AAC/C,6DAA4D;AAC5D,0DAA8D;AAIvD,MAAM,YAAY,GAAG,CAAC,OAA4B,EAAE,EAAE;IACzD,OAAO,IAAA,yBAAkB,EAAC,qBAAI,EAAE,CAAC,KAAK,EAAE,EAAE;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,CAAA;YACd,OAAO;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO;QACX,CAAC;QAAA,CAAC;QACF,IAAA,sBAAO,EAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB;AAEK,MAAM,KAAK,GAAG,KAAK,EAAE,WAA8C,EAAE,EAAE;IAC1E,OAAO,MAAM,IAAA,iCAA0B,EAAC,qBAAI,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC3F,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB;AAeK,MAAM,QAAQ,GAAG,KAAK,EAAE,WAA6B,EAAE,IAAqC,EAAE,EAAE;IACnG,OAAO,MAAM,IAAA,uBAAe,EAAC,wBAAwB,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAClF,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAClB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAA,aAAK,EAAC,EAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,WAAW,EAAC,CAAC,CAAC;QAC/E,CAAC;QACD,OAAQ,GAAG,CAAC,IAA8B,CAAC,GAAG,CAAC,GAAa,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAVW,QAAA,QAAQ,YAUnB;AAEF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE9F,SAAS,YAAY,CAAC,IAAa;IAC/B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5D,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;KACzD,CAAC,CACL,CAAC;AACN,CAAC;AAED,MAAM,2BAA2B,GAAG;IAChC,WAAW,EAAE,cAAc;IAC3B,SAAS,EAAE,wBAAwB;CACtC,CAAC;AAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAEvH,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,+EAA+E;AAC/E,wCAAwC;AACjC,MAAM,eAAe,GAAG,KAAK,EAChC,YAAe,EACf,IAAwE,EACxE,OAAmD,EACqC,EAAE;IAC1F,MAAM,WAAW,GAAG,qBAAI,CAAC,WAAW,CAAC;IACrC,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,yCAAoB,CAAC,YAAY,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG;QACd,YAAY;QACZ,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;QAC3B,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;QAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,IAAI;QAChC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAC,SAAS,EAAE,WAAW,EAAE,KAAK,IAAI,IAAI,EAAC,CAAC;QACnG,GAAG,EAAE,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QAChE,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI;QAC/C,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI;QAC3D,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI;KACpD,CAAC;IAEF,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAgD,CAAC,CAAC;IAE7F,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAEpE,MAAM,YAAY,GAAG,IAAA,yBAAa,EAAC,0BAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACrE,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC,CAAC;QACtH,IAAA,0CAAuB,EAAC,UAAU,CAAC,CAAC;QACpC,OAAO,GAAU,CAAC;IACtB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACnJ,0DAA0D;QAC1D,IAAA,0CAAuB,EAAC,UAAU,CAAC,CAAC;QACpC,MAAM,CAAC,CAAC;IACZ,CAAC;AACL,CAAC,CAAC;AA5CW,QAAA,eAAe,mBA4C1B;AAGF,SAAgB,qBAAqB,CAAC,EAAC,IAAI,EAAkB;IAUzD,MAAM,QAAQ,GAAG,IAAA,2BAAc,GAAE,CAAC;IAElC,MAAM,OAAO,GAAG,KAAK,EAAE,YAAiC,EAAE,IAA2B,EAAE,OAAgC,EAAE,EAAE;QACvH,MAAM,OAAO,GAAG,GAAG,EAAE;YACjB,QAAQ,YAAY,EAAE,CAAC;gBACvB,KAAK,yBAAyB;oBAC1B,OAAO;wBACH,KAAK,EAAE,WAAW;wBAClB,WAAW,EAAE,UAAW,IAA0B,CAAC,KAAK,CAAC,MAAM,IAAK,IAA0B,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE;qBAC1H,CAAC;gBACN,KAAK,8BAA8B;oBAC/B,OAAO;wBACH,KAAK,EAAE,kBAAkB;wBACzB,WAAW,EAAE,4BAA4B,KAAK,CAAC,OAAO,CAAE,IAAuC,CAAC,KAAK,CAAC,CAAC,CAAC;4BACpG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAE,IAA0C,CAAC,KAAK,CAAC,CAAC,MAAM,SAAS;qBACrG,CAAC;gBACN,KAAK,gCAAgC;oBACjC,OAAO;wBACH,KAAK,EAAE,oBAAoB;wBAC3B,WAAW,EAAE,gBAAgB,KAAK,CAAC,OAAO,CAAE,IAAuC,CAAC,KAAK,CAAC,CAAC,CAAC;4BACxF,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAE,IAA0C,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,UAAU,SAAS;qBACnH,CAAC;gBACN,KAAK,iCAAiC;oBAClC,OAAO;wBACH,KAAK,EAAE,4BAA4B;wBACnC,WAAW,EAAE,YAAY,KAAK,CAAC,OAAO,CAAE,IAAuC,CAAC,KAAK,CAAC,CAAC,CAAC;4BACpF,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAE,IAA0C,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,UAAU,0BAA0B;qBACpI,CAAC;gBACN,KAAK,4BAA4B;oBAC7B,OAAO;wBACH,KAAK,EAAE,gBAAgB;wBACvB,WAAW,EAAE,0BAA0B,KAAK,CAAC,OAAO,CAAE,IAAuC,CAAC,KAAK,CAAC,CAAC,CAAC;4BAClG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAE,IAA0C,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,UAAU,SAAS;qBACnH,CAAC;gBACN,KAAK,sBAAsB;oBACvB,OAAO;wBACH,KAAK,EAAE,0BAA0B;wBACjC,WAAW,EAAE,0BAA2B,IAA8B,CAAC,gBAAgB,CAAC,MAAM,oBAAoB;qBACrH,CAAC;gBACN,KAAK,uCAAuC;oBACxC,OAAO;wBACH,KAAK,EAAE,+BAA+B;wBACtC,WAAW,EAAE,oCAAoC,KAAK,CAAC,OAAO,CAAE,IAAuC,CAAC,KAAK,CAAC,CAAC,CAAC;4BAC5G,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAE,IAA0C,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,UAAU,SAAS;qBACnH,CAAC;gBACN,KAAK,iCAAiC;oBAClC,OAAO;wBACH,KAAK,EAAE,oCAAqC,IAAmC,CAAC,IAAI,CAAC,SAAS,EAAE;wBAChG,WAAW,EAAE,0CAA2C,IAAmC,CAAC,IAAI,CAAC,SAAS,qDAAqD;qBAClK,CAAC;gBACN,KAAK,kCAAkC;oBACnC,OAAO;wBACH,KAAK,EAAE,mDAAoD,IAAgD,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;wBAC7H,WAAW,EAAE,yDAA0D,IAAgD,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAS,IAI3H,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAE,IAIxE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,YAAY,oDAAoD;qBACvH,CAAC;gBACN,KAAK,oBAAoB;oBACrB,OAAO;wBACH,KAAK,EAAE,mCAAoC,IAAuC,CAAC,KAAK,CAAC,IAAI,EAAE;wBAC/F,WAAW,EAAE,kDAAmD,IAAuC,CAAC,KAAK,CAAC,IAAI,qDAAqD;qBAC1K,CAAC;gBACN,KAAK,8BAA8B;oBAC/B,OAAO;wBACH,KAAK,EAAE,qCAAqC;wBAC5C,WAAW,EAAE,qDAAqD;qBACrE,CAAC;gBACN,KAAK,yBAAyB;oBAC1B,OAAO;wBACH,KAAK,EAAE,0CAA0C;wBACjD,WAAW,EAAE,sDAAsD;qBACtE,CAAC;gBACN,KAAK,yBAAyB;oBAC1B,OAAO;wBACH,KAAK,EAAE,0CAA0C;wBACjD,WAAW,EAAE,mDAAmD;qBACnE,CAAC;gBACN,KAAK,iCAAiC;oBAClC,OAAO;wBACH,KAAK,EAAE,YAAa,IAAwB,CAAC,OAAO,CAAC,MAAM,UAAW,IAA6C,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAa,IAA6C,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE;wBACxP,WAAW,EAAE,sBAAuB,IAAwB,CAAC,OAAO,CAAC,MAAM,UAAW,IAAwB,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,mCAAmC;qBACpL,CAAC;gBACN,KAAK,uCAAuC;oBACxC,OAAO;wBACH,KAAK,EAAE,oCAAoC;wBAC3C,WAAW,EAAE,qEAAqE;qBACrF,CAAC;gBACN,KAAK,kCAAkC;oBACnC,OAAO;wBACH,KAAK,EAAE,kCAAkC;wBACzC,WAAW,EAAE,mEAAmE;qBACnF,CAAC;gBACN,KAAK,kCAAkC;oBACnC,OAAO;wBACH,KAAK,EAAE,iCAAiC;wBACxC,WAAW,EAAE,qCAAqC;qBACrD,CAAC;gBACN,KAAK,4BAA4B;oBAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAwD,CAAC;oBACjF,MAAM,IAAI,GAAY,EAAE,CAAC;oBACzB,IAAI,UAAU,CAAC,OAAO,EAAC,CAAC;wBACpB,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,UAAU,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBAClG,CAAC;oBACD,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAC,CAAC;wBAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,gBAAgB,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBACtG,CAAC;oBACD,OAAO;wBACH,KAAK,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;wBACrD,WAAW,EAAE,sBAAsB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC;qBAC3F,CAAC;gBACN,KAAK,yBAAyB;oBAC1B,OAAO;wBACH,KAAK,EAAE,+BAA+B;wBACtC,WAAW,EAAE,8DAA8D;qBAC9E,CAAC;gBACN,KAAK,oBAAoB;oBACrB,OAAO;wBACH,KAAK,EAAE,+BAA+B;wBACtC,WAAW,EAAE,8DAA8D;qBAC9E,CAAC;gBACN,KAAK,oCAAoC;oBACrC,OAAO;wBACH,KAAK,EAAE,gCAAgC;wBACvC,WAAW,EAAE,wEAAwE;qBACxF,CAAC;gBACN,KAAK,sBAAsB;oBACvB,OAAO;wBACH,KAAK,EAAE,4BAA4B;wBACnC,WAAW,EAAE,6DAA6D;qBAC7E,CAAC;gBACN,KAAK,0CAA0C;oBAC3C,OAAO;wBACH,KAAK,EAAE,8BAA8B;wBACrC,WAAW,EAAE,uFAAuF;qBACvG,CAAA;gBACL,KAAK,aAAa;oBACd,OAAO;wBACH,KAAK,EAAE,kBAAkB;wBACzB,WAAW,EAAE,6EAA6E;qBAC7F,CAAA;gBACL,KAAK,qBAAqB;oBACtB,OAAO;wBACH,KAAK,EAAE,mBAAmB;wBAC1B,WAAW,EAAE,+EAA+E;qBAC/F,CAAA;gBACL,KAAK,kCAAkC;oBACnC,OAAO;wBACH,KAAK,EAAE,yBAAyB;wBAChC,WAAW,EAAE,8BAA+B,IAA2B,CAAC,QAAQ,CAAC,WAAW,EAAE,4BAA6B,IAAoC,CAAC,eAAe,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,EAAE,EAAE;qBACtP,CAAA;gBACL,KAAK,qCAAqC;oBACtC,OAAO;wBACH,KAAK,EAAE,yBAAyB;wBAChC,WAAW,EAAE,2EAA2E;qBAC3F,CAAA;gBACL,KAAK,oCAAoC;oBACrC,OAAO;wBACH,KAAK,EAAE,mCAAmC;wBAC1C,WAAW,EAAE,kDAAkD;qBAClE,CAAA;gBACL,KAAK,gCAAgC;oBACjC,OAAO;wBACH,KAAK,EAAE,0BAA0B;wBACjC,WAAW,EAAE,yCAAyC;qBACzD,CAAA;gBACL,KAAK,mCAAmC;oBACpC,OAAO;wBACH,KAAK,EAAE,iBAAiB;wBACxB,WAAW,EAAE,wDAAwD;qBACxE,CAAA;gBAEL;oBACI,OAAO;YACX,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,yCAAoB,CAAC,YAAY,CAAC,CAAC;QAEnD,MAAM,SAAS,GAAG;YACd,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK;YACvB,WAAW,EAAE,OAAO,EAAE,EAAE,WAAW;YACnC,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY;YACZ,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI;YACvB,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACvD,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;gBAC7B,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;aAClE,CAAC;YACF,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5C,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI;YAC/C,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI;YAC3D,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI;SACpD,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5B,QAAQ,CAAC,IAAA,kBAAM,EAAC;YACZ,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,SAAS;SACjB,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAG,EAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC;QAEtC,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEpE,MAAM,YAAY,GAAG,IAAA,yBAAa,EAAC,0BAAS,EAAE,YAAY,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAQ,CAAC;YAC3E,QAAQ,CAAC,IAAA,qBAAS,EAAC;gBACf,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,WAAW;aACJ,CAAC,CAAC,CAAC;YACpB,IAAA,0CAAuB,EAAC,UAAU,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAM,EAAE,EAAE;YACtB,MAAM,WAAW,GAAG;gBAChB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACjC,KAAK,EAAE,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC;aACjC,CAAC;YACF,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;YACzD,QAAQ,CAAC,IAAA,qBAAS,EAAC,EAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAiB,CAAC,CAAC,CAAC;YAChE,yDAAyD;YACzD,IAAA,0CAAuB,EAAC,UAAU,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,OAAO;YACH,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,sIAAsI;YAC/I,KAAK,EAAE,KAAK;SACf,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,EAAC,OAAO,EAAC,CAAC;AACrB,CAAC"}
|
package/lib/hooks.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DocumentData, QueryConstraint, QueryDocumentSnapshot } from "firebase/firestore";
|
|
2
|
-
import { AlumniConvoUser, ApplicantStage, Application, ArrowObject, CohortData, CSVExportResponse, CustomFormSchema, ExternalEvent, FileItem, FilterObject, FlagCodes, InstituteData, OnboardingDocs, PlacementListing, Products, ProviderData, QueryObject, QueryObjectConstraint, Sorts, StudentPlacementData, UserData, UserGroupData, WorkflowStage } from "./typeDefinitions";
|
|
2
|
+
import { AlumniConvoUser, ApplicantStage, Application, ArrowObject, CohortData, CSVExportResponse, CustomFormSchema, ExternalEvent, FileItem, FilterObject, FlagCodes, InstituteData, OnboardingDocs, PlacementListing, Products, ProviderData, QueryObject, QueryObjectConstraint, Sorts, StudentPlacementData, UserData, UserGroupData, WorkflowConfig, WorkflowStage } from "./typeDefinitions";
|
|
3
3
|
type StudentPlacementListParams = {
|
|
4
4
|
user: UserData;
|
|
5
5
|
student?: UserData;
|
|
@@ -78,6 +78,7 @@ export declare function useNewInstitutePlacementList({ id, user, oId, uid, filte
|
|
|
78
78
|
direction: "asc" | "desc";
|
|
79
79
|
}] | undefined;
|
|
80
80
|
exportCSV: ((userId: string, filename?: string) => Promise<CSVExportResponse>) | undefined;
|
|
81
|
+
reset: () => void;
|
|
81
82
|
};
|
|
82
83
|
type AlumniPaginatorParams = {
|
|
83
84
|
user?: UserData;
|
|
@@ -107,6 +108,7 @@ export declare function useAlumniPaginator({ user, alumniConvoUser, filters, vie
|
|
|
107
108
|
};
|
|
108
109
|
};
|
|
109
110
|
exportCSV: ((userId: string, filename?: string) => Promise<CSVExportResponse>) | undefined;
|
|
111
|
+
reset: () => void;
|
|
110
112
|
};
|
|
111
113
|
type ParentPaginatorParams = {
|
|
112
114
|
user?: UserData;
|
|
@@ -136,6 +138,7 @@ export declare function useParentPaginator({ user, filters, view, school, additi
|
|
|
136
138
|
};
|
|
137
139
|
};
|
|
138
140
|
exportCSV: ((userId: string, filename?: string) => Promise<CSVExportResponse>) | undefined;
|
|
141
|
+
reset: () => void;
|
|
139
142
|
};
|
|
140
143
|
export declare const algoliaPlacementSearch: (data: QueryObject | null, user: UserData, query?: string, sort?: [string, {
|
|
141
144
|
value: string;
|
|
@@ -217,6 +220,7 @@ export declare function useProviderContactPaginator({ data, institute, user, eve
|
|
|
217
220
|
direction: "asc" | "desc";
|
|
218
221
|
}] | undefined;
|
|
219
222
|
exportCSV: ((userId: string, filename?: string) => Promise<CSVExportResponse>) | undefined;
|
|
223
|
+
reset: () => void;
|
|
220
224
|
};
|
|
221
225
|
type UserPaginatorParams = {
|
|
222
226
|
user: UserData;
|
|
@@ -271,6 +275,7 @@ export declare function useNewCohortUserPaginator({ user, oId, trustSchoolsIDs,
|
|
|
271
275
|
}] | undefined;
|
|
272
276
|
search: string | undefined;
|
|
273
277
|
exportCSV: ((userId: string, filename?: string) => Promise<CSVExportResponse>) | undefined;
|
|
278
|
+
reset: () => void;
|
|
274
279
|
};
|
|
275
280
|
export declare function useCohortUserPaginator({ user, cohort, data, search, userType, sort }: UserPaginatorParams): {
|
|
276
281
|
tableData: {
|
|
@@ -413,7 +418,9 @@ export declare function useUserUploadHandler({ product, oId, event, eventId, use
|
|
|
413
418
|
parentEmail?: string;
|
|
414
419
|
year: number;
|
|
415
420
|
[key: string]: unknown;
|
|
416
|
-
}[]
|
|
421
|
+
}[], options?: {
|
|
422
|
+
activateImmediately?: boolean;
|
|
423
|
+
}) => Promise<void>;
|
|
417
424
|
alert: {
|
|
418
425
|
severity: "warning" | "error" | "success" | "info";
|
|
419
426
|
msg: string;
|
|
@@ -572,6 +579,9 @@ export declare function useGetIndividualPlacementForPlacementPage({ user, placem
|
|
|
572
579
|
cohorts: {
|
|
573
580
|
[key: string]: CohortData;
|
|
574
581
|
};
|
|
582
|
+
workflows?: {
|
|
583
|
+
[key: string]: WorkflowConfig;
|
|
584
|
+
};
|
|
575
585
|
};
|
|
576
586
|
}): {
|
|
577
587
|
placement: StudentPlacementData | undefined;
|
|
@@ -885,5 +895,6 @@ export declare function useDataViewerPaginator({ view: initialView, sorts, query
|
|
|
885
895
|
setView: (v: "list" | "table") => void;
|
|
886
896
|
updateSearch: (search: string) => void;
|
|
887
897
|
exportCSV: ((userId: string, filename?: string) => Promise<CSVExportResponse>) | undefined;
|
|
898
|
+
reset: () => void;
|
|
888
899
|
};
|
|
889
900
|
export {};
|
package/lib/hooks.js
CHANGED
|
@@ -42,6 +42,7 @@ const writeDatabase_1 = require("./firebase/writeDatabase");
|
|
|
42
42
|
const algoliasearch_1 = __importDefault(require("algoliasearch"));
|
|
43
43
|
const storage_1 = require("firebase/storage");
|
|
44
44
|
const util_2 = require("./util");
|
|
45
|
+
const workflows_1 = require("./workflows");
|
|
45
46
|
const algoliaConfig_1 = require("./algoliaConfig");
|
|
46
47
|
const DEFAULTQUERYLIMIT = 5;
|
|
47
48
|
function useStudentPlacementList({ user, student, queryConstraint, ql = DEFAULTQUERYLIMIT }) {
|
|
@@ -323,7 +324,7 @@ function useNewInstitutePlacementList({ id, user, oId, uid, filters, initialSort
|
|
|
323
324
|
{ field: "country", header: "Country" },
|
|
324
325
|
]
|
|
325
326
|
};
|
|
326
|
-
const { tableData, pageUp, pageDown, setFilters, page, setView, loading, updateSearch, updateSort, sort, exportCSV } = useDataViewerPaginator({ view, filters, sorts, queryLimit: ql, initialSort, initialSearch, data: query, additionalEntryProcessing: additionalProcessing, onSearch: async (s, sort, data, page, filters, limit) => await (0, exports.algoliaPlacementSearch)(data || null, user, s, sort, page, filters, limit, cohort, inProgress), algoliaIndex: "placements", csvExport: exportCols, infiniteScroll });
|
|
327
|
+
const { tableData, pageUp, pageDown, setFilters, page, setView, loading, updateSearch, updateSort, sort, exportCSV, reset } = useDataViewerPaginator({ view, filters, sorts, queryLimit: ql, initialSort, initialSearch, data: query, additionalEntryProcessing: additionalProcessing, onSearch: async (s, sort, data, page, filters, limit) => await (0, exports.algoliaPlacementSearch)(data || null, user, s, sort, page, filters, limit, cohort, inProgress), algoliaIndex: "placements", csvExport: exportCols, infiniteScroll });
|
|
327
328
|
(0, react_1.useEffect)(() => {
|
|
328
329
|
console.log("SET QUERY", user, queryConstraints, cohort);
|
|
329
330
|
// Sets the query of for the DataViewerPaginator
|
|
@@ -346,12 +347,12 @@ function useNewInstitutePlacementList({ id, user, oId, uid, filters, initialSort
|
|
|
346
347
|
}
|
|
347
348
|
setQuery(undefined);
|
|
348
349
|
}, [user, queryConstraints, cohort]);
|
|
349
|
-
return { tableData, page, loading, updateSearch, setFilters, setView, pageUp, pageDown, sorts, updateSort, sort, exportCSV };
|
|
350
|
+
return { tableData, page, loading, updateSearch, setFilters, setView, pageUp, pageDown, sorts, updateSort, sort, exportCSV, reset };
|
|
350
351
|
}
|
|
351
352
|
function useAlumniPaginator({ user, alumniConvoUser, filters, view, school, queryConstraints, ql = DEFAULTQUERYLIMIT }) {
|
|
352
353
|
const [query, setQuery] = (0, react_1.useState)();
|
|
353
354
|
const sorts = {};
|
|
354
|
-
const { tableData, pageUp, pageDown, setFilters, page, setView, loading, exportCSV } = useDataViewerPaginator({ view, filters, sorts, queryLimit: ql, data: query });
|
|
355
|
+
const { tableData, pageUp, pageDown, setFilters, page, setView, loading, exportCSV, reset } = useDataViewerPaginator({ view, filters, sorts, queryLimit: ql, data: query });
|
|
355
356
|
const firebaseQuery = new firebaseQuery_1.default();
|
|
356
357
|
(0, react_1.useEffect)(() => {
|
|
357
358
|
const createQuery = async () => {
|
|
@@ -417,12 +418,12 @@ function useAlumniPaginator({ user, alumniConvoUser, filters, view, school, quer
|
|
|
417
418
|
(0, react_1.useEffect)(() => {
|
|
418
419
|
console.log("Alumni data", query, tableData);
|
|
419
420
|
}, [tableData]);
|
|
420
|
-
return { tableData, page, loading, setFilters, setView, pageUp, pageDown, sorts, exportCSV };
|
|
421
|
+
return { tableData, page, loading, setFilters, setView, pageUp, pageDown, sorts, exportCSV, reset };
|
|
421
422
|
}
|
|
422
423
|
function useParentPaginator({ user, filters, view, school, additionalEntryProcessing, queryConstraints, ql = DEFAULTQUERYLIMIT }) {
|
|
423
424
|
const [query, setQuery] = (0, react_1.useState)();
|
|
424
425
|
const sorts = {};
|
|
425
|
-
const { tableData, pageUp, pageDown, setFilters, page, setView, loading, exportCSV } = useDataViewerPaginator({ view, filters, sorts, queryLimit: ql, data: query, additionalEntryProcessing });
|
|
426
|
+
const { tableData, pageUp, pageDown, setFilters, page, setView, loading, exportCSV, reset } = useDataViewerPaginator({ view, filters, sorts, queryLimit: ql, data: query, additionalEntryProcessing });
|
|
426
427
|
(0, react_1.useEffect)(() => {
|
|
427
428
|
const createQuery = async () => {
|
|
428
429
|
// Sets the query of for the DataViewerPaginator
|
|
@@ -465,7 +466,7 @@ function useParentPaginator({ user, filters, view, school, additionalEntryProces
|
|
|
465
466
|
(0, react_1.useEffect)(() => {
|
|
466
467
|
console.log("Alumni data", query, tableData);
|
|
467
468
|
}, [tableData]);
|
|
468
|
-
return { tableData, page, loading, setFilters, setView, pageUp, pageDown, sorts, exportCSV };
|
|
469
|
+
return { tableData, page, loading, setFilters, setView, pageUp, pageDown, sorts, exportCSV, reset };
|
|
469
470
|
}
|
|
470
471
|
const algoliaPlacementSearch = async (data, user, query, sort, page, filters, limit, cohort, inProgress) => {
|
|
471
472
|
const algoliaClient = (0, algoliasearch_1.default)(algoliaConfig_1.ALGOLIA_APP_ID, user.algoliaKey);
|
|
@@ -1017,7 +1018,7 @@ function useProviderContactPaginator({ data, institute, user, event, view, initi
|
|
|
1017
1018
|
{ field: `savedBy.${user.oId}.activities`, header: "Consented Activities", transform: "resolveActivityTitles" },
|
|
1018
1019
|
];
|
|
1019
1020
|
const mergedCsvExport = { ...csvExport, columns: csvExport?.columns ?? defaultExportColumns };
|
|
1020
|
-
const { tableData, pageUp, pageDown, setFilters, page, setView, loading, updateSearch, updateSort, sort, exportCSV } = useDataViewerPaginator({ view, filters, sorts, queryLimit: 10, data: query, initialSearch, initialSort, additionalEntryProcessing: getAdditionalData, onSearch: async (s, sort, data, page, filters, limit) => await (0, exports.algoliaProviderContactSearch)(data ?? null, user, s, sort, page, filters, limit), algoliaIndex: "providerContacts", csvExport: mergedCsvExport });
|
|
1021
|
+
const { tableData, pageUp, pageDown, setFilters, page, setView, loading, updateSearch, updateSort, sort, exportCSV, reset } = useDataViewerPaginator({ view, filters, sorts, queryLimit: 10, data: query, initialSearch, initialSort, additionalEntryProcessing: getAdditionalData, onSearch: async (s, sort, data, page, filters, limit) => await (0, exports.algoliaProviderContactSearch)(data ?? null, user, s, sort, page, filters, limit), algoliaIndex: "providerContacts", csvExport: mergedCsvExport });
|
|
1021
1022
|
(0, react_1.useEffect)(() => {
|
|
1022
1023
|
if (eventId && event?.oId) {
|
|
1023
1024
|
console.log("Setting Query");
|
|
@@ -1094,7 +1095,7 @@ function useProviderContactPaginator({ data, institute, user, event, view, initi
|
|
|
1094
1095
|
}
|
|
1095
1096
|
setQuery(queries);
|
|
1096
1097
|
}, [user]);
|
|
1097
|
-
return { tableData, pageUp, pageDown, setFilters, sorts, page, setView, loading, updateSearch, updateSort, sort, exportCSV };
|
|
1098
|
+
return { tableData, pageUp, pageDown, setFilters, sorts, page, setView, loading, updateSearch, updateSort, sort, exportCSV, reset };
|
|
1098
1099
|
}
|
|
1099
1100
|
const algoliaUsersSearch = async (data, user, query, sort, page, filters, limit, cohort, userType) => {
|
|
1100
1101
|
const algoliaClient = (0, algoliasearch_1.default)(algoliaConfig_1.ALGOLIA_APP_ID, user.algoliaKey);
|
|
@@ -1287,8 +1288,8 @@ function useNewCohortUserPaginator({ user, oId, trustSchoolsIDs, institute, init
|
|
|
1287
1288
|
getAccess();
|
|
1288
1289
|
}, [user, queryConstraints, cohort]);
|
|
1289
1290
|
console.log("Query", query);
|
|
1290
|
-
const { tableData, pageUp, pageDown, setFilters, page, setView, loading, updateSearch, updateSort, search, sort, exportCSV } = useDataViewerPaginator({ view, filters, initialSort, sorts, queryLimit: ql, data: query, onSearch: async (s, sort, data, page, filters, limit) => await (0, exports.algoliaUsersSearch)(data ?? null, user, s, sort, page, filters, limit, cohort, userType), algoliaIndex: "users" });
|
|
1291
|
-
return { tableData, page, loading, updateSearch, setFilters, setView, pageUp, pageDown, sorts, updateSort, sort, search, exportCSV };
|
|
1291
|
+
const { tableData, pageUp, pageDown, setFilters, page, setView, loading, updateSearch, updateSort, search, sort, exportCSV, reset } = useDataViewerPaginator({ view, filters, initialSort, sorts, queryLimit: ql, data: query, onSearch: async (s, sort, data, page, filters, limit) => await (0, exports.algoliaUsersSearch)(data ?? null, user, s, sort, page, filters, limit, cohort, userType), algoliaIndex: "users" });
|
|
1292
|
+
return { tableData, page, loading, updateSearch, setFilters, setView, pageUp, pageDown, sorts, updateSort, sort, search, exportCSV, reset };
|
|
1292
1293
|
}
|
|
1293
1294
|
function useCohortUserPaginator({ user, cohort, data, search, userType, sort }) {
|
|
1294
1295
|
const [tableData, setTableData] = (0, react_1.useState)({});
|
|
@@ -2172,7 +2173,6 @@ const defaultCohortData = {
|
|
|
2172
2173
|
startPlacements: "",
|
|
2173
2174
|
endPlacements: "",
|
|
2174
2175
|
placementType: "defined",
|
|
2175
|
-
workflow: [],
|
|
2176
2176
|
oId: "",
|
|
2177
2177
|
product: "providers",
|
|
2178
2178
|
feedback: {
|
|
@@ -2301,7 +2301,9 @@ function useUserUploadHandler({ product, oId, event, eventId, userType, user, on
|
|
|
2301
2301
|
}
|
|
2302
2302
|
return true;
|
|
2303
2303
|
};
|
|
2304
|
-
|
|
2304
|
+
// activateImmediately can be set per submission (e.g. the "Add and activate"
|
|
2305
|
+
// button on staff uploads) as well as for the whole hook.
|
|
2306
|
+
const uploadUsers = async (users, options) => {
|
|
2305
2307
|
let fUsers = [];
|
|
2306
2308
|
const cleanUpload = checkData(users);
|
|
2307
2309
|
if (!cleanUpload) {
|
|
@@ -2311,7 +2313,7 @@ function useUserUploadHandler({ product, oId, event, eventId, userType, user, on
|
|
|
2311
2313
|
setAlert(undefined);
|
|
2312
2314
|
if (fUsers.length) {
|
|
2313
2315
|
console.log("fUsers", fUsers);
|
|
2314
|
-
const jobId = await execute(userType === "eventStudents" ? "events-addStudents" : "userManagement-addUsers", { product: product, oId: oId, event: event, eventId: eventId, users: fUsers, userType: userType, userGroupId: userGroupId, cohortId: cohortId, activateImmediately, parentEmailTemplate });
|
|
2316
|
+
const jobId = await execute(userType === "eventStudents" ? "events-addStudents" : "userManagement-addUsers", { product: product, oId: oId, event: event, eventId: eventId, users: fUsers, userType: userType, userGroupId: userGroupId, cohortId: cohortId, activateImmediately: options?.activateImmediately ?? activateImmediately, parentEmailTemplate });
|
|
2315
2317
|
onComplete && onComplete(jobId.jobId);
|
|
2316
2318
|
}
|
|
2317
2319
|
console.log("Complete", onComplete);
|
|
@@ -3017,12 +3019,19 @@ function useGetIndividualPlacementForPlacementPage({ user, placementId, organisa
|
|
|
3017
3019
|
}
|
|
3018
3020
|
if (placement.cohort) {
|
|
3019
3021
|
if (user.product === "institutes" && user.oId === placement.oId) {
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
+
const cohortData = organisation?.cohorts[placement.cohort];
|
|
3023
|
+
setCohort(cohortData);
|
|
3024
|
+
// Workflows live in their own collection - resolve from context when loaded, else fetch.
|
|
3025
|
+
if (organisation?.workflows) {
|
|
3026
|
+
setWorkflow((0, workflows_1.resolveCohortWorkflow)(cohortData, organisation.workflows));
|
|
3027
|
+
}
|
|
3028
|
+
else {
|
|
3029
|
+
(0, workflows_1.fetchCohortWorkflow)(cohortData, firebaseQuery).then(setWorkflow);
|
|
3030
|
+
}
|
|
3022
3031
|
}
|
|
3023
3032
|
else {
|
|
3024
|
-
firebaseQuery.getDocData(["cohorts", placement.cohort]).then((w) => {
|
|
3025
|
-
setWorkflow(
|
|
3033
|
+
firebaseQuery.getDocData(["cohorts", placement.cohort]).then(async (w) => {
|
|
3034
|
+
setWorkflow(await (0, workflows_1.fetchCohortWorkflow)(w, firebaseQuery));
|
|
3026
3035
|
setCohort(w);
|
|
3027
3036
|
});
|
|
3028
3037
|
}
|
|
@@ -4082,7 +4091,7 @@ function useDataViewerPaginator({ view: initialView, sorts, queryLimit = 10, add
|
|
|
4082
4091
|
});
|
|
4083
4092
|
return res.data;
|
|
4084
4093
|
} : undefined;
|
|
4085
|
-
return ({ ...{ tableData, pageUp, pageDown, search: searchString, setFilters: updateFilters, page: page[0], sorts, loading, sort, updateSort: updateSort, setView: updateView, updateSearch, exportCSV } });
|
|
4094
|
+
return ({ ...{ tableData, pageUp, pageDown, search: searchString, setFilters: updateFilters, page: page[0], sorts, loading, sort, updateSort: updateSort, setView: updateView, updateSearch, exportCSV, reset } });
|
|
4086
4095
|
}
|
|
4087
4096
|
;
|
|
4088
4097
|
//# sourceMappingURL=hooks.js.map
|