predefinedItems.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. var _predefinedItems2;
  2. function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  3. import { objectEach } from './../../helpers/object';
  4. import alignmentItem, { KEY as ALIGNMENT } from './predefinedItems/alignment';
  5. import clearColumnItem, { KEY as CLEAR_COLUMN } from './predefinedItems/clearColumn';
  6. import columnLeftItem, { KEY as COLUMN_LEFT } from './predefinedItems/columnLeft';
  7. import columnRightItem, { KEY as COLUMN_RIGHT } from './predefinedItems/columnRight';
  8. import readOnlyItem, { KEY as READ_ONLY } from './predefinedItems/readOnly';
  9. import redoItem, { KEY as REDO } from './predefinedItems/redo';
  10. import removeColumnItem, { KEY as REMOVE_COLUMN } from './predefinedItems/removeColumn';
  11. import removeRowItem, { KEY as REMOVE_ROW } from './predefinedItems/removeRow';
  12. import rowAboveItem, { KEY as ROW_ABOVE } from './predefinedItems/rowAbove';
  13. import rowBelowItem, { KEY as ROW_BELOW } from './predefinedItems/rowBelow';
  14. import separatorItem, { KEY as SEPARATOR } from './predefinedItems/separator';
  15. import undoItem, { KEY as UNDO } from './predefinedItems/undo';
  16. export { KEY as ALIGNMENT } from './predefinedItems/alignment';
  17. export { KEY as CLEAR_COLUMN } from './predefinedItems/clearColumn';
  18. export { KEY as COLUMN_LEFT } from './predefinedItems/columnLeft';
  19. export { KEY as COLUMN_RIGHT } from './predefinedItems/columnRight';
  20. export { KEY as READ_ONLY } from './predefinedItems/readOnly';
  21. export { KEY as REDO } from './predefinedItems/redo';
  22. export { KEY as REMOVE_COLUMN } from './predefinedItems/removeColumn';
  23. export { KEY as REMOVE_ROW } from './predefinedItems/removeRow';
  24. export { KEY as ROW_ABOVE } from './predefinedItems/rowAbove';
  25. export { KEY as ROW_BELOW } from './predefinedItems/rowBelow';
  26. export { KEY as SEPARATOR } from './predefinedItems/separator';
  27. export { KEY as UNDO } from './predefinedItems/undo';
  28. export var ITEMS = [ROW_ABOVE, ROW_BELOW, COLUMN_LEFT, COLUMN_RIGHT, CLEAR_COLUMN, REMOVE_ROW, REMOVE_COLUMN, UNDO, REDO, READ_ONLY, ALIGNMENT, SEPARATOR];
  29. var _predefinedItems = (_predefinedItems2 = {}, _defineProperty(_predefinedItems2, SEPARATOR, separatorItem), _defineProperty(_predefinedItems2, ROW_ABOVE, rowAboveItem), _defineProperty(_predefinedItems2, ROW_BELOW, rowBelowItem), _defineProperty(_predefinedItems2, COLUMN_LEFT, columnLeftItem), _defineProperty(_predefinedItems2, COLUMN_RIGHT, columnRightItem), _defineProperty(_predefinedItems2, CLEAR_COLUMN, clearColumnItem), _defineProperty(_predefinedItems2, REMOVE_ROW, removeRowItem), _defineProperty(_predefinedItems2, REMOVE_COLUMN, removeColumnItem), _defineProperty(_predefinedItems2, UNDO, undoItem), _defineProperty(_predefinedItems2, REDO, redoItem), _defineProperty(_predefinedItems2, READ_ONLY, readOnlyItem), _defineProperty(_predefinedItems2, ALIGNMENT, alignmentItem), _predefinedItems2);
  30. /**
  31. * Gets new object with all predefined menu items.
  32. *
  33. * @returns {Object}
  34. */
  35. export function predefinedItems() {
  36. var items = {};
  37. objectEach(_predefinedItems, function (itemFactory, key) {
  38. items[key] = itemFactory();
  39. });
  40. return items;
  41. }
  42. /**
  43. * Add new predefined menu item to the collection.
  44. *
  45. * @param {String} key Menu command id.
  46. * @param {Object} item Object command descriptor.
  47. */
  48. export function addItem(key, item) {
  49. if (ITEMS.indexOf(key) === -1) {
  50. _predefinedItems[key] = item;
  51. }
  52. }