summernote-webpack
Version:
Super simple WYSIWYG editor
54 lines (45 loc) • 1.36 kB
JavaScript
define([
'jquery'
], function ($) {
var Fullscreen = function (context) {
var $editor = context.layoutInfo.editor;
var $toolbar = context.layoutInfo.toolbar;
var $editable = context.layoutInfo.editable;
var $codable = context.layoutInfo.codable;
var $window = $(window);
var $scrollbar = $('html, body');
/**
* toggle fullscreen
*/
this.toggle = function () {
var resize = function (size) {
$editable.css('height', size.h);
$codable.css('height', size.h);
if ($codable.data('cmeditor')) {
$codable.data('cmeditor').setsize(null, size.h);
}
};
$editor.toggleClass('fullscreen');
if (this.isFullscreen()) {
$editable.data('orgHeight', $editable.css('height'));
$window.on('resize', function () {
resize({
h: $window.height() - $toolbar.outerHeight()
});
}).trigger('resize');
$scrollbar.css('overflow', 'hidden');
} else {
$window.off('resize');
resize({
h: $editable.data('orgHeight')
});
$scrollbar.css('overflow', 'visible');
}
context.invoke('toolbar.updateFullscreen', this.isFullscreen());
};
this.isFullscreen = function () {
return $editor.hasClass('fullscreen');
};
};
return Fullscreen;
});