[Fixed Position] Allow select/deselect

Allow select/deselect of individual elements in fixed position
view, WTD-879.
This commit is contained in:
Victor Woeltjen 2015-02-18 19:51:42 -08:00
parent cd98fd475d
commit a4dd730764
2 changed files with 14 additions and 10 deletions

View File

@ -3,16 +3,18 @@
mct-resize="controller.setBounds(bounds)">
<!-- Background grid -->
<div ng-repeat="cell in controller.getCellStyles()"
style="position: absolute; border: 1px gray solid; background: black;"
ng-click="controller.deselect()"
ng-style="cell">
</div>
<span ng-click="controller.clearSelection()">
<div ng-repeat="cell in controller.getCellStyles()"
style="position: absolute; border: 1px gray solid; background: black;"
ng-style="cell">
</div>
</span>
<!-- Fixed position elements -->
<mct-include ng-repeat="element in controller.getDecoratedElements()"
style="position: absolute;"
key="element.template"
ng-class="{ test: controller.selected(element) }"
ng-style="element.style"
ng-click="controller.select(element)"
ng-model="element">

View File

@ -20,8 +20,6 @@ define(
function FixedController($scope, telemetrySubscriber, telemetryFormatter) {
var gridSize = DEFAULT_GRID_SIZE,
gridExtent = DEFAULT_GRID_EXTENT,
activeDrag,
activeDragId,
subscription,
cellStyles = [],
elementProxies = [],
@ -213,20 +211,24 @@ define(
* @returns {boolean} true if selected
*/
selected: function (element) {
return selection.selected(element);
return selection && selection.selected(element);
},
/**
* Set the active user selection in this view.
* @param element the element to select
*/
select: function (element) {
selection.select(element);
if (selection) {
selection.select(element);
}
},
/**
* Clear the current user selection.
*/
clearSelection: function () {
selection.deselect();
if (selection) {
selection.deselect();
}
},
/**
* Start a drag gesture to move/resize a frame.