You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

actions.js 1.7 KiB

3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.MENU_HIDE = exports.MENU_SHOW = undefined;
  6. exports.dispatchGlobalEvent = dispatchGlobalEvent;
  7. exports.showMenu = showMenu;
  8. exports.hideMenu = hideMenu;
  9. var _objectAssign = require('object-assign');
  10. var _objectAssign2 = _interopRequireDefault(_objectAssign);
  11. var _helpers = require('./helpers');
  12. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  13. var MENU_SHOW = exports.MENU_SHOW = 'REACT_CONTEXTMENU_SHOW';
  14. var MENU_HIDE = exports.MENU_HIDE = 'REACT_CONTEXTMENU_HIDE';
  15. function dispatchGlobalEvent(eventName, opts) {
  16. var target = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : window;
  17. // Compatibale with IE
  18. // @see http://stackoverflow.com/questions/26596123/internet-explorer-9-10-11-event-constructor-doesnt-work
  19. var event = void 0;
  20. if (typeof window.CustomEvent === 'function') {
  21. event = new window.CustomEvent(eventName, { detail: opts });
  22. } else {
  23. event = document.createEvent('CustomEvent');
  24. event.initCustomEvent(eventName, false, true, opts);
  25. }
  26. if (target) {
  27. target.dispatchEvent(event);
  28. (0, _objectAssign2.default)(_helpers.store, opts);
  29. }
  30. }
  31. function showMenu() {
  32. var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  33. var target = arguments[1];
  34. dispatchGlobalEvent(MENU_SHOW, (0, _objectAssign2.default)({}, opts, { type: MENU_SHOW }), target);
  35. }
  36. function hideMenu() {
  37. var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  38. var target = arguments[1];
  39. dispatchGlobalEvent(MENU_HIDE, (0, _objectAssign2.default)({}, opts, { type: MENU_HIDE }), target);
  40. }