cluedin-widget
Version:
This is the project for creating and managing widgets in CluedIn.
58 lines (49 loc) • 1.93 kB
JavaScript
module.exports = function( protocol, mainDomain, clientId ) {
var goToApp = function( url ) {
return protocol + clientId + mainDomain + url;
};
return {
redirectToUrl: function( url ) {
window.location = url;
},
goToSeeAdministratorLinkPage: function() {
return goToApp( '#/me/organization/administrators' );
},
goToConnectedProvider: function() {
return goToApp( '#/administration/integration/current' );
},
gotToAppProvider: function( params ) {
return goToApp( '#/administration/integration/integration/new/' + params[ 0 ] + '/' + params[ 1 ] );
},
goToSearch: function( searchTerm ) {
return goToApp( '#/search/' + searchTerm );
},
goToEntity: function( entity ) {
if ( entity.data && entity.data.entityType === '/Organization' ) {
return goToApp( '#/organization/' + entity.id );
}
if ( (entity.data && entity.data.entityType === '/Person') || ( entity.data && entity.data.entityType === '/Infrastructure/User' ) ) {
return goToApp( '#/person/' + entity.id );
}
return goToApp( '#/entity/' + entity.id + '/details' );
},
goToApp: goToApp,
goToInviteUser: function( param ) {
let url = '#/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: function( type ) {
let url = '#/administration/integration/all';
if ( type ) {
url += '?type=' + type;
}
return goToApp( url );
}
};
};