Jifty

 view release on metacpan or  search on metacpan

lib/Jifty/Manual/UsingCSSandJS.pod  view on Meta::CPAN

definitions in a single request.

=head1 USING AND EXPANDING CSS

=head2 Assembly of CSS definitions

When Jifty assembles all CSS definitions (which is internally done
inside L<Jifty::Web> by the method C<include_css>), a single file,
C<main.css> is included into the generated HTML code of the current
page. This file consists of a series of C<@import> directives that
reference every single CSS file to get used.

=head2 Expansion of CSS definitions

Jifty maintains two initially empty files, C<app-base.css> and
C<app.css> that may get "overloaded" by simply providing these files
in an application's C<share/web/static/css> directory.

These two files will get included in different order, C<app-base.css>
being the very first and C<app.css> getting included very late in the
CSS construction process.

This means that general definitions that should apply to all
subsequently encountered styles could easily get done in
C<app-base.css> whereas individual redefinitions, expansions or your
application's own definitions could go into C<app.css>.

=head2 Jifty's own definitions

Jifty provides a series of definitions that are responsible for a good
look without any modification. Please note that not all of the used
CSS classes are already defined, but they will provide a hook for
modification of the general look. Some of the styles are listed below.

=over

=item form_errors, error

Error messages encountered during validation are displayed inside a
C<< <div> >> tag of class C<form_errors> which initially is not yet
defined. Every single error message is marked with a class C<error>.

=item hints, warning, error

These classes are used for displaying additional information for form
fields.

=item form_field, mandatory, argument-$name

Every form field including its label is packed inside a C<< <div> >>
tag with these classes (mandatory only if the field is
mandatory, of course), where C<$name> is the field's name.

=item preamble

This section is a C<< <span> >> tag filled with a form field's
preamble content that could contain additional instructions for the
user. The content may be set by the C<preamble> accessor method that
is available for every C<Jifty::Web::Form::Field> and its successors.

=item widget, button, button_as_link, combobox,
combo-text, combo-button, combo-list, date, label, password
submit_button, reset, text, hidden, ajaxvalidation,
ajaxcanonicalization, ajaxautocompletes

These class names are used depending on the type of widget getting
rendered.

=item autocomplete

used for the autocomplete div.

=item toplevel, menu, context_menu, submenu, title, expand

These classes are used in navigation bars.

=item jifty, results, messages

These three CSS classes are used to surround a message block displaying
an action's messages after having run an action.

=item message, error, $moniker

Every single message that is displayed in an action's result box is
marked with the message's type plus the action's moniker as a CSS
class name.

=back

=head1 USING AND EXPANDING JAVASCRIPT

Jifty comes bundled with a series of separately developed JavaScript
libraries, like

=over

=item C<jQuery> L<http://jquery.com/>

jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages.

=item C<JSON> L<http://json.org>

Hereby, major support for encoding and decoding data into the JSON
data format (similar to C<YAML>) is provided.

=item C<behaviour.js>

With C<behaviour.js>, intelligent JavaScript handlers can be defined.

=back

=head2 Assembly of JS definitions

Jifty maintains a complete list of JS files to include. This list may
be retrieved or set by the accessor C<< Jifty->web->javascript_libs >>.
There should, However, rarely arise a situation to do that, because
Jifty has already reserved two files that may get added to your application:

=over 4

=item F<app.js>



( run in 0.487 second using v1.01-cache-2.11-cpan-39bf76dae61 )