web/data/cubicweb.edition.js
changeset 6421 32a6b11c4013
parent 6264 0dcd19d89767
child 6544 e0d20fb46389
equal deleted inserted replaced
6418:948a9f8514b2 6421:32a6b11c4013
   589         var d = loadRemote('json', args, 'POST');
   589         var d = loadRemote('json', args, 'POST');
   590     } catch(ex) {
   590     } catch(ex) {
   591         log('got exception', ex);
   591         log('got exception', ex);
   592         return false;
   592         return false;
   593     }
   593     }
   594     function _callback(result, req) {
   594     d.addCallback(function(result, req) {
   595         handleFormValidationResponse(formid, onsuccess, onfailure, result);
   595         handleFormValidationResponse(formid, onsuccess, onfailure, result);
   596     }
   596     });
   597     d.addCallback(_callback);
       
   598     return false;
   597     return false;
   599 }
   598 }
   600 
       
   601 
       
   602 
       
   603 // ======================= DEPRECATED FUNCTIONS ========================= //
       
   604 // (mostly reledit related)
       
   605 /**
       
   606  * .. function:: inlineValidateRelationFormOptions(rtype, eid, divid, options)
       
   607  *
       
   608  * called by reledit forms to submit changes
       
   609  * * `rtype`, the attribute being edited
       
   610  *
       
   611  * * `eid`, the eid of the entity being edited
       
   612  *
       
   613  * * `options`, a dictionnary of options used by the form validation handler such
       
   614  *    as ``role``, ``onsuccess``, ``onfailure``, ``reload``, ``vid``, ``lzone``
       
   615  *    and ``default_value``:
       
   616  *
       
   617  *     * `onsucess`, javascript function to execute on success, default is noop
       
   618  *
       
   619  *     * `onfailure`, javascript function to execute on failure, default is noop
       
   620  *
       
   621  *     * `default_value`, value if the field is empty
       
   622  *
       
   623  *     * `lzone`, html fragment (string) for a clic-zone triggering actual edition
       
   624  */
       
   625 
       
   626 
       
   627 showInlineEditionForm = cw.utils.deprecatedFunction(
       
   628     '[3.9] this is now unused by reledit (see cw.reledit.js)',
       
   629     function showInlineEditionForm(eid, rtype, divid) {
       
   630         jQuery('#' + divid).hide();
       
   631         jQuery('#' + divid + '-value').hide();
       
   632         jQuery('#' + divid + '-form').show();
       
   633     }
       
   634 );
       
   635 
       
   636 hideInlineEdit = cw.utils.deprecatedFunction(
       
   637     '[3.9] this is now unused by reledit (see cw.reledit.js)',
       
   638     function hideInlineEdit(eid, rtype, divid) {
       
   639         jQuery('#appMsg').hide();
       
   640         jQuery('div.errorMessage').remove();
       
   641         jQuery('#' + divid).show();
       
   642         jQuery('#' + divid + '-value').show();
       
   643         jQuery('#' + divid + '-form').hide();
       
   644     }
       
   645 );
       
   646 
       
   647 
       
   648 inlineValidateRelationFormOptions = cw.utils.deprecatedFunction(
       
   649     '[3.9] this is now unused by reledit (see cw.reledit.js)',
       
   650     function inlineValidateRelationFormOptions(rtype, eid, divid, options) {
       
   651         try {
       
   652             var form = cw.getNode(divid + '-form');
       
   653             var relname = rtype + ':' + eid;
       
   654             var newtarget = jQuery('[name=' + relname + ']').val();
       
   655             var zipped = cw.utils.formContents(form);
       
   656             var args = ajaxFuncArgs('validate_form', null, 'apply', zipped[0], zipped[1]);
       
   657             var d = loadRemote(JSON_BASE_URL, args, 'POST');
       
   658         } catch(ex) {
       
   659             return false;
       
   660         }
       
   661         d.addCallback(function(result, req) {
       
   662             execFormValidationResponse(rtype, eid, divid, options, result);
       
   663         });
       
   664         return false;
       
   665     });
       
   666 
       
   667 execFormValidationResponse = cw.utils.deprecatedFunction(
       
   668     '[3.9] this is now unused by reledit (see cw.reledit.js)',
       
   669     function execFormValidationResponse(rtype, eid, divid, options, result) {
       
   670         options = $.extend({onsuccess: noop,
       
   671                             onfailure: noop
       
   672                            }, options);
       
   673         if (handleFormValidationResponse(divid + '-form', options.onsucess , options.onfailure, result)) {
       
   674             if (options.reload) {
       
   675                 document.location.reload();
       
   676             } else {
       
   677                 var args = {
       
   678                     fname: 'reledit_form',
       
   679                     rtype: rtype,
       
   680                     role: options.role,
       
   681                     eid: eid,
       
   682                     divid: divid,
       
   683                     reload: options.reload,
       
   684                     vid: options.vid,
       
   685                     default_value: options.default_value,
       
   686                     landing_zone: options.lzone
       
   687                 };
       
   688                 jQuery('#' + divid + '-reledit').parent().loadxhtml(JSON_BASE_URL, args, 'post');
       
   689             }
       
   690         }
       
   691 });
       
   692 
       
   693 
       
   694 /**
       
   695  * .. function:: loadInlineEditionFormOptions(eid, rtype, divid, options)
       
   696  *
       
   697  * inline edition
       
   698  */
       
   699 loadInlineEditionFormOptions = cw.utils.deprecatedFunction(
       
   700   '[3.9] this is now unused by reledit (see cw.reledit.js) ',
       
   701   function loadInlineEditionFormOptions(eid, rtype, divid, options) {
       
   702     var args = {
       
   703         fname: 'reledit_form',
       
   704         rtype: rtype,
       
   705         role: options.role,
       
   706         eid: eid,
       
   707         divid: divid,
       
   708         reload: options.reload,
       
   709         vid: options.vid,
       
   710         default_value: options.default_value,
       
   711         landing_zone: options.lzone,
       
   712         callback: function() {
       
   713             showInlineEditionForm(eid, rtype, divid);
       
   714         }
       
   715     };
       
   716     jQuery('#' + divid + '-reledit').parent().loadxhtml(JSON_BASE_URL, args, 'post');
       
   717 });
       
   718 
       
   719 
       
   720 inlineValidateRelationForm = cw.utils.deprecatedFunction(
       
   721     '[3.9] inlineValidateRelationForm() function is deprecated, use inlineValidateRelationFormOptions instead',
       
   722     function(rtype, role, eid, divid, reload, vid, default_value, lzone, onsucess, onfailure) {
       
   723         try {
       
   724             var form = cw.getNode(divid + '-form');
       
   725             var relname = rtype + ':' + eid;
       
   726             var newtarget = jQuery('[name=' + relname + ']').val();
       
   727             var zipped = cw.utils.formContents(form);
       
   728             var d = asyncRemoteExec('validate_form', 'apply', zipped[0], zipped[1]);
       
   729         } catch(ex) {
       
   730             return false;
       
   731         }
       
   732         d.addCallback(function(result, req) {
       
   733         var options = {role : role,
       
   734                        reload: reload,
       
   735                        vid: vid,
       
   736                        default_value: default_value,
       
   737                        lzone: lzone,
       
   738                        onsucess: onsucess || $.noop,
       
   739                        onfailure: onfailure || $.noop
       
   740                       };
       
   741             execFormValidationResponse(rtype, eid, divid, options);
       
   742         });
       
   743         return false;
       
   744     }
       
   745 );
       
   746 
       
   747 loadInlineEditionForm = cw.utils.deprecatedFunction(
       
   748     '[3.9] loadInlineEditionForm() function is deprecated, use loadInlineEditionFormOptions instead',
       
   749     function(eid, rtype, role, divid, reload, vid, default_value, lzone) {
       
   750         var args = {
       
   751             fname: 'reledit_form',
       
   752             rtype: rtype,
       
   753             role: role,
       
   754             eid: eid,
       
   755             divid: divid,
       
   756             reload: reload,
       
   757             vid: vid,
       
   758             default_value: default_value,
       
   759             landing_zone: lzone,
       
   760             callback: function() {
       
   761                 showInlineEditionForm(eid, rtype, divid);
       
   762             }
       
   763         };
       
   764         jQuery('#' + divid + '-reledit').parent().loadxhtml(JSON_BASE_URL, args, 'post');
       
   765     }
       
   766 );