# Class: DiagramView [@deathbeds/ipydrawio](../modules/deathbeds_ipydrawio.md).DiagramView A renderer for a Diagram. ## Hierarchy - `BoxView` ↳ **`DiagramView`** ## Constructors ### constructor • **new DiagramView**(`options?`) Public constructor. #### Parameters | Name | Type | | :--------- | :------------------------------------------------ | | `options?` | `ViewOptions`<`WidgetModel`, `HTMLElement`\> & {} | #### Inherited from BoxView.constructor #### Defined in node_modules/@jupyter-widgets/base/lib/widget.d.ts:211 ## Properties ### diagram • `Protected` **diagram**: [`Diagram`](deathbeds_ipydrawio.Diagram-1.md) #### Defined in [packages/ipydrawio/src/widgets.ts:181](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L181) --- ### model • **model**: [`DiagramModel`](deathbeds_ipydrawio.DiagramModel.md) #### Overrides BoxView.model #### Defined in [packages/ipydrawio/src/widgets.ts:179](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L179) --- ### diagrmManager ▪ `Static` **diagrmManager**: [`IDiagramManager`](../modules/deathbeds_ipydrawio.md#idiagrammanager) #### Defined in [packages/ipydrawio/src/widgets.ts:177](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L177) ## Accessors ### app • `get` **app**(): [`IMXApp`](../interfaces/deathbeds_ipydrawio.IMXApp.md) The drawio App #### Returns [`IMXApp`](../interfaces/deathbeds_ipydrawio.IMXApp.md) #### Defined in [packages/ipydrawio/src/widgets.ts:212](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L212) --- ### graph • `get` **graph**(): [`IMXGraph`](../interfaces/deathbeds_ipydrawio.IMXGraph.md) The drawio Graph #### Returns [`IMXGraph`](../interfaces/deathbeds_ipydrawio.IMXGraph.md) #### Defined in [packages/ipydrawio/src/widgets.ts:219](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L219) --- ### graphModel • `get` **graphModel**(): [`IMXGraphModel`](../interfaces/deathbeds_ipydrawio.IMXGraphModel.md) The drawio Graph Model #### Returns [`IMXGraphModel`](../interfaces/deathbeds_ipydrawio.IMXGraphModel.md) #### Defined in [packages/ipydrawio/src/widgets.ts:226](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L226) ## Methods ### getCellIds ▸ `Protected` **getCellIds**(): `string`[] Extract the cell or page ids #### Returns `string`[] #### Defined in [packages/ipydrawio/src/widgets.ts:442](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L442) --- ### idGetter ▸ `Protected` **idGetter**(`cellOrPage`): `string` convenience method for frequently-called loops #### Parameters | Name | Type | | :----------- | :--------------------------------------------------------------------------------------------------------------------- | | `cellOrPage` | [`IMXCell`](../interfaces/deathbeds_ipydrawio.IMXCell.md) \| [`IMXPage`](../interfaces/deathbeds_ipydrawio.IMXPage.md) | #### Returns `string` #### Defined in [packages/ipydrawio/src/widgets.ts:435](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L435) --- ### initDiagram ▸ `Protected` **initDiagram**(): `void` Initialize the actual Diagram renderer. #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:255](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L255) --- ### onAppChanged ▸ `Protected` **onAppChanged**(): `void` Handle the drawio app actually being ready, connecting events, etc. #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:301](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L301) --- ### onDrawioEvent ▸ `Protected` **onDrawioEvent**(`sender`, `event`): `void` handle subscribed "native" mxEvents These are found throughout the code in the `mxEvent` namespace, though some magic strings do appear duplicated in a numebr of placess #### Parameters | Name | Type | | :------- | :----------------------------------------------------------------------------------- | | `sender` | [`IMXEventSource`](../interfaces/deathbeds_ipydrawio.IMXEventSource.md)<`TMXEvent`\> | | `event` | [`IMXEvent`](../interfaces/deathbeds_ipydrawio.IMXEvent.md) | #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:463](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L463) --- ### onModelGridColor ▸ `Protected` **onModelGridColor**(): `void` Handle a grid color change from the kernel #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:418](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L418) --- ### onModelGridEnabled ▸ `Protected` **onModelGridEnabled**(): `void` Handle a grid change from the kernel #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:400](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L400) --- ### onModelGridSize ▸ `Protected` **onModelGridSize**(): `void` Handle a grid size change from the kernel #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:409](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L409) --- ### onModelPageFormat ▸ `Protected` **onModelPageFormat**(): `void` Handle a page format change from the kernel #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:379](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L379) --- ### onModelPageSelected ▸ `Protected` **onModelPageSelected**(): `void` Handle a page selection change from the kernel #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:392](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L392) --- ### onModelScroll ▸ `Protected` **onModelScroll**(): `void` Handle a scroll change from the kernel #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:366](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L366) --- ### onModelSelectedCells ▸ `Protected` **onModelSelectedCells**(): `void` Handle a selected cell change from the kernel #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:425](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L425) --- ### onModelSourceChange ▸ `Protected` **onModelSourceChange**(): `void` Handle the XML source changing in the kernel, subscribe to its value changing. #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:233](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L233) --- ### onModelZoom ▸ `Protected` **onModelZoom**(): `void` Handle a zoom change from the kernel #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:355](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L355) --- ### onSourceValue ▸ `Protected` **onSourceValue**(): `void` Handle the XML source's value changing #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:247](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L247) --- ### render ▸ **render**(): `void` Render the diagram, and schedule re-rerendering for when actually displayed. #### Returns `void` #### Overrides BoxView.render #### Defined in [packages/ipydrawio/src/widgets.ts:187](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L187) --- ### translateToScroll ▸ **translateToScroll**(): `Object` Translate drawio view translation to scroll offsets Ideally this would be the center of the viewport to allow for synced views #### Returns `Object` | Name | Type | | :--------- | :------- | | `scroll_x` | `number` | | `scroll_y` | `number` | #### Defined in [packages/ipydrawio/src/widgets.ts:451](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L451) --- ### waitForDisplayed ▸ `Protected` **waitForDisplayed**(): `void` A low-tech way to wait until we are quite sure the diagram is displayed. #### Returns `void` #### Defined in [packages/ipydrawio/src/widgets.ts:196](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L196) --- ### xml ▸ `Protected` **xml**(`value?`): `any` Set or get the source. #### Parameters | Name | Type | | :------- | :------- | | `value?` | `string` | #### Returns `any` #### Defined in [packages/ipydrawio/src/widgets.ts:283](https://github.com/deathbeds/ipydrawio/blob/59b2750/packages/ipydrawio/src/widgets.ts#L283) ``` Copyright 2023 ipydrawio contributors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ```