@syncfusion/ej2-calendars
Advanced tools
Comparing version 16.4.44 to 16.4.45
@@ -9,2 +9,16 @@ # Changelog | ||
- DatePicker will allow assigning string value when type system configuration is disabled. | ||
### TimePicker | ||
#### Bug Fixes | ||
- Pop-up positioning support has been provided. | ||
## 16.4.44 (2018-12-24) | ||
### DatePicker | ||
#### Bug Fixes | ||
- Fixed the `allowEdit` issue in mobile mode. | ||
@@ -11,0 +25,0 @@ |
/*! | ||
* filename: index.d.ts | ||
* version : 16.4.44 | ||
* version : 16.4.45 | ||
* Copyright Syncfusion Inc. 2001 - 2018. All rights reserved. | ||
@@ -5,0 +5,0 @@ * Use of this code is subject to the terms of our license. |
{ | ||
"name": "@syncfusion/ej2-calendars", | ||
"version": "16.4.44", | ||
"version": "16.4.45", | ||
"description": "A complete package of date or time components with built-in features such as date formatting, inline editing, multiple (range) selection, range restriction, month and year selection, strict mode, and globalization.", | ||
@@ -12,4 +12,4 @@ "author": "Syncfusion Inc.", | ||
"@syncfusion/ej2-base": "~16.4.42", | ||
"@syncfusion/ej2-popups": "~16.4.44", | ||
"@syncfusion/ej2-inputs": "~16.4.44", | ||
"@syncfusion/ej2-popups": "~16.4.45", | ||
"@syncfusion/ej2-inputs": "~16.4.45", | ||
"@syncfusion/ej2-lists": "~16.4.44", | ||
@@ -16,0 +16,0 @@ "@syncfusion/ej2-buttons": "~16.4.42" |
@@ -12,3 +12,3 @@ /// <reference path="../calendar/calendar-model.d.ts" /> | ||
* ```html | ||
* <input id="datepicker"/> | ||
* <input id='datepicker'/> | ||
* ``` | ||
@@ -18,3 +18,3 @@ * ```typescript | ||
* let datePickerObject:DatePicker = new DatePicker({ value: new Date() }); | ||
* datePickerObject.appendTo("#datepicker"); | ||
* datePickerObject.appendTo('#datepicker'); | ||
* </script> | ||
@@ -42,2 +42,4 @@ * ``` | ||
private formElement; | ||
private invalidValueString; | ||
private checkPreviousValue; | ||
protected keyConfigs: { | ||
@@ -185,2 +187,3 @@ [key: string]: string; | ||
protected minMaxUpdates(): void; | ||
private checkInvalidValue; | ||
protected bindEvents(): void; | ||
@@ -187,0 +190,0 @@ protected resetFormHandler(): void; |
@@ -51,3 +51,3 @@ var __extends = (this && this.__extends) || (function () { | ||
* ```html | ||
* <input id="datepicker"/> | ||
* <input id='datepicker'/> | ||
* ``` | ||
@@ -57,3 +57,3 @@ * ```typescript | ||
* let datePickerObject:DatePicker = new DatePicker({ value: new Date() }); | ||
* datePickerObject.appendTo("#datepicker"); | ||
* datePickerObject.appendTo('#datepicker'); | ||
* </script> | ||
@@ -71,2 +71,4 @@ * ``` | ||
_this.isDateIconClicked = false; | ||
_this.invalidValueString = null; | ||
_this.checkPreviousValue = null; | ||
_this.keyConfigs = { | ||
@@ -121,2 +123,3 @@ altUpArrow: 'alt+uparrow', | ||
DatePicker.prototype.initialize = function () { | ||
this.checkInvalidValue(this.value); | ||
this.createInput(); | ||
@@ -223,2 +226,5 @@ this.setAllowEdit(); | ||
} | ||
if (!this.strictMode && isNullOrUndefined(this.value) && this.invalidValueString) { | ||
Input.setValue(this.invalidValueString, this.inputElement, this.floatLabelType, this.showClearButton); | ||
} | ||
this.changedArgs = { value: this.value }; | ||
@@ -240,2 +246,31 @@ this.errorClass(); | ||
}; | ||
DatePicker.prototype.checkInvalidValue = function (value) { | ||
if (!(value instanceof Date) && !isNullOrUndefined(value)) { | ||
var valueString = value; | ||
if (typeof value === 'number') { | ||
valueString = value.toString(); | ||
} | ||
var formatOptions = null; | ||
if (this.calendarMode === 'Gregorian') { | ||
formatOptions = { type: 'dateTime', skeleton: 'yMd' }; | ||
} | ||
else { | ||
formatOptions = { type: 'dateTime', skeleton: 'yMd', calendar: 'islamic' }; | ||
} | ||
if (!this.checkDateValue(this.globalize.parseDate(valueString, formatOptions))) { | ||
var extISOString = null; | ||
var basicISOString = null; | ||
// tslint:disable-next-line | ||
extISOString = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/; | ||
// tslint:disable-next-line | ||
basicISOString = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/; | ||
if ((!extISOString.test(valueString) && !basicISOString.test(valueString)) | ||
&& !isNaN(parseInt(valueString, 10)) || isNaN(+new Date('' + valueString))) { | ||
this.invalidValueString = valueString; | ||
this.setProperties({ value: null }, true); | ||
} | ||
} | ||
} | ||
}; | ||
; | ||
DatePicker.prototype.bindEvents = function () { | ||
@@ -361,2 +396,6 @@ if (this.enabled) { | ||
this.strictModeUpdate(); | ||
if (this.inputElement.value === '' && isNullOrUndefined(this.value)) { | ||
this.invalidValueString = null; | ||
Input.setValue('', this.inputElement, this.floatLabelType, this.showClearButton); | ||
} | ||
this.updateInput(); | ||
@@ -617,3 +656,3 @@ this.changeTrigger(e); | ||
this.previousElementValue = this.inputElement.value; | ||
this.previousDate = new Date('' + this.value); | ||
this.previousDate = !isNaN(+new Date('' + this.value)) ? new Date('' + this.value) : null; | ||
} | ||
@@ -1128,3 +1167,5 @@ } | ||
case 'value': | ||
if (typeof newProp.value === 'string') { | ||
this.invalidValueString = null; | ||
this.checkInvalidValue(newProp.value); | ||
if (typeof newProp.value === 'string' && !this.invalidValueString) { | ||
newProp.value = this.checkDateValue(new Date('' + newProp.value)); | ||
@@ -1139,3 +1180,5 @@ this.setProperties({ value: newProp.value }, true); | ||
this.updateInput(); | ||
this.changeTrigger(null); | ||
if (+this.previousDate !== +this.value) { | ||
this.changeTrigger(null); | ||
} | ||
break; | ||
@@ -1188,2 +1231,3 @@ case 'format': | ||
case 'strictMode': | ||
this.invalidValueString = null; | ||
this.updateInput(); | ||
@@ -1190,0 +1234,0 @@ break; |
@@ -1,2 +0,2 @@ | ||
import { EventHandler, Property, Internationalization, NotifyPropertyChanges } from '@syncfusion/ej2-base';import { KeyboardEvents, KeyboardEventArgs, Animation, AnimationModel, Browser, BaseEventArgs } from '@syncfusion/ej2-base';import { EmitType, cldrData, L10n, Component, getDefaultDateObject, rippleEffect, RippleOptions, Event } from '@syncfusion/ej2-base';import { createElement, remove, addClass, removeClass, closest, append, attributes, setStyleAttribute } from '@syncfusion/ej2-base';import { isNullOrUndefined, formatUnit, getValue, setValue, getUniqueID } from '@syncfusion/ej2-base';import { Popup } from '@syncfusion/ej2-popups';import { Input, InputObject, IInput, FloatLabelType, FocusEventArgs, BlurEventArgs } from '@syncfusion/ej2-inputs';import { ListBase, cssClass as ListBaseClasses, ListBaseOptions, createElementParams } from '@syncfusion/ej2-lists'; | ||
import { EventHandler, Property, Internationalization, NotifyPropertyChanges } from '@syncfusion/ej2-base';import { KeyboardEvents, KeyboardEventArgs, Animation, AnimationModel, Browser, BaseEventArgs } from '@syncfusion/ej2-base';import { EmitType, cldrData, L10n, Component, getDefaultDateObject, rippleEffect, RippleOptions, Event } from '@syncfusion/ej2-base';import { createElement, remove, addClass, detach, removeClass, closest, append, attributes, setStyleAttribute } from '@syncfusion/ej2-base';import { isNullOrUndefined, formatUnit, getValue, setValue, getUniqueID } from '@syncfusion/ej2-base';import { Popup } from '@syncfusion/ej2-popups';import { Input, InputObject, IInput, FloatLabelType, FocusEventArgs, BlurEventArgs } from '@syncfusion/ej2-inputs';import { ListBase, cssClass as ListBaseClasses, ListBaseOptions, createElementParams } from '@syncfusion/ej2-lists'; | ||
import {ChangeEventArgs,PopupEventArgs,ItemEventArgs} from "./timepicker"; | ||
@@ -3,0 +3,0 @@ import {ComponentModel} from '@syncfusion/ej2-base'; |
@@ -58,2 +58,6 @@ import { Internationalization } from '@syncfusion/ej2-base'; | ||
event?: MouseEvent | KeyboardEvent | FocusEvent | Event; | ||
/** | ||
* Specifies the node to which the popup element to be appended. | ||
*/ | ||
appendTo?: HTMLElement; | ||
} | ||
@@ -83,2 +87,3 @@ export declare namespace TimePickerBase { | ||
private listTag; | ||
private anchor; | ||
private selectedElement; | ||
@@ -109,2 +114,3 @@ private liCollections; | ||
private initMax; | ||
private openPopupEventArgs; | ||
protected keyConfigure: { | ||
@@ -404,2 +410,4 @@ [key: string]: string; | ||
show(event?: KeyboardEvent | MouseEvent | Event): void; | ||
private formatValues; | ||
private popupAlignment; | ||
/** | ||
@@ -406,0 +414,0 @@ * Gets the properties to be maintained upon browser refresh. |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
6313671
59530