Difference between revisions of "Template:Semorg-generator"

From SemanticOrganization
Jump to: navigation, search
 
(172 intermediate revisions by the same user not shown)
Line 1: Line 1:
<noinclude>
+
<noinclude>{{semorg-bundle}}</noinclude><includeonly>[[Category:{{int:Semorg-generator-category}}]]{{#semorg-set:generator
This is the "Generator" template.
+
   |template-name={{lc:{{FULLPAGENAME}}}}
</noinclude><includeonly>{{#set:
 
   |template-name={{FULLPAGENAME}}
 
 
   |template-id={{{template-id|}}}
 
   |template-id={{{template-id|}}}
}}[[Category:Generator]]
+
}}
 
{{{template-fields|}}}
 
{{{template-fields|}}}
  
=== Property Registration ===
+
=== Messages ===
  
{{#ask:[[field-template::{{FULLPAGENAME}}]]
+
{{#if:{{{form-add-button-text|}}}
   |?field-id
+
  |
   |?field-template.template-id
+
"semorg-{{lc:{{FULLPAGENAME}}}}-template": "semorg-{{lc:{{FULLPAGENAME}}}}",
   |?field-name
+
"semorg-form-{{lc:{{FULLPAGENAME}}}}-add-button-text": "{{{form-add-button-text}}}",
   |format=broadtable
+
  |
 +
"semorg-{{lc:{{FULLPAGENAME}}}}-template": "semorg-{{lc:{{FULLPAGENAME}}}}",
 +
"semorg-{{lc:{{FULLPAGENAME}}}}-category": "semorg-{{lc:{{FULLPAGENAME}}}}",
 +
"semorg-{{lc:{{FULLPAGENAME}}}}-form": "semorg-{{lc:{{FULLPAGENAME}}}}"{{#if:{{{page-name|}}}|,
 +
"semorg-{{lc:{{FULLPAGENAME}}}}-page-name": "{{{page-name|}}}"}}{{#if:{{{entity-name|}}}|,
 +
"semorg-{{lc:{{FULLPAGENAME}}}}-entity-name": "{{{entity-name|}}}"}},
 +
"semorg-form-{{lc:{{FULLPAGENAME}}}}-create-title": "Create {{{form-titles|{{{entity-name|{{FULLPAGENAME}}}}}}}}",
 +
"semorg-form-{{lc:{{FULLPAGENAME}}}}-edit-title": "Edit {{{form-titles|{{{entity-name|{{FULLPAGENAME}}}}}}}}",
 +
{{#if:{{{form-page-name|}}}
 +
  |{{#ifeq:{{{form-unique-number|}}}|Yes
 +
    |"semorg-form-{{lc:{{FULLPAGENAME}}}}-page-name": "{{{form-page-name}}}",
 +
  }}
 +
}}
 +
}}
 +
{{#if:{{{placeholder|}}}
 +
  |"semorg-forminput-{{lc:{{FULLPAGENAME}}}}-placeholder": "{{{placeholder}}}",
 +
}}
 +
"semorg-form-{{lc:{{FULLPAGENAME}}}}-template": "{{{form-template|{{lc:{{FULLPAGENAME}}}}}}}"{{#if:{{{rows|}}}
 +
  |,
 +
"semorg-form-{{lc:{{FULLPAGENAME}}}}-rows": "{{{rows}}}"
 +
  |,
 +
"semorg-form-{{lc:{{FULLPAGENAME}}}}-rows": "{{#ask:[[semorg-generator-field-template::{{FULLPAGENAME}}]]
 +
  |mainlabel=-
 +
   |?Semorg-generator-field-id=
 +
  |format=list
 +
  |limit=1000
 +
}}"
 +
}}{{#if:{{{list-headers|}}}
 +
  |,
 +
"semorg-list-{{lc:{{FULLPAGENAME}}}}-headers": "{{{list-headers}}}"
 +
  |,
 +
"semorg-list-{{lc:{{FULLPAGENAME}}}}-headers": "{{#arraymap:{{#ask:[[semorg-generator-field-template::{{FULLPAGENAME}}]]
 +
  |mainlabel=-
 +
   |?Semorg-generator-field-id=
 +
  |format=list
 +
  |limit=1000
 +
}}|,|xxx|{{lc:{{FULLPAGENAME}}}}-xxx}}"
 +
}},{{#ask:[[semorg-generator-field-template::{{FULLPAGENAME}}]]
 +
  |?Semorg-generator-field-id=field-id
 +
  |?Semorg-generator-field-property-id=field-property-id
 +
  |?Semorg-generator-field-name=field-name
 +
  |?Semorg-generator-field-fields=field-fields
 +
  |?Semorg-generator-field-parameters=field-parameters
 +
  |?Semorg-generator-field-prefix=field-prefix
 +
  |?Semorg-generator-field-suffix=field-suffix
 +
  |?Semorg-generator-field-help=field-help
 +
  |?Semorg-generator-field-input-type=field-input-type
 +
  |?Semorg-generator-field-label=field-label
 +
  |?Semorg-generator-field-values=field-values
 +
  |?Semorg-generator-field-size=field-size
 +
  |?Semorg-generator-field-placeholder=field-placeholder
 +
  |?Semorg-generator-field-intro=field-intro
 +
  |?Semorg-generator-field-rights=field-rights
 +
  |?Semorg-generator-field-template.Semorg-generator-template-id=template-id
 +
   |?Semorg-generator-field-template.Semorg-generator-template-name=template-name
 +
  |sort=Semorg-generator-field-id
 +
   |format=template
 
   |link=none
 
   |link=none
 
   |named args=yes
 
   |named args=yes
   |template=Generator-property-registration
+
   |template=Semorg-generator-messages
 +
  |limit=1000
 +
}}{{#if:{{{display-title-message|}}}
 +
  |,
 +
"semorg-{{lc:{{FULLPAGENAME}}}}-displaytitle": "{{{display-title-message}}}"
 +
}}
 +
 
 +
=== Form ===
 +
 
 +
[[Form:Semorg-{{lc:{{FULLPAGENAME}}}}]]
 +
 
 +
<nowiki><noinclude>{{semorg-bundle}}</noinclude><includeonly>{{{info
 +
  |create title={{int:semorg-form-</nowiki>{{lc:{{FULLPAGENAME}}}}<nowiki>-create-title}}
 +
  |edit title={{int:semorg-form-</nowiki>{{lc:{{FULLPAGENAME}}}}<nowiki>-edit-title}}<span class="d-none">: <page name></span>
 +
  |page name=</nowiki>{{#ifeq:{{{form-unique-number|}}}|Yes
 +
    |<nowiki>{{int:semorg-form-</nowiki>{{lc:{{FULLPAGENAME}}}}<nowiki>-page-name}}/<unique number;start=1></nowiki>
 +
    |{{{form-page-name|}}}
 +
  }}<nowiki>
 +
}}}
 +
 
 +
{{semorg-form-template|</nowiki>{{lc:{{FULLPAGENAME}}}}<nowiki>}}
 +
 +
{{semorg-form-standard-inputs}}
 +
</nowiki></include<nowiki></nowiki>only>
 +
 
 +
'''as embedded:'''
 +
 
 +
Use this code, if this is not meant to be a standalone feature but rather a supplement that should be embedded in other forms. Add this line to a form definition that includes a field with the parameter <code>holds template</code>. The second parameter of the <code>semorg-form-template-embed</code> call should be the target field, specified with <code>''<feature>''[''<field>'']</code> (e.g. <code>meeting-group[files]</code> or <code><nowiki>{{int:semorg-meeting-group-template}}[files]</nowiki></code> to respect template customization).
 +
 
 +
<nowiki>{{semorg-form-template-embed|</nowiki>{{lc:{{FULLPAGENAME}}}}|{{{embed-field|}}}<nowiki>}}</nowiki>
 +
 
 +
=== Category ===
 +
 
 +
[[:Category:Semorg-{{lc:{{FULLPAGENAME}}}}]]
 +
 
 +
<nowiki>{{semorg-category}}</nowiki>
 +
 
 +
=== Template ===
 +
 
 +
[[Template:Semorg-{{lc:{{FULLPAGENAME}}}}]]
 +
 
 +
<nowiki><noinclude>{{semorg-bundle}}</noinclude><includeonly>[[Category:{{int:semorg-</nowiki>{{lc:{{FULLPAGENAME}}}}<nowiki>-category}}]]{{#semorg-set:</nowiki>{{lc:{{FULLPAGENAME}}}}{{#ask:[[Semorg-generator-field-template::{{FULLPAGENAME}}]]
 +
  |mainlabel=-
 +
  |?semorg-generator-field-id
 +
  |template=Semorg-generator-setter
 +
  |format=template
 +
  |limit=1000
 
}}
 
}}
 +
<nowiki>}}{{#semorg-detail:</nowiki>{{lc:{{FULLPAGENAME}}}}{{#if:{{{display-title|}}}|<nowiki>
 +
  |</nowiki>heading={{{display-title}}}<nowiki>
 +
</nowiki>}}<nowiki>}}{{#semorg-table:</nowiki>{{lc:{{FULLPAGENAME}}}}{{#ask:[[Semorg-generator-field-template::{{FULLPAGENAME}}]]
 +
  |mainlabel=-
 +
  |?semorg-generator-field-id
 +
  |template=Semorg-generator-setter
 +
  |format=template
 +
  |limit=1000
 +
}}
 +
<nowiki>}}</nowiki></include<nowiki></nowiki>only>
 +
 +
=== Row Template ===
 +
 +
[[Template:Semorg-{{lc:{{FULLPAGENAME}}}}-row]]
 +
 +
<nowiki><noinclude>{{semorg-bundle}}</noinclude><includeonly><tr></nowiki>
 +
<nowiki><td>[[{{{target|}}}]]</td></nowiki>{{#ask:[[Semorg-generator-field-template::{{FULLPAGENAME}}]]
 +
    |?Semorg-generator-field-template=field-template
 +
    |?Semorg-generator-field-id=field-id
 +
    |template=Semorg-generator-row-field
 +
    |named args=yes
 +
    |format=template
 +
    |link=none
 +
    |limit=1000
 +
  }}
 +
<nowiki>{{semorg-showedit</nowiki>
 +
  |target=<nowiki>{{{target|}}}</nowiki>
 +
<nowiki>}}</nowiki>
 +
<nowiki></tr></nowiki></include<nowiki></nowiki>only>
 +
 +
=== Overview Page Template ===
 +
 +
[[Template:Semorg-{{lc:{{FULLPAGENAME}}}}-overview]]
 +
 +
<nowiki><noinclude>{{semorg-bundle}}</noinclude><includeonly></nowiki>{{#if:{{{custom-overview-list|}}}
 +
|{{{custom-overview-list}}}
 +
|<nowiki>{{</nowiki>#semorg-list:{{lc:{{FULLPAGENAME}}}}<nowiki>
 +
  |heading={{int:semorg-</nowiki>{{lc:{{FULLPAGENAME}}}}<nowiki>-page-name}}
 +
  |</nowiki>formlink={{#if:{{{form-page-name|}}}
 +
  |<nowiki>{{#semorg-formlink:</nowiki>{{lc:{{FULLPAGENAME}}}}<nowiki>}}</nowiki>
 +
  |<nowiki>{{#semorg-forminput:</nowiki>{{lc:{{FULLPAGENAME}}}}<nowiki>}}</nowiki>
 +
  }}
 +
<nowiki>  |links={{{links|}}}
 +
  |query={{{query|}}}
 +
  |sort={{{sort|}}}
 +
  |order={{{order|}}}
 +
  |limit={{{limit|}}}
 +
  |filter links={{{filter links|}}}
 +
  |filters={{{filters|}}}
 +
  |category={{{category|}}}
 +
  |headers={{{headers|}}}
 +
  |row template={{{row template|}}}
 +
  |tableclass={{{tableclass|}}}
 +
  |title={{{title|}}}
 +
  |sums={{{sums|}}}
 +
  |csv={{{csv|}}}
 +
  |default={{{default|}}}
 +
  |returnto={{{returnto|}}}
 +
  |help={{{help|}}}
 +
}}</nowiki>
 +
}}</include<nowiki></nowiki>only>
 +
 +
=== Overview Page ===
 +
 +
[[{{{page-name|}}}]]
 +
 +
<nowiki>{{</nowiki>semorg-{{lc:{{FULLPAGENAME}}}}-overview<nowiki>}}</nowiki>
 +
 +
=== Property Registration ===
 +
 +
Add the following line to <code>LocalSettings.php</code>:
 +
 +
$wgSemorgAdditionalProperties['{{lc:{{FULLPAGENAME}}}}'] = <nowiki>[</nowiki> "id" => "{{{template-id|}}}","fields" => <nowiki>[</nowiki>{{#ask:[[Semorg-generator-field-template::{{lc:{{FULLPAGENAME}}}}]][[Semorg-generator-field-property-id::+]]
 +
      |mainlabel=field
 +
      |?Semorg-generator-field-id=field-id
 +
      |?Semorg-generator-field-property-id=field-property-id
 +
      |?Semorg-generator-field-type=field-type
 +
      |named args=yes
 +
      |template=semorg-generator-register-property-field
 +
      |format=template
 +
      |limit=1000
 +
      }} <nowiki>]</nowiki> <nowiki>]</nowiki>;
 +
 
</includeonly>
 
</includeonly>

Latest revision as of 15:34, 14 March 2023

This page is part of the Semantic Organization extension.

If you want to customize this template you can copy its contents to another page (use for example Template:Semorg-generator-custom) and change the following system message to the name of the newly created page: MediaWiki:semorg-generator-template