Skip to content

Commit 081c92a

Browse files
committed
Migrate PageListPage to grid view
1 parent 0fe87c8 commit 081c92a

File tree

11 files changed

+492
-353
lines changed

11 files changed

+492
-353
lines changed

wcfsetup/install/files/acp/templates/pageList.tpl

Lines changed: 4 additions & 183 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<header class="contentHeader">
44
<div class="contentHeaderTitle">
5-
<h1 class="contentTitle">{lang}wcf.acp.page.list{/lang}{if $items} <span class="badge badgeInverse">{#$items}</span>{/if}</h1>
5+
<h1 class="contentTitle">{lang}wcf.acp.page.list{/lang} <span class="badge badgeInverse">{#$gridView->countRows()}</span></h1>
66
</div>
77

88
<nav class="contentHeaderNavigation">
@@ -19,188 +19,9 @@
1919
</nav>
2020
</header>
2121

22-
<form method="post" action="{link controller='PageList'}{/link}">
23-
<section class="section">
24-
<h2 class="sectionTitle">{lang}wcf.global.filter{/lang}</h2>
25-
26-
<div class="row rowColGap formGrid">
27-
<dl class="col-xs-12 col-md-4">
28-
<dt></dt>
29-
<dd>
30-
<input type="text" id="name" name="name" value="{$name}" placeholder="{lang}wcf.global.name{/lang}" class="long">
31-
</dd>
32-
</dl>
33-
34-
<dl class="col-xs-12 col-md-4">
35-
<dt></dt>
36-
<dd>
37-
<input type="text" id="pageTitle" name="title" value="{$title}" placeholder="{lang}wcf.global.title{/lang}" class="long">
38-
</dd>
39-
</dl>
40-
41-
<dl class="col-xs-12 col-md-4">
42-
<dt></dt>
43-
<dd>
44-
<input type="text" id="pageContent" name="content" value="{$content}" placeholder="{lang}wcf.acp.page.content{/lang}" class="long">
45-
</dd>
46-
</dl>
47-
48-
<dl class="col-xs-12 col-md-4">
49-
<dt></dt>
50-
<dd>
51-
<select name="applicationPackageID" id="applicationPackageID">
52-
<option value="0">{lang}wcf.acp.page.application{/lang}</option>
53-
{foreach from=$availableApplications item=availableApplication}
54-
<option value="{$availableApplication->packageID}"{if $availableApplication->packageID == $applicationPackageID} selected{/if}>{$availableApplication->domainName}{$availableApplication->domainPath}</option>
55-
{/foreach}
56-
</select>
57-
</dd>
58-
</dl>
59-
60-
<dl class="col-xs-12 col-md-4">
61-
<dt></dt>
62-
<dd>
63-
<select name="pageType" id="pageType">
64-
<option value="">{lang}wcf.acp.page.type{/lang}</option>
65-
<option value="text"{if $pageType == 'text'} selected{/if}>{lang}wcf.acp.page.type.text{/lang}</option>
66-
<option value="html"{if $pageType == 'html'} selected{/if}>{lang}wcf.acp.page.type.html{/lang}</option>
67-
<option value="tpl"{if $pageType == 'tpl'} selected{/if}>{lang}wcf.acp.page.type.tpl{/lang}</option>
68-
<option value="system"{if $pageType == 'system'} selected{/if}>{lang}wcf.acp.page.type.system{/lang}</option>
69-
</select>
70-
</dd>
71-
</dl>
72-
73-
<dl class="col-xs-12 col-md-4">
74-
<dt></dt>
75-
<dd>
76-
<label><input type="checkbox" name="originIsNotSystem" value="1"{if $originIsNotSystem} checked{/if}> {lang}wcf.acp.page.originIsNotSystem{/lang}</label>
77-
<label><input type="checkbox" name="controllerCustomURL" value="1"{if $controllerCustomURL} checked{/if}> {lang}wcf.acp.page.customURL{/lang}</label>
78-
</dd>
79-
</dl>
80-
81-
{event name='filterFields'}
82-
</div>
83-
84-
<div class="formSubmit">
85-
<input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
86-
{csrfToken}
87-
</div>
88-
</section>
89-
</form>
90-
91-
{hascontent}
92-
<div class="paginationTop">
93-
{content}
94-
{assign var='linkParameters' value=''}
95-
{if $name}{capture append=linkParameters}&name={@$name|rawurlencode}{/capture}{/if}
96-
{if $title}{capture append=linkParameters}&title={@$title|rawurlencode}{/capture}{/if}
97-
{if $content}{capture append=linkParameters}&content={@$content|rawurlencode}{/capture}{/if}
98-
{if $applicationPackageID}{capture append=linkParameters}&applicationPackageID={@$applicationPackageID}{/capture}{/if}
99-
{if $pageType}{capture append=linkParameters}&pageType={@$pageType|rawurlencode}{/capture}{/if}
100-
{if $originIsNotSystem}{capture append=linkParameters}&originIsNotSystem=1{/capture}{/if}
101-
{if $controllerCustomURL}{capture append=linkParameters}&controllerCustomURL=1{/capture}{/if}
102-
103-
{pages print=true assign=pagesLinks controller="PageList" link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder$linkParameters"}
104-
{/content}
105-
</div>
106-
{/hascontent}
107-
108-
{if $objects|count}
109-
<div class="section tabularBox">
110-
<table class="table jsObjectActionContainer" data-object-action-class-name="wcf\data\page\PageAction">
111-
<thead>
112-
<tr>
113-
<th class="columnPageID{if $sortField == 'pageID'} active {@$sortOrder}{/if}" colspan="2"><a href="{link controller='PageList'}pageNo={@$pageNo}&sortField=pageID&sortOrder={if $sortField == 'pageID' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.global.objectID{/lang}</a></th>
114-
<th class="columnTitle columnName{if $sortField == 'name'} active {@$sortOrder}{/if}"><a href="{link controller='PageList'}pageNo={@$pageNo}&sortField=name&sortOrder={if $sortField == 'name' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.global.name{/lang}</a></th>
115-
<th class="columnText columnURL">{lang}wcf.acp.page.url{/lang}</th>
116-
<th class="columnText columnPageType{if $sortField == 'pageType'} active {@$sortOrder}{/if}"><a href="{link controller='PageList'}pageNo={@$pageNo}&sortField=pageType&sortOrder={if $sortField == 'pageType' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.acp.page.type{/lang}</a></th>
117-
<th class="columnDate columnLastUpdateTime{if $sortField == 'lastUpdateTime'} active {@$sortOrder}{/if}"><a href="{link controller='PageList'}pageNo={@$pageNo}&sortField=lastUpdateTime&sortOrder={if $sortField == 'lastUpdateTime' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.acp.page.lastUpdateTime{/lang}</a></th>
118-
119-
{event name='columnHeads'}
120-
</tr>
121-
</thead>
122-
123-
<tbody class="jsReloadPageWhenEmpty">
124-
{foreach from=$objects item=page}
125-
<tr class="jsPageRow jsObjectActionObject" data-object-id="{@$page->getObjectID()}">
126-
<td class="columnIcon">
127-
{if $page->canDisable()}
128-
{objectAction action="toggle" isDisabled=$page->isDisabled}
129-
{else}
130-
<span class="disabled" title="{lang}wcf.global.button.{if !$page->isDisabled}disable{else}enable{/if}{/lang}">
131-
{if $page->isDisabled}
132-
{icon name='square'}
133-
{else}
134-
{icon name='square-check'}
135-
{/if}
136-
</span>
137-
{/if}
138-
<a href="{link controller='PageEdit' id=$page->pageID}{/link}" title="{lang}wcf.global.button.edit{/lang}" class="jsTooltip">{icon name='pencil'}</a>
139-
{if $page->canDelete()}
140-
{objectAction action="delete" objectTitle=$page->name}
141-
{else}
142-
<span class="disabled" title="{lang}wcf.global.button.delete{/lang}">
143-
{icon name='xmark'}
144-
</span>
145-
{/if}
146-
{if !$page->requireObjectID}
147-
<a href="{$page->getLink()}" title="{lang}wcf.acp.page.button.viewPage{/lang}" class="jsTooltip">{icon name='magnifying-glass'}</a>
148-
{else}
149-
<span class="disabled" title="{lang}wcf.acp.page.button.viewPage{/lang}">
150-
{icon name='magnifying-glass'}
151-
</span>
152-
{/if}
153-
154-
{event name='rowButtons'}
155-
</td>
156-
<td class="columnID columnPageID">{@$page->pageID}</td>
157-
<td class="columnTitle columnName"><a href="{link controller='PageEdit' id=$page->pageID}{/link}">{$page->name}</a></td>
158-
<td class="columnText columnURL">
159-
{if $page->applicationPackageID === null}
160-
{icon name='triangle-exclamation'}
161-
<span>{lang}wcf.acp.page.application.error.missing{/lang}</span>
162-
{else}
163-
{$page->getDisplayLink()}
164-
{if $page->controllerCustomURL || $page->pageType !== 'system'}
165-
<span class="jsTooltip" title="{lang}wcf.acp.page.customURL{/lang}">
166-
{icon name='circle-exclamation'}
167-
</span>
168-
{/if}
169-
{/if}
170-
</td>
171-
<td class="columnText columnPageType">{lang}wcf.acp.page.type.{@$page->pageType}{/lang}</td>
172-
<td class="columnDate columnLastUpdateTime">{@$page->lastUpdateTime|time}</td>
173-
174-
{event name='columns'}
175-
</tr>
176-
{/foreach}
177-
</tbody>
178-
</table>
179-
</div>
180-
181-
<footer class="contentFooter">
182-
{hascontent}
183-
<div class="paginationBottom">
184-
{content}{@$pagesLinks}{/content}
185-
</div>
186-
{/hascontent}
187-
188-
<nav class="contentFooterNavigation">
189-
<ul>
190-
<li>
191-
<button class="button jsButtonPageAdd">
192-
{icon name='plus'}
193-
<span>{lang}wcf.acp.page.add{/lang}</span>
194-
</button>
195-
</li>
196-
197-
{event name='contentFooterNavigation'}
198-
</ul>
199-
</nav>
200-
</footer>
201-
{else}
202-
<woltlab-core-notice type="info">{lang}wcf.global.noItems{/lang}</woltlab-core-notice>
203-
{/if}
22+
<div class="section">
23+
{unsafe:$gridView->render()}
24+
</div>
20425

20526
{include file='pageAddDialog'}
20627

0 commit comments

Comments
 (0)