Ambrosia

 view release on metacpan or  search on metacpan

META.yml  view on Meta::CPAN

    CGI::Cookie:          0
    Data::Dumper:         0
    Data::Serializer:     0
    DBI:                  0
    Exporter:             0
    File::Path:           0
    Getopt::Long::Descriptive:  0.087
    if:                   0
    integer:              0
    IO::File:             0
    JSON::XS:             0
    overload:             0
    Scalar::Util:         0
    SOAP::Lite:           0
    Time::HiRes:          0
    XML::LibXML:          0
no_index:
    directory:
        - t
        - inc
generated_by:       ExtUtils::MakeMaker version 6.56

Makefile.PL  view on Meta::CPAN

    'CGI' => '0',
    'CGI::Cookie' => '0',
    'Carp' => '0',
    'DBI' => '0',
    'Data::Dumper' => '0',
    'Data::Serializer' => '0',
    'Exporter' => '0',
    'File::Path' => '0',
    'Getopt::Long::Descriptive' => '0.087',
    'IO::File' => '0',
    'JSON::XS' => '0',
    'SOAP::Lite' => '0',
    'Scalar::Util' => '0',
    'Time::HiRes' => '0',
    'XML::LibXML' => '0',
    'if' => '0',
    'integer' => '0',
    'overload' => '0'
  },
  'VERSION' => '0.010',
  'test' => {

lib/Ambrosia/View/JSON.pm  view on Meta::CPAN

package Ambrosia::View::JSON;
use strict;
use warnings;
use Carp;

use JSON::XS ();

use Ambrosia::Meta;

class sealed
{
    extends => [qw/Ambrosia::View/],
};

our $VERSION = 0.010;

lib/Ambrosia/View/JSON.pm  view on Meta::CPAN

{
    my $self = shift;

    return $self->as_json;
}

sub as_json
{
    my $self = shift;

    my $json = JSON::XS->new;
    $json->utf8(0);
    $json->latin1(1);

    my $str = '';
    eval
    {
        $json->convert_blessed(1);
        $str = $self->data ? $json->encode($self->data) : '{}';
warn "$str\n";
    };

share/Templates/Common/GetTreeManager.xsl  view on Meta::CPAN


<xsl:include href="../incName.xsl" />

<!-- Root -->
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>

<xsl:template match="atns:Application/atns:Entity">package <xsl:value-of select="$RealAppName" />::Managers::<xsl:value-of select="@Name"/>EditManager;
use strict;
use JSON::XS;

use Ambrosia::core::Nil;
use Ambrosia::Context;
require <xsl:value-of select="$RealAppName" />::Entity::<xsl:value-of select="@Name"/>;

use Ambrosia::Meta;
class
{
    extends => [qw/<xsl:value-of select="$RealAppName" />::Managers::BaseManager/]
};

share/Templates/Common/GetTreeManager.xsl  view on Meta::CPAN

    if ( $node )
    {
        Context->repository->set( response => 
                {
                    $node->Representation(),
                    children => [
                        map {
                            {
                                '$ref' => $_->TreeId,
                                $_->Representation(),
                                ($_->have_children ? (children => JSON::XS::true ) : ())
                            };
                        } @{$node->load_children}
                    ]
                }
            );
    }
}

1;
</xsl:template>

share/Templates/Common/TreeManager.xsl  view on Meta::CPAN


<xsl:include href="../incName.xsl" />

<!-- Root -->
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>

<xsl:template match="atns:Application/atns:Entity">package <xsl:value-of select="$RealAppName" />::Managers::<xsl:value-of select="@Name"/>TreeManager;
use strict;
use JSON::XS;

use Ambrosia::Config;
use Ambrosia::Context;
require <xsl:value-of select="$RealAppName" />::Entity::<xsl:value-of select="@Name"/>;

use Ambrosia::Meta;
class
{
    extends => [qw/<xsl:value-of select="$RealAppName" />::Managers::BaseManager/]
};

share/Templates/Common/TreeManager.xsl  view on Meta::CPAN


sub prepare
{
    if ( my $node = <xsl:value-of select="$RealAppName" />::Entity::<xsl:value-of select="@Name"/>->root() )
    {
        Context->repository->set( response => [
            map {
                {
                    '$ref' => $_->TreeId,
                    $_->Representation(),
                    ($_->have_children() ? (children => JSON::XS::true ) : ())
                };
            } @{$node->load_children()}
        ] );
    }
}

1;
</xsl:template>

</xsl:stylesheet>



( run in 0.730 second using v1.01-cache-2.11-cpan-fd5d4e115d8 )