CRUD

From Wikisphere
Revision as of 10:10, 30 December 2023 by Admin (talk | contribs)
Jump to navigation Jump to search
Subpages:

The following demonstrates the creation of a CRUD (create, read, update, delete) interface performed through a button opening a popup form, a pagepropertiesquery parser function that creates the table, and a template, namely Template:Task_action, rendered within the column "action", holding another form that edits the same schema (PagePropertiesSchema:Task) based on the data of the page with value {{{pagetitle}}}, where {{{pagetitle}}} is the title of the article related to each row of the generated table.

The template is associated to the column action using the following wikitext

template?action=Task action

and all the properties of the row, as well as the article title, are available as named parameters.


The form also demostrates the use of the option target-slot = main that instructs the form to save the json data to the main slot of the target article, as you can see here. Such data can then be edited through the edit button in the action column, through the tab "Edit semantic" in the target article, or even manually through "edit source" in the target article, and the changes will be reflected in the table below.


{{#pagepropertiesform: Task |title = Task |action = create |edit-page = |return-page = CRUD |view = popup |popup-size = large |css-class = |pagename-formula =CRUD/<id-increment> |target-slot = main |edit-freetext = false |edit-categories = false |edit-content-model = false |default-categories = |default-content-model = wikitext |layout-align = top |popup-help = true |submit-button-text = |layout = tabs |validate-button-text = }}



{{#pagepropertiesquery: CRUD/~ |schema=Task |?assignee |?extension |?status |?action |template?action=Task action |format=datatable }}