@nstudio/nativescript-fancyalert
Version:
Fancy alerts for NativeScript.
159 lines • 7.95 kB
JavaScript
import { Application, Color, Utils } from '@nativescript/core';
export * from './common';
export var IFancyAlertSupportedTypesAndroid;
(function (IFancyAlertSupportedTypesAndroid) {
IFancyAlertSupportedTypesAndroid[IFancyAlertSupportedTypesAndroid["INFO"] = 0] = "INFO";
IFancyAlertSupportedTypesAndroid[IFancyAlertSupportedTypesAndroid["HELP"] = 1] = "HELP";
IFancyAlertSupportedTypesAndroid[IFancyAlertSupportedTypesAndroid["WRONG"] = 2] = "WRONG";
IFancyAlertSupportedTypesAndroid[IFancyAlertSupportedTypesAndroid["SUCCESS"] = 3] = "SUCCESS";
IFancyAlertSupportedTypesAndroid[IFancyAlertSupportedTypesAndroid["WARNING"] = 4] = "WARNING";
IFancyAlertSupportedTypesAndroid[IFancyAlertSupportedTypesAndroid["EDIT"] = 5] = "EDIT";
})(IFancyAlertSupportedTypesAndroid || (IFancyAlertSupportedTypesAndroid = {}));
const getAndroidActivity = function () {
return Application.android.foregroundActivity || Application.android.startActivity;
};
export class TNSFancyAlert {
static showSuccess(title, subTitle, closeBtnTitle) {
return new Promise((resolve, reject) => {
const alert = new cn.refactor.lib.colordialog.PromptDialog(getAndroidActivity());
alert.setCanceledOnTouchOutside(TNSFancyAlert.shouldDismissOnTapOutside);
alert.setDialogType(IFancyAlertSupportedTypesAndroid.SUCCESS);
alert.setTitleText(title || 'Success!');
alert.setContentText(subTitle || '');
alert.setAnimationEnable(true);
alert.setPositiveListener(closeBtnTitle || 'Ok', new cn.refactor.lib.colordialog.PromptDialog.OnPositiveListener({
onClick: (dialog) => {
dialog.dismiss();
resolve();
},
}));
alert.show();
});
}
static showError(title, subTitle, closeBtnTitle) {
return new Promise((resolve, reject) => {
const alert = new cn.refactor.lib.colordialog.PromptDialog(getAndroidActivity());
alert.setCanceledOnTouchOutside(TNSFancyAlert.shouldDismissOnTapOutside);
alert.setDialogType(IFancyAlertSupportedTypesAndroid.WRONG);
alert.setTitleText(title || 'Error!');
alert.setContentText(subTitle || '');
alert.setAnimationEnable(true);
alert.setPositiveListener(closeBtnTitle || 'Ok', new cn.refactor.lib.colordialog.PromptDialog.OnPositiveListener({
onClick: (dialog) => {
dialog.dismiss();
resolve();
},
}));
alert.show();
});
}
static showNotice(title, subTitle, closeBtnTitle) {
return new Promise((resolve, reject) => {
const alert = new cn.refactor.lib.colordialog.PromptDialog(getAndroidActivity());
alert.setCanceledOnTouchOutside(TNSFancyAlert.shouldDismissOnTapOutside);
alert.setDialogType(IFancyAlertSupportedTypesAndroid.HELP);
alert.setTitleText(title || 'Notice');
alert.setContentText(subTitle || '');
alert.setAnimationEnable(true);
alert.setPositiveListener(closeBtnTitle || 'Ok', new cn.refactor.lib.colordialog.PromptDialog.OnPositiveListener({
onClick: (dialog) => {
dialog.dismiss();
resolve();
},
}));
alert.show();
});
}
static showWarning(title, subTitle, closeBtnTitle) {
return new Promise((resolve, reject) => {
const alert = new cn.refactor.lib.colordialog.PromptDialog(getAndroidActivity());
alert.setCanceledOnTouchOutside(TNSFancyAlert.shouldDismissOnTapOutside);
alert.setDialogType(IFancyAlertSupportedTypesAndroid.WARNING);
alert.setTitleText(title || 'Warning!');
alert.setContentText(subTitle || '');
alert.setAnimationEnable(true);
alert.setPositiveListener(closeBtnTitle || 'Ok', new cn.refactor.lib.colordialog.PromptDialog.OnPositiveListener({
onClick: (dialog) => {
dialog.dismiss();
resolve();
},
}));
alert.show();
});
}
static showEdit(title, subTitle, closeBtnTitle) {
return new Promise((resolve, reject) => {
const alert = new cn.refactor.lib.colordialog.PromptDialog(getAndroidActivity());
alert.setCanceledOnTouchOutside(TNSFancyAlert.shouldDismissOnTapOutside);
alert.setDialogType(IFancyAlertSupportedTypesAndroid.EDIT); /// EDIT
alert.setTitleText(title || 'Edit');
alert.setContentText(subTitle || '');
alert.setEditTextHint(subTitle || '');
alert.setAnimationEnable(true);
alert.setPositiveListener(closeBtnTitle || 'Ok', new cn.refactor.lib.colordialog.PromptDialog.OnPositiveListener({
onClick: (dialog) => {
dialog.dismiss();
resolve(dialog.getEditText().getText());
},
}));
alert.show();
});
}
static showInfo(title, subTitle, closeBtnTitle) {
return new Promise((resolve, reject) => {
const alert = new cn.refactor.lib.colordialog.PromptDialog(getAndroidActivity());
alert.setCanceledOnTouchOutside(TNSFancyAlert.shouldDismissOnTapOutside);
alert.setDialogType(IFancyAlertSupportedTypesAndroid.INFO); /// Info
alert.setTitleText(title || 'Info');
alert.setContentText(subTitle || '');
alert.setAnimationEnable(true);
alert.setPositiveListener(closeBtnTitle || 'Ok', new cn.refactor.lib.colordialog.PromptDialog.OnPositiveListener({
onClick: (dialog) => {
dialog.dismiss();
resolve();
},
}));
alert.show();
});
}
static showColorDialog(title, subTitle, okBtnTitle, cancelBtnTitle, backgroundColor, titleTextColor, contextTextColor, contentImage) {
return new Promise((resolve, reject) => {
const alert = new cn.refactor.lib.colordialog.ColorDialog(getAndroidActivity());
// alert.setCanceledOnTouchOutside(TNSFancyAlert.shouldDismissOnTapOutside);
// alert.setDialogType(IFancyAlertSupportedTypesAndroid.HELP);
alert.setTitle(title || 'Title');
alert.setContentText(subTitle || '');
if (backgroundColor) {
alert.setColor(new Color(backgroundColor).android);
}
if (titleTextColor) {
alert.setTitleTextColor(new Color(titleTextColor).android);
}
if (contextTextColor) {
alert.setContentTextColor(new Color(contextTextColor).android);
}
if (contentImage) {
const context = Utils.android.getApplicationContext();
alert.setContentImage(context.getResources().getIdentifier(contentImage, null, context.getPackageName()));
}
alert.setAnimationEnable(true);
alert.setPositiveListener(okBtnTitle || 'Ok', new cn.refactor.lib.colordialog.ColorDialog.OnPositiveListener({
onClick: (dialog) => {
dialog.dismiss();
resolve();
},
}));
if (cancelBtnTitle) {
alert.setNegativeListener(cancelBtnTitle || 'Cancel', new cn.refactor.lib.colordialog.ColorDialog.OnNegativeListener({
onClick: (dialog) => {
dialog.dismiss();
reject();
},
}));
}
alert.show();
});
}
}
TNSFancyAlert.shouldDismissOnTapOutside = false;
//# sourceMappingURL=index.android.js.map