-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathDialogJavaScript.html
73 lines (66 loc) · 2.27 KB
/
DialogJavaScript.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
/**
* Run initializations on dialog load.
*/
$(function() {
// Assign handler functions to dialog elements here, if needed.
$('#dialog-execute-button').click(onExecuteClick);
// Call the server here to retrieve any information needed to build
// the dialog, if necessary.
// Preselect next month
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 2;
if (month > 12) {
year++;
month = 1;
}
$('#dialog-year-select').val(year);
$('#dialog-month-select').val(month);
});
/**
* Calls the server to modify the sheet.
* Determines the user-specified action (create a sheet, copy the active
* sheet, clear the active sheet) and asks the server to execute it. The
* dialog is then closed.
*/
function onExecuteClick() {
this.disabled = true;
// Gather any information that needs to be sent to the server here.
//var action = $('#dialog-action-select').val();
var year = $('#dialog-year-select').val();
var month = $('#dialog-month-select').val();
var template = $('#dialog-template-select').val();
showStatus('Uutta kuukausiohjelmaa tehdään...');
// Send the value to the server and handle the response.
google.script.run
.withSuccessHandler(
function(msg, element) {
// Respond to success conditions here.
showStatus('"' + msg + '" luotu.');
element.disabled = false;
})
.withFailureHandler(
function(msg, element) {
// Respond to failure conditions here.
showStatus('Kuukausiohjelmaa ei pystytty tekemään. Virhe: ' + msg);
element.disabled = false;
})
.withUserObject(this)
.createScheduleDoc(year, month, template);
}
/**
* Displays the given status message in the dialog.
*
* @param {String} msg The status message to display.
* @param {String} classId The message type (class id) that the message
* should be displayed as.
*/
function showStatus(msg, classId) {
$('#dialog-status').removeClass().html(msg);
if (classId) {
$('#dialog-status').addClass(classId);
}
}
</script>