diff --git a/lib/Doctrine/Entities/Basket.php b/lib/Doctrine/Entities/Basket.php
index d1e3d519bf..263c92ccfe 100644
--- a/lib/Doctrine/Entities/Basket.php
+++ b/lib/Doctrine/Entities/Basket.php
@@ -433,7 +433,7 @@ class Basket
public function addElement(\Entities\BasketElement $elements)
{
$this->elements[] = $elements;
-
+
return $this;
}
diff --git a/lib/classes/record/preview.php b/lib/classes/record/preview.php
index 8e2f106183..23e82c86c2 100644
--- a/lib/classes/record/preview.php
+++ b/lib/classes/record/preview.php
@@ -80,6 +80,8 @@ class record_preview extends record_adapter
*/
protected $download_popularity;
+ protected $original_item;
+
/**
*
* @param Application $app
@@ -110,6 +112,7 @@ class record_preview extends record_adapter
}
foreach ($results->getResults() as $record) {
$number = $pos;
+ $this->original_item = $record;
$sbas_id = $record->get_sbas_id();
$record_id = $record->get_record_id();
break;
@@ -121,6 +124,7 @@ class record_preview extends record_adapter
$record_id = $contId[1];
$this->container = new record_adapter($app, $sbas_id, $record_id);
+ $this->original_item = $this->container;
if ($pos == 0) {
$number = 0;
$title = _('preview:: regroupement ');
@@ -128,6 +132,7 @@ class record_preview extends record_adapter
$children = $this->container->get_children();
foreach ($children as $child) {
$sbas_id = $child->get_sbas_id();
+ $this->original_item = $child;
$record_id = $child->get_record_id();
if ($child->get_number() == $pos)
break;
@@ -153,6 +158,7 @@ class record_preview extends record_adapter
/* @var $element \Entities\BasketElement */
$i ++;
if ($first) {
+ $this->original_item = $element;
$sbas_id = $element->getRecord($this->app)->get_sbas_id();
$record_id = $element->getRecord($this->app)->get_record_id();
$this->name = $Basket->getName();
@@ -161,6 +167,7 @@ class record_preview extends record_adapter
$first = false;
if ($element->getOrd() == $pos) {
+ $this->original_item = $element;
$sbas_id = $element->getRecord($this->app)->get_sbas_id();
$record_id = $element->getRecord($this->app)->get_record_id();
$this->name = $Basket->getName();
@@ -181,6 +188,7 @@ class record_preview extends record_adapter
if ($first) {
$sbas_id = $element->get_record()->get_sbas_id();
$record_id = $element->get_record()->get_record_id();
+ $this->original_item = $element;
$this->name = $entry->get_title();
$number = $element->get_ord();
}
@@ -189,6 +197,7 @@ class record_preview extends record_adapter
if ($element->get_ord() == $pos) {
$sbas_id = $element->get_record()->get_sbas_id();
$record_id = $element->get_record()->get_record_id();
+ $this->original_item = $element;
$this->name = $entry->get_title();
$number = $element->get_ord();
}
@@ -258,6 +267,11 @@ class record_preview extends record_adapter
return $this->env == 'REG';
}
+ public function get_original_item()
+ {
+ return $this->original_item;
+ }
+
/**
*
* @return String
@@ -638,4 +652,4 @@ class record_preview extends record_adapter
return $this->download_popularity;
}
-}
+}
\ No newline at end of file
diff --git a/templates/web/prod/WorkZone/Macros.html.twig b/templates/web/prod/WorkZone/Macros.html.twig
index 8cbfd685ec..563d6eaec6 100644
--- a/templates/web/prod/WorkZone/Macros.html.twig
+++ b/templates/web/prod/WorkZone/Macros.html.twig
@@ -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() }) }}"
{% elseif wz_scope == 'basket' %}
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' %}
href="#"
{% endif %}
diff --git a/templates/web/prod/preview/basket_train.html.twig b/templates/web/prod/preview/basket_train.html.twig
index b7a834218d..5ac250418d 100644
--- a/templates/web/prod/preview/basket_train.html.twig
+++ b/templates/web/prod/preview/basket_train.html.twig
@@ -40,4 +40,4 @@
{% include 'prod/preview/tools.html.twig' %}
-
\ No newline at end of file
+
diff --git a/templates/web/prod/preview/tools.html.twig b/templates/web/prod/preview/tools.html.twig
index 53d59e2bc2..a21019ea89 100644
--- a/templates/web/prod/preview/tools.html.twig
+++ b/templates/web/prod/preview/tools.html.twig
@@ -5,6 +5,15 @@
onclick="evt_add_in_chutier('{{record.get_sbas_id()}}','{{record.get_record_id()}}',false,this);return(false);">
{% endif %}
+{% if record.is_from_basket() %}
+
+
+{% endif %}
+
diff --git a/www/skins/prod/000000/prodcolor.css b/www/skins/prod/000000/prodcolor.css
index 08d4f38943..326839d511 100644
--- a/www/skins/prod/000000/prodcolor.css
+++ b/www/skins/prod/000000/prodcolor.css
@@ -517,7 +517,7 @@ span.ww_winTitle {
/******* PRESENTATION DE MINIATURES *******************************************/
.captionRolloverTips, .previewTips, .infoTips,
-.baskAdder, .printer, .downloader {
+.baskAdder, .printer, .downloader, .baskDeleter {
background-image: url('../../icons/zoom.gif');
background-repeat: no-repeat;
background-position: center center;
@@ -539,6 +539,10 @@ span.ww_winTitle {
background-image: url('../../icons/basket.gif');
}
+.baskDeleter {
+ background-image: url('../../icons/delete.gif');
+}
+
.printer {
background-image: url('../../icons/print.gif');
}
@@ -731,8 +735,9 @@ div.diapo {
background-color: transparent;
border: none;
width: 16px;
- height: 16px;
+ height: 22px;
cursor: pointer;
+ padding: 0px;
}
#idFrameC #baskets .alert_datas_changed {
diff --git a/www/skins/prod/959595/prodcolor.css b/www/skins/prod/959595/prodcolor.css
index f7652b5b0c..5c057d036f 100644
--- a/www/skins/prod/959595/prodcolor.css
+++ b/www/skins/prod/959595/prodcolor.css
@@ -565,6 +565,10 @@ span.ww_winTitle {
background-image: url('../../icons/basket.gif');
}
+.baskDeleter {
+ background-image: url('../../icons/delete.gif');
+}
+
.printer {
background-image: url('../../icons/print.gif');
}
@@ -761,8 +765,9 @@ div.diapo {
background-color: transparent;
border: none;
width: 16px;
- height: 16px;
+ height: 22px;
cursor: pointer;
+ padding: 0px;
}
#idFrameC #baskets .alert_datas_changed {
diff --git a/www/skins/prod/jquery.Prod.js b/www/skins/prod/jquery.Prod.js
index 9d52ccc6ba..a92976cb91 100644
--- a/www/skins/prod/jquery.Prod.js
+++ b/www/skins/prod/jquery.Prod.js
@@ -1,45 +1,37 @@
-(function(){
-
- $(document).ready(function(){
-
- $('a.dialog').live('click', function(event){
+(function() {
+ $(document).ready(function() {
+ humane.info = humane.spawn({addnCls: 'humane-libnotify-info', timeout: 1000});
+ humane.error = humane.spawn({addnCls: 'humane-libnotify-error', timeout: 1000});
- var $this = $(this), size = 'Medium';
-
- if($this.hasClass('small-dialog'))
- {
- size = 'Small';
- }
- else if($this.hasClass('full-dialog'))
- {
- size = 'Full';
- }
-
- var options = {
- size : size,
- loading : true,
- title : $this.attr('title'),
- closeOnEscape : true
- };
+ $('a.dialog').live('click', function(event) {
+ var $this = $(this), size = 'Medium';
- $dialog = p4.Dialog.Create(options);
-
- $.ajax({
- type: "GET",
- url: $this.attr('href'),
- dataType: 'html',
- beforeSend:function(){
+ if ($this.hasClass('small-dialog')) {
+ size = 'Small';
+ } else if ($this.hasClass('full-dialog')) {
+ size = 'Full';
+ }
- },
- success: function(data){
- $dialog.setContent(data);
- return;
- }
- });
+ var options = {
+ size: size,
+ loading: true,
+ title: $this.attr('title'),
+ closeOnEscape: true
+ };
- return false;
+ $dialog = p4.Dialog.Create(options);
+
+ $.ajax({
+ type: "GET",
+ url: $this.attr('href'),
+ dataType: 'html',
+ success: function(data) {
+ $dialog.setContent(data);
+ return;
+ }
+ });
+
+ return false;
+ });
});
-
- });
-
-}())
\ No newline at end of file
+}());
diff --git a/www/skins/prod/jquery.WorkZone.js b/www/skins/prod/jquery.WorkZone.js
index 867aa6341f..92877b62aa 100644
--- a/www/skins/prod/jquery.WorkZone.js
+++ b/www/skins/prod/jquery.WorkZone.js
@@ -1,644 +1,600 @@
var p4 = p4 || {};
-(function(p4){
-
-
-
-
-
- function refreshBaskets(baskId, sort, scrolltobottom, type)
- {
-
- type = typeof type == 'undefined' ? 'basket' : type;
-
- var active = $('#baskets .SSTT.ui-state-active');
- if(baskId == 'current' && active.length>0)
- baskId = active.attr('id').split('_').slice(1,2).pop();
- sort = ($.inArray(sort, ['date', 'name'])>=0) ? sort : '';
-
- scrolltobottom = typeof scrolltobottom == 'undefined' ? false : scrolltobottom;
-
- $.ajax({
- type: "GET",
- url: "/prod/WorkZone/",
- data: {
- type:'basket',
- id:baskId,
- sort:sort,
- type:type
- },
- beforeSend:function(){
- $('#basketcontextwrap').remove();
- },
- success: function(data){
-
- var cache = $("#idFrameC #baskets");
- $(".SSTT",cache).droppable('destroy');
-
- $('.bloc',cache).droppable('destroy');
-
- cache.accordion('destroy')
- .empty()
- .append(data);
-
- activeBaskets();
- $('.basketTips').tooltip({
- delay: 200
- });
- cache.disableSelection();
-
- if(!scrolltobottom)
- return;
-
- p4.next_bask_scroll = true;
- return;
- }
- });
- }
-
-
-
- function setTemporaryPref(name,value)
- {
-
- $.ajax({
- type: "POST",
- url: "/user/preferences/temporary/",
- data: {
- prop:name,
- value:value
- },
- success: function(data){
- return;
- }
- });
- }
-
- $("#baskets div.content select[name=valid_ord]").live('change',function(){
-
- var active = $('#baskets .SSTT.ui-state-active');
- if(active.length==0)
+(function(p4) {
+ function refreshBaskets(baskId, sort, scrolltobottom, type)
{
- return;
- }
+ type = typeof type === 'undefined' ? 'basket' : type;
- var order = $(this).val();
+ var active = $('#baskets .SSTT.ui-state-active');
+ if (baskId == 'current' && active.length > 0)
+ baskId = active.attr('id').split('_').slice(1, 2).pop();
+ sort = ($.inArray(sort, ['date', 'name']) >= 0) ? sort : '';
- getContent(active, order);
- });
+ scrolltobottom = typeof scrolltobottom == 'undefined' ? false : scrolltobottom;
+ $.ajax({
+ type: "GET",
+ url: "/prod/WorkZone/",
+ data: {
+ type: 'basket',
+ id: baskId,
+ sort: sort,
+ type:type
+ },
+ beforeSend: function() {
+ $('#basketcontextwrap').remove();
+ },
+ success: function(data) {
+ var cache = $("#idFrameC #baskets");
+ $(".SSTT", cache).droppable('destroy');
- function WorkZoneElementRemover(el, confirm)
- {
+ $('.bloc', cache).droppable('destroy');
- if(confirm !== true && $(el).hasClass('groupings') && p4.reg_delete == true)
- {
- var buttons = {};
+ cache.accordion('destroy')
+ .empty()
+ .append(data);
+ activeBaskets();
+ $('.basketTips').tooltip({
+ delay: 200
+ });
+ cache.disableSelection();
- buttons[language.valider] = function() {
- $("#DIALOG-baskets").dialog('close').remove();
- WorkZoneElementRemover(el,true);
- };
+ if (!scrolltobottom)
+ return;
- buttons[language.annuler] = function(){
- $("#DIALOG-baskets").dialog('close').remove();
- };
-
- var texte = ''+language.confirmRemoveReg+'
'+language.hideMessage+'
';
- $('body').append('');
- $("#DIALOG-baskets").attr('title',language.removeTitle)
- .empty()
- .append(texte)
- .dialog({
-
- autoOpen:false,
- closeOnEscape:true,
- resizable:false,
- draggable:false,
- modal:true,
- buttons:buttons,
- draggable:false,
- overlay: {
- backgroundColor: '#000',
- opacity: 0.7
- }
- }).dialog('open');
- return;
- }
-
- var id = $(el).attr('id').split('_').slice(2,4).join('_');
-
- $.ajax({
- type: "POST",
- url: $(el).attr('href'),
- dataType:'json',
- beforeSend : function(){
- $('.wrapCHIM_'+id).find('.CHIM').fadeOut();
- },
- success: function(data){
-
- if(data.success)
- {
- humane.info(data.message);
- p4.WorkZone.Selection.remove(id);
-
- $('.wrapCHIM_'+id).find('.CHIM').draggable('destroy');
- $('.wrapCHIM_'+id).remove();
- }
- else
- {
- humane.error(data.message);
- $('.wrapCHIM_'+id).find('.CHIM').fadeIn();
- }
- return;
- }
- });
- return false;
- }
-
-
- function activeBaskets()
- {
- var cache = $("#idFrameC #baskets");
-
- cache.accordion({
- active:'active',
- autoHeight: false,
- collapsible:true,
- header:'div.header',
- change:function(event,ui){
-
- var b_active = $('#baskets .SSTT.active');
- if(p4.next_bask_scroll)
- {
- p4.next_bask_scroll = false;
-
-
- if(!b_active.next().is(':visible'))
- return;
-
- var t = $('#baskets .SSTT.active').position().top + b_active.next().height() -200;
-
- t = t < 0 ? 0 : t;
-
- $('#baskets .bloc').stop().animate({
- scrollTop:t
- });
- }
-
-
- var uiactive = $(this).find('.ui-state-active');
- b_active.not('.ui-state-active').removeClass('active');
-
- if(uiactive.length === 0)
- {
- return; /* everything is closed */
- }
-
- var clicked = uiactive.attr('id').split('_').pop();
- var href = $('a', uiactive).attr('href');
-
- uiactive.addClass('ui-state-focus active');
-
- p4.WorkZone.Selection.empty();
-
- getContent(uiactive);
-
- },
- changestart:function(event,ui){
- ui.newHeader.addClass('active');
- $('#basketcontextwrap .basketcontextmenu').hide();
- }
- });
- $('.bloc',cache).droppable({
- accept:function(elem){
- if($(elem).hasClass('grouping') && !$(elem).hasClass('SSTT'))
- return true;
- return false;
- },
- scope:'objects',
- hoverClass:'groupDrop',
- tolerance:'pointer',
- drop:function(){
- fix();
- }
- });
-
- if($('.SSTT.active',cache).length>0)
- {
- var el = $('.SSTT.active',cache)[0];
- $(el).trigger('click');
- }
-
-
- $(".SSTT, .content",cache)
- .droppable({
- scope:'objects',
- hoverClass:'baskDrop',
- tolerance:'pointer',
- accept:function(elem){
- if($(elem).hasClass('CHIM'))
- {
- if($(elem).closest('.content').prev()[0] == $(this)[0])
- {
- return false;
- }
- }
- if($(elem).hasClass('grouping') || $(elem).parent()[0]==$(this)[0])
- return false;
- return true;
- },
- drop:function(event,ui){
- dropOnBask(event,ui.draggable,$(this));
- }
- });
-
- if($('#basketcontextwrap').length === 0)
- $('body').append('');
-
- $('.context-menu-item',cache).hover(function(){
- $(this).addClass('context-menu-item-hover');
- },function(){
- $(this).removeClass('context-menu-item-hover');
- });
- $.each($(".SSTT",cache),function(){
- var el = $(this);
- $(this).find('.contextMenuTrigger').contextMenu('#'+$(this).attr('id')+' .contextMenu',{
- 'appendTo':'#basketcontextwrap',
- openEvt:'click',
- theme:'vista',
- dropDown:true,
- showTransition:'slideDown',
- hideTransition:'hide',
- shadow:false
- });
- });
-
- }
-
-
-
- function getContent(header, order)
- {
- if(window.console)
- {
- console.log('Reload content for ', header);
- }
-
- var url = $('a', header).attr('href');
-
- if(typeof order !== 'undefined')
- {
- url += '?order=' + order;
- }
-
- $.ajax({
- type: "GET",
- url: url,
- dataType:'html',
- beforeSend:function(){
- $('#tooltip').hide();
- header.next().addClass('loading');
- },
- success: function(data){
- header.removeClass('unread');
-
- var dest = header.next();
-
- dest.droppable('destroy').empty().removeClass('loading');
-
- dest.append(data)
-
- $('a.WorkZoneElementRemover', dest)
- .bind('mousedown', function(event){return false;})
- .bind('click', function(event){
- return WorkZoneElementRemover($(this), false);
- });
-
- dest.droppable({
- accept:function(elem){
- if($(elem).hasClass('CHIM'))
- {
- if($(elem).closest('.content')[0] == $(this)[0])
- {
- return false;
- }
+ p4.next_bask_scroll = true;
+ return;
+ }
+ });
+ }
+
+ function setTemporaryPref(name, value)
+ {
+ $.ajax({
+ type: "POST",
+ url: "/user/preferences/temporary/",
+ data: {
+ prop: name,
+ value: value
+ },
+ success: function(data) {
+ return;
+ }
+ });
+ }
+
+ $("#baskets div.content select[name=valid_ord]").live('change', function() {
+ var active = $('#baskets .SSTT.ui-state-active');
+ if (active.length === 0) {
+ return;
+ }
+
+ var order = $(this).val();
+
+ getContent(active, order);
+ });
+
+ function WorkZoneElementRemover(el, confirm)
+ {
+ var context = el.data('context');
+
+ if (confirm !== true && $(el).hasClass('groupings') && p4.reg_delete) {
+ var buttons = {};
+
+ buttons[language.valider] = function() {
+ $("#DIALOG-baskets").dialog('close').remove();
+ WorkZoneElementRemover(el, true);
+ };
+
+ buttons[language.annuler] = function() {
+ $("#DIALOG-baskets").dialog('close').remove();
+ };
+
+ var texte = '' + language.confirmRemoveReg + '
' + language.hideMessage + '
';
+ $('body').append('');
+ $("#DIALOG-baskets").attr('title', language.removeTitle)
+ .empty()
+ .append(texte)
+ .dialog({
+ autoOpen: false,
+ closeOnEscape: true,
+ resizable: false,
+ draggable: false,
+ modal: true,
+ buttons: buttons,
+ draggable:false,
+ overlay: {
+ backgroundColor: '#000',
+ opacity: 0.7
+ }
+ }).dialog('open');
+ return;
+ }
+
+ var id = $(el).attr('id').split('_').slice(2, 4).join('_');
+
+ $.ajax({
+ type: "POST",
+ url: $(el).attr('href'),
+ dataType: 'json',
+ beforeSend: function() {
+ $('.wrapCHIM_' + id).find('.CHIM').fadeOut();
+ },
+ success: function(data) {
+ if (data.success) {
+ humane.info(data.message);
+ p4.WorkZone.Selection.remove(id);
+
+ $('.wrapCHIM_' + id).find('.CHIM').draggable('destroy');
+ $('.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();
+ }
+
+ selectedItem.remove();
+ }
+ } else {
+ humane.error(data.message);
+ $('.wrapCHIM_' + id).find('.CHIM').fadeIn();
+ }
+ return;
+ }
+ });
+ return false;
+ }
+
+
+ function activeBaskets()
+ {
+ var cache = $("#idFrameC #baskets");
+
+ cache.accordion({
+ active: 'active',
+ autoHeight: false,
+ collapsible: true,
+ header: 'div.header',
+ change: function(event, ui) {
+ var b_active = $('#baskets .SSTT.active');
+ if (p4.next_bask_scroll) {
+ p4.next_bask_scroll = false;
+
+ if (!b_active.next().is(':visible'))
+ return;
+
+ var t = $('#baskets .SSTT.active').position().top + b_active.next().height() - 200;
+
+ t = t < 0 ? 0 : t;
+
+ $('#baskets .bloc').stop().animate({
+ scrollTop: t
+ });
+ }
+
+ var uiactive = $(this).find('.ui-state-active');
+ b_active.not('.ui-state-active').removeClass('active');
+
+ if (uiactive.length === 0) {
+ return; /* everything is closed */
+ }
+
+ var clicked = uiactive.attr('id').split('_').pop();
+ var href = $('a', uiactive).attr('href');
+
+ uiactive.addClass('ui-state-focus active');
+
+ p4.WorkZone.Selection.empty();
+
+ getContent(uiactive);
+
+ },
+ changestart: function(event, ui) {
+ ui.newHeader.addClass('active');
+ $('#basketcontextwrap .basketcontextmenu').hide();
}
- if($(elem).hasClass('grouping') || $(elem).parent()[0]==$(this)[0])
- return false;
- return true;
- },
- hoverClass:'baskDrop',
- scope:'objects',
- drop:function(event, ui){
- dropOnBask(event,ui.draggable,$(this).prev());
- },
- tolerance:'pointer'
});
- $('.noteTips, .captionRolloverTips', dest).tooltip();
-
- dest.find('.CHIM').draggable({
- helper : function(){
- $('body').append(''+
- '
'+
- p4.WorkZone.Selection.length() + '
');
- return $('#dragDropCursor');
- },
- scope:"objects",
- distance : 20,
- scroll : false,
- refreshPositions:true,
- cursorAt: {
- top:10,
- left:-20
- },
- start:function(event, ui){
- var baskets = $('#baskets');
- baskets.append(''+
- '');
- $('.bottom-scroller',baskets).bind('mousemove',function(){
- $('#baskets .bloc').scrollTop($('#baskets .bloc').scrollTop()+30);
- });
- $('.top-scroller',baskets).bind('mousemove',function(){
- $('#baskets .bloc').scrollTop($('#baskets .bloc').scrollTop()-30);
- });
- },
- stop:function(){
- $('#baskets').find('.top-scroller, .bottom-scroller')
- .unbind()
- .remove();
- },
- drag:function(event,ui){
- if(is_ctrl_key(event) || $(this).closest('.content').hasClass('grouping'))
- $('#dragDropCursor div').empty().append('+ '+p4.WorkZone.Selection.length());
- else
- $('#dragDropCursor div').empty().append(p4.WorkZone.Selection.length());
-
- }
+ $('.bloc', cache).droppable({
+ accept: function(elem) {
+ if ($(elem).hasClass('grouping') && !$(elem).hasClass('SSTT'))
+ return true;
+ return false;
+ },
+ scope: 'objects',
+ hoverClass: 'groupDrop',
+ tolerance: 'pointer',
+ drop: function() {
+ fix();
+ }
});
- answerSizer();
- return;
- }
- });
- }
-
- function dropOnBask(event,from,destKey, singleSelection)
- {
- var action = "",
- from = $(from), dest_uri = '', lstbr = [],
- sselcont = [], act = "ADD";
-
- if(from.hasClass("CHIM"))
- {
- /* Element(s) come from an open object in the workzone */
- action = $(' #baskets .ui-state-active').hasClass('grouping') ? 'REG2' : 'CHU2';
- }
- else
- {
- /* Element(s) come from result */
- action = 'IMGT2';
- }
-
- action += destKey.hasClass('grouping') ? 'REG' : 'CHU';
-
- if(destKey.hasClass('content'))
- {
- /* I dropped on content */
- dest_uri = $('a', destKey.prev()).attr('href');
- }
- else
- {
- /* I dropped on Title */
- dest_uri = $('a', destKey).attr('href');
- }
-
- if(window.console)
- {
- window.console.log('Requested action is ', action, ' and act on ', dest_uri);
- }
-
- if(action=="IMGT2CHU" || action=="IMGT2REG")
- {
- if($(from).hasClass('.baskAdder') )
- {
- lstbr = [$(from).attr('id').split('_').slice(2,4).join('_')];
- }
- else if(singleSelection)
- {
- if(from.length == 1) {
- lstbr = [$(from).attr('id').split('_').slice(1,3).join('_') ];
- } else {
- lstbr = [$(from).selector.split('_').slice(1,3).join('_') ]
- }
- }
- else
- {
- lstbr = p4.Results.Selection.get();
- }
- }
- else
- {
- 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();
- }
-
- switch(action)
- {
- case "CHU2CHU" :
- if(!is_ctrl_key(event))
- act = "MOV";
- break;
-
- case "IMGT2REG":
- case "CHU2REG" :
- case "REG2REG":
- var sameSbas = true,
- sbas_reg = destKey.attr('sbas');
-
- for (var i=0; i 0) {
+ var el = $('.SSTT.active', cache)[0];
+ $(el).trigger('click');
}
- if(sameSbas === false)
- {
- return p4.Alerts('', language.reg_wrong_sbas);
- }
+ $(".SSTT, .content", cache)
+ .droppable({
+ scope: 'objects',
+ hoverClass: 'baskDrop',
+ tolerance: 'pointer',
+ accept: function(elem) {
+ if ($(elem).hasClass('CHIM')) {
+ if ($(elem).closest('.content').prev()[0] == $(this)[0]) {
+ return false;
+ }
+ }
+ if ($(elem).hasClass('grouping') || $(elem).parent()[0] == $(this)[0])
+ return false;
+ return true;
+ },
+ drop: function(event, ui) {
+ dropOnBask(event, ui.draggable, $(this));
+ }
+ });
+
+ if ($('#basketcontextwrap').length === 0)
+ $('body').append('');
+
+ $('.context-menu-item', cache).hover(function() {
+ $(this).addClass('context-menu-item-hover');
+ }, function() {
+ $(this).removeClass('context-menu-item-hover');
+ });
+ $.each($(".SSTT", cache), function() {
+ var el = $(this);
+ $(this).find('.contextMenuTrigger').contextMenu('#' + $(this).attr('id') + ' .contextMenu', {
+ 'appendTo': '#basketcontextwrap',
+ openEvt: 'click',
+ theme: 'vista',
+ dropDown: true,
+ showTransition: 'slideDown',
+ hideTransition: 'hide',
+ shadow: false
+ });
+ });
- break;
}
- switch(act+action)
+ function getContent(header, order)
{
- case 'MOVCHU2CHU':
- var url = dest_uri + "stealElements/";
- var data = {
- elements:sselcont
- };
- break;
- case 'ADDCHU2REG':
- case 'ADDREG2REG':
- case 'ADDIMGT2REG':
- case 'ADDCHU2CHU':
- case 'ADDREG2CHU':
- case 'ADDIMGT2CHU':
- var url = dest_uri + "addElements/";
- var data = {
- lst:lstbr.join(';')
- };
- break;
- default:
- if(window.console)
- {
- console.log('Should not happen');
- }
- return;
- break;
+ if (window.console) {
+ console.log('Reload content for ', header);
+ }
+
+ var url = $('a', header).attr('href');
+
+ if (typeof order !== 'undefined') {
+ url += '?order=' + order;
+ }
+
+ $.ajax({
+ type: "GET",
+ url: url,
+ dataType: 'html',
+ beforeSend: function() {
+ $('#tooltip').hide();
+ header.next().addClass('loading');
+ },
+ success: function(data) {
+ header.removeClass('unread');
+
+ var dest = header.next();
+
+ dest.droppable('destroy').empty().removeClass('loading');
+
+ dest.append(data);
+
+ $('a.WorkZoneElementRemover', dest).bind('mousedown', function(event) {
+ return false;
+ }).bind('click', function(event) {
+ return WorkZoneElementRemover($(this), false);
+ });
+
+ dest.droppable({
+ accept: function(elem) {
+ if ($(elem).hasClass('CHIM')) {
+ if ($(elem).closest('.content')[0] == $(this)[0]) {
+ return false;
+ }
+ }
+ if ($(elem).hasClass('grouping') || $(elem).parent()[0] == $(this)[0])
+ return false;
+ return true;
+ },
+ hoverClass: 'baskDrop',
+ scope: 'objects',
+ drop: function(event, ui) {
+ dropOnBask(event, ui.draggable, $(this).prev());
+ },
+ tolerance: 'pointer'
+ });
+
+ $('.noteTips, .captionRolloverTips', dest).tooltip();
+
+ dest.find('.CHIM').draggable({
+ helper: function() {
+ $('body').append('' +
+ '
' +
+ p4.WorkZone.Selection.length() + '
');
+ return $('#dragDropCursor');
+ },
+ scope: "objects",
+ distance: 20,
+ scroll: false,
+ refreshPositions: true,
+ cursorAt: {
+ top: 10,
+ left: -20
+ },
+ start: function(event, ui) {
+ var baskets = $('#baskets');
+ baskets.append('' +
+ '');
+ $('.bottom-scroller', baskets).bind('mousemove', function() {
+ $('#baskets .bloc').scrollTop($('#baskets .bloc').scrollTop() + 30);
+ });
+ $('.top-scroller', baskets).bind('mousemove', function() {
+ $('#baskets .bloc').scrollTop($('#baskets .bloc').scrollTop() - 30);
+ });
+ },
+ stop: function() {
+ $('#baskets').find('.top-scroller, .bottom-scroller')
+ .unbind()
+ .remove();
+ },
+ drag: function(event, ui) {
+ if (is_ctrl_key(event) || $(this).closest('.content').hasClass('grouping'))
+ $('#dragDropCursor div').empty().append('+ ' + p4.WorkZone.Selection.length());
+ else
+ $('#dragDropCursor div').empty().append(p4.WorkZone.Selection.length());
+
+ }
+ });
+ answerSizer();
+ return;
+ }
+ });
}
- if(window.console)
+ function dropOnBask(event, from, destKey, singleSelection)
{
- window.console.log('About to execute ajax POST on ',url,' with datas ', data );
- }
+ var action = "", from = $(from), dest_uri = '', lstbr = [], sselcont = [], act = "ADD";
- $.ajax({
- type: "POST",
- url: url,
- data: data,
- dataType:'json',
- beforeSend:function(){
-
- },
- success: function(data){
- if(!data.success)
- {
- humane.error(data.message);
- }
- else
- {
- humane.info(data.message);
- }
- if(act == 'MOV' || $(destKey).next().is(':visible') === true || $(destKey).hasClass('content') === true)
- {
- $('.CHIM.selected:visible').fadeOut();
- p4.WorkZone.Selection.empty();
- return p4.WorkZone.reloadCurrent();
- }
-
- return;
- }
- });
- }
-
-
-
- function fix()
- {
- $.ajax({
- type: "POST",
- url: "/prod/WorkZone/attachStories/",
- data:{stories:p4.Results.Selection.get()},
- dataType: "json",
- success: function(data){
- humane.info(data.message);
- p4.WorkZone.refresh();
- }
- });
- }
-
- function unfix(link)
- {
- $.ajax({
- type: "POST",
- url: link,
- dataType: "json",
- success: function(data){
- humane.info(data.message);
- p4.WorkZone.refresh();
- }
- });
- }
-
- $(document).ready(function(){
- activeBaskets();
-
- $('a.story_unfix').live('click', function(){
- unfix($(this).attr('href'));
-
- return false;
- });
-
- p4.WorkZone = {
- 'Selection':new Selectable($('#baskets'), {selector : '.CHIM'}),
- 'refresh':refreshBaskets,
- 'addElementToBasket': function(sbas_id, record_id, event , singleSelection) {
- singleSelection = !!singleSelection || false;
-
- if($('#baskets .SSTT.active').length == 1) {
- return dropOnBask(event, $('#IMGT_'+ sbas_id +'_'+ record_id), $('#baskets .SSTT.active'), singleSelection);
+ if (from.hasClass("CHIM")) {
+ /* Element(s) come from an open object in the workzone */
+ action = $(' #baskets .ui-state-active').hasClass('grouping') ? 'REG2' : 'CHU2';
} else {
- humane.info(language.noActiveBasket);
+ /* Element(s) come from result */
+ action = 'IMGT2';
}
- },
- 'reloadCurrent':function(){
- var sstt = $('#baskets .content:visible');
- if(sstt.length === 0)
- return;
- getContent(sstt.prev());
- },
- 'close':function(){
- var frame = $('#idFrameC'),
- that = this;
+ action += destKey.hasClass('grouping') ? 'REG' : 'CHU';
- if(!frame.hasClass('closed'))
- {
- frame.data('openwidth', frame.width());
- frame.animate({width:100},
- 300,
- 'linear',
- function(){
- answerSizer();
- linearize();
- $('#answers').trigger('resize');
+ if (destKey.hasClass('content')) {
+ /* I dropped on content */
+ dest_uri = $('a', destKey.prev()).attr('href');
+ } else {
+ /* I dropped on Title */
+ dest_uri = $('a', destKey).attr('href');
+ }
+
+ if (window.console) {
+ window.console.log('Requested action is ', action, ' and act on ', dest_uri);
+ }
+
+ if (action === "IMGT2CHU" || action === "IMGT2REG") {
+ if ($(from).hasClass('.baskAdder')) {
+ lstbr = [$(from).attr('id').split('_').slice(2, 4).join('_')];
+ } else if (singleSelection) {
+ if (from.length === 1) {
+ lstbr = [$(from).attr('id').split('_').slice(1, 3).join('_')];
+ } else {
+ lstbr = [$(from).selector.split('_').slice(1, 3).join('_')];
+ }
+ } else {
+ lstbr = p4.Results.Selection.get();
+ }
+ } else {
+ sselcont = $.map(p4.WorkZone.Selection.get(), function(n, i) {
+ return $('.CHIM_' + n, $('#baskets .content:visible')).attr('id').split('_').slice(1, 2).pop();
});
- frame.addClass('closed');
- $('.escamote', frame).hide();
- $('li.ui-tabs-selected', frame).removeClass('ui-tabs-selected');
- frame.unbind('click.escamote').bind('click.escamote', function(){
- that.open();
- })
+ lstbr = p4.WorkZone.Selection.get();
}
- },
- 'open':function(){
- var frame = $('#idFrameC');
+ switch (action) {
+ case "CHU2CHU" :
+ if (!is_ctrl_key(event)) act = "MOV";
+ break;
+ case "IMGT2REG":
+ case "CHU2REG" :
+ case "REG2REG":
+ var sameSbas = true, sbas_reg = destKey.attr('sbas');
- if(frame.hasClass('closed'))
- {
- var width = frame.data('openwidth') ? frame.data('openwidth') : 300;
- frame.css({width:width});
- answerSizer();
- linearize();
- frame.removeClass('closed');
- $('.escamote', frame).show();
- frame.unbind('click.escamote');
+ for (var i = 0; i < lstbr.length && sameSbas; i++) {
+ if (lstbr[i].split('_').shift() != sbas_reg) {
+ sameSbas = false;
+ break;
+ }
+ }
+
+ if (sameSbas === false) {
+ return p4.Alerts('', language.reg_wrong_sbas);
+ }
+
+ break;
}
- }
- };
- });
- return;
-}(p4))
+ switch (act + action) {
+ case 'MOVCHU2CHU':
+ var url = dest_uri + "stealElements/";
+ var data = {
+ elements: sselcont
+ };
+ break;
+ case 'ADDCHU2REG':
+ case 'ADDREG2REG':
+ case 'ADDIMGT2REG':
+ case 'ADDCHU2CHU':
+ case 'ADDREG2CHU':
+ case 'ADDIMGT2CHU':
+ var url = dest_uri + "addElements/";
+ var data = {
+ lst: lstbr.join(';')
+ };
+ break;
+ default:
+ if (window.console) {
+ console.log('Should not happen');
+ }
+ return;
+ break;
+ }
+
+ if (window.console) {
+ window.console.log('About to execute ajax POST on ', url, ' with datas ', data);
+ }
+
+ $.ajax({
+ type: "POST",
+ url: url,
+ data: data,
+ dataType: 'json',
+ beforeSend: function() {
+
+ },
+ success: function(data) {
+ if (!data.success) {
+ humane.error(data.message);
+ } else {
+ humane.info(data.message);
+ }
+ if (act == 'MOV' || $(destKey).next().is(':visible') === true || $(destKey).hasClass('content') === true) {
+ $('.CHIM.selected:visible').fadeOut();
+ p4.WorkZone.Selection.empty();
+ return p4.WorkZone.reloadCurrent();
+ }
+
+ return;
+ }
+ });
+ }
+
+ function fix()
+ {
+ $.ajax({
+ type: "POST",
+ url: "/prod/WorkZone/attachStories/",
+ data: {stories: p4.Results.Selection.get()},
+ dataType: "json",
+ success: function(data) {
+ humane.info(data.message);
+ p4.WorkZone.refresh();
+ }
+ });
+ }
+
+ function unfix(link)
+ {
+ $.ajax({
+ type: "POST",
+ url: link,
+ dataType: "json",
+ success: function(data) {
+ humane.info(data.message);
+ p4.WorkZone.refresh();
+ }
+ });
+ }
+
+ $(document).ready(function() {
+ activeBaskets();
+
+ $('a.story_unfix').live('click', function() {
+ unfix($(this).attr('href'));
+
+ return false;
+ });
+
+ p4.WorkZone = {
+ 'Selection': new Selectable($('#baskets'), {selector: '.CHIM'}),
+ 'refresh': refreshBaskets,
+ 'addElementToBasket': function(sbas_id, record_id, event, singleSelection) {
+ singleSelection = !!singleSelection || false;
+
+ if ($('#baskets .SSTT.active').length === 1) {
+ return dropOnBask(event, $('#IMGT_' + sbas_id + '_' + record_id), $('#baskets .SSTT.active'), singleSelection);
+ } else {
+ humane.info(language.noActiveBasket);
+ }
+ },
+ "removeElementFromBasket": WorkZoneElementRemover,
+ 'reloadCurrent': function() {
+ var sstt = $('#baskets .content:visible');
+ if (sstt.length === 0)
+ return;
+ getContent(sstt.prev());
+ },
+ 'close': function() {
+ var frame = $('#idFrameC'), that = this;
+
+ if (!frame.hasClass('closed'))
+ {
+ frame.data('openwidth', frame.width());
+ frame.animate({width: 100},
+ 300,
+ 'linear',
+ function() {
+ answerSizer();
+ linearize();
+ $('#answers').trigger('resize');
+ });
+ frame.addClass('closed');
+ $('.escamote', frame).hide();
+ $('li.ui-tabs-selected', frame).removeClass('ui-tabs-selected');
+ frame.unbind('click.escamote').bind('click.escamote', function() {
+ that.open();
+ })
+ }
+ },
+ 'open': function() {
+ var frame = $('#idFrameC');
+
+ if (frame.hasClass('closed'))
+ {
+ var width = frame.data('openwidth') ? frame.data('openwidth') : 300;
+ frame.css({width: width});
+ answerSizer();
+ linearize();
+ frame.removeClass('closed');
+ $('.escamote', frame).show();
+ frame.unbind('click.escamote');
+ }
+ }
+ };
+ });
+
+ return;
+}(p4));
diff --git a/www/skins/prod/jquery.main-prod.js b/www/skins/prod/jquery.main-prod.js
index 1ee74571c5..1d9a3144a1 100644
--- a/www/skins/prod/jquery.main-prod.js
+++ b/www/skins/prod/jquery.main-prod.js
@@ -2502,6 +2502,12 @@ function evt_add_in_chutier(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){
if (allbase) {