+
+
+ {
+ if (dateValue && parameter.maxDate && dateValue > parameter.maxDate) {
+ if (!parameter.minDate) {
+ onValueChange({
+ dataType: 'date',
+ operator,
+ parameter: { ...parameter, minDate: parameter.maxDate, maxDate: dateValue },
+ })
+ } else {
+ const diff = parameter.maxDate.getTime() - parameter.minDate.getTime()
+ onValueChange({
+ dataType: 'date',
+ operator,
+ parameter: { ...parameter, minDate: dateValue, maxDate: new Date(dateValue.getTime() + diff) },
+ })
+ }
+ } else {
+ onValueChange({
+ dataType: 'date',
+ operator,
+ parameter: { ...parameter, minDate: dateValue },
+ })
+ }
+ setTemporaryMinDateValue(null)
+ }}
+ allowRemove={true}
+ outsideClickCloses={false}
+ className="min-w-64"
+ />
+
+
+
+ {
+ if (dateValue && parameter.minDate && dateValue < parameter.minDate) {
+ if (!parameter.maxDate) {
+ onValueChange({
+ dataType: 'date',
+ operator,
+ parameter: { ...parameter, minDate: dateValue, maxDate: parameter.minDate },
+ })
+ } else {
+ const diff = parameter.maxDate.getTime() - parameter.minDate.getTime()
+ onValueChange({
+ dataType: 'date',
+ operator,
+ parameter: { ...parameter, minDate: new Date(dateValue.getTime() - diff), maxDate: dateValue },
+ })
+ }
+ } else {
+ onValueChange({
+ dataType: 'date',
+ operator,
+ parameter: { ...parameter, maxDate: dateValue },
+ })
+ }
+ setTemporaryMaxDateValue(null)
+ }}
+ allowRemove={true}
+ outsideClickCloses={false}
+ className="min-w-64"
+ />
+
+
+