Difference between revisions of "Template:TasksTable"
From Migiwe
Pierrem100 (Talk | contribs) m (typo in title) |
Pierrem100 (Talk | contribs) |
||
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*|♦ '''Category:{{{cat}}} '''*END*}}}}|{{#vardefine:title|{{#replace:{{#var:title}}|*END*|♦ all categories *END*}}}}}}<!-- | + | --> |
+ | {{#if: {{{cat|}}} | ||
+ | |{{#vardefine:title|{{#replace:{{#var:title}}|*END*|♦ '''Category:{{{cat}}} '''*END*}}}} | ||
+ | |{{#vardefine:title|{{#replace:{{#var:title}}|*END*|♦ 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*|♦ '''Unassigned User'''}}}}|assigned = {{#vardefine:match|{{#replace:{{#var:match}}|/i|.*\¦\s*user\s*=/i}}}} {{#vardefine:title|{{#replace:{{#var:title}}|*END*|♦ '''Assigned User'''}}}}|{{#vardefine:match|{{#replace:{{#var:match}}|/i|.*\¦\s*user\s*=\s*{{{user|}}}/i}}}}{{#vardefine:title|{{#replace:{{#var:title}}|*END*|♦ '''User:{{{user}}}'''}}}}}}|{{#vardefine:title|{{#replace:{{#var:title}}|*END*| ♦ all users}}}}}}<!-- | + | --> |
+ | {{#if: {{{user|}}} | ||
+ | |{{#switch: {{{user|}}} | ||
+ | |unassigned = {{#vardefine:notmatch|{{#replace:{{#var:notmatch}}|/i|.*\¦\s*user\s*=/i}}}} | ||
+ | {{#vardefine:title|{{#replace:{{#var:title}}|*END*|♦ '''Unassigned User'''}}}} | ||
+ | |assigned = {{#vardefine:match|{{#replace:{{#var:match}}|/i|.*\¦\s*user\s*=/i}}}} | ||
+ | {{#vardefine:title|{{#replace:{{#var:title}}|*END*|♦ '''Assigned User'''}}}} | ||
+ | |{{#vardefine:match|{{#replace:{{#var:match}}|/i|.*\¦\s*user\s*=\s*{{{user|}}}/i}}}} | ||
+ | {{#vardefine:title|{{#replace:{{#var:title}}|*END*|♦ '''User:{{{user}}}'''}}}} | ||
+ | }} | ||
+ | |{{#vardefine:title|{{#replace:{{#var:title}}|*END*| ♦ 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.