browser/devtools/app-manager/content/projects.xhtml

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:dadd4a1a8848
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- This Source Code Form is subject to the terms of the Mozilla Public
3 - License, v. 2.0. If a copy of the MPL was not distributed with this
4 - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
5 <!DOCTYPE html [
6 <!ENTITY % appMgrDTD SYSTEM "chrome://browser/locale/devtools/app-manager.dtd" >
7 %appMgrDTD;
8 ]>
9
10 <html xmlns="http://www.w3.org/1999/xhtml">
11
12 <head>
13 <meta charset="utf8"/>
14 <base href="chrome://browser/content/devtools/app-manager/"></base>
15 <title>&projects.title;</title>
16 <link rel="stylesheet" href="chrome://browser/skin/devtools/app-manager/projects.css" type="text/css"/>
17 <script type="application/javascript;version=1.8" src="utils.js"></script>
18 <script type="application/javascript;version=1.8" src="projects.js"></script>
19 <script type="application/javascript;version=1.8" src="template.js"></script>
20 <script type="application/javascript;version=1.8" src="manifest-editor.js"></script>
21 </head>
22
23 <body onload="UI.onload()">
24 <aside id="sidebar">
25 <div id="project-list" template='{"type":"attribute","path":"projects.length","name":"projects-count"}'>
26 <div template-loop='{"arrayPath":"projects","childSelector":"#project-item-template"}'></div>
27 <div id="no-project">&projects.noProjects;</div>
28 </div>
29 <div id="new-packaged-project" onclick="UI.addPackaged()" title="&projects.addPackagedTooltip;">&projects.addPackaged;</div>
30 <div id="new-hosted-project">&projects.addHosted;
31 <form onsubmit="UI.addHosted(); return false;" id="new-hosted-project-wrapper">
32 <input value="" id="url-input" type="url" required="true" pattern="(https?|chrome)://.+" placeholder="&projects.hostedManifestPlaceHolder2;" size="50" />
33 <div onclick="UI.addHosted()" id="new-hosted-project-click" title="&projects.addHostedTooltip;"></div>
34 <input type="submit" hidden="true"></input>
35 </form>
36 </div>
37 </aside>
38 <section id="lense"></section>
39 </body>
40
41 <template id="project-item-template">
42 <div class="project-item" template='{"type":"attribute","path":"location","name":"id"}' onclick="UI.selectProject(this.id)">
43 <div class="project-item-status" template='{"type":"attribute","path":"validationStatus","name":"status"}'></div>
44 <img class="project-item-icon" template='{"type":"attribute","path":"icon","name":"src"}' />
45 <div class="project-item-meta">
46 <div class="button-remove" onclick="UI.remove(this.dataset.location, event)" template='{"type":"attribute","path":"location","name":"data-location"}' title="&projects.removeAppFromList;"></div>
47 <strong template='{"type":"textContent","path":"manifest.name"}'></strong>
48 <span class="project-item-type" template='{"type":"textContent","path":"type"}'></span>
49 <p class="project-item-description" template='{"type":"textContent","path":"manifest.description"}'></p>
50 <div template='{"type":"attribute","path":"validationStatus","name":"status"}'>
51 <div class="project-item-errors"><span template='{"type":"textContent","path":"errorsCount"}'></span></div>
52 <div class="project-item-warnings"><span template='{"type":"textContent","path":"warningsCount"}'></span></div>
53 </div>
54 </div>
55 </div>
56 </template>
57
58 <template id="lense-template">
59 <div>
60 <div class="project-details" template='{"type":"attribute","path":"validationStatus","name":"status"}'>
61 <div class="project-header">
62 <img class="project-icon" template='{"type":"attribute","path":"icon","name":"src"}'/>
63 <div class="project-metadata">
64 <div class="project-title">
65 <h1 template='{"type":"textContent","path":"manifest.name"}'></h1>
66 <div class="project-status" template='{"type":"attribute","path":"validationStatus","name":"status"}'>
67 <p class="project-validation valid">&projects.valid;</p>
68 <p class="project-validation warning">&projects.warning;</p>
69 <p class="project-validation error">&projects.error;</p>
70 </div>
71 <div class="project-status" template='{"type":"attribute","path":"type","name":"type"}'>
72 <p class="project-type hosted">&projects.hosted;</p>
73 <p class="project-type packaged">&projects.packaged;</p>
74 </div>
75 </div>
76 <span template='{"type":"textContent","path":"manifest.developer.name"}'></span>
77 <p class="project-location" template='{"type":"textContent","path":"location"}' onclick="UI.reveal(this.textContent)"></p>
78 <p class="project-description" template='{"type":"textContent","path":"manifest.description"}'></p>
79 </div>
80 </div>
81 <div class="project-buttons" template='{"type":"attribute","path":"type","name":"type"}'>
82 <button class="project-button-update" onclick="UI.update(this, this.dataset.location)" template='{"type":"attribute","path":"location","name":"data-location"}' title="&projects.updateAppTooltip;">&projects.updateApp;</button>
83 <button class="device-action project-button-debug" onclick="UI.debug(this, this.dataset.location)" template='{"type":"attribute","path":"location","name":"data-location"}' title="&projects.debugAppTooltip;">&projects.debugApp;</button>
84 </div>
85 <div class="project-errors" template='{"type":"textContent","path":"errors"}'></div>
86 <div class="project-warnings" template='{"type":"textContent","path":"warnings"}'></div>
87 </div>
88 <div class="manifest-editor">
89 <div class="manifest-header" template='{"type":"attribute","path":"type","name":"type"}'>
90 <h2 class="editable" title="&projects.manifestEditorTooltip;">&projects.manifestEditor;</h2>
91 <h2 class="viewable" title="&projects.manifestViewerTooltip;">&projects.manifestViewer;</h2>
92 <button class="editable manifest-button-save" onclick="UI.saveManifest(this, this.dataset.location)" template='{"type":"attribute","path":"location","name":"data-location"}' title="&projects.saveManifestTooltip;">&projects.saveManifest;</button>
93 </div>
94 </div>
95 </div>
96 </template>
97 </html>

mercurial