66 lines
No EOL
1.8 KiB
JavaScript
66 lines
No EOL
1.8 KiB
JavaScript
'use strict';
|
|
|
|
oml.ui.appPanel = function() {
|
|
|
|
var ui = oml.user.ui,
|
|
|
|
that = Ox.SplitPanel({
|
|
elements: [
|
|
{
|
|
element: oml.$ui.mainMenu = oml.ui.mainMenu(),
|
|
size: 20
|
|
},
|
|
{
|
|
element: oml.$ui.mainPanel = oml.ui.mainPanel()
|
|
}
|
|
],
|
|
orientation: 'vertical'
|
|
})
|
|
.bindEvent({
|
|
oml_page: function(data) {
|
|
setPage(data.value, data.previousValue);
|
|
}
|
|
});
|
|
|
|
setPage(ui.page);
|
|
|
|
function setPage(page, previousPage) {
|
|
// close dialogs
|
|
if (
|
|
!Ox.contains(['import', 'export'], page)
|
|
|| !Ox.contains(['import', 'export'], previousPage)
|
|
) {
|
|
$('.OxDialog:visible').each(function() {
|
|
Ox.$elements[$(this).data('oxid')].close();
|
|
});
|
|
}
|
|
// open dialog
|
|
if (Ox.contains([
|
|
'welcome', 'app', 'preferences', 'users',
|
|
'notifications', 'transfers', 'help'
|
|
], page)) {
|
|
oml.$ui[page + 'Dialog'] = oml.ui[page + 'Dialog']().open();
|
|
} else if (Ox.contains(['import', 'export'], page)) {
|
|
if (
|
|
oml.$ui.importExportDialog
|
|
&& oml.$ui.importExportDialog.is(':visible')
|
|
) {
|
|
oml.$ui.importExportDialog.select(page);
|
|
} else {
|
|
oml.$ui.importExportDialog = oml.ui.importExportDialog(page).open();
|
|
}
|
|
}
|
|
}
|
|
|
|
that.reload = function() {
|
|
Ox.Request.cancel();
|
|
Ox.Request.clearCache();
|
|
oml.unbindEvent();
|
|
oml.$ui.appPanel.remove();
|
|
oml.$ui.appPanel = oml.ui.appPanel().appendTo(Ox.$body);
|
|
return that;
|
|
};
|
|
|
|
return that;
|
|
|
|
}; |