this.type = 'gallery';
this.lastSelected = {};
this.lastSelectedTime = 0;
+ this.callback = null;
this.resetState = () => {
- this.callback = null;
this.hasData = false;
this.page = 1;
this.filter = 'all';
this.listContainer.addEventListener('event-emit-select-image', this.onImageSelectEvent.bind(this));
+ this.listContainer.addEventListener('error', event => {
+ event.target.src = baseUrl('loading_error.png');
+ }, true);
+
onSelect(this.selectButton, () => {
if (this.callback) {
this.callback(this.lastSelected);
};
const {data: html} = await window.$http.get(`images/${this.type}`, params);
+ if (params.page === 1) {
+ this.listContainer.innerHTML = '';
+ }
this.addReturnedHtmlElementsToList(html);
removeLoading(this.listContainer);
}
this.resetState();
this.resetListView();
this.resetSearchView();
- this.formContainer.innerHTML = '';
+ this.resetEditForm();
this.setActiveFilterTab('all');
+ this.selectButton.classList.add('hidden');
}
resetSearchView() {
this.searchInput.value = '';
}
+ resetEditForm() {
+ this.formContainer.innerHTML = '';
+ }
+
resetListView() {
showLoading(this.listContainer);
this.page = 1;
if (!alreadySelected) {
event.target.classList.add('selected');
this.loadImageEditForm(image.id);
+ } else {
+ this.resetEditForm();
}
this.selectButton.classList.toggle('hidden', alreadySelected);