projects
/
MojoFacets.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
554c956
)
invalidate sorted and filtered values on edit
author
Dobrica Pavlinusic
<dpavlin@rot13.org>
Thu, 27 May 2010 11:52:35 +0000
(13:52 +0200)
committer
Dobrica Pavlinusic
<dpavlin@rot13.org>
Thu, 27 May 2010 11:52:35 +0000
(13:52 +0200)
lib/MojoFacets/Data.pm
patch
|
blob
|
history
diff --git
a/lib/MojoFacets/Data.pm
b/lib/MojoFacets/Data.pm
index
e758bbe
..
f92acaa
100644
(file)
--- a/
lib/MojoFacets/Data.pm
+++ b/
lib/MojoFacets/Data.pm
@@
-667,6
+667,8
@@
sub edit {
my $name = $self->param('name') || die "no name";
if ( defined $loaded->{$path}->{data}->{items}->[$i]->{$name} ) {
my $name = $self->param('name') || die "no name";
if ( defined $loaded->{$path}->{data}->{items}->[$i]->{$name} ) {
+ $content =~ s/^\s+//s;
+ $content =~ s/\s+$//s;
if ( $content =~ /\xB6/ ) { # para
$content = [ split(/\s*\xB6\s*/, $content) ];
} else {
if ( $content =~ /\xB6/ ) { # para
$content = [ split(/\s*\xB6\s*/, $content) ];
} else {
@@
-678,6
+680,17
@@
sub edit {
if ( $old ne $new ) {
warn "# update $path $i $old -> $new\n";
$loaded->{$path}->{data}->{items}->[$i]->{$name} = $content;
if ( $old ne $new ) {
warn "# update $path $i $old -> $new\n";
$loaded->{$path}->{data}->{items}->[$i]->{$name} = $content;
+
+ if ( defined $loaded->{$path}->{sorted}->{$name} ) {
+ delete $loaded->{$path}->{sorted}->{$name};
+ warn "# invalidate $path sorted $name\n";
+ }
+
+ foreach ( grep { m/$name/ } keys %{ $loaded->{$path}->{filtered} } ) {
+ delete $loaded->{$path}->{filtered}->{$_};
+ warn "# invalidate $path filtered $_\n";
+ }
+
} else {
warn "# unchanged $path $i $old\n";
}
} else {
warn "# unchanged $path $i $old\n";
}