Основные ответы от HtmlService без асинхронного диалога - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть набор кода, который мне нужен, чтобы открыть несколько диалоговых окон yes / no вместе с 2 диалоговыми окнами HtmlService.Порядок выглядит следующим образом:

HtmlService (форма с функцией для возврата данных формы) -> диалоговое окно (YES_NO) для подтверждения правильности цены в форме.-> диалоговое окно (YES_NO) для подтверждения выбранных диапазонов дат -> HtmlService для проверки сообщения электронной почты.

Моя проблема возникает с этим последним диалоговым окном HtmlService.У меня уже есть данные, которые мне нужно передать в функцию обработки, но, насколько я знаю, единственный способ получить переменные в HtmlService - это вернуть данные в виде функции, выполняемой HtmlService.Таким образом, из вышеописанного технологического порядка первый HtmlService передает данные формы в функцию с именем «former () », в этой функции я запускаю два других диалоговых окна.

У меня вопрос, как мне получить данные из«Подтверждение ()» в новый HtmlService, когда HtmlService запускается внутри функции «Подтверждение ()».Или как я могу получить простой синхронный ответ от HtmlService (например, стандартный ответ ui.alert ())?

function create_dialog() { //creates the first HtmlService
    var html = HtmlService.createTemplateFromFile('appointments dialog').evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME).setWidth(300).setHeight(350);
    SpreadsheetApp.getUi().showModalDialog(html, 'Create Appointment');
}

function confirmer(date, rec, end, location, price, semail, scalander, name, description, status, user, clientmail){ //this is the response from google.script.run.confimer(*vars)
    var response = ui.alert('Price Confirm', 'Is the price £'+String(price)+'correct? ', ui.ButtonSet.YES_NO);
    if (response == ui.Button.YES){
        var response = ui.alert('Date Confirm', 'Are the following Dates correct?\n'+strdates, ui.ButtonSet.YES_NO);
        if(response == ui.Button.YES){
            //this is where i need to pass the variables (date, rec, end, location, price, semail, scalander, name, description, status, user, clientmail) to the new HtmlService
            var emailpreview = emesage("Your", "is", name, date, location, alias, get_email(user), price); //this just generates pure HTML.
            var html = HtmlService.createTemplate(emailpreview).evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME).setWidth(300).setHeight(350);;
            SpreadsheetApp.getUi().showModalDialog(html, 'Email');
            //if(dialog == pressed yes){update_sheet(*vars) //i need to run this (pseudo code)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...