{"version":3,"file":"pepperi-addons-ngx-lib-attachment.mjs","sources":["../../../projects/ngx-lib/attachment/attachment.component.ts","../../../projects/ngx-lib/attachment/attachment.component.html","../../../projects/ngx-lib/attachment/attachment.module.ts","../../../projects/ngx-lib/attachment/public-api.ts","../../../projects/ngx-lib/attachment/pepperi-addons-ngx-lib-attachment.ts"],"sourcesContent":["import {\n    Component,\n    OnInit,\n    OnChanges,\n    Input,\n    Output,\n    EventEmitter,\n    ChangeDetectionStrategy,\n    ElementRef,\n    Renderer2,\n    OnDestroy,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport {\n    PepFileService,\n    PepCustomizationService,\n    PepLayoutType,\n    PepHorizontalAlignment,\n    DEFAULT_HORIZONTAL_ALIGNMENT,\n    IPepFieldClickEvent,\n    PepAttachmentField,\n} from '@pepperi-addons/ngx-lib';\n\n@Component({\n    selector: 'pep-attachment',\n    templateUrl: './attachment.component.html',\n    styleUrls: ['./attachment.component.scss', './attachment.component.theme.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PepAttachmentComponent implements OnInit, OnChanges, OnDestroy {\n    /**\n     * The attachment key.\n     *\n     * @memberof PepAttachmentComponent\n     */\n    @Input() key = '';\n\n    private _src = '';\n    /**\n     * The src of the attachment.\n     *\n     * @memberof PepAttachmentComponent\n     */\n    @Input()\n    set src(value: string) {\n        if (!value) {\n            value = '';\n        }\n\n        this._src = value;\n        if (this._src.length > 0) {\n            // Empty dataURI.\n            this.dataURI = null;\n        }\n    }\n    get src(): string {\n        return this._src;\n    }\n\n    /**\n     * The title of the attachment.\n     *\n     * @memberof PepAttachmentComponent\n     */\n    @Input() label = '';\n\n    /**\n     * If the attachment is mandatory\n     *\n     * @memberof PepAttachmentComponent\n     */\n    @Input() mandatory = false;\n\n    /**\n     * If the attachment is disabled\n     *\n     * @memberof PepAttachmentComponent\n     */\n    @Input() disabled = false;\n\n    /**\n     * If the attachment is readonly\n     *\n     * @memberof PepAttachmentComponent\n     */\n    @Input() readonly = false;\n\n    /**\n     * The horizontal alignment of the attachment\n     *\n     * @type {PepHorizontalAlignment}\n     * @memberof PepAttachmentComponent\n     */\n    @Input() xAlignment: PepHorizontalAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;\n\n    private _rowSpan = 1;\n    @Input()\n    set rowSpan(value) {\n        this._rowSpan = value;\n        this.setFieldHeight();\n    }\n    get rowSpan(): number {\n        return this._rowSpan;\n    }\n\n    private _visible = true;\n    @Input()\n    set visible(visible: boolean) {\n        this._visible = visible;\n        if (visible) {\n            this.renderer.removeClass(\n                this.element.nativeElement,\n                'hidden-element'\n            );\n        } else {\n            this.renderer.addClass(\n                this.element.nativeElement,\n                'hidden-element'\n            );\n        }\n    }\n    get visible(): boolean {\n        return this._visible;\n    }\n\n    controlType = 'attachment';\n\n    @Input() form: FormGroup = null;\n    @Input() showTitle = true;\n    @Input() renderTitle = true;\n\n    private _layoutType: PepLayoutType = 'form';\n    @Input()\n    set layoutType(value: PepLayoutType) {\n        this._layoutType = value;\n        this.setFieldHeight();\n    }\n    get layoutType(): PepLayoutType {\n        return this._layoutType;\n    }\n\n    @Input() isActive = false;\n\n    @Output()\n    fileChange: EventEmitter<any> = new EventEmitter<any>();\n\n    @Output()\n    elementClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();\n\n    fieldHeight = '';\n    standAlone = false;\n    dataURI = null;\n\n    acceptAttachmentType =\n        'application/pdf,application/json,text/csv,text/csv-schema,application/msword,application/vnd.ms-excel,text/plain,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/bmp,image/jpg, image/jpeg, image/png, image/tif, image/tiff, txt, json, html';\n\n    constructor(\n        private customizationService: PepCustomizationService,\n        private renderer: Renderer2,\n        public element: ElementRef,\n        private fileService: PepFileService\n    ) { }\n\n    private setFieldHeight(): void {\n        this.fieldHeight = this.customizationService.calculateFieldHeight(\n            this.layoutType,\n            this.rowSpan,\n            this.standAlone\n        );\n    }\n\n    private setDefaultForm(): void {\n        const pepField = new PepAttachmentField({\n            key: this.key,\n            value: this.src,\n            mandatory: this.mandatory,\n            readonly: this.readonly,\n            disabled: this.disabled,\n        });\n        this.form = this.customizationService.getDefaultFromGroup(pepField);\n    }\n\n    ngOnDestroy(): void {\n        //\n    }\n\n    ngOnInit(): void {\n        if (this.form === null) {\n            this.standAlone = true;\n            this.setFieldHeight();\n            this.setDefaultForm();\n\n            this.renderer.addClass(\n                this.element.nativeElement,\n                PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME\n            );\n\n            if (!this.renderTitle) {\n                this.renderer.addClass(\n                    this.element.nativeElement,\n                    PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME\n                );\n            }\n        }\n    }\n\n    ngOnChanges(changes: any): void {\n        if (this.standAlone) {\n            this.setDefaultForm();\n        }\n        // Moved to src input\n        // if (changes.src && changes.src.currentValue.length > 0) {\n        //     // Empty dataURI if there is change in the src.\n        //     this.dataURI = null;\n        // }\n    }\n\n    onFileChanged(fileData: any): void {\n        // const tmp = value.length > 0 ? JSON.parse(value) : null;\n        // set this.dataURI after this.src cause it initialize in the src setter.\n        this.src = fileData ? fileData.fileStr : '';\n        this.dataURI = fileData;\n\n        this.customizationService.updateFormFieldValue(\n            this.form,\n            this.key,\n            this.dataURI ? this.dataURI.fileExt : ''\n        );\n        // this.valueChange.emit({\n        //     key: this.key,\n        //     value,\n        // });\n\n        this.fileChange.emit(fileData);\n        // this.fileChange.emit(value.length > 0 ? JSON.parse(value) : value);\n    }\n\n    onFileClicked(event: IPepFieldClickEvent): void {\n        if (this.dataURI != null) {\n            const fileStrArr = this.dataURI.fileStr.split(';');\n            if (fileStrArr.length === 2) {\n                const win = window.open('', '_blank');\n                const contentType = fileStrArr[0].split(':')[1];\n                const base64 = fileStrArr[1].split(',')[1];\n                const blob = this.fileService.convertFromb64toBlob(\n                    base64,\n                    contentType\n                );\n                const url = URL.createObjectURL(blob);\n                win.location.href = url;\n            }\n        } else {\n            if (this.fileService.isValidUrl(this.src)) {\n                const win = window.open('', '_blank');\n                win.location.href = this.src;\n            }\n        }\n\n        this.elementClick.emit(event);\n    }\n}\n","<ng-template #pepTemplate>\n    <pep-files-uploader [key]=\"key\" [src]=\"src\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n        [xAlignment]=\"xAlignment\" [rowSpan]=\"rowSpan\" [fieldHeight]=\"fieldHeight\" [controlType]=\"controlType\"\n        [form]=\"form\" [layoutType]=\"layoutType\" [standAlone]=\"standAlone\" (fileChange)=\"onFileChanged($event)\"\n        (elementClick)=\"onFileClicked($event)\" [acceptedExtensions]=\"acceptAttachmentType\">\n    </pep-files-uploader>\n</ng-template>\n\n<ng-template #pepReadonlyTemplate>\n    <ng-container *ngIf=\"src?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n    <ng-template #notEmptyBlock>\n        <div class=\"pep-file-container\">\n            <a [id]=\"key\" class=\"color-link body-sm pep-card-input \" *ngIf=\"src != null\" title=\"{{ src }}\"\n                target=\"_blank\" href=\"{{ src }}\">{{ src }}</a>\n        </div>\n    </ng-template>\n    <ng-template #emptyBlock>\n        <span>&nbsp;</span>\n    </ng-template>\n</ng-template>\n\n<ng-container *ngIf=\"layoutType === 'form'\">\n    <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1, 'stand-alone': standAlone }\">\n        <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\n            [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n        </pep-field-title>\n        <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n    </div>\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'card'\">\n    <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n    <ng-template #selectedBlock>\n        <div class=\"pep-file-container\" [ngClass]=\"{ 'one-row': rowSpan == 1, 'stand-alone': standAlone}\">\n            <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n        </div>\n    </ng-template>\n    <ng-template #notSelectedBlock>\n        <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate\"></ng-container>\n    </ng-template>\n</ng-container>\n\n\n<ng-container *ngIf=\"layoutType === 'table'\">\n    <ng-container *ngIf=\"false && isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n    <ng-template #selectedBlock>\n        <div class=\"pep-file-container one-row\">\n            <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n        </div>\n    </ng-template>\n    <ng-template #notSelectedBlock>\n        <ng-container *ngTemplateOutlet=\"pepReadonlyTemplate\"></ng-container>\n    </ng-template>\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepFilesUploaderModule } from '@pepperi-addons/ngx-lib/files-uploader';\n\nimport { PepAttachmentComponent } from './attachment.component';\n\n@NgModule({\n    imports: [\n        CommonModule,\n        ReactiveFormsModule,\n        // Material modules\n        MatCommonModule,\n        MatFormFieldModule,\n        // ngx-lib modules\n        PepNgxLibModule,\n        PepFieldTitleModule,\n        PepFilesUploaderModule,\n    ],\n    exports: [PepAttachmentComponent],\n    declarations: [PepAttachmentComponent],\n})\nexport class PepAttachmentModule {}\n","/*\n * Public API Surface of ngx-lib/attachment\n */\nexport * from './attachment.module';\nexport * from './attachment.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}