Просмотр исходного кода

Merge pull request #1762 from weseek/imprv/onClickSort

Imprv/on click sort
itizawa 6 лет назад
Родитель
Сommit
ec8eb73695

+ 12 - 12
src/client/js/components/Admin/Users/UserTable.jsx

@@ -93,7 +93,7 @@ class UserTable extends React.Component {
                           adminUsersContainer.state.sort === 'status')
                           && (adminUsersContainer.state.sortOrder === 'asc') ? 'fa-chevron-up' : 'fa-angle-up'}`}
                         aria-hidden="true"
-                        onClick={() => adminUsersContainer.onClickSortAsc('status')}
+                        onClick={() => adminUsersContainer.onClickSort('status', true)}
                       >
                       </a>
                       <a
@@ -101,7 +101,7 @@ class UserTable extends React.Component {
                           adminUsersContainer.state.sort === 'status')
                           && (adminUsersContainer.state.sortOrder === 'desc') ? 'fa-chevron-down' : 'fa-angle-down'}`}
                         aria-hidden="true"
-                        onClick={() => adminUsersContainer.onClickSortDesc('status')}
+                        onClick={() => adminUsersContainer.onClickSort('status', false)}
                       >
                       </a>
                     </Fragment>
@@ -118,7 +118,7 @@ class UserTable extends React.Component {
                           adminUsersContainer.state.sort === 'username')
                           && (adminUsersContainer.state.sortOrder === 'asc') ? 'fa-chevron-up' : 'fa-angle-up'}`}
                         aria-hidden="true"
-                        onClick={() => adminUsersContainer.onClickSortAsc('username')}
+                        onClick={() => adminUsersContainer.onClickSort('username', true)}
                       >
                       </a>
                       <a
@@ -126,7 +126,7 @@ class UserTable extends React.Component {
                           adminUsersContainer.state.sort === 'username')
                           && (adminUsersContainer.state.sortOrder === 'desc') ? 'fa-chevron-down' : 'fa-angle-down'}`}
                         aria-hidden="true"
-                        onClick={() => adminUsersContainer.onClickSortDesc('username')}
+                        onClick={() => adminUsersContainer.onClickSort('username', false)}
                       >
                       </a>
                     </Fragment>
@@ -143,7 +143,7 @@ class UserTable extends React.Component {
                           adminUsersContainer.state.sort === 'name')
                           && (adminUsersContainer.state.sortOrder === 'asc') ? 'fa-chevron-up' : 'fa-angle-up'}`}
                         aria-hidden="true"
-                        onClick={() => adminUsersContainer.onClickSortAsc('name')}
+                        onClick={() => adminUsersContainer.onClickSort('name', true)}
                       >
                       </a>
                       <a
@@ -151,7 +151,7 @@ class UserTable extends React.Component {
                           adminUsersContainer.state.sort === 'name')
                           && (adminUsersContainer.state.sortOrder === 'desc') ? 'fa-chevron-down' : 'fa-angle-down'}`}
                         aria-hidden="true"
-                        onClick={() => adminUsersContainer.onClickSortDesc('name')}
+                        onClick={() => adminUsersContainer.onClickSort('name', false)}
                       >
                       </a>
                     </Fragment>
@@ -168,7 +168,7 @@ class UserTable extends React.Component {
                           adminUsersContainer.state.sort === 'email')
                           && (adminUsersContainer.state.sortOrder === 'asc') ? 'fa-chevron-up' : 'fa-angle-up'}`}
                         aria-hidden="true"
-                        onClick={() => adminUsersContainer.onClickSortAsc('email')}
+                        onClick={() => adminUsersContainer.onClickSort('email', true)}
                       >
                       </a>
                       <a
@@ -176,7 +176,7 @@ class UserTable extends React.Component {
                           adminUsersContainer.state.sort === 'email')
                           && (adminUsersContainer.state.sortOrder === 'desc') ? 'fa-chevron-down' : 'fa-angle-down'}`}
                         aria-hidden="true"
-                        onClick={() => adminUsersContainer.onClickSortDesc('email')}
+                        onClick={() => adminUsersContainer.onClickSort('email', false)}
                       >
                       </a>
                     </Fragment>
@@ -193,7 +193,7 @@ class UserTable extends React.Component {
                           adminUsersContainer.state.sort === 'createdAt')
                           && (adminUsersContainer.state.sortOrder === 'asc') ? 'fa-chevron-up' : 'fa-angle-up'}`}
                         aria-hidden="true"
-                        onClick={() => adminUsersContainer.onClickSortAsc('createdAt')}
+                        onClick={() => adminUsersContainer.onClickSort('createdAt', true)}
                       >
                       </a>
                       <a
@@ -201,7 +201,7 @@ class UserTable extends React.Component {
                           adminUsersContainer.state.sort === 'createdAt')
                           && (adminUsersContainer.state.sortOrder === 'desc') ? 'fa-chevron-down' : 'fa-angle-down'}`}
                         aria-hidden="true"
-                        onClick={() => adminUsersContainer.onClickSortDesc('createdAt')}
+                        onClick={() => adminUsersContainer.onClickSort('createdAt', false)}
                       >
                       </a>
                     </Fragment>
@@ -218,7 +218,7 @@ class UserTable extends React.Component {
                           adminUsersContainer.state.sort === 'lastLoginAt')
                           && (adminUsersContainer.state.sortOrder === 'asc') ? 'fa-chevron-up' : 'fa-angle-up'}`}
                         aria-hidden="true"
-                        onClick={() => adminUsersContainer.onClickSortAsc('lastLoginAt')}
+                        onClick={() => adminUsersContainer.onClickSort('lastLoginAt', true)}
                       >
                       </a>
                       <a
@@ -226,7 +226,7 @@ class UserTable extends React.Component {
                           adminUsersContainer.state.sort === 'lastLoginAt')
                           && (adminUsersContainer.state.sortOrder === 'desc') ? 'fa-chevron-down' : 'fa-angle-down'}`}
                         aria-hidden="true"
-                        onClick={() => adminUsersContainer.onClickSortDesc('lastLoginAt')}
+                        onClick={() => adminUsersContainer.onClickSort('lastLoginAt', false)}
                       >
                       </a>
                     </Fragment>

+ 7 - 7
src/client/js/services/AdminUsersContainer.js

@@ -105,13 +105,13 @@ export default class AdminUsersContainer extends Container {
   /**
    * Workaround for Sorting
    */
-  async onClickSortAsc(sortColumns) {
-    await this.setState({ sort: sortColumns, sortOrder: 'asc' });
-    this.retrieveUsersByPagingNum(1);
-  }
-
-  async onClickSortDesc(sortColumns) {
-    await this.setState({ sort: sortColumns, sortOrder: 'desc' });
+  async onClickSort(sortColumns, isAsc) {
+    if (isAsc) {
+      await this.setState({ sort: sortColumns, sortOrder: 'asc' });
+    }
+    else {
+      await this.setState({ sort: sortColumns, sortOrder: 'desc' });
+    }
     this.retrieveUsersByPagingNum(1);
   }