2008-07-05 22:28:49 +02:00
|
|
|
var LSformElement_select_object = new Class({
|
|
|
|
initialize: function(){
|
|
|
|
this.initialiseLSformElement_select_object();
|
|
|
|
},
|
|
|
|
|
2008-09-27 02:55:58 +02:00
|
|
|
initialiseLSformElement_select_object: function(el) {
|
|
|
|
if (!$type(el)) {
|
|
|
|
el = document;
|
|
|
|
}
|
|
|
|
el.getElements('ul.LSformElement_select_object').each(function(ul) {
|
|
|
|
var params = varLSdefault.LSjsConfig[ul.id];
|
|
|
|
if ($type(params)) {
|
|
|
|
if (!params.freeze) {
|
|
|
|
// Class du UL
|
|
|
|
ul.addClass('LSformElement_select_object_edit');
|
|
|
|
|
|
|
|
// Delete btns
|
|
|
|
ul.getElements('a.LSformElement_select_object').each(function(a){
|
|
|
|
var btn = new Element('img');
|
|
|
|
btn.addClass('btn');
|
|
|
|
btn.setProperties({
|
|
|
|
src: 'templates/images/delete.png',
|
|
|
|
alt: params.deleteBtns.alt
|
|
|
|
});
|
|
|
|
btn.addEvent('click',this.LSformElement_select_object_deleteBtn.bind(this,btn));
|
|
|
|
btn.injectAfter(a);
|
|
|
|
},this);
|
|
|
|
|
|
|
|
// li
|
|
|
|
ul.getElements('li').each(function(li){
|
|
|
|
li.addClass('LSformElement_select_object');
|
|
|
|
},this);
|
|
|
|
|
|
|
|
// Head
|
|
|
|
var li = new Element('li');
|
|
|
|
li.addClass('LSformElement_select_object_addBtn');
|
|
|
|
|
|
|
|
var addBtn = new Element('a');
|
|
|
|
addBtn.addClass('LSformElement_select_object');
|
|
|
|
addBtn.addClass('LSformElement_select_object_addBtn');
|
|
|
|
addBtn.setProperties({
|
|
|
|
href: params.addBtn.href,
|
|
|
|
id: params.addBtn.id
|
|
|
|
});
|
|
|
|
addBtn.set('html',params.addBtn.label);
|
|
|
|
addBtn.addEvent('click',this.onLSformElement_select_object_addBtnClick.bindWithEvent(this,addBtn));
|
|
|
|
addBtn.injectInside(li);
|
|
|
|
|
|
|
|
var input = new Element('input');
|
|
|
|
input.setProperties({
|
|
|
|
type: 'hidden',
|
|
|
|
name: params.inputHidden.name,
|
|
|
|
id: params.inputHidden.id,
|
|
|
|
value: params.inputHidden.value,
|
|
|
|
});
|
|
|
|
input.injectInside(li);
|
|
|
|
li.inject(ul,'top');
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2008-07-05 22:28:49 +02:00
|
|
|
}, this);
|
|
|
|
},
|
|
|
|
|
|
|
|
onLSformElement_select_object_addBtnClick: function(event,a) {
|
|
|
|
new Event(event).stop();
|
2008-09-27 02:55:58 +02:00
|
|
|
var getAttrName = /a_LSformElement_select_object_(.*)/
|
|
|
|
var attrName = getAttrName.exec(a.id)[1];
|
|
|
|
var fieldId = 'LSformElement_select_object_'+attrName;
|
2008-07-05 22:28:49 +02:00
|
|
|
|
|
|
|
values = new Array();
|
2008-09-27 02:55:58 +02:00
|
|
|
a.getParent().getParent().getElements('input.LSformElement_select_object').each(function(el) {
|
2008-07-05 22:28:49 +02:00
|
|
|
values.push(el.getProperty('value'));
|
|
|
|
}, this);
|
|
|
|
|
|
|
|
var data = {
|
|
|
|
template: 'LSselect',
|
|
|
|
action: 'refreshSession',
|
2008-09-27 02:55:58 +02:00
|
|
|
objecttype: $('LSformElement_select_object_objecttype_'+attrName).value,
|
2008-07-05 22:28:49 +02:00
|
|
|
values: JSON.encode(values),
|
|
|
|
href: a.href
|
|
|
|
};
|
|
|
|
|
|
|
|
data.imgload=varLSdefault.loadingImgDisplay(a,'inside');
|
|
|
|
this.refreshFields=fieldId;
|
|
|
|
new Request({url: 'index_ajax.php', data: data, onSuccess: this.onLSformElement_select_object_addBtnClickComplete.bind(this)}).send();
|
|
|
|
},
|
|
|
|
|
|
|
|
onLSformElement_select_object_addBtnClickComplete: function(responseText, responseXML) {
|
|
|
|
var data = JSON.decode(responseText);
|
|
|
|
if ( varLSdefault.checkAjaxReturn(data) ) {
|
2008-09-25 17:15:33 +02:00
|
|
|
varLSsmoothbox.asNew();
|
|
|
|
varLSsmoothbox.addEvent('valid',this.onLSsmoothboxValid.bind(this));
|
2008-07-05 22:28:49 +02:00
|
|
|
varLSsmoothbox.displayValidBtn();
|
|
|
|
varLSsmoothbox.openURL(data.href,{width: 615});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2008-09-25 17:15:33 +02:00
|
|
|
onLSsmoothboxValid: function() {
|
2008-09-27 02:55:58 +02:00
|
|
|
var getAttrName = /LSformElement_select_object_(.*)/
|
2008-07-05 22:28:49 +02:00
|
|
|
var attrName = getAttrName.exec(this.refreshFields)[1];
|
|
|
|
var data = {
|
|
|
|
template: 'LSform',
|
|
|
|
action: 'refreshField',
|
|
|
|
attribute: attrName,
|
|
|
|
objecttype: $('LSform_objecttype').value,
|
|
|
|
objectdn: $('LSform_objectdn').value,
|
|
|
|
idform: $('LSform_idform').value,
|
|
|
|
ul: this.refreshFields
|
|
|
|
};
|
|
|
|
data.imgload=varLSdefault.loadingImgDisplay($('a_' + this.refreshFields));
|
2008-09-25 17:15:33 +02:00
|
|
|
new Request({url: 'index_ajax.php', data: data, onSuccess: this.onLSsmoothboxValidComplete.bind(this)}).send();
|
2008-07-05 22:28:49 +02:00
|
|
|
},
|
|
|
|
|
2008-09-25 17:15:33 +02:00
|
|
|
onLSsmoothboxValidComplete: function(responseText, responseXML) {
|
2008-07-05 22:28:49 +02:00
|
|
|
var data = JSON.decode(responseText);
|
|
|
|
if ( varLSdefault.checkAjaxReturn(data) ) {
|
2008-09-27 02:55:58 +02:00
|
|
|
var dd = $(this.refreshFields).getParent();
|
|
|
|
dd.set('html',data.html);
|
|
|
|
this.initialiseLSformElement_select_object(dd);
|
2008-07-05 22:28:49 +02:00
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
LSformElement_select_object_deleteBtn: function(img) {
|
|
|
|
img.getParent().destroy();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
window.addEvent(window.ie ? 'load' : 'domready', function() {
|
|
|
|
varLSformElement_select_object = new LSformElement_select_object();
|
|
|
|
});
|