Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

_d and _i are different from each other and are not the date I picked #299

Open
CJDennis opened this issue Jul 6, 2020 · 0 comments
Open

Comments

@CJDennis
Copy link

CJDennis commented Jul 6, 2020

This is my control:

<input class="form-control"
       placeholder="Select a date and time"
       moment-picker="hmrCtrl.extra.nextAppointment"
       locale="en-au"
       format="LL, LT"
       min-date="dateOptions.minDate"
       max-date="dateOptions.nextApp"
       ng-model="hmrCtrl.extra.nextAppointment"
       ng-model-options="{ updateOn: 'blur' }">

I picked a date and time in March 2020 and the Moment object hmrCtrl.extra.nextAppointment got set as follows:

Moment {_isAMomentObject: true, _i: Mon May 04 2020 23:59:59 GMT+1000 (Australian Eastern Standard Time), _isUTC: false, _pf: {…}, _locale: Locale, …}
_d: Mon Nov 04 2019 00:00:00 GMT+1100 (Australian Eastern Daylight Time) {}
_i: Mon May 04 2020 23:59:59 GMT+1000 (Australian Eastern Standard Time) {}
...

_d ends up containing the value of min-date and _i ends up containing the value of max-date.
hmrCtrl.extra.nextAppointment is initially undefined. The console log has some errors:

angular.js:13920 Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: item in row track by item.index, Duplicate key: null, Duplicate value: {"index":null,"label":"Invalid date","year":null,"month":null,"date":null,"hour":null,"minute":null,"class":"disabled","selectable":false}
http://errors.angularjs.org/1.5.8/ngRepeat/dupes?p0=item%20in%20row%20track%20by%20item.index&p1=null&p2=%7B%22index%22%3Anull%2C%22label%22%3A%22Invalid%20date%22%2C%22year%22%3Anull%2C%22month%22%3Anull%2C%22date%22%3Anull%2C%22hour%22%3Anull%2C%22minute%22%3Anull%2C%22class%22%3A%22disabled%22%2C%22selectable%22%3Afalse%7D
    at angular.js:68
    at ngRepeatAction (angular.js:29821)
    at $watchCollectionAction (angular.js:17385)
    at Scope.$digest (angular.js:17524)
    at ChildScope.$apply (angular.js:17790)
    at HTMLTableCellElement.<anonymous> (angular.js:25890)
    at HTMLTableCellElement.dispatch (jquery.js:4435)
    at HTMLTableCellElement.r.handle (jquery.js:4121)

I can't use the control again until I delete the date-time string in it because it just says "Invalid date" for every heading. This happens whether I set a default date-time or not. After I delete the first date-time string it works as expected.

How can I fix this error?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant