Я использую плагин jQuery UI Layout для приложения angularjs.Я использую типичное расположение центра, север, юг, восток, запад.
Все, что я пытаюсь сделать, это изменить направление щелчка переключателя на панели изменения размера.
В частности, у меня есть центральная панель с панелью изменения размера слева и справа.Если щелкнуть правую полосу изменения размера, она полностью переместится вправо, сделав центральную панель полноэкранной.ВМЕСТО, я хочу, чтобы эта панель прошла полностью влево, закрывая центральную панель и делая полноэкранный режим восточной панели.
Я не нашел почти никакой документации о том, как этого добиться.Любая помощь приветствуется!
x.directive('uiLayoutContainer', function (cmcUserSettings, $timeout) {
return {
priority:0,
restrict: 'EA',
link: function(scope, elm, attrs) {
console.log("Applying layout");
var layout = angular.element(elm).layout(
{
applyDefaultStyles: true,
north: {
applyDefaultStyles:false,
resizable: false
},
south: {
initClosed:cmcUserSettings.userSettings.statusPanelClosed,
onopen:function(){
cmcUserSettings.userSettings.statusPanelClosed = false;
scope.$apply();
},
onclose:function(){
cmcUserSettings.userSettings.statusPanelClosed = true;
scope.$apply();
}
},
west: {
initClosed:cmcUserSettings.userSettings.objectTreePanelClosed,
onopen:function(){
if(layout && layout.west && layout.west.pane && layout.west.pane.length && layout.west.pane[0].className.indexOf(' cmc-layout-west-open') === -1)
layout.west.pane[0].className += ' cmc-layout-west-open';
cmcUserSettings.userSettings.objectTreePanelClosed = false;
scope.$apply();
},
onclose:function(){
if(layout && layout.west && layout.west.pane && layout.west.pane.length && layout.west.pane[0].className.indexOf(' cmc-layout-west-open') > -1)
layout.west.pane[0].className = layout.west.pane[0].className.substring(0, layout.west.pane[0].className.indexOf(' cmc-layout-west-open')) + layout.west.pane[0].className.substring(layout.west.pane[0].className.indexOf(' cmc-layout-west-open') + 21, layout.west.pane[0].className.length);
cmcUserSettings.userSettings.objectTreePanelClosed = true;
scope.$apply();
}
}
});
scope.layout = layout;
$timeout(function(){
if(layout && layout.west && layout.west.pane && layout.west.pane.length && layout.west.pane[0].className.indexOf(' cmc-layout-west-open') === -1 && !cmcUserSettings.userSettings.objectTreePanelClosed)
layout.west.pane[0].className += ' cmc-layout-west-open';
});
}
};
});
x.directive('uiLayoutCenter', ['ui.config', function (uiConfig) {
return {
priority:1,
restrict: 'EA',
transclude:true,
replace:true,
template:'<div class="ui-layout-center"><div ng-transclude></div></div>'
};
}]);
x.directive('uiLayoutNorth', ['ui.config', function (uiConfig) {
return {
priority:1,
restrict: 'EA',
transclude:true,
replace:true,
template:'<div class="ui-layout-north"><div ng-transclude></div></div>'
};
}]);
x.directive('uiLayoutSouth', ['ui.config', function (uiConfig) {
return {
priority:1,
restrict: 'EA',
transclude:true,
replace:true,
template:'<div class="ui-layout-south" ><div ng-transclude style="height:105px;" ></div></div>'
};
}]);
x.directive('uiLayoutEast', ['ui.config', function (uiConfig) {
return {
priority:1,
restrict: 'EA',
transclude:true,
replace:true,
template:'<div class="ui-layout-east"><div ng-transclude></div></div>'
};
}]);
x.directive('uiLayoutWest', ['ui.config', function (uiConfig) {
return {
priority:1,
restrict: 'EA',
transclude:true,
replace:true,
template:'<div class="ui-layout-west"><div ng-transclude></div></div>',
};
}]);
x.controller('LayoutCtrl', function($scope) {
});```