Skip to content
This repository was archived by the owner on May 16, 2019. It is now read-only.

Commit 9f7167f

Browse files
committed
integrating page nav server menu with the server connect and page connect modals
1 parent cd0324a commit 9f7167f

File tree

6 files changed

+67
-15
lines changed

6 files changed

+67
-15
lines changed

css/obBase.css

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4269,7 +4269,7 @@ input[type="checkbox"].fieldItem:checked + label .togLabelOff {
42694269
z-index: 9;
42704270
}
42714271
4272-
#loadingModal, .page-connect-modal.startup-server-connect {
4272+
#loadingModal, .page-connect-modal.server-connect {
42734273
z-index: 14;
42744274
}
42754275
@@ -4309,18 +4309,14 @@ input[type="checkbox"].fieldItem:checked + label .togLabelOff {
43094309
opacity: 0;
43104310
}
43114311
4312-
#ov1 .server-config-form {
4312+
#ov1 .server-config-form:not('.no-transition') {
43134313
transition: top 250ms;
43144314
}
43154315
43164316
#ov1 .server-config-form.slide-out {
43174317
top: 372px;
43184318
}
43194319
4320-
#ov1 .server-config-row {
4321-
/*min-height: 73px;*/
4322-
}
4323-
43244320
#ov1 .server-config-row .connection-failed::after {
43254321
content: '';
43264322
position: absolute;

js/main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ launchOnboarding = function(guidCreating) {
427427
var activeServer = app.serverConfigs.getActive();
428428

429429
pageConnectModal = new PageConnectModal({
430-
className: 'startup-server-connect top0',
430+
className: 'server-connect top0',
431431
initialState: {
432432
statusText: activeServer && activeServer.get('default') ?
433433
polyglot.t('serverConnectModal.connectingToDefault') :

js/templates/pageNavServersMenu.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<% ob.servers.forEach((server) => { %>
2-
<a class="flexRow">
2+
<a class="flexRow js-pageNavServer <% server.id === ob.connectedServer && print('noPointerEvents') %>" data-server-config-id="<%= server.id %>">
33
<div class="rowItem positionRelative padding010">
44
<div class="flexRow">
55
<div class="table">

js/views/pageNavServersVw.js

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@
22

33
var __ = require('underscore'),
44
loadTemplate = require('../utils/loadTemplate'),
5-
// app = require('../App.js').getApp(),
6-
BaseVw = require('./baseVw');
5+
app = require('../App.js').getApp(),
6+
BaseVw = require('./baseVw'),
7+
PageConnectModal = require('./pageConnectModal');
78

89
module.exports = BaseVw.extend({
910
className: 'flexContainer',
1011

1112
events: {
13+
'click .js-newServer': 'onClickNewServer',
14+
'click .js-manageServers': 'onClickManageServers',
15+
'click .js-pageNavServer': 'onClickServer'
1216
},
1317

1418
initialize: function(options) {
@@ -21,6 +25,47 @@ module.exports = BaseVw.extend({
2125
this.listenTo(this.collection, 'update', this.render);
2226
},
2327

28+
onClickNewServer: function(e) {
29+
app.serverConnectModal.showConfigForm()
30+
.open();
31+
},
32+
33+
onClickManageServers: function(e) {
34+
app.serverConnectModal.open();
35+
},
36+
37+
onClickServer: function(e) {
38+
var $target = $(e.target).hasClass('js-pageNavServer') ?
39+
$(e.target) : $(e.target).parents('.js-pageNavServer'),
40+
serverConfig = app.serverConfigs.get($target.data('server-config-id'));
41+
42+
// launch page connect modal
43+
this.pageConnectModal && this.pageConnectModal.remove()
44+
this.pageConnectModal = new PageConnectModal({
45+
className: 'server-connect top0',
46+
initialState: {
47+
statusText: serverConfig.get('default') ?
48+
polyglot.t('serverConnectModal.connectingToDefault') :
49+
polyglot.t('serverConnectModal.connectingTo', { serverName: serverConfig.get('name') })
50+
}
51+
}).on('cancel', () => {
52+
this.pageConnectModal.remove();
53+
app.serverConnectModal.open();
54+
}).open();
55+
56+
app.serverConnectModal.connect(serverConfig);
57+
// .done(() => {
58+
// alert('im done');
59+
// this.pageConnectModal.remove();
60+
// }).fail(() => {
61+
// alert('ive failed');
62+
// return;
63+
// alert('china town');
64+
// this.pageConnectModal.remove();
65+
// app.serverConnectModal.open();
66+
// });
67+
},
68+
2469
render: function() {
2570
loadTemplate('./js/templates/pageNavServersMenu.html', (t) => {
2671
this.$el.html(t({

js/views/pageNavVw.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,9 @@ module.exports = baseVw.extend({
489489

490490
closeNav: function() {
491491
app.hideOverlay();
492-
self.$('.js-navProfileMenu').removeClass('popMenu-opened');
492+
self.$('.js-navProfileMenu').removeClass('popMenu-opened');
493+
clearTimeout(this.ServerSubmenuTimeout);
494+
this.serverSubmenu.removeClass('server-submenu-opened');
493495
},
494496

495497
navCloseClick: function(){

js/views/serverConnectModal.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,15 @@ module.exports = BaseModal.extend({
6262
title: polyglot.t('serverConnectModal.serverConfigsTitle'),
6363
showNew: true
6464
});
65+
66+
return this;
6567
},
6668

6769
showConfigForm: function(configMd) {
6870
var model = configMd;
6971

72+
this._state = this.options.initialState || {};
73+
7074
if (!model) {
7175
model = new ServerConfigMd();
7276
model.__collection = this.serverConfigs;
@@ -96,7 +100,9 @@ module.exports = BaseModal.extend({
96100

97101
this.$jsConfigFormWrap.one('transitionend', () => {
98102
this.serverConfigFormVw.$('input[name="name"]').focus();
99-
}).removeClass('slide-out');
103+
}).removeClass(`slide-out ${!this.isOpen() ? 'no-transition' : ''}`);
104+
105+
return this;
100106
},
101107

102108
newConfigForm: function() {
@@ -169,10 +175,12 @@ module.exports = BaseModal.extend({
169175
},
170176

171177
connect: function(configMd) {
178+
var connectAttempt;
179+
172180
configMd = configMd || this.serverConfigs.getActive();
173181

174182
if (!configMd) {
175-
throw new Error(`Unable to connect because no config was created, nor is there a stored
183+
throw new Error(`Unable to connect because no config was provided, nor is there a stored
176184
active configuration in the ServerConfigs collection.`);
177185
}
178186

@@ -205,11 +213,12 @@ module.exports = BaseModal.extend({
205213
});
206214

207215
this.connectAttempt.serverId = configMd.id;
216+
connectAttempt = this.connectAttempt;
208217

209-
return this;
218+
return connectAttempt;
210219
},
211220

212-
attemptConnection: function() {
221+
attemptConnection: function(options) {
213222
var self = this,
214223
deferred = $.Deferred(),
215224
promise = deferred.promise(),

0 commit comments

Comments
 (0)