Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 0 additions & 47 deletions dt-assets/js/details.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,53 +79,6 @@ jQuery(document).ready(function ($) {
};
}

/* field type: link */
$('input.link-input').change(function () {
const link_input = $(this);
const fieldKey = $(link_input).data('field-key');
const type = $(link_input).data('type');
const meta_id = $(link_input).data('meta-id');
const value = $(link_input).val();

if ($(link_input).prop('required') && value === '') {
return;
}

const fieldValues = {
values: [
{
value,
type,
meta_id,
},
],
};
$(`#${fieldKey}-spinner`).addClass('active');
rest_api
.update_post(post_type, post_id, { [fieldKey]: fieldValues })
.then((newPost) => {
$(`#${fieldKey}-spinner`).removeClass('active');
post = newPost;

// Make sure a key exists for the new link field.
if (post && post[fieldKey] && post[fieldKey].length > 0) {
let updated_values = post[fieldKey].filter((option) => {
return option['type'] === type && option['value'] === value;
});

// This ensures any immediate updates, are assigned to correct link input and not to a new/duplicated input field.
if (
updated_values &&
updated_values[0] &&
updated_values[0]['meta_id']
) {
$(link_input).data('meta-id', updated_values[0]['meta_id']);
}
}
})
.catch(window.handleAjaxError);
});

/* field type: datetime */
$('.dt_date_time_group').each(function setTimePickers() {
const timestamp = this.dataset.timestamp;
Expand Down
174 changes: 0 additions & 174 deletions dt-assets/js/merge-post-details.js
Original file line number Diff line number Diff line change
Expand Up @@ -225,11 +225,6 @@ jQuery(function ($) {
return typeahead && !window.lodash.isEmpty(typeahead.items);
}

case 'link':
return !window.lodash.isEmpty(
$(td_field_input).find('input.link-input').not('[value=""]'),
);

case 'communication_channel':
case 'location_meta':
return !window.lodash.isEmpty(
Expand Down Expand Up @@ -296,48 +291,6 @@ jQuery(function ($) {
.prop('disabled', read_only);
break;

case 'link': {
// Disable/Display field accordingly, based on read-only flag
$(td).find('input.link-input').prop('disabled', read_only);
$(td).find('button.link-delete-button').prop('disabled', read_only);

// Ensure add link functionality is suppressed.
$(td).find('div.add-link-dropdown').remove();

if (!read_only) {
$(td)
.find('input.link-input')
.each(function (idx, input) {
if (window.lodash.isEmpty($(input).val())) {
$(input).parent().hide();
}
});

/**
* Remove
*/

$(document).on('click', '.link-delete-button', (evt) => {
const delete_but = $(evt.currentTarget);

// Keep a record of deleted meta_ids.
let meta_id = $(delete_but).data('meta-id');
let deleted_items = $(field_meta).val()
? JSON.parse($(field_meta).val())
: [];
if (!window.lodash.includes(deleted_items, meta_id)) {
deleted_items.push(meta_id);
$(field_meta).val(JSON.stringify(deleted_items));
}

// Finally, remove from parent.
$(delete_but).parent().parent().remove();
});
}

break;
}

case 'user_select': {
let user_select_typeahead_field_input = '.js-typeahead-' + field_id;

Expand Down Expand Up @@ -501,78 +454,6 @@ jQuery(function ($) {
break;
}

case 'link': {
// Determine selector source field link inputs to be processed.
let source_field_link_inputs = [];
let tr = $(selector).parent().parent();
$(tr)
.find('.td-field-input input.link-input')
.each(function (idx, input) {
if ($(input).val()) {
source_field_link_inputs.push(input);
}
});

// Delete/Add updated post record, based on identified source field inputs.
let main_updated_fields_div = $('#main_updated_fields_div');
let link_field_meta_input = $(main_updated_fields_div)
.find(`.link-list-${update_field_id}`)
.parent()
.parent()
.find('#field_meta');
let deleted_items = $(link_field_meta_input).val()
? JSON.parse($(link_field_meta_input).val())
: [];

// Locate by link field values.
$.each(source_field_link_inputs, function (idx, input) {
let link_list_section_div = $(main_updated_fields_div).find(
`.link-list-${update_field_id} .link-section--${$(input).data('type')}`,
);
let matched_input = $(link_list_section_div).find(
`.input-group input[value="${$(input).val()}"].link-input`,
);

// Handle accordingly, based on incoming selected state.
if (is_selected) {
// Add new updated link fields.
if (matched_input.length === 0) {
$(link_list_section_div).append(`
<div class="input-group">
<input type="text" class="link-input input-group-field" value="${window.SHAREDFUNCTIONS.escapeHTML($(input).val())}" data-meta-id="${window.SHAREDFUNCTIONS.escapeHTML($(input).data('meta-id'))}" data-field-key="${window.SHAREDFUNCTIONS.escapeHTML(update_field_id)}" data-type="${window.SHAREDFUNCTIONS.escapeHTML($(input).data('type'))}">
<div class="input-group-button">
<button class="button alert delete-button-style input-height link-delete-button delete-button" data-meta-id="${window.SHAREDFUNCTIONS.escapeHTML($(input).data('meta-id'))}" data-field-key="${window.SHAREDFUNCTIONS.escapeHTML(update_field_id)}">&times;</button>
</div>
</div>`);

// Remove any previously deleted entries.
window.lodash.remove(deleted_items, function (meta_id) {
return meta_id === $(input).data('meta-id');
});
$(link_field_meta_input).val(JSON.stringify(deleted_items));
}
} else {
// Remove new updated link fields.
if (matched_input.length > 0) {
$(matched_input).parent().remove();

// Keep a record of deleted meta_ids.
if (
!window.lodash.includes(
deleted_items,
$(matched_input).data('meta-id'),
)
) {
deleted_items.push($(matched_input).data('meta-id'));
$(link_field_meta_input).val(JSON.stringify(deleted_items));
}
}
}
});

break;
}

case 'communication_channel': {
// Determine values to be updated
const sourceValue = sourceField.val() || [];
Expand Down Expand Up @@ -1207,61 +1088,6 @@ jQuery(function ($) {
break;
}

case 'link': {
// Determine values to be processed
let link_entries = [];
let link_deletions = field_meta.val()
? JSON.parse(field_meta.val())
: [];

// Package values and any deletions
$(td)
.find('.input-group input.link-input')
.each(function (idx, input) {
let link_type = $(input).data('type');
let link_meta_id = $(input).data('meta-id');
let link_val = $(input).val();

let has_value = is_link_field_value_already_in_primary(
post_field_id,
link_type,
link_meta_id,
link_val,
true,
);
let matched_meta_id = is_link_field_value_already_in_primary(
post_field_id,
link_type,
link_meta_id,
link_val,
false,
);

if (link_val && !has_value) {
link_entries.push({
value: link_val,
type: link_type,
meta_id: matched_meta_id ? link_meta_id : '',
});
}
});

$.each(link_deletions, function (idx, deleted_meta_id) {
link_entries.push({
meta_id: deleted_meta_id,
delete: true,
});
});

// If present, capture entries
if (link_entries) {
values[post_field_id] = {
values: link_entries,
};
}
break;
}

case 'user_select': {
let user_select_typeahead =
window.Typeahead['.js-typeahead-' + field_id];
Expand Down
13 changes: 0 additions & 13 deletions dt-assets/js/new-bulk-record.js
Original file line number Diff line number Diff line change
Expand Up @@ -117,19 +117,6 @@ jQuery(function ($) {
new_post[$(entry).attr('id')] = $(entry).val();
}
});
$('.link-input').each((index, entry) => {
let fieldKey = $(entry).data('field-key');
let type = $(entry).data('type');
if ($(entry).val()) {
if (!Object.prototype.hasOwnProperty.call(new_post, fieldKey)) {
new_post[fieldKey] = { values: [] };
}
new_post[fieldKey].values.push({
value: $(entry).val(),
type: type,
});
}
});
$('.dt_textarea').each((index, entry) => {
if ($(entry).val()) {
new_post[$(entry).attr('id')] = $(entry).val();
Expand Down
13 changes: 0 additions & 13 deletions dt-assets/js/new-record.js
Original file line number Diff line number Diff line change
Expand Up @@ -232,19 +232,6 @@ jQuery(function ($) {
new_post[$(entry).attr('id')] = $(entry).val();
}
});
$('.link-input').each((index, entry) => {
let fieldKey = $(entry).data('field-key');
let type = $(entry).data('type');
if ($(entry).val()) {
if (!Object.prototype.hasOwnProperty.call(new_post, fieldKey)) {
new_post[fieldKey] = { values: [] };
}
new_post[fieldKey].values.push({
value: $(entry).val(),
type: type,
});
}
});

// location_meta
if (typeof window.selected_location_grid_meta !== 'undefined') {
Expand Down
Loading
Loading