UNPKG

ontimize-web-ngx

Version:
33 lines 5.71 kB
import { Directive } from '@angular/core'; import { OSkeletonComponent } from './o-skeleton.component'; import { Util } from '../util/util'; import * as i0 from "@angular/core"; export class ORepeatableSkeletonComponent extends OSkeletonComponent { getRows() { const parentElement = this.getParentElement(); if (!parentElement) { return [1]; } const item = this.getSkeletonItemElement(parentElement); let totalHeightItem = 0; if (item) { const itemComputedStyle = getComputedStyle(item); const height = item.offsetHeight; const marginBottom = parseFloat(itemComputedStyle.marginBottom); const marginTop = parseFloat(itemComputedStyle.marginTop); totalHeightItem = height + marginBottom + marginTop; } const availableHeight = parentElement?.offsetHeight - totalHeightItem; if (!Util.isDefined(availableHeight) || availableHeight < 0) { return [1]; } return Array.from(new Array(Math.ceil(parentElement?.offsetHeight / totalHeightItem)), (x, i) => i + 1); } } ORepeatableSkeletonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ORepeatableSkeletonComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); ORepeatableSkeletonComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ORepeatableSkeletonComponent, usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ORepeatableSkeletonComponent, decorators: [{ type: Directive, args: [{}] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1yZXBlYXRhYmxlLXNrZWxldG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL28tcmVwZWF0YWJsZS1za2VsZXRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUdwQyxNQUFNLE9BQWdCLDRCQUE2QixTQUFRLGtCQUFrQjtJQUszRSxPQUFPO1FBRUwsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFOUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDWjtRQUdELE1BQU0sSUFBSSxHQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV2RCxJQUFJLGVBQWUsR0FBVyxDQUFDLENBQUM7UUFFaEMsSUFBSSxJQUFJLEVBQUU7WUFFUixNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDakMsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUcxRCxlQUFlLEdBQUcsTUFBTSxHQUFHLFlBQVksR0FBRyxTQUFTLENBQUM7U0FDckQ7UUFJRCxNQUFNLGVBQWUsR0FBRyxhQUFhLEVBQUUsWUFBWSxHQUFHLGVBQWUsQ0FBQztRQUN0RSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxlQUFlLEdBQUcsQ0FBQyxFQUFFO1lBQzNELE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNaO1FBR0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFlBQVksR0FBRyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTFHLENBQUM7OzBIQXZDbUIsNEJBQTRCOzhHQUE1Qiw0QkFBNEI7NEZBQTVCLDRCQUE0QjtrQkFEakQsU0FBUzttQkFBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9Ta2VsZXRvbkNvbXBvbmVudCB9IGZyb20gJy4vby1za2VsZXRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5cbkBEaXJlY3RpdmUoe30pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT1JlcGVhdGFibGVTa2VsZXRvbkNvbXBvbmVudCBleHRlbmRzIE9Ta2VsZXRvbkNvbXBvbmVudCAge1xuXG4gIGFic3RyYWN0IGdldFBhcmVudEVsZW1lbnQoKTogSFRNTEVsZW1lbnQ7XG4gIGFic3RyYWN0IGdldFNrZWxldG9uSXRlbUVsZW1lbnQocGFyZW50RWxlbWVudDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudDtcblxuICBnZXRSb3dzKCkge1xuXG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuZ2V0UGFyZW50RWxlbWVudCgpO1xuXG4gICAgaWYgKCFwYXJlbnRFbGVtZW50KSB7XG4gICAgICByZXR1cm4gWzFdO1xuICAgIH1cblxuICAgIC8qIGF2YWlsYWJsZSBwYXJlbnRIZWlnaHQgPSBwYXJlbnRFbGVtZW50IGhlaWdodCAgLSAoaGVhZGVyIHRhYmxlIGhlYWRlciBoZWlnaHQgKyBtYXJnaW4gYm90dG9tKSovXG4gICAgY29uc3QgaXRlbSA9dGhpcy5nZXRTa2VsZXRvbkl0ZW1FbGVtZW50KHBhcmVudEVsZW1lbnQpO1xuXG4gICAgbGV0IHRvdGFsSGVpZ2h0SXRlbTogbnVtYmVyID0gMDtcblxuICAgIGlmIChpdGVtKSB7XG4gICAgICAvLyBHZXQgdGhlIGVsZW1lbnQncyBkaW1lbnNpb25zIGFuZCBjb21wdXRlZCBzdHlsZXNcbiAgICAgIGNvbnN0IGl0ZW1Db21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShpdGVtKTtcbiAgICAgIGNvbnN0IGhlaWdodCA9IGl0ZW0ub2Zmc2V0SGVpZ2h0OyAvLyBIZWlnaHQgaW5jbHVkaW5nIHBhZGRpbmdcbiAgICAgIGNvbnN0IG1hcmdpbkJvdHRvbSA9IHBhcnNlRmxvYXQoaXRlbUNvbXB1dGVkU3R5bGUubWFyZ2luQm90dG9tKTsgLy8gQm90dG9tIG1hcmdpblxuICAgICAgY29uc3QgbWFyZ2luVG9wID0gcGFyc2VGbG9hdChpdGVtQ29tcHV0ZWRTdHlsZS5tYXJnaW5Ub3ApO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHRvdGFsIHZlcnRpY2FsIHNwYWNlIHRha2VuIGJ5IHRoZSBpdGVtXG4gICAgICB0b3RhbEhlaWdodEl0ZW0gPSBoZWlnaHQgKyBtYXJnaW5Cb3R0b20gKyBtYXJnaW5Ub3A7XG4gICAgfVxuXG5cbiAgICAvLyBDYWxjdWxhdGUgdGhlIGF2YWlsYWJsZSBoZWlnaHQgaW4gdGhlIHBhcmVudCBjb250YWluZXIgKGV4Y2x1ZGluZyBvbmUgaXRlbSBoZWlnaHQpXG4gICAgY29uc3QgYXZhaWxhYmxlSGVpZ2h0ID0gcGFyZW50RWxlbWVudD8ub2Zmc2V0SGVpZ2h0IC0gdG90YWxIZWlnaHRJdGVtO1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQoYXZhaWxhYmxlSGVpZ2h0KSB8fCBhdmFpbGFibGVIZWlnaHQgPCAwKSB7XG4gICAgICByZXR1cm4gWzFdO1xuICAgIH1cblxuICAgIC8vIFJldHVybiBhbiBhcnJheSB3aXRoIHRoZSBudW1iZXIgb2YgaXRlbXMgdGhhdCBjYW4gZml0IHdpdGhpbiB0aGUgcGFyZW50J3MgaGVpZ2h0XG4gICAgcmV0dXJuIEFycmF5LmZyb20obmV3IEFycmF5KE1hdGguY2VpbChwYXJlbnRFbGVtZW50Py5vZmZzZXRIZWlnaHQgLyB0b3RhbEhlaWdodEl0ZW0pKSwgKHgsIGkpID0+IGkgKyAxKTtcblxuICB9XG59XG4iXX0=