How to Implement Drag and Drop for a bootstrap modal dialog.. So user can drag a file from the windows...
How to Implement Drag and Drop for a bootstrap modal dialog.. So user can drag a file from the windows explorer.
At Present there is an EDIT button and if Click on that Edit button a modal dialog will open and in that I ahve to implement DRag and DRop.So that user can drag a file from the windows explorer.
@Input() isUploadImage: boolean;
@Output() openImageUploadModal = new EventEmitter();
onUploadBtnClick(){
this.openImageUploadModal.emit('Open');
}
openImageUploadModal(content) {
this.modalService.open(content, { centered: true });
}
// fileChangeEvent(event: any): void {
// this.imageChangedEvent = event;
// }
imageCropped(event: ImageCroppedEvent) {
if (event.base64.indexOf('data:image/jpeg;base64,') > -1) {
this.croppedImage = event.base64.split('data:image/jpeg;base64,')[1];
} else {
this.croppedImage = event.base64.split('data:image/png;base64,')[1];
}
}
imageLoaded() {
this.cropperReady = true;
}
loadImageFailed() {
}
saveCroppedImage() {
this.imagePath = this.croppedImage;
this.myprofile.Photo = this.editPhoto === this.croppedImage ? this.editPhoto : this.croppedImage;
console.log('this.createNewProfile: ', this.createNewProfile);
this.advisorbranding.saveUpdateBrand(this.myprofile, this.createNewProfile).
subscribe(() => {
console.log('Profile Image updated..');
}, (err) => {
console.log('save Api failed, err: ', err);
});
}
deletPhoto() {
this.editPhoto = ProfileImageData.defaultImage;
// this.croppedImage = this.editPhoto;
// this.saveCroppedImage();
}
<div class="outer-div-for-the-imgae-icon">
<app-image [imagesrc]="imagePath" [isUploadImage]="true" (openImageUploadModal)="openImageUploadModal(content)" style="width : 38%; margin-top: 30px;"
class="d-none d-sm-block" alt="..." ></app-image>
</div>
<div class="upload-icon" *ngIf="isUploadImage" (click)="onUploadBtnClick()" >
<i class="fa fa-pencil fa-lg img-upload-icon" aria-hidden="true"> EDIT</i>
</div>
<input #inputFile id="filereader" type="file" (change)="onFileChange($event)" style="visibility: hidden;" />
<ng-template #content let-modal >
<div class="modal-header">
<h4 class="modal-title">Edit Photo</h4>
<button type="button" class="close" aria-label="Close" (click)="modal.dismiss('Cross click')">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body" id="image-upload-modal">
<image-cropper
[imageBase64]="'data:image/png;base64,' + editPhoto"
[maintainAspectRatio]="true"
[aspectRatio]="4 / 3"
[resizeToWidth]="128"
[roundCropper]="false"
format="png"
outputType="both"
(imageCropped)="imageCropped($event)"
(imageLoaded)="imageLoaded()"
(loadImageFailed)="loadImageFailed()"
style="max-height: 33vh"
[style.display]="cropperReady ? null : 'none'"
></image-cropper>
<h6 style="color: white;font-size: 10px;text-align: center; position: relative;
top: 10px;">Drag a reposition photo</h6>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light button" (click)="deletPhoto();">DELETE PHOTO</button>
<button type="button" class="btn btn-light buttonbg" (click)="inputFile.click();">UPLOAD NEW</button>
<button type="button" class="btn btn-light" (click)="modal.close('Close click'); saveCroppedImage();">SAVE PHOTO</button>
</div>
</ng-template>
html angular bootstrap-modal
add a comment |
How to Implement Drag and Drop for a bootstrap modal dialog.. So user can drag a file from the windows explorer.
At Present there is an EDIT button and if Click on that Edit button a modal dialog will open and in that I ahve to implement DRag and DRop.So that user can drag a file from the windows explorer.
@Input() isUploadImage: boolean;
@Output() openImageUploadModal = new EventEmitter();
onUploadBtnClick(){
this.openImageUploadModal.emit('Open');
}
openImageUploadModal(content) {
this.modalService.open(content, { centered: true });
}
// fileChangeEvent(event: any): void {
// this.imageChangedEvent = event;
// }
imageCropped(event: ImageCroppedEvent) {
if (event.base64.indexOf('data:image/jpeg;base64,') > -1) {
this.croppedImage = event.base64.split('data:image/jpeg;base64,')[1];
} else {
this.croppedImage = event.base64.split('data:image/png;base64,')[1];
}
}
imageLoaded() {
this.cropperReady = true;
}
loadImageFailed() {
}
saveCroppedImage() {
this.imagePath = this.croppedImage;
this.myprofile.Photo = this.editPhoto === this.croppedImage ? this.editPhoto : this.croppedImage;
console.log('this.createNewProfile: ', this.createNewProfile);
this.advisorbranding.saveUpdateBrand(this.myprofile, this.createNewProfile).
subscribe(() => {
console.log('Profile Image updated..');
}, (err) => {
console.log('save Api failed, err: ', err);
});
}
deletPhoto() {
this.editPhoto = ProfileImageData.defaultImage;
// this.croppedImage = this.editPhoto;
// this.saveCroppedImage();
}
<div class="outer-div-for-the-imgae-icon">
<app-image [imagesrc]="imagePath" [isUploadImage]="true" (openImageUploadModal)="openImageUploadModal(content)" style="width : 38%; margin-top: 30px;"
class="d-none d-sm-block" alt="..." ></app-image>
</div>
<div class="upload-icon" *ngIf="isUploadImage" (click)="onUploadBtnClick()" >
<i class="fa fa-pencil fa-lg img-upload-icon" aria-hidden="true"> EDIT</i>
</div>
<input #inputFile id="filereader" type="file" (change)="onFileChange($event)" style="visibility: hidden;" />
<ng-template #content let-modal >
<div class="modal-header">
<h4 class="modal-title">Edit Photo</h4>
<button type="button" class="close" aria-label="Close" (click)="modal.dismiss('Cross click')">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body" id="image-upload-modal">
<image-cropper
[imageBase64]="'data:image/png;base64,' + editPhoto"
[maintainAspectRatio]="true"
[aspectRatio]="4 / 3"
[resizeToWidth]="128"
[roundCropper]="false"
format="png"
outputType="both"
(imageCropped)="imageCropped($event)"
(imageLoaded)="imageLoaded()"
(loadImageFailed)="loadImageFailed()"
style="max-height: 33vh"
[style.display]="cropperReady ? null : 'none'"
></image-cropper>
<h6 style="color: white;font-size: 10px;text-align: center; position: relative;
top: 10px;">Drag a reposition photo</h6>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light button" (click)="deletPhoto();">DELETE PHOTO</button>
<button type="button" class="btn btn-light buttonbg" (click)="inputFile.click();">UPLOAD NEW</button>
<button type="button" class="btn btn-light" (click)="modal.close('Close click'); saveCroppedImage();">SAVE PHOTO</button>
</div>
</ng-template>
html angular bootstrap-modal
add a comment |
How to Implement Drag and Drop for a bootstrap modal dialog.. So user can drag a file from the windows explorer.
At Present there is an EDIT button and if Click on that Edit button a modal dialog will open and in that I ahve to implement DRag and DRop.So that user can drag a file from the windows explorer.
@Input() isUploadImage: boolean;
@Output() openImageUploadModal = new EventEmitter();
onUploadBtnClick(){
this.openImageUploadModal.emit('Open');
}
openImageUploadModal(content) {
this.modalService.open(content, { centered: true });
}
// fileChangeEvent(event: any): void {
// this.imageChangedEvent = event;
// }
imageCropped(event: ImageCroppedEvent) {
if (event.base64.indexOf('data:image/jpeg;base64,') > -1) {
this.croppedImage = event.base64.split('data:image/jpeg;base64,')[1];
} else {
this.croppedImage = event.base64.split('data:image/png;base64,')[1];
}
}
imageLoaded() {
this.cropperReady = true;
}
loadImageFailed() {
}
saveCroppedImage() {
this.imagePath = this.croppedImage;
this.myprofile.Photo = this.editPhoto === this.croppedImage ? this.editPhoto : this.croppedImage;
console.log('this.createNewProfile: ', this.createNewProfile);
this.advisorbranding.saveUpdateBrand(this.myprofile, this.createNewProfile).
subscribe(() => {
console.log('Profile Image updated..');
}, (err) => {
console.log('save Api failed, err: ', err);
});
}
deletPhoto() {
this.editPhoto = ProfileImageData.defaultImage;
// this.croppedImage = this.editPhoto;
// this.saveCroppedImage();
}
<div class="outer-div-for-the-imgae-icon">
<app-image [imagesrc]="imagePath" [isUploadImage]="true" (openImageUploadModal)="openImageUploadModal(content)" style="width : 38%; margin-top: 30px;"
class="d-none d-sm-block" alt="..." ></app-image>
</div>
<div class="upload-icon" *ngIf="isUploadImage" (click)="onUploadBtnClick()" >
<i class="fa fa-pencil fa-lg img-upload-icon" aria-hidden="true"> EDIT</i>
</div>
<input #inputFile id="filereader" type="file" (change)="onFileChange($event)" style="visibility: hidden;" />
<ng-template #content let-modal >
<div class="modal-header">
<h4 class="modal-title">Edit Photo</h4>
<button type="button" class="close" aria-label="Close" (click)="modal.dismiss('Cross click')">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body" id="image-upload-modal">
<image-cropper
[imageBase64]="'data:image/png;base64,' + editPhoto"
[maintainAspectRatio]="true"
[aspectRatio]="4 / 3"
[resizeToWidth]="128"
[roundCropper]="false"
format="png"
outputType="both"
(imageCropped)="imageCropped($event)"
(imageLoaded)="imageLoaded()"
(loadImageFailed)="loadImageFailed()"
style="max-height: 33vh"
[style.display]="cropperReady ? null : 'none'"
></image-cropper>
<h6 style="color: white;font-size: 10px;text-align: center; position: relative;
top: 10px;">Drag a reposition photo</h6>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light button" (click)="deletPhoto();">DELETE PHOTO</button>
<button type="button" class="btn btn-light buttonbg" (click)="inputFile.click();">UPLOAD NEW</button>
<button type="button" class="btn btn-light" (click)="modal.close('Close click'); saveCroppedImage();">SAVE PHOTO</button>
</div>
</ng-template>
html angular bootstrap-modal
How to Implement Drag and Drop for a bootstrap modal dialog.. So user can drag a file from the windows explorer.
At Present there is an EDIT button and if Click on that Edit button a modal dialog will open and in that I ahve to implement DRag and DRop.So that user can drag a file from the windows explorer.
@Input() isUploadImage: boolean;
@Output() openImageUploadModal = new EventEmitter();
onUploadBtnClick(){
this.openImageUploadModal.emit('Open');
}
openImageUploadModal(content) {
this.modalService.open(content, { centered: true });
}
// fileChangeEvent(event: any): void {
// this.imageChangedEvent = event;
// }
imageCropped(event: ImageCroppedEvent) {
if (event.base64.indexOf('data:image/jpeg;base64,') > -1) {
this.croppedImage = event.base64.split('data:image/jpeg;base64,')[1];
} else {
this.croppedImage = event.base64.split('data:image/png;base64,')[1];
}
}
imageLoaded() {
this.cropperReady = true;
}
loadImageFailed() {
}
saveCroppedImage() {
this.imagePath = this.croppedImage;
this.myprofile.Photo = this.editPhoto === this.croppedImage ? this.editPhoto : this.croppedImage;
console.log('this.createNewProfile: ', this.createNewProfile);
this.advisorbranding.saveUpdateBrand(this.myprofile, this.createNewProfile).
subscribe(() => {
console.log('Profile Image updated..');
}, (err) => {
console.log('save Api failed, err: ', err);
});
}
deletPhoto() {
this.editPhoto = ProfileImageData.defaultImage;
// this.croppedImage = this.editPhoto;
// this.saveCroppedImage();
}
<div class="outer-div-for-the-imgae-icon">
<app-image [imagesrc]="imagePath" [isUploadImage]="true" (openImageUploadModal)="openImageUploadModal(content)" style="width : 38%; margin-top: 30px;"
class="d-none d-sm-block" alt="..." ></app-image>
</div>
<div class="upload-icon" *ngIf="isUploadImage" (click)="onUploadBtnClick()" >
<i class="fa fa-pencil fa-lg img-upload-icon" aria-hidden="true"> EDIT</i>
</div>
<input #inputFile id="filereader" type="file" (change)="onFileChange($event)" style="visibility: hidden;" />
<ng-template #content let-modal >
<div class="modal-header">
<h4 class="modal-title">Edit Photo</h4>
<button type="button" class="close" aria-label="Close" (click)="modal.dismiss('Cross click')">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body" id="image-upload-modal">
<image-cropper
[imageBase64]="'data:image/png;base64,' + editPhoto"
[maintainAspectRatio]="true"
[aspectRatio]="4 / 3"
[resizeToWidth]="128"
[roundCropper]="false"
format="png"
outputType="both"
(imageCropped)="imageCropped($event)"
(imageLoaded)="imageLoaded()"
(loadImageFailed)="loadImageFailed()"
style="max-height: 33vh"
[style.display]="cropperReady ? null : 'none'"
></image-cropper>
<h6 style="color: white;font-size: 10px;text-align: center; position: relative;
top: 10px;">Drag a reposition photo</h6>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light button" (click)="deletPhoto();">DELETE PHOTO</button>
<button type="button" class="btn btn-light buttonbg" (click)="inputFile.click();">UPLOAD NEW</button>
<button type="button" class="btn btn-light" (click)="modal.close('Close click'); saveCroppedImage();">SAVE PHOTO</button>
</div>
</ng-template>
@Input() isUploadImage: boolean;
@Output() openImageUploadModal = new EventEmitter();
onUploadBtnClick(){
this.openImageUploadModal.emit('Open');
}
openImageUploadModal(content) {
this.modalService.open(content, { centered: true });
}
// fileChangeEvent(event: any): void {
// this.imageChangedEvent = event;
// }
imageCropped(event: ImageCroppedEvent) {
if (event.base64.indexOf('data:image/jpeg;base64,') > -1) {
this.croppedImage = event.base64.split('data:image/jpeg;base64,')[1];
} else {
this.croppedImage = event.base64.split('data:image/png;base64,')[1];
}
}
imageLoaded() {
this.cropperReady = true;
}
loadImageFailed() {
}
saveCroppedImage() {
this.imagePath = this.croppedImage;
this.myprofile.Photo = this.editPhoto === this.croppedImage ? this.editPhoto : this.croppedImage;
console.log('this.createNewProfile: ', this.createNewProfile);
this.advisorbranding.saveUpdateBrand(this.myprofile, this.createNewProfile).
subscribe(() => {
console.log('Profile Image updated..');
}, (err) => {
console.log('save Api failed, err: ', err);
});
}
deletPhoto() {
this.editPhoto = ProfileImageData.defaultImage;
// this.croppedImage = this.editPhoto;
// this.saveCroppedImage();
}
<div class="outer-div-for-the-imgae-icon">
<app-image [imagesrc]="imagePath" [isUploadImage]="true" (openImageUploadModal)="openImageUploadModal(content)" style="width : 38%; margin-top: 30px;"
class="d-none d-sm-block" alt="..." ></app-image>
</div>
<div class="upload-icon" *ngIf="isUploadImage" (click)="onUploadBtnClick()" >
<i class="fa fa-pencil fa-lg img-upload-icon" aria-hidden="true"> EDIT</i>
</div>
<input #inputFile id="filereader" type="file" (change)="onFileChange($event)" style="visibility: hidden;" />
<ng-template #content let-modal >
<div class="modal-header">
<h4 class="modal-title">Edit Photo</h4>
<button type="button" class="close" aria-label="Close" (click)="modal.dismiss('Cross click')">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body" id="image-upload-modal">
<image-cropper
[imageBase64]="'data:image/png;base64,' + editPhoto"
[maintainAspectRatio]="true"
[aspectRatio]="4 / 3"
[resizeToWidth]="128"
[roundCropper]="false"
format="png"
outputType="both"
(imageCropped)="imageCropped($event)"
(imageLoaded)="imageLoaded()"
(loadImageFailed)="loadImageFailed()"
style="max-height: 33vh"
[style.display]="cropperReady ? null : 'none'"
></image-cropper>
<h6 style="color: white;font-size: 10px;text-align: center; position: relative;
top: 10px;">Drag a reposition photo</h6>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light button" (click)="deletPhoto();">DELETE PHOTO</button>
<button type="button" class="btn btn-light buttonbg" (click)="inputFile.click();">UPLOAD NEW</button>
<button type="button" class="btn btn-light" (click)="modal.close('Close click'); saveCroppedImage();">SAVE PHOTO</button>
</div>
</ng-template>
@Input() isUploadImage: boolean;
@Output() openImageUploadModal = new EventEmitter();
onUploadBtnClick(){
this.openImageUploadModal.emit('Open');
}
openImageUploadModal(content) {
this.modalService.open(content, { centered: true });
}
// fileChangeEvent(event: any): void {
// this.imageChangedEvent = event;
// }
imageCropped(event: ImageCroppedEvent) {
if (event.base64.indexOf('data:image/jpeg;base64,') > -1) {
this.croppedImage = event.base64.split('data:image/jpeg;base64,')[1];
} else {
this.croppedImage = event.base64.split('data:image/png;base64,')[1];
}
}
imageLoaded() {
this.cropperReady = true;
}
loadImageFailed() {
}
saveCroppedImage() {
this.imagePath = this.croppedImage;
this.myprofile.Photo = this.editPhoto === this.croppedImage ? this.editPhoto : this.croppedImage;
console.log('this.createNewProfile: ', this.createNewProfile);
this.advisorbranding.saveUpdateBrand(this.myprofile, this.createNewProfile).
subscribe(() => {
console.log('Profile Image updated..');
}, (err) => {
console.log('save Api failed, err: ', err);
});
}
deletPhoto() {
this.editPhoto = ProfileImageData.defaultImage;
// this.croppedImage = this.editPhoto;
// this.saveCroppedImage();
}
<div class="outer-div-for-the-imgae-icon">
<app-image [imagesrc]="imagePath" [isUploadImage]="true" (openImageUploadModal)="openImageUploadModal(content)" style="width : 38%; margin-top: 30px;"
class="d-none d-sm-block" alt="..." ></app-image>
</div>
<div class="upload-icon" *ngIf="isUploadImage" (click)="onUploadBtnClick()" >
<i class="fa fa-pencil fa-lg img-upload-icon" aria-hidden="true"> EDIT</i>
</div>
<input #inputFile id="filereader" type="file" (change)="onFileChange($event)" style="visibility: hidden;" />
<ng-template #content let-modal >
<div class="modal-header">
<h4 class="modal-title">Edit Photo</h4>
<button type="button" class="close" aria-label="Close" (click)="modal.dismiss('Cross click')">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body" id="image-upload-modal">
<image-cropper
[imageBase64]="'data:image/png;base64,' + editPhoto"
[maintainAspectRatio]="true"
[aspectRatio]="4 / 3"
[resizeToWidth]="128"
[roundCropper]="false"
format="png"
outputType="both"
(imageCropped)="imageCropped($event)"
(imageLoaded)="imageLoaded()"
(loadImageFailed)="loadImageFailed()"
style="max-height: 33vh"
[style.display]="cropperReady ? null : 'none'"
></image-cropper>
<h6 style="color: white;font-size: 10px;text-align: center; position: relative;
top: 10px;">Drag a reposition photo</h6>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light button" (click)="deletPhoto();">DELETE PHOTO</button>
<button type="button" class="btn btn-light buttonbg" (click)="inputFile.click();">UPLOAD NEW</button>
<button type="button" class="btn btn-light" (click)="modal.close('Close click'); saveCroppedImage();">SAVE PHOTO</button>
</div>
</ng-template>
html angular bootstrap-modal
html angular bootstrap-modal
asked Jan 3 at 7:03
SundeepSundeep
488
488
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54017731%2fhow-to-implement-drag-and-drop-for-a-bootstrap-modal-dialog-so-user-can-drag-a%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54017731%2fhow-to-implement-drag-and-drop-for-a-bootstrap-modal-dialog-so-user-can-drag-a%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown