Moved magic strings to constants file (#372)

* Moved constants from views to constants directory and added constants for time types

* Updated references in all occurences

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
diff --git a/src/views/constant.ts b/src/constants/constant.ts
similarity index 91%
rename from src/views/constant.ts
rename to src/constants/constant.ts
index cd9a79e..022719c 100644
--- a/src/views/constant.ts
+++ b/src/constants/constant.ts
@@ -25,3 +25,9 @@
   UPDATE_ENDPOINTS = 'UPDATE_ENDPOINTS',
   UPDATE_DASHBOARD = 'UPDATE_DASHBOARD',
 }
+
+export enum TimeType {
+  MINUTE_TIME = 'MINUTE',
+  HOUR_TIME = 'HOUR',
+  DAY_TIME = 'DAY',
+}
diff --git a/src/utils/datetime.ts b/src/utils/datetime.ts
index 8cfdf45..0e47fcf 100644
--- a/src/utils/datetime.ts
+++ b/src/utils/datetime.ts
@@ -16,6 +16,7 @@
  */
 
 import { Duration } from '@/types/global';
+import { TimeType } from '@/constants/constant';
 
 /**
  * init or generate durationRow Obj and save localStorage.
@@ -34,7 +35,7 @@
     durationRow = {
       start: new Date(new Date().getTime() - 900000),
       end: new Date(),
-      step: 'MINUTE',
+      step: TimeType.MINUTE_TIME,
     };
     localStorage.setItem('durationRow', JSON.stringify(durationRow, null, 0));
   }
diff --git a/src/utils/timeFormat.ts b/src/utils/timeFormat.ts
index 1cdd566..6f33630 100644
--- a/src/utils/timeFormat.ts
+++ b/src/utils/timeFormat.ts
@@ -16,16 +16,17 @@
  */
 
 import { Duration } from '@/types/global';
+import { TimeType } from '@/constants/constant';
 
 const timeFormat = (time: Date[]): Duration => {
-  let step = 'MINUTE';
+  let step: TimeType;
   const unix = Math.round(time[1].getTime()) - Math.round(time[0].getTime());
   if (unix <= 60 * 60 * 1000) {
-    step = 'MINUTE';
+    step = TimeType.MINUTE_TIME;
   } else if (unix <= 24 * 60 * 60 * 1000) {
-    step = 'HOUR';
+    step = TimeType.HOUR_TIME;
   } else {
-    step = 'DAY';
+    step = TimeType.DAY_TIME;
   }
   return { start: time[0], end: time[1], step };
 };
diff --git a/src/views/components/dashboard/charts/chart-edit.vue b/src/views/components/dashboard/charts/chart-edit.vue
index 384b365..2fd719a 100755
--- a/src/views/components/dashboard/charts/chart-edit.vue
+++ b/src/views/components/dashboard/charts/chart-edit.vue
@@ -263,7 +263,7 @@
   import { State, Getter, Mutation, Action } from 'vuex-class';
   import { Component, Prop, Watch } from 'vue-property-decorator';
 
-  import { TopologyType, ObjectsType } from '../../../constant';
+  import { TopologyType, ObjectsType } from '../../../../constants/constant';
   import {
     EntityType,
     BrowserEntityType,
diff --git a/src/views/components/dashboard/dashboard-item.vue b/src/views/components/dashboard/dashboard-item.vue
index 5eb582d..209945c 100644
--- a/src/views/components/dashboard/dashboard-item.vue
+++ b/src/views/components/dashboard/dashboard-item.vue
@@ -68,7 +68,7 @@
   import dayjs from 'dayjs';
 
   import { QueryTypes } from './constant';
-  import { TopologyType, ObjectsType } from '../../constant';
+  import { TopologyType, ObjectsType } from '../../../constants/constant';
   import { MetricsType, CalculationType } from './charts/constant';
   import { uuid } from '@/utils/uuid.ts';
 
diff --git a/src/views/containers/dashboard.vue b/src/views/containers/dashboard.vue
index c1daf01..ad25ba3 100644
--- a/src/views/containers/dashboard.vue
+++ b/src/views/containers/dashboard.vue
@@ -50,7 +50,7 @@
   import ToolGroup from '@/views/components/dashboard/tool-group.vue';
   import ToolNav from '@/views/components/dashboard/tool-nav.vue';
   import DashboardItem from '@/views/components/dashboard/dashboard-item.vue';
-  import { ObjectsType } from '../constant';
+  import { ObjectsType } from '../../constants/constant';
 
   interface ITemplate {
     name: string;
diff --git a/src/views/containers/topology/endpoint/index.vue b/src/views/containers/topology/endpoint/index.vue
index 64a8a2d..be3132d 100644
--- a/src/views/containers/topology/endpoint/index.vue
+++ b/src/views/containers/topology/endpoint/index.vue
@@ -67,7 +67,7 @@
   import ToolBarEndpointSelect from '@/views/components/dashboard/tool-bar-endpoint-select.vue';
   import { readFile } from '@/utils/readFile';
   import { saveFile } from '@/utils/saveFile';
-  import { ObjectsType } from '../../../constant';
+  import { ObjectsType } from '../../../../constants/constant';
 
   interface Endpoint {
     label: string;
diff --git a/src/views/containers/topology/instance/index.vue b/src/views/containers/topology/instance/index.vue
index 1faff42..b991f6d 100644
--- a/src/views/containers/topology/instance/index.vue
+++ b/src/views/containers/topology/instance/index.vue
@@ -69,7 +69,7 @@
   import { Action, Getter, State, Mutation } from 'vuex-class';
   import { readFile } from '@/utils/readFile';
   import { saveFile } from '@/utils/saveFile';
-  import { ObjectsType } from '../../../constant';
+  import { ObjectsType } from '../../../../constants/constant';
 
   interface Instance {
     label: string;
diff --git a/src/views/containers/topology/topology.vue b/src/views/containers/topology/topology.vue
index 189a306..800e007 100644
--- a/src/views/containers/topology/topology.vue
+++ b/src/views/containers/topology/topology.vue
@@ -54,7 +54,7 @@
   import { State, Action, Getter, Mutation } from 'vuex-class';
   import { AxiosResponse } from 'axios';
   import { State as topoState } from '@/store/modules/topology';
-  import { TopologyType } from '../../constant';
+  import { TopologyType } from '../../../constants/constant';
   import WindowEndpoint from '@/views/containers/topology/endpoint/index.vue';
   import WindowInstance from '@/views/containers/topology/instance/index.vue';
   import WindowTrace from '@/views/containers/topology/trace/index.vue';