jfu-1.0.x-dev/assets/js/jfu.dialog.js

assets/js/jfu.dialog.js
/**
* DO NOT EDIT THIS FILE.
* See the following change record for more information,
* https://www.drupal.org/node/2815083
* @preserve
**/

(function ($, Drupal) {
  Drupal.AjaxCommands.prototype.jfuDialogSave = function (ajax, response, status) {
    var field_name = app.fieldName;
    var component_type = app.selectedComponent;
    var add = app.jfuComponents[field_name];

    if (response.values.form_id === 'jfu_image_dialog') {
      var image_index = parseInt(response.values.image_index);
      var image_subindexitem = response.values.image_subindexitem;

      switch (component_type) {
        case 'tabs':
          if (add[component_type].items[image_index].body.type === 'content_columns' || add[component_type].items[image_index].body.type === 'banner' || add[component_type].items[image_index].body.type === 'gallery') {
            var image_subindex = parseInt(response.values.image_subindex);
            if (image_subindexitem === 'responsive_image') {
              add[component_type].items[image_index].body.items.items[image_subindex][image_subindexitem].fid = response.values.fid[0];
              add[component_type].items[image_index].body.items.items[image_subindex][image_subindexitem].value = response.values.attributes.src;
              add[component_type].items[image_index].body.items.items[image_subindex][image_subindexitem].width = response.values.attributes.width;
              add[component_type].items[image_index].body.items.items[image_subindex][image_subindexitem].height = response.values.attributes.height;
            }
            else {
              add[component_type].items[image_index].body.items.items[image_subindex].image.fid = response.values.fid[0];
              add[component_type].items[image_index].body.items.items[image_subindex].image.value = response.values.attributes.src;
              add[component_type].items[image_index].body.items.items[image_subindex].image.width = response.values.attributes.width;
              add[component_type].items[image_index].body.items.items[image_subindex].image.height = response.values.attributes.height;
            }
          }
          else {
            var image_index = parseInt(response.values.image_index);
            add[component_type].items[image_index].body.image.fid = response.values.fid[0];
            add[component_type].items[image_index].body.image.value = response.values.attributes.src;
            add[component_type].items[image_index].body.image.width = response.values.attributes.width;
            add[component_type].items[image_index].body.image.height = response.values.attributes.height;
          }
          break;
        default:
          let jfu_image_subindex = image_subindexitem === 'responsive_image' ? image_subindexitem : 'image';
          if (add[component_type][jfu_image_subindex] != undefined && add[component_type][jfu_image_subindex].type === 'image' && response.values.image_subindex === undefined) {
            jfuSetImageValue(jfu_image_subindex, false);
          }

          if (add[component_type].items != undefined && response.values.image_subindex !== undefined) {
            var image_subindex = parseInt(response.values.image_subindex);
            if (add[component_type].items.items[image_subindex][jfu_image_subindex] != undefined
              && add[component_type].items.items[image_subindex][jfu_image_subindex].type === 'image') {
              jfuSetImageValue(jfu_image_subindex, true);
            }
          }
          break;
      }

      var fid_permanent = $('[data-drupal-selector="edit-jfu-fids-permanent"]').val().concat(response.values.fid[0], ',');
      $('[data-drupal-selector="edit-jfu-fids-permanent"]').val(fid_permanent);
    }

    if (response.values.form_id === 'jfu_text_format_dialog') {
      switch (component_type) {
        case 'tabs':
          var jfu_body_index = parseInt(response.values.jfu_body_index);
          if (response.values.jfu_body_subindex == '' && add[component_type].items[jfu_body_index].body.body != undefined) {
            add[component_type].items[jfu_body_index].body.body.format = response.values.jfu_body.format;
            add[component_type].items[jfu_body_index].body.body.value = response.values.jfu_body.value;
          }

          if (response.values.jfu_body_subindex != '' && add[component_type].items[jfu_body_index].body.items != undefined && add[component_type].items[jfu_body_index].body.items.items != undefined && add[component_type].items[jfu_body_index].body.items.items[0].body != undefined) {
            var body_subindex = parseInt(response.values.jfu_body_subindex);
            add[component_type].items[jfu_body_index].body.items.items[body_subindex].body.format = response.values.jfu_body.format;
            add[component_type].items[jfu_body_index].body.items.items[body_subindex].body.value = response.values.jfu_body.value;
          }
          break;
        default:
          if (response.values.jfu_body_subindex == '' && add[component_type].body != undefined) {
            add[component_type].body.format = response.values.jfu_body.format;
            add[component_type].body.value = response.values.jfu_body.value;
          }

          if (response.values.jfu_body_subindex != '' && add[component_type].items != undefined && add[component_type].items.items != undefined && add[component_type].items.items[0].body != undefined) {
            var body_subindex = parseInt(response.values.jfu_body_subindex);
            add[component_type].items.items[body_subindex].body.format = response.values.jfu_body.format;
            add[component_type].items.items[body_subindex].body.value = response.values.jfu_body.value;
          }
          break;
      }
    }

    function jfuSetImageValue(jfu_image_subindexitem, items) {
      if(items) {
        add[component_type].items.items[image_subindex][jfu_image_subindexitem].fid = response.values.fid[0];
        add[component_type].items.items[image_subindex][jfu_image_subindexitem].value = response.values.attributes.src;
        add[component_type].items.items[image_subindex][jfu_image_subindexitem].width = response.values.attributes.width;
        add[component_type].items.items[image_subindex][jfu_image_subindexitem].height = response.values.attributes.height;
      }
      else {
        add[component_type][jfu_image_subindexitem].fid = response.values.fid[0];
        add[component_type][jfu_image_subindexitem].value = response.values.attributes.src;
        add[component_type][jfu_image_subindexitem].width = response.values.attributes.width;
        add[component_type][jfu_image_subindexitem].height = response.values.attributes.height;
      }
    }
  };
})(jQuery, Drupal);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc