UNPKG

cluedin-widget

Version:

This project contains all the pages needed for browsing entities and searching them. The aim is to replace the CluedIn.Webapp project with this one when all the pages ( including the Admin page ) will be ported to REACT.

111 lines (96 loc) 2.98 kB
import wms from '../../wms'; module.exports = function (protocol, mainDomain, clientId) { var goToApp = function (url) { return protocol + clientId + mainDomain + url; }; var getEntityLink = (id, entityType, isStandAlone) => { let defaultEntity = `entity/${id}`; let entityConfig = wms.getWidgetConfiguration(entityType); if (entityConfig && entityConfig.route) { let entityUrl = entityConfig.route.replace(':id', id); if (isStandAlone) { return goToApp(entityUrl); } else { return `/${entityUrl}`; } } return isStandAlone ? goToApp(defaultEntity) : `/${defaultEntity}`; }; return { getFullAggregationLink(entityId, type) { return goToApp(`search/*?aggregation=${entityId}&type=${type}`); }, getPartialAggregationLink(entityId, type) { return `/search/*?aggregation=${entityId}&type=${type}`; }, redirectToUrl(url) { window.location = url; }, goToSignOut() { return goToApp('logout'); }, gotToAdminUserRoot() { return goToApp('admin#/me/settings/security'); }, gotToAdminAccountRoot() { return goToApp('admin#/administration/integration/all'); }, goToSeeAdministratorLinkPage() { return goToApp('admin/#/me/organization/administrators'); }, goToConnectedProvider() { return goToApp('admin/#/administration/integration/current'); }, goToChrome(id) { return `${protocol}${id}${mainDomain}/chrome`; }, goToRoot(id) { return `${protocol}${id}${mainDomain}`; }, gotToAppProvider(params) { return goToApp('admin/#/administration/integration/integration/new/' + params[0] + '/' + params[1]); }, goToSignInViaLogout() { return goToApp('logout'); }, goToSearch(searchTerm) { return goToApp('search/' + searchTerm); }, goToEntityFromInsight(entityInsight) { let id = entityInsight.EntityId; let entityType = entityInsight.EntityType; return getEntityLink(id, entityType); }, goToEntityWithTypeAndId(params) { const entityType = params[0]; const id = params[1]; return getEntityLink(id, entityType, true); }, goToEntity(entity, isStandAlone) { let id = entity.id; let entityType = entity.data ? entity.data.entityType : ''; return getEntityLink(id, entityType, isStandAlone); }, goToApp, goToMainApp() { return protocol + 'app' + mainDomain; }, goToInviteUser(param) { let url = 'admin/#/administration/useradmin/domainusers?open=true'; if (param && param.email) { url += '&email=' + param.email; } if (param && param.name) { url += '&name=' + param.name; } return goToApp(url); }, goToAppProvider(type) { let url = 'admin/#/administration/integration/all'; if (type) { url += '?type=' + type; } return goToApp(url); }, }; };