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', []);
ngModule.directive('popover', function($parse) {
ngModule.directive('popover', function() {
return function(scope, elm, attrs) {
var popover = angular.element(document.querySelector('.popover'));
var model = attrs.popover;
scope.$watch(model, function(value) {
// set popover title and content
scope.state.popover.title = attrs.popoverTitle;
scope.state.popover.content = value;
});
elm.on('mouseover', function() {
var model = $parse(attrs.popover);
scope.$watch(model, function(value) {
// set popover title and content
scope.state.popover.title = attrs.popoverTitle;
scope.state.popover.content = value;
// set popover position
var top = elm[0].offsetTop;
var left = elm[0].offsetLeft;
var width = elm[0].offsetWidth;
var height = elm[0].offsetHeight;
// set popover position
var top = elm[0].offsetTop;
var left = elm[0].offsetLeft;
var width = elm[0].offsetWidth;
var height = elm[0].offsetHeight;
popover[0].style.transition = 'opacity 0.4s linear';
popover[0].style.top = (top + height / 2 - popover[0].offsetHeight / 2) + 'px';
popover[0].style.left = (left + width) + 'px';
popover[0].style.opacity = '1';
});
popover[0].style.transition = 'opacity 0.3s linear';
popover[0].style.top = (top + height / 2 - popover[0].offsetHeight / 2) + 'px';
popover[0].style.left = (left + width) + 'px';
popover[0].style.opacity = '1';
});
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.top = '-9999px';
popover[0].style.left = '-9999px';

View File

@ -13,6 +13,9 @@ define(function(require) {
crypto = appController._crypto;
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 = {
open: false,
toggle: function(to) {