Как отправить результат в HTML шаблон из файла - PullRequest
0 голосов
/ 06 августа 2020

Как я могу отправить результат функции в HTML Шаблон из файла, с указанными ниже усилиями я получаю сообщение об ошибке объекта Object

Ошибка в HTML Страница: [object Object], [object Объект], [объект объект], [объект объект], [объект объект], [объект объект], [объект объект], [объект объект], [объект объект]

function doGet() {
 var ss = SpreadsheetApp.openById("IIIIIII");
    var sheet = ss.getSheetByName('Sheet3')
    var values = sheet.getDataRange().getValues();
    var msg = [];

    var MyDate =  e.parameter.time;// 7/27/2020
    var d = new Date(MyDate);
    var n = d.getTime();
    for (var i = 0; i < values.length; i++) {
        if (new Date(values[i][0]).getTime() === n) {
            msg.push(values[i][1])
        }
    }

const ts = ['10:00-11:00', '11:00-12:00', '12:00-13:00', '13:00-14:00', '14:00-15:00', '15:00-16:00', '16:00-17:00', '17:00-18:00', '18:00-19:00'],
        booked3 = msg,
        avail = (ts, booked) =>
        ts.map(item => {
            const [start, end] = item.split('-'),
                isBooked = !booked
                .map(item => item.split('-'))
                .every(([bookedStart, bookedEnd]) => bookedStart >= end || bookedEnd <= start)
            return {
                slot: `${start}-${end}`,
                isBooked
            }
        })
console.log(avail(ts, booked3))
      
var template
var template =HtmlService.createTemplateFromFile('index'); 
     template.name= e.parameter.time;
     template.idata=avail(ts,booked3); // this result is showing in html page 
     var pageData= template.evaluate()
    .setTitle('System') 
    .setSandboxMode(HtmlService.SandboxMode.IFRAME) 
    .addMetaTag('viewport', 'width=device-width, initial-scale=1')
    .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL) 
     return pageData;
}
<div class="text-white display-6">idata:<?= idata; ?></div>

Таблица Google

1 Ответ

1 голос
/ 06 августа 2020

Ваш код передает массив объектов в шаблон HTML.

Замените

template.idata=avail(ts,booked3); 

на

template.idata=JSON.stringify(avail(ts,booked3)); 

Если вы хотите значительно улучшить презентация, тогда ваш код должен преобразовать результат avail(ts,booked3) в HTML.

...