Skip to content

Instantly share code, notes, and snippets.

@baldwicc
Last active December 25, 2015 16:28
Show Gist options
  • Save baldwicc/7005606 to your computer and use it in GitHub Desktop.
Save baldwicc/7005606 to your computer and use it in GitHub Desktop.
Turnitin Direct - Custom Defaults: Customises the default options when creating Turnitin Direct items.
/* global $$ */
/**
* qut-tii-defaults
* @author Christopher Baldwin [https://staff.qut.edu.au/details?id=baldwicc]
* @license Simplified BSD License
* @source [https://gist.github.com/baldwicc/7005606]
*/
Event.observe(document, 'dom:loaded', function () {
var conf = {
/**
* objects for each form field on the tii page.
* @type {Array}
* @property {string} name the name attribute on the element (unused)
* @property {string} type what kind of form element it is (select, input)
* @property {HTMLElement} elem the form element itself (see usage below)
*/
elements: [
// Submission Type
{
name: 'submissionType',
type: 'select',
elem: $$('select[name="submissionType"]')[0],
value: 'file' // File upload
},
// Number of parts
{
name: 'numParts',
type: 'select',
elem: $$('select[name="numParts"]')[0],
value: '2' // 2
},
// Overall Grade
{
name: 'gradeOutOf',
type: 'input',
elem: $$('input[name="gradeOutOf"]')[0],
value: '44' // 44
},
// Report generation speed
{
name: 'reportSpeed',
type: 'select',
elem: $$('select[name="reportSpeed"]')[0],
value: '1' // Generate reports immediately, reports can be overwritten until due date
},
// Exclude bibliographic material
{
name: 'excludeBiblio',
type: 'select',
elem: $$('select[name="excludeBiblio"]')[0],
value: '0' // No
},
// Excluded quoted material
{
name: 'excludeQuoted',
type: 'select',
elem: $$('select[name="excludeQuoted"]')[0],
value: '0' // No
},
// Exclude small matches by
{
name: 'excludeType',
type: 'select',
elem: $$('select[name="excludeType"]')[0],
value: '0' // Do not exclude small matches
},
// Minimum value to exclude
{
name: 'excludeValue',
type: 'input',
elem: $$('input[name="excludeValue"]')[0],
value: '0' // Do not exclude small matches
},
// Students view originality reports
{
name: 'studentReportsAllowed',
type: 'select',
elem: $$('select[name="studentReportsAllowed"]')[0],
value: '1' // Yes
},
// Allow late submissions
{
name: 'allowLateSubmissions',
type: 'select',
elem: $$('select[name="allowLateSubmissions"]')[0],
value: '0' // No
},
// Use Anonymous Marking
{
name: 'useAnonymous',
type: 'select',
elem: $$('select[name="useAnonymous"]')[0],
value: '0' // No
},
// Paper Repository
{
name: 'paperRepository',
type: 'select',
elem: $$('select[name="paperRepository"]')[0],
value: '1' // Standard Repository
},
// Check stored student papers
{
name: 'checkStoredStudPapers',
type: 'select',
elem: $$('select[name="checkStoredStudPapers"]')[0],
value: '1' // Yes
},
// Check Internet
{
name: 'checkInternet',
type: 'select',
elem: $$('select[name="checkInternet"]')[0],
value: '1' // Yes
},
// Check Journals and Publications
{
name: 'checkJournals',
type: 'select',
elem: $$('select[name="checkJournals"]')[0],
value: '1' // Yes
},
// Use GradeMark
{
name: 'useGrademark',
type: 'select',
elem: $$('select[name="useGrademark"]')[0],
value: '1' // Yes
},
// Reveal grades immediately
{
name: 'gradeRevealMethod',
type: 'select',
elem: $$('select[name="gradeRevealMethod"]')[0],
value: '0' // No
},
// Ignore Turnitin Grades
{
name: 'ignoreTurnitinGrades',
type: 'select',
elem: $$('select[name="ignoreTurnitinGrades"]')[0],
value: '0' // No
}
]
};
var init = function () {
var i, ii, thisopts, optelems;
for (i = 0; i < conf.elements.length; i++) {
thisopts = conf.elements[i];
console.log(thisopts);
switch (thisopts.type) {
case 'select':
// find the <option> that matches value, and select it
optelems = thisopts.elem.options || [];
for (ii = 0; ii < optelems.length; ii++) {
if (optelems[ii].value === thisopts.value) {
optelems[ii].selected = true;
}
}
break;
case 'input':
// verify value is a string, then overwrite it with value
if (typeof (thisopts.elem.value) === 'string') {
thisopts.elem.value = thisopts.value;
}
break;
}
}
};
// FIRE
init();
});
<script type="text/javascript" id="qut-tii-defaults">
/**
* qut-tii-defaults
* @author Christopher Baldwin [https://staff.qut.edu.au/details?id=baldwicc]
* @license Simplified BSD License
* @source [https://gist.github.com/baldwicc/7005606]
*/
Event.observe(document, "dom:loaded", function() {
var conf = {
elements: [ {
name: "submissionType",
type: "select",
elem: $$('select[name="submissionType"]')[0],
value: "file"
}, {
name: "numParts",
type: "select",
elem: $$('select[name="numParts"]')[0],
value: "2"
}, {
name: "gradeOutOf",
type: "input",
elem: $$('input[name="gradeOutOf"]')[0],
value: "44"
}, {
name: "reportSpeed",
type: "select",
elem: $$('select[name="reportSpeed"]')[0],
value: "1"
}, {
name: "excludeBiblio",
type: "select",
elem: $$('select[name="excludeBiblio"]')[0],
value: "0"
}, {
name: "excludeQuoted",
type: "select",
elem: $$('select[name="excludeQuoted"]')[0],
value: "0"
}, {
name: "excludeType",
type: "select",
elem: $$('select[name="excludeType"]')[0],
value: "0"
}, {
name: "excludeValue",
type: "input",
elem: $$('input[name="excludeValue"]')[0],
value: "0"
}, {
name: "studentReportsAllowed",
type: "select",
elem: $$('select[name="studentReportsAllowed"]')[0],
value: "1"
}, {
name: "allowLateSubmissions",
type: "select",
elem: $$('select[name="allowLateSubmissions"]')[0],
value: "0"
}, {
name: "useAnonymous",
type: "select",
elem: $$('select[name="useAnonymous"]')[0],
value: "0"
}, {
name: "paperRepository",
type: "select",
elem: $$('select[name="paperRepository"]')[0],
value: "1"
}, {
name: "checkStoredStudPapers",
type: "select",
elem: $$('select[name="checkStoredStudPapers"]')[0],
value: "1"
}, {
name: "checkInternet",
type: "select",
elem: $$('select[name="checkInternet"]')[0],
value: "1"
}, {
name: "checkJournals",
type: "select",
elem: $$('select[name="checkJournals"]')[0],
value: "1"
}, {
name: "useGrademark",
type: "select",
elem: $$('select[name="useGrademark"]')[0],
value: "1"
}, {
name: "gradeRevealMethod",
type: "select",
elem: $$('select[name="gradeRevealMethod"]')[0],
value: "0"
}, {
name: "ignoreTurnitinGrades",
type: "select",
elem: $$('select[name="ignoreTurnitinGrades"]')[0],
value: "0"
} ]
}, l = function() {
var l, t, a, n;
for (l = 0; l < conf.elements.length; l++) switch (a = conf.elements[l], console.log(a),
a.type) {
case "select":
for (n = a.elem.options || [], t = 0; t < n.length; t++) n[t].value === a.value && (n[t].selected = !0);
break;
case "input":
"string" == typeof a.elem.value && (a.elem.value = a.value);
}
};
l();
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment