make new folder for reuse ngLib add new features for datatree like change add remove rename datapoints improve pingpong
This commit is contained in:
67
src/vueLib/general/useNotify.ts
Normal file
67
src/vueLib/general/useNotify.ts
Normal file
@@ -0,0 +1,67 @@
|
||||
import type { Response } from '../models/Response';
|
||||
import { useQuasar } from 'quasar';
|
||||
|
||||
export function useNotify() {
|
||||
const $q = useQuasar();
|
||||
function NotifyResponse(
|
||||
response: Response | string | undefined,
|
||||
type?: 'warning' | 'error',
|
||||
timeout: number = 5000,
|
||||
) {
|
||||
let color = 'green';
|
||||
let icon = 'check_circle';
|
||||
|
||||
switch (type) {
|
||||
case 'warning':
|
||||
color = 'orange';
|
||||
icon = 'warning';
|
||||
break;
|
||||
case 'error':
|
||||
color = 'red';
|
||||
icon = 'error';
|
||||
break;
|
||||
}
|
||||
|
||||
if (response) {
|
||||
const message = typeof response === 'string' ? response : (response.message ?? '');
|
||||
if (message === '') {
|
||||
return;
|
||||
}
|
||||
|
||||
color = typeof response === 'string' ? color : response?.error ? 'red' : color;
|
||||
icon = typeof response === 'string' ? icon : response?.error ? 'error' : icon;
|
||||
$q?.notify({
|
||||
message: message,
|
||||
color: color,
|
||||
position: 'bottom-right',
|
||||
icon: icon,
|
||||
timeout: timeout,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function NotifyDialog(title: string, text: string, okText?: string, cancelText?: string) {
|
||||
return new Promise((resolve) => {
|
||||
$q.dialog({
|
||||
title: title,
|
||||
message: text,
|
||||
persistent: true,
|
||||
ok: okText ?? 'OK',
|
||||
cancel: cancelText ?? 'CANCEL',
|
||||
})
|
||||
.onOk(() => {
|
||||
resolve(true);
|
||||
})
|
||||
.onCancel(() => {
|
||||
resolve(false);
|
||||
})
|
||||
.onDismiss(() => {
|
||||
resolve(false);
|
||||
});
|
||||
});
|
||||
}
|
||||
return {
|
||||
NotifyDialog,
|
||||
NotifyResponse,
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user