{ "version": "0.1", "navigation": { "type": "app", "config": { //Change to "false" to hide the navigation sidebar "enabled": true, //Change to "true" to expand all navigation pages by default "expandAll": false, //Change to "true" to disable that you can minimize the navigation sidebar "permanent": false }, //The navgation entries logic is following the one from Pages "entries": [ //scroll to the end of the navigation section (code snippet) for your exercise on navigation { //PageId of the Page you want do be displayed "page": "introPage", //Label in the Sidebar Navigation "label": "Apps introduction", //Children are subpages of a page "children": [ { "label": "Layouts", "page": "introPage.layoutsPage", "children": [ { "label": "Exercise", //For childpages the navigation logic follows 'parentPage.childPage.childChildPage' "page": "introPage.layoutsPage.layoutsTaskPage" } ] }, { "label": "Pages", "page": "introPage.pagesPage", "children": [ { "label": "Exercise", "page": "introPage.pagesPage.pagesTaskPage" } ] }, { "label": "Navigation", "page": "introPage.navigationPage", "children": [ { "label": "Exercise", "page": "introPage.navigationPage.navigationTaskPage" } ] }, { "label": "Elements", "page": "introPage.elementsPage", "children": [ { "label": "HTML", "page": "introPage.elementsPage.htmlPage", "children": [ { "label": "Exercise", "page": "introPage.elementsPage.htmlPage.htmltaskPage" } ] }, { "label": "KPI", "page": "introPage.elementsPage.kpiPage", "children": [ { "label": "Exercise", "page": "introPage.elementsPage.kpiPage.kpiTaskPage" } ] }, { "label": "Table", "page": "introPage.elementsPage.tablePage", "children": [ { "label": "Exercise", "page": "introPage.elementsPage.tablePage.tableTaskPage" } ] }, { "label": "Highcharts", "page": "introPage.elementsPage.highchartsPage", "children": [ { "label": "Bar Chart", "page": "introPage.elementsPage.highchartsPage.barPage", "children": [ { "label": "Exercise", "page": "introPage.elementsPage.highchartsPage.barPage.barTaskPage" } ] }, { "label": "Line Chart", "page": "introPage.elementsPage.highchartsPage.linePage", "children": [ { "label": "Exercise", "page": "introPage.elementsPage.highchartsPage.linePage.lineTaskPage" } ] }, { "label": "Pie Chart", "page": "introPage.elementsPage.highchartsPage.piePage", "children": [ { "label": "Exercise", "page": "introPage.elementsPage.highchartsPage.piePage.pieTaskPage" } ] } ] } ] }, { "label": "Datasources", "page": "introPage.datasourcesPage", "children": [ { "label": "Exercise", "page": "introPage.datasourcesPage.datasourcesTaskPage" } ] }, { "label": "Syncsets", "page": "introPage.syncsetsPage", "children": [ { "label": "Exercise syncsets", "page": "introPage.syncsetsPage.syncsetsTaskPage" } ] } ] }, { //Change the id to "appPage" "page": "appPage", //Change the label to "My first App" "label": "My first App" } ] }, "screens": [ { "layout": "layout1", "conditions": { "minScreenWidth": 0 } } ], "pages": [ { //Unique id of the page. Important for the navigation later on. "id": "introPage", //With the label you can shortly describe the page (not visible in the App Viewer) "label": "Introduction", //with different Layouts you can optimize your App for different screen sizes //(e.g. mobile, desktop, tablet) - this is NOT covered in this training "screens": [ { "layout": "intro" } ], //Children are the subpages of a page (e.g. intro > elementsPage > htmlPage) "children": [ { "id": "elementsPage", "label": "Elements", "screens": [ { "layout": "moduleElementsSmallScreenLayout" } ], "children": [ { "id": "htmlPage", "label": "HTML", "screens": [ { "layout": "moduleHtmlSmallScreenLayout" } ], "children": [ { "id": "htmltaskPage", "label": "HTML task", "screens": [ { "layout": "taskHtmlSmallScreenLayout" } ], "children": [] } ] }, { "id": "kpiPage", "label": "HTML", "screens": [ { "layout": "moduleKpiSmallScreenLayout" } ], "children": [ { "id": "kpiTaskPage", "label": "HTML task", "screens": [ { "layout": "taskKpiSmallScreenLayout" } ], "children": [] } ] }, { "id": "tablePage", "label": "Table", "screens": [ { "layout": "moduleTableSmallScreenLayout" } ], "children": [ { "id": "tableTaskPage", "label": "Table task", "screens": [ { "layout": "taskTableSmallScreenLayout" } ], "children": [] } ] }, { "id": "highchartsPage", "label": "Highcharts", "screens": [ { "layout": "moduleHighchartsSmallScreenLayout" } ], "children": [ { "id": "barPage", "label": "Bar Chart", "screens": [ { "layout": "moduleBarSmallScreenLayout" } ], "children": [ { "id": "barTaskPage", "label": "HTML task", "screens": [ { "layout": "taskBarSmallScreenLayout" } ], "children": [] } ] }, { "id": "linePage", "label": "Line Chart", "screens": [ { "layout": "moduleLineSmallScreenLayout" } ], "children": [ { "id": "lineTaskPage", "label": "Line task", "screens": [ { "layout": "taskLineSmallScreenLayout" } ], "children": [] } ] }, { "id": "piePage", "label": "Pie Chart", "screens": [ { "layout": "modulePieSmallScreenLayout" } ], "children": [ { "id": "pieTaskPage", "label": "Pie task", "screens": [ { "layout": "taskPieSmallScreenLayout" } ], "children": [] } ] } ] }, { "id": "tablesPage", "label": "table", "screens": [ { "layout": "underConstruction" } ], "children": [ { "id": "tablesTaskPage", "label": "table task", "screens": [ { "layout": "underConstruction" } ], "children": [] } ] } ] }, { "id": "pagesPage", "label": "Pages", "screens": [ { "layout": "modulePagesSmallScreenLayout" } ], "children": [ { "id": "pagesTaskPage", "label": "Pages task", "screens": [ { "layout": "taskPagesSmallScreenLayout" } ], "children": [] } ] }, { "id": "navigationPage", "label": "Navigation", "screens": [ { "layout": "moduleNavigationSmallScreenLayout" } ], "children": [ { "id": "navigationTaskPage", "label": "Navigation task", "screens": [ { "layout": "taskNavigationSmallScreenLayout" } ], "children": [] } ] }, { "id": "layoutsPage", "label": "Layouts", "screens": [ { "layout": "moduleLayoutsSmallScreenLayout" } ], "children": [ { "id": "layoutsTaskPage", "label": "Layouts task", "screens": [ { "layout": "taskLayoutsSmallScreenLayout" } ], "children": [] } ] }, { "id": "datasourcesPage", "label": "datasources", "screens": [ { "layout": "moduleDatasourcesSmallScreenLayout" } ], "children": [ { "id": "FRTdatasourcesPage", "label": "FRT", "screens": [ { "layout": "moduleFRTDatasourcesSmallScreenLayout" } ], "children": [] }, { "id": "RESTdatasourcesPage", "label": "REST", "screens": [ { "layout": "moduleRESTDatasourcesSmallScreenLayout" } ], "children": [] }, { "id": "RAWdatasourcesPage", "label": "RAW", "screens": [ { "layout": "moduleRAWDatasourcesSmallScreenLayout" } ], "children": [] }, { "id": "datasourcesDatasourcesPage", "label": "DatasourceDatasources", "screens": [ { "layout": "moduleDatasourceDatasourcesSmallScreenLayout" } ], "children": [] }, { "id": "DATASETDatasourcesPage", "label": "DATASET", "screens": [ { "layout": "moduleDATASETDatasourcesSmallScreenLayout" } ], "children": [] }, { "id": "datasourcesTaskPage", "label": "datasources task", "screens": [ { "layout": "taskDatasourcesSmallScreenLayout" } ], "children": [] } ] }, { "id": "syncsetsPage", "label": "syncsets & filters", "screens": [ { "layout": "moduleSyncsetsSmallScreenLayout" } ], "children": [ { "id": "syncsetsTaskPage", "label": "syncsets task", "screens": [ { "layout": "taskSyncsetsSmallScreenLayout" } ], "children": [] }, { "id": "filtersTaskPage", "label": "filters task", "screens": [ { "layout": "taskFiltersSmallScreenLayout" } ], "children": [] } ] } ] }, { //Change the id to "appPage" "id": "appPage", "label": "finalApp", "screens": [ { //Change the Layout to "appSmallScreenLayout" "layout": "appSmallScreenLayout" } ], "children": [] } ], "layouts": [ { "id": "intro", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr", "rows": "max-content max-content max-content 1fr", "template": [ "titleContainer", "explanationContainer", "html_linkFreshdesk", "html_greenbutton_withouticon" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "html_linkFreshdesk" }, { "id": "html_greenbutton_withouticon", "horizontalAlignBox": "center" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleIntroduction" }, { "containerId": "explanationContainer", "elementId": "explanationIntroduction" }, { "containerId": "html_linkFreshdesk", "elementId": "html_linkFreshdeskIntro" }, { "containerId": "html_greenbutton_withouticon", "elementId": "greenbutton_withouticon" } ] }, { "id": "modulePagesSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr", "rows": "max-content max-content max-content 1fr", "template": [ "titleContainer", "explanationContainer", "optionalTextModuleContainer", "taskLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "optionalTextModuleContainer" }, { "id": "taskLinkContainer", "horizontalAlignBox": "center" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titlePages" }, { "containerId": "explanationContainer", "elementId": "explanationPages" }, { "containerId": "optionalTextModuleContainer", "elementId": "optionalTextModulePages" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModulePages" } ] }, { "id": "taskPagesSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "max-content 1fr", "rows": "max-content max-content max-content 1fr", "template": [ "titleContainer titleContainer", "explanationContainer explanationContainer", "stepbystepContainer stepbystepContainer", "goodJobContainer nextLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "stepbystepContainer" }, { "id": "goodJobContainer" }, { "id": "nextLinkContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleTaskPages" }, { "containerId": "explanationContainer", "elementId": "explanationTaskPages" }, { "containerId": "stepbystepContainer", "elementId": "stepbystepTaskPages" }, { "containerId": "goodJobContainer", "elementId": "goodJobElement" }, { "containerId": "nextLinkContainer", "elementId": "nextLinkTaskPages" } ] }, { "id": "moduleNavigationSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "max-content 1fr", "rows": "max-content max-content max-content 1fr", "template": [ "titleContainer titleContainer", "explanationContainer explanationContainer", "optionalTextModuleContainer optionalTextModuleContainer", " . taskLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "optionalTextModuleContainer" }, { "id": "taskLinkContainer", "horizontalAlignBox": "center" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleNavigation" }, { "containerId": "explanationContainer", "elementId": "explanationNavigation" }, { "containerId": "optionalTextModuleContainer", "elementId": "optionalTextModuleNavigation" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleNavigation" } ] }, { "id": "taskNavigationSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "max-content 1fr", "rows": "max-content max-content max-content 1fr", "template": [ "titleContainer titleContainer", "explanationContainer explanationContainer", "stepbystepContainer stepbystepContainer", "goodJobContainer nextLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "stepbystepContainer" }, { "id": "goodJobContainer" }, { "id": "nextLinkContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleTaskNavigation" }, { "containerId": "explanationContainer", "elementId": "explanationTaskNavigation" }, { "containerId": "stepbystepContainer", "elementId": "stepbystepTaskNavigation" }, { "containerId": "goodJobContainer", "elementId": "goodJobElement" }, { "containerId": "nextLinkContainer", "elementId": "nextLinkTaskNavigation" } ] }, { //Unique id: important for pages later on "id": "moduleLayoutsSmallScreenLayout", //type: defines the type of layout (allowed values: 'flexGrid', 'fixedGrid'(is now only used in exceptional cases) "type": "flexGrid", //config: defines the structure of your responsive layout grid, which consists of columns and rows //you can see auxiliary lines of your grid by clicking on the "#" at the very bottom right of the preview "config": { "grid": { "configs": [ { //columns: defines the amount of columns and their responsive behavior //options: fr, max-content, min-content, minmax(min, max), repeat "columns": "1fr", //rows: defines the amount of rows and their responsive behavior //options: options: fr, max-content, min-content, minmax(min, max), repeat, px, %, ... "rows": "max-content max-content max-content 1fr", //template: assigns the containers to the defined cells of the grid "template": [ "titleContainer", "explanationContainer", "optionalTextModuleContainer", "taskLinkContainer" ] } ] }, //Containers serve as a layout frame for placing elements in "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "optionalTextModuleContainer" }, { "id": "taskLinkContainer", "horizontalAlignBox": "center" } ] }, //cellPadding: describes the space between 2 visualization containers by default "cellPadding": "5px", //Placements define which element should be in which layout container "placements": [ { //id from Containers above "containerId": "titleContainer", //Unique id of the element that should be displayed "elementId": "titleLayouts" }, { "containerId": "explanationContainer", "elementId": "explanationLayouts" }, { "containerId": "imageStructureContainer", "elementId": "imageStructureLayouts" }, { "containerId": "imageLogicContainer", "elementId": "imageLogicLayouts" }, { "containerId": "optionalTextModuleContainer", "elementId": "optionalTextModuleLayouts" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleLayouts" } ] }, { "id": "taskLayoutsSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ //here you can customize the dimensions of your layout grid { "columns": "1fr 1fr 1fr 1fr 1fr 1fr", "rows": "max-content max-content 1fr 1fr 1fr max-content", "template": [ //Change the order of assignments to rearrange the containers //Notice: If a container goes over several rows/columns, it must be assigned accordingly often. If a cell is to be left empty, insert "." as a placeholder "titleContainer titleContainer titleContainer titleContainer titleContainer titleContainer", "explanationContainer explanationContainer explanationContainer explanationContainer explanationContainer explanationContainer", "my1Container my1Container my1Container my1Container my1Container my1Container", "my2Container my2Container my2Container my3Container my3Container my3Container", "my4Container my4Container my5Container my5Container my6Container my6Container", "goodJobContainer . . . . nextLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "my1Container" }, { "id": "my2Container" }, { "id": "my3Container" }, { "id": "my4Container" }, { "id": "my5Container" }, { "id": "my6Container" }, { "id": "goodJobContainer" }, { "id": "nextLinkContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleTaskLayouts" }, { "containerId": "explanationContainer", "elementId": "explanationTaskLayouts" }, { "containerId": "my1Container", "elementId": "element1TaskLayouts" }, { "containerId": "my2Container", "elementId": "element2TaskLayouts" }, { "containerId": "my3Container", "elementId": "element3TaskLayouts" }, { "containerId": "my4Container", "elementId": "element4TaskLayouts" }, { "containerId": "my5Container", "elementId": "element5TaskLayouts" }, { "containerId": "my6Container", "elementId": "element6TaskLayouts" }, { "containerId": "goodJobContainer", "elementId": "goodJobElement" }, { "containerId": "nextLinkContainer", "elementId": "nextLinkTaskLayout" } ] }, { "id": "moduleElementsSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "max-content 1fr", "rows": "max-content max-content max-content 1fr", "template": [ "titleContainer titleContainer", "explanationContainer explanationContainer", "htmlLink1Container htmlLink2Container", "htmlLink3Container htmlLink4Container" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "htmlLink1Container" }, { "id": "htmlLink2Container" }, { "id": "htmlLink3Container" }, { "id": "htmlLink4Container" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleElements" }, { "containerId": "explanationContainer", "elementId": "explanationElements" }, { "containerId": "htmlLink1Container", "elementId": "htmlLink1Elements" }, { "containerId": "htmlLink2Container", "elementId": "htmlLink2Elements" }, { "containerId": "htmlLink3Container", "elementId": "htmlLink3Elements" }, { "containerId": "htmlLink4Container", "elementId": "htmlLink4Elements" } ] }, { "id": "taskElementsSmallScreenLayout", "type": "fixedGrid", "config": { "dim": { "x": 24, "y": 24 }, "containers": [ { "id": "titleContainer", "pos": { "x": 1, "y": 1 }, "size": { "w": 24, "h": 4 } }, { "id": "dataExplanationContainer", "pos": { "x": 1, "y": 5 }, "size": { "w": 24, "h": 6 } }, { "id": "tableContainer", "pos": { "x": 1, "y": 11 }, "size": { "w": 24, "h": 12 } }, { "id": "explanationContainer", "pos": { "x": 1, "y": 23 }, "size": { "w": 24, "h": 6 } }, { "id": "resultPictureContainer", "pos": { "x": 1, "y": 29 }, "size": { "w": 24, "h": 12 } }, { "id": "optionalTextContainer", "pos": { "x": 1, "y": 41 }, "size": { "w": 24, "h": 6 } }, { "id": "chartContainer", "pos": { "x": 1, "y": 47 }, "size": { "w": 24, "h": 12 } } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "welcomeTitle" }, { "containerId": "dataExplanationContainer", "elementId": "chartVis" }, { "containerId": "tableContainer", "elementId": "chartVis" }, { "containerId": "explanationContainer", "elementId": "chartVis" }, { "containerId": "resultPictureContainer", "elementId": "chartVis" }, { "containerId": "optionalTextContainer", "elementId": "chartVis" }, { "containerId": "chartContainer", "elementId": "chartVis" } ] }, { "id": "moduleHtmlSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr", "rows": "max-content max-content max-content max-content 1fr", "template": [ "titleContainer", "explanationContainer", "chartContainer", "optionalTextContainer", "taskLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "chartContainer" }, { "id": "optionalTextContainer" }, { "id": "taskLinkContainer", "horizontalAlignBox": "center" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleModuleHtml" }, { "containerId": "explanationContainer", "elementId": "explanationModuleHtml" }, { "containerId": "chartContainer", "elementId": "chartModuleHtml" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextModuleHtml" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleHtml" } ] }, { "id": "taskHtmlSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "max-content 1fr", "rows": "max-content max-content max-content max-content 1fr", "template": [ "titleContainer titleContainer", "explanationContainer explanationContainer", "chartContainer chartContainer", "optionalTextContainer optionalTextContainer", "goodJobContainer nextLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "chartContainer" }, { "id": "goodJobContainer" }, { "id": "nextLinkContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleTaskHtml" }, { "containerId": "explanationContainer", "elementId": "explanationTaskHtml" }, { "containerId": "chartContainer", "elementId": "titleApp" }, { "containerId": "goodJobContainer", "elementId": "goodJobElement" }, { "containerId": "nextLinkContainer", "elementId": "nextLinkTaskHtml" } ] }, { "id": "moduleKpiSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr", "rows": "max-content max-content max-content max-content minmax(300px, 1fr) max-content 1fr", "template": [ "titleContainer", "explanationContainer", "chartContainer", "dataExplanationContainer", "tableContainer", "optionalTextContainer", "taskLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "chartContainer" }, { "id": "dataExplanationContainer" }, { "id": "tableContainer" }, { "id": "optionalTextContainer" }, { "id": "taskLinkContainer", "horizontalAlignBox": "center" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleModuleKpi" }, { "containerId": "explanationContainer", "elementId": "explanationModuleKpi" }, { "containerId": "chartContainer", "elementId": "chartModuleKpi" }, { "containerId": "dataExplanationContainer", "elementId": "dataExplanationModuleKpi" }, { "containerId": "tableContainer", "elementId": "tableModuleKpi" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextModuleKpi" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleKpi" } ] }, { "id": "taskKpiSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr 1fr", "rows": "max-content max-content minmax(300px, 1fr) max-content minmax(350px, 1fr) max-content max-content 1fr", "template": [ "titleContainer titleContainer", "dataExplanationContainer dataExplanationContainer", "tableContainer tableContainer", "explanationContainer explanationContainer", "resultPictureContainer resultPictureContainer", "optionalTextContainer optionalTextContainer", "chartContainer chartContainer", "goodJobContainer nextLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "dataExplanationContainer" }, { "id": "tableContainer" }, { "id": "explanationContainer" }, { "id": "resultPictureContainer" }, { "id": "optionalTextContainer" }, { "id": "chartContainer" }, { "id": "goodJobContainer" }, { "id": "nextLinkContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleTaskKpi" }, { "containerId": "dataExplanationContainer", "elementId": "dataExplanationTaskKpi" }, { "containerId": "tableContainer", "elementId": "tableTaskKpi" }, { "containerId": "explanationContainer", "elementId": "explanationTaskKpi" }, { "containerId": "resultPictureContainer", "elementId": "resultPictureTaskKpi" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextTaskKpi" }, { "containerId": "chartContainer", "elementId": "kpiApp" }, { "containerId": "goodJobContainer", "elementId": "goodJobElement" }, { "containerId": "nextLinkContainer", "elementId": "nextLinkTaskKpi" } ] }, { "id": "moduleTableSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr", "rows": "max-content max-content minmax(300px, 1fr) max-content 1fr", "template": [ "titleContainer", "explanationContainer", "chartContainer", "optionalTextContainer", "taskLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "chartContainer" }, { "id": "optionalTextContainer" }, { "id": "taskLinkContainer", "horizontalAlignBox": "center" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleModuleTable" }, { "containerId": "explanationContainer", "elementId": "explanationModuleTable" }, { "containerId": "chartContainer", "elementId": "chartModuleTable" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextModuleTable" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleTable" } ] }, { "id": "moduleBarSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr", "rows": "max-content max-content 300px max-content 300px max-content 1fr", "template": [ "titleContainer", "explanationContainer", "chartContainer", "dataExplanationContainer", "tableContainer", "optionalTextContainer", "taskLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "chartContainer" }, { "id": "dataExplanationContainer" }, { "id": "tableContainer" }, { "id": "optionalTextContainer" }, { "id": "taskLinkContainer", "horizontalAlignBox": "center" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleModuleBar" }, { "containerId": "explanationContainer", "elementId": "explanationModuleBar" }, { "containerId": "chartContainer", "elementId": "chartModuleBar" }, { "containerId": "dataExplanationContainer", "elementId": "dataExplanationModuleBar" }, { "containerId": "tableContainer", "elementId": "tableModuleBar" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextModuleBar" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleBar" } ] }, { "id": "taskTableSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr 1fr", "rows": "max-content max-content 300px max-content 300px 1fr", "template": [ "titleContainer titleContainer", "dataExplanationContainer dataExplanationContainer", "tableContainer tableContainer", "explanationContainer explanationContainer", "chartContainer chartContainer", "goodJobContainer nextLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "dataExplanationContainer" }, { "id": "tableContainer" }, { "id": "explanationContainer" }, { "id": "chartContainer" }, { "id": "goodJobContainer" }, { "id": "nextLinkContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleTaskTable" }, { "containerId": "dataExplanationContainer", "elementId": "dataExplanationTaskTable" }, { "containerId": "tableContainer", "elementId": "tableTaskTable" }, { "containerId": "explanationContainer", "elementId": "explanationTaskTable" }, { "containerId": "resultPictureContainer", "elementId": "resultPictureTaskTable" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextTaskTable" }, { "containerId": "chartContainer", "elementId": "tableApp" }, { "containerId": "goodJobContainer", "elementId": "goodJobElement" }, { "containerId": "nextLinkContainer", "elementId": "nextLinkTaskTables" } ] }, { "id": "taskBarSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr 1fr", "rows": "max-content max-content minmax(300px, max-content) max-content 300px max-content 300px 1fr", "template": [ "titleContainer titleContainer", "dataExplanationContainer dataExplanationContainer", "tableContainer tableContainer", "explanationContainer explanationContainer", "resultPictureContainer resultPictureContainer", "optionalTextContainer optionalTextContainer", "chartContainer chartContainer", "goodJobContainer nextLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "dataExplanationContainer" }, { "id": "tableContainer" }, { "id": "explanationContainer" }, { "id": "resultPictureContainer" }, { "id": "optionalTextContainer" }, { "id": "chartContainer" }, { "id": "goodJobContainer" }, { "id": "nextLinkContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleModuleBar" }, { "containerId": "dataExplanationContainer", "elementId": "dataExplanationTaskBar" }, { "containerId": "tableContainer", "elementId": "tableTaskBar" }, { "containerId": "explanationContainer", "elementId": "explanationTaskBar" }, { "containerId": "resultPictureContainer", "elementId": "resultPictureTaskBar" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextTaskBar" }, { "containerId": "chartContainer", "elementId": "barApp" }, { "containerId": "goodJobContainer", "elementId": "goodJobElement" }, { "containerId": "nextLinkContainer", "elementId": "nextLinkTaskBar" } ] }, { "id": "moduleLineSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr", "rows": "max-content max-content 300px max-content 300px max-content 1fr", "template": [ "titleContainer", "explanationContainer", "chartContainer", "dataExplanationContainer", "tableContainer", "optionalTextContainer", "taskLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "chartContainer" }, { "id": "dataExplanationContainer" }, { "id": "tableContainer" }, { "id": "optionalTextContainer" }, { "id": "taskLinkContainer", "horizontalAlignBox": "center" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleModuleLine" }, { "containerId": "explanationContainer", "elementId": "explanationModuleLine" }, { "containerId": "chartContainer", "elementId": "chartModuleLine" }, { "containerId": "dataExplanationContainer", "elementId": "dataExplanationModuleLine" }, { "containerId": "tableContainer", "elementId": "tableModuleLine" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextModuleLine" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleLine" } ] }, { "id": "taskLineSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr 1fr", "rows": "max-content max-content minmax(300px, max-content) max-content 300px max-content 300px 1fr", "template": [ "titleContainer titleContainer", "dataExplanationContainer dataExplanationContainer", "tableContainer tableContainer", "explanationContainer explanationContainer", "resultPictureContainer resultPictureContainer", "optionalTextContainer optionalTextContainer", "chartContainer chartContainer", "goodJobContainer nextLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "dataExplanationContainer" }, { "id": "tableContainer" }, { "id": "explanationContainer" }, { "id": "resultPictureContainer" }, { "id": "optionalTextContainer" }, { "id": "chartContainer" }, { "id": "goodJobContainer" }, { "id": "nextLinkContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleTaskLine" }, { "containerId": "dataExplanationContainer", "elementId": "dataExplanationTaskLine" }, { "containerId": "tableContainer", "elementId": "tableTaskLine" }, { "containerId": "explanationContainer", "elementId": "explanationTaskLine" }, { "containerId": "resultPictureContainer", "elementId": "resultPictureTaskLine" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextTaskLine" }, { "containerId": "chartContainer", "elementId": "lineApp" }, { "containerId": "goodJobContainer", "elementId": "goodJobElement" }, { "containerId": "nextLinkContainer", "elementId": "nextLinkTaskLine" } ] }, { "id": "modulePieSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr", "rows": "max-content max-content 300px max-content 300px max-content 1fr", "template": [ "titleContainer", "explanationContainer", "chartContainer", "dataExplanationContainer", "tableContainer", "optionalTextContainer", "taskLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "chartContainer" }, { "id": "dataExplanationContainer" }, { "id": "tableContainer" }, { "id": "optionalTextContainer" }, { "id": "taskLinkContainer", "horizontalAlignBox": "center" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleModulePie" }, { "containerId": "explanationContainer", "elementId": "explanationModulePie" }, { "containerId": "chartContainer", "elementId": "chartModulePie" }, { "containerId": "dataExplanationContainer", "elementId": "dataExplanationModulePie" }, { "containerId": "tableContainer", "elementId": "tableModulePie" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextModulePie" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModulePie" } ] }, { "id": "taskPieSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr 1fr", "rows": "max-content max-content minmax(300px, max-content) max-content 300px max-content 300px 1fr", "template": [ "titleContainer titleContainer", "dataExplanationContainer dataExplanationContainer", "tableContainer tableContainer", "explanationContainer explanationContainer", "resultPictureContainer resultPictureContainer", "optionalTextContainer optionalTextContainer", "chartContainer chartContainer", "goodJobContainer nextLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "dataExplanationContainer" }, { "id": "tableContainer" }, { "id": "explanationContainer" }, { "id": "resultPictureContainer" }, { "id": "optionalTextContainer" }, { "id": "chartContainer" }, { "id": "goodJobContainer" }, { "id": "nextLinkContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleTaskPie" }, { "containerId": "dataExplanationContainer", "elementId": "dataExplanationTaskPie" }, { "containerId": "tableContainer", "elementId": "tableTaskPie" }, { "containerId": "explanationContainer", "elementId": "explanationTaskPie" }, { "containerId": "resultPictureContainer", "elementId": "resultPictureTaskPie" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextTaskPie" }, { "containerId": "chartContainer", "elementId": "pieApp" }, { "containerId": "goodJobContainer", "elementId": "goodJobElement" }, { "containerId": "nextLinkContainer", "elementId": "nextLinkTaskPie" } ] }, { "id": "moduleHighchartsSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr 1fr 1fr", "rows": "max-content max-content 1fr", "template": [ "titleContainer titleContainer titleContainer", "explanationContainer explanationContainer explanationContainer", "htmlLink2Container htmlLink3Container htmlLink4Container" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "htmlLink2Container" }, { "id": "htmlLink3Container" }, { "id": "htmlLink4Container" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleHighcharts" }, { "containerId": "explanationContainer", "elementId": "explanationHighcharts" }, { "containerId": "htmlLink1Container", "elementId": "htmlLink1Highcharts" }, { "containerId": "htmlLink2Container", "elementId": "htmlLink2Highcharts" }, { "containerId": "htmlLink3Container", "elementId": "htmlLink3Highcharts" }, { "containerId": "htmlLink4Container", "elementId": "htmlLink4Highcharts" } ] }, { "id": "moduleDatasourcesSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr", "rows": "max-content max-content max-content 1fr", "template": [ "titleContainer", "explanationContainer", "optionalTextModuleContainer", "taskLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "optionalTextModuleContainer" }, { "id": "taskLinkContainer", "horizontalAlignBox": "center" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleDatasources" }, { "containerId": "explanationContainer", "elementId": "explanationDatasources" }, { "containerId": "imageStructureContainer", "elementId": "imageStructureDatasources" }, { "containerId": "imageLogicContainer", "elementId": "imageLogicDatasources" }, { "containerId": "optionalTextModuleContainer", "elementId": "optionalTextModuleDatasources" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleDatasources" } ] }, { "id": "moduleFRTDatasourcesSmallScreenLayout", "type": "fixedGrid", "config": { "dim": { "x": 24, "y": 24 }, "containers": [ { "id": "titleContainer", "pos": { "x": 1, "y": 1 }, "size": { "w": 24, "h": 4 } }, { "id": "explanationContainer", "pos": { "x": 1, "y": 5 }, "size": { "w": 24, "h": 6 } }, { "id": "chartContainer", "pos": { "x": 1, "y": 11 }, "size": { "w": 24, "h": 12 } }, { "id": "optionalTextContainer", "pos": { "x": 1, "y": 19 }, "size": { "w": 24, "h": 6 } }, { "id": "taskLinkContainer", "pos": { "x": 15, "y": 22 }, "size": { "w": 8, "h": 2 } } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleModuleFRTDatasource" }, { "containerId": "explanationContainer", "elementId": "explanationModuleFRTDatasource" }, { "containerId": "chartContainer", "elementId": "chartModuleFRTDatasource" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextModuleFRTDatasource" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleDatasources" } ] }, { "id": "moduleRESTDatasourcesSmallScreenLayout", "type": "fixedGrid", "config": { "dim": { "x": 24, "y": 24 }, "containers": [ { "id": "titleContainer", "pos": { "x": 1, "y": 1 }, "size": { "w": 24, "h": 4 } }, { "id": "explanationContainer", "pos": { "x": 1, "y": 5 }, "size": { "w": 24, "h": 6 } }, { "id": "chartContainer", "pos": { "x": 1, "y": 11 }, "size": { "w": 24, "h": 12 } }, { "id": "optionalTextContainer", "pos": { "x": 1, "y": 19 }, "size": { "w": 24, "h": 6 } }, { "id": "taskLinkContainer", "pos": { "x": 15, "y": 22 }, "size": { "w": 8, "h": 2 } } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleModuleRESTDatasource" }, { "containerId": "explanationContainer", "elementId": "explanationModuleRESTDatasource" }, { "containerId": "chartContainer", "elementId": "chartModuleRESTDatasource" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextModuleRESTDatasource" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleDatasources" } ] }, { "id": "moduleRAWDatasourcesSmallScreenLayout", "type": "fixedGrid", "config": { "dim": { "x": 24, "y": 24 }, "containers": [ { "id": "titleContainer", "pos": { "x": 1, "y": 1 }, "size": { "w": 24, "h": 4 } }, { "id": "explanationContainer", "pos": { "x": 1, "y": 5 }, "size": { "w": 24, "h": 6 } }, { "id": "chartContainer", "pos": { "x": 1, "y": 11 }, "size": { "w": 24, "h": 12 } }, { "id": "optionalTextContainer", "pos": { "x": 1, "y": 19 }, "size": { "w": 24, "h": 6 } }, { "id": "taskLinkContainer", "pos": { "x": 15, "y": 22 }, "size": { "w": 8, "h": 2 } } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleModuleRAWDatasource" }, { "containerId": "explanationContainer", "elementId": "explanationModuleRAWDatasource" }, { "containerId": "chartContainer", "elementId": "chartModuleRAWDatasource" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextModuleRAWDatasource" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleDatasources" } ] }, { "id": "moduleDatasourceDatasourcesSmallScreenLayout", "type": "fixedGrid", "config": { "dim": { "x": 24, "y": 24 }, "containers": [ { "id": "titleContainer", "pos": { "x": 1, "y": 1 }, "size": { "w": 24, "h": 4 } }, { "id": "explanationContainer", "pos": { "x": 1, "y": 5 }, "size": { "w": 24, "h": 6 } }, { "id": "chartContainer", "pos": { "x": 1, "y": 11 }, "size": { "w": 24, "h": 12 } }, { "id": "optionalTextContainer", "pos": { "x": 1, "y": 19 }, "size": { "w": 24, "h": 6 } }, { "id": "taskLinkContainer", "pos": { "x": 15, "y": 22 }, "size": { "w": 8, "h": 2 } } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleModuleDatasourceDatasource" }, { "containerId": "explanationContainer", "elementId": "explanationModuleDatasourceDatasource" }, { "containerId": "chartContainer", "elementId": "chartModuleDatasourceDatasource" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextModuleDatasourceDatasource" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleDatasources" } ] }, { "id": "moduleDATASETDatasourcesSmallScreenLayout", "type": "fixedGrid", "config": { "dim": { "x": 24, "y": 24 }, "containers": [ { "id": "titleContainer", "pos": { "x": 1, "y": 1 }, "size": { "w": 24, "h": 4 } }, { "id": "explanationContainer", "pos": { "x": 1, "y": 5 }, "size": { "w": 24, "h": 6 } }, { "id": "chartContainer", "pos": { "x": 1, "y": 11 }, "size": { "w": 24, "h": 12 } }, { "id": "optionalTextContainer", "pos": { "x": 1, "y": 19 }, "size": { "w": 24, "h": 6 } }, { "id": "taskLinkContainer", "pos": { "x": 15, "y": 22 }, "size": { "w": 8, "h": 2 } } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleModuleDATASETDatasource" }, { "containerId": "explanationContainer", "elementId": "explanationModuleDATASETDatasource" }, { "containerId": "chartContainer", "elementId": "chartModuleDATASETDatasource" }, { "containerId": "optionalTextContainer", "elementId": "optionalTextModuleDATASETDatasource" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkModuleDatasources" } ] }, { "id": "taskDatasourcesSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr 1fr", "rows": "max-content max-content minmax(300px, max-content) 1fr", "template": [ "titleContainer titleContainer", "explanationContainer explanationContainer", "tableContainer tableContainer", "goodJobContainer nextLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "tableContainer" }, { "id": "goodJobContainer" }, { "id": "nextLinkContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleTaskDatasources" }, { "containerId": "explanationContainer", "elementId": "explanationTaskDatasources" }, { "containerId": "tableContainer", "elementId": "datasourcesExerciseTable" }, { "containerId": "goodJobContainer", "elementId": "goodJobElement" }, { "containerId": "nextLinkContainer", "elementId": "nextLinkTaskDatasources" }, { "containerId": "goodJobContainer", "elementId": "goodJobElement" }, { "containerId": "nextLinkContainer", "elementId": "nextLinkTaskSyncsets" } ] }, { "id": "moduleSyncsetsSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr 1fr", "rows": "max-content max-content max-content minmax(300px, max-content) minmax(300px, max-content) max-content 1fr", "template": [ "titleContainer titleContainer", "explanationContainer explanationContainer", "filter1Container .", "kpiContainer chartContainer", "tableContainer tableContainer", "optionalTextModuleContainer optionalTextModuleContainer", " . taskLinkContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "filter1Container", "horizontalAlignBox": "right" }, { "id": "kpiContainer" }, { "id": "chartContainer" }, { "id": "tableContainer" }, { "id": "optionalTextModuleContainer" }, { "id": "taskLinkContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleSyncsets" }, { "containerId": "explanationContainer", "elementId": "explanationSyncsets" }, { "containerId": "filter1Container", "elementId": "filter1Syncsets" }, { "containerId": "filter2Container", "elementId": "filter2Syncsets" }, { "containerId": "kpiContainer", "elementId": "kpiSyncsets" }, { "containerId": "chartContainer", "elementId": "chartSyncsets" }, { "containerId": "tableContainer", "elementId": "tableSyncsets" }, { "containerId": "optionalTextModuleContainer", "elementId": "optionalTextModuleSyncsets" }, { "containerId": "taskLinkContainer", "elementId": "taskLinkSyncsets" }, { "containerId": "taskLink2Container", "elementId": "taskLink2Syncsets" } ] }, { "id": "taskSyncsetsSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr", "rows": "max-content max-content minmax(300px, 1fr) minmax(300px, 1fr)", "template": [ "titleContainer", "explanationContainer", "exercisechartSyncsetsContainer", "exercisetableSyncsetsContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "explanationContainer" }, { "id": "exercisechartSyncsetsContainer" }, { "id": "exercisetableSyncsetsContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleTaskSyncsets" }, { "containerId": "explanationContainer", "elementId": "explanationTaskSyncsets" }, { "containerId": "exercisechartSyncsetsContainer", "elementId": "exercisechartSyncsets" }, { "containerId": "exercisetableSyncsetsContainer", "elementId": "exercisetableSyncsets" }, { "containerId": "taskLinkContainer", "elementId": "taskLink2Syncsets" } ] }, { "id": "taskFiltersSmallScreenLayout", "type": "fixedGrid", "config": { "dim": { "x": 24, "y": 24 }, "containers": [ { "id": "titleContainer", "pos": { "x": 1, "y": 1 }, "size": { "w": 24, "h": 4 } }, { "id": "explanationContainer", "pos": { "x": 1, "y": 5 }, "size": { "w": 24, "h": 6 } }, { "id": "stepbystepContainer", "pos": { "x": 1, "y": 11 }, "size": { "w": 24, "h": 11 } }, { "id": "filter1Container", "pos": { "x": 1, "y": 22 }, "size": { "w": 12, "h": 3 } }, { "id": "filter2Container", "pos": { "x": 13, "y": 22 }, "size": { "w": 12, "h": 3 } } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleTaskFilters" }, { "containerId": "explanationContainer", "elementId": "explanationTaskFilters" }, { "containerId": "stepbystepContainer", "elementId": "stepbystepTaskFilters" }, { "containerId": "filter1Container", "elementId": "filter1App" }, { "containerId": "filter2Container", "elementId": "filter2App" } ] }, { "id": "appSmallScreenLayout", "type": "flexGrid", "config": { "grid": { "configs": [ { "columns": "1fr 1fr", "rows": "max-content max-content 1fr", "template": [ "titleContainer titleContainer", "kpiContainer barContainer", "pieContainer lineContainer" ] } ] }, "containers": [ { "id": "titleContainer" }, { "id": "kpiContainer" }, { "id": "barContainer" }, { "id": "pieContainer" }, { "id": "lineContainer" } ] }, "cellPadding": "5px", "placements": [ { "containerId": "titleContainer", "elementId": "titleApp" }, { "containerId": "kpiContainer", "elementId": "kpiApp" }, { "containerId": "barContainer", "elementId": "barApp" }, { "containerId": "pieContainer", "elementId": "pieApp" }, { "containerId": "lineContainer", "elementId": "lineApp" } ] } ], "datasources": [ { "id": "raw_testSource", "origin": "raw", "config": { "schema": "table", "data": [ { "Categories": "Jan", "Berlin": 1.5, "Tokyo": 2.2, "New York": 2.3, "London": 1.1 }, { "Categories": "Feb", "Berlin": 2.1, "Tokyo": 2.8, "New York": 2.9, "London": 3.1 }, { "Categories": "Mar", "Berlin": 1.2, "Tokyo": 2.8, "New York": 2.1, "London": 2.4 }, { "Categories": "Apr", "Berlin": 0.2, "Tokyo": 4.2, "New York": 3.7, "London": 2.5 } ] } }, { "id": "chartModuleKpi", "origin": "frt", "config": { "dataId": "67ccf798-d895-4c80-a54c-0bf309be381d", "schema": "table", "filterOptions": { "distinctValues": true, "enabled": true }, "dataOptions": { "sort": [] } } }, { "id": "chartTaskBar", "origin": "frt", "config": { "dataId": "cedc3de4-cde3-441a-b1b8-641a7b1cfc08", "schema": "table", "dataOptions": { "sort": [] } } }, { "id": "chartTaskPie", "origin": "datatable", "config": { "dataId": "f413a09a-9d6f-4bf0-a7f0-295489c2db9d", "schema": "table", "dataOptions": { "sort": [] } } }, { "id": "chartTaskKpi", "origin": "frt", "config": { "dataId": "a2aae845-49bf-4b77-80e9-8d26899aaaac", "schema": "table", "dataOptions": { "sort": [] } } }, { "id": "chartModuleBar", "origin": "frt", "config": { "dataId": "f925cecd-c9ea-4a28-913e-7a043bb0a4ae", "schema": "table", "dataOptions": { "sort": [] } } }, { "id": "datasourcesExerciseTableSource", "origin": "frt", "config": { //Change the dataId to 'dfe26ec0-7641-4ac3-ba72-060c06682b21' "dataId": "f925cecd-c9ea-4a28-913e-7a043bb0a4aa", "schema": "table", "dataOptions": { "sort": [] } } } ], "elements": [ { "id": "greenbutton_withouticon", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.layoutsPage", "showLink": false, "linkElement": true } ] }, { "id": "explanationHighcharts", "type": "html", "config": { "html": "

Our 'Highcharts-Elements' are interactive building blocks for data visualization. We have many available and there will be more over time. Highcharts-Elements, like Elements in general, can be implemented once but placed as often as you like in several layouts.

Let´s start with 'Bar Charts'

" } }, { "id": "HL+SubL_Centered", "type": "html", "styles": {}, "config": { "html": "

Overview

The App System enables you to build rich enterprise experiences and custom applications with the patterns and established best practices that are native. The complete configuration of a ONE DATA App UI is done via JSON. ODML is a specification of the available configurations you can use in the JSON to describe your App UI.

" } }, { "id": "html_image_Intro", "type": "html", "styles": {}, "config": { "html": "" }, "navigation": [ { "to": "", "showLink": false, "linkElement": false } ] }, { "id": "html_linkFreshdeskIntro", "type": "html", "config": { "html": "

Before you start diving into the App we suggest to check our FreshDesk article.

" } }, { "id": "HL+p+link", "type": "html", "styles": {}, "navigation": [ { "to": "introPage.layoutsPage", "showLink": false, "linkElement": true } ], "config": { "html": "

Layouts

In previous ONE DATA you had only one report layout available. In your App you can build as many layouts as you like and fill them with different elements.

" } }, { "id": "datasourcesExerciseTable", "type": "table", "source": "datasourcesExerciseTableSource", "showResetFilter": { "enabled": true, "label": "Reset filter", "icon": "arrowleft" }, "config": { "pagination": { "enabled": true, "showInfo": true }, "striped": false, "sorting": { "enabled": true, "column": "", "order": "asc" }, "editing": {}, "valueFilter": true, "rangeFilter": true, "columns": [] } }, { "id": "HL+p+link2", "type": "html", "styles": {}, "navigation": [ { "to": "introPage.elementsPage", "showLink": false, "linkElement": true } ], "config": { "html": "

Elements

Our Elements are interactive building blocks for creating a user interface. We have many available and there even will be build more and more, but of couse you can start building your own custom elements. Elements can be implemented onces but placed as often as you like in ceveral layouts.

" } }, { "id": "HL+SubL", "type": "html", "styles": {}, "config": { "html": "

Learn how to build an App

The ONE LOGIC App Builder & Viewer based on our Data Science Platform ONE DATA, will make it easy for you, to craft Data into easy to understand and interactive Dashboards and Reports.

In this Basic Trainingcourse, you´ll learn how to setup your own App in just six easy steps, covered by the Trainingmodules:

- Layouts
- Pages
- Navigation
- Elements
- Datasources
- Syncsets

" } }, { "id": "linkModuleLayouts", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.layoutsPage", "showLink": false, "linkElement": true } ] }, { "id": "linkModulePages", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.pagesPage", "showLink": false, "linkElement": true } ] }, { "id": "linkModuleNavigation", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.navigationPage", "showLink": false, "linkElement": true } ] }, { "id": "linkModuleElements", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage", "showLink": false, "linkElement": true } ] }, { "id": "linModulekDatasources", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.datasourcesPage", "showLink": false, "linkElement": true } ] }, { "id": "linkModuleSyncsets", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.syncsetsPage", "showLink": false, "linkElement": true } ] }, { "id": "titleElements", "type": "html", "config": { "html": "

Elements

" } }, { "id": "explanationElements", "type": "html", "config": { "html": "

Our Elements are interactive building blocks for creating a user interface. We have many available and there will be more over time. You can also start building your own custom elements. You can implement Elements once and place them as often as you like in several layouts.

Let´s start with 'HTML' below.

" } }, { "id": "htmlLink1Elements", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.htmlPage", "showLink": false, "linkElement": true } ] }, { "id": "htmlLink2Elements", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.kpiPage", "showLink": false, "linkElement": true } ] }, { "id": "htmlLink3Elements", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.tablePage", "showLink": false, "linkElement": true } ] }, { "id": "htmlLink4Elements", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.highchartsPage", "showLink": false, "linkElement": true } ] }, { "id": "titleHighcharts", "type": "html", "config": { "html": "

Elements: Highcharts

" } }, { "id": "explanationDatasources", "type": "html", "config": { "html": "

Datasources define the data which you would like to be visualized by the before mentioned elements.
Datasources itself do not request any data, this only happens if they are actually used inside an 'element' which is part of the currently shown Layout.

There are 3 'schema' options within Apps:

- Data as 'list'
- Data as 'string'
- Data as 'table'

Depending on the data source type, not all schema - options can be used.

You can also use a specific 'datasource' which is able to convert:

- tables to lists or strings
- from lists to strings 

" } }, { "id": "htmlLink1Highcharts", "type": "html", "navigation": [ { "to": "introPage.elementsPage.highchartsPage.barPage", "label": "Area Chart" } ], "config": { "html": "
Area Chart

Get more insights on Area Charts.

" } }, { "id": "htmlLink2Highcharts", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.highchartsPage.barPage", "showLink": false, "linkElement": true } ] }, { "id": "htmlLink3Highcharts", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.highchartsPage.linePage", "showLink": false, "linkElement": true } ] }, { "id": "htmlLink4Highcharts", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.highchartsPage.piePage", "showLink": false, "linkElement": true } ] }, { "id": "explanationTaskBar", "type": "html", "config": { "html": "

Below you can see a picture of the chart which you should create

" } }, { "id": "resultPictureTaskBar", "type": "highcharts", "source": "chartTaskBar", "config": { "title": { "text": "Bar Chart" }, "subtitle": { "text": "Check JSON to learn about Bar Chart Properties" }, "chart": { "type": "bar" }, "plotOptions": { "series": { "dataLabels": { "enabled": true }, "animation": false } }, "series": [ { "name": "cases" } ], "yAxis": { "title": {} } } }, { "id": "dataExplanationTaskBar", "type": "html", "config": { "html": "

Let's create a Bar Chart for 'My first App'. The Bar Chart will show occurences for every variant. The data for your chart is given below

" } }, { "id": "tableTaskBar", "type": "table", "source": "chartTaskBar", "showResetFilter": { "enabled": true, "label": "Reset filter", "icon": "arrowleft" }, "config": { "pagination": { "enabled": true, "showInfo": true }, "striped": false, "sorting": { "enabled": true, "column": "", "order": "asc" }, "editing": {}, "valueFilter": true, "rangeFilter": true, "columns": [] } }, { "id": "nextLinkTaskLayout", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.pagesPage", "showLink": false, "linkElement": true } ] }, { "id": "nextLinkTaskPages", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.navigationPage", "showLink": false, "linkElement": true } ] }, { "id": "nextLinkTaskNavigation", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage", "showLink": false, "linkElement": true } ] }, { "id": "nextLinkTaskHtml", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.kpiPage", "showLink": false, "linkElement": true } ] }, { "id": "nextLinkTaskKpi", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.tablePage", "showLink": false, "linkElement": true } ] }, { "id": "nextLinkTaskTables", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.highchartsPage", "showLink": false, "linkElement": true } ] }, { "id": "nextLinkTaskBar", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.highchartsPage.linePage", "showLink": false, "linkElement": true } ] }, { "id": "nextLinkTaskLine", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.highchartsPage.piePage", "showLink": false, "linkElement": true } ] }, { "id": "nextLinkTaskPie", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.datasourcesPage", "showLink": false, "linkElement": true } ] }, { "id": "nextLinkTaskDatasources", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.syncsetsPage", "showLink": false, "linkElement": true } ] }, { "id": "optionalTextTaskBar", "type": "html", "config": { "html": "

Now let's try to create such a bar chart. Here is a template to start with.'Navigate to element definition' below to start with the task!

" } }, { "id": "welcomeTitle", "type": "html", "config": { "html": "

Hello World!

" } }, { "id": "titleModuleHtml", "type": "html", "config": { "html": "

Elements: HTML

" } }, { "id": "titleTaskHtml", "type": "html", "config": { "html": "

Task: Create your HTML title

" } }, { "id": "explanationModuleHtml", "type": "html", "config": { "html": "

Using elements with property 'type:html' you can create titles, add pictures to your app and use all the elements provided by HTML markup language. Use the 'right button click' and choose 'Navigate to element definition' to learn more about element properties.

" } }, { "id": "explanationTaskHtml", "type": "html", "config": { "html": "

Below you can see a sample HTML element. Change the text of it to: My first App
If you would like another challenge, make the HTML element link to your next module by linking to 'introPage.elementsPage.kpiPage'

" } }, { "id": "chartModuleHtml", "type": "html", "config": { "html": "

Right Click on this text and choose 'Navigate to element definition'

" }, "navigation": [ { "to": "", "showLink": false, "linkElement": false } ] }, { "id": "titleApp", "type": "html", "config": { "html": "

Change Me

" } }, { "id": "optionalTextModuleHtml", "type": "html", "config": { "html": "

To learn more about HTML check our documentation

" } }, { "id": "optionalTextTaskHtml", "type": "html", "config": { "html": "
The HTML element is used to display any HTML you can think of. There is no additional processing done on the given HTML source
" } }, { "id": "titleModuleKpi", "type": "html", "config": { "html": "

Elements: KPI

" } }, { "id": "explanationModuleKpi", "type": "html", "config": { "html": "

Using elements with property 'type:KPI' you can create an element like you see below. 'Use the right button click' on the 'Population KPI' below and choose 'Navigate to element definition' to learn more about element properties.

" } }, { "id": "dataExplanationModuleKpi", "type": "html", "config": { "html": "

Here you can find the data behind the KPI. Its not necessary to use all 3 columns, if you need to show only the value you can use one column as well.

" } }, { "id": "tableModuleKpi", "type": "table", "source": "chartModuleKpi", "showResetFilter": { "enabled": true, "label": "Reset filter", "icon": "arrowleft" }, "config": { "pagination": { "enabled": false, "showInfo": true }, "striped": false, "sorting": { "enabled": true, "column": "", "order": "asc" }, "editing": {}, "valueFilter": true, "rangeFilter": true, "columns": [] } }, { "id": "optionalTextModuleKpi", "type": "html", "config": { "html": "

To learn more about KPI check our documentation

" } }, { "id": "titleTaskKpi", "type": "html", "config": { "html": "

Task: create first KPI

" } }, { "id": "explanationTaskKpi", "type": "html", "config": { "html": "

Below you can see a picture of the chart which you should create

" } }, { "id": "kpiApp", "type": "kpi", "source": "chartTaskKpi", "styles": {}, "sourceOptions": { "sql": "" }, "config": { "title": "My test KPI", "subTitle": "This is a test", "layout": { "orientation": "vertical" }, "kpiName": { "column": "kpi_name" }, "unit": { "column": "kpi_unit" }, "value": { "column": "kpi_value" } } }, { "id": "dataExplanationTaskKpi", "type": "html", "config": { "html": "

Let's create a KPI for 'My first App'.
The KPI data is given below

" } }, { "id": "optionalTextTaskKpi", "type": "html", "config": { "html": "

Now let's create such a KPI. Below is a template to start with. 'Navigate to element definition' to start with the task!

" } }, { "id": "tableTaskKpi", "type": "table", "source": "chartTaskKpi", "showResetFilter": { "enabled": true, "label": "Reset filter", "icon": "arrowleft" }, "config": { "pagination": { "enabled": true, "showInfo": true }, "striped": false, "sorting": { "enabled": false, "column": "", "order": "asc" }, "editing": {}, "valueFilter": true, "rangeFilter": true, "columns": [] } }, { "id": "chartModuleKpi", "type": "kpi", "source": "chartModuleKpi", "sourceOptions": { "sql": "" }, "styles": {}, "config": { "title": "Population", "subTitle": "in million", "layout": { "orientation": "horizontal" }, "kpiName": { "column": "kpi_name" }, "unit": {}, "value": { "column": "kpi_value" } } }, { "id": "titleModuleBar", "type": "html", "config": { "html": "

Highcharts Elements: Bar Charts

" } }, { "id": "explanationModuleBar", "type": "html", "config": { "html": "

Using elements with property 'type: column' and 'type: bar' you can create an element like you see below. Use the 'right button click' and choose 'Navigate to element definition' to learn more about element properties

" } }, { "id": "chartModuleBar", "type": "highcharts", "source": "raw_testSource", "config": { "title": { "text": "Bar Chart" }, "subtitle": { "text": "" }, "chart": { "type": "column" }, "plotOptions": { "series": { "dataLabels": { "enabled": true }, "animation": false } }, "series": [ { "name": "Tokyo" }, { "name": "London" } ], "yAxis": { "title": {} } } }, { "id": "dataExplanationModuleBar", "type": "html", "config": { "html": "

Below you can find the data behind the chart. The first column of the data set should countain 'title' values, other columns represent the data you want to display.

" } }, { "id": "goodJobElement", "type": "html", "config": { "html": "

Done with the Exercise?
Good job!

" } }, { "id": "tableModuleBar", "type": "table", "source": "raw_testSource", "showResetFilter": { "enabled": true, "label": "Reset filter", "icon": "arrowleft" }, "config": { "pagination": { "enabled": true, "showInfo": true }, "striped": false, "sorting": { "enabled": true, "column": "", "order": "asc" }, "editing": {}, "valueFilter": true, "rangeFilter": true, "columns": [ { "name": "Tokyo" }, { "name": "London" } ] } }, { "id": "optionalTextModuleBar", "type": "html", "config": { "html": "

To learn more about Highcharts check our documentation

" } }, { "id": "titleHome", "type": "html", "config": { "html": "

Home page

" } }, { "id": "barApp", "type": "highcharts", "source": "chartTaskBar", "config": { "title": { "text": "Create your Bar Chart here" }, "subtitle": { "text": "" }, "chart": { "type": "column" }, "plotOptions": { "series": { "dataLabels": { "enabled": true }, "animation": false } }, "series": [ { "name": "" } ], "yAxis": { "title": {} } } }, { "id": "titleModulePie", "type": "html", "config": { "html": "

Highcharts Elements: Pie Charts

" } }, { "id": "explanationModulePie", "type": "html", "config": { "html": "

Using elements with property 'type:highcharts' and the chart 'type:pie' you can create a chart like you see below. Use the 'right button click' and choose 'Navigate to element definition' to learn more about element properties.

" } }, { "id": "chartModulePie", "type": "highcharts", "source": "raw_testSource", "config": { "title": { "text": "Pie Chart" }, "subtitle": { "text": "Check JSON to learn about Pie Chart Properties" }, "chart": { "type": "pie" }, "plotOptions": { "series": { "dataLabels": { "enabled": true }, "animation": false } }, "series": [ { "name": "Tokyo" } ], "yAxis": { "title": {} } } }, { "id": "dataExplanationModulePie", "type": "html", "config": { "html": "Here you can find the data behind the pie chart. If you need to show another city you can use the property 'name:' in 'series' to change it." } }, { "id": "tableModulePie", "type": "table", "source": "raw_testSource", "showResetFilter": { "enabled": true, "label": "Reset filter", "icon": "arrowleft" }, "config": { "pagination": { "enabled": true, "showInfo": true }, "striped": false, "sorting": { "enabled": true, "column": "", "order": "asc" }, "editing": { "add": true, "edit": true, "delete": true }, "valueFilter": true, "rangeFilter": true, "columns": [] } }, { "id": "optionalTextModulePie", "type": "html", "config": { "html": "

To learn more about highchart elments check our documentation.

" } }, { "id": "taskLinkModulePie", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.highchartsPage.piePage.pieTaskPage", "showLink": false, "linkElement": true } ] }, { "id": "titleTaskPie", "type": "html", "config": { "html": "

Highcharts Elements: Pie Charts

" } }, { "id": "dataExplanationTaskPie", "type": "html", "config": { "html": "

Let's create a Pie Chart for 'My first App'. The Pie Chart will show occurences for every variant.
The data for your chart is given below.

" } }, { "id": "tableTaskPie", "type": "table", "source": "chartTaskPie", "showResetFilter": { "enabled": true, "label": "Reset filter", "icon": "arrowleft" }, "config": { "pagination": { "enabled": true, "showInfo": true }, "striped": false, "sorting": { "enabled": true, "column": "", "order": "asc" }, "editing": { "add": true, "edit": true, "delete": true }, "valueFilter": true, "rangeFilter": true, "columns": [] } }, { "id": "explanationTaskPie", "type": "html", "config": { "html": "

Below you can see a picture of the chart which you should create:

" } }, { "id": "resultPictureTaskPie", "type": "highcharts", "source": "chartTaskPie", "config": { "title": { "text": "Pie Chart" }, "subtitle": { "text": "Check JSON to learn about Pie Chart Properties" }, "chart": { "type": "pie" }, "plotOptions": { "series": { "dataLabels": { "enabled": true }, "animation": false } }, "series": [ { "name": "cases" } ], "yAxis": { "title": {} } } }, { "id": "optionalTextTaskPie", "type": "html", "config": { "html": "

Now let's try to create such a pie chart. Here is a template to start with.'Navigate to element definition' below to start with the task!

" } }, { "id": "pieApp", "type": "highcharts", "source": "chartTaskPie", "config": { "title": { "text": "Create your Pie Chart here" }, "subtitle": { "text": "" }, "chart": { "type": "pie" }, "plotOptions": { "series": { "dataLabels": { "enabled": true }, "animation": false } }, "series": [ { "name": "" } ], "yAxis": { "title": {} } } }, { "id": "titleModuleLine", "type": "html", "config": { "html": "

Highcharts Elements: Line Charts

" } }, { "id": "explanationModuleLine", "type": "html", "config": { "html": "

Using elements with property 'type:highcharts' and the chart 'type:line' you can create a chart like you see below. Use the 'right button click' and choose 'Navigate to element definition' to learn more about element properties.

" } }, { "id": "chartModuleLine", "type": "highcharts", "source": "raw_testSource", "config": { "title": { "text": "Line Chart" }, "subtitle": { "text": "Check JSON to learn about Line Chart Properties" }, "chart": { "type": "line" }, "plotOptions": { "series": { "dataLabels": { "enabled": true }, "animation": false } }, "series": [ { "name": "Tokyo", "turboThreshold": 0 }, { "name": "New York", "turboThreshold": 0 }, { "name": "Berlin", "turboThreshold": 0 }, { "name": "London", "turboThreshold": 0 } ], "yAxis": { "title": {} } } }, { "id": "dataExplanationModuleLine", "type": "html", "config": { "html": "

Here you can find the data behind the line chart. Its not necessary to have all 4 lines, if you need to show only Tokyo you can use one series.

" } }, { "id": "tableModuleLine", "type": "table", "source": "raw_testSource", "showResetFilter": { "enabled": true, "label": "Reset filter", "icon": "arrowleft" }, "config": { "pagination": { "enabled": true, "showInfo": true }, "striped": false, "sorting": { "enabled": true, "column": "", "order": "asc" }, "editing": { "add": true, "edit": true, "delete": true }, "valueFilter": true, "rangeFilter": true, "columns": [] } }, { "id": "optionalTextModuleLine", "type": "html", "config": { "html": "

To learn more about highchart elments check our documentation.

" } }, { "id": "taskLinkModuleLine", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.highchartsPage.linePage.lineTaskPage", "showLink": false, "linkElement": true } ] }, { "id": "titleTaskLine", "type": "html", "config": { "html": "

Highcharts Elements: Line Charts

" } }, { "id": "dataExplanationTaskLine", "type": "html", "config": { "html": "

Let's create a Line Chart for 'My first App'. The Line Chart will show occurences for every variant. The data for your chart is given below.

" } }, { "id": "tableTaskLine", "type": "table", "source": "chartTaskBar", "showResetFilter": { "enabled": true, "label": "Reset filter", "icon": "arrowleft" }, "config": { "pagination": { "enabled": true, "showInfo": true }, "striped": false, "sorting": { "enabled": true, "column": "", "order": "asc" }, "editing": { "add": true, "edit": true, "delete": true }, "valueFilter": true, "rangeFilter": true, "columns": [] } }, { "id": "explanationTaskLine", "type": "html", "config": { "html": "

Below you can see a picture of the chart which you should create:

" } }, { "id": "resultPictureTaskLine", "type": "highcharts", "source": "chartTaskBar", "config": { "title": { "text": "Line Chart" }, "subtitle": { "text": "Check JSON to learn about Line Chart Properties" }, "chart": { "type": "line" }, "plotOptions": { "series": { "dataLabels": { "enabled": true }, "animation": false } }, "series": [ { "name": "cases" } ], "yAxis": { "title": {} } } }, { "id": "optionalTextTaskLine", "type": "html", "config": { "html": "

Now let's try to create such a line chart. Here is a template to start with.
'Navigate to element definition'
below to start with the task!

" } }, { "id": "lineApp", "type": "highcharts", "source": "chartTaskBar", "config": { "title": { "text": "Create your Line Chart here" }, "subtitle": { "text": "Check JSON to learn about Line Chart Properties" }, "chart": { "type": "spline" }, "plotOptions": { "series": { "dataLabels": { "enabled": true }, "animation": false } }, "series": [ { "name": "" } ], "yAxis": { "title": {} } } }, { "id": "taskLinkModuleHtml", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.htmlPage.htmltaskPage", "showLink": false, "linkElement": true } ] }, { "id": "taskLinkModuleKpi", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.kpiPage.kpiTaskPage", "showLink": false, "linkElement": true } ] }, { "id": "resultPictureTaskKpi", "type": "kpi", "source": "chartTaskKpi", "styles": {}, "sourceOptions": { "sql": "" }, "config": { "title": "Overall KPIs", "subTitle": "", "layout": { "orientation": "vertical" }, "kpiName": { "column": "kpi_name" }, "unit": { "column": "kpi_unit" }, "value": { "column": "kpi_value" } } }, { "id": "taskLinkModuleBar", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.elementsPage.highchartsPage.barPage.barTaskPage", "showLink": false, "linkElement": true } ] }, { "id": "taskLinkModulePages", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.pagesPage.pagesTaskPage", "showLink": false, "linkElement": true } ] }, { "id": "taskLinkModuleNavigation", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.navigationPage.navigationTaskPage", "showLink": false, "linkElement": true } ] }, { "id": "taskLinkModuleLayouts", "type": "html", "styles": {}, "config": { "html": "
" }, "navigation": [ { "to": "introPage.layoutsPage.layoutsTaskPage", "showLink": false, "linkElement": true } ] }, { "id": "titlePages", "type": "html", "config": { "html": "

Pages

" } }, { "id": "explanationPages", "type": "html", "config": { "html": "

Pages allow you to add multiple APP pages, just as you know it from any web page, allowing you to create a deeper structure. Every page can have its own layout and content. You can also introduce a hierarchy to your pages, which is closely related to the navigation of your APP. In the case of this training, the page hierarchy is structured as 'introduction -> module -> exercise'. 

To create a 'pages' object, as child of the overall JSON code of your APP, you need to know some important parameters. 

Just 'right-click' on this text and 'Navigate to layout definiton'.
Comments in the code will give you more details

In order to establish a hierarchy between pages, you can also add a 'children' array to the page object. In this array, you can define page objects just the way you learned it from the description given above.

Note: You can also add conditions, which allow for different layout choices depending on the conditions you define – but this will not be covered in this training.

" } }, { "id": "imageStructurePages", "type": "html", "config": { "html": "

Bild von der Struktur

" } }, { "id": "imageLogicPages", "type": "html", "config": { "html": "

Bild von der dahinterliegenden Logik

" } }, { "id": "optionalTextModulePages", "type": "html", "config": { "html": "

To learn more about Pages check our documentation.

" } }, { "id": "titleTaskPages", "type": "html", "config": { "html": "

Task: Create a new Page

" } }, { "id": "explanationTaskPages", "type": "html", "config": { "html": "

Try to understand the logic behind it. And follow the instructions to add 'My first App'.

" } }, { "id": "stepbystepTaskPages", "type": "html", "config": { "html": "

1. Go to Pages via IDE (press the 'pages' button to the far left in the structure of your APP, then click 'introPage')
2. Follow the instructions in the code editor to change the configuration options
3. Click on 'placeholder' in the IDE
4. Follow the instructions in the code editor

" } }, { "id": "titleNavigation", "type": "html", "config": { "html": "

Navigation

" } }, { "id": "explanationNavigation", "type": "html", "config": { "html": "

To setup an overview of your previously created pages, you will now learn how to work with 'Navigation'.

Within Apps, the Navigation is an integral part of the Sidebar.

You can setup your Page Navigation in two easy steps.

Step I - setup your Navigation layout 'config':
- decide if you would like to setup a Sidebar Navigation
- hide or show 'children' pages
- the Navigationbar can be shown permanently or accessible through an icon

Step II - you can now setup the content via 'entries':
- 'page': copy your Page ID to link your Page to the Nav Bar
- 'label': name the Page that you are jumping to
- 'children': setup your Page logic

Note: The Navigationpath is generally following the Syntax: 'pageId.childPageId.childChildPageId'

" } }, { "id": "imageStructureNavigation", "type": "html", "config": { "html": "

Bild von der Struktur

" } }, { "id": "imageLogicNavigation", "type": "html", "config": { "html": "

Bild von der dahinterliegenden Logik

" } }, { "id": "optionalTextModuleNavigation", "type": "html", "config": { "html": "

To learn more about Navigation check our documentation.

" } }, { "id": "titleTaskNavigation", "type": "html", "config": { "html": "

Task: Extend the Navigation

" } }, { "id": "explanationTaskNavigation", "type": "html", "config": { "html": "

Play with the configuration of the navigation section. Try to understand the logic behind it and follow the instructions to add 'My first App' to the navigation sidebar.

" } }, { "id": "stepbystepTaskNavigation", "type": "html", "config": { "html": "

1. Go to Navigation via IDE
2. Follow the instructions in the code editor to create a new page in the navigation sidebar

" } }, { "id": "titleLayouts", "type": "html", "config": { "html": "

Layouts

" } }, { "id": "explanationLayouts", "type": "html", "config": { "html": "

Layouts build the skeleton of your App and your envisioned visualizations. Layouts are defined by a grid of specified columns and rows, which you can build upon to. After setting up your 'layout', you should think about the Placement of the 'elements', like charts or HTML content, that you´d like to display in your final App.
Therefore, you need to place 'containers' in which you later on display your elements.

To build your own layout, we will now introduce you to the most important objects and parameters.
Just 'right-click' on this text and choose 'Navigate to layout definition', to see the values for the Layout of this page.

Comments in the code will give you more details.

" } }, { "id": "imageLogicLayouts", "type": "html", "config": { "html": "

Bild von der dahinterliegenden Logik

" } }, { "id": "optionalTextModuleLayouts", "type": "html", "config": { "html": "

To learn more about Layouts check our documentation.

" } }, { "id": "titleTaskLayouts", "type": "html", "config": { "html": "

Task: Create a new Layout

" } }, { "id": "explanationTaskLayouts", "type": "html", "config": { "html": "

Rearrange the containers below by 'right clicking' on them and 'Navigate to layout definition'.

Follow the comments in the editor.

" } }, { "id": "imageTaskLayouts", "type": "html", "config": { "html": "

Hier ein Bild von der App mit Placements und Containern" } }, { "id": "stepbystepTaskLayouts", "type": "html", "config": { "html": "

1. Lege in der IDE ein neues Layout an
2. Kopiere ein vorhandenes Layout (zB 'introSmallScreenLayout')
3. ändere die id auf 'appSmallScreenLayout'
4. Füge so viele Container hinzu wie nötig
5. Füge entsprechend der Anzahl der hinzugefügten Containern Placements hinzu
6. Am Ende solltest Du 8 Container und 8 Placements haben
7. Folgende elementIds sollten in Deinen Placements den Containern zugeordnet werden: 'titleApp', 'filter1App', 'filter2App', 'kpiApp', 'barApp', 'pieApp', 'lineApp', 'tableApp',

" } }, { "id": "titleDatasources", "type": "html", "config": { "html": "

Datasources

" } }, { "id": "explanationDatasources", "type": "html", "config": { "html": "

Datasources define the data which you would like to be visualized by the before mentioned elements.
Datasources itself do not request any data, this only happens if they are actually used inside an ('element') which is part of the currently shown Layout.

There are 3('schema') options within Apps: