Add message for file size limit in background-upload.
This commit is contained in:
parent
ced4fe404d
commit
3b4ea6102c
|
@ -9,60 +9,64 @@ declare var UIkit;
|
|||
selector: 'background-upload',
|
||||
template: `
|
||||
<input #file id="photo" type="file" class="uk-hidden" (change)="fileChangeEvent($event)"/>
|
||||
<div *ngIf="!background.imageFile" class=" upload uk-text-center uk-height-small uk-flex uk-flex-middle uk-flex-center uk-text-uppercase">
|
||||
<div *ngIf="!background.imageFile"
|
||||
class=" upload uk-text-center uk-height-small uk-flex uk-flex-middle uk-flex-center uk-text-uppercase">
|
||||
<span uk-icon="icon: cloud-upload"></span>
|
||||
<div uk-form-custom>
|
||||
<span class="uk-link uk-margin-small-left" (click)="file.click()">upload image</span>
|
||||
<span class="uk-link uk-margin-small-left" (click)="file.click()">upload image</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="background.imageFile" class="uk-width-1-1 uk-flex uk-flex-middle ">
|
||||
<div class="uk-width-1-1 uk-height-small" style = "background-size:cover"
|
||||
[style.background-image]=" getUrl()">
|
||||
|
||||
<div *ngIf="background.imageFile" class="uk-width-1-1 uk-flex uk-flex-middle ">
|
||||
<div class="uk-width-1-1 uk-height-small" style="background-size:cover"
|
||||
[style.background-image]=" getUrl()">
|
||||
|
||||
|
||||
<a (click)="removePhoto()" uk-tooltip="Remove" class="uk-float-right uk-border-rounded uk-margin-top uk-margin-right uk-background-muted uk-button uk-button-link">
|
||||
<icon name="delete" [defaultSize]="true" [flex]="true"></icon>
|
||||
</a>
|
||||
</div>
|
||||
<a (click)="removePhoto()" uk-tooltip="Remove"
|
||||
class="uk-float-right uk-border-rounded uk-margin-top uk-margin-right uk-background-muted uk-button uk-button-link">
|
||||
<icon name="delete" [defaultSize]="true" [flex]="true"></icon>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="background.imageFile" class="uk-margin-top">
|
||||
<div class="uk-text-bold uk-text-uppercase uk-text-meta uk-margin-small-bottom uk-margin-large-top">position</div>
|
||||
<div class="uk-width-expand uk-padding-remove-left" input type="select" inputClass="flat x-small" [(value)]="background.position"
|
||||
[options]="['top','center','bottom']" >
|
||||
</div>
|
||||
|
||||
<div class="uk-width-expand uk-padding-remove-left" input type="select" inputClass="flat x-small"
|
||||
[(value)]="background.position"
|
||||
[options]="['top','center','bottom']">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
`,
|
||||
styles:[`
|
||||
.upload{
|
||||
border: 1px dotted grey;
|
||||
}
|
||||
styles: [`
|
||||
.upload {
|
||||
border: 1px dotted grey;
|
||||
}
|
||||
`]
|
||||
})
|
||||
|
||||
export class BackgroundUploadComponent implements OnInit {
|
||||
@Input() label:string = "";
|
||||
@Input() label: string = "";
|
||||
@Input() background;
|
||||
@Input() oldBackground;
|
||||
// @Input() light:boolean;
|
||||
@Input() communityId:string = "";
|
||||
|
||||
@Input() communityId: string = "";
|
||||
|
||||
public file: File;
|
||||
// public photo: string | ArrayBuffer;
|
||||
private maxsize: number = 2000 * 1024;
|
||||
properties;
|
||||
private subscriptions: any[] = [];
|
||||
|
||||
|
||||
|
||||
|
||||
constructor(private utilsService: UtilitiesService) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.subscriptions.forEach(subscription => {
|
||||
if (subscription instanceof Subscription) {
|
||||
|
@ -70,30 +74,29 @@ export class BackgroundUploadComponent implements OnInit {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
removePhoto() {
|
||||
|
||||
if (typeof document != 'undefined') {
|
||||
(<HTMLInputElement>document.getElementById("photo")).value = "";
|
||||
}
|
||||
// this.initPhoto();
|
||||
|
||||
if (typeof document != 'undefined') {
|
||||
(<HTMLInputElement>document.getElementById("photo")).value = "";
|
||||
}
|
||||
// this.initPhoto();
|
||||
console.log(this.background.imageFile + " " + this.oldBackground.imageFile)
|
||||
if(this.background.imageFile != this.oldBackground.imageFile){
|
||||
this.deletePhoto();
|
||||
}
|
||||
this.background.imageFile = null;
|
||||
this.file = null;
|
||||
|
||||
if (this.background.imageFile != this.oldBackground.imageFile) {
|
||||
this.deletePhoto();
|
||||
}
|
||||
this.background.imageFile = null;
|
||||
this.file = null;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public deletePhoto() {
|
||||
if (this.background.imageFile) {
|
||||
this.subscriptions.push(this.utilsService.deletePhoto(properties.utilsService + '/delete/community/' + this.communityId + "/" +this.background.imageFile).subscribe());
|
||||
this.subscriptions.push(this.utilsService.deletePhoto(properties.utilsService + '/delete/community/' + this.communityId + "/" + this.background.imageFile).subscribe());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fileChangeEvent(event) {
|
||||
if (event.target.files && event.target.files[0]) {
|
||||
this.file = event.target.files[0];
|
||||
|
@ -105,7 +108,7 @@ export class BackgroundUploadComponent implements OnInit {
|
|||
});
|
||||
this.removePhoto();
|
||||
} else if (this.file.size > this.maxsize) {
|
||||
UIkit.notification('File exceeds size\'s limit ('+this.maxsize/1024+'KB)! ', {
|
||||
UIkit.notification('File exceeds size\'s limit (' + this.maxsize / 1024 + 'KB)! ', {
|
||||
status: 'danger',
|
||||
timeout: 6000,
|
||||
pos: 'bottom-right'
|
||||
|
@ -122,27 +125,34 @@ export class BackgroundUploadComponent implements OnInit {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public save() {
|
||||
if (this.file) {
|
||||
this.subscriptions.push(this.utilsService.uploadPhoto(this.properties.utilsService + "/upload/community/"+ this.communityId + "/" + encodeURIComponent(this.communityId+"-"+this.label)+"?big=1", this.file).subscribe(res => {
|
||||
this.subscriptions.push(this.utilsService.uploadPhoto(this.properties.utilsService + "/upload/community/" + this.communityId + "/" + encodeURIComponent(this.communityId + "-" + this.label) + "?big=1", this.file).subscribe(res => {
|
||||
this.deletePhoto();
|
||||
this.removePhoto();
|
||||
this.background.imageFile = res.filename;
|
||||
|
||||
|
||||
}, error => {
|
||||
UIkit.notification("An error has been occurred during upload your image. Try again later", {
|
||||
status: 'danger',
|
||||
timeout: 6000,
|
||||
pos: 'bottom-right'
|
||||
});
|
||||
if (error.error.message) {
|
||||
UIkit.notification('The maximum size of an image is 1MB, please check if your file exceeds this limit.', {
|
||||
status: 'danger',
|
||||
timeout: 6000,
|
||||
pos: 'bottom-right'
|
||||
});
|
||||
} else {
|
||||
UIkit.notification("An error has been occurred during upload your image. Try again later", {
|
||||
status: 'danger',
|
||||
timeout: 6000,
|
||||
pos: 'bottom-right'
|
||||
});
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
getUrl()
|
||||
{
|
||||
return "url('" +(this.background.imageFile.indexOf('data:')==-1?(this.properties.utilsService +
|
||||
'/download/'+this.background.imageFile):this.background.imageFile) +"')";
|
||||
|
||||
getUrl() {
|
||||
return "url('" + (this.background.imageFile.indexOf('data:') == -1 ? (this.properties.utilsService +
|
||||
'/download/' + this.background.imageFile) : this.background.imageFile) + "')";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue