Difference between revisions of "Template:TasksTable"

From Migiwe
Jump to: navigation, search
m (typo in title)
 
Line 28: Line 28:
 
</noinclude><includeonly><!--
 
</noinclude><includeonly><!--
 
Initialize variables
 
Initialize variables
-->{{#vardefine:match|//i}}{{#vardefine:notmatch|//i}}{{#vardefine:title|<div style="font-size:1em; margin-top:5px; text-align:center;">*END*</div>}}<!--
+
-->
 +
{{#vardefine:match|//i}}
 +
{{#vardefine:notmatch|//i}}
 +
{{#vardefine:title|<div style="font-size:1em; margin-top:5px; text-align:center;">*END*</div>}}
 +
<!--
 
Build match, notmatch and title for project
 
Build match, notmatch and title for project
-->{{#if: {{{project|}}}|{{#switch: {{{project|}}}|unassigned = {{#vardefine:notmatch|{{#replace:{{#var:notmatch}}|/i|\¦\s*project\s*=/i}}}} {{#vardefine:title|{{#replace:{{#var:title}}|*END*|'''Unassigned Project''' *END*}}}}|assigned = {{#vardefine:match|{{#replace:{{#var:match}}|/i|\¦\s*project\s*=/i}}}} {{#vardefine:title|{{#replace:{{#var:title}}|*END*|'''Assigned Project''' *END*}}}}|{{#vardefine:match|{{#replace:{{#var:match}}|/i|\¦\s*project\s*=\s*{{{project|}}}/i}}}}{{#vardefine:title|{{#replace:{{#var:title}}|*END*|'''Project:{{{project}}}''' *END*}}}}}}|{{#vardefine:title|{{#replace:{{#var:title}}|*END*|all projects *END*}}}}}}<!--
+
-->
 +
{{#if: {{{project|}}}
 +
  |{{#switch: {{{project|}}}
 +
    |unassigned = {{#vardefine:notmatch|{{#replace:{{#var:notmatch}}|/i|\¦\s*project\s*=/i}}}}
 +
                  {{#vardefine:title|{{#replace:{{#var:title}}|*END*|'''Unassigned Project''' *END*}}}}
 +
    |assigned = {{#vardefine:match|{{#replace:{{#var:match}}|/i|\¦\s*project\s*=/i}}}}
 +
                {{#vardefine:title|{{#replace:{{#var:title}}|*END*|'''Assigned Project''' *END*}}}}
 +
    |{{#vardefine:match|{{#replace:{{#var:match}}|/i|\¦\s*project\s*=\s*{{{project|}}}/i}}}}
 +
    {{#vardefine:title|{{#replace:{{#var:title}}|*END*|'''Project:{{{project}}}''' *END*}}}}
 +
  }}
 +
  |{{#vardefine:title|{{#replace:{{#var:title}}|*END*|all projects *END*}}}}
 +
}}
 +
<!--
 
Build title for category
 
Build title for category
-->{{#if: {{{cat|}}}|{{#vardefine:title|{{#replace:{{#var:title}}|*END*|&diams; '''Category:{{{cat}}} '''*END*}}}}|{{#vardefine:title|{{#replace:{{#var:title}}|*END*|&diams; all categories *END*}}}}}}<!--
+
-->
 +
{{#if: {{{cat|}}}
 +
  |{{#vardefine:title|{{#replace:{{#var:title}}|*END*|&diams; '''Category:{{{cat}}} '''*END*}}}}
 +
  |{{#vardefine:title|{{#replace:{{#var:title}}|*END*|&diams; all categories *END*}}}}
 +
}}
 +
<!--
 
Build match, notmatch and title for user
 
Build match, notmatch and title for user
-->{{#if: {{{user|}}}|{{#switch: {{{user|}}}|unassigned = {{#vardefine:notmatch|{{#replace:{{#var:notmatch}}|/i|.*\¦\s*user\s*=/i}}}} {{#vardefine:title|{{#replace:{{#var:title}}|*END*|&diams; '''Unassigned User'''}}}}|assigned = {{#vardefine:match|{{#replace:{{#var:match}}|/i|.*\¦\s*user\s*=/i}}}} {{#vardefine:title|{{#replace:{{#var:title}}|*END*|&diams; '''Assigned User'''}}}}|{{#vardefine:match|{{#replace:{{#var:match}}|/i|.*\¦\s*user\s*=\s*{{{user|}}}/i}}}}{{#vardefine:title|{{#replace:{{#var:title}}|*END*|&diams; '''User:{{{user}}}'''}}}}}}|{{#vardefine:title|{{#replace:{{#var:title}}|*END*| &diams; all users}}}}}}<!--
+
-->
 +
{{#if: {{{user|}}}
 +
  |{{#switch: {{{user|}}}
 +
    |unassigned = {{#vardefine:notmatch|{{#replace:{{#var:notmatch}}|/i|.*\¦\s*user\s*=/i}}}}
 +
                  {{#vardefine:title|{{#replace:{{#var:title}}|*END*|&diams; '''Unassigned User'''}}}}
 +
    |assigned = {{#vardefine:match|{{#replace:{{#var:match}}|/i|.*\¦\s*user\s*=/i}}}}
 +
                {{#vardefine:title|{{#replace:{{#var:title}}|*END*|&diams; '''Assigned User'''}}}}
 +
    |{{#vardefine:match|{{#replace:{{#var:match}}|/i|.*\¦\s*user\s*=\s*{{{user|}}}/i}}}}
 +
    {{#vardefine:title|{{#replace:{{#var:title}}|*END*|&diams; '''User:{{{user}}}'''}}}}
 +
  }}
 +
  |{{#vardefine:title|{{#replace:{{#var:title}}|*END*| &diams; all users}}}}
 +
}}
 +
<!--
 
Clear match and notmatch if no sting was defined-->{{#ifexpr: {{#len:{{#var:notmatch}}}} < 4 | {{#vardefine:notmatch|}} }}{{#ifexpr: {{#len:{{#var:match}}}} < 4 | {{#vardefine:match|}} }}<!--
 
Clear match and notmatch if no sting was defined-->{{#ifexpr: {{#len:{{#var:notmatch}}}} < 4 | {{#vardefine:notmatch|}} }}{{#ifexpr: {{#len:{{#var:match}}}} < 4 | {{#vardefine:match|}} }}<!--
 
Debugging option
 
Debugging option

Latest revision as of 20:01, 27 April 2011

List tasks in a table.

{{TasksTable
 |type          = todo/done
 |project       = project name/assigned/unassigned
 |user          = username/assigned/unassigned
 |cat           = category
 |suppresstitle = true
}}

All parameters are optional.

  • type of task : the list is for todo' or done task. Default is todo.
  • project =
    • unassigned : list all tasks not assigned to a project.
    • assigned : list all tasks assigned to a project.
    • project name : only list task assigned to project name.
    • If project is omitted or set to null, the list is for all.
  • user =
    • unassigned : list all tasks not assigned to a user.
    • assigned : list all tasks assigned to a user.
    • username : only list task assigned to username.
    • If user is omitted or set to null, the list is for all.
  • cat : only list tasks on pages with the category cat.
  • set suppresstitle = true to hide the table title.

TODO  : Modify title handling to keep it with the table when wrap-around occurs. See projects main pages for exemples of the problem.