���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /var/www/html/lnovel/layout/default/node_modules/summernote/src/js/module/ |
import $ from 'jquery'; export default class Toolbar { constructor(context) { this.context = context; this.$window = $(window); this.$document = $(document); this.ui = $.summernote.ui; this.$note = context.layoutInfo.note; this.$editor = context.layoutInfo.editor; this.$toolbar = context.layoutInfo.toolbar; this.$editable = context.layoutInfo.editable; this.$statusbar = context.layoutInfo.statusbar; this.options = context.options; this.isFollowing = false; this.followScroll = this.followScroll.bind(this); } shouldInitialize() { return !this.options.airMode; } initialize() { this.options.toolbar = this.options.toolbar || []; if (!this.options.toolbar.length) { this.$toolbar.hide(); } else { this.context.invoke('buttons.build', this.$toolbar, this.options.toolbar); } if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } this.changeContainer(false); this.$note.on('summernote.keyup summernote.mouseup summernote.change', () => { this.context.invoke('buttons.updateCurrentStyle'); }); this.context.invoke('buttons.updateCurrentStyle'); if (this.options.followingToolbar) { this.$window.on('scroll resize', this.followScroll); } } destroy() { this.$toolbar.children().remove(); if (this.options.followingToolbar) { this.$window.off('scroll resize', this.followScroll); } } followScroll() { if (this.$editor.hasClass('fullscreen')) { return false; } const editorHeight = this.$editor.outerHeight(); const editorWidth = this.$editor.width(); const toolbarHeight = this.$toolbar.height(); const statusbarHeight = this.$statusbar.height(); // check if the web app is currently using another static bar let otherBarHeight = 0; if (this.options.otherStaticBar) { otherBarHeight = $(this.options.otherStaticBar).outerHeight(); } const currentOffset = this.$document.scrollTop(); const editorOffsetTop = this.$editor.offset().top; const editorOffsetBottom = editorOffsetTop + editorHeight; const activateOffset = editorOffsetTop - otherBarHeight; const deactivateOffsetBottom = editorOffsetBottom - otherBarHeight - toolbarHeight - statusbarHeight; if (!this.isFollowing && (currentOffset > activateOffset) && (currentOffset < deactivateOffsetBottom - toolbarHeight)) { this.isFollowing = true; this.$editable.css({ marginTop: this.$toolbar.outerHeight(), }); this.$toolbar.css({ position: 'fixed', top: otherBarHeight, width: editorWidth, zIndex: 1000, }); } else if (this.isFollowing && ((currentOffset < activateOffset) || (currentOffset > deactivateOffsetBottom))) { this.isFollowing = false; this.$toolbar.css({ position: 'relative', top: 0, width: '100%', zIndex: 'auto', }); this.$editable.css({ marginTop: '', }); } } changeContainer(isFullscreen) { if (isFullscreen) { this.$toolbar.prependTo(this.$editor); } else { if (this.options.toolbarContainer) { this.$toolbar.appendTo(this.options.toolbarContainer); } } if (this.options.followingToolbar) { this.followScroll(); } } updateFullscreen(isFullscreen) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'), isFullscreen); this.changeContainer(isFullscreen); } updateCodeview(isCodeview) { this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'), isCodeview); if (isCodeview) { this.deactivate(); } else { this.activate(); } } activate(isIncludeCodeview) { let $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.note-codeview-keep'); } this.ui.toggleBtn($btn, true); } deactivate(isIncludeCodeview) { let $btn = this.$toolbar.find('button'); if (!isIncludeCodeview) { $btn = $btn.not('.note-codeview-keep'); } this.ui.toggleBtn($btn, false); } }