From baba9ce661476c0143ef8792737c13721e347c55 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timoth=C3=A9e?= <tpoussard@neogeo.fr>
Date: Wed, 10 Aug 2022 10:00:18 +0200
Subject: [PATCH] make label clickable, change var names & increase disabled
 checkboxes contrast

---
 .../FeaturesListAndMap/FeatureListTable.vue   | 30 +++++++++++++------
 .../FeaturesListAndMapFilters.vue             |  4 +--
 src/store/modules/feature.store.js            |  2 +-
 src/views/Project/FeaturesListAndMap.vue      |  6 +++-
 4 files changed, 29 insertions(+), 13 deletions(-)

diff --git a/src/components/Project/FeaturesListAndMap/FeatureListTable.vue b/src/components/Project/FeaturesListAndMap/FeatureListTable.vue
index d8cd0573..006a27a2 100644
--- a/src/components/Project/FeaturesListAndMap/FeatureListTable.vue
+++ b/src/components/Project/FeaturesListAndMap/FeatureListTable.vue
@@ -2,38 +2,44 @@
   <div>
     <div class="ui form">
       <div class="inline fields">
-        <label>Mode de sélection :</label>
+        <label
+          data-tooltip="Choisir un type de sélection de signalements pour effectuer une action"
+          data-position="bottom left"
+        >Mode de sélection :</label>
         <div class="field">
           <div class="ui radio checkbox">
             <input
+              id="edit-status"
               v-model="mode"
               type="radio"
               name="mode"
-              value="modify-status"
+              value="edit-status"
             >
-            <label>Édition de statut</label>
+            <label for="edit-status">Édition de statut</label>
           </div>
         </div>
         <div class="field">
           <div class="ui radio checkbox">
             <input
+              id="edit-attributes"
               v-model="mode"
               type="radio"
               name="mode"
-              value="modify-attributes"
+              value="edit-attributes"
             >
-            <label>Édition d'attribut</label>
+            <label for="edit-attributes">Édition d'attribut</label>
           </div>
         </div>
         <div class="field">
           <div class="ui radio checkbox">
             <input
+              id="delete-features"
               v-model="mode"
               type="radio"
               name="mode"
               value="delete-features"
             >
-            <label>Suppression de signalement</label>
+            <label for="delete-features">Suppression de signalement</label>
           </div>
         </div>
       </div>
@@ -494,7 +500,7 @@ export default {
     ]),
 
     storeClickedFeature(feature) {
-      if (this.checkedFeatures.length === 0 && this.massMode === 'modify-attributes') { // if modifying attributes
+      if (this.checkedFeatures.length === 0 && this.massMode === 'edit-attributes') { // if modifying attributes
         this.editAttributesFeatureType = feature.feature_type.slug; // store feature type slug to restrict selection for next selected features
       }
       this.UPDATE_CLICKED_FEATURES([
@@ -521,7 +527,7 @@ export default {
 
       if (this.checkedFeatures.length > 0 && // check if selection should be restricted to a specific feature type, for attributes modification
         feature.feature_type.slug !== this.editAttributesFeatureType &&
-        this.massMode === 'modify-attributes') {
+        this.massMode === 'edit-attributes') {
         return false;
       } else if (this.user.is_superuser) {
         return true;
@@ -535,7 +541,7 @@ export default {
     },
 
     checkRights(feature) {
-      if (this.massMode.includes('modify')) {
+      if (this.massMode.includes('edit')) {
         return this.canEditFeature(feature);
       } else if (this.massMode === 'delete-features') {
         return this.canDeleteFeature(feature);
@@ -665,6 +671,12 @@ i.icon.sort:not(.down):not(.up) {
 .table-mobile-buttons {
   margin-bottom: 1em;
 }
+
+/* increase contrast between available checkboxes and disabled ones */
+#table-features .ui.disabled.checkbox label::before {
+  background-color: #fbf5f5;;  
+}
+
 @media only screen and (min-width: 761px) {
   .table-mobile-buttons {
     display: none !important;
diff --git a/src/components/Project/FeaturesListAndMap/FeaturesListAndMapFilters.vue b/src/components/Project/FeaturesListAndMap/FeaturesListAndMapFilters.vue
index 16a760b6..bab2e7ce 100644
--- a/src/components/Project/FeaturesListAndMap/FeaturesListAndMapFilters.vue
+++ b/src/components/Project/FeaturesListAndMap/FeaturesListAndMapFilters.vue
@@ -86,7 +86,7 @@
               </div>
             </div>
             <div
-              v-if="checkedFeatures.length > 0 && massMode === 'modify-status'"
+              v-if="checkedFeatures.length > 0 && massMode === 'edit-status'"
               class="ui dropdown button compact button-hover-green tiny-margin-left"
               data-tooltip="Modifier le statut des Signalements"
               data-position="bottom right"
@@ -109,7 +109,7 @@
                     v-for="status in availableStatus"
                     :key="status.value"
                     class="item"
-                    @click="$emit('modify-status', status.value)"
+                    @click="$emit('edit-status', status.value)"
                   >
                     {{ status.name }}
                   </span>
diff --git a/src/store/modules/feature.store.js b/src/store/modules/feature.store.js
index 2ad217f9..94ba91e9 100644
--- a/src/store/modules/feature.store.js
+++ b/src/store/modules/feature.store.js
@@ -15,7 +15,7 @@ const feature = {
     form: null,
     linkedFormset: [], //* used to edit in feature_edit
     linked_features: [], //* used to display in feature_detail
-    massMode: 'modify-status',
+    massMode: 'edit-status',
   },
   mutations: {
     SET_FEATURES(state, features) {
diff --git a/src/views/Project/FeaturesListAndMap.vue b/src/views/Project/FeaturesListAndMap.vue
index c48c19ed..897fd9ff 100644
--- a/src/views/Project/FeaturesListAndMap.vue
+++ b/src/views/Project/FeaturesListAndMap.vue
@@ -9,7 +9,7 @@
         @reset-pagination="resetPagination"
         @fetch-features="fetchPagedFeatures"
         @show-map="setShowMap"
-        @modify-status="modifyStatus"
+        @edit-status="modifyStatus"
         @toggle-delete-modal="toggleDeleteModal"
       />
 
@@ -282,6 +282,10 @@ export default {
       this.toggleDeleteModal();
     },
 
+    modifyFeaturesAttributes() {
+      console.log('modifyFeaturesAttributes');
+    },
+
     onFilterChange() {
       if (mapService.getMap() && mapService.mvtLayer) {
         mapService.mvtLayer.changed();
-- 
GitLab