Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.15 KB | None | 0 0
  1. const React = require('react');
  2. const Modal = require('@andes/modal');
  3. const Autocomplete = require('@andes/autocomplete');
  4. const TextField = require('@andes/textfield');
  5. const Dropdown = require('@andes/dropdown');
  6. const Tag = require('@andes/tag');
  7. const Button = require('@andes/button');
  8.  
  9. const { DropdownItem, DropdownGroup } = Dropdown;
  10.  
  11. const List = require('@andes/list');
  12. const { ListItem } = List;
  13.  
  14. const Card = require('@andes/card');
  15.  
  16. const AuthorizationsDescriptionModal = () => {
  17. const [show, setShow] = React.useState(false);
  18. const [authorizationId, setAuthorizationId] = React.useState(0);
  19. const [text, setText] = React.useState('');
  20.  
  21. const displayDescriptionModal = (id, aText) => {
  22. setText(aText);
  23. setAuthorizationId(id);
  24. setShow(true);
  25. };
  26.  
  27. const closeModal = () => {
  28. setShow(false);
  29. };
  30.  
  31. const DescriptionModal = () => (
  32. <Modal
  33. className={'authorizations-modal authorizations-modal-description'}
  34. title={'Description'}
  35. visible={show}
  36. onClose={() => closeModal()}
  37. >
  38. <span>{text}</span>
  39. </Modal>);
  40. return { displayDescriptionModal, DescriptionModal };
  41. };
  42.  
  43. const AuthorizationsConfirmationModal = () => {
  44. const [show, setShow] = React.useState(false);
  45. const [authorizationId, setAuthorizationId] = React.useState(0);
  46. const [actionText, setActionText] = React.useState('');
  47.  
  48. const displayConfirmationModal = (id, action) => {
  49. setActionText(action);
  50. setAuthorizationId(id);
  51. setShow(true);
  52. };
  53.  
  54. const closeModal = () => {
  55. setActionText('');
  56. setAuthorizationId(0);
  57. setShow(false);
  58. };
  59.  
  60. const ConfirmationModal = () => (
  61. <Modal
  62. className={'authorizations-modal authorizations-modal-confirmation'}
  63. title={`${actionText && (actionText.charAt(0).toUpperCase() + actionText.slice(1))} Authorization`}
  64. visible={show}
  65. onClose={() => closeModal()}
  66. actions={{
  67. buttonFilled: <Button modifier="filled">Approve</Button>,
  68. buttonTransparent: <Button modifier="transparent">Reject</Button>,
  69. }}
  70. >
  71. <span>{`Are you sure you want to ${actionText} this authorization?`}</span>
  72. </Modal>);
  73. return { displayConfirmationModal, ConfirmationModal };
  74. };
  75.  
  76. const CreateNewAuthorizationModal = () => {
  77. const [show, setShow] = React.useState(false);
  78. const [approvers, setApprovers] = React.useState([]);
  79.  
  80. const displayCreateNewAuthorizationModal = (approverCandidates) => {
  81. console.log(approverCandidates);
  82. setApprovers(approverCandidates);
  83. setShow(true);
  84. };
  85.  
  86. const closeModal = () => {
  87. setShow(false);
  88. };
  89.  
  90.  
  91. const TextFieldWithListSelector = (suggestionsList) => {
  92. const [selectedValues, setSelectedValues] = React.useState('');
  93. console.log(suggestionsList);
  94. const onSelect = (e, value) => {
  95.  
  96. if ( !selectedValues.includes(value.id) ) {
  97. setSelectedValues((values) => { values.push(value.id); });
  98. }
  99. console.log('Autosuggest value:', value);
  100. };
  101. const onChange = (e) => {
  102. console.log('Textfield value:', e.target.value);
  103. };
  104.  
  105. return (
  106. <React.Fragment>
  107. { selectedValues }
  108. <Autocomplete suggestions={suggestionsList} onSelect={onSelect} >
  109. <TextField label={'Approver Candidates'} onChange={onChange} />
  110. </Autocomplete>
  111. </React.Fragment>
  112. );
  113. };
  114.  
  115. const generateTextFieldWithListSelector = () => {
  116. if (!approvers) {
  117. return <React.Fragment />;
  118. }
  119. return TextFieldWithListSelector(approvers.map(approverCandidate => ({ name: `${approverCandidate.username} - (${approverCandidate.email}`, id: approverCandidate.username })));
  120. };
  121.  
  122.  
  123. const NewAuthorizationModal = () => (
  124. <Modal
  125. className={'authorizations-modal authorizations-modal-create'}
  126. title={'Create Authorization'}
  127. visible={show}
  128. onClose={() => closeModal()}
  129. >
  130. <TextField label="Message" message={'why ?'} />
  131. <div className="spacer" />
  132. <Dropdown label="Resource" value="deployment" type="form" /*onChange={this.onChangeHandler} */>
  133. <DropdownItem value="deployment" primary="Deployment" />
  134. <DropdownItem value="migration" primary="" disabled />
  135. </Dropdown>
  136. <div className="spacer" />
  137.  
  138.  
  139. {generateTextFieldWithListSelector()}
  140.  
  141. {/* <List className="scrolleable-list" size="compact" type="dropdown" selectable>
  142. {approvers.map(approver => (
  143. <ListItem key={approver} primary={approver} selected />
  144. ))}
  145. </List> */}
  146.  
  147. {/* message - TF
  148. Resource - Dropdown ... only one option deployment
  149. Please, choose approvers to notify - DropDown, select more than one
  150. Choose an authorization time range
  151. DateChooser (from)
  152. DateChooser (to)
  153.  
  154. Notes:
  155. - This will send a confirmation email to your chosen approver.
  156. - Authorizations are requested per application, not per service. */}
  157.  
  158. </Modal>);
  159. return { displayCreateNewAuthorizationModal, NewAuthorizationModal };
  160. };
  161.  
  162. module.exports = { AuthorizationsDescriptionModal, CreateNewAuthorizationModal, AuthorizationsConfirmationModal };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement