Skip to content

Instantly share code, notes, and snippets.

@Villanuevand
Created August 4, 2024 20:37
Show Gist options
  • Save Villanuevand/c738d602222044975ed621f6d2773db1 to your computer and use it in GitHub Desktop.
Save Villanuevand/c738d602222044975ed621f6d2773db1 to your computer and use it in GitHub Desktop.
Código de la serie Alertas y Dialogos en Youtube | Vilton Tech
/**
* Serio: Alertas y Dialogos | Vilton Tech
* Video 1: https://youtu.be/qr5ixu0Hkas
* Video 2: https://youtu.be/oBOO_4dIFUw
* Instagram: @vilton.tech
*/
const UI = SpreadsheetApp.getUi();
function onOpen(e) {
UI.createMenu('Dialogs 💬')
.addItem('alert 🚨', 'alertFn_')
.addItem('alert YES - NO 👍 👎', 'alertYesNoFn_')
.addItem('Prompt 💬', 'promptDialogFn_')
.addItem('Custom 🎨', 'customDialogFn_')
.addToUi();
}
/**
* @description Ejecuta la fn para abrir el alert
*/
function alertFn_() {
UI.alert('Hola! Ya te suscribiste? 🔔')
}
/**
* @description Ejecuta la fn para abrir el alert YES/NO
*/
// UI.alert, puede tener 1, 2 y 3 parametros
function alertYesNoFn_() {
const dialog = UI.alert(
'Vilton Tech - Dialogos', // 1) parametro, Titulo
'Te gusta el contenido de Vilton Tech?', // 2) parámetro, Texto
UI.ButtonSet.YES_NO // 3) ,Botones | UI.ButtonSet. (detener en el punto para ver la opciones),
);
try {
if (dialog === UI.Button.YES) {
UI.alert('Nos encanta!');
} else {
UI.alert('Como podemos mejorar?')
}
} catch (e) {
Logger.log('error: %s', e);
}
}
/**
* @description Ejecuta la fn para abrir el prompt
* Prompt Dialogs
* Dialogos de Solicitud
*/
function promptDialogFn_() {
const prompt = UI.prompt(
'Comentarios 🗣️', // Primer parametro, Titulo
'¿Qué te parecio nuestro último video?', // Segundo parámetro, Texto
UI.ButtonSet.OK_CANCEL
);
//Obtener respuestas
const button = prompt.getSelectedButton();
const response = prompt.getResponseText();
try {
if (button === UI.Button.OK) {
UI.alert(`Tu respuesta fue: ${response}`);
} else if (button == UI.Button.OK) {
UI.alert('Gracias por participar! 🙂');
} else {
UI.alert('Cancelar acción 🙂')
}
} catch (e) {
Logger.log('error: %s', e)
}
}
/**
* @description Ejecuta la fn para abrir el Custom dialog
*/
function customDialogFn_() {
const HTML_TEMPLATE = HtmlService.createHtmlOutputFromFile('customDialog')
.setWidth(400)
.setHeight(300)
// Atención: showModalDialog and showModelessDialog
UI.showModelessDialog(HTML_TEMPLATE, 'Dialogo Personalizable')
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment