Merge branch 'fix_878' of https://github.com/nlegoff/Phraseanet into nlegoff-fix_878

This commit is contained in:
Romain Neutron
2013-06-17 15:08:25 +02:00
10 changed files with 641 additions and 654 deletions

View File

@@ -80,6 +80,8 @@ class record_preview extends record_adapter
*/ */
protected $download_popularity; protected $download_popularity;
protected $original_item;
/** /**
* *
* @param Application $app * @param Application $app
@@ -110,6 +112,7 @@ class record_preview extends record_adapter
} }
foreach ($results->getResults() as $record) { foreach ($results->getResults() as $record) {
$number = $pos; $number = $pos;
$this->original_item = $record;
$sbas_id = $record->get_sbas_id(); $sbas_id = $record->get_sbas_id();
$record_id = $record->get_record_id(); $record_id = $record->get_record_id();
break; break;
@@ -121,6 +124,7 @@ class record_preview extends record_adapter
$record_id = $contId[1]; $record_id = $contId[1];
$this->container = new record_adapter($app, $sbas_id, $record_id); $this->container = new record_adapter($app, $sbas_id, $record_id);
$this->original_item = $this->container;
if ($pos == 0) { if ($pos == 0) {
$number = 0; $number = 0;
$title = _('preview:: regroupement '); $title = _('preview:: regroupement ');
@@ -128,6 +132,7 @@ class record_preview extends record_adapter
$children = $this->container->get_children(); $children = $this->container->get_children();
foreach ($children as $child) { foreach ($children as $child) {
$sbas_id = $child->get_sbas_id(); $sbas_id = $child->get_sbas_id();
$this->original_item = $child;
$record_id = $child->get_record_id(); $record_id = $child->get_record_id();
if ($child->get_number() == $pos) if ($child->get_number() == $pos)
break; break;
@@ -153,6 +158,7 @@ class record_preview extends record_adapter
/* @var $element \Entities\BasketElement */ /* @var $element \Entities\BasketElement */
$i ++; $i ++;
if ($first) { if ($first) {
$this->original_item = $element;
$sbas_id = $element->getRecord($this->app)->get_sbas_id(); $sbas_id = $element->getRecord($this->app)->get_sbas_id();
$record_id = $element->getRecord($this->app)->get_record_id(); $record_id = $element->getRecord($this->app)->get_record_id();
$this->name = $Basket->getName(); $this->name = $Basket->getName();
@@ -161,6 +167,7 @@ class record_preview extends record_adapter
$first = false; $first = false;
if ($element->getOrd() == $pos) { if ($element->getOrd() == $pos) {
$this->original_item = $element;
$sbas_id = $element->getRecord($this->app)->get_sbas_id(); $sbas_id = $element->getRecord($this->app)->get_sbas_id();
$record_id = $element->getRecord($this->app)->get_record_id(); $record_id = $element->getRecord($this->app)->get_record_id();
$this->name = $Basket->getName(); $this->name = $Basket->getName();
@@ -181,6 +188,7 @@ class record_preview extends record_adapter
if ($first) { if ($first) {
$sbas_id = $element->get_record()->get_sbas_id(); $sbas_id = $element->get_record()->get_sbas_id();
$record_id = $element->get_record()->get_record_id(); $record_id = $element->get_record()->get_record_id();
$this->original_item = $element;
$this->name = $entry->get_title(); $this->name = $entry->get_title();
$number = $element->get_ord(); $number = $element->get_ord();
} }
@@ -189,6 +197,7 @@ class record_preview extends record_adapter
if ($element->get_ord() == $pos) { if ($element->get_ord() == $pos) {
$sbas_id = $element->get_record()->get_sbas_id(); $sbas_id = $element->get_record()->get_sbas_id();
$record_id = $element->get_record()->get_record_id(); $record_id = $element->get_record()->get_record_id();
$this->original_item = $element;
$this->name = $entry->get_title(); $this->name = $entry->get_title();
$number = $element->get_ord(); $number = $element->get_ord();
} }
@@ -258,6 +267,11 @@ class record_preview extends record_adapter
return $this->env == 'REG'; return $this->env == 'REG';
} }
public function get_original_item()
{
return $this->original_item;
}
/** /**
* *
* @return String * @return String

View File

@@ -310,7 +310,7 @@
href="{{ path('prod_stories_story_remove_element', { 'sbas_id' : container.get_sbas_id(), 'record_id' : container.get_record_id(), 'child_sbas_id' : record.get_sbas_id(), 'child_record_id' : record.get_record_id() }) }}" href="{{ path('prod_stories_story_remove_element', { 'sbas_id' : container.get_sbas_id(), 'record_id' : container.get_record_id(), 'child_sbas_id' : record.get_sbas_id(), 'child_record_id' : record.get_record_id() }) }}"
{% elseif wz_scope == 'basket' %} {% elseif wz_scope == 'basket' %}
id="WZEL_{{ container.getId() }}_{{ record.get_sbas_id() }}_{{ record.get_record_id() }}" id="WZEL_{{ container.getId() }}_{{ record.get_sbas_id() }}_{{ record.get_record_id() }}"
href="{{ path('prod_baskets_basket_element_remove', { 'basket_id' : container.getId(), 'basket_element_id' : contained.getId()}) }}/" href="{{ path('prod_baskets_basket_element_remove', { 'basket_id' : container.getId(), 'basket_element_id' : contained.getId()}) }}"
{% elseif wz_scope == 'basket' %} {% elseif wz_scope == 'basket' %}
href="#" href="#"
{% endif %} {% endif %}

View File

@@ -5,6 +5,15 @@
onclick="evt_add_in_chutier('{{record.get_sbas_id()}}','{{record.get_record_id()}}',false,this);return(false);"></div> onclick="evt_add_in_chutier('{{record.get_sbas_id()}}','{{record.get_record_id()}}',false,this);return(false);"></div>
{% endif %} {% endif %}
{% if record.is_from_basket() %}
<a sbas="{{record.get_sbas_id()}}" id="PREV_BASKDEL_{{record.get_serialize_key}}"
class="baskDeleter WorkZoneElementRemover" title="{% trans 'Remove from basket' %}"
data-context="reg_train_basket"
onclick="remove_from_basket($(this), false);return false;"
href="{{ path('prod_baskets_basket_element_remove', { 'basket_id' : record.get_container().getId(), 'basket_element_id' : record.get_original_item().getId()}) }}">
</a>
{% endif %}
<div class="printer" title="'{% trans 'action : print' %}" <div class="printer" title="'{% trans 'action : print' %}"
onclick="evt_print('{{record.get_sbas_id()}}_{{record.get_record_id()}}');return(false);"></div> onclick="evt_print('{{record.get_sbas_id()}}_{{record.get_record_id()}}');return(false);"></div>

View File

@@ -517,7 +517,7 @@ span.ww_winTitle {
/******* PRESENTATION DE MINIATURES *******************************************/ /******* PRESENTATION DE MINIATURES *******************************************/
.captionRolloverTips, .previewTips, .infoTips, .captionRolloverTips, .previewTips, .infoTips,
.baskAdder, .printer, .downloader { .baskAdder, .printer, .downloader, .baskDeleter {
background-image: url('../../icons/zoom.gif'); background-image: url('../../icons/zoom.gif');
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center center; background-position: center center;
@@ -539,6 +539,10 @@ span.ww_winTitle {
background-image: url('../../icons/basket.gif'); background-image: url('../../icons/basket.gif');
} }
.baskDeleter {
background-image: url('../../icons/delete.gif');
}
.printer { .printer {
background-image: url('../../icons/print.gif'); background-image: url('../../icons/print.gif');
} }
@@ -731,8 +735,9 @@ div.diapo {
background-color: transparent; background-color: transparent;
border: none; border: none;
width: 16px; width: 16px;
height: 16px; height: 22px;
cursor: pointer; cursor: pointer;
padding: 0px;
} }
#idFrameC #baskets .alert_datas_changed { #idFrameC #baskets .alert_datas_changed {

View File

@@ -565,6 +565,10 @@ span.ww_winTitle {
background-image: url('../../icons/basket.gif'); background-image: url('../../icons/basket.gif');
} }
.baskDeleter {
background-image: url('../../icons/delete.gif');
}
.printer { .printer {
background-image: url('../../icons/print.gif'); background-image: url('../../icons/print.gif');
} }
@@ -761,8 +765,9 @@ div.diapo {
background-color: transparent; background-color: transparent;
border: none; border: none;
width: 16px; width: 16px;
height: 16px; height: 22px;
cursor: pointer; cursor: pointer;
padding: 0px;
} }
#idFrameC #baskets .alert_datas_changed { #idFrameC #baskets .alert_datas_changed {

View File

@@ -1,25 +1,22 @@
(function(){ (function() {
$(document).ready(function() {
$(document).ready(function(){ humane.info = humane.spawn({addnCls: 'humane-libnotify-info', timeout: 1000});
humane.error = humane.spawn({addnCls: 'humane-libnotify-error', timeout: 1000});
$('a.dialog').live('click', function(event){
$('a.dialog').live('click', function(event) {
var $this = $(this), size = 'Medium'; var $this = $(this), size = 'Medium';
if($this.hasClass('small-dialog')) if ($this.hasClass('small-dialog')) {
{
size = 'Small'; size = 'Small';
} } else if ($this.hasClass('full-dialog')) {
else if($this.hasClass('full-dialog'))
{
size = 'Full'; size = 'Full';
} }
var options = { var options = {
size : size, size: size,
loading : true, loading: true,
title : $this.attr('title'), title: $this.attr('title'),
closeOnEscape : true closeOnEscape: true
}; };
$dialog = p4.Dialog.Create(options); $dialog = p4.Dialog.Create(options);
@@ -28,10 +25,7 @@
type: "GET", type: "GET",
url: $this.attr('href'), url: $this.attr('href'),
dataType: 'html', dataType: 'html',
beforeSend:function(){ success: function(data) {
},
success: function(data){
$dialog.setContent(data); $dialog.setContent(data);
return; return;
} }
@@ -39,7 +33,5 @@
return false; return false;
}); });
}); });
}());
}())

View File

@@ -1,20 +1,14 @@
var p4 = p4 || {}; var p4 = p4 || {};
(function(p4){ (function(p4) {
function refreshBaskets(baskId, sort, scrolltobottom, type) function refreshBaskets(baskId, sort, scrolltobottom, type)
{ {
type = typeof type === 'undefined' ? 'basket' : type;
type = typeof type == 'undefined' ? 'basket' : type;
var active = $('#baskets .SSTT.ui-state-active'); var active = $('#baskets .SSTT.ui-state-active');
if(baskId == 'current' && active.length>0) if (baskId == 'current' && active.length > 0)
baskId = active.attr('id').split('_').slice(1,2).pop(); baskId = active.attr('id').split('_').slice(1, 2).pop();
sort = ($.inArray(sort, ['date', 'name'])>=0) ? sort : ''; sort = ($.inArray(sort, ['date', 'name']) >= 0) ? sort : '';
scrolltobottom = typeof scrolltobottom == 'undefined' ? false : scrolltobottom; scrolltobottom = typeof scrolltobottom == 'undefined' ? false : scrolltobottom;
@@ -22,20 +16,20 @@ var p4 = p4 || {};
type: "GET", type: "GET",
url: "/prod/WorkZone/", url: "/prod/WorkZone/",
data: { data: {
type:'basket', type: 'basket',
id:baskId, id: baskId,
sort:sort, sort: sort,
type:type type:type
}, },
beforeSend:function(){ beforeSend: function() {
$('#basketcontextwrap').remove(); $('#basketcontextwrap').remove();
}, },
success: function(data){ success: function(data) {
var cache = $("#idFrameC #baskets"); var cache = $("#idFrameC #baskets");
$(".SSTT",cache).droppable('destroy'); $(".SSTT", cache).droppable('destroy');
$('.bloc',cache).droppable('destroy'); $('.bloc', cache).droppable('destroy');
cache.accordion('destroy') cache.accordion('destroy')
.empty() .empty()
@@ -47,7 +41,7 @@ var p4 = p4 || {};
}); });
cache.disableSelection(); cache.disableSelection();
if(!scrolltobottom) if (!scrolltobottom)
return; return;
p4.next_bask_scroll = true; p4.next_bask_scroll = true;
@@ -56,29 +50,24 @@ var p4 = p4 || {};
}); });
} }
function setTemporaryPref(name, value)
function setTemporaryPref(name,value)
{ {
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: "/user/preferences/temporary/", url: "/user/preferences/temporary/",
data: { data: {
prop:name, prop: name,
value:value value: value
}, },
success: function(data){ success: function(data) {
return; return;
} }
}); });
} }
$("#baskets div.content select[name=valid_ord]").live('change',function(){ $("#baskets div.content select[name=valid_ord]").live('change', function() {
var active = $('#baskets .SSTT.ui-state-active'); var active = $('#baskets .SSTT.ui-state-active');
if(active.length==0) if (active.length === 0) {
{
return; return;
} }
@@ -87,38 +76,34 @@ var p4 = p4 || {};
getContent(active, order); getContent(active, order);
}); });
function WorkZoneElementRemover(el, confirm) function WorkZoneElementRemover(el, confirm)
{ {
var context = el.data('context');
if(confirm !== true && $(el).hasClass('groupings') && p4.reg_delete == true) if (confirm !== true && $(el).hasClass('groupings') && p4.reg_delete) {
{
var buttons = {}; var buttons = {};
buttons[language.valider] = function() { buttons[language.valider] = function() {
$("#DIALOG-baskets").dialog('close').remove(); $("#DIALOG-baskets").dialog('close').remove();
WorkZoneElementRemover(el,true); WorkZoneElementRemover(el, true);
}; };
buttons[language.annuler] = function(){ buttons[language.annuler] = function() {
$("#DIALOG-baskets").dialog('close').remove(); $("#DIALOG-baskets").dialog('close').remove();
}; };
var texte = '<p>'+language.confirmRemoveReg+'</p><div><input type="checkbox" onchange="toggleRemoveReg(this);"/>'+language.hideMessage+'</div>'; var texte = '<p>' + language.confirmRemoveReg + '</p><div><input type="checkbox" onchange="toggleRemoveReg(this);"/>' + language.hideMessage + '</div>';
$('body').append('<div id="DIALOG-baskets"></div>'); $('body').append('<div id="DIALOG-baskets"></div>');
$("#DIALOG-baskets").attr('title',language.removeTitle) $("#DIALOG-baskets").attr('title', language.removeTitle)
.empty() .empty()
.append(texte) .append(texte)
.dialog({ .dialog({
autoOpen: false,
autoOpen:false, closeOnEscape: true,
closeOnEscape:true, resizable: false,
resizable:false, draggable: false,
draggable:false, modal: true,
modal:true, buttons: buttons,
buttons:buttons,
draggable:false, draggable:false,
overlay: { overlay: {
backgroundColor: '#000', backgroundColor: '#000',
@@ -128,29 +113,50 @@ var p4 = p4 || {};
return; return;
} }
var id = $(el).attr('id').split('_').slice(2,4).join('_'); var id = $(el).attr('id').split('_').slice(2, 4).join('_');
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: $(el).attr('href'), url: $(el).attr('href'),
dataType:'json', dataType: 'json',
beforeSend : function(){ beforeSend: function() {
$('.wrapCHIM_'+id).find('.CHIM').fadeOut(); $('.wrapCHIM_' + id).find('.CHIM').fadeOut();
}, },
success: function(data){ success: function(data) {
if (data.success) {
if(data.success)
{
humane.info(data.message); humane.info(data.message);
p4.WorkZone.Selection.remove(id); p4.WorkZone.Selection.remove(id);
$('.wrapCHIM_'+id).find('.CHIM').draggable('destroy'); $('.wrapCHIM_' + id).find('.CHIM').draggable('destroy');
$('.wrapCHIM_'+id).remove(); $('.wrapCHIM_' + id).remove();
if (context === "reg_train_basket") {
var carousel = $("#PREVIEWCURRENTCONT");
var carouselItemLength = $('li', carousel).length;
var selectedItem = $("li.prevTrainCurrent.selected", carousel);
var selectedItemIndex = $('li', carousel).index(selectedItem);
// item is first and list has at least 2 items
if (selectedItemIndex === 0 && carouselItemLength > 1) {
// click next item
selectedItem.next().find("img").trigger("click");
// item is last item and list has at least 2 items
} else if (carouselItemLength > 1 && selectedItemIndex === (carouselItemLength - 1)) {
// click previous item
selectedItem.prev().find("img").trigger("click");
// Basket is empty
} else if (carouselItemLength > 1) {
// click next item
selectedItem.next().find("img").trigger("click");
} else {
closePreview();
} }
else
{ selectedItem.remove();
}
} else {
humane.error(data.message); humane.error(data.message);
$('.wrapCHIM_'+id).find('.CHIM').fadeIn(); $('.wrapCHIM_' + id).find('.CHIM').fadeIn();
} }
return; return;
} }
@@ -164,36 +170,31 @@ var p4 = p4 || {};
var cache = $("#idFrameC #baskets"); var cache = $("#idFrameC #baskets");
cache.accordion({ cache.accordion({
active:'active', active: 'active',
autoHeight: false, autoHeight: false,
collapsible:true, collapsible: true,
header:'div.header', header: 'div.header',
change:function(event,ui){ change: function(event, ui) {
var b_active = $('#baskets .SSTT.active'); var b_active = $('#baskets .SSTT.active');
if(p4.next_bask_scroll) if (p4.next_bask_scroll) {
{
p4.next_bask_scroll = false; p4.next_bask_scroll = false;
if (!b_active.next().is(':visible'))
if(!b_active.next().is(':visible'))
return; return;
var t = $('#baskets .SSTT.active').position().top + b_active.next().height() -200; var t = $('#baskets .SSTT.active').position().top + b_active.next().height() - 200;
t = t < 0 ? 0 : t; t = t < 0 ? 0 : t;
$('#baskets .bloc').stop().animate({ $('#baskets .bloc').stop().animate({
scrollTop:t scrollTop: t
}); });
} }
var uiactive = $(this).find('.ui-state-active'); var uiactive = $(this).find('.ui-state-active');
b_active.not('.ui-state-active').removeClass('active'); b_active.not('.ui-state-active').removeClass('active');
if(uiactive.length === 0) if (uiactive.length === 0) {
{
return; /* everything is closed */ return; /* everything is closed */
} }
@@ -207,175 +208,166 @@ var p4 = p4 || {};
getContent(uiactive); getContent(uiactive);
}, },
changestart:function(event,ui){ changestart: function(event, ui) {
ui.newHeader.addClass('active'); ui.newHeader.addClass('active');
$('#basketcontextwrap .basketcontextmenu').hide(); $('#basketcontextwrap .basketcontextmenu').hide();
} }
}); });
$('.bloc',cache).droppable({
accept:function(elem){ $('.bloc', cache).droppable({
if($(elem).hasClass('grouping') && !$(elem).hasClass('SSTT')) accept: function(elem) {
if ($(elem).hasClass('grouping') && !$(elem).hasClass('SSTT'))
return true; return true;
return false; return false;
}, },
scope:'objects', scope: 'objects',
hoverClass:'groupDrop', hoverClass: 'groupDrop',
tolerance:'pointer', tolerance: 'pointer',
drop:function(){ drop: function() {
fix(); fix();
} }
}); });
if($('.SSTT.active',cache).length>0) if ($('.SSTT.active', cache).length > 0) {
{ var el = $('.SSTT.active', cache)[0];
var el = $('.SSTT.active',cache)[0];
$(el).trigger('click'); $(el).trigger('click');
} }
$(".SSTT, .content", cache)
$(".SSTT, .content",cache)
.droppable({ .droppable({
scope:'objects', scope: 'objects',
hoverClass:'baskDrop', hoverClass: 'baskDrop',
tolerance:'pointer', tolerance: 'pointer',
accept:function(elem){ accept: function(elem) {
if($(elem).hasClass('CHIM')) if ($(elem).hasClass('CHIM')) {
{ if ($(elem).closest('.content').prev()[0] == $(this)[0]) {
if($(elem).closest('.content').prev()[0] == $(this)[0])
{
return false; return false;
} }
} }
if($(elem).hasClass('grouping') || $(elem).parent()[0]==$(this)[0]) if ($(elem).hasClass('grouping') || $(elem).parent()[0] == $(this)[0])
return false; return false;
return true; return true;
}, },
drop:function(event,ui){ drop: function(event, ui) {
dropOnBask(event,ui.draggable,$(this)); dropOnBask(event, ui.draggable, $(this));
} }
}); });
if($('#basketcontextwrap').length === 0) if ($('#basketcontextwrap').length === 0)
$('body').append('<div id="basketcontextwrap"></div>'); $('body').append('<div id="basketcontextwrap"></div>');
$('.context-menu-item',cache).hover(function(){ $('.context-menu-item', cache).hover(function() {
$(this).addClass('context-menu-item-hover'); $(this).addClass('context-menu-item-hover');
},function(){ }, function() {
$(this).removeClass('context-menu-item-hover'); $(this).removeClass('context-menu-item-hover');
}); });
$.each($(".SSTT",cache),function(){ $.each($(".SSTT", cache), function() {
var el = $(this); var el = $(this);
$(this).find('.contextMenuTrigger').contextMenu('#'+$(this).attr('id')+' .contextMenu',{ $(this).find('.contextMenuTrigger').contextMenu('#' + $(this).attr('id') + ' .contextMenu', {
'appendTo':'#basketcontextwrap', 'appendTo': '#basketcontextwrap',
openEvt:'click', openEvt: 'click',
theme:'vista', theme: 'vista',
dropDown:true, dropDown: true,
showTransition:'slideDown', showTransition: 'slideDown',
hideTransition:'hide', hideTransition: 'hide',
shadow:false shadow: false
}); });
}); });
} }
function getContent(header, order) function getContent(header, order)
{ {
if(window.console) if (window.console) {
{
console.log('Reload content for ', header); console.log('Reload content for ', header);
} }
var url = $('a', header).attr('href'); var url = $('a', header).attr('href');
if(typeof order !== 'undefined') if (typeof order !== 'undefined') {
{
url += '?order=' + order; url += '?order=' + order;
} }
$.ajax({ $.ajax({
type: "GET", type: "GET",
url: url, url: url,
dataType:'html', dataType: 'html',
beforeSend:function(){ beforeSend: function() {
$('#tooltip').hide(); $('#tooltip').hide();
header.next().addClass('loading'); header.next().addClass('loading');
}, },
success: function(data){ success: function(data) {
header.removeClass('unread'); header.removeClass('unread');
var dest = header.next(); var dest = header.next();
dest.droppable('destroy').empty().removeClass('loading'); dest.droppable('destroy').empty().removeClass('loading');
dest.append(data) dest.append(data);
$('a.WorkZoneElementRemover', dest) $('a.WorkZoneElementRemover', dest).bind('mousedown', function(event) {
.bind('mousedown', function(event){return false;}) return false;
.bind('click', function(event){ }).bind('click', function(event) {
return WorkZoneElementRemover($(this), false); return WorkZoneElementRemover($(this), false);
}); });
dest.droppable({ dest.droppable({
accept:function(elem){ accept: function(elem) {
if($(elem).hasClass('CHIM')) if ($(elem).hasClass('CHIM')) {
{ if ($(elem).closest('.content')[0] == $(this)[0]) {
if($(elem).closest('.content')[0] == $(this)[0])
{
return false; return false;
} }
} }
if($(elem).hasClass('grouping') || $(elem).parent()[0]==$(this)[0]) if ($(elem).hasClass('grouping') || $(elem).parent()[0] == $(this)[0])
return false; return false;
return true; return true;
}, },
hoverClass:'baskDrop', hoverClass: 'baskDrop',
scope:'objects', scope: 'objects',
drop:function(event, ui){ drop: function(event, ui) {
dropOnBask(event,ui.draggable,$(this).prev()); dropOnBask(event, ui.draggable, $(this).prev());
}, },
tolerance:'pointer' tolerance: 'pointer'
}); });
$('.noteTips, .captionRolloverTips', dest).tooltip(); $('.noteTips, .captionRolloverTips', dest).tooltip();
dest.find('.CHIM').draggable({ dest.find('.CHIM').draggable({
helper : function(){ helper: function() {
$('body').append('<div id="dragDropCursor" '+ $('body').append('<div id="dragDropCursor" ' +
'style="position:absolute;z-index:9999;background:red;'+ 'style="position:absolute;z-index:9999;background:red;' +
'-moz-border-radius:8px;-webkit-border-radius:8px;">'+ '-moz-border-radius:8px;-webkit-border-radius:8px;">' +
'<div style="padding:2px 5px;font-weight:bold;">'+ '<div style="padding:2px 5px;font-weight:bold;">' +
p4.WorkZone.Selection.length() + '</div></div>'); p4.WorkZone.Selection.length() + '</div></div>');
return $('#dragDropCursor'); return $('#dragDropCursor');
}, },
scope:"objects", scope: "objects",
distance : 20, distance: 20,
scroll : false, scroll: false,
refreshPositions:true, refreshPositions: true,
cursorAt: { cursorAt: {
top:10, top: 10,
left:-20 left: -20
}, },
start:function(event, ui){ start: function(event, ui) {
var baskets = $('#baskets'); var baskets = $('#baskets');
baskets.append('<div class="top-scroller"></div>'+ baskets.append('<div class="top-scroller"></div>' +
'<div class="bottom-scroller"></div>'); '<div class="bottom-scroller"></div>');
$('.bottom-scroller',baskets).bind('mousemove',function(){ $('.bottom-scroller', baskets).bind('mousemove', function() {
$('#baskets .bloc').scrollTop($('#baskets .bloc').scrollTop()+30); $('#baskets .bloc').scrollTop($('#baskets .bloc').scrollTop() + 30);
}); });
$('.top-scroller',baskets).bind('mousemove',function(){ $('.top-scroller', baskets).bind('mousemove', function() {
$('#baskets .bloc').scrollTop($('#baskets .bloc').scrollTop()-30); $('#baskets .bloc').scrollTop($('#baskets .bloc').scrollTop() - 30);
}); });
}, },
stop:function(){ stop: function() {
$('#baskets').find('.top-scroller, .bottom-scroller') $('#baskets').find('.top-scroller, .bottom-scroller')
.unbind() .unbind()
.remove(); .remove();
}, },
drag:function(event,ui){ drag: function(event, ui) {
if(is_ctrl_key(event) || $(this).closest('.content').hasClass('grouping')) if (is_ctrl_key(event) || $(this).closest('.content').hasClass('grouping'))
$('#dragDropCursor div').empty().append('+ '+p4.WorkZone.Selection.length()); $('#dragDropCursor div').empty().append('+ ' + p4.WorkZone.Selection.length());
else else
$('#dragDropCursor div').empty().append(p4.WorkZone.Selection.length()); $('#dragDropCursor div').empty().append(p4.WorkZone.Selection.length());
@@ -387,105 +379,79 @@ var p4 = p4 || {};
}); });
} }
function dropOnBask(event, from, destKey, singleSelection)
function dropOnBask(event,from,destKey, singleSelection)
{ {
var action = "", var action = "", from = $(from), dest_uri = '', lstbr = [], sselcont = [], act = "ADD";
from = $(from), dest_uri = '', lstbr = [],
sselcont = [], act = "ADD";
if(from.hasClass("CHIM")) if (from.hasClass("CHIM")) {
{
/* Element(s) come from an open object in the workzone */ /* Element(s) come from an open object in the workzone */
action = $(' #baskets .ui-state-active').hasClass('grouping') ? 'REG2' : 'CHU2'; action = $(' #baskets .ui-state-active').hasClass('grouping') ? 'REG2' : 'CHU2';
} } else {
else
{
/* Element(s) come from result */ /* Element(s) come from result */
action = 'IMGT2'; action = 'IMGT2';
} }
action += destKey.hasClass('grouping') ? 'REG' : 'CHU'; action += destKey.hasClass('grouping') ? 'REG' : 'CHU';
if(destKey.hasClass('content')) if (destKey.hasClass('content')) {
{
/* I dropped on content */ /* I dropped on content */
dest_uri = $('a', destKey.prev()).attr('href'); dest_uri = $('a', destKey.prev()).attr('href');
} } else {
else
{
/* I dropped on Title */ /* I dropped on Title */
dest_uri = $('a', destKey).attr('href'); dest_uri = $('a', destKey).attr('href');
} }
if(window.console) if (window.console) {
{
window.console.log('Requested action is ', action, ' and act on ', dest_uri); window.console.log('Requested action is ', action, ' and act on ', dest_uri);
} }
if(action=="IMGT2CHU" || action=="IMGT2REG") if (action === "IMGT2CHU" || action === "IMGT2REG") {
{ if ($(from).hasClass('.baskAdder')) {
if($(from).hasClass('.baskAdder') ) lstbr = [$(from).attr('id').split('_').slice(2, 4).join('_')];
{ } else if (singleSelection) {
lstbr = [$(from).attr('id').split('_').slice(2,4).join('_')]; if (from.length === 1) {
} lstbr = [$(from).attr('id').split('_').slice(1, 3).join('_')];
else if(singleSelection)
{
if(from.length == 1) {
lstbr = [$(from).attr('id').split('_').slice(1,3).join('_') ];
} else { } else {
lstbr = [$(from).selector.split('_').slice(1,3).join('_') ] lstbr = [$(from).selector.split('_').slice(1, 3).join('_')];
} }
} } else {
else
{
lstbr = p4.Results.Selection.get(); lstbr = p4.Results.Selection.get();
} }
} } else {
else sselcont = $.map(p4.WorkZone.Selection.get(), function(n, i) {
{ return $('.CHIM_' + n, $('#baskets .content:visible')).attr('id').split('_').slice(1, 2).pop();
sselcont = $.map(p4.WorkZone.Selection.get(), function(n,i){
return $('.CHIM_'+n, $('#baskets .content:visible')).attr('id').split('_').slice(1,2).pop();
}); });
lstbr = p4.WorkZone.Selection.get(); lstbr = p4.WorkZone.Selection.get();
} }
switch(action) switch (action) {
{
case "CHU2CHU" : case "CHU2CHU" :
if(!is_ctrl_key(event)) if (!is_ctrl_key(event)) act = "MOV";
act = "MOV";
break; break;
case "IMGT2REG": case "IMGT2REG":
case "CHU2REG" : case "CHU2REG" :
case "REG2REG": case "REG2REG":
var sameSbas = true, var sameSbas = true, sbas_reg = destKey.attr('sbas');
sbas_reg = destKey.attr('sbas');
for (var i=0; i<lstbr.length && sameSbas ; i++) for (var i = 0; i < lstbr.length && sameSbas; i++) {
{ if (lstbr[i].split('_').shift() != sbas_reg) {
if(lstbr[i].split('_').shift() != sbas_reg)
{
sameSbas = false; sameSbas = false;
break; break;
} }
} }
if(sameSbas === false) if (sameSbas === false) {
{
return p4.Alerts('', language.reg_wrong_sbas); return p4.Alerts('', language.reg_wrong_sbas);
} }
break; break;
} }
switch(act+action) switch (act + action) {
{
case 'MOVCHU2CHU': case 'MOVCHU2CHU':
var url = dest_uri + "stealElements/"; var url = dest_uri + "stealElements/";
var data = { var data = {
elements:sselcont elements: sselcont
}; };
break; break;
case 'ADDCHU2REG': case 'ADDCHU2REG':
@@ -496,42 +462,36 @@ var p4 = p4 || {};
case 'ADDIMGT2CHU': case 'ADDIMGT2CHU':
var url = dest_uri + "addElements/"; var url = dest_uri + "addElements/";
var data = { var data = {
lst:lstbr.join(';') lst: lstbr.join(';')
}; };
break; break;
default: default:
if(window.console) if (window.console) {
{
console.log('Should not happen'); console.log('Should not happen');
} }
return; return;
break; break;
} }
if(window.console) if (window.console) {
{ window.console.log('About to execute ajax POST on ', url, ' with datas ', data);
window.console.log('About to execute ajax POST on ',url,' with datas ', data );
} }
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: url, url: url,
data: data, data: data,
dataType:'json', dataType: 'json',
beforeSend:function(){ beforeSend: function() {
}, },
success: function(data){ success: function(data) {
if(!data.success) if (!data.success) {
{
humane.error(data.message); humane.error(data.message);
} } else {
else
{
humane.info(data.message); humane.info(data.message);
} }
if(act == 'MOV' || $(destKey).next().is(':visible') === true || $(destKey).hasClass('content') === true) if (act == 'MOV' || $(destKey).next().is(':visible') === true || $(destKey).hasClass('content') === true) {
{
$('.CHIM.selected:visible').fadeOut(); $('.CHIM.selected:visible').fadeOut();
p4.WorkZone.Selection.empty(); p4.WorkZone.Selection.empty();
return p4.WorkZone.reloadCurrent(); return p4.WorkZone.reloadCurrent();
@@ -542,16 +502,14 @@ var p4 = p4 || {};
}); });
} }
function fix() function fix()
{ {
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: "/prod/WorkZone/attachStories/", url: "/prod/WorkZone/attachStories/",
data:{stories:p4.Results.Selection.get()}, data: {stories: p4.Results.Selection.get()},
dataType: "json", dataType: "json",
success: function(data){ success: function(data) {
humane.info(data.message); humane.info(data.message);
p4.WorkZone.refresh(); p4.WorkZone.refresh();
} }
@@ -564,52 +522,51 @@ var p4 = p4 || {};
type: "POST", type: "POST",
url: link, url: link,
dataType: "json", dataType: "json",
success: function(data){ success: function(data) {
humane.info(data.message); humane.info(data.message);
p4.WorkZone.refresh(); p4.WorkZone.refresh();
} }
}); });
} }
$(document).ready(function(){ $(document).ready(function() {
activeBaskets(); activeBaskets();
$('a.story_unfix').live('click', function(){ $('a.story_unfix').live('click', function() {
unfix($(this).attr('href')); unfix($(this).attr('href'));
return false; return false;
}); });
p4.WorkZone = { p4.WorkZone = {
'Selection':new Selectable($('#baskets'), {selector : '.CHIM'}), 'Selection': new Selectable($('#baskets'), {selector: '.CHIM'}),
'refresh':refreshBaskets, 'refresh': refreshBaskets,
'addElementToBasket': function(sbas_id, record_id, event , singleSelection) { 'addElementToBasket': function(sbas_id, record_id, event, singleSelection) {
singleSelection = !!singleSelection || false; singleSelection = !!singleSelection || false;
if($('#baskets .SSTT.active').length == 1) { if ($('#baskets .SSTT.active').length === 1) {
return dropOnBask(event, $('#IMGT_'+ sbas_id +'_'+ record_id), $('#baskets .SSTT.active'), singleSelection); return dropOnBask(event, $('#IMGT_' + sbas_id + '_' + record_id), $('#baskets .SSTT.active'), singleSelection);
} else { } else {
humane.info(language.noActiveBasket); humane.info(language.noActiveBasket);
} }
}, },
'reloadCurrent':function(){ "removeElementFromBasket": WorkZoneElementRemover,
'reloadCurrent': function() {
var sstt = $('#baskets .content:visible'); var sstt = $('#baskets .content:visible');
if(sstt.length === 0) if (sstt.length === 0)
return; return;
getContent(sstt.prev()); getContent(sstt.prev());
}, },
'close':function(){ 'close': function() {
var frame = $('#idFrameC'), that = this;
var frame = $('#idFrameC'), if (!frame.hasClass('closed'))
that = this;
if(!frame.hasClass('closed'))
{ {
frame.data('openwidth', frame.width()); frame.data('openwidth', frame.width());
frame.animate({width:100}, frame.animate({width: 100},
300, 300,
'linear', 'linear',
function(){ function() {
answerSizer(); answerSizer();
linearize(); linearize();
$('#answers').trigger('resize'); $('#answers').trigger('resize');
@@ -617,19 +574,18 @@ var p4 = p4 || {};
frame.addClass('closed'); frame.addClass('closed');
$('.escamote', frame).hide(); $('.escamote', frame).hide();
$('li.ui-tabs-selected', frame).removeClass('ui-tabs-selected'); $('li.ui-tabs-selected', frame).removeClass('ui-tabs-selected');
frame.unbind('click.escamote').bind('click.escamote', function(){ frame.unbind('click.escamote').bind('click.escamote', function() {
that.open(); that.open();
}) })
} }
}, },
'open':function(){ 'open': function() {
var frame = $('#idFrameC'); var frame = $('#idFrameC');
if(frame.hasClass('closed')) if (frame.hasClass('closed'))
{ {
var width = frame.data('openwidth') ? frame.data('openwidth') : 300; var width = frame.data('openwidth') ? frame.data('openwidth') : 300;
frame.css({width:width}); frame.css({width: width});
answerSizer(); answerSizer();
linearize(); linearize();
frame.removeClass('closed'); frame.removeClass('closed');
@@ -641,4 +597,4 @@ var p4 = p4 || {};
}); });
return; return;
}(p4)) }(p4));

View File

@@ -2502,6 +2502,12 @@ function evt_add_in_chutier(sbas_id, record_id,event, singleSelection)
p4.WorkZone.addElementToBasket(sbas_id, record_id, event, singleSelection); p4.WorkZone.addElementToBasket(sbas_id, record_id, event, singleSelection);
} }
function remove_from_basket(el, confirm)
{
var confirm = confirm || false;
p4.WorkZone.removeElementFromBasket(el, confirm);
}
function doSpecialSearch(qry, allbase){ function doSpecialSearch(qry, allbase){
if (allbase) { if (allbase) {