Skip to content
Snippets Groups Projects
Commit 83a4daba authored by Eugen Ciur's avatar Eugen Ciur
Browse files

better user experience for deleting records

parent 8bab497f
Branches
No related tags found
No related merge requests found
......@@ -31,6 +31,9 @@ export default class CommanderComponent extends Component {
@tracked new_records = A([]);
@tracked __new_record; // used as workaround for an ember bug
@tracked deleted_records = A([]);
@tracked __deleted_records; // used as workaround for an ember bug
@action
openNewFolderModal() {
this.show_new_folder_modal = true;
......@@ -60,9 +63,11 @@ export default class CommanderComponent extends Component {
}
@action
closeConfirmDeletionModal() {
closeConfirmDeletionModal(deleted_records) {
this.show_confirm_deletion_modal = false;
this.selected_nodes = A([]);
this.deleted_records = this.deleted_records.concat(deleted_records);
this.__deleted_records = deleted_records;
}
@action
......@@ -115,6 +120,12 @@ export default class CommanderComponent extends Component {
}
}
if (this.deleted_records.length > 0) {
children_copy = children_copy.filter(
item => !this.deleted_records.includes(item)
);
}
if (this.__new_record) { // workaround ember bug
// Ember bug! Without this empty statement
// updates on tracked attributes ``this.new_records``
......@@ -122,6 +133,11 @@ export default class CommanderComponent extends Component {
//
// pass
}
if (this.__deleted_records) {
// similar to ``this.__new_record`` - it is used
// here to help ember with tracking of ``this.deleted_records`` array
}
return children_copy;
}
}
import { action } from '@ember/object';
import { inject as service } from '@ember/service';
import { A } from '@ember/array';
import BaseComponent from "./base";
......@@ -14,11 +15,13 @@ export default class DeleteNodeComponent extends BaseComponent {
@action
onSubmit() {
let nodes_copy = A(this.nodes);
this.nodes.forEach((node) => {
node.destroyRecord();
});
this.args.onClose();
this.args.onClose(nodes_copy);
}
get titles_to_be_deleted() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment