| Latest revision |
Your text |
| Line 1: |
Line 1: |
| == Syntax ==
| | This example shows an concept, how to handle the VisualData form parameter 'preload-data' with nested and multiple values. This makes it possible to generate dynamical forms. |
| This example shows a concept, how to handle the VisualData form parameter 'preload-data' with nested and multiple values. This makes it possible to generate dynamical forms, e.g. to collect data differentiated by district, gender and age categories: | | |
| | Notice the placeholder <code>$</code> and the value separator <code>@@@@</code>. The value separator can be set in VisualData queries, see below. |
|
| |
|
| <syntaxhighlight lang="wikitext"> | | <syntaxhighlight lang="wikitext"> |
| ...
| |
| |preload-data?classes/$/class name = District 1@@@@District 2@@@@District 3 | | |preload-data?classes/$/class name = District 1@@@@District 2@@@@District 3 |
| |preload-data?classes/$/sub-classes/$/sub-class name = female@@@@male@@@@diverse | | |preload-data?classes/$/sub-classes/$/sub-class name = female@@@@male@@@@diverse |
| |preload-data?classes/$/sub-classes/$/sub-sub-classes/$/sub-sub-class name = 0 - 14@@@@15 - 29@@@@30 - 44@@@@45 - 59@@@@60 + | | |preload-data?classes/$/sub-classes/$/sub-sub-classes/$/sub-sub-class name = 0 - 14@@@@15 - 29@@@@30 - 44@@@@45 - 59@@@@60 + |
| ...
| |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
| Notice the placeholder <code>$</code> and the value separator <code>@@@@</code>. The value separator can be set in VisualData queries, see below.
| |
|
| |
|
| {{#visualdataform: Dataset | | {{#visualdataform: Dataset |
| Line 32: |
Line 29: |
| }} | | }} |
|
| |
|
| See corresponding form [[VisualDataSchema:Data_classes|Data Classes]]
| |
|
| |
| (For styling see [[MediaWiki:Common.css]])
| |
|
| |
|
| == Workflow example == | | == Workflow example == |
|
| |
|
| === Step 1: Define one or more statistical class sets === | | === Step 1: Define one or more statistical class sets === |
| {{#visualdataform: Data classes | | |
| |title = Create class set | | === Step 2: Attach class sets to a page === |
| | |
| | === Step 3: Add datasets to a page === |
| | |
| | <syntaxhighlight lang="wikitext"> |
| | {{#visualdataform: Dataset |
| | |title = {{int:webmo-add-dataset}} |
| |action = create | | |action = create |
| |return-page = {{FULLPAGENAME}} | | |return-page = {{FULLPAGENAME}} |
| |view = popup | | |view = popup |
| |popup-size = larger | | |popup-size = larger |
| |css-class = form-classes | | |css-class = form-dataset |
| |pagename-formula = <unique title> | | |pagename-formula = <unique title> |
| |edit-freetext = false | | |edit-freetext = false |
| |edit-categories = false | | |edit-categories = false |
| |edit-content-model = false | | |edit-content-model = false |
| |edit-target-slot = false | | |edit-target-slot = false |
| |target-slot = main | | |target-slot = main |
| |default-categories = classes
| |
| |default-content-model = json | | |default-content-model = json |
| |preload-data?belongs to = {{PAGEID}} | | |preload-data?belongs to = {{PAGEID}} |
| | |preload-data?classes/$/class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?classes|schema = Indicator classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} |
| | |preload-data?classes/$/sub-classes/$/sub-class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?sub-classes|schema = Indicator classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} |
| | |preload-data?classes/$/sub-classes/$/sub-sub-classes/$/sub-sub-class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?sub-sub-classes|schema = Indicator classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} |
| }} | | }} |
| [{{canonicalurl:Help:Available_data_classes}} See available class sets] | | </syntaxhighlight> |
| | |
| | See corresponding form [[VisualDataSchema:Data_classes|Data Classes]] |
| | |
|
| |
|
| | {{{title}}} {{{articleid}}} |
|
| |
|
| === Step 2: Attach class sets to this page ===
| | <div><small>{{#advancedlink:{{{pagetitle}}}?slot=jsondata|JSON data}}</small></div> |
|
| |
|
| {{#visualdataform: Page classes | | <div class="webmo-float-button webmo-float-button-edit"> |
| |title = Add class sets to page | | {{#visualdataform: Indicator key data, Indicator classes |
| | |title = {{int:webmo-edit-indicator}} |
| |action = edit | | |action = edit |
| |edit-page = {{FULLPAGENAME}} | | |edit-page = {{{pagetitle}}} |
| |return-page = {{FULLPAGENAME}} | | |return-page = {{FULLPAGENAME}} |
| |view = popup | | |view = popup |
| Line 74: |
Line 81: |
| |edit-target-slot = false | | |edit-target-slot = false |
| |layout-align = top | | |layout-align = top |
| | |popup-help = true |
| | |submit-button-text = |
| | |layout = |
| | |submit-button-text = |
| | |validate-button-text = |
| | |selected-schema = Indicator key data |
| | }}</div> |
| | |
| | {{#if:{{#visualdataquery:[[belongs to::{{PAGEID}}]]|?belongs to|schema = Dataset|format = raw}}|| |
| | <div class="webmo-float-button webmo-float-button-edit"> |
| | {{#visualdataform: Indicator key data, Indicator classes |
| | |title = {{int:webmo-select-data-classes}} |
| | |action = edit |
| | |edit-page = {{{pagetitle}}} |
| | |return-page = {{FULLPAGENAME}} |
| | |view = popup |
| | |popup-size = larger |
| | |css-class = |
| | |edit-freetext = false |
| | |edit-categories = false |
| | |edit-content-model = false |
| | |edit-target-slot = false |
| | |layout-align = top |
| | |popup-help = true |
| | |submit-button-text = |
| | |layout = |
| | |submit-button-text = |
| | |validate-button-text = |
| | |selected-schema = Indicator classes |
| | }}</div> |
| | <div class="webmo-add-button webmo-add-classes"> |
| | {{#visualdataform: Data classes |
| | |title = {{int:webmo-create-data-classes}} |
| | |action = create |
| | |edit-page = |
| | |return-page = {{FULLPAGENAME}} |
| | |view = popup |
| | |popup-size = larger |
| | |css-class = form-classes |
| | |pagename-formula = <unique title> |
| | |edit-freetext = false |
| | |edit-categories = false |
| | |edit-content-model = false |
| | |edit-target-slot = false |
| | |target-slot = main |
| | |default-categories = classes |
| | |default-content-model = json |
| | |layout-align = top |
| | |popup-help = true |
| | |submit-button-text = |
| | |layout = |
| | |submit-button-text = |
| | |validate-button-text = |
| }} | | }} |
| | [{{canonicalurl:Help:Available_data_classes}} See Available data classes]</div> |
| | }}<!-- end if --> |
|
| |
|
| | <div class="card webmo-dataset-table"> |
| | {{#invoke: Indicator_datasets_table |
| | |generateTable |
| | |dateFormat = {{#time: xg }} |
| | |articleids = {{#visualdataquery:[[belongs to::{{PAGEID}}]]|?articleid|schema = Dataset|format = template|template = Webmo comma separartor}} |
| | |entity = {{#visualdataprint:[[articleid::{{PAGEID}}]]|?entity|schema = Indicator classes|format = raw}} |
| | }} |
| | </div> |
|
| |
|
| === Step 3: Add datasets to this page === | | <!-- {{#visualdataquery:[[belongs to::{{PAGEID}}]] |
| | |?articleid |
| | |schema = Dataset |
| | }} |
| | --> |
| | <!-- |
| | {{#visualdataquery:[[belongs to::{{PAGEID}}]] |
| | |?date |
| | |?dataset type |
| | |?classes/class name |
| | |?classes/sub-classes/sub-class name |
| | |?classes/sub-classes/sub-sub-classes/sub-sub-class name |
| | |?classes/sub-classes/sub-sub-classes/value |
| | |schema = Dataset |
| | |format = template |
| | |template = Webmo datasets table |
| | |template?classes = Webmo datasets table classes |
| | |template?classes/sub-classes = Webmo datasets table sub-classes |
| | |template?classes/sub-classes/sub-sub-classes = Webmo datasets table sub-sub-classes |
| | }} |
| | --> |
|
| |
|
| <syntaxhighlight lang="wikitext"> | | <!--<div class="webmo-add-button webmo-add-dataset"> |
| ...
| | {{#visualdataform: Dataset 1 |
| |preload-data?classes/$/class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?classes|schema = Page classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} | | |title = {{int:webmo-add-dataset}} 1 |
| |preload-data?classes/$/sub-classes/$/sub-class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?sub-classes|schema = Page classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} | | |action = create |
| |preload-data?classes/$/sub-classes/$/sub-sub-classes/$/sub-sub-class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?sub-sub-classes|schema = Page classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} | | |edit-page = |
| ...
| | |return-page = {{FULLPAGENAME}} |
| </syntaxhighlight> | | |view = popup |
| | |popup-size = full |
| | |css-class = form-dataset |
| | |pagename-formula = <unique title> |
| | |edit-freetext = false |
| | |edit-categories = false |
| | |edit-content-model = false |
| | |edit-target-slot = false |
| | |target-slot = main |
| | |preload-data?belongs to = {{PAGEID}} |
| | |preload-data?classes/$/class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?classes|schema = Indicator classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} |
| | |default-categories = |
| | |default-content-model = json |
| | |layout-align = top |
| | |popup-help = true |
| | |submit-button-text = |
| | |layout = |
| | |submit-button-text = |
| | |validate-button-text = |
| | }} |
| | </div> |
| | |
| | <div class="webmo-add-button webmo-add-dataset"> |
| | {{#visualdataform: Dataset 2 |
| | |title = {{int:webmo-add-dataset}} 2 |
| | |action = create |
| | |edit-page = |
| | |return-page = {{FULLPAGENAME}} |
| | |view = popup |
| | |popup-size = full |
| | |css-class = form-dataset |
| | |pagename-formula = <unique title> |
| | |edit-freetext = false |
| | |edit-categories = false |
| | |edit-content-model = false |
| | |edit-target-slot = false |
| | |target-slot = main |
| | |preload-data?belongs to = {{PAGEID}} |
| | |preload-data?classes/$/class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?classes|schema = Indicator classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} |
| | |preload-data?classes/$/sub-classes/$/sub-class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?sub-classes|schema = Indicator classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} |
| | |default-categories = |
| | |default-content-model = json |
| | |layout-align = top |
| | |popup-help = true |
| | |submit-button-text = |
| | |layout = |
| | |submit-button-text = |
| | |validate-button-text = |
| | }} |
| | </div>--> |
|
| |
|
| | <div class="webmo-add-button webmo-add-dataset"> |
| {{#visualdataform: Dataset | | {{#visualdataform: Dataset |
| |title = {{int:webmo-add-dataset}} | | |title = {{int:webmo-add-dataset}} |
| |action = create | | |action = create |
| | |edit-page = |
| |return-page = {{FULLPAGENAME}} | | |return-page = {{FULLPAGENAME}} |
| |view = popup | | |view = popup |
| |popup-size = larger | | |popup-size = full |
| |css-class = form-dataset | | |css-class = form-dataset |
| |pagename-formula = <unique title> | | |pagename-formula = <unique title> |
| Line 100: |
Line 241: |
| |edit-target-slot = false | | |edit-target-slot = false |
| |target-slot = main | | |target-slot = main |
| |default-content-model = json
| |
| |preload-data?belongs to = {{PAGEID}} | | |preload-data?belongs to = {{PAGEID}} |
| |preload-data?classes/$/class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?classes|schema = Page classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} | | |preload-data?classes/$/class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?classes|schema = Indicator classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} |
| |preload-data?classes/$/sub-classes/$/sub-class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?sub-classes|schema = Page classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} | | |preload-data?classes/$/sub-classes/$/sub-class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?sub-classes|schema = Indicator classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} |
| |preload-data?classes/$/sub-classes/$/sub-sub-classes/$/sub-sub-class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?sub-sub-classes|schema = Page classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} | | |preload-data?classes/$/sub-classes/$/sub-sub-classes/$/sub-sub-class name = {{#visualdataprint:{{#visualdataprint:{{PAGEID}}|?sub-sub-classes|schema = Indicator classes|format = raw}}|?class names|schema = Data classes|format = raw|values-separator = @@@@}} |
| | |default-categories = |
| | |default-content-model = json |
| | |layout-align = top |
| | |popup-help = true |
| | |submit-button-text = |
| | |layout = |
| | |submit-button-text = |
| | |validate-button-text = |
| }} | | }} |
| | </div> |
| Line 1: |
Line 1: |
| { | | {} |
| "schemas": {
| |
| "Page classes": {
| |
| "classes": "594",
| |
| "add sub-classes": "true",
| |
| "sub-classes": "596",
| |
| "add sub-sub-classes": "true",
| |
| "sub-sub-classes": "535"
| |
| }
| |
| }
| |
| } | |