@zohodesk/platform-middleware
Version:
Generalized Contract for the events from Marketplace App, In-App widgets, CRM-Plus and EFC
48 lines (40 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.renderWidgets = exports.fetchWidgetsSuccess = exports.addWidgetsData = undefined;
var _constants = require('../constants');
//TODO: runtimeWidgets - action creator - instance direct on uniqueID
//TODO: render widgets - action creator
var addWidgetsData = exports.addWidgetsData = function addWidgetsData() {
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var isInitialRequest = args.isInitialRequest,
widgets = args.widgets,
uniqueKeySuffix = args.uniqueKeySuffix;
return {
type: _constants.constants.ADD_WIDGETS_DATA,
data: args
};
};
var fetchWidgetsSuccess = exports.fetchWidgetsSuccess = function fetchWidgetsSuccess(data) {
return {
type: 'FETCH_MY_WIDGETS_SUCCESS',
data: {
widgets: normalizeWidgets(data.widgets, 'id'),
uID: data.uID,
location: data.location
}
};
};
var renderWidgets = exports.renderWidgets = function renderWidgets(widgets) {
return {
type: _constants.constants.RENDER_WIDGETS,
data: widgets
};
};
function normalizeWidgets(widgets, param) {
return widgets.reduce(function (obj, widget) {
obj[widget[param]] = widget;
return obj;
}, {});
}