@agendize/vue-settings
Version:
Vue agendize's settings component
46 lines (45 loc) • 1.86 kB
TypeScript
import { AccountEntity, CalendarApi, CompanyEntity, Logger, ServiceEntity, ServiceGroupEntity } from "@agendize/js-calendar-api";
import { ComputedRef, Ref } from "vue";
import { Router } from "vue-router";
import { Locale } from "@agendize/az-i18n";
import { PageWithTabsAndPanelOptions } from "@agendize/design-system";
export declare function ServiceGroupDetailsViewModel(api: CalendarApi, organisation: AccountEntity, locale: Locale, companyId: string, serviceGroupId?: string, logger?: Logger, newServiceGroup?: boolean, cloneServiceGroup?: boolean, router?: Router): ServiceGroupDetailsViewModelType;
interface ServiceGroupDetailsViewModelType {
company: Ref<CompanyEntity>;
allServiceGroup: Ref<ServiceGroupEntity[]>;
serviceGroup: Ref<ServiceGroupEntity | undefined>;
loading: Ref<boolean>;
validatedField: (item: string, isValid: boolean | {
isValid: boolean;
values: any;
id: string;
}) => void;
submitReady: ComputedRef<boolean>;
serviceGroupName: Ref<string>;
serviceGroupLogo: Ref<string>;
serviceGroupLogoFile: Ref<File | undefined>;
serviceGroupLogoFileData: Ref<string | undefined>;
onServiceGroupLogoUpdated: (item: File | undefined) => void;
serviceGroupColor: Ref<string[]>;
serviceGroupWidgetUrl: Ref<string | undefined>;
serviceGroupParent: Ref<string[]>;
serviceGroups: Ref<string[]>;
serviceGroupValues: Ref<{
label: string;
value: string;
}[]>;
services: Ref<ServiceEntity[]>;
serviceGroupExternalId: Ref<string>;
colors: Ref<{
label: string;
value: string;
}[]>;
parents: Ref<{
label: string;
value: string;
}[]>;
onSave: () => void;
back: () => void;
pageOptions: Ref<PageWithTabsAndPanelOptions>;
}
export {};