cluedin-widget
Version:
This is the project for creating and managing widgets in CluedIn.
69 lines (55 loc) • 1.9 kB
JavaScript
/*
{
'/Organization': {
version: '1', //simple increment to remove state for specific entity
removedWidgets: [ 'OnBoarding','LastDocument' ],
widgetStates: [
{ name: 'OnBoarding', parameters: { show: false } },
{ name: 'PeopleOnThisPlatform', isSuggestedSearch: true, parameters: { filter: 'someValues' } }
]
}
}
*/
import localStorage from 'store';
import config from '../config/index'
const globalKey = 'cluedIn_' + config.clientId;
module.exports = {
getExcludedWidgets( entityType ) {
let state = localStorage.get( globalKey ) || {};
var stateForEntityType = state[ entityType ] || void 0;
if ( !stateForEntityType ) {
return []
}
return ( stateForEntityType.removedWidgets || []);
},
getWidget( entityType ) {
let state = localStorage.get( globalKey ) || {};
return state[ entityType ] || void 0;
},
resetWidget( entityType ) {
let state = localStorage.get( globalKey ) || {};
if ( state[ entityType ] ) {
state[ entityType ].removedWidgets = []
}
localStorage.set( globalKey, state );
},
removeWidget( entityType, widgetName ) {
let state = localStorage.get( globalKey ) || {};
var stateForEntityType = state[ entityType ];
if ( stateForEntityType ) {
if ( stateForEntityType.removedWidgets && stateForEntityType.removedWidgets.length > 0 ) {
stateForEntityType.removedWidgets.push( widgetName );
} else {
stateForEntityType.removedWidgets = [ widgetName ];
}
state[ entityType ] = stateForEntityType;
}
else {
state[ entityType ] = {
removedWidgets: [ widgetName ],
widgetStates: []
}
}
localStorage.set( globalKey, state );
}
};