generated from alecodes/base-template
113 lines
2.7 KiB
SQL
113 lines
2.7 KiB
SQL
SELECT
|
|
'dynamic' AS component,
|
|
sqlpage.read_file_as_text('../shared/shell.json') AS properties;
|
|
|
|
SELECT
|
|
'form' AS component,
|
|
TRUE AS auto_submit;
|
|
|
|
SELECT
|
|
'source_id' AS name,
|
|
'Source - group' AS label,
|
|
'select' AS "type",
|
|
FALSE AS autocomplete,
|
|
(
|
|
SELECT
|
|
jsonb_agg(
|
|
jsonb_build_object(
|
|
'label',
|
|
format('%s - %s', src.name, lg.name),
|
|
'value',
|
|
lg.id,
|
|
'selected',
|
|
lg.id = $source_id :: int
|
|
)
|
|
ORDER BY
|
|
src.name,
|
|
lg.name
|
|
)
|
|
FROM
|
|
public.logic_groups AS lg
|
|
INNER JOIN public.sources AS src ON lg.source_id = src.id
|
|
) AS options;
|
|
|
|
SELECT
|
|
'form' AS component,
|
|
'Create' AS validate,
|
|
'create.sql' AS "action";
|
|
|
|
SELECT
|
|
'Date' AS label,
|
|
'date' AS name,
|
|
'date' AS "type",
|
|
CURRENT_DATE AS value,
|
|
6 AS width;
|
|
|
|
SELECT
|
|
'Time' AS label,
|
|
'time' AS name,
|
|
'time' AS "type",
|
|
LOCALTIME(0) AS value,
|
|
6 AS width;
|
|
|
|
SELECT
|
|
'UID' AS label,
|
|
'uid' AS name,
|
|
'SOURCE:LOGIC-GROUP:DESAMBIGUATOR:ATOM' AS placeholder,
|
|
TRUE AS disabled;
|
|
|
|
-- ── Desambiguator Definitions Start ─────────────────────────────────
|
|
SET
|
|
input =
|
|
SELECT
|
|
jsonb_build_object(
|
|
'id',
|
|
dtp.id,
|
|
'input_type',
|
|
dtp.input_type,
|
|
'placeholder',
|
|
dtp.placeholder
|
|
) AS obj
|
|
FROM
|
|
public.desambiguator_types dtp
|
|
INNER JOIN public.sources AS src ON src.desambiguator_type_id = dtp.id
|
|
INNER JOIN public.logic_groups AS lg ON lg.source_id = src.id
|
|
WHERE
|
|
lg.id = $source_id :: int;
|
|
|
|
SELECT
|
|
'logic_group_id' AS name,
|
|
'hidden' AS TYPE,
|
|
$input :: jsonb ->> 'id' AS value;
|
|
|
|
SELECT
|
|
'Desambiguator' AS label,
|
|
'desambiguator' AS name,
|
|
$input :: jsonb ->> 'input_type' AS "type",
|
|
$input :: jsonb ->> 'placeholder' AS placeholder,
|
|
6 AS width
|
|
WHERE
|
|
$input :: jsonb ->> 'id' = '1';
|
|
|
|
SELECT
|
|
'Desambiguator' AS label,
|
|
'desambiguator' AS name,
|
|
$input :: jsonb ->> 'input_type' AS "type",
|
|
$input :: jsonb ->> 'placeholder' AS placeholder,
|
|
CURRENT_DATE AS value,
|
|
6 AS width
|
|
WHERE
|
|
$input :: jsonb ->> 'id' = '2';
|
|
|
|
-- ── Desambiguator Definitions End ───────────────────────────────────
|
|
SELECT
|
|
'Atom' AS label,
|
|
'atom' AS name,
|
|
'FFF' AS placeholder,
|
|
6 AS width;
|
|
|
|
SELECT
|
|
'Description' AS label,
|
|
'text' AS name,
|
|
'What is this entry about?' AS placeholder,
|
|
'textarea' AS "type";
|