Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help

       HTML::FormHandler::Render::RepeatableJs - role providing	method to
       construct repeatable javascript

       version 0.40068

       Creates jQuery javascript to add	and delete repeatable elements.

       Note: This is still EXPERIMENTAL.  This is an EXAMPLE.  Changes are
       very likely to occur.  Javascript is not	guaranteed to be best
       practice.  It will not work on all rendered repeatables (requires
       wrapper with id).  It is	strongly suggested that	you make your own role
       if you use it.  Then you	can modify it as needed.  Or just write	out
       the rep_	data to	javascript variables, and write	the function in
       javascript.  This function uses a plain javascript confirmation dialog.
       You almost certainly want to do something else.	This javascript
       depends on the Repeatable field having a	'controls' div class in	order
       to position the new elements. Use the Bootstrap wrapper or the
       'controls_div' tag on the Simple	wrapper.

       A role to be used in a Form Class:

	   package MyApp::Form::Test;
	   use HTML::FormHandler::Moose;
	   extends 'HTML::FormHandler';
	   with	'HTML::FormHandler::Render::RepeatableJs';

       This contains one method, 'render_repeatable_js'. It's designed to be
       used in a template, something like:

	   [% WRAPPER "" %]
	   [% form.render_repeatable_js	%]
	   <h1>Editing Object .... </h1>
	   [% form.render %]
	   [% END -%]

       It will render javascript which can be used with	the AddElement field,
       and setting the 'setup_for_js' flag in the Repeatable field to add the
       ability to dynamically add a new	repeatable element in a	form.

       Note: this code is provided as an example. You may need to write	your
       own javascript function if your situation is different.

       Some of the extra information (level) in	this function is in
       preparation for handling	nested repeatables, but	it's not supported

       This function operates on HTML elements that have the id	of the
       repeatable element. That	requires that the wrapper have the repeatable
       instance	ID (now	rendered by default). If you don't have	wrappers
       around your repeatable elements,	this won't work.

       See HTML::FormHandler::Field::AddElement	for an example of rendering an
       HTML element that can be	used to	provide	the AddElement button.	See
       that field for the requirements for the add HTML.

       See HTML::FormHandler::Field::RmElement for an example of rendering an
       HTML element that can be	used to	provide	a 'remove' button.  See	that
       field for the requirements for the remove HTML.


       FormHandler Contributors	- see HTML::FormHandler

       This software is	copyright (c) 2017 by Gerda Shank.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.32.0			  20HTML::FormHandler::Render::RepeatableJs(3)


Want to link to this manual page? Use this URL:

home | help