Skip to content

Commit 9266c79

Browse files
Added matrix id to FamItemConfig
1 parent 1d27755 commit 9266c79

31 files changed

+270
-345
lines changed

apireference/algorithms.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,38 @@ Eliminates crossing parent child relations between nodes based of nodes order in
179179
| --- | --- | --- | --- |
180180
| `treeLevels` | treeLevels | `` | Tree levels structure keeps orders of nodes level by level. |
181181

182+
`groupBy(thisArg, size, onGroup, onItem)`
183+
184+
Creates graph structure out of the family structure.
185+
186+
| Param | Type | Default | Description |
187+
| --- | --- | --- | --- |
188+
| `thisArg` | Object | `` | The callback function invocation context |
189+
| `onGroup` | onFamilyGroupCallback | `` | A callback function to call for every new group of nodes found |
190+
| `onGroup` | onFamilyGroupItemCallback | `` | A callback function to call for every new group of nodes found |
191+
**Callbacks**
192+
193+
`onFamilyGroupCallback(parent, child, nodes)`
194+
195+
Callback for grouping nodes having common single parent and child
196+
197+
| Param | Type | Default | Description |
198+
| --- | --- | --- | --- |
199+
| `parent` | string | `` | The common parent node id |
200+
| `child` | string | `` | The common child node id |
201+
| `nodes` | Array.<string> | `` | Collection of grouped nodes ids |
202+
| `nodes` | Array.<Object> | `` | Collection of grouped items |
203+
204+
`onFamilyGroupItemCallback(itemid)`
205+
206+
Callback for getting group id for individual nodes
207+
208+
Returns: `string` - returns group id or null. null adds node to default group. return -1 to disable node grouping.
209+
210+
| Param | Type | Default | Description |
211+
| --- | --- | --- | --- |
212+
| `itemid` | string | `` | The item id |
213+
182214
`hasCommonChild(parents)`
183215

184216
Checks whether parents share a child node. Common child should belong only to the given collection of parents, if child's parents don't match given collection of parents, it is not considered as common child.

apireference/enums.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,12 @@ Interactivity mode. Control implements standard behavior of classic desktop UI c
144144
| `Inactive` | number | `2` | No interactivity |
145145

146146
## <a name="NeighboursSelectionMode" id="NeighboursSelectionMode">NeighboursSelectionMode</a>
147-
Neighbors selection mode. The control supports diagram auto fit into screen view. It is achieved via drawing nodes in form of markers. So small nodes make diagram fit into the screen space, but they have no details. Our solution is to show cursor and selected items of the diagram in full size and draw all other as markers. This enumeration controls visibility of neighbours of the cursor node in the auto fit mode. It allows to draw them in full size regardless of available space.
147+
Neighbors selection mode. The control supports diagram auto fit into screen view. It is achieved via drawing nodes in form of markers. So small nodes make diagram fit into the screen space, but they have no details. Our solution is to show cursor and selected items of the diagram in full size and draw all other as markers. This enumeration controls visibility of neighbors of the cursor node in the auto fit mode. It allows to draw them in full size regardless of available space.
148148

149149
| Name | Type | Value | Description |
150150
| --- | --- | --- | --- |
151151
| `ParentsAndChildren` | number | `0` | Selects parents and children of the cursor item |
152-
| `ParentsChildrenSiblingsAndSpouses` | number | `1` | Selects parents, children, spouses and siblings of the cursor item. |
152+
| `ParentsChildrenSiblingsAndSpouses` | number | `1` | Selects parents, children, and siblings of the cursor item. |
153153

154154
## <a name="OrientationType" id="OrientationType">OrientationType</a>
155155
Controls diagram layout orientation. The control can be rotated in any direction, this is needed for arabic support and various layout.

apireference/famdiagram.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ Family Chart configuration object. Use this object as a reference for available
1717
### Properties
1818
| Name | Type | Default | Description |
1919
| --- | --- | --- | --- |
20-
| `annotations` | Array.<(ShapeAnnotationConfi | `[]` | Annotations. Annotations are API elements that are attached to the diagram nodes. We draw our annotations either in front of the nodes or in the background. The annotations don't affect the nodes placement in any way. As a result the control redraws them instantaneously without rendering or recalculating the actual diagram layout. |
21-
| `cursorItem` | string | `null` | Cursor item. Family Chart control has API options equivalent to regular UI controls. The cursor item is used to select single item in the hierarchy with mouse click, highlight item provides visual feed back on mouse over. Selected items collection is equivalent to checked items in ListView or TreeView controls. Chart navigation depends on current cursor item, chart shows cursor and its neighbours in full size regardless of enabled page fit mode. So cursor item plays a role of local zoom in the chart hierarchy. User navigates around chart via clicking and moving cursor item around and zooming into data around new cursor item. The control notifies about this property changes with `onHighlightChanging` and `onHighlightChanged` events. If `null` then no cursor item selected in the diagram. |
20+
| `annotations` | Array.<(ShapeAnnotationConfi | `[]` | Annotations. Annotations are API elements attached to the diagram nodes and designed to highlight some nodes or relations. We draw our annotations either in front of the nodes or in the background. The annotations don't affect the placement of the nodes in any way. We have some exceptions. As a result, the control redraws them instantaneously without rendering or recalculating the actual diagram layout. |
21+
| `cursorItem` | string | `null` | Cursor item. Family Chart control has API options equivalent to standard UI controls. The cursor item is used to select a single item in the hierarchy with a mouse click, and the highlighted item provides visual feedback on the mouse over. Selected items collection is equivalent to checked items in ListView or TreeView controls. The chart's navigation work around the current cursor item. The component shows the cursor and its neighbors regardless of page fit mode. So cursor item plays the role of local zoom in the chart hierarchy. The user navigates around the chart via clicking and selecting cursor items and zooming into data around the new cursor item. The control notifies about this property changes with `onCursorChanging` and `onCursorChanged` events. If the cursor item is set to null, then no cursor item is selected in the diagram. |
2222
| `emptyDiagramMessage` | string | `"Diagram is empty."` | Empty diagram message. This option is supposed to say user that chart is empty when no data is available for rendering. |
2323
| `enablePanning` | boolean | `true` | Enable panning. Enable chart panning with mouse drag & drop for desktop browsers. Disable it if you need to support items Drag & Drop. |
2424
| `hasSelectorCheckbox` | Enabled | `Auto` | Sets visibility of selection check boxes for the diagram nodes. `Auto` - visible for cursor item only `True` - visible `False` - hidden See `selectedItems` property. All items listed in this property are going to have checked selection checkboxes. Checkbox can be added to item template, in that case it should be named="checkbox", so control can use it as built in checkbox element. |
@@ -298,11 +298,12 @@ Item Configuration Object defines properties of individual node in the family ch
298298
### Properties
299299
| Name | Type | Default | Description |
300300
| --- | --- | --- | --- |
301+
| `addToMatrix` | boolean | `true` | Add to matrix property allows node to be grouped with other nodes into matrix. It is true by default. |
301302
| `hasSelectorCheckbox` | Enabled | `Auto` | Shows selection check box for the node. If Auto then selection check box visibility depends on control's configuration. Auto - depends on `hasSelectorCheckbox` property of the control True - shown False - hidden |
302303
| `id` | string | `null` | Item id. It should be unique per chart. |
303304
| `isActive` | boolean | `true` | If true it makes item inactive in the diagram layout. Inactive items are regular items excluded from navigation, that means when diagram uses auto fit mode, selection of the neighboring nodes goes through inactive items, so all nodes next to inactive item become selected and shown in full size as well. Inactive items play a role of in layout annotations having no user interaction and templated with HTML. For example they can be used to add titles into family diagram layout or terminator items indicating that upon reaching them diagram would load extra nodes into layout. |
305+
| `matrixId` | string | `null` | Matrix id defines grouping of multiple nodes into individual matrixes. By default all applicable nodes grouped into a single matrix. Use this property to split nodes into multiple matrixes. |
304306
| `parents` | string[] | `[]` | Parents items ids. If this collection is empty then item considered as a root item. |
305-
| `spouses` | string[] | `[]` | Spouses items ids. The nodes of this collection create fake invisible child node, so all of them are being connected with common child connection line. |
306307

307308
### Callout Properties
308309
| Name | Type | Default | Description |

apireference/orgdiagram.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ Organizational Chart configuration object. Use this object as a reference for av
1717
### Properties
1818
| Name | Type | Default | Description |
1919
| --- | --- | --- | --- |
20-
| `annotations` | Array.<(ShapeAnnotationConfi | `[]` | Annotations. Annotations are API elements that are attached to the diagram nodes. We draw our annotations either in front of the nodes or in the background. The annotations don't affect the nodes placement in any way. As a result the control redraws them instantaneously without rendering or recalculating the actual diagram layout. |
21-
| `cursorItem` | string | `null` | Cursor item. Organization Chart control has API options equivalent to regular UI controls. The cursor item is used to select single item in the hierarchy with mouse click, highlight item provides visual feed back on mouse over. Selected items collection is equivalent to checked items in ListView or TreeView controls. Chart navigation depends on current cursor item, chart shows cursor and its neighbours in full size regardless of enabled page fit mode. So cursor item plays a role of local zoom in the chart hierarchy. User navigates around chart via clicking and moving cursor item around and zooming into data around new cursor item. The control notifies about this property changes with `onHighlightChanging` and `onHighlightChanged` events. If `null` then no cursor item selected in the diagram. |
20+
| `annotations` | Array.<(ShapeAnnotationConfi | `[]` | Annotations. Annotations are API elements attached to the diagram nodes and designed to highlight some nodes or relations. We draw our annotations either in front of the nodes or in the background. The annotations don't affect the placement of the nodes in any way. We have some exceptions. As a result, the control redraws them instantaneously without rendering or recalculating the actual diagram layout. |
21+
| `cursorItem` | string | `null` | Cursor item. Organization Chart control has API options equivalent to standard UI controls. The cursor item is used to select a single item in the hierarchy with a mouse click, and the highlighted item provides visual feedback on the mouse over. Selected items collection is equivalent to checked items in ListView or TreeView controls. The chart's navigation work around the current cursor item. The component shows the cursor and its neighbors regardless of page fit mode. So cursor item plays the role of local zoom in the chart hierarchy. The user navigates around the chart via clicking and selecting cursor items and zooming into data around the new cursor item. The control notifies about this property changes with `onCursorChanging` and `onCursorChanged` events. If the cursor item is set to null, then no cursor item is selected in the diagram. |
2222
| `emptyDiagramMessage` | string | `"Diagram is empty."` | Empty diagram message. This option is supposed to say user that chart is empty when no data is available for rendering. |
2323
| `enablePanning` | boolean | `true` | Enable panning. Enable chart panning with mouse drag & drop for desktop browsers. Disable it if you need to support items Drag & Drop. |
2424
| `hasSelectorCheckbox` | Enabled | `Auto` | Sets visibility of selection check boxes for the diagram nodes. `Auto` - visible for cursor item only `True` - visible `False` - hidden See `selectedItems` property. All items listed in this property are going to have checked selection checkboxes. Checkbox can be added to item template, in that case it should be named="checkbox", so control can use it as built in checkbox element. |

changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#### Version 6.3.0
2+
* Added matrixId and addToMatrix properties to FamItemConfig
3+
* Removed spouses property from FamItemConfig
14
#### Version 6.2.2
25
* Fixed Family Relations Optimizer
36
#### Version 6.2.1

index.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -350,12 +350,6 @@
350350
javascript: "samples/javascript.controls/CaseInactiveFamilyItems.html"
351351
}
352352
},
353-
{
354-
label: "Spouses having no children in Family Layout",
355-
frameworks: {
356-
javascript: "samples/javascript.controls/CaseSpousesInFamilyLayout.html"
357-
}
358-
},
359353
{
360354
label: "Family Relations Bundling",
361355
frameworks: {

samples/SpousesInFamilyLayout.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)