templates/admin/core/update_text_relation.js.twig line 1

Open in your IDE?
  1. // changement d'un element texte
  2. $('body').on('dblclick', '[data-action="allow-change"] [data-action="change-text"]', function (event) {
  3.     event.preventDefault();
  4.     var self = $(this);
  5.     if (!self.next('tr').hasClass('change-data-text')) {
  6.         var data = {
  7.             'manager': self.closest('table').data('manager'),
  8.             'object': self.closest('table').data('object'),
  9.             'attribute': self.data('attribute')
  10.         };
  11.         $.ajax({
  12.                 type: 'GET',
  13.                 url: Routing.generate('admin_ajax_change_data_text'),
  14.                 data: data,
  15.                 dataType: 'json',
  16.                 success: function (json) {
  17.                     $(json['form']).insertAfter(self);
  18.                 }
  19.             }
  20.         );
  21.     }
  22. });
  23. // sauvegarde d'un element texte
  24. $('body').on('click', '[data-action="allow-change"] [data-action="change-text-save"]', function (event) {
  25.     event.preventDefault();
  26.     var self = $(this);
  27.     var data = {
  28.         'manager': self.data('manager'),
  29.         'object': self.data('object'),
  30.         'attribute': self.data('attribute'),
  31.         'persist': self.data('persist'),
  32.         'value': self.closest('.input-group').find('textarea').val(),
  33.         'option': self.closest('table').data('option'),
  34.     };
  35.     $.ajax({
  36.             type: 'PATCH',
  37.             url: Routing.generate('admin_ajax_change_data_text_save'),
  38.             data: data,
  39.             dataType: 'json',
  40.             success: function (json) {
  41.                 self.closest('tr').prev('tr').find('td').html(json['value']);
  42.                 self.closest('tr').remove();
  43.                 // création d'un evenement pour appeller un callback
  44.                 $('body').trigger("change_text_" + data.manager+'_'+data.attribute, data);
  45.             }
  46.         }
  47.     );
  48. });
  49. // changement d'une relation
  50. $('body').on('click', '[data-action="allow-change"] [data-action="change-relation"]', function (event) {
  51.     event.preventDefault();
  52.     var self = $(this);
  53.     if (!self.next('tr').hasClass('change-data-relation')) {
  54.         var data = {
  55.             'manager': self.closest('table').data('manager'),
  56.             'object': self.closest('table').data('object'),
  57.             'option': self.closest('table').data('option'),
  58.             'attribute': self.data('attribute'),
  59.             'managerRelation': self.data('manager-relation'),
  60.         };
  61.         $.ajax({
  62.                 type: 'GET',
  63.                 url: Routing.generate('admin_ajax_change_data_relation'),
  64.                 data: data,
  65.                 dataType: 'json',
  66.                 success: function (json) {
  67.                     $(json['form']).insertAfter(self);
  68.                 }
  69.             }
  70.         );
  71.     }
  72. });
  73. // sauvegarde d'une relation
  74. $('body').on('click', '[data-action="allow-change"] [data-action="change-relation-save"]', function (event) {
  75.     event.preventDefault();
  76.     var self = $(this);
  77.     var data = {
  78.         'manager': self.closest('table').data('manager'),
  79.         'managerRelation': self.closest('table').data('manager-relation'),
  80.         'object': self.closest('table').data('object'),
  81.         'attribute': self.closest('table').data('attribute'),
  82.         'option': self.closest('table').data('option'),
  83.         'value': self.data('value'),
  84.     };
  85.     $.ajax({
  86.             type: 'PATCH',
  87.             url: Routing.generate('admin_ajax_change_data_relation_save'),
  88.             data: data,
  89.             dataType: 'json',
  90.             success: function (json) {
  91.                 self.closest('table').closest('tr').prev('tr').find('td').html(json['html']);
  92.                 self.closest('table').closest('tr').remove();
  93.                 // création d'un evenement pour appeller un callback
  94.                 $('body').trigger("change_relation_" + data.manager+'_'+data.attribute, data);
  95.             }
  96.         }
  97.     );
  98. });