UNPKG

@acrodata/watermark

Version:
70 lines 7.95 kB
import { booleanAttribute, Directive, ElementRef, inject, Input, NgZone, numberAttribute, } from '@angular/core'; import { Watermark } from './watermark'; import * as i0 from "@angular/core"; export class WatermarkDirective { options = {}; container; secure = true; zIndex = 9999; scrollHeight; _elementRef = inject(ElementRef); _ngZone = inject(NgZone); _watermark; ngOnInit() { const el = this._elementRef.nativeElement; this._watermark = this._ngZone.runOutsideAngular(() => new Watermark({ ...this.options, container: this.container || (el.childNodes.length > 0 ? el : null), secure: this.secure, zIndex: this.zIndex, scrollHeight: this.scrollHeight, })); } ngOnChanges() { this.update(this.options); } ngOnDestroy() { this.destroy(); } update(options) { this._watermark?.update(options); } show() { this._watermark?.show(); } hide() { this._watermark?.hide(); } destroy() { this._watermark?.destroy(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WatermarkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.7", type: WatermarkDirective, isStandalone: true, selector: "[watermark]", inputs: { options: ["watermarkOptions", "options"], container: ["watermarkContainer", "container"], secure: ["watermarkSecure", "secure", booleanAttribute], zIndex: ["watermarkZIndex", "zIndex", numberAttribute], scrollHeight: ["watermarkScrollHeight", "scrollHeight"] }, host: { properties: { "style.position": "\"relative\"" } }, exportAs: ["watermark"], usesOnChanges: true, ngImport: i0 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WatermarkDirective, decorators: [{ type: Directive, args: [{ selector: '[watermark]', exportAs: 'watermark', standalone: true, host: { '[style.position]': '"relative"', }, }] }], propDecorators: { options: [{ type: Input, args: [{ alias: 'watermarkOptions' }] }], container: [{ type: Input, args: [{ alias: 'watermarkContainer' }] }], secure: [{ type: Input, args: [{ alias: 'watermarkSecure', transform: booleanAttribute }] }], zIndex: [{ type: Input, args: [{ alias: 'watermarkZIndex', transform: numberAttribute }] }], scrollHeight: [{ type: Input, args: [{ alias: 'watermarkScrollHeight' }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3dhdGVybWFyay9zcmMvbGliL3dhdGVybWFyay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLGVBQWUsR0FJaEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFVeEMsTUFBTSxPQUFPLGtCQUFrQjtJQUNTLE9BQU8sR0FBcUIsRUFBRSxDQUFDO0lBRTdCLFNBQVMsQ0FBK0I7SUFFZCxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBRWYsTUFBTSxHQUFHLElBQUksQ0FBQztJQUVwQyxZQUFZLENBQW1CO0lBRWxFLFdBQVcsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0lBQzFELE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFekIsVUFBVSxDQUFhO0lBRS9CLFFBQVE7UUFDTixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUUxQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQzlDLEdBQUcsRUFBRSxDQUNILElBQUksU0FBUyxDQUFDO1lBQ1osR0FBRyxJQUFJLENBQUMsT0FBTztZQUNmLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDLENBQ0wsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUF5QjtRQUM5QixJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO3VHQXJEVSxrQkFBa0I7MkZBQWxCLGtCQUFrQix5TEFLaUIsZ0JBQWdCLHlDQUVoQixlQUFlOzsyRkFQbEQsa0JBQWtCO2tCQVI5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixrQkFBa0IsRUFBRSxZQUFZO3FCQUNqQztpQkFDRjs4QkFFdUMsT0FBTztzQkFBNUMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtnQkFFSSxTQUFTO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO2dCQUU0QixNQUFNO3NCQUF2RSxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFQyxNQUFNO3NCQUF0RSxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBRXBCLFlBQVk7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdhdGVybWFya09wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFdhdGVybWFyayB9IGZyb20gJy4vd2F0ZXJtYXJrJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3dhdGVybWFya10nLFxuICBleHBvcnRBczogJ3dhdGVybWFyaycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICAnW3N0eWxlLnBvc2l0aW9uXSc6ICdcInJlbGF0aXZlXCInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBXYXRlcm1hcmtEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KHsgYWxpYXM6ICd3YXRlcm1hcmtPcHRpb25zJyB9KSBvcHRpb25zOiBXYXRlcm1hcmtPcHRpb25zID0ge307XG5cbiAgQElucHV0KHsgYWxpYXM6ICd3YXRlcm1hcmtDb250YWluZXInIH0pIGNvbnRhaW5lcj86IEhUTUxFbGVtZW50IHwgc3RyaW5nIHwgbnVsbDtcblxuICBASW5wdXQoeyBhbGlhczogJ3dhdGVybWFya1NlY3VyZScsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzZWN1cmUgPSB0cnVlO1xuXG4gIEBJbnB1dCh7IGFsaWFzOiAnd2F0ZXJtYXJrWkluZGV4JywgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgekluZGV4ID0gOTk5OTtcblxuICBASW5wdXQoeyBhbGlhczogJ3dhdGVybWFya1Njcm9sbEhlaWdodCcgfSkgc2Nyb2xsSGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIHByaXZhdGUgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIF9uZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICBwcml2YXRlIF93YXRlcm1hcms/OiBXYXRlcm1hcms7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZWwgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLl93YXRlcm1hcmsgPSB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoXG4gICAgICAoKSA9PlxuICAgICAgICBuZXcgV2F0ZXJtYXJrKHtcbiAgICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgICAgY29udGFpbmVyOiB0aGlzLmNvbnRhaW5lciB8fCAoZWwuY2hpbGROb2Rlcy5sZW5ndGggPiAwID8gZWwgOiBudWxsKSxcbiAgICAgICAgICBzZWN1cmU6IHRoaXMuc2VjdXJlLFxuICAgICAgICAgIHpJbmRleDogdGhpcy56SW5kZXgsXG4gICAgICAgICAgc2Nyb2xsSGVpZ2h0OiB0aGlzLnNjcm9sbEhlaWdodCxcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGUodGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICB9XG5cbiAgdXBkYXRlKG9wdGlvbnM6IFdhdGVybWFya09wdGlvbnMpIHtcbiAgICB0aGlzLl93YXRlcm1hcms/LnVwZGF0ZShvcHRpb25zKTtcbiAgfVxuXG4gIHNob3coKSB7XG4gICAgdGhpcy5fd2F0ZXJtYXJrPy5zaG93KCk7XG4gIH1cblxuICBoaWRlKCkge1xuICAgIHRoaXMuX3dhdGVybWFyaz8uaGlkZSgpO1xuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLl93YXRlcm1hcms/LmRlc3Ryb3koKTtcbiAgfVxufVxuIl19