# ## other stuff ##
redirect_to => 1, # window.location.href = <TARGET>
+ save_file => 4, # kivi.save_file(<TARGET>, <ARGS>)
flash => 2, # kivi.display_flash(<TARGET>, <ARGS>)
flash_detail => 2, # kivi.display_flash_detail(<TARGET>, <ARGS>)
run_once_for => 3, # kivi.run_once_for(<TARGET>, <ARGS>)
scroll_into_view => 1, # $(<TARGET>)[0].scrollIntoView()
+
+ set_cursor_position => 2, # kivi.set_cursor_position(<TARGET>, <ARGS>)
);
my %trim_target_for = map { ($_ => 1) } qw(insertAfter insertBefore appendTo prependTo);
// In the client generate an AJAX request whose 'success' handler
// calls "eval_json_result(data)":
var data = {
- action: "SomeController/the_action",
+ action: "SomeController/my_personal_action",
id: $('#some_input_field').val()
};
$.post("controller.pl", data, eval_json_result);
-Now some Perl code:
-
- # In the controller itself. First, make sure that the "client_js.js"
- # is loaded. This must be done when the whole side is loaded, so
- # it's not in the action called by the AJAX request shown above.
- $::request->layout->use_javascript('client_js.js');
+Now some Controller (perl) code for my personal action:
- # Now in that action called via AJAX:
- sub action_the_action {
+ # my personal action
+ sub action_my_personal_action {
my ($self) = @_;
# Create a new client-side JS object and do stuff with it!