Allow to extend classes (#468)

* private accessors replaced by protected to allow extending of classes

* FileItem class protected accessors
This commit was merged in pull request #468.
This commit is contained in:
Daniel Kucal
2017-01-17 14:07:03 +01:00
committed by Dmitriy Shekhovtsov
parent d6e75984ed
commit be70a82303
4 changed files with 27 additions and 27 deletions

View File

@@ -8,7 +8,7 @@ export class FileDropDirective {
@Output() public fileOver:EventEmitter<any> = new EventEmitter();
@Output() public onFileDrop:EventEmitter<File[]> = new EventEmitter<File[]>();
private element:ElementRef;
protected element:ElementRef;
public constructor(element:ElementRef) {
this.element = element;
@@ -59,16 +59,16 @@ export class FileDropDirective {
this.fileOver.emit(false);
}
private _getTransfer(event:any):any {
protected _getTransfer(event:any):any {
return event.dataTransfer ? event.dataTransfer : event.originalEvent.dataTransfer; // jQuery fix;
}
private _preventAndStop(event:any):any {
protected _preventAndStop(event:any):any {
event.preventDefault();
event.stopPropagation();
}
private _haveFiles(types:any):any {
protected _haveFiles(types:any):any {
if (!types) {
return false;
}

View File

@@ -21,9 +21,9 @@ export class FileItem {
public _xhr:XMLHttpRequest;
public _form:any;
private uploader:FileUploader;
private some:File;
private options:FileUploaderOptions;
protected uploader:FileUploader;
protected some:File;
protected options:FileUploaderOptions;
public constructor(uploader:FileUploader, some:File, options:FileUploaderOptions) {
this.uploader = uploader;

View File

@@ -8,7 +8,7 @@ import { FileUploader } from './file-uploader.class';
export class FileSelectDirective {
@Input() public uploader:FileUploader;
private element:ElementRef;
protected element:ElementRef;
public constructor(element:ElementRef) {
this.element = element;

View File

@@ -52,7 +52,7 @@ export class FileUploader {
disableMultipart: false
};
private _failFilterIndex:number;
protected _failFilterIndex:number;
public constructor(options:FileUploaderOptions) {
this.setOptions(options);
@@ -361,7 +361,7 @@ export class FileUploader {
this._render();
}
private _getTotalProgress(value:number = 0):number {
protected _getTotalProgress(value:number = 0):number {
if (this.options.removeAfterUpload) {
return value;
}
@@ -372,7 +372,7 @@ export class FileUploader {
return Math.round(uploaded * ratio + current);
}
private _getFilters(filters:FilterFunction[]|string):FilterFunction[] {
protected _getFilters(filters:FilterFunction[]|string):FilterFunction[] {
if (!filters) {
return this.options.filters;
}
@@ -387,20 +387,20 @@ export class FileUploader {
return this.options.filters;
}
private _render():any {
protected _render():any {
return void 0;
// todo: ?
}
// private _folderFilter(item:FileItem):boolean {
// protected _folderFilter(item:FileItem):boolean {
// return !!(item.size || item.type);
// }
private _queueLimitFilter():boolean {
protected _queueLimitFilter():boolean {
return this.options.queueLimit === undefined || this.queue.length < this.options.queueLimit;
}
private _isValidFile(file:FileLikeObject, filters:FilterFunction[], options:FileUploaderOptions):boolean {
protected _isValidFile(file:FileLikeObject, filters:FilterFunction[], options:FileUploaderOptions):boolean {
this._failFilterIndex = -1;
return !filters.length ? true : filters.every((filter:FilterFunction) => {
this._failFilterIndex++;
@@ -408,12 +408,12 @@ export class FileUploader {
});
}
private _isSuccessCode(status:number):boolean {
protected _isSuccessCode(status:number):boolean {
return (status >= 200 && status < 300) || status === 304;
}
/* tslint:disable */
private _transformResponse(response:string, headers:ParsedResponseHeaders):string {
protected _transformResponse(response:string, headers:ParsedResponseHeaders):string {
// todo: ?
/*var headersGetter = this._headersGetter(headers);
forEach($http.defaults.transformResponse, (transformFn) => {
@@ -423,7 +423,7 @@ export class FileUploader {
}
/* tslint:enable */
private _parseHeaders(headers:string):ParsedResponseHeaders {
protected _parseHeaders(headers:string):ParsedResponseHeaders {
let parsed:any = {};
let key:any;
let val:any;
@@ -442,33 +442,33 @@ export class FileUploader {
return parsed;
}
/*private _iframeTransport(item:FileItem) {
/*protected _iframeTransport(item:FileItem) {
// todo: implement it later
}*/
private _onWhenAddingFileFailed(item:FileLikeObject, filter:any, options:any):void {
protected _onWhenAddingFileFailed(item:FileLikeObject, filter:any, options:any):void {
this.onWhenAddingFileFailed(item, filter, options);
}
private _onAfterAddingFile(item:FileItem):void {
protected _onAfterAddingFile(item:FileItem):void {
this.onAfterAddingFile(item);
}
private _onAfterAddingAll(items:any):void {
protected _onAfterAddingAll(items:any):void {
this.onAfterAddingAll(items);
}
private _onBeforeUploadItem(item:FileItem):void {
protected _onBeforeUploadItem(item:FileItem):void {
item._onBeforeUpload();
this.onBeforeUploadItem(item);
}
private _onBuildItemForm(item:FileItem, form:any):void {
protected _onBuildItemForm(item:FileItem, form:any):void {
item._onBuildForm(form);
this.onBuildItemForm(item, form);
}
private _onProgressItem(item:FileItem, progress:any):void {
protected _onProgressItem(item:FileItem, progress:any):void {
let total = this._getTotalProgress(progress);
this.progress = total;
item._onProgress(progress);
@@ -478,13 +478,13 @@ export class FileUploader {
}
/* tslint:disable */
private _onSuccessItem(item:FileItem, response:string, status:number, headers:ParsedResponseHeaders):void {
protected _onSuccessItem(item:FileItem, response:string, status:number, headers:ParsedResponseHeaders):void {
item._onSuccess(response, status, headers);
this.onSuccessItem(item, response, status, headers);
}
/* tslint:enable */
private _onCancelItem(item:FileItem, response:string, status:number, headers:ParsedResponseHeaders):void {
protected _onCancelItem(item:FileItem, response:string, status:number, headers:ParsedResponseHeaders):void {
item._onCancel(response, status, headers);
this.onCancelItem(item, response, status, headers);
}