|
@@ -1,37 +1,29 @@
|
|
|
-SELECT 'dynamic' AS component, sqlpage.run_sql('sqlpage/theme.sql') AS properties;
|
|
|
-SELECT 'dynamic' AS component, sqlpage.run_sql('sqlpage/Style.sql') AS properties;
|
|
|
SET ":filter_options" = (
|
|
|
SELECT json_group_array(json_object('name', q.k, 'options', q.o))
|
|
|
FROM (
|
|
|
SELECT options.k, jsonb_group_array(
|
|
|
- jsonb_object('label', v, 'value', v, 'selected', CASE $autofill WHEN TRUE THEN c == 1 ELSE FALSE END)
|
|
|
+ jsonb_object('label', v, 'value', v, 'selected', s OR CASE $autofill WHEN TRUE THEN c = 1 ELSE v END)
|
|
|
ORDER BY v) o
|
|
|
FROM (
|
|
|
- SELECT DISTINCT 'store' k, store v, count(store) OVER () c FROM code_detail
|
|
|
- UNION
|
|
|
- SELECT DISTINCT 'type' k, type v, count(type) OVER () c FROM code_detail
|
|
|
- UNION
|
|
|
- SELECT DISTINCT 'value' k, value v, count(value) OVER () c FROM code_detail
|
|
|
+ SELECT DISTINCT k, v, s, count(v) OVER (
|
|
|
+ PARTITION BY k ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
|
|
|
+ ) c FROM (
|
|
|
+ SELECT 'store'||'[]' k, value v, TRUE s FROM (SELECT value FROM json_each($store))
|
|
|
+ UNION
|
|
|
+ SELECT 'store'||'[]', store, NULL s FROM code_detail
|
|
|
+ UNION
|
|
|
+ SELECT 'type'||'[]' k, value v, TRUE s FROM (SELECT value FROM json_each($type))
|
|
|
+ UNION
|
|
|
+ SELECT 'type'||'[]', type, NULL s FROM code_detail
|
|
|
+ UNION
|
|
|
+ SELECT 'value', value, NULL s FROM code_detail
|
|
|
+ )
|
|
|
) options
|
|
|
WHERE v IS NOT NULL
|
|
|
GROUP BY options.k
|
|
|
) q
|
|
|
);
|
|
|
|
|
|
-SELECT 'card' AS component
|
|
|
-, 1 AS columns
|
|
|
-WHERE COALESCE($hash, '') <> '';
|
|
|
-SELECT COALESCE($hash, '') || COALESCE($type||' ','') || COALESCE($store||' ', '') || COALESCE($expiry, $created, '') AS title
|
|
|
-, '
|
|
|
-| Type | Content |
|
|
|
-|:
|
|
|
-| ' || COALESCE($content->>'format', '') || ' | ' || COALESCE($content->>'content', '') || ' |
|
|
|
-' AS description_md
|
|
|
-, $preview AS top_image
|
|
|
-, $tabler_color AS color
|
|
|
-WHERE COALESCE($hash, '') <> ''
|
|
|
-;
|
|
|
-
|
|
|
SELECT 'form' AS component
|
|
|
, '/code.sql' AS action
|
|
|
, $validate AS validate
|
|
@@ -42,12 +34,13 @@ SELECT COALESCE(c.v->>'name', j.v->>'name') AS name
|
|
|
|
|
|
, COALESCE(c.v->>'label', j.v->>'label') AS label
|
|
|
, COALESCE(c.v->>'type', j.v->>'type') AS type
|
|
|
-, j.v->>'dropdown' AS dropdown
|
|
|
-, j.v->>'create_new' AS create_new
|
|
|
-, j.v->>'multiple' AS multiple
|
|
|
+, COALESCE(c.v->>'dropdown', j.v->>'dropdown') AS dropdown
|
|
|
+, COALESCE(c.v->>'create_new', j.v->>'create_new') AS create_new
|
|
|
+, COALESCE(c.v->>'multiple', j.v->>'multiple') AS multiple
|
|
|
+, COALESCE(c.v->>'placeholder', j.v->>'placeholder') AS placeholder
|
|
|
, COALESCE(c.v->>'width', j.v->>'width') AS width
|
|
|
, o.j->>'options' AS options
|
|
|
-, j.v->>'prefix' AS prefix
|
|
|
+, COALESCE(c.v->>'prefix', j.v->>'prefix') AS prefix
|
|
|
, COALESCE(c.v->>'value', j.v->>'value', v.v) AS value
|
|
|
, CASE COALESCE(c.v->>'type', j.v->>'type')
|
|
|
WHEN 'checkbox' THEN v.v = 'true'
|
|
@@ -63,9 +56,3 @@ ON (o.j->>'name') = j.v->>'name'
|
|
|
LEFT JOIN (SELECT "key" k, value v FROM json_each(sqlpage.variables())) v
|
|
|
ON v.k = j.v->>'name' OR v.k = c.v->>'name'
|
|
|
;
|
|
|
-
|
|
|
-SELECT 'table' AS component
|
|
|
-WHERE COALESCE($hash, '') <> '';
|
|
|
-SELECT * FROM code_detail
|
|
|
-WHERE COALESCE($hash, '') <> ''
|
|
|
-AND hash = $hash;
|