UNPKG

linked-data-reactor

Version:

Linked Data Reactor provides a framework to view, browse and edit Linked Data in a flexible way.

166 lines (164 loc) 6.14 kB
import loadDatasets from '../actions/loadDatasets'; import loadDataset from '../actions/loadDataset'; import loadResource from '../actions/loadResource'; import loadUsersList from '../actions/loadUsersList'; import loadFacets from '../actions/loadFacets'; import loadEnvStates from '../actions/loadEnvStates'; import getLoadEnvState from '../actions/getLoadEnvState'; import {appFullTitle, appShortTitle, authDatasetURI, baseResourceDomain} from '../configs/general'; export default { home: { path: '/', method: 'get', handler: require('../components/Home'), label: appShortTitle, action: (context, payload, done) => { context.dispatch('UPDATE_PAGE_TITLE', { pageTitle: appFullTitle + ' | Home'}); done(); } }, about: { path: '/about', method: 'get', handler: require('../components/About'), label: 'About', action: (context, payload, done) => { context.dispatch('UPDATE_PAGE_TITLE', { pageTitle: appFullTitle + ' | About'}); done(); } }, importCSV: { path: '/importCSV', method: 'get', handler: require('../components/import/CSVImport'), label: 'CSVImport', action: (context, payload, done) => { context.dispatch('UPDATE_PAGE_TITLE', { pageTitle: appFullTitle + ' | Import CSV files'}); done(); } }, newDataset: { path: '/newDataset', method: 'get', handler: require('../components/NewDataset'), label: 'NewDataset', action: (context, payload, done) => { context.dispatch('UPDATE_PAGE_TITLE', { pageTitle: appFullTitle + ' | Add a new dataset'}); done(); } }, annotateDataset: { path: '/annotateDataset', method: 'get', handler: require('../components/DatasetAnnotation'), label: 'DatasetAnnotation', action: (context, payload, done) => { context.executeAction(loadDatasets, {pageTitle: 'Annotate a dataset'}, done); } }, wysiwyq: { path: '/wysiwyq', method: 'get', handler: require('../components/WYSIWYQ'), label: 'ImportQuery', action: (context, payload, done) => { context.executeAction(loadEnvStates, {pageTitle: 'Import a Query | WYSIWYQ mode'}, done); } }, facets: { path: '/browse/:id?/:stateURI?', method: 'get', handler: require('../components/dataset/FacetedBrowser'), label: 'Faceted Browser', action: (context, payload, done) => { let datasetURI, page, stateURI; datasetURI = payload.params.id; stateURI = payload.params.stateURI; if (!datasetURI) { datasetURI = 0; } if (!stateURI) { //only init if no state is given stateURI = 0; context.executeAction(loadFacets, {mode: 'init', id: decodeURIComponent(datasetURI), stateURI: stateURI, selection: 0, page: 1}, done); }else{ //get && load the given state context.executeAction(getLoadEnvState, {mode: 'init', id: decodeURIComponent(datasetURI), stateURI: stateURI, selection: 0, page: 1}, done); } } }, datasets: { //if no id is provided -> will start by defaultDatasetURI in reactor.config path: '/datasets', method: 'get', handler: require('../components/Datasets'), label: 'Datasets', action: (context, payload, done) => { context.executeAction(loadDatasets, {}, done); } }, dataset: { //if no id is provided -> will start by defaultDatasetURI in reactor.config path: '/dataset/:page?/:id?', method: 'get', handler: require('../components/reactors/DatasetReactor'), label: 'Dataset', action: (context, payload, done) => { let datasetURI, page; datasetURI = decodeURIComponent(payload.params.id); if (!datasetURI) { datasetURI = 0; } page = payload.params.page; if (!page) { page = 1; } //do not allow to browse user graph if(datasetURI===authDatasetURI[0]){ datasetURI = 0 } context.executeAction(loadDataset, { id: datasetURI, page: page}, done); } }, resource: { path: '/dataset/:did/:resource/:rid/:pcategory?/:propertyPath?', method: 'get', handler: require('../components/reactors/ResourceReactor'), label: 'Resource', action: (context, payload, done) => { //predicate Category let category = payload.params.pcategory; if(!category){ category = 0; } let propertyPath = payload.params.propertyPath; if(!propertyPath){ propertyPath = []; } let datasetURI = payload.params.did; if (!datasetURI) { datasetURI = 0; } context.executeAction(loadResource, { dataset: decodeURIComponent(datasetURI), resource: decodeURIComponent(payload.params.rid), category: category, propertyPath: propertyPath}, done); } }, user: { path: '/user/:id', method: 'get', handler: require('../components/reactors/ResourceReactor'), label: 'User', action: (context, payload, done) => { let category = 0; context.executeAction(loadResource, { dataset: authDatasetURI[0], resource: baseResourceDomain + '/user/' + decodeURIComponent(payload.params.id), category: category}, done); } }, users: { path: '/users', method: 'get', handler: require('../components/admin/UsersList'), label: 'Users List', action: (context, payload, done) => { context.executeAction(loadUsersList, {}, done); } } };