Templating & Global Variables

I was wondering if in the future it would be possible to implement more reusable templating snippets that can be imported as needed on a screen-by-screen basis. A templating system something like importing JSON-esque stuff into, say, a web application or something.

The way things are now, Activity code is not very DRY: I’m constantly repeating the same snippets of code across many components in an Activity.

To illustrate a simple example I might use this sort of thing stays the same in every math input component I have in an Activity:

correct = this.numericValue=g.script.correct and this.submitted
submitLabel: "Check My Answer"

correct: correct

suffix:
when this.script.correct "✅"
when this.submitted "🤔"
otherwise ""

It’s abstracted enough that it really doesn’t matter what the question is about: same code. But I’m having to write that out or copy and paste it in every single time.

Better I think would be to import that entire swath of code into the component from globals container at the beginning of the Activity, like response = globals.script and that’s that, overriding specifics where appropriate.

Too much abstraction? Useful? What do you think?

1 Like

Revisiting this since it’s been a few years. Global variables would be extremely helpful.

Any support out there?