@period-year-norway/ngx-bootstrap
Version:
1 lines • 18 kB
Source Map (JSON)
{"version":3,"file":"period-year-norway-ngx-bootstrap-sortable.mjs","sources":["../../../../src/sortable/draggable-item.service.ts","../../../../src/sortable/sortable.component.ts","../../../../src/sortable/sortable.module.ts","../../../../src/sortable/period-year-norway-ngx-bootstrap-sortable.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { DraggableItem } from './draggable-item';\r\n\r\n@Injectable({providedIn: 'platform'})\r\nexport class DraggableItemService {\r\n private draggableItem?: DraggableItem;\r\n\r\n private onCapture: Subject<DraggableItem> = new Subject<DraggableItem>();\r\n\r\n dragStart(item: DraggableItem): void {\r\n this.draggableItem = item;\r\n }\r\n\r\n getItem(): DraggableItem | undefined {\r\n return this.draggableItem;\r\n }\r\n\r\n captureItem(overZoneIndex: number, newIndex: number): DraggableItem | undefined {\r\n if (this.draggableItem && this.draggableItem.overZoneIndex !== overZoneIndex) {\r\n this.draggableItem.lastZoneIndex = this.draggableItem.overZoneIndex;\r\n this.draggableItem.overZoneIndex = overZoneIndex;\r\n this.onCapture.next(this.draggableItem);\r\n this.draggableItem = Object.assign({}, this.draggableItem, {\r\n overZoneIndex,\r\n i: newIndex\r\n });\r\n }\r\n\r\n return this.draggableItem;\r\n }\r\n\r\n onCaptureItem(): Subject<DraggableItem> {\r\n return this.onCapture;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n forwardRef,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { DraggableItem } from './draggable-item';\r\nimport { DraggableItemService } from './draggable-item.service';\r\n\r\n@Component({\n selector: 'bs-sortable',\n exportAs: 'bs-sortable',\n template: `\r\n<div\r\n [ngClass]=\"wrapperClass\"\r\n [ngStyle]=\"wrapperStyle\"\r\n (dragover)=\"cancelEvent($event)\"\r\n (dragenter)=\"cancelEvent($event)\"\r\n (drop)=\"resetActiveItem($event)\"\r\n (mouseleave)=\"resetActiveItem($event)\">\r\n <div\r\n *ngIf=\"showPlaceholder\"\r\n [ngClass]=\"placeholderClass\"\r\n [ngStyle]=\"placeholderStyle\"\r\n (dragover)=\"onItemDragover($event, 0)\"\r\n (dragenter)=\"cancelEvent($event)\"\r\n >{{placeholderItem}}</div>\r\n <div\r\n *ngFor=\"let item of items; let i=index;\"\r\n [ngClass]=\"[ itemClass, i === activeItem ? itemActiveClass : '' ]\"\r\n [ngStyle]=\"getItemStyle(i === activeItem)\"\r\n draggable=\"true\"\r\n (dragstart)=\"onItemDragstart($event, item, i)\"\r\n (dragend)=\"resetActiveItem($event)\"\r\n (dragover)=\"onItemDragover($event, i)\"\r\n (dragenter)=\"cancelEvent($event)\"\r\n aria-dropeffect=\"move\"\r\n [attr.aria-grabbed]=\"i === activeItem\"\r\n ><ng-template [ngTemplateOutlet]=\"itemTemplate || defItemTemplate\"\r\n [ngTemplateOutletContext]=\"{item:item, index: i}\"></ng-template></div>\r\n</div>\r\n\r\n<ng-template #defItemTemplate let-item=\"item\">{{item.value}}</ng-template>\r\n`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SortableComponent),\n multi: true\n }\n ],\n standalone: false\n})\r\nexport class SortableComponent implements ControlValueAccessor {\r\n private static globalZoneIndex = 0;\r\n /** field name if input array consists of objects */\r\n @Input() fieldName?: string;\r\n\r\n /** class name for items wrapper */\r\n @Input() wrapperClass = '';\r\n\r\n /** style object for items wrapper */\r\n @Input() wrapperStyle: Record<string, string> = {};\r\n\r\n /** class name for item */\r\n @Input() itemClass = '';\r\n\r\n /** style object for item */\r\n @Input() itemStyle: Record<string, string> = {};\r\n\r\n /** class name for active item */\r\n @Input() itemActiveClass = '';\r\n\r\n /** style object for active item */\r\n @Input() itemActiveStyle: Record<string, string> = {};\r\n\r\n /** class name for placeholder */\r\n @Input() placeholderClass = '';\r\n\r\n /** style object for placeholder */\r\n @Input() placeholderStyle: Record<string, string> = {};\r\n\r\n /** placeholder item which will be shown if collection is empty */\r\n @Input() placeholderItem = '';\r\n\r\n /** used to specify a custom item template. Template variables: item and index; */\r\n @Input() itemTemplate?: TemplateRef<unknown>;\r\n\r\n /** fired on array change (reordering, insert, remove), same as <code>ngModelChange</code>.\r\n * Returns new items collection as a payload.\r\n */\r\n @Output() onChange: EventEmitter<unknown[]> = new EventEmitter<unknown[]>();\r\n\r\n showPlaceholder = false;\r\n activeItem = -1;\r\n\r\n get items(): SortableItem[] {\r\n return this._items;\r\n }\r\n\r\n set items(value: SortableItem[]) {\r\n this._items = value;\r\n const out = this.items.map((x: SortableItem) => x.initData);\r\n this.onChanged(out);\r\n this.onChange.emit(out);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onTouched: any = Function.prototype;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChanged: any = Function.prototype;\r\n\r\n private transfer: DraggableItemService;\r\n private currentZoneIndex: number;\r\n private _items: SortableItem[] = [];\r\n\r\n constructor(transfer: DraggableItemService) {\r\n this.transfer = transfer;\r\n this.currentZoneIndex = SortableComponent.globalZoneIndex++;\r\n this.transfer\r\n .onCaptureItem()\r\n .subscribe((item: DraggableItem) => this.onDrop(item));\r\n }\r\n\r\n onItemDragstart(\r\n event: DragEvent,\r\n item: SortableItem,\r\n i: number\r\n ): void {\r\n this.initDragstartEvent(event);\r\n this.onTouched();\r\n this.transfer.dragStart({\r\n event,\r\n item,\r\n i,\r\n initialIndex: i,\r\n lastZoneIndex: this.currentZoneIndex,\r\n overZoneIndex: this.currentZoneIndex\r\n });\r\n }\r\n\r\n onItemDragover(event: DragEvent, i: number): void {\r\n if (!this.transfer.getItem()) {\r\n return;\r\n }\r\n event.preventDefault();\r\n const dragItem = this.transfer.captureItem(\r\n this.currentZoneIndex,\r\n this.items.length\r\n );\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n let newArray: any[] = [];\r\n\r\n if (!dragItem) {\r\n return;\r\n }\r\n\r\n if (!this.items.length) {\r\n newArray = [dragItem.item];\r\n } else if (dragItem.i > i) {\r\n newArray = [\r\n ...this.items.slice(0, i),\r\n dragItem.item,\r\n ...this.items.slice(i, dragItem.i),\r\n ...this.items.slice(dragItem.i + 1)\r\n ];\r\n } else {\r\n // this.draggedItem.i < i\r\n newArray = [\r\n ...this.items.slice(0, dragItem.i),\r\n ...this.items.slice(dragItem.i + 1, i + 1),\r\n dragItem.item,\r\n ...this.items.slice(i + 1)\r\n ];\r\n }\r\n this.items = newArray;\r\n dragItem.i = i;\r\n this.activeItem = i;\r\n this.updatePlaceholderState();\r\n }\r\n\r\n cancelEvent(event?: DragEvent|MouseEvent): void {\r\n if (!this.transfer.getItem() || !event) {\r\n return;\r\n }\r\n event.preventDefault();\r\n }\r\n\r\n onDrop(item: DraggableItem): void {\r\n if (\r\n item &&\r\n item.overZoneIndex !== this.currentZoneIndex &&\r\n item.lastZoneIndex === this.currentZoneIndex\r\n ) {\r\n this.items = this.items.filter(\r\n (x: SortableItem, i: number) => i !== item.i\r\n );\r\n this.updatePlaceholderState();\r\n }\r\n this.resetActiveItem();\r\n }\r\n\r\n resetActiveItem(event?: DragEvent|MouseEvent): void {\r\n this.cancelEvent(event);\r\n this.activeItem = -1;\r\n }\r\n\r\n registerOnChange(callback: () => void): void {\r\n this.onChanged = callback;\r\n }\r\n\r\n registerOnTouched(callback: () => void): void {\r\n this.onTouched = callback;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n writeValue(value: any[]): void {\r\n if (value) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n this.items = value.map((x: any, i: number) => ({\r\n id: i,\r\n initData: x,\r\n value: this.fieldName ? x[this.fieldName] : x\r\n }));\r\n } else {\r\n this.items = [];\r\n }\r\n this.updatePlaceholderState();\r\n }\r\n\r\n updatePlaceholderState(): void {\r\n this.showPlaceholder = !this._items.length;\r\n }\r\n\r\n getItemStyle(isActive: boolean) {\r\n return isActive\r\n ? Object.assign({}, this.itemStyle, this.itemActiveStyle)\r\n : this.itemStyle;\r\n }\r\n\r\n private initDragstartEvent(event: DragEvent): void {\r\n // it is necessary for mozilla\r\n // data type should be 'Text' instead of 'text/plain' to keep compatibility\r\n // with IE\r\n event.dataTransfer?.setData('Text', 'placeholder');\r\n }\r\n}\r\n\r\nexport declare interface SortableItem {\r\n id: number;\r\n value: string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n initData: any;\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SortableComponent } from './sortable.component';\r\nimport { DraggableItemService } from './draggable-item.service';\r\n\r\n@NgModule({\r\n declarations: [SortableComponent],\r\n imports: [CommonModule],\r\n exports: [SortableComponent]\r\n})\r\nexport class SortableModule {\r\n static forRoot(): ModuleWithProviders<SortableModule> {\r\n return { ngModule: SortableModule, providers: [DraggableItemService] };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DraggableItemService"],"mappings":"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"}