@@ 1759-1814 (lines=56) @@ | ||
1756 | }; |
|
1757 | }]) |
|
1758 | ||
1759 | .controller('UibMonthpickerController', ['$scope', '$element', 'dateFilter', function(scope, $element, dateFilter) { |
|
1760 | this.step = { years: 1 }; |
|
1761 | this.element = $element; |
|
1762 | ||
1763 | this.init = function(ctrl) { |
|
1764 | angular.extend(ctrl, this); |
|
1765 | ctrl.refreshView(); |
|
1766 | }; |
|
1767 | ||
1768 | this._refreshView = function() { |
|
1769 | var months = new Array(12), |
|
1770 | year = this.activeDate.getFullYear(), |
|
1771 | date; |
|
1772 | ||
1773 | for (var i = 0; i < 12; i++) { |
|
1774 | date = new Date(this.activeDate); |
|
1775 | date.setFullYear(year, i, 1); |
|
1776 | months[i] = angular.extend(this.createDateObject(date, this.formatMonth), { |
|
1777 | uid: scope.uniqueId + '-' + i |
|
1778 | }); |
|
1779 | } |
|
1780 | ||
1781 | scope.title = dateFilter(this.activeDate, this.formatMonthTitle); |
|
1782 | scope.rows = this.split(months, 3); |
|
1783 | }; |
|
1784 | ||
1785 | this.compare = function(date1, date2) { |
|
1786 | var _date1 = new Date(date1.getFullYear(), date1.getMonth()); |
|
1787 | var _date2 = new Date(date2.getFullYear(), date2.getMonth()); |
|
1788 | _date1.setFullYear(date1.getFullYear()); |
|
1789 | _date2.setFullYear(date2.getFullYear()); |
|
1790 | return _date1 - _date2; |
|
1791 | }; |
|
1792 | ||
1793 | this.handleKeyDown = function(key, evt) { |
|
1794 | var date = this.activeDate.getMonth(); |
|
1795 | ||
1796 | if (key === 'left') { |
|
1797 | date = date - 1; |
|
1798 | } else if (key === 'up') { |
|
1799 | date = date - 3; |
|
1800 | } else if (key === 'right') { |
|
1801 | date = date + 1; |
|
1802 | } else if (key === 'down') { |
|
1803 | date = date + 3; |
|
1804 | } else if (key === 'pageup' || key === 'pagedown') { |
|
1805 | var year = this.activeDate.getFullYear() + (key === 'pageup' ? - 1 : 1); |
|
1806 | this.activeDate.setFullYear(year); |
|
1807 | } else if (key === 'home') { |
|
1808 | date = 0; |
|
1809 | } else if (key === 'end') { |
|
1810 | date = 11; |
|
1811 | } |
|
1812 | this.activeDate.setMonth(date); |
|
1813 | }; |
|
1814 | }]) |
|
1815 | ||
1816 | .controller('UibYearpickerController', ['$scope', '$element', 'dateFilter', function(scope, $element, dateFilter) { |
|
1817 | var columns, range; |
@@ 1758-1813 (lines=56) @@ | ||
1755 | }; |
|
1756 | }]) |
|
1757 | ||
1758 | .controller('UibMonthpickerController', ['$scope', '$element', 'dateFilter', function(scope, $element, dateFilter) { |
|
1759 | this.step = { years: 1 }; |
|
1760 | this.element = $element; |
|
1761 | ||
1762 | this.init = function(ctrl) { |
|
1763 | angular.extend(ctrl, this); |
|
1764 | ctrl.refreshView(); |
|
1765 | }; |
|
1766 | ||
1767 | this._refreshView = function() { |
|
1768 | var months = new Array(12), |
|
1769 | year = this.activeDate.getFullYear(), |
|
1770 | date; |
|
1771 | ||
1772 | for (var i = 0; i < 12; i++) { |
|
1773 | date = new Date(this.activeDate); |
|
1774 | date.setFullYear(year, i, 1); |
|
1775 | months[i] = angular.extend(this.createDateObject(date, this.formatMonth), { |
|
1776 | uid: scope.uniqueId + '-' + i |
|
1777 | }); |
|
1778 | } |
|
1779 | ||
1780 | scope.title = dateFilter(this.activeDate, this.formatMonthTitle); |
|
1781 | scope.rows = this.split(months, 3); |
|
1782 | }; |
|
1783 | ||
1784 | this.compare = function(date1, date2) { |
|
1785 | var _date1 = new Date(date1.getFullYear(), date1.getMonth()); |
|
1786 | var _date2 = new Date(date2.getFullYear(), date2.getMonth()); |
|
1787 | _date1.setFullYear(date1.getFullYear()); |
|
1788 | _date2.setFullYear(date2.getFullYear()); |
|
1789 | return _date1 - _date2; |
|
1790 | }; |
|
1791 | ||
1792 | this.handleKeyDown = function(key, evt) { |
|
1793 | var date = this.activeDate.getMonth(); |
|
1794 | ||
1795 | if (key === 'left') { |
|
1796 | date = date - 1; |
|
1797 | } else if (key === 'up') { |
|
1798 | date = date - 3; |
|
1799 | } else if (key === 'right') { |
|
1800 | date = date + 1; |
|
1801 | } else if (key === 'down') { |
|
1802 | date = date + 3; |
|
1803 | } else if (key === 'pageup' || key === 'pagedown') { |
|
1804 | var year = this.activeDate.getFullYear() + (key === 'pageup' ? - 1 : 1); |
|
1805 | this.activeDate.setFullYear(year); |
|
1806 | } else if (key === 'home') { |
|
1807 | date = 0; |
|
1808 | } else if (key === 'end') { |
|
1809 | date = 11; |
|
1810 | } |
|
1811 | this.activeDate.setMonth(date); |
|
1812 | }; |
|
1813 | }]) |
|
1814 | ||
1815 | .controller('UibYearpickerController', ['$scope', '$element', 'dateFilter', function(scope, $element, dateFilter) { |
|
1816 | var columns, range; |