Sindbad~EG File Manager
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var CustomCSS = function CustomCSS() {
function customCSS() {
var pageCSS = elementor.settings.page.model.get('raven_custom_css');
if (pageCSS) {
pageCSS = pageCSS.replace(/selector/g, '.elementor-page-' + elementor.config.document.id);
elementor.settings.page.getControlsCSS().elements.$stylesheetElement.append(pageCSS);
}
}
function init() {
elementor.on('preview:loaded', customCSS);
elementor.settings.page.model.on('change', customCSS);
}
return {
init: init
};
};
exports.default = CustomCSS();
},{}],2:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var Templates = function Templates() {
// Find Elementor library remote template and prepend Jupiter X badge.
function prependBadge() {
var templateRemote = jQuery('#tmpl-elementor-template-library-template-remote'),
template = templateRemote.text(),
badgeHTML = '<# var ravenId = \'raven_\' #>\n <# if ( String( template_id ).substr( 0, ravenId.length ) === ravenId && typeof templatePro !== \'undefined\' && templatePro ) { #>\n <span class="raven-template-library-badge">\n Jupiter\n <svg enable-background="new 0 0 20 19.1" version="1.1" viewBox="0 0 20 19.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">\n <style type="text/css">.st0{fill:#FFFFFF;}</style>\n <path class="st0" d="m19.9 0.5c0.2-0.2 0.1-0.5-0.2-0.5h-2.9c-0.9 0-1.8 0.4-2.4 1.1l-4.2 5.1c-0.1 0.1-0.4 0.1-0.5 0l-4.2-5.1c-0.5-0.7-1.4-1.1-2.3-1.1h-2.9c-0.3 0-0.4 0.3-0.2 0.5l7.3 8.8c0.1 0.1 0.1 0.3 0 0.4l-7.3 8.8c-0.2 0.2 0 0.5 0.2 0.5h2.9c0.9 0 1.8-0.4 2.4-1.1l14.3-17.4zm-7 9.8-2.3 2.8v0.2l3.9 4.7c0.6 0.7 1.4 1.1 2.4 1.1h2.9c0.3 0 0.4-0.3 0.2-0.5l-6.8-8.3c-0.1-0.1-0.3-0.1-0.3 0z"/>\n </svg>\n </span>\n <# } else if ( String( template_id ).substr( 0, ravenId.length ) === ravenId && typeof templatePro !== \'undefined\' && ! templatePro ) { #>\n <span class="raven-template-library-badge raven-template-pro">\n <# if ( typeof jupiterxPremium !== \'undefined\' ) { #>\n Activate to Unlock\n <# } else { #>\n Upgrade to Unlock\n <# } #>\n </span>\n <# } #>\n ';
template = badgeHTML + template;
templateRemote.text(template);
}
// Run final init when xhr/ajax action request is by getting the templates library data.
function onRequestInit() {
jQuery(document).ajaxComplete(function (event, request, settings) {
if (settings.data.indexOf('action=elementor_ajax') !== -1 && settings.data.indexOf('get_library_data') !== -1) {
setTimeout(actuallyInit, 100);
}
});
}
function actuallyInit() {
var layout = elementor.templates.layout;
if (typeof layout === 'undefined') {
return;
}
var content = layout.modalContent;
// Add Jupiter X filter button.
function addFilter() {
var filter = content.$el.find('#elementor-template-library-filter-toolbar-remote');
if (!filter.length || filter.find('.raven-template-library-filter').length) {
return;
}
filter.append('\n <div class="raven-template-library-filter">\n <label class="raven-template-library-filter-button">Jupiter X</label>\n </div>\n ');
var button = filter.find('.raven-template-library-filter-button'),
input = content.$el.find('#elementor-template-library-filter-text'),
query = 'Jupiter X',
isFiltered = false;
button.on('click', function () {
isFiltered = !isFiltered;
button.toggleClass('raven-template-library-filter-active', isFiltered);
input.trigger('input');
});
input.on('input', function (event) {
if (isFiltered) {
event.stopPropagation();
elementor.templates.setFilter('text', query + ' - ' + input.val());
}
});
}
// Initially apply class on initial page display.
addFilter();
/**
* Listen to whenever a library menu item is clicked.
* Such as Blocks, Pages or My Templates.
*/
content.listenTo(content, 'show', function () {
// Whenever modal content is changing.
addFilter();
});
}
function goProButton() {
elementor.hooks.addFilter('elementor/editor/template-library/template/action-button', function (viewId, data) {
var ravenId = 'raven_';
if (String(data.template_id).substr(0, ravenId.length) === ravenId && !data.templatePro) {
return '#tmpl-elementor-template-library-get-raven-pro-button';
}
return viewId;
}, 100);
}
function init() {
prependBadge();
goProButton();
onRequestInit();
}
return {
init: init
};
};
exports.default = Templates();
},{}],3:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var Checkbox = elementor.modules.controls.BaseData.extend({
ui: function ui() {
var ui = elementor.modules.controls.BaseData.prototype.ui.apply(this, arguments);
ui.controlCheckbox = '.raven-control-checkbox';
ui.mainInput = 'input[type=hidden]';
return ui;
},
onReady: function onReady() {
var self = this,
initialValue = self.ui.mainInput.val() || '',
arr = initialValue.split(',');
if (arr.length) {
self.ui.controlCheckbox.each(function () {
if (this.checked) {
arr.push(this.value);
}
});
arr = arr.filter(function (item, pos) {
return arr.indexOf(item) === pos;
});
self.ui.mainInput.val(arr.join(','));
}
self.ui.controlCheckbox.on('click', function () {
var oldVal = self.ui.mainInput.val() || '',
arr = oldVal.split(',');
if (arr.length) {
if (this.checked) {
arr.push(this.value);
} else {
var index = arr.indexOf(this.value);
arr.splice(index, 1);
}
self.ui.mainInput.val(arr.join(','));
self.ui.mainInput.trigger('input');
}
});
}
});
exports.default = Checkbox;
},{}],4:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var FileUploader = elementor.modules.controls.BaseMultiple.extend({
ui: function ui() {
var ui = elementor.modules.controls.BaseMultiple.prototype.ui.apply(this, arguments);
ui.fileUploader = 'raven-control-file-uploader';
ui.fileUploaderInput = '.raven-control-file-uploader-input';
ui.fileUploaderBtn = '.raven-control-file-uploader-button';
ui.fileUploaderValue = '.raven-control-file-uploader-value';
ui.fileUploaderRemoveBtn = '.raven-control-file-uploader-value .fa';
ui.fileUploaderProgress = '.raven-control-file-uploader-progress';
ui.fileUploaderWarning = '.raven-control-file-uploader-warning';
ui.fileUploaderSizeWarning = '.raven-control-file-uploader-warning-size';
return ui;
},
events: function events() {
return _.extend(elementor.modules.controls.BaseMultiple.prototype.events.apply(this, arguments), {
'change @ui.fileUploaderInput': 'onFileInputChange',
'click @ui.fileUploaderRemoveBtn': 'onFileRemove'
});
},
onFileInputChange: function onFileInputChange(event) {
var self = this;
this.hideWarnings();
if (event.target.files.length === 0) {
return;
}
if (!this.checkFileSize(event.target.files[0])) {
return;
}
var formData = new FormData();
formData.append('action', 'raven_control_file_upload');
formData.append('file', event.target.files[0]);
this.showUploadProgress();
jQuery.ajax(this.ui.fileUploaderInput.data('ajax-url'), {
method: 'POST',
processData: false,
contentType: false,
global: false,
data: formData,
success: function success(res) {
if (res.success) {
self.setValue('files', [res.data]);
self.showFile(res.data.name);
} else {
self.ui.fileUploaderInput.val('');
self.ui.fileUploaderWarning.find('ul').append('<li class="error">' + res.data + '</li>');
self.ui.fileUploaderWarning.show();
self.showUploadBtn();
}
},
error: function error(xhr, status, _error) {
self.ui.fileUploaderInput.val('');
self.ui.fileUploaderWarning.find('ul').append('<li class="error">Something went wrong please try again.</li>');
self.ui.fileUploaderWarning.show();
self.showUploadBtn();
}
});
},
onFileRemove: function onFileRemove(event) {
event.stopPropagation();
this.setValue('files', []);
this.ui.fileUploaderValue.hide();
this.ui.fileUploaderBtn.show();
this.ui.fileUploaderInput.val('');
},
hideWarnings: function hideWarnings() {
this.ui.fileUploaderWarning.hide();
this.ui.fileUploaderWarning.find('li').hide();
this.ui.fileUploaderWarning.find('li.error').remove();
},
checkFileSize: function checkFileSize(file) {
var uploadLimit = parseFloat(this.ui.fileUploaderInput.data('max-upload-limit'));
if (file.size > uploadLimit) {
this.ui.fileUploaderWarning.show();
this.ui.fileUploaderSizeWarning.show();
return false;
}
return true;
},
stripHash: function stripHash(filename) {
var ext = filename.split('.').pop();
var name = filename.replace('.' + ext, '');
name = name.split('__').shift();
return name + '.' + ext;
},
shortenFilename: function shortenFilename(filename) {
return filename.length > 15 ? filename.substr(0, 15) + '...' : filename;
},
showFile: function showFile(filename) {
this.ui.fileUploaderProgress.hide();
this.ui.fileUploaderBtn.hide();
filename = this.stripHash(filename);
this.ui.fileUploaderValue.find('> span:first-child').attr('title', filename).text(this.shortenFilename(filename));
this.ui.fileUploaderValue.css('display', 'flex');
},
showUploadBtn: function showUploadBtn() {
this.ui.fileUploaderValue.hide();
this.ui.fileUploaderProgress.hide();
this.ui.fileUploaderBtn.show();
},
showUploadProgress: function showUploadProgress() {
this.ui.fileUploaderValue.hide();
this.ui.fileUploaderBtn.hide();
this.ui.fileUploaderProgress.show();
},
onRender: function onRender() {
_.extend(elementor.modules.controls.BaseMultiple.prototype.onRender.apply(this, arguments));
var files = this.getControlValue('files');
if (!files || files.length === 0) {
return;
}
this.showFile(files[0].name);
}
});
exports.default = FileUploader;
},{}],5:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var Media = elementor.modules.controls.Media.extend({
ui: function ui() {
var ui = elementor.modules.controls.BaseMultiple.prototype.ui.apply(this, arguments);
ui.controlMedia = '.raven-control-media';
ui.mediaInput = '.raven-control-media .elementor-input';
ui.frameOpeners = '.raven-control-media-upload';
return ui;
},
events: function events() {
return _.extend(elementor.modules.controls.BaseMultiple.prototype.events.apply(this, arguments), {
'click @ui.frameOpeners': 'openFrame'
});
},
applySavedValue: function applySavedValue() {
var url = this.getControlValue('url');
this.ui.mediaInput.val(url);
},
initFrame: function initFrame() {
this.frame = wp.media({
button: {
text: elementor.translate('insert_media')
},
states: [new wp.media.controller.Library({
title: elementor.translate('insert_media'),
library: wp.media.query(this.model.get('query')),
multiple: false,
date: false
})]
});
this.frame.on('insert select', this.select.bind(this));
this.frame.on('close', this.close.bind(this));
},
close: function close() {
this.setValue({
url: '',
id: ''
});
this.render();
}
});
exports.default = Media;
},{}],6:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var Presets = elementor.modules.controls.BaseData.extend({
ui: function ui() {
var ui = elementor.modules.controls.BaseMultiple.prototype.ui.apply(this, arguments);
ui.presetItems = '.raven-element-presets';
ui.presetItem = '.raven-element-presets-item';
return ui;
},
events: function events() {
return _.extend(elementor.modules.controls.BaseMultiple.prototype.events.apply(this, arguments), {
'click @ui.presetItem ': 'onPresetClick'
});
},
onReady: function onReady() {
window.ravenPresets = window.ravenPresets || {};
this.loadPresets(this.elementSettingsModel.get('widgetType'));
elementor.channels.data.bind('raven:element:after:reset:style', this.onElementResetStyle.bind(this));
},
onElementResetStyle: function onElementResetStyle() {
if (this.isRendered) {
this.render();
}
},
onPresetClick: function onPresetClick(e) {
var $preset = $(e.currentTarget);
$preset.siblings('.raven-element-presets-item').removeClass('active');
$preset.addClass('active');
var preset = _.find(this.getPresets(), { id: $preset.data('preset-id') });
this.applyPreset(this.elementDefaultSettings(), preset);
this.selectPreset(preset.id);
},
applyPreset: function applyPreset() {
var settings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var preset = arguments[1];
for (var setting in preset.widget.settings) {
if (this.model.get('name') === setting) {
continue;
}
var control = this.elementSettingsModel.controls[setting];
if (typeof control === 'undefined') {
continue;
}
if (control.is_repeater) {
this.elementSettingsModel.get(setting).reset();
settings[setting] = new window.Backbone.Collection(preset.widget.settings[setting], { model: _.partial(this.createRepeaterItemModel, _, _, this) });
continue;
}
settings[setting] = preset.widget.settings[setting];
}
this.elementSettingsModel.set(settings);
},
createRepeaterItemModel: function createRepeaterItemModel(attrs, options, controlView) {
options = options || {};
options.controls = controlView.elementSettingsModel.get('fields');
if (!attrs._id) {
attrs._id = elementor.helpers.getUniqueID();
}
return new window.elementorModules.editor.elements.models.BaseSettings(attrs, options);
},
elementDefaultSettings: function elementDefaultSettings() {
var self = this,
controls = self.elementSettingsModel.controls,
settings = {};
jQuery.each(controls, function (controlName, control) {
if (controlName === 'raven_presets') {
return;
}
settings[controlName] = control.default;
});
return settings;
},
loadPresets: function loadPresets(widget) {
var _this = this;
if (this.isPresetDataLoaded()) {
if (this.getPresets().length === 0) {
return;
}
this.insertPresets();
if (this.ui.presetItem.length === 0) {
this.render();
}
return;
}
this.ui.presetItems.addClass('loading');
wp.ajax.post('raven_element_presets', { 'raven_element': widget }).done(function (data) {
_this.ui.presetItems.removeClass('loading');
_this.setPresets(data);
_this.insertPresets();
_this.render();
}).fail(function () {
_this.ui.presetItems.removeClass('loading');
_this.setPresets([]);
});
},
insertPresets: function insertPresets() {
var value = this.getControlValue();
this.setValue({
selectedId: value ? value.selectedId : null,
presets: this.getPresets()
});
},
selectPreset: function selectPreset(id) {
var value = this.getControlValue();
value.selectedId = id;
this.setValue(value);
},
getPresets: function getPresets() {
if (!window.ravenPresets) {
return [];
}
return window.ravenPresets[this.elementSettingsModel.get('widgetType')] || [];
},
setPresets: function setPresets(presets) {
window.ravenPresets[this.elementSettingsModel.get('widgetType')] = presets;
},
isPresetDataLoaded: function isPresetDataLoaded() {
if (window.ravenPresets[this.elementSettingsModel.get('widgetType')]) {
return true;
}
return false;
},
onBeforeDestroy: function onBeforeDestroy() {
elementor.channels.data.unbind('raven:element:after:reset:style');
}
});
exports.default = Presets;
},{}],7:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var Query = elementor.modules.controls.Select2.extend({
cache: null,
isTitlesReceived: false,
getSelect2Placeholder: function getSelect2Placeholder() {
var text = '';
if (this.model.get('select2options')) {
text = this.model.get('select2options').placeholder;
}
return {
id: '',
text: text
};
},
getSelect2DefaultOptions: function getSelect2DefaultOptions() {
var self = this;
return jQuery.extend(elementor.modules.controls.Select2.prototype.getSelect2DefaultOptions.apply(this, arguments), {
ajax: {
transport: _.debounce(function (params, success, failure) {
var action = 'raven_control_query_autocomplete',
ids = self.getControlValue() || [],
query = _.extend({}, self.model.get('query') || {}),
settings = self.container.model.get('settings');
if (!_.isArray(ids)) {
ids = [ids];
}
var source = query.source,
controlQuery = query.control_query;
delete query.source;
delete query.control_query;
for (var key in controlQuery) {
query[key] = settings.get(controlQuery[key]);
}
query['s'] = params.data.q;
if (!_.isEmpty(ids)) {
query['exclude'] = ids;
}
var data = {
'source': source,
query: query
};
window.elementorCommon.ajax.addRequest(action, {
data: data,
success: success,
error: failure
});
}, 500),
cache: true
},
escapeMarkup: function escapeMarkup(markup) {
return markup;
},
minimumInputLength: 1
});
},
getValueTitles: function getValueTitles() {
var self = this,
ids = self.getControlValue() || [];
if (!ids || _.isArray(ids) && !ids.length) {
return;
} else if (!_.isArray(ids)) {
ids = [ids];
}
var settings = self.container.model.get('settings'),
query = _.extend({}, self.model.get('query') || {}),
action = 'raven_control_query_autocomplete';
var source = query.source,
controlQuery = query.control_query;
delete query.source;
delete query.control_query;
for (var key in controlQuery) {
query[key] = settings.get(controlQuery[key]);
}
query['include'] = ids;
var data = {
'source': source,
query: query
};
window.elementorCommon.ajax.loadObjects({
action: action,
ids: ids,
data: data,
before: function before() {
self.addControlSpinner();
},
success: function success(_ref) {
var results = _ref.results;
if (self.isDestroyed) {
return;
}
var options = [];
if (!_.isEmpty(results)) {
results.forEach(function (item) {
options[item.id] = item.text;
});
}
self.isTitlesReceived = true;
self.model.set('options', options);
self.render();
}
});
},
addControlSpinner: function addControlSpinner() {
this.ui.select.prop('disabled', true);
this.$el.find('.elementor-control-title').after('<span class="elementor-control-spinner"> <i class="eicon-spinner eicon-animation-spin"></i> </span>');
},
onReady: function onReady() {
setTimeout(elementor.modules.controls.Select2.prototype.onReady.apply(this, arguments));
if (!this.isTitlesReceived) {
this.getValueTitles();
}
}
});
exports.default = Query;
},{}],8:[function(require,module,exports){
'use strict';
(function ($, window) {
var RavenEditor = function RavenEditor() {
var self = this;
function initComponents() {
var components = {
templates: require('./components/templates').default,
customCSS: require('./components/custom-css').default
};
for (var component in components) {
components[component].init();
}
}
function initControls() {
self.controls = {
media: require('./controls/media').default,
checkbox: require('./controls/checkbox').default,
file_uploader: require('./controls/file-uploader').default,
presets: require('./controls/presets').default,
query: require('./controls/query').default
};
for (var control in self.controls) {
elementor.addControlView('raven_' + control, self.controls[control]);
}
}
function initWidgets() {
var widgets = {
'raven-form': require('./widgets/form').default,
'raven-categories': require('./widgets/categories').default,
'raven-posts': require('./widgets/posts').default,
'raven-post-carousel': require('./widgets/posts').default
};
for (var widget in widgets) {
elementor.hooks.addAction('panel/open_editor/widget/' + widget, widgets[widget]);
}
}
function initUtils() {
self.utils = {
Module: require('./utils/module').default,
Form: require('./utils/form').default
};
}
function onElementorReady() {
initComponents();
initControls();
}
function onFrontendInit() {
initWidgets();
}
function onPreviewLoaded() {
initUtils();
setWidgetsDarkIcon();
}
function onElementResetStyle(model) {
if (model.get('elType') !== 'widget') {
return;
}
resetElementPresets(model);
elementor.channels.data.trigger('raven:element:after:reset:style', model);
}
function setWidgetsDarkIcon(value) {
if (typeof elementor.settings.editorPreferences !== 'undefined') {
$('#elementor-editor-wrapper').removeClass('raven-icon-theme-dark raven-icon-theme-light raven-icon-theme-auto');
var uiTheme = typeof value !== 'undefined' ? value.attributes.ui_theme : elementor.settings.editorPreferences.model.get('ui_theme');
$('#elementor-editor-wrapper').addClass('raven-icon-theme-' + uiTheme);
}
}
function resetElementPresets(model) {
var controls = model.get('settings').controls;
if (!controls.raven_presets) {
return;
}
model.setSetting('raven_presets', null);
}
function onElementorInit() {
onElementorReady();
elementor.on('frontend:init', onFrontendInit);
elementor.on('preview:loaded', onPreviewLoaded);
elementor.channels.data.bind('element:after:reset:style', onElementResetStyle);
if (typeof elementor.settings.editorPreferences !== 'undefined') {
elementor.settings.editorPreferences.model.on('change', setWidgetsDarkIcon);
}
}
$(window).on('elementor:init', onElementorInit);
};
window.ravenEditor = new RavenEditor();
})(jQuery, window);
},{"./components/custom-css":1,"./components/templates":2,"./controls/checkbox":3,"./controls/file-uploader":4,"./controls/media":5,"./controls/presets":6,"./controls/query":7,"./utils/form":9,"./utils/module":10,"./widgets/categories":11,"./widgets/form":12,"./widgets/posts":16}],9:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _module = require('./module');
var _module2 = _interopRequireDefault(_module);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Form = _module2.default.extend({
// TODO: Translation ready.
selectOptions: {
'default': { '': 'Select one' },
'fetching': { 'fetching': 'Fetching...' },
'noList': { 'no_list': 'No list found' }
},
action: null,
onInit: function onInit() {
var _this = this;
elementor.channels.editor.on('section:activated', this.onSectionActivated);
if (this.onElementChange) {
elementor.channels.editor.on('change', function (controlView, elementView) {
_this.onElementChange(controlView.model.get('name'), controlView, elementView);
});
}
},
updateList: function updateList(params) {
var self = this;
// Set fetching option.
self.setOptions(this.selectOptions.fetching);
self.setSelectedOption();
// Send AJAX request to fetch list.
wp.ajax.send('raven_form_editor', {
data: _.extend({}, { params: params }, {
service: self.action,
request: 'get_list'
}),
success: self.doSuccess
});
},
updateFieldMapping: function updateFieldMapping() {
var self = this;
_.each(self.fields, function (field, fieldKey) {
var control = self.getControl(fieldKey);
var controlView = self.getControlView(fieldKey);
var options = {};
var fieldItems = self.getRepeaterItemsByLabel('fields', field.filter);
_.extend(options, self.selectOptions.default, fieldItems);
self.setOptions(options, control, controlView);
});
},
getListControl: function getListControl() {
return this.getControl(this.action + '_list');
},
getListControlView: function getListControlView() {
return this.getControlView(this.action + '_list');
},
setOptions: function setOptions(options) {
var control = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var controlView = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
if (control == null) {
control = this.getListControl();
controlView = this.getListControlView();
}
control.set('options', options);
controlView.render();
},
setSelectedOption: function setSelectedOption() {
var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var controlView = this.getListControlView();
controlView.$el.find('select').prop('selectedIndex', index);
},
getRepeaterItemsByLabel: function getRepeaterItemsByLabel(propertyName, filter) {
var items = {};
var fieldItems = this.getElementSettings(this.model, propertyName);
_.filter(fieldItems, function (item) {
if (filter && item.type !== filter) {
return;
}
items[item._id] = item.label;
});
return items;
}
});
exports.default = Form;
},{"./module":10}],10:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var Module = elementorModules.editor.utils.Module.extend({
panel: null,
getControl: function getControl(propertyName) {
if (!this.panel) {
return;
}
var control = this.panel.getCurrentPageView().collection.findWhere({ name: propertyName });
return control;
},
getControlView: function getControlView(propertyName) {
if (!this.panel) {
return;
}
var control = this.getControl(propertyName);
var view = this.panel.getCurrentPageView().children.findByModelCid(control.cid);
return view;
},
getControlValue: function getControlValue(id) {
return this.getControlView(id).getControlValue();
},
addControlSpinner: function addControlSpinner(name) {
var $el = this.getControlView(name).$el,
$input = $el.find(':input');
if ($input.attr('disabled') || $el.find('.elementor-control-spinner').length > 0) {
return;
}
$input.attr('disabled', true);
$el.find('.elementor-control-title').after('<span style="display:inline-flex" class="elementor-control-spinner"><span class="fa fa-spinner fa-spin"></span> </span>');
},
removeControlSpinner: function removeControlSpinner(name) {
var $el = this.getControlView(name).$el;
$el.find(':input').attr('disabled', false);
$el.find('.elementor-control-spinner').remove();
},
getElementSettings: function getElementSettings(model, name) {
if (!model) {
return null;
}
var value = model.get('settings').get(name);
return value instanceof window.Backbone.Collection ? value.toJSON() : value;
}
});
exports.default = Module;
},{}],11:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (panel, model, view) {
var Categories = _module2.default.extend({
panel: panel,
onInit: function onInit() {
var self = this;
self.doAjax();
elementor.channels.editor.on('change', function (controlView) {
self.onElementChange(controlView.model.get('name'));
});
},
onElementChange: function onElementChange(propertyName) {
if (propertyName !== 'source') {
return;
}
this.doAjax();
},
doAjax: function doAjax() {
var self = this;
wp.ajax.send('raven_categories_editor', {
data: {
post_type: self.getElementSettings(model, 'source')
},
success: self.onSuccess
});
},
onSuccess: function onSuccess(response) {
var _this = this;
var options = {};
var controlIds = ['specific_categories', 'exclude'];
_.each(response, function (term) {
options[term.term_id] = term.name;
});
_.each(controlIds, function (controlId) {
var control = _this.getControl(controlId);
var controlView = _this.getControlView(controlId);
control.set('options', options);
if (!controlView) {
return;
}
controlView.render();
});
}
});
new Categories({
$element: view.$el
});
};
var _module = require('../utils/module');
var _module2 = _interopRequireDefault(_module);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
},{"../utils/module":10}],12:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (panel, model, view) {
var formActions = {
mailchimp: require('./forms/mailchimp').default,
hubspot: require('./forms/hubspot').default,
email: require('./forms/email').default
};
for (var action in formActions) {
formActions[action](panel, model, view);
}
};
},{"./forms/email":13,"./forms/hubspot":14,"./forms/mailchimp":15}],13:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (panel, model, view) {
var Email = _form2.default.extend({
panel: panel,
model: model,
action: 'email',
onSectionActivated: function onSectionActivated(activeSection, section) {
if (activeSection !== 'section_' + this.action) {
return;
}
if (section.model.id !== model.get('id')) {
return;
}
var replyToOptionsControl = this.getControlView('email_reply_to_options');
if (!replyToOptionsControl) {
return;
}
replyToOptionsControl.model.set('options', this.getEmailFields());
replyToOptionsControl.render();
},
getEmailFields: function getEmailFields() {
return _.extend({}, { 'custom': 'Custom' }, this.getRepeaterItemsByLabel('fields', 'email'));
}
});
new Email({
$element: view.$el
});
};
var _form = require('../../utils/form');
var _form2 = _interopRequireDefault(_form);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
},{"../../utils/form":9}],14:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (panel, model, view) {
var Hubspot = _module2.default.extend({
panel: panel,
action: 'hubspot',
onInit: function onInit() {
elementor.channels.editor.on('section:activated', this.onSectionActivated.bind(this));
},
onSectionActivated: function onSectionActivated(activeSection, section) {
var _this = this;
if (section.model.id !== model.get('id')) {
return;
}
if (activeSection !== 'section_' + this.action) {
return;
}
this.updateFieldMapping();
this.getControlView('hubspot_mapping').on('add:child', function () {
_this.updateFieldMapping();
});
},
updateFieldMapping: function updateFieldMapping() {
var _this2 = this;
var fieldsMapControlView = this.getControlView('hubspot_mapping');
fieldsMapControlView.children.each(function (repeaterRow) {
repeaterRow.children.each(function (repeaterRowField) {
var fieldName = repeaterRowField.model.get('name');
var fieldModel = repeaterRowField.model;
if (fieldName === 'hubspot_local_form_field') {
fieldModel.set('options', _this2.getFormFields());
}
repeaterRowField.render();
});
});
},
getRepeaterItemsByLabel: function getRepeaterItemsByLabel(propertyName, filter) {
var items = {};
var fieldItems = this.getElementSettings(model, propertyName);
_.filter(fieldItems, function (item) {
if (filter && item.type !== filter) {
return;
}
items[item._id] = item.label;
});
return items;
},
getFormFields: function getFormFields() {
return _.extend({}, { '': '- None -' }, this.getRepeaterItemsByLabel('fields'));
}
});
new Hubspot({
$element: view.$el
});
};
var _module = require('./../../utils/module');
var _module2 = _interopRequireDefault(_module);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
},{"./../../utils/module":10}],15:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (panel, model, view) {
var Mailchimp = _form2.default.extend({
panel: panel,
model: model,
action: 'mailchimp',
remoteFields: [],
onSectionActivated: function onSectionActivated(activeSection, section) {
var _this = this;
if (activeSection !== 'section_' + this.action) {
return;
}
if (section.model.id !== model.get('id')) {
return;
}
this.addControlSpinner('mailchimp_fields_mapping');
this.addControlSpinner('mailchimp_groups');
this.updateList({
mailchimp_api_key_source: this.getControlValue('mailchimp_api_key_source') || 'default',
mailchimp_api_key: this.getControlValue('mailchimp_api_key')
});
this.getControlView('mailchimp_fields_mapping').on('add:child', function () {
_this.updateFieldMapping();
});
},
updateFieldMapping: function updateFieldMapping() {
var _this2 = this;
var fieldsMapControlView = this.getControlView('mailchimp_fields_mapping');
fieldsMapControlView.children.each(function (repeaterRow) {
repeaterRow.children.each(function (repeaterRowField) {
var fieldName = repeaterRowField.model.get('name');
var fieldModel = repeaterRowField.model;
if (fieldName === 'mailchimp_remote_field') {
fieldModel.set('options', _this2.getRemoteFields());
} else if (fieldName === 'mailchimp_local_field') {
fieldModel.set('options', _this2.getFormFields());
}
repeaterRowField.render();
});
});
},
clearFieldMapping: function clearFieldMapping() {
var fieldsMapControlView = this.getControlView('mailchimp_fields_mapping');
fieldsMapControlView.collection.each(function (model) {
if (model) {
model.destroy();
}
});
fieldsMapControlView.render();
},
doSuccess: function doSuccess(response) {
var self = this;
var options = {};
var lists = {};
var mailchimpList = this.getElementSettings(this.model, self.action + '_list');
if (response.success[0].lists.length === 0) {
self.setOptions(this.selectOptions.noList);
self.setSelectedOption();
return;
}
_.each(response.success[0].lists, function (list) {
lists[list.id] = list.name;
});
_.extend(options, self.selectOptions.default, lists);
self.setOptions(options);
if (!mailchimpList.length) {
self.setSelectedOption();
}
this.onListUpdate();
},
onElementChange: function onElementChange(setting) {
switch (setting) {
case 'mailchimp_api_key_source':
case 'mailchimp_api_key':
this.unselectGroups();
this.updateGroupOptions({});
this.updateList({
mailchimp_api_key_source: this.getControlValue('mailchimp_api_key_source') || 'default',
mailchimp_api_key: this.getControlValue('mailchimp_api_key')
});
break;
case 'mailchimp_list':
this.clearFieldMapping();
this.unselectGroups();
this.onListUpdate();
break;
}
},
onListUpdate: function onListUpdate() {
var _this3 = this;
this.updateGroupOptions(this.selectOptions.fetching);
this.addControlSpinner('mailchimp_fields_mapping');
this.addControlSpinner('mailchimp_groups');
wp.ajax.send('raven_form_editor', {
data: {
service: this.action,
request: 'get_list_details',
params: {
mailchimp_api_key_source: this.getControlValue('mailchimp_api_key_source') || 'default',
mailchimp_api_key: this.getControlValue('mailchimp_api_key'),
mailchimp_list: this.getControlValue('mailchimp_list')
}
},
success: function success(response) {
_this3.updateGroupOptions(response.success[0].list_details.groups);
_this3.remoteFields = response.success[0].list_details.fields;
_this3.updateFieldMapping(_this3.remoteFields);
_this3.removeControlSpinner('mailchimp_fields_mapping');
_this3.removeControlSpinner('mailchimp_groups');
}
});
},
updateGroupOptions: function updateGroupOptions(groups) {
var control = this.getControl('mailchimp_groups');
var controlView = this.getControlView('mailchimp_groups');
this.setOptions(groups, control, controlView);
},
getRemoteFields: function getRemoteFields() {
return _.reduce(this.remoteFields, function (carry, remoteField) {
carry[remoteField.remote_tag] = remoteField.remote_label;
return carry;
}, { '': '- None -' });
},
getFormFields: function getFormFields() {
return _.extend({}, { '': '- None -' }, this.getRepeaterItemsByLabel('fields'));
},
unselectGroups: function unselectGroups() {
var controlView = this.getControlView('mailchimp_groups');
controlView.setValue('');
controlView.render();
}
});
new Mailchimp({
$element: view.$el
});
};
var _form = require('../../utils/form');
var _form2 = _interopRequireDefault(_form);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
},{"../../utils/form":9}],16:[function(require,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (panel, model, view) {
var Posts = _module2.default.extend({
panel: panel,
onInit: function onInit() {
var _this = this;
if (this.onElementChange) {
elementor.channels.editor.on('change', function (controlView, elementView) {
_this.onElementChange(controlView.model.get('name'), controlView, elementView);
});
}
},
onElementChange: function onElementChange(name, controlView, elementView) {
switch (name) {
case 'query_post_type':
this.onQueryPostTypeChange(controlView);
break;
}
},
onQueryPostTypeChange: function onQueryPostTypeChange(controlView) {
controlView.container.settings.set('query_excludes_ids', []);
}
});
new Posts({
$element: view.$el
});
};
var _module = require('../utils/module');
var _module2 = _interopRequireDefault(_module);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
},{"../utils/module":10}]},{},[8]);
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists