import { Component, Inject } from '@angular/core';
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { TranslateLibraryService } from '../../../../services/translation-registry.service';
import { takeUntil } from 'rxjs/operators';
import { QMSCKEditorBaseComponent } from '../../../qms-ckeditor-base.component';
import { QMSCKEditorLinkService } from '../../../services/qms-ckeditor-link.service';
import QMSCKEditorParamter from '../../../common/models/qms-ckeditor-parameter.model';
import { CKEditorModule } from '../../../common/enums/module.enum';
export class LinkAttachmentComponent extends QMSCKEditorBaseComponent {
    constructor(dialog, translate, linkService, dialogRef, data) {
        super();
        this.dialog = dialog;
        this.translate = translate;
        this.linkService = linkService;
        this.dialogRef = dialogRef;
        this.data = data;
        this.module = 0;
        this.entityId = '';
        this.supportFileArchiveAttachments = false;
        this.attachments = [];
        this.module = data.module;
        this.entityId = data.entityId;
    }
    ngOnInit() {
        this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {
            if (res) {
                this.LANG = this.translate.getObjectLang(res);
            }
        });
        this.getAttachmentList(this.module, this.entityId, this.supportFileArchiveAttachments);
    }
    onCloseDialog() {
        this.dialogRef.close();
    }
    getAttachmentList(module, itemId, supportFileArchiveAttachments) {
        this.linkService
            .getAttachmentList(module, itemId, supportFileArchiveAttachments)
            .pipe(takeUntil(this.ngUnsubcribe))
            .subscribe((response) => {
            if (response) {
                this.attachments = response;
            }
        });
    }
    onSelectedAttachment(extraId, fileName) {
        this.linkUrl = { url: '', title: '' };
        if (extraId) {
            if (this.module === CKEditorModule.document) {
                this.linkUrl.url = `/api/File/GetFile?entityId=${extraId}`;
            }
            else if (this.module === CKEditorModule.process) {
                this.linkUrl.url = `/api/processes/GetFileContents?fileId=${extraId}`;
            }
            this.linkUrl.title = fileName;
        }
        this.dialogRef.close(this.linkUrl);
    }
}
LinkAttachmentComponent.decorators = [
    { type: Component, args: [{
                selector: 'link-attachment',
                template: "<div\r\n  id=\"qmsckeditor_link_attachment\"\r\n  class=\"qmsckeditor qmsckeditor__link__attachment__container\"\r\n>\r\n  <div id=\"qmsckeditor_link_attachment_header\">\r\n    <span\r\n      id=\"qmsckeditor_link_attachment_header_001\"\r\n      mat-icon-button\r\n      class=\"qmsckeditor button__close\"\r\n      (click)=\"onCloseDialog()\"\r\n    >\r\n      <mat-icon>close</mat-icon>\r\n    </span>\r\n    <div id=\"qmsckeditor_link_attachment_header_002\" mat-dialog-content>\r\n      <h2 id=\"qmsckeditor_link_attachment_header_002_001\">\r\n        {{ LANG.QMSCKEDITOR.ATTACHMENT }}\r\n      </h2>\r\n    </div>\r\n  </div>\r\n  <div\r\n    id=\"qmsckeditor_link_attachment_content\"\r\n    class=\"qmsckeditor template-content height\"\r\n  >\r\n    <div id=\"qmsckeditor_link_attachment_content_001\" class=\"mt-1 pl-2 pr-2 ps-2 pe-2\">\r\n      <mat-card\r\n        class=\"qmsckeditor card col-12\"\r\n        *ngFor=\"let attachment of attachments\"\r\n      >\r\n        <div\r\n          class=\"row\"\r\n          (click)=\"\r\n            onSelectedAttachment(attachment.extraId, attachment.fileName)\r\n          \"\r\n        >\r\n          <div class=\"qmsckeditor__cursor col-12\">\r\n            <div class=\"col-12 pl-0 ps-0 title\">\r\n              <span>{{ attachment.fileName }}</span>\r\n            </div>\r\n            <div class=\"col-12 pl-0 ps-0 content\">\r\n              <span>{{ attachment.extraId }}</span>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </mat-card>\r\n    </div>\r\n  </div>\r\n</div>\r\n",
                styles: [".mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt7{margin-top:7px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.ml2{margin-left:2px!important}.ml3{margin-left:3px!important}.ml5{margin-left:5px!important}.ml15{margin-left:15px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml16{margin-left:16px!important}.ml-auto{margin-left:auto!important}.ml-25{margin-left:-25px!important}.mr5{margin-right:5px!important}.mr12{margin-right:12px!important}.mr15{margin-right:15px!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.pt8{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt16{padding-top:16px!important}.pl15{padding-left:15px!important}.pl0{padding-left:0!important}.pr0{padding-right:0!important}.pr15{padding-right:15px!important}.fs12{font-size:12px}.fs14{font-size:14px!important}.fs16{font-size:16px!important}.fs22{font-size:22px!important}.fw500{font-weight:500!important}.italic-text{font-style:italic}.display-flex{display:flex}.qmsckeditor{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.qmsckeditor h2{font-size:20px;font-weight:400}.qmsckeditor .mat-dialog-content{padding:0}.qmsckeditor .mat-icon{color:#909497}.qmsckeditor__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;max-height:100vh;overflow-x:hidden}.qmsckeditor__cursor{cursor:pointer}.qmsckeditor__notallowed{cursor:not-allowed}.qmsckeditor.button__close,.qmsckeditor.button__done{float:right;top:-24px;right:-24px;cursor:pointer}.qmsckeditor.button__done{margin-right:20px}.qmsckeditor.button__done .mat-icon{color:#28a745;font-weight:700}.qmsckeditor.button__groups button{min-height:40px;width:100%;border-radius:4px;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px}.qmsckeditor.button__groups .save{background:#f8f9f9}.qmsckeditor.button__groups .save:hover{background:#e5e7e9}.qmsckeditor.button__groups .save:disabled{cursor:not-allowed}.qmsckeditor.button__groups .cancel{background:#f8f9f9}.qmsckeditor.button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.button__groups .cancel:disabled{cursor:not-allowed}.qmsckeditor.button__groups .delete{background:#f8f9f9}.qmsckeditor.button__groups .delete:hover{background:#e5e7e9}.qmsckeditor.button__groups .delete:disabled{cursor:not-allowed}.qmsckeditor.confirm__button__groups button{min-height:36px;border-radius:4px;width:auto;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px}.qmsckeditor.confirm__button__groups .confirm{background:#f8f9f9}.qmsckeditor.confirm__button__groups .confirm:hover{background:#e5e7e9}.qmsckeditor.confirm__button__groups .cancel{background:#f8f9f9}.qmsckeditor.confirm__button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.template-content.height{min-height:420px;max-height:520px;overflow:auto}.qmsckeditor.template-content.title{margin-left:-9px}.qmsckeditor.link__content.height{min-height:400px;max-height:520px}.qmsckeditor.card{margin-bottom:10px;min-height:60px;box-shadow:none;border:1px solid #e5e5e5}.qmsckeditor.card .title{font-weight:700}.qmsckeditor.card .content{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qmsckeditor.card .material-icons{font-size:20px}.qmsckeditor.tooltip-content.height{min-height:400px;max-height:472px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .ck-horizontal-line,.ck-content .page-break{width:100%}.ck-content hr{background:#ccc}"]
            },] }
];
LinkAttachmentComponent.ctorParameters = () => [
    { type: MatDialog },
    { type: TranslateLibraryService },
    { type: QMSCKEditorLinkService },
    { type: MatDialogRef },
    { type: QMSCKEditorParamter, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
];
//# sourceMappingURL=data:application/json;base64, 