Skip to content

Commit

Permalink
updated OOP library for the new slot event hat block
Browse files Browse the repository at this point in the history
  • Loading branch information
jmoenig committed Nov 10, 2024
1 parent 4e3edfb commit 0f6fc49
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
1 change: 1 addition & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
### 2024-11-10
* threads, objects, blocks: removed support for "expand" block (b/c reorganizing the whole feature)
* threads, objects, blocks, byob: merged both ustom block slot event hat blocks into one "when slot ... gets ..."
* updated OOP library for the new slot event hat block

### 2024-11-09
* threads: enhanced "set slot ... to ..." command to also handle variadic inputs, setting them to a list of values
Expand Down
2 changes: 1 addition & 1 deletion libraries/OOP_module.xml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<blocks app="Snap! 10.1-dev, https://snap.berkeley.edu" version="2"><block-definition s="object %&apos;fields&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Objekt _&#xD;</translations><inputs><input type="%group%t%s" irreplaceable="true" expand="$nl&#xD;:" initial="2" min="2">$_field&#xD;$_thing</input></inputs><script><block s="doDeclareVariables"><list><l>data</l></list></block><block s="doSetVar"><l>data</l><block s="reportNewList"><list></list></block></block><block s="doWarp"><script><block s="doForEach"><l>assoc</l><block var="fields"/><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/><block s="reportListItem"><l>2</l><block var="assoc"/></block></block><block s="doTellTo"><block s="reportEnvironment"><l><option>caller</option></l></block><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><block s="reportListItem"><l>1</l><block var="assoc"/></block><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/></block></list></block></script></block></script></block><block s="doReport"><block var="data"/></block></script></block-definition><block-definition s="clone %&apos;parent&apos; %&apos;fields&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:klone _ _&#xD;</translations><inputs><input type="%l" initial="1"></input><input type="%group%upvar%s" irreplaceable="true" expand="$nl&#xD;:">$_field&#xD;$_thing</input></inputs><script><block s="doDeclareVariables"><list><l>data</l></list></block><block s="doSetVar"><l>data</l><custom-block s="object %group%t%s"><list><l>...</l><block var="parent"/></list></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportListIsEmpty"><block var="fields"/></block></block><script><block s="doWarp"><script><block s="doForEach"><l>assoc</l><block var="fields"/><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/><block s="reportListItem"><l>2</l><block var="assoc"/></block></block><block s="doTellTo"><block s="reportEnvironment"><l><option>caller</option></l></block><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><block s="reportListItem"><l>1</l><block var="assoc"/></block><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/></block></list></block></script></block></script></block></script><list></list></block><block s="doReport"><block var="data"/></block></script></block-definition><block-definition s="field %&apos;field&apos; of %&apos;object&apos; %&apos;inputs&apos;" type="reporter" category="lists" space="true"><header></header><code></code><translations>de:Feld _ von _ _&#xD;</translations><inputs><input type="%anyUE" initial="1"><options>§_dynamicMenu</options></input><input type="%l" initial="1"></input><input type="%mult%s" expand="$_with inputs"></input></inputs><script><block s="doDeclareVariables"><list><l>syntax</l><l>value</l></list></block><block s="doSetVar"><l>syntax</l><block s="reportTextSplit"><block var="field"/><l><option>blocks</option></l></block></block><block s="doSetVar"><l>value</l><block s="reportListItem"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="syntax"/></block><block s="reifyReporter"><autolambda><block var=" "/></autolambda><list></list></block></list></block><block s="reportListItem"><l>2</l><block var="syntax"/></block><block s="evaluate"><block var="field"/><list></list></block></block><block var="object"/></block></block><block s="doIf"><block s="reportIsA"><block var="value"/><l><option>script</option></l></block><script><block s="doSetVar"><l>syntax</l><block s="reportListAttribute"><l><option>flatten</option></l><block s="reportTextSplit"><block var="value"/><l><option>blocks</option></l></block></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="syntax"/></block><l><option>command</option></l></block></block><block s="reportListContainsItem"><block var="syntax"/><block s="reifyScript"><script><block s="doReport"><l></l></block></script><list></list></block></block></list></block><script><block s="doReport"><block s="evaluate"><block var="value"/><block var="inputs"/></block></block></script><list></list></block><block s="doRun"><block var="value"/><block var="inputs"/></block><block s="doReport"><l></l></block></script><list></list></block><block s="doReport"><block var="value"/></block></script><scripts><script x="10" y="467.49999999999994"><block s="receiveMenuRequest"><l>field</l></block><block s="doReport"><block s="reportListAttribute"><l><option>sorted</option></l><block s="reportListAttribute"><l><option>uniques</option></l><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>columns</option></l><l/></block></block><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l><option>parent</option></l><l/></block><l><option>list</option></l></block><block s="evaluate"><block s="reportEnvironment"><l><option>script</option></l></block><list><block s="reportListItem"><l><option>parent</option></l><l/></block></list></block><block s="reportNewList"><list></list></block></block></list></block></autolambda><list></list></block><list><block var="object"/></list></block></block></block></block></script><script x="10" y="709.8333333333337"><block s="receiveSlotEdit"><l>field</l></block><block s="doDeclareVariables"><list><l>value</l></list></block><block s="doSetVar"><l>value</l><block s="reportListItem"><block s="evaluate"><block var="field"/><list></list></block><block var="object"/></block></block><block s="doSetSlot"><l>inputs</l><block s="reportReshape"><block var="inputs"/><list><block s="reportIfElse"><block s="reportIsA"><block var="value"/><l><option>script</option></l></block><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><l/></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportTextSplit"><block s="reportListItem"><l>1</l><l/></block><l><option>blocks</option></l></block></block></block></autolambda><list></list></block><list><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><l/></block><l><option>list</option></l></block><block s="reportListItem"><l>1</l><l/></block><l></l></block></autolambda><list></list></block><list><block s="reportTextSplit"><block var="value"/><l><option>blocks</option></l></block></list></block></list></block><l>0</l></block></list></block></block></script></scripts></block-definition><block-definition s="add %&apos;fields&apos; to %&apos;data&apos;" type="command" category="lists"><header></header><code></code><translations>de:füge _ zu _ hinzu&#xD;</translations><inputs><input type="%group%upvar%s" irreplaceable="true" expand="$nl&#xD;:" initial="2" min="2">$_field&#xD;$_thing</input><input type="%l" initial="1"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>assoc</l><block var="fields"/><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/><block s="reportListItem"><l>2</l><block var="assoc"/></block></block><block s="doTellTo"><block s="reportEnvironment"><l><option>caller</option></l></block><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><block s="reportListItem"><l>1</l><block var="assoc"/></block><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/></block></list></block></script></block></script></block></script></block-definition></blocks>
<blocks app="Snap! 10.1-dev, https://snap.berkeley.edu" version="2"><block-definition s="object %&apos;fields&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Objekt _&#xD;</translations><inputs><input type="%group%t%s" irreplaceable="true" expand="$nl&#xD;:" initial="2" min="2">$_field&#xD;$_thing</input></inputs><script><block s="doDeclareVariables"><list><l>data</l></list></block><block s="doSetVar"><l>data</l><block s="reportNewList"><list></list></block></block><block s="doWarp"><script><block s="doForEach"><l>assoc</l><block var="fields"/><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/><block s="reportListItem"><l>2</l><block var="assoc"/></block></block><block s="doTellTo"><block s="reportEnvironment"><l><option>caller</option></l></block><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><block s="reportListItem"><l>1</l><block var="assoc"/></block><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/></block></list></block></script></block></script></block><block s="doReport"><block var="data"/></block></script></block-definition><block-definition s="clone %&apos;parent&apos; %&apos;fields&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:klone _ _&#xD;</translations><inputs><input type="%l" initial="1"></input><input type="%group%upvar%s" irreplaceable="true" expand="$nl&#xD;:">$_field&#xD;$_thing</input></inputs><script><block s="doDeclareVariables"><list><l>data</l></list></block><block s="doSetVar"><l>data</l><custom-block s="object %group%t%s"><list><l>...</l><block var="parent"/></list></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportListIsEmpty"><block var="fields"/></block></block><script><block s="doWarp"><script><block s="doForEach"><l>assoc</l><block var="fields"/><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/><block s="reportListItem"><l>2</l><block var="assoc"/></block></block><block s="doTellTo"><block s="reportEnvironment"><l><option>caller</option></l></block><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><block s="reportListItem"><l>1</l><block var="assoc"/></block><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/></block></list></block></script></block></script></block></script><list></list></block><block s="doReport"><block var="data"/></block></script></block-definition><block-definition s="field %&apos;field&apos; of %&apos;object&apos; %&apos;inputs&apos;" type="reporter" category="lists" space="true"><header></header><code></code><translations>de:Feld _ von _ _&#xD;</translations><inputs><input type="%anyUE" initial="1"><options>§_dynamicMenu</options></input><input type="%l" initial="1"></input><input type="%mult%s" expand="$_with inputs"></input></inputs><script><block s="doDeclareVariables"><list><l>syntax</l><l>value</l></list></block><block s="doSetVar"><l>syntax</l><block s="reportTextSplit"><block var="field"/><l><option>blocks</option></l></block></block><block s="doSetVar"><l>value</l><block s="reportListItem"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="syntax"/></block><block s="reifyReporter"><autolambda><block var=" "/></autolambda><list></list></block></list></block><block s="reportListItem"><l>2</l><block var="syntax"/></block><block s="evaluate"><block var="field"/><list></list></block></block><block var="object"/></block></block><block s="doIf"><block s="reportIsA"><block var="value"/><l><option>script</option></l></block><script><block s="doSetVar"><l>syntax</l><block s="reportListAttribute"><l><option>flatten</option></l><block s="reportTextSplit"><block var="value"/><l><option>blocks</option></l></block></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="syntax"/></block><l><option>command</option></l></block></block><block s="reportListContainsItem"><block var="syntax"/><block s="reifyScript"><script><block s="doReport"><l></l></block></script><list></list></block></block></list></block><script><block s="doReport"><block s="evaluate"><block var="value"/><block var="inputs"/></block></block></script><list></list></block><block s="doRun"><block var="value"/><block var="inputs"/></block><block s="doReport"><l></l></block></script><list></list></block><block s="doReport"><block var="value"/></block></script><scripts><script x="10" y="467.49999999999994"><block s="receiveSlotEvent"><l>field</l><l><option>menu</option></l></block><block s="doReport"><block s="reportListAttribute"><l><option>sorted</option></l><block s="reportListAttribute"><l><option>uniques</option></l><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>columns</option></l><l/></block></block><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l><option>parent</option></l><l/></block><l><option>list</option></l></block><block s="evaluate"><block s="reportEnvironment"><l><option>script</option></l></block><list><block s="reportListItem"><l><option>parent</option></l><l/></block></list></block><block s="reportNewList"><list></list></block></block></list></block></autolambda><list></list></block><list><block var="object"/></list></block></block></block></block></script><script x="10" y="709.8333333333335"><block s="receiveSlotEvent"><l>field</l><l><option>edited</option></l></block><block s="doDeclareVariables"><list><l>value</l></list></block><block s="doSetVar"><l>value</l><block s="reportListItem"><block s="evaluate"><block var="field"/><list></list></block><block var="object"/></block></block><block s="doSetSlot"><l>inputs</l><block s="reportReshape"><block var="inputs"/><list><block s="reportIfElse"><block s="reportIsA"><block var="value"/><l><option>script</option></l></block><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><l/></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportTextSplit"><block s="reportListItem"><l>1</l><l/></block><l><option>blocks</option></l></block></block></block></autolambda><list></list></block><list><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><l/></block><l><option>list</option></l></block><block s="reportListItem"><l>1</l><l/></block><l></l></block></autolambda><list></list></block><list><block s="reportTextSplit"><block var="value"/><l><option>blocks</option></l></block></list></block></list></block><l>0</l></block></list></block></block></script></scripts></block-definition><block-definition s="add %&apos;fields&apos; to %&apos;data&apos;" type="command" category="lists"><header></header><code></code><translations>de:füge _ zu _ hinzu&#xD;</translations><inputs><input type="%group%upvar%s" irreplaceable="true" expand="$nl&#xD;:" initial="2" min="2">$_field&#xD;$_thing</input><input type="%l" initial="1"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>assoc</l><block var="fields"/><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/><block s="reportListItem"><l>2</l><block var="assoc"/></block></block><block s="doTellTo"><block s="reportEnvironment"><l><option>caller</option></l></block><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><block s="reportListItem"><l>1</l><block var="assoc"/></block><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="assoc"/></block><block var="data"/></block></list></block></script></block></script></block></script></block-definition></blocks>

0 comments on commit 0f6fc49

Please sign in to comment.