Coder Social home page Coder Social logo

blockly's Introduction

blockly's People

Contributors

cpirich avatar mark-friedman avatar neilfraser avatar pbogle avatar qneutron avatar

Watchers

 avatar

blockly's Issues

[count with] block produces wrong result in python language

What steps will reproduce the problem?
1. open blockly code demo app at 
http://blockly-demo.appspot.com/blockly/demos/code/index.html
2. create block 'count with' block with x from 1 to 10
3. choose javascript tab and check "for" sentence is "for (x = 1; x <= 10; x++)"
4. choose python tab and check "for" sntence, and you will find "for x in 
range(1, 10):"

What is the expected output? What do you see instead?
expected "for x in range(1, 10):"

What version of the product are you using? On what operating system?
latest on chrome browser

Please provide any additional information below.
it's critical bug :)

Original issue reported on code.google.com by [email protected] on 1 Jun 2012 at 3:05

No function parameters?

Unless I'm missing it, it doesn't appear that there is a way to call procedures 
yet, or give them parameters ;)

Original issue reported on code.google.com by [email protected] on 1 Jun 2012 at 5:15

Touch events on mobile Safari on iPad (likely also on Android tablets)

First off, great work! I'm enjoying this a lot.

I noticed that dragging blocks didn't work on the iPad. Wiring up some touch 
events seems to fix it, more or less (there's some flakiness when the blocks 
get near the bottom of the screen which *may* be related to scrolling, but I 
haven't confirmed that).

In the init function in index.html:
            // Touch event handler for Google Blockly.
            // Tony Hursh. Based loosely on some code at: http://vetruvet.blogspot.com/2010/12/converting-single-touch-events-to-mouse.html
            // Same license as Blockly itself.

            Blockly.TouchEvents = {};
            Blockly.TouchEvents.touchMapper = {
                "touchstart" : "mousedown",
                "touchmove" : "mousemove",
                "touchend" : "mouseup"
            };

            Blockly.TouchEvents.touchHandler = function(event) {
                if (event.touches.length > 1){
                    return; // Punt on multitouch events.
                }
                var touchPoint = event.changedTouches[0];
                var mappedEvent = Blockly.TouchEvents.touchMapper[event.type];
                if(mappedEvent == null){ // We don't handle this event type (whatever it is). Punt.
                return;
            }
            var simulatedEvent = document.createEvent("MouseEvent");
            simulatedEvent.initMouseEvent(mappedEvent, true, true,  window, 1, touchPoint.screenX, touchPoint.screenY, 
                touchPoint.clientX, touchPoint.clientY, false, false, false, false, 0, null);
                touchPoint.target.dispatchEvent(simulatedEvent);
                event.preventDefault();
            };

            Blockly.svgDoc.ontouchstart = Blockly.TouchEvents.touchHandler;
            Blockly.svgDoc.ontouchmove = Blockly.TouchEvents.touchHandler;
            Blockly.svgDoc.ontouchend = Blockly.TouchEvents.touchHandler;



Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 3:45

Equip List with Stack's ability.

Trying to implement some algorithm in Blockly, I found out that the list has no 
ability of stack.

For my quick hack. I use mathematics + symbol for joining lists and render it 
in Python, but this doesn't work when render in JavaScript (I haven't try Dart 
yet).

This happen because JS convert lists into string then concat it. So the output 
from list + list is string.

My other approach for JS is to creating a counter, store length of the list to 
it, increasing it by 1, and setting new item at that counter. Of cause, this 
doesn't work in Python.

Popping item out of the list also difficult too. I have to create empty temp 
list then looping for every item except the last one (Python). Or decreasing 
the counter by 1, so the last item I should get will not be the last item 
stored (JS).

Original issue reported on code.google.com by neizod on 15 Jun 2012 at 11:10

Creating a variable named "length" breaks the XML tab

What steps will reproduce the problem?
1. Create a variable, rename it "length" (without quotes)
2. Click on the XML tab.
3. Click on the Blocks tab. 

What is the expected output? What do you see instead?
I expect to return to the blocks tab, however it will no longer select.

What version of the product are you using? On what operating system?
OSX 10.7.4 - Chrome Version 19.0.1084.53

Original issue reported on code.google.com by [email protected] on 15 Jun 2012 at 7:45

Editing of text and procedure blocks not exhibiting normal cursor behavior

Clicking on the text box in a text or procedure block and then attempting to 
place the cursor by clicking anywhere in the highlighted text does not work.  
Instead, the block of text un-highlights and key based editing is disabled 
until some text is highlighted.

The use case is trying to add more text at the begging or end, or replace just 
a section text.  The only way keyboard input is accepted is when one or more 
characters is highlighted.

I am using chrome browser on Win7-64.

Original issue reported on code.google.com by [email protected] on 16 Jun 2012 at 3:27

  • Merged into: #10

user reqeust: demo sandbox for solving/creating math problems

http://youtu.be/2g_BOmm2_wU

I would really like to see a demo on blockly to create / solve math problems. 
Most schools drill drill drill on math (which works) but the teachers rarely 
connect math to logic and even less so math to coding logic and algorithms. 
Blockly can fix the lack of tools issue.

Please consider making a demo for math problems... a couple of good reasons:
a)it will get more teachers to start using blockly in the classroom 
b) it will solidify the connection between math / logic/ coding 

further resources: khan academy 
and
codecademy 
example: 
http://www.codecademy.com/courses/functions-in-javascript-2-0/4#!/exercises/2

var power = function (base, exponent) {
  var result = 1;
  for (var i = 0; i < exponent; i++) {
    result = result * base;
  }
  return result;
};

power(prompt("Enter base"), prompt("Enter exponent"))

thank you
Dennis

Original issue reported on code.google.com by [email protected] on 9 Jun 2012 at 10:16

Focus is lost in text inputs in WebKit

What steps will reproduce the problem?
1. Load RTL demo.
2. Click on 'Game Over' text.
3. Click again.

What is the expected output? What do you see instead?
Expected, cursor should be a click position.
Actual, no cursor seen.

Please use labels and text to provide additional information.
WebKit only.

Original issue reported on code.google.com by [email protected] on 4 Jun 2012 at 10:51

Change "Discard" button to "New" button

request from salmodan in Issue 7

Hi,

I recommend that following changes:

Change "Clean" button to "New" and add "Do you want to save changes?"

"New" is a more standard english name for the function.

A warning dialog should be provided is any work is not saved that shows the 
following:

Do you want to save changes? 
Save Discard Cancel

Original issue reported on code.google.com by gasolin on 16 Jun 2012 at 7:36

Renaming index variable in for-each and count loops can break nested loops

To reproduce:
1/ Create a count loop block. Note default index variable is 'x'.
2/ Create another count loop block or for-each loop block as the action within 
the first block. Note default index variable is 'x' for the new block.
3/ Rename the index variable for the inner loop using the rename variable 
context menu to 'y'.
4/ The index variable for the inner AND outer loops as been renamed to 'y'.

This makes creating nested loops difficult. The simplest solution may be to 
ensure that when adding a count or for-each loop block the default index 
variable is unique to start with.

At present the only way to create nested loops is to drag on one loop block at 
a time and rename the variable straight away before dragging on any other loop 
blocks. Not end of the world but easy to forget.

This was seen using the source corresponding to svn revision 218.

Thanks

Gary

Original issue reported on code.google.com by [email protected] on 7 Jun 2012 at 9:46

to add more playable theme: maze with different start location

Branch name:

maze with different start location

Purpose of code changes on this branch:

I'd like to bring mnagaku's patch from 
http://fgj12.ecloud.nii.ac.jp/google-blockly/demos/maze/ 
(discussed in 
https://groups.google.com/forum/?fromgroups#!topic/blockly/JqTXpiqT66I)
To add extra start locations for maze game, which add more fun to write and 
test script if it works in more cases. 

The working demo (en) is at
http://www.gasolin.idv.tw/public/blockly/demos/maze/index.html

Original issue reported on code.google.com by gasolin on 19 Jun 2012 at 7:01

Add text read (prompt/input) block

Need user input for interactive programing.

I implement javascript & python version of prompt(input) block.

demo: http://www.gasolin.idv.tw/public/blockly/demos/code/index.html

in language/en/text.js

Blockly.Language.text_prompt = {
  // Prompt statement.
  category: 'Text',
  helpUrl: 'http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode92.html',
  init: function() {
    this.setColour(160);
    this.addTitle('prompt');
    this.appendInput('', Blockly.INPUT_VALUE, 'TEXT');
    this.setOutput(true);
    this.setTooltip('Prompt for user input with the specified text.');
  }
};

in generator/python/text.js

Blockly.Python.text_prompt = function() {
  // prompt a user input dialog.
  var argument0 = Blockly.JavaScript.valueToCode(this, 'TEXT', true) || '\'\'';
  return 'raw_input(' + argument0 + ');\n';
};

in generator/javascript/text.js

Blockly.JavaScript.text_prompt = function() {
  // prompt a user input dialog.
  var argument0 = Blockly.JavaScript.valueToCode(this, 'TEXT', true) || '\'\'';
  return 'prompt(' + argument0 + ');\n';
};

in dart..

no idea, may be 
http://stackoverflow.com/questions/10257744/is-it-possible-to-read-from-console-
in-dart

Original issue reported on code.google.com by gasolin on 10 Jun 2012 at 5:47

Fails in chromium when accessed via file://

What steps will reproduce the problem?
1. Check out the code
2. Fire up chromium
3. Navigate to the maze demo via file://

You get a popup with the text:

    Error: Unable to communicate between frames.

    This may be due to a security restriction preventing
    access when using the file:// protocol.

I think this is probably yet another instance of

http://code.google.com/p/chromium/issues/detail?id=47416

but with a dash of irony to spice it up.

Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 12:52

Python and JavaScript output is different and order of function declaration in python

I clicked the following simple program
<xml>
  <block type="variables_set" inline="false" x="134" y="56">
    <title i="1">item</title>
    <value i="0">
      <block type="math_number">
        <title i="0">0</title>
      </block>
    </value>
    <next>
      <block type="procedures_callnoreturn">
        <mutation name="procedure"></mutation>
        <next>
          <block type="text_print" inline="false">
            <value i="0">
              <block type="variables_get">
                <title i="1">item</title>
              </block>
            </value>
          </block>
        </next>
      </block>
    </next>
  </block>
  <block type="procedures_defnoreturn" x="348" y="69">
    <title i="0">procedure</title>
    <statement i="0">
      <block type="variables_set" inline="false">
        <title i="1">item</title>
        <value i="0">
          <block type="math_number">
            <title i="0">1</title>
          </block>
        </value>
      </block>
    </statement>
  </block>
</xml>
When running the JavaScript code the output is 1
When running the Python code the output is 0
Before running the Python code you have to move the function definition to the 
top of the program or you will get an error.

Either at global item in the python or var item in JavaScript inside the 
function definition would correct the Problem.
Or better let the user choose to have global or local variable.

Original issue reported on code.google.com by [email protected] on 5 Jun 2012 at 8:29

Use local storage to save and restore current work when user leave or refresh current page

What steps will reproduce the problem?
1. user close, refresh, or press back on browser
2. user lose their current work

What is the expected output? What do you see instead?

Use local storage to save and restore current work when user leave or refresh 
current page


/**
* backup code blocks
*/
function backup_blocks() {
  if(typeof(Storage)!=="undefined")
  {
    var xml = Blockly.Xml.workspaceToDom( Blockly.mainWorkspace );
    localStorage.setItem('data',Blockly.Xml.domToText( xml ));
    console.log("backuped");
  } else {
    // Sorry! No web storage support..
  }
}

/**
* restore code blocks
*/
function restore_blocks() {
  if(typeof(Storage)!=="undefined"){
    if(localStorage.data!=null){
      var xml = Blockly.Xml.textToDom(localStorage.data);
      Blockly.Xml.domToWorkspace( Blockly.mainWorkspace, xml );
      console.log("restored");
    }
  } else {
    // Sorry! No web storage support..
  }
}

then we can put restore_blocks() in init() method,

and backup_blocks() in unload event

$(window).unload(backup_blocks); (a jquery statement)

To make event handling simpler, I'd like to include jquery to simplifier the 
works. 
Is there any concern not to do it?

Original issue reported on code.google.com by gasolin on 15 Jun 2012 at 2:12

i18n 'Procedures' and 'Variables' category in block list

What steps will reproduce the problem?

To localize Blocks list. once to translate 'Procedures' and 'Variables' in 
category, I encounter:

  category: null,  // Procedures are handled specially.


What is the expected output? What do you see instead?

Able to localize Blocks category of  'Procedures' and 'Variables' 

Original issue reported on code.google.com by gasolin on 4 Jun 2012 at 11:21

Save and load missing on demos

What steps will reproduce the problem?
1. Solve the maze https://blockly-demo.appspot.com/blockly/demos/maze/index.html
2. Try to save
3. Try to load

I created a Chrome extension that enables saving and loading on all the blockly 
demos. It'd be nice if the examples on appspot supported save/load without an 
extension.

https://github.com/bootstraponline/save_load_blockly_demos

Original issue reported on code.google.com by [email protected] on 2 Jun 2012 at 8:31

Insert required blocks

If Blockly designed for newbies to programming, you should pay attention to 
this point: when I use the repeat unit (for example), it required to insert a 
block of Logic (boolean), but may by I do not know about it and the program 
will not to work.

When choosing a block can immediately insert required Blocks (Logic for Repeat 
block), saving the user time and without confusing it later when the program 
will not work.

Original issue reported on code.google.com by [email protected] on 8 Jun 2012 at 9:45

Not working in IE9

Hi,
This doensnt work in IE9,which is the browser used most in educational 
Enviroments, This would be Great if it could
Thanks
John

Original issue reported on code.google.com by [email protected] on 13 Jun 2012 at 10:57

context menus for insertion

Selecting from the block category menu, possibly scrolling, and dragging a 
block to insert each block is unacceptably slow and even more unacceptably 
tedious. I understand it is standard from Scratch and its descendants, but 
there is such a better way.

Clicking in a region where an empty block can be placed should bring up a 
context sensitive menu of the blocks which can be inserted in that region. If 
there are too many of them for a particular context, then a cascading set of 
menus should be displayed.  In regions where single left-clicking might already 
be defined, right-clicking or double-clicking could be used for such context 
menus to insert new blocks.

This would eliminate more than 75% of unnecessary difficult mouse operations 
spanning a large proportion of the window width, and very substantially improve 
user experience.

Original issue reported on code.google.com by [email protected] on 16 Jun 2012 at 8:03

some issues

blockly publish a aplication in appspot that can be used to program directly on 
the site as a medium blockly.appspot.com develop, in the same place in the 
Export button, js, etc.
that used to blockly's help you can simply create an application for appspot, 
that is, to teach blockly work with google code appspot, that could be used to 
create their own applications

Original issue reported on code.google.com by [email protected] on 5 Jun 2012 at 7:39

Better Tablet Devices support

What steps will reproduce the problem?

After r270 there's touch device support.

Here are the test results on Android browsers:

* Chrome android (can't use scrollbar to select block, blocks do not connect)
* Mozilla aurora (can't use scrollbar to select block, blocks do not connect), 
* android 4.0 build-in browser (weird after select from menu)


What is the expected output? What do you see instead?

Work flawlessly on Tablet (Android >4.x or iPad)

Original issue reported on code.google.com by gasolin on 22 Jun 2012 at 7:14

Maze demo has no way of testing for end state

What steps will reproduce the problem?
1. Look at the available blocks
2. Think about how you would test whether you've reached the end of the maze.
3. Give it up as a bad job.

What is the expected output? What do you see instead?

I expected a block like, "At end point"

What version of the product are you using? On what operating system?

Chrome on OS/X.

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 1 Jun 2012 at 12:40

google-blockly user question: how to name parameter(s) in a function?

How to name parameter(s) in a function?  

I was able to rename the function but not able to add parameter to the 
function. Is it possible, if yes, then it is not working. If no, please 
consider adding this functionality.

Please provide any additional information below.
linux mint 12/ G. Chrome 19.

http://youtu.be/nCY-bKbxLmg

Original issue reported on code.google.com by [email protected] on 13 Jun 2012 at 2:41

Encoding non-ASCII variables for generator

What steps will reproduce the problem?
1. use some non-ASCII word as variable
2. the generated code shows '__' instead of the non-ASCII word

approach:

We can use 'encodeURI' to escape non-ASCII variables to ASCII code

== get ==

from 

variableDB_.getName(this.getTitleText(1)

to 

variableDB_.getName(encodeURI(this.getTitleText(1))

== set ==

from 

variableDB_.getName(this.getTitleText(1)

to 

variableDB_.getName(encodeURI(this.getTitleText(1))

Original issue reported on code.google.com by gasolin on 9 Jun 2012 at 6:38

Testing mail settings.

What steps will reproduce the problem?
1.
2.
3.

What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?


Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 9 Jun 2012 at 9:21

Generated Python code scopes variables incorrectly

Since (if I'm not mistaken) all Blockly variables are global, the generated 
Python code incorrectly scopes variables locally if they are assigned.

What steps will reproduce the problem?
Build the following Blockly program:

  procedure setx
    set x "Hello"

  procedure printx
    print (get x)

  call setx
  call getx

Running this program displays "Hello".

What is the expected output? What do you see instead?
This generates the following Python program:

  x = None

  def setx():
    x = 'Hello'

  def printx():
    print x

  setx()
  printx()

Running this code prints "None". That is because in setx, x is a local variable 
because it is assigned. (Note that in printx, x is correctly treated as a 
global variable because it is not assigned.)

The Python code generator needs to add the 'global' statement for any variable 
assigned in a procedure. For example:

  def setx():
    global x
    x = 'hello'

What version of the product are you using? On what operating system?
SVN r228. Mozilla Firefox 13.

Original issue reported on code.google.com by [email protected] on 10 Jun 2012 at 4:03

Upper and lower case

What steps will reproduce the problem?
1. set item "Hello, world!"
2. set item to UPPER CASE get item
3. print get item

What is the expected output? What do you see instead?
expected: HELLO, WORLD! but saw only blank window.

What version of the product are you using? On what operating system?
Code on r231-read-only (from svn). Ubuntu x86, Chrome 19.0.1084.56 

Please provide any additional information below.
lower case isn't work too. but _no_ problem with Title Case, it works well and 
prints Hello, World!

sorry for my english.
good luck, guys. it's really nice project.

Original issue reported on code.google.com by [email protected] on 11 Jun 2012 at 7:24

how to run the demos?

What steps will reproduce the problem?
1.open chrome
2.try to run any example
3.nothing works

What is the command line to open chrome to get these examples working?

I am trying:
chromium-browser --allow-file-access --allow-file-access-from-files 
google-blockly-read-only/demos/index.html

When i click on run program nothing happens, and i see this error in the 
javascript console:

Uncaught ReferenceError: Audio is not defined
index.html:65Uncaught ReferenceError: Blockly is not defined
index.html:54Uncaught ReferenceError: Blockly is not defined
Resource interpreted as Image but transferred with MIME type 
image/x-win-bitmap: 
"file:///home/brett/google-blockly-read-only/media/handopen.cur".
Resource interpreted as Image but transferred with MIME type 
image/x-win-bitmap: 
"file:///home/brett/google-blockly-read-only/media/handclosed.cur".
index.html:65Uncaught ReferenceError: Blockly is not defined
index.html:54Uncaught ReferenceError: Blockly is not defined

Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 1:50

Need copy, undo and redo support

This could be great and would be very usable if it had save / load, copy / 
paste item and selected block (ctrl-c,  ctrl-x, ctrl-v),  undo / redo(ctrl-z, 
ctrl-y).

Maybe this is in the plan already, but priority for these items should be above 
adding further programming abilities.

Please provide any additional information below

Adding jsfiddle like forking and github integration would put it over the top.

Original issue reported on code.google.com by [email protected] on 11 Jun 2012 at 3:39

Opera not supported

Opera 10 was originally fully supported.
Opera 11 became unresponsive after a context menu was shown.
Opera 12 crashes on load.

Each version of Opera seems to be worse than the previous one.  Google is 
committed to supporting Opera, however at this point the next move is clearly 
in Opera's hands.  The current crasher bug is DSK-366610 within Opera's bug DB. 
 Once they resolve this and Opera 12 stops crashing, then we'll take another 
look.

Original issue reported on code.google.com by [email protected] on 15 Jun 2012 at 11:17

Open Blocks menu on mouse hover

May be showing menu on mouse hover will be more attractive than clicking on it?
With this fix will be saved user clicks and time.

Original issue reported on code.google.com by [email protected] on 10 Jun 2012 at 10:00

UX issue with adding a procedure

What steps will reproduce the problem?
1. Click on "Procedures"
2. Notice there is not "Call" block
3. Spend time looking through every other block menu item until giving up and 
going back to "Procedures" and find that a new "Call Procedure" item has been 
magically added.

What is the expected behavior?
Users will expect "Call Procedure" and "Call Prodecure2" to be available 
always.  If there is concern about users not knowing they need to be used 
together, then have them both drag onto the page when one of them is dragged.  
Similar to how they both get deleted if one of them is dragged to the trash.

What version of the product are you using? On what operating system?
Can not tell what version it is.  Using chrome on Win7-64

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 16 Jun 2012 at 3:06

string concatenation does not work

What steps will reproduce the problem?
1. try to add two strings together
2.
3.

What is the expected output? What do you see instead?
concat strings / blocks don't glue

What version of the product are you using? On what operating system?
online

Please provide any additional information below.
http://youtu.be/hpQIabAppAA

Original issue reported on code.google.com by [email protected] on 18 Jun 2012 at 9:30

Creating a list of lists doesn't work.

What steps will reproduce the problem?
1. Place a create list with on a create list with.

What is the expected output? What do you see instead?

It works fine for the first list added, but any other lists break it.

Expected:
item = [[0, 0], [0, 0]];

Actual:
item = [[0, 0], ];

What browser are you using?

Chrome and Firefox

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 28 Jun 2012 at 7:58

maze demo: blockly character is not on maze/ goal is not on maze/ no coding tools for maze

What steps will reproduce the problem?
1.download rev 226
2.run index.html in google-chrome
3.

What is the expected output? What do you see instead?
Please see video
http://youtu.be/IG28hl_HeG4

What version of the product are you using? On what operating system?
r. 226
linux mint 12

Please provide any additional information below.
please see video
http://youtu.be/IG28hl_HeG4

Original issue reported on code.google.com by [email protected] on 9 Jun 2012 at 8:40

Please move blockly_compressed.js out of source directory

Request that you move blockly_compressed.js out of the source directory, as it 
makes grepping through the code very difficult. I'd suggest either putting it 
in the demo directory, or in a separate "compressed" directory.

Thanks.

Original issue reported on code.google.com by [email protected] on 2 Jun 2012 at 3:04

Lack of type conversion

What steps will reproduce the problem?
1. try to make a 'guess number' sample with issue 24 read/input block

the sample is :


number = 23
guess = int(raw_input('Enter an integer : '))
if guess == number:
    print 'Congratulations, you guessed it.' # New block starts here
    print '(but you do not win any prizes!)' # New block ends here
elif guess < number:
    print 'No, it is higher than that.' # Another block
    # You can do whatever you want in a block ...
else:
    print 'No, it is lower than that.'
    # you must have guess > number to reach this block
print 'Done'


What is the expected output? What do you see instead?

It works fine in javascript, but not for python output, since the generated 
python code lack of 'int' to do the type conversion.

one way is to provide additional TYPE info while get user input, thus we'll 
have one block.
another way is to provide a set of type conversion blocks, which might be break 
the 'no need to learn formats' rule.

Original issue reported on code.google.com by gasolin on 12 Jun 2012 at 12:21

  • Merged into: #24

Add utf-8 meta tag in demos to fix showing i18n issue

What steps will reproduce the problem?
1. change to other language (ex: en to zh_tw)
2. the word shows mess fonts

To solve this problem, just add a line after <head> tag in 
* demos/code/frame.html
* demos/maze/frame.html
* demos/rtl/index.html

{{{
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
}}}

Original issue reported on code.google.com by gasolin on 4 Jun 2012 at 10:59

No way to delete a variable

Once a variable is created, there is currently no way to delete it.

- Need function in Blockly.Variables for programmatic interaction

- Need means of deleting a variable from the gui, possibly via an additional 
item in Blockly.Variables.dropdownCreate().

This requires some thought, though. Should deleting a variable that is used 
elsewhere cause it to disappear globally? Should the deletion be ignored until 
all uses are removed?


Original issue reported on code.google.com by [email protected] on 10 May 2012 at 5:23

Separate language resources

from group discussion 
https://groups.google.com/forum/?fromgroups#!topic/blockly/xwhG5dBZFbE

It need some balance since Blockly needs to declare the block piece by piece 
(not only just about the text, but where to put input fields and dropdown 
menu), and not all languages are ordered as english syntax. 

For example, I need to change some string and input column order of the 
original Blockly block, to reflect more comfortable Traditional Chinese syntax.

Not sure if JS support the override feature that we can extract strings from 
basic english version, and allow to override functions that needs the syntax 
customization. Then we will have an easier multi-language friendly structure.


TODO:

Extract Block Strings to _messages.js for easier i18n

1. Rename language/en to language/common,
2. Extract strings from language/en to _messages.js

The string format is 'Blockly.LANG_CONTROLS_' + block id, ex:

// Control Blocks
Blockly.LANG_CONTROLS_IF_HELPURL = 
'http://code.google.com/p/blockly/wiki/If_Then';
Blockly.LANG_CONTROLS_IF_TOOLTIP_1 = 'If a value is true, then do some 
statements.';
Blockly.LANG_CONTROLS_IF_TOOLTIP_2 = 'If a value is true, then do the first 
block of statements.\n' +
               'Otherwise, do the second block of statements.';
Blockly.LANG_CONTROLS_IF_TOOLTIP_3 = 'If the first value is true, then do the 
first block of statements.\n' +
               'Otherwise, if the second value is true, do the second block of statements.';
Blockly.LANG_CONTROLS_IF_TOOLTIP_4 = 'If the first value is true, then do the 
first block of statements.\n' +
               'Otherwise, if the second value is true, do the second block of statements.\n' +
               'If none of the values are true, do the last block of statements.';


Original issue reported on code.google.com by gasolin on 22 Jun 2012 at 1:55

Run in code demo

Is there a way to run code, built in "code demo", and view result of program 
execution?

Original issue reported on code.google.com by [email protected] on 5 Jun 2012 at 6:40

Title case for non-english

What steps will reproduce the problem?
algorithm: 
1. set item <- promt for text with message "some text"
2. set item <- to Title Case <- get item
3. print <- get item

runtime - input some text in russian, i.e. "текст для теста"


What is the expected output? What do you see instead?
expected - "Текст Для Теста". result - "текст для 
теста"

What browser are you using?
Chrome 20.0.1132.34 beta-m.

Please provide any additional information below.
Upper case and lower case works. Problem only with Title Case.
I understand, that non-english support is not a priority. Just want to notice 
of such a problem. Hello from Issue28 maker :D
p.s. sorry for my english.

Original issue reported on code.google.com by [email protected] on 20 Jun 2012 at 4:10

Attachments:

please put current rev of online v. of blockly in UI

What steps will reproduce the problem?
1.I go to http://blockly-demo.appspot.com/blockly/demos/code/index.html
2.and I see in changes : Prompt block now has types (issue 29).

but there is no prompt block in 
http://blockly-demo.appspot.com/blockly/demos/code/index.html

Please put rev # on 
ttp://blockly-demo.appspot.com/blockly/demos/code/index.html

so users know what they are playing with.

thank you!
Dennis

Original issue reported on code.google.com by [email protected] on 19 Jun 2012 at 10:29

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.