import { Arr } from '@ephox/katamari'; import type { ToolbarSplitButtonItemTypes } from '../../../main/ts/ephox/bridge/components/toolbar/ToolbarSplitButton'; import { getDemoRegistry } from '../buttons/DemoRegistry'; export const registerInsertDateTimeItems = (): void => { // Example, they are all the same. getDemoRegistry().addSplitButton('insertdatetime', { type: 'splitbutton', fetch: (callback) => { const items = Arr.map([ '%H:%M:%S', '%Y-%m-%d', '%I:%M:%S %p', '%D' ], (fmt) => ({ type: 'choiceitem', value: fmt, // Convert current time text: fmt } as ToolbarSplitButtonItemTypes)); callback(items); }, onItemAction: (_buttonApi, _itemValue) => { // insert date time using itemValue fmt }, onAction: (_buttonApi) => { // fmt <- retrieve previously selected format (or default if none) // insert data time using fmt } }); };