Skip to content
This repository was archived by the owner on Feb 18, 2022. It is now read-only.

Commit 5a71a68

Browse files
authored
Merge pull request #213 from Pangolin-/master
added prevent-mobile attribute support
2 parents 95d4196 + e0ca048 commit 5a71a68

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ datepicker-append-to="" | String('#id','.classname', 'body') | false | Append th
9494
datepicker-toggle="" | String(Boolean) | true | Set the datepicker to toggle its visibility on focus and blur
9595
datepicker-show="" | String | false | Trigger the datepicker visibility, if true datepicker is shown if false it is hidden
9696
| | | **tip:** _You may use this option together with datepicker-toggle="false" for a stable behavior_
97+
datepicker-mobile="" | String | true | Set to `false` to force override of mobile styles. Especially useful for using desktop-style pagination control in mobile apps.
9798

9899
##Options
99100
Angular datepicker allows you to use some options via `attribute` data
@@ -194,14 +195,14 @@ You can show validation errors simply validating the ngModel, as you would do fo
194195
```javascript
195196
.controller('Ctrl', ['$scope', function ($scope) {
196197
var liveDate;
197-
198+
198199
$scope.$watch('myDate', function (value) {
199200
try {
200201
liveDate = new Date(value);
201202
} catch(e) {}
202-
203+
203204
if (!liveDate) {
204-
205+
205206
$scope.error = "This is not a valid date";
206207
} else {
207208
$scope.error = false;

src/js/angular-datepicker.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
return true;
1919
}
2020
}())
21-
, generateMonthAndYearHeader = function generateMonthAndYearHeader(prevButton, nextButton) {
21+
, generateMonthAndYearHeader = function generateMonthAndYearHeader(prevButton, nextButton, preventMobile) {
22+
23+
if (preventMobile) { isMobile = false; }
2224

2325
if (isMobile) {
2426

@@ -114,13 +116,13 @@
114116
'</div>'
115117
];
116118
}
117-
, generateHtmlTemplate = function generateHtmlTemplate(prevButton, nextButton) {
119+
, generateHtmlTemplate = function generateHtmlTemplate(prevButton, nextButton, preventMobile) {
118120

119121
var toReturn = [
120122
'<div class="_720kb-datepicker-calendar {{datepickerClass}} {{datepickerID}}" ng-class="{\'_720kb-datepicker-forced-to-open\': checkVisibility()}" ng-blur="hideCalendar()">',
121123
'</div>'
122124
]
123-
, monthAndYearHeader = generateMonthAndYearHeader(prevButton, nextButton)
125+
, monthAndYearHeader = generateMonthAndYearHeader(prevButton, nextButton, preventMobile)
124126
, yearsPaginationHeader = generateYearsPaginationHeader(prevButton, nextButton)
125127
, daysColumns = generateDaysColumns()
126128
, days = generateDays()
@@ -155,10 +157,11 @@
155157
, date = new Date()
156158
, isMouseOn = false
157159
, isMouseOnInput = false
160+
, preventMobile = ( typeof attr.datepickerMobile !== 'undefined' && attr.datepickerMobile !== 'false' )
158161
, datetime = $locale.DATETIME_FORMATS
159162
, pageDatepickers
160163
, hours24h = 86400000
161-
, htmlTemplate = generateHtmlTemplate(prevButton, nextButton)
164+
, htmlTemplate = generateHtmlTemplate(prevButton, nextButton, preventMobile)
162165
, n
163166
, onClickOnWindow = function onClickOnWindow() {
164167

0 commit comments

Comments
 (0)