projects/rebirth-ng/src/lib/image-upload/image-upload.component.ts
| changeDetection | ChangeDetectionStrategy.OnPush | 
            
| exportAs | imageUpload | 
            
| providers | 
                            {
    : , : (() => ), : true
}
                 | 
            
| selector | re-image-upload | 
            
| styleUrls | image-upload.component.scss | 
            
| templateUrl | ./image-upload.component.html | 
            
constructor(rebirthNGConfig: RebirthNGConfig, renderer: Renderer2, http: HttpClient, changeDetectorRef: ChangeDetectorRef, modalService: ModalService)
                     | 
                ||||||||||||||||||
| 
                             
                                    Parameters :
                                     
                    
  | 
                
                        
                        viewIcon
                     | 
                    
                             
                            Type:      | 
                
                        
                        accept
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:23 
                             | 
                        |
                        
                        autoUpload
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:25 
                             | 
                        |
                        
                        cancelButton
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:40 
                             | 
                        |
                        
                        canRetry
                     | 
                    
                         
                            Default value:   | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:45 
                             | 
                        |
                        
                        chooseButton
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:38 
                             | 
                        |
                        
                        cssClass
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:35 
                             | 
                        |
                        
                        disabled
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:48 
                             | 
                        |
                        
                        fileSizeErrorMessage
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:36 
                             | 
                        |
                        
                        fileTypeErrorMessage
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:37 
                             | 
                        |
                        
                        imgPreview
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:32 
                             | 
                        |
                        
                        loadingIcon
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:43 
                             | 
                        |
                        
                        maxFileSize
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:28 
                             | 
                        |
                        
                        maxItems
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:27 
                             | 
                        |
                        
                        multiple
                     | 
                    
                         
                            Default value:   | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:24 
                             | 
                        |
                        
                        plusIcon
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:41 
                             | 
                        |
                        
                        previewHeight
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:34 
                             | 
                        |
                        
                        previewTemplate
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:47 
                             | 
                        |
                        
                        previewWidth
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:33 
                             | 
                        |
                        
                        removeIcon
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:44 
                             | 
                        |
                        
                        showErrors
                     | 
                    
                         
                            Default value:   | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:26 
                             | 
                        |
                        
                        toolbarTemplate
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:46 
                             | 
                        |
                        
                        transformResponseUrl
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:57 
                             | 
                        |
                        
                        uploadButton
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:39 
                             | 
                        |
                        
                        uploadFiles
                     | 
                    
                             
                            Type:     
                            Default value:   | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:56 
                             | 
                        |
                        
                        uploadIcon
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:42 
                             | 
                        |
                        
                        uploadParamName
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:30 
                             | 
                        |
                        
                        uploadRequestOptions
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:31 
                             | 
                        |
                        
                        uploadUrl
                     | 
                    
                             
                            Type:      | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:29 
                             | 
                        |
                        
                        fileUploadCompleted
                     | 
                    
                        $event type:    EventEmitter
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:51 
                             | 
                        |
                        
                        fileUploadError
                     | 
                    
                        $event type:    EventEmitter
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:53 
                             | 
                        |
                        
                        fileUploadStart
                     | 
                    
                        $event type:    EventEmitter
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:50 
                             | 
                        |
                        
                        fileUploadSuccess
                     | 
                    
                        $event type:    EventEmitter
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:52 
                             | 
                        |
                        
                        removeFiles
                     | 
                    
                        $event type:    EventEmitter
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:54 
                             | 
                        |
                        
                        selectFilesChange
                     | 
                    
                        $event type:    EventEmitter
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:49 
                             | 
                        |
                        
                        uploadFilesChange
                     | 
                    
                        $event type:    EventEmitter
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            |
| 
                                     Defined in FileUpload:55 
                             | 
                        |
| uploadBtnIcon | 
uploadBtnIcon()
                     | 
                
| 
                             
                                Returns :      
                    any
                             | 
                
| viewImage | ||||||
viewImage(fileItem: SelectFileModel)
                     | 
                ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| addNewFile | ||||
addNewFile($event: )
                     | 
                ||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||
| 
                                     Defined in FileUpload:138 
                             | 
                        ||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| clearErrors | 
clearErrors()
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            
| 
                                     Defined in FileUpload:121 
                             | 
                        
| 
                             
                                Returns :      
                    void
                             | 
                
| Private getFileCount | 
                            
                        getFileCount()
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            
| 
                                     Defined in FileUpload:292 
                             | 
                        
| 
                             
                                Returns :      
                    any
                             | 
                
| Private handleFileChoose | ||||||
                            
                        handleFileChoose(uploadFiles: FileList)
                     | 
                ||||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||||
| 
                                     Defined in FileUpload:243 
                             | 
                        ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| Private httpUploadAllFile | ||||
                            
                        httpUploadAllFile(files: )
                     | 
                ||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||
| 
                                     Defined in FileUpload:187 
                             | 
                        ||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| Private httpUploadFile | ||||
                            
                        httpUploadFile(fileItem: )
                     | 
                ||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||
| 
                                     Defined in FileUpload:199 
                             | 
                        ||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                any
                             | 
                
| isMoreThanMaxItems | 
isMoreThanMaxItems()
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            
| 
                                     Defined in FileUpload:113 
                             | 
                        
| 
                             
                                Returns :      
                    boolean
                             | 
                
| mapFileModel | ||||||
mapFileModel(files: File[])
                     | 
                ||||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||||
| 
                                     Defined in FileUpload:302 
                             | 
                        ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                Promise<SelectFileModel[]>
                             | 
                
| newFileChoose | ||||||
newFileChoose(fileInput: HTMLInputElement)
                     | 
                ||||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||||
| 
                                     Defined in FileUpload:149 
                             | 
                        ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| ngAfterViewInit | 
ngAfterViewInit()
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            
| 
                                     Defined in FileUpload:88 
                             | 
                        
| 
                             
                                Returns :      
                    void
                             | 
                
| onDropFiles | ||||
onDropFiles($event: )
                     | 
                ||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||
| 
                                     Defined in FileUpload:125 
                             | 
                        ||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| Protected onFileUploadError | ||||||
                            
                        onFileUploadError(fileItem: , error: )
                     | 
                ||||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||||
| 
                                     Defined in FileUpload:225 
                             | 
                        ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                Observable<any>
                             | 
                
| Protected onFileUploadSuccess | ||||||
                            
                        onFileUploadSuccess(fileItem: , res: )
                     | 
                ||||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||||
| 
                                     Defined in FileUpload:209 
                             | 
                        ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                Observable<any>
                             | 
                
| onRemoveFile | ||||
onRemoveFile(fileItem: )
                     | 
                ||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||
| 
                                     Defined in FileUpload:164 
                             | 
                        ||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| onRemoveUploadFile | ||||
onRemoveUploadFile(fileItem: )
                     | 
                ||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||
| 
                                     Defined in FileUpload:173 
                             | 
                        ||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| Private onUploadFileChange | ||||
                            
                        onUploadFileChange(uploadFiles: )
                     | 
                ||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||
| 
                                     Defined in FileUpload:219 
                             | 
                        ||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| registerOnChange | ||||||
registerOnChange(fn: any)
                     | 
                ||||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||||
| 
                                     Defined in FileUpload:101 
                             | 
                        ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| registerOnTouched | ||||||
registerOnTouched(fn: any)
                     | 
                ||||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||||
| 
                                     Defined in FileUpload:105 
                             | 
                        ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| removeAllSelectedFiles | 
removeAllSelectedFiles()
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            
| 
                                     Defined in FileUpload:156 
                             | 
                        
| 
                             
                                Returns :      
                    void
                             | 
                
| setDisabledState | ||||||
setDisabledState(isDisabled: boolean)
                     | 
                ||||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||||
| 
                                     Defined in FileUpload:109 
                             | 
                        ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| uploadAllFiles | 
uploadAllFiles()
                     | 
                
| 
                                     Inherited from      
                                FileUpload
 | 
                            
| 
                                     Defined in FileUpload:182 
                             | 
                        
| 
                             
                                Returns :      
                    void
                             | 
                
| validFile | ||||||
validFile(file: File)
                     | 
                ||||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||||
| 
                                     Defined in FileUpload:271 
                             | 
                        ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                boolean
                             | 
                
| validFiles | ||||||
validFiles(files: File[])
                     | 
                ||||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||||
| 
                                     Defined in FileUpload:259 
                             | 
                        ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                File[]
                             | 
                
| Private validFileType | ||||||
                            
                        validFileType(file: File)
                     | 
                ||||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||||
| 
                                     Defined in FileUpload:296 
                             | 
                        ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                any
                             | 
                
| writeValue | ||||||
writeValue(value: any)
                     | 
                ||||||
| 
                                     Inherited from      
                                FileUpload
 | 
                            ||||||
| 
                                     Defined in FileUpload:96 
                             | 
                        ||||||
| 
                             
                                    Parameters :
                                     
                            
 
                                Returns :      
                                void
                             | 
                
| errors | 
                        errors:     
                     | 
                
                            Type :     string[]
                         | 
                    
                            Default value : []
                         | 
                    
| 
                                     Inherited from      
                                FileUpload
 | 
                            
| 
                                     Defined in FileUpload:61 
                             | 
                        
| fileInput | 
                        fileInput:     
                     | 
                
                            Type :     ElementRef
                         | 
                    
                            Decorators : ViewChild
                         | 
                    
| 
                                     Inherited from      
                                FileUpload
 | 
                            
| 
                                     Defined in FileUpload:58 
                             | 
                        
| isUploading | 
                        isUploading:     
                     | 
                
                            Type :     boolean
                         | 
                    
| 
                                     Inherited from      
                                FileUpload
 | 
                            
| 
                                     Defined in FileUpload:60 
                             | 
                        
| Protected onChange | 
                        onChange:     
                     | 
                
                            Default value : (_: any) => null
                         | 
                    
| 
                                     Inherited from      
                                FileUpload
 | 
                            
| 
                                     Defined in FileUpload:62 
                             | 
                        
| Protected onTouched | 
                        onTouched:     
                     | 
                
                            Default value : () => null
                         | 
                    
| 
                                     Inherited from      
                                FileUpload
 | 
                            
| 
                                     Defined in FileUpload:63 
                             | 
                        
| selectFiles | 
                        selectFiles:     
                     | 
                
                            Type :     SelectFileModel[]
                         | 
                    
                            Default value : []
                         | 
                    
| 
                                     Inherited from      
                                FileUpload
 | 
                            
| 
                                     Defined in FileUpload:59 
                             | 
                        
import {
  Component, ChangeDetectionStrategy, Optional, ChangeDetectorRef, Renderer2, Input, forwardRef
} from '@angular/core';
import { FileUpload } from '../file-upload/file-upload';
import { RebirthNGConfig } from '../rebirth-ng.config';
import { HttpClient } from '@angular/common/http';
import { SelectFileModel } from '../file-upload/file-upload.model';
import { ViewImageModalComponent } from './view-image-modal.component';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import { ModalService } from '../modal/modal.service';
import { noop } from '../utils/lange-utils';
@Component({
  selector: 're-image-upload',
  templateUrl: './image-upload.component.html',
  styleUrls: ['./image-upload.component.scss'],
  changeDetection: ChangeDetectionStrategy.OnPush,
  exportAs: 'imageUpload',
  providers: [{
    provide: NG_VALUE_ACCESSOR,
    useExisting: forwardRef(() => ImageUploadComponent),
    multi: true
  }]
})
export class ImageUploadComponent extends FileUpload {
  @Input() viewIcon: string;
  constructor(rebirthNGConfig: RebirthNGConfig,
              renderer: Renderer2,
              @Optional()  http: HttpClient,
              changeDetectorRef: ChangeDetectorRef,
              private modalService: ModalService) {
    super(rebirthNGConfig, renderer, http, changeDetectorRef);
    this.viewIcon = this.rebirthNGConfig.imageUpload.viewIcon;
    this.imgPreview = true;
    this.autoUpload = true;
    this.accept = 'image/*';
    this.canRetry = false;
  }
  viewImage(fileItem: SelectFileModel) {
    if (this.disabled) {
      return;
    }
    this.modalService.open({
      component: ViewImageModalComponent,
      resolve: { url: fileItem.url, name: fileItem.name }
    }).subscribe(noop, noop);
  }
  uploadBtnIcon() {
    return this.isUploading ? this.loadingIcon : this.plusIcon;
  }
}
    <input #file type="file" (change)="newFileChoose(file)" style="display: none">
<div class="image-upload clearfix {{cssClass}}" reDroppable (onDrop)="onDropFiles($event)">
  <div *ngFor="let fileItem of uploadFiles" class="image-upload-item"
       [style.width]="previewWidth"
       [style.height]="previewHeight">
    <div class="image-upload-image-view">
      <div class="image-upload-toolbar">
        <i [ngClass]="{disabled: disabled}" class="image-upload-toolbar-item image-upload-toolbar-view {{viewIcon}}"
           (click)="viewImage(fileItem)"></i>
        <i [ngClass]="{disabled: disabled}" class="image-upload-toolbar-item image-upload-toolbar-remove {{removeIcon}}"
           (click)="onRemoveUploadFile(fileItem)"></i>
      </div>
      <div class="image-upload-item-info">
        <img class="preview-image img-responsive" [src]="fileItem.url"
             [attr.alt]="fileItem?.name">
      </div>
    </div>
  </div>
  <div class="image-upload-item image-upload-btn" [style.width]="previewWidth"
       [style.height]="previewHeight" (click)="addNewFile($event)"
       *ngIf="!disabled && (!isMoreThanMaxItems() || isUploading)">
    <div class="image-upload-item-info">
      <i class="image-upload-btn-icon {{uploadBtnIcon()}}" [ngClass]="{'uploading': isUploading}"></i>
      <div class="image-upload-btn-text">{{uploadButton}}</div>
    </div>
  </div>
</div>
<re-alert-box class="file-upload-error-box" type="danger" [closable]="true" (close)="clearErrors()"
              *ngIf="showErrors && errors.length">
  <ul>
    <li *ngFor="let error of errors">{{error}}</li>
  </ul>
</re-alert-box>