@gisce/react-ooui 2.0.0-alpha.57 → 2.0.0-alpha.59

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.
@@ -1 +1 @@
1
- {"version":3,"file":"TitleHeader.d.ts","sourceRoot":"","sources":["../../src/ui/TitleHeader.tsx"],"names":[],"mappings":"AAaA,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,iBAAS,WAAW,CAAC,KAAK,EAAE,KAAK,2CAkGhC;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"TitleHeader.d.ts","sourceRoot":"","sources":["../../src/ui/TitleHeader.tsx"],"names":[],"mappings":"AAaA,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,iBAAS,WAAW,CAAC,KAAK,EAAE,KAAK,2CAgGhC;AAED,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../src/widgets/base/Time.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,QAAA,MAAM,IAAI,UAAW,WAAW,4CAQ/B,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,cAAc,4CAa9C,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../src/widgets/base/Time.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKtC,QAAA,MAAM,IAAI,UAAW,WAAW,4CAQ/B,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,cAAc,4CAc9C,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeRangePicker.d.ts","sourceRoot":"","sources":["../../../../src/widgets/views/searchFilter/DateTimeRangePicker.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,eAAO,MAAM,mBAAmB,UAAW,WAAW,4CAoDrD,CAAC"}
1
+ {"version":3,"file":"DateTimeRangePicker.d.ts","sourceRoot":"","sources":["../../../../src/widgets/views/searchFilter/DateTimeRangePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,eAAO,MAAM,mBAAmB,UAAW,WAAW,4CAgDrD,CAAC"}
@@ -1,10 +1,10 @@
1
- import React from "react";
1
+ import { ReactElement } from "react";
2
2
  type Props = {
3
3
  advancedFilter: boolean;
4
4
  isSearching: boolean;
5
5
  onAdvancedFilterToggle: () => void;
6
6
  onClear: () => void;
7
7
  };
8
- export declare function SearchBottomBar(props: Props): React.ReactElement;
8
+ export declare function SearchBottomBar(props: Props): ReactElement;
9
9
  export {};
10
10
  //# sourceMappingURL=SearchBottomBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchBottomBar.d.ts","sourceRoot":"","sources":["../../../../src/widgets/views/searchFilter/SearchBottomBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAY1C,KAAK,KAAK,GAAG;IACX,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAkChE"}
1
+ {"version":3,"file":"SearchBottomBar.d.ts","sourceRoot":"","sources":["../../../../src/widgets/views/searchFilter/SearchBottomBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,OAAO,CAAC;AAYjD,KAAK,KAAK,GAAG;IACX,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAkC1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilter.d.ts","sourceRoot":"","sources":["../../../../src/widgets/views/searchFilter/SearchFilter.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,iBAAS,YAAY,CAAC,KAAK,EAAE,KAAK,2CAyHjC;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"SearchFilter.d.ts","sourceRoot":"","sources":["../../../../src/widgets/views/searchFilter/SearchFilter.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,iBAAS,YAAY,CAAC,KAAK,EAAE,KAAK,2CA0HjC;AAED,eAAe,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gisce/react-ooui",
3
- "version": "2.0.0-alpha.57",
3
+ "version": "2.0.0-alpha.59",
4
4
  "engines": {
5
5
  "node": "20.5.0"
6
6
  },
@@ -88,6 +88,9 @@ const DatePickerInput: React.FC<DatePickerInputProps> = (
88
88
  format={DatePickerConfig[mode].dateDisplayFormat}
89
89
  value={dateValue}
90
90
  onChange={onValueStringChange}
91
+ showNow={false}
92
+ showToday={false}
93
+ changeOnBlur={true}
91
94
  />
92
95
  );
93
96
  };
@@ -0,0 +1,38 @@
1
+ import { TimePicker as AntTimePicker } from "antd";
2
+ import { useRef } from "react";
3
+ import { Dayjs } from "dayjs";
4
+
5
+ interface TimePickerProps {
6
+ value?: Dayjs | null;
7
+ onChange: (newValue: Dayjs | null, timestring?: string) => void;
8
+ numberOfSelectsToHide?: number;
9
+ [key: string]: any; // Accept any additional props
10
+ }
11
+
12
+ export const TimePicker = ({
13
+ value,
14
+ onChange,
15
+ numberOfSelectsToHide = 2,
16
+ ...rest
17
+ }: TimePickerProps) => {
18
+ const picker = useRef<any>();
19
+ const pickerSelectedTimes = useRef(0);
20
+ return (
21
+ <AntTimePicker
22
+ {...rest}
23
+ ref={picker}
24
+ value={value}
25
+ onChange={onChange}
26
+ showNow={false}
27
+ changeOnBlur={true}
28
+ onSelect={(newValue) => {
29
+ onChange?.(newValue);
30
+ pickerSelectedTimes.current += 1;
31
+ if (pickerSelectedTimes.current === numberOfSelectsToHide) {
32
+ picker.current?.blur();
33
+ pickerSelectedTimes.current = 0;
34
+ }
35
+ }}
36
+ />
37
+ );
38
+ };
@@ -95,9 +95,7 @@ function TitleHeader(props: Props) {
95
95
  padding: "1em",
96
96
  borderRadius: token.borderRadius,
97
97
  backgroundColor: token.colorPrimaryBg,
98
- height: "82px",
99
98
  minHeight: "82px",
100
- maxHeight: "82px",
101
99
  }}
102
100
  align="middle"
103
101
  >
@@ -1,9 +1,9 @@
1
- import { TimePicker } from "antd";
2
1
  import Field from "@/common/Field";
3
2
  import { Time as TimeOoui } from "@gisce/ooui";
4
3
  import { WidgetProps } from "@/types";
5
4
  import dayjs from "@/helpers/dayjs";
6
5
  import { Dayjs } from "dayjs";
6
+ import { TimePicker } from "../../common/TimePicker";
7
7
 
8
8
  const Time = (props: WidgetProps) => {
9
9
  const { ooui } = props;
@@ -22,7 +22,7 @@ type TimeInputProps = {
22
22
  };
23
23
 
24
24
  export const TimeInput = (props: TimeInputProps) => {
25
- const onChange = (time: Dayjs | null, timestring: string) => {
25
+ const onChange = (time: Dayjs | null, timestring?: string) => {
26
26
  if (props.onChange) {
27
27
  props.onChange(timestring);
28
28
  }
@@ -31,6 +31,7 @@ export const TimeInput = (props: TimeInputProps) => {
31
31
  return (
32
32
  <TimePicker
33
33
  onChange={onChange}
34
+ numberOfSelectsToHide={3} // Since it has hours, minutes, and seconds
34
35
  value={props.value ? dayjs(props.value, "HH:mm:ss") : undefined}
35
36
  />
36
37
  );
@@ -1,10 +1,9 @@
1
- import { DatePicker, TimePicker, Row, Col } from "antd";
2
-
3
- import React from "react";
1
+ import { DatePicker, Row, Col } from "antd";
4
2
  import Field from "@/common/Field";
5
3
  import { Field as FieldOoui, Label as LabelOoui } from "@gisce/ooui";
6
4
  import { WidgetProps } from "@/types";
7
5
  import Label from "@/widgets/base/Label";
6
+ import { TimePicker } from "../../../common/TimePicker";
8
7
 
9
8
  export const DateTimeRangePicker = (props: WidgetProps) => {
10
9
  const { ooui, showLabel = false } = props;
@@ -48,14 +47,41 @@ export const DateTimeRangePicker = (props: WidgetProps) => {
48
47
  </Col>
49
48
  <Col>
50
49
  <Field {...props} ooui={fields[1]} showLabel={false}>
51
- <TimePicker.RangePicker
52
- className="w-60"
53
- allowEmpty={[true, true]}
54
- format={"HH:mm"}
55
- ></TimePicker.RangePicker>
50
+ <TimeRangePicker />
56
51
  </Field>
57
52
  </Col>
58
53
  </Row>
59
54
  </>
60
55
  );
61
56
  };
57
+
58
+ const TimeRangePicker = ({
59
+ value,
60
+ onChange,
61
+ }: {
62
+ value?: any;
63
+ onChange?: (newValue: any) => void;
64
+ }) => {
65
+ return (
66
+ <div style={{ marginTop: 5 }}>
67
+ <TimePicker
68
+ placeholder="Start time"
69
+ format={"HH:mm"}
70
+ style={{ width: 115, marginRight: 10 }}
71
+ value={value?.[0]}
72
+ onChange={(newValue) => {
73
+ onChange?.([newValue, value?.[1]]);
74
+ }}
75
+ />
76
+ <TimePicker
77
+ placeholder="End time"
78
+ style={{ width: 115 }}
79
+ format={"HH:mm"}
80
+ value={value?.[1]}
81
+ onChange={(newValue) => {
82
+ onChange?.([value?.[0], newValue]);
83
+ }}
84
+ />
85
+ </div>
86
+ );
87
+ };
@@ -1,4 +1,4 @@
1
- import React, { useContext } from "react";
1
+ import { ReactElement, useContext } from "react";
2
2
 
3
3
  import { Row, Col, Button } from "antd";
4
4
  import {
@@ -17,7 +17,7 @@ type Props = {
17
17
  onClear: () => void;
18
18
  };
19
19
 
20
- export function SearchBottomBar(props: Props): React.ReactElement {
20
+ export function SearchBottomBar(props: Props): ReactElement {
21
21
  const { onAdvancedFilterToggle, advancedFilter, onClear, isSearching } =
22
22
  props;
23
23
 
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useRef, useState } from "react";
1
+ import { useEffect, useRef, useState } from "react";
2
2
  import { Form, Row, Col, Alert, theme } from "antd";
3
3
  import useDeepCompareEffect from "use-deep-compare-effect";
4
4
 
@@ -60,6 +60,7 @@ function SearchFilter(props: Props) {
60
60
 
61
61
  useEffect(() => {
62
62
  form.setFieldsValue(searchValues);
63
+ // eslint-disable-next-line react-hooks/exhaustive-deps
63
64
  }, [searchValues]);
64
65
 
65
66
  const getRowsAndCols = () => {