Merge pull request #1659 from dtailor90/master

persist user preference width for MCTSplitPanes issue #1646, updated MCTSplitPane to handle logic regarding localStorage
This commit is contained in:
Deep Tailor 2017-08-02 10:48:51 -07:00 committed by GitHub
commit 10b0f43fc1
3 changed files with 12 additions and 7 deletions

View File

@ -26,7 +26,7 @@
ng-controller="PaneController as modelPaneTree"
ng-class="modelPaneTree.visible() ? 'pane-tree-showing' : 'pane-tree-hidden'">
<mct-split-pane class='abs contents'
anchor='left'>
anchor='left' alias="leftSide">
<div class='split-pane-component treeview pane left'>
<div class="abs holder l-flex-col holder-treeview-elements">
<mct-representation key="'create-button'"
@ -60,7 +60,7 @@
ng-controller="InspectorPaneController as modelPaneInspect"
ng-class="modelPaneInspect.visible() ? 'pane-inspect-showing' : 'pane-inspect-hidden'">
<mct-split-pane class='l-object-and-inspector contents abs' anchor='right'>
<mct-split-pane class='l-object-and-inspector contents abs' anchor='right' alias="rightSide">
<div class='split-pane-component t-object pane primary-pane left'>
<mct-representation mct-object="navigatedObject"
key="navigatedObject.getCapability('status').get('editing') ? 'edit-object' : 'browse-object'"
@ -87,4 +87,3 @@
</div>
<mct-include key="'bottombar'"></mct-include>
</div>

View File

@ -94,6 +94,7 @@ define(
* @constructor
*/
function MCTSplitPane($parse, $log, $interval) {
var splitPaneNumber = 1;
function controller($scope, $element, $attrs) {
var anchorKey = $attrs.anchor || DEFAULT_ANCHOR,
anchor,
@ -148,8 +149,10 @@ define(
// Enforce minimum/maximum positions
function enforceExtrema() {
// Check for user preference on splitPane width
var userWidthPreference = window.localStorage[$attrs.alias];
position = Math.max(position, 0);
position = Math.min(position, getSize($element[0]));
position = Math.min(position,(userWidthPreference || getSize($element[0])));
}
// Getter-setter for the pixel offset of the splitter,
@ -165,7 +168,13 @@ define(
if (positionParsed.assign && position !== prior) {
positionParsed.assign($scope, position);
}
if ($attrs.alias) {
var myStorage = window.localStorage;
myStorage.setItem($attrs.alias, value);
}
}
return position;
}
@ -219,9 +228,7 @@ define(
controller: ['$scope', '$element', '$attrs', controller]
};
}
return MCTSplitPane;
}
);

View File

@ -83,4 +83,3 @@ define(
}
);