Skip to content

Commit cec580e

Browse files
committed
Support to limit the time of each visit and daily banned time period (sheepzh#215, sheepzh#228)
1 parent b6dce28 commit cec580e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+1710
-862
lines changed

src/api/chrome/tab.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,10 @@ export function sendMsg2Tab<T = any, R = any>(tabId: number, code: timer.mq.ReqC
6161
const request: timer.mq.Request<T> = { code, data }
6262
return new Promise((resolve, reject) => {
6363
chrome.tabs.sendMessage<timer.mq.Request<T>, timer.mq.Response>(tabId, request, response => {
64-
handleError('sendMsgTab')
64+
handleError('sendMsg2Tab')
6565
const resCode = response?.code
66-
resCode === 'success'
67-
? resolve(response.data)
68-
: reject(new Error(response?.msg))
66+
resCode === 'success' && resolve(response.data)
67+
resCode === "fail" && reject(new Error(response?.msg))
6968
})
7069
})
7170
}

src/app/components/analysis/components/filter.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ function renderHostLabel({ host, merged, virtual, alias }: timer.site.SiteInfo):
8787
}
8888

8989
const _default = defineComponent({
90-
name: "TrendFilter",
9190
props: {
9291
site: Object as PropType<timer.site.SiteKey>,
9392
timeFormat: String as PropType<timer.app.TimeFormat>

src/app/components/analysis/components/trend/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ const _default = defineComponent({
195195
const indicators: Ref<IndicatorSet> = ref()
196196
const lastIndicators: Ref<IndicatorSet> = ref()
197197
const timeFormat: Ref<timer.app.TimeFormat> = ref(props.timeFormat)
198-
const rangeLength: ComputedRef = computed(() => getDayLenth(dateRange.value?.[0], dateRange.value?.[1]))
198+
const rangeLength: ComputedRef<number> = computed(() => getDayLenth(dateRange.value?.[0], dateRange.value?.[1]))
199199

200200
const compute = () => handleDataChange(
201201
{ dateRange: dateRange.value, rows: props.rows },

src/app/components/analysis/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ const _default = defineComponent(() => {
5353
const site: Ref<timer.site.SiteKey> = ref(siteFromQuery)
5454
const timeFormat: Ref<timer.app.TimeFormat> = ref('default')
5555
const rows: Ref<timer.stat.Row[]> = ref()
56-
const filter: Ref = ref()
5756

5857
const queryInner = async () => {
5958
const siteKey = site.value
@@ -67,7 +66,6 @@ const _default = defineComponent(() => {
6766
filter: () => h(Filter, {
6867
site: site.value,
6968
timeFormat: timeFormat.value,
70-
ref: filter,
7169
onSiteChange: (newSite: timer.site.SiteKey) => site.value = newSite,
7270
onTimeFormatChange: (newFormat: timer.app.TimeFormat) => timeFormat.value = newFormat
7371
}),

src/app/components/common/content-container.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,19 @@ import { ElCard, ElScrollbar } from "element-plus"
99
import ContentCard from "./content-card"
1010
import { defineComponent, h, useSlots } from "vue"
1111

12-
const _default = defineComponent(() => {
13-
const slots = useSlots()
14-
const children = []
15-
const { default: default_, filter, content } = slots
16-
filter && children.push(h(ElCard, { class: "filter-container" }, () => h(filter)))
17-
if (default_) {
18-
children.push(h(slots.default))
19-
} else {
20-
content && children.push(h(ContentCard, () => h(content)))
12+
const _default = defineComponent({
13+
setup() {
14+
const slots = useSlots()
15+
const children = []
16+
const { default: default_, filter, content } = slots
17+
filter && children.push(h(ElCard, { class: "filter-container" }, () => h(filter)))
18+
if (default_) {
19+
children.push(h(slots.default))
20+
} else {
21+
content && children.push(h(ContentCard, () => h(content)))
22+
}
23+
return () => h(ElScrollbar, () => h("div", { class: "content-container" }, children))
2124
}
22-
return () => h(ElScrollbar, () => h("div", { class: "content-container" }, children))
2325
})
2426

2527
export default _default

src/app/components/dashboard/components/calendar-heat-map.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ const _default = defineComponent({
258258
const now = new Date()
259259
const startTime: Date = getWeeksAgo(now, isChinese, WEEK_NUM)
260260

261-
const chart: Ref = ref()
261+
const chart: Ref<HTMLDivElement> = ref()
262262
const chartWrapper: ChartWrapper = new ChartWrapper(startTime, now)
263263

264264
onMounted(async () => {

src/app/components/dashboard/components/top-k-visit.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,11 @@ class ChartWrapper {
9797
}
9898

9999
const _default = defineComponent({
100-
name: "TopKVisit",
101100
setup() {
102101
const now = new Date()
103102
const startTime: Date = new Date(now.getTime() - MILL_PER_DAY * DAY_NUM)
104103

105-
const chart: Ref = ref()
104+
const chart: Ref<HTMLDivElement> = ref()
106105
const chartWrapper: ChartWrapper = new ChartWrapper()
107106

108107
onMounted(async () => {

src/app/components/data-manage/clear/filter/index.ts

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ import DateFilter from "./date-filter"
1313
import NumberFilter from "./number-filter"
1414
import DeleteButton from "./delete-button"
1515

16+
export type FilterInstance = {
17+
getFilterOption(): DataManageClearFilterOption
18+
}
19+
1620
const _default = defineComponent({
1721
emits: {
1822
delete: () => true
@@ -23,17 +27,18 @@ const _default = defineComponent({
2327
const focusEndRef: Ref<string> = ref('2')
2428
const timeStartRef: Ref<string> = ref('0')
2529
const timeEndRef: Ref<string> = ref('')
26-
const computeFilterOption = () => ({
27-
dateRange: dateRangeRef.value,
28-
focusStart: focusStartRef.value,
29-
focusEnd: focusEndRef.value,
30-
timeStart: timeStartRef.value,
31-
timeEnd: timeEndRef.value,
32-
} as DataManageClearFilterOption)
3330

34-
ctx.expose({
35-
getFilterOption: computeFilterOption
36-
})
31+
const instance: FilterInstance = {
32+
getFilterOption: () => ({
33+
dateRange: dateRangeRef.value,
34+
focusStart: focusStartRef.value,
35+
focusEnd: focusEndRef.value,
36+
timeStart: timeStartRef.value,
37+
timeEnd: timeEndRef.value,
38+
} as DataManageClearFilterOption)
39+
}
40+
41+
ctx.expose(instance)
3742

3843
return () => h('div', { class: 'clear-panel' }, [
3944
h('h3', t(msg => msg.dataManage.filterItems)),

src/app/components/data-manage/clear/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { ElAlert, ElCard, ElMessage, ElMessageBox } from "element-plus"
99
import { defineComponent, h, Ref, ref, SetupContext } from "vue"
1010
import { t } from "@app/locale"
1111
import { alertProps } from "../common"
12-
import Filter from "./filter"
12+
import Filter, { FilterInstance } from "./filter"
1313
import StatDatabase, { StatCondition } from "@db/stat-database"
1414
import { MILL_PER_DAY } from "@util/time"
1515

@@ -109,7 +109,7 @@ const _default = defineComponent({
109109
dataDelete: () => true
110110
},
111111
setup(_, ctx) {
112-
const filterRef: Ref = ref()
112+
const filter: Ref<FilterInstance> = ref()
113113
return () => h(ElCard, {
114114
class: 'clear-container'
115115
}, () => [
@@ -118,8 +118,8 @@ const _default = defineComponent({
118118
title: t(msg => msg.dataManage.operationAlert)
119119
}),
120120
h(Filter, {
121-
ref: filterRef,
122-
onDelete: () => handleClick(filterRef, ctx),
121+
ref: filter,
122+
onDelete: () => handleClick(filter, ctx),
123123
}),
124124
])
125125
}

src/app/components/data-manage/index.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@ import { ElRow, ElCol } from "element-plus"
99
import { defineComponent, h, Ref, ref } from "vue"
1010
import ContentContainer from "../common/content-container"
1111
import Migration from "./migration"
12-
import MemeryInfo from "./memory-info"
12+
import MemeryInfo, { MemeryInfoInstance } from "./memory-info"
1313
import ClearPanel from "./clear"
1414
import './style'
1515

1616
export default defineComponent(() => {
17-
const memeryInfoRef: Ref = ref()
18-
const queryData = () => memeryInfoRef?.value?.queryData()
17+
const memeryInfoRef: Ref<MemeryInfoInstance> = ref()
18+
19+
const queryData = () => memeryInfoRef.value?.queryData()
20+
1921
return () => h(ContentContainer, {
2022
class: 'data-manage-container'
2123
}, () => h(ElRow, { gutter: 20 },

0 commit comments

Comments
 (0)