summaryrefslogtreecommitdiff
path: root/blocks.js
diff options
context:
space:
mode:
Diffstat (limited to 'blocks.js')
-rw-r--r--blocks.js38
1 files changed, 35 insertions, 3 deletions
diff --git a/blocks.js b/blocks.js
index 2e297ab..9aec7f4 100644
--- a/blocks.js
+++ b/blocks.js
@@ -155,7 +155,7 @@ DialogBoxMorph, BlockInputFragmentMorph, PrototypeHatBlockMorph, Costume*/
// Global stuff ////////////////////////////////////////////////////////
-modules.blocks = '2014-July-30';
+modules.blocks = '2014-August-13';
var SyntaxElementMorph;
@@ -396,10 +396,11 @@ SyntaxElementMorph.prototype.allInputs = function () {
SyntaxElementMorph.prototype.allEmptySlots = function () {
/*
answer empty input slots of all children excluding myself,
- but omit those in nested rings (lambdas)
+ but omit those in nested rings (lambdas) and JS-Function primitives
*/
var empty = [];
- if (!(this instanceof RingMorph)) {
+ if (!(this instanceof RingMorph) &&
+ (this.selector !== 'reportJSFunction')) {
this.children.forEach(function (morph) {
if (morph.isEmptySlot && morph.isEmptySlot()) {
empty.push(morph);
@@ -843,6 +844,37 @@ SyntaxElementMorph.prototype.labelPart = function (spec) {
);
part.setContents(['date']);
break;
+ case '%fileOrDir':
+ part = new InputSlotMorph(
+ null, // text
+ false, // non-numeric
+ {
+ 'file': ['file'],
+ 'directory': ['directory']
+ },
+ true // read-only
+ );
+ part.setContents(['file']);
+ break;
+ case '%locations':
+ part = new InputSlotMorph(
+ null, // text
+ false, // non-numeric
+ {
+ 'all' : ['all'],
+ 'country' : ['country'],
+ 'state' : ['state'],
+ 'state district' : ['state district'],
+ 'suburb' : ['suburb'],
+ 'city' : ['city'],
+ 'road' : ['road'],
+ 'house number' : ['house number'],
+ 'licence': ['licence']
+ },
+ true // read-only
+ );
+ part.setContents(['all']);
+ break;
case '%delim':
part = new InputSlotMorph(
null, // text