Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to pass smartblock cmd to REPEAT to iterate over #104

Merged
merged 12 commits into from
Nov 13, 2023

Conversation

mdroidian
Copy link
Collaborator

@mdroidian mdroidian commented Oct 25, 2023

Exposes these variables during the loop

  • smartBlocksContext.variables["ITERATION"] = (i + 1).toString();
  • smartBlocksContext.variables["ITERATIONVALUE"] = values[i] || "";

iteration value comes from last argument in <%REPEAT%>
<%REPEAT:<%CHILDREN:((someUid))%>,<%SMARTBLOCK:runMe%>

Comment on lines +986 to +1004
If the first argument is another command (eg `<%CHILDREN%>`), then `Count of repeats` will be set to the number of results from that command.

This also passes SmartBlock variables:

- `ITERATION`: returns the current loop (eg: `1`, `2`, etc).
- `ITERATIONVALUE`: returns the item being iterated over from the first argument.

**Parameters**:

1. Count of repeats
1. Count of repeats (or a SmartBlock command that returns items to iterate over)
2. Content to repeat

**Example**:

- `<%REPEAT:5,hello%>`
- `<%REPEAT:<%CHILDREN:((someUid))%>,<%SMARTBLOCK:runMe%>%>`
- runMe #SmartBlock
- `<%GET:ITERATION%>`
- `<%GET:ITERATIONVALUE%>`
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these are the relevant doc changes, the others are just some syntax fixing

@mdroidian
Copy link
Collaborator Author

delayArgs required additional changes to be complete, so I decided to postpone those changes as they were no longer relevant for this PR. And I wanted to finish this PR for this sprint.

@mdroidian mdroidian merged commit c66e5be into main Nov 13, 2023
@mdroidian mdroidian deleted the enhance-repeat-command branch November 13, 2023 23:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants