App-Widget-JSApp

 view release on metacpan or  search on metacpan

lib/App/Widget/JSApp.pm  view on Meta::CPAN

    }
    my $value = $context->so_get($name);
    $value = "" if (!defined $value);
    $value = join(",",@$value) if (ref($value) eq "ARRAY");
    push(@attrib, "default", $value);
    my $js_conf = "";
    if ($#attrib > -1) {
        $js_conf .= ", {" if (!$js_conf);
        for (my $i = 0; $i < $#attrib; $i += 2) {
            $js_conf .= "," if ($i > 0);
            $js_conf .= " \"$attrib[$i]\" : \"" . $self->escape_double_quoted_value($attrib[$i+1]) . "\"";
        }
    }
    if ($self->{jsapp_conf}) {
        $js_conf .= ($js_conf) ? ",\n" : ", {\n";
        $js_conf .= $self->{jsapp_conf};
    }

    if (defined $self->{jsapp_attrib}) {
        my ($value, $so_name);
        my $attribs = $self->{jsapp_attrib};
        foreach my $attrib (sort keys %$attribs) {
            $so_name = $attribs->{$attrib};
            $so_name = $attrib if (!$so_name || $so_name eq "1");
            $value = $context->so_get($so_name);
            $value = join(",",@$value) if (ref($value) eq "ARRAY");
            $js_conf .= ",\n    \"$attrib\" : \"" . $self->escape_double_quoted_value($value) . "\"";
        }
    }
 
    if (defined $self->{jsapp_domain}) {
        my ($value_domain, $values, $labels, $domain_alias);
        my ($values_text, $labels_text, $i);
        foreach my $domain_name (sort keys %{$self->{jsapp_domain}}) {

            $domain_alias = $self->{jsapp_domain}{$domain_name};
            $domain_alias = $domain_name if (!$domain_alias || $domain_alias eq "1");

lib/App/Widget/JSApp.pm  view on Meta::CPAN

    my $html = <<EOF;
<script type="text/javascript">
  context.widget("$name"$js_conf).write();
</script>
EOF

    &App::sub_exit($html) if ($App::trace);
    return($html);
}

sub escape_double_quoted_value {
    my ($self, $value) = @_;
    $value =~ s/"/\\"/g;
    $value =~ s/\r//msg;
    $value =~ s/\n/\\n/msg;
    return($value);
}

sub init_jsapp {
    &App::sub_entry if ($App::trace);
    my ($self) = @_;



( run in 0.520 second using v1.01-cache-2.11-cpan-73692580452 )