{"version":3,"file":"ngx-sortable.mjs","sources":["../../../projects/ngx-sortable/src/lib/types/ngx-sortable.types.ts","../../../projects/ngx-sortable/src/lib/components/ngx-sortable/ngx-sortable.component.ts","../../../projects/ngx-sortable/src/lib/components/ngx-sortable/ngx-sortable.component.html","../../../projects/ngx-sortable/src/lib/ngx-sortable.module.ts","../../../projects/ngx-sortable/src/public-api.ts","../../../projects/ngx-sortable/src/ngx-sortable.ts"],"sourcesContent":["export enum CommandKey {\n  CtrlKey = \"ctrlKey\",\n  ShiftKey = \"shiftKey\",\n  Altkey = \"altKey\",\n  MetaKey = \"metaKey\",\n}\n\nexport interface SortableEvent {\n  event?: any;\n  itemIndex: number;\n  newIndex?: number;\n  item: any;\n}\n","import { NgForOfContext } from \"@angular/common\";\nimport {\n  Component,\n  Input,\n  Output,\n  ContentChild,\n  EventEmitter,\n  TemplateRef,\n  HostListener,\n} from \"@angular/core\";\nimport { CommandKey, SortableEvent } from \"../../types/ngx-sortable.types\";\n@Component({\n  selector: \"ngx-sortable\",\n  templateUrl: \"./ngx-sortable.component.html\",\n  styleUrls: [\"./ngx-sortable.component.scss\"],\n})\nexport class NgxSortableComponent {\n  @Input() public items: any[] = [];\n  @Input() public name: string;\n  @Input() public showHeader = true;\n  @Input() public removeOnDropOutside = false;\n  @Output() public dragStart: EventEmitter<SortableEvent> = new EventEmitter();\n  @Output() public dropped: EventEmitter<SortableEvent> = new EventEmitter();\n  @Output() public moveDown: EventEmitter<SortableEvent> = new EventEmitter();\n  @Output() public moveUp: EventEmitter<SortableEvent> = new EventEmitter();\n  @Output() public remove: EventEmitter<SortableEvent> = new EventEmitter();\n  @Input() public listStyle: any = {\n    height: \"250px\",\n    width: \"300px\",\n    dropZoneHeight: \"50px\",\n  };\n  @Output() public listSorted: EventEmitter<any> = new EventEmitter();\n  @ContentChild(TemplateRef) public itemTemplate: TemplateRef<\n    NgForOfContext<any>\n  >;\n  @Input() arrowKeySort: boolean;\n  @Input() commandKey: CommandKey = CommandKey.CtrlKey;\n  public selectedItem: any;\n  public draggedIndex = -1;\n  public onDragOverIndex = -1;\n  constructor() {\n    // console.log('Intializing...');\n  }\n\n  @HostListener(\"document:keydown\", [\"$event\"]) public onArrowKeyDown(\n    $event: KeyboardEvent\n  ) {\n    /** istanbul ignore else */\n    if (this.arrowKeySort) {\n      /** istanbul ignore else */\n      if ($event.key === \"ArrowUp\" && $event[this.commandKey]) {\n        this.onMoveUp($event);\n      }\n      /** istanbul ignore else */\n      if ($event.key === \"ArrowDown\" && $event[this.commandKey]) {\n        this.onMoveDown($event);\n      }\n      $event.preventDefault();\n    }\n  }\n\n  @HostListener(\"document:dragend\") public onDragEnd() {\n    if (this.removeOnDropOutside) {\n      this.onRemoveDrop();\n    } else {\n      this.draggedIndex = -1;\n      this.onDragOverIndex = -1;\n    }\n  }\n\n  public selectItem(item: any) {\n    this.selectedItem = item;\n  }\n\n  public onMoveUp($event?: any) {\n    const index = this.items.indexOf(this.selectedItem);\n    /** istanbul ignore else */\n    if (index === 0) {\n      return;\n    }\n    this.swapElements(index, index - 1);\n    this.moveUp.emit({\n      event: $event,\n      itemIndex: index,\n      newIndex: index - 1,\n      item: this.selectedItem,\n    });\n    this.listSorted.emit(this.items);\n  }\n\n  public onMoveDown($event?: any) {\n    const index = this.items.indexOf(this.selectedItem);\n    if (index === this.items.length - 1) {\n      return;\n    }\n    this.swapElements(index, index + 1);\n    this.moveDown.emit({\n      event: $event,\n      itemIndex: index,\n      newIndex: index + 1,\n      item: this.selectedItem,\n    });\n    this.listSorted.emit(this.items);\n  }\n  public onDrop($event: any, index: number) {\n    // index is of the element on which the item is dropped\n    /** istanbul ignore else */\n    if (index === this.draggedIndex) {\n      this.draggedIndex = -1;\n      this.onDragOverIndex = -1;\n      return;\n    }\n    const dragIndex = this.draggedIndex;\n    this.handleDrop(index);\n    this.dropped.emit({\n      event: $event,\n      itemIndex: dragIndex,\n      newIndex: index,\n      item: this.selectedItem,\n    });\n  }\n  public allowDrop($event: any, index: number) {\n    // index is of the item on which the item is currently hovered\n    this.onDragOverIndex = index;\n    $event.preventDefault();\n  }\n  public onDragStart($event: any, index: number) {\n    this.selectItem(this.items[index]);\n    this.draggedIndex = index;\n    this.dragStart.emit({\n      event: $event,\n      itemIndex: index,\n      newIndex: -1,\n      item: this.selectedItem,\n    });\n  }\n\n  public handleDrop(droppedIndex: number) {\n    const item = this.items[this.draggedIndex];\n    this.items.splice(this.draggedIndex, 1);\n    this.items.splice(droppedIndex, 0, item);\n    this.draggedIndex = -1;\n    this.onDragOverIndex = -1;\n    this.listSorted.emit(this.items);\n  }\n\n  public swapElements(oldIndex: number, newIndex: number) {\n    const temp = this.items[oldIndex];\n    this.items[oldIndex] = this.items[newIndex];\n    this.items[newIndex] = temp;\n  }\n\n  public onRemoveDrop() {\n    this.items.splice(this.draggedIndex, 1);\n    this.remove.emit({\n      item: this.selectedItem,\n      itemIndex: this.draggedIndex,\n    });\n    this.draggedIndex = -1;\n    this.onDragOverIndex = -1;\n    this.listSorted.emit(this.items);\n  }\n}\n","<div class=\"sortable-container\" [style.width]='listStyle.width'>\n  <div class=\"sortable-header\" *ngIf=\"showHeader\">\n    <label class=\"sortable-name\">{{name}}</label>\n    <div class=\"sortable-buttons\">\n      <button (click)=\"onMoveUp()\" [disabled]=\"!selectedItem\" title=\"Move Up\">&#8679;</button>\n      <button (click)=\"onMoveDown()\" [disabled]=\"!selectedItem\" title=\"Move Down\">&#8681;</button>\n    </div>\n  </div>\n  <ul class=\"sortable-list\" [style.height]='listStyle.height'>\n    <li draggable=\"true\" (click)=\"selectItem(item)\" *ngFor=\"let item of items; let i = index;\"\n      [ngClass]=\"{'active': item == selectedItem}\" (drop)=\"onDrop($event, i)\" (dragover)=\"allowDrop($event,i)\"\n      (dragstart)=\"onDragStart($event, i)\">\n      <div class=\"drop-zone\" [style.height]=\"listStyle.dropZoneHeight\" *ngIf=\"onDragOverIndex == i && i==0\">\n      </div>\n      <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{\n        item: item,\n        index: i\n      }\">\n      </ng-template>\n      <div class=\"drop-zone\" [style.height]=\"listStyle.dropZoneHeight\" *ngIf=\"onDragOverIndex == i && i!=0\">\n      </div>\n    </li>\n  </ul>\n</div>","import { NgxSortableComponent } from './components/ngx-sortable/ngx-sortable.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n  declarations: [ NgxSortableComponent ],\r\n  imports: [ CommonModule ],\r\n  exports: [ NgxSortableComponent ],\r\n  providers: [],\r\n  bootstrap: []})\r\nexport class NgxSortableModule {}\r\n","/*\n * Public API Surface of ngx-sortable\n */\n\n// export * from './lib/ngx-sortable.service';\nexport * from './lib/components/index';\nexport * from './lib/ngx-sortable.module';\nexport * from './lib/types/ngx-sortable.types';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}