UNPKG

react-planner-viewer

Version:

react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode

43 lines (38 loc) 5.18 kB
export default 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9tZXJnZS1wbHVnaW5zLmpzIl0sIm5hbWVzIjpbIm1lcmdlUGx1Z2lucyIsInBsdWdpbnMiLCJjdXN0b21BY3Rpb25zIiwidG9vbGJhckJ1dHRvbnMiLCJjdXN0b21Db250ZW50cyIsImN1c3RvbVJlZHVjZXIiLCJhY3Rpb25zRXh0cmFBcmd1bWVudCIsIm9uUmVhZHkiLCJmb3JFYWNoIiwicGx1Z2luIiwiaGFzT3duUHJvcGVydHkiLCJPYmplY3QiLCJhc3NpZ24iLCJhY3Rpb25zIiwicHVzaCIsImJ1dHRvbiIsImNvbnRlbnRzIiwicmVkdWNlciIsIm9uUmVhZHlGdW5jIiwiZiIsInN0b3JlIiwiY3VzdG9tUmVkdWNlckZ1bmMiLCJzdGF0ZSIsImFjdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZSxTQUFTQSxZQUFULENBQXNCQyxPQUF0QixFQUErQjs7QUFFNUMsTUFBSUMsZ0JBQWdCLEVBQXBCO0FBQ0EsTUFBSUMsaUJBQWlCLEVBQXJCO0FBQ0EsTUFBSUMsaUJBQWlCLEVBQXJCO0FBQ0EsTUFBSUMsZ0JBQWdCLEVBQXBCO0FBQ0EsTUFBSUMsdUJBQXVCLEVBQTNCO0FBQ0EsTUFBSUMsVUFBVSxFQUFkOztBQUVBTixVQUFRTyxPQUFSLENBQWdCLGtCQUFVO0FBQ3hCLFFBQUlDLE9BQU9DLGNBQVAsQ0FBc0IsU0FBdEIsQ0FBSixFQUFzQ0MsT0FBT0MsTUFBUCxDQUFjVixhQUFkLEVBQTZCTyxPQUFPSSxPQUFwQztBQUN0QyxRQUFJSixPQUFPQyxjQUFQLENBQXNCLHNCQUF0QixDQUFKLEVBQW1EQyxPQUFPQyxNQUFQLENBQWNOLG9CQUFkLEVBQW9DRyxPQUFPSCxvQkFBM0M7QUFDbkQsUUFBSUcsT0FBT0MsY0FBUCxDQUFzQixnQkFBdEIsQ0FBSixFQUE2Q0QsT0FBT04sY0FBUCxDQUFzQkssT0FBdEIsQ0FBOEI7QUFBQSxhQUFVTCxlQUFlVyxJQUFmLENBQW9CQyxNQUFwQixDQUFWO0FBQUEsS0FBOUI7QUFDN0MsUUFBSU4sT0FBT0MsY0FBUCxDQUFzQixVQUF0QixDQUFKLEVBQXVDQyxPQUFPQyxNQUFQLENBQWNSLGNBQWQsRUFBOEJLLE9BQU9PLFFBQXJDO0FBQ3ZDLFFBQUlQLE9BQU9DLGNBQVAsQ0FBc0IsU0FBdEIsQ0FBSixFQUFzQ0wsY0FBY1MsSUFBZCxDQUFtQkwsT0FBT1EsT0FBMUI7QUFDdEMsUUFBSVIsT0FBT0MsY0FBUCxDQUFzQixTQUF0QixDQUFKLEVBQXNDSCxRQUFRTyxJQUFSLENBQWFMLE9BQU9GLE9BQXBCO0FBQ3ZDLEdBUEQ7O0FBU0EsTUFBSVcsY0FBYyxTQUFkQSxXQUFjLFFBQVM7QUFDekJYLFlBQVFDLE9BQVIsQ0FBZ0I7QUFBQSxhQUFLVyxFQUFFQyxLQUFGLENBQUw7QUFBQSxLQUFoQjtBQUNELEdBRkQ7O0FBSUEsTUFBSUMsb0JBQW9CLFNBQXBCQSxpQkFBb0IsQ0FBQ0MsS0FBRCxFQUFRQyxNQUFSLEVBQW1CO0FBQ3pDbEIsa0JBQWNHLE9BQWQsQ0FBc0I7QUFBQSxhQUFLYyxRQUFRSCxFQUFFRyxLQUFGLEVBQVNDLE1BQVQsQ0FBYjtBQUFBLEtBQXRCO0FBQ0EsV0FBT0QsS0FBUDtBQUNELEdBSEQ7O0FBS0EsU0FBTztBQUNMcEIsZ0NBREs7QUFFTEMsa0NBRks7QUFHTEMsa0NBSEs7QUFJTEMsbUJBQWVnQixpQkFKVjtBQUtMZiw4Q0FMSztBQU1MQyxhQUFTVztBQU5KLEdBQVA7QUFRRCIsImZpbGUiOiJtZXJnZS1wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWVyZ2VQbHVnaW5zKHBsdWdpbnMpIHtcblxuICBsZXQgY3VzdG9tQWN0aW9ucyA9IHt9O1xuICBsZXQgdG9vbGJhckJ1dHRvbnMgPSBbXTtcbiAgbGV0IGN1c3RvbUNvbnRlbnRzID0ge307XG4gIGxldCBjdXN0b21SZWR1Y2VyID0gW107XG4gIGxldCBhY3Rpb25zRXh0cmFBcmd1bWVudCA9IHt9O1xuICBsZXQgb25SZWFkeSA9IFtdO1xuXG4gIHBsdWdpbnMuZm9yRWFjaChwbHVnaW4gPT4ge1xuICAgIGlmIChwbHVnaW4uaGFzT3duUHJvcGVydHkoJ2FjdGlvbnMnKSkgT2JqZWN0LmFzc2lnbihjdXN0b21BY3Rpb25zLCBwbHVnaW4uYWN0aW9ucyk7XG4gICAgaWYgKHBsdWdpbi5oYXNPd25Qcm9wZXJ0eSgnYWN0aW9uc0V4dHJhQXJndW1lbnQnKSkgT2JqZWN0LmFzc2lnbihhY3Rpb25zRXh0cmFBcmd1bWVudCwgcGx1Z2luLmFjdGlvbnNFeHRyYUFyZ3VtZW50KTtcbiAgICBpZiAocGx1Z2luLmhhc093blByb3BlcnR5KCd0b29sYmFyQnV0dG9ucycpKSBwbHVnaW4udG9vbGJhckJ1dHRvbnMuZm9yRWFjaChidXR0b24gPT4gdG9vbGJhckJ1dHRvbnMucHVzaChidXR0b24pKTtcbiAgICBpZiAocGx1Z2luLmhhc093blByb3BlcnR5KCdjb250ZW50cycpKSBPYmplY3QuYXNzaWduKGN1c3RvbUNvbnRlbnRzLCBwbHVnaW4uY29udGVudHMpO1xuICAgIGlmIChwbHVnaW4uaGFzT3duUHJvcGVydHkoJ3JlZHVjZXInKSkgY3VzdG9tUmVkdWNlci5wdXNoKHBsdWdpbi5yZWR1Y2VyKTtcbiAgICBpZiAocGx1Z2luLmhhc093blByb3BlcnR5KCdvblJlYWR5JykpIG9uUmVhZHkucHVzaChwbHVnaW4ub25SZWFkeSk7XG4gIH0pO1xuXG4gIGxldCBvblJlYWR5RnVuYyA9IHN0b3JlID0+IHtcbiAgICBvblJlYWR5LmZvckVhY2goZiA9PiBmKHN0b3JlKSlcbiAgfTtcblxuICBsZXQgY3VzdG9tUmVkdWNlckZ1bmMgPSAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIGN1c3RvbVJlZHVjZXIuZm9yRWFjaChmID0+IHN0YXRlID0gZihzdGF0ZSwgYWN0aW9uKSk7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgY3VzdG9tQWN0aW9ucyxcbiAgICB0b29sYmFyQnV0dG9ucyxcbiAgICBjdXN0b21Db250ZW50cyxcbiAgICBjdXN0b21SZWR1Y2VyOiBjdXN0b21SZWR1Y2VyRnVuYyxcbiAgICBhY3Rpb25zRXh0cmFBcmd1bWVudCxcbiAgICBvblJlYWR5OiBvblJlYWR5RnVuY1xuICB9O1xufVxuIl19