From 38173633006b4a79de06601c85c4d0c347fb85aa Mon Sep 17 00:00:00 2001 From: Simon Mayer <simon.mayer@onb.ac.at> Date: Tue, 13 Sep 2022 14:45:26 +0200 Subject: [PATCH] Add URL prefix via JS for all JS GET/POST requests --- app/javascript/packs/application.js | 9 +++++++ app/javascript/packs/utils/dataset_api.js | 30 ++++++++++++----------- app/javascript/packs/utils/search_api.js | 10 +++++--- 3 files changed, 31 insertions(+), 18 deletions(-) diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js index b7e5812..bcb3bf1 100644 --- a/app/javascript/packs/application.js +++ b/app/javascript/packs/application.js @@ -29,3 +29,12 @@ window.Panzoom = require('@panzoom/panzoom') import "./application.scss" const images = require.context('../images', true) import Chart from 'chart.js/auto' + +export function addPrefixURL() { + var prefix = document.querySelector('#newspaper-platform'); + if (prefix != null) { + return prefix.dataset.prefix; + } else { + return ""; + } +} diff --git a/app/javascript/packs/utils/dataset_api.js b/app/javascript/packs/utils/dataset_api.js index ef24e57..49c848a 100644 --- a/app/javascript/packs/utils/dataset_api.js +++ b/app/javascript/packs/utils/dataset_api.js @@ -1,8 +1,10 @@ +import {addPrefixURL} from "../application.js" + export class DatasetAPI { static create_dataset(title, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/dataset/create", + url: addPrefixURL() + "/dataset/create", data: { title: title }, headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') @@ -18,7 +20,7 @@ export class DatasetAPI { static rename_dataset(id, title, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/dataset/rename", + url: addPrefixURL() + "/dataset/rename", data: { id: id, title: title }, headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') @@ -34,7 +36,7 @@ export class DatasetAPI { static import_dataset(id, title, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/dataset/import", + url: addPrefixURL() + "/dataset/import", data: { original_dataset_id: id, title: title }, headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') @@ -51,7 +53,7 @@ export class DatasetAPI { static delete_dataset(datasetId, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/dataset/delete", + url: addPrefixURL() + "/dataset/delete", data: { dataset_id: datasetId }, headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') @@ -68,7 +70,7 @@ export class DatasetAPI { static update_datasets_list(callback) { $.ajax({ type: "GET", - url: "/en/tool/newspapers-platform/datasets/update", + url: addPrefixURL() + "/datasets/update", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, @@ -85,7 +87,7 @@ export class DatasetAPI { static setCurrentWorkingDataset(datasetId, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/datasets/working_dataset", + url: addPrefixURL() + "/datasets/working_dataset", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, @@ -101,7 +103,7 @@ export class DatasetAPI { static addSelectedDocumentsToWorkingDataset(documentsIds, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/datasets/add_selected_documents", + url: addPrefixURL() + "/datasets/add_selected_documents", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, @@ -117,7 +119,7 @@ export class DatasetAPI { static addSelectedCompoundToWorkingDataset(compoundId, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/datasets/add_compound", + url: addPrefixURL() + "/datasets/add_compound", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, @@ -133,7 +135,7 @@ export class DatasetAPI { static removeSelectedDocumentsToWorkingDataset(documentsIds, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/datasets/remove_selected_documents", + url: addPrefixURL() + "/datasets/remove_selected_documents", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, @@ -149,7 +151,7 @@ export class DatasetAPI { static addAllDocumentsToWorkingDataset(searchParams, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/datasets/add_all_documents", + url: addPrefixURL() + "/datasets/add_all_documents", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, @@ -165,7 +167,7 @@ export class DatasetAPI { static exportDataset(datasetId, exportType, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/datasets/export_dataset", + url: addPrefixURL() + "/datasets/export_dataset", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, @@ -182,7 +184,7 @@ export class DatasetAPI { static paginateDataset(datasetId, page, per_page, sort, sort_order, type, callback) { $.ajax({ type: "POST", - url: `/en/tool/newspapers-platform/dataset/${datasetId}/paginate`, + url: addPrefixURL() + `/dataset/${datasetId}/paginate`, headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, @@ -199,7 +201,7 @@ export class DatasetAPI { static getDatasets(callback) { $.ajax({ type: "GET", - url: "/en/tool/newspapers-platform/datasets/list", + url: addPrefixURL() + "/datasets/list", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, @@ -213,7 +215,7 @@ export class DatasetAPI { static toggleSharingStatus(dataset_id, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/dataset/toggle_sharing_status", + url: addPrefixURL() + "/dataset/toggle_sharing_status", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, diff --git a/app/javascript/packs/utils/search_api.js b/app/javascript/packs/utils/search_api.js index 8c56006..a0a83e0 100644 --- a/app/javascript/packs/utils/search_api.js +++ b/app/javascript/packs/utils/search_api.js @@ -1,9 +1,11 @@ +import {addPrefixURL} from "../application.js" + export class SearchAPI { static load_dataset_named_entities(dataset_id, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/dataset_named_entities", + url: addPrefixURL() + "/dataset_named_entities", data: { dataset_id: dataset_id }, headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') @@ -20,7 +22,7 @@ export class SearchAPI { static load_named_entities(docs_ids, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/named_entities", + url: addPrefixURL() + "/named_entities", data: { docs_ids: docs_ids }, headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') @@ -37,7 +39,7 @@ export class SearchAPI { static facetPagination(fieldName, nbPages, currentPage, callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/catalog/facet_pagination", + url: addPrefixURL() + "/catalog/facet_pagination", data: { field_name: fieldName, nb_pages: nbPages, current_page: currentPage }, headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') @@ -54,7 +56,7 @@ export class SearchAPI { static wideDatesHistogram(callback) { $.ajax({ type: "POST", - url: "/en/tool/newspapers-platform/catalog/wide_dates_histogram", + url: addPrefixURL() + "/catalog/wide_dates_histogram", data: {}, headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') -- GitLab