devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
81 lines (79 loc) • 2.99 kB
JavaScript
/**
* DevExtreme (cjs/ui/date_box/ui.date_box.strategy.native.js)
* Version: 21.2.4
* Build date: Mon Dec 06 2021
*
* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
exports.default = void 0;
var _common = require("../../core/utils/common");
var _uiDate_box = _interopRequireDefault(require("./ui.date_box.strategy"));
var _support = require("../../core/utils/support");
var _array = require("../../core/utils/array");
var _ui = _interopRequireDefault(require("./ui.date_utils"));
var _date_serialization = _interopRequireDefault(require("../../core/utils/date_serialization"));
var _extend = require("../../core/utils/extend");
var _devices = _interopRequireDefault(require("../../core/devices"));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
var NativeStrategy = _uiDate_box.default.inherit({
NAME: "Native",
popupConfig: function(_popupConfig) {
return (0, _extend.extend)({}, _popupConfig, {
width: "auto"
})
},
getParsedText: function(text) {
if (!text) {
return null
}
if ("datetime" === this.dateBox.option("type")) {
return new Date(text.replace(/-/g, "/").replace("T", " ").split(".")[0])
}
return _ui.default.fromStandardDateFormat(text)
},
renderPopupContent: _common.noop,
_getWidgetName: _common.noop,
_getWidgetOptions: _common.noop,
_getDateBoxType: function() {
var type = this.dateBox.option("type");
if (-1 === (0, _array.inArray)(type, _ui.default.SUPPORTED_FORMATS)) {
type = "date"
} else if ("datetime" === type && !(0, _support.inputType)(type)) {
type = "datetime-local"
}
return type
},
customizeButtons: function() {
var dropDownButton = this.dateBox.getButton("dropDown");
if (_devices.default.real().android && dropDownButton) {
dropDownButton.on("click", function() {
this.dateBox._input().get(0).click()
}.bind(this))
}
},
getDefaultOptions: function() {
return {
mode: this._getDateBoxType()
}
},
getDisplayFormat: function(displayFormat) {
var type = this._getDateBoxType();
return displayFormat || _ui.default.FORMATS_MAP[type]
},
renderInputMinMax: function($input) {
$input.attr({
min: _date_serialization.default.serializeDate(this.dateBox.dateOption("min"), "yyyy-MM-dd"),
max: _date_serialization.default.serializeDate(this.dateBox.dateOption("max"), "yyyy-MM-dd")
})
}
});
var _default = NativeStrategy;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default;