@@ -5,6 +5,7 @@ import Markdown from 'jsx/Markdown';
55import Help from 'jsx/Help' ;
66import swal from 'sweetalert2' ;
77import { TextboxElement , TextareaElement } from 'jsx/Form' ;
8+ import { SelectElement } from 'jsx/Form' ;
89
910/**
1011 * Help Editor Form Page.
@@ -21,6 +22,7 @@ import {TextboxElement, TextareaElement} from 'jsx/Form';
2122const HelpEditorForm = ( props ) => {
2223 const [ title , setTitle ] = useState ( props . title ?? '' ) ;
2324 const [ content , setContent ] = useState ( props . content ?? '' ) ;
25+ const [ instrument , setInstrument ] = useState ( props . instrument ?? '' ) ;
2426 const helpPreview = [ ] ;
2527 const helpContainers = document . getElementsByClassName ( 'help-container' ) ;
2628
@@ -46,6 +48,9 @@ const HelpEditorForm = (props) => {
4648 case 'content' :
4749 setContent ( value ) ;
4850 break ;
51+ case 'instrument' :
52+ setInstrument ( value ) ;
53+ break ;
4954 }
5055 } ;
5156
@@ -59,12 +64,24 @@ const HelpEditorForm = (props) => {
5964 formData . append ( 'section' , props . section ?? '' ) ;
6065 formData . append ( 'subsection' , props . subsection ?? '' ) ;
6166 formData . append ( 'helpID' , props . helpid ?? '' ) ;
62-
67+ if ( ! props . helpid ) {
68+ formData . append ( 'new' , 'true' ) ;
69+ formData . append ( 'instrument' , instrument ?? '' ) ;
70+ }
6371 fetch ( loris . BaseURL + '/help_editor/ajax/process.php' , {
6472 method : 'POST' ,
6573 body : formData ,
6674 } ) . then ( ( response ) => {
75+ console . log ( response ) ;
76+
6777 if ( response . status !== 200 ) {
78+ swal . fire ( {
79+ title : 'Content update unsuccessful.' ,
80+ text : 'Help content cannot be added to an instrument '
81+ + 'that has already been registered.' ,
82+ type : 'error' ,
83+ confirmButtonText : 'Try again' ,
84+ } ) ;
6885 console . error ( response . status ) ;
6986 return ;
7087 }
@@ -94,6 +111,16 @@ const HelpEditorForm = (props) => {
94111 < div className = "panel-body" >
95112 < div className = "row" >
96113 < div className = "col-sm-9" >
114+
115+ < SelectElement
116+ name = 'instrument'
117+ label = 'Instrument'
118+ emptyOption = { true }
119+ options = { props . instrumentslist }
120+ onUserInput = { onUserInput }
121+ value = { instrument }
122+ disabled = { props . helpid !== null }
123+ />
97124 < TextboxElement
98125 label = 'Title'
99126 name = 'title'
@@ -135,6 +162,8 @@ HelpEditorForm.propTypes = {
135162 subsection : PropTypes . string ,
136163 helpid : PropTypes . string ,
137164 url : PropTypes . string ,
165+ instrument : PropTypes . string ,
166+ instrumentslist : PropTypes . objectOf ( PropTypes . string ) ,
138167} ;
139168
140169window . RHelpEditorForm = React . createFactory ( HelpEditorForm ) ;
0 commit comments