OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
_backup
/
tinymce
/
tinymce
/
src
/
themes
/
silver
/
main
/
ts
/
ui
/
alien
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/20/2020 06:40:48 AM
rwxr-xr-x
📄
ComponentApi.ts
2.18 KB
02/20/2020 06:37:43 AM
rw-r--r--
📄
ComposingConfigs.ts
970 bytes
02/20/2020 06:37:43 AM
rw-r--r--
📄
DialogTabHeight.ts
5.23 KB
02/20/2020 06:37:45 AM
rw-r--r--
📄
DisablingConfigs.ts
678 bytes
02/20/2020 06:37:45 AM
rw-r--r--
📄
FieldLabeller.ts
1.87 KB
02/20/2020 06:37:46 AM
rw-r--r--
📄
FlatgridAutodetect.ts
1.16 KB
02/20/2020 06:37:46 AM
rw-r--r--
📄
RepresentingConfigs.ts
2.39 KB
02/20/2020 06:37:47 AM
rw-r--r--
📄
SimpleBehaviours.ts
700 bytes
02/20/2020 06:37:47 AM
rw-r--r--
Editing: ComponentApi.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 { Merger, Fun } from '@ephox/katamari'; import { Toggling, Disabling, Representing, Replacing, AlloyComponent } from '@ephox/alloy'; // Purpose to wrap internal bits we don't want to expose, like alloy component. // TODO: we will need to move these derivatives back into their Component const deriveToggling = (spec, component: AlloyComponent) => { if (spec.toggle && component.hasConfigured(Toggling)) { return spec.toggle().bind((toggle) => { if (toggle === true) { return { toggleOn: () => { Toggling.on(component); }, toggleOff: () => { Toggling.off(component); }, toggleIsOn: () => { Toggling.isOn(component); }, }; } }); } }; const deriveRepresenting = (spec, component: AlloyComponent) => { if (component.hasConfigured(Representing)) { const item = Representing.getValue(component); return { itemValue: () => item.value, itemText: () => item.text, }; } }; const deriveReplacing = (spec, component: AlloyComponent) => { if (component.hasConfigured(Representing)) { /* TODO type this [{ dom: { tag: 'div', classes: [ 'my-class' ], innerHtml: text } } ... ]; */ return { updateButton: Fun.curry(Replacing.set, component) }; } }; const component = (spec, component: AlloyComponent) => { // TODO: TS narrowing this method can return many type interfaces depending on the original config const togglingConf = deriveToggling(spec, component); const representingConf = deriveRepresenting(spec, component); const replaceingConf = deriveReplacing(spec, component); const defaults = { // Expose more as required element: component.element().dom(), isDisabled: () => Disabling.isDisabled(component), setDisabled: (state: boolean) => Disabling.set(component, state) }; return Merger.merge(defaults, togglingConf, representingConf, replaceingConf); }; export { component };