Răsfoiți Sursa

HUE-5964 [core] Added jHueRowSelector KO binding

Enrico Berti 8 ani în urmă
părinte
comite
f3a8d7c

+ 2 - 3
apps/useradmin/src/useradmin/templates/list_users.mako

@@ -87,7 +87,7 @@ ${layout.menubar(section='users')}
           <!-- /ko -->
           <td>
             <!-- ko if: $parent.isSuperUser() || username() == '${user.username}' -->
-            <strong><a data-bind="text: username, attr: {'title': '${ _ko('Edit user') } ' + username(), 'href': editURL}" data-row-selector="true"></a></strong>
+            <strong><a data-bind="text: username, attr: {'title': '${ _ko('Edit user') } ' + username(), 'href': editURL}, jHueRowSelector"></a></strong>
             <!-- /ko -->
             <!-- ko if: !$parent.isSuperUser() && username() != '${user.username}' -->
             <strong data-bind="text: username"></strong>
@@ -192,7 +192,7 @@ ${layout.menubar(section='users')}
       });
 
       self.init = function () {
-        $.getJSON('/useradmin/users', function (data) {
+        $.getJSON('/useradmin/users?format=json', function (data) {
           if (data && data.users) {
             var users = [];
             data.users.forEach(function (u) {
@@ -236,7 +236,6 @@ ${layout.menubar(section='users')}
       $("#deleteUser").modal("show");
     });
 
-    $("a[data-row-selector='true']").jHueRowSelector();
   });
 </script>
 

+ 1 - 1
apps/useradmin/src/useradmin/views.py

@@ -61,7 +61,7 @@ __groups_lock = threading.Lock()
 def list_users(request):
   is_ldap_setup = bool(LDAP.LDAP_SERVERS.get()) or LDAP.LDAP_URL.get() is not None
   users = User.objects.all()
-  if request.ajax:
+  if request.GET.get('format') == 'json':
     return JsonResponse({'users' : massage_users_for_json(users, True)})
 
   return render("list_users.mako", request, {

+ 6 - 0
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -5405,4 +5405,10 @@
     }
   };
 
+  ko.bindingHandlers.jHueRowSelector = {
+    init: function (element, valueAccessor) {
+      $(element).jHueRowSelector();
+    }
+  }
+
 })();