Skip to content

DateTimePicker: Validate on Mount#9937

Merged
linuspahl merged 28 commits intofeature/DateTimeRangefrom
dtp_validate_onmount
Jan 26, 2021
Merged

DateTimePicker: Validate on Mount#9937
linuspahl merged 28 commits intofeature/DateTimeRangefrom
dtp_validate_onmount

Conversation

@kyleknighted
Copy link
Copy Markdown
Contributor

@kyleknighted kyleknighted commented Jan 19, 2021

Validates the limitDuration with the rendered Time to verify that the User still has access to those ranges before allowing the Search in the UI.

image
image
image

@kyleknighted kyleknighted changed the base branch from master to feature/DateTimeRange January 19, 2021 20:19
@kyleknighted kyleknighted marked this pull request as ready for review January 20, 2021 15:52
Copy link
Copy Markdown
Contributor

@linuspahl linuspahl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like the idea of validating the limit on mount.

Some thoughts and findings:

  • When I have a limit of 30 minutes and I open a search URL which defines a relative range of 50 minutes, I can open the date time picker and go to the absolute tab. in this case the time range is being migrated to a relative one correctly, but the validation message is not being displayed. When I tested this case it was sometimes not possible to set an absolute time range.
  • Did you thought about using the TimeRangeDropdown form validation (for nextTimeRange) for the SearchBarForm (timerange)? I do not see a disadvantage right now.

text={<Icon name="lightbulb" />} />
</div>
<SearchButton disabled={disableSearch || isSubmitting || !isValid}
<SearchButton disabled={disableSearch || isSubmitting || !isValid || exceedsDuration(limitDuration, timerange)}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use isOverLimit here as well.

Copy link
Copy Markdown
Contributor

@linuspahl linuspahl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! I just saw that if there is an error with the time range in any related form, we are always setting the error for the nextTimeRange field, even though e.g. the SearchBarForm does not have this field. Technically it neither has a timerange Field. But I still prefer to set the error for the field which is invalid. There is no direct benefit, but this change will may help us in the future.
We could add a fieldName parameter for dateTimeValidate to achieve this.

# Conflicts:
#	graylog2-web-interface/src/views/components/searchbar/date-time-picker/TimeRangeDropdown.tsx
Copy link
Copy Markdown
Contributor

@linuspahl linuspahl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@linuspahl linuspahl merged commit 9eae93d into feature/DateTimeRange Jan 26, 2021
@linuspahl linuspahl deleted the dtp_validate_onmount branch January 26, 2021 17:24
Gaya added a commit that referenced this pull request Feb 8, 2021
* Moving Date Picker to Popover (#9097)

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Styling TimeRangeDisplay

* Flow Tests

* Some Cleanup

* temp -> tempTimeRange

* Linting

* Keyword output

* All time ranges loading properly

* react hook linting

* lint weak objects

* Error on TimeRangeDisplay default type

* DateTimePicker Live Preview (#9125)

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Styling TimeRangeDisplay

* Flow Tests

* Some Cleanup

* Linting

* Rendering Live Preview

* merge/rebase touchups

* DateTimePicker Relative Time Range (#9162)

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Styling TimeRangeDisplay

* Flow Tests

* Some Cleanup

* Linting

* merge/rebase touchups

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Flow Tests

* Some Cleanup

* Linting

* Remove TimerangeSelector

* Changing From time updates preview & saveable

* Relative From Range working

* Layout touchup and handle All Time uncheck

* RelativeTimeRangeSelector tests

* Clean up configuration of relative times

* Disable All Time check if query limit defined

* Wroking out a couple responsive issues, but needs more drastic code changes to fix other problems

* merge/rebase touchups

* lint

* Updating some tests to get more passing

* lint

* reverting & commenting

* update to newer function style

* Moving Date Picker to Popover (#9097)

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Styling TimeRangeDisplay

* Flow Tests

* Some Cleanup

* temp -> tempTimeRange

* Linting

* Keyword output

* All time ranges loading properly

* react hook linting

* lint weak objects

* Error on TimeRangeDisplay default type

* DateTimePicker updating tests, flow, & lint (#9296)

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Styling TimeRangeDisplay

* Flow Tests

* Some Cleanup

* Linting

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Flow Tests

* Some Cleanup

* Linting

* Updating some tests to get more passing

* TimeRangeLivePreview tests and flow typing

* More tests & linting

* failing tests & updated snaps

* revert package

* updating snaps

* Moving Date Picker to Popover (#9097)

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Styling TimeRangeDisplay

* Flow Tests

* Some Cleanup

* temp -> tempTimeRange

* Linting

* Keyword output

* All time ranges loading properly

* react hook linting

* lint weak objects

* Error on TimeRangeDisplay default type

* DateTimePicker Live Preview (#9125)

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Styling TimeRangeDisplay

* Flow Tests

* Some Cleanup

* Linting

* Rendering Live Preview

* merge/rebase touchups

* DateTimePicker Relative Time Range (#9162)

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Styling TimeRangeDisplay

* Flow Tests

* Some Cleanup

* Linting

* merge/rebase touchups

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Flow Tests

* Some Cleanup

* Linting

* Remove TimerangeSelector

* Changing From time updates preview & saveable

* Relative From Range working

* Layout touchup and handle All Time uncheck

* RelativeTimeRangeSelector tests

* Clean up configuration of relative times

* Disable All Time check if query limit defined

* Wroking out a couple responsive issues, but needs more drastic code changes to fix other problems

* merge/rebase touchups

* lint

* Updating some tests to get more passing

* lint

* reverting & commenting

* update to newer function style

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Styling TimeRangeDisplay

* Flow Tests

* Some Cleanup

* Linting

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Flow Tests

* Some Cleanup

* Linting

* Updating some tests to get more passing

* TimeRangeLivePreview tests and flow typing

* More tests & linting

* failing tests & updated snaps

* revert package

* updating snaps

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Some Cleanup

* Migrating original range options to Popover

* Updating some tests to get more passing

* reverting & commenting

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Remove TimerangeSelector

* Layout touchup and handle All Time uncheck

* AbsoluteTimeRangeSelector with visible calendars

* "From" Date & Time w/ Magic Button

* To timerange layout and functionality

* rebasing

* Styling

* flowtype formik reset

* revert SearchBar.jsx

* code cleanup to eliminate some repeating code

* dedupe code

* lint

* updating tests and snaps

* more tests

* Moving Date Picker to Popover (#9097)

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Styling TimeRangeDisplay

* Flow Tests

* Some Cleanup

* temp -> tempTimeRange

* Linting

* Keyword output

* All time ranges loading properly

* react hook linting

* lint weak objects

* Error on TimeRangeDisplay default type

* DateTimePicker Live Preview (#9125)

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Styling TimeRangeDisplay

* Flow Tests

* Some Cleanup

* Linting

* Rendering Live Preview

* merge/rebase touchups

* DateTimePicker Relative Time Range (#9162)

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Styling TimeRangeDisplay

* Flow Tests

* Some Cleanup

* Linting

* merge/rebase touchups

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Flow Tests

* Some Cleanup

* Linting

* Remove TimerangeSelector

* Changing From time updates preview & saveable

* Relative From Range working

* Layout touchup and handle All Time uncheck

* RelativeTimeRangeSelector tests

* Clean up configuration of relative times

* Disable All Time check if query limit defined

* Wroking out a couple responsive issues, but needs more drastic code changes to fix other problems

* merge/rebase touchups

* lint

* Updating some tests to get more passing

* lint

* reverting & commenting

* update to newer function style

* Some Cleanup

* TimeRangeLivePreview tests and flow typing

* More tests & linting

* failing tests & updated snaps

* updating snaps

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Migrating original range options to Popover

* flowtype formik reset

* input name

* jest, lint, flow, snaps, etc

* jest & snaps

* revert eslint removal

* reset form on cancel

* update eeslint rule

* flow

* SearchBar.test.jsx cleanup

* revert Searchbar.jsx

* lint & test

* snap and remove file

* Fixing edit of full DateTime input

* better validation message position

* Some Cleanup

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Migrating original range options to Popover

* Updating some tests to get more passing

* reverting & commenting

* Updating some tests to get more passing

* reverting & commenting

* Show current Timerange in TimeRangeDropdown

* Bold

* reverting changes

* lint

* Add updated TimeRangeDisplay to WidgetQueryControls (#9589)

* Updating Layout Styles, Adding Error Styles, Other Styles (#9455)

* DateTimePicker Show Timezone (#9381)

* Some Cleanup

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Migrating original range options to Popover

* Updating some tests to get more passing

* reverting & commenting

* Updating some tests to get more passing

* reverting & commenting

* Show current Timerange in TimeRangeDropdown

* Bold

* reverting changes

* lint

* Some Cleanup

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Migrating original range options to Popover

* Updating some tests to get more passing

* reverting & commenting

* Updating some tests to get more passing

* reverting & commenting

* reverting changes

* lint

* Some Cleanup

* flowtype formik reset

* Relative Timerange styles

* snaps

* started rewrite of Relative form fields

* Error checking, message, and disable Apply

* wrong select value

* tests and snaps

* most of the flow errors except AbsoluteRange

* lint

* oh, snap!

* fix state error on load

* jest snaps

* flowfixme

* DateRange Absolute Limits & Errors (#9543)

* DateTimePicker Show Timezone (#9381)

* Some Cleanup

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Migrating original range options to Popover

* Updating some tests to get more passing

* reverting & commenting

* Updating some tests to get more passing

* reverting & commenting

* Show current Timerange in TimeRangeDropdown

* Bold

* reverting changes

* lint

* Some Cleanup

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Migrating original range options to Popover

* Updating some tests to get more passing

* reverting & commenting

* Updating some tests to get more passing

* reverting & commenting

* reverting changes

* lint

* Some Cleanup

* flowtype formik reset

* Relative Timerange styles

* snaps

* started rewrite of Relative form fields

* Error checking, message, and disable Apply

* wrong select value

* tests and snaps

* most of the flow errors except AbsoluteRange

* lint

* oh, snap!

* Absolute limits in calendar

* Absolute limits in calendar

* Cleanup and disable Absolute Apply when dates arent correct

* update error style and time check

* flow cleanup

* tests

* oh, snap!

* fix setstate error

* snapshot update

* Update disabledApply, fix Relative All Time, update error messages for Absolute timerange

* flow

* jest

* lint

* DateTimePicker working and opening properly on Dashboard (#9652)

* DateTimePicker Show Timezone (#9381)

* Some Cleanup

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Migrating original range options to Popover

* Updating some tests to get more passing

* reverting & commenting

* Updating some tests to get more passing

* reverting & commenting

* Show current Timerange in TimeRangeDropdown

* Bold

* reverting changes

* lint

* Some Cleanup

* Migrating original range options to Popover

* Converting existing DateTimePicker to Popover

* Migrating original range options to Popover

* Updating some tests to get more passing

* reverting & commenting

* Updating some tests to get more passing

* reverting & commenting

* reverting changes

* lint

* Some Cleanup

* flowtype formik reset

* Relative Timerange styles

* snaps

* started rewrite of Relative form fields

* Error checking, message, and disable Apply

* wrong select value

* tests and snaps

* most of the flow errors except AbsoluteRange

* lint

* oh, snap!

* Absolute limits in calendar

* Absolute limits in calendar

* Cleanup and disable Absolute Apply when dates arent correct

* update error style and time check

* flow cleanup

* tests

* oh, snap!

* fix setstate error

* Dashboard Popover opening properly

* Defaults working so far

* apply working

* snapshot update

* Updating layout to allow for No Override without overlap

* snapshot

* Update disabledApply, fix Relative All Time, update error messages for Absolute timerange

* flow

* jest

* lint & jest

* bad merged line

* Fixing existing TypeScript errors

* Renaming `RefreshControls.test`.

* Renaming `TimeRangeDisplay`.

* Migrating `TimeRangeDisplay` to ts.

* Renaming `TimerangeSelector`.

* Renaming `AbsoluteRangeField`.

* Migrating `AbsoluteRangeField` to ts.

* Renaming `AbsoluteTimeRangeSelector`.

* Renaming `KeywordTimeRangeSelector`.

* Renaming `KeywordTimeRangeSelector.test`.

* Renaming `RelativeTimeRangeSelector`.

* Migrating `RelativeTimeRangeSelector` to ts.

* Renaming `RelativeTimeRangeSelector.test`.

* Renaming `TimeRangeDropdown`.

* Migrating `TimeRangeDropdown` to ts.

* Renaming `TimeRangeLivePreview`.

* Migrating `TimeRangeLivePreview` to ts.

* Renaming `TimeRangeLivePreview.test`.

* Migrating `TimeRangeLivePreview.test` to ts.

* Removing `// @flow strict`.

* Removing `FlowFixMe` comments.

* Renaming `AbsoluteRangeField.test`.

* Renaming `AbsoluteTimeRangeSelector.test`.

* Renaming `DisabledTimeRangeSelector`.

* Adding types for `TimerangeSelector`.

* Improving absolute time range selector types.

* Removing no longer needed formik flow interface type definition.

* Removing no longer needed flow related ESLint config setting.

* Fixing `SearchBarForm` validation.

* eslint

* style-lint

* Date Time Picker variable renaming (#9748)

* tempTimeRange -> nextTimeRange

* currentTimerange -> currentTimeRange

* newTimerange -> newTimeRange

* DateTimePicker Apply Button validation (#9749)

* tempTimeRange -> nextTimeRange

* currentTimerange -> currentTimeRange

* newTimerange -> newTimeRange

* limitDuration & nextTimeRange as initialValue, resetForm as setFieldValue

* not sure why i removed this, adding it back

* fix typescript issues

* adding copyright comments

* missed a copyright comment

* snapshot

* Merging master & fixing type errors

* AbsoluteRangeField updating inputs to be controlled

* new snapshots

* Adding DashboardSearchBarForm validation (#9765)

* Adding DashboardSearchBarForm validation (#9766)

* Adding DashboardSearchBarForm validation

* Getting Dashboard to not render dirty search button

* Only disable `SearchButton` when appropriate (#9768)

* Adding DashboardSearchBarForm validation

* Getting Dashboard to not render dirty search button

* Central SearchBarForm validation for fields

* Update Absolute time inputs to use number instead of text (#9784)

* Update inputs to use number instead of text

* jest tests

* snapshots

* not required

* Updating "No Override" content of Date Time Picker on Dashboard (#9797)

* Update inputs to use number instead of text

* jest tests

* snapshots

* not required

* Adding keyboard capture for Enter and Esc keys

* Adding mousetrap package

* RelativeTimeRangeSelector minimum range time value

* Rendering content for No Override state

* snapshots

* Migrating Absolute Time Range fields to their own components

* test updates

* Adding help content to KeywordTimeRangeSelector (#9811)

* DateTimePicker - capture Enter and Esc keys to submit or cancel range selection (#9788)

* Update inputs to use number instead of text

* jest tests

* snapshots

* not required

* Adding keyboard capture for Enter and Esc keys

* Adding mousetrap package

* Verify bindings work while focused on input

* DateTime Picker - Updating error message styles (#9809)

* Updating error styles

* snapshots

* invalid form should render empty time range

* Updating tests and snaps

* Remove unused file

* Stop Relative and Absolute from bouncing around on error render

* DateTimePicker - Adding limitDuration config to Widget (#9810)

* Adding limitDuration config to Widget

* test & snap

* update connect HOC to useStore hook

* Optional chaining in moment duration

* remove the explicit SearchesConfig type

* Updated tests and snapshots

* snaps

* DateTimePicker: moving live update (#9901)

* Reverting location of Live Reload component

* snaps

* DateTimePicker : DateTimeProvider to pass static form values (#9893)

* Adding limitDuration config to Widget

* test & snap

* update connect HOC to useStore hook

* Optional chaining in moment duration

* remove the explicit SearchesConfig type

* Implement DateTimeProvider to pass static values through form fields and tabs

* Updated tests and snapshots

* variables should be defined

* DateTimePicker : Absolute Time Range Accordions (#9872)

* Update inputs to use number instead of text

* jest tests

* snapshots

* not required

* Adding keyboard capture for Enter and Esc keys

* Adding mousetrap package

* RelativeTimeRangeSelector minimum range time value

* Updating error styles

* snapshots

* invalid form should render empty time range

* Updating tests and snaps

* Adding limitDuration config to Widget

* test & snap

* update connect HOC to useStore hook

* Optional chaining in moment duration

* fixed test

* updated snaps

* Creating Accordion

* Implementing Accordion

* lint

* Wrapping Absolute ranges with Accordion

* Remove unused file

* Verify bindings work while focused on input

* Stop Relative and Absolute from bouncing around on error render

* Functional tab absolute time range

* lint

* two accordions instead of four

* File Management & component breakdown

* Implementation cleanup

* Feedback from Edmundo

* remove icon stuff

* Fixing up props

* remove the explicit SearchesConfig type

* Accordion files

* Disabling ColorSwatches until i figure out performance issue

* Accordion documentation

* Accordion rename files

* revert Colors.md

* Update Panel to have Accordion render properly

* Remove old Bootstrap version

* Update docs & begin tests

* Adding controlled docs

* formatting

* todo

* test tabpanel as well

* prep for merge

* Allow `from` startDate to start from the beginning of time

* Don't allow accordion to close on Calendar

* Updated tests and snapshots

* tests & snapshots

* revert Accordion.tsx

* snaps

* snaps

* snaps

* Add configured relative time range (#9832)

* Add useSearchConfiguration custom hook

* Add ConfiguredRelativeTimeRangeSelector

 - The base is the replaced RelativeTimeRangeSelector
 - refactored and updated to use useSearchConfiguration hook
 - onChange passe new value to parent (RelativeTimeRangeSelector)

* Use ConfiguredRelativeTimeRangeSelector

 - display configured time range
 - Extract fromValue to a function

* Update snapshoot

* Revert Relative time range configuration

* Updating Preset Relative Range dropdown & layout

* cleanup

* snaps

Co-authored-by: Kyle Knight <kyle@graylog.com>

* DateTimePicker limits for Absolute & Keyword (#9918)

* Update inputs to use number instead of text

* jest tests

* snapshots

* not required

* Adding keyboard capture for Enter and Esc keys

* Adding mousetrap package

* RelativeTimeRangeSelector minimum range time value

* Updating error styles

* snapshots

* invalid form should render empty time range

* Updating tests and snaps

* Adding limitDuration config to Widget

* test & snap

* update connect HOC to useStore hook

* Optional chaining in moment duration

* Add useSearchConfiguration custom hook

* Add ConfiguredRelativeTimeRangeSelector

 - The base is the replaced RelativeTimeRangeSelector
 - refactored and updated to use useSearchConfiguration hook
 - onChange passe new value to parent (RelativeTimeRangeSelector)

* Use ConfiguredRelativeTimeRangeSelector

 - display configured time range
 - Extract fromValue to a function

* Update snapshoot

* fixed test

* updated snaps

* Revert Relative time range configuration

* Creating Accordion

* Implementing Accordion

* lint

* Wrapping Absolute ranges with Accordion

* Remove unused file

* Updating Preset Relative Range dropdown & layout

* Verify bindings work while focused on input

* Stop Relative and Absolute from bouncing around on error render

* Functional tab absolute time range

* lint

* two accordions instead of four

* File Management & component breakdown

* Implementation cleanup

* Feedback from Edmundo

* remove icon stuff

* Fixing up props

* remove the explicit SearchesConfig type

* Accordion files

* Disabling ColorSwatches until i figure out performance issue

* Accordion documentation

* Accordion rename files

* revert Colors.md

* Update Panel to have Accordion render properly

* Remove old Bootstrap version

* Update docs & begin tests

* Adding controlled docs

* formatting

* todo

* test tabpanel as well

* prep for merge

* Updated RTL

* Updated tests

* Allow `from` startDate to start from the beginning of time

* Don't allow accordion to close on Calendar

* cleanup

* Fixing typescript error

* Updated tests and snapshots

* Popover width

* Remove ms from calendar time

* Remove ms from calendar time

* Accordion styles

* Time labels

* tests & snapshots

* revert Accordion.tsx

* snaps

* snaps

* snaps

* snaps

* snaps

* Add validation to absolute time range limit duration

* Adding AbsoluteCalendar.test.tsx and fixing up other test dates

* Keyword limit duration

* snapshot

* lint

* tests

* stylelint & snapshots

* date colors

* update config ranges link permission

* update error font size

* snaps

* spacing above action buttons

Co-authored-by: Ousmane Samba <ousmane@graylog.com>

* Creating separate form for date time picker. (#9932)

* DateTimePicker: Validate Keyword (#9942)

* validate blank string properly

* disable apply on keyword parse

* keyword utc

* Fixing state update on unmount for keyword tab.

* passing tests

Co-authored-by: Linus Pahl <linus@graylog.com>

* DateTimePicker: Validate on Mount (#9937)

* Creating separate form for `TimeRangeDropDown`.
Currently the related form values are part of the `SearchBarForm`.

* Renaming

* Fixing validation for `AbsoluteTimestamp`.

* Fixing initial date time picker tab for dashboards.

* Fixing tab change in date time picker for dashboards.

* Removing no longer needed original time range for `TabRelativeTimeRange`.

* Removing no longer needed validation export.

* Updating `migrateTimeRangeToNewType` return type.

* Implementing smaller code style improvements.

* Fixing linter warning

* Fixing tests.

* Fixing linter warning

* exceedsDuration validation

* Create IconMarker.tsx

* Implement IconMarker

* Update validation

* Dashboard & Widget

* copyright

* updated icon

* Single source of validation & update SearchBar icons after error is resolved

* use Formik for validation

* formatting

* we do want validateOnChange

* handle hasErrorOnMount being passed to SearchBarForm from Widgets

Co-authored-by: Linus Pahl <linus@graylog.com>

* Add test for TimeRangeDropdown (#9950)

* Add test for TimeRangeDropdown

* Update test to avoid async timeout

Co-authored-by: Kyle Knight <kyle@graylog.com>

* DateTimePicker: Updating remaining tests (#9949)

* Creating separate form for `TimeRangeDropDown`.
Currently the related form values are part of the `SearchBarForm`.

* Renaming

* Fixing validation for `AbsoluteTimestamp`.

* Fixing initial date time picker tab for dashboards.

* Fixing tab change in date time picker for dashboards.

* Removing no longer needed original time range for `TabRelativeTimeRange`.

* Removing no longer needed validation export.

* Updating `migrateTimeRangeToNewType` return type.

* Implementing smaller code style improvements.

* Fixing linter warning

* Fixing tests.

* Fixing linter warning

* exceedsDuration validation

* Create IconMarker.tsx

* Implement IconMarker

* Update validation

* Dashboard & Widget

* copyright

* validate blank string properly

* disable apply on keyword parse

* updated icon

* keyword utc

* Single source of validation & update SearchBar icons after error is resolved

* SearchBar integration tests

* Remove obsolete snaps

* TabAbsoluteTimeRange accordion test

* Add test for TimeRangeDropdown

* Fixing state update on unmount for keyword tab.

* passing tests

* use Formik for validation

* formatting

* we do want validateOnChange

* TimeRangeDropdown.test update for noOverride

* removing unneeded aria-labelledby

* DashboardSearchBar.test.tsx update to remove old tests

* Update test to avoid async timeout

* handle hasErrorOnMount being passed to SearchBarForm from Widgets

* fix SearchBar.test

Co-authored-by: Linus Pahl <linus@graylog.com>
Co-authored-by: Ousmane Samba <ousmane@graylog.com>

* DateTimePicker: Converting time to user's timezone (#9951)

* Creating separate form for `TimeRangeDropDown`.
Currently the related form values are part of the `SearchBarForm`.

* Renaming

* Fixing validation for `AbsoluteTimestamp`.

* Fixing initial date time picker tab for dashboards.

* Fixing tab change in date time picker for dashboards.

* Removing no longer needed original time range for `TabRelativeTimeRange`.

* Removing no longer needed validation export.

* Updating `migrateTimeRangeToNewType` return type.

* Implementing smaller code style improvements.

* Fixing linter warning

* Fixing tests.

* Fixing linter warning

* exceedsDuration validation

* Create IconMarker.tsx

* Implement IconMarker

* Update validation

* Dashboard & Widget

* copyright

* validate blank string properly

* disable apply on keyword parse

* updated icon

* keyword utc

* Single source of validation & update SearchBar icons after error is resolved

* SearchBar integration tests

* Remove obsolete snaps

* TabAbsoluteTimeRange accordion test

* Add test for TimeRangeDropdown

* Converting time to user's timezone

* Fixing state update on unmount for keyword tab.

* passing tests

* use Formik for validation

* formatting

* we do want validateOnChange

* TimeRangeDropdown.test update for noOverride

* removing unneeded aria-labelledby

* DashboardSearchBar.test.tsx update to remove old tests

* Update test to avoid async timeout

* handle hasErrorOnMount being passed to SearchBarForm from Widgets

* fix SearchBar.test

* fix SearchBar.test

Co-authored-by: Linus Pahl <linus@graylog.com>
Co-authored-by: Ousmane Samba <ousmane@graylog.com>

* Adding more basic tests for `DashboardSearchBar`. (#9984)

* Submitting `TimeRangeDropDown` form on enter. (#9965)

* Enabling configuration of new relative time range type with range offset in date time picker. (#9946)

* test update

* test update to pass lint

* import css modules as global

* revert to using css options generate

Co-authored-by: Linus Pahl <linus@graylog.com>
Co-authored-by: Ousmane SAMBA <ousmane@graylog.com>
Co-authored-by: Gaya <gaya@theclevernode.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants