diff options
| author | Jens Mönig <jens@moenig.org> | 2014-02-11 17:55:19 +0100 |
|---|---|---|
| committer | Jens Mönig <jens@moenig.org> | 2014-02-11 17:55:19 +0100 |
| commit | 3e7891b5a637196130393d51ba6ff2747926995f (patch) | |
| tree | 3504d46dffac1104e1fcdac9ab2033167454f6b2 /threads.js | |
| parent | 0e0146a0d805389fed1064a5a94db43b1f0e4d3b (diff) | |
| parent | 407dbda43fb3e5e5e1af94417c585dd9004d2e6a (diff) | |
| download | snap-3e7891b5a637196130393d51ba6ff2747926995f.tar.gz snap-3e7891b5a637196130393d51ba6ff2747926995f.zip | |
Merge pull request #288 from cycomachead/dateblock
Create a "Date" Block for Snap
Diffstat (limited to 'threads.js')
| -rw-r--r-- | threads.js | 33 |
1 files changed, 31 insertions, 2 deletions
@@ -83,7 +83,7 @@ ArgLabelMorph, localize, XML_Element, hex_sha512*/ // Global stuff //////////////////////////////////////////////////////// -modules.threads = '2014-Feb-03'; +modules.threads = '2014-Feb-10'; var ThreadManager; var Process; @@ -111,7 +111,7 @@ function snapEquals(a, b) { y = b; } - // handle text comparision text-insensitive. + // handle text comparision case-insensitive. if (isString(x) && isString(y)) { return x.toLowerCase() === y.toLowerCase(); } @@ -2536,6 +2536,35 @@ Process.prototype.reportTimer = function () { return 0; }; +// Process Dates and times in Snap +// Map block options to built-in functions +var dateMap = { + 'year' : 'getFullYear', + 'month' : 'getMonth', + 'date': 'getDate', + 'day of week' : 'getDay', + 'hour' : 'getHours', + 'minute' : 'getMinutes', + 'second' : 'getSeconds', + 'time in milliseconds' : 'getTime' +}; + +Process.prototype.reportDate = function (datefn) { + var inputFn = this.inputOption(datefn), + currDate = new Date(), + func = dateMap[inputFn], + result = currDate[func](); + + if (!dateMap[inputFn]) { return ''; } + + // Show months as 1-12 and days as 1-7 + if (inputFn === 'month' || inputFn === 'day of week') { + result += 1; + } + + return result; +}; + // Process code mapping /* |
