%PDF- %PDF-
| Direktori : /home/infra/new-ong/bethemeold/muffin-options/fields/dynamic_items/ |
| Current File : //home/infra/new-ong/bethemeold/muffin-options/fields/dynamic_items/field_dynamic_items.js |
(function($) {
/* globals jQuery, wp */
"use strict";
var group = '.form-group.dynamic-items ',
selector = '.dynamic-items';
function MfnDynamicItems() {
// update input names
function updateOrder( $preview ){
const regex = /\[dynamic_items\]\[[0-9]*\]/i;
$preview.find('li').each(function(index, $el){
$('input', $el).each(function(){
var name = $(this).attr('name');
var name2 = name.replace(regex, '[dynamic_items]['+index+']');
$(this).attr('name', name2);
});
});
}
// add new item
function addNew(){
}
// type change
$('.mfn-ui').on('change', '.dynamic_items_wrapper .di-input-rule select', function() {
var val = $(this).val();
$(this).parent().siblings('.di-input-wrapper').removeClass('di-input-active');
$(this).parent().siblings('.di-if-'+val).addClass('di-input-active');
});
// item remove
$('.mfn-ui').on('click', '.dynamic_items_wrapper .di-remove', function(e) {
e.preventDefault();
var $preview = $(this).closest('.dynamic_items_preview');
$(this).closest('li').remove();
updateOrder($preview);
});
// item add
$('.mfn-ui').on('click', '.mfn-modal-payments ul.mfn-items-list li a', function(e) {
e.preventDefault();
var url = $(this).find('img').attr('src'),
id = $(this).find('.titleicon').text(),
uid = Math.random().toString(36).substr(2, 9);
var $form = $(this).closest(group),
$preview = $('.dynamic_items_preview',$form),
$clone = $('.new-item-wrapper li', $form).clone(true,true);
$clone.find('input').each(function(){
var name = $(this).attr('data-name');
$(this).attr('name',name).removeAttr('data-name');
});
$clone.find('img').attr('src',url);
$clone.find('input.url').val(url);
$clone.find('input.id').val(id);
$clone.find('input.uid').val(uid);
$(document).trigger('mfn:modal:close');
$preview.append($clone);
updateOrder($preview);
});
// custom item add
$('.mfn-ui').on('change', '.dynamic_items_wrapper .browse-image .mfn-field-value', function() {
var url = $(this).val(),
id = $(this).attr('data-id'),
uid = Math.random().toString(36).substr(2, 9);
var $form = $(this).closest(group),
$preview = $('.dynamic_items_preview',$form),
$clone = $('.new-item-wrapper li', $form).clone(true,true);
$clone.find('input').each(function(){
var name = $(this).attr('data-name');
$(this).attr('name',name).removeAttr('data-name');
});
$clone.find('img').attr('src',url);
$clone.find('input.url').val(url);
$clone.find('input.id').val(id);
$clone.find('input.uid').val(uid);
$clone.find('input.type').val('custom');
$(this).val(''); // empty input
$preview.append($clone);
updateOrder($preview);
});
// modal open
$('.mfn-ui').on('click', '.dynamic_items_wrapper .di-show-modal', function(e) {
var id = $(this).attr('data-modal');
$(document).trigger('mfn:modal:open', $('#'+id));
});
// sortable
$(document).on('mfn:builder:edit', function( $this, modal ){
var $el = $('.dynamic-items .dynamic_items_preview', modal),
$parent = $el.closest(selector);
if ( $el.length ) {
// init sortable
if ( ! $el.hasClass( 'ui-sortable' ) ) {
$el.sortable({
opacity: 0.9,
update: function() {
updateOrder($el);
}
});
}
// enable inactive sortable
if ( $el.hasClass( 'ui-sortable-disabled' ) ) {
$el.sortable( 'enable' );
}
}
});
// sortable destroy
$(document).on('mfn:builder:close', function( $this ){
$('.dynamic_items_preview.ui-sortable').sortable('destroy');
});
}
/**
* $(document).ready
* Specify a function to execute when the DOM is fully loaded.
*/
$(function() {
MfnDynamicItems();
});
})(jQuery);