(Imported by WSPageSync) |
(Imported by PageSync) Tag: wsps-content-edit-tag |
||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
<noinclude> | <noinclude> | ||
This is the "Layout" template. It should be called in the following format: | This is the "Layout" template. It should be called in the following format: | ||
| Line 14: | Line 7: | ||
</pre> | </pre> | ||
It | It generates CSS for grid layout based on the class of the current page | ||
</noinclude><includeonly>{{#af_foreach:{{#invoke:CspFunctions|afExportSlots|slots=ws-base-props}}||$base |<!-- | |||
-->{{#af_foreach:{{#invoke:CspFunctions|afExportSlots|slots=ws-base-props,ws-class-props|page={{#invoke:CspFunctions|ClassToClassDefinitionPage|{{#af_get:{{{$base}}}|ws-base-props|Base properties|1|Class|_text}} }} }} ||$classData |<!-- | |||
-->{{#widget:Layout <!-- widget creates the css --> | |||
|rows={{#af_get:{{{$classData}}}|ws-class-props|Csp class properties|1|Layout rows|_text}} | |||
|columns={{#af_get:{{{$classData}}}|ws-class-props|Csp class properties|1|Layout columns|_text}} | |||
|areas={{#af_get:{{{$classData}}}|ws-class-props|Csp class properties|1|Layout areas|_text}} | |||
|display={{#af_join:{{#af_map:{{#af_unique:{{#af_split:{{#invoke:CspFunctions|gmatch|{{#af_get:{{{$classData}}}|ws-class-props|Csp class properties|1|Layout areas|_text}}|([^ \'"]+)|_@_}}|_@_}} }}|$item|{{#ifeq:{{{$item}}}|main||.cp-{{{$item}}}{display:block;} }} }}|\n}}<!-- | |||
// if Layout areas is filled but does not contain "main", hide main | |||
-->{{#if:{{#af_get:{{{$classData}}}|ws-class-props|Csp class properties|1|Layout areas|_text}} | |||
|{{#if:{{#invoke:CspFunctions|gmatch|{{#af_get:{{{$classData}}}|ws-class-props|Csp class properties|1|Layout areas|_text}}|main|,}} | |||
||.cp-main{display:none;} | |||
}} | |||
}}<!-- | |||
-->}}<!-- end of widget:Layout | |||
-->}}<!-- end of #af_foreach $classData | |||
-->}}<!-- end of #af_foreach $base --></includeonly> | |||
</includeonly> | |||
| ws-base-props | |||
|---|---|---|---|
| Line 1: | Line 1: | ||
{{Base properties | |||
|Class=Application page | |||
|Title=Template:Layout | |||
|Version history={{Version history item | |||
|Version number=2.0 | |||
|Version description=Hide main component when layout areas is filled and does not include main (issue #185) | |||
|Version date=2024-12-20 13:43:53 | |||
}}{{Version history item | |||
|Version number=1.3 | |||
|Version description=Removed compatibility with pre CSP 1.8 class definitions | |||
|Version date=2023-11-17 09:47:16 | |||
}}{{Version history item | |||
|Version number=1.2 | |||
|Version description=Replaced #regexall with Lua function | |||
|Version date=2023-8-18 12:39:26 | |||
}}{{Version history item | |||
|Version number=1.1 | |||
|Version description=Updated to use slotdata instead of SMW properties | |||
|Version date=2023-6-02 12:15:15 | |||
}}{{Version history item | |||
|Version number=1.0 | |||
|Version description=Initial version | |||
|Version date=2022-12-02 07:55:53 | |||
}} | |||
}} | |||
}} | |||
}} | |||
| ws-class-props | |||
| Line 1: | Line 1: | ||
{{Csp class properties | |||
|Type=CSP Basis Core | |||
|Origin=CSP Basis | |||
}} | |||
Latest revision as of 08:01, 18 September 2025
This is the "Layout" template. It should be called in the following format:
{{Layout}}
It generates CSS for grid layout based on the class of the current page