Hello forum,
Please I really need to know how to make this logic work and I hope I get a better idea on how to do this.
Is there a way to retain layout designs of templates for bulk or multiple templates before printing?
What I mean is, if I am creating bulk gift cards to be sent to multiple people and I am on a webpage where I have the card information display on the card; on this page is also where I can change the default design of the gift card by changing the label color, fonts, or background design etc. then after I finish with the design, I can save that design so that when I want to print the gift card for each recipient, I will simply click on recipient (maybe in a GridView) and the gift card will appear with the name of the recipient and the design that was attached to the card. Then I can print.
In summary, I have information display in a GridView from database of the recipients I registered. When I click on the GridView row, it redirects me to a page where the recipient information is displayed with other information and background image that shows from database on the card. From there, I can change label fonts and color. After changing the label color and fonts, I can retain that design for card so that when I am adding another recipient, that design will still be used on that card.
Another thing to note is that designs retained for a particular card can or cannot be used depending if the user wants to retain the same design for other cards. For example, if I create an invitation card for an event, the card name will be called “invitation”, and will be saved into the database. On the GridView I click the card name and it redirects to where I can add card recipients. After adding recipient, it will redirect to where I can affect some designs on the card.
I hope the different explanations made here are easily understandable
I have only my HTML design below because I don’t really know how to go about this. That’s why I am here asking for help and directions. Thank you
HTML
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.10.0/css/all.css" intergrity="sha384-AYmEC3Yw5cVb3ZcuHt0A9w35dYTsvhLPVnYs9eStHfGJv0vKxVfELGroGkvsg+p" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous" />
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous" />
<script defer="" src="https://use.fontawesome.com/releases/v5.0.13/js/fontawesome.js" integrity="sha384-6OIrr52G08NpOFSZdxxz1xdNSndlD4vdcf/q2myIUVO0VsqaGHJsB0RaBE01VTOY" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/malihu-custom-scrollbar-plugin/3.1.5/jquery.mCustomScrollbar.min.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
<link rel="stylesheet" href="style.css" />
<link href="css/bootstrap.min.css" rel="stylesheet" />
<link href="css/bootstrap.css" rel="stylesheet" />
<title></title>
<style type="text/css">
@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@900&display=swap');
@import url('https://fonts.cdnfonts.com/css/graphik?styles=44660,44666,44654,44656,44658,44662,44652,44650,44664');
.wrapper {
display: flex;
width: 100%;
align-items: stretch;
}
#sidebar {
min-width: 200px;
max-width: 200px;
min-height: 100vh;
top: 0;
left: 0;
z-index: 999;
background-color: #0b2436;
color: #fff;
transition: all 0.3s;
font-family: 'Graphik', sans-serif;
}
@media screen and (min-width: 1200px) {
#content {
width: 100%;
}
}
@media screen and (min-width: 360px) and (max-width:640px) {
#content {
width: 100%;
}
}
#sidebar.active {
margin-left: -200px;
}
a[data-toggle="collapse"] {
position: relative;
background-color: #0b2436;
}
.dropdown-toggle::after {
display: block;
position: absolute;
top: 50%;
right: 20px;
transform: translateY(-50%);
}
@media (max-width: 768px) {
#sidebar {
margin-left: -200px;
}
#sidebar.active {
margin-left: 0;
}
}
p {
font-family: 'Graphik', sans-serif;
font-size: 1.1em;
font-weight: 300;
line-height: 1.7em;
color: #999;
}
a, a:hover, a:focus {
color: inherit;
text-decoration: none;
transition: all 0.3s;
}
#sidebar {
/* don't forget to add all the previously mentioned styles here too */
background-color: #0b2436;
color: #fff;
transition: all 0.3s;
}
#topbar {
background-color: #0b2436;
}
#sidebar .sidebar-header {
background: #0b2436;
font-family: 'Graphik', sans-serif;
margin: 0 auto;
padding: 5px;
border-bottom: 0.3px solid #404344;
}
#sidebar ul.components {
padding: 10px 0;
}
#sidebar ul p {
color: #fff;
padding: 10px;
font-size: medium;
}
#sub-head:hover {
color: #05214d;
}
#navbarSupportedContent li a {
color: #eeeeee;
font-family: 'Graphik', sans-serif;
}
#sidebar ul li a {
padding: 10px;
display: block;
font-size: 10pt;
font-family: 'Graphik', sans-serif;
}
#sidebar ul li a:hover {
color: #eeeeee;
background-color: rgba(44, 62, 80, 0.3);
}
#sidebar ul li.active > a, a[aria-expanded="true"] {
color: #31b8ef;
background-color: rgba(44, 62, 80, 0.3);
}
ul ul a {
font-size: 0.9em !important;
padding-left: 30px !important;
background: #0b2436;
font-family: 'Graphik', sans-serif;
}
#sidebarCollapse {
background-color: transparent;
color: #0b2436;
font-size: 10pt;
width: 28px;
height: 28px;
border: none;
}
#sideCollapse {
background-color: transparent;
color: #0b2436;
font-size: 10pt;
width: 30px;
height: 30px;
border: none;
}
.navbar navbar-expand-lg {
background-color: #0b2436;
}
#lblright {
float: right;
position: center;
right: 5px;
}
hr {
margin-top: 1rem;
margin-bottom: 1rem;
border: 0;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.test {
-moz-transform: rotate(-40deg); /* FF3.5+ */
-o-transform: rotate(-40deg); /* Opera 10.5 */
-webkit-transform: rotate(-40deg); /* Saf3.1+, Chrome */
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=-40); /* IE6,IE7 */
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=-40)"; /* IE8 */
-sand-transform: rotate(-40deg);
}
#orgName {
font-weight: 800;
font-family: 'Mulish', sans-serif;
font-size: 17pt;
color: #0b2436;
}
#title {
font-weight: 900;
font-family: 'Mulish', sans-serif;
font-size: 15pt;
color: #0b2436;
}
#TextName {
text-transform: capitalize;
}
#permitID {
font-weight: 600;
color: #616161;
font-size: 20pt;
}
#infolbl {
font-size: 3pt;
font-weight: 300;
}
#headcolor {
font-size: 3pt;
font-weight: 300;
}
</style>
<script type="text/javascript">
//Initialize tooltip with jQuery
$(document).ready(function () {
$('.tooltips').tooltip();
});
$(function () {
$('[data-toggle="popover"]').popover()
})
</script>
</head>
<body style="background-color: #fdfdfd; font-family: 'Graphik', sans-serif; font-size: 16px; font-weight: 400;">
<form id="form1" runat="server">
<asp:ScriptManager ID="script" runat="server"></asp:ScriptManager>
<div class="wrapper">
<nav id="sidebar" style="font-family: 'Graphik', sans-serif;">
<ul class="list-unstyled sidebar-header" style="padding: 10px; margin: 0 auto; margin-top: 2%;">
<li style="margin: 0 7px;">
<asp:Label runat="server" ID="id" Font-Size="9pt" ForeColor="#546579" Font-Bold="true" Text="ID"></asp:Label>
</li>
<li style="margin: 0 7px;">
<asp:Label ID="named" runat="server" Font-Size="10pt" Text="NAME" ForeColor="White"></asp:Label>
</li>
</ul>
<ul class="nav navbar-nav list-unstyled components">
<li class="nav-item">
<a class="nav-link" href="#">Page 2</a>
</li>
<li>
<a class="nav-link" href="#">Page 3</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Page 4</a>
</li>
</ul>
<ul class="list-unstyled components">
<li class="nav-item"><a href="#">Page 5</a>
</li>
</ul>
</nav>
<!--Main Page Content -->
<div id="content" style="font-size: 10pt; width: 100%;">
<nav id="topnav" class="navbar navbar-expand-lg navbar-default navbar-inverse navbar-fixed-top" role="navigation" style="font-size: 12pt; font-weight: 500; border-bottom: 0.1px solid #f3f3f4; background-color: #fff;">
<div class="container-fluid">
<button type="button" id="sidebarCollapse" class="btn btn-info">
<i class="fas fa-bars"></i>
<span class="sr-only">Toggle Navigation</span>
</button>
<button class="btn btn-info d-lg-none ml-auto" id="sideCollapse" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<i class="fas fa-bars"></i>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="nav navbar-nav ml-auto">
<li class="dropdown" runat="server" style="padding: 5px; font-weight: 400;">
<asp:Label ID="user" runat="server" Font-Size="10pt" Text="mannyrchrd@gmail.com" ForeColor="#0b2436"></asp:Label>
</li>
</ul>
</div>
</div>
</nav>
<asp:UpdatePanel ID="UpdatePane1" runat="server" ClientIDMode="Static" UpdateMode="Conditional">
<ContentTemplate>
<div class="row col-sm-12" runat="server" style="width: 100%; margin: 0 auto; padding: 10px; margin-bottom: 6%;">
<div class="col-sm-7" style="width: 100%;">
<div class="card1" style="width: 100%; margin: 0 auto; padding: 6px; border-radius: 6px; border: 1px solid #dde0e2;">
<div class="row" style="width: 100%;">
<div class="col-2">
<asp:Image ID="Image2" ImageUrl="~/images/resources/linkedin.png" AlternateText="logo" runat="server" Width="35" Height="35" />
</div>
<div class="col-8">
<span style="float: inline-start;">
<div style="text-align: center;">
<asp:Label ID="Label7" runat="server" Text="Emerald Concepts"></asp:Label>
</div>
<div style="text-align: center;">
<asp:Label ID="title" runat="server" Text="JAZZ MUSICAL FESTIVAL"></asp:Label>
</div>
<div style="text-align: center;">
<asp:Label ID="Label8" runat="server" Text="Emerald Event Center, 75 Mayne Avenue, Calabar"></asp:Label>
</div>
</span>
</div>
<hr style="margin-top: 3px;" />
</div>
<div class="eventdetail" runat="server" id="eventdetail" style="display: block; margin: 0 auto; margin-top: 5%;">
<div class="row" style="width: 100%;">
<div class="col-4">
<asp:Label ID="Label4" runat="server" Text="Access Level"></asp:Label>
</div>
<div class="col-4">
<asp:Label ID="Label5" runat="server" Text="Date"></asp:Label>
</div>
<div class="col-4">
<asp:Label ID="Label6" runat="server" Text="Time"></asp:Label>
</div>
</div>
<div class="row" style="width: 100%;">
<div class="col-4">
<asp:Label ID="Label11" runat="server" Text="Regular"></asp:Label>
</div>
<div class="col-4">
<asp:Label ID="Label13" runat="server" Text="May 14, 2023"></asp:Label>
</div>
<div class="col-4">
<asp:Label ID="Label15" runat="server" Text="6:30 PM"></asp:Label>
</div>
</div>
</div>
<div class="row" style="margin-top: 5%; margin-bottom: -1%;">
<div class="col-sm-10">
<div class="form-group">
<div class="input-group">
<asp:Label ID="Label2" runat="server" Text="Richard Williams"></asp:Label>
</div>
</div>
</div>
</div>
<div class="row" style="width: 100%;">
<div class="col-sm-5">
<div class="form-group">
<div class="input-group">
<asp:Label ID="Label1" runat="server" Text="07012763532"></asp:Label>
</div>
</div>
<div class="form-group" style="float: left; font-size: 5pt;">
<div class="input-group">
<asp:Label ID="permitID" runat="server" Text="45887"></asp:Label>
</div>
</div>
</div>
</div>
<div class="card" style="width: 100%; background-color: #f2f8fb; border: 0.1px solid #dde0e2;">
</div>
</div>
</div>
<div class="col-sm-4" style="margin-top: 2%; left: 0; z-index: 999; width: 100%; margin: 0 auto; padding: 10px; border-radius: 4px; border: 0.2px solid #f0f1f2; background-color: #fff;">
<div class="" style="width: 100%; margin: 0 auto; padding: 6px; margin-top: 1%; border-radius: 4px;">
<div style="margin-top: 1%; margin-bottom: 4%;">
<label style="font-weight: 500; font-size: 8pt; color: #93979e;">Edit your permit</label>
</div>
<asp:Label ID="headcolor" runat="server">Header Color</asp:Label>
<div class="input-group">
<asp:TextBox ID="TextBox1" runat="server" AutoCompleteType="None" CssClass="form-control" />
<cc1:ColorPickerExtender ID="ColorPicker1" runat="server" TargetControlID="TextBox1"
PopupButtonID="ColorBtn" PopupPosition="TopRight" OnClientColorSelectionChanged="ColorChanged" />
<div class="input-group-append">
<span class="input-group-text" id="ColorBtn" runat="server" style="height: auto; background-color: transparent; border: 0.3px solid #d6d8d9; color: #404344;">
<span id="toggle_pw" class="fad fa-eye-dropper" aria-hidden="true" style="cursor: pointer; font-size: 11pt; border: none;"></span>
</span>
</div>
</div>
<div style="display: none;" id="visit">
<div style="width: 100%;">
<div class="form-group">
<asp:TextBox ID="visitdate" runat="server" CssClass="form-control" Font-Size="10pt" placeholer="Visit Date" />
<i id="ClickCalendar" class="fad fa-calendar" aria-hidden="true" style="cursor: pointer; font-size: 11pt; border: none;"></i>
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server"
TargetControlID="visitdate" PopupButtonID="ClickCalendar"></ajaxToolkit:CalendarExtender>
</div>
</div>
</div>
<div class="input-group">
<input type="text" class="fonts" />
</div>
</div>
</div>
</div>
</ContentTemplate>
<Triggers>
</Triggers>
</asp:UpdatePanel>
<br />
</div>
</div>
</form>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.min.js" integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/malihu-custom-scrollbar-plugin/3.1.5/jquery.mCustomScrollbar.concat.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://rawgit.com/tommoor/fontselect-jquery-plugin/master/fontselect.css" />
<script src="https://rawgit.com/tommoor/fontselect-jquery-plugin/master/jquery.fontselect.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#sidebar").mCustomScrollbar({
theme: "minimal"
});
$('#sidebarCollapse').on('click', function () {
$('#sidebar').toggleClass('active');
$('.collapse.in').toggleClass('in');
$('a[aria-expanded=true]').attr('aria-expanded', 'false');
});
});
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, options)
</script>
<script type="text/javascript">
function ColorChanged(sender) {
//sender.get_element().value = "#" + sender.get_selectedColor();
document.getElementById("title").style.color = "#" + sender.get_selectedColor();
}
</script>
<script type="text/javascript">
function selectFontAndApplyToEle(fontName, callback) {
$('div.font-select').find('.fs-results li').removeClass('active');
var dropEle = $('div.font-select').find('.fs-drop');
var fontToSelect = $('div.font-select').find('.fs-results li:contains(' + fontName + ')');
dropEle.addClass('fs-drop-op');
var posFont = fontToSelect.offset().top
var posFontOffset = $('div.font-select').find('.fs-results li:first').offset().top
$('div.font-select').find('.fs-results').scrollTop(posFont - posFontOffset);
fontToSelect.addClass('active').trigger('click');
setTimeout(function () {
$('div.font-select a div').trigger('click');
dropEle.removeClass('fs-drop-op');
callback && callback(fontToSelect.data('value').replace(/\+/g, ' '));
}, 500);
}
$(function () {
//
// Init the fontselect plugin
//
$('input.fonts').fontselect({
style: 'font-select',
placeholder: 'Select a font',
lookahead: 2
}).on('change', function (e) {
var fontFamily = $(this).val().replace(/\+/g, ' ');
$('p').css('font-family', fontFamily);
});
selectFontAndApplyToEle('Anton', function (fontFamily) {
$('p').css('font-family', fontFamily);
setTimeout(function () {
selectFontAndApplyToEle('Anonymous Pro', function (fontFamily) {
$('p').css('font-family', fontFamily);
});
}, 1000);
});
});
</script>
</body>
</html>