Template:Software infobox: Difference between revisions

From IFWiki

(Adding System details to drilldown page)
(Don't display "Latest version" row in infobox if neither version nor date available)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
<noinclude>
<noinclude>
{{#cargo_declare:_table=Software
{{#cargo_declare:_table=Software
|_drilldownTabs=Table (format=table;fields=_pageName=Software,Type__full=Type,Format__full=Format,System__full=System,System_details,Style__full=Interaction style,Status,Date,Multimedia), List
|_drilldownTabs=Table (format=template;template=software drilldown table row;named args=yes;fields=_pageName=Software,Type__full=Type,Utility_description,Format__full=Format,System__full=System,System_details,Style__full=Interaction style,Status,Date,Multimedia;intro=<table class='cargoTable noMerge sortable'><tr><th class='field_Software'>Software</th>
<th class='field_Type'>Type</th>
<th class='field_Format'>Format</th>
<th class='field_System'>System</th>
<th class='field_Interaction_style'>Interaction style</th>
<th class='field_Status'>Status</th>
<th class='field_Date'>Date</th>
<th class='field_Multimedia'>Multimedia</th>
</tr>;outro=</table>), List
 
|Type=List (,) of String
|Type=List (,) of String
|Utility_description=Text
|Style=List (,) of String
|Style=List (,) of String
|Interpreter_app=Boolean (hidden)
|Interpreter_app=Boolean (hidden)
|Uses_interpreter=List (,) of Page (hidden)
|Uses=List (,) of Page (hidden)
|Implements=List (,) of String (hidden)
|Format=List (,) of String
|Format=List (,) of String
|Developer=List (,) of String (hidden)
|Developer=List (,) of String (hidden)
Line 18: Line 29:
|Picture=File
|Picture=File
|Multimedia=Text
|Multimedia=Text
|License=String
|License=String (hidden)
|Notes=Text  
|Notes=Text  
}}
}}
Line 28: Line 39:
|Ifvms.js = ifvms.js{{DISPLAYTITLE:ifvms.js}}
|Ifvms.js = ifvms.js{{DISPLAYTITLE:ifvms.js}}
|Mjr-T3 = mjr-T3{{DISPLAYTITLE:mjr-T3}}
|Mjr-T3 = mjr-T3{{DISPLAYTITLE:mjr-T3}}
|JAsea = jAsea{{DISPLAYTITLE:jAsea}}
|Inkjs = inkjs{{DISPLAYTITLE:inkjs}}
|MInform = mInform{{DISPLAYTITLE:mInform}}
|#default = {{PAGENAME}}
|#default = {{PAGENAME}}
}}</span>
}}</span>
Line 33: Line 47:
|- {{#if: {{{Type|}}} | | style="display: none" }}
|- {{#if: {{{Type|}}} | | style="display: none" }}
! colspan="2" class="ifwiki-infobox-center" | {{#replace:{{#arraymap: {{{Type|}}} |,|@@|[[@@]] }} | [[Other]] | Miscellaneous software}}
! colspan="2" class="ifwiki-infobox-center" | {{#replace:{{#arraymap: {{{Type|}}} |,|@@|[[@@]] }} | [[Other]] | Miscellaneous software}}
|- {{#if: {{{Utility description|}}} | | style="display: none" }}
| colspan="2" class="ifwiki-infobox-center" | {{{Utility description|}}}


|- {{#if:{{{Picture|}}} | | style="display: none" }}
|- {{#if:{{{Picture|}}} | | style="display: none" }}
Line 48: Line 65:
| {{#replace:{{#arraymap: {{{Format|}}} |,|@@|[[@@]] }} | [[Other]] | Other}}
| {{#replace:{{#arraymap: {{{Format|}}} |,|@@|[[@@]] }} | [[Other]] | Other}}


|- {{#ifeq:{{{Type|}}}|Authoring system| | style="display: none" }}  
|- {{#if:{{{Style|}}} | | style="display: none" }}
! Interaction&nbsp;style
! Interaction&nbsp;style
| {{#if:{{{Style|}}} | {{#arraymap: {{{Style|}}} |,|@@|[[@@]] }} }}
| {{#if:{{{Style|}}} | {{#arraymap: {{{Style|}}} |,|@@|[[@@]] }} }}


|-
|- {{#if:{{{System|}}} | | style="display: none" }}
! {{#if:{{#pos:{{{System|}}}|,}}|Systems|System}}
! {{#if:{{#pos:{{{System|}}}|,}}|Systems|System}}
| {{{System|}}}
| {{{System|}}}
|- {{#if:{{{System details|}}}| | style="display: none" }}
|- {{#if:{{{System details|}}}| | style="display: none" }}
! System details
! System details
| {{{System details|}}}
| {{{System details|}}}
|-
|- {{#if:{{{Version|}}}{{{Date|}}}| | style="display: none" }}
! Latest&nbsp;version
! Latest&nbsp;version
| {{#if:{{{Version|}}} | {{{Version|}}} }}  {{#if:{{{Date|}}} | {{#if:{{{Version|}}} | / }}  {{date format | {{{Date|}}} }} }}  
| {{#if:{{{Version|}}} | {{{Version|}}} }}  {{#if:{{{Date|}}} | {{#if:{{{Version|}}} | / }}  {{date format | {{{Date|}}} }} }}  
Line 64: Line 82:
! Status  
! Status  
| {{{Status|}}}
| {{{Status|}}}
 
|- {{#if: {{{Implements|}}} | | style="display: none" }}
|- {{#if: {{{Uses interpreter|}}} | | style="display: none" }}
! <span style="text-align: left !important">Implements</span>
! <span style="text-align: left !important">Uses&nbsp;interpreter</span>
| {{#arraymap: {{{Implements|}}} |,|@@|[[@@]] }}
| {{#arraymap: {{{Uses interpreter|}}} |,|@@|[[@@]] }}
|- {{#if: {{{Uses|}}} | | style="display: none" }}
! <span style="text-align: left !important">Uses</span>
| {{#arraymap: {{{Uses|}}} |,|@@|[[@@]] }}
{{#cargo_query:<!--This is for "Used by"-->
{{#cargo_query:<!--This is for "Used by"-->
tables=Software
tables=Software
|fields= CONCAT('[[',_pageTitle,']]')
|fields= CONCAT('[[',_pageTitle,']]')
|where=Software.Uses_interpreter HOLDS "{{PAGENAME}}"
|where=Software.Uses HOLDS "{{PAGENAME}}"
|group by=_pageTitle
|group by=_pageTitle
|intro=<tr><th>Used&nbsp;by</th><td>
|intro=<tr><th>Used&nbsp;by</th><td>
Line 96: Line 116:
| colspan="2" style="text-align: center" | ''{{#formlink:form=Software|link text=Edit this infobox|target={{FULLPAGENAMEE}} }}''
| colspan="2" style="text-align: center" | ''{{#formlink:form=Software|link text=Edit this infobox|target={{FULLPAGENAMEE}} }}''
|}
|}
{{#arraymap:{{{Type|}}}|,|@@|{{#ifeq:@@|Utility|[[Category:Utilities]]|[[Category:@@]]}}|}}
{{#arraymap:{{{Type|}}}|,|@@|{{#switch:@@
| Utility = [[Category:Utilities]]
| Other = [[Category:Other software]]
| #default = [[Category:@@]]
}}
|}}
</includeonly>
</includeonly>

Latest revision as of 11:06, 17 March 2025

This template defines the table "Software". View table.