Version 22.86.3: Mar 30, 2023 Code refactoring in forms.

This commit is contained in:
acanas 2023-03-30 18:30:44 +02:00
parent 17e1059bbc
commit 3b46a59c2e
29 changed files with 280 additions and 218 deletions

View File

@ -1407,7 +1407,7 @@ void HTM_INPUT_FLOAT (const char *Name,double Min,double Max,
HTM_Txt (" />");
}
void HTM_INPUT_RADIO (const char *Name,bool SubmitOnClick,
void HTM_INPUT_RADIO (const char *Name,HTM_SubmitOnClick_t SubmitOnClick,
const char *fmt,...)
{
va_list ap;
@ -1433,7 +1433,7 @@ void HTM_INPUT_RADIO (const char *Name,bool SubmitOnClick,
}
}
if (SubmitOnClick)
if (SubmitOnClick == HTM_SUBMIT_ON_CLICK)
HTM_Txt (" onchange=\"this.form.submit();return false;\"");
HTM_Txt (" />");
}

View File

@ -46,6 +46,12 @@ typedef enum
HTM_SUBMIT_ON_CHANGE,
} HTM_SubmitOnChange_t;
typedef enum
{
HTM_DONT_SUBMIT_ON_CLICK,
HTM_SUBMIT_ON_CLICK,
} HTM_SubmitOnClick_t;
#define HTM_NUM_HEAD_ALIGN 3
typedef enum
{
@ -161,7 +167,7 @@ void HTM_INPUT_LONG (const char *Name,long Min,long Max,long Value,
const char *fmt,...);
void HTM_INPUT_FLOAT (const char *Name,double Min,double Max,double Step,double Value,bool Disabled,
const char *fmt,...);
void HTM_INPUT_RADIO (const char *Name,bool SubmitOnClick,
void HTM_INPUT_RADIO (const char *Name,HTM_SubmitOnClick_t SubmitOnClick,
const char *fmt,...);
void HTM_INPUT_CHECKBOX (const char *Name,HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...);

View File

@ -2853,7 +2853,7 @@ static void Brw_FormToChangeCrsGrpZone (void)
HTM_LI_Begin ("class=\"%s\"",IsCourseZone ? "BROWSER_TITLE" :
"BROWSER_TITLE_LIGHT");
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO (Par_CodeStr[ParCod_Grp],true,
HTM_INPUT_RADIO (Par_CodeStr[ParCod_Grp],HTM_SUBMIT_ON_CLICK,
"value=\"-1\"%s",
IsCourseZone ? " checked=\"checked\"" : "");
HTM_Txt (Gbl.Hierarchy.Crs.FullName);
@ -2882,7 +2882,7 @@ static void Brw_FormToChangeCrsGrpZone (void)
NULL,
"class=\"ICO25x25\" style=\"margin-left:6px;\"");
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO (Par_CodeStr[ParCod_Grp],true,
HTM_INPUT_RADIO (Par_CodeStr[ParCod_Grp],HTM_SUBMIT_ON_CLICK,
"value=\"%ld\"%s",
GrpDat.GrpCod,
(IsGroupZone &&

View File

@ -1104,7 +1104,8 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
CurrentYear,
CurrentYear + 1,"Exam",
&(CallsForExams->CallForExam.ExamDate),
false,false);
HTM_DONT_SUBMIT_ON_CHANGE,
false);
HTM_TD_End ();
}
else

View File

@ -629,10 +629,11 @@ TODO: Emilce Barrera Mesa: Podr
TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen.
*/
#define Log_PLATFORM_VERSION "SWAD 22.86.2 (2023-03-30)"
#define Log_PLATFORM_VERSION "SWAD 22.86.3 (2023-03-30)"
#define CSS_FILE "swad22.86.css"
#define JS_FILE "swad22.49.js"
/*
Version 22.86.3: Mar 30, 2023 Code refactoring in forms. (338710 lines)
Version 22.86.2: Mar 30, 2023 New links to manual about resource clipboard.
Fixed bugs in links to resources. (338655 lines)
Version 22.86.1: Mar 29, 2023 Icon to remove resource clipboard only if there are resources. (338596 lines)

View File

@ -312,7 +312,7 @@ void Dat_PutBoxToSelectDateFormat (void)
HTM_LI_Begin ("class=\"DAT_%s\"",
The_GetSuffix ());
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("DateFormat",true,
HTM_INPUT_RADIO ("DateFormat",HTM_SUBMIT_ON_CLICK,
" value=\"%u\"%s",
(unsigned) Format,
Format == Gbl.Prefs.DateFormat ? " checked=\"checked\"" :
@ -633,7 +633,7 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS
CurrentYear,
Dat_FORM_SECONDS_ON,
SetHMS[Dat_STR_TIME],
false); // Don't submit on change
HTM_DONT_SUBMIT_ON_CHANGE);
/* "Yesterday" and "Today" buttons */
HTM_NBSP ();
@ -660,7 +660,7 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS
CurrentYear,
Dat_FORM_SECONDS_ON,
SetHMS[Dat_END_TIME],
false); // Don't submit on change
HTM_DONT_SUBMIT_ON_CHANGE);
HTM_TD_End ();
HTM_TR_End ();
@ -701,7 +701,7 @@ void Dat_PutFormStartEndClientLocalDateTimes (const time_t TimeUTC[Dat_NUM_START
Dat_GetCurrentYear () + 1,
FormSeconds,
SetHMS[StartEndTime], // Set hour, minute and second?
false); // Don't submit on change
HTM_DONT_SUBMIT_ON_CHANGE);
HTM_TD_End ();
HTM_TR_End ();
@ -719,7 +719,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
unsigned LastYear,
Dat_FormSeconds FormSeconds,
Dat_SetHMS SetHMS,
bool SubmitFormOnChange)
HTM_SubmitOnChange_t SubmitOnChange)
{
extern const char *Txt_MONTHS_SMALL[12];
unsigned Day;
@ -747,27 +747,33 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
/***** Year *****/
HTM_TD_Begin ("class=\"RM\"");
if (SubmitFormOnChange)
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sYear\" name=\"%sYear\""
" class=\"INPUT_%s\""
" onchange=\""
"adjustDateForm('%s');"
"setUTCFromLocalDateTimeForm('%s');"
"this.form.submit();return false;\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id,Id);
else
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sYear\" name=\"%sYear\""
" class=\"INPUT_%s\""
" onchange=\""
"adjustDateForm('%s');"
"setUTCFromLocalDateTimeForm('%s');\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id,Id);
switch (SubmitOnChange)
{
case HTM_DONT_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sYear\" name=\"%sYear\""
" class=\"INPUT_%s\""
" onchange=\""
"adjustDateForm('%s');"
"setUTCFromLocalDateTimeForm('%s');\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id,Id);
break;
case HTM_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sYear\" name=\"%sYear\""
" class=\"INPUT_%s\""
" onchange=\""
"adjustDateForm('%s');"
"setUTCFromLocalDateTimeForm('%s');"
"this.form.submit();return false;\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id,Id);
break;
}
for (Year = FirstYear;
Year <= LastYear;
Year++)
@ -778,27 +784,33 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
/***** Month *****/
HTM_TD_Begin ("class=\"CM\"");
if (SubmitFormOnChange)
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMonth\" name=\"%sMonth\""
" class=\"INPUT_%s\""
" onchange=\""
"adjustDateForm('%s');"
"setUTCFromLocalDateTimeForm('%s');"
"this.form.submit();return false;\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id,Id);
else
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMonth\" name=\"%sMonth\""
" class=\"INPUT_%s\""
" onchange=\""
"adjustDateForm('%s');"
"setUTCFromLocalDateTimeForm('%s');\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id,Id);
switch (SubmitOnChange)
{
case HTM_DONT_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMonth\" name=\"%sMonth\""
" class=\"INPUT_%s\""
" onchange=\""
"adjustDateForm('%s');"
"setUTCFromLocalDateTimeForm('%s');\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id,Id);
break;
case HTM_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMonth\" name=\"%sMonth\""
" class=\"INPUT_%s\""
" onchange=\""
"adjustDateForm('%s');"
"setUTCFromLocalDateTimeForm('%s');"
"this.form.submit();return false;\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id,Id);
break;
}
for (Month = 1;
Month <= 12;
Month++)
@ -809,23 +821,29 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
/***** Day *****/
HTM_TD_Begin ("class=\"LM\"");
if (SubmitFormOnChange)
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sDay\" name=\"%sDay\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');"
"this.form.submit();return false;\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
else
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sDay\" name=\"%sDay\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
switch (SubmitOnChange)
{
case HTM_DONT_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sDay\" name=\"%sDay\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
break;
case HTM_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sDay\" name=\"%sDay\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');"
"this.form.submit();return false;\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
break;
}
for (Day = 1;
Day <= 31;
Day++)
@ -836,23 +854,29 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
/***** Hour *****/
HTM_TD_Begin ("class=\"RM\"");
if (SubmitFormOnChange)
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sHour\" name=\"%sHour\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');"
"this.form.submit();return false;\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
else
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sHour\" name=\"%sHour\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
switch (SubmitOnChange)
{
case HTM_DONT_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sHour\" name=\"%sHour\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
break;
case HTM_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sHour\" name=\"%sHour\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');"
"this.form.submit();return false;\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
break;
}
for (Hour = 0;
Hour <= 23;
Hour++)
@ -863,23 +887,29 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
/***** Minute *****/
HTM_TD_Begin ("class=\"CM\"");
if (SubmitFormOnChange)
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMinute\" name=\"%sMinute\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');"
"this.form.submit();return false;\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
else
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMinute\" name=\"%sMinute\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
switch (SubmitOnChange)
{
case HTM_DONT_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMinute\" name=\"%sMinute\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
break;
case HTM_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMinute\" name=\"%sMinute\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');"
"this.form.submit();return false;\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
break;
}
for (Minute = 0;
Minute < 60;
Minute += MinutesIInterval[FormSeconds])
@ -892,23 +922,29 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
if (FormSeconds == Dat_FORM_SECONDS_ON)
{
HTM_TD_Begin ("class=\"LM\"");
if (SubmitFormOnChange)
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sSecond\" name=\"%sSecond\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');"
"this.form.submit();return false;\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
else
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sSecond\" name=\"%sSecond\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
switch (SubmitOnChange)
{
case HTM_DONT_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sSecond\" name=\"%sSecond\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
break;
case HTM_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sSecond\" name=\"%sSecond\""
" class=\"INPUT_%s\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');"
"this.form.submit();return false;\"",
Id,Dat_ParName[StartEndTime],
The_GetSuffix (),
Id);
break;
}
for (Second = 0;
Second <= 59;
Second++)
@ -1048,7 +1084,7 @@ See also http://www.ashleyit.com/rs/jsrs/select/php/select.php
void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
const char *Id,
struct Dat_Date *DateSelected,
bool SubmitFormOnChange,bool Disabled)
HTM_SubmitOnChange_t SubmitOnChange,bool Disabled)
{
extern const char *Txt_MONTHS_SMALL[12];
unsigned Year;
@ -1062,27 +1098,32 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
/***** Year *****/
HTM_TD_Begin ("class=\"CM\"");
if (SubmitFormOnChange)
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sYear\" name=\"%sYear\""
" class=\"INPUT_%s\""
"%s"
" onchange=\"adjustDateForm('%s');"
"this.form.submit();return false;\"",
Id,Id,
The_GetSuffix (),
Disabled ? " disabled=\"disabled\"" : "",
Id);
else
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sYear\" name=\"%sYear\""
" class=\"INPUT_%s\""
"%s"
" onchange=\"adjustDateForm('%s');\"",
Id,Id,
The_GetSuffix (),
Disabled ? " disabled=\"disabled\"" : "",
Id);
switch (SubmitOnChange)
{
case HTM_DONT_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sYear\" name=\"%sYear\""
" class=\"INPUT_%s\""
"%s"
" onchange=\"adjustDateForm('%s');\"",
Id,Id,
The_GetSuffix (),
Disabled ? " disabled=\"disabled\"" : "",
Id);
break;
case HTM_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sYear\" name=\"%sYear\""
" class=\"INPUT_%s\""
"%s"
" onchange=\"adjustDateForm('%s');"
"this.form.submit();return false;\"",
Id,Id,
The_GetSuffix (),
Disabled ? " disabled=\"disabled\"" : "",
Id);
break;
}
HTM_OPTION (HTM_Type_STRING,"0",false,false,
"-");
for (Year = FirstYear;
@ -1096,27 +1137,32 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
/***** Month *****/
HTM_TD_Begin ("class=\"CM\"");
if (SubmitFormOnChange)
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMonth\" name=\"%sMonth\""
" class=\"INPUT_%s\""
"%s"
" onchange=\"adjustDateForm('%s');"
"this.form.submit();return false;\"",
Id,Id,
The_GetSuffix (),
Disabled ? " disabled=\"disabled\"" : "",
Id);
else
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMonth\" name=\"%sMonth\""
" class=\"INPUT_%s\""
"%s"
" onchange=\"adjustDateForm('%s');\"",
Id,Id,
The_GetSuffix (),
Disabled ? " disabled=\"disabled\"" : "",
Id);
switch (SubmitOnChange)
{
case HTM_DONT_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMonth\" name=\"%sMonth\""
" class=\"INPUT_%s\""
"%s"
" onchange=\"adjustDateForm('%s');\"",
Id,Id,
The_GetSuffix (),
Disabled ? " disabled=\"disabled\"" : "",
Id);
break;
case HTM_SUBMIT_ON_CHANGE:
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMonth\" name=\"%sMonth\""
" class=\"INPUT_%s\""
"%s"
" onchange=\"adjustDateForm('%s');"
"this.form.submit();return false;\"",
Id,Id,
The_GetSuffix (),
Disabled ? " disabled=\"disabled\"" : "",
Id);
break;
}
HTM_OPTION (HTM_Type_STRING,"0",false,false,
"-");
for (Month = 1;
@ -1130,7 +1176,7 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
/***** Day *****/
HTM_TD_Begin ("class=\"CM\"");
HTM_SELECT_Begin (SubmitFormOnChange,
HTM_SELECT_Begin (SubmitOnChange,
"id=\"%sDay\" name=\"%sDay\""
" class=\"INPUT_%s\""
"%s",

View File

@ -32,6 +32,7 @@
#include <time.h>
#include "swad_constant.h"
#include "swad_HTML.h"
/*****************************************************************************/
/***************************** Public constants ******************************/
@ -176,7 +177,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
unsigned LastYear,
Dat_FormSeconds FormSeconds,
Dat_SetHMS SetHMS,
bool SubmitFormOnChange);
HTM_SubmitOnChange_t SubmitOnChange);
time_t Dat_GetTimeUTCFromForm (Dat_StartEndTime_t StartEndTime);
void Dat_PutParBrowserTZDiff (void);
@ -185,7 +186,7 @@ void Dat_GetBrowserTimeZone (char BrowserTimeZone[Dat_MAX_BYTES_TIME_ZONE + 1]);
void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
const char *Id,
struct Dat_Date *DateSelected,
bool SubmitFormOnChange,bool Disabled);
HTM_SubmitOnChange_t SubmitOnChange,bool Disabled);
void Dat_GetDateFromForm (const char *ParNameDay,const char *ParNameMonth,const char *ParNameYear,
unsigned *Day,unsigned *Month,unsigned *Year);

View File

@ -983,7 +983,7 @@ void Dpt_WriteSelectorDepartment (long InsCod,long DptCod,
const char *SelectClass,
long FirstOption,
const char *TextWhenNoDptSelected,
bool SubmitFormOnChange)
HTM_SubmitOnChange_t SubmitOnChange)
{
extern const char *Txt_Another_department;
struct Dpt_Departments Departments;
@ -998,7 +998,7 @@ void Dpt_WriteSelectorDepartment (long InsCod,long DptCod,
/***** Selector to select department *****/
/* Begin selector */
HTM_SELECT_Begin (SubmitFormOnChange,
HTM_SELECT_Begin (SubmitOnChange,
"id=\"%s\" name=\"%s\" class=\"%s\"",
ParName,ParName,SelectClass);

View File

@ -83,6 +83,6 @@ void Dpt_WriteSelectorDepartment (long InsCod,long DptCod,
const char *SelectClass,
long FirstOption,
const char *TextWhenNoDptSelected,
bool SubmitFormOnChange);
HTM_SubmitOnChange_t SubmitOnChange);
#endif

View File

@ -811,7 +811,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void)
{
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",false,
HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK,
" value=\"%u\" checked=\"checked\"",
(unsigned) Enr_REGISTER_SPECIFIED_USRS_IN_CRS);
HTM_Txt (Txt_Register_the_users_indicated_in_step_1);
@ -820,7 +820,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void)
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",false,
HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK,
" value=\"%u\"",
(unsigned) Enr_REMOVE_SPECIFIED_USRS_FROM_CRS);
HTM_Txt (Txt_Remove_the_users_indicated_in_step_1);
@ -829,7 +829,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void)
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",false,
HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK,
" value=\"%u\"",
(unsigned) Enr_REMOVE_NOT_SPECIFIED_USRS_FROM_CRS);
HTM_Txt (Txt_Remove_the_users_not_indicated_in_step_1);
@ -838,7 +838,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void)
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",false,
HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK,
" value=\"%u\"",
(unsigned) Enr_UPDATE_USRS_IN_CRS);
HTM_Txt (Txt_Register_the_users_indicated_in_step_1_and_remove_the_users_not_indicated);
@ -851,7 +851,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void)
{
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",false,
HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK,
" value=\"%u\"",
(unsigned) Enr_ELIMINATE_USRS_FROM_PLATFORM);
HTM_Txt (Txt_Eliminate_from_the_platform_the_users_indicated_in_step_1);
@ -1598,7 +1598,7 @@ static void Enr_RegRemOneUsrActionBegin (Enr_RegRemOneUsrAction_t RegRemOneUsrAc
{
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",false,
HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s",
(unsigned) RegRemOneUsrAction,
*OptionChecked ? "" : " checked=\"checked\"");

View File

@ -1401,7 +1401,7 @@ static void For_PutFormWhichForums (const struct For_Forums *Forums)
{
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("ForumSet",true,
HTM_INPUT_RADIO ("ForumSet",HTM_SUBMIT_ON_CLICK,
"value=\"%u\"%s",
(unsigned) ForumSet,
(ForumSet == Forums->ForumSet) ? " checked=\"checked\"" :

View File

@ -1318,7 +1318,7 @@ static void Grp_ListGroupTypesForEdition (void)
CurrentYear + 1,
Dat_FORM_SECONDS_ON,
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
true); // Submit on change
HTM_SUBMIT_ON_CHANGE);
HTM_TD_End ();
HTM_TR_End ();
@ -1955,7 +1955,7 @@ static bool Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
{
/* Put a radio item */
if (GrpTyp->MandatoryEnrolment)
HTM_INPUT_RADIO (StrGrpCod,false,
HTM_INPUT_RADIO (StrGrpCod,HTM_DONT_SUBMIT_ON_CLICK,
"id=\"Grp%ld\" value=\"%ld\"%s%s",
Grp->GrpCod,Grp->GrpCod,
IBelongToThisGroup ? " checked=\"checked\"" : "", // Group selected?
@ -1963,7 +1963,7 @@ static bool Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted)
" disabled=\"disabled\""); // I can not register
else // If the enrolment is not mandatory, I can select no groups
HTM_INPUT_RADIO (StrGrpCod,false,
HTM_INPUT_RADIO (StrGrpCod,HTM_DONT_SUBMIT_ON_CLICK,
"id=\"Grp%ld\" value=\"%ld\"%s%s"
" onclick=\"selectUnselectRadio(this,this.form.GrpCod%ld,%u)\"",
Grp->GrpCod,Grp->GrpCod,
@ -2482,7 +2482,7 @@ static void Grp_PutFormToCreateGroupType (void)
CurrentYear + 1,
Dat_FORM_SECONDS_ON,
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
false); // Don't submit on change
HTM_DONT_SUBMIT_ON_CHANGE);
HTM_TD_End ();
HTM_TR_End ();

View File

@ -563,7 +563,8 @@ static void Hld_ListHolidaysForEdition (const struct Hld_Holidays *Holidays,
CurrentYear + 1,
"Start",
&(Holidays->Lst[NumHld].StartDate),
true,false);
HTM_SUBMIT_ON_CHANGE,
false);
Frm_EndForm ();
HTM_TD_End ();
@ -575,7 +576,8 @@ static void Hld_ListHolidaysForEdition (const struct Hld_Holidays *Holidays,
CurrentYear + 1,
"End",
&(Holidays->Lst[NumHld].EndDate),
true,(Hld->HldTyp == Hld_HOLIDAY));
HTM_SUBMIT_ON_CHANGE,
(Hld->HldTyp == Hld_HOLIDAY));
Frm_EndForm ();
HTM_TD_End ();
@ -927,7 +929,8 @@ static void Hld_PutFormToCreateHoliday (const struct Plc_Places *Places)
CurrentYear + 1,
"Start",
&Hld_EditingHld->StartDate,
false,false);
HTM_DONT_SUBMIT_ON_CHANGE,
false);
HTM_TD_End ();
/***** Non school period end date *****/
@ -936,7 +939,8 @@ static void Hld_PutFormToCreateHoliday (const struct Plc_Places *Places)
CurrentYear + 1,
"End",
&Hld_EditingHld->EndDate,
false,false);
HTM_DONT_SUBMIT_ON_CHANGE,
false);
HTM_TD_End ();
/***** Holiday name *****/

View File

@ -174,7 +174,7 @@ void Ind_ReqIndicatorsCourses (void)
SelectClass, // Selector class
-1L, // First option
Txt_Any_department, // Text when no department selected
true); // Submit on change
HTM_SUBMIT_ON_CHANGE);
free (SelectClass);
HTM_TD_End ();

View File

@ -942,7 +942,8 @@ void Inf_FormsToSelSendInfo (void)
Frm_BeginForm (Inf_ActionsSelecInfoSrc[Gbl.Crs.Info.Type]);
HTM_INPUT_RADIO ("InfoSrc",InfoSrc != FromDB.Src &&
(InfoSrc == Inf_NONE ||
InfoAvailable[InfoSrc]), // Info available for this source
InfoAvailable[InfoSrc]) ? HTM_SUBMIT_ON_CLICK :
HTM_DONT_SUBMIT_ON_CLICK,
"id=\"InfoSrc%u\" value=\"%u\"%s",
(unsigned) InfoSrc,(unsigned) InfoSrc,
InfoSrc == FromDB.Src ? " checked=\"checked\"" :

View File

@ -192,7 +192,8 @@ static void Pri_PutFormVisibility (const char *TxtLabel,
HTM_LI_Begin ("class=\"DAT_%s\"",
The_GetSuffix ());
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO (ParName,Action != ActUnk,
HTM_INPUT_RADIO (ParName,Action == ActUnk ? HTM_DONT_SUBMIT_ON_CLICK :
HTM_SUBMIT_ON_CLICK,
"value=\"%u\"%s%s",
(unsigned) Visibility,
Visibility == CurrentVisibilityInDB ? " checked=\"checked\"" :

View File

@ -945,13 +945,13 @@ static void PrgRsc_ShowClipboardToChangeLink (struct Prg_Item *Item)
/***** Current link (empty or not) *****/
Rsc_WriteRowClipboard (&Item->Resource.Link,
false, // Don't submit on click
HTM_DONT_SUBMIT_ON_CLICK,
true); // Checked
/***** Row with empty link to remove the current link *****/
if (Item->Resource.Link.Type != Rsc_NONE)
Rsc_WriteRowClipboard (&EmptyLink,
true, // Submit on click
HTM_SUBMIT_ON_CLICK,
false); // Not checked
/***** Get links in clipboard from database and write them *****/
@ -962,7 +962,7 @@ static void PrgRsc_ShowClipboardToChangeLink (struct Prg_Item *Item)
{
Rsc_GetLinkDataFromRow (mysql_res,&Link);
Rsc_WriteRowClipboard (&Link,
true, // Submit on click
HTM_SUBMIT_ON_CLICK,
false); // Not checked
}
DB_FreeMySQLResult (&mysql_res);

View File

@ -840,7 +840,7 @@ static void Prj_ShowFormToFilterByDpt (const struct Prj_Projects *Projects)
SelectClass, // Selector class
-1L, // First option
Txt_Any_department, // Text when no department selected
true); // Submit on change
HTM_SUBMIT_ON_CHANGE);
free (SelectClass);
/***** End form *****/
@ -3814,7 +3814,7 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
SelectClass, // Selector class
0, // First option
Txt_Another_department, // Text when no department selected
false); // Don't submit on change
HTM_DONT_SUBMIT_ON_CHANGE);
free (SelectClass);
HTM_TD_End ();

View File

@ -644,7 +644,7 @@ void Qst_PutFormToEditQstMedia (const struct Med_Media *Media,int NumMedia,
/***** Choice 1: No media *****/
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
HTM_INPUT_RADIO (ParUploadMedia.Action,false,
HTM_INPUT_RADIO (ParUploadMedia.Action,HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s",
(unsigned) Med_ACTION_NO_MEDIA,
OptionsDisabled ? " disabled=\"disabled\"" : "");
@ -654,7 +654,7 @@ void Qst_PutFormToEditQstMedia (const struct Med_Media *Media,int NumMedia,
/***** Choice 2: Current media *****/
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
HTM_INPUT_RADIO (ParUploadMedia.Action,false,
HTM_INPUT_RADIO (ParUploadMedia.Action,HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s checked=\"checked\"",
(unsigned) Med_ACTION_KEEP_MEDIA,
OptionsDisabled ? " disabled=\"disabled\"" : "");
@ -667,7 +667,7 @@ void Qst_PutFormToEditQstMedia (const struct Med_Media *Media,int NumMedia,
/***** Choice 3: Change media *****/
UniqueId++;
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
HTM_INPUT_RADIO (ParUploadMedia.Action,false,
HTM_INPUT_RADIO (ParUploadMedia.Action,HTM_DONT_SUBMIT_ON_CLICK,
"id=\"chg_img_%u\" value=\"%u\"%s",
UniqueId,
(unsigned) Med_ACTION_NEW_MEDIA,
@ -2030,7 +2030,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
AnsType++)
{
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("AnswerType",false,
HTM_INPUT_RADIO ("AnswerType",HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s onclick=\"enableDisableAns(this.form);\"",
(unsigned) AnsType,
AnsType == Question->Answer.Type ? " checked=\"checked\"" :
@ -2137,7 +2137,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
The_GetColorRows ());
/* Radio selector for unique choice answers */
HTM_INPUT_RADIO ("AnsUni",false,
HTM_INPUT_RADIO ("AnsUni",HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s%s%s onclick=\"enableDisableAns(this.form);\"",
NumOpt,
Question->Answer.Options[NumOpt].Correct ? " checked=\"checked\"" :
@ -2290,7 +2290,7 @@ void Qst_PutTFInputField (const struct Qst_Question *Question,
const char *Label,char Value)
{
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
HTM_INPUT_RADIO ("AnsTF",false,
HTM_INPUT_RADIO ("AnsTF",HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%c\"%s%s required=\"required\"",
Value,
Question->Answer.TF == Value ? " checked=\"checked\"" :

View File

@ -2982,7 +2982,7 @@ static void Rec_ShowRole (struct Usr_Data *UsrDat,
{
HTM_LABEL_Begin ("class=\"DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_INPUT_RADIO ("Sex",false,
HTM_INPUT_RADIO ("Sex",HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s required=\"required\"",
(unsigned) Sex,
Sex == Gbl.Usrs.Me.UsrDat.Sex ? " checked=\"checked\"" : "");
@ -3210,7 +3210,8 @@ static void Rec_ShowDateOfBirth (struct Usr_Data *UsrDat,bool ShowData,bool PutF
CurrentYear - Rec_USR_MIN_AGE,
"Birth",
&(UsrDat->Birthday),
false,false);
HTM_DONT_SUBMIT_ON_CHANGE,
false);
else if (UsrDat->StrBirthday[0])
HTM_Txt (UsrDat->StrBirthday);
}
@ -3907,7 +3908,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
SelectClass, // Selector class
-1L, // First option
"", // Text when no department selected
true); // Submit on change
HTM_SUBMIT_ON_CHANGE);
free (SelectClass);
Frm_EndForm ();
HTM_TD_End ();

View File

@ -145,7 +145,7 @@ void Rsc_ShowClipboard (void)
/*****************************************************************************/
void Rsc_WriteRowClipboard (const struct Rsc_Link *Link,
bool SubmitOnClick,bool Checked)
HTM_SubmitOnClick_t SubmitOnClick,bool Checked)
{
extern const char *Txt_RESOURCE_TYPES[Rsc_NUM_TYPES];

View File

@ -74,7 +74,7 @@ struct Rsc_Link
void Rsc_ShowClipboard (void);
void Rsc_WriteRowClipboard (const struct Rsc_Link *Link,
bool SubmitOnClick,bool Checked);
HTM_SubmitOnClick_t SubmitOnClick,bool Checked);
void Rsc_WriteLinkName (const struct Rsc_Link *Link,bool PutFormToGo,
const char *Icon,const char *IconTitle);
void Rsc_WriteResourceEmpty (__attribute__((unused)) long Cod,

View File

@ -210,7 +210,7 @@ static void RubCri_PutFormNewCriterion (struct Rub_Rubrics *Rubrics,
/***** Row with empty link *****/
Rsc_WriteRowClipboard (&EmptyLink,
false, // Don't submit on click
HTM_DONT_SUBMIT_ON_CLICK,
true); // Checked
/***** Get links in clipboard from database and write them *****/
@ -221,7 +221,7 @@ static void RubCri_PutFormNewCriterion (struct Rub_Rubrics *Rubrics,
{
Rsc_GetLinkDataFromRow (mysql_res,&Link);
Rsc_WriteRowClipboard (&Link,
false, // Don't submit on click
HTM_DONT_SUBMIT_ON_CLICK,
false); // Not checked
}
DB_FreeMySQLResult (&mysql_res);
@ -1153,13 +1153,13 @@ static void RubCri_ShowClipboard (struct Rub_Rubrics *Rubrics,
/***** Current link (empty or not) *****/
Rsc_WriteRowClipboard (&Criterion->Link,
false, // Don't submit on click
HTM_DONT_SUBMIT_ON_CLICK,
true); // Checked
/***** Row with empty link to remove the current link *****/
if (Criterion->Link.Type != Rsc_NONE)
Rsc_WriteRowClipboard (&EmptyLink,
true, // Don't submit on click
HTM_SUBMIT_ON_CLICK,
false); // Checked
@ -1171,7 +1171,7 @@ static void RubCri_ShowClipboard (struct Rub_Rubrics *Rubrics,
{
Rsc_GetLinkDataFromRow (mysql_res,&Link);
Rsc_WriteRowClipboard (&Link,
true, // Don't submit on click
HTM_SUBMIT_ON_CLICK,
false); // Checked
}
DB_FreeMySQLResult (&mysql_res);

View File

@ -348,7 +348,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
Stats->ClicksGroupedBy != Sta_CLICKS_CRS_DETAILED_LIST)
Stats->ClicksGroupedBy = Sta_CLICKS_GROUPED_BY_DEFAULT;
HTM_INPUT_RADIO ("GroupedOrDetailed",false,
HTM_INPUT_RADIO ("GroupedOrDetailed",HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s onclick=\"disableDetailedClicks();\"",
(unsigned) Sta_CLICKS_GROUPED,
Stats->ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? "" :
@ -382,7 +382,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
/***** Option b) Listing of detailed clicks to this course *****/
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",
The_GetSuffix ());
HTM_INPUT_RADIO ("GroupedOrDetailed",false,
HTM_INPUT_RADIO ("GroupedOrDetailed",HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s onclick=\"enableDetailedClicks();\"",
(unsigned) Sta_CLICKS_DETAILED,
Stats->ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? " checked=\"checked\"" :

View File

@ -2394,7 +2394,7 @@ static void Svy_ShowFormEditOneQst (struct Svy_Surveys *Surveys,
AnsType++)
{
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("AnswerType",false,
HTM_INPUT_RADIO ("AnswerType",HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s",
(unsigned) AnsType,
AnsType == SvyQst->AnswerType ? " checked=\"checked\"" : "");
@ -2978,7 +2978,7 @@ static void Svy_WriteAnswersOfAQst (struct Svy_Survey *Svy,
snprintf (StrAns,sizeof (StrAns),"Ans%010u",
(unsigned) SvyQst->QstCod);
if (SvyQst->AnswerType == Svy_ANS_UNIQUE_CHOICE)
HTM_INPUT_RADIO (StrAns,false,
HTM_INPUT_RADIO (StrAns,HTM_DONT_SUBMIT_ON_CLICK,
"id=\"Ans%010u_%010u\" value=\"%u\""
" onclick=\"selectUnselectRadio(this,this.form.Ans%010u,%u)\"",
(unsigned) SvyQst->QstCod,NumAns,NumAns,

View File

@ -174,7 +174,7 @@ static void Syl_PutFormWhichSyllabus (Syl_WhichSyllabus_t SyllabusSelected)
{
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("WhichSyllabus",true,
HTM_INPUT_RADIO ("WhichSyllabus",HTM_SUBMIT_ON_CLICK,
"value=\"%u\"%s",
(unsigned) WhichSyl,
WhichSyl == SyllabusSelected ? " checked=\"checked\"" :

View File

@ -187,7 +187,7 @@ static void TstCfg_ShowFormConfig (void)
{
HTM_LABEL_Begin ("class=\"DAT_%s\"",
The_GetSuffix ());
HTM_INPUT_RADIO ("Pluggable",false,
HTM_INPUT_RADIO ("Pluggable",HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s",
(unsigned) Pluggable,
Pluggable == TstCfg_GetConfigPluggable () ? " checked=\"checked\"" :

View File

@ -444,7 +444,7 @@ static void TstPrn_WriteChoAnsToFill (const struct TstPrn_PrintedQuestion *Print
snprintf (StrAns,sizeof (StrAns),"Ans%010u",QstInd);
if (Question->Answer.Type == Qst_ANS_UNIQUE_CHOICE)
HTM_INPUT_RADIO (StrAns,false,
HTM_INPUT_RADIO (StrAns,HTM_DONT_SUBMIT_ON_CLICK,
"id=\"Ans%010u_%u\" value=\"%u\"%s"
" onclick=\"selectUnselectRadio(this,this.form.Ans%010u,%u);\"",
QstInd,NumOpt,

View File

@ -5609,7 +5609,7 @@ static void Usr_ShowOneListUsrsOption (Usr_ListUsrsOption_t ListUsrsAction,
{
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("ListUsrsAction",false,
HTM_INPUT_RADIO ("ListUsrsAction",HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s",
(unsigned) ListUsrsAction,
ListUsrsAction == Gbl.Usrs.Selected.Option ? " checked=\"checked\"" :