(Imported by WSPageSync)
 
(Imported by PageSync)
Tag: Metadata slot edit
Line 1: Line 1:
 
<noinclude>
 
<noinclude>
 
 
This is the "Generate sidebar template code" template. It should be called in the following format:
 
This is the "Generate sidebar template code" template. It should be called in the following format:
  
Line 6: Line 5:
 
{{Generate sidebar template code
 
{{Generate sidebar template code
 
|Class= (text) class for which a "Class definition" page exists
 
|Class= (text) class for which a "Class definition" page exists
 +
|Has version history= (optional: true) if true, then {{Show version history}} will be added to generated sidebar template code
 
}}
 
}}
 
</pre>
 
</pre>
Line 62: Line 62:
 
-->{{#vardefine:@allow sidebar edit |{{#ifingroup:user |{{#if:{{#urlget:veaction}}{{#urlget:action}}||yes}} }} }}<!--
 
-->{{#vardefine:@allow sidebar edit |{{#ifingroup:user |{{#if:{{#urlget:veaction}}{{#urlget:action}}||yes}} }} }}<!--
  
--><div class="tab-content">
+
--><div class="tab-content"><!--
<div class="card tab-pane fade show active" id="sidebar-view">
+
-->{{#tag:_input||type=radio|id=sidebar-view|name=toggle-sidebar|checked=checked|class=d-none sidebar-view}}<!--
<div class="card-header">{{#ifeq:{{#var:@allow sidebar edit}} |yes |<span style="float:right">{{#widget:Button link  |class=btn btn-secondary |buttontext=Edit |onclick=ShowTab('#sidebar-edit') }}</span>}}
+
--><div class="card sidebar-view-tab">
 +
<div class="card-header">{{#ifeq:{{#var:@allow sidebar edit}} |yes |<span style="float:right">{{#tag:label|Edit|for=sidebar-edit|class=btn btn-secondary}}</span>}}
 
<b class="d-block">{{#caprint:$base[Base properties][Class]}}</b>
 
<b class="d-block">{{#caprint:$base[Base properties][Class]}}</b>
 
{{#caprint:$base[Base properties][Title]}}
 
{{#caprint:$base[Base properties][Title]}}
Line 85: Line 86:
 
</div><!-- end of .card  
 
</div><!-- end of .card  
  
-->{{#ifeq:{{#var:@allow sidebar edit}} |yes |<wsform action="addToWiki" class="tab-pane fade" id="sidebar-edit">
+
-->{{#ifeq:{{#var:@allow sidebar edit}} |yes |<!--
<div class="card"><!--
+
-->{{#tag:_input||type=radio|id=sidebar-edit|name=toggle-sidebar|class=d-none sidebar-edit}}<!--
 +
--><div class="card sidebar-edit-tab"><!--
 +
--><form action="addToWiki"><!--
  
// wsedits for base properties
+
// _edits for base properties
--></nowiki>{{#camap:$base parameters |$parameter |<nowiki>{{#tag:wsedit ||target={{PAGEID}} |template=</nowiki>{{#var:@base properties template name}}<nowiki> |formfield=</nowiki>$parameter[Name]<nowiki> |mwslot=ws-base-props}}</nowiki>|\n}}<nowiki><!--
+
--></nowiki>{{#camap:$base parameters |$parameter |<nowiki>{{#tag:_edit ||target={{PAGEID}} |template=</nowiki>{{#var:@base properties template name}}<nowiki> |formfield=</nowiki>$parameter[Name]<nowiki> |mwslot=ws-base-props}}</nowiki>|\n}}<nowiki><!--
  
// wscreate or wsedits for page properties
+
// _create or _edits for page properties
// use casize to check if the slot already exists. Then wsedit, else wscreate.
+
// use casize to check if the slot already exists. Then _edit, else _create.
 
-->{{#if:{{#casize:$class}}
 
-->{{#if:{{#casize:$class}}
|</nowiki>{{#camap:$class parameters |$parameter |<nowiki>{{#tag:wsedit ||target={{PAGEID}} |template=</nowiki>{{#var:@page properties template name}}<nowiki> |formfield=</nowiki>$parameter[Name]<nowiki> |mwslot=ws-class-props}}</nowiki>|\n}}<nowiki>
+
|</nowiki>{{#camap:$class parameters |$parameter |<nowiki>{{#tag:_edit ||target={{PAGEID}} |template=</nowiki>{{#var:@page properties template name}}<nowiki> |formfield=</nowiki>$parameter[Name]<nowiki> |mwslot=ws-class-props}}</nowiki>|\n}}<nowiki>
|<wscreate mwwrite="{{FULLPAGENAME}}" mwtemplate="</nowiki>{{#var:@page properties template name}}<nowiki>" mwslot="ws-class-props" mwfields="</nowiki>{{#camap:$class parameters |$parameter |$parameter[Name] |,}}<nowiki>" />
+
|<_create mwwrite="{{FULLPAGENAME}}" mwtemplate="</nowiki>{{#var:@page properties template name}}<nowiki>" mwslot="ws-class-props" mwfields="</nowiki>{{#camap:$class parameters |$parameter |$parameter[Name] |,}}<nowiki>" />
 
}}<!-- end of #if  -->
 
}}<!-- end of #if  -->
  
<div class="card-header"><span style="float:right">{{#widget:Button link  |class=btn btn-secondary |buttontext=Close |onclick=ShowTab('#sidebar-view') }}</span>
+
<div class="card-header"><span style="float:right">{{#tag:label|Close|for=sidebar-view|class=btn btn-secondary}}</span>
 
<b class="d-block">{{#caprint:$base[Base properties][Class]}}</b>
 
<b class="d-block">{{#caprint:$base[Base properties][Class]}}</b>
 
{{#caprint:$base[Base properties][Title]}}
 
{{#caprint:$base[Base properties][Title]}}
Line 110: Line 113:
 
--><nowiki>{{Sidebar item
 
--><nowiki>{{Sidebar item
 
|Label=</nowiki>{{#switch:$parameter[Formfield type]
 
|Label=</nowiki>{{#switch:$parameter[Formfield type]
|text|#default=$parameter[Name] |checkbox=<nowiki>{{#tag: wslabel|$parameter[Name] |for=</nowiki>{{lc:{{anchorencode:$parameter[Name] }} }}<nowiki>}}</nowiki> }}<nowiki>
+
|text|#default=$parameter[Name] |checkbox=<nowiki>{{#tag: label|$parameter[Name] |for=</nowiki>{{lc:{{anchorencode:$parameter[Name] }} }}<nowiki>}}</nowiki> }}<nowiki>
 
|Value=</nowiki>{{#switch:$parameter[Formfield type]
 
|Value=</nowiki>{{#switch:$parameter[Formfield type]
   |text|#default=<nowiki>{{#tag:wsfield ||type=text |name=</nowiki>$parameter[Name]{{#var:@required}}<nowiki> |class=form-control |value=</nowiki>{{#var:@parameter value}}<nowiki> }}</nowiki>
+
   |text|#default=<nowiki>{{#tag:input ||type=text |name=</nowiki>$parameter[Name]{{#var:@required}}<nowiki> |class=form-control |value=</nowiki>{{#var:@parameter value}}<nowiki> }}</nowiki>
 +
 
 +
  |text|#default=<nowiki><input type="textarea" name="</nowiki>$parameter[Name]{{#var:@required}}<nowiki>" class="form-control"></nowiki>{{#var:@parameter value}}<nowiki></input></nowiki>
  
   |number=<nowiki>{{#tag:wsfield ||type=number |name=</nowiki>$parameter[Name]{{#var:@required}}<nowiki> |class=form-control |value=</nowiki>{{#var:@parameter value}}<nowiki> }}</nowiki>
+
   |number=<nowiki>{{#tag:input ||type=number |name=</nowiki>$parameter[Name]{{#var:@required}}<nowiki> |class=form-control |value=</nowiki>{{#var:@parameter value}}<nowiki> }}</nowiki>
  
   |date=<nowiki>{{#tag:wsfield ||type=date |name=</nowiki>$parameter[Name]<nowiki> |class=form-control |value=</nowiki>{{#var:@parameter value}}<nowiki> }}</nowiki>
+
   |date=<nowiki>{{#tag:input ||type=date |name=</nowiki>$parameter[Name]<nowiki> |class=form-control |value=</nowiki>{{#var:@parameter value}}<nowiki> }}</nowiki>
  
 
   |checkbox={{#vardefine:@checked value |{{#if:{{#explode:$parameter[Allowed values]|,|0}} |{{#explode:$parameter[Allowed values]|,|0}} |Yes }} }}<!--
 
   |checkbox={{#vardefine:@checked value |{{#if:{{#explode:$parameter[Allowed values]|,|0}} |{{#explode:$parameter[Allowed values]|,|0}} |Yes }} }}<!--
 
     -->{{#vardefine:@unchecked value |{{#explode:$parameter[Allowed values]|,|1}} }}<!--
 
     -->{{#vardefine:@unchecked value |{{#explode:$parameter[Allowed values]|,|1}} }}<!--
     --><nowiki>{{#tag:wsfield ||type=hidden |name=</nowiki>$parameter[Name]<nowiki> |value=</nowiki>{{#var:@unchecked value}}<nowiki> }}<!-- default value for unchecked -->
+
     --><nowiki>{{#tag:input ||type=hidden |name=</nowiki>$parameter[Name]<nowiki> |value=</nowiki>{{#var:@unchecked value}}<nowiki> }}<!-- default value for unchecked -->
{{#tag:wsfield ||type=checkbox |id=</nowiki>{{lc:{{anchorencode:$parameter[Name] }} }}<nowiki>|name=</nowiki>$parameter[Name]{{#var:@required}}<nowiki> |checked={{#ifeq:</nowiki>{{#var:@parameter value}}<nowiki> |</nowiki>{{#var:@checked value}}<nowiki> |checked}} |class=form-control |value=</nowiki>{{#var:@checked value}}<nowiki> }}</nowiki>
+
{{#tag:input ||type=checkbox |id=</nowiki>{{lc:{{anchorencode:$parameter[Name] }} }}<nowiki>|name=</nowiki>$parameter[Name]{{#var:@required}}<nowiki> |checked={{#ifeq:</nowiki>{{#var:@parameter value}}<nowiki> |</nowiki>{{#var:@checked value}}<nowiki> |checked}} |class=form-control |value=</nowiki>{{#var:@checked value}}<nowiki> }}</nowiki>
  
   |datetimelocal=<nowiki>{{#tag:wsfield ||type=datetimelocal |name=</nowiki>$parameter[Name]{{#var:@required}}<nowiki> |class=form-control |value=</nowiki>{{#var:@parameter value}}<nowiki> }}</nowiki>
+
   |datetimelocal=<nowiki>{{#tag:input ||type=datetimelocal |name=</nowiki>$parameter[Name]{{#var:@required}}<nowiki> |class=form-control |value=</nowiki>{{#var:@parameter value}}<nowiki> }}</nowiki>
  
 
   |select=<nowiki>{{#cadefine:$value settings |</nowiki>$parameter[Allowed values]<nowiki> }}
 
   |select=<nowiki>{{#cadefine:$value settings |</nowiki>$parameter[Allowed values]<nowiki> }}
Line 129: Line 134:
 
{{#camerge:$value options |$value settings |$values selected }}
 
{{#camerge:$value options |$value settings |$values selected }}
 
{{#caunique:$value options}}
 
{{#caunique:$value options}}
{{#tag:wsselect
+
{{#tag:select
   |</nowiki>{{#ifeq:$parameter[Required]|1||<nowiki>{{#tag:wsfield|(none)|type=option|value=}}
+
   |</nowiki>{{#ifeq:$parameter[Required]|1||<nowiki>{{#tag:input|(none)|type=option|value=}}
</nowiki>}}<nowiki>{{#camap:$value options |__Value__|{{#tag:wsfield|__Value__|type=option|value=__Value__|selected={{#if:{{#casearch:$values selected|__Value__}}|selected}} }} |}}
+
</nowiki>}}<nowiki>{{#camap:$value options |__Value__|{{#tag:input|__Value__|type=option|value=__Value__|selected={{#if:{{#casearch:$values selected|__Value__}}|selected}} }} |}}
 
   |name=</nowiki>$parameter[Name]{{#var:@required}}<nowiki> |class=form-control |id=</nowiki>{{lc:{{anchorencode:$parameter[Name] }} }}-field {{#ifeq:$parameter[Required]|1|<nowiki>|placeholder=select a value</nowiki>}} <nowiki>
 
   |name=</nowiki>$parameter[Name]{{#var:@required}}<nowiki> |class=form-control |id=</nowiki>{{lc:{{anchorencode:$parameter[Name] }} }}-field {{#ifeq:$parameter[Required]|1|<nowiki>|placeholder=select a value</nowiki>}} <nowiki>
 
}}</nowiki>
 
}}</nowiki>
Line 139: Line 144:
 
{{#camerge:$value options |$value settings |$values selected }}
 
{{#camerge:$value options |$value settings |$values selected }}
 
{{#caunique:$value options}}
 
{{#caunique:$value options}}
{{#tag:wstoken
+
{{#tag:_token
   |</nowiki>{{#ifeq:$parameter[Required]|1||<nowiki>{{#tag:wsfield|(none)|type=option|value=}}
+
   |</nowiki>{{#ifeq:$parameter[Required]|1||<nowiki>{{#tag:input|(none)|type=option|value=}}
</nowiki>}}<nowiki>{{#camap:$value options |__Value__|{{#tag:wsfield|__Value__|type=option|value=__Value__|selected={{#if:{{#casearch:$values selected|__Value__}}|selected}} }} |}}
+
</nowiki>}}<nowiki>{{#camap:$value options |__Value__|{{#tag:input|__Value__|type=option|value=__Value__|selected={{#if:{{#casearch:$values selected|__Value__}}|selected}} }} |}}
 
   |name=</nowiki>$parameter[Name][]{{#var:@required}}<nowiki>  
 
   |name=</nowiki>$parameter[Name][]{{#var:@required}}<nowiki>  
 
   |class=form-control  
 
   |class=form-control  
Line 151: Line 156:
 
   |ask token={{#vardefine:@smw query |{{#replace:{{#replace:{{#explode:$parameter[Allowed values]|?|0}}|((|&#91;&#91;}}|))|&#93;&#93;}} }}<!--
 
   |ask token={{#vardefine:@smw query |{{#replace:{{#replace:{{#explode:$parameter[Allowed values]|?|0}}|((|&#91;&#91;}}|))|&#93;&#93;}} }}<!--
 
   -->{{#vardefine:@smw result |{{#explode:$parameter[Allowed values]|?|1}} }}{{#if:{{#var:@smw result}}||{{#vardefine:@smw result|Title}} }}<!--
 
   -->{{#vardefine:@smw result |{{#explode:$parameter[Allowed values]|?|1}} }}{{#if:{{#var:@smw result}}||{{#vardefine:@smw result|Title}} }}<!--
   --><nowiki>{{#tag:wstoken
+
   --><nowiki>{{#tag:_token
   |{{#caamap:</nowiki>{{#var:@parameter value}}<nowiki> |,|__Value__|{{#tag:wsfield |{{#show:__Value__ |?</nowiki>{{#var:@smw result}}<nowiki>}}|type=option|value=__Value__|selected=selected}} |}}
+
   |{{#caamap:</nowiki>{{#var:@parameter value}}<nowiki> |,|__Value__|{{#tag:input |{{#show:__Value__ |?</nowiki>{{#var:@smw result}}<nowiki>}}|type=option|value=__Value__|selected=selected}} |}}
 
   |id=</nowiki>{{lc:{{anchorencode:$parameter[Name]}} }}<nowiki>-tokens
 
   |id=</nowiki>{{lc:{{anchorencode:$parameter[Name]}} }}<nowiki>-tokens
 
   |name=</nowiki>$parameter[Name][]{{#var:@required}}<nowiki>
 
   |name=</nowiki>$parameter[Name][]{{#var:@required}}<nowiki>
Line 166: Line 171:
  
 
<div class="text-right">
 
<div class="text-right">
{{#widget:Button link  |class=btn btn-secondary |buttontext=Close |onclick=ShowTab('#sidebar-view') }}
+
{{#tag:label|Close|for=sidebar-view|class=btn btn-secondary}}
<wsfield type="submit" value="Save" class="btn btn-primary" />
+
<input type="submit" value="Save" class="btn btn-primary" />
 
</div>
 
</div>
 
</div><!-- end of .card-body -->
 
</div><!-- end of .card-body -->
 +
</form>
 
</div><!-- end of .card -->
 
</div><!-- end of .card -->
</wsform>|}}<!-- end of #ifeq @allow sidebar edit == yes -->
+
|}}<!-- end of #ifeq @allow sidebar edit == yes -->
 
</div><!-- end of .tab-content  
 
</div><!-- end of .tab-content  
  
--></inclu</nowiki><nowiki>deonly></nowiki>}}<!--
+
--></nowiki>{{#ifeq:{{{Has version history|}}}|true|<nowiki>{{Show version history}}<!--
 +
 
 +
--></nowiki>}}<nowiki></inclu</nowiki><nowiki>deonly></nowiki>}}<!--
  
 
--></includeonly>
 
--></includeonly>
ws-base-props
Line 1: Line 1:
 
+
{{Base properties
 +
|Class=Application page
 +
|Title=Template:Generate sidebar template code
 +
|Version history={{Version history item
 +
|Version number=1.0
 +
|Version description=Initial version
 +
|Version date=2022-12-02 09:29:00
 +
}}
 +
}}
ws-class-props
Line 1: Line 1:
 
+
{{Application page properties
 +
|Type=CSP Basis Core
 +
|Origin=CSP Basis
 +
}}

Revision as of 14:45, 18 January 2023

This is the "Generate sidebar template code" template. It should be called in the following format:

{{Generate sidebar template code
|Class= (text) class for which a "Class definition" page exists
|Has version history= (optional: true) if true, then {{Show version history}} will be added to generated sidebar template code
}}

Test

Some use of "" in your query was not closed by a matching "".Some use of "" in your query was not closed by a matching "".

<noinclude>

This is the '''''' template. It should be called in the following format:

<pre>
{{}}
</pre>

</noinclude><includeonly><!--

-->{{#vardefine:@allow sidebar edit |{{#ifingroup:user |{{#if:{{#urlget:veaction}}{{#urlget:action}}||yes}} }} }}<!--

--><div class="tab-content"><!--
-->{{#tag:_input||type=radio|id=sidebar-view|name=toggle-sidebar|checked=checked|class=d-none sidebar-view}}<!--
--><div class="card sidebar-view-tab">
<div class="card-header">{{#ifeq:{{#var:@allow sidebar edit}} |yes |<span style="float:right">{{#tag:label|Edit|for=sidebar-edit|class=btn btn-secondary}}</span>}}
<b class="d-block">{{#caprint:$base[Base properties][Class]}}</b>
{{#caprint:$base[Base properties][Title]}}
</div><!-- end of .card-header -->
<div class="card-body">

</div><!-- end of .card-body -->
</div><!-- end of .card 

-->{{#ifeq:{{#var:@allow sidebar edit}} |yes |<!--
-->{{#tag:_input||type=radio|id=sidebar-edit|name=toggle-sidebar|class=d-none sidebar-edit}}<!--
--><div class="card sidebar-edit-tab"><!--
--><form action="addToWiki"><!--

// _edits for base properties
--><!--

// _create or _edits for page properties
// use casize to check if the slot already exists. Then _edit, else _create.
-->{{#if:{{#casize:$class}}
|
|<_create mwwrite="{{FULLPAGENAME}}" mwtemplate="" mwslot="ws-class-props" mwfields="" />
}}<!-- end of #if  -->

<div class="card-header"><span style="float:right">{{#tag:label|Close|for=sidebar-view|class=btn btn-secondary}}</span>
<b class="d-block">{{#caprint:$base[Base properties][Class]}}</b>
{{#caprint:$base[Base properties][Title]}}
</div><!-- end of .card-header -->
<div class="card-body">


<div class="text-right">
{{#tag:label|Close|for=sidebar-view|class=btn btn-secondary}}
<input type="submit" value="Save" class="btn btn-primary" />
</div>
</div><!-- end of .card-body -->
</form>
</div><!-- end of .card -->
|}}<!-- end of #ifeq @allow sidebar edit == yes -->
</div><!-- end of .tab-content 

--></includeonly>