Browse Source

Add a possibility of selecting displayed users in admin panel

Emile NDAGIJIMANA 3 years ago
parent
commit
fb00869e49

+ 5 - 0
client/components/settings/peopleBody.jade

@@ -108,6 +108,7 @@ template(name="peopleGeneral")
     tbody
       tr
         th
+          +selectAllUser
         th {{_ 'username'}}
         th {{_ 'fullname'}}
         th {{_ 'initials'}}
@@ -125,6 +126,10 @@ template(name="peopleGeneral")
       each user in peopleList
         +peopleRow(userId=user._id)
 
+template(name="selectAllUser")
+  {{_ 'dueCardsViewChange-choice-all'}}
+  input.allUserChkBox(type="checkbox", id="chkSelectAll")
+
 template(name="newOrgRow")
   a.new-org
     i.fa.fa-plus-square

+ 36 - 2
client/components/settings/peopleBody.js

@@ -524,6 +524,41 @@ BlazeComponent.extendComponent({
   },
 }).register('newUserRow');
 
+BlazeComponent.extendComponent({
+  events() {
+    return [
+      {
+        'click .allUserChkBox': function(ev){
+          selectedUserChkBoxUserIds = [];
+          const checkboxes = document.getElementsByClassName("selectUserChkBox");
+          if(ev.currentTarget){
+            if(ev.currentTarget.checked){
+              for (let i=0; i<checkboxes.length; i++) {
+                if (!checkboxes[i].disabled) {
+                 selectedUserChkBoxUserIds.push(checkboxes[i].id);
+                 checkboxes[i].checked = true;
+                }
+             }
+            }
+            else{
+              for (let i=0; i<checkboxes.length; i++) {
+                if (!checkboxes[i].disabled) {
+                 checkboxes[i].checked = false;
+                }
+             }
+            }
+          }
+
+          if(selectedUserChkBoxUserIds.length > 0)
+            document.getElementById("divAddOrRemoveTeam").style.display = 'block';
+          else
+            document.getElementById("divAddOrRemoveTeam").style.display = 'none';
+        },
+      },
+    ];
+  },
+}).register('selectAllUser');
+
 Template.editOrgPopup.events({
   submit(event, templateInstance) {
     event.preventDefault();
@@ -535,8 +570,7 @@ Template.editOrgPopup.events({
     const orgDesc = templateInstance.find('.js-orgDesc').value.trim();
     const orgShortName = templateInstance.find('.js-orgShortName').value.trim();
     const orgWebsite = templateInstance.find('.js-orgWebsite').value.trim();
-    const orgIsActive =
-      templateInstance.find('.js-org-isactive').value.trim() == 'true';
+    const orgIsActive = templateInstance.find('.js-org-isactive').value.trim() == 'true';
 
     const isChangeOrgDisplayName = orgDisplayName !== org.orgDisplayName;
     const isChangeOrgDesc = orgDesc !== org.orgDesc;

+ 1 - 1
client/components/settings/peopleBody.styl

@@ -56,7 +56,7 @@ table
 .js-teams,.js-teamsNewUser
   display: none;
 
-.selectUserChkBox
+.selectUserChkBox,.allUserChkBox
   position: static !important;
   visibility: visible !important;
   left: 0 !important;