OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
_backup
/
tinymce
/
tinymce
/
src
/
themes
/
silver
/
main
/
ts
/
ui
/
menus
/
menu
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/20/2020 06:41:08 AM
rwxr-xr-x
📄
MenuClasses.ts
761 bytes
02/20/2020 06:41:02 AM
rw-r--r--
📄
MenuConversion.ts
3.8 KB
02/20/2020 06:41:02 AM
rw-r--r--
📄
MenuMovement.ts
1.83 KB
02/20/2020 06:41:03 AM
rw-r--r--
📄
MenuParts.ts
1.58 KB
02/20/2020 06:41:03 AM
rw-r--r--
📄
MenuStructures.ts
3.22 KB
02/20/2020 06:41:04 AM
rw-r--r--
📄
MenuWidgets.ts
1.65 KB
02/20/2020 06:41:05 AM
rw-r--r--
📄
NestedMenus.ts
1.48 KB
02/20/2020 06:41:06 AM
rw-r--r--
📄
SingleMenu.ts
8.38 KB
02/20/2020 06:41:06 AM
rw-r--r--
Editing: MenuWidgets.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 { AlloySpec, Behaviour, ItemWidget, Keying, Memento, Menu, SimpleOrSketchSpec, MenuTypes } from '@ephox/alloy'; import { Id, Option } from '@ephox/katamari'; import { dom as menuDom } from './MenuParts'; export interface WidgetMenuFoo { value: string; widget: AlloySpec; } export const renderWidgetMenu = (spec: WidgetMenuFoo): Partial<MenuTypes.MenuSpec> => { const memWidget = Memento.record(spec.widget as SimpleOrSketchSpec); return { value: spec.value, items: [ { type: 'widget', data: { // FIX: Widgets. value: Id.generate('widget-id') }, autofocus: true, // FIX: widget classes. dom: { tag: 'div' }, components: [ ItemWidget.parts().widget( { dom: { tag: 'div', classes: [ 'tox-menu-widget-js' ] }, components: [ memWidget.asSpec() ], behaviours: Behaviour.derive([ Keying.config({ mode: 'special', focusIn: (comp) => { memWidget.getOpt(comp).each(Keying.focusIn); return Option.some(true); } }) ]) } ) ], } ], dom: menuDom(false, 1, 'normal'), components: [ Menu.parts().items({ }) ] }; };