32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
|
(function(angular, $, _) {
|
||
|
|
||
|
angular.module('statuspage')
|
||
|
.filter('trusted', function($sce){ return $sce.trustAsHtml; })
|
||
|
|
||
|
// Todo: abstract this into a generic crmUi directive?
|
||
|
.directive('statuspagePopupMenu', function($timeout) {
|
||
|
return {
|
||
|
templateUrl: '~/statuspage/SnoozeOptions.html',
|
||
|
transclude: true,
|
||
|
|
||
|
link: function(scope, element, attr) {
|
||
|
element.on('click', '.hush-menu-button', function() {
|
||
|
$timeout(function() {
|
||
|
$('ul', element).show().menu();
|
||
|
element.closest('h3').addClass('menuopen');
|
||
|
$('body').one('click', function() {
|
||
|
$('ul', element).menu('destroy').hide();
|
||
|
element.closest('h3').removeClass('menuopen');
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
// TODO: Is there a more "Angular" way to do this animation?
|
||
|
element.on('click', 'button:not(.hush-menu-button), li', function() {
|
||
|
$(this).closest('div.crm-status-item').slideUp();
|
||
|
});
|
||
|
}
|
||
|
};
|
||
|
});
|
||
|
|
||
|
})(angular, CRM.$, CRM._);
|