open-vault/website/source/assets/javascripts/demo/views/demo.js
2016-05-15 09:58:36 -07:00

57 lines
1.2 KiB
JavaScript

Demo.DemoView = Ember.View.extend({
classNames: ['demo-overlay'],
mouseUp: function(ev) {
var selection = window.getSelection().toString();
if (selection.length > 0) {
// Ignore clicks when they are trying to select something
return;
}
var element = this.$();
// Record scroll position
var x = element.scrollX, y = element.scrollY;
// Focus
element.find('input.shell')[0].focus();
// Scroll back to where you were
element.scrollTop(x, y);
},
didInsertElement: function() {
var controller = this.get('controller'),
overlay = $('.sidebar-overlay'),
element = this.$();
$('body').addClass('demo-active');
overlay.addClass('active');
overlay.on('click', function() {
controller.transitionTo('index');
});
// Scroll to the bottom of the element
element.scrollTop(element[0].scrollHeight);
// Focus
element.find('input.shell')[0].focus();
},
willDestroyElement: function() {
// Remove overlay
$('.sidebar-overlay').removeClass('active');
var element = this.$();
element.fadeOut(400);
$('body').removeClass('demo-active');
// reset scroll to top after closing demo
window.scrollTo(0, 0);
},
});