OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
_backup
/
tinymce
/
tinymce
/
src
/
themes
/
silver
/
main
/
ts
/
ui
/
dialog
/
imagetools
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/20/2020 06:40:38 AM
rwxr-xr-x
📄
CropRect.ts
7.1 KB
02/20/2020 06:40:41 AM
rw-r--r--
📄
DragHelper.ts
3.43 KB
02/20/2020 06:40:41 AM
rw-r--r--
📄
EditPanel.ts
15.6 KB
02/20/2020 06:40:42 AM
rw-r--r--
📄
Errors.ts
2.39 KB
02/20/2020 06:40:42 AM
rw-r--r--
📄
ImagePanel.ts
6.88 KB
02/20/2020 06:40:43 AM
rw-r--r--
📄
ImageTools.ts
7.94 KB
02/20/2020 06:40:43 AM
rw-r--r--
📄
ImageToolsEvents.ts
1.17 KB
02/20/2020 06:40:44 AM
rw-r--r--
📄
SideBar.ts
2.62 KB
02/20/2020 06:40:44 AM
rw-r--r--
📄
UndoStack.ts
842 bytes
02/20/2020 06:40:45 AM
rw-r--r--
📄
Utils.ts
1.8 KB
02/20/2020 06:40:45 AM
rw-r--r--
📁
state
-
02/20/2020 06:42:44 AM
rwxr-xr-x
Editing: SideBar.ts
Close
/** * Copyright (c) Tiny Technologies, Inc. All rights reserved. * Licensed under the LGPL or a commercial license. * For LGPL see License.txt in the project root for license information. * For commercial licenses see https://www.tiny.cloud/ */ import { AlloyComponent, AlloyTriggers, Container, Disabling, Memento, SketchSpec } from '@ephox/alloy'; import { Option } from '@ephox/katamari'; import { UiFactoryBackstageProviders } from '../../../backstage/Backstage'; import { renderIconButton } from '../../general/Button'; import * as ImageToolsEvents from './ImageToolsEvents'; const createButton = (innerHtml: string, icon: string, disabled: boolean, action: (button: AlloyComponent) => void, providersBackstage: UiFactoryBackstageProviders): SketchSpec => { return renderIconButton({ name: innerHtml, icon: Option.some(icon), disabled, tooltip: Option.some(innerHtml) }, action, providersBackstage); }; const setButtonEnabled = (button: AlloyComponent, enabled: boolean): void => { if (enabled) { Disabling.enable(button); } else { Disabling.disable(button); } }; const renderSideBar = (providersBackstage: UiFactoryBackstageProviders) => { const updateButtonUndoStates = (anyInSystem: AlloyComponent, undoEnabled: boolean, redoEnabled: boolean): void => { memUndo.getOpt(anyInSystem).each((undo) => { setButtonEnabled(undo, undoEnabled); }); memRedo.getOpt(anyInSystem).each((redo) => { setButtonEnabled(redo, redoEnabled); }); }; const memUndo = Memento.record( createButton('Undo', 'undo', true, (button) => { AlloyTriggers.emitWith(button, ImageToolsEvents.internal.undo(), { direction: 1 }); }, providersBackstage) ); const memRedo = Memento.record( createButton('Redo', 'redo', true, (button) => { AlloyTriggers.emitWith(button, ImageToolsEvents.internal.redo(), { direction: 1 }); }, providersBackstage) ); const container = Container.sketch({ dom: { tag: 'div', classes: [ 'tox-image-tools__toolbar', 'tox-image-tools__sidebar'] }, components: [ memUndo.asSpec(), memRedo.asSpec(), createButton('Zoom in', 'zoom-in', false, (button) => { AlloyTriggers.emitWith(button, ImageToolsEvents.internal.zoom(), { direction: 1 }); }, providersBackstage), createButton('Zoom out', 'zoom-out', false, (button) => { AlloyTriggers.emitWith(button, ImageToolsEvents.internal.zoom(), { direction: -1 }); }, providersBackstage) ] }); return { container, updateButtonUndoStates }; }; export { renderSideBar };