Angular HtmlEditor - tableContextMenu.items
Use this property to customize the context menu. For example, the following code creates a flat menu of table commands instead of the default hierarchical menu. The beginGroup property is used to divide command groups.
- <dx-html-editor>
- <dxo-table-context-menu
- [enabled]="true">
- <dxi-item name="insertHeaderRow"></dxi-item>
- <dxi-item name="insertRowAbove"></dxi-item>
- <dxi-item name="insertRowBelow"></dxi-item>
- <dxi-item name="insertColumnLeft" [beginGroup]="true"></dxi-item>
- <dxi-item name="insertColumnRight"></dxi-item>
- <dxi-item name="deleteColumn" [beginGroup]="true"></dxi-item>
- <dxi-item name="deleteRow"></dxi-item>
- <dxi-item name="deleteTable"></dxi-item>
- <dxi-item name="cellProperties" [beginGroup]="true"></dxi-item>
- <dxi-item name="tableProperties"></dxi-item>
- </dxo-table-context-menu>
- </dx-html-editor>
icon
This property accepts one of the following:
- The icon's URL
- The icon's name if the icon is from the DevExtreme icon library
- The icon's CSS class if the icon is from an external icon library (see External Icon Libraries)
- The icon in the Base64 format
- The icon in the SVG format. Ensure that the source is reliable.
items
Use this property to create a hierarchical context menu. The following code demonstrates an example:
- <dx-html-editor>
- <dxo-table-context-menu
- [enabled]="true">
- <dxi-item text="Font Style">
- <dxi-item name="bold"></dxi-item>
- <dxi-item name="italic"></dxi-item>
- <dxi-item name="underline"></dxi-item>
- <dxi-item name="strike"></dxi-item>
- </dxi-item>
- </dxo-table-context-menu>
- </dx-html-editor>
template
The following types of the specified value are available.
- Assign a string containing the name of the required template.
- Assign a jQuery object of the template's container.
- Assign a DOM Node of the template's container.
- Assign a function that returns the jQuery object or a DOM Node of the template's container.
The following example adds a custom item to the component. Note that Angular and Vue use custom templates instead of the template property. In React, specify the render or component properties.
- <dx-html-editor ... >
- <dxo-table-context-menu>
- <dxi-item ...>
- <div *dxTemplate>
- <div>Custom Item</div>
- </div>
- </dxi-item>
- </dxo-table-context-menu>
- </dx-html-editor>
- import { Component } from '@angular/core';
- @Component({
- selector: 'app-root',
- templateUrl: './app.component.html',
- styleUrls: ['./app.component.css']
- })
- export class AppComponent {
- // ...
- }
- import { BrowserModule } from '@angular/platform-browser';
- import { NgModule } from '@angular/core';
- import { AppComponent } from './app.component';
- import { DxHtmlEditorModule } from 'devextreme-angular';
- @NgModule({
- declarations: [
- AppComponent
- ],
- imports: [
- BrowserModule,
- DxHtmlEditorModule
- ],
- providers: [ ],
- bootstrap: [AppComponent]
- })
- export class AppModule { }
See Also
If you have technical questions, please create a support ticket in the DevExpress Support Center.