{"__symbolic":"module","version":4,"metadata":{"AsapUploadService":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"asap-crud","name":"BaseService","line":7,"character":39},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"asap-crud","name":"Global","line":10,"character":19},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":11,"character":17}]}],"upload":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"AsapUploadComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"asap-upload","styles":["./asap-upload.component.css"],"template":"<button type=\"button\" class=\"{{btnClass}}\" (click)=\"openDialog()\">\n    <span *ngIf=\"type == 'image'\">\n        <i class=\"fa fa-image mr-4\"></i> {{btnTitle}}\n    </span>\n    <span *ngIf=\"type != 'image'\">\n        <i class=\"fa fa-file-o mr-4\"></i> {{btnTitle}}\n    </span>\n</button>\n"}]}],"members":{"horizontal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":5}}]}],"aspectRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5}}]}],"resizeToWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":5}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":5}}]}],"onlyType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}}]}],"uploadType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"btnClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"btnTitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5}}]}],"AddPhoto":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":5}}]}],"AddArchive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":5}}]}],"onCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":31,"character":23}]}],"ngOnInit":[{"__symbolic":"method"}],"openDialog":[{"__symbolic":"method"}]}},"AsapUploadModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/material/button-toggle","name":"MatButtonToggleModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/material/checkbox","name":"MatCheckboxModule","line":23,"character":4},{"__symbolic":"reference","module":"@angular/material/snack-bar","name":"MatSnackBarModule","line":24,"character":4},{"__symbolic":"reference","module":"ngx-img-cropper","name":"ImageCropperModule","line":25,"character":4},{"__symbolic":"reference","module":"asap-crud","name":"AsapCrudModule","line":26,"character":4},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":27,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ng-block-ui","name":"BlockUIModule","line":28,"character":4},"member":"forRoot"}}],"declarations":[{"__symbolic":"reference","name":"AsapUploadComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}],"exports":[{"__symbolic":"reference","name":"AsapUploadComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}],"entryComponents":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}],"providers":[]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":51,"character":19},{"__symbolic":"reference","module":"asap-crud","name":"Global","line":52,"character":19}]}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"app-modal-upload-plugin","providers":[{"__symbolic":"reference","name":"AsapUploadService"}],"template":"<div class=\"app-upload-plugin\">\n    <div class=\"app-upload-plugin-container\" *ngIf=\"typeImage\">\n        <div class=\"app-upload-plugin-header\">\n            <div class=\"close\"><i (click)=\"onNoClick()\" class=\"material-icons\">close</i></div>\n            <!-- <mat-checkbox [(ngModel)]=\"maintainAspectRatio\">Manter Proporções</mat-checkbox> -->\n            <mat-checkbox [(ngModel)]=\"cropperSettings.keepAspect\" (ngModelChange)=\"cropperSettingsChanged('keepAspect',$event)\">Manter Proporções</mat-checkbox>\n        </div>\n\n        <div class=\"app-upload-plugin-body select-modal-{{ (horizontal)?'vertical':'horizontal' }}\">\n            <label for=\"modal-firebase-upload\" class=\"upload-area text-center\" *ngIf=\"!cropperReady\">\n                <div class=\"big-icon\"><i class=\"material-icons\">note_add</i></div>\n                <p>{{'SelectUpload' | translate}}</p>\n            </label>\n\n            <input class=\"upload-input d-none\" type=\"file\" id=\"modal-firebase-upload\" (change)=\"UploadImage($event)\" accept=\"image/*\" />\n\n            <div [class.d-none]=\"!cropperReady\" class=\"app-upload-plugin-crop-container\">\n                <div class=\"app-upload-plugin-crop\">\n                    <p class=\"title\" *ngIf=\"croppedImage\"><i class=\"fa fa-image\"></i> Imagem original</p>\n                    <div class=\"col-flex\">\n                        <!-- <image-cropper [imageChangedEvent]=\"imageChangedEvent\"\n                            [maintainAspectRatio]=\"maintainAspectRatio\" [aspectRatio]=\"aspectRatio\" [imageQuality]=\"100\"\n                            [resizeToWidth]=\"resizeToWidth\" format=\"png\"\n                            (imageCroppedBase64)=\"imageCroppedBase64($event)\" (imageLoaded)=\"imageLoaded()\"\n                            (loadImageFailed)=\"loadImageFailed()\" [style.display]=\"cropperReady ? null : 'none'\">\n                        </image-cropper> -->\n                        <img-cropper #cropper [image]=\"cropperData\" [settings]=\"cropperSettings\"></img-cropper>\n                    </div>\n                    <div class=\"bottom\" *ngIf=\"croppedImage\">\n                        <span class=\"img-name w-100\">{{ fileName == null ? 'Adicionar Imagem' : fileName }}</span>\n                        <i (click)=\"reset()\" class=\"material-icons clickable\">delete</i>\n                    </div>\n                </div>\n\n                <div class=\"app-upload-plugin-crop\">\n                    <p class=\"title\" *ngIf=\"croppedImage\"><i class=\"fa fa-cut\"></i> Imagem recortada</p>\n                    <!-- \n                    <div class=\"col-flex\" style=\"background-size: contain; background-position: center center; background-repeat: no-repeat;\" [style.backgroundImage]=\"'url(' + croppedImage +')'\">\n                        &nbsp;\n                    </div> -->\n\n                    <div class=\"col-flex\" style=\"background-size: contain; background-position: center center; background-repeat: no-repeat;\" [style.backgroundImage]=\"'url(' + cropperData.image +')'\">\n                        &nbsp;\n                    </div>\n\n                    <div class=\"bottom px-3\" *ngIf=\"croppedImage\">\n                        <div class=\"progress-width\">\n                            <div class=\"progress progress-line-primary mt-1 mb-1\">\n                                <div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"60\" aria-valuemin=\"0\" aria-valuemax=\"100\" [ngStyle]=\"{width: percentage + '%'}\">\n                                    <span class=\"sr-only\">{{ percentage + '%' }} Concluído</span>\n                                </div>\n                            </div>\n                            <!-- <div class=\"progress-label\">{{ 'Progress' | translate }} {{ percentage + '%' }}</div> -->\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n\n        <div class=\"app-upload-plugin-footer\">\n            <button mat-button class=\"btn btn-default\" (click)=\"onNoClick()\">Cancelar</button>\n            <button mat-button class=\"btn btn-rose\" (click)=\"sendImage()\" [disabled]=\"croppedImage == ''\">{{ 'Save' |\n                translate }}</button>\n        </div>\n\n    </div>\n\n    <div class=\"app-upload-plugin-container\" *ngIf=\"!typeImage\">\n        <div class=\"app-upload-plugin-header\">\n            <div class=\"progress progress-line-primary mt-1 mb-1\" *ngIf=\"percentage > 0\">\n                <div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"60\" aria-valuemin=\"0\" aria-valuemax=\"100\" [ngStyle]=\"{width: percentage + '%'}\">\n                    <span class=\"sr-only\">{{ percentage + '%' }} Concluído</span>\n                </div>\n            </div>\n        </div>\n        <div class=\"app-upload-plugin-body select-modal-{{ (horizontal)?'vertical':'horizontal' }}\">\n            <label for=\"modal-firebase-upload\" class=\"upload-area big-icon text-center\">\n                <i class=\"fa fa-cloud-upload mr-4\"></i>\n                <br />\n                <p>{{ ( fileName == null ? 'adicionar arquivo...' : (fileName.length > 20) ? (fileName |\n                    slice:0:20)+'..' : (fileName) ) }}</p>\n            </label>\n            <input class=\"upload-input d-none\" type=\"file\" id=\"modal-firebase-upload\" (change)=\"UploadArchive($event)\" [attr.accept]=\"onlyType\" />\n        </div>\n        <div class=\"app-upload-plugin-footer\">\n            <button mat-button class=\"btn btn-default\" (click)=\"onNoClick()\">{{ 'Cancel' | translate }}</button>\n            <button mat-button class=\"btn btn-rose\" (click)=\"sendArchive()\">{{ 'Save' | translate }}</button>\n        </div>\n    </div>\n</div>","styles":["::ng-deep app-modal-upload-plugin{height:100%}.app-upload-plugin{width:100%;height:450px;border-radius:10px}.app-upload-plugin .app-upload-plugin-container{display:flex;flex-direction:column;height:100%}.app-upload-plugin .app-upload-plugin-header{margin-bottom:15px}.app-upload-plugin .app-upload-plugin-body{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:15px}.app-upload-plugin .app-upload-plugin-body .big-icon i{font-size:100px}.app-upload-plugin .app-upload-plugin-body .app-upload-plugin-crop-container{width:100%;height:100%;display:flex;flex-direction:row}.app-upload-plugin .app-upload-plugin-body .app-upload-plugin-crop-container .app-upload-plugin-crop{display:flex;flex-direction:column;width:50%;height:100%}.app-upload-plugin .app-upload-plugin-body .app-upload-plugin-crop-container .app-upload-plugin-crop .title{text-align:center;margin-bottom:5px!important}.app-upload-plugin .app-upload-plugin-body .app-upload-plugin-crop-container .app-upload-plugin-crop .col-flex{padding:10px;height:100%;display:flex;align-items:center;overflow:hidden}.app-upload-plugin .app-upload-plugin-body .app-upload-plugin-crop-container .app-upload-plugin-crop img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.app-upload-plugin .app-upload-plugin-body .app-upload-plugin-crop-container .app-upload-plugin-crop .bottom{display:flex;flex-direction:row;align-items:center;margin:5px}.app-upload-plugin .app-upload-plugin-body .app-upload-plugin-crop-container .app-upload-plugin-crop .bottom .progress-width{width:100%;text-align:center}.app-upload-plugin .app-upload-plugin-body .app-upload-plugin-crop-container .app-upload-plugin-crop .bottom span{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-upload-plugin .app-upload-plugin-body.select-modal-vertical .app-upload-plugin-crop-container{flex-direction:column}.app-upload-plugin .app-upload-plugin-body.select-modal-vertical .app-upload-plugin-crop-container .app-upload-plugin-crop{width:100%}.app-upload-plugin .app-upload-plugin-footer{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:flex-end}.app-upload-plugin .app-upload-plugin-footer button{margin-right:5px}"]}]}],"members":{"blockUI":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"ng-block-ui","name":"BlockUI","line":19,"character":5},"arguments":["blockui"]}]}],"cropper":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":38,"character":5},"arguments":["cropper",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":48,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":48,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"asap-crud","name":"Global","line":45,"character":23},{"__symbolic":"reference","name":"AsapUploadService"},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵa"}]},null]}],"onNoClick":[{"__symbolic":"method"}],"storeRef":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"fileChangeEvent":[{"__symbolic":"method"}],"imageCroppedBase64":[{"__symbolic":"method"}],"imageLoaded":[{"__symbolic":"method"}],"imageLoadFailed":[{"__symbolic":"method"}],"UploadImage":[{"__symbolic":"method"}],"dataURItoBlob":[{"__symbolic":"method"}],"sendImage":[{"__symbolic":"method"}],"UploadArchive":[{"__symbolic":"method"}],"sendArchive":[{"__symbolic":"method"}],"sendToFirebase":[{"__symbolic":"method"}],"whiteListUploads":[{"__symbolic":"method"}],"uid":[{"__symbolic":"method"}],"s4":[{"__symbolic":"method"}],"getFileExtension":[{"__symbolic":"method"}],"cropperSettingsChanged":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"app-modal-multi-upload-plugin","template":"<input type=\"file\" multiple (change)=\"UploadImage($event)\" />\n\n<button mat-button (click)=\"onNoClick()\">{{ 'Cancel' | translate }}</button>\n\n<img *ngFor='let url of urlsImage'  [src]=\"url\" height=\"200\"> <br/>\n\n\n<video *ngFor='let url of urlsVideo' controls>\n    <source [src]=\"_sanitizer.bypassSecurityTrustResourceUrl(url)\" type=\"video/webm\">\n    <source [src]=\"_sanitizer.bypassSecurityTrustResourceUrl(url)\" type=\"video/mp4\">\n    I'm sorry; your browser doesn't support HTML5 video in WebM with VP8/VP9 or MP4 with H.264.\n</video>","styles":[".btn-primary,.btn-primary:active,.btn-primary:focus,.btn-primary:hover{background-color:#e00209}.upload-input{visibility:hidden}::ng-deep .mat-dialog-container{position:relative}.mat-dialog-actions{border-top:1px solid #eee;margin-top:10px;display:flex;justify-content:flex-end;position:absolute;bottom:25px;left:0;right:0;padding:10px}.close{position:absolute;top:10px;right:10px;color:#777}.close i{font-size:35px}.select-modal{height:100%;width:100%}.cropped-image{width:100%;max-width:450px;margin:0 auto;display:flex}.cropped-image-horizontal{margin:0 auto;display:flex}.align-center{text-align:center}.flex{max-width:100%;display:flex;justify-content:center}.flex-box{display:flex;justify-content:space-around}.display-box{display:flex;margin:0 auto;justify-content:center}.display-box>::ng-deep .source-image{width:500px}.title-horizontal{font-size:1.3em;color:#43425d;font-weight:500;padding-top:20px;box-sizing:border-box}.bottom{display:flex;justify-content:center;margin-top:-70px}.bottom .img-name{font-size:1.1em;margin-right:20px}.bottom-horizontal{margin-top:0;padding:20px 0}.progress-width{width:60%}.progress-width-horizontal{width:40%}.progress{width:100%}.progress-label{font-size:.9em;text-align:right}.progress.progress-line-primary{background:rgba(209,211,211,.938)}.progress .progress-bar,.progress .progress-bar.progress-bar-default{background:#43425d}.divider{height:79vh;width:1px;background:#ccc}.divider-horizontal{width:80%;height:1px;background:#ccc;margin:0 auto}.col-flex{display:flex;align-items:center;height:95%;padding:0;width:auto}.upload-area{background:0 0;width:365px;margin:10px auto;display:block;text-align:center;font-size:1.5em;padding:20px;margin-top:calc(50vh - 150px)}.upload-area:hover{box-shadow:0 0 20px 1px rgba(0,0,0,.01);cursor:pointer;border-radius:4px}.big-icon{display:block}.big-icon i{font-size:102px}.noimg{display:none}.image-cropper{width:100%}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":38,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":38,"character":16}]}],null],"parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":36,"character":27},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵb"}]},null,{"__symbolic":"reference","module":"@angular/fire/storage","name":"AngularFireStorage","line":39,"character":19}]}],"onNoClick":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"fileChangeEvent":[{"__symbolic":"method"}],"imageCroppedBase64":[{"__symbolic":"method"}],"imageLoaded":[{"__symbolic":"method"}],"imageLoadFailed":[{"__symbolic":"method"}],"UploadImage":[{"__symbolic":"method"}],"getBackground":[{"__symbolic":"method"}],"dataURItoBlob":[{"__symbolic":"method"}],"sendImage":[{"__symbolic":"method"}],"UploadArchive":[{"__symbolic":"method"}],"sendArchive":[{"__symbolic":"method"}],"whiteListUploads":[{"__symbolic":"method"}]}}},"origins":{"AsapUploadService":"./lib/asap-upload.service","AsapUploadComponent":"./lib/asap-upload.component","AsapUploadModule":"./lib/asap-upload.module","ɵa":"./lib/modal-upload/modal-upload.component","ɵb":"./lib/modal-multi-upload/modal-multi-upload.component"},"importAs":"asap-upload"}