quasar-ui-danx 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +24 -109
- package/demo/.eslintrc.cjs +15 -0
- package/demo/.prettierrc.json +8 -0
- package/demo/.vscode/extensions.json +7 -0
- package/demo/README.md +45 -0
- package/demo/env.d.ts +5 -0
- package/demo/index.html +13 -0
- package/demo/package.json +42 -0
- package/demo/public/favicon.ico +0 -0
- package/demo/src/App.vue +86 -0
- package/demo/src/assets/base.css +86 -0
- package/demo/src/assets/logo.svg +1 -0
- package/demo/src/assets/main.css +35 -0
- package/demo/src/components/DemoActionTable/demoTableActions.ts +26 -0
- package/demo/src/components/DemoActionTable/demoTableCallbacks.ts +109 -0
- package/demo/src/components/DemoActionTable/demoTableColumns.ts +34 -0
- package/demo/src/components/DemoActionTable/demoTableFilterFields.ts +40 -0
- package/demo/src/components/HelloWorld.vue +41 -0
- package/demo/src/components/TheWelcome.vue +88 -0
- package/demo/src/components/WelcomeItem.vue +87 -0
- package/demo/src/components/__tests__/HelloWorld.spec.ts +11 -0
- package/demo/src/components/icons/IconCommunity.vue +7 -0
- package/demo/src/components/icons/IconDocumentation.vue +7 -0
- package/demo/src/components/icons/IconEcosystem.vue +7 -0
- package/demo/src/components/icons/IconSupport.vue +7 -0
- package/demo/src/components/icons/IconTooling.vue +19 -0
- package/demo/src/main.ts +11 -0
- package/demo/src/router/index.ts +28 -0
- package/demo/src/views/AboutView.vue +15 -0
- package/demo/src/views/DemoView.vue +17 -0
- package/demo/src/views/HomeView.vue +9 -0
- package/demo/tsconfig.app.json +14 -0
- package/demo/tsconfig.json +19 -0
- package/demo/tsconfig.node.json +19 -0
- package/demo/tsconfig.vitest.json +11 -0
- package/demo/vite.config.ts +18 -0
- package/demo/vitest.config.ts +14 -0
- package/dist/components/ActionTable/Columns/index.d.ts +4 -0
- package/dist/components/ActionTable/Filters/index.d.ts +6 -0
- package/dist/components/ActionTable/Form/Fields/index.d.ts +24 -0
- package/dist/components/ActionTable/Form/index.d.ts +2 -0
- package/dist/components/ActionTable/Layouts/ActionTableLayout.vue.d.ts +12 -0
- package/dist/components/ActionTable/Layouts/index.d.ts +1 -0
- package/dist/components/ActionTable/index.d.ts +12 -0
- package/dist/components/ActionTable/listControls.d.ts +50 -0
- package/dist/components/ActionTable/listHelpers.d.ts +12 -0
- package/dist/components/ActionTable/tableColumns.d.ts +8 -0
- package/dist/components/AuditHistory/index.d.ts +2 -0
- package/dist/components/DragAndDrop/dragAndDrop.d.ts +111 -0
- package/dist/components/DragAndDrop/index.d.ts +4 -0
- package/dist/components/DragAndDrop/listDragAndDrop.d.ts +74 -0
- package/dist/components/PanelsDrawer/index.d.ts +3 -0
- package/dist/components/Utility/Buttons/index.d.ts +2 -0
- package/dist/components/Utility/Controls/index.d.ts +1 -0
- package/dist/components/Utility/Dialogs/index.d.ts +5 -0
- package/dist/components/Utility/Files/index.d.ts +2 -0
- package/dist/components/Utility/Formats/index.d.ts +5 -0
- package/dist/components/Utility/Layouts/index.d.ts +2 -0
- package/dist/components/Utility/Popovers/index.d.ts +2 -0
- package/dist/components/Utility/Tabs/index.d.ts +2 -0
- package/dist/components/Utility/Tools/index.d.ts +3 -0
- package/dist/components/Utility/Transitions/index.d.ts +3 -0
- package/dist/components/Utility/index.d.ts +10 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/config/index.d.ts +8 -0
- package/dist/danx.es.js +6 -6
- package/dist/danx.umd.js +2 -2
- package/dist/helpers/FileUpload.d.ts +107 -0
- package/dist/helpers/FlashMessages.d.ts +24 -0
- package/dist/helpers/actions.d.ts +58 -0
- package/dist/helpers/array.d.ts +16 -0
- package/dist/helpers/compatibility.d.ts +8 -0
- package/dist/helpers/date.d.ts +1 -0
- package/dist/helpers/download.d.ts +1 -0
- package/dist/helpers/downloadPdf.d.ts +24 -0
- package/dist/helpers/files.d.ts +1 -0
- package/dist/helpers/formats.d.ts +112 -0
- package/dist/helpers/http.d.ts +23 -0
- package/dist/helpers/index.d.ts +15 -0
- package/dist/helpers/multiFileUpload.d.ts +11 -0
- package/dist/helpers/singleFileUpload.d.ts +11 -0
- package/dist/helpers/storage.d.ts +2 -0
- package/dist/helpers/utils.d.ts +46 -0
- package/dist/svg/index.d.ts +12 -0
- package/dist/vendor/tinymce-config.d.ts +1 -0
- package/package.json +4 -3
- package/src/helpers/FileUpload.ts +16 -7
- package/tsconfig.json +24 -13
- package/vite.config.js +7 -1
@@ -0,0 +1,107 @@
|
|
1
|
+
export type FileUploadOptions = {
|
2
|
+
directory: string;
|
3
|
+
presignedUploadUrl: (...params: any) => "";
|
4
|
+
uploadCompletedUrl: (...params: any) => "";
|
5
|
+
};
|
6
|
+
export type UploadedFile = {
|
7
|
+
id: string;
|
8
|
+
name: string;
|
9
|
+
size: number;
|
10
|
+
type: string;
|
11
|
+
progress: number;
|
12
|
+
location: string;
|
13
|
+
blobUrl: string;
|
14
|
+
};
|
15
|
+
export declare class FileUpload {
|
16
|
+
files: UploadedFile[];
|
17
|
+
fileUploads: never[];
|
18
|
+
onErrorCb: null;
|
19
|
+
onProgressCb: null;
|
20
|
+
onCompleteCb: null;
|
21
|
+
onAllCompleteCb: null;
|
22
|
+
options: FileUploadOptions | {};
|
23
|
+
constructor(files: UploadedFile[] | UploadedFile, options?: FileUploadOptions | {});
|
24
|
+
/**
|
25
|
+
* Prepares all files for upload and provides an id and blobUrl for each file
|
26
|
+
*/
|
27
|
+
prepare(): void;
|
28
|
+
/**
|
29
|
+
* Callback for when all files have been uploaded
|
30
|
+
*/
|
31
|
+
onAllComplete(cb: any): this;
|
32
|
+
/**
|
33
|
+
* Callback fired once for each file upon successful completion of upload
|
34
|
+
* @param cb
|
35
|
+
* @returns {FileUpload}
|
36
|
+
*/
|
37
|
+
onComplete(cb: any): this;
|
38
|
+
/**
|
39
|
+
* Callback fired each time there is an upload progress update for a file
|
40
|
+
* @param cb
|
41
|
+
* @returns {FileUpload}
|
42
|
+
*/
|
43
|
+
onProgress(cb: any): this;
|
44
|
+
/**
|
45
|
+
* Callback fired when an error occurs during upload
|
46
|
+
* @param cb
|
47
|
+
* @returns {FileUpload}
|
48
|
+
*/
|
49
|
+
onError(cb: any): this;
|
50
|
+
/**
|
51
|
+
* Handles the error events / fires the callback if it is set
|
52
|
+
* @param e
|
53
|
+
* @param file
|
54
|
+
* @param error
|
55
|
+
*/
|
56
|
+
errorHandler(e: any, file: any, error?: null): void;
|
57
|
+
/**
|
58
|
+
* Resolve the locations of all the files
|
59
|
+
* @returns {Promise<FileUpload>}
|
60
|
+
*/
|
61
|
+
resolveLocation(waitMessage?: null): Promise<this>;
|
62
|
+
/**
|
63
|
+
* Fires the progress callback
|
64
|
+
* @param fileUpload
|
65
|
+
* @param progress
|
66
|
+
*/
|
67
|
+
fireProgressCallback(fileUpload: any, progress: any): void;
|
68
|
+
/**
|
69
|
+
* Fires the complete callback
|
70
|
+
* @param fileUpload
|
71
|
+
* @param uploadedFile
|
72
|
+
*/
|
73
|
+
fireCompleteCallback(fileUpload: any, uploadedFile: any): void;
|
74
|
+
/**
|
75
|
+
* Check if all files have been uploaded and call the callback if they have
|
76
|
+
*/
|
77
|
+
checkAllComplete(): void;
|
78
|
+
/**
|
79
|
+
* Returns a native JS object that is easier to work with than the File objects (no weird behavior of missing
|
80
|
+
* properties, easily printable, etc.)
|
81
|
+
* @param file
|
82
|
+
* @returns {{size, name, progress, location, blobUrl: *, id, type}}
|
83
|
+
*/
|
84
|
+
wrapFile(file: any): {
|
85
|
+
id: any;
|
86
|
+
name: any;
|
87
|
+
size: any;
|
88
|
+
type: any;
|
89
|
+
progress: any;
|
90
|
+
location: any;
|
91
|
+
blobUrl: any;
|
92
|
+
};
|
93
|
+
/**
|
94
|
+
* Registers all the callbacks requested for the XHR / post-processing of file uploads
|
95
|
+
*/
|
96
|
+
setXhrCallbacks(): void;
|
97
|
+
/**
|
98
|
+
* Mark the presigned upload as completed and return the file resource from the platform server
|
99
|
+
* @param fileUpload
|
100
|
+
* @returns {Promise<void>}
|
101
|
+
*/
|
102
|
+
completePresignedUpload(fileUpload: any): Promise<any>;
|
103
|
+
/**
|
104
|
+
* Start uploading all files
|
105
|
+
*/
|
106
|
+
upload(): Promise<void>;
|
107
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
export declare class FlashMessages {
|
2
|
+
static notify: any;
|
3
|
+
static PROP_DEFINITIONS: {
|
4
|
+
successMsg: {
|
5
|
+
type: StringConstructor;
|
6
|
+
default: string;
|
7
|
+
};
|
8
|
+
errorMsg: {
|
9
|
+
type: StringConstructor;
|
10
|
+
default: string;
|
11
|
+
};
|
12
|
+
warningMsg: {
|
13
|
+
type: StringConstructor;
|
14
|
+
default: string;
|
15
|
+
};
|
16
|
+
};
|
17
|
+
static enable(msgProps: any): void;
|
18
|
+
static send(message: any, options?: {}): void;
|
19
|
+
static success(message: any, options?: {}): void;
|
20
|
+
static error(message: any, options?: {}): void;
|
21
|
+
static warning(message: any, options?: {}): void;
|
22
|
+
static combine(type: any, messages: any, options?: {}): void;
|
23
|
+
}
|
24
|
+
export declare const notify: FlashMessages;
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { VNode } from 'vue';
|
2
|
+
|
3
|
+
interface ActionOptions {
|
4
|
+
name?: string;
|
5
|
+
label?: string;
|
6
|
+
menu?: boolean;
|
7
|
+
batch?: boolean;
|
8
|
+
category?: string;
|
9
|
+
class?: string;
|
10
|
+
trigger?: (target: object[] | object, input: any) => Promise<any>;
|
11
|
+
activeTarget?: any;
|
12
|
+
vnode?: (target: object[] | object) => VNode;
|
13
|
+
enabled?: (target: object) => boolean;
|
14
|
+
batchEnabled?: (targets: object[]) => boolean;
|
15
|
+
optimistic?: (action: ActionOptions, target: object, input: any) => void;
|
16
|
+
onAction?: (action: string | null, target: object, input: any) => Promise<any>;
|
17
|
+
onBatchAction?: (action: string | null, targets: object[], input: any) => Promise<any>;
|
18
|
+
onStart?: (action: ActionOptions | null, targets: object, input: any) => boolean;
|
19
|
+
onSuccess?: (action: string | null, targets: object, input: any) => any;
|
20
|
+
onError?: (action: string | null, targets: object, input: any) => any;
|
21
|
+
onFinish?: (action: string | null, targets: object, input: any) => any;
|
22
|
+
}
|
23
|
+
export declare const activeActionVnode: import('vue').ShallowRef<null>;
|
24
|
+
/**
|
25
|
+
* Hook to perform an action on a set of targets
|
26
|
+
* This helper allows you to perform actions by name on a set of targets using a provided list of actions
|
27
|
+
*
|
28
|
+
* @param actions
|
29
|
+
* @param {ActionOptions} globalOptions
|
30
|
+
*/
|
31
|
+
export declare function useActions(actions: ActionOptions[], globalOptions?: ActionOptions): {
|
32
|
+
actions: {
|
33
|
+
name?: string | undefined;
|
34
|
+
label?: string | undefined;
|
35
|
+
menu?: boolean | undefined;
|
36
|
+
batch?: boolean | undefined;
|
37
|
+
category?: string | undefined;
|
38
|
+
class?: string | undefined;
|
39
|
+
trigger?: ((target: object | object[], input: any) => Promise<any>) | undefined;
|
40
|
+
activeTarget?: any;
|
41
|
+
vnode?: ((target: object | object[]) => VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
42
|
+
[key: string]: any;
|
43
|
+
}>) | undefined;
|
44
|
+
enabled?: ((target: object) => boolean) | undefined;
|
45
|
+
batchEnabled?: ((targets: object[]) => boolean) | undefined;
|
46
|
+
optimistic?: ((action: ActionOptions, target: object, input: any) => void) | undefined;
|
47
|
+
onAction?: ((action: string | null, target: object, input: any) => Promise<any>) | undefined;
|
48
|
+
onBatchAction?: ((action: string | null, targets: object[], input: any) => Promise<any>) | undefined;
|
49
|
+
onStart?: ((action: ActionOptions | null, targets: object, input: any) => boolean) | undefined;
|
50
|
+
onSuccess?: ((action: string | null, targets: object, input: any) => any) | undefined;
|
51
|
+
onError?: ((action: string | null, targets: object, input: any) => any) | undefined;
|
52
|
+
onFinish?: ((action: string | null, targets: object, input: any) => any) | undefined;
|
53
|
+
}[];
|
54
|
+
isSavingTarget: (target: any) => boolean;
|
55
|
+
filterActions: (filters: object) => ActionOptions[];
|
56
|
+
performAction: (name: string | object, target: object[] | object, input?: any) => Promise<any>;
|
57
|
+
};
|
58
|
+
export {};
|
@@ -0,0 +1,16 @@
|
|
1
|
+
/**
|
2
|
+
*
|
3
|
+
* @param array
|
4
|
+
* @param item
|
5
|
+
* @param newItem
|
6
|
+
* @returns {*[]}
|
7
|
+
*/
|
8
|
+
export declare function replace(array: any, item: any, newItem?: undefined): any[];
|
9
|
+
export declare function remove(array: any, item: any): any[];
|
10
|
+
/**
|
11
|
+
* Remove duplicate items from an array using a callback to compare 2 elements
|
12
|
+
* @param array
|
13
|
+
* @param cb
|
14
|
+
* @returns {*}
|
15
|
+
*/
|
16
|
+
export declare function uniqueBy(array: any, cb: any): any;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export declare function useCompatibility(requestLocation?: boolean): {
|
2
|
+
isLocationSupported: boolean;
|
3
|
+
isCompatible: import('vue').ComputedRef<boolean>;
|
4
|
+
geolocationError: null;
|
5
|
+
hasLocation: null;
|
6
|
+
location: import('vue').ComputedRef<any>;
|
7
|
+
waitForLocation: (maxWait?: number) => Promise<import('vue').ComputedRef<any> | null>;
|
8
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function diffInDays(date1: any, date2: any): any;
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function download(data: any, strFileName: any, strMimeType: any): any;
|
@@ -0,0 +1,24 @@
|
|
1
|
+
/**
|
2
|
+
* Asynchronously load a file from the URL and trigger a download in the browser
|
3
|
+
*
|
4
|
+
* @param url
|
5
|
+
* @param filename
|
6
|
+
* @param postParams
|
7
|
+
* @returns {Promise<void>}
|
8
|
+
*/
|
9
|
+
export declare function downloadFile(url: any, filename?: string, postParams?: null): Promise<void>;
|
10
|
+
/**
|
11
|
+
* Downloads a file from a response object w/ a file attachment
|
12
|
+
*
|
13
|
+
* @param response
|
14
|
+
* @param filename
|
15
|
+
*/
|
16
|
+
export declare function downloadFileResponse(response: any, filename?: string): Promise<void>;
|
17
|
+
/**
|
18
|
+
* Get a header from a response object
|
19
|
+
* @param response
|
20
|
+
* @param header
|
21
|
+
* @param defaultValue
|
22
|
+
* @returns {*}
|
23
|
+
*/
|
24
|
+
export declare function getResponseHeader(response: any, header: any, defaultValue: any): any;
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function resolveFileLocation(file: any, waitMessage?: null): Promise<any>;
|
@@ -0,0 +1,112 @@
|
|
1
|
+
/**
|
2
|
+
* Converts a date string from the server's time zone to the user's time zone.
|
3
|
+
* @param {String} dateTimeString
|
4
|
+
* @returns {DateTime}
|
5
|
+
*/
|
6
|
+
export declare function localizedDateTime(dateTimeString: any): any;
|
7
|
+
/**
|
8
|
+
* Converts a date string from the user's time zone to the server's time zone.
|
9
|
+
* @param dateTimeString
|
10
|
+
* @returns {DateTime}
|
11
|
+
*/
|
12
|
+
export declare function remoteDateTime(dateTimeString: any): any;
|
13
|
+
/**
|
14
|
+
* @param {DateTime|String} dateTime
|
15
|
+
* @returns {DateTime|*}
|
16
|
+
*/
|
17
|
+
export declare function parseDateTime(dateTime: any): any;
|
18
|
+
/**
|
19
|
+
* Parses a Quasar formatted date string into a Luxon DateTime object
|
20
|
+
* @param date
|
21
|
+
* @param format
|
22
|
+
* @returns {DateTime}
|
23
|
+
*/
|
24
|
+
export declare function parseQDate(date: any, format?: string): any;
|
25
|
+
/**
|
26
|
+
* Parses a Quasar formatted date/time string into a Luxon DateTime object
|
27
|
+
* @param date
|
28
|
+
* @param format
|
29
|
+
* @returns {DateTime}
|
30
|
+
*/
|
31
|
+
export declare function parseQDateTime(date: any, format?: string): any;
|
32
|
+
/**
|
33
|
+
* Formats a Luxon DateTime object into a Quasar formatted date string
|
34
|
+
* @param date
|
35
|
+
* @returns {string}
|
36
|
+
*/
|
37
|
+
export declare function fQDate(date: any): any;
|
38
|
+
/**
|
39
|
+
*
|
40
|
+
* @param {String} dateTimeString
|
41
|
+
* @param options
|
42
|
+
* @returns {string}
|
43
|
+
*/
|
44
|
+
export declare function fLocalizedDateTime(dateTimeString: any, options?: {}): any;
|
45
|
+
/**
|
46
|
+
* Formats a date/time object or string into a human-readable format
|
47
|
+
*
|
48
|
+
* @param {String|Object} dateTime
|
49
|
+
* @param format
|
50
|
+
* @param {String|null} empty
|
51
|
+
* @returns {string}
|
52
|
+
*/
|
53
|
+
export declare function fDateTime(dateTime?: null, { format, empty }?: {
|
54
|
+
format?: string | undefined;
|
55
|
+
empty?: string | undefined;
|
56
|
+
}): any;
|
57
|
+
/**
|
58
|
+
* Formats a date/time object or string into the best format for DB input
|
59
|
+
* @param dateTime
|
60
|
+
* @returns {string}
|
61
|
+
*/
|
62
|
+
export declare function dbDateTime(dateTime?: null): any;
|
63
|
+
/**
|
64
|
+
* Formats a date object or string into a human-readable format
|
65
|
+
* @param {String|Object} dateTime
|
66
|
+
* @param {String|null} empty
|
67
|
+
* @param format
|
68
|
+
* @returns {string}
|
69
|
+
*/
|
70
|
+
export declare function fDate(dateTime: any, { empty, format }?: {
|
71
|
+
empty?: string | undefined;
|
72
|
+
format?: string | undefined;
|
73
|
+
}): any;
|
74
|
+
/**
|
75
|
+
* Formats a number of seconds into Hours / Minutes / Seconds or just Minutes and Seconds
|
76
|
+
*
|
77
|
+
* @param second
|
78
|
+
* @returns {string}
|
79
|
+
*/
|
80
|
+
export declare function fSecondsToTime(second: any): string;
|
81
|
+
/**
|
82
|
+
* Formats an amount into USD currency format
|
83
|
+
* @param amount
|
84
|
+
* @returns {string}
|
85
|
+
*/
|
86
|
+
export declare function fCurrency(amount: any): string;
|
87
|
+
/**
|
88
|
+
* Formats a number into a human-readable format
|
89
|
+
* @param number
|
90
|
+
* @param options
|
91
|
+
* @returns {string}
|
92
|
+
*/
|
93
|
+
export declare function fNumber(number: any, options?: {}): string;
|
94
|
+
/**
|
95
|
+
* Truncates the string by removing chars from the middle of the string
|
96
|
+
* @param str
|
97
|
+
* @param maxLength
|
98
|
+
* @returns {string|*}
|
99
|
+
*/
|
100
|
+
export declare function centerTruncate(str: any, maxLength: any): any;
|
101
|
+
/**
|
102
|
+
* Formats a number into a percentage
|
103
|
+
* @param num
|
104
|
+
* @param options
|
105
|
+
* @returns {string}
|
106
|
+
*/
|
107
|
+
export declare function fPercent(num: any, options?: {
|
108
|
+
multiplier: number;
|
109
|
+
maximumFractionDigits: number;
|
110
|
+
NaN: string;
|
111
|
+
}): string;
|
112
|
+
export declare function fPhone(value: any): any;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
export declare const request: {
|
2
|
+
get(url: any, options?: {}): Promise<any>;
|
3
|
+
post(url: any, data?: {}, options?: {}): Promise<any>;
|
4
|
+
};
|
5
|
+
/**
|
6
|
+
* Fetches a resource list applying the filter. If there is a selected resource,
|
7
|
+
* stores that resource from the already populated list. If that resource does not exist
|
8
|
+
* also fetches that resource record from the endpoint, then adds it to the list if it
|
9
|
+
* does not exist in the filtered list
|
10
|
+
*
|
11
|
+
* @param fetchFn
|
12
|
+
* @param list
|
13
|
+
* @param id
|
14
|
+
* @param filter
|
15
|
+
* @returns {Promise<void>}
|
16
|
+
*/
|
17
|
+
export declare function fetchResourceListWithSelected(fetchFn: any, list: any, id: any, filter: any): Promise<void>;
|
18
|
+
/**
|
19
|
+
* Returns the value of the URL parameter (if it is set)
|
20
|
+
* @param key
|
21
|
+
* @param url
|
22
|
+
*/
|
23
|
+
export declare function getUrlParam(key: any, url?: undefined): string | null;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
export * from './array';
|
2
|
+
export * from './compatibility';
|
3
|
+
export * from './date';
|
4
|
+
export * from './download';
|
5
|
+
export * from './downloadPdf';
|
6
|
+
export * from './files';
|
7
|
+
export * from './FileUpload';
|
8
|
+
export * from './FlashMessages';
|
9
|
+
export * from './formats';
|
10
|
+
export * from './http';
|
11
|
+
export * from './multiFileUpload';
|
12
|
+
export * from './actions';
|
13
|
+
export * from './singleFileUpload';
|
14
|
+
export * from './storage';
|
15
|
+
export * from './utils';
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { FileUploadOptions } from './FileUpload';
|
2
|
+
|
3
|
+
export declare function useMultiFileUpload(options: FileUploadOptions): {
|
4
|
+
onClear: () => void;
|
5
|
+
onRemove: (file: any) => void;
|
6
|
+
onComplete: (cb: any) => void;
|
7
|
+
onFilesChange: (cb: any) => void;
|
8
|
+
onDrop: (e: any) => void;
|
9
|
+
onFilesSelected: (e: any) => void;
|
10
|
+
uploadedFiles: import('vue').Ref<never[]>;
|
11
|
+
};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { FileUploadOptions } from './FileUpload';
|
2
|
+
|
3
|
+
export declare function useSingleFileUpload(options?: FileUploadOptions): {
|
4
|
+
isFileUploaded: import('vue').ComputedRef<null>;
|
5
|
+
onClear: () => void;
|
6
|
+
onComplete: (cb: any) => void;
|
7
|
+
onFileChange: (cb: any) => void;
|
8
|
+
onDrop: (e: any) => void;
|
9
|
+
onFileSelected: (e: any) => void;
|
10
|
+
uploadedFile: import('vue').Ref<null>;
|
11
|
+
};
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/**
|
2
|
+
* Sleep function to be used in conjuction with async await:
|
3
|
+
*
|
4
|
+
* eg: await sleep(5000);
|
5
|
+
*
|
6
|
+
* @param delay
|
7
|
+
* @returns {Promise<any>}
|
8
|
+
*/
|
9
|
+
export declare function sleep(delay: any): Promise<unknown>;
|
10
|
+
/**
|
11
|
+
* Wait for a ref to have a value and then resolve the promise
|
12
|
+
*
|
13
|
+
* @param ref
|
14
|
+
* @param value
|
15
|
+
* @returns {Promise<void>}
|
16
|
+
*/
|
17
|
+
export declare function waitForRef(ref: any, value: any): Promise<void>;
|
18
|
+
/**
|
19
|
+
* Returns a number that is constrained to the given range.
|
20
|
+
* @param min
|
21
|
+
* @param max
|
22
|
+
* @param value
|
23
|
+
* @returns {number}
|
24
|
+
*/
|
25
|
+
export declare function minmax(min: any, max: any, value: any): number;
|
26
|
+
/**
|
27
|
+
* Convert meters to miles
|
28
|
+
* @param meters
|
29
|
+
* @returns {number}
|
30
|
+
*/
|
31
|
+
export declare function metersToMiles(meters: any): number;
|
32
|
+
/**
|
33
|
+
* Convert miles to meters
|
34
|
+
* @param miles
|
35
|
+
* @returns {number}
|
36
|
+
*/
|
37
|
+
export declare function milesToMeters(miles: any): number;
|
38
|
+
/**
|
39
|
+
* Parses a string for Lat and Long coords
|
40
|
+
* @param location
|
41
|
+
* @returns {null|{lng: number, lat: number}}
|
42
|
+
*/
|
43
|
+
export declare function parseCoords(location: any): {
|
44
|
+
lat: number;
|
45
|
+
lng: number;
|
46
|
+
} | null;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export { default as CaretDownIcon } from './CaretDownIcon.svg';
|
2
|
+
export { default as DragHandleDotsIcon } from './DragHandleDotsIcon.svg';
|
3
|
+
export { default as DragHandleIcon } from './DragHandleIcon.svg';
|
4
|
+
export { default as FilterIcon } from './FilterIcon.svg';
|
5
|
+
export { default as ImageIcon } from './ImageIcon.svg';
|
6
|
+
export { default as PdfIcon } from './PdfIcon.svg';
|
7
|
+
export { default as PercentIcon } from './PercentIcon.svg';
|
8
|
+
export { default as SkipNextIcon } from './SkipNextIcon.svg';
|
9
|
+
export { default as SkipPreviousIcon } from './SkipPreviousIcon.svg';
|
10
|
+
export { default as TrashIcon } from './TrashIcon.svg';
|
11
|
+
export { default as WarningIcon } from './WarningIcon.svg';
|
12
|
+
export { default as XIcon } from './XIcon.svg';
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const apiKey = "YOUR_API_KEY";
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "quasar-ui-danx",
|
3
|
-
"version": "0.2.
|
3
|
+
"version": "0.2.6",
|
4
4
|
"author": "Dan <dan@flytedesk.com>",
|
5
5
|
"description": "DanX Vue / Quasar component library",
|
6
6
|
"license": "MIT",
|
@@ -8,7 +8,7 @@
|
|
8
8
|
"main": "dist/danx.es.js",
|
9
9
|
"module": "dist/danx.es.js",
|
10
10
|
"scripts": {
|
11
|
-
"dev": "
|
11
|
+
"dev": "cd dev && quasar dev && cd ..",
|
12
12
|
"build": "vite build",
|
13
13
|
"preview": "vite preview"
|
14
14
|
},
|
@@ -32,8 +32,9 @@
|
|
32
32
|
"ts-node": "^10.9.2",
|
33
33
|
"typescript": "^5.4.4",
|
34
34
|
"vite": "^5.2.8",
|
35
|
+
"vite-plugin-dts": "^3.8.1",
|
35
36
|
"vite-svg-loader": "^5.1.0",
|
36
|
-
"vue": "^3.
|
37
|
+
"vue": "^3.4.21",
|
37
38
|
"vue-router": "^4.0.0"
|
38
39
|
},
|
39
40
|
"dependencies": {
|
@@ -4,21 +4,31 @@ import { resolveFileLocation } from "./files";
|
|
4
4
|
import { FlashMessages } from "./FlashMessages";
|
5
5
|
|
6
6
|
export type FileUploadOptions = {
|
7
|
-
directory
|
8
|
-
presignedUploadUrl
|
9
|
-
uploadCompletedUrl
|
7
|
+
directory?: string,
|
8
|
+
presignedUploadUrl?: (...params: any) => "",
|
9
|
+
uploadCompletedUrl?: (...params: any) => "",
|
10
10
|
};
|
11
11
|
|
12
|
+
export type UploadedFile = {
|
13
|
+
id: string,
|
14
|
+
name: string,
|
15
|
+
size: number,
|
16
|
+
type: string,
|
17
|
+
progress: number,
|
18
|
+
location: string,
|
19
|
+
blobUrl: string
|
20
|
+
}
|
21
|
+
|
12
22
|
export class FileUpload {
|
13
|
-
files:
|
23
|
+
files: UploadedFile[] = [];
|
14
24
|
fileUploads = [];
|
15
25
|
onErrorCb = null;
|
16
26
|
onProgressCb = null;
|
17
27
|
onCompleteCb = null;
|
18
28
|
onAllCompleteCb = null;
|
19
|
-
options: FileUploadOptions =
|
29
|
+
options: FileUploadOptions = {};
|
20
30
|
|
21
|
-
constructor(files, options: FileUploadOptions =
|
31
|
+
constructor(files: UploadedFile[] | UploadedFile, options: FileUploadOptions = {}) {
|
22
32
|
if (!Array.isArray(files) && !(files instanceof FileList)) {
|
23
33
|
files = [files];
|
24
34
|
}
|
@@ -31,7 +41,6 @@ export class FileUpload {
|
|
31
41
|
|
32
42
|
this.options = {
|
33
43
|
...danxOptions.fileUpload,
|
34
|
-
...this.options,
|
35
44
|
...options
|
36
45
|
};
|
37
46
|
|
package/tsconfig.json
CHANGED
@@ -1,32 +1,41 @@
|
|
1
1
|
{
|
2
2
|
"compilerOptions": {
|
3
|
-
|
4
|
-
"declaration": true,
|
5
|
-
// Specify ECMAScript target version
|
3
|
+
// Compile down to ESNext (or choose your target version)
|
6
4
|
"target": "esnext",
|
7
|
-
//
|
5
|
+
// Use ES modules
|
8
6
|
"module": "esnext",
|
7
|
+
// Library files to be included in the compilation
|
8
|
+
"lib": [
|
9
|
+
"dom",
|
10
|
+
"esnext"
|
11
|
+
],
|
12
|
+
// Generate corresponding '.d.ts' file
|
13
|
+
"declaration": true,
|
14
|
+
// Output directory for the compiled files
|
15
|
+
"outDir": "./dist",
|
16
|
+
// Root directory of your source files
|
17
|
+
"rootDir": "./src",
|
9
18
|
// Enable all strict type-checking options
|
10
|
-
"strict":
|
11
|
-
// Enables compatibility with Babel-
|
19
|
+
"strict": true,
|
20
|
+
// Enables compatibility with Babel-style module imports
|
12
21
|
"esModuleInterop": true,
|
13
|
-
|
22
|
+
// Skip type checking of all declaration files (*.d.ts)
|
23
|
+
"skipLibCheck": true,
|
24
|
+
// Disallow inconsistently-cased references to the same file
|
25
|
+
"forceConsistentCasingInFileNames": true,
|
14
26
|
// Resolve modules using Node.js style
|
15
27
|
"moduleResolution": "node",
|
16
28
|
// Allow default imports from modules with no default export
|
17
29
|
"allowSyntheticDefaultImports": true,
|
18
30
|
// Enables experimental support for decorators
|
19
31
|
"experimentalDecorators": true,
|
20
|
-
//
|
21
|
-
"skipLibCheck": true,
|
32
|
+
// Enables source map generation for the compiled files (useful for debugging)
|
22
33
|
"sourceMap": true,
|
23
|
-
// Disallow inconsistently-cased references to the same file.
|
24
|
-
"forceConsistentCasingInFileNames": true,
|
25
34
|
// Base directory to resolve non-relative module names,
|
26
35
|
"baseUrl": "./",
|
27
36
|
"paths": {
|
28
37
|
"@/*": [
|
29
|
-
"./
|
38
|
+
"./src/*"
|
30
39
|
]
|
31
40
|
}
|
32
41
|
},
|
@@ -38,6 +47,8 @@
|
|
38
47
|
],
|
39
48
|
"exclude": [
|
40
49
|
"node_modules",
|
41
|
-
"dist"
|
50
|
+
"dist",
|
51
|
+
"demo",
|
52
|
+
"**/*.spec.ts"
|
42
53
|
]
|
43
54
|
}
|
package/vite.config.js
CHANGED
@@ -1,10 +1,16 @@
|
|
1
1
|
import vue from '@vitejs/plugin-vue';
|
2
2
|
import { resolve } from 'path';
|
3
3
|
import { defineConfig } from 'vite';
|
4
|
+
import dts from 'vite-plugin-dts';
|
4
5
|
import svgLoader from 'vite-svg-loader';
|
5
6
|
|
6
7
|
export default defineConfig({
|
7
|
-
plugins: [vue(), svgLoader()
|
8
|
+
plugins: [vue(), svgLoader(), dts({
|
9
|
+
compilerOptions: {
|
10
|
+
noImplicitAny: false,
|
11
|
+
suppressImplicitAnyIndexErrors: true
|
12
|
+
}
|
13
|
+
})],
|
8
14
|
resolve: {
|
9
15
|
extensions: ['.mjs', '.js', '.ts', '.mts', '.jsx', '.tsx', '.json', '.vue', '.svg']
|
10
16
|
},
|