From a45bc31c15a605a1098e882254af35e6c9fbe7a4 Mon Sep 17 00:00:00 2001 From: Richard Walton Date: Wed, 13 Dec 2017 16:17:35 +0000 Subject: [PATCH] feat: Makes public the onItemDrop function of MLListItem - Previous to this, I could not find anyway to hook into an item drop in a subclass of MLListItem --- dist/milo_ui.bundle.js | 10 +++++++--- lib/components/ListItem.js | 9 ++++++--- package.json | 2 +- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/dist/milo_ui.bundle.js b/dist/milo_ui.bundle.js index f74e8d8..085082d 100644 --- a/dist/milo_ui.bundle.js +++ b/dist/milo_ui.bundle.js @@ -1051,7 +1051,9 @@ var MLListItem = module.exports = milo.createComponentClass({ 'dragenter': { subscriber: onDragHover, context: 'owner' }, 'dragover': { subscriber: onDragHover, context: 'owner' }, 'dragleave': { subscriber: onDragOut, context: 'owner' }, - 'drop': { subscriber: onItemDrop, context: 'owner' } + 'drop': { context: 'owner', subscriber: function() { + this.onItemDrop.apply(this, arguments); + }} }, allow: { components: isComponentAllowed @@ -1063,7 +1065,8 @@ var MLListItem = module.exports = milo.createComponentClass({ moveItem: MLListItem$moveItem, removeItem: MLListItem$removeItem, getMetaData: MLListItem$getMetaData, - isDropAllowed: MLListItem$isDropAllowed + isDropAllowed: MLListItem$isDropAllowed, + onItemDrop: MLListItem$onItemDrop } }); @@ -1071,6 +1074,7 @@ var MLListItem = module.exports = milo.createComponentClass({ function MLListItem$init() { MLListItem.super.init.apply(this, arguments); this.on('childrenbound', onChildrenBound); + } @@ -1113,7 +1117,7 @@ function isComponentAllowed() { } -function onItemDrop(eventType, event) { +function MLListItem$onItemDrop(eventType, event) { onDragOut.call(this); var dt = new DragDrop(event); var meta = dt.getComponentMeta(); diff --git a/lib/components/ListItem.js b/lib/components/ListItem.js index ca267c5..fcda324 100644 --- a/lib/components/ListItem.js +++ b/lib/components/ListItem.js @@ -19,7 +19,9 @@ var MLListItem = module.exports = milo.createComponentClass({ 'dragenter': { subscriber: onDragHover, context: 'owner' }, 'dragover': { subscriber: onDragHover, context: 'owner' }, 'dragleave': { subscriber: onDragOut, context: 'owner' }, - 'drop': { subscriber: onItemDrop, context: 'owner' } + 'drop': { context: 'owner', subscriber: function() { + this.onItemDrop.apply(this, arguments); + }} }, allow: { components: isComponentAllowed @@ -31,7 +33,8 @@ var MLListItem = module.exports = milo.createComponentClass({ moveItem: MLListItem$moveItem, removeItem: MLListItem$removeItem, getMetaData: MLListItem$getMetaData, - isDropAllowed: MLListItem$isDropAllowed + isDropAllowed: MLListItem$isDropAllowed, + onItemDrop: MLListItem$onItemDrop } }); @@ -81,7 +84,7 @@ function isComponentAllowed() { } -function onItemDrop(eventType, event) { +function MLListItem$onItemDrop(eventType, event) { onDragOut.call(this); var dt = new DragDrop(event); var meta = dt.getComponentMeta(); diff --git a/package.json b/package.json index 94ea370..15e86ba 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "milo-ui", - "version": "1.0.11", + "version": "1.0.12", "description": "UI components and schema-based form generator for [milo.js](https://github.com/milojs/milo) framework", "keywords": [ "framework",