Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. import React, { Component } from "react";
  2. import axios from "axios";
  3. import { DB_LINK } from "../../globals";
  4.  
  5. import AdvancedTable from "../../components/CommonCode/HelperComponents/AdvancedTable";
  6. import CheckboxComp from "../../components/CommonCode/HOC/CheckboxComp";
  7. import { map, mapKeys } from "lodash";
  8.  
  9. class Settings extends Component {
  10. state = {
  11. data: []
  12. };
  13.  
  14. columns = [
  15. {
  16. Header: "PageName",
  17. accessor: "pageName"
  18. },
  19. {
  20. Header: "Physician",
  21. accessor: "physician",
  22. Cell: props => (
  23. <CheckboxComp
  24. name="physician"
  25. checked={this.state.chosenObject}
  26. onChange={this.handleToggle(props.original.pageName)}
  27. />
  28. )
  29. },
  30.  
  31. {
  32. Header: "User",
  33. accessor: "assistant",
  34. Cell: props => (
  35. <CheckboxComp
  36. name="assistant"
  37. checked={this.state.chosenObject}
  38. onChange={this.handleToggle(props.original.pageName)}
  39. />
  40. )
  41. }
  42. ];
  43.  
  44. handleToggle = pagename => e => {
  45. const { name, value } = e.target;
  46.  
  47. let x = this.state.chosenObject;
  48. console.log(x[pagename]["pageName"]);
  49.  
  50. this.setState({});
  51.  
  52. x[pagename][name];
  53. };
  54.  
  55. componentDidMount() {
  56. const data = [
  57. {
  58. pageName: "Agenda",
  59. physician: "true",
  60. assistant: "false"
  61. },
  62. {
  63. pageName: "Patient List",
  64. physician: "true",
  65. assistant: "false"
  66. }
  67. ];
  68.  
  69. let chosen = {};
  70. chosen = map(data, function(value, key) {
  71. return {
  72. pageName: value.pageName,
  73. physician: value.physician,
  74. assistant: value.assistant
  75. };
  76. });
  77.  
  78. let chosenObject = mapKeys(chosen, "pageName");
  79.  
  80. this.setState({ chosenObject, data });
  81. // this.SaveSettings();
  82.  
  83. // this.LoadSettings();
  84. }
  85.  
  86. LoadSettings = () => {
  87. axios({
  88. method: "post",
  89. url: `${DB_LINK}SettingsInit`,
  90. data: {}
  91. })
  92. .then(response => {
  93. const data = JSON.parse(response.data.SettingsInitResult);
  94. this.setState({ data });
  95. })
  96. .catch(error => {
  97. console.log("Error executing request", error);
  98. });
  99. };
  100.  
  101. render() {
  102. console.log("wennn sert", this.state.chosenObject);
  103. return (
  104. <div>
  105. <button className="btn btn-primary" onClick={this.saveList}>
  106. Save
  107. </button>
  108.  
  109. <AdvancedTable
  110. columns={this.columns}
  111. dataArray={this.state.data}
  112. hideDate={true}
  113. />
  114. </div>
  115. );
  116. }
  117. }
  118.  
  119. export default Settings;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement