Merge branch 'Crud' into WebGUI8

This commit is contained in:
Colin Kuskie 2010-11-11 14:23:11 -08:00
commit 7dc51b6c2b
25 changed files with 1033 additions and 772 deletions

View file

@ -1,6 +1,28 @@
package WebGUI::Serialize;
use base qw/WebGUI::Crud/;
use Moose;
use WebGUI::Definition::Crud;
extends qw/WebGUI::Crud/;
define tableName => 'crudSerialize';
define tableKey => 'serializeId';
has serializeId => (
required => 1,
is => 'ro',
);
property someName => (
label => 'someName',
fieldType => 'text',
default => 'someName',
);
property jsonField => (
label => 'jsonField',
fieldType => 'textarea',
default => sub { return []; },
isa => 'WebGUI::Type::JSONArray',
coerce => 1,
traits => ['Array', 'WebGUI::Definition::Meta::Property::Serialize',],
);
#-------------------------------------------------------------------
@ -33,22 +55,9 @@ JSON blob text field.
=cut
sub crud_definition {
my ($class, $session) = @_;
my $definition = $class->SUPER::crud_definition($session);
$definition->{tableName} = 'crudSerialize';
$definition->{tableKey} = 'serializeId';
$definition->{sequenceKey} = '';
my $properties = $definition->{properties};
$properties->{someName} = {
fieldType => 'text',
defaultValue => 'someName',
};
$properties->{jsonField} = {
fieldType => 'textarea',
defaultValue => [],
serialize => 1,
};
return $definition;
my ($class, $session) = @_;
my $definition = $class->SUPER::crud_definition($session);
return $definition;
}

View file

@ -2,20 +2,20 @@ package WebGUI::Crud::Subclass;
use strict;
use base 'WebGUI::Crud';
use Moose;
use WebGUI::Definition::Crud;
extends 'WebGUI::Crud';
define tableName => 'crudSubclass';
define tableKey => 'crudSubclassId';
has crudSubclassId => (
required => 1,
is => 'ro',
);
sub crud_definition {
my ($class, $session) = @_;
my $definition = $class->SUPER::crud_definition($session);
$definition->{tableName} = 'crudSubclass';
$definition->{tableKey} = 'crudSubclassId';
$definition->{sequenceKey} = '';
my $properties = $definition->{properties};
$properties->{field1} = {
fieldType => 'integer',
defaultValue => 5,
};
return $definition;
}
property field1 => (
label => 'field1',
fieldType => 'integer',
defaultValue => 5,
);
1;