UNPKG

@agendize/vue-settings

Version:
85 lines (84 loc) 3.16 kB
import { AccountEntity, CalendarApi, CompanyEntity, Logger, ServiceEntity, StaffEntity } from "@agendize/js-calendar-api"; import { Locale } from "@agendize/az-i18n"; import { ComputedRef, Ref } from "vue"; import { Router } from "vue-router"; import { PageWithTabsAndPanelOptions, Mandatory } from "@agendize/design-system"; export declare function ServiceDetailsViewModel(api: CalendarApi, organisation: AccountEntity, locale: Locale, companyId: string, serviceId?: string, logger?: Logger, newService?: boolean, cloneService?: boolean, router?: Router): ServiceDetailsViewModelType; interface ServiceDetailsViewModelType { company: Ref<CompanyEntity>; service: Ref<ServiceEntity | undefined>; pageTitle: () => string; loading: Ref<boolean>; validatedField: (item: string, isValid: boolean | { isValid: boolean; values: any; id: string; }) => void; submitReady: ComputedRef<boolean>; serviceName: Ref<string>; serviceDescription: Ref<string>; serviceLogo: Ref<string>; serviceLogoFile: Ref<File | undefined>; serviceLogoFileData: Ref<string | undefined>; onServiceLogoUpdated: (item: File | undefined) => void; serviceQuantity: Ref<number>; serviceColor: Ref<string[]>; serviceVisibility: Ref<string[]>; serviceWidgetUrl: Ref<string | undefined>; serviceActif: Ref<boolean>; serviceDuration: Ref<number>; serviceLocations: Ref<string[][]>; servicePrice: Ref<number | undefined>; serviceGroups: Ref<string[]>; serviceGroupValues: Ref<{ label: string; value: string; }[]>; serviceStaffs: Ref<StaffEntity[]>; servicePreparationDuration: Ref<string[]>; serviceBufferAfterDuration: Ref<string[]>; serviceValidation: Ref<string[]>; serviceExternalId: Ref<string>; validations: Ref<{ label: string; value: string; }[]>; locations: ComputedRef<{ label: string; value: string; }[][]>; colors: Ref<{ label: string; value: string; }[]>; durations: Ref<{ label: string; value: string; }[]>; visibilities: Ref<{ label: string; value: string; }[]>; onSave: () => void; back: () => void; pageOptions: Ref<PageWithTabsAndPanelOptions>; addLocation: () => void; sliceLocation: (location: string, index: number) => void; allPossibleLocation: { value: string; label: string; }[]; customLoc: Ref<string>; changeStaffs: (staffs: StaffEntity[]) => void; serviceCancellationDelayEnable: Ref<boolean>; serviceCancellationDelayValue: Ref<number | undefined>; serviceCancellationDelayHelper: Ref<string | undefined>; serviceCancellationDelayMandatory: Ref<Mandatory>; minAppointmentValue: Ref<number>; minAppointmentUnit: Ref<string>; maxAppointmentValue: Ref<number>; maxAppointmentUnit: Ref<string>; changeInterval: (minV: number, minU: string, maxV: number, maxU: string) => void; hasIntervalByService: Ref<boolean>; } export {};