OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
_backup
/
tinymce
/
tinymce
/
src
/
core
/
main
/
ts
/
fmt
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/20/2020 05:44:43 AM
rwxr-xr-x
📄
ApplyFormat.ts
11.18 KB
02/20/2020 05:43:19 AM
rw-r--r--
📄
CaretFormat.ts
10.27 KB
02/20/2020 05:43:19 AM
rw-r--r--
📄
DefaultFormats.ts
5.17 KB
02/20/2020 05:43:20 AM
rw-r--r--
📄
ExpandRange.ts
12.32 KB
02/20/2020 05:43:21 AM
rw-r--r--
📄
FontInfo.ts
2.1 KB
02/20/2020 05:43:21 AM
rw-r--r--
📄
FormatChanged.ts
4.52 KB
02/20/2020 05:43:22 AM
rw-r--r--
📄
FormatContainer.ts
706 bytes
02/20/2020 05:43:22 AM
rw-r--r--
📄
FormatRegistry.ts
2.7 KB
02/20/2020 05:43:23 AM
rw-r--r--
📄
FormatUtils.ts
4.83 KB
02/20/2020 05:43:23 AM
rw-r--r--
📄
Hooks.ts
1.56 KB
02/20/2020 05:43:24 AM
rw-r--r--
📄
MatchFormat.ts
5.54 KB
02/20/2020 05:43:24 AM
rw-r--r--
📄
MergeFormats.ts
6.75 KB
02/20/2020 05:43:25 AM
rw-r--r--
📄
Preview.ts
8.79 KB
02/20/2020 05:43:26 AM
rw-r--r--
📄
RemoveFormat.ts
18.89 KB
02/20/2020 05:43:26 AM
rw-r--r--
📄
ToggleFormat.ts
842 bytes
02/20/2020 05:43:27 AM
rw-r--r--
Editing: FormatRegistry.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 { Obj, Type } from '@ephox/katamari'; import DefaultFormats from './DefaultFormats'; import { Format, Formats } from '../api/fmt/Format'; import Tools from '../api/util/Tools'; import Editor from '../api/Editor'; export interface FormatRegistry { get (name?: string): Formats | Format[]; has (name: string): boolean; register (name: string | Formats, format?: Format[] | Format): void; unregister (name: string): Formats; } export function FormatRegistry(editor: Editor): FormatRegistry { const formats: Record<string, Format[]> = {}; const get = (name?: string): Formats | Format[] => { return name ? formats[name] : formats; }; const has = (name: string): boolean => { return Obj.has(formats, name); }; const register = function (name: string | Formats, format?: Format | Format[]) { if (name) { if (typeof name !== 'string') { Tools.each(name, function (format, name) { register(name, format); }); } else { // Force format into array and add it to internal collection if (!Type.isArray(format)) { format = [format]; } Tools.each(format, function (format: any) { // Set deep to false by default on selector formats this to avoid removing // alignment on images inside paragraphs when alignment is changed on paragraphs if (typeof format.deep === 'undefined') { format.deep = !format.selector; } // Default to true if (typeof format.split === 'undefined') { format.split = !format.selector || format.inline; } // Default to true if (typeof format.remove === 'undefined' && format.selector && !format.inline) { format.remove = 'none'; } // Mark format as a mixed format inline + block level if (format.selector && format.inline) { format.mixed = true; format.block_expand = true; } // Split classes if needed if (typeof format.classes === 'string') { format.classes = format.classes.split(/\s+/); } }); formats[name] = format; } } }; const unregister = function (name: string) { if (name && formats[name]) { delete formats[name]; } return formats; }; register(DefaultFormats.get(editor.dom)); register(editor.settings.formats); return { get, has, register, unregister }; }