@ux-aspects/ux-aspects
Version:
Open source user interface framework for building modern, responsive, mobile big data applications
34 lines • 4.39 kB
JavaScript
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