projects
/
kivitendo-erp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
PriceSource: Klassenauflösung fpr items von Gutschriften
[kivitendo-erp.git]
/
SL
/
ClientJS.pm
diff --git
a/SL/ClientJS.pm
b/SL/ClientJS.pm
index
ff4aeb8
..
0da0afd
100644
(file)
--- a/
SL/ClientJS.pm
+++ b/
SL/ClientJS.pm
@@
-9,6
+9,7
@@
use SL::JSON ();
use Rose::Object::MakeMethods::Generic
(
use Rose::Object::MakeMethods::Generic
(
+ scalar => [ qw(controller) ],
'scalar --get_set_init' => [ qw(_actions _flash _error) ],
);
'scalar --get_set_init' => [ qw(_actions _flash _error) ],
);
@@
-65,7
+66,7
@@
my %supported_methods = (
removeData => 2,
# Form Events
removeData => 2,
# Form Events
- focus => 1,
+ focus => 1,
# kivi.set_focus(<TARGET>)
# Generic Event Handling ## pattern: $(<TARGET>).<FUNCTION>(<ARG1>, kivi.get_function_by_name(<ARG2>))
on => 3,
# Generic Event Handling ## pattern: $(<TARGET>).<FUNCTION>(<ARG1>, kivi.get_function_by_name(<ARG2>))
on => 3,
@@
-106,6
+107,9
@@
my %supported_methods = (
'jstree:deselect_node' => 2,
'jstree:deselect_all' => 1,
'jstree:deselect_node' => 2,
'jstree:deselect_all' => 1,
+ # ## ckeditor stuff ##
+ 'focus_ckeditor' => 1, # kivi.focus_ckeditor_when_ready(<TARGET>)
+
# ## other stuff ##
redirect_to => 1, # window.location.href = <TARGET>
# ## other stuff ##
redirect_to => 1, # window.location.href = <TARGET>
@@
-185,6
+189,7
@@
sub to_array {
sub render {
my ($self, $controller) = @_;
sub render {
my ($self, $controller) = @_;
+ $controller ||= $self->controller;
$self->reinit_widgets if $::request->presenter->need_reinit_widgets;
return $controller->render(\$self->to_json, { type => 'json' });
}
$self->reinit_widgets if $::request->presenter->need_reinit_widgets;
return $controller->render(\$self->to_json, { type => 'json' });
}
@@
-201,6
+206,12
@@
sub dialog {
return $self;
}
return $self;
}
+sub ckeditor {
+ my ($self) = @_;
+ $self->{_prefix} = 'ckeditor:';
+ return $self;
+}
+
sub flash {
my ($self, $type, @messages) = @_;
sub flash {
my ($self, $type, @messages) = @_;
@@
-260,7
+271,7
@@
Now some Perl code:
my ($self) = @_;
# Create a new client-side JS object and do stuff with it!
my ($self) = @_;
# Create a new client-side JS object and do stuff with it!
- my $js = SL::ClientJS->new;
+ my $js = SL::ClientJS->new
(controller => $self)
;
# Show some element on the page:
$js->show('#usually_hidden');
# Show some element on the page:
$js->show('#usually_hidden');
@@
-286,7
+297,7
@@
Now some Perl code:
# Rendering can also be chained, e.g.
$js->html('#selector', $html)
# Rendering can also be chained, e.g.
$js->html('#selector', $html)
- ->render
($self)
;
+ ->render;
}
=head1 OVERVIEW
}
=head1 OVERVIEW
@@
-336,13
+347,16
@@
are the function parameters.
Returns the actions gathered so far as a JSON string ready to be sent
to the client.
Returns the actions gathered so far as a JSON string ready to be sent
to the client.
-=item C<render
$controller
>
+=item C<render
[$controller]
>
Renders C<$self> via the controller. Useful for chaining. Equivalent
to the following:
$controller->render(\$self->to_json, { type => 'json' });
Renders C<$self> via the controller. Useful for chaining. Equivalent
to the following:
$controller->render(\$self->to_json, { type => 'json' });
+The controller instance to use can be set during object creation (see
+synopsis) or as an argument to C<render>.
+
=item C<dialog>
Tells C<$self> that the next action is to be called on a jQuery UI
=item C<dialog>
Tells C<$self> that the next action is to be called on a jQuery UI