Skip to content

Commit

Permalink
move main application view over to messageReceiver namespace
Browse files Browse the repository at this point in the history
The goal here is to allow synchronous property lookup between objects
and mvc/backbone semantics.

// FREEBIE
  • Loading branch information
svevang authored and liliakai committed Apr 8, 2017
1 parent ef4b4da commit e4a21d1
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 18 deletions.
2 changes: 1 addition & 1 deletion index.html
Expand Up @@ -11,7 +11,7 @@
<link href="/stylesheets/manifest.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/chromium.js"></script>
</head>
<body class='signal index'>
<body id="signal-container" class='signal index'>
<script type="text/javascript" src="js/index.js"></script>
</body>
</html>
37 changes: 37 additions & 0 deletions js/background.js
Expand Up @@ -120,6 +120,9 @@
window.textsecure.messaging = new textsecure.MessageSender(
SERVER_URL, SERVER_PORTS, USERNAME, PASSWORD
);

deferredInit.resolve(owsDesktopApp);

if (firstRun === true && textsecure.storage.user.getDeviceId() != '1') {
if (!storage.get('theme-setting') && textsecure.storage.get('userAgent') === 'OWI') {
storage.put('theme-setting', 'ios');
Expand Down Expand Up @@ -293,4 +296,38 @@
timestamp: timestamp, source: pushMessage.source
});
}

var App = Backbone.Model.extend({
initialize: function(opts) {
this.inboxView = null;
},
getAppView: function(destWindow) {

var self = this;

return ConversationController.updateInbox().then(function() {
try {
if (self.inboxView) { self.inboxView.remove(); }
self.inboxView = new Whisper.InboxView({model: self, window: destWindow});
destWindow.openConversation = function(conversation) {
if (conversation) {
self.inboxView.openConversation(null, conversation);
}
};
destWindow.openConversation(getOpenConversation());

return self.inboxView;

} catch (e) {
console.log(e);
}
});
}
});

window.owsDesktopApp = new App();

var deferredInit = $.Deferred();
window.initLoading = deferredInit.promise();

})();
24 changes: 7 additions & 17 deletions js/index.js
Expand Up @@ -15,25 +15,15 @@
logError(error);
};

var view;

function render() {
extension.windows.getBackground(function(bg) {
bg.ConversationController.updateInbox().then(function() {
try {
if (view) { view.remove(); }
var $body = bg.$('body',document).empty();
view = new bg.Whisper.InboxView({window: window});
view.$el.prependTo($body);
window.openConversation = function(conversation) {
if (conversation) {
view.openConversation(null, conversation);
}
};
openConversation(bg.getOpenConversation());
} catch (e) {
logError(e);
}

var inboxPromise = bg.initLoading.done(function(owsDesktopApp) {
owsDesktopApp.getAppView(window).then(function(appView) {
var bodyEl = document.getElementById('signal-container');
bodyEl.innerHTML = "";
bodyEl.append(appView.el);
});
});
});
}
Expand Down

0 comments on commit e4a21d1

Please sign in to comment.