This is an extension and not part of the main GoJS library. Note that the API for this class may change at any time. If you intend to use an extension in production, you should copy the code to your own source directory. Extensions can be found in the GoJS kit under the
extensions (for loading via script tags),
extensionsTS (UMD modules), or
extensionsJSM (ES6 modules) folders. See the Extensions intro page for more information.
Constructs a ColumnResizingTool and sets the handle and name of the tool.
This read-only property returns the Panel of type Panel.Table whose columns are being resized. This must be contained within the selected Part.
This read-only property returns the GraphObject that is the tool handle being dragged by the user. This will be contained by an Adornment whose category is "ColumnResizing". Its Adornment.adornedObject is the same as the adornedTable.
Gets or sets small GraphObject that is copied as a resize handle for each column. This tool expects that this object's GraphObject.desiredSize (a.k.a width and height) has been set to real numbers.
The default value is a Shape that is a narrow rectangle.
Gets or sets the name of the Table Panel to be resized.
The default value is the name "TABLE".
This tool may run when there is a mouse-down event on a "ColumnResizing" handle, the diagram is not read-only, the left mouse button is being used, and this tool's adornment's resize handle is at the current mouse point.
Find the handle, ensure type Panel.Table, capture the mouse, and start a transaction.
If the call to Tool.findToolHandleAt finds no "ColumnResizing" tool handle, this method returns without activating this tool.
Stop the current transaction and release the mouse.
Pressing the Delete key removes any column width setting and stops this tool.
Call resize with a new size determined by the current mouse point. This determines the new bounds by calling computeResize.
Call resize with the final bounds based on the most recent mouse point, and commit the transaction. This determines the new bounds by calling computeResize.
Change the RowColumnDefinition.width of the column being resized to a value corresponding to the given mouse point.
the value returned by the call to computeResize
Show an Adornment with a resize handle at each column. Don't show anything if tableName doesn't identify a Panel that has a Panel.type of type Panel.Table.
The ColumnResizingTool class lets the user resize each column of a named Table Panel in a selected Part.
If you want to experiment with this extension, try the Column Resizing sample.