@engie-group/fluid-design-system-angular
Version:
Fluid Design System Angular
37 lines • 4.54 kB
JavaScript
import { ChangeDetectorRef, Directive, Host, inject, Self } from '@angular/core';
import { ListItemComponent } from '../../list-item/list-item.component';
import { SidebarComponent } from '../sidebar.component';
import * as i0 from "@angular/core";
export class SidebarItemDirective {
constructor() {
this.sidebar = inject(SidebarComponent);
this.listItem = inject(ListItemComponent);
this.cdr = inject(ChangeDetectorRef);
this.listItem.hasRightBorder = true;
this.updateListItemFoldedState();
}
ngDoCheck() {
if (this.isCurrentlyFolded !== this.sidebar.isFolded) {
this.updateListItemFoldedState();
}
}
updateListItemFoldedState() {
this.isCurrentlyFolded = this.sidebar.isFolded;
this.listItem.isIconOnly = this.isCurrentlyFolded;
this.cdr.markForCheck();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SidebarItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SidebarItemDirective, isStandalone: true, selector: "[njSidebarItem]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SidebarItemDirective, decorators: [{
type: Directive,
args: [{
selector: '[njSidebarItem]',
standalone: true
}]
}], ctorParameters: function () { return []; }, propDecorators: { sidebar: [{
type: Host
}], listItem: [{
type: Self
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGViYXIvZGlyZWN0aXZlcy9zaWRlYmFyLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQVcsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7O0FBTXRELE1BQU0sT0FBTyxvQkFBb0I7SUFXL0I7UUFQUSxZQUFPLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFHbkMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXJDLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUd0QyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNwRCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBMUJVLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjswRUFLUyxPQUFPO3NCQURkLElBQUk7Z0JBSUcsUUFBUTtzQkFEZixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBEb0NoZWNrLCBIb3N0LCBpbmplY3QsIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMaXN0SXRlbUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHtTaWRlYmFyQ29tcG9uZW50fSBmcm9tICcuLi9zaWRlYmFyLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tualNpZGViYXJJdGVtXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgU2lkZWJhckl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBEb0NoZWNrIHtcbiAgcHJpdmF0ZSBpc0N1cnJlbnRseUZvbGRlZDogYm9vbGVhbjtcblxuICBASG9zdCgpXG4gIHByaXZhdGUgc2lkZWJhciA9IGluamVjdChTaWRlYmFyQ29tcG9uZW50KTtcblxuICBAU2VsZigpXG4gIHByaXZhdGUgbGlzdEl0ZW0gPSBpbmplY3QoTGlzdEl0ZW1Db21wb25lbnQpO1xuXG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxpc3RJdGVtLmhhc1JpZ2h0Qm9yZGVyID0gdHJ1ZTtcbiAgICB0aGlzLnVwZGF0ZUxpc3RJdGVtRm9sZGVkU3RhdGUoKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICBpZiAodGhpcy5pc0N1cnJlbnRseUZvbGRlZCAhPT0gdGhpcy5zaWRlYmFyLmlzRm9sZGVkKSB7XG4gICAgICB0aGlzLnVwZGF0ZUxpc3RJdGVtRm9sZGVkU3RhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUxpc3RJdGVtRm9sZGVkU3RhdGUoKSB7XG4gICAgdGhpcy5pc0N1cnJlbnRseUZvbGRlZCA9IHRoaXMuc2lkZWJhci5pc0ZvbGRlZDtcbiAgICB0aGlzLmxpc3RJdGVtLmlzSWNvbk9ubHkgPSB0aGlzLmlzQ3VycmVudGx5Rm9sZGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=