- toggleGrid: function() {
- this.wrapper.toggleClass('grid-on');
- this.trigger('changed');
- },
- isGridToggled: function() {
- return this.wrapper.hasClass('grid-on');
- }
-});
-
-
-var isText = function(node) {
- return node && node.nodeType === Node.TEXT_NODE && $(node.parentNode).is('[document-text-element]');
-};
-
-var Selection = function(canvas) {
- this.canvas = canvas;
- var nativeSelection = this.nativeSelection = window.getSelection();
- Object.defineProperty(this, 'type', {
- get: function() {
- if(nativeSelection.focusNode) {
- if(nativeSelection.isCollapsed && isText(nativeSelection.focusNode)) {
- return 'caret';
- }
- if(isText(nativeSelection.focusNode) && isText(nativeSelection.anchorNode)) {
- return 'textSelection';
- }
- }
- if(canvas.getCurrentNodeElement()) {
- return 'node';
- }
+ while(element) {
+ (element.contextMenuActions || []).forEach(menu.addAction.bind(menu));
+ element = element.parent();