@edugouvfr/ngx-dsfr
Version:
NgxDsfr est un portage Angular des éléments d'interface du Système de Design de l'État Français (DSFR).
70 lines • 7.27 kB
JavaScript
import { afterNextRender, Directive, ElementRef, HostBinding, inject, Input } from '@angular/core';
import { setFixedColumnPosition } from '../table.utils';
import * as i0 from "@angular/core";
/**
* Directive affichage d'une cellule (alignements)
*/
export class DsfrCellDirective {
constructor() {
this.element = inject(ElementRef);
afterNextRender(() => {
if (this.cell?.fixed) {
// double animation request pour bug webkit refresh
requestAnimationFrame(() => {
requestAnimationFrame(() => {
setFixedColumnPosition(this.element.nativeElement, this.cell.fixedPosition);
});
});
}
});
}
get isMultiline() {
return this.cell?.allowWrap;
}
get isTopCell() {
return this.cell?.verticalAlign === 'top';
}
get isBottomCell() {
return this.cell?.verticalAlign === 'bottom';
}
get isCenterCell() {
return this.cell?.textAlign === 'center';
}
get isRightCell() {
return this.cell?.textAlign === 'right';
}
get isFixed() {
return this.cell?.fixed;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DsfrCellDirective, isStandalone: true, selector: "[dsfrCell]", inputs: { cell: ["dsfrCell", "cell"] }, host: { properties: { "class.fr-cell--multiline": "this.isMultiline", "class.fr-cell--top": "this.isTopCell", "class.fr-cell--bottom": "this.isBottomCell", "class.fr-cell--center": "this.isCenterCell", "class.fr-cell--right": "this.isRightCell", "class.fr-cell--fixed": "this.isFixed" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DsfrCellDirective, decorators: [{
type: Directive,
args: [{
selector: '[dsfrCell]',
standalone: true,
}]
}], ctorParameters: () => [], propDecorators: { cell: [{
type: Input,
args: ['dsfrCell']
}], isMultiline: [{
type: HostBinding,
args: ['class.fr-cell--multiline']
}], isTopCell: [{
type: HostBinding,
args: ['class.fr-cell--top']
}], isBottomCell: [{
type: HostBinding,
args: ['class.fr-cell--bottom']
}], isCenterCell: [{
type: HostBinding,
args: ['class.fr-cell--center']
}], isRightCell: [{
type: HostBinding,
args: ['class.fr-cell--right']
}], isFixed: [{
type: HostBinding,
args: ['class.fr-cell--fixed']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHNmci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9kaXJlY3RpdmUvY2VsbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV4RDs7R0FFRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7SUFLNUI7UUFGVSxZQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBR3JDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUNyQixtREFBbUQ7Z0JBQ25ELHFCQUFxQixDQUFDLEdBQUcsRUFBRTtvQkFDekIscUJBQXFCLENBQUMsR0FBRyxFQUFFO3dCQUN6QixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQTRCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDN0YsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWEsS0FBSyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQ0ksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxhQUFhLEtBQUssUUFBUSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUNJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxLQUFLLFFBQVEsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsS0FBSyxPQUFPLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7SUFDMUIsQ0FBQzsrR0E5Q1UsaUJBQWlCO21HQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt3REFFb0IsSUFBSTtzQkFBdEIsS0FBSzt1QkFBQyxVQUFVO2dCQWtCYixXQUFXO3NCQURkLFdBQVc7dUJBQUMsMEJBQTBCO2dCQU1uQyxTQUFTO3NCQURaLFdBQVc7dUJBQUMsb0JBQW9CO2dCQU03QixZQUFZO3NCQURmLFdBQVc7dUJBQUMsdUJBQXVCO2dCQU1oQyxZQUFZO3NCQURmLFdBQVc7dUJBQUMsdUJBQXVCO2dCQU1oQyxXQUFXO3NCQURkLFdBQVc7dUJBQUMsc0JBQXNCO2dCQU0vQixPQUFPO3NCQURWLFdBQVc7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEc2ZyQ2VsbE9wdGlvbnMgfSBmcm9tICcuLi90YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBzZXRGaXhlZENvbHVtblBvc2l0aW9uIH0gZnJvbSAnLi4vdGFibGUudXRpbHMnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSBhZmZpY2hhZ2UgZCd1bmUgY2VsbHVsZSAoYWxpZ25lbWVudHMpXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkc2ZyQ2VsbF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEc2ZyQ2VsbERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgnZHNmckNlbGwnKSBjZWxsOiBEc2ZyQ2VsbE9wdGlvbnM7XG5cbiAgcHJvdGVjdGVkIGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmNlbGw/LmZpeGVkKSB7XG4gICAgICAgIC8vIGRvdWJsZSBhbmltYXRpb24gcmVxdWVzdCBwb3VyIGJ1ZyB3ZWJraXQgcmVmcmVzaFxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICBzZXRGaXhlZENvbHVtblBvc2l0aW9uKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50LCB0aGlzLmNlbGwuZml4ZWRQb3NpdGlvbik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mci1jZWxsLS1tdWx0aWxpbmUnKVxuICBnZXQgaXNNdWx0aWxpbmUoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbD8uYWxsb3dXcmFwO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mci1jZWxsLS10b3AnKVxuICBnZXQgaXNUb3BDZWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNlbGw/LnZlcnRpY2FsQWxpZ24gPT09ICd0b3AnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mci1jZWxsLS1ib3R0b20nKVxuICBnZXQgaXNCb3R0b21DZWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNlbGw/LnZlcnRpY2FsQWxpZ24gPT09ICdib3R0b20nO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mci1jZWxsLS1jZW50ZXInKVxuICBnZXQgaXNDZW50ZXJDZWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNlbGw/LnRleHRBbGlnbiA9PT0gJ2NlbnRlcic7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZyLWNlbGwtLXJpZ2h0JylcbiAgZ2V0IGlzUmlnaHRDZWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNlbGw/LnRleHRBbGlnbiA9PT0gJ3JpZ2h0JztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnItY2VsbC0tZml4ZWQnKVxuICBnZXQgaXNGaXhlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jZWxsPy5maXhlZDtcbiAgfVxufVxuIl19