diff --git a/bundles/ng2-dnd.js b/bundles/ng2-dnd.js index a4cbe66..864ce2b 100644 --- a/bundles/ng2-dnd.js +++ b/bundles/ng2-dnd.js @@ -516,7 +516,7 @@ System.registerDynamic("src/dnd.component", ["angular2/core", "./dnd.config", ". _this._onDragStart(event); if (event.dataTransfer != null) { event.dataTransfer.effectAllowed = _this._config.dragEffect.name; - event.dataTransfer.setData('text/html', ''); + event.dataTransfer.setData('text', ''); if (_this._config.dragImage != null) { var dragImage = _this._config.dragImage; event.dataTransfer.setDragImage(dragImage.imageElement, dragImage.x_offset, dragImage.y_offset); diff --git a/bundles/ng2-dnd.min.js b/bundles/ng2-dnd.min.js index 0f582de..3a18c72 100644 --- a/bundles/ng2-dnd.min.js +++ b/bundles/ng2-dnd.min.js @@ -1,2 +1,2 @@ -System.registerDynamic("src/dnd.draggable",["angular2/core","./dnd.component","./dnd.config","./dnd.service"],!0,function(e,t,r){var a=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var a in t)t.hasOwnProperty(a)&&(e[a]=t[a]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=this&&this.__decorate||function(e,t,r,a){var o,n=arguments.length,i=3>n?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(3>n?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i},n=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},i=e("angular2/core"),s=e("./dnd.component"),c=e("./dnd.config"),l=e("./dnd.service"),d=function(e){function t(t,r,a){e.call(this,t,r,a),this.onDragSuccessCallback=new i.EventEmitter,this._defaultCursor=this._elem.style.cursor,this.dragEnabled=!0}return a(t,e),Object.defineProperty(t.prototype,"draggable",{set:function(e){this.dragEnabled=!!e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dropzones",{set:function(e){this.dropZones=e},enumerable:!0,configurable:!0}),t.prototype._onDragStartCallback=function(e){this._dragDropService.dragData=this.dragData,this._dragDropService.onDragSuccessCallback=this.onDragSuccessCallback,this._elem.classList.add(this._config.onDragStartClass)},t.prototype._onDragEndCallback=function(e){this._dragDropService.dragData=null,this._dragDropService.onDragSuccessCallback=null,this._elem.classList.remove(this._config.onDragStartClass)},o([i.Input("dragEnabled"),n("design:type",Boolean),n("design:paramtypes",[Boolean])],t.prototype,"draggable",null),o([i.Input(),n("design:type",Object)],t.prototype,"dragData",void 0),o([i.Output("onDragSuccess"),n("design:type",i.EventEmitter)],t.prototype,"onDragSuccessCallback",void 0),o([i.Input("dropZones"),n("design:type",Array),n("design:paramtypes",[Array])],t.prototype,"dropzones",null),t=o([i.Directive({selector:"[dnd-draggable]"}),n("design:paramtypes",[i.ElementRef,l.DragDropService,c.DragDropConfig])],t)}(s.AbstractComponent);return t.DraggableComponent=d,r.exports}),System.registerDynamic("src/dnd.droppable",["angular2/core","./dnd.component","./dnd.config","./dnd.service"],!0,function(e,t,r){var a=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var a in t)t.hasOwnProperty(a)&&(e[a]=t[a]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=this&&this.__decorate||function(e,t,r,a){var o,n=arguments.length,i=3>n?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(3>n?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i},n=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},i=e("angular2/core"),s=e("./dnd.component"),c=e("./dnd.config"),l=e("./dnd.service"),d=function(e){function t(t,r,a){e.call(this,t,r,a),this.onDropSuccessCallback=new i.EventEmitter,this.onDragEnterCallback=new i.EventEmitter,this.onDragOverCallback=new i.EventEmitter,this.onDragLeaveCallback=new i.EventEmitter,this.dropEnabled=!0}return a(t,e),Object.defineProperty(t.prototype,"droppable",{set:function(e){this.dropEnabled=!!e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dropzones",{set:function(e){this.dropZones=e},enumerable:!0,configurable:!0}),t.prototype._onDragEnterCallback=function(e){this._elem.classList.add(this._config.onDragEnterClass),this.onDragEnterCallback.emit(this._dragDropService.dragData)},t.prototype._onDragOverCallback=function(e){this._elem.classList.add(this._config.onDragOverClass),this.onDragOverCallback.emit(this._dragDropService.dragData)},t.prototype._onDragLeaveCallback=function(e){this._elem.classList.remove(this._config.onDragOverClass),this._elem.classList.remove(this._config.onDragEnterClass),this.onDragLeaveCallback.emit(this._dragDropService.dragData)},t.prototype._onDropCallback=function(e){this.onDropSuccessCallback.emit(this._dragDropService.dragData),this._dragDropService.onDragSuccessCallback&&this._dragDropService.onDragSuccessCallback.emit(this._dragDropService.dragData),this._elem.classList.remove(this._config.onDragOverClass),this._elem.classList.remove(this._config.onDragEnterClass)},o([i.Input("dropEnabled"),n("design:type",Boolean),n("design:paramtypes",[Boolean])],t.prototype,"droppable",null),o([i.Output("onDropSuccess"),n("design:type",i.EventEmitter)],t.prototype,"onDropSuccessCallback",void 0),o([i.Output("onDragEnter"),n("design:type",i.EventEmitter)],t.prototype,"onDragEnterCallback",void 0),o([i.Output("onDragOver"),n("design:type",i.EventEmitter)],t.prototype,"onDragOverCallback",void 0),o([i.Output("onDragLeave"),n("design:type",i.EventEmitter)],t.prototype,"onDragLeaveCallback",void 0),o([i.Input("dropZones"),n("design:type",Array),n("design:paramtypes",[Array])],t.prototype,"dropzones",null),t=o([i.Directive({selector:"[dnd-droppable]"}),n("design:paramtypes",[i.ElementRef,l.DragDropService,c.DragDropConfig])],t)}(s.AbstractComponent);return t.DroppableComponent=d,r.exports}),System.registerDynamic("src/dnd.sortable",["angular2/core","./dnd.component","./dnd.config","./dnd.service"],!0,function(e,t,r){var a=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var a in t)t.hasOwnProperty(a)&&(e[a]=t[a]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=this&&this.__decorate||function(e,t,r,a){var o,n=arguments.length,i=3>n?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(3>n?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i},n=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},i=e("angular2/core"),s=e("./dnd.component"),c=e("./dnd.config"),l=e("./dnd.service"),d=function(e){function t(t,r,a,o){e.call(this,t,r,a),this._sortableDataService=o,this._sortableData=[],this.dragEnabled=!1}return a(t,e),Object.defineProperty(t.prototype,"draggable",{set:function(e){this.dragEnabled=!!e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sortableData",{get:function(){return this._sortableData},set:function(e){this._sortableData=e,this.dropEnabled=0===this._sortableData.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dropzones",{set:function(e){this.dropZones=e},enumerable:!0,configurable:!0}),t.prototype._onDragEnterCallback=function(e){var t=this._sortableDataService.sortableData[this._sortableDataService.index];-1===this._sortableData.indexOf(t)&&(this._sortableDataService.sortableData.splice(this._sortableDataService.index,1),this._sortableData.push(t),this._sortableDataService.sortableData=this._sortableData,this._sortableDataService.index=0)},o([i.Input("dragEnabled"),n("design:type",Boolean),n("design:paramtypes",[Boolean])],t.prototype,"draggable",null),o([i.Input(),n("design:type",Array),n("design:paramtypes",[Array])],t.prototype,"sortableData",null),o([i.Input("dropZones"),n("design:type",Array),n("design:paramtypes",[Array])],t.prototype,"dropzones",null),t=o([i.Directive({selector:"[dnd-sortable-container]"}),n("design:paramtypes",[i.ElementRef,l.DragDropService,c.DragDropConfig,l.DragDropSortableService])],t)}(s.AbstractComponent);t.SortableContainer=d;var p=function(e){function t(t,r,a,o,n){e.call(this,t,r,a),this._sortableContainer=o,this._sortableDataService=n,this.onDragSuccessCallback=new i.EventEmitter,this.onDragStartCallback=new i.EventEmitter,this.onDragOverCallback=new i.EventEmitter,this.onDragEndCallback=new i.EventEmitter,this.onDropSuccessCallback=new i.EventEmitter,this.dropZones=this._sortableContainer.dropZones,this.dragEnabled=!0,this.dropEnabled=!0}return a(t,e),Object.defineProperty(t.prototype,"draggable",{set:function(e){this.dragEnabled=!!e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"droppable",{set:function(e){this.dropEnabled=!!e},enumerable:!0,configurable:!0}),t.prototype._onDragStartCallback=function(e){this._sortableDataService.sortableData=this._sortableContainer.sortableData,this._sortableDataService.index=this.index,this._sortableDataService.markSortable(this._elem),this._dragDropService.dragData=this.dragData,this._dragDropService.onDragSuccessCallback=this.onDragSuccessCallback},t.prototype._onDragOverCallback=function(e){this._elem!=this._sortableDataService.elem&&(this._sortableDataService.sortableData=this._sortableContainer.sortableData,this._sortableDataService.index=this.index,this._sortableDataService.markSortable(this._elem),this.onDragOverCallback.emit(this._dragDropService.dragData))},t.prototype._onDragEndCallback=function(e){this._sortableDataService.sortableData=null,this._sortableDataService.index=null,this._sortableDataService.markSortable(null),this._dragDropService.dragData=null,this._dragDropService.onDragSuccessCallback=null,this.onDragEndCallback.emit(this._dragDropService.dragData)},t.prototype._onDragEnterCallback=function(e){if(this._sortableDataService.markSortable(this._elem),this.index!==this._sortableDataService.index||this._sortableDataService.sortableData!=this._sortableContainer.sortableData){var t=this._sortableDataService.sortableData[this._sortableDataService.index];this._sortableDataService.sortableData.splice(this._sortableDataService.index,1),this._sortableContainer.sortableData.splice(this.index,0,t),this._sortableDataService.sortableData=this._sortableContainer.sortableData,this._sortableDataService.index=this.index}},t.prototype._onDropCallback=function(e){this.onDropSuccessCallback.emit(this._dragDropService.dragData),this._dragDropService.onDragSuccessCallback&&this._dragDropService.onDragSuccessCallback.emit(this._dragDropService.dragData)},o([i.Input("sortableIndex"),n("design:type",Number)],t.prototype,"index",void 0),o([i.Input("dragEnabled"),n("design:type",Boolean),n("design:paramtypes",[Boolean])],t.prototype,"draggable",null),o([i.Input("dropEnabled"),n("design:type",Boolean),n("design:paramtypes",[Boolean])],t.prototype,"droppable",null),o([i.Input(),n("design:type",Object)],t.prototype,"dragData",void 0),o([i.Output("onDragSuccess"),n("design:type",i.EventEmitter)],t.prototype,"onDragSuccessCallback",void 0),o([i.Output("onDragStart"),n("design:type",i.EventEmitter)],t.prototype,"onDragStartCallback",void 0),o([i.Output("onDragOver"),n("design:type",i.EventEmitter)],t.prototype,"onDragOverCallback",void 0),o([i.Output("onDragEnd"),n("design:type",i.EventEmitter)],t.prototype,"onDragEndCallback",void 0),o([i.Output("onDropSuccess"),n("design:type",i.EventEmitter)],t.prototype,"onDropSuccessCallback",void 0),t=o([i.Directive({selector:"[dnd-sortable]"}),n("design:paramtypes",[i.ElementRef,l.DragDropService,c.DragDropConfig,d,l.DragDropSortableService])],t)}(s.AbstractComponent);return t.SortableComponent=p,r.exports}),System.registerDynamic("src/dnd.config",["angular2/core"],!0,function(e,t,r){var a=this&&this.__decorate||function(e,t,r,a){var o,n=arguments.length,i=3>n?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(3>n?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},n=e("angular2/core"),i=function(){function e(e){this.name=e}return e.COPY=new e("copy"),e.LINK=new e("link"),e.MOVE=new e("move"),e.NONE=new e("none"),e=a([n.Injectable(),o("design:paramtypes",[String])],e)}();t.DataTransferEffect=i;var s=function(){function e(e,t,r){void 0===t&&(t=0),void 0===r&&(r=0),this.imageElement=e,this.x_offset=t,this.y_offset=r}return e=a([n.Injectable(),o("design:paramtypes",[HTMLElement,Number,Number])],e)}();t.DragImage=s;var c=function(){function e(){this.onDragStartClass="dnd-drag-start",this.onDragEnterClass="dnd-drag-enter",this.onDragOverClass="dnd-drag-over",this.onSortableDragClass="dnd-sortable-drag",this.dragEffect=i.MOVE,this.dropEffect=i.MOVE,this.dragCursor="move"}return e=a([n.Injectable(),o("design:paramtypes",[])],e)}();return t.DragDropConfig=c,r.exports}),System.registerDynamic("src/dnd.service",["angular2/core","angular2/src/facade/lang","./dnd.config"],!0,function(e,t,r){var a=this&&this.__decorate||function(e,t,r,a){var o,n=arguments.length,i=3>n?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(3>n?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},n=e("angular2/core"),i=e("angular2/src/facade/lang"),s=e("./dnd.config"),c=function(){function e(){this.allowedDropZones=[]}return e=a([n.Injectable(),o("design:paramtypes",[])],e)}();t.DragDropService=c;var l=function(){function e(e){this._config=e}return Object.defineProperty(e.prototype,"elem",{get:function(){return this._elem},enumerable:!0,configurable:!0}),e.prototype.markSortable=function(e){i.isPresent(this._elem)&&this._elem.classList.remove(this._config.onSortableDragClass),i.isPresent(e)&&(this._elem=e,this._elem.classList.add(this._config.onSortableDragClass))},e=a([n.Injectable(),o("design:paramtypes",[s.DragDropConfig])],e)}();return t.DragDropSortableService=l,r.exports}),System.registerDynamic("src/dnd.component",["angular2/core","./dnd.config","./dnd.service"],!0,function(e,t,r){var a=this&&this.__decorate||function(e,t,r,a){var o,n=arguments.length,i=3>n?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(3>n?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},n=e("angular2/core"),i=e("angular2/core"),s=e("./dnd.config"),c=e("./dnd.service"),l=function(){function e(e,t,r){var a=this;this._dragDropService=t,this._config=r,this._dragEnabled=!1,this.dropEnabled=!1,this.dropZones=[],this._elem=e.nativeElement,this.dragEnabled=!0,this._elem.ondragenter=function(e){a._onDragEnter(e)},this._elem.ondragover=function(e){a._onDragOver(e),null!=e.dataTransfer&&(e.dataTransfer.dropEffect=a._config.dropEffect.name)},this._elem.ondragleave=function(e){a._onDragLeave(e)},this._elem.ondrop=function(e){a._onDrop(e)},this._elem.ondragstart=function(e){if(a._onDragStart(e),null!=e.dataTransfer&&(e.dataTransfer.effectAllowed=a._config.dragEffect.name,e.dataTransfer.setData("text/html",""),null!=a._config.dragImage)){var t=a._config.dragImage;e.dataTransfer.setDragImage(t.imageElement,t.x_offset,t.y_offset)}},this._elem.ondragend=function(e){a._onDragEnd(e)},this._elem.ontouchstart=function(e){a._onDragStart(e)},this._elem.ontouchend=function(e){a._onDragEnd(e)}}return Object.defineProperty(e.prototype,"dragEnabled",{get:function(){return this._dragEnabled},set:function(e){this._dragEnabled=!!e,this._elem.draggable=this._dragEnabled,null!=this._config.dragCursor&&(this._elem.style.cursor=this._dragEnabled?this._config.dragCursor:this._defaultCursor)},enumerable:!0,configurable:!0}),e.prototype._onDragEnter=function(e){this._isDropAllowed&&(e.preventDefault(),this._onDragEnterCallback(e))},e.prototype._onDragOver=function(e){this._isDropAllowed&&(e.preventDefault(),this._onDragOverCallback(e))},e.prototype._onDragLeave=function(e){this._isDropAllowed&&(e.preventDefault(),this._onDragLeaveCallback(e))},e.prototype._onDrop=function(e){this._isDropAllowed&&(e.preventDefault(),this._onDropCallback(e))},Object.defineProperty(e.prototype,"_isDropAllowed",{get:function(){if(this.dropEnabled){if(0===this.dropZones.length&&0===this._dragDropService.allowedDropZones.length)return!0;for(var e=0;en?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(3>n?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i},n=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},i=e("angular2/core"),s=e("./dnd.component"),c=e("./dnd.config"),l=e("./dnd.service"),d=function(e){function t(t,r,a){e.call(this,t,r,a),this.onDragSuccessCallback=new i.EventEmitter,this._defaultCursor=this._elem.style.cursor,this.dragEnabled=!0}return a(t,e),Object.defineProperty(t.prototype,"draggable",{set:function(e){this.dragEnabled=!!e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dropzones",{set:function(e){this.dropZones=e},enumerable:!0,configurable:!0}),t.prototype._onDragStartCallback=function(e){this._dragDropService.dragData=this.dragData,this._dragDropService.onDragSuccessCallback=this.onDragSuccessCallback,this._elem.classList.add(this._config.onDragStartClass)},t.prototype._onDragEndCallback=function(e){this._dragDropService.dragData=null,this._dragDropService.onDragSuccessCallback=null,this._elem.classList.remove(this._config.onDragStartClass)},o([i.Input("dragEnabled"),n("design:type",Boolean),n("design:paramtypes",[Boolean])],t.prototype,"draggable",null),o([i.Input(),n("design:type",Object)],t.prototype,"dragData",void 0),o([i.Output("onDragSuccess"),n("design:type",i.EventEmitter)],t.prototype,"onDragSuccessCallback",void 0),o([i.Input("dropZones"),n("design:type",Array),n("design:paramtypes",[Array])],t.prototype,"dropzones",null),t=o([i.Directive({selector:"[dnd-draggable]"}),n("design:paramtypes",[i.ElementRef,l.DragDropService,c.DragDropConfig])],t)}(s.AbstractComponent);return t.DraggableComponent=d,r.exports}),System.registerDynamic("src/dnd.droppable",["angular2/core","./dnd.component","./dnd.config","./dnd.service"],!0,function(e,t,r){var a=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var a in t)t.hasOwnProperty(a)&&(e[a]=t[a]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=this&&this.__decorate||function(e,t,r,a){var o,n=arguments.length,i=3>n?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(3>n?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i},n=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},i=e("angular2/core"),s=e("./dnd.component"),c=e("./dnd.config"),l=e("./dnd.service"),d=function(e){function t(t,r,a){e.call(this,t,r,a),this.onDropSuccessCallback=new i.EventEmitter,this.onDragEnterCallback=new i.EventEmitter,this.onDragOverCallback=new i.EventEmitter,this.onDragLeaveCallback=new i.EventEmitter,this.dropEnabled=!0}return a(t,e),Object.defineProperty(t.prototype,"droppable",{set:function(e){this.dropEnabled=!!e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dropzones",{set:function(e){this.dropZones=e},enumerable:!0,configurable:!0}),t.prototype._onDragEnterCallback=function(e){this._elem.classList.add(this._config.onDragEnterClass),this.onDragEnterCallback.emit(this._dragDropService.dragData)},t.prototype._onDragOverCallback=function(e){this._elem.classList.add(this._config.onDragOverClass),this.onDragOverCallback.emit(this._dragDropService.dragData)},t.prototype._onDragLeaveCallback=function(e){this._elem.classList.remove(this._config.onDragOverClass),this._elem.classList.remove(this._config.onDragEnterClass),this.onDragLeaveCallback.emit(this._dragDropService.dragData)},t.prototype._onDropCallback=function(e){this.onDropSuccessCallback.emit(this._dragDropService.dragData),this._dragDropService.onDragSuccessCallback&&this._dragDropService.onDragSuccessCallback.emit(this._dragDropService.dragData),this._elem.classList.remove(this._config.onDragOverClass),this._elem.classList.remove(this._config.onDragEnterClass)},o([i.Input("dropEnabled"),n("design:type",Boolean),n("design:paramtypes",[Boolean])],t.prototype,"droppable",null),o([i.Output("onDropSuccess"),n("design:type",i.EventEmitter)],t.prototype,"onDropSuccessCallback",void 0),o([i.Output("onDragEnter"),n("design:type",i.EventEmitter)],t.prototype,"onDragEnterCallback",void 0),o([i.Output("onDragOver"),n("design:type",i.EventEmitter)],t.prototype,"onDragOverCallback",void 0),o([i.Output("onDragLeave"),n("design:type",i.EventEmitter)],t.prototype,"onDragLeaveCallback",void 0),o([i.Input("dropZones"),n("design:type",Array),n("design:paramtypes",[Array])],t.prototype,"dropzones",null),t=o([i.Directive({selector:"[dnd-droppable]"}),n("design:paramtypes",[i.ElementRef,l.DragDropService,c.DragDropConfig])],t)}(s.AbstractComponent);return t.DroppableComponent=d,r.exports}),System.registerDynamic("src/dnd.sortable",["angular2/core","./dnd.component","./dnd.config","./dnd.service"],!0,function(e,t,r){var a=this&&this.__extends||function(e,t){function r(){this.constructor=e}for(var a in t)t.hasOwnProperty(a)&&(e[a]=t[a]);e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},o=this&&this.__decorate||function(e,t,r,a){var o,n=arguments.length,i=3>n?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(3>n?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i},n=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},i=e("angular2/core"),s=e("./dnd.component"),c=e("./dnd.config"),l=e("./dnd.service"),d=function(e){function t(t,r,a,o){e.call(this,t,r,a),this._sortableDataService=o,this._sortableData=[],this.dragEnabled=!1}return a(t,e),Object.defineProperty(t.prototype,"draggable",{set:function(e){this.dragEnabled=!!e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sortableData",{get:function(){return this._sortableData},set:function(e){this._sortableData=e,this.dropEnabled=0===this._sortableData.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dropzones",{set:function(e){this.dropZones=e},enumerable:!0,configurable:!0}),t.prototype._onDragEnterCallback=function(e){var t=this._sortableDataService.sortableData[this._sortableDataService.index];-1===this._sortableData.indexOf(t)&&(this._sortableDataService.sortableData.splice(this._sortableDataService.index,1),this._sortableData.push(t),this._sortableDataService.sortableData=this._sortableData,this._sortableDataService.index=0)},o([i.Input("dragEnabled"),n("design:type",Boolean),n("design:paramtypes",[Boolean])],t.prototype,"draggable",null),o([i.Input(),n("design:type",Array),n("design:paramtypes",[Array])],t.prototype,"sortableData",null),o([i.Input("dropZones"),n("design:type",Array),n("design:paramtypes",[Array])],t.prototype,"dropzones",null),t=o([i.Directive({selector:"[dnd-sortable-container]"}),n("design:paramtypes",[i.ElementRef,l.DragDropService,c.DragDropConfig,l.DragDropSortableService])],t)}(s.AbstractComponent);t.SortableContainer=d;var p=function(e){function t(t,r,a,o,n){e.call(this,t,r,a),this._sortableContainer=o,this._sortableDataService=n,this.onDragSuccessCallback=new i.EventEmitter,this.onDragStartCallback=new i.EventEmitter,this.onDragOverCallback=new i.EventEmitter,this.onDragEndCallback=new i.EventEmitter,this.onDropSuccessCallback=new i.EventEmitter,this.dropZones=this._sortableContainer.dropZones,this.dragEnabled=!0,this.dropEnabled=!0}return a(t,e),Object.defineProperty(t.prototype,"draggable",{set:function(e){this.dragEnabled=!!e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"droppable",{set:function(e){this.dropEnabled=!!e},enumerable:!0,configurable:!0}),t.prototype._onDragStartCallback=function(e){this._sortableDataService.sortableData=this._sortableContainer.sortableData,this._sortableDataService.index=this.index,this._sortableDataService.markSortable(this._elem),this._dragDropService.dragData=this.dragData,this._dragDropService.onDragSuccessCallback=this.onDragSuccessCallback},t.prototype._onDragOverCallback=function(e){this._elem!=this._sortableDataService.elem&&(this._sortableDataService.sortableData=this._sortableContainer.sortableData,this._sortableDataService.index=this.index,this._sortableDataService.markSortable(this._elem),this.onDragOverCallback.emit(this._dragDropService.dragData))},t.prototype._onDragEndCallback=function(e){this._sortableDataService.sortableData=null,this._sortableDataService.index=null,this._sortableDataService.markSortable(null),this._dragDropService.dragData=null,this._dragDropService.onDragSuccessCallback=null,this.onDragEndCallback.emit(this._dragDropService.dragData)},t.prototype._onDragEnterCallback=function(e){if(this._sortableDataService.markSortable(this._elem),this.index!==this._sortableDataService.index||this._sortableDataService.sortableData!=this._sortableContainer.sortableData){var t=this._sortableDataService.sortableData[this._sortableDataService.index];this._sortableDataService.sortableData.splice(this._sortableDataService.index,1),this._sortableContainer.sortableData.splice(this.index,0,t),this._sortableDataService.sortableData=this._sortableContainer.sortableData,this._sortableDataService.index=this.index}},t.prototype._onDropCallback=function(e){this.onDropSuccessCallback.emit(this._dragDropService.dragData),this._dragDropService.onDragSuccessCallback&&this._dragDropService.onDragSuccessCallback.emit(this._dragDropService.dragData)},o([i.Input("sortableIndex"),n("design:type",Number)],t.prototype,"index",void 0),o([i.Input("dragEnabled"),n("design:type",Boolean),n("design:paramtypes",[Boolean])],t.prototype,"draggable",null),o([i.Input("dropEnabled"),n("design:type",Boolean),n("design:paramtypes",[Boolean])],t.prototype,"droppable",null),o([i.Input(),n("design:type",Object)],t.prototype,"dragData",void 0),o([i.Output("onDragSuccess"),n("design:type",i.EventEmitter)],t.prototype,"onDragSuccessCallback",void 0),o([i.Output("onDragStart"),n("design:type",i.EventEmitter)],t.prototype,"onDragStartCallback",void 0),o([i.Output("onDragOver"),n("design:type",i.EventEmitter)],t.prototype,"onDragOverCallback",void 0),o([i.Output("onDragEnd"),n("design:type",i.EventEmitter)],t.prototype,"onDragEndCallback",void 0),o([i.Output("onDropSuccess"),n("design:type",i.EventEmitter)],t.prototype,"onDropSuccessCallback",void 0),t=o([i.Directive({selector:"[dnd-sortable]"}),n("design:paramtypes",[i.ElementRef,l.DragDropService,c.DragDropConfig,d,l.DragDropSortableService])],t)}(s.AbstractComponent);return t.SortableComponent=p,r.exports}),System.registerDynamic("src/dnd.config",["angular2/core"],!0,function(e,t,r){var a=this&&this.__decorate||function(e,t,r,a){var o,n=arguments.length,i=3>n?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(3>n?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},n=e("angular2/core"),i=function(){function e(e){this.name=e}return e.COPY=new e("copy"),e.LINK=new e("link"),e.MOVE=new e("move"),e.NONE=new e("none"),e=a([n.Injectable(),o("design:paramtypes",[String])],e)}();t.DataTransferEffect=i;var s=function(){function e(e,t,r){void 0===t&&(t=0),void 0===r&&(r=0),this.imageElement=e,this.x_offset=t,this.y_offset=r}return e=a([n.Injectable(),o("design:paramtypes",[HTMLElement,Number,Number])],e)}();t.DragImage=s;var c=function(){function e(){this.onDragStartClass="dnd-drag-start",this.onDragEnterClass="dnd-drag-enter",this.onDragOverClass="dnd-drag-over",this.onSortableDragClass="dnd-sortable-drag",this.dragEffect=i.MOVE,this.dropEffect=i.MOVE,this.dragCursor="move"}return e=a([n.Injectable(),o("design:paramtypes",[])],e)}();return t.DragDropConfig=c,r.exports}),System.registerDynamic("src/dnd.service",["angular2/core","angular2/src/facade/lang","./dnd.config"],!0,function(e,t,r){var a=this&&this.__decorate||function(e,t,r,a){var o,n=arguments.length,i=3>n?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(3>n?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},n=e("angular2/core"),i=e("angular2/src/facade/lang"),s=e("./dnd.config"),c=function(){function e(){this.allowedDropZones=[]}return e=a([n.Injectable(),o("design:paramtypes",[])],e)}();t.DragDropService=c;var l=function(){function e(e){this._config=e}return Object.defineProperty(e.prototype,"elem",{get:function(){return this._elem},enumerable:!0,configurable:!0}),e.prototype.markSortable=function(e){i.isPresent(this._elem)&&this._elem.classList.remove(this._config.onSortableDragClass),i.isPresent(e)&&(this._elem=e,this._elem.classList.add(this._config.onSortableDragClass))},e=a([n.Injectable(),o("design:paramtypes",[s.DragDropConfig])],e)}();return t.DragDropSortableService=l,r.exports}),System.registerDynamic("src/dnd.component",["angular2/core","./dnd.config","./dnd.service"],!0,function(e,t,r){var a=this&&this.__decorate||function(e,t,r,a){var o,n=arguments.length,i=3>n?t:null===a?a=Object.getOwnPropertyDescriptor(t,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(3>n?o(i):n>3?o(t,r,i):o(t,r))||i);return n>3&&i&&Object.defineProperty(t,r,i),i},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},n=e("angular2/core"),i=e("angular2/core"),s=e("./dnd.config"),c=e("./dnd.service"),l=function(){function e(e,t,r){var a=this;this._dragDropService=t,this._config=r,this._dragEnabled=!1,this.dropEnabled=!1,this.dropZones=[],this._elem=e.nativeElement,this.dragEnabled=!0,this._elem.ondragenter=function(e){a._onDragEnter(e)},this._elem.ondragover=function(e){a._onDragOver(e),null!=e.dataTransfer&&(e.dataTransfer.dropEffect=a._config.dropEffect.name)},this._elem.ondragleave=function(e){a._onDragLeave(e)},this._elem.ondrop=function(e){a._onDrop(e)},this._elem.ondragstart=function(e){if(a._onDragStart(e),null!=e.dataTransfer&&(e.dataTransfer.effectAllowed=a._config.dragEffect.name,e.dataTransfer.setData("text",""),null!=a._config.dragImage)){var t=a._config.dragImage;e.dataTransfer.setDragImage(t.imageElement,t.x_offset,t.y_offset)}},this._elem.ondragend=function(e){a._onDragEnd(e)},this._elem.ontouchstart=function(e){a._onDragStart(e)},this._elem.ontouchend=function(e){a._onDragEnd(e)}}return Object.defineProperty(e.prototype,"dragEnabled",{get:function(){return this._dragEnabled},set:function(e){this._dragEnabled=!!e,this._elem.draggable=this._dragEnabled,null!=this._config.dragCursor&&(this._elem.style.cursor=this._dragEnabled?this._config.dragCursor:this._defaultCursor)},enumerable:!0,configurable:!0}),e.prototype._onDragEnter=function(e){this._isDropAllowed&&(e.preventDefault(),this._onDragEnterCallback(e))},e.prototype._onDragOver=function(e){this._isDropAllowed&&(e.preventDefault(),this._onDragOverCallback(e))},e.prototype._onDragLeave=function(e){this._isDropAllowed&&(e.preventDefault(),this._onDragLeaveCallback(e))},e.prototype._onDrop=function(e){this._isDropAllowed&&(e.preventDefault(),this._onDropCallback(e))},Object.defineProperty(e.prototype,"_isDropAllowed",{get:function(){if(this.dropEnabled){if(0===this.dropZones.length&&0===this._dragDropService.allowedDropZones.length)return!0;for(var e=0;e