1 <div id="item-{{$item.guid}}" class="item-{{$item.id}}">
2 <div class="wall-item-container panel-body{{$item.indent}} {{$item.shiny}} {{$item.previewing}}">
4 {{* Put additional actions in a top-right dropdown menu *}}
6 {{* The avatar picture and the photo-menu *}}
7 <div class="dropdown pull-left"><!-- Dropdown -->
8 <div class="hidden-sm hidden-xs contact-photo-wrapper mframe{{if $item.owner_url}} wwfrom{{/if}}">
9 <a href="{{$item.profile_url}}" class="userinfo click-card u-url" id="wall-item-photo-menu-{{$item.id}}">
10 <div class="contact-photo-image-wrapper">
11 <img src="{{$item.thumb}}" class="contact-photo media-object {{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" />
15 <div class="hidden-lg hidden-md contact-photo-wrapper mframe{{if $item.owner_url}} wwfrom{{/if}}">
16 <a href="{{$item.profile_url}}" class="userinfo click-card u-url" id="wall-item-photo-menu-xs-{{$item.id}}">
17 <div class="contact-photo-image-wrapper">
18 <img src="{{$item.thumb}}" class="contact-photo-xs media-object {{$item.sparkle}}" id="wall-item-photo-xs-{{$item.id}}" alt="{{$item.name}}" />
22 </div><!-- ./Dropdown -->
25 {{* contact info header*}}
26 <div class="contact-info hidden-sm hidden-xs media-body"><!-- Desktop -->
27 <div class="preferences">
28 {{if $item.network_icon != ""}}
29 <span class="wall-item-network"><i class="fa fa-{{$item.network_icon}}" title="{{$item.network_name}}" aria-hidden="true"></i></span>
31 <span class="wall-item-network" title="{{$item.app}}">{{$item.network_name}}</span>
33 {{if $item.plink}} {{*link to the original source of the item *}}
34 <a href="{{$item.plink.href}}" class="plink u-url" aria-label="{{$item.plink.title}}" title="{{$item.plink.title}}">
35 <i class="fa fa-external-link"></i>
39 <h4 class="media-heading">
40 <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card">
41 <span class="wall-item-name {{$item.sparkle}}">{{$item.name}}</span>
43 {{if $item.owner_url}}
45 <a href="{{$item.owner_url}}" target="redir" title="{{$item.olinktitle}}" class="wall-item-name-link userinfo hover-card">
46 <span class="wall-item-name {{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span>
50 <span class="navicon lock fakelink" onClick="lockview(event, 'item', {{$item.id}});" title="{{$item.lock}}">
51 <small><i class="fa fa-lock" aria-hidden="true"></i></small>
53 {{elseif $item.connector}}
54 <span class="fa fa-lock" title="{{$item.connector}}"></span>
56 <div class="additional-info text-muted">
57 <div id="wall-item-ago-{{$item.id}}" class="wall-item-ago">
59 <a href="{{$item.plink.orig}}">
60 <time class="time" title="{{$item.localtime}}" data-toggle="tooltip" datetime="{{$item.utc}}">{{$item.ago}}</time>
63 • <i class="fa fa-thumb-tack" aria-hidden="true" title="{{$item.pinned}}"></i>
64 <span class="sr-only">{{$item.pinned}}</span>
69 {{if $item.location_html}}
70 <div id="wall-item-location-{{$item.id}}" class="wall-item-location">
71 <small><span class="location">({{$item.location_html nofilter}})</span></small>
75 {{* @todo $item.created have to be inserted *}}
79 {{* contact info header for smartphones *}}
80 <div class="contact-info contact-info-xs hidden-lg hidden-md">
81 <div class="preferences">
82 {{if $item.network_icon != ""}}
83 <span class="wall-item-network"><i class="fa fa-{{$item.network_icon}}" title="{{$item.network_name}}" aria-hidden="true"></i></span>
85 <span class="wall-item-network" title="{{$item.app}}">{{$item.network_name}}</span>
87 {{if $item.plink}} {{*link to the original source of the item *}}
88 <a href="{{$item.plink.href}}" class="plink u-url" aria-label="{{$item.plink.title}}" title="{{$item.plink.title}}">
89 <i class="fa fa-external-link"></i>
93 <h5 class="media-heading">
94 <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card"><span>{{$item.name}}</span></a>
95 <p class="text-muted"><small>
96 <span class="wall-item-ago">{{$item.ago}}</span> {{if $item.location_html}} — ({{$item.location_html nofilter}}){{/if}}</small>
101 <div class="clearfix"></div>
106 <div class="wall-item-content {{$item.type}}" id="wall-item-content-{{$item.id}}">
108 <span class="wall-item-title" id="wall-item-title-{{$item.id}}"><h4 class="media-heading" dir="auto"><a href="{{$item.plink.href}}" class="{{$item.sparkle}}">{{$item.title}}</a></h4><br /></span>
111 <div class="wall-item-body" id="wall-item-body-{{$item.id}}" dir="auto">{{$item.body_html nofilter}}</div>
115 <div class="wall-item-bottom">
116 <div class="wall-item-links"></div>
117 <div class="wall-item-tags">
118 {{if !$item.suppress_tags}}
119 {{foreach $item.hashtags as $tag}}
120 <span class="tag label btn-info sm">{{$tag nofilter}} <i class="fa fa-bolt" aria-hidden="true"></i></span>
123 {{foreach $item.mentions as $tag}}
124 <span class="mention label btn-warning sm">{{$tag nofilter}} <i class="fa fa-user" aria-hidden="true"></i></span>
128 {{foreach $item.folders as $cat}}
129 <span class="folder label btn-danger sm">{{$cat.name}}{{if $cat.removeurl}} (<a href="{{$cat.removeurl}}" title="{{$remove}}">x</a>) {{/if}} </span>
132 {{foreach $item.categories as $cat}}
133 <span class="category label btn-success sm">{{$cat.name}}{{if $cat.removeurl}} (<a href="{{$cat.removeurl}}" title="{{$remove}}">x</a>) {{/if}} </span>
136 {{if $item.edited}}<div class="itemedited text-muted">{{$item.edited['label']}} (<span title="{{$item.edited['date']}}">{{$item.edited['relative']}}</span>)</div>{{/if}}
140 <p class="wall-item-actions">
141 {{* Action buttons to interact with the item (like: like, dislike, share and so on *}}
142 <span class="wall-item-actions-left">
143 <!--comment this out to try something different {{if $item.threaded}}{{if $item.comment_html}}
144 <div id="button-reply" class="pull-left">
145 <button type="button" class="btn-link" id="comment-{{$item.id}}" onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});"><i class="fa fa-reply" title="{{$item.switchcomment}}"></i> </span>
149 {{if $item.threaded}}{{/if}}
151 {{* Buttons for like and dislike *}}
153 {{if $item.vote.like}}
154 <button type="button" class="btn btn-defaultbutton-likes{{if $item.responses.like.self}} active" aria-pressed="true{{/if}}" id="like-{{$item.id}}" title="{{$item.vote.like.0}}" onclick="doActivityItemAction({{$item.id}}, 'like'{{if $item.responses.like.self}}, true{{/if}});">{{$item.vote.like.0}}</button>
156 {{if $item.vote.like AND $item.vote.dislike}}
157 <span role="presentation" class="separator">•</span>
160 {{if $item.vote.dislike}}
161 <button type="button" class="btn btn-defaultbutton-likes{{if $item.responses.like.self}} active" aria-pressed="true{{/if}}" id="dislike-{{$item.id}}" title="{{$item.vote.dislike.0}}" onclick="doActivityItemAction({{$item.id}}, 'dislike'{{if $item.responses.dislike.self}}, true{{/if}});">{{$item.vote.dislike.0}}</button>
163 {{if ($item.vote.like OR $item.vote.dislike) AND $item.comment_html}}
164 <span role="presentation" class="separator">•</span>
168 {{* Button to open the comment text field *}}
169 {{if $item.comment_html}}
170 <button type="button" class="btn btn-default" id="comment-{{$item.id}}" title="{{$item.switchcomment}}" onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});">{{$item.switchcomment}}</button>
173 {{* Button for sharing the item *}}
175 {{if $item.vote.share}}
176 {{if $item.vote.like OR $item.vote.dislike OR $item.comment_html}}
177 <span role="presentation" class="separator">•</span>
179 <button type="button" class="btn btn-default" id="share-{{$item.id}}" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}});"><i class="fa fa-retweet" aria-hidden="true"></i> {{$item.vote.share.0}}</button>
183 {{* Put additional actions in a dropdown menu *}}
184 {{if $item.menu && ($item.edpost || $item.tagger || $item.filer || $item.pin || $item.star || $item.follow_thread || $item.ignore || $item.drop.dropping || $item.browsershare)}}
185 <span role="presentation" class="separator"></span>
186 <span class="more-links btn-group{{if $item.thread_level> 1}} dropup{{/if}}">
187 <button type="button" class="btn-link dropdown-toggle" data-toggle="dropdown" id="dropdownMenuOptions-{{$item.id}}" aria-haspopup="true" aria-expanded="false" title="{{$item.menu}}"><i class="fa fa-ellipsis-h" aria-hidden="true"></i> {{$item.menu}}</button>
188 <ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="dropdownMenuOptions-{{$item.id}}">
189 {{if $item.edpost}} {{* edit the posting *}}
191 <a href="javascript:editpost('{{$item.edpost.0}}?mode=none');" title="{{$item.edpost.1}}" class="btn-link navicon pencil"><i class="fa fa-pencil" aria-hidden="true"></i> {{$item.edpost.1}}</a>
195 {{if $item.tagger}} {{* tag the post *}}
197 <a id="tagger-{{$item.id}}" href="javascript:itemTag({{$item.id}});" class="btn-link {{$item.tagger.class}}" title="{{$item.tagger.add}}"><i class="fa fa-tag" aria-hidden="true"></i> {{$item.tagger.add}}</a>
203 <a id="filer-{{$item.id}}" href="javascript:itemFiler({{$item.id}});" class="btn-link filer-item filer-icon" title="{{$item.filer}}"><i class="fa fa-folder" aria-hidden="true"></i> {{$item.filer}}</a>
209 <a id="pin-{{$item.id}}" href="javascript:doPin({{$item.id}});" class="btn-link {{$item.pin.classdo}}" title="{{$item.pin.do}}"><i class="fa fa-circle-o" aria-hidden="true"></i> {{$item.pin.do}}</a>
210 <a id="unpin-{{$item.id}}" href="javascript:doPin({{$item.id}});" class="btn-link {{$item.pin.classundo}}" title="{{$item.pin.undo}}"><i class="fa fa-dot-circle-o" aria-hidden="true"></i> {{$item.pin.undo}}</a>
216 <a id="star-{{$item.id}}" href="javascript:doStar({{$item.id}});" class="btn-link {{$item.star.classdo}}" title="{{$item.star.do}}"><i class="fa fa-star-o" aria-hidden="true"></i> {{$item.star.do}}</a>
217 <a id="unstar-{{$item.id}}" href="javascript:doStar({{$item.id}});" class="btn-link {{$item.star.classundo}}" title="{{$item.star.undo}}"><i class="fa fa-star" aria-hidden="true"></i> {{$item.star.undo}}</a>
221 {{if $item.follow_thread}}
223 <a id="follow_thread-{{$item.id}}" href="javascript:{{$item.follow_thread.action}}" class="btn-link" title="{{$item.follow_thread.title}}"><i class="fa fa-plus" aria-hidden="true"></i> {{$item.follow_thread.title}}</a>
227 {{if $item.language}}
229 <a id="language-{{$item.id}}" href="javascript:alert('{{$item.language.1}}');" class="btn-link filer-item language-icon" title="{{$item.language.0}}"><i class="fa fa-language" aria-hidden="true"></i> {{$item.language.0}}</a>
233 {{if $item.browsershare}}
234 <li role="menuitem" class="button-browser-share">
235 <a id="browser-share-{{$item.id}}" href="javascript:navigator.share({url: '{{$item.plink.orig}}'});" class="btn-link button-browser-share" title="{{$item.browsershare.1}}"><i class="fa fa-share-alt" aria-hidden="true"></i> {{$item.browsershare.0}}</a>
239 {{if ($item.edpost || $item.tagger || $item.filer || $item.pin || $item.star || $item.follow_thread) && ($item.ignore || $item.drop.dropping)}}
240 <li role="separator" class="divider"></li>
245 <a id="ignore-{{$item.id}}" href="javascript:doIgnoreThread({{$item.id}});" class="btn-link {{$item.ignore.classdo}}" title="{{$item.ignore.do}}"><i class="fa fa-eye-slash" aria-hidden="true"></i> {{$item.ignore.do}}</a>
248 <a id="unignore-{{$item.id}}" href="javascript:doIgnoreThread({{$item.id}});" class="btn-link {{$item.ignore.classundo}}" title="{{$item.ignore.undo}}"><i class="fa fa-eye" aria-hidden="true"></i> {{$item.ignore.undo}}</a>
252 {{if $item.drop && $item.drop.dropping}}
254 <a class="btn-link navicon delete" href="javascript:dropItem('item/drop/{{$item.id}}/{{$item.return}}', 'item-{{$item.guid}}');" title="{{$item.drop.delete}}"><i class="fa fa-trash" aria-hidden="true"></i> {{$item.drop.delete}}</a>
258 <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" />
261 <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" />
266 <span class="wall-item-actions-right">
267 {{* Event attendance buttons *}}
269 <span class="vote-event">
270 <button type="button" class="btn btn-defaultbutton-event{{if $item.responses.attendyes.self}} active" aria-pressed="true{{/if}}" id="attendyes-{{$item.id}}" title="{{$item.attend.0}}" onclick="doActivityItemAction({{$item.id}}, 'attendyes'{{if $item.responses.attendyes.self}}, true{{/if}});"><i class="fa fa-check" aria-hidden="true"><span class="sr-only">{{$item.attend.0}}</span></i></button>
271 <button type="button" class="btn btn-defaultbutton-event{{if $item.responses.attendno.self}} active" aria-pressed="true{{/if}}" id="attendno-{{$item.id}}" title="{{$item.attend.1}}" onclick="doActivityItemAction({{$item.id}}, 'attendno'{{if $item.responses.attendno.self}}, true{{/if}});"><i class="fa fa-times" aria-hidden="true"><span class="sr-only">{{$item.attend.1}}</span></i></button>
272 <button type="button" class="btn btn-defaultbutton-event{{if $item.responses.attendmaybe.self}} active" aria-pressed="true{{/if}}" id="attendmaybe-{{$item.id}}" title="{{$item.attend.2}}" onclick="doActivityItemAction({{$item.id}}, 'attendmaybe'{{if $item.responses.attendmaybe.self}}, true{{/if}});"><i class="fa fa-question" aria-hidden="true"><span class="sr-only">{{$item.attend.2}}</span></i></button>
276 <span class="pull-right checkbox">
277 {{if $item.drop && $item.drop.pagedrop}}
278 <input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" id="checkbox-{{$item.id}}" class="item-select" value="{{$item.id}}" />
279 <label for="checkbox-{{$item.id}}"></label>
283 </p><!--./wall-item-actions-->
285 {{* Display likes, dislike and attendance stats *}}
286 {{if $item.responses}}
287 <div class="wall-item-responses">
288 {{foreach $item.responses as $verb=>$response}}
289 <div class="wall-item-{{$verb}}" id="wall-item-{{$verb}}-{{$item.id}}">{{$response.output nofilter}}</div>
294 <div class="wall-item-conv" id="wall-item-conv-{{$item.id}}" dir="auto">
296 <a href="{{$item.conv.href}}" id="context-{{$item.id}}" title="{{$item.conv.title}}">{{$item.conv.title}}</a>
299 </div><!--./media>-->
300 </div><!--./scrollable-->
301 </div><!-- ./panel-body -->