@mcurros2/microm 1.1.1-0
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.css +4515 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +3543 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47964 -0
- package/dist/index.js.map +1 -0
- package/package.json +96 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,3543 @@
|
|
|
1
|
+
import { AlertProps, DefaultMantineColor, Variants, StepperProps, MantineTheme, TextareaProps, TextInputProps, MantineNumberSize, MantineColor, PasswordInputProps, NotificationProps, CheckboxProps, ProgressProps, ButtonProps, ActionIconProps, NumberInputProps, ImageProps, MultiSelectProps, SelectItem, BadgeVariant, MantineSize, CardProps, OverlayProps, TransitionProps, AccordionProps, PinInputProps, SwitchProps, Radio, SelectProps, GroupProps, AvatarProps, AutocompleteItem, AutocompleteProps, DefaultProps, BadgeProps } from "@mantine/core";
|
|
2
|
+
import React, { JSXElementConstructor, ReactElement, ReactNode, PropsWithChildren, ComponentType, useState, Dispatch, SetStateAction, KeyboardEvent, ComponentPropsWithoutRef, RefObject } from "react";
|
|
3
|
+
import { hasLength, isInRange, isNotEmpty, matches, UseFormReturnType } from "@mantine/form";
|
|
4
|
+
import { LooseKeys } from "@mantine/form/lib/types";
|
|
5
|
+
import { IconProps } from "@tabler/icons-react";
|
|
6
|
+
import { ModalSettings } from "@mantine/modals/lib/context";
|
|
7
|
+
import { PrismProps } from "@mantine/prism";
|
|
8
|
+
import { DateInputProps, TimeInputProps, CalendarProps } from "@mantine/dates";
|
|
9
|
+
import { DropzoneProps } from "@mantine/dropzone";
|
|
10
|
+
import { AccordionVariant } from "@mantine/core/lib/Accordion/Accordion.types";
|
|
11
|
+
import { SpotlightAction } from "@mantine/spotlight";
|
|
12
|
+
import { Loader, LoaderOptions } from "@googlemaps/js-api-loader";
|
|
13
|
+
import { Cluster, ClusterStats, Marker, MarkerClustererOptions } from "@googlemaps/markerclusterer";
|
|
14
|
+
export type Value = string | number | Date | boolean | string[] | null;
|
|
15
|
+
export type ValuesObject = Record<string, Value>;
|
|
16
|
+
export type ValuesRecord = Value[];
|
|
17
|
+
export type SQLType = 'char' | 'nchar' | 'varchar' | 'nvarchar' | 'text' | 'ntext' | 'tinyint' | 'smallint' | 'int' | 'bigint' | 'float' | 'decimal' | 'real' | 'bit' | 'money' | 'datetime2' | 'datetime' | 'smalldatetime' | 'date' | 'binary' | 'varbinary' | 'image' | 'time';
|
|
18
|
+
export interface DataResult {
|
|
19
|
+
Header: string[];
|
|
20
|
+
typeInfo: SQLType[];
|
|
21
|
+
records: ValuesRecord[];
|
|
22
|
+
}
|
|
23
|
+
export interface DBStatus {
|
|
24
|
+
Status: number;
|
|
25
|
+
Message: string;
|
|
26
|
+
}
|
|
27
|
+
export enum DBStatusCodes {
|
|
28
|
+
"OK" = 0,
|
|
29
|
+
"AUTONUM" = 15,
|
|
30
|
+
"RECORD_CHANGED" = 4,
|
|
31
|
+
"ERROR" = 11
|
|
32
|
+
}
|
|
33
|
+
export interface DBStatusResult {
|
|
34
|
+
Failed: boolean;
|
|
35
|
+
AutonumReturned: boolean;
|
|
36
|
+
Results: DBStatus[];
|
|
37
|
+
}
|
|
38
|
+
export function isDBStatusResult(data: any): data is DBStatusResult;
|
|
39
|
+
export interface IDataStorage {
|
|
40
|
+
saveData(app_id: string, key: string, data: unknown): Promise<void>;
|
|
41
|
+
readData(app_id: string, key: string): Promise<unknown | null>;
|
|
42
|
+
deleteData(app_id: string, key: string): Promise<void>;
|
|
43
|
+
}
|
|
44
|
+
export class DataStorage implements IDataStorage {
|
|
45
|
+
#private;
|
|
46
|
+
constructor(storage_type?: 'sessionStorage' | 'localStorage', storage_name?: string);
|
|
47
|
+
saveData<T>(app_id: string, key: string, data: T): Promise<void>;
|
|
48
|
+
readData<T>(app_id: string, key: string): Promise<T | null>;
|
|
49
|
+
deleteData(app_id: string, key: string): Promise<void>;
|
|
50
|
+
}
|
|
51
|
+
export interface ImpDataResult {
|
|
52
|
+
ProcessedCount: number;
|
|
53
|
+
SuccessCount: number;
|
|
54
|
+
ErrorCount: number;
|
|
55
|
+
Errors: Record<number, string>;
|
|
56
|
+
}
|
|
57
|
+
export function JSONDateWithTimezoneReplacer(this: any, key: string, value: unknown): unknown;
|
|
58
|
+
export interface AlertErrorProps extends Omit<AlertProps, 'icon'> {
|
|
59
|
+
iconTooltip?: string;
|
|
60
|
+
}
|
|
61
|
+
export const AlertErrorDefaultProps: Partial<AlertErrorProps>;
|
|
62
|
+
export function AlertError(props: AlertErrorProps): import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
export const AlertInfoDefaultProps: Partial<AlertProps>;
|
|
64
|
+
export function AlertInfo(props: AlertProps): import("react/jsx-runtime").JSX.Element;
|
|
65
|
+
export const AlertSuccessDefaultProps: Partial<AlertProps>;
|
|
66
|
+
export function AlertSuccess(props: AlertProps): import("react/jsx-runtime").JSX.Element;
|
|
67
|
+
export interface ColorConfigurationValue {
|
|
68
|
+
colorKey: DefaultMantineColor;
|
|
69
|
+
colorShade: any;
|
|
70
|
+
}
|
|
71
|
+
export interface ColorConfigurationProps {
|
|
72
|
+
onChange(color: ColorConfigurationValue): void;
|
|
73
|
+
value: ColorConfigurationValue;
|
|
74
|
+
}
|
|
75
|
+
export function ColorConfiguration({ onChange, value }: ColorConfigurationProps): import("react/jsx-runtime").JSX.Element;
|
|
76
|
+
export interface LoginOptions {
|
|
77
|
+
client: MicroMClient;
|
|
78
|
+
onStatusCompleted: StatusCompletedHandler<MicroMToken>;
|
|
79
|
+
userLabel?: string;
|
|
80
|
+
userPlaceholder?: string;
|
|
81
|
+
passwordLabel?: string;
|
|
82
|
+
passwordPlaceholder?: string;
|
|
83
|
+
rememberLabel?: string;
|
|
84
|
+
forgotLabel?: string;
|
|
85
|
+
signInButtonLabel?: string;
|
|
86
|
+
loginErrorMessage?: string;
|
|
87
|
+
confirmRecoveryEmailTitle?: string;
|
|
88
|
+
}
|
|
89
|
+
export const LoginDefaultProps: Partial<LoginOptions>;
|
|
90
|
+
export interface LoginValues {
|
|
91
|
+
user: string;
|
|
92
|
+
password: string;
|
|
93
|
+
server: string;
|
|
94
|
+
rememberme: boolean;
|
|
95
|
+
}
|
|
96
|
+
export function Login(props: LoginOptions): import("react/jsx-runtime").JSX.Element;
|
|
97
|
+
export interface LoginModalProps {
|
|
98
|
+
client: MicroMClient;
|
|
99
|
+
title?: string;
|
|
100
|
+
onClose?: () => void;
|
|
101
|
+
onLoggedIn: (claims?: Partial<MicroMClientClaimTypes>) => void;
|
|
102
|
+
checkOnInit?: boolean;
|
|
103
|
+
}
|
|
104
|
+
export const LoginModalDefaultProps: Partial<LoginModalProps>;
|
|
105
|
+
export function LoginModal(props: LoginModalProps): import("react/jsx-runtime").JSX.Element;
|
|
106
|
+
/** Flags for determining the role of the column */
|
|
107
|
+
export enum EntityColumnFlags {
|
|
108
|
+
/** This flag indicates that this column is NOT sent as parameter to any API endpoint */
|
|
109
|
+
None = 0,
|
|
110
|
+
/**Flag: get. This column will be sent as parameter for the GET API endpoint */
|
|
111
|
+
get = 1,
|
|
112
|
+
/**Flag: add. This column will be sent as parameter for the ADD API endpoint */
|
|
113
|
+
add = 2,
|
|
114
|
+
/**Flag: edit. This column will be sent as parameter for the EDIT API endpoint */
|
|
115
|
+
edit = 4,
|
|
116
|
+
/**Flag: delete. This column will be sent as parameter for the DELETE API endpoint */
|
|
117
|
+
delete = 8,
|
|
118
|
+
/**Flag: pk. This column is part of the PRIMARY KEY and will be sent as parameter for any API endpoint that requires a key */
|
|
119
|
+
pk = 16,
|
|
120
|
+
/**Flag: fk. This column is part of a FOREIGN KEY and will be sent as parameter for any API endpoint that requires a PARENT KEYS */
|
|
121
|
+
fk = 32,
|
|
122
|
+
/**Flag: autoNum. This column will have an incremental number assigned to it as result of calling the ADD API */
|
|
123
|
+
autoNum = 64,
|
|
124
|
+
/**Flag: nullable. This column accpets NULL values at the SQL table level */
|
|
125
|
+
nullable = 128,
|
|
126
|
+
/**Flag: nullable. This column is not part of the physical entity, it may be used as a calculated value or embedded value from other entity */
|
|
127
|
+
fake = 256
|
|
128
|
+
}
|
|
129
|
+
export interface EntityColumnOptions<T extends Value> {
|
|
130
|
+
name: string;
|
|
131
|
+
type: SQLType;
|
|
132
|
+
length?: number;
|
|
133
|
+
scale?: number;
|
|
134
|
+
value?: T;
|
|
135
|
+
defaultValue?: T;
|
|
136
|
+
flags: EntityColumnFlags;
|
|
137
|
+
prompt?: string;
|
|
138
|
+
placeholder?: string;
|
|
139
|
+
description?: string;
|
|
140
|
+
isArray?: boolean;
|
|
141
|
+
excludeInAutoForm?: boolean;
|
|
142
|
+
valueDescription?: string;
|
|
143
|
+
}
|
|
144
|
+
/** CommonFlags are pre assembled EntityColumnFlags to ease declaring columns */
|
|
145
|
+
export const CommonFlags: {
|
|
146
|
+
/** PK = EntityColumnFlags.add | EntityColumnFlags.edit | EntityColumnFlags.delete | EntityColumnFlags.pk*/
|
|
147
|
+
PK: EntityColumnFlags;
|
|
148
|
+
/**PKAutonum = EntityColumnFlags.add | EntityColumnFlags.edit | EntityColumnFlags.delete | EntityColumnFlags.pk | EntityColumnFlags.autoNum*/
|
|
149
|
+
PKAutonum: EntityColumnFlags;
|
|
150
|
+
/**FK = EntityColumnFlags.add | EntityColumnFlags.edit | EntityColumnFlags.fk*/
|
|
151
|
+
FK: EntityColumnFlags;
|
|
152
|
+
/**Edit = EntityColumnFlags.add | EntityColumnFlags.edit*/
|
|
153
|
+
Edit: EntityColumnFlags;
|
|
154
|
+
};
|
|
155
|
+
export interface ColumnsFilter {
|
|
156
|
+
flags?: EntityColumnFlags;
|
|
157
|
+
ignoreDefaults?: boolean;
|
|
158
|
+
matchAllFlags?: boolean;
|
|
159
|
+
ignoreSystemColumns?: boolean;
|
|
160
|
+
}
|
|
161
|
+
export function checkAdmittedValue(col: EntityColumn<Value>, value: Value, throwException?: boolean): boolean;
|
|
162
|
+
export class EntityColumn<T extends Value> {
|
|
163
|
+
name: string;
|
|
164
|
+
type: SQLType;
|
|
165
|
+
length: number;
|
|
166
|
+
scale: number;
|
|
167
|
+
flags: EntityColumnFlags;
|
|
168
|
+
prompt: string;
|
|
169
|
+
placeholder: string;
|
|
170
|
+
description: string;
|
|
171
|
+
isArray: boolean;
|
|
172
|
+
excludeInAutoForm: boolean;
|
|
173
|
+
constructor({ name, type, length, scale, value, defaultValue, flags, prompt, placeholder, description, isArray, excludeInAutoForm, valueDescription }: EntityColumnOptions<T>);
|
|
174
|
+
get value(): T;
|
|
175
|
+
set value(newValue: T);
|
|
176
|
+
get defaultValue(): T;
|
|
177
|
+
set defaultValue(newValue: T);
|
|
178
|
+
get valueDescription(): string | undefined;
|
|
179
|
+
set valueDescription(newValue: string | undefined);
|
|
180
|
+
hasFlag(flagOption: EntityColumnFlags): boolean;
|
|
181
|
+
hasAnyFlag(combinedFlags: EntityColumnFlags): boolean;
|
|
182
|
+
static clone(source: EntityColumn<Value>): EntityColumn<string | number | boolean | Date | string[] | null>;
|
|
183
|
+
}
|
|
184
|
+
export type ColumnsObject = Record<string, EntityColumn<Value>>;
|
|
185
|
+
export const SYSTEM_COLUMNS_NAMES: string[];
|
|
186
|
+
export interface IDefaultColumns extends ColumnsObject {
|
|
187
|
+
dt_inserttime: EntityColumn<Date>;
|
|
188
|
+
dt_lu: EntityColumn<Date>;
|
|
189
|
+
vc_webinsuser: EntityColumn<string>;
|
|
190
|
+
vc_webluuser: EntityColumn<string>;
|
|
191
|
+
vc_insuser: EntityColumn<string>;
|
|
192
|
+
vc_luuser: EntityColumn<string>;
|
|
193
|
+
}
|
|
194
|
+
export const DefaultColumnsNames: string[];
|
|
195
|
+
export const DefaultColumns: () => IDefaultColumns;
|
|
196
|
+
export function hasValue(value: Value): boolean;
|
|
197
|
+
export function convertValueFromString(col: EntityColumn<Value>, value: string): Value;
|
|
198
|
+
export function isIn<T>(value: T, ...params: T[]): boolean;
|
|
199
|
+
export function isPromise<T>(obj: unknown): obj is Promise<T>;
|
|
200
|
+
export function createKeysSet<T>(): Set<keyof T>;
|
|
201
|
+
export function createKeysArray<T>(): Array<keyof T>;
|
|
202
|
+
export function areArraysContentsEqual(a: string[] | undefined, b: string[] | undefined): boolean;
|
|
203
|
+
export function arrayToObject<T, TValue>(values: T[], onGetKey: (item: T) => string, onGetValue?: (item: T) => TValue): Record<string, TValue>;
|
|
204
|
+
export function cloneColumns(source_columns: Record<string, EntityColumn<Value>>): Record<string, EntityColumn<Value>>;
|
|
205
|
+
export function areValuesEqual(values1: ValuesObject, values2: ValuesObject): boolean;
|
|
206
|
+
export function areValuesObjectsEqual(objA: ValuesObject | undefined, objB: ValuesObject | undefined): boolean;
|
|
207
|
+
/**
|
|
208
|
+
* Get a filtered columns array (without duplicates)
|
|
209
|
+
*/
|
|
210
|
+
export function getColumns(columns: ColumnsObject, filter: ColumnsFilter | null): EntityColumn<Value>[];
|
|
211
|
+
export function filterColumns(columns: EntityColumn<Value>[], filter: ColumnsFilter | null): EntityColumn<Value>[];
|
|
212
|
+
/**
|
|
213
|
+
* Create a ValuesDictionary object containing the matched columns names and values.
|
|
214
|
+
*/
|
|
215
|
+
export function getValuesObject(columns: ColumnsObject, filters: ColumnsFilter | null): Record<string, Value>;
|
|
216
|
+
/**
|
|
217
|
+
* Create an array of values containing the matched columns values only.
|
|
218
|
+
*/
|
|
219
|
+
export function getValuesArray(columns: ColumnsObject, filters: ColumnsFilter | null): Value[];
|
|
220
|
+
/**
|
|
221
|
+
* Filter a columns object
|
|
222
|
+
*/
|
|
223
|
+
export function getColumnsObject(columns: ColumnsObject, filters: ColumnsFilter | null): Record<string, EntityColumn<Value>>;
|
|
224
|
+
/**
|
|
225
|
+
* Convert a columns array to columnsObject
|
|
226
|
+
*/
|
|
227
|
+
export function toColumnsObject(columns: EntityColumn<Value>[]): Record<string, EntityColumn<Value>>;
|
|
228
|
+
/**
|
|
229
|
+
* Create an array of strings containing the matched columns names only.
|
|
230
|
+
*/
|
|
231
|
+
export function getColumnsNamesArray(columns: ColumnsObject, filters: ColumnsFilter | null): string[];
|
|
232
|
+
/**
|
|
233
|
+
* Create a dictionary-like object containing the column names and values.
|
|
234
|
+
*/
|
|
235
|
+
export function getValues(columns: ColumnsObject, filter: ColumnsFilter | null): Record<string, Value>;
|
|
236
|
+
export function setSourceValue(columnName: string, sourceValue: Value | EntityColumn<Value>, columns: Partial<Record<string, EntityColumn<Value>>>, ignoreInexistentColumns: boolean, ignoreEmptySourceValues: boolean, convertStringArray: boolean): void;
|
|
237
|
+
/**
|
|
238
|
+
* Sets matched columns values from any supported source type.
|
|
239
|
+
* By default, all columns are matched and throws error if column is not found.
|
|
240
|
+
*/
|
|
241
|
+
export function setValues(columns: ColumnsObject, sourceValues?: ValuesObject | ColumnsObject | EntityColumn<Value>[], filters?: ColumnsFilter | null, ignoreInexistentColumns?: boolean, ignoreEmptySourceValues?: boolean, convertStringArray?: boolean): void;
|
|
242
|
+
/**
|
|
243
|
+
* Clears the matched columns values.
|
|
244
|
+
*/
|
|
245
|
+
export function clearValues(columns: ColumnsObject, useColumnDefaultValue?: boolean, filters?: ColumnsFilter | null): void;
|
|
246
|
+
/**
|
|
247
|
+
* Sets the matched columns values using the entity parent keys as source.
|
|
248
|
+
* By default, only columns with PKFlag or FKFlag set are affected and if the parent key value is empty, then the column is not affected.
|
|
249
|
+
*/
|
|
250
|
+
export function fillParentKeys(columns: ColumnsObject, parentKeys: ColumnsObject, ignoreEmptyParentKeys?: boolean, filters?: ColumnsFilter | null): void;
|
|
251
|
+
export function namesOf<T>(): { [P in keyof T]: P; };
|
|
252
|
+
export function copyValuesObject(obj: ValuesObject): ValuesObject;
|
|
253
|
+
export type ValidationRule = (value: unknown, values?: Record<string, unknown>) => string | number | true | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | null;
|
|
254
|
+
export type ValidatorFunction = (...args: any[]) => ValidationRule;
|
|
255
|
+
export const isURL: ValidatorFunction;
|
|
256
|
+
export const combineValidators: (Container?: React.ComponentType<{
|
|
257
|
+
children: ReactNode;
|
|
258
|
+
}>, ...validators: ValidationRule[]) => ValidationRule;
|
|
259
|
+
export const isValidCUIT: ValidatorFunction;
|
|
260
|
+
export const isValidEmail: ValidatorFunction;
|
|
261
|
+
export const isPhone: ValidatorFunction;
|
|
262
|
+
export const CustomValidator: ValidatorFunction;
|
|
263
|
+
export const CommonValidators: {
|
|
264
|
+
url: ValidatorFunction;
|
|
265
|
+
phone: ValidatorFunction;
|
|
266
|
+
cuit: ValidatorFunction;
|
|
267
|
+
email: ValidatorFunction;
|
|
268
|
+
length: typeof hasLength;
|
|
269
|
+
required: typeof isNotEmpty;
|
|
270
|
+
regex: typeof matches;
|
|
271
|
+
range: typeof isInRange;
|
|
272
|
+
field: ValidatorFunction;
|
|
273
|
+
custom: ValidatorFunction;
|
|
274
|
+
};
|
|
275
|
+
export type CommonValidatorsType = Record<keyof typeof CommonValidators, ValidatorFunction>;
|
|
276
|
+
export type ValidatorConfigurationParms = {
|
|
277
|
+
message?: ReactNode;
|
|
278
|
+
data?: any;
|
|
279
|
+
};
|
|
280
|
+
export type ValidatorConfiguration = Partial<Record<keyof typeof CommonValidators, ValidatorConfigurationParms>>;
|
|
281
|
+
export function getMantineInitialDirty(columns: ColumnsObject, exclude_system_columns: boolean): Record<string, boolean>;
|
|
282
|
+
export function getMantineValuesObject(formValues: ValuesObject, columns: ColumnsObject, exclude_system_columns: boolean): ValuesObject;
|
|
283
|
+
export function getMantineInitialValuesObject(columns: ColumnsObject, columnNames?: string[]): ValuesObject;
|
|
284
|
+
export interface UseEntityFormOptions extends FormOptions<Entity<EntityDefinition>> {
|
|
285
|
+
validateInputOnBlur?: boolean;
|
|
286
|
+
validateInputOnChange?: boolean | LooseKeys<ValuesObject>[];
|
|
287
|
+
getDataOnInit: boolean;
|
|
288
|
+
forceDirty?: boolean;
|
|
289
|
+
initialShowDescriptionInFields?: boolean;
|
|
290
|
+
saveAndGetOverride?: (get_data_if_saved: boolean, override_values?: ValuesObject) => Promise<OperationStatus<DBStatusResult>>;
|
|
291
|
+
noSaveOnSubmit?: boolean;
|
|
292
|
+
bindedColumnNames?: string[];
|
|
293
|
+
saveAndGetOnSubmit?: boolean;
|
|
294
|
+
cancelGetOnUnmount?: boolean;
|
|
295
|
+
cancelSaveOnUnmount?: boolean;
|
|
296
|
+
}
|
|
297
|
+
export type GetColumnInputPropsReturnType = {
|
|
298
|
+
value: any;
|
|
299
|
+
onChange: any;
|
|
300
|
+
checked?: any;
|
|
301
|
+
error?: any;
|
|
302
|
+
onFocus?: any;
|
|
303
|
+
onBlur?: any;
|
|
304
|
+
};
|
|
305
|
+
export interface UseEntityFormReturnType {
|
|
306
|
+
form: UseFormReturnType<ValuesObject>;
|
|
307
|
+
status: OperationStatus<DBStatusResult | ValuesObject>;
|
|
308
|
+
formMode: FormMode;
|
|
309
|
+
handleCancel: () => Promise<void> | void;
|
|
310
|
+
handleSubmit: (event?: React.FormEvent<HTMLFormElement>) => Promise<void>;
|
|
311
|
+
performGetData: () => Promise<boolean>;
|
|
312
|
+
saveAndGet: (get_data_if_saved: boolean, override_values?: ValuesObject) => Promise<OperationStatus<DBStatusResult>>;
|
|
313
|
+
configureField: (column: EntityColumn<Value>, validation?: ValidationRule) => void;
|
|
314
|
+
removeValidation: (column: EntityColumn<Value>) => void;
|
|
315
|
+
notifyValidationErrorState: useStateReturnType<boolean>;
|
|
316
|
+
showDescriptionState: useStateReturnType<boolean>;
|
|
317
|
+
entity: Entity<EntityDefinition>;
|
|
318
|
+
asyncErrors: Record<string, string>;
|
|
319
|
+
setAsyncError: (column_name: string, error: string) => void;
|
|
320
|
+
clearAsyncError: (column_name: string) => void;
|
|
321
|
+
clearAllAsyncErrors: () => void;
|
|
322
|
+
isFormValid: () => boolean;
|
|
323
|
+
isFormFieldValid: (column_name: string) => boolean;
|
|
324
|
+
}
|
|
325
|
+
export const UseEntityFormDefaultProps: Partial<UseEntityFormOptions>;
|
|
326
|
+
export function useEntityForm(props: UseEntityFormOptions): UseEntityFormReturnType;
|
|
327
|
+
export interface EntityFormProps extends PropsWithChildren {
|
|
328
|
+
showOK?: boolean;
|
|
329
|
+
showCancel?: boolean;
|
|
330
|
+
showFormValidationNotification?: boolean;
|
|
331
|
+
showLoadingProgress?: boolean;
|
|
332
|
+
showErrors?: boolean;
|
|
333
|
+
OKText?: ReactNode;
|
|
334
|
+
CancelText?: ReactNode;
|
|
335
|
+
CloseText?: ReactNode;
|
|
336
|
+
formAPI: UseEntityFormReturnType;
|
|
337
|
+
invalidFieldsLabel?: string;
|
|
338
|
+
showHelpButton?: boolean;
|
|
339
|
+
initialShowDescriptionInFields?: boolean;
|
|
340
|
+
preventEnterSubmission?: boolean;
|
|
341
|
+
buttons?: ReactNode;
|
|
342
|
+
saveAndGetOnSubmit?: boolean;
|
|
343
|
+
isDirtyColor?: DefaultMantineColor;
|
|
344
|
+
cancelButtonVariant?: Variants<'filled' | 'outline' | 'light' | 'white' | 'default' | 'subtle' | 'gradient'>;
|
|
345
|
+
okButtonVariant?: Variants<'filled' | 'outline' | 'light' | 'white' | 'default' | 'subtle' | 'gradient'>;
|
|
346
|
+
}
|
|
347
|
+
export const EntityFormDefaultProps: Partial<EntityFormProps>;
|
|
348
|
+
export function EntityForm(props: EntityFormProps): import("react/jsx-runtime").JSX.Element;
|
|
349
|
+
export type UseFieldConfigurationProps = {
|
|
350
|
+
entityForm: UseEntityFormReturnType;
|
|
351
|
+
column: EntityColumn<Value>;
|
|
352
|
+
required?: boolean;
|
|
353
|
+
requiredMessage?: ReactNode;
|
|
354
|
+
validate?: ValidatorConfiguration;
|
|
355
|
+
validationContainer?: React.ComponentType<{
|
|
356
|
+
children: ReactNode;
|
|
357
|
+
}>;
|
|
358
|
+
readOnly?: boolean;
|
|
359
|
+
};
|
|
360
|
+
export const UseFieldConfigurationDefaultProps: Partial<UseFieldConfigurationProps>;
|
|
361
|
+
export const useFieldConfiguration: (props: UseFieldConfigurationProps) => void;
|
|
362
|
+
export interface EntityFormPageProps extends Omit<FormOptions<Entity<any>>, 'entity'> {
|
|
363
|
+
entityConstructor: (client: MicroMClient) => Entity<EntityDefinition>;
|
|
364
|
+
client: MicroMClient;
|
|
365
|
+
defaultLoadingComponent?: ReactNode;
|
|
366
|
+
}
|
|
367
|
+
export const EntityFormPagePropsDefaultProps: Partial<EntityFormPageProps>;
|
|
368
|
+
export function EntityFormPage(props: EntityFormPageProps): import("react/jsx-runtime").JSX.Element;
|
|
369
|
+
export interface StepperFormStep {
|
|
370
|
+
name: string;
|
|
371
|
+
label: string;
|
|
372
|
+
description?: string;
|
|
373
|
+
validateFields?: string[];
|
|
374
|
+
content: ReactNode;
|
|
375
|
+
nextStepLabel?: string;
|
|
376
|
+
nextStepValidLabel?: string;
|
|
377
|
+
nextStepValidation?: () => boolean | Promise<boolean>;
|
|
378
|
+
icon?: ReactNode;
|
|
379
|
+
}
|
|
380
|
+
export interface StepperFormProps extends EntityFormProps {
|
|
381
|
+
steps: StepperFormStep[];
|
|
382
|
+
onNextStep?: (step: StepperFormStep) => boolean | Promise<boolean>;
|
|
383
|
+
onPrevStep?: (step: StepperFormStep) => boolean | Promise<boolean>;
|
|
384
|
+
initialStep: number;
|
|
385
|
+
nextStepLabel?: string;
|
|
386
|
+
prevStepLabel?: string;
|
|
387
|
+
allowStepClickForward?: boolean;
|
|
388
|
+
completedContent?: ReactNode;
|
|
389
|
+
hideNextAndBackWhenCompleted?: boolean;
|
|
390
|
+
onCompleted?: () => void;
|
|
391
|
+
stepperProps?: Omit<Partial<StepperProps>, 'children' | 'active'>;
|
|
392
|
+
}
|
|
393
|
+
export const StepperFormDefaultProps: Partial<StepperFormProps>;
|
|
394
|
+
export function StepperForm(props: StepperFormProps): import("react/jsx-runtime").JSX.Element;
|
|
395
|
+
export function getWindowLocationQueryStringAsObject(): Record<string, string>;
|
|
396
|
+
export function buildURLQueryString(params: Record<string, Value>): string;
|
|
397
|
+
export function getWindowLocationQueryStringAsValueObject(columns: ColumnsObject): ValuesObject;
|
|
398
|
+
export interface EntityFormModalProps {
|
|
399
|
+
client: MicroMClient;
|
|
400
|
+
entityConstructor: (client: MicroMClient) => Entity<EntityDefinition>;
|
|
401
|
+
initialFormMode?: FormMode;
|
|
402
|
+
getDataOnInit?: boolean;
|
|
403
|
+
openState: boolean;
|
|
404
|
+
setOpenState: (open: boolean) => void;
|
|
405
|
+
onModalClosed?: () => void;
|
|
406
|
+
onModalSaved?: (status: OperationStatus<DBStatusResult | null>) => Promise<void>;
|
|
407
|
+
modalFormSize?: MicroMModalSize;
|
|
408
|
+
}
|
|
409
|
+
export const EntityFormModalDefaultProps: Partial<EntityFormModalProps>;
|
|
410
|
+
export function EntityFormModal(props: EntityFormModalProps): null;
|
|
411
|
+
export type FormMode = 'add' | 'edit' | 'view';
|
|
412
|
+
export interface KeyStringIndexer {
|
|
413
|
+
[key: string]: any;
|
|
414
|
+
}
|
|
415
|
+
export interface NumberIndexer {
|
|
416
|
+
[key: number]: any;
|
|
417
|
+
}
|
|
418
|
+
export interface FormOptions<T extends Entity<EntityDefinition>> extends Omit<EntityFormProps, 'formAPI' | 'children'> {
|
|
419
|
+
entity: T;
|
|
420
|
+
initialFormMode: FormMode;
|
|
421
|
+
getDataOnInit?: boolean;
|
|
422
|
+
onSaved?: (status: OperationStatus<DBStatusResult>) => void;
|
|
423
|
+
onCancel?: () => void;
|
|
424
|
+
}
|
|
425
|
+
export type useStateReturnType<T> = [T, React.Dispatch<React.SetStateAction<T>>];
|
|
426
|
+
export type ActionIconVariant = 'transparent' | 'subtle' | 'default' | 'outline' | 'filled' | 'light';
|
|
427
|
+
export type ButtonVariant = 'gradient' | 'subtle' | 'default' | 'outline' | 'filled' | 'light' | 'white';
|
|
428
|
+
export type latLng = {
|
|
429
|
+
lat: number;
|
|
430
|
+
lng: number;
|
|
431
|
+
};
|
|
432
|
+
export interface EntityError extends Error {
|
|
433
|
+
Errors: DBStatus[];
|
|
434
|
+
}
|
|
435
|
+
export interface EntityProc {
|
|
436
|
+
name: string;
|
|
437
|
+
parms?: Record<string, Value>;
|
|
438
|
+
}
|
|
439
|
+
export interface EntityClientActionOnClickProps {
|
|
440
|
+
entity: Entity<any>;
|
|
441
|
+
modal?: ModalContextType;
|
|
442
|
+
selectedKeys?: ValuesObject[];
|
|
443
|
+
element?: HTMLElement;
|
|
444
|
+
onClose?: (result?: boolean) => Promise<boolean>;
|
|
445
|
+
}
|
|
446
|
+
export interface EntityClientAction {
|
|
447
|
+
name: string;
|
|
448
|
+
title: ReactNode;
|
|
449
|
+
label: ReactNode;
|
|
450
|
+
icon?: ReactNode;
|
|
451
|
+
refreshOnClose?: boolean;
|
|
452
|
+
dontRequireSelection?: boolean;
|
|
453
|
+
minSelectedRecords?: number;
|
|
454
|
+
maxSelectedRecords?: number;
|
|
455
|
+
views?: string[];
|
|
456
|
+
showActionInViewMode?: boolean;
|
|
457
|
+
onClick: (props: EntityClientActionOnClickProps) => Promise<boolean>;
|
|
458
|
+
}
|
|
459
|
+
export interface ViewMapping {
|
|
460
|
+
keyIndex: number;
|
|
461
|
+
descriptionIndex: number;
|
|
462
|
+
}
|
|
463
|
+
export interface EntityConstructor {
|
|
464
|
+
(client: MicroMClient, parentKeys?: ValuesObject): Entity<EntityDefinition>;
|
|
465
|
+
}
|
|
466
|
+
export interface EntityLookup {
|
|
467
|
+
name: string;
|
|
468
|
+
entityConstructor: EntityConstructor;
|
|
469
|
+
view?: string;
|
|
470
|
+
proc?: string;
|
|
471
|
+
bindingColumnKey?: string;
|
|
472
|
+
viewMapping?: ViewMapping;
|
|
473
|
+
}
|
|
474
|
+
export interface EntityView {
|
|
475
|
+
name: string;
|
|
476
|
+
keyMappings: Record<string, number>;
|
|
477
|
+
Card?: Promise<ComponentType<EntityCardProps<ValuesObject>>> | null;
|
|
478
|
+
FiltersEntity?: EntityConstructor;
|
|
479
|
+
gridColumnsOverrides?: (theme: MantineTheme) => GridColumnsOverrides;
|
|
480
|
+
mapMarkerRenderer?: DataMapProps['markerRenderer'];
|
|
481
|
+
mapGroupMarkerRenderer?: DataMapProps['groupMarkerRenderer'];
|
|
482
|
+
mapInfoWindowRenderer?: DataMapProps['InfoWindowRenderer'];
|
|
483
|
+
mapSelectRecordsRenderer?: DataMapProps['selectRecordsRenderer'];
|
|
484
|
+
}
|
|
485
|
+
export class EntityDefinition {
|
|
486
|
+
name: string;
|
|
487
|
+
columns: ColumnsObject;
|
|
488
|
+
procs: Record<string, EntityProc>;
|
|
489
|
+
views: Record<string, EntityView>;
|
|
490
|
+
lookups: Record<string, EntityLookup>;
|
|
491
|
+
serverActions: Record<string, EntityServerAction>;
|
|
492
|
+
clientActions: Record<string, EntityClientAction>;
|
|
493
|
+
importColumns: string[] | null;
|
|
494
|
+
standardView(): string | null;
|
|
495
|
+
constructor(name: string);
|
|
496
|
+
addCol<T extends Value>({ name, type, length, scale, value, defaultValue, flags, prompt }: EntityColumnOptions<T>): EntityColumn<T>;
|
|
497
|
+
addView(view: EntityView): EntityView;
|
|
498
|
+
addProc(proc: EntityProc): EntityProc;
|
|
499
|
+
addLookup(lookup: EntityLookup): EntityLookup;
|
|
500
|
+
addServerAction(action: EntityServerAction): EntityServerAction;
|
|
501
|
+
addClientAction(action: EntityClientAction): EntityClientAction;
|
|
502
|
+
static clone(entity_def: EntityDefinition): EntityDefinition;
|
|
503
|
+
}
|
|
504
|
+
export interface EntityServerAction {
|
|
505
|
+
name: string;
|
|
506
|
+
valuesMapper?: (values: ValuesObject) => EntityDefinition;
|
|
507
|
+
columnsMapper?: (columns: ColumnsObject) => ValuesObject;
|
|
508
|
+
}
|
|
509
|
+
export class EntityAPI {
|
|
510
|
+
#private;
|
|
511
|
+
client: MicroMClient;
|
|
512
|
+
constructor(client: MicroMClient, name: string, columns: ColumnsObject);
|
|
513
|
+
/**
|
|
514
|
+
* Get the data for the current row and fill the columns values with it.
|
|
515
|
+
*/
|
|
516
|
+
getData(abort_signal?: AbortSignal | null): Promise<boolean>;
|
|
517
|
+
/**
|
|
518
|
+
* Add the data for the current row and fill the key columns values with the returned auto-numeric (if any).
|
|
519
|
+
*/
|
|
520
|
+
addData(abort_signal?: AbortSignal | null, recordsSelection?: ValuesObject[], ignoreRecordExists?: boolean): Promise<DBStatusResult>;
|
|
521
|
+
/**
|
|
522
|
+
* Edits the data for the current row.
|
|
523
|
+
*/
|
|
524
|
+
editData(abort_signal?: AbortSignal | null, recordsSelection?: ValuesObject[]): Promise<DBStatusResult>;
|
|
525
|
+
/**
|
|
526
|
+
* Deletes the data for the current row.
|
|
527
|
+
*/
|
|
528
|
+
deleteData(recordsSelection?: ValuesObject[], abort_signal?: AbortSignal | null, parentKeys?: ValuesObject | null): Promise<DBStatusResult>;
|
|
529
|
+
/**
|
|
530
|
+
* Lookup the description for an entity.
|
|
531
|
+
*/
|
|
532
|
+
lookupData(abort_signal?: AbortSignal | null): Promise<string>;
|
|
533
|
+
/**
|
|
534
|
+
* Import data
|
|
535
|
+
*/
|
|
536
|
+
importData(abort_signal: (AbortSignal | null) | undefined, import_procname: (string | null) | undefined, parentKeys: (ValuesObject | null) | undefined, fileprocess_id: string): Promise<ImpDataResult>;
|
|
537
|
+
executeView(view: EntityView, view_parms?: ValuesObject, limit?: string | null, search?: string[] | null, abort_signal?: AbortSignal | null): Promise<DataResult[]>;
|
|
538
|
+
executeProc(proc: EntityProc, proc_parms?: ValuesObject, abort_signal?: AbortSignal | null, recordsSelection?: ValuesObject[]): Promise<DataResult[]>;
|
|
539
|
+
executeProcess(proc: EntityProc, proc_parms?: ValuesObject, abort_signal?: AbortSignal | null, recordsSelection?: ValuesObject[]): Promise<DBStatusResult>;
|
|
540
|
+
executeServerAction<TReturn extends Record<string, unknown>>(action: EntityServerAction, action_parms?: ValuesObject, abort_signal?: AbortSignal | null): Promise<TReturn>;
|
|
541
|
+
}
|
|
542
|
+
export type EntityFormComponentPromise = Promise<ComponentType<FormOptions<Entity<any>>>>;
|
|
543
|
+
export class Entity<T extends EntityDefinition> {
|
|
544
|
+
#private;
|
|
545
|
+
get name(): string;
|
|
546
|
+
get def(): T;
|
|
547
|
+
parentKeys: ValuesObject;
|
|
548
|
+
API: EntityAPI;
|
|
549
|
+
Form: EntityFormComponentPromise | "AutoForm" | "AutoFiltersForm" | null;
|
|
550
|
+
Title: string;
|
|
551
|
+
HelpText?: string;
|
|
552
|
+
Icon?: ComponentType<IconProps>;
|
|
553
|
+
constructor(client: MicroMClient, def: T, parentKeys?: ValuesObject);
|
|
554
|
+
static clone(entity: Entity<EntityDefinition>): Entity<EntityDefinition>;
|
|
555
|
+
}
|
|
556
|
+
export type MappingBehavior = 'lax' | 'enforceObject' | 'enforceDataResult' | 'exactMatch';
|
|
557
|
+
export function toCamelCase(str: string): string;
|
|
558
|
+
/** function to convert a record array to a values object */
|
|
559
|
+
export function convertRecordToValuesObject(record: ValuesRecord, headers: string[], typeInfo: SQLType[], formatToString?: (value: Value, sqlType: SQLType) => string): ValuesObject;
|
|
560
|
+
export function convertRecordsToArrayOfValuesObject(dataResult: DataResult, nameTransformFunction?: ((name: string) => string) | null, formatToString?: (value: Value) => string): ValuesObject[];
|
|
561
|
+
export function mapRecordToType<T extends ValuesObject>(record: ValuesRecord, headers: string[], enforceObjectKeys: Set<string>, mapping_behavior: MappingBehavior, map_properties?: Record<string, keyof T> | null, skipUndefinedOrNull?: boolean): T;
|
|
562
|
+
export function mapDataResultToType<T extends ValuesObject>(dataResult: DataResult, mapping_behavior: MappingBehavior, nameTransformFunction?: ((name: string) => string) | null, map_properties?: Record<string, keyof T> | null, skipUndefinedOrNull?: boolean): T[];
|
|
563
|
+
export function exportToCSV(viewResult: DataResult, notExportableColumns?: number[]): void;
|
|
564
|
+
export function extractArrayFromSelectedRecords<T>(selectedKeys: ValuesObject[], property: keyof ValuesObject): T[];
|
|
565
|
+
export function isInstanceOfEntityColumn<T extends Value>(obj: unknown): obj is EntityColumn<T>;
|
|
566
|
+
export function isViewMapping(obj: unknown): obj is ViewMapping;
|
|
567
|
+
export function isEntityLookup(obj: unknown): obj is EntityLookup;
|
|
568
|
+
export function getRequiredColumns(entity?: Entity<EntityDefinition>): string[];
|
|
569
|
+
export interface ColumnMapRecord {
|
|
570
|
+
columnName: string;
|
|
571
|
+
propertyName: string;
|
|
572
|
+
}
|
|
573
|
+
export type ColumnMap = ColumnMapRecord[];
|
|
574
|
+
export interface ColumnsMapRecord<T extends Partial<ColumnsObject>, V> {
|
|
575
|
+
columnName: keyof T;
|
|
576
|
+
propertyName: keyof V;
|
|
577
|
+
}
|
|
578
|
+
export type ColumnsMap<T extends Partial<ColumnsObject>, V> = ColumnsMapRecord<T, V>[];
|
|
579
|
+
/**
|
|
580
|
+
* Returns a dictionary of column names mapped to property names.
|
|
581
|
+
* @param map
|
|
582
|
+
* @returns
|
|
583
|
+
*/
|
|
584
|
+
export function getDictionaryByColumnName<T extends Partial<ColumnsObject>, V>(map: ColumnsMap<T, V>): Record<keyof T, keyof V>;
|
|
585
|
+
/**
|
|
586
|
+
* Returns a dictionary of property names mapped to column names.
|
|
587
|
+
* @param map
|
|
588
|
+
* @returns
|
|
589
|
+
*/
|
|
590
|
+
export function getDictionaryByPropertyName<V, T extends Partial<ColumnsObject>>(map: ColumnsMap<T, V>): Record<keyof V, keyof T>;
|
|
591
|
+
export function mapToRecordSelection<T extends Partial<ColumnsObject>, V>(values: V[], propertiesMapDictionary: Record<keyof V, keyof T>): ValuesObject[];
|
|
592
|
+
export class ColumnsMapper<T extends Entity<EntityDefinition>, V extends ValuesObject> {
|
|
593
|
+
#private;
|
|
594
|
+
constructor(entity: T, values: V, records: ColumnMapRecord[]);
|
|
595
|
+
columnsDictionary: Record<string, string>;
|
|
596
|
+
valuesDictionary: Record<string, string>;
|
|
597
|
+
mapValuesToColumns(columns: ColumnsObject, values: V, ignoreInvalidMappings?: boolean, ignoreInexistentValues?: boolean): void;
|
|
598
|
+
mapColumnsToValues(columns: ColumnsObject, ignoreInvalidMappings?: boolean, ignoreInexistentValues?: boolean): Partial<V>;
|
|
599
|
+
}
|
|
600
|
+
export interface useTextTransformProps {
|
|
601
|
+
entityForm: UseEntityFormReturnType;
|
|
602
|
+
column: EntityColumn<Value>;
|
|
603
|
+
transform?: "uppercase" | "lowercase" | "capitalize" | "titlecase";
|
|
604
|
+
autoTrim?: boolean;
|
|
605
|
+
}
|
|
606
|
+
export function useTextTransform(props: useTextTransformProps): (text: string) => void;
|
|
607
|
+
type TextAreaFieldAllowedValidators = 'regex' | 'length' | 'field' | 'required';
|
|
608
|
+
export type TextAreaFieldValidatorConfiguration = Partial<Record<TextAreaFieldAllowedValidators, ValidatorConfigurationParms>>;
|
|
609
|
+
export interface TextAreaFieldProps extends TextareaProps, Omit<useTextTransformProps, 'entityForm' | 'column' | 'onBlur' | 'mantineOnBlur'> {
|
|
610
|
+
column: EntityColumn<Value>;
|
|
611
|
+
entityForm: UseEntityFormReturnType;
|
|
612
|
+
validate?: TextAreaFieldValidatorConfiguration;
|
|
613
|
+
requiredMessage?: ReactNode;
|
|
614
|
+
validationContainer?: React.ComponentType<{
|
|
615
|
+
children: ReactNode;
|
|
616
|
+
}>;
|
|
617
|
+
autofocus?: boolean;
|
|
618
|
+
}
|
|
619
|
+
export const TextAreaField: import("react").ForwardRefExoticComponent<TextAreaFieldProps & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
620
|
+
export interface TextFieldProps extends TextInputProps, Omit<useTextTransformProps, 'entityForm' | 'column'> {
|
|
621
|
+
column: EntityColumn<Value>;
|
|
622
|
+
entityForm: UseEntityFormReturnType;
|
|
623
|
+
validate?: ValidatorConfiguration;
|
|
624
|
+
requiredMessage?: ReactNode;
|
|
625
|
+
validationContainer?: React.ComponentType<{
|
|
626
|
+
children: ReactNode;
|
|
627
|
+
}>;
|
|
628
|
+
autoFocus?: boolean;
|
|
629
|
+
}
|
|
630
|
+
export const TextField: import("react").ForwardRefExoticComponent<TextFieldProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
631
|
+
export interface AutoFormFieldsProps<T extends Entity<EntityDefinition>> {
|
|
632
|
+
entity: T;
|
|
633
|
+
entityForm: UseEntityFormReturnType;
|
|
634
|
+
}
|
|
635
|
+
export function AutoFormFields(props: AutoFormFieldsProps<Entity<EntityDefinition>>): (import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined)[];
|
|
636
|
+
export function AutoForm(props: FormOptions<Entity<EntityDefinition>>): import("react/jsx-runtime").JSX.Element;
|
|
637
|
+
export interface ModalFormOptions {
|
|
638
|
+
entity: Entity<EntityDefinition>;
|
|
639
|
+
onSaved: (entity: Entity<EntityDefinition>) => void;
|
|
640
|
+
onCancel: (entity: Entity<EntityDefinition>) => void;
|
|
641
|
+
}
|
|
642
|
+
export function ModalForm({ entity, onSaved, onCancel }: ModalFormOptions): import("react/jsx-runtime").JSX.Element;
|
|
643
|
+
export type MicroMModalSize = MantineNumberSize | 'fullscreen';
|
|
644
|
+
export type MicroMModalSettings = Partial<Omit<ModalSettings, 'size'>> & {
|
|
645
|
+
size?: MicroMModalSize;
|
|
646
|
+
};
|
|
647
|
+
export interface ModalOpenProps {
|
|
648
|
+
content: ReactNode | Promise<ReactNode>;
|
|
649
|
+
modalProps: MicroMModalSettings;
|
|
650
|
+
onClosed?: () => void;
|
|
651
|
+
focusOnClosed?: HTMLElement;
|
|
652
|
+
}
|
|
653
|
+
export interface ModalContextType {
|
|
654
|
+
open: (props: ModalOpenProps, onClosed?: () => void) => Promise<void>;
|
|
655
|
+
close: () => Promise<void>;
|
|
656
|
+
}
|
|
657
|
+
export interface ModalType {
|
|
658
|
+
originalContent: ReactNode | Promise<ReactNode>;
|
|
659
|
+
resolvedContent?: ReactNode;
|
|
660
|
+
props: ModalSettings;
|
|
661
|
+
id: string;
|
|
662
|
+
opened: boolean;
|
|
663
|
+
onClosed?: () => void;
|
|
664
|
+
focusOnClosed?: HTMLElement;
|
|
665
|
+
}
|
|
666
|
+
export interface ModalsManagerProps extends PropsWithChildren {
|
|
667
|
+
modalProps: MicroMModalSettings;
|
|
668
|
+
/** This delay in milliseconds will be used to wait for the modal to be closed and fire the onClosed() event */
|
|
669
|
+
animationDuration: number;
|
|
670
|
+
}
|
|
671
|
+
export const ModalsManager: ({ modalProps, animationDuration, children }: ModalsManagerProps) => import("react/jsx-runtime").JSX.Element;
|
|
672
|
+
export const useModal: () => ModalContextType;
|
|
673
|
+
export interface SearchInputProps extends TextInputProps {
|
|
674
|
+
onSearchClick: React.MouseEventHandler;
|
|
675
|
+
size: string;
|
|
676
|
+
iconsSize: string;
|
|
677
|
+
value: string;
|
|
678
|
+
onChange: React.ChangeEventHandler<HTMLInputElement>;
|
|
679
|
+
placeholder?: string;
|
|
680
|
+
autoFocus?: boolean;
|
|
681
|
+
iconVariant?: ActionIconVariant;
|
|
682
|
+
[x: string]: any;
|
|
683
|
+
}
|
|
684
|
+
export const SearchInputDefaultProps: Partial<SearchInputProps>;
|
|
685
|
+
export function SearchInput(props: SearchInputProps): import("react/jsx-runtime").JSX.Element;
|
|
686
|
+
export interface ToggleActionIconOptions {
|
|
687
|
+
hidden: boolean;
|
|
688
|
+
size: string;
|
|
689
|
+
onColor: MantineColor;
|
|
690
|
+
offColor: MantineColor;
|
|
691
|
+
onVariant?: ActionIconVariant;
|
|
692
|
+
offVariant?: ActionIconVariant;
|
|
693
|
+
onIcon: ReactNode;
|
|
694
|
+
offIcon: ReactNode;
|
|
695
|
+
initialStatus?: 'on' | 'off';
|
|
696
|
+
onClick?: () => void;
|
|
697
|
+
radius?: MantineNumberSize;
|
|
698
|
+
title?: string;
|
|
699
|
+
}
|
|
700
|
+
export const ToggleActionIcon: import("react").ForwardRefExoticComponent<ToggleActionIconOptions & import("react").RefAttributes<HTMLButtonElement>>;
|
|
701
|
+
export function useExecuteView(entity?: Entity<EntityDefinition>, values?: ValuesObject, viewName?: string, search?: string[] | undefined, limit?: string | null, refresh?: boolean, filters?: ValuesObject): OperationStatus<DataResult[]>;
|
|
702
|
+
export function useDebugProps<T>(propsObject: T, dependencies: any[], componentName: string): void;
|
|
703
|
+
export function useEnterAsTab<T extends HTMLElement>(): import("react").MutableRefObject<T | null>;
|
|
704
|
+
export interface useLoginType {
|
|
705
|
+
login: () => void;
|
|
706
|
+
}
|
|
707
|
+
export interface useLoginOptions {
|
|
708
|
+
client: MicroMClient;
|
|
709
|
+
modalProps?: ModalSettings;
|
|
710
|
+
onClose?: () => void;
|
|
711
|
+
title?: string;
|
|
712
|
+
}
|
|
713
|
+
export const UseLoginDefaultProps: Partial<useLoginOptions>;
|
|
714
|
+
export function useLogin(props: useLoginOptions): () => Promise<void>;
|
|
715
|
+
type PasswordFieldAllowedValidators = 'regex' | 'length' | 'field' | 'required';
|
|
716
|
+
export type PasswordFieldValidatorConfiguration = Partial<Record<PasswordFieldAllowedValidators, ValidatorConfigurationParms>>;
|
|
717
|
+
export interface PasswordFieldProps extends PasswordInputProps {
|
|
718
|
+
column: EntityColumn<string>;
|
|
719
|
+
entityForm: UseEntityFormReturnType;
|
|
720
|
+
loading?: boolean;
|
|
721
|
+
disableOnLoading?: boolean;
|
|
722
|
+
validate?: PasswordFieldValidatorConfiguration;
|
|
723
|
+
requiredMessage?: ReactNode;
|
|
724
|
+
validationContainer?: React.ComponentType<{
|
|
725
|
+
children: ReactNode;
|
|
726
|
+
}>;
|
|
727
|
+
}
|
|
728
|
+
export function PasswordField(props: PasswordFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
729
|
+
export type useExecuteActionReturnType<TReturn extends EntityDefinition | ValuesObject> = {
|
|
730
|
+
status: OperationStatus<TReturn>;
|
|
731
|
+
execute: (values?: ValuesObject) => Promise<OperationStatus<TReturn> | undefined>;
|
|
732
|
+
};
|
|
733
|
+
export function useExecuteServerAction<T extends EntityDefinition, TReturn extends EntityDefinition | ValuesObject>(entity: Entity<T>, actionName: string): useExecuteActionReturnType<TReturn>;
|
|
734
|
+
export const NotifySuccessDefaultProps: Partial<NotificationProps>;
|
|
735
|
+
export function NotifySuccess(props: NotificationProps): import("react/jsx-runtime").JSX.Element;
|
|
736
|
+
export function NotifyError(props: NotificationProps): import("react/jsx-runtime").JSX.Element;
|
|
737
|
+
export const NotifyInfoDefaultProps: Partial<NotificationProps>;
|
|
738
|
+
export function NotifyInfo(props: NotificationProps): import("react/jsx-runtime").JSX.Element;
|
|
739
|
+
export interface NotifyBitFieldProps extends NotificationProps {
|
|
740
|
+
column: EntityColumn<boolean>;
|
|
741
|
+
trueIcon?: ReactNode;
|
|
742
|
+
falseIcon?: ReactNode;
|
|
743
|
+
trueMessage: ReactNode;
|
|
744
|
+
falseMessage: ReactNode;
|
|
745
|
+
trueColor?: MantineColor;
|
|
746
|
+
falseColor?: MantineColor;
|
|
747
|
+
}
|
|
748
|
+
export const NotifyBitFieldDefaultProps: Partial<NotifyBitFieldProps>;
|
|
749
|
+
export function NotifyBitField(props: NotifyBitFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
750
|
+
export interface CheckboxFieldProps extends CheckboxProps {
|
|
751
|
+
column: EntityColumn<Value>;
|
|
752
|
+
entityForm: UseEntityFormReturnType;
|
|
753
|
+
loading?: boolean;
|
|
754
|
+
disableOnLoading?: boolean;
|
|
755
|
+
requiredMessage?: ReactNode;
|
|
756
|
+
}
|
|
757
|
+
export function CheckboxField(props: CheckboxFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
758
|
+
export function FakeProgressBar(props: ProgressProps): import("react/jsx-runtime").JSX.Element;
|
|
759
|
+
export interface UseOperationStatusCallback<T> {
|
|
760
|
+
callback: (...args: any[]) => Promise<T>;
|
|
761
|
+
operation: DataOperationType;
|
|
762
|
+
deps: React.DependencyList;
|
|
763
|
+
}
|
|
764
|
+
export type UseOperationStatusCallbackReturnType<T> = {
|
|
765
|
+
operationCallback: (...args: any[]) => Promise<OperationStatus<T>>;
|
|
766
|
+
status: OperationStatus<T>;
|
|
767
|
+
};
|
|
768
|
+
export function useOperationStatusCallback<T>(props: UseOperationStatusCallback<T>): UseOperationStatusCallbackReturnType<T>;
|
|
769
|
+
export interface ConfirmPanelProps {
|
|
770
|
+
content: ReactNode;
|
|
771
|
+
loadingContent?: ReactNode;
|
|
772
|
+
operation: DataOperationType;
|
|
773
|
+
onOK: () => Promise<unknown>;
|
|
774
|
+
onCancel: () => Promise<void> | void;
|
|
775
|
+
cancelButtonText?: string;
|
|
776
|
+
okButtonText?: string;
|
|
777
|
+
okButtonProps?: ButtonProps;
|
|
778
|
+
cancelButtonProps?: ButtonProps;
|
|
779
|
+
runOnOpen?: boolean;
|
|
780
|
+
}
|
|
781
|
+
export const ConfirmAndExecutePanelDefaultProps: Partial<ConfirmPanelProps>;
|
|
782
|
+
export function ConfirmAndExecutePanel(props: ConfirmPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
783
|
+
export interface EmailFieldProps extends Omit<TextFieldProps, 'validate'> {
|
|
784
|
+
invalidMessage?: string;
|
|
785
|
+
}
|
|
786
|
+
export const EmailFieldDefaultProps: Partial<EmailFieldProps>;
|
|
787
|
+
export function EmailField(props: EmailFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
788
|
+
export interface UrlFieldProps extends Omit<TextFieldProps, 'validate'> {
|
|
789
|
+
invalidMessage?: string;
|
|
790
|
+
}
|
|
791
|
+
export const UrlFieldDefaultProps: Partial<UrlFieldProps>;
|
|
792
|
+
export function UrlField(props: UrlFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
793
|
+
export interface UseDynamicContentProps {
|
|
794
|
+
contentState: ReturnType<typeof useState<ReactNode>>;
|
|
795
|
+
dynamicContent: Promise<ReactNode>;
|
|
796
|
+
loading?: ReactNode;
|
|
797
|
+
}
|
|
798
|
+
export function useDynamicContent(props: UseDynamicContentProps): void;
|
|
799
|
+
export interface CopyToClipboardProps extends ActionIconProps {
|
|
800
|
+
valueToCopy: unknown;
|
|
801
|
+
timeout?: number;
|
|
802
|
+
copiedColor?: MantineColor;
|
|
803
|
+
iconSize?: string | number;
|
|
804
|
+
}
|
|
805
|
+
export function CopyToClipboard(props: CopyToClipboardProps): import("react/jsx-runtime").JSX.Element;
|
|
806
|
+
export interface CodeBlockProps extends Omit<PrismProps, 'children'> {
|
|
807
|
+
codeText: string;
|
|
808
|
+
}
|
|
809
|
+
export function CodeBlock(props: CodeBlockProps): import("react/jsx-runtime").JSX.Element;
|
|
810
|
+
export interface DateInputFieldProps extends DateInputProps {
|
|
811
|
+
column: EntityColumn<Value>;
|
|
812
|
+
entityForm: UseEntityFormReturnType;
|
|
813
|
+
validate?: ValidatorConfiguration;
|
|
814
|
+
requiredMessage?: ReactNode;
|
|
815
|
+
validationContainer?: React.ComponentType<{
|
|
816
|
+
children: ReactNode;
|
|
817
|
+
}>;
|
|
818
|
+
autoFocus?: boolean;
|
|
819
|
+
}
|
|
820
|
+
export const DateInputFieldDefaultProps: Partial<DateInputFieldProps>;
|
|
821
|
+
export const DateInputField: import("react").ForwardRefExoticComponent<DateInputFieldProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
822
|
+
export interface NumberFieldProps extends NumberInputProps {
|
|
823
|
+
column: EntityColumn<Value>;
|
|
824
|
+
entityForm: UseEntityFormReturnType;
|
|
825
|
+
loading?: boolean;
|
|
826
|
+
disableOnLoading?: boolean;
|
|
827
|
+
validate?: ValidatorConfiguration;
|
|
828
|
+
requiredMessage?: ReactNode;
|
|
829
|
+
validationContainer?: React.ComponentType<{
|
|
830
|
+
children: ReactNode;
|
|
831
|
+
}>;
|
|
832
|
+
autoFocus?: boolean;
|
|
833
|
+
}
|
|
834
|
+
export const NumberField: import("react").ForwardRefExoticComponent<NumberFieldProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
835
|
+
export interface UseHierarchyKeysProps {
|
|
836
|
+
formAPI: UseEntityFormReturnType;
|
|
837
|
+
hierarchy: string[];
|
|
838
|
+
mappedHierarchy?: string[];
|
|
839
|
+
}
|
|
840
|
+
export function useHierarchyKeys(props: UseHierarchyKeysProps): Record<string, Value>[];
|
|
841
|
+
export interface PhoneFieldProps extends Omit<TextFieldProps, 'validate'> {
|
|
842
|
+
invalidMessage?: string;
|
|
843
|
+
showCallIcon?: boolean;
|
|
844
|
+
showWhatsappIcon?: boolean;
|
|
845
|
+
}
|
|
846
|
+
export const PhoneFieldDefaultProps: Partial<PhoneFieldProps>;
|
|
847
|
+
export function PhoneField(props: PhoneFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
848
|
+
export interface CUITFieldProps extends TextFieldProps {
|
|
849
|
+
invalidMessage?: string;
|
|
850
|
+
}
|
|
851
|
+
export const CUITFieldDefaultProps: Partial<CUITFieldProps>;
|
|
852
|
+
export function CUITField(props: CUITFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
853
|
+
export interface UseParentKeysProps {
|
|
854
|
+
formAPI: UseEntityFormReturnType;
|
|
855
|
+
columnNames: string[];
|
|
856
|
+
entity: Entity<EntityDefinition>;
|
|
857
|
+
}
|
|
858
|
+
export function useParentKeys(props: UseParentKeysProps): ValuesObject;
|
|
859
|
+
export interface TimeFieldProps extends Omit<TimeInputProps, 'validate'> {
|
|
860
|
+
column: EntityColumn<Value>;
|
|
861
|
+
entityForm: UseEntityFormReturnType;
|
|
862
|
+
validate?: ValidatorConfiguration;
|
|
863
|
+
requiredMessage?: React.ReactNode;
|
|
864
|
+
validationContainer?: React.ComponentType<{
|
|
865
|
+
children: ReactNode;
|
|
866
|
+
}>;
|
|
867
|
+
autoFocus?: boolean;
|
|
868
|
+
showTimePicker?: boolean;
|
|
869
|
+
}
|
|
870
|
+
export const TimeFieldDefaultProps: Partial<TimeFieldProps>;
|
|
871
|
+
interface TimeFieldRef {
|
|
872
|
+
showPicker: () => void;
|
|
873
|
+
}
|
|
874
|
+
export const TimeField: import("react").ForwardRefExoticComponent<TimeFieldProps & import("react").RefAttributes<TimeFieldRef>>;
|
|
875
|
+
export function getInitials(input: string): string;
|
|
876
|
+
export interface useIsLoggedInProps {
|
|
877
|
+
client: MicroMClient;
|
|
878
|
+
useLocalLoggedInCheck?: boolean;
|
|
879
|
+
}
|
|
880
|
+
export type useIsLoggedInReturnType = {
|
|
881
|
+
isLoggedIn: boolean | undefined;
|
|
882
|
+
setIsLoggedIn: Dispatch<SetStateAction<boolean | undefined>>;
|
|
883
|
+
checkIsLoggedIn: () => Promise<void>;
|
|
884
|
+
loggedInInfo: Partial<MicroMClientClaimTypes>;
|
|
885
|
+
};
|
|
886
|
+
export function useIsLoggedIn({ client, useLocalLoggedInCheck }: useIsLoggedInProps): useIsLoggedInReturnType;
|
|
887
|
+
export const usePreventEnterSubmission: () => (event: KeyboardEvent) => void;
|
|
888
|
+
export function formatDate(value: Value, locale?: string, dateOptions?: Intl.DateTimeFormatOptions): string;
|
|
889
|
+
export function formatTime(value: Value, locale?: string, dateOptions?: Intl.DateTimeFormatOptions): string;
|
|
890
|
+
export function formatNumber(value: Value, locale?: string): string;
|
|
891
|
+
export function convertDateToNative(value: string): Date;
|
|
892
|
+
export function formatSQLValue(value: Value, sqlType: SQLType, locale?: string): string;
|
|
893
|
+
export function convertToNativeType(value: Value, sqlType: SQLType): Value;
|
|
894
|
+
export interface UseLocaleFormatProps {
|
|
895
|
+
initialLocale?: string;
|
|
896
|
+
}
|
|
897
|
+
export const UseLocaleFormatDefaultProps: UseLocaleFormatProps;
|
|
898
|
+
export function useLocaleFormat(props: UseLocaleFormatProps): {
|
|
899
|
+
locale: string | undefined;
|
|
900
|
+
setLocale: import("react").Dispatch<import("react").SetStateAction<string | undefined>>;
|
|
901
|
+
formatValue: (value: Value, sqlType: SQLType) => string;
|
|
902
|
+
getNativeType: (value: Value, sqlType: SQLType) => Value;
|
|
903
|
+
formatColumnValue: (col: EntityColumn<Value>) => string;
|
|
904
|
+
};
|
|
905
|
+
export const UseImportDataDefaultProps: {
|
|
906
|
+
noFileProcessLabel: string;
|
|
907
|
+
errorImportingDataLabel: string;
|
|
908
|
+
};
|
|
909
|
+
export class CategoriesDef extends EntityDefinition {
|
|
910
|
+
columns: {
|
|
911
|
+
dt_inserttime: EntityColumn<Date>;
|
|
912
|
+
dt_lu: EntityColumn<Date>;
|
|
913
|
+
vc_webinsuser: EntityColumn<string>;
|
|
914
|
+
vc_webluuser: EntityColumn<string>;
|
|
915
|
+
vc_insuser: EntityColumn<string>;
|
|
916
|
+
vc_luuser: EntityColumn<string>;
|
|
917
|
+
c_category_id: EntityColumn<string>;
|
|
918
|
+
vc_description: EntityColumn<string>;
|
|
919
|
+
};
|
|
920
|
+
views: {
|
|
921
|
+
cat_brwStandard: {
|
|
922
|
+
name: string;
|
|
923
|
+
keyMappings: {
|
|
924
|
+
c_category_id: number;
|
|
925
|
+
};
|
|
926
|
+
};
|
|
927
|
+
};
|
|
928
|
+
constructor();
|
|
929
|
+
}
|
|
930
|
+
export class CategoriesValuesDef extends EntityDefinition {
|
|
931
|
+
columns: {
|
|
932
|
+
dt_inserttime: EntityColumn<Date>;
|
|
933
|
+
dt_lu: EntityColumn<Date>;
|
|
934
|
+
vc_webinsuser: EntityColumn<string>;
|
|
935
|
+
vc_webluuser: EntityColumn<string>;
|
|
936
|
+
vc_insuser: EntityColumn<string>;
|
|
937
|
+
vc_luuser: EntityColumn<string>;
|
|
938
|
+
c_category_id: EntityColumn<string>;
|
|
939
|
+
c_categoryvalue_id: EntityColumn<string>;
|
|
940
|
+
vc_description: EntityColumn<string>;
|
|
941
|
+
};
|
|
942
|
+
views: {
|
|
943
|
+
cav_brwStandard: {
|
|
944
|
+
name: string;
|
|
945
|
+
keyMappings: {
|
|
946
|
+
c_categoryvalue_id: number;
|
|
947
|
+
};
|
|
948
|
+
};
|
|
949
|
+
};
|
|
950
|
+
lookups: {
|
|
951
|
+
Categories: {
|
|
952
|
+
name: string;
|
|
953
|
+
entityConstructor: (client: MicroMClient, parentKeys?: ValuesObject) => Categories;
|
|
954
|
+
};
|
|
955
|
+
};
|
|
956
|
+
constructor();
|
|
957
|
+
}
|
|
958
|
+
export class CategoriesValues extends Entity<CategoriesValuesDef> {
|
|
959
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
960
|
+
}
|
|
961
|
+
export const CategoriesFormDefaultProps: Partial<FormOptions<Categories>>;
|
|
962
|
+
export function CategoriesForm(props: FormOptions<Categories>): import("react/jsx-runtime").JSX.Element;
|
|
963
|
+
export class Categories extends Entity<CategoriesDef> {
|
|
964
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
965
|
+
}
|
|
966
|
+
export class catAuthenticationTypes extends Entity<CategoriesValuesDef> {
|
|
967
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
968
|
+
}
|
|
969
|
+
export class catUserTypes extends Entity<CategoriesValuesDef> {
|
|
970
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
971
|
+
}
|
|
972
|
+
export class MicromUsersGroupsDef extends EntityDefinition {
|
|
973
|
+
columns: {
|
|
974
|
+
dt_inserttime: EntityColumn<Date>;
|
|
975
|
+
dt_lu: EntityColumn<Date>;
|
|
976
|
+
vc_webinsuser: EntityColumn<string>;
|
|
977
|
+
vc_webluuser: EntityColumn<string>;
|
|
978
|
+
vc_insuser: EntityColumn<string>;
|
|
979
|
+
vc_luuser: EntityColumn<string>;
|
|
980
|
+
c_user_group_id: EntityColumn<string>;
|
|
981
|
+
vc_user_group_name: EntityColumn<string>;
|
|
982
|
+
vc_group_members: EntityColumn<string[]>;
|
|
983
|
+
};
|
|
984
|
+
views: {
|
|
985
|
+
mug_brwStandard: {
|
|
986
|
+
name: string;
|
|
987
|
+
keyMappings: {
|
|
988
|
+
c_user_group_id: number;
|
|
989
|
+
};
|
|
990
|
+
};
|
|
991
|
+
};
|
|
992
|
+
lookups: {
|
|
993
|
+
MicromUsers: {
|
|
994
|
+
name: string;
|
|
995
|
+
viewMapping: {
|
|
996
|
+
keyIndex: number;
|
|
997
|
+
descriptionIndex: number;
|
|
998
|
+
};
|
|
999
|
+
entityConstructor: (client: MicroMClient, parentKeys?: ValuesObject) => MicromUsers;
|
|
1000
|
+
};
|
|
1001
|
+
};
|
|
1002
|
+
constructor();
|
|
1003
|
+
}
|
|
1004
|
+
export const MicromUsersGroupsMenusDisableMenusLabels: {
|
|
1005
|
+
denyAccessToSelectedMenuItems: string;
|
|
1006
|
+
buttonLabel: string;
|
|
1007
|
+
title: string;
|
|
1008
|
+
areYouSure: string;
|
|
1009
|
+
};
|
|
1010
|
+
export const ACTDisableMenus: EntityClientAction;
|
|
1011
|
+
export const MicromUsersGroupsMenusEnableMenusLabels: {
|
|
1012
|
+
allowAccessToSelectedMenuItems: string;
|
|
1013
|
+
buttonLabel: string;
|
|
1014
|
+
title: string;
|
|
1015
|
+
areYouSure: string;
|
|
1016
|
+
};
|
|
1017
|
+
export const ACTEnableMenus: EntityClientAction;
|
|
1018
|
+
export interface MicromUsersGroupsMenusColumnsOverridesLabels {
|
|
1019
|
+
granted: string;
|
|
1020
|
+
denied: string;
|
|
1021
|
+
}
|
|
1022
|
+
export const MicromUsersGroupsMenusColumnsOverridesLabelsDefaultProps: Partial<MicromUsersGroupsMenusColumnsOverridesLabels>;
|
|
1023
|
+
export function MicromUsersGroupsMenusColumnsOverrides(theme: MantineTheme): {
|
|
1024
|
+
4: {
|
|
1025
|
+
render: (value: unknown) => import("react/jsx-runtime").JSX.Element;
|
|
1026
|
+
};
|
|
1027
|
+
};
|
|
1028
|
+
export class MicromUsersGroupsMenusDef extends EntityDefinition {
|
|
1029
|
+
columns: {
|
|
1030
|
+
dt_inserttime: EntityColumn<Date>;
|
|
1031
|
+
dt_lu: EntityColumn<Date>;
|
|
1032
|
+
vc_webinsuser: EntityColumn<string>;
|
|
1033
|
+
vc_webluuser: EntityColumn<string>;
|
|
1034
|
+
vc_insuser: EntityColumn<string>;
|
|
1035
|
+
vc_luuser: EntityColumn<string>;
|
|
1036
|
+
c_user_group_id: EntityColumn<string>;
|
|
1037
|
+
c_menu_id: EntityColumn<string>;
|
|
1038
|
+
c_menu_item_id: EntityColumn<string>;
|
|
1039
|
+
};
|
|
1040
|
+
views: Record<string, EntityView>;
|
|
1041
|
+
lookups: {
|
|
1042
|
+
MicromUsersGroups: {
|
|
1043
|
+
name: string;
|
|
1044
|
+
viewMapping: {
|
|
1045
|
+
keyIndex: number;
|
|
1046
|
+
descriptionIndex: number;
|
|
1047
|
+
};
|
|
1048
|
+
entityConstructor: (client: MicroMClient, parentKeys?: ValuesObject) => MicromUsersGroups;
|
|
1049
|
+
};
|
|
1050
|
+
};
|
|
1051
|
+
clientActions: {
|
|
1052
|
+
ACTEnableMenus: import("src").EntityClientAction;
|
|
1053
|
+
ACTDisableMenus: import("src").EntityClientAction;
|
|
1054
|
+
};
|
|
1055
|
+
constructor();
|
|
1056
|
+
}
|
|
1057
|
+
export interface MicromUsersGroupsMenusEntityProps {
|
|
1058
|
+
icon?: (props: IconProps) => ReactNode;
|
|
1059
|
+
helpText?: string;
|
|
1060
|
+
title: string;
|
|
1061
|
+
}
|
|
1062
|
+
export const MicromUsersGroupsMenusEntityDefaultProps: Partial<MicromUsersGroupsMenusEntityProps>;
|
|
1063
|
+
export class MicromUsersGroupsMenus extends Entity<MicromUsersGroupsMenusDef> {
|
|
1064
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
1065
|
+
}
|
|
1066
|
+
export interface MicromUsersGroupsFormProps extends FormOptions<MicromUsersGroups> {
|
|
1067
|
+
groupTabLabel?: string;
|
|
1068
|
+
menusTabLabel?: string;
|
|
1069
|
+
membersTabLabel?: string;
|
|
1070
|
+
}
|
|
1071
|
+
export const MicromUsersGroupsFormDefaultProps: Partial<MicromUsersGroupsFormProps>;
|
|
1072
|
+
export function MicromUsersGroupsForm(props: MicromUsersGroupsFormProps): import("react/jsx-runtime").JSX.Element;
|
|
1073
|
+
export class MicromUsersGroups extends Entity<MicromUsersGroupsDef> {
|
|
1074
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
1075
|
+
}
|
|
1076
|
+
export class MicromUsersDef extends EntityDefinition {
|
|
1077
|
+
columns: {
|
|
1078
|
+
dt_inserttime: EntityColumn<Date>;
|
|
1079
|
+
dt_lu: EntityColumn<Date>;
|
|
1080
|
+
vc_webinsuser: EntityColumn<string>;
|
|
1081
|
+
vc_webluuser: EntityColumn<string>;
|
|
1082
|
+
vc_insuser: EntityColumn<string>;
|
|
1083
|
+
vc_luuser: EntityColumn<string>;
|
|
1084
|
+
c_user_id: EntityColumn<string>;
|
|
1085
|
+
vc_username: EntityColumn<string>;
|
|
1086
|
+
vc_email: EntityColumn<string>;
|
|
1087
|
+
vc_pwhash: EntityColumn<string>;
|
|
1088
|
+
vb_sid: EntityColumn<string>;
|
|
1089
|
+
vc_refreshtoken: EntityColumn<string>;
|
|
1090
|
+
dt_refresh_expiration: EntityColumn<boolean>;
|
|
1091
|
+
i_badlogonattempts: EntityColumn<number>;
|
|
1092
|
+
i_refreshcount: EntityColumn<number>;
|
|
1093
|
+
bt_disabled: EntityColumn<boolean>;
|
|
1094
|
+
dt_locked: EntityColumn<Date>;
|
|
1095
|
+
dt_last_login: EntityColumn<Date>;
|
|
1096
|
+
dt_last_refresh: EntityColumn<Date>;
|
|
1097
|
+
vc_recovery_code: EntityColumn<string>;
|
|
1098
|
+
dt_last_recovery: EntityColumn<Date>;
|
|
1099
|
+
c_usertype_id: EntityColumn<string>;
|
|
1100
|
+
vc_user_groups: EntityColumn<string[]>;
|
|
1101
|
+
bt_islocked: EntityColumn<boolean>;
|
|
1102
|
+
i_locked_minutes_remaining: EntityColumn<number>;
|
|
1103
|
+
vc_password: EntityColumn<string>;
|
|
1104
|
+
};
|
|
1105
|
+
views: {
|
|
1106
|
+
usr_brwStandard: {
|
|
1107
|
+
name: string;
|
|
1108
|
+
keyMappings: {
|
|
1109
|
+
c_user_id: number;
|
|
1110
|
+
};
|
|
1111
|
+
};
|
|
1112
|
+
};
|
|
1113
|
+
lookups: {
|
|
1114
|
+
UserTypes: {
|
|
1115
|
+
name: string;
|
|
1116
|
+
viewMapping: {
|
|
1117
|
+
keyIndex: number;
|
|
1118
|
+
descriptionIndex: number;
|
|
1119
|
+
};
|
|
1120
|
+
entityConstructor: (client: MicroMClient, parentKeys?: ValuesObject) => catUserTypes;
|
|
1121
|
+
};
|
|
1122
|
+
MicromUsersGroups: {
|
|
1123
|
+
name: string;
|
|
1124
|
+
viewMapping: {
|
|
1125
|
+
keyIndex: number;
|
|
1126
|
+
descriptionIndex: number;
|
|
1127
|
+
};
|
|
1128
|
+
entityConstructor: (client: MicroMClient, parentKeys?: ValuesObject) => MicromUsersGroups;
|
|
1129
|
+
};
|
|
1130
|
+
};
|
|
1131
|
+
constructor();
|
|
1132
|
+
}
|
|
1133
|
+
export interface MicromUsersFormProps extends FormOptions<MicromUsers> {
|
|
1134
|
+
disabledTrueLabel?: string;
|
|
1135
|
+
disabledFalseLabel?: string;
|
|
1136
|
+
lockedRemainingLabel?: string;
|
|
1137
|
+
userEnabledLabel?: string;
|
|
1138
|
+
userDisabledLabel?: string;
|
|
1139
|
+
logonAttemptsStatusTitle?: string;
|
|
1140
|
+
logonAttemptsStatusDescription?: string;
|
|
1141
|
+
lockedTitleLabel?: string;
|
|
1142
|
+
minutesLabel?: string;
|
|
1143
|
+
willUnlockInNextLogonLabel?: string;
|
|
1144
|
+
}
|
|
1145
|
+
export const MicromUsersFormDefaultProps: Partial<MicromUsersFormProps>;
|
|
1146
|
+
export function MicromUsersForm(props: MicromUsersFormProps): import("react/jsx-runtime").JSX.Element;
|
|
1147
|
+
export class MicromUsers extends Entity<MicromUsersDef> {
|
|
1148
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
1149
|
+
}
|
|
1150
|
+
export interface IMicromUserStatusPanelColums {
|
|
1151
|
+
vc_username: EntityColumn<string>;
|
|
1152
|
+
vc_password: EntityColumn<string>;
|
|
1153
|
+
bt_islocked: EntityColumn<boolean>;
|
|
1154
|
+
bt_disabled: EntityColumn<boolean>;
|
|
1155
|
+
i_badlogonattempts: EntityColumn<number>;
|
|
1156
|
+
i_locked_minutes_remaining: EntityColumn<number>;
|
|
1157
|
+
dt_locked: EntityColumn<Date>;
|
|
1158
|
+
dt_last_login: EntityColumn<Date>;
|
|
1159
|
+
dt_last_refresh: EntityColumn<Date>;
|
|
1160
|
+
vc_user_groups: EntityColumn<string[]>;
|
|
1161
|
+
}
|
|
1162
|
+
export const MicromUserStatusPanelColumsKeys: string[];
|
|
1163
|
+
export const MicromUserStatusPanelColumns: (default_groups?: string[]) => IMicromUserStatusPanelColums;
|
|
1164
|
+
export const MicromUsersStatusPanelLookups: () => {
|
|
1165
|
+
MicromUsersGroups: {
|
|
1166
|
+
name: string;
|
|
1167
|
+
viewMapping: {
|
|
1168
|
+
keyIndex: number;
|
|
1169
|
+
descriptionIndex: number;
|
|
1170
|
+
};
|
|
1171
|
+
entityConstructor: (client: MicroMClient, parentKeys?: ValuesObject) => MicromUsersGroups;
|
|
1172
|
+
};
|
|
1173
|
+
};
|
|
1174
|
+
export interface MicromUsersStatusPanel {
|
|
1175
|
+
columns: IMicromUserStatusPanelColums;
|
|
1176
|
+
maxBadLogonAttemps: number;
|
|
1177
|
+
entityForm: UseEntityFormReturnType;
|
|
1178
|
+
disabledTrueLabel?: string;
|
|
1179
|
+
disabledFalseLabel?: string;
|
|
1180
|
+
lockedRemainingLabel?: string;
|
|
1181
|
+
userEnabledLabel?: string;
|
|
1182
|
+
userDisabledLabel?: string;
|
|
1183
|
+
logonAttemptsStatusTitle?: string;
|
|
1184
|
+
logonAttemptsStatusDescription?: string;
|
|
1185
|
+
lockedTitleLabel?: string;
|
|
1186
|
+
minutesLabel?: string;
|
|
1187
|
+
willUnlockInNextLogonLabel?: string;
|
|
1188
|
+
loginInfoTitle?: string;
|
|
1189
|
+
}
|
|
1190
|
+
export const MicromUsersStatusPanelDefaultProps: Partial<MicromUsersStatusPanel>;
|
|
1191
|
+
export function MicromMUsersStatusPanel(props: MicromUsersStatusPanel): import("react/jsx-runtime").JSX.Element;
|
|
1192
|
+
export class FileStoreProcessDef extends EntityDefinition {
|
|
1193
|
+
columns: {
|
|
1194
|
+
dt_inserttime: EntityColumn<Date>;
|
|
1195
|
+
dt_lu: EntityColumn<Date>;
|
|
1196
|
+
vc_webinsuser: EntityColumn<string>;
|
|
1197
|
+
vc_webluuser: EntityColumn<string>;
|
|
1198
|
+
vc_insuser: EntityColumn<string>;
|
|
1199
|
+
vc_luuser: EntityColumn<string>;
|
|
1200
|
+
c_fileprocess_id: EntityColumn<string>;
|
|
1201
|
+
};
|
|
1202
|
+
views: {
|
|
1203
|
+
fsp_brwStandard: {
|
|
1204
|
+
name: string;
|
|
1205
|
+
keyMappings: {
|
|
1206
|
+
c_fileprocess_id: number;
|
|
1207
|
+
};
|
|
1208
|
+
};
|
|
1209
|
+
};
|
|
1210
|
+
constructor();
|
|
1211
|
+
}
|
|
1212
|
+
export class FileStoreProcess extends Entity<FileStoreProcessDef> {
|
|
1213
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
1214
|
+
}
|
|
1215
|
+
export class FileStoreDef extends EntityDefinition {
|
|
1216
|
+
columns: {
|
|
1217
|
+
dt_inserttime: EntityColumn<Date>;
|
|
1218
|
+
dt_lu: EntityColumn<Date>;
|
|
1219
|
+
vc_webinsuser: EntityColumn<string>;
|
|
1220
|
+
vc_webluuser: EntityColumn<string>;
|
|
1221
|
+
vc_insuser: EntityColumn<string>;
|
|
1222
|
+
vc_luuser: EntityColumn<string>;
|
|
1223
|
+
c_file_id: EntityColumn<string>;
|
|
1224
|
+
c_fileprocess_id: EntityColumn<string>;
|
|
1225
|
+
vc_filename: EntityColumn<string>;
|
|
1226
|
+
vc_filefolder: EntityColumn<string>;
|
|
1227
|
+
vc_fileguid: EntityColumn<string>;
|
|
1228
|
+
bi_filesize: EntityColumn<number>;
|
|
1229
|
+
c_fileuploadstatus_id: EntityColumn<string>;
|
|
1230
|
+
};
|
|
1231
|
+
views: {
|
|
1232
|
+
fst_brwStandard: {
|
|
1233
|
+
name: string;
|
|
1234
|
+
keyMappings: {
|
|
1235
|
+
c_file_id: number;
|
|
1236
|
+
};
|
|
1237
|
+
};
|
|
1238
|
+
fst_brwFiles: {
|
|
1239
|
+
name: string;
|
|
1240
|
+
keyMappings: {
|
|
1241
|
+
c_file_id: number;
|
|
1242
|
+
c_fileprocess_id: number;
|
|
1243
|
+
};
|
|
1244
|
+
};
|
|
1245
|
+
};
|
|
1246
|
+
constructor();
|
|
1247
|
+
}
|
|
1248
|
+
export class FileStore extends Entity<FileStoreDef> {
|
|
1249
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
1250
|
+
}
|
|
1251
|
+
export class FileStoreStatusDef extends EntityDefinition {
|
|
1252
|
+
columns: {
|
|
1253
|
+
dt_inserttime: EntityColumn<Date>;
|
|
1254
|
+
dt_lu: EntityColumn<Date>;
|
|
1255
|
+
vc_webinsuser: EntityColumn<string>;
|
|
1256
|
+
vc_webluuser: EntityColumn<string>;
|
|
1257
|
+
vc_insuser: EntityColumn<string>;
|
|
1258
|
+
vc_luuser: EntityColumn<string>;
|
|
1259
|
+
c_file_id: EntityColumn<string>;
|
|
1260
|
+
c_status_id: EntityColumn<string>;
|
|
1261
|
+
c_statusvalue_id: EntityColumn<string>;
|
|
1262
|
+
};
|
|
1263
|
+
views: {
|
|
1264
|
+
fsts_brwStandard: {
|
|
1265
|
+
name: string;
|
|
1266
|
+
keyMappings: {
|
|
1267
|
+
c_status_id: number;
|
|
1268
|
+
};
|
|
1269
|
+
};
|
|
1270
|
+
};
|
|
1271
|
+
constructor();
|
|
1272
|
+
}
|
|
1273
|
+
export class FileStoreStatus extends Entity<FileStoreStatusDef> {
|
|
1274
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
1275
|
+
}
|
|
1276
|
+
export class StatusDef extends EntityDefinition {
|
|
1277
|
+
columns: {
|
|
1278
|
+
dt_inserttime: EntityColumn<Date>;
|
|
1279
|
+
dt_lu: EntityColumn<Date>;
|
|
1280
|
+
vc_webinsuser: EntityColumn<string>;
|
|
1281
|
+
vc_webluuser: EntityColumn<string>;
|
|
1282
|
+
vc_insuser: EntityColumn<string>;
|
|
1283
|
+
vc_luuser: EntityColumn<string>;
|
|
1284
|
+
c_status_id: EntityColumn<string>;
|
|
1285
|
+
vc_description: EntityColumn<string>;
|
|
1286
|
+
};
|
|
1287
|
+
views: {
|
|
1288
|
+
sta_brwStandard: {
|
|
1289
|
+
name: string;
|
|
1290
|
+
keyMappings: {
|
|
1291
|
+
c_status_id: number;
|
|
1292
|
+
};
|
|
1293
|
+
};
|
|
1294
|
+
};
|
|
1295
|
+
constructor();
|
|
1296
|
+
}
|
|
1297
|
+
export class Status extends Entity<StatusDef> {
|
|
1298
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
1299
|
+
}
|
|
1300
|
+
export class StatusValuesDef extends EntityDefinition {
|
|
1301
|
+
columns: {
|
|
1302
|
+
dt_inserttime: EntityColumn<Date>;
|
|
1303
|
+
dt_lu: EntityColumn<Date>;
|
|
1304
|
+
vc_webinsuser: EntityColumn<string>;
|
|
1305
|
+
vc_webluuser: EntityColumn<string>;
|
|
1306
|
+
vc_insuser: EntityColumn<string>;
|
|
1307
|
+
vc_luuser: EntityColumn<string>;
|
|
1308
|
+
c_status_id: EntityColumn<string>;
|
|
1309
|
+
c_statusvalue_id: EntityColumn<string>;
|
|
1310
|
+
vc_description: EntityColumn<string>;
|
|
1311
|
+
bt_initial_value: EntityColumn<boolean>;
|
|
1312
|
+
};
|
|
1313
|
+
views: {
|
|
1314
|
+
stv_brwStandard: {
|
|
1315
|
+
name: string;
|
|
1316
|
+
keyMappings: {
|
|
1317
|
+
c_statusvalue_id: number;
|
|
1318
|
+
};
|
|
1319
|
+
};
|
|
1320
|
+
};
|
|
1321
|
+
constructor();
|
|
1322
|
+
}
|
|
1323
|
+
export class StatusValues extends Entity<StatusValuesDef> {
|
|
1324
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
1325
|
+
}
|
|
1326
|
+
export class MicromUsersGroupsMembersDef extends EntityDefinition {
|
|
1327
|
+
columns: {
|
|
1328
|
+
dt_inserttime: EntityColumn<Date>;
|
|
1329
|
+
dt_lu: EntityColumn<Date>;
|
|
1330
|
+
vc_webinsuser: EntityColumn<string>;
|
|
1331
|
+
vc_webluuser: EntityColumn<string>;
|
|
1332
|
+
vc_insuser: EntityColumn<string>;
|
|
1333
|
+
vc_luuser: EntityColumn<string>;
|
|
1334
|
+
c_user_group_id: EntityColumn<string>;
|
|
1335
|
+
c_user_id: EntityColumn<string>;
|
|
1336
|
+
};
|
|
1337
|
+
views: {
|
|
1338
|
+
mgm_brwStandard: {
|
|
1339
|
+
name: string;
|
|
1340
|
+
keyMappings: {
|
|
1341
|
+
c_user_id: number;
|
|
1342
|
+
};
|
|
1343
|
+
};
|
|
1344
|
+
};
|
|
1345
|
+
lookups: {
|
|
1346
|
+
MicromUsers: {
|
|
1347
|
+
name: string;
|
|
1348
|
+
viewMapping: {
|
|
1349
|
+
keyIndex: number;
|
|
1350
|
+
descriptionIndex: number;
|
|
1351
|
+
};
|
|
1352
|
+
entityConstructor: (client: MicroMClient, parentKeys?: ValuesObject) => MicromUsers;
|
|
1353
|
+
};
|
|
1354
|
+
MicromUsersGroups: {
|
|
1355
|
+
name: string;
|
|
1356
|
+
viewMapping: {
|
|
1357
|
+
keyIndex: number;
|
|
1358
|
+
descriptionIndex: number;
|
|
1359
|
+
};
|
|
1360
|
+
entityConstructor: (client: MicroMClient, parentKeys?: ValuesObject) => MicromUsersGroups;
|
|
1361
|
+
};
|
|
1362
|
+
};
|
|
1363
|
+
constructor();
|
|
1364
|
+
}
|
|
1365
|
+
export class MicromUsersGroupsMembers extends Entity<MicromUsersGroupsMembersDef> {
|
|
1366
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
1367
|
+
}
|
|
1368
|
+
export class ImportEntityDataDef extends EntityDefinition {
|
|
1369
|
+
columns: {
|
|
1370
|
+
dt_inserttime: EntityColumn<Date>;
|
|
1371
|
+
dt_lu: EntityColumn<Date>;
|
|
1372
|
+
vc_webinsuser: EntityColumn<string>;
|
|
1373
|
+
vc_webluuser: EntityColumn<string>;
|
|
1374
|
+
vc_insuser: EntityColumn<string>;
|
|
1375
|
+
vc_luuser: EntityColumn<string>;
|
|
1376
|
+
c_fileprocess_id: EntityColumn<string>;
|
|
1377
|
+
};
|
|
1378
|
+
views: {
|
|
1379
|
+
ipr_brwStandard: {
|
|
1380
|
+
name: string;
|
|
1381
|
+
keyMappings: {
|
|
1382
|
+
c_import_process: number;
|
|
1383
|
+
};
|
|
1384
|
+
};
|
|
1385
|
+
};
|
|
1386
|
+
lookups: {
|
|
1387
|
+
FileStoreProcess: {
|
|
1388
|
+
name: string;
|
|
1389
|
+
viewMapping: {
|
|
1390
|
+
keyIndex: number;
|
|
1391
|
+
descriptionIndex: number;
|
|
1392
|
+
};
|
|
1393
|
+
entityConstructor: (client: MicroMClient, parentKeys?: ValuesObject) => FileStoreProcess;
|
|
1394
|
+
};
|
|
1395
|
+
};
|
|
1396
|
+
constructor();
|
|
1397
|
+
}
|
|
1398
|
+
export interface CircleFilledIconProps {
|
|
1399
|
+
backColor?: MantineColor;
|
|
1400
|
+
color?: MantineColor;
|
|
1401
|
+
width?: string | number;
|
|
1402
|
+
minWidth?: string | number;
|
|
1403
|
+
icon: ReactNode;
|
|
1404
|
+
mr?: string;
|
|
1405
|
+
}
|
|
1406
|
+
export const CircleFilledIconDefaultProps: Partial<CircleFilledIconProps>;
|
|
1407
|
+
export const CircleFilledIcon: import("react").ForwardRefExoticComponent<CircleFilledIconProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
1408
|
+
export interface ImportEntityDataLabels {
|
|
1409
|
+
Icon?: (props: IconProps) => ReactNode;
|
|
1410
|
+
Title?: string;
|
|
1411
|
+
HelpText?: string;
|
|
1412
|
+
}
|
|
1413
|
+
export const ImportEntityDataLabels: Partial<ImportEntityDataLabels>;
|
|
1414
|
+
export class ImportEntityData extends Entity<ImportEntityDataDef> {
|
|
1415
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
1416
|
+
}
|
|
1417
|
+
export interface ImportEntityDataFormProps extends FormOptions<ImportEntityData> {
|
|
1418
|
+
importEntity?: Entity<EntityDefinition>;
|
|
1419
|
+
importInfoLabel?: string;
|
|
1420
|
+
csvInstructionsLabel?: string;
|
|
1421
|
+
columnHeaderLabel?: string;
|
|
1422
|
+
dataNameLabel?: string;
|
|
1423
|
+
contentLabel?: string;
|
|
1424
|
+
dataTypeLabel?: string;
|
|
1425
|
+
errorReadingFileLabel?: string;
|
|
1426
|
+
emptyCSVFileLabel?: string;
|
|
1427
|
+
missingColumnsLabel?: string;
|
|
1428
|
+
dateFormatLabel?: string;
|
|
1429
|
+
numberFormatLabel?: string;
|
|
1430
|
+
downloadSampleLabel?: string;
|
|
1431
|
+
importButtonLabel?: string;
|
|
1432
|
+
importHelpAndInstructionsLabel?: string;
|
|
1433
|
+
recordsImportedSusccessfullyLabel?: string;
|
|
1434
|
+
recordsNotImportedDueToErrorsLabel?: string;
|
|
1435
|
+
importTheCSVFileLabel?: string;
|
|
1436
|
+
importedFileLabel?: string;
|
|
1437
|
+
errorColumnTitle?: string;
|
|
1438
|
+
rowColumnTitle?: string;
|
|
1439
|
+
}
|
|
1440
|
+
export const ImportEntityDataFormDefaultProps: Partial<ImportEntityDataFormProps>;
|
|
1441
|
+
export function ImportEntityDataForm(props: ImportEntityDataFormProps): import("react/jsx-runtime").JSX.Element;
|
|
1442
|
+
export class EmailServiceConfigurationDef extends EntityDefinition {
|
|
1443
|
+
columns: {
|
|
1444
|
+
dt_inserttime: EntityColumn<Date>;
|
|
1445
|
+
dt_lu: EntityColumn<Date>;
|
|
1446
|
+
vc_webinsuser: EntityColumn<string>;
|
|
1447
|
+
vc_webluuser: EntityColumn<string>;
|
|
1448
|
+
vc_insuser: EntityColumn<string>;
|
|
1449
|
+
vc_luuser: EntityColumn<string>;
|
|
1450
|
+
c_email_configuration_id: EntityColumn<string>;
|
|
1451
|
+
vc_smtp_host: EntityColumn<string>;
|
|
1452
|
+
i_smtp_port: EntityColumn<number>;
|
|
1453
|
+
vc_user_name: EntityColumn<string>;
|
|
1454
|
+
vc_password: EntityColumn<string>;
|
|
1455
|
+
bt_use_ssl: EntityColumn<boolean>;
|
|
1456
|
+
vc_default_sender_email: EntityColumn<string>;
|
|
1457
|
+
vc_default_sender_name: EntityColumn<string>;
|
|
1458
|
+
vc_template_subject: EntityColumn<string>;
|
|
1459
|
+
vc_template_body: EntityColumn<string>;
|
|
1460
|
+
};
|
|
1461
|
+
views: {
|
|
1462
|
+
eqc_brwStandard: {
|
|
1463
|
+
name: string;
|
|
1464
|
+
keyMappings: {
|
|
1465
|
+
c_email_configuration_id: number;
|
|
1466
|
+
};
|
|
1467
|
+
};
|
|
1468
|
+
};
|
|
1469
|
+
constructor();
|
|
1470
|
+
}
|
|
1471
|
+
export interface EmailServiceConfigurationFormProps extends FormOptions<EmailServiceConfiguration> {
|
|
1472
|
+
settingsTABLabel?: string;
|
|
1473
|
+
settingsTABIcon?: ReactNode;
|
|
1474
|
+
recoveryTABLabel?: string;
|
|
1475
|
+
recoveryTABIcon?: ReactNode;
|
|
1476
|
+
setDefaultMessageButtonLabel?: string;
|
|
1477
|
+
}
|
|
1478
|
+
export const EmailServiceConfigurationFormDefaultProps: Partial<EmailServiceConfigurationFormProps>;
|
|
1479
|
+
export function EmailServiceConfigurationForm(props: EmailServiceConfigurationFormProps): import("react/jsx-runtime").JSX.Element;
|
|
1480
|
+
export const EmailServiceConfigurationIcon: import("react").ForwardRefExoticComponent<import("@tabler/icons-react").IconProps & import("react").RefAttributes<import("@tabler/icons-react").Icon>>;
|
|
1481
|
+
export const EmailServiceConfigurationHelpText = "* Configure your email server settings.";
|
|
1482
|
+
export const EmailServiceConfigurationTitle = "Email Service Configuration";
|
|
1483
|
+
export class EmailServiceConfiguration extends Entity<EmailServiceConfigurationDef> {
|
|
1484
|
+
constructor(client: MicroMClient, parentKeys?: {});
|
|
1485
|
+
}
|
|
1486
|
+
export interface UseFileUploadReturnType {
|
|
1487
|
+
uploadFiles: (selectedFiles: File[]) => Promise<void>;
|
|
1488
|
+
deleteFile: (file_id: string, fileGUID: string) => Promise<DBStatusResult>;
|
|
1489
|
+
downloadFile: (fileUrl: string, fileName?: string) => Promise<void>;
|
|
1490
|
+
uploadProgress: Record<string, UploadProgressReport>;
|
|
1491
|
+
fileProcessID: string;
|
|
1492
|
+
maxIndividualFileSize?: number;
|
|
1493
|
+
maxTotalFilesSize?: number;
|
|
1494
|
+
maxFilesCount?: number;
|
|
1495
|
+
errorNotification?: string;
|
|
1496
|
+
cancelledNotification?: boolean;
|
|
1497
|
+
uploadingNotification?: boolean;
|
|
1498
|
+
clearNotifications?: () => void;
|
|
1499
|
+
cancelUpload?: () => void;
|
|
1500
|
+
loadingNotification?: boolean;
|
|
1501
|
+
}
|
|
1502
|
+
export type ValidateFileReturnType = {
|
|
1503
|
+
error: boolean;
|
|
1504
|
+
message?: string;
|
|
1505
|
+
};
|
|
1506
|
+
export interface UseFileUploadProps {
|
|
1507
|
+
client: MicroMClient;
|
|
1508
|
+
fileProcessColumn: EntityColumn<string>;
|
|
1509
|
+
maxIndividualFileSize?: number;
|
|
1510
|
+
maxTotalFilesSize?: number;
|
|
1511
|
+
maxFilesCount?: number;
|
|
1512
|
+
youCanUploadAMaximumOfText?: string;
|
|
1513
|
+
filesText?: string;
|
|
1514
|
+
exceedMaximumIndividualSizeText?: string;
|
|
1515
|
+
unspecifiedErrorWhenUploadingFileText?: string;
|
|
1516
|
+
totalUploadExceedsMaximumSizeText?: string;
|
|
1517
|
+
onCancel?: () => void;
|
|
1518
|
+
editor?: 'none' | 'image';
|
|
1519
|
+
onValidateFile?: (file: File) => Promise<ValidateFileReturnType>;
|
|
1520
|
+
thumbnailMaxSize?: number;
|
|
1521
|
+
thumbnailQuality?: number;
|
|
1522
|
+
}
|
|
1523
|
+
export const UseFileUploadDefaultProps: Partial<UseFileUploadProps>;
|
|
1524
|
+
export interface UploadProgressReport {
|
|
1525
|
+
errorMessage?: string;
|
|
1526
|
+
status_id: string;
|
|
1527
|
+
file_id?: string;
|
|
1528
|
+
progress: number;
|
|
1529
|
+
done?: boolean;
|
|
1530
|
+
cancelled?: boolean;
|
|
1531
|
+
documentURL?: string;
|
|
1532
|
+
file_name: string;
|
|
1533
|
+
file_size: number;
|
|
1534
|
+
vc_fileguid?: string;
|
|
1535
|
+
thumbnailURL?: string;
|
|
1536
|
+
}
|
|
1537
|
+
export type UploadStatus = 'Pending' | 'Uploading' | 'Uploaded' | 'Failed' | 'Cancelled';
|
|
1538
|
+
export type FileUploaderView = {
|
|
1539
|
+
c_file_id: string;
|
|
1540
|
+
vc_filename: string;
|
|
1541
|
+
vc_filefolder: string;
|
|
1542
|
+
vc_fileguid: string;
|
|
1543
|
+
c_fileuploadstatus_id: string;
|
|
1544
|
+
bi_filesize: number;
|
|
1545
|
+
};
|
|
1546
|
+
export function useFileUpload(props: UseFileUploadProps): UseFileUploadReturnType;
|
|
1547
|
+
export interface FilePreviewProps {
|
|
1548
|
+
documentURL: string;
|
|
1549
|
+
onClose: () => void;
|
|
1550
|
+
closeText: string;
|
|
1551
|
+
filePreviewError?: string;
|
|
1552
|
+
}
|
|
1553
|
+
export function ImagePreview({ documentURL, onClose, closeText }: FilePreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
1554
|
+
export const PDFPreviewDefaultProps: Partial<FilePreviewProps>;
|
|
1555
|
+
export function PDFPreview(props: FilePreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
1556
|
+
export type PreviewFileTypes = 'image' | 'pdf' | 'other';
|
|
1557
|
+
export const getFileType: (file_name: string) => PreviewFileTypes;
|
|
1558
|
+
export interface FileUploaderProps extends Omit<DropzoneProps, 'children' | 'onDrop' | 'maxSize' | 'maxFiles'> {
|
|
1559
|
+
IdleIcon?: (props: IconProps) => ReactNode;
|
|
1560
|
+
UploadText?: string;
|
|
1561
|
+
AttachUpToText?: string;
|
|
1562
|
+
FilesText?: string;
|
|
1563
|
+
EachFileShouldNotExceedText?: string;
|
|
1564
|
+
uploadAPI: UseFileUploadReturnType;
|
|
1565
|
+
onDelete?: (file_id: string) => boolean;
|
|
1566
|
+
imageProps?: ImageProps;
|
|
1567
|
+
closeText?: string;
|
|
1568
|
+
cancelledText?: string;
|
|
1569
|
+
operationCancelledText?: string;
|
|
1570
|
+
pdfCannotBeViewedText?: string;
|
|
1571
|
+
showCancelButton?: boolean;
|
|
1572
|
+
cancelLabel?: string;
|
|
1573
|
+
}
|
|
1574
|
+
export const FileUploaderDefaultProps: Partial<FileUploaderProps>;
|
|
1575
|
+
export function FileUploader(props: FileUploaderProps): import("react/jsx-runtime").JSX.Element;
|
|
1576
|
+
export interface FilesUploadFormProps extends UseFileUploadProps {
|
|
1577
|
+
fileProcessColumn: EntityColumn<string>;
|
|
1578
|
+
onOK?: (fileprocess_id: string, uploadProgress: Record<string, UploadProgressReport>) => void;
|
|
1579
|
+
onDelete?: (file_id: string) => boolean;
|
|
1580
|
+
helpMessage?: string;
|
|
1581
|
+
uploaderProps?: Omit<FileUploaderProps, 'uploadAPI' | 'abortSignal'>;
|
|
1582
|
+
okLabel?: string;
|
|
1583
|
+
showOKButton?: boolean;
|
|
1584
|
+
editor?: 'none' | 'image';
|
|
1585
|
+
onValidateFile?: (file: File) => Promise<ValidateFileReturnType>;
|
|
1586
|
+
}
|
|
1587
|
+
export const FilesUploadFormDefaultProps: Partial<FilesUploadFormProps>;
|
|
1588
|
+
export function FilesUploadForm(props: FilesUploadFormProps): import("react/jsx-runtime").JSX.Element;
|
|
1589
|
+
export interface ModalFileUploadProps {
|
|
1590
|
+
client: MicroMClient;
|
|
1591
|
+
fileProcessColumn: EntityColumn<string>;
|
|
1592
|
+
onOK?: (fileprocess_id: string, uploadProgress: Record<string, UploadProgressReport>) => void;
|
|
1593
|
+
onCancel?: () => void;
|
|
1594
|
+
onClosed?: () => void;
|
|
1595
|
+
modalProps?: ModalSettings;
|
|
1596
|
+
modalTitle?: string;
|
|
1597
|
+
filesUploadFormProps: Omit<FilesUploadFormProps, 'fileProcessColumn' | 'uploaderProps' | 'client' | 'onOK' | 'onCancel'>;
|
|
1598
|
+
uploaderProps?: Omit<FileUploaderProps, 'uploadAPI' | 'abortSignal'>;
|
|
1599
|
+
}
|
|
1600
|
+
export const UseFileUploadFormOpenDefaultProps: Partial<ModalFileUploadProps>;
|
|
1601
|
+
export function useFilesUploadForm(): (props: ModalFileUploadProps) => Promise<void>;
|
|
1602
|
+
export interface useEntityCSVImportValidationProps {
|
|
1603
|
+
errorReadingFileLabel?: string;
|
|
1604
|
+
emptyCSVFileLabel?: string;
|
|
1605
|
+
missingColumnsLabel?: string;
|
|
1606
|
+
}
|
|
1607
|
+
export function useEntityCSVImportValidation({ errorReadingFileLabel, emptyCSVFileLabel, missingColumnsLabel }: useEntityCSVImportValidationProps): {
|
|
1608
|
+
validateEntityImportCSVFile: (props: {
|
|
1609
|
+
file: File;
|
|
1610
|
+
requiredColumns: string[];
|
|
1611
|
+
}) => Promise<ValidateFileReturnType>;
|
|
1612
|
+
};
|
|
1613
|
+
export function useImportData(importEntity?: Entity<EntityDefinition>): {
|
|
1614
|
+
execute: (fileprocess_id: string) => Promise<OperationStatus<ImpDataResult> | undefined>;
|
|
1615
|
+
importStatus: OperationStatus<ImpDataResult>;
|
|
1616
|
+
cancellation: AbortController;
|
|
1617
|
+
};
|
|
1618
|
+
export interface MicroMClientClaimTypes {
|
|
1619
|
+
username: string;
|
|
1620
|
+
useremail?: string;
|
|
1621
|
+
userinitials?: string;
|
|
1622
|
+
[k: string]: unknown;
|
|
1623
|
+
}
|
|
1624
|
+
export class MicroMToken {
|
|
1625
|
+
expiration: string;
|
|
1626
|
+
expires_in: number;
|
|
1627
|
+
access_token: string;
|
|
1628
|
+
refresh_token: string;
|
|
1629
|
+
token_type: string;
|
|
1630
|
+
claims: Partial<MicroMClientClaimTypes>;
|
|
1631
|
+
constructor(access_token?: string, expires_in?: number, refresh_token?: string, token_type?: string, claims?: {});
|
|
1632
|
+
className(): string;
|
|
1633
|
+
}
|
|
1634
|
+
export type DataOperationType = "add" | "edit" | "delete" | "get" | "lookup" | "view" | "action" | "login" | "refresh" | "proc" | "import" | "other";
|
|
1635
|
+
export interface OperationStatus<T> {
|
|
1636
|
+
loading?: boolean;
|
|
1637
|
+
error?: MicroMError;
|
|
1638
|
+
operationType?: DataOperationType;
|
|
1639
|
+
data?: T;
|
|
1640
|
+
}
|
|
1641
|
+
export type StatusCompletedHandler<T extends MicroMToken | DBStatusResult | DataResult | ValuesObject | null> = (status: OperationStatus<T>) => void;
|
|
1642
|
+
export interface UseImportDataProps {
|
|
1643
|
+
initialFormMode: FormMode;
|
|
1644
|
+
title?: string;
|
|
1645
|
+
element?: HTMLElement;
|
|
1646
|
+
getDataOnInit?: boolean;
|
|
1647
|
+
modalFormSize?: MicroMModalSize;
|
|
1648
|
+
handleModalSaved: (newStatus: OperationStatus<DBStatusResult | null>) => Promise<void>;
|
|
1649
|
+
handleModalCancel: () => Promise<void>;
|
|
1650
|
+
handleModalClosed?: () => void;
|
|
1651
|
+
}
|
|
1652
|
+
export function useImportDataForm({ initialFormMode, title, element, getDataOnInit, modalFormSize, handleModalCancel, handleModalClosed, handleModalSaved }: UseImportDataProps): {
|
|
1653
|
+
openImportDataForm: (importEntity: Entity<EntityDefinition>) => Promise<void>;
|
|
1654
|
+
};
|
|
1655
|
+
export interface UseExportToExcelProps {
|
|
1656
|
+
data: DataResult[];
|
|
1657
|
+
dataResultNames?: string[];
|
|
1658
|
+
}
|
|
1659
|
+
export function useExportToExcel(props: UseExportToExcelProps): {
|
|
1660
|
+
exportToExcel: () => Promise<void>;
|
|
1661
|
+
};
|
|
1662
|
+
export interface UseViewFiltersProps extends Omit<UseEntityFormOptions, 'noSaveOnSubmit'> {
|
|
1663
|
+
}
|
|
1664
|
+
export function useViewFiltersForm(props: UseViewFiltersProps): import("src").UseEntityFormReturnType;
|
|
1665
|
+
export const ApplyFiltersDefaultLabel = "Apply Filters";
|
|
1666
|
+
export function AutoFiltersForm(props: FormOptions<Entity<EntityDefinition>>): import("react/jsx-runtime").JSX.Element;
|
|
1667
|
+
export function createEntityForm<T extends FormOptions<Entity<EntityDefinition>>>(props: T): Promise<ReactNode>;
|
|
1668
|
+
export interface openEntityFormProps<T extends FormOptions<Entity<EntityDefinition>>> {
|
|
1669
|
+
modals: ModalContextType;
|
|
1670
|
+
title?: string;
|
|
1671
|
+
element?: HTMLElement;
|
|
1672
|
+
handleModalSaved: (newStatus: OperationStatus<DBStatusResult | null>) => Promise<void>;
|
|
1673
|
+
handleModalCancel: () => Promise<void>;
|
|
1674
|
+
handleModalClosed?: () => void;
|
|
1675
|
+
modalFormSize?: MicroMModalSize;
|
|
1676
|
+
formProps: T;
|
|
1677
|
+
}
|
|
1678
|
+
export function openEntityForm<T extends FormOptions<Entity<EntityDefinition>>>({ modals, title, element, handleModalCancel, handleModalSaved, modalFormSize, formProps, handleModalClosed }: openEntityFormProps<T>): Promise<void>;
|
|
1679
|
+
export interface EntityUILabels {
|
|
1680
|
+
addLabel: string;
|
|
1681
|
+
editLabel: string;
|
|
1682
|
+
deleteLabel: string;
|
|
1683
|
+
viewLabel: string;
|
|
1684
|
+
YouWillDeleteLabel: string;
|
|
1685
|
+
recordsLabel: string;
|
|
1686
|
+
recordLabel: string;
|
|
1687
|
+
AreYouSureLabel: string;
|
|
1688
|
+
warningLabel: string;
|
|
1689
|
+
YouMustSelectOneOrMoreRecordsToDelete: string;
|
|
1690
|
+
closeLabel: string;
|
|
1691
|
+
YouMustSelectOneOrMoreRecordsToExecuteAction: string;
|
|
1692
|
+
YouMustSelect: string;
|
|
1693
|
+
YouMustSelectBetween: string;
|
|
1694
|
+
YouMustSelectAtLeast: string;
|
|
1695
|
+
YouMustSelectMaximum: string;
|
|
1696
|
+
}
|
|
1697
|
+
export interface UseEntityUIProps {
|
|
1698
|
+
entity?: Entity<EntityDefinition>;
|
|
1699
|
+
parentKeys?: ValuesObject;
|
|
1700
|
+
modalFormSize?: MicroMModalSize;
|
|
1701
|
+
parentFormAPI?: UseEntityFormReturnType;
|
|
1702
|
+
saveFormBeforeAdd?: boolean;
|
|
1703
|
+
onModalSaved?: (new_status: OperationStatus<DBStatusResult | null>) => void;
|
|
1704
|
+
onModalCancelled?: () => void;
|
|
1705
|
+
onRecordsDeleted?: () => void;
|
|
1706
|
+
onActionRefreshOnClose?: () => void;
|
|
1707
|
+
labels?: EntityUILabels;
|
|
1708
|
+
onAddClick?: (gridAddClick: (element?: HTMLElement) => void, element?: HTMLElement) => void;
|
|
1709
|
+
onEditClick?: (keys: ValuesObject, element?: HTMLElement) => void;
|
|
1710
|
+
onDeleteClick?: (keys: ValuesObject[], element?: HTMLElement) => void;
|
|
1711
|
+
onActionExecuted?: (actionName: string, result?: boolean) => void;
|
|
1712
|
+
onModalClosed?: (cancelled?: boolean) => void;
|
|
1713
|
+
}
|
|
1714
|
+
export function useEntityUI(props: UseEntityUIProps): {
|
|
1715
|
+
handleAddClick: (element?: HTMLElement, onClosed?: (cancelled?: boolean) => void) => Promise<void>;
|
|
1716
|
+
handleEditClick: (keys: ValuesObject, element?: HTMLElement, onClosed?: (cancelled?: boolean) => void) => Promise<void>;
|
|
1717
|
+
handleViewClick: (keys: ValuesObject, element?: HTMLElement, onClosed?: (cancelled?: boolean) => void) => Promise<void>;
|
|
1718
|
+
handleDeleteClick: (keys: ValuesObject[], element?: HTMLElement) => Promise<void>;
|
|
1719
|
+
handleExecuteAction: (action: EntityClientAction, keys: ValuesObject[], element?: HTMLElement) => Promise<boolean | undefined>;
|
|
1720
|
+
handleDeleteRecord: (keys: ValuesObject, element?: HTMLElement) => Promise<void>;
|
|
1721
|
+
handleImportDataClick: () => Promise<void>;
|
|
1722
|
+
};
|
|
1723
|
+
export function useExecuteProc(entity: Entity<EntityDefinition>, proc: EntityProc): {
|
|
1724
|
+
execute: (values?: ValuesObject) => Promise<OperationStatus<DataResult[]> | undefined>;
|
|
1725
|
+
status: OperationStatus<DataResult[]>;
|
|
1726
|
+
};
|
|
1727
|
+
export interface SearchFilterInputProps extends MultiSelectProps {
|
|
1728
|
+
onSearchClick: React.MouseEventHandler;
|
|
1729
|
+
size: string;
|
|
1730
|
+
iconsSize: string;
|
|
1731
|
+
placeholder?: string;
|
|
1732
|
+
autoFocus?: boolean;
|
|
1733
|
+
addFilterLabel?: string;
|
|
1734
|
+
iconVariant?: ActionIconVariant;
|
|
1735
|
+
[x: string]: any;
|
|
1736
|
+
}
|
|
1737
|
+
export const SearchFilterInputDefaultProps: Partial<SearchFilterInputProps>;
|
|
1738
|
+
export function SearchFilterInput(props: SearchFilterInputProps): import("react/jsx-runtime").JSX.Element;
|
|
1739
|
+
export function useFirstVisible(ref: React.RefObject<HTMLElement>, options?: IntersectionObserverInit): boolean;
|
|
1740
|
+
export interface OpenFormProps {
|
|
1741
|
+
entity: Entity<EntityDefinition>;
|
|
1742
|
+
initialFormMode: FormMode;
|
|
1743
|
+
title?: string;
|
|
1744
|
+
element?: HTMLElement;
|
|
1745
|
+
getDataOnInit?: boolean;
|
|
1746
|
+
onModalSaved?: (new_status: OperationStatus<DBStatusResult | null>) => void;
|
|
1747
|
+
onModalCancelled?: () => void;
|
|
1748
|
+
onModalClosed?: () => void;
|
|
1749
|
+
modalFormSize?: MicroMModalSize;
|
|
1750
|
+
OKText?: string;
|
|
1751
|
+
CancelText?: string;
|
|
1752
|
+
showCancel?: boolean;
|
|
1753
|
+
otherFormProps?: any;
|
|
1754
|
+
dontAddEntityTitle?: boolean;
|
|
1755
|
+
}
|
|
1756
|
+
export function useOpenForm(): (props: OpenFormProps) => Promise<void>;
|
|
1757
|
+
export declare namespace query {
|
|
1758
|
+
export function html(str: any): Query | undefined;
|
|
1759
|
+
import version = Query.version;
|
|
1760
|
+
export { version };
|
|
1761
|
+
}
|
|
1762
|
+
export declare namespace w2locale {
|
|
1763
|
+
let locale: string;
|
|
1764
|
+
let dateFormat: string;
|
|
1765
|
+
let timeFormat: string;
|
|
1766
|
+
let datetimeFormat: string;
|
|
1767
|
+
let currencyPrefix: string;
|
|
1768
|
+
let currencySuffix: string;
|
|
1769
|
+
let currencyPrecision: number;
|
|
1770
|
+
let groupSymbol: string;
|
|
1771
|
+
let decimalSymbol: string;
|
|
1772
|
+
let shortmonths: string[];
|
|
1773
|
+
let fullmonths: string[];
|
|
1774
|
+
let shortdays: string[];
|
|
1775
|
+
let fulldays: string[];
|
|
1776
|
+
let weekStarts: string;
|
|
1777
|
+
let phrases: {
|
|
1778
|
+
'${count} letters or more...': string;
|
|
1779
|
+
'Add new record': string;
|
|
1780
|
+
'Add New': string;
|
|
1781
|
+
'Advanced Search': string;
|
|
1782
|
+
after: string;
|
|
1783
|
+
'AJAX error. See console for more details.': string;
|
|
1784
|
+
'All Fields': string;
|
|
1785
|
+
All: string;
|
|
1786
|
+
Any: string;
|
|
1787
|
+
'Are you sure you want to delete ${count} ${records}?': string;
|
|
1788
|
+
'Attach files by dragging and dropping or Click to Select': string;
|
|
1789
|
+
before: string;
|
|
1790
|
+
'begins with': string;
|
|
1791
|
+
begins: string;
|
|
1792
|
+
between: string;
|
|
1793
|
+
buffered: string;
|
|
1794
|
+
Cancel: string;
|
|
1795
|
+
Close: string;
|
|
1796
|
+
Column: string;
|
|
1797
|
+
Confirmation: string;
|
|
1798
|
+
contains: string;
|
|
1799
|
+
Copied: string;
|
|
1800
|
+
'Copy to clipboard': string;
|
|
1801
|
+
'Current Date & Time': string;
|
|
1802
|
+
'Delete selected records': string;
|
|
1803
|
+
Delete: string;
|
|
1804
|
+
'Do you want to delete search item "${item}"?': string;
|
|
1805
|
+
'Edit selected record': string;
|
|
1806
|
+
Edit: string;
|
|
1807
|
+
'Empty list': string;
|
|
1808
|
+
'ends with': string;
|
|
1809
|
+
ends: string;
|
|
1810
|
+
'Field should be at least ${count} characters.': string;
|
|
1811
|
+
Hide: string;
|
|
1812
|
+
in: string;
|
|
1813
|
+
'is not': string;
|
|
1814
|
+
is: string;
|
|
1815
|
+
'less than': string;
|
|
1816
|
+
'Line #': string;
|
|
1817
|
+
'Load ${count} more...': string;
|
|
1818
|
+
'Loading...': string;
|
|
1819
|
+
'Maximum number of files is ${count}': string;
|
|
1820
|
+
'Maximum total size is ${count}': string;
|
|
1821
|
+
Modified: string;
|
|
1822
|
+
'more than': string;
|
|
1823
|
+
'Multiple Fields': string;
|
|
1824
|
+
Name: string;
|
|
1825
|
+
'No items found': string;
|
|
1826
|
+
'No matches': string;
|
|
1827
|
+
No: string;
|
|
1828
|
+
none: string;
|
|
1829
|
+
'Not a float': string;
|
|
1830
|
+
'Not a hex number': string;
|
|
1831
|
+
'Not a valid date': string;
|
|
1832
|
+
'Not a valid email': string;
|
|
1833
|
+
'Not alpha-numeric': string;
|
|
1834
|
+
'Not an integer': string;
|
|
1835
|
+
'Not in money format': string;
|
|
1836
|
+
'not in': string;
|
|
1837
|
+
Notification: string;
|
|
1838
|
+
of: string;
|
|
1839
|
+
Ok: string;
|
|
1840
|
+
Opacity: string;
|
|
1841
|
+
'Record ID': string;
|
|
1842
|
+
record: string;
|
|
1843
|
+
records: string;
|
|
1844
|
+
'Refreshing...': string;
|
|
1845
|
+
'Reload data in the list': string;
|
|
1846
|
+
Remove: string;
|
|
1847
|
+
'Remove This Field': string;
|
|
1848
|
+
'Request aborted.': string;
|
|
1849
|
+
'Required field': string;
|
|
1850
|
+
Reset: string;
|
|
1851
|
+
'Restore Default State': string;
|
|
1852
|
+
'Returned data is not in valid JSON format.': string;
|
|
1853
|
+
'Save changed records': string;
|
|
1854
|
+
'Save Grid State': string;
|
|
1855
|
+
Save: string;
|
|
1856
|
+
'Saved Searches': string;
|
|
1857
|
+
'Saving...': string;
|
|
1858
|
+
'Search took ${count} seconds': string;
|
|
1859
|
+
Search: string;
|
|
1860
|
+
'Select Hour': string;
|
|
1861
|
+
'Select Minute': string;
|
|
1862
|
+
selected: string;
|
|
1863
|
+
'Server Response ${count} seconds': string;
|
|
1864
|
+
'Show/hide columns': string;
|
|
1865
|
+
Show: string;
|
|
1866
|
+
Size: string;
|
|
1867
|
+
Skip: string;
|
|
1868
|
+
'Sorting took ${count} seconds': string;
|
|
1869
|
+
'Type to search...': string;
|
|
1870
|
+
Type: string;
|
|
1871
|
+
Yes: string;
|
|
1872
|
+
Yesterday: string;
|
|
1873
|
+
'Your remote data source record count has changed, reloading from the first record.': string;
|
|
1874
|
+
};
|
|
1875
|
+
}
|
|
1876
|
+
type w2record = Record<string, unknown> & {
|
|
1877
|
+
recid: number;
|
|
1878
|
+
};
|
|
1879
|
+
type w2recordId = string | number;
|
|
1880
|
+
type w2columnField = string;
|
|
1881
|
+
export type GridSelectionMode = 'multi' | 'single';
|
|
1882
|
+
export type GridColumnFormat = 'url' | 'email' | 'string' | 'check' | 'image' | 'html';
|
|
1883
|
+
export type GridColumnRender = (value: unknown, cellElement?: HTMLElement, record?: GridRecord, field?: w2columnField) => ReactNode;
|
|
1884
|
+
export type GridRecord = w2record;
|
|
1885
|
+
export type GridSourceRecord = Record<string | number, unknown> | unknown[];
|
|
1886
|
+
export type GridRecordId = w2recordId;
|
|
1887
|
+
export type GridColumn = {
|
|
1888
|
+
field: string;
|
|
1889
|
+
text: string;
|
|
1890
|
+
hidden?: boolean;
|
|
1891
|
+
format?: GridColumnFormat;
|
|
1892
|
+
autoSizeMax?: number;
|
|
1893
|
+
render?: GridColumnRender;
|
|
1894
|
+
sqlType?: SQLType;
|
|
1895
|
+
};
|
|
1896
|
+
export type GridColumnsOverrides = Record<string | number, Partial<GridColumn>>;
|
|
1897
|
+
export type GridSelection = GridRecord[];
|
|
1898
|
+
export type GridDoubleClickCallback = (record: GridRecord) => void;
|
|
1899
|
+
export type GridSelectionChangedCallback = (selection: GridSelection) => void;
|
|
1900
|
+
export type GridOptions = {
|
|
1901
|
+
columns?: GridColumn[];
|
|
1902
|
+
rows?: GridSourceRecord[];
|
|
1903
|
+
gridHeight?: string | number | 'auto';
|
|
1904
|
+
selectionMode?: GridSelectionMode;
|
|
1905
|
+
onDoubleClick?: GridDoubleClickCallback;
|
|
1906
|
+
preserveSelection?: boolean;
|
|
1907
|
+
autoSelectFirstRow?: boolean;
|
|
1908
|
+
onSelectionChanged?: GridSelectionChangedCallback;
|
|
1909
|
+
showSelectCheckbox?: boolean;
|
|
1910
|
+
rowHeight?: number;
|
|
1911
|
+
stripped?: boolean;
|
|
1912
|
+
highlightOnHover?: boolean;
|
|
1913
|
+
columnBorders?: boolean;
|
|
1914
|
+
rowBorders?: boolean;
|
|
1915
|
+
withBorder?: boolean;
|
|
1916
|
+
autoSizeColumnsOnLoad?: boolean;
|
|
1917
|
+
columnsOverrides?: GridColumnsOverrides;
|
|
1918
|
+
selectedRows?: GridSelection;
|
|
1919
|
+
setSelectedRows?: (rows: GridSelection) => void;
|
|
1920
|
+
};
|
|
1921
|
+
export type GridImperative = {};
|
|
1922
|
+
export const DefaultGridProps: Partial<GridOptions>;
|
|
1923
|
+
export const DefaultGridColumnProps: Partial<GridColumn>;
|
|
1924
|
+
export const Grid: import("react").ForwardRefExoticComponent<GridOptions & import("react").RefAttributes<GridImperative>>;
|
|
1925
|
+
export function GridGlobalStyles(): import("react/jsx-runtime").JSX.Element;
|
|
1926
|
+
export interface UseDataGridToolbarFiltersProps {
|
|
1927
|
+
filterValues: ValuesObject | undefined;
|
|
1928
|
+
setFilterValues: Dispatch<SetStateAction<ValuesObject | undefined>>;
|
|
1929
|
+
filtersDescription: ValuesObject | undefined;
|
|
1930
|
+
setFiltersDescription: Dispatch<SetStateAction<ValuesObject | undefined>>;
|
|
1931
|
+
client?: MicroMClient;
|
|
1932
|
+
parentKeys?: ValuesObject;
|
|
1933
|
+
FiltersEntity?: EntityConstructor;
|
|
1934
|
+
searchData: SelectItem[];
|
|
1935
|
+
setSearchData: Dispatch<SetStateAction<SelectItem[]>>;
|
|
1936
|
+
setSearchText: Dispatch<SetStateAction<string[] | undefined>>;
|
|
1937
|
+
onRefreshClick: (searchText: string[] | undefined) => void;
|
|
1938
|
+
onSearchTextChange?: (text: string[] | undefined) => void;
|
|
1939
|
+
filtersFormSize: MantineNumberSize;
|
|
1940
|
+
visibleFilters?: string[];
|
|
1941
|
+
initialColumnFilters?: ColumnsObject;
|
|
1942
|
+
}
|
|
1943
|
+
export function useDataGridToolbarFilters(props: UseDataGridToolbarFiltersProps): {
|
|
1944
|
+
handleFilterButtonClick: (e: React.MouseEvent) => Promise<void>;
|
|
1945
|
+
handleSearchFilterInputEnter: (e: React.KeyboardEvent) => void;
|
|
1946
|
+
handleClearFiltersClick: (e: React.MouseEvent) => void;
|
|
1947
|
+
createSearchPhrase: (filter: string) => {
|
|
1948
|
+
value: string;
|
|
1949
|
+
label: string;
|
|
1950
|
+
};
|
|
1951
|
+
queryText: string;
|
|
1952
|
+
filtersDescription: ValuesObject | undefined;
|
|
1953
|
+
setFiltersDescription: Dispatch<SetStateAction<ValuesObject | undefined>>;
|
|
1954
|
+
setQueryText: Dispatch<SetStateAction<string>>;
|
|
1955
|
+
handleSearchFilterInputOnChange: (searchFilter: string[]) => void;
|
|
1956
|
+
updateFilterValuesAndDescription: (columns: ColumnsObject) => void;
|
|
1957
|
+
};
|
|
1958
|
+
export type DataGridToolbarSizes = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
1959
|
+
export interface DataGridToolbarOptions {
|
|
1960
|
+
size?: DataGridToolbarSizes;
|
|
1961
|
+
client?: MicroMClient;
|
|
1962
|
+
searchPlaceholder?: string;
|
|
1963
|
+
hideCheckboxToggle?: boolean;
|
|
1964
|
+
onCheckboxToggle?: () => void;
|
|
1965
|
+
onSearchTextChange?: (text: string[] | undefined) => void;
|
|
1966
|
+
onRefreshClick: (searchText: string[] | undefined) => void;
|
|
1967
|
+
onExportClick: () => void;
|
|
1968
|
+
autoFocus?: boolean;
|
|
1969
|
+
toolbarIconVariant?: ActionIconVariant;
|
|
1970
|
+
enableExport?: boolean;
|
|
1971
|
+
refreshTooltip?: string;
|
|
1972
|
+
exportTooltip?: string;
|
|
1973
|
+
selectRowsTooltip?: string;
|
|
1974
|
+
searchText: string[] | undefined;
|
|
1975
|
+
setSearchText: Dispatch<SetStateAction<string[] | undefined>>;
|
|
1976
|
+
searchData: SelectItem[];
|
|
1977
|
+
setSearchData: Dispatch<SetStateAction<SelectItem[]>>;
|
|
1978
|
+
FiltersEntity?: EntityConstructor;
|
|
1979
|
+
filterTooltip?: string;
|
|
1980
|
+
parentKeys?: ValuesObject;
|
|
1981
|
+
filterValues: ValuesObject | undefined;
|
|
1982
|
+
setFilterValues: Dispatch<SetStateAction<ValuesObject | undefined>>;
|
|
1983
|
+
filtersDescription: ValuesObject | undefined;
|
|
1984
|
+
setFiltersDescription: Dispatch<SetStateAction<ValuesObject | undefined>>;
|
|
1985
|
+
clearFiltersTooltip?: string;
|
|
1986
|
+
filtersFormSize: MantineNumberSize;
|
|
1987
|
+
enableImport?: boolean;
|
|
1988
|
+
importTooltip?: string;
|
|
1989
|
+
onImportClick?: () => void;
|
|
1990
|
+
filtersBadgeSize?: MantineSize;
|
|
1991
|
+
filtersBadgeVariant?: BadgeVariant;
|
|
1992
|
+
showAppliedFilters?: boolean;
|
|
1993
|
+
showRefreshButton?: boolean;
|
|
1994
|
+
showSelectRowsButton?: boolean;
|
|
1995
|
+
showFiltersButton?: boolean;
|
|
1996
|
+
showSearchInput?: boolean;
|
|
1997
|
+
visibleFilters?: string[];
|
|
1998
|
+
initialColumnFilters?: ColumnsObject;
|
|
1999
|
+
filtersTitle?: string;
|
|
2000
|
+
editFitersLabel?: string;
|
|
2001
|
+
clearFiltersLabel?: string;
|
|
2002
|
+
filtersAccordionVariant?: AccordionVariant;
|
|
2003
|
+
}
|
|
2004
|
+
export const DataGridToolbarDefaultProps: Partial<DataGridToolbarOptions>;
|
|
2005
|
+
export function DataGridToolbar(props: DataGridToolbarOptions): import("react/jsx-runtime").JSX.Element;
|
|
2006
|
+
export const DataGridDefaultProps: Partial<DataGridProps>;
|
|
2007
|
+
export function DataGrid(props: DataGridProps): import("react/jsx-runtime").JSX.Element;
|
|
2008
|
+
export interface DataGridFormProps extends DataGridProps {
|
|
2009
|
+
customTitle?: ReactNode;
|
|
2010
|
+
title?: string;
|
|
2011
|
+
icon?: ReactNode;
|
|
2012
|
+
helpText?: string;
|
|
2013
|
+
formMode: FormMode;
|
|
2014
|
+
showTitle?: boolean;
|
|
2015
|
+
}
|
|
2016
|
+
export const DataGridFormDefaultProps: Partial<DataGridFormProps>;
|
|
2017
|
+
export function DataGridForm(props: DataGridFormProps): import("react/jsx-runtime").JSX.Element;
|
|
2018
|
+
export interface useDataGridFormType {
|
|
2019
|
+
open: ({ entity, viewName, onClosed, selectionMode, modalProps, search, modalTitle, gridTitle }: ModalDataGridProps) => void;
|
|
2020
|
+
}
|
|
2021
|
+
export interface ModalDataGridProps {
|
|
2022
|
+
entity: Entity<EntityDefinition>;
|
|
2023
|
+
viewName: string;
|
|
2024
|
+
onClosed?: () => void;
|
|
2025
|
+
modalProps?: ModalSettings;
|
|
2026
|
+
selectionMode?: GridSelectionMode;
|
|
2027
|
+
search?: string[] | undefined;
|
|
2028
|
+
modalTitle?: string;
|
|
2029
|
+
gridTitle?: React.ReactNode;
|
|
2030
|
+
formMode: FormMode;
|
|
2031
|
+
}
|
|
2032
|
+
export function useDataGridForm(): (props: ModalDataGridProps) => Promise<void>;
|
|
2033
|
+
export interface DataGridPageProps extends Omit<DataGridProps, 'entity' | 'title'> {
|
|
2034
|
+
title?: string;
|
|
2035
|
+
icon?: ReactNode;
|
|
2036
|
+
helpText?: string;
|
|
2037
|
+
formMode: FormMode;
|
|
2038
|
+
client: MicroMClient;
|
|
2039
|
+
entityConstructor: (client: MicroMClient) => Entity<EntityDefinition>;
|
|
2040
|
+
showTitle?: boolean;
|
|
2041
|
+
}
|
|
2042
|
+
export const DataGridPageDefaultProps: Partial<DataGridPageProps>;
|
|
2043
|
+
export function DataGridPage(props: DataGridPageProps): import("react/jsx-runtime").JSX.Element;
|
|
2044
|
+
export interface EntityCardProps<T extends ValuesObject> {
|
|
2045
|
+
entity: Entity<EntityDefinition>;
|
|
2046
|
+
recordIndex: number;
|
|
2047
|
+
record: DataViewRecord<T>;
|
|
2048
|
+
selected?: boolean;
|
|
2049
|
+
toggleSelectable?: boolean;
|
|
2050
|
+
enableEdit?: boolean;
|
|
2051
|
+
enableDelete?: boolean;
|
|
2052
|
+
enableView?: boolean;
|
|
2053
|
+
handleEditClick?: (keys: ValuesObject, element: HTMLElement) => void;
|
|
2054
|
+
handleDeleteClick?: (keys: ValuesObject, element: HTMLElement) => void;
|
|
2055
|
+
handleViewClick?: (keys: ValuesObject, element: HTMLElement) => void;
|
|
2056
|
+
handleSelectRecord?: (record_index: number) => void;
|
|
2057
|
+
handleDeselectRecord?: (record_index: number) => void;
|
|
2058
|
+
handleCardClick?: (data: T) => void;
|
|
2059
|
+
refreshView?: () => void;
|
|
2060
|
+
cardHrefRootURL?: string;
|
|
2061
|
+
cardHrefTarget?: string;
|
|
2062
|
+
}
|
|
2063
|
+
export const DataViewDefaultProps: Partial<DataViewProps>;
|
|
2064
|
+
export const DataView: import("react").ForwardRefExoticComponent<DataViewProps & import("react").RefAttributes<HTMLElement>>;
|
|
2065
|
+
export interface DataViewCardContainerProps extends EntityCardProps<ValuesObject> {
|
|
2066
|
+
EntityCard?: ComponentType<EntityCardProps<ValuesObject>>;
|
|
2067
|
+
CardProps?: Omit<CardProps, 'children'>;
|
|
2068
|
+
}
|
|
2069
|
+
export const DataViewCardContainerDefaultProps: Partial<DataViewCardContainerProps>;
|
|
2070
|
+
export function DataViewCardContainer(props: DataViewCardContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
2071
|
+
export type DataViewLimit = '50' | '100' | '500' | '1000' | '10000' | '0';
|
|
2072
|
+
export const DataViewLimitData: (rowsLabel: string, unlimitedLabel: string) => SelectItem[];
|
|
2073
|
+
export type DataViewSelection = number[];
|
|
2074
|
+
export interface DataViewRecord<T extends ValuesObject> {
|
|
2075
|
+
keys: ValuesObject;
|
|
2076
|
+
data: T;
|
|
2077
|
+
}
|
|
2078
|
+
export type DataViewSelectionChangedCallback = (selection: DataViewSelection, keys: ValuesObject[]) => void;
|
|
2079
|
+
export type DataViewSelectionChangedHandler = (selection: DataViewSelection) => void;
|
|
2080
|
+
export type DataViewSelectionMode = 'single' | 'multi';
|
|
2081
|
+
export interface DataViewLabels extends EntityUILabels {
|
|
2082
|
+
rowsReturnedLabel: string;
|
|
2083
|
+
selectedRowsLabel: string;
|
|
2084
|
+
limitLabel: string;
|
|
2085
|
+
rowsLabel: string;
|
|
2086
|
+
unlimitedLabel: string;
|
|
2087
|
+
resultLimitLabel: string;
|
|
2088
|
+
loadMoreLabel: string;
|
|
2089
|
+
fetchingDataLabel: string;
|
|
2090
|
+
noRecordsFoundLabel: string;
|
|
2091
|
+
}
|
|
2092
|
+
export interface DataViewProps extends Omit<UseEntityUIProps, 'labels'> {
|
|
2093
|
+
viewName: string;
|
|
2094
|
+
search?: string[];
|
|
2095
|
+
limit?: DataViewLimit;
|
|
2096
|
+
refreshOnInit?: boolean;
|
|
2097
|
+
selectionMode: DataViewSelectionMode;
|
|
2098
|
+
preserveSelection?: boolean;
|
|
2099
|
+
autoFocus?: boolean;
|
|
2100
|
+
onDataRefresh?: (result: OperationStatus<DataResult[]>) => void;
|
|
2101
|
+
allwaysRefreshOnEntityClose?: boolean;
|
|
2102
|
+
toolbarIconVariant?: ActionIconVariant;
|
|
2103
|
+
actionsButtonVariant?: ButtonVariant;
|
|
2104
|
+
toolbarSize?: DataGridToolbarSizes;
|
|
2105
|
+
enableAdd?: boolean;
|
|
2106
|
+
enableEdit?: boolean;
|
|
2107
|
+
enableDelete?: boolean;
|
|
2108
|
+
enableView?: boolean;
|
|
2109
|
+
enableExport?: boolean;
|
|
2110
|
+
filtersFormSize?: MantineNumberSize;
|
|
2111
|
+
setInitialFiltersFromColumns?: boolean;
|
|
2112
|
+
visibleFilters?: string[];
|
|
2113
|
+
showAppliedFilters?: boolean;
|
|
2114
|
+
showRefreshButton?: boolean;
|
|
2115
|
+
showFiltersButton?: boolean;
|
|
2116
|
+
showSearchInput?: boolean;
|
|
2117
|
+
showSelectRowsButton?: boolean;
|
|
2118
|
+
searchPlaceholder?: string;
|
|
2119
|
+
hideCheckboxToggle?: boolean;
|
|
2120
|
+
showActions?: boolean;
|
|
2121
|
+
showToolbar?: boolean;
|
|
2122
|
+
CardContainer?: ComponentType<DataViewCardContainerProps>;
|
|
2123
|
+
cardHrefRootURL?: string;
|
|
2124
|
+
cardHrefTarget?: string;
|
|
2125
|
+
Card: ComponentType<EntityCardProps<ValuesObject>>;
|
|
2126
|
+
onSelectionChanged?: DataViewSelectionChangedCallback;
|
|
2127
|
+
notExportableColumns?: number[];
|
|
2128
|
+
labels?: DataViewLabels;
|
|
2129
|
+
itemsPerPage?: number;
|
|
2130
|
+
convertResultToLocaleString?: boolean;
|
|
2131
|
+
}
|
|
2132
|
+
export interface DataGridStateProps {
|
|
2133
|
+
setRefresh: React.Dispatch<React.SetStateAction<boolean>>;
|
|
2134
|
+
setSearchText: React.Dispatch<React.SetStateAction<string[] | undefined>>;
|
|
2135
|
+
executeViewState: OperationStatus<DataResult[]>;
|
|
2136
|
+
}
|
|
2137
|
+
export interface DataGridLabels extends EntityUILabels {
|
|
2138
|
+
rowsReturnedLabel: string;
|
|
2139
|
+
selectedRowsLabel: string;
|
|
2140
|
+
limitLabel: string;
|
|
2141
|
+
rowsLabel: string;
|
|
2142
|
+
unlimitedLabel: string;
|
|
2143
|
+
}
|
|
2144
|
+
export type DataGridSelectionChangedCallback = (selection: GridSelection, keys: DataGridSelectionKeys) => void;
|
|
2145
|
+
export interface DataGridProps extends UseEntityUIProps {
|
|
2146
|
+
viewName?: string;
|
|
2147
|
+
search?: string[];
|
|
2148
|
+
limit?: DataViewLimit;
|
|
2149
|
+
refreshOnInit?: boolean;
|
|
2150
|
+
selectionMode: GridSelectionMode;
|
|
2151
|
+
preserveSelection?: boolean;
|
|
2152
|
+
autoFocus?: boolean;
|
|
2153
|
+
onDataRefresh?: (result: OperationStatus<DataResult[]>) => void;
|
|
2154
|
+
allwaysRefreshOnEntityClose?: boolean;
|
|
2155
|
+
toolbarIconVariant?: ActionIconVariant;
|
|
2156
|
+
actionsButtonVariant?: ButtonVariant;
|
|
2157
|
+
toolbarSize?: DataGridToolbarSizes;
|
|
2158
|
+
enableAdd?: boolean;
|
|
2159
|
+
enableEdit?: boolean;
|
|
2160
|
+
enableDelete?: boolean;
|
|
2161
|
+
enableView?: boolean;
|
|
2162
|
+
enableExport?: boolean;
|
|
2163
|
+
filtersFormSize?: MantineNumberSize;
|
|
2164
|
+
showActions?: boolean;
|
|
2165
|
+
setInitialFiltersFromColumns?: boolean;
|
|
2166
|
+
visibleFilters?: string[];
|
|
2167
|
+
columnBorders?: boolean;
|
|
2168
|
+
rowBorders?: boolean;
|
|
2169
|
+
withBorder?: boolean;
|
|
2170
|
+
autoSizeColumnsOnLoad?: boolean;
|
|
2171
|
+
labels?: DataGridLabels;
|
|
2172
|
+
columnsOverrides?: GridColumnsOverrides;
|
|
2173
|
+
renderOnlyWhenVisible?: boolean;
|
|
2174
|
+
showToolbar?: boolean;
|
|
2175
|
+
showActionsToolbar?: boolean;
|
|
2176
|
+
enableImport?: boolean;
|
|
2177
|
+
gridHeight?: string | number | 'auto';
|
|
2178
|
+
autoSelectFirstRow?: boolean;
|
|
2179
|
+
onSelectionChanged?: DataGridSelectionChangedCallback;
|
|
2180
|
+
doubleClickAction?: 'edit' | 'view' | 'none' | ((record: GridRecord) => void);
|
|
2181
|
+
formMode?: FormMode;
|
|
2182
|
+
}
|
|
2183
|
+
export type DataGridSelectionKeys = ValuesObject[];
|
|
2184
|
+
export interface useDataViewReturnType {
|
|
2185
|
+
handleSelectionChanged: DataViewSelectionChangedHandler;
|
|
2186
|
+
handleDeleteRecord: (keys: ValuesObject, element?: HTMLElement) => Promise<void>;
|
|
2187
|
+
handleDeleteClick: (element?: HTMLElement) => Promise<void>;
|
|
2188
|
+
handleEditClick: (keys: ValuesObject, element?: HTMLElement) => Promise<void>;
|
|
2189
|
+
handleAddClick: (element?: HTMLElement) => Promise<void>;
|
|
2190
|
+
handleViewClick: (keys: ValuesObject, element?: HTMLElement) => Promise<void>;
|
|
2191
|
+
handleToggleSelectable: () => void;
|
|
2192
|
+
handleRefresh: (searchText: string[] | undefined) => void;
|
|
2193
|
+
handleExecuteAction: (action: EntityClientAction, element?: HTMLElement) => Promise<void>;
|
|
2194
|
+
handleExport: () => void;
|
|
2195
|
+
selectedRowsCount: number;
|
|
2196
|
+
limitRows: string | null;
|
|
2197
|
+
setLimitRows: React.Dispatch<React.SetStateAction<string | null>>;
|
|
2198
|
+
showSelectCheckbox: boolean;
|
|
2199
|
+
isLoading: boolean;
|
|
2200
|
+
executeViewState: OperationStatus<DataResult[]>;
|
|
2201
|
+
data: DataViewRecord<ValuesObject>[];
|
|
2202
|
+
handleDeselectAllRecords: () => Promise<void>;
|
|
2203
|
+
handleDeselectRecord: (record_index: number) => Promise<void>;
|
|
2204
|
+
handleSelectRecord: (record_index: number) => Promise<void>;
|
|
2205
|
+
handleSelectAllRecords: () => Promise<void>;
|
|
2206
|
+
selectedRecords: DataViewSelection;
|
|
2207
|
+
toggleSelectable: boolean;
|
|
2208
|
+
handleLoadMore: () => void;
|
|
2209
|
+
displayedItemsCount: number;
|
|
2210
|
+
recordsCount?: number;
|
|
2211
|
+
}
|
|
2212
|
+
export function useDataView(props: DataViewProps, stateProps: DataGridStateProps): useDataViewReturnType;
|
|
2213
|
+
export interface DataViewPageProps extends Omit<DataViewProps, 'entity'> {
|
|
2214
|
+
client: MicroMClient;
|
|
2215
|
+
entityConstructor: (client: MicroMClient) => Entity<EntityDefinition>;
|
|
2216
|
+
}
|
|
2217
|
+
export function DataViewPage(props: DataViewPageProps): import("react/jsx-runtime").JSX.Element;
|
|
2218
|
+
export function useViewState(search?: string[], limit?: DataViewLimit): {
|
|
2219
|
+
searchText: string[] | undefined;
|
|
2220
|
+
setSearchText: import("react").Dispatch<import("react").SetStateAction<string[] | undefined>>;
|
|
2221
|
+
limitRows: string | null;
|
|
2222
|
+
setLimitRows: import("react").Dispatch<import("react").SetStateAction<string | null>>;
|
|
2223
|
+
refresh: boolean;
|
|
2224
|
+
setRefresh: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
2225
|
+
filterValues: ValuesObject | undefined;
|
|
2226
|
+
setFilterValues: import("react").Dispatch<import("react").SetStateAction<ValuesObject | undefined>>;
|
|
2227
|
+
filtersDescription: ValuesObject | undefined;
|
|
2228
|
+
setFiltersDescription: import("react").Dispatch<import("react").SetStateAction<ValuesObject | undefined>>;
|
|
2229
|
+
};
|
|
2230
|
+
export interface LookupProps {
|
|
2231
|
+
parentKeys?: ValuesObject;
|
|
2232
|
+
column: EntityColumn<Value>;
|
|
2233
|
+
autoFocus?: boolean;
|
|
2234
|
+
entityForm: UseEntityFormReturnType;
|
|
2235
|
+
entity: Entity<EntityDefinition>;
|
|
2236
|
+
lookupDefName: string;
|
|
2237
|
+
required?: boolean;
|
|
2238
|
+
readonly?: boolean;
|
|
2239
|
+
disabled?: boolean;
|
|
2240
|
+
label?: string;
|
|
2241
|
+
idMaxWidth?: string;
|
|
2242
|
+
icon?: React.ReactNode;
|
|
2243
|
+
iconVariant?: ActionIconVariant;
|
|
2244
|
+
requiredLabel?: string;
|
|
2245
|
+
description?: string;
|
|
2246
|
+
size?: MantineSize;
|
|
2247
|
+
onLookupPerformed?: (lookupResult: LookupResultState) => void;
|
|
2248
|
+
}
|
|
2249
|
+
export const LookupDefaultProps: Partial<LookupProps>;
|
|
2250
|
+
export function Lookup(props: LookupProps): import("react/jsx-runtime").JSX.Element;
|
|
2251
|
+
export interface LookupFormProps {
|
|
2252
|
+
dataGridProps: DataGridProps;
|
|
2253
|
+
onOK: (selectedKeys: DataGridSelectionKeys) => void;
|
|
2254
|
+
onCancel?: () => void;
|
|
2255
|
+
helpMessage?: string;
|
|
2256
|
+
okLabel?: string;
|
|
2257
|
+
cancelLabel?: string;
|
|
2258
|
+
}
|
|
2259
|
+
export const LookupFormDefaultProps: Partial<LookupFormProps>;
|
|
2260
|
+
export function LookupForm(props: LookupFormProps): import("react/jsx-runtime").JSX.Element;
|
|
2261
|
+
export interface LookupResultState {
|
|
2262
|
+
columnName: string;
|
|
2263
|
+
key: Value;
|
|
2264
|
+
description?: string;
|
|
2265
|
+
error?: boolean;
|
|
2266
|
+
cancel: boolean;
|
|
2267
|
+
updateParentKeys: boolean;
|
|
2268
|
+
errorDescription?: string;
|
|
2269
|
+
}
|
|
2270
|
+
export interface UseLookupOptions {
|
|
2271
|
+
parentKeys?: ValuesObject;
|
|
2272
|
+
column: string;
|
|
2273
|
+
entityForm: UseEntityFormReturnType;
|
|
2274
|
+
entity: Entity<EntityDefinition>;
|
|
2275
|
+
lookupDefName: string;
|
|
2276
|
+
required?: boolean;
|
|
2277
|
+
HTMLDescriptionRef: React.MutableRefObject<any>;
|
|
2278
|
+
}
|
|
2279
|
+
export interface UseLookupReturnType {
|
|
2280
|
+
status: OperationStatus<ValuesObject>;
|
|
2281
|
+
lookupResult?: LookupResultState;
|
|
2282
|
+
lookupInputProps: any;
|
|
2283
|
+
onBlur: (bindingColumn: string, force?: boolean, event?: React.FocusEvent | null) => void;
|
|
2284
|
+
}
|
|
2285
|
+
export const useLookup: ({ entityForm, entity, lookupDefName, column, parentKeys, required, HTMLDescriptionRef }: UseLookupOptions) => UseLookupReturnType;
|
|
2286
|
+
export interface UseLookupEntityOptions {
|
|
2287
|
+
parentKeys?: ValuesObject;
|
|
2288
|
+
entity: Entity<EntityDefinition>;
|
|
2289
|
+
lookupDefName: string;
|
|
2290
|
+
}
|
|
2291
|
+
export function useLookupEntity({ entity, lookupDefName, parentKeys }: UseLookupEntityOptions): {
|
|
2292
|
+
lookupEntity: Entity<EntityDefinition> | undefined;
|
|
2293
|
+
lookupDef: EntityLookup | undefined;
|
|
2294
|
+
lookupViewName: string;
|
|
2295
|
+
};
|
|
2296
|
+
export interface useLookupFormType {
|
|
2297
|
+
open: ({ entity, viewName, onOK, onCancel, modalProps, search }: ModalLookupOptions) => void;
|
|
2298
|
+
}
|
|
2299
|
+
export interface ModalLookupOptions {
|
|
2300
|
+
entity: Entity<EntityDefinition>;
|
|
2301
|
+
viewName: string;
|
|
2302
|
+
onOK: (selectedKeys: ValuesObject[]) => void;
|
|
2303
|
+
onCancel?: () => void;
|
|
2304
|
+
onClosed?: () => void;
|
|
2305
|
+
modalProps?: ModalSettings;
|
|
2306
|
+
selectionMode?: GridSelectionMode;
|
|
2307
|
+
search?: string[];
|
|
2308
|
+
selectLabel?: string;
|
|
2309
|
+
parentKeys?: ValuesObject;
|
|
2310
|
+
showActions?: boolean;
|
|
2311
|
+
}
|
|
2312
|
+
export const UseLookupFormDefaultProps: Partial<ModalLookupOptions>;
|
|
2313
|
+
export function useLookupForm(): (props: ModalLookupOptions) => Promise<void>;
|
|
2314
|
+
export interface LookupFormActionProps {
|
|
2315
|
+
lookupEntity: Entity<EntityDefinition>;
|
|
2316
|
+
viewName: string;
|
|
2317
|
+
title: string;
|
|
2318
|
+
onOK: (keys: DataGridSelectionKeys, abortSignal: AbortSignal) => Promise<DBStatusResult>;
|
|
2319
|
+
onCancel?: () => void;
|
|
2320
|
+
onActionFinished?: () => Promise<void>;
|
|
2321
|
+
addingRecords?: string;
|
|
2322
|
+
runOnOpen?: boolean;
|
|
2323
|
+
confirmContent?: React.ReactNode;
|
|
2324
|
+
showActions?: boolean;
|
|
2325
|
+
}
|
|
2326
|
+
export const LookupFormActionDefaultProps: Partial<LookupFormActionProps>;
|
|
2327
|
+
export function LookupFormAction(props: LookupFormActionProps): import("react/jsx-runtime").JSX.Element;
|
|
2328
|
+
export function useExecuteLookup({ entity, lookupDefName, parentKeys }: UseLookupEntityOptions): {
|
|
2329
|
+
execute: () => Promise<OperationStatus<string> | undefined>;
|
|
2330
|
+
status: OperationStatus<string>;
|
|
2331
|
+
};
|
|
2332
|
+
export interface LoginModalFormProps {
|
|
2333
|
+
client: MicroMClient;
|
|
2334
|
+
title?: string;
|
|
2335
|
+
onClose?: () => void;
|
|
2336
|
+
onLoggedIn: (claims?: Partial<MicroMClientClaimTypes>) => void;
|
|
2337
|
+
openState?: boolean;
|
|
2338
|
+
withCloseButton?: boolean;
|
|
2339
|
+
closeOnClickOutside?: boolean;
|
|
2340
|
+
closeOnEscape?: boolean;
|
|
2341
|
+
overlayProps?: OverlayProps;
|
|
2342
|
+
transitionProps?: Partial<Omit<TransitionProps, 'mounted'>>;
|
|
2343
|
+
}
|
|
2344
|
+
export const LoginModalFormDefaultProps: Partial<LoginModalFormProps>;
|
|
2345
|
+
export function LoginModalForm(props: LoginModalFormProps): import("react/jsx-runtime").JSX.Element;
|
|
2346
|
+
export interface WeekPickerProps extends CalendarProps {
|
|
2347
|
+
weekStartDatevalue: Date | null;
|
|
2348
|
+
setWeekStartValue: (value: Date | null) => void;
|
|
2349
|
+
setWeekEndValue?: (value: Date | null) => void;
|
|
2350
|
+
allowDeselect?: boolean;
|
|
2351
|
+
}
|
|
2352
|
+
export function WeekPicker(props: WeekPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
2353
|
+
export interface WeekPickerFieldProps extends Omit<WeekPickerProps, 'weekStartDatevalue' | 'setWeekStartValue' | 'setWeekEndValue'> {
|
|
2354
|
+
weekStartDateColumn: EntityColumn<Date | null>;
|
|
2355
|
+
weekEndDateColumn?: EntityColumn<Date | null>;
|
|
2356
|
+
entityForm: UseEntityFormReturnType;
|
|
2357
|
+
loading?: boolean;
|
|
2358
|
+
disableOnLoading?: boolean;
|
|
2359
|
+
validate?: ValidatorConfiguration;
|
|
2360
|
+
requiredMessage?: ReactNode;
|
|
2361
|
+
validationContainer?: React.ComponentType<{
|
|
2362
|
+
children: ReactNode;
|
|
2363
|
+
}>;
|
|
2364
|
+
accordionVariant?: AccordionProps['variant'];
|
|
2365
|
+
accordionExpanded?: boolean;
|
|
2366
|
+
placeholder?: string;
|
|
2367
|
+
size?: MantineSize;
|
|
2368
|
+
required?: boolean;
|
|
2369
|
+
readonly?: boolean;
|
|
2370
|
+
disabled?: boolean;
|
|
2371
|
+
label?: string;
|
|
2372
|
+
description?: string;
|
|
2373
|
+
}
|
|
2374
|
+
export const WeekPickerFieldDefaultProps: Partial<WeekPickerFieldProps>;
|
|
2375
|
+
export function WeekPickerField(props: WeekPickerFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
2376
|
+
export interface PinFieldProps extends Omit<PinInputProps, 'validate'>, Omit<useTextTransformProps, 'entityForm' | 'column'> {
|
|
2377
|
+
column: EntityColumn<Value>;
|
|
2378
|
+
entityForm: UseEntityFormReturnType;
|
|
2379
|
+
validate?: ValidatorConfiguration;
|
|
2380
|
+
requiredMessage?: React.ReactNode;
|
|
2381
|
+
validationContainer?: React.ComponentType<{
|
|
2382
|
+
children: ReactNode;
|
|
2383
|
+
}>;
|
|
2384
|
+
autoFocus?: boolean;
|
|
2385
|
+
size?: MantineSize;
|
|
2386
|
+
description?: string;
|
|
2387
|
+
label?: string;
|
|
2388
|
+
}
|
|
2389
|
+
export const PinFieldDefaultProps: Partial<PinFieldProps>;
|
|
2390
|
+
export function PinField(props: PinFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
2391
|
+
export function useExecuteProcess(entity: Entity<EntityDefinition>, proc: EntityProc): {
|
|
2392
|
+
execute: (values?: ValuesObject) => Promise<OperationStatus<DBStatusResult> | undefined>;
|
|
2393
|
+
status: OperationStatus<DBStatusResult>;
|
|
2394
|
+
};
|
|
2395
|
+
export interface UseCompleteFieldFromOtherProps {
|
|
2396
|
+
form: UseFormReturnType<ValuesObject>;
|
|
2397
|
+
originalColumn: EntityColumn<Value>;
|
|
2398
|
+
targetColumn: EntityColumn<Value>;
|
|
2399
|
+
onlyIfEmpty?: boolean;
|
|
2400
|
+
transformValue?: (value: Value) => Value;
|
|
2401
|
+
}
|
|
2402
|
+
export function useCompleteFieldFromOther({ form, originalColumn, targetColumn, onlyIfEmpty, transformValue }: UseCompleteFieldFromOtherProps): void;
|
|
2403
|
+
export interface SwitchFieldProps extends SwitchProps {
|
|
2404
|
+
column: EntityColumn<Value>;
|
|
2405
|
+
entityForm: UseEntityFormReturnType;
|
|
2406
|
+
loading?: boolean;
|
|
2407
|
+
disableOnLoading?: boolean;
|
|
2408
|
+
requiredMessage?: ReactNode;
|
|
2409
|
+
}
|
|
2410
|
+
export function SwitchField(props: SwitchFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
2411
|
+
export interface RecoverPasswordOptions {
|
|
2412
|
+
client: MicroMClient;
|
|
2413
|
+
changedSuccessfullyURL?: string;
|
|
2414
|
+
onStatusCompleted?: StatusCompletedHandler<DBStatusResult>;
|
|
2415
|
+
userLabel?: string;
|
|
2416
|
+
userPlaceholder?: string;
|
|
2417
|
+
passwordLabel?: string;
|
|
2418
|
+
passwordPlaceholder?: string;
|
|
2419
|
+
changePasswordLabel?: string;
|
|
2420
|
+
changeErrorMessage?: string;
|
|
2421
|
+
changedSuccessfullyMessage?: string;
|
|
2422
|
+
signInButtonLabel?: string;
|
|
2423
|
+
passwordMinLength?: number;
|
|
2424
|
+
passwordMaxLength?: number;
|
|
2425
|
+
}
|
|
2426
|
+
export const RecoverPasswordDefaultProps: Partial<RecoverPasswordOptions>;
|
|
2427
|
+
export interface RecoverPasswordValues {
|
|
2428
|
+
username: string;
|
|
2429
|
+
password: string;
|
|
2430
|
+
recovery_code: string;
|
|
2431
|
+
}
|
|
2432
|
+
export function RecoverPassword(props: RecoverPasswordOptions): import("react/jsx-runtime").JSX.Element;
|
|
2433
|
+
export interface RecoverPasswordEmailOptions {
|
|
2434
|
+
client: MicroMClient;
|
|
2435
|
+
onStatusCompleted?: StatusCompletedHandler<DBStatusResult>;
|
|
2436
|
+
userLabel?: string;
|
|
2437
|
+
userPlaceholder?: string;
|
|
2438
|
+
emailSentSuccessfullyMessage?: string;
|
|
2439
|
+
sendRecoveryEmailLabel?: string;
|
|
2440
|
+
emailSendErrorMessage?: string;
|
|
2441
|
+
goBackToHomePageLabel?: string;
|
|
2442
|
+
}
|
|
2443
|
+
export const RecoverPasswordEmailDefaultProps: Partial<RecoverPasswordEmailOptions>;
|
|
2444
|
+
export interface RecoverPasswordEmailValues {
|
|
2445
|
+
username: string;
|
|
2446
|
+
}
|
|
2447
|
+
export function RecoverPasswordEmail(props: RecoverPasswordEmailOptions): import("react/jsx-runtime").JSX.Element;
|
|
2448
|
+
export function useEvent<T extends (...args: any[]) => any>(callback: T): T;
|
|
2449
|
+
export function moneyFormatter(value: string, currencySymbol: string): string;
|
|
2450
|
+
export function moneyParser(value: string): string;
|
|
2451
|
+
export interface MoneyRangeFieldProps extends Omit<NumberFieldProps, 'parser' | 'formatter'> {
|
|
2452
|
+
currencySymbol?: string;
|
|
2453
|
+
millionsStep?: number;
|
|
2454
|
+
thousandsStep?: number;
|
|
2455
|
+
}
|
|
2456
|
+
export const MoneyRangeFieldDefaultProps: Partial<MoneyRangeFieldProps>;
|
|
2457
|
+
export function MoneyRangeField(props: MoneyRangeFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
2458
|
+
export interface RadioGroupFieldProps extends ComponentPropsWithoutRef<typeof Radio.Group> {
|
|
2459
|
+
column: EntityColumn<Value>;
|
|
2460
|
+
entityForm: UseEntityFormReturnType;
|
|
2461
|
+
validate?: ValidatorConfiguration;
|
|
2462
|
+
requiredMessage?: ReactNode;
|
|
2463
|
+
validationContainer?: React.ComponentType<{
|
|
2464
|
+
children: ReactNode;
|
|
2465
|
+
}>;
|
|
2466
|
+
autoFocus?: boolean;
|
|
2467
|
+
readOnly?: boolean;
|
|
2468
|
+
showDescription?: boolean;
|
|
2469
|
+
}
|
|
2470
|
+
export const RadioGroupFieldDefaultProps: Partial<RadioGroupFieldProps>;
|
|
2471
|
+
export const RadioGroupField: import("react").ForwardRefExoticComponent<RadioGroupFieldProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
2472
|
+
export interface UseLookupSelectOptions {
|
|
2473
|
+
parentKeys?: ValuesObject;
|
|
2474
|
+
selectDataState: useStateReturnType<SelectItem[]>;
|
|
2475
|
+
triggerRefreshState: useStateReturnType<boolean>;
|
|
2476
|
+
column: EntityColumn<Value>;
|
|
2477
|
+
entityForm: UseEntityFormReturnType;
|
|
2478
|
+
entity: Entity<EntityDefinition>;
|
|
2479
|
+
lookupDefName: string;
|
|
2480
|
+
maxItems?: number;
|
|
2481
|
+
includeKeyInDescription?: boolean;
|
|
2482
|
+
}
|
|
2483
|
+
export const useLookupSelect: (props: UseLookupSelectOptions) => {
|
|
2484
|
+
onEditClick: () => void;
|
|
2485
|
+
inputProps: {
|
|
2486
|
+
value: any;
|
|
2487
|
+
onChange: any;
|
|
2488
|
+
checked?: any;
|
|
2489
|
+
error?: any;
|
|
2490
|
+
onFocus?: any;
|
|
2491
|
+
onBlur?: any;
|
|
2492
|
+
};
|
|
2493
|
+
status: import("src").OperationStatus<import("src").DataResult[]>;
|
|
2494
|
+
};
|
|
2495
|
+
export interface CustomSelectProps extends Omit<SelectProps, 'data'> {
|
|
2496
|
+
}
|
|
2497
|
+
export interface LookupSelectOptions {
|
|
2498
|
+
parentKeys?: ValuesObject;
|
|
2499
|
+
column: EntityColumn<Value>;
|
|
2500
|
+
formStatus?: OperationStatus<DBStatusResult | DataResult | ValuesObject>;
|
|
2501
|
+
entityForm: UseEntityFormReturnType;
|
|
2502
|
+
entity: Entity<EntityDefinition>;
|
|
2503
|
+
lookupDefName: string;
|
|
2504
|
+
enableEdit?: boolean;
|
|
2505
|
+
selectProps?: CustomSelectProps;
|
|
2506
|
+
editIcon?: React.ReactNode;
|
|
2507
|
+
editIconVariant?: ActionIconVariant;
|
|
2508
|
+
maxItems?: number;
|
|
2509
|
+
requiredLabel?: string;
|
|
2510
|
+
editLabel?: string;
|
|
2511
|
+
includeKeyInDescription?: boolean;
|
|
2512
|
+
withinPortal?: boolean;
|
|
2513
|
+
zIndex?: number;
|
|
2514
|
+
editButtonVariant?: ButtonVariant;
|
|
2515
|
+
}
|
|
2516
|
+
export const LookupSelectDefaultProps: Partial<LookupSelectOptions>;
|
|
2517
|
+
export const LookupSelect: import("react").ForwardRefExoticComponent<LookupSelectOptions & import("react").RefAttributes<HTMLInputElement>>;
|
|
2518
|
+
export interface EntityActionButtonProps extends Omit<ButtonProps, 'leftIcon'> {
|
|
2519
|
+
entity: Entity<EntityDefinition>;
|
|
2520
|
+
action: EntityClientAction;
|
|
2521
|
+
selectedKeys?: ValuesObject[];
|
|
2522
|
+
label?: string;
|
|
2523
|
+
onClose?: (result?: boolean) => Promise<boolean>;
|
|
2524
|
+
}
|
|
2525
|
+
export function EntityActionButton(props: EntityActionButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
2526
|
+
export interface RingProgressFieldProps extends Omit<CardProps, 'children'> {
|
|
2527
|
+
column: EntityColumn<number>;
|
|
2528
|
+
loading?: boolean;
|
|
2529
|
+
title?: string;
|
|
2530
|
+
description?: string;
|
|
2531
|
+
centerIcon?: (props: IconProps) => ReactNode;
|
|
2532
|
+
centerLabel?: ReactNode;
|
|
2533
|
+
maxValue?: number;
|
|
2534
|
+
color?: DefaultMantineColor;
|
|
2535
|
+
ringSize?: number;
|
|
2536
|
+
thickness?: number;
|
|
2537
|
+
iconSize?: string | number;
|
|
2538
|
+
displayPercent?: 'percent' | 'fraction' | 'none';
|
|
2539
|
+
showPercentAsCenterLabel?: boolean;
|
|
2540
|
+
iconColor?: MantineColor;
|
|
2541
|
+
}
|
|
2542
|
+
export const RingProgressFieldDefaultProps: Partial<RingProgressFieldProps>;
|
|
2543
|
+
export function RingProgressField(props: RingProgressFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
2544
|
+
export interface LookupMultiSelectProps extends Omit<MultiSelectProps, 'data'> {
|
|
2545
|
+
parentKeys?: ValuesObject;
|
|
2546
|
+
column: EntityColumn<Value>;
|
|
2547
|
+
formStatus?: OperationStatus<DBStatusResult | DataResult | ValuesObject>;
|
|
2548
|
+
entityForm: UseEntityFormReturnType;
|
|
2549
|
+
entity: Entity<EntityDefinition>;
|
|
2550
|
+
lookupDefName: string;
|
|
2551
|
+
requiredLabel?: string;
|
|
2552
|
+
includeKeyInDescription?: boolean;
|
|
2553
|
+
createLabel?: string;
|
|
2554
|
+
containerProps?: GroupProps;
|
|
2555
|
+
grow?: boolean;
|
|
2556
|
+
}
|
|
2557
|
+
export const LookupMultiSelectDefaultProps: Partial<LookupMultiSelectProps>;
|
|
2558
|
+
export function LookupMultiSelect(props: LookupMultiSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
2559
|
+
export interface MenuItem {
|
|
2560
|
+
ID: string;
|
|
2561
|
+
link?: string;
|
|
2562
|
+
label: string;
|
|
2563
|
+
labelComponent?: ReactNode;
|
|
2564
|
+
icon?: ReactNode;
|
|
2565
|
+
description?: string;
|
|
2566
|
+
notifications?: number;
|
|
2567
|
+
subitems?: MenuItem[];
|
|
2568
|
+
rightSection?: ReactElement;
|
|
2569
|
+
noActive?: boolean;
|
|
2570
|
+
loadingComponent?: ReactNode;
|
|
2571
|
+
content?: ReactNode | Promise<ReactNode>;
|
|
2572
|
+
onClick?: () => void;
|
|
2573
|
+
section: 'header' | 'items' | 'footer';
|
|
2574
|
+
}
|
|
2575
|
+
export interface NavigationState {
|
|
2576
|
+
navigated: boolean;
|
|
2577
|
+
route: string;
|
|
2578
|
+
}
|
|
2579
|
+
export interface MicroMRouterState {
|
|
2580
|
+
path: string;
|
|
2581
|
+
navigate: (newPath: string) => void;
|
|
2582
|
+
navigationState: NavigationState;
|
|
2583
|
+
}
|
|
2584
|
+
export const MicroMRouterContext: import("react").Context<MicroMRouterState | undefined>;
|
|
2585
|
+
export const useMicroMRouter: () => MicroMRouterState;
|
|
2586
|
+
export interface MenuItemsProps {
|
|
2587
|
+
AllItems: MenuItem[];
|
|
2588
|
+
sectionItems: MenuItem[];
|
|
2589
|
+
setContent: Dispatch<SetStateAction<ReactNode>>;
|
|
2590
|
+
setOpened: Dispatch<SetStateAction<boolean>>;
|
|
2591
|
+
clearContent: boolean;
|
|
2592
|
+
activeID: string;
|
|
2593
|
+
subitemActiveID: string;
|
|
2594
|
+
showSubitemIcons?: boolean;
|
|
2595
|
+
defaultLoadingComponent?: ReactNode;
|
|
2596
|
+
onActiveChange: React.Dispatch<SetStateAction<string>>;
|
|
2597
|
+
onSubitemActiveChange: React.Dispatch<SetStateAction<string>>;
|
|
2598
|
+
showItemDescription?: boolean;
|
|
2599
|
+
autoHideNavBarOnClick?: boolean;
|
|
2600
|
+
}
|
|
2601
|
+
export const MenuItemsPropsDefaultProps: Partial<MenuItemsProps>;
|
|
2602
|
+
export function MenuNavLinks(props: MenuItemsProps): import("react/jsx-runtime").JSX.Element;
|
|
2603
|
+
export interface MenuProps {
|
|
2604
|
+
items: MenuItem[];
|
|
2605
|
+
setContent: Dispatch<SetStateAction<ReactNode>>;
|
|
2606
|
+
setOpened: Dispatch<SetStateAction<boolean>>;
|
|
2607
|
+
clearContent: boolean;
|
|
2608
|
+
activeIDState: [string, Dispatch<SetStateAction<string>>];
|
|
2609
|
+
subitemActiveIDState: [string, Dispatch<SetStateAction<string>>];
|
|
2610
|
+
showSearch?: boolean;
|
|
2611
|
+
searchLabel?: string;
|
|
2612
|
+
searchIcon?: (props: IconProps) => ReactNode;
|
|
2613
|
+
autoCloseOnItemClickWhenSmallScreen?: boolean;
|
|
2614
|
+
}
|
|
2615
|
+
export const MenuDefaultProps: Partial<MenuProps>;
|
|
2616
|
+
export function MenuNavBar(props: MenuProps): import("react/jsx-runtime").JSX.Element;
|
|
2617
|
+
export interface MenuPanelProps {
|
|
2618
|
+
setContent: Dispatch<SetStateAction<ReactNode>>;
|
|
2619
|
+
setOpened: Dispatch<SetStateAction<boolean>>;
|
|
2620
|
+
menuItems: MenuItem[];
|
|
2621
|
+
activeIDState: [string, Dispatch<SetStateAction<string>>];
|
|
2622
|
+
subitemActiveIDState: [string, Dispatch<SetStateAction<string>>];
|
|
2623
|
+
showSearch?: boolean;
|
|
2624
|
+
searchLabel?: string;
|
|
2625
|
+
searchIcon?: (props: IconProps) => ReactNode;
|
|
2626
|
+
autoCloseOnItemClickWhenSmallScreen?: boolean;
|
|
2627
|
+
}
|
|
2628
|
+
export const MenuPanelDefaultProps: Partial<MenuPanelProps>;
|
|
2629
|
+
export function MenuNavBarPanel(props: MenuPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
2630
|
+
export interface MenuContentProps {
|
|
2631
|
+
client: MicroMClient;
|
|
2632
|
+
menuId: string;
|
|
2633
|
+
setContent: Dispatch<SetStateAction<ReactNode>>;
|
|
2634
|
+
setOpened: Dispatch<SetStateAction<boolean>>;
|
|
2635
|
+
isLoggedIn: boolean | undefined;
|
|
2636
|
+
setIsLoggedIn: Dispatch<SetStateAction<boolean | undefined>>;
|
|
2637
|
+
loggedInInfo?: Partial<MicroMClientClaimTypes>;
|
|
2638
|
+
theme?: MantineTheme;
|
|
2639
|
+
}
|
|
2640
|
+
export interface UseMenuContentProps extends MenuContentProps {
|
|
2641
|
+
menuContent: (props: MenuContentProps) => MenuItem[];
|
|
2642
|
+
enableMenuSecurity?: boolean;
|
|
2643
|
+
defaultLoadingComponent?: ReactNode;
|
|
2644
|
+
}
|
|
2645
|
+
export const UseMenuContentDefaultProps: Partial<UseMenuContentProps>;
|
|
2646
|
+
export interface MenuItemActionProps {
|
|
2647
|
+
item: MenuItem;
|
|
2648
|
+
setContent: Dispatch<SetStateAction<ReactNode>>;
|
|
2649
|
+
setOpened: Dispatch<SetStateAction<boolean>>;
|
|
2650
|
+
clearContent: boolean;
|
|
2651
|
+
defaultLoadingComponent?: ReactNode;
|
|
2652
|
+
onActiveChange: React.Dispatch<SetStateAction<string>>;
|
|
2653
|
+
onSubitemActiveChange: React.Dispatch<SetStateAction<string>>;
|
|
2654
|
+
autoHideNavBarOnClick?: boolean;
|
|
2655
|
+
}
|
|
2656
|
+
export function useMenuContent(props: UseMenuContentProps): {
|
|
2657
|
+
activeIDState: [string, Dispatch<SetStateAction<string>>];
|
|
2658
|
+
subitemActiveIDState: [string, Dispatch<SetStateAction<string>>];
|
|
2659
|
+
items: MenuItem[];
|
|
2660
|
+
actions: SpotlightAction[];
|
|
2661
|
+
};
|
|
2662
|
+
export interface useAvatarUploaderProps {
|
|
2663
|
+
client: MicroMClient;
|
|
2664
|
+
fileProcessColumn: EntityColumn<string>;
|
|
2665
|
+
fileGUIDColumn: EntityColumn<string>;
|
|
2666
|
+
initialImageURL?: string;
|
|
2667
|
+
labels?: AvatarUploaderLabels;
|
|
2668
|
+
parentFormAPI?: UseEntityFormReturnType;
|
|
2669
|
+
}
|
|
2670
|
+
export type AvatarUploaderLabels = {
|
|
2671
|
+
modalTitle?: string;
|
|
2672
|
+
};
|
|
2673
|
+
export const AvatarUploaderDefaultProps: Partial<useAvatarUploaderProps>;
|
|
2674
|
+
export interface AvatarUploaderAPI {
|
|
2675
|
+
imageURL?: string;
|
|
2676
|
+
fileID?: string;
|
|
2677
|
+
fileProcessID?: string;
|
|
2678
|
+
fileGUID?: string;
|
|
2679
|
+
handleOpenFileUpload: () => void;
|
|
2680
|
+
handleDeleteFile: (file_id: string, fileGUID: string) => void;
|
|
2681
|
+
parentFormAPI?: UseEntityFormReturnType;
|
|
2682
|
+
}
|
|
2683
|
+
export function useAvatarUploader(props: useAvatarUploaderProps): AvatarUploaderAPI;
|
|
2684
|
+
export interface AvatarUploaderProps extends Omit<AvatarProps, 'src'> {
|
|
2685
|
+
API: AvatarUploaderAPI;
|
|
2686
|
+
PlaceHolderIcon?: React.ReactNode;
|
|
2687
|
+
readOnlyMode?: boolean;
|
|
2688
|
+
}
|
|
2689
|
+
export function AvatarUploader(props: AvatarUploaderProps): import("react/jsx-runtime").JSX.Element;
|
|
2690
|
+
export interface LinkProps {
|
|
2691
|
+
to: string;
|
|
2692
|
+
children: React.ReactNode;
|
|
2693
|
+
}
|
|
2694
|
+
export function Link(props: LinkProps): import("react/jsx-runtime").JSX.Element;
|
|
2695
|
+
export function useNavigation(): MicroMRouterState;
|
|
2696
|
+
export function MicroMRouter(props: {
|
|
2697
|
+
children: ReactNode;
|
|
2698
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
2699
|
+
export interface RouteProps {
|
|
2700
|
+
path: string;
|
|
2701
|
+
children: React.ReactNode;
|
|
2702
|
+
}
|
|
2703
|
+
export function Route(props: RouteProps): import("react/jsx-runtime").JSX.Element | null;
|
|
2704
|
+
export const DEFAULT_MAP_CENTER: latLng;
|
|
2705
|
+
export type GoogleMapsAddressComponentType = 'street_address' | 'route' | 'intersection' | 'political' | 'country' | 'administrative_area_level_1' | 'administrative_area_level_2' | 'administrative_area_level_3' | 'administrative_area_level_4' | 'administrative_area_level_5' | 'administrative_area_level_6' | 'administrative_area_level_7' | 'colloquial_area' | 'locality' | 'sublocality' | 'sublocality_level_1' | 'sublocality_level_2' | 'sublocality_level_3' | 'sublocality_level_4' | 'sublocality_level_5' | 'neighborhood' | 'premise' | 'subpremise' | 'plus_code' | 'postal_code' | 'natural_feature' | 'airport' | 'park' | 'point_of_interest' | 'floor' | 'establishment' | 'landmark' | 'parking' | 'post_box' | 'postal_town' | 'room' | 'street_number' | 'bus_station' | 'train_station' | 'transit_station';
|
|
2706
|
+
export type AddressComponentValue = {
|
|
2707
|
+
long_name?: string;
|
|
2708
|
+
short_name?: string;
|
|
2709
|
+
};
|
|
2710
|
+
export type AddressComponentResult = Partial<Record<GoogleMapsAddressComponentType, AddressComponentValue>>;
|
|
2711
|
+
export type MappingAddressType = 'address' | 'postal_code' | 'state_province' | 'city' | 'country' | 'county' | 'unknown';
|
|
2712
|
+
export interface MappedAddressResult {
|
|
2713
|
+
street?: string;
|
|
2714
|
+
streetNumber?: string;
|
|
2715
|
+
apartment?: string;
|
|
2716
|
+
floor?: string;
|
|
2717
|
+
country?: string;
|
|
2718
|
+
countryCode?: string;
|
|
2719
|
+
province?: string;
|
|
2720
|
+
provinceCode?: string;
|
|
2721
|
+
city?: string;
|
|
2722
|
+
cityCode?: string;
|
|
2723
|
+
department?: string;
|
|
2724
|
+
departmentCode?: string;
|
|
2725
|
+
postalCode?: string;
|
|
2726
|
+
mappedAddressType?: MappingAddressType;
|
|
2727
|
+
}
|
|
2728
|
+
export const AddressSearchDefaultZoomLevels: Record<MappingAddressType, number>;
|
|
2729
|
+
export type GoogleAddressMappingRecord = Partial<Record<GoogleMapsAddressComponentType, keyof AddressComponentValue>>;
|
|
2730
|
+
export type GoogleMapsMappingRules = Partial<Record<keyof Omit<MappedAddressResult, 'mappedAddressType'>, GoogleAddressMappingRecord[]>>;
|
|
2731
|
+
export interface AddressMappingRule {
|
|
2732
|
+
conditions: AddressComponentResult;
|
|
2733
|
+
mapping: GoogleMapsMappingRules;
|
|
2734
|
+
dontApplyDefaultMappings?: boolean;
|
|
2735
|
+
}
|
|
2736
|
+
export type DefaultAddressMappingType = Record<keyof Omit<MappedAddressResult, 'mappedAddressType'>, GoogleAddressMappingRecord[]>;
|
|
2737
|
+
export interface GoogleMapsErrorStatus {
|
|
2738
|
+
origin?: string;
|
|
2739
|
+
status?: string;
|
|
2740
|
+
}
|
|
2741
|
+
export interface PlacesOperationResult {
|
|
2742
|
+
status?: string;
|
|
2743
|
+
result?: google.maps.places.PlaceResult;
|
|
2744
|
+
mapped?: MappedAddressResult;
|
|
2745
|
+
}
|
|
2746
|
+
export interface GeocodeOperationResult {
|
|
2747
|
+
status?: string;
|
|
2748
|
+
result?: google.maps.GeocoderResult;
|
|
2749
|
+
}
|
|
2750
|
+
export type MapOptions = google.maps.MapOptions;
|
|
2751
|
+
export const GoogleMapsAPILoaderConfig: Partial<LoaderOptions>;
|
|
2752
|
+
export function GetGoogleMapsAPILoader(): Loader;
|
|
2753
|
+
export function useGooglePlacesAPIloader(): boolean[];
|
|
2754
|
+
export function useGoogleGeocoderAPIloader(): boolean[];
|
|
2755
|
+
export function useGoogleMapsAPILoader(): boolean[];
|
|
2756
|
+
export function useGoogleGeometryAPILoader(): boolean[];
|
|
2757
|
+
export function useGoogleMapsAPI(): {
|
|
2758
|
+
mapReady: boolean;
|
|
2759
|
+
placesReady: boolean;
|
|
2760
|
+
geocoderReady: boolean;
|
|
2761
|
+
getAutocompletePredictions: (props: {
|
|
2762
|
+
searchText: string;
|
|
2763
|
+
restrictions?: google.maps.places.ComponentRestrictions;
|
|
2764
|
+
callback: (predictions: google.maps.places.AutocompletePrediction[] | null, status: google.maps.places.PlacesServiceStatus) => void;
|
|
2765
|
+
}) => void;
|
|
2766
|
+
getAutocompleteDetails: (props: {
|
|
2767
|
+
placeId: string;
|
|
2768
|
+
fields: string[] | undefined;
|
|
2769
|
+
callback: (result: google.maps.places.PlaceResult | null, status: google.maps.places.PlacesServiceStatus) => void;
|
|
2770
|
+
}) => void;
|
|
2771
|
+
geocode: (request: google.maps.GeocoderRequest, callback: (results: google.maps.GeocoderResult[] | null | undefined, status: google.maps.GeocoderStatus | null | undefined) => void) => void;
|
|
2772
|
+
attributionsRef: import("react").RefObject<HTMLDivElement>;
|
|
2773
|
+
refreshSessionToken: () => void;
|
|
2774
|
+
geometryReady: boolean;
|
|
2775
|
+
getPlaceDetails: (props: {
|
|
2776
|
+
placeId: string;
|
|
2777
|
+
fields: string[] | undefined;
|
|
2778
|
+
}) => Promise<google.maps.places.PlaceResult>;
|
|
2779
|
+
};
|
|
2780
|
+
export const DefaultAddressMapping: DefaultAddressMappingType;
|
|
2781
|
+
export const ARMappingRules: AddressMappingRule;
|
|
2782
|
+
export const UYMappingRules: AddressMappingRule;
|
|
2783
|
+
export const USMappingRules: AddressMappingRule;
|
|
2784
|
+
export function useGoogleAddressMapping(): {
|
|
2785
|
+
mapGoogleAddressComponents: (addressComponents: google.maps.GeocoderAddressComponent[], mappingRules: AddressMappingRule[]) => MappedAddressResult;
|
|
2786
|
+
};
|
|
2787
|
+
export function useGoogleAddressAutocomplete({ onAddressFound, restrictions, onChange, value, onAPIError, mappingRules, iconColor }: GoogleAddressAutocompleteProps): {
|
|
2788
|
+
userInputRef: import("react").RefObject<HTMLInputElement>;
|
|
2789
|
+
attributionsRef: import("react").RefObject<HTMLDivElement>;
|
|
2790
|
+
isLoading: boolean;
|
|
2791
|
+
handleOnUserInputChange: (value: string) => void;
|
|
2792
|
+
handleOnItemSubmit: (item: AutocompleteItem & {
|
|
2793
|
+
place_id: string;
|
|
2794
|
+
}) => void;
|
|
2795
|
+
suggestions: (AutocompleteItem & {
|
|
2796
|
+
structuredFormatting: google.maps.places.StructuredFormatting;
|
|
2797
|
+
})[];
|
|
2798
|
+
value: string | undefined;
|
|
2799
|
+
apiError: google.maps.places.PlacesServiceStatus | undefined;
|
|
2800
|
+
};
|
|
2801
|
+
export interface AddressFoundResult {
|
|
2802
|
+
place: google.maps.places.PlaceResult;
|
|
2803
|
+
address?: MappedAddressResult;
|
|
2804
|
+
suggestionDescription?: string;
|
|
2805
|
+
position?: latLng;
|
|
2806
|
+
}
|
|
2807
|
+
export type GoogleAddressAutocompleteRestrictions = google.maps.places.ComponentRestrictions;
|
|
2808
|
+
export type OnAddressFoundCallback = (result: AddressFoundResult) => void;
|
|
2809
|
+
export type OnInputChangeCallback = (value: string) => void;
|
|
2810
|
+
export type GoogleAddressAutocompleteProps = Omit<AutocompleteProps, 'data'> & {
|
|
2811
|
+
restrictions?: GoogleAddressAutocompleteRestrictions;
|
|
2812
|
+
onAddressFound?: OnAddressFoundCallback;
|
|
2813
|
+
onAPIError?: (status: google.maps.places.PlacesServiceStatus) => void;
|
|
2814
|
+
mappingRules?: AddressMappingRule[];
|
|
2815
|
+
iconColor?: MantineColor;
|
|
2816
|
+
};
|
|
2817
|
+
export const DefaultGoogleAddressAutocompleteProps: Partial<GoogleAddressAutocompleteProps>;
|
|
2818
|
+
export function GoogleAddressAutocomplete(props: GoogleAddressAutocompleteProps): import("react/jsx-runtime").JSX.Element;
|
|
2819
|
+
export interface GoogleMapZoomFeatureStyles {
|
|
2820
|
+
styleDefault?: google.maps.FeatureStyleOptions;
|
|
2821
|
+
styleClicked?: google.maps.FeatureStyleOptions;
|
|
2822
|
+
styleMouseMove?: google.maps.FeatureStyleOptions;
|
|
2823
|
+
}
|
|
2824
|
+
export const GoogleMapLowZoomStyleDefaultProps: Partial<GoogleMapZoomFeatureStyles>;
|
|
2825
|
+
export const GoogleMapMediumZoomStyleDefaultProps: Partial<GoogleMapZoomFeatureStyles>;
|
|
2826
|
+
export const GoogleMapHighZoomStyleDefaultProps: Partial<GoogleMapZoomFeatureStyles>;
|
|
2827
|
+
export type GoogleMapZoomLevel = 'low' | 'medium' | 'high';
|
|
2828
|
+
export interface GoogleMapZoomFeature {
|
|
2829
|
+
featureType: google.maps.FeatureType;
|
|
2830
|
+
zoom: number;
|
|
2831
|
+
styles: GoogleMapZoomFeatureStyles;
|
|
2832
|
+
zoomLevel: GoogleMapZoomLevel;
|
|
2833
|
+
}
|
|
2834
|
+
export interface GoogleMapZoomFeatureTypeMap {
|
|
2835
|
+
low: GoogleMapZoomFeature;
|
|
2836
|
+
medium: GoogleMapZoomFeature;
|
|
2837
|
+
high: GoogleMapZoomFeature;
|
|
2838
|
+
}
|
|
2839
|
+
export interface ISelectedRegionData {
|
|
2840
|
+
placeId: string;
|
|
2841
|
+
featureType?: google.maps.FeatureType;
|
|
2842
|
+
countryId?: string;
|
|
2843
|
+
countryName?: string;
|
|
2844
|
+
administrativeAreaLevel1Id?: string;
|
|
2845
|
+
administrativeAreaLevel1Name?: string;
|
|
2846
|
+
administrativeAreaLevel2Id?: string;
|
|
2847
|
+
administrativeAreaLevel2Name?: string;
|
|
2848
|
+
localityId?: string;
|
|
2849
|
+
localityName?: string;
|
|
2850
|
+
postalCode?: string;
|
|
2851
|
+
}
|
|
2852
|
+
export type SelectedRegionData = ISelectedRegionData & ValuesObject;
|
|
2853
|
+
export interface IClickedRegionData {
|
|
2854
|
+
placeId: string;
|
|
2855
|
+
featureType?: google.maps.FeatureType;
|
|
2856
|
+
appliedStyle?: google.maps.FeatureStyleOptions;
|
|
2857
|
+
}
|
|
2858
|
+
export type ClickedRegionData = IClickedRegionData & ValuesObject;
|
|
2859
|
+
export interface GoogleMapRegionSelectorProps {
|
|
2860
|
+
googleMapsAPI: ReturnType<typeof useGoogleMapsAPI>;
|
|
2861
|
+
selectedRegions: Record<string, SelectedRegionData>;
|
|
2862
|
+
setSelectedRegions: Dispatch<SetStateAction<Record<string, SelectedRegionData>>>;
|
|
2863
|
+
clickedRegions: Record<string, ClickedRegionData>;
|
|
2864
|
+
setClickedRegions: Dispatch<SetStateAction<Record<string, ClickedRegionData>>>;
|
|
2865
|
+
featureTypeMap?: GoogleMapZoomFeatureTypeMap;
|
|
2866
|
+
onSelectionChanged?: (selectedRegions: Record<string, SelectedRegionData>) => void;
|
|
2867
|
+
onRegionClicked?: (placeId: string) => void;
|
|
2868
|
+
onRegionMouseMove?: (placeId: string) => void;
|
|
2869
|
+
onAPIError?: (status: GoogleMapsErrorStatus) => void;
|
|
2870
|
+
countries: string[];
|
|
2871
|
+
showOnlyCurrentLayerFeatures?: boolean;
|
|
2872
|
+
mapRestrictions?: google.maps.LatLngBoundsLiteral[];
|
|
2873
|
+
mapCenter?: google.maps.LatLngLiteral;
|
|
2874
|
+
maxRegions?: number;
|
|
2875
|
+
onMaxRegionsReached?: () => void;
|
|
2876
|
+
highlightOnMouseOver?: boolean;
|
|
2877
|
+
}
|
|
2878
|
+
export const GoogleMapRegionSelectorDefaultProps: Partial<GoogleMapRegionSelectorProps>;
|
|
2879
|
+
export const isWithinRestrictions: (latLng: google.maps.LatLngLiteral, boundsRestrictions: google.maps.LatLngBoundsLiteral[]) => boolean;
|
|
2880
|
+
export const findClosestCenter: (latLng: google.maps.LatLngLiteral, boundsRestrictions: google.maps.LatLngBoundsLiteral[], defaultCenter: google.maps.LatLngLiteral) => google.maps.LatLngLiteral;
|
|
2881
|
+
export const panIfRestricted: (map: google.maps.Map, boundsRestrictions: google.maps.LatLngBoundsLiteral[], defaultCenter: google.maps.LatLngLiteral) => void;
|
|
2882
|
+
export interface GoogleMapContextType {
|
|
2883
|
+
map: google.maps.Map | null;
|
|
2884
|
+
renderMarkers: () => React.ReactNode;
|
|
2885
|
+
setInfoWindowContent?: (content: React.ReactNode) => void;
|
|
2886
|
+
infoWindowRef: RefObject<google.maps.InfoWindow>;
|
|
2887
|
+
infoWindowContentRef?: RefObject<HTMLDivElement>;
|
|
2888
|
+
}
|
|
2889
|
+
export const GoogleMapContext: import("react").Context<GoogleMapContextType | null>;
|
|
2890
|
+
export function useGoogleMap(): GoogleMapContextType;
|
|
2891
|
+
export function useGoogleMapRegionSelector(props: GoogleMapRegionSelectorProps): {
|
|
2892
|
+
applyStyle: (params: google.maps.FeatureStyleFunctionOptions) => google.maps.FeatureStyleOptions;
|
|
2893
|
+
selectFeature: (features: google.maps.PlaceFeature[]) => void;
|
|
2894
|
+
highLightFeature: (placeIds: string[]) => void;
|
|
2895
|
+
currentZoomFeature: GoogleMapZoomFeature;
|
|
2896
|
+
setCurrentZoomFeature: import("react").Dispatch<import("react").SetStateAction<GoogleMapZoomFeature>>;
|
|
2897
|
+
map: google.maps.Map | null;
|
|
2898
|
+
handleClick: (e: google.maps.FeatureMouseEvent) => void;
|
|
2899
|
+
handleMouseMove: (e: google.maps.FeatureMouseEvent) => void;
|
|
2900
|
+
activeZoomFeatures: GoogleMapZoomFeature[];
|
|
2901
|
+
setActiveZoomFeatures: import("react").Dispatch<import("react").SetStateAction<GoogleMapZoomFeature[]>>;
|
|
2902
|
+
refreshStyles: () => void;
|
|
2903
|
+
};
|
|
2904
|
+
export function GoogleMapRegionSelector(props: GoogleMapRegionSelectorProps): null;
|
|
2905
|
+
export type MarkerOptions = Omit<google.maps.MarkerOptions, "map">;
|
|
2906
|
+
export type OnDragEndCallback = (position: google.maps.LatLng) => void;
|
|
2907
|
+
export interface MarkerProps {
|
|
2908
|
+
markerOptions: MarkerOptions;
|
|
2909
|
+
onDragEnd?: OnDragEndCallback;
|
|
2910
|
+
onMarkerClick?: (infoWindow: google.maps.InfoWindow) => ReactNode;
|
|
2911
|
+
group?: string;
|
|
2912
|
+
dataSetId?: string;
|
|
2913
|
+
recordIndex?: number;
|
|
2914
|
+
selectedOrder?: number;
|
|
2915
|
+
selectedMarkerOptions?: MarkerOptions;
|
|
2916
|
+
isMapCenter?: boolean;
|
|
2917
|
+
}
|
|
2918
|
+
export const MarkerPropsDefault: Partial<MarkerProps>;
|
|
2919
|
+
export function GoogleMarker(props: MarkerProps): undefined;
|
|
2920
|
+
export function useCreateGoogleMap({ mapOptions, children, setInfoWindowContent, infoWindowContentRef }: GoogleMapProps): {
|
|
2921
|
+
containerRef: import("react").RefObject<HTMLDivElement>;
|
|
2922
|
+
mapContext: {
|
|
2923
|
+
map: google.maps.Map | null;
|
|
2924
|
+
renderMarkers: () => import("react").ReactNode;
|
|
2925
|
+
infoWindowRef: import("react").MutableRefObject<google.maps.InfoWindow>;
|
|
2926
|
+
infoWindowContentRef: import("react").RefObject<HTMLDivElement> | undefined;
|
|
2927
|
+
setInfoWindowContent: import("react").Dispatch<import("react").SetStateAction<import("react").ReactNode>> | undefined;
|
|
2928
|
+
};
|
|
2929
|
+
};
|
|
2930
|
+
export type GoogleMapProps = DefaultProps & PropsWithChildren<{
|
|
2931
|
+
mapOptions: MapOptions;
|
|
2932
|
+
infoWindowContentRef?: RefObject<HTMLDivElement>;
|
|
2933
|
+
setInfoWindowContent?: Dispatch<SetStateAction<ReactNode>>;
|
|
2934
|
+
}>;
|
|
2935
|
+
export const DefaultMapProps: Partial<GoogleMapProps>;
|
|
2936
|
+
export function GoogleMap(props: GoogleMapProps): import("react/jsx-runtime").JSX.Element;
|
|
2937
|
+
export function useGoogleAddressMappingRules(): {
|
|
2938
|
+
mappingRules: AddressMappingRule[];
|
|
2939
|
+
addMappingRule: (rules: AddressMappingRule[]) => void;
|
|
2940
|
+
clearMappingRules: () => void;
|
|
2941
|
+
};
|
|
2942
|
+
export interface InfoWindowPortalProps {
|
|
2943
|
+
container: Element | DocumentFragment;
|
|
2944
|
+
children: React.ReactNode;
|
|
2945
|
+
}
|
|
2946
|
+
export function InfoWindowPortal({ children, container }: InfoWindowPortalProps): import("react").ReactPortal;
|
|
2947
|
+
export interface GoogleMapsInfoWindowProps {
|
|
2948
|
+
container: Element | DocumentFragment;
|
|
2949
|
+
infoWindowContent: React.ReactNode;
|
|
2950
|
+
}
|
|
2951
|
+
export function GoogleMapsInfoWindow({ container, infoWindowContent }: GoogleMapsInfoWindowProps): import("react/jsx-runtime").JSX.Element;
|
|
2952
|
+
export function useDefaultClusterRenderer(groupOfLabel?: string, locationsLabel?: string): {
|
|
2953
|
+
render: (cluster: Cluster, stats: ClusterStats, map: google.maps.Map) => Marker;
|
|
2954
|
+
};
|
|
2955
|
+
export function useCreateGoogleMapCluster({ mapOptions, InitialMarkerClustererOptions, setInfoWindowContent, infoWindowContentRef, labels, markers, selectedMarkers }: GoogleMapClusterProps): {
|
|
2956
|
+
containerRef: import("react").RefObject<HTMLDivElement>;
|
|
2957
|
+
mapContext: {
|
|
2958
|
+
map: google.maps.Map | null;
|
|
2959
|
+
renderMarkers: () => never;
|
|
2960
|
+
infoWindowRef: import("react").MutableRefObject<google.maps.InfoWindow>;
|
|
2961
|
+
infoWindowContentRef: import("react").RefObject<HTMLDivElement> | undefined;
|
|
2962
|
+
setInfoWindowContent: import("react").Dispatch<import("react").SetStateAction<import("react").ReactNode>> | undefined;
|
|
2963
|
+
};
|
|
2964
|
+
};
|
|
2965
|
+
export interface MapClusterOptions extends Omit<MarkerClustererOptions, 'map' | 'markers'> {
|
|
2966
|
+
}
|
|
2967
|
+
export type SelectedMarkerProps = Record<string, Record<number, MarkerProps>>;
|
|
2968
|
+
export type GoogleMapClusterProps = DefaultProps & PropsWithChildren<{
|
|
2969
|
+
mapOptions: MapOptions;
|
|
2970
|
+
InitialMarkerClustererOptions?: MapClusterOptions;
|
|
2971
|
+
infoWindowContentRef?: RefObject<HTMLDivElement>;
|
|
2972
|
+
setInfoWindowContent?: Dispatch<SetStateAction<ReactNode>>;
|
|
2973
|
+
markers?: MarkerProps[];
|
|
2974
|
+
labels?: {
|
|
2975
|
+
groupOfLabel?: string;
|
|
2976
|
+
locationsLabel?: string;
|
|
2977
|
+
};
|
|
2978
|
+
selectedMarkers: SelectedMarkerProps;
|
|
2979
|
+
}>;
|
|
2980
|
+
export const DefaultMapClusterProps: Partial<GoogleMapClusterProps>;
|
|
2981
|
+
export function GoogleMapCluster(props: GoogleMapClusterProps): import("react/jsx-runtime").JSX.Element;
|
|
2982
|
+
export function getGoogleMapsStreetViewImage(location: google.maps.LatLng | google.maps.LatLngLiteral, width?: number, height?: number, fov?: number): string;
|
|
2983
|
+
export interface GoogleMapRegionSelectorMapProps extends GoogleMapProps {
|
|
2984
|
+
regionSelectorProps: Omit<GoogleMapRegionSelectorProps, 'googleMapsAPI'>;
|
|
2985
|
+
}
|
|
2986
|
+
export function GoogleMapRegionSelectorMap(props: GoogleMapRegionSelectorMapProps): import("react/jsx-runtime").JSX.Element;
|
|
2987
|
+
export interface AddressAutocompleteResult {
|
|
2988
|
+
address?: MappedAddressResult;
|
|
2989
|
+
position?: latLng;
|
|
2990
|
+
utcOffsetMinutes?: number;
|
|
2991
|
+
formattedAddress?: string;
|
|
2992
|
+
}
|
|
2993
|
+
export interface AddressAutocompleteProps extends Omit<GoogleAddressAutocompleteProps, 'restrictions' | 'onAddressFound'> {
|
|
2994
|
+
column: EntityColumn<Value>;
|
|
2995
|
+
entityForm: UseEntityFormReturnType;
|
|
2996
|
+
validate?: ValidatorConfiguration;
|
|
2997
|
+
requiredMessage?: ReactNode;
|
|
2998
|
+
validationContainer?: React.ComponentType<{
|
|
2999
|
+
children: ReactNode;
|
|
3000
|
+
}>;
|
|
3001
|
+
autoFocus?: boolean;
|
|
3002
|
+
countries: string[];
|
|
3003
|
+
onAddressFound?: (addressResult?: AddressAutocompleteResult) => void;
|
|
3004
|
+
}
|
|
3005
|
+
export function AddressAutocomplete(props: AddressAutocompleteProps): import("react/jsx-runtime").JSX.Element;
|
|
3006
|
+
export interface AddressMapMarkerPosition {
|
|
3007
|
+
position: latLng;
|
|
3008
|
+
mappedAddressType?: MappingAddressType;
|
|
3009
|
+
}
|
|
3010
|
+
export interface AddressMapMarkerProps {
|
|
3011
|
+
initialSearchAddress?: string;
|
|
3012
|
+
readOnly?: boolean;
|
|
3013
|
+
markerPosition?: AddressMapMarkerPosition;
|
|
3014
|
+
defaultMapCenter?: latLng;
|
|
3015
|
+
onMarkerChanged?: (postion: latLng, geocodeOperationResult?: google.maps.GeocoderResult) => void;
|
|
3016
|
+
onAPIError?: (status: GoogleMapsErrorStatus) => void;
|
|
3017
|
+
errorTitle?: string;
|
|
3018
|
+
errorMessage?: string;
|
|
3019
|
+
markerInfoTitle?: string;
|
|
3020
|
+
markerInfoMessage?: string;
|
|
3021
|
+
mapHeight?: MantineNumberSize;
|
|
3022
|
+
showErrors?: boolean;
|
|
3023
|
+
draggable?: boolean;
|
|
3024
|
+
initialMapZoomLevel?: number;
|
|
3025
|
+
fullScreenControl?: boolean;
|
|
3026
|
+
}
|
|
3027
|
+
export const AddressMapMarkerDefaultProps: Partial<AddressMapMarkerProps>;
|
|
3028
|
+
export function AddressMapMarker(props: AddressMapMarkerProps): import("react/jsx-runtime").JSX.Element;
|
|
3029
|
+
export interface AddressSearchProps extends Omit<AddressMapMarkerProps, 'showErrors'> {
|
|
3030
|
+
countries: string[];
|
|
3031
|
+
onAddressFound?: (result: AddressFoundResult) => void;
|
|
3032
|
+
mappingRules?: AddressMappingRule[];
|
|
3033
|
+
addressLabel?: string;
|
|
3034
|
+
draggable?: boolean;
|
|
3035
|
+
}
|
|
3036
|
+
export const AddressSearchDefaultProps: Partial<AddressSearchProps>;
|
|
3037
|
+
export function AddressSearch(props: AddressSearchProps): import("react/jsx-runtime").JSX.Element;
|
|
3038
|
+
export interface AddressSearchFormProps {
|
|
3039
|
+
helpMessage?: string;
|
|
3040
|
+
okLabel?: string;
|
|
3041
|
+
cancelLabel?: string;
|
|
3042
|
+
countries: string[];
|
|
3043
|
+
initialSearchAddress?: string;
|
|
3044
|
+
currentPosition?: AddressMapMarkerPosition;
|
|
3045
|
+
onCancel?: () => void;
|
|
3046
|
+
onOK: (addressResult?: AddressFoundResult, position?: latLng) => void;
|
|
3047
|
+
mappingRules?: AddressMappingRule[];
|
|
3048
|
+
draggable?: boolean;
|
|
3049
|
+
}
|
|
3050
|
+
export const AddressSearchFormDefaultProps: Partial<AddressSearchFormProps>;
|
|
3051
|
+
export function AddressSearchForm(props: AddressSearchFormProps): import("react/jsx-runtime").JSX.Element;
|
|
3052
|
+
export interface AddressSearchModalOptions {
|
|
3053
|
+
onOK: (address?: AddressFoundResult, position?: latLng) => void;
|
|
3054
|
+
onCancel?: () => void;
|
|
3055
|
+
onClosed?: () => void;
|
|
3056
|
+
modalProps?: ModalSettings;
|
|
3057
|
+
search?: string;
|
|
3058
|
+
helpMessage?: string;
|
|
3059
|
+
title?: string;
|
|
3060
|
+
countries: string[];
|
|
3061
|
+
currentPosition?: AddressMapMarkerPosition;
|
|
3062
|
+
mappingRules?: AddressMappingRule[];
|
|
3063
|
+
}
|
|
3064
|
+
export const UseAddressSearchFormDefaultProps: Partial<AddressSearchModalOptions>;
|
|
3065
|
+
export function useAddressSearchForm(): (props: AddressSearchModalOptions) => Promise<void>;
|
|
3066
|
+
export interface AddressLookupProps extends Omit<AddressAutocompleteProps, 'rightSection'> {
|
|
3067
|
+
icon?: React.ReactNode;
|
|
3068
|
+
iconLabel?: string;
|
|
3069
|
+
iconVariant?: ActionIconVariant;
|
|
3070
|
+
currentPosition?: AddressMapMarkerPosition;
|
|
3071
|
+
}
|
|
3072
|
+
export const AddressLookupDefaultProps: Partial<AddressLookupProps>;
|
|
3073
|
+
export function AddressLookup(props: AddressLookupProps): import("react/jsx-runtime").JSX.Element;
|
|
3074
|
+
/**
|
|
3075
|
+
* Converts a hexadecimal color string to an RGB array.
|
|
3076
|
+
* @param hex - The hexadecimal color string.
|
|
3077
|
+
* @returns The RGB array.
|
|
3078
|
+
*/
|
|
3079
|
+
export function hexToRgb(hex: string): [number, number, number];
|
|
3080
|
+
/**
|
|
3081
|
+
* Converts an RGB array to a hexadecimal color string.
|
|
3082
|
+
* @param r - The red component.
|
|
3083
|
+
* @param g - The green component.
|
|
3084
|
+
* @param b - The blue component.
|
|
3085
|
+
* @returns The hexadecimal color string.
|
|
3086
|
+
*/
|
|
3087
|
+
export function rgbToHex(r: number, g: number, b: number): string;
|
|
3088
|
+
/**
|
|
3089
|
+
* Interpolates between two colors.
|
|
3090
|
+
* @param color1 - The first color.
|
|
3091
|
+
* @param color2 - The second color.
|
|
3092
|
+
* @param factor - The interpolation factor.
|
|
3093
|
+
* @returns The interpolated color.
|
|
3094
|
+
*/
|
|
3095
|
+
export function interpolateColor(color1: string, color2: string, factor: number): string;
|
|
3096
|
+
/**
|
|
3097
|
+
* Computes a hash and converts a string to a color. Use this function to generate a color from a string from a small set of strings.
|
|
3098
|
+
* @param str - The string to convert.
|
|
3099
|
+
* @returns The color.
|
|
3100
|
+
*/
|
|
3101
|
+
export function stringToColor(str: string): string;
|
|
3102
|
+
/**
|
|
3103
|
+
* Computes a label color (either white or black) based on the background color generated by stringToColor.
|
|
3104
|
+
* @param str - The string to convert to a color and use as background.
|
|
3105
|
+
* @returns The label color.
|
|
3106
|
+
*/
|
|
3107
|
+
export function stringToColorLabel(str: string): string;
|
|
3108
|
+
export const MarkerSVGConverterFillColorTAG = "{FILL_COLOR}";
|
|
3109
|
+
export const MarkerSVGConverterStrokeColorTAG = "{STROKE_COLOR}";
|
|
3110
|
+
export const MarkerSVGConverterFillOpacityTAG = "{FILL_OPACITY}";
|
|
3111
|
+
export const MarkerSVGConverterStyleTAG = "{STYLES}";
|
|
3112
|
+
export const MarkerSVGConverterSelectedStyleTAG = "{SELECTED_STYLE}";
|
|
3113
|
+
/**
|
|
3114
|
+
* Hook that returns a function to convert a SVG image to a URL with the specified colors.
|
|
3115
|
+
* it replaces the tags {FILL_COLOR}, {STROKE_COLOR} and {FILL_OPACITY} with the specified colors.
|
|
3116
|
+
* @returns
|
|
3117
|
+
*/
|
|
3118
|
+
export function useGoogleMarkerSVGConvertToURL(): (svgImage: string, fillColor?: string, strokeColor?: string, fillOpacity?: number, styles?: string, selectedStyle?: string) => {
|
|
3119
|
+
icon: string;
|
|
3120
|
+
url?: string;
|
|
3121
|
+
};
|
|
3122
|
+
export const MapMarkerDefaultShadowStyle = "-webkit-filter: drop-shadow( 3px 3px 2px rgba(0, 0, 0, .7)); filter: drop-shadow( 3px 3px 2px rgba(0, 0, 0, .7));";
|
|
3123
|
+
export const MapMarkerDefaultSelectedStyle = "-webkit-filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, .8)); filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, .8));";
|
|
3124
|
+
export const MapMarkerCircleFilledSVGIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"{STYLES}{SELECTED_STYLE}\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"{FILL_COLOR}\" class=\"icon icon-tabler icons-tabler-filled icon-tabler-circle\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 3.34a10 10 0 1 1 -4.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 4.995 -8.336z\" /></svg>";
|
|
3125
|
+
export const MapMarkerCircleCheckedSVGIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"{STYLES}{SELECTED_STYLE}\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"{FILL_COLOR}\" class=\"icon icon-tabler icons-tabler-filled icon-tabler-circle-check\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.293 5.953a1 1 0 0 0 -1.32 -.083l-.094 .083l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.403 1.403l.083 .094l2 2l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z\" /></svg>";
|
|
3126
|
+
export const MapMarkerDefaultSelectedSVGIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"{STYLES}{SELECTED_STYLE}\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"{FILL_COLOR}\" class=\"icon icon-tabler icons-tabler-filled icon-tabler-circle\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 3.34a10 10 0 1 1 -4.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 4.995 -8.336z\" /></svg>";
|
|
3127
|
+
export const MapMarkerDefaultSVGIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"{STYLES}{SELECTED_STYLE}\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"{FILL_COLOR}\" fill-opacity=\"{FILL_OPACITY}\" class=\"icon icon-tabler icons-tabler-filled icon-tabler-map-pin\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M18.364 4.636a9 9 0 0 1 .203 12.519l-.203 .21l-4.243 4.242a3 3 0 0 1 -4.097 .135l-.144 -.135l-4.244 -4.243a9 9 0 0 1 12.728 -12.728zm-6.364 3.364a3 3 0 1 0 0 6a3 3 0 0 0 0 -6z\" /></svg>";
|
|
3128
|
+
export const MapMarkerDefaultFillColor = "#1e72c1";
|
|
3129
|
+
export const MapMarkerDefaultFillOpacity = 0.7;
|
|
3130
|
+
export const MapMarkerGroupDefaultSVGIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"{STYLES}{SELECTED_STYLE}\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"{FILL_COLOR}\" fill-opacity=\"{FILL_OPACITY}\" class=\"icon icon-tabler icons-tabler-filled icon-tabler-hexagon\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M10.425 1.414l-6.775 3.996a3.21 3.21 0 0 0 -1.65 2.807v7.285a3.226 3.226 0 0 0 1.678 2.826l6.695 4.237c1.034 .57 2.22 .57 3.2 .032l6.804 -4.302c.98 -.537 1.623 -1.618 1.623 -2.793v-7.284l-.005 -.204a3.223 3.223 0 0 0 -1.284 -2.39l-.107 -.075l-.007 -.007a1.074 1.074 0 0 0 -.181 -.133l-6.776 -3.995a3.33 3.33 0 0 0 -3.216 0z\" /></svg>";
|
|
3131
|
+
export const MapMarkerGroupDefaultFillColor = "red";
|
|
3132
|
+
export const MapMarkerGroupDefaultLabelOrigin: {
|
|
3133
|
+
x: number;
|
|
3134
|
+
y: number;
|
|
3135
|
+
};
|
|
3136
|
+
export interface UseCreateMarkerOptionsProps {
|
|
3137
|
+
svgIcon?: string;
|
|
3138
|
+
fillColor?: string;
|
|
3139
|
+
strokeColor?: string;
|
|
3140
|
+
fillOpacity?: number;
|
|
3141
|
+
styles?: string;
|
|
3142
|
+
selectedSvgIcon?: string;
|
|
3143
|
+
selectedFillColor?: string;
|
|
3144
|
+
selectedStrokeColor?: string;
|
|
3145
|
+
selectedFillOpacity?: number;
|
|
3146
|
+
selectedStyles?: string;
|
|
3147
|
+
selectedLabelOrigin?: google.maps.Point;
|
|
3148
|
+
selectedLabel?: google.maps.MarkerLabel;
|
|
3149
|
+
position: google.maps.LatLng | google.maps.LatLngLiteral;
|
|
3150
|
+
assignColorByValue?: string;
|
|
3151
|
+
title?: string;
|
|
3152
|
+
dataSetId?: string;
|
|
3153
|
+
recordIndex?: number;
|
|
3154
|
+
labelOrigin?: google.maps.Point;
|
|
3155
|
+
label?: google.maps.MarkerLabel;
|
|
3156
|
+
isMapCenter?: boolean;
|
|
3157
|
+
}
|
|
3158
|
+
export function useCreateMarkerOptions(): (props: UseCreateMarkerOptionsProps) => {
|
|
3159
|
+
markerOptions: google.maps.MarkerOptions;
|
|
3160
|
+
selectedMarkerOptions: google.maps.MarkerOptions;
|
|
3161
|
+
isMapCenter: boolean | undefined;
|
|
3162
|
+
};
|
|
3163
|
+
export type GroupRecord = {
|
|
3164
|
+
recordIndex: number;
|
|
3165
|
+
recordValue: ValuesRecord;
|
|
3166
|
+
};
|
|
3167
|
+
export interface LocationGroup {
|
|
3168
|
+
locationKey: string;
|
|
3169
|
+
location: google.maps.LatLng | google.maps.LatLngLiteral;
|
|
3170
|
+
records: GroupRecord[];
|
|
3171
|
+
}
|
|
3172
|
+
export interface RecordGroupManager {
|
|
3173
|
+
locationGroups: RefObject<LocationGroup[]>;
|
|
3174
|
+
getGroupByLocation: (location: google.maps.LatLng | google.maps.LatLngLiteral) => LocationGroup | undefined;
|
|
3175
|
+
addRecordToGroup: (location: google.maps.LatLng | google.maps.LatLngLiteral, recordIndex: number, recordValue: ValuesRecord) => LocationGroup;
|
|
3176
|
+
clearAllGroups: () => void;
|
|
3177
|
+
clearOneRecordGroups: () => void;
|
|
3178
|
+
}
|
|
3179
|
+
export function useRecordGroupManager(): RecordGroupManager;
|
|
3180
|
+
export interface DataMapMarkerProps extends UseCreateMarkerOptionsProps {
|
|
3181
|
+
}
|
|
3182
|
+
export interface DataMapSVGIcon {
|
|
3183
|
+
svgIcon: string;
|
|
3184
|
+
svgSelectedIcon?: string;
|
|
3185
|
+
}
|
|
3186
|
+
export type DataMapInfoWindowRenderer = (record: ValuesRecord, position: latLng, groupManager: RecordGroupManager, infoWindow: google.maps.InfoWindow, UIAPI: ReturnType<typeof useEntityUI>, theme: MantineTheme, entity: Entity<EntityDefinition>, modal: ModalContextType) => ReactNode;
|
|
3187
|
+
export type DataMapSelectRecordsRenderer = (record: ValuesRecord, recordIndex: number, position: latLng, groupManager: RecordGroupManager, infoWindow: google.maps.InfoWindow, UIAPI: ReturnType<typeof useEntityUI>, theme: MantineTheme, entity: Entity<EntityDefinition>) => ReactNode | null;
|
|
3188
|
+
export type DataMapMarkerRenderer = (record: ValuesRecord, position: latLng, theme: MantineTheme) => DataMapMarkerProps | null;
|
|
3189
|
+
export type DataMapGroupMarkerRenderer = (group: LocationGroup, markerOptions: DataMapMarkerProps, theme: MantineTheme) => DataMapMarkerProps | null;
|
|
3190
|
+
export interface DataMapProps {
|
|
3191
|
+
dataGridProps: Omit<DataGridProps, 'gridHeight'>;
|
|
3192
|
+
latitudRecordIndex: number;
|
|
3193
|
+
longitudRecordIndex: number;
|
|
3194
|
+
mapStyle?: google.maps.MapTypeStyle[];
|
|
3195
|
+
mapOptions?: google.maps.MapOptions;
|
|
3196
|
+
markerClustererOptions?: MapClusterOptions;
|
|
3197
|
+
markerRenderer?: DataMapMarkerRenderer;
|
|
3198
|
+
groupMarkerRenderer?: DataMapGroupMarkerRenderer;
|
|
3199
|
+
InfoWindowRenderer?: DataMapInfoWindowRenderer;
|
|
3200
|
+
selectRecordsRenderer?: DataMapSelectRecordsRenderer;
|
|
3201
|
+
labels?: {
|
|
3202
|
+
gridTabLabel?: string;
|
|
3203
|
+
mapTabLabel?: string;
|
|
3204
|
+
};
|
|
3205
|
+
mapHeight?: string | number;
|
|
3206
|
+
centerMarker?: DataMapMarkerProps;
|
|
3207
|
+
onDataRefresh?: () => void;
|
|
3208
|
+
}
|
|
3209
|
+
export const DataMapDefaultProps: Partial<DataMapProps>;
|
|
3210
|
+
export const DataMapDefaultDataGridProps: Partial<DataGridProps>;
|
|
3211
|
+
export function DataMap(props: DataMapProps): import("react/jsx-runtime").JSX.Element;
|
|
3212
|
+
export interface DataMapPageProps extends Omit<DataMapProps, 'dataGridProps'> {
|
|
3213
|
+
dataGridProps: Omit<DataGridProps, 'gridHeight' | 'entity'>;
|
|
3214
|
+
title?: string;
|
|
3215
|
+
icon?: ReactNode;
|
|
3216
|
+
helpText?: string;
|
|
3217
|
+
formMode: FormMode;
|
|
3218
|
+
client: MicroMClient;
|
|
3219
|
+
entityConstructor: (client: MicroMClient) => Entity<EntityDefinition>;
|
|
3220
|
+
showTitle?: boolean;
|
|
3221
|
+
}
|
|
3222
|
+
export const DataMapPageDefaultProps: Partial<DataMapPageProps>;
|
|
3223
|
+
export function DataMapPage(props: DataMapPageProps): import("react/jsx-runtime").JSX.Element;
|
|
3224
|
+
export interface DataMapFormProps extends DataMapProps {
|
|
3225
|
+
customTitle?: ReactNode;
|
|
3226
|
+
title?: string;
|
|
3227
|
+
icon?: ReactNode;
|
|
3228
|
+
helpText?: string;
|
|
3229
|
+
formMode: FormMode;
|
|
3230
|
+
showTitle?: boolean;
|
|
3231
|
+
}
|
|
3232
|
+
export const DataMapFormDefaultProps: Partial<DataMapFormProps>;
|
|
3233
|
+
export function DataMapForm(props: DataMapFormProps): import("react/jsx-runtime").JSX.Element;
|
|
3234
|
+
export interface UseMultiDataMapGridProps {
|
|
3235
|
+
dataMapView: MultiDataMapViewProps;
|
|
3236
|
+
viewState: ReturnType<typeof useViewState>;
|
|
3237
|
+
selectionMode?: GridSelectionMode;
|
|
3238
|
+
mapReady: boolean;
|
|
3239
|
+
placesReady: boolean;
|
|
3240
|
+
geocoderReady: boolean;
|
|
3241
|
+
clearSelectionOnActionExecuted?: boolean;
|
|
3242
|
+
}
|
|
3243
|
+
export function useMultiDataMapGrid({ dataMapView, viewState, selectionMode, mapReady, placesReady, geocoderReady, clearSelectionOnActionExecuted }: UseMultiDataMapGridProps): {
|
|
3244
|
+
dgProps: {
|
|
3245
|
+
onActionExecuted: (actionName: string, result?: boolean) => void;
|
|
3246
|
+
selectionMode: GridSelectionMode;
|
|
3247
|
+
latitudRecordIndex?: number;
|
|
3248
|
+
longitudRecordIndex?: number;
|
|
3249
|
+
dataSetId?: string;
|
|
3250
|
+
tabLabel?: string;
|
|
3251
|
+
tabIcon?: (props: import("@tabler/icons-react").IconProps) => import("react").ReactNode;
|
|
3252
|
+
InfoWindowRenderer?: import("src").DataMapInfoWindowRenderer;
|
|
3253
|
+
selectRecordsRenderer?: import("src").DataMapSelectRecordsRenderer;
|
|
3254
|
+
markerRenderer?: import("src").DataMapMarkerRenderer;
|
|
3255
|
+
groupMarkerRenderer?: import("src").DataMapGroupMarkerRenderer;
|
|
3256
|
+
centerMarkerColumnIndex?: number;
|
|
3257
|
+
search: string[];
|
|
3258
|
+
entity: import("src").Entity<import("src").EntityDefinition>;
|
|
3259
|
+
formMode: "view" | "add" | "edit" | undefined;
|
|
3260
|
+
onModalClosed: (cancelled?: boolean) => void;
|
|
3261
|
+
onModalSaved: (new_status: import("src").OperationStatus<import("src").DBStatusResult | null>) => void;
|
|
3262
|
+
modalFormSize: string | number | undefined;
|
|
3263
|
+
onModalCancelled: () => void;
|
|
3264
|
+
parentKeys: import("src").ValuesObject;
|
|
3265
|
+
withBorder: boolean;
|
|
3266
|
+
renderOnlyWhenVisible: boolean;
|
|
3267
|
+
viewName: string;
|
|
3268
|
+
refreshOnInit: boolean;
|
|
3269
|
+
limit: "0" | "10000" | "50" | "100" | "500" | "1000" | undefined;
|
|
3270
|
+
enableAdd: boolean;
|
|
3271
|
+
enableEdit: boolean;
|
|
3272
|
+
enableView: boolean;
|
|
3273
|
+
enableDelete: boolean;
|
|
3274
|
+
saveFormBeforeAdd: boolean;
|
|
3275
|
+
autoSelectFirstRow: boolean;
|
|
3276
|
+
labels: import("src").DataGridLabels;
|
|
3277
|
+
onRecordsDeleted: () => void;
|
|
3278
|
+
onActionRefreshOnClose: () => void;
|
|
3279
|
+
onAddClick: (gridAddClick: (element?: HTMLElement) => void, element?: HTMLElement) => void;
|
|
3280
|
+
onEditClick: (keys: import("src").ValuesObject, element?: HTMLElement) => void;
|
|
3281
|
+
onDeleteClick: (keys: import("src").ValuesObject[], element?: HTMLElement) => void;
|
|
3282
|
+
columnsOverrides: import("src").GridColumnsOverrides;
|
|
3283
|
+
autoSizeColumnsOnLoad: boolean;
|
|
3284
|
+
preserveSelection: boolean;
|
|
3285
|
+
onSelectionChanged: import("src").DataGridSelectionChangedCallback;
|
|
3286
|
+
columnBorders: boolean;
|
|
3287
|
+
rowBorders: boolean;
|
|
3288
|
+
visibleFilters: string[];
|
|
3289
|
+
enableImport: boolean;
|
|
3290
|
+
showActions: boolean;
|
|
3291
|
+
actionsButtonVariant: "white" | "filled" | "outline" | "light" | "default" | "gradient" | "subtle" | undefined;
|
|
3292
|
+
allwaysRefreshOnEntityClose: boolean;
|
|
3293
|
+
onDataRefresh: (result: import("src").OperationStatus<import("src").DataResult[]>) => void;
|
|
3294
|
+
doubleClickAction: (("view" | "none" | "edit" | ((record: import("src").GridRecord) => void)) & NonNullable<"view" | "none" | "edit" | ((record: import("src").GridRecord) => void) | undefined>) | undefined;
|
|
3295
|
+
setInitialFiltersFromColumns: boolean;
|
|
3296
|
+
showToolbar: boolean;
|
|
3297
|
+
showActionsToolbar: boolean;
|
|
3298
|
+
};
|
|
3299
|
+
viewState: {
|
|
3300
|
+
searchText: string[] | undefined;
|
|
3301
|
+
setSearchText: import("react").Dispatch<import("react").SetStateAction<string[] | undefined>>;
|
|
3302
|
+
limitRows: string | null;
|
|
3303
|
+
setLimitRows: import("react").Dispatch<import("react").SetStateAction<string | null>>;
|
|
3304
|
+
refresh: boolean;
|
|
3305
|
+
setRefresh: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
3306
|
+
filterValues: import("src").ValuesObject | undefined;
|
|
3307
|
+
setFilterValues: import("react").Dispatch<import("react").SetStateAction<import("src").ValuesObject | undefined>>;
|
|
3308
|
+
filtersDescription: import("src").ValuesObject | undefined;
|
|
3309
|
+
setFiltersDescription: import("react").Dispatch<import("react").SetStateAction<import("src").ValuesObject | undefined>>;
|
|
3310
|
+
};
|
|
3311
|
+
executeViewState: import("src").OperationStatus<import("src").DataResult[]>;
|
|
3312
|
+
dataGridAPI: {
|
|
3313
|
+
handleSelectionChanged: import("src").GridSelectionChangedCallback;
|
|
3314
|
+
handleDoubleClick: import("src").GridDoubleClickCallback;
|
|
3315
|
+
handleDeleteClick: (element?: HTMLElement) => Promise<void>;
|
|
3316
|
+
handleEditClick: (element?: HTMLElement) => Promise<void>;
|
|
3317
|
+
handleAddClick: (element?: HTMLElement, onClosed?: (cancelled?: boolean) => void) => Promise<void>;
|
|
3318
|
+
handleViewClick: (element?: HTMLElement) => Promise<void>;
|
|
3319
|
+
handleToggleSelectable: () => void;
|
|
3320
|
+
handleRefresh: (search_text: string[] | undefined) => void;
|
|
3321
|
+
handleExecuteAction: (action: import("src").EntityClientAction, element?: HTMLElement) => Promise<void>;
|
|
3322
|
+
handleExport: () => Promise<void>;
|
|
3323
|
+
selectedRowsCount: number;
|
|
3324
|
+
showSelectCheckbox: boolean;
|
|
3325
|
+
UIAPI: {
|
|
3326
|
+
handleAddClick: (element?: HTMLElement, onClosed?: (cancelled?: boolean) => void) => Promise<void>;
|
|
3327
|
+
handleEditClick: (keys: import("src").ValuesObject, element?: HTMLElement, onClosed?: (cancelled?: boolean) => void) => Promise<void>;
|
|
3328
|
+
handleViewClick: (keys: import("src").ValuesObject, element?: HTMLElement, onClosed?: (cancelled?: boolean) => void) => Promise<void>;
|
|
3329
|
+
handleDeleteClick: (keys: import("src").ValuesObject[], element?: HTMLElement) => Promise<void>;
|
|
3330
|
+
handleExecuteAction: (action: import("src").EntityClientAction, keys: import("src").ValuesObject[], element?: HTMLElement) => Promise<boolean | undefined>;
|
|
3331
|
+
handleDeleteRecord: (keys: import("src").ValuesObject, element?: HTMLElement) => Promise<void>;
|
|
3332
|
+
handleImportDataClick: () => Promise<void>;
|
|
3333
|
+
};
|
|
3334
|
+
columns: import("src").GridColumn[] | undefined;
|
|
3335
|
+
rows: ValuesRecord[] | undefined;
|
|
3336
|
+
isLoading: boolean;
|
|
3337
|
+
handleImportDataClick: () => Promise<void>;
|
|
3338
|
+
};
|
|
3339
|
+
actualColumnsOverrides: import("src").GridColumnsOverrides | undefined;
|
|
3340
|
+
actualSelectionClickHandler: import("src").DataMapSelectRecordsRenderer;
|
|
3341
|
+
selectedRows: GridSelection;
|
|
3342
|
+
setSelectedRows: import("react").Dispatch<import("react").SetStateAction<GridSelection>>;
|
|
3343
|
+
getInfoWindowClickHandler: (dataSetId: string, record: ValuesRecord, recordIndex: number) => ((infoWindow: google.maps.InfoWindow) => import("react").ReactNode) | null;
|
|
3344
|
+
markers: MarkerProps[];
|
|
3345
|
+
selectedMarkers: SelectedMarkerProps;
|
|
3346
|
+
showOnMap: boolean;
|
|
3347
|
+
setShowOnMap: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
3348
|
+
centerMarker: MarkerProps | undefined;
|
|
3349
|
+
};
|
|
3350
|
+
export interface MultiDataMapViewProps extends Omit<DataGridProps, 'gridHeight' | 'selectionMode' | 'enableExport' | 'autoFocus' | 'toolbarIconVariant' | 'toolbarSize' | 'filtersFormSize' | 'parentFormAPI'> {
|
|
3351
|
+
latitudRecordIndex?: number;
|
|
3352
|
+
longitudRecordIndex?: number;
|
|
3353
|
+
dataSetId?: string;
|
|
3354
|
+
tabLabel?: string;
|
|
3355
|
+
tabIcon?: (props: IconProps) => ReactNode;
|
|
3356
|
+
InfoWindowRenderer?: DataMapInfoWindowRenderer;
|
|
3357
|
+
selectRecordsRenderer?: DataMapSelectRecordsRenderer;
|
|
3358
|
+
markerRenderer?: DataMapMarkerRenderer;
|
|
3359
|
+
groupMarkerRenderer?: DataMapGroupMarkerRenderer;
|
|
3360
|
+
centerMarkerColumnIndex?: number;
|
|
3361
|
+
}
|
|
3362
|
+
export interface MultiDataMapProps {
|
|
3363
|
+
dataMapView1: MultiDataMapViewProps;
|
|
3364
|
+
dataMapView2?: MultiDataMapViewProps;
|
|
3365
|
+
dataMapView3?: MultiDataMapViewProps;
|
|
3366
|
+
dataMapView4?: MultiDataMapViewProps;
|
|
3367
|
+
dataMapView5?: MultiDataMapViewProps;
|
|
3368
|
+
search?: string[];
|
|
3369
|
+
limit?: DataViewLimit;
|
|
3370
|
+
enableExport?: boolean;
|
|
3371
|
+
autoFocus?: boolean;
|
|
3372
|
+
toolbarIconVariant?: ActionIconVariant;
|
|
3373
|
+
toolbarSize?: DataGridToolbarSizes;
|
|
3374
|
+
filtersFormSize?: MantineNumberSize;
|
|
3375
|
+
selectionMode?: GridSelectionMode;
|
|
3376
|
+
mapStyle?: google.maps.MapTypeStyle[];
|
|
3377
|
+
mapOptions?: google.maps.MapOptions;
|
|
3378
|
+
markerClustererOptions?: MapClusterOptions;
|
|
3379
|
+
labels?: {
|
|
3380
|
+
mapTabLabel?: string;
|
|
3381
|
+
};
|
|
3382
|
+
mapHeight?: string | number;
|
|
3383
|
+
centerMarker?: DataMapMarkerProps;
|
|
3384
|
+
onDataRefresh?: () => void;
|
|
3385
|
+
clearSelectionOnActionExecuted?: boolean;
|
|
3386
|
+
formMode?: FormMode;
|
|
3387
|
+
}
|
|
3388
|
+
export const MultiDataMapDefaultProps: Partial<MultiDataMapProps>;
|
|
3389
|
+
export function MultiDataMap(props: MultiDataMapProps): import("react/jsx-runtime").JSX.Element;
|
|
3390
|
+
export interface MultiDataMapPageViewProps extends Omit<MultiDataMapViewProps, 'entity'> {
|
|
3391
|
+
entityConstructor: (client: MicroMClient) => Entity<EntityDefinition>;
|
|
3392
|
+
}
|
|
3393
|
+
export interface MultiDataMapPageProps extends Omit<MultiDataMapProps, 'dataMapView1' | 'dataMapView2' | 'dataMapView3' | 'dataMapView4' | 'dataMapView5'> {
|
|
3394
|
+
dataMapView1: MultiDataMapPageViewProps;
|
|
3395
|
+
dataMapView2?: MultiDataMapPageViewProps;
|
|
3396
|
+
dataMapView3?: MultiDataMapPageViewProps;
|
|
3397
|
+
dataMapView4?: MultiDataMapPageViewProps;
|
|
3398
|
+
dataMapView5?: MultiDataMapPageViewProps;
|
|
3399
|
+
title?: string;
|
|
3400
|
+
icon?: ReactNode;
|
|
3401
|
+
helpText?: string;
|
|
3402
|
+
formMode: FormMode;
|
|
3403
|
+
client: MicroMClient;
|
|
3404
|
+
showTitle?: boolean;
|
|
3405
|
+
}
|
|
3406
|
+
export const MultiDataMapPageDefaultProps: Partial<MultiDataMapPageProps>;
|
|
3407
|
+
export function MultiDataMapPage(props: MultiDataMapPageProps): import("react/jsx-runtime").JSX.Element;
|
|
3408
|
+
export interface MultiDataMapFormProps extends MultiDataMapProps {
|
|
3409
|
+
customTitle?: ReactNode;
|
|
3410
|
+
title?: string;
|
|
3411
|
+
icon?: ReactNode;
|
|
3412
|
+
helpText?: string;
|
|
3413
|
+
formMode: FormMode;
|
|
3414
|
+
showTitle?: boolean;
|
|
3415
|
+
}
|
|
3416
|
+
export const MultiDataMapFormDefaultProps: Partial<MultiDataMapFormProps>;
|
|
3417
|
+
export function MultiDataMapForm(props: MultiDataMapFormProps): import("react/jsx-runtime").JSX.Element;
|
|
3418
|
+
export interface RegionSelectorItemProps extends Omit<BadgeProps, 'rightSection'> {
|
|
3419
|
+
onCloseClick?: () => void;
|
|
3420
|
+
}
|
|
3421
|
+
export function RegionSelectorItem({ onCloseClick, children, ...rest }: RegionSelectorItemProps): import("react/jsx-runtime").JSX.Element;
|
|
3422
|
+
export interface RegionSelectorProps extends Omit<GoogleMapRegionSelectorProps, 'googleMapsAPI'> {
|
|
3423
|
+
mapId: string;
|
|
3424
|
+
readOnly?: boolean;
|
|
3425
|
+
mapRestrictions?: google.maps.LatLngBoundsLiteral[];
|
|
3426
|
+
defaultMapCenter?: latLng;
|
|
3427
|
+
onAPIError?: (status: GoogleMapsErrorStatus) => void;
|
|
3428
|
+
errorTitle?: string;
|
|
3429
|
+
errorMessage?: string;
|
|
3430
|
+
mapHeight?: MantineNumberSize;
|
|
3431
|
+
showErrors?: boolean;
|
|
3432
|
+
searchLabel?: string;
|
|
3433
|
+
loadingLabel?: string;
|
|
3434
|
+
unknownStateLabel?: string;
|
|
3435
|
+
regionListMode?: 'count' | 'names';
|
|
3436
|
+
suppressCountyString?: string;
|
|
3437
|
+
searchDescriptionLabel?: string;
|
|
3438
|
+
mapHelpLabel?: string;
|
|
3439
|
+
selectedRegionsLabel?: string;
|
|
3440
|
+
autoFocus?: boolean;
|
|
3441
|
+
}
|
|
3442
|
+
export const RegionSelectorDefaultProps: Partial<RegionSelectorProps>;
|
|
3443
|
+
export function RegionSelector(props: RegionSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
3444
|
+
export interface DataRegionSelectorProps extends RegionSelectorProps {
|
|
3445
|
+
entity: Entity<EntityDefinition>;
|
|
3446
|
+
queryName: string;
|
|
3447
|
+
parentKeys?: ValuesObject;
|
|
3448
|
+
mapDataResult: (data: DataResult) => Record<string, SelectedRegionData>;
|
|
3449
|
+
}
|
|
3450
|
+
export function DataRegion(props: DataRegionSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
3451
|
+
export interface MicroMError extends Error {
|
|
3452
|
+
status: number;
|
|
3453
|
+
message: string;
|
|
3454
|
+
statusMessage?: string;
|
|
3455
|
+
url?: string;
|
|
3456
|
+
}
|
|
3457
|
+
export const toMicroMError: (e: any) => MicroMError;
|
|
3458
|
+
export const toDBStatusMicroMError: (dbstat: DBStatus[], form_mode?: FormMode) => MicroMError;
|
|
3459
|
+
export enum EndpointAccess {
|
|
3460
|
+
None = 0,
|
|
3461
|
+
Create = 1,
|
|
3462
|
+
Update = 2,
|
|
3463
|
+
Delete = 4,
|
|
3464
|
+
Get = 8,
|
|
3465
|
+
Lookup = 16,
|
|
3466
|
+
Execute = 32
|
|
3467
|
+
}
|
|
3468
|
+
export interface PublicEndpoint {
|
|
3469
|
+
EntityName: string;
|
|
3470
|
+
AllowedAccess: EndpointAccess;
|
|
3471
|
+
AllowedProcs?: Set<string>;
|
|
3472
|
+
AllowedActions?: Set<string>;
|
|
3473
|
+
}
|
|
3474
|
+
export interface TokenStorage {
|
|
3475
|
+
saveToken(app_id: string, token: MicroMToken): Promise<void>;
|
|
3476
|
+
readToken(app_id: string): Promise<MicroMToken | null>;
|
|
3477
|
+
deleteToken(app_id: string): Promise<void>;
|
|
3478
|
+
}
|
|
3479
|
+
export class TokenWebStorage implements TokenStorage {
|
|
3480
|
+
#private;
|
|
3481
|
+
constructor(storage_type?: 'sessionStorage' | 'localStorage', storage_name?: string);
|
|
3482
|
+
saveToken(app_id: string, token: MicroMToken): Promise<void>;
|
|
3483
|
+
readToken(app_id: string): Promise<MicroMToken | null>;
|
|
3484
|
+
deleteToken(app_id: string): Promise<void>;
|
|
3485
|
+
}
|
|
3486
|
+
export type APIAction = "get" | "insert" | "update" | "delete" | "lookup" | "view" | "action" | "upload" | "proc" | "process" | "import";
|
|
3487
|
+
export interface FileUploadResponse {
|
|
3488
|
+
ErrorMessage?: string;
|
|
3489
|
+
FileProcessId?: string;
|
|
3490
|
+
FileId?: string;
|
|
3491
|
+
FileGuid?: string;
|
|
3492
|
+
documentURL?: string;
|
|
3493
|
+
thumbnailURL?: string;
|
|
3494
|
+
}
|
|
3495
|
+
export type FetchUploadProgress = (file: File, progress: number) => void;
|
|
3496
|
+
export interface MicroMClientProps {
|
|
3497
|
+
api_url: string;
|
|
3498
|
+
app_id: string;
|
|
3499
|
+
login_timeout?: number;
|
|
3500
|
+
mode?: RequestMode;
|
|
3501
|
+
tokenStorage?: TokenStorage;
|
|
3502
|
+
publicEndpoints?: Record<string, PublicEndpoint>;
|
|
3503
|
+
dataStorage?: DataStorage;
|
|
3504
|
+
redirect_on_401?: string;
|
|
3505
|
+
}
|
|
3506
|
+
export class MicroMClient {
|
|
3507
|
+
#private;
|
|
3508
|
+
constructor({ api_url, app_id, login_timeout, mode, tokenStorage, publicEndpoints, dataStorage, redirect_on_401 }: MicroMClientProps);
|
|
3509
|
+
getAPPID(): string;
|
|
3510
|
+
startRecordPaths(): void;
|
|
3511
|
+
stopRecordPaths(): void;
|
|
3512
|
+
localLogoff(): Promise<void>;
|
|
3513
|
+
logoff(): Promise<void>;
|
|
3514
|
+
isLoggedIn(): Promise<boolean>;
|
|
3515
|
+
isLoggedInLocal(): Promise<boolean>;
|
|
3516
|
+
get LOGGED_IN_USER(): Partial<MicroMClientClaimTypes> | undefined;
|
|
3517
|
+
updateClientClaims(claims: Partial<MicroMClientClaimTypes>): Promise<void>;
|
|
3518
|
+
login(username: string, password: string, rememberme?: boolean): Promise<MicroMToken | undefined>;
|
|
3519
|
+
recoveryemail(username: string): Promise<DBStatusResult>;
|
|
3520
|
+
recoverpassword(username: string, password: string, recoverycode: string): Promise<DBStatusResult>;
|
|
3521
|
+
getMenus(): Promise<Set<string>>;
|
|
3522
|
+
getRememberUser(): Promise<string | null>;
|
|
3523
|
+
downloadBlob(fileUrl: string, abort_signal?: AbortSignal | null): Promise<Blob>;
|
|
3524
|
+
get(entity_name: string, parent_keys: ValuesObject | null, values: ValuesObject, abort_signal?: AbortSignal | null): Promise<ValuesObject>;
|
|
3525
|
+
insert(entity_name: string, parent_keys: ValuesObject | null, values: ValuesObject, recordsSelection: ValuesObject[] | null, abort_signal?: AbortSignal | null): Promise<DBStatusResult>;
|
|
3526
|
+
update(entity_name: string, parent_keys: ValuesObject | null, values: ValuesObject, recordsSelection: ValuesObject[] | null, abort_signal?: AbortSignal | null): Promise<DBStatusResult>;
|
|
3527
|
+
delete(entity_name: string, parent_keys: ValuesObject | null, values: ValuesObject | null, recordsSelection: ValuesObject[] | null, abort_signal?: AbortSignal | null): Promise<DBStatusResult>;
|
|
3528
|
+
lookup(entity_name: string, parent_keys: ValuesObject | null, values: ValuesObject, lookup_name?: string | null, abort_signal?: AbortSignal | null): Promise<any>;
|
|
3529
|
+
view(entity_name: string, parent_keys: ValuesObject | null, values: ValuesObject, view_name: string, abort_signal?: AbortSignal | null): Promise<DataResult[]>;
|
|
3530
|
+
proc(entity_name: string, parent_keys: ValuesObject | null, values: ValuesObject, recordsSelection: ValuesObject[] | null, proc_name: string, abort_signal?: AbortSignal | null): Promise<DataResult[]>;
|
|
3531
|
+
process(entity_name: string, parent_keys: ValuesObject | null, values: ValuesObject, recordsSelection: ValuesObject[] | null, proc_name: string, abort_signal?: AbortSignal | null): Promise<DBStatusResult>;
|
|
3532
|
+
action<TReturn>(entity_name: string, parent_keys: ValuesObject | null, values: ValuesObject, action_name: string, abort_signal?: AbortSignal | null): Promise<TReturn>;
|
|
3533
|
+
import(entity_name: string, parent_keys: ValuesObject | null, values: ValuesObject, import_procname: string | null, abort_signal?: AbortSignal | null): Promise<ImpDataResult>;
|
|
3534
|
+
upload(file: File, fileprocess_id: string, abort_signal?: AbortSignal | null, max_size?: number, quality?: number, onProgress?: FetchUploadProgress): Promise<FileUploadResponse>;
|
|
3535
|
+
getDocumentURL(fileGuid: string): string;
|
|
3536
|
+
getThumbnailURL(fileGuid: string, max_size?: number, quality?: number): string;
|
|
3537
|
+
}
|
|
3538
|
+
export class RecordReader {
|
|
3539
|
+
constructor(dataResult: DataResult);
|
|
3540
|
+
getValue(recordIndex: number, headerName: string): Value | undefined;
|
|
3541
|
+
}
|
|
3542
|
+
|
|
3543
|
+
//# sourceMappingURL=index.d.ts.map
|