@monolith-forensics/monolith-ui 1.2.63 → 1.2.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -142,7 +142,7 @@ const ValueEditor = ({ rule, inputType, filterDef, onChange }) => {
142
142
  const handleTimestampChange = useDebouncedCallback((timestamp) => {
143
143
  let formattedValue = timestamp;
144
144
  if (formattedValue && filterDef.resolution) {
145
- const date = moment(formattedValue);
145
+ const date = moment(formattedValue).utc(true); // utc mode prevents datetime from shifting when using toISOString
146
146
  switch (filterDef.resolution) {
147
147
  case "day":
148
148
  date.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
@@ -155,7 +155,9 @@ const ValueEditor = ({ rule, inputType, filterDef, onChange }) => {
155
155
  default:
156
156
  break;
157
157
  }
158
- formattedValue = date.format(dateFormatResolver(filterDef.resolution));
158
+ formattedValue = filterDef.isoString
159
+ ? date.toISOString()
160
+ : date.format(dateFormatResolver(filterDef.resolution));
159
161
  }
160
162
  onChange === null || onChange === void 0 ? void 0 : onChange(Object.assign(Object.assign({}, rule), { value: formattedValue ? [formattedValue] : undefined }));
161
163
  }, 100);
@@ -236,7 +238,14 @@ const Rules = ({ rules = [], combinator, showCombinator, filterDefinitions, onDe
236
238
  onUpdateRootCombinator(e);
237
239
  };
238
240
  const handleOperatorChange = (rule, operator) => {
239
- onUpdate(Object.assign(Object.assign({}, rule), { operator }));
241
+ const prevValue = rule.value;
242
+ const isBetween = operator.value.toLowerCase().includes("between");
243
+ const newValue = !isBetween
244
+ ? !!(prevValue === null || prevValue === void 0 ? void 0 : prevValue[0])
245
+ ? [prevValue[0]]
246
+ : undefined
247
+ : prevValue;
248
+ onUpdate(Object.assign(Object.assign({}, rule), { operator, value: newValue }));
240
249
  };
241
250
  return (_jsxs(_Fragment, { children: [showCombinator === true && (_jsx(DropDownMenu, { variant: "outlined", data: [
242
251
  { label: "AND", value: "and" },
@@ -28,6 +28,7 @@ export interface FilterDefinition {
28
28
  operators?: Operator[];
29
29
  inputType?: HTMLInputElement["type"];
30
30
  resolution?: "day" | "second" | "millisecond";
31
+ isoString?: boolean;
31
32
  placeholder?: string;
32
33
  selectOptions?: DropDownItem[];
33
34
  editorType?: EditorType;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monolith-forensics/monolith-ui",
3
- "version": "1.2.63",
3
+ "version": "1.2.65",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "author": "Matt Danner (Monolith Forensics LLC)",