@iblai/web-containers 1.62.0 → 1.62.2
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/dist/cjs/components/analytics/analytics-audit-log-stats.js +4 -1
- package/dist/cjs/components/analytics/analytics-audit-log-stats.js.map +1 -1
- package/dist/cjs/components/analytics/analytics-financial-stats.js +1 -0
- package/dist/cjs/components/analytics/analytics-financial-stats.js.map +1 -1
- package/dist/cjs/components/analytics/analytics-transcripts-stats.js +23 -8
- package/dist/cjs/components/analytics/analytics-transcripts-stats.js.map +1 -1
- package/dist/cjs/components/analytics/analytics-users-stats.js +3 -1
- package/dist/cjs/components/analytics/analytics-users-stats.js.map +1 -1
- package/dist/cjs/components/analytics/lti-user-tooltip.js +20 -0
- package/dist/cjs/components/analytics/lti-user-tooltip.js.map +1 -0
- package/dist/cjs/components/analytics/use-memory.js +15 -12
- package/dist/cjs/components/analytics/use-memory.js.map +1 -1
- package/dist/cjs/components/analytics/user-filter-select.js +28 -6
- package/dist/cjs/components/analytics/user-filter-select.js.map +1 -1
- package/dist/cjs/components/hooks/use-google-drive-picker.js +164 -53
- package/dist/cjs/components/hooks/use-google-drive-picker.js.map +1 -1
- package/dist/cjs/components/modals/edit-mentor-modal/tabs/datasets-tab/add-resource-modal.js +3 -2
- package/dist/cjs/components/modals/edit-mentor-modal/tabs/datasets-tab/add-resource-modal.js.map +1 -1
- package/dist/cjs/components/modals/edit-mentor-modal/tabs/history-tab/labels.js +2 -0
- package/dist/cjs/components/modals/edit-mentor-modal/tabs/history-tab/labels.js.map +1 -1
- package/dist/cjs/components/modals/edit-mentor-modal/tabs/history-tab.js +20 -15
- package/dist/cjs/components/modals/edit-mentor-modal/tabs/history-tab.js.map +1 -1
- package/dist/cjs/i18n/messages/en.json.js +10 -3
- package/dist/cjs/i18n/messages/en.json.js.map +1 -1
- package/dist/cjs/i18n/messages/es.json.js +10 -3
- package/dist/cjs/i18n/messages/es.json.js.map +1 -1
- package/dist/cjs/i18n/messages/fr.json.js +10 -3
- package/dist/cjs/i18n/messages/fr.json.js.map +1 -1
- package/dist/cjs/i18n/messages/zh.json.js +10 -3
- package/dist/cjs/i18n/messages/zh.json.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/user-identity.js +54 -12
- package/dist/cjs/lib/user-identity.js.map +1 -1
- package/dist/cjs/web-containers/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/_virtual/index2.js +2 -2
- package/dist/esm/_virtual/index3.js +2 -2
- package/dist/esm/components/analytics/analytics-audit-log-stats.js +4 -1
- package/dist/esm/components/analytics/analytics-audit-log-stats.js.map +1 -1
- package/dist/esm/components/analytics/analytics-financial-stats.js +1 -0
- package/dist/esm/components/analytics/analytics-financial-stats.js.map +1 -1
- package/dist/esm/components/analytics/analytics-transcripts-stats.js +23 -8
- package/dist/esm/components/analytics/analytics-transcripts-stats.js.map +1 -1
- package/dist/esm/components/analytics/analytics-users-stats.js +3 -1
- package/dist/esm/components/analytics/analytics-users-stats.js.map +1 -1
- package/dist/esm/components/analytics/lti-user-tooltip.js +18 -0
- package/dist/esm/components/analytics/lti-user-tooltip.js.map +1 -0
- package/dist/esm/components/analytics/use-memory.js +15 -12
- package/dist/esm/components/analytics/use-memory.js.map +1 -1
- package/dist/esm/components/analytics/user-filter-select.js +28 -6
- package/dist/esm/components/analytics/user-filter-select.js.map +1 -1
- package/dist/esm/components/hooks/use-google-drive-picker.js +158 -54
- package/dist/esm/components/hooks/use-google-drive-picker.js.map +1 -1
- package/dist/esm/components/modals/edit-mentor-modal/tabs/datasets-tab/add-resource-modal.js +3 -2
- package/dist/esm/components/modals/edit-mentor-modal/tabs/datasets-tab/add-resource-modal.js.map +1 -1
- package/dist/esm/components/modals/edit-mentor-modal/tabs/history-tab/labels.js +2 -0
- package/dist/esm/components/modals/edit-mentor-modal/tabs/history-tab/labels.js.map +1 -1
- package/dist/esm/components/modals/edit-mentor-modal/tabs/history-tab.js +20 -15
- package/dist/esm/components/modals/edit-mentor-modal/tabs/history-tab.js.map +1 -1
- package/dist/esm/i18n/messages/en.json.js +10 -3
- package/dist/esm/i18n/messages/en.json.js.map +1 -1
- package/dist/esm/i18n/messages/es.json.js +10 -3
- package/dist/esm/i18n/messages/es.json.js.map +1 -1
- package/dist/esm/i18n/messages/fr.json.js +10 -3
- package/dist/esm/i18n/messages/fr.json.js.map +1 -1
- package/dist/esm/i18n/messages/zh.json.js +10 -3
- package/dist/esm/i18n/messages/zh.json.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/lib/user-identity.js +54 -13
- package/dist/esm/lib/user-identity.js.map +1 -1
- package/dist/esm/node_modules/.pnpm/css-mediaquery@0.1.2/node_modules/css-mediaquery/index.js +1 -1
- package/dist/esm/node_modules/.pnpm/matchmediaquery@0.4.2/node_modules/matchmediaquery/index.js +1 -1
- package/dist/esm/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
- package/dist/esm/web-containers/tsconfig.build.tsbuildinfo +1 -1
- package/dist/index.d.ts +18 -4
- package/dist/next/index.d.ts +2 -0
- package/dist/package.json +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from '../ui/tooltip.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Hover hint on an "LTI User" label: the `@edx-lti-1p3.com` address edX minted
|
|
6
|
+
* for the learner, so an admin can still match the row to the LMS without the
|
|
7
|
+
* code being what the page shows. Renders the children untouched when there is
|
|
8
|
+
* no address to offer. Same tooltip as the sentiment icon beside it
|
|
9
|
+
* (`ConversationSentiment`).
|
|
10
|
+
*/
|
|
11
|
+
function LtiUserTooltip({ email, children }) {
|
|
12
|
+
if (!email)
|
|
13
|
+
return jsx(Fragment, { children: children });
|
|
14
|
+
return (jsx(TooltipProvider, { children: jsxs(Tooltip, { children: [jsx(TooltipTrigger, { asChild: true, children: jsx("span", { className: "cursor-default", "data-testid": "lti-user-label", tabIndex: 0, children: children }) }), jsx(TooltipContent, { className: "ibl-tooltip-content break-all", children: email })] }) }));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { LtiUserTooltip };
|
|
18
|
+
//# sourceMappingURL=lti-user-tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lti-user-tooltip.js","sources":["../../../../../../../src/components/analytics/lti-user-tooltip.tsx"],"sourcesContent":[null],"names":["_jsx","_Fragment","_jsxs"],"mappings":";;;AAKA;;;;;;AAMG;SACa,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAA2C,EAAA;AACzF,IAAA,IAAI,CAAC,KAAK;QAAE,OAAOA,GAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAI;AAClC,IAAA,QACED,GAAA,CAAC,eAAe,EAAA,EAAA,QAAA,EACdE,IAAA,CAAC,OAAO,EAAA,EAAA,QAAA,EAAA,CACNF,GAAA,CAAC,cAAc,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACrBA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,gBAAgB,iBAAa,gBAAgB,EAAC,QAAQ,EAAE,CAAC,EAAA,QAAA,EACtE,QAAQ,GACJ,EAAA,CACQ,EACjBA,IAAC,cAAc,EAAA,EAAC,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAE,KAAK,GAAkB,CAAA,EAAA,CAC1E,EAAA,CACM;AAEtB;;;;"}
|
|
@@ -16,14 +16,14 @@ const formatDate = (date) => date ? date.toISOString().split('T')[0] : undefined
|
|
|
16
16
|
function isForbiddenError(error) {
|
|
17
17
|
return !!error && 'status' in error && error.status === 403;
|
|
18
18
|
}
|
|
19
|
-
function toRowFromMentorMemory(memory,
|
|
19
|
+
function toRowFromMentorMemory(memory, identity) {
|
|
20
20
|
var _a, _b, _c, _d, _e, _f;
|
|
21
21
|
return {
|
|
22
22
|
id: memory.id,
|
|
23
23
|
content: memory.content,
|
|
24
24
|
categoryName: (_b = (_a = memory.category) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : null,
|
|
25
25
|
categorySlug: (_d = (_c = memory.category) === null || _c === void 0 ? void 0 : _c.slug) !== null && _d !== void 0 ? _d : null,
|
|
26
|
-
learner: resolveUserIdentity(memory,
|
|
26
|
+
learner: resolveUserIdentity(memory, identity).label,
|
|
27
27
|
username: memory.username,
|
|
28
28
|
email: memory.email || null,
|
|
29
29
|
mentorId: (_e = memory.mentor_id) !== null && _e !== void 0 ? _e : null,
|
|
@@ -33,13 +33,13 @@ function toRowFromMentorMemory(memory, anonymousLabel) {
|
|
|
33
33
|
createdAt: memory.created_at,
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
-
function toRowFromGlobalMemory(memory,
|
|
36
|
+
function toRowFromGlobalMemory(memory, identity) {
|
|
37
37
|
return {
|
|
38
38
|
id: memory.id,
|
|
39
39
|
content: memory.content,
|
|
40
40
|
categoryName: null,
|
|
41
41
|
categorySlug: null,
|
|
42
|
-
learner: resolveUserIdentity(memory,
|
|
42
|
+
learner: resolveUserIdentity(memory, identity).label,
|
|
43
43
|
username: memory.username,
|
|
44
44
|
email: null,
|
|
45
45
|
mentorId: null,
|
|
@@ -144,17 +144,20 @@ const useMemory = ({ tenantKey, userId, mentorId, myMemory = false, }) => {
|
|
|
144
144
|
const { data: globalMemories, isLoading: isLoadingGlobal, isFetching: isFetchingGlobal, error: globalError, } = useGetGlobalMemoriesQuery({ org: tenantKey, userId, params: globalParams }, { skip: !hasIdentity || !isGlobalScope });
|
|
145
145
|
const { data: adminCategories } = useGetMemoryCategoriesAdminQuery({ org: tenantKey, mentorId: mentorId !== null && mentorId !== void 0 ? mentorId : '' }, { skip: !tenantKey || !hasMentor });
|
|
146
146
|
const t = useT();
|
|
147
|
-
// The learner
|
|
147
|
+
// The learner labels when a memory names nobody — the same translated words
|
|
148
148
|
// the other analytics tabs use.
|
|
149
|
-
const
|
|
149
|
+
const identity = useMemo(() => ({
|
|
150
|
+
anonymousLabel: t('analyticsAnalyticsMemoryStats.anonymous'),
|
|
151
|
+
ltiUserLabel: t('analyticsAnalyticsMemoryStats.ltiUser'),
|
|
152
|
+
}), [t]);
|
|
150
153
|
const rows = useMemo(() => {
|
|
151
154
|
var _a, _b, _c;
|
|
152
155
|
if (isMentorScope)
|
|
153
|
-
return ((_a = mentorList === null || mentorList === void 0 ? void 0 : mentorList.results) !== null && _a !== void 0 ? _a : []).map((memory) => toRowFromMentorMemory(memory,
|
|
156
|
+
return ((_a = mentorList === null || mentorList === void 0 ? void 0 : mentorList.results) !== null && _a !== void 0 ? _a : []).map((memory) => toRowFromMentorMemory(memory, identity));
|
|
154
157
|
if (isAllMentorsScope)
|
|
155
|
-
return ((_b = allMentors === null || allMentors === void 0 ? void 0 : allMentors.results) !== null && _b !== void 0 ? _b : []).map((memory) => toRowFromMentorMemory(memory,
|
|
156
|
-
return ((_c = globalMemories === null || globalMemories === void 0 ? void 0 : globalMemories.results) !== null && _c !== void 0 ? _c : []).map((memory) => toRowFromGlobalMemory(memory,
|
|
157
|
-
}, [isMentorScope, isAllMentorsScope, mentorList, allMentors, globalMemories,
|
|
158
|
+
return ((_b = allMentors === null || allMentors === void 0 ? void 0 : allMentors.results) !== null && _b !== void 0 ? _b : []).map((memory) => toRowFromMentorMemory(memory, identity));
|
|
159
|
+
return ((_c = globalMemories === null || globalMemories === void 0 ? void 0 : globalMemories.results) !== null && _c !== void 0 ? _c : []).map((memory) => toRowFromGlobalMemory(memory, identity));
|
|
160
|
+
}, [isMentorScope, isAllMentorsScope, mentorList, allMentors, globalMemories, identity]);
|
|
158
161
|
const totalCount = useMemo(() => {
|
|
159
162
|
var _a, _b, _c;
|
|
160
163
|
if (isMentorScope)
|
|
@@ -177,7 +180,7 @@ const useMemory = ({ tenantKey, userId, mentorId, myMemory = false, }) => {
|
|
|
177
180
|
let totalMemories = 0;
|
|
178
181
|
const categories = groups.map((group) => {
|
|
179
182
|
group.memories.forEach((memory) => {
|
|
180
|
-
learners.add(resolveUserIdentity(memory,
|
|
183
|
+
learners.add(resolveUserIdentity(memory, identity).label);
|
|
181
184
|
if (memory.is_auto_generated)
|
|
182
185
|
autoCaptured += 1;
|
|
183
186
|
});
|
|
@@ -194,7 +197,7 @@ const useMemory = ({ tenantKey, userId, mentorId, myMemory = false, }) => {
|
|
|
194
197
|
learners: learners.size,
|
|
195
198
|
categories: categories.sort((a, b) => b.count - a.count),
|
|
196
199
|
};
|
|
197
|
-
}, [isMentorScope, mentorGrouped, categoryFilter,
|
|
200
|
+
}, [isMentorScope, mentorGrouped, categoryFilter, identity]);
|
|
198
201
|
const error = isMentorScope ? mentorListError : isAllMentorsScope ? allMentorsError : globalError;
|
|
199
202
|
const isLoading = isMentorScope
|
|
200
203
|
? isLoadingMentorList || isLoadingMentorGrouped
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-memory.js","sources":["../../../../../../../src/components/analytics/use-memory.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAiIA;;;;AAIG;AACI,MAAM,gBAAgB,GAAG;AAEhC;AACO,MAAM,cAAc,GAAG;AAE9B,MAAM,UAAU,GAAG,CAAC,IAAsB,KACxC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;AAErD,SAAS,gBAAgB,CAAC,KAAwD,EAAA;AAChF,IAAA,OAAO,CAAC,CAAC,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;AAC7D;AAEA,SAAS,qBAAqB,CAC5B,MAAwC,EACxC,
|
|
1
|
+
{"version":3,"file":"use-memory.js","sources":["../../../../../../../src/components/analytics/use-memory.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ import { useCurrentTenant, selectRbacPermissions, isPureWatcher } from '@iblai/w
|
|
|
6
6
|
import { useT } from '../../i18n/context.js';
|
|
7
7
|
import '../../packages/i18n/dist/index.esm.js';
|
|
8
8
|
import { cn } from '../../lib/utils.js';
|
|
9
|
+
import { isLtiPlaceholderEmail } from '../../lib/user-identity.js';
|
|
10
|
+
import { LtiUserTooltip } from './lti-user-tooltip.js';
|
|
9
11
|
import { Button } from '../ui/button.js';
|
|
10
12
|
import { Popover, PopoverTrigger, PopoverContent } from '../ui/popover.js';
|
|
11
13
|
import { Command, CommandInput, CommandList, CommandGroup, CommandItem } from '../ui/command.js';
|
|
@@ -22,14 +24,29 @@ const SELF_VALUE = '__self__';
|
|
|
22
24
|
* whose memories would then come back 403.
|
|
23
25
|
*/
|
|
24
26
|
const MEMORY_LIST_ACTION = 'Ibl.Mentor/Memory/list';
|
|
27
|
+
/**
|
|
28
|
+
* The address edX mints for an LTI launch with no email claim, which means the
|
|
29
|
+
* LMS sent none. Never a label — the row reads "LTI User" and offers it on hover.
|
|
30
|
+
*/
|
|
31
|
+
const ltiPlaceholder = (user) => {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
const email = (_b = (_a = user.email) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : '';
|
|
34
|
+
return email && isLtiPlaceholderEmail(email) ? email : undefined;
|
|
35
|
+
};
|
|
36
|
+
/** The address worth showing as a label. */
|
|
37
|
+
const shownEmail = (user) => {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
const email = (_b = (_a = user.email) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : '';
|
|
40
|
+
return email && !isLtiPlaceholderEmail(email) ? email : '';
|
|
41
|
+
};
|
|
25
42
|
/** Most recognizable label first: full name, then email, then username. */
|
|
26
|
-
const primaryLabel = (user) => { var _a
|
|
43
|
+
const primaryLabel = (user, ltiUserLabel) => { var _a; return ((_a = user.name) === null || _a === void 0 ? void 0 : _a.trim()) || shownEmail(user) || (ltiPlaceholder(user) ? ltiUserLabel : user.username); };
|
|
27
44
|
/** The next identifier down, so two users sharing a name stay distinguishable. */
|
|
28
45
|
const secondaryLabel = (user) => {
|
|
29
|
-
var _a
|
|
46
|
+
var _a;
|
|
30
47
|
if ((_a = user.name) === null || _a === void 0 ? void 0 : _a.trim())
|
|
31
|
-
return (
|
|
32
|
-
return (
|
|
48
|
+
return shownEmail(user) || user.username;
|
|
49
|
+
return shownEmail(user) || ltiPlaceholder(user) ? user.username : '';
|
|
33
50
|
};
|
|
34
51
|
function useDebouncedValue(value, delay) {
|
|
35
52
|
const [debounced, setDebounced] = useState(value);
|
|
@@ -131,13 +148,18 @@ function UserFilterSelect({ tenantKey, currentUsername, value, onChange, showSel
|
|
|
131
148
|
// A value set from outside (e.g. the Cost table's "View traces" hand-off)
|
|
132
149
|
// has no picked row; it resolves once the list holds it, else stays a username.
|
|
133
150
|
const selectedLabelUser = (selectedUser === null || selectedUser === void 0 ? void 0 : selectedUser.username) === value ? selectedUser : users.find((user) => user.username === value);
|
|
134
|
-
const
|
|
151
|
+
const ltiUserLabel = t('analyticsUserFilterSelect.ltiUser');
|
|
152
|
+
const triggerLabel = value
|
|
153
|
+
? selectedLabelUser
|
|
154
|
+
? primaryLabel(selectedLabelUser, ltiUserLabel)
|
|
155
|
+
: value
|
|
156
|
+
: '';
|
|
135
157
|
return (jsxs(Popover, { open: open, onOpenChange: setOpen, children: [jsx(PopoverTrigger, { asChild: true, children: jsxs(Button, { variant: "outline", role: "combobox", "aria-expanded": open, "aria-label": t('analyticsUserFilterSelect.filterByUser'), className: cn('h-9 w-full justify-between bg-white font-normal', className), children: [jsx("span", { className: "truncate", children: triggerLabel ||
|
|
136
158
|
t(showSelfOption
|
|
137
159
|
? 'analyticsUserFilterSelect.you'
|
|
138
160
|
: 'analyticsUserFilterSelect.allUsers') }), jsx(ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" })] }) }), jsx(PopoverContent, { "data-iblai-dialog-interaction-layer": true, className: "z-[60] w-[280px] p-0", align: "start", children: jsxs(Command, { shouldFilter: false, children: [jsx(CommandInput, { value: search, onValueChange: setSearch, placeholder: t('analyticsUserFilterSelect.searchPlaceholder') }), jsxs(CommandList, { children: [jsxs(CommandGroup, { children: [showSelfOption && (jsxs(CommandItem, { value: SELF_VALUE, onSelect: () => handleSelect(null), children: [jsx(Check, { className: cn('mr-2 h-4 w-4', value ? 'opacity-0' : 'opacity-100') }), t('analyticsUserFilterSelect.you')] })), users.map((user) => (jsxs(CommandItem, {
|
|
139
161
|
// cmdk keys items by value; the search itself is server-side.
|
|
140
|
-
value: user.username, onSelect: () => handleSelect(user), children: [jsx(Check, { className: cn('mr-2 h-4 w-4', value === user.username ? 'opacity-100' : 'opacity-0') }), jsxs("div", { className: "flex min-w-0 flex-col", children: [jsx("span", { className: "truncate font-medium", children: primaryLabel(user) }), secondaryLabel(user) && (jsx("span", { className: "truncate text-xs text-gray-500", children: secondaryLabel(user) }))] })] }, user.key)))] }), isFetching && (jsx("div", { className: "px-3 py-4 text-center text-sm text-gray-500", children: t('analyticsUserFilterSelect.loadingUsers') })), !isFetching && users.length === 0 && (jsx("div", { className: "px-3 py-4 text-center text-sm text-gray-500", children: t('analyticsUserFilterSelect.noUsersFound') }))] })] }) })] }));
|
|
162
|
+
value: user.username, onSelect: () => handleSelect(user), children: [jsx(Check, { className: cn('mr-2 h-4 w-4', value === user.username ? 'opacity-100' : 'opacity-0') }), jsxs("div", { className: "flex min-w-0 flex-col", children: [jsx(LtiUserTooltip, { email: ltiPlaceholder(user), children: jsx("span", { className: "truncate font-medium", children: primaryLabel(user, ltiUserLabel) }) }), secondaryLabel(user) && (jsx("span", { className: "truncate text-xs text-gray-500", children: secondaryLabel(user) }))] })] }, user.key)))] }), isFetching && (jsx("div", { className: "px-3 py-4 text-center text-sm text-gray-500", children: t('analyticsUserFilterSelect.loadingUsers') })), !isFetching && users.length === 0 && (jsx("div", { className: "px-3 py-4 text-center text-sm text-gray-500", children: t('analyticsUserFilterSelect.noUsersFound') }))] })] }) })] }));
|
|
141
163
|
}
|
|
142
164
|
|
|
143
165
|
export { UserFilterSelect };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-filter-select.js","sources":["../../../../../../../src/components/analytics/user-filter-select.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"user-filter-select.js","sources":["../../../../../../../src/components/analytics/user-filter-select.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -7,6 +7,40 @@ import { extractErrorMessage } from '../modals/edit-mentor-modal/tabs/datasets-t
|
|
|
7
7
|
|
|
8
8
|
/** Least-privilege scope: only files the user picks/creates via the picker. */
|
|
9
9
|
const GOOGLE_DRIVE_SCOPES = ['https://www.googleapis.com/auth/drive.file'];
|
|
10
|
+
/**
|
|
11
|
+
* How long the picker may take to report `loaded` after sign-in. When the browser
|
|
12
|
+
* blocks Google's cookies in our page (Brave's default), docs.google.com/picker
|
|
13
|
+
* answers 401 with a sign-in page that never sends `loaded`.
|
|
14
|
+
*/
|
|
15
|
+
const PICKER_LOAD_TIMEOUT_MS = 10000;
|
|
16
|
+
const PICKER_BLOCKED_MESSAGE = 'Your browser blocked Google Drive. Try again and click Allow cookies in the Google window.';
|
|
17
|
+
const PICKER_OPEN_FAILED_MESSAGE = "Google Drive couldn't open. Try again in a moment.";
|
|
18
|
+
const PICKER_SELECTION_FAILED_MESSAGE = 'Something went wrong with Google Drive. Try again.';
|
|
19
|
+
/** How long to keep making newly added picker elements clickable after sign-in. */
|
|
20
|
+
const PICKER_CLICKABLE_WATCH_MS = 60000;
|
|
21
|
+
const PICKER_ELEMENTS_SELECTOR = [
|
|
22
|
+
'.picker-dialog',
|
|
23
|
+
'.picker-dialog-bg',
|
|
24
|
+
'div[role="dialog"][aria-label*="picker"]',
|
|
25
|
+
].join(',');
|
|
26
|
+
const PICKER_BOX_SELECTOR = '.picker-dialog, div[role="dialog"][aria-label*="picker"]';
|
|
27
|
+
/**
|
|
28
|
+
* The Add Resource dialog is modal and turns off pointer events outside itself, so
|
|
29
|
+
* Google's picker (and its "Allow cookies" screen, which never reports `loaded`)
|
|
30
|
+
* must opt back in.
|
|
31
|
+
*/
|
|
32
|
+
const makePickerClickable = () => {
|
|
33
|
+
document.querySelectorAll('iframe[src*="docs.google.com/picker"]').forEach((iframe) => {
|
|
34
|
+
if (iframe.parentElement) {
|
|
35
|
+
iframe.parentElement.style.pointerEvents = 'auto';
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
document.querySelectorAll(PICKER_ELEMENTS_SELECTOR).forEach((element) => {
|
|
39
|
+
element.style.pointerEvents = 'auto';
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
/** Google's picker wants the Cloud project number, the numeric prefix of the OAuth client id. */
|
|
43
|
+
const getGoogleAppId = (clientId) => { var _a; return (_a = /^(\d+)-[^.]+\.apps\.googleusercontent\.com$/.exec(clientId)) === null || _a === void 0 ? void 0 : _a[1]; };
|
|
10
44
|
const useGoogleDrivePicker = ({ tenantKey, mentorId }) => {
|
|
11
45
|
const [authToken, setAuthToken] = React__default.useState(null);
|
|
12
46
|
const [driveFiles, setDriveFiles] = React__default.useState([]);
|
|
@@ -22,6 +56,41 @@ const useGoogleDrivePicker = ({ tenantKey, mentorId }) => {
|
|
|
22
56
|
client_secret: '',
|
|
23
57
|
});
|
|
24
58
|
const [pickerError, setPickerError] = React__default.useState(null);
|
|
59
|
+
const pickerLoadTimerRef = React__default.useRef(null);
|
|
60
|
+
// True from opening the picker until it reports back; the lib only shows the
|
|
61
|
+
// picker after the sign-in popup returns a token, so the timer starts then.
|
|
62
|
+
const awaitingPickerRef = React__default.useRef(false);
|
|
63
|
+
const pickerObserverRef = React__default.useRef(null);
|
|
64
|
+
const pickerObserverCapRef = React__default.useRef(null);
|
|
65
|
+
const stopWatchingPicker = React__default.useCallback(() => {
|
|
66
|
+
var _a;
|
|
67
|
+
(_a = pickerObserverRef.current) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
68
|
+
pickerObserverRef.current = null;
|
|
69
|
+
if (pickerObserverCapRef.current) {
|
|
70
|
+
clearTimeout(pickerObserverCapRef.current);
|
|
71
|
+
pickerObserverCapRef.current = null;
|
|
72
|
+
}
|
|
73
|
+
}, []);
|
|
74
|
+
const stopWaitingForPicker = React__default.useCallback(() => {
|
|
75
|
+
awaitingPickerRef.current = false;
|
|
76
|
+
if (pickerLoadTimerRef.current) {
|
|
77
|
+
clearTimeout(pickerLoadTimerRef.current);
|
|
78
|
+
pickerLoadTimerRef.current = null;
|
|
79
|
+
}
|
|
80
|
+
stopWatchingPicker();
|
|
81
|
+
}, [stopWatchingPicker]);
|
|
82
|
+
// Set once the picker reports `loaded`; an outside close before that means it was blocked.
|
|
83
|
+
const pickerLoadedRef = React__default.useRef(false);
|
|
84
|
+
const removePickerGuardRef = React__default.useRef(null);
|
|
85
|
+
const stopGuardingPicker = React__default.useCallback(() => {
|
|
86
|
+
var _a;
|
|
87
|
+
(_a = removePickerGuardRef.current) === null || _a === void 0 ? void 0 : _a.call(removePickerGuardRef);
|
|
88
|
+
removePickerGuardRef.current = null;
|
|
89
|
+
}, []);
|
|
90
|
+
React__default.useEffect(() => () => {
|
|
91
|
+
stopWaitingForPicker();
|
|
92
|
+
stopGuardingPicker();
|
|
93
|
+
}, [stopWaitingForPicker, stopGuardingPicker]);
|
|
25
94
|
// Fetch credentials on mount
|
|
26
95
|
React__default.useEffect(() => {
|
|
27
96
|
const fetchCredentials = async () => {
|
|
@@ -112,37 +181,6 @@ const useGoogleDrivePicker = ({ tenantKey, mentorId }) => {
|
|
|
112
181
|
handlePickerFileSelection();
|
|
113
182
|
}
|
|
114
183
|
}, [authToken, driveFiles, credentials, addTrainingDocument, tenantKey, username]);
|
|
115
|
-
// Force close picker modal
|
|
116
|
-
const forceClosePickerModal = React__default.useCallback(() => {
|
|
117
|
-
try {
|
|
118
|
-
// Try to close any open Google picker modals
|
|
119
|
-
const pickerIframes = document.querySelectorAll('iframe[src*="docs.google.com/picker"]');
|
|
120
|
-
pickerIframes.forEach((iframe) => {
|
|
121
|
-
const parent = iframe.parentElement;
|
|
122
|
-
if (parent) {
|
|
123
|
-
parent.style.display = 'none';
|
|
124
|
-
// Try to remove the entire picker container
|
|
125
|
-
setTimeout(() => {
|
|
126
|
-
if (parent.parentElement) {
|
|
127
|
-
parent.parentElement.removeChild(parent);
|
|
128
|
-
}
|
|
129
|
-
}, 100);
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
// Also try to close picker overlay divs
|
|
133
|
-
const pickerOverlays = document.querySelectorAll('div[role="dialog"][aria-label*="picker"]');
|
|
134
|
-
pickerOverlays.forEach((overlay) => {
|
|
135
|
-
overlay.style.display = 'none';
|
|
136
|
-
});
|
|
137
|
-
setPickerError(null);
|
|
138
|
-
toast.success('Google Drive picker closed');
|
|
139
|
-
}
|
|
140
|
-
catch (error) {
|
|
141
|
-
console.error('Error closing picker modal:', error);
|
|
142
|
-
toast.error('Unable to close picker modal. Please refresh the page.');
|
|
143
|
-
console.error(JSON.stringify({ tenant: tenantKey, error }));
|
|
144
|
-
}
|
|
145
|
-
}, []);
|
|
146
184
|
// Reset and clean up before opening picker
|
|
147
185
|
const resetPickerState = React__default.useCallback(() => {
|
|
148
186
|
// Clear any existing picker modals/iframes
|
|
@@ -154,7 +192,7 @@ const useGoogleDrivePicker = ({ tenantKey, mentorId }) => {
|
|
|
154
192
|
}
|
|
155
193
|
});
|
|
156
194
|
// Clear picker overlay divs
|
|
157
|
-
const pickerOverlays = document.querySelectorAll(
|
|
195
|
+
const pickerOverlays = document.querySelectorAll(PICKER_ELEMENTS_SELECTOR);
|
|
158
196
|
pickerOverlays.forEach((overlay) => {
|
|
159
197
|
if (overlay.parentElement) {
|
|
160
198
|
overlay.parentElement.removeChild(overlay);
|
|
@@ -172,7 +210,13 @@ const useGoogleDrivePicker = ({ tenantKey, mentorId }) => {
|
|
|
172
210
|
const openPickerInternal = () => {
|
|
173
211
|
try {
|
|
174
212
|
setPickerError(null);
|
|
213
|
+
stopWaitingForPicker();
|
|
214
|
+
stopGuardingPicker();
|
|
215
|
+
awaitingPickerRef.current = true;
|
|
216
|
+
pickerLoadedRef.current = false;
|
|
217
|
+
const appId = getGoogleAppId(credentials.client_id);
|
|
175
218
|
openPicker({
|
|
219
|
+
...(appId ? { appId } : {}),
|
|
176
220
|
clientId: credentials.client_id,
|
|
177
221
|
developerKey: credentials.developer_key,
|
|
178
222
|
customScopes: GOOGLE_DRIVE_SCOPES,
|
|
@@ -186,6 +230,15 @@ const useGoogleDrivePicker = ({ tenantKey, mentorId }) => {
|
|
|
186
230
|
multiselect: false,
|
|
187
231
|
callbackFunction: async (data) => {
|
|
188
232
|
try {
|
|
233
|
+
if (['picked', 'cancel', 'loaded'].includes(data.action)) {
|
|
234
|
+
stopWaitingForPicker();
|
|
235
|
+
}
|
|
236
|
+
if (data.action === 'loaded') {
|
|
237
|
+
pickerLoadedRef.current = true;
|
|
238
|
+
}
|
|
239
|
+
else if (['picked', 'cancel'].includes(data.action)) {
|
|
240
|
+
stopGuardingPicker();
|
|
241
|
+
}
|
|
189
242
|
if (data.action === 'picked' && data.docs) {
|
|
190
243
|
handlePickerFileSelected(data.docs);
|
|
191
244
|
}
|
|
@@ -198,35 +251,22 @@ const useGoogleDrivePicker = ({ tenantKey, mentorId }) => {
|
|
|
198
251
|
// Picker loaded successfully
|
|
199
252
|
console.log('Google Drive picker loaded');
|
|
200
253
|
setPickerError(null);
|
|
201
|
-
|
|
202
|
-
setTimeout(() => {
|
|
203
|
-
const pickerIframes = document.querySelectorAll('iframe[src*="docs.google.com/picker"]');
|
|
204
|
-
pickerIframes.forEach((iframe) => {
|
|
205
|
-
const parent = iframe.parentElement;
|
|
206
|
-
if (parent) {
|
|
207
|
-
parent.style.pointerEvents = 'auto';
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
const pickerOverlays = document.querySelectorAll('div[role="dialog"][aria-label*="picker"]');
|
|
211
|
-
pickerOverlays.forEach((overlay) => {
|
|
212
|
-
overlay.style.pointerEvents = 'auto';
|
|
213
|
-
});
|
|
214
|
-
}, 100);
|
|
254
|
+
setTimeout(makePickerClickable, 100);
|
|
215
255
|
}
|
|
216
256
|
}
|
|
217
257
|
catch (error) {
|
|
218
258
|
console.error('Error in picker callback:', error);
|
|
219
|
-
setPickerError(
|
|
220
|
-
toast.error('Error with Google Drive picker. Try refreshing the page if it gets stuck.');
|
|
259
|
+
setPickerError(PICKER_SELECTION_FAILED_MESSAGE);
|
|
221
260
|
console.error(JSON.stringify({ tenant: tenantKey, error }));
|
|
222
261
|
}
|
|
223
262
|
},
|
|
224
263
|
});
|
|
225
264
|
}
|
|
226
265
|
catch (error) {
|
|
266
|
+
stopWaitingForPicker();
|
|
267
|
+
stopGuardingPicker();
|
|
227
268
|
console.error('Error opening picker:', error);
|
|
228
|
-
setPickerError(
|
|
229
|
-
toast.error('Failed to open Google Drive picker. This might be due to permission issues (403 error).');
|
|
269
|
+
setPickerError(PICKER_OPEN_FAILED_MESSAGE);
|
|
230
270
|
console.error(JSON.stringify({ tenant: tenantKey, error }));
|
|
231
271
|
}
|
|
232
272
|
};
|
|
@@ -238,14 +278,79 @@ const useGoogleDrivePicker = ({ tenantKey, mentorId }) => {
|
|
|
238
278
|
openPickerInternal();
|
|
239
279
|
}
|
|
240
280
|
else {
|
|
241
|
-
toast.error('Google
|
|
281
|
+
toast.error('Google Drive is still loading. Try again in a moment.');
|
|
242
282
|
}
|
|
243
|
-
}, [
|
|
283
|
+
}, [
|
|
284
|
+
credentials,
|
|
285
|
+
handlePickerFileSelected,
|
|
286
|
+
openPicker,
|
|
287
|
+
isPickerLoaded,
|
|
288
|
+
resetPickerState,
|
|
289
|
+
stopWaitingForPicker,
|
|
290
|
+
stopGuardingPicker,
|
|
291
|
+
]);
|
|
292
|
+
/**
|
|
293
|
+
* Google's picker sits on top of our modal dialogs, which close on any outside
|
|
294
|
+
* pointerdown or Escape (Radix listens on document). While the picker is shown,
|
|
295
|
+
* window capture listeners run first: a click on Google's dimmed background or
|
|
296
|
+
* Escape closes only the picker, and no picker event reaches our dialogs.
|
|
297
|
+
*/
|
|
298
|
+
const guardPicker = React__default.useCallback(() => {
|
|
299
|
+
const closePicker = () => {
|
|
300
|
+
const loaded = pickerLoadedRef.current;
|
|
301
|
+
stopWaitingForPicker();
|
|
302
|
+
stopGuardingPicker();
|
|
303
|
+
resetPickerState();
|
|
304
|
+
if (!loaded) {
|
|
305
|
+
setPickerError(PICKER_BLOCKED_MESSAGE);
|
|
306
|
+
}
|
|
307
|
+
};
|
|
308
|
+
const onPointer = (event) => {
|
|
309
|
+
const target = event.target;
|
|
310
|
+
if (!(target instanceof Element) || !target.closest(PICKER_ELEMENTS_SELECTOR))
|
|
311
|
+
return;
|
|
312
|
+
event.stopPropagation();
|
|
313
|
+
if (event.type === 'pointerdown' && !target.closest(PICKER_BOX_SELECTOR)) {
|
|
314
|
+
closePicker();
|
|
315
|
+
}
|
|
316
|
+
};
|
|
317
|
+
const onKeyDown = (event) => {
|
|
318
|
+
if (event.key !== 'Escape')
|
|
319
|
+
return;
|
|
320
|
+
event.stopPropagation();
|
|
321
|
+
closePicker();
|
|
322
|
+
};
|
|
323
|
+
const pointerEvents = ['pointerdown', 'mousedown', 'click'];
|
|
324
|
+
pointerEvents.forEach((type) => window.addEventListener(type, onPointer, true));
|
|
325
|
+
window.addEventListener('keydown', onKeyDown, true);
|
|
326
|
+
removePickerGuardRef.current = () => {
|
|
327
|
+
pointerEvents.forEach((type) => window.removeEventListener(type, onPointer, true));
|
|
328
|
+
window.removeEventListener('keydown', onKeyDown, true);
|
|
329
|
+
};
|
|
330
|
+
}, [resetPickerState, stopWaitingForPicker, stopGuardingPicker]);
|
|
244
331
|
// Handle auth response
|
|
245
332
|
React__default.useEffect(() => {
|
|
246
333
|
if (authRes) {
|
|
247
334
|
setAuthToken(authRes);
|
|
248
335
|
}
|
|
336
|
+
if ((authRes === null || authRes === void 0 ? void 0 : authRes.access_token) && awaitingPickerRef.current && !pickerLoadTimerRef.current) {
|
|
337
|
+
makePickerClickable();
|
|
338
|
+
guardPicker();
|
|
339
|
+
const observer = new MutationObserver(makePickerClickable);
|
|
340
|
+
observer.observe(document.body, {
|
|
341
|
+
childList: true,
|
|
342
|
+
subtree: true,
|
|
343
|
+
attributes: true,
|
|
344
|
+
attributeFilter: ['src', 'class'],
|
|
345
|
+
});
|
|
346
|
+
pickerObserverRef.current = observer;
|
|
347
|
+
pickerObserverCapRef.current = setTimeout(stopWatchingPicker, PICKER_CLICKABLE_WATCH_MS);
|
|
348
|
+
pickerLoadTimerRef.current = setTimeout(() => {
|
|
349
|
+
pickerLoadTimerRef.current = null;
|
|
350
|
+
awaitingPickerRef.current = false;
|
|
351
|
+
setPickerError(PICKER_BLOCKED_MESSAGE);
|
|
352
|
+
}, PICKER_LOAD_TIMEOUT_MS);
|
|
353
|
+
}
|
|
249
354
|
}, [authRes]);
|
|
250
355
|
const loadGoogleApiScript = React__default.useCallback(() => {
|
|
251
356
|
// This function can be called when the Next.js Script component loads
|
|
@@ -260,7 +365,6 @@ const useGoogleDrivePicker = ({ tenantKey, mentorId }) => {
|
|
|
260
365
|
credentials,
|
|
261
366
|
loadGoogleApiScript,
|
|
262
367
|
isPickerLoaded,
|
|
263
|
-
forceClosePickerModal,
|
|
264
368
|
pickerError,
|
|
265
369
|
resetPickerState,
|
|
266
370
|
credentialsLoaded: credentialLoaded,
|
|
@@ -268,5 +372,5 @@ const useGoogleDrivePicker = ({ tenantKey, mentorId }) => {
|
|
|
268
372
|
};
|
|
269
373
|
};
|
|
270
374
|
|
|
271
|
-
export { GOOGLE_DRIVE_SCOPES, useGoogleDrivePicker as default };
|
|
375
|
+
export { GOOGLE_DRIVE_SCOPES, PICKER_BLOCKED_MESSAGE, PICKER_CLICKABLE_WATCH_MS, PICKER_LOAD_TIMEOUT_MS, PICKER_OPEN_FAILED_MESSAGE, PICKER_SELECTION_FAILED_MESSAGE, useGoogleDrivePicker as default, getGoogleAppId, makePickerClickable };
|
|
272
376
|
//# sourceMappingURL=use-google-drive-picker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-google-drive-picker.js","sources":["../../../../../../../src/components/hooks/use-google-drive-picker.ts"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-google-drive-picker.js","sources":["../../../../../../../src/components/hooks/use-google-drive-picker.ts"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
|