UNPKG

@ux-aspects/ux-aspects

Version:

Open source user interface framework for building modern, responsive, mobile big data applications

34 lines 4.39 kB
import { coerceNumberProperty } from '@angular/cdk/coercion'; import { Directive, HostBinding, inject, Input } from '@angular/core'; import { TreeGridRowDirective } from './tree-grid-row.directive'; import * as i0 from "@angular/core"; export class TreeGridIndentDirective { constructor() { this._row = inject(TreeGridRowDirective); } /** The amount each level should be indented by */ set uxTreeGridIndent(value) { this._indent = coerceNumberProperty(value, 25); } get uxTreeGridIndent() { return this._indent; } /** The padding value applied to each level */ get indentation() { return this._row && this._row.item ? 7 + (this._row.item.state.level * this._indent) : 7; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TreeGridIndentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: TreeGridIndentDirective, selector: "[uxTreeGridIndent]", inputs: { uxTreeGridIndent: "uxTreeGridIndent" }, host: { properties: { "style.padding-left.px": "this.indentation" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TreeGridIndentDirective, decorators: [{ type: Directive, args: [{ selector: '[uxTreeGridIndent]', }] }], propDecorators: { uxTreeGridIndent: [{ type: Input }], indentation: [{ type: HostBinding, args: ['style.padding-left.px'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ncmlkLWluZGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy90cmVlLWdyaWQvdHJlZS1ncmlkLWluZGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFLakUsTUFBTSxPQUFPLHVCQUF1QjtJQUhwQztRQUlhLFNBQUksR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQXFCaEQ7SUFuQkcsa0RBQWtEO0lBQ2xELElBQ0ksZ0JBQWdCLENBQUMsS0FBeUI7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsOENBQThDO0lBQzlDLElBQ0ksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDOytHQWpCUSx1QkFBdUI7bUdBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO2lCQUNqQzs4QkFNTyxnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBV0YsV0FBVztzQkFEZCxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmVlR3JpZFJvd0RpcmVjdGl2ZSB9IGZyb20gJy4vdHJlZS1ncmlkLXJvdy5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t1eFRyZWVHcmlkSW5kZW50XScsXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVHcmlkSW5kZW50RGlyZWN0aXZlIHtcbiAgICByZWFkb25seSBfcm93ID0gaW5qZWN0KFRyZWVHcmlkUm93RGlyZWN0aXZlKTtcblxuICAgIC8qKiBUaGUgYW1vdW50IGVhY2ggbGV2ZWwgc2hvdWxkIGJlIGluZGVudGVkIGJ5ICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdXhUcmVlR3JpZEluZGVudCh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2luZGVudCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCAyNSk7XG4gICAgfVxuXG4gICAgZ2V0IHV4VHJlZUdyaWRJbmRlbnQoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luZGVudDtcbiAgICB9XG5cbiAgICAvKiogVGhlIHBhZGRpbmcgdmFsdWUgYXBwbGllZCB0byBlYWNoIGxldmVsICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wYWRkaW5nLWxlZnQucHgnKVxuICAgIGdldCBpbmRlbnRhdGlvbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm93ICYmIHRoaXMuX3Jvdy5pdGVtID8gNyArICh0aGlzLl9yb3cuaXRlbS5zdGF0ZS5sZXZlbCAqIHRoaXMuX2luZGVudCkgOiA3O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2luZGVudDogbnVtYmVyO1xuXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3V4VHJlZUdyaWRJbmRlbnQ6IE51bWJlcklucHV0IHwgdW5kZWZpbmVkO1xufVxuIl19