<div metal:define-macro="grid"
tal:define="slide_size portal_object/slide_size;
mayBeDropable exists:dropable;
- dropable python:True if mayBeDropable and dropable else False"
+ dropable python:True if mayBeDropable and dropable else False;
+ mayBeOrderable exists:orderable;
+ orderable python:True if mayBeOrderable and orderable else False"
i18n:domain="portfolio">
- <div metal:use-macro="here/batch_macros/macros/navigation">batch navigation</div>
<div id="lightbox" tal:attributes="class python:'lightbox photo-drop-target' if dropable else 'lightbox'">
- <span tal:repeat="info infos" tal:omit-tag="">
+ <span metal:define-macro="thumbnails" tal:repeat="info infos" tal:omit-tag="">
<span tal:define="size info/thumbSize;
margin_top python:(slide_size - size['height']) / 2;
margin_left python:(slide_size - size['width']) / 2;
selected info/selected|nothing"
tal:attributes="class info/className;
name info/cmf_uid"
- metal:define-macro="thumbnail">
+ metal:define-macro="thumbnail"
+ draggable="true">
<a class="slide" tal:attributes="href info/href; title info/title">
<img tal:attributes="src info/thumbUrl;
alt info/title;
height size/height;
width size/width;
- style string:margin-top : ${margin_top}px ;;margin-left:${margin_left}px;"/>
+ style string:margin-top:${margin_top}px;; margin-left:${margin_left}px;"/>
</a>
<tal:block tal:condition="python:features.has_key('select')">
<span class="button slide-select" tal:condition="not:selected">
</span>
</div>
<br clear="all"/>
- <div metal:use-macro="here/batch_macros/macros/navigation">batch navigation</div>
- <script type="text/javascript" tal:condition="not:dropable">
- new Lightbox(document.getElementById('lightbox'));
+ <noscript>
+ <div metal:use-macro="here/batch_macros/macros/navigation">batch navigation</div>
+ </noscript>
+ <script type="text/javascript" tal:condition="not:dropable"
+ tal:content="structure python:'''
+ new Lightbox(document.getElementById('lightbox'),
+ document.getElementById('lightbox_toolbar'),
+ %(complete)s,
+ '%(container_type)s');
+ ''' % {'complete' : 'true' if not batch.next else 'false',
+ 'container_type' : options.get('container_type', 'portfolio')}">
</script>
<script type="text/javascript"
tal:condition="dropable"
tal:content="structure python:'''
(function(){
var lb = document.getElementById('lightbox');
- new Lightbox(lb);
+ new Lightbox(lb,
+ document.getElementById('lightbox_toolbar'),
+ %(complete)s,
+ '%(container_type)s',
+ %(orderable)s);
var uploadUrl = '%(putUrl)s';
var options = {'slideSize' : %(slideSize)d,
'thumbnailSize' : %(thumbnailSize)d};
})();
''' % {'putUrl' : '%s/put_upload' % here.absolute_url(),
'slideSize' : portal_object.slide_size,
- 'thumbnailSize' : portal_object.thumb_size}">
+ 'thumbnailSize' : portal_object.thumb_size,
+ 'complete': 'true' if not batch.next else 'false',
+ 'container_type' : options.get('container_type', 'portfolio'),
+ 'orderable' : 'true' if orderable else 'false'}">
</script>
</div>
<div metal:define-macro="film_bar" tal:omit-tag="">
<div id="film_bar">
<table cellspacing="0">
- <tr tal:define="slide_size python:portal_object.thumb_size/2 + 10">
+ <tr tal:define="slide_size python:portal_object.thumb_size/2 + 10;
+ blank_img string:$portal_url/transparent.gif">
<td tal:repeat="info contextInfos/infos">
<a tal:attributes="href info/href;
+ title info/title;
class info/className;
- portfolio:position info/index">
+ portfolio:position info/index;">
<img tal:define="size info/thumbSize;
margin_top python:(slide_size - size['height']) / 2"
- tal:attributes="src info/src;
+ tal:attributes="src python:info['src'] if info['displayed'] else blank_img;
alt info/title;
height size/height;
width size/width;