6 this.imageElem = elem.querySelector('img');
7 this.input = elem.querySelector('input');
9 this.isUsingIds = elem.getAttribute('data-current-id') !== '';
10 this.isResizing = elem.getAttribute('data-resize-height') && elem.getAttribute('data-resize-width');
11 this.isResizeCropping = elem.getAttribute('data-resize-crop') !== '';
13 let selectButton = elem.querySelector('button[data-action="show-image-manager"]');
14 selectButton.addEventListener('click', this.selectImage.bind(this));
16 let resetButton = elem.querySelector('button[data-action="reset-image"]');
17 resetButton.addEventListener('click', this.reset.bind(this));
19 let removeButton = elem.querySelector('button[data-action="remove-image"]');
21 removeButton.addEventListener('click', this.removeImage.bind(this));
26 window.ImageManager.show(image => {
27 if (!this.isResizing) {
32 let requestString = '/images/thumb/' + image.id + '/' + this.elem.getAttribute('data-resize-width') + '/' + this.elem.getAttribute('data-resize-height') + '/' + (this.isResizeCropping ? 'true' : 'false');
34 window.$http.get(window.baseUrl(requestString)).then(resp => {
35 image.url = resp.data.url;
42 this.setImage({id: 0, url: this.elem.getAttribute('data-default-image')});
46 this.imageElem.src = image.url;
47 this.input.value = this.isUsingIds ? image.id : image.url;
48 this.imageElem.classList.remove('none');
52 this.imageElem.src = this.elem.getAttribute('data-default-image');
53 this.imageElem.classList.add('none');
54 this.input.value = 'none';
59 module.exports = ImagePicker;