1
0
mirror of https://github.com/moparisthebest/mail synced 2024-11-29 20:32:15 -05:00

fix popover size on init

This commit is contained in:
Tankred Hase 2013-12-04 11:50:20 +01:00
parent c41eb1337f
commit b4aa3a5493
2 changed files with 21 additions and 18 deletions

View File

@ -16,32 +16,32 @@ define(function(require) {
// //
var ngModule = angular.module('popover', []); var ngModule = angular.module('popover', []);
ngModule.directive('popover', function($parse) { ngModule.directive('popover', function() {
return function(scope, elm, attrs) { return function(scope, elm, attrs) {
var popover = angular.element(document.querySelector('.popover')); var popover = angular.element(document.querySelector('.popover'));
elm.on('mouseover', function() { var model = attrs.popover;
var model = $parse(attrs.popover);
scope.$watch(model, function(value) { scope.$watch(model, function(value) {
// set popover title and content // set popover title and content
scope.state.popover.title = attrs.popoverTitle; scope.state.popover.title = attrs.popoverTitle;
scope.state.popover.content = value; scope.state.popover.content = value;
});
elm.on('mouseover', function() {
// set popover position // set popover position
var top = elm[0].offsetTop; var top = elm[0].offsetTop;
var left = elm[0].offsetLeft; var left = elm[0].offsetLeft;
var width = elm[0].offsetWidth; var width = elm[0].offsetWidth;
var height = elm[0].offsetHeight; var height = elm[0].offsetHeight;
popover[0].style.transition = 'opacity 0.4s linear'; popover[0].style.transition = 'opacity 0.3s linear';
popover[0].style.top = (top + height / 2 - popover[0].offsetHeight / 2) + 'px'; popover[0].style.top = (top + height / 2 - popover[0].offsetHeight / 2) + 'px';
popover[0].style.left = (left + width) + 'px'; popover[0].style.left = (left + width) + 'px';
popover[0].style.opacity = '1'; popover[0].style.opacity = '1';
}); });
});
elm.on('mouseout', function() { elm.on('mouseout', function() {
popover[0].style.transition = 'opacity 0.4s linear, top 0.4s step-end, left 0.4s step-end'; popover[0].style.transition = 'opacity 0.3s linear, top 0.3s step-end, left 0.3s step-end';
popover[0].style.opacity = '0'; popover[0].style.opacity = '0';
popover[0].style.top = '-9999px'; popover[0].style.top = '-9999px';
popover[0].style.left = '-9999px'; popover[0].style.left = '-9999px';

View File

@ -13,6 +13,9 @@ define(function(require) {
crypto = appController._crypto; crypto = appController._crypto;
keychain = appController._keychain; keychain = appController._keychain;
// set default value so that the popover height is correct on init
$scope.fingerprint = 'XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX';
$scope.state.read = { $scope.state.read = {
open: false, open: false,
toggle: function(to) { toggle: function(to) {