/[Frey]/branches/no-pager/lib/Frey/Class/Refactor.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /branches/no-pager/lib/Frey/Class/Refactor.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 759 - (hide annotations)
Tue Dec 9 20:10:32 2008 UTC (15 years, 5 months ago) by dpavlin
File size: 1467 byte(s)
move strip to Frey::Web
1 dpavlin 746 package Frey::Class::Refactor;
2 dpavlin 738 use Moose;
3    
4     extends 'Frey';
5     with 'Frey::Web';
6     #with 'Frey::Storage';
7    
8     use Moose::Util::TypeConstraints;
9    
10     use lib 'lib'; # :Write in vim needs it
11     use Frey::Shell::Grep;
12    
13     has from => (
14     is => 'rw',
15     isa => 'Str',
16     required => 1,
17     default => 'Frey::HTML',
18     );
19    
20     has to => (
21     is => 'rw',
22     isa => 'Str',
23     required => 1,
24     default => 'Frey::HTML::Tree',
25     );
26    
27    
28 dpavlin 746 sub as_markup {
29 dpavlin 738 my ($self) = @_;
30    
31     $self->add_css(qq|
32     span.modify {
33     display: inline;
34     backgrund: #ffc;
35     }
36     |);
37    
38     my $len = length( $self->to );
39     my $to = $self->to;
40    
41 dpavlin 749 my $change_number = 0;
42 dpavlin 738
43     my $grep = Frey::Shell::Grep->new(
44     pattern => $self->from,
45     )->as_markup(
46     dd => sub {
47     my ( $patt, $path, $line, $text ) = @_;
48     $text =~ s{(\Q$patt\E)}{
49     my $nr = $change_number++;
50     strip(qq|
51     <span class="modify">
52 dpavlin 746 <input type="hidden" name="path" value="$path">
53     <input type="hidden" name="line" value="$line">
54     <input type="text" name="modification" value="$to" size=$len>
55     <input type="checkbox" name="selected" value=$nr checked>
56 dpavlin 738 </span>
57     |)
58     }egs;
59     qq|<dd><a target="editor" href="/editor+$path+$line">$line</a> <code>$text</code>|;
60     },
61     );
62    
63     $self->title( $self->from . ' => ' . $self->to );
64    
65     return qq|
66 dpavlin 746 <form class="modify" action="/Frey::Class::Refactor::Modify/as_markup" method="post">
67 dpavlin 750 <input type="hidden" name="from" value="| . $self->from . qq|">
68 dpavlin 738 $grep
69 dpavlin 746 <input type="submit" name="action" value="Modify">
70 dpavlin 738 </form>
71     |;
72     }
73    
74     1;

  ViewVC Help
Powered by ViewVC 1.1.26