UNPKG

ngx-antd-form-builder

Version:

Simple Drag&Drop form builder using ng-zorro-antd

34 lines 4.13 kB
export class SortablejsBinding { constructor(target) { this.target = target; } insert(index, item) { if (this.isFormArray) { this.target.insert(index, item); } else { this.target.splice(index, 0, item); } } get(index) { return this.isFormArray ? this.target.at(index) : this.target[index]; } remove(index) { let item; if (this.isFormArray) { item = this.target.at(index); this.target.removeAt(index); } else { item = this.target.splice(index, 1)[0]; } return item; } // we need this to identify that the target is a FormArray // we don't want to have a dependency on @angular/forms just for that get isFormArray() { // just checking for random FormArray methods not available on a standard array return !!this.target.at && !!this.target.insert && !!this.target.reset; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGFibGVqcy1iaW5kaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWFudGQtZm9ybS1idWlsZGVyL3NyYy9saWIvdXRpbHMvc29ydGFibGVqcy9zb3J0YWJsZWpzLWJpbmRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixZQUFvQixNQUFvQjtRQUFwQixXQUFNLEdBQU4sTUFBTSxDQUFjO0lBQ3hDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYSxFQUFFLElBQVM7UUFDN0IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxJQUFJLENBQUM7UUFFVCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCwwREFBMEQ7SUFDMUQscUVBQXFFO0lBQ3JFLElBQVksV0FBVztRQUNyQiwrRUFBK0U7UUFDL0UsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUN6RSxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NvcnRhYmxlRGF0YX0gZnJvbSAnLi9zb3J0YWJsZWpzLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgU29ydGFibGVqc0JpbmRpbmcge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRhcmdldDogU29ydGFibGVEYXRhKSB7XHJcbiAgfVxyXG5cclxuICBpbnNlcnQoaW5kZXg6IG51bWJlciwgaXRlbTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5pc0Zvcm1BcnJheSkge1xyXG4gICAgICB0aGlzLnRhcmdldC5pbnNlcnQoaW5kZXgsIGl0ZW0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YXJnZXQuc3BsaWNlKGluZGV4LCAwLCBpdGVtKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0Zvcm1BcnJheSA/IHRoaXMudGFyZ2V0LmF0KGluZGV4KSA6IHRoaXMudGFyZ2V0W2luZGV4XTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICBsZXQgaXRlbTtcclxuXHJcbiAgICBpZiAodGhpcy5pc0Zvcm1BcnJheSkge1xyXG4gICAgICBpdGVtID0gdGhpcy50YXJnZXQuYXQoaW5kZXgpO1xyXG4gICAgICB0aGlzLnRhcmdldC5yZW1vdmVBdChpbmRleCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpdGVtID0gdGhpcy50YXJnZXQuc3BsaWNlKGluZGV4LCAxKVswXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9XHJcblxyXG4gIC8vIHdlIG5lZWQgdGhpcyB0byBpZGVudGlmeSB0aGF0IHRoZSB0YXJnZXQgaXMgYSBGb3JtQXJyYXlcclxuICAvLyB3ZSBkb24ndCB3YW50IHRvIGhhdmUgYSBkZXBlbmRlbmN5IG9uIEBhbmd1bGFyL2Zvcm1zIGp1c3QgZm9yIHRoYXRcclxuICBwcml2YXRlIGdldCBpc0Zvcm1BcnJheSgpIHtcclxuICAgIC8vIGp1c3QgY2hlY2tpbmcgZm9yIHJhbmRvbSBGb3JtQXJyYXkgbWV0aG9kcyBub3QgYXZhaWxhYmxlIG9uIGEgc3RhbmRhcmQgYXJyYXlcclxuICAgIHJldHVybiAhIXRoaXMudGFyZ2V0LmF0ICYmICEhdGhpcy50YXJnZXQuaW5zZXJ0ICYmICEhdGhpcy50YXJnZXQucmVzZXQ7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=