@hybridly/vue 0.7.7 → 0.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +51 -24
- package/dist/index.d.cts +230 -239
- package/dist/index.d.mts +230 -239
- package/dist/index.d.ts +230 -239
- package/dist/index.mjs +52 -25
- package/package.json +26 -25
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
|
-
import { App, Plugin as Plugin$1, h, PropType
|
|
2
|
+
import { ComputedRef, DeepReadonly, Ref, MaybeRefOrGetter, App, Plugin as Plugin$1, h, PropType } from 'vue';
|
|
3
3
|
import * as _hybridly_core from '@hybridly/core';
|
|
4
|
-
import {
|
|
4
|
+
import { HybridRequestOptions, UrlResolvable, RouterContext, registerHook as registerHook$1, RouteName, RouteParameters, RouterContextOptions, Plugin, Method } from '@hybridly/core';
|
|
5
5
|
export { can, route, router } from '@hybridly/core';
|
|
6
6
|
import { Axios } from 'axios';
|
|
7
|
-
import * as _vue_shared from '@vue/shared';
|
|
8
|
-
import { RequestData, FormDataConvertible } from '@hybridly/utils';
|
|
9
7
|
import { SearchableObject, Path, PathValue } from '@clickbar/dot-diver';
|
|
8
|
+
import { FormDataConvertible, RequestData } from '@hybridly/utils';
|
|
9
|
+
import * as _vue_shared from '@vue/shared';
|
|
10
10
|
|
|
11
11
|
interface ProgressOptions {
|
|
12
12
|
/**
|
|
@@ -36,176 +36,6 @@ interface ProgressOptions {
|
|
|
36
36
|
spinner: boolean;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
/**
|
|
40
|
-
* Initializes Hybridly's router and context.
|
|
41
|
-
*/
|
|
42
|
-
declare function initializeHybridly(options?: InitializeOptions): Promise<any>;
|
|
43
|
-
interface InitializeOptions {
|
|
44
|
-
/** Callback that gets executed before Vue is mounted. */
|
|
45
|
-
enhanceVue?: (vue: App<Element>) => any;
|
|
46
|
-
/** ID of the app element. */
|
|
47
|
-
id?: string;
|
|
48
|
-
/** Clean up the host element's payload dataset after loading. */
|
|
49
|
-
cleanup?: boolean;
|
|
50
|
-
/** Whether to set up the devtools plugin. */
|
|
51
|
-
devtools?: boolean;
|
|
52
|
-
/** Whether to display response error modals. */
|
|
53
|
-
responseErrorModals?: boolean;
|
|
54
|
-
/** Custom history state serialization functions. */
|
|
55
|
-
serializer?: RouterContextOptions['serializer'];
|
|
56
|
-
/** Progressbar options. */
|
|
57
|
-
progress?: false | Partial<ProgressOptions>;
|
|
58
|
-
/** Sets up the hybridly router. */
|
|
59
|
-
setup?: (options: SetupArguments) => any;
|
|
60
|
-
/** List of Hybridly plugins. */
|
|
61
|
-
plugins?: Plugin[];
|
|
62
|
-
/** Custom Axios instance. */
|
|
63
|
-
axios?: Axios;
|
|
64
|
-
/**
|
|
65
|
-
* Enables the View Transition API, if supported.
|
|
66
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/ViewTransition
|
|
67
|
-
*/
|
|
68
|
-
viewTransition?: boolean;
|
|
69
|
-
}
|
|
70
|
-
interface SetupArguments {
|
|
71
|
-
/** DOM element to mount Vue on. */
|
|
72
|
-
element: Element;
|
|
73
|
-
/** Hybridly wrapper component. */
|
|
74
|
-
wrapper: any;
|
|
75
|
-
/** Hybridly wrapper component properties. */
|
|
76
|
-
props: {
|
|
77
|
-
context: RouterContext;
|
|
78
|
-
};
|
|
79
|
-
/** Vue plugin that registers the devtools. */
|
|
80
|
-
hybridly: Plugin$1;
|
|
81
|
-
/** Renders the wrapper. */
|
|
82
|
-
render: () => ReturnType<typeof h>;
|
|
83
|
-
/** Initial payload. */
|
|
84
|
-
payload: Record<string, any>;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
declare const RouterLink: vue.DefineComponent<{
|
|
88
|
-
href: {
|
|
89
|
-
type: StringConstructor;
|
|
90
|
-
required: false;
|
|
91
|
-
default: undefined;
|
|
92
|
-
};
|
|
93
|
-
as: {
|
|
94
|
-
type: (ObjectConstructor | StringConstructor)[];
|
|
95
|
-
default: string;
|
|
96
|
-
};
|
|
97
|
-
method: {
|
|
98
|
-
type: PropType<"delete" | Method | "get" | "post" | "put" | "patch">;
|
|
99
|
-
default: string;
|
|
100
|
-
};
|
|
101
|
-
data: {
|
|
102
|
-
type: PropType<RequestData>;
|
|
103
|
-
default: () => {};
|
|
104
|
-
};
|
|
105
|
-
external: {
|
|
106
|
-
type: BooleanConstructor;
|
|
107
|
-
default: boolean;
|
|
108
|
-
};
|
|
109
|
-
disabled: {
|
|
110
|
-
type: BooleanConstructor;
|
|
111
|
-
default: boolean;
|
|
112
|
-
};
|
|
113
|
-
options: {
|
|
114
|
-
type: PropType<Omit<HybridRequestOptions, "data" | "url" | "method">>;
|
|
115
|
-
default: () => {};
|
|
116
|
-
};
|
|
117
|
-
text: {
|
|
118
|
-
type: StringConstructor;
|
|
119
|
-
required: false;
|
|
120
|
-
default: undefined;
|
|
121
|
-
};
|
|
122
|
-
preload: {
|
|
123
|
-
type: PropType<boolean | "hover" | "mount">;
|
|
124
|
-
default: boolean;
|
|
125
|
-
};
|
|
126
|
-
preserveScroll: {
|
|
127
|
-
type: BooleanConstructor;
|
|
128
|
-
default: undefined;
|
|
129
|
-
};
|
|
130
|
-
preserveState: {
|
|
131
|
-
type: BooleanConstructor;
|
|
132
|
-
default: undefined;
|
|
133
|
-
};
|
|
134
|
-
}, (props: _vue_shared.LooseRequired<{
|
|
135
|
-
readonly data: RequestData;
|
|
136
|
-
readonly method: "delete" | Method | "get" | "post" | "put" | "patch";
|
|
137
|
-
readonly options: Omit<HybridRequestOptions, "data" | "url" | "method">;
|
|
138
|
-
readonly as: string | Record<string, any>;
|
|
139
|
-
readonly external: boolean;
|
|
140
|
-
readonly disabled: boolean;
|
|
141
|
-
readonly preload: boolean | "hover" | "mount";
|
|
142
|
-
readonly text?: string | undefined;
|
|
143
|
-
readonly preserveScroll?: boolean | undefined;
|
|
144
|
-
readonly preserveState?: boolean | undefined;
|
|
145
|
-
readonly href?: string | undefined;
|
|
146
|
-
} & {}>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
147
|
-
[key: string]: any;
|
|
148
|
-
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
149
|
-
href: {
|
|
150
|
-
type: StringConstructor;
|
|
151
|
-
required: false;
|
|
152
|
-
default: undefined;
|
|
153
|
-
};
|
|
154
|
-
as: {
|
|
155
|
-
type: (ObjectConstructor | StringConstructor)[];
|
|
156
|
-
default: string;
|
|
157
|
-
};
|
|
158
|
-
method: {
|
|
159
|
-
type: PropType<"delete" | Method | "get" | "post" | "put" | "patch">;
|
|
160
|
-
default: string;
|
|
161
|
-
};
|
|
162
|
-
data: {
|
|
163
|
-
type: PropType<RequestData>;
|
|
164
|
-
default: () => {};
|
|
165
|
-
};
|
|
166
|
-
external: {
|
|
167
|
-
type: BooleanConstructor;
|
|
168
|
-
default: boolean;
|
|
169
|
-
};
|
|
170
|
-
disabled: {
|
|
171
|
-
type: BooleanConstructor;
|
|
172
|
-
default: boolean;
|
|
173
|
-
};
|
|
174
|
-
options: {
|
|
175
|
-
type: PropType<Omit<HybridRequestOptions, "data" | "url" | "method">>;
|
|
176
|
-
default: () => {};
|
|
177
|
-
};
|
|
178
|
-
text: {
|
|
179
|
-
type: StringConstructor;
|
|
180
|
-
required: false;
|
|
181
|
-
default: undefined;
|
|
182
|
-
};
|
|
183
|
-
preload: {
|
|
184
|
-
type: PropType<boolean | "hover" | "mount">;
|
|
185
|
-
default: boolean;
|
|
186
|
-
};
|
|
187
|
-
preserveScroll: {
|
|
188
|
-
type: BooleanConstructor;
|
|
189
|
-
default: undefined;
|
|
190
|
-
};
|
|
191
|
-
preserveState: {
|
|
192
|
-
type: BooleanConstructor;
|
|
193
|
-
default: undefined;
|
|
194
|
-
};
|
|
195
|
-
}>>, {
|
|
196
|
-
data: RequestData;
|
|
197
|
-
text: string;
|
|
198
|
-
preserveScroll: boolean;
|
|
199
|
-
preserveState: boolean;
|
|
200
|
-
method: "delete" | Method | "get" | "post" | "put" | "patch";
|
|
201
|
-
href: string;
|
|
202
|
-
options: Omit<HybridRequestOptions, "data" | "url" | "method">;
|
|
203
|
-
as: string | Record<string, any>;
|
|
204
|
-
external: boolean;
|
|
205
|
-
disabled: boolean;
|
|
206
|
-
preload: boolean | "hover" | "mount";
|
|
207
|
-
}, {}>;
|
|
208
|
-
|
|
209
39
|
/** Accesses all current properties. */
|
|
210
40
|
declare function useProperties<T extends object, Global extends GlobalHybridlyProperties = GlobalHybridlyProperties>(): vue.DeepReadonly<vue.UnwrapNestedRefs<T & Global>>;
|
|
211
41
|
/** Accesses a property with a dot notation. */
|
|
@@ -219,6 +49,7 @@ declare function setProperty<Override = never, T extends SearchableObject = Glob
|
|
|
219
49
|
type Errors<T extends SearchableObject> = {
|
|
220
50
|
[K in keyof T]?: T[K] extends Record<string, any> ? Errors<T[K]> : string;
|
|
221
51
|
};
|
|
52
|
+
type DefaultFormOptions = Pick<FormOptions<object>, 'timeout' | 'reset' | 'updateInitials' | 'progress' | 'preserveScroll' | 'preserveState' | 'preserveUrl' | 'headers' | 'errorBag' | 'spoof' | 'transformUrl' | 'updateHistoryState' | 'useFormData'>;
|
|
222
53
|
interface FormOptions<T extends SearchableObject> extends Omit<HybridRequestOptions, 'data' | 'url'> {
|
|
223
54
|
fields: T;
|
|
224
55
|
url?: UrlResolvable | (() => UrlResolvable);
|
|
@@ -254,25 +85,26 @@ declare function useForm<T extends SearchableObject, P extends Path<T> & string
|
|
|
254
85
|
clearError: (key: P) => void;
|
|
255
86
|
setInitial: (newInitial: Partial<T>) => void;
|
|
256
87
|
hasDirty: (...keys: P[]) => boolean;
|
|
257
|
-
submitWith: (optionsOverrides?: Omit<FormOptions<T>,
|
|
258
|
-
submitWithOptions: (optionsOverrides?: Omit<FormOptions<T>,
|
|
88
|
+
submitWith: (optionsOverrides?: Omit<FormOptions<T>, "fields" | "key">) => Promise<_hybridly_core.NavigationResponse>;
|
|
89
|
+
submitWithOptions: (optionsOverrides?: Omit<FormOptions<T>, "fields" | "key">) => Promise<_hybridly_core.NavigationResponse>;
|
|
259
90
|
submit: () => Promise<_hybridly_core.NavigationResponse>;
|
|
260
91
|
hasErrors: boolean;
|
|
261
92
|
initial: vue.UnwrapRef<DeepReadonly<T>>;
|
|
262
|
-
loaded: any
|
|
93
|
+
loaded: DeepReadonly<any>;
|
|
263
94
|
progress: {
|
|
264
95
|
readonly event: {
|
|
265
96
|
readonly loaded: number;
|
|
266
|
-
readonly total?: number
|
|
267
|
-
readonly progress?: number
|
|
97
|
+
readonly total?: number;
|
|
98
|
+
readonly progress?: number;
|
|
268
99
|
readonly bytes: number;
|
|
269
|
-
readonly rate?: number
|
|
270
|
-
readonly estimated?: number
|
|
271
|
-
readonly upload?: boolean
|
|
272
|
-
readonly download?: boolean
|
|
100
|
+
readonly rate?: number;
|
|
101
|
+
readonly estimated?: number;
|
|
102
|
+
readonly upload?: boolean;
|
|
103
|
+
readonly download?: boolean;
|
|
273
104
|
readonly event?: any;
|
|
105
|
+
readonly lengthComputable: boolean;
|
|
274
106
|
};
|
|
275
|
-
readonly percentage: number
|
|
107
|
+
readonly percentage: Readonly<number>;
|
|
276
108
|
} | undefined;
|
|
277
109
|
isDirty: boolean;
|
|
278
110
|
errors: DeepReadonly<vue.UnwrapRef<Errors<T>>>;
|
|
@@ -408,10 +240,10 @@ interface ToggleSortOptions extends AvailableHybridRequestOptions {
|
|
|
408
240
|
}
|
|
409
241
|
interface BindFilterOptions<T> extends AvailableHybridRequestOptions {
|
|
410
242
|
transformValue?: (value?: T) => any;
|
|
411
|
-
/** If specified, this callback will
|
|
243
|
+
/** If specified, this callback will be responsible for watching the specified ref that contains the filter value. */
|
|
412
244
|
watch?: (ref: Ref<T>, cb: any) => void;
|
|
413
245
|
/**
|
|
414
|
-
* The debounce time in milliseconds for
|
|
246
|
+
* The debounce time in milliseconds for applying this filter.
|
|
415
247
|
* @default 250ms
|
|
416
248
|
*/
|
|
417
249
|
debounce?: number;
|
|
@@ -552,7 +384,7 @@ declare function useRefinements<Properties extends object, RefinementsKey extend
|
|
|
552
384
|
/**
|
|
553
385
|
* The type of this filter.
|
|
554
386
|
*/
|
|
555
|
-
type: string;
|
|
387
|
+
type: "trashed" | "callback" | "exact" | "similar:loose" | "similar:begins_with_strict" | "similar:ends_with_strict" | string;
|
|
556
388
|
/**
|
|
557
389
|
* The label of the filter.
|
|
558
390
|
*/
|
|
@@ -601,11 +433,11 @@ declare function useRefinements<Properties extends object, RefinementsKey extend
|
|
|
601
433
|
/**
|
|
602
434
|
* The current direction of the sort.
|
|
603
435
|
*/
|
|
604
|
-
direction?: SortDirection
|
|
436
|
+
direction?: SortDirection;
|
|
605
437
|
/**
|
|
606
438
|
* The default direction of the sort.
|
|
607
439
|
*/
|
|
608
|
-
default?: SortDirection
|
|
440
|
+
default?: SortDirection;
|
|
609
441
|
/**
|
|
610
442
|
* The label of the sort.
|
|
611
443
|
*/
|
|
@@ -691,7 +523,7 @@ declare function useRefinements<Properties extends object, RefinementsKey extend
|
|
|
691
523
|
|
|
692
524
|
declare function useRoute(): {
|
|
693
525
|
current: Readonly<vue.Ref<string | undefined>>;
|
|
694
|
-
matches: <T extends
|
|
526
|
+
matches: <T extends RouteName>(name: MaybeRefOrGetter<T>, parameters?: RouteParameters<T>) => boolean;
|
|
695
527
|
};
|
|
696
528
|
|
|
697
529
|
interface BulkSelection<T = any> {
|
|
@@ -721,7 +553,7 @@ declare global {
|
|
|
721
553
|
columns: Column<T>[];
|
|
722
554
|
inlineActions: InlineAction[];
|
|
723
555
|
bulkActions: BulkAction[];
|
|
724
|
-
records: T
|
|
556
|
+
records: Array<T>;
|
|
725
557
|
paginator: Exclude<PaginatorKind extends 'cursor' ? CursorPaginator<T> : (PaginatorKind extends 'simple' ? SimplePaginator<T> : Paginator<T>), 'data'>;
|
|
726
558
|
refinements: Refinements;
|
|
727
559
|
endpoint: string;
|
|
@@ -734,8 +566,8 @@ interface Column<T extends object = never> {
|
|
|
734
566
|
label: string;
|
|
735
567
|
/** The type of this column. */
|
|
736
568
|
type: string;
|
|
737
|
-
/**
|
|
738
|
-
metadata: any
|
|
569
|
+
/** Metadata of this column. */
|
|
570
|
+
metadata: Record<string, any>;
|
|
739
571
|
}
|
|
740
572
|
interface Action {
|
|
741
573
|
/** The name of this action. */
|
|
@@ -758,16 +590,22 @@ interface BulkActionOptions {
|
|
|
758
590
|
interface InlineAction extends Action {
|
|
759
591
|
}
|
|
760
592
|
type RecordIdentifier = string | number;
|
|
593
|
+
type AsRecordType<T extends Record<string, any>> = {
|
|
594
|
+
[K in keyof T]: {
|
|
595
|
+
extra: Record<string, any>;
|
|
596
|
+
value: T[K];
|
|
597
|
+
};
|
|
598
|
+
};
|
|
761
599
|
/**
|
|
762
600
|
* Provides utilities for working with tables.
|
|
763
601
|
*/
|
|
764
|
-
declare function useTable<RecordType extends (Props[PropsKey] extends Table<infer
|
|
602
|
+
declare function useTable<RecordType extends (Props[PropsKey] extends Table<infer T, any> ? AsRecordType<T> : never), PaginatorKindName extends (Props[PropsKey] extends Table<RecordType, infer PaginatorKind> ? PaginatorKind : never), TableType extends (Props[PropsKey] extends Table<RecordType, PaginatorKindName> ? Table<RecordType, PaginatorKindName> : never), Props extends Record<string, unknown>, PropsKey extends keyof Props>(props: Props, key: PropsKey, defaultOptions?: AvailableHybridRequestOptions): {
|
|
765
603
|
bindFilter: <T = any>(name: string, options?: BindFilterOptions<T>) => vue.Ref<T>;
|
|
766
604
|
filters: {
|
|
767
|
-
apply: (value: any, options?: AvailableHybridRequestOptions
|
|
768
|
-
clear: (options?: AvailableHybridRequestOptions
|
|
605
|
+
apply: (value: any, options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse | undefined>;
|
|
606
|
+
clear: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
|
|
769
607
|
is_active: boolean;
|
|
770
|
-
type: string;
|
|
608
|
+
type: "trashed" | "callback" | "exact" | "similar:loose" | "similar:begins_with_strict" | "similar:ends_with_strict" | string;
|
|
771
609
|
label: string;
|
|
772
610
|
metadata: Record<string, any>;
|
|
773
611
|
name: string;
|
|
@@ -776,12 +614,12 @@ declare function useTable<RecordType extends (Props[PropsKey] extends Table<infe
|
|
|
776
614
|
default: any;
|
|
777
615
|
}[];
|
|
778
616
|
sorts: {
|
|
779
|
-
toggle: (options?: ToggleSortOptions
|
|
780
|
-
isSorting: (direction?: SortDirection
|
|
781
|
-
clear: (options?: AvailableHybridRequestOptions
|
|
617
|
+
toggle: (options?: ToggleSortOptions) => Promise<_hybridly_core.NavigationResponse | undefined>;
|
|
618
|
+
isSorting: (direction?: SortDirection) => boolean;
|
|
619
|
+
clear: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
|
|
782
620
|
is_active: boolean;
|
|
783
|
-
direction?: SortDirection
|
|
784
|
-
default?: SortDirection
|
|
621
|
+
direction?: SortDirection;
|
|
622
|
+
default?: SortDirection;
|
|
785
623
|
label: string;
|
|
786
624
|
metadata: Record<string, any>;
|
|
787
625
|
name: string;
|
|
@@ -794,11 +632,11 @@ declare function useTable<RecordType extends (Props[PropsKey] extends Table<infe
|
|
|
794
632
|
getFilter: (name: string) => FilterRefinement | undefined;
|
|
795
633
|
getSort: (name: string) => SortRefinement | undefined;
|
|
796
634
|
reset: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
|
|
797
|
-
toggleSort: (name: string, options?: ToggleSortOptions
|
|
798
|
-
isSorting: (name?: string
|
|
799
|
-
isFiltering: (name?: string
|
|
800
|
-
currentSorts: () => SortRefinement
|
|
801
|
-
currentFilters: () => FilterRefinement
|
|
635
|
+
toggleSort: (name: string, options?: ToggleSortOptions) => Promise<_hybridly_core.NavigationResponse | undefined>;
|
|
636
|
+
isSorting: (name?: string, direction?: SortDirection) => boolean;
|
|
637
|
+
isFiltering: (name?: string) => boolean;
|
|
638
|
+
currentSorts: () => Array<SortRefinement>;
|
|
639
|
+
currentFilters: () => Array<FilterRefinement>;
|
|
802
640
|
clearFilter: (filter: string, options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
|
|
803
641
|
clearSorts: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
|
|
804
642
|
clearFilters: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
|
|
@@ -849,46 +687,21 @@ declare function useTable<RecordType extends (Props[PropsKey] extends Table<infe
|
|
|
849
687
|
/** Clears the filter for this column. */
|
|
850
688
|
clearFilter: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
|
|
851
689
|
/** Checks whether the column is sortable. */
|
|
852
|
-
isSortable:
|
|
853
|
-
toggle: (options?: ToggleSortOptions | undefined) => Promise<_hybridly_core.NavigationResponse | undefined>;
|
|
854
|
-
isSorting: (direction?: SortDirection | undefined) => boolean;
|
|
855
|
-
clear: (options?: AvailableHybridRequestOptions | undefined) => Promise<_hybridly_core.NavigationResponse>;
|
|
856
|
-
is_active: boolean;
|
|
857
|
-
direction?: SortDirection | undefined;
|
|
858
|
-
default?: SortDirection | undefined;
|
|
859
|
-
label: string;
|
|
860
|
-
metadata: Record<string, any>;
|
|
861
|
-
name: string;
|
|
862
|
-
desc: string;
|
|
863
|
-
asc: string;
|
|
864
|
-
next: string;
|
|
865
|
-
hidden: boolean;
|
|
866
|
-
} | undefined;
|
|
690
|
+
isSortable: boolean;
|
|
867
691
|
/** Checks whether the column is filterable. */
|
|
868
|
-
isFilterable:
|
|
869
|
-
apply: (value: any, options?: AvailableHybridRequestOptions | undefined) => Promise<_hybridly_core.NavigationResponse | undefined>;
|
|
870
|
-
clear: (options?: AvailableHybridRequestOptions | undefined) => Promise<_hybridly_core.NavigationResponse>;
|
|
871
|
-
is_active: boolean;
|
|
872
|
-
type: string;
|
|
873
|
-
label: string;
|
|
874
|
-
metadata: Record<string, any>;
|
|
875
|
-
name: string;
|
|
876
|
-
value: any;
|
|
877
|
-
hidden: boolean;
|
|
878
|
-
default: any;
|
|
879
|
-
} | undefined;
|
|
692
|
+
isFilterable: boolean;
|
|
880
693
|
/** The name of this column. */
|
|
881
694
|
name: keyof RecordType;
|
|
882
695
|
/** The label of this column. */
|
|
883
696
|
label: string;
|
|
884
697
|
/** The type of this column. */
|
|
885
698
|
type: string;
|
|
886
|
-
/**
|
|
887
|
-
metadata: any
|
|
699
|
+
/** Metadata of this column. */
|
|
700
|
+
metadata: Record<string, any>;
|
|
888
701
|
}[];
|
|
889
702
|
records: {
|
|
890
703
|
/** The actual record. */
|
|
891
|
-
record:
|
|
704
|
+
record: any[];
|
|
892
705
|
/** The key of the record. Use this instead of `id`. */
|
|
893
706
|
key: RecordIdentifier;
|
|
894
707
|
/** Executes the given inline action. */
|
|
@@ -915,7 +728,9 @@ declare function useTable<RecordType extends (Props[PropsKey] extends Table<infe
|
|
|
915
728
|
/** Checks whether this record is selected. */
|
|
916
729
|
selected: boolean;
|
|
917
730
|
/** Gets the value of the record for the specified column. */
|
|
918
|
-
value: (column: string | Column<RecordType>) =>
|
|
731
|
+
value: (column: string | Column<RecordType>) => any;
|
|
732
|
+
/** Gets the extra object of the record for the specified column. */
|
|
733
|
+
extra: (column: string | Column<RecordType>, path: string) => any;
|
|
919
734
|
}[];
|
|
920
735
|
paginator: Exclude<PaginatorKindName extends "cursor" ? CursorPaginator<RecordType> : PaginatorKindName extends "simple" ? SimplePaginator<RecordType> : Paginator<RecordType>, "data">;
|
|
921
736
|
};
|
|
@@ -927,4 +742,180 @@ declare function useTable<RecordType extends (Props[PropsKey] extends Table<infe
|
|
|
927
742
|
*/
|
|
928
743
|
declare function useQueryParameters<T extends Record<string, any> = Record<string, any>>(): T;
|
|
929
744
|
|
|
930
|
-
|
|
745
|
+
/**
|
|
746
|
+
* Initializes Hybridly's router and context.
|
|
747
|
+
*/
|
|
748
|
+
declare function initializeHybridly(options?: InitializeOptions): Promise<any>;
|
|
749
|
+
interface InitializeOptions {
|
|
750
|
+
/** Callback that gets executed before Vue is mounted. */
|
|
751
|
+
enhanceVue?: (
|
|
752
|
+
/** Vue application to enhance. */
|
|
753
|
+
vue: App<Element>,
|
|
754
|
+
/** Initial payload. */
|
|
755
|
+
payload: Record<string, any>) => any;
|
|
756
|
+
/** ID of the app element. */
|
|
757
|
+
id?: string;
|
|
758
|
+
/** Clean up the host element's payload dataset after loading. */
|
|
759
|
+
cleanup?: boolean;
|
|
760
|
+
/** Whether to set up the devtools plugin. */
|
|
761
|
+
devtools?: boolean;
|
|
762
|
+
/** Whether to display response error modals. */
|
|
763
|
+
responseErrorModals?: boolean;
|
|
764
|
+
/** Custom history state serialization functions. */
|
|
765
|
+
serializer?: RouterContextOptions['serializer'];
|
|
766
|
+
/** Progressbar options. */
|
|
767
|
+
progress?: false | Partial<ProgressOptions>;
|
|
768
|
+
/** Sets up the hybridly router. */
|
|
769
|
+
setup?: (options: SetupArguments) => any;
|
|
770
|
+
/** List of Hybridly plugins. */
|
|
771
|
+
plugins?: Plugin[];
|
|
772
|
+
/** Custom Axios instance. */
|
|
773
|
+
axios?: Axios;
|
|
774
|
+
/**
|
|
775
|
+
* Enables the View Transition API, if supported.
|
|
776
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/ViewTransition
|
|
777
|
+
*/
|
|
778
|
+
viewTransition?: boolean;
|
|
779
|
+
/** Options that will apply to all forms by default. Specific forms' options will override them. */
|
|
780
|
+
defaultFormOptions?: DefaultFormOptions;
|
|
781
|
+
}
|
|
782
|
+
interface SetupArguments {
|
|
783
|
+
/** DOM element to mount Vue on. */
|
|
784
|
+
element: Element;
|
|
785
|
+
/** Hybridly wrapper component. */
|
|
786
|
+
wrapper: any;
|
|
787
|
+
/** Hybridly wrapper component properties. */
|
|
788
|
+
props: {
|
|
789
|
+
context: RouterContext;
|
|
790
|
+
};
|
|
791
|
+
/** Vue plugin that registers the devtools. */
|
|
792
|
+
hybridly: Plugin$1;
|
|
793
|
+
/** Renders the wrapper. */
|
|
794
|
+
render: () => ReturnType<typeof h>;
|
|
795
|
+
/** Initial payload. */
|
|
796
|
+
payload: Record<string, any>;
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
declare const RouterLink: vue.DefineComponent<{
|
|
800
|
+
href: {
|
|
801
|
+
type: StringConstructor;
|
|
802
|
+
required: false;
|
|
803
|
+
default: undefined;
|
|
804
|
+
};
|
|
805
|
+
as: {
|
|
806
|
+
type: (ObjectConstructor | StringConstructor)[];
|
|
807
|
+
default: string;
|
|
808
|
+
};
|
|
809
|
+
method: {
|
|
810
|
+
type: PropType<Method | Lowercase<Method>>;
|
|
811
|
+
default: string;
|
|
812
|
+
};
|
|
813
|
+
data: {
|
|
814
|
+
type: PropType<RequestData>;
|
|
815
|
+
default: () => {};
|
|
816
|
+
};
|
|
817
|
+
external: {
|
|
818
|
+
type: BooleanConstructor;
|
|
819
|
+
default: boolean;
|
|
820
|
+
};
|
|
821
|
+
disabled: {
|
|
822
|
+
type: BooleanConstructor;
|
|
823
|
+
default: boolean;
|
|
824
|
+
};
|
|
825
|
+
options: {
|
|
826
|
+
type: PropType<Omit<HybridRequestOptions, "url" | "data" | "method">>;
|
|
827
|
+
default: () => {};
|
|
828
|
+
};
|
|
829
|
+
text: {
|
|
830
|
+
type: StringConstructor;
|
|
831
|
+
required: false;
|
|
832
|
+
default: undefined;
|
|
833
|
+
};
|
|
834
|
+
preload: {
|
|
835
|
+
type: PropType<boolean | "hover" | "mount">;
|
|
836
|
+
default: boolean;
|
|
837
|
+
};
|
|
838
|
+
preserveScroll: {
|
|
839
|
+
type: BooleanConstructor;
|
|
840
|
+
default: undefined;
|
|
841
|
+
};
|
|
842
|
+
preserveState: {
|
|
843
|
+
type: BooleanConstructor;
|
|
844
|
+
default: undefined;
|
|
845
|
+
};
|
|
846
|
+
}, (props: _vue_shared.LooseRequired<{
|
|
847
|
+
readonly data: RequestData;
|
|
848
|
+
readonly method: "delete" | Method | "get" | "post" | "put" | "patch";
|
|
849
|
+
readonly options: Omit<HybridRequestOptions, "data" | "url" | "method">;
|
|
850
|
+
readonly as: string | Record<string, any>;
|
|
851
|
+
readonly external: boolean;
|
|
852
|
+
readonly disabled: boolean;
|
|
853
|
+
readonly preload: boolean | "hover" | "mount";
|
|
854
|
+
readonly text?: string | undefined;
|
|
855
|
+
readonly preserveScroll?: boolean | undefined;
|
|
856
|
+
readonly preserveState?: boolean | undefined;
|
|
857
|
+
readonly href?: string | undefined;
|
|
858
|
+
} & {}>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
859
|
+
[key: string]: any;
|
|
860
|
+
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
861
|
+
href: {
|
|
862
|
+
type: StringConstructor;
|
|
863
|
+
required: false;
|
|
864
|
+
default: undefined;
|
|
865
|
+
};
|
|
866
|
+
as: {
|
|
867
|
+
type: (ObjectConstructor | StringConstructor)[];
|
|
868
|
+
default: string;
|
|
869
|
+
};
|
|
870
|
+
method: {
|
|
871
|
+
type: PropType<Method | Lowercase<Method>>;
|
|
872
|
+
default: string;
|
|
873
|
+
};
|
|
874
|
+
data: {
|
|
875
|
+
type: PropType<RequestData>;
|
|
876
|
+
default: () => {};
|
|
877
|
+
};
|
|
878
|
+
external: {
|
|
879
|
+
type: BooleanConstructor;
|
|
880
|
+
default: boolean;
|
|
881
|
+
};
|
|
882
|
+
disabled: {
|
|
883
|
+
type: BooleanConstructor;
|
|
884
|
+
default: boolean;
|
|
885
|
+
};
|
|
886
|
+
options: {
|
|
887
|
+
type: PropType<Omit<HybridRequestOptions, "url" | "data" | "method">>;
|
|
888
|
+
default: () => {};
|
|
889
|
+
};
|
|
890
|
+
text: {
|
|
891
|
+
type: StringConstructor;
|
|
892
|
+
required: false;
|
|
893
|
+
default: undefined;
|
|
894
|
+
};
|
|
895
|
+
preload: {
|
|
896
|
+
type: PropType<boolean | "hover" | "mount">;
|
|
897
|
+
default: boolean;
|
|
898
|
+
};
|
|
899
|
+
preserveScroll: {
|
|
900
|
+
type: BooleanConstructor;
|
|
901
|
+
default: undefined;
|
|
902
|
+
};
|
|
903
|
+
preserveState: {
|
|
904
|
+
type: BooleanConstructor;
|
|
905
|
+
default: undefined;
|
|
906
|
+
};
|
|
907
|
+
}>>, {
|
|
908
|
+
data: RequestData;
|
|
909
|
+
text: string;
|
|
910
|
+
preserveScroll: boolean;
|
|
911
|
+
preserveState: boolean;
|
|
912
|
+
method: "delete" | Method | "get" | "post" | "put" | "patch";
|
|
913
|
+
href: string;
|
|
914
|
+
options: Omit<HybridRequestOptions, "data" | "url" | "method">;
|
|
915
|
+
as: string | Record<string, any>;
|
|
916
|
+
external: boolean;
|
|
917
|
+
disabled: boolean;
|
|
918
|
+
preload: boolean | "hover" | "mount";
|
|
919
|
+
}, {}>;
|
|
920
|
+
|
|
921
|
+
export { type Action, type AvailableHybridRequestOptions, type BindFilterOptions, type BulkAction, type BulkSelection, type Column, type DefaultFormOptions, type InitializeOptions, type InlineAction, type RecordIdentifier, RouterLink, type SortDirection, type ToggleSortOptions, initializeHybridly, registerHook, setProperty, useBackForward, useBulkSelect, useDialog, useForm, useHistoryState, useProperties, useProperty, useQueryParameters, useRefinements, useRoute, useTable };
|