author | David Douard <david.douard@logilab.fr> |
Mon, 11 Feb 2013 11:47:50 +0100 | |
changeset 8829 | bb14dc9848ec |
parent 8260 | 5a81fa526b30 |
child 10279 | d7479a5ac553 |
permissions | -rw-r--r-- |
cw.reledit = new Namespace('cw.reledit'); jQuery.extend(cw.reledit, { /* Unhides the part of reledit div containing the form * hides other parts */ showInlineEditionForm: function (divid) { jQuery('#' + divid).hide(); jQuery('#' + divid + '-value').hide(); jQuery('#' + divid + '-form').show(); }, /* Hides and removes edition parts, incl. messages * show initial widget state */ cleanupAfterCancel: function (divid) { jQuery('#appMsg').hide(); jQuery('div.errorMessage').remove(); // plus re-set inline style ? jQuery('#' + divid).show(); jQuery('#' + divid + '-value').show(); jQuery('#' + divid + '-form').hide(); }, /* callback used on form validation success * refreshes the whole page or just the edited reledit zone * @param results: [status, ...] * @param formid: the dom id of the reledit form * @param cbargs: ... */ onSuccess: function (results, formid, cbargs) { var params = {fname: 'reledit_form'}; jQuery('#' + formid + ' input:hidden').each(function (elt) { var name = jQuery(this).attr('name'); if (name && name.startswith('__reledit|')) { params[name.split('|')[1]] = this.value; } }); var reload = cw.evalJSON(params.reload); if (reload || (params.formid == 'deleteconf')) { if (typeof reload == 'string') { /* Sometimes we want to reload but the reledit thing * updated a key attribute which was a component of the * url */ document.location.href = reload; return; } else { document.location.reload(); return; } } jQuery('#'+params.divid+'-reledit').loadxhtml(AJAX_BASE_URL, params, 'post'); jQuery(cw).trigger('reledit-reloaded', params); }, /* called by reledit forms to submit changes * @param formid : the dom id of the form used * @param rtype : the attribute being edited * @param eid : the eid of the entity being edited * @param reload: boolean to reload page if true (when changing URL dependant data) * @param default_value : value if the field is empty */ loadInlineEditionForm: function(formid, eid, rtype, role, divid, reload, vid, action) { var args = {fname: 'reledit_form', rtype: rtype, role: role, pageid: pageid, action: action, eid: eid, divid: divid, formid: formid, reload: reload, vid: vid}; var d = jQuery('#'+divid+'-reledit').loadxhtml(AJAX_BASE_URL, args, 'post'); d.addCallback(function () {cw.reledit.showInlineEditionForm(divid);}); } });