aboutsummaryrefslogtreecommitdiffstats
path: root/etherpad/src/plugins/twitterStyleTags/templates/tagBrowser.ejs
blob: c5b62150b0cba878383ece23f4c6ea56e27417a0 (plain) (blame)
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="/ep/tag/?query=' + tagQuery.tagsToQuery(tags, antiTags) + '&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="/ep/tag/?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="/ep/tag/?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="/ep/tag/?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="/ep/tag/?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="/ep/tag/?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; }); %>