diff --git a/components/ionHeaderBar/ionHeaderBar.js b/components/ionHeaderBar/ionHeaderBar.js index 03d5589..8186650 100644 --- a/components/ionHeaderBar/ionHeaderBar.js +++ b/components/ionHeaderBar/ionHeaderBar.js @@ -1,7 +1,5 @@ -Template.ionHeaderBar.rendered = function () { - Session.set('hasHeader', true); - - function alignTitle () { +IonHeaderBar = { + alignTitle: function () { var align = this.alignTitle || 'center'; var $title = this.$('.title'); @@ -17,9 +15,28 @@ Template.ionHeaderBar.rendered = function () { } else if (align === 'right') { $title.addClass('title-right'); } - }; + }, - alignTitle.call(this); + positionTitle: function () { + var $title = this.$('.title'); + var $leftButton = $('.button.pull-left'); + + if ($leftButton.length) { + $title.css('left', $leftButton.outerWidth()); + $title.css('right', $leftButton.outerWidth()); + } + + var $rightButton = $('.button.pull-right'); + if ($rightButton.length) { + $title.css('right', $rightButton.outerWidth()) + } + } +}; + +Template.ionHeaderBar.rendered = function () { + Session.set('hasHeader', true); + IonHeaderBar.alignTitle.call(this); + IonHeaderBar.positionTitle.call(this); }; Template.ionHeaderBar.destroyed = function () { diff --git a/components/ionNavBackButton/ionNavBackButton.html b/components/ionNavBackButton/ionNavBackButton.html index fe11ee1..ac5ef4d 100644 --- a/components/ionNavBackButton/ionNavBackButton.html +++ b/components/ionNavBackButton/ionNavBackButton.html @@ -1,8 +1,10 @@ diff --git a/components/ionNavBar/ionNavBar.js b/components/ionNavBar/ionNavBar.js index 8f95ba0..a98c55a 100644 --- a/components/ionNavBar/ionNavBar.js +++ b/components/ionNavBar/ionNavBar.js @@ -20,30 +20,8 @@ Template.ionNavBar.created = function () { Template.ionNavBar.rendered = function () { Session.set('hasHeader', true); - function alignTitle () { - var align = this.alignTitle || 'center'; - var $title = this.$('.title'); - - if (align === 'center' && Platform.isAndroid()) { - $title.addClass('title-left'); - return; - } - - if (align === 'center') { - $title.addClass('title-center'); - } else if (align === 'left') { - $title.addClass('title-left'); - } else if (align === 'right') { - $title.addClass('title-right'); - } - }; - - function positionTitle () { - - }; - - alignTitle.call(this); - positionTitle.call(this); + IonHeaderBar.alignTitle.call(this); + IonHeaderBar.positionTitle.call(this); var template = this; this.find('[data-navbar-container]')._uihooks = { @@ -58,7 +36,8 @@ Template.ionNavBar.rendered = function () { if ($node.hasClass('title')) { $node.insertBefore(next).addClass('title-entering title-stage'); - alignTitle.call(template); + IonHeaderBar.alignTitle.call(template); + IonHeaderBar.positionTitle.call(template); Meteor.setTimeout(function() { $node.removeClass('title-stage').addClass('title-active'); diff --git a/package.js b/package.js index 0a51c4b..0ee09d6 100644 --- a/package.js +++ b/package.js @@ -98,6 +98,7 @@ Package.onUse(function(api) { api.export("IonActionSheet"); api.export("IonBackdrop"); + api.export("IonHeaderBar"); api.export("IonLoading"); api.export("IonModal"); api.export("IonPopover");