ForgeComponents
en

Components

j-Modal

jComponent 20 · jcomponent@20 component Example loaded with jComponent 20

Is a simple alternative to j-Form.

  • Works only with +v17
  • The component moves the content of this component under <body> tag (because of positioning)

Configuration:

  • title {String} modal title (it replaces a HTML in label element in the header)
  • width {Number} modal max-width
  • if {String} condition for showing of the modal, it's compared with the value within of path
  • icon {String} Total icon without ti-
  • reload {String} link to a global function(modal_component) and it's executed if the form is displaying
  • submit {String} link to a global function(hide) and it's executed if the submit button is pressed
  • cancel {String} link to a global function(hide) and it's executed if the cancel button is pressed
  • enter {Boolean} captures enter key automatically and performs submit (default: false)
  • center {Boolean} centers the form to middle of screen
  • autofocus {Boolean/String} can focus an input. String === jQuery selector for the input
  • default {String} a short alias for DEFAULT(default, true)
  • zindex {Number} can affect z-index (default: 12)
  • align {Number} aligns modal 0 centered (default), 1 right bottom, 2 left bottom, 3 left top, 4 right top
  • height {Number} a min. height if the content has less size than defined height
  • NEW bg {Boolean} can enable/disable a background layer (default: true)
  • NEW scrollbar {Boolean} can enable/disable the scrollbar (default: false)

Good to know:

The content of the j-Modal is divided to 3 parts: header, body and footer. Each part must be defined. The component adds CSS classes to each part, for example first div will contain ui-modal-header, second ui-modal-body and third ui-modal-footer.


This component supports dynamic evaluation of the content of <script type="text/html">. The example below contains a script with HTML and the component evaluates the content if the j-Modal will be displayed (only once).

<ui-component name="modal" path="path" config="config">
	<script type="text/html">
		A CONTENT
	</script>
</ui-component>

Use it with <ui-component name="modal">. When the component is not loaded yet, jComponent downloads it on first use from the address in DEF.fallback (the Componentator CDN by default). Author: Peter Širka. Source: the Componentator components repository, MIT license.

example.html
<ui-component name="modal" path="common.form" config="if:user;width:600;submit:usermodal_submit;icon:home" class="hidden">

	<!-- HEADER -->
	<div>
		<span class="link cancel"><i class="ti ti-times"></i></span>
		<label>Your title</label>
	</div>

	<!-- BODY -->
	<div>
		<div class="padding">
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
			<br />
			<br />
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
			<br />
			<br />
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
			<br />
			<br />
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			<br />
			Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi rerum, consequatur quod quisquam blanditiis voluptatum! Assumenda harum, quaerat iste nisi.
		</div>
	</div>

	<!-- FOOTER -->
	<div>
		<span class="link cancel">Cancel</span>
		<button name="submit"><i class="ti ti-save"></i>Submit form</button>
	</div>

</ui-component>

<script>

	function usermodal_submit(hide) {
		alert('SUBMIT');
		hide();
	}

	var common = {};

	// Show the form
	common.form = 'user';
</script>