Fix handling folders reordering
This commit is contained in:
parent
f61b8c7389
commit
f02ac2253d
@ -101,10 +101,37 @@ export default class DialogsStorage {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
rootScope.addEventListener('filter_order', () => {
|
||||||
|
const dialogs = this.getCachedDialogs(false);
|
||||||
|
for(const filterId in this.folders) {
|
||||||
|
if(+filterId > 1) {
|
||||||
|
delete this.folders[filterId];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(let i = 0; i < dialogs.length; ++i) {
|
||||||
|
const dialog = dialogs[i];
|
||||||
|
for(let i = 0; i <= 10; ++i) {
|
||||||
|
const indexKey = `index_${i}` as ReturnType<DialogsStorage['getDialogIndexKey']>;
|
||||||
|
dialog[indexKey] = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.processDialogForFilters(dialog);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
rootScope.addEventListener('filter_update', onFilterUpdate);
|
rootScope.addEventListener('filter_update', onFilterUpdate);
|
||||||
rootScope.addEventListener('filter_new', onFilterUpdate);
|
rootScope.addEventListener('filter_new', onFilterUpdate);
|
||||||
|
|
||||||
rootScope.addEventListener('filter_delete', (filter) => {
|
rootScope.addEventListener('filter_delete', (filter) => {
|
||||||
|
const dialogs = this.getCachedDialogs(false);
|
||||||
|
|
||||||
|
const indexKey = `index_${filter.orderIndex}` as const;
|
||||||
|
for(let i = 0; i < dialogs.length; ++i) {
|
||||||
|
const dialog = dialogs[i];
|
||||||
|
delete dialog[indexKey];
|
||||||
|
}
|
||||||
|
|
||||||
delete this.folders[filter.id];
|
delete this.folders[filter.id];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user