OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
_backup
/
tinymce
/
tinymce
/
src
/
themes
/
mobile
/
main
/
ts
/
ui
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/20/2020 06:45:48 AM
rwxr-xr-x
📄
AndroidRealm.ts
2.43 KB
02/20/2020 06:32:39 AM
rw-r--r--
📄
Buttons.ts
2.4 KB
02/20/2020 06:32:40 AM
rw-r--r--
📄
ColorSlider.ts
3.21 KB
02/20/2020 06:32:40 AM
rw-r--r--
📄
CommonRealm.ts
1.49 KB
02/20/2020 06:32:41 AM
rw-r--r--
📄
Dropup.ts
2.38 KB
02/20/2020 06:32:41 AM
rw-r--r--
📄
FontSizeSlider.ts
1.34 KB
02/20/2020 06:32:42 AM
rw-r--r--
📄
HeadingSlider.ts
1.63 KB
02/20/2020 06:32:42 AM
rw-r--r--
📄
ImagePicker.ts
2.13 KB
02/20/2020 06:32:43 AM
rw-r--r--
📄
Inputs.ts
2.86 KB
02/20/2020 06:32:43 AM
rw-r--r--
📄
IosRealm.ts
2.65 KB
02/20/2020 06:32:44 AM
rw-r--r--
📄
LinkButton.ts
2.33 KB
02/20/2020 06:32:45 AM
rw-r--r--
📄
OuterContainer.ts
953 bytes
02/20/2020 06:32:45 AM
rw-r--r--
📄
SerialisedDialog.ts
8.2 KB
02/20/2020 06:32:46 AM
rw-r--r--
📄
SizeSlider.ts
2.32 KB
02/20/2020 06:32:46 AM
rw-r--r--
📄
StylesMenu.ts
6.51 KB
02/20/2020 06:32:47 AM
rw-r--r--
📄
ToolbarWidgets.ts
645 bytes
02/20/2020 06:32:47 AM
rw-r--r--
Editing: ColorSlider.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 { Behaviour, Slider, Toggling, SketchSpec } from '@ephox/alloy'; import { Css } from '@ephox/sugar'; import Receivers from '../channels/Receivers'; import Styles from '../style/Styles'; import * as UiDomFactory from '../util/UiDomFactory'; import * as ToolbarWidgets from './ToolbarWidgets'; const BLACK = -1; const makeSlider = function (spec) { const getColor = function (hue) { // Handle edges. if (hue < 0) { return 'black'; } else if (hue > 360) { return 'white'; } else { return 'hsl(' + hue + ', 100%, 50%)'; } }; // Does not fire change intentionally. const onInit = function (slider, thumb, spectrum, value) { const color = getColor(value.x()); Css.set(thumb.element(), 'background-color', color); }; const onChange = function (slider, thumb, value) { const color = getColor(value.x()); Css.set(thumb.element(), 'background-color', color); spec.onChange(slider, thumb, color); }; return Slider.sketch({ dom: UiDomFactory.dom('<div class="${prefix}-slider ${prefix}-hue-slider-container"></div>'), components: [ Slider.parts()['left-edge'](UiDomFactory.spec('<div class="${prefix}-hue-slider-black"></div>')), Slider.parts().spectrum({ dom: UiDomFactory.dom('<div class="${prefix}-slider-gradient-container"></div>'), components: [ UiDomFactory.spec('<div class="${prefix}-slider-gradient"></div>') ], behaviours: Behaviour.derive([ Toggling.config({ toggleClass: Styles.resolve('thumb-active') }) ]) }), Slider.parts()['right-edge'](UiDomFactory.spec('<div class="${prefix}-hue-slider-white"></div>')), Slider.parts().thumb({ dom: UiDomFactory.dom('<div class="${prefix}-slider-thumb"></div>'), behaviours: Behaviour.derive([ Toggling.config({ toggleClass: Styles.resolve('thumb-active') }) ]) }) ], onChange, onDragStart (slider, thumb) { Toggling.on(thumb); }, onDragEnd (slider, thumb) { Toggling.off(thumb); }, onInit, stepSize: 10, model: { mode: 'x', minX: 0, maxX: 360, getInitialValue: () => { return { x: () => spec.getInitialValue() }; } }, sliderBehaviours: Behaviour.derive([ Receivers.orientation(Slider.refresh) ]) }); }; const makeItems = function (spec): SketchSpec[] { return [ makeSlider(spec) ]; }; const sketch = function (realm, editor) { const spec = { onChange (slider, thumb, color) { editor.undoManager.transact(function () { editor.formatter.apply('forecolor', { value: color }); editor.nodeChanged(); }); }, getInitialValue (/* slider */) { // Return black return BLACK; } }; return ToolbarWidgets.button(realm, 'color-levels', function () { return makeItems(spec); }, editor); }; export default { makeItems, sketch };