OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
_backup
/
tinymce
/
tinymce
/
src
/
themes
/
silver
/
main
/
ts
/
ui
/
window
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/20/2020 06:40:48 AM
rwxr-xr-x
📄
DialogChannels.ts
659 bytes
02/20/2020 06:39:09 AM
rw-r--r--
📄
SilverDialog.ts
2.28 KB
02/20/2020 06:39:11 AM
rw-r--r--
📄
SilverDialogBody.ts
3.49 KB
02/20/2020 06:39:10 AM
rw-r--r--
📄
SilverDialogCommon.ts
5.04 KB
02/20/2020 06:39:11 AM
rw-r--r--
📄
SilverDialogEvents.ts
4.24 KB
02/20/2020 06:39:12 AM
rw-r--r--
📄
SilverDialogFooter.ts
3.33 KB
02/20/2020 06:39:12 AM
rw-r--r--
📄
SilverDialogHeader.ts
3.64 KB
02/20/2020 06:39:13 AM
rw-r--r--
📄
SilverDialogInstanceApi.ts
4.83 KB
02/20/2020 06:39:13 AM
rw-r--r--
📄
SilverInlineDialog.ts
4.17 KB
02/20/2020 06:39:14 AM
rw-r--r--
📄
SilverUrlDialog.ts
5.45 KB
02/20/2020 06:39:15 AM
rw-r--r--
📄
SilverUrlDialogInstanceApi.ts
1.52 KB
02/20/2020 06:39:15 AM
rw-r--r--
Editing: SilverDialog.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 { AlloyComponent, Composing, ModalDialog } from '@ephox/alloy'; import { DialogManager } from '@ephox/bridge'; import { Option } from '@ephox/katamari'; import { UiFactoryBackstage } from '../../backstage/Backstage'; import { renderModalBody } from './SilverDialogBody'; import { SilverDialogEvents } from './SilverDialogEvents'; import { renderModalFooter } from './SilverDialogFooter'; import { getDialogApi } from './SilverDialogInstanceApi'; import { getEventExtras, getHeader, renderModalDialog, WindowExtra } from './SilverDialogCommon'; const renderDialog = <T>(dialogInit: DialogManager.DialogInit<T>, extra: WindowExtra<T>, backstage: UiFactoryBackstage) => { const header = getHeader(dialogInit.internalDialog.title, backstage); const body = renderModalBody({ body: dialogInit.internalDialog.body }, backstage); const footer = renderModalFooter({ buttons: dialogInit.internalDialog.buttons }, backstage.shared.providers); const dialogEvents = SilverDialogEvents.initDialog(() => instanceApi, getEventExtras(() => dialog, extra)); const dialogSize = dialogInit.internalDialog.size !== 'normal' ? dialogInit.internalDialog.size === 'large' ? [ 'tox-dialog--width-lg' ] : [ 'tox-dialog--width-md' ] : []; const spec = { header, body, footer: Option.some(footer), extraClasses: dialogSize, extraBehaviours: [], extraStyles: {} }; const dialog = renderModalDialog(spec, dialogInit, dialogEvents, backstage); const modalAccess = (() => { const getForm = (): AlloyComponent => { const outerForm = ModalDialog.getBody(dialog); return Composing.getCurrent(outerForm).getOr(outerForm); }; return { getRoot: () => dialog, getBody: () => ModalDialog.getBody(dialog), getFooter: () => ModalDialog.getFooter(dialog), getFormWrapper: getForm }; })(); // TODO: Get the validator from the dialog state. const instanceApi = getDialogApi<T>(modalAccess, extra.redial); return { dialog, instanceApi }; }; export { renderDialog };