62 lines
2.2 KiB
XML
62 lines
2.2 KiB
XML
<div id="fieldset-versions">
|
|
<fieldset>
|
|
<legend i18n:translate=""
|
|
tal:content="viewlet/label">label</legend>
|
|
<tal:listing define="results viewlet/table/values">
|
|
<tal:b condition="results">
|
|
<table tal:replace="structure viewlet/table/render" />
|
|
<div tal:define="version python:results[0].getObject()"
|
|
tal:replace="structure version/@@versionviewer" />
|
|
</tal:b>
|
|
<tal:b condition="not:results" replace="viewlet/noresult_message" />
|
|
</tal:listing>
|
|
</fieldset>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
var initial_timeout = null;
|
|
|
|
$('.version-link').closest('tr').bind('select-version', function() {
|
|
/* a version has been selected, disable initial timeout */
|
|
window.clearTimeout(initial_timeout);
|
|
initial_timeout = null;
|
|
|
|
var trigger = $(this).find('a.version-link');
|
|
if (trigger.closest('tr').hasClass('selected')) {
|
|
// the version is already selected, no need to reload it
|
|
return;
|
|
}
|
|
var url = trigger.attr('href') + '/@@dvdata';
|
|
$.getJSON(url, function(data) {
|
|
window.documentData = data;
|
|
window.initializeDV();
|
|
trigger.closest('table').find('tr').removeClass('selected');
|
|
trigger.closest('tr').addClass('selected');
|
|
});
|
|
});
|
|
|
|
function async_load_dv() {
|
|
// click on the first version if no version was selected by the user
|
|
// within the 6s.
|
|
$(".version-link:last").closest('tr').trigger('select-version');
|
|
}
|
|
|
|
if (window.documentData && window.documentData.pages == null) {
|
|
// the version was just added, update DV after 6s
|
|
initial_timeout = setTimeout(async_load_dv, 6000);
|
|
} else {
|
|
// window.documentData is already filled, we don't need to call @@dvdata
|
|
// So we mark it as selected before triggering the select-version event.
|
|
$(".version-link:last").closest('tr').addClass('selected').trigger('select-version');
|
|
}
|
|
|
|
$(".version-link").closest('tr').click(function(){
|
|
$(this).closest('tr').trigger('select-version');
|
|
});
|
|
$(".version-link").click(function(){
|
|
$(this).closest('tr').trigger('select-version');
|
|
return false;
|
|
});
|
|
});
|
|
</script>
|
|
</div>
|