| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import AbstractFilter from '~/services/data/Filters/AbstractFilter'
- import RefUtils from '~/services/utils/refUtils'
- import type {ApiFilter} from "~/types/data";
- import type ApiResource from "~/models/ApiResource";
- import type {Query as PiniaOrmQuery} from "pinia-orm";
- export default class TimeFilter extends AbstractFilter implements ApiFilter{
- field: string
- filterValue: string
- /**
- * @param field
- * @param value
- * @param reactiveFilter
- */
- constructor(
- field: string,
- value: string,
- reactiveFilter: boolean = false,
- ) {
- super(reactiveFilter)
- this.field = field
- this.filterValue = value
- }
- public applyToPiniaOrmQuery <T extends ApiResource>(
- query: PiniaOrmQuery<T>,
- ): PiniaOrmQuery<T> {
- return query
- }
- public getApiQueryPart(): string {
- const filterValue = RefUtils.castToRef(
- this.filterValue,
- this.reactiveFilter,
- )
- if (filterValue.value === null) {
- return ''
- }
- return `${this.field}[time]=${filterValue.value}`
- }
- }
|