UNPKG

@focuson/form_components

Version:

Components that can be used by @focuson/forms

69 lines (68 loc) 3.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DatePickerForPayments = void 0; const datePicker_1 = require("./datePicker"); const utils_1 = require("@focuson/utils"); const pages_1 = require("@focuson/pages"); function isDatePickerForPaymentProps(d) { const a = d; return a.pathToDateInfo; } const selectFnForPayments = (0, datePicker_1.defaultDatePickerWithExtraTxs)((props, dateAsString) => { var _a, _b; if (dateAsString && isDatePickerForPaymentProps(props)) { const { id, pathToDateInfo, state, paymentType, dateFormat, messages } = props; // @ts-ignore const dateDebug = (_b = (_a = state.main) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.dateDebug; const { dateFn } = state.context; const pt = paymentType.optJsonOr(''); if (dateDebug) console.log('payment typeis', pt); const msgs = messages === null || messages === void 0 ? void 0 : messages[pt]; if (msgs === undefined) { if (dateDebug) console.log(`Can't find messages for [${pt}]`); return []; } const { warning, error } = msgs; if (dateDebug) console.log('Messages are', pt, msgs); if (dateDebug) console.log('warning ', warning, 'error', error); const dateInfo = pathToDateInfo.optJson(); const browserNow = dateFn(); const valueAsDate = (0, datePicker_1.parseDate)(``, dateFormat)(dateAsString); const todayAsDate = (0, datePicker_1.parseDate)(``, dateInfo.dates.dateFormat)(dateInfo.dates.today); if (dateDebug) console.log('Datapicker for payments', id, 'valueAsDate', valueAsDate, 'todayAsDate', todayAsDate); if (dateInfo && !Array.isArray(valueAsDate) && !Array.isArray(todayAsDate) && (0, utils_1.isSameDay)(valueAsDate, todayAsDate)) { console.log('same day', valueAsDate, todayAsDate, (0, utils_1.isSameDay)(valueAsDate, todayAsDate)); const serverNow = (0, utils_1.timeOnServerinGMT)(browserNow, dateInfo); if (dateDebug) console.log('Datapicker for payments', id, 'browserNow', browserNow); if (dateDebug) console.log('Datapicker for payments', id, 'serverNow', serverNow); if (dateDebug) console.log('Datapicker for payments', id, 'error.time', error.time); if (dateDebug) console.log('Datapicker for payments', id, 'warning.time', warning.time); if (dateDebug) console.log('Datapicker for payments', id, 'dateInfo', dateInfo); if (dateDebug) console.log('Datapicker for payments', id, 'after error', error.time, (0, utils_1.after)(browserNow, error.time, dateInfo)); if ((0, utils_1.after)(browserNow, error.time, dateInfo)) return (0, pages_1.openConfirmWindowTxs)(error, 'justclose', [], state, 'DatePickerForPayments', props.id, 'onChange'); if (dateDebug) console.log('Datapicker for payments', id, 'after warning', warning.time, (0, utils_1.after)(browserNow, warning.time, dateInfo)); if ((0, utils_1.after)(browserNow, warning.time, dateInfo)) return (0, pages_1.openConfirmWindowTxs)(warning, 'justclose', [], state, 'DatePickerForPayments', props.id, 'onChange'); // } } } return []; }); function DatePickerForPayments(props) { const dateInfo = props.pathToDateInfo.focusOn('dates'); return (0, datePicker_1.RawDatePicker)(selectFnForPayments)(Object.assign(Object.assign({}, props), { dateInfo })); } exports.DatePickerForPayments = DatePickerForPayments;