ngx-bootstrap-ci
Version:
Native Angular Bootstrap Components
2 lines • 6.09 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("@angular/forms"),require("@angular/common")):"function"==typeof define&&define.amd?define("ngx-bootstrap/sortable",["exports","@angular/core","rxjs","@angular/forms","@angular/common"],t):t((e["ngx-bootstrap"]=e["ngx-bootstrap"]||{},e["ngx-bootstrap"].sortable={}),e.ng.core,e.rxjs,e.ng.forms,e.ng.common)}(this,function(e,r,t,i,n){"use strict";function o(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(r=o.next()).done;)a.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=o["return"])&&n.call(o)}finally{if(i)throw i.error}}return a}function a(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(o(arguments[t]));return e}var s=function(){function e(){this.onCapture=new t.Subject}return e.prototype.dragStart=function(e){this.draggableItem=e},e.prototype.getItem=function(){return this.draggableItem},e.prototype.captureItem=function(e,t){return this.draggableItem.overZoneIndex!==e&&(this.draggableItem.lastZoneIndex=this.draggableItem.overZoneIndex,this.draggableItem.overZoneIndex=e,this.onCapture.next(this.draggableItem),this.draggableItem=Object.assign({},this.draggableItem,{overZoneIndex:e,i:t})),this.draggableItem},e.prototype.onCaptureItem=function(){return this.onCapture},e.decorators=[{type:r.Injectable}],e}(),l=function(){function n(e){var t=this;this.wrapperClass="",this.wrapperStyle={},this.itemClass="",this.itemStyle={},this.itemActiveClass="",this.itemActiveStyle={},this.placeholderClass="",this.placeholderStyle={},this.placeholderItem="",this.onChange=new r.EventEmitter,this.showPlaceholder=!1,this.activeItem=-1,this.onTouched=Function.prototype,this.onChanged=Function.prototype,this.transfer=e,this.currentZoneIndex=n.globalZoneIndex++,this.transfer.onCaptureItem().subscribe(function(e){return t.onDrop(e)})}return Object.defineProperty(n.prototype,"items",{get:function(){return this._items},set:function(e){this._items=e;var t=this.items.map(function(e){return e.initData});this.onChanged(t),this.onChange.emit(t)},enumerable:!0,configurable:!0}),n.prototype.onItemDragstart=function(e,t,n){this.initDragstartEvent(e),this.onTouched(),this.transfer.dragStart({event:e,item:t,i:n,initialIndex:n,lastZoneIndex:this.currentZoneIndex,overZoneIndex:this.currentZoneIndex})},n.prototype.onItemDragover=function(e,t){if(this.transfer.getItem()){e.preventDefault();var n=this.transfer.captureItem(this.currentZoneIndex,this.items.length),r=[];r=this.items.length?n.i>t?a(this.items.slice(0,t),[n.item],this.items.slice(t,n.i),this.items.slice(n.i+1)):a(this.items.slice(0,n.i),this.items.slice(n.i+1,t+1),[n.item],this.items.slice(t+1)):[n.item],this.items=r,n.i=t,this.activeItem=t,this.updatePlaceholderState()}},n.prototype.cancelEvent=function(e){this.transfer.getItem()&&e&&e.preventDefault()},n.prototype.onDrop=function(n){n&&n.overZoneIndex!==this.currentZoneIndex&&n.lastZoneIndex===this.currentZoneIndex&&(this.items=this.items.filter(function(e,t){return t!==n.i}),this.updatePlaceholderState()),this.resetActiveItem(undefined)},n.prototype.resetActiveItem=function(e){this.cancelEvent(e),this.activeItem=-1},n.prototype.registerOnChange=function(e){this.onChanged=e},n.prototype.registerOnTouched=function(e){this.onTouched=e},n.prototype.writeValue=function(e){var n=this;this.items=e?e.map(function(e,t){return{id:t,initData:e,value:n.fieldName?e[n.fieldName]:e}}):[],this.updatePlaceholderState()},n.prototype.updatePlaceholderState=function(){this.showPlaceholder=!this._items.length},n.prototype.getItemStyle=function(e){return e?Object.assign({},this.itemStyle,this.itemActiveStyle):this.itemStyle},n.prototype.initDragstartEvent=function(e){e.dataTransfer.setData("Text","placeholder")},n.globalZoneIndex=0,n.decorators=[{type:r.Component,args:[{selector:"bs-sortable",exportAs:"bs-sortable",template:'\n<div\n [ngClass]="wrapperClass"\n [ngStyle]="wrapperStyle"\n [ngStyle]="wrapperStyle"\n (dragover)="cancelEvent($event)"\n (dragenter)="cancelEvent($event)"\n (drop)="resetActiveItem($event)"\n (mouseleave)="resetActiveItem($event)">\n <div\n *ngIf="showPlaceholder"\n [ngClass]="placeholderClass"\n [ngStyle]="placeholderStyle"\n (dragover)="onItemDragover($event, 0)"\n (dragenter)="cancelEvent($event)"\n >{{placeholderItem}}</div>\n <div\n *ngFor="let item of items; let i=index;"\n [ngClass]="[ itemClass, i === activeItem ? itemActiveClass : \'\' ]"\n [ngStyle]="getItemStyle(i === activeItem)"\n draggable="true"\n (dragstart)="onItemDragstart($event, item, i)"\n (dragend)="resetActiveItem($event)"\n (dragover)="onItemDragover($event, i)"\n (dragenter)="cancelEvent($event)"\n aria-dropeffect="move"\n [attr.aria-grabbed]="i === activeItem"\n ><ng-template [ngTemplateOutlet]="itemTemplate || defItemTemplate"\n [ngTemplateOutletContext]="{item:item, index: i}"></ng-template></div>\n</div>\n\n<ng-template #defItemTemplate let-item="item">{{item.value}}</ng-template> \n',providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return n}),multi:!0}]}]}],n.ctorParameters=function(){return[{type:s}]},n.propDecorators={fieldName:[{type:r.Input}],wrapperClass:[{type:r.Input}],wrapperStyle:[{type:r.Input}],itemClass:[{type:r.Input}],itemStyle:[{type:r.Input}],itemActiveClass:[{type:r.Input}],itemActiveStyle:[{type:r.Input}],placeholderClass:[{type:r.Input}],placeholderStyle:[{type:r.Input}],placeholderItem:[{type:r.Input}],itemTemplate:[{type:r.Input}],onChange:[{type:r.Output}]},n}(),p=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[s]}},e.decorators=[{type:r.NgModule,args:[{declarations:[l],imports:[n.CommonModule],exports:[l]}]}],e}();e.SortableModule=p,e.SortableComponent=l,e.DraggableItemService=s,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=ngx-bootstrap-sortable.umd.min.js.map