File: /home/zeusxp5/tour.kamille.us/wp-content/plugins/weforms/assets/js/spa-app.js
'use strict';
var _typeof33 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _typeof32 = typeof Symbol === "function" && _typeof33(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof33(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof33(obj);
};
var _typeof31 = typeof Symbol === "function" && _typeof32(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof32(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof32(obj);
};
var _typeof30 = typeof Symbol === "function" && _typeof31(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof31(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof31(obj);
};
var _typeof29 = typeof Symbol === "function" && _typeof30(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof30(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof30(obj);
};
var _typeof28 = typeof Symbol === "function" && _typeof29(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof29(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof29(obj);
};
var _typeof27 = typeof Symbol === "function" && _typeof28(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof28(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof28(obj);
};
var _typeof26 = typeof Symbol === "function" && _typeof27(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof27(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof27(obj);
};
var _typeof25 = typeof Symbol === "function" && _typeof26(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof26(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof26(obj);
};
var _typeof24 = typeof Symbol === "function" && _typeof25(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof25(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof25(obj);
};
var _typeof23 = typeof Symbol === "function" && _typeof24(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof24(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof24(obj);
};
var _typeof22 = typeof Symbol === "function" && _typeof23(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof23(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof23(obj);
};
var _typeof21 = typeof Symbol === "function" && _typeof22(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof22(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof22(obj);
};
var _typeof20 = typeof Symbol === "function" && _typeof21(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof21(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof21(obj);
};
var _typeof19 = typeof Symbol === "function" && _typeof20(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof20(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof20(obj);
};
var _typeof18 = typeof Symbol === "function" && _typeof19(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof19(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof19(obj);
};
var _typeof17 = typeof Symbol === "function" && _typeof18(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof18(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof18(obj);
};
var _typeof16 = typeof Symbol === "function" && _typeof17(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof17(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof17(obj);
};
var _typeof15 = typeof Symbol === "function" && _typeof16(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof16(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof16(obj);
};
var _typeof14 = typeof Symbol === "function" && _typeof15(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof15(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof15(obj);
};
var _typeof13 = typeof Symbol === "function" && _typeof14(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof14(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof14(obj);
};
var _typeof12 = typeof Symbol === "function" && _typeof13(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof13(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof13(obj);
};
var _typeof11 = typeof Symbol === "function" && _typeof12(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof12(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof12(obj);
};
var _typeof10 = typeof Symbol === "function" && _typeof11(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof11(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof11(obj);
};
var _typeof9 = typeof Symbol === "function" && _typeof10(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof10(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof10(obj);
};
var _typeof8 = typeof Symbol === "function" && _typeof9(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof9(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof9(obj);
};
var _typeof7 = typeof Symbol === "function" && _typeof8(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof8(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof8(obj);
};
var _typeof6 = typeof Symbol === "function" && _typeof7(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof7(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof7(obj);
};
var _typeof5 = typeof Symbol === "function" && _typeof6(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof6(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof6(obj);
};
var _typeof4 = typeof Symbol === "function" && _typeof5(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof5(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof5(obj);
};
var _typeof3 = typeof Symbol === "function" && _typeof4(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof4(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof4(obj);
};
var _typeof2 = typeof Symbol === "function" && _typeof3(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof3(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof3(obj);
};
var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof2(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj);
};
/*!
weForms - v1.6.7
Generated: 2021-06-08 (1623168583312)
*/
;(function ($) {
/* ./assets/spa/components/component-table/index.js */
Vue.component('wpuf-table', {
template: '#tmpl-wpuf-component-table',
mixins: [weForms.mixins.Loading, weForms.mixins.Paginate, weForms.mixins.BulkAction],
props: {
has_export: String,
action: String,
delete: String,
id: [String, Number],
status: [String]
},
data: function data() {
return {
loading: false,
columns: [],
items: [],
ajaxAction: this.action,
nonce: weForms.nonce,
index: 'id',
bulkDeleteAction: this.delete ? this.delete : 'weforms_form_entry_trash_bulk'
};
},
created: function created() {
this.fetchData();
},
computed: {
columnLength: function columnLength() {
return Object.keys(this.columns).length;
}
},
methods: {
fetchData: function fetchData() {
var self = this;
this.loading = true;
wp.ajax.send(self.action, {
data: {
id: self.id,
page: self.currentPage,
status: self.status,
_wpnonce: weForms.nonce
},
success: function success(response) {
self.loading = false;
self.columns = response.columns;
self.items = response.entries;
self.form_title = response.form_title;
self.totalItems = response.pagination.total;
self.perPage = response.pagination.per_page;
self.totalPage = response.pagination.pages;
self.$emit('ajaxsuccess', response);
},
error: function error(_error) {
self.loading = false;
alert(_error);
}
});
},
handleBulkAction: function handleBulkAction() {
if ('-1' === this.bulkAction) {
alert('Please chose a bulk action to perform');
return;
}
if ('delete' === this.bulkAction) {
if (!this.checkedItems.length) {
alert('Please select atleast one entry to delete.');
return;
}
if (confirm('Are you sure to delete the entries?')) {
this.deleteBulk();
}
}
if ('restore' === this.bulkAction) {
if (!this.checkedItems.length) {
alert('Please select atleast one entry to restore.');
return;
}
this.restoreBulk();
}
},
restore: function restore(entry_id) {
var self = this;
self.loading = true;
wp.ajax.send('weforms_form_entry_restore', {
data: {
entry_id: entry_id,
_wpnonce: weForms.nonce
},
success: function success(response) {
self.loading = false;
self.fetchData();
},
error: function error(_error2) {
self.loading = false;
alert(_error2);
}
});
},
deletePermanently: function deletePermanently(entry_id) {
if (confirm('Are you sure to delete this entry?')) {
var self = this;
self.loading = true;
wp.ajax.send('weforms_form_entry_delete', {
data: {
entry_id: entry_id,
_wpnonce: weForms.nonce
},
success: function success(response) {
self.loading = false;
self.fetchData();
},
error: function error(_error3) {
self.loading = false;
alert(_error3);
}
});
}
}
},
watch: {
id: function id() {
this.fetchData();
},
status: function status() {
this.currentPage = 1;
this.bulkAction = -1;
this.fetchData();
}
}
});
/* ./assets/spa/components/entries/index.js */
weForms.routeComponents.Entries = {
template: '#tmpl-wpuf-entries',
data: function data() {
return {
selected: 0,
forms: {},
form_title: 'Loading...',
status: 'publish',
total: 0,
totalTrash: 0
};
},
created: function created() {
this.get_forms();
},
methods: {
get_forms: function get_forms() {
var self = this;
wp.ajax.send('weforms_form_list', {
data: {
_wpnonce: weForms.nonce,
page: self.currentPage,
posts_per_page: -1,
filter: 'entries'
},
success: function success(response) {
if (Object.keys(response.forms).length) {
self.forms = response.forms;
self.selected = self.forms[Object.keys(self.forms)[0]].id;
} else {
self.form_title = 'No entry found';
}
},
error: function error(_error4) {
alert(_error4);
}
});
}
}
};
/* ./assets/spa/components/form-builder/index.js */
weForms.routeComponents.FormEditComponent = {
template: '#tmpl-wpuf-form-builder',
mixins: wpuf_form_builder_mixins(wpuf_mixins.root),
data: function data() {
return {
is_form_saving: false,
is_form_saved: false,
is_form_switcher: false,
post_title_editing: false,
loading: false,
activeTab: 'editor',
activeSettingsTab: 'form',
activePaymentTab: 'paypal'
};
},
watch: {
loading: function loading(value) {
if (value) {
NProgress.configure({ parent: '#wpadminbar' });
NProgress.start();
} else {
NProgress.done();
}
},
form_fields: {
handler: function handler() {
window.weFormsBuilderisDirty = true;
},
deep: true
},
notifications: {
handler: function handler() {
window.weFormsBuilderisDirty = true;
},
deep: true
},
integrations: {
handler: function handler() {
window.weFormsBuilderisDirty = true;
},
deep: true
},
settings: {
handler: function handler() {
window.weFormsBuilderisDirty = true;
},
deep: true
},
payment: {
handler: function handler() {
window.weFormsBuilderisDirty = true;
},
deep: true
}
},
created: function created() {
this.set_current_panel('form-fields');
this.fetchForm();
this.$store.commit('panel_add_show_prop');
/**
* This is the event hub we'll use in every
* component to communicate between them
*/
wpuf_form_builder.event_hub = new Vue();
},
computed: {
current_panel: function current_panel() {
return this.$store.state.current_panel;
},
post: function post() {
return this.$store.state.post;
},
form_fields_count: function form_fields_count() {
return this.$store.state.form_fields.length;
},
form_fields: function form_fields() {
return this.$store.state.form_fields;
},
notifications: function notifications() {
return this.$store.state.notifications;
},
integrations: function integrations() {
return this.$store.state.integrations;
},
settings: function settings() {
return this.$store.state.settings;
},
payment: function payment() {
return this.$store.state.payment;
}
},
mounted: function mounted() {
var clipboard = new window.Clipboard('.form-id');
$(".form-id").tooltip();
var self = this;
this.started = true;
clipboard.on('success', function (e) {
// Show copied tooltip
$(e.trigger).attr('data-original-title', 'Copied!').tooltip('show');
// Reset the copied tooltip
setTimeout(function () {
$(e.trigger).tooltip('hide').attr('data-original-title', self.i18n.copy_shortcode);
}, 1000);
e.clearSelection();
});
this.initSharingClipBoard();
setTimeout(function () {
window.weFormsBuilderisDirty = false;
}, 500);
window.onbeforeunload = function () {
if (window.weFormsBuilderisDirty) {
return self.i18n.unsaved_changes;
}
};
},
methods: {
makeActive: function makeActive(val) {
this.activeTab = val;
},
isActiveTab: function isActiveTab(val) {
return this.activeTab === val;
},
isActiveSettingsTab: function isActiveSettingsTab(val) {
return this.activeSettingsTab === val;
},
makeActiveSettingsTab: function makeActiveSettingsTab(val) {
this.activeSettingsTab = val;
},
isActivePaymentTab: function isActivePaymentTab(val) {
return this.activePaymentTab === val;
},
makeActivePaymentTab: function makeActivePaymentTab(val) {
this.activePaymentTab = val;
},
fetchForm: function fetchForm() {
var self = this;
self.loading = true;
wp.ajax.send('weforms_get_form', {
data: {
form_id: this.$route.params.id,
_wpnonce: weForms.nonce
},
success: function success(response) {
self.$store.commit('set_form_post', response.post);
self.$store.commit('set_form_fields', response.form_fields);
self.$store.commit('set_form_notification', response.notifications);
self.$store.commit('set_form_settings', response.settings);
// if nothing saved in the form, it provides an empty array
// but we expect to be an object
if (response.integrations.length !== undefined) {
self.$store.commit('set_form_integrations', {});
} else {
self.$store.commit('set_form_integrations', response.integrations);
}
},
error: function error(_error5) {
alert(_error5);
},
complete: function complete() {
self.loading = false;
}
});
},
// set current sidebar panel
set_current_panel: function set_current_panel(panel) {
this.$store.commit('set_current_panel', panel);
},
// save form builder data
save_form_builder: function save_form_builder() {
var self = this;
if (_.isFunction(this.validate_form_before_submit) && !this.validate_form_before_submit()) {
this.warn({
text: this.validation_error_msg
});
return;
}
self.is_form_saving = true;
self.set_current_panel('form-fields');
wp.ajax.send('wpuf_form_builder_save_form', {
data: {
form_data: $('#wpuf-form-builder').weSerialize(),
form_fields: JSON.stringify(self.form_fields),
notifications: JSON.stringify(self.notifications),
settings: JSON.stringify(self.settings),
payment: JSON.stringify(self.payment),
integrations: JSON.stringify(self.integrations)
},
success: function success(response) {
if (response.form_fields) {
self.$store.commit('set_form_fields', response.form_fields);
}
self.is_form_saving = false;
self.is_form_saved = true;
setTimeout(function () {
window.weFormsBuilderisDirty = false;
}, 500);
toastr.success(self.i18n.saved_form_data);
},
error: function error() {
self.is_form_saving = false;
}
});
},
save_settings: function save_settings() {
toastr.options.preventDuplicates = true;
this.save_form_builder();
},
shareForm: function shareForm(site_url, post) {
var self = this;
if (self.settings.sharing_on === 'on') {
var post_link = site_url + '?weforms=' + btoa(self.getSharingHash() + '_' + Math.floor(Date.now() / 1000) + '_' + post.ID);
swal({
title: self.i18n.shareYourForm,
html: '<p>' + self.i18n.shareYourFormText + '</p> <p><input onClick="this.setSelectionRange(0, this.value.length)" type="text" class="regular-text" value="' + post_link + '"/> <button class="anonymous-share-btn button button-primary" title="Copy URL" data-clipboard-text="' + post_link + '"><i class="fa fa-clipboard" aria-hidden="true"></i></button></p>',
showCloseButton: true,
showCancelButton: true,
confirmButtonClass: 'btn btn-success',
cancelButtonClass: 'btn btn-danger',
confirmButtonColor: '#d54e21',
confirmButtonText: self.i18n.disableSharing,
cancelButtonText: self.i18n.close,
focusCancel: true
}).then(function () {
swal({
title: self.i18n.areYouSure,
html: "<p>" + self.i18n.areYouSureDesc + "</p>",
type: 'info',
confirmButtonColor: '#d54e21',
showCancelButton: true,
confirmButtonText: self.i18n.disable,
cancelButtonText: self.i18n.cancel
}).then(function () {
self.disableSharing();
});
});
} else {
swal({
title: self.i18n.shareYourForm,
html: self.i18n.shareYourFormDesc,
type: 'info',
showCancelButton: true,
confirmButtonText: 'Enable',
cancelButtonText: 'Cancel'
}).then(function () {
self.enableSharing(site_url, post);
});
}
},
enableSharing: function enableSharing(site_url, post) {
this.settings.sharing_on = 'on';
this.save_settings();
this.shareForm(site_url, post);
},
disableSharing: function disableSharing() {
this.settings.sharing_on = false;
this.save_settings();
},
getSharingHash: function getSharingHash() {
if (!this.settings.sharing_hash) {
this.settings.sharing_hash = this.makeRandomString(8);
this.save_settings();
}
return this.settings.sharing_hash;
},
makeRandomString: function makeRandomString(limit) {
limit = limit || 8;
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < limit; i++) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
return text;
},
initSharingClipBoard: function initSharingClipBoard(val) {
var clipboard2 = new window.Clipboard('.anonymous-share-btn');
$(".anonymous-share-btn").tooltip();
clipboard2.on('success', function (e) {
// Show copied tooltip
$(e.trigger).attr('data-original-title', 'Copied!').tooltip('show');
// Reset the copied tooltip
setTimeout(function () {
$(e.trigger).tooltip('hide').attr('data-original-title', 'Copy URL');
}, 1000);
e.clearSelection();
});
}
}
};
/* ./assets/spa/components/form-entries/index.js */
weForms.routeComponents.FormEntries = {
props: {
id: [String, Number]
},
template: '#tmpl-wpuf-form-entries',
data: function data() {
return {
selected: 0,
form_title: 'Loading...',
status: 'publish',
total: 0,
totalTrash: 0
};
}
};
/* ./assets/spa/components/form-entry-single/index.js */
weForms.routeComponents.FormEntriesSingle = {
template: '#tmpl-wpuf-form-entry-single',
mixins: [weForms.mixins.Loading, weForms.mixins.Cookie],
data: function data() {
return {
loading: false,
hideEmpty: true,
hasEmpty: false,
show_payment_data: false,
entry: {
form_fields: {},
meta_data: {},
payment_data: {}
},
form_settings: {},
respondent_points: 0,
answers: {},
countries: weForms.countries
};
},
created: function created() {
this.hideEmpty = this.hideEmptyStatus();
this.fetchData();
},
computed: {
hasFormFields: function hasFormFields() {
return Object.keys(this.entry.form_fields).length;
}
},
methods: {
fetchData: function fetchData() {
var self = this;
this.loading = true;
wp.ajax.send('weforms_form_entry_details', {
data: {
entry_id: self.$route.params.entryid,
form_id: self.$route.params.id,
_wpnonce: weForms.nonce
},
success: function success(response) {
self.loading = false;
self.entry = response;
self.hasEmpty = response.has_empty;
self.form_settings = response.form_settings;
self.respondent_points = response.respondent_points;
self.answers = response.answers;
},
error: function error(_error6) {
self.loading = false;
alert(_error6);
}
});
},
trashEntry: function trashEntry() {
var self = this;
if (!confirm(weForms.confirm)) {
return;
}
wp.ajax.send('weforms_form_entry_trash', {
data: {
entry_id: self.$route.params.entryid,
_wpnonce: weForms.nonce
},
success: function success() {
self.loading = false;
self.$router.push({ name: 'formEntries', params: { id: self.$route.params.id } });
},
error: function error(_error7) {
self.loading = false;
alert(_error7);
}
});
},
hideEmptyStatus: function hideEmptyStatus() {
return this.getCookie('weFormsEntryHideEmpty') === 'false' ? false : true;
},
findCountry: function findCountry(code) {
return this.countries.find(function (country) {
return country.code === code;
});
},
getCountryName: function getCountryName(code) {
if (this.findCountry(code)) {
return this.findCountry(code).name;
}
},
getAddressFieldValue: function getAddressFieldValue(value) {
var self = this,
countryString = value.match(/Country Select:(\s([A-Z])\w+)/g);
if (countryString !== null) {
var countryCode = countryString[0].substring(15, countryString[0].length).trim(),
countryName = self.getCountryName(countryCode),
strToReplace = countryCode;
return value.replace(strToReplace, countryName);
}
return value;
}
},
watch: {
hideEmpty: function hideEmpty(value) {
this.setCookie('weFormsEntryHideEmpty', value, 356);
}
}
};
/* ./assets/spa/components/form-list-table/index.js */
Vue.component('form-list-table', {
template: '#tmpl-wpuf-form-list-table',
mixins: [weForms.mixins.Loading, weForms.mixins.Paginate, weForms.mixins.BulkAction],
data: function data() {
return {
loading: false,
index: 'ID',
items: [],
bulkDeleteAction: 'weforms_form_delete_bulk'
};
},
created: function created() {
this.fetchData();
},
computed: {
is_pro: function is_pro() {
return 'true' === weForms.is_pro;
},
has_payment: function has_payment() {
return 'true' === weForms.has_payment;
}
},
methods: {
fetchData: function fetchData() {
var self = this;
this.loading = true;
wp.ajax.send('weforms_form_list', {
data: {
_wpnonce: weForms.nonce,
page: self.currentPage
},
success: function success(response) {
self.loading = false;
self.items = response.forms;
self.totalItems = response.meta.total;
self.totalPage = response.meta.pages;
},
error: function error(_error8) {
self.loading = false;
alert(_error8);
}
});
},
deleteForm: function deleteForm(index) {
var self = this;
if (confirm('Are you sure?')) {
self.loading = true;
wp.ajax.send('weforms_form_delete', {
data: {
form_id: this.items[index].id,
_wpnonce: weForms.nonce
},
success: function success(response) {
self.items.splice(index, 1);
self.loading = false;
},
error: function error(_error9) {
alert(_error9);
self.loading = false;
}
});
}
},
duplicate: function duplicate(form_id, index) {
var self = this;
this.loading = true;
wp.ajax.send('weforms_form_duplicate', {
data: {
form_id: form_id,
_wpnonce: weForms.nonce
},
success: function success(response) {
self.items.splice(0, 0, response);
self.loading = false;
},
error: function error(_error10) {
alert(_error10);
self.loading = false;
}
});
},
handleBulkAction: function handleBulkAction() {
if ('-1' === this.bulkAction) {
alert('Please chose a bulk action to perform');
return;
}
if ('delete' === this.bulkAction) {
if (!this.checkedItems.length) {
alert('Please select atleast one form to delete.');
return;
}
if (confirm('Are you sure to delete the forms?')) {
this.deleteBulk();
}
}
},
isPendingForm: function isPendingForm(scheduleStart) {
var currentTime = Math.round(new Date().getTime() / 1000),
startTime = Math.round(new Date(scheduleStart).getTime() / 1000);
if (currentTime < startTime) {
return true;
}
return false;
},
isExpiredForm: function isExpiredForm(scheduleEnd) {
var currentTime = Math.round(new Date().getTime() / 1000),
endTime = Math.round(new Date(scheduleEnd).getTime() / 1000);
if (currentTime > endTime) {
return true;
}
return false;
},
isOpenForm: function isOpenForm(scheduleStart, scheduleEnd) {
var currentTime = Math.round(new Date().getTime() / 1000),
startTime = Math.round(new Date(scheduleStart).getTime() / 1000),
endTime = Math.round(new Date(scheduleEnd).getTime() / 1000);
if (currentTime > startTime && currentTime < endTime) {
return true;
}
return false;
},
isFormStatusClosed: function isFormStatusClosed(formSettings, entries) {
if (formSettings.schedule_form === 'true' && this.isPendingForm(formSettings.schedule_start)) {
return true;
}
if (formSettings.schedule_form === 'true' && this.isExpiredForm(formSettings.schedule_end)) {
return true;
}
if (formSettings.limit_entries === 'true' && entries >= formSettings.limit_number) {
return true;
}
return;
},
formatTime: function formatTime(time) {
var date = new Date(time),
month = date.toLocaleString('en-us', { month: 'short' });
return month + ' ' + date.getDate() + ', ' + date.getFullYear();
}
}
});
/* ./assets/spa/components/form-payments/index.js */
weForms.routeComponents.FormPayments = {
props: {
id: [String, Number]
},
template: '#tmpl-wpuf-form-payments',
data: function data() {
return {
form_title: 'Loading...'
};
}
};
/* ./assets/spa/components/home-page/index.js */
weForms.routeComponents.Home = {
template: '#tmpl-wpuf-home-page',
data: function data() {
return {
showTemplateModal: false
};
},
methods: {
displayModal: function displayModal() {
this.showTemplateModal = true;
},
closeModal: function closeModal() {
this.showTemplateModal = false;
}
}
};
/* ./assets/spa/components/tools/index.js */
weForms.routeComponents.Tools = {
template: '#tmpl-wpuf-tools',
mixins: [weForms.mixins.Tabs, weForms.mixins.Loading],
data: function data() {
return {
activeTab: 'export',
exportType: 'all',
loading: false,
forms: [],
importButton: 'Import',
currentStatus: 0,
responseMessage: '',
logs: [],
ximport: {
current: '',
title: '',
action: '',
message: '',
type: 'updated',
refs: {}
}
};
},
computed: {
isInitial: function isInitial() {
return this.currentStatus === 0;
},
isSaving: function isSaving() {
return this.currentStatus === 1;
},
isSuccess: function isSuccess() {
return this.currentStatus === 2;
},
isFailed: function isFailed() {
return this.currentStatus === 3;
},
hasRefs: function hasRefs() {
return Object.keys(this.ximport.refs).length;
},
hasLogs: function hasLogs() {
return Object.keys(this.logs).length;
}
},
created: function created() {
this.fetchData();
this.fetchLogs();
},
methods: {
fetchLogs: function fetchLogs(target) {
var self = this;
self.startLoading(target);
wp.ajax.send('weforms_read_logs', {
data: {
_wpnonce: weForms.nonce
},
success: function success(response) {
self.stopLoading(target);
self.logs = response;
}, error: function error() {
self.stopLoading(target);
self.logs = [];
}
});
},
deleteLogs: function deleteLogs(target) {
var self = this;
if (confirm('Are you sure to clear the log file?')) {
self.startLoading(target);
wp.ajax.send('weforms_delete_logs', {
data: {
_wpnonce: weForms.nonce
},
success: function success(response) {
self.logs = [];
self.stopLoading(target);
self.fetchLogs();
},
error: function error(response) {
self.logs = [];
self.stopLoading(target);
self.fetchLogs();
}
});
}
},
stopLoading: function stopLoading(target) {
target = $(target);
if (target.is('button')) {
target.removeClass('updating-message').find('span').show();
} else if (target.is('span')) {
target.show().parent().removeClass('updating-message');
}
},
startLoading: function startLoading(target) {
target = $(target);
if (target.is('button')) {
target.addClass('updating-message').find('span').hide();
} else if (target.is('span')) {
target.hide().parent().addClass('updating-message');
}
},
fetchData: function fetchData() {
var self = this;
this.loading = true;
wp.ajax.send('weforms_form_names', {
data: {
_wpnonce: weForms.nonce
},
success: function success(response) {
// console.log(response);
self.loading = false;
self.forms = response;
},
error: function error(_error11) {
self.loading = false;
alert(_error11);
}
});
},
importForm: function importForm(fieldName, fileList, event) {
if (!fileList.length) {
return;
}
var formData = new FormData();
var self = this;
formData.append(fieldName, fileList[0], fileList[0].name);
formData.append('action', 'weforms_import_form');
formData.append('_wpnonce', weForms.nonce);
self.currentStatus = 1;
$.ajax({
type: "POST",
url: window.ajaxurl,
data: formData,
processData: false,
contentType: false,
success: function success(response) {
self.responseMessage = response.data;
if (response.success) {
self.currentStatus = 2;
} else {
self.currentStatus = 3;
}
// reset the value
$(event.target).val('');
},
error: function error(errResponse) {
console.log(errResponse);
self.currentStatus = 3;
},
complete: function complete() {
$(event.target).val('');
}
});
},
importx: function importx(target, plugin) {
var button = $(target);
var self = this;
self.ximport.current = plugin;
button.addClass('updating-message').text(button.data('importing'));
wp.ajax.send('weforms_import_xforms_' + plugin, {
data: {
_wpnonce: weForms.nonce
},
success: function success(response) {
self.ximport.title = response.title;
self.ximport.message = response.message;
self.ximport.action = response.action;
self.ximport.refs = response.refs;
},
error: function error(_error12) {
alert(_error12.message);
},
complete: function complete() {
button.removeClass('updating-message').text(button.data('original'));
}
});
},
replaceX: function replaceX(target, type) {
var button = $(target);
var self = this;
button.addClass('updating-message');
wp.ajax.send('weforms_import_xreplace_' + self.ximport.current, {
data: {
type: type,
_wpnonce: weForms.nonce
},
success: function success(response) {
if ('replace' === button.data('type')) {
alert(response);
}
},
error: function error(_error13) {
alert(_error13);
},
complete: function complete() {
self.ximport.current = '';
self.ximport.title = '';
}
});
}
}
};
/* ./assets/spa/components/transactions/index.js */
weForms.routeComponents.Transactions = {
template: '#tmpl-wpuf-transactions',
data: function data() {
return {
selected: 0,
no_transactions: false,
forms: {},
form_title: 'Loading...'
};
},
created: function created() {
this.get_forms();
},
methods: {
get_forms: function get_forms() {
var self = this;
wp.ajax.send('weforms_form_list', {
data: {
_wpnonce: weForms.nonce,
page: self.currentPage,
filter: 'transactions'
},
success: function success(response) {
if (Object.keys(response.forms).length) {
self.forms = response.forms;
self.selected = self.forms[Object.keys(self.forms)[0]].id;
} else {
self.form_title = 'No transaction found';
self.no_transactions = true;
}
},
error: function error(_error14) {
alert(_error14);
}
});
}
}
};
/* ./assets/spa/components/weforms-page-help/index.js */
weForms.routeComponents.Help = {
template: '#tmpl-wpuf-weforms-page-help'
};
/* ./assets/spa/components/weforms-page-privacy/index.js */
weForms.routeComponents.Privacy = {
template: '#tmpl-wpuf-weforms-page-privacy'
};
/* ./assets/spa/components/weforms-premium/index.js */
weForms.routeComponents.Premium = {
template: '#tmpl-wpuf-weforms-premium',
data: function data() {
return {
showModal: false
};
}
};
/* ./assets/spa/components/weforms-settings/index.js */
weForms.routeComponents.Settings = {
template: '#tmpl-wpuf-weforms-settings',
mixins: [weForms.mixins.Loading, weForms.mixins.Cookie],
data: function data() {
return {
loading: false,
settings: {
email_gateway: 'wordpress',
credit: false,
permission: 'manage_options',
gateways: {
sendgrid: '',
mailgun: '',
sparkpost: ''
},
recaptcha: {
type: 'v2',
key: '',
secret: ''
}
},
activeTab: 'general'
};
},
computed: {
is_pro: function is_pro() {
return 'true' === weForms.is_pro;
}
},
created: function created() {
this.fetchSettings();
if (this.getCookie('weforms_settings_active_tab')) {
this.activeTab = this.getCookie('weforms_settings_active_tab');
}
},
methods: {
makeActive: function makeActive(val) {
this.activeTab = val;
},
isActiveTab: function isActiveTab(val) {
return this.activeTab === val;
},
fetchSettings: function fetchSettings() {
var self = this;
self.loading = true;
wp.ajax.send('weforms_get_settings', {
data: {
_wpnonce: weForms.nonce
},
success: function success(response) {
if (response === undefined) {
return;
}
// set defaults if undefined
$.each(self.settings, function (key, value) {
if (response[key] === undefined) {
response[key] = value;
}
});
self.settings = response;
},
complete: function complete() {
self.loading = false;
}
});
},
saveSettings: function saveSettings(target) {
var self = this;
$(target).addClass('updating-message');
wp.ajax.send('weforms_save_settings', {
data: {
settings: JSON.stringify(self.settings),
_wpnonce: weForms.nonce
},
success: function success(response) {
toastr.options.timeOut = 1000;
toastr.success('Settings has been updated');
weForms.settings = response;
},
error: function error(_error15) {
console.log(_error15);
},
complete: function complete() {
$(target).removeClass('updating-message');
}
});
},
post: function post(action, data, _success) {
data = data || {};
_success = _success || function () {};
data._wpnonce = weForms.nonce;
wp.ajax.send(action, {
data: data,
success: function success(response) {
_success(response);
},
error: function error(_error16) {
console.log(_error16);
},
complete: function complete() {}
});
}
},
watch: {
activeTab: function activeTab(value) {
this.setCookie('weforms_settings_active_tab', value, '365');
}
}
};
/* ./assets/spa/app.js */
if (!Array.prototype.hasOwnProperty('swap')) {
Array.prototype.swap = function (from, to) {
this.splice(to, 0, this.splice(from, 1)[0]);
};
}
Vue.component('datepicker', {
template: '<input type="text" v-bind:value="value" />',
props: ['value'],
mounted: function mounted() {
var self = this;
$(this.$el).datetimepicker({
dateFormat: 'yy-mm-dd',
timeFormat: "HH:mm:ss",
onClose: this.onClose
});
},
methods: {
onClose: function onClose(date) {
this.$emit('input', date);
}
}
});
Vue.component('weforms-colorpicker', {
template: '<input type="text" v-bind:value="value" />',
props: ['value'],
mounted: function mounted() {
var self = this;
$(this.$el).wpColorPicker({
change: this.onChange
});
},
methods: {
onChange: function onChange(event, ui) {
this.$emit('input', ui.color.toString());
}
}
});
// check if an element is visible in browser viewport
function is_element_in_viewport(el) {
if (typeof jQuery === "function" && el instanceof jQuery) {
el = el[0];
}
var rect = el.getBoundingClientRect();
return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /*or $(window).height() */
rect.right <= (window.innerWidth || document.documentElement.clientWidth) /*or $(window).width() */
;
}
/**
* Vuex Store data
*/
var wpuf_form_builder_store = new Vuex.Store({
state: {
post: {},
form_fields: [],
panel_sections: wpuf_form_builder.panel_sections,
field_settings: wpuf_form_builder.field_settings,
notifications: [],
settings: {},
integrations: {},
current_panel: 'form-fields',
editing_field_id: 0 // editing form field id
},
mutations: {
set_form_fields: function set_form_fields(state, form_fields) {
Vue.set(state, 'form_fields', form_fields);
},
set_form_post: function set_form_post(state, post) {
Vue.set(state, 'post', post);
},
set_form_notification: function set_form_notification(state, value) {
Vue.set(state, 'notifications', value);
},
set_form_integrations: function set_form_integrations(state, value) {
Vue.set(state, 'integrations', value);
},
set_form_settings: function set_form_settings(state, value) {
Vue.set(state, 'settings', value);
},
// set the current panel
set_current_panel: function set_current_panel(state, panel) {
if ('field-options' !== state.current_panel && 'field-options' === panel && state.form_fields.length) {
state.editing_field_id = state.form_fields[0].id;
}
state.current_panel = panel;
// reset editing field id
if ('form-fields' === panel) {
state.editing_field_id = 0;
}
},
// add show property to every panel section
panel_add_show_prop: function panel_add_show_prop(state) {
state.panel_sections.map(function (section, index) {
if (!section.hasOwnProperty('show')) {
Vue.set(state.panel_sections[index], 'show', true);
}
});
},
// toggle panel sections
panel_toggle: function panel_toggle(state, index) {
state.panel_sections[index].show = !state.panel_sections[index].show;
},
// open field settings panel
open_field_settings: function open_field_settings(state, field_id) {
var field = state.form_fields.filter(function (item) {
return parseInt(field_id) === parseInt(item.id);
});
if ('field-options' === state.current_panel && field[0].id === state.editing_field_id) {
return;
}
if (field.length) {
state.editing_field_id = 0;
state.current_panel = 'field-options';
setTimeout(function () {
state.editing_field_id = field[0].id;
}, 400);
}
},
update_editing_form_field: function update_editing_form_field(state, payload) {
var i = 0;
for (i = 0; i < state.form_fields.length; i++) {
// check if the editing field exist in normal fields
if (state.form_fields[i].id === parseInt(payload.editing_field_id)) {
state.form_fields[i][payload.field_name] = payload.value;
}
// check if the editing field belong to a column field
if (state.form_fields[i].template === 'column_field') {
var innerColumnFields = state.form_fields[i].inner_fields;
for (var columnFields in innerColumnFields) {
if (innerColumnFields.hasOwnProperty(columnFields)) {
var columnFieldIndex = 0;
while (columnFieldIndex < innerColumnFields[columnFields].length) {
if (innerColumnFields[columnFields][columnFieldIndex].id === parseInt(payload.editing_field_id)) {
innerColumnFields[columnFields][columnFieldIndex][payload.field_name] = payload.value;
}
columnFieldIndex++;
}
}
}
}
}
},
// add new form field element
add_form_field_element: function add_form_field_element(state, payload) {
state.form_fields.splice(payload.toIndex, 0, payload.field);
// bring newly added element into viewport
Vue.nextTick(function () {
var el = $('#form-preview-stage .wpuf-form .field-items').eq(payload.toIndex);
if (el && !is_element_in_viewport(el.get(0))) {
$('#builder-stage section').scrollTo(el, 800, { offset: -50 });
}
});
},
// sorting inside stage
swap_form_field_elements: function swap_form_field_elements(state, payload) {
state.form_fields.swap(payload.fromIndex, payload.toIndex);
},
clone_form_field_element: function clone_form_field_element(state, payload) {
var field = _.find(state.form_fields, function (item) {
return parseInt(item.id) === parseInt(payload.field_id);
});
var clone = $.extend(true, {}, field),
index = parseInt(payload.index) + 1;
clone.id = payload.new_id;
clone.name = clone.name + '_copy';
clone.is_new = true;
state.form_fields.splice(index, 0, clone);
},
// delete a field
delete_form_field_element: function delete_form_field_element(state, index) {
state.current_panel = 'form-fields';
state.form_fields.splice(index, 1);
},
// set fields for a panel section
set_panel_section_fields: function set_panel_section_fields(state, payload) {
var section = _.find(state.panel_sections, function (item) {
return item.id === payload.id;
});
section.fields = payload.fields;
},
// notifications
addNotification: function addNotification(state, payload) {
state.notifications.push(_.clone(payload));
},
deleteNotification: function deleteNotification(state, index) {
state.notifications.splice(index, 1);
},
cloneNotification: function cloneNotification(state, index) {
var clone = $.extend(true, {}, state.notifications[index]);
index = parseInt(index) + 1;
state.notifications.splice(index, 0, clone);
},
// update by it's property
updateNotificationProperty: function updateNotificationProperty(state, payload) {
state.notifications[payload.index][payload.property] = payload.value;
},
updateNotification: function updateNotification(state, payload) {
state.notifications[payload.index] = payload.value;
},
updateIntegration: function updateIntegration(state, payload) {
// console.log(payload);
// console.log(state.integrations[payload.index]);
// state.integrations[payload.index] = payload.value;
Vue.set(state.integrations, payload.index, payload.value);
// state.integrations.splice(payload.index, 0, payload.value);
},
// add new form field element to column field
add_column_inner_field_element: function add_column_inner_field_element(state, payload) {
var columnFieldIndex = state.form_fields.findIndex(function (field) {
return field.id === payload.toWhichColumnField;
});
if (state.form_fields[columnFieldIndex].inner_fields[payload.toWhichColumn] === undefined) {
state.form_fields[columnFieldIndex].inner_fields[payload.toWhichColumn] = [];
}
if (state.form_fields[columnFieldIndex].inner_fields[payload.toWhichColumn] !== undefined) {
var innerColumnFields = state.form_fields[columnFieldIndex].inner_fields[payload.toWhichColumn];
if (innerColumnFields.filter(function (innerField) {
return innerField.name === payload.field.name;
}).length <= 0) {
state.form_fields[columnFieldIndex].inner_fields[payload.toWhichColumn].splice(payload.toIndex, 0, payload.field);
}
}
},
move_column_inner_fields: function move_column_inner_fields(state, payload) {
var columnFieldIndex = state.form_fields.findIndex(function (field) {
return field.id === payload.field_id;
}),
innerFields = payload.inner_fields,
mergedFields = [];
Object.keys(innerFields).forEach(function (column) {
// clear column-1, column-2 and column-3 fields if move_to specified column-1
// add column-1, column-2 and column-3 fields to mergedFields, later mergedFields will move to column-1 field
if (payload.move_to === "column-1") {
innerFields[column].forEach(function (field) {
mergedFields.push(field);
});
// clear current column inner fields
state.form_fields[columnFieldIndex].inner_fields[column].splice(0, innerFields[column].length);
}
// clear column-2 and column-3 fields if move_to specified column-2
// add column-2 and column-3 fields to mergedFields, later mergedFields will move to column-2 field
if (payload.move_to === "column-2") {
if (column === "column-2" || column === "column-3") {
innerFields[column].forEach(function (field) {
mergedFields.push(field);
});
// clear current column inner fields
state.form_fields[columnFieldIndex].inner_fields[column].splice(0, innerFields[column].length);
}
}
});
// move inner fields to specified column
if (mergedFields.length !== 0) {
mergedFields.forEach(function (field) {
state.form_fields[columnFieldIndex].inner_fields[payload.move_to].splice(0, 0, field);
});
}
},
// sorting inside column field
swap_column_field_elements: function swap_column_field_elements(state, payload) {
var columnFieldIndex = state.form_fields.findIndex(function (field) {
return field.id === payload.field_id;
}),
fieldObj = state.form_fields[columnFieldIndex].inner_fields[payload.fromColumn][payload.fromIndex];
if (payload.fromColumn !== payload.toColumn) {
// add the field object to the target column
state.form_fields[columnFieldIndex].inner_fields[payload.toColumn].splice(payload.toIndex, 0, fieldObj);
// remove the field index from the source column
state.form_fields[columnFieldIndex].inner_fields[payload.fromColumn].splice(payload.fromIndex, 1);
} else {
state.form_fields[columnFieldIndex].inner_fields[payload.toColumn].swap(payload.fromIndex, payload.toIndex);
}
},
// open field settings panel
open_column_field_settings: function open_column_field_settings(state, payload) {
var field = payload.column_field;
if ('field-options' === state.current_panel && field.id === state.editing_field_id) {
return;
}
if (field) {
state.editing_field_id = 0;
state.current_panel = 'field-options';
state.editing_field_type = 'column_field';
state.editing_column_field_id = payload.field_id;
state.edting_field_column = payload.column;
state.editing_inner_field_index = payload.index;
setTimeout(function () {
state.editing_field_id = field.id;
}, 400);
}
},
clone_column_field_element: function clone_column_field_element(state, payload) {
var columnFieldIndex = state.form_fields.findIndex(function (field) {
return field.id === payload.field_id;
});
var field = _.find(state.form_fields[columnFieldIndex].inner_fields[payload.toColumn], function (item) {
return parseInt(item.id) === parseInt(payload.column_field_id);
});
var clone = $.extend(true, {}, field),
index = parseInt(payload.index) + 1;
clone.id = payload.new_id;
clone.name = clone.name + '_copy';
clone.is_new = true;
state.form_fields[columnFieldIndex].inner_fields[payload.toColumn].splice(index, 0, clone);
},
// delete a column field
delete_column_field_element: function delete_column_field_element(state, payload) {
var columnFieldIndex = state.form_fields.findIndex(function (field) {
return field.id === payload.field_id;
});
state.current_panel = 'form-fields';
state.form_fields[columnFieldIndex].inner_fields[payload.fromColumn].splice(payload.index, 1);
}
}
});
// 1. Define route components.
weForms.routeComponents.FormHome = { template: '<div><router-view class="child"></router-view></div>' };
weForms.routeComponents.SingleForm = { template: '#tmpl-wpuf-form-editor' };
weForms.routeComponents.FormEntriesHome = {
template: '<div><router-view class="grand-child"></router-view></div>'
};
/**
* Parse the route array and bind required components
*
* This changes the weForms.routes array and changes the components
* so we can use weForms.routeComponents.{compontent} component.
*
* @param {array} routes
*
* @return {void}
*/
function parseRouteComponent(routes) {
for (var i = 0; i < routes.length; i++) {
if (_typeof(routes[i].children) === 'object') {
parseRouteComponent(routes[i].children);
if (typeof routes[i].component !== 'undefined') {
routes[i].component = weForms.routeComponents[routes[i].component];
}
} else {
routes[i].component = weForms.routeComponents[routes[i].component];
}
}
}
// mutate the localized array
parseRouteComponent(weForms.routes);
// 3. Create the router instance and pass the `routes` option
var router = new VueRouter({
routes: weForms.routes,
scrollBehavior: function scrollBehavior(to, from, savedPosition) {
if (savedPosition) {
return savedPosition;
} else {
return { x: 0, y: 0 };
}
}
});
window.weFormsBuilderisDirty = false;
router.beforeEach(function (to, from, next) {
// show warning if builder has unsaved changes
if (window.weFormsBuilderisDirty) {
if (confirm(wpuf_form_builder.i18n.unsaved_changes + ' ' + wpuf_form_builder.i18n.areYouSureToLeave)) {
window.weFormsBuilderisDirty = false;
} else {
next(from.path);
return false;
}
}
next();
});
weForms.validators = {
is_recaptcha_v2: function is_recaptcha_v2() {
return weForms.settings.recaptcha.type === 'v2';
}
};
var app = new Vue({
router: router,
store: wpuf_form_builder_store
}).$mount('#wpuf-contact-form-app');
// Admin menu hack
var menuRoot = $('#toplevel_page_weforms');
menuRoot.on('click', 'a', function () {
var self = $(this);
$('ul.wp-submenu li', menuRoot).removeClass('current');
if (self.hasClass('wp-has-submenu')) {
$('li.wp-first-item', menuRoot).addClass('current');
} else {
self.parents('li').addClass('current');
}
});
$(function () {
// select the current sub menu on page load
var current_url = window.location.href;
var current_path = current_url.substr(current_url.indexOf('admin.php'));
$('ul.wp-submenu a', menuRoot).each(function (index, el) {
if ($(el).attr('href') === current_path) {
$(el).parent().addClass('current');
return;
}
});
});
})(jQuery);