= CAN_VOTE ? successToggle : css.unavailable}
+ title={permissions >= CAN_VOTE
+ ? 'Gi brukeren stemmerett'
+ : 'Brukeren har ikke rett til å få stemmerett.'}
+ />
+
+
+
+ );
+ }
+}
+
+ToggleCanVote.propTypes = {
+ canVote: PropTypes.bool.isRequired,
+ id: PropTypes.string.isRequired,
+ permissions: PropTypes.number.isRequired,
+ setPermissions: PropTypes.func.isRequired,
+ toggleCanVote: PropTypes.func.isRequired,
+};
+
+const mapDispatchToProps = ({
+ setPermissions: adminSetPermissions,
+});
+
+export default ToggleCanVote;
+export const ToggleCanVoteContainer = connect(
+ null,
+ mapDispatchToProps,
+)(ToggleCanVote);
diff --git a/client/src/components/Admin/Users/User/index.js b/client/src/components/Admin/Users/User/index.js
deleted file mode 100644
index a0660a5a..00000000
--- a/client/src/components/Admin/Users/User/index.js
+++ /dev/null
@@ -1,122 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { connect } from 'react-redux';
-import classNames from 'classnames';
-import moment from 'moment';
-import { CAN_VOTE, getPermissionDisplay } from 'common/auth/permissions';
-import { adminSetPermissions } from 'features/user/actionCreators';
-import Button from '../../../Button';
-import Dialog from '../../../Dialog';
-import css from './User.css';
-
-class User extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- showToggleCanVoteWarning: false,
- };
- }
-
- canVoteHandler(id, toggleTo) {
- this.setState({ showToggleCanVoteWarning: false });
- this.props.setPermissions(id, toggleTo, CAN_VOTE);
- }
-
- render() {
- const { id, name, registered, canVote, completedRegistration, permissions, toggleCanVote,
- } = this.props;
- const userClass = classNames({
- [css.canNotVote]: !canVote,
- });
- const registeredDate = moment(registered);
- const successToggle = classNames(
- css.success,
- { [css.toggle]: canVote },
- );
- const closeToggle = classNames(
- css.close,
- { [css.toggle]: !canVote },
- );
- const permissionLevel = getPermissionDisplay(permissions);
- return (
-
- {name} |
-
- {completedRegistration}
- |
-
- {permissionLevel}
- |
-
-
- |
-
- );
- }
-}
-
-User.propTypes = {
- name: PropTypes.string.isRequired,
- canVote: PropTypes.bool.isRequired,
- completedRegistration: PropTypes.bool.isRequired,
- id: PropTypes.string.isRequired,
- permissions: PropTypes.number.isRequired,
- registered: PropTypes.string.isRequired,
- setPermissions: PropTypes.func.isRequired,
- toggleCanVote: PropTypes.func.isRequired,
-};
-
-const mapDispatchToProps = ({
- setPermissions: adminSetPermissions,
-});
-
-export default User;
-export const UserContainer = connect(
- null,
- mapDispatchToProps,
-)(User);
diff --git a/client/src/components/Dialog/Dialog.css b/client/src/components/Dialog/Dialog.css
index 2eec7c58..258fdd29 100644
--- a/client/src/components/Dialog/Dialog.css
+++ b/client/src/components/Dialog/Dialog.css
@@ -9,6 +9,7 @@
.visible {
display: block;
+ z-index: 1;
}
.backdrop {
diff --git a/package.json b/package.json
index 25dfc6c2..a47fc429 100644
--- a/package.json
+++ b/package.json
@@ -76,6 +76,7 @@
"react-hot-loader": "^3.0.0",
"react-redux": "^5.0.2",
"react-router-dom": "^4.1.1",
+ "react-table": "^6.9.2",
"redux": "^3.6.0",
"redux-logger": "^3.0.1",
"redux-persist": "^5.1.0",
diff --git a/webpack.config.dev.js b/webpack.config.dev.js
index 6e965aa9..d90f5232 100644
--- a/webpack.config.dev.js
+++ b/webpack.config.dev.js
@@ -11,8 +11,24 @@ module.exports = merge.smart(config, {
devtool: 'eval-source-map',
module: {
rules: [
+ {
+ test: /\.css$/,
+ include: [/node_modules/],
+ use: [
+ {
+ loader: "style-loader",
+ },
+ {
+ loader: "css-loader",
+ options: {
+ modules: false,
+ },
+ },
+ ],
+ },
{
test: /\.css$/,
+ exclude: [/node_modules/],
use: [
{
loader: 'style-loader',
@@ -23,6 +39,7 @@ module.exports = merge.smart(config, {
sourceMap: true,
modules: true,
localIdentName: '[name]__[local]___[hash:base64:5]',
+ importLoaders:1,
},
},
{
diff --git a/yarn.lock b/yarn.lock
index 86a02a99..070bc304 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -6247,6 +6247,13 @@ react-side-effect@^1.0.2:
exenv "^1.2.1"
shallowequal "^1.0.1"
+react-table@^6.9.2:
+ version "6.9.2"
+ resolved "https://registry.yarnpkg.com/react-table/-/react-table-6.9.2.tgz#6a59adfeb8d5deced288241ed1c7847035b5ec5f"
+ integrity sha512-sTbNHU8Um0xRtmCd1js873HXnXaMWeBwZoiljuj0l1d44eaqjKyYPK/3HCBbJg1yeE2O5pQJ3Km0tlm9niNL9w==
+ dependencies:
+ classnames "^2.2.5"
+
react@^16.0.0:
version "16.2.0"
resolved "https://registry.yarnpkg.com/react/-/react-16.2.0.tgz#a31bd2dab89bff65d42134fa187f24d054c273ba"