1 2<!DOCTYPE html> 3<html xmlns="https://www.w3.org/1999/xhtml" ng-app="BungeeApp"> 4 5<head> 6 <meta charset="utf-8"> 7 <meta http-equiv="Content-type" content="text/html; charset=us-ascii"> 8 <meta name="viewport" 9 content="width = device-width, initial-scale = 1.0, minimum-scale = 1.0, maximum-scale = 1.0, user-scalable = no" /> 10 11 <meta name="description" content="This is the Animal Control & Responsibility Policy page for the official website for Round Hill of Fishkill, NY, provided by HOA Start. This site includes important information and updates relevant to Round Hill of Fishkill, NY."> 12 13 <title>Round Hill of Fishkill, NY - Animal Control & Responsibility Policy</title> 14 15 <link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png"> 16 <link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png" sizes="32x32"> 17 <link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png" sizes="16x16"> 18 <link rel="manifest" href="../manifest.json"> 19 <link rel="mask-icon" href="../safari-pinned-tab.svg" color="#1e4164"> 20 <meta name="theme-color" content="#ffffff"> 21
21<script src="https://js.stripe.com/v3/"></script>
21 22 23<link href="https://fonts.googleapis.com/css?family=Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i&display=swap" rel="stylesheet"> 24<link href="/plugins/fa/css/all.css" rel="stylesheet" type="text/css"> 25<link href="/plugins/jquery-ui/jquery-ui.min.css" rel="stylesheet" type="text/css"> 26<link href="/plugins/fontselect-default.css" rel="stylesheet" type="text/css"> 27<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs4/dt-1.10.16/r-2.2.1/datatables.min.css" /> 28<link href="/js/angular-notify/angular-notify.min.css" rel="stylesheet" type="text/css" /> <!-- needs to be above bootstrap.css --> 29<link href="/plugins/cropperjs/cropper.css" rel="stylesheet" type="text/css"> 30<link href="/js/select2/select2.min.css" rel="stylesheet" type="text/css"> 31<link href="/css/bootstrap.css" rel="stylesheet" type="text/css"> 32<link href="/js/angular-block-ui/angular-block-ui.min.css" rel="stylesheet" type="text/css" /> 33<link href="/js/ng-tags-input/ng-tags-input.min.css" rel="stylesheet" type="text/css" /> 34<link href="/js/ng-tags-input/ng-tags-input.bootstrap.min.css" rel="stylesheet" type="text/css" /> 35<link href="/js/fancybox/jquery.fancybox.min.css" rel="stylesheet" type="text/css"> 36 37<link href="/css/admin-style.css?v=2.1.1.30179" rel="stylesheet" type="text/css"> 38<link href="/css/phase2.css?v=2.1.1.30179" rel="stylesheet" type="text/css"> 39<link href="/css/extras.css?v=2.1.1.30179" rel="stylesheet" type="text/css"> 40 41<link href="/css/bootstrap-multiselect.css" rel="stylesheet" type="text/css"> 42<link href="/css/fontawesome-iconpicker.css" rel="stylesheet" type="text/css"> 43 44<link href="/plugins/newcolorpicker/jquery.colorpicker.css" rel="stylesheet" type="text/css"> 45<link href="/plugins/slick/slick.css" rel="stylesheet" type="text/css"> 46<link href="/plugins/slick/slick-theme.css" rel="stylesheet" type="text/css"> 47 48<link href="/plugins/emoji-picker/css/emoji.css" rel="stylesheet" type="text/css"> 49<link href="/plugins/bstreeview/bstreeview.css?v3" rel="stylesheet" type="text/css"> 50 51<link rel="stylesheet" href="/plugins/unitegallery-master/unitegallery-master/dist/css/unite-gallery.css?v=1.5" type="text/css" /> 52 53<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css"> 54 55<link href="/plugins/dynamic-event-calendar-bootstrap/css/calendar.css?1.4" rel="stylesheet"> 56<link href="/plugins/dynamic-event-calendar-bootstrap/css/theme.css" rel="stylesheet"> 57<link href="/plugins/dynamic-event-calendar-bootstrap/css/style.css" rel="stylesheet"> 58<link href="/plugins/stepper/steppers.min.css" rel="stylesheet"> 59<link href="/plugins/stepper/mdb-custom.css" rel="stylesheet"> 60 61<link href="/js/plugins/mobiscroll/css/mobiscroll.jquery.min.css" rel="stylesheet"> 62
63<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
63 64 65<link href="https://fonts.googleapis.com/css?family=Roboto|Open%20Sans|Montserrat|Noto%20Sans|Raleway|Quicksand|Comfortaa|Oswald|Roboto%20Condensed|Roboto%20Serif|Merriweather|Noto%20Serif|Lora|PT%20Serif|Source%20Serif%20Pro|Dancing%20Script|Shadows%20Into%20Light|Permanent%20Marker|Lobster|Alfa%20Slab%20One|Titan%20One|Anton|Copse|IM%20Fell%20English|IM%20Fell%20French%20Cannon%20SC|Lato|Orbitron" rel="stylesheet" type="text/css"> 66 67 <link href="/css/themebuilder-theme1.css?v=2.5" rel="stylesheet" type="text/css"> 68 69 70 <link href="/css/palette1.css" rel="stylesheet" type="text/css"> 71 <!-- <link href="~/css/theme1.css" rel="stylesheet" type="text/css">--> 72
73<script type="text/javascript">var appInsights=window.appInsights||function(config){function t(config){i[config]=function(){var t=arguments;i.queue.push(function(){i[config].apply(i,t)})}}var i={config:config},u=document,e=window,o="script",s="AuthenticatedUserContext",h="start",c="stop",l="Track",a=l+"Event",v=l+"Page",r,f;setTimeout(function(){var t=u.createElement(o);t.src=config.url||"https://js.monitor.azure.com/scripts/a/ai.0.js";u.getElementsByTagName(o)[0].parentNode.appendChild(t)});try{i.cookie=u.cookie}catch(y){}for(i.queue=[],r=["Event","Exception","Metric","PageView","Trace","Dependency"];r.length;)t("track"+r.pop());return t("set"+s),t("clear"+s),t(h+a),t(c+a),t(h+v),t(c+v),t("flush"),config.disableExceptionTracking||(r="onerror",t("_"+r),f=e[r],e[r]=function(config,t,u,e,o){var s=f&&f(config,t,u,e,o);return s!==!0&&i["_"+r](config,t,u,e,o),s}),i}({instrumentationKey:"86700167-0b7e-44ac-bd61-a0d00e27bb42",sdkExtension:"a"});window.appInsights=appInsights;appInsights.queue&&appInsights.queue.length===0&&appInsights.trackPageView();</script>
73</head> 74 75<body class="siteBuilder publicView p-0" ng-controller="MainController"> 76 77 78 <div style="height: 0px; overflow: hidden;"> 79<a href="https://www.roundhillfishkill.com/animal-control-responsibility-policy">https://www.roundhillfishkill.com/animal-control-responsibility-policy</a><a href="https://www.roundhillfishkill.com/community-rules">https://www.roundhillfishkill.com/community-rules</a><a href="https://www.roundhillfishkill.com/document-library">https://www.roundhillfishkill.com/document-library</a><a href="https://www.roundhillfishkill.com/rules-regulations">https://www.roundhillfishkill.com/rules-regulations</a><a href="https://www.roundhillfishkill.com/round-hill-user-survey">https://www.roundhillfishkill.com/round-hill-user-survey</a><a href="https://www.roundhillfishkill.com/towing-policy">https://www.roundhillfishkill.com/towing-policy</a><a href="https://www.roundhillfishkill.com/">https://www.roundhillfishkill.com/</a><a href="https://www.roundhillfishkill.com/your-hoa-board">https://www.roundhillfishkill.com/your-hoa-board</a><a href="https://www.roundhillfishkill.com/animal-waste-violation-reporting">https://www.roundhillfishkill.com/animal-waste-violation-reporting</a><a href="https://www.roundhillfishkill.com/dumpster-policy">https://www.roundhillfishkill.com/dumpster-policy</a><a href="https://www.roundhillfishkill.com/about-us">https://www.roundhillfishkill.com/about-us</a><a href="https://www.roundhillfishkill.com/bg-application">https://www.roundhillfishkill.com/bg-application</a><a href="https://www.roundhillfishkill.com/resident-resources">https://www.roundhillfishkill.com/resident-resources</a><a href="https://www.roundhillfishkill.com/contact-us">https://www.roundhillfishkill.com/contact-us</a><a href="https://www.roundhillfishkill.com/buildings-grounds">https://www.roundhillfishkill.com/buildings-grounds</a><a href="https://www.roundhillfishkill.com/newsfeed">https://www.roundhillfishkill.com/newsfeed</a> </div> 80 81
81<script type="text/javascript"> 82 function mobileNav() { 83 var x = document.getElementById("mobileLinks"); 84 if (x.style.display === "block") { 85 x.style.display = "none"; 86 } else { 87 x.style.display = "block"; 88 } 89 } 90 </script>
90 91 92 <div class="pre-loader-public" style="z-index:16777271"> 93 <div class="sk-chase"> 94 <div class="sk-chase-dot"></div> 95 <div class="sk-chase-dot"></div> 96 <div class="sk-chase-dot"></div> 97 <div class="sk-chase-dot"></div> 98 <div class="sk-chase-dot"></div> 99 <div class="sk-chase-dot"></div> 100 </div> 101 </div> 102 103 <div class="page-wrap" id="publicSiteControllerIdentifier" ng-controller="PublicSiteController"> 104 <!-- Preload Logos --> 105 <div style="height: 0px; width: 0px;"> 106 <img src="/images/logo-membershine.png" style="width: 0px; height: 0px;" /> 107 <img src="/images/HOAStart-Logo-703x169.png" style="width: 0px; height: 0px;" /> 108 </div> 109 <div id="suspendModalBG" ng-if="sitedata && (sitedata.siteBrand == 1 || sitedata.siteBrand == 2) && sitedata.suspendSite" ng-cloak> 110 <div class="suspendModalContainer mx-auto"> 111 <div class="suspendModalHeader pt-5 pr-5 pb-4 pl-5"> 112 <img style="max-width: 400px;" src="{{(sitedata.siteBrand == 1) ? '/images/logo-membershine.png' : '/images/HOAStart-Logo-703x169.png'}}" /> 113 </div> 114 <div class="suspendModalContent pt-4 pr-5 pb-5 pl-5"> 115 <h1><b>Account Payment Due</b></h1> 116 <p>If you're seeing this message, we've deactivated your community website account while we're waiting to receive payment from your association.</p> 117 <p>Please ask your board administrator or property manager to contact HOA Start at <a href="mailto:[email protected]">[email protected]</a>.We'll restore your site's full functionality once someone representing the organization contacts us or after payment has been made.</p> 118 </div> 119 </div> 120 </div> 121 122 123 124 125
125<script> 126 var openEmojiPicker = function (id) { 127 angular.element(document.getElementById('publicSiteControllerIdentifier')).scope().openEmojiPicker(id); 128 } 129 var customSubmitPost = function (id) { 130 angular.element(document.getElementById('publicSiteControllerIdentifier')).scope().openEmojiPicker(id); 131 } 132 </script>
132 133 134 <style> 135 .bgCustom{ 136 background-color: {{sitedata.brandColor}}!important; 137 } 138 .textCustom{ 139 color: {{sitedata.brandColor}}!important; 140 } 141 142.customBg1, .customBg1 .headerGrid, .customBg1 > div > .mainNavBlock .mainNavLink .dropdown-menu, .customBg1 > .builderGridRow .mainNavLink .dropdown-menu, .sectionRowContainer.customBg1 .builderGridRow .gridBlock.populatedBlock.mainNavGrid .mainNavLink, .sectionRowContainer.customBg1 .builderGridRow .gridBlock.populatedBlock.mainNavGrid { background-color: #{{selectedColorPalette.color1}}!important; } .customText1, .customText1 a, .gridBlock .customText1, .gridBlock .customText1 a { color: #{{selectedColorPalette.color1}}!important;} .customBorderTop1{ border-top-color: #{{selectedColorPalette.color1}}!important;} .customBorderBottom1{ border-bottom-color: #{{selectedColorPalette.color1}}!important;} .customBorder1{ border-color: #{{selectedColorPalette.color1}}!important;} .customBg1 > .builderGridRow .mainNavLink .dropdown-menu .dropdown-item:hover{ color: #{{selectedColorPalette.color1}}!important; } 143.customBg2, .customBg2 .headerGrid, .customBg2 > div > .mainNavBlock .mainNavLink .dropdown-menu, .customBg2 > .builderGridRow .mainNavLink .dropdown-menu, .sectionRowContainer.customBg2 .builderGridRow .gridBlock.populatedBlock.mainNavGrid .mainNavLink, .sectionRowContainer.customBg2 .builderGridRow .gridBlock.populatedBlock.mainNavGrid { background-color: #{{selectedColorPalette.color2}}!important; } .customText2, .customText2 a, .gridBlock .customText2, .gridBlock .customText2 a { color: #{{selectedColorPalette.color2}}!important;} .customBorderTop2{ border-top-color: #{{selectedColorPalette.color2}}!important;} .customBorderBottom2{ border-bottom-color: #{{selectedColorPalette.color2}}!important;} .customBorder2{ border-color: #{{selectedColorPalette.color2}}!important;} .customBg2 > .builderGridRow .mainNavLink .dropdown-menu .dropdown-item:hover{ color: #{{selectedColorPalette.color2}}!important; } 144.customBg3, .customBg3 .headerGrid, .customBg3 > div > .mainNavBlock .mainNavLink .dropdown-menu, .customBg3 > .builderGridRow .mainNavLink .dropdown-menu, .sectionRowContainer.customBg3 .builderGridRow .gridBlock.populatedBlock.mainNavGrid .mainNavLink, .sectionRowContainer.customBg3 .builderGridRow .gridBlock.populatedBlock.mainNavGrid { background-color: #{{selectedColorPalette.color3}}!important; } .customText3, .customText3 a, .gridBlock .customText3, .gridBlock .customText3 a { color: #{{selectedColorPalette.color3}}!important;} .customBorderTop3{ border-top-color: #{{selectedColorPalette.color3}}!important;} .customBorderBottom3{ border-bottom-color: #{{selectedColorPalette.color3}}!important;} .customBorder3{ border-color: #{{selectedColorPalette.color3}}!important;} .customBg3 > .builderGridRow .mainNavLink .dropdown-menu .dropdown-item:hover{ color: #{{selectedColorPalette.color3}}!important; } 145.customBg4, .customBg4 .headerGrid, .customBg4 > div > .mainNavBlock .mainNavLink .dropdown-menu, .customBg4 > .builderGridRow .mainNavLink .dropdown-menu, .sectionRowContainer.customBg4 .builderGridRow .gridBlock.populatedBlock.mainNavGrid .mainNavLink, .sectionRowContainer.customBg4 .builderGridRow .gridBlock.populatedBlock.mainNavGrid { background-color: #{{selectedColorPalette.color4}}!important; } .customText4, .customText4 a, .gridBlock .customText4, .gridBlock .customText4 a { color: #{{selectedColorPalette.color4}}!important;} .customBorderTop4{ border-top-color: #{{selectedColorPalette.color4}}!important;} .customBorderBottom4{ border-bottom-color: #{{selectedColorPalette.color4}}!important;} .customBorder4{ border-color: #{{selectedColorPalette.color4}}!important;} .customBg4 > .builderGridRow .mainNavLink .dropdown-menu .dropdown-item:hover{ color: #{{selectedColorPalette.color4}}!important; } 146.customBg5, .customBg5 .headerGrid, .customBg5 > div > .mainNavBlock .mainNavLink .dropdown-menu, .customBg5 > .builderGridRow .mainNavLink .dropdown-menu, .sectionRowContainer.customBg5 .builderGridRow .gridBlock.populatedBlock.mainNavGrid .mainNavLink, .sectionRowContainer.customBg5 .builderGridRow .gridBlock.populatedBlock.mainNavGrid { background-color: #{{selectedColorPalette.color5}}!important; } .customText5, .customText5 a, .gridBlock .customText5, .gridBlock .customText5 a { color: #{{selectedColorPalette.color5}}!important;} .customBorderTop5{ border-top-color: #{{selectedColorPalette.color5}}!important;} .customBorderBottom5{ border-bottom-color: #{{selectedColorPalette.color5}}!important;} .customBorder5{ border-color: #{{selectedColorPalette.color5}}!important;} .customBg5 > .builderGridRow .mainNavLink .dropdown-menu .dropdown-item:hover{ color: #{{selectedColorPalette.color5}}!important; } 147.customBg6, .customBg6 .headerGrid, .customBg6 > div > .mainNavBlock .mainNavLink .dropdown-menu, .customBg6 > .builderGridRow .mainNavLink .dropdown-menu, .sectionRowContainer.customBg6 .builderGridRow .gridBlock.populatedBlock.mainNavGrid .mainNavLink, .sectionRowContainer.customBg6 .builderGridRow .gridBlock.populatedBlock.mainNavGrid { background-color: #{{selectedColorPalette.color6}}!important; } .customText6, .customText6 a, .gridBlock .customText6, .gridBlock .customText6 a { color: #{{selectedColorPalette.color6}}!important;} .customBorderTop6{ border-top-color: #{{selectedColorPalette.color6}}!important;} .customBorderBottom6{ border-bottom-color: #{{selectedColorPalette.color6}}!important;} .customBorder6{ border-color: #{{selectedColorPalette.color6}}!important;} .customBg6 > .builderGridRow .mainNavLink .dropdown-menu .dropdown-item:hover{ color: #{{selectedColorPalette.color6}}!important; } 148.customBg7, .customBg7 .headerGrid, .customBg7 > div > .mainNavBlock .mainNavLink .dropdown-menu, .customBg7 > .builderGridRow .mainNavLink .dropdown-menu, .sectionRowContainer.customBg7 .builderGridRow .gridBlock.populatedBlock.mainNavGrid .mainNavLink, .sectionRowContainer.customBg7 .builderGridRow .gridBlock.populatedBlock.mainNavGrid { background-color: #{{selectedColorPalette.color7}}!important; } .customText7, .customText7 a, .gridBlock .customText7, .gridBlock .customText7 a { color: #{{selectedColorPalette.color7}}!important;} .customBorderTop7{ border-top-color: #{{selectedColorPalette.color7}}!important;} .customBorderBottom7{ border-bottom-color: #{{selectedColorPalette.color7}}!important;} .customBorder7{ border-color: #{{selectedColorPalette.color7}}!important;} .customBg7 > .builderGridRow .mainNavLink .dropdown-menu .dropdown-item:hover{ color: #{{selectedColorPalette.color7}}!important; } 149.customBg8, .customBg8 .headerGrid, .customBg8 .mainNavLink .dropdown-menu, .sectionRowContainer.customBg8 .gridBlock.populatedBlock.mainNavGrid .mainNavLink, .customBg8 .builderGridRow .gridBlock.populatedBlock.mainNavGrid { background: transparent!important; } 150 151 152.customHoverBg1:hover { background-color: #{{selectedColorPalette.color1}}!important; } 153.customHoverBg2:hover { background-color: #{{selectedColorPalette.color2}}!important; } 154.customHoverBg3:hover { background-color: #{{selectedColorPalette.color3}}!important; } 155.customHoverBg4:hover { background-color: #{{selectedColorPalette.color4}}!important; } 156.customHoverBg5:hover { background-color: #{{selectedColorPalette.color5}}!important; } 157.customHoverBg6:hover { background-color: #{{selectedColorPalette.color6}}!important; } 158.customHoverBg7:hover { background-color: #{{selectedColorPalette.color7}}!important; } 159.customHoverBg8:hover { background: transparent!important; } 160 161 162.customHoverText1:hover { color: #{{selectedColorPalette.color1}}!important; } 163.customHoverText2:hover { color: #{{selectedColorPalette.color2}}!important; } 164.customHoverText3:hover { color: #{{selectedColorPalette.color3}}!important; } 165.customHoverText4:hover { color: #{{selectedColorPalette.color4}}!important; } 166.customHoverText5:hover { color: #{{selectedColorPalette.color5}}!important; } 167.customHoverText6:hover { color: #{{selectedColorPalette.color6}}!important; } 168.customHoverText7:hover { color: #{{selectedColorPalette.color7}}!important; } 169 170.customHoverBorder1:hover { border-color: #{{selectedColorPalette.color1}}!important; } 171.customHoverBorder2:hover { border-color: #{{selectedColorPalette.color2}}!important; } 172.customHoverBorder3:hover { border-color: #{{selectedColorPalette.color3}}!important; } 173.customHoverBorder4:hover { border-color: #{{selectedColorPalette.color4}}!important; } 174.customHoverBorder5:hover { border-color: #{{selectedColorPalette.color5}}!important; } 175.customHoverBorder6:hover { border-color: #{{selectedColorPalette.color6}}!important; } 176.customHoverBorder7:hover { border-color: #{{selectedColorPalette.color7}}!important; } 177.customHoverBorder8:hover { border-color: #{{selectedColorPalette.color8}}!important; } 178 179 h1, h2, h3, h4, h5, h6 { 180 text-transform: none; 181 } 182 183 </style> 184 <link href="/css/builder1.css" ng-if="currentPage.colorPalette == 1" rel="stylesheet" type="text/css"> 185 <link href="/css/builder2.css" ng-if="currentPage.colorPalette == 2" rel="stylesheet" type="text/css"> 186 <link href="/css/palette-demo.css" ng-if="currentPage.colorPalette == 3" rel="stylesheet" type="text/css"> 187 <!-- START MESSAGING FLYOUT --> 188 <div id="messaging-global" ng-cloak class="box" ng-show="showMessages"> 189 <div class="d-flex align-items-center justify-content-between messagingHeader"> 190 <h3 class="font-weight-bold mb-0">Messaging <a href="javascript:void(0)" data-toggle="tooltip" data-placement="right" title="Refresh Messages" ng-click="getConversations()" class="text-white ml-2 refreshConvos"><i class="fas fa-sync-alt"></i></a></h3> 191 <a href="#" class="text-white" id="allMessagesClick" ng-show="messagetab != 'all'" ng-click="setMessageTab('all')">view all messages</a> 192 <a href="javascript:void(0)" ng-click="hideFlyout()" class="body-text-link action-circle flyoutMessagingGlobal" id="closeFlyout"> 193 <i class="far fa-times fa-fw"></i> 194 </a> 195 </div> 196 <div class="messaging-inner pb-0 px-3" id="messagesContainerScroll" ng-class="{'messageattachments': message.attachments.length && messagetab == 'conversation', 'nofooter': messagetab == 'all' || messagetab == 'participants' || messagetab == 'new' }"> 197 <div class="row"> 198 <div class="col-12"> 199 <!-- LIST OF ALL CONVERSATIONS --> 200 <div class="convosWrapper" id="convosWrapper" style="padding-bottom: 100px;" ng-show="messagetab == 'all'"> 201 <div class="d-flex align-items-center justify-content-between mb-3 messagingSubHeader"> 202 <div class="flex-fill mr-3"> 203 <input type="text" class="form-control m-100" placeholder="Search Messages" ng-model="convoSearch" aria-label="Recipient's username with two button addons" aria-describedby="searchFilters"> 204 </div> 205 <div> 206 <button type="button" class="btn btn-primary" ng-click="setMessageTab('new')" id="createMessageBtn"> 207 <i class="fas fa-comment-plus"></i>
207 New 208 Message 209 </button> 210 </div> 211 </div> 212 <div ng-if="!conversations.length"> 213 <bold>You have no messages</bold> 214 </div> 215 216 <!-- start conversation grid item --> 217 <div class="convoContainer" id="convoContainerGroup" ng-class="{'unread': conversation.newMessages}" ng-repeat="conversation in conversations | filter: convoSearch" ng-click="openConversation(conversation)"> 218 <div class="d-flex align-items-center justify-content-start"> 219 <div class="d-flex multipleAvatars"> 220 <div class="inline avatarCircle avatarBase" ng-repeat="participant in conversation.participants" ng-if="$index < 4" ng-class="{'avatarBase': $index == 0, 'avatarOverlap': $index != 0}"> 221 <div class="md-avatar pr-andy size-2 rounded-circle" style="background-image: url({{participant.avatar}})"></div> 222 </div> 223 <div class="inline avatarCircle avatarBase avatarOverlap" ng-if="conversation.participants.length > 4"> 224 <div class="md-avatar pr-andy size-2 rounded-circle" style="background-image: none; text-align: center; border: 2px solid #c4c4c4; background-color: #c4c4c4;"> 225 <i class="fas fa-plus" style="color: #fff; margin-top: 24px;"></i> 226 </div> 227 </div> 228 </div> 229 <div class="ml-3"> 230 <div class="font-weight-bold"><a href="javascript:void(0)">{{conversation.name}}</a></div> 231 <div class="text-subtle"><small>{{conversation.messages[conversation.messages.length - 1].sentDate}}</small></div> 232 <div class="convoSnippet"> 233 <p> 234 {{conversation.messages[conversation.messages.length - 1].firstName}}: {{conversation.messages[conversation.messages.length - 1].message.substr(0, 20)}}{{(conversation.messages[conversation.messages.length - 1].message.length > 20) ? '...' : ''}} 235 </p> 236 </div> 237 </div> 238 239 <div class="d-flex align-self-start ml-auto jquerystoppropagation"> 240 <a href="javascript:void(0)" class="postGeneralMenu ml-3 menuEllipsis" style="width: 10px; text-align: center;" ng-click="slowPropagation()" id="convosMenus" data-toggle="dropdown" 241 aria-haspopup="true" aria-expanded="false"><i class="fas fa-ellipsis-v"></i></a> 242 <div class="dropdown-menu dropdown-menu-right postDropdownMain" aria-labelledby="convosMenus"> 243 <a class="dropdown-item" href="javascript:void(0)" ng-click="slowPropagation();openConversationParticipants(conversation);">view participants</a> 244 <a class="dropdown-item" href="javascript:void(0)" ng-click="slowPropagation();renameConversation(conversation);">rename conversation</a> 245 </div> 246 </div> 247 </div> 248 249 </div> 250 <!-- end conversation grid item --> 251 </div> 252 253 <!-- CREATE NEW MESSAGE --> 254 <div class="createWrapper mt-3" ng-show="messagetab == 'new'" id="createWrapper"> 255 <form name="newMessageForm" novalidate ng-class="{'was-validated': newMessageSubmitAttempt}"> 256 <div class="form-row" ng-if="tagMembers.length && currentCustomerSite.isAdmin"> 257 <label class="d-block px-1">Add Groups To Message</label> 258 <div class="form-group col-12"> 259 <select id="example-multiselect2" ng-model="multiSelectTags" multiple="multiple" class="w-100 uniqueMultiselectVals"> 260 <option ng-repeat="tagMember in tagMembers" value="{{tagMember.name}}">{{tagMember.name}}</option> 261 </select> 262 </div> 263 </div> 264 265 <div class="d-flex align-items-center justify-content-between mb-3"> 266 <div class="flex-fill"> 267 <input type="text" class="form-control m-100" placeholder="Search and Add Members" ng-model="messageSearch" aria-label="Recipient's username with two button addons" aria-describedby="searchFilters"> 268 </div> 269 </div> 270 271 <div class="px-4" ng-show="messageSearch.length && checkMembersInMessageSearchArray(filtered1)"> 272 <div class="d-flex align-items-center justify-content-start mb-3 bg-light p-3 messagingSubHeader"> 273 <h4 class="mb-0"><i class="far fa-users-medical mr-2"></i> Add</h4> 274 </div> 275 <!-- start add participant grid item --> 276 <!--<div class="participantContainer px-3" id="participantContainer" ng-if="checkMemberInMessageSearchArray(member) && messageSearch.length > 0" ng-repeat="member in messageMembers | filter: messageSearch">--> 277 <div class="participantContainer px-3" id="participantContainer" ng-if="checkMemberInMessageSearchArray(member) && messageSearch.length > 0" ng-repeat="member in messageMembers | filter: { fullName: messageSearch } as filtered1"> 278 <div class="d-flex align-items-center justify-content-between"> 279 <div class="d-flex align-items-center justify-content-start"> 280 <div class="inline avatarCircle"> 281 <div class="md-avatar pr-april size-2 roun
281ded-circle" ng-click="addSearchMember(member)" style="background-image: url({{member.avatar}})"> 282 </div> 283 </div> 284 <div class="ml-3"> 285 <div class="font-weight-bold"><a href="javascript:void(0)" ng-click="addSearchMember(member)">{{member.firstName}} {{member.lastName}}</a></div> 286 </div> 287 </div> 288 <div class=""> 289 <button type="button" class="btn btn-outline-primary" ng-click="addSearchMember(member)"><i class="fas fa-plus"></i></button> 290 </div> 291 </div> 292 293 </div> 294 <!-- end add participant grid item --> 295 </div> 296 297 <div class="px-4" ng-if="messageSearchMembers.length"> 298 299 <div class="d-flex align-items-center justify-content-start mb-3 bg-light p-3 messagingSubHeader"> 300 <h4 class="mb-0">Participants</h4> 301 </div> 302 303 <!-- start participant grid item --> 304 <div class="participantContainer px-3" id="participantContainer" ng-repeat="member in messageSearchMembers"> 305 <div class="d-flex align-items-center justify-content-between"> 306 <div class="d-flex align-items-center justify-content-start"> 307 <div class="inline avatarCircle"> 308 <div class="md-avatar pr-april size-2 rounded-circle" style="background-image: url({{member.avatar}})"></div> 309 </div> 310 <div class="ml-3"> 311 <div class="font-weight-bold"><a href="javascript:void(0)">{{member.firstName}} {{member.lastName}}</a></div> 312 </div> 313 </div> 314 <div class=""> 315 <button type="button" class="btn btn-outline-primary" ng-click="removeSearchMember($index)"><i class="fas fa-minus"></i></button> 316 </div> 317 </div> 318 </div> 319 <!-- end participant grid item --> 320 </div> 321 322 <div class="form-row"> 323 <div class="form-group col-12" style="display: relative;"> 324 <label for="messageContent">Your Message<span class="text-danger">*</span></label> 325 <textarea class="form-control" ng-required="true" data-emojiable="unicode" data-item-id="{{selectedConversation.conversationId}}" id="messageContent" rows="3" ng-model="message.text"></textarea> 326 </div> 327 </div> 328 <div class="form-row"> 329 <div class="form-group col-12"> 330 <label>Upload photos or documents</label> 331 <div class="custom-file"> 332 <input type="hidden" style="display: hidden;" name="fileId" ng-model="file.fileId" /> 333 <label class="custom-file-label custom-hidden-upload-label" for="customFile" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUpload(response)" on-error="errorFileUpload(response)">Choose file</label> 334 </div> 335 </div> 336 </div> 337 <div class="postAttachments" ng-if="message.attachments.length"> 338 <a class="" data-toggle="collapse" href="#attachmentCollapse1" role="button" aria-expanded="false" 339 aria-controls="attachmentCollapse1"><i class="fas fa-paperclip mr-2"></i> view {{message.attachments.length}} attachments</a> 340 <div class="collapse attachmentCollapse" id="attachmentCollapse1"> 341 <div style="margin-top: 15px;"> 342 <a href="javascript:void(0)" class="ml-2" ng-repeat="attachment in message.attachments" ng-click="removeFile($index);"><i class="fas fa-times"></i> {{attachment.fileName}}</a> 343 </div> 344 </div> 345 </div> 346 <sub class="text-danger">* Required Information</sub> 347 <div class="text-right" style="padding-bottom: 100px;"> 348 <button type="button" class="btn btn-primary mr-2" ng-click="createNewMessageGroup(newMessageForm)">Send</button> 349 <button type="button" class="btn btn-cancel" id="cancelCreate" ng-click="setMessageTab('all')">Cancel</button> 350 </div> 351 </form> 352 </div> 353 354 <!-- PRIVATE MESSAGE THREAD --> 355 <div class="messageWrapper" id="messageWrapper" ng-show="messagetab == 'conversation'"> 356 <div class="d-flex align-items-center justify-content-between mb-3 messagingSubHeader"> 357 <h4 class="mb-0"><i class="fas fa-comments-alt mr-2"></i> {{selectedConversation.name}}</h4> 358 <a href="javascript:void(0)" id="viewParticipants" ng-click="setMessageTab('participants')">
358<i class="fas fa-user-friends"></i> <small>view {{selectedConversation.participants.length}} participants</small></a> 359 </div> 360 <!-- FROM MESSAGE --> 361 <div class="messageContainer" ng-repeat="message in selectedConversation.messages"> 362 <div class="d-flex align-items-start p-3" ng-class="{'justify-content-end':message.userId == userId }"> 363 <!-- ng-repeat="message in conversation.messages" --> 364 <div ng-class="{'messageBubbleFrom': message.userId != userId, 'messageBubbleTo': message.userId == userId}"> 365 <!--messageBubbleTo--> 366 <div class="d-flex align-items-center justify-content-between"> 367 <div class="d-flex align-items-center"> 368 <div class="inline avatarCircle"> 369 <div class="md-avatar pr-leslie size-1 rounded-circle" style="background-image: url({{message.avatar}})"></div> 370 </div> 371 <div class="ml-2"> 372 <div class="font-weight-bold"><a href="">{{message.firstName}}</a></div> 373 <div class="text-subtle"><small>{{message.sentDate}} <span ng-if="message.isModified"> <i>- edited on {{message.modifiedDate}}</i></span></small></div> 374 </div> 375 </div> 376 <div class=""> 377 <a href="javascript:void(0)" class="postGeneralMenu ml-3 menuEllipsis" id="convosMenus" ng-if="(message.userId == userId || isAdmin) && !message.removed" data-toggle="dropdown" 378 aria-haspopup="true" aria-expanded="false"><i class="fas fa-ellipsis-v"></i></a> 379 <div class="dropdown-menu dropdown-menu-right postDropdownMain" aria-labelledby="convosMenus" ng-if="(message.userId == userId || isAdmin) && !message.removed"> 380 <a class="dropdown-item" href="javascript:void(0)" ng-click="editMessage(message)">edit message</a> 381 <a class="dropdown-item" href="javascript:void(0)" ng-click="removeMessage(message)">remove message</a> 382 </div> 383 </div> 384 385 </div> 386 387 <div class="d-block w-100"> 388 <p ng-if="!message.removed"> 389 {{message.message}} 390 391 </p> 392 <p ng-if="message.removed"> 393 <i> 394 {{message.message}} 395 </i> 396 397 </p> 398 </div> 399 400 <div class="p-3" ng-if="message.attachments.length" style="text-align: {{(message.userId == userId) ? 'left' : 'right'}}"> 401 <div class="postAttachments"> 402 <div class="" id=""> 403 <div style="margin-top: 15px;"> 404 <a style="white-space: nowrap;" href="/File/Get/{{attachment.fileId}}" target="_BLANK" ng-class="{'ml-2' : message.userId != userId, 'mr-2' : message.userId == userId}" ng-repeat="attachment in message.attachments"><i class="fas fa-paperclip mr-2"></i> {{attachment.fileName}}</a> 405 </div> 406 </div> 407 </div> 408 </div> 409 <div class="p-3" ng-repeat="image in message.images" style="text-align: {{(message.userId == userId) ? 'left' : 'right'}}"> 410 <img style="max-width: 300px" ng-src="{{imageSrc(image.fileId)}}" /> 411 </div> 412 413 </div> 414 </div> 415 </div> 416 </div> 417 418 <!-- PARTICIPANTS LIST --> 419 <div class="participantsWrapper" id="participantsWrapper" ng-show="messagetab == 'participants'"> 420 <div class="d-flex align-items-center justify-content-between mb-3 bg-light p-3 messagingSubHeader"> 421 <h4 class="mb-0">
421<i class="fas fa-user-friends mr-2"></i> Participants ({{selectedConversation.participants.length}})</h4> 422 <a href="javascript:void(0)" ng-click="setMessageTab('conversation')" id="participantsBacktoMessage"> <small>back to message</small></a> 423 </div> 424 <div class="d-flex align-items-center justify-content-between mb-3"> 425 <div class="flex-fill"> 426 <input type="text" class="form-control m-100" placeholder="Search and Add Members" ng-model="messageSearch" aria-label="Recipient's username with two button addons" aria-describedby="searchFilters"> 427 </div> 428 </div> 429 <!-- start participant grid item --> 430 <div class="participantContainer px-3" id="participantContainer" ng-repeat="member in selectedConversation.participants"> 431 <div class="d-flex align-items-center justify-content-between"> 432 <div class="d-flex align-items-center justify-content-start"> 433 <div class="mr-3" ng-if="member.userId == userId || userId == selectedConversation.ownerUserId || isAdmin"> 434 <a href="javascript:void(0)" class="postGeneralMenu ml-3 menuEllipsis" id="convosMenus" data-toggle="dropdown" 435 aria-haspopup="true" aria-expanded="false"><i class="fas fa-ellipsis-v"></i></a> 436 <div class="dropdown-menu dropdown-menu-right postDropdownMain" aria-labelledby="convosMenus"> 437 <a class="dropdown-item" href="javascript:void(0)" ng-click="leaveConversation(member)" ng-if="member.userId == userId">leave conversation</a> 438 <a class="dropdown-item" href="javascript:void(0)" ng-click="removeParticipant(member)" ng-if="member.userId != userId">remove member from conversation</a> 439 </div> 440 </div> 441 <div class="inline avatarCircle"> 442 <div class="md-avatar pr-april size-2 rounded-circle" style="background-image: url({{member.avatar}})"></div> 443 </div> 444 <div class="ml-3"> 445 <div class="font-weight-bold"><a href="javascript:void(0)">{{member.firstName}} {{member.lastName}}</a></div> 446 </div> 447 </div> 448 </div> 449 </div> 450 <!-- end participant grid item --> 451 452 <div class="px-4" ng-show="messageSearch.length && checkMembersInMessageSearchArray(filtered2)" "> 453 <div class="d-flex align-items-center justify-content-start mb-3 bg-light p-3 messagingSubHeader"> 454 <h4 class="mb-0"><i class="far fa-users-medical mr-2"></i> Add</h4> 455 </div> 456 <!-- start add participant grid item --> 457 <!--<div class="participantContainer px-3" id="participantContainer" ng-if="checkMemberInMessageSearchArray(member) && messageSearch.length > 0" ng-repeat="member in messageMembers | filter: messageSearch">--> 458 <div class="participantContainer px-3" id="participantContainer" ng-if="checkMemberInMessageSearchArray(member) && messageSearch.length > 0" ng-repeat="member in messageMembers | filter:{ fullName: messageSearch } as filtered2"> 459 <div class="d-flex align-items-center justify-content-between"> 460 <div class="d-flex align-items-center justify-content-start"> 461 <div class="inline avatarCircle"> 462 <div class="md-avatar pr-april size-2 roun
462ded-circle" ng-click="addParticipant(member)" style="background-image: url({{member.avatar}})"> 463 </div> 464 </div> 465 <div class="ml-3"> 466 <div class="font-weight-bold"><a href="javascript:void(0)" ng-click="addParticipant(member)">{{member.firstName}} {{member.lastName}}</a></div> 467 </div> 468 </div> 469 <div class=""> 470 <button type="button" class="btn btn-outline-primary" ng-click="addParticipant(member)"><i class="fas fa-plus"></i></button> 471 </div> 472 </div> 473 474 </div> 475 <!-- end add participant grid item --> 476 </div> 477 478 </div> 479 480 </div> 481 </div> 482 483 </div> 484 485 <div class="messageFooter" id="messageFooter" ng-if="messagetab == 'conversation'" style="display: block"> 486 <!--<div class="postAttachments" ng-if="message.attachments.length"> 487 <a class="" data-toggle="collapse" href="#attachmentCollapse3" role="button" aria-expanded="false" 488 aria-controls="attachmentCollapse3"><i class="fas fa-paperclip mr-2"></i> view {{message.attachments.length}} attachments</a> 489 <div class="collapse attachmentCollapse" id="attachmentCollapse3"> 490 <div style="margin-top: 15px;"> 491 <a href="javascript:void(0)" class="ml-2" ng-repeat="attachment in message.attachments" ng-click="removeFile($index);"><i class="fas fa-times"></i> {{attachment.fileName}}</a> 492 </div> 493 </div> 494 </div>--> 495 <div class="postAttachments" ng-if="message.attachments.length"> 496 <div class="" id=""> 497 <div style="margin-top: 15px;"> 498 <a href="javascript:void(0)" class="ml-2" ng-repeat="attachment in message.attachments" ng-click="removeFile($index);"><i class="fas fa-times"></i> {{attachment.fileName}}</a> 499 </div> 500 </div> 501 </div> 502 503 <div class="align-items-center justify-content-between messageFooter"> 504 <div class="flex-fill" style="position: relative;"> 505 <label for="messageContent">Your message</label> 506 <textarea class="form-control" ng-model="message.text" id="messageContent" rows="1" data-emojiable="unicode" data-item-id="{{selectedConversation.conversationId}}" ng-keypress="keypressSendMessage($event)"></textarea> 507 508 </div> 509 <div class="ml-3 align-self-end"> 510 <!--<div class="custom-file" id="uploadImageIconButton"> 511 <input type="hidden" style="display: hidden;" name="fileId" accept="" ng-model="file.fileId" accept="image/*" /> 512 <label class="custom-file-label custom-hidden-upload-label" for="customFile" upload-button url="/File/Upload/true" accept="image/*" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUpload(response)" on-error="errorFileUpload(response)">Choose file</label> 513 </div> 514 <div class="custom-file" id="uploadFileIconButton"> 515 <input type="hidden" style="display: hidden;" name="fileId" accept="" ng-model="file.fileId" accept="image/*" /> 516 <label class="custom-file-label custom-hidden-upload-label" for="customFile" upload-button url="/File/Upload/true" accept="image/*" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUpload(response)" on-error="errorFileUpload(response)">Choose file</label> 517 </div> 518 519 520 <div type="button" class="btn btn-outline-primary mr-2 " id="uploadImageIconButton" upload-button url="/File/Upload/true" accept="image/*" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUpload(response)" on-error="errorFileUpload(response)"><i class="far fa-camera"></i></div> 521 <div type="button" class="btn btn-outline-primary mr-2 " id="uploadFileIconButton" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUpload(response)" on-error="errorFileUpload(response)">Upload</div> 522 523 --> 524 525 <div style="position: relative!important;" type="button" class="btn btn-outline-primary mr-2 hidden-file-input" upload-button url="/File/Upload/true" accept="image/*" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUpload(response)" on-error="errorFileUpload(response)"><i class="far fa-camera"></i></div> 526 <div style="position: relative !important;" type="button" class="btn btn-outline-primary mr-2 hidden-file-input" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUpload(response)" on-error="errorFileUpload(response)">Upload</div> 527 528 <button type="button" class="btn btn-primary mr-2" ng-click="sendMessageToGroup()">Send</button> 529 </div> 530 </div> 531 532 </div> 533 534 </div> 535 <!-- END MESSAGING FLYOUT --> 536 537 538 <section class="page-container" style="margin-left: 0;" ng-init="setId('1697438c-0d84-49e1-b7da-0b1c389882ad','');"> 539 <div class="container-fluid"> 540 541 <div ng-repeat="section in currentPage.sections"> 542 <link ng-if="section.font" ng-href="https://fonts.googleapis.com/css?family={{section.font}}" rel="stylesheet" type="text/css"> 543 <div ng-repeat="block in section.widgets"> 544 <link ng-if="block.headerFont" ng-href="https://fonts.googleapis.com/css?family={{block.headerFont}}" rel="stylesheet" type="text/css"> 545 <link ng-if="block.subheadFont" ng-href="https://fonts.googleapis.com/css?family={{block.subheadFont}}" rel="stylesheet" type="text/css"> 546 <link ng-if="block.paragraphFont" ng-href="https://fonts.googleapis.com/css?family={{block.paragraphFont}}" rel="stylesheet" type="text/css"> 547 <link ng-if="block.buttonFont" ng-href="https://fonts.googleapis.com/css?family={{block.buttonFont}}" rel="stylesheet" type="text/css"> 548 </div> 549 </div> 550 551 <!--<div class="row mb-4"> 552 <div class="col-12 d-flex align-items-center m-100"> 553 <h1 class="d-inline-flex m-100">Site Builder Examples</h1> 554 </div> 555 </div>--> 556 <div ng-cloak class="templateContainer" ng-class="{'customBg1': currentPage.backgroundColor == 1, 'customBg2': currentPage.backgroundColor == 2, 'customBg3': currentPage.backgroundColor == 3, 'customBg4': currentPage.backgroundColor == 4, 'customBg5': currentPage.backgroundColor == 5, 'customBg6': currentPage.backgroundColor == 6, 'customBg7': currentPage.backgroundColor == 7, 'customBg8': currentPage.backgroundColor == 8, 'verticalNavContainer' : sitedata.navigationLayout == 2}"> 557 558 <div style="padding-left: 25px;
558 {{sectionBackgroundImage(section)}} {{sectionStyles(section)}} {{sectionFont(section)}}" class="{{sectionBackgroundTextColor(section)}}" ng-repeat="section in currentPage.sections" ng-if="section.sectionType == 2" ng-class="{'customText6': sitedata.navigationLayout == 3}"> 559 <a class="mobileToggle mr-3 desktop-hide hideFromBlockedContent" ng-if="!hideNav" href="javascript:void(0);" onclick="mobileNav()"> 560 <i class="fas fa-bars"></i> 561 </a> 562 563 <div class="builderGridRow desktop-hide nM" id="mobileLinks" style="display: none; justify-content: start; align-items: start;"> 564 565 <div class="gridBlock populatedBlock mobileNavGrid hideFromBlockedContent" ng-if="!hideNav" id=""> 566 <div class="mobileNavBlock"> 567 <div class="mainNavLink"> 568 <a href="{{(sitePrefix.length > 0) ? sitePrefix : '/'}}">Home</a> 569 </div> 570 <div class="mainNavLink ml-4" ng-repeat="item in sitedata.menu"> 571 <a href="{{sitePrefix}}/{{item.pageSlug}}" ng-if="item.submenu.length < 1">{{item.pageName}}</a> 572 <a href="javascript:void(0)" ng-if="item.submenu.length > 0" id="dropdownMenuButton{{$index}}" role="button" id="dropdownMenuLink{{$index}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{(item.submenu != null && item.submenu.length && item.dropdownTitle != null && item.dropdownTitle.length) ? item.dropdownTitle : item.pageName}} <i class="fas fa-caret-down ml-2"></i></a> 573 <div class="dropdown-menu" ng-if="item.submenu.length > 0" aria-labelledby="dropdownMenuLink{{$index}}"> 574 <a class="dropdown-item" ng-if="!item.hideFromMainNav" href="{{sitePrefix}}/{{item.pageSlug}}">{{item.pageName}}</a> 575 <a class="dropdown-item" href="{{sitePrefix}}/{{subitem.pageSlug}}" ng-repeat="subitem in item.submenu">{{subitem.pageName}}</a> 576 </div> 577 </div> 578 <div class="mainNavLink ml-4" ng-if="isMember && sitedata.hasMessages && currentCustomerSite.enableChatUser"> 579 <a href="javascript:void(0)" class="messaging-link-global messagingIcon d-flex align-items-center" ng-click="showFlyout()"><i class="far fa-comments"></i><span class="badge badge-pill badge-danger" ng-if="newMessages"> </span></a> 580 </div> 581 <div class="mobileMenuInteract"> 582 <div class="mb-2"> 583 <span ng-show="!isMember"> 584 <a href="javascript:void(0)" ng-click="login();">Login</a> <span ng-if="sitedata.allowRegistrations">| <a href="javascript:void(0)" ng-click="register();">Register</a></span> 585 <!--<a href="/Login/{{(sitedata.siteBrand == 1) ? 'Membershine' : 'Hoastart'}}?ReturnUrl={{sitePrefix}}/{{currentPage.slug}}" ng-if="!isMember">Login</a>--> 586 </span> 587 588 <span ng-show="isMember"> 589 <a href="javascript:void(0)" ng-click="editUser(true)" ng-show="currentUser.firstName">{{currentUser.firstName}}'s Profile</a><span> | <a href="{{sitePrefix}}/member-dashboard">My Dashboard</a></span> <a ng-if="sitedata.isMobileDashboardEnabled">|</a> <a ng-if="sitedata.isMobileDashboardEnabled" href="javascript:void(0)" ng-click="transferToMemberPortal()">Member Portal</a> 590 </span> <a ng-if="isMember && (isAdmin || isSubAdmin)">|</a> <a href="javascript:void(0)" ng-if="isMember && (isAdmin || isSubAdmin) && !sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 591 <a href="javascript:void(0)" ng-if="isMember && (isAdmin || isSubAdmin) && sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 592 <a>
592|</a> <a href="/LogOff{{(sitedata.siteBrand == 1) ? 'Membershine' : 'Hoastart'}}?ReturnUrl={{sitePrefix}}">Log Off</a> 593 594 </div> 595 <div class="text-right"> 596 <a href="{{sitedata.facebookUrl}}" target="_BLANK" ng-if="sitedata.facebookUrl"><i class="fab fa-facebook-f mr-2"></i></a> 597 <a href="{{sitedata.twitterUrl}}" target="_BLANK" ng-if="sitedata.twitterUrl"><i class="fab fa-twitter mr-2"></i></a> 598 <a href="{{sitedata.instagramUrl}}" target="_BLANK" ng-if="sitedata.instagramUrl"><i class="fab fa-instagram mr-2"></i></a> 599 <a href="{{sitedata.linkedinUrl}}" target="_BLANK" ng-if="sitedata.linkedinUrl"><i class="fab fa-linkedin-in mr-2"></i></a> 600 </div> 601 </div> 602 </div> 603 </div> 604 </div> 605 </div> 606 607 <div ng-repeat="section in currentPage.sections" class=" {{sectionBackgroundTextColor(section)}}" ng-if="section.sectionType == 2 && sitedata.navigationLayout == 2" style="{{sectionBackgroundImage(section)}} {{sectionStyles(section)}} {{sectionFont(section)}}" ng-init="triggerParallax(section)" data-section="{{section.sectionId}}" ng-class="{'verticalNavWrap' : sitedata.navigationLayout == 2, 'parallaxsupport': section.backgroundImageId != null && section.backgroundType == 2 && section.backgroundParallax == true,'customBg1': section.backgroundType == 1 && section.backgroundColor == 1, 'customBg2': section.backgroundType == 1 && section.backgroundColor == 2, 'customBg3': section.backgroundType == 1 && section.backgroundColor == 3, 'customBg4': section.backgroundType == 1 && section.backgroundColor == 4, 'customBg5': section.backgroundType == 1 && section.backgroundColor == 5, 'customBg6': section.backgroundType == 1 && section.backgroundColor == 6, 'customBg7': section.backgroundType == 1 && section.backgroundColor == 7, 'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7, 'customBorderTop1': section.borderTopColor == 1, 'customBorderTop2': section.borderTopColor == 2, 'customBorderTop3': section.borderTopColor == 3, 'customBorderTop4': section.borderTopColor == 4, 'customBorderTop5': section.borderTopColor == 5, 'customBorderTop6': section.borderTopColor == 6, 'customBorderTop7': section.borderTopColor == 7, 'customBorderBottom1': section.borderBottomColor == 1, 'customBorderBottom2': section.borderBottomColor == 2, 'customBorderBottom3': section.borderBottomColor == 3, 'customBorderBottom4': section.borderBottomColor == 4, 'customBorderBottom5': section.borderBottomColor == 5, 'customBorderBottom6': section.borderBottomColor == 6, 'customBorderBottom7': section.borderBottomColor == 7}"> 608 <div class="sectionRowContainer"> 609 <div class="builderGridRow mobile-hide nM"> 610 <div class="gridBlock populatedBlock populatedBlock mainNavGrid hideFromBlockedContent" ng-if="!hideNav" style="{{(section.maxWidth != 0 && section.maxWidth != null) ? 'max-width: '+section.maxWidth+'px; margin: 0 auto;' : '' }}"> 611 <div class="mainNavBlock"> 612 <div class="mainNavLink"> 613 <a href="{{(sitePrefix.length > 0) ? sitePrefix : '/'}}">Home</a> 614 </div> 615 <div class="mainNavLink ml-4" ng-repeat="item in sitedata.menu"> 616 <a href="{{sitePrefix}}/{{item.pageSlug}}" ng-if="item.submenu.length < 1">{{item.pageName}}</a> 617 <a href="javascript:void(0)" ng-if="item.submenu.length > 0" id="dropdownMenuButton{{$index}}" role="button" id="dropdownMenuLink{{$index}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{(item.submenu != null && item.submenu.length && item.dropdownTitle != null && item.dropdownTitle.length) ? item.dropdownTitle : item.pageName}} <i class="fas fa-caret-down ml-2"></i></a> 618 <div class="dropdown-menu" ng-if="item.submenu.length > 0" aria-labelledby="dropdownMenuLink{{$index}}"> 619 <a class="dropdown-item" ng-if="!item.hideFromMainNav" href="{{sitePrefix}}/{{item.pageSlug}}">{{item.pageName}}</a> 620 <a class="dropdown-item" href="{{sitePrefix}}/{{subitem.pageSlug}}" ng-repeat="subitem in item.submenu">{{subitem.pageName}}</a> 621 </div> 622 </div> 623 <div class="mainNavLink ml-4" ng-if="isMember && sitedata.hasMessages && currentCustomerSite.enableChatUser"> 624 <a href="javascript:void(0)" class="messaging-link-global messagingIcon d-flex align-items-center" ng-click="showFlyout()"><i class="far fa-comments"></i><span class="badge badge-pill badge-danger" ng-if="newMessages"> </span></a> 625 </div> 626 </div> 627 </div> 628 </div> 629 </div> 630 </div> 631 632 <div ng-class="{'verticalNavContent' : sitedata.navigationLayout == 2}"> 633 <div class="sectionRowContainer {{sectionBackgroun
633dTextColor(section)}}" style="{{sectionBackgroundImage(section)}} {{sectionStyles(section)}} {{sectionFont(section)}}" ng-repeat="section in currentPage.sections" ng-if="section.sectionType == 1 && section.headerLayout == 4" ng-class="{'parallaxsupport': section.backgroundImageId != null && section.backgroundType == 2 && section.backgroundParallax == true, 'customBorderTop1': section.borderTopColor == 1, 'customBorderTop2': section.borderTopColor == 2, 'customBorderTop3': section.borderTopColor == 3, 'customBorderTop4': section.borderTopColor == 4, 'customBorderTop5': section.borderTopColor == 5, 'customBorderTop6': section.borderTopColor == 6, 'customBorderTop7': section.borderTopColor == 7, 'customBorderBottom1': section.borderBottomColor == 1, 'customBorderBottom2': section.borderBottomColor == 2, 'customBorderBottom3': section.borderBottomColor == 3, 'customBorderBottom4': section.borderBottomColor == 4, 'customBorderBottom5': section.borderBottomColor == 5, 'customBorderBottom6': section.borderBottomColor == 6, 'customBorderBottom7': section.borderBottomColor == 7}"> 634 <div class="builderGridRow" ng-init="triggerParallax(section)" data-section="{{section.sectionId}}"> 635 <div class="gridBlock populatedBlock" style="border-top: none; {{(section.maxWidth != 0 && section.maxWidth != null) ? 'max-width: '+section.maxWidth+'px; margin: 0 auto;' : '' }}"> 636 <div class="headerBlock d-flex justify-content-between align-items-center pt-3 pb-2"> 637 <div class="headerLeft d-flex justify-content-between align-items-center w-100"> 638 <div class="mb-sm-3 mb-0"> 639 <a href="{{(sitePrefix.length > 0) ? sitePrefix : '/'}}"> 640 641 <img class="mobileLogo" ng-src="{{imageSrc(sitedata.logoId)}}" ng-if="sitedata.logoId"> 642 <h1 ng-if="!sitedata.logoId" style="margin-bottom: 7px; font-weight: 500; font-size: 26px; line-height: 22px;">{{sitedata.siteName}}</h1> 643 </a> 644 645 <p ng-if="!sitedata.logoId" style="margin-bottom: 0; font-weight: 500; font-size: 16px;">{{section.headerBrandText}}</p> 646 </div> 647 <div class="row" ng-if="isMember && (userNumberOfHouseholds > 0 || userBalance != '$0.00')"> 648 <div class="col-auto" ng-if="userNumberOfHouseholds > 0"> 649 <p class="mb-0 text-light text-uppercase small"><i class="far fa-home"></i> Household Wallet{{userNumberofHouseholds != 1 ? "" : "s"}}</p> 650 <p ng-if="userNumberOfHouseholds <= 0" class="text-500">No household wallets available</p> 651 <a ng-if="userNumberOfHouseholds == 1" href="javascript:void(0)" class="text-decoration-underline text-500" ng-click="openHouseholdWalletModal()" style="color: #0076B9 !important">{{formatMoneyWithDollars(singleHouseholdWalletBalance)}}</a> 652 <a ng-if="userNumberOfHouseholds > 1" href="javascript:void(0)" class="text-decoration-underline text-500" ng-click="openHouseholdWalletModal()" style="color: #0076B9 !important">{{userNumberOfHouseholds}} wallets available</a> 653 </div> 654 655 <div class="col-auto" ng-if="userBalance != '$0.00'"> 656 <p class="mb-0 text-light text-uppercase small"><i class="far fa-wallet"></i> My Wallet</p> 657 <a href="javascript:void(0)" class="text-decoration-underline text-500" ng-click="openMemberWalletModal()" style="color: #0076B9 !important">{{userBalance}}</a> 658 </div> 659 </div> 660 </div> 661 662 <div class="headerRight mobile-hide"> 663 <div class="text-right mb-2"> 664 <a href="{{sitedata.facebookUrl}}" target="_BLANK" ng-if="sitedata.facebookUrl"><i class="fab fa-facebook-f mr-2"></i></a> 665 <a href="{{sitedata.twitterUrl}}" target="_BLANK" ng-if="sitedata.twitterUrl"><i class="fab fa-twitter mr-2"></i></a> 666 <a href="{{sitedata.instagramUrl}}" target="_BLANK" ng-if="sitedata.instagramUrl"><i class="fab fa-instagram mr-2"></i></a> 667 <a href="{{sitedata.linkedinUrl}}" target="_BLANK" ng-if="sitedata.linkedinUrl"><i class="fab fa-linkedin-in mr-2"></i></a>
668 <span ng-show="!isMember" class="text-no-wrap" style="text-wrap: nowrap"> 669 <a href="javascript:void(0)" ng-click="login();">Login</a> <span ng-if="sitedata.allowRegistrations">| <a href="javascript:void(0)" ng-click="register();">Register</a></span> 670 <!--<a href="/Login/{{(sitedata.siteBrand == 1) ? 'Membershine' : 'Hoastart'}}?ReturnUrl={{sitePrefix}}/{{currentPage.slug}}" ng-if="!isMember">Login</a>--> 671 </span> 672 <span ng-show="isMember"> 673 <div class="ml-auto mr-2 mt-1"> 674 <a ng-if="hasProptia" ng-click="transferToProptia()" href="javascript:void(0)"> 675 676 <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 677 viewB
677ox="0 0 288 252" style="enable-background:new 0 0 288 252; height: 9px; width: 90px; overflow: visible;" xml:space="preserve" ng-class="{'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7}"> 678 <g> 679 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M189,283.73c0,1.56,0,3.33,0,5.09c0,33.83-0.02,67.66,0.04,101.49c0,2.67-0.41,4.47-3.09,6 680 c-28.62,16.35-57.13,32.88-85.67,49.35c-0.82,0.47-1.68,0.88-3.28,1.72c0-2.57,0-4.49,0-6.41c0-104.82,0-209.64,0-314.46 681 c0-84.12,61.42-158.1,143.96-173.41c93.4-17.32,182.56,40.08,205.51,132.32c24.72,99.35-42.4,200.84-143.3,216.71 682 c-38.36,6.03-74.92,0.54-109.62-16.99c-1.19-0.6-2.39-1.18-3.59-1.74C189.86,283.34,189.66,283.49,189,283.73z M274.11,212.17 683 c47.03,0,85.03-37.79,85.06-84.58c0.03-47.16-38-85.41-84.93-85.42c-46.82-0.01-85.46,38.65-85.24,85.29 684 C189.23,174.32,227.26,212.17,274.11,212.17z" /> 685 686 687 688 689 690 691 692 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-967.17,447.33c0-3.17,0-5.33,0-7.49c0-104.32,0-208.64,0-312.96c0-86.62,63.34-160.95,148.9-174.71 693 c96.05-15.45,186.44,49.37,203.05,145.61c16.6,96.15-50.16,189.51-146.07,204.37c-38.2,5.92-74.59,0.54-109.15-16.89 694 c-1.19-0.6-2.4-1.15-3.61-1.7c-0.12-0.05-0.31,0.05-1.12,0.22c0,1.59,0,3.33,0,5.07c0,33.5-0.08,66.99,0.11,100.49 695 c0.02,4.08-1.37,6.12-4.8,8.07c-27.49,15.63-54.87,31.46-82.29,47.22C-963.55,445.43-964.99,446.16-967.17,447.33z M-790.38,212.17 696 c47.28,0,85.36-37.85,85.38-84.87c0.02-46.65-38.3-85.11-84.83-85.13c-47.03-0.02-85.34,38.17-85.34,85.07 697 C-875.17,174.12-837.19,212.16-790.38,212.17z" /> 698 699 700 701 702 703 704 705 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M1162.79,304.19c0-7.16,0-13.91,0-21.34c-46.76,24.14-94.71,28.57-144,11.73c-35.56-12.15-64.24-34.05-86-64.68 706 c-44.09-62.06-43.58-145.76,0.97-206.64c17.13-23.41,38.58-41.68,64.55-54.65c25.81-12.9,53.18-18.98,81.97-18.55 707 c28.93,0.43,56.17,7.74,82.46,21.84c0-7.69,0-14.54,0-21.62c30.86,0,61.12,0,91.74,0c0,117.92,0,235.76,0,353.93 708 C1224.09,304.19,1193.84,304.19,1162.79,304.19z M1162.48,127.17c-0.16-47.12-38.58-85.09-86.01-85 709 c-46.26,0.09-84.67,38.89-84.23,85.71c0.48,50.08,42.68,85.58,87.45,84.5C1124.53,211.29,1162.63,172.93,1162.48,127.17z" /> 710 711 712 713 714 715 716 717 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-140.1,304.51c-99.93-0.02-178.16-82.14-177.26-179.41c0.89-96.32,80.34-175.18,178.11-175.1 718 c97.21,0.08,176.4,79.62,176.41,177.2C37.18,225.28-42.03,304.51-140.1,304.51z M-140.3,212.17c47.08,0,85.26-37.78,85.3-84.4 719 c0.04-47.16-38.03-85.58-84.8-85.6c-46.99-0.02-85.35,38.23-85.35,85.11C-225.16,174.09-187.1,212.16-140.3,212.17z" /> 720 721 722 723 724 725 726 727 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M602.99-49.98c28.91,0,56.88,0,85.18,0c0,30.71,0,61.12,0,92.1c-28.23,0-56.3,0-84.72,0c-0.12,2.15-0.28,3.77-0.28,5.38 728 c-0.02,26.66-0.07,53.33,0,79.99c0.13,44.64,35.01,81.73,79.55,84.68c1.65,0.11,3.3,0.34,5.35,0.56c0,30.33,0,60.57,0,91.1 729 c-5.55,0-11.31,0.45-16.98-0.07c-80.15-7.3-146.25-70.13-157.81-150.16c-1.45-10.02-2.17-20.24-2.19-30.36 730 c-0.17-85.99-0.06-171.99-0.2-257.98c-0.01-4.05,1.3-6.2,4.73-8.15c27.35-15.55,54.59-31.29,81.87-46.95 731 c1.56-0.9,3.18-1.69,5.49-2.92C602.99-144.98,602.99-97.81,602.99-49.98z" /> 732 733 734 735 736 737 738 739 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-377.21-49.98c0,31.06,0,61.34,0,90.62c-10.55,2.52-21.04,3.93-30.71,7.54c-32.85,12.28-54.22,43.9-54.24,78.91 740 c-0.03,57.15-0.01,114.31-0.01,171.46c0,1.96,0,3.92,0,6.15c-30.91,0-61.33,0-92.34,0c0-1.87,0-3.66,0-5.46 741 c0-56.15-0.07-112.31,0.02-168.46c0.12-80.13,48.68-148.21,122.56-172.14c16.27-5.27,32.96-7.99,50.02-8.62 742 C-380.45-50.02-378.98-49.98-377.21-49.98z" /> 743 744 745 746 747 748 749 750 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M839.97-49.73c0,118.32,0,235.92,0,353.88c-30.57,0-60.96,0-91.81,0c0-2.09,0-3.89,0-5.69c0-99.65,0.02-199.29-0.08-298.94
751 c0-3.98,1.02-6.07,4.85-7.87c27.39-12.9,54.62-26.12,81.91-39.22C836.32-48.27,837.86-48.84,839.97-49.73z" /></g> 752</svg> 753 </a> 754 </div> 755 <div class="" uib-dropdown> 756 <a href="javascript:void(0)" uib-dropdown-toggle role="button" id="userDropDown" aria-haspopup="true" aria-expanded="false" class="user-actions-drop body-text-link"> 757 <div class="md-avatar size-1 rounded-circle d-inline-block mr-2" style="background-image: url({{currentUser.avatar}})"></div> 758 <span class="user-name text-truncate mr-1">Hello, {{currentUser.firstName}}</span> 759 </a> 760 <div uib-dropdown-menu class="dropdown-menu-right" aria-labelledby="userDropDown" style="top: 35px!important;"> 761 <a class="dropdown-item" href="javascript:void(0)" ng-click="editUser(true)">My Profile</a> 762 <a class="dropdown-item" href="{{sitePrefix}}/member-dashboard">My Dashboard</a> 763 <a class="dropdown-item" ng-if="sitedata.isMobileDashboardEnabled" href="javascript:void(0)" ng-click="transferToMemberPortal()">Member Portal</a> 764 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && (isAdmin || isSubAdmin) && !sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 765 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && (isAdmin || isSubAdmin) && sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 766 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && sitedata.isCommitteeLeader && !sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/committees')">My Committees</a> 767 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && sitedata.isCommitteeLeader && sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/committees')">My Committees</a> 768 <a class="dropdown-item" href="javascript:void(0)" ng-if="appConstants.CurrentUser.sites.length > 1" ng-click="switchSiteModal()">My Sites</a> 769 <a class="dropdown-item" href="/LogOff{{(sitedata.siteBrand == 1) ? 'Membershine' : 'Hoastart'}}?ReturnUrl={{sitePrefix}}">Log Off</a> 770 </div> 771 </div> 772 </span> 773 </div> 774 <div class="text-right" style="min-width: 500px;"> 775 <span ng-if="section.headerPhoneNumber">{{section.headerPhoneNumber}}</span> <span ng-if="section.headerPhoneNumber && section.headerEmail">|</span> <span ng-if="section.headerEmail">{{section.headerEmail}}</span> 776 </div> 777 </div> 778 </div> 779 </div> 780 </div> 781 </div> 782 783 784 <div class="sectionRowContainer {{sectionBackgroun
784dTextColor(section)}}" style="{{sectionBackgroundImage(section)}} {{sectionStyles(section)}} {{sectionFont(section)}}" ng-repeat="section in currentPage.sections" ng-if="section.sectionType == 1 && section.headerLayout == null" ng-class="{'parallaxsupport': section.backgroundImageId != null && section.backgroundType == 2 && section.backgroundParallax == true, 'customBorderTop1': section.borderTopColor == 1, 'customBorderTop2': section.borderTopColor == 2, 'customBorderTop3': section.borderTopColor == 3, 'customBorderTop4': section.borderTopColor == 4, 'customBorderTop5': section.borderTopColor == 5, 'customBorderTop6': section.borderTopColor == 6, 'customBorderTop7': section.borderTopColor == 7, 'customBorderBottom1': section.borderBottomColor == 1, 'customBorderBottom2': section.borderBottomColor == 2, 'customBorderBottom3': section.borderBottomColor == 3, 'customBorderBottom4': section.borderBottomColor == 4, 'customBorderBottom5': section.borderBottomColor == 5, 'customBorderBottom6': section.borderBottomColor == 6, 'customBorderBottom7': section.borderBottomColor == 7}"> 785 <div class="builderGridRow" ng-init="triggerParallax(section)" data-section="{{section.sectionId}}"> 786 <div class="gridBlock populatedBlock headerGrid" style="border-top: none; {{(section.maxWidth != 0 && section.maxWidth != null) ? 'max-width: '+section.maxWidth+'px; margin: 0 auto;' : '' }}"> 787 <div class="headerBlock"> 788 <div class="headerLeft"> 789 <a href="{{(sitePrefix.length > 0) ? sitePrefix : '/'}}"> 790 791 <img class="mobileLogo" ng-src="{{imageSrc(sitedata.logoId)}}" ng-if="sitedata.logoId"> 792 <h1 style="font-size: 32px; font-weight: 500;" ng-if="!sitedata.logoId">{{sitedata.siteName}}</h1> 793 </a> 794 </div> 795 796 <div class="headerRight mobile-hide"> 797 <div class="text-right mb-2"> 798 <span ng-show="!isMember"> 799 <a href="javascript:void(0)" ng-click="login();">Login</a> <span ng-if="sitedata.allowRegistrations">| <a href="javascript:void(0)" ng-click="register();">Register</a></span> 800 <!--<a href="/Login/{{(sitedata.siteBrand == 1) ? 'Membershine' : 'Hoastart'}}?ReturnUrl={{sitePrefix}}/{{currentPage.slug}}" ng-if="!isMember">Login</a>--> 801 </span> 802 803 <span ng-show="isMember"> 804 <div class="ml-auto mr-2 mt-1"> 805 <a ng-if="hasProptia" ng-click="transferToProptia()" href="javascript:void(0)"> 806 807 <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 808 viewB
808ox="0 0 288 252" style="enable-background:new 0 0 288 252; height: 9px; width: 90px; overflow: visible;" xml:space="preserve" ng-class="{'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7}"> 809 <g> 810 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M189,283.73c0,1.56,0,3.33,0,5.09c0,33.83-0.02,67.66,0.04,101.49c0,2.67-0.41,4.47-3.09,6 811 c-28.62,16.35-57.13,32.88-85.67,49.35c-0.82,0.47-1.68,0.88-3.28,1.72c0-2.57,0-4.49,0-6.41c0-104.82,0-209.64,0-314.46 812 c0-84.12,61.42-158.1,143.96-173.41c93.4-17.32,182.56,40.08,205.51,132.32c24.72,99.35-42.4,200.84-143.3,216.71 813 c-38.36,6.03-74.92,0.54-109.62-16.99c-1.19-0.6-2.39-1.18-3.59-1.74C189.86,283.34,189.66,283.49,189,283.73z M274.11,212.17 814 c47.03,0,85.03-37.79,85.06-84.58c0.03-47.16-38-85.41-84.93-85.42c-46.82-0.01-85.46,38.65-85.24,85.29 815 C189.23,174.32,227.26,212.17,274.11,212.17z" /> 816 817 818 819 820 821 822 823 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-967.17,447.33c0-3.17,0-5.33,0-7.49c0-104.32,0-208.64,0-312.96c0-86.62,63.34-160.95,148.9-174.71 824 c96.05-15.45,186.44,49.37,203.05,145.61c16.6,96.15-50.16,189.51-146.07,204.37c-38.2,5.92-74.59,0.54-109.15-16.89 825 c-1.19-0.6-2.4-1.15-3.61-1.7c-0.12-0.05-0.31,0.05-1.12,0.22c0,1.59,0,3.33,0,5.07c0,33.5-0.08,66.99,0.11,100.49 826 c0.02,4.08-1.37,6.12-4.8,8.07c-27.49,15.63-54.87,31.46-82.29,47.22C-963.55,445.43-964.99,446.16-967.17,447.33z M-790.38,212.17 827 c47.28,0,85.36-37.85,85.38-84.87c0.02-46.65-38.3-85.11-84.83-85.13c-47.03-0.02-85.34,38.17-85.34,85.07 828 C-875.17,174.12-837.19,212.16-790.38,212.17z" /> 829 830 831 832 833 834 835 836 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M1162.79,304.19c0-7.16,0-13.91,0-21.34c-46.76,24.14-94.71,28.57-144,11.73c-35.56-12.15-64.24-34.05-86-64.68 837 c-44.09-62.06-43.58-145.76,0.97-206.64c17.13-23.41,38.58-41.68,64.55-54.65c25.81-12.9,53.18-18.98,81.97-18.55 838 c28.93,0.43,56.17,7.74,82.46,21.84c0-7.69,0-14.54,0-21.62c30.86,0,61.12,0,91.74,0c0,117.92,0,235.76,0,353.93 839 C1224.09,304.19,1193.84,304.19,1162.79,304.19z M1162.48,127.17c-0.16-47.12-38.58-85.09-86.01-85 840 c-46.26,0.09-84.67,38.89-84.23,85.71c0.48,50.08,42.68,85.58,87.45,84.5C1124.53,211.29,1162.63,172.93,1162.48,127.17z" /> 841 842 843 844 845 846 847 848 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-140.1,304.51c-99.93-0.02-178.16-82.14-177.26-179.41c0.89-96.32,80.34-175.18,178.11-175.1 849 c97.21,0.08,176.4,79.62,176.41,177.2C37.18,225.28-42.03,304.51-140.1,304.51z M-140.3,212.17c47.08,0,85.26-37.78,85.3-84.4 850 c0.04-47.16-38.03-85.58-84.8-85.6c-46.99-0.02-85.35,38.23-85.35,85.11C-225.16,174.09-187.1,212.16-140.3,212.17z" /> 851 852 853 854 855 856 857 858 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M602.99-49.98c28.91,0,56.88,0,85.18,0c0,30.71,0,61.12,0,92.1c-28.23,0-56.3,0-84.72,0c-0.12,2.15-0.28,3.77-0.28,5.38 859 c-0.02,26.66-0.07,53.33,0,79.99c0.13,44.64,35.01,81.73,79.55,84.68c1.65,0.11,3.3,0.34,5.35,0.56c0,30.33,0,60.57,0,91.1 860 c-5.55,0-11.31,0.45-16.98-0.07c-80.15-7.3-146.25-70.13-157.81-150.16c-1.45-10.02-2.17-20.24-2.19-30.36 861 c-0.17-85.99-0.06-171.99-0.2-257.98c-0.01-4.05,1.3-6.2,4.73-8.15c27.35-15.55,54.59-31.29,81.87-46.95 862 c1.56-0.9,3.18-1.69,5.49-2.92C602.99-144.98,602.99-97.81,602.99-49.98z" /> 863 864 865 866 867 868 869 870 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-377.21-49.98c0,31.06,0,61.34,0,90.62c-10.55,2.52-21.04,3.93-30.71,7.54c-32.85,12.28-54.22,43.9-54.24,78.91 871 c-0.03,57.15-0.01,114.31-0.01,171.46c0,1.96,0,3.92,0,6.15c-30.91,0-61.33,0-92.34,0c0-1.87,0-3.66,0-5.46 872 c0-56.15-0.07-112.31,0.02-168.46c0.12-80.13,48.68-148.21,122.56-172.14c16.27-5.27,32.96-7.99,50.02-8.62 873 C-380.45-50.02-378.98-49.98-377.21-49.98z" /> 874 875 876 877 878 879 880 881 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M839.97-49.73c0,118.32,0,235.92,0,353.88c-30.57,0-60.96,0-91.81,0c0-2.09,0-3.89,0-5.69c0-99.65,0.02-199.29-0.08-298.94
882 c0-3.98,1.02-6.07,4.85-7.87c27.39-12.9,54.62-26.12,81.91-39.22C836.32-48.27,837.86-48.84,839.97-49.73z" /></g> 883</svg> 884 </a> 885 </div> 886 <div class="" uib-dropdown> 887 <a href="javascript:void(0)" uib-dropdown-toggle role="button" id="userDropDown" aria-haspopup="true" aria-expanded="false" class="user-actions-drop body-text-link"> 888 <div class="md-avatar size-1 rounded-circle d-inline-block mr-2" style="background-image: url({{currentUser.avatar}})"></div> 889 <span class="user-name text-truncate mr-1">Hello, {{currentUser.firstName}}</span> 890 </a> 891 <div uib-dropdown-menu class="dropdown-menu-right" aria-labelledby="userDropDown" style="top: 35px!important;"> 892 <a class="dropdown-item" href="javascript:void(0)" ng-click="editUser(true)">My Profile</a> 893 <a class="dropdown-item" href="{{sitePrefix}}/member-dashboard">My Dashboard</a> 894 <a class="dropdown-item" ng-if="sitedata.isMobileDashboardEnabled" href="javascript:void(0)" ng-click="transferToMemberPortal()">Member Portal</a> 895 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && (isAdmin || isSubAdmin) && !sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 896 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && (isAdmin || isSubAdmin) && sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 897 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && sitedata.isCommitteeLeader && !sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/committees')">My Committees</a> 898 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && sitedata.isCommitteeLeader && sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/committees')">My Committees</a> 899 <a class="dropdown-item" href="javascript:void(0)" ng-if="appConstants.CurrentUser.sites.length > 1" ng-click="switchSiteModal()">My Sites</a> 900 <a class="dropdown-item" href="/LogOff{{(sitedata.siteBrand == 1) ? 'Membershine' : 'Hoastart'}}?ReturnUrl={{sitePrefix}}">Log Off</a> 901 </div> 902 </div> 903 </span> 904 </div> 905 <div class="text-right"> 906 <a href="{{sitedata.facebookUrl}}" target="_BLANK" ng-if="sitedata.facebookUrl"><i class="fab fa-facebook-f mr-2"></i></a> 907 <a href="{{sitedata.twitterUrl}}" target="_BLANK" ng-if="sitedata.twitterUrl"><i class="fab fa-twitter mr-2"></i></a> 908 <a href="{{sitedata.instagramUrl}}" target="_BLANK" ng-if="sitedata.instagramUrl"><i class="fab fa-instagram mr-2"></i></a> 909 <a href="{{sitedata.linkedinUrl}}" target="_BLANK" ng-if="sitedata.linkedinUrl"><i class="fab fa-linkedin-in mr-2"></i></a> 910 </div> 911 </div> 912 </div> 913 </div> 914 </div> 915 </div> 916 <div class="sectionRowContainer {{sectionBackgroun
916dTextColor(section)}}" style="{{sectionBackgroundImage(section)}} {{sectionStyles(section)}} {{sectionFont(section)}}" ng-repeat="section in currentPage.sections" ng-if="section.sectionType == 1 && section.headerLayout == 1" ng-class="{'parallaxsupport': section.backgroundImageId != null && section.backgroundType == 2 && section.backgroundParallax == true, 'customBorderTop1': section.borderTopColor == 1, 'customBorderTop2': section.borderTopColor == 2, 'customBorderTop3': section.borderTopColor == 3, 'customBorderTop4': section.borderTopColor == 4, 'customBorderTop5': section.borderTopColor == 5, 'customBorderTop6': section.borderTopColor == 6, 'customBorderTop7': section.borderTopColor == 7, 'customBorderBottom1': section.borderBottomColor == 1, 'customBorderBottom2': section.borderBottomColor == 2, 'customBorderBottom3': section.borderBottomColor == 3, 'customBorderBottom4': section.borderBottomColor == 4, 'customBorderBottom5': section.borderBottomColor == 5, 'customBorderBottom6': section.borderBottomColor == 6, 'customBorderBottom7': section.borderBottomColor == 7}"> 917 <div class="builderGridRow" ng-init="triggerParallax(section)" data-section="{{section.sectionId}}"> 918 <div class="gridBlock populatedBlock headerGrid headerGrid1" style="border-top: none; {{(section.maxWidth != 0 && section.maxWidth != null) ? 'max-width: '+section.maxWidth+'px; margin: 0 auto;' : '' }}"> 919 920 <div class="headerBlock"> 921 <div class="headerLeft"> 922 <a href="{{(sitePrefix.length > 0) ? sitePrefix : '/'}}"> 923 <img ng-src="{{imageSrc(sitedata.logoId)}}" ng-if="sitedata.logoId"> 924 <h1 style="font-size: 32px; font-weight: 500;" ng-class="{'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7}" ng-if="!sitedata.logoId">{{sitedata.siteName}}</h1> 925 </a> 926 <span ng-class="{'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7}" ng-if="section.headerBrandText">{{section.headerBrandText}}</span> 927 </div> 928 <div class="headerRight mobile-hide"> 929 <div class="text-right mb-2"> 930 <span ng-show="!isMember"> 931 <a href="javascript:void(0)" ng-click="login();">Login</a> <span ng-if="sitedata.allowRegistrations">| <a href="javascript:void(0)" ng-click="register();">Register</a></span> 932 <!--<a href="/Login/{{(sitedata.siteBrand == 1) ? 'Membershine' : 'Hoastart'}}?ReturnUrl={{sitePrefix}}/{{currentPage.slug}}" ng-if="!isMember">Login</a>--> 933 </span> 934 <span ng-show="isMember"> 935 <div class="ml-auto mr-2 mt-1"> 936 <a ng-if="hasProptia" ng-click="transferToProptia()" href="javascript:void(0)"> 937 938 <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 939 viewB
939ox="0 0 288 252" style="enable-background:new 0 0 288 252; height: 9px; width: 90px; overflow: visible;" xml:space="preserve" ng-class="{'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7}"> 940 <g> 941 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M189,283.73c0,1.56,0,3.33,0,5.09c0,33.83-0.02,67.66,0.04,101.49c0,2.67-0.41,4.47-3.09,6 942 c-28.62,16.35-57.13,32.88-85.67,49.35c-0.82,0.47-1.68,0.88-3.28,1.72c0-2.57,0-4.49,0-6.41c0-104.82,0-209.64,0-314.46 943 c0-84.12,61.42-158.1,143.96-173.41c93.4-17.32,182.56,40.08,205.51,132.32c24.72,99.35-42.4,200.84-143.3,216.71 944 c-38.36,6.03-74.92,0.54-109.62-16.99c-1.19-0.6-2.39-1.18-3.59-1.74C189.86,283.34,189.66,283.49,189,283.73z M274.11,212.17 945 c47.03,0,85.03-37.79,85.06-84.58c0.03-47.16-38-85.41-84.93-85.42c-46.82-0.01-85.46,38.65-85.24,85.29 946 C189.23,174.32,227.26,212.17,274.11,212.17z" /> 947 948 949 950 951 952 953 954 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-967.17,447.33c0-3.17,0-5.33,0-7.49c0-104.32,0-208.64,0-312.96c0-86.62,63.34-160.95,148.9-174.71 955 c96.05-15.45,186.44,49.37,203.05,145.61c16.6,96.15-50.16,189.51-146.07,204.37c-38.2,5.92-74.59,0.54-109.15-16.89 956 c-1.19-0.6-2.4-1.15-3.61-1.7c-0.12-0.05-0.31,0.05-1.12,0.22c0,1.59,0,3.33,0,5.07c0,33.5-0.08,66.99,0.11,100.49 957 c0.02,4.08-1.37,6.12-4.8,8.07c-27.49,15.63-54.87,31.46-82.29,47.22C-963.55,445.43-964.99,446.16-967.17,447.33z M-790.38,212.17 958 c47.28,0,85.36-37.85,85.38-84.87c0.02-46.65-38.3-85.11-84.83-85.13c-47.03-0.02-85.34,38.17-85.34,85.07 959 C-875.17,174.12-837.19,212.16-790.38,212.17z" /> 960 961 962 963 964 965 966 967 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M1162.79,304.19c0-7.16,0-13.91,0-21.34c-46.76,24.14-94.71,28.57-144,11.73c-35.56-12.15-64.24-34.05-86-64.68 968 c-44.09-62.06-43.58-145.76,0.97-206.64c17.13-23.41,38.58-41.68,64.55-54.65c25.81-12.9,53.18-18.98,81.97-18.55 969 c28.93,0.43,56.17,7.74,82.46,21.84c0-7.69,0-14.54,0-21.62c30.86,0,61.12,0,91.74,0c0,117.92,0,235.76,0,353.93 970 C1224.09,304.19,1193.84,304.19,1162.79,304.19z M1162.48,127.17c-0.16-47.12-38.58-85.09-86.01-85 971 c-46.26,0.09-84.67,38.89-84.23,85.71c0.48,50.08,42.68,85.58,87.45,84.5C1124.53,211.29,1162.63,172.93,1162.48,127.17z" /> 972 973 974 975 976 977 978 979 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-140.1,304.51c-99.93-0.02-178.16-82.14-177.26-179.41c0.89-96.32,80.34-175.18,178.11-175.1 980 c97.21,0.08,176.4,79.62,176.41,177.2C37.18,225.28-42.03,304.51-140.1,304.51z M-140.3,212.17c47.08,0,85.26-37.78,85.3-84.4 981 c0.04-47.16-38.03-85.58-84.8-85.6c-46.99-0.02-85.35,38.23-85.35,85.11C-225.16,174.09-187.1,212.16-140.3,212.17z" /> 982 983 984 985 986 987 988 989 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M602.99-49.98c28.91,0,56.88,0,85.18,0c0,30.71,0,61.12,0,92.1c-28.23,0-56.3,0-84.72,0c-0.12,2.15-0.28,3.77-0.28,5.38 990 c-0.02,26.66-0.07,53.33,0,79.99c0.13,44.64,35.01,81.73,79.55,84.68c1.65,0.11,3.3,0.34,5.35,0.56c0,30.33,0,60.57,0,91.1 991 c-5.55,0-11.31,0.45-16.98-0.07c-80.15-7.3-146.25-70.13-157.81-150.16c-1.45-10.02-2.17-20.24-2.19-30.36 992 c-0.17-85.99-0.06-171.99-0.2-257.98c-0.01-4.05,1.3-6.2,4.73-8.15c27.35-15.55,54.59-31.29,81.87-46.95 993 c1.56-0.9,3.18-1.69,5.49-2.92C602.99-144.98,602.99-97.81,602.99-49.98z" /> 994 995 996 997 998 999 1000 1001 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-377.21-49.98c0,31.06,0,61.34,0,90.62c-10.55,2.52-21.04,3.93-30.71,7.54c-32.85,12.28-54.22,43.9-54.24,78.91 1002 c-0.03,57.15-0.01,114.31-0.01,171.46c0,1.96,0,3.92,0,6.15c-30.91,0-61.33,0-92.34,0c0-1.87,0-3.66,0-5.46 1003 c0-56.15-0.07-112.31,0.02-168.46c0.12-80.13,48.68-148.21,122.56-172.14c16.27-5.27,32.96-7.99,50.02-8.62 1004 C-380.45-50.02-378.98-49.98-377.21-49.98z" /> 1005 1006 1007 1008 1009 1010 1011 1012 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M839.97-49.73c0,118.32,0,235.92,0,353.88c-30.57,0-60.96,0-91.81,0c0-2.09,0-3.89,0-5.69c0-99.65,0.02-199.29-0.08-298.94
1013 c0-3.98,1.02-6.07,4.85-7.87c27.39-12.9,54.62-26.12,81.91-39.22C836.32-48.27,837.86-48.84,839.97-49.73z" /></g> 1014</svg> 1015 </a> 1016 </div> 1017 <div class="" uib-dropdown> 1018 <a href="javascript:void(0)" uib-dropdown-toggle role="button" id="userDropDown" aria-haspopup="true" aria-expanded="false" class="user-actions-drop body-text-link"> 1019 <div class="md-avatar size-1 rounded-circle d-inline-block mr-2" style="background-image: url({{currentUser.avatar}})"></div> 1020 <span class="user-name text-truncate mr-1">Hello, {{currentUser.firstName}}</span> 1021 </a> 1022 <div uib-dropdown-menu class="dropdown-menu-right" aria-labelledby="userDropDown" style="top: 35px!important;"> 1023 <a class="dropdown-item" href="javascript:void(0)" ng-click="editUser(true)">My Profile</a> 1024 <a class="dropdown-item" href="{{sitePrefix}}/member-dashboard">My Dashboard</a> 1025 <a class="dropdown-item" ng-if="sitedata.isMobileDashboardEnabled" href="javascript:void(0)" ng-click="transferToMemberPortal()">Member Portal</a> 1026 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && (isAdmin || isSubAdmin) && !sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 1027 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && (isAdmin || isSubAdmin) && sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 1028 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && sitedata.isCommitteeLeader && !sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/committees')">My Committees</a> 1029 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && sitedata.isCommitteeLeader && sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/committees')">My Committees</a> 1030 <a class="dropdown-item" href="javascript:void(0)" ng-if="appConstants.CurrentUser.sites.length > 1" ng-click="switchSiteModal()">My Sites</a> 1031 <a class="dropdown-item" href="/LogOff{{(sitedata.siteBrand == 1) ? 'Membershine' : 'Hoastart'}}?ReturnUrl={{sitePrefix}}">Log Off</a> 1032 </div> 1033 </div> 1034 </span> 1035 </div> 1036 <div class="text-right"> 1037 <a href="{{sitedata.facebookUrl}}" target="_BLANK" ng-if="sitedata.facebookUrl"><i class="fab fa-facebook-f mr-2"></i></a> 1038 <a href="{{sitedata.twitterUrl}}" target="_BLANK" ng-if="sitedata.twitterUrl"><i class="fab fa-twitter mr-2"></i></a> 1039 <a href="{{sitedata.instagramUrl}}" target="_BLANK" ng-if="sitedata.instagramUrl"><i class="fab fa-instagram mr-2"></i></a> 1040 <a href="{{sitedata.linkedinUrl}}" target="_BLANK" ng-if="sitedata.linkedinUrl"><i class="fab fa-linkedin-in mr-2"></i></a> 1041 </div> 1042 <div class="text-right" ng-class="{'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7}">
1043 <span ng-if="section.headerPhoneNumber">{{section.headerPhoneNumber}}</span> <span ng-if="section.headerPhoneNumber && section.headerEmail">|</span> <span ng-if="section.headerEmail"><a target="_BLANK" href="mailto:{{section.headerEmail}}">{{section.headerEmail}}</a></span> 1044 </div> 1045 </div> 1046 </div> 1047 </div> 1048 </div> 1049 </div> 1050 1051 1052 <div class="sectionRowContainer {{sectionBackgroundTextColor(section)}}" style="{{sectionBackgroundImage(section)}} {{sectionStyles(section)}} {{sectionFont(section)}}" ng-repeat="section in currentPage.sections" ng-if="section.sectionType == 1 && section.headerLayout == 2" ng-class="{'parallaxsupport': section.backgroundImageId != null && section.backgroundType == 2 && section.backgroundParallax == true, 'customBorderTop1': section.borderTopColor == 1, 'customBorderTop2': section.borderTopColor == 2, 'customBorderTop3': section.borderTopColor == 3, 'customBorderTop4': section.borderTopColor == 4, 'customBorderTop5': section.borderTopColor == 5, 'customBorderTop6': section.borderTopColor == 6, 'customBorderTop7': section.borderTopColor == 7, 'customBorderBottom1': section.borderBottomColor == 1, 'customBorderBottom2': section.borderBottomColor == 2, 'customBorderBottom3': section.borderBottomColor == 3, 'customBorderBottom4': section.borderBottomColor == 4, 'customBorderBottom5': section.borderBottomColor == 5, 'customBorderBottom6': section.borderBottomColor == 6, 'customBorderBottom7': section.borderBottomColor == 7}"> 1053 <div class="builderGridRow" ng-init="triggerParallax(section)" data-section="{{section.sectionId}}"> 1054 <div class="gridBlock populatedBlock headerGrid headerGridThirds" style="border-top: none; {{(section.maxWidth != 0 && section.maxWidth != null) ? 'max-width: '+section.maxWidth+'px; margin: 0 auto;' : '' }}"> 1055 <div class="headerBlock"> 1056 <div class="headerLeft"> 1057 <span ng-if="section.headerBrandText">{{section.headerBrandText}}</span> 1058 <span ng-if="section.headerPhoneNumber">{{section.headerPhoneNumber}}</span> 1059 </div> 1060 <div class="headerCenter"> 1061 <div class="text-center mb-2"> 1062 <a href="{{(sitePrefix.length > 0) ? sitePrefix : '/'}}"> 1063 <img ng-src="{{imageSrc(sitedata.logoId)}}" ng-if="sitedata.logoId"> 1064 <h1 style="font-size: 32px; font-weight: 500;" ng-class="{'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7}" ng-if="!sitedata.logoId">{{sitedata.siteName}}</h1> 1065 </a> 1066 </div> 1067 </div> 1068 <div class="headerRight mobile-hide"> 1069 <div class="text-right mb-2"> 1070 <span ng-show="!isMember"> 1071 <a href="javascript:void(0)" ng-click="login();">Login</a> <span ng-if="sitedata.allowRegistrations">| <a href="javascript:void(0)" ng-click="register();">Register</a></span> 1072 <!--<a href="/Login/{{(sitedata.siteBrand == 1) ? 'Membershine' : 'Hoastart'}}?ReturnUrl={{sitePrefix}}/{{currentPage.slug}}" ng-if="!isMember">Login</a>--> 1073 </span>
1074 <span ng-show="isMember"> 1075 <div class="ml-auto mr-2 mt-1"> 1076 <a ng-if="hasProptia" ng-click="transferToProptia()" href="javascript:void(0)"> 1077 1078 <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 1079 viewBox="0 0 288 252" style="enable-background:new 0 0 288 252; height: 9px; width: 90px; overflow: visible;" xml:space="preserve" ng-class="{'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7}"> 1080 <g> 1081 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M189,283.73c0,1.56,0,3.33,0,5.09c0,33.83-0.02,67.66,0.04,101.49c0,2.67-0.41,4.47-3.09,6 1082 c-28.62,16.35-57.13,32.88-85.67,49.35c-0.82,0.47-1.68,0.88-3.28,1.72c0-2.57,0-4.49,0-6.41c0-104.82,0-209.64,0-314.46 1083 c0-84.12,61.42-158.1,143.96-173.41c93.4-17.32,182.56,40.08,205.51,132.32c24.72,99.35-42.4,200.84-143.3,216.71 1084 c-38.36,6.03-74.92,0.54-109.62-16.99c-1.19-0.6-2.39-1.18-3.59-1.74C189.86,283.34,189.66,283.49,189,283.73z M274.11,212.17 1085 c47.03,0,85.03-37.79,85.06-84.58c0.03-47.16-38-85.41-84.93-85.42c-46.82-0.01-85.46,38.65-85.24,85.29 1086 C189.23,174.32,227.26,212.17,274.11,212.17z" /> 1087 1088 1089 1090 1091 1092 1093 1094 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-967.17,447.33c0-3.17,0-5.33,0-7.49c0-104.32,0-208.64,0-312.96c0-86.62,63.34-160.95,148.9-174.71 1095 c96.05-15.45,186.44,49.37,203.05,145.61c16.6,96.15-50.16,189.51-146.07,204.37c-38.2,5.92-74.59,0.54-109.15-16.89 1096 c-1.19-0.6-2.4-1.15-3.61-1.7c-0.12-0.05-0.31,0.05-1.12,0.22c0,1.59,0,3.33,0,5.07c0,33.5-0.08,66.99,0.11,100.49 1097 c0.02,4.08-1.37,6.12-4.8,8.07c-27.49,15.63-54.87,31.46-82.29,47.22C-963.55,445.43-964.99,446.16-967.17,447.33z M-790.38,212.17 1098 c47.28,0,85.36-37.85,85.38-84.87c0.02-46.65-38.3-85.11-84.83-85.13c-47.03-0.02-85.34,38.17-85.34,85.07 1099 C-875.17,174.12-837.19,212.16-790.38,212.17z" /> 1100 1101 1102 1103 1104 1105 1106 1107 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M1162.79,304.19c0-7.16,0-13.91,0-21.34c-46.76,24.14-94.71,28.57-144,11.73c-35.56-12.15-64.24-34.05-86-64.68 1108 c-44.09-62.06-43.58-145.76,0.97-206.64c17.13-23.41,38.58-41.68,64.55-54.65c25.81-12.9,53.18-18.98,81.97-18.55 1109 c28.93,0.43,56.17,7.74,82.46,21.84c0-7.69,0-14.54,0-21.62c30.86,0,61.12,0,91.74,0c0,117.92,0,235.76,0,353.93 1110 C1224.09,304.19,1193.84,304.19,1162.79,304.19z M1162.48,127.17c-0.16-47.12-38.58-85.09-86.01-85 1111 c-46.26,0.09-84.67,38.89-84.23,85.71c0.48,50.08,42.68,85.58,87.45,84.5C1124.53,211.29,1162.63,172.93,1162.48,127.17z" /> 1112 1113 1114 1115 1116 1117 1118 1119 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-140.1,304.51c-99.93-0.02-178.16-82.14-177.26-179.41c0.89-96.32,80.34-175.18,178.11-175.1 1120 c97.21,0.08,176.4,79.62,176.41,177.2C37.18,225.28-42.03,304.51-140.1,304.51z M-140.3,212.17c47.08,0,85.26-37.78,85.3-84.4 1121 c0.04-47.16-38.03-85.58-84.8-85.6c-46.99-0.02-85.35,38.23-85.35,85.11C-225.16,174.09-187.1,212.16-140.3,212.17z" /> 1122 1123 1124 1125 1126 1127 1128 1129 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M602.99-49.98c28.91,0,56.88,0,85.18,0c0,30.71,0,61.12,0,92.1c-28.23,0-56.3,0-84.72,0c-0.12,2.15-0.28,3.77-0.28,5.38 1130 c-0.02,26.66-0.07,53.33,0,79.99c0.13,44.64,35.01,81.73,79.55,84.68c1.65,0.11,3.3,0.34,5.35,0.56c0,30.33,0,60.57,0,91.1 1131 c-5.55,0-11.31,0.45-16.98-0.07c-80.15-7.3-146.25-70.13-157.81-150.16c-1.45-10.02-2.17-20.24-2.19-30.36 1132 c-0.17-85.99-0.06-171.99-0.2-257.98c-0.01-4.05,1.3-6.2,4.73-8.15c27.35-15.55,54.59-31.29,81.87-46.95 1133 c1.56-0.9,3.18-1.69,5.49-2.92C602.99-144.98,602.99-97.81,602.99-49.98z" /> 1134 1135 1136 1137 1138 1139 1140 1141 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-377.21-49.98c0,31.06,0,61.34,0,90.62c-10.55,2.52-21.04,3.93-30.71,7.54c-32.85,12.28-54.22,43.9-54.24,78.91 1142 c-0.03,57.15-0.01,114.31-0.01,171.46c0,1.96,0,3.92,0,6.15c-30.91,0-61.33,0-92.34,0c0-1.87,0-3.66,0-5.46 1143 c0-56.15-0.07-112.31,0.02-168.46c0.12-80.13,48.68-148.21,122.56-172.14c16.27-5.27,32.96-7.99,50.02-8.62 1144 C-380.45-50.02-378.98-49.98-377.21-49.98z" /> 1145 1146 1147 1148 1149 1150 1151 1152 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M839.97-49.73c0,118.32,0,235.92,0,353.88c-30.57,0-60.96,0-91.81,0c0-2.09,0-3.89,0-5.69c0-99.65,0.02-199.29-0.08-298.94
1153 c0-3.98,1.02-6.07,4.85-7.87c27.39-12.9,54.62-26.12,81.91-39.22C836.32-48.27,837.86-48.84,839.97-49.73z" /></g> 1154</svg> 1155 </a> 1156 </div> 1157 <div class="" uib-dropdown> 1158 <a href="javascript:void(0)" uib-dropdown-toggle role="button" id="userDropDown" aria-haspopup="true" aria-expanded="false" class="user-actions-drop body-text-link"> 1159 <div class="md-avatar size-1 rounded-circle d-inline-block mr-2" style="background-image: url({{currentUser.avatar}})"></div> 1160 <span class="user-name text-truncate mr-1">Hello, {{currentUser.firstName}}</span> 1161 </a> 1162 <div uib-dropdown-menu class="dropdown-menu-right" aria-labelledby="userDropDown" style="top: 35px!important;"> 1163 <a class="dropdown-item" href="javascript:void(0)" ng-click="editUser(true)">My Profile</a> 1164 <a class="dropdown-item" href="{{sitePrefix}}/member-dashboard">My Dashboard</a> 1165 <a class="dropdown-item" ng-if="sitedata.isMobileDashboardEnabled" href="javascript:void(0)" ng-click="transferToMemberPortal()">Member Portal</a> 1166 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && (isAdmin || isSubAdmin) && !sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 1167 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && (isAdmin || isSubAdmin) && sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 1168 1169 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && sitedata.isCommitteeLeader && !sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/committees')">My Committees</a> 1170 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && sitedata.isCommitteeLeader && sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/committees')">My Committees</a> 1171 <a class="dropdown-item" href="javascript:void(0)" ng-if="appConstants.CurrentUser.sites.length > 1" ng-click="switchSiteModal()">My Sites</a> 1172 <a class="dropdown-item" href="/LogOff{{(sitedata.siteBrand == 1) ? 'Membershine' : 'Hoastart'}}?ReturnUrl={{sitePrefix}}">Log Off</a> 1173 </div> 1174 </div> 1175 </span> 1176 </div> 1177 <div class="text-right"> 1178 <a href="{{sitedata.facebookUrl}}" target="_BLANK" ng-if="sitedata.facebookUrl"><i class="fab fa-facebook-f mr-2"></i></a> 1179 <a href="{{sitedata.twitterUrl}}" target="_BLANK" ng-if="sitedata.twitterUrl"><i class="fab fa-twitter mr-2"></i></a> 1180 <a href="{{sitedata.instagramUrl}}" target="_BLANK" ng-if="sitedata.instagramUrl"><i class="fab fa-instagram mr-2"></i></a> 1181 <a href="{{sitedata.linkedinUrl}}" target="_BLANK" ng-if="sitedata.linkedinUrl"><i class="fab fa-linkedin-in mr-2"></i></a> 1182 </div> 1183 <div class="text-right" ng-class="{'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7}">
1184 <span ng-if="section.headerEmail"><a target="_BLANK" href="mailto:{{section.headerEmail}}">{{section.headerEmail}}</a></span> 1185 </div> 1186 </div> 1187 </div> 1188 </div> 1189 </div> 1190 </div> 1191 1192 <div class="sectionRowContainer {{sectionBackgroundTextColor(section)}}" style="{{sectionBackgroundImage(section)}} {{sectionStyles(section)}} {{sectionFont(section)}}" ng-repeat="section in currentPage.sections" ng-if="section.sectionType == 1 && section.headerLayout == 3" ng-class="{'parallaxsupport': section.backgroundImageId != null && section.backgroundType == 2 && section.backgroundParallax == true, 'customBorderTop1': section.borderTopColor == 1, 'customBorderTop2': section.borderTopColor == 2, 'customBorderTop3': section.borderTopColor == 3, 'customBorderTop4': section.borderTopColor == 4, 'customBorderTop5': section.borderTopColor == 5, 'customBorderTop6': section.borderTopColor == 6, 'customBorderTop7': section.borderTopColor == 7, 'customBorderBottom1': section.borderBottomColor == 1, 'customBorderBottom2': section.borderBottomColor == 2, 'customBorderBottom3': section.borderBottomColor == 3, 'customBorderBottom4': section.borderBottomColor == 4, 'customBorderBottom5': section.borderBottomColor == 5, 'customBorderBottom6': section.borderBottomColor == 6, 'customBorderBottom7': section.borderBottomColor == 7}"> 1193 <div class="builderGridRow" ng-init="triggerParallax(section)" data-section="{{section.sectionId}}"> 1194 <div class="gridBlock populatedBlock headerGrid headerGridWithNav" style="border-top: none; {{(section.maxWidth != 0 && section.maxWidth != null) ? 'max-width: '+section.maxWidth+'px; margin: 0 auto;' : '' }}"> 1195 1196 <div class="headerBlock"> 1197 <div class="headerLeft"> 1198 <a href="{{(sitePrefix.length > 0) ? sitePrefix : '/'}}"> 1199 <img class="mobileLogo" ng-src="{{imageSrc(sitedata.logoId)}}" ng-if="sitedata.logoId"> 1200 <h1 ng-if="!sitedata.logoId" style="margin-bottom: 7px; font-weight: 500; font-size: 26px; line-height: 22px;">{{sitedata.siteName}}</h1> 1201 </a> 1202 <p ng-if="!sitedata.logoId" class="customText2" style="margin-bottom: 0; font-size: 16px;">{{section.headerBrandText}}</p> 1203 </div> 1204 <div class="headerRight mobile-hide"> 1205 <div class="text-right mb-2"> 1206 <a href="{{sitedata.facebookUrl}}" target="_BLANK" ng-if="sitedata.facebookUrl"><i class="fab fa-facebook-f mr-2"></i></a> 1207 <a href="{{sitedata.twitterUrl}}" target="_BLANK" ng-if="sitedata.twitterUrl"><i class="fab fa-twitter mr-2"></i></a> 1208 <a href="{{sitedata.instagramUrl}}" target="_BLANK" ng-if="sitedata.instagramUrl"><i class="fab fa-instagram mr-2"></i></a> 1209 <a href="{{sitedata.linkedinUrl}}" target="_BLANK" ng-if="sitedata.linkedinUrl"><i class="fab fa-linkedin-in mr-2"></i></a> 1210 <span ng-show="!isMember"> 1211 <a href="javascript:void(0)" ng-click="login();">Login</a> <span ng-if="sitedata.allowRegistrations">| <a href="javascript:void(0)" ng-click="register();">Register</a></span> 1212 <!--<a href="/Login/{{(sitedata.siteBrand == 1) ? 'Membershine' : 'Hoastart'}}?ReturnUrl={{sitePrefix}}/{{currentPage.slug}}" ng-if="!isMember">Login</a>--> 1213 </span>
1214 <span ng-show="isMember"> 1215 <div class="ml-auto mr-2 mt-1"> 1216 <a ng-if="hasProptia" ng-click="transferToProptia()" href="javascript:void(0)"> 1217 1218 <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 1219 viewBox="0 0 288 252" style="enable-background:new 0 0 288 252; height: 9px; width: 90px; overflow: visible;" xml:space="preserve" ng-class="{'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7}"> 1220 <g> 1221 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M189,283.73c0,1.56,0,3.33,0,5.09c0,33.83-0.02,67.66,0.04,101.49c0,2.67-0.41,4.47-3.09,6 1222 c-28.62,16.35-57.13,32.88-85.67,49.35c-0.82,0.47-1.68,0.88-3.28,1.72c0-2.57,0-4.49,0-6.41c0-104.82,0-209.64,0-314.46 1223 c0-84.12,61.42-158.1,143.96-173.41c93.4-17.32,182.56,40.08,205.51,132.32c24.72,99.35-42.4,200.84-143.3,216.71 1224 c-38.36,6.03-74.92,0.54-109.62-16.99c-1.19-0.6-2.39-1.18-3.59-1.74C189.86,283.34,189.66,283.49,189,283.73z M274.11,212.17 1225 c47.03,0,85.03-37.79,85.06-84.58c0.03-47.16-38-85.41-84.93-85.42c-46.82-0.01-85.46,38.65-85.24,85.29 1226 C189.23,174.32,227.26,212.17,274.11,212.17z" /> 1227 1228 1229 1230 1231 1232 1233 1234 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-967.17,447.33c0-3.17,0-5.33,0-7.49c0-104.32,0-208.64,0-312.96c0-86.62,63.34-160.95,148.9-174.71 1235 c96.05-15.45,186.44,49.37,203.05,145.61c16.6,96.15-50.16,189.51-146.07,204.37c-38.2,5.92-74.59,0.54-109.15-16.89 1236 c-1.19-0.6-2.4-1.15-3.61-1.7c-0.12-0.05-0.31,0.05-1.12,0.22c0,1.59,0,3.33,0,5.07c0,33.5-0.08,66.99,0.11,100.49 1237 c0.02,4.08-1.37,6.12-4.8,8.07c-27.49,15.63-54.87,31.46-82.29,47.22C-963.55,445.43-964.99,446.16-967.17,447.33z M-790.38,212.17 1238 c47.28,0,85.36-37.85,85.38-84.87c0.02-46.65-38.3-85.11-84.83-85.13c-47.03-0.02-85.34,38.17-85.34,85.07 1239 C-875.17,174.12-837.19,212.16-790.38,212.17z" /> 1240 1241 1242 1243 1244 1245 1246 1247 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M1162.79,304.19c0-7.16,0-13.91,0-21.34c-46.76,24.14-94.71,28.57-144,11.73c-35.56-12.15-64.24-34.05-86-64.68 1248 c-44.09-62.06-43.58-145.76,0.97-206.64c17.13-23.41,38.58-41.68,64.55-54.65c25.81-12.9,53.18-18.98,81.97-18.55 1249 c28.93,0.43,56.17,7.74,82.46,21.84c0-7.69,0-14.54,0-21.62c30.86,0,61.12,0,91.74,0c0,117.92,0,235.76,0,353.93 1250 C1224.09,304.19,1193.84,304.19,1162.79,304.19z M1162.48,127.17c-0.16-47.12-38.58-85.09-86.01-85 1251 c-46.26,0.09-84.67,38.89-84.23,85.71c0.48,50.08,42.68,85.58,87.45,84.5C1124.53,211.29,1162.63,172.93,1162.48,127.17z" /> 1252 1253 1254 1255 1256 1257 1258 1259 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-140.1,304.51c-99.93-0.02-178.16-82.14-177.26-179.41c0.89-96.32,80.34-175.18,178.11-175.1 1260 c97.21,0.08,176.4,79.62,176.41,177.2C37.18,225.28-42.03,304.51-140.1,304.51z M-140.3,212.17c47.08,0,85.26-37.78,85.3-84.4 1261 c0.04-47.16-38.03-85.58-84.8-85.6c-46.99-0.02-85.35,38.23-85.35,85.11C-225.16,174.09-187.1,212.16-140.3,212.17z" /> 1262 1263 1264 1265 1266 1267 1268 1269 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M602.99-49.98c28.91,0,56.88,0,85.18,0c0,30.71,0,61.12,0,92.1c-28.23,0-56.3,0-84.72,0c-0.12,2.15-0.28,3.77-0.28,5.38 1270 c-0.02,26.66-0.07,53.33,0,79.99c0.13,44.64,35.01,81.73,79.55,84.68c1.65,0.11,3.3,0.34,5.35,0.56c0,30.33,0,60.57,0,91.1 1271 c-5.55,0-11.31,0.45-16.98-0.07c-80.15-7.3-146.25-70.13-157.81-150.16c-1.45-10.02-2.17-20.24-2.19-30.36 1272 c-0.17-85.99-0.06-171.99-0.2-257.98c-0.01-4.05,1.3-6.2,4.73-8.15c27.35-15.55,54.59-31.29,81.87-46.95 1273 c1.56-0.9,3.18-1.69,5.49-2.92C602.99-144.98,602.99-97.81,602.99-49.98z" /> 1274 1275 1276 1277 1278 1279 1280 1281 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M-377.21-49.98c0,31.06,0,61.34,0,90.62c-10.55,2.52-21.04,3.93-30.71,7.54c-32.85,12.28-54.22,43.9-54.24,78.91 1282 c-0.03,57.15-0.01,114.31-0.01,171.46c0,1.96,0,3.92,0,6.15c-30.91,0-61.33,0-92.34,0c0-1.87,0-3.66,0-5.46 1283 c0-56.15-0.07-112.31,0.02-168.46c0.12-80.13,48.68-148.21,122.56-172.14c16.27-5.27,32.96-7.99,50.02-8.62 1284 C-380.45-50.02-378.98-49.98-377.21-49.98z" /> 1285 1286 1287 1288 1289 1290 1291 1292 <path ng-class="{'customFill1': section.fontColor == 1, 'customFill2': section.fontColor == 2, 'customFill3': section.fontColor == 3, 'customFill4': section.fontColor == 4, 'customFill5': section.fontColor == 5, 'customFill6': section.fontColor == 6, 'customFill7': section.fontColor == 7}" d="M839.97-49.73c0,118.32,0,235.92,0,353.88c-30.57,0-60.96,0-91.81,0c0-2.09,0-3.89,0-5.69c0-99.65,0.02-199.29-0.08-298.94
1293 c0-3.98,1.02-6.07,4.85-7.87c27.39-12.9,54.62-26.12,81.91-39.22C836.32-48.27,837.86-48.84,839.97-49.73z" /></g> 1294</svg> 1295 </a> 1296 </div> 1297 <div class="" uib-dropdown> 1298 <a href="javascript:void(0)" uib-dropdown-toggle role="button" id="userDropDown" aria-haspopup="true" aria-expanded="false" class="user-actions-drop body-text-link"> 1299 <div class="md-avatar size-1 rounded-circle d-inline-block mr-2" style="background-image: url({{currentUser.avatar}})"></div> 1300 <span class="user-name text-truncate mr-1">Hello, {{currentUser.firstName}}</span> 1301 </a> 1302 <div uib-dropdown-menu class="dropdown-menu-right" aria-labelledby="userDropDown" style="top: 35px!important;"> 1303 <a class="dropdown-item" href="javascript:void(0)" ng-click="editUser(true)">My Profile</a> 1304 <a class="dropdown-item" href="{{sitePrefix}}/member-dashboard">My Dashboard</a> 1305 <a class="dropdown-item" ng-if="sitedata.isMobileDashboardEnabled" href="javascript:void(0)" ng-click="transferToMemberPortal()">Member Portal</a> 1306 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && (isAdmin || isSubAdmin) && !sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 1307 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && (isAdmin || isSubAdmin) && sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 1308 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && sitedata.isCommitteeLeader && !sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/committees')">My Committees</a> 1309 <a class="dropdown-item" href="javascript:void(0)" ng-if="isMember && sitedata.isCommitteeLeader && sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/committees')">My Committees</a> 1310 <a class="dropdown-item" href="javascript:void(0)" ng-if="appConstants.CurrentUser.sites.length > 1" ng-click="switchSiteModal()">My Sites</a> 1311 <a class="dropdown-item" href="/LogOff{{(sitedata.siteBrand == 1) ? 'Membershine' : 'Hoastart'}}?ReturnUrl={{sitePrefix}}">Log Off</a> 1312 </div> 1313 </div> 1314 </span> 1315 </div> 1316 <div class="mainNavBlock mobile-hide hideFromBlockedContent" ng-if="!hideNav"> 1317 <div class="mainNavLink"> 1318 <a href="{{(sitePrefix.length > 0) ? sitePrefix : '/'}}">Home</a> 1319 </div> 1320 <div class="mainNavLink ml-4" ng-repeat="item in sitedata.menu"> 1321 <a href="{{sitePrefix}}/{{item.pageSlug}}" ng-if="item.submenu.length < 1">{{item.pageName}}</a> 1322 <a href="javascript:void(0)" ng-if="item.submenu.length > 0" id="dropdownMenuButton{{$index}}" role="button" id="dropdownMenuLink{{$index}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{(item.submenu != null && item.submenu.length && item.dropdownTitle != null && item.dropdownTitle.length) ? item.dropdownTitle : item.pageName}} <i class="fas fa-caret-down ml-2"></i></a> 1323 <div class="dropdown-menu" ng-if="item.submenu.length > 0" aria-labelledby="dropdownMenuLink{{$index}}"> 1324 <a class="dropdown-item" ng-if="!item.hideFromMainNav" href="{{sitePrefix}}/{{item.pageSlug}}">{{item.pageName}}</a> 1325 <a class="dropdown-item" href="{{sitePrefix}}/{{subitem.pageSlug}}" ng-repeat="subitem in item.submenu">{{subitem.pageName}}</a> 1326 </div> 1327 </div> 1328 <div class="mainNavLink ml-4" ng-if="isMember && sitedata.hasMessages && currentCustomerSite.enableChatUser"> 1329 <a href="javascript:void(0)" class="messaging-link-global messagingIcon d-flex align-items-center" ng-click="showFlyout()"><i class="far fa-comments"></i><span class="badge badge-pill badge-danger" ng-if="newMessages"> </span></a> 1330 </div> 1331 </div> 1332 </div> 1333 </div> 1334 </div> 1335 </div> 1336 </div> 1337 1338 <div class="sectionRowContainer {{sectionBackgroun
1338dTextColor(section)}}" style="{{sectionBackgroundImage(section)}} {{sectionStyles(section)}} {{sectionFont(section)}}" ng-repeat="section in currentPage.sections" ng-if="(section.sectionType == 2 && sitedata.navigationLayout == 1)" ng-init="triggerParallax(section)" data-section="{{section.sectionId}}" ng-class="{'parallaxsupport': section.backgroundImageId != null && section.backgroundType == 2 && section.backgroundParallax == true, 'customBg1': section.backgroundType == 1 && section.backgroundColor == 1, 'customBg2': section.backgroundType == 1 && section.backgroundColor == 2, 'customBg3': section.backgroundType == 1 && section.backgroundColor == 3, 'customBg4': section.backgroundType == 1 && section.backgroundColor == 4, 'customBg5': section.backgroundType == 1 && section.backgroundColor == 5, 'customBg6': section.backgroundType == 1 && section.backgroundColor == 6, 'customBg7': section.backgroundType == 1 && section.backgroundColor == 7, 'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7, 'customBorderTop1': section.borderTopColor == 1, 'customBorderTop2': section.borderTopColor == 2, 'customBorderTop3': section.borderTopColor == 3, 'customBorderTop4': section.borderTopColor == 4, 'customBorderTop5': section.borderTopColor == 5, 'customBorderTop6': section.borderTopColor == 6, 'customBorderTop7': section.borderTopColor == 7, 'customBorderBottom1': section.borderBottomColor == 1, 'customBorderBottom2': section.borderBottomColor == 2, 'customBorderBottom3': section.borderBottomColor == 3, 'customBorderBottom4': section.borderBottomColor == 4, 'customBorderBottom5': section.borderBottomColor == 5, 'customBorderBottom6': section.borderBottomColor == 6, 'customBorderBottom7': section.borderBottomColor == 7, 'customBorderTop1': section.borderTopColor == 1, 'customBorderTop2': section.borderTopColor == 2, 'customBorderTop3': section.borderTopColor == 3, 'customBorderTop4': section.borderTopColor == 4, 'customBorderTop5': section.borderTopColor == 5, 'customBorderTop6': section.borderTopColor == 6, 'customBorderTop7': section.borderTopColor == 7, 'customBorderBottom1': section.borderBottomColor == 1, 'customBorderBottom2': section.borderBottomColor == 2, 'customBorderBottom3': section.borderBottomColor == 3, 'customBorderBottom4': section.borderBottomColor == 4, 'customBorderBottom5': section.borderBottomColor == 5, 'customBorderBottom6': section.borderBottomColor == 6, 'customBorderBottom7': section.borderBottomColor == 7}"> 1339 <div class="builderGridRow mobile-hide"> 1340 <div class="gridBlock populatedBlock mainNavGrid hideFromBlockedContent" ng-if="!hideNav" style="{{(section.maxWidth != 0 && section.maxWidth != null) ? 'max-width: '+section.maxWidth+'px; margin: 0 auto;' : '' }}"> 1341 <div class="mainNavBlock" style="{{(section.textAlignment == 2 || section.textAlignment == null ? 'justify-content: flex-start;' : '' )}}{{(section.textAlignment == 3 ? 'justify-content: flex-end;' : '' )}}{{(section.textAlignment == 1 ? 'justify-content: center;' : '' )}}"> 1342 <div class="mainNavLink"> 1343 <a href="{{(sitePrefix.length > 0) ? sitePrefix : '/'}}">Home</a> 1344 </div> 1345 <div class="mainNavLink ml-4" ng-repeat="item in sitedata.menu"> 1346 <a href="{{sitePrefix}}/{{item.pageSlug}}" ng-if="item.submenu.length < 1">{{item.pageName}}</a> 1347 <a href="javascript:void(0)" ng-if="item.submenu.length > 0" id="dropdownMenuButton{{$index}}" role="button" id="dropdownMenuLink{{$index}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{(item.submenu != null && item.submenu.length && item.dropdownTitle != null && item.dropdownTitle.length) ? item.dropdownTitle : item.pageName}} <i class="fas fa-caret-down ml-2"></i></a> 1348 <div class="dropdown-menu" ng-if="item.submenu.length > 0" aria-labelledby="dropdownMenuLink{{$index}}"> 1349 <a class="dropdown-item" ng-if="!item.hideFromMainNav" href="{{sitePrefix}}/{{item.pageSlug}}">{{item.pageName}}</a> 1350 <a class="dropdown-item" href="{{sitePrefix}}/{{subitem.pageSlug}}" ng-repeat="subitem in item.submenu">{{subitem.pageName}}</a> 1351 </div> 1352 </div> 1353 <div class="mainNavLink ml-4" ng-if="isMember && sitedata.hasMessages && currentCustomerSite.enableChatUser"> 1354 <a href="javascript:void(0)" class="messaging-link-global messagingIcon d-flex align-items-center" ng-click="showFlyout()"><i class="far fa-comments"></i><span class="badge badge-pill badge-danger" ng-if="newMessages"> </span></a> 1355 </div> 1356 </div> 1357 </div> 1358 </div> 1359 </div> 1360 1361 <!-- START PAGE CONTENT --> 1362 <div class="sectionRowContainer" ng-repeat="section in currentPage.sections" ng-if="(section.sectionType == 3 && specialPageType != 'member-dashboard') || (section.sectionType == 3 && specialPageType == 'member-dashboard' && section.widgets.length && section.widgets[0].type == 23 && sitedata.navigationLayout == 3)" style="{{(section.backgroundImageId != null && section.backgroundType == 2 && section.backgroundParallax == true) ? 'background: transparent;' : ''}}{{(section.backgroundImageId != null && section.backgroundType == 2 && section.backgroundParallax == false) ? 'background-image: url('+imageSrc(section.backgroundImageId) +');' : ''}}{{(section.backgroundImageId != null && section.backgroundRepeat == 1) ? 'background-repeat: no-repeat; background-size: cover;' : ''}}{{(section.backgroundImageId != null && section.backgroundRepeat == 1 && section.backgroundFocus == 1) ? 'background-position: center center;' : ''}}{{(section.backgroundImageId != null && section.backgroundRepeat == 1 && section.backgroundFocus == 2) ? 'background-position: left center;' : ''}}{{(section.backgroundImageId != null && section.backgroundRepeat == 1 && section.backgroundFocus == 3) ? 'background-position: right center;' : ''}}{{(section.borderTopThickness != 0 && section.borderTopThickness != null) ? 'border-top-width: '+section.borderTopThickness+'px; border-top-style: solid; ' : '' }}{{(section.borderBottomThickness != 0 && section.borderBottomThickness != null) ? 'border-bottom-width: '+section.borderBottomThickness+'px; border-bottom-style: solid;' : '' }}{{(section.sectionHeight != 0 && section.sectionHeight != null) ? 'height: '+section.sectionHeight+'px;' : '' }}{{(section.paddingLeft != 0 && section.paddingLeft != null) ? 'padding-left: '+section.paddingLeft+'px;' : '' }}{{(section.paddingRight != 0 && section.paddingRight != null) ? 'padding-right: '+section.paddingRight+'px;' : '' }}{{(section.paddingTop != 0 && section.paddingTop != null) ? 'padding-top: '+section.paddingTop+'px;' : '' }}{{(section.paddingBottom != 0 && section.paddingBottom != null) ? 'padding-bottom: '+section.paddingBottom+'px;' : '' }}" ng-init="triggerParallax(section)" data-section="{{section.sectionId}}" ng-class="{'parallaxsupport': section.backgroundImageId != null && section.backgroundType == 2 && section.backgroundParallax == true, 'hiddenRow' : !section.isActive, 'customBg1': section.backgroundType == 1 && section.backgroundColor == 1, 'customBg2': section.backgroundType == 1 && section.backgroundColor == 2, 'customBg3': section.backgroundType == 1 && section.backgroundColor == 3, 'customBg4': section.backgroundType == 1 && section.backgroundColor == 4, 'customBg5': section.backgroundType == 1 && section.backgroundColor == 5, 'customBg6': section.backgroundType == 1 && section.backgroundColor == 6, 'customBg7': section.backgroundType == 1 && section.backgroundColor == 7, 'customBorderTop1': section.borderTopColor == 1, 'customBorderTop2': section.borderTopColor == 2, 'customBorderTop3': section.borderTopColor == 3, 'customBorderTop4': section.borderTopColor == 4, 'customBorderTop5': section.borderTopColor == 5, 'customBorderTop6': section.borderTopColor == 6, 'customBorderTop7': section.borderTopColor == 7, 'customBorderBottom1': section.borderBottomColor == 1, 'customBorderBottom2': section.borderBottomColor == 2, 'customBorderBottom3': section.borderBottomColor == 3, 'customBorderBottom4': section.borderBottomColor == 4, 'customBorderBottom5': section.borderBottomColor == 5, 'customBorderBottom6': section.borderBottomColor == 6, 'customBorderBottom7': section.borderBottomColor == 7}"> 1363 <div class="builderGridRow updateWidgets" style="{{(section.maxWidth != 0 && section.maxWidth != null && (section.numColumns != 1 || (section.widgets.length == 1 && section.widgets[0].type != 26) )) ? 'max-width: '+section.maxWidth+'px; margin: 0 auto;' : '' }}" ng-class="{'twoWide': section.numColumns == 2 && section.columnLayout == null, 'twoThirdsLeft': section.numColumns == 2 && section.columnLayout == 1, 'twoThirdsRight': section.numColumns == 2 && section.columnLayout == 2, 'threeWide' : section.numColumns == 3}"> 1364 <!-- HERO SECTION--> 1365 <div class="gridBlock" ng-repeat="widget in section.widgets" data-widgetid="{{widget.widgetId}}" ng-class="{'emptyBlock': widget.type == 0, 'makePaymentBlock': widget.type == 44, 'populatedBlock': widget.type != 0, 'documentsTopWidget': (widget.type == 33), 'documentsBlock': (widget.type == 25 || widget.type == 33), 'newsfeedBlock': widget.type == 24, 'featuredLinksCustom': widget.type == 3, 'faqBlock2': widget.type == 31, 'newsBlock': widget.type == 32, 'imageBlockPiece': widget.type == 16, 'textBlockPiece': widget.type == 15, 'searchCommitteesBlock': widget.type == 35, 'searchEventsBlock': widget.type == 37, 'eventsBlock': widget.type == 39, 'mainNavGrid': widget.type == 23, 'customMapWidget': widget.type == 5, 'imageBlock1': widget.type == 26 || widget.type == 1, 'textPrimary': widget.type == 2, 'faqBlock': widget.type == 8, 'mapHide': (widget.type == 14 && hideMap) || widget.type == -14, 'membershipDirectoryMap': widget.type == 14 || widget.type == -14, 'editActiveBlock': selectedwidget.sectionId == section.sectionId, 'customBorder1': widget.borderColor == 1 && (widget.type != 2 && widget.type != 27 && widget.type != 30 && widget.type != 22), 'customBorder2': widget.borderColor == 2 && (widget.type != 2 && widget.type != 27 && widget.type != 30 && widget.type != 22), 'customBorder3': widget.borderColor == 3 && (widget.type != 2 && widget.type != 27 && widget.type != 30 && widget.type != 22), 'customBorder4': widget.borderColor == 4 && (widget.type != 2 && widget.type != 27 && widget.type != 30 && widget.type != 22), 'customBorder5': widget.borderColor == 5 && (widget.type != 2 && widget.type != 27 && widget.type != 30 && widget.type != 22), 'customBorder6': widget.borderColor == 6 && (widget.type != 2 && widget.type != 27 && widget.type != 30 && widget.type != 22), 'customBorder7': widget.borderColor == 7 && (widget.type != 2 && widget.type != 27 && widget.type != 30 && widget.type != 22), 'customBg1': widget.backgroundType == 1 && widget.backgroundColor == 1, 'customBg2': widget.backgroundType == 1 && widget.backgroundColor == 2, 'customBg3': widget.backgroundType == 1 && widget.backgroundColor == 3, 'customBg4': widget.backgroundType == 1 && widget.backgroundColor == 4, 'customBg5': widget.backgroundType == 1 && widget.backgroundColor == 5, 'customBg6': widget.backgroundType == 1 && widget.backgroundColor == 6, 'customBg7': widget.backgroundType == 1 && widget.backgroundColor == 7, 'customBg8': widget.backgroundType == 1 && widget.backgroundColor == 8 && (widget.type != 1 && widget.type != 2 && widget.type != 16 && widget.type != 26)}" style="max-width: 100%;{{((widget.type ==16) ? 'margin:20px;border: 5px solid #fff;box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.40);' : '')}}{{((widget.type ==25) ? 'margin-bottom:20px;' : '')}}{{(widget.type == 26) ? 'align-items: start; justify-content: start; ' : ''}}{{(((widget.type == 26 || widget.type == 1 || widget.type ==16) && widget.widgetOverlayAlignment == 2) ? 'justify-content: start;' : '')}}{{(((widget.type == 26 || widget.type == 1 || widget.type ==16) && widget.widgetOverlayAlignment == 3) ? 'justify-content: flex-end;' : '')}}{{(widget.borderThickness != 0 && widget.borderThickness != null && (widget.type != 2 && widget.type != 27 && widget.type != 30 && widget.type != 22)) ? 'border-width: '+widget.borderThickness+'px; border-style: solid; ' : '' }}{{(widget.borderRadius != 0 && widget.borderRadius != null && (widget.type != 2 && widget.type != 27 && widget.type != 30 && widget.type != 22)) ? 'border-radius: '+widget.borderRadius+'px;' : '' }} {{(widget.type == 26 || widget.type == 1 || widget.type == 16) ? 'background-image: url(' + imageSrc( widget.uploadImageId)+ '); background-size: cover;' : ''}}{{(widget.paddingTop != 0 && widget.paddingTop != null) ? 'padding-top: '+widget.paddingTop+'px;' : '' }}{{(widget.height != 0 && widget.height != null) ? 'height: '+widget.height+'px;' : '' }}{{(widget.paddingLeft != 0 && widget.paddingLeft != null) ? 'padding-left: '+widget.paddingLeft+'px;' : '' }}{{(widget.paddingRight != 0 && widget.paddingRight != null) ? 'padding-right: '+widget.paddingRight+'px;' : '' }}{{(widget.paddingBottom != 0 && widget.paddingBottom != null) ? 'padding-bottom: '+widget.paddingBottom+'px;' : '' }}" back-img="{{imageSrc((widget.type == 26 || widget.type == 1 || widget.type == 16) ? widget.uploadImageId : null)}}"> 1366 <div ng-if="widget.type == 1" style="width: 100%;{{((widget.widgetOverlayAlignment == 1 || widget.widgetOverlayAlignment == null) ? 'text-align: center;' : '')}}{{((widget.widgetOverlayAlignment == 2) ? 'text-align: left;' : '')}}{{((widget.widgetOverlayAlignment == 3) ? 'text-align: right;' : '')}}"> 1367 <div class="heroOverlay" style="{{overlayStyles(widget)}}"> 1368 <div><p style="{{headerTextStyles(widget)}}" class="customHero1HeaderOverride {{headerTextClasses(widget)}}">{{widget.description}}</p></div> 1369 <div style="{{(widget.buttonTextAlignment == 1) ? 'text-align: center;' : ''}}{{(widget.buttonTextAlignment == 3) ? 'text-align: right;' : ''}}"> 1370 <button ng-if="widget.buttonType != 4" class="{{buttonClasse
1370s(widget)}}" style="cursor: pointer; {{buttonStyles(widget)}}" ng-click="handleClick(widget)">{{widget.buttonText}}</button> 1371 </div> 1372 </div> 1373 </div> 1374 <div ng-if="widget.type == 26" style="{{(section.maxWidth != 0 && section.maxWidth != null) ? 'max-width: '+section.maxWidth+'px; margin: 0 auto; width: '+section.maxWidth+'px; margin: 0 auto;' : '' }}"> 1375 <div class="heroOverlay" style="max-width: 50%; text-align: left; border-radius: 0px; border: 5px solid #fff; box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.40);"> 1376 <h4 style="margin-bottom: 20px; {{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}">{{widget.description}}</h4> 1377 <p style="margin-bottom: 20px; {{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">{{widget.description2}}</p> 1378 <div style="{{(widget.buttonTextAlignment == 1) ? 'text-align: center;' : ''}}{{(widget.buttonTextAlignment == 3) ? 'text-align: right;' : ''}}"> 1379 <button ng-if="widget.buttonType != 4" class="{{buttonClasses(widget)}}" style="cursor: pointer; {{buttonStyles(widget)}}" ng-click="handleClick(widget)">{{widget.buttonText}}</button> 1380 </div> 1381 </div> 1382 </div> 1383 1384 <div ng-if="widget.type == 33"> 1385 <div class="textBlockContent"> 1386 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-4"><span class="customTopDocsIcon"><i class="far fa-copy mr-1"></i></span> Documents</h4> 1387 <div class="listItem d-flex align-items-start" ng-repeat="subwidget in widget.widgets"> 1388 <div class="linkInfo"> 1389 <a style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}" target="_BLANK" href="{{subwidget.buttonUrl}}">{{subwidget.description}}</a> 1390 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} info">{{subwidget.description2}}</p> 1391 <a class="smallLink {{buttonClasses(widget)}}" style="{{buttonStyles(widget)}}" target="_BLANK" href="{{subwidget.buttonUrl}}">Download</a> 1392 </div> 1393 </div> 1394 </div> 1395 </div> 1396 1397 <div ng-if="widget.type == 34"> 1398 <h3 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}">{{widget.description}}</h3> 1399 <div style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}" ng-bind-html="trustedHtml(widget.description2)"></div> 1400 <div class="mt-2" ng-repeat="subwidget in widget.widgets"> 1401 <h4 style="{{subheadTextStyles(widget)}}" class="twoTierHeadlines mt-2 {{subheadTextClasses(widget)}}">{{subwidget.description}}</h4> 1402 <div style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}" ng-bind-html="trustedHtml(subwidget.description2)"></div> 1403 </div> 1404 </div> 1405 <div ng-if="widget.type == 39" ng-init="getUpcomingEvents()"> 1406 <div class="textBlockContent"> 1407 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-4"><span class="customTopDocsIcon"><i class="fas fa-calendar-alt mr-1"></i></span> Upcoming Events</h4> 1408 <div class="listItem d-flex align-items-start" ng-repeat="event in upcomingevents" ng-if="$index < 5"> 1409 <div class="monthDate"> 1410 <div class="month"> 1411 {{event.month}} 1412 </div> 1413 <div class="date"> 1414 {{event.day}} 1415 </div> 1416 </div> 1417 <div class="linkInfo"> 1418 <a ng-cloak ng-if="event.isEvent" style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}" href="{{sitePrefix}}/{{eventsUrl}}">{{event.name}}</a> 1419 <a ng-cloak ng-if="!event.isEvent && event.calendarUrl && !event.calendarUrl.endsWith('//')" style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}" href="{{sitePrefix}}/{{event.calendarUrl}}">{{event.name}}</a> 1420 <a ng-cloak ng-if="!event.isEvent && !event.calendarUrl" style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}">{{event.name}}</a> 1421 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} info" ng-if="event.isAllDay"><i class="fas fa-map-marker-alt" ng-if="event.venue"></i> {{event.venue}} <span ng-if="event.startTime && event.venue">-</span> All Day</p> 1422 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} info" ng-if="!event.isAllDay"><i class="fas fa-map-marker-alt" ng-if="event.venue"></i> {{event.venue}} <span ng-if="event.startTime && event.venue">-</span> {{event.startTime}}</p> 1423 </div> 1424 </div> 1425 <div class="listItem d-flex align-items-start" ng-if="!upcomingevents.length"> 1426 <div class="linkInfo"> 1427 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} info">There are no upcoming events</p> 1428 </div> 1429 </div> 1430 </div> 1431 </div> 1432 1433 <div ng-if="widget.type == 32" ng-init="getRecentNewsfeed(widget)"> 1434 <div class="textBlockContent"> 1435 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-4"><span class="customTopDocsIcon"><i class="far fa-newspaper mr-1"></i></span> Recent News</h4> 1436 <div class="listItem d-flex align-items-start" ng-repeat="post in recentNewsfeed" ng-if="$index < 4"> 1437 <div class="linkInfo"> 1438 <p style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}">{{post.name}}</p> 1439 <p class="date">{{post.timestampString}}</p> 1440 1441 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} info">{{post.summary}}</p> 1442 <a ng-if="newsfeedUrl != null && !post.url && newsfeedUrl != '/'" href="{{sitePrefix}}/{{newsfeedUrl}}
1442" class="tmpclass smallLink {{buttonClasses(widget)}}" style="{{buttonStyles(widget)}}">Read more</a> 1443 <a ng-if="post.url && post.url.length" href="{{sitePrefix}}/{{post.url}}" class="smallLink {{buttonClasses(widget)}}" style="{{buttonStyles(widget)}}">Read more</a> 1444 </div> 1445 </div> 1446 <div class="listItem d-flex align-items-start" ng-if="!recentNewsfeed.length"> 1447 <div class="linkInfo"> 1448 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} info">There are no posts</p> 1449 </div> 1450 </div> 1451 </div> 1452 </div> 1453 1454 1455 <div ng-if="widget.type == 16" class=""> 1456 <div class="imageBlockContent" style="{{overlayStyles(widget)}} border-radius: 0px;border:2px solid #fff;box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.40);"> 1457 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}">{{widget.description}}</h4> 1458 <div style="{{(widget.buttonTextAlignment != 1 && widget.buttonTextAlignment != 3) ? 'text-align: left;' : ''}}{{(widget.buttonTextAlignment == 1) ? 'text-align: center;' : ''}}{{(widget.buttonTextAlignment == 3) ? 'text-align: right;' : ''}}"> 1459 <button ng-if="widget.buttonType != 4" class="{{buttonClasses(widget)}}" style="cursor: pointer; {{buttonStyles(widget)}}" ng-click="handleClick(widget)">{{widget.buttonText}}</button> 1460 </div> 1461 </div> 1462 </div> 1463 <div class="textBlockContent" ng-if="widget.type == 15"> 1464 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}">{{widget.description}}</h4> 1465 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">{{widget.description2}}</p> 1466 <div style="{{(widget.buttonTextAlignment == 1) ? 'text-align: center;' : ''}}{{(widget.buttonTextAlignment == 3) ? 'text-align: right;' : ''}}"> 1467 <button ng-if="widget.buttonType != 4" class="{{buttonClasses(widget)}}" style="cursor: pointer; {{buttonStyles(widget)}}" ng-click="handleClick(widget)">{{widget.buttonText}}</button> 1468 </div> 1469 </div> 1470 1471 <div ng-if="widget.type == 30"> 1472 <div class="bgImageMobile" ng-class="{'customBorder1': widget.borderColor == 1, 'customBorder2': widget.borderColor == 2, 'customBorder3': widget.borderColor == 3, 'customBorder4': widget.borderColor == 4, 'customBorder5': widget.borderColor == 5, 'customBorder6': widget.borderColor == 6, 'customBorder7': widget.borderColor == 7}" style="background-image: url({{imageSrc(widget.uploadImageId)}}); background-position: center center; background-size: cover; padding-top: 85%; border-radius: 0px;border: 5px solid #fff;box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.40); {{(widget.borderThickness != 0 && widget.borderThickness != null) ? 'border-width: '+widget.borderThickness+'px; border-style: solid; ' : '' }}{{(widget.borderRadius != 0 && widget.borderRadius != null) ? 'border-radius: '+widget.borderRadius+'px;' : '' }}"> 1473 </div> 1474 <h3 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mt-3">{{widget.description2}}</h3> 1475 <div style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}" ng-bind-html="trustedHtml(widget.description)"></div> 1476 <div style="{{(widget.buttonTextAlignment == 1) ? 'text-align: center;' : ''}}{{(widget.buttonTextAlignment == 3) ? 'text-align: right;' : ''}}"> 1477 <button ng-if="widget.buttonType != 4" class="{{buttonClasse
1477s(widget)}}" style="cursor: pointer; {{buttonStyles(widget)}}" ng-click="handleClick(widget)">{{widget.buttonText}}</button> 1478 </div> 1479 </div> 1480 1481 1482 <div ng-if="widget.type == 28"> 1483 <h3 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}">{{widget.description2}}</h3> 1484 <div style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}" ng-bind-html="trustedHtml(widget.description)"></div> 1485 <div style="{{(widget.buttonTextAlignment == 1) ? 'text-align: center;' : ''}}{{(widget.buttonTextAlignment == 3) ? 'text-align: right;' : ''}}"> 1486 <button ng-if="widget.buttonType != 4" class="{{buttonClasses(widget)}}" style="cursor: pointer; {{buttonStyles(widget)}}" ng-click="handleClick(widget)">{{widget.buttonText}}</button> 1487 </div> 1488 </div> 1489 1490 1491 <div ng-if="widget.type == 35" ng-init="getCommittees()"> 1492 <!-- Search Committees to Join --> 1493 <div class="row mx-0 mb-3"> 1494 <div class="col-md-4"> 1495 <!--<h1 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}">Search Committees</h1>--> 1496 </div> 1497 <div class="col-md-8 d-flex align-items-end"> 1498 <p class="searchResultsCount ">showing {{committeeSearchResults.length}} of {{committees.length}} committees</p> 1499 </div> 1500 </div> 1501 1502 <div class="row mx-0"> 1503 <div class="col-md-4"> 1504 <div class="card"> 1505 <div class="card-body"> 1506 <form> 1507 <div class="form-row"> 1508 <div class="form-group col-12"> 1509 <label for="searchCommittees" style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">Search Committees</label> 1510 <input type="text" style="background-color: #fff;" class="form-control" id="searchCommittees" placeholder="" ng-model="committeeSearch"> 1511 </div> 1512 </div> 1513 <div class="mt-3 text-right"> 1514 <button type="button" class="btn btn-cancel" ng-click="committeeSearch = ''">Clear</button> 1515 </div> 1516 </form> 1517 </div> 1518 </div> 1519 </div> 1520 <div class="col-md-8 committeeSearchResults"> 1521 <div class="card committeeCard" ng-repeat="committee in committees | filter: committeeSearch as committeeSearchResults"> 1522 <div class="card-header d-flex align-items-center justify-content-between"> 1523 <h4 style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} mb-0">{{committee.name}}</h4>
1524 <span style="font-weight: bold; " ng-if="committee.currentUserStatus == 'not member' && !committee.inviteOnly" class="customText1" data-toggle="tooltip" title="Click to {{(committee.formId) ? 'Apply' : 'Join'}}"><button class="btn btn-primary btn-sm customBg1 customText6" ng-click="joinApplyCommittee(committee)">{{(committee.formId) ? 'apply' : 'join*'}}</button></span> 1525 <span style="font-weight: bold; " ng-if="committee.currentUserStatus == 'not member' && committee.inviteOnly" class="customText1" data-toggle="tooltip" title="This committee is invite only">This committee is invite only*</span> 1526 <span style="font-weight: bold; " ng-if="committee.currentUserStatus == 'rejected'" class="customText1" data-toggle="tooltip" title="Your application has been rejected.">Your application has been rejected*</span> 1527 <span style="font-weight: bold; " ng-if="committee.currentUserStatus == 'pending'" class="customText1" data-toggle="tooltip" title="Your application is pending.">Your application is pending review*</span> 1528 <span style="font-weight: bold; " ng-if="committee.currentUserStatus == 'leader'" class="customText1" data-toggle="tooltip" title="You're a Leader of this committee.">You're a Leader of this committee*</span> 1529 <span style="font-weight: bold; " ng-if="committee.currentUserStatus == 'member'" class="customText1" data-toggle="tooltip" title="You're a member of this committee.">You're a Member of this committee*</span> 1530 </div> 1531 <div class="card-header" ng-if="committee.imageId" style="height: 250px; background-size: cover; background-position: center center; background-image: url({{imageSrc(committee.imageId)}});"> 1532 </div> 1533 <div class="card-body"> 1534 <div ng-bind-html="trustedHtml(committee.description)" class="mb-0"> 1535 </div> 1536 1537 <p class="mb-0 mt-3"> 1538 Committee Leaders: {{committee.leaders}} 1539 </p> 1540 <p class="mb-0"> 1541 <a href="javascript:void(0)" ng-click="viewCommitteeMembers(committee)"><small>view all members</small></a> 1542 </p> 1543 1544 1545 </div> 1546 </div> 1547 </div> 1548 <div class="col-md-8 committeeSearchResults" ng-if="!committeeSearchResults.length"> 1549 <div class="card committeeCard" ng-repeat="committee in committees | filter: committeeSearch as committeeSearchResults"> 1550 <div class="card-body"> 1551 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} mb-0 committeeDescription"> 1552 There are no committees that match your search criteria. 1553 </p> 1554 </div> 1555 </div> 1556 </div> 1557 </div> 1558 </div> 1559 1560 <div ng-if="widget.type == 43"> 1561 <div style="display: none;" class="unite-gallery-container" id="gallery-{{widget.widgetId}}" ng-init="loadGallery(widget)"> 1562 <img ng-repeat="subwidget in widget.widgets" alt="{{subwidget.description}}" src="{{imageSrc(subwidget.uploadImageId)}}" data-image="{{imageSrc(sponsor.uploadImageId)}}" 1563 data-description="{{subwidget.description2}}"> 1564 </div> 1565 </div> 1566 1567 <div class="makePaymentOuter" ng-if="widget.type == 44" ng-init="loadOneTimeCharge(widget)"> 1568 <div class="imageContentInfo" style="padding: 20px;" ng-if="widget.oneTimeChargeId != null && widget.chargedata"> 1569 <div class="paymentInfo" ng-if="widget.oneTimeChargeId != null && widget.chargedata"> 1570 <h4>{{widget.chargedata.name}}</h4> 1571 <small>Amount</small> 1572 <h3 style="font-weight: 500">{{(widget.chargedata.isFlexiblePaymentsEnabled) ? "Flexible" : priceformatter.format(widget.chargedata.amount)}}</h3> 1573 </div> 1574 <div ng-if="widget.oneTimeChargeId != null && widget.chargedata && widget.chargedata.imageId" class="paymentImage" style="background-image: url({{imageSrc(widget.chargedata.imageId)}})"></div> 1575 <p ng-if="widget.oneTimeChargeId != null && widget.chargedata" class="paymentDescription">{{widget.chargedata.description}}</p> 1576 <div style="text-align: right;"> 1577 <button ng-if="widget.oneTimeChargeId != null && widget.chargedata" class="btn btn-outline-primary" ng-click="initiateOneTimeChargeModal(widget.chargedata)"><i class="fas fa-usd-circle"></i> Make Payment</button> 1578 </div> 1579 </div> 1580 </div> 1581 1582 <div ng-if="widget.type == 41" ng-init="getMyAmenities()"> 1583 <div class="row mx-0"> 1584 <div class="col-md-12"> 1585 <div class="card myEventsCard"> 1586 <div class="card-header d-flex align-items-center justify-content-between" ng-class="{'mb-2': myamenities != null && myamenities.length > 0, 'mb-0': myamenities == null || myamenities.length == 0}"> 1587 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-0"><i class="fas fa-calendar-alt mr-2"></i> My Upcoming Reservations</h4> 1588 1589 </div> 1590 <div style="overflow-y: auto; max-height:300px"> 1591 <div class="card-body p-0" ng-repeat="reservation in myamenities"> 1592 <!-- Event Line Item --> 1593 <div class="d-flex align-items-center justify-content-between p-0 pl-3"> 1594 <div> 1595 <h5 style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} mb-0 eventName">{{reservation.amenityName}} <span ng-if="reservation.isPending" style="font-weight: normal; font-size: 18px;">- <i>Pending Approval</i></span></h5> 1596 <p class="mb-2 eventInfoSubtext"><span class="mr-2"><i class="fas fa-calendar-day"></i> {{reservation.reservationDate}}</span> <span ng-if="!reservation.isAllDayReservation"><i class="fas fa-alarm-clock"></i> {{reservation.startTime}} - {{reservation.endTime}}</span><span ng-if="reservation.isAllDayReservation"><i class="fas fa-alarm-clock"></i> All Day</span></p> 1597 </div> 1598 <div style="width:6
15985px;" class="text-right"> 1599 <span class="mr-2 customText1" data-toggle="tooltip" title="Cancel Reservation"><a href="javascript:void(0)" ng-click="cancelReservation(reservation)"><i class="far fa-calendar-times"></i></a></span> 1600 </div> 1601 </div> 1602 </div> 1603 </div> 1604 <div class="card committeeCard" ng-if="!myamenities.length"> 1605 <div class="card-body"> 1606 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} mb-0 committeeDescription"> 1607 You have no amenity reservations. 1608 </p> 1609 </div> 1610 </div> 1611 1612 </div> 1613 </div> 1614 </div> 1615 </div> 1616 1617 <div ng-if="widget.type == 36" ng-init="getCommittees()"> 1618 <div class="row mx-0"> 1619 <div class="col-md-12"> 1620 <div class="card myCommitteesCard myEventsCard"> 1621 <div class="card-header d-flex align-items-center justify-content-between"> 1622 <h4 style="text-transform: none; {{headerTextStyles(widget)}}" class="mb-0 {{headerTextClasses(widget)}}"><i class="fas fa-user-friends mr-2"></i> My Committees</h4> 1623 <span class="customText1" data-toggle="tooltip" title="Search All Committees"><a href="{{sitePrefix}}/{{committeesUrl}}"><i class="fas fa-search"></i></a></span> 1624 </div> 1625 <div class="card-body p-0"> 1626 <!-- Committee Line Item --> 1627 <div class="d-flex align-items-center justify-content-between p-3" ng-repeat="committee in mycommittees"> 1628 <div> 1629 <h5 style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} mb-0 committeeName">{{committee.name}}</h5> 1630 <p ng-if="committee.currentUserStatus == 'leader'" style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} mb-0 committeeRoleSubtext">You are a <span class="font-weight-bold">leader</span> of this committee</p> 1631 <p ng-if="committee.currentUserStatus == 'pending'" style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} mb-0 committeeRoleSubtext">Your application is <span class="font-weight-bold">pending</span> for this committee </p> 1632 <p ng-if="committee.currentUserStatus == 'member'" style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} mb-0 committeeRoleSubtext">You are a <span class="font-weight-bold">member</span> of this committee</p> 1633 </div> 1634 <span ng-if="committee.currentUserStatus == 'leader'" class="customText1" data-toggle="tooltip" title="Manage Committee"><a href="/"><i class="fas fa-cog"></i></a></span> 1635 </div> 1636 </div> 1637 </div> 1638 </div> 1639 </div> 1640 </div> 1641 1642 <div ng-if="widget.type == 37" style="min-height: 500px;" ng-init="getEventsWithPopup()"> 1643 <div class="row mx-0 mb-3" ng-if="!registerEvent"> 1644 <div class="col-md-4"> 1645 </div> 1646 <div class="col-md-8 d-flex align-items-end"> 1647 <p class="searchResultsCount ">showing {{events.length}} of {{events.length}} events</p> 1648 </div> 1649 </div> 1650 <div class="row mx-0" ng-if="!registerEvent"> 1651 <div class="col-md-4"> 1652 <div class="card"> 1653 <div class="card-body"> 1654 <form> 1655 <div class="form-row"> 1656 <div class="form-group col-12"> 1657 <label for="searchEvents" style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">Search Events</label> 1658 <input type="text" class="form-control" id="searchEvents" placeholder="" ng-model="eventSearch.name"> 1659 </div> 1660 </div> 1661 <div class="form-row"> 1662 <div class="form-group col-md-6"> 1663 <label for="startDate" for="flatPickr2" style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">Start Date</label> 1664 <input type="text" class="form-control bg-white" id="eventSearchStartDate" placeholder="" ng-model="eventSearch.start"> 1665 </div> 1666 <div class="form-group col-md-6"> 1667 <label for="flatPickr3" style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">End Date</label> 1668 <input type="text" class="form-control bg-white" id="eventSearchEndDate" ng-init="initMobiscrollDatePickerRange('#eventSearchStartDate', '#eventSearchEndDate')" placeholder="" ng-model="eventSearch.end"> 1669 </div> 1670 </div> 1671 <div class="form-row" ng-init="initFlatPicker()"> 1672 <div class="form-group col-12"> 1673 <label for="eventLocation" style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">Location</label> 1674 <input type="text" class="form-control" id="eventLocation" placeholder="" ng-model="eventSearch.location"> 1675 </div> 1676 </div> 1677 <div class="mt-3 text-right"> 1678 <button type="button" ng-click="getEvents()" class="{{buttonClasse
1678s(widget)}} btn btn-primary mr-2 btn-sm" style="{{buttonStyles(widget)}}" id="">Search</button> 1679 <button type="button" class="btn btn-cancel btn-sm" ng-click="clearEventSearch()">Clear</button> 1680 </div> 1681 </form> 1682 </div> 1683 </div> 1684 </div> 1685 1686 <div class="col-md-8 eventSearchResults"> 1687 <div class="card eventCard" ng-repeat="event in events"> 1688 <div class="card-header d-flex align-items-center justify-content-between"> 1689 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-0">{{event.name}}</h4> 1690 <span class="customText1" data-toggle="tooltip" title="View Event"><button class="btn btn-primary btn-sm customBg1 customText6" ng-click="viewEvent(event, true)">Register</button></span> 1691 </div> 1692 <div ng-if="event.eventImageId" style="height: 250px; background-size: cover; background-position: center center; background-image: url({{imageSrc(event.eventImageId)}});"> 1693 </div> 1694 1695 <div class="card-body p-0"> 1696 <div class="d-flex align-items-center justify-content-between p-3"> 1697 <div> 1698 <p class="mb-2"> 1699 <span style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} mr-2"><i class="fas fa-calendar-day"></i> {{event.startDate}} <span ng-show="event.startDate != event.endDate">- {{event.endDate}}</span></span> 1700 <span ng-if="!event.hasActivities" style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}"><i class="fas fa-alarm-clock"></i> {{event.startTime}} - {{event.endTime}}</span> 1701 </p> 1702 <div class="d-flex align-items-start justify-content-start"> 1703 <i class="fas fa-map-marker-alt" style="margin-top:4px;margin-right:5px;"></i> 1704 <div> 1705 <p style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} mb-0">{{event.venue}}</p> 1706 <p style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} mb-0">{{event.address1}}</p> 1707 <p style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} mb-0">{{event.address2}}</p> 1708 <p style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} mb-0">{{event.city}}, {{event.stateAbbreviation}} {{event.zip}}</p> 1709 </div> 1710 </div> 1711 <style scoped=""> 1712 p { 1713 word-break: break-word; 1714 } 1715 </style> 1716 <div style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}
1716 calendarEntryMoreInfo mb-0 mt-2 eventDescription" ng-bind-html="trustedHtml(event.description)"></div> 1717 </div> 1718 </div> 1719 </div> 1720 </div> 1721 <div class="card eventCard" ng-if="!events.length"> 1722 <div class="card-body p-0"> 1723 <div class="d-flex align-items-center justify-content-between p-3"> 1724 <div> 1725 <p> 1726 There are no events that match your search criteria. 1727 </p> 1728 </div> 1729 </div> 1730 </div> 1731 </div> 1732 1733 </div> 1734 1735 1736 </div> 1737 1738 <div class="row mx-0 mb-0 mt-3" ng-if="registerEvent"> 1739 <div class="col-12 d-flex align-items-center m-100"> 1740 <h1 class="d-inline-flex m-100">Event Registration & Checkout</h1> 1741 1742 </div> 1743 </div> 1744 <div class="row mx-0 mb-4" ng-if="registerEvent"> 1745 <div class="col-12 d-flex align-items-center m-100"> 1746 <a href="javascript:void(0)" ng-click="unsetRegister()"><i class="fas fa-arrow-left"></i> <small>back to all events</small></a> 1747 </div> 1748 </div> 1749 1750 <div class="row mx-0" ng-if="registerEvent"> 1751 1752 <div class="col-md-8"> 1753 1754 <!-- INFORMATION --> 1755 <div class="card" id="memberInformation" ng-show="registrationTab == 'start'"> 1756 <div class="card-header"> 1757 <h4 class="mb-0">Registration Information</h4> 1758 </div> 1759 <div class="card-body"> 1760 <form name="eventForm1" novalidate ng-class="{'was-validated': eventValidationRan}"> 1761 <div class="form-row"> 1762 <div class="form-group col-md-6"> 1763 <label for="firstName">First Name<span class="text-danger">*</span></label> 1764 <input type="text" class="form-control" id="firstName" placeholder="" ng-required="true" ng-model="eventRegistration.firstName"> 1765 </div> 1766 <div class="form-group col-md-6"> 1767 <label for="lastName">Last Name<span class="text-danger">*</span></label> 1768 <input type="text" class="form-control" id="lastName" placeholder="" ng-required="true" ng-model="eventRegistration.lastName"> 1769 </div> 1770 </div> 1771 <div class="form-row"> 1772 <div class="form-group col-md-6"> 1773 <label for="email">Email<span class="text-danger">*</span></label> 1774 <input type="email" pattern=".{1,}@[-_a-z0-9A-Z]+(\.[a-z0-9A-Z]+)+" class="form-control" id="email" placeholder="" ng-required="true" ng-model="eventRegistration.emailAddress"> 1775 </div> 1776 <div class="form-group col-md-6"> 1777 <label for="phone">Phone<span class="text-danger">*</span></label> 1778 <input type="text" maxlength="12" class="form-control" id="phone" placeholder="" ng-required="true" ng-model="eventRegistration.phone"> 1779 </div> 1780 </div> 1781 <div class="form-row mb-3" ng-if="countries != null"> 1782 <div class="col-md-6"> 1783 <label for="addressState"> 1784 Country 1785 <sp
1785an class="text-danger">*</span> 1786 </label> 1787 <a class="globalTooltip" data-toggle="popover" title="Country" data-content="Select the country of your address from the dropdown menu."><i class="fas fa-question-circle"></i></a> 1788 <select class="form-control" style="width: 100%;" ng-model="eventRegistration.country"> 1789 <option disabled ng-value="null">Choose A Country</option> 1790 <option ng-repeat="country in countries" ng-value="country.identifier">{{country.name}}</option> 1791 </select> 1792 </div> 1793 1794 </div> 1795 <div class="form-row"> 1796 <div class="form-group col-md-6"> 1797 <label for="address1">Address 1<span class="text-danger">*</span></label> 1798 <input type="text" class="form-control" id="address1" placeholder="" ng-required="true" ng-model="eventRegistration.address1"> 1799 </div> 1800 <div class="form-group col-md-6"> 1801 <label for="address2">Address 2</label> 1802 <input type="text" class="form-control" id="address2" placeholder="" ng-model="eventRegistration.address2"> 1803 </div> 1804 </div> 1805 <div class="form-row" ng-if="eventRegistration.country == 1"> 1806 <div class="form-group col-md-5"> 1807 <label for="city">City<span class="text-danger">*</span></label> 1808 <input type="text" class="form-control" ng-required="true" id="city" placeholder="" ng-model="eventRegistration.city"> 1809 </div> 1810 <div class="form-group col-md-4"> 1811 <label for="state">State<span class="text-danger">*</span></label> 1812 <select class="form-control" ng-required="true" ng-model="eventRegistration.stateId"> 1813 <option ng-value="null">Choose A State</option> 1814 <option ng-repeat="state in states" ng-value="state.stateId">{{state.name}}</option> 1815 </select> 1816 </div> 1817 <div class="form-group col-md-3"> 1818 <label for="zip">Zip<span class="text-danger">*</span></label> 1819 <input type="text" class="form-control" minlength="5" maxlength="5" id="zip" placeholder="" ng-required="true" ng-model="eventRegistration.zip"> 1820 </div> 1821 </div> 1822 <div class="form-row" ng-if="eventRegistration.country != 1"> 1823 <div class="col-md-5"> 1824 <label for="addressCity"> 1825 City 1826 <sp
1826an class="text-danger">*</span> 1827 </label> 1828 <a class="globalTooltip" data-toggle="popover" title="City" data-content="Enter the city of your address."><i class="fas fa-question-circle"></i></a> 1829 <input type="text" class="form-control" id="city" placeholder="City" ng-required="true" ng-model="eventRegistration.city"> 1830 <div class="invalid-feedback"> 1831 Please provide a city. 1832 </div> 1833 </div> 1834 <div class="col-md-4"> 1835 <label for="stateProvince"> 1836 State/Province/Region 1837 <span class="text-danger">*</span> 1838 </label> 1839 <a class="globalTooltip" data-toggle="popover" title="State/Province/Region" data-content="Select the state/province/region of your address from the dropdown menu."><i class="fas fa-question-circle"></i></a> 1840 <input type="text" class="form-control" id="stateProvince" placeholder="State/Province/Region" ng-required="true" ng-model="eventRegistration.internationalState"> 1841 <div class="invalid-feedback"> 1842 Please provide a state/province/region. 1843 </div> 1844 </div> 1845 <div class="col-md-3"> 1846 <label for="addressZip"> 1847 ZIP/Postal Code 1848 <span class="text-danger">*</span> 1849 </label> 1850 <a class="globalTooltip" data-toggle="popover" title="ZIP/Postal Code" data-content="Enter the ZIP Code or Postal Code for your address."><i class="fas fa-question-circle"></i></a> 1851 <input type="text" class="form-control" id="zip" placeholder="ZIP/Postal Code" ng-required="true" ng-model="eventRegistration.internationalZip"> 1852 <div class="invalid-feedback"> 1853 Please provide a zip/postal code. 1854 </div> 1855 </div> 1856 </div> 1857 <sub class="text-danger">* Required Information</sub> 1858 1859 </form> 1860 1861 <div class="mt-3 text-right"> 1862 <button ng-click="clearEventMemberInformation()" type="button" class="btn btn-default mr-2" id="memberInformationClear">Clear</button> 1863 <button ng-click="validateNextEventSection(eventForm1)" type="button" class="btn btn-primary" id="memberInformationNext">Next</button> 1864 </div> 1865 </div> 1866 </div> 1867 1868 <!-- TICKETS/PACKAGES --> 1869 <div class="card" id="ticketsPackages" ng-show="registrationTab == 'tickets'"> 1870 <div class="card-header"> 1871 <h4 class="mb-0">Purchase Tickets or Packages</h4> 1872 </div> 1873 <div class="card-body"> 1874 <form name="eventForm2" novalidate ng-class="{'was-validated': eventValidationRan}"> 1875 <div class="form-row" ng-if="registerEvent.hasPackages"> 1876 <div class="form-group col-md-6"> 1877 <label for="ticketPackage">Package<span class="text-danger">*</span></label> 1878 <select ng-change="updateGrandTotal()" class="form-control" ng-required="true" ng-model="eventRegistration.package"> 1879 <option ng-value="null">Select a package</option> 1880 <option ng-repeat="package in registerEvent.packages" ng-value="package.packageId">{{package.name}}</option> 1881 </select> 1882 </div> 1883 </div> 1884 <div class="form-row"> 1885 <div class="form-group col-md-5"> 1886 <label for="ticketNumber">Number of Tickets<span class="text-danger">*</span></label> 1887 <input ng-change="updateGrandTotal()" ng-model="eventRegistration.ticketsBought" type="number" class="form-control" id="ticketNumber" ng-required="true" placeholder=""> 1888 </div> 1889 </div> 1890 <div class="form-row" ng-if="registerEvent.hasPackages && eventRegistration.package == package.packageId && package.forms != '00000000-0000-0000-0000-000000000000' && package.forms != null" ng-repeat="package in registerEvent.packages"> 1891 <div class="form-group col-md-6"> 1892 <label for="ticketPackage">Please complete form:</label><br /> 1893 <sp
1893an data-toggle="tooltip" title="Click to complete the package form"><a href="javascript:void(0)" ng-click="packageForm(package)">{{(eventRegistration.packageFormData.length) ? 'Package Form (Completed)' : 'Package Form'}}</a></span> 1894 </div> 1895 <div class="custom-feedback mb-3" ng-if="eventValidationRan == true && registerEvent.hasPackages && eventRegistration.package == package.packageId && package.forms != '00000000-0000-0000-0000-000000000000' && package.forms != null && !eventRegistration.packageFormData.length"> 1896 You must complete the form. 1897 </div> 1898 1899 </div> 1900 <sub class="text-danger">* Required Information</sub> 1901 1902 </form> 1903 1904 <div class="mt-3 text-right"> 1905 <button ng-click="prevEventSection()" type="button" class="btn btn-cancel mr-2" id="ticketsPackagesBack">Back</button> 1906 <button ng-click="validateNextEventSection(eventForm2)" type="button" class="btn btn-primary" id="ticketsPackagesNext">Next</button> 1907 </div> 1908 </div> 1909 </div> 1910 1911 <!-- ACTIVITIES --> 1912 <div class="card" id="activitiesTickets" ng-show="registrationTab == 'activities'"> 1913 <div class="card-header"> 1914 <h4 class="mb-0">Purchase Tickets for Activities</h4> 1915 </div> 1916 <div class="card-body"> 1917 <div class="accordion" id="activitiesAccordion"> 1918 <form name="eventForm3" novalidate ng-class="{'was-validated': eventValidationRan}"> 1919 <div class="card" ng-repeat="day in eventRegistration.activityDays"> 1920 <div class="card-header" id="headingOne"> 1921 <h5 class="mb-0"> 1922 <button class="btn btn-link p-0" type="button" data-toggle="collapse" data-target="#collapseOne{{$index}}" 1923 aria-expanded="false" aria-controls="collapseOne{{$index}}"> 1924 Day {{$index+1}} <span class="badge badge-secondary ml-2">{{day.activities.length}}</span> 1925 </button> 1926 </h5> 1927 </div> 1928 1929 <div id="collapseOne{{$index}}" class="collapse" aria-labelledby="headingOne" data-parent="#activitiesAccordion"> 1930 <div class="card-body p-0"> 1931 <table class="table"> 1932 <thead> 1933 <tr> 1934 <th scope="col">Activity</th> 1935 <th scope="col">Time</th> 1936 <th scope="col">Price</th> 1937 <th scope="col">Tickets</th> 1938 <th scope="col">Form (if any)</th> 1939 </tr> 1940 </thead> 1941 <tbody> 1942 <tr style="vertical-align:middle;" ng-repeat="activity in day.activities"> 1943 <td class="font-weight-bold"> 1944 {{activity.name}} 1945 <a href="javascript:void(0)" class="d-block" ng-if="activity.description" ng-click="viewDescriptionModal(activity)"><small>view description</small></a> 1946 </td> 1947 <td> 1948 <p class="mb-0">{{activity.startTime}} -</p> 1949 <p class="mb-0">{{activity.endTime}}</p> 1950 </td> 1951 <td>{{priceformatter.format(activity.ticketPrice)}}</td> 1952 <td> 1953 <input type="number" ng-change="updateGrandTotal();setMaxActivity(activity);" ng-model="activity.selectedSeats" class="form-control" id="ticketNumber" ng-required="true" placeholder=""> 1954 </td> 1955 <td> 1956 <sp
1956an ng-if="activity.forms && activity.forms != '00000000-0000-0000-0000-000000000000'" class="customText1" data-toggle="tooltip" title="Click to complete the activity form"><a href="javascript:void(0)" ng-click="activityForm(activity)">{{(activity.activityFormData.length) ? 'Click here to edit your form' : 'Click here to fill out the form'}}</a></span> 1957 </td> 1958 </tr> 1959 </tbody> 1960 </table> 1961 </div> 1962 </div> 1963 </div> 1964 </form> 1965 </div> 1966 1967 <div class="custom-feedback mb-3 mt-3" ng-if="eventValidationRan == true && missingEventForms"> 1968 You must complete the forms of your selected activities. 1969 </div> 1970 1971 1972 <sub class="text-danger mt-3 mb-3">* Required Information</sub> 1973 <div class="mt-3 text-right"> 1974 <button ng-click="prevEventSection()" type="button" class="btn btn-cancel mr-2" id="ticketsPackagesBack">Back</button> 1975 1976 <button ng-click="validateNextEventSection(eventForm3)" type="button" class="btn btn-primary" id="ticketsPackagesNext">Next</button> 1977 </div> 1978 </div> 1979 </div> 1980 1981 <!-- SPONSORSHIP --> 1982 <div class="card" id="sponsorshipAmount" ng-show="registrationTab == 'sponsors'"> 1983 <div class="card-header"> 1984 <h4 class="mb-0">Sponsorship Information</h4> 1985 </div> 1986 <div class="card-body"> 1987 <form name="eventForm4" novalidate ng-class="{'was-validated': eventValidationRan}"> 1988 <div class="form-row"> 1989 <div class="form-group col-md-6"> 1990 <label for="sponsorChoice" class="w-100">Would you like to donate?</label> 1991 <div class="form-check form-check-inline"> 1992 <input ng-model="eventRegistration.isSponsor" class="form-check-input" type="radio" name="sponsorOptions" id="inlineRadio1" ng-value="false"> 1993 <label class="form-check-label" for="inlineRadio1">No</label> 1994 </div> 1995 <div class="form-check form-check-inline"> 1996 <input ng-model="eventRegistration.isSponsor" class="form-check-input" type="radio" name="sponsorOptions" id="inlineRadio2" ng-value="true"> 1997 <label class="form-check-label" for="inlineRadio2">Yes</label> 1998 </div> 1999 </div> 2000 </div> 2001 <div class="form-row" ng-if="eventRegistration.isSponsor == true"> 2002 <div class="form-group col-md-6"> 2003 <label for="sponsorAmount">Donation Amount<span class="text-danger">*</span></label> 2004 <input type="text" class="form-control" id="sponsorAmount" ng-change="updateGrandTotal()" ng-required="eventRegistration.isSponsor" placeholder="" ng-model="eventRegistration.sponsorAmount"> 2005 </div> 2006 </div> 2007 <div class="form-row" ng-if="eventRegistration.isSponsor == true"> 2008 <div class="form-group col-md-6"> 2009 <label for="sponsorName">Donator Name<span class="text-danger">*</span></label> 2010 <input type="text" class="form-control" id="sponsorName" ng-required="eventRegistration.isSponsor" placeholder="" ng-model="eventRegistration.sponsorName"> 2011 </div> 2012 </div> 2013 <div class="form-row" ng-if="eventRegistration.isSponsor == true"> 2014 <div class="form-group col-md-6"> 2015 <label for="sponsorDescription">Donation Description<span class="text-danger">*</span></label> 2016 <textarea class="form-control" id="sponsorDescription" rows="3" ng-required="eventRegistration.isSponsor" ng-model="eventRegistration.sponsorDescription"></textarea> 2017 </div> 2018 </div> 2019 <!-- 2020 <div class="form-row" ng-if="eventRegistration.isSponsor == true"> 2021 <div class="form-group col-md-6"> 2022 <label for="sponsorImage">Sponsor Image<span class="text-success" ng-if="eventRegistration.sponsorImageId"><i class="fas fa-check"></i></span></label> 2023 <div class="custom-file" style="font-size:12px;" ng-click="editSponsorImage()"> 2024 <input type="file" class="custom-file-input" id="sponsorImage" ng-click="preventDefault($event)"> 2025 <label class="custom-file-label" for="sponsorImage" ng-click="preventDefault($event)">{{(eventRegistration.sponsorImageId ? 'Edit Image' : 'Upload Image' )}}</label> 2026 </div> 2027 </div> 2028 </div>--> 2029 <sub class="text-danger">* Required Information</sub> 2030 2031 </form> 2032 2033 <div class="mt-3 text-right"> 2034 <button ng-click="prevEventSection()" type="button" class="btn btn-cancel mr-2" id="ticketsPackagesBack">Back</button> 2035 <button ng-click="validateNextEventSection(eventForm4)" type="button" class="btn btn-primary" id="ticketsPackagesNext">Save & Next</button> 2036 </div> 2037 </div> 2038 </div> 2039 2040 <!-- FINAL REVIEW --> 2041 <div class="card" id="finalReview" ng-show="registrationTab == 'final'"> 2042 <div class="card-header"> 2043 <h4 class="mb-0">{{(eventRegistration.grandTotal > 0) ? 'Review' : 'Review'}}</h4> 2044 </div> 2045 <div class="card-body"> 2046 <p>{{(eventRegistration.grandTotal > 0) ? 'Review your order and make a payment.' : 'Review your registration details.'}}</p> 2047 2048 <div class="row memberDetailsModal"> 2049 <div class="col-12"> 2050 <table class="table mb-0"> 2051 <tbody> 2052 <tbody> 2053 <tr> 2054 <td style="vertical-align:middle;"> 2055 <sp
2055an class="text-muted"><small>Event</small></span> 2056 </td> 2057 <td style="vertical-align:middle;"> 2058 <p>{{registerEvent.name}}</p> 2059 </td> 2060 </tr> 2061 <tr ng-if="eventRegistration.package != null"> 2062 <td style="vertical-align:middle;"> 2063 <span class="text-muted"><small>{{packageName(eventRegistration)}} x{{eventRegistration.ticketsBought}} </small></span> 2064 </td> 2065 <td style="vertical-align:middle;"> 2066 <p class="price">{{packageCost(eventRegistration)}}</p> 2067 </td> 2068 </tr> 2069 <tr ng-if="eventRegistration.package == null"> 2070 <td style="vertical-align:middle;"> 2071 <span class="text-muted"><small>Ticket x{{eventRegistration.ticketsBought}} </small></span> 2072 </td> 2073 <td style="vertical-align:middle;"> 2074 <p class="price">{{ticketCost(eventRegistration)}}</p> 2075 </td> 2076 </tr> 2077 </tbody> 2078 <tbody ng-bind-html="trustedHtml(activityRegistration(eventRegistration))"> 2079 </tbody> 2080 <tbody> 2081 <tr ng-if="eventRegistration.isSponsor == true && eventRegistration.sponsorAmount > 0"> 2082 <td style="vertical-align:middle;"> 2083 <span class="text-muted"><small>Donation </small></span> 2084 </td> 2085 <td style="vertical-align:middle;"> 2086 <p class="price">{{priceformatter.format(eventRegistration.sponsorAmount)}}</p> 2087 </td> 2088 </tr> 2089 <tr ng-show="eventRegistration.grandTotal > 0"> 2090 <td style="vertical-align:middle;"> 2091 <span class="text-muted font-weight-bold"><small class="font-weight-bold">Grand Total</small></span> 2092 </td> 2093 <td style="vertical-align:middle;"> 2094 <p class="price font-weight-bold">{{priceformatter.format(eventRegistration.grandTotal)}}</p> 2095 </td> 2096 </tr> 2097 </tbody> 2098 </table> 2099 </div> 2100 </div> 2101 2102 2103 <div class="mt-1" style="width: 100%;" ng-show="eventRegistration.grandTotal > 0"> 2104 <div class="mb-3" ng-show="sitedata.plaidEnabled && false"> 2105 <div class=""> 2106 <label for="paymentTypeRadios">Select Payment Type</label> 2107 </div> 2108 <div class="form-check form-check-inline"> 2109 <input class="form-check-input" type="radio" name="paymentTypeInlineOptions" ng-model="eventRegistration.paymentType" id="paymentTypeInlineRadio1" value="card"> 2110 <label class="form-check-label" for="paymentTypeInlineRadio1">Card</label> 2111 </div> 2112 <div class="form-check form-check-inline"> 2113 <input class="form-check-input" type="radio" name="paymentTypeInlineOptions" ng-model="eventRegistration.paymentType" id="paymentTypeInlineRadio2" value="plaid"> 2114 <label class="form-check-label" for="paymentTypeInlineRadio2">ACH</label> 2115 </div> 2116 </div> 2117 2118 <div class="col-12" ng-show="paymentType == 'plaid'"> 2119 <button class="btn btn-default btn-block" id='cardsLinkButton' ng-show="!plaidObject.plaidLinked" ng-click="loadStripeACH()">Open Stripe Link</button> 2120 <p class="mb-0 text-center" ng-show="plaidObject.plaidLinked"><b>If you use our services or purchase additional products periodically pursuant to our terms, you authorize us to debit your bank account periodically. Payments that fall outside of the regular debits authorized above will only be debited after your authorization is obtained.</b></p> 2121 <button class="btn btn-default btn-block" id='cardsLinkButton' ng-show="plaidObject.plaidLinked" ng-click="confirmStripeACH()">I agree</button> 2122 </div> 2123 2124 <div id="stripe-card-element" ng-show="eventRegistration.paymentType == 'card'" class="form-control mt-0" style="width: 100%" ng-init="loadStripe()"></div> 2125 </div> 2126 2127 <div class="mt-3 text-right"> 2128 <button ng-click="prevEventSection()" type="button" class="btn btn-cancel mr-2" id="ticketsPackagesBack">Back</button> 2129 2130 <button ng-click="completeRegistration()" type="button" class="btn btn-primary" id="ticketsPackagesNext">{{(eventRegistration.grandTotal > 0) ? 'Pay' : 'Register'}}</button> 2131 </div> 2132 </div> 2133 </div> 2134 <!-- Completed --> 2135 <div class="card" id="finalReview" ng-show="registrationTab == 'complete'"> 2136 <div class="card-header"> 2137 <h4 class="mb-0">Registration Completed</h4> 2138 </div> 2139 <div class="card-body"> 2140 <p>Thank you for registering to this event. You will receive an email confirming your registration.</p> 2141 </div> 2142 </div> 2143 </div> 2144 2145 <!-- MY CART --> 2146 <div class="col-md-4 fixedMyCart"> 2147 <div class="card"> 2148 <div class="card-header"> 2149 <h4 class="mb-0"><i class="fas fa-shopping-cart mr-2"></i> My Cart</h4> 2150 </div> 2151 <div class="card-body p-0 mycartTable"> 2152 <table class="table mb-0"> 2153 <tbody> 2154 <tr> 2155 <td style="vertical-align:middle;"> 2156 <sp
2156an class="text-muted"><small>Registration</small></span> 2157 </td> 2158 <td style="vertical-align:middle;"> 2159 <p>{{eventRegistration.firstName}} {{eventRegistration.lastName}}</p> 2160 <p>{{eventRegistration.country == 1 ? "United States" : "Canada"}}</p> 2161 <p>{{eventRegistration.address1}}</p> 2162 <p ng-if="eventRegistration.address2">{{eventRegistration.address2}}</p> 2163 <p ng-if="eventRegistration.country == 1 && eventRegistration.city && eventRegistration.stateId && eventRegistration.zip">{{eventRegistration.city}}, {{stateName(eventRegistration.stateId)}} {{eventRegistration.zip}}</p> 2164 <p ng-if="eventRegistration.country != 1 && eventRegistration.city && eventRegistration.internationalState && eventRegistration.internationalZip">{{eventRegistration.city}}, {{eventRegistration.internationalState)}} {{eventRegistration.internationalZip}}</p> 2165 </td> 2166 </tr> 2167 <tr ng-if="eventRegistration.package != null && registerEvent.hasPackages"> 2168 <td style="vertical-align:middle;"> 2169 <span class="text-muted"><small>{{packageName(eventRegistration)}} x{{eventRegistration.ticketsBought}} </small></span> 2170 </td> 2171 <td style="vertical-align:middle;"> 2172 <p class="price">{{packageCost(eventRegistration)}}</p> 2173 </td> 2174 </tr> 2175 <tr ng-if="eventRegistration.package == null && !registerEvent.hasPackages"> 2176 <td style="vertical-align:middle;"> 2177 <span class="text-muted"><small>Ticket x{{eventRegistration.ticketsBought}} </small></span> 2178 </td> 2179 <td style="vertical-align:middle;"> 2180 <p class="price">{{ticketCost(eventRegistration)}}</p> 2181 </td> 2182 </tr> 2183 2184 </tbody> 2185 <tbody ng-bind-html="trustedHtml(activityRegistration(eventRegistration))"> 2186 </tbody> 2187 <tbody> 2188 <tr ng-if="eventRegistration.isSponsor == true && eventRegistration.sponsorAmount > 0"> 2189 <td style="vertical-align:middle;"> 2190 <span class="text-muted"><small>Donation </small></span> 2191 </td> 2192 <td style="vertical-align:middle;"> 2193 <p class="price">{{priceformatter.format(eventRegistration.sponsorAmount)}}</p> 2194 </td> 2195 </tr> 2196 <tr> 2197 <td style="vertical-align:middle;"> 2198 <sp
2198an class="text-muted font-weight-bold"><small class="font-weight-bold">Grand Total</small></span> 2199 </td> 2200 <td style="vertical-align:middle;"> 2201 <p class="price font-weight-bold">{{priceformatter.format(eventRegistration.grandTotal)}}</p> 2202 </td> 2203 </tr> 2204 </tbody> 2205 </table> 2206 <!-- 2207 <div class="p-3 border-top"> 2208 <a href="javascript:void(0)" class="btn btn-primary text-white w-100">Checkout</a> 2209 </div>--> 2210 </div> 2211 </div> 2212 </div> 2213 </div> 2214 </div> 2215 2216 <div ng-if="widget.type == 38" ng-init="getMyEvents()"> 2217 <div class="row mx-0"> 2218 <div class="col-md-12"> 2219 <div class="card myEventsCard"> 2220 <div class="card-header d-flex align-items-center justify-content-between"> 2221 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-0"><i class="fas fa-calendar-alt mr-2"></i> My Registered Events</h4> 2222 <span class="customText1" data-toggle="tooltip" title="Search All Events"><a href="{{sitePrefix}}/{{eventsUrl}}"><i class="fas fa-search"></i></a></span> 2223 </div> 2224 <div class="card-body p-0"> 2225 <!-- Event Line Item --> 2226 <div ng-repeat="event in myevents" class="d-flex align-items-center justify-content-between p-3"> 2227 <div> 2228 <h5 style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} mb-0 eventName">{{event.name}}</h5> 2229 <p class="mb-2 eventInfoSubtext"><span class="mr-2"><i class="fas fa-calendar-day"></i> {{event.startDate}}</span> <span ng-if="event.startTime && event.endTime"><i class="fas fa-alarm-clock"></i> {{event.startTime}} - {{event.endTime}}</span></p> 2230 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} mb-0 angularJsNewLine">{{event.truncatedDescription}}</p> 2231 </div> 2232 <div style="width:65px;" class="text-right"> 2233 <span class="mr-2 customText1" data-toggle="tooltip" title="View Event"><button class="btn btn-primary btn-sm customBg1 customText6" ng-click="viewEventRegistration(event, false)">View</button></span> 2234 </div> 2235 </div> 2236 <div class="text-center p-2 border-top"> 2237 <div class="text-center"> 2238 <button class="{{buttonClasse
2238s(widget)}}" style="{{buttonStyles(widget)}}" ng-click="setUrl(sitePrefix+'/'+eventsUrl)">view all events</button> 2239 </div> 2240 </div> 2241 </div> 2242 </div> 2243 </div> 2244 </div> 2245 </div> 2246 2247 <div ng-if="widget.type == 29"> 2248 <div class="builderGridRow twoThirdsRight quoteBlock"> 2249 <div class="gridBlock populatedBlock p-4" style="background: transparent;"> 2250 <p class="quoteMarks fa-lg"> 2251 <span class="{{paragraphTextClasses(widget)}} "> 2252 <i class="fa fa-circle fa-stack-2x"></i> 2253 </span> 2254 <span class="customText6" style="font-size: 60px;"> 2255 <i class="fas fa-quote-left fa-stack-1x"></i> 2256 </span> 2257 </p> 2258 </div> 2259 <div class="gridBlock populatedBlock" style="background: transparent;"> 2260 <div class=""> 2261 <p style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} quoteText" ng-bind-html="trustedHtml(widget.description)"></p> 2262 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} quoteAuthor">{{widget.description2}}</p> 2263 </div> 2264 </div> 2265 </div> 2266 </div> 2267 2268 <div ng-if="widget.type == 21"> 2269 <h3 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}">{{widget.description2}}</h3> 2270 <div style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}" ng-bind-html="trustedHtml(widget.description)"></div> 2271 </div> 2272 <div ng-if="widget.type == 27" style="width: 100%; height: 100%;"> 2273 <div class="bgImageMobile" ng-class="{'customBorder1': widget.borderColor == 1, 'customBorder2': widget.borderColor == 2, 'customBorder3': widget.borderColor == 3, 'customBorder4': widget.borderColor == 4, 'customBorder5': widget.borderColor == 5, 'customBorder6': widget.borderColor == 6, 'customBorder7': widget.borderColor == 7}" style="background-image: url({{imageSrc(widget.uploadImageId)}}); background-position: center center; width: 100%; height: 100%; background-size: cover; border-radius: 0px;border: 5px solid #fff;box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.40); {{(widget.borderThickness != 0 && widget.borderThickness != null) ? 'border-width: '+widget.borderThickness+'px; border-style: solid; ' : '' }}{{(widget.borderRadius != 0 && widget.borderRadius != null) ? 'border-radius: '+widget.borderRadius+'px;' : '' }}"> 2274 </div> 2275 </div> 2276 2277 <div ng-if="widget.type == 22"> 2278 <div class="imageContentInfo" style="max-width:100%;"> 2279 <div class="bgImageMobile" ng-class="{'customBorder1': widget.borderColor == 1, 'customBorder2': widget.borderColor == 2, 'customBorder3': widget.borderColor == 3, 'customBorder4': widget.borderColor == 4, 'customBorder5': widget.borderColor == 5, 'customBorder6': widget.borderColor == 6, 'customBorder7': widget.borderColor == 7}" style="background-image: url({{imageSrc(widget.uploadImageId)}}); background-position: center center; background-size: cover; padding-top: 85%; border-radius: 0px;border: 5px solid #fff;box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.40); {{(widget.borderThickness != 0 && widget.borderThickness != null) ? 'border-width: '+widget.borderThickness+'px; border-style: solid; ' : '' }}{{(widget.borderRadius != 0 && widget.borderRadius != null) ? 'border-radius: '+widget.borderRadius+'px;' : '' }}"> 2280 </div> 2281 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}">{{widget.description}}</h4> 2282 <a class="{{buttonClasse
2282s(widget)}}" ng-if="widget.buttonType != 4" style="{{buttonStyles(widget)}}" target="{{(widget.buttonType != 1) ? '_BLANK' : ''}}" href="{{widget.buttonUrl}}">{{widget.buttonText}}</a> 2283 </div> 2284 </div> 2285 2286 2287 <div ng-if="widget.type == 2" style="width: 100%; height: 100%;"> 2288 <div class="bgImageMobile" ng-class="{'customBorder1': widget.borderColor == 1, 'customBorder2': widget.borderColor == 2, 'customBorder3': widget.borderColor == 3, 'customBorder4': widget.borderColor == 4, 'customBorder5': widget.borderColor == 5, 'customBorder6': widget.borderColor == 6, 'customBorder7': widget.borderColor == 7}" style="background-image: url({{imageSrc(widget.uploadImageId)}}); background-position: center center; width: 100%; height: 100%; background-size: cover; {{(widget.borderThickness != 0 && widget.borderThickness != null) ? 'border-width: '+widget.borderThickness+'px; border-style: solid; ' : '' }}{{(widget.borderRadius != 0 && widget.borderRadius != null) ? 'border-radius: '+widget.borderRadius+'px;' : '' }}"> 2289 </div> 2290 </div> 2291 2292 <div class="populatedBlock" ng-if="widget.type == 3"> 2293 <div class="gridBlock populatedBlock"> 2294 <div class="featuredLinksRow"> 2295 <div class="featuredLinksBlock" ng-repeat="subwidget in widget.widgets"> 2296 <div class="featuredLink"> 2297 <div class="blockIcon {{headerTextClasses(widget)}}" style="text-shadow: 2px 2px rgba(0, 0, 0, 0.75); " ng-if="subwidget.description != 'Description Text Here' && subwidget.description.length"><a class="textCustom" target="{{(subwidget.buttonType != 1 && subwidget.buttonType != 4) ? '_BLANK' : ''}}" href="{{(subwidget.buttonType != 4) ? subwidget.buttonUrl : ''}}"><i class="{{subwidget.description}}"></i></a></div> 2298 <div class="blockIcon {{headerTextClasses(widget)}}" style="text-shadow: 2px 2px rgba(0, 0, 0, 0.75); " ng-if="(subwidget.buttonType == 1 || subwidget.buttonType == 4) && (subwidget.description == 'Description Text Here' || subwidget.description == '')"><a class="textCustom" target="{{(subwidget.buttonType != 1 && subwidget.buttonType != 4) ? '_BLANK' : ''}}" href="{{(subwidget.buttonType != 4) ? subwidget.buttonUrl : ''}}"><i class="far fa-link"></i></a></div> 2299 <div class="blockIcon {{headerTextClasses(widget)}}" style="text-shadow: 2px 2px rgba(0, 0, 0, 0.75); " ng-if="subwidget.buttonType == 2 && (subwidget.description == 'Description Text Here' || subwidget.description == '')"><a class="textCustom" target="{{(subwidget.buttonType != 1) ? '_BLANK' : ''}}" href="{{subwidget.buttonUrl}}"><i class="far fa-external-link"></i></a></div> 2300 <div class="blockIcon {{headerTextClasses(widget)}}" style="text-shadow: 2px 2px rgba(0, 0, 0, 0.75); " ng-if="subwidget.buttonType == 3 && (subwidget.description == 'Description Text Here' || subwidget.description == '')"><a class="textCustom" target="{{(subwidget.buttonType != 1) ? '_BLANK' : ''}}" href="{{subwidget.buttonUrl}}"><i class="far fa-file"></i></a></div> 2301 <div><a style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}" target="{{(subwidget.buttonType != 1 && subwidget.buttonType != 4) ? '_BLANK' : ''}}" href="{{(subwidget.buttonType != 4) ? subwidget.buttonUrl : ''}}">{{subwidget.buttonText}}</a></div> 2302 </div> 2303 </div> 2304 </div> 2305 </div> 2306 </div> 2307 <div ng-if="widget.type == 4"> 2308 <div style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}" ng-bind-html="trustedHtml(widget.description)"></div> 2309 </div> 2310 <div ng-if="widget.type == 12"> 2311 <div class="membersOnlyOverlay"> 2312 2313 <div style="text-align: center; {{headerTextStyles(widget)}}" class="mb-0 {{headerTextClasses(widget)}}">This is members only content. <br /><a href="javascript:void(0)" ng-click="login()" style="color: #0076b9;">Log into</a> a members account to view it.</div> 2314 </div> 2315 </div> 2316 2317 <div ng-if="widget.type == 24" class="mb-5 customText7" ng-init="getNewsfeed(widget.widgetId)"> 2318 2319 <div class="row mx-0 mt-4 mb-4"> 2320 <div class="col-md-12 m-auto" style="max-width:1200px;"> 2321 <div class="card newsfeedCard pinnedCard pt-3" ng-if="!newsfeeditems.length"> 2322 <p style="text-align: center;" ng-cloak ng-if="isMember && !isBlocked"><a href="javascript:void(0)" ng-click="editNewsfeed(null)" style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}">There are no posts in this newsfeed. Click here to add one!</a></p> 2323 <p style="text-align: center;" ng-cloak ng-if="!isMember || isBlocked"><span style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}">There are no posts in this newsfeed.</span></p> 2324 </div> 2325 <!-- START POST 1 --> 2326 <div class="card newsfeedCard pinnedCard" ng-repeat="item in newsfeeditems" ng-class="{'pinnedCard': item.isPinned}"> 2327 <!-- post header --> 2328 <div class="card-header postInfo d-flex align-items-center justify-content-between"> 2329 <div class="d-flex align-items-center justify-content-start"> 2330 <div class="inline avatarCircle"> 2331 <div class="md-avatar pr-ron size-2 roun
2331ded-circle" style="background-image: url({{item.comments[0].avatar}})"></div> 2332 </div> 2333 <div class="ml-3"> 2334 <a href="javascript:void(0)" id="postAuthorMain" aria-haspopup="true" style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} font-weight-bold" aria-expanded="false">{{item.comments[0].firstName}} {{item.comments[0].lastName}}</a><small hidden class="ml-2" data-toggle="tooltip" title="All Members"><i class="fas fa-users-cog"></i></small> 2335 <!--<div class="dropdown-menu postDropdownMain" aria-labelledby="postAuthorMain"> 2336 <a class="dropdown-item" href="#">message</a> 2337 <a class="dropdown-item" href="#">view information</a> 2338 <a class="dropdown-item" href="#">block/report</a> 2339 </div>--> 2340 <div style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} text-subtle"><small>{{item.comments[0].timestampString}}</small></div> 2341 </div> 2342 </div> 2343 <div class="d-flex align-items-center justify-content-end postActions"> 2344 <a href="javascript:void(0)" class="postPinMenu" ng-click="unpin(item);" ng-if="item.isPinned && sitedata.isNewsfeedAdmin"><i class="fas fa-thumbtack text-danger"></i></a> 2345 <i class="fas fa-thumbtack text-danger" ng-if="item.isPinned && !sitedata.isNewsfeedAdmin"></i> 2346 <a href="javascript:void(0)" class="postPinMenu" ng-click="pin(item)" ng-if="!item.isPinned && sitedata.isNewsfeedAdmin"><i class="fas fa-thumbtack"></i></a> 2347 2348 <a href="javascript:void(0)" ng-if="(sitedata.isNewsfeedAdmin || item.comments[0].userId == userId) && !isBlocked" class="postGeneralMenu menuEllipsis" id="postDropdownMain" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fas fa-ellipsis-v"></i></a> 2349 <div class="dropdown-menu dropdown-menu-right postDropdownMain" aria-labelledby="postDropdownMain"> 2350 <a class="dropdown-item" href="javascript:void(0)" ng-click="editNewsfeed(item.newsfeedId)">edit</a> 2351 <a class="dropdown-item" href="javascript:void(0)" ng-click="removeNewsfeed(item.newsfeedId)">remove</a> 2352 <a class="dropdown-item" href="javascript:void(0)" ng-if="!item.comments[0].isBanned && sitedata.isNewsfeedAdmin" ng-click="triggerBanUser(item.comments[0].userId)">ban user posts</a> 2353 </div> 2354 </div> 2355 </div> 2356 2357 <!-- post text content --> 2358 <div class="card-body postContent"> 2359 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}">{{item.name}}</h4> 2360 <div style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}"> 2361 <p ng-bind-html="trustedHtml(item.comments[0].message)" ng-dblclick="triggerEditComment(item.comments[0])" id="comment-{{item.comments[0].postId}}"> 2362 2363 </p> 2364 </div> 2365 2366 <div class="postAttachments" ng-if="item.comments[0].attachments.length"> 2367 <a class="" data-toggle="collapse" href="#attachmentNewsfeedCollapse{{$index}}" role="button" aria-expanded="false" 2368 aria-controls="attachmentNewsfeedCollapse{{$index}}"><i class="fas fa-paperclip mr-2"></i> view {{item.comments[0].attachments.length}} attachments</a> 2369 <div class="collapse attachmentCollapse" id="attachmentNewsfeedCollapse{{$index}}"> 2370 <div style="margin-top: 15px;"> 2371 <a style="white-space: nowrap;" href="/File/Get/{{attachment.fileId}}" target="_BLANK" ng-repeat="attachment in item.comments[0].attachments"><i class="fas fa-paperclip mr-2"></i> {{attachment.fileName}}</a> 2372 </div> 2373 </div> 2374 </div> 2375 </div> 2376 <div class="card-img postImage" ng-if="item.comments[0].images.length"> 2377 <div class="imageSlider imageSlider{{$index}}" ng-init="loadSlider($index)"> 2378 <img ng-src="{{imageSrc(image.fileId)}}" ng-repeat="image in item.comments[0].images"> 2379 </div> 2380 </div> 2381 2382 <div class="carc-img postImage mt-4" style="text-align: center;" ng-if="item.comments[0].videos.length" ng-repeat="video in item.comments[0].videos"> 2383 <video width="500" height="280" controls style="margin: auto"> 2384 <source ng-src="{{imageSrc(video.fileId)}}" type="video/mp4"> 2385 Your browser does not support the video tag. 2386 </video> 2387 </div> 2388 2389 <!-- post like
2389s, comments, favorites --> 2390 <div class="card-footer postInteractions"> 2391 <div class="d-flex align-items-center justify-content-end"> 2392 <a href="javascript:void(0)" class="" ng-if="item.isLiked && !isBlocked && isMember" ng-click="unlike(item)"><i class="fas fa-thumbs-up"></i><span class="badge badge-dark">{{item.likes.length}}</span></a> 2393 <a href="javascript:void(0)" class="" ng-if="!item.isLiked && !isBlocked && isMember" ng-click="like(item)"><i class="far fa-thumbs-up"></i><span class="badge badge-dark">{{item.likes.length}}</span></a> 2394 <a class="" ng-if="isMember" data-toggle="collapse" href="#collapseComment{{$index}}" role="button" aria-expanded="false" aria-controls="collapseComment{{$index}}"><i class="fas fa-comment-dots"></i><span class="badge badge-dark">{{item.comments.length -1}}</span></a> 2395 </div> 2396 </div> 2397 <div class="collapse collapseReplies" ng-class="{'show': expandedList.indexOf(item.newsfeedId) != -1}" ng-click="toggleList(item.newsfeedId)" id="collapseComment{{$index}}"> 2398 2399 <!-- start reply div--> 2400 <div class="replyContainer d-flex align-items-start p-3" ng-repeat="comment in item.comments" ng-if="$index != 0"> 2401 <div class=""> 2402 <div class="inline avatarCircle"> 2403 <div class="md-avatar size-1 rounded-circle" style="background-image: url({{comment.avatar}})"></div> 2404 </div> 2405 </div> 2406 <div class="replyBubble" style="width: 100%;"> 2407 <div class="d-flex align-items-center justify-content-between"> 2408 <div class=""> 2409 <a href="javascript:void(0)" style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} font-weight-bold" id="replyAuthorMain" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{comment.firstName}} {{comment.lastName}}</a> 2410 <div style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} text-subtle"><small>{{comment.timestampString}}</small></div> 2411 </div> 2412 <div class="align-self-start" ng-if="(sitedata.isNewsfeedAdmin || comment.userId == userId) && !isBlocked"> 2413 <a href="javascript:void(0)" class="postReplyMenu menuEllipsis" id="postReplyMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fas fa-ellipsis-v"></i></a> 2414 <div class="dropdown-menu dropdown-menu-right postDropdownMain" aria-labelledby="postReplyMenu"> 2415 <a class="dropdown-item" href="javascript:void(0)" ng-click="triggerEditComment(comment)">edit</a> 2416 <a class="dropdown-item" href="javascript:void(0)" ng-click="removeComment(comment.postId)">remove</a> 2417 <a class="dropdown-item" href="javascript:void(0)" ng-if="!comment.isBanned && sitedata.isNewsfeedAdmin" ng-click="triggerBanUser(comment.userId)">ban user posts</a> 2418 </div> 2419 </div> 2420 </div> 2421 <div style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} d-block w-100"> 2422 <p ng-bind-html="trustedHtml(comment.message)" ng-dblclick="triggerEditComment(comment)" id="comment-{{comment.postId}}"> 2423 2424 </p> 2425 </div> 2426 </div> 2427 </div> 2428 <!-- end reply div--> 2429 <!-- start your reply div--> 2430 <div class="replyContainer d-flex align-items-start p-3" ng-if="!isBlocked"> 2431 <div class=""> 2432 <div class="inline avatarCircle"> 2433 <div class="md-avatar size-1 rounded-circle" style="background-image: url({{avatar}})"></div> 2434 </div> 2435 </div> 2436 <div class="replyBubbleSelf w-100"> 2437 <div class="d-block w-100"> 2438 <div class="col input-group px-0"> 2439 <input type="text" class="form-control form-control-sm m-100 emojiField hideMe" id="submission-{{item.newsfeedId}}" data-emojis data-emojiable="unicode" data-item-id="{{item.newsfeedId}}
2439" ng-init="initEmojis()" ng-model="comment.newmessage" ng-keypress="" placeholder="write your reply..." aria-label="" aria-describedby=" "> 2440 <div class="input-group-append m-100" id="searchFilters"> 2441 <button class="btn btn-sm btn-primary m-100" type="button" ng-click="manualSendReply(item, comment)">Post</button> 2442 </div> 2443 </div> 2444 </div> 2445 </div> 2446 </div> 2447 <!-- end your reply div--> 2448 </div> 2449 </div> 2450 <!-- END POST 1 --> 2451 2452 <div style="text-align: center"> 2453 <button class="{{buttonClasses(widget)}}" style="{{buttonStyles(widget)}} margin-bottom: 50px" ng-click="loadmore('all')" ng-if="newsfeedFilter == 'all' && newsfeedall.length != newsfeeddata.maxall">Load More</button> 2454 <button class="{{buttonClasses(widget)}}" style="{{buttonStyles(widget)}} margin-bottom: 50px" ng-click="loadmore('pinned')" ng-if="newsfeedFilter == 'pinned' && newsfeedpinned.length != newsfeeddata.maxpinned">Load More</button> 2455 <button class="{{buttonClasses(widget)}}" style="{{buttonStyles(widget)}} margin-bottom: 50px" ng-click="loadmore('mine')" ng-if="newsfeedFilter == 'mine' && newsfeedmine.length != newsfeeddata.maxmine">Load More</button> 2456 </div> 2457 </div> 2458 </div> 2459 2460 </div> 2461 2462 <div ng-if="widget.type == 20"> 2463 <div class="membersOnlyOverlay"> 2464 <div style="text-align: center; {{headerTextStyles(widget)}}" class="mb-0 {{headerTextClasses(widget)}}">This is members only content. You will need to pay any outstanding dues to view it.</div> 2465 </div> 2466 </div> 2467 <div ng-if="widget.type == 6"> 2468 <div class="featuredLinksBlock"> 2469 <div class="featuredLink"> 2470 <div> 2471 <h2 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}">{{widget.description}}</h2> 2472 </div> 2473 <div style="{{(widget.buttonTextAlignment == 1) ? 'text-align: center;' : ''}}{{(widget.buttonTextAlignment == 3) ? 'text-align: right;' : ''}}"> 2474 <button ng-if="widget.buttonType != 4" class="{{buttonClasses(widget)}}" style="cursor: pointer; {{buttonStyles(widget)}}" ng-click="handleClick(widget)">{{widget.buttonText}}</button> 2475 </div> 2476 </div> 2477 </div> 2478 </div> 2479 2480 <div ng-if="widget.type == 7"> 2481 <h2 class="mb-3 customFormHeader {{headerTextClasses(widget)}}" style="{{headerTextStyles(widget)}}">{{widget.description}}</h2> 2482 <form name="contactForm" novalidate ng-class="{'was-validated': contactSubmitAttempt}"> 2483 <div class="form-row"> 2484 <div class="form-group col-md-6"> 2485 <label for="firstName" style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}">First Name<span class="text-danger">*</span></label><a class="globalTooltip" data-toggle="popover" title="First Name" data-content="Please enter your name."><i class="fas fa-question-circle"></i></a> 2486 <input type="text" class="form-control" id="firstName" placeholder="First Name" ng-required="true" ng-model="contact.firstName"> 2487 <div class="invalid-feedback"> 2488 Please enter your first name. 2489 </div> 2490 2491 </div> 2492 <div class="form-group col-md-6"> 2493 <label for="lastName" style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}">Last Name<span class="text-danger">*</span></label><a class="globalTooltip" data-toggle="popover" title="Last Name" data-content="Please enter your name."><i class="fas fa-question-circle"></i></a> 2494 <input type="text" class="form-control" id="lastName" placeholder="Last Name" ng-required="true" ng-model="contact.lastName"> 2495 <div class="invalid-feedback"> 2496 Please enter your last name. 2497 </div> 2498 2499 </div> 2500 </div> 2501 <div class="form-row"> 2502 <div class="form-group col-md-6"> 2503 <label for="email" style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}">Email Address<span class="text-danger">*</span></label><a class="globalTooltip" data-toggle="popover" title="Email Address" data-content="Please enter your email address."><i class="fas fa-question-circle"></i></a> 2504 <input type="email" pattern=".{1,}@[-_a-z0-9A-Z]+(\.[a-z0-9A-Z]+)+" class="form-control" id="email" placeholder="Email Address" ng-required="true" ng-model="contact.emailAddress"> 2505 <div class="invalid-feedback"> 2506 Please enter an email address. 2507 </div> 2508 2509 </div> 2510 <div class="form-group col-md-6"> 2511 <label for="phone" style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}">Phone Number<span class="text-danger">*</span></label><a class="globalTooltip" data-toggle="popover" title="Phone Number" data-content="Please enter your phone number."><i class="fas fa-question-circle"></i></a> 2512 <input type="text" maxlength="12" class="form-control" id="phone" placeholder="Phone Number" ng-model="contact.phoneNumber" ng-required="true"> 2513 <div class="invalid-feedback"> 2514 Please enter a phone number. 2515 </div> 2516 </div> 2517 </div> 2518 <div class="form-row"> 2519 <div class="form-group col-md-12"> 2520 <label for="message" style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}}">Your Message<span class="text-danger">*</span></label><a class="globalTooltip" data-toggle="popover" title="Message" data-content="What would you like to ask/tell us?"><i class="fas fa-question-circle"></i></a> 2521 <textarea class="form-control" id="message" rows="3" ng-model="contact.message" ng-required="true"></textarea> 2522 <div class="invalid-feedback"> 2523 Please enter a message. 2524 </div> 2525 2526 </div> 2527 </div> 2528 <sub class="text-danger">* Required Information</sub> 2529 2530 <div class="mt-3 text-right"> 2531 <button type="button" class="btn btn-primary customBg1" style="color: #fff;" ng-click="sendMessage(contactForm, widget)">Send Message</button> 2532 <button type="button" class="btn btn-outline-dark" ng-click="clearContact()">Clear</button> 2533 </div> 2534 </form> 2535 </div> 2536 2537 <div class="row" ng-if="widget.type == 31"> 2538 <div class="col-12" sstyle="padding: 0;"> 2539 <div class="accordion" id="accordionSettings"> 2540 <div class="card" ng-repeat="subWidget in widget.widgets"> 2541 <div class="{{buttonClasse
2541s(widget)}} card-header accordionParent" id="headingOne"> 2542 <h5 class="mb-0"> 2543 <button style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} btn btn-link w-100 text-left" type="button" data-toggle="collapse" 2544 data-target="#collapseOne{{subWidget.widgetId}}{{$index}}" aria-expanded="true" aria-controls="collapseOne{{subWidget.widgetId}}{{$index}}"> 2545 <i class="fas fa-caret-down mr-2"></i> {{subWidget.description}} 2546 </button> 2547 </h5> 2548 </div> 2549 <div id="collapseOne{{subWidget.widgetId}}{{$index}}" class="collapse" aria-labelledby="headingOne" 2550 data-parent="#accordionSettings"> 2551 <div class="card-body p-0" ng-repeat="questionWidget in subWidget.widgets"> 2552 2553 <div class="accordion2" id="accordionSettings2"> 2554 <div class="card"> 2555 <div class="card-header accordionNested" id="headingOne"> 2556 <h5 class="mb-0"> 2557 <button style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} btn btn-link w-100 text-left" type="button" 2558 data-toggle="collapse" data-target="#collapseOneOne{{subWidget.widgetId}}{{$parent.$index}}{{$index}}" 2559 aria-expanded="true" aria-controls="collapseOneOne{{subWidget.widgetId}}{{$parent.$index}}{{$index}}"> 2560 <i class="fas fa-caret-down mr-2"></i> {{questionWidget.description}} 2561 </button> 2562 </h5> 2563 </div> 2564 2565 <div id="collapseOneOne{{subWidget.widgetId}}{{$parent.$index}}{{$index}}" class="collapse" aria-labelledby="headingOne" 2566 data-parent="#accordionSettings2"> 2567 <div class="card-body"> 2568 <div style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} mb-0" ng-bind-html="trustedHtml(questionWidget.description2)"> 2569 </div> 2570 </div> 2571 </div> 2572 </div> 2573 </div> 2574 </div> 2575 </div> 2576 </div> 2577 </div> 2578 </div> 2579 </div> 2580 2581 <div class="row" ng-if="widget.type == 8"> 2582 <div class="col-md-4"> 2583 <ul class="list-group"> 2584 <li class="list-group-item" ng-repeat="subWidget in widget.widgets" ng-class="{'active': subWidget.widgetId == widget.currentFaqWidget.widgetId}"><a href="javascript:void(0)" ng-click="setFaqWidget(subWidget, widget)" style="{{headerTextStyles(widget)}}
2584{{(subWidget.widgetId == widget.currentFaqWidget.widgetId) ? 'color: #fff!important;' : ''}}" class="{{headerTextClasses(widget)}}">{{subWidget.description}}</a></li> 2585 </ul> 2586 </div> 2587 <div class="col-md-8"> 2588 <div class="accordion" id="accordionSettings"> 2589 <div class="card" ng-repeat="questionWidget in widget.currentFaqWidget.widgets"> 2590 <div class="card-header" id="headingOne"> 2591 <h5 class="mb-0"> 2592 <button class="btn btn-link w-100 text-left {{subheadTextClasses(widget)}}" style="{{subheadTextStyles(widget)}}" type="button" data-toggle="collapse" 2593 data-target="#collapse{{$index}}" aria-expanded="true" aria-controls="collapse{{$index}}"> 2594 <i class="fas fa-caret-down mr-2"></i> {{questionWidget.description}} 2595 </button> 2596 </h5> 2597 </div> 2598 2599 <div id="collapse{{$index}}" class="collapse show" aria-labelledby="headingOne" 2600 data-parent="#accordionSettings"> 2601 <div class="card-body"> 2602 <div style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} mb-0" ng-bind-html="trustedHtml(questionWidget.description2)"> 2603 </div> 2604 </div> 2605 </div> 2606 </div> 2607 </div> 2608 </div> 2609 </div> 2610 2611 <div ng-if="widget.type == 23"> 2612 <div class="mainNavBlock hideFromBlockedContent" ng-if="!hideNav" style="{{(widget.headerTextAlignment == 2 || widget.headerTextAlignment == null ? 'justify-content: flex-start;' : '' )}}{{(widget.headerTextAlignment == 3 ? 'justify-content: flex-end;' : '' )}}{{(widget.headerTextAlignment == 1 ? 'justify-content: center;' : '' )}}"> 2613 <div class="mainNavLink"> 2614 <a style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}" href="{{(sitePrefix.length > 0) ? sitePrefix : '/'}}">Home</a> 2615 </div> 2616 <div class="mainNavLink ml-4" ng-repeat="item in sitedata.menu"> 2617 <a style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}" href="{{sitePrefix}}/{{item.pageSlug}}" ng-if="item.submenu.length < 1">{{item.pageName}}</a> 2618 <a style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}}" href="javascript:void(0)" ng-if="item.submenu.length > 0" id="dropdownMenuButton{{$index}}" role="button" id="dropdownMenuLink{{$index}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{(item.submenu != null && item.submenu.length && item.dropdownTitle != null && item.dropdownTitle.length) ? item.dropdownTitle : item.pageName}} <i class="fas fa-caret-down ml-2"></i></a> 2619 <div class="dropdown-menu" ng-if="item.submenu.length > 0" aria-labelledby="dropdownMenuLink{{$index}}"> 2620 <a style="{{headerTextStyles(widget)}}" ng-if="!item.hideFromMainNav" class="{{headerTextClasses(widget)}} dropdown-item" href="{{sitePrefix}}/{{item.pageSlug}}">{{item.pageName}}</a> 2621 <a style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} dropdown-item" href="{{sitePrefix}}/{{subitem.pageSlug}}" ng-repeat="subitem in item.submenu">{{subitem.pageName}}</a> 2622 </div> 2623 </div> 2624 <div class="mainNavLink ml-4" ng-if="isMember && sitedata.hasMessages && currentCustomerSite.enableChatUser"> 2625 <a href="javascript:void(0)" class="messaging-link-global messagingIcon d-flex align-items-center" ng-click="showFlyout()"><i class="far fa-comments"></i><span class="badge badge-pill badge-danger" ng-if="newMessages"> </span></a> 2626 </div> 2627 2628 </div> 2629 </div> 2630 2631 2632 <div class="row" ng-if="widget.type == 25" ng-init="getFolders()" style="margin-left: 0; margin-right: 0; background-color: #fff;"> 2633 <!-- FOLDERS --> 2634 2635 <div class="col-md-4 p-0 folderCol"> 2636 2637 <div class="d-flex align-items-center justify-content-between px-3 pt-3 pb-2 bg-light"> 2638 <h4 class="mb-0 {{headerTextClasses(widget)}}">Folders</h4> 2639 </div> 2640 <div ng-if="!folders.length" class="d-flex align-items-center justify-content-between px-3 pt-3 pb-2 bg-light"> 2641 <p>There are no available folders.</p> 2642 </div> 2643 2644 <div class="d-block px-3 pb-3 bg-light" ng-if="folders.length"> 2645 <input type="text" class="form-control" id="paymentInput" ng-model="searchFolderTree.name" ng-change="updateTree()" placeholder="search folders"> 2646 </div> 2647 <div id="tree" class="{{paragraphTextClasses(widget)}}"></div> 2648 2649 </div> 2650 2651 <!-- FOLDERS AND FILES --> 2652 <div class="col-md-8 p-0 fileCol"> 2653 <div class="col-12 m-0 bg-light py-2 border-bottom"> 2654 <small class="{{headerTextClasses(widget)}}" ng-bind-html="trustedHtml(folderPath)"> 2655 </small> 2656 </div> 2657 2658 <div class="d-flex align-items-center justify-content-between p-3"> 2659 <h4 class="mb-0 {{headerTextClasses(widget)}}">Subfolders and Files</h4> 2660 <div class=""> 2661 <a href="" class="btn btn-sm {{buttonClasse
2661s(widget)}}" ng-if="hasFiles" ng-click="bulkDownload(selectedFolder.folderId)" style="{{buttonStyles(widget)}}"><i class="fas fa-file-archive mr-1"></i> Bulk Download</a> 2662 </div> 2663 </div> 2664 2665 <div ng-if="!folders.length" class="d-flex align-items-center justify-content-between px-3 pt-3 pb-2 bg-light"> 2666 <p>There are no available files.</p> 2667 </div> 2668 2669 2670 <div ng-if="selectedFolder && !selectedFolderContents.length"> 2671 <p class="p-3">This folder is empty.</p> 2672 </div> 2673 2674 <div class="px-3 pb-3 border-bottom" ng-if="selectedFolder && selectedFolderContents.length"> 2675 <input type="text" class="form-control form-control-sm" style="background-color: #fff" ng-model="searchFolderContents.name" id="paymentInput" placeholder="search within folder" value=""> 2676 </div> 2677 2678 <table class="table m-0 collapse show {{paragraphTextClasses(widget)}}" ng-if="selectedFolder && selectedFolderContents.length" id="collapseFolders" aria-labelledby="headingOne" data-parent="#accordionContainer"> 2679 <thead> 2680 <tr> 2681 <th scope="col" ng-click="setOrder('name')" style="cursor:pointer"><small><a href="javascript:void(0)" class="mr-1"><i class="fas fa-sort {{paragraphTextClasses(widget)}}"></i></a>Name</small></th> 2682 <th scope="col" ng-click="setOrder('date')" style="cursor:pointer"> 2683 <small><a href="javascript:void(0)" class="mr-1"><i class="fas fa-sort" {{paragraphTextClasses(widget)}}></i></a>Date Modified</small> 2684 </th> 2685 <th scope="col" hidden ng-click="setOrder('type')" style="cursor:pointer"><small><a href="javascript:void(0)" class="mr-1"><i class="fas fa-sort {{paragraphTextClasses(widget)}}"></i></a>Type</small></th> 2686 <th scope="col" ng-click="setOrder('size')" style="cursor:pointer"><small><a href="javascript:void(0)" class="mr-1"><i class="fas fa-sort {{paragraphTextClasses(widget)}}"></i></a>Size</small></th> 2687 <th scope="col" hidden ng-click="setOrder('access')" style="cursor:pointer"><small><a href="javascript:void(0)" class="mr-1"><i class="fas fa-sort {{paragraphTextClasses(widget)}}"></i></a>Access</small></th> 2688 <th scope="col" class="text-right"><small>Actions</small></th> 2689 </tr> 2690 </thead> 2691 <tbody class="w-100"> 2692 <tr ng-repeat="item in selectedFolderContents | filter: searchFolderContents"> 2693 <td><a class="title" href="javascript:void(0)" ng-click="(item.isFolder) ? selectFolder(item.itemId) : previewFile(item)"><i class="fa fa-folder" ng-if="item.isFolder"></i> {{item.name}}</a></td> 2694 <td class=""><small>{{item.timestampString}}</small></td> 2695 <td class="" hidden><small>{{item.type}}</small></td> 2696 <td class=""><small>{{item.size}}</small></td> 2697 <td class="" hidden><small>{{item.accessString}}</small></td> 2698 <td class="text-right"> 2699 <a ng-if="!item.isFolder" ng-click="previewFile(item)" href="javascript:void(0)" data-toggle="tooltip" title="Preview File" class="mr-3"> 2700 <i class="fas fa-eye"></i> 2701 </a> 2702 <a ng-if="!item.isFolder" ng-click="downloadFile(item.uploadId)" href="javascript:void(0)" data-toggle="tooltip" title="Download File" class="mr-3"> 2703 <i class="fas fa-download"></i> 2704 </a> 2705 2706 <div class="dropdown" ng-if="item.isFolder"> 2707 <a data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" title="Actions" 2708 href="javascript:void(0)" class="mr-2"><i class="fas fa-ellipsis-v"></i></a> 2709 <ul class="dropdown-menu pull-right"> 2710 <li class="dropdown-item"><a href="javascript:void(0)" ng-click="selectFolder(item.itemId)">Open Folder</a></li> 2711 </ul> 2712 </div> 2713 </td> 2714 </tr> 2715 </tbody> 2716 </table> 2717 </div> 2718 </div> 2719 2720 2721 <div ng-if="widget.type == 9"> 2722 <div class="headerBlock"> 2723 <div class="headerLeft" style="width: 100%"> 2724 <h1 style="{{headerTextStyles(widget)}}" class="mb-0 {{headerTextClasses(widget)}}">{{widget.description}}</h1> 2725 </div> 2726 </div> 2727 </div> 2728 2729 <div ng-if="widget.type == 10"> 2730 <div class="card eventCard"> 2731 <div class="card-header d-flex align-items-center justify-content-between" ng-if="widget.calendarId"> 2732 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-0">{{widget.buttonText}}</h4> 2733 </div> 2734 <div class="card-body p-0"> 2735 <div id="calendar-{{widget.widgetId}}" style="background: #fff"></div> 2736 <div ng-init="loadCalendar(widget)"></div> 2737 </div> 2738 </div> 2739 2740 2741 <!-- 2742 <h3 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-0 mt-3" ng-if="widget.buttonPageLinkId">{{widget.buttonText}}</h3> 2743 <div id="calendar-{{widget.widgetId}}" style="background: #fff"></div> 2744 <div ng-init="loadCalendar(widget)"></div> 2745 --> 2746 </div> 2747 2748 2749 <div ng-if="widget.type == 40"> 2750 <div class="row mx-0 mb-3" ng-if="reserveAmenity == null"> 2751 <div class="col-md-12"> 2752 <div class="card"> 2753 <div class="card-body"> 2754 <form> 2755 <div class="form-row"> 2756 <div class="form-group col-md-6"> 2757 <label style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}" for="eventName">Name</label> 2758 <div class="d-flex"> 2759 <input type="text" class="form-control" id="eventName" placeholder="" ng-model="searchAmenity.name"> 2760 <button type="button" class="btn btn-primary btn-sm mr-2 ml-1" id="" ng-click="loadAmenityCalendar(widget)">Search</button> 2761 <button type="button" class="btn btn-cancel btn-sm" ng-click="clearAmenities(widget)">Clear</button> 2762 </div> 2763 </div> 2764 <div class="form-group col-md-6"> 2765 <label style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} d-block w-100">Show Amenities</label> 2766 <select id="example-multiselect" class="example-multiselect w-100" multiple="multiple" ng-model="searchAmenity.ids"> 2767 <option ng-repeat="amenity in amenities" ng-value="amenity.amenityId">{{amenity.name}}</option> 2768 </select> 2769 </div> 2770 </div> 2771 </form> 2772 </div> 2773 </div> 2774 </div> 2775 </div> 2776 <div class="row mx-0" ng-if="reserveAmenity == null"> 2777 <div class="col-md-12 eventSearchResults"> 2778 <div class="card eventCard"> 2779 <div class="card-header d-flex align-items-center justify-content-between"> 2780 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-0">Amenities</h4> 2781 </div> 2782 <div class="card-body p-0"> 2783 <div id="calendar-{{widget.widgetId}}" style="background: #fff"></div> 2784 <div ng-init="loadAmenityCalendar(widget)"></div> 2785 </div> 2786 </div> 2787 </div> 2788 </div> 2789 2790 <div class="row mx-0 mb-0 mt-3" ng-if="reserveAmenity != null"> 2791 <div class="col-12 d-flex align-items-center m-100"> 2792 <h1 class="d-inline-flex m-100">Amenity Reservation & Checkout</h1> 2793 </div> 2794 </div> 2795 <div class="row mx-0 mb-4" ng-if="reserveAmenity != null"> 2796 <div class="col-12 d-flex align-items-center m-100"> 2797 <a href="javascript:void(0)" ng-click="clearAmenity()"><i class="fas fa-arrow-left"></i> <small>back to amenities</small></a> 2798 </div> 2799 </div> 2800 <div class="row mx-0" ng-if="reserveAmenity != null"> 2801 <div class="col-md-8"> 2802 <!-- INFORMATION --> 2803 <div class="card" id="memberInformation" ng-if="amenityTab == 'start'"> 2804 <div class="card-header"> 2805 <h4 class="mb-0">Contact Information</h4> 2806 </div> 2807 <div class="card-body"> 2808 <form name="amenityForm1" novalidate ng-class="{'was-validated': amenityValidationRan}"> 2809 <div class="form-row" ng-show="reserveAmenity.canReserveForAnother" ng-init="getAmenityMembers()"> 2810 <div class="form-group col-md-6"> 2811 <label for="eventType" class="w-100">Reserve for another Member?</label> 2812 <div class="form-check form-check-inline"> 2813 <input class="form-check-input" type="radio" name="anotherMemberRadio1" id="anotherMemberRadio1" ng-model="amenityReservation.anotherMember" ng-value="false"> 2814 <label class="form-check-label" for="anotherMemberRadio1">No</label> 2815 </div> 2816 <div class="form-check form-check-inline"> 2817 <input class="form-check-input" type="radio" name="anotherMemberRadio1" id="anotherMemberRadio2" ng-model="amenityReservation.anotherMember" ng-value="true"> 2818 <label class="form-check-label" for="anotherMemberRadio2">Yes</label> 2819 </div> 2820 </div> 2821 </div> 2822 <div class="form-row" ng-if="reserveAmenity.canReserveForAnother && amenityReservation.anotherMember"> 2823 <div class="form-group col-md-6"> 2824 <label for="state">Member<span class="text-danger">*</span></label> 2825 <select class="form-control" ng-required="reserveAmenity.canReserveForAnother && amenityReservation.anotherMember" ng-model="amenityReservation.reservationUserId"> 2826 <option ng-value="null">Select a Member</option> 2827 <option ng-repeat="user in amenityMembers" ng-value="user.userId">{{user.firstName}} {{user.lastName}}</option> 2828
2828 </select> 2829 </div> 2830 <div class="custom-feedback mb-3" ng-if="amenityValidationRan == true && !amenityReservation.reservationUserId"> 2831 You must select a member. 2832 </div> 2833 <div class="col-12"> 2834 <div class="warningWell"> 2835 <p class="mb-0"> 2836 When reserving an amenity for another member, this will bypass any form submissions, payments, document verification or any liability in terms of the member you are signing up. 2837 </p> 2838 <div class="form-group mb-0 mt-2"> 2839 <div class="form-check form-check-inline"> 2840 <input class="form-check-input" type="checkbox" id="understandCheck" ng-required="isAdmin && amenityReservation.anotherMember" ng-model="amenityReservation.amenitiesUnderstood"> 2841 <label class="form-check-label" for="understandCheck">I Understand</label> 2842 </div> 2843 </div> 2844 </div> 2845 </div> 2846 </div> 2847 2848 <div class="form-row" ng-if="!amenityReservation.anotherMember"> 2849 <div class="form-group col-md-6"> 2850 <label for="firstName">First Name<span class="text-danger">*</span></label> 2851 <input type="text" class="form-control" id="firstName" placeholder="" ng-required="true" ng-model="amenityReservation.firstName"> 2852 </div> 2853 <div class="form-group col-md-6"> 2854 <label for="lastName">Last Name<span class="text-danger">*</span></label> 2855 <input type="text" class="form-control" id="lastName" placeholder="" ng-required="true" ng-model="amenityReservation.lastName"> 2856 </div> 2857 </div> 2858 <div class="form-row" ng-if="!amenityReservation.anotherMember"> 2859 <div class="form-group col-md-6"> 2860 <label for="email">Email<span class="text-danger">*</span></label> 2861 <input type="email" pattern=".{1,}@[-_a-z0-9A-Z]+(\.[a-z0-9A-Z]+)+" class="form-control" id="email" placeholder="" ng-required="true" ng-model="amenityReservation.emailAddress"> 2862 </div> 2863 <div class="form-group col-md-6"> 2864 <label for="phone">Phone<span class="text-danger">*</span></label> 2865 <input type="text" maxlength="12" class="form-control" id="phone" placeholder="" ng-required="true" ng-model="amenityReservation.phone"> 2866 </div> 2867 </div> 2868 2869 <div class="form-row mb-3" ng-if="!amenityReservation.anotherMember && countries != null"> 2870 <div class="col-md-6"> 2871 <label for="addressState"> 2872 Country 2873 <sp
2873an class="text-danger">*</span> 2874 </label> 2875 <a class="globalTooltip" data-toggle="popover" title="Country" data-content="Select the country of your address from the dropdown menu."><i class="fas fa-question-circle"></i></a> 2876 <select class="form-control" style="width: 100%;" ng-model="amenityReservation.country"> 2877 <option disabled ng-value="null">Choose A Country</option> 2878 <option ng-repeat="country in countries" ng-value="country.identifier">{{country.name}}</option> 2879 </select> 2880 </div> 2881 2882 </div> 2883 2884 <div class="form-row" ng-if="!amenityReservation.anotherMember"> 2885 <div class="form-group col-md-6"> 2886 <label for="address1">Address 1<span class="text-danger">*</span></label> 2887 <input type="text" class="form-control" id="address1" placeholder="" ng-required="true" ng-model="amenityReservation.address1"> 2888 </div> 2889 <div class="form-group col-md-6"> 2890 <label for="address2">Address 2</label> 2891 <input type="text" class="form-control" id="address2" placeholder="" ng-model="amenityReservation.address2"> 2892 </div> 2893 </div> 2894 <div class="form-row" ng-if="!amenityReservation.anotherMember && amenityReservation.country == 1"> 2895 <div class="form-group col-md-5"> 2896 <label for="city">City<span class="text-danger">*</span></label> 2897 <input type="text" class="form-control" ng-required="true" id="city" placeholder="" ng-model="amenityReservation.city"> 2898 </div> 2899 <div class="form-group col-md-4"> 2900 <label for="state">State<span class="text-danger">*</span></label> 2901 <select class="form-control" ng-required="true" ng-model="amenityReservation.stateId"> 2902 <option ng-value="null">Choose A State</option> 2903 <option ng-repeat="state in states" ng-value="state.stateId">{{state.name}}</option> 2904 </select> 2905 </div> 2906 <div class="form-group col-md-3"> 2907 <label for="zip">Zip<span class="text-danger">*</span></label> 2908 <input type="text" class="form-control" minlength="5" maxlength="5" id="zip" placeholder="" ng-required="true" ng-model="amenityReservation.zip"> 2909 </div> 2910 </div> 2911 <div class="form-row" ng-if="!amenityReservation.anotherMember && amenityReservation.country != 1"> 2912 <div class="col-md-5"> 2913 <label for="addressCity"> 2914 City 2915 <sp
2915an class="text-danger">*</span> 2916 </label> 2917 <a class="globalTooltip" data-toggle="popover" title="City" data-content="Enter the city of your address."><i class="fas fa-question-circle"></i></a> 2918 <input type="text" class="form-control" id="city" placeholder="City" ng-required="true" ng-model="amenityReservation.city"> 2919 <div class="invalid-feedback"> 2920 Please provide a city. 2921 </div> 2922 </div> 2923 <div class="col-md-4"> 2924 <label for="stateProvince"> 2925 State/Province/Region 2926 <span class="text-danger">*</span> 2927 </label> 2928 <a class="globalTooltip" data-toggle="popover" title="State/Province/Region" data-content="Select the state/province/region of your address from the dropdown menu."><i class="fas fa-question-circle"></i></a> 2929 <input type="text" class="form-control" id="stateProvince" placeholder="State/Province/Region" ng-required="true" ng-model="amenityReservation.internationalState"> 2930 <div class="invalid-feedback"> 2931 Please provide a state/province/region. 2932 </div> 2933 </div> 2934 <div class="col-md-3"> 2935 <label for="addressZip"> 2936 ZIP/Postal Code 2937 <span class="text-danger">*</span> 2938 </label> 2939 <a class="globalTooltip" data-toggle="popover" title="ZIP/Postal Code" data-content="Enter the ZIP Code or Postal Code for your address."><i class="fas fa-question-circle"></i></a> 2940 <input type="text" class="form-control" id="zip" placeholder="ZIP/Postal Code" ng-required="true" ng-model="amenityReservation.internationalZip"> 2941 <div class="invalid-feedback"> 2942 Please provide a zip/postal code. 2943 </div> 2944 </div> 2945 </div> 2946 </form> 2947 <sub class="text-danger">* Required Information</sub> 2948 <div class="mt-3 text-right"> 2949 <button ng-click="clearAmenity()" type="button" class="btn btn-default mr-2" id="memberInformationClear">Cancel</button> 2950 <button ng-click="clearAmenityMemberInformation()" type="button" class="btn btn-default mr-2" id="memberInformationClear">Clear</button> 2951 <button ng-click="validateNextAmenitySection(amenityForm1)" type="button" class="btn btn-primary" id="memberInformationNext">Next</button> 2952 </div> 2953 </div> 2954 </div> 2955 2956 <!-- TICKETS/PACKAGES --> 2957 <div class="card" id="ticketsPackages" ng-if="amenityTab == 'information'"> 2958 <div class="card-header"> 2959 <h4 class="mb-0">Reservation Information</h4> 2960 </div> 2961 <div class="card-body"> 2962 <form name="amenityForm2" novalidate ng-class="{'was-validated': amenityValidationRan}"> 2963 <div class="form-row"> 2964 <div class="form-group col-12"> 2965 <h6 style="font-weight: 800;">{{(reserveAmenity.duration != 9) ? "Reservation Times" : "All Day" }} on {{amenityReservation.date}}</h6> 2966 <sp
2966an class="badge badge-success mr-1" ng-repeat="availability in reserveAmenity.dayAvailability" ng-if="availability.selected">{{availability.startTime}} - {{availability.endTime}}</span> 2967 </div> 2968 </div> 2969 2970 <div class="form-row" ng-if="reserveAmenity.perPerson"> 2971 <div class="form-group col-md-6"> 2972 <label for="amenityCapacity">Number of Attendees (Max Capacity of {{reserveAmenity.maxCapacity}} Guests)<span class="text-danger">*</span></label> 2973 <input type="number" min="1" class="form-control" id="amenityCapacity" placeholder="" ng-required="true" ng-change="updateAmenityGrandTotal()" ng-model="amenityReservation.attendees"> 2974 </div> 2975 </div> 2976 <div class="form-row"> 2977 <div class="form-group col-md-12"> 2978 <label for="eventDescription">Reason for Reserving</label> 2979 <textarea class="form-control" id="eventDescription" rows="3" ng-model="amenityReservation.reason"></textarea> 2980 </div> 2981 </div> 2982 <div class="form-row" ng-if="!reserveAmenity.perPerson && reserveAmenity.maxCapacity"> 2983 <div class="form-group col-md-12"> 2984 <label for="amenityCapacity"><i>This amenity has a maximum capacity of {{reserveAmenity.maxCapacity}} guests.</i></label> 2985 </div> 2986 </div> 2987 </form> 2988 2989 2990 <div class="mt-3 text-right"> 2991 <button ng-click="prevAmenitySection()" type="button" class="btn btn-cancel mr-2" id="ticketsPackagesBack">Back</button> 2992 <button ng-click="validateNextAmenitySection(amenityForm2)" type="button" class="btn btn-primary" id="memberInformationNext">Next</button> 2993 </div> 2994 </div> 2995 </div> 2996 2997 <!-- ADDITIONAL QUESTIONS & INFORMATION --> 2998 <div class="card" id="activitiesTickets" ng-if="amenityTab == 'terms'"> 2999 <div class="card-header"> 3000 <h4 class="mb-0">Additional Questions & Information</h4> 3001 </div> 3002 <div class="card-body"> 3003 <div class="p-3 bg-light mb-3" ng-if="reserveAmenity.documentId"> 3004 <h5 class="mb-3">Documents</h5> 3005 <div class="row" ng-if="reserveAmenity.documentId"> 3006 <div class="col-md-4"> 3007 <a href="/File/Get/{{reserveAmenity.documentId}}"><i class="fas fa-file"></i> {{reserveAmenity.documentName}}</a> 3008 </div> 3009 </div> 3010 </div> 3011 <form name="amenityForm3" novalidate ng-class="{'was-validated': amenityValidationRan}"> 3012 <div class="form-row" ng-if="reserveAmenity.acknowledgeDocument && reserveAmenity.documentId"> 3013 <div class="form-group col-md-6"> 3014 <label for="eventType" class="w-100">I acknowledge receipt of the attached document.</label> 3015 <div class="form-check form-check-inline"> 3016 <input class="form-check-input" type="radio" name="verifiedDocumentRadio" id="inlineRadio1" ng-model="amenityReservation.verifiedDocument" ng-required="true" ng-value="false"> 3017 <label class="form-check-label" for="inlineRadio1">No</label> 3018 </div> 3019 <div class="form-check form-check-inline"> 3020 <input class="form-check-input" type="radio" name="verifiedDocumentRadio" id="inlineRadio2" ng-model="amenityReservation.verifiedDocument" ng-value="true" ng-required="true"> 3021 <label class="form-check-label" for="inlineRadio2">Yes</label> 3022 </div> 3023 3024 </div> 3025 <div class="custom-feedback mb-3" ng-if="amenityValidationRan == true && !amenityReservation.verifiedDocument && reserveAmenity.acknowledgeDocument && reserveAmenity.documentId"> 3026 You must agree with the terms. 3027 </div> 3028 3029 </div> 3030 <div class="form-row" ng-if="reserveAmenity.ageLimit"> 3031 <div class="form-group col-md-6"> 3032 <label for="eventType" class="w-100">This amenity has a minimum age requirement of {{reserveAmenity.ageLimit}}. Do you verify that all attendees meet this requirement?</label> 3033 <div class="form-check form-check-inline"> 3034 <input class="form-check-input" type="radio" name="verifiedAgeLimitRadio" id="inlineRadio4" ng-model="amenityReservation.verifiedAgeLimit" ng-value="false" ng-required="true"> 3035 <label class="form-check-label" for="inlineRadio4">No</label> 3036 </div> 3037 <div class="form-check form-check-inline"> 3038 <input class="form-check-input" type="radio" name="verifiedAgeLimitRadio" ng-model="amenityReservation.verifiedAgeLimit" id="inlineRadio5" ng-value="true" ng-required="true"> 3039 <label class="form-check-label" for="inlineRadio5">Yes</label> 3040 </div> 3041 3042 </div> 3043 <div class="custom-feedback mb-3" ng-if="amenityValidationRan == true && !amenityReservation.verifiedAgeLimit && reserveAmenity.ageLimit"> 3044 You must verify attendees age range. 3045 </div> 3046 3047 </div> 3048 <div class="form-row" ng-if="reserveAmenity.formId != null && !amenityReservation.anotherMember"> 3049 <div class="form-group col-md-6"> 3050 <label for="ticketPackage">Please complete form:</label><br /> 3051 <sp
3051an><a href="javascript:void(0)" ng-click="amenityForm()">{{(amenityReservation.formData.length) ? 'Amenity Form (Completed)' : 'Amenity Form'}}</a></span> 3052 </div> 3053 <div class="custom-feedback mb-3" ng-if="amenityValidationRan == true && reserveAmenity.formId != null && !amenityReservation.formData.length"> 3054 You must complete the form. 3055 </div> 3056 3057 </div> 3058 </form> 3059 <sub class="text-danger">* Required Information</sub> 3060 3061 <div class="mt-3 text-right"> 3062 <button ng-click="prevAmenitySection()" type="button" class="btn btn-cancel mr-2" id="ticketsPackagesBack">Back</button> 3063 <button ng-click="validateNextAmenitySection(amenityForm3)" type="button" class="btn btn-primary" id="memberInformationNext">Next</button> 3064 </div> 3065 </div> 3066 </div> 3067 3068 <!-- FINAL REVIEW --> 3069 <div class="card" id="finalReview" ng-if="amenityTab == 'final'"> 3070 <div class="card-header"> 3071 <h4 class="mb-0"><b>Review & Payment</b></h4> 3072 </div> 3073 <div class="card-body"> 3074 <p>{{(amenityReservation.grandTotal > 0 && !amenityReservation.anotherMember) ? 'Review your order and make a payment.' : 'Review your reservation details.'}}</p> 3075 <div class="row memberDetailsModal"> 3076 <div class="col-12"> 3077 <table class="table mb-0"> 3078 <tbody> 3079 <tr> 3080 <td style="vertical-align:middle;"> 3081 <span class="text-muted"><small>Amenity</small></span> 3082 </td> 3083 <td style="vertical-align:middle;"> 3084 <p>{{reserveAmenity.name}}</p> 3085 </td> 3086 </tr> 3087 <tr> 3088 <td style="vertical-align:middle;"> 3089 <span class="text-muted"><small>Reservation Date</small></span> 3090 </td> 3091 <td style="vertical-align:middle;"> 3092 <p>{{amenityReservation.date}}</p> 3093 </td> 3094 </tr> 3095 <tr> 3096 <td style="vertical-align:middle;"> 3097 <sp
3097an class="text-muted"><small>Time</small></span> 3098 </td> 3099 <td style="vertical-align:middle;"> 3100 <p>{{amenityReservation.startTime}}</p> 3101 </td> 3102 </tr> 3103 </tbody> 3104 </table> 3105 </div> 3106 </div> 3107 3108 <div class="mt-1" style="width: 100%;" ng-show="amenityReservation.grandTotal > 0 && !amenityReservation.anotherMember"> 3109 <div class="form-group col-md-12"> 3110 <label for="amenityDigitalSignature"><b>Payment Method</b></label> 3111 </div> 3112 <div class="" ng-init=""> 3113 <span class="ml-3" ng-repeat="paymentMethod in amenityReservation.paymentMethods" ng-if="paymentMethod.paymentMethodId == amenityReservation.paymentMethod"><span ng-cloak ng-if="paymentMethod.cardinfo != 'Plaid'"><i class="fas fa-credit-card"></i></span><span ng-cloak ng-if="paymentMethod.cardinfo == 'Plaid'"><i class="fas fa-money-check-alt"></i></span> {{paymentMethod.brand}} {{(paymentMethod.cardinfo == 'Plaid') ? 'account via Plaid' : '************'+paymentMethod.cardinfo }}</span> <a ng-show="amenityReservation.paymentMethod != null" href="javascript:void(0)" ng-click="manageAmenityCards()"><small>edit</small></a> 3114 <span class="ml-3" ng-show="amenityReservation.paymentMethod == null"><i class="fas fa-credit-card"></i> No Account Added</span> <a href="javascript:void(0)" ng-show="amenityReservation.paymentMethod == null" ng-click="manageAmenityCards()"><small>Add Account</small></a> 3115 </div> 3116 </div> 3117 <div class="custom-feedback mb-3 ml-3" ng-if="finalSubmitAttempt == true && invalidPayment"> 3118 Please provide a payment method. 3119 </div> 3120 3121 <div class="form-row ml-2 mt-2" ng-if="reserveAmenity.enableDamageFee && !amenityReservation.anotherMember"> 3122 <div class="form-group col-md-12"> 3123 <label for="damageFee"><b>Damage Fee</b></label><br /> 3124 <div ng-if="reserveAmenity.damageFeeDescription" ng-bind-html="trustedHtml(reserveAmenity.damageFeeDescription)"> 3125 </div> 3126 </div> 3127 <div class="col-12"> 3128 <div class="warningWell"> 3129 <p class="mb-0"> 3130 I have read, understand, and agree that if this amenity sustains damages during my reservation, I may be charged a damage fee of up to ${{formatMoney(reserveAmenity.maximumDamageFeeAmount)}} on the payment method I have supplied. 3131 </p> 3132 <div class="form-group mb-0 mt-2"> 3133 <div class="form-check form-check-inline"> 3134 <input class="form-check-input" type="checkbox" id="understandDamageFee" ng-required="reserveAmenity.enableDamageFee" ng-model="amenityReservation.damageFeeUnderstood"> 3135 <label class="form-check-label" for="understandDamageFee">I Understand</label> 3136 </div> 3137 </div> 3138 </div> 3139 </div> 3140 </div> 3141 3142 <div class="form-row mt-2 ml-2" ng-if="reserveAmenity.isDigitalSignatureRequired"> 3143 <div class="form-group col-md-12"> 3144 <label for="amenityDigitalSignature">Digital Signature</label> 3145 <input type="text" class="form-control" id="amenityDigitalSignature" ng-model="amenityReservation.digitalSignature" /> 3146 </div> 3147 <div class="custom-feedback mb-3" ng-if="finalSubmitAttempt == true && !amenityReservation.digitalSignature.length"> 3148 You must provide a digital signature. 3149 </div> 3150 </div> 3151 3152 <div class="mt-3 text-right"> 3153 <button ng-click="prevAmenitySection()" type="button" class="btn btn-cancel mr-2" id="ticketsPackagesBack">Back</button> 3154 <button ng-click="completeReservation()" ng-disabled="!canReserveAmenity" type="button" class="btn btn-primary" id="ticketsPackagesNext">{{(amenityReservation.grandTotal >
3154 0 && !amenityReservation.anotherMember) ? 'Pay' : 'Reserve'}}</button> 3155 </div> 3156 </div> 3157 </div> 3158 <!-- Completed --> 3159 <div class="card" id="finalReview" ng-show="amenityTab == 'complete'"> 3160 <div class="card-header"> 3161 <h4 class="mb-0">Reservation Complete</h4> 3162 </div> 3163 <div class="card-body"> 3164 <p>Thank you for reserving this amenity. You will receive an email confirming your reservation status.</p> 3165 </div> 3166 </div> 3167 </div> 3168 3169 <!-- MY CART --> 3170 <div class="col-md-4 fixedMyCart"> 3171 <div class="card"> 3172 <div class="card-header"> 3173 <h4 class="mb-0"><i class="fas fa-shopping-cart mr-2"></i> My Reservation</h4> 3174 </div> 3175 <div class="card-body p-0 mycartTable"> 3176 <table class="table mb-0"> 3177 <tbody> 3178 <tr> 3179 <td style="vertical-align:middle;"> 3180 <span class="text-muted"><small>Amenity</small></span> 3181 </td> 3182 <td style="vertical-align:middle;"> 3183 <p>{{reserveAmenity.name}}</p> 3184 </td> 3185 </tr> 3186 <tr> 3187 <td style="vertical-align:middle;"> 3188 <span class="text-muted"><small>Reservation</small></span> 3189 </td> 3190 <td style="vertical-align:middle;"> 3191 <p>{{amenityReservation.firstName}} {{amenityReservation.lastName}}</p> 3192 <p>{{amenityReservation.country == 1 ? "United States" : "Canada"}}</p> 3193 <p>{{amenityReservation.address1}}</p> 3194 <p ng-if="amenityReservation.address2">{{amenityReservation.address2}}</p> 3195 <p ng-if="amenityReservation.country == 1 && amenityReservation.city && amenityReservation.stateId && amenityReservation.zip">{{amenityReservation.city}}, {{stateName(amenityReservation.stateId)}} {{amenityReservation.zip}}</p> 3196 <p ng-if="amenityReservation.country != 1 && amenityReservation.city && amenityReservation.internationalState && amenityReservation.internationalZip">{{amenityReservation.city}}, {{amenityReservation.internationalState}} {{amenityReservation.internationalZip}}</p> 3197 </td> 3198 </tr> 3199 <tr> 3200 <td style="vertical-align:middle;"> 3201 <sp
3201an class="text-muted"><small>Time</small></span> 3202 </td> 3203 <td style="vertical-align:middle; text-align: right;"> 3204 <p>{{amenityReservation.startTime}}</p> 3205 </td> 3206 </tr> 3207 <tr> 3208 <td style="vertical-align:middle;"> 3209 <span class="text-muted"><small>{{amenityReservation.duration}} x {{(reserveAmenity.duration == 9) ? "All Day" : (reserveAmenity.duration == 0) ? "30 Minutes" : (reserveAmenity.duration == 1) ? "1 Hour" : (reserveAmenity.duration == 2) ? "2 Hours" : (reserveAmenity.duration == 3) ? "3 Hours" : (reserveAmenity.duration == 4) ? "4 Hours" : (reserveAmenity.duration == 5) ? "5 Hours" : (reserveAmenity.duration == 6) ? "6 Hours" : (reserveAmenity.duration == 7) ? "8 Hours" : (reserveAmenity.duration == 8) ? "22 Hours" : "N/A"}} Reservation </small></span> 3210 </td> 3211 <td style="vertical-align:middle;" ng-if="reserveAmenity.requiresPayment && !amenityReservation.anotherMember"> 3212 <p class="price">{{priceformatter.format((reserveAmenity.perPerson) ? amenityReservation.duration * reserveAmenity.price * amenityReservation.attendees : amenityReservation.duration * reserveAmenity.price)}}</p> 3213 </td> 3214 <td style="vertical-align:middle;" ng-if="!reserveAmenity.requiresPayment || amenityReservation.anotherMember"> 3215 </td> 3216 </tr> 3217 <tr ng-if="!amenityReservation.anotherMember && reserveAmenity.requiresPayment && reserveAmenity.enableConvenienceFee && amenityTab != 'start'"> 3218 <td style="vertical-align:middle;"> 3219 <span class="text-muted font-weight-bold"><small class="font-weight-bold">Service Fee</small></span> 3220 </td> 3221 <td style="vertical-align:middle;"> 3222 <p class="price font-weight-bold" ng-if="!amenityReservation.paymentMethod">TBD</p> 3223 <p class="price font-weight-bold" ng-if="amenityReservation.paymentMethod">{{priceformatter.format(amenityReservation.convenienceFee)}}</p> 3224 </td> 3225 </tr> 3226 <tr ng-if="!amenityReservation.anotherMember && reserveAmenity.requiresPayment && amenityTab != 'start'"> 3227 <td style="vertical-align:middle;"> 3228 <span class="text-muted font-weight-bold"><small class="font-weight-bold">Grand Total</small></span> 3229 </td> 3230 <td style="vertical-align:middle;"> 3231 <p class="price font-weight-bold" ng-if="!amenityReservation.paymentMethod && reserveAmenity.enableConvenienceFee">TBD</p> 3232 <p class="price font-weight-bold" ng-if="amenityReservation.paymentMethod || !reserveAmenity.enableConvenienceFee">{{priceformatter.format(amenityReservation.grandTotal)}}</p> 3233 </td> 3234 </tr> 3235 </tbody> 3236 </table> 3237 </div> 3238 </div> 3239 </div> 3240 </div> 3241 3242 </div> 3243 3244 <div ng-if="widget.type == 11" ng-init="getsponsors()" style="{{(sponsors.length) ? '' : 'display: none;'}}"> 3245 <div class="sponsorBlock" ng-if="sponsors.length" ng-repeat="sponsorRow in sponsors"> 3246 <div class="singleSponsor" ng-repeat="sponsor in sponsorRow"> 3247 <a href="{{sponsor.url}}" target="_BLANK" ng-if="sponsor.url.length" ng-click="clickSponsor(sponsor.sponsorId)"><img style="height: 200px; width: auto;" src="{{imageSrc(sponsor.logoFileId)}}"></a> 3248 <img style="height: 200px; width: auto;" src="{{imageSrc(sponsor.logoFileId)}}" ng-if="!sponsor.url.length"> 3249 </div> 3250 </div> 3251 </div> 3252 3253 <div ng-if="widget.type == 12"> 3254 <div class="headerBlock"> 3255 <div class="headerLeft" style="width: 100%"> 3256 <h1 style="{{headerTextStyles(widget)}}" class="mb-0 {{headerTextClasses(widget)}}">{{widget.description}}</h1> 3257 </div> 3258 </div> 3259 </div> 3260 3261 3262 <div ng-if="widget.type == 5" style="height: 100%"> 3263 <div data-iframe-widgetid="{{widget.widgetId}}" style="height: 100%"> 3264 </div> 3265 <div ng-init="loadMap(widget)"></div> 3266 </div> 3267 3268 <div ng-if="widget.type == 13" ng-init="getMembers()"> 3269 <div class="headerBlock"> 3270 <div class="headerLeft"> 3271 <h1 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-0">{{widget.description}}</h1> 3272 </div> 3273 <div class="headerRight"> 3274 <button type="button" class="{{buttonClasse
3274s(widget)}} ml-auto m-100" style="{{buttonStyles(widget)}}" ng-click="swapMemberDirectoryView()"> 3275 <i class="fas fa-map-marker-alt-slash mr-2"></i> {{(hideMap) ? "Show" : "Hide" }} 3276 Map 3277 </button> 3278 </div> 3279 </div> 3280 </div> 3281 3282 <div ng-if="widget.type == 19" ng-init="loadForm(widget)"> 3283 <div class="" ng-if="widget.formId"> 3284 <div class="p-2" ng-if="!widget.formdata.surveyExpired && (!widget.formdata.hasRequiredTags || widget.formdata.isCompleted || (widget.formdata.onePerHousehold && (!widget.formdata.hasHouseholdPermission || widget.formdata.householdCompleted))) && !widget.formdata.isSubmitted"> 3285 <div class="d-flex align-items-center mb-3"> 3286 <h3 style="{{headerTextStyles(widget)}}" class="customFormHeader {{headerTextClasses(widget)}} mb-0"><i class="fas fa-poll mr-2"></i> {{widget.formdata.name}}</h3> 3287 </div> 3288 <div> 3289 <p class="{{paragraphTextClasses(widget)}}" style="{{paragraphTextStyles(widget)}}" ng-cloak>{{(!widget.formdata.hasRequiredTags || (widget.formdata.onePerHousehold && !widget.formdata.hasHouseholdPermission)) ? 'You do not have access to voting through this form. Please reach out to the administrator.' : (widget.formdata.isCompleted) ? 'Thank you for voting in this survey.'+(widget.formdata.surveyHasExpiration ? ' This survey will end on '+widget.formdata.surveyExpirationString+'. After the survey ends the results will be available.' : '') : (widget.formdata.onePerHousehold && widget.formdata.householdCompleted) ? 'Someone in your Household has already voted. Only one vote per Household.'+(widget.formdata.surveyHasExpiration ? ' This survey will end on '+widget.formdata.surveyExpirationString+'. After the survey ends the results will be available.' : '') : 'Thank you for voting in this survey.'+(widget.formdata.surveyHasExpiration ? ' This survey will end on '+widget.formdata.surveyExpirationString+'. After the survey ends the results will be available.' : '') }}</p> 3290 <p class="{{paragraphTextClasses(widget)}}" style="{{paragraphTextStyles(widget)}}" ng-cloak ng-if="widget.formdata.isCompleted && !widget.formdata.surveyHasExpiration"><a href="javascript:void(0)" ng-click="viewResults(widget.formId);">Click Here to view the results</a></p> 3291 </div> 3292 </div> 3293 <div class="p-2" ng-if="!widget.formdata.surveyExpired && !widget.formdata.isCompleted && widget.isSubmitted"> 3294 <div class="d-flex align-items-center mb-3"> 3295 <h3 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-0"><i class="fas fa-poll mr-2"></i> {{widget.formdata.name}}</h3> 3296 </div> 3297 <div> 3298 <p class="{{paragraphTextClasses(widget)}}" style="{{paragraphTextStyles(widget)}}">{{widget.formdata.submitMessage}}</p> 3299 </div> 3300 </div> 3301 <div class="p-2" ng-if="widget.formdata.surveyExpired"> 3302 <div class="d-flex align-items-center mb-3"> 3303 <h3 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-0"><i class="fas fa-poll mr-2"></i> {{widget.formdata.name}}</h3> 3304 </div> 3305 <div> 3306 <p class="{{paragraphTextClasses(widget)}}" style="{{paragraphTextStyles(widget)}}">This survey is over. Click the button below to view the results.</p> 3307 <p class="{{paragraphTextClasses(widget)}}" style="{{paragraphTextStyles(widget)}}" ng-cloak><a href="javascript:void(0)" ng-click="viewResults(widget.formId);">Click Here to view the results</a></p> 3308 </div> 3309 </div> 3310 </div> 3311 3312 <div class="" ng-if="widget.formId && !widget.formdata.surveyExpired"> 3313 <div class="" ng-if="!widget.formdata.isCompleted && (!widget.formdata.onePerHousehold || (widget.formdata.onePerHousehold && widget.formdata.hasHouseholdPermission && !widget.formdata.householdCompleted)) && !widget.isSubmitted"> 3314 <div class="headerBlock"> 3315 <div class="headerLeft" style="width: 100%"> 3316 <h1 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-0">{{widget.formdata.name}}</h1> 3317 </div> 3318 </div> 3319 </div> 3320 </div> 3321 <div class="" ng-if="widget.formId && !widget.formdata.surveyExpired"> 3322 <div class="" ng-if="!widget.formdata.isCompleted && (!widget.formdata.onePerHousehold || (widget.formdata.onePerHousehold && widget.formdata.hasHouseholdPermission && !widget.formdata.householdCompleted)) && !widget.isSubmitted"> 3323 <form name="customForm" id="{{widget.widgetId}}" novalidate ng-class="{'was-validated': widget.submitAttempt}"> 3324 <label for="customSubject" ng-if="widget.formdata.isTicketing" style="text-align: left!important; {{paragraphTextStyles(widget)}} " class="angularJsNewLine {{paragraphTextClasses(widget)}}">Subject<span ng-cloak class="text-danger">*</span></label> 3325 <input ng-if="widget.formdata.isTicketing" type="text" class="form-control" id="custom1" ng-attr-data-id="customSubject" placeholder="Subject" ng-model="widget.formdata.subject" name="customSubject" value="" ng-required="true"> 3326 3327 <div class="customFormSection p-3 mb-3" ng-repeat="subsection in widget.formdata.sections"> 3328 <div class="d-flex align-items-center mb-4" ng-if="subsection.displayTitle"> 3329 <h4 style="{{subheadTextStyles(widget)}}" class="{{subheadTextClasses(widget)}} sectionName">{{subsection.name}}</h4> 3330 </div> 3331 <div class="form-row customFormRow"> 3332 <div class="form-group customFieldGroup" ng-class="{'col-md-6' : field.fullwidth == false, 'col-md-12' : field.fullwidth == true}" ng-repeat="field in subsection.questions"> 3333 <label for="custom1" style="text-align: left!important; {{paragraphTextStyles(widget)}} " class="angularJsNewLine {{paragraphTextClasses(widget)}}">{{(field.questionControlType != 5) ? field.name : ' '}}<span ng-cloak ng-if="field.required && field.questionControlType != 5" class="text-danger">*</span></label> 3334 <input type="text" class="form-control customFormItem" id="custom1" ng-attr-data-id="{{field.questionId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required" ng-if="field.questionControlType == 1"> 3335 <textarea class="form-control customFormItem" id="custom1" placeholder="{{field.placeholder}}" ng-attr-data-id="{{field.questionId}}" name="{{field.name}}" ng-required="field.required" value="" ng-if="field.questionControlType == 6"></textarea> 3336 3337 <select class="form-control customFormItem" ng-class="{'customvalid' : !field.isInvalid && widget.submitAttempt, 'custominvali
3337d' : field.isInvalid && widget.submitAttempt }" name="{{field.name}}" ng-required="field.required" ng-attr-data-id="{{field.questionId}}" ng-if="field.questionControlType == 2"> 3338 <option>Select</option> 3339 <option ng-repeat="option in field.options" value="{{option.name}}">{{option.name}}</option> 3340 </select> 3341 3342 <div ng-if="field.questionControlType == 3" class="checkboxGroup" data-required="{{field.required}}"> 3343 <div class="form-check" ng-repeat="option in field.options"> 3344 <input class="form-check-input customFormCheckbox" type="checkbox" name="exampleCheckboxes{{$index}}" id="exampleCheckboxes{{$index}}" ng-value="option.questionId+'|'+option.name"> 3345 <label class="{{paragraphTextClasses(widget)}} form-check-label" style="{{paragraphTextStyles(widget)}}" for="exampleCheckboxes{{$index}}"> 3346 {{option.name}} 3347 </label> 3348 </div> 3349 </div> 3350 3351 <div ng-if="field.questionControlType == 4" class="radioGroup"> 3352 <div class="form-check" ng-repeat="option in field.options"> 3353 <input class="form-check-input customFormRadio" type="radio" name="exampleRadios{{$parent.$index}}{{field.questionId}}" id="exampleRadios{{$parent.$index}}{{field.questionId}}{{$index}}" ng-value="option.questionId+'|'+option.name" ng-required="$parent.field.required"> 3354 <label class="{{paragraphTextClasses(widget)}} form-check-label" style="{{paragraphTextStyles(widget)}}" for="exampleRadios{{$parent.$index}}{{field.questionId}}{{$index}}"> 3355 {{option.name}} 3356 </label> 3357 </div> 3358 </div> 3359 3360 <div class="custom-file d-block" style="font-size:12px;" ng-if="field.questionControlType == 8"> 3361 <input type="hidden" style="display: hidden;" name="fileId" /> 3362 <label class="custom-file-label custom-hidden-upload-label customMultipleUpload" ng-class="{'customvalid' : widget.submitAttempt && (!field.required || field.attachments.length), 'custominvalid' : widget.submitAttempt && (field.required && !field.attachments.length) }" ng-init="initMultipleUpload()" for="customFile" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUploadCustomMultiple(response, field)" on-error="errorFileUpload(response)">Choose file</label> 3363 </div> 3364 3365 <div class="postAttachments mt-3" ng-if="field.attachments.length"> 3366 <a class="" data-toggle="collapse" href="#attachmentCollapse1" role="button" aria-expanded="false" 3367 aria-controls="attachmentCollapse1"><i class="fas fa-paperclip mr-2"></i> view {{field.attachments.length}} attachments</a> 3368 <div class="collapse attachmentCollapse" id="attachmentCollapse1"> 3369 <div style="margin-top: 15px;"> 3370 <sp
3370an ng-repeat="attachment in field.attachments"><a href="javascript:void(0)" class="ml-2" ng-click="removeFormFile($index, field);"><i class="fas fa-times"></i></a> {{attachment.name}}</span> 3371 </div> 3372 </div> 3373 </div> 3374 3375 <div ng-if="field.questionControlType == 9" class="input-group mb-3"> 3376 <input type="text" class="form-control customFormItem formDatePickerField" ng-class="'datePicker'+field.questionId" ng-init="initMobiscrollDatePicker('.datePicker'+field.questionId)" ng-attr-data-id="{{field.questionId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required"> 3377 <div class="input-group-append"> 3378 <button class="btn btn-outline-secondary btn-append" id="button-addon2" ng-click="clearSingleFormField('.datePicker'+field.questionId)">Clear</button> 3379 </div> 3380 <div class="custom-feedback" ng-attr-data-id-feedback="{{field.questionId}}" style="display: none;"> 3381 This field is required. 3382 </div> 3383 </div> 3384 <div class="custom-feedback" ng-attr-data-id-feedback="{{field.questionId}}" ng-if="field.incorrectMinMax"> 3385 <span>This field has a minimum selection of {{field.min}} selections.</span> 3386 <span>This field has a maximum selection of {{field.max}} selections.</span> 3387 </div> 3388 </div> 3389 </div> 3390 </div> 3391 </form> 3392 <div class="mb-0"> 3393 <div class="form-group mb-0 col-12 text-right"> 3394 <button type="button" class="btn btn-primary customBg1 mr-2 btn-sm" style="color: #fff;" ng-click="submitCustomForm(customForm, widget)">Submit</button> 3395 <button type="button" class="btn btn-outline-dark btn-sm" ng-click="resetForm(widget)">Clear</button> 3396 </div> 3397 </div> 3398 </div> 3399 </div> 3400 3401 </div> 3402 <div ng-if="widget.type == 14 || widget.type == -14" ng-init="getMembers()"> 3403 <div class=""> 3404 <div class="row mx-0 pl-3"> 3405 <div class="row searchRow membershipDirectorySearchRow"> 3406 <div class="col-md-12 input-group pl-0 pr-0 pb-3"> 3407 <input type="text" class="form-control m-100" ng-model="memberDirectorySearch.input" ng-change="triggerUpdateMap(uniqueSearchText)" ng-keypress="addManualMemberFilter($event)" placeholder="Search Members"> 3408 <div class="input-group-append m-100"> 3409 <button class="btn btn-primary m-100" type="button" ng-click="searchMembers()">Search</button> 3410 </div> 3411 </div> 3412 </div> 3413 </div> 3414 <div class="row mx-0 memberSearch"> 3415 <div class="memberCol" ng-class="{'col-md-6': !hideMap && widget.type == 14, 'col-md-12': hideMap || widget.type == -14}"> 3416 <div class="memberScroll" ng-if="memberSearchData != null"> 3417 <small class="d-block mb-3">{{memberSearchData.fromToText}}</small> 3418 <div ng-class="{'mapHideWrap': hideMap}"> 3419 3420 <div class="card" style="box-sizing: border-box" ng-repeat="member in members" ng-click="memberDetails(member)" ng-if="$index < loadedMembers"> 3421 <div class="row no-gutters"> 3422 <div class="col-sm-2"> 3423 <div class="card-img h-100" alt="" ng-show="member.fileId" back-img="{{imageSrc(member.f
3423ileId)}}"></div> 3424 <div class="card-img noAvatar h-100" style="text-transform: uppercase;" ng-show="!member.fileId" alt=""> 3425 <span class="membershipDirectoryNoAvatarSmallText" style="font-s">{{member.firstName[0]+member.lastName[0]}}</span> 3426 </div> 3427 </div> 3428 <div class="col-sm-10"> 3429 <div class="card-body p-2 pl-3" style="min-height: 95px;"> 3430 <h5 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} card-title mb-2">{{member.firstName}} {{member.lastName}}</h5> 3431 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} card-text" ng-if="member.address1" ng-cloak><span ng-cloak ng-if="member.address1">{{member.address1}}</span><span ng-cloak ng-if="member.city && member.stateAbbreviation && member.zip">, {{member.city}}, {{member.stateAbbreviation}}, {{member.zip}}</span></p> 3432 <p style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}} card-text" ng-cloak ng-if="member.phone || member.emailAddress"><span ng-cloak ng-if="member.phone" class="mr-2">{{member.phone}} </span><span ng-cloak ng-if="member.emailAddress"><a href="mailto:{{member.emailAddress}}" target="_BLANK">{{member.emailAddress}}</a></span></p> 3433 </div> 3434 </div> 3435 </div> 3436 </div> 3437 <div ng-if="memberSearchData != null" class="ml-1"> 3438 <ul class="pagination" ng-if="memberSearchData.numPages > 1"> 3439 <li ng-repeat="page in pageList" ng-click="getMembers(page)"><a class="page-link" [ngClass]="{'active': page == currentPage}">{{page}}</a></li> 3440 </ul> 3441 </div> 3442 3443 </div> 3444 </div> 3445 </div> 3446 3447 <div class="mapCol col-md-6 px-0" ng-show="!hideMap && widget.type == 14"> 3448 <div class="mapCol2 border" id="member-map"></div> 3449 </div> 3450 </div> 3451 </div> 3452 </div> 3453 3454 <div ng-if="widget.type == 17 && isMember" ng-init="getMemberDues(); getWalletBalances()"> 3455 <div class="builderGridRow"> 3456 <div class="gridBlock populatedBlock"> 3457 3458 <div class="row"> 3459 <div class="col-12"> 3460 <div class="row"> 3461 <div class="col-xl-4 col-lg-6" ng-repeat="due in memberDues" ng-if="!(due.oneTime && due.isPaid)"> 3462 <div class="card mb-4 p-4 mainDues" id="viewUserCard"> 3463 <div class="d-block border-bottom mb-3 pb-3"> 3464 <h3 class="mb-0 mainDuesSmallerTitle">{{due.dueName}}</h3> 3465 <small class="text-muted"><i class="fas fa-repeat-alt mr-1"></i> {{due.frequency}}</small> 3466 <p class="mt-2 mb-0"><b>{{due.address}}</b></p> 3467 <p class="mb-0">{{(due.isHouseholdDue) ? 'Household Due:' : 'Member Due:'}} <b>{{(due.isHouseholdDue) ? due.householdTitle : currentUser.firstName+' '+currentUser.lastName}}</b></p> 3468 </div> 3469 <div class="d-flex justify-content-between"> 3470 <div class="text-left"> 3471 <h6 class="balanceDueText">Balance Due</h6> 3472 <h4 class="balanceDue" ng-class="{'text-danger': due.isLate, 'text-success': !due.isLate}">{{(!due.isPaid) ? due.formattedtotalprice : '$0.00'}}</h4> 3473 </div> 3474 <div ng-cloak class="text-right m-100" ng-if="due.isPaid"> 3475 <h6 class="dateDueText">{{(due.isPaid) ? "Paid Through" : "Due Date"}}</h6> 3476 <h4 class="dateDue" ng-class="{'text-danger': due.isLate}">{{due.nextDueDate}}</h4> 3477 </div> 3478 <div ng-cloak class="text-right m-100" ng-if="!due.isPaid"> 3479 <h6 class="dateDueText">{{(due.isPaid) ? "Paid Through" : "Due Date"}}</h6> 3480 <h4 class="dateDue" ng-class="{'text-danger': due.isLate}">{{due.nextDueDate}}</h4> 3481 </div> 3482 </div> 3483 <div class="warningWell mt-4" ng-if="due.isLate"> 3484 <sp
3484an> 3485 <i class="fas fa-exclamation-circle mr-2"></i> Your payment is late 3486 </span> 3487 <small class="ml-2"> 3488 <a href="javascript:void(0)" ng-click="viewInvoiceInfo(due, false)"> 3489 more info 3490 </a> 3491 </small> 3492 </div> 3493 <div class="mt-4" ng-if="!due.isLate && due.invoices.length"> 3494 <span> 3495 Your payment is due 3496 </span> 3497 <small class="ml-2"> 3498 <a href="javascript:void(0)" ng-click="viewInvoiceInfo(due, false)"> 3499 more info 3500 </a> 3501 </small> 3502 </div> 3503 <div class="mt-3 p-3 border border-light"> 3504 <h6 class="dateDueText mb-2">Payment Information</h6> 3505 <div class="d-flex justify-content-between m-100"> 3506 <span ng-repeat="paymentMethod in paymentMethods" ng-if="paymentMethod.paymentMethodId == due.paymentMethod"><span ng-cloak ng-if="paymentMethod.cardinfo != 'Plaid'"><i class="fas fa-credit-card"></i></span><span ng-cloak ng-if="paymentMethod.cardinfo == 'Plaid'"><i class="fas fa-money-check-alt"></i></span> {{paymentMethod.brand}} {{(paymentMethod.cardinfo == 'Plaid') ? 'account via Plaid' : '************'+paymentMethod.cardinfo }}</span> <a ng-show="due.paymentMethod != null" href="javascript:void(0)" ng-click="manageCards(due)"><small>edit</small></a> 3507 <span ng-show="due.paymentMethod == null" ng-class="{'text-danger': due.requiresPaymentMethod}"><i class="fas fa-credit-card"></i> No Account Added</span> <a href="javascript:void(0)" ng-show="due.paymentMethod == null" ng-click="manageCards(due)"><small>Add Account</small></a> 3508 </div> 3509 </div> 3510 <div class="mt-4" ng-if="!due.isPaid"> 3511 <button type="button" class="btn btn-outline-success float-right btn-sm" ng-click="makePayment(due, paymentMethods)"> 3512 Make a 3513 Payment 3514 </button> 3515 </div> 3516 <div class="mt-4" ng-if="due.isPaid" ng-click="manageCards(due)"> 3517 <button type="button" class="btn btn-outline-success float-right btn-sm"> 3518 Manage Recurring Payment 3519 </button> 3520 </div> 3521 </div> 3522 </div> 3523 </div> 3524 </div> 3525 </div> 3526 </div> 3527 </div> 3528 </div> 3529 <div ng-if="widget.type == 18 && isMember"> 3530 <div class="builderGridRow" ng-init="getPaymentHistory()"> 3531 <div class="gridBlock populatedBlock"> 3532 <div class="row"> 3533 <div class="col-md-12"> 3534 <div class="card p-0 mb-4"> 3535 <table class="table mb-0 paymentHistoryTable"> 3536 <thead class=""> 3537 <tr> 3538 <th colspan="{{(sitedata.brand == 'hoastart') ? 10 : 9 }}" class="bg-light text-dark" 3539 style="border-top-left-radius: 0.25rem;border-top-right-radius: 0.25rem;"> 3540 <h4 style="{{headerTextStyles(widget)}}" class="{{headerTextClasses(widget)}} mb-0 paymentHistoryCustom">Payment History</h4> 3541 </th> 3542 </tr> 3543 </thead> 3544 <tbody> 3545 <tr ng-if="!memberDueHistory.length"> 3546 <td style="vertical-align:middle;" colspan="5"> 3547 <sp
3547an class="text-muted"><small></small>No history for this account</span> 3548 </td> 3549 </tr> 3550 3551 <tr ng-if="memberDueHistory.length"> 3552 <th>Date</th> 3553 <th>Type</th> 3554 <th>Name</th> 3555 <th ng-if="sitedata.brand == 'hoastart'">Household</th> 3556 <th>Amount Paid</th> 3557 3558 <th>Service Fee</th> 3559 <th>Misc/Late Fee</th> 3560 <th>Paid By</th> 3561 <th>Payment Type</th> 3562 </tr> 3563 3564 <tr ng-repeat="item in memberDueHistory" ng-if="memberDueHistory.length" ng-class="{'duesTableHouseholdRow': item.type == 4}"> 3565 <td style="vertical-align:middle;"> 3566 <span style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">{{item.timestamp}}</span> 3567 </td> 3568 <td style="vertical-align:middle;"> 3569 <span style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">{{(item.type == 1) ? "Member" : (item.type == 2) ? "Event" : (item.type == 3) ? "Amenity" : (item.type == 4) ? "Household" : (item.type == 5) ? "OTC" : "N/A"}}</span> 3570 </td> 3571 <td style="vertical-align:middle;"> 3572 <span style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">{{item.title}}</span> 3573 </td> 3574 <td style="vertical-align:middle;" ng-if="sitedata.brand == 'hoastart'"> 3575 <span style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">{{item.householdTitle}}</span> 3576 </td> 3577 <td style="vertical-align:middle;"> 3578 <span style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">{{item.formattedPrice}}</span> 3579 </td> 3580 <td style="vertical-align:middle;"> 3581 <span style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">{{item.formattedConvenienceFee}}</span> 3582 </td> 3583 <td style="vertical-align:middle;"> 3584 <sp
3584an style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">{{item.formattedFees}}</span> 3585 </td> 3586 <td style="vertical-align:middle;"> 3587 <span style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">{{(item.isManual) ? "Recorded by Admin" : (item.type == 4) ? item.firstName+" "+item.lastName : currentUser.firstName+" "+currentUser.lastName }}</span> 3588 </td> 3589 3590 <td style="vertical-align:middle;"> 3591 <span style="{{paragraphTextStyles(widget)}}" class="{{paragraphTextClasses(widget)}}">{{(item.isManual) ? item.formattedPriceWithFees+' ' : ''}}{{(item.descriptor.length) ? item.descriptor : "Made a payment of "+ item.amountString }}</span> 3592 </td> 3593 <td style="vertical-align:middle;text-align:right;"> 3594 <small ng-cloak ng-if="item.type == 1 || item.type == 4"><a href="javascript:void(0)" style="{{paragraphTextStyles(widget)}}" ng-click="viewInvoiceInfo(item, true)">more info</a></small> 3595 <small ng-cloak ng-if="item.type == 2"><a href="javascript:void(0)" style="{{paragraphTextStyles(widget)}}" ng-click="viewRegistrationPricing(item.registration)">more info</a></small> 3596 <small ng-cloak ng-if="item.type == 3"><a href="javascript:void(0)" style="{{paragraphTextStyles(widget)}}" ng-click="viewReservationPricing(item.reservation)">more info</a></small> 3597 <small ng-cloak ng-if="item.type == 5"><a href="javascript:void(0)" style="{{paragraphTextStyles(widget)}}" ng-click="viewChargePaymentInfo(item)">more info</a></small> 3598 </td> 3599 </tr> 3600 </tbody> 3601 </table> 3602 </div> 3603 </div> 3604 </div> 3605 </div> 3606 </div> 3607 </div> 3608 </div> 3609 </div> 3610 </div> 3611 3612 <div ng-if="sitedata.invalidPerms && section.sectionType == 1" ng-repeat="section in currentPage.sections" style="min-height: 300px; {{(section.maxWidth != 0 && section.maxWidth != null) ? 'max-width: '+section.maxWidth+'px; margin: 0 auto;' : '' }}"> 3613 <div class="membersOnlyOverlay" style="min-height: 300px; padding-top: 135px;"> 3614 <div style="text-align: center; {{headerTextStyles(widget)}}" class="mb-0 customText6 {{headerTextClasses(widget)}}">Your account does not have permissions to view this page. If you believe this is an error, please contact your system administrator.</div> 3615 </div> 3616 </div> 3617 3618 <div class="customBg6" ng-repeat="section in currentPage.sections" style="{{(section.maxWidth != 0 && section.maxWidth != null) ? 'max-width: '+section.maxWidth+'px; margin: 0 auto;' : '' }}" ng-if="section.sectionType == 1 && specialPageType == 'member-dashboard'"> 3619 3620 <div class="container-fluid dashboardLayout mb-3" style="padding-left: 20px; padding-right: 20px;"> 3621 3622 <div class="row mb-4"> 3623 <div class="col-12 d-flex align-items-center m-100"> 3624 <h1 class="d-inline-flex m-100 mt-3"> 3625 Member Dashboard 3626 </h1> 3627 <!-- <button hidden type="button" class="btn btn-primary ml-auto m-100" data-toggle="modal" data-target="#">Reorder</button>--> 3628 </div> 3629 </div> 3630 3631 <div class="row px-3"> 3632 <div class="col-12" ng-if="sitedata.customerId != null"> 3633 3634 <!-- CARD DECK --> 3635 <div class="card-deck" ng-init="fetchCards()"> 3636 <div class="row w-100"> 3637 <!-- CARD - MY PROFILE--> 3638 <div class="col-xl-4 col-lg-6 col-md-6 mb-3"> 3639 <div class="card profileCard"> 3640 <div style="color: #fff;" class="card-header customBg1 d-flex align-items-center justify-content-between"> 3641 <h4 style="color: #fff;" class="mb-0"><i class="fas fa-user mr-2"></i> My Profile</h4> 3642 <div> 3643 <a style="color: #fff;" class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="My Profile" data-content="Your personal member details, including name, e-mail address, and when you joined the organization."><i class="fas fa-question-circle"></i></a> 3644 3645 </div> 3646 </div> 3647 <div class="card-body p-0"> 3648 <!-- Line Item --> 3649 <div class="p-3"> 3650 <div> 3651 <h5 class="memberName">{{currentUser.firstName}} {{currentUser.lastName}}</h5> 3652 <div class="memberEmail"><a href="mailto:{{currentUser.emailAddress}}">{{currentUser.emailAddress}}</a></div> 3653 <div class="joinDate"><span>joined {{currentUserJoinDate}}</span></div> 3654 </div> 3655 </div> 3656 3657 <div class="d-flex align-items-center border-top justify-content-between p-3 myProfileHouseholdCard" ng-repeat="household in currentUserHouseholds"> 3658 <div> 3659 <h5 class="mb-2"><span class="householdTitleLabel">Household: </span>{{household.name}}</h5> 3660 <div> 3661 <p class="mb-0"><b>Address:</b></p> 3662 <p class="mb-0">{{household.address1}}</p> 3663 <p class="mb-0" ng-if="household.address2">{{household.address2}}</p> 3664 <p class="mb-0">{{household.city}}, {{household.stateName}} {{household.zip}}</p> 3665 </div> 3666 <div class="mt-2" ng-if="household.members.length > 1"> 3667 <p class="mb-0"><b>Additional Members:</b></p> 3668 <p class="mb-0" ng-repeat="member in household.members" ng-if="member.userId != userId">{{member.firstName}} {{member.lastName}}</p> 3669 </div> 3670 </div> 3671 </div> 3672 </div> 3673 <div class="card-footer text-right"> 3674 <button ng-if="currentUserHouseholds.length" type="button" class="btn btn-primary btn-sm mr-2" ng-click="viewUserHouseholds()">my households</button> 3675 <button type="button" class="btn btn-primary btn-sm" ng-click="editUser(true)">settings</button> 3676 </div> 3677 </div> 3678 </div> 3679 3680 <!-- CARD - MY CHATS--> 3681 <div class="col-xl-4 col-lg-6 col-md-6 mb-3" ng-if="checkSitePermission('private-chat') && currentCustomerSite.enableChatUser == true && currentCustomerSite.enableChat && !currentCustomerSite.isBlockedFromChat" ng-init="getConversationsCard()"> 3682 <div class="card chatsCard"> 3683 <div style="color: #fff;" class="card-header customBg1 d-flex align-items-center justify-content-between"> 3684 <h4 style="color: #fff;" class="mb-0"><i class="fas fa-comments mr-2"></i> My Chats</h4> 3685 <div> 3686 <a style="color: #fff;" class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="My Chats" data-content="Message threads in which you're currently a participant."><i class="fas fa-question-circle"></i></a> 3687 </div> 3688 3689 </div> 3690 <div class="card-body p-0"> 3691 <!-- Line Item --> 3692 <div class="d-flex align-items-center border-top justify-content-between p-3" ng-repeat="conversation in recentConversations" ng-if="$index < 4"> 3693 <div> 3694 <p class="mb-0 ng-binding"> 3695 {{conversation.name}} 3696 </p> 3697 <div class="messageContent mt-2"> 3698 <div class="d-flex align-items-center justify-content-start mb-2"> 3699 <div class="inline avatarCircle"> 3700 <div class="md-avatar pr-ron size-1 rounded-circle" style="background-image: url({{conversation.messages[conversation.messages.length-1].avatar}})"></div> 3701 </div> 3702 <div class="ml-3"> 3703 <a class="font-weight-bold" href="javascript:void(0)">{{conversation.messages[conversation.messages.length -1].firstName}} {{conversation.messages[conversation.messages.length -1].lastName}}</a> 3704 <div class="text-subtle"><small>{{conversation.messages[conversation.messages.length -1].sentDate}}</small></div> 3705 </div> 3706 </div> 3707 <p class="mb-0"> 3708 {{conversation.messages[conversation.messages.length -1].truncatedMessage}} 3709 </p> 3710 <p class="mb-0"><a href="javascript:void(0)" ng-click="setUrl(sitePrefix+'?conversation='+conversation.conversationId)" class="moreCowbell">open conversation</a></p> 3711 </div> 3712 </div> 3713 </div> 3714 <div class="p-3" ng-if="!cardLoaders.conversationCard && !recentConversations.length"> 3715 <div> 3716 <p class="mb-0 text-center">
3716You have no conversations.</p> 3717 </div> 3718 </div> 3719 <div class="d-flex align-items-center justify-content-between p-3 border-top" ng-if="cardLoaders.conversationCard"> 3720 <span style="min-width: 100%; width: 100%; text-align: center; height: 350px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 3721 </div> 3722 </div> 3723 <div class="card-footer text-right"> 3724 <button type="button" class="btn btn-primary btn-sm" ng-click="setUrl(sitePrefix+'?conversation=all')"><i class="fas fa-eye mr-1"></i> all conversations</button> 3725 </div> 3726 </div> 3727 </div> 3728 <!-- CARD - NEWSFEED--> 3729 <div class="col-xl-4 col-lg-6 col-md-6 mb-3" ng-repeat="card in cards" ng-if="card.isActive && ((checkSitePermission('newsfeed') && card.cardSlug == 'newsfeed') || card.cardSlug == 'calendar' || (card.cardSlug == 'forms' && checkSitePermission('custom-forms')) || (card.cardSlug == 'ticketing' && checkSitePermission('ticketing-system')) || (card.cardSlug == 'violations' && checkSitePermission('violations')) || (card.cardSlug == 'documents' && checkSitePermission('document-repository')) || (checkSitePermission('dues') && card.cardSlug == 'payments') || (checkSitePermission('committees') && card.cardSlug == 'committees') || (checkSitePermission('amenities') && card.cardSlug == 'amenities'))"> 3730 <div class="card newsfeedCard" ng-init="getNewsfeedCard()" ng-if="card.cardSlug == 'newsfeed'"> 3731 <div style="color: #fff;" class="card-header customBg1 d-flex align-items-center justify-content-between"> 3732 <h4 style="color: #fff;" class="mb-0"><i class="far fa-newspaper mr-2"></i> {{card.cardName}}</h4> 3733 <div> 3734 <a style="color: #fff;" class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="Newsfeed" data-content="Chronological excerpts of the most-recent newsfeed posts."><i class="fas fa-question-circle"></i></a> 3735 </div> 3736 3737 </div> 3738 <div class="card-body p-0"> 3739 <!-- Line Item --> 3740 <div class="d-flex align-items-center border-top justify-content-between p-3" ng-repeat="item in recentNewsfeed" ng-if="$index < 3"> 3741 <div> 3742 <div class="d-flex align-items-center justify-content-start"> 3743 <div class="inline avatarCircle"> 3744 <div class="md-avatar pr-ron size-1 rounded-circle" style="background-image: url({{item.avatar}})"></div> 3745 </div> 3746 <div class="ml-3"> 3747 <a class="font-weight-bold" href="javascript:void(0)">{{item.firstName}} {{item.lastName}}</a> 3748 <div class="text-subtle"><small>{{item.date}}</small></div> 3749 </div> 3750 </div> 3751 <div class="postContent mt-2"> 3752 <p class="mb-0"> 3753 {{item.summary}} 3754 </p> 3755 <p class="mb-0"><a href="javascript:void(0)" ng-click="setUrl(sitePrefix+'/'+newsfeedUrl)" class="moreCowbell">read more</a></p> 3756 </div> 3757 </div> 3758 </div> 3759 <div class="d-flex align-items-center justify-content-between p-3 border-top" ng-if="cardLoaders.newsfeedCard"> 3760 <sp
3760an style="min-width: 100%; width: 100%; text-align: center; height: 350px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 3761 </div> 3762 3763 <div class="p-3" ng-if="!cardLoaders.newsfeedCard && !recentNewsfeed.length"> 3764 <div> 3765 <p class="mb-0 text-center">There are no newsfeed posts.</p> 3766 </div> 3767 </div> 3768 3769 </div> 3770 <div class="card-footer text-right" ng-if="newsfeedUrl != '/'"> 3771 <button type="button" class="btn btn-primary btn-sm" ng-click="setUrl(sitePrefix+'/'+newsfeedUrl)"><i class="fas fa-eye mr-1"></i> view more</button> 3772 </div> 3773 </div> 3774 3775 <div class="card eventsCard" ng-init="getEventsCard()" ng-if="card.cardSlug == 'calendar'"> 3776 <div style="color: #fff;" class="card-header customBg1 d-flex align-items-center justify-content-between"> 3777 <h4 style="color: #fff;" class="mb-0"><i class="fas fa-calendar-alt mr-2"></i> {{card.cardName}}</h4> 3778 <div> 3779 <a style="color: #fff;" class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="Events" data-content="Name, date, time, and a brief description of upcoming events that you can view or register for."><i class="fas fa-question-circle"></i></a> 3780 </div> 3781 3782 </div> 3783 <div class="card-body p-0"> 3784 <!-- Line Item --> 3785 <div class="d-flex align-items-center border-top justify-content-between p-3" ng-repeat="event in upcomingevents" ng-if="$index < 4"> 3786 <div style="width: calc(100% - 120px);"> 3787 <h5 class="mb-0 eventName">{{event.name}}</h5> 3788 <p class="mb-2 eventInfoSubtext"> 3789 <span class="mr-2"> 3790 <i class="fas fa-calendar-day"></i> {{event.startDate}} 3791 </span> <span ng-if="event.startTime && event.endTime"><i class="fas fa-alarm-clock"></i> {{event.startTime}} - {{event.endTime}}</span> 3792 </p> 3793 <p class="mb-0 truncate-events-overflow" style="overflow-wrap: break-word;">{{event.truncatedDescription}}</p> 3794 </div> 3795 <div style="width: 110px;" class="text-right"> 3796 <span class="mr-2" data-toggle="tooltip" title="View Event"> 3797 <a style="float: right;" ng-if="event.isRegistered && event.isEvent">Registered</a> 3798 <a style="float: right;color: #fff;" ng-if="!event.isRegistered && event.isEvent && eventsUrl != '/'" class="btn btn-primary btn-sm customText6" style="color: #fff;" ng-click="setUrl(sitePrefix+'/'+eventsUrl+'?event='+event.eventId)">Register</a> 3799 <a style="float: right;color: #fff;" ng-if="!event.isEvent" class="btn btn-primary btn-sm customText6" ng-click="viewDashboardEvent(event)">View Event</a> 3800 </span> 3801 <!-- 3802 <sp
3802an class="" data-toggle="tooltip" title="Manage Your Registration"> 3803 <a href="#" data-toggle="modal" 3804 data-target="#manageRegistration"><i class="fas fa-cog"></i></a> 3805 </span> 3806 3807 --> 3808 </div> 3809 </div> 3810 3811 <div class="d-flex align-items-center justify-content-between p-3 border-top" ng-if="cardLoaders.eventsCard"> 3812 <span style="min-width: 100%; width: 100%; text-align: center; height: 350px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 3813 </div> 3814 3815 <div class="p-3" ng-if="!cardLoaders.eventsCard && !upcomingevents.length"> 3816 <div> 3817 <p class="mb-0 text-center">There are no events.</p> 3818 </div> 3819 </div> 3820 3821 </div> 3822 <div class="card-footer text-right"> 3823 <button type="button" class="btn btn-primary btn-sm" ng-if="eventsUrl != '/'" ng-click="setUrl(sitePrefix+'/'+eventsUrl)"><i class="fas fa-eye mr-1"></i> view more</button> 3824 </div> 3825 </div> 3826 3827 <div class="card formsCard documentsCard" ng-init="getFormsCard()" ng-if="card.cardSlug == 'forms'"> 3828 <div style="color: #fff;" class="card-header customBg1 d-flex align-items-center justify-content-between"> 3829 <h4 style="color: #fff;" class="mb-0"><i class="fas fa-ballot-check mr-2"></i> {{card.cardName}}/Polls</h4> 3830 <div> 3831 <a style="color: #fff;" class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="Forms/Polls" data-content="Forms and surveys that await your response (should you choose to participate)."><i class="fas fa-question-circle"></i></a> 3832 </div> 3833 3834 </div> 3835 <div class="card-body p-0"> 3836 <!-- Line Item --> 3837 <div class="d-flex align-items-center border-top justify-content-between p-3" ng-repeat="form in recentForms" ng-if="$index < formLazyLoad"> 3838 <div class="formName"> 3839 <p class="mb-0"> 3840 {{form.name}} 3841 </p> 3842 <p class="mb-0" ng-if="!form.isPastExpiration && !form.isCompleted && (!form.onePerHousehold || (form.onePerHousehold && form.hasHouseholdPermission && !form.householdCompleted))"><a href="javascript:void(0)" ng-click="submitDashboardForm(form.formId)" class="moreCowbell">complete {{(form.isSurvey) ? 'survey' : 'form'}}</a></p> 3843 <p class="mb-0" ng-if="(form.hasExpiration && form.isPastExpiration) || ((!form.hasExpiration || form.isPastExpiration) && (form.isCompleted || (form.onePerHousehold && (!form.hasHouseholdPermission || form.householdCompleted))))"><a href="javascript:void(0)" ng-click="viewDashboardResults(form.formId)" class="moreCowbell">view results</a></p> 3844 <p class="mb-0" ng-if="(form.hasExpiration && !form.isPastExpiration) && (form.isCompleted || (form.onePerHousehold && (!form.hasHouseholdPermission || form.householdCompleted)))">survey in progress</p> 3845 </div> 3846 <div class="uploadDate text-right"> 3847 <p style="margin-bottom: 0;">uploaded</p> 3848 <p style="margin-bottom: 0;">{{form.created}}</p> 3849 </div> 3850 </div> 3851 </div> 3852 <div class="p-3" ng-if="!cardLoaders.formsCard && !recentForms.length"> 3853 <div> 3854 <p class="mb-0 text-center">There are no active forms.</p> 3855 </div> 3856 </div> 3857 <div class="d-flex align-items-center justify-content-between p-3 border-top" ng-if="cardLoaders.formsCard">
3858 <span style="min-width: 100%; width: 100%; text-align: center; height: 350px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 3859 </div> 3860 <!-- 3861 <div class="card-footer text-right" ng-show="recentForms.length > formLazyLoad" datalength="{{recentForms.length}}" lazyload="{{formLazyLoad}}"> 3862 <button type="button" class="btn btn-primary btn-sm" ng-click="loadForms()"><i class="fas fa-eye mr-1"></i> view more</button> 3863 </div>--> 3864 </div> 3865 3866 <div class="card committeesCard" ng-init="getTicketsCard()" ng-if="card.cardSlug == 'ticketing'"> 3867 <div style="color: #fff;" class="card-header customBg1 d-flex align-items-center justify-content-between"> 3868 <h4 style="color: #fff;" class="mb-0"><i class="fas fa-ticket-alt mr-2"></i> {{card.cardName}}</h4> 3869 <div> 3870 <span style="color: #fff;" class="badge badge-pill badge-notify" ng-if="requestedInfoTickets.length"><i class="fas fa-exclamation-circle mr-1"></i> {{requestedInfoTickets.length}}</span> 3871 <a style="color: #fff;" class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="Tickets" data-content="View and comment on your ticket submissions."><i class="fas fa-question-circle"></i></a> 3872 </div> 3873 </div> 3874 <div class="card-body p-0" style="max-height: 500px; overflow-y: scroll;"> 3875 <!-- Line Item APPROVE/REJECT --> 3876 <div class="d-flex align-items-center border-top justify-content-between p-3" ng-repeat="ticket in pendingTickets"> 3877 <div class="memberName"> 3878 <p class="mb-0"> 3879 {{ticket.formName}} - {{ticket.identifier}} 3880 </p> 3881 <p class="committeeInfo ">Submitted: {{ticket.created}}</p> 3882 <p class="mb-0" ng-show="ticket.status != 4" ng-cloak><a href="javascript:void(0)" ng-click="viewTicket(ticket.submissionId)" class="moreCowbell">view ticket</a></p> 3883 <p class="mb-0" ng-show="ticket.status == 4" ng-cloak><a href="javascript:void(0)" ng-click="viewTicket(ticket.submissionId)" class="moreCowbell">amend/resubmit ticket</a></p> 3884 </div> 3885 <div> 3886 <div class="uploadDate text-right"> 3887 <p class="mb-0">status</p> 3888 <p ng-if="ticket.status == 1" ng-cloak>pending</p> 3889 <p ng-if="ticket.status == 4" class="text-warning" ng-cloak>amendment requested</p> 3890 <p class="text-success" ng-if="ticket.status == 2" ng-cloak>approved</p> 3891 <p class="text-danger" ng-if="ticket.status == 3" ng-cloak>rejected</p> 3892 </div> 3893 </div> 3894 </div> 3895 <div class="p-3" ng-if="!cardLoaders.ticketsCard && !pendingTickets.length"> 3896 <div> 3897 <p class="mb-0 text-center">There are no pending tickets.</p> 3898 </div> 3899 </div> 3900 <div class="d-flex align-items-center justify-content-between p-3 border-top" ng-if="cardLoaders.ticketsCard"> 3901 <sp
3901an style="min-width: 100%; width: 100%; text-align: center; height: 350px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 3902 </div> 3903 </div> 3904 </div> 3905 3906 <div class="card committeesCard" ng-init="getViolationsCard()" ng-if="card.cardSlug == 'violations'"> 3907 <div style="color: #fff;" class="card-header customBg1 d-flex align-items-center justify-content-between"> 3908 <h4 style="color: #fff;" class="mb-0"><i class="fas fa-exclamation-triangle"></i> {{card.cardName}}</h4> 3909 <div> 3910 <span style="color: #fff;" class="badge badge-pill badge-notify" ng-if="pendingViolations.length"><i class="fas fa-exclamation-circle mr-1"></i> {{pendingViolations.length}}</span> 3911 <a style="color: #fff;" class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="Violations" data-content="View and comment on your violations."><i class="fas fa-question-circle"></i></a> 3912 </div> 3913 </div> 3914 <div class="card-body p-0" style="max-height: 500px; overflow-y: scroll;"> 3915 <!-- Line Item APPROVE/REJECT --> 3916 <div class="d-flex align-items-center border-top justify-content-between p-3" ng-repeat="ticket in pendingViolations"> 3917 <div class="memberName"> 3918 <p class="mb-0"> 3919 Violation - {{ticket.identifier}} 3920 </p> 3921 <p class="committeeInfo ">Submitted: {{ticket.created}}</p> 3922 <p class="mb-0" ng-cloak><a href="javascript:void(0)" ng-click="viewViolation(ticket.violationId)" class="moreCowbell">view violation</a></p> 3923 </div> 3924 <div> 3925 <div class="uploadDate text-right"> 3926 <p class="mb-0">status</p> 3927 <p ng-if="ticket.status == 0" ng-cloak>disputed</p> 3928 <p ng-if="ticket.status == 1" ng-cloak>in progress</p> 3929 <p ng-if="ticket.status == 2" ng-cloak>in violation</p> 3930 <p ng-if="ticket.status == 3" ng-cloak>pending</p> 3931 <p ng-if="ticket.status == 4" ng-cloak>submission</p> 3932 <p ng-if="ticket.status == 5" ng-cloak>closed</p> 3933 <p ng-if="ticket.status == 6" ng-cloak>completed</p> 3934 <p ng-if="ticket.status == 7" ng-cloak>dismissed</p> 3935 <p ng-if="ticket.status == 8" ng-cloak>resolved</p> 3936 </div> 3937 </div> 3938 </div> 3939 <div class="p-3" ng-if="!cardLoaders.violationsCard && !pendingViolations.length"> 3940 <div> 3941 <p class="mb-0 text-center">There are no pending violations.</p> 3942 </div> 3943 </div> 3944 <div class="d-flex align-items-center justify-content-between p-3 border-top" ng-if="cardLoaders.violationsCard"> 3945 <sp
3945an style="min-width: 100%; width: 100%; text-align: center; height: 350px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 3946 </div> 3947 </div> 3948 </div> 3949 3950 <div class="card documentsCard" ng-init="getDocumentsCard()" ng-if="card.cardSlug == 'documents'"> 3951 <div style="color: #fff;" class="card-header customBg1 d-flex align-items-center justify-content-between"> 3952 <h4 style="color: #fff;" class="mb-0"><i class="fas fa-file-alt mr-2"></i> {{card.cardName}}</h4> 3953 <div> 3954 <a style="color: #fff;" class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="My Documents" data-content="Filenames and upload dates for recent document additions."><i class="fas fa-question-circle"></i></a> 3955 </div> 3956 3957 </div> 3958 <div class="card-body p-0"> 3959 <!-- Line Item --> 3960 <div class="d-flex align-items-center border-top justify-content-between p-3" ng-repeat="document in recentDocuments" ng-if="$index < 6"> 3961 <div class="documentName"> 3962 <p class="mb-0"> 3963 <i class="far fa-file mr-1"></i> {{document.name}} 3964 </p> 3965 <p class="mb-0"><a href="/File/Get/{{document.fileId}}" target="_BLANK" class="moreCowbell">download file</a></p> 3966 </div> 3967 <div class="uploadDate text-right"> 3968 <p>uploaded</p> 3969 <p>{{document.date}}</p> 3970 </div> 3971 </div> 3972 <div class="p-3" ng-if="!cardLoaders.documentsCard && !recentDocuments.length"> 3973 <div> 3974 <p class="mb-0 text-center">There are no documents.</p> 3975 </div> 3976 </div> 3977 <div class="d-flex align-items-center justify-content-between p-3 border-top" ng-if="cardLoaders.documentsCard"> 3978 <span style="min-width: 100%; width: 100%; text-align: center; height: 350px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 3979 </div> 3980 </div> 3981 <div class="card-footer text-right"> 3982 <button type="button" class="btn btn-primary btn-sm" ng-if="documentsUrl.length && documentsUrl != '/'" ng-click="setUrl(sitePrefix+'/'+documentsUrl)"><i class="fas fa-eye mr-1"></i> view more</button> 3983 </div> 3984 </div> 3985 3986 3987 <div class="card committeesCard" ng-if="checkSitePermission('committees') && card.cardSlug == 'committees'" ng-init="getCommitteesCard()"> 3988 <div style="color: #fff;" class="card-header customBg1 d-flex align-items-center justify-content-between"> 3989 <h4 style="color: #fff;" class="mb-0">
3989<i class="fas fa-user-friends mr-2"></i> {{card.cardName}}</h4> 3990 <div> 3991 <span style="color: #fff;" class="badge badge-pill badge-success" ng-if="myCommittees.length">{{myCommittees.length}}</span> 3992 <a style="color: #fff;" class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="My Committees" data-content="Committee assignments."><i class="fas fa-question-circle"></i></a> 3993 </div> 3994 3995 </div> 3996 <div class="card-body p-0"> 3997 <!-- Line Item --> 3998 3999 <div class="d-flex align-items-center border-top justify-content-between p-3" ng-repeat="committee in myCommittees" ng-if="$index < 4"> 4000 <div> 4001 <h5 class="mb-0 committeeName">{{committee.name}}</h5> 4002 <p ng-if="committee.currentUserStatus == 'leader'" class="mb-2 committeeInfo">You are a <span class="font-weight-bold">Leader</span> of this committee.</p> 4003 <p ng-if="committee.currentUserStatus == 'pending'" class="mb-2 committeeInfo">Your application is <span class="font-weight-bold">Pending</span> for this committee.</p> 4004 <p ng-if="committee.currentUserStatus == 'member'" class="mb-2 committeeInfo">You are a <span class="font-weight-bold">Member</span> of this committee.</p> 4005 </div> 4006 <div style="width:75px;" class="text-right"> 4007 <span ng-if="committee.currentUserStatus == 'leader'" class="" data-toggle="tooltip" title="Manage Committee"> 4008 <a href="/"><i class="fas fa-cog"></i></a> 4009 </span> 4010 </div> 4011 </div> 4012 4013 <div class="p-3" ng-if="!cardLoaders.committeesCard && !myCommittees.length"> 4014 <div> 4015 <p class="mb-0 text-center">You have no committees.</p> 4016 </div> 4017 </div> 4018 <div class="d-flex align-items-center justify-content-between p-3 border-top" ng-if="cardLoaders.committeesCard"> 4019 <span style="min-width: 100%; width: 100%; text-align: center; height: 350px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 4020 </div> 4021 4022 </div> 4023 <div class="card-footer text-right"> 4024 <button type="button" class="btn btn-primary btn-sm" ng-if="committeesUrl != '/'" ng-click="setUrl(sitePrefix+'/'+committeesUrl)"><i class="fas fa-eye mr-1"></i> view more</button> 4025 </div> 4026 </div> 4027 4028 <div class="card paymentsCard" ng-if="checkSitePermission('dues') && card.cardSlug == 'payments'" ng-init="getPaymentsCard()"> 4029 <div style="color: #fff;" class="card-header customBg1 d-flex align-items-center justify-content-between"> 4030 <h4 style="color: #fff;" class="mb-0"><i class="fas fa-money-check-alt mr-2"></i> {{card.cardName}}</h4> 4031 <div> 4032 <sp
4032an style="color: #fff;" class="badge badge-pill badge-danger" ng-if="duesDue > 0"><i class="fas fa-exclamation-circle mr-1"></i> {{duesDue}}</span> 4033 <a style="color: #fff;" class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="My Payments" data-content="Chronological list of your recent and outstanding payments."><i class="fas fa-question-circle"></i></a> 4034 </div> 4035 </div> 4036 <div class="card-body p-0"> 4037 <!-- Line Item --> 4038 <div class="p-3 border-top" ng-repeat="due in cardMemberDues" ng-if="$index < 6"> 4039 <div class="d-block"> 4040 <h3 class="mb-2 feeName">{{due.dueName}}</h3> 4041 </div> 4042 <div class="d-flex justify-content-between"> 4043 <div class="text-left"> 4044 <h6 class="balanceDueText">Balance Due</h6> 4045 <h4 class="balanceDue" ng-class="{'text-danger': due.isLate, 'text-success': !due.isLate}">{{due.formattedtotalprice}}</h4> 4046 <p class="mb-0" ng-if="duesUrl != '/'"><a href="javascript:void(0)" ng-click="setUrl(sitePrefix+'/'+cardDuesUrl)" class="moreCowbell">make payment</a></p> 4047 </div> 4048 <div class="text-right m-100"> 4049 <h6 class="dateDueText">Due Date</h6> 4050 <h4 ng-cloak class="dateDue" ng-if="!due.isLate" ng-class="{'text-danger': due.isLate}">{{due.nextDueDate}}</h4> 4051 <h4 ng-cloak class="dateDue" ng-if="due.isLate" ng-class="{'text-danger': due.isLate}">{{due.lateDueDate}}</h4> 4052 </div> 4053 </div> 4054 </div> 4055 <div class="p-3" ng-if="!cardLoaders.paymentCard && !cardMemberDues.length"> 4056 <div> 4057 <p class="mb-0 text-center">You have no payments due.</p> 4058 </div> 4059 </div> 4060 <div class="d-flex align-items-center justify-content-between p-3 border-top" ng-if="cardLoaders.paymentCard"> 4061 <span style="min-width: 100%; width: 100%; text-align: center; height: 350px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 4062 </div> 4063 </div> 4064 <div class="card-footer text-right"> 4065 <button type="button" class="btn btn-primary btn-sm" ng-if="cardDuesUrl != '/'" ng-click="setUrl(sitePrefix+'/'+cardDuesUrl)"><i class="fas fa-eye mr-1"></i> view more</button> 4066 </div> 4067 </div> 4068 4069 4070 4071 4072 <div class="card reservationsCard" ng-if="card.cardSlug == 'amenities'" ng-init="getReservationsCard()"> 4073 <div style="color: #fff;" class="card-header customBg1 d-flex align-items-center justify-content-between"> 4074 <h4 style="color: #fff;" class="mb-0"><i class="fas fa-calendar-day mr-2"></i> {{card.cardName}}</h4> 4075 <div> 4076 <sp
4076an style="color: #fff;" class="badge badge-pill badge-success" ng-if="myamenities.length">{{myamenities.length}}</span> 4077 <a style="color: #fff;" class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="My Reservations" data-content="Chronological list of upcoming reservations for organization amenities."><i class="fas fa-question-circle"></i></a> 4078 </div> 4079 4080 </div> 4081 <div class="card-body p-0"> 4082 <div class="d-flex align-items-center border-top justify-content-between p-3" ng-repeat="reservation in myamenities" ng-if="$index < 4"> 4083 <div class="reservationInfo"> 4084 <p class="amenityName"> 4085 {{reservation.amenityName}} 4086 </p> 4087 <p class="amenityRequest"> 4088 {{reservation.reservationDate}} <span ng-if="!reservation.isAllDayReservation">@ {{reservation.startTime}} - {{reservation.endTime}}</span><span ng-if="reservation.isAllDayReservation">- All Day</span> 4089 </p> 4090 </div> 4091 <div style="width:75px;" class="text-right"> 4092 <!-- 4093 <span class="mr-2" data-toggle="tooltip" title="View Amenity"> 4094 <a href="#" data-toggle="modal" 4095 data-target="#"><i class="fas fa-eye"></i></a> 4096 </span> 4097 <span class="" data-toggle="tooltip" title="Manage Your Reservation"> 4098 <a href="#" data-toggle="modal" 4099 data-target="#"><i class="fas fa-cog"></i></a> 4100 </span>--> 4101 </div> 4102 </div> 4103 <div class="p-3" ng-if="!cardLoaders.reservationsCard && !myamenities.length"> 4104 <div> 4105 <p class="mb-0 text-center">You have no reservations.</p> 4106 </div> 4107 </div> 4108 <div class="d-flex align-items-center justify-content-between p-3 border-top" ng-if="cardLoaders.reservationsCard"> 4109 <span style="min-width: 100%; width: 100%; text-align: center; height: 350px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 4110 </div> 4111 </div> 4112 <div class="card-footer text-right"> 4113 <button type="button" class="btn btn-primary btn-sm" ng-if="amenitiesUrl != '/'" ng-click="setUrl(sitePrefix+'/'+amenitiesUrl)"><i class="fas fa-eye mr-1"></i> view amenities</button> 4114 </div> 4115 </div> 4116 </div> 4117 4118 4119 4120 4121 <!-- CARD - SPONSORS --> 4122 <div class="col-xl-4 col-lg-6 col-md-6 mb-3" ng-if="checkSitePermission('sponsorships')" ng-init="getSponsorsCard()"> 4123 <div class="card sponsorsCard"> 4124 <div style="color: #fff;" class="card-header customBg1 d-flex align-items-center justify-content-between"> 4125 <h4 style="color: #fff;" class="mb-0"><i class="fas fa-handshake-alt mr-2"></i> Sponsors</h4> 4126 <div> 4127 <a style="color: #fff;" class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="Sponsors" data-content="Sponsor names, logos, and affiliation dates."><i class="fas fa-question-circle"></i></a> 4128 </div> 4129 4130 </div> 4131 <div class="card-body p-0"> 4132 <!-- Line Item --> 4133 <div class="d-flex align-items-center border-top justify-content-between p-3" ng-repeat="sponsor in sponsors" ng-if="$index < 4"> 4134 <div> 4135 <h5 class="mb-0 sponsorName">{{sponsor.name}}</h5> 4136 <p class="mb-2 sponsorInfo">added {{sponsor.date}}</p> 4137 </div> 4138 <div class="sponsorImage" ng-if="sponsor.imageId"> 4139 <img ng-src="/File/Get/{{sponsor.imageId}}"> 4140 </div> 4141 </div> 4142 <div class="p-3" ng-if="!cardLoaders.sponsorCard && !sponsors.length"> 4143 <div> 4144 <p class="mb-0 text-center">There are no sponsors.</p> 4145 </div> 4146 </div> 4147 <div class="d-flex align-items-center justify-content-between p-3 border-top" ng-if="cardLoaders.sponsorCard"> 4148 <sp
4148an style="min-width: 100%; width: 100%; text-align: center; height: 350px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 4149 </div> 4150 </div> 4151 </div> 4152 </div> 4153 </div> 4154 </div> 4155 </div> 4156 </div> 4157 4158 <!-- Start View Event Modal --> 4159
4159<script type="text/ng-template" id="view-event-modal"> 4160 <div class="modal-header border-0"> 4161 <h5 class="modal-title">View Event</h5> 4162 <button type="button" class="close" aria-label="Close" ng-click="$dismiss();"> 4163 <span aria-hidden="true">×</span> 4164 </button> 4165 </div> 4166 <div class="modal-body"> 4167 <div class="row"> 4168 <div class="col-12"> 4169 <table class="table mb-0" style="table-layout: fixed;"> 4170 <tbody> 4171 <tr> 4172 <td style="vertical-align:middle;"> 4173 <span class="text-muted"><small>Event Name</small></span> 4174 </td> 4175 <td style="vertical-align:middle;"> 4176 <p>{{event.name}}</p> 4177 </td> 4178 </tr> 4179 <tr> 4180 <td style="vertical-align:middle;"> 4181 <span class="text-muted"><small>Date</small></span> 4182 </td> 4183 <td style="vertical-align:middle;"> 4184 <p>{{event.startDate}}<span ng-if="event.endDate != event.startDate"> - {{event.endDate}}</span></p> 4185 </td> 4186 </tr> 4187 <tr ng-if="!event.hasActivities"> 4188 <td style="vertical-align:middle;"> 4189 <span class="text-muted"><small>Time</small></span> 4190 </td> 4191 <td style="vertical-align:middle;"> 4192 <p>{{event.startTime}}<span ng-if="event.endTime"> - {{event.endTime}}</span></p> 4193 </td> 4194 </tr> 4195 <tr ng-if="isEvent"> 4196 <td style="vertical-align:middle;"> 4197 <span class="text-muted"><small>Location</small></span> 4198 </td> 4199 <td style="vertical-align:middle;"> 4200 <p>{{event.venue}}</p> 4201 <p>{{event.address1}}</p> 4202 <p ng-if="event.address2">{{event.address2}}</p> 4203 <p>{{event.city}}, {{event.stateAbbreviation}}, {{event.zip}}</p> 4204 </td> 4205 </tr> 4206 <tr> 4207 <td style="vertical-align:middle;"> 4208 <sp
4208an class="text-muted"><small>More Event Information</small></span> 4209 </td> 4210 <td style="vertical-align:middle;"> 4211 <style scoped=""> 4212 p { 4213 word-break: break-word; 4214 } 4215 </style> 4216 <div class="calendarEntryMoreInfo" ng-bind-html="trustedHtml(event.description)"> 4217 </div> 4218 </td> 4219 </tr> 4220 4221 </tbody> 4222 </table> 4223 </div> 4224 </div> 4225 <div class="text-right mt-4"> 4226 <button type="button" class="btn btn-cancel" ng-click="$dismiss();"> 4227 Close 4228 </button> 4229 </div> 4230 </div> 4231 </script>
4231 4232 <!-- End View Event Modal --> 4233 <!-- Start Voting Results Modal --> 4234
4234<script type="text/ng-template" id="view-form-results-modal"> 4235 <div class="modal-header"> 4236 <h5 class="modal-title">{{formdata.name}}</h5> 4237 <button type="button" class="close" aria-label="Close" ng-click="$dismiss();"> 4238 <span aria-hidden="true">×</span> 4239 </button> 4240 </div> 4241 <div class="modal-body"> 4242 <div class="row" style="width: 100%;"> 4243 <div class="col-lg-4" ng-repeat="item in results"> 4244 <div class="piechartContainer"> 4245 <div id="piechart{{$index}}" class="piechart" style="width: 100%;"></div> 4246 </div> 4247 </div> 4248 4249 </div> 4250 <div class="row"> 4251 <div ng-cloak style="text-align: center;width: 100%;font-weight: bold;">Submissions: {{resultsCount}}</div> 4252 </div> 4253 </div> 4254 </script>
4254 4255 <!-- End Voting Results Modal --> 4256 <!-- Start Edit Form Data Modal --> 4257
4257<script type="text/ng-template" id="amend-form-modal"> 4258 <div class="modal-header"> 4259 <h5 class="modal-title">AMEND FORM</h5> 4260 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 4261 <span aria-hidden="true">×</span> 4262 </button> 4263 </div> 4264 <div class="modal-body"> 4265 <div class=""> 4266 <div class=""> 4267 <div class="headerBlock"> 4268 <div class="headerLeft" style="width: 100%"> 4269 <h1 class="mb-0">{{formdata.name}}</h1> 4270 </div> 4271 </div> 4272 </div> 4273 </div> 4274 <div class=""> 4275 <div class=""> 4276 <form name="customForm" id="applicationForm" novalidate ng-class="{'was-validated': submitAttempt}"> 4277 <div class="customFormSection p-3 mb-3" ng-repeat="subsection in formdata.sections"> 4278 <div class="d-flex align-items-center mb-4" ng-if="subsection.displayTitle"> 4279 <h4 ng-cloak ng-if="subsection.displayTitle" class="sectionName">{{subsection.name}}</h4> 4280 </div> 4281 <div class="form-row customFormRow"> 4282 <div class="form-group customFieldGroup" ng-class="{'col-md-6' : field.fullwidth == false, 'col-md-12' : field.fullwidth == true}" ng-repeat="field in subsection.questions"> 4283 <label for="custom1" class="angularJsNewLine">{{(field.questionControlType != 5) ? field.name : ' '}}<span ng-cloak ng-if="field.required && field.questionControlType != 5" class="text-danger">*</span></label> 4284 <input type="text" class="form-control customFormItem" id="custom1" ng-attr-data-id="{{field.questionId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required" ng-if="field.questionControlType == 1"> 4285 <textarea class="form-control customFormItem" id="custom1" placeholder="{{field.placeholder}}" ng-attr-data-id="{{field.questionId}}" name="{{field.name}}" ng-required="field.required" value="" ng-if="field.questionControlType == 6"></textarea> 4286 4287 <select class="form-control customFormItem" ng-class="{'customvalid' : !field.isInvalid && submitAttempt, 'custominvalid' : field.isInvalid && submitAttempt }" name="{{field.name}}" ng-required="field.required" ng-attr-data-id="{{field.questionId}}" ng-if="field.questionControlType == 2"> 4288 <option>Select</option> 4289 <option ng-repeat="option in field.options" value="{{option.name}}">{{option.name}}</option> 4290 </select> 4291 4292 <div ng-if="field.questionControlType == 3" class="checkboxGroup" data-required="{{field.required}}"> 4293 <div class="form-check" ng-repeat="option in field.options"> 4294 <input class="form-check-input customFormCheckbox" type="checkbox" name="exampleCheckboxes{{$index}}" id="exampleCheckboxes{{$index}}" ng-value="option.questionId+'|'+option.name"> 4295 <label class="{{paragraphTextClasses(widget)}} form-check-label" style="{{paragraphTextStyles(widget)}}" for="exampleCheckboxes{{$index}}"> 4296 {{option.name}} 4297 </label> 4298 </div> 4299 </div> 4300 4301 <div ng-if="field.questionControlType == 4" class="radioGroup"> 4302 <div class="form-check" ng-repeat="option in field.options"> 4303 <input class="form-check-input customFormRadio" type="radio" name="exampleRadios{{$parent.$index}}{{field.questionId}}" id="exampleRadios{{$parent.$index}}{{field.questionId}}{{$index}}" ng-value="option.questionId+'|'+option.name" ng-required="$parent.field.required"> 4304 <label class="{{paragraphTextClasses(widget)}} form-check-label" style="{{paragraphTextStyles(widget)}}" for="exampleRadios{{$parent.$index}}{{field.questionId}}{{$index}}"> 4305 {{option.name}} 4306 </label> 4307 </div> 4308 </div> 4309 4310 <div class="custom-file d-block" style="font-size:12px;" ng-if="field.questionControlType == 8"> 4311 <input type="hidden" style="display: hidden;" name="fileId" /> 4312 <label class="custom-file-label custom-hidden-upload-label customMultipleUpload" ng-class="{'customvalid' : widget.submitAttempt && (!field.required || field.attachments.length), 'custominvali
4312d' : widget.submitAttempt && (field.required && !field.attachments.length) }" ng-init="initMultipleUpload()" for="customFile" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUploadCustomMultiple(response, field)" on-error="errorFileUpload(response)">Choose file</label> 4313 </div> 4314 4315 <div class="postAttachments mt-3" ng-if="field.attachments.length"> 4316 <a class="" data-toggle="collapse" href="javascript:void(0)" ng-click="triggerAccordion(field.questionId)" role="button" aria-expanded="false" 4317 aria-controls="attachmentCollapse1"><i class="fas fa-paperclip mr-2"></i> view {{field.attachments.length}} attachments</a> 4318 <div class="collapse attachmentCollapse" id="attachmentCollapse1" data-item="{{field.questionId}}"> 4319 <div style="margin-top: 15px;"> 4320 <span ng-repeat="attachment in field.attachments"><a href="javascript:void(0)" class="ml-2" ng-click="removeFormFile($index, field);"><i class="fas fa-times"></i></a> {{attachment.name}}</span> 4321 </div> 4322 </div> 4323 </div> 4324 4325 <div ng-if="field.questionControlType == 9" class="input-group mb-3"> 4326 <input type="text" class="form-control customFormItem formDatePickerField" ng-class="'datePicker'+field.questionId" ng-init="initMobiscrollDatePicker('.datePicker'+field.questionId)" ng-attr-data-id="{{field.questionId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required"> 4327 <div class="input-group-append"> 4328 <button class="btn btn-outline-secondary btn-append" id="button-addon2" ng-click="clearSingleFormField('.datePicker'+field.questionId)">Clear</button> 4329 </div> 4330 <div class="custom-feedback" ng-attr-data-id-feedback="{{field.questionId}}" style="display: none;"> 4331 This field is required. 4332 </div> 4333 </div> 4334 <div class="custom-feedback" ng-attr-data-id-feedback="{{field.questionId}}" ng-if="field.incorrectMinMax"> 4335 <span>This field has a minimum selection of {{field.min}} selections. </span> 4336 <span>This field has a maximum selection of {{field.max}} selections.</span> 4337 </div> 4338 4339 </div> 4340 </div> 4341 </div> 4342 </form> 4343 </div> 4344 </div> 4345 <div class="text-right mt-4"> 4346 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="submitApplication()">Resubmit</button> 4347 <button type="button" class="btn btn-cancel m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 4348 </div> 4349 </div> 4350 </script>
4350 4351 <!-- End Edit Form Data Modal --> 4352 <!-- Start View Ticket Full Modal --> 4353
4353<script type="text/ng-template" id="view-ticket-full-modal"> 4354 <div class="modal-body"> 4355 <div class="container-fluid"> 4356 4357 <h1 class="mt-4">{{formdata.name}}</h1> 4358 4359 <div class="mb-4 mt-3"> 4360 <a class="body-text-link" href="javascript:void(0)" ng-click="$dismiss()"><i class="fas fa-arrow-left"></i> back to tickets</a> 4361 </div> 4362 4363 <div class="row"> 4364 <div class="col-md-4"> 4365 <div class="card p-0 mb-4"> 4366 <table class="table mb-0 word-wrap-fix-table"> 4367 <thead class=""> 4368 <tr> 4369 <th colspan="2" class="bg-light text-dark" 4370 style="border-top-left-radius: 0.25rem;border-top-right-radius: 0.25rem;"> 4371 <div class="d-flex align-items-center"> 4372 <h4 class="mb-0">Request Details</h4> 4373 </div> 4374 </th> 4375 </tr> 4376 </thead> 4377 <tbody> 4378 <tr> 4379 <td style="vertical-align:middle;max-width: 40%;"><b>Status: {{status}}</b></td> 4380 <td style="vertical-align:middle;text-align:right;max-width: 60%;"><span class="float-right">{{submission.created}}</span></td> 4381 </tr> 4382 <tr> 4383 <td style="vertical-align:middle;max-width: 40%;"><b>Ticket #</b></td> 4384 <td style="vertical-align:middle;text-align:right;max-width: 60%;"><span class="float-right">{{submission.identifier}}</span></td> 4385 </tr> 4386 <tr> 4387 <td style="vertical-align:middle;max-width: 40%;"><b>Name</b></td> 4388 <td style="vertical-align:middle;text-align:right;max-width: 60%;"><span class="float-right">{{submission.firstName}} {{submission.lastName}}</span></td> 4389 </tr> 4390 <tr> 4391 <td style="vertical-align:middle;max-width: 40%;"><b>Email</b></td> 4392 <td style="vertical-align:middle;text-align:right;max-width: 60%;"><span class="float-right">{{submission.emailAddress}}</span></td> 4393 </tr> 4394 <tr> 4395 <td style="vertical-align:middle;max-width: 40%;"><b>Phone</b></td> 4396 <td style="vertical-align:middle;text-align:right;max-width: 60%;"><span class="float-right">{{submission.phone}}</span></td> 4397 </tr> 4398 <tr ng-repeat="answer in submission.customAnswers" ng-if="!answer.isUpload"> 4399 <td style="vertical-align:middle;max-width: 40%;"><b>{{answer.question}}</b></td> 4400 <td ng-if="answer.isUpload" ng-cloak style="vertical-align:middle;text-align:right;max-width: 60%;"> 4401 <sp
4401an class="float-right"> 4402 <a href="/File/Get/{{answer.uploadedFileId}}" target="_BLANK">{{answer.uploadName}}</a> 4403 </span> 4404 </td> 4405 <td ng-if="!answer.isUpload" ng-cloak style="vertical-align:middle;text-align:right;max-width: 60%;"><span class="float-right">{{answer.answer}}</span></td> 4406 </tr> 4407 <tr ng-repeat="block in submissionAttachmentBlocks"> 4408 <td style="vertical-align:middle;max-width: 40%;"><b>{{block.name}}</b></td> 4409 <td ng-cloak style="vertical-align:middle;text-align:right;max-width: 60%;"> 4410 <span class="float-right" ng-repeat="answer in block.uploads"> 4411 <a href="/File/Get/{{answer.uploadedFileId}}" target="_BLANK">{{answer.uploadName}}</a> 4412 <br /> 4413 </span> 4414 </td> 4415 </tr> 4416 <tr> 4417 <td colspan="2" style="vertical-align:middle;text-align:right;" ng-if="submission.status == 4"> 4418 <button ng-cloak type="button" class="btn btn-primary" ng-click="amendForm(submission.submissionId)">Amend</button> 4419 </td> 4420 </tr> 4421 </tbody> 4422 </table> 4423 </div> 4424 4425 <div class="card p-0 mb-4"> 4426 <table class="table mb-0"> 4427 <thead class=""> 4428 <tr> 4429 <th colspan="2" class="bg-light text-dark" 4430 style="border-top-left-radius: 0.25rem;border-top-right-radius: 0.25rem;"> 4431 <div class="d-flex align-items-center"> 4432 <h4 class="mb-0">Attachments</h4> 4433 </div> 4434 </th> 4435 </tr> 4436 </thead> 4437 <tbody> 4438 <tr ng-repeat="attachment in attachments"> 4439 <td style="vertical-align:middle;max-width: 40%;"> 4440 <a href="/File/Get/{{attachment.uploadedFileId}}" target="_blank">{{attachment.name}}</a><br /> 4441 <span class="text-muted"><small>{{attachment.timestamp}}</small></span> 4442 </td> 4443 <td style="vertical-align:middle;text-align:right;max-width: 60%;"><span class="float-right"><a href="/File/Get/{{attachment.uploadedFileId}}" target="_blank" class="ml-2">download</a></span></td> 4444 </tr> 4445 <tr ng-if="!attachments.length"> 4446 <td colspan="2" style="vertical-align:middle;">This ticket has no attachments.</td> 4447 </tr> 4448 </tbody> 4449 </table> 4450 </div> 4451 </div> 4452 4453 <div class="col-md-8"> 4454 <div class="card p-0 mb-4"> 4455 <table class="table mb-0"> 4456 <thead class=""> 4457 <tr> 4458 <th class="bg-light text-dark" 4459 style="border-top-left-radius: 0.25rem;border-top-right-radius: 0.25rem;"> 4460 <div class="d-flex align-items-center"> 4461 <h4 class="mb-0">Ticket Comments</h4> 4462 </div> 4463 </th> 4464 </tr> 4465 </thead> 4466 <tbody class="newTicketCommentContainer"> 4467 <tr class="ticketComment" ng-repeat="comment in comments" style="{{comment.adminOnly ? 'background-color: #eeeeee;' : '' }}"> 4468 <td> 4469 <div class="d-flex align-items-center justify-content-start"> 4470 <div class="inline avatarCircle"> 4471 <div class="md-avatar pr-ron size-1 rounded-circle" style="background-image: url({{comment.avatar}})"></div> 4472 </div> 4473 <div class="ml-3"> 4474 <p class="mb-0"><b>{{comment.firstName}} {{comment.lastName}} <span ng-cloak ng-if="comment.adminComment"> - Admin</span></b> <small ng-cloak ng-if="comment.adminOnly"><i>This comment is viewable by admin only</i></small></p> 4475 <div class="text-subtle"><small>{{comment.created}}</small></div> 4476 </div> 4477 </div> 4478 4479 <div class="replyBubble newTicketCommentsParagraph mt-1" style="width: 100%;"> 4480 4481 <div class="d-block w-100"> 4482 <p class="angularJsNewLine mb-0">{{comment.message}}</p> 4483 </div> 4484 4485 <div> 4486 <sp
4486an ng-repeat="attachment in comment.attachments"><a href="/File/Get/{{attachment.uploadedFileId}}" target="_blank"> {{attachment.name}}</a><br /></span> 4487 </div> 4488 </div> 4489 </div> 4490 </td> 4491 </tr> 4492 <tr> 4493 <td> 4494 <div class="replyContainer d-flex align-items-start"> 4495 <div class=""> 4496 <div class="inline avatarCircle"> 4497 <div class="md-avatar size-1 rounded-circle" style="background-image: url({{currentUser.avatar}})"></div> 4498 </div> 4499 </div> 4500 <div class="replyBubble" style="width: 100%;"> 4501 <div class="ml-3"> 4502 <p class="mb-0"><b>{{currentUser.firstName}} {{currentUser.lastName}}</b></p> 4503 </div> 4504 <div class="ml-3 mt-2"> 4505 <textarea class="form-control" rows="4" ng-model="comment" ng-class="{'manualinvalid': !comment.length && validationRan}"></textarea> 4506 </div> 4507 <div class="ml-3 mt-3"> 4508 <button ng-cloak type="button" class="btn btn-success btn-sm" ng-click="addComment()">Add Comment</button> 4509 <button ng-cloak type="button" class="btn btn-primary btn-sm" ng-if="submission.status == 4" ng-click="resubmit()">Resubmit</button> 4510 <button type="button" class="btn btn-outline-dark btn-sm" data-dismiss="modal" aria-label="Close" ng-click="$dismiss()"> 4511 Cancel 4512 </button> 4513 4514 <a class="" href="javascript:void(0)" ng-click="triggerUpload()" role="button" aria-expanded="false" 4515 aria-controls="attachmentCollapse1">include attachments <i class="fas fa-paperclip mr-2"></i></a> 4516 </div> 4517 <div style="display: hidden;"> 4518 <input type="hidden" style="display: hidden;" name="fileId" /> 4519 <label class="custom-file-label custom-hidden-upload-label-public custom-hidden-upload-label custom-hidden-upload-button customMultipleUpload" ng-init="initMultipleUpload()" for="customFile" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUploadCustomMultiple(response)" on-error="errorFileUpload(response)">Choose file</label> 4520 </div> 4521 <div class="postAttachments mt-3" ng-if="uploads.length"> 4522 <a class="" data-toggle="collapse" href="javascript:void(0)" ng-click="triggerAccordion('createCommentMod
4522al')" role="button" aria-expanded="false" 4523 aria-controls="attachmentCollapse1"><i class="fas fa-paperclip mr-2"></i> view {{uploads.length}} attachments</a> 4524 <div class="collapse attachmentCollapse" id="attachmentCollapse1" data-item="createCommentModal"> 4525 <div style="margin-top: 15px;"> 4526 <span ng-repeat="attachment in uploads"><a href="javascript:void(0)" class="ml-2" ng-click="removeFormFile($index);"><i class="fas fa-times"></i></a> {{attachment.name}}<br /></span> 4527 </div> 4528 </div> 4529 </div> 4530 4531 </div> 4532 </div> 4533 </td> 4534 </tr> 4535 </tbody> 4536 </table> 4537 </div> 4538 </div> 4539 </div> 4540 </div> 4541 </div> 4542 </script>
4542 4543 <!-- End View Ticket Full Modal --> 4544 4545 </div> 4546 4547 </div> 4548 <div class="stickyBottomNav" ng-if="hasNewsfeed"> 4549 <div class="newsfeedSubjectFilter" ng-if="newsfeedWidget.enableSubjects && newsfeedWidget.subjects && newsfeedWidget.subjects.length >= 2"> 4550 <div class="filterContent m-auto"> 4551 <label class="mb-0 mr-2">Filter Newsfeed Subjects</label> 4552 <select id="filterSubjectMultiselect" multiple="multiple" select2-simple-multiselect class="filterSubjectMultiselect" ng-model="subjectFilter.selections" ng-change="updateNewsfeedFilters()"> 4553 <option ng-value="subject.subjectId" ng-repeat="subject in newsfeedWidget.subjects">{{subject.subjectName}}</option> 4554 </select> 4555 </div> 4556 </div> 4557 <div class="bottomNavContent d-flex align-items-center justify-content-between m-auto"> 4558 <a href="javascript:void(0)" style="text-align: center!important;" class="flex-fill" ng-class="{'activeLink': newsfeedFilter == 'all'}" ng-click="setNewsfeedFilter('all')"> 4559 <span class="menuIcon"> 4560 <i class="far fa-newspaper"></i> 4561 </span> All Posts 4562 </a> 4563 <a href="javascript:void(0)" style="text-align: center!important;" class="flex-fill" ng-class="{'activeLink': newsfeedFilter == 'pinned'}" ng-click="setNewsfeedFilter('pinned')"><span class="menuIcon"><i class="fas fa-thumbtack"></i></span> Pinned Posts</a> 4564 <a href="javascript:void(0)" ng-if="isMember" style="text-align: center!important;" class="flex-fill" ng-class="{'activeLink': newsfeedFilter == 'mine'}" ng-click="setNewsfeedFilter('mine')"><span class="menuIcon"><i class="fas fa-user"></i></span> My Posts</a> 4565 <a href="javascript:void(0)" ng-if="!isBlocked && isMember" style="text-align: center!important;" class="flex-fill" ng-click="editNewsfeed(null)"> 4566 <span class="menuIcon"><i class="fas fa-plus"></i></span> 4567 Create 4568 </a> 4569 </div> 4570 </div> 4571 4572 <!-- END PAGE CONTENT --> 4573 <div id="footerSection" ng-init="adjustHeight();triggerParallax(section);" class="sectionRowContainer footerSection {{sectionBackgroundTextColor(section)}}" style="{{sectionBackgroundImage(section)}} {{sectionStyles(section)}} {{sectionFont(section)}}" ng-repeat="section in currentPage.sections" ng-if="section.sectionType == 4" data-section="{{section.sectionId}}" ng-class="{'parallaxsupport': section.backgroundImageId != null && section.backgroundType == 2 && section.backgroundParallax == true, 'customBg1': section.backgroundType == 1 && section.backgroundColor == 1, 'customBg2': section.backgroundType == 1 && section.backgroundColor == 2, 'customBg3': section.backgroundType == 1 && section.backgroundColor == 3, 'customBg4': section.backgroundType == 1 && section.backgroundColor == 4, 'customBg5': section.backgroundType == 1 && section.backgroundColor == 5, 'customBg6': section.backgroundType == 1 && section.backgroundColor == 6, 'customBg7': section.backgroundType == 1 && section.backgroundColor == 7, 'customText1': section.fontColor == 1, 'customText2': section.fontColor == 2, 'customText3': section.fontColor == 3, 'customText4': section.fontColor == 4, 'customText5': section.fontColor == 5, 'customText6': section.fontColor == 6, 'customText7': section.fontColor == 7, 'customBorderTop1': section.borderTopColor == 1, 'customBorderTop2': section.borderTopColor == 2, 'customBorderTop3': section.borderTopColor == 3, 'customBorderTop4': section.borderTopColor == 4, 'customBorderTop5': section.borderTopColor == 5, 'customBorderTop6': section.borderTopColor == 6, 'customBorderTop7': section.borderTopColor == 7, 'customBorderBottom1': section.borderBottomColor == 1, 'customBorderBottom2': section.borderBottomColor == 2, 'customBorderBottom3': section.borderBottomColor == 3, 'customBorderBottom4': section.borderBottomColor == 4, 'customBorderBottom5': section.borderBottomColor == 5, 'customBorderBottom6': section.borderBottomColor == 6, 'customBorderBottom7': section.borderBottomColor == 7, 'customBorderTop1': section.borderTopColor == 1, 'customBorderTop2': section.borderTopColor == 2, 'customBorderTop3': section.borderTopColor == 3, 'customBorderTop4': section.borderTopColor == 4, 'customBorderTop5': section.borderTopColor == 5, 'customBorderTop6': section.borderTopColor == 6, 'customBorderTop7': section.borderTopColor == 7, 'customBorderBottom1': section.borderBottomColor == 1, 'customBorderBottom2': section.borderBottomColor == 2, 'customBorderBottom3': section.borderBottomColor == 3, 'customBorderBottom4': section.borderBottomColor == 4, 'customBorderBottom5': section.borderBottomColor == 5, 'customBorderBottom6': section.borderBottomColor == 6, 'customBorderBottom7': section.borderBottomColor == 7}"> 4574 <div class="builderGridRow"> 4575 <div class="gridBlock populatedBlock footerRow" style="background: transparent; {{(section.maxWidth != 0 && section.maxWidth != null) ? 'max-width: '+section.maxWidth+'px; margin: 0 auto;' : '' }}"> 4576 <div class="footerBlock"> 4577 <div class="footerLeft">
4578 <span>{{sitedata.copyrightText}}</span> 4579 <span class="footerDivide mx-1">|</span> 4580 Site Provided by 4581 <a rel="nofollow" href="{{(sitedata.brand == 'membershine') ? 'https://membershine.com/' : 'https://hoastart.com/' }}" target="_BLANK">{{(sitedata.brand == 'membershine') ? 'Membershine' : 'HOA Start' }}</a> 4582 <span class="footerDivide mx-1">|</span> 4583 <a class="footerLink" rel="nofollow" href="{{privacyPolicyLink}}" target="_blank">Privacy Policy</a> 4584 <span ng-if="isMember && (isAdmin || isSubAdmin)" ng-cloak> 4585 | 4586 <a href="javascript:void(0)" ng-if="!sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 4587 <a href="javascript:void(0)" ng-if="sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/dashboard')">Admin Dashboard</a> 4588 </span> 4589 <span ng-if="isMember && sitedata.isCommitteeLeader" ng-cloak> 4590 | 4591 <a href="javascript:void(0)" ng-if="!sitedata.useCustomDashboard" ng-cloak ng-click="setUrl('/#!/'+sitedata.siteSlug+'/committees')">My Committees</a> 4592 <a href="javascript:void(0)" ng-if="sitedata.useCustomDashboard" ng-cloak ng-click="setUrl(sitedata.dashboardUrl+'/admin-dashboard/#!/'+sitedata.siteSlug+'/committees')">My Committees</a> 4593 </span> 4594 <span ng-cloak ng-if="sitedata.isMobileDashboardEnabled"> 4595 | 4596 <a ng-if="sitedata.isMobileDashboardEnabled" href="javascript:void(0)" ng-click="transferToMemberPortal()">Member Portal</a> 4597 </span> 4598 </div> 4599 <div class="footerRight"> 4600 <div class="text-right"> 4601 <a href="{{sitedata.facebookUrl}}" target="_BLANK" ng-if="sitedata.facebookUrl"><i class="fab fa-facebook-f mr-2"></i></a> 4602 <a href="{{sitedata.twitterUrl}}" target="_BLANK" ng-if="sitedata.twitterUrl"><i class="fab fa-twitter mr-2"></i></a> 4603 <a href="{{sitedata.instagramUrl}}" target="_BLANK" ng-if="sitedata.instagramUrl"><i class="fab fa-instagram mr-2"></i></a> 4604 <a href="{{sitedata.linkedinUrl}}" target="_BLANK" ng-if="sitedata.linkedinUrl"><i class="fab fa-linkedin-in mr-2"></i></a> 4605 </div> 4606 </div> 4607 </div> 4608 </div> 4609 </div> 4610 </div> 4611 </div> 4612 </div> 4613 </div> 4614 </section> 4615 </div> 4616 4617 4618 4619 4620 4621 4622 4623 <!-- Start Public Login/Register Modal --> 4624
4624<script type="text/ng-template" id="login-reset-modal"> 4625 4626 <div class="modal-body p-0" ng-switch="section"> 4627 <!-- Login --> 4628 <div id="login" class="portalStep card p-5" ng-switch-when="login"> 4629 <div> 4630 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 4631 <span aria-hidden="true">×</span> 4632 </button> 4633 </div> 4634 <div> 4635 <div class="text-center mb-4"> 4636 <img ng-src="{{imageSrc(logoId)}}" ng-if="logoId"> 4637 <h1 ng-if="!logoId">{{siteName}}</h1> 4638 </div> 4639 <h2 class="mb-4 text-center">Log In</h2> 4640 4641 <form name="loginForm" ng-class="{'was-validated': loginValidationRan}"> 4642 <fieldset class="form-group"> 4643 <label>Email address<span class="text-danger">*</span></label> 4644 <input type="email" pattern=".{1,}@[-_a-z0-9A-Z]+(\.[a-z0-9A-Z]+)+" class="form-control" placeholder="Email Address" ng-required="true" ng-model="loginDetails.username"> 4645 <div class="invalid-feedback"> 4646 Please provide a valid email address. 4647 </div> 4648 4649 </fieldset> 4650 <fieldset class="form-group"> 4651 <label>Password<span class="text-danger">*</span> <a ng-click="tempShowPassword()"><span ng-if="!showPassword"><i class="far fa-eye"></i></span><span ng-if="showPassword"><i class="far fa-eye-slash"></i></span></a></label> 4652 <input type="{{(showPassword ? 'text' : 'password')}}" class="form-control" placeholder="Password" ng-required="true" ng-model="loginDetails.password"> 4653 <div class="invalid-feedback"> 4654 Please provide your password. 4655 </div> 4656 </fieldset> 4657 <!--<div class="form-check" style="line-height:1.2;"> 4658 <input class="form-check-input" type="checkbox" value="" id="rememberMe"> 4659 <label class="form-check-label" for="rememberMe"> 4660 Remember Me 4661 </label> 4662 </div>--> 4663 <fieldset class="mt-4"> 4664 <button type="submit" class="btn btn-block btn-primary login-btn" ng-click="doLogin(loginForm);"> 4665 LOG 4666 IN 4667 </button> 4668 </fieldset> 4669 </form> 4670 <sub class="text-danger">* Required Information</sub> 4671 4672 <div class="login-links text-center mt-3"> 4673 <a class="" id="forgot-password-link" href="javascript:void(0)" ng-click="setSection('reset1')">Forgot your password?</a> 4674 </div> 4675 <div class="login-links mt-4 text-center" ng-if="sitedata.allowRegistrations"> 4676 <a id="create-back-link" href="javascript:void(0)" ng-click="setSection('create1')">Don't have an account? Create one here.</a> 4677 </div> 4678 </div> 4679 </div> 4680 <!-- Create Account 1 --> 4681 <div id="create" class="portalStep card p-5" ng-switch-when="create1"> 4682 <div> 4683 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 4684 <span aria-hidden="true">×</span> 4685 </button> 4686 4687 </div> 4688 4689 <div> 4690 <div class="text-center mb-4"> 4691 <img ng-src="{{imageSrc(logoId)}}" ng-if="logoId"> 4692 <h1 ng-if="!logoId">{{siteName}}</h1> 4693 </div> 4694 <h2 class="mb-0 text-center">Create Account</h2> 4695 <p class="mb-4 createStep">step 1 of {{(questions.length) ? '3' : '2'}}</p> 4696 <form name="createAccountForm1" ng-class="{'was-validated': submitAttempt1}"> 4697 <div class="form-row"> 4698 <div class="col-md-6 mb-2"> 4699 <label>Your First Name<span class="text-danger">*</span></label> 4700 <input type="text" class="form-control" id="firstName" placeholder="First Name" ng-model="newAccount.firstName" ng-required="true"> 4701 <div class="invalid-feedback"> 4702 Please enter your first name 4703 </div> 4704 </div> 4705 <div class="col-md-6 mb-2"> 4706 <label>Your Last Name<span class="text-danger">*</span></label> 4707 <input type="text" class="form-control" id="lastName" placeholder="Last Name" ng-model="newAccount.lastName" ng-required="true"> 4708 <div class="invalid-feedback"> 4709 Please enter your last name 4710 </div> 4711 4712 </div> 4713 </div> 4714 <div class="form-row"> 4715 <div class="col mb-2"> 4716 <label>Your Email<span class="text-danger">*</span></label> 4717 <input type="email" pattern=".{1,}@[-_a-z0-9A-Z]+(\.[a-z0-9A-Z]+)+" class="form-control" id="email" placeholder="Email" ng-model="newAccount.emailAddress" ng-required="true"> 4718 <div class="invalid-feedback"> 4719 Please enter your email address 4720 </div> 4721 4722 </div> 4723 </div> 4724 </form> 4725 4726 <div class="form-row"> 4727 <div class="col mb-2"> 4728 <label>Your Phone Number</label> 4729 <input type="text" maxlength="12" class="form-control" id="phone" placeholder="Phone Number" ng-model="newAccount.phone"> 4730 </div> 4731 </div> 4732 4733 <fieldset class="mt-4"> 4734 <button type="button" id="createNext" class="btn btn-block btn-primary login-btn" ng-click="checkStep1(createAccountForm1)">NEXT STEP <i class="fas fa-arrow-right"></i></button> 4735 </fieldset> 4736 <sub class="text-danger">* Required Information</sub> 4737 <div class="login-links mt-4 text-center"> 4738 <a class="login-back-link" id="login-back-link" href="javascript:void(0)" ng-click="setSection('login')"> 4739 Already have an account? 4740 Log in here. 4741 </a> 4742 </div> 4743 </div> 4744 </div> 4745 <!-- Create Account 2 --> 4746 <div id="create2" class="portalStep card p-5" ng-switch-when="create2"> 4747 <div> 4748 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close">
4749 <span aria-hidden="true">×</span> 4750 </button> 4751 4752 </div> 4753 4754 <div> 4755 <div class="text-center mb-4"> 4756 <img ng-src="{{imageSrc(logoId)}}" ng-if="logoId"> 4757 <h1 ng-if="!logoId">{{siteName}}</h1> 4758 </div> 4759 <h2 class="mb-0 text-center">Create Account</h2> 4760 <p class="mb-4 createStep">step 2 of {{(questions.length) ? '3' : '2'}}</p> 4761 <form name="createAccountForm2" ng-class="{'was-validated': submitAttempt2}"> 4762 <div class="form-row" ng-if="countries"> 4763 <div class="col mb-2"> 4764 <label for="addressState"> 4765 Country 4766 <span class="text-danger">*</span> 4767 </label> 4768 <a class="globalTooltip" data-toggle="popover" title="Country" data-content="Select the country of your address from the dropdown menu."><i class="fas fa-question-circle"></i></a> 4769 <select class="form-control" style="width: 100%;" ng-model="newAccount.country"> 4770 <option disabled ng-value="null">Choose A Country</option> 4771 <option ng-repeat="country in countries" ng-value="country.identifier">{{country.name}}</option> 4772 </select> 4773 </div> 4774 </div> 4775 <div class="form-row"> 4776 <div class="col mb-2"> 4777 <label>Your Address<span class="text-danger">*</span></label> 4778 <input type="text" class="form-control" id="email" placeholder="Address" ng-model="newAccount.address1" ng-required="true"> 4779 <div class="invalid-feedback"> 4780 Please enter your address 4781 </div> 4782 4783 </div> 4784 </div> 4785 <div class="form-row"> 4786 <div class="col mb-2"> 4787 <label>Your Address Line 2</label> 4788 <input type="text" class="form-control" id="email" placeholder="Address" ng-model="newAccount.address2"> 4789 </div> 4790 </div> 4791 <div class="form-row" ng-if="newAccount.country == 1"> 4792 <div class="col-md-4 mb-2"> 4793 <label>Your City<span class="text-danger">*</span></label> 4794 <input type="text" class="form-control" id="city" placeholder="City" ng-model="newAccount.city" ng-required="true"> 4795 <div class="invalid-feedback"> 4796 Please enter your city 4797 </div> 4798 4799 </div> 4800 <div class="col-md-5 mb-2"> 4801 <label>Your State<span class="text-danger">*</span></label> 4802 <select class="form-control" style="width: 100%;" ng-model="newAccount.state" ng-class="{'customvalid' : newAccount.state != null && submitAttempt2, 'custominvalid' : newAccount.state == null && submitAttempt2 }"> 4803 <option ng-value="null">Choose A State</option> 4804 <option ng-repeat="state in states" ng-value="state.stateId">{{state.name}}</option> 4805 </select> 4806 <div class="invalid-feedback"> 4807 Please select your state 4808 </div> 4809 4810 </div> 4811 <div class="col-md-3 mb-2"> 4812 <label>
4812Your Zip<span class="text-danger">*</span></label> 4813 <input type="text" class="form-control" id="zip" placeholder="Zip" minlength="5" maxlength="5" ng-model="newAccount.zip" ng-required="true"> 4814 <div class="invalid-feedback"> 4815 Please enter your zip 4816 </div> 4817 4818 </div> 4819 </div> 4820 <div class="form-row" ng-if="newAccount.country != 1"> 4821 <div class="col-md-4 mb-2"> 4822 <label>Your City<span class="text-danger">*</span></label> 4823 <input type="text" class="form-control" id="city" placeholder="City" ng-model="newAccount.city" ng-required="true"> 4824 <div class="invalid-feedback"> 4825 Please enter your city 4826 </div> 4827 </div> 4828 <div class="form-group col-md-4"> 4829 <label for="state">State/Province/Region <a class="globalTooltip" data-toggle="popover" title="State/Province/Region" data-content="Enter the State/Province/Region of the vendor's address." data-original-title="State"><i class="fas fa-question-circle"></i></a></label> 4830 <input type="text" class="form-control" id="internationalState" placeholder="State/Province/Region" ng-model="newAccount.internationalState"> 4831 </div> 4832 <div class="form-group col-md-4"> 4833 <label for="zip">Zip/Postal Code <a class="globalTooltip" data-toggle="popover" title="ZIP/Postal Code" data-content="Enter the ZIP/Postal Code of the vendor's address." data-original-title="Zip"><i class="fas fa-question-circle"></i></a></label> 4834 <input type="text" class="form-control" id="zip" placeholder="Zip" ng-model="newAccount.internationalZip"> 4835 </div> 4836 </div> 4837 <div class="form-row mt-3"> 4838 <div class="col-12"> 4839 <div class="form-check form-check-inline"> 4840 <input class="form-check-input" type="checkbox" id="termsAgree" value="option1" ng-required="true" ng-model="newAccount.acceptedTerms"> 4841 <label class="form-check-label" for="termsAgree"> 4842 I agree to the <a href="{{termsOfService}}" target="_BLANK"> 4843 terms and 4844 conditions 4845 </a> 4846 </label> 4847 <div class="invalid-feedback"> 4848 You must accept the terms and conditions 4849 </div> 4850 4851 </div> 4852 </div> 4853 </div> 4854 <fieldset class="mt-4"> 4855 4856 <button ng-if="questions.length" type="button" id="createNext" class="btn btn-block btn-primary login-btn" ng-click="checkStep2(createAccountForm2)">NEXT STEP <i class="fas fa-arrow-right"></i></button> 4857 <button ng-if="!questions.length" type="button" class="btn btn-block btn-primary login-btn" ng-click="doCreateAccount(createAccountForm2)" ng-init="load()"> 4858 CREATE 4859 ACCOUNT 4860 </button> 4861 </fieldset> 4862 </form> 4863 4864 <div class="login-links mt-4 text-center"> 4865 <a class="login-back-link" id="login-back-link" href="javascript:void(0)" ng-click="setSection('create1')">Back to Step 1</a> 4866 </div> 4867 </div> 4868 </div> 4869 4870 <div id="create3" class="portalStep card p-5" ng-switch-when="create3"> 4871 4872 <div> 4873 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close">
4874 <span aria-hidden="true">×</span> 4875 </button> 4876 4877 </div> 4878 4879 <div> 4880 <div class="text-center mb-4"> 4881 <img ng-src="{{imageSrc(logoId)}}" ng-if="logoId"> 4882 <h1 ng-if="!logoId">{{siteName}}</h1> 4883 </div> 4884 <h2 class="mb-0 text-center">Create Account</h2> 4885 <p class="mb-4 createStep">step 3 of {{(questions.length) ? '3' : '2'}}</p> 4886 <form name="createAccountForm3" ng-class="{'was-validated': submitAttempt2}"> 4887 4888 <div class="form-row"> 4889 <div class="form-group col-md-6 customFieldGroup" ng-repeat="field in questions"> 4890 <label for="custom1">{{field.name}}<span ng-cloak ng-if="field.required" class="text-danger">*</span></label> 4891 <input type="text" class="form-control customFormItem" id="custom1" ng-attr-data-id="{{field.detailId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required" ng-if="field.detailControlType == 1"> 4892 <textarea class="form-control customFormItem" id="custom1" ng-attr-data-id="{{field.detailId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" ng-required="field.required" value="" ng-if="field.detailControlType == 6"></textarea> 4893 4894 <select class="form-control customFormItem" name="{{field.name}}" ng-required="field.required" ng-attr-data-id="{{field.detailId}}" ng-if="field.detailControlType == 2"> 4895 <option>Select</option> 4896 <option ng-repeat="option in field.options" value="{{option.name}}">{{option.name}}</option> 4897 </select> 4898 4899 <div ng-if="field.detailControlType == 3" class="checkboxGroup" data-required="{{field.required}}"> 4900 <div class="form-check" ng-repeat="option in field.options"> 4901 <input class="form-check-input customFormCheckbox" type="checkbox" name="exampleCheckboxes{{$parent.$index}}-{{$index}}" id="exampleCheckboxes{{$parent.$index}}-{{$index}}" ng-value="option.detailId+'|'+option.name"> 4902 <label class="form-check-label" for="exampleCheckboxes{{$parent.$index}}-{{$index}}"> 4903 {{option.name}} 4904 </label> 4905 </div> 4906 </div> 4907 <div ng-if="field.detailControlType == 4" class="radioGroup"> 4908 <div class="form-check" ng-repeat="option in field.options"> 4909 <input class="form-check-input customFormRadio" type="radio" name="exampleRadios{{$parent.$index}}" id="exampleRadios{{$parent.$index}}-{{$index}}" ng-value="option.detailId+'|'+option.name" ng-required="$parent.field.required"> 4910 <label class="form-check-label" for="exampleRadios{{$parent.$index}}"> 4911 {{option.name}} 4912 </label> 4913 </div> 4914 </div> 4915 4916 <div class="custom-file d-block" style="font-size:12px;" ng-if="field.detailControlType == 8"> 4917 <input type="hidden" style="display: hidden;" name="fileId" /> 4918 <label class="custom-file-label custom-hidden-upload-label customMultipleUpload" ng-class="{'customvalid' : widget.submitAttempt && (!field.required || field.attachments.length), 'custominvalid' : widget.submitAttempt && (field.required && !field.attachments.length) }" ng-init="initMultipleUpload()" for="customFile" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUploadCustomMultiple(response, field)" on-error="errorFileUpload(response)">Choose file</label> 4919 </div> 4920 4921 <div class="postAttachments mt-3" ng-if="field.attachments.length"> 4922 <a class="" data-toggle="collapse" href="javascript:void(0)" ng-click="triggerAccordion(field.detailId)" role="button" aria-expanded="false" 4923 aria-controls="attachmentCollapse1"><i class="fas fa-paperclip mr-2"></i> view {{field.attachments.length}} attachments</a> 4924 <div class="collapse attachmentCollapse" id="attachmentCollapse1" data-item="{{field.detailId}}"> 4925 <div style="margin-top: 15px;">
4926 <span ng-repeat="attachment in field.attachments"><a href="javascript:void(0)" class="ml-2" ng-click="removeFormFile($index, field);"><i class="fas fa-times"></i></a> {{attachment.name}}</span> 4927 </div> 4928 </div> 4929 </div> 4930 4931 <div ng-if="field.detailControlType == 9" class="input-group mb-3"> 4932 <input type="text" class="form-control customFormItem formDatePickerField" ng-class="'datePicker'+field.detailId" ng-init="initMobiscrollDatePicker('.datePicker'+field.detailId)" value="" ng-attr-data-id="{{field.detailId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" ng-required="field.required"> 4933 <div class="input-group-append"> 4934 <button class="btn btn-outline-secondary btn-append" id="button-addon2" ng-click="clearSingleFormField('.datePicker'+field.detailId)">Clear</button> 4935 </div> 4936 <div class="custom-feedback" ng-attr-data-id-feedback="{{field.detailId}}" style="display: none;"> 4937 This field is required. 4938 </div> 4939 </div> 4940 <div class="custom-feedback" ng-attr-data-id-feedback="{{field.detailId}}" ng-if="field.incorrectMinMax"> 4941 <span>This field has a minimum selection of {{field.min}} selections. </span> 4942 <span>This field has a maximum selection of {{field.max}} selections.</span> 4943 </div> 4944 4945 </div> 4946 </div> 4947 <fieldset class="mt-4"> 4948 <button ng-if="questions.length" type="button" class="btn btn-block btn-primary login-btn" ng-click="checkStep3(createAccountForm3)" ng-init="load()"> 4949 CREATE 4950 ACCOUNT 4951 </button> 4952 </fieldset> 4953 </form> 4954 4955 <div class="login-links mt-4 text-center"> 4956 <a class="login-back-link" id="login-back-link" href="javascript:void(0)" ng-click="setSection('create2')">Back to Step 2</a> 4957 </div> 4958 </div> 4959 </div> 4960 4961 <!-- Reset Password --> 4962 <div id="reset-password" class="portalStep card p-5" ng-switch-when="reset1"> 4963 <div> 4964 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 4965 <span aria-hidden="true">×</span> 4966 </button> 4967 4968 </div> 4969 4970 <div> 4971 <div class="text-center mb-4"> 4972 <img ng-src="{{imageSrc(logoId)}}" ng-if="logoId"> 4973 <h1 ng-if="!logoId">{{siteName}}</h1> 4974 </div> 4975 <div class="text-center"> 4976 <h2>Reset Password</h2> 4977 <p class="py-3">Enter your email address below and a reset link will be sent to you.</p> 4978 </div> 4979 <form name="resetForm"> 4980 <fieldset class="form-group"> 4981 <input type="email" pattern=".{1,}@[-_a-z0-9A-Z]+(\.[a-z0-9A-Z]+)+" class="form-control" placeholder="Email Address" ng-required="true" ng-model="loginDetails.username"> 4982 </fieldset> 4983 <fieldset class="mt-4"> 4984 <button type="submit" class="btn btn-block btn-primary login-btn" ng-click="doResetPassword(resetForm)"> 4985 SEND RESET 4986 LINK 4987 </button> 4988 </fieldset> 4989 </form> 4990 <div class="login-links mt-4 text-center"> 4991 <a class="login-back-link" href="javascript:void(0)" ng-click="setSection('login')"> 4992 <i class="far fa-arrow-left"></i> back to 4993 login 4994 </a> 4995 </div> 4996 </div> 4997 </div> 4998 <!-- Create Messaging --> 4999 <div id="reset-password-msg" class="portalStep card p-5" ng-switch-when="createsuccess"> 5000 <div> 5001 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close">
5002 <span aria-hidden="true">×</span> 5003 </button> 5004 5005 </div> 5006 5007 <div> 5008 <div class="text-center mb-4"> 5009 <img ng-src="{{imageSrc(logoId)}}" ng-if="logoId"> 5010 <h1 ng-if="!logoId">{{siteName}}</h1> 5011 </div> 5012 <div class="text-center"> 5013 <h2>Success</h2> 5014 <p class="py-3">Thank you for registering. You will receive an email regarding your registration status.</p> 5015 </div> 5016 <div class="login-links mt-4 text-center"> 5017 <a class="login-back-link" href="javascript:void(0)" ng-click="setSection('login')"> 5018 <i class="far fa-arrow-left"></i> back to 5019 login 5020 </a> 5021 </div> 5022 <div class="login-links mt-4 text-center"> 5023 <a class="login-back-link" href="javascript:void(0)" ng-click="emailMessage();"> 5024 Didn't receive an email? 5025 </a> 5026 </div> 5027 5028 </div> 5029 </div> 5030 <!-- Reset Messaging --> 5031 <div id="reset-password-msg" class="portalStep card p-5" ng-switch-when="resetsuccess"> 5032 <div> 5033 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 5034 <span aria-hidden="true">×</span> 5035 </button> 5036 5037 </div> 5038 5039 <div> 5040 <div class="text-center mb-4"> 5041 <img ng-src="{{imageSrc(logoId)}}" ng-if="logoId"> 5042 <h1 ng-if="!logoId">{{siteName}}</h1> 5043 </div> 5044 <div class="text-center"> 5045 <h2>Success</h2> 5046 <p class="py-3">If this email address exists in our system then you will receive an email, otherwise you will need to register to this site.</p> 5047 </div> 5048 <div class="login-links mt-4 text-center"> 5049 <a class="login-back-link" href="javascript:void(0)" ng-click="setSection('login')"> 5050 <i class="far fa-arrow-left"></i> back to 5051 login 5052 </a> 5053 </div> 5054 <div class="login-links mt-4 text-center"> 5055 <a class="login-back-link" href="javascript:void(0)" ng-click="emailMessage();"> 5056 Didn't receive an email? 5057 </a> 5058 </div> 5059 5060 </div> 5061 </div> 5062 <!-- New Password --> 5063 <div id="new-password" class="portalStep card p-5" ng-switch-when="reset2"> 5064 <div> 5065 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 5066 <span aria-hidden="true">×</span> 5067 </button> 5068 5069 </div> 5070 5071 <div> 5072 <div class="text-center mb-4"> 5073 <img ng-src="{{imageSrc(logoId)}}" ng-if="logoId"> 5074 <h1 ng-if="!logoId">{{siteName}}</h1> 5075 </div> 5076 <div class="text-center"> 5077 <h2>Create New Password</h2> 5078 <p class="py-3">Enter a new password</p> 5079 </div> 5080 <form> 5081 <fieldset class="form-group"> 5082 <input type="email" class="form-control" placeholder="Password" required> 5083 </fieldset> 5084 <fieldset class="form-group"> 5085 <input type="email" class="form-control" placeholder="Confirm Password" required> 5086 </fieldset> 5087 <fieldset class="mt-4"> 5088 <button type="button" class="btn btn-block btn-primary login-btn"> 5089 SET 5090 PASSWORD 5091 </button> 5092 </fieldset> 5093 </form> 5094 </div> 5095 </div> 5096 </div> 5097 </script>
5097 5098 <!-- End Public Login/Register Modal --> 5099 <!-- Start Members Modal --> 5100
5100<script type="text/ng-template" id="committee-members-modal"> 5101 <div class="modal-header"> 5102 <h5 class="modal-title">Committee Members</h5> 5103 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 5104 <span aria-hidden="true">×</span> 5105 </button> 5106 </div> 5107 <div class="modal-body"> 5108 <div class="table-responsive" ng-if="committee.memberList"> 5109 <table class="table"> 5110 <tbody> 5111 <tr ng-repeat="member in committee.memberList"> 5112 <th>{{member.firstName}} {{member.lastName}}</th> 5113 <td>{{(member.isLeader) ? "Leader": ""}}{{(member.isLeader && member.titles) ? ", " : "" }}{{member.titles}}</td> 5114 <td><a ng-if="member.emailAddress" href="mailto:{{member.emailAddress}}">{{member.emailAddress}}</a></td> 5115 </tr> 5116 </tbody> 5117 </table> 5118 </div> 5119 5120 <div class="p-2 border-bottom" ng-if="!committee.memberList"> 5121 This Committee has no members. 5122 </div> 5123 5124 5125 <div class="text-right mt-4"> 5126 <button type="button" class="btn btn-cancel m-100 btn-rounded" ng-click="$dismiss()">Close</button> 5127 </div> 5128 </div> 5129 </script>
5129 5130 <!-- End Members Modal --> 5131 <!-- Start View Member Households Modal --> 5132
5132<script type="text/ng-template" id="view-member-households-modal"> 5133 <div class="modal-header"> 5134 <h5 class="modal-title">My Households</h5> 5135 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 5136 <span aria-hidden="true">×</span> 5137 </button> 5138 </div> 5139 <div class="modal-body"> 5140 5141 <div class="accordion" id="accordionSettings"> 5142 <div class="card" ng-repeat="household in households"> 5143 <div class="card-header p-0" id="headingOne" style="background-color: #fff"> 5144 <h5 class="mb-0 householdsAccordionLabel"> 5145 <button class="btn btn-link w-100 text-left" type="button" data-toggle="collapse" 5146 data-target="#collapse{{$index}}" aria-expanded="true" aria-controls="collapse{{$index}}"> 5147 <i class="fas fa-caret-down mr-2"></i> {{household.address1}} - {{household.name}} 5148 </button> 5149 </h5> 5150 </div> 5151 5152 <div id="collapse{{$index}}" class="collapse" ng-class="{show: $index == 0}" aria-labelledby="headingOne" 5153 data-parent="#accordionSettings"> 5154 <div class="card-body"> 5155 <div class="mb-3"> 5156 <p><span class="householdTitleLabel">Access Type:</span> {{household.householdTypeName}}</p> 5157 </div> 5158 5159 <div class="border-top pt-3 pb-3"> 5160 <p class="householdTitleLabel mb-2">Household Members:</p> 5161 5162 <table style="width: 100%"> 5163 <tr ng-repeat="member in household.members"> 5164 <td class="pl-0 pt-0 no-border pb-1">{{member.firstName}} {{member.lastName}}</td> 5165 <td class="pl-0 pt-0 no-border pb-1"><a href="mailto:{{member.emailAddress}}">{{member.emailAddress}}</a></td> 5166 </tr> 5167 </table> 5168 5169 </div> 5170 <div class="border-top pt-3 pb-3" ng-cloak ng-if="household.allowDues"> 5171 <p class="householdTitleLabel mb-2">Recent Household Dues:</p> 5172 5173 <table class="table mb-0 mt-3 paymentHistoryTable noBorderTable"> 5174 <tbody> 5175 <tr ng-if="!household.recentDues.length"> 5176 <td class="p-0" style="vertical-align:middle;"> 5177 <span class="text-muted"><small></small>No history for this household</span> 5178 </td> 5179 </tr> 5180 <tr ng-if="household.recentDues.length"> 5181 <th class="p-0" style="vertical-align:middle;"> 5182 <span>Due Type</span> 5183 </th> 5184 <th class="p-0" style="vertical-align:middle;"> 5185 <span>Due Date</span> 5186 </th> 5187 <th class="p-0" style="vertical-align:middle;"> 5188 <span>Status</span> 5189 </th> 5190 <th class="p-0" style="vertical-align:middle;"> 5191 <span>Paid By</span> 5192 </th> 5193 </tr> 5194 <tr ng-repeat="due in household.recentDues" ng-if="household.recentDues.length && $index < 5"> 5195 <td class="p-0" style="vertical-align:middle;">
5196 <span>{{due.dueName}}</span> 5197 </td> 5198 <td class="p-0" style="vertical-align:middle;"> 5199 <span>{{due.timestampString}}</span> 5200 </td> 5201 <td class="p-0" style="vertical-align:middle;"> 5202 <span>{{(due.isPaid) ? "Paid" : "Open" }}</span> 5203 </td> 5204 <td class="p-0" style="vertical-align:middle;"> 5205 <span>{{ due.payerName }}</span> 5206 </td> 5207 </tr> 5208 </tbody> 5209 </table> 5210 </div> 5211 <div class="border-top pt-3 pb-3" ng-cloak ng-if="household.allowVoting"> 5212 <p class="householdTitleLabel mb-2">Recent Household Voting:</p> 5213 <table class="table mb-0 mt-3 paymentHistoryTable noBorderTable"> 5214 <tbody> 5215 <tr ng-if="!household.recentVotes.length"> 5216 <td class="p-0" style="vertical-align:middle;"> 5217 <span class="text-muted"><small></small>No history for this household</span> 5218 </td> 5219 </tr> 5220 <tr ng-if="household.recentVotes.length"> 5221 <th class="p-0" style="vertical-align:middle;"> 5222 <span>Survey</span> 5223 </th> 5224 <th class="p-0" style="vertical-align:middle;"> 5225 <span>Submission Date</span> 5226 </th> 5227 <th class="p-0" style="vertical-align:middle;"> 5228 <span>Voted By</span> 5229 </th> 5230 </tr> 5231 <tr ng-repeat="vote in household.recentVotes" ng-if="household.recentVotes.length && $index < 5"> 5232 <td class="p-0" style="vertical-align:middle;"> 5233 <span>{{vote.formName}}</span> 5234 </td> 5235 <td class="p-0" style="vertical-align:middle;"> 5236 <span>{{vote.timestampString}}</span> 5237 </td> 5238 <td class="p-0" style="vertical-align:middle;"> 5239 <span>{{ vote.voterName }}</span> 5240 </td> 5241 </tr> 5242 </tbody> 5243 </table> 5244 </div> 5245 </div> 5246 </div> 5247 </div> 5248 </div> 5249 <div class="text-right mt-4"> 5250 <button type="button" class="btn btn-cancel m-100 btn-rounded" ng-click="$dismiss()">Close</button> 5251 </div> 5252 </div> 5253 </script>
5253 5254 <!-- End View Member Households Modal --> 5255 <!-- Start View Amenity Modal --> 5256
5256<script type="text/ng-template" id="view-amenity-calendar-entry-modal"> 5257 <div class="modal-header border-0"> 5258 <h5 class="modal-title">{{amenity.name}}</h5> 5259 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 5260 <span aria-hidden="true">×</span> 5261 </button> 5262 </div> 5263 <div class="modal-body"> 5264 <div class="row"> 5265 <div class="col-12 text-left"> 5266 <div class="m-auto" ng-if="amenity.imageId"> 5267 <img class="amenity-img" src="/File/Get/{{amenity.imageId}}" style="max-width: 100%"> 5268 </div> 5269 <div class="mt-2"> 5270 <div class="mb-0" style="text-align: left;" ng-bind-html="trustedHtml(amenity.description)"> 5271 {{amenity.description}} 5272 </div> 5273 </div> 5274 <div class="mt-4"> 5275 <h6 class="font-weight-bold mb-0">{{amenity.dayOfWeek}} {{amenity.searchDate}} | <span ng-repeat="availability in amenity.dayAvailability"><span ng-if="$index > 0 && $index != amenity.dayAvailability.length -1">, </span><span ng-if="$index > 0 && $index == amenity.dayAvailability.length -1"> and </span>{{(amenity.duration == 9 ? 'All-day' : availability.startTime + " - " + availability.endTime)}}</span></h6> 5276 <div>{{(amenity.duration == 9 ? 'all-day' : amenity.durationSlotLabel + " time slots")}} | {{amenity.requiresPayment ? '$'+formatMoney(amenity.price)+ (amenity.perPerson ? ' Per Person' : '') : 'No Fee' }}</div> 5277 <div ng-if="amenity.enableDamageFee">Damage Fees may be applicable depending on the post-reservation condition of the amenity.</div> 5278 <div ng-if="amenity.isConsecutiveReservationsAllowed">Only consecutive slots can be reserved on one reservation</div> 5279 </div> 5280 <div class="mt-4 amenityButtons" ng-if="!amenity.constraintConflict"> 5281 <button class="btn btn-sm mr-2 mb-2" style="width: 145px;" ng-disabled="(availability.isBooked && availability.isAvailable) || (!availability.isAvailable) || isDateLessThan(availability.startTime, amenity.searchDate, currentTimestamp)" ng-class="{'btn-gray': availability.isBooked && availability.isAvailable, 'btn-unavailable': !availability.isAvailable || isDateLessThan(availability.startTime, amenity.searchDate, currentTimestamp), 'btn-outline-primary': !availability.isBooked && availability.isAvailable && !availability.selected, 'btn-primary': !availability.isBooked && availability.isAvailable && availability.selected}" ng-repeat="availability in amenity.availabilitySlots" ng-click="selectAvailability(availability)">{{availability.startTime}} {{(!availability.isAvailable) ? '-' : '|'}} {{(!availability.isAvailable) ? availability.endTime : amenity.durationShortLabel}}</button> 5282 </div> 5283 <div class="mt-2 text-center" ng-if="invalidIndexes"> 5284 <p class="text-danger">Only consecutive slots can be reserved on one reservation</p> 5285 </div> 5286 <div class="mt-2 text-center" ng-if="noSelection"> 5287 <p class="text-danger">At least one slot must be selected</p> 5288 </div> 5289 <div class="mt-2 text-center" ng-if="amenity.constraintConflict"> 5290 <p class="text-danger">{{amenity.constraintConflictReason}}</p> 5291 </div> 5292 <div class="form-row mt-3" ng-if="false"> 5293 <div class="form-group col-12"> 5294 <h6 class="font-weight-bold">Available Times on {{amenity.searchDate}}</h6> 5295 <span class="badge badge-success mr-1" ng-repeat="availability in amenity.dayAvailability">{{availability.startTime}} - {{availability.endTime}}</span> 5296 <p ng-if="!amenity.availabilitySlots.length">There are no available times for this date.</p> 5297 </div> 5298 </div> 5299 </div> 5300 </div> 5301 <div class="d-flex align-items-end justify-content-between mt-4"> 5302 <div class="amenityLegend"> 5303 <div class="legendAvailable text-primary"><span class="cube border-primary"></span> Available Times</div> 5304 <div class="legendNotAvailable"><span class="cube"></span> Not Available for Reservations</div> 5305 <div class="legendReserved"><span class="cube"></span> Currently Reserved</div> 5306 <div class="legendSelected text-primary"><span class="cube bg-primary"></span> Your Selected Times</div> 5307 </div> 5308 <div class="text-right"> 5309 <button type="button" class="btn btn-primary mr-2 m-100" ng-if="!amenity.constraintConflict && amenity.availabilitySlots.length && hasOpenSlots()" ng-click="reserve()">Reserve This Amenity</button> 5310 <button type="button" class="btn btn-cancel" ng-click="$dismiss()"> 5311 Close 5312 </button> 5313 </div> 5314 </div> 5315 </div> 5316 </script>
5316 5317 <!-- End View Amenity Modal --> 5318 <!-- Start Preview File Modal --> 5319
5319<script type="text/ng-template" id="preview-file-modal"> 5320 <div class="modal-header"> 5321 <h5 class="modal-title">{{file.name}} Preview</h5> 5322 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 5323 <span aria-hidden="true">×</span> 5324 </button> 5325 </div> 5326 <div class="modal-body previewModalBody"> 5327 <div ng-cloak class="previewModalNoPreviewBlock" ng-if="!showPreview"> 5328 <div class="previewModalNoPreviewIcon"> 5329 <i class="fas fa-file"></i> 5330 </div> 5331 <p>We are unable to provide a preview for this file type.</p> 5332 </div> 5333 <div ng-cloak class="previewModalPreviewBlock" ng-if="showPreview"> 5334 <span ng-if="true" class="previewLoaderSpinner" style="min-width: 100%; width: 100%; text-align: center; height: 300px; display: block; padding-top: 120px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 5335 5336 <img ng-if="!isPdf" class="previewImage" ng-init="checkImageLoad()" src="/File/Get/{{file.uploadId}}" style="display: hidden;" /> 5337 <div ng-if="!isPdf" class="previewAreaImage" style="background: url(/File/Get/{{file.uploadId}}) center center no-repeat; background-size: contain; height: 0px;"> 5338 </div> 5339 <div id="previewAreaPDF" class="previewAreaPDF" ng-if="isPdf"> 5340 </div> 5341 </div> 5342 <div class="text-right mt-4 previewModalButtons" ng-show="showButtons"> 5343 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="downloadFile()"><i class="fas fa-download"></i> Download</button> 5344 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Close</button> 5345 </div> 5346 </div> 5347 </script>
5347 5348 <!-- End Preview File Modal --> 5349 <!-- Start Voting Results Modal --> 5350
5350<script type="text/ng-template" id="view-form-results-modal"> 5351 <div class="modal-header"> 5352 <h5 class="modal-title">{{formdata.name}}</h5> 5353 <button type="button" class="close" aria-label="Close" ng-click="$dismiss();"> 5354 <span aria-hidden="true">×</span> 5355 </button> 5356 </div> 5357 <div class="modal-body"> 5358 <div class="row"> 5359 <div class="col-lg-4" ng-repeat="item in results" style="width:100%;"> 5360 <div class="piechartContainer"> 5361 <div id="piechart{{$index}}" class="piechart" style="width:100%;"></div> 5362 </div> 5363 </div> 5364 </div> 5365 <div class="row"> 5366 <div ng-cloak style="text-align: center;width: 100%;font-weight: bold;">Submissions: {{resultsCount}}</div> 5367 </div> 5368 </div> 5369 </script>
5369 5370 <!-- End Voting Results Modal --> 5371 <!-- Start Description Modal --> 5372
5372<script type="text/ng-template" id="view-activity-description-modal"> 5373 <div class="modal-header border-0"> 5374 <h5 class="modal-title">Activity Description</h5> 5375 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 5376 <span aria-hidden="true">×</span> 5377 </button> 5378 </div> 5379 <div class="modal-body"> 5380 <div class="row"> 5381 <div class="col-12"> 5382 <p class="mb-0 angularJsNewLine"> 5383 {{description}} 5384 </p> 5385 </div> 5386 </div> 5387 <div class="text-right mt-4"> 5388 <button type="button" class="btn btn-cancel" ng-click="$dismiss()" "> 5389 Close 5390 </button> 5391 </div> 5392 </div> 5393 </script>
5393 5394 <!-- End Description Modal --> 5395 <!-- Start View Event Modal --> 5396
5396<script type="text/ng-template" id="view-event-modal"> 5397 <div class="modal-header border-0"> 5398 <h5 class="modal-title">View Event</h5> 5399 <button type="button" class="close" aria-label="Close" ng-click="$dismiss();"> 5400 <span aria-hidden="true">×</span> 5401 </button> 5402 </div> 5403 <div class="modal-body"> 5404 <div class="row"> 5405 <div class="col-12 manageRegistrationTable"> 5406 <table class="table mb-0" style="table-layout: fixed;"> 5407 <tbody> 5408 <tr> 5409 <td style="vertical-align:middle;"> 5410 <span class="text-muted"><small>Event Name</small></span> 5411 </td> 5412 <td style="vertical-align:middle;"> 5413 <span>{{event.name}}</span> 5414 </td> 5415 </tr> 5416 <tr> 5417 <td style="vertical-align:middle;"> 5418 <span class="text-muted"><small>Date</small></span> 5419 </td> 5420 <td style="vertical-align:middle;"> 5421 <span>{{event.startDate}}<span ng-show="event.startDate != event.endDate"> - {{event.endDate}}</span></span> 5422 </td> 5423 </tr> 5424 <tr ng-if="!event.hasActivities"> 5425 <td style="vertical-align:middle;"> 5426 <span class="text-muted"><small>Time</small></span> 5427 </td> 5428 <td style="vertical-align:middle;"> 5429 <span>{{event.startTime}} - {{event.endTime}}</span> 5430 </td> 5431 </tr> 5432 <tr> 5433 <td style="vertical-align:middle;"> 5434 <span class="text-muted"><small>Location</small></span> 5435 </td> 5436 <td style="vertical-align:middle;"> 5437 <p>{{event.venue}}</p> 5438 <p>{{event.address1}}</p> 5439 <p ng-if="event.address2">{{event.address2}}</p> 5440 <p>{{event.city}}, {{event.stateAbbreviation}}, {{event.zip}}</p> 5441 </td> 5442 </tr> 5443 <tr> 5444 <td style="vertical-align:middle;"> 5445 <span class="text-muted"><small>More Event Information</small></span> 5446 </td> 5447 <td style="vertical-align:middle;"> 5448 <style scoped=""> 5449 p { 5450 word-break: break-word; 5451 } 5452 </style> 5453 <div class="calendarEntryMoreInfo" ng-bind-html="trustedHtml(event.description)"></div> 5454 </td> 5455 </tr> 5456 </tbody> 5457 </table> 5458 </div> 5459 </div> 5460 <div class="text-right mt-4"> 5461 <button type="button" class="btn btn-outline-success" ng-if="showRegister" ng-click="registerEvent()"> 5462 Register 5463 </button> 5464 <a href="/File/GenerateICS/Event/{{event.eventId}}" target="_BLANK" class="btn btn-outline-primary mr-2" style="font-size: 14px; margin-left: 7px;" ng-click="$dismiss();"> 5465 <i class="fas fa-calendar-alt"></i> Download To Calendar 5466 </a> 5467 <button type="button" class="btn btn-outline-dark" ng-click="$dismiss();"> 5468 Close 5469 </button> 5470 </div> 5471 </div> 5472 </script>
5472 5473 <!-- End View Event Modal --> 5474 <!-- Start View Event Modal --> 5475
5475<script type="text/ng-template" id="view-calendar-event-modal"> 5476 <div class="modal-header border-0"> 5477 <h5 class="modal-title">View Event</h5> 5478 <button type="button" class="close" aria-label="Close" ng-click="$dismiss();"> 5479 <span aria-hidden="true">×</span> 5480 </button> 5481 </div> 5482 <div class="modal-body"> 5483 <div class="row"> 5484 <div class="col-12"> 5485 <table class="table mb-0" style="table-layout: fixed;"> 5486 <tbody> 5487 <tr> 5488 <td style="vertical-align:middle;"> 5489 <span class="text-muted"><small>Event Name</small></span> 5490 </td> 5491 <td style="vertical-align:middle;"> 5492 <span>{{event.name}}</span> 5493 </td> 5494 </tr> 5495 <tr> 5496 <td style="vertical-align:middle;"> 5497 <span class="text-muted"><small>Date</small></span> 5498 </td> 5499 <td style="vertical-align:middle;"> 5500 <span>{{event.startDate}}</span><span ng-show="event.startDate != event.endDate"> - {{event.endDate}}</span> 5501 </td> 5502 </tr> 5503 <tr ng-if="!event.hasActivities && event.startTime"> 5504 <td style="vertical-align:middle;"> 5505 <span class="text-muted"><small>Time</small></span> 5506 </td> 5507 <td style="vertical-align:middle;"> 5508 <span>{{event.startTime}}<span ng-if="event.endTime"> - {{event.endTime}}</span></span> 5509 </td> 5510 </tr> 5511 <tr> 5512 <td style="vertical-align:middle;"> 5513 <span class="text-muted"><small>Location</small></span> 5514 </td> 5515 <td style="vertical-align:middle;"> 5516 <p>{{event.venue}}</p> 5517 <p>{{event.address1}}</p> 5518 <p ng-if="event.address2">{{event.address2}}</p> 5519 <p>{{event.city}}, {{event.stateAbbreviation}}, {{event.zip}}</p> 5520 </td> 5521 </tr> 5522 <tr> 5523 <td style="vertical-align:middle;"> 5524 <span class="text-muted"><small>More Event Information</small></span> 5525 </td> 5526 <td style="vertical-align:middle;"> 5527 <style scoped=""> 5528 p { 5529 word-break: break-word; 5530 } 5531 </style> 5532 <div class="calendarEntryMoreInfo" ng-bind-html="trustedHtml(event.description)"></div> 5533 </td> 5534 </tr> 5535 5536 </tbody> 5537 </table> 5538 </div> 5539 </div> 5540 <div class="text-right mt-4"> 5541 <button type="button" class="btn btn-outline-success" ng-click="setUrl(sitePrefix+'/'+eventsUrl)"> 5542 View Events 5543 </button> 5544 <a href="/File/GenerateICS/Event/{{event.eventId}}" target="_BLANK" class="btn btn-outline-primary mr-2" style="font-size: 14px; margin-left: 7px;" ng-click="$dismiss();"> 5545 <i class="fas fa-calendar-alt"></i> Download To Calendar 5546 </a> 5547 <button type="button" class="btn btn-outline-dark" ng-click="$dismiss();"> 5548 Close 5549 </button> 5550 </div> 5551 </div> 5552 </script>
5552 5553 <!-- End View Event Calendar Modal --> 5554 <!-- Start View Entry Modal --> 5555
5555<script type="text/ng-template" id="view-calendar-entry-modal"> 5556 <div class="modal-header border-0"> 5557 <h5 class="modal-title">View Calendar Entry</h5> 5558 <button type="button" class="close" aria-label="Close" ng-click="$dismiss();"> 5559 <span aria-hidden="true">×</span> 5560 </button> 5561 </div> 5562 <div class="modal-body"> 5563 <div class="row"> 5564 <div class="col-12"> 5565 <table class="table mb-0"> 5566 <tbody> 5567 <tr> 5568 <td style="vertical-align:middle;"> 5569 <span class="text-muted"><small>Name</small></span> 5570 </td> 5571 <td style="vertical-align:middle;"> 5572 <span>{{entry.name}}</span> 5573 </td> 5574 </tr> 5575 <tr> 5576 <td style="vertical-align:middle;"> 5577 <span class="text-muted"><small>Date</small></span> 5578 </td> 5579 <td style="vertical-align:middle;"> 5580 <span>{{(entry != null) ? formattedDate : ''}}</span> 5581 </td> 5582 </tr> 5583 <tr> 5584 <td style="vertical-align:middle;"> 5585 <span class="text-muted"><small>Time</small></span> 5586 </td> 5587 <td style="vertical-align:middle;"> 5588 <span>{{entry.formattedTime}}</span> 5589 </td> 5590 </tr> 5591 <tr> 5592 <td style="vertical-align:middle;"> 5593 <span class="text-muted"><small>More Information</small></span> 5594 </td> 5595 <td style="vertical-align:middle;"> 5596 <div class="mb-0 calendarEntryMoreInfo" ng-bind-html="trustedHtml(entry.description)"> 5597 </div> 5598 </td> 5599 </tr> 5600 </tbody> 5601 </table> 5602 </div> 5603 </div> 5604 <div class="text-right mt-4"> 5605 <a href="/File/GenerateICS/CalendarEvent/{{entry.entryId}}" target="_BLANK" class="btn btn-outline-primary mr-2" style="padding: 9px;" ng-click="$dismiss();"> 5606 <i class="fas fa-calendar-alt"></i> Download To Calendar 5607 </a> 5608 <button type="button" class="btn btn-outline-dark" ng-click="$dismiss();"> 5609 Close 5610 </button> 5611 </div> 5612 </div> 5613 </script>
5613 5614 <!-- End View Calendar Entry Modal --> 5615 <!-- Start Apply Committee Modal --> 5616
5616<script type="text/ng-template" id="apply-committee-modal"> 5617 <div class="modal-header"> 5618 <h5 class="modal-title">Apply for Committee</h5> 5619 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 5620 <span aria-hidden="true">×</span> 5621 </button> 5622 </div> 5623 <div class="modal-body"> 5624 <p>To apply for this committee, fill out the following form and the leader of this committee will notify you if you are accepted.</p> 5625 <div class=""> 5626 <div class=""> 5627 <div class="headerBlock"> 5628 <div class="headerLeft" style="width: 100%"> 5629 <h1 class="mb-0">{{formdata.name}}</h1> 5630 </div> 5631 </div> 5632 </div> 5633 </div> 5634 <div class=""> 5635 <div class=""> 5636 <form name="customForm" id="applicationForm" novalidate ng-class="{'was-validated': submitAttempt}"> 5637 <div class="customFormSection p-3 mb-3" ng-repeat="subsection in formdata.sections"> 5638 <div class="d-flex align-items-center mb-4" ng-if="subsection.displayTitle"> 5639 <h4 ng-cloak ng-if="subsection.displayTitle" class="sectionName">{{subsection.name}}</h4> 5640 </div> 5641 <div class="form-row customFormRow"> 5642 <div class="form-group customFieldGroup" ng-class="{'col-md-6' : field.fullwidth == false, 'col-md-12' : field.fullwidth == true}" ng-repeat="field in subsection.questions"> 5643 <label for="custom1" class="angularJsNewLine">{{(field.questionControlType != 5) ? field.name : ' '}}<span ng-cloak ng-if="field.required && field.questionControlType != 5" class="text-danger">*</span></label> 5644 <input type="text" class="form-control customFormItem" id="custom1" ng-attr-data-id="{{field.questionId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required" ng-if="field.questionControlType == 1"> 5645 <textarea class="form-control customFormItem" id="custom1" placeholder="{{field.placeholder}}" ng-attr-data-id="{{field.questionId}}" name="{{field.name}}" ng-required="field.required" value="" ng-if="field.questionControlType == 6"></textarea> 5646 5647 <select class="form-control customFormItem" name="{{field.name}}" ng-required="field.required" ng-attr-data-id="{{field.questionId}}" ng-if="field.questionControlType == 2"> 5648 <option>Select</option> 5649 <option ng-repeat="option in field.options" value="{{option.name}}">{{option.name}}</option> 5650 </select> 5651 5652 <div ng-if="field.questionControlType == 3" class="checkboxGroup" data-required="{{field.required}}"> 5653 <div class="form-check" ng-repeat="option in field.options"> 5654 <input class="form-check-input customFormCheckbox" type="checkbox" name="exampleCheckboxes{{$index}}" id="exampleCheckboxes{{$index}}" ng-value="option.questionId+'|'+option.name"> 5655 <label class="{{paragraphTextClasses(widget)}} form-check-label" style="{{paragraphTextStyles(widget)}}" for="exampleCheckboxes{{$index}}"> 5656 {{option.name}} 5657 </label> 5658 </div> 5659 </div> 5660 5661 <div ng-if="field.questionControlType == 4" class="radioGroup"> 5662 <div class="form-check" ng-repeat="option in field.options"> 5663 <input class="form-check-input customFormRadio" type="radio" name="exampleRadios{{$parent.$index}}" id="exampleRadios{{$index}}" ng-value="option.questionId+'|'+option.name" ng-required="$parent.field.required"> 5664 <label class="{{paragraphTextClasses(widget)}} form-check-label" style="{{paragraphTextStyles(widget)}}" for="exampleRadios{{$index}}"> 5665 {{option.name}} 5666 </label> 5667 </div> 5668 </div> 5669 5670 <div class="custom-file d-block" style="font-size:12px;" ng-if="field.questionControlType == 8"> 5671 <input type="hidden" style="display: hidden;" name="fileId" /> 5672 <label class="custom-file-label custom-hidden-upload-label customMultipleUpload" ng-class="{'customvalid' : widget.submitAttempt && (!field.required || field.attachments.length), 'custominvali
5672d' : widget.submitAttempt && (field.required && !field.attachments.length) }" ng-init="initMultipleUpload()" for="customFile" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUploadCustomMultiple(response, field)" on-error="errorFileUpload(response)">Choose file</label> 5673 </div> 5674 5675 <div class="postAttachments mt-3" ng-if="field.attachments.length"> 5676 <a class="" data-toggle="collapse" href="#attachmentCollapse1" role="button" aria-expanded="false" 5677 aria-controls="attachmentCollapse1"><i class="fas fa-paperclip mr-2"></i> view {{field.attachments.length}} attachments</a> 5678 <div class="collapse attachmentCollapse" id="attachmentCollapse1"> 5679 <div style="margin-top: 15px;"> 5680 <span ng-repeat="attachment in field.attachments"><a href="javascript:void(0)" class="ml-2" ng-click="removeFormFile($index, field);"><i class="fas fa-times"></i></a> {{attachment.name}}</span> 5681 </div> 5682 </div> 5683 </div> 5684 5685 <div ng-if="field.questionControlType == 9" class="input-group mb-3"> 5686 <input type="text" class="form-control customFormItem formDatePickerField" ng-class="'datePicker'+field.questionId" ng-init="initMobiscrollDatePicker('.datePicker'+field.questionId)" ng-attr-data-id="{{field.questionId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required"> 5687 <div class="input-group-append"> 5688 <button class="btn btn-outline-secondary btn-append" id="button-addon2" ng-click="clearSingleFormField('.datePicker'+field.questionId)">Clear</button> 5689 </div> 5690 <div class="custom-feedback" ng-attr-data-id-feedback="{{field.questionId}}" style="display: none;"> 5691 This field is required. 5692 </div> 5693 </div> 5694 <div class="custom-feedback" ng-attr-data-id-feedback="{{field.questionId}}" ng-if="field.incorrectMinMax"> 5695 <span>This field has a minimum selection of {{field.min}} selections. </span> 5696 <span>This field has a maximum selection of {{field.max}} selections.</span> 5697 </div> 5698 5699 </div> 5700 </div> 5701 </div> 5702 </form> 5703 </div> 5704 </div> 5705 <div class="text-right mt-4"> 5706 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="submitApplication()">Send Application</button> 5707 <button type="button" class="btn btn-cancel m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 5708 </div> 5709 </div> 5710 </script>
5710 5711 <!-- End Apply Committee Modal --> 5712 <!-- Start Complete Form Modal --> 5713
5713<script type="text/ng-template" id="complete-form-modal"> 5714 <div class="modal-header"> 5715 <h5 class="modal-title">Complete Form</h5> 5716 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 5717 <span aria-hidden="true">×</span> 5718 </button> 5719 </div> 5720 <div class="modal-body"> 5721 <div class=""> 5722 <div class=""> 5723 <div class="headerBlock"> 5724 <div class="headerLeft" style="width: 100%"> 5725 <h1 class="mb-0">{{formdata.name}}</h1> 5726 </div> 5727 </div> 5728 </div> 5729 </div> 5730 <div class=""> 5731 <div class=""> 5732 <form name="customForm" id="applicationForm" novalidate ng-class="{'was-validated': submitAttempt}"> 5733 <label for="customSubject" ng-if="formdata.isTicketing" style="text-align: left!important;" class="angularJsNewLine">Subject<span ng-cloak class="text-danger">*</span></label> 5734 <input ng-if="formdata.isTicketing" type="text" class="form-control" id="custom1" ng-attr-data-id="customSubject" placeholder="Subject" ng-model="formdata.subject" name="customSubject" value="" ng-required="true"> 5735 5736 <div class="customFormSection p-3 mb-3" ng-repeat="subsection in formdata.sections"> 5737 <div class="d-flex align-items-center mb-4" ng-if="subsection.displayTitle"> 5738 <h4 ng-cloak ng-if="subsection.displayTitle" class="sectionName">{{subsection.name}}</h4> 5739 </div> 5740 <div class="form-row customFormRow"> 5741 <div class="form-group customFieldGroup" ng-class="{'col-md-6' : field.fullwidth == false, 'col-md-12' : field.fullwidth == true}" ng-repeat="field in subsection.questions"> 5742 <label for="custom1" class="angularJsNewLine">{{(field.questionControlType != 5) ? field.name : ' '}}<span ng-cloak ng-if="field.required && field.questionControlType != 5" class="text-danger">*</span></label> 5743 <input type="text" class="form-control customFormItem" id="custom1" ng-attr-data-id="{{field.questionId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required" ng-if="field.questionControlType == 1"> 5744 <textarea class="form-control customFormItem" id="custom1" placeholder="{{field.placeholder}}" ng-attr-data-id="{{field.questionId}}" name="{{field.name}}" ng-required="field.required" value="" ng-if="field.questionControlType == 6"></textarea> 5745 5746 5747 <select class="form-control customFormItem" ng-class="{'customvalid' : !field.isInvalid && submitAttempt, 'custominvalid' : field.isInvalid && submitAttempt }" name="{{field.name}}" ng-required="field.required" ng-attr-data-id="{{field.questionId}}" ng-if="field.questionControlType == 2"> 5748 <option>Select</option> 5749 <option ng-repeat="option in field.options" value="{{option.name}}">{{option.name}}</option> 5750 </select> 5751 5752 <div ng-if="field.questionControlType == 3" class="checkboxGroup" data-required="{{field.required}}"> 5753 <div class="form-check" ng-repeat="option in field.options"> 5754 <input class="form-check-input customFormCheckbox" type="checkbox" name="exampleCheckboxes{{$index}}" id="exampleCheckboxes{{$index}}" ng-value="option.questionId+'|'+option.name"> 5755 <label class="form-check-label" for="exampleCheckboxes{{$index}}"> 5756 {{option.name}} 5757 </label> 5758 </div> 5759 </div> 5760 5761 <div ng-if="field.questionControlType == 4" class="radioGroup"> 5762 <div class="form-check" ng-repeat="option in field.options"> 5763 <input class="form-check-input customFormRadio" type="radio" name="exampleRadios{{$parent.$index}}{{field.questionId}}" id="exampleRadios{{$parent.$index}}{{field.questionId}}{{$index}}" ng-value="option.questionId+'|'+option.name" ng-required="$parent.field.required"> 5764 <label class="form-check-label" for="exampleRadios{{$parent.$index}}{{field.questionId}}{{$index}}"> 5765 {{option.name}} 5766 </label> 5767 </div> 5768 </div> 5769 5770 <div class="custom-file d-block" style="font-size:12px;" ng-if="field.questionControlType == 8"> 5771 <input type="hidden" style="display: hidden;" name="fileId" /> 5772 <label class="custom-file-label custom-hidden-upload-label customMultipleUpload" ng-class="{'customvalid' : widget.submitAttempt && (!field.required || field.attachments.length), 'custominvali
5772d' : widget.submitAttempt && (field.required && !field.attachments.length) }" ng-init="initMultipleUpload()" for="customFile" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUploadCustomMultiple(response, field)" on-error="errorFileUpload(response)">Choose file</label> 5773 </div> 5774 5775 <div class="postAttachments mt-3" ng-if="field.attachments.length"> 5776 <a class="" data-toggle="collapse" href="#attachmentCollapse1" role="button" aria-expanded="false" 5777 aria-controls="attachmentCollapse1"><i class="fas fa-paperclip mr-2"></i> view {{field.attachments.length}} attachments</a> 5778 <div class="collapse attachmentCollapse" id="attachmentCollapse1"> 5779 <div style="margin-top: 15px;"> 5780 <span ng-repeat="attachment in field.attachments"><a href="javascript:void(0)" class="ml-2" ng-click="removeFormFile($index, field);"><i class="fas fa-times"></i></a> {{attachment.name}}</span> 5781 </div> 5782 </div> 5783 </div> 5784 <div ng-if="field.questionControlType == 9" class="input-group mb-3"> 5785 <input type="text" class="form-control customFormItem formDatePickerField" ng-class="'datePicker'+field.questionId" ng-init="initMobiscrollDatePicker('.datePicker'+field.questionId)" ng-attr-data-id="{{field.questionId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required"> 5786 <div class="input-group-append"> 5787 <button class="btn btn-outline-secondary btn-append" id="button-addon2" ng-click="clearSingleFormField('.datePicker'+field.questionId)">Clear</button> 5788 </div> 5789 </div> 5790 </div> 5791 <div class="custom-feedback" ng-if="field.isInvalid && widget.submitAttempt" ng-attr-data-id-feedback="{{field.questionId}}"> 5792 This field is required. 5793 </div> 5794 </div> 5795 </div> 5796 </form> 5797 </div> 5798 </div> 5799 <div class="text-right mt-4"> 5800 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="submitForm()">Complete</button> 5801 <button type="button" class="btn btn-cancel m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 5802 </div> 5803 </div> 5804 </script>
5804 5805 <!-- End Complete Form Modal --> 5806 <!-- Start Event Form Modal --> 5807
5807<script type="text/ng-template" id="event-form-modal"> 5808 <div class="modal-header"> 5809 <h5 class="modal-title">Event Form</h5> 5810 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 5811 <span aria-hidden="true">×</span> 5812 </button> 5813 </div> 5814 <div class="modal-body"> 5815 <div class=""> 5816 <div class=""> 5817 <div class="headerBlock"> 5818 <div class="headerLeft" style="width: 100%"> 5819 <h1 class="mb-0">{{formdata.name}}</h1> 5820 </div> 5821 </div> 5822 </div> 5823 </div> 5824 <div class=""> 5825 <div class=""> 5826 <form name="customForm" id="applicationForm" novalidate ng-class="{'was-validated': submitAttempt}"> 5827 <div class="customFormSection p-3 mb-3" ng-repeat="subsection in formdata.sections"> 5828 <div class="d-flex align-items-center mb-4" ng-if="subsection.displayTitle"> 5829 <h4 ng-cloak ng-if="subsection.displayTitle" class="sectionName">{{subsection.name}}</h4> 5830 </div> 5831 <div class="form-row customFormRow"> 5832 <div class="form-group customFieldGroup" ng-class="{'col-md-6' : field.fullwidth == false, 'col-md-12' : field.fullwidth == true}" ng-repeat="field in subsection.questions"> 5833 <label for="custom1" class="angularJsNewLine">{{(field.questionControlType != 5) ? field.name : ' '}}<span ng-cloak ng-if="field.required && field.questionControlType != 5" class="text-danger">*</span></label> 5834 <input type="text" class="form-control customFormItem" id="custom1" ng-attr-data-id="{{field.questionId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required" ng-if="field.questionControlType == 1"> 5835 <textarea class="form-control customFormItem" id="custom1" placeholder="{{field.placeholder}}" ng-attr-data-id="{{field.questionId}}" name="{{field.name}}" ng-required="field.required" value="" ng-if="field.questionControlType == 6"></textarea> 5836 5837 <select class="form-control customFormItem" ng-class="{'customvalid' : !field.isInvalid && submitAttempt, 'custominvalid' : field.isInvalid && submitAttempt }" name="{{field.name}}" ng-required="field.required" ng-attr-data-id="{{field.questionId}}" ng-if="field.questionControlType == 2"> 5838 <option>Select</option> 5839 <option ng-repeat="option in field.options" value="{{option.name}}">{{option.name}}</option> 5840 </select> 5841 5842 <div ng-if="field.questionControlType == 3" class="checkboxGroup" data-required="{{field.required}}"> 5843 <div class="form-check" ng-repeat="option in field.options"> 5844 <input class="form-check-input customFormCheckbox" type="checkbox" name="exampleCheckboxes{{$index}}" id="exampleCheckboxes{{$index}}" ng-value="option.questionId+'|'+option.name"> 5845 <label class="{{paragraphTextClasses(widget)}} form-check-label" style="{{paragraphTextStyles(widget)}}" for="exampleCheckboxes{{$index}}"> 5846 {{option.name}} 5847 </label> 5848 </div> 5849 </div> 5850 5851 <div ng-if="field.questionControlType == 4" class="radioGroup"> 5852 <div class="form-check" ng-repeat="option in field.options"> 5853 <input class="form-check-input customFormRadio" type="radio" name="exampleRadios{{$parent.$index}}{{field.questionId}}" id="exampleRadios{{$parent.$index}}{{field.questionId}}{{$index}}" ng-value="option.questionId+'|'+option.name" ng-required="$parent.field.required"> 5854 <label class="{{paragraphTextClasses(widget)}} form-check-label" style="{{paragraphTextStyles(widget)}}" for="exampleRadios{{$parent.$index}}{{field.questionId}}{{$index}}"> 5855 {{option.name}} 5856 </label> 5857 </div> 5858 </div> 5859 5860 <div class="custom-file d-block" style="font-size:12px;" ng-if="field.questionControlType == 8"> 5861 <input type="hidden" style="display: hidden;" name="fileId" /> 5862 <label class="custom-file-label custom-hidden-upload-label customMultipleUpload" ng-class="{'customvalid' : submitAttempt && (!field.required || field.attachments.length), 'custominvali
5862d' : submitAttempt && (field.required && !field.attachments.length) }" ng-init="initMultipleUpload()" for="customFile" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUploadCustomMultiple(response, field)" on-error="errorFileUpload(response)">Choose file</label> 5863 </div> 5864 5865 <div class="postAttachments mt-3" ng-if="field.attachments.length"> 5866 <a class="" data-toggle="collapse" href="#attachmentCollapse1" role="button" aria-expanded="false" 5867 aria-controls="attachmentCollapse1"><i class="fas fa-paperclip mr-2"></i> view {{field.attachments.length}} attachments</a> 5868 <div class="collapse attachmentCollapse" id="attachmentCollapse1"> 5869 <div style="margin-top: 15px;"> 5870 <span ng-repeat="attachment in field.attachments"><a href="javascript:void(0)" class="ml-2" ng-click="removeFormFile($index, field);"><i class="fas fa-times"></i></a> {{attachment.name}}</span> 5871 </div> 5872 </div> 5873 </div> 5874 5875 <div ng-if="field.questionControlType == 9" class="input-group mb-3"> 5876 <input type="text" class="form-control customFormItem formDatePickerField" ng-class="'datePicker'+field.questionId" ng-init="initMobiscrollDatePicker('.datePicker'+field.questionId)" ng-attr-data-id="{{field.questionId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required"> 5877 <div class="input-group-append"> 5878 <button class="btn btn-outline-secondary btn-append" id="button-addon2" ng-click="clearSingleFormField('.datePicker'+field.questionId)">Clear</button> 5879 </div> 5880 <div class="custom-feedback" ng-attr-data-id-feedback="{{field.questionId}}" style="display: none;"> 5881 </div> 5882 </div> 5883 <div class="custom-feedback" ng-attr-data-id-feedback="{{field.questionId}}" ng-if="field.incorrectMinMax"> 5884 <span>This field has a minimum selection of {{field.min}} selections. </span> 5885 <span>This field has a maximum selection of {{field.max}} selections.</span> 5886 </div> 5887 5888 </div> 5889 </div> 5890 </div> 5891 </form> 5892 </div> 5893 </div> 5894 <div class="text-right mt-4"> 5895 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="submitApplication()">Complete</button> 5896 <button type="button" class="btn btn-cancel m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 5897 </div> 5898 </div> 5899 </script>
5899 5900 <!-- End Apply Committee Modal --> 5901 <!-- Start Join Committee Modal --> 5902
5902<script type="text/ng-template" id="join-committee-modal"> 5903 <div class="modal-header"> 5904 <h5 class="modal-title">Join Committee</h5> 5905 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 5906 <span aria-hidden="true">×</span> 5907 </button> 5908 </div> 5909 <div class="modal-body"> 5910 <p>Would you like to join this committee?</p> 5911 <div class="text-right mt-4"> 5912 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="join()">Join</button> 5913 <button type="button" class="btn btn-cancel m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 5914 </div> 5915 </div> 5916 </script>
5916 5917 <!-- End Join Committee Modal --> 5918 <!-- Start Sponsor Image Modal --> 5919
5919<script type="text/ng-template" id="edit-sponsor-image-modal"> 5920 <div class="modal-header"> 5921 <h5 class="modal-title">Add Image2</h5> 5922 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 5923 <span aria-hidden="true">×</span> 5924 </button> 5925 </div> 5926 <div class="modal-body"> 5927 <div class="custom-file"> 5928 <input type="hidden" style="display: hidden;" name="fileId" accept="" ng-model="file.fileId" accept="image/*" /> 5929 <label class="custom-file-label custom-hidden-upload-label" for="customFile" upload-button url="/File/Upload/true" accept="image/*" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUpload(response)" on-error="errorFileUpload(response)">Choose file</label> 5930 </div> 5931 5932 <span ng-show="inUpload" style="min-width: 100%; width: 100%; text-align: center; height: 200px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 5933 5934 <div class="mt-3" style="max-width:100%;width:100%; max-height: 500px;" ng-if="uploadImageId"> 5935 5936 <img id="cropImage" ng-show="!inUpload" class="" ng-src="{{imageSrc(uploadImageId)}}" style="width:auto; max-height: 500px; max-width: 100%;"> 5937 </div> 5938 </div> 5939 <div class="modal-footer text-right border-none" ng-init="init()"> 5940 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="saveChanges()"> 5941 Save 5942 Image 5943 </button> 5944 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 5945 </div> 5946 </script>
5946 5947 <!-- End Sponsor Image Modal --> 5948 <!-- Start Bulk Download Modal --> 5949
5949<script type="text/ng-template" id="bulk-download-modal"> 5950 <div class="modal-header"> 5951 <h5 class="modal-title">Bulk Download</h5> 5952 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 5953 <span aria-hidden="true">×</span> 5954 </button> 5955 </div> 5956 <div class="modal-body"> 5957 <div class="row mb-3"> 5958 <div class="col-12"> 5959 <table class="table m-0 collapse show" id="collapseFolders" aria-labelledby="headingOne" 5960 data-parent="#accordionContainer"> 5961 <thead> 5962 <tr> 5963 <th scope="col" class="text-left"> 5964 <small> 5965 <input type="checkbox" 5966 aria-label="select all files" ng-click="selectAll()" class="mr-1">Select All 5967 </small> 5968 </th> 5969 <th scope="col"> 5970 <small> 5971 <a href="javascript:void(0)" ng-click="setOrder('name')" class="mr-1"> 5972 <i class="fas fa-sort"></i> 5973 </a>Name 5974 </small> 5975 </th> 5976 <th scope="col"> 5977 <small> 5978 <a href="javascript:void(0)" ng-click="setOrder('date')" class="mr-1"><i class="fas fa-sort"></i></a>Date 5979 Modified 5980 </small> 5981 </th> 5982 <th scope="col"> 5983 <small> 5984 <a href="javascript:void(0)" ng-click="setOrder('type')" class="mr-1"> 5985 <i class="fas fa-sort"></i> 5986 </a>Type 5987 </small> 5988 </th> 5989 <th scope="col"> 5990 <small> 5991 <a href="javascript:void(0)" ng-click="setOrder('size')" class="mr-1"> 5992 <i class="fas fa-sort"></i> 5993 </a>Size 5994 </small> 5995 </th> 5996 </tr> 5997 </thead> 5998 <tbody class="w-100"> 5999 <tr ng-repeat="file in files"> 6000 <td class="text-left"><input type="checkbox" ng-click="selectItem(file)" class="selectedFiles" data-id="{{file.itemId}}" aria-label="select to download"></td> 6001 <td>{{file.name}}</td> 6002 <td class=""><small>{{file.timestampString}}</small></td> 6003 <td class=""><small>{{file.type}}</small></td> 6004 <td class=""><small>{{file.size}}</small></td> 6005 </tr> 6006 </tbody> 6007 </table> 6008 </div> 6009 <form id="invisible_form" action="/File/Bulk/true" method="post" target="_blank"> 6010 <input id="formdata" name="formdata" type="hidden" value=""> 6011 </form> 6012 </div> 6013 <div class="text-right"> 6014 <button type="button" class="btn btn-primary mr-2" ng-click="download()" aria-label="Close"> 6015 Download 6016 {{selectedItems.length}} File{{(selectedItems.length == 1) ? '' : 's'}} 6017 </button> 6018 <button type="button" class="btn btn-cancel" ng-click="$dismiss()" aria-label="Close">Cancel</button> 6019 </div> 6020 </div> 6021 </script>
6021 6022 <!-- End Bulk Download Modal --> 6023 <!-- Start Add/Edit Post Modal --> 6024
6024<script type="text/ng-template" id="create-post-modal"> 6025 <div class="modal-header"> 6026 <h5 class="modal-title">{{message.postId == null ? 'Create New' : 'Edit' }} Post</h5> 6027 <button type="button" class="close" ng-click="$dismiss();" aria-label="Close"> 6028 <span aria-hidden="true">×</span> 6029 </button> 6030 </div> 6031 <div class="modal-body"> 6032 <form name="forms.newsfeedForm" novalidate ng-class="{'was-validated': submitAttempt}"> 6033 <div class="form-row"> 6034 <div class="form-group col-md-12"> 6035 <label for="postTitle">Post Title<span class="text-danger">*</span></label> 6036 <input type="text" class="form-control" id="postTitle" ng-required="true" placeholder="Post Title" value="" ng-model="message.title" /> 6037 <div class="invalid-feedback"> 6038 Please provide a title. 6039 </div> 6040 </div> 6041 </div> 6042 <div class="form-row" ng-if="widget.subjectIds != null && widget.subjectIds.length > 1"> 6043 <div class="form-group col-md-12"> 6044 <label for="postSubject">Newsfeed Subject<span class="text-danger">*</span></label> 6045 <select id="example-multiselect" select2-simple-multiselect multiple="multiple" class="resSelect w-100" ng-model="message.subjectIds"> 6046 <option ng-repeat="subject in widget.subjects" ng-value="subject.subjectId">{{subject.subjectName}}</option> 6047 </select> 6048 <div class="custom-feedback" ng-if="(!message.subjectIds || !message.subjectIds.length) && submitAttempt"> 6049 Please provide a subject. 6050 </div> 6051 </div> 6052 </div> 6053 6054 <div class="form-row"> 6055 <div class="form-group col-12"> 6056 <label for="postContent">Your Message<span class="text-danger">*</span></label> 6057 <textarea class="form-control" id="editor2" rows="5" cols="20" ng-if="message" ng-init="initCkEditor()" ng-model="message.text"></textarea> 6058 </div> 6059 </div> 6060 <div class="form-group"> 6061 <div class="form-check form-check-inline"> 6062 <input class="form-check-input" type="checkbox" id="mainNavCheck" value="option1" ng-model="message.isPublic"> 6063 <label class="form-check-label" for="mainNavCheck">Make Post Public</label> 6064 </div> 6065 </div> 6066 6067 <div class="form-row uploadRow"> 6068 <div class="form-group col-md-6"> 6069 <label>Upload photos or documents</label> 6070 <div class="custom-file"> 6071 <span ng-show="inUpload" style="min-width: 100%; width: 100%; text-align: center; height: 200px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 6072 <input type="hidden" style="display: hidden;" name="fileId" ng-model="file.fileId" /> 6073 <label class="custom-file-label custom-hidden-upload-label" for="customFile" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUpload(response)" on-error="errorFileUpload(response)">Choose file</label> 6074 </div> 6075 </div> 6076 </div> 6077 <div class="postAttachments" ng-if="message.images.length"> 6078 <a class="" data-toggle="collapse" href="#attachmentCollapse2" role="button" aria-expanded="false" 6079 aria-controls="attachmentCollapse2"><i class="fas fa-paperclip mr-2"></i> view {{message.images.length}} images</a> 6080 <div class="collapse attachmentCollapse" id="attachmentCollapse2">
6081 <div class="attachmentThumbnails" style="margin-top: 15px;"> 6082 <div ng-repeat="image in message.images"> 6083 <img ng-src="/File/Get/{{image.fileId}}"> 6084 <p class="mb-0"><a href="javascript:void(0)" class="ml-2" ng-click="removeImageFile($index);"><i class="fas fa-times"></i> </a>{{image.fileName}}</p> 6085 </div> 6086 </div> 6087 </div> 6088 </div> 6089 <div class="postAttachments" ng-if="message.documents.length"> 6090 <a class="" data-toggle="collapse" href="#attachmentCollapse1" role="button" aria-expanded="false" 6091 aria-controls="attachmentCollapse1"><i class="fas fa-paperclip mr-2"></i> view {{message.documents.length}} attachments</a> 6092 <div class="collapse attachmentCollapse" id="attachmentCollapse1"> 6093 <div style="margin-top: 15px;"> 6094 <a href="javascript:void(0)" class="ml-2" ng-repeat="attachment in message.documents" ng-click="removeFile($index);"><i class="fas fa-times"></i> {{attachment.fileName}}</a> 6095 </div> 6096 </div> 6097 </div> 6098 6099 <sub class="text-danger">* Required Information</sub> 6100 6101 <div class="text-right"> 6102 <button type="button" class="btn btn-primary mr-2" aria-label="Close" ng-click="saveChanges(forms.newsfeedForm);">Post</button> 6103 <button type="button" class="btn btn-cancel" aria-label="Close" ng-click="$dismiss();">Cancel</button> 6104 </div> 6105 </form> 6106 </div> 6107 </script>
6107 6108 <!-- End Add/Edit Post Modal --> 6109 <!-- Start Member Details Modal --> 6110
6110<script type="text/ng-template" id="member-detail-modal"> 6111 <div class="modal-header"> 6112 <h5 class="modal-title">Member Details</h5> 6113 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 6114 <span aria-hidden="true">×</span> 6115 </button> 6116 </div> 6117 <div class="modal-body memberDetailsModal"> 6118 <div class="row"> 6119 <div class="col-12"> 6120 <table class="table mb-0"> 6121 <tbody> 6122 <tr> 6123 <td style="vertical-align:middle;"> 6124 <span class="text-muted"><small>Name</small></span> 6125 </td> 6126 <td style="vertical-align:middle;"> 6127 <p>{{member.firstName}} {{member.lastName}}</p> 6128 </td> 6129 </tr> 6130 <tr ng-if="member.lotNumber"> 6131 <td style="vertical-align:middle;"> 6132 <span class="text-muted"><small>Lot Number</small></span> 6133 </td> 6134 <td style="vertical-align:middle;"> 6135 <p>{{member.lotNumber}}</p> 6136 </td> 6137 </tr> 6138 <tr ng-if="member.address1 && member.city && member.stateName && member.zip" ng-cloak> 6139 <td style="vertical-align:middle;"> 6140 <span class="text-muted"><small>Address</small></span> 6141 </td> 6142 <td style="vertical-align:middle;"> 6143 <p>{{member.address1}}</p> 6144 <p ng-if="member.address2">{{member.address2}}</p> 6145 <p>{{member.city}}, {{member.stateName}}, {{member.zip}}</p> 6146 </td> 6147 </tr> 6148 <tr ng-if="member.phone" ng-cloak> 6149 <td style="vertical-align:middle;"> 6150 <span class="text-muted"><small>Phone Number</small></span> 6151 </td> 6152 <td style="vertical-align:middle;"> 6153 <p>{{member.phone}}</p> 6154 </td> 6155 </tr> 6156 <tr ng-if="member.emailAddress" ng-cloak> 6157 <td style="vertical-align:middle;"> 6158 <span class="text-muted"><small>Email Address</small></span> 6159 </td> 6160 <td style="vertical-align:middle;"> 6161 <p><a href="mailto:{{member.emailAddress}}" target="_BLANK">{{member.emailAddress}}</a></p> 6162 </td> 6163 </tr> 6164 <tr ng-repeat="answer in member.customAnswers"> 6165 <td style="vertical-align:middle;"> 6166 <span class="text-muted"><small>{{answer.question}}</small></span> 6167 </td> 6168 <td style="vertical-align:middle;"> 6169 <p>{{answer.answer.replaceAll('|', ",")}}</p> 6170 </td> 6171 </tr> 6172 </tbody> 6173 </table> 6174 </div> 6175 </div> 6176 <div class="text-right mt-4"> 6177 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Close</button> 6178 </div> 6179 </div> 6180 </script>
6180 6181 <!-- End Member Details Modal --> 6182 <!-- Start Didn't Receive Email Modal --> 6183
6183<script type="text/ng-template" id="receiveemailmodal"> 6184 <div class="modal-header"> 6185 <h5 class="modal-title">Didn't receive an email?</h5> 6186 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 6187 <span aria-hidden="true">×</span> 6188 </button> 6189 </div> 6190 <div class="modal-body"> 6191 <p>If you haven't received an email after 10 minutes, please check your email address and try again. If you still don't receive an email then contact your administrator.</p> 6192 <div class="text-right mt-4"> 6193 <button type="button" class="btn btn-primary m-100 btn-rounded" ng-click="$dismiss()">Ok</button> 6194 </div> 6195 </div> 6196 </script>
6196 6197 <!-- Start Didn't Receive Email Modal --> 6198 <!-- Start Add/Edit User Modal --> 6199
6199<script type="text/ng-template" id="add-edit-user-modal"> 6200 6201<div class="modal-header" ng-if="currentUser || newUser"> 6202 <h5 class="modal-title">{{ currentUser.userId !== undefined ? 'EDIT MEMBER PROFILE' : 'ADD MEMBER PROFILE' }}</h5> 6203 <button type="button" class="close" ng-click="$dismiss()" data-dismiss="modal" aria-label="Close" ng-if="!sitedata.isMissingRequiredFields"> 6204 <span aria-hidden="true">×</span> 6205 </button> 6206</div> 6207<div class="modal-body p-0 h-100 d-flex add-edit-user-block memberProfileTabs" ng-if="currentUser || newUser" ng-init="showRequiredStar = true"> 6208 <dirty-tracking forms="forms" form-props="['userForm']" check="checkDirty"></dirty-tracking> 6209 <form name="forms.userForm" novalidate ng-class="{'was-validated': submitAttempt}"> 6210 <div class="row p-0 m-0 g-0 flex-fill add-edit-user-modal-main"> 6211 <div class="col-md-3 p-0 bg-light mpBorder"> 6212 <ul id="tabsJustified" class="nav nav-pills flex-column"> 6213 <li class="nav-item"> 6214 <a href="javascript:void(0);" data-target="#mDetails" ng-click="showRequiredStar = true" data-toggle="tab" class="nav-link rounded-0 active">Member Details</a> 6215 </li> 6216 <li class="nav-item"> 6217 <a href="javascript:void(0);" data-target="#mDirectory" ng-click="showRequiredStar = false" data-toggle="tab" class="nav-link rounded-0">Member Directory</a> 6218 </li> 6219 <li class="nav-item"> 6220 <a href="javascript:void(0);" data-target="#mNotifications" ng-click="showRequiredStar = false" data-toggle="tab" class="nav-link rounded-0">Notifications</a> 6221 </li> 6222 </ul> 6223 </div> 6224 <div class="col-md-9 p-0"> 6225 <div class="tab-content p-3 w-100"> 6226 6227 <!-- TAB member details --> 6228 <div id="mDetails" class="tab-pane fade active show"> 6229 <div class="row mb-3"> 6230 <div class="col-12"> 6231 <h5 class="mb-0 no-text-transform">Primary Information</h5> 6232 </div> 6233 </div> 6234 <div class="form-row mb-3"> 6235 <div class="col-md-6"> 6236 <label for="firstName"> 6237 First Name 6238 <span class="text-danger">*</span> 6239 </label> 6240 <a class="globalTooltip" data-toggle="popover" title="First Name" ng-init="enableTooltips()" data-content="Enter your first name."><i class="fas fa-question-circle"></i></a> 6241 <input type="text" class="form-control" id="firstName" ng-model="currentUser.firstName" ng-required="true" placeholder="First Name"> 6242 <div class="invalid-feedback"> 6243 Please provide a first name. 6244 </div> 6245 </div> 6246 <div class="col-md-6"> 6247 <label for="lastName"> 6248 Last Name 6249 <span class="text-danger">*</span> 6250 </label> 6251 <a class="globalTooltip" data-toggle="popover" title="Last Name" ng-init="enableTooltips()" data-content="Enter your last name."><i class="fas fa-question-circle"></i></a> 6252 <input type="text" class="form-control" id="lastName" ng-model="currentUser.lastName" ng-required="true" placeholder="Last Name"> 6253 <div class="invalid-feedback"> 6254 Please provide a last name. 6255 </div> 6256 </div> 6257 </div> 6258 <div class="form-row mb-3"> 6259 <div class="col-md-6"> 6260 <label for="emailAddress"> 6261 Email Address
6262 <span class="text-danger">*</span> 6263 </label> 6264 <a class="globalTooltip" data-toggle="popover" title="Email Address" data-content="Enter your preferred email address for organizational contact."><i class="fas fa-question-circle"></i></a> 6265 <input type="email" pattern=".{1,}@[-_a-z0-9A-Z]+(\.[a-z0-9A-Z]+)+" class="form-control" id="email" placeholder="Email" ng-required="true" 6266 ng-model="currentUser.emailAddress"> 6267 <div class="invalid-feedback"> 6268 Please provide an email address. 6269 </div> 6270 </div> 6271 <div class="col-md-6"> 6272 <label for="phone">Phone Number</label> 6273 <a class="globalTooltip" data-toggle="popover" title="Phone Number" data-content="Enter your preferred phone number for organizational contact."><i class="fas fa-question-circle"></i></a> 6274 <input type="text" maxlength="12" class="form-control" id="phone" placeholder="Phone" ng-model="currentUser.phone"> 6275 <div class="invalid-feedback"> 6276 Please provide a phone number. 6277 </div> 6278 </div> 6279 </div> 6280 6281 <div class="form-row mb-3" ng-if="countries != null"> 6282 <div class="col-md-6"> 6283 <label for="addressState"> 6284 Country 6285 <span class="text-danger">*</span> 6286 </label> 6287 <a class="globalTooltip" data-toggle="popover" title="Country" data-content="Select the country of your address from the dropdown menu."><i class="fas fa-question-circle"></i></a> 6288 <select class="form-control" style="width: 100%;" ng-model="currentUser.country"> 6289 <option disabled ng-value="null">Choose A Country</option> 6290 <option ng-repeat="country in countries" ng-value="country.identifier">{{country.name}}</option> 6291 </select> 6292 </div> 6293 6294 </div> 6295 <div class="form-row mb-3" ng-if="currentUser.country == 1"> 6296 6297 <div class="col-md-4"> 6298 <label for="address2"> 6299 Address Line 1 6300 <span class="text-danger">*</span> 6301 </label> 6302 <a class="globalTooltip" data-toggle="popover" title="Address Line 1" data-content="Enter a first line of your address."><i class="fas fa-question-circle"></i></a> 6303 <input type="text" class="form-control" id="address2" placeholder="Address Line 1" ng-required="true" ng-model="currentUser.address1"> 6304 </div> 6305 <div class="col-md-4"> 6306 <label for="address2"> 6307 Address Line 2 6308 </label> 6309 <a class="globalTooltip" data-toggle="popover" title="Address Line 2" data-content="(Optional) Enter a second line of your address."><i class="fas fa-question-circle"></i></a> 6310 <input type="text" class="form-control" id="address2" placeholder="Address Line 2" ng-model="currentUser.address2"> 6311 </div> 6312 <div class="col-md-4"> 6313 <label for="lotNumber"> 6314 Lot Number 6315 </label> 6316 <a class="globalTooltip" data-toggle="popover" title="Lot Number" data-content="(Optional) Enter the lot number of your address"><i class="fas fa-question-circle"></i></a> 6317 <input type="text" class="form-control" id="lotNumber" placeholder="Lot #" ng-model="currentUser.lotNumber"> 6318 </div> 6319 </div> 6320 <div class="form-row mb-3" ng-if="currentUser.country == 1"> 6321 <div class="col-md-6"> 6322 <label for="addressCity"> 6323 City
6324 <span class="text-danger">*</span> 6325 </label> 6326 <a class="globalTooltip" data-toggle="popover" title="City" data-content="Enter the city of your address."><i class="fas fa-question-circle"></i></a> 6327 <input type="text" class="form-control" id="city" placeholder="City" ng-required="true" ng-model="currentUser.city"> 6328 <div class="invalid-feedback"> 6329 Please provide a city. 6330 </div> 6331 </div> 6332 <div class="col-md-3"> 6333 <label for="addressState"> 6334 State 6335 <span class="text-danger">*</span> 6336 </label> 6337 <a class="globalTooltip" data-toggle="popover" title="State" data-content="Select the state of your address from the dropdown menu."><i class="fas fa-question-circle"></i></a> 6338 <select class="form-control" style="width: 100%;" ng-model="currentUser.state" ng-class="{'customvalid' : currentUser.state != null && submitAttempt, 'custominvalid' : currentUser.state == null && submitAttempt }"> 6339 <option ng-value="null">Choose A State</option> 6340 <option ng-repeat="state in states" ng-value="state.stateId">{{state.name}}</option> 6341 </select> 6342 <div class="custom-feedback" ng-if="currentUser.state == null && submitAttempt"> 6343 Please provide a state. 6344 </div> 6345 </div> 6346 <div class="col-md-3"> 6347 <label for="addressZip"> 6348 ZIP 6349 <span class="text-danger">*</span> 6350 </label> 6351 <a class="globalTooltip" data-toggle="popover" title="ZIP" data-content="Enter the ZIP Code for your address."><i class="fas fa-question-circle"></i></a> 6352 <input type="text" class="form-control" minlength="5" maxlength="5" id="zip" placeholder="ZIP" ng-required="true" ng-model="currentUser.zip"> 6353 <div class="invalid-feedback"> 6354 Please provide a zip. 6355 </div> 6356 </div> 6357 </div> 6358 <div class="form-row mb-3" ng-if="currentUser.country != 1"> 6359 <div class="col-md-4"> 6360 <label for="address2"> 6361 Address Line 1 6362 <span class="text-danger">*</span> 6363 </label> 6364 <a class="globalTooltip" data-toggle="popover" title="Address Line 1" data-content="Enter a first line of your address."><i class="fas fa-question-circle"></i></a> 6365 <input type="text" class="form-control" id="address2" placeholder="Address Line 1" ng-required="true" ng-model="currentUser.address1"> 6366 </div> 6367 <div class="col-md-4"> 6368 <label for="address2"> 6369 Address Line 2 6370 </label> 6371 <a class="globalTooltip" data-toggle="popover" title="Address Line 2" data-content="(Optional) Enter a second line of your address."><i class="fas fa-question-circle"></i></a> 6372 <input type="text" class="form-control" id="address2" placeholder="Address Line 2" ng-model="currentUser.address2"> 6373 </div> 6374 <div class="col-md-4"> 6375 <label for="lotNumber"> 6376 Lot Number 6377 </label> 6378 <a class="globalTooltip" data-toggle="popover" title="Lot Number" data-content="(Optional) Enter the lot number of your address"><i class="fas fa-question-circle"></i></a> 6379 <input type="text" class="form-control" id="lotNumber" placeholder="Lot #" ng-model="currentUser.lotNumber"> 6380 </div> 6381 </div> 6382 <div class="form-row mb-3" ng-if="currentUser.country != 1"> 6383 <div class="col-md-5"> 6384 <label for="addressCity"> 6385 City
6386 <span class="text-danger">*</span> 6387 </label> 6388 <a class="globalTooltip" data-toggle="popover" title="City" data-content="Enter the city of your address."><i class="fas fa-question-circle"></i></a> 6389 <input type="text" class="form-control" id="city" placeholder="City" ng-required="true" ng-model="currentUser.city"> 6390 <div class="invalid-feedback"> 6391 Please provide a city. 6392 </div> 6393 </div> 6394 <div class="col-md-4"> 6395 <label for="stateProvince"> 6396 State/Province/Region 6397 <span class="text-danger">*</span> 6398 </label> 6399 <a class="globalTooltip" data-toggle="popover" title="State/Province/Region" data-content="Select the state/province/region of your address from the dropdown menu."><i class="fas fa-question-circle"></i></a> 6400 <input type="text" class="form-control" id="stateProvince" placeholder="State/Province/Region" ng-required="true" ng-model="currentUser.internationalState"> 6401 <div class="invalid-feedback"> 6402 Please provide a state/province/region. 6403 </div> 6404 </div> 6405 <div class="col-md-3"> 6406 <label for="addressZip"> 6407 ZIP/Postal Code 6408 <span class="text-danger">*</span> 6409 </label> 6410 <a class="globalTooltip" data-toggle="popover" title="ZIP/Postal Code" data-content="Enter the ZIP Code or Postal Code for your address."><i class="fas fa-question-circle"></i></a> 6411 <input type="text" class="form-control" id="zip" placeholder="ZIP/Postal Code" ng-required="true" ng-model="currentUser.internationalZip"> 6412 <div class="invalid-feedback"> 6413 Please provide a zip/postal code. 6414 </div> 6415 </div> 6416 </div> 6417 6418 <hr> 6419 6420 6421 6422 <h5 ng-if="currentCustomerSite && questions.length && checkSitePermission('member-form')" class="no-text-transform">Additional Information</h5> 6423<div class="form-row" ng-if="currentCustomerSite"> 6424 <div class="form-group col-md-6 customFieldGroup" ng-repeat="field in questions" ng-if="!field.adminOnly && checkSitePermission('member-form')"> 6425 <label for="custom1">{{field.name}}<span ng-cloak ng-if="field.required" class="text-danger">*</span></label> 6426<input type="text" class="form-control customFormItem" id="custom1" ng-attr-data-id="{{field.detailId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required" ng-if="field.detailControlType == 1"> 6427<textarea class="form-control customFormItem" id="custom1" ng-attr-data-id="{{field.detailId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" ng-required="field.required" value="" ng-if="field.detailControlType == 6"></textarea> 6428<select class="form-control customFormItem customFormDropdown" name="{{field.name}}" ng-required="field.required" ng-attr-data-id="{{field.detailId}}" ng-if="field.detailControlType == 2"> 6429 <option>Select</option> 6430 <option ng-repeat="option in field.options" value="{{option.name}}">{{option.name}}</option> 6431</select> 6432 6433<div ng-if="field.detailControlType == 3" class="checkboxGroup" data-required="{{field.required}}"> 6434 <div class="form-check" ng-repeat="option in field.options"> 6435 <input class="form-check-input customFormCheckbox" type="checkbox" name="exampleCheckboxes{{$parent.$index}}-{{$index}}" id="exampleCheckboxes{{$parent.$index}}-{{$index}}" ng-value="option.detailId+'|'+option.name"> 6436 <label class="form-check-label" for="exampleCheckboxes{{$parent.$index}}-{{$index}}"> 6437 {{option.name}} 6438 </label> 6439 </div> 6440</div> 6441<div ng-if="field.detailControlType == 4" class="radioGroup"> 6442 <div class="form-check" ng-repeat="option in field.options"> 6443 <input class="form-check-input customFormRadio" type="radio" name="radio-{{option.detailId}}" id="exampleRadios{{$parent.$index}}-{{$index}}" ng-value="option.detailId+'|'+option.name" ng-required="$parent.field.required"> 6444 <label class="form-check-label" for="exampleRadios{{$parent.$index}}-{{$index}}"> 6445 {{option.name}} 6446 </label> 6447 </div> 6448</div> 6449 6450<div class="custom-file d-block" style="font-size:12px;" ng-if="field.detailControlType == 8"> 6451 <input type="hidden" style="display: hidden;" name="fileId" /> 6452 <label class="custom-file-label custom-hidden-upload-label customMultipleUpload" ng-init="initMultipleUpload()" for="customFile" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUploadCustomMultiple(response, field)" on-error="errorFileUpload(response)">Choose file</label> 6453</div> 6454 6455<div class="postAttachments mt-3" ng-if="field.attachments.length"> 6456 <a class="" data-toggle="collapse" href="javascript:void(0)" ng-click="triggerAccordion(field.detailId)" role="button" aria-expanded="false" 6457 aria-controls="attachmentCollapse1"><i class="fas fa-paperclip mr-2"></i> view {{field.attachments.length}} attachments</a> 6458 <div class="collapse attachmentCollapse" id="attachmentCollapse1" data-item="{{field.detailId}}"> 6459 <div style="margin-top: 15px;">
6460 <span ng-repeat="attachment in field.attachments"><a href="javascript:void(0)" class="ml-2" ng-click="removeFormFile($index, field);"><i class="fas fa-times"></i></a> {{attachment.name}}</span> 6461 </div> 6462 </div> 6463</div> 6464 6465<div ng-if="field.detailControlType == 9" class="input-group mb-3"> 6466 <input type="text" class="form-control customFormItem formDatePickerField" ng-class="'datePicker'+field.detailId" ng-init="initMobiscrollDatePicker('.datePicker'+field.detailId)" ng-attr-data-id="{{field.detailId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required"> 6467 <div class="input-group-append"> 6468 <button class="btn btn-outline-secondary btn-append" id="button-addon2" ng-click="clearSingleFormField('.datePicker'+field.detailId)">Clear</button> 6469 </div> 6470 <div class="custom-feedback" ng-attr-data-id-feedback="{{field.detailId}}" style="display: none;"> 6471 This field is required. 6472 </div> 6473</div> 6474 </div> 6475</div> 6476 6477 6478 <hr ng-if="questionsHasAdminOnly(questions)"> 6479 6480 6481 <h5 ng-if="currentCustomerSite && (isAdmin || isSubAdmin) && questionsHasAdminOnly(questions)" class="mt-3 no-text-transform">Admin-Only Information</h5> 6482 6483<div class="form-row" ng-if="currentCustomerSite && (isAdmin || isSubAdmin) && questionsHasAdminOnly(questions)"> 6484 <div class="form-group col-md-6 customFieldGroup" ng-repeat="field in questions" ng-if="field.adminOnly"> 6485 <label for="custom1">{{field.name}}<span ng-cloak ng-if="field.required" class="text-danger">*</span></label> 6486<input type="text" class="form-control customFormItem" id="custom1" ng-attr-data-id="{{field.detailId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required" ng-if="field.detailControlType == 1"> 6487<textarea class="form-control customFormItem" id="custom1" ng-attr-data-id="{{field.detailId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" ng-required="field.required" value="" ng-if="field.detailControlType == 6"></textarea> 6488<select class="form-control customFormItem customFormDropdown" name="{{field.name}}" ng-required="field.required" ng-attr-data-id="{{field.detailId}}" ng-if="field.detailControlType == 2"> 6489 <option>Select</option> 6490 <option ng-repeat="option in field.options" value="{{option.name}}">{{option.name}}</option> 6491</select> 6492 6493<div ng-if="field.detailControlType == 3" class="checkboxGroup" data-required="{{field.required}}"> 6494 <div class="form-check" ng-repeat="option in field.options"> 6495 <input class="form-check-input customFormCheckbox" type="checkbox" name="exampleCheckboxes{{$parent.$index}}-{{$index}}" id="exampleCheckboxes{{$parent.$index}}-{{$index}}" ng-value="option.detailId+'|'+option.name"> 6496 <label class="form-check-label" for="exampleCheckboxes{{$parent.$index}}-{{$index}}"> 6497 {{option.name}} 6498 </label> 6499 </div> 6500</div> 6501<div ng-if="field.detailControlType == 4" class="radioGroup"> 6502 <div class="form-check" ng-repeat="option in field.options"> 6503 <input class="form-check-input customFormRadio" type="radio" name="radio-{{option.detailId}}" id="exampleRadios{{$parent.$index}}-{{$index}}" ng-value="option.detailId+'|'+option.name" ng-required="$parent.field.required"> 6504 <label class="form-check-label" for="exampleRadios{{$parent.$index}}-{{$index}}"> 6505 {{option.name}} 6506 </label> 6507 </div> 6508</div> 6509 6510<div class="custom-file d-block" style="font-size:12px;" ng-if="field.detailControlType == 8"> 6511 <input type="hidden" style="display: hidden;" name="fileId" /> 6512 <label class="custom-file-label custom-hidden-upload-label customMultipleUpload" ng-init="initMultipleUpload()" for="customFile" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUploadCustomMultiple(response, field)" on-error="errorFileUpload(response)">Choose file</label> 6513</div> 6514 6515<div class="postAttachments mt-3" ng-if="field.attachments.length"> 6516 <a class="" data-toggle="collapse" href="javascript:void(0)" ng-click="triggerAccordion(field.detailId)" role="button" aria-expanded="false" 6517 aria-controls="attachmentCollapse1"><i class="fas fa-paperclip mr-2"></i> view {{field.attachments.length}} attachments</a> 6518 <div class="collapse attachmentCollapse" id="attachmentCollapse1" data-item="{{field.detailId}}"> 6519 <div style="margin-top: 15px;">
6520 <span ng-repeat="attachment in field.attachments"><a href="javascript:void(0)" class="ml-2" ng-click="removeFormFile($index, field);"><i class="fas fa-times"></i></a> {{attachment.name}}</span> 6521 </div> 6522 </div> 6523</div> 6524 6525<div ng-if="field.detailControlType == 9" class="input-group mb-3"> 6526 <input type="text" class="form-control customFormItem formDatePickerField" ng-class="'datePicker'+field.detailId" ng-init="initMobiscrollDatePicker('.datePicker'+field.detailId)" ng-attr-data-id="{{field.detailId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required"> 6527 <div class="input-group-append"> 6528 <button class="btn btn-outline-secondary btn-append" id="button-addon2" ng-click="clearSingleFormField('.datePicker'+field.detailId)">Clear</button> 6529 </div> 6530 <div class="custom-feedback" ng-attr-data-id-feedback="{{field.detailId}}" style="display: none;"> 6531 This field is required. 6532 </div> 6533</div> 6534 </div> 6535</div> 6536 6537 <hr> 6538 6539 <div class="form-row" ng-if="isAdmin && editorUserId != null && (editorUserId != currentUser.userId)"> 6540 <div class="form-group col-12"> 6541 <div class="form-check form-check-inline"> 6542 <input class="form-check-input" type="checkbox" id="admin" value="admin" ng-model="currentUser.isAdmin"> 6543 <label class="form-check-label" for="admin">Admin</label> 6544 </div> 6545 </div> 6546 </div> 6547 <div class="form-row" ng-if="isAdmin && editorUserId != null && (editorUserId != currentUser.userId)"> 6548 <div class="form-group col-12"> 6549 <div class="form-check form-check-inline"> 6550 <input class="form-check-input" type="checkbox" id="blocked" value="blocked" ng-model="currentUser.isBlocked"> 6551 <label class="form-check-label" for="blocked">Blocked From Newsfeed <a class="globalTooltip" data-toggle="popover" title="Blocked From Newsfeed" data-content="Members blocked from the newsfeed can still view the newsfeed, but cannot post to it."><i class="fas fa-question-circle"></i></a></label> 6552 </div> 6553 </div> 6554 </div> 6555 <div class="form-row" ng-if="isAdmin && editorUserId != null && (editorUserId != currentUser.userId) && currentCustomerSite.enableChat"> 6556 <div class="form-group col-12"> 6557 <div class="form-check form-check-inline"> 6558 <input class="form-check-input" type="checkbox" id="blockedFromChat" value="blockedFromChat" ng-model="currentUser.isBlockedFromChat"> 6559 <label class="form-check-label" for="blockedFromChat">Blocked From Chat <a class="globalTooltip" data-toggle="popover" title="Blocked From Chat" data-content="Members blocked from the chat cannot send or receive messages."><i class="fas fa-question-circle"></i></a></label> 6560 </div> 6561 </div> 6562 </div> 6563 6564 <div class="form-row" ng-if="!currentUser.userId"> 6565 <div class="form-group col-12"> 6566 <div class="form-check form-check-inline"> 6567 6568 <input class="form-check-input" type="checkbox" id="emailNewMember" ng-model="currentUser.emailNewMember"> 6569 <label class="form-check-label" for="emailNewMember">Email this Member to set password <a class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="Email this Member to set password" data-content="Trigger an automatic e-mail message to the member so they can begin to gain website access."><i class="fas fa-question-circle"></i></a></label> 6570 </div> 6571 </div> 6572 </div> 6573 6574 6575 6576 <div class="form-row mb-3"> 6577 <div class="col-md-6" ng-if="!(isAdmin && editorUserId != null && (editorUserId != currentUser.userId)
6577)"> 6578 <label for="passwordReset"> 6579 Password 6580 </label> 6581 <a class="globalTooltip" data-toggle="popover" title="Change Password" ng-init="enableTooltips()" data-content="Click on the link to open a new window in which to change the password for your online access."><i class="fas fa-question-circle"></i></a> 6582 <div> 6583 </div> 6584 </div> 6585 <div class="col-md-6" ng-if="newImageId == null"> 6586 <label for="memberProfile"> 6587 Current Avatar 6588 </label> 6589 <a class="globalTooltip" ng-init="enableTooltips()" data-toggle="popover" title="Current Avatar" data-content="Upload an image to accompany your profile in the Member Directory."><i class="fas fa-question-circle"></i></a> 6590 <div class="d-flex align-items-start justify-content-start"> 6591 <div ng-show="currentUser.fileId != null" class="md-avatar size-3 rounded-circle mb-3 mr-3" style="background-image: url({{imageSrc(currentUser.fileId)}})"></div> 6592 <div ng-show="currentUser.fileId == null" class="md-avatar size-3 rounded-circle mb-3 mr-3" style="background-image: url('/images/avatar-none.PNG')"></div> 6593 <div class="col"> 6594 <div class="row"> 6595 <div class="col pl-0"> 6596 <a href="javascript:void(0)" id="avatar-hidden-file-input" class="hidden-file-input" upload-button url="/File/Upload/true" accept="image/*" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUpload(response)" on-error="errorFileUpload(response)"><small>Upload New Image <i class="far fa-angle-right"></i></small></a> 6597 </div> 6598 6599 </div> 6600 <div class="row"> 6601 <a href="javascript:void(0)" ng-click="currentUser.fileId = null" ng-disabled="inUpload"><small>Remove Image <i class="far fa-angle-right"></i></small></a> 6602 </div> 6603 6604 </div> 6605 6606 6607 </div> 6608 </div> 6609 6610 <span ng-show="inUpload" style="min-width: 100%; width: 100%; text-align: center; height: 200px; display: block; padding-top: 70px;"><i class="fa fa-spin fa-spinner fa-3x"></i></span> 6611 6612 <input type="hidden" name="fileId" accept="image/*" ng-model="file.fileId" accept="image/*" /> 6613 <div class="mt-3 mb-3" style="max-width:100%;width:100%; max-height: 500px;" ng-if="newImageId != null"> 6614 <img id="cropImage" ng-show="!inUpload" class="" ng-src="{{imageSrc(newImageId)}}" style="width:auto; max-height: 500px; max-width: 100%;"> 6615 </div> 6616 <!--<div class="form-row d-flex align-items-center mb-3 border border-light p-3 " style="position: relative;" ng-if="newImageId == null"> 6617 <div class="form-group col-md-6 text-center"> 6618 6619 <div ng-show="currentUser.fileId != null" class="md-avatar size-3 rounded-circle mb-3 m-auto" style="background-image: url({{imageSrc(currentUser.fileId)}})"></div> 6620 <div ng-show="currentUser.fileId == null" class="md-avatar size-3 rounded-circle mb-3 m-auto" style="background-image: url('/images/avatar-none.PNG')"></div> 6621 </div> 6622 <div class="form-group col-md-6"> 6623 <div class="custom-file" style="font-size:12px;">--> 6624 <!--<input type="file" class="custom-file-input" id="customFile" name="fileId" accept="image/*" ng-model="file.fileId" accept="image/*"> 6625 --> 6626 <!--</div> 6627 </div> 6628 </div>--> 6629 6630 6631 6632 6633 </div> 6634 6635 </div> 6636 6637 <!-- TAB member directory --> 6638 <div id="mDirectory" class="tab-pane fade" style="width:100%"> 6639 <div class="row mb-3"> 6640 <div class="col-12"> 6641 <h5 class="mb-0 no-text-transform">Member Directory Visibility</h5> 6642 </div> 6643 </div> 6644 <div class="form-row mb-3"> 6645 <div class="col-auto"> 6646 <label class="switch mb-0"> 6647 <input ng-model="currentUser.membershipDirectoryOptin" type="checkbox">
6648 <span class="slider round"></span> 6649 </label> 6650 </div> 6651 <div class="col-lg"> 6652 <div class="mt-1"> 6653 Appear in Member Directory 6654 <a class="globalTooltip" ng-init="enableTooltips()" type="button" data-toggle="popover" title="Appear in Member Directory" data-content="Activate this toggle switch to make your profile visible to other members in the Member Directory."><i class="fas fa-question-circle"></i></a> 6655 </div> 6656 <div class=""> 6657 <div class="my-2">Choose which options below to share in the member directory</div> 6658 <div class="d-flex align-items-start justify-content-start m-100"> 6659 <div class="mr-2" style="width:240px;"> 6660 <div class="form-row mb-md-3"> 6661 <div class="col-12 mb-2"> 6662 <div class="form-check form-check-inline"> 6663 <input class="form-check-input" type="checkbox" id="op4" value="op4" ng-model="currentUser.optinAddress" ng-disabled="!currentCustomerSite || !currentUser.membershipDirectoryOptin"> 6664 <label class="form-check-label" for="op4" ng-disabled="!currentCustomerSite || !currentUser.membershipDirectoryOptin"> 6665 Address 6666 </label> 6667 </div> 6668 </div> 6669 <div class="col-12 mb-2"> 6670 <div class="form-check form-check-inline"> 6671 <input class="form-check-input" type="checkbox" id="op5" value="op5" ng-model="currentUser.optinEmail" ng-disabled="!currentCustomerSite || !currentUser.membershipDirectoryOptin"> 6672 <label class="form-check-label" for="op5" ng-disabled="!currentCustomerSite || !currentUser.membershipDirectoryOptin"> 6673 Email Address 6674 </label> 6675 </div> 6676 </div> 6677 <div class="col-12 mb-2"> 6678 <div class="form-check form-check-inline"> 6679 <input class="form-check-input" type="checkbox" id="op1" value="op1" ng-model="currentUser.optinPhone" ng-disabled="!currentCustomerSite || !currentUser.membershipDirectoryOptin"> 6680 <label class="form-check-label" for="op1" ng-disabled="!currentCustomerSite || !currentUser.membershipDirectoryOptin"> 6681 Phone Number 6682 </label> 6683 </div> 6684 </div> 6685 </div> 6686 </div> 6687 <div class=""> 6688 6689<div class="col-12 mb-2" ng-cloak ng-repeat="field in questions" ng-if="field.isMemberDirectoryOptIn" ng-disabled="!(newUser.membershipDirectoryOptin || currentUser.membershipDirectoryOptin)"> 6690 <div class="form-check form-check-inline"> 6691 <input class="form-check-input" type="checkbox" id="optIn-{{field.detailId}}" ng-disabled="!currentUser.membershipDirectoryOptin" ng-model="field.hasMemberDirectoryOptIn"> 6692 <label class="form-check-label optInCheck" ng-disabled="!currentUser.membershipDirectoryOptin" for="optIn-{{field.detailId}}">Share {{field.name}} in Member Directory </label> 6693 </div> 6694</div> 6695 </div> 6696 </div> 6697 </div> 6698 </div> 6699 </div> 6700 </div> 6701 6702 <!-- TAB notifications --> 6703 <div id="mNotifications" class="tab-pane fade"> 6704 <div class="row mb-3"> 6705 <div class="col-12"> 6706 <h5 class="mb-0 no-text-transform">Organization Notification Management</h5> 6707 </div> 6708 </div> 6709 <div class="form-row mb-3" ng-if="currentCustomerSite.enableChat"> 6710 <div class="col-auto"> 6711 <label class="switch mb-0"> 6712 <input type="checkbox" ng-model="currentUser.enableChat">
6713 <span class="slider round"></span> 6714 </label> 6715 </div> 6716 <div class="col-lg"> 6717 <div class="mt-1"> 6718 Enable Chat 6719 <a class="globalTooltip" ng-init="enableTooltips()" type="button" data-toggle="popover" title="Enable Chat" data-content="Activate this toggle switch to enable chat in the public site or member portal.)"><i class="fas fa-question-circle"></i></a> 6720 </div> 6721 </div> 6722 </div> 6723 <div class="form-row mb-3"> 6724 <div class="col-auto"> 6725 <label class="switch mb-0"> 6726 <input type="checkbox" ng-model="currentUser.receiveTexts"> 6727 <span class="slider round"></span> 6728 </label> 6729 </div> 6730 <div class="col-lg"> 6731 <div class="mt-1"> 6732 Receive Text Messages 6733 <a class="globalTooltip" ng-init="enableTooltips()" type="button" data-toggle="popover" title="Receive Text Messages" data-content="Activate this toggle switch to authorize the organization to contact you via text message at the main phone number on your Member Details. (Text messaging rates may apply. Mobile phone number required.)"><i class="fas fa-question-circle"></i></a> 6734 </div> 6735 </div> 6736 </div> 6737 <div class="form-row mb-3" ng-if="currentCustomerSite.enableDigest"> 6738 <div class="col-auto"> 6739 <label class="switch mb-0"> 6740 <input type="checkbox" ng-model="currentUser.notifsOn"> 6741 <span class="slider round"></span> 6742 </label> 6743 </div> 6744 <div class="col-lg"> 6745 <div class="mt-1"> 6746 Receive Weekly/Monthly Digest Notifications 6747 <a class="globalTooltip" ng-init="enableTooltips()" type="button" data-toggle="popover" title="Receive Digest Emails" data-content="Receive email notifications on a weekly or monthly basis with updates on any of the features below."><i class="fas fa-question-circle"></i></a> 6748 </div> 6749 <div class="mt-3 mb-3"> 6750 <span class="mr-3">Choose Digest Notification Frequency <a ng-init="enableTooltips()" class="globalTooltip" data-toggle="popover" data-content="Receive digest notifications on a weekly or monthly basis." title="Weekly/Monthly Digest Emails"><i class="fas fa-question-circle"></i></a></span> 6751 <div> 6752 <div class="form-check form-check-inline"> 6753 <input class="form-check-input" type="radio" name="updateTime" id="weeklyUpdates" value="weekly" ng-model="currentUser.updateFreq" ng-disabled="!currentUser.notifsOn"> 6754 <label class="form-check-label mr-1" for="weeklyUpdates">Weekly Updates</label> 6755 </div> 6756 <div class="form-check form-check-inline"> 6757 <input class="form-check-input active" type="radio" name="updateTime" id="monthlyUpdates" value="monthly" ng-model="currentUser.updateFreq" ng-disabled="!currentUser.notifsOn"> 6758 <label class="form-check-label mr-1" for="monthlyUpdates">Monthly Updates</label> 6759 </div> 6760 </div> 6761 </div> 6762 <div class=""> 6763 <div class="my-2">Choose which Digest Notifications to receive</div> 6764 <div class="d-flex align-items-start justify-content-start m-100"> 6765 <div class="mr-3"> 6766 <div class="form-row mb-md-3"> 6767 <div class="col-12 mb-2" ng-if="checkSitePermission('dues')"> 6768 <div class="form-check form-check-inline"> 6769 <input class="form-check-input" type="checkbox" id="op11" value="op11" ng-model="currentUser.paymentReminderNotif" ng-disabled="!currentUser.notifsOn"> 6770 <label class="form-check-label" for="op11"> 6771 Payment Reminders 6772 </label> 6773 </div> 6774 </div> 6775 <div class="col-12 mb-2" ng-if="checkSitePermission('document-repository')"> 6776 <div class="form-check form-check-inline"> 6777 <input class="form-check-input" type="checkbox" id="op12" value="op12" ng-model="currentUser.documentNotif" ng-disabled="!currentUser.notifsOn"> 6778 <label class="form-check-label" for="op12"> 6779 New Document Uploads 6780 </label> 6781 </div> 6782 </div> 6783 <div class="col-12 mb-2" ng-if="checkSitePermission('c
6783alendars')"> 6784 <div class="form-check form-check-inline"> 6785 <input class="form-check-input" type="checkbox" id="op13" value="op13" ng-model="currentUser.calendarNotif" ng-disabled="!currentUser.notifsOn"> 6786 <label class="form-check-label" for="op13"> 6787 Calendar Entry Updates 6788 </label> 6789 </div> 6790 </div> 6791 <div class="col-12 mb-2" ng-if="checkSitePermission('newsfeed')"> 6792 <div class="form-check form-check-inline"> 6793 <input class="form-check-input" type="checkbox" id="op14" value="op14" ng-model="currentUser.newsfeedNotif" ng-disabled="!currentUser.notifsOn"> 6794 <label class="form-check-label" for="op14"> 6795 Newsfeed 6796 </label> 6797 </div> 6798 </div> 6799 <div class="col-12 mb-2" ng-if="checkSitePermission('private-chat')"> 6800 <div class="form-check form-check-inline"> 6801 <input class="form-check-input" type="checkbox" id="op20" value="op20" ng-model="currentUser.privateChatNotif" ng-disabled="!currentUser.notifsOn"> 6802 <label class="form-check-label" for="op20"> 6803 Private Chat Updates 6804 </label> 6805 </div> 6806 </div> 6807 </div> 6808 </div> 6809 <div class=""> 6810 <div class="form-row mb-3" ng-if="checkSitePermission('ticketing-system')"> 6811 <div class="col-12 mb-2"> 6812 <div class="form-check form-check-inline"> 6813 <input class="form-check-input" type="checkbox" id="op15" value="op15" ng-model="currentUser.ticketingNotif" ng-disabled="!currentUser.notifsOn"> 6814 <label class="form-check-label" for="op15"> 6815 Ticketing Updates 6816 </label> 6817 </div> 6818 </div> 6819 <div class="col-12 mb-2" ng-if="checkSitePermission('violations')"> 6820 <div class="form-check form-check-inline"> 6821 <input class="form-check-input" type="checkbox" id="op16" value="op16" ng-model="currentUser.violationNotif" ng-disabled="!currentUser.notifsOn"> 6822 <label class="form-check-label" for="op16"> 6823 Violation Updates 6824 </label> 6825 </div> 6826 </div> 6827 <div class="col-12 mb-2" ng-if="checkSitePermission('amenities')"> 6828 <div class="form-check form-check-inline"> 6829 <input class="form-check-input" type="checkbox" id="op17" value="op17" ng-model="currentUser.amenityNotif" ng-disabled="!currentUser.notifsOn"> 6830 <label class="form-check-label" for="op17"> 6831 Amenity Registration Reminders 6832 </label> 6833 </div> 6834 </div> 6835 <div class="col-12 mb-2" ng-if="checkSitePermission('events')"> 6836 <div class="form-check form-check-inline"> 6837 <input class="form-check-input" type="checkbox" id="op18" value="op18" ng-model="currentUser.eventRegNotif" ng-disabled="!currentUser.notifsOn"> 6838 <label class="form-check-label" for="op18"> 6839 Event Registration Reminders 6840 </label> 6841 </div> 6842 </div> 6843 <div class="col-12 mb-2" ng-if="checkSitePermission('events')"> 6844 <div class="form-check form-check-inline"> 6845 <input class="form-check-input" type="checkbox" id="op19" value="op19" ng-model="currentUser.newEventNotif" ng-disabled="!currentUser.notifsOn"> 6846 <label class="form-check-label" for="op19"> 6847 New Event Listings 6848 </label> 6849 </div> 6850 </div> 6851 </div> 6852 </div> 6853 </div> 6854 </div> 6855 </div> 6856 </div> 6857 </div> 6858 6859 </div> 6860 <div class="modal-footer justify-content-between m-100"> 6861 <div class="float-left"> 6862 <div ng-if="submitAttempt && showError" class="text-danger float-left, mr-2"><small>Check the Member Details tab for missing values in required fields (marked with a red asterisk). Once you fill in those values, you can save your changes.</small></div> 6863 <div ng-if="showRequiredStar" class="text-danger float-left"><small>* Required Information</small></div> 6864 </div> 6865 <div> 6866 <button type="button" ng-if="forms.userForm" ng-click="saveUser(forms.userForm)" class="btn btn-primary m-100 btn-rounded mr-2" data-dismiss="modal">Save</button> 6867 <button type="button" ng-if="!forms.userForm" ng-click="saveUser()" class="btn btn-primary m-100 btn-rounded mr-2" data-dismiss="modal">Save</button> 6868 <button type="button" ng-if="!sitedata.isMissingRequiredFields" ng-click="$dismiss()" class="btn btn-cancel m-100 btn-rounded" data-dismiss="modal">Cancel</button> 6869 </div> 6870 </div> 6871 </div> 6872 </div> 6873 </form> 6874</div> 6875<!-- End Member Profile Modal --> 6876 </script>
6876 6877 <!-- End Add User Modal --> 6878 <!-- Start Invoice Info Modal --> 6879
6879<script type="text/ng-template" id="invoice-info-modal"> 6880 <div class="modal-header"> 6881 <h5 class="modal-title">Invoice Info</h5> 6882 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 6883 <span aria-hidden="true">×</span> 6884 </button> 6885 </div> 6886 <div class="modal-body"> 6887 <table class="table mb-0 border"> 6888 <thead class=""> 6889 <tr> 6890 <th colspan="5" class="bg-light text-dark" 6891 style="border-top-left-radius: 0.25rem;border-top-right-radius: 0.25rem;"> 6892 <h6 class="mb-0">{{(paid) ? 'Invoice Payments' : 'Invoices' }}</h6> 6893 </th> 6894 </tr> 6895 </thead> 6896 <tbody> 6897 <tr ng-repeat="invoice in info.invoices"> 6898 <td style="vertical-align:middle;"> 6899 <span class="" ng-class="{'text-danger': invoice.isLate}"><small>{{invoice.duedate}}</small></span> 6900 </td> 6901 <td style="vertical-align:middle;"> 6902 <span>Order {{invoice.identifier}}</span> 6903 </td> 6904 <td style="vertical-align:middle;text-align:right;"> 6905 <span>{{invoice.formattedprice}}</span> 6906 </td> 6907 </tr> 6908 </tbody> 6909 </table> 6910 <div class="text-right mt-4"> 6911 <!-- Show Resend Receipt button if the More Info button is clicked from the Payment History table--> 6912 <button type="button" class="btn btn-outline-primary m-100 btn-rounded mr-2" ng-if="paid" ng-click="sendReceipt()">Resend Receipt</button> 6913 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Close</button> 6914 </div> 6915 </div> 6916 </script>
6916 6917 <!-- End Invoice Info Modal --> 6918 <!-- Start One-Time Charge Payment Info Modal --> 6919
6919<script type="text/ng-template" id="charge-payment-info-modal"> 6920 <div class="modal-header"> 6921 <h5 class="modal-title">Payment Receipt</h5> 6922 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 6923 <span aria-hidden="true">×</span> 6924 </button> 6925 </div> 6926 <div class="modal-body"> 6927 <table class="table mb-0 border"> 6928 <thead class=""> 6929 <tr> 6930 <th colspan="5" class="bg-light text-dark" 6931 style="border-top-left-radius: 0.25rem;border-top-right-radius: 0.25rem;"> 6932 <h6 class="mb-0">Receipt</h6> 6933 </th> 6934 </tr> 6935 </thead> 6936 <tbody> 6937 <tr> 6938 <td style="vertical-align:middle;"> 6939 <span class=""><small>{{info.timestamp}}</small></span> 6940 </td> 6941 <td style="vertical-align:middle;"> 6942 <span>Order {{info.identifier}}</span> 6943 </td> 6944 <td style="vertical-align:middle;text-align:right;"> 6945 <span>{{info.formattedPrice}}</span> 6946 </td> 6947 </tr> 6948 </tbody> 6949 </table> 6950 <div class="text-right mt-4"> 6951 <!-- Show Resend Receipt button if the More Info button is clicked from the Payment History table--> 6952 <button type="button" class="btn btn-outline-primary m-100 btn-rounded mr-2" ng-click="sendReceipt()">Resend Receipt</button> 6953 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Close</button> 6954 </div> 6955 </div> 6956 </script>
6956 6957 <!-- End One-Time Charge Payment Info Modal --> 6958 <!-- Start Make Payment Modal --> 6959
6959<script type="text/ng-template" id="make-payment-modal"> 6960 <div class="modal-header"> 6961 <h5 class="modal-title">Make Payment</h5> 6962 <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-click="$dismiss()"> 6963 <span aria-hidden="true">×</span> 6964 </button> 6965 </div> 6966 <div class="modal-body"> 6967 <table class="table mb-0 border"> 6968 <p>Select which invoices you would like to make a payment on below</p> 6969 <thead class=""> 6970 <tr> 6971 <th colspan="5" class="bg-light text-dark" 6972 style="border-top-left-radius: 0.25rem;border-top-right-radius: 0.25rem;"> 6973 <h6 class="mb-0">Invoices</h6> 6974 </th> 6975 </tr> 6976 </thead> 6977 <tbody> 6978 <tr ng-repeat="invoice in info.invoices"> 6979 <td style="vertical-align:middle;"> 6980 <span class=""><input class="form-check-input duesPaymentTableCheck" type="checkbox" id="payInvoice" ng-model="invoice.submitPayment" ng-change="calculatePaymentAmount()"></span> 6981 </td> 6982 <td style="vertical-align:middle;"> 6983 <span class=""><small>{{invoice.duedate}}</small></span> 6984 </td> 6985 <td style="vertical-align:middle;"> 6986 <span>Order {{invoice.identifier}}</span> 6987 </td> 6988 <td style="vertical-align:middle;text-align:right;"> 6989 <span>{{invoice.formattedprice}}</span> 6990 </td> 6991 </tr> 6992 </tbody> 6993 </table> 6994 6995 <div class="text-right mt-4"> 6996 <label for="paymentAmount" class="mr-2">Payment Amount</label> 6997 <input type="text" name="paymentAmount" class="form-control" id="paymentAmount" placeholder="0.00" ng-model="info.paymentAmount" ng-disabled="lockPaymentAmount || !info.enablePartialPayments" ng-blur="formatPayment();" ng-required="true" ng-class="{'custominvalid' : info.paymentAmount <= 0 && submitAttempt }" style="width: 150px; display: inline-block"> 6998 <br /> 6999 </div> 7000 <form ng-if="(!info.isHouseholdDue && userBalanceDec > 0) || (info.isHouseholdDue && householdWalletBalance > 0)"> 7001 <div class="form-check text-right mt-3"> 7002 <input class="form-check-input" type="checkbox" ng-model="junk" ng-true-value="true" ng-false-value="false" id="useWalletBalance" ng-change="flipUseWallet()"> 7003 <label class="form-check-label" ng-if="!info.isHouseholdDue && userBalanceDec > 0" for="useWalletBalance" checked> 7004 Use my wallet balance of ${{formatMoney(userBalanceDec)}} 7005 </label> 7006 <label class="form-check-label" ng-if="info.isHouseholdDue && householdWalletBalance > 0" for="useWalletBalance"> 7007 Use {{info.householdTitle}} household wallet balance of ${{formatMoney(householdWalletBalance)}} 7008 </label> 7009 </div> 7010 </form> 7011 <div class="text-right mt-3" ng-if="lateFee > 0"> 7012 <label class="mr-2">Late Fee:</label> 7013 $<span>{{formatMoney(lateFee)}}</span> 7014 <br /> 7015 </div> 7016 <div class="text-right mt-3" ng-if="info.enableConvenienceFee"> 7017 <label class="mr-2">Service Fee:</label> 7018 $<span ng-if="info.paymentAmount <= 0 || info.paymentAmount == null || !info.paymentAmount">0</span><span ng-if="!paymentMethod.isAch && info.paymentAmount > 0">{{formatMoney(calculateConvenienceFeeWithWallet(info.paymentAmount, info.convenienceFeePercentage, info.convenienceFeeDollarAmount, lateFee))}}</span><span ng-if="paymentMethod.isAch && info.paymentAmount > 0">{{formatMoney(calculateConvenienceFeeWithWallet(info.paymentAmount, info.convenienceFeePercentagePlaid, info.convenienceFeeDollarAmountPlaid, lateFee))}}</span> 7019 <br /> 7020 </div> 7021 <div class="text-right mt-2" ng-if="(info.enableConvenienceFee || lateFee > 0 || useWallet) && info.paymentAmount != null && info.paymentAmount != 0"> 7022 <label class="mr-2">Amount charged to payment method:</label> 7023 <b>$<span>{{formatMoney(calculateTotalPayment())}}</span></b> 7024 <div class="" ng-if="useWallet && !info.isHouseholdDue && userBalanceDec > 0"> 7025 <label class="mr-2">Amount paid by Wallet:</label> 7026 <b>$<span>{{userBalanceDec >= (lateFee + +info.paymentAmount) ? formatMoney(lateFee + +info.paymentAmount) : formatMoney(userBalanceDec)}}</span></b> 7027 </div> 7028 <div class="" ng-if="useWallet && info.isHouseholdDue && householdWalletBalance > 0"> 7029 <label class="mr-2">Amount paid by Wallet:</label> 7030 <b>$<span>{{householdWalletBalance >= (lateFee + +info.paymentAmount) ? formatMoney(lateFee + +info.paymentAmount) : formatMoney(householdWalletBalance)}}</span></b> 7031 </div> 7032 <br /> 7033 </div> 7034 7035 7036 7037 <div class="custom-feedback" ng-if="!selectedPayments">You must select at least one invoice to pay!</div> 7038 7039 <div class="text-right mt-4"> 7040 <button type="button" class="btn btn-outline-primary m-100 btn-rounded mr-2" ng-click="pay()">Make Payment</button> 7041 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Close</button> 7042 </div> 7043 </div> 7044 </script>
7044 7045 <!-- End Make Payment Modal --> 7046 <!-- Start Manage Cards Modal --> 7047
7047<script type="text/ng-template" id="manage-cards-modal"> 7048 <div class="modal-header"> 7049 <h5 class="modal-title">Manage Payment Method</h5> 7050 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7051 <span aria-hidden="true">×</span> 7052 </button> 7053 </div> 7054 <div class="modal-body"> 7055 <div class="row"> 7056 <div class="col-12"> 7057 <div class="mt-3 p-3 border border-light" ng-repeat="paymentMethod in paymentMethods"> 7058 <div class="d-flex justify-content-between m-100"> 7059 <div class="form-check form-check-inline"> 7060 <input class="form-check-input paymentMethodList" title="{{(!sitedata.plaidEnabled && paymentMethod.cardinfo == 'Plaid') ? 'Plaid has been disabled' : ''}}" ng-disabled="!sitedata.plaidEnabled && paymentMethod.cardinfo == 'Plaid'" type="radio" name="card1" id="card{{$index}}" ng-value="paymentMethod.paymentMethodId"> 7061 <label class="form-check-label" for="card{{$index}}"><span>{{paymentMethod.brand}} {{(paymentMethod.cardinfo == 'Plaid') ? 'account via Plaid' : '************'+paymentMethod.cardinfo }}</span></label> 7062 </div> 7063 <a href="javascript:void(0)" ng-click="remove(paymentMethod.paymentMethodId)" class="text-danger"><small>remove</small></a> 7064 </div> 7065 </div> 7066 <div class="mt-3 p-3 border border-light"> 7067 <div class="mb-3" ng-show="sitedata.plaidEnabled"> 7068 <div class=""> 7069 <label for="paymentTypeRadios">Select Payment Type</label> 7070 </div> 7071 <div class="form-check form-check-inline"> 7072 <input class="form-check-input" type="radio" name="paymentTypeInlineOptions" ng-model="paymentType" id="paymentTypeInlineRadio1" value="card"> 7073 <label class="form-check-label" for="paymentTypeInlineRadio1">Card</label> 7074 </div> 7075 <div class="form-check form-check-inline"> 7076 <input class="form-check-input" type="radio" name="paymentTypeInlineOptions" ng-model="paymentType" id="paymentTypeInlineRadio2" value="plaid"> 7077 <label class="form-check-label" for="paymentTypeInlineRadio2">ACH</label> 7078 </div> 7079 </div> 7080 7081 <div class="col-12" ng-show="paymentType == 'plaid'"> 7082 <button class="btn btn-default btn-block" id='cardsLinkButton' ng-show="!plaidObject.plaidLinked" ng-click="loadStripeACH()">Open Stripe Link</button> 7083 <p class="mb-0 text-center" ng-show="plaidObject.plaidLinked"><b>If you use our services or purchase additional products periodically pursuant to our terms, you authorize us to debit your bank account periodically. Payments that fall outside of the regular debits authorized above will only be debited after your authorization is obtained.</b></p> 7084 <button class="btn btn-default btn-block" id='cardsLinkButton' ng-show="plaidObject.plaidLinked" ng-click="confirmStripeACH()">I agree</button> 7085 </div> 7086 7087 <div class="d-flex justify-content-between m-100" ng-show="paymentType == 'card'"> 7088 <div class="mt-1" style="width: 100%;"> 7089 <div id="stripe-card-element" class="form-control mt-0" style="width: 100%" ng-init="loadStripe()"></div> 7090 </div> 7091 <a href="javascript:void(0)" ng-click="addCard()" style="margin-left: 10px;" class="text-success"><small>add card</small></a> 7092 </div> 7093 </div> 7094 7095 7096 7097 7098 <div class="custom-feedback" ng-if="errorHappened"> 7099 Unable to add your card. Please check your card details. 7100 </div> 7101 <div class="custom-feedback" ng-if="noCardSelected"> 7102 Please select a card to use for this payment. 7103 </div> 7104 <div class="form-group mt-2" ng-if="!removeAutopay"> 7105 <div class="form-check form-check-inline"> 7106 <input class="form-check-input" type="checkbox" id="membersCheck" value="option1" ng-model="due.autopayEnabled"> 7107 <label class="form-check-label" for="membersCheck">Enable Autopay</label> 7108 </div> 7109 </div> 7110 </div> 7111 </div> 7112 <div class="text-right mt-4"> 7113 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="saveChanges()">Select Payment Method</button> 7114 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 7115 </div> 7116 </div> 7117 </script>
7117 7118 <!-- End Manage Cards Modal --> 7119 <!-- Start Member Unpaid Modal --> 7120
7120<script type="text/ng-template" id="outstanding-modal"> 7121 <div class="modal-header"> 7122 <h5 class="modal-title">Outstanding Dues</h5> 7123 <button type="button" class="close" aria-label="Close" ng-click="$close()"> 7124 <span aria-hidden="true">×</span> 7125 </button> 7126 </div> 7127 <div class="modal-body"> 7128 <div class="row mb-3"> 7129 <div class="col-12"> 7130 <div class="warningWell"> 7131 <p class="mb-0">Your account has outstanding dues. Members only content will be blocked until these dues are paid. Please access the dues payment page to pay these dues.</p> 7132 </div> 7133 </div> 7134 </div> 7135 <div class="text-right mt-4"> 7136 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$close()">Close</button> 7137 </div> 7138 </div> 7139 </script>
7139 7140 <!-- End Member Unpaid Modal --> 7141 <!-- Remove Card Modal --> 7142
7142<script type="text/ng-template" id="remove-card-modal"> 7143 <div class="modal-header"> 7144 <h5 class="modal-title">Remove Payment Method?</h5> 7145 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7146 <span aria-hidden="true">×</span> 7147 </button> 7148 </div> 7149 <div class="modal-body"> 7150 <p>Are you sure you want to remove this payment method?</p> 7151 <div class="text-right mt-4"> 7152 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="remove()">Remove</button> 7153 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 7154 </div> 7155 </div> 7156 </script>
7156 7157 <!-- End Remove Card Modal --> 7158 <!-- Cancel Reservation Modal --> 7159
7159<script type="text/ng-template" id="cancel-reservation-modal"> 7160 <div class="modal-header"> 7161 <h5 class="modal-title">Cancel Reservation?</h5> 7162 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7163 <span aria-hidden="true">×</span> 7164 </button> 7165 </div> 7166 <div class="modal-body"> 7167 <p>An administrator will be notified that you want to cancel your reservation. There is no guarantee that the cancellation will be approved.</p> 7168 <div class="text-right mt-4"> 7169 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="confirm()">Cancel Reservation</button> 7170 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Close</button> 7171 </div> 7172 </div> 7173 </script>
7173 7174 <!-- End Cancel Reservation Modal --> 7175 <!-- Start Ban User Modal --> 7176
7176<script type="text/ng-template" id="ban-user-modal"> 7177 <div class="modal-header"> 7178 <h5 class="modal-title">Ban User?</h5> 7179 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7180 <span aria-hidden="true">×</span> 7181 </button> 7182 </div> 7183 <div class="modal-body"> 7184 <p>Are you sure you want to ban this user from posting? They will still be able to access the site, however they will not be able to add comments, posts or likes to the newsfeed.</p> 7185 <div class="text-right mt-4"> 7186 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="ban()">Ban</button> 7187 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 7188 </div> 7189 </div> 7190 </script>
7190 7191 <!-- End Ban User Modal --> 7192 <!-- Remove Post Modal --> 7193
7193<script type="text/ng-template" id="remove-post-modal"> 7194 <div class="modal-header"> 7195 <h5 class="modal-title">Remove Post?</h5> 7196 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7197 <span aria-hidden="true">×</span> 7198 </button> 7199 </div> 7200 <div class="modal-body"> 7201 <p>Are you sure you want to remove this post?</p> 7202 <div class="text-right mt-4"> 7203 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="remove()">Remove</button> 7204 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 7205 </div> 7206 </div> 7207 </script>
7207 7208 <!-- End Remove Post Modal --> 7209 <!-- Remove Comment Modal --> 7210
7210<script type="text/ng-template" id="remove-comment-modal"> 7211 <div class="modal-header"> 7212 <h5 class="modal-title">Remove Post?</h5> 7213 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7214 <span aria-hidden="true">×</span> 7215 </button> 7216 </div> 7217 <div class="modal-body"> 7218 <p>Are you sure you want to remove this comment?</p> 7219 <div class="text-right mt-4"> 7220 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="remove()">Remove</button> 7221 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 7222 </div> 7223 </div> 7224 </script>
7224 7225 <!-- End Remove Comment Modal --> 7226 <!-- Pin post Modal --> 7227
7227<script type="text/ng-template" id="pin-post-modal"> 7228 <div class="modal-header"> 7229 <h5 class="modal-title">Pin Post?</h5> 7230 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7231 <span aria-hidden="true">×</span> 7232 </button> 7233 </div> 7234 <div class="modal-body"> 7235 <p>Are you sure you want to pin this post?</p> 7236 <div class="text-right mt-4"> 7237 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="saveChanges()">Pin</button> 7238 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 7239 </div> 7240 </div> 7241 </script>
7241 7242 <!-- End Pin Post Modal --> 7243 <!-- Unpin post Modal --> 7244
7244<script type="text/ng-template" id="unpin-post-modal"> 7245 <div class="modal-header"> 7246 <h5 class="modal-title">Unpin Post?</h5> 7247 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7248 <span aria-hidden="true">×</span> 7249 </button> 7250 </div> 7251 <div class="modal-body"> 7252 <p>Are you sure you want to unpin this post?</p> 7253 <div class="text-right mt-4"> 7254 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="saveChanges()">Unpin</button> 7255 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 7256 </div> 7257 </div> 7258 </script>
7258 7259 <!-- End Unpin Post Modal --> 7260 <!-- Start Switch Modal --> 7261
7261<script type="text/ng-template" id="switch-site-modal"> 7262 <div class="modal-header"> 7263 <h5 class="modal-title">Select a Site</h5> 7264 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 7265 <span aria-hidden="true">×</span> 7266 </button> 7267 </div> 7268 <div class="modal-body"> 7269 <div class="row mb-3"> 7270 <div class="col-12 input-group"> 7271 <input type="text" class="form-control m-100" placeholder="Search My Sites" 7272 aria-label="Recipient's username with two button addons" aria-describedby="searchFilters" ng-model="searchName" ng-keypress="checkDoSearch($event)"> 7273 <div class="input-group-append m-100" id="searchFilters"> 7274 <button class="btn btn-outline-primary m-100" type="button" ng-click="clearSearch()">Clear</button> 7275 <button class="btn btn-primary m-100" type="button" ng-click="doSearch();">Search</button> 7276 </div> 7277 </div> 7278 </div> 7279 <div class="row"> 7280 <div class="col-12"> 7281 <div class="card switchModalList"> 7282 <div class="card userTableWrap"> 7283 <table id="userTable" style="width: 100%!important" class="table data-table align-middle" datatable="" dt-options="dt.options" dt-column-defs="dt.columns" dt-instance="dt.instance"></table> 7284 </div> 7285 </div> 7286 </div> 7287 </div> 7288 7289 <div class="row d-flex align-items-center mt-3" id="sitePagination"> 7290 <div class="col-md-6 dt-pagination-info"> 7291 </div> 7292 <div class="col-md-6 actions paginate-buttons-here"> 7293 </div> 7294 </div> 7295 <div class="text-right mt-2"> 7296 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Stay on Current Site</button> 7297 </div> 7298 <div ng-init="enableTooltips()"></div> 7299 </div> 7300 </script>
7300 7301 <!-- End Switch Modal --> 7302 <!-- Conversation Exists Modal --> 7303
7303<script type="text/ng-template" id="conversation-exists-modal"> 7304 <div class="modal-header"> 7305 <h5 class="modal-title">This conversation exists!</h5> 7306 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7307 <span aria-hidden="true">×</span> 7308 </button> 7309 </div> 7310 <div class="modal-body"> 7311 <p>A conversation was found with these members in it. Would you like to continue making this group?</p> 7312 <div class="text-right mt-4"> 7313 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="continue()">Continue</button> 7314 <button type="button" class="btn btn-primary-outline m-100 btn-rounded mr-2" ng-click="open()">Open Chat</button> 7315 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 7316 </div> 7317 </div> 7318 </script>
7318 7319 <!-- End Remove Card Modal --> 7320 <!-- Remove Card Modal --> 7321
7321<script type="text/ng-template" id="remove-message-modal"> 7322 <div class="modal-header"> 7323 <h5 class="modal-title">Remove Message?</h5> 7324 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7325 <span aria-hidden="true">×</span> 7326 </button> 7327 </div> 7328 <div class="modal-body"> 7329 <p>Are you sure you want to remove this message?</p> 7330 <div class="text-right mt-4"> 7331 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="remove()">Remove</button> 7332 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 7333 </div> 7334 </div> 7335 </script>
7335 7336 <!-- End Remove Card Modal --> 7337 <!-- Add Participant Modal --> 7338
7338<script type="text/ng-template" id="add-participant-modal"> 7339 <div class="modal-header"> 7340 <h5 class="modal-title">Confirm Add Participant</h5> 7341 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7342 <span aria-hidden="true">×</span> 7343 </button> 7344 </div> 7345 <div class="modal-body"> 7346 <div class="row"> 7347 <div class="col-12"> 7348 <p>Are you sure you want to add this participant? They won't be able to see messages prior to them joining.</p> 7349 </div> 7350 7351 </div> 7352 <div class="text-right"> 7353 <button type="button" class="btn btn-primary mr-2" ng-click="saveChanges()" 7354 aria-label="Close"> 7355 Add 7356 </button> 7357 <button type="button" class="btn btn-cancel" ng-click="$dismiss()" aria-label="Close">Cancel</button> 7358 </div> 7359 7360 </div> 7361 </script>
7361 7362 <!-- Add Participant Modal --> 7363 <!-- Remove Participant Modal --> 7364
7364<script type="text/ng-template" id="remove-participant-modal"> 7365 <div class="modal-header"> 7366 <h5 class="modal-title">Confirm Remove Participant</h5> 7367 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7368 <span aria-hidden="true">×</span> 7369 </button> 7370 </div> 7371 <div class="modal-body"> 7372 <div class="row"> 7373 <div class="col-12"> 7374 <p>Are you sure you want to remove this participant?</p> 7375 </div> 7376 7377 </div> 7378 <div class="text-right"> 7379 <button type="button" class="btn btn-primary mr-2" ng-click="saveChanges()" 7380 aria-label="Close"> 7381 Remove 7382 </button> 7383 <button type="button" class="btn btn-cancel" ng-click="$dismiss()" aria-label="Close">Cancel</button> 7384 </div> 7385 7386 </div> 7387 </script>
7387 7388 <!-- Remove Participant Modal --> 7389 <!-- Start Edit Plain Text Modal --> 7390
7390<script type="text/ng-template" id="edit-conversation-modal"> 7391 <div class="modal-header"> 7392 <h5 class="modal-title">Edit Conversation Name</h5> 7393 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 7394 <span aria-hidden="true">×</span> 7395 </button> 7396 </div> 7397 <div class="modal-body"> 7398 <form name="convoNameForm" novalidate ng-class="{'was-validated': submitAttempt}"> 7399 <div class="form-group"> 7400 <input type="text" class="form-control" id="title" placeholder="Title Here" ng-model="conversation.name" ng-required="true"> 7401 </div> 7402 <div ng-init="enableTooltips()"></div> 7403 </form> 7404 </div> 7405 <div class="modal-footer text-right border-none" ng-init="init()"> 7406 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="saveChanges(convoNameForm)"> 7407 Update 7408 </button> 7409 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 7410 </div> 7411 </script>
7411 7412 <!-- End Edit Plain Text Modal --> 7413 <!-- Leave Conversation Modal --> 7414
7414<script type="text/ng-template" id="leave-participant-modal"> 7415 <div class="modal-header"> 7416 <h5 class="modal-title">Confirm Leave Conversation</h5> 7417 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7418 <span aria-hidden="true">×</span> 7419 </button> 7420 </div> 7421 <div class="modal-body"> 7422 <div class="row"> 7423 <div class="col-12"> 7424 <p>Are you sure you want to leave this conversation?</p> 7425 </div> 7426 </div> 7427 <div class="text-right"> 7428 <button type="button" class="btn btn-primary mr-2" ng-click="saveChanges()" 7429 aria-label="Close"> 7430 Leave 7431 </button> 7432 <button type="button" class="btn btn-cancel" ng-click="$dismiss()" aria-label="Close">Cancel</button> 7433 </div> 7434 </div> 7435 </script>
7435 7436 <!-- Leave Conversation Modal --> 7437 <!-- Start View Event Registration Modal --> 7438
7438<script type="text/ng-template" id="view-event-registration-modal"> 7439 <div class="modal-header border-0"> 7440 <h5 class="modal-title">View Event</h5> 7441 <button type="button" class="close" aria-label="Close" ng-click="$dismiss();"> 7442 <span aria-hidden="true">×</span> 7443 </button> 7444 </div> 7445 <div class="modal-body"> 7446 <div class="row"> 7447 <div class="col-12"> 7448 <table class="table mb-0" style="table-layout: fixed;"> 7449 <tbody> 7450 <tr> 7451 <td style="vertical-align:middle;"> 7452 <span class="text-muted"><small>Event Name</small></span> 7453 </td> 7454 <td style="vertical-align:middle;"> 7455 <p>{{event.name}}</p> 7456 </td> 7457 </tr> 7458 <tr> 7459 <td style="vertical-align:middle;"> 7460 <span class="text-muted"><small>Date</small></span> 7461 </td> 7462 <td style="vertical-align:middle;"> 7463 <p>{{event.startDate}}<span ng-if="event.endDate != event.startDate"> - {{event.endDate}}</span></p> 7464 </td> 7465 </tr> 7466 <tr ng-if="!event.hasActivities"> 7467 <td style="vertical-align:middle;"> 7468 <span class="text-muted"><small>Time</small></span> 7469 </td> 7470 <td style="vertical-align:middle;"> 7471 <p>{{event.startTime}}<span ng-if="event.endTime"> - {{event.endTime}}</span></p> 7472 </td> 7473 </tr> 7474 <tr ng-if="isEvent"> 7475 <td style="vertical-align:middle;"> 7476 <span class="text-muted"><small>Location</small></span> 7477 </td> 7478 <td style="vertical-align:middle;"> 7479 <p>{{event.venue}}</p> 7480 <p>{{event.address1}}</p> 7481 <p ng-if="event.address2">{{event.address2}}</p> 7482 <p>{{event.city}}, {{event.stateAbbreviation}}, {{event.zip}}</p> 7483 </td> 7484 </tr> 7485 <tr> 7486 <td style="vertical-align:middle;"> 7487 <span class="text-muted"><small>More Event Information</small></span> 7488 </td> 7489 <td style="vertical-align:middle;"> 7490 <style scoped=""> 7491 p { 7492 word-break: break-word; 7493 } 7494 </style> 7495 <div class="calendarEntryMoreInfo" ng-bind-html="trustedHtml(event.description)"> 7496 </div> 7497 </td> 7498 </tr> 7499 7500 <tr> 7501 <td style="vertical-align:middle;"> 7502 <span class="text-muted"><small>Registration</small></span> 7503 </td> 7504 <td style="vertical-align:middle;" colspan="2"> 7505 <p>{{registration.firstName}} {{registration.lastName}}</p> 7506 <p>{{registration.address1}}</p> 7507 <p ng-if="registration.address2">{{registration.address2}}</p> 7508 <p>{{registration.city}}, {{registration.stateName}} {{registration.zip}}</p> 7509 </td> 7510 </tr> 7511 <tr> 7512 <td style="vertical-align:middle;">
7513 <span class="text-muted"><small>{{registration.packageName}} x{{registration.ticketsBought}} </small></span> 7514 </td> 7515 <td style="vertical-align:middle;" ng-if="registration.packageFormData.length"> 7516 <p class="remove"><a href="javascript:void(0)" class="ml-2" ng-click="viewFormData(registration.packageFormData)"><small>view form</small></a></p> 7517 </td> 7518 <td style="vertical-align:middle;" ng-if="!registration.packageFormData.length"> 7519 </td> 7520 </tr> 7521 <tr ng-repeat="activity in registration.activities"> 7522 <td style="vertical-align:middle;"> 7523 <span class="text-muted"><small>{{activity.name}} x{{activity.ticketsBought}}</small></span> 7524 </td> 7525 <td style="vertical-align:middle;" ng-if="activity.activityFormData.length"> 7526 <p class="remove"><a href="javascript:void(0)" class="ml-2" ng-click="viewFormData(activity.activityFormData)"><small>view form</small></a></p> 7527 </td> 7528 <td style="vertical-align:middle;" ng-if="!activity.activityFormData.length"> 7529 </td> 7530 </tr> 7531 <tr ng-if="registration.isSponsor"> 7532 <td style="vertical-align:middle;"> 7533 <span class="text-muted"><small>{{registration.sponsorName}} </small></span> 7534 </td> 7535 <td style="vertical-align:middle;"> 7536 </td> 7537 </tr> 7538 </tbody> 7539 </table> 7540 </div> 7541 7542 </div> 7543 <div class="text-right mt-4"> 7544 <button type="button" class="btn btn-cancel" ng-click="$dismiss();"> 7545 Close 7546 </button> 7547 </div> 7548 </div> 7549 </script>
7549 7550 <!-- End View Event Registration Modal --> 7551 <!-- Start Registration Pricing Modal --> 7552
7552<script type="text/ng-template" id="view-registration-pricing-modal"> 7553 <div class="modal-header" style="border-bottom: none;"> 7554 <h5 class="modal-title">Registration Information</h5> 7555 <button type="button" class="close" ng-click="$dismiss()" aria-label="Close"> 7556 <span aria-hidden="true">×</span> 7557 </button> 7558 </div> 7559 <div class="modal-body"> 7560 <div class="row"> 7561 <div class="col-12 manageRegistrationTable"> 7562 <table class="table mb-0"> 7563 <tbody> 7564 <tr> 7565 <td style="vertical-align:middle;"> 7566 <span class="text-muted"><small>Registration</small></span> 7567 </td> 7568 <td style="vertical-align:middle;" colspan="2"> 7569 <p>{{registration.firstName}} {{registration.lastName}}</p> 7570 <p>{{registration.address1}}</p> 7571 <p ng-if="registration.address2">{{registration.address2}}</p> 7572 <p>{{registration.city}}, {{registration.stateName}} {{registration.zip}}</p> 7573 </td> 7574 </tr> 7575 <tr> 7576 <td style="vertical-align:middle;"> 7577 <span class="text-muted"><small>{{registration.packageName}} x{{registration.ticketsBought}} </small></span> 7578 </td> 7579 <td style="vertical-align:middle;"> 7580 <p class="price">{{priceformatter.format(registration.packagePrice * registration.ticketsBought)}}</p> 7581 </td> 7582 <td style="vertical-align:middle;" ng-if="registration.packageFormData.length"> 7583 <p class="remove"><a href="javascript:void(0)" class="ml-2" ng-click="viewFormData(registration.packageFormData)"><small>view form</small></a></p> 7584 </td> 7585 </tr> 7586 <tr ng-repeat="activity in registration.activities"> 7587 <td style="vertical-align:middle;"> 7588 <span class="text-muted"><small>{{activity.name}} x{{activity.ticketsBought}}</small></span> 7589 </td> 7590 <td style="vertical-align:middle;"> 7591 <p class="price">{{priceformatter.format(activity.activityPrice * activity.ticketsBought)}}</p> 7592 </td> 7593 <td style="vertical-align:middle;" ng-if="activity.activityFormData.length"> 7594 <p class="remove"><a href="javascript:void(0)" class="ml-2" ng-click="viewFormData(activity.activityFormData)"><small>view form</small></a></p> 7595 </td> 7596 </tr> 7597 <tr ng-if="registration.isSponsor"> 7598 <td style="vertical-align:middle;"> 7599 <span class="text-muted"><small>{{registration.sponsorName}} </small></span> 7600 </td> 7601 <td style="vertical-align:middle;"> 7602 <p class="price">{{priceformatter.format(registration.sponsorAmount)}}</p> 7603 </td> 7604 <td style="vertical-align:middle;"> 7605 </td> 7606 </tr> 7607 7608 <tr> 7609 <td style="vertical-align:middle;"> 7610 <span class="text-muted font-weight-bold"> 7611 <small class="font-weight-bold"> 7612 Grand 7613 Total 7614 </small> 7615 </span> 7616 </td> 7617 <td style="vertical-align:middle;"> 7618 <p class="font-weight-bold">{{priceformatter.format(registration.pricePaid)}}</p> 7619 </td> 7620 <td style="vertical-align:middle;"> 7621 </td> 7622 7623 </tr> 7624 </tbody> 7625 </table> 7626 </div> 7627 </div> 7628 <div class="text-right mt-4"> 7629 <button type="button" class="btn btn-cancel" ng-click="$dismiss()"> 7630 Close 7631 </button> 7632 </div> 7633 </div> 7634 </script>
7634 7635 <!-- End Registration Pricing Modal --> 7636 <!-- Start View Reservation Modal --> 7637
7637<script type="text/ng-template" id="view-amenity-pricing-modal"> 7638 <div class="modal-header border-0"> 7639 <h5 class="modal-title">View Reservation Request</h5> 7640 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 7641 <span aria-hidden="true">×</span> 7642 </button> 7643 </div> 7644 <div class="modal-body"> 7645 <div class="row"> 7646 <div class="col-12"> 7647 <table class="table mb-0"> 7648 <tbody> 7649 <tr> 7650 <td style="vertical-align:middle;"> 7651 <span class="text-muted"><small>Date</small></span> 7652 </td> 7653 <td style="vertical-align:middle;"> 7654 <p>{{reservation.reservationDate}}</p> 7655 </td> 7656 </tr> 7657 <tr> 7658 <td style="vertical-align:middle;"> 7659 <span class="text-muted"><small>Time</small></span> 7660 </td> 7661 <td style="vertical-align:middle;"> 7662 <p>{{reservation.startTime}} - {{reservation.endTime}}</p> 7663 </td> 7664 </tr> 7665 <tr> 7666 <td style="vertical-align:middle;"> 7667 <span class="text-muted font-weight-bold"> 7668 <small class="font-weight-bold"> 7669 Grand 7670 Total 7671 </small> 7672 </span> 7673 </td> 7674 <td style="vertical-align:middle;"> 7675 <p class="font-weight-bold">{{priceformatter.format(reservation.pricePaid)}}</p> 7676 </td> 7677 </tr> 7678 </tbody> 7679 </table> 7680 </div> 7681 </div> 7682 <div class="text-right mt-4"> 7683 <button type="button" class="btn btn-outline-dark m-100 btn-rounded" ng-click="$dismiss()">Close</button> 7684 </div> 7685 </div> 7686 </script>
7686 7687 <!-- End View Reservation Modal --> 7688 <!-- Start One Time Charge Modal --> 7689
7689<script type="text/ng-template" id="one-time-charge-modal"> 7690 <div class="modal-header"> 7691 <h5 class="modal-title">One-Time Charge</h5> 7692 <button type="button" class="close" ng-click="$dismiss()"> 7693 <span aria-hidden="true">×</span> 7694 </button> 7695 </div> 7696 <div class="modal-body otcModal"> 7697 <h5 class="">{{charge.name}}</h5> 7698 <div ng-if="charge.formId"> 7699 <small>Please complete and submit form: <span class="text-danger">*</span></small> 7700 </div> 7701 <div ng-if="charge.formId"> 7702 <a href="javascript:void(0)" ng-click="chargeForm(payment, charge)"><small>{{charge.name}} Form <span ng-if="payment.formData">(Completed)</span></small></a> 7703 </div> 7704 7705 <div class="mt-3"> 7706 <table class="table table-bordered"> 7707 <thead> 7708 <tr> 7709 <th scope="col" colspan="4">Charge</th> 7710 </tr> 7711 </thead> 7712 <tbody> 7713 <tr> 7714 <td class="align-middle">{{displayCurrentDate()}}</td> 7715 <td class="align-middle" ng-if="charge.isMultiplePurchasesEnabled"> 7716 Quantity <input type="number" style="display: inline-block!important;width: 75px;" class="form-control" id="chargeQty" min="1" value="1" ng-blur="validateNumberOfPurchases()" ng-model="payment.numberOfPurchases" ng-required="true"> 7717 </td> 7718 <td class="align-middle text-right">$ <span ng-if="!charge.isFlexiblePaymentsEnabled">{{formatMoney(charge.amount)}}</span><input style="display: inline-block!important;width: 75px;" ng-if="charge.isFlexiblePaymentsEnabled" type="text" class="form-control" id="chargeAmountFlexible" ng-model="payment.amount" ng-required="true" ng-blur="formatPayment();"></td> 7719 </tr> 7720 </tbody> 7721 </table> 7722 </div> 7723 <div class="mt-3"> 7724 <table class="table table-borderless"> 7725 <tbody> 7726 <tr ng-if="charge.isSalesTaxEnabled || charge.isServiceFeeEnabled"> 7727 <td class="text-right p-1">Charge Amount</td> 7728 <td class="text-right p-1">${{calculateChargeAmount(payment, charge, null)}}</td> 7729 </tr> 7730 <tr ng-if="charge.isSalesTaxEnabled"> 7731 <td class="text-right p-1">Local Sales Tax</td> 7732 <td class="text-right p-1">${{calculateSalesTaxAmount(payment, charge, null)}}</td> 7733 </tr> 7734 <tr ng-if="charge.isServiceFeeEnabled"> 7735 <td class="text-right p-1">Service Fee</td> 7736 <td class="text-right p-1">{{calculateServiceFeeAmount(payment, charge, null)}}</td> 7737 </tr> 7738 <tr> 7739 <td class="text-right font-weight-bold p-1">Total Payment Amount</td> 7740 <td class="text-right font-weight-bold p-1">{{calculateTotalPaymentAmount(payment, charge, null)}}</td> 7741 </tr> 7742 </tbody> 7743 </table> 7744 </div> 7745 </div> 7746 <div class="modal-footer"> 7747 <div> 7748 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="makePayment()">Make Payment</button> 7749 <button type="button" class="btn btn-cancel m-100 btn-rounded" ng-click="$dismiss()">Close</button> 7750 </div> 7751 </div> 7752 </script>
7752 7753 <!-- End One Time Charge Modal --> 7754 <!-- Start One Time Charge Payment Modal --> 7755
7755<script type="text/ng-template" id="one-time-charge-payment-modal"> 7756 <div class="modal-header" ng-if="paymentStep == 1"> 7757 <h5 class="modal-title">One-Time Charge Information</h5> 7758 <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-click="$dismiss()"> 7759 <span aria-hidden="true">×</span> 7760 </button> 7761 </div> 7762 <form name="modalForm" novalidate ng-class="{'was-validated': submitAttempt}"> 7763 7764 <div class="modal-body otcModal" ng-if="paymentStep == 1"> 7765 7766 <h5 class="">{{charge.name}}</h5> 7767 <div ng-if="charge.formId"> 7768 <small>Please complete and submit form: <span class="text-danger">*</span></small> 7769 </div> 7770 <div ng-if="charge.formId"> 7771 <a href="javascript:void(0)" ng-click="parentScope.chargeForm(payment, charge)"><small>{{charge.name}} Form <span ng-if="payment.formData">(Completed)</span></small></a> 7772 </div> 7773 <div class="form-row" ng-if="invalidForm && charge.formId && submitAttempt"> 7774 <div class="col-12"> 7775 <small class="text-danger">Please complete the form</small> 7776 </div> 7777 </div> 7778 <div ng-if="wallets.length > 0"> 7779 Use Wallet 7780 <select class="form-control" ng-model="myWallet.walletId" ng-change="updateWallet()"> 7781 <option ng-value="null">None</option> 7782 <option ng-repeat="wallet in wallets" ng-value="wallet.walletId" data-id="{{wallet.walletId}}">{{wallet.name}} ({{wallet.balance}})</option> 7783 </select> 7784 </div> 7785 <div class="font-weight-bold mt-3" ng-if="needsPayment()"> 7786 Credit Card Information <span class="text-danger">*</span> 7787 </div> 7788 7789 <div class="" ng-if="parentScope.isMember && needsPayment()"> 7790 <span ng-repeat="paymentMethod in charge.paymentMethods" ng-if="paymentMethod.paymentMethodId == charge.paymentMethod"><span ng-cloak ng-if="paymentMethod.cardinfo != 'Plaid'"><i class="fas fa-credit-card"></i></span><span ng-cloak ng-if="paymentMethod.cardinfo == 'Plaid'"><i class="fas fa-money-check-alt"></i></span> {{paymentMethod.brand}} {{(paymentMethod.cardinfo == 'Plaid') ? 'account via Plaid' : '************'+paymentMethod.cardinfo }}</span> <a ng-show="charge.paymentMethod != null" href="javascript:void(0)" ng-click="manageChargeCards()"><small>edit</small></a> 7791 <span ng-show="charge.paymentMethod == null"><i class="fas fa-credit-card"></i> No Account Added</span> <a href="javascript:void(0)" ng-show="charge.paymentMethod == null" ng-click="manageChargeCards()"><small>Add Account</small></a> 7792 </div> 7793 7794 <div class="" ng-if="!parentScope.isMember"> 7795 <div id="stripe-card-element" class="form-control mt-0" style="width: 100%" ng-init="loadStripe()"></div> 7796 </div> 7797 7798 <div class="mt-3"> 7799 <label for="paymentComments">Payment Comments (Optional)</label> 7800 <textarea class="form-control" id="paymentComments" rows="3" ng-model="payment.paymentComments"></textarea> 7801 </div> 7802 <div class="form-row mt-3" ng-if="!parentScope.isMember"> 7803 <div class="col-12"> 7804 <div class="font-weight-bold"> 7805 Billing Address 7806 </div> 7807 </div> 7808 </div> 7809 <div class="form-row" ng-if="!parentScope.isMember"> 7810 <div class="form-group col-md-6"> 7811 <label for="firstName">First Name <span class="text-danger">*</span></label> 7812 <input type="text" class="form-control" id="firstName" placeholder="First Name" ng-model="payment.firstName" ng-required="true"> 7813 </div> 7814 <div class="form-group col-md-6"> 7815 <label for="lastName">Last Name <span class="text-danger">*</span></label> 7816 <input type="text" class="form-control" id="lastName" placeholder="Last Name" ng-model="payment.lastName" ng-required="true"> 7817 </div> 7818 </div> 7819 <div class="form-row" ng-if="!parentScope.isMember"> 7820 <div class="form-group col-md-6"> 7821 <label for="email">Email <span class="text-danger">*</span></label> 7822 <input type="text" class="form-control" id="email" placeholder="Email" ng-model="payment.emailAddress" ng-required="true"> 7823 </div> 7824 <div class="form-group col-md-6"> 7825 <label for="phone">Phone <span class="text-danger">*</span></label> 7826 <input type="text" maxlength="12" class="form-control" id="phone" placeholder="Phone" ng-model="payment.phoneNumber" ng-required="true"> 7827 </div> 7828 </div> 7829 <div class="form-row mb-3" ng-if="!parentScope.isMember && countries != null"> 7830 <div class="col-md-6"> 7831 <label for="addressState"> 7832 Country
7833 <span class="text-danger">*</span> 7834 </label> 7835 <a class="globalTooltip" data-toggle="popover" title="Country" data-content="Select the country of your address from the dropdown menu."><i class="fas fa-question-circle"></i></a> 7836 <select class="form-control" style="width: 100%;" ng-model="payment.country"> 7837 <option disabled ng-value="null">Choose A Country</option> 7838 <option ng-repeat="country in countries" ng-value="country.identifier">{{country.name}}</option> 7839 </select> 7840 </div> 7841 </div> 7842 7843 <div class="form-row" ng-if="!parentScope.isMember"> 7844 <div class="form-group col-md-6"> 7845 <label for="address1">Address 1 <span class="text-danger">*</span></label> 7846 <input type="text" class="form-control" id="address1" placeholder="Address Line 1" ng-model="payment.address1" ng-required="true"> 7847 </div> 7848 <div class="form-group col-md-6"> 7849 <label for="address2">Address 2</label> 7850 <input type="text" class="form-control" id="address2" placeholder="Address Line 2" ng-model="payment.address2"> 7851 </div> 7852 </div> 7853 <div class="form-row" ng-if="!parentScope.isMember && payment.country == 1"> 7854 <div class="form-group col-md-6"> 7855 <label for="city">City <span class="text-danger">*</span></label> 7856 <input type="text" class="form-control" id="city" placeholder="City" ng-model="payment.city" ng-required="true"> 7857 </div> 7858 <div class="form-group col-md-4"> 7859 <label for="address2">State <span class="text-danger">*</span></label> 7860 <select class="form-control" ng-model="payment.stateId" ng-required="true"> 7861 <option ng-value="null">Select</option> 7862 <option ng-repeat="state in states" ng-value="state.stateId">{{state.name}}</option> 7863 </select> 7864 </div> 7865 <div class="form-group col-md-2"> 7866 <label for="zip">Zip <span class="text-danger">*</span></label> 7867 <input type="text" class="form-control" minlength="5" maxlength="5" id="zip" placeholder="Zip" ng-model="payment.zip" ng-required="true"> 7868 </div> 7869 </div> 7870 <div class="form-row" ng-if="!parentScope.isMember && payment.country != 1"> 7871 <div class="col-md-5"> 7872 <label for="addressCity"> 7873 City 7874 <span class="text-danger">*</span> 7875 </label> 7876 <a class="globalTooltip" data-toggle="popover" title="City" data-content="Enter the city of your address."><i class="fas fa-question-circle"></i></a> 7877 <input type="text" class="form-control" id="city" placeholder="City" ng-required="true" ng-model="payment.city"> 7878 <div class="invalid-feedback"> 7879 Please provide a city. 7880 </div> 7881 </div> 7882 <div class="col-md-4"> 7883 <label for="stateProvince"> 7884 State/Province/Region 7885 <span class="text-danger">*</span> 7886 </label> 7887 <a class="globalTooltip" data-toggle="popover" title="State/Province/Region" data-content="Select the state/province/region of your address from the dropdown menu."><i class="fas fa-question-circle"></i></a> 7888 <input type="text" class="form-control" id="stateProvince" placeholder="State/Province/Region" ng-required="true" ng-model="payment.internationalState"> 7889 <div class="invalid-feedback"> 7890 Please provide a state/province/region. 7891 </div> 7892 </div> 7893 <div class="col-md-3"> 7894 <label for="addressZip"> 7895 ZIP/Postal Code
7896 <span class="text-danger">*</span> 7897 </label> 7898 <a class="globalTooltip" data-toggle="popover" title="ZIP/Postal Code" data-content="Enter the ZIP Code or Postal Code for your address."><i class="fas fa-question-circle"></i></a> 7899 <input type="text" class="form-control" id="zip" placeholder="ZIP/Postal Code" ng-required="true" ng-model="payment.internationalZip"> 7900 <div class="invalid-feedback"> 7901 Please provide a zip/postal code. 7902 </div> 7903 </div> 7904 </div> 7905 <div class="form-row"> 7906 <div class="col-12"> 7907 <small class="text-danger">* Required Information</small> 7908 </div> 7909 </div> 7910 <div class="mt-3"> 7911 <table class="table table-bordered"> 7912 <thead> 7913 <tr> 7914 <th scope="col" colspan="4">Charge</th> 7915 </tr> 7916 </thead> 7917 <tbody> 7918 <tr> 7919 <td class="align-middle">{{displayCurrentDate()}}</td> 7920 <td class="align-middle">Quantity {{payment.numberOfPurchases}}</td> 7921 <td class="align-middle text-right">X $<span ng-if="!charge.isFlexiblePaymentsEnabled">{{formatMoney(charge.amount)}}</span><span ng-if="charge.isFlexiblePaymentsEnabled">{{formatMoney(payment.amount)}}</span></td> 7922 </tr> 7923 </tbody> 7924 </table> 7925 </div> 7926 <div class="mt-3"> 7927 <table class="table table-borderless"> 7928 <tbody> 7929 <tr ng-if="charge.isSalesTaxEnabled || charge.isServiceFeeEnabled"> 7930 <td class="text-right p-1">Charge Amount</td> 7931 <td class="text-right p-1">${{parentScope.calculateChargeAmount(payment, charge, selectedWallet)}}</td> 7932 </tr> 7933 <tr ng-if="charge.isSalesTaxEnabled"> 7934 <td class="text-right p-1">Local Sales Tax</td> 7935 <td class="text-right p-1">${{parentScope.calculateSalesTaxAmount(payment, charge, selectedWallet)}}</td> 7936 </tr> 7937 <tr ng-if="charge.isServiceFeeEnabled"> 7938 <td class="text-right p-1">Service Fee</td> 7939 <td class="text-right p-1">{{parentScope.calculateServiceFeeAmount(payment, charge, selectedWallet)}}</td> 7940 </tr> 7941 <tr ng-if="selectedWallet == null"> 7942 <td class="text-right font-weight-bold p-1">Total Payment Amount</td> 7943 <td class="text-right font-weight-bold p-1">{{parentScope.calculateTotalPaymentAmount(payment, charge, selectedWallet)}}</td> 7944 </tr> 7945 <tr ng-if="selectedWallet != null"> 7946 <td class="text-right font-weight-bold p-1">Amount charged to payment method</td> 7947 <td class="text-right font-weight-bold p-1">{{parentScope.calculateTotalPaymentAmount(payment, charge, selectedWallet)}}</td> 7948 </tr> 7949 <tr ng-if="selectedWallet != null"> 7950 <td class="text-right font-weight-bold p-1">Amount paid by Wallet</td> 7951 <td class="text-right font-weight-bold p-1">{{formatMoney(parentScope.calculateTotalWalletPaymentAmount(payment, charge, selectedWallet))}}</td> 7952 </tr> 7953 <!-- 7954 <label class="mr-2">Amount charged to payment method:</label> 7955 <b>$<span>{{formatMoney(calculateTotalPayment())}}</span></b> 7956 <div class="" ng-if="useWallet && !info.isHouseholdDue && userBalanceDec > 0"> 7957 <label class="mr-2">Amount paid by Wallet:</label> 7958 7959 --> 7960 7961 </tbody> 7962 </table> 7963 </div> 7964 </div> 7965 7966 7967 <div class="modal-header" ng-if="paymentStep == 2"> 7968 <h5 class="modal-title">One-Time Charge Payment Summary</h5> 7969 <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-click="$dismiss()">
7970 <span aria-hidden="true">×</span> 7971 </button> 7972 </div> 7973 <div class="modal-body" ng-if="paymentStep == 2"> 7974 <h5 class="">{{charge.name}}</h5> 7975 <div class="row"> 7976 <div class="col-md-12"> 7977 <div class="mt-3"> 7978 <table class="table table-borderless"> 7979 <tbody> 7980 <tr> 7981 <td class="p-1">Charge Amount</td> 7982 <td class="text-right p-1">$<span ng-if="!charge.isFlexiblePaymentsEnabled">{{formatMoney(charge.amount)}}</span><span ng-if="charge.isFlexiblePaymentsEnabled">{{formatMoney(payment.amount)}}</span></td> 7983 </tr> 7984 <tr> 7985 <td class="p-1">Quantity</td> 7986 <td class="text-right p-1">{{payment.numberOfPurchases}}</td> 7987 </tr> 7988 <tr ng-if="charge.isSalesTaxEnabled || charge.isServiceFeeEnabled"> 7989 <td class="p-1">Sub-Total Amount</td> 7990 <td class="text-right p-1">${{parentScope.calculateChargeAmount(payment, charge, selectedWallet)}}</td> 7991 </tr> 7992 <tr ng-if="charge.isSalesTaxEnabled"> 7993 <td class="p-1">Local Sales Tax</td> 7994 <td class="text-right p-1">${{parentScope.calculateSalesTaxAmount(payment, charge, selectedWallet)}}</td> 7995 </tr> 7996 <tr ng-if="charge.isServiceFeeEnabled"> 7997 <td class="p-1">Service Fee</td> 7998 <td class="text-right p-1">{{parentScope.calculateServiceFeeAmount(payment, charge, selectedWallet)}}</td> 7999 </tr> 8000 <tr> 8001 <td class="p-1">Total Charge</td> 8002 <td class="text-right font-weight-bold p-1">{{parentScope.calculateTotalPaymentAmount(payment, charge, selectedWallet)}}</td> 8003 </tr> 8004 <tr ng-if="selectedWallet != null"> 8005 <td class="text-right font-weight-bold p-1">Amount paid by Wallet</td> 8006 <td class="text-right font-weight-bold p-1">{{formatMoney(parentScope.calculateTotalWalletPaymentAmount(payment, charge, selectedWallet))}}</td> 8007 </tr> 8008 8009 </tbody> 8010 </table> 8011 </div> 8012 </div> 8013 </div> 8014 <div class="row mt-3" ng-if="!parentScope.isMember"> 8015 <div class="col-12"> 8016 <div class="font-weight-bold">Name</div> 8017 <div>{{payment.firstName}} {{payment.lastName}}</div> 8018 </div> 8019 </div> 8020 <div class="row mt-3" ng-if="payment.paymentComments"> 8021 <div class="col-12"> 8022 <div class="font-weight-bold">Payment Comments</div> 8023 <div>{{payment.paymentComments}}</div> 8024 </div> 8025 </div> 8026 8027 <div class="row mt-3" ng-if="parentScope.isMember"> 8028 <div class="col-12"> 8029 <div class="font-weight-bold">{{(paymentMethod.cardinfo == 'Plaid') ? 'Plaid' : 'Credit Card' }}</span></div> 8030 <div><span ng-repeat="paymentMethod in charge.paymentMethods" ng-if="paymentMethod.paymentMethodId == charge.paymentMethod"><span ng-cloak ng-if="paymentMethod.cardinfo != 'Plaid'"><i class="fas fa-credit-card"></i></span><span ng-cloak ng-if="paymentMethod.cardinfo == 'Plaid'"><i class="fas fa-money-check-alt"></i></span> {{paymentMethod.brand}} {{(paymentMethod.cardinfo == 'Plaid') ? 'account via Plaid' : '************'+paymentMethod.cardinfo }}</span></div> 8031 </div> 8032 </div> 8033 <div class="row mt-3" ng-if="!parentScope.isMember"> 8034 <div class="col-12"> 8035 <div class="font-weight-bold">Credit Card</div> 8036 <div>{{payment.stripeTokenCard.brand}}
8036 ************{{payment.stripeTokenCard.last4}}</div> 8037 </div> 8038 </div> 8039 <div class="row mt-3" ng-if="!parentScope.isMember"> 8040 <div class="col-12"> 8041 <div class="font-weight-bold">Billing Information</div> 8042 <div>{{payment.firstName}} {{payment.lastName}}</div> 8043 <div>{{payment.emailAddress}}</div> 8044 <div>{{payment.phoneNumber}}</div> 8045 <div>{{payment.address1}}</div> 8046 <div>{{payment.city}}, <span ng-repeat="state in states" ng-if="state.stateId == payment.stateId">{{state.name}}</span> {{payment.zip}}</div> 8047 </div> 8048 </div> 8049 8050 <span class="float-left font-italic mt-3 mb-2"><small>Members will receive a PDF receipt at the e-mail on file. Non-Members will receive a PDF receipt at the e-mail provided.</small></span> 8051 </div> 8052 8053 <div class="modal-footer justify-content-between m-100" ng-class="{'justify-content-between': paymentStep == 1, 'justify-content-end': paymentStep == 2}"> 8054 <span ng-if="paymentStep == 1" class="float-left font-italic"><small>Members will receive a PDF receipt at the e-mail on file. Non-Members will receive a PDF receipt at the e-mail provided.</small></span> 8055 <div style="min-width: 210px"> 8056 <button type="button" class="btn btn-outline-primary m-100 btn-rounded mr-2" ng-click="backButtonClicked()">Back</button> 8057 <button type="button" class="btn btn-primary m-100 btn-rounded" ng-click="submitPayment(modalForm)">Make Payment</button> 8058 </div> 8059 </div> 8060 </form> 8061 8062 </script>
8062 8063 <!-- End One Time Charge Payment Modal --> 8064 <!-- Start Complete Form Modal --> 8065
8065<script type="text/ng-template" id="charge-form-modal"> 8066 <div class="modal-header"> 8067 <h5 class="modal-title">Complete Form</h5> 8068 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 8069 <span aria-hidden="true">×</span> 8070 </button> 8071 </div> 8072 <div class="modal-body"> 8073 <div class=""> 8074 <div class=""> 8075 <div class="headerBlock"> 8076 <div class="headerLeft" style="width: 100%"> 8077 <h1 class="mb-0">{{formdata.name}}</h1> 8078 </div> 8079 </div> 8080 </div> 8081 </div> 8082 <div class=""> 8083 <div class=""> 8084 <form name="customForm" id="applicationForm" novalidate ng-class="{'was-validated': submitAttempt}"> 8085 <div class="customFormSection p-3 mb-3" ng-repeat="subsection in formdata.sections"> 8086 <div class="d-flex align-items-center mb-4" ng-if="subsection.displayTitle"> 8087 <h4 ng-cloak ng-if="subsection.displayTitle" class="sectionName">{{subsection.name}}</h4> 8088 </div> 8089 <div class="form-row customFormRow"> 8090 <div class="form-group customFieldGroup" ng-class="{'col-md-6' : field.fullwidth == false, 'col-md-12' : field.fullwidth == true}" ng-repeat="field in subsection.questions"> 8091 <label for="custom1" class="angularJsNewLine">{{(field.questionControlType != 5) ? field.name : ' '}}<span ng-cloak ng-if="field.required && field.questionControlType != 5" class="text-danger">*</span></label> 8092 <input type="text" class="form-control customFormItem" id="custom1" ng-attr-data-id="{{field.questionId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required" ng-if="field.questionControlType == 1"> 8093 <textarea class="form-control customFormItem" id="custom1" placeholder="{{field.placeholder}}" ng-attr-data-id="{{field.questionId}}" name="{{field.name}}" ng-required="field.required" value="" ng-if="field.questionControlType == 6"></textarea> 8094 8095 8096 <select class="form-control customFormItem" ng-class="{'customvalid' : !field.isInvalid && submitAttempt, 'custominvalid' : field.isInvalid && submitAttempt }" name="{{field.name}}" ng-required="field.required" ng-attr-data-id="{{field.questionId}}" ng-if="field.questionControlType == 2"> 8097 <option>Select</option> 8098 <option ng-repeat="option in field.options" value="{{option.name}}">{{option.name}}</option> 8099 </select> 8100 8101 <div ng-if="field.questionControlType == 3" class="checkboxGroup" data-required="{{field.required}}"> 8102 <div class="form-check" ng-repeat="option in field.options"> 8103 <input class="form-check-input customFormCheckbox" type="checkbox" name="exampleCheckboxes{{$index}}" id="exampleCheckboxes{{$index}}" ng-value="option.questionId+'|'+option.name"> 8104 <label class="form-check-label" for="exampleCheckboxes{{$index}}"> 8105 {{option.name}} 8106 </label> 8107 </div> 8108 </div> 8109 8110 <div ng-if="field.questionControlType == 4" class="radioGroup"> 8111 <div class="form-check" ng-repeat="option in field.options"> 8112 <input class="form-check-input customFormRadio" type="radio" name="exampleRadios{{$parent.$index}}{{field.questionId}}" id="exampleRadios{{$parent.$index}}{{field.questionId}}{{$index}}" ng-value="option.questionId+'|'+option.name" ng-required="$parent.field.required"> 8113 <label class="form-check-label" for="exampleRadios{{$parent.$index}}{{field.questionId}}{{$index}}"> 8114 {{option.name}} 8115 </label> 8116 </div> 8117 </div> 8118 8119 <div class="custom-file d-block" style="font-size:12px;" ng-if="field.questionControlType == 8"> 8120 <input type="hidden" style="display: hidden;" name="fileId" /> 8121 <label class="custom-file-label custom-hidden-upload-label customMultipleUpload" ng-class="{'customvalid' : submitAttempt && (!field.required || field.attachments.length), 'custominvali
8121d' : submitAttempt && (field.required && !field.attachments.length) }" ng-init="initMultipleUpload()" for="customFile" upload-button url="/File/Upload/true" ng-disabled="inUpload" on-upload="startFileUpload(files)" on-success="successFileUploadCustomMultiple(response, field)" on-error="errorFileUpload(response)">Choose file</label> 8122 </div> 8123 8124 <div class="postAttachments mt-3" ng-if="field.attachments.length"> 8125 <a class="" data-toggle="collapse" href="#attachmentCollapse1" role="button" aria-expanded="false" 8126 aria-controls="attachmentCollapse1"><i class="fas fa-paperclip mr-2"></i> view {{field.attachments.length}} attachments</a> 8127 <div class="collapse attachmentCollapse" id="attachmentCollapse1"> 8128 <div style="margin-top: 15px;"> 8129 <span ng-repeat="attachment in field.attachments"><a href="javascript:void(0)" class="ml-2" ng-click="removeFormFile($index, field);"><i class="fas fa-times"></i></a> {{attachment.name}}</span> 8130 </div> 8131 </div> 8132 </div> 8133 8134 <div ng-if="field.questionControlType == 9" class="input-group mb-3"> 8135 <input type="text" class="form-control customFormItem formDatePickerField" ng-class="'datePicker'+field.questionId" ng-init="initMobiscrollDatePicker('.datePicker'+field.questionId)" ng-attr-data-id="{{field.questionId}}" placeholder="{{field.placeholder}}" name="{{field.name}}" value="" ng-required="field.required"> 8136 <div class="input-group-append"> 8137 <button class="btn btn-outline-secondary btn-append" id="button-addon2" ng-click="clearSingleFormField('.datePicker'+field.questionId)">Clear</button> 8138 </div> 8139 <div class="custom-feedback" ng-if="field.isInvalid && widget.submitAttempt" ng-attr-data-id-feedback="{{field.questionId}}"> 8140 This field is required. 8141 </div> 8142 </div> 8143 </div> 8144 </div> 8145 </div> 8146 </form> 8147 </div> 8148 </div> 8149 <div class="text-right mt-4"> 8150 <button type="button" class="btn btn-primary m-100 btn-rounded mr-2" ng-click="submitForm()">Complete</button> 8151 <button type="button" class="btn btn-cancel m-100 btn-rounded" ng-click="$dismiss()">Cancel</button> 8152 </div> 8153 </div> 8154 </script>
8154 8155 <!-- End Complete Form Modal --> 8156 <!-- Start Household Wallet Modal --> 8157
8157<script type="text/ng-template" id="public-site-household-wallet-modal"> 8158 <div class="modal-header align-items-center"> 8159 <h5 class="modal-title">Household Wallets</h5> 8160 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 8161 <span aria-hidden="true">×</span> 8162 </button> 8163 </div> 8164 <div class="modal-body p-0"> 8165 <table class="table mb-0 border"> 8166 <thead> 8167 <tr> 8168 <th class="bg-light text-dark"> 8169 <p class="mb-0 text-uppercase table-header-txt-sm">Household</p> 8170 </th> 8171 <th class="bg-light text-dark"> 8172 <p class="mb-0 text-uppercase table-header-txt-sm">Wallet Balance</p> 8173 </th> 8174 </tr> 8175 </thead> 8176 <tbody> 8177 <tr ng-repeat="household in listOfHouseholds"> 8178 <td style="vertical-align:middle;"> 8179 <span class="">{{household.name}}</span> 8180 </td> 8181 <td style="vertical-align:middle;"> 8182 <a href="javascript:void(0)" ng-click="openIndividualHouseholdWalletModal(household)" class="link-blue step-next">{{household.balance}}</a> 8183 </td> 8184 </tr> 8185 </tbody> 8186 </table> 8187 </div> 8188 8189 <div class="modal-footer text-right mt-4 border-0"> 8190 <button type="button" class="btn btn-outline-dark m-100 btn-rounded mr-2 px-4" ng-click="$dismiss()">Close</button> 8191 </div> 8192 </script>
8192 8193 <!-- End Household Wallet Modal --> 8194 <!-- Start View Individual Household Wallet Modal --> 8195
8195<script type="text/ng-template" id="public-site-individual-household-wallet-modal"> 8196 <div class="modal-header"> 8197 <h5 class="modal-title border-0">Household Wallets</h5> 8198 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 8199 <span aria-hidden="true">×</span> 8200 </button> 8201 </div> 8202 <div class="modal-body p-0"> 8203 8204 <div class="d-flex py-2 px-3"> 8205 8206 <div class="py-2 mb-0"> 8207 <h6 class="text-500 mb-1">{{household.name}} Wallet</h6> 8208 <h6 class="mb-0">Transaction History</h6> 8209 </div> 8210 </div> 8211 8212 <div class=""> 8213 <table class="table mb-0 border"> 8214 <thead> 8215 <tr> 8216 <th class="bg-light text-dark"> 8217 <p class="mb-0 text-uppercase table-header-txt-sm">Amount</p> 8218 </th> 8219 <th class="bg-light text-dark"> 8220 <p class="mb-0 text-uppercase table-header-txt-sm">Date</p> 8221 </th> 8222 <th class="bg-light text-dark"> 8223 <p class="mb-0 text-uppercase table-header-txt-sm">ID</p> 8224 </th> 8225 <th class="bg-light text-dark w-50"> 8226 <p class="mb-0 text-uppercase table-header-txt-sm">Notes</p> 8227 </th> 8228 </tr> 8229 </thead> 8230 <tbody> 8231 <tr ng-if="listOfHouseholdTransactions.length == 0"><td colspan="4">There are no transactions in this wallet.</td></tr> 8232 <tr ng-repeat="transaction in listOfHouseholdTransactions"> 8233 <td class="align-top"> 8234 <span class="">{{transaction.formattedAmount}}</span> 8235 </td> 8236 <td class="align-top"> {{transaction.formattedCreatedDate}}</td> 8237 <td class="align-top"> 8238 <p class="mb-0">{{transaction.walletTransactionIdentifier}}</p> 8239 </td> 8240 <td class="align-top"> 8241 <div class="accordion-item" ng-if="transaction.notes.length > 0"> 8242 <a href="javascript:void(0)" type="button" data-toggle="collapse" data-target="#collapseNotes{{transaction.walletTransactionIdentifier}}" aria-expanded="false" aria-controls="collapseNotes{{transaction.walletTransactionIdentifier}}" class="collapsed">Notes</a> 8243 8244 <div id="collapseNotes{{transaction.walletTransactionIdentifier}}" class="accordion-collapse collapse" aria-labelledby="collapseNotes{{transaction.walletTransactionIdentifier}}"> 8245 <div class="accordion-body"> 8246 <p class="mb-0 text-break angularJsNewLine">{{transaction.notes}}</p> 8247 8248 </div> 8249 8250 </div> 8251 </div> 8252 <p ng-if="transaction.notes.length <= 0"> - </p> 8253 </td> 8254 </tr> 8255 </tbody> 8256 </table> 8257 </div> 8258 </div> 8259 8260 <div class="modal-footer text-right mt-4 border-0"> 8261 <button class="btn btn-outline-dark d-flex px-4" ng-click="$dismiss()"> 8262 <span class="button-text">Close</span> 8263 </button> 8264 8265 </div> 8266 </script>
8266 8267 <!-- End View Individual Household Wallet Modal --> 8268 <!-- Start Member Wallet Modal --> 8269
8269<script type="text/ng-template" id="public-site-member-wallet-modal"> 8270 <div class="modal-header"> 8271 <h5 class="modal-title border-0">My Wallet</h5> 8272 <button type="button" class="close" aria-label="Close" ng-click="$dismiss()"> 8273 <span aria-hidden="true">×</span> 8274 </button> 8275 </div> 8276 <div class="modal-body p-0"> 8277 8278 <div class="d-flex py-2 px-3"> 8279 8280 <div class="py-2 mb-0"> 8281 <h6 class="text-500 mb-1">My Wallet</h6> 8282 <h6 class="mb-0">Transaction History</h6> 8283 </div> 8284 </div> 8285 8286 <table class="table mb-0 border"> 8287 <thead> 8288 <tr> 8289 <th class="bg-light text-dark"> 8290 <p class="mb-0 text-uppercase table-header-txt-sm">Amount</p> 8291 </th> 8292 <th class="bg-light text-dark"> 8293 <p class="mb-0 text-uppercase table-header-txt-sm">Date</p> 8294 </th> 8295 <th class="bg-light text-dark"> 8296 <p class="mb-0 text-uppercase table-header-txt-sm">ID</p> 8297 </th> 8298 <th class="bg-light text-dark w-50"> 8299 <p class="mb-0 text-uppercase table-header-txt-sm">Notes</p> 8300 </th> 8301 </tr> 8302 </thead> 8303 <tbody> 8304 <tr ng-if="listOfTransactions.length == 0"><td colspan="4">There are no transactions in this wallet.</td></tr> 8305 <tr ng-repeat="transaction in listOfTransactions"> 8306 <td class="align-top"> 8307 <span ng-if="transaction.formattedAmount != null && transaction.formattedAmount.includes('(')"><i class="fas fa-money-check-edit-alt"></i></span> <span class="">{{transaction.formattedAmount}}</span> 8308 </td> 8309 <td class="align-top"> {{transaction.formattedCreatedDate}}</td> 8310 <td class="align-top"> 8311 <p class="mb-0">{{transaction.walletTransactionIdentifier}}</p> 8312 </td> 8313 <td class="align-top"> 8314 <div class="accordion-item" ng-if="transaction.notes.length > 0"> 8315 <a href="javascript:void(0)" type="button" data-toggle="collapse" data-target="#collapseNotes{{transaction.walletTransactionIdentifier}}" aria-expanded="false" aria-controls="collapseNotes{{transaction.walletTransactionIdentifier}}" class="collapsed">Notes</a> 8316 8317 <div id="collapseNotes{{transaction.walletTransactionIdentifier}}" class="accordion-collapse collapse" aria-labelledby="collapseNotes{{transaction.walletTransactionIdentifier}}"> 8318 <div class="accordion-body"> 8319 <p class="mb-0 text-break angularJsNewLine">{{transaction.notes}}</p> 8320 8321 </div> 8322 8323 </div> 8324 </div> 8325 <p ng-if="transaction.notes.length <= 0"> - </p> 8326 </td> 8327 </tr> 8328 </tbody> 8329 </table> 8330 </div> 8331 8332 <div class="modal-footer text-right mt-4 border-0"> 8333 <button class="btn btn-outline-dark d-flex px-4" ng-click="$dismiss()"> 8334 <span class="button-text">Close</span> 8335 </button> 8336 </div> 8337 </script>
8337 8338 <!-- End Member Wallet Modal --> 8339 8340 8341
8341<script src="https://cdn.plaid.com/link/v2/stable/link-initialize.js"></script>
8341 8342 8343 <!-- Plugins -->
8344<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
vendor: 2 bytes, line 8344
8344
8345<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js"></script>
vendor: 2 bytes, line 8345
8345
8346<script src="/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
8346 8347 8348
8349<script type="text/javascript" src="https://cdn.datatables.net/v/bs4/dt-1.10.16/r-2.2.1/datatables.min.js"></script>
8349 8350 8351
8352<script type="text/javascript" src="/plugins/jquery.modernizer.min.js"></script>
8352 8353 8354<!-- Files -->
8355<script type="text/javascript" src="/js/header.js?v=2.1.1.30179"></script>
8355 8356
8357<script type="text/javascript" src="/js/select2/select2.full.min.js"></script>
vendor: 2 bytes, line 8357
8357
8358<script type="text/javascript" src="/plugins/fa/js/all.js"></script>
vendor: 2 bytes, line 8358
8358
8359<script type="text/javascript" src="/plugins/parallax.js"></script>
vendor: 2 bytes, line 8359
8359
8360<script type="text/javascript" src="/js/icheck/icheck.js"></script>
8360 8361
8362<script type="text/javascript" src="/plugins/fontselect.js?v1"></script>
8362 8363
8364<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.6/angular.js"></script>
vendor: 2 bytes, line 8364
8364
8365<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.6/angular-route.js"></script>
vendor: 2 bytes, line 8365
8365
8366<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.6/angular-animate.js"></script>
vendor: 2 bytes, line 8366
8366
8367<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.6/angular-sanitize.js"></script>
vendor: 2 bytes, line 8367
8367
8368<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.6/angular-cookies.js"></script>
8368 8369
8370<script type="text/javascript" src="/js/angular-ui-validate/ui-validate.js"></script>
vendor: 2 bytes, line 8370
8370
8371<script type="text/javascript" src="/js/angular-notify/angular-notify.min.js"></script>
vendor: 2 bytes, line 8371
8371
8372<script type="text/javascript" src="/js/angular-block-ui/angular-block-ui.min.js"></script>
vendor: 2 bytes, line 8372
8372
8373<script type="text/javascript" src="/js/zxcvbn/zxcvbn.js"></script>
vendor: 2 bytes, line 8373
8373
8374<script type="text/javascript" src="/js/zxcvbn/angular-zxcvbn.min.js"></script>
vendor: 2 bytes, line 8374
8374
8375<script type="text/javascript" src="/js/angular-datatables/angular-datatables.min.js"></script>
8375 8376
8377<script type="text/javascript" src="/js/ui-bootstrap-tpls-3.0.6.min.js"></script>
vendor: 2 bytes, line 8377
8377
8378<script type="text/javascript" src="/js/angular-upload/angular-upload.min.js"></script>
8378 <!-- https://github.com/leon/angular-upload -->
8379<script type="text/javascript" src="/js/angular-drag-and-drop-lists/angular-drag-and-drop-lists.min.js"></script>
8379 <!-- https://github.com/marceljuenemann/angular-drag-and-drop-lists -->
8380<script type="text/javascript" src="/js/angular-ui-mask/ui-mask.js"></script>
8380 <!-- https://github.com/angular-ui/ui-mask -->
8381<script type="text/javascript" src="/js/ng-tags-input/ng-tags-input.min.js"></script>
vendor: 2 bytes, line 8381
8381
8382<script type="text/javascript" src="/js/plugins/bootstrap-datepicker/bootstrap-datepicker.min.js"></script>
vendor: 2 bytes, line 8382
8382
8383<script type="text/javascript" src="/js/plugins/bootstrap-datepicker/moment.js"></script>
vendor: 2 bytes, line 8383
8383
8384<script type="text/javascript" src="/js/plugins/bootstrap-datepicker/daterangepicker.js"></script>
vendor: 2 bytes, line 8384
8384
8385<script type="text/javascript" src="/plugins/bootstrap/js/bootstrap-multiselect.js?v=1"></script>
8385 8386<!--
8386<script type="text/javascript" src="~/plugins/colorpicker/js/bootstrap-colorpicker.js"></script>
8386-->
8387<script type="text/javascript" src="/plugins/newcolorpicker/jquery.colorpicker.js"></script>
8387 8388
8389<script type="text/javascript" src="/plugins/ckeditor/ckeditor.js"></script>
vendor: 2 bytes, line 8389
8389
8390<script type="text/javascript" src="/plugins/cropperjs/cropper.js"></script>
vendor: 2 bytes, line 8390
8390
8391<script type="text/javascript" src="/plugins/cropperjs/jquery-cropper.js"></script>
vendor: 2 bytes, line 8391
8391
8392<script type="text/javascript" src="/plugins/bstreeview/bstreeview.js?v=1"></script>
8392 8393
8394<script type="text/javascript" src="/js/fontawesome-iconpicker.js"></script>
8394 8395
8396<script type="text/javascript" src="/js/ng-controllers/main.js?v=2.1.1.30179"></script>
8396 8397
8398<script type="text/javascript" src="/plugins/evo-calendar/evo-calendar.js"></script>
vendor: 2 bytes, line 8398
8398
8399<script type="text/javascript" src="/plugins/slick/slick.js"></script>
vendor: 2 bytes, line 8399
8399
8400<script type="text/javascript" src="/plugins/emoji-picker/js/config.js"></script>
vendor: 2 bytes, line 8400
8400
8401<script type="text/javascript" src="/plugins/emoji-picker/js/util.js"></script>
vendor: 2 bytes, line 8401
8401
8402<script type="text/javascript" src="/plugins/emoji-picker/js/emoji-picker.js"></script>
vendor: 2 bytes, line 8402
8402
8403<script type="text/javascript" src="/plugins/emoji-picker/js/jquery.emojiarea.js"></script>
vendor: 2 bytes, line 8403
8403
8404<script type="text/javascript" src="/plugins/stepper/mdb.min.js"></script>
vendor: 2 bytes, line 8404
8404
8405<script type="text/javascript" src="/plugins/stepper/steppers.min.js"></script>
8405 8406
8407<script type="text/javascript" src="/plugins/unitegallery-master/unitegallery-master/dist/js/unitegallery.js"></script>
vendor: 2 bytes, line 8407
8407
8408<script type="text/javascript" src="/plugins/unitegallery-master/unitegallery-master/dist/themes/tilesgrid/ug-theme-tilesgrid.js"></script>
8408 8409
8410<script type="text/javascript" src="/js/plugins/mobiscroll/js/mobiscroll.jquery.min.js"></script>
8410 8411
8412<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDpOPKSpS9Jj2Iv9SP2J6OrAC-MERlJd0E&loading=async"></script>
vendor: 2 bytes, line 8412
8412
8413<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
vendor: 64 bytes, lines 8413-8415
8413 8414 8415<script src="https://www.google.com/recaptcha/api.js?render=
84156LeBhgskAAAAAE14Yen7FmvsB0LI-rK5DBohK0GX
vendor: 15 bytes, lines 8415-8416
8415"></script> 8416
8417<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js"></script>
8417 8418 8419
8420<script type="text/javascript"> 8421 angular.module('BungeeApp') 8422 .factory('AppConstants', function ($filter) { 8423 8424 var me = { 8425 CurrentUser: { 8426 }, 8427 EmptyGuid: '00000000-0000-0000-0000-000000000000', 8428 StripePublicKey: 'pk_live_51HfURkAvd0eqUuOFSehxtTXsfbdbEmfom5gOWAQBg0ARybbnaENliDKCHg0MgHnGKnVJWJLWpeaRKrLm7xje0VrY002Omjpqux', 8429 PortalUrl: 'pk_live_51HfURkAvd0eqUuOFSehxtTXsfbdbEmfom5gOWAQBg0ARybbnaENliDKCHg0MgHnGKnVJWJLWpeaRKrLm7xje0VrY002Omjpqux' 8430 }; 8431 8432 return me; 8433 }); 8434 8435 $(document).ready(function () { 8436 setTimeout(function () { $('[data-toggle="popover"]').popover(); }, 100); 8437 }); 8438</script>
8438 8439
8439<script type="text/javascript" src="/js/ng-controllers/public-site.js?v1=2.1.1.30179"></script>
8439 8440 8441 <!-- MODALS --> 8442
8442<script type="text/javascript" src="/js/ng-controllers/modals/public-login-register.js?v=2.1.1.30179"></script>
8442 8443
8443<script type="text/javascript" src="/js/ng-controllers/customer/violation-detail.js?v=2.1.1.30179"></script>
8443 8444</body> 8445</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.