Skip to content

Instantly share code, notes, and snippets.

@trevordixon
Last active August 29, 2015 13:56
Show Gist options
  • Save trevordixon/9106546 to your computer and use it in GitHub Desktop.
Save trevordixon/9106546 to your computer and use it in GitHub Desktop.
Lab 3
ruleset a2294x1 {
rule show_form is active {
select when pageview "ktest\.heroku\.com"
pre {
firstName = ent:firstName;
lastName = ent:lastName;
form = <<
<form id="simple_form">
<input placeholder="First Name" name="first_name"><br>
<input placeholder="Last Name" name="last_name"><br>
<button type="submit">Submit</button>
</form>
>>;
}
{
append("#main", form);
watch("#simple_form", "submit");
}
always {
raise explicit event check_name;
}
}
rule check_name {
select when explicit check_name
pre {
firstName = ent:firstName;
lastName = ent:lastName;
greeting = <<
<p>
<strong>First Name:</strong> #{firstName}<br>
<strong>Last Name:</strong> #{lastName}
</p>
>>;
}
if (firstName neq 0 && lastName neq 0) then append("#main", greeting);
}
rule submitted_rule {
select when web submit "#simple_form"
pre {
firstName = event:attr("first_name");
lastName = event:attr("last_name");
}
{
notify("Form Submission", "Thanks " + firstName);
}
always {
set ent:firstName firstName;
set ent:lastName lastName;
}
}
rule clear_names is active {
select when pageview "ktest\.heroku\.com"
pre {
qs = page:url("query").split(re/&/);
reset = qs.any(function(q) { q eq "clear=1" });
}
if reset then noop()
fired {
clear ent:firstName;
clear ent:lastName;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment