File "getwooplugins-settings.js"
Full Path: /home/jlklyejr/public_html/wp-content/test/wp-content/plugins/woo-variation-swatches/includes/getwooplugins/js/getwooplugins-settings.js
File size: 10.03 KB
MIME-type: text/plain
Charset: utf-8
/* global jQuery, Backbone, _, getwooplugins_settings_params, wp */
(function ($, Backbone, _) {
'use strict'
/**
* GWP Backbone Modal plugin
*
* @param {object} options
*/
$.fn.GWPBackboneModal = function (options) {
return this.each(function () {
(new $.GWPBackboneModal($(this), options))
})
}
/**
* Initialize the Backbone Modal
*
* @param {object} element [description]
* @param {object} options [description]
*/
$.GWPBackboneModal = function (element, options) {
// Set settings
let settings = $.extend({}, $.GWPBackboneModal.defaultOptions, options)
if (settings.template) {
new $.GWPBackboneModal.View({
target : settings.template,
string : settings.data
})
}
}
/**
* Set default options
*
* @type {object}
*/
$.GWPBackboneModal.defaultOptions = {
template : '',
data : {}
}
/**
* Create the Backbone Modal
*
* @return {null}
*/
$.GWPBackboneModal.View = Backbone.View.extend({
tagName : 'div',
id : 'gwp-backbone-modal-dialog',
_target : undefined,
_string : undefined,
events : {
'click .modal-close' : 'closeButton',
'click #btn-ok' : 'addButton',
'click #send-ajax' : 'sendAjax',
'touchstart #btn-ok' : 'addButton',
'keydown' : 'keyboardActions',
'change :radio' : 'optionChange'
},
resizeContent : function () {
let $content = $('.gwp-backbone-modal-content').find('article')
let max_h = $(window).height() * 0.75
$content.css({
'max-height' : max_h + 'px'
})
},
initialize : function (data) {
let view = this
this._target = data.target
this._string = data.string
_.bindAll(this, 'render')
this.render()
$(window).resize(function () {
view.resizeContent()
})
},
render : function () {
var template = wp.template(this._target)
this.$el.append(
template(this._string)
)
$(document.body).css({
'overflow' : 'hidden'
}).append(this.$el)
this.resizeContent()
this.$('.gwp-backbone-modal-content').attr('tabindex', '0').focus()
// $( document.body ).trigger( 'init_tooltips' );
$(document.body).trigger('gwp_backbone_modal_loaded', this._target)
},
closeButton : function (e) {
e.preventDefault()
$(document.body).trigger('gwp_backbone_modal_before_remove', this._target)
this.undelegateEvents()
$(document).off('focusin')
$(document.body).css({
'overflow' : 'auto'
})
this.remove()
$(document.body).trigger('gwp_backbone_modal_removed', this._target)
},
addButton : function (e) {
$(document.body).trigger('gwp_backbone_modal_response', [this._target, this.getFormData()])
this.closeButton(e)
},
sendAjax : function (event) {
event.preventDefault()
let form = this.getFormData()
let data = this._string
let action = `${form.action}_by_${form.plugin}`
if (typeof form['reason_type'] === 'undefined') {
this.closeButton(event)
return
}
$(event.target).prop('disabled', true).text($(event.target).data('deactivating')).next().addClass('visible')
wp.ajax.send(action, {
data : form,
success : (response) => {
window.location.replace(data.deactivate_link)
this.closeButton(event)
},
error : () => {
console.error('Deactivation Not logged.')
window.location.replace(data.deactivate_link)
this.closeButton(event)
}
})
},
optionChange : function (event) {
$(event.target).closest('.feedback-dialog-form-body').find('.feedback-text').prop('disabled', true).hide()
$(event.target).nextAll('.feedback-text').prop('disabled', false).show().focus()
},
getFormData : function () {
let data = {}
$(document.body).trigger('gwp_backbone_modal_before_update', this._target)
$.each($('form', this.$el).serializeArray(), function (index, item) {
if (item.name.indexOf('[]') !== -1) {
item.name = item.name.replace('[]', '')
data[item.name] = $.makeArray(data[item.name])
data[item.name].push(item.value)
}
else {
data[item.name] = item.value
}
})
return data
},
keyboardActions : function (e) {
let button = e.keyCode || e.which
// Enter key
if (13 === button && !(e.target.tagName && (e.target.tagName.toLowerCase() === 'input' || e.target.tagName.toLowerCase() === 'textarea'))) {
this.addButton(e)
}
// ESC key
if (27 === button) {
this.closeButton(e)
}
}
})
}(jQuery, Backbone, _))
const GWPAdminHelper = (($) => {
return class GWPAdminHelper {
static ResetPopupData(pluginslug) {
let id = `#gwp-plugin-deactivate-feedback-dialog-wrapper-${pluginslug}`
let $button = $('.feedback-dialog-form-button-send', id)
$button.prop('disabled', false).text($button.data('defaultvalue')).next().removeClass('visible')
}
static DeactivatePopup(pluginslug) {
let id = `#gwp-plugin-deactivate-feedback-dialog-wrapper-${pluginslug}`
$('.wp-list-table.plugins').find('[data-slug="' + pluginslug + '"].active').each(function () {
let deactivate_link = $(this).find('.deactivate a').prop('href')
$(this).data('deactivate_link', deactivate_link)
$(this).find('.deactivate a').on('click', (event) => {
event.preventDefault()
$(this).GWPBackboneModal({
template : `gwp-deactive-feedback-dialog-${pluginslug}`,
data : {
deactivate_link : deactivate_link,
plugin : pluginslug
}
})
})
})
}
static ProPopup() {
// let id = `#gwp-pro-dialog-wrapper-${pluginslug}`;
$('.getwooplugins-admin-form-table .is-pro a.pro-modal, .getwooplugins-admin-form-table a.help-modal').each(function () {
$(this).on('click', (event) => {
event.preventDefault()
// event.stopPropagation();
let template_id = $(this).data('template')
//let template = `#${template_id}`
$(this).GWPBackboneModal({
template : template_id,
data : {}
})
})
})
}
}
})(jQuery);
(function ($, params, wp) {
$(function () {
// Color picker with alpha support
if ($().wpColorPicker) {
$('.color-picker-alpha').wpColorPicker({
change : function (event, ui) {
window.onbeforeunload = function () {
return params.i18n_nav_warning
}
},
})
}
// Edit prompt
$(function () {
var changed = false
$(':input:not(.no-track)').on('change', function () {
if (!changed) {
window.onbeforeunload = function () {
return params.i18n_nav_warning
}
changed = true
}
})
$('.submit :input').on('click', function () {
window.onbeforeunload = ''
})
})
$(document.body).on('init_tooltips', function () {
if (!jQuery().tipTip) {
return false;
}
$('.tips, .help_tip, .woocommerce-help-tip, .getwooplugins-help-tip').tipTip({
'attribute' : 'data-tip',
'fadeIn' : 50,
'fadeOut' : 50,
'delay' : 200,
'keepAlive' : true
})
$('.column-wc_actions .wc-action-button').tipTip({
'fadeIn' : 50,
'fadeOut' : 50,
'delay' : 200
})
// Add tiptip to parent element for widefat tables
$('.parent-tips').each(function () {
$(this).closest('a, th').attr('data-tip', $(this).data('tip')).tipTip({
'attribute' : 'data-tip',
'fadeIn' : 50,
'fadeOut' : 50,
'delay' : 200,
'keepAlive' : true
}).css('cursor', 'help')
})
})
// Tooltips
$(document.body).trigger('init_tooltips')
try {
$(document.body).on('init_form_field_dependency', function () {
$('[data-gwp_dependency]').GWPFormFieldDependency()
}).trigger('init_form_field_dependency')
}
catch (err) {
// If failed (conflict?) log the error but don't stop other scripts breaking.
window.console.log(err);
}
GWPAdminHelper.ProPopup()
})
})(jQuery, getwooplugins_settings_params, wp)