Composing Author Actions
colsep="1" rowsep="1"
frame="all"
set on it. The purpose of this post is to create a new
DITA-specific action for inserting a table that invokes the current table insertion
action and then forces those three attributes to be set on the table element. Here are
some steps to accomplish this:-
Follow the steps listed in this older blog post to create an extension of the DITA framework: Customizing the DITA Visual Editing Experience.
-
In the Document Type Association preferences page, edit the DITA framework extension you just created. Go to the Author->Actions tab and create a new action with the ID change.table.colsep. Use the predefined ChangeAttributeOperation to set the (colsep="1" attribute) on the closest table element. The custom action would look like this:
-
Based on the same idea, create two more new actions called "change.table.rowsep" and "change.table.frame" that will set the rowsep="1" and frame="all" attributes on the closest table, respectively.
-
Create a new action with the ID insert.table.fixed.attributes and use the predefined ExecuteMultipleActionsOperation to call 4 actions in a row, the original insert.table action ID that inserts the table, followed by the three action IDs that set various attribute values to the inserted table.
-
Go to the Author->Toolbar tab and in the "Current actions" panel, remove the current "insert.table" action and replace it with the insert.table.fixed.attributes action ID.
-
When editing a DITA topic, pressing the toolbar action for inserting a table should now call your custom action that sets those three attributes on the inserted table.