Ver Fonte

fix checkboxes

Daniel Sheffield há 4 meses atrás
pai
commit
b506f145b8
2 ficheiros alterados com 10 adições e 8 exclusões
  1. 1 1
      util-sqlpage/code/json/filters.json
  2. 9 7
      util-sqlpage/code/recent.sql

+ 1 - 1
util-sqlpage/code/json/filters.json

@@ -20,7 +20,7 @@
       "width": 2
     },
     { "name": "expired", "label": "",
-      "type": "hidden", "value": "false",
+      "type": "hidden", "value": "true",
       "width": 2
     }
 ]

+ 9 - 7
util-sqlpage/code/recent.sql

@@ -3,9 +3,11 @@ SELECT 'dynamic' AS component, sqlpage.run_sql('sqlpage/Style.sql') AS propertie
 SET ":filter_config" = '[
   {"name": "type", "label": "Type", "type": "select"},
   {"name": "expired", "label": "Show Expired",
-   "type": "checkbox", "value": "true"
+   "type": "checkbox"
   },
-  {"name": "used", "label": "Show Used"}
+  {"name": "used", "label": "Show Used",
+   "type": "checkbox"
+  }
 ]';
 SET ":filter_options" = (SELECT group_concat(v) FROM (
       SELECT DISTINCT 'store' AS ka, store AS v FROM code_detail
@@ -42,9 +44,9 @@ SELECT j.v->>'name' AS name
 , j.v->>'multiple' AS multiple
 , COALESCE(c.v->>'width', j.v->>'width') AS width
 , o.j->'options' AS options
-, COALESCE(j.v->>'value', v.value) AS value
-, CASE j.v->>'type'
-    WHEN 'checkbox' THEN v.value::bool
+, COALESCE(j.v->>'value', v.v) AS value
+, CASE COALESCE(c.v->>'type', j.v->>'type')
+    WHEN 'checkbox' THEN v.v = 'true'
     ELSE NULL
   END AS checked
 , j.v->>'formaction'
@@ -53,8 +55,8 @@ LEFT JOIN (SELECT value v FROM json_each($filter_config)) c
 ON (j.v->>'name' == c.v->>'name')
 LEFT JOIN (SELECT value j FROM json_each($filter_options::json)) o
 ON (o.j->>'name') = j.v->>'name'
-LEFT JOIN json_each(sqlpage.variables()::json) v
-ON v.key = j.v->>'name'
+LEFT JOIN (SELECT "key" k, value v FROM json_each(sqlpage.variables())) v
+ON v.k = j.v->>'name'
 ;
 SELECT 'table' AS component;
 SELECT c.hash, content, created