UNPKG

@nstudio/nativescript-fancyalert

Version:
159 lines 7.95 kB
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