]> git.plutz.net Git - webpoll/commitdiff
submit mode for calendar widget
authorPaul Hänsch <paul@plutz.net>
Sun, 25 Jul 2021 18:26:04 +0000 (20:26 +0200)
committerPaul Hänsch <paul@plutz.net>
Sun, 25 Jul 2021 18:26:04 +0000 (20:26 +0200)
widgets.css
widgets.sh

index bb48f5272aaeb5764f4754361dee99103b5b6b6d..594e115c8ad49165738624cc1aab11c75216b68d 100644 (file)
@@ -37,15 +37,20 @@ table.calendar input[type=radio],
 table.calendar input[type=checkbox] {
   display: none;
 }
-table.calendar td label {
+table.calendar td label,
+table.calendar td button {
   display: inline-block;
   width: 2em;
   margin: 0; padding: .25em;
   text-align: right;
   line-height: 1em;
+  box-shadow: none;
+  border-radius: 0;
+  border: none;
 }
 table.calendar td input:checked + label,
-table.calendar td label[checked] {
+table.calendar td label[checked],
+table.calendar td button[name$=_remove] {
   font-weight: bold;
   line-height: .75em;
   border: .125em solid;
index 4d3df23b7a9023257322dfd394282f915e9f46f5..ab88b3ec699319238b3db7452839d15fc8b2139b 100755 (executable)
@@ -21,7 +21,7 @@ selected(){
 
 w_month() {
   # Arguments:
-  # 1. (optional) select, multiple, none - default: select
+  # 1. (optional) select, multiple, submit, none - default: select
   # 2. (optional) Name of form field - default: "date"
   # 3. (optional) Month to display in format: YYYY-MM - default: current month
   # 4. (optional, multiple) Days to preselect in format: DD - default: none
@@ -77,6 +77,11 @@ w_month() {
         printf '[td [input type=checkbox id="%s_%s" name="%s" value="%s" %s][label for="%s_%s" . %i]]' \
                "$input" "$date" "$input" "$date" "$(checked $dom $selected)" "$input" "$date" "$dom"
         ;;
+      submit)
+        [ "$(checked $dom $selected)" ] \
+        && printf '[td [submit "%s_remove" "%s" . %i][hidden "%s" "%s"]]' "$input" "$date" "$dom" "$input" "$date" \
+        || printf '[td [submit "%s_add"    "%s" . %i]]' "$input" "$date" "$dom"
+        ;;
       select|*)
         printf '[td [input type=radio id="%s_%s" name="%s" value="%s" %s][label for="%s_%s" . %i]]' \
                "$input" "$date" "$input" "$date" "$(checked $dom $selected)" "$input" "$date" "$dom"