X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=ang%2FcrmUi.js;h=3f091914b2a88f6d874ba2faad6281b82b1b5ae0;hb=61968591fc2bd6eb866dbe2a8420d9559bc0d43d;hp=7daef656ccededda09ed128a954d697ef2360159;hpb=1eadd618e0c71dd16b7c241dae67ddc8010237cc;p=civicrm-core.git diff --git a/ang/crmUi.js b/ang/crmUi.js index 7daef656cc..3f091914b2 100644 --- a/ang/crmUi.js +++ b/ang/crmUi.js @@ -636,14 +636,16 @@ // Use a select2 widget as a pick-list. Instead of updating ngModel, the select2 widget will fire an event. // This similar to ngModel+ngChange, except that value is never stored in a model. It is only fired in the event. // usage: - .directive('onCrmUiSelect', function ($parse) { + .directive('onCrmUiSelect', function () { return { priority: 10, link: function (scope, element, attrs) { element.on('select2-selecting', function(e) { e.preventDefault(); element.select2('close').select2('val', ''); - scope.$parent.$eval(attrs.onCrmUiSelect, {selection: e.val}); + scope.$apply(function() { + scope.$eval(attrs.onCrmUiSelect, {selection: e.val}); + }); }); } }; @@ -943,7 +945,8 @@ else { $(element).prepend(' '); } - if ($(element).is('button')) { + // Add crm-* class to non-bootstrap buttons + if ($(element).is('button:not(.btn)')) { $(element).addClass('crm-button'); } } @@ -1080,15 +1083,20 @@ function update() { $timeout(function() { var newPageTitle = _.trim($el.html()), - newDocumentTitle = scope.crmDocumentTitle || $el.text(); + newDocumentTitle = scope.crmDocumentTitle || $el.text(), + h1Count = 0; document.title = $('title').text().replace(documentTitle, newDocumentTitle); // If the CMS has already added title markup to the page, use it $('h1').not('.crm-container h1').each(function() { - if (_.trim($(this).html()) === pageTitle) { + if ($(this).hasClass('crm-page-title') || _.trim($(this).html()) === pageTitle) { $(this).addClass('crm-page-title').html(newPageTitle); $el.hide(); + ++h1Count; } }); + if (!h1Count) { + $el.show(); + } pageTitle = newPageTitle; documentTitle = newDocumentTitle; });