@coolon/angular-ui-powerups 16.1.0-aplpha.38 → 16.1.0-aplpha.39

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.
@@ -1,5 +1,4 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Dsl, GarbageCollector, lang, MutableListModel, Trace, WatchList } from '@coolon/pectin';
1
+ import { Dsl, GarbageCollector, lang, MutableListModel, WatchList } from '@coolon/pectin';
3
2
  import { generateKeyBetween } from "fractional-indexing";
4
3
  import { ColumnOrderManager } from "./column-order-manager";
5
4
  class ColumnRef {
@@ -29,7 +28,9 @@ export class ColumnManager extends GarbageCollector {
29
28
  }
30
29
  position(column, newPosition) {
31
30
  const target = this._columnRefs$.query().findMatching(it => it.column === column);
32
- this._columnRefs$.replace(target, { with: new ColumnRef(target.column, this.computePosition(newPosition)) });
31
+ const position = this.computePosition(newPosition);
32
+ this._columnRefs$.replace(target, { with: new ColumnRef(target.column, position) });
33
+ console.log(this._columnRefs$.value.map(r => [r.column.columnId, r.position]));
33
34
  }
34
35
  getColumn(id) {
35
36
  return this._columnsById$.get(id);
@@ -54,18 +55,20 @@ export class ColumnManager extends GarbageCollector {
54
55
  const q = this.orderedColumnRefs$.query();
55
56
  return ColumnOrderManager.processPosition(position, {
56
57
  before(col) {
57
- const beforeIndex = q.findIndex(ref => ref.column === col);
58
- const beforeCol = q.value[beforeIndex];
59
- const afterCol = beforeIndex - 1 > 0 ? q.value[beforeIndex - 1] : undefined;
60
- console.log({ afterCol, beforeCol });
61
- return generateKeyBetween(afterCol?.position, beforeCol.position);
58
+ const index = q.findIndex(ref => ref.column === col);
59
+ const beforeCol = q.value[index];
60
+ const afterCol = index - 1 >= 0 ? q.value[index - 1] : undefined;
61
+ return afterCol ?
62
+ generateKeyBetween(afterCol.position, beforeCol.position) :
63
+ generateKeyBetween(null, beforeCol.position);
62
64
  },
63
65
  after(col) {
64
- const afterIndex = q.findIndex(ref => ref.column === col);
65
- const afterCol = q.value[afterIndex];
66
- const beforeCol = afterIndex + 1 < q.length ? q.value[afterIndex + 1] : undefined;
67
- console.log({ afterCol, beforeCol });
68
- return generateKeyBetween(afterCol.position, beforeCol?.position);
66
+ const index = q.findIndex(ref => ref.column === col);
67
+ const afterCol = q.value[index];
68
+ const beforeCol = index + 1 < q.length ? q.value[index + 1] : undefined;
69
+ return beforeCol ?
70
+ generateKeyBetween(afterCol.position, beforeCol.position) :
71
+ generateKeyBetween(afterCol.position, null);
69
72
  },
70
73
  first() {
71
74
  return generateKeyBetween(null, q.first()?.position);
@@ -80,10 +83,4 @@ export class ColumnManager extends GarbageCollector {
80
83
  return this.allColumns$.value.filter(c => c.visible$.value);
81
84
  }
82
85
  }
83
- __decorate([
84
- Trace(),
85
- __metadata("design:type", Function),
86
- __metadata("design:paramtypes", [Object]),
87
- __metadata("design:returntype", String)
88
- ], ColumnManager.prototype, "computePosition", null);
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9jb2x1bW4vY29sdW1uLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxHQUFHLEVBQ0gsZ0JBQWdCLEVBQ2hCLElBQUksRUFJSixnQkFBZ0IsRUFDaEIsS0FBSyxFQUNMLFNBQVMsRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE1BQU0sU0FBUztJQUNRO0lBQW1DO0lBQXhELFlBQXFCLE1BQXdCLEVBQVcsUUFBZ0I7UUFBbkQsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFBVyxhQUFRLEdBQVIsUUFBUSxDQUFRO0lBQ3hFLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxhQUFtQixTQUFRLGdCQUFnQjtJQUVyQyxZQUFZLEdBQUcsSUFBSSxnQkFBZ0IsRUFBa0IsQ0FBQztJQUN0RCxrQkFBa0IsQ0FBaUM7SUFDbkQsYUFBYSxDQUEwQztJQUMvRCxXQUFXLENBQThCO0lBQ3pDLG1CQUFtQixHQUFHLElBQUksU0FBUyxFQUFXLENBQUE7SUFDOUMsZUFBZSxDQUE4QjtJQUV0RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7WUFDN0UsU0FBUyxFQUFFLElBQUksQ0FBQyxtQkFBbUI7U0FDcEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUF3QixFQUFFLFdBQXdDO1FBQ3pFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsQ0FBQTtRQUNqRixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxTQUFTLENBQU0sTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBO0lBQ2pILENBQUM7SUFFRCxTQUFTLENBQUMsRUFBVTtRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxTQUFTLENBQUMsRUFBVTtRQUNsQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsR0FBUSxFQUFFLEtBQWE7UUFDdkMsa0NBQWtDO1FBQ2xDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsU0FBUyxDQUE2QixNQUFTLEVBQUUsUUFBc0M7UUFDckYsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixNQUFNLENBQUMsUUFBUSxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFNLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBR0QsZUFBZSxDQUFDLFFBQXNDO1FBQ3BELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQyxPQUFPLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDbEQsTUFBTSxDQUFDLEdBQXFCO2dCQUMxQixNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQTtnQkFDMUQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDdkMsTUFBTSxRQUFRLEdBQUcsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQzVFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtnQkFDbEMsT0FBTyxrQkFBa0IsQ0FDdkIsUUFBUSxFQUFFLFFBQVEsRUFDbEIsU0FBUyxDQUFDLFFBQVEsQ0FDbkIsQ0FBQztZQUNKLENBQUM7WUFDRCxLQUFLLENBQUMsR0FBcUI7Z0JBQ3pCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFBO2dCQUN6RCxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNyQyxNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2xGLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtnQkFDbEMsT0FBTyxrQkFBa0IsQ0FDdkIsUUFBUSxDQUFDLFFBQVEsRUFDakIsU0FBUyxFQUFFLFFBQVEsQ0FDcEIsQ0FBQztZQUNKLENBQUM7WUFDRCxLQUFLO2dCQUNILE9BQU8sa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN2RCxDQUFDO1lBQ0QsSUFBSTtnQkFDRixnQ0FBZ0M7Z0JBQ2hDLE9BQU8sa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0RCxDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUdELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNGO0FBckNDO0lBREMsS0FBSyxFQUFFOzs7O29EQWdDUCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERzbCxcbiAgR2FyYmFnZUNvbGxlY3RvcixcbiAgbGFuZyxcbiAgTGlzdE1vZGVsLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgTWFwTW9kZWxDaGFpbixcbiAgTXV0YWJsZUxpc3RNb2RlbCxcbiAgVHJhY2UsXG4gIFdhdGNoTGlzdFxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQge2dlbmVyYXRlS2V5QmV0d2Vlbn0gZnJvbSBcImZyYWN0aW9uYWwtaW5kZXhpbmdcIjtcbmltcG9ydCB7Q29sdW1uTW9kZWx9IGZyb20gJy4vY29sdW1uLW1vZGVsJztcbmltcG9ydCB7Q29sdW1uT3JkZXJNYW5hZ2VyfSBmcm9tIFwiLi9jb2x1bW4tb3JkZXItbWFuYWdlclwiO1xuXG5jbGFzcyBDb2x1bW5SZWY8Uk9XPiB7XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbHVtbjogQ29sdW1uTW9kZWw8Uk9XPiwgcmVhZG9ubHkgcG9zaXRpb246IHN0cmluZykge1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb2x1bW5NYW5hZ2VyPFJvdz4gZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIGltcGxlbWVudHMgQ29sdW1uT3JkZXJNYW5hZ2VyIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb2x1bW5SZWZzJCA9IG5ldyBNdXRhYmxlTGlzdE1vZGVsPENvbHVtblJlZjxSb3c+PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IG9yZGVyZWRDb2x1bW5SZWZzJDogTGlzdE1vZGVsQ2hhaW48Q29sdW1uUmVmPFJvdz4+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb2x1bW5zQnlJZCQ6IE1hcE1vZGVsQ2hhaW48c3RyaW5nLCBDb2x1bW5Nb2RlbDxSb3c+PjtcbiAgcmVhZG9ubHkgYWxsQ29sdW1ucyQ6IExpc3RNb2RlbDxDb2x1bW5Nb2RlbDxSb3c+PjtcbiAgcmVhZG9ubHkgY29sdW1uVmlzaWJpbGl0aWVzJCA9IG5ldyBXYXRjaExpc3Q8Ym9vbGVhbj4oKVxuICByZWFkb25seSB2aXNpYmxlQ29sdW1ucyQ6IExpc3RNb2RlbDxDb2x1bW5Nb2RlbDxSb3c+PjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5vcmRlcmVkQ29sdW1uUmVmcyQgPSBjaGFpbih0aGlzLl9jb2x1bW5SZWZzJCkub3JkZXJCeShcInBvc2l0aW9uXCIsIFwiYXNjXCIpO1xuICAgIHRoaXMuYWxsQ29sdW1ucyQgPSB0aGlzLm9yZGVyZWRDb2x1bW5SZWZzJC5wbHVjayhcImNvbHVtblwiKTtcblxuICAgIHRoaXMuX2NvbHVtbnNCeUlkJCA9IGNoYWluKHRoaXMuYWxsQ29sdW1ucyQpLmluZGV4QnkoJ2NvbHVtbklkJyk7XG4gICAgdGhpcy52aXNpYmxlQ29sdW1ucyQgPSBjaGFpbih0aGlzLmFsbENvbHVtbnMkKS5zZWxlY3QoaXQgPT4gaXQudmlzaWJsZSQudmFsdWUsIHtcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5jb2x1bW5WaXNpYmlsaXRpZXMkXG4gICAgfSlcbiAgfVxuXG4gIHBvc2l0aW9uKGNvbHVtbjogQ29sdW1uTW9kZWw8YW55PiwgbmV3UG9zaXRpb246IENvbHVtbk9yZGVyTWFuYWdlci5Qb3NpdGlvbikge1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuX2NvbHVtblJlZnMkLnF1ZXJ5KCkuZmluZE1hdGNoaW5nKGl0ID0+IGl0LmNvbHVtbiA9PT0gY29sdW1uKVxuICAgIHRoaXMuX2NvbHVtblJlZnMkLnJlcGxhY2UodGFyZ2V0LCB7d2l0aDogbmV3IENvbHVtblJlZjxSb3c+KHRhcmdldC5jb2x1bW4sIHRoaXMuY29tcHV0ZVBvc2l0aW9uKG5ld1Bvc2l0aW9uKSl9KVxuICB9XG5cbiAgZ2V0Q29sdW1uKGlkOiBzdHJpbmcpOiBDb2x1bW5Nb2RlbDxSb3c+IHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uc0J5SWQkLmdldChpZCk7XG4gIH1cblxuICBoYXNDb2x1bW4oaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2NvbHVtbnNCeUlkJC5nZXQoaWQpO1xuICB9XG5cbiAgaGFzTWF0Y2hpbmdDb2x1bW4ocm93OiBSb3csIHJlZ2V4OiBSZWdFeHApOiBib29sZWFuIHtcbiAgICAvLyBvbmx5IHNlYXJjaCB0aGUgdmlzaWJsZSBjb2x1bW5zXG4gICAgcmV0dXJuICEhdGhpcy52aXNpYmxlQ29sdW1ucyQudmFsdWUuZmluZChjID0+IHJlZ2V4LnRlc3QoYy5nZXRTZWFyY2hUZXh0Rm9yKHJvdykpKTtcbiAgfVxuXG4gIGFkZENvbHVtbjxDIGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93Pj4oY29sdW1uOiBDLCBwb3NpdGlvbj86IENvbHVtbk9yZGVyTWFuYWdlci5Qb3NpdGlvbik6IEMge1xuICAgIGlmICh0aGlzLmhhc0NvbHVtbihjb2x1bW4uY29sdW1uSWQpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgQ29sdW1uIHdpdGggaWQ9JHtjb2x1bW4uY29sdW1uSWR9IGFscmVhZHkgZXhpc3RzYCk7XG4gICAgfVxuICAgIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKGNvbHVtbik7XG4gICAgdGhpcy5fY29sdW1uUmVmcyQucHVzaChuZXcgQ29sdW1uUmVmPFJvdz4oY29sdW1uLCB0aGlzLmNvbXB1dGVQb3NpdGlvbihwb3NpdGlvbikpKTtcbiAgICB0aGlzLmNvbHVtblZpc2liaWxpdGllcyQuYWRkKGNvbHVtbi52aXNpYmxlJCk7XG4gICAgcmV0dXJuIGNvbHVtbjtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIGNvbXB1dGVQb3NpdGlvbihwb3NpdGlvbj86IENvbHVtbk9yZGVyTWFuYWdlci5Qb3NpdGlvbik6IHN0cmluZyB7XG4gICAgY29uc3QgcSA9IHRoaXMub3JkZXJlZENvbHVtblJlZnMkLnF1ZXJ5KCk7XG4gICAgcmV0dXJuIENvbHVtbk9yZGVyTWFuYWdlci5wcm9jZXNzUG9zaXRpb24ocG9zaXRpb24sIHtcbiAgICAgIGJlZm9yZShjb2w6IENvbHVtbk1vZGVsPGFueT4pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBiZWZvcmVJbmRleCA9IHEuZmluZEluZGV4KHJlZiA9PiByZWYuY29sdW1uID09PSBjb2wpXG4gICAgICAgIGNvbnN0IGJlZm9yZUNvbCA9IHEudmFsdWVbYmVmb3JlSW5kZXhdO1xuICAgICAgICBjb25zdCBhZnRlckNvbCA9IGJlZm9yZUluZGV4IC0gMSA+IDAgPyBxLnZhbHVlW2JlZm9yZUluZGV4IC0gMV0gOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnNvbGUubG9nKHthZnRlckNvbCwgYmVmb3JlQ29sfSlcbiAgICAgICAgcmV0dXJuIGdlbmVyYXRlS2V5QmV0d2VlbihcbiAgICAgICAgICBhZnRlckNvbD8ucG9zaXRpb24sXG4gICAgICAgICAgYmVmb3JlQ29sLnBvc2l0aW9uXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgYWZ0ZXIoY29sOiBDb2x1bW5Nb2RlbDxhbnk+KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgYWZ0ZXJJbmRleCA9IHEuZmluZEluZGV4KHJlZiA9PiByZWYuY29sdW1uID09PSBjb2wpXG4gICAgICAgIGNvbnN0IGFmdGVyQ29sID0gcS52YWx1ZVthZnRlckluZGV4XTtcbiAgICAgICAgY29uc3QgYmVmb3JlQ29sID0gYWZ0ZXJJbmRleCArIDEgPCBxLmxlbmd0aCA/IHEudmFsdWVbYWZ0ZXJJbmRleCArIDFdIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zb2xlLmxvZyh7YWZ0ZXJDb2wsIGJlZm9yZUNvbH0pXG4gICAgICAgIHJldHVybiBnZW5lcmF0ZUtleUJldHdlZW4oXG4gICAgICAgICAgYWZ0ZXJDb2wucG9zaXRpb24sXG4gICAgICAgICAgYmVmb3JlQ29sPy5wb3NpdGlvblxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGZpcnN0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBnZW5lcmF0ZUtleUJldHdlZW4obnVsbCwgcS5maXJzdCgpPy5wb3NpdGlvbik7XG4gICAgICB9LFxuICAgICAgbGFzdCgpIHtcbiAgICAgICAgLy8gYWRkIGl0IHRvIHRoZSBlbmQgb2YgdGhlIGxpc3RcbiAgICAgICAgcmV0dXJuIGdlbmVyYXRlS2V5QmV0d2VlbihxLmxhc3QoKT8ucG9zaXRpb24sIG51bGwpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuXG4gIGRvQ29tcHV0ZVZhbHVlKCk6IENvbHVtbk1vZGVsPFJvdz5bXSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsQ29sdW1ucyQudmFsdWUuZmlsdGVyKGMgPT4gYy52aXNpYmxlJC52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9jb2x1bW4vY29sdW1uLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEdBQUcsRUFDSCxnQkFBZ0IsRUFDaEIsSUFBSSxFQUlKLGdCQUFnQixFQUVoQixTQUFTLEVBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxNQUFNLFNBQVM7SUFDUTtJQUFtQztJQUF4RCxZQUFxQixNQUF3QixFQUFXLFFBQWdCO1FBQW5ELFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQVcsYUFBUSxHQUFSLFFBQVEsQ0FBUTtJQUN4RSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sYUFBbUIsU0FBUSxnQkFBZ0I7SUFFckMsWUFBWSxHQUFHLElBQUksZ0JBQWdCLEVBQWtCLENBQUM7SUFDdEQsa0JBQWtCLENBQWlDO0lBQ25ELGFBQWEsQ0FBMEM7SUFDL0QsV0FBVyxDQUE4QjtJQUN6QyxtQkFBbUIsR0FBRyxJQUFJLFNBQVMsRUFBVyxDQUFBO0lBQzlDLGVBQWUsQ0FBOEI7SUFFdEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMs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LEtBQUssRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7WUFDRCxJQUFJO2dCQUNGLGdDQUFnQztnQkFDaEMsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RELENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBR0QsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEc2wsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIGxhbmcsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE1hcE1vZGVsQ2hhaW4sXG4gIE11dGFibGVMaXN0TW9kZWwsXG4gIFRyYWNlLFxuICBXYXRjaExpc3Rcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtnZW5lcmF0ZUtleUJldHdlZW59IGZyb20gXCJmcmFjdGlvbmFsLWluZGV4aW5nXCI7XG5pbXBvcnQge0NvbHVtbk1vZGVsfSBmcm9tICcuL2NvbHVtbi1tb2RlbCc7XG5pbXBvcnQge0NvbHVtbk9yZGVyTWFuYWdlcn0gZnJvbSBcIi4vY29sdW1uLW9yZGVyLW1hbmFnZXJcIjtcblxuY2xhc3MgQ29sdW1uUmVmPFJPVz4ge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb2x1bW46IENvbHVtbk1vZGVsPFJPVz4sIHJlYWRvbmx5IHBvc2l0aW9uOiBzdHJpbmcpIHtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29sdW1uTWFuYWdlcjxSb3c+IGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciBpbXBsZW1lbnRzIENvbHVtbk9yZGVyTWFuYWdlciB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29sdW1uUmVmcyQgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxDb2x1bW5SZWY8Um93Pj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBvcmRlcmVkQ29sdW1uUmVmcyQ6IExpc3RNb2RlbENoYWluPENvbHVtblJlZjxSb3c+PjtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29sdW1uc0J5SWQkOiBNYXBNb2RlbENoYWluPHN0cmluZywgQ29sdW1uTW9kZWw8Um93Pj47XG4gIHJlYWRvbmx5IGFsbENvbHVtbnMkOiBMaXN0TW9kZWw8Q29sdW1uTW9kZWw8Um93Pj47XG4gIHJlYWRvbmx5IGNvbHVtblZpc2liaWxpdGllcyQgPSBuZXcgV2F0Y2hMaXN0PGJvb2xlYW4+KClcbiAgcmVhZG9ubHkgdmlzaWJsZUNvbHVtbnMkOiBMaXN0TW9kZWw8Q29sdW1uTW9kZWw8Um93Pj47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMub3JkZXJlZENvbHVtblJlZnMkID0gY2hhaW4odGhpcy5fY29sdW1uUmVmcyQpLm9yZGVyQnkoXCJwb3NpdGlvblwiLCBcImFzY1wiKTtcbiAgICB0aGlzLmFsbENvbHVtbnMkID0gdGhpcy5vcmRlcmVkQ29sdW1uUmVmcyQucGx1Y2soXCJjb2x1bW5cIik7XG5cbiAgICB0aGlzLl9jb2x1bW5zQnlJZCQgPSBjaGFpbih0aGlzLmFsbENvbHVtbnMkKS5pbmRleEJ5KCdjb2x1bW5JZCcpO1xuICAgIHRoaXMudmlzaWJsZUNvbHVtbnMkID0gY2hhaW4odGhpcy5hbGxDb2x1bW5zJCkuc2VsZWN0KGl0ID0+IGl0LnZpc2libGUkLnZhbHVlLCB7XG4gICAgICBkZXBlbmRzT246IHRoaXMuY29sdW1uVmlzaWJpbGl0aWVzJFxuICAgIH0pXG4gIH1cblxuICBwb3NpdGlvbihjb2x1bW46IENvbHVtbk1vZGVsPGFueT4sIG5ld1Bvc2l0aW9uOiBDb2x1bW5PcmRlck1hbmFnZXIuUG9zaXRpb24pIHtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLl9jb2x1bW5SZWZzJC5xdWVyeSgpLmZpbmRNYXRjaGluZyhpdCA9PiBpdC5jb2x1bW4gPT09IGNvbHVtbilcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuY29tcHV0ZVBvc2l0aW9uKG5ld1Bvc2l0aW9uKTtcbiAgICB0aGlzLl9jb2x1bW5SZWZzJC5yZXBsYWNlKHRhcmdldCwge3dpdGg6IG5ldyBDb2x1bW5SZWY8Um93Pih0YXJnZXQuY29sdW1uLCBwb3NpdGlvbil9KTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLl9jb2x1bW5SZWZzJC52YWx1ZS5tYXAociA9PiBbci5jb2x1bW4uY29sdW1uSWQsIHIucG9zaXRpb25dKSlcbiAgfVxuXG4gIGdldENvbHVtbihpZDogc3RyaW5nKTogQ29sdW1uTW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbnNCeUlkJC5nZXQoaWQpO1xuICB9XG5cbiAgaGFzQ29sdW1uKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9jb2x1bW5zQnlJZCQuZ2V0KGlkKTtcbiAgfVxuXG4gIGhhc01hdGNoaW5nQ29sdW1uKHJvdzogUm93LCByZWdleDogUmVnRXhwKTogYm9vbGVhbiB7XG4gICAgLy8gb25seSBzZWFyY2ggdGhlIHZpc2libGUgY29sdW1uc1xuICAgIHJldHVybiAhIXRoaXMudmlzaWJsZUNvbHVtbnMkLnZhbHVlLmZpbmQoYyA9PiByZWdleC50ZXN0KGMuZ2V0U2VhcmNoVGV4dEZvcihyb3cpKSk7XG4gIH1cblxuICBhZGRDb2x1bW48QyBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4+KGNvbHVtbjogQywgcG9zaXRpb24/OiBDb2x1bW5PcmRlck1hbmFnZXIuUG9zaXRpb24pOiBDIHtcbiAgICBpZiAodGhpcy5oYXNDb2x1bW4oY29sdW1uLmNvbHVtbklkKSkge1xuICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYENvbHVtbiB3aXRoIGlkPSR7Y29sdW1uLmNvbHVtbklkfSBhbHJlYWR5IGV4aXN0c2ApO1xuICAgIH1cbiAgICB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShjb2x1bW4pO1xuICAgIHRoaXMuX2NvbHVtblJlZnMkLnB1c2gobmV3IENvbHVtblJlZjxSb3c+KGNvbHVtbiwgdGhpcy5jb21wdXRlUG9zaXRpb24ocG9zaXRpb24pKSk7XG4gICAgdGhpcy5jb2x1bW5WaXNpYmlsaXRpZXMkLmFkZChjb2x1bW4udmlzaWJsZSQpO1xuICAgIHJldHVybiBjb2x1bW47XG4gIH1cblxuICBjb21wdXRlUG9zaXRpb24ocG9zaXRpb24/OiBDb2x1bW5PcmRlck1hbmFnZXIuUG9zaXRpb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IHEgPSB0aGlzLm9yZGVyZWRDb2x1bW5SZWZzJC5xdWVyeSgpO1xuICAgIHJldHVybiBDb2x1bW5PcmRlck1hbmFnZXIucHJvY2Vzc1Bvc2l0aW9uKHBvc2l0aW9uLCB7XG4gICAgICBiZWZvcmUoY29sOiBDb2x1bW5Nb2RlbDxhbnk+KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSBxLmZpbmRJbmRleChyZWYgPT4gcmVmLmNvbHVtbiA9PT0gY29sKVxuICAgICAgICBjb25zdCBiZWZvcmVDb2wgPSBxLnZhbHVlW2luZGV4XTtcbiAgICAgICAgY29uc3QgYWZ0ZXJDb2wgPSBpbmRleCAtIDEgPj0gMCA/IHEudmFsdWVbaW5kZXggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIGFmdGVyQ29sID9cbiAgICAgICAgICBnZW5lcmF0ZUtleUJldHdlZW4oYWZ0ZXJDb2wucG9zaXRpb24sIGJlZm9yZUNvbC5wb3NpdGlvbikgOlxuICAgICAgICAgIGdlbmVyYXRlS2V5QmV0d2VlbihudWxsLCBiZWZvcmVDb2wucG9zaXRpb24pO1xuICAgICAgfSxcbiAgICAgIGFmdGVyKGNvbDogQ29sdW1uTW9kZWw8YW55Pik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gcS5maW5kSW5kZXgocmVmID0+IHJlZi5jb2x1bW4gPT09IGNvbClcbiAgICAgICAgY29uc3QgYWZ0ZXJDb2wgPSBxLnZhbHVlW2luZGV4XTtcbiAgICAgICAgY29uc3QgYmVmb3JlQ29sID0gaW5kZXggKyAxIDwgcS5sZW5ndGggPyBxLnZhbHVlW2luZGV4ICsgMV0gOiB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiBiZWZvcmVDb2wgP1xuICAgICAgICAgIGdlbmVyYXRlS2V5QmV0d2VlbihhZnRlckNvbC5wb3NpdGlvbiwgYmVmb3JlQ29sLnBvc2l0aW9uKSA6XG4gICAgICAgICAgZ2VuZXJhdGVLZXlCZXR3ZWVuKGFmdGVyQ29sLnBvc2l0aW9uLCBudWxsKTtcbiAgICAgIH0sXG4gICAgICBmaXJzdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZ2VuZXJhdGVLZXlCZXR3ZWVuKG51bGwsIHEuZmlyc3QoKT8ucG9zaXRpb24pO1xuICAgICAgfSxcbiAgICAgIGxhc3QoKSB7XG4gICAgICAgIC8vIGFkZCBpdCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0XG4gICAgICAgIHJldHVybiBnZW5lcmF0ZUtleUJldHdlZW4ocS5sYXN0KCk/LnBvc2l0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cblxuICBkb0NvbXB1dGVWYWx1ZSgpOiBDb2x1bW5Nb2RlbDxSb3c+W10ge1xuICAgIHJldHVybiB0aGlzLmFsbENvbHVtbnMkLnZhbHVlLmZpbHRlcihjID0+IGMudmlzaWJsZSQudmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -7,7 +7,7 @@ export var ColumnOrderManager;
7
7
  return position["before"] ? callback.before(position["before"]) : callback.first();
8
8
  }
9
9
  else {
10
- return position["after"] ? callback.before(position["after"]) : callback.last();
10
+ return position["after"] ? callback.after(position["after"]) : callback.last();
11
11
  }
12
12
  }
13
13
  else {
@@ -16,4 +16,4 @@ export var ColumnOrderManager;
16
16
  }
17
17
  ColumnOrderManager.processPosition = processPosition;
18
18
  })(ColumnOrderManager || (ColumnOrderManager = {}));
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLW9yZGVyLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9jb2x1bW4vY29sdW1uLW9yZGVyLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxLQUFXLGtCQUFrQixDQXlCbEM7QUF6QkQsV0FBaUIsa0JBQWtCO0lBTWpDLFNBQWdCLGVBQWUsQ0FBQyxRQUE4QixFQUFFLFFBSy9EO1FBQ0MsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDM0IsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTthQUNuRjtpQkFBTTtnQkFDTCxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO2FBQ2hGO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQWhCZSxrQ0FBZSxrQkFnQjlCLENBQUE7QUFHSCxDQUFDLEVBekJnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBeUJsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sdW1uTWFuYWdlcn0gZnJvbSBcIi4vY29sdW1uLW1hbmFnZXJcIjtcbmltcG9ydCB7Q29sdW1uTW9kZWx9IGZyb20gXCIuL2NvbHVtbi1tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbk9yZGVyTWFuYWdlciB7XG5cbiAgcG9zaXRpb24oY29sdW1uOiBDb2x1bW5Nb2RlbDxhbnk+LCBwb3NpdGlvbjogQ29sdW1uT3JkZXJNYW5hZ2VyLlBvc2l0aW9uKTp2b2lkO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29sdW1uT3JkZXJNYW5hZ2VyIHtcbiAgaW50ZXJmYWNlIEJlZm9yZSB7IGJlZm9yZTogQ29sdW1uTW9kZWw8YW55PiB8IG51bGwgfSAvLyBiZWZvcmU6bnVsbCA9PT0gZmlyc3RcbiAgaW50ZXJmYWNlIEFmdGVyIHsgYWZ0ZXI6IENvbHVtbk1vZGVsPGFueT4gfCBudWxsIH0gLy8gYWZ0ZXI6bnVsbCA9PT0gbGFzdFxuXG4gIGV4cG9ydCB0eXBlIFBvc2l0aW9uID0gQmVmb3JlIHwgQWZ0ZXI7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NQb3NpdGlvbihwb3NpdGlvbjogUG9zaXRpb24gfCB1bmRlZmluZWQsIGNhbGxiYWNrOiB7XG4gICAgYmVmb3JlKGNvbDogQ29sdW1uTW9kZWw8YW55PiB8IG51bGwpOiBzdHJpbmcsXG4gICAgYWZ0ZXIoY29sOiBDb2x1bW5Nb2RlbDxhbnk+IHwgbnVsbCk6IHN0cmluZyxcbiAgICBmaXJzdCgpOiBzdHJpbmdcbiAgICBsYXN0KCk6IHN0cmluZ1xuICB9KTogc3RyaW5nIHtcbiAgICBpZiAocG9zaXRpb24pIHtcbiAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhwb3NpdGlvbik7XG4gICAgICBpZiAoa2V5cy5pbmNsdWRlcyhcImJlZm9yZVwiKSkge1xuICAgICAgICByZXR1cm4gcG9zaXRpb25bXCJiZWZvcmVcIl0gPyBjYWxsYmFjay5iZWZvcmUocG9zaXRpb25bXCJiZWZvcmVcIl0pIDogY2FsbGJhY2suZmlyc3QoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uW1wiYWZ0ZXJcIl0gPyBjYWxsYmFjay5iZWZvcmUocG9zaXRpb25bXCJhZnRlclwiXSkgOiBjYWxsYmFjay5sYXN0KClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrLmxhc3QoKTtcbiAgICB9XG4gIH1cblxuXG59XG5cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLW9yZGVyLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9jb2x1bW4vY29sdW1uLW9yZGVyLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxLQUFXLGtCQUFrQixDQXlCbEM7QUF6QkQsV0FBaUIsa0JBQWtCO0lBTWpDLFNBQWdCLGVBQWUsQ0FBQyxRQUE4QixFQUFFLFFBSy9EO1FBQ0MsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDM0IsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTthQUNuRjtpQkFBTTtnQkFDTCxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO2FBQy9FO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQWhCZSxrQ0FBZSxrQkFnQjlCLENBQUE7QUFHSCxDQUFDLEVBekJnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBeUJsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sdW1uTWFuYWdlcn0gZnJvbSBcIi4vY29sdW1uLW1hbmFnZXJcIjtcbmltcG9ydCB7Q29sdW1uTW9kZWx9IGZyb20gXCIuL2NvbHVtbi1tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbk9yZGVyTWFuYWdlciB7XG5cbiAgcG9zaXRpb24oY29sdW1uOiBDb2x1bW5Nb2RlbDxhbnk+LCBwb3NpdGlvbjogQ29sdW1uT3JkZXJNYW5hZ2VyLlBvc2l0aW9uKTp2b2lkO1xuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29sdW1uT3JkZXJNYW5hZ2VyIHtcbiAgaW50ZXJmYWNlIEJlZm9yZSB7IGJlZm9yZTogQ29sdW1uTW9kZWw8YW55PiB8IG51bGwgfSAvLyBiZWZvcmU6bnVsbCA9PT0gZmlyc3RcbiAgaW50ZXJmYWNlIEFmdGVyIHsgYWZ0ZXI6IENvbHVtbk1vZGVsPGFueT4gfCBudWxsIH0gLy8gYWZ0ZXI6bnVsbCA9PT0gbGFzdFxuXG4gIGV4cG9ydCB0eXBlIFBvc2l0aW9uID0gQmVmb3JlIHwgQWZ0ZXI7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NQb3NpdGlvbihwb3NpdGlvbjogUG9zaXRpb24gfCB1bmRlZmluZWQsIGNhbGxiYWNrOiB7XG4gICAgYmVmb3JlKGNvbDogQ29sdW1uTW9kZWw8YW55PiB8IG51bGwpOiBzdHJpbmcsXG4gICAgYWZ0ZXIoY29sOiBDb2x1bW5Nb2RlbDxhbnk+IHwgbnVsbCk6IHN0cmluZyxcbiAgICBmaXJzdCgpOiBzdHJpbmdcbiAgICBsYXN0KCk6IHN0cmluZ1xuICB9KTogc3RyaW5nIHtcbiAgICBpZiAocG9zaXRpb24pIHtcbiAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhwb3NpdGlvbik7XG4gICAgICBpZiAoa2V5cy5pbmNsdWRlcyhcImJlZm9yZVwiKSkge1xuICAgICAgICByZXR1cm4gcG9zaXRpb25bXCJiZWZvcmVcIl0gPyBjYWxsYmFjay5iZWZvcmUocG9zaXRpb25bXCJiZWZvcmVcIl0pIDogY2FsbGJhY2suZmlyc3QoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uW1wiYWZ0ZXJcIl0gPyBjYWxsYmFjay5hZnRlcihwb3NpdGlvbltcImFmdGVyXCJdKSA6IGNhbGxiYWNrLmxhc3QoKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2subGFzdCgpO1xuICAgIH1cbiAgfVxuXG5cbn1cblxuIl19
@@ -39,7 +39,7 @@ import { MatTableModule } from '@angular/material/table';
39
39
  import * as i4$1 from '@angular/material/tooltip';
40
40
  import { MatTooltipModule } from '@angular/material/tooltip';
41
41
  import * as i1$3 from '@coolon/pectin';
42
- import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, proxify, ValueModel, Proxify, StoreInValueModel, Command, MutableListModel, StoreInListModel, Disposable, DelegatingListModel, MutableValueModel, DelegateToValueModel, FocusManager, EventListenerList, Guard, DelegatingFormListModel, Binding, DebugContext, DelegateToListModel, DelegatingFormValueModel, ListModel, Functions, PageController, SelectionModel, CanProxy, MultipleSelectionModel, WatchList, Trace, DirtyTrackingForm, ProxyRegistry, DelegatingCommand, PagedListModel, ComputedListModel, Deferred, ReducingValueModel, AndValueModel } from '@coolon/pectin';
42
+ import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, proxify, ValueModel, Proxify, StoreInValueModel, Command, MutableListModel, StoreInListModel, Disposable, DelegatingListModel, MutableValueModel, DelegateToValueModel, FocusManager, EventListenerList, Guard, DelegatingFormListModel, Binding, DebugContext, DelegateToListModel, DelegatingFormValueModel, ListModel, Functions, PageController, SelectionModel, CanProxy, MultipleSelectionModel, WatchList, DirtyTrackingForm, ProxyRegistry, DelegatingCommand, PagedListModel, ComputedListModel, Deferred, ReducingValueModel, AndValueModel } from '@coolon/pectin';
43
43
  import { __decorate, __param, __metadata } from 'tslib';
44
44
  import * as i1 from '@angular/platform-browser';
45
45
  import escapeStringRegexp from 'escape-string-regexp';
@@ -3504,7 +3504,7 @@ var ColumnOrderManager;
3504
3504
  return position["before"] ? callback.before(position["before"]) : callback.first();
3505
3505
  }
3506
3506
  else {
3507
- return position["after"] ? callback.before(position["after"]) : callback.last();
3507
+ return position["after"] ? callback.after(position["after"]) : callback.last();
3508
3508
  }
3509
3509
  }
3510
3510
  else {
@@ -3541,7 +3541,9 @@ class ColumnManager extends GarbageCollector {
3541
3541
  }
3542
3542
  position(column, newPosition) {
3543
3543
  const target = this._columnRefs$.query().findMatching(it => it.column === column);
3544
- this._columnRefs$.replace(target, { with: new ColumnRef(target.column, this.computePosition(newPosition)) });
3544
+ const position = this.computePosition(newPosition);
3545
+ this._columnRefs$.replace(target, { with: new ColumnRef(target.column, position) });
3546
+ console.log(this._columnRefs$.value.map(r => [r.column.columnId, r.position]));
3545
3547
  }
3546
3548
  getColumn(id) {
3547
3549
  return this._columnsById$.get(id);
@@ -3566,18 +3568,20 @@ class ColumnManager extends GarbageCollector {
3566
3568
  const q = this.orderedColumnRefs$.query();
3567
3569
  return ColumnOrderManager.processPosition(position, {
3568
3570
  before(col) {
3569
- const beforeIndex = q.findIndex(ref => ref.column === col);
3570
- const beforeCol = q.value[beforeIndex];
3571
- const afterCol = beforeIndex - 1 > 0 ? q.value[beforeIndex - 1] : undefined;
3572
- console.log({ afterCol, beforeCol });
3573
- return generateKeyBetween(afterCol?.position, beforeCol.position);
3571
+ const index = q.findIndex(ref => ref.column === col);
3572
+ const beforeCol = q.value[index];
3573
+ const afterCol = index - 1 >= 0 ? q.value[index - 1] : undefined;
3574
+ return afterCol ?
3575
+ generateKeyBetween(afterCol.position, beforeCol.position) :
3576
+ generateKeyBetween(null, beforeCol.position);
3574
3577
  },
3575
3578
  after(col) {
3576
- const afterIndex = q.findIndex(ref => ref.column === col);
3577
- const afterCol = q.value[afterIndex];
3578
- const beforeCol = afterIndex + 1 < q.length ? q.value[afterIndex + 1] : undefined;
3579
- console.log({ afterCol, beforeCol });
3580
- return generateKeyBetween(afterCol.position, beforeCol?.position);
3579
+ const index = q.findIndex(ref => ref.column === col);
3580
+ const afterCol = q.value[index];
3581
+ const beforeCol = index + 1 < q.length ? q.value[index + 1] : undefined;
3582
+ return beforeCol ?
3583
+ generateKeyBetween(afterCol.position, beforeCol.position) :
3584
+ generateKeyBetween(afterCol.position, null);
3581
3585
  },
3582
3586
  first() {
3583
3587
  return generateKeyBetween(null, q.first()?.position);
@@ -3592,12 +3596,6 @@ class ColumnManager extends GarbageCollector {
3592
3596
  return this.allColumns$.value.filter(c => c.visible$.value);
3593
3597
  }
3594
3598
  }
3595
- __decorate([
3596
- Trace(),
3597
- __metadata("design:type", Function),
3598
- __metadata("design:paramtypes", [Object]),
3599
- __metadata("design:returntype", String)
3600
- ], ColumnManager.prototype, "computePosition", null);
3601
3599
 
3602
3600
  const TEXT_SEARCH_FORMATTER_KEY = `aup:table:textSearchFormatter`;
3603
3601
  const Keys = Enum("useFunction", "useInstance", "useClass");