mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-23 18:03:17 +00:00
wip: remove prod js modules dependencies
This commit is contained in:
@@ -39,8 +39,11 @@ class eventsmanager_notify_push extends eventsmanager_notifyAbstract
|
||||
$sender = $user->getDisplayName();
|
||||
|
||||
$ret = [
|
||||
'text' => $this->app->trans('%user% vous a envoye un %before_link% panier %after_link%', ['%user%' => $sender, '%before_link%' => '<a href="#" onclick="recordPreviewModule.openPreview(\'BASK\',1,\''
|
||||
. $data['ssel_id'] . '\');return false;">', '%after_link%' => '</a>'])
|
||||
'text' => $this->app->trans('%user% vous a envoye un %before_link% panier %after_link%', ['%user%' => $sender, '%before_link%' => '<a href="#"
|
||||
data-kind="BASK"
|
||||
data-position="1"
|
||||
data-id="'. $data['ssel_id'] . '"
|
||||
class="open-preview-action">', '%after_link%' => '</a>'])
|
||||
, 'class' => ($unread == 1 ? 'reload_baskets' : '')
|
||||
];
|
||||
|
||||
|
@@ -53,8 +53,7 @@ class eventsmanager_notify_validationreminder extends eventsmanager_notifyAbstra
|
||||
$basket_name = $this->app->trans('Une selection');
|
||||
}
|
||||
|
||||
$bask_link = '<a href="#" onclick="recordPreviewModule.openPreview(\'BASK\',1,\''
|
||||
. $ssel_id . '\');return false;">'
|
||||
$bask_link = '<a href="#" data-kind="BASK" data-position="1" data-id="'. $ssel_id . '" class="open-preview-action">'
|
||||
. $basket_name . '</a>';
|
||||
|
||||
$ret = [
|
||||
|
@@ -73,7 +73,7 @@ gulp.task('build-prod-js', function(){
|
||||
config.paths.vendors + 'jquery-file-upload/js/jquery.iframe-transport.js',
|
||||
config.paths.vendors + 'jquery-file-upload/js/jquery.fileupload.js',
|
||||
config.paths.vendors + 'geonames-server-jquery-plugin/jquery.geonames.js',
|
||||
config.paths.src + 'prod/js/core/lists.js',
|
||||
//config.paths.src + 'prod/js/core/lists.js',
|
||||
config.paths.src + 'prod/js/core/selectable.js',
|
||||
config.paths.src + 'prod/js/core/alert.js',
|
||||
|
||||
@@ -87,13 +87,13 @@ gulp.task('build-prod-js', function(){
|
||||
// config.paths.src + 'prod/js/components/cgu.js',
|
||||
// config.paths.src + 'prod/js/components/preferences.js',
|
||||
config.paths.src + 'prod/js/components/record/editable-record.js',
|
||||
config.paths.src + 'prod/js/components/push/push.js',
|
||||
//config.paths.src + 'prod/js/components/push/push.js',
|
||||
config.paths.src + 'prod/js/prod.js',
|
||||
config.paths.src + 'prod/js/components/upload/upload.js',
|
||||
// config.paths.src + 'prod/js/components/video-editor.js',
|
||||
config.paths.src + 'vendors/jquery-sprintf/js/jquery.sprintf.1.0.3.js',
|
||||
config.paths.src + 'prod/js/components/preview/preview.js',
|
||||
config.paths.src + 'prod/js/components/editor/record-editor.js',
|
||||
//config.paths.src + 'prod/js/components/preview/preview.js',
|
||||
//config.paths.src + 'prod/js/components/editor/record-editor.js',
|
||||
config.paths.src + 'prod/js/jquery.color.animation.js',
|
||||
config.paths.src + 'vendors/jquery-image-enhancer/js/jquery.image_enhancer.js',
|
||||
config.paths.vendors + 'jquery-treeview/jquery.treeview.js',
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,464 +0,0 @@
|
||||
// var p4 = p4 || {};
|
||||
|
||||
var recordPreviewModule = (function (p4) {
|
||||
var prevAjax, prevAjaxrunning;
|
||||
prevAjaxrunning = false;
|
||||
p4.slideShow = false;
|
||||
|
||||
$(document).ready(function () {
|
||||
$('#PREVIEWIMGDESC').tabs();
|
||||
|
||||
$('#PREVIEWBOX .gui_vsplitter', p4.edit.editBox).draggable({
|
||||
axis: 'x',
|
||||
containment: 'parent',
|
||||
drag: function (event, ui) {
|
||||
var x = $(ui.position.left)[0];
|
||||
if (x < 330 || x > (bodySize.x - 400)) {
|
||||
return false;
|
||||
}
|
||||
var v = $(ui.position.left)[0];
|
||||
$("#PREVIEWLEFT").width(v);
|
||||
$("#PREVIEWRIGHT").css("left", $(ui.position.left)[0]);
|
||||
recordPreviewModule.resizePreview();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
*
|
||||
* @param env
|
||||
* @param pos - relative position in current page
|
||||
* @param contId
|
||||
* @param reload
|
||||
*/
|
||||
function openPreview(env, pos, contId, reload) {
|
||||
|
||||
if (contId == undefined)
|
||||
contId = '';
|
||||
var roll = 0;
|
||||
var justOpen = false;
|
||||
|
||||
if (!p4.preview.open) {
|
||||
commonModule.showOverlay();
|
||||
|
||||
$('#PREVIEWIMGCONT').disableSelection();
|
||||
|
||||
justOpen = true;
|
||||
|
||||
if (!( navigator.userAgent.match(/msie/i))) {
|
||||
$('#PREVIEWBOX').css({
|
||||
'display': 'block',
|
||||
'opacity': 0
|
||||
}).fadeTo(500, 1);
|
||||
} else {
|
||||
$('#PREVIEWBOX').css({
|
||||
'display': 'block',
|
||||
'opacity': 1
|
||||
});
|
||||
}
|
||||
p4.preview.open = true;
|
||||
p4.preview.nCurrent = 5;
|
||||
$('#PREVIEWCURRENT, #PREVIEWOTHERSINNER, #SPANTITLE').empty();
|
||||
resizePreview();
|
||||
if (env == 'BASK')
|
||||
roll = 1;
|
||||
|
||||
}
|
||||
|
||||
if (reload === true)
|
||||
roll = 1;
|
||||
|
||||
|
||||
$('#tooltip').css({
|
||||
'display': 'none'
|
||||
});
|
||||
|
||||
$('#PREVIEWIMGCONT').empty();
|
||||
|
||||
var options_serial = p4.tot_options;
|
||||
var query = p4.tot_query;
|
||||
var navigation = p4.navigation;
|
||||
|
||||
// keep relative position for answer train:
|
||||
var relativePos = pos;
|
||||
// update real absolute position with pagination:
|
||||
var absolutePos = parseInt(navigation.perPage,10) * (parseInt(navigation.page, 10) - 1) + parseInt(pos,10);
|
||||
|
||||
// if comes from story, work with relative positionning
|
||||
if (env == 'REG') {
|
||||
// @TODO - if event comes from workzone (basket|story),
|
||||
// we can use the relative position in order to display the doubleclicked records
|
||||
// except we can't know the original event in this implementation
|
||||
absolutePos = 0;
|
||||
}
|
||||
|
||||
prevAjax = $.ajax({
|
||||
type: "POST",
|
||||
url: "../prod/records/",
|
||||
dataType: 'json',
|
||||
data: {
|
||||
env: env,
|
||||
pos: absolutePos,
|
||||
cont: contId,
|
||||
roll: roll,
|
||||
options_serial: options_serial,
|
||||
query: query
|
||||
},
|
||||
beforeSend: function () {
|
||||
if (prevAjaxrunning)
|
||||
prevAjax.abort();
|
||||
if (env == 'RESULT')
|
||||
$('#current_result_n').empty().append(parseInt(pos) + 1);
|
||||
prevAjaxrunning = true;
|
||||
$('#PREVIEWIMGDESC, #PREVIEWOTHERS').addClass('loading');
|
||||
},
|
||||
error: function (data) {
|
||||
prevAjaxrunning = false;
|
||||
$('#PREVIEWIMGDESC, #PREVIEWOTHERS').removeClass('loading');
|
||||
posAsk = null;
|
||||
},
|
||||
timeout: function () {
|
||||
prevAjaxrunning = false;
|
||||
$('#PREVIEWIMGDESC, #PREVIEWOTHERS').removeClass('loading');
|
||||
posAsk = null;
|
||||
},
|
||||
success: function (data) {
|
||||
_cancelPreview();
|
||||
prevAjaxrunning = false;
|
||||
posAsk = null;
|
||||
|
||||
if (data.error) {
|
||||
$('#PREVIEWIMGDESC, #PREVIEWOTHERS').removeClass('loading');
|
||||
alert(data.error);
|
||||
if (justOpen)
|
||||
closePreview();
|
||||
return;
|
||||
}
|
||||
posAsk = data.pos - 1;
|
||||
|
||||
$('#PREVIEWIMGCONT').empty().append(data.html_preview);
|
||||
$('#PREVIEWIMGCONT .thumb_wrapper')
|
||||
.width('100%').height('100%').image_enhance({zoomable: true});
|
||||
|
||||
$('#PREVIEWIMGDESCINNER').empty().append(data.desc);
|
||||
$('#HISTORICOPS').empty().append(data.history);
|
||||
$('#popularity').empty().append(data.popularity);
|
||||
|
||||
if ($('#popularity .bitly_link').length > 0) {
|
||||
|
||||
BitlyCB.statsResponse = function (data) {
|
||||
var result = data.results;
|
||||
if ($('#popularity .bitly_link_' + result.userHash).length > 0) {
|
||||
$('#popularity .bitly_link_' + result.userHash).append(' (' + result.clicks + ' clicks)');
|
||||
}
|
||||
};
|
||||
BitlyClient.stats($('#popularity .bitly_link').html(), 'BitlyCB.statsResponse');
|
||||
}
|
||||
|
||||
p4.preview.current = {};
|
||||
p4.preview.current.width = parseInt($('#PREVIEWIMGCONT input[name=width]').val());
|
||||
p4.preview.current.height = parseInt($('#PREVIEWIMGCONT input[name=height]').val());
|
||||
p4.preview.current.tot = data.tot;
|
||||
p4.preview.current.pos = relativePos;
|
||||
|
||||
if ($('#PREVIEWBOX img.record.zoomable').length > 0) {
|
||||
$('#PREVIEWBOX img.record.zoomable').draggable();
|
||||
}
|
||||
|
||||
$('#SPANTITLE').empty().append(data.title);
|
||||
$("#PREVIEWTITLE_COLLLOGO").empty().append(data.collection_logo);
|
||||
$("#PREVIEWTITLE_COLLNAME").empty().append(data.collection_name);
|
||||
|
||||
_setPreview();
|
||||
|
||||
if (env != 'RESULT') {
|
||||
if (justOpen || reload) {
|
||||
_setCurrent(data.current);
|
||||
}
|
||||
_viewCurrent($('#PREVIEWCURRENT li.selected'));
|
||||
}
|
||||
else {
|
||||
if (!justOpen) {
|
||||
$('#PREVIEWCURRENT li.selected').removeClass('selected');
|
||||
$('#PREVIEWCURRENTCONT li.current' + absolutePos).addClass('selected');
|
||||
}
|
||||
if (justOpen || ($('#PREVIEWCURRENTCONT li.current' + absolutePos).length === 0) || ($('#PREVIEWCURRENTCONT li:last')[0] == $('#PREVIEWCURRENTCONT li.selected')[0]) || ($('#PREVIEWCURRENTCONT li:first')[0] == $('#PREVIEWCURRENTCONT li.selected')[0])) {
|
||||
_getAnswerTrain(pos, data.tools, query, options_serial);
|
||||
}
|
||||
|
||||
_viewCurrent($('#PREVIEWCURRENT li.selected'));
|
||||
}
|
||||
if (env == 'REG' && $('#PREVIEWCURRENT').html() === '') {
|
||||
_getRegTrain(contId, pos, data.tools);
|
||||
}
|
||||
_setOthers(data.others);
|
||||
_setTools(data.tools);
|
||||
$('#tooltip').css({
|
||||
'display': 'none'
|
||||
});
|
||||
$('#PREVIEWIMGDESC, #PREVIEWOTHERS').removeClass('loading');
|
||||
if (!justOpen || (p4.preview.mode != env))
|
||||
resizePreview();
|
||||
|
||||
p4.preview.mode = env;
|
||||
$('#EDIT_query').focus();
|
||||
|
||||
$('#PREVIEWOTHERSINNER .otherBaskToolTip').tooltip();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function closePreview() {
|
||||
p4.preview.open = false;
|
||||
commonModule.hideOverlay();
|
||||
|
||||
$('#PREVIEWBOX').fadeTo(500, 0);
|
||||
$('#PREVIEWBOX').queue(function () {
|
||||
$(this).css({
|
||||
'display': 'none'
|
||||
});
|
||||
_cancelPreview();
|
||||
$(this).dequeue();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function startSlide() {
|
||||
if (!p4.slideShow) {
|
||||
p4.slideShow = true;
|
||||
}
|
||||
if (p4.slideShowCancel) {
|
||||
p4.slideShowCancel = false;
|
||||
p4.slideShow = false;
|
||||
$('#start_slide').show();
|
||||
$('#stop_slide').hide();
|
||||
}
|
||||
if (!p4.preview.open) {
|
||||
p4.slideShowCancel = false;
|
||||
p4.slideShow = false;
|
||||
$('#start_slide').show();
|
||||
$('#stop_slide').hide();
|
||||
}
|
||||
if (p4.slideShow) {
|
||||
$('#start_slide').hide();
|
||||
$('#stop_slide').show();
|
||||
getNext();
|
||||
setTimeout("startSlide()", 3000);
|
||||
}
|
||||
}
|
||||
|
||||
function stopSlide() {
|
||||
p4.slideShowCancel = true;
|
||||
$('#start_slide').show();
|
||||
$('#stop_slide').hide();
|
||||
}
|
||||
|
||||
function getNext() {
|
||||
if (p4.preview.mode == 'REG' && parseInt(p4.preview.current.pos) === 0)
|
||||
$('#PREVIEWCURRENTCONT li img:first').trigger("click");
|
||||
else {
|
||||
if (p4.preview.mode == 'RESULT') {
|
||||
posAsk = parseInt(p4.preview.current.pos) + 1;
|
||||
posAsk = (posAsk >= parseInt(p4.tot) || isNaN(posAsk)) ? 0 : posAsk;
|
||||
recordPreviewModule.openPreview('RESULT', posAsk, '', false);
|
||||
}
|
||||
else {
|
||||
if (!$('#PREVIEWCURRENT li.selected').is(':last-child'))
|
||||
$('#PREVIEWCURRENT li.selected').next().children('img').trigger("click");
|
||||
else
|
||||
$('#PREVIEWCURRENT li:first-child').children('img').trigger("click");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function getPrevious() {
|
||||
if (p4.preview.mode == 'RESULT') {
|
||||
posAsk = parseInt(p4.preview.current.pos) - 1;
|
||||
posAsk = (posAsk < 0) ? ((parseInt(p4.tot) - 1)) : posAsk;
|
||||
recordPreviewModule.openPreview('RESULT', posAsk, '', false);
|
||||
}
|
||||
else {
|
||||
if (!$('#PREVIEWCURRENT li.selected').is(':first-child'))
|
||||
$('#PREVIEWCURRENT li.selected').prev().children('img').trigger("click");
|
||||
else
|
||||
$('#PREVIEWCURRENT li:last-child').children('img').trigger("click");
|
||||
}
|
||||
}
|
||||
|
||||
function _setPreview() {
|
||||
if (!p4.preview.current)
|
||||
return;
|
||||
|
||||
var zoomable = $('img.record.zoomable');
|
||||
if (zoomable.length > 0 && zoomable.hasClass('zoomed'))
|
||||
return;
|
||||
|
||||
var h = parseInt(p4.preview.current.height);
|
||||
var w = parseInt(p4.preview.current.width);
|
||||
var t = 20;
|
||||
var de = 0;
|
||||
|
||||
var margX = 0;
|
||||
var margY = 0;
|
||||
|
||||
if ($('#PREVIEWIMGCONT .record_audio').length > 0) {
|
||||
margY = 100;
|
||||
de = 60;
|
||||
}
|
||||
|
||||
var ratioP = w / h;
|
||||
var ratioD = parseInt(p4.preview.width) / parseInt(p4.preview.height);
|
||||
|
||||
if (ratioD > ratioP) {
|
||||
//je regle la hauteur d'abord
|
||||
if ((parseInt(h) + margY) > parseInt(p4.preview.height)) {
|
||||
h = Math.round(parseInt(p4.preview.height) - margY);
|
||||
w = Math.round(h * ratioP);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ((parseInt(w) + margX) > parseInt(p4.preview.width)) {
|
||||
w = Math.round(parseInt(p4.preview.width) - margX);
|
||||
h = Math.round(w / ratioP);
|
||||
}
|
||||
}
|
||||
|
||||
t = Math.round((parseInt(p4.preview.height) - h - de) / 2);
|
||||
var l = Math.round((parseInt(p4.preview.width) - w) / 2);
|
||||
$('#PREVIEWIMGCONT .record').css({
|
||||
width: w,
|
||||
height: h,
|
||||
top: t,
|
||||
left: l
|
||||
}).attr('width', w).attr('height', h);
|
||||
}
|
||||
|
||||
function _setCurrent(current) {
|
||||
if (current !== '') {
|
||||
var el = $('#PREVIEWCURRENT');
|
||||
el.removeClass('loading').empty().append(current);
|
||||
|
||||
$('ul', el).width($('li', el).length * 80);
|
||||
$('img.prevRegToolTip', el).tooltip();
|
||||
$.each($('img.openPreview'), function (i, el) {
|
||||
var jsopt = $(el).attr('jsargs').split('|');
|
||||
$(el).removeAttr('jsargs');
|
||||
$(el).removeClass('openPreview');
|
||||
$(el).bind('click', function () {
|
||||
_viewCurrent($(this).parent());
|
||||
// convert abssolute to relative position
|
||||
var absolutePos = jsopt[1];
|
||||
var relativePos = parseInt(absolutePos, 10) - parseInt(p4.navigation.perPage, 10) * (parseInt(p4.navigation.page, 10) - 1);
|
||||
// keep relative position for answer train:
|
||||
recordPreviewModule.openPreview(jsopt[0], relativePos, jsopt[2],false);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function _viewCurrent(el) {
|
||||
if (el.length === 0) {
|
||||
return;
|
||||
}
|
||||
$('#PREVIEWCURRENT li.selected').removeClass('selected');
|
||||
el.addClass('selected');
|
||||
$('#PREVIEWCURRENTCONT').animate({'scrollLeft': ($('#PREVIEWCURRENT li.selected').position().left + $('#PREVIEWCURRENT li.selected').width() / 2 - ($('#PREVIEWCURRENTCONT').width() / 2 ))});
|
||||
return;
|
||||
}
|
||||
|
||||
function reloadPreview() {
|
||||
$('#PREVIEWCURRENT li.selected img').trigger("click");
|
||||
}
|
||||
|
||||
function _getAnswerTrain(pos, tools, query, options_serial) {
|
||||
// keep relative position for answer train:
|
||||
var relativePos = pos;
|
||||
// update real absolute position with pagination:
|
||||
var absolutePos = parseInt(p4.navigation.perPage,10) * (parseInt(p4.navigation.page, 10) - 1) + parseInt(pos,10);
|
||||
|
||||
$('#PREVIEWCURRENTCONT').fadeOut('fast');
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/prod/query/answer-train/",
|
||||
dataType: 'json',
|
||||
data: {
|
||||
pos: absolutePos,
|
||||
options_serial: options_serial,
|
||||
query: query
|
||||
},
|
||||
success: function (data) {
|
||||
_setCurrent(data.current);
|
||||
_viewCurrent($('#PREVIEWCURRENT li.selected'));
|
||||
_setTools(tools);
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function _getRegTrain(contId, pos, tools) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/prod/query/reg-train/",
|
||||
dataType: 'json',
|
||||
data: {
|
||||
cont: contId,
|
||||
pos: pos
|
||||
},
|
||||
success: function (data) {
|
||||
_setCurrent(data.current);
|
||||
_viewCurrent($('#PREVIEWCURRENT li.selected'));
|
||||
if (typeof(tools) != 'undefined')
|
||||
_setTools(tools);
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function _cancelPreview() {
|
||||
$('#PREVIEWIMGDESCINNER').empty();
|
||||
$('#PREVIEWIMGCONT').empty();
|
||||
p4.preview.current = false;
|
||||
}
|
||||
|
||||
function _setOthers(others) {
|
||||
|
||||
$('#PREVIEWOTHERSINNER').empty();
|
||||
if (others !== '') {
|
||||
$('#PREVIEWOTHERSINNER').append(others);
|
||||
|
||||
$('#PREVIEWOTHERS table.otherRegToolTip').tooltip();
|
||||
}
|
||||
}
|
||||
|
||||
function _setTools(tools) {
|
||||
$('#PREVIEWTOOL').empty().append(tools);
|
||||
if (!p4.slideShowCancel && p4.slideShow) {
|
||||
$('#start_slide').hide();
|
||||
$('#stop_slide').show();
|
||||
} else {
|
||||
$('#start_slide').show();
|
||||
$('#stop_slide').hide();
|
||||
}
|
||||
}
|
||||
|
||||
function resizePreview() {
|
||||
p4.preview.height = $('#PREVIEWIMGCONT').height();
|
||||
p4.preview.width = $('#PREVIEWIMGCONT').width();
|
||||
_setPreview();
|
||||
}
|
||||
return {
|
||||
openPreview: openPreview,
|
||||
closePreview: closePreview,
|
||||
startSlide: startSlide,
|
||||
stopSlide: stopSlide,
|
||||
getNext: getNext,
|
||||
getPrevious: getPrevious,
|
||||
reloadPreview: reloadPreview,
|
||||
resizePreview: resizePreview
|
||||
}
|
||||
})(p4);
|
@@ -1,708 +0,0 @@
|
||||
|
||||
var pushModule = (function (window, p4) {
|
||||
|
||||
var Feedback = function ($container, context) {
|
||||
this.container = $($container);
|
||||
|
||||
this.Context = context;
|
||||
|
||||
this.selection = new Selectable(
|
||||
$('.user_content .badges', this.container),
|
||||
{
|
||||
selector: '.badge'
|
||||
}
|
||||
);
|
||||
|
||||
var $this = this;
|
||||
|
||||
this.container.on('click', '.content .options .select-all', function (event) {
|
||||
$this.selection.selectAll();
|
||||
});
|
||||
|
||||
this.container.on('click', '.content .options .unselect-all', function (event) {
|
||||
$this.selection.empty();
|
||||
});
|
||||
|
||||
$('.UserTips', this.container).tooltip();
|
||||
|
||||
this.container.on('click', 'a.user_adder', function (event) {
|
||||
var $this = $(this);
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: $this.attr('href'),
|
||||
dataType: 'html',
|
||||
beforeSend: function () {
|
||||
var options = {
|
||||
size: 'Medium',
|
||||
title: $this.html()
|
||||
};
|
||||
dialogModule.dialog.create(options, 2).getDomElement().addClass('loading');
|
||||
},
|
||||
success: function (data) {
|
||||
dialogModule.dialog.get(2).getDomElement().removeClass('loading').empty().append(data);
|
||||
return;
|
||||
},
|
||||
error: function () {
|
||||
dialogModule.dialog.get(2).close();
|
||||
return;
|
||||
},
|
||||
timeout: function () {
|
||||
dialogModule.dialog.get(2).close();
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
this.container.on('click', '.recommended_users', function (event) {
|
||||
var usr_id = $('input[name="usr_id"]', $(this)).val();
|
||||
|
||||
$this.loadUser(usr_id, $this.selectUser);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
this.container.on('click', '.recommended_users_list', function (event) {
|
||||
|
||||
var content = $('#push_user_recommendations').html();
|
||||
|
||||
var options = {
|
||||
size: 'Small',
|
||||
title: $(this).attr('title')
|
||||
};
|
||||
|
||||
$dialog = dialogModule.dialog.create(options, 2);
|
||||
$dialog.setContent(content);
|
||||
|
||||
$dialog.getDomElement().find('a.adder').bind('click', function () {
|
||||
|
||||
$(this).addClass('added');
|
||||
|
||||
var usr_id = $(this).closest('tr').find('input[name="usr_id"]').val();
|
||||
|
||||
$this.loadUser(usr_id, $this.selectUser);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$dialog.getDomElement().find('a.adder').each(function (i, el) {
|
||||
|
||||
var usr_id = $(this).closest('tr').find('input[name="usr_id"]').val();
|
||||
|
||||
if ($('.badge_' + usr_id, $this.container).length > 0) {
|
||||
$(this).addClass('added');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
//this.container.on('submit', '#PushBox form[name="FeedBackForm"]', function (event) {
|
||||
$('#PushBox form[name="FeedBackForm"]').bind('submit', function () {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
$.ajax({
|
||||
type: $this.attr('method'),
|
||||
url: $this.attr('action'),
|
||||
dataType: 'json',
|
||||
data: $this.serializeArray(),
|
||||
beforeSend: function () {
|
||||
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.success) {
|
||||
humane.info(data.message);
|
||||
dialogModule.dialog.close(1);
|
||||
p4.WorkZone.refresh();
|
||||
}
|
||||
else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
return;
|
||||
},
|
||||
error: function () {
|
||||
|
||||
return;
|
||||
},
|
||||
timeout: function () {
|
||||
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.FeedbackSend', this.container).bind('click', function () {
|
||||
if ($('.badges .badge', $container).length === 0) {
|
||||
alert(language.FeedBackNoUsersSelected);
|
||||
return;
|
||||
}
|
||||
|
||||
var buttons = {};
|
||||
|
||||
buttons[language.send] = function () {
|
||||
if ($.trim($('input[name="name"]', $dialog.getDomElement()).val()) === '') {
|
||||
var options = {
|
||||
size: 'Alert',
|
||||
closeButton: true,
|
||||
title: language.warning
|
||||
}
|
||||
var $dialogAlert = dialogModule.dialog.create(options, 3);
|
||||
$dialogAlert.setContent(language.FeedBackNameMandatory);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
$dialog.close();
|
||||
|
||||
$('input[name="name"]', $FeedBackForm).val($('input[name="name"]', $dialog.getDomElement()).val());
|
||||
$('input[name="duration"]', $FeedBackForm).val($('select[name="duration"]', $dialog.getDomElement()).val());
|
||||
$('textarea[name="message"]', $FeedBackForm).val($('textarea[name="message"]', $dialog.getDomElement()).val());
|
||||
$('input[name="recept"]', $FeedBackForm).prop('checked', $('input[name="recept"]', $dialog.getDomElement()).prop('checked'));
|
||||
$('input[name="force_authentication"]', $FeedBackForm).prop('checked', $('input[name="force_authentication"]', $dialog.getDomElement()).prop('checked'));
|
||||
|
||||
$FeedBackForm.trigger('submit');
|
||||
};
|
||||
|
||||
var options = {
|
||||
size: 'Medium',
|
||||
buttons: buttons,
|
||||
loading: true,
|
||||
title: language.send,
|
||||
closeOnEscape: true,
|
||||
cancelButton: true
|
||||
};
|
||||
|
||||
var $dialog = dialogModule.dialog.create(options, 2);
|
||||
|
||||
var $FeedBackForm = $('form[name="FeedBackForm"]', $container);
|
||||
|
||||
var html = _.template($("#feedback_sendform_tpl").html());
|
||||
|
||||
$dialog.setContent(html);
|
||||
|
||||
$('input[name="name"]', $dialog.getDomElement()).val($('input[name="name"]', $FeedBackForm).val());
|
||||
$('textarea[name="message"]', $dialog.getDomElement()).val($('textarea[name="message"]', $FeedBackForm).val());
|
||||
$('.' + $this.Context, $dialog.getDomElement()).show();
|
||||
|
||||
$('form', $dialog.getDomElement()).submit(function () {
|
||||
return false;
|
||||
});
|
||||
});
|
||||
|
||||
$('.user_content .badges', this.container).disableSelection();
|
||||
|
||||
|
||||
// toggle download feature for users
|
||||
this.container.on('click', '.user_content .badges .badge .toggle', function (event) {
|
||||
var $this = $(this);
|
||||
|
||||
$this.toggleClass('status_off status_on');
|
||||
|
||||
$this.find('input').val($this.hasClass('status_on') ? '1' : '0');
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
// toggle feature state of selected users
|
||||
this.container.on('click', '.general_togglers .general_toggler', function (event) {
|
||||
var feature = $(this).attr('feature');
|
||||
|
||||
var $badges = $('.user_content .badge.selected', this.container);
|
||||
|
||||
var toggles = $('.status_off.toggle_' + feature, $badges);
|
||||
|
||||
if (toggles.length === 0) {
|
||||
var toggles = $('.status_on.toggle_' + feature, $badges);
|
||||
}
|
||||
if (toggles.length === 0) {
|
||||
humane.info('No user selected');
|
||||
}
|
||||
|
||||
toggles.trigger('click');
|
||||
return false;
|
||||
});
|
||||
|
||||
this.container.on('click', '.user_content .badges .badge .deleter', function (event) {
|
||||
var $elem = $(this).closest('.badge');
|
||||
$elem.fadeOut(function () {
|
||||
$elem.remove();
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
this.container.on('click', '.list_manager', function (event) {
|
||||
$('#PushBox').hide();
|
||||
$('#ListManager').show();
|
||||
return false;
|
||||
});
|
||||
|
||||
this.container.on('click', 'a.list_loader', function (event) {
|
||||
var url = $(this).attr('href');
|
||||
|
||||
var callbackList = function (list) {
|
||||
for (var i in list.entries) {
|
||||
this.selectUser(list.entries[i].User);
|
||||
}
|
||||
};
|
||||
|
||||
$this.loadList(url, callbackList);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('form.list_saver', this.container).bind('submit', function () {
|
||||
var $form = $(this);
|
||||
var $input = $('input[name="name"]', $form);
|
||||
|
||||
var users = p4.Feedback.getUsers();
|
||||
|
||||
if (users.length === 0) {
|
||||
humane.error('No users');
|
||||
return false;
|
||||
}
|
||||
|
||||
p4.Lists.create($input.val(), function (list) {
|
||||
$input.val('');
|
||||
list.addUsers(users);
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('input[name="users-search"]', this.container).autocomplete({
|
||||
minLength: 2,
|
||||
source: function (request, response) {
|
||||
$.ajax({
|
||||
url: '/prod/push/search-user/',
|
||||
dataType: "json",
|
||||
data: {
|
||||
query: request.term
|
||||
},
|
||||
success: function (data) {
|
||||
response(data);
|
||||
}
|
||||
});
|
||||
},
|
||||
focus: function (event, ui) {
|
||||
$('input[name="users-search"]').val(ui.item.label);
|
||||
},
|
||||
select: function (event, ui) {
|
||||
if (ui.item.type === 'USER') {
|
||||
$this.selectUser(ui.item);
|
||||
} else if (ui.item.type === 'LIST') {
|
||||
for (var e in ui.item.entries) {
|
||||
$this.selectUser(ui.item.entries[e].User);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.data("ui-autocomplete")._renderItem = function (ul, item) {
|
||||
var html = "";
|
||||
|
||||
if (item.type === 'USER') {
|
||||
html = _.template($("#list_user_tpl").html(), {
|
||||
|
||||
item: item
|
||||
});
|
||||
} else if (item.type === 'LIST') {
|
||||
html = _.template($("#list_list_tpl").html(), {
|
||||
item: item
|
||||
});
|
||||
}
|
||||
|
||||
return $(html).data("ui-autocomplete-item", item).appendTo(ul);
|
||||
};
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
Feedback.prototype = {
|
||||
selectUser: function (user) {
|
||||
if (typeof user !== 'object') {
|
||||
if (window.console) {
|
||||
console.log('trying to select a user with wrong datas');
|
||||
}
|
||||
}
|
||||
if ($('.badge_' + user.usr_id, this.container).length > 0) {
|
||||
humane.info('User already selected');
|
||||
return;
|
||||
}
|
||||
|
||||
var html = _.template($("#" + this.Context.toLowerCase() + "_badge_tpl").html(), {
|
||||
user: user
|
||||
});
|
||||
|
||||
p4.Feedback.appendBadge(html);
|
||||
},
|
||||
loadUser: function (usr_id, callback) {
|
||||
var $this = this;
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: '/prod/push/user/' + usr_id + '/',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
usr_id: usr_id
|
||||
},
|
||||
success: function (data) {
|
||||
if (typeof callback === 'function') {
|
||||
callback.call($this, data);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
loadList: function (url, callback) {
|
||||
var $this = this;
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: url,
|
||||
dataType: 'json',
|
||||
success: function (data) {
|
||||
if (typeof callback === 'function') {
|
||||
callback.call($this, data);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
appendBadge: function (badge) {
|
||||
$('.user_content .badges', this.container).append(badge);
|
||||
},
|
||||
addUser: function ($form, callback) {
|
||||
|
||||
var $this = this;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/prod/push/add-user/',
|
||||
dataType: 'json',
|
||||
data: $form.serializeArray(),
|
||||
success: function (data) {
|
||||
if (data.success) {
|
||||
humane.info(data.message);
|
||||
$this.selectUser(data.user);
|
||||
callback();
|
||||
}
|
||||
else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
getSelection: function () {
|
||||
return this.selection;
|
||||
},
|
||||
getUsers: function () {
|
||||
return $('.user_content .badge', this.container).map(function () {
|
||||
return $('input[name="id"]', $(this)).val();
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var ListManager = function ($container) {
|
||||
|
||||
this.list = null;
|
||||
this.container = $container;
|
||||
|
||||
$container.on('click', '.back_link', function() {
|
||||
$('#PushBox').show();
|
||||
$('#ListManager').hide();
|
||||
return false;
|
||||
});
|
||||
|
||||
$container.on('click', 'a.list_sharer', function() {
|
||||
|
||||
var $this = $(this),
|
||||
options = {
|
||||
size: 'Small',
|
||||
closeButton: true,
|
||||
title: $this.attr('title')
|
||||
},
|
||||
$dialog = dialogModule.dialog.create(options, 2);
|
||||
|
||||
$dialog.load($this.attr('href'), 'GET');
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$container.on('click', 'a.user_adder', function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: $this.attr('href'),
|
||||
dataType: 'html',
|
||||
beforeSend: function () {
|
||||
var options = {
|
||||
size: 'Medium',
|
||||
title: $this.html()
|
||||
};
|
||||
dialogModule.dialog.create(options, 2).getDomElement().addClass('loading');
|
||||
},
|
||||
success: function (data) {
|
||||
dialogModule.dialog.get(2).getDomElement().removeClass('loading').empty().append(data);
|
||||
return;
|
||||
},
|
||||
error: function () {
|
||||
dialogModule.dialog.get(2).close();
|
||||
return;
|
||||
},
|
||||
timeout: function () {
|
||||
dialogModule.dialog.get(2).close();
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
var initLeft = function () {
|
||||
$('a.list_refresh', $container).bind('click', function (event) {
|
||||
|
||||
var callback = function (datas) {
|
||||
$('.all-lists', $container).removeClass('loading').append(datas);
|
||||
initLeft();
|
||||
};
|
||||
|
||||
$('.all-lists', $container).empty().addClass('loading');
|
||||
|
||||
p4.Lists.get(callback, 'html');
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('a.list_adder', $container).bind('click', function (event) {
|
||||
|
||||
var makeDialog = function (box) {
|
||||
|
||||
var buttons = {};
|
||||
|
||||
buttons[language.valider] = function () {
|
||||
|
||||
var callbackOK = function () {
|
||||
$('a.list_refresh', $container).trigger('click');
|
||||
dialogModule.dialog.get(2).close();
|
||||
};
|
||||
|
||||
var name = $('input[name="name"]', dialogModule.dialog.get(2).getDomElement()).val();
|
||||
|
||||
if ($.trim(name) === '') {
|
||||
alert(language.listNameCannotBeEmpty);
|
||||
return;
|
||||
}
|
||||
|
||||
p4.Lists.create(name, callbackOK);
|
||||
};
|
||||
|
||||
var options = {
|
||||
cancelButton: true,
|
||||
buttons: buttons,
|
||||
size: '700x170'
|
||||
};
|
||||
|
||||
dialogModule.dialog.create(options, 2).setContent(box);
|
||||
};
|
||||
|
||||
var html = _.template($("#list_editor_dialog_add_tpl").html());
|
||||
|
||||
makeDialog(html);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('li.list a.list_link', $container).bind('click', function (event) {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
$this.closest('.lists').find('.list.selected').removeClass('selected');
|
||||
$this.parent('li.list').addClass('selected');
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: $this.attr('href'),
|
||||
dataType: 'html',
|
||||
success: function (data) {
|
||||
$('.editor', $container).removeClass('loading').append(data);
|
||||
initRight();
|
||||
},
|
||||
beforeSend: function () {
|
||||
$('.editor', $container).empty().addClass('loading');
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
};
|
||||
|
||||
var initRight = function () {
|
||||
|
||||
var $container = $('#ListManager .editor');
|
||||
|
||||
$('form[name="list-editor-search"]', $container).bind('submit', function () {
|
||||
|
||||
var $this = $(this);
|
||||
var dest = $('.list-editor-results', $container);
|
||||
|
||||
$.ajax({
|
||||
url: $this.attr('action'),
|
||||
type: $this.attr('method'),
|
||||
dataType: "html",
|
||||
data: $this.serializeArray(),
|
||||
beforeSend: function () {
|
||||
dest.empty().addClass('loading');
|
||||
},
|
||||
success: function (datas) {
|
||||
|
||||
dest.empty().removeClass('loading').append(datas);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
$('form[name="list-editor-search"] select, form[name="list-editor-search"] input[name="ListUser"]', $container).bind('change', function () {
|
||||
$(this).closest('form').trigger('submit');
|
||||
});
|
||||
|
||||
$('.EditToggle', $container).bind('click', function () {
|
||||
$('.content.readonly, .content.readwrite', $('#ListManager')).toggle();
|
||||
return false;
|
||||
});
|
||||
$('.Refresher', $container).bind('click', function () {
|
||||
$('#ListManager ul.lists .list.selected a').trigger('click');
|
||||
return false;
|
||||
});
|
||||
|
||||
$('form[name="SaveName"]', $container).bind('submit', function () {
|
||||
var $this = $(this);
|
||||
|
||||
$.ajax({
|
||||
type: $this.attr('method'),
|
||||
url: $this.attr('action'),
|
||||
dataType: 'json',
|
||||
data: $this.serializeArray(),
|
||||
beforeSend: function () {
|
||||
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.success) {
|
||||
humane.info(data.message);
|
||||
$('#ListManager .lists .list_refresh').trigger('click');
|
||||
}
|
||||
else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
return;
|
||||
},
|
||||
error: function () {
|
||||
|
||||
return;
|
||||
},
|
||||
timeout: function () {
|
||||
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
$('button.deleter', $container).bind('click', function (event) {
|
||||
|
||||
var list_id = $(this).data("list-id");
|
||||
|
||||
var makeDialog = function (box) {
|
||||
|
||||
var buttons = {};
|
||||
|
||||
buttons[language.valider] = function () {
|
||||
|
||||
var callbackOK = function () {
|
||||
$('#ListManager .all-lists a.list_refresh').trigger('click');
|
||||
dialogModule.dialog.get(2).close();
|
||||
};
|
||||
|
||||
var List = new document.List(list_id);
|
||||
List.remove(callbackOK);
|
||||
};
|
||||
|
||||
var options = {
|
||||
cancelButton: true,
|
||||
buttons: buttons,
|
||||
size: 'Alert'
|
||||
};
|
||||
|
||||
dialogModule.dialog.create(options, 2).setContent(box);
|
||||
};
|
||||
|
||||
var html = _.template($("#list_editor_dialog_delete_tpl").html());
|
||||
|
||||
makeDialog(html);
|
||||
|
||||
return false;
|
||||
});
|
||||
};
|
||||
|
||||
initLeft();
|
||||
|
||||
$('.badges a.deleter', this.container).on('click', function () {
|
||||
var badge = $(this).closest('.badge');
|
||||
|
||||
var usr_id = badge.find('input[name="id"]').val();
|
||||
|
||||
|
||||
var callback = function (list, datas) {
|
||||
$('.counter.current, .list.selected .counter', $('#ListManager')).each(function () {
|
||||
$(this).text(parseInt($(this).text()) - 1);
|
||||
});
|
||||
|
||||
badge.remove();
|
||||
};
|
||||
|
||||
p4.ListManager.getList().removeUser(usr_id, callback);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
ListManager.prototype = {
|
||||
workOn: function (list_id) {
|
||||
this.list = new document.List(list_id);
|
||||
},
|
||||
getList: function () {
|
||||
return this.list;
|
||||
},
|
||||
appendBadge: function (datas) {
|
||||
$('#ListManager .badges').append(datas);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
function reloadBridge(url) {
|
||||
var options = $('#dialog_publicator form[name="current_datas"]').serializeArray();
|
||||
var dialog = dialogModule.dialog.get(1);
|
||||
dialog.load(url, 'POST', options);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// instance wil be stored in p4.Feedback
|
||||
return {
|
||||
Feedback: Feedback,
|
||||
ListManager: ListManager,
|
||||
reloadBridge: reloadBridge
|
||||
}
|
||||
|
||||
}(window, p4));
|
@@ -1,253 +0,0 @@
|
||||
var p4 = p4 || {};
|
||||
|
||||
(function (window, p4, $) {
|
||||
|
||||
var Lists = function () {
|
||||
|
||||
};
|
||||
|
||||
var List = function (id) {
|
||||
|
||||
if (parseInt(id) <= 0) {
|
||||
throw 'Invalid list id';
|
||||
}
|
||||
|
||||
this.id = id;
|
||||
};
|
||||
|
||||
Lists.prototype = {
|
||||
create: function (name, callback) {
|
||||
|
||||
var $this = this;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/prod/lists/list/',
|
||||
dataType: 'json',
|
||||
data: {name: name},
|
||||
success: function (data) {
|
||||
if (data.success) {
|
||||
humane.info(data.message);
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
var list = new List(data.list_id);
|
||||
callback(list);
|
||||
}
|
||||
}
|
||||
else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
get: function (callback, type) {
|
||||
|
||||
var $this = this;
|
||||
type = typeof type === 'undefined' ? 'json' : type;
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: '/prod/lists/all/',
|
||||
dataType: type,
|
||||
data: {},
|
||||
success: function (data) {
|
||||
if (type == 'json') {
|
||||
if (data.success) {
|
||||
humane.info(data.message);
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
callback(data.result);
|
||||
}
|
||||
}
|
||||
else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (typeof callback === 'function') {
|
||||
callback(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
List.prototype = {
|
||||
addUsers: function (arrayUsers, callback) {
|
||||
|
||||
if (!arrayUsers instanceof Array) {
|
||||
throw 'addUsers takes array as argument';
|
||||
}
|
||||
|
||||
var $this = this;
|
||||
var data = {usr_ids: $(arrayUsers).toArray()};
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/prod/lists/list/' + $this.id + '/add/',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (data) {
|
||||
if (data.success) {
|
||||
humane.info(data.message);
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
callback($this, data);
|
||||
}
|
||||
}
|
||||
else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
addUser: function (usr_id, callback) {
|
||||
this.addUsers([usr_id], callback);
|
||||
},
|
||||
remove: function (callback) {
|
||||
|
||||
var $this = this;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/prod/lists/list/' + this.id + '/delete/',
|
||||
dataType: 'json',
|
||||
data: {},
|
||||
success: function (data) {
|
||||
if (data.success) {
|
||||
humane.info(data.message);
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
callback($this);
|
||||
}
|
||||
}
|
||||
else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
update: function (name, callback) {
|
||||
|
||||
var $this = this;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/prod/lists/list/' + this.id + '/update/',
|
||||
dataType: 'json',
|
||||
data: { name: name },
|
||||
success: function (data) {
|
||||
if (data.success) {
|
||||
humane.info(data.message);
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
callback($this);
|
||||
}
|
||||
}
|
||||
else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
removeUser: function (usr_id, callback) {
|
||||
|
||||
var $this = this;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/prod/lists/list/' + this.id + '/remove/' + usr_id + '/',
|
||||
dataType: 'json',
|
||||
data: {},
|
||||
success: function (data) {
|
||||
if (data.success) {
|
||||
humane.info(data.message);
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
callback($this, data);
|
||||
}
|
||||
}
|
||||
else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
shareWith: function (usr_id, role, callback) {
|
||||
|
||||
var $this = this;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/prod/lists/list/' + this.id + '/share/' + usr_id + '/',
|
||||
dataType: 'json',
|
||||
data: {role: role},
|
||||
success: function (data) {
|
||||
if (data.success) {
|
||||
humane.info(data.message);
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
callback($this);
|
||||
}
|
||||
}
|
||||
else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
unshareWith: function (callback) {
|
||||
|
||||
var $this = this;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/prod/lists/list/' + this.id + '/unshare/' + usr_id + '/',
|
||||
dataType: 'json',
|
||||
data: {},
|
||||
success: function (data) {
|
||||
if (data.success) {
|
||||
humane.info(data.message);
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
callback($this);
|
||||
}
|
||||
}
|
||||
else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
get: function (callback) {
|
||||
|
||||
var $this = this;
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: '/prod/lists/list/' + this.id + '/',
|
||||
dataType: 'json',
|
||||
data: {},
|
||||
success: function (data) {
|
||||
if (data.success) {
|
||||
humane.info(data.message);
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
callback($this, data);
|
||||
}
|
||||
}
|
||||
else {
|
||||
humane.error(data.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
p4.Lists = new Lists();
|
||||
document.List = List;
|
||||
|
||||
})(document, p4, jQuery);
|
@@ -23,72 +23,6 @@ var prodModule = (function (p4, humane) {
|
||||
};
|
||||
p4.active_zone = false;
|
||||
|
||||
/*function _resizeAll() {
|
||||
var body = $('body');
|
||||
bodySize.y = body.height();
|
||||
bodySize.x = body.width();
|
||||
|
||||
var headBlockH = $('#headBlock').outerHeight();
|
||||
var bodyY = bodySize.y - headBlockH - 2;
|
||||
var bodyW = bodySize.x - 2;
|
||||
//$('#desktop').height(bodyY).width(bodyW);
|
||||
|
||||
if (p4.preview.open)
|
||||
recordPreviewModule.resizePreview();
|
||||
|
||||
if ($('#idFrameC').data('ui-resizable')) {
|
||||
$('#idFrameC').resizable('option', 'maxWidth', (480));
|
||||
$('#idFrameC').resizable('option', 'minWidth', 300);
|
||||
}
|
||||
|
||||
answerSizer();
|
||||
linearizeUi();
|
||||
|
||||
|
||||
}
|
||||
function answerSizer() {
|
||||
var el = $('#idFrameC').outerWidth();
|
||||
if (!$.support.cssFloat) {
|
||||
// $('#idFrameC .insidebloc').width(el - 56);
|
||||
}
|
||||
var widthA = Math.round(bodySize.x - el - 10);
|
||||
$('#rightFrame').width(widthA);
|
||||
$('#rightFrame').css('left', $('#idFrameC').width());
|
||||
|
||||
}
|
||||
function linearizeUi() {
|
||||
var list = $('#answers .list');
|
||||
if (list.length > 0) {
|
||||
var fllWidth = $('#answers').innerWidth();
|
||||
fllWidth -= 16;
|
||||
|
||||
var stdWidth = 460;
|
||||
var diff = 28;
|
||||
var n = Math.round(fllWidth / (stdWidth));
|
||||
var w = Math.floor(fllWidth / n) - diff;
|
||||
if (w < 360 && n > 1)
|
||||
w = Math.floor(fllWidth / (n - 1)) - diff;
|
||||
$('#answers .list').width(w);
|
||||
}
|
||||
else {
|
||||
|
||||
var minMargin = 5;
|
||||
var margin = 0;
|
||||
var el = $('#answers .diapo:first');
|
||||
var diapoWidth = el.outerWidth() + (minMargin * 2);
|
||||
var fllWidth = $('#answers').innerWidth();
|
||||
fllWidth -= 26;
|
||||
|
||||
var n = Math.floor(fllWidth / (diapoWidth));
|
||||
|
||||
margin = Math.floor((fllWidth % diapoWidth) / (2 * n));
|
||||
margin = margin + minMargin;
|
||||
|
||||
$('#answers .diapo').css('margin', '5px ' + (margin) + 'px');
|
||||
}
|
||||
|
||||
}*/
|
||||
|
||||
function doSpecialSearch(qry, allbase) {
|
||||
if (allbase) {
|
||||
prodApp.appEvents.emit('search.doToggleDatabase', true);
|
||||
@@ -108,7 +42,7 @@ var prodModule = (function (p4, humane) {
|
||||
p4.WorkZone.removeElementFromBasket(el, confirm);
|
||||
}
|
||||
|
||||
function openRecordEditor(type, value) {
|
||||
/*function openRecordEditor(type, value) {
|
||||
|
||||
$('#idFrameE').empty().addClass('loading');
|
||||
commonModule.showOverlay(2);
|
||||
@@ -154,171 +88,9 @@ var prodModule = (function (p4, humane) {
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
function openShareModal(bas, rec) {
|
||||
var dialog = dialogModule.dialog.create({
|
||||
title: language['share']
|
||||
});
|
||||
|
||||
dialog.load("../prod/share/record/" + bas + "/" + rec + "/", "GET");
|
||||
}
|
||||
function openPrintModal(value) {
|
||||
_onOpenPrintModal("lst=" + value);
|
||||
}
|
||||
|
||||
function _onOpenPrintModal(value) {
|
||||
if ($("#DIALOG").data("ui-dialog")) {
|
||||
$("#DIALOG").dialog('destroy');
|
||||
}
|
||||
$('#DIALOG').attr('title', language.print)
|
||||
.empty().addClass('loading')
|
||||
.dialog({
|
||||
resizable: false,
|
||||
closeOnEscape: true,
|
||||
modal: true,
|
||||
width: '800',
|
||||
height: '500',
|
||||
open: function (event, ui) {
|
||||
$(this).dialog("widget").css("z-index", "1999");
|
||||
},
|
||||
close: function (event, ui) {
|
||||
$(this).dialog("widget").css("z-index", "auto");
|
||||
}
|
||||
})
|
||||
.dialog('open');
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: '../prod/printer/?' + value,
|
||||
dataType: 'html',
|
||||
beforeSend: function () {
|
||||
|
||||
},
|
||||
success: function (data) {
|
||||
$('#DIALOG').removeClass('loading').empty()
|
||||
.append(data);
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function openToolModal(datas, activeTab) {
|
||||
|
||||
var dialog = dialogModule.dialog.create({
|
||||
size: 'Medium',
|
||||
title: language.toolbox,
|
||||
loading: true
|
||||
});
|
||||
|
||||
$.get("../prod/tools/"
|
||||
, datas
|
||||
, function (data) {
|
||||
dialog.setContent(data);
|
||||
dialog.setOption('contextArgs', datas);
|
||||
var tabs = $('.tabs', dialog.getDomElement()).tabs();
|
||||
|
||||
// activate tab if exists:
|
||||
if( activeTab !== undefined ) {
|
||||
tabs.tabs('option', 'active', activeTab);
|
||||
}
|
||||
return;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function openDownloadModal(value, key) {
|
||||
if( key !== undefined ) {
|
||||
value = key+'='+value
|
||||
}
|
||||
_onOpenDownloadModal(value);
|
||||
}
|
||||
// @TODO duplicate with external module
|
||||
function _onOpenDownloadModal(datas) {
|
||||
var dialog = dialogModule.dialog.create({title: language['export']});
|
||||
|
||||
$.post("../prod/export/multi-export/", datas, function (data) {
|
||||
|
||||
dialog.setContent(data);
|
||||
|
||||
$('.tabs', dialog.getDomElement()).tabs();
|
||||
|
||||
$('.close_button', dialog.getDomElement()).bind('click', function () {
|
||||
dialog.close();
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
function deleteConfirmation(type, el) {
|
||||
el = $(el);
|
||||
switch (type) {
|
||||
|
||||
|
||||
case "IMGT":
|
||||
case "CHIM":
|
||||
|
||||
var lst = '';
|
||||
|
||||
if (type === 'IMGT')
|
||||
lst = p4.Results.Selection.serialize();
|
||||
if (type === 'CHIM')
|
||||
lst = p4.WorkZone.Selection.serialize();
|
||||
|
||||
_deleteRecords(lst);
|
||||
|
||||
return;
|
||||
break;
|
||||
|
||||
|
||||
case "SSTT":
|
||||
|
||||
var buttons = {};
|
||||
buttons[language.valider] = function (e) {
|
||||
prodApp.appEvents.emit('baskets.doDeleteBasket', el);
|
||||
};
|
||||
|
||||
$('#DIALOG').empty().append(language.confirmDel).attr('title', language.attention).dialog({
|
||||
autoOpen: false,
|
||||
resizable: false,
|
||||
modal: true,
|
||||
draggable: false
|
||||
}).dialog('open').dialog('option', 'buttons', buttons);
|
||||
$('#tooltip').hide();
|
||||
return;
|
||||
break;
|
||||
case "STORY":
|
||||
lst = el.val();
|
||||
_deleteRecords(lst);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
function _deleteRecords(lst) {
|
||||
if (lst.split(';').length === 0) {
|
||||
alert(language.nodocselected);
|
||||
return false;
|
||||
}
|
||||
|
||||
var $dialog = dialogModule.dialog.create({
|
||||
size: 'Small',
|
||||
title: language.deleteRecords
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "../prod/records/delete/what/",
|
||||
dataType: 'html',
|
||||
data: {lst: lst},
|
||||
success: function (data) {
|
||||
$dialog.setContent(data);
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function toggleTopic(id) {
|
||||
var o = $('#TOPIC_UL' + id);
|
||||
@@ -328,119 +100,7 @@ var prodModule = (function (p4, humane) {
|
||||
$('#TOPIC_TRI' + id + ' ,#TOPIC_UL' + id).removeClass('opened').addClass('closed');
|
||||
}
|
||||
|
||||
|
||||
|
||||
function _triggerShortcuts() {
|
||||
|
||||
$('#keyboard-stop').bind('click', function () {
|
||||
var display = $(this).get(0).checked ? '0' : '1';
|
||||
|
||||
userModule.setPref('keyboard_infos', display);
|
||||
|
||||
});
|
||||
|
||||
var buttons = {};
|
||||
|
||||
buttons[language.fermer] = function () {
|
||||
$("#keyboard-dialog").dialog('close');
|
||||
};
|
||||
|
||||
$('#keyboard-dialog').dialog({
|
||||
closeOnEscape: false,
|
||||
resizable: false,
|
||||
draggable: false,
|
||||
modal: true,
|
||||
width: 600,
|
||||
height: 400,
|
||||
overlay: {
|
||||
backgroundColor: '#000',
|
||||
opacity: 0.7
|
||||
},
|
||||
open: function (event, ui) {
|
||||
$(this).dialog("widget").css("z-index", "1400");
|
||||
},
|
||||
close: function () {
|
||||
$(this).dialog("widget").css("z-index", "auto");
|
||||
if ($('#keyboard-stop').get(0).checked) {
|
||||
var dialog = $('#keyboard-dialog');
|
||||
if (dialog.data("ui-dialog")) {
|
||||
dialog.dialog('destroy');
|
||||
}
|
||||
dialog.remove();
|
||||
}
|
||||
}
|
||||
}).dialog('option', 'buttons', buttons).dialog('open');
|
||||
|
||||
$('#keyboard-dialog').scrollTop(0);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function _answerSelector(el) {
|
||||
if (el.hasClass('all_selector')) {
|
||||
p4.Results.Selection.selectAll();
|
||||
}
|
||||
else {
|
||||
if (el.hasClass('none_selector')) {
|
||||
p4.Results.Selection.empty();
|
||||
}
|
||||
else {
|
||||
if (el.hasClass('starred_selector')) {
|
||||
|
||||
}
|
||||
else {
|
||||
if (el.hasClass('video_selector')) {
|
||||
p4.Results.Selection.empty();
|
||||
p4.Results.Selection.select('.type-video');
|
||||
}
|
||||
else {
|
||||
if (el.hasClass('image_selector')) {
|
||||
p4.Results.Selection.empty();
|
||||
p4.Results.Selection.select('.type-image');
|
||||
}
|
||||
else {
|
||||
if (el.hasClass('document_selector')) {
|
||||
p4.Results.Selection.empty();
|
||||
p4.Results.Selection.select('.type-document');
|
||||
}
|
||||
else {
|
||||
if (el.hasClass('audio_selector')) {
|
||||
p4.Results.Selection.empty();
|
||||
p4.Results.Selection.select('.type-audio');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*function _saveWindows() {
|
||||
var key = '';
|
||||
var value = '';
|
||||
|
||||
|
||||
if ($('#idFrameE').is(':visible') && $('#EDITWINDOW').is(':visible')) {
|
||||
key = 'edit_window';
|
||||
value = $('#idFrameE').outerWidth() / $('#EDITWINDOW').innerWidth();
|
||||
}
|
||||
else {
|
||||
key = 'search_window';
|
||||
value = $('#idFrameC').outerWidth() / bodySize.x;
|
||||
}
|
||||
userModule.setPref(key, value);
|
||||
}
|
||||
*/
|
||||
return {
|
||||
openRecordEditor: openRecordEditor,
|
||||
openPrintModal: openPrintModal,
|
||||
openShareModal: openShareModal,
|
||||
openToolModal: openToolModal,
|
||||
openDownloadModal: openDownloadModal,
|
||||
deleteConfirmation: deleteConfirmation,
|
||||
doSpecialSearch: doSpecialSearch,
|
||||
addToBasket: addToBasket,
|
||||
removeFromBasket: removeFromBasket,
|
||||
|
@@ -44,14 +44,14 @@
|
||||
<td>
|
||||
<div class="context-menu context-menu-theme-vista">
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="prodModule.openDownloadModal('ssel={{basket.getId()}}');">{{ 'action::exporter' | trans }}
|
||||
<div class="context-menu-item-inner export-record-action"
|
||||
data-kind="basket" data-id="{{basket.getId()}}">{{ 'action::exporter' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('modifyrecord') %}
|
||||
<div title="" class="context-menu-item menu3-custom-item">
|
||||
<div onclick="prodModule.openRecordEditor('SSTT','{{basket.getId()}}');" style=""
|
||||
class="context-menu-item-inner">{{ 'edit' | trans }}
|
||||
<div data-kind="basket" data-id="{{basket.getId()}}"
|
||||
class="context-menu-item-inner edit-record-action">{{ 'edit' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -138,8 +138,8 @@
|
||||
<td>
|
||||
<div class="context-menu context-menu-theme-vista">
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="prodModule.openDownloadModal('ssel={{basket.getId()}}');">{{ 'action::exporter' | trans }}
|
||||
<div class="context-menu-item-inner export-record-action"
|
||||
data-kind="basket" data-id="{{basket.getId()}}">{{ 'action::exporter' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
<div title="" class="context-menu-item">
|
||||
@@ -166,14 +166,12 @@
|
||||
{% endif %}
|
||||
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="prodApp.appEvents.emit('baskets.doArchiveBasket', {{ basket.getId() }});return false;">
|
||||
<div class="context-menu-item-inner archive-basket-action" data-basket-id="{{ basket.getId() }}" >
|
||||
{{ 'Archive' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner" id="SSTTREMOVER_{{basket.getId()}}"
|
||||
onclick="prodModule.deleteConfirmation('SSTT',this);return false;">
|
||||
<div class="context-menu-item-inner delete-basket-action" id="SSTTREMOVER_{{basket.getId()}}" data-context="SSTT">
|
||||
{{ 'action : supprimer' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -226,14 +224,15 @@
|
||||
<td>
|
||||
<div class="context-menu context-menu-theme-vista">
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="prodModule.openDownloadModal('lst={{story.getRecord(app).get_serialize_key()}}');">{{ 'action::exporter' | trans }}
|
||||
<div class="context-menu-item-inner export-record-action"
|
||||
data-kind="record" data-id="{{story.getRecord(app).get_serialize_key()}}">{{ 'action::exporter' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right('modifyrecord') %}
|
||||
<div title="" class="context-menu-item menu3-custom-item">
|
||||
<div onclick="prodModule.openRecordEditor('IMGT','{{story.getRecord(app).get_serialize_key()}}');" style=""
|
||||
class="context-menu-item-inner">{{ 'action::editer' | trans }}
|
||||
<div class="context-menu-item-inner edit-record-action"
|
||||
data-kind="record" data-id="{{story.getRecord(app).get_serialize_key()}}"
|
||||
>{{ 'action::editer' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -277,8 +276,11 @@
|
||||
|
||||
{% import 'common/thumbnail.html.twig' as thumbnail %}
|
||||
|
||||
<div ondblclick="{% if wz_scope == 'groupings' %}recordPreviewModule.openPreview('REG',{{ ord }},'{{container.get_sbas_id()}}_{{container.get_record_id()}}');{% else %}recordPreviewModule.openPreview('BASK',{{ ord }},{{container.getId()}});{% endif %}"
|
||||
class="CHIM diapo CHIM_{{record.get_serialize_key()}}" style="height:{{box_height}}px;"
|
||||
<div class="CHIM diapo CHIM_{{record.get_serialize_key()}} open-preview-action"
|
||||
data-kind="{% if wz_scope == 'groupings' %}REG{% else %}BASK{% endif %}"
|
||||
data-position="{{ ord }}"
|
||||
data-id="{% if wz_scope == 'groupings' %}{{container.get_sbas_id()}}_{{container.get_record_id()}}{% else %}{{container.getId()}}{% endif %}"
|
||||
style="height:{{box_height}}px;"
|
||||
id="CHIM_{% if wz_scope == 'groupings' %}{{record.get_serialize_key()}}{% else %}{{ contained.getId() }}{% endif %}">
|
||||
<input type="hidden" name="id" value="{{ record.get_serialize_key() }}"/>
|
||||
{% if app['settings'].getUserSetting(app.getAuthenticatedUser(), 'basket_title_display') == '1' %}
|
||||
|
@@ -3,7 +3,8 @@
|
||||
{% if error_message is empty %}
|
||||
|
||||
<script type="text/javascript">
|
||||
window.opener.pushModule.reloadBridge("{{ path("prod_bridge_manager") }}");
|
||||
window.opener.prodApp.appEvents.emit('push.reload',{{ path("prod_bridge_manager") }});
|
||||
// pushModule.reloadBridge("{{ path("prod_bridge_manager") }}");
|
||||
window.close();
|
||||
</script>
|
||||
|
||||
|
@@ -84,332 +84,6 @@
|
||||
{# SCRIPT - HORIZONTAL TABS #}
|
||||
<script type ="text/javascript">
|
||||
$(function() {
|
||||
var pub_tabs = $("#pub_tabs");
|
||||
var container = $('#dialog_publicator');
|
||||
var managerUrl = container.data("url");
|
||||
|
||||
function popme(url) {
|
||||
var newwindow=window.open(url,'logger','height=500,width=800');
|
||||
if (window.focus)
|
||||
{
|
||||
newwindow.focus();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function panel_load($panel)
|
||||
{
|
||||
$(".new_bridge_button", $panel).bind("click", function(){
|
||||
var url = $(this).parent('form').find('input[name="url"]').val();
|
||||
popme(url);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.error_box, .notice_box', $panel).delay(10000).fadeOut();
|
||||
|
||||
$('.back_link', $panel).bind('click', function(){
|
||||
if ($('#pub_tabs').data("ui-tabs")) {
|
||||
$('#pub_tabs').tabs('load',$('#pub_tabs').tabs('option', 'active'));
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.bridge_action', $panel).bind('click', function(){
|
||||
var $this = $(this);
|
||||
|
||||
$.ajax({
|
||||
type : 'GET',
|
||||
url : $(this).attr('href'),
|
||||
beforeSend : function(){
|
||||
var container = $('.container-bridge', $panel);
|
||||
container.empty();
|
||||
if( ! $this.hasClass('bridge_logout')) {
|
||||
container.addClass('loading');
|
||||
}
|
||||
},
|
||||
success : function(datas){
|
||||
$('.container-bridge', $panel).removeClass('loading').append(datas);
|
||||
panel_load($panel);
|
||||
},
|
||||
error:function(){
|
||||
$panel.removeClass("loading");
|
||||
},
|
||||
timeout:function(){
|
||||
$panel.removeClass("loading");
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$(".delete-account" , $panel).bind("click", function(){
|
||||
account_id = $(this).val();
|
||||
var buttons = {};
|
||||
|
||||
buttons[language.valider] = function() {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
url: "/prod/bridge/adapter/" + account_id + "/delete/",
|
||||
data: {},
|
||||
success: function(datas){
|
||||
if(datas.success) {
|
||||
confirmBox.close();
|
||||
pushModule.reloadBridge(managerUrl);
|
||||
} else {
|
||||
confirmBox.close();
|
||||
var alertBox = dialogModule.dialog.create({
|
||||
size : 'Alert',
|
||||
closeOnEscape : true,
|
||||
closeButton:true
|
||||
}, 2);
|
||||
|
||||
alertBox.setContent(datas.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var confirmBox = dialogModule.dialog.create({
|
||||
size : 'Alert',
|
||||
closeOnEscape : true,
|
||||
closeButton:true,
|
||||
cancelButton: true,
|
||||
buttons: buttons
|
||||
}, 2);
|
||||
|
||||
confirmBox.setContent("{{'You are about to delete this account. Would you like to continue ?'|trans|e('js') }}");
|
||||
});
|
||||
|
||||
$('.form_submitter', $panel).bind('click', function(){
|
||||
var $form = $(this).closest('form');
|
||||
var method = $form.attr('method');
|
||||
|
||||
method = $.inArray(method.toLowerCase(), ['post', 'get']) ? method : 'POST';
|
||||
|
||||
$.ajax({
|
||||
type : method,
|
||||
url : $form.attr('action'),
|
||||
data : $form.serializeArray(),
|
||||
beforeSend : function(){
|
||||
$panel.empty().addClass('loading');
|
||||
},
|
||||
success : function(datas){
|
||||
$panel.removeClass('loading').append(datas);
|
||||
panel_load($panel);
|
||||
},
|
||||
error:function(){
|
||||
$panel.removeClass("loading");
|
||||
},
|
||||
timeout:function(){
|
||||
$panel.removeClass("loading");
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
$(".bridge_all_selector", $panel).bind("click", function() {
|
||||
var checkboxes = $('.bridge_element_selector', $panel);
|
||||
var $this = $(this);
|
||||
|
||||
checkboxes.each(function(i, checkbox){
|
||||
if($(checkbox).is(':checked') !== $this.is(':checked'))
|
||||
{
|
||||
var event = jQuery.Event("click");
|
||||
event.selector_all = true;
|
||||
$(checkbox).trigger(event);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('.bridge_element_selector', $panel)
|
||||
.bind('click', function(event){
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if(event.selector_all)
|
||||
{
|
||||
$this.prop('checked', $(".bridge_all_selector", $panel).is(':checked'));
|
||||
}
|
||||
|
||||
$('form[name="bridge_selection"] input[name="elements_list"]', $panel).val(
|
||||
$.makeArray($('.bridge_element_selector:checked', $panel).map(function(i, el){
|
||||
return ($(el).val());
|
||||
})).join(';')
|
||||
);
|
||||
|
||||
if($this.is(':checked'))
|
||||
$this.closest('.element').addClass('selected');
|
||||
else
|
||||
$this.closest('.element').removeClass('selected');
|
||||
|
||||
if(!event.selector_all)
|
||||
{
|
||||
var bool = !($(".bridge_element_selector:checked", $panel).length !== $(".bridge_element_selector", $panel).length);
|
||||
$(".bridge_all_selector", $panel).prop('checked', bool);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(event.stopPropagation)
|
||||
event.stopPropagation();
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$('a.form_multiple_submitter', $panel).bind('click', function(){
|
||||
|
||||
var $form = $(this).closest('form');
|
||||
var elements = $('form[name="bridge_selection"] input[name="elements_list"]', $panel).val();
|
||||
|
||||
if($.trim(elements) === '')
|
||||
var n_elements = 0;
|
||||
else
|
||||
var n_elements = elements.split(';').length;
|
||||
|
||||
if(n_elements === 0 && $form.hasClass('action_works_standalone') === false)
|
||||
{
|
||||
alert('No records selected');
|
||||
|
||||
return false;
|
||||
}
|
||||
if(n_elements === 1 && $form.hasClass('action_works_single_element') === false)
|
||||
{
|
||||
alert('This action works only with a single records');
|
||||
|
||||
return false;
|
||||
}
|
||||
if(n_elements > 1 && $form.hasClass('action_works_many_element') === false)
|
||||
{
|
||||
alert('This action works only with many records');
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
$('input[name="elements_list"]', $form).val(elements);
|
||||
|
||||
$.ajax({
|
||||
type : 'GET',
|
||||
url : $form.attr('action'),
|
||||
data : $form.serializeArray(),
|
||||
beforeSend : function(){
|
||||
$panel.empty().addClass('loading');
|
||||
},
|
||||
success : function(datas){
|
||||
$panel.removeClass('loading').append(datas);
|
||||
panel_load($panel);
|
||||
},
|
||||
error:function(){
|
||||
$panel.removeClass("loading");
|
||||
},
|
||||
timeout:function(){
|
||||
$panel.removeClass("loading");
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
pub_tabs.tabs({
|
||||
beforeLoad: function( event, ui ) {
|
||||
ui.tab.html_tab = ui.tab.find('span').html();
|
||||
ui.tab.find('span').html("<i>{{ 'Loading'|trans }}...</i>");
|
||||
},
|
||||
load: function(event, ui)
|
||||
{
|
||||
ui.tab.find('span').empty().append(ui.tab.html_tab);
|
||||
$panel = $(ui.panel);
|
||||
$('.container-bridge', $panel).removeClass('loading');
|
||||
$panel.addClass("PNB");
|
||||
$panel.wrapInner("<div class='PNB10 container-bridge' />");
|
||||
panel_load($panel);
|
||||
}
|
||||
,beforeActivate: function(event, ui)
|
||||
{
|
||||
if($(ui.tab).hasClass('account'))
|
||||
{
|
||||
var container = $('.container-bridge', ui.panel);
|
||||
container.empty();
|
||||
$('.container', ui.panel).addClass('loading');
|
||||
}
|
||||
}
|
||||
}).addClass('ui-tabs-vertical ui-helper-clearfix');
|
||||
$('.ui-tabs-nav', pub_tabs).removeClass('ui-corner-all');
|
||||
|
||||
|
||||
$(".new_bridge_button", pub_tabs).bind("click", function(){
|
||||
var url = $(this).parent('form').find('input[name="url"]').val();
|
||||
popme(url);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$("ul li a.account", pub_tabs).bind("click", function(){
|
||||
$('#dialog_publicator form[name="current_datas"] input[name="account_id"]').val($('input[name="account_id"]', this).val());
|
||||
});
|
||||
|
||||
$("ul li.ui-tabs-selected a.account", pub_tabs).trigger("click");
|
||||
|
||||
$('#publicator_selection .PNB10:first').selectable();
|
||||
|
||||
$('#publicator_selection button.act_upload').bind('click', function(){
|
||||
|
||||
var $this = $(this);
|
||||
var $form = $this.closest('form');
|
||||
|
||||
$('input[name=lst]', $form).val(
|
||||
$.makeArray(
|
||||
$('#publicator_selection .diapo.ui-selected').map(function(i, el){
|
||||
return $(el).attr('id').split('_').slice(2,4).join('_');
|
||||
})
|
||||
).join(';')
|
||||
);
|
||||
|
||||
var account_id = $('form[name="current_datas"] input[name="account_id"]').val();
|
||||
$('input[name="account_id"]', $form).val(account_id);
|
||||
|
||||
var $panel = $('#pub_tabs .ui-tabs-panel:visible');
|
||||
|
||||
$.ajax({
|
||||
type : 'GET',
|
||||
url : '/prod/bridge/upload/',
|
||||
data : $form.serializeArray(),
|
||||
beforeSend : function(){
|
||||
$panel.empty().addClass('loading');
|
||||
},
|
||||
success : function(datas){
|
||||
$panel.removeClass('loading').append(datas);
|
||||
panel_load($panel);
|
||||
},
|
||||
error:function(){
|
||||
$panel.removeClass("loading");
|
||||
},
|
||||
timeout:function(){
|
||||
$panel.removeClass("loading");
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
|
||||
$("li", pub_tabs).removeClass('ui-corner-top').addClass('ui-corner-left');
|
||||
|
||||
$("#api_connexion").click(function(){
|
||||
if (container.data("ui-dialog")) {
|
||||
container.dialog("close");
|
||||
}
|
||||
});
|
||||
|
||||
{% if route.get_count_element_received() == 0 %}
|
||||
alert('{{ "Vous n\'avez selectionne aucun element"|trans|e('js') }}');
|
||||
if (container.data("ui-dialog")) {
|
||||
|
@@ -39,7 +39,7 @@
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<label>{{ 'Role' | trans }}</label>
|
||||
<select name="role">
|
||||
<select name="role" data-list-id="{{ list.getId() }}" data-user-id="{{ owner.getUser().getId() }}">
|
||||
<option {% if owner.getRole() == constant('Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner::ROLE_USER') %}selected {% endif %} value="{{ constant('Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner::ROLE_USER') }}">
|
||||
{{ 'Access' | trans }}
|
||||
</option>
|
||||
@@ -54,7 +54,7 @@
|
||||
</td>
|
||||
<td style="width:15px">
|
||||
{% if app.getAuthenticatedUser().getId() == owner.getUser().getId() %}
|
||||
<a href="#" class="deleter">
|
||||
<a href="#" class="deleter listmanager-share-delete-user-action" data-list-id="{{ list.getId() }}" data-user-id="{{ owner.getUser().getId() }}">
|
||||
<img src="/assets/prod/images/Push/close_badge.png" title="{{ 'Remove' | trans }}"/>
|
||||
</a>
|
||||
{% endif %}
|
||||
@@ -70,137 +70,4 @@
|
||||
</div>
|
||||
|
||||
{% include "prod/templates/push.html.twig" %}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
var $container = $('#ListShare'),
|
||||
$completer_form = $('form[name="list_share_user"]', $container),
|
||||
$owners_form = $('form[name="owners"]', $container),
|
||||
$autocompleter = $('input[name="user"]', $completer_form),
|
||||
$dialog = dialogModule.dialog.get(2); //p4.Dialog.get(2);
|
||||
|
||||
$completer_form.bind('submit', function(){
|
||||
return false;
|
||||
});
|
||||
|
||||
$('select[name="role"]', $owners_form).bind('change', function(){
|
||||
var usr_id = $(this).closest('.owner').find('input[name="usr_id"]').val(),
|
||||
role = $(this).val();
|
||||
|
||||
shareWith(usr_id, role);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.deleter', $container).bind('click', function(){
|
||||
var owner = $(this).closest('.owner');
|
||||
var usr_id = owner.find('input[name="usr_id"]').val();
|
||||
|
||||
unShareWith(usr_id, function(data){
|
||||
owner.remove();
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
function shareWith(usr_id, role)
|
||||
{
|
||||
var role = typeof role === 'undefined' ? 1 : role;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/prod/lists/list/{{ list.getId() }}/share/' + usr_id + '/',
|
||||
dataType: 'json',
|
||||
data : {role : role},
|
||||
beforeSend:function(){
|
||||
},
|
||||
success: function(data){
|
||||
if(data.success)
|
||||
{
|
||||
humane.info(data.message);
|
||||
}
|
||||
else
|
||||
{
|
||||
humane.error(data.message);
|
||||
}
|
||||
$dialog.refresh();
|
||||
|
||||
return;
|
||||
},
|
||||
error: function(){
|
||||
return;
|
||||
},
|
||||
timeout: function(){
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function unShareWith(usr_id, callback)
|
||||
{
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/prod/lists/list/{{ list.getId() }}/unshare/' + usr_id + '/',
|
||||
dataType: 'json',
|
||||
data : {},
|
||||
beforeSend:function(){
|
||||
},
|
||||
success: function(data){
|
||||
if(data.success)
|
||||
{
|
||||
humane.info(data.message);
|
||||
callback(data);
|
||||
}
|
||||
else
|
||||
{
|
||||
humane.error(data.message);
|
||||
}
|
||||
$dialog.refresh();
|
||||
|
||||
return;
|
||||
},
|
||||
error: function(){
|
||||
return;
|
||||
},
|
||||
timeout: function(){
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$autocompleter.autocomplete({
|
||||
minLength: 2,
|
||||
source: function( request, response ) {
|
||||
$.ajax({
|
||||
url: '/prod/push/search-user/',
|
||||
dataType: "json",
|
||||
data: {
|
||||
query: request.term
|
||||
},
|
||||
success: function( data ) {
|
||||
response( data );
|
||||
}
|
||||
});
|
||||
},
|
||||
select: function( event, ui ) {
|
||||
if(ui.item.type === 'USER')
|
||||
{
|
||||
shareWith(ui.item.usr_id);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.data( "ui-autocomplete" )._renderItem = function( ul, item ) {
|
||||
if(item.type === 'USER') {
|
||||
html = _.template($("#list_user_tpl").html(), {
|
||||
item: item
|
||||
});
|
||||
|
||||
return $(html).data( "ui-autocomplete-item", item ).appendTo(ul);
|
||||
}
|
||||
};
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
|
@@ -97,79 +97,6 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
$(document).ready(function(){
|
||||
var $editor = $('#list-editor-search-results');
|
||||
|
||||
$('a.next, a.prev', $editor).bind('click', function(){
|
||||
var page = $(this).attr('value');
|
||||
|
||||
$('input[name="page"]', $form).val(page);
|
||||
$form.trigger('submit');
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
var $form = $('#ListManager .editor').find('form[name="list-editor-search"]');
|
||||
|
||||
$('input[name="page"]', $form).val('');
|
||||
|
||||
$('th.sortable', $editor).bind('click', function(){
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
var sort = $('input', $this).val();
|
||||
|
||||
if((sort == $('input[name="srt"]', $form).val())
|
||||
&& ($('input[name="ord"]', $form).val() == 'asc'))
|
||||
{
|
||||
var ord = 'desc';
|
||||
}
|
||||
else
|
||||
{
|
||||
var ord = 'asc';
|
||||
}
|
||||
|
||||
$('input[name="srt"]', $form).val(sort);
|
||||
$('input[name="ord"]', $form).val(ord);
|
||||
|
||||
$form.trigger('submit');
|
||||
})
|
||||
.bind('mouseover', function(){$(this).addClass('hover');})
|
||||
.bind('mouseout', function(){$(this).removeClass('hover');});
|
||||
|
||||
$('tbody tr', $editor).bind('click', function(){
|
||||
|
||||
var $this = $(this);
|
||||
var usr_id = $('input[name="usr_id"]', $this).val();
|
||||
|
||||
var counters = $('#ListManager .counter.current, #ListManager .lists .list.selected .counter');
|
||||
|
||||
if($this.hasClass('selected'))
|
||||
{
|
||||
$this.removeClass('selected');
|
||||
p4.ListManager.getList().removeUser(usr_id);
|
||||
|
||||
counters.each(function(i,el){
|
||||
var n = parseInt($(el).text());
|
||||
$(el).text(n - 1);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
$this.addClass('selected');
|
||||
p4.ListManager.getList().addUser(usr_id);
|
||||
|
||||
counters.each(function(i,el){
|
||||
var n = parseInt($(el).text());
|
||||
$(el).text(n + 1);
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endmacro %}
|
||||
|
||||
@@ -178,7 +105,7 @@
|
||||
<div class="badge">
|
||||
<input type="hidden" value="{{ entry.getUser().getId() }}" name="id">
|
||||
{% if role >= constant('Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner::ROLE_EDITOR') %}
|
||||
<a class="deleter" href="#">
|
||||
<a class="deleter listmanager-delete-list-user-action" href="#" data-list-id="" data-user-id="{{ entry.getUser().getId() }}">
|
||||
<img src="/assets/prod/images/Push/close_badge.png">
|
||||
</a>
|
||||
{% endif %}
|
||||
|
@@ -17,7 +17,10 @@
|
||||
</td>
|
||||
<td style="text-align:right;white-space:nowrap;">
|
||||
{% if list.getOwner(app.getAuthenticatedUser()).getRole() == constant('Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner::ROLE_ADMIN') %}
|
||||
<a href="{{ path('prod_lists_list_share', { 'list_id' : list.getId() }) }}" title="{{ 'Share the list' | trans }}" class="list_sharer">
|
||||
<a href="{{ path('prod_lists_list_share', { 'list_id' : list.getId() }) }}" title="{{ 'Share the list' | trans }}"
|
||||
class="list_sharer push-list-share-action"
|
||||
|
||||
data-list-id="{{ list.getId() }}">
|
||||
<img src="/assets/prod/images/Push/list-icon.png" />
|
||||
{{ "Set sharing permission" | trans }}
|
||||
</a>
|
||||
@@ -25,7 +28,7 @@
|
||||
</td>
|
||||
{% if list.getOwner(app.getAuthenticatedUser()).getRole() >= constant('Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner::ROLE_ADMIN') %}
|
||||
<td style="text-align:right;white-space:nowrap;width:150px;">
|
||||
<button class="deleter btn btn-inverse" data-list-id="{{ list.getId() }}">
|
||||
<button class="deleter btn btn-inverse listmanager-delete-list-action" data-list-id="{{ list.getId() }}">
|
||||
{{ 'Delete' | trans }}
|
||||
</button>
|
||||
</td>
|
||||
@@ -159,15 +162,3 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
p4.ListManager.workOn({{ list.getId() }});
|
||||
$("#ListManager .readonly .badge .deleter").click(function(){
|
||||
var badge = $(this).closest(".badge");
|
||||
var usr_id = badge.find('input[name="id"]').val();
|
||||
p4.ListManager.getList().removeUser(usr_id, function(list, data){
|
||||
badge.remove();
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
@@ -2,17 +2,17 @@
|
||||
<div class="PNB10 lists">
|
||||
<h1>{{ 'Lists' | trans }}</h1>
|
||||
<span class="action">
|
||||
<a href="{{ path('prod_lists_list') }}" class="list_adder link">
|
||||
<a href="{{ path('prod_lists_list') }}" class="list_adder link push-add-list-action">
|
||||
{{ "Add" | trans }}
|
||||
</a>
|
||||
<a href="{{ path('prod_lists_all') }}" class="list_refresh link">
|
||||
<a href="{{ path('prod_lists_all') }}" class="list_refresh link push-refresh-list-action">
|
||||
{{ "Refresh" | trans }}
|
||||
</a>
|
||||
</span>
|
||||
<ul class="lists">
|
||||
{% for list in lists %}
|
||||
<li class="list" style="padding:2px;">
|
||||
<a href="{{ path('prod_push_list_edit', { 'list_id' : list.getId() }) }}" class="list_link">
|
||||
<a href="#" class="list_link list-edit-action" data-list-id="{{ list.getId() }}">
|
||||
{% if list.getOwner(app.getAuthenticatedUser()).getRole() >= constant('Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner::ROLE_EDITOR') %}
|
||||
<img src="/assets/prod/images/Push/list-icon.png" />
|
||||
{% else %}
|
||||
|
@@ -264,10 +264,15 @@
|
||||
|
||||
{% include "prod/templates/push.html.twig" %}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
p4.Feedback = new pushModule.Feedback($('#PushBox'), '{{ context }}');
|
||||
p4.ListManager = new pushModule.ListManager($('#ListManager'));
|
||||
{#<script type="text/javascript">
|
||||
prodApp.appEvents.emit('push.doInitialize', {
|
||||
feedback: {
|
||||
containerId: '#PushBox',
|
||||
context: '{{ context }}'
|
||||
},
|
||||
listManager: {
|
||||
containerId: '#ListManager',
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</script>#}
|
||||
{% endif %}
|
||||
|
@@ -625,6 +625,30 @@ $(document).ready(function(){
|
||||
}
|
||||
|
||||
{% if selectionLength == 1%}
|
||||
function openToolModal(datas, activeTab) {
|
||||
|
||||
var dialog = dialogModule.dialog.create({
|
||||
size: 'Medium',
|
||||
title: language.toolbox,
|
||||
loading: true
|
||||
});
|
||||
|
||||
$.get("../prod/tools/"
|
||||
, datas
|
||||
, function (data) {
|
||||
dialog.setContent(data);
|
||||
dialog.setOption('contextArgs', datas);
|
||||
var tabs = $('.tabs', dialog.getDomElement()).tabs();
|
||||
|
||||
// activate tab if exists:
|
||||
if( activeTab !== undefined ) {
|
||||
tabs.tabs('option', 'active', activeTab);
|
||||
}
|
||||
return;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
$('#tools-sharing .stateChange_button').bind('click',function(event){
|
||||
var $btn = $(event.currentTarget),
|
||||
state = true;
|
||||
@@ -641,7 +665,7 @@ $(document).ready(function(){
|
||||
}).done(function(data) {
|
||||
// self reload tab with current active tab:
|
||||
var activeTab = tabs.tabs('option', 'active');
|
||||
prodModule.openToolModal($dialog.getOption('contextArgs'), activeTab);
|
||||
openToolModal($dialog.getOption('contextArgs'), activeTab);
|
||||
}).error(function(err) {
|
||||
alert('forbidden action')
|
||||
});
|
||||
|
@@ -27,73 +27,6 @@
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
var $dialog = dialogModule.dialog.get(1);
|
||||
var $dialogBox = $dialog.getDomElement();
|
||||
var $closeButton = $("button.ui-dialog-titlebar-close", $dialogBox.parent());
|
||||
var $cancelButton = $("button.cancel", $dialogBox);
|
||||
|
||||
$cancelButton.bind("click", function(){
|
||||
$dialog.close();
|
||||
});
|
||||
|
||||
$("button.submiter", $dialogBox).bind("click", function(){
|
||||
var $this = $(this);
|
||||
var form = $(this).closest("form");
|
||||
var loader = form.find("form-action-loader");
|
||||
|
||||
$.ajax({
|
||||
type: form.attr("method"),
|
||||
url: form.attr("action"),
|
||||
data: form.serializeArray(),
|
||||
dataType: "json",
|
||||
beforeSend:function(){
|
||||
$this.prop('disabled', true);
|
||||
$closeButton.prop('disabled', true);
|
||||
$cancelButton.prop('disabled', true);
|
||||
$dialog.setOption('closeOnEscape', false);
|
||||
loader.show();
|
||||
},
|
||||
success: function(data){
|
||||
$dialog.close();
|
||||
$.each(data,function(i,n){
|
||||
var imgt = $('#IMGT_'+n),
|
||||
chim = $('.CHIM_'+n),
|
||||
stories = $('.STORY_'+n);
|
||||
$('.doc_infos', imgt).remove();
|
||||
imgt.unbind("click").removeAttr("ondblclick").removeClass("selected").draggable("destroy").removeClass("IMGT").find("img").unbind();
|
||||
imgt.find(".thumb img").attr("src","/assets/common/images/icons/deleted.png").css({
|
||||
width:'100%',
|
||||
height:'auto',
|
||||
margin: '0 10px',
|
||||
top: '0'
|
||||
});
|
||||
chim.parent().slideUp().remove();
|
||||
imgt.find(".status,.title,.bottom").empty();
|
||||
|
||||
p4.Results.Selection.remove(n);
|
||||
if(stories.length > 0)
|
||||
{
|
||||
p4.WorkZone.refresh();
|
||||
}
|
||||
else
|
||||
{
|
||||
p4.WorkZone.Selection.remove(n);
|
||||
}
|
||||
});
|
||||
prodApp.appEvents.emit('search.doRefreshSelection')
|
||||
},
|
||||
complete: function(){
|
||||
$this.prop('disabled', false);
|
||||
$closeButton.prop('disabled', false);
|
||||
$cancelButton.prop('disabled', false);
|
||||
$dialog.setOption('closeOnEscape', true);
|
||||
loader.hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% elseif nbReceived == 0 %}
|
||||
<div class="well-small" style="text-align:center;">
|
||||
<span class="label label-important">{{ "No document selected" | trans }}</span>
|
||||
|
@@ -35,7 +35,9 @@
|
||||
<div class='titre'>
|
||||
{{ record.get_original_name() }}
|
||||
</div>
|
||||
<img class="edit_IMGT" id="idEditDiapoImg_{{ i }}" style="position:absolute; top:{{ top|round }}%; width:{{ width }}; height:{{ height }}; left:{{ left|round }}%;" onclick="recordEditorModule.edit_clk_editimg(event, {{ i }});" src="{{ thumbnail }}" />
|
||||
<img class="edit_IMGT select-record-action" id="idEditDiapoImg_{{ i }}"
|
||||
style="position:absolute; top:{{ top|round }}%; width:{{ width }}; height:{{ height }}; left:{{ left|round }}%;"
|
||||
data-index="{{ i }}" src="{{ thumbnail }}" />
|
||||
<div style='position:absolute; top:0px; left:0px; height:20px'>
|
||||
<img class="require_alert" src="/assets/common/images/icons/alert.png" style="display:none;cursor:help;" title="{{ 'edit::Certains champs doivent etre remplis pour valider cet editing' | trans }}">
|
||||
</div>
|
||||
@@ -55,7 +57,9 @@
|
||||
<td>
|
||||
<div class="context-menu context-menu-theme-vista">
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner" onclick="recordEditorModule.setRegDefault('{{i}}','{{record.get_record_id()}}');">{{ 'edit: chosiir limage du regroupement' | trans }}</div>
|
||||
<div class="context-menu-item-inner set-grouping-image-action"
|
||||
data-index="{{i}}"
|
||||
data-record-id="{{record.get_record_id()}}">{{ 'edit: chosiir limage du regroupement' | trans }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
@@ -71,7 +75,7 @@
|
||||
{% endmacro %}
|
||||
|
||||
{% macro HTML_fieldlist(recordsRequest, fields) %}
|
||||
<div class="edit_field" id="EditFieldBox_status" onclick="return(recordEditorModule.edit_mdwn_status(event));" >
|
||||
<div class="edit_field edit-status-action" id="EditFieldBox_status">
|
||||
{% trans %}prod::editing::fields: status{% endtrans %}
|
||||
</div>
|
||||
{% set cssfile = '000000' %}
|
||||
@@ -81,7 +85,9 @@
|
||||
{% for field in fields %}
|
||||
{% set i = field.get_id() %}
|
||||
{% if field.is_readonly() is empty %}
|
||||
<div class="edit_field" id="EditFieldBox_{{i}}" onclick="return(recordEditorModule.edit_mdwn_fld(event, {{i}}, '{{field.get_name()}}'));" >
|
||||
<div class="edit_field edit-field-action" id="EditFieldBox_{{i}}"
|
||||
data-id="{{i}}"
|
||||
data-name="{{field.get_name()}}">
|
||||
<i id="editSGtri_{{i}}" style="visibility:hidden;" class="icon-caret-right"></i>
|
||||
<span class="icon-stack fieldTips" tooltipsrc="{{ path('prod_tooltip_metadata', { 'sbas_id' : field.get_databox().get_sbas_id(), 'field_id' : field.get_id() }) }}">
|
||||
<i class="icon-circle icon-stack-base"></i>
|
||||
@@ -114,19 +120,6 @@
|
||||
{% set actionable = recordsRequest|length %}
|
||||
{% set not_actionable = recordsRequest.received|length - actionable %}
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
p4.edit.T_statbits = {{ JSonStatus|raw }};
|
||||
p4.edit.T_fields = {{ JSonFields|raw }};
|
||||
|
||||
p4.edit.T_records = {{ JSonRecords|raw }};
|
||||
p4.edit.T_sgval = {{ JSonSuggValues|raw }};
|
||||
p4.edit.T_id = p4.edit.T_pos = {{ JSonIds|raw }};
|
||||
p4.edit.T_mval = [];
|
||||
|
||||
</script>
|
||||
|
||||
<div id="EDIT_ALL">
|
||||
|
||||
<div class="content-wrapper">
|
||||
@@ -169,28 +162,32 @@
|
||||
<div class="edit-zone-title PNB">
|
||||
<table style='position:relative; top:5px; table-layout:fixed; width:100%'>
|
||||
<tr>
|
||||
<td style='width:30px; text-align:right'>
|
||||
<input type='button' value='◄' class='btn btn-inverse' onclick="recordEditorModule.edit_chgFld(event, -1);return(false);" />
|
||||
</td>
|
||||
<td style='width:30px; text-align:right'>
|
||||
<input type='button' value='◄' class='btn btn-inverse field-navigate-action'
|
||||
data-direction="backward"/>
|
||||
</td>
|
||||
<td id="idFieldNameEdit"></td>
|
||||
<td style='width:30px; text-align:left'>
|
||||
<input type='button' value='►' class='btn btn-inverse' onclick="recordEditorModule.edit_chgFld(event, 1);return(false);" />
|
||||
<input type='button' value='►' class='btn btn-inverse field-navigate-action'
|
||||
data-direction="forward"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="EDIT_EDIT" class="PNB">
|
||||
<div id="ZTextMonoValued">
|
||||
<textarea id="idEditZTextArea" onmousedown="return(recordEditorModule.edit_mdwn_ta(event));" onmouseup="return(recordEditorModule.edit_mup_ta(event, this));" onkeyup="return(recordEditorModule.edit_kup_ta(event, this));" onKeyDown="return(recordEditorModule.edit_kdwn(event, this));"></textarea>
|
||||
<textarea id="idEditZTextArea" ></textarea>
|
||||
<div id="idEditDateZone"></div>
|
||||
</div>
|
||||
<div id="ZTextMultiValued">
|
||||
<form onsubmit="recordEditorModule.edit_addmval($('#EditTextMultiValued', p4.edit.editBox).val(), null);return(false);" style="position:absolute; height:30px; left:2px; right:2px;">
|
||||
<form class="add-multivalued-field-action"
|
||||
data-input-id="EditTextMultiValued"
|
||||
style="position:absolute; height:30px; left:2px; right:2px;">
|
||||
<div style="position:absolute; top:0px; left:0px; right:70px; height:17px;">
|
||||
<input type='text' style="font-size:15px; position:absolute; top:0px; left:0px; width:100%; height:100%;" id="EditTextMultiValued" value="" />
|
||||
</div>
|
||||
<div style="position:absolute; top:6px; width:60px; right:0px; height:11px;">
|
||||
<img id="EditButAddMultiValued" style="cursor:pointer" src="/assets/common/images/icons/plus16.png" onclick="recordEditorModule.edit_addmval($('#EditTextMultiValued', p4.edit.editBox).val(), null);" />
|
||||
<img id="EditButAddMultiValued add-multivalued-field-action" style="cursor:pointer" src="/assets/common/images/icons/plus16.png" />
|
||||
</div>
|
||||
</form>
|
||||
<div id="ZTextMultiValued_values"></div>
|
||||
@@ -207,7 +204,8 @@
|
||||
{% for n, stat in status %}
|
||||
<tr>
|
||||
<td style="padding-left:10px">
|
||||
<span style="cursor:pointer" onclick="recordEditorModule.edit_clkstatus(event, {{n}}, 0);">
|
||||
<span class="toggle-status-field-action" data-state="false" data-bit="{{n}}"
|
||||
style="cursor:pointer" >
|
||||
<div id="idCheckboxStatbit0_{{n}}" class="gui_ckbox_0"></div>
|
||||
{% if stat['img_off'] %}
|
||||
<img src="{{stat['img_off']}}" title="{{stat['label0']}}" style="width:16px;height:16px;vertical-align:bottom" />
|
||||
@@ -216,7 +214,8 @@
|
||||
</span>
|
||||
</td>
|
||||
<td style="padding-left:20px">
|
||||
<span style="cursor:pointer" onclick="recordEditorModule.edit_clkstatus(event, {{n}}, 1);">
|
||||
<span class="toggle-status-field-action" data-state="true" data-bit="{{n}}"
|
||||
style="cursor:pointer" >
|
||||
<div id="idCheckboxStatbit1_{{n}}" class="gui_ckbox_0"></div>
|
||||
{% if stat['img_on'] %}
|
||||
<img src="{{stat['img_on']}}" title="{{stat['label1']}}" style="width:16px;height:16px;vertical-align:bottom" />
|
||||
@@ -231,9 +230,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="idDivButtons" class="PNB">
|
||||
<input id="ok" type="button" value="{{ 'boutton::remplacer' | trans }}" class="btn btn-inverse" onclick="recordEditorModule.edit_validField(event, 'ok');return(false);">
|
||||
<input id="fusion" type="button" value="{{ 'boutton::ajouter' | trans }}" class="btn btn-inverse" onclick="recordEditorModule.edit_validField(event, 'fusion');return(false);">
|
||||
<input id="cancel" type="button" value="{{ 'boutton::annuler' | trans }}" class="btn btn-inverse" onclick="recordEditorModule.edit_validField(event, 'cancel');return(false);">
|
||||
<input id="ok" type="button" value="{{ 'boutton::remplacer' | trans }}" class="btn btn-inverse commit-field-action" data-mode="ok">
|
||||
<input id="fusion" type="button" value="{{ 'boutton::ajouter' | trans }}" class="btn btn-inverse commit-field-action" data-mode="fusion">
|
||||
<input id="cancel" type="button" value="{{ 'boutton::annuler' | trans }}" class="btn btn-inverse commit-field-action" data-mode="cancel">
|
||||
</div>
|
||||
<div id="idExplain" class="PNB"></div>
|
||||
</div>
|
||||
@@ -252,7 +251,7 @@
|
||||
</ul>
|
||||
{% if thesaurus %}
|
||||
<div id='TH_Ofull'>
|
||||
<div class='thesaurus' ondblclick='return(recordEditorModule.edit_dblclickThesaurus(event));' onclick='return(recordEditorModule.edit_clickThesaurus(event));'>
|
||||
<div class='thesaurus edit-thesaurus-action'>
|
||||
<p id='TH_T.{{ databox.get_sbas_id() }}.T'>
|
||||
<u id='TH_P.{{ databox.get_sbas_id() }}.T'>+</u><a id='GL_W.{{ databox.get_sbas_id() }}.T' style='FONT-WEIGHT: bold;'>{{ databox.get_label(app['locale']) }}</a>
|
||||
</p>
|
||||
@@ -297,7 +296,7 @@
|
||||
<tr>
|
||||
<td valign="top">{{ 'prod::editing:remplace: options de remplacement' | trans }}</td>
|
||||
<td>
|
||||
<input type="checkbox" class="checkbox" id="EditSROptionRX" value="regexp" onchange="recordEditorModule.changeReplaceMode(this);">
|
||||
<input type="checkbox" class="checkbox" id="EditSROptionRX" value="regexp" class="toggle-replace-mode-action">
|
||||
{{ 'prod::editing:remplace::option : utiliser une expression reguliere' | trans }}
|
||||
{% set help_link = 'https://secure.wikimedia.org/wikipedia/en/wiki/Regular_expression' %}
|
||||
{% if app['locale'] == 'de' %}
|
||||
@@ -351,8 +350,8 @@
|
||||
</div>
|
||||
|
||||
<div id="buttonEditing">
|
||||
<input type='button' value="{{ 'boutton::valider' | trans }}" class="btn btn-inverse btn-small" onclick="recordEditorModule.edit_applyMultiDesc(event);" />
|
||||
<input type='button' value="{{ 'boutton::annuler' | trans }}" class="btn btn-inverse btn-small" onclick="recordEditorModule.edit_cancelMultiDesc(event);" />
|
||||
<input type='button' value="{{ 'boutton::valider' | trans }}" class="btn btn-inverse btn-small apply-multi-desc-action" />
|
||||
<input type='button' value="{{ 'boutton::annuler' | trans }}" class="btn btn-inverse btn-small cancel-multi-desc-action" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -424,6 +423,21 @@
|
||||
{% elseif not_actionable == 1 %}
|
||||
alert("{{ 'prod::editing: 1 document ne peut etre edite car vos droits sont induffisants' | trans | e('js') }}");
|
||||
{% endif %}
|
||||
recordEditorModule.startThisEditing({{ databox.get_sbas_id }},{% if recordsRequest.isSingleStory() %}'GRP'{% else %}'LST'{% endif %},"",'');
|
||||
prodApp.appEvents.emit('recordEditor.start', {
|
||||
databoxId: {{ databox.get_sbas_id }},
|
||||
mode: {% if recordsRequest.isSingleStory() %}'GRP'{% else %}'LST'{% endif %},
|
||||
state: {
|
||||
T_statbits: {{ JSonStatus|raw }},
|
||||
T_fields: {{ JSonFields|raw }},
|
||||
T_records: {{ JSonRecords|raw }},
|
||||
T_sgval: {{ JSonSuggValues|raw }},
|
||||
T_id: {{ JSonIds|raw }},
|
||||
T_pos: {{ JSonIds|raw }},
|
||||
T_mval: []
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
{% endif %}
|
||||
</script>
|
||||
|
@@ -668,7 +668,7 @@
|
||||
<div class="PNB" style="width:180px;left:auto;">
|
||||
<div class="PNB10 ui-corner-all" style="height:20px;">
|
||||
|
||||
<button type="button" onclick="recordPreviewModule.closePreview();" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only ui-dialog-titlebar-close" role="button" aria-disabled="false" title="close">
|
||||
<button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only ui-dialog-titlebar-close close-preview-action" role="button" aria-disabled="false" title="close">
|
||||
<span class="ui-button-icon-primary ui-icon ui-icon-closethick"></span><span class="ui-button-text">close</span>
|
||||
</button>
|
||||
</div>
|
||||
|
@@ -3,8 +3,11 @@
|
||||
<ul>
|
||||
<li class="title">{{ 'Apparait aussi dans ces reportages' | trans }}</li>
|
||||
{% for par in parents %}
|
||||
<li onclick="recordPreviewModule.openPreview('REG',0,'{{par.get_serialize_key()}}', true); return(false);"
|
||||
class="otherRegToolTip" {% if app['conf'].get(['registry', 'classic', 'stories-preview']) %}tooltipsrc="{{ path('prod_tooltip_caption', { 'sbas_id' : par.get_sbas_id(), 'record_id' : par.get_record_id(), 'context' : 'basket' }) }}" {% endif %}>
|
||||
<li data-kind="REG"
|
||||
data-position="0"
|
||||
data-id="{{par.get_serialize_key()}}"
|
||||
data-reload="true"
|
||||
class="otherRegToolTip open-preview-action" {% if app['conf'].get(['registry', 'classic', 'stories-preview']) %}tooltipsrc="{{ path('prod_tooltip_caption', { 'sbas_id' : par.get_sbas_id(), 'record_id' : par.get_record_id(), 'context' : 'basket' }) }}" {% endif %}>
|
||||
<img src="{{par.get_thumbnail().get_url()}}" style="width:25px;height:25px;"/>
|
||||
<span class="title" title="{{ par.get_title() }}"> {{ par.get_title() }} </span>
|
||||
</li>
|
||||
@@ -16,8 +19,11 @@
|
||||
<ul>
|
||||
<li class="title">{{ 'Apparait aussi dans ces paniers' | trans }}</li>
|
||||
{% for basket in baskets %}
|
||||
<li onclick="recordPreviewModule.openPreview('BASK',0,'{{basket.getId()}}',true); return(false);"
|
||||
class="otherBaskToolTip" title="{{basket.getDescription()}}">
|
||||
<li data-kind="BASK"
|
||||
data-position="0"
|
||||
data-id="{{basket.getId()}}"
|
||||
data-reload="true"
|
||||
class="otherBaskToolTip open-preview-action" title="{{basket.getDescription()}}">
|
||||
{#<img style="vertical-align:middle" src="/assets/common/images/icons/basket.png" width="16">#}
|
||||
|
||||
{% if basket.getValidation() %}
|
||||
|
@@ -49,10 +49,10 @@
|
||||
</div>
|
||||
<div class="cont_infos">
|
||||
<div>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" onclick="recordPreviewModule.getPrevious();"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" onclick="recordPreviewModule.getNext();"/><br/>
|
||||
<span onclick="recordPreviewModule.startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span onclick="recordPreviewModule.stopSlide()" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" class="preview-navigate-action" data-direction="backward"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" class="preview-navigate-action" data-direction="forward"/><br/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL">
|
||||
|
@@ -5,7 +5,7 @@
|
||||
|
||||
{% if can_edit %}
|
||||
<div class="edit_button" style="text-align:right">
|
||||
<a href="#" onclick="prodModule.openRecordEditor('IMGT','{{ record.get_serialize_key }}');">
|
||||
<a href="#" class="edit-record-action" data-kind="record" data-id="{{ record.get_serialize_key }}">
|
||||
<img style="vertical-align:middle" src="/assets/common/images/icons/ppen_history.png" width="16" class="btn-image"/>
|
||||
{{ 'action : editer' | trans }}
|
||||
</a>
|
||||
|
@@ -47,10 +47,10 @@
|
||||
</div>
|
||||
<div class="cont_infos">
|
||||
<div>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" onclick="recordPreviewModule.getPrevious();"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" onclick="recordPreviewModule.getNext();"/><br/>
|
||||
<span onclick="recordPreviewModule.startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span onclick="recordPreviewModule.stopSlide()" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" class="preview-navigate-action" data-direction="backward"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" class="preview-navigate-action" data-direction="forward"/><br/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL">
|
||||
|
@@ -25,7 +25,10 @@
|
||||
%}
|
||||
|
||||
<div id="PREVMAINREG" class="PNB10">
|
||||
<img onclick="recordPreviewModule.openPreview('REG',0,'{{story.get_serialize_key}}')"
|
||||
<img data-kind="REG"
|
||||
data-position="0"
|
||||
data-id="{{story.get_serialize_key}}"
|
||||
class="open-preview-action"
|
||||
src="{{url}}"
|
||||
style="
|
||||
width:{{fit_size.width}}px;
|
||||
@@ -80,10 +83,10 @@
|
||||
</div>
|
||||
<div class="cont_infos">
|
||||
<div>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" onclick="recordPreviewModule.getPrevious();"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" onclick="recordPreviewModule.getNext();"/><br/>
|
||||
<span onclick="recordPreviewModule.startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span onclick="recordPreviewModule.stopSlide()" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" class="preview-navigate-action" data-direction="backward"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" class="preview-navigate-action" data-direction="forward"/><br/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL">
|
||||
|
@@ -43,10 +43,10 @@
|
||||
</div>
|
||||
<div class="cont_infos">
|
||||
<div>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" onclick="recordPreviewModule.getPrevious();"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" onclick="recordPreviewModule.getNext();"/><br/>
|
||||
<span onclick="recordPreviewModule.startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }} </span>
|
||||
<span onclick="recordPreviewModule.stopSlide()" id="stop_slide"> {{ 'preview:: arreter le diaporama' | trans }} </span>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" class="preview-navigate-action" data-direction="backward">
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" class="preview-navigate-action" data-direction="forward"><br/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }} </span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide"> {{ 'preview:: arreter le diaporama' | trans }} </span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL"></div>
|
||||
|
@@ -1,10 +1,10 @@
|
||||
|
||||
<div id="PREVIEWCURRENTCONT" class="PNB10">
|
||||
<div style="margin:2px 0;">
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:20px;" onclick="recordPreviewModule.getPrevious();"/>
|
||||
<span onclick="recordPreviewModule.startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span onclick="recordPreviewModule.stopSlide()" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:20px;" onclick="recordPreviewModule.getNext();"/><br/>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:20px;" class="preview-navigate-action" data-direction="backward"/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:20px;" class="preview-navigate-action" data-direction="forward"/><br/>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL" style="top:0;bottom:auto;">
|
||||
|
@@ -17,12 +17,12 @@
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
<div onclick="prodModule.openPrintModal('{{record.get_sbas_id()}}_{{record.get_record_id()}}');return(false);">
|
||||
<div class="print-record-action" data-kind="record" data-id="{{record.get_sbas_id()}}_{{record.get_record_id()}}">
|
||||
<img src="/assets/common/images/icons/print_history.png" height="16" width="16" class="btn-image" title="'{{ 'action : print' | trans }}">
|
||||
</div>
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right_on_base(record.get_base_id(), 'candwnldhd') or app.getAclForUser(app.getAuthenticatedUser()).has_right_on_base(record.get_base_id(), 'candwnldpreview') %}
|
||||
<div onclick="prodModule.openDownloadModal('{{record.get_sbas_id()}}_{{record.get_record_id()}}', 'lst');return(false);">
|
||||
<div class="export-record-action" data-kind="record" data-id="{{record.get_sbas_id()}}_{{record.get_record_id()}}">
|
||||
<img src="/assets/common/images/icons/disktt_history.png" height="16" width="16" class="btn-image" title="{{ 'action : exporter' | trans }}">
|
||||
{# <img style="vertical-align:middle" src="/assets/common/images/icons/basket.png" width="16">#}
|
||||
|
||||
|
@@ -5,8 +5,10 @@
|
||||
<div style="width:{{ images_size+30 }}px;"
|
||||
sbas="{{ record.databoxId }}"
|
||||
id="{{'PUBLI_' ~ entry.id ~ '_' ~ record.id }}"
|
||||
class="IMGT diapo type-{{ record.type }}"
|
||||
onDblClick="recordPreviewModule.openPreview('FEED',{{ record.getNumber }},{{ entry.id }});"
|
||||
class="IMGT diapo type-{{ record.type }} open-preview-action"
|
||||
data-kind="FEED"
|
||||
data-position="{{ record.getNumber }}"
|
||||
data-id="{{ entry.id }}"
|
||||
>
|
||||
<div style="padding: 4px;">
|
||||
<div style="height:40px; position: relative; z-index: 95;margin-bottom:0;border-bottom:none;">
|
||||
|
@@ -4,8 +4,11 @@
|
||||
<div style="width:{{ settings.images_size + 30}}px;"
|
||||
sbas="{{ record.databoxId }}"
|
||||
id="{{ prefix|default('IMGT') }}_{{ record.id }}"
|
||||
class="IMGT diapo {% if record.story %}grouping{% endif %} type-{{ record.type }}"
|
||||
onDblClick="recordPreviewModule.openPreview('{{ record.story ? 'REG' : 'RESULT' }}', '{{ record.position|default(0) }}', '{{ record.id }}');">
|
||||
class="IMGT diapo {% if record.story %}grouping{% endif %} type-{{ record.type }} open-preview-action"
|
||||
data-kind="{{ record.story ? 'REG' : 'RESULT' }}"
|
||||
data-position="{{ record.position|default(0) }}"
|
||||
data-id="{{ record.id }}"
|
||||
>
|
||||
<div style="padding: 4px;">
|
||||
<div style="height:40px; position: relative; z-index: 95;margin-bottom:0;border-bottom:none;">
|
||||
<div class="title" style="max-height:100%" title="{{ record.title(app.locale) }}">
|
||||
@@ -110,15 +113,14 @@
|
||||
{% endif %}
|
||||
{% if granted_on_collection(record.baseId, 'candwnldpreview') or granted_on_collection(record.baseId, 'candwnldhd') %}
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="prodModule.openDownloadModal('{{record.id}}','lst');return(false);">
|
||||
<div class="context-menu-item-inner export-record-action" data-kind="record" data-id="{{record.id}}">
|
||||
{{ 'action : exporter' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="prodModule.openPrintModal('{{record.id}}');return(false);">
|
||||
<div class="context-menu-item-inner print-record-action"
|
||||
data-kind="record" data-id="{{record.id}}">
|
||||
{{ 'action : print' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -127,8 +129,7 @@
|
||||
and granted_on_databox(record.databoxId, 'bas_chupub')) %}
|
||||
{% if record.story is empty %}
|
||||
<div title="" class="context-menu-item">
|
||||
<div class="context-menu-item-inner"
|
||||
onclick="prodModule.openShareModal('{{record.baseId}}','{{record.recordId}}');">
|
||||
<div class="context-menu-item-inner share-record-action" data-db="{{record.baseId}}" data-record-id="{{record.recordId}}">
|
||||
{{ 'reponses:: partager' | trans }}
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -599,9 +599,9 @@ function Xclick(e)
|
||||
if((type=='T'||type=='C') && tid.substr(1, 4)=="X_P") // TX_P ou CX_P
|
||||
{
|
||||
var ul = li.children('ul').eq(0);
|
||||
if(ul.css("display")=='none' || is_ctrl_key(e))
|
||||
if(ul.css("display")=='none' || prodApp.utils.is_ctrl_key(e))
|
||||
{
|
||||
if(is_ctrl_key(e))
|
||||
if(prodApp.utils.is_ctrl_key(e))
|
||||
{
|
||||
ul.text("{{ 'prod::thesaurusTab:tree:loading' | trans }}");
|
||||
li.removeAttr('loaded');
|
||||
|
Reference in New Issue
Block a user