App.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. import React from 'react'
  2. import { List, MkForm, TableTemplate, InfoPage } from '@mokkon/reactjs'
  3. import '@mokkon/reactjs/dist/index.css'
  4. import { Grid, Typography } from '@material-ui/core'
  5. import EditIcon from '@material-ui/icons/Edit';
  6. import DeleteIcon from '@material-ui/icons/Delete';
  7. import SaveIcon from '@material-ui/icons/Save';
  8. import CancelIcon from '@material-ui/icons/Cancel';
  9. import ResponsiveDrawer from './components/ResponsiveDrawer';
  10. const App = () => {
  11. const pediatricians = [
  12. 'Michael Lopez',
  13. 'Sally Tran',
  14. 'Brian Lu',
  15. 'Troy Sakulbulwanthana',
  16. 'Lisa Wellington',
  17. ]
  18. const psychiatrists = [
  19. 'Miguel Rodriduez',
  20. 'Cassady Campbell',
  21. 'Mike Torrence',
  22. ]
  23. const fields = [
  24. { type: 'text_string', label: 'Name', field_name: 'name' },
  25. { type: 'text_multiline', label: 'Address', field_name: 'address' },
  26. { type: 'text_number', label: 'Latitude', field_name: 'latitude' },
  27. { type: 'text_number', label: 'Longitude', field_name: 'longitude' },
  28. { type: 'text_number', label: 'Max Variance', field_name: 'max_variance' },
  29. { type: 'text_number', label: 'Min Variance', field_name: 'min_variance' },
  30. {
  31. type: 'dropdown', label: 'Customer Name', field_name: 'customer_name', option_label_field: "name", options: [
  32. { name: 'Name1' }, { name: 'Name2' }, { name: 'Name3' }, { name: 'Name4' }
  33. ]
  34. },
  35. // { type: 'checkbox', label: 'Customer Name', field_name: 'customer_name', checkboxList: [{'label': },{}] },
  36. ];
  37. const data = {
  38. delete_time: 0,
  39. name: "Vendor 13",
  40. address: "address",
  41. update_time: 1610341578878,
  42. updated_by: "Nine Nine",
  43. updated_by_id: "kShMtHkcwTNjwm-lfzSBvAzdSo1J8dIpAz6_Ct85HPg",
  44. // status: 'joined'
  45. }
  46. const headCells = [
  47. { id: 'id', numeric: true, disablePadding: false, label: 'No.' },
  48. { id: 'name', numeric: true, disablePadding: false, label: 'Name' },
  49. ];
  50. const handleUpdate = (data) => {
  51. console.log('update data :', data);
  52. }
  53. const handleDelete = (e, data) => {
  54. console.log('delete data :', data);
  55. }
  56. const handleSave = (e, data) => {
  57. console.log('save data :', data);
  58. }
  59. const handleCancel = (e, data) => {
  60. console.log('cancel data :', data);
  61. }
  62. const handleOnActions = (data) => {
  63. console.log('handleOnActions :', data);
  64. }
  65. var actions = [
  66. { "label": "edit", "action_type": "edit", "icon": <EditIcon />, "callback": (e, d) => { handleSave(e, d) } },
  67. { "label": "delete", "action_type": "delete", "callback": (e, d) => { handleDelete(e, d) }, "icon": <DeleteIcon /> },
  68. { "label": "save", "action_type": "save", "callback": (e, d) => { handleSave(e, d) }, "icon": <SaveIcon /> },
  69. { "label": "cancel", "action_type": "cancel", "callback": (e, d) => { handleCancel(e, d) }, "icon": <CancelIcon /> },
  70. { "label": "delete invitation", "action_type": "delete_invitation", "callback": (e, d) => { handleCancel() }, "icon": "", status: "invited" },
  71. { "label": "approve member", "action_type": "approve_member", "callback": (e, d) => { handleCancel(e, d) }, "icon": "", status: "joined" },
  72. { "label": "disable member", "action_type": "disable_member", "callback": (e, d) => { handleCancel(e, d) }, "icon": "", status: "joined" },
  73. { "label": "enable member", "action_type": "enable_member", "callback": (e, d) => { handleCancel(e, d) }, "icon": "", status: "disabled" },
  74. { "label": "invite member", "action_type": "invite_member", "callback": (e, d) => { handleCancel(e, d) }, "icon": "", status: "requested" },
  75. ];
  76. var tableData = [data];
  77. return <div>
  78. <div className="root">
  79. {/* <div className="listContainer">
  80. <List groupName="Pediatricians" members={pediatricians} />
  81. </div>
  82. <div className="listContainer">
  83. <List groupName="Psychiatrists" members={psychiatrists} />
  84. </div> */}
  85. {/*field list */}
  86. <ResponsiveDrawer></ResponsiveDrawer>
  87. {/* <div className="listContainer">
  88. <Typography variant='h3'>Fields</Typography>
  89. <Grid container>
  90. <Grid item xs={12}>
  91. <MkForm
  92. fields={fields}
  93. updateData={data}
  94. buttonColor={'#f05f40'}
  95. currentTabName={'account'}
  96. isNew={true}
  97. actions={actions}
  98. ></MkForm>
  99. </Grid>
  100. </Grid>
  101. </div> */}
  102. {/*info page */}
  103. {/* <div className="listContainer">
  104. <Grid container>
  105. <Grid item xs={12} sm={6}>
  106. <InfoPage
  107. displayFields={fields}
  108. updateData={data}
  109. buttonColor={'#f05f40'}
  110. actions={actions}
  111. // onUpdate={() => console.log('on update')}
  112. // onCancel={() => console.log('on cancel')}
  113. // onApproved={() => console.log('on approved')}
  114. // onCreate={() => console.log('on create')}
  115. // onInvite={() => console.log('on invite')}
  116. ></InfoPage>
  117. </Grid>
  118. </Grid>
  119. </div> */}
  120. {/*table template */}
  121. {/* <div className="listContainer">
  122. <TableTemplate
  123. headers={headCells}
  124. data={tableData}
  125. page={0}
  126. rowsPerPage={10}
  127. order={'asc'}
  128. orderBy={'name'}
  129. onUpdateData={(value, data) => console.log('table update data')}
  130. onReloadData={() => console.log('table reload data')}
  131. onChangeRowsPerPage={(v) => console.log('table change row per page')}
  132. onChangePage={(page) => console.log('table change page')}
  133. ></TableTemplate>
  134. </div> */}
  135. </div> </div>
  136. }
  137. export default App