[TASK] Make the whole update button in extension manager clickable
[Packages/TYPO3.CMS.git] / typo3 / sysext / extensionmanager / Resources / Private / Templates / List / Index.html
1 {namespace em=TYPO3\CMS\Extensionmanager\ViewHelpers}
2 {namespace core=TYPO3\CMS\Core\ViewHelpers}
3
4 <f:layout name="main" />
5
6 <f:section name="headline">
7 <h1><f:translate key="installedExtensions" /></h1>
8 </f:section>
9
10 <f:section name="content">
11 <f:render partial="List/UploadForm" />
12
13 <form class="form-inline">
14 <div class="form-group">
15 <f:form.textfield name="Tx_Extensionmanager_extensionkey" placeholder="{f:translate(key:'extensionList.search')}" id="Tx_Extensionmanager_extensionkey" value="{search}" class="form-control" />
16 </div>
17 </form>
18 <br>
19 <div class="table-fit">
20 <table id="typo3-extension-list" class="table table-striped table-hover typo3-extension-list">
21 <thead>
22 <tr>
23 <th title="{f:translate(key:'extensionList.header.title.update')}"><f:translate key="extensionList.header.update"/></th>
24 <th title="{f:translate(key:'extensionList.header.title.activate')}"><f:translate key="extensionList.header.activate"/></th>
25 <th><f:translate key="extensionList.header.extensionName"/></th>
26 <th><f:translate key="extensionList.header.extensionKey"/></th>
27 <th><f:translate key="extensionList.header.extensionVersion"/></th>
28 <th><f:translate key="extensionList.header.extensionState"/></th>
29 <th><f:translate key="extensionList.header.extensionActions"/></th>
30 </tr>
31 </thead>
32 <tbody>
33 <f:for each="{extensions}" as="extension" key="extensionKey">
34 <f:if condition="{extension.terObject}">
35 <f:then>
36 <tr id="{extensionKey}" class="{f:if(condition:'{extension.terObject.reviewState} == -1', then:'insecure')}{f:if(condition:'{extension.terObject.reviewState} == -2', then:'outdated')} {f:if(condition:'{extension.installed}', then: '', else: 'inactive')}">
37 </f:then>
38 <f:else>
39 <tr id="{extensionKey}" class="{f:if(condition:'{extension.installed}', then: '', else: 'inactive')}">
40 </f:else>
41 </f:if>
42 <td>
43 <f:if condition="{extension.updateAvailable}">
44 <f:if condition="{extension.state} == 'excludeFromUpdates'">
45 <f:then>
46 <span class="btn btn-default disabled" title="{f:translate(key:'extensionList.updateDisabled')}">
47 <core:icon identifier="actions-system-extension-update" />
48 </span>
49 </f:then>
50 <f:else>
51 <f:link.action action="updateCommentForUpdatableVersions"
52 class="btn btn-default"
53 additionalAttributes="{data-action:'update-extension'}"
54 format="json" controller="Download"
55 arguments="{extension:extension.key, integerVersionStart: extension.terObject.integerVersion, integerVersionStop: extension.updateToVersion.integerVersion}"
56 title="{f:translate(key:'extensionList.updateToVersion', arguments:{0:extension.updateToVersion.version})}"
57 >
58 <core:icon identifier="actions-system-extension-update" />
59 </f:link.action>
60 </f:else>
61 </f:if>
62 </f:if>
63 </td>
64 <td data-order="{f:if(condition: extension.installed, then: 'active', else: 'inactive')}">
65 <em:toggleExtensionInstallationState extension="{extension}" />
66 </td>
67 <td>
68 <f:if condition="{extension.ext_icon}">
69 <img class="ext-icon" src="../{extension.siteRelPath}{extension.ext_icon}" alt="{extension.title}" />
70 </f:if>
71 <em:configureExtension extension="{extension}" forceConfiguration="0" showDescription="1">{extension.title}</em:configureExtension>
72 </td>
73 <td>
74 {extensionKey}
75 </td>
76 <td>
77 {extension.version}
78 </td>
79 <td>
80 <span class="label label-{extension.state}">{extension.state}</span>
81 </td>
82 <td>
83 <div class="btn-group">
84 <em:processAvailableActions extension="{extension}">
85 <em:configureExtension class="btn btn-default" extension="{extension}" title="{f:translate(key:'extensionList.configure')}">
86 <core:icon identifier="actions-system-extension-configure" />
87 </em:configureExtension>
88 <em:updateScript class="btn btn-default" extensionKey="{extension.key}" />
89 <em:removeExtension class="btn btn-default" extension="{extension}" />
90 <span class="btn btn-default">
91 <f:link.action action="downloadExtensionZip" controller="Action" arguments="{extension:extension.key}" title="{f:translate(key:'extensionList.downloadzip')}">
92 <core:icon identifier="actions-system-extension-download" />
93 </f:link.action>
94 </span>
95 <em:downloadExtensionData class="btn btn-default" extension="{extension}" />
96 </em:processAvailableActions>
97 </div>
98 </td>
99 </tr>
100 </f:for>
101 </tbody>
102 </table>
103 </div>
104 </f:section>