feat: Taxonomy export menu [FC-0036] (#645)
* feat: System-defined tooltip added * feat: Taxonomy card menu added. Export menu item added * feat: Modal for export taxonomy * feat: Connect with export API * test: Tests for API and selectors * feat: Use windows.location.href to call the export endpoint * test: ExportModal.test added * style: Delete unnecessary code * docs: README updated with taxonomy feature * style: TaxonomyCard updated to a better code style * style: injectIntl replaced by useIntl on taxonomy pages and components * refactor: Move and rename taxonomy UI components to match 0002 ADR * refactor: Move api to data to match with 0002 ADR * test: Refactor ExportModal tests * chore: Fix validations * chore: Lint * refactor: Moving hooks to apiHooks * style: Nit on return null --------- Co-authored-by: Rômulo Penido <romulo@dash.dev.br> Co-authored-by: Christofer Chavez <christofer@example.com>
This commit is contained in:
29
src/taxonomy/data/api.js
Normal file
29
src/taxonomy/data/api.js
Normal file
@@ -0,0 +1,29 @@
|
||||
// @ts-check
|
||||
import { camelCaseObject, getConfig } from '@edx/frontend-platform';
|
||||
import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';
|
||||
|
||||
const getApiBaseUrl = () => getConfig().STUDIO_BASE_URL;
|
||||
export const getTaxonomyListApiUrl = () => new URL('api/content_tagging/v1/taxonomies/?enabled=true', getApiBaseUrl()).href;
|
||||
export const getExportTaxonomyApiUrl = (pk, format) => new URL(
|
||||
`api/content_tagging/v1/taxonomies/${pk}/export/?output_format=${format}&download=1`,
|
||||
getApiBaseUrl(),
|
||||
).href;
|
||||
|
||||
/**
|
||||
* Get list of taxonomies.
|
||||
* @returns {Promise<Object>}
|
||||
*/
|
||||
export async function getTaxonomyListData() {
|
||||
const { data } = await getAuthenticatedHttpClient().get(getTaxonomyListApiUrl());
|
||||
return camelCaseObject(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Downloads the file of the exported taxonomy
|
||||
* @param {number} pk
|
||||
* @param {string} format
|
||||
* @returns {void}
|
||||
*/
|
||||
export function getTaxonomyExportFile(pk, format) {
|
||||
window.location.href = getExportTaxonomyApiUrl(pk, format);
|
||||
}
|
||||
Reference in New Issue
Block a user