Active-CSS / active-css

The epic event-driven browser language for UI with functionality in one-liner CSS. Over 100 incredible CSS commands for DOM manipulation, ajax, reactive variables, single-page application routing, and lots more. Could CSS be the JavaScript framework of the future?
https://activecss.org
Other
42 stars 7 forks source link

Allow @each command to surround action commands #124

Closed bob2517 closed 3 years ago

bob2517 commented 3 years ago

As per title. Now that we've got sequential commands it should be a bit easier to implement.

bob2517 commented 3 years ago

Basic steps to take to get this working:

1) Sort out the config import so that it additionally takes in the loops further down the event flow. Monitor the config - it should all look good with a complex structure, and in theory everything else should still be backward-compatible. It may even be doing this step already. 2) Write tests covering known scenarios. 3) Get the loops being recognised in the event flow and allow running around the action commands. Use the same looping code for this. 4) Get the config clean-up sorted out for inline config removal and make sure that all works ok. 5) Do the docs. Fix anything that comes up.

bob2517 commented 3 years ago

Points 1 & 2 done. Just sorting out the event flow now. Nested @each loops are already supported, so in theory it shouldn't be too difficult to jig things about.

bob2517 commented 3 years ago

Oh yeah baby... little tweak here and there and the first test passes. Now let's check the other tests.

bob2517 commented 3 years ago

Gonna create the most insane nested loop test ever and see what happens. If it works, I'm considering that a pass. I'll add in multiple ajax commands and all sorts of shit and try and break it.

Then the @step command. Really looking forward to doing that one. Should be a doddle once this is wrapped up.

bob2517 commented 3 years ago

The preliminary massively complex nested loops test seems to work in the code editor. Next I'll write an official one without the rude words and make it into a proper test, with pauses and ajax await. I'm not officially back on this issue until the weekend, but if it keeps going like this then it looks like I'll be able to get the loop release finished by the end of the weekend. The difficult bit is done, which was this issue. There's some complex recursion at work in the core now to handle looping. The hardest work was actually completed when I sorted out nested loops around target selectors for an earlier release.

I'll see if there's any other features missing in the area of looping and maybe do those as well for this release.

This was the major one before getting back onto the extension, so that's cool, but I want to wrap up all the other remaining issues before getting back onto it (except the config minifier, which is going to wait until version 3).

bob2517 commented 3 years ago

Ooops - forgot about the inline config clean-up - need to make sure that still works with the structure now allowing nested loops within target selectors. Will check that out on Saturday.

bob2517 commented 3 years ago

Fix is on 2.6.1 branch. Will be published as part of 2.7.0 when released.

bob2517 commented 3 years ago

Closing, live.