81 lines
2.0 KiB
JavaScript
Executable File
81 lines
2.0 KiB
JavaScript
Executable File
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
/* eslint-disable strict */
|
|
define([
|
|
'jquery',
|
|
'underscore',
|
|
'wysiwygAdapter',
|
|
'module',
|
|
'mage/translate',
|
|
'prototype',
|
|
'mage/adminhtml/events',
|
|
'mage/adminhtml/browser'
|
|
], function (jQuery, _, wysiwygAdapter, module) {
|
|
var baseConfig = module.config().config || {},
|
|
wysiwygSetup = Class.create({
|
|
wysiwygInstance: null
|
|
});
|
|
|
|
wysiwygSetup.prototype = {
|
|
|
|
/**
|
|
* @param {*} htmlId
|
|
* @param {Object} config
|
|
*/
|
|
initialize: function (htmlId, config) {
|
|
var WysiwygInstancePrototype = new wysiwygAdapter.getAdapterPrototype();
|
|
|
|
_.bindAll(this, 'openFileBrowser');
|
|
|
|
config = _.extend({}, baseConfig, config || {});
|
|
this.wysiwygInstance = new WysiwygInstancePrototype(htmlId, config);
|
|
this.wysiwygInstance.eventBus = this.eventBus = new window.varienEvents();
|
|
},
|
|
|
|
/**
|
|
* @param {*} mode
|
|
*/
|
|
setup: function (mode) {
|
|
this.wysiwygInstance.setup(mode);
|
|
},
|
|
|
|
/**
|
|
* @param {Object} o
|
|
*/
|
|
openFileBrowser: function (o) {
|
|
this.wysiwygInstance.openFileBrowser(o);
|
|
},
|
|
|
|
/**
|
|
* @return {Boolean}
|
|
*/
|
|
toggle: function () {
|
|
return this.wysiwygInstance.toggle();
|
|
},
|
|
|
|
/**
|
|
* On form validation.
|
|
*/
|
|
onFormValidation: function () {
|
|
this.wysiwygInstance.onFormValidation();
|
|
},
|
|
|
|
/**
|
|
* Encodes the content so it can be inserted into the wysiwyg
|
|
* @param {String} content - The content to be encoded
|
|
*
|
|
* @returns {*} - The encoded content
|
|
*/
|
|
updateContent: function (content) {
|
|
return this.wysiwygInstance.encodeContent(content);
|
|
}
|
|
|
|
};
|
|
window.wysiwygSetup = wysiwygSetup;
|
|
|
|
return wysiwygSetup;
|
|
});
|