fix: less hour selected in absolute time shouldn't change to query range (#3825)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Improvements**
- Enhanced the date/time handling in the log search feature for more
accurate start time calculations.

- **Tests**
- Improved reliability of UI tests by forcefully clicking elements in
specific scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: oasisk <ashish.j.kolhe@gmail.com>
This commit is contained in:
Bhargav
2024-06-25 22:53:51 +05:30
committed by GitHub
co-authored by oasisk
parent 3e39afe1ff
commit c0152b82ce
2 changed files with 33 additions and 19 deletions
@@ -865,7 +865,7 @@ test.describe("Sanity testcases", () => {
.locator('[data-test="index-dropdown-stream"]')
.fill("e2e_tabledashboard");
await page.waitForTimeout(4000);
await page.getByRole("option", { name: "e2e_tabledashboard" }).click();
await page.getByRole("option", { name: "e2e_tabledashboard" }).click({force: true});
await page.waitForTimeout(6000);
await page
+32 -18
View File
@@ -1241,26 +1241,40 @@ export default defineComponent({
};
const updateDateTime = async (value: object) => {
if (value.valueType == "absolute" && searchObj.data.stream.selectedStream.length > 0 && searchObj.data.datetime.queryRangeRestrictionInHour > 0 && value.hasOwnProperty("selectedDate") && value.hasOwnProperty("selectedTime") && value.selectedDate.hasOwnProperty("from") && value.selectedTime.hasOwnProperty("startTime")) {
if (
value.valueType == "absolute" &&
searchObj.data.stream.selectedStream.length > 0 &&
searchObj.data.datetime.queryRangeRestrictionInHour > 0 &&
value.hasOwnProperty("selectedDate") &&
value.hasOwnProperty("selectedTime") &&
value.selectedDate.hasOwnProperty("from") &&
value.selectedTime.hasOwnProperty("startTime")
) {
// Convert hours to microseconds
value.startTime =
value.endTime - (searchObj.data.datetime.queryRangeRestrictionInHour *
60 *
60 *
1000000);
value.selectedDate.from = timestampToTimezoneDate(
value.startTime / 1000,
store.state.timezone,
"yyyy/MM/DD"
);
value.selectedTime.startTime = timestampToTimezoneDate(
value.startTime / 1000,
store.state.timezone,
"HH:mm"
);
let newStartTime =
parseInt(value.endTime) -
searchObj.data.datetime.queryRangeRestrictionInHour *
60 *
60 *
1000000;
dateTimeRef.value.setAbsoluteTime(value.startTime, value.endTime);
dateTimeRef.value.setDateType("absolute");
if (parseInt(newStartTime) > parseInt(value.startTime)) {
value.startTime = newStartTime;
value.selectedDate.from = timestampToTimezoneDate(
value.startTime / 1000,
store.state.timezone,
"yyyy/MM/DD"
);
value.selectedTime.startTime = timestampToTimezoneDate(
value.startTime / 1000,
store.state.timezone,
"HH:mm"
);
dateTimeRef.value.setAbsoluteTime(value.startTime, value.endTime);
dateTimeRef.value.setDateType("absolute");
}
}
searchObj.data.datetime = {
startTime: value.startTime,