Commit 3f92506f authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Confirm delete modal: added warning message when some of the selected nodes are not deletable

parent 0348f4e5
Loading
Loading
Loading
Loading
Loading
+11 −4
Original line number Original line Diff line number Diff line
@@ -117,12 +117,19 @@ export default {
      this.$store.dispatch('startAsyncRecallJob');
      this.$store.dispatch('startAsyncRecallJob');
    },
    },
    deleteNodes() {
    deleteNodes() {
      let deletableCheckboxes = document.querySelectorAll('#nodes input.deletable:checked');
      let selectedNodesCheckboxes = document.querySelectorAll('#nodes input:checked');
      let paths = [];
      let paths = [], unDeletablePaths = [];
      for (let i = 0; i < deletableCheckboxes.length; i++) {
      for (let i = 0; i < selectedNodesCheckboxes.length; i++) {
        paths.push(deletableCheckboxes[i].getAttribute('data-node'));
        let checkbox = selectedNodesCheckboxes[i];
        let dataNode = checkbox.getAttribute('data-node');
        if(checkbox.classList.contains('deletable')) {
          paths.push(dataNode);
        } else {
          unDeletablePaths.push(dataNode);
        }
      }
      }
      this.$store.commit('setNodesToDelete', paths);
      this.$store.commit('setNodesToDelete', paths);
      this.$store.commit('setSelectedUndeletableNodes', unDeletablePaths);
      this.$bvModal.show('confirm-delete-modal');
      this.$bvModal.show('confirm-delete-modal');
    }
    }
  }
  }
+10 −1
Original line number Original line Diff line number Diff line
@@ -11,6 +11,14 @@
    <li v-for="node in nodesToDelete" :key="node">{{node}}</li>
    <li v-for="node in nodesToDelete" :key="node">{{node}}</li>
  </ul>
  </ul>
  </p>
  </p>
  <div v-if="selectedUndeletableNodes.length > 0">
    <p><strong>Warning</strong>: following selected nodes can't be deleted and will be ignored:</p>
    <p>
    <ul>
      <li v-for="node in selectedUndeletableNodes" :key="node">{{node}}</li>
    </ul>
    </p>
  </div>
</b-modal>
</b-modal>
</template>
</template>


@@ -18,7 +26,8 @@
export default {
export default {
  name: 'ConfirmDeleteModal',
  name: 'ConfirmDeleteModal',
  computed: {
  computed: {
    nodesToDelete() { return this.$store.state.nodesToDelete }
    nodesToDelete() { return this.$store.state.nodesToDelete },
    selectedUndeletableNodes() { return this.$store.state.selectedUndeletableNodes }
  },
  },
  methods: {
  methods: {
    reset() {
    reset() {
+4 −0
Original line number Original line Diff line number Diff line
@@ -33,6 +33,7 @@ export default new Vuex.Store({
    lastJobsCheckTime: null,
    lastJobsCheckTime: null,
    user: 'anonymous',
    user: 'anonymous',
    nodesToDelete: [],
    nodesToDelete: [],
    selectedUndeletableNodes: [],
    writable: false,
    writable: false,
    nodeToShare: {
    nodeToShare: {
      path: null,
      path: null,
@@ -78,6 +79,9 @@ export default new Vuex.Store({
    setNodesToDelete(state, paths) {
    setNodesToDelete(state, paths) {
      updateArray(state.nodesToDelete, paths);
      updateArray(state.nodesToDelete, paths);
    },
    },
    setSelectedUndeletableNodes(state, paths) {
      updateArray(state.selectedUndeletableNodes, paths);
    },
    setWritable(state, value) {
    setWritable(state, value) {
      state.writable = value;
      state.writable = value;
    },
    },