On Wednesday, 30 April 2014 at 09:22:06 UTC, Chris wrote:
Is there any documentation for web.d, including example apps?

Not much, I've done some before but it is pretty scattered and I
don't even know where it all is right now.

I basically implemented the most important JS features for DOM manipulation and added stuff I'd always wanted in JS.

Yeah, dom.d is kinda my magical group of nice convenience too.
The .addChild() helper makes building a tree in code so simple
that I rarely even thing about innerHTML anymore.

addChild takes a tag name and two child strings which are
customized based on the tag name:

addChild("a", "Link test", "http://link-target.com/";); // makes
<a href="httpp....">Link test</a>

addChild("span", "foo", "bar"); // makes <span
class="bar">foo</span>

addChild("div", Html("<b>lol</b>")); // <div><b>lol</b></div>

(normally, the second argument is innerText and the third
argument is the big customization point.)


dom.d's Form class makes them stupid-simple to use too.


auto form = document.requireSelector!Form("#my-form");
form.setValue("something", "else");


setValue finds the element with that particular name and sets teh
value based on what it is. So if it is an <input>, it sets value.
If it is a <textarea>, it sets innerText. If it is <select>, it
sets the attribute on the right <option>, or can add an option if
needed. It can also implicitly create a hidden element if needed.

The Link class has a similar function for link URL params.



And, of course, these can be done in a loop:


void forwardParams() {
   foreach(k, v; cgi.post)
     form.setValue(k, v);
}

so simple!

Reply via email to