OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
_backup
/
tinymce
/
tinymce
/
src
/
themes
/
mobile
/
main
/
ts
/
util
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/20/2020 06:45:48 AM
rwxr-xr-x
📄
CaptureBin.ts
733 bytes
02/20/2020 06:32:51 AM
rw-r--r--
📄
CssUrls.ts
758 bytes
02/20/2020 06:32:51 AM
rw-r--r--
📄
DataAttributes.ts
472 bytes
02/20/2020 06:32:52 AM
rw-r--r--
📄
FontSizes.ts
2.14 KB
02/20/2020 06:32:52 AM
rw-r--r--
📄
FormatChangers.ts
1.11 KB
02/20/2020 06:32:53 AM
rw-r--r--
📄
RangePreserver.ts
1002 bytes
02/20/2020 06:32:53 AM
rw-r--r--
📄
Rectangles.ts
1.78 KB
02/20/2020 06:32:54 AM
rw-r--r--
📄
SkinLoaded.ts
553 bytes
02/20/2020 06:32:54 AM
rw-r--r--
📄
StyleConversions.ts
1.46 KB
02/20/2020 06:32:55 AM
rw-r--r--
📄
StyleFormats.ts
3.07 KB
02/20/2020 06:32:55 AM
rw-r--r--
📄
TappingEvent.ts
1.09 KB
02/20/2020 06:32:56 AM
rw-r--r--
📄
Thor.ts
3 KB
02/20/2020 06:32:56 AM
rw-r--r--
📄
UiDomFactory.ts
676 bytes
02/20/2020 06:32:57 AM
rw-r--r--
Editing: StyleConversions.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 { Objects } from '@ephox/boulder'; import { Arr, Merger } from '@ephox/katamari'; const getFromExpandingItem = function (item) { const newItem = Merger.deepMerge( Objects.exclude(item, [ 'items' ]), { menu: true } ); const rest = expand(item.items); const newMenus = Merger.deepMerge( rest.menus, Objects.wrap( item.title, rest.items ) ); const newExpansions = Merger.deepMerge( rest.expansions, Objects.wrap(item.title, item.title) ); return { item: newItem, menus: newMenus, expansions: newExpansions }; }; const getFromItem = function (item) { return Objects.hasKey(item, 'items') ? getFromExpandingItem(item) : { item, menus: { }, expansions: { } }; }; // Takes items, and consolidates them into its return value const expand = function (items) { return Arr.foldr(items, function (acc, item) { const newData = getFromItem(item); return { menus: Merger.deepMerge(acc.menus, newData.menus), items: [ newData.item ].concat(acc.items), expansions: Merger.deepMerge(acc.expansions, newData.expansions) }; }, { menus: { }, expansions: { }, items: [ ] }); }; export default { expand };