@recursyve/nice-ui-kit.v2 14.0.0-beta.108 → 14.0.0-beta.110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/directives/draggable-list/draggable-list.directive.mjs +94 -0
- package/esm2020/lib/directives/draggable-list/draggable-list.module.mjs +18 -0
- package/esm2020/lib/directives/draggable-list/index.mjs +2 -0
- package/esm2020/lib/directives/draggable-list/public-api.mjs +3 -0
- package/esm2020/lib/directives/public-api.mjs +2 -1
- package/esm2020/lib/utils/lexorank.utils.mjs +28 -0
- package/esm2020/lib/utils/public-api.mjs +2 -1
- package/fesm2015/recursyve-nice-ui-kit.v2.mjs +134 -2
- package/fesm2015/recursyve-nice-ui-kit.v2.mjs.map +1 -1
- package/fesm2020/recursyve-nice-ui-kit.v2.mjs +131 -2
- package/fesm2020/recursyve-nice-ui-kit.v2.mjs.map +1 -1
- package/lib/directives/draggable-list/draggable-list.directive.d.ts +24 -0
- package/lib/directives/draggable-list/draggable-list.module.d.ts +8 -0
- package/lib/directives/draggable-list/index.d.ts +1 -0
- package/lib/directives/draggable-list/public-api.d.ts +2 -0
- package/lib/directives/public-api.d.ts +1 -0
- package/lib/utils/lexorank.utils.d.ts +6 -0
- package/lib/utils/public-api.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { CdkDropList, moveItemInArray } from "@angular/cdk/drag-drop";
|
|
2
|
+
import { Directive, EventEmitter, Input, Optional, Output } from "@angular/core";
|
|
3
|
+
import { FormArrayName } from "@angular/forms";
|
|
4
|
+
import { pairwise, startWith, Subject } from "rxjs";
|
|
5
|
+
import { map, takeUntil } from "rxjs/operators";
|
|
6
|
+
import { LexoRankUtils } from "../../utils/lexorank.utils";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/forms";
|
|
9
|
+
import * as i2 from "@angular/cdk/drag-drop";
|
|
10
|
+
export class NiceDraggableListDirective {
|
|
11
|
+
constructor(formArrayName, cdkDropList) {
|
|
12
|
+
this.formArrayName = formArrayName;
|
|
13
|
+
this.cdkDropList = cdkDropList;
|
|
14
|
+
this.rankProperty = "rank";
|
|
15
|
+
this.itemsUpdated = new EventEmitter();
|
|
16
|
+
this.itemRankUpdated = new EventEmitter();
|
|
17
|
+
this.sortedItems = [];
|
|
18
|
+
this.unsubscribeAll$ = new Subject();
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
if (this.formArrayName) {
|
|
22
|
+
this.formArray = this.formArrayName.control;
|
|
23
|
+
this.formArray.valueChanges.pipe(takeUntil(this.unsubscribeAll$), startWith(this.formArray.getRawValue()), map(() => this.formArray.getRawValue()), pairwise()).subscribe(([previous, current]) => {
|
|
24
|
+
if (previous.length !== current.length) {
|
|
25
|
+
this.sortItems(current);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
this.sortItems(this.formArray.getRawValue());
|
|
29
|
+
}
|
|
30
|
+
this.cdkDropList.dropped.pipe(takeUntil(this.unsubscribeAll$)).subscribe((event) => this.drop(event));
|
|
31
|
+
}
|
|
32
|
+
ngOnDestroy() {
|
|
33
|
+
this.unsubscribeAll$.next();
|
|
34
|
+
this.unsubscribeAll$.complete();
|
|
35
|
+
}
|
|
36
|
+
ngOnChanges(changes) {
|
|
37
|
+
if ("items" in changes && this.items) {
|
|
38
|
+
this.sortItems(this.items);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
drop(event) {
|
|
42
|
+
if (event.previousContainer === event.container) {
|
|
43
|
+
if (event.previousIndex === event.currentIndex) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
event.item.data[this.rankProperty] = this.getNextRank(event);
|
|
47
|
+
this.sortItems(this.sortedItems);
|
|
48
|
+
this.itemsUpdated.next(this.sortedItems);
|
|
49
|
+
this.itemRankUpdated.next(event.item.data);
|
|
50
|
+
if (this.formArray) {
|
|
51
|
+
this.formArray.get([event.previousIndex, this.rankProperty])?.patchValue(event.item.data[this.rankProperty]);
|
|
52
|
+
moveItemInArray(this.formArray.controls, event.previousIndex, event.currentIndex);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// TODO: Handle container change
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
sortItems(items) {
|
|
60
|
+
if (items.length && items.some((item) => !item[this.rankProperty])) {
|
|
61
|
+
throw new Error(`All items must have a ${this.rankProperty}`);
|
|
62
|
+
}
|
|
63
|
+
this.sortedItems = [...items]
|
|
64
|
+
.map(item => ({ ...item }))
|
|
65
|
+
.sort((itemA, itemB) => LexoRankUtils.compareStringFn(itemA[this.rankProperty], itemB[this.rankProperty]));
|
|
66
|
+
this.cdkDropList.data = this.sortedItems;
|
|
67
|
+
}
|
|
68
|
+
getNextRank(event) {
|
|
69
|
+
const fromIndex = event.previousIndex;
|
|
70
|
+
const toIndex = event.currentIndex;
|
|
71
|
+
const itemAfter = this.sortedItems[fromIndex > toIndex ? toIndex : toIndex + 1];
|
|
72
|
+
const itemBefore = this.sortedItems[fromIndex > toIndex ? toIndex - 1 : toIndex];
|
|
73
|
+
return LexoRankUtils.getNewRank(itemAfter?.[this.rankProperty], itemBefore?.[this.rankProperty]);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
NiceDraggableListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDraggableListDirective, deps: [{ token: i1.FormArrayName, optional: true }, { token: i2.CdkDropList }], target: i0.ɵɵFactoryTarget.Directive });
|
|
77
|
+
NiceDraggableListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceDraggableListDirective, selector: "[cdkDropList][niceDraggableList]", inputs: { items: "items", rankProperty: "rankProperty" }, outputs: { itemsUpdated: "itemsUpdated", itemRankUpdated: "itemRankUpdated" }, usesOnChanges: true, ngImport: i0 });
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDraggableListDirective, decorators: [{
|
|
79
|
+
type: Directive,
|
|
80
|
+
args: [{
|
|
81
|
+
selector: "[cdkDropList][niceDraggableList]"
|
|
82
|
+
}]
|
|
83
|
+
}], ctorParameters: function () { return [{ type: i1.FormArrayName, decorators: [{
|
|
84
|
+
type: Optional
|
|
85
|
+
}] }, { type: i2.CdkDropList }]; }, propDecorators: { items: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], rankProperty: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], itemsUpdated: [{
|
|
90
|
+
type: Output
|
|
91
|
+
}], itemRankUpdated: [{
|
|
92
|
+
type: Output
|
|
93
|
+
}] } });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLWxpc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9kaXJlY3RpdmVzL2RyYWdnYWJsZS1saXN0L2RyYWdnYWJsZS1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZ0MsUUFBUSxFQUFFLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUszRCxNQUFNLE9BQU8sMEJBQTBCO0lBa0JuQyxZQUFnQyxhQUE0QixFQUFVLFdBQXdCO1FBQTlELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFidkYsaUJBQVksR0FBRyxNQUFNLENBQUM7UUFHdEIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBR3ZDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztRQUV4QyxnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUdyQixvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFbUQsQ0FBQztJQUUzRixRQUFRO1FBQ1gsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxD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dEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0NBQWtDO2lCQUMvQzs7MEJBbUJnQixRQUFRO3NFQWhCZCxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixNQUFNO2dCQUlBLGVBQWU7c0JBRHJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgQ2RrRHJvcExpc3QsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gXCJAYW5ndWxhci9jZGsvZHJhZy1kcm9wXCI7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQXJyYXlOYW1lIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBwYWlyd2lzZSwgc3RhcnRXaXRoLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBMZXhvUmFua1V0aWxzIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2xleG9yYW5rLnV0aWxzXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltjZGtEcm9wTGlzdF1bbmljZURyYWdnYWJsZUxpc3RdXCJcbn0pXG5leHBvcnQgY2xhc3MgTmljZURyYWdnYWJsZUxpc3REaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtczogVFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmFua1Byb3BlcnR5ID0gXCJyYW5rXCI7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXRlbXNVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUW10+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXRlbVJhbmtVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuXG4gICAgcHVibGljIHNvcnRlZEl0ZW1zOiBUW10gPSBbXTtcbiAgICBwdWJsaWMgZm9ybUFycmF5OiBGb3JtQXJyYXk7XG5cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlQWxsJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIGZvcm1BcnJheU5hbWU6IEZvcm1BcnJheU5hbWUsIHByaXZhdGUgY2RrRHJvcExpc3Q6IENka0Ryb3BMaXN0KSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtQXJyYXlOYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1BcnJheSA9IHRoaXMuZm9ybUFycmF5TmFtZS5jb250cm9sO1xuICAgICAgICAgICAgdGhpcy5mb3JtQXJyYXkudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgodGhpcy5mb3JtQXJyYXkuZ2V0UmF3VmFsdWUoKSksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZm9ybUFycmF5LmdldFJhd1ZhbHVlKCkpLFxuICAgICAgICAgICAgICAgIHBhaXJ3aXNlKClcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKChbcHJldmlvdXMsIGN1cnJlbnRdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzLmxlbmd0aCAhPT0gY3VycmVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zb3J0SXRlbXMoY3VycmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuc29ydEl0ZW1zKHRoaXMuZm9ybUFycmF5LmdldFJhd1ZhbHVlKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jZGtEcm9wTGlzdC5kcm9wcGVkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSkuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5kcm9wKGV2ZW50KSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVBbGwkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKFwiaXRlbXNcIiBpbiBjaGFuZ2VzICYmIHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuc29ydEl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPGFueSwgYW55Pik6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgPT09IGV2ZW50LmNvbnRhaW5lcikge1xuICAgICAgICAgICAgaWYgKGV2ZW50LnByZXZpb3VzSW5kZXggPT09IGV2ZW50LmN1cnJlbnRJbmRleCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXZlbnQuaXRlbS5kYXRhW3RoaXMucmFua1Byb3BlcnR5XSA9IHRoaXMuZ2V0TmV4dFJhbmsoZXZlbnQpO1xuICAgICAgICAgICAgdGhpcy5zb3J0SXRlbXModGhpcy5zb3J0ZWRJdGVtcyk7XG4gICAgICAgICAgICB0aGlzLml0ZW1zVXBkYXRlZC5uZXh0KHRoaXMuc29ydGVkSXRlbXMpO1xuICAgICAgICAgICAgdGhpcy5pdGVtUmFua1VwZGF0ZWQubmV4dChldmVudC5pdGVtLmRhdGEpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5mb3JtQXJyYXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1BcnJheS5nZXQoW2V2ZW50LnByZXZpb3VzSW5kZXgsIHRoaXMucmFua1Byb3BlcnR5XSk/LnBhdGNoVmFsdWUoZXZlbnQuaXRlbS5kYXRhW3RoaXMucmFua1Byb3BlcnR5XSk7XG4gICAgICAgICAgICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuZm9ybUFycmF5LmNvbnRyb2xzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gVE9ETzogSGFuZGxlIGNvbnRhaW5lciBjaGFuZ2VcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc29ydEl0ZW1zKGl0ZW1zOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbXMubGVuZ3RoICYmIGl0ZW1zLnNvbWUoKGl0ZW0pID0+ICFpdGVtW3RoaXMucmFua1Byb3BlcnR5XSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQWxsIGl0ZW1zIG11c3QgaGF2ZSBhICR7dGhpcy5yYW5rUHJvcGVydHl9YCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNvcnRlZEl0ZW1zID0gWy4uLml0ZW1zXVxuICAgICAgICAgICAgLm1hcChpdGVtID0+ICh7Li4uaXRlbX0pKVxuICAgICAgICAgICAgLnNvcnQoKGl0ZW1BLCBpdGVtQikgPT4gTGV4b1JhbmtVdGlscy5jb21wYXJlU3RyaW5nRm4oaXRlbUFbdGhpcy5yYW5rUHJvcGVydHldLCBpdGVtQlt0aGlzLnJhbmtQcm9wZXJ0eV0pKTtcbiAgICAgICAgdGhpcy5jZGtEcm9wTGlzdC5kYXRhID0gdGhpcy5zb3J0ZWRJdGVtcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5leHRSYW5rKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnksIGFueT4pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmcm9tSW5kZXggPSBldmVudC5wcmV2aW91c0luZGV4O1xuICAgICAgICBjb25zdCB0b0luZGV4ID0gZXZlbnQuY3VycmVudEluZGV4O1xuXG4gICAgICAgIGNvbnN0IGl0ZW1BZnRlciA9IHRoaXMuc29ydGVkSXRlbXNbZnJvbUluZGV4ID4gdG9JbmRleCA/IHRvSW5kZXggOiB0b0luZGV4ICsgMV07XG4gICAgICAgIGNvbnN0IGl0ZW1CZWZvcmUgPSB0aGlzLnNvcnRlZEl0ZW1zW2Zyb21JbmRleCA+IHRvSW5kZXggPyB0b0luZGV4IC0gMSA6IHRvSW5kZXhdO1xuICAgICAgICByZXR1cm4gTGV4b1JhbmtVdGlscy5nZXROZXdSYW5rKGl0ZW1BZnRlcj8uW3RoaXMucmFua1Byb3BlcnR5XSwgaXRlbUJlZm9yZT8uW3RoaXMucmFua1Byb3BlcnR5XSk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DragDropModule } from "@angular/cdk/drag-drop";
|
|
2
|
+
import { NgModule } from "@angular/core";
|
|
3
|
+
import { NiceDraggableListDirective } from "./draggable-list.directive";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class NiceDraggableListModule {
|
|
6
|
+
}
|
|
7
|
+
NiceDraggableListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDraggableListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
NiceDraggableListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: NiceDraggableListModule, declarations: [NiceDraggableListDirective], imports: [DragDropModule], exports: [NiceDraggableListDirective] });
|
|
9
|
+
NiceDraggableListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDraggableListModule, imports: [DragDropModule] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDraggableListModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
imports: [DragDropModule],
|
|
14
|
+
declarations: [NiceDraggableListDirective],
|
|
15
|
+
exports: [NiceDraggableListDirective],
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9kaXJlY3RpdmVzL2RyYWdnYWJsZS1saXN0L2RyYWdnYWJsZS1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPeEUsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1QjtxSEFBdkIsdUJBQXVCLGlCQUhqQiwwQkFBMEIsYUFEL0IsY0FBYyxhQUVkLDBCQUEwQjtxSEFFM0IsdUJBQXVCLFlBSnRCLGNBQWM7MkZBSWYsdUJBQXVCO2tCQUxuQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDekIsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQzFDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9kcmFnLWRyb3BcIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgTmljZURyYWdnYWJsZUxpc3REaXJlY3RpdmUgfSBmcm9tIFwiLi9kcmFnZ2FibGUtbGlzdC5kaXJlY3RpdmVcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbRHJhZ0Ryb3BNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW05pY2VEcmFnZ2FibGVMaXN0RGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbTmljZURyYWdnYWJsZUxpc3REaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBOaWNlRHJhZ2dhYmxlTGlzdE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./public-api";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2RpcmVjdGl2ZXMvZHJhZ2dhYmxlLWxpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9wdWJsaWMtYXBpXCI7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./draggable-list.directive";
|
|
2
|
+
export * from "./draggable-list.module";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvZGlyZWN0aXZlcy9kcmFnZ2FibGUtbGlzdC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2RyYWdnYWJsZS1saXN0LmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZHJhZ2dhYmxlLWxpc3QubW9kdWxlXCI7XG4iXX0=
|
|
@@ -2,6 +2,7 @@ export * from "./autofocus";
|
|
|
2
2
|
export * from "./autogrow";
|
|
3
3
|
export * from "./chip-async-typeahead";
|
|
4
4
|
export * from "./chip-list";
|
|
5
|
+
export * from "./draggable-list";
|
|
5
6
|
export * from "./dropzone";
|
|
6
7
|
export * from "./image-error-placeholder";
|
|
7
8
|
export * from "./material";
|
|
@@ -10,4 +11,4 @@ export * from "./scroll-reset";
|
|
|
10
11
|
export * from "./scrollbar";
|
|
11
12
|
export * from "./stop-propagation";
|
|
12
13
|
export * from "./window";
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvZGlyZWN0aXZlcy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2F1dG9mb2N1c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXV0b2dyb3dcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NoaXAtYXN5bmMtdHlwZWFoZWFkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jaGlwLWxpc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RyYWdnYWJsZS1saXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kcm9wem9uZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW1hZ2UtZXJyb3ItcGxhY2Vob2xkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21hdGVyaWFsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RhbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Njcm9sbC1yZXNldFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2Nyb2xsYmFyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdG9wLXByb3BhZ2F0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93aW5kb3dcIjtcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { LexoRank } from "lexorank";
|
|
2
|
+
export class LexoRankUtils {
|
|
3
|
+
static compareStringFn(previousRank, nextRank) {
|
|
4
|
+
if (!previousRank || !nextRank) {
|
|
5
|
+
return 0;
|
|
6
|
+
}
|
|
7
|
+
return LexoRank.parse(previousRank).compareTo(LexoRank.parse(nextRank));
|
|
8
|
+
}
|
|
9
|
+
static compareFn(previousRank, nextRank) {
|
|
10
|
+
return previousRank.compareTo(nextRank);
|
|
11
|
+
}
|
|
12
|
+
static getNewRank(afterRank, beforeRank) {
|
|
13
|
+
if (afterRank && beforeRank) {
|
|
14
|
+
if (LexoRank.parse(beforeRank).equals(LexoRank.parse(afterRank))) {
|
|
15
|
+
return LexoRank.parse(afterRank).genPrev().toString();
|
|
16
|
+
}
|
|
17
|
+
return LexoRank.parse(afterRank).between(LexoRank.parse(beforeRank)).toString();
|
|
18
|
+
}
|
|
19
|
+
if (afterRank) {
|
|
20
|
+
return LexoRank.parse(afterRank).genPrev().toString();
|
|
21
|
+
}
|
|
22
|
+
if (beforeRank) {
|
|
23
|
+
return LexoRank.parse(beforeRank).genNext().toString();
|
|
24
|
+
}
|
|
25
|
+
return LexoRank.middle().toString();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV4b3JhbmsudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL3V0aWxzL2xleG9yYW5rLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFcEMsTUFBTSxPQUFPLGFBQWE7SUFDZixNQUFNLENBQUMsZUFBZSxDQUFDLFlBQXFCLEVBQUUsUUFBaUI7UUFDbEUsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM1QixPQUFPLENBQUMsQ0FBQztTQUNaO1FBRUQsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBc0IsRUFBRSxRQUFrQjtRQUM5RCxPQUFPLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBa0IsRUFBRSxVQUFtQjtRQUM1RCxJQUFJLFNBQVMsSUFBSSxVQUFVLEVBQUU7WUFDekIsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlELE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUN6RDtZQUVELE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ25GO1FBRUQsSUFBSSxTQUFTLEVBQUU7WUFDWCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDekQ7UUFFRCxJQUFJLFVBQVUsRUFBRTtZQUNaLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMxRDtRQUVELE9BQU8sUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExleG9SYW5rIH0gZnJvbSBcImxleG9yYW5rXCI7XG5cbmV4cG9ydCBjbGFzcyBMZXhvUmFua1V0aWxzIHtcbiAgICBwdWJsaWMgc3RhdGljIGNvbXBhcmVTdHJpbmdGbihwcmV2aW91c1Jhbms/OiBzdHJpbmcsIG5leHRSYW5rPzogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFwcmV2aW91c1JhbmsgfHwgIW5leHRSYW5rKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBMZXhvUmFuay5wYXJzZShwcmV2aW91c1JhbmspLmNvbXBhcmVUbyhMZXhvUmFuay5wYXJzZShuZXh0UmFuaykpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY29tcGFyZUZuKHByZXZpb3VzUmFuazogTGV4b1JhbmssIG5leHRSYW5rOiBMZXhvUmFuayk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBwcmV2aW91c1JhbmsuY29tcGFyZVRvKG5leHRSYW5rKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE5ld1JhbmsoYWZ0ZXJSYW5rPzogc3RyaW5nLCBiZWZvcmVSYW5rPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGFmdGVyUmFuayAmJiBiZWZvcmVSYW5rKSB7XG4gICAgICAgICAgICBpZiAoTGV4b1JhbmsucGFyc2UoYmVmb3JlUmFuaykuZXF1YWxzKExleG9SYW5rLnBhcnNlKGFmdGVyUmFuaykpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIExleG9SYW5rLnBhcnNlKGFmdGVyUmFuaykuZ2VuUHJldigpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBMZXhvUmFuay5wYXJzZShhZnRlclJhbmspLmJldHdlZW4oTGV4b1JhbmsucGFyc2UoYmVmb3JlUmFuaykpLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWZ0ZXJSYW5rKSB7XG4gICAgICAgICAgICByZXR1cm4gTGV4b1JhbmsucGFyc2UoYWZ0ZXJSYW5rKS5nZW5QcmV2KCkudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChiZWZvcmVSYW5rKSB7XG4gICAgICAgICAgICByZXR1cm4gTGV4b1JhbmsucGFyc2UoYmVmb3JlUmFuaykuZ2VuTmV4dCgpLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gTGV4b1JhbmsubWlkZGxlKCkudG9TdHJpbmcoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -7,6 +7,7 @@ export * from "./font-awesome.utils";
|
|
|
7
7
|
export * from "./form-data.utils";
|
|
8
8
|
export * from "./http-status.utils";
|
|
9
9
|
export * from "./keyboard.utils";
|
|
10
|
+
export * from "./lexorank.utils";
|
|
10
11
|
export * from "./modal.utils";
|
|
11
12
|
export * from "./number.utils";
|
|
12
13
|
export * from "./object.utils";
|
|
@@ -15,4 +16,4 @@ export * from "./query-params.utils";
|
|
|
15
16
|
export * from "./regex.utils";
|
|
16
17
|
export * from "./type.utils";
|
|
17
18
|
export * from "./url.utils";
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvdXRpbHMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYXJyYXkudXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Nhc2UudXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbG9ycy51dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0ZS51dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsZS51dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9udC1hd2Vzb21lLnV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3JtLWRhdGEudXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2h0dHAtc3RhdHVzLnV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9rZXlib2FyZC51dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGV4b3JhbmsudXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21vZGFsLnV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9udW1iZXIudXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL29iamVjdC51dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvbWlzZS51dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcXVlcnktcGFyYW1zLnV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWdleC51dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZS51dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXJsLnV0aWxzXCI7XG4iXX0=
|
|
@@ -6,7 +6,7 @@ import { Injectable, NgModule, EventEmitter, Component, ViewEncapsulation, Chang
|
|
|
6
6
|
import { plainToInstance } from 'class-transformer';
|
|
7
7
|
import { map, filter, takeUntil, tap, take, debounceTime as debounceTime$1, delay, switchMap } from 'rxjs/operators';
|
|
8
8
|
import { __rest, __awaiter } from 'tslib';
|
|
9
|
-
import { catchError, ReplaySubject, Subject, BehaviorSubject, mergeMap, from, isObservable, firstValueFrom, debounceTime, distinctUntilChanged, startWith, tap as tap$1, Observable, combineLatest, of, fromEvent, merge as merge$1 } from 'rxjs';
|
|
9
|
+
import { catchError, ReplaySubject, Subject, BehaviorSubject, mergeMap, from, isObservable, firstValueFrom, debounceTime, distinctUntilChanged, startWith, tap as tap$1, Observable, combineLatest, of, fromEvent, merge as merge$1, pairwise } from 'rxjs';
|
|
10
10
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
11
11
|
import * as i2 from '@angular/common';
|
|
12
12
|
import { CommonModule, DatePipe, CurrencyPipe, DOCUMENT, isPlatformServer } from '@angular/common';
|
|
@@ -16,6 +16,7 @@ import * as i4 from '@angular/material/icon';
|
|
|
16
16
|
import { MatIconModule } from '@angular/material/icon';
|
|
17
17
|
import * as i1$2 from '@angular/forms';
|
|
18
18
|
import { NG_VALUE_ACCESSOR, FormControl, Validators, ReactiveFormsModule, FormsModule, FormGroup } from '@angular/forms';
|
|
19
|
+
import { LexoRank } from 'lexorank';
|
|
19
20
|
import * as i4$1 from '@angular/material/menu';
|
|
20
21
|
import { MatMenuModule } from '@angular/material/menu';
|
|
21
22
|
import * as i2$1 from '@angular/material/core';
|
|
@@ -66,6 +67,8 @@ import * as i1$e from '@angular/material/dialog';
|
|
|
66
67
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
67
68
|
import * as i1$f from '@angular/material/snack-bar';
|
|
68
69
|
import { MAT_SNACK_BAR_DATA, MatSnackBarModule } from '@angular/material/snack-bar';
|
|
70
|
+
import * as i2$4 from '@angular/cdk/drag-drop';
|
|
71
|
+
import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
|
|
69
72
|
|
|
70
73
|
class NiceAnimationCurves {
|
|
71
74
|
}
|
|
@@ -1451,6 +1454,33 @@ var KeyboardCodes;
|
|
|
1451
1454
|
KeyboardCodes["Comma"] = "Comma";
|
|
1452
1455
|
})(KeyboardCodes || (KeyboardCodes = {}));
|
|
1453
1456
|
|
|
1457
|
+
class LexoRankUtils {
|
|
1458
|
+
static compareStringFn(previousRank, nextRank) {
|
|
1459
|
+
if (!previousRank || !nextRank) {
|
|
1460
|
+
return 0;
|
|
1461
|
+
}
|
|
1462
|
+
return LexoRank.parse(previousRank).compareTo(LexoRank.parse(nextRank));
|
|
1463
|
+
}
|
|
1464
|
+
static compareFn(previousRank, nextRank) {
|
|
1465
|
+
return previousRank.compareTo(nextRank);
|
|
1466
|
+
}
|
|
1467
|
+
static getNewRank(afterRank, beforeRank) {
|
|
1468
|
+
if (afterRank && beforeRank) {
|
|
1469
|
+
if (LexoRank.parse(beforeRank).equals(LexoRank.parse(afterRank))) {
|
|
1470
|
+
return LexoRank.parse(afterRank).genPrev().toString();
|
|
1471
|
+
}
|
|
1472
|
+
return LexoRank.parse(afterRank).between(LexoRank.parse(beforeRank)).toString();
|
|
1473
|
+
}
|
|
1474
|
+
if (afterRank) {
|
|
1475
|
+
return LexoRank.parse(afterRank).genPrev().toString();
|
|
1476
|
+
}
|
|
1477
|
+
if (beforeRank) {
|
|
1478
|
+
return LexoRank.parse(beforeRank).genNext().toString();
|
|
1479
|
+
}
|
|
1480
|
+
return LexoRank.middle().toString();
|
|
1481
|
+
}
|
|
1482
|
+
}
|
|
1483
|
+
|
|
1454
1484
|
var ModalMode;
|
|
1455
1485
|
(function (ModalMode) {
|
|
1456
1486
|
ModalMode[ModalMode["Create"] = 0] = "Create";
|
|
@@ -10414,6 +10444,108 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
10414
10444
|
}]
|
|
10415
10445
|
}] });
|
|
10416
10446
|
|
|
10447
|
+
class NiceDraggableListDirective {
|
|
10448
|
+
constructor(formArrayName, cdkDropList) {
|
|
10449
|
+
this.formArrayName = formArrayName;
|
|
10450
|
+
this.cdkDropList = cdkDropList;
|
|
10451
|
+
this.rankProperty = "rank";
|
|
10452
|
+
this.itemsUpdated = new EventEmitter();
|
|
10453
|
+
this.itemRankUpdated = new EventEmitter();
|
|
10454
|
+
this.sortedItems = [];
|
|
10455
|
+
this.unsubscribeAll$ = new Subject();
|
|
10456
|
+
}
|
|
10457
|
+
ngOnInit() {
|
|
10458
|
+
if (this.formArrayName) {
|
|
10459
|
+
this.formArray = this.formArrayName.control;
|
|
10460
|
+
this.formArray.valueChanges.pipe(takeUntil(this.unsubscribeAll$), startWith(this.formArray.getRawValue()), map(() => this.formArray.getRawValue()), pairwise()).subscribe(([previous, current]) => {
|
|
10461
|
+
if (previous.length !== current.length) {
|
|
10462
|
+
this.sortItems(current);
|
|
10463
|
+
}
|
|
10464
|
+
});
|
|
10465
|
+
this.sortItems(this.formArray.getRawValue());
|
|
10466
|
+
}
|
|
10467
|
+
this.cdkDropList.dropped.pipe(takeUntil(this.unsubscribeAll$)).subscribe((event) => this.drop(event));
|
|
10468
|
+
}
|
|
10469
|
+
ngOnDestroy() {
|
|
10470
|
+
this.unsubscribeAll$.next();
|
|
10471
|
+
this.unsubscribeAll$.complete();
|
|
10472
|
+
}
|
|
10473
|
+
ngOnChanges(changes) {
|
|
10474
|
+
if ("items" in changes && this.items) {
|
|
10475
|
+
this.sortItems(this.items);
|
|
10476
|
+
}
|
|
10477
|
+
}
|
|
10478
|
+
drop(event) {
|
|
10479
|
+
var _a;
|
|
10480
|
+
if (event.previousContainer === event.container) {
|
|
10481
|
+
if (event.previousIndex === event.currentIndex) {
|
|
10482
|
+
return;
|
|
10483
|
+
}
|
|
10484
|
+
event.item.data[this.rankProperty] = this.getNextRank(event);
|
|
10485
|
+
this.sortItems(this.sortedItems);
|
|
10486
|
+
this.itemsUpdated.next(this.sortedItems);
|
|
10487
|
+
this.itemRankUpdated.next(event.item.data);
|
|
10488
|
+
if (this.formArray) {
|
|
10489
|
+
(_a = this.formArray.get([event.previousIndex, this.rankProperty])) === null || _a === void 0 ? void 0 : _a.patchValue(event.item.data[this.rankProperty]);
|
|
10490
|
+
moveItemInArray(this.formArray.controls, event.previousIndex, event.currentIndex);
|
|
10491
|
+
}
|
|
10492
|
+
}
|
|
10493
|
+
else {
|
|
10494
|
+
// TODO: Handle container change
|
|
10495
|
+
}
|
|
10496
|
+
}
|
|
10497
|
+
sortItems(items) {
|
|
10498
|
+
if (items.length && items.some((item) => !item[this.rankProperty])) {
|
|
10499
|
+
throw new Error(`All items must have a ${this.rankProperty}`);
|
|
10500
|
+
}
|
|
10501
|
+
this.sortedItems = [...items]
|
|
10502
|
+
.map(item => (Object.assign({}, item)))
|
|
10503
|
+
.sort((itemA, itemB) => LexoRankUtils.compareStringFn(itemA[this.rankProperty], itemB[this.rankProperty]));
|
|
10504
|
+
this.cdkDropList.data = this.sortedItems;
|
|
10505
|
+
}
|
|
10506
|
+
getNextRank(event) {
|
|
10507
|
+
const fromIndex = event.previousIndex;
|
|
10508
|
+
const toIndex = event.currentIndex;
|
|
10509
|
+
const itemAfter = this.sortedItems[fromIndex > toIndex ? toIndex : toIndex + 1];
|
|
10510
|
+
const itemBefore = this.sortedItems[fromIndex > toIndex ? toIndex - 1 : toIndex];
|
|
10511
|
+
return LexoRankUtils.getNewRank(itemAfter === null || itemAfter === void 0 ? void 0 : itemAfter[this.rankProperty], itemBefore === null || itemBefore === void 0 ? void 0 : itemBefore[this.rankProperty]);
|
|
10512
|
+
}
|
|
10513
|
+
}
|
|
10514
|
+
NiceDraggableListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDraggableListDirective, deps: [{ token: i1$2.FormArrayName, optional: true }, { token: i2$4.CdkDropList }], target: i0.ɵɵFactoryTarget.Directive });
|
|
10515
|
+
NiceDraggableListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceDraggableListDirective, selector: "[cdkDropList][niceDraggableList]", inputs: { items: "items", rankProperty: "rankProperty" }, outputs: { itemsUpdated: "itemsUpdated", itemRankUpdated: "itemRankUpdated" }, usesOnChanges: true, ngImport: i0 });
|
|
10516
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDraggableListDirective, decorators: [{
|
|
10517
|
+
type: Directive,
|
|
10518
|
+
args: [{
|
|
10519
|
+
selector: "[cdkDropList][niceDraggableList]"
|
|
10520
|
+
}]
|
|
10521
|
+
}], ctorParameters: function () {
|
|
10522
|
+
return [{ type: i1$2.FormArrayName, decorators: [{
|
|
10523
|
+
type: Optional
|
|
10524
|
+
}] }, { type: i2$4.CdkDropList }];
|
|
10525
|
+
}, propDecorators: { items: [{
|
|
10526
|
+
type: Input
|
|
10527
|
+
}], rankProperty: [{
|
|
10528
|
+
type: Input
|
|
10529
|
+
}], itemsUpdated: [{
|
|
10530
|
+
type: Output
|
|
10531
|
+
}], itemRankUpdated: [{
|
|
10532
|
+
type: Output
|
|
10533
|
+
}] } });
|
|
10534
|
+
|
|
10535
|
+
class NiceDraggableListModule {
|
|
10536
|
+
}
|
|
10537
|
+
NiceDraggableListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDraggableListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10538
|
+
NiceDraggableListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: NiceDraggableListModule, declarations: [NiceDraggableListDirective], imports: [DragDropModule], exports: [NiceDraggableListDirective] });
|
|
10539
|
+
NiceDraggableListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDraggableListModule, imports: [DragDropModule] });
|
|
10540
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceDraggableListModule, decorators: [{
|
|
10541
|
+
type: NgModule,
|
|
10542
|
+
args: [{
|
|
10543
|
+
imports: [DragDropModule],
|
|
10544
|
+
declarations: [NiceDraggableListDirective],
|
|
10545
|
+
exports: [NiceDraggableListDirective],
|
|
10546
|
+
}]
|
|
10547
|
+
}] });
|
|
10548
|
+
|
|
10417
10549
|
class NiceImageErrorPlaceholderDirective {
|
|
10418
10550
|
constructor(elementRef, viewContainerRef) {
|
|
10419
10551
|
this.elementRef = elementRef;
|
|
@@ -10738,5 +10870,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
|
|
|
10738
10870
|
* Generated bundle index. Do not edit.
|
|
10739
10871
|
*/
|
|
10740
10872
|
|
|
10741
|
-
export { ArrayUtils, BooleanPipe, CapitalizeFirstLetterPipe, CarouselComponent, CaseUtils, CeilPipe, ChipListItemLabelDirective, ColorsUtils, DateUtils, DefaultExportBottomSheetService, EntriesPipe, ExportBottomSheetComponent, ExportBottomSheetService, FileUtils, FindByKeyPipe, FirstLetterPipe, FloorPipe, FontAwesomeUtils, FormDataUtils, HttpStatusCodes, ImgCropperConfig, ImgCropperError, ImgResolution, JoinPipe, KeyboardCodes, LinkPipe, LocalizedBooleanPipe, LocalizedCurrencyPipe, LocalizedDateOnlyPipe, LocalizedDatePipe, MinutesToTimePipe, ModalMode, NavigationHideItemResolver, NavigationHintResolver, NiceAlertComponent, NiceAlertModule, NiceAlertService, NiceApiException, NiceAssetsCarouselActiveContentDirective, NiceAssetsCarouselComponent, NiceAssetsCarouselModule, NiceAsyncTypeaheadComponent, NiceAsyncTypeaheadModule, NiceAsyncTypeaheadProvider, NiceAutofocusDirective, NiceAutofocusDirectiveModule, NiceAutogrowDirective, NiceAutogrowModule, NiceBaseForm, NiceBaseFormComponent, NiceBaseFormModule, NiceCardComponent, NiceCardModule, NiceCarouselModule, NiceChipAsyncTypeaheadDirective, NiceChipListDirective, NiceChipListDirectiveModule, NiceChipListItemsComponent, NiceClickStopPropagationDirective, NiceCollapsableComponent, NiceCollapsableModule, NiceConfigModule, NiceConfigService, NiceControlStatusDirective, NiceCropperAreaComponent, NiceDateRangePickerComponent, NiceDateRangePickerModule, NiceDrawerComponent, NiceDrawerModule, NiceDrawerService, NiceDropzoneDirective, NiceDropzoneModule, NiceExportBottomSheetModule, NiceFormErrorComponent, NiceFormErrorModule, NiceFormSubmitDirective, NiceHorizontalNavigationBasicItemComponent, NiceHorizontalNavigationBranchItemComponent, NiceHorizontalNavigationComponent, NiceHorizontalNavigationDividerItemComponent, NiceHorizontalNavigationSpacerItemComponent, NiceHorizontalStepperComponent, NiceHorizontalStepperModule, NiceHttpExceptionFactory, NiceImageCropperComponent, NiceImageCropperModule, NiceImageErrorPlaceholderDirective, NiceImageErrorPlaceholderDirectiveModule, NiceLayoutComponent, NiceLayoutModule, NiceLoadingDirective, NiceLoadingSpinnerComponent, NiceLoadingSpinnerModule, NiceLottieComponent, NiceLottieModule, NiceMaterialModule, NiceMaterialStyleDirective, NiceMediaWatcherModule, NiceMediaWatcherService, NiceModalOnClickDirective, NiceModalOpenerDirective, NiceModule, NiceNavigationComponent, NiceNavigationModule, NiceNavigationService, NicePipesModule, NicePreventCloseWindowDirective, NiceRoundedStyleDirective, NiceScrollResetDirective, NiceScrollResetModule, NiceScrollbarDirective, NiceScrollbarModule, NiceSearchBarComponent, NiceSearchBarModule, NiceSplashScreenModule, NiceSplashScreenService, NiceStepComponent, NiceStopPropagationModule, NiceSweetAlertComponent, NiceSweetAlertDirective, NiceSweetAlertModule, NiceSweetAlertService, NiceToastComponent, NiceToastModule, NiceToastService, NiceToggleButtonGroupModule, NiceTransformResponseInterceptor, NiceTypeaheadComponent, NiceTypeaheadModule, NiceTypeaheadNewValue, NiceUtilsModule, NiceUtilsService, NiceVerticalNavigationAsideItemComponent, NiceVerticalNavigationBasicItemComponent, NiceVerticalNavigationCollapsableItemComponent, NiceVerticalNavigationComponent, NiceVerticalNavigationDividerItemComponent, NiceVerticalNavigationGroupItemComponent, NiceVerticalNavigationSpacerItemComponent, NiceWindowDirectiveModule, NumberToOrdinalIndicatorPipe, NumberUtils, ObjectUtils, OptionsScrollDirective, PadPipe, PhonePipe, PictureModalComponent, PictureModalService, PostalCodePipe, PromiseUtils, QueryParamsUtils, RangePipe, RegexUtils, RoundPipe, SanitizeBypassPipe, SecondsToTimePipe, TRANSFORM_TYPE, ToggleButtonComponent, ToggleButtonGroupComponent, TrackByPropPipe, TypeUtils, UrlUtils, _HintComponentBase, _normalizeDegrees, isNotNullOrUndefined, isNullOrUndefined, mergeDeep, mixinNiceApi, niceAnimations, round };
|
|
10873
|
+
export { ArrayUtils, BooleanPipe, CapitalizeFirstLetterPipe, CarouselComponent, CaseUtils, CeilPipe, ChipListItemLabelDirective, ColorsUtils, DateUtils, DefaultExportBottomSheetService, EntriesPipe, ExportBottomSheetComponent, ExportBottomSheetService, FileUtils, FindByKeyPipe, FirstLetterPipe, FloorPipe, FontAwesomeUtils, FormDataUtils, HttpStatusCodes, ImgCropperConfig, ImgCropperError, ImgResolution, JoinPipe, KeyboardCodes, LexoRankUtils, LinkPipe, LocalizedBooleanPipe, LocalizedCurrencyPipe, LocalizedDateOnlyPipe, LocalizedDatePipe, MinutesToTimePipe, ModalMode, NavigationHideItemResolver, NavigationHintResolver, NiceAlertComponent, NiceAlertModule, NiceAlertService, NiceApiException, NiceAssetsCarouselActiveContentDirective, NiceAssetsCarouselComponent, NiceAssetsCarouselModule, NiceAsyncTypeaheadComponent, NiceAsyncTypeaheadModule, NiceAsyncTypeaheadProvider, NiceAutofocusDirective, NiceAutofocusDirectiveModule, NiceAutogrowDirective, NiceAutogrowModule, NiceBaseForm, NiceBaseFormComponent, NiceBaseFormModule, NiceCardComponent, NiceCardModule, NiceCarouselModule, NiceChipAsyncTypeaheadDirective, NiceChipListDirective, NiceChipListDirectiveModule, NiceChipListItemsComponent, NiceClickStopPropagationDirective, NiceCollapsableComponent, NiceCollapsableModule, NiceConfigModule, NiceConfigService, NiceControlStatusDirective, NiceCropperAreaComponent, NiceDateRangePickerComponent, NiceDateRangePickerModule, NiceDraggableListDirective, NiceDraggableListModule, NiceDrawerComponent, NiceDrawerModule, NiceDrawerService, NiceDropzoneDirective, NiceDropzoneModule, NiceExportBottomSheetModule, NiceFormErrorComponent, NiceFormErrorModule, NiceFormSubmitDirective, NiceHorizontalNavigationBasicItemComponent, NiceHorizontalNavigationBranchItemComponent, NiceHorizontalNavigationComponent, NiceHorizontalNavigationDividerItemComponent, NiceHorizontalNavigationSpacerItemComponent, NiceHorizontalStepperComponent, NiceHorizontalStepperModule, NiceHttpExceptionFactory, NiceImageCropperComponent, NiceImageCropperModule, NiceImageErrorPlaceholderDirective, NiceImageErrorPlaceholderDirectiveModule, NiceLayoutComponent, NiceLayoutModule, NiceLoadingDirective, NiceLoadingSpinnerComponent, NiceLoadingSpinnerModule, NiceLottieComponent, NiceLottieModule, NiceMaterialModule, NiceMaterialStyleDirective, NiceMediaWatcherModule, NiceMediaWatcherService, NiceModalOnClickDirective, NiceModalOpenerDirective, NiceModule, NiceNavigationComponent, NiceNavigationModule, NiceNavigationService, NicePipesModule, NicePreventCloseWindowDirective, NiceRoundedStyleDirective, NiceScrollResetDirective, NiceScrollResetModule, NiceScrollbarDirective, NiceScrollbarModule, NiceSearchBarComponent, NiceSearchBarModule, NiceSplashScreenModule, NiceSplashScreenService, NiceStepComponent, NiceStopPropagationModule, NiceSweetAlertComponent, NiceSweetAlertDirective, NiceSweetAlertModule, NiceSweetAlertService, NiceToastComponent, NiceToastModule, NiceToastService, NiceToggleButtonGroupModule, NiceTransformResponseInterceptor, NiceTypeaheadComponent, NiceTypeaheadModule, NiceTypeaheadNewValue, NiceUtilsModule, NiceUtilsService, NiceVerticalNavigationAsideItemComponent, NiceVerticalNavigationBasicItemComponent, NiceVerticalNavigationCollapsableItemComponent, NiceVerticalNavigationComponent, NiceVerticalNavigationDividerItemComponent, NiceVerticalNavigationGroupItemComponent, NiceVerticalNavigationSpacerItemComponent, NiceWindowDirectiveModule, NumberToOrdinalIndicatorPipe, NumberUtils, ObjectUtils, OptionsScrollDirective, PadPipe, PhonePipe, PictureModalComponent, PictureModalService, PostalCodePipe, PromiseUtils, QueryParamsUtils, RangePipe, RegexUtils, RoundPipe, SanitizeBypassPipe, SecondsToTimePipe, TRANSFORM_TYPE, ToggleButtonComponent, ToggleButtonGroupComponent, TrackByPropPipe, TypeUtils, UrlUtils, _HintComponentBase, _normalizeDegrees, isNotNullOrUndefined, isNullOrUndefined, mergeDeep, mixinNiceApi, niceAnimations, round };
|
|
10742
10874
|
//# sourceMappingURL=recursyve-nice-ui-kit.v2.mjs.map
|