Skip to content

Commit

Permalink
Merge pull request #62 from cosminpopescu14/feature/bockly-new-datetime
Browse files Browse the repository at this point in the history
Feature/bockly new datetime
  • Loading branch information
ignatandrei committed May 4, 2020
2 parents 2236df9 + 0f90ec2 commit c582296
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 7 deletions.
26 changes: 19 additions & 7 deletions src/NetCore2Blockly/TestBlocklyHtml/wwwroot/blockly.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,18 @@
<script src="/blockly/javascript_compressed.js"></script>
<script src="/blockly/en.js"></script>
<script src="/blockly/wait_block.js"></script>
<script src="/blockly/ifxhr.js"></script>
<script src="/blockly/blocklyControls.js"></script>
<script src="/others/jszip.min.js"></script>
<script src="/others/FileSaver.min.js"></script>
<script src="/blockly/BlocklyXHRWrapper.js"></script>
<script src="/blockly/convertCSV.js"></script>
<script src="/blockly/exportFile.js"></script>
<script src="blockly/ifxhr.js"></script>
<script src="blockly/blocklyControls.js"></script>
<script src="others/jszip.min.js"></script>
<script src="others/FileSaver.min.js"></script>
<script src="blockly/BlocklyXHRWrapper.js"></script>
<script src="blockly/convertCSV.js"></script>
<script src="blockly/exportFile.js"></script>
<script src="../../blockly/DateTime/DateTime.js"></script>
<script src="../../blockly/DateTime/CurrentDateBlock.js"></script>
<script src="/blockly/blocklyXHR.js"></script>
<script src="/blocklyStorage"></script>

<!--doNotCopyToFinal-->
<script src="doNotCopy/testing.js"></script>
<script src="doNotCopy/JRTemplating.js"></script>
Expand Down Expand Up @@ -522,6 +525,7 @@ <h1>
</value>
</block>
</category>

<category id="catHelpers" colour="160" name="Helpers">
<block type="wait_seconds"></block>
<block type="text_print">
Expand Down Expand Up @@ -1024,6 +1028,14 @@ <h1>
interpreter.setProperty(globalObject, 'exportToFile',
interpreter.createNativeFunction(wrapper));

var wrapper = item => convertToDate(item);
interpreter.setProperty(globalObject, 'convertToDate',
interpreter.createNativeFunction(wrapper));

var wrapper = () => displayCurrentDate();
interpreter.setProperty(globalObject, 'displayCurrentDate',
interpreter.createNativeFunction(wrapper));

var wrapper = (href, callback) => doGet(href, callback);
interpreter.setProperty(globalObject, 'getXhr',
interpreter.createAsyncFunction(wrapper));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Blockly.Blocks['displayCurrentDate'] = {
init: function () {
//this.appendField('Date representation of');
this.setOutput(true, null);
this.setColour(100);
this.setTooltip('Show current date.');
this.setHelpUrl('https://www.w3schools.com/jsref/jsref_obj_date.asp');

}
}

Blockly.JavaScript['displayCurrentDate'] = () => {
// let data = Blockly.JavaScript.valueToCode(block, 'VALUE', Blockly.JavaScript.ORDER_ATOMIC);
let code = 'displayCurrentDate();'
//return code;
return [code, Blockly.JavaScript.ORDER_NONE];
}

//https://www.toptal.com/software/definitive-guide-to-datetime-manipulation
let displayCurrentDate = () => {

//undefined - get the date format form user browser.
let today = new Date().toLocaleDateString(undefined, {
day: 'numeric',
month: 'numeric',
year: 'numeric',
hour: '2-digit',
minute: '2-digit'
});

console.log(today);
return today
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Blockly.Blocks['fromUnixTimeToDate'] = {
init: function() {
this.appendValueInput('VALUE')
.setCheck('Number')
.appendField('Date representation of');
this.setOutput(true, null);
this.setColour(160);
this.setTooltip('Convert to unix timestamp into a date.');
this.setHelpUrl('https://www.w3schools.com/jsref/jsref_obj_date.asp');

}
}

Blockly.JavaScript['fromUnixTimeToDate'] = block => {
let data = Blockly.JavaScript.valueToCode(block, 'VALUE', Blockly.JavaScript.ORDER_ATOMIC);
let code = 'convertToDate(' + data + ')';
//return code;
return [code, Blockly.JavaScript.ORDER_NONE];
}

const convertToDate = data => {
console.log("in convertToDate ");
let dateConverted = new Date(data * 1000).toLocaleDateString();
console.log(dateConverted);
return dateConverted;
}

0 comments on commit c582296

Please sign in to comment.