| @@ 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; |
|