MCPcopy Create free account
hub / github.com/parse-community/parse-dashboard / SaveButton

Function SaveButton

src/components/SaveButton/SaveButton.react.js:14–57  ·  view source on GitHub ↗
({
  state = SaveButton.States.WAITING,
  onClick,
  waitingText = 'Save changes',
  savingText = 'Saving\u2026',
  failedText = 'Save failed',
  succeededText = 'Saved!',
  disabled = false,
  ...buttonProps
})

Source from the content-addressed store, hash-verified

12import styles from 'components/SaveButton/SaveButton.scss';
13
14const SaveButton = ({
15 state = SaveButton.States.WAITING,
16 onClick,
17 waitingText = 'Save changes',
18 savingText = 'Saving\u2026',
19 failedText = 'Save failed',
20 succeededText = 'Saved!',
21 disabled = false,
22 ...buttonProps
23}) => {
24 let value = '';
25 let color = 'blue';
26 switch (state) {
27 case SaveButton.States.WAITING:
28 value = waitingText;
29 break;
30 case SaveButton.States.SAVING:
31 value = savingText;
32 break;
33 case SaveButton.States.SUCCEEDED:
34 value = succeededText;
35 color = 'green';
36 break;
37 case SaveButton.States.FAILED:
38 value = failedText;
39 color = 'red';
40 break;
41 }
42 const className = state === SaveButton.States.FAILED ? styles.shake : null;
43 return (
44 <span className={className}>
45 <Button
46 primary={true}
47 width={'128px'}
48 progress={state === SaveButton.States.SAVING}
49 color={color}
50 onClick={state === SaveButton.States.WAITING ? onClick : null}
51 value={value}
52 disabled={state === SaveButton.States.WAITING ? disabled : false}
53 {...buttonProps}
54 />
55 </span>
56 );
57};
58
59SaveButton.States = keyMirror(['SAVING', 'SUCCEEDED', 'FAILED']);
60

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected