Modal window in Django with dynamic Id’s

I had multiple objects on a page and each one of them have independent information that needs to be displayed on the modal window. Here’s what I did for the same:

HTML Code


<p style="padding: 0px 20px 5px 20px"><a href="#openModal_{{installation.id}}">Show additional usage data</a></p>
<div id="openModal_{{installation.id}}" class="modalDialog">
	<div>
	<a href="#close" title="Close" class="close">X</a>
	<h2>Additional usage data metrics</h2>
	<p style="padding: 0px 20px 5px 20px">Software Version: {{installation.getKwSoftwareVersion}}</p>
		<p style="padding: 0px 20px 5px 20px">Active Licensed Users: {{installation.getActiveLicensedUsers}}</p>
		<p style="padding: 0px 20px 5px 20px">FIPS: Enabled</p>
		<p style="padding: 0px 20px 5px 20px">Files sent: 1,234</p>
		<p style="padding: 0px 20px 5px 20px">Emails sent: 5,678</p>
	</div>
</div>

CSS Code

.modalDialog {
	position: fixed;
	font-family: Arial, Helvetica, sans-serif;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,0.8);
	z-index: 99999;
	opacity:0;
	-webkit-transition: opacity 400ms ease-in;
	-moz-transition: opacity 400ms ease-in;
	transition: opacity 400ms ease-in;
	pointer-events: none;
}

.modalDialog:target {
	opacity:1;
	pointer-events: auto;
}

.modalDialog > div {
	width: 400px;
	position: relative;
	margin: 10% auto;
	padding: 5px 20px 13px 20px;
	border-radius: 10px;
	background: #fff;
	background: -moz-linear-gradient(#fff, #999);
	background: -webkit-linear-gradient(#fff, #999);
	background: -o-linear-gradient(#fff, #999);
}

.close {
	background: #606061;
	color: #FFFFFF;
	line-height: 25px;
	position: absolute;
	right: -12px;
	text-align: center;
	top: -10px;
	width: 24px;
	text-decoration: none;
	font-weight: bold;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	-moz-box-shadow: 1px 1px 3px #000;
	-webkit-box-shadow: 1px 1px 3px #000;
	box-shadow: 1px 1px 3px #000;
}

.close:hover { background: #00d9ff; }

More description on the Modal window behavior is available in this tutorial.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s