mirror of https://github.com/artf/grapesjs.git
5 changed files with 19 additions and 75 deletions
@ -1,74 +0,0 @@ |
|||
import { bindAll, extend } from 'underscore'; |
|||
import { $ } from '../../common'; |
|||
import Component from '../../dom_components/model/Component'; |
|||
import { CommandObject } from './CommandAbstract'; |
|||
import SelectComponent from './SelectComponent'; |
|||
|
|||
export default extend({}, SelectComponent, { |
|||
init() { |
|||
bindAll(this, 'startDelete', 'stopDelete', 'onDelete'); |
|||
this.hoverClass = this.pfx + 'hover-delete'; |
|||
this.badgeClass = this.pfx + 'badge-red'; |
|||
}, |
|||
|
|||
enable() { |
|||
var that = this; |
|||
this.$el.find('*').mouseover(this.startDelete).mouseout(this.stopDelete).click(this.onDelete); |
|||
}, |
|||
|
|||
/** |
|||
* Start command |
|||
* @param {Object} e |
|||
* @private |
|||
*/ |
|||
startDelete(e: any) { |
|||
e.stopPropagation(); |
|||
var $this = $(e.target); |
|||
|
|||
// Show badge if possible
|
|||
if ($this.data('model').get('removable')) { |
|||
$this.addClass(this.hoverClass); |
|||
this.attachBadge($this.get(0)); |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* Stop command |
|||
* @param {Object} e |
|||
* @private |
|||
*/ |
|||
stopDelete(e: any) { |
|||
e.stopPropagation(); |
|||
var $this = $(e.target); |
|||
$this.removeClass(this.hoverClass); |
|||
|
|||
// Hide badge if possible
|
|||
if (this.badge) this.badge.css({ left: -1000, top: -1000 }); |
|||
}, |
|||
|
|||
/** |
|||
* Delete command |
|||
* @param {Object} e |
|||
* @private |
|||
*/ |
|||
onDelete(e: any) { |
|||
e.stopPropagation(); |
|||
var $this = $(e.target); |
|||
|
|||
// Do nothing in case can't remove
|
|||
if (!$this.data('model').get('removable')) return; |
|||
|
|||
$this.data('model').destroy(); |
|||
this.removeBadge(); |
|||
this.clean(); |
|||
}, |
|||
|
|||
/** |
|||
* Updates badge label |
|||
* @param {Object} model |
|||
* @private |
|||
* */ |
|||
updateBadgeLabel(model: Component) { |
|||
this.badge.html('Remove ' + model.getName()); |
|||
}, |
|||
} as CommandObject<{}, { [k: string]: any }>); |
|||
Loading…
Reference in new issue