|
1 | 1 | /** |
2 | | - * @preserve Basic Primitives Diagrams v5.8.1 |
| 2 | + * @preserve Basic Primitives Diagrams v5.8.2 |
3 | 3 | * Copyright (c) 2013 - 2020 Basic Primitives Inc |
4 | 4 | * |
5 | 5 | * Non-commercial - Free |
|
35 | 35 |
|
36 | 36 | var primitives = { |
37 | 37 | common: { |
38 | | - version: "5.8.1" |
| 38 | + version: "5.8.2" |
39 | 39 | }, |
40 | 40 | orgdiagram: {}, |
41 | 41 | famdiagram: {}, |
@@ -12357,6 +12357,64 @@ primitives.famdiagram.CursorNeighboursTask = function (cursorItemTask, neighbour |
12357 | 12357 | }; |
12358 | 12358 | }; |
12359 | 12359 |
|
| 12360 | +/* /Controls/FamDiagram/Tasks/Transformations/Selection/SelectionPathItemsTask.js*/ |
| 12361 | +primitives.famdiagram.SelectionPathItemsTask = function (navigationFamilyTask, cursorItemTask, selectedItemsTask, cursorSelectionPathModeOptionTask) { |
| 12362 | + var _data = { |
| 12363 | + items: [] |
| 12364 | + }; |
| 12365 | + |
| 12366 | + function process() { |
| 12367 | + var selectionPathMode = cursorSelectionPathModeOptionTask.getSelectionPathMode(), |
| 12368 | + navigationFamily = navigationFamilyTask.getLogicalFamily(), |
| 12369 | + cursorTreeItemId = cursorItemTask.getCursorTreeItem(), |
| 12370 | + selectedItems = selectedItemsTask.getItems().slice(0); |
| 12371 | + |
| 12372 | + selectedItems.push(cursorTreeItemId); |
| 12373 | + |
| 12374 | + _data.items = getSelectionPathItems(selectedItems, navigationFamily, selectionPathMode); |
| 12375 | + |
| 12376 | + return true; |
| 12377 | + } |
| 12378 | + |
| 12379 | + function getSelectionPathItems(selectedItems, navigationFamily, selectionPathMode) { |
| 12380 | + var result = [], |
| 12381 | + processed = {}, |
| 12382 | + selectedItem, |
| 12383 | + index, len; |
| 12384 | + |
| 12385 | + for (index = 0, len = selectedItems.length; index < len; index += 1) { |
| 12386 | + selectedItem = selectedItems[index]; |
| 12387 | + /* show cursor full stack */ |
| 12388 | + switch (selectionPathMode) { |
| 12389 | + case 0/*primitives.common.SelectionPathMode.None*/: |
| 12390 | + break; |
| 12391 | + case 1/*primitives.common.SelectionPathMode.FullStack*/: |
| 12392 | + /* select all parents up to the root */ |
| 12393 | + navigationFamily.loopParents(this, selectedItem, function (parentItemId, parentItem) { |
| 12394 | + if (processed[parentItemId] != null) { |
| 12395 | + return navigationFamily.SKIP; |
| 12396 | + } |
| 12397 | + if (parentItem.isVisible) { |
| 12398 | + result.push(parentItemId); |
| 12399 | + } |
| 12400 | + processed[parentItemId] = true; |
| 12401 | + }); |
| 12402 | + break; |
| 12403 | + } |
| 12404 | + } |
| 12405 | + return result; |
| 12406 | + } |
| 12407 | + |
| 12408 | + function getItems() { |
| 12409 | + return _data.items; |
| 12410 | + } |
| 12411 | + |
| 12412 | + return { |
| 12413 | + process: process, |
| 12414 | + getItems: getItems |
| 12415 | + }; |
| 12416 | +}; |
| 12417 | + |
12360 | 12418 | /* /Controls/FamDiagram/Tasks/Transformations/AddLabelAnnotationsTask.js*/ |
12361 | 12419 | primitives.famdiagram.AddLabelAnnotationsTask = function (labelAnnotationPlacementOptionTask, removeLoopsTask) { |
12362 | 12420 | var _data = { |
@@ -13370,7 +13428,7 @@ primitives.famdiagram.TaskManagerFactory = function (getOptions, getGraphics, ge |
13370 | 13428 | tasks.addTask('CursorItemTask', ['CursorItemOptionTask', 'ActiveItemsTask'], primitives.orgdiagram.CursorItemTask, "#00ffff"/*primitives.common.Colors.Cyan*/); |
13371 | 13429 | tasks.addTask('CursorNeighboursTask', ['CursorItemTask', 'NeighboursSelectionModeOptionTask', 'AddSpousesTask', 'ActiveItemsTask'], primitives.famdiagram.CursorNeighboursTask, "#00ffff"/*primitives.common.Colors.Cyan*/); |
13372 | 13430 | tasks.addTask('SelectedItemsTask', ['SelectedItemsOptionTask'], primitives.orgdiagram.SelectedItemsTask, "#00ffff"/*primitives.common.Colors.Cyan*/); |
13373 | | - tasks.addTask('SelectionPathItemsTask', ['AddSpousesTask', 'CursorItemTask', 'SelectedItemsTask', 'CursorSelectionPathModeOptionTask'], primitives.orgdiagram.SelectionPathItemsTask, "#00ffff"/*primitives.common.Colors.Cyan*/); |
| 13431 | + tasks.addTask('SelectionPathItemsTask', ['AddSpousesTask', 'CursorItemTask', 'SelectedItemsTask', 'CursorSelectionPathModeOptionTask'], primitives.famdiagram.SelectionPathItemsTask, "#00ffff"/*primitives.common.Colors.Cyan*/); |
13374 | 13432 |
|
13375 | 13433 | tasks.addTask('NormalVisibilityItemsByForegroundShapeAnnotationTask', ['ForegroundShapeAnnotationOptionTask'], primitives.orgdiagram.NormalVisibilityItemsByAnnotationTask, "#00ffff"/*primitives.common.Colors.Cyan*/); |
13376 | 13434 | tasks.addTask('NormalVisibilityItemsByBackgroundShapeAnnotationTask', ['BackgroundShapeAnnotationOptionTask'], primitives.orgdiagram.NormalVisibilityItemsByAnnotationTask, "#00ffff"/*primitives.common.Colors.Cyan*/); |
|
0 commit comments