@openedx/frontend-app-instructor-dashboard 1.0.0-alpha.44 → 1.0.0-alpha.46
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/enrollments/components/AddBetaTestersModal.js +1 -1
- package/dist/enrollments/components/AddBetaTestersModal.js.map +1 -1
- package/dist/enrollments/components/EnrollLearnersModal.js +1 -1
- package/dist/enrollments/components/EnrollLearnersModal.js.map +1 -1
- package/dist/enrollments/components/EnrollmentStatusModal.js +1 -1
- package/dist/enrollments/components/EnrollmentStatusModal.js.map +1 -1
- package/dist/enrollments/messages.d.ts +5 -0
- package/dist/enrollments/messages.js +6 -1
- package/dist/enrollments/messages.js.map +1 -1
- package/package.json +1 -1
|
@@ -24,7 +24,7 @@ const AddBetaTestersModal = ({ isOpen, onClose }) => {
|
|
|
24
24
|
handleChange(e.target.value);
|
|
25
25
|
};
|
|
26
26
|
const handleSave = () => {
|
|
27
|
-
const identifier = inputValue.split(
|
|
27
|
+
const identifier = inputValue.split(/[\n,]+/).map(email => email.trim()).filter(Boolean);
|
|
28
28
|
addBetaTesters({ identifier, action: 'add', autoEnroll, emailStudents }, {
|
|
29
29
|
onSuccess: (data) => {
|
|
30
30
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddBetaTestersModal.js","sourceRoot":"","sources":["../../../src/enrollments/components/AddBetaTestersModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { isAxiosError } from 'axios';\nimport { useIntl } from '@openedx/frontend-base';\nimport { Button, FormControl, ModalDialog, Form } from '@openedx/paragon';\nimport { useUpdateBetaTesters } from '@src/enrollments/data/apiHook';\nimport messages from '@src/enrollments/messages';\nimport { useAlert } from '@src/providers/AlertProvider';\nimport { useDebouncedFilter } from '@src/hooks/useDebouncedFilter';\n\nexport interface AddBetaTestersModalProps {\n isOpen: boolean,\n onClose: () => void,\n}\n\nconst AddBetaTestersModal = ({\n isOpen,\n onClose\n}: AddBetaTestersModalProps) => {\n const intl = useIntl();\n const { courseId = '' } = useParams<{ courseId: string }>();\n const [emails, setEmails] = useState('');\n const [autoEnroll, setAutoEnroll] = useState(true);\n const [emailStudents, setEmailStudents] = useState(true);\n const { mutate: addBetaTesters } = useUpdateBetaTesters(courseId);\n const { showModal, addAlert } = useAlert();\n const { inputValue, handleChange } = useDebouncedFilter({\n filterValue: emails,\n setFilter: setEmails,\n });\n\n const handleInputChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n handleChange(e.target.value);\n };\n\n const handleSave = () => {\n const identifier = inputValue.split(',').map(email => email.trim()).filter(email => email);\n addBetaTesters({ identifier, action: 'add', autoEnroll, emailStudents }, {\n onSuccess: (data) => {\n const failedUsernames = data.results?.filter(user => user.userDoesNotExist).map(user => user.identifier) || [];\n const inactiveUsernames = data.results?.filter(user => !user.isActive && user.isActive !== null && !user.userDoesNotExist).map(user => user.identifier) || [];\n if (failedUsernames.length > 0) {\n addAlert({\n type: 'danger',\n message: intl.formatMessage(messages.failedBetaTesters),\n extraContent: (\n failedUsernames.map((learner: string) => (\n <p key={learner} className=\"mb-0\">• {intl.formatMessage(messages.unknownLearner, { learner })}</p>\n ))\n )\n });\n }\n if (inactiveUsernames.length > 0) {\n addAlert({\n type: 'warning',\n message: intl.formatMessage(messages.inactiveUsers),\n extraContent: (\n inactiveUsernames.map((learner: string) => (\n <p key={learner} className=\"mb-0\">• {intl.formatMessage(messages.inactiveLearner, { learner })}</p>\n ))\n )\n });\n }\n handleChange('');\n setAutoEnroll(true);\n setEmailStudents(true);\n onClose();\n },\n onError: (error) => {\n const notFound = isAxiosError(error) && error.response?.status === 404;\n const errorMessage = notFound\n ? intl.formatMessage(messages.enrollLearnerNotFoundError)\n : intl.formatMessage(messages.enrollLearnerError);\n showModal({\n message: errorMessage,\n variant: 'danger',\n confirmText: intl.formatMessage(messages.closeButton),\n });\n }\n });\n };\n\n return (\n <ModalDialog isOpen={isOpen} onClose={onClose} isOverflowVisible={false} title={intl.formatMessage(messages.addBetaTesters)}>\n <ModalDialog.Header className=\"border-light-700 border-bottom\">\n <h3 className=\"text-primary-500\">{intl.formatMessage(messages.addBetaTesters)}</h3>\n </ModalDialog.Header>\n <div className=\"position-relative overflow-auto\">\n <ModalDialog.Body className=\"py-4\">\n <p className=\"text-gray-700 x-small mb-2\">{intl.formatMessage(messages.addBetaTestersInstructions)}</p>\n <FormControl\n name=\"identifier\"\n as=\"textarea\"\n rows={4}\n placeholder={intl.formatMessage(messages.userIdentifierPlaceholder)}\n onChange={handleInputChange}\n value={inputValue}\n />\n <div className=\"d-flex mt-3 text-primary-500\">\n <Form.Checkbox\n controlClassName=\"border-primary-500\"\n checked={autoEnroll}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setAutoEnroll(e.target.checked)}\n >{intl.formatMessage(messages.autoEnrollCheckbox)}\n </Form.Checkbox>\n <Form.Checkbox\n controlClassName=\"border-primary-500\"\n className=\"ml-4\"\n checked={emailStudents}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setEmailStudents(e.target.checked)}\n >{intl.formatMessage(messages.notifyUsersCheckbox)}\n </Form.Checkbox>\n </div>\n </ModalDialog.Body>\n </div>\n <ModalDialog.Footer className=\"border-light-700 border-top\">\n <Button variant=\"tertiary\" onClick={onClose}>\n {intl.formatMessage(messages.cancelButton)}\n </Button>\n <Button className=\"ml-2\" variant=\"primary\" onClick={handleSave} disabled={inputValue.trim().length === 0}>\n {intl.formatMessage(messages.saveButton)}\n </Button>\n </ModalDialog.Footer>\n </ModalDialog>\n );\n};\n\nexport default AddBetaTestersModal;\n"]}
|
|
1
|
+
{"version":3,"file":"AddBetaTestersModal.js","sourceRoot":"","sources":["../../../src/enrollments/components/AddBetaTestersModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { isAxiosError } from 'axios';\nimport { useIntl } from '@openedx/frontend-base';\nimport { Button, FormControl, ModalDialog, Form } from '@openedx/paragon';\nimport { useUpdateBetaTesters } from '@src/enrollments/data/apiHook';\nimport messages from '@src/enrollments/messages';\nimport { useAlert } from '@src/providers/AlertProvider';\nimport { useDebouncedFilter } from '@src/hooks/useDebouncedFilter';\n\nexport interface AddBetaTestersModalProps {\n isOpen: boolean,\n onClose: () => void,\n}\n\nconst AddBetaTestersModal = ({\n isOpen,\n onClose\n}: AddBetaTestersModalProps) => {\n const intl = useIntl();\n const { courseId = '' } = useParams<{ courseId: string }>();\n const [emails, setEmails] = useState('');\n const [autoEnroll, setAutoEnroll] = useState(true);\n const [emailStudents, setEmailStudents] = useState(true);\n const { mutate: addBetaTesters } = useUpdateBetaTesters(courseId);\n const { showModal, addAlert } = useAlert();\n const { inputValue, handleChange } = useDebouncedFilter({\n filterValue: emails,\n setFilter: setEmails,\n });\n\n const handleInputChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n handleChange(e.target.value);\n };\n\n const handleSave = () => {\n const identifier = inputValue.split(/[\\n,]+/).map(email => email.trim()).filter(Boolean);\n addBetaTesters({ identifier, action: 'add', autoEnroll, emailStudents }, {\n onSuccess: (data) => {\n const failedUsernames = data.results?.filter(user => user.userDoesNotExist).map(user => user.identifier) || [];\n const inactiveUsernames = data.results?.filter(user => !user.isActive && user.isActive !== null && !user.userDoesNotExist).map(user => user.identifier) || [];\n if (failedUsernames.length > 0) {\n addAlert({\n type: 'danger',\n message: intl.formatMessage(messages.failedBetaTesters),\n extraContent: (\n failedUsernames.map((learner: string) => (\n <p key={learner} className=\"mb-0\">• {intl.formatMessage(messages.unknownLearner, { learner })}</p>\n ))\n )\n });\n }\n if (inactiveUsernames.length > 0) {\n addAlert({\n type: 'warning',\n message: intl.formatMessage(messages.inactiveUsers),\n extraContent: (\n inactiveUsernames.map((learner: string) => (\n <p key={learner} className=\"mb-0\">• {intl.formatMessage(messages.inactiveLearner, { learner })}</p>\n ))\n )\n });\n }\n handleChange('');\n setAutoEnroll(true);\n setEmailStudents(true);\n onClose();\n },\n onError: (error) => {\n const notFound = isAxiosError(error) && error.response?.status === 404;\n const errorMessage = notFound\n ? intl.formatMessage(messages.enrollLearnerNotFoundError)\n : intl.formatMessage(messages.enrollLearnerError);\n showModal({\n message: errorMessage,\n variant: 'danger',\n confirmText: intl.formatMessage(messages.closeButton),\n });\n }\n });\n };\n\n return (\n <ModalDialog isOpen={isOpen} onClose={onClose} isOverflowVisible={false} title={intl.formatMessage(messages.addBetaTesters)}>\n <ModalDialog.Header className=\"border-light-700 border-bottom\">\n <h3 className=\"text-primary-500\">{intl.formatMessage(messages.addBetaTesters)}</h3>\n </ModalDialog.Header>\n <div className=\"position-relative overflow-auto\">\n <ModalDialog.Body className=\"py-4\">\n <p className=\"text-gray-700 x-small mb-2\">{intl.formatMessage(messages.addBetaTestersInstructions)}</p>\n <FormControl\n name=\"identifier\"\n as=\"textarea\"\n rows={4}\n placeholder={intl.formatMessage(messages.userIdentifierPlaceholder)}\n onChange={handleInputChange}\n value={inputValue}\n />\n <div className=\"d-flex mt-3 text-primary-500\">\n <Form.Checkbox\n controlClassName=\"border-primary-500\"\n checked={autoEnroll}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setAutoEnroll(e.target.checked)}\n >{intl.formatMessage(messages.autoEnrollCheckbox)}\n </Form.Checkbox>\n <Form.Checkbox\n controlClassName=\"border-primary-500\"\n className=\"ml-4\"\n checked={emailStudents}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setEmailStudents(e.target.checked)}\n >{intl.formatMessage(messages.notifyUsersCheckbox)}\n </Form.Checkbox>\n </div>\n </ModalDialog.Body>\n </div>\n <ModalDialog.Footer className=\"border-light-700 border-top\">\n <Button variant=\"tertiary\" onClick={onClose}>\n {intl.formatMessage(messages.cancelButton)}\n </Button>\n <Button className=\"ml-2\" variant=\"primary\" onClick={handleSave} disabled={inputValue.trim().length === 0}>\n {intl.formatMessage(messages.saveButton)}\n </Button>\n </ModalDialog.Footer>\n </ModalDialog>\n );\n};\n\nexport default AddBetaTestersModal;\n"]}
|
|
@@ -16,7 +16,7 @@ const EnrollLearnersModal = ({ isOpen, onClose }) => {
|
|
|
16
16
|
const { mutate: enrollLearners } = useUpdateEnrollments(courseId);
|
|
17
17
|
const { showModal, addAlert } = useAlert();
|
|
18
18
|
const handleSave = () => {
|
|
19
|
-
const identifier = emails.split(
|
|
19
|
+
const identifier = emails.split(/[\n,]+/).map(email => email.trim()).filter(Boolean);
|
|
20
20
|
enrollLearners({ identifier, action: 'enroll', autoEnroll, emailStudents }, {
|
|
21
21
|
onSuccess: (data) => {
|
|
22
22
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnrollLearnersModal.js","sourceRoot":"","sources":["../../../src/enrollments/components/EnrollLearnersModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAOxD,MAAM,mBAAmB,GAAG,CAAC,EAC3B,MAAM,EACN,OAAO,EACkB,EAAE,EAAE;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,SAAS,EAAwB,CAAC;IAC5D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE3C,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"EnrollLearnersModal.js","sourceRoot":"","sources":["../../../src/enrollments/components/EnrollLearnersModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAOxD,MAAM,mBAAmB,GAAG,CAAC,EAC3B,MAAM,EACN,OAAO,EACkB,EAAE,EAAE;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,SAAS,EAAwB,CAAC;IAC5D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE3C,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrF,cAAc,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE;YAC1E,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;;gBAClB,MAAM,eAAe,GAAG,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAI,EAAE,CAAC;gBAChH,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,QAAQ,CAAC;wBACP,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC;wBAC1D,YAAY,EAAE,CACZ,eAAe,CAAC,GAAG,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,CACvC,aAAiB,SAAS,EAAC,MAAM,wBAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,KAArF,OAAO,CAAmF,CACnG,CAAC,CACH;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,SAAS,CAAC,EAAE,CAAC,CAAC;gBACd,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpB,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACvB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;;gBACjB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,CAAC;gBACvE,MAAM,YAAY,GAAG,QAAQ;oBAC3B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,0BAA0B,CAAC;oBACzD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBACpD,SAAS,CAAC;oBACR,OAAO,EAAE,YAAY;oBACrB,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC;iBACtD,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,aACzH,KAAC,WAAW,CAAC,MAAM,IAAC,SAAS,EAAC,gCAAgC,YAC5D,aAAI,SAAS,EAAC,kBAAkB,YAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAM,GAChE,EACrB,cAAK,SAAS,EAAC,iCAAiC,YAC9C,MAAC,WAAW,CAAC,IAAI,IAAC,SAAS,EAAC,MAAM,aAChC,YAAG,SAAS,EAAC,4BAA4B,YAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,GAAK,EACnG,KAAC,WAAW,IACV,IAAI,EAAC,YAAY,EACjB,EAAE,EAAC,UAAU,EACb,IAAI,EAAE,CAAC,EACP,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EACnE,QAAQ,EAAE,CAAC,CAAyC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAClF,EACF,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,IAAI,CAAC,QAAQ,IACZ,gBAAgB,EAAC,oBAAoB,EACrC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,CAAC,CAAsC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YACrF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GACjC,EAChB,KAAC,IAAI,CAAC,QAAQ,IACZ,gBAAgB,EAAC,oBAAoB,EACrC,SAAS,EAAC,MAAM,EAChB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,CAAC,CAAsC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YACxF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAClC,IACZ,IACW,GACf,EACN,MAAC,WAAW,CAAC,MAAM,IAAC,SAAS,EAAC,6BAA6B,aACzD,KAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,OAAO,YACxC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,GACnC,EACT,KAAC,MAAM,IAAC,SAAS,EAAC,MAAM,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,YACjG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,GACjC,IACU,IACT,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import { useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { isAxiosError } from 'axios';\nimport { useIntl } from '@openedx/frontend-base';\nimport { Button, FormControl, ModalDialog, Form } from '@openedx/paragon';\nimport { useUpdateEnrollments } from '@src/enrollments/data/apiHook';\nimport messages from '@src/enrollments/messages';\nimport { useAlert } from '@src/providers/AlertProvider';\n\nexport interface EnrollLearnersModalProps {\n isOpen: boolean,\n onClose: () => void,\n}\n\nconst EnrollLearnersModal = ({\n isOpen,\n onClose\n}: EnrollLearnersModalProps) => {\n const intl = useIntl();\n const { courseId = '' } = useParams<{ courseId: string }>();\n const [emails, setEmails] = useState('');\n const [autoEnroll, setAutoEnroll] = useState(true);\n const [emailStudents, setEmailStudents] = useState(true);\n const { mutate: enrollLearners } = useUpdateEnrollments(courseId);\n const { showModal, addAlert } = useAlert();\n\n const handleSave = () => {\n const identifier = emails.split(/[\\n,]+/).map(email => email.trim()).filter(Boolean);\n enrollLearners({ identifier, action: 'enroll', autoEnroll, emailStudents }, {\n onSuccess: (data) => {\n const failedUsernames = data.results?.filter(user => user.invalidIdentifier).map(user => user.identifier) || [];\n if (failedUsernames.length > 0) {\n addAlert({\n type: 'danger',\n message: intl.formatMessage(messages.failedEnrollLearners),\n extraContent: (\n failedUsernames.map((learner: string) => (\n <p key={learner} className=\"mb-0\">• {intl.formatMessage(messages.unknownLearner, { learner })}</p>\n ))\n )\n });\n }\n setEmails('');\n setAutoEnroll(true);\n setEmailStudents(true);\n onClose();\n },\n onError: (error) => {\n const notFound = isAxiosError(error) && error.response?.status === 404;\n const errorMessage = notFound\n ? intl.formatMessage(messages.enrollLearnerNotFoundError)\n : intl.formatMessage(messages.enrollLearnerError);\n showModal({\n message: errorMessage,\n variant: 'danger',\n confirmText: intl.formatMessage(messages.closeButton),\n });\n }\n });\n };\n\n return (\n <ModalDialog isOpen={isOpen} onClose={onClose} isOverflowVisible={false} title={intl.formatMessage(messages.enrollLearners)}>\n <ModalDialog.Header className=\"border-light-700 border-bottom\">\n <h3 className=\"text-primary-500\">{intl.formatMessage(messages.enrollLearners)}</h3>\n </ModalDialog.Header>\n <div className=\"position-relative overflow-auto\">\n <ModalDialog.Body className=\"py-4\">\n <p className=\"text-gray-700 x-small mb-2\">{intl.formatMessage(messages.addLearnerInstructions)}</p>\n <FormControl\n name=\"identifier\"\n as=\"textarea\"\n rows={4}\n placeholder={intl.formatMessage(messages.userIdentifierPlaceholder)}\n onChange={(e: React.ChangeEvent<HTMLTextAreaElement>) => setEmails(e.target.value)}\n />\n <div className=\"d-flex mt-3 text-primary-500\">\n <Form.Checkbox\n controlClassName=\"border-primary-500\"\n checked={autoEnroll}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setAutoEnroll(e.target.checked)}\n >{intl.formatMessage(messages.autoEnrollCheckbox)}\n </Form.Checkbox>\n <Form.Checkbox\n controlClassName=\"border-primary-500\"\n className=\"ml-4\"\n checked={emailStudents}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setEmailStudents(e.target.checked)}\n >{intl.formatMessage(messages.notifyUsersCheckbox)}\n </Form.Checkbox>\n </div>\n </ModalDialog.Body>\n </div>\n <ModalDialog.Footer className=\"border-light-700 border-top\">\n <Button variant=\"tertiary\" onClick={onClose}>\n {intl.formatMessage(messages.cancelButton)}\n </Button>\n <Button className=\"ml-2\" variant=\"primary\" onClick={handleSave} disabled={emails.trim().length === 0}>\n {intl.formatMessage(messages.saveButton)}\n </Button>\n </ModalDialog.Footer>\n </ModalDialog>\n );\n};\n\nexport default EnrollLearnersModal;\n"]}
|
|
@@ -17,7 +17,7 @@ const EnrollmentStatusModal = ({ isOpen, onClose }) => {
|
|
|
17
17
|
setLearnerIdentifier('');
|
|
18
18
|
onClose();
|
|
19
19
|
};
|
|
20
|
-
return (_jsxs(ModalDialog, { title: intl.formatMessage(messages.checkEnrollmentStatus), isOpen: isOpen, onClose: handleClose, isOverflowVisible: false, children: [_jsx(ModalDialog.Header, { children: _jsx(ModalDialog.Title, { className: "text-primary-700", children: intl.formatMessage(messages.checkEnrollmentStatus) }) }), _jsx(ModalDialog.Body, { className: "border-bottom border-top border-light-700", children: _jsxs("div", { className: "my-2", children: [_jsx("p", { children: intl.formatMessage(messages.
|
|
20
|
+
return (_jsxs(ModalDialog, { title: intl.formatMessage(messages.checkEnrollmentStatus), isOpen: isOpen, onClose: handleClose, isOverflowVisible: false, children: [_jsx(ModalDialog.Header, { children: _jsx(ModalDialog.Title, { className: "text-primary-700", children: intl.formatMessage(messages.checkEnrollmentStatus) }) }), _jsx(ModalDialog.Body, { className: "border-bottom border-top border-light-700", children: _jsxs("div", { className: "my-2", children: [_jsx("p", { children: intl.formatMessage(messages.enrollmentStatusInstructions) }), _jsx(FormControl, { placeholder: intl.formatMessage(messages.enrollmentStatusPlaceholder), value: learnerIdentifier, onChange: (e) => setLearnerIdentifier(e.target.value) }), _jsx(Button, { className: "mt-3", onClick: handleSearch, disabled: !learnerIdentifier.trim(), children: intl.formatMessage(messages.checkEnrollmentStatus) }), data.enrollmentStatus && (_jsx("p", { className: "mt-3 mb-0", children: data.enrollmentStatus }))] }) }), _jsx(ModalDialog.Footer, { children: _jsx(Button, { onClick: handleClose, children: intl.formatMessage(messages.closeButton) }) })] }));
|
|
21
21
|
};
|
|
22
22
|
export default EnrollmentStatusModal;
|
|
23
23
|
//# sourceMappingURL=EnrollmentStatusModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnrollmentStatusModal.js","sourceRoot":"","sources":["../../../src/enrollments/components/EnrollmentStatusModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAe,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAOjD,MAAM,qBAAqB,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAA8B,EAAE,EAAE;IAChF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,SAAS,EAAwB,CAAC;IAC5D,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACvE,MAAM,EAAE,IAAI,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAExG,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,WAAW,IAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,aACpI,KAAC,WAAW,CAAC,MAAM,cACjB,KAAC,WAAW,CAAC,KAAK,IAAC,SAAS,EAAC,kBAAkB,YAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAqB,GACrG,EACrB,KAAC,WAAW,CAAC,IAAI,IAAC,SAAS,EAAC,2CAA2C,YACrE,eAAK,SAAS,EAAC,MAAM,aACnB,sBAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"EnrollmentStatusModal.js","sourceRoot":"","sources":["../../../src/enrollments/components/EnrollmentStatusModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAe,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAOjD,MAAM,qBAAqB,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAA8B,EAAE,EAAE;IAChF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,SAAS,EAAwB,CAAC;IAC5D,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACvE,MAAM,EAAE,IAAI,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAExG,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,WAAW,IAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,aACpI,KAAC,WAAW,CAAC,MAAM,cACjB,KAAC,WAAW,CAAC,KAAK,IAAC,SAAS,EAAC,kBAAkB,YAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAqB,GACrG,EACrB,KAAC,WAAW,CAAC,IAAI,IAAC,SAAS,EAAC,2CAA2C,YACrE,eAAK,SAAS,EAAC,MAAM,aACnB,sBAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,4BAA4B,CAAC,GAAK,EAClE,KAAC,WAAW,IACV,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EACrE,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,CAAC,CAAgC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GACpF,EACF,KAAC,MAAM,IACL,SAAS,EAAC,MAAM,EAChB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAElC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAC5C,EAER,IAAI,CAAC,gBAAgB,IAAI,CACxB,YAAG,SAAS,EAAC,WAAW,YAAE,IAAI,CAAC,gBAAgB,GAAK,CACrD,IACG,GACW,EACnB,KAAC,WAAW,CAAC,MAAM,cACjB,KAAC,MAAM,IAAC,OAAO,EAAE,WAAW,YAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAU,GAC9D,IACT,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC","sourcesContent":["import { useState, ChangeEvent } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { useIntl } from '@openedx/frontend-base';\nimport { Button, FormControl, ModalDialog } from '@openedx/paragon';\nimport { useEnrollmentByUserId } from '@src/enrollments/data/apiHook';\nimport messages from '@src/enrollments/messages';\n\ninterface EnrollmentStatusModalProps {\n isOpen: boolean,\n onClose: () => void,\n}\n\nconst EnrollmentStatusModal = ({ isOpen, onClose }: EnrollmentStatusModalProps) => {\n const intl = useIntl();\n const { courseId = '' } = useParams<{ courseId: string }>();\n const [learnerIdentifier, setLearnerIdentifier] = useState<string>('');\n const { data = { enrollmentStatus: '' }, refetch } = useEnrollmentByUserId(courseId, learnerIdentifier);\n\n const handleSearch = () => {\n refetch();\n };\n\n const handleClose = () => {\n setLearnerIdentifier('');\n onClose();\n };\n\n return (\n <ModalDialog title={intl.formatMessage(messages.checkEnrollmentStatus)} isOpen={isOpen} onClose={handleClose} isOverflowVisible={false}>\n <ModalDialog.Header>\n <ModalDialog.Title className=\"text-primary-700\">{intl.formatMessage(messages.checkEnrollmentStatus)}</ModalDialog.Title>\n </ModalDialog.Header>\n <ModalDialog.Body className=\"border-bottom border-top border-light-700\">\n <div className=\"my-2\">\n <p>{intl.formatMessage(messages.enrollmentStatusInstructions)}</p>\n <FormControl\n placeholder={intl.formatMessage(messages.enrollmentStatusPlaceholder)}\n value={learnerIdentifier}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setLearnerIdentifier(e.target.value)}\n />\n <Button\n className=\"mt-3\"\n onClick={handleSearch}\n disabled={!learnerIdentifier.trim()}\n >\n {intl.formatMessage(messages.checkEnrollmentStatus)}\n </Button>\n\n {data.enrollmentStatus && (\n <p className=\"mt-3 mb-0\">{data.enrollmentStatus}</p>\n )}\n </div>\n </ModalDialog.Body>\n <ModalDialog.Footer>\n <Button onClick={handleClose}>{intl.formatMessage(messages.closeButton)}</Button>\n </ModalDialog.Footer>\n </ModalDialog>\n );\n};\n\nexport default EnrollmentStatusModal;\n"]}
|
|
@@ -64,6 +64,11 @@ declare const messages: {
|
|
|
64
64
|
defaultMessage: string;
|
|
65
65
|
description: string;
|
|
66
66
|
};
|
|
67
|
+
enrollmentStatusInstructions: {
|
|
68
|
+
id: string;
|
|
69
|
+
defaultMessage: string;
|
|
70
|
+
description: string;
|
|
71
|
+
};
|
|
67
72
|
enrollmentStatusPlaceholder: {
|
|
68
73
|
id: string;
|
|
69
74
|
defaultMessage: string;
|
|
@@ -63,7 +63,12 @@ const messages = defineMessages({
|
|
|
63
63
|
addLearnerInstructions: {
|
|
64
64
|
id: 'instruct.enrollments.modals.checkEnrollmentStatus.addLearnerInstructions',
|
|
65
65
|
defaultMessage: 'Enter email addresses and/or usernames separated by new lines or commas. You will not get notification for emails that bounce, so please double-check spelling.',
|
|
66
|
-
description: 'Instructions for
|
|
66
|
+
description: 'Instructions for enrolling learners to the course',
|
|
67
|
+
},
|
|
68
|
+
enrollmentStatusInstructions: {
|
|
69
|
+
id: 'instruct.enrollments.modals.checkEnrollmentStatus.enrollmentStatusInstructions',
|
|
70
|
+
defaultMessage: 'Enter email address or username. An incorrect or misspelled email address may result in an inaccurate status, please double-check spelling.',
|
|
71
|
+
description: 'Instructions for checking enrollment status of a learner in the course',
|
|
67
72
|
},
|
|
68
73
|
enrollmentStatusPlaceholder: {
|
|
69
74
|
id: 'instruct.enrollments.modals.checkEnrollmentStatus.enrollmentStatusPlaceholder',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/enrollments/messages.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n enrollmentsPageTitle: {\n id: 'instruct.enrollments.page.title',\n defaultMessage: 'Enrollment Management',\n description: 'Title for the enrollments page',\n },\n addBetaTesters: {\n id: 'instruct.enrollments.addBetaTesters',\n defaultMessage: 'Add Beta Testers',\n description: 'Button label for adding beta testers',\n },\n enrollLearners: {\n id: 'instruct.enrollments.enrollLearners',\n defaultMessage: 'Enroll Learners',\n description: 'Button label and modal title for enrolling learners',\n },\n checkEnrollmentStatus: {\n id: 'instruct.enrollments.checkEnrollmentStatus',\n defaultMessage: 'Check Enrollment Status',\n description: 'Check enrollment status modal title and alt for icon button',\n },\n username: {\n id: 'instruct.enrollments.username',\n defaultMessage: 'Username',\n description: 'Column header for username in enrollments list',\n },\n fullName: {\n id: 'instruct.enrollments.fullName',\n defaultMessage: 'Name',\n description: 'Column header for full name in enrollments list',\n },\n email: {\n id: 'instruct.enrollments.email',\n defaultMessage: 'Email',\n description: 'Column header for email in enrollments list',\n },\n track: {\n id: 'instruct.enrollments.track',\n defaultMessage: 'Track',\n description: 'Column header for track in enrollments list',\n },\n betaTester: {\n id: 'instruct.enrollments.betaTester',\n defaultMessage: 'Beta Tester',\n description: 'Column header for beta tester status in enrollments list',\n },\n actions: {\n id: 'instruct.enrollments.actions',\n defaultMessage: 'Actions',\n description: 'Column header for actions in enrollments list',\n },\n unenrollButton: {\n id: 'instruct.enrollments.unenrollButton',\n defaultMessage: 'Unenroll',\n description: 'Button label for unenrolling a learner',\n },\n trueLabel: {\n id: 'instruct.enrollments.trueLabel',\n defaultMessage: 'True',\n description: 'Label for true boolean value',\n },\n addLearnerInstructions: {\n id: 'instruct.enrollments.modals.checkEnrollmentStatus.addLearnerInstructions',\n defaultMessage: 'Enter email addresses and/or usernames separated by new lines or commas. You will not get notification for emails that bounce, so please double-check spelling.',\n description: 'Instructions for enroll learners to the course',\n },\n enrollmentStatusPlaceholder: {\n id: 'instruct.enrollments.modals.checkEnrollmentStatus.enrollmentStatusPlaceholder',\n defaultMessage: 'Learner email address or username',\n description: 'Placeholder text for enrolling learners textarea',\n },\n closeButton: {\n id: 'instruct.enrollments.modals.closeButton',\n defaultMessage: 'Close',\n description: 'Label for close button in modals',\n },\n searchPlaceholder: {\n id: 'instruct.enrollments.searchPlaceholder',\n defaultMessage: 'Search enrollments',\n description: 'Placeholder for the search input in enrollments list',\n },\n noEnrollments: {\n id: 'instruct.enrollments.noEnrollments',\n defaultMessage: 'No enrollments found',\n description: 'Message displayed when there are no enrollments to show',\n },\n changeBetaTesterStatus: {\n id: 'instruct.enrollments.changeBetaTesterStatus',\n defaultMessage: 'Change Beta Tester Status',\n description: 'Alt text for change beta tester status icon button',\n },\n grantBetaTester: {\n id: 'instruct.enrollments.grantBetaTester',\n defaultMessage: 'Grant Beta Tester Role',\n description: 'Menu option to grant beta tester status',\n },\n revokeBetaTester: {\n id: 'instruct.enrollments.revokeBetaTester',\n defaultMessage: 'Remove Beta Tester Role',\n description: 'Menu option to revoke beta tester status',\n },\n allEnrollees: {\n id: 'instruct.enrollments.allEnrollees',\n defaultMessage: 'All Enrollees',\n description: 'Option for showing all enrollees in beta tester filter',\n },\n betaTesters: {\n id: 'instruct.enrollments.betaTesters',\n defaultMessage: 'Beta Testers',\n description: 'Option for showing only beta testers in beta tester filter',\n },\n nonBetaTesters: {\n id: 'instruct.enrollments.nonBetaTesters',\n defaultMessage: 'Non-Beta Testers',\n description: 'Option for showing only non-beta testers in beta tester filter',\n },\n statusResponseMessage: {\n id: 'instruct.enrollments.modals.checkEnrollmentStatus.statusResponseMessage',\n defaultMessage: 'Enrollment status for {learnerIdentifier}: {status}',\n description: 'Message displaying the enrollment status for a learner',\n },\n userIdentifierPlaceholder: {\n id: 'instruct.enrollments.modals.enrollLearners.userIdentifierPlaceholder',\n defaultMessage: 'Email addresses / Usernames',\n description: 'Placeholder text for enrolling learners textarea',\n },\n enrollLearnerInstructions: {\n id: 'instruct.enrollments.modals.enrollLearners.enrollLearnerInstructions',\n defaultMessage: 'Enter email addresses and/or usernames separated by new lines or commas. You will not get notification for emails that bounce, so please double-check spelling.',\n description: 'Instructions for enrolling learners to the course',\n },\n unenrollLearners: {\n id: 'instruct.enrollments.modals.unenrollLearners',\n defaultMessage: 'Unenroll Learners',\n description: 'Title for unenroll learners modal',\n },\n unenrollLearnersConfirmation: {\n id: 'instruct.enrollments.modals.unenrollLearnersConfirmation',\n defaultMessage: 'Unenroll {name} from course?',\n description: 'Confirmation message for unenrolling learners',\n },\n unenrollLearnerTitle: {\n id: 'instruct.enrollments.modals.unenrollLearnerTitle',\n defaultMessage: 'Unenroll Learner?',\n description: 'Title for unenroll learner modal',\n },\n saveButton: {\n id: 'instruct.enrollments.modals.saveButton',\n defaultMessage: 'Save',\n description: 'Label for save button in modals',\n },\n cancelButton: {\n id: 'instruct.enrollments.modals.cancelButton',\n defaultMessage: 'Cancel',\n description: 'Label for cancel button in modals',\n },\n autoEnrollCheckbox: {\n id: 'instruct.enrollments.modals.autoEnrollCheckbox',\n defaultMessage: 'Auto Enroll',\n description: 'Label for auto enroll checkbox in enroll learners modal',\n },\n notifyUsersCheckbox: {\n id: 'instruct.enrollments.modals.notifyUsersCheckbox',\n defaultMessage: 'Notify Users by Email',\n description: 'Label for notify users by email checkbox in enroll learners modal',\n },\n enrollLearnerError: {\n id: 'instruct.enrollments.modals.enrollLearnerError',\n defaultMessage: 'An error occurred while enrolling learners. Please try again.',\n description: 'Error message displayed when enrolling learners fails',\n },\n unenrollLearnerError: {\n id: 'instruct.enrollments.modals.unenrollLearnerError',\n defaultMessage: 'An error occurred while unenrolling learner. Please try again.',\n description: 'Error message displayed when unenrolling learner fails',\n },\n enrollLearnerNotFoundError: {\n id: 'instruct.enrollments.modals.enrollLearnerNotFoundError',\n defaultMessage: 'One or more learners were not found. Please check the email addresses or usernames and try again.',\n description: 'Error message displayed when enrolling learners fails due to learner not found',\n },\n addBetaTestersInstructions: {\n id: 'instruct.enrollments.modals.addBetaTesters.addBetaTestersInstructions',\n defaultMessage: 'Enter email addresses and/or usernames separated by new lines or commas. Note: Users must have an activated My Open edX account before they can be enrolled as beta testers.',\n description: 'Instructions for adding beta testers to the course',\n },\n failedEnrollLearners: {\n id: 'instruct.enrollments.modals.enrollLearners.failedEnrollLearners',\n defaultMessage: 'The following usernames and/or email addresses are invalid. All other learners have been enrolled.',\n description: 'Message displaying the learners that could not be enrolled',\n },\n unknownLearner: {\n id: 'instruct.enrollments.unknownLearner',\n defaultMessage: 'Unknown learner: {learner}',\n description: 'Displayed when a learner does not have a full name or username available',\n },\n removeBetaTesterError: {\n id: 'instruct.enrollments.modals.removeBetaTesters.removeBetaTesterError',\n defaultMessage: 'Error removing user as beta tester.',\n description: 'Error message displayed when removing beta testers fails',\n },\n failedBetaTesters: {\n id: 'instruct.enrollments.modals.addBetaTesters.failedBetaTesters',\n defaultMessage: 'The following usernames and/or email addresses are invalid. All other beta testers have been added.',\n description: 'Message displaying the learners that could not be added as beta testers',\n },\n inactiveUsers: {\n id: 'instruct.enrollments.modals.addBetaTesters.inactiveUsers',\n defaultMessage: 'The following users are inactive. They have been added as beta testers, but may not have access to the course until their accounts are active.',\n description: 'Message displaying the learners that are inactive when adding beta testers',\n },\n inactiveLearner: {\n id: 'instruct.enrollments.inactiveLearner',\n defaultMessage: 'Inactive learner: {learner}',\n description: 'Displayed when a learner is inactive',\n },\n addBetaTesterError: {\n id: 'instruct.enrollments.modals.addBetaTesters.addBetaTesterError',\n defaultMessage: 'Error adding users as beta testers.',\n description: 'Error message displayed when adding beta testers fails',\n },\n removeBetaTesterTitle: {\n id: 'instruct.enrollments.modals.removeBetaTester',\n defaultMessage: 'Revoke access?',\n description: 'Title for remove beta tester modal',\n },\n removeBetaTesterDescription: {\n id: 'instruct.enrollments.modals.removeBetaTesterDescription',\n defaultMessage: 'Revoke Beta Tester access?',\n description: 'Description for remove beta tester modal',\n },\n revoke: {\n id: 'instruct.enrollments.revoke',\n defaultMessage: 'Revoke',\n description: 'Button label for revoking access',\n }\n});\n\nexport default messages;\n"]}
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/enrollments/messages.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n enrollmentsPageTitle: {\n id: 'instruct.enrollments.page.title',\n defaultMessage: 'Enrollment Management',\n description: 'Title for the enrollments page',\n },\n addBetaTesters: {\n id: 'instruct.enrollments.addBetaTesters',\n defaultMessage: 'Add Beta Testers',\n description: 'Button label for adding beta testers',\n },\n enrollLearners: {\n id: 'instruct.enrollments.enrollLearners',\n defaultMessage: 'Enroll Learners',\n description: 'Button label and modal title for enrolling learners',\n },\n checkEnrollmentStatus: {\n id: 'instruct.enrollments.checkEnrollmentStatus',\n defaultMessage: 'Check Enrollment Status',\n description: 'Check enrollment status modal title and alt for icon button',\n },\n username: {\n id: 'instruct.enrollments.username',\n defaultMessage: 'Username',\n description: 'Column header for username in enrollments list',\n },\n fullName: {\n id: 'instruct.enrollments.fullName',\n defaultMessage: 'Name',\n description: 'Column header for full name in enrollments list',\n },\n email: {\n id: 'instruct.enrollments.email',\n defaultMessage: 'Email',\n description: 'Column header for email in enrollments list',\n },\n track: {\n id: 'instruct.enrollments.track',\n defaultMessage: 'Track',\n description: 'Column header for track in enrollments list',\n },\n betaTester: {\n id: 'instruct.enrollments.betaTester',\n defaultMessage: 'Beta Tester',\n description: 'Column header for beta tester status in enrollments list',\n },\n actions: {\n id: 'instruct.enrollments.actions',\n defaultMessage: 'Actions',\n description: 'Column header for actions in enrollments list',\n },\n unenrollButton: {\n id: 'instruct.enrollments.unenrollButton',\n defaultMessage: 'Unenroll',\n description: 'Button label for unenrolling a learner',\n },\n trueLabel: {\n id: 'instruct.enrollments.trueLabel',\n defaultMessage: 'True',\n description: 'Label for true boolean value',\n },\n addLearnerInstructions: {\n id: 'instruct.enrollments.modals.checkEnrollmentStatus.addLearnerInstructions',\n defaultMessage: 'Enter email addresses and/or usernames separated by new lines or commas. You will not get notification for emails that bounce, so please double-check spelling.',\n description: 'Instructions for enrolling learners to the course',\n },\n enrollmentStatusInstructions: {\n id: 'instruct.enrollments.modals.checkEnrollmentStatus.enrollmentStatusInstructions',\n defaultMessage: 'Enter email address or username. An incorrect or misspelled email address may result in an inaccurate status, please double-check spelling.',\n description: 'Instructions for checking enrollment status of a learner in the course',\n },\n enrollmentStatusPlaceholder: {\n id: 'instruct.enrollments.modals.checkEnrollmentStatus.enrollmentStatusPlaceholder',\n defaultMessage: 'Learner email address or username',\n description: 'Placeholder text for enrolling learners textarea',\n },\n closeButton: {\n id: 'instruct.enrollments.modals.closeButton',\n defaultMessage: 'Close',\n description: 'Label for close button in modals',\n },\n searchPlaceholder: {\n id: 'instruct.enrollments.searchPlaceholder',\n defaultMessage: 'Search enrollments',\n description: 'Placeholder for the search input in enrollments list',\n },\n noEnrollments: {\n id: 'instruct.enrollments.noEnrollments',\n defaultMessage: 'No enrollments found',\n description: 'Message displayed when there are no enrollments to show',\n },\n changeBetaTesterStatus: {\n id: 'instruct.enrollments.changeBetaTesterStatus',\n defaultMessage: 'Change Beta Tester Status',\n description: 'Alt text for change beta tester status icon button',\n },\n grantBetaTester: {\n id: 'instruct.enrollments.grantBetaTester',\n defaultMessage: 'Grant Beta Tester Role',\n description: 'Menu option to grant beta tester status',\n },\n revokeBetaTester: {\n id: 'instruct.enrollments.revokeBetaTester',\n defaultMessage: 'Remove Beta Tester Role',\n description: 'Menu option to revoke beta tester status',\n },\n allEnrollees: {\n id: 'instruct.enrollments.allEnrollees',\n defaultMessage: 'All Enrollees',\n description: 'Option for showing all enrollees in beta tester filter',\n },\n betaTesters: {\n id: 'instruct.enrollments.betaTesters',\n defaultMessage: 'Beta Testers',\n description: 'Option for showing only beta testers in beta tester filter',\n },\n nonBetaTesters: {\n id: 'instruct.enrollments.nonBetaTesters',\n defaultMessage: 'Non-Beta Testers',\n description: 'Option for showing only non-beta testers in beta tester filter',\n },\n statusResponseMessage: {\n id: 'instruct.enrollments.modals.checkEnrollmentStatus.statusResponseMessage',\n defaultMessage: 'Enrollment status for {learnerIdentifier}: {status}',\n description: 'Message displaying the enrollment status for a learner',\n },\n userIdentifierPlaceholder: {\n id: 'instruct.enrollments.modals.enrollLearners.userIdentifierPlaceholder',\n defaultMessage: 'Email addresses / Usernames',\n description: 'Placeholder text for enrolling learners textarea',\n },\n enrollLearnerInstructions: {\n id: 'instruct.enrollments.modals.enrollLearners.enrollLearnerInstructions',\n defaultMessage: 'Enter email addresses and/or usernames separated by new lines or commas. You will not get notification for emails that bounce, so please double-check spelling.',\n description: 'Instructions for enrolling learners to the course',\n },\n unenrollLearners: {\n id: 'instruct.enrollments.modals.unenrollLearners',\n defaultMessage: 'Unenroll Learners',\n description: 'Title for unenroll learners modal',\n },\n unenrollLearnersConfirmation: {\n id: 'instruct.enrollments.modals.unenrollLearnersConfirmation',\n defaultMessage: 'Unenroll {name} from course?',\n description: 'Confirmation message for unenrolling learners',\n },\n unenrollLearnerTitle: {\n id: 'instruct.enrollments.modals.unenrollLearnerTitle',\n defaultMessage: 'Unenroll Learner?',\n description: 'Title for unenroll learner modal',\n },\n saveButton: {\n id: 'instruct.enrollments.modals.saveButton',\n defaultMessage: 'Save',\n description: 'Label for save button in modals',\n },\n cancelButton: {\n id: 'instruct.enrollments.modals.cancelButton',\n defaultMessage: 'Cancel',\n description: 'Label for cancel button in modals',\n },\n autoEnrollCheckbox: {\n id: 'instruct.enrollments.modals.autoEnrollCheckbox',\n defaultMessage: 'Auto Enroll',\n description: 'Label for auto enroll checkbox in enroll learners modal',\n },\n notifyUsersCheckbox: {\n id: 'instruct.enrollments.modals.notifyUsersCheckbox',\n defaultMessage: 'Notify Users by Email',\n description: 'Label for notify users by email checkbox in enroll learners modal',\n },\n enrollLearnerError: {\n id: 'instruct.enrollments.modals.enrollLearnerError',\n defaultMessage: 'An error occurred while enrolling learners. Please try again.',\n description: 'Error message displayed when enrolling learners fails',\n },\n unenrollLearnerError: {\n id: 'instruct.enrollments.modals.unenrollLearnerError',\n defaultMessage: 'An error occurred while unenrolling learner. Please try again.',\n description: 'Error message displayed when unenrolling learner fails',\n },\n enrollLearnerNotFoundError: {\n id: 'instruct.enrollments.modals.enrollLearnerNotFoundError',\n defaultMessage: 'One or more learners were not found. Please check the email addresses or usernames and try again.',\n description: 'Error message displayed when enrolling learners fails due to learner not found',\n },\n addBetaTestersInstructions: {\n id: 'instruct.enrollments.modals.addBetaTesters.addBetaTestersInstructions',\n defaultMessage: 'Enter email addresses and/or usernames separated by new lines or commas. Note: Users must have an activated My Open edX account before they can be enrolled as beta testers.',\n description: 'Instructions for adding beta testers to the course',\n },\n failedEnrollLearners: {\n id: 'instruct.enrollments.modals.enrollLearners.failedEnrollLearners',\n defaultMessage: 'The following usernames and/or email addresses are invalid. All other learners have been enrolled.',\n description: 'Message displaying the learners that could not be enrolled',\n },\n unknownLearner: {\n id: 'instruct.enrollments.unknownLearner',\n defaultMessage: 'Unknown learner: {learner}',\n description: 'Displayed when a learner does not have a full name or username available',\n },\n removeBetaTesterError: {\n id: 'instruct.enrollments.modals.removeBetaTesters.removeBetaTesterError',\n defaultMessage: 'Error removing user as beta tester.',\n description: 'Error message displayed when removing beta testers fails',\n },\n failedBetaTesters: {\n id: 'instruct.enrollments.modals.addBetaTesters.failedBetaTesters',\n defaultMessage: 'The following usernames and/or email addresses are invalid. All other beta testers have been added.',\n description: 'Message displaying the learners that could not be added as beta testers',\n },\n inactiveUsers: {\n id: 'instruct.enrollments.modals.addBetaTesters.inactiveUsers',\n defaultMessage: 'The following users are inactive. They have been added as beta testers, but may not have access to the course until their accounts are active.',\n description: 'Message displaying the learners that are inactive when adding beta testers',\n },\n inactiveLearner: {\n id: 'instruct.enrollments.inactiveLearner',\n defaultMessage: 'Inactive learner: {learner}',\n description: 'Displayed when a learner is inactive',\n },\n addBetaTesterError: {\n id: 'instruct.enrollments.modals.addBetaTesters.addBetaTesterError',\n defaultMessage: 'Error adding users as beta testers.',\n description: 'Error message displayed when adding beta testers fails',\n },\n removeBetaTesterTitle: {\n id: 'instruct.enrollments.modals.removeBetaTester',\n defaultMessage: 'Revoke access?',\n description: 'Title for remove beta tester modal',\n },\n removeBetaTesterDescription: {\n id: 'instruct.enrollments.modals.removeBetaTesterDescription',\n defaultMessage: 'Revoke Beta Tester access?',\n description: 'Description for remove beta tester modal',\n },\n revoke: {\n id: 'instruct.enrollments.revoke',\n defaultMessage: 'Revoke',\n description: 'Button label for revoking access',\n }\n});\n\nexport default messages;\n"]}
|