react-planner-viewer
Version:
react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode
49 lines (43 loc) • 5.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = mergePlugins;
function mergePlugins(plugins) {
var customActions = {};
var toolbarButtons = [];
var customContents = {};
var customReducer = [];
var actionsExtraArgument = {};
var onReady = [];
plugins.forEach(function (plugin) {
if (plugin.hasOwnProperty('actions')) Object.assign(customActions, plugin.actions);
if (plugin.hasOwnProperty('actionsExtraArgument')) Object.assign(actionsExtraArgument, plugin.actionsExtraArgument);
if (plugin.hasOwnProperty('toolbarButtons')) plugin.toolbarButtons.forEach(function (button) {
return toolbarButtons.push(button);
});
if (plugin.hasOwnProperty('contents')) Object.assign(customContents, plugin.contents);
if (plugin.hasOwnProperty('reducer')) customReducer.push(plugin.reducer);
if (plugin.hasOwnProperty('onReady')) onReady.push(plugin.onReady);
});
var onReadyFunc = function onReadyFunc(store) {
onReady.forEach(function (f) {
return f(store);
});
};
var customReducerFunc = function customReducerFunc(state, action) {
customReducer.forEach(function (f) {
return state = f(state, action);
});
return state;
};
return {
customActions: customActions,
toolbarButtons: toolbarButtons,
customContents: customContents,
customReducer: customReducerFunc,
actionsExtraArgument: actionsExtraArgument,
onReady: onReadyFunc
};
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9tZXJnZS1wbHVnaW5zLmpzIl0sIm5hbWVzIjpbIm1lcmdlUGx1Z2lucyIsInBsdWdpbnMiLCJjdXN0b21BY3Rpb25zIiwidG9vbGJhckJ1dHRvbnMiLCJjdXN0b21Db250ZW50cyIsImN1c3RvbVJlZHVjZXIiLCJhY3Rpb25zRXh0cmFBcmd1bWVudCIsIm9uUmVhZHkiLCJmb3JFYWNoIiwicGx1Z2luIiwiaGFzT3duUHJvcGVydHkiLCJPYmplY3QiLCJhc3NpZ24iLCJhY3Rpb25zIiwicHVzaCIsImJ1dHRvbiIsImNvbnRlbnRzIiwicmVkdWNlciIsIm9uUmVhZHlGdW5jIiwiZiIsInN0b3JlIiwiY3VzdG9tUmVkdWNlckZ1bmMiLCJzdGF0ZSIsImFjdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBQXdCQSxZO0FBQVQsU0FBU0EsWUFBVCxDQUFzQkMsT0FBdEIsRUFBK0I7O0FBRTVDLE1BQUlDLGdCQUFnQixFQUFwQjtBQUNBLE1BQUlDLGlCQUFpQixFQUFyQjtBQUNBLE1BQUlDLGlCQUFpQixFQUFyQjtBQUNBLE1BQUlDLGdCQUFnQixFQUFwQjtBQUNBLE1BQUlDLHVCQUF1QixFQUEzQjtBQUNBLE1BQUlDLFVBQVUsRUFBZDs7QUFFQU4sVUFBUU8sT0FBUixDQUFnQixrQkFBVTtBQUN4QixRQUFJQyxPQUFPQyxjQUFQLENBQXNCLFNBQXRCLENBQUosRUFBc0NDLE9BQU9DLE1BQVAsQ0FBY1YsYUFBZCxFQUE2Qk8sT0FBT0ksT0FBcEM7QUFDdEMsUUFBSUosT0FBT0MsY0FBUCxDQUFzQixzQkFBdEIsQ0FBSixFQUFtREMsT0FBT0MsTUFBUCxDQUFjTixvQkFBZCxFQUFvQ0csT0FBT0gsb0JBQTNDO0FBQ25ELFFBQUlHLE9BQU9DLGNBQVAsQ0FBc0IsZ0JBQXRCLENBQUosRUFBNkNELE9BQU9OLGNBQVAsQ0FBc0JLLE9BQXRCLENBQThCO0FBQUEsYUFBVUwsZUFBZVcsSUFBZixDQUFvQkMsTUFBcEIsQ0FBVjtBQUFBLEtBQTlCO0FBQzdDLFFBQUlOLE9BQU9DLGNBQVAsQ0FBc0IsVUFBdEIsQ0FBSixFQUF1Q0MsT0FBT0MsTUFBUCxDQUFjUixjQUFkLEVBQThCSyxPQUFPTyxRQUFyQztBQUN2QyxRQUFJUCxPQUFPQyxjQUFQLENBQXNCLFNBQXRCLENBQUosRUFBc0NMLGNBQWNTLElBQWQsQ0FBbUJMLE9BQU9RLE9BQTFCO0FBQ3RDLFFBQUlSLE9BQU9DLGNBQVAsQ0FBc0IsU0FBdEIsQ0FBSixFQUFzQ0gsUUFBUU8sSUFBUixDQUFhTCxPQUFPRixPQUFwQjtBQUN2QyxHQVBEOztBQVNBLE1BQUlXLGNBQWMsU0FBZEEsV0FBYyxRQUFTO0FBQ3pCWCxZQUFRQyxPQUFSLENBQWdCO0FBQUEsYUFBS1csRUFBRUMsS0FBRixDQUFMO0FBQUEsS0FBaEI7QUFDRCxHQUZEOztBQUlBLE1BQUlDLG9CQUFvQixTQUFwQkEsaUJBQW9CLENBQUNDLEtBQUQsRUFBUUMsTUFBUixFQUFtQjtBQUN6Q2xCLGtCQUFjRyxPQUFkLENBQXNCO0FBQUEsYUFBS2MsUUFBUUgsRUFBRUcsS0FBRixFQUFTQyxNQUFULENBQWI7QUFBQSxLQUF0QjtBQUNBLFdBQU9ELEtBQVA7QUFDRCxHQUhEOztBQUtBLFNBQU87QUFDTHBCLGdDQURLO0FBRUxDLGtDQUZLO0FBR0xDLGtDQUhLO0FBSUxDLG1CQUFlZ0IsaUJBSlY7QUFLTGYsOENBTEs7QUFNTEMsYUFBU1c7QUFOSixHQUFQO0FBUUQiLCJmaWxlIjoibWVyZ2UtcGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1lcmdlUGx1Z2lucyhwbHVnaW5zKSB7XG5cbiAgbGV0IGN1c3RvbUFjdGlvbnMgPSB7fTtcbiAgbGV0IHRvb2xiYXJCdXR0b25zID0gW107XG4gIGxldCBjdXN0b21Db250ZW50cyA9IHt9O1xuICBsZXQgY3VzdG9tUmVkdWNlciA9IFtdO1xuICBsZXQgYWN0aW9uc0V4dHJhQXJndW1lbnQgPSB7fTtcbiAgbGV0IG9uUmVhZHkgPSBbXTtcblxuICBwbHVnaW5zLmZvckVhY2gocGx1Z2luID0+IHtcbiAgICBpZiAocGx1Z2luLmhhc093blByb3BlcnR5KCdhY3Rpb25zJykpIE9iamVjdC5hc3NpZ24oY3VzdG9tQWN0aW9ucywgcGx1Z2luLmFjdGlvbnMpO1xuICAgIGlmIChwbHVnaW4uaGFzT3duUHJvcGVydHkoJ2FjdGlvbnNFeHRyYUFyZ3VtZW50JykpIE9iamVjdC5hc3NpZ24oYWN0aW9uc0V4dHJhQXJndW1lbnQsIHBsdWdpbi5hY3Rpb25zRXh0cmFBcmd1bWVudCk7XG4gICAgaWYgKHBsdWdpbi5oYXNPd25Qcm9wZXJ0eSgndG9vbGJhckJ1dHRvbnMnKSkgcGx1Z2luLnRvb2xiYXJCdXR0b25zLmZvckVhY2goYnV0dG9uID0+IHRvb2xiYXJCdXR0b25zLnB1c2goYnV0dG9uKSk7XG4gICAgaWYgKHBsdWdpbi5oYXNPd25Qcm9wZXJ0eSgnY29udGVudHMnKSkgT2JqZWN0LmFzc2lnbihjdXN0b21Db250ZW50cywgcGx1Z2luLmNvbnRlbnRzKTtcbiAgICBpZiAocGx1Z2luLmhhc093blByb3BlcnR5KCdyZWR1Y2VyJykpIGN1c3RvbVJlZHVjZXIucHVzaChwbHVnaW4ucmVkdWNlcik7XG4gICAgaWYgKHBsdWdpbi5oYXNPd25Qcm9wZXJ0eSgnb25SZWFkeScpKSBvblJlYWR5LnB1c2gocGx1Z2luLm9uUmVhZHkpO1xuICB9KTtcblxuICBsZXQgb25SZWFkeUZ1bmMgPSBzdG9yZSA9PiB7XG4gICAgb25SZWFkeS5mb3JFYWNoKGYgPT4gZihzdG9yZSkpXG4gIH07XG5cbiAgbGV0IGN1c3RvbVJlZHVjZXJGdW5jID0gKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjdXN0b21SZWR1Y2VyLmZvckVhY2goZiA9PiBzdGF0ZSA9IGYoc3RhdGUsIGFjdGlvbikpO1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIGN1c3RvbUFjdGlvbnMsXG4gICAgdG9vbGJhckJ1dHRvbnMsXG4gICAgY3VzdG9tQ29udGVudHMsXG4gICAgY3VzdG9tUmVkdWNlcjogY3VzdG9tUmVkdWNlckZ1bmMsXG4gICAgYWN0aW9uc0V4dHJhQXJndW1lbnQsXG4gICAgb25SZWFkeTogb25SZWFkeUZ1bmNcbiAgfTtcbn1cbiJdfQ==