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: HeadingSlider.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 { Arr } from '@ephox/katamari'; import { Compare, Element, Node, PredicateFind } from '@ephox/sugar'; import Buttons from '../ui/Buttons'; import SizeSlider from './SizeSlider'; import * as ToolbarWidgets from './ToolbarWidgets'; import { SketchSpec } from '@ephox/alloy'; const headings = [ 'p', 'h3', 'h2', 'h1' ]; const makeSlider = function (spec) { return SizeSlider.sketch({ category: 'heading', sizes: headings, onChange: spec.onChange, getInitialValue: spec.getInitialValue }); }; const sketch = function (realm, editor): SketchSpec { const spec = { onChange (value) { editor.execCommand('FormatBlock', null, headings[value].toLowerCase()); }, getInitialValue () { const node = editor.selection.getStart(); const elem = Element.fromDom(node); const heading = PredicateFind.closest(elem, (e) => { const nodeName = Node.name(e); return Arr.contains(headings, nodeName); }, function (e) { return Compare.eq(e, Element.fromDom(editor.getBody())); }); return heading.bind((elm) => Arr.indexOf(headings, Node.name(elm))).getOr(0); } }; return ToolbarWidgets.button(realm, 'heading', function () { return [ Buttons.getToolbarIconButton('small-heading', editor), makeSlider(spec), Buttons.getToolbarIconButton('large-heading', editor) ]; }, editor); }; export { sketch };