@zohodesk/platform-middleware
Version:
Generalized Contract for the events from Marketplace App, In-App widgets, CRM-Plus and EFC
29 lines (25 loc) • 641 B
JavaScript
import { constants } from "../constants";
//TODO: runtimeWidgets - action creator - instance direct on uniqueID
//TODO: render widgets - action creator
export const fetchWidgetsSuccess = (data) => {
return {
type: 'FETCH_MY_WIDGETS_SUCCESS',
data: {
widgets: normalizeWidgets(data.widgets, 'id'),
uID: data.uID,
location: data.location
}
}
}
export const renderWidgets = (widgets) => {
return {
type: constants.RENDER_WIDGETS,
data: widgets
}
}
function normalizeWidgets(widgets, param) {
return widgets.reduce((obj, widget) => {
obj[widget[param]] = widget;
return obj;
}, {})
}