de8b34888c05286580bd64896d14c843512fd4fe
kate
  Mon Jul 29 16:47:07 2019 -0700
Refactoring duplicated submit button code, readying it for adding style for pressed button. refs #23922

diff --git src/lib/cheapcgi.c src/lib/cheapcgi.c
index a1186e1..b04d3b5 100644
--- src/lib/cheapcgi.c
+++ src/lib/cheapcgi.c
@@ -1482,74 +1482,74 @@
     "document.%s.%s.value = ''; document.%s.submit();", form, field, form);
 cgiMakeOnClickButton(id, javascript, " Clear  ");
 }
 
 void cgiMakeClearButtonNoSubmit(char *form, char *field)
 /* Make button to clear a text field, without resubmitting the form. */
 {
 char id[256];
 safef(id, sizeof id, "%s_clear", field);
 char javascript[1024];
 safef(javascript, sizeof javascript,
         "document.%s.%s.value = '';", form, field);
 cgiMakeOnClickButton(id, javascript, " Clear ");
 }
 
-void cgiMakeButtonWithMsg(char *name, char *value, char *msg)
-/* Make 'submit' type button. Display msg on mouseover, if present*/
+static void cgiMakeSubmitButtonWithOptionalMsgAndOnClick(char *name, char *value, char *msg, char *onClick)
+/* Make 'submit' type button, with optional messsage and onclick javascript */
 {
 printf("<input type='submit' name='%s' id='%s' value='%s'",
         name, name, value);
 if (msg)
     printf(" title='%s'", msg);
 printf(">");
+if (onClick)
+    jsOnEventById("click", name, onClick);
+}
+
+void cgiMakeButtonWithMsg(char *name, char *value, char *msg)
+/* Make 'submit' type button. Display msg on mouseover, if present*/
+{
+cgiMakeSubmitButtonWithOptionalMsgAndOnClick(name, value, msg, NULL);
+}
+
+void cgiMakeOnClickSubmitButton(char *command, char *name, char *value)
+/* Make submit button with both variable name and value with client side
+ * onClick (java)script. */
+{
+cgiMakeSubmitButtonWithOptionalMsgAndOnClick(name, value, NULL, command);
 }
 
 void cgiMakeButtonWithOnClick(char *name, char *value, char *msg, char *onClick)
 /* Make 'submit' type button, with onclick javascript */
 {
-printf("<input type='submit' name='%s' id='%s' value='%s'",
-        name, name, value);
-if (msg)
-    printf(" title='%s'", msg);
-printf(">");
-
-jsOnEventById("click", name, onClick);
+cgiMakeSubmitButtonWithOptionalMsgAndOnClick(name, value, msg, onClick);
 }
 
 void cgiMakeButton(char *name, char *value)
 /* Make 'submit' type button */
 {
 cgiMakeButtonWithMsg(name, value, NULL);
 }
 
 void cgiMakeOnClickButton(char *id, char *command, char *value)
 /* Make button with client side onClick javascript. */
 {
 printf("<INPUT TYPE='button' id='%s' VALUE=\"%s\">", id, value);
 jsOnEventById("click", id, command);
 }
 
-void cgiMakeOnClickSubmitButton(char *command, char *name, char *value)
-/* Make submit button with both variable name and value with client side
- * onClick (java)script. */
-{
-printf("<INPUT TYPE=SUBMIT NAME='%s' id='%s' VALUE=\"%s\">",
-       name, name, value);
-jsOnEventById("click", name, command);
-}
-
 void cgiMakeOptionalButton(char *name, char *value, boolean disabled)
 /* Make 'submit' type button that can be disabled. */
 {
 printf("<INPUT TYPE=SUBMIT NAME=\"%s\" VALUE=\"%s\"", name, value);
 if (disabled)
     printf(" DISABLED");
 printf(">");
 }
 
 void cgiMakeFileEntry(char *name)
 /* Make file entry box/browser */
 {
     printf("<INPUT TYPE=FILE NAME=\"%s\">", name);
 }