Show/Hide folder list button

This commit is contained in:
RainLoop Team 2014-04-27 04:54:22 +04:00
parent 5fff5afd16
commit ba645f5614
20 changed files with 183 additions and 125 deletions

View file

@ -321,5 +321,17 @@ AbstractApp.prototype.bootstart = function ()
}
});
RL.sub('ssm.mobile-enter', function () {
RL.data().leftPanelDisabled(true);
});
RL.sub('ssm.mobile-leave', function () {
RL.data().leftPanelDisabled(false);
});
RL.data().leftPanelDisabled.subscribe(function (bValue) {
$html.toggleClass('rl-left-panel-disabled', bValue);
});
ssm.ready();
};

View file

@ -1093,18 +1093,18 @@ Utils.initLayoutResizer = function (sLeft, sRight, sClientSideKeyName)
}
},
// fDisable = function (bDisable) {
// if (bDisable)
// {
// oLeft.resizable('disable');
// fSetWidth(5);
// }
// else
// {
// oLeft.resizable('enable');
// fSetWidth(RL.local().get(sClientSideKeyName) || 150);
// }
// },
fDisable = function (bDisable) {
if (bDisable)
{
oLeft.resizable('disable');
fSetWidth(5);
}
else
{
oLeft.resizable('enable');
fSetWidth(RL.local().get(sClientSideKeyName) || 170);
}
},
fResizeFunction = function (oEvent, oObject) {
if (oObject && oObject.size && oObject.size.width)
@ -1125,19 +1125,19 @@ Utils.initLayoutResizer = function (sLeft, sRight, sClientSideKeyName)
oLeft.resizable({
'helper': 'ui-resizable-helper',
'minWidth': 120,
'minWidth': 170,
'maxWidth': 400,
'handles': 'e',
'stop': fResizeFunction
});
// RL.sub('ssm.mobile-enter', function () {
// fDisable(true);
// });
//
// RL.sub('ssm.mobile-leave', function () {
// fDisable(false);
// });
RL.sub('left-panel.off', function () {
fDisable(true);
});
RL.sub('left-panel.on', function () {
fDisable(false);
});
};
/**

View file

@ -5,6 +5,7 @@
*/
function AbstractData()
{
this.leftPanelDisabled = ko.observable(false);
this.useKeyboardShortcuts = ko.observable(true);
this.keyScopeReal = ko.observable(Enums.KeyState.All);
@ -44,6 +45,10 @@ function AbstractData()
key.setScope(sValue);
});
this.leftPanelDisabled.subscribe(function (bValue) {
RL.pub('left-panel.' + (bValue ? 'off' : 'on'));
});
Globals.dropdownVisibility.subscribe(function (bValue) {
if (bValue)
{

View file

@ -15,7 +15,7 @@
#rl-center {
.g-ui-absolute-reset;
min-width: 700px;
min-width: 600px;
min-height: 400px;
}
@ -108,18 +108,18 @@ html.ssm-state-desktop {
}
}
html.ssm-state-tablet {
html.ssm-state-tablet, html.ssm-state-mobile {
#rl-left {
width: 150px;
width: 160px;
}
#rl-right {
left: 150px;
left: 160px;
}
#rl-sub-left {
width: 340px;
width: 350px;
.messageList .inputSearch {
width: 220px;
@ -127,7 +127,7 @@ html.ssm-state-tablet {
}
#rl-sub-right {
left: 340px;
left: 350px;
}
.b-compose.modal {
@ -139,33 +139,15 @@ html.ssm-state-tablet {
}
}
html.ssm-state-mobile {
html.rl-left-panel-disabled {
#rl-left {
width: 120px;
width: 5px !important;
display: none;
}
#rl-right {
left: 120px;
}
#rl-sub-left {
width: 340px;
.messageList .inputSearch {
width: 220px;
}
}
#rl-sub-right {
left: 340px;
}
.b-compose.modal {
width: 800px;
}
.b-contacts-content.modal {
width: 800px;
left: 5px !important;
}
}

View file

@ -12,6 +12,7 @@ function AdminPaneViewModel()
this.version = ko.observable(RL.settingsGet('Version'));
this.adminManLoadingVisibility = RL.data().adminManLoadingVisibility;
this.leftPanelDisabled = RL.data().leftPanelDisabled;
Knoin.constructorEnd(this);
}

View file

@ -15,6 +15,8 @@ function MailBoxFolderListViewModel()
this.folderListSystem = oData.folderListSystem;
this.foldersChanging = oData.foldersChanging;
this.leftPanelDisabled = oData.leftPanelDisabled;
this.iDropOverTimer = 0;
this.allowContacts = !!RL.settingsGet('ContactsIsAllowed');

View file

@ -26,6 +26,7 @@ function MailBoxMessageListViewModel()
this.folderMenuForMove = oData.folderMenuForMove;
this.useCheckboxesInList = oData.useCheckboxesInList;
this.leftPanelDisabled = oData.leftPanelDisabled;
this.mainMessageListSearch = oData.mainMessageListSearch;
this.messageListEndFolder = oData.messageListEndFolder;

View file

@ -8,6 +8,8 @@ function SettingsPaneViewModel()
{
KnoinAbstractViewModel.call(this, 'Right', 'SettingsPane');
this.leftPanelDisabled = RL.data().leftPanelDisabled;
Knoin.constructorEnd(this);
}

View file

@ -2,7 +2,7 @@
"name": "RainLoop",
"title": "RainLoop Webmail",
"version": "1.6.5",
"release": "909",
"release": "910",
"description": "Simple, modern & fast web-based email client",
"homepage": "http://rainloop.net",
"main": "Gruntfile.js",

View file

@ -13,6 +13,12 @@
<i class="icon-power"></i>
</a>
</div>
<div class="btn-group pull-right">&nbsp;</div>
<div class="btn-group pull-right" data-bind="visible: leftPanelDisabled">
<a class="btn buttonResize" data-bind="click: function () { leftPanelDisabled(false); }">
<i class="icon-resize"></i>
</a>
</div>
</div>
</div>
<div class="b-content" data-bind="nano: true">

View file

@ -6,6 +6,9 @@
<a class="btn buttonContacts" data-tooltip-placement="bottom" data-bind="visible: allowContacts, click: contactsClick, tooltip: 'FOLDER_LIST/BUTTON_CONTACTS'">
<i class="icon-address-book"></i>
</a>
<a class="btn buttonResize" data-bind="click: function () { leftPanelDisabled(true); }">
<i class="icon-resize"></i>
</a>
</div>
<div class="b-content" data-bind="nano: true">
<div class="content g-scrollbox">

View file

@ -3,6 +3,11 @@
data-bind="css: {'message-selected': isMessageSelected, 'message-focused': message.focused, 'loading': messageListCompleteLoadingThrottle, 'hideMessageListCheckbox': !useCheckboxesInList() }">
<div class="toolbar">
<div class="btn-toolbar">
<div class="btn-group" data-bind="visible: leftPanelDisabled">
<a class="btn" data-bind="click: function () { leftPanelDisabled(false); }">
<i class="icon-resize"></i>
</a>
</div>
<div class="btn-group">
<a class="btn buttonReload" data-tooltip-placement="bottom" data-bind="command: reloadCommand, tooltip: 'MESSAGE_LIST/BUTTON_RELOAD'">
<i class="icon-spinner" data-bind="css: {'animated': messageListCompleteLoadingThrottle}"></i>

View file

@ -1,6 +1,7 @@
<div id="rl-sub-right">
<div class="messageView" data-bind="css: {'message-selected': isMessageSelected, 'message-focused': message.focused}">
<div class="toolbar g-ui-user-select-none">
<nobr>
<div class="messageButtons btn-toolbar">
<div class="btn-group" data-tooltip-placement="bottom" data-bind="visible: !usePreviewPane(), tooltip: 'MESSAGE/BUTTON_CLOSE'">
<a class="btn buttonClose" data-bind="command: closeMessage">
@ -120,6 +121,7 @@
</a>
</div>
</div>
</nobr>
</div>
<div class="b-content thm-message-view-background-color">
<div>

View file

@ -6,6 +6,10 @@
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_LABELS/BUTTON_BACK"></span>
</a>
&nbsp;&nbsp;
<a class="btn buttonResize" data-bind="visible: leftPanelDisabled, click: function () { leftPanelDisabled(false); }">
<i class="icon-resize"></i>
</a>
</div>
</div>
<div class="b-content" data-bind="nano: true">

View file

@ -6926,7 +6926,7 @@ html.mobile * {
margin: 0;
border: 0;
z-index: 0;
min-width: 700px;
min-width: 600px;
min-height: 400px;
}
#rl-top {
@ -7025,48 +7025,41 @@ html.ssm-state-desktop #rl-sub-left {
html.ssm-state-desktop #rl-sub-right {
left: 400px;
}
html.ssm-state-tablet #rl-left {
width: 150px;
}
html.ssm-state-tablet #rl-right {
left: 150px;
}
html.ssm-state-tablet #rl-sub-left {
width: 340px;
}
html.ssm-state-tablet #rl-sub-left .messageList .inputSearch {
width: 220px;
}
html.ssm-state-tablet #rl-sub-right {
left: 340px;
}
html.ssm-state-tablet .b-compose.modal {
width: 800px;
}
html.ssm-state-tablet .b-contacts-content.modal {
width: 800px;
}
html.ssm-state-tablet #rl-left,
html.ssm-state-mobile #rl-left {
width: 120px;
width: 160px;
}
html.ssm-state-tablet #rl-right,
html.ssm-state-mobile #rl-right {
left: 120px;
left: 160px;
}
html.ssm-state-tablet #rl-sub-left,
html.ssm-state-mobile #rl-sub-left {
width: 340px;
width: 350px;
}
html.ssm-state-tablet #rl-sub-left .messageList .inputSearch,
html.ssm-state-mobile #rl-sub-left .messageList .inputSearch {
width: 220px;
}
html.ssm-state-tablet #rl-sub-right,
html.ssm-state-mobile #rl-sub-right {
left: 340px;
left: 350px;
}
html.ssm-state-tablet .b-compose.modal,
html.ssm-state-mobile .b-compose.modal {
width: 800px;
}
html.ssm-state-tablet .b-contacts-content.modal,
html.ssm-state-mobile .b-contacts-content.modal {
width: 800px;
}
html.rl-left-panel-disabled #rl-left {
width: 5px !important;
display: none;
}
html.rl-left-panel-disabled #rl-right {
left: 5px !important;
}
.ui-resizable-helper {
border-right: 5px solid #777;
border-right-color: rgba(255, 255, 255, 0.7);

File diff suppressed because one or more lines are too long

View file

@ -1815,18 +1815,18 @@ Utils.initLayoutResizer = function (sLeft, sRight, sClientSideKeyName)
}
},
// fDisable = function (bDisable) {
// if (bDisable)
// {
// oLeft.resizable('disable');
// fSetWidth(5);
// }
// else
// {
// oLeft.resizable('enable');
// fSetWidth(RL.local().get(sClientSideKeyName) || 150);
// }
// },
fDisable = function (bDisable) {
if (bDisable)
{
oLeft.resizable('disable');
fSetWidth(5);
}
else
{
oLeft.resizable('enable');
fSetWidth(RL.local().get(sClientSideKeyName) || 170);
}
},
fResizeFunction = function (oEvent, oObject) {
if (oObject && oObject.size && oObject.size.width)
@ -1847,19 +1847,19 @@ Utils.initLayoutResizer = function (sLeft, sRight, sClientSideKeyName)
oLeft.resizable({
'helper': 'ui-resizable-helper',
'minWidth': 120,
'minWidth': 170,
'maxWidth': 400,
'handles': 'e',
'stop': fResizeFunction
});
// RL.sub('ssm.mobile-enter', function () {
// fDisable(true);
// });
//
// RL.sub('ssm.mobile-leave', function () {
// fDisable(false);
// });
RL.sub('left-panel.off', function () {
fDisable(true);
});
RL.sub('left-panel.on', function () {
fDisable(false);
});
};
/**
@ -5650,6 +5650,7 @@ function AdminPaneViewModel()
this.version = ko.observable(RL.settingsGet('Version'));
this.adminManLoadingVisibility = RL.data().adminManLoadingVisibility;
this.leftPanelDisabled = RL.data().leftPanelDisabled;
Knoin.constructorEnd(this);
}
@ -6654,6 +6655,7 @@ AdminLicensing.prototype.licenseExpiredMomentValue = function ()
*/
function AbstractData()
{
this.leftPanelDisabled = ko.observable(false);
this.useKeyboardShortcuts = ko.observable(true);
this.keyScopeReal = ko.observable(Enums.KeyState.All);
@ -6693,6 +6695,10 @@ function AbstractData()
key.setScope(sValue);
});
this.leftPanelDisabled.subscribe(function (bValue) {
RL.pub('left-panel.' + (bValue ? 'off' : 'on'));
});
Globals.dropdownVisibility.subscribe(function (bValue) {
if (bValue)
{
@ -7957,6 +7963,18 @@ AbstractApp.prototype.bootstart = function ()
}
});
RL.sub('ssm.mobile-enter', function () {
RL.data().leftPanelDisabled(true);
});
RL.sub('ssm.mobile-leave', function () {
RL.data().leftPanelDisabled(false);
});
RL.data().leftPanelDisabled.subscribe(function (bValue) {
$html.toggleClass('rl-left-panel-disabled', bValue);
});
ssm.ready();
};

File diff suppressed because one or more lines are too long

View file

@ -1819,18 +1819,18 @@ Utils.initLayoutResizer = function (sLeft, sRight, sClientSideKeyName)
}
},
// fDisable = function (bDisable) {
// if (bDisable)
// {
// oLeft.resizable('disable');
// fSetWidth(5);
// }
// else
// {
// oLeft.resizable('enable');
// fSetWidth(RL.local().get(sClientSideKeyName) || 150);
// }
// },
fDisable = function (bDisable) {
if (bDisable)
{
oLeft.resizable('disable');
fSetWidth(5);
}
else
{
oLeft.resizable('enable');
fSetWidth(RL.local().get(sClientSideKeyName) || 170);
}
},
fResizeFunction = function (oEvent, oObject) {
if (oObject && oObject.size && oObject.size.width)
@ -1851,19 +1851,19 @@ Utils.initLayoutResizer = function (sLeft, sRight, sClientSideKeyName)
oLeft.resizable({
'helper': 'ui-resizable-helper',
'minWidth': 120,
'minWidth': 170,
'maxWidth': 400,
'handles': 'e',
'stop': fResizeFunction
});
// RL.sub('ssm.mobile-enter', function () {
// fDisable(true);
// });
//
// RL.sub('ssm.mobile-leave', function () {
// fDisable(false);
// });
RL.sub('left-panel.off', function () {
fDisable(true);
});
RL.sub('left-panel.on', function () {
fDisable(false);
});
};
/**
@ -11787,6 +11787,8 @@ function MailBoxFolderListViewModel()
this.folderListSystem = oData.folderListSystem;
this.foldersChanging = oData.foldersChanging;
this.leftPanelDisabled = oData.leftPanelDisabled;
this.iDropOverTimer = 0;
this.allowContacts = !!RL.settingsGet('ContactsIsAllowed');
@ -11989,6 +11991,7 @@ function MailBoxMessageListViewModel()
this.folderMenuForMove = oData.folderMenuForMove;
this.useCheckboxesInList = oData.useCheckboxesInList;
this.leftPanelDisabled = oData.leftPanelDisabled;
this.mainMessageListSearch = oData.mainMessageListSearch;
this.messageListEndFolder = oData.messageListEndFolder;
@ -13555,6 +13558,8 @@ function SettingsPaneViewModel()
{
KnoinAbstractViewModel.call(this, 'Right', 'SettingsPane');
this.leftPanelDisabled = RL.data().leftPanelDisabled;
Knoin.constructorEnd(this);
}
@ -14930,6 +14935,7 @@ SettingsOpenPGP.prototype.deleteOpenPgpKey = function (oOpenPgpKeyToRemove)
*/
function AbstractData()
{
this.leftPanelDisabled = ko.observable(false);
this.useKeyboardShortcuts = ko.observable(true);
this.keyScopeReal = ko.observable(Enums.KeyState.All);
@ -14969,6 +14975,10 @@ function AbstractData()
key.setScope(sValue);
});
this.leftPanelDisabled.subscribe(function (bValue) {
RL.pub('left-panel.' + (bValue ? 'off' : 'on'));
});
Globals.dropdownVisibility.subscribe(function (bValue) {
if (bValue)
{
@ -18468,6 +18478,18 @@ AbstractApp.prototype.bootstart = function ()
}
});
RL.sub('ssm.mobile-enter', function () {
RL.data().leftPanelDisabled(true);
});
RL.sub('ssm.mobile-leave', function () {
RL.data().leftPanelDisabled(false);
});
RL.data().leftPanelDisabled.subscribe(function (bValue) {
$html.toggleClass('rl-left-panel-disabled', bValue);
});
ssm.ready();
};

File diff suppressed because one or more lines are too long