1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
<% /*
Copyright 2009 Google Inc.
Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS-IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. */ %>
<%
template.inherit('page.ejs');
helpers.setHtmlTitle("EtherPad: Browse tags");
helpers.includeCss("plugins/twitterStyleTags/tagBrowser.css");
helpers.includeCss("plugins/twitterStyleTags/pad.css");
helpers.addToHead('\n<link rel="alternate" href="' + helpers.updateToUrl({format:'rss'}) + '" type="application/rss+xml" title="Query results as RSS" />\n');
function inArray(item, arr) {
for (var i = 0; i < arr.length; i++)
if (arr[i] == item)
return true;
return false;
}
%>
<% template.define('docBarTitle', function() { var ejs_data=''; %>
<td id="docbarpadtitle"><span>Browse Tags</span></td>
<% return ejs_data; }); %>
<% template.define('sideBar', function() { var ejs_data=''; %>
<div id="padusers">
<% if (isProAccountEnabled()) { %>
<a href="/ep/pad/newpad" style="padding: 25px 0" id="home-newpad">
Create new pad
</a>
<a href="/ep/pro-signup/" style="padding: 25px 0" id="home-newteam">
Create new team
</a>
<% } else { %>
<a href="/ep/pad/newpad" id="home-newpad">
Create new pad
</a>
<% } %>
</div>
<div id="hdraggie"><!-- --></div>
<div id="padchat"><iframe src="<%= config['motdPage'] %>" width="100%" height="100%"></iframe></div>
<% return ejs_data; }); %>
<% template.define('editBarItemsLeft', function() { var ejs_data=''; %>
<td>
Query:
<% if (tags.length == 0 && antiTags.length == 0) { %>
Latest changed pads
<% } else { %>
<% for (i = 0; i < tags.length; i++) { %>
<a href="<%= helpers.updateToUrl({query:tagQuery.tagsToQuery(tags.filter(function (tag) { return tag != tags[i]}), antiTags)}) %>" class="padtag" title="<%= tags[i] %> matches">#<%= tags[i] %></a>
<% } %>
<% for (i = 0; i < antiTags.length; i++) { %>
<a href="<%= helpers.updateToUrl({query:tagQuery.tagsToQuery(tags, antiTags.filter(function (tag) { return tag != antiTags[i]}))}) %>" class="anti_padtag" title="<%= antiTags[i] %> matches">!#<%= antiTags[i] %></a>
<% } %>
<% } %>
</td>
<% return ejs_data; }); %>
<% template.define('contentArea', function() { var ejs_data=''; %>
<div id="editorcontainer">
<div class="query-refiner">
<%: template.use('queryRefiner', function() { var ejs_data=''; %>
<h1>Search for pads that have the tag</h1>
<% for (i = 0; i < newTags.length; i++) { %>
<a href="<%= helpers.updateToUrl({query:tagQuery.tagsToQuery(tags.concat([newTags[i].tagname]),antiTags)}) %>" class="padtag" title="<%= newTags[i].matches %> matches">#<%= newTags[i].tagname %></a>
<% } %>
<h1>Search for pads that <em>don't</em> have the tag</h1>
<% for (i = 0; i < newTags.length; i++) { %>
<a href="<%= helpers.updateToUrl({query:tagQuery.tagsToQuery(tags,antiTags.concat([newTags[i].tagname]))}) %>" class="anti_padtag" title="<%= newTags[i].antimatches %> matches">!#<%= newTags[i].tagname %></a>
<% } %>
<% return ejs_data; }); %>
</div>
<dl>
<%: template.use('queryResult', function() { var ejs_data=''; %>
<% for (i = 0; i < matchingPads.length; i++) { %>
<%
var matchingPadId = matchingPads[i].ID;
var matchingPadUrl = matchingPadId;
if (!inArray('writable', matchingPads[i].TAGS)) {
matchingPadId = padIdToReadonly(matchingPads[i].ID);
matchingPadUrl = 'ep/pad/view/' + matchingPadId + '/latest';
}
%>
<dt><a href="/<%= matchingPadUrl %>"><%= matchingPadId %></a><dt>
<dd>
<% for (j = 0; j < matchingPads[i].TAGS.length; j++) { %>
<a href="<%= helpers.updateToUrl({query:tagQuery.tagsToQuery(tags.concat([matchingPads[i].TAGS[j]]), antiTags)}) %>" class="padtag" title="<%= matchingPads[i].TAGS[j] %> matches">#<%= matchingPads[i].TAGS[j] %></a>
<% } %>
</dd>
<% } %>
<% return ejs_data; }); %>
</dl>
</div>
<% return ejs_data; }); %>
|