OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
_backup
/
tinymce
/
tinymce
/
src
/
themes
/
silver
/
main
/
ts
/
ui
/
menus
/
item
/
build
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/20/2020 06:42:54 AM
rwxr-xr-x
📄
AutocompleteMenuItem.ts
2.94 KB
02/20/2020 06:42:49 AM
rw-r--r--
📄
ChoiceItem.ts
2.49 KB
02/20/2020 06:42:49 AM
rw-r--r--
📄
CommonMenuItem.ts
3.38 KB
02/20/2020 06:42:50 AM
rw-r--r--
📄
FancyMenuItem.ts
991 bytes
02/20/2020 06:42:50 AM
rw-r--r--
📄
InsertTableMenuItem.ts
4.05 KB
02/20/2020 06:42:51 AM
rw-r--r--
📄
NestedMenuItem.ts
1.51 KB
02/20/2020 06:42:52 AM
rw-r--r--
📄
NormalMenuItem.ts
1.62 KB
02/20/2020 06:42:52 AM
rw-r--r--
📄
SeparatorItem.ts
788 bytes
02/20/2020 06:42:53 AM
rw-r--r--
📄
ToggleMenuItem.ts
2.18 KB
02/20/2020 06:42:53 AM
rw-r--r--
Editing: ChoiceItem.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 { Disabling, Toggling } from '@ephox/alloy'; import { Menu, Types } from '@ephox/bridge'; import { Merger, Option } from '@ephox/katamari'; import { UiFactoryBackstageProviders } from '../../../../backstage/Backstage'; import * as ItemClasses from '../ItemClasses'; import ItemResponse from '../ItemResponse'; import { renderCheckmark } from '../structure/ItemSlices'; import { renderItemStructure } from '../structure/ItemStructure'; import { buildData, renderCommonItem } from './CommonMenuItem'; const renderChoiceItem = (spec: Menu.ChoiceMenuItem, useText: boolean, presets: Types.PresetItemTypes, onItemValueHandler: (itemValue: string) => void, isSelected: boolean, itemResponse: ItemResponse, providersBackstage: UiFactoryBackstageProviders) => { const getApi = (component): Menu.ToggleMenuItemInstanceApi => { return { setActive: (state) => { Toggling.set(component, state); }, isActive: () => Toggling.isOn(component), isDisabled: () => Disabling.isDisabled(component), setDisabled: (state: boolean) => Disabling.set(component, state) }; }; const structure = renderItemStructure({ presets, textContent: useText ? spec.text : Option.none(), ariaLabel: spec.text, iconContent: spec.icon, shortcutContent: useText ? spec.shortcut : Option.none(), // useText essentially says that we have one column. In one column lists, we should show a tick // The tick is controlled by the tickedClass (via css). It is always present // but is hidden unless the tickedClass is present. checkMark: useText ? Option.some(renderCheckmark(providersBackstage.icons)) : Option.none(), caret: Option.none(), value: spec.value }, providersBackstage, true); return Merger.deepMerge( renderCommonItem({ data: buildData(spec), disabled: spec.disabled, getApi, onAction: (_api) => onItemValueHandler(spec.value), onSetup: (api) => { api.setActive(isSelected); return () => {}; }, triggersSubmenu: false, itemBehaviours: [ ] }, structure, itemResponse), { toggling: { toggleClass: ItemClasses.tickedClass, toggleOnExecute: false, selected: spec.active } } ); }; export { renderChoiceItem };