@openedx/frontend-app-instructor-dashboard 1.0.0-alpha.28 → 1.0.0-alpha.29
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.
|
@@ -5,7 +5,7 @@ import { useIntl } from '@openedx/frontend-base';
|
|
|
5
5
|
import FilterDropdown from '../../certificates/components/FilterDropdown';
|
|
6
6
|
import { CertificateFilter } from '../../certificates/types';
|
|
7
7
|
import messages from '../../certificates/messages';
|
|
8
|
-
import '
|
|
8
|
+
import '../CertificatesPage.scss';
|
|
9
9
|
const getFilterLabel = (filter, intl) => {
|
|
10
10
|
const filterMessages = {
|
|
11
11
|
[CertificateFilter.ALL_LEARNERS]: messages.filterAllLearners,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CertificatesToolbar.js","sourceRoot":"","sources":["../../../src/certificates/components/CertificatesToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,cAAc,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"CertificatesToolbar.js","sourceRoot":"","sources":["../../../src/certificates/components/CertificatesToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,cAAc,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,0BAA0B,CAAC;AAUlC,MAAM,cAAc,GAAG,CAAC,MAAyB,EAAE,IAAS,EAAE,EAAE;IAC9D,MAAM,cAAc,GAAmC;QACrD,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,iBAAiB;QAC5D,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,cAAc;QACrD,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,iBAAiB;QAC5D,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,kBAAkB;QAC9D,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,qBAAqB;QACrE,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,gBAAgB;QAC1D,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,uBAAuB;QACxE,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,iBAAiB;KAC5D,CAAC;IACF,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,EAC3B,MAAM,EACN,cAAc,EACd,MAAM,EACN,cAAc,EACd,wBAAwB,GACC,EAAE,EAAE;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAG,MAAM,KAAK,iBAAiB,CAAC,YAAY;QAC1D,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC3D,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,sCAAsC,EAAE;YAClE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC;SACrC,CAAC,CAAC;IAEP,OAAO,CACL,eAAK,SAAS,EAAC,kFAAkF,aAC/F,eAAK,SAAS,EAAC,4EAA4E,aACzF,KAAC,WAAW,IACV,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAC3D,KAAK,EAAE,MAAM,EACb,SAAS,EAAC,yCAAyC,GACnD,EACF,KAAC,cAAc,IACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAC,eAAe,GACzB,IACE,EACN,KAAC,MAAM,IACL,OAAO,EAAC,iBAAiB,EACzB,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,wBAAwB,EACjC,SAAS,EAAC,2BAA2B,YAEpC,UAAU,GACJ,IACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import { Button, SearchField } from '@openedx/paragon';\nimport { SpinnerIcon } from '@openedx/paragon/icons';\nimport { useIntl } from '@openedx/frontend-base';\nimport FilterDropdown from '@src/certificates/components/FilterDropdown';\nimport { CertificateFilter } from '@src/certificates/types';\nimport messages from '@src/certificates/messages';\nimport '../CertificatesPage.scss';\n\ninterface CertificatesToolbarProps {\n search: string,\n onSearchChange: (value: string) => void,\n filter: CertificateFilter,\n onFilterChange: (value: CertificateFilter) => void,\n onRegenerateCertificates: () => void,\n}\n\nconst getFilterLabel = (filter: CertificateFilter, intl: any) => {\n const filterMessages: Record<CertificateFilter, any> = {\n [CertificateFilter.ALL_LEARNERS]: messages.filterAllLearners,\n [CertificateFilter.RECEIVED]: messages.filterReceived,\n [CertificateFilter.NOT_RECEIVED]: messages.filterNotReceived,\n [CertificateFilter.AUDIT_PASSING]: messages.filterAuditPassing,\n [CertificateFilter.AUDIT_NOT_PASSING]: messages.filterAuditNotPassing,\n [CertificateFilter.ERROR_STATE]: messages.filterErrorState,\n [CertificateFilter.GRANTED_EXCEPTIONS]: messages.filterGrantedExceptions,\n [CertificateFilter.INVALIDATED]: messages.filterInvalidated,\n };\n return intl.formatMessage(filterMessages[filter]);\n};\n\nconst CertificatesToolbar = ({\n search,\n onSearchChange,\n filter,\n onFilterChange,\n onRegenerateCertificates,\n}: CertificatesToolbarProps) => {\n const intl = useIntl();\n\n const buttonText = filter === CertificateFilter.ALL_LEARNERS\n ? intl.formatMessage(messages.regenerateCertificatesButton)\n : intl.formatMessage(messages.regenerateCertificatesButtonWithFilter, {\n filter: getFilterLabel(filter, intl),\n });\n\n return (\n <div className=\"d-flex flex-wrap align-items-center justify-content-between mb-4 mx-4 mt-3 gap-3\">\n <div className=\"d-flex align-items-center gap-3 flex-shrink-1 certificates-toolbar-wrapper\">\n <SearchField\n onSubmit={onSearchChange}\n onChange={onSearchChange}\n placeholder={intl.formatMessage(messages.searchPlaceholder)}\n value={search}\n className=\"flex-shrink-1 certificates-search-field\"\n />\n <FilterDropdown\n value={filter}\n onChange={onFilterChange}\n className=\"flex-shrink-0\"\n />\n </div>\n <Button\n variant=\"outline-primary\"\n iconBefore={SpinnerIcon}\n onClick={onRegenerateCertificates}\n className=\"text-nowrap flex-shrink-0\"\n >\n {buttonText}\n </Button>\n </div>\n );\n};\n\nexport default CertificatesToolbar;\n"]}
|