123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- <%#
- Copyright 2018 Jo-Philipp Wich <jo@mein.io>
- Licensed to the public under the Apache License 2.0.
- -%>
- <%+header%>
- <style type="text/css">
- .controls {
- display: flex;
- margin: .5em 0 1em 0;
- flex-wrap: wrap;
- justify-content: space-around;
- }
- .controls > * {
- padding: .25em;
- white-space: nowrap;
- flex: 1 1 33%;
- box-sizing: border-box;
- display: flex;
- flex-wrap: wrap;
- }
- .controls > *:first-child,
- .controls > * > label {
- flex-basis: 100%;
- min-width: 250px;
- }
- .controls > * > .btn {
- flex-basis: 20px;
- text-align: center;
- }
- .controls > * > * {
- flex-grow: 1;
- align-self: center;
- }
- .controls > div > input {
- width: auto;
- }
- .td.version,
- .td.size {
- white-space: nowrap;
- }
- ul.deps, ul.deps ul, ul.errors {
- margin-left: 1em;
- }
- ul.deps li, ul.errors li {
- list-style: none;
- }
- ul.deps li:before {
- content: "↳";
- display: inline-block;
- width: 1em;
- margin-left: -1em;
- }
- ul.deps li > span {
- white-space: nowrap;
- }
- ul.errors li {
- color: #c44;
- font-size: 90%;
- font-weight: bold;
- padding-left: 1.5em;
- }
- ul.errors li:before {
- content: "⚠";
- display: inline-block;
- width: 1.5em;
- margin-left: -1.5em;
- }
- </style>
- <h2><%:Software%></h2>
- <div class="controls">
- <div>
- <label><%:Free space%>:</label>
- <div class="cbi-progressbar" title="<%:unknown%>">
- <div> </div>
- </div>
- </div>
- <div>
- <label><%:Filter%>:</label>
- <input type="text" name="filter" placeholder="<%:Type to filter…%>"<%=attr("value", luci.http.formvalue("query") or "")%> /><!--
- --><button class="btn cbi-button" onclick="handleReset(event)"><%:Clear%></button>
- </div>
- <div>
- <label><%:Download and install package%>:</label>
- <input type="text" name="install" placeholder="<%:Package name or URL…%>" onkeydown="if (event.keyCode === 13) handleManualInstall(event)" /><!--
- --><button class="btn cbi-button cbi-button-action" onclick="handleManualInstall(event)"><%:OK%></button>
- </div>
- <div>
- <label><%:Actions%>:</label>
- <button class="btn cbi-button-positive" data-command="update" onclick="handleOpkg(event)"><%:Update lists…%></button>
-  
- <button class="btn cbi-button-neutral" onclick="handleConfig(event)"><%:Configure opkg…%></button>
- </div>
- </div>
- <ul class="cbi-tabmenu mode">
- <li data-mode="available" class="available cbi-tab"><a href="#"><%:Available%></a></li>
- <li data-mode="installed" class="installed cbi-tab-disabled"><a href="#"><%:Installed%></a></li>
- <li data-mode="updates" class="installed cbi-tab-disabled"><a href="#"><%:Updates%></a></li>
- </ul>
- <div class="controls" style="display:none">
- <div id="pager" class="center">
- <button class="btn cbi-button-neutral prev" aria-label="<%:Previous page%>">«</button>
- <div class="text">dummy</div>
- <button class="btn cbi-button-neutral next" aria-label="<%:Next page%>">»</button>
- </div>
- </div>
- <div class="table" id="packages">
- <div class="tr cbi-section-table-titles">
- <div class="th col-2 left"><%:Package name%></div>
- <div class="th col-2 left version"><%:Version%></div>
- <div class="th col-1 center size"><%:Size (.ipk)%></div>
- <div class="th col-10 left"><%:Description%></div>
- <div class="th right"> </div>
- </div>
- </div>
- <script type="text/javascript" src="<%=resource%>/view/opkg.js"></script>
- <%+footer%>
|