@ckeditor/ckeditor5-ui
Version:
The UI framework and standard UI library of CKEditor 5.
58 lines (57 loc) • 1.54 kB
TypeScript
/**
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
*/
/**
* @module ui/bindings/submithandler
*/
import type View from '../view.js';
/**
* A handler useful for {@link module:ui/view~View views} working as HTML forms. It intercepts a native DOM
* `submit` event, prevents the default web browser behavior (navigation and page reload) and
* fires the `submit` event on a view instead. Such a custom event can be then used by any
* {@link module:utils/dom/emittermixin~DomEmitter emitter}, e.g. to serialize the form data.
*
* ```ts
* import submitHandler from '@ckeditor/ckeditor5-ui/src/bindings/submithandler';
*
* // ...
*
* class AnyFormView extends View {
* constructor() {
* super();
*
* // ...
*
* submitHandler( {
* view: this
* } );
* }
* }
*
* // ...
*
* const view = new AnyFormView();
*
* // A sample listener attached by an emitter working with the view.
* this.listenTo( view, 'submit', () => {
* saveTheFormData();
* hideTheForm();
* } );
* ```
*
* @param options Configuration options.
* @param options.view The view which DOM `submit` events should be handled.
*/
export default function submitHandler({ view }: {
view: View;
}): void;
/**
* Fired by {@link module:ui/bindings/submithandler~submitHandler} helper.
*
* @eventName module:ui/view~View#submit
*/
export type SubmitHandlerEvent = {
name: 'submit';
args: [];
};