Commit e112ebac authored by Jerome Chauveau's avatar Jerome Chauveau
Browse files

Stockage de l'état 'tout sélectionner' (booléen 'allSelected') au niveau du store

parent 928b2cb0
Loading
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
# Changelog

## [0.3.48] - 08/04/2022
 - Stockage de l'état "tout sélectionner" (booléen 'allSelected') au niveau du store
 - Mode de consultation "image" : conservation des paramètres de viewport OSD

## [0.3.47] - 27/04/2022
 - Mise en avant de la resource active
 - Debug affichage plein-écran

## [0.3.46] - 19/04/2022
 - Optimisation de l'affichage des  titres longs

## [0.3.45] - 08/04/2022
 - possibilité d'ajouter des actions dans le menu de sélection multiple (multiSelectActionAddons)
 - mise en place du CHANGELOG
+35 −16
Original line number Diff line number Diff line
<template>
  <v-container class="d-flex align-center mt-5">
    <v-checkbox class="mt-0 pt-0" hide-details v-model="allSelected"></v-checkbox>
    <v-checkbox class="mt-0 pt-0" hide-details v-model="allSelected" @click="allSelectedClicked"></v-checkbox>
    <div v-if="hasSelection" class="d-flex align-center ma-1 pa-0">
      <div class="pa-0 caption ma-0 ml-5 pa-0">
          <span v-if="collectionsSelectionLength>0">
@@ -98,7 +98,7 @@ export default {
  data(){
    return {
      moveDialog: false,
      allSelected : false,
      //allSelected : false,
      moveDestId : null,
      actions: [
        {
@@ -117,24 +117,18 @@ export default {
  },

  watch :{
    allSelected(){
      if(this.allSelected) {
        let resources = [...this.resources];
        let collections = [...this.collections];
        resources.map(r => r.selected = this.allSelected);
        collections.map(r => r.selected = this.allSelected);
        this.$store.commit('setSelectedResources', resources);
        this.$store.commit('setSelectedCollections', collections);
      }
      else{
        this.$store.commit('setSelectedResources', []);
        this.$store.commit('setSelectedCollections', []);
      }

    currentCollection(){
      this.allSelected = false;
    },

    selectedCollections(after, before){
      if(after.length < before.length)
        this.allSelected = false;
    },

    currentCollection(){
    selectedResources(after, before){
      if(after.length < before.length)
        this.allSelected = false;
    }
  },
@@ -168,11 +162,36 @@ export default {
      return this.resourcesSelectionLength === 0
    },


    allSelected: {
      get: function() {
        return this.$store.state.allSelected;
      },
      set: function(val) {
        this.$store.commit('setAllSelected', val);
      }
    },

    ...mapGetters(["sortOptions","collections","resources","currentCollection","currentProjectId","selectedResources","selectedCollections"])
  },

  methods: {

    allSelectedClicked(){
        if(this.allSelected) {
          let resources = [...this.resources];
          let collections = [...this.collections];
          resources.map(r => r.selected = this.allSelected);
          collections.map(r => r.selected = this.allSelected);
          this.$store.commit('setSelectedResources', resources);
          this.$store.commit('setSelectedCollections', collections);
        }
        else{
          this.$store.commit('setSelectedResources', []);
          this.$store.commit('setSelectedCollections', []);
        }
    },

    moveDestSelected(dest){
      this.moveDestId = dest;
    },
+6 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ export default new Vuex.Store({
        resources: [],
        collections: [],
        projectProperties:[],
        allSelected: false,
        selectedCollections: [],
        selectedResources: [],
        permissions: [],
@@ -59,6 +60,7 @@ export default new Vuex.Store({
        collections: state => state.collections,
        selectedResources: state => state.selectedResources,
        selectedCollections: state => state.selectedCollections,
        allSelected : state => state.allSelected,
        permissions: state => state.permissions,
        projectsUserPermissions: state => state.projectsUserPermissions,
        currentCollection: state => state.currentCollection,
@@ -101,6 +103,10 @@ export default new Vuex.Store({
            state.collections = collections;
        },

        setAllSelected: (state, bool) => {
            state.allSelected = bool;
        },

        setSelectedResources: (state, resources) => {
            state.selectedResources = resources;
        },