var Unibase;
(function (Unibase) {
let Forms;
(function (Forms) {
let Controls;
(function (Controls) {
class DatePicker {
constructor() {
this._bizgaze_dateFormat = 'DD/MM/YYYY';
this.IsTimePicker = false;
this._time = false;
this.propval = "";
this.dtime = false;
this.disableFutureDate = false;
}
init(formpropertyid, prop, callback) {
var instance = DatePicker.Instance();
let TimePicker = prop.PropertySettings.filter(t => t.ControlPropertyName == "IsTime" && t.ControlPropertyValue == "true");
if (TimePicker.length > 0) {
instance.IsTimePicker = true;
}
else {
instance.IsTimePicker = false;
}
if (callback != null && callback != 1)
callback();
instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
var container = "control-container-" + formpropertyid;
$("#" + container).find('#date_' + prop.FormPropertyId + '.datepicker-input').on('apply.daterangepicker', function (ev, picker) {
$("#" + container).find('#date_' + prop.FormPropertyId).val(picker.startDate.format('YYYY/MM/DD'));
});
var currentYear = (new Date()).getFullYear();
if (this._time == true) {
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').daterangepicker({
autoUpdateInput: false,
timePicker: true,
timePicker24Hour: true,
locale: {
format: 'DD/MM/YYYY HH:mm',
firstDay: 1,
},
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
});
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').on('apply.daterangepicker', function (ev, picker) {
$("#" + container).find('#date_' + formpropertyid).val(picker.startDate.format('DD/MM/YYYY HH:mm'));
$("#" + container).find('#hfdate_' + formpropertyid).val(picker.startDate.format('YYYY/MM/DD HH:mm'));
});
this._time = false;
}
else {
$("#" + container).find('#date_' + prop.FormPropertyId).daterangepicker({
locale: {
format: 'DD/MM/YYYY',
firstDay: 1,
},
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
maxDate: new Date(2050, 11, 31)
}, function (start, end, label) {
$("#" + container).find('#hfdate_' + prop.FormPropertyId).val(end.format('YYYY-MM-DD'));
});
}
if (instance.propval == "") {
$("#" + container).find('#date_' + prop.FormPropertyId).val('');
}
$(".date_" + prop.DocPropertyName).keypress(function (e) {
$(".date_" + prop.DocPropertyName).attr("maxlength", "10");
if (e.which != 8 && e.which != 0 && (e.which < 47 || e.which > 57)) {
return false;
}
else {
var value = $(".date_" + prop.DocPropertyName).val().toString().replace(/^(\d\d)(\d)$/g, '$1/$2').replace(/^(\d\d\/\d\d)(\d+)$/g, '$1/$2').replace(/[^\d\/]/g, '');
$(".date_" + prop.DocPropertyName).val(value);
}
});
$(".date_" + prop.DocPropertyName).focusout(function (e) {
if ($(".date_" + prop.DocPropertyName).val() == "") {
$('#hfdate_' + prop.FormPropertyId).val("");
}
});
instance.loadPropertySettings(prop.PropertySettings, formpropertyid, prop.DocPropertyName);
}
loadControl(containerid, prop) {
var regExpr = "";
var ErrMsg = "";
var validationlist = prop.Validations;
if (validationlist != null) {
for (var i = 0; i < validationlist.length; i++) {
regExpr += validationlist[i].RegularExp + '||';
ErrMsg += validationlist[i].ErrorMessage + '||';
}
}
var Isrequired = prop.IsRequired != true ? 'hidden' : '';
var requiredClass = prop.IsRequired != true ? '' : 'required';
var reqMark = prop.IsRequired != true ? '' : '*';
var CurrentStageId = $("#hf_" + $("#hfLayout_InstalledPageId").val() + "_StageId").val();
if (prop.IncludedStages != null && prop.IncludedStages != "") {
var StagesForRequired = prop.IncludedStages.split('|');
Isrequired = StagesForRequired.find(x => x == CurrentStageId) ? '' : 'hidden';
requiredClass = StagesForRequired.find(x => x == CurrentStageId) ? 'required' : '';
reqMark = StagesForRequired.find(x => x == CurrentStageId) ? '*' : '';
}
if (prop.ExcludedStages != null && prop.ExcludedStages != "") {
var ExcludedStages = prop.ExcludedStages.split('|');
Isrequired = ExcludedStages.find(x => x == CurrentStageId) ? 'hidden' : '';
requiredClass = ExcludedStages.find(x => x == CurrentStageId) ? '' : 'required';
reqMark = ExcludedStages.find(x => x == CurrentStageId) ? '' : '*';
}
let ControlId = 'txt_' + prop.DocPropertyId;
if (prop.IsRequired)
requiredClass = 'required';
let isReadOnly = '';
if (!Unibase.Themes.Compact.Components.Index.Instance().desktopMode) {
isReadOnly = 'readonly';
}
const { helpTooltipHtml, helpTextHtml, helpClass } = Unibase.Platform.Forms.Components.FormViewer.Instance().getControlHelpHtml(prop);
let html = `
';
$("#" + containerid).append(html);
Unibase.Forms.Controls.DatePicker.Instance().loadDate(prop.UniqueId, prop);
}
loadControlSettings(controlsettingjson, formpropertyid) {
return null;
}
loadDate(formpropertyid, prop) {
var container = "control-container-" + formpropertyid;
if (this._time == true) {
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').daterangepicker({
autoUpdateInput: false,
timePicker: true,
timePicker24Hour: true,
locale: {
format: 'DD/MM/YYYY HH:mm',
firstDay: 1,
},
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
});
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').on('apply.daterangepicker', function (ev, picker) {
$("#" + container).find('#date_' + formpropertyid).val(picker.startDate.format('DD/MM/YYYY HH:mm'));
$("#" + container).find('#hfdate_' + formpropertyid).val(picker.startDate.format('YYYY/MM/DD HH:mm'));
});
this._time = false;
}
else {
$("#" + container).find('#date_' + prop.FormPropertyId).daterangepicker({
locale: {
format: 'DD/MM/YYYY',
firstDay: 1,
},
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
}, function (start, end, label) {
$("#" + container).find('#hfdate_' + prop.FormPropertyId).val(end.format('YYYY-MM-DD'));
});
}
$(`.calender_${prop.DocPropertyName}`).click(function () {
$(this).parents('.input-group').find('.datepicker-input').trigger('click');
});
}
loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) {
var instance = this;
var istime = false;
var dateNow = new Date();
var container = "control-container-" + formpropertyid;
if (propertysettings != null) {
for (var i = 0; i < propertysettings.length; i++) {
var data = propertysettings[i];
if (data.ControlPropertyName == "IsTodayDate") {
if (data.ControlPropertyValue == "true") {
var DateTime_Value = $("#" + container).find('#date_' + formpropertyid).val();
if (DateTime_Value == "") {
var maxDate;
if (instance.disableFutureDate)
maxDate = new Date();
else
maxDate = new Date(2050, 11, 31);
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').daterangepicker({
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
locale: {
format: 'DD/MM/YYYY',
firstDay: 1,
},
maxDate: maxDate
});
var todayDate = $("#" + container).find('#date_' + formpropertyid).val();
var hfformat = "YYYY/MM/DD";
var tdate = moment(todayDate, "DD/MM/YYYY").format("YYYY/MM/DD");
$("#" + container).find('#hfdate_' + formpropertyid).val(tdate);
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').on('apply.daterangepicker', function (ev, picker) {
$("#" + container).find('#date_' + formpropertyid).val(picker.startDate.format('DD/MM/YYYY'));
$("#" + container).find('#hfdate_' + formpropertyid).val(picker.startDate.format('YYYY/MM/DD'));
$("#" + container).find('#div_' + formpropertyid).addClass('floating-label-form-group-with-value');
});
}
$("#" + container).find('#div_' + formpropertyid).addClass('floating-label-form-group-with-value');
$("#" + container).find('#date_' + formpropertyid).keypress(function (e) {
$(this).attr("maxlength", "10");
if (e.which != 8 && e.which != 0 && (e.which < 47 || e.which > 57)) {
return false;
}
else {
var value = $(this).val().toString().replace(/^(\d\d)(\d)$/g, '$1/$2').replace(/^(\d\d\/\d\d)(\d+)$/g, '$1/$2').replace(/[^\d\/]/g, '');
$(this).val(value);
}
});
if (instance.dtime == false) {
if (istime == true) {
var DateTime_Value = $("#" + container).find('#date_' + formpropertyid).val();
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').daterangepicker({
autoUpdateInput: false,
timePicker: true,
timePicker24Hour: true,
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
locale: {
format: 'DD/MM/YYYY HH:mm',
firstDay: 1,
},
});
var cdate = new Date();
var currentdate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalTime(cdate, "DD/MM/YYYY HH:mm");
$("#" + container).find('#date_' + formpropertyid).val(currentdate);
var hfcdate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerLocalDateTime(cdate, "YYYY/MM/DD HH:mm");
$("#" + container).find('#hfdate_' + formpropertyid).val(hfcdate);
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').on('apply.daterangepicker', function (ev, picker) {
$("#" + container).find('#date_' + formpropertyid).val(picker.startDate.format('DD/MM/YYYY HH:mm'));
$("#" + container).find('#hfdate_' + formpropertyid).val(picker.startDate.format('YYYY/MM/DD HH:mm'));
});
let curren = new Date();
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').on('show.daterangepicker', function (ev, picker) {
var dateTime_New = $("#" + container).find('#date_' + formpropertyid).val();
var hours = dateTime_New.toString().substring(dateTime_New.toString().indexOf(":") - 2, dateTime_New.toString().indexOf(":"));
if (hours.substring(0, 1) == "0") {
hours = hours.substring(1);
}
var minutes = dateTime_New.toString().substring(dateTime_New.toString().indexOf(":") + 1, dateTime_New.toString().indexOf(":") + 3);
if (minutes.substring(0, 1) == "0") {
minutes = minutes.substring(1);
}
$('.show-calendar').find('.hourselect option:selected').removeAttr('selected');
$('.show-calendar').find('.minuteselect option:selected').removeAttr('selected');
$('.hourselect option[value="' + hours + '"]').attr("selected", "selected");
$('.minuteselect option[value="' + minutes + '"]').attr("selected", "selected");
});
}
}
}
}
if (data.ControlPropertyName == "IsTime") {
if (instance.dtime == false) {
if (data.ControlPropertyValue == "true") {
istime = true;
var DateTime_Value = $("#" + container).find('#date_' + formpropertyid).val();
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').daterangepicker({
autoUpdateInput: false,
timePicker: true,
timePicker24Hour: true,
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
locale: {
format: 'DD/MM/YYYY HH:mm',
firstDay: 1,
},
});
var cdate = new Date();
var currentdate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalTime(cdate, "DD/MM/YYYY HH:mm");
$("#" + container).find('#date_' + formpropertyid).val(currentdate);
var hfcdate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerLocalDateTime(cdate, "YYYY/MM/DD HH:mm");
$("#" + container).find('#hfdate_' + formpropertyid).val(hfcdate);
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').on('apply.daterangepicker', function (ev, picker) {
$("#" + container).find('#date_' + formpropertyid).val(picker.startDate.format('DD/MM/YYYY HH:mm'));
$("#" + container).find('#hfdate_' + formpropertyid).val(picker.startDate.format('YYYY/MM/DD HH:mm'));
});
let curren = new Date();
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').on('show.daterangepicker', function (ev, picker) {
var dateTime_New = $("#" + container).find('#date_' + formpropertyid).val();
var hours = dateTime_New.toString().substring(dateTime_New.toString().indexOf(":") - 2, dateTime_New.toString().indexOf(":"));
if (hours.substring(0, 1) == "0") {
hours = hours.substring(1);
}
var minutes = dateTime_New.toString().substring(dateTime_New.toString().indexOf(":") + 1, dateTime_New.toString().indexOf(":") + 3);
if (minutes.substring(0, 1) == "0") {
minutes = minutes.substring(1);
}
$('.show-calendar').find('.hourselect option:selected').removeAttr('selected');
$('.show-calendar').find('.minuteselect option:selected').removeAttr('selected');
$('.hourselect option[value="' + hours + '"]').attr("selected", "selected");
$('.minuteselect option[value="' + minutes + '"]').attr("selected", "selected");
});
$(".hasDatepicker").keypress(function (e) {
$(this).attr("maxlength", "19");
var value = $(this).val().toString().replace(/^(\d\d\/\d\d)(\d+)$/g, '$1/$2').replace(/^(\d\d\/\d\d\/\d\d\d\d)(\d)/g, '$1 ').replace(/^(\d\d\/\d\d\/\d\d\d\d\s\d\d)(\d)/g, '$1:$2$2:');
$(this).val(value);
});
}
}
}
if (data.ControlPropertyName == "DisableFutureDate") {
if (data.ControlPropertyValue == "true") {
$("#" + container).find('#date_' + formpropertyid + '.datepicker-input').daterangepicker({
singleDatePicker: true,
showDropdowns: true,
autoUpdateInput: false,
minYear: 1901,
maxDate: new Date(),
locale: {
format: 'DD/MM/YYYY',
firstDay: 1,
},
}, function (start, end, label) {
$("#" + container).find('#hfdate_' + formpropertyid).val(end.format('YYYY-MM-DD'));
});
$('#date_' + formpropertyid + '.datepicker-input').keyup(function (e) {
let dateString = $(this).val();
let errorMsgDiv = $(this).parents('.formValidate').find('.form-error-message').attr('id');
let myDate = moment(dateString, ['DD/MM/YYYY', 'D/M/YYYY', 'DD/M/YYYY', 'D/MM/YYYY'], true);
MessageHelper.Instance().hideMessage();
$(this).attr('data-isValid', 'false');
if (dateString.length >= 8 && dateString != "") {
if (myDate.isValid() == false) {
MessageHelper.Instance().showError('Enter Correct Date Format!.', errorMsgDiv);
}
else if (moment(dateString, 'DD/MM/YYYY').isSameOrBefore(moment().format()) == false) {
MessageHelper.Instance().showError('You cannot enter a date in the future.', errorMsgDiv);
}
else if (moment(dateString, 'DD/MM/YYYY').isSameOrAfter('01/01/1901', 'year') == false) {
MessageHelper.Instance().showError('You cannot enter a date before 1901.', errorMsgDiv);
}
else {
MessageHelper.Instance().hideMessage();
$('#hfdate_' + formpropertyid).val(moment(dateString, 'DD/MM/YYYY').format('YYYY-MM-DD'));
$(this).attr('data-isValid', 'true');
}
}
});
instance.disableFutureDate = true;
$('#date_' + formpropertyid + '.datepicker-input').focusout(function (e) {
let isDateValid = $(this).attr('data-isValid');
if (isDateValid == 'false') {
$(this).val("");
$('#hfdate_' + formpropertyid).val("");
$(this).attr('data-isValid', 'true');
}
});
}
}
}
}
instance.propval = "";
instance.dtime = false;
}
bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
var instance = this;
var format = "DD/MM/YYYY";
var hfformat = "YYYY/MM/DD";
var hfdate = "";
if (instance.IsTimePicker) {
instance.propval = moment(propval).format("DD/MM/YYYY HH:mm");
hfdate = moment(propval).format("YYYY/MM/DD HH:mm");
instance._time = true;
$('#date_' + formpropertyid + '.datepicker-input').daterangepicker({
autoUpdateInput: false,
timePicker: true,
timePicker24Hour: true,
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
locale: {
format: 'DD/MM/YYYY HH:mm',
firstDay: 1,
},
});
instance.dtime = true;
}
else {
instance.propval = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate1(propval, format);
hfdate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerLocalDate(propval, hfformat);
}
var formattedPropVal = Unibase.Platform.Helpers.DateTimeHelper.Instance().serverDateformat(instance.propval);
if (instance.propval == "Invalid date" || formattedPropVal == "01/01/1901" || formattedPropVal == "01/01/1900" || formattedPropVal == "01/01/2001" || formattedPropVal == "01/01/0001") {
instance.propval = "";
}
$("#hfdate_" + formpropertyid).val(hfdate);
$("#date_" + formpropertyid).val(instance.propval);
if ($("#date_" + formpropertyid).val() != "") {
$("#div_" + formpropertyid).addClass("floating-label-form-group-with-value");
}
}
static Instance() {
if (this.instance === undefined)
this.instance = new DatePicker();
return this.instance;
}
}
Controls.DatePicker = DatePicker;
})(Controls = Forms.Controls || (Forms.Controls = {}));
})(Forms = Unibase.Forms || (Unibase.Forms = {}));
})(Unibase || (Unibase = {}));