Re: [Mojolicious] Mojolicious::Lite how to refresh table only

2018-03-23 Thread Luc Larochelle
Wow my reply has been deleted ?


On Wednesday, 21 March 2018 11:59:45 UTC-4, Dan Book wrote:
>
> Refreshing the page and refreshing the table are two different things. The 
> latter you would need to do in javascript, ideally with a framework like 
> vue or react that can handle the ugly details. If you refresh the page, you 
> only need to have the route provide the subset of the data instead of the 
> full set when it receives the search term.
>
> -Dan
>
> On Wed, Mar 21, 2018 at 11:43 AM, Luc Larochelle  > wrote:
>
>> Hi everyone,
>>
>> I built a single page application to display content in a table with 
>> Mojolicious Lite. This works fine, the first time the data is rendered.
>>
>> I pass the values through the stash and in my template, I use a for loop 
>> to go through the structure and display in the web page.
>>
>> The problem is selecting a subset of the data (a search box for example). 
>> I don't understand how to pass the values to the stash and refresh the page.
>>
>> The stash changes with the desired data after a call to a get sub (for 
>> example get '/search/:expr' ) but it will never render. As if it gets 
>> rendered twice, since the final result is the whole table being displayed.
>>
>> What would be the best way to achieve this ?
>>
>> Please help ...
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Mojolicious" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to mojolicious...@googlegroups.com .
>> To post to this group, send email to mojol...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/mojolicious.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mojolicious+unsubscr...@googlegroups.com.
To post to this group, send email to mojolicious@googlegroups.com.
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.


Re: [Mojolicious] Mojolicious::Lite how to refresh table only

2018-03-23 Thread Luc Larochelle
Hi Dan, thank you very much for taking the time to help me on this.

Here's my related jquery function. This is not enough to achieve what I'm 
trying to do ? 

$("#searchForm").on('submit', function (e) {
e.preventDefault();
var text = $("#searchBox").val();
$.get('/mysearch/' + text, function () {
window.location.reload();
});
});


Here's the route, where " search" is actually a template containing only 
the table itself (see below) as part of the layout. What am I doing wrong ? 
:/

get '/mysearch/:expr' => sub {

my $c = shift;
my $hosts;

my @list = grep { $_->{'hostname'} =~ /$c->param('expr')/ } @{$c->devices};
$c->redirect_to('/') unless (@list);
foreach (@list) {
$hosts->{$_->{hostname}} = $_;
}

$c->stash->{hosts} = $hosts;

return $c->render('search');

};



@@search.html.ep
% layout 'mylayout';



Hostname
IP
Groupe
Auth
Protocol




% my $nodes = stash 'hosts';
% foreach my $host ( sort keys %$nodes ) {
% my $class = "hoverDiv";
% $class = "bg-danger" if ($nodes->{$host}->{incomplete});
>{$host}->{hostname} %> data-toggle="modal" data-target="#EditModal" 
class="ls-modal"><%= $nodes->{$host}->{hostname} %><%= 
$nodes->{$host}->{ip}%><%= $nodes->{$host}->{groupe}%><%= 
$nodes->{$host}->{auth}%><%= 
$nodes->{$host}->{protocol}%>
% }

 

Best regards,
Luc


On Wednesday, 21 March 2018 11:59:45 UTC-4, Dan Book wrote:
>
> Refreshing the page and refreshing the table are two different things. The 
> latter you would need to do in javascript, ideally with a framework like 
> vue or react that can handle the ugly details. If you refresh the page, you 
> only need to have the route provide the subset of the data instead of the 
> full set when it receives the search term.
>
> -Dan
>
> On Wed, Mar 21, 2018 at 11:43 AM, Luc Larochelle  > wrote:
>
>> Hi everyone,
>>
>> I built a single page application to display content in a table with 
>> Mojolicious Lite. This works fine, the first time the data is rendered.
>>
>> I pass the values through the stash and in my template, I use a for loop 
>> to go through the structure and display in the web page.
>>
>> The problem is selecting a subset of the data (a search box for example). 
>> I don't understand how to pass the values to the stash and refresh the page.
>>
>> The stash changes with the desired data after a call to a get sub (for 
>> example get '/search/:expr' ) but it will never render. As if it gets 
>> rendered twice, since the final result is the whole table being displayed.
>>
>> What would be the best way to achieve this ?
>>
>> Please help ...
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Mojolicious" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to mojolicious...@googlegroups.com .
>> To post to this group, send email to mojol...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/mojolicious.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mojolicious+unsubscr...@googlegroups.com.
To post to this group, send email to mojolicious@googlegroups.com.
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.


Re: [Mojolicious] Mojolicious::Lite how to refresh table only

2018-03-21 Thread Dan Book
Refreshing the page and refreshing the table are two different things. The
latter you would need to do in javascript, ideally with a framework like
vue or react that can handle the ugly details. If you refresh the page, you
only need to have the route provide the subset of the data instead of the
full set when it receives the search term.

-Dan

On Wed, Mar 21, 2018 at 11:43 AM, Luc Larochelle 
wrote:

> Hi everyone,
>
> I built a single page application to display content in a table with
> Mojolicious Lite. This works fine, the first time the data is rendered.
>
> I pass the values through the stash and in my template, I use a for loop
> to go through the structure and display in the web page.
>
> The problem is selecting a subset of the data (a search box for example).
> I don't understand how to pass the values to the stash and refresh the page.
>
> The stash changes with the desired data after a call to a get sub (for
> example get '/search/:expr' ) but it will never render. As if it gets
> rendered twice, since the final result is the whole table being displayed.
>
> What would be the best way to achieve this ?
>
> Please help ...
>
> --
> You received this message because you are subscribed to the Google Groups
> "Mojolicious" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to mojolicious+unsubscr...@googlegroups.com.
> To post to this group, send email to mojolicious@googlegroups.com.
> Visit this group at https://groups.google.com/group/mojolicious.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mojolicious+unsubscr...@googlegroups.com.
To post to this group, send email to mojolicious@googlegroups.com.
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.


[Mojolicious] Mojolicious::Lite how to refresh table only

2018-03-21 Thread Luc Larochelle
Hi everyone,

I built a single page application to display content in a table with 
Mojolicious Lite. This works fine, the first time the data is rendered.

I pass the values through the stash and in my template, I use a for loop to 
go through the structure and display in the web page.

The problem is selecting a subset of the data (a search box for example). I 
don't understand how to pass the values to the stash and refresh the page.

The stash changes with the desired data after a call to a get sub (for 
example get '/search/:expr' ) but it will never render. As if it gets 
rendered twice, since the final result is the whole table being displayed.

What would be the best way to achieve this ?

Please help ...

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mojolicious+unsubscr...@googlegroups.com.
To post to this group, send email to mojolicious@googlegroups.com.
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.