FCLT#64017 Widget/container responsive framework en default widgets voor custompagina's -revived and refined

svn path=/Database/trunk/; revision=52787
This commit is contained in:
Peter Feij
2021-08-25 15:24:26 +00:00
parent 196e718cea
commit 505fc3e8b5
5 changed files with 55 additions and 40 deletions

View File

@@ -38,10 +38,8 @@ CREATE SEQUENCE fac_s_fac_locale_xref_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_kenmerkdomein_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_kenmwaarden_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_widget_key MINVALUE 1;
/* Alvast voor 2022.1
CREATE SEQUENCE fac_s_fac_widget_page_key MINVALUE 100;
CREATE SEQUENCE fac_s_fac_widget_onpage_key MINVALUE 1;
*/
CREATE SEQUENCE fac_s_fac_note_group_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_code2label_key MINVALUE 1;
CREATE SEQUENCE imp_s_imp_log_key MINVALUE 1;

View File

@@ -1750,31 +1750,38 @@ CREATE_TABLE(fac_kenmerkdomein, 0)
CONSTRAINT fac_u_fac_kenmerkdomein_upper UNIQUE(fac_kenmerkdomein_module,fac_kenmerkdomein_upper, fac_kenmerkdomein_verwijder)
);
// A widget is predefined content to be used on widgetpages
CREATE_TABLE(fac_widget, 0)
(
fac_widget_key
NUMBER(10)
CONSTRAINT fac_k_fac_widget_key PRIMARY KEY,
/* Alvast voor 2022.1
fac_widget_naam -- Widgetnaam (mn voor bilbiotheekwidgets)
fac_widget_naam -- Widgetnaam (mn voor bibliotheekwidgets)
VARCHAR2(60)
NOT NULL,
*/
fac_widget_groep -- Pagina(naam) of groep(naam) van bijelkaar horende widgets
fac_widget_type -- enumerated U=internal URL, M=Menuitem, R=Report, H=HTML, ...
VARCHAR2(1)
DEFAULT ('U')
NOT NULL,
fac_widget_typerefkey -- Reference depending on the type (usrrap_key, menu_key,..)
NUMBER(10),
fac_widget_groep -- DEPRECATED Pagina(naam) of groep(naam) van bijelkaar horende widgets
VARCHAR2(60),
fac_widget_volgnr -- Onderlinge volgorde van de widgets op 1 pagina
fac_widget_volgnr -- DEPRECATED -> onpage
NUMBER(3),
fac_widget_id -- Optioneel een id (div_id) van widget
VARCHAR2(60),
fac_widget_title -- Optioneel een titel bij widget
fac_widget_title -- Optioneel een default titel bij widget
VARCHAR2(100),
fac_widget_height -- Optioneel een hoogte van widget in % (indien NULL, dan 100%)
NUMBER(3),
fac_widget_width -- Optioneel een hoogte van widget in % (indien NULL, dan 100%)
NUMBER(3),
fac_widget_url -- Resultaat van URL wordt in de widget getoond
fac_widget_height -- Default hoogte van widget in % (indien NULL, dan 100%)
NUMBER(5),
fac_widget_width -- Default hoogte van widget in % (indien NULL, dan 100%)
NUMBER(5),
fac_widget_url -- type U: Resultaat van URL wordt in de widget getoond
VARCHAR2(255),
fac_widget_aanmaak -- Aanmaak datum
fac_widget_content -- type H: HTML content
VARCHAR2(4000),
fac_widget_aanmaak -- Aanmaakdatum
DATE
DEFAULT SYSDATE,
fac_widget_refreshtime -- Refreshtijd van widget in seconden, NULL is geen refresh
@@ -1782,9 +1789,12 @@ CREATE_TABLE(fac_widget, 0)
fac_functie_key -- A la menuitem, indien autorisatie dan tonen
NUMBER(10)
CONSTRAINT fac_r_fac_widget_functie_key REFERENCES fac_functie(fac_functie_key)
);
, CONSTRAINT fac_c_widgettype1 CHECK
( (fac_widget_type IN ('U', 'X') AND fac_widget_url IS NOT NULL)
OR (fac_widget_type IN ('M', 'R') AND fac_widget_typerefkey IS NOT NULL)
OR (fac_widget_type = 'H' AND fac_widget_content IS NOT NULL));
/* Alvast voor 2022.1
// A widgetpage is an ordered group of widgets made accesible to the users
CREATE_TABLE(fac_widget_page, 0)
(
fac_widget_page_key
@@ -1796,6 +1806,9 @@ CREATE_TABLE(fac_widget_page, 0)
// , prs_perslid_key
// NUMBER(10)
// CONSTRAINT fac_r_prs_perslid_key11 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE,
fac_functie_key -- A la menuitem, indien autorisatie dan tonen
NUMBER(10)
CONSTRAINT fac_r_widget_page_functie_key REFERENCES fac_functie(fac_functie_key),
fac_widget_page_aanmaak -- Aanmaak datum
DATE
DEFAULT SYSDATE
@@ -1815,11 +1828,10 @@ CREATE_TABLE(fac_widget_onpage, 0) -- Koppeltabel voor fa
fac_widget_onpage_order -- volgorde
NUMBER(5),
fac_widget_onpage_height -- Optioneel afwjkend van default
NUMBER(3),
NUMBER(5),
fac_widget_onpage_width -- Optioneel afwijkend van default
NUMBER(3)
NUMBER(5)
);
*/
CREATE_TABLE(fac_note_group, 0)
(

View File

@@ -733,11 +733,11 @@ BEFORE INSERT OR UPDATE ON fac_widget
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fac_widget_key, fac_s_fac_widget_key);
:new.fac_widget_type := UPPER(fac_widget_type);
UPDATE_AANMAAKDATUM(fac_widget, fac_widget_aanmaak);
END;
/
/* Alvast voor 2022.1
CREATE_TRIGGER(fac_t_fac_widget_page_B_I)
BEFORE INSERT ON fac_widget_page
FOR EACH ROW
@@ -753,7 +753,6 @@ BEGIN
UPDATE_PRIMARY_KEY(fac_widget_onpage_key, fac_s_fac_widget_onpage_key);
END;
/
*/
CREATE_TRIGGER(fac_t_fac_code2label_B_IU)
BEFORE INSERT OR UPDATE ON fac_code2label

View File

@@ -749,13 +749,11 @@ ALTER TABLE fac_session ADD (
NUMBER(10)
CONSTRAINT fac_r_prs_perslid_key2 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
);
/* Alvast voor 2022.1
ALTER TABLE fac_widget_page ADD (
prs_perslid_key
NUMBER(10)
CONSTRAINT fac_r_prs_perslid_key11 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
);
*/
ALTER TABLE fac_bookmark ADD (
prs_perslid_key
NUMBER(10)

View File

@@ -55,13 +55,15 @@ CREATE_TABLE(fac_widget_page, 0)
fac_widget_page_key
NUMBER(10)
CONSTRAINT fac_k_fac_widget_page_key PRIMARY KEY,
fac_widget_page_name -- Paginanaam
fac_widget_page_name
VARCHAR2(60),
fac_widget_page_aanmaak -- Aanmaak datum
fac_functie_key -- A la menuitem, indien autorisatie dan tonen
NUMBER(10)
CONSTRAINT fac_r_widget_page_functie_key REFERENCES fac_functie(fac_functie_key),
fac_widget_page_aanmaak
DATE
DEFAULT SYSDATE
);
ALTER TABLE fac_widget_page ADD (
prs_perslid_key
NUMBER(10)
@@ -90,14 +92,11 @@ CREATE_TABLE(fac_widget_onpage, 0) -- Koppeltabel voor fa
NUMBER(10)
CONSTRAINT fac_r_fac_widget_key REFERENCES fac_widget(fac_widget_key) ON DELETE CASCADE,
fac_widget_onpage_order
NUMBER(5)
);
ALTER TABLE fac_widget_onpage ADD (
fac_widget_onpage_height -- Optioneel afwjkend van default
NUMBER(3),
NUMBER(5),
fac_widget_onpage_height -- Optioneel afwijkend van default
NUMBER(5),
fac_widget_onpage_width -- Optioneel afwijkend van default
NUMBER(3)
NUMBER(5)
);
CREATE SEQUENCE fac_s_fac_widget_onpage_key MINVALUE 1;
@@ -119,10 +118,23 @@ INSERT INTO fac_widget_page (fac_widget_page_name)
WHERE fac_widget_groep NOT IN (SELECT DISTINCT fac_widget_page_name
FROM fac_widget_page);
-- Ivm asynchrone DB update dit pas volgende DB release, no hurries
-- ALTER TABLE fac_widget
-- DROP (fac_widget_groep, fac_widget_volgnr);
ALTER TABLE fac_widget ADD fac_widget_naam VARCHAR2(60);
UPDATE fac_widget SET fac_widget_naam = SUBSTR (fac_widget_groep, 1, 56) || '-' || fac_widget_volgnr;
ALTER TABLE fac_widget MODIFY fac_widget_naam NOT NULL;
ALTER TABLE fac_widget MODIFY fac_widget_height NUMBER(5);
ALTER TABLE fac_widget MODIFY fac_widget_width NUMBER(5);
ALTER TABLE fac_widget ADD fac_widget_type VARCHAR2(1) DEFAULT ('U') NOT NULL;
ALTER TABLE fac_widget ADD fac_widget_typerefkey NUMBER(10);
ALTER TABLE fac_widget ADD fac_widget_content VARCHAR2(4000);
ALTER TABLE fac_widget
ADD CONSTRAINT fac_c_widgettype1 CHECK
( (fac_widget_type IN ('U', 'X') AND fac_widget_url IS NOT NULL)
OR (fac_widget_type IN ('M', 'R') AND fac_widget_typerefkey IS NOT NULL)
OR (fac_widget_type = 'H' AND fac_widget_content IS NOT NULL));
// UNDER CONSTRUCTION
-- Het vullen van de koppeltabel inclusief conversie van fac_widget.fac_widget_volgnr -> fac_widget_onpage.fac_widget_onpage_order
INSERT INTO fac_widget_onpage (fac_widget_page_key,
fac_widget_key,
@@ -141,10 +153,6 @@ INSERT INTO fac_widget_onpage (fac_widget_page_key,
ORDER BY fac_widget_groep, fac_widget_volgnr NULLS LAST) widget
WHERE widget.fac_widget_groep = page.fac_widget_page_name;
ALTER TABLE fac_widget ADD fac_widget_naam VARCHAR2(60);
UPDATE fac_widget SET fac_widget_naam = SUBSTR (fac_widget_groep, 1, 56) || '-' || fac_widget_volgnr;
ALTER TABLE fac_widget MODIFY fac_widget_naam NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#*****
///////////////////////////////////////////////////////////////////////////////////////////