-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPage.html
142 lines (133 loc) · 13.4 KB
/
Page.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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons.css">
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<link href='https://fonts.googleapis.com/css?family=Alegreya+Sans+SC' rel='stylesheet' type='text/css'>
<?!= HtmlService.createHtmlOutputFromFile('Stylesheet').getContent(); ?>
</head>
<body>
<div id='container'>
<div style="top:1px;right:1px;position:relative;z-index:-10;text-align:right;font-size: 0.8em;">Your E-Mail Address: <span id="getYourEmailAddress"></span></div>
<div id='logo'>
<svg id="uuid-a1054e1b-31d1-4ad8-910b-912431ad4dbf" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 515.6 355.3" style="transform:scale(0.9); -webkit-transform:scale(0.9); -moz-transform:scale(0.9); -ms-transform:scale(0.9); -o-transform:scale(0.9);" width="52px" height="36px"><g id="uuid-38123550-417a-440d-a1db-cbd856d9fe7b" ><circle cx="456.1" cy="194.1" r="57.4" transform="translate(191.45 613.22) rotate(-80.78)" style="fill:#645d5d; isolation:isolate; opacity:.5;"/><g style="opacity:.5;"><line x1="125.7" y1="194.1" x2="329.4" y2="194.1" style="fill:none; stroke:#645d5d; stroke-miterlimit:10; stroke-width:3px;"/><path d="M381,194.1c-24.3,9-54.4,24.4-73.1,40.7l14.7-40.7-14.7-40.7c18.7,16.3,48.8,31.7,73.1,40.7Z" style="fill:#645d5d;"/></g></g><g id="uuid-c50df632-b6cc-4048-95e8-41931fa13b3a"><path d="M96,8.6l-3.1,14.6-1.9.4c-6.1-3.8-11.8-6.6-17-8.3-5.2-1.7-10.6-2.5-16.4-2.5-27.8,0-41.6,17.1-41.6,51.4s3.2,28.6,9.7,36.4c6.5,7.7,16.5,11.6,30,11.6s7.2-.3,10.8-1c3.6-.6,8.3-1.9,14.1-3.6l.4-14.4-.2-18.4,14.4-1.2-.4,17.5.8,26.9c-8.3,2.6-15.7,4.4-22.1,5.6-6.4,1.2-12.6,1.7-18.6,1.7-18.3,0-32-5.2-41.2-15.5C4.6,99.4,0,84.5,0,64.9S5.2,27.7,15.5,16.6C25.9,5.5,40.6,0,59.8,0s24.9,2.9,36.1,8.6h.1Z" style="fill:#231f20;"/><path d="M195,120.5l-.2,1.9c-5.4,1.7-9.8,2.6-13.2,2.9l-2.5-1.5c-9.7-14.7-17.1-26.3-22.1-34.7l-18,.2v4.8l.4,29.9h-14.2l.6-28.8-.6-66.8,32.6-.2c10.1,0,17.9,2.4,23.3,7.1,5.4,4.7,8.2,11.6,8.2,20.5s-1.8,12.3-5.3,17.5c-3.5,5.1-8.5,9.1-14.9,12.1,7.8,11.9,16.4,23.6,25.9,35.1ZM139.2,77.3l18,.6c11.4-3.2,17.1-10.2,17.1-20.9s-1.7-9.8-5-12.7c-3.3-2.8-8.4-4.3-15.2-4.6l-14.8.2-.2,37.4h.1Z" style="fill:#231f20;"/><path d="M294.8,123.9h-14.4l-2.3-10.4-5-14.2-22.8-.2-20.3.2-5.2,13.4-2.7,11.1h-14.2l36.8-95.6h16.5l33.6,95.6v.1ZM269.1,87.6l-15.9-45.3h-1.2l-17.5,45.3,16.9.2,17.7-.2Z" style="fill:#231f20;"/><path d="M389.5,39.3c7.7,7.8,11.6,19,11.6,33.6s-4.2,29.6-12.7,38.6c-8.4,9-20.5,13.4-36.3,13.4s-9.8,0-16-.3c-6.2-.2-12.1-.4-17.6-.7l.6-28.8-.6-66.8,37.4-.8c14.6,0,25.7,3.9,33.5,11.7l.1.1ZM378.2,103.9c5.6-6.2,8.3-15.6,8.3-28.1s-2.6-21.4-7.9-27.2c-5.2-5.9-13.2-8.8-23.8-8.8s-13.6.3-22.1.8l-.4,53.5.2,18c3.7.3,7.6.5,11.7.8s7.5.4,10.2.4c10.2,0,18.1-3.1,23.7-9.3l.1-.1Z" style="fill:#231f20;"/><path d="M485.5,111.6l1.2,1.2-1.3,11.1h-58.1l.6-28.8-.6-66.8h58.5l1,1.2-1.2,11.1-24.2-.8-20,.2-.2,29,19,.2,16.7-.6,1,1.3-1.2,11.3-17.7-.6-17.8.2-.2,13,.2,18.2,18.8.2,25.5-.8v.2Z" style="fill:#231f20;"/><path d="M105.1,318.1l.4,36.1h-16.1l-63.7-98.4h-1l-.2,57.9.2,40.5h-13.8l.6-36.5-.4-86.5h15.9l63.5,98.4h1.3l-.2-97.7,14.4-1.2-1,87.3.1.1Z" style="fill:#231f20;"/><path d="M214.6,307.1v13.8c.1,10.9-3.2,19.3-9.9,25.3s-16.3,9-28.9,9-21.9-3-28.4-8.9-9.7-14.4-9.4-25.4l.2-14.6-.2-47.8h14.4l-.8,60.1c-.1,8.1,1.9,14.1,6,18.2,4.2,4.1,10.4,6.1,18.7,6.1s14.4-2,18.6-6.1c4.2-4.1,6.3-10.2,6.1-18.2l-.6-60.1h14.6l-.6,48.5.2.1Z" style="fill:#231f20;"/><path d="M317.4,269.5c7.7,7.8,11.6,19,11.6,33.6s-4.2,29.6-12.7,38.6c-8.4,9-20.5,13.4-36.3,13.4s-9.8,0-16-.3c-6.2-.2-12.1-.4-17.6-.7l.6-28.8-.6-66.8,37.4-.8c14.6,0,25.7,3.9,33.5,11.7l.1.1ZM306.1,334.1c5.6-6.2,8.3-15.6,8.3-28.1s-2.6-21.4-7.9-27.2c-5.2-5.9-13.2-8.8-23.8-8.8s-13.6.3-22.1.8l-.4,53.5.2,18c3.7.3,7.6.5,11.7.8s7.5.4,10.2.4c10.2,0,18.1-3.1,23.7-9.3l.1-.1Z" style="fill:#231f20;"/><path d="M426.6,264.2l-4.8,13.8h-1.7c-4.7-3.1-9.1-5.2-13-6.4-4-1.2-8.2-1.8-12.9-1.8-10.9,0-19,3.1-24.5,9.2-5.4,6.1-8.2,15.7-8.2,28.8s2.5,21.6,7.5,27.2,12.9,8.3,23.8,8.3,6.3-.3,9.2-.9c2.9-.6,6.5-1.6,10.7-3.2v-9.6l-.2-13.6,13.2-1v34.5c-12.9,3.8-24.1,5.8-33.6,5.8-15.1,0-26.5-4.1-34.2-12.2s-11.6-19.7-11.6-34.8,4.4-28.9,13.1-37.6c8.8-8.7,21.1-13,36.9-13s20,2.2,30.1,6.5h.2Z" style="fill:#231f20;"/><path d="M514.3,341.9l1.2,1.2-1.3,11.1h-58.1l.6-28.8-.6-66.8h58.5l1,1.2-1.2,11.1-24.2-.8-20,.2-.2,29,19,.2,16.7-.6,1,1.3-1.2,11.3-17.7-.6-17.8.2-.2,13,.2,18.2,18.8.2,25.5-.8v.2Z" style="fill:#231f20;"/></g></svg>
</div>
<div id="uploadedFileInformation" style='display:none;' title="Gradesheet Information">
<form id='gradebookForm' name='gradebookForm'>
<fieldset>
<div id="emailpointsappenddiv" style="display:none;">
<label for="emailappend">Domain Name to Append to E-Mail Column</label>
<input type="text" name="emailappend" id="emailappend" value="" class="text ui-widget-content ui-corner-all" />
</div>
<label for="pointscollist">Total Points in Class Column</label>
<select name="pointscollist" id="pointscollist">
</select>
<input type="hidden" name="gradebookId" id="gradebookId" value ="" />
<input type="hidden" name="gradebookName" id="gradebookName" value ="" />
<input type="hidden" name="studentNameCol" id="studentNameCol" value ="" />
<input type="hidden" name="studentEMailCol" id="studentEMailCol" value ="" />
<input type="submit" tabindex="-1" style="position:absolute; top:-1000px">
</fieldset>
</form>
</div>
<div id="supportedFileUploads" style='display:none;' title="Supported File Uploads">
<p>
As an alternative to using a Google Spreadsheet gradebook, Grade Nudge can read standard CSV gradebook exports from Canvas, Blackboard, and Moodle (others coming soon). Note that you must be using a points grading scheme and the default column names. To use this feature, drag the exported gradebook file from your computer and drop it on the files section of the Grade Nudge interface.
</p>
</div>
<div id="assignmentPointsDialog" style='display:none;' title="Assignment and Total Points">
<p>
The gradebook file contains the total number of points each student has earned in the class but not how many points are possible on the upcoming assignment or in the course as of this date. 'Assignment points' is the point value of the upcoming assignment for which you are sending the nudge message. The 'total points in the class' is the total number of points possible as of this point in the term; it <i>does not</i> include the future points that will be added to the gradebook from the upcoming assignment (or other future assignments).
</p>
</div>
<div id="helpFilesDialog" style='display:none;' title="Files">
<p>
The gradebook file has three required pieces of information for each student: name, email, and total number of points earned in the class. This information can be detected from common LMS systems such as Canvas, Blackboard or Moodle. Alternatively, a Google Spreadsheet can be created with three columns: 'name', 'email', and 'points'.
</p>
<p>
The gradescale file contains two columns: 'grade' and 'threshold'. Where grade is the letter grade (e.g. "A-") and threshold is the lower bound to earn that grade. You can create a gradescale from scratch in Google Spreadsheets. However, it is recommended that you click the 'create default gradescale' button below and modify the file if necessary.
</p>
</div>
<div id="helpDeliveryDialog" style='display:none;' title="Delivery">
<p>
The grade nudge message can be delivered in four different ways: the instructor can send the nudge via e-mail without the assignment (the most commonly used feature), share an assignment with each student as a Google Drive document, attach the assignment as a PDF, or save the nudge to a column within the gradebook spreadsheet.
</p>
<p>
Selecting either to share a Google Drive document or attach a PDF will require that the instructor select a Google Drive document to use as a homework template (this file will be duplicated and shared with each student). Saving the nudge to the gradebook allows the instructor to use some alternative means of delivering the nudge beyond what the program provides; this option does not send out an e-mail.
</p>
</div>
<div class="error" style='display:none;' id='error'></div>
<div class="notice" style='display:none;' id='notice'></div>
<form id='form' name='form'>
<div id='coldiv'>
<input type="hidden" name="SavedstudentNameCol" id="SavedstudentNameCol" value ="" />
<input type="hidden" name="SavedstudentEMailCol" id="SavedstudentEMailCol" value ="" />
<input type="hidden" name="Savedemailappend" id="Savedemailappend" value ="" />
<input type="hidden" name="Savedpointscollist" id="Savedpointscollist" value ="" />
<div class='col'>
<div class='delivery'>
<span class='title'><a href="#" id="helpDelivery" title="Click for more information">Delivery</a></span>
<input type='radio' name='delivery' id='emailOnly' value='email' checked /><label for='emailOnly'>Send nudge via E-Mail without the assignment</label>
<br /><input type='radio' name='delivery' id='shareDocument' value='share' /><label for='shareDocument'>Share the Google Drive document with the student</label>
<br /><input type='radio' name='delivery' id='sendPDF' value='PDF' /><label for='sendPDF'>Send a PDF of the document in the E-Mail</label>
<br /><input type='radio' name='delivery' id='noemail' value='noemail' /><label for='noemail'>Save nudge to 'message' column of gradebook</label>
</div>
<div class='files' id="filesRegion">
<span class='title'><a href="#" id="helpFiles" title="Click for more information">Files</a> - Select or <a href='#' id='helpDrop' title="Click for more information">Drop a Gradebook File</a></span>
<div id='templateDiv'>
<button name='templateBut' id='templateBut' type="button">Select Homework Template</button><div id='templateInfo'></div><input type='hidden' id='template' name='template' value='' />
</div>
<button name='gradebookBut' id='gradebookBut' type="button">Select Gradebook</button><div id='gradebookInfo'></div><input type='hidden' id='gradebook' name='gradebook' value='' />
<button name='gradescaleBut' id='gradescaleBut' type="button">Select Gradescale</button><div id='gradescaleInfo'> or <a href='#' id='downloadgradescaledefault'>create default gradescale</a></div><input type='hidden' id='gradescale' name='gradescale' value='' />
</div>
<div class='assignment'>
<span class='title'><a href="#" id="avbut" title="Click for more information">Assignment Value</a></span>
<p><label for='points'>Assignment Points: </label><input type='number' id='points' name='points' step='0.01' /></p>
<p><label for='tpoints'>Total Points in the Class: </label><input type='number' id='tpoints' step='0.01' name='tpoints' /></p>
</div>
<div class='nudgemes'>
<span class='title'>Nudge Message Options</span>
<p><input type='checkbox' class='messageoptions' id='incomplete' name='incomplete' checked /><label for='incomplete'>Calculate incomplete score</label></p>
<p><input type='checkbox' class='messageoptions' id='gradeup' name='gradeup' checked /><label for='gradeup'>Calculate next grade up</label></p>
<p><input type='checkbox' class='messageoptions' id='gradedown' name='gradedown' checked /><label for='gradedown'>Calculate next grade down</label></p>
<p><input type='checkbox' class='messageoptions' id='percentage' name='percentage' checked /><label for='percentage'>Calculate percent scores</label></p>
</div>
</div>
<div class='col'>
<div class='message'>
<span class='title'>E-Mail</span>
<input type='text' name='subjectline' id='subjectline' placeholder='E-Mail Subject Line' />
<textarea name='emailbody' id='emailbody' placeholder='Body of E-Mail Message'></textarea>
</div>
<div class='advanced'>
<div id='adv' name='adv'>
<p>Customize assingment name:</p>
<p><input type='text' name='assignmentName' id='assignmentName' placeholder='this assignment' /></p>
<p>Limit the gradebook range from:</p>
<p><input type='number' name='lStart' id='lStart' placeholder='All' /> to <input type='number' name='lEnd' id='lEnd' placeholder='All' /></p>
<p>Set e-mail name:</p>
<p><input type='text' name='emailName' id='emailName' /></p>
<p>Set reply-to address:</p>
<p><input type='text' name='replyToAddress' id='replyToAddress' /></p>
</div>
<a href='#' id='advset'>Show advanced settings...</a>
</div>
</div>
<div class='col'>
<span class='title'>Preview</span>
<div id='greating' class='nudge'>Hi [Name],</div>
<div id='emailbodymes' class='nudge'></div>
<div id='nudgemes' class='nudge'></div>
</div>
</div>
<a href="https://bensresearch.com/nudge" target="_blank" rel="noopener noreferrer">Help and Documentation ></a>
<div style='float:right;' id='submitButton'>
<input type='submit' value='Send Nudge Messages' />
</div>
</form>
</div>
<?!= HtmlService.createHtmlOutputFromFile('JavaScript').getContent(); ?>
<script src="https://apis.google.com/js/api.js" crossorigin="anonymous"></script>
<script>gapi.load("picker", {callback:function(){ pickerApiLoaded =!0; }});</script>
</body>
</html>