qbank_dam-8.x-1.4/js/qbank_dam.resize.js
js/qbank_dam.resize.js
(function ($, Drupal, drupalSettings) {
'use strict';
jQuery('#edit-metadata-mapping-table input').css({
'width': '100%'
});
jQuery('#edit-metadata-mapping-table tr input[type="submit"]').css({
'color': '#ff0606'
});
jQuery('body').on('keyup', '#edit-metadata-mapping-table tbody tr input', function () {
var row = jQuery(this).closest('tr');
var qbnak_field = row.find('td:nth-child(1) input'),
drupal_field = row.find('td:nth-child(2) input'),
qbnak_field_name = qbnak_field.val(),
drupal_field_name = drupal_field.val();
if ((qbnak_field_name != "" && drupal_field_name == "") || (qbnak_field_name == "" && drupal_field_name != "")) {
if (qbnak_field_name == "") {
qbnak_field.css({
'border-color': '#ff0606'
});
} else {
qbnak_field.css({
'border-color': '#b8b8b8'
});
}
if (drupal_field_name == "") {
drupal_field.css({
'border-color': '#ff0606'
});
} else {
drupal_field.css({
'border-color': '#b8b8b8'
});
}
jQuery('.qbank-dam-config-form input[value="Save configuration"]').prop('disabled', true);
} else {
jQuery('.qbank-dam-config-form input[value="Save configuration"]').prop('disabled', false);
jQuery('#edit-metadata-mapping-table tbody tr input').css({
'border-color': '#b8b8b8'
});
}
})
Drupal.behaviors.qbankdamResize = {
attach: function (context, setting) {
if (jQuery('#entity_browser_iframe_media_qbank').length) {
var dialog_width = jQuery(window).width() - 40;
jQuery('.ui-dialog').css({
'width': dialog_width + 'px',
'left': '20px',
'top': '20px',
'position': 'fixed'
});
jQuery('.ui-dialog-content').css({
'border-bottom-right-radius': '5px',
'border-bottom-left-radius': '5px'
});
}
jQuery('.ui-button.ui-corner-all.ui-widget.ui-button-icon-only.ui-dialog-titlebar-close').css({ 'zoom': '0.6' });
jQuery('div.ui-dialog-titlebar.ui-corner-all.ui-widget-header.ui-helper-clearfix.ui-draggable-handle').css({ 'padding': '5px 15px 5px 15px' });
}
};
jQuery('#qbank-dam-config-form').on('submit', function (e) {
var mapping = createMapingJson();
if (mapping == false) {
e.preventDefault();
}
jQuery('[name="metadata_config"]').val(mapping);
});
// Adding new row to mapping table
jQuery("#edit-btn-add-mapping").click(function (evt) {
evt.preventDefault();
jQuery(".metadata_mapping_table_row:last").clone().appendTo("#edit-metadata-mapping-table").find(":text").val("").css({ 'border-color': '#b8b8b8' });
if (jQuery('#edit-metadata-mapping-table tbody tr').length > 1) {
jQuery('#edit-metadata-mapping-table tbody tr .button.js-form-submit.form-submit').show();
}
});
// Removing row from mapping table
jQuery("#edit-metadata-mapping-table").on('click', ".button.js-form-submit.form-submit", function (evt) {
evt.preventDefault();
if (jQuery("#edit-metadata-mapping-table tbody tr").length > 1) {
jQuery(this).closest('tr').remove();
if (jQuery('#edit-metadata-mapping-table tbody tr').length == 1) {
jQuery('#edit-metadata-mapping-table tbody tr .button.js-form-submit.form-submit').hide();
}
}
return false;
});
function createMapingJson() {
var mapping_json = {};
//run through each row
jQuery('#edit-metadata-mapping-table tbody tr').each(function (i, row) {
var row = $(row),
qbnak_field = row.find('td:nth-child(1) input'),
drupal_field = row.find('td:nth-child(2) input'),
qbnak_field_name = qbnak_field.val(),
drupal_field_name = drupal_field.val();
if (qbnak_field_name != "" && drupal_field_name != "") {
mapping_json[drupal_field_name] = qbnak_field_name;
}
});
return JSON.stringify(mapping_json);
}
})(jQuery, Drupal, drupalSettings);
