[Layout] Position frames on drop

Position frames within a layout based on the position
where they were dropped into the layout, WTD-877.
This commit is contained in:
Victor Woeltjen
2015-02-17 10:23:10 -08:00
parent e158f2811c
commit 01d953bf45
2 changed files with 31 additions and 2 deletions

View File

@ -85,6 +85,26 @@ define(
// Position panes when the model field changes
$scope.$watch("model.composition", lookupPanels);
// Position panes where they are dropped
$scope.$on("mctDrop", function (e, id, position) {
// Make sure there is a "panels" field in the
// view configuration.
$scope.configuration.panels =
$scope.configuration.panels || {};
// Store the position of this panel.
$scope.configuration.panels[id] = {
position: [
Math.floor(position.x / gridSize[0]),
Math.floor(position.y / gridSize[1])
],
dimensions: DEFAULT_DIMENSIONS
};
// Mark change as persistable
if ($scope.commit) {
$scope.commit("Dropped a frame.");
}
});
return {
/**
* Get a style object for a frame with the specified domain