machristie commented on a change in pull request #67:
URL: 
https://github.com/apache/airavata-django-portal/pull/67#discussion_r695906249



##########
File path: django_airavata/static/common/package.json
##########
@@ -8,9 +8,8 @@
   "module": "./js/index.js",
   "scripts": {
     "watch": "vue-cli-service build --watch --mode production",
-    "build": "npm run build-app && npm run build-lib",

Review comment:
       I think you unintentionally undid some changes to the scripts

##########
File path: django_airavata/apps/groups/package.json
##########
@@ -13,12 +13,12 @@
   },
   "dependencies": {
     "bootstrap": "^4.0.0-beta.2",
-    "bootstrap-vue": "2.0.0-rc.26",

Review comment:
       Why is bootstrap-vue removed here?

##########
File path: 
django_airavata/apps/groups/static/django_airavata_groups/js/group_components/GroupMembersEditor.vue
##########
@@ -1,70 +1,199 @@
 <template>
   <div>
-    <b-form-group label="Add members">
-      <autocomplete-text-input
-        id="user-autocomplete"
-        :suggestions="suggestions"
-        @selected="suggestionSelected"
-        placeholder="Search for users to add to this group"
-      />
-    </b-form-group>
-    <b-form-group label="Filter members">
-      <b-input-group>
-        <b-input-group-text slot="prepend">
-          <i class="fa fa-filter"></i>
-        </b-input-group-text>
-        <b-form-input v-model="filter" placeholder="Filter list of members" />
-      </b-input-group>
-    </b-form-group>
-    <b-table
-      v-if="membersCount > 0"
-      hover
-      :items="currentMembers"
-      :fields="fields"
-      :filter="filter"
-      sort-by="name"
-      :sort-compare="sortCompare"
-    >
-      <template slot="HEAD_role">
-        <div class="d-flex">
-          <div>Role</div>
-          <div class="ml-auto mr-2">
-            <i
-              class="fa fa-info-circle text-info align-text-top"
-              v-b-tooltip.hover
-              title="Admins can add and remove group members."
-            />
-          </div>
-        </div>
-      </template>
-      <template slot="role" slot-scope="data">
-        <!-- Can only change role if the user is the group owner but the role 
of the owner can't be changed -->
-        <b-form-select
-          v-if="group.isOwner && data.item.role !== 'OWNER'"
-          :value="data.item.role"
-          @input="changeRole(data.item, $event)"
-          :options="groupRoleOptions"
-        >
-        </b-form-select>
-        <span v-else>{{ data.value }}</span>
-      </template>
-      <template slot="remove" slot-scope="data">
-        <b-link v-if="data.item.editable" @click="removeMember(data.item)">
-          <span class="fa fa-trash"></span>
-        </b-link>
-      </template>
-    </b-table>
+    <div class="row">
+      <div class="col">
+        <b-card title="Gateway Users" title-tag="h6">
+            
+          <b-form-group>
+            <b-input-group>
+              <b-input-group-text slot="prepend">
+                <i class="fa fa-filter"></i>
+              </b-input-group-text>
+              <b-form-input 
+                v-model="userFilter" 
+                placeholder="Filter list of users"  
+                @change="onUserFilterChange"
+              />
+            </b-input-group>
+          </b-form-group>
+            
+          <b-table
+            hover
+            :items="nonMembers"
+            :fields="userFields"
+            :filter="userFilter"
+            :select-mode="selectMode"
+            responsive="sm"
+            ref="usersTable"
+            selectable
+            @row-selected="onUsersRowSelected"
+            sort-by="name"
+            :sort-compare="sortCompare"
+          >
+              
+            <template slot="cell(action)" slot-scope="data">
+              <b-button @click="toggleDetails(data)">
+                {{data.detailsShowing ? 'Hide' : 'Show'}} Details
+              </b-button>
+            </template>
+              
+            <template slot="row-details" slot-scope="data">
+              <group-members-details-container
+                :userProfile="data.item"
+                :name="data.item.name"
+                :id="data.item.id"
+                @change-role="changeRole"
+              />
+            </template>
+            
+          </b-table>
+
+        </b-card>
+      </div>
+
+      <div>
+        <b-button-group vertical>
+          
+          <b-button 
+            style="margin-top:10px; margin-bottom:10px;"
+            variant="primary" 
+            @click="addSelectedMembers">
+            Add Members
+          </b-button>
+          
+          <b-button 
+            style="margin-top:10px; margin-bottom:10px;"
+            variant="primary" 
+            @click="showAdd = true">
+            Add All Members
+          </b-button>
+          
+          <b-button 
+            style="margin-top:10px; margin-bottom:10px;"
+            variant="primary" 
+            @click="showRemove = true">
+            Remove All Members
+          </b-button>
+          
+          <b-button 
+            style="margin-top:10px; margin-bottom:10px;"
+            variant="primary" 
+              @click="removeSelectedMembers">
+              Remove Members
+          </b-button>
+          
+          <b-modal
+            v-model="showRemove"
+            title="Are you sure?">
+            <p class="my-4">
+              Do you really want to remove all members from 
+              '<strong>{{group.name}}</strong>'?
+            </p>
+            <div slot="modal-footer" class="w-100">
+              <b-button
+                class="float-right ml-1"
+                @click="removeAllMembers">
+                Yes
+              </b-button>
+              <b-button
+                class="float-right ml-1"
+                @click="showRemove = false">
+                No
+              </b-button>
+            </div>
+          </b-modal>
+          
+          <b-modal
+            v-model="showAdd"
+            title="Are you sure?">
+            <p class="my-4">
+              Do you really want to add all users to 
+              '<strong>{{group.name}}</strong>'?
+            </p>
+            <div slot="modal-footer" class="w-100">
+              <b-button
+                class="float-right ml-1"
+                @click="addAllMembers">
+                Yes
+              </b-button>
+              <b-button
+                class="float-right ml-1"
+                @click="showAdd = false">
+                No
+              </b-button>
+            </div>
+          </b-modal>
+          
+        </b-button-group>
+      </div>
+
+      <div class="col">
+        <b-card title="Group Members" title-tag="h6">
+            
+          <b-form-group>
+            <b-input-group>
+              <b-input-group-text slot="prepend">
+                <i class="fa fa-filter"></i>
+              </b-input-group-text>
+              <b-form-input 
+                v-model="memberFilter" 
+                placeholder="Filter list of members" 
+                @change="onMemberFilterChange"
+              />
+            </b-input-group>
+          </b-form-group>
+            
+          <b-table
+            v-if="membersCount > 0"
+            hover
+            :items="currentMembers"
+            :fields="memberFields"
+            :filter="memberFilter"
+            :select-mode="selectMode"
+            responsive="sm"
+            ref="membersTable"
+            selectable
+            @row-selected="onMembersRowSelected"
+            sort-by="name"
+            :sort-compare="sortCompare"
+          >
+              
+            <template slot="cell(action)" slot-scope="data">
+              <b-button @click="toggleDetails(data)">
+                {{data.detailsShowing ? 'Hide' : 'Show'}} Details
+              </b-button>
+            </template>
+              
+            <template slot="row-details" slot-scope="data">
+              <group-members-details-container
+                :userProfile="data.item"
+                :name="data.item.name"
+                :id="data.item.id"
+                :role="data.item.role"
+                :isOwner="group.isOwner"
+                @change-role="changeRole"
+              />
+            </template>
+
+          </b-table>
+
+        </b-card>
+      </div>
+    </div>
   </div>
 </template>
 
 <script>
 import { models, services } from "django-airavata-api";
 import { components } from "django-airavata-common-ui";
+import { VueDraggableDirective, draggable } from 'vue-draggable'

Review comment:
       Is the vue-draggable stuff used anywhere?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@airavata.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to