1 2 3 4 5 6 <!DOCTYPE html> 7 <html class="" lang="en"> 8 <head> 9 10 11 12 <meta charset="utf-8" /> 13 <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> 14 <meta name="viewport" content="width=device-width, initial-scale=1"> 15 16 17 18 <meta property="og:site_name" content="K4 NW & Rockies" /> 19 <meta property="og:description" content="" /> 20 <meta property="og:title" content="Contact" /> 21 <meta property="og:url" content="https://www.k4northwest.com:443/cpages/contact" /> 22 <meta property="og:image" content="https://d3lut3gzcpx87s.cloudfront.net/image_encoded/aHR0cHM6Ly9zaWxrc3RhcnQuczMuYW1hem9uYXdzLmNvbS81ZTI5MzRmNDY4NjIxMzI3MGE2MGU2MDEuSlBH/560x292" /> 23 <meta property="og:updated_time" content="2025-12-30T21:29:17.658000" /> 24 <meta property="og:type" content="website" /> 25 26 27 <meta property="twitter:image" content="https://d3lut3gzcpx87s.cloudfront.net/image_encoded/aHR0cHM6Ly9zaWxrc3RhcnQuczMuYW1hem9uYXdzLmNvbS81ZTI5MzRmNDY4NjIxMzI3MGE2MGU2MDEuSlBH/560x292" /> 28 <meta property="twitter:description" content="" /> 29 <meta property="twitter:card" content="summary" /> 30 <meta property="twitter:title" content="Contact" /> 31 32 33 <title>Contact</title> 34 35 <meta name="description" content=""/> 36 <meta name="keywords" content=""/> 37 38 39 40 41 <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> 42 43 44 45 <link href="https://d3lut3gzcpx87s.cloudfront.net/css/sass/1782334412.64_9e42a8e746f2eb86eac3be5b8d705da0/k4seattle/premium.css" rel="stylesheet" > 46 <link href="https://d3lut3gzcpx87s.cloudfront.net/css/sass/1782334412.64_9e42a8e746f2eb86eac3be5b8d705da0/k4seattle/premium_extra.css" rel="stylesheet" > 47 <link href="https://d3lut3gzcpx87s.cloudfront.net/css/sass/1782334412.64_9e42a8e746f2eb86eac3be5b8d705da0/k4seattle/custom-premium1.css" rel="stylesheet" > 48 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css" 49 integrity="sha512-Evv84Mr4kqVGRNSgIGL/F/aIDqQb7xQ2vcrdIwxfjThSH8CSR7PBEakCr51Ck+w+/U6swU2Im1vVX0SVk9ABhg==" 50 crossorigin="anonymous" referrerpolicy="no-referrer"/> 51 <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> 52 <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> 53 <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 54 <!--[if lt IE 9]> 55
55<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
55 56
56<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
56 57 <![endif]--> 58 <!--[if IE]><link rel="stylesheet" href="/res/sass/all-ie-only.css" /><![endif]--> 59 60 <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Lato:400,400italic,700,700italic|Lato:700,700italic"> 61 62 <link rel="stylesheet" href="https://d3lut3gzcpx87s.cloudfront.net/res/js/os/jQuery-File-Upload/css/jquery.fileupload-ui.css"> 63 64
64<script> 65 window.ss = window.ss || {}; 66 ss.config = ss.config || {}; 67 ss.config.CDN_URL = "https://d3lut3gzcpx87s.cloudfront.net"; 68 ss.config.THEME = "premium1_ada" 69 ss.config.PARENT_THEME = "" 70 ss.config.THEME_CONFIG = {"email_domain_based_plans": true, "hide_blog_title": true, "has_banners": true, "home_slideshow_template": true, "has_company_banners": true, "has_font_awesome": true, "parent_theme": "version2", "cpage_editor_v2": true, "disallow_company_home_page": true, "has_article_teasers": true, "has_job_teasers": true, "root_element_selector": ".site", "default_user_directory_size": 9, "slide_search_v2": true, "has_event_teasers": true, "user_headlines": true, "cpage_extra_heading_class": "panel-heading", "widget_configs": true, "ckeditor_css_replacement": "premium.css", "has_configurable_footer_columns": true} 71 ss.config.FEATURES = {"notification_customization": true, "failed_login_attempt_lockout": true, "individual_choose_chapter_at_apex": true}; 72 ss.config.CONSTANTS = {"MARITAL_STATUS_WIDOWED": "widowed", "PRIVACY_PUBLIC": "public", "STATUS_UNSUBSCRIBED": "Unsubscribed", "MEMBERSHIPS": {"PROCESSED_BY_ADMIN_OVERRIDE": "admin_override"}, "FEATURED": "featured", "STATUS_INACTIVE": "Inactive", "POPULAR": "popular", "RECENT": "recent", "ALPHABETICAL": "alphabetical", "PRIVACY_PRIVATE": "private", "MARITAL_STATUS_DIVORCED": "divorced", "IMAGE_DIMENSIONS_SELECTOR_SUPPORTED_APPS": ["group_email_editor", "event", "fund", "chapter", "job", "article"], "CHOOSE_MULTIPLE_CHAPTERS": "multiple_chapters", "STATUS_CONTACT": "Contact", "INVOICE_ONLY": "invoice_only", "LISTING_MEMBER_OPTIONS": [["member_active", "Only show members with an active membership plan"], ["always_show", "Show members that are either active or inactive"]], "CHOOSE_HOME_CHAPTER": "home_chapter", "PERCENT_DISCOUNT": "percent", "MEMBERSHIP_ANY": "any", "DOLLAR_DISCOUNT": "dollar", "WORK_ADDRESS": "work_address", "HOME_ADDRESS": "home_address", "CPAGE_REVISION_LIMIT": 10, "DISPLAY_DATE": "display_date", "MARITAL_STATUS_MARRIED": "married", "DEFAULT_WELCOME_MESSAGE": "Hello {first_name},<br><br>\nPlease follow <a href=\"{invite_url}\">this link</a> to complete the signup process.<br><br>\nThe {network_name} Team", "DEFAULT_POST_LENGTH_IN_DAYS": 60, "MARITAL_STATUS_SINGLE": "single", "CHOOSE_NONE": "no_chapters", "GROUP_EMAIL_EDITOR": "group_email_editor", "DEFAULT_PASSWORD_MINIMUM_LENGTH": 6, "STATUS_SUBSCRIBED": "Subscribed", "STATUS_ACTIVE": "Active", "STATUS_NOT_SUBSCRIBED": "Not Subscribed", "PRIVACY_PUBLIC_TO_GROUPS": "public_to_groups", "MEMBERSHIP_OTHER": "other", "MEMBERSHIP_NON_MEMBER": "non_member", "LIFETIME": "Lifetime", "MEMBERSHIP_MEMBER": "member", "FONT_WEIGHT_REGULAR": "400", "FONT_STYLE_ITALIC": "italic", "CUSTOM_PLAN_FIELD_VISIBILITY_OPTIONS": ["signup", "renewal", "admin_signup", "admin_renewal"], "ONLINE_OR_INVOICE": "online_or_invoice", "SHARING_PLATFORMS": [{"url": "https://x.com/intent/tweet?text={title}:&url={item_url}", "icon": "x-twitter", "name": "X", "key": "x", "label": "Share on X"}, {"url": "https://www.facebook.com/sharer.php?u={item_url}&t={title}", "icon": "facebook-square", "name": "Facebook", "key": "facebook", "label": "Share on Facebook"}, {"url": "https://www.linkedin.com/shareArticle?mini=true&url={item_url}&title={title}", "icon": "linkedin", "name": "LinkedIn", "key": "linkedin", "label": "Share on LinkedIn"}, {"url": "https://reddit.com/submit?url={item_url}&title={title}", "icon": "reddit", "name": "Reddit", "key": "reddit", "label": "Submit to Reddit"}, {"url": "https://pinterest.com/pin/create/link/?url={item_url}&media={item_logo}", "icon": "pinterest", "name": "Pinterest", "key": "pinterest", "label": "Save on Pinterest"}], "GOOGLE_FONTS": ["Lato", "Lora", "Merriweather", "Montserrat", "Open Sans", "Playfair Display", "Raleway", "Roboto", "Roboto Slab"], "LISTING_COMPANY_OPTIONS": [["company_or_user_active", "Show companies with an active company membership plan or an active user"], ["company_active", "Only show companies with an active company membership plan"], ["always_show", "Show companies that are either active or inactive"]]}; 73 ss.config.TERMS = {"singular_individual": "person", "singular_employee": "Employee", "plural_event": "Events", "singular_group": "chapter / committee", "plural_employee": "Employees", "plural_company": "Companies", "company_indefinite_article": "a", "singular_article": "article", "singular_blog": "blog", "plural_blog": "Blogs", "plural_job": "Jobs", "plural_article": "Articles", "plural_group": "Chapters / committees", "plural_individual": "People", "singular_event": "event", "singular_job": "job", "singular_company": "company"} 74 ss.config.ASSETS = {"team_categories": ["core-team", "chapter-leaders"]} 75 </script>
75 76 77
77<script type="text/javascript" src="https://d3lut3gzcpx87s.cloudfront.net/res/js/os/require.min.js"></script>
77 78 79
79<script type="text/javascript" src="https://d3lut3gzcpx87s.cloudfront.net/res/js/os/jquery-1.11.3.min.js"></script>
79 80 81
81<script type="text/javascript"> 82 var js_marker = "1788383490.36"; 83 84 var FILE_UPLOAD = '/res/js/os/jQuery-File-Upload/js/'; 85 86 require.config({ 87 baseUrl: "/res/js/os", 88 paths: { 89 'jquery.ui.widget': FILE_UPLOAD + 'vendor/jquery.ui.widget', 90 91 tmpl: 'http://blueimp.github.com/JavaScript-Templates/tmpl.min.js', 92 93 fileupload : FILE_UPLOAD + 'jquery.fileupload', 94 // File processing 95 fileuploadfp : FILE_UPLOAD + 'jquery.fileupload-fp', 96 fileuploadui : FILE_UPLOAD + 'jquery.fileupload-ui' 97 }, 98 shim:{ 99 underscore: { 100 exports: '_' 101 }, 102 jquery: { 103 exports: '$', 104 init: function(){ 105 return $; 106 } 107 } 108 } 109 }); 110 111 // 112 function ss_require(list_of_files, func){ 113 var files_with_marker = []; 114 115 for(f_index in list_of_files){ 116 files_with_marker.push(list_of_files[f_index]+'?marker='+js_marker); 117 } 118 119 require(files_with_marker,function(templates){ 120 func(); 121 }); 122 } 123 124 125 </script>
125 126 127
127<script type="text/javascript" src="https://d3lut3gzcpx87s.cloudfront.net/res/js/os/jquery-migrate-1.1.1.min.js"></script>
127 128 129 130
130<script type="text/javascript" src='https://d3lut3gzcpx87s.cloudfront.net/res/js/os/jquery-ui-1.10.2/ui/jquery.ui.dialog-width.js?time_param=1594821705.81'></script>
130 131
131<script type="text/javascript" src='https://d3lut3gzcpx87s.cloudfront.net/js/bunch/eJylWGmWozgMvtCEdNXrNxfoK@R@njAKcZUX2jZUpU8@MlsoY2yo!REw8acFSdbC1aC9vtmrpuufDs2j6EHwGhwWkqvizf5z3UdAXXPHtQJxkejuurYRok7VaCzTBvc3rDNcNRHiSmtHm9BG9qSWqFxMTavVa1z1mzYS3K@OGFTscXkpfhY@Ihxa0TVcLVStAIZ3LUjfKHjZtV3bauPishkYdMVL8eN137TQOc20bAW60FyBThVcqurPPifBexxXgUWBvVdafeHev17tUwCX0GCJ5Fpt9lGTGGsPQGoOQjcbYPCH1DUK6@8fVuldW3QWQ@U2GO5Q5jCN0V2bA3mfgHrkYNj7iMyAFLoPbd4DGNPKGS0EBZHHPh8D3AevG3QDZlzm9m0RNf8urpRoLUXAYbzBnuNHHr4X23l06eCA!l8oItGRI4n7OEclNAOfA0!SNajQcHaSKhZfWUmR!M6agrJ7o01oizl3XBVQkLSU9vYAt04xb5XwjC8AEiW1uvoyksPQD3c1mTDjbT5haWwFFv@9uZNdfVaa0vVdWwzduiPXH4Dsq46n8BAUHGQgvpClebXw8PVxvmdsc!Moajve0ny7Vmio5zJBVtL!qCVJJubsfSoqSfCUHud7zqeddVqWs4TV0@cJ02atb5TxgIr9apmRFadJivGVi9QRzteD9UNG1D5dUpzshOMOKoHPBmES9Nw6QzxKy9Ou086Xh7S!!2Rp80iUFXlhvJ3BlsNbZKx4M6DYnduVHZa@Ugwo6XBFnTT11X9jxWQRMOT@8ZpRfo1M6vymK@@LpYflzZZVhkKbBtT0Ol8ehs4yrdM!rUWBQ2FJM5gmFE@!XG5JKO@7VPt78Mzcrj7@CZvrvQbYU0zePdjTjTRl8mT4Dma45Kuab1vmexyd0ATqnjyK9XGKMWcex@s0FNp9ajIvlhncVNmVlX2D0HKqHCZgELhBgvXVRbVdbCL0NjEURKYYE@0OL0mFsls4!oeBFwgRENCqpeaGRiwqxDrmxligcDLKwDQPpYb3yGDF7sjeDQ4T6D588FdZU!Hm1NilhrqWPFb2etOfb2aYmMQNaNu1Rwe0kolOhh1qJpy!T7PUw!@Q2q46T99q60q1mZASFAr642CLYNi9rPTncRo0ZhMGCXgkGhNoCSccI4PvQrl3dY6rM8oMzhsqznF@oZGcTut2eklrtpmyUnDeqFN4zag7OI5nIFDVcMLHY2Kc6uyJF3@W1xNENB5uCshS0CrfHzPTycqu1rkJQ9DMP0wmJVVBFJs21iNGwLD@DUbMKz9Ntf!f2@g6B@kMUdwC5eixqQlfzu8@t09zGXU5xuTZlqSnRA!bojwPZHdoKamWVFbmHi83Jq4a3BJqX6aTcIfWDZfjXJ1vOw7hp!nRR3i2315L4KrnuUlnjTe2j1hz9XVb4Kel44jmsu2B4HbjnxhSMt0!SqepvvG20mDqOGcrwTjfu8S!8G8xqc@2q95p0LUcC1jYkhmUvJMvIeY@wdAx0g==/gl4127'></script>
131 132 133
133<script src="https://js.stripe.com/v3/"></script>
133 134 135
135<script type="text/javascript" src="https://d3lut3gzcpx87s.cloudfront.net/res/js/os/jquery-ui-1.10.2/ui/minified/jquery-ui.min.js"></script>
135 136 137 <link href="https://fonts.googleapis.com/css?family=Roboto|Cormorant+Garamond" rel="stylesheet"> 138 139 140 141 142 143 144
144<script> 145 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 146 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 147 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 148 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 149 150 // SS-3783 had to do it like this because 151 // trying to conditionally return an object or a string means 152 // this will return auto, instead of 'auto' 153 ga('create', 'UA-140720495-1', 'auto'); 154 ga('set', 'anonymizeIp', true); 155 ga('send', 'pageview'); 156 </script>
156 157 158 159 160 161 162 <!-- Google tag (gtag.js) -->
vendor: 68 bytes, lines 162-163
162 163 <script async src="https://www.googletagmanager.com/gtag/js?id=
163G-67MEEPLG4Z
vendor: 16 bytes, lines 163-164
163"></script> 164
164<script> 165
vendor: 152 bytes, lines 165-169
165window.dataLayer = window.dataLayer || []; 166 function gtag(){dataLayer.push(arguments);} 167 gtag('js', new Date()); 168 169 gtag('config', '
169G-67MEEPLG4Z
vendor: 33 bytes, lines 169-170
169', { 'anonymize_ip': true}); 170
170</script>
170 171 172 173 174 175 176 <link rel="canonical" href="https://www.k4northwest.com:443/cpages/contact"/> 177 178 179 180 181
181<script> 182 SS.app = { 183 "current_company": { 184 "company_name": null, 185 "company_id": null 186 }, 187 "current_network": { 188 "spouse_fields_enabled": false, 189 "currency": "USD", 190 "company_phone_required": false, 191 "enable_company_locations": false, 192 "id": "4eaaebc8533907395f0059c0", 193 "funds_enabled": false, 194 "base_url": "https://www.k4northwest.com:443/", 195 "company_contact_info_required": false, 196 "detailed_attendee_company_info_checked": "", 197 "permaid": "k4seattle", 198 "has_plans": true, 199 "duplicate_company_name_allowed": false, 200 "has_custom_join_url": true, 201 "company_profile_social_media": false, 202 "enable_share_popup": true, 203 "member_number_enabled": false, 204 "password_minimum_length": "6", 205 "company_website_required": false, 206 "name": "Keiretsu Forum Northwest & Rockies", 207 "contact_form_email": "", 208 "add_employee_help_text": "", 209 "currency_symbol": "$", 210 "company_address_required": false 211 }, 212 "current_user": { 213 "phone_number": null, 214 "city": null, 215 "first_name": null, 216 "last_name": null, 217 "province": null, 218 "name": null, 219 "admin": false, 220 "created": null, 221 "url": null, 222 "email": null, 223 "status": null, 224 "network_admin": false, 225 "postal_code": null, 226 "advanced": false, 227 "comment_pic": "<img src='https://d3lut3gzcpx87s.cloudfront.net/res/img/v2/placeholder.png' style='padding-top: 0px;padding-bottom:0px;padding-left: 0px;padding-right:0px; ' class=\"img-responsive\" alt=\"\" >", 228 "additional_info": null, 229 "id": null, 230 "street_address": null, 231 "permissions": {} 232 } 233}; 234 SS.page = { 235 config: { 236} 237 }; 238 </script>
238 239 240 241 242
242<script> 243 $( function(){ 244 var lastError = null; 245 var errors = []; 246 var errorBatch = null; 247 248 window.onerror = function(message, url, lineNumber) { 249 250 // If a user is using a Titanium Appcelerator app, it will cause errors, to a huge volume 251 // and not because our system, but because it will constantly be looking for something the page 252 // doesn't have 253 if (message.indexOf("TiApp is not defined") > 0) { 254 return; 255 } 256 257 var error = { 258 message: message, 259 url: url, 260 lineNumber: lineNumber 261 }; 262 263 // If the error is different than the last one we saw, log it, 264 // otherwise, don't worry about it. 265 if (!lastError || 266 (lastError.message != error.message || 267 lastError.url != error.url || 268 lastError.lineNumber != error.lineNumber) 269 ) { 270 errors.push(error); 271 lastError = error; 272 273 // Batch the errors, so that we don't DOS the servers with error messages 274 if (!errorBatch) { 275 // Batch any error messages within 1 second, so that we can send them as a group 276 errorBatch = window.setTimeout(function () { 277 $.ajax({ 278 url: '/error/log_errors', 279 type: "POST", 280 data: JSON.stringify(errors), 281 contentType: "application/json" 282 }); 283 errors = []; 284 lastError = null; 285 },60000); 286 } 287 } 288 // Allow the default error handler to go as well. 289 return false; 290 }; 291 }); 292 </script>
292 293 294 295
295<script type="text/javascript">$("document").ready(function(){if($("#mti_wfs_colophon").length>0){$("#mti_wfs_colophon").hide()}});</script>
295 296 297<!-- Facebook Pixel Code --> 298
299<script>
vendor: 407 bytes, lines 299-317
299 300 301!function(f,b,e,v,n,t,s) 302 303{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 304 305n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 306 307if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 308 309n.queue=[];t=b.createElement(e);t.async=!0; 310 311t.src=v;s=b.getElementsByTagName(e)[0]; 312 313s.parentNode.insertBefore(t,s)}(window,document,'script', 314 315'https://connect.facebook.net/en_US/fbevents.js'); 316 317fbq('init', '
317684544112271877
vendor: 32 bytes, lines 317-320
317'); 318 319fbq('track', 'PageView'); 320
321</script>
321 322 323<noscript> 324 325<img height="1" width="1" 326 327src="https://www.facebook.com/tr?id=684544112271877&ev=PageView 328 329&noscript=1"/> 330 331</noscript> 332 333<!-- End Facebook Pixel Code --> 334 335<!-- Start of LiveChat (www.livechatinc.com) code --> 336
337<script> 338 339 window.__lc = window.__lc || {}; 340 341 window.__lc.license = 12189867; 342 343 ;(function(n,t,c){function i(n){return e._h?e._h.apply(null,n):e._q.push(n)}var e={_q:[],_h:null,_v:"2.0",on:function(){i(["on",c.call(arguments)])},once:function(){i(["once",c.call(arguments)])},off:function(){i(["off",c.call(arguments)])},get:function(){if(!e._h)throw new Error("[LiveChatWidget] You can't use getters before load.");return i(["get",c.call(arguments)])},call:function(){i(["call",c.call(arguments)])},init:function(){var n=t.createElement("script");n.async=!0,n.type="text/javascript",n.src="https://cdn.livechatinc.com/tracking.js",t.head.appendChild(n)}};!n.__lc.asyncInit&&e.init(),n.LiveChatWidget=n.LiveChatWidget||e}(window,document,[].slice)) 344 345</script>
345 346 347<noscript><a href="https://www.livechatinc.com/chat-with/12189867/" rel="nofollow">Chat with us</a>, powered by <a href="https://www.livechatinc.com/?welcome" rel="noopener nofollow" target="_blank">LiveChat</a></noscript> 348 349<!-- End of LiveChat code --> 350
351<script type="text/javascript"> 352_linkedin_partner_id = "2569228"; 353window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; 354window._linkedin_data_partner_ids.push(_linkedin_partner_id); 355</script>
355<script type="text/javascript"> 356(function(){var s = document.getElementsByTagName("script")[0]; 357var b = document.createElement("script"); 358b.type = "text/javascript";b.async = true; 359b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; 360s.parentNode.insertBefore(b, s);})(); 361</script>
361 362<noscript> 363<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=2569228&fmt=gif" /> 364</noscript> 365 366<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 366-367
366 <script async 367src="https://www.googletagmanager.com/gtag/js?id=
367G-05T53L5LNF
vendor: 12 bytes, line 367
367"></script>
367<script>
vendor: 127 bytes, lines 368-369
368window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} 369gtag('js', new Date()); gtag('config', '
369G-05T53L5LNF
vendor: 4 bytes, line 369
369');
369</script>
369 370 371 </head> 372 <body class=" 373 374 375 376 377 cpage 6954442d830f78293b194ef0 cpage_6954442d830f78293b194ef0 cpage_contact cpage-template4 378 379 " 380 > 381 382 <a href="#main" class="sr-only sr-only-focusable">Skip to Main Content</a> 383 384 385 386 387 388 389 390 391 392 <nav id="main-menu-mobile" class="hidden"> 393 <ul> 394 395 396 397 <li class="clearfix"> 398 <a class="signup_button mobile-menu-prime-link" href="https://www.k4northwest.com/cpages/investor-engagement-apex" >Subscribe Now</a> 399 <a class="mobile-menu-prime-link" href="/auth/login">Login</a> 400 </li> 401 402 <li> 403 404 <a href="/cpages/about" class="" 405 > 406 407 408 About Us 409 410 </a> 411 412 413 <ul> 414 <li> 415 416 <a href="/cpages/about" class="" 417 > 418 419 About Keiretsu 420 </a> 421 </li> 422 <li> 423 424 <a href="/cpages/key-differentiators" class="" 425 > 426 427 Key Differentiators 428 </a> 429 </li> 430 <li> 431 432 <a href="/articles" class="" 433 > 434 435 Latest News 436 </a> 437 </li> 438 <li> 439 440 <a href="/team" class="" 441 > 442 443 Team Page 444 </a> 445 </li> 446 </ul> 447 448 449 </li> 450 <li> 451 452 <a href="/events" class="" 453 > 454 455 456 Events 457 458 </a> 459 </li> 460 <li> 461 462 <a href="/cpages/investor-engagement-apex" class="" 463 > 464 465 466 Membership 467 468 </a> 469 470 471 <ul> 472 <li> 473 474 <a href="/cpages/investor-engagement-apex" class="" 475 > 476 477 Membership FAQ 478 </a> 479 </li> 480 <li> 481 482 <a href="/cpages/guest-guide" class="" 483 > 484 485 Guest Guide 486 </a> 487 </li> 488 <li> 489 490 <a href="/cpages/code-of-conduct" class="" 491 > 492 493 Code of Conduct 494 </a> 495 </li> 496 </ul> 497 498 499 </li> 500 <li> 501 502 <a href="/cpages/process-benefits" class="" 503 > 504 505 506 For Entrepreneurs 507 508 </a> 509 510 511 <ul> 512 <li> 513 514 <a href="/cpages/process-benefits" class="" 515 > 516 517 Entrepreneur FAQ 518 </a> 519 </li> 520 <li> 521 522 <a href="https://app.dealum.com/#/company/application/new/47381/diszns8ldr0s5tjkozubkpi889bw2xj7" class="" 523 > 524 525 Apply to Present 526 </a> 527 </li> 528 </ul> 529 530 531 </li> 532 <li> 533 534 <a href="/cpages/due-diligence-process" class="" 535 > 536 537 538 Due Dilligence 539 540 </a> 541 542 543 <ul> 544 <li> 545 546 <a href="/cpages/due-diligence-process" class="" 547 > 548 549 Due Dilligence Process 550 </a> 551 </li> 552 <li> 553 554 <a href="/cpages/due-diligence-values" class="" 555 > 556 557 Due Dilligence Values 558 </a> 559 </li> 560 <li> 561 562 <a href="/cpages/due-diligence-roadmap" class="" 563 > 564 565 Due Dilligence Roadmap 566 </a> 567 </li> 568 </ul> 569 570 571 </li> 572 <li> 573 574 <a href="/cpages/syndication-partners" class="" 575 > 576 577 578 Partners 579 580 </a> 581 </li> 582 <li> 583 584 <a href="https://app.dealum.com/#/login?redir=%2Fdealroom%2F7993" class="" 585 > 586 587 588 Members Only 589 590 </a> 591 592 593 <ul> 594 <li> 595 596 <a href="https://app.dealum.com/#/dealroom/7993" class="" 597 target='_blank' > 598 599 Dealum Platform 600 </a> 601 </li> 602 <li> 603 604 <a href="https://keiretsuforum.tv/" class="" 605 target='_blank' > 606 607 Keiretsu TV 608 </a> 609 </li> 610 </ul> 611 612 613 </li> 614 <li> 615 616 <a href="/cpages/contact" class="selected" 617 > 618 619 620 Contact 621 622 </a> 623 </li> 624 <li> 625 626 <a href="/cpages/careers" class="" 627 > 628 629 630 Careers 631 632 </a> 633 </li> 634 635 636 </ul> 637 </nav> 638
638<script type="text/javascript"> 639 $(document).ready(function() { 640 $("#main-menu-mobile").removeClass('hidden'); 641 $("#main-menu-mobile").mmenu({ 642 position:'right', 643 direction:'left' 644 }); 645 }); 646 </script>
646 647 648 649 650 651 <div id='fb-root'></div> 652 653 654 <div class="site" id="page"> 655 <header class="site-header 656 "> 657 658 659 <a href="#main-menu-mobile" class="visible-sm visible-xs mobile-menu-toggle-switch" aria-label="Mobile Menu"> 660 <span class="fas fa-bars fa-2x" aria-hidden="True"></span><span class="sr-only">Toggle mobile menu</span> 661 </a> 662 663 <div id="header_topbar" class="hidden-sm hidden-xs"> 664 665 <div class="container"> 666 <div class="row"> 667 <div class="col-xs-12"> 668 <div class="pull-left"> 669 <div class="navbar-header"> 670 671 672 <a href="/cpages/home" class="navbar-brand"> 673 674 675 676 <img src='https://d3lut3gzcpx87s.cloudfront.net/image_encoded/aHR0cHM6Ly9zaWxrc3RhcnQuczMuYW1hem9uYXdzLmNvbS85MmUyN2FjYi1kN2RkLTQ3YzMtYWQyNS03MGQyNjMzMzUwY2QucG5n/500x266fPNG' 677 style='padding-top: 0px;padding-bottom:0px;padding-left: 0px;padding-right:0px; ' 678 alt='Keiretsu Forum Northwest & Rockies' 679 resize_with_padding='True' 680 class="img-responsive" 681 alt="" 682 > 683 684 685 </a> 686 687 </div> 688 </div> 689 <div id="header-account-buttons" class="pull-right"> 690 <div id="header_topbar_account" class="pull-left"> 691 <div class="sign_in_block media_signin"> 692 <ul class="nav navbar-nav pull-right sign_in_ul sign_in_section_js"> 693 694 695 696 697 <li class="sign_in_button" id="login_button"> 698 <a href="#" data-toggle="modal" data-target="#sign_in_modal">Login</a> 699 </li> 700 701 702 703 <li> 704 <a class="signup_button" href="https://www.k4northwest.com/cpages/investor-engagement-apex" >Subscribe Now</a> 705 </li> 706 707 708 </ul> 709 </div> 710 </div> 711 </div> 712 </div> 713 </div> 714 </div> 715 716 </div> 717 <div class="navbar navbar-default" role="navigation" aria-label="Main Menu"> 718 <div class="container"> 719 <div class="visible-xs visible-sm"> 720 721 722 <a href="/cpages/home" class="navbar-brand"> 723 724 725 726 <img src='https://d3lut3gzcpx87s.cloudfront.net/image_encoded/aHR0cHM6Ly9zaWxrc3RhcnQuczMuYW1hem9uYXdzLmNvbS85MmUyN2FjYi1kN2RkLTQ3YzMtYWQyNS03MGQyNjMzMzUwY2QucG5n/500x266fPNG' 727 style='padding-top: 0px;padding-bottom:0px;padding-left: 0px;padding-right:0px; ' 728 alt='Keiretsu Forum Northwest & Rockies' 729 resize_with_padding='True' 730 class="img-responsive" 731 alt="" 732 > 733 734 735 </a> 736 737 </div> 738 739 740 741 742 743 744 745 746 747 748 749 750 <div class="navbar-collapse collapse hidden-sm hidden-xs main-nav"> 751 <ul class="nav navbar-nav" data-sm-options="{subMenusSubOffsetX: -5, subMenusMaxWidth: 'None'}"> 752 753 754 755 <li class=" 756 757 dropdown "> 758 <a href="/cpages/about" 759 class=" 760 761 " 762 data-hover=dropdown data-toggle=dropdown data-target=# 763 > 764 765 766 About Us 767 768 </a> 769 770 771 <ul class="dropdown-menu"> 772 773 774 775 776 <li class=" 777 778 "> 779 <a href="/cpages/about" 780 class=" 781 782 " 783 784 > 785 786 About Keiretsu 787 </a> 788 </li> 789 790 791 792 793 <li class=" 794 795 "> 796 <a href="/cpages/key-differentiators" 797 class=" 798 799 " 800 801 > 802 803 Key Differentiators 804 </a> 805 </li> 806 807 808 809 810 <li class=" 811 812 "> 813 <a href="/articles" 814 class=" 815 816 " 817 818 > 819 820 Latest News 821 </a> 822 </li> 823 824 825 826 827 <li class=" 828 829 "> 830 <a href="/team" 831 class=" 832 833 " 834 835 > 836 837 Team Page 838 </a> 839 </li> 840 </ul> 841 842 843 </li> 844 845 846 847 <li class=" 848 849 "> 850 <a href="/events" 851 class=" 852 853 " 854 855 > 856 857 858 Events 859 860 </a> 861 </li> 862 863 864 865 <li class=" 866 867 dropdown "> 868 <a href="/cpages/investor-engagement-apex" 869 class=" 870 871 " 872 data-hover=dropdown data-toggle=dropdown data-target=# 873 > 874 875 876 Membership 877 878 </a> 879 880 881 <ul class="dropdown-menu"> 882 883 884 885 886 <li class=" 887 888 "> 889 <a href="/cpages/investor-engagement-apex" 890 class=" 891 892 " 893 894 > 895 896 Membership FAQ 897 </a> 898 </li> 899 900 901 902 903 <li class=" 904 905 "> 906 <a href="/cpages/guest-guide" 907 class=" 908 909 " 910 911 > 912 913 Guest Guide 914 </a> 915 </li> 916 917 918 919 920 <li class=" 921 922 "> 923 <a href="/cpages/code-of-conduct" 924 class=" 925 926 " 927 928 > 929 930 Code of Conduct 931 </a> 932 </li> 933 </ul> 934 935 936 </li> 937 938 939 940 <li class=" 941 942 dropdown "> 943 <a href="/cpages/process-benefits" 944 class=" 945 946 " 947 data-hover=dropdown data-toggle=dropdown data-target=# 948 > 949 950 951 For Entrepreneurs 952 953 </a> 954 955 956 <ul class="dropdown-menu"> 957 958 959 960 961 <li class=" 962 963 "> 964 <a href="/cpages/process-benefits" 965 class=" 966 967 " 968 969 > 970 971 Entrepreneur FAQ 972 </a> 973 </li> 974 975 976 977 978 <li class=" 979 980 "> 981 <a href="https://app.dealum.com/#/company/application/ne
981w/47381/diszns8ldr0s5tjkozubkpi889bw2xj7" 982 class=" 983 984 " 985 986 > 987 988 Apply to Present 989 </a> 990 </li> 991 </ul> 992 993 994 </li> 995 996 997 998 <li class=" 999 1000 dropdown "> 1001 <a href="/cpages/due-diligence-process" 1002 class=" 1003 1004 " 1005 data-hover=dropdown data-toggle=dropdown data-target=# 1006 > 1007 1008 1009 Due Dilligence 1010 1011 </a> 1012 1013 1014 <ul class="dropdown-menu"> 1015 1016 1017 1018 1019 <li class=" 1020 1021 "> 1022 <a href="/cpages/due-diligence-process" 1023 class=" 1024 1025 " 1026 1027 > 1028 1029 Due Dilligence Process 1030 </a> 1031 </li> 1032 1033 1034 1035 1036 <li class=" 1037 1038 "> 1039 <a href="/cpages/due-diligence-values" 1040 class=" 1041 1042 " 1043 1044 > 1045 1046 Due Dilligence Values 1047 </a> 1048 </li> 1049 1050 1051 1052 1053 <li class=" 1054 1055 "> 1056 <a href="/cpages/due-diligence-roadmap" 1057 class=" 1058 1059 " 1060 1061 > 1062 1063 Due Dilligence Roadmap 1064 </a> 1065 </li> 1066 </ul> 1067 1068 1069 </li> 1070 1071 1072 1073 <li class=" 1074 1075 "> 1076 <a href="/cpages/syndication-partners" 1077 class=" 1078 1079 " 1080 1081 > 1082 1083 1084 Partners 1085 1086 </a> 1087 </li> 1088 1089 1090 1091 <li class=" 1092 1093 dropdown "> 1094 <a href="https://app.dealum.com/#/login?redir=%2Fdealroom%2F7993" 1095 class=" 1096 1097 " 1098 data-hover=dropdown data-toggle=dropdown data-target=# 1099 > 1100 1101 1102 Members Only 1103 1104 </a> 1105 1106 1107 <ul class="dropdown-menu"> 1108 1109 1110 1111 1112 <li class=" 1113 1114 "> 1115 <a href="https://app.dealum.com/#/dealroom/7993" 1116 class=" 1117 1118 " 1119 1120 target=_blank > 1121 1122 Dealum Platform 1123 </a> 1124 </li> 1125 1126 1127 1128 1129 <li class=" 1130 1131 "> 1132 <a href="https://keiretsuforum.tv/" 1133 class=" 1134 1135 " 1136 1137 target=_blank > 1138 1139 Keiretsu TV 1140 </a> 1141 </li> 1142 </ul> 1143 1144 1145 </li> 1146 1147 1148 1149 <li class=" 1150 1151 active "> 1152 <a href="/cpages/contact" 1153 class=" 1154 1155 selected" 1156 1157 > 1158 1159 1160 Contact 1161 1162 </a> 1163 </li> 1164 1165 1166 1167 <li class=" 1168 1169 "> 1170 <a href="/cpages/careers" 1171 class=" 1172 1173 " 1174 1175 > 1176 1177 1178 Careers 1179 1180 </a> 1181 </li> 1182 </ul> 1183 </div><!--/.nav-collapse --> 1184
1184<script> 1185 1186 $( document ).ready(function() { 1187 $('.nav.navbar-nav li.active').parents('li').addClass('active'); 1188 }); 1189 1190 </script>
1190 1191 1192 1193 </div><!--/.container --> 1194 </div> 1195 1196 1197 </header> 1198 <div id="body"> 1199 1200 1201 <div class="header-banner" style=background-image:url(https://silkstart.s3.amazonaws.com/5e2934f4686213270a60e601.JPG)> 1202 <div class="header-banner-text overlay-light"> 1203 1204 <div class="container"> 1205 <div class="header-banner-text-inner"> 1206 <div class="row"> 1207 <div class="col-xs-12"> 1208 <h1 class="header-banner-page-title"> 1209 Contact 1210</h1> 1211 <nav class="hide-breadcrumbs" aria-label="breadcrumb"> 1212 <ol class="breadcrumb"></ol> 1213 </nav> 1214 </div> 1215 </div> 1216 1217 1218 </div> 1219 </div> 1220 1221 </div> 1222 </div> 1223 1224 <div class="container extra-header-content"> 1225 1226 1227 </div> 1228 <div id="main" class="" role="main"> 1229 <div id="content" class="full_width_page custom_webpage cpage6954442d830f78293b194ef0" 1230> 1231 1232 <div class="error-panel-container"> 1233 1234 1235 1236 <!--[if lte IE 7]> 1237 <div class="error"> 1238 <img src="/res/img/warning.png" /> 1239 You are using Internet Explorer 7 or below. Please upgrade your browser. <a href="http://www.google.com/chrome/" title="Google Chrome">Google Chrome</a>, <a href="http://www.mozilla.com/en-US/firefox/new/" title="Firefox">Firefox</a>, and <a href="http://windows.microsoft.com/en-US/internet-explorer/products/ie/home" title="Internet Explorer 9">Internet Explorer 9</a> are good browsers. 1240 </div> 1241 <![endif]--> 1242 1243 1244 1245 1246 </div> 1247 <div class="full-width-container mt3"> 1248 <div class="row"> 1249 1250 <div id="main_content" class="col-xs-12"> 1251 1252 1253 <div id="custom_webpage_app_js" class="custom_webpage_app_view"> 1254 <div class="cpage_template" id="template4"> 1255<div class="stacks"> 1256<div class="cpage_container cps_widget cps_subcontainer cps_can_add_or_remove" id="top_large_area"></div> 1257</div> 1258<div class="container"> 1259<div class="middle row"> 1260<div class="col-lg-9 col-md-8 large_left_section"> 1261<div class="bottom"> 1262<div class="bottom standard_container_height"> 1263<div class="cpage_container cps_widget cps_subcontainer cps_can_add_or_remove" id="main_content1"><div class="custom_webpage_section_view subcontainer_style1"> 1264<div> 1265<div class="email-contact-form-widget"> 1266<div class="ss-widget"> 1267<i aria-hidden="true" class="fas fa-envelope"></i> 1268<h2 class="widget-title">Email Contact Form</h2> 1269<div class="panel-body"> 1270<div class="email_contact_form label_beside"> 1271<div class="contact-form-response"></div> 1272<form> 1273<div class="row"> 1274<div class="contact-form-half-row col-xs-12"> 1275<div class="form-group"> 1276<input class="form-control required input-lg" name="first_name" placeholder="First Name" value=""/> 1277</div> 1278</div> 1279<div class="contact-form-half-row col-xs-12"> 1280<div class="form-group"> 1281<input class="form-control required input-lg" name="last_name" placeholder="Last Name" value=""/> 1282</div> 1283</div> 1284</div> 1285<div class="row"> 1286<div class="contact-form-half-row col-xs-12"> 1287<div class="form-group"> 1288<input class="email form-control required input-lg" name="email" placeholder="Email Address" value=""/> 1289</div> 1290</div> 1291<div class="contact-form-half-row col-xs-12"> 1292<div class="form-group"> 1293<input class="form-control required maxlength input-lg" data-rule-maxlength="250" name="subject" placeholder="Subject" value=""/> 1294</div> 1295</div> 1296</div> 1297<div class="form-group"> 1298<textarea class="form-control input-lg message_body" name="body" placeholder="Message" style="min-height:100px;"></textarea> 1299</div> 1300<button class="btn btn-block btn-primary btn-lg submit_button_js" type="button">Send</button> 1301</form> 1302<div class="cover_div"><i class="fas fa-spinner fa-spin fa-4x"></i></div> 1303</div>
1304<script type="text/javascript"> 1305 $(function(){ 1306 ss_require(['/res/js/v2/backbone/widgets/email_contact_form.js'],function(module){ 1307 ss.apps.EmailContactFormViewApp = new ss.views.EmailContactFormView({ 1308 el:$('.email_contact_form') 1309 }); 1310 }); 1311 }); 1312 </script>
1312 1313</div> 1314</div> 1315</div> 1316</div> 1317</div></div> 1318</div> 1319</div> 1320</div> 1321<div class="col-lg-3 col-md-4 cascading_list standard_container_height"> 1322<div class="cpage_container cps_widget cps_subcontainer cps_can_add_or_remove" id="right_panel1"><div class="custom_webpage_section_view subcontainer_style1"> 1323<div> 1324<div class="subscribe-form-container stack-bordered"> 1325<div class="container"> 1326<div class="subscribe-widget ss-widget"> 1327<i aria-hidden="true" class="fas fa-envelope"></i> 1328<h2 class="widget-title">Sign Up To Learn More</h2> 1329<div class="widget-subtext"><p>If you'd like to learn more about the benefits of membership, access to quality deal flow opportunities and understand the process of due diligence. Sign up and speak to Stephanie Haaf, Director of Membership.</p> 1330</div> 1331<div class="row subscribe_form"> 1332<div class="col-lg-10 col-lg-offset-1"> 1333<div class="subscribe-form-response"></div> 1334<form> 1335<div class="row"> 1336<div class="col-sm-3 widget-item"> 1337<div class="form-group"> 1338<input class="form-control required input-lg" name="first_name" placeholder="First Name"/> 1339</div> 1340</div> 1341<div class="col-sm-3 widget-item"> 1342<div class="form-group"> 1343<input class="form-control required input-lg" name="last_name" placeholder="Last Name"/> 1344</div> 1345</div> 1346<div class="col-sm-4 widget-item"> 1347<div class="form-group"> 1348<input class="email input-lg form-control required" name="username" placeholder="Email Address"/> 1349</div> 1350</div> 1351<div class="col-sm-2 widget-item"> 1352<button class="btn btn-block btn-primary btn-lg route_to_additional_info_subscribe_form " type="button">Subscribe</button> 1353</div> 1354</div> 1355</form> 1356</div> 1357<div class="cover_div"><i class="fas fa-spinner fa-spin fa-4x"></i></div> 1358</div> 1359</div> 1360</div> 1361</div>
1362<script type="text/javascript"> 1363 $(function(){ 1364 ss_require(['/res/js/v2/backbone/widgets/subscribe_form.js'],function(module){ 1365 ss.apps.SubscribeFormViewApp = new ss.views.SubscribeFormView({ 1366 el:$('.subscribe_form') 1367 }); 1368 }); 1369 }); 1370 </script>
1370 1371</div> 1372</div><div class="custom_webpage_section_view subcontainer_style1"> 1373<div> 1374<div class=""> 1375<div class="upcoming-events stack-bordered"> 1376<div class="container"> 1377<div class="upcoming-event-widget ss-widget "> 1378<h2 class="widget-title mb3">Upcoming Events</h2> 1379<div class="row row-centered"> 1380<article class="col-md-4 widget-item col-centered"> 1381<div class="fat-padded-panel upcoming-event ss-panel ticketed-event"> 1382<div class="ss-panel-header"> 1383<div class="item-name item_name"> 1384<a href="https://events.pitch-force.com/events/seed-round-virtual-pitchforce-19">Seed Round Virtual PitchForce</a> 1385</div> 1386<span class="item-date-widget-style">October 5</span> 1387</div> 1388<div class="widget-item-text ss-panel-body"> 1389<span class="richtext">Seed Round Virtual PitchForce</span> <span><a class="readmore" href="https://events.pitch-force.com/events/seed-round-virtual-pitchforce-19">Read More</a></span> 1390</div> 1391</div> 1392</article> 1393<article class="col-md-4 widget-item col-centered"> 1394<div class="fat-padded-panel upcoming-event ss-panel free-event"> 1395<div class="ss-panel-header"> 1396<div class="item-name item_name"> 1397<a href="https://www.k4northwest.com:443/events/keiretsu-forum-vancouverbc-chapter-meeting-60">Keiretsu Forum Vancouver/BC Chapter Meeting </a> 1398</div> 1399<span class="item-date-widget-style">October 6</span> 1400</div> 1401<div class="widget-item-text ss-panel-body"> 1402<span class="richtext">Join us for our Keiretsu Forum Vancouver/BC Chapter Meeting </span> <span><a class="readmore" href="https://www.k4northwest.com:443/events/keiretsu-forum-vancouverbc-chapter-meeting-60">Read More</a></span> 1403</div> 1404</div> 1405</article> 1406<article class="col-md-4 widget-item col-centered"> 1407<div class="fat-padded-panel upcoming-event ss-panel free-event"> 1408<div class="ss-panel-header"> 1409<div class="item-name item_name"> 1410<a href="https://events.ecovg.com/events/ecovg-masterclass-the-entrepreneurs-guide-to-dealum-3">EcoVG Masterclass: The Entrepreneur's Guide to Dealum</a> 1411</div> 1412<span class="item-date-widget-style">October 6</span> 1413</div> 1414<div class="widget-item-text ss-panel-body"> 1415<span class="richtext">EcoVG Masterclass: The Entrepreneur's Guide to Dealum</span> <span><a class="readmore" href="https://events.ecovg.com/events/ecovg-masterclass-the-entrepreneurs-guide-to-dealum-3">Read More</a></span> 1416</div> 1417</div> 1418</article> 1419</div> 1420<div class="widget-more-button-wrapper"> 1421<a class="btn btn-primary btn-lg btn-block widget-more-button" href="/events?list">View All Events</a> 1422</div> 1423</div> 1424</div> 1425</div> 1426</div> 1427</div> 1428</div></div> 1429</div> 1430</div> 1431</div> 1432<div class="stacks"> 1433<div class="cpage_container cps_widget cps_subcontainer cps_can_add_or_remove" id="footer1"></div> 1434</div> 1435</div> 1436 </div> 1437 1438 1439 1440 </div> 1441 1442 </div> 1443 </div> 1444 <div style="display: none;"> 1445 1446 1447 </div> 1448 1449 </div> 1450 </div> 1451 1452 </div> 1453 1454 <footer id="site_footer"> 1455 1456 1457 <div class="container footer-top"> 1458 <div class="row"> 1459 <div class="col-lg-3 col-md-6"> 1460 1461 <div class="footer-section footer-contact"> 1462 <div class="footer-address clearfix footer-contact-info"> 1463 <span class="fas fa-location-dot fa-fw" aria-hidden="true"></span> 1464 <span class="sr-only">Contact Info</span> 1465 <div class="footer-contact-info-text"> 1466 <p>2815 Eastlake Ave East</p> 1467 <p>Suite 300</p> 1468 <p>Seattle Washington 98102</p> 1469 <p>United States</p> 1470 </div> 1471 </div> 1472 <div class="footer-phone clearfix footer-contact-info"> 1473 <i class="fas fa-mobile-alt fa-fw"></i> 1474 <div class="footer-contact-info-text"> 1475 206.529.3687 1476 </div> 1477 </div> 1478 <div class="footer-email clearfix footer-contact-info"> 1479 <i class="fas fa-envelope fa-fw"></i> 1480 <div class="footer-contact-info-text"> 1481 <a href="mailto:[email protected]">[email protected]</a> 1482 </div> 1483 </div> 1484 </div> 1485 1486 </div> 1487 <div class="col-lg-3 col-md-6"> 1488 1489 1490 <div class="footer-section footer-articles"> 1491 <h3>Latest News</h3> 1492 <ul class="footer-ul"> 1493 1494 <li> 1495 1496 <div class="ss-panel-header"> 1497 <div class="item-name item_name"> 1498 <a href="https://www.k4northwest.com:443/articles/what-investors-miss-when-they-rely-too-much-on-pattern-matching">What Investors Miss When They Rely Too Much on Pattern Matching</a> 1499 </div>
1500 <span class="item-date-widget-style">September 29, 2026</span> 1501 </div> 1502 <div class="widget-item-text ss-panel-body"> 1503 <span class="richtext">Holly Uber's thoughts on the familiarity trap that binds investors.</span> <span><a href="https://www.k4northwest.com:443/articles/what-investors-miss-when-they-rely-too-much-on-pattern-matching" class="readmore">Read More</a></span> 1504 </div> 1505</li> 1506 1507 <li> 1508 1509 <div class="ss-panel-header"> 1510 <div class="item-name item_name"> 1511 <a href="https://www.k4northwest.com:443/articles/what-entrepreneurs-think-diligence-is-vs-what-it-actually-is">What Entrepreneurs Think Diligence Is vs What It Actually Is</a> 1512 </div> 1513 <span class="item-date-widget-style">September 21, 2026</span> 1514 </div> 1515 <div class="widget-item-text ss-panel-body"> 1516 <span class="richtext">Here's the reality of due diligence for entrepreneurs</span> <span><a href="https://www.k4northwest.com:443/articles/what-entrepreneurs-think-diligence-is-vs-what-it-actually-is" class="readmore">Read More</a></span> 1517 </div> 1518</li> 1519 </ul> 1520 </div> 1521 1522 </div> 1523 <div class="col-lg-3 col-md-6"> 1524 1525 1526 <div class="footer-section footer-events"> 1527 <h3>Upcoming Events</h3> 1528 <ul class="footer-ul"> 1529 1530 <li> 1531 1532 <div class="ss-panel-header"> 1533 <div class="item-name item_name"> 1534 <a href="https://events.pitch-force.com/events/seed-round-virtual-pitchforce-19">Seed Round Virtual PitchForce</a> 1535 </div> 1536 <span class="item-date-widget-style">October 5</span> 1537 </div> 1538 <div class="widget-item-text ss-panel-body"> 1539 <span class="richtext">Seed Round Virtual PitchForce</span> <span><a href="https://events.pitch-force.com/events/seed-round-virtual-pitchforce-19" class="readmore">Read More</a></span> 1540 </div> 1541</li> 1542 1543 <li> 1544 1545 <div class="ss-panel-header"> 1546 <div class="item-name item_name"> 1547 <a href="https://www.k4northwest.com:443/events/keiretsu-forum-vancouverbc-chapter-meeting-60">Keiretsu Forum Vancouver/BC Chapter Meeting </a> 1548 </div> 1549 <span class="item-date-widget-style">October 6</span> 1550 </div> 1551 <div class="widget-item-text ss-panel-body"> 1552 <span class="richtext">Join us for our Keiretsu Forum Vancouver/BC Chapter Meeting </span> <span><a href="https://www.k4northwest.com:443/events/keiretsu-forum-vancouverbc-chapter-meeting-60" class="readmore">Read More</a></span> 1553 </div> 1554</li> 1555 </ul> 1556 </div> 1557 1558 </div> 1559 <div class="col-lg-3 col-md-6"> 1560 <a class="twitter-timeline" data-height="300" data-chrome="nofooter" data-theme="light" data-link-color="#B60217" href="https://twitter.com/k4northwest?ref_src=twsrc%5Etfw">Tweets by k4northwest</a>
1560<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
1560 1561 </div> 1562 </div> 1563 </div> 1564 <div class="lower-footer"> 1565 <div class="container"> 1566 <div class="row"> 1567 <div class="col-sm-6"> 1568 <div class="footer-logo"> 1569 1570 1571 <a href="/cpages/home" class="navbar-brand"> 1572 1573 1574 1575 <img src='https://d3lut3gzcpx87s.cloudfront.net/image_encoded/aHR0cHM6Ly9zaWxrc3RhcnQuczMuYW1hem9uYXdzLmNvbS85MmUyN2FjYi1kN2RkLTQ3YzMtYWQyNS03MGQyNjMzMzUwY2QucG5n/500x266fPNG' 1576 style='padding-top: 0px;padding-bottom:0px;padding-left: 0px;padding-right:0px; ' 1577 alt='Keiretsu Forum Northwest & Rockies' 1578 resize_with_padding='True' 1579 class="img-responsive" 1580 alt="" 1581 > 1582 1583 1584 </a> 1585 1586 </div> 1587 </div> 1588 <div class="col-sm-6"> 1589 <div class="pull-right"> 1590 <div id="search_and_links"> 1591 1592 <ul class="media_links"> 1593 1594 1595 1596 <li> 1597 <a href='https://twitter.com/k4northwest' target="_blank"> 1598 <span class="fab fa-x-twitter fa-1-5x" aria-hidden="true"></span> 1599 <span class="sr-only">twitter</span> 1600 </a> 1601 </li> 1602 1603 1604 1605 <li> 1606 <a href='https://www.facebook.com/keiretsuforum?fref=ts' target="_blank"> 1607 <span class="fab fa-facebook fa-1-5x" aria-hidden="true"></span> 1608 <span class="sr-only">facebook</span> 1609 </a> 1610 </li> 1611 1612 1613 1614 <li> 1615 <a href='https://muse.ai/Keiretsuforumtv' target="_blank"> 1616 <span class="fab fa-youtube fa-1-5x" aria-hidden="true"></span> 1617 <span class="sr-only">youtube</span> 1618 </a> 1619 </li> 1620 1621 1622 1623 <li> 1624 <a href='http://www.linkedin.com/company/keiretsu-forum?trk=top_nav_home' target="_blank"> 1625 <span class="fab fa-linkedin fa-1-5x" aria-hidden="true"></span> 1626 <span class="sr-only">linkedin</span> 1627 </a> 1628 </li> 1629 1630 1631 1632 <li> 1633 <a href='https://www.instagram.com/keiretsuforum/' target="_blank"> 1634 <span class="fab fa-instagram fa-1-5x" aria-hidden="true"></span> 1635 <span class="sr-only">instagram</span> 1636 </a> 1637 </li> 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 <li> 1652 <a href='mailto:[email protected]' target="_blank"> 1653 <span class="fas fa-envelope fa-1-5x" aria-hidden="true"></span> 1654 <span class="sr-only">email</span> 1655 </a> 1656 </li> 1657 1658 </ul> 1659 1660 </div> 1661 </div> 1662 </div> 1663 </div> 1664 </div> 1665 </div> 1666 <div class="powered-by-silkstart"> 1667 <div class="container"> 1668 <div class="clearfix"> 1669 <div class="pull-right"> 1670 1671 <span class="powered-by">Powered by</span> <a href="http://www.silkstart.com/" target="_blank">SilkStart Association Management Software</a> 1672 1673 </div> 1674 </div> 1675 </div> 1676 </div> 1677 1678 </footer> 1679 </div> 1680 1681 1682 1683 1684 1685 1686 1687 1688
1688<script type="text/javascript"> 1689 ss_context = 1690 1691 (function(js_data_safe, error){ 1692 if(error && typeof console !== "undefined"){ 1693 console.error(error); 1694 } 1695 return js_data_safe; 1696 })({"versioned_url": "/cpages/contact/6954442d830f78293b194ef0", "editing": false, "page_class": "cpage6954442d830f78293b194ef0", "template": "template4", "url": "/cpages/contact", "cpage_html_enabled_all": false, "page_color": null, "is_draft": false, "containers": {"top_large_area": [], "right_panel1": [{"tag": "subscribe_form", "type": "widget", "html": "<html><body>\n <div class=\"subscribe-form-container stack-bordered\">\n <div class=\"container\">\n <div class=\"subscribe-widget ss-widget\">\n <i class=\"fas fa-envelope\" aria-hidden=\"true\"></i>\n <h2 class=\"widget-title\">Sign Up To Learn More</h2>\n <div class=\"widget-subtext\"><p>If you'd like to learn more about the benefits of membership, access to quality deal flow opportunities and understand the process of due diligence. Sign up and speak to Stephanie Haaf, Director of Membership.</p>\n</div>\n <div class=\"row subscribe_form\">\n <div class=\"col-lg-10 col-lg-offset-1\">\n <div class=\"subscribe-form-response\"></div>\n <form>\n <div class=\"row\">\n <div class=\"col-sm-3 widget-item\">\n <div class=\"form-group\">\n <input class=\"form-control required input-lg\" name=\"first_name\" placeholder=\"First Name\" />\n </div>\n </div>\n <div class=\"col-sm-3 widget-item\">\n <div class=\"form-group\">\n <input class=\"form-control required input-lg\" name=\"last_name\" placeholder=\"Last Name\" />\n </div>\n </div>\n <div class=\"col-sm-4 widget-item\">\n <div class=\"form-group\">\n <input name=\"username\" class=\"email input-lg form-control required\" placeholder=\"Email Address\" />\n </div>\n </div>\n <div class=\"col-sm-2 widget-item\">\n <button type=\"button\" class=\"btn btn-block btn-primary btn-lg\n route_to_additional_info_subscribe_form\n \">Subscribe</button>\n </div>\n </div>\n </form>\n </div>\n <div class=\"cover_div\"><i class=\"fas fa-spinner fa-spin fa-4x\"></i></div>\n </div>\n </div>\n </div>\n </div>\n \n
1696<script type=\"text/javascript\">\n $(function(){\n ss_require(['/res/js/v2/backbone/widgets/subscribe_form.js'],function(module){\n ss.apps.SubscribeFormViewApp = new ss.views.SubscribeFormView({\n el:$('.subscribe_form')\n });\n });\n });\n <\/script>\n\n</body></html>"}, {"tag": "event_cpage_list", "type": "widget", "html": "<html><body>\n \n \n <div class=\"\">\n <div class=\"upcoming-events stack-bordered\">\n <div class=\"container\">\n <div class=\"upcoming-event-widget ss-widget \">\n \n <h2 class=\"widget-title mb3\">Upcoming Events</h2>\n\n <div class=\"row row-centered\">\n <article class=\"col-md-4 widget-item col-centered\">\n \n \n \n <div class=\"fat-padded-panel upcoming-event ss-panel ticketed-event\">\n <div class=\"ss-panel-header\">\n <div class=\"item-name item_name\">\n <a href=\"https://events.pitch-force.com/events/seed-round-virtual-pitchforce-19\">Seed Round Virtual PitchForce</a>\n </div>\n <span class=\"item-date-widget-style\">October 5</span>\n </div>\n <div class=\"widget-item-text ss-panel-body\">\n <span class=\"richtext\">Seed Round Virtual PitchForce</span> <span><a href=\"https://events.pitch-force.com/events/seed-round-virtual-pitchforce-19\" class=\"readmore\">Read More</a></span>\n </div>\n </div>\n\n </article>\n <article class=\"col-md-4 widget-item col-centered\">\n \n \n \n <div class=\"fat-padded-panel upcoming-event ss-panel free-event\">\n <div class=\"ss-panel-header\">\n <div class=\"item-name item_name\">\n <a href=\"https://www.k4northwest.com:443/events/keiretsu-forum-vancouverbc-chapter-meeting-60\">Keiretsu Forum Vancouver/BC Chapter Meeting </a>\n </div>\n <span class=\"item-date-widget-style\">October 6</span>\n </div>\n <div class=\"widget-item-text ss-panel-body\">\n <span class=\"richtext\">Join us for our Keiretsu Forum Vancouver/BC Chapter Meeting </span> <span><a href=\"https://www.k4northwest.com:443/events/keiretsu-forum-vancouverbc-chapter-meeting-60\" class=\"readmore\">Read More</a></span>\n </div>\n </div>\n\n </article>\n <article class=\"col-md-4 widget-item col-centered\">\n \n \n \n <div class=\"fat-padded-panel upcoming-event ss-panel free-event\">\n <div class=\"ss-panel-header\">\n <div class=\"item-name item_name\">\n <a href=\"https://events.ecovg.com/events/ecovg-masterclass-the-entrepreneurs-guide-to-dealum-3\">EcoVG Masterclass: The Entrepreneur's Guide to Dealum</a>\n </div>\n <span class=\"item-date-widget-style\">October 6</span>\n </div>\n <div class=\"widget-item-text ss-panel-body\">\n <span class=\"richtext\">EcoVG Masterclass: The Entrepreneur's Guide to Dealum</span> <span><a href=\"https://events.ecovg.com/events/ecovg-masterclass-the-entrepreneurs-guide-to-dealum-3\" class=\"readmore\">Read More</a></span>\n </div>\n </div>\n\n </article>\n </div>\n \n <div class=\"widget-more-button-wrapper\">\n <a href=\"/events?list\" class=\"btn btn-primary btn-lg btn-block widget-more-button\">View All Events</a>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n\n</body></html>"}], "main_content1": [{"tag": "email_contact_form", "type": "widget", "html": "<html><body>\n <div class=\"email-contact-form-widget\">\n <div class=\"ss-widget\">\n <i class=\"fas fa-envelope\" aria-hidden=\"true\"></i>\n <h2 class=\"widget-title\">Email Contact Form</h2>\n \n <div class=\"panel-body\">\n <div class=\"email_contact_form label_beside\">\n <div class=\"contact-form-response\"></div>\n <form>\n <div class=\"row\">\n <div class=\"contact-form-half-row col-xs-12\">\n <div class=\"form-group\">\n <input name=\"first_name\" value=\"\" class=\"form-control required input-lg\" placeholder=\"First Name\">\n </div>\n </div>\n <div class=\"contact-form-half-row col-xs-12\">\n <div class=\"form-group\">\n <input name=\"last_name\" value=\"\" class=\"form-control required input-lg\" placeholder=\"Last Name\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"contact-form-half-row col-xs-12\">\n <div class=\"form-group\">\n <input name=\"email\" value=\"\" class=\"email form-control required input-lg\" placeholder=\"Email Address\">\n </div>\n </div>\n <div class=\"contact-form-half-row col-xs-12\">\n <div class=\"form-group\">\n <input name=\"subject\" value=\"\" data-rule-maxlength=\"250\" class=\"form-control required maxlength input-lg\" placeholder=\"Subject\">\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <textarea name=\"body\" style=\"min-height:100px;\" class=\"form-control input-lg message_body\" placeholder=\"Message\"></textarea>\n </div>\n <button type=\"button\" class=\"btn btn-block btn-primary btn-lg submit_button_js\">Send</button>\n </form>\n <div class=\"cover_div\"><i class=\"fas fa-spinner fa-spin fa-4x\"></i></div>\n </div>\n \n
1696<script type=\"text/javascript\">\n $(function(){\n ss_require(['/res/js/v2/backbone/widgets/email_contact_form.js'],function(module){\n ss.apps.EmailContactFormViewApp = new ss.views.EmailContactFormView({\n el:$('.email_contact_form')\n });\n });\n });\n <\/script>\n\n </div>\n\n </div>\n </div>\n</body></html>"}], "footer1": []}}, false) 1697; 1698 </script>
1698 1699 1700 1701
1701<script type="text/javascript"> 1702 $(function(){ 1703 window.SigninApp = new ss.views.UserSignInSectionApp({ 1704 el: $('.sign_in_section_js') 1705 }); 1706 1707 }); 1708 </script>
1708 1709 1710 1711 1712 1713
1713<script type="text/template" id="multitable_view"> 1714 <ul class="selectors" role="tablist"> 1715 <%for(var key in menu_items){ var value = menu_items[key]; %> 1716 <li <%=key==selected ? 'class="selected"' : ''%>" role="presentation"> 1717 <a id="<%=key%>" href="#" <%=key==selected ? 'aria-selected="true"' : ''%> role="tab"><%-value%></a> 1718 </li> 1719 <%}%> 1720 </ul> 1721 <div class="table_container"> 1722 1723 </div> 1724 </script>
1724 1725 1726 1727 1728 1729 1730
1730<script type="text/template" id="input_options_view"> 1731 <% 1732 descriptions.each(function(i, elem){ 1733 var description = $(this).text(); 1734 %> 1735 <div class="input_container <%=i==selected?'selected':'unselected'%>"> 1736 <div class="left_fixed column"> 1737 <div class="input_div input_container_radio"> 1738 <input type="radio" name="input_options_app_selected" <%=i==selected?'checked="checked"':''%>> 1739 </div> 1740 <div class="input_div input_container_input"> 1741 <!-- The render function will place the input element here --> 1742 </div> 1743 </div> 1744 <div class="right_fluid column"> 1745 <div class="input_div input_container_description"> 1746 <%-description%> 1747 </div> 1748 </div> 1749 </div> 1750 <%});%> 1751 </script>
1751 1752 1753 1754 1755 1756 1757 1758 1759
1759<script type="text/template" id="document_panel_view"> 1760 <div class="panel panel-default"> 1761 <div class="panel-heading"> 1762 <h2 class="panel-title"> 1763 <i class="fas fa-file-alt" aria-hidden="true"></i> <%-heading_title%> 1764 </h2> 1765 <%if(may_modify == "True"){%> 1766 <div class="mt1"> 1767 <button href="#" role="button" class="btn btn-primary upload_file_popup"><i class="fas fa-cloud-upload"></i> Upload a File</button> 1768 </div> 1769 <%}%> 1770 </div> 1771 <div class="panel-body"> 1772 <ul class="existing_file_div"> 1773 <%if(files.length == 0){%> 1774 <li> 1775 <i class="no_file_yet">No files uploaded yet.</i> 1776 </li> 1777 <%}%> 1778 </ul> 1779 </div> 1780 </div> 1781 1782 <% 1783 var files_json = _.map(files, function(file){ 1784 return file.toJSON(); 1785 }); 1786 files_json.reverse(); 1787 var uploader_files_info = JSON.stringify(files_json); 1788 %> 1789 <input type="hidden" name="uploader_files_info" value="<%-uploader_files_info%>"> 1790 </script>
1790 1791 1792
1792<script type="text/template" id="uploaded_file_single_view"> 1793 <% 1794 var file_type; 1795 var ext = ''; 1796 if (file_name) { 1797 ext = file_name.split('.').reverse()[0]; 1798 } else { 1799 file_name = '------------'; 1800 } 1801 1802 var file_types = { 1803 "tar": "file-zipper", 1804 "gz": "file-zipper", 1805 "jpg": "file-image", 1806 "mp4": "file-video", 1807 "rar": "file-zipper", 1808 "mp3": "file-audio", 1809 "ppt": "file-powerpoint", 1810 "txt": "file-text", 1811 "7z": "file-zipper", 1812 "m4a": "file-audio", 1813 "zip": "file-zipper", 1814 "gif": "file-image", 1815 "wav": "file-audio", 1816 "tif": "file-image", 1817 "csv": "file-excel", 1818 "pptx": "file-powerpoint", 1819 "xlsx": "file-excel", 1820 "docx": "file-word", 1821 "mov": "file-video", 1822 "bmp": "file-image", 1823 "jpeg": "file-image", 1824 "flac": "file-audio", 1825 "ogg": "file-audio", 1826 "png": "file-image", 1827 "exe": "file-code", 1828 "doc": "file-word", 1829 "pdf": "file-pdf", 1830 "xls": "file-excel", 1831 "avi": "file-video" 1832}; 1833 1834 if (ext.toLowerCase() in file_types) { 1835 file_type = file_types[ext.toLowerCase()]; 1836 } else { 1837 file_type = 'file'; 1838 } 1839 1840 if (!title) { 1841 if (!file_name) { 1842 title = "------------"; 1843 } else { 1844 title = file_name; 1845 } 1846 } 1847 1848 function stripScripts(s) { 1849 var div = document.createElement('div'); 1850 div.innerHTML = s; 1851 var scripts = div.getElementsByTagName('script'); 1852 var i = scripts.length; 1853 while (i--) { 1854 scripts[i].parentNode.removeChild(scripts[i]); 1855 } 1856 return div.innerHTML; 1857 } 1858 1859 if (title) { 1860 title = stripScripts(title); 1861 } 1862 %> 1863 <%if(template_type=='normal'){%> 1864 <div class="action_buttons"> 1865 <%if(may_modify == "True"){%><i class="delete_file far fa-trash-can fa-2x" data-file_key=<%=key%>></i><%}%> 1866 <a class="download_file" target="_blank" aria-label="Download <%=title%>" href="<%=url%>"><i class="fas fa-2x fa-download"></i></a> 1867 </div> 1868 1869 1870 <a class="download_file" target="_blank" aria-label="Download <%=title%>" href="<%=url%>"> 1871 <i class="fas fa-2x fa-<%=file_type%>"></i> 1872 </a> 1873 <div class="file_info"> 1874 <div class="file_name"><b><%=title%></b></div> 1875 <div class="by_user">by <a href="<%=user_url%>"><%=user_name%></a></div> 1876 </div> 1877 <div class="clearfix"></div> 1878 <%}else if(template_type=='image_selector'){%> 1879 <div class="action_buttons"> 1880 <%if(may_modify == "True"){%><i class="delete_file far fa-trash-can fa-2x" data-file_key=<%=key%>></i><%}%> 1881 <a class="download_file" target="_blank" aria-label="Download <%=title%>" href="<%=url%>"><i class="fas fa-2x fa-download"></i></a> 1882 </div> 1883 <%var radio_id = "uploader_radio_" + $.ss.util.unique_id();%> 1884 <input class="uploaded_selector" type="radio" id="<%=radio_id%>" name="uploader_selector" value="<%=url%>" <%=selected ? 'checked="checked"' : ''%>> 1885 <label for="<%=radio_id%>"> 1886 <i class="fas fa-2x fa-<%=file_type%>"></i> 1887 </label> 1888 <div class="file_info"> 1889 <label for="<%=radio_id%>"> 1890 <div class="file_name"><b><%=title%></b></div> 1891 </label> 1892 <div class="by_user">by <a href="<%=user_url%>"><%=user_name%></a></div> 1893 </div> 1894 <div class="clearfix"></div> 1895 <%}%> 1896 1897 </script>
1897 1898 1899
1899<script type="text/template" id="deleteFile"> 1900 <% 1901 if(!title){ 1902 if(file_name){ 1903 title = file_name 1904 }else{ 1905 title = "------------" 1906 } 1907 } 1908 1909 function stripScripts(s) { 1910 var div = document.createElement('div'); 1911 div.innerHTML = s; 1912 var scripts = div.getElementsByTagName('script'); 1913 var i = scripts.length; 1914 while (i--) { 1915 scripts[i].parentNode.removeChild(scripts[i]); 1916 } 1917 return div.innerHTML; 1918 } 1919 1920 if (title) { 1921 title = stripScripts(title); 1922 } 1923 %> 1924 <div class="delete_popup"> 1925 <div class="delete_warning">Are you sure you want to delete <%=title%>? Deleting a file is irreversible.</div> 1926 <form class="upload_form item_edit_form"> 1927 1928 <input type="hidden" name="<%=target_type%>:<%=collection_name ||'uploader_files'%>[<%=key%>].to_delete" value=True> 1929 </form> 1930 </div> 1931 </script>
1931 1932 1933 1934 1935 1936 <div class="filter-templates"> 1937 1938
1938<script type="text/template" id="item_filters"> 1939 <div class="row"> 1940 <div class="col-lg-8 col-md-10"> 1941 <div class="report-filters"> 1942 <div class="row"> 1943 <div class="col-xs-6 col-lg-4"> 1944 <h4> 1945 <div class="filter_heading">Filters</div> 1946 </h4> 1947 </div> 1948 <div class="col-xs-6 col-lg-8 form-inline"> 1949 <div class="add_new_filter form-group"> 1950 <label>Select Filter</label> 1951 <select class="form-control add_new_filter_js"></select> 1952 </div> 1953 </div> 1954 </div> 1955 </div> 1956 </div> 1957 </div> 1958 <div class="row"> 1959 <div class="col-lg-8 col-md-10"> 1960 <ul class="item_filters item-filters list-group"></ul> 1961 </div> 1962 </div> 1963 </script>
1963 1964 1965
1965<script type="text/template" id="item_filter_row"> 1966 <div class="filter-row form-inline"> 1967 <div class="row_filter_label"><label><%-label%></label></div> 1968 <div class="row_filter_operation"><span class="filter-placeholder"></span></div> 1969 <div class="row_filter_remove"><span class="remove_filter"><i class="fas fa-times red"></i></span></div> 1970 </div> 1971 </script>
1971 1972 1973
1973<script type="text/template" id="item_currency_filter_options"> 1974 <select data-field="filter_type" class='filter_type form-control numeric_filter_type_js'> 1975 <option value='between'>Between 1976 <option value='greater_than'>Greater than 1977 <option value='less_than'>Less than 1978 </select> 1979 <input class="input-small filter_criteria_js greater_than_js between_js form-control" type="text" data-field="min_value"> 1980 <input class="input-small filter_criteria_js less_than_js between_js form-control" type="text" data-field="max_value"> 1981 </script>
1981 1982 1983
1983<script type="text/template" id="item_numeric_filter_options"> 1984 <select data-field="filter_type" class='filter_type numeric_filter_type_js form-control'> 1985 <option value='between'>Between 1986 <option value='greater_than'>Greater than 1987 <option value='less_than'>Less than 1988 </select> 1989 <!-- 1990 <%=ss.text_field({ 1991 name: 'min_value', 1992 css_class: 'input-small filter_criteria_js greater_than_js between_js'})%> 1993 <%=ss.text_field({ 1994 name: 'max_value', 1995 css_class: 'input-small filter_criteria_js less_than_js between_js'})%> 1996 data-field instead of data-name 1997 --> 1998 1999 <input class="input-small filter_criteria_js greater_than_js between_js form-control" type="text" data-field="min_value"> 2000 <input class="input-small filter_criteria_js less_than_js between_js form-control" type="text" data-field="max_value"> 2001 </script>
2001 2002 2003
2003<script type="text/template" id="item_options_filter_options"> 2004 <select data-field="filter_type" class='filter_type align_top_and_width form-control' > 2005 <option value='contains'>Is 2006 <option value='does_not_contain'>Is not 2007 </select> 2008 <% 2009 var size_of_list = Math.min(options.length,4); 2010 %> 2011 <select data-field="value" class="filter_value multi_select form-control" multiple="multiple" size="<%=size_of_list%>" > 2012 <% var option; 2013 for (key in options) { 2014 option = options[key]; 2015 %> 2016 <option value="<%=option.value%>"><%=option.label%> 2017 <% } %> 2018 </select> 2019 <%= ss.fn.popover({content: "Multiple values can be selected using Shift or Ctrl/Cmd clicks."}) %> 2020 </script>
2020 2021 2022
2022<script type="text/template" id="item_text_filter_options"> 2023 <select data-field="filter_type" class='filter_type form-control exists_filter_js'> 2024 <option value='contains'>Contains 2025 <option value='does_not_contain'>Doesn't Contain 2026 <option value="blank">Blank 2027 <option value="not_blank">Not Blank 2028 </select> 2029 <input type="text" data-field="value" class="filter_value form-control"> 2030 <%= ss.fn.popover({content: "Filters can be separated by commas if you want to use more than one."}) %> 2031 </script>
2031 2032 2033
2033<script type="text/template" id="item_object_id_filter_options"> 2034 <select data-field="filter_type" class='filter_type form-control'> 2035 <option value="is_objectid">Is 2036 </select> 2037 <input type="text" data-field="value" class="filter_value form-control"> 2038 </script>
2038 2039 2040
2040<script type="text/template" id="item_yes_no_filter_options"> 2041 <select data-field="filter_type" class='filter_type form-control'> 2042 <option value="true_or_false">Is 2043 </select> 2044 <select data-field="value" class="filter_value form-control multi_select" multiple="multiple" size="2" > 2045 <option value="True">Yes 2046 <option value="False">No 2047 </select> 2048 2049 </script>
2049 2050 2051
2051<script type="text/template" id="item_expiry_date_filter_options"> 2052 <% 2053 // UG copied and pasted from below 2054 var start = null; 2055 var end = null; 2056 try { 2057 if (start_date) { 2058 start = ss_format_date( new Date(start_date) ); 2059 end = ss_format_date( new Date(end_date) ); 2060 } 2061 } catch (error) { 2062 } 2063 %> 2064 <select data-field="filter_type" class="filter_type form-control date_filter_type" name="date_filter"> 2065 <option value="last_month">Last Month 2066 <option value="last_year">Last Year 2067 <option value="next_month">Next Month 2068 <option value="next_year">Next Year 2069 <option value="custom">Custom 2070 <option value="Recurring">Recurring 2071 <option value="blank">Blank 2072 <option value="Lifetime">Lifetime 2073 </select> 2074 <input data-field="start_date" class="date date-picker-field form-control date_input start_date" value="<%- start || ''%> "> 2075 <input data-field="end_date" class="date date-picker-field form-control date_input end_date" value="<%- end || ''%> "> 2076 </script>
2076 2077 2078
2078<script type="text/template" id="item_previous_date_filter_options"> 2079 <% 2080 // UG copied and pasted above 2081 var start = null; 2082 var end = null; 2083 try { 2084 if (start_date) { 2085 start = ss_format_date( new Date(start_date) ); 2086 end = ss_format_date( new Date(end_date) ); 2087 } 2088 } catch (error) { 2089 } 2090 %> 2091 <select data-field="filter_type" class="filter_type form-control date_filter_type" name="date_filter"> 2092 <option value="last_month">Last Month 2093 <option value="last_year">Last Year 2094 <option value="custom" <%= start ? 'selected="selected"' : '' %>>Custom 2095 <option value="blank">Blank 2096 </select> 2097 <input data-field="start_date" class="date form-control date-picker-field date_input start_date" value="<%- start || ''%> "> 2098 <input data-field="end_date" class="date form-control date-picker-field date_input end_date" value="<%- end || ''%> "> 2099 </script>
2099 2100 2101
2101<script type="text/template" id="item_date_filter_options"> 2102 <% 2103 // UG copied and pasted above 2104 var start = null; 2105 var end = null; 2106 try { 2107 if (start_date) { 2108 start = ss_format_date( new Date(start_date) ); 2109 end = ss_format_date( new Date(end_date) ); 2110 } 2111 } catch (error) { 2112 } 2113 %> 2114 <select data-field="filter_type" class="filter_type form-control date_filter_type" name="date_filter"> 2115 <option value="last_month">Last Month 2116 <option value="last_year">Last Year 2117 <option value="next_month">Next Month 2118 <option value="next_year">Next Year 2119 <option value="custom" <%= start ? 'selected="selected"' : '' %>>Custom 2120 </select> 2121 <input data-field="start_date" class="date form-control date-picker-field date_input start_date" value="<%- start || ''%> "> 2122 <input data-field="end_date" class="date form-control date-picker-field date_input end_date" value="<%- end || ''%> "> 2123 </script>
2123 2124 2125 </div> 2126 2127 2128 2129
2129<script type="text/template" id="pdf_reader_view"> 2130 <div class="<%=can_display ? 'loading_dark_background_large':''%> inner_container"> 2131 <%if(can_display){%> 2132 <div class="pdf_toolbar"> 2133 <div class="navigation_buttons"> 2134 <button class="previous inverse small"> 2135 <i class="icon-arrow-left icon-white"></i> 2136 </button> 2137 <button class="next inverse small"> 2138 <i class="icon-arrow-right icon-white"></i> 2139 </button> 2140 <span class="pages"> 2141 Page <span class="current_page"></span> of <span class="total_pages"></span> 2142 </span> 2143 </div> 2144 </div> 2145 <canvas height="0"></canvas> 2146 <%}else{%> 2147 <div class="ie_fail_container"> 2148 <span> 2149 To preview this PDF you need to use a modern browser. 2150 Some good ones are shown below. You can also download the PDF by clicking 2151 <a href="<%=pdf_download_url || pdf_url%>">here</a>. 2152 </span> 2153 <div class="good_browsers"> 2154 <a target="_blank" href="http://www.google.com/chrome"> 2155 <img src="/res/img/v2/Chrome-128.png"> 2156 <div>Chrome</div> 2157 </a> 2158 <a target="_blank" href="http://www.mozilla.org/en-US/firefox/new/"> 2159 <img src="/res/img/v2/Firefox-128.png"> 2160 <div>Firefox</div> 2161 </a> 2162 </div> 2163 </div> 2164 <%}%> 2165 </div> 2166 </script>
2166 2167 2168 2169 2170 <div class="autocomplete-templates"> 2171 2172
2172<script type="text/template" id="autocomplete_view"> 2173 <div class="autocomplete_app"> 2174 <ul class="selected_container autocomplete_selected_view pill_list"></ul> 2175 <input class="autocomplete_input form-control <%= options.required ? 'required':''%>" name="<%='autocomplete_' + $.ss.util.unique_number()%>" type="text" placeholder="<%-placeholder%>"></input> 2176 </div> 2177 </script>
2177 2178 2179 2180 2181
2181<script type="text/template" id="autocomplete_item"> 2182 <% if ( ! c.image_url && ! c.icon_class ) { %> 2183 <div> 2184 <div class="alert alert-warning"> 2185 No matches found 2186 </div> 2187 </div> 2188 <% } else { %> 2189 <div> 2190 <div class="autocomplete_box" data-id="<%=c.id%>"> 2191 <div class="ab_image"> 2192 <% if ( c.image_url ) { %> 2193 <img src="<%=c.image_url%>"> 2194 <% } else { %> 2195 <i class="<%=c.icon_class%>"></i> 2196 <% } %> 2197 </div> 2198 <div class="ab_info"> 2199 <% if(c.type==="search"){%> 2200 <ul> 2201 <li><span class="highlightable">"<%-c.name%>"</span> 2202 <li>( Search <%- c.search_description %> ) 2203 </ul> 2204 <% }else if(c.type==="user" || c.type==="company"){%> 2205 <ul> 2206 <li><span class="highlightable"><%-c.name%></span> 2207 <% if(ss_context.network_admin) { %> 2208 (<%-c.plan_name || "No Plan"%>) 2209 <% } %> 2210 </li> 2211 <%if(c.member_number){%> 2212 <li>Mem #: <span class="highlightable"><%-c.member_number%></span></li> 2213 <%}%> 2214 <%if(c.email){%> 2215 <li>Email: <%-c.email%></li> 2216 <%}%> 2217 </ul> 2218 <% } else if(c.type=="event"){%> 2219 <ul> 2220 <li><span class="highlightable"><%-c.name%></span></li> 2221 <%if(c.formatted_date){%> 2222 <li><span><%-c.formatted_date%></span></li> 2223 <%}%> 2224 <%if(c.location){%> 2225 <li><%-c.location%></li> 2226 <%}%> 2227 </ul> 2228 <% } else if(c.type=="cpage"){%> 2229 <ul class="cpage-auto-complete"> 2230 <li><strong>Page: <span class="highlightable"><%-c.name%></span></strong></li> 2231 <%if(c.permaid){%> 2232 <li>URL: <%-c.permaid%></li> 2233 <%}%> 2234 <%if(c.template){%> 2235 <li><span>Template: <%-c.template%></span></li> 2236 <%}%> 2237 </ul> 2238 <% } else if(c.type=="invoice"){%> 2239 <ul> 2240 <li><strong>Invoice: #<span class="highlightable"><%-c.invoice_number%> (<%-c.recipient_name%>)</span></strong></li> 2241 <%if(c.created){%> 2242 <li><span>Date: <%-c.created%></span></li> 2243 <%}%> 2244 <%if(c.description){%> 2245 <li>Description: <%-c.description%></li> 2246 <%}%> 2247 </ul> 2248 <% } else if(c.type=="chapter"){%> 2249 <ul> 2250 <li><strong><span class="highlightable"><%-c.name%></span></strong></li> 2251 </ul> 2252 <% } else if(c.type=="campaign"){%> 2253 <ul> 2254 <li>Campaign Name: <strong><span class="highlightable"><%-c.name%></span></strong></li> 2255 <%if(c.description){%> 2256 <li>Description: <%= c.description %></li> 2257 <%}%> 2258 </ul> 2259 <% } else if(c.type=="transaction"){%> 2260 ## You can't view a single transaction, so no point putt
2260ing it in the autocomplete 2261 ## Maybe someday... 2262 <% } %> 2263 2264 </div> 2265 </div> 2266 </div> 2267 <% } %> 2268 </script>
2268 2269 2270 2271 2272
2272<script type="text/template" id="autocomplete_selected_view"> 2273 <span><%-title%></span> 2274 <a class="remove">×</a> 2275 <%if(name){%> 2276 <input type="hidden" name="<%-input_name%>" value="<%-id%>"> 2277 <%}%> 2278 </script>
2278 2279 2280 </div> 2281 2282 2283 2284 <div class="directory-page-templates" style="display:none"> 2285
2285<script type="text/template" class="event-list-pagination-filters"> 2286 <div class="panel panel-default event-filters filtered-search-controls"> 2287 <div class="facet-title">Categories</div> 2288 <div class="event-category-facets mb2"> 2289 <% _.each(event_categories, function(event_category) { %> 2290 <% 2291 var name = event_category.name; 2292 var no_events = event_category.count == 0; 2293 var checked = (event_category.selected && !no_events) ? "checked" : ""; 2294 var label_classes = no_events ? "empty-facet" : ""; 2295 var disabled = no_events ? "disabled" : ""; 2296 var default_category = (event_category.id == 'Default'); 2297 %> 2298 <div class="checkbox"> 2299 <label for="<%= name %>_event_category" class="<%= label_classes %>"> 2300 <input class="event-category-filter" id="<%= name %>_event_category" data-value="<%= default_category ? 'default' : event_category.id %>" <%= checked %> <%= disabled %> type="checkbox"> 2301 <%= name %> 2302 <span class="badge"><%= event_category.count %></span> 2303 </label> 2304 </div> 2305 <% });%> 2306 </div> 2307 2308 <div class="facet-title">Display Type</div> 2309 2310 <div class="btn-group btn-group-justified" role="toolbar"> 2311 <div class="btn-group"> 2312 <button type="button" class="btn btn-default display-type-picker <%= display_type == 'default' ? 'active' : '' %>" data-value="default">List</button> 2313 </div> 2314 <div class="btn-group"> 2315 <button type="button" class="btn btn-default display-type-picker <%= display_type == 'grid' ? 'active' : '' %>" data-value="grid">Grid</button> 2316 </div> 2317 </div> 2318 2319 <div class="mt2"> 2320 <div class="facet-title mb2">Events in the Next</div> 2321 2322 <div class="btn-group btn-group-justified" role="toolbar"> 2323 <div class="btn-group"> 2324 <button type="button" class="btn btn-default event-period-picker <%= period == 'week' ? 'active' : '' %>" data-value="week">Week</button> 2325 </div> 2326 <div class="btn-group"> 2327 <button type="button" class="btn btn-default event-period-picker <%= period == 'month' ? 'active' : '' %>" data-value="month">Month</button> 2328 </div> 2329 </div> 2330 <div class="btn-group btn-group-justified" role="toolbar"> 2331 <div class="btn-group"> 2332 <button type="button" class="btn btn-default event-period-picker <%= period == 'year' ? 'active' : '' %>" data-value="year">Year</button> 2333 </div> 2334 <div class="btn-group"> 2335 <button type="button" class="btn btn-default event-period-picker <%= period == 'all' ? 'active' : '' %>" data-value="all">Ever</button> 2336 </div> 2337 </div> 2338 </div> 2339 <div class="mt1"> 2340 <button type="button" class="btn btn-block btn-default event-period-picker <%= period == 'past' ? 'active' : '' %>" data-value="past">View Past Events</button> 2341 </div> 2342 </div> 2343 </script>
2343 2344 2345
2345<script type="text/template" class="results-total-template"> 2346 <h2> 2347 <div class="found" role="status" aria-live="assertive"> 2348 <%= total_found_string %> 2349 </div> 2350 </h2> 2351 </script>
2351 2352 2353
2353<script type="text/template" class="job-directory-pagination-filters"> 2354 <div class="filtered-search-controls job-search-controls panel panel-default"> 2355 <div class="facet-title">Keyword</div> 2356 <div class="filtered-keyword-search-box"> 2357 <div class="input-group"> 2358 <input type="text" name="keyword" id="job_keyword" placeholder="Search" class="form-control enter-keypress-trigger-button"> 2359 <span class="input-group-btn"> 2360 <button class="btn btn-default job-keyword-search go"><i class="fas fa-search"></i></button> 2361 </span> 2362 </div> 2363 <% if (job_keyword) { %> 2364 <div> 2365 <label class="job-keyword-display"><%=job_keyword%></label> 2366 <a class="remove-keyword-item btn btn-sm">(clear)</a> 2367 </div> 2368 <% } else { %> 2369 <br/><br/> 2370 <% } %> 2371 </div> 2372 <div class="job_type_facets panel-body"> 2373 <div class="facet-title">Type</div> 2374 <% _.each( job_types, function( job_type ) { 2375 var description = job_type.description; 2376 var checked = job_type.selected ? "checked" : ""; 2377 var no_jobs = job_type.count == 0; 2378 var label_classes = no_jobs ? "empty-facet" : ""; 2379 var disabled = no_jobs ? "disabled" : ""; 2380 %> 2381 <div class="checkbox"> 2382 <label class="<%= label_classes %>"><input class="job-type-filter" data-value="<%=description%>" 2383 <%=checked%> <%= disabled %> 2384 type="checkbox"> <%=description%> <span class="badge"><%=job_type.count%></span></label> 2385 </div> 2386 <% });%> 2387 2388 2389 <div class="facet-title">Category</div> 2390 2391 <% _.each( job_categories, function( job_category ) { 2392 var description = job_category.description; 2393 var checked = job_category.selected ? "checked" : ""; 2394 var no_jobs = job_category.count == 0; 2395 var label_classes = no_jobs ? "empty-facet" : ""; 2396 var disabled = no_jobs ? "disabled" : ""; 2397 %> 2398 <div class="checkbox"> 2399 <label class="<%= label_classes %>"><input class="job-category-filter" data-value="<%=description%>" 2400 <%=checked%> <%= disabled %> 2401 type="checkbox"> <%=description%> <span class="badge"><%=job_category.count%></span></label> 2402 </div> 2403 <% });%> 2404 2405 <% if (search_by_location) { %> 2406 2407 <div class="facet-title">Location</div> 2408 2409 <div class="job_location"> 2410 <div class="field form-group"> 2411 <select onchange="" class="country_binding_provinces job-country-filter form-control"> 2412 <% _.each( all_countries_and_states['ALL_COUNTRIES'], function( country ) { 2413 var selected = job_country == country[0] ? "selected" : ""; 2414 %> 2415 <option value="<%=country[0]%>" <%=selected%>><%=country[1]%></option> 2416 <% });%> 2417 </select> 2418 </div> 2419 2420 <div class="field form-group disabled_by_binding" data-bound_to=".job_location|.country_binding_provinces" data-bound_to_value="CA" style="display: none;"> 2421 <select onchange="" class=" form-control job-province-filter" disabled="disabled"> 2422 <% _.each( all_countries_and_states['CANADIAN_PROVINCES'], function( province ) { 2423 var selected = job_province == province[0] ? "selected" : ""; 2424 %> 2425 <option value="<%=province[0]%>
2425" <%=selected%>><%=province[1]%></option> 2426 <% });%> 2427 </select> 2428 </div> 2429 2430 <div class="field form-group disabled_by_binding" data-bound_to=".job_location|.country_binding_provinces" data-bound_to_value="US" style="display: none;"> 2431 <select onchange="" class=" form-control job-province-filter" disabled="disabled"> 2432 <% _.each( all_countries_and_states['AMERICAN_STATES'], function( province ) { 2433 var selected = job_province == province[0] ? "selected" : ""; 2434 %> 2435 <option value="<%=province[0]%>" <%=selected%>><%=province[1]%></option> 2436 <% });%> 2437 </select> 2438 </div> 2439 2440 <div class="field form-group disabled_by_binding" data-bound_to=".job_location|.country_binding_provinces" data-bound_to_value="AU" style="display: none;"> 2441 <select onchange="" class=" form-control job-province-filter" disabled="disabled"> 2442 <% _.each( all_countries_and_states['AUSTRALIAN_STATES'], function( province ) { 2443 var selected = job_province == province[0] ? "selected" : ""; 2444 %> 2445 <option value="<%=province[0]%>" <%=selected%>><%=province[1]%></option> 2446 <% });%> 2447 </select> 2448 </div> 2449 2450 <div class="field form-group disabled_by_binding" data-bound_to=".job_location|.country_binding_provinces" data-bound_to_value="GB" style="display: none;"> 2451 <select onchange="" class=" form-control job-province-filter" disabled="disabled"> 2452 <% _.each( all_countries_and_states['UK_STATES'], function( province ) { 2453 var selected = job_province == province[0] ? "selected" : ""; 2454 %> 2455 <option value="<%=province[0]%>" <%=selected%>><%=province[1]%></option> 2456 <% });%> 2457 </select> 2458 </div> 2459 2460 <div class="field form-group disabled_by_binding" data-bound_to=".job_location|.country_binding_provinces" data-bound_to_value="!CA,!US,!AU,!GB" style="display: block;"> 2461 <div class="input-group"> 2462 <input type="text" id="other_province" placeholder="Province" value="<%=job_province%>" class="form-control enter-keypress-trigger-button"> 2463 <span class="input-group-btn"> 2464 <button class="btn btn-default job-province-search go"><i class="fas fa-search"></i></button> 2465 </span> 2466 </div> 2467 </div> 2468 2469 <div class="checkbox"> 2470 <% var checked = job_remote == "true" ? "checked" : ""; %> 2471 <label><input class="job-remote-filter" <%=checked%> type="checkbox"> Remote Only</label> 2472 </div> 2473 </div> 2474 2475 <% } %> 2476 2477 <div class="facet-title">Company</div> 2478 <div id="autocomplete_company"></div> 2479 </div> 2480 </div> 2481 </script>
2481 2482 2483
2483<script type="text/template" class="pagination-top-links"> 2484 2485 <div class="row"> 2486 <div class="col-xs-3 col-md-6 form-inline"> 2487 <% if (c.model.get('allow_alpha') === 'True'){ %> 2488 <div class="form-group alpha-filter"> 2489 <label for="directory_first_name" class="directory-search-label">Name</label> 2490 <select name="first_name" id="directory_first_name" class="form-control input-lg alpha_filter_select"> 2491 <% _.each( alphabet, function( letter ) { 2492 var selected = ''; 2493 if(hash == '#' + letter){ 2494 selected = 'selected'; 2495 } 2496 %> 2497 <option value="<%=letter%>" <%=selected%>><%=letter%></option> 2498 <% }); %> 2499 </select> 2500 </div> 2501 <% } %> 2502 </div> 2503 2504 <% if ( c.model.get('asset_type') != 'job' ) { %> 2505 <div class="col-xs-9 col-md-6 "> 2506 <!--- START SEARCH FORM ---> 2507 <% 2508 var category_to_search = '' 2509 var search_for = c.model.get('asset_type'); 2510 if(c.model.get('asset_type') == 'company_user'){ 2511 search_for = 'directory'; 2512 } else if (c.model.get('asset_type') == 'article') { 2513 filter_json = JSON.parse(c.model.get('filter', '')); 2514 if (filter_json['category']) { 2515 category_to_search = filter_json['category'] 2516 } 2517 } 2518 %> 2519 <form method="get" action="/<%-search_for%>/search" class="form-inline align-right"> 2520 <div class="directory-search-field form-group"> 2521 <label for="directory_keyword" class="directory-search-label">Quick Search</label> 2522 <input type="text" name="keyword" id="directory_keyword" class="form-control directory-search-text-input input-lg" <%= keyword ? 'value="' + keyword + '"' : '' %>> 2523 <% if (category_to_search) { %> 2524 <input type="hidden" name="category" value="<%- category_to_search %>" /> 2525 <% } %> 2526 <input type="submit" class="directory-search-submit btn btn-lg btn-primary" value="GO" /> 2527 </div> 2528 </form> 2529 <!--- END SEARCH FORM ---> 2530 </div> 2531 <% } %> 2532 </div> 2533 2534 <% if (c.model.get('allow_alpha') === 'True'){ %> 2535 <div class="row"> 2536 <div class="col-xs-12"> 2537 <% if (c.model.get('asset_type') === 'company_user'){ %> 2538 <!--- START FILTER BUTTONS ---> 2539 2540 <div class="filter_by pull-right"> 2541 <div class="hidden-xs"> 2542 <label class="directory-search-label hidden-sm">Filter</label> 2543 <%=pagination_filter_buttons%> 2544 </div> 2545 <div class="visible-xs btn-group"> 2546 <%=pagination_filter_buttons%> 2547 </div> 2548 </div> 2549 <!--- END FILTER BUTTONS ---> 2550 <% } %> 2551 <!--- START SORT BUTTONS ---> 2552 2553 <div class="sort-by pull-right"> 2554 <div class="hidden-xs"> 2555 <label class="directory-search-label hidden-sm">Sort By: </label> 2556 <%=pagination_sort_buttons%> 2557 </div> 2558 <div class="visible-xs btn-group"> 2559 <%=pagination_sort_buttons%> 2560 </div> 2561 </div> 2562 <!--- END SORT BUTTONS ---> 2563 </div> 2564 </div> 2565 <% } %> 2566 </script>
2566 2567 2568
2568<script type="text/template" class="pagination-control"> 2569 2570 <div class="btn-toolbar pagination-toolbar"> 2571 <div> 2572 <!--START PREV BUTTON ---> 2573 <div class="btn-group btn-group-sm prev-button"> 2574 <% if( current_page !== 1 && current_page !== 0){ %> 2575 <button class="btn btn-default page" data-page="<%-current_page-1%>">Prev </button> 2576 <% }else{ %> 2577 <button class="btn btn-default page" data-page="<%-current_page%>" aria-disabled="true" disabled>Prev </button> 2578 <% } %> 2579 </div> 2580 <!--END PREV BUTTON ---> 2581 2582 <!--START NUMBERED BUTTON GROUP--> 2583 <div class="btn-group btn-group-sm hidden-xs"> 2584 <% 2585 if( total_page < 10 ) { 2586 // TOTAL PAGES LESS THAN 10 2587 for(var i = 1; i<=total_page; i++){ 2588 if(i === current_page){ %> 2589 <button class="btn btn-info page" data-page="<%-i%>" aria-current="true" role="button"><%-i%></button> 2590 <% }else{ %> 2591 <button class="btn btn-default page" data-page="<%-i%>" role="button"><%-i%></button> 2592 <% } 2593 } 2594 }else{ 2595 // TOTAL PAGES GREATER THAN 10 2596 if(current_page>=5 && current_page <= total_page - 4){ 2597 // TOTAL PAGES GREATER THAN 10 AND CURRENT_PAGE >= 5 AND CURRENT_PAGE <= TOTAL_PAGE-4 2598 %> 2599 <a class="btn btn-default page" data-page="1">1... </a> 2600 </div> 2601 <div class="btn-group btn-group-sm"> 2602 <% 2603 for(var page = current_page - 2; page<=current_page+2; page++){ 2604 if(page === current_page){ %> 2605 <button class="btn btn-info page" data-page="<%-page%>" aria-current="true" role="button"><%-page%></button> 2606 <% }else{ %> 2607 <button class="btn btn-default page" data-page="<%-page%>" role="button"><%-page%></button> 2608 <% } 2609 } %> 2610 </div> 2611 <div class="btn-group btn-group-sm hidden-xs"> 2612 <a class="btn btn-default page" data-page="<%-total_page%>">...<%-total_page%></a> 2613 <% }else{ 2614 if(current_page<=5){ 2615 // TOTAL PAGES GREATER THAN 10 AND CURRENT_PAGE LESS THAN 5 2616 for(page = 1; page <=6; page++){ 2617 if(page === current_page){ %> 2618 <a class="btn btn-info page" data-page="<%-page%>"><%-page%></a> 2619 <% }else{ %> 2620 <a class="btn btn-default page" data-page="<%-page%>"><%-page%></a> 2621 <% } 2622 } %> 2623 </div> 2624 <div class="btn-group btn-group-sm hidden-xs"> 2625 <a class="btn btn-default page" data-page="<%-total_page%>">...<%-total_page%></a> 2626 <% }else if(current_page>=total_page - 4){ 2627 // TOTAL PAGES GREATER THAN 10 AND CURRENT_PAGE >= TOTAL_PAGE-4 2628 %> 2629 <a class="btn btn-default page" data-page="1">1... </a> 2630 </div> 2631 <div class="btn-group btn-group-sm hidden-xs"> 2632 <% 2633 for(page = total_page - 5; page <= total_page; page++){ 2634 if(page === current_page){ %> 2635 <a class="btn btn-info page" data-page="<%-page%>"><%-page%></a> 2636 <% }else{ %> 2637 <a class="btn btn-default page" data-page="<%-page%>"><%-page%></a> 2638 <% } 2639 } 2640 } 2641 } 2642 } %> 2643 2644 </div> 2645 <!--END NUMBERED BUTTON GROUP--> 2646 2647 <!--START NEXT BUTTON ---> 2648 <div class="btn-group btn-group-sm next-button"> 2649 <% if( current_page !== this.model.get('total_page') ){ %> 2650 <button class="btn btn-default page" data-page="<%-current_page+1%>">Next </button> 2651 <% }else{ %> 2652 <button class="btn btn-default page" data-page="<%-current_page%>" aria-disabled="true" disabled>Next </button> 2653 <% } %> 2654 </div> 2655 <!--END NEXT BUTTON ---> 2656 </div> 2657 2658 <div class="visible-xs col-xs-12 pagination-pages"> 2659 Pages: <%-total_page%> 2660 </div> 2661 2662 <!--START GO BUTTON ---> 2663 <div> 2664 <div class="input-group input-group-sm"> 2665 <input type="text" class="form-control goto" aria-label="Jump To Page">
2666 <span class="input-group-btn"> 2667 <button class="btn btn-default btn-sm go" role="button">Go</button> 2668 </span> 2669 </div> 2670 </div> 2671 2672 <!--END GO BUTTON ---> 2673 2674 <div> 2675 </script>
2675 2676
2676<script type="text/template" class="pagination-count-selector"> 2677 <div class="btn-toolbar"> 2678 <div class="input-group input-group-sm"> 2679 <span class="input-group-addon">Results per page</span> 2680 <select class="form-control num_per_page"> 2681 <% _.each(list_options, function(value){ 2682 var selected = ''; 2683 if (value === num_per_list) { 2684 selected = 'selected'; 2685 } 2686 %> 2687 <option value="<%-value%>" <%=selected%>><%-value%></option> 2688 <% }); %> 2689 </select> 2690 </div> 2691 </div> 2692 </script>
2692 2693
2693<script type="text/template" class="pagination-filter-buttons"> 2694 <button class="btn btn-default directory-search-btn btn-lg directory-filter <%-all_filtered%>" data-value="all">All</button> 2695 <button class="btn btn-default directory-search-btn btn-lg directory-filter <%-people_filtered%>" data-value="user"><%- ss.config.TERMS.singular_individual %></button> 2696 <button class="btn btn-default directory-search-btn btn-lg directory-filter <%-company_filtered%>" data-value="company"><%- ss.config.TERMS.singular_company %></button> 2697 </script>
2697 2698
2698<script type="text/template" class="pagination-sort-buttons"> 2699 <button class="btn btn-default btn-lg directory-search-btn alpha_filter <%-alpha_filtered%>" data-value="">A-Z</button> 2700 <button class="btn btn-default btn-lg directory-search-btn recent_filter <%-recent_filtered%>" data-value="recent">Recent</button> 2701 </script>
2701 2702 </div> 2703 2704 2705 2706 2707 <div class="custom-content-creator-templates"> 2708 2709
2709<script type="text/template" id="custom-content-creator"> 2710 <div class="custom-content-creator"> 2711 <h3><%- title %> 2712 <i 2713 class="popover_link fas fa-question-circle" 2714 role="button" 2715 data-toggle="popover" 2716 data-trigger="focus" 2717 title="<%- popovertitle %>" 2718 data-content="<%- popovertext %>" 2719 > 2720 </i> 2721 </h3> 2722 <div class="row"> 2723 <div class="col-sm-3 col-md-4"> 2724 <ul class="list-group custom-content-list"> 2725 2726 </ul> 2727 <a href="javascript:void(0)" class="btn btn-primary btn-lg btn-block add-custom-content">Add a <%- item_type %></a> 2728 </div> 2729 <div class="col-sm-9 col-md-8"> 2730 <div class="custom-content-editor"> 2731 2732 </div> 2733 </div> 2734 </div> 2735 <div class="feedback alert"> 2736 </div> 2737 </div> 2738 </script>
2738 2739
2739<script type="text/template" id="custom-content-list-item"> 2740 <li class="list-group-item custom-content-li" data-id="<%-id%>"> 2741 <div class="move-target" data-id="<%-id%>"> 2742 </div> 2743 <%-name%> 2744 </li> 2745 </script>
2745 2746
2746<script type="text/template" id="custom-content-edit-panel"> 2747 <div class="form-group"> 2748 <input type="text" class="custom-content-name form-control" name="name" value="<%-name || ''%>" placeholder="Content Title" aria-label="Content Title"> 2749 </div> 2750 <div class="form-group custom-content"> 2751 <label><%- item_type %> Content</label> 2752 <div class="hidden_ckeditor_input" name="content" style="display:none"><%=content%></div> 2753 </div> 2754 <div class="clearfix"> 2755 <a href="javascript:void(0)" class="pull-left save-custom-content btn btn-success" data-id="<%-id%>" >Save</a> 2756 <a href="javascript:void(0)" class="pull-left cancel-custom-content btn btn-warning" data-id="<%-id%>">Cancel</a> 2757 <% if (id) { %> 2758 <a href="javascript:void(0)" class="pull-right delete-custom-content btn btn-danger" data-id="<%-id%>">Delete</a> 2759 <% } %> 2760 </div> 2761 </script>
2761 2762 2763 </div> 2764 2765 <div class="ticket-templates"> 2766 2767
2767<script type="text/template" id="event_ticket_rows"> 2768 2769 <td class="name"> 2770 <input data-name="name" name="name_<%=random_token%>" class="required form-control" type="text" value="<%-name || ''%>" placeholder="Ticket name" aria-label="Ticket <%=random_token%> Name"> 2771 </td> 2772 <td class="quantity"> 2773 <input data-name="total_number_of_tickets" name="quantity_<%=random_token%>" class="not_negative form-control" type="text" value="<%=total_number_of_tickets || ''%>" placeholder="No Limit" aria-label="Ticket <%=random_token%> Quantity Limit"> 2774 </td> 2775 <td class="price"> 2776 <div class="input-group"> 2777 <div class="input-group-addon"><%=currency_symbol%></div> 2778 <input name="price_<%=random_token%>" data-name="price" class="required numbers form-control" type="text" value="<%=price_to_display%>" aria-label="Ticket <%=random_token%> Price"> 2779 </div> 2780 </td> 2781 <td class="settings"> 2782 <button class="ticket_settings btn-link" type="button">Settings</button> 2783 </td> 2784 <td class="signup_form"> 2785 <button class="signup_form_js btn-link" type="button">Signup Form</button> 2786 </td> 2787 <td class="remove"> 2788 <button class="remove_list_row btn-link" type="button"> 2789 <i class="fas fa-times"></i><span class="sr-only">Remove Ticket</span> 2790 </button> 2791 </td> 2792 </script>
2792 2793
2793<script type="text/template" id="ticket_settings"> 2794 <div class="ticket_detail_dialog"> 2795 <form class="form-horizontal"> 2796 <div class="form-group"> 2797 <label class="control-label col-sm-4">Ticket Description:</label> 2798 <div class="col-sm-8"> 2799 <input name="ticket:description" type="text" class="description form-control" value="<%-description || ''%>"> 2800 </div> 2801 </div> 2802 <div class="form-group"> 2803 <label class="control-label col-sm-4"> 2804 Available to:  2805 <%= ss.fn.popover({ title: "Available To", 2806 content: "Limit the purchase of this ticket type to a certain membership category or designation. " + 2807 "If you are looking to make this ticket type available to people without an account, make sure to select 'Anyone' here " + 2808 "and then 'Allow Registration Without Account' on the main event edit page."}) %> 2809 </label> 2810 <div class="col-sm-8"> 2811 <select name="ticket:membership_requirement" class="membership_requirement form-control"> 2812 <% _.each(membership_options,function(value){ %> 2813 <option value="<%=value[0]%>" 2814 <% if(value[0] == membership_requirement){ %> 2815 selected 2816 <% } %> 2817 > <%=value[1]%> </option> 2818 <% }); %> 2819 </select> 2820 </div> 2821 </div> 2822 <div class="form-group user_type_options" 2823 <% 2824 if(membership_requirement == "other"){ 2825 %> 2826 style="display:block;" 2827 <% 2828 }else{ 2829 %> 2830 style="display:none;" 2831 <% 2832 } 2833 %> 2834 > 2835 <label class="control-label col-sm-4">Choose membership type: <br><i style="color: #B8B8B8;">Hold ctrl on PC or command on Mac to select/deselect multiple items</i></label> 2836 <div class="col-sm-8"> 2837 <select name="ticket:user_type_requirement" id="user_type_options" class="form-control" size="10" multiple="multiple"> 2838 <% 2839 _.each(user_type_options,function(value){ 2840 %> 2841 <option value="<%=value[0]%>" 2842 <% 2843 if(user_type_requirement != null){ 2844 if(typeof(user_type_requirement) == "string" && user_type_requirement == value[0] || typeof(user_type_requirement) == "object" && _.indexOf(user_type_requirement,value[0]) >= 0){ 2845 %> 2846 selected 2847 <% 2848 } 2849 } 2850 %> 2851 ><% if(value[1] == "Group Admin"){%>Organization Admin<%}else{%><%=value[1]%><%}%></option> 2852 <% 2853 }); 2854 %> 2855 </select> 2856 </div> 2857 <label class="control-label col-sm-4"> 2858 Display Ticket:
2859 <%= ss.fn.popover({ title: "Display Ticket", 2860 content: "Show membership type ticket to users either without a membership or plans other than ones selected. " + 2861 "They will not be able to purchase without the proper membership type."}) %> 2862 </label> 2863 <div class="col-sm-8 form-inline"> 2864 <input type="checkbox" value name="ticket:show_user_type_ticket" class="form-control" <%= show_user_type_ticket ? 'checked' : ''%>> 2865 </div> 2866 </div> 2867 <div class="form-group"> 2868 <label class="control-label col-sm-4"> 2869 Sale Start:  2870 <div class="pull-right"> 2871 <a class="popover_link" 2872 role="button" 2873 data-toggle="popover" 2874 data-trigger="focus" 2875 data-title="Sale Start" 2876 data-content="<p>Based on the time zone for your event, ticket sales will begin at 12:00 AM on the start date chosen and end at 11:59 PM on the day chosen to end sales.</p>"> 2877 <i class="fas fa-question-circle"></i> 2878 </a> 2879 </div> 2880 </label> 2881 <% 2882 var start_date; 2883 var date_to_display = ''; 2884 2885 if(registration_start_date){ 2886 start_date = new Date(registration_start_date); 2887 date_to_display = ss_format_date(start_date); 2888 } 2889 2890 %> 2891 <div class="col-sm-8"> 2892 <input name="ticket:registration_start_date" type="text" class="start_date date date_input form-control" value="<%=date_to_display%>" placeholder="Start Date"> 2893 <%/*%> 2894 <select name="ticket:registration_start_time" class="start_time" <%if(!registration_start_time){%>style="display:none;"<%}%>> 2895 <%*/%> 2896 <select name="ticket:registration_start_time" class="start_time" style="display:none;"> 2897 2898 <% _.each(time_options, function(time){ %> 2899 <option value="<%=time%>" 2900 <% if(registration_start_time == time){ %> 2901 selected 2902 <% } %> 2903 ><%=time%></option> 2904 <% }); %> 2905 </select> 2906 </div> 2907 </div> 2908 <div class="form-group"> 2909 <label class="control-label col-sm-4">Sale End:</label> 2910 <div class="col-sm-8"> 2911 <% 2912 var end_date; 2913 var date_to_display = ''; 2914 2915 if(registration_end_date){ 2916 end_date = new Date(registration_end_date); 2917 date_to_display = ss_format_date(end_date); 2918 } 2919 %> 2920 <input name="ticket:registration_end_date" type="text" class="end_date date date_input end_date_validation form-control" value="<%=date_to_display%>" placeholder="End Date"> 2921 <%/*%> 2922 <select name="ticket:registration_end_time" id="end_time" <%if(!registration_end_time){%>style="display:none;"<%}%>> 2923 <%*/%> 2924 <select name="ticket:registration_end_time" id="end_time" style="display:none;"> 2925 <% _.each(time_options, function(time){ %> 2926 <option value="<%=time%>" 2927 <% if(registration_end_time == time){ %> 2928 selected 2929 <% } %> 2930 ><%=time%></option> 2931 <% }); %> 2932 </select> 2933 </div> 2934 </div> 2935 <div class="form-group"> 2936 <label class="control-label col-sm-4">Max Number of Tickets / Person:</label> 2937 <div class="col-sm-8 form-inline"> 2938 <input name="ticket:max_num_of_tickets_per_user" class="max_per_order form-control" 2939 value="<%= has_max_num_of_tickets_per_user ? max_num_of_tickets_per_user : ''%>" placeholder="No Limit" > 2940 </div> 2941 2942 </div> 2943 <% if (use_gl_codes) { %> 2944 <div class="form-group"> 2945 <label class="control-label col-sm-4">General Ledger Code:</label> 2946 <div class="col-sm-8"> 2947 <input name="ticket:gl_code" type="text" class="form-control" value="<%=gl_code%>" /> 2948 </div> 2949 </div> 2950 <% } %> 2951 <div> 2952 <label class="control-label col-sm-4">Coupons:</label> 2953 <div class="inline_field_block col-sm-8"> 2954 <ul class="coupons"> </ul> 2955 <div class="field_displayed_data"> 2956 <a href="#" class="add-coupon-js">Add Coupon</a> 2957 </div> 2958 </div> 2959 </div> 2960 </form> 2961 </div> 2962 </script>
2962 2963 2964
2964<script type="text/template" id="coupon_row"> 2965 <!-- validation only works if fields have unique names--> 2966 <li class="clearfix"> 2967 <div class="col-xs-12 form-horizontal"> 2968 <div class="form-group"> 2969 <div class="form-inline"> 2970 <input class="required code-js form-control" type="text" placeholder="code" name="coupon_code_<%-(new Date()).getTime()%>" value="<%=code%>"> 2971 <button class="btn btn-danger remove_list_row">x</button> 2972 </div> 2973 </div> 2974 <div class="form-group"> 2975 <div class="form-inline"> 2976 <input name="coupon_discount_amount_<%-(new Date()).getTime()%>" placeholder="discount" type="number" min="0" <%if(discount_type==ss.config.CONSTANTS.PERCENT_DISCOUNT){%>max="100"<%}%> class="form-control coupon-discount required discount-js" value="<%=discount%>" /> 2977 <div class="btn-group discount_type_buttons" role="group"> 2978 <button type="button" class="btn discount_type_percent <% if(discount_type==ss.config.CONSTANTS.PERCENT_DISCOUNT){%>active btn-primary<%}%>">%</button> 2979 <button type="button" class="btn discount_type_dollar <% if(discount_type==ss.config.CONSTANTS.DOLLAR_DISCOUNT){%>active btn-primary<%}%>"><%= SS.app.current_network.currency_symbol %></button> 2980 </div> 2981 <input id="coupon_discount_type" name="coupon_discount_type_<%-(new Date()).getTime()%>" value="<%=discount_type%>" type="hidden" readonly class="input-group-addon discount_type-js" /> 2982 </div> 2983 </div> 2984 </div> 2985 </li> 2986 </script>
2986 2987 2988
2988<script type="text/template" id="signup_form"> 2989 <div class="ticket_signup_form ticket_detail_dialog label_beside"> 2990 <form class="form-horizontal"> 2991 <% 2992 var signup_form_fields = [['name','Name'],['email','Email Address'],['company','Company Name'],['phone','Phone Number'],['address','Address'],['company_detailed','Detailed Company Information']]; 2993 _.each(signup_form_fields, function(value) { 2994 %> 2995 <div class="form-group"> 2996 <label class="control-label col-sm-4"><%=value[1]%></label> 2997 <div class="col-sm-8"> 2998 <% if (value[0] === "name" || value[0] === "email") { %> 2999 3000 <input type="checkbox" value="<%=value[0]%>" name="ticket:signup_form:<%=value[0]%>" class="mr-1i" disabled checked> 3001 3002 <% } else { %> 3003 3004 <input type="checkbox" value="<%=value[0]%>" name="ticket:signup_form:<%=value[0]%>" class="mr-1i" 3005 3006 <% if (_.indexOf(signup_form,value[0]) !== -1) { %> 3007 checked 3008 <% } else if (value[0] === "company_detailed" && SS.app.current_network.detailed_attendee_company_info_checked && _.indexOf(signup_form,value[0]) !== -1) { %> 3009 checked 3010 <% } %> 3011 > 3012 <% } %> 3013 <% if (value[0] === 'company_detailed') { %>
3014 <%= ss.fn.popover({title: "Detailed Company Information", 3015 content: "When checked, users will be required to enter their company information in order to purchase tickets. " + 3016 "This info will then be used as the address info on the invoice for any such tickets. " + 3017 "Furthermore, the info entered will populate the Work Address fields for any new contacts created " + 3018 "as a result of purchasing tickets. This info will not be used to automatically create a company " + 3019 "or to link a user to an existing company. " + 3020 "Do not use this option in conjunction with the 'Company Name' field option above."})%> 3021 <% } else if (value[0] === "email") { %> 3022 <%=
3022ss.fn.popover({title: "Email Address", 3023 content: "All event attendees are recorded in your database using the email address entered on their event ticket." })%> 3024 <% } %> 3025 </div> 3026 </div> 3027 <% 3028 }); 3029 %> 3030 <hr> 3031 <ul class="ticket_custom_fields"> 3032 3033 </ul> 3034 <a class="btn btn-success add_field">Add a Custom Field</a> 3035 </form> 3036 </div> 3037 </script>
3037 3038 3039
3039<script type="text/template" class="ticket-custom-field"> 3040 <div class="form-group custom_field"> 3041 <label>Custom Field:</label> 3042 <input class="key input_box" type="hidden" name="key" value="<%=key%>"> 3043 <input class="index" type="hidden" name="index" value="<%=key%>"> 3044 <div class="input-group"> 3045 <select class="custom_field_selection form-control validation_no_duplicate_field" 3046 name="field_info_id_<%=key%>"> 3047 <% _.each(ss_context.ticket_custom_fields,function(value){ %> 3048 <option value="<%=value[0]%>" 3049 <% if(field_info_id == value[0]){ %> 3050 selected 3051 <% } %> 3052 ><%=value[1]%></option> 3053 <% }); %> 3054 </select> 3055 <span class="input-group-btn"> 3056 <button class="btn btn-danger remove_list_row" type="button">×</button> 3057 </span> 3058 </div> 3059 3060 </div> 3061 </script>
3061 3062 3063
3063<script type="text/template" id="event_reminder_row"> 3064 <div class=""> 3065 <input class="input_box to_delete" type="hidden" name="day_list[<%=key%>].to_delete" value="<%=to_delete%>"> 3066 <% 3067 if(is_before == 'day_of'){ 3068 %> 3069 <input class="input_box reminder_number required form-control " type="text" name="day_list[<%=key%>].number" value="<%=number || ''%>" aria-label="Reminder <%=key%> Value" style="display:none;" disabled> 3070 <input class="input_box reminder_time_unit" type="hidden" name="day_list[<%=key%>].time_unit" value="days" disabled> 3071 <span class="time_until_js" style="display:none;">Days</span> 3072 <%}else{%> 3073 <input class="input_box reminder_number required form-control " type="text" name="day_list[<%=key%>].number" value="<%=number || ''%>" aria-label="Reminder <%=key%> Value"> 3074 <input class="input_box reminder_time_unit" type="hidden" name="day_list[<%=key%>].time_unit" value="days"> 3075 <span class="time_until_js">Days</span> 3076 <%}%> 3077 <select class="form-control is_before_selection" name="day_list[<%=key%>].is_before" aria-label="Reminder <%=key%> Selection"> 3078 <option value="before" <%if(is_before == 'before'){%>selected<%}%>>Before</option> 3079 <option value="day_of" <%if(is_before == 'day_of'){%>selected<%}%>>Day of</option> 3080 </select> 3081 3082 3083 <span class="remove_list_row" title="Removes the field">×</span> 3084 </div> 3085 </script>
3085 3086 3087
3087<script type="text/template" id="custom_field_list"> 3088 <div> 3089 3090 <ul class="custom_fields"></ul> 3091 <a class="button success add_field">Add a Custom Field</a> 3092 </div> 3093 </script>
3093 3094
3094<script type="text/template" id="custom_field_selection"> 3095 <div class="form-group field custom_field"> 3096 <label>Custom Field:</label> 3097 <div class="input-group"> 3098 <select class="custom_field_selection form-control validation_no_duplicate_field"> 3099 <% _.each(ss_context.ticket_custom_fields,function(field_info){ %> 3100 <option value="<%=field_info[0]%>" 3101 <% if(field_info_id == field_info[0]){ %> 3102 selected 3103 <% } %> 3104 ><%=field_info[1]%></option> 3105 <% }); %> 3106 </select> 3107 <span class="input-group-btn"> 3108 <button class="btn btn-danger remove_list_row" type="button">×</button> 3109 </span> 3110 </div> 3111 3112 </div> 3113 3114 3115 </script>
3115 3116 3117 </div> 3118 3119 3120 3121
3121<script type="text/template" id="search_widget_edit_row"> 3122 <div class="clearfix"> 3123 <div class="btn-group pull-right"> 3124 <a class="btn btn-sm btn-danger remove_row_js">Delete Row <i class="fas fa-times-circle"></i></a> 3125 <a class="add_field_js btn-sm btn btn-default">Add Field <i class="fas fa-plus-circle"></i></a> 3126 </div> 3127 </div> 3128 <div class="mt1 field row_field"> 3129 <input type="hidden" name ="<%=field_prefix%>.index" class="index_input" value=> 3130 <input type="hidden" name ="<%=field_prefix%>.key" value="<%=key%>"> 3131 <select name="<%=field_prefix%>.value" class="form-control mb1 search_option_js"> 3132 <% _.each(search_target_options,function(target_option){ %> 3133 <option value="<%=target_option[0]%>" <%= target_option[0] == value && value ? 'selected' : ''%>> 3134 <%=target_option[1]%> </option> 3135 <% }); %> 3136 </select> 3137 </div> 3138 </script>
3138 3139 3140
3140<script type="text/template" id="search_widget_field"> 3141 3142 <div class="field field_element"> 3143 <input type="hidden" name = "<%=field_prefix%>.index" class="index_input" value=<%=index%>> 3144 <input type="hidden" name ="<%=field_prefix%>.key" value="<%=key%>"> 3145 <input type="hidden" name ="<%=field_prefix%>.deletable" value="<%= deletable ? 'true' : ''%>"> 3146 <input class="required_input" type="hidden" name ="<%=field_prefix%>.required" value="<%= required ? 'true' : ''%>"> 3147 <input class="no_empty_input" type="hidden" name ="<%=field_prefix%>.no_empty_option" value="<%= no_empty_option ? 'true' : ''%>"> 3148 <input class="hidden_options_input" type="hidden" name ="<%=field_prefix%>.hidden_options" value="<%=hidden_options%>"> 3149 3150 <% if(field_id == 'keyword'){ %> 3151 <input type="hidden" name ="<%=field_prefix%>.field_id" value="keyword"> 3152 <% } %> 3153 3154 <div class="input-group"> 3155 <select name="<%=field_prefix%>.field_id" class="form-control search_field_js" <%= field_id === 'keyword' ? 'disabled' : ''%>> 3156 3157 <% _.each(field_option_groups, function(option_group){ %> 3158 3159 <optgroup label="<%-option_group.label%>"> 3160 3161 <% _.each(option_group.options, function(target_option){ %> 3162 <% 3163 var value = target_option[0]; 3164 %> 3165 3166 <option value="<%=value%>" <%= target_option[0] === field_id ? 'selected' : ''%>> 3167 <%=target_option[1]%> 3168 </option> 3169 3170 <% }); %> 3171 3172 </optgroup> 3173 3174 <% }); %> 3175 3176 </select> 3177 <span class="input-group-btn"> 3178 <% if(deletable){ %> 3179 <a class="remove_field_js btn btn-danger"><i class="fas fa-times-circle"></i> Delete</a> 3180 <% } %> 3181 <a href="" class='edit_js btn btn-info'><i class="fas fa-pencil"></i> Edit</a> 3182 </span> 3183 </div> 3184 </div> 3185 </script>
3185 3186 3187 3188 3189 3190
3190<script type="text/template" id="non_loggedin_contact_message"> 3191 <form> 3192 3193 <div class="form-group"> 3194 <label>Email: <i class="required_marker"></i></label> 3195 <input type="text" class="reply_email form-control required email" name="reply_email" value=""> 3196 </div> 3197 <div class="form-group"> 3198 <label>First Name: <i class="required_marker"></i></label> 3199 <input type="text" class="first_name form-control required" name="first_name" value=""> 3200 </div> 3201 <div class="form-group"> 3202 <label>Last Name: <i class="required_marker"></i></label> 3203 <input type="text" class="last_name form-control required" name="last_name" value=""> 3204 </div> 3205 <div class="form-group"> 3206 <label>Subject: <i class="required_marker"></i></label> 3207 <input type="text" class="message_subject form-control required" name="message_subject" value="<%=subject%>"> 3208 </div> 3209 <div class="form-group"> 3210 <label>Message: <i class="required_marker"></i></label> 3211 <textarea class="message_body required form-control" name="message_body"></textarea> 3212 </div> 3213 3214 3215 3216 </form> 3217 </script>
3217 3218 3219 3220 3221 3222
3222<script type="text/template" id="company_member_listing"> 3223 <div class="row"> 3224 <div class="col-lg-4 col-md-5 col-sm-6"> 3225 <% if ( at_plan_cap ) { %> 3226 <div class="at_plan_cap_limit_reached alert alert-warning">You are at your <%- ss.config.TERMS.singular_company %>'s plan's capacity, please contact your association administrator to increase the number of <%- ss.config.TERMS.plural_employee.toLowerCase() %> available for your current plan.</div> 3227 <% } %> 3228 3229 <h2 class="active_employees_title_js">Active <%- ss.config.TERMS.plural_employee %></h2> 3230 <span class="add_employee_help"></span> 3231 <ul class="active_employees list-group"> 3232 </ul> 3233 <div> 3234 <button type="button" class="btn btn-primary btn-lg add_member_js" <%- at_plan_cap && !SS.app.current_user.network_admin ? 'disabled' : '' %> >Add <%- ss.config.TERMS.singular_employee %></button> 3235 </div> 3236 <br> 3237 <h2 class="pending_employees_title_js">Pending <%- ss.config.TERMS.plural_employee %></h2> 3238 <ul class="pending_employees list-group"> 3239 </ul> 3240 </div> 3241 </div> 3242 </script>
3242 3243 3244
3244<script type="text/template" id="active_company_member_view"> 3245 <div class="row"> 3246 <div class="image_div col-xs-3"> 3247 <% if ( image_url ) {%> 3248 <img width="60" height="60" src="<%-image_url%>"> 3249 <% } else { %> 3250 3251 <% } %> 3252 </div> 3253 <div class="member_details col-xs-9"> 3254 <div> 3255 <div class="member_name"><a href="/profiles/<%-id%>"><%-name%></a></div> 3256 <div class="member_actions"> 3257 <a class="member_action_delete_js"><i class="fas fa-trash-can"></i></a> 3258 </div> 3259 </div> 3260 <div class="member_title"> 3261 <label> 3262 <input type="text" placeholder="Title" class="title_js" value="<%-title || ''%>"> 3263 </label> 3264 </div> 3265 <ul class="member_type"> 3266 <li> 3267 <label> 3268 <input type="radio" name="primary_contact" class="primary_contact_js" 3269 <%-primary_contact ? 'checked' : ''%>> 3270 <span> 3271 Contact Person 3272 <a tabindex="0" class="popover_link" role="button" data-toggle="popover" data-trigger="focus" title="Contact Person" 3273 data-content="The Primary Contact is the person whose contact info will appear on your <%- ss.config.TERMS.singular_company %>'s profile." 3274 data-original-title="Primary Contact"> 3275 <i class="fas fa-question-circle icon-question-sign"></i> 3276 </a> 3277 </span> 3278 </label> 3279 <li> 3280 <% 3281 var account_holder_only_plan = company_plan_for == 'account_holder_only'; 3282 var account_holder_disabled = account_holder_only_plan && !is_network_admin; 3283 %> 3284 <label> 3285 <input type="radio" name="account_holder" class="account_holder_js" 3286 <%-account_holder ? ' checked ' : ''%> 3287 <%-account_holder_disabled ? ' disabled ' : ''%>> 3288 <span> 3289 Billing Person 3290 <a tabindex="0" class="popover_link" role="button" data-toggle="popover" data-trigger="focus" title="Billing Person" 3291 data-content="The Billing Person will receive confirmation emails and expiry reminders for your <%- ss.config.TERMS.singular_company %>'s membership, 3292 and is the person who can purchase or renew memberships on behalf of the <%- ss.config.TERMS.singular_company %>. To access the full range of billing 3293 functionality, please ensure that this member has a valid email address." 3294 data-original-title="Billing Person"> 3295 <i class="fas fa-question-circle icon-question-sign"></i> 3296 </a> 3297 </span> 3298 </label> 3299 <li> 3300 <label> 3301 <input type="checkbox" class="company_admin_js" <%-admin ? 'checked' : ''%> 3302 <%-account_holder && admin && !is_network_admin ? 'disabled' : ''%>> 3303 <% capitalized_company_type = _.string.titleize(ss.config.TERMS.singular_company) %>
3304 <span><%- capitalized_company_type %> Admin</span> 3305 <a tabindex="0" class="popover_link" role="button" data-toggle="popover" data-trigger="focus" title="<%- capitalized_company_type %> Admin" 3306 data-content="<%- capitalized_company_type %> Admins can edit the <%- capitalized_company_type %> profile and access its settings. There can be multiple <%- capitalized_company_type %> Admins, they can add other employees and they will receive communications regarding their <%- capitalized_company_type %>." 3307 data-original-title="<%- ss.config.TERMS.singular_company %> Admin"> 3308 <i class="fas fa-question-circle icon-question-sign"></i> 3309 </a> 3310 </label> 3311 </ul> 3312 <% if (ss.config.FEATURES.company_employee_sorting) { %> 3313 <div class="member_sort"> 3314 <label> 3315 <input type="text" placeholder="Sort Index" class="sort_js" value="<%-sort_index || ''%>"> 3316 </label> 3317 </div> 3318 <% } %> 3319 </div> 3320 </div> 3321 <% if (account_holder && account_holder_only_plan) { %> 3322 <div class="alert alert-warning"> 3323 <i class="fas fa-exclamation-triangle pr1"></i><strong>Billing Person Only Plan</strong> 3324 <br/><br/> 3325 <div> 3326 This <%- ss.config.TERMS.singular_company %> holds a Billing Person Only Membership Plan. 3327 Only the billing person has access to the benefits of the <%- ss.config.TERMS.singular_company %>'s membership plan. 3328 Therefore, only network admins may change who the billing person is for this <%- ss.config.TERMS.singular_company %>. 3329 </div> 3330 </div> 3331 <% } %> 3332 </script>
3332 3333
3333<script type="text/template" id="pending_company_member_view"> 3334 <div class="row"> 3335 <div class="image_div col-xs-3"> 3336 <% if ( image_url ) {%> 3337 <img width="60" height="60" src="<%-image_url%>"> 3338 <% } else { %> 3339 3340 <% } %> 3341 </div> 3342 <div class="member_details col-xs-9"> 3343 <div class="member_name"><a href="/profiles/<%-id%>"><%-name%></a></div> 3344 <div class="member_email"><%-email%></div> 3345 <button type="button" class="btn btn-danger member_action_reject_js">Decline</button> 3346 <button type="button" class="btn btn-success member_action_approve_js" <%- at_plan_cap ? 'disabled' : '' %> >Approve</button> 3347 </div> 3348 <div class="member_actions"> 3349 </div> 3350 </div> 3351 </script>
3351 3352 3353
3353<script type="text/template" id="add_member_view"> 3354 <form class="new_member_form_js form-horizontal"> 3355 <div class="form-group"> 3356 <label class="control-label col-md-3">Email: <span style="color:red">*</span></label> 3357 <div class="col-md-9"> 3358 <input type="text" class="form-control email <%- ss.config.FEATURES.company_admin_invite_existing_members ? '' : 'user_id_update_available' %> required" name="email"> 3359 </div> 3360 </div> 3361 <div class="form-group"> 3362 <label class="control-label col-md-3">First Name: <span style="color:red">*</span></label> 3363 <div class="col-md-9"> 3364 <input type="text" class="form-control required" name="first_name"> 3365 </div> 3366 </div> 3367 <div class="form-group"> 3368 <label class="control-label col-md-3">Last Name: <span style="color:red">*</span></label> 3369 <div class="col-md-9"> 3370 <input type="text" class="form-control required" name="last_name"> 3371 </div> 3372 </div> 3373 <hr> 3374 <div class="form-group"> 3375 <label class="control-label col-md-3 col-xs-6 "><%= _.string.titleize(ss.config.TERMS.singular_company) %> Admin?</label> 3376 <div class="col-md-9 col-xs-6"> 3377 <input type="checkbox" name="admin" value="true"> 3378 </div> 3379 </div> 3380 </form> 3381 </script>
3381 3382 3383
3383<script type="text/template" id="cancel_company_plan_popup"> 3384 <form> 3385 <div class="alert alert-warning"> 3386 <strong>Expiring a membership plan</strong> does not refund the fees 3387 the person has already paid. 3388 </div> 3389 <div> 3390 <input type="radio" name="cancel_member" value="" checked="True"> 3391 <strong>Expire this Member.</strong> This member's expiry date will be set to today, but will still be sent renewal reminders and/or invoices. 3392 <br> 3393 <input type="radio" name="cancel_member" value="True"> 3394 <strong>Cancel this Member.</strong> 3395 Cancelled members will not be sent renewal reminders or invoices. 3396 </div> 3397 </form> 3398 </script>
3398 3399 3400
3400<script type="text/template" id="uncancel_company_popup"> 3401 <form> 3402 Cancelled members will not be sent renewal reminders or invoices. 3403 </form> 3404 </script>
3404 3405 3406 3407
3407<script type="text/template" id="cancel_company_popup"> 3408 <form> 3409 Cancelled members will not be sent renewal reminders and/or invoices. 3410 </form> 3411 </script>
3411 3412 3413
3413<script type="text/template" id="cancel_company_offer_popup"> 3414 <form class=""> 3415 <div class="alert alert-warning"> 3416 Deleting this offer won't change any existing plans this <%- ss.config.TERMS.singular_company %> has signed up for and will allow the <%- ss.config.TERMS.singular_company %> to sign up for any standard plans that match their <%- ss.config.TERMS.singular_company %> type. 3417 </div> 3418 </form> 3419 </script>
3419 3420 3421
3421<script type="text/template" id="category_row"> 3422 3423 <input type="hidden" class="to_delete" name="company:company_categories[<%=key%>].to_delete" value="<%=to_delete%>"> 3424 <div class="form-inline"> 3425 <div class="field parent_category_div form-group"> 3426 <span class="select_option"> 3427 <select name='company:company_categories[<%=key%>].parent_category_id' class='form-control parent_category_js'> 3428 3429 <% 3430 if(parent_options.length == 0){ 3431 %> 3432 <option value=''>Other</option> 3433 <% 3434 }else{ 3435 _.each(parent_options,function(value){ 3436 %> 3437 <option value="<%=value[0]%>" <%if(parent_category_id == value[0]){%>selected<%}%> ><%=value[1]%></options> 3438 <% 3439 }); 3440 3441 } 3442 %> 3443 3444 </select> 3445 </span> 3446 </div> 3447 3448 <% 3449 if(!parent_options.length == 0 && !sub_options.length == 0){ 3450 %> 3451 <div class="field sub_category_div form-group"> 3452 <span class="select_option"> 3453 3454 <select class="form-control" name='company:company_categories[<%=key%>].sub_category_id'> 3455 <% 3456 _.each(sub_options,function(value){ 3457 %> 3458 <option value="<%=value[0]%>" <%if(sub_category_id == value[0]){%>selected<%}%> ><%=value[1]%></options> 3459 <% 3460 }); 3461 %> 3462 </select> 3463 3464 </span> 3465 </div> 3466 <% 3467 } 3468 %> 3469 <span class="remove_row"><i class="fas fa-remove red"></i></span> 3470 </div> 3471 </script>
3471 3472 3473
3473<script type="text/template" id="company_selection"> 3474 <div class='field'> 3475 <label>Choose a <%- ss.config.TERMS.singular_company %>:</label> 3476 <input type='text' class='company_edit_autocomplete'> 3477 <div class='company_address'> 3478 </div> 3479 </div> 3480 </script>
3480 3481 3482
3482<script type="text/template" id="company_address"> 3483 <% 3484 if(address){ 3485 %> 3486 <h4><%- ss.config.TERMS.singular_company %> Address</h4> 3487 <div class="alert alert-info company_address_info"> 3488 <span><%=address%> 3489 <% 3490 if(!popup_version){ 3491 %> 3492 <a class='choose_company'><img src="/res/img/v2/icons/gear_16.png"></a> 3493 <% 3494 } 3495 %> 3496 </span> 3497 </div> 3498 <% 3499 }else{ 3500 %> 3501 <h4>Error:</h4> 3502 <div class="alert alert-error company_address_info"> 3503 <span>The selected <%- ss.config.TERMS.singular_company %> does not have an address. </span> 3504 <span>Please <a href="<%=url%>/edit" target="_blank">edit the <%- ss.config.TERMS.singular_company %></a> or Choose another one.</span> 3505 </div> 3506 <% 3507 } 3508 %> 3509 </script>
3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 <div class="team-page-templates"> 3519
3519<script type="text/template" class="team-page-base-template"> 3520 <div class="team editing-team relative"> 3521 <div class="center mb3"> 3522 <button class="btn btn-success add-team-member">Add <%- page_title %> Member</button> 3523 <a href="./" class="btn btn-default">View <%- page_title %> Page</a> 3524 <span class="category-dropdown"></spam> 3525 </div> 3526 <div class="team-members row relative"></div> 3527 <div class="row mt3"> 3528 <% if (show_cats) { %> 3529 3530 <div class="col-sm-6 col-md-4 col-md-offset-1"> 3531 <h2 class="center mb2"> 3532 Edit Team Categories 3533 <a tabindex="0" class="popover_link" role="button" data-toggle="popover" title="Team Categories" 3534 data-content="A team category lets you separate team members into different groups and display them on separate pages. A team member can belong to anywhere from zero to infinite categories, and they'll show up on each category's page."> 3535 <span class="fas fa-question-circle icon-question-sign" aria-hidden="true"></span><span class="sr-only">Help</span> 3536 </a> 3537 </h2> 3538 <div class="categories-target"></div> 3539 </div> 3540 <div class="col-sm-6 col-md-4 col-md-offset-2"> 3541 3542 <% } else { %> 3543 3544 <div class="col-sm-6 col-sm-offset-3 col-md-4 col-md-offset-4"> 3545 3546 <% } %> 3547 <div class="team-members-ordering"> 3548 </div> 3549 3550 </div> 3551 </div> 3552 </script>
3552 3553 3554
3554<script type="text/template" class="category-dropdown-template"> 3555 <div class="btn-group"> 3556 <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 3557 Other Categories <span class="caret"></span> 3558 </button> 3559 <ul class="dropdown-menu"> 3560 <li><a href="/team/edit">All Team Members</a></li> 3561 <li role="separator" class="divider"></li> 3562 <% _.each(categories, function(category){ %> 3563 <li><a href="/team/<%- category.get('permaid') %>/edit"><%- category.get('name') %></a></li> 3564 <% }); %> 3565 </ul> 3566 </div> 3567 </script>
3567 3568 3569
3569<script type="text/template" class="team-member-order-section"> 3570 <h2 class="center mb2">Order Team Members</h2> 3571 <ul class="list-group team-member-order relative"> 3572 </ul> 3573 </script>
3573 3574 3575
3575<script type="text/template" class="team-member-list-item"> 3576 <li class="list-group-item team-member-li move" data-id="<%- id %>"> 3577 <i class="fas fa-arrows"></i> <%- name %> 3578 </li> 3579 </script>
3579 3580 3581
3581<script type="text/template" class="team-member"> 3582 <div class="col-md-3 col-sm-4" data-id="<%- id %>"> 3583 <div class="team-member relative"> 3584 <div class="team-member-photo <%- image_url && image2_url ? 'has-two-photos' : '' %>"> 3585 <% if (image_url) { %> 3586 <img src="<%- image_url %>" class="img-responsive center-block primary-photo" alt="<%- name %>; <%- job_title %>" /> 3587 <% } %> 3588 <% if (image2_url) { %> 3589 <img src="<%- image2_url %>" class="img-responsive center-block secondary-photo" style="display:none" alt="<%- name %>; <%- job_title %>" /> 3590 <% } %> 3591 </div> 3592 <div class="team-member-name"> 3593 <h4><%- name %></h4> 3594 </div> 3595 <div class="team-member-position"> 3596 <%- job_title %> 3597 </div> 3598 <% if (extra_field_1) { %> 3599 <div class="team-member-extra"> 3600 <%= extra_field_1 %> 3601 </div> 3602 <% } %> 3603 <% if (extra_field_2) { %> 3604 <div class="team-member-extra"> 3605 <%= extra_field_2 %> 3606 </div> 3607 <% } %> 3608 <% if (extra_field_3) { %> 3609 <div class="team-member-extra"> 3610 <%= extra_field_3 %> 3611 </div> 3612 <% } %> 3613 <% if (extra_field_4) { %> 3614 <div class="team-member-extra"> 3615 <%= extra_field_4 %> 3616 </div> 3617 <% } %> 3618 <% if (bio) { %> 3619 <div class="team-member-blurb"> 3620 <a data-toggle="modal" data-target="#<%- id %>">BIO</a> 3621 <div class="modal fade" id="<%- id %>"> 3622 <div class="modal-dialog"> 3623 <div class="modal-content"> 3624 <div class="modal-header"> 3625 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 3626 <h4 class="modal-title"><%- name %></h4> 3627 </div> 3628 <div class="modal-body"> 3629 <%= bio %> 3630 </div> 3631 <div class="modal-footer"> 3632 <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 3633 </div> 3634 </div><!-- /.modal-content --> 3635 </div><!-- /.modal-dialog --> 3636 </div><!-- /.modal --> 3637 </div> 3638 <% } %> 3639 <div class="team-member-links"> 3640 <% if ( email_address ) { %> 3641 <a href="mailto:<%- email_address %>" class="team-member-email mb1"> 3642 <i class="fas fa-envelope"></i> 3643 </a> 3644 <% } %> 3645 <% if ( phone_number ) { %> 3646 <a href="javascript:void(0)" role="button" class="team-member-phone mb1" tabindex="0" data-toggle="popover-click" data-trigger="click" data-placement="auto" title="<%- name %>'s Phone Number" data-content="<%- phone_number %>"> 3647 <i class="fas fa-phone"></i> 3648 </a> 3649 <% } %>
3650 <% if ( website_url ) { %> 3651 <a href="<%- website_url %>" class="team-member-website mb1" target="_blank"> 3652 <i class="fas fa-desktop"></i> 3653 </a> 3654 <% } %> 3655 <% if ( facebook_url ) { %> 3656 <a href="<%- facebook_url %>" class="team-member-facebook mb1" target="_blank"> 3657 <i class="fab fa-facebook"></i> 3658 </a> 3659 <% } %> 3660 <% if ( twitter_url ) { %> 3661 <a href="<%- twitter_url %>" class="team-member-twitter mb1" target="_blank"> 3662 <i class="fab fa-x-twitter"></i> 3663 </a> 3664 <% } %> 3665 <% if ( linkedin_url ) { %> 3666 <a href="<%- linkedin_url %>" class="team-member-linkedin mb1" target="_blank"> 3667 <i class="fab fa-linkedin"></i> 3668 </a> 3669 <% } %> 3670 <% if ( instagram_url ) { %> 3671 <a href="<%- instagram_url %>" class="team-member-instagram mb1" target="_blank"> 3672 <i class="fab fa-instagram"></i> 3673 </a> 3674 <% } %> 3675 </div> 3676 <div class="absolute bottom0"> 3677 <div class="btn-group btn-group-justified" role="group"> 3678 <div class="btn-group" role="group"> 3679 <button class="btn btn-primary edit-team-member" data-id="<%- id %>">Edit</button> 3680 </div> 3681 <div class="btn-group" role="group"> 3682 <button class="btn btn-danger delete-team-member" data-id="<%- id %>">Delete</button> 3683 </div> 3684 </div> 3685 </div> 3686 </div> 3687 </div> 3688 </script>
3688 3689 3690
3690<script type="text/template" class="edit-team-member-panel-template"> 3691 <div> 3692 <div class="team-member-edit-panel"> 3693 </div> 3694 </div> 3695 </script>
3695 3696 3697
3697<script type="text/template" class="edit-team-member-template"> 3698 <div class="edit-team-member ht500 of-auto"> 3699 <form id="team_member"> 3700 <div class="row"> 3701 <div class="col-sm-6"> 3702 <div class="form-group"> 3703 <label for="team_member_name">Name</label> 3704 <input type="text" id="team_member_name" class="form-control required name" placeholder="Name" value="<%- team_member.get('name') %>" /> 3705 </div> 3706 </div> 3707 <div class="col-sm-6"> 3708 <div class="form-group"> 3709 <label for="team_member_title">Title</label> 3710 <input type="text" id="team_member_title" class="form-control job-title" placeholder="Title" value="<%- team_member.get('job_title') %>" /> 3711 </div> 3712 </div> 3713 </div> 3714 <div class="row"> 3715 <% if (extra_fields['extra_field_1_label'] || team_member.get('extra_field_1')) { %> 3716 <div class="col-sm-6"> 3717 <div class="form-group"> 3718 <label for="extra_field_1"><%= extra_fields['extra_field_1_label'] ? extra_fields['extra_field_1_label'] : 'Field 1' %></label> 3719 <input type="text" id="extra_field_1" class="form-control required extra-field-1" 3720 placeholder="<%= extra_fields['extra_field_1_label'] ? extra_fields['extra_field_1_label'] : 'Field 1' %>" 3721 value="<%- team_member.get('extra_field_1') %>"/> 3722 </div> 3723 </div> 3724 <% } %> 3725 <% if (extra_fields['extra_field_2_label'] || team_member.get('extra_field_2')) { %> 3726 <div class="col-sm-6"> 3727 <div class="form-group"> 3728 <label for="extra_field_2"><%= extra_fields['extra_field_2_label'] ? extra_fields['extra_field_2_label'] : 'Field 2' %></label> 3729 <input type="text" id="extra_field_2" class="form-control required extra-field-2" 3730 placeholder="<%= extra_fields['extra_field_2_label'] ? extra_fields['extra_field_2_label'] : 'Field 2' %>" 3731 value="<%- team_member.get('extra_field_2') %>"/> 3732 </div> 3733 </div> 3734 <% } %> 3735 <% if (extra_fields['extra_field_3_label'] || team_member.get('extra_field_3')) { %> 3736 <div class="col-sm-6"> 3737 <div class="form-group"> 3738 <label for="extra_field_3"><%= extra_fields['extra_field_3_label'] ? extra_fields['extra_field_3_label'] : 'Field 3' %></label> 3739 <input type="text" id="extra_field_3" class="form-control required extra-field-3" 3740 placeholder="<%= extra_fields['extra_field_3_label'] ? extra_fields['extra_field_3_label'] : 'Field 3' %>" 3741 value="<%- team_member.get('extra_field_3') %>"/> 3742 </div> 3743 </div> 3744 <% } %> 3745 <% if (extra_fields['extra_field_4_label'] || team_member.get('extra_field_4')) { %> 3746 <div class="col-sm-6"> 3747 <div class="form-group"> 3748 <label for="extra_field_4"><%= extra_fields['extra_field_4_label'] ? extra_fields['extra_field_4_label'] : 'Field 4' %></label> 3749 <input type="text" id="extra_field_4" class="form-control required extra-field-4" 3750 placeholder="<%= extra_fields['extra_field_4_label'] ? extra_fields['extra_field_4_label'] : 'Field 4' %>" 3751 value="<%- team_member.get('extra_field_4') %>"/> 3752 </div> 3753 </div> 3754 <% } %> 3755 </div> 3756 <div class="form-group row"> 3757 <div class="col-sm-6"> 3758 <label>Primary Image</label> 3759 <div class="primary-image"></div> 3760 </div> 3761 <div class="col-sm-6"> 3762 <label>Secondary Image <small>(appears on hover)</small></label> 3763 <div class="secondary-image"></div> 3764 </div> 3765 </div> 3766 <div class="form-group"> 3767 <label>Bio</label> 3768 <div class="ckeditor_input" name="bio" data-name="bio"><%=team_member.get('bio') || '' %></div> 3769 </div> 3770 <div class="row"> 3771 <div class="col-sm-6"> 3772 <div class="form-group"> 3773 <label for="team_member_email">Email Address</label> 3774 <input type="text" id="team_member_email" class="form-control email-address" placeholder="[email protected]" value="<%- team_member.get('email_address') %>" /> 3775 </div> 3776 </div> 3777 <div class="col-sm-6"> 3778 <div class="form-group"> 3779 <label for="team_member_phone">Phone Number</label> 3780 <input type="text" id="team_member_phone" class="form-control phone-number" placeholder="XXX-XXX-XXXX" value="<%- team_member.get('phone_number') %>" /> 3781 </div> 3782 </div> 3783 </div> 3784 <div class="row"> 3785 <div class="col-sm-6"> 3786 <div class="form-group"> 3787 <label for="team_member_website">Website</label> 3788 <input type="text" id="team_member_website" class="form-control website-url" placeholder="http://www.domain-name.com" value="<%- team_member.get('website_url') %>" /> 3789 </div> 3790 </div> 3791 <div class="col-sm-6"> 3792 <div class="form-group"> 3793 <label for="team_member_facebook">Facebook Page</label> 3794 <input type="text" id="team_member_facebook" class="form-control facebook-url" placeholder="http://www.facebook.com/yourname" value="<%- team_member.get('facebook_url') %>" /> 3795 </div> 3796 </div> 3797 </div> 3798 <div class="row"> 3799 <div class="col-sm-6"> 3800 <div class="form-group"> 3801 <label for="team_member_linkedin">LinkedIn Page</label> 3802 <input type="text" id="team_member_linkedin" class="form-control linkedin-url" placeholder="http://www.linkedin.com/yourname" value="<%- team_member.get('linkedin_url') %>" /> 3803 </div> 3804 </div> 3805 <div class="col-sm-6"> 3806 <div class="form-group"> 3807 <label for="team_member_twitter">X Page</label> 3808 <input type="text" id="team_member_twitter" class="form-control twitter-url" placeholder="http://www.twitter.com/yourname" value="<%- team_member.get('twitter_url') %>" /> 3809 </div> 3810 </div> 3811 </div> 3812 <div class="row"> 3813 <div class="col-sm-6"> 3814 <div class="form-group"> 3815 <label for="team_member_instagram">Instagram Page</label> 3816 <input type="text" id="team_member_instagram" class="form-control instagram-url" placeholder="http://www.instagram.com/yourname" value="<%- team_member.get('instagram_url') %>" /> 3817 </div> 3818 </div> 3819 </div> 3820 <% if (!current_cat && categories.length > 0) { %> 3821 <div class="form-group row"> 3822 <div class="col-sm-6"> 3823 <label>Category</label> 3824 <% _.each(categories, function(category) { %> 3825 <% 3826 var checked = team_member.get('asset_categories').indexOf(category.id) >= 0 ? 'checked' : ''; 3827 %> 3828 <div class="checkbox"> 3829 <label> 3830 <input type="checkbox" name="category" class="category" style="margin-top:2px;" value="<%- category.id %>" <%- checked %>><%- category.get('name') %> 3831 </label> 3832 </div> 3833 <% }); %> 3834 </div> 3835 </div> 3836 <% } %> 3837 </form> 3838 </div> 3839 </script>
3839 3840 3841 </div> 3842 3843 3844 3845 3846 <div class="asset-categories-templates"> 3847
3847<script type="text/template" class="categories-base-template"> 3848 <ul class="list-group"> 3849 <% _.each(categories, function(category) { %> 3850 <li class="list-group-item clearfix"> 3851 <a href="<% category.category_page_url() %><%- category.get('permaid') %>" class="pull-left lh3"><%- category.get('name') %></a> 3852 <div class="btn-group pull-right" role="group"> 3853 <a class="btn btn-primary btn-sm edit-category" data-id="<%- category.id %>">EDIT</a> 3854 <a class="btn btn-danger btn-sm delete-category" data-id="<%- category.id %>">DELETE</a> 3855 </div> 3856 </li> 3857 <% }); %> 3858 <li class="block"> 3859 <button type="button" class="btn-block add-category list-group-item"><i class="fas fa-plus-circle"></i> Add Category</button> 3860 </li> 3861 </ul> 3862 </script>
3862 3863 3864
3864<script type="text/template" class="edit-category-template"> 3865 <form id="asset_category"> 3866 <% /* Eventually want to make the preset bind_to_asset_name optional, so we could use this to let users create any asset type category */ %> 3867 <input type="hidden" class="asset_name" name="bind_to_asset_name" value="<%- this.options.asset_name %>"> 3868 <div class="form-group"> 3869 <label for="<%- this.options.asset_name %>_category_name">Category Name</label> 3870 <input id="<%- this.options.asset_name %>_category_name" class="form-control name required" name="name" value="<%- this.options.asset_category.get('name') %>" placeholder="Category Name" /> 3871 </div> 3872 <div class="form-group"> 3873 <label for="<%- this.options.asset_name %>_category_desc">Category Description</label> 3874 <textarea id="<%- this.options.asset_name %>_category_desc" name="description" class="form-control description"><%- this.options.asset_category.get('description') %></textarea> 3875 </div> 3876 <div class="form-group"> 3877 <label for="<%- this.options.asset_name %>_category_url">URL</label> 3878 <input class="form-control permaid category_url_available valid_page_url" id="<%- this.options.asset_name %>_category_url" name="permaid" data-current_url="<%- this.options.asset_category.get('permaid') %>" value="<%- this.options.asset_category.get('permaid') %>" placeholder="E.g. board-of-directors" /> 3879 3880 <p class="help-block">The URL for your category. Please only use letters, numbers, and hyphens. E.g. board-of-directors. 3881 If you don't fill it out, we'll generate a page URL based on the Category Name field.</p> 3882 </div> 3883 </form> 3884 </script>
3884 3885 </div> 3886 3887 3888 3889 <div class="popup-templates"> 3890 3891
3891<script type="text/template" class="delete-popup-template"> 3892 <div class="alert alert-danger"> 3893 <%- this.options.template_text %> 3894 </div> 3895 </script>
3895 3896 3897 </div> 3898 3899 3900 <div class="custom-field-templates"> 3901 3902
3902<script type="text/template" class="custom-field-panel-template"> 3903 <div class="edit-panel-title"> 3904 <div class="panel-name"> 3905 <% if ( c.model.label ) { %> 3906 Edit <%- c.model.label %> 3907 <% } else { %> 3908 Create New Field 3909 <% } %> 3910 </div> 3911 <div class="panel-button-div"> 3912 <button type="button" class="save-js">Save</button> 3913 <% if ( ss.user.advanced && c.model.id ){ %> 3914 <button type="button" class="danger delete-js">Delete</button> 3915 <% } %> 3916 </div> 3917 </div> 3918 <div class="edit-panel-alerts"> 3919 </div> 3920 <div class="edit-panel-content"> 3921 <%= ss.text_row({label:'Label', 3922 name:'label', 3923 item:c.model, 3924 validations:'required protected_name'}) %> 3925
3926 <%= ss.text_area_row({label: 'Description/Help Text', 3927 name: 'description', 3928 item: c.model}) %> 3929 3930 <%= ss.select_row({label:'Field Type', 3931 name:'field_type', 3932 item:c.model, 3933 options:ss.models.FIELD_TYPES}) %> 3934 3935 <%= ss.checkbox_row({label:'Optional', 3936 name:'optional', 3937 item:c.model}) %> 3938 3939 <div class="limit-block"> 3940 <%= ss.number_row({label:'Multiselect limit', 3941 name:'limit', 3942 item:c.model}) %> 3943 </div> 3944 3945 <div class="option-block"> 3946 <div class="field"> 3947 <label>Options (Label/Value):</label> 3948 <ul class="options inline_field_block sortable-items"></ul> 3949 </div> 3950 <div class="add-option-row indented-block"> 3951 <a href="#" class="add-custom-field-item-js">+ Add Another Option</a> 3952 </div> 3953 </div> 3954 3955 <div class="number-block">
3956 <%= ss.number_row({label:'Number minimum', 3957 name:'min_number', 3958 item:c.model}) %> 3959 <%= ss.number_row({label:'Number maximum', 3960 name:'max_number', 3961 item:c.model}) %> 3962 </div> 3963 3964 <div class="hide-label-block"> 3965 <%= ss.checkbox_row({label:'Hide Label', 3966 name:'hide_label', 3967 item:c.model, 3968 popover:{ 3969 title:'Hide Label', 3970 content:"Hide the label/heading when the field is displayed. Useful when just wanting to display the help text." 3971 } 3972 }) %> 3973 </div> 3974 3975 </div> 3976 </script>
3976 3977 3978
3978<script type="text/template" class="custom-field-option-row"> 3979 <li class="field-option"> 3980 <input type="text" 3981 value="<%=c.model.label%>" 3982 class="label-field pull-left"> 3983 <input type="<%= ss.user.advanced ? 'text' : 'hidden'%>" 3984 value="<%=c.model.value%>" 3985 class="value-field pull-left"> 3986 <a href="#" class="close-button pull-left">×</a> 3987 </script>
3987 3988 3989
3989<script type="text/template" class="custom-field-li-template"> 3990 <div> 3991 <%- c.label %> 3992 </div> 3993 </script>
3993 3994 3995
3995<script type="text/template" class="custom-field-listing-template"> 3996 <div> 3997 <div class="two-panel-left-header"> 3998 Custom Fields 3999 </div> 4000 4001 <h2 class="one-page-grouping-title"> 4002 <span class="one-page-grouping-name"> 4003 Assets 4004 </span> 4005 </h2> 4006 <ul class="asset-listing one-page-listing"> 4007 <li data-asset="user">Individuals 4008 <li data-asset="company">Organizations 4009 <li data-asset="event">Events 4010 </ul> 4011 4012 <h2 class="one-page-grouping-title"> 4013 <span class="one-page-grouping-name"> 4014 Fields 4015 </span> 4016 </h2> 4017 <ul class="custom-field-listing one-page-listing"></ul> 4018 4019 <% if (ss_context.network_features.chapter_custom_fields && !ss_context.is_apex){ %> 4020 <h2 class="one-page-grouping-title"> 4021 <span class="one-page-grouping-name"> 4022 Additional Fields 4023 </span> 4024 </h2> 4025 <ul class="additional-custom-field-listing one-page-listing"></ul> 4026 <% } %> 4027 4028 <a class="add-new new-custom-field-js">+ new field</button> 4029 </div> 4030 </script>
4030 4031 4032 4033
4033<script type="text/template" class="configure-asset-template"> 4034 <div class="edit-panel-title"> 4035 <div class="panel-name"> 4036 Location for Custom Field 4037 </div> 4038 <div class="panel-button-div"> 4039 <button type="button" class="save-js">Save</button> 4040 </div> 4041 </div> 4042 <div class="edit-panel-alerts"> 4043 </div> 4044 <div class="edit-panel-content"> 4045 </div> 4046 </script>
4046 4047 4048 4049 4050 4051 4052 4053 <!-- old ones below here --> 4054 <div class="custom_field_templates" style="display:none"> 4055
4055<script type="text/template" class="custom_field_row"> 4056 <select class="span3 field-js" data-field="field_info_id"> 4057 <option value="">Choose a Field 4058 <% field_infos.each( function(field_info, index){ %> 4059 <option value="<%=field_info.get('id') %>" 4060 <%= field_info.get('id') === field_info_id ? 'selected' :''%> 4061 > 4062 <%= field_info.get('label')%> 4063 <% }); %> 4064 </select> 4065 4066 <div class="remove-button">×</div> 4067 </script>
4067 4068
4068<script type="text/template" class="custom_field_list"> 4069 <div class="field"> 4070 <label>Fields:</label> 4071 <div class="inline-block"> 4072 <ul class="field-list-js"> 4073 </ul> 4074 <a href="#" class="add-link add-field-js">Add Another Field</a> 4075 </div> 4076 </div> 4077 </script>
4077 4078 </div> 4079 4080 4081 4082 </div> 4083 4084 4085 4086 <div class="field-templates" style="display:none"> 4087 <!-- 4088 Common attributes for selects, textareas, radio buttons 4089 --> 4090
4090<script type="text/template" class="input-attributes"> 4091 <% if ( c.data_name ) { %> data-name="<%- c.data_name %>" <% } %> 4092 <% if ( c.name ) { %> name="<%- c.name %>" <% } %> 4093 <%= c.disabled ? 'disabled' : '' %> 4094 <%= ss.validations( c ) %> 4095 class="<%- c.css_class || '' %> <%- c.required ?' required ' : '' %>" 4096 <% if ( c.placeholder ) { %> 4097 placeholder="<%= c.placeholder %>" 4098 <% } %> 4099 <% if ( c.data_value ) { %> 4100 data-value="<%- c.data_value %>" 4101 <% } %> 4102 <% if ( c.data_values ) { %> 4103 <% for (var key in c.data_values) { %> 4104 <% if (c.data_values.hasOwnProperty(key)) { %> 4105 data-<%= key %>="<%= c.data_values[key] %>" 4106 <% } %> 4107 <% } %> 4108 <% } %> 4109 <% if ( c.maxlength ) { %> 4110 maxlength="<%= c.maxlength %>" 4111 <% } %> 4112 </script>
4112 4113 4114
4114<script type="text/template" class="field-label"> 4115 <label class="<%= c.label_css_class || ''%>"> 4116 <%- c.label %><%= c.label ? ':' : '' %> 4117 <% if (c.required || _.string.contains(c.validations, 'required')){ %> 4118 <i class="required_marker"></i> 4119 <% } %> 4120 </label> 4121 </script>
4121 4122 4123
4123<script type="text/template" class="generic-row"> 4124 <div class="field <%= c.row_css_class || ''%>"> 4125 <%= ss.label( c ) %> 4126 <div class="<%= c.input_wrap_class || ''%>"> 4127 <% if ( c.description ) { %> 4128 <div class="custom-field-description md-gray fs12"> 4129 <%= c.description %> 4130 </div> 4131 <% } %> 4132 <%= c.field_content %> 4133 <% 4134 if (c.popover){ 4135 c.popover.placement = c.popover.placement || 'bottom'; 4136 print(ss.fn.popover(c.popover)); 4137 } 4138 %> 4139 </div> 4140 </div> 4141 </script>
4141 4142 4143
4143<script type="text/template" class="text-field"> 4144 <% if ( c.prepend || c.append ){ %> 4145 <div class="input-group <%= c.inline ? 'pull-left' : '' %>"> 4146 <% } %> 4147 <% if ( c.prepend ) { %> 4148 <div class="input-group-addon"><%-c.prepend %></div> 4149 <% } %> 4150 4151 <input 4152 <%= ss.input_attributes( c )%> 4153 type="text" 4154 value="<%- c.value || '' %>"> 4155 4156 <% if ( c.append ) { %> 4157 <div class="input-group-addon"><%-c.append %></div> 4158 <% } %> 4159 4160 <% if ( c.prepend || c.append ){ %> 4161 </div> 4162 <% } %> 4163 </script>
4163 4164 4165
4165<script type="text/template" class="number-field"> 4166 <% if ( c.prepend || c.append ){ %> 4167 <div class="input-group <%= c.inline ? 'pull-left' : '' %>"> 4168 <% } %> 4169 <% if ( c.prepend ) { %> 4170 <div class="input-group-addon"><%-c.prepend %></div> 4171 <% } %> 4172 4173 <input <%= ss.input_attributes( c )%> 4174 type="number" 4175 value="<%- c.value || '' %>"> 4176 4177 <% if ( c.append ) { %> 4178 <div class="input-group-addon"><%-c.append %></div> 4179 <% } %> 4180 4181 <% if ( c.prepend || c.append ){ %> 4182 </div> 4183 <% } %> 4184 </script>
4184 4185 4186
4186<script type="text/template" class="color-field"> 4187 <% 4188 var value = c.value; 4189 var checked = '' 4190 if ( value == 'transparent' ){ 4191 value = ''; 4192 checked = 'checked'; 4193 } 4194 %> 4195 <input <%= ss.input_attributes( c )%> 4196 type="text" 4197 value="<%- value || '' %>"> 4198 <% 4199 if ( c.allow_transparent ){ 4200 %> 4201 <input class="transparency-input" name="<%= c.name %>-transparent" data-color_name="<%= c.name %>" <%= checked %> type="checkbox"> Transparent 4202 <% 4203 } 4204 %> 4205 </script>
4205 4206 4207
4207<script type="text/template" class="checkbox-field"> 4208 <% 4209 var options = _.extend({}, c); 4210 options.css_class = (options.css_class || '') + ' send_unchecked_js '; 4211 options.checked = Boolean(options.checked) || Boolean( options.value ); 4212 options.value = 'True'; 4213 %> 4214 <input type="checkbox" 4215 value="True" 4216 <%= ss.input_attributes( options ) %> 4217 <%- options.checked ? 'checked' : '' %> > 4218 </script>
4218 4219 4220
4220<script type="text/template" class="list-field"> 4221 <% 4222 var options = _.extend({}, c); 4223 //options.css_class = (options.css_class || '') + ' send_unchecked_js '; 4224 4225 xxx_c = c; 4226 4227 safe_log(c.options, ss.fields.build_options(c.options)); 4228 %> 4229 <div class="inline_field_block"> 4230 <% _.each( ss.fields.build_options(c.options), function( option ){ 4231 // var selected = c.value === option.value; 4232 var checked; 4233 if ( _.isString( c.value ) ){ 4234 checked = _.contains( c.value.split(','), option.value ); 4235 } else if ( _.isArray( c.value ) ){ 4236 checked = _.contains( c.value, option.value ); 4237 } 4238 4239 safe_log( 'Option', option); 4240 %> 4241 <div> 4242 <input type="<%= c.input_type %>" 4243 class="checkbox-list" 4244 value="<%=option.value%>" 4245 name="<%- c.name %>" 4246 data-name="<%- c.data_name %>" 4247 <%= option.disabled ? 'disabled' :'' %> 4248 <%- checked ? 'checked' : '' %> > 4249 <%= option.label %> 4250 </div> 4251 <% }); %> 4252 </div> 4253 </script>
4253 4254 4255 4256
4256<script type="text/template" class="select-field"> 4257 <select <%= ss.input_attributes( c ) %> > 4258 <% _.each( ss.fields.build_options(c.options), function( option ){ %> 4259 <% 4260 var selected = c.value === option.value || 4261 ( _.isEmpty(c.value) && _.isEmpty( option.value ) ); 4262 %> 4263 <option <%= option.disabled ? 'disabled' :'' %> 4264 value="<%-option.value || ''%>" 4265 <%= option.field_type ? 'data-field_type=' + option.field_type : '' %> 4266 <%- selected ? 'selected' : '' %> ><%-option.label%> 4267 </option> 4268 <% }); %> 4269 </select> 4270 </script>
4270 4271 4272
4272<script type="text/template" class="multiselect-field"> 4273 <% 4274 c.css_class = c.css_class? c.css_class + ' multi-select-target' : 'multi-select-target'; 4275 %> 4276 <div class="js-multiselect-wrapper "> 4277 <select multiple="multiple" <%= ss.input_attributes( c ) %> data-placeholder=" " data-limit="<%= c.limit ? c.limit : '' %>"> 4278 <% _.each( ss.fields.build_options(c.options), function( option ){ %> 4279 <% 4280 if ( c.value && ! _.isArray(c.value) && ! _.isBoolean(c.value)) 4281 c.value = c.value.split(','); 4282 var selected = _.indexOf(c.value, option.value) >= 0; 4283 %> 4284 <option <%= option.disabled ? 'disabled' :'' %> 4285 value="<%-option.value || ''%>" 4286 <%- selected ? 'selected' : '' %> ><%-option.label%> 4287 <% }); %> 4288 </select> 4289 </div> 4290 </script>
4290 4291 4292
4292<script type="text/template" class="richtext-field"> 4293 <div class="inline_field_block"> 4294 <div <%= ss.input_attributes(c) %> ><%= c.value || '' %></div> 4295 </div> 4296 </script>
4296 4297 4298
4298<script type="text/template" class="pill-radio-field"> 4299 <div class="inline_field_block btn-group" role="group"> 4300 <% 4301 _.each( ss.fields.build_options(c.options), function(option){ 4302 var extra_class = ''; 4303 if ( c.value === option.value ){ 4304 extra_class = 'active'; 4305 } 4306 %> 4307 <button type="button" 4308 name="<%=c.name%>" 4309 class="btn btn-default <%= c.css_class %> <%= extra_class %>" 4310 value="<%= option.value %>" 4311 <%= option.disabled ? 'disabled' : '' %> 4312 ><%= option.label %></button> 4313 <% }); %> 4314 </div> 4315 </script>
4315 4316 4317 4318 4319
4319<script type="text/template" class="textarea-field"> 4320 <textarea <%= ss.input_attributes(c) %> ><%- c.value || '' %></textarea> 4321 </script>
4321 4322 4323
4323<script type="text/template" class="display-field"> 4324 <div class="field_displayed_data"> 4325 <% if ( c.value !== undefined && c.value !== null ) { %> 4326 <%- c.value %> 4327 <% } %> 4328 </div> 4329 </script>
4329 4330 4331
4331<script type="text/template" class="address-template"> 4332 4333 <br/> 4334 <h2 class="alert alert-info"><%=c.label%></h2> 4335 <div class="form-group row"> 4336 <div class="col-md-4"> 4337 <%= ss.text_row({label:'Street Address', 4338 item:c.item, 4339 validations:c.validations, 4340 name:c.prefix +'.'+'street_address', 4341 row_css_class:'mobile-form-group', 4342 css_class:'form-control'}) %> 4343 </div> 4344 <div class="col-md-4"> 4345 <%= ss.text_row({label:'City', 4346 item:c.item, 4347 validations:c.validations, 4348 name:c.prefix +'.'+'city', 4349 row_css_class:'mobile-form-group', 4350 css_class:'form-control'}) %> 4351 </div> 4352 <div class="col-md-4"> 4353 <%=
4353ss.text_row({label:'State/ Province', 4354 item:c.item, 4355 validations:c.validations, 4356 name:c.prefix +'.'+'province', 4357 row_css_class:'mobile-form-group', 4358 css_class:'form-control'}) %> 4359 </div> 4360 </div> 4361 <div class="form-group row"> 4362 <div class="col-md-6"> 4363 <%= ss.text_row({label:'Country', 4364 item:c.item, 4365 validations:c.validations, 4366 name:c.prefix +'.'+'country', 4367 row_css_class:'mobile-form-group', 4368 css_class:'form-control'}) %> 4369 </div> 4370 <div class="col-md-6"> 4371 <%= ss.text_row({label:'Zip Code / Postal Code ', 4372 item:c.item, 4373 validations:c.validations, 4374 name:c.prefix +'.'+'postal_code', 4375 row_css_class:'mobile-form-group', 4376 css_class:'form-control'}) %> 4377 </div> 4378 </div> 4379 4380 </script>
4380 4381 4382
4382<script type="text/template" class="address-linear-template"> 4383 <% 4384 if (c.prefix.indexOf('.') >= 0) { 4385 var div_class = c.prefix.split('.')[1] 4386 } else { 4387 var div_class = c.prefix 4388 } 4389 var field_settings = ss.data.network ? ss.data.network.get('field_settings') : {}; 4390 %> 4391 <br/> 4392 <div class="<%- div_class %>"> 4393 <h2 class="alert alert-info"><%=c.label%></h2> 4394 <%= ss.text_row({label:'Address Line 1', 4395 item:c.item, 4396 validations:c.validations, 4397 name:c.prefix+'.'+'street_address', 4398 row_css_class:'mobile-form-group form-group', 4399 css_class:'form-control inline', 4400 label_css_class:'col-md-3 col-lg-2', 4401 input_wrap_class:'col-md-9 col-lg-10', 4402 maxlength: field_settings.street_address_max_characters, 4403 popover: c.unit_popover, 4404 }) %>
4405 <%= ss.text_row({label:'Address Line 2', 4406 item:c.item, 4407 name:c.prefix+'.'+'address2', 4408 row_css_class:'mobile-form-group form-group', 4409 css_class:'form-control', 4410 label_css_class:'col-md-3 col-lg-2', 4411 input_wrap_class:'col-md-9 col-lg-10', 4412 maxlength: field_settings.street_address_max_characters }) %> 4413 <%= ss.text_row({label:'City', 4414 item:c.item, 4415 validations:c.validations, 4416 name:c.prefix+'.'+'city', 4417 row_css_class:'mobile-form-group form-group', 4418 css_class:'form-control', 4419 label_css_class:'col-md-3 col-lg-2', 4420 input_wrap_class:'col-md-9 col-lg-10', 4421 maxlength: field_settings.city_max_characters }) %> 4422 <%= ss.select_row({label:'Country', 4423 name:c.prefix+'.country', 4424 item:c.item, 4425 row_css_class:'mobile-form-group form-group', 4426 css_class:'form-control short country_binding_provinces', 4427 label_css_class:'col-md-3 col-lg-2', 4428 input_wrap_class:'col-md-9 col-lg-10', 4429 options:c.all_countries_and_states.ALL_COUNTRIES})%> 4430 <div class="field form-group" data-bound_to=".<%- div_class %>|.country_binding_provinces" data-bound_to_value="CA">
4431 <%= ss.select_row({label:'Province', 4432 name:c.prefix+'.province', 4433 item:c.item, 4434 validations:c.validations, 4435 row_css_class:'mobile-form-group', 4436 css_class:'form-control short', 4437 label_css_class:'col-md-3 col-lg-2', 4438 input_wrap_class:'col-md-9 col-lg-10', 4439 options:c.all_countries_and_states.CANADIAN_PROVINCES})%> 4440 </div> 4441 <div class="field form-group" data-bound_to=".<%- div_class %>|.country_binding_provinces" data-bound_to_value="US"> 4442 <%= ss.select_row({label:'State', 4443 name:c.prefix+'.province', 4444 item:c.item, 4445 validations:c.validations, 4446 row_css_class:'mobile-form-group', 4447 css_class:'form-control short', 4448 label_css_class:'col-md-3 col-lg-2', 4449 input_wrap_class:'col-md-9 col-lg-10', 4450 options:c.all_countries_and_states.AMERICAN_STATES})%> 4451 </div> 4452 <div class="field form-group" data-bound_to=".<%- div_class %>|.country_binding_provinces" data-bound_to_value="AU">
4453 <%= ss.select_row({label:'State', 4454 name:c.prefix+'.province', 4455 item:c.item, 4456 validations:c.validations, 4457 row_css_class:'mobile-form-group', 4458 css_class:'form-control short', 4459 label_css_class:'col-md-3 col-lg-2', 4460 input_wrap_class:'col-md-9 col-lg-10', 4461 options:c.all_countries_and_states.AUSTRALIAN_STATES})%> 4462 </div> 4463 <div class="field form-group" data-bound_to=".<%- div_class %>|.country_binding_provinces" data-bound_to_value="GB"> 4464 <%= ss.select_row({label:'State', 4465 name:c.prefix+'.province', 4466 item:c.item, 4467 validations:c.validations, 4468 row_css_class:'mobile-form-group', 4469 css_class:'form-control short', 4470 label_css_class:'col-md-3 col-lg-2', 4471 input_wrap_class:'col-md-9 col-lg-10', 4472 options:c.all_countries_and_states.UK_STATES})%> 4473 </div> 4474 <div class="field form-group" data-bound_to=".<%- div_class %>|.country_binding_provinces" data-bound_to_value="!CA,!US,!AU,!GB">
4475 <%= ss.text_row({label:'Province / State', 4476 item:c.item, 4477 validations:c.validations, 4478 name:c.prefix+'.'+'province', 4479 row_css_class:'mobile-form-group', 4480 label_css_class:'col-md-3 col-lg-2', 4481 input_wrap_class:'col-md-9 col-lg-10', 4482 css_class:'form-control',}) %> 4483 </div> 4484 <%= ss.text_row({label:'Zip Code / Postal Code ', 4485 item:c.item, 4486 validations:c.validations, 4487 name:c.prefix+'.'+'postal_code', 4488 row_css_class:'mobile-form-group form-group', 4489 label_css_class:'col-md-3 col-lg-2', 4490 input_wrap_class:'col-md-9 col-lg-10', 4491 css_class:'form-control', 4492 maxlength: field_settings.zip_postal_code_max_characters }) %> 4493 </div> 4494 </script>
4494 4495 4496
4496<script type="text/template" class="image-field"> 4497 <% 4498 var guid = ss.fn.guid(); 4499 4500 var placeholder_url = ss.fn.cdn('/res/img/v2/placeholder.png'); 4501 var image_url = c.value && _.isFunction( c.value.build_image_url ) && c.value.build_image_url({width:c.width,height:c.height}); 4502 4503 var no_image_style = ''; 4504 var image_exists_style = ''; 4505 4506 if ( image_url ){ 4507 no_image_style = 'style="display:None"'; 4508 } else { 4509 image_exists_style = 'style="display:None"'; 4510 } 4511 4512 %> 4513 <div class="image-does-not-exist no_image_block" <%=no_image_style%>> 4514 <img width="<%=c.width%>" height="<%=c.height%>" 4515 style="padding-top: 0px;padding-bottom:0px;padding-left: 0px;padding-right:0px; " 4516 src="<%= placeholder_url %>"> 4517 </div> 4518 <div class="image-exists image_block" <%=image_exists_style%>> 4519 <img width="<%=c.width%>" height="<%=c.height%>" 4520 style="padding-top: 0px;padding-bottom:0px;padding-left: 0px;padding-right:0px; " 4521 src="<%= image_url + "fPNG"%>"> 4522 </div> 4523 4524 <div class="image-upload-panel col-sm-3"> 4525 <div class="upload_section"> 4526 <div class="image-does-not-exist" <%=no_image_style%>> 4527 <input id="hidden_<%=guid%>" 4528 version="2" 4529 type="hidden" 4530 name="<%=c.name%>.key" 4531 data-name="<%=c.name%>.key" 4532 disabled="true" 4533 value="<%=guid%>"> 4534 <input type="hidden" 4535 class="temp-file-url" 4536 name="<%=c.name%>.temp_url" 4537 data-name="<%=c.name%>.temp_url" 4538 value="<%= image_url %>"> 4539 4540 <iframe id="iframe_<%=guid%>" class="upload_frame" height="24" 4541 src="/upload_iframe/image/<%=guid%>?callback=${callback}&field_name=${field_name}&suggested_width=&image_height=<%=c.height%>&image_width=<%=c.width%>" 4542 frameborder="0" 4543 style="${'display:None;' if existing_upload_url else ''}" 4544 > 4545 </iframe> 4546 4547 <div class="upload_instructions"> 4548 <%= c.upload_instructions || 'Upload a photo (GIF, JPG, or PNG).' %> 4549 </div> 4550 </div> 4551 <div class="image-exists" <%=image_exists_style%>> 4552 <a href="#" class="delete_image">Delete Image</a> 4553 </div> 4554 4555 </div> 4556 </div> 4557 </script>
4557 4558 4559
4559<script type="text/template" class="file-field"> 4560 <% 4561 var guid = ss.fn.guid(); 4562 4563 var placeholder_url = ss.fn.cdn('/res/img/v2/placeholder.png'); 4564 var deleted = c.value && c.value.get('key') === 'delete'; 4565 4566 var file_url = c.value && _.isFunction( c.value.build_file_url ) && c.value.build_file_url({width:c.width,height:c.height}); 4567 var file_name = c.value && (c.value.get('temp_name') || c.value.get('file_name')); 4568 var is_private = c.is_private || 'False'; 4569 4570 if ( deleted ){ 4571 file_url = null; 4572 } 4573 4574 safe_log( 'file_url', file_url ); 4575 4576 var no_file_style = ''; 4577 var file_exists_style = ''; 4578 4579 if ( file_url ){ 4580 no_file_style = 'style="display:None"'; 4581 } else { 4582 file_exists_style = 'style="display:None"'; 4583 } 4584 4585 safe_log('File!!!',c.value, file_name); 4586 4587 %> 4588 <div class="inline_field_block"> 4589 <div class="file-does-not-exist no_file_block field_displayed_data" <%=no_file_style%>> 4590 </div> 4591 <div class="file-exists file_block field_displayed_data" <%=file_exists_style%>> 4592 <a download href="<%=file_url%>"> 4593 <%= file_name %> 4594 </a> 4595 <a href="#" data-name="<%=c.name%>" 4596 class="delete_file close-button">×</a> 4597 </div> 4598 <div class="image-upload-panel col-sm-3"> 4599 <div class="upload_section"> 4600 <div class="file-does-not-exist" <%=no_file_style%>> 4601 <input id="hidden_<%=guid%>" 4602 type="hidden" 4603 name="<%=c.name%>.key" 4604 data-name="<%=c.name%>.key" 4605 disabled="true" 4606 value="<%=guid%>"> 4607 <input type="hidden" 4608 class="temp-file-url" 4609 name="<%=c.name%>.temp_url" 4610 data-name="<%=c.name%>.temp_url" 4611 value="<%= file_url %>"> 4612 <input type="hidden" 4613 class="temp-file-name" 4614 name="<%=c.name%>.temp_name" 4615 data-name="<%=c.name%>.temp_name" 4616 disabled="true"> 4617 4618 4619 <iframe id="iframe_<%=guid%>" class="upload_frame" height="24" 4620 src="/upload_iframe/file/<%=guid%>?private=<%=is_private%>" 4621 frameborder="0" 4622 style="<%= file_exists_style %>" 4623 > 4624 </iframe> 4625 </div> 4626 </div> 4627 </div> 4628 </div> 4629 </script>
4629 4630 4631 4632
4632<script type="text/template" class="multi-item-row"> 4633 <% if ( ! c.suppress_label ) { %> 4634 <div class="field"> 4635 <label><%=c.label%>:</label> 4636 <% } %> 4637 <div class="inline-field-block"> 4638 <ul class="multi-field-items sortable-items"></ul> 4639 <a class="add-item"><%= c.add_more_text || '+ Add More'%></a> 4640 </div> 4641 <% if ( ! c.suppress_label ) { %> 4642 </div> 4643 <% } %> 4644 </script>
4644 4645 4646
4646<script type="text/template" class="member-portal-multi-item-row"> 4647 <li class="member-portal-tile-row"> 4648 <div class="display-inline-block"> 4649 <%= ss.text_field({ 4650 css_class: 'member-portal-tile-text w-auto', 4651 value: c.value.get('text'), 4652 name: c.name + '.text', 4653 item: c.model, 4654 placeholder: 'Text', 4655 maxlength: 70, 4656 data_values: { 4657 index: c.index 4658 } 4659 }) %> 4660 </div> 4661 <div class="display-inline-block"> 4662 <%= ss.text_field({ 4663 css_class: 'member-portal-tile-icon w-auto', 4664 value: c.value.get('icon'), 4665 name: c.name + '.icon', 4666 item: c.model, 4667 placeholder: 'Icon', 4668 data_values: { 4669 index: c.index 4670 } 4671 }) %> 4672 </div> 4673 <div class="display-inline-block">
4674 <%= ss.text_field({ 4675 css_class: 'member-portal-tile-link w-auto', 4676 value: c.value.get('link'), 4677 name: c.name + '.link', 4678 item: c.model, 4679 placeholder: 'Link', 4680 validations: 'url', 4681 data_values: { 4682 index: c.index 4683 } 4684 }) %> 4685 </div> 4686 <div class="display-inline-block"> 4687 <a class="close-button" data-index="<%=c.index%>">×</a> 4688 </div> 4689 </li> 4690 </script>
4690 4691 4692
4692<script type="text/template" class="multi-select-item-row"> 4693 <li> 4694 <%=ss.select_field( { name:c.name, 4695 value:c.value, 4696 validations: c.validations, 4697 options:c.options} ) %> 4698 <a class="close-button" data-index="<%=c.index%>">×</a> 4699 </script>
4699 4700 4701
4701<script type="text/template" class="directory-multi-select-item-row"> 4702 <li> 4703 <%=ss.select_field( { name:c.name, 4704 value:c.value, 4705 validations: c.validations, 4706 css_class: 'directory-table-field', 4707 options:c.options, 4708 data_values: { 4709 index: c.index 4710 }} ) %> 4711 <a class="close-button" data-index="<%=c.index%>">×</a> 4712 </script>
4712 4713 4714
4714<script type="text/template" class="plan-field-multi-select-item-row"> 4715 <li class="plan-additional-field-row"> 4716 <div class="row row-no-padding ml0"> 4717 <div class="col-lg-6"> 4718 <%=ss.select_field( { name:c.name, 4719 value:c.value, 4720 options:c.options, 4721 css_class:'plan-additional-field update-model-ignore form-control', 4722 data_values: { 4723 index: c.index 4724 }}) %> 4725 </div> 4726 <div class="col-lg-5 no-padding"> 4727 <select multiple="multiple" class="form-control multi-select-target plan-custom-field-visibility update-model-ignore" 4728 data-index="<%= c.index %>" 4729 data-placeholder="Display Context"> 4730 <% 4731 _.each(ss.config.CONSTANTS.CUSTOM_PLAN_FIELD_VISIBILITY_OPTIONS, function(option) { 4732 var selected = _.contains(c.config.visibility, option) ? 'selected' : ''; 4733 %> 4734 <option value="<%= option %>" <%= selected %>><%= option %></option> 4735 <% }); %> 4736 </select> 4737 </div> 4738 <div class="col-lg-1 center"> 4739 <a class="close-button pull-left" data-index="<%=c.index%>">×</a> 4740 </div> 4741 </div> 4742 </li> 4743 </script>
4743 4744 4745
4745<script type="text/template" class="heading-field"> 4746 <div class="custom-heading-field mb2"> 4747 <% if ( c.label ) { %> 4748 <h3 class="custom-heading-field-title"><%- c.label %></h3> 4749 <% } %> 4750 <% if ( c.description ) { %> 4751 <div class="custom-heading-field-description"><%- c.description %></div> 4752 <% } %> 4753 </div> 4754 </script>
4754 4755 4756 </div> 4757 4758 4759 4760 4761 4762 4763
4763<script type="text/template" id="group_invite_view"> 4764 <label for="group_invite_targets">Invite by Name</label> 4765 <div class="group_invite_targets_display"></div> 4766 <input type="text" id="group_invite_targets" class="group_invite_targets form-control"> 4767 <input class="group_invite_targets_value" type="hidden"> 4768 <label for="group_invite_targets_email">Invite by Email Address (separate by commas)</label> 4769 <input type="text" id="group_invite_targets_email" class="group_invite_targets_email form-control"> 4770 <label>Optional Personal Message</label> 4771 <div class="group_invite_personalization ckeditor_input" name="group_invite_personalization" style="display:none"></div> 4772 </script>
4772 4773 4774 4775 4776 4777 <div class="editor-templates"> 4778 4779
4779<script type="text/template" class="base-image-template"> 4780 <% if (id == "delete") { %> 4781 <div class="sr-only" aria-live="assertive" aria-atomic="true"><%- input_name %> deleted.</div> 4782 <% } %> 4783 <button class="btn btn-lg btn-primary launch-image-chooser" type="button">Add Image</button> 4784 <input name="<%- input_name %>" class="<%- required ? 'required' : '' %>" value="<%- id %>" type="hidden" /> 4785 </script>
4785 4786 4787
4787<script type="text/template" class="image-chooser-template"> 4788 <div class="image-chooser-main-wrapper"> 4789 <div class="main-panel"></div> 4790 </div> 4791 </script>
4791 4792 4793
4793<script type="text/template" class="image-editor-template"> 4794 <link rel="stylesheet" href="https://uicdn.toast.com/tui-color-picker/v2.2.0/tui-color-picker.css"> 4795 <link rel="stylesheet" href="https://uicdn.toast.com/tui-image-editor/latest/tui-image-editor.css"> 4796 <div class="w1 ht80vh"> 4797 <div id="tui-image-editor"></div> 4798 </div> 4799 </script>
4799 4800 4801
4801<script type="text/template" class="user-image-chooser-template"> 4802 <div class="center user-image-chooser-main-wrapper"> 4803 <div class="main-panel"></div> 4804 </div> 4805 </script>
4805 4806 4807
4807<script type="text/template" class="image-panel-template"> 4808 <div class="row"> 4809 <div class="image-panel-header mb2 col-sm-3"> 4810 <div class="upload-section"></div> 4811 <div class="selected-image-section"></div> 4812 </div> 4813 <div class="row bl-lg image-panel-images of-auto col-sm-9"> 4814 <div class="center mt2"> 4815 <i class="fas fa-spinner fa-pulse fa-5x fa-fw"></i> 4816 </div> 4817 </div> 4818 </div> 4819 </script>
4819 4820 4821
4821<script type="text/template" class="user-image-panel-template"> 4822 <div class="image-panel-header mb2"> 4823 <div class="upload-section"></div> 4824 <% if (typeof show_crop_warning !== 'undefined' && show_crop_warning) { %> 4825 <div class="force-crop-warning"> 4826 We recommend specific dimensions for this image: <br/><strong> 4827 <%- recommended_width %>px x <%- recommended_height %>px <br/></strong> 4828 <!-- After uploading an image you can click 'Edit Image' and crop/resize the image as suggested. --> 4829 </div> 4830 <% } %> 4831 <div class="selected-image-section"></div> 4832 </div> 4833 </script>
4833 4834 4835
4835<script type="text/template" class="selected-image-template"> 4836 <div class="selected-image-display mt1 center clearfix"> 4837 <img src="<%- thumbnail_url %>" class="img-responsive thumbnail center-block" /> 4838 <% if (suggest_crop) { %> 4839 <div class="mb1"> 4840 We recommend you crop/resize the image to the following dimensions:<br/> 4841 <strong><%- recommended_width %>px x <%- recommended_height %>px</strong> 4842 </div> 4843 <% } %> 4844 <a data-image_src="<%- src %>" data-image_id="editableimage1" class="hidden-xs white btn btn-primary edit-image">Edit Image</a> 4845 <img id="editableimage1" style="display:none" class="edit-image" src="<%- src %>" /> 4846 <% if (show_alignment) { %> 4847 <hr/> 4848 4849 <label>Image Alignment:</label> 4850 <br> 4851 <%= ss.pill_radio_field({ 4852 item: model, 4853 name: 'alignment', 4854 css_class: 'alignment', 4855 value: alignment, 4856 options: { 4857 left: 'Left', 4858 center: 'Center', 4859 right: 'Right' 4860 } 4861 }) %> 4862 4863 <% } %> 4864 <% if (show_alt_text) { %> 4865 <label for="image_alt_attr" class="mt1">Alternative Text:</label> 4866 <br>
4867 <%= ss.text_field({ 4868 item: model, 4869 name: 'alt', 4870 css_class: 'alt-text form-control', 4871 value: alt}) %> 4872 <% } %> 4873 </div> 4874 </script>
4874 4875 4876
4876<script type="text/template" class="uploader"> 4877 <form class="fileupload center"> 4878 <!-- The fileinput-button span is used to style the file input field as button --> 4879 <% if (uploading) { %> 4880 <div class="uploading-status"> 4881 <span class="uploading-status-text">Uploading...</span> <i class="fas fa-spinner fa-spin"></i> 4882 </div> 4883 <% } else { %> 4884 <div class="upload-button clearfix mb2"> 4885 <span class="btn btn-success fileinput-button"<% if (uploading) {%> disabled<% } %>> 4886 <i class="fas fa-plus"></i> 4887 <label for="fileupload">Upload Image</label> 4888 <!-- The file input field used as target for the file upload widget --> 4889 <input id="fileupload" type="file" name="files[]" multiple> 4890 </span> 4891 </div> 4892 <% } %> 4893 </form> 4894 </script>
4894 4895 4896
4896<script type="text/template" class="image-panel-image-template"> 4897 <div class="col-sm-2 mb2 image-chooser-selectable-thumb"> 4898 <i class="fas fa-times delete-image absolute pointer" aria-hidden="true"></i> 4899 <img 4900 data-original="<%- thumbnail_url %>" 4901 class="img-responsive thumbnail img-chooser-thumbnail lazy" 4902 data-id="<%-id%>" 4903 src="<%- thumbnail_url %>" /> 4904 <% if ( height && width ) { %> 4905 <div class="center mt-n1-5"> 4906 <small><%- width %> x <%- height %></small> 4907 </div> 4908 <% } %> 4909 </div> 4910 </script>
4910 4911 4912
4912<script type="text/template" class="image-chooser-template"> 4913 <div class="upload-section"></div> 4914 <hr> 4915 <div class="image-selector"></div> 4916 </script>
4916 4917 4918
4918<script type="text/template" class="form-return-values"> 4919 <% // Polyfill for endsWith not working in IE 4920 if (!String.prototype.endsWith) { 4921 String.prototype.endsWith = function(search, this_len) { 4922 if (this_len === undefined || this_len > this.length) { 4923 this_len = this.length; 4924 } 4925 return this.substring(this_len - search.length, this_len) === search; 4926 }; 4927 }; 4928 4929 if (input_name.endsWith('image_url')) { 4930 var image_value = thumbnail_url; 4931 } else{ 4932 var image_value = id; 4933 }; 4934 %> 4935 <div class="image-chooser-form-return"> 4936 <div class="sr-only" aria-live="assertive" aria-atomic="true"><%- input_name %> uploaded.</div> 4937 <div class="icfr-thumbnail"> 4938 <img src="<%- thumbnail_url + "fPNG" %>" class="img-responsive thumbnail"> 4939 </div> 4940 <input type="hidden" name="<%- input_name %>" value="<%- image_value %>" /> 4941 <a class="btn btn-danger delete-image">Remove Image</a> 4942 </div> 4943 </script>
4943 4944 </div> 4945 4946 4947 4948 <div class="chapter-plan-selector-templates"> 4949 4950
4950<script type="text/template" class="chapter-plan-selector-base-template"> 4951 <div class="selectors-target"></div> 4952 <div class="button-target"></div> 4953 </script>
4953 4954
4954<script type="text/template" class="add-chapter-button"> 4955 <a tabindex="0" role="button" class="add-chapter mb2 btn btn-sm btn-primary"><i class="fas fa-plus"></i> Add another Affiliate</a> 4956 </script>
4956 4957 4958
4958<script type="text/template" class="chapter-plan-selector"> 4959 <div class="<%= selector_target_class %> mb2 p1-5 b1-lg br-5"> 4960 <div class="chapter-selector-target"></div> 4961 <div class="plan-selector-target"></div> 4962 <div class="validation-error"></div> 4963 <% if (can_remove) { %> 4964 <div class="right-align"> 4965 <a class="remove-chapter text-danger mt1 block" style="line-height:1em;">Remove <i class="fas fa-times-circle"></i></a> 4966 </div> 4967 <% } %> 4968 </div> 4969 </script>
4969 4970 4971
4971<script type="text/template" class="chapter-selector"> 4972 <select name="affiliate" class="multi-select-target chapter-selector form-control"> 4973 <option value="" selected>Select an Affiliate</option> 4974 <% _.each(ss.fields.build_options(select_options), function(option) { %> 4975 <% 4976 var selected = _.indexOf(values, option.value) >= 0; 4977 %> 4978 <option value="<%-option.value || ''%>" <%- selected ? 'selected' : '' %> ><%-option.label%> 4979 <% }); %> 4980 </select> 4981 </script>
4981 4982 4983
4983<script type="text/template" class="plan-selector"> 4984 <div class="input-group mt1"> 4985 <select name="membership_info:chapter_plan_selector:affiliate_plans[]" class="plan-selector form-control"> 4986 <option value="" selected>Select a plan</option> 4987 <% _.each(ss.fields.build_options(select_options), function(option) { %> 4988 <% 4989 var selected = _.indexOf(values, option.value) >= 0; 4990 %> 4991 <option value="<%- option.value || '' %>" <%- selected ? 'selected' : '' %> ><%- option.label %> 4992 <% }); %> 4993 </select> 4994 <div class="input-group-btn"> 4995 <button type="button" class="btn btn-default" aria-label="Help" data-toggle="modal" data-target="#plan_description_<%= chapter_permaid %>"> 4996 <i class="fas fa-question-circle"></i> 4997 </button> 4998 </div> 4999 </div> 5000 <div class="modal fade" id="plan_description_<%= chapter_permaid %>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 5001 <div class="modal-dialog" role="document"> 5002 <div class="modal-content"> 5003 <div class="modal-header"> 5004 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 5005 <h4 class="modal-title" id="myModalLabel">Membership Plans</h4> 5006 </div> 5007 <div class="modal-body"> 5008 <% _.each(plans, function(plan) { %> 5009 <h4><%= plan.get('name') %> - <%= ss.fn.money(plan.get('amount')) %>/<%= plan.get('period') %></h4> 5010 <%= plan.get('description') %> 5011 <hr/> 5012 <% }); %> 5013 </div> 5014 </div> 5015 </div> 5016 </div> 5017 </script>
5017 5018 5019 </div> 5020 5021 5022 <div class="panel-templates"> 5023 5024
5024<script type="text/template" class="edit-panel"> 5025 <div class="onepage-panel-header"> 5026 <div class="panel-header-fixed-wrapper"> 5027 <% 5028 var listing_page = c.view.get_listing_page(); 5029 %> 5030 <% if ( listing_page ) { %> 5031 <button class="onepage-borderless-button onepage-return-button default"><i class="icon-back icon-18"></i></button> 5032 <% } %> 5033 <span class="onepage-panel-header-name"> 5034 <% 5035 if ( c.view.get_panel_heading() ){ 5036 print(c.view.get_panel_heading()); 5037 } else if ( c.model.id ){ 5038 print('Edit ' + (c.model.get('name') || c.model.id)); 5039 } else { 5040 print('New ' + (c.item_name || 'Item')); 5041 } 5042 %> 5043 </span> 5044 <div class="onepage-header-button-group"> 5045 <span class="extra-header-buttons"></span> 5046 <% var save_text = c.model.id ? 'Save' : 'Create' %> 5047 <button type="button" class="<%= listing_page ? 'default' : ''%> save-js"><%= save_text %></button> 5048 5049 <% if ( listing_page ) { %> 5050 <button type="button" class="save-close-js"><%= save_text %> and Close</button> 5051 <% } %> 5052 </div> 5053 </div> 5054 </div> 5055 <div class="edit-panel-alerts"></div> 5056 <div class="edit-panel-content panel-content"></div> 5057 </script>
5057 5058 5059 </div> 5060 5061 5062 5063 <div class="member-settings-templates"> 5064 5065
5065<script type="text/template" class="delete-card-template"> 5066 <div> 5067 Delete the card ending in <%= c.last_four_digits %>? 5068 </div> 5069 </script>
5069 5070
5070<script type="text/template" class="move-me-to-chapter"> 5071 <% 5072 var options = _.map(ss_context.chapter_options, function(values){ 5073 return {'label':values['name'], 'value':values['permaid']} 5074 }); 5075 5076 print( ss.select_row({label:'Select Home Chapter', 5077 name:'chapter_id', 5078 options:options, 5079 value:''})); 5080 5081 %> 5082 5083 Add Chapters: 5084 <select name="select_use_chapter" multiple="multiple" class="select-user-chapter multi-select-target" 5085 data-placeholder="Select chapter"> 5086 <% _.each(ss_context.chapter_options, function(network) { %> 5087 <% if(!_.some(ss_context.user_networks, function(o){return o.permaid === network.permaid})) { %> 5088 <option value="<%= network.permaid %>"><%= network.name %></option> 5089 <% } %> 5090 <% }); %> 5091 </select> 5092 5093 You can update your home chapter and the chapters that you are a part of from this dialog. 5094 <br> 5095 <br> 5096 <br> 5097 <br> 5098 5099 </script>
5099 5100 5101 </div> 5102 5103 5104 5105 <div class="organization-selection-templates"> 5106 5107
5107<script type="text/template" class="organization-listing-item"> 5108 <div class="clearfix"> 5109 <% 5110 var organization = c.model; 5111 var pending = c.model.is_pending( SS.app.current_user && SS.app.current_user.id); 5112 %> 5113 <div class="image-section"> 5114 <% 5115 var image_url = organization.build_image_url({width:60,height:60}); 5116 %> 5117 <img src="<%=image_url%>" height="60" width="60"> 5118 </div> 5119 <div class="detail-section"> 5120 <div> 5121 <div class="organization-name"> 5122 <%-organization.get('name')%> 5123 </div> 5124 <div class="member_actions"> 5125 <% if ( pending ){ %> 5126 Join Status: <span class="badge">Pending</span> 5127 <% } %> 5128 <% if ( organization.may_edit() ){ %> 5129 <a class="edit-organization">Edit</a> 5130 <% } %> 5131 <a class="leave-organization">(Leave)</a> 5132 </div> 5133 </div> 5134 </div> 5135 </div> 5136 </script>
5136 5137
5137<script type="text/template" class="organization-listing-template"> 5138 <div> 5139 <ul class="pending-organization-listing list-group item-listing"> </ul> 5140 <ul class="organization-listing list-group item-listing"> </ul> 5141 </div> 5142 </script>
5142 5143
5143<script type="text/template" class="organization-selection-template"> 5144 <div> 5145 <div class="alert alert-info"> 5146 <strong> 5147 You don't currently belong to any <%= ss.config.TERMS.plural_company.toLowerCase() %>. 5148 </strong> 5149 </div> 5150 <div class="row"> 5151 <% if ( c.organization_listing_visible || true ){ %> 5152 <div class="col-md-6"> 5153 <div class="panel panel-default"> 5154 <div class="panel-heading"> 5155 <h3>Join Your <%= _.string.capitalize(ss.config.TERMS.singular_company) %></h3> 5156 </div> 5157 <div class="panel-body"> 5158 Is your <%= ss.config.TERMS.singular_company.toLowerCase() %> already registered? If they've already been registered you may ask to join the <%= ss.config.TERMS.singular_company.toLowerCase() %>. 5159 </div> 5160 <div class="panel-footer"> 5161 <div class="company-autocomplete"></div> 5162 </div> 5163 </div> 5164 </div> 5165 <% } else { %> 5166 Please contact <%= SS.app.current_network.name %> to join a <%= ss.config.TERMS.singular_company.toLowerCase() %>. 5167 <% } %> 5168 5169 <% if ( c.may_create_organizations ) { %> 5170 <div class="col-md-6"> 5171 <div class="panel panel-default"> 5172 <div class="panel-heading"> 5173 <h3>Register a New <%= _.string.capitalize(ss.config.TERMS.singular_company) %></h3> 5174 </div> 5175 <div class="panel-body"> 5176 You may register a new <%= ss.config.TERMS.singular_company.toLowerCase() %> and become the <%= ss.config.TERMS.singular_company.toLowerCase() %>'s admin. 5177 </div> 5178 <div class="panel-footer"> 5179 <% if( c.setup ) { %> 5180 <a class="button btn btn-primary register-company">Register your <%= _.string.capitalize(ss.config.TERMS.singular_company) %></a> 5181 <% } else { %> 5182 <a class="button btn btn-primary" href="/company/new">Register your <%= _.string.capitalize(ss.config.TERMS.singular_company) %></a> 5183 <% } %> 5184 </div> 5185 </div> 5186 </div> 5187 <% } %> 5188 </div> 5189 </div> 5190 </script>
5190 5191 5192 </div> 5193 5194 5195 5196 5197 <div class="organization-edit-templates"> 5198 5199
5199<script type="text/template" class="organization-edit-panel"> 5200 <div class="onepage-panel-header"> 5201 <span class="onepage-panel-header-name"> 5202 <% if ( c.model.id ){ %> 5203 Edit <%= c.model.get('name') %> 5204 <% if ( ss.user.advanced ) { %> 5205 <a href="<%= c.model.get('url')%>/edit" target="_blank">old</a> 5206 <a href="<%= c.model.get('url')%>/json-data" target="_blank">json</a> 5207 <a href="/test/load_details?id=<%= c.model.id%>" target="_blank">load details</a> 5208 <% } %> 5209 <% } else { %> 5210 New Member 5211 <% } %> 5212 </span> 5213 <div class="onepage-header-button-group"> 5214 <% if ( c.options.on_cancel ){ %> 5215 <button type="button" class="default cancel">Cancel</button> 5216 <% } %> 5217 5218 <% if ( c.options.on_created ){ %> 5219 <button type="button" class="save-and-use">Create and Use</button> 5220 <% } else {%> 5221 <% var save_text = c.model.id ? 'Save' : 'Create' %> 5222 <button type="button" class="default save-js"><%= save_text %></button> 5223 <button type="button" class="save-close-js"><%= save_text %> and Close</button> 5224 <% } %> 5225 </div> 5226 </div> 5227 5228 <div class="actions"> 5229 <% 5230 var action_button = function(){ 5231 print( ss.listing.action_button.apply(this, arguments) ); 5232 }; 5233 var admin = SS.app.current_user.network_admin; 5234 %> 5235 5236 <% if (this.model.get('status') === 'archived') { %> 5237 <div class="alert alert-info w40 pr1"> 5238 <i class="fas fa-exclamation-circle fa-lg mr1"></i> <b>This company has been archived</b> 5239 </div> 5240 <% } %> 5241
5242 <%= ss.onepage.return_button() %> 5243 5244 <% if ( admin ){ %> 5245 <div class="grid-button-group button_group"> 5246 <% action_button('Enter<br>Payment', 'one', 'enter_payment','not_default') %> 5247 <% 5248 //action_button('Cancel<br>Membership', 'one', 'cancel_membership') 5249 %> 5250 </div> 5251 <% } %> 5252 5253 <div class="grid-button-group button_group"> 5254 <% 5255 if (admin){ 5256 if (this.model.get('status') !== 'archived') { 5257 if (ss_context.apex_admin) { 5258 action_button('<i class="icon-trash icon-white"></i>', 'any', 'delete_selected', 'danger'); 5259 } else { 5260 action_button('Remove From<br>Chapter', 'any', 'remove_from_chapter', 'danger'); 5261 } 5262 } 5263 } 5264 %> 5265 <% 5266 if(ss.user.advanced) { 5267 action_button( 'Unarchive', 'any', 'unarchive', 'success'); 5268 } 5269 %> 5270 </div> 5271 5272 5273 5274 </div> 5275 5276 <% 5277 var pages = { 5278 space0: null, 5279 // Maybe change private-view to member-only-view 5280 basic: {label: 'Basic Info', class: 'private-view'}, 5281 overview: {label: 'Details', class: 'private-view'}, 5282 home_page: {label: 'Home Page', 5283 class: 'private-view', 5284 relative_url:'home_page/edit' 5285 }, // OFFSHOREMARINE 5286 5287 people: {label: 'Employees', class: 'private-view'}, 5288 locations: {label: 'Locations', class: 'private-view'}, 5289 privacy: {label: 'Privacy', class: 'private-view'}, 5290 space1: null, 5291 5292 membership: {label: 'Membership Info', class: 'mixed-view'}, 5293 space2: null, 5294 5295 custom: {label: 'Custom Info', class: 'admin-only-view'}, 5296 history: {label: 'History', class: 'admin-only-view'}, 5297 //files: {label: 'Files', class: 'admin-only-view'}, 5298 }; 5299 5300 if (ss.config.THEME_CONFIG.disallow_company_home_page){ 5301 delete pages.home_page; 5302 } 5303 if (!SS.app.current_network.enable_company_locations){ 5304 delete pages.locations; 5305 } 5306 if ( ss.user.advanced ){ 5307 //pages.people = {label: 'People', class: 'admin-only-view'}; 5308 } 5309 var network_id = ss.data.network.get('permaid'); 5310 if ( ! c.model.id ){ 5311 delete pages.home_page; 5312 } 5313 if ( c.options.sections ){ 5314 _.each( pages, function( value, key ){ 5315 if ( key !== 'space0' && ! _.contains( c.options.sections, key ) ){ 5316 delete pages[key]; 5317 } 5318 }); 5319 } 5320 5321 %> 5322 5323 <div class="onepage-sub-tabbar"> 5324 <div class="sub-tabbar-container"> 5325 <ul class="sub-tabbar-tabs section-list"> 5326 <% _.each( pages, function( section, key){ 5327 if ( section ){ %> 5328 <li class="<%=section.class%>"> 5329 <% if (section.relative_url ){ %> 5330 <a target="_blank" 5331 href="<%=c.model.get('url') + '/' + section.relative_url %>">
5332 <%= section.label %> 5333 </a> 5334 <% } else { %> 5335 <a data-section="<%=key%>"> <%= section.label %> </a> 5336 <% } %> 5337 <% } else { %> 5338 <li class="separator"><div style="width:20px;"> </div> 5339 <% } 5340 }); %> 5341 </ul> 5342 </div> 5343 </div> 5344 <div class="edit-panel-alerts absolute mt5"></div> 5345 <div class="panel-content tabbed-actions-panel-content tabbed-panel-content"></div> 5346 </script>
5346 5347 5348
5348<script type="text/template" class="basic-section"> 5349 <h2 class="alert alert-info">Basics</h2> 5350 <div> 5351 <% var validations = "required"; 5352 // For now, we'll only support company id verification creating new companies 5353 // because our validators have no concept of a model, and if the model 5354 // has changed, as would happen when the admin changes a company's name 5355 // to one of an existing company 5356 if (!c.model.id && !SS.app.current_network.duplicate_company_name_allowed) { 5357 validations += " company_name_available"; 5358 } %> 5359 <%= ss.text_row({label:'Name', 5360 name:'name', 5361 item:c.model, 5362 validations:validations, 5363 css_class:'form-control ', 5364 row_css_class:'row form-group', 5365 label_css_class:'col-md-3 col-lg-2', 5366 input_wrap_class:'col-md-9 col-lg-10'}) %> 5367
5368 <%= ss.image_row({label:'Logo', 5369 name:'image', 5370 item:c.model, 5371 css_class:'form-control', 5372 row_css_class:'row form-group', 5373 label_css_class:'col-md-3 col-lg-2', 5374 input_wrap_class:'col-md-9 col-lg-10', 5375 upload_instructions:'Recommended: 400px x 400px'}) %> 5376 5377 <div class="organization-type"></div> 5378 <div class="organization-categories"></div> 5379 5380 <% 5381 company_address_required = ( SS.app.current_network.company_address_required && !ss.apps.admin_app ) ? 'required' : ''; 5382 company_phone_required = ( (SS.app.current_network.company_phone_required || SS.app.current_network.company_contact_info_required) && !ss.apps.admin_app ) ? 'required' : ''; 5383 contact_info_required = ( SS.app.current_network.company_contact_info_required && !ss.apps.admin_app ) ? 'required' : ''; 5384 website_required = ( SS.app.current_network.company_website_required && !ss.apps.admin_app ) ? 'required' : ''; 5385 company_profile_social_media = SS.app.current_network.company_profile_social_media; 5386 %> 5387 5388 <h2 class="alert alert-info">Contact</h3>
5389 <%= ss.text_row({label:'Website', 5390 name:'website', 5391 item:c.model, 5392 css_class:'form-control', 5393 row_css_class:'row form-group', 5394 label_css_class:'col-md-3 col-lg-2', 5395 input_wrap_class:'col-md-9 col-lg-10', 5396 validations: website_required}) %> 5397 <%= ss.text_row({label: _.string.capitalize(ss.config.TERMS.singular_company) + ' Email', 5398 name:'email', 5399 item:c.model, 5400 css_class:'form-control', 5401 row_css_class:'row form-group', 5402 label_css_class:'col-md-3 col-lg-2', 5403 input_wrap_class:'col-md-9 col-lg-10', 5404 validations: contact_info_required}) %>
5405 <%= ss.text_row({label:'Phone', 5406 name:'phone', 5407 item:c.model, 5408 css_class:'form-control', 5409 row_css_class:'row form-group', 5410 label_css_class:'col-md-3 col-lg-2', 5411 input_wrap_class:'col-md-9 col-lg-10', 5412 validations:company_phone_required}) %> 5413 <%= ss.text_row({label:'Fax', 5414 name:'fax', 5415 item:c.model, 5416 css_class:'form-control', 5417 row_css_class:'row form-group', 5418 label_css_class:'col-md-3 col-lg-2', 5419 input_wrap_class:'col-md-9 col-lg-10'}) %> 5420 <!-- 5421 hidden set email domain field show on the old edit page? 5422 --> 5423 <div class="field company-email-domains form-group"> 5424 <label class="col-md-3 col-lg-2"> 5425 Email Domains: 5426 </label> 5427 <div class="col-md-9 col-lg-10">
5428 <%= ss.text_field({ 5429 name:'email_domains', 5430 prepend:'@', 5431 placeholder:'example.com', 5432 item:c.model, 5433 css_class: 'form-control'}) %> 5434 <a tabindex="0" href="#" role="button" data-trigger="focus" class="popover_link" data-toggle="popover" 5435 data-content="Allows users to join their company by confirming an email address with one of these domains. 5436 The domains should be comma separated, and can include wildcards such as *.example.com, which for example, 5437 would match @subgroup1.example.com and @subgroup2.example.com email addresses, among others." 5438 data-original-title="Email Domains" data-placement="bottom"> 5439 <i class="fas fa-question-circle"></i> 5440 </a> 5441 </div> 5442 </div> 5443 5444 <% if (company_profile_social_media) { %> 5445
5446 <%= ss.text_row({label:'LinkedIn Page URL', 5447 name:'linkedin_url', 5448 item:c.model, 5449 css_class:'form-control', 5450 row_css_class:'row form-group', 5451 label_css_class:'col-md-3 col-lg-2', 5452 input_wrap_class:'col-md-9 col-lg-10'}) %> 5453 5454 <%= ss.text_row({label:'Facebook Page URL', 5455 name:'facebook_url', 5456 item:c.model, 5457 css_class:'form-control', 5458 row_css_class:'row form-group', 5459 label_css_class:'col-md-3 col-lg-2', 5460 input_wrap_class:'col-md-9 col-lg-10'}) %> 5461 5462 <%= ss.text_row({label:'Instagram Page URL', 5463 name:'instagram_url', 5464 item:c.model, 5465 css_class:'form-control', 5466 row_css_class:'row form-group', 5467 label_css_class:'col-md-3 col-lg-2', 5468 input_wrap_class:'col-md-9 col-lg-10'}) %> 5469 5470 <div class="field relative company-twitter-handle row clearfix form-group"> 5471 <label class="col-md-3 col-lg-2"> 5472 X Handle: 5473 </label> 5474 <div class="col-md-9 col-lg-10">
5475 <%= ss.text_field({name:'twitter_handle', 5476 prepend:'@', 5477 placeholder:'company_name', 5478 item:c.model, 5479 css_class:'form-control'}) %> 5480 </div> 5481 </div> 5482 5483 <% } %> 5484 5485 <%= ss.address_linear_block({ 5486 label:'Address', 5487 item:c.model, 5488 prefix:'address', 5489 unit_popover: { 5490 title: 'Address Line 1', 5491 content:'Please enter unit, suite, and floor information under Address Line 2; otherwise, your ' + ss.config.TERMS.singular_company.toLowerCase() + ' will not appear on the company map.' 5492 }, 5493 validations:company_address_required}) %> 5494
5495 <%= ss.address_linear_block({label:'Mailing Address ( if different )', 5496 item:c.model, 5497 prefix:'mailing_address'}) %> 5498 <br/> 5499 <h2 class="alert alert-info"><%= _.string.capitalize(ss.config.TERMS.singular_company) %> Overview</h2> 5500 <div class="company-overview-field"> 5501 5502 <%= ss.rich_text_row({ name:'summary', 5503 item:c.model, 5504 validations:''}) %> 5505 </div> 5506 5507 <%= ss.custom_fields({asset_key:'company',section:'about', subsection:'main'}, 5508 c.model, 5509 {row_css_class: 'form-group', label_css_class:'col-md-3 col-lg-2', input_wrap_class:'col-md-9 col-lg-10'} ) %> 5510 <br/> 5511 <!-- sponsors --> 5512 5513 <!-- 5514 ${self.contact_section()} 5515 --> 5516 </div> 5517 </script>
5517 5518 5519
5519<script type="text/template" class="people-section"> 5520 <div> 5521 <ul class="members item-listing mt2"></ul> 5522 <button class="add-person">Add Person</button> 5523 <!--<div class="add-person-autocomplete"></div>--> 5524 </div> 5525 </script>
5525 5526 5527
5527<script type="text/template" class="chosen-person-template"> 5528 <div class="field_displayed_data"> 5529 <%= c.model.get('name') %> 5530 <a class="change-person">(Change)</a> 5531 <br> 5532 <!--<%= c.model.get('member_number') %> --> 5533 <%= c.model.get('email') || 'no email' %> 5534 <br> 5535 <%= c.model.get('phone_number') %> 5536 </div> 5537 </script>
5537 5538 5539
5539<script type="text/template" class="add-person"> 5540 <div> 5541 <div class="indented-block button_group" data-toggle="buttons-radio"> 5542 <button type="button" 5543 class="button default add-by" 5544 value="name" 5545 >Add Existing Person</button> 5546 <button type="button" 5547 class="button default add-by" 5548 value="email" 5549 >Add New Person</button> 5550 </div> 5551 <div class="add-by-name"> 5552 <div class="field"> 5553 <label>Person:</label> 5554 <div class="add-person-autocomplete"></div> 5555 <div class="chosen-person"></div> 5556 </div> 5557 </div> 5558 <div class="add-by-email">
5559 <%= ss.text_row({label:'Email', 5560 name:'email' 5561 //, validations:'required' 5562 }) %> 5563 <%= ss.text_row({label:'First Name', 5564 name:'first_name', 5565 validations:'required'}) %> 5566 <%= ss.text_row({label:'Last Name', 5567 name:'last_name', 5568 validations:'required'}) %> 5569 </div> 5570 <hr> 5571 <%= ss.checkbox_row({label:'Company Admin?',name:'company_admin'}) %> 5572 <div class="add-by-email"> 5573 <%= ss.checkbox_row({label:'Send Welcome Message?',name:'send_welcome_message'}) %> 5574 </div> 5575 </div> 5576 </script>
5576 5577
5577<script type="text/template" class="person-listing-item"> 5578 <div> 5579 <% 5580 var person = c.model; 5581 var pending = person.pending(); 5582 %> 5583 <div class="image-section"> 5584 <% 5585 var image_url = person.build_image_url({width:60,height:60}); 5586 %> 5587 <img src="<%=image_url%>" height="60" width="60"> 5588 </div> 5589 <div class="detail-section"> 5590 <div> 5591 <div class="person-name"> 5592 5593 <% var url = '/profiles/' + person.id + '/sections/basic'; %> 5594 <a class="onepage-link" href="/onepage<%=url%>" data-url="<%=url%>"> 5595 <%-person.get('name')%></a> 5596 </a> 5597 <% if ( ! pending ){ %> 5598 <a class="remove-member">(remove)</a> 5599 <% } %> 5600 <br> 5601 <%-person.get('email') || 'No email'%> 5602 </div> 5603 <div class="member-actions"> 5604 <% if ( pending ){ %> 5605 <span class="label label-important">Pending Member</span> 5606 <div style="padding-top:5px"> 5607 <button type="button" class="danger reject-member">Decline</button> 5608 <button type="button" class="success approve-member">Approve</button> 5609 </div> 5610 <% } else { %>
5611 <%= ss.text_field({name:'employee_title', 5612 value:person.get('title'), 5613 placeholder:'Title'}) %> 5614 <br> 5615 <input type="checkbox" 5616 class="admin" 5617 <%= person.admin()?'checked' : '' %> > 5618 <span> 5619 Admin 5620 <a tabindex="0" class="popover_link" role="button" data-toggle="popover" data-trigger="focus" title="" 5621 data-content="Admins can edit the company's profile and access its settings. There can be multiple 5622 company Admins. They can add other employees and they will receive communications 5623 regarding the company." 5624 data-original-title="Admin"> 5625 <i class="fas fa-question-circle icon-question-sign"></i> 5626 </a> 5627 </span> 5628 <br> 5629 <input type="radio" name="account_holder" class="account-holder" 5630 <%-person.get('account_holder') ? ' checked ' : ''%> 5631 <span> 5632 Billing Person 5633 <a tabindex="0" class="popover_link" role="button" data-toggle="popover" data-trigger="focus" title="" 5634 data-content="The Billing Person will receive confirmation emails and expiry reminders for your company's membership, 5635 and is the person who can purchase or renew memberships on behalf of the company. To access the full range of billing 5636 functionality, please ensure that this member has a valid email address." 5637 data-original-title="Billing Person"> 5638 <i class="fas fa-question-circle icon-question-sign"></i> 5639 </a> 5640 </span> 5641 5642 <br> 5643 <input type="radio" name="primary_contact" class="primary-contact" 5644 <%-person.get('primary_contact') ? ' checked ' : ''%> 5645 <span> 5646 Contact Person 5647 <a tabindex="0" class="popover_link" role="button" data-toggle="popover" data-trigger="focus" title="" 5648 data-content="The Primary Contact is the person whose contact info will appear on your company's profile." 5649 data-original-title="Primary Contact"> 5650 <i class="fas fa-question-circle icon-question-sign"></i> 5651 </a> 5652 </span> 5653 <br> 5654 <% if (ss_context.network_features.company_employee_sorting) { %>
5655 <%= ss.text_field({name:'sort_index', 5656 value:person.get('sort_index'), 5657 placeholder:'Sort Index'}) %> 5658 <% } %> 5659 <% } %> 5660 5661 <% if ( false && 'person.may_edit()' ){ %> 5662 <a class="edit-person">Edit</a> 5663 <% } %> 5664 5665 </div> 5666 </div> 5667 </div> 5668 </div> 5669 5670 </script>
5670 5671 5672
5672<script type="text/template" class="custom-section"> 5673 <% 5674 var plan_name = c.model.get('company_summary').plan_name; 5675 var plan_class = plan_name ? ss.fn.make_safe_for_css(plan_name) : 'no-plan'; 5676 %> 5677 <div class="company-custom-info-section plan_class-<%- plan_class %>"> 5678 <div class="alert alert-info"> 5679 Admin View: This page is only visible to network admins (people who can 5680 access the admin panel of your site). 5681 </div> 5682 <%= ss.text_area_row({label:'Internal Notes', 5683 name:'note', 5684 item:c.model, 5685 validations:''}) %> 5686 <%= ss.custom_fields({asset_key:'company',config_key:'admin_info'}, c.model ) %> 5687 </div> 5688 </script>
5688 5689 5690 5691
5691<script type="text/template" class="company-section"> 5692 <% 5693 c.companies.each( function( company ){ 5694 %> 5695 5696 <div> 5697 <%- company.get('name') %> 5698 </div> 5699 <% 5700 }); 5701 5702 if ( ! c.companies.length ){ 5703 %> 5704 <div class="alert alert-info"><%= c.model.get('name') %> is not part of any companies</div> 5705 <% 5706 } 5707 %> 5708 </script>
5708 5709 5710 5711
5711<script type="text/template" class="files-section"> 5712 <% 5713 var files = c.model.get('admin_uploader_files') || []; 5714 %> 5715 <ul> 5716 <% 5717 files.each(function( file ){ 5718 var file_path = 'admin_uploader_files.'+file.get('key')+'.file.file'; 5719 if (file.get('to_delete')){ 5720 return; 5721 } 5722 print('<li>'); 5723 print( ss.file_row({label:'File', 5724 item:c.model, 5725 name:file_path, 5726 is_private='True'})); 5727 }); 5728 %> 5729 </ul> 5730 <a href="#" class="add-file">+ Add File</a> 5731 </script>
5731 5732 5733
5733<script type="text/template" class="privacy-section"> 5734 <ul class="privacy_radio label_beside"> 5735 <% 5736 var name = c.model.get('name') || 'this company'; 5737 var privacy = c.model.get('company_directory_privacy') || 'public'; 5738 var privacy_options = 5739 [{value:'public', 5740 label:'<b>Open</b> (List '+ name +' in the Membership Directory for anyone to see)'}, 5741 {value:'public_to_groups', 5742 label:'<b>Members Only</b> (Only list ' + name + ' for members of ' + SS.app.current_network.name +')'}, 5743 {value:'private', 5744 label:'<b>Private</b> (Do not list ' + name + ' in the Membership Directory)'}] 5745 _.each( privacy_options, function( option ){ 5746 %> 5747 <li> 5748 <input type="radio" 5749 <%=option.value===privacy ? 'checked' : ''%> 5750 name="company_directory_privacy" 5751 data-name="company_directory_privacy" 5752 value="<%=option.value%>"><%=option.label%> 5753 <% }); %> 5754 </ul> 5755 </script>
5755 5756 5757
5757<script type="text/template" class="history-section"> 5758 <% 5759 var history_filters = [['All','all'], 5760 ['Profile Changes','profile_changes'], 5761 ['Imports','imports'], 5762 ['Exports','exports']]; 5763 %> 5764 <div class="button_group" data-toggle="buttons-radio"> 5765 <% _.each( history_filters, function( history_filter, index ){ %> 5766 <% 5767 var extra_class = ''; 5768 var label = history_filter[0]; 5769 var value = history_filter[1]; 5770 if ( index === 0 ){ 5771 extra_class = 'active'; 5772 } 5773 %> 5774 <button type="button" 5775 class="button default history-filter-type <%=extra_class%>" 5776 value="<%=value%>" 5777 ><%=label%></button> 5778 <% }); %> 5779 </div> 5780 <div class="history"></div> 5781 </script>
5781 5782
5782<script type="text/template" class="social-section"> 5783 <div> 5784 Social 5785 </div> 5786 </script>
5786 5787
5787<script type="text/template" class="public-section"> 5788 <div> 5789 Public 5790 </div> 5791 </script>
5791 5792 5793
5793<script type="text/template" class="locations-section"> 5794 <div class="location-editor-target"></div> 5795 </script>
5795 5796 5797
5797<script type="text/template" class="location-editor-template"> 5798 <% if (locations.length === 0) { %> 5799 <div class="pb2"><i>No locations were found for this company.</i></div> 5800 <% } else { %> 5801 <div class="pb2"> 5802 <button type="button" class="btn default save-locations pull-right"><i class="fas fa-save fa-lg mr1"></i>Save Location Changes</button> 5803 <div class="alert alert-success save-success absolute" style="width:73.5%" hidden>Location changes successfully saved.</div> 5804 <div class="alert alert-danger save-failure absolute" style="width:73.5%" hidden>Location changes not successfully saved. Please review for errors and re-save.</div> 5805 </div> 5806 <% locations.sort(function(location1,location2) { 5807 return (location1.get('name').toLowerCase() > location2.get('name').toLowerCase()) ? 1 : ((location2.get('name').toLowerCase() > location1.get('name').toLowerCase()) ? -1 : 0); 5808 }); 5809 _.each(locations, function(location) { %> 5810 <div class="location-to-edit w75 b1-lg br-5 mb2"> 5811 <div class="location-header-selector p1 fs14 bg-f5"> 5812 <a class="location-item-view-control mr3" id="<%- location.get('id') %>"><i class="fas fa-plus-circle fa-lg"></i></a><strong><%- location.get('name') %></strong> 5813 </div> 5814 <div class="location-edit-fields-target" hidden></div> 5815 </div> 5816 <% }); %> 5817 <% } %> 5818 <div><a class="btn btn-primary add-new-location"><i class="fas fa-plus mr1"></i>Add a New Location</a></div> 5819 </script>
5819 5820 5821
5821<script type="text/template" class="location-edit-fields-template"> 5822 <div class="location-edit p1-5 ml3-5"> 5823 <div><strong>Edit location data:</strong></div> 5824 <div class="location-data-fields pt1"> 5825 <form class="location-edit-form bb1-lg mr3"> 5826 <div class="label_beside"> 5827 <div class="field"> 5828 <label class="w-auto">Location Name:</label><i class="required_marker"></i> 5829 <input class="location-data-field input_box required w75 pull-right" name="name" value="<%- location.get('name') %>" data-validations="required"> 5830 </div> 5831 <div class="field"> 5832 <label class="w-auto">Street Address:</label> 5833 <input class="location-data-field input_box w75 pull-right" name="street_address" value="<%- location.attributes.address.street_address %>"> 5834 </div> 5835 <div class="field"> 5836 <label class="w-auto">City:</label> 5837 <input class="location-data-field input_box w75 pull-right" name="city" value="<%- location.attributes.address.city %>"> 5838 </div> 5839 <div class="field"> 5840 <label class="w-auto">Country:</label>
5841 <%= ss.select_row({name:'country', 5842 value:location.attributes.address.country, 5843 css_class:'location-data-field input_box w75i mt-n-1i pull-right country_binding_provinces', 5844 options:countries_and_states.ALL_COUNTRIES 5845 })%> 5846 </div> 5847 <div class="field" data-bound_to="form|.country_binding_provinces" data-bound_to_value="CA"> 5848 <label class="w-auto">Province / State:</label> 5849 <%= ss.select_row({name:'state', 5850 value:location.attributes.address.state, 5851 css_class:'location-data-field input_box w75i mt-n-1i pull-right', 5852 options:countries_and_states.CANADIAN_PROVINCES})%> 5853 </div> 5854 <div class="field" data-bound_to="form|.country_binding_provinces" data-bound_to_value="US"> 5855 <label class="w-auto">Province / State:</label>
5856 <%= ss.select_row({name:'state', 5857 value:location.attributes.address.state, 5858 css_class:'location-data-field input_box w75i mt-n-1i pull-right', 5859 options:countries_and_states.AMERICAN_STATES})%> 5860 </div> 5861 <div class="field" data-bound_to="form|.country_binding_provinces" data-bound_to_value="AU"> 5862 <label class="w-auto">Province / State:</label> 5863 <%= ss.select_row({name:'state', 5864 value:location.attributes.address.state, 5865 css_class:'location-data-field input_box w75i mt-n-1i pull-right', 5866 options:countries_and_states.AUSTRALIAN_STATES})%> 5867 </div> 5868 <div class="field" data-bound_to="form|.country_binding_provinces" data-bound_to_value="GB"> 5869 <label class="w-auto">Province / State:</label>
5870 <%= ss.select_row({name:'state', 5871 value:location.attributes.address.state, 5872 css_class:'location-data-field input_box w75i mt-n-1i pull-right', 5873 options:countries_and_states.UK_STATES})%> 5874 </div> 5875 <div class="field" data-bound_to="form|.country_binding_provinces" data-bound_to_value="!CA,!US,!AU,!GB"> 5876 <label class="w-auto">Province / State:</label> 5877 <input class="location-data-field input_box w75 pull-right" name="state" value="<%- location.attributes.address.state %>"> 5878 </div> 5879 <div class="field"> 5880 <label class="w-auto">Postal / Zip Code:</label> 5881 <input class="location-data-field input_box w75 pull-right" name="zip_code" value="<%- location.attributes.address.zip_code %>"> 5882 </div> 5883 <div class="field"> 5884 <label class="w-auto">Email Address:</label> 5885 <input class="location-data-field input_box w75 pull-right" name="email" value="<%- location.get('email') %>"> 5886 </div> 5887 <div class="field"> 5888 <label class="w-auto">Phone Number:</label> 5889 <input class="location-data-field input_box w75 pull-right" name="phone" value="<%- location.get('phone') %>"> 5890 </div> 5891 <div class="field"> 5892 <label class="w-auto">Fax Number:</label> 5893 <input class="location-data-field input_box w75 pull-right" name="fax" value="<%- location.get('fax') %>"> 5894 </div> 5895 <div class="field"> 5896 <label class="w-auto">Website:</label> 5897 <input class="location-data-field input_box w75 pull-right" name="website" value="<%- location.get('website') %>"> 5898 </div> 5899 </div> 5900 </form 5901 </div> 5902 <div class="location-member-edit pt1 pr3"> 5903 <div><strong>Edit employee data:</strong></div> 5904 <div class="table-responsive pt1"> 5905 <table class="table table-bordered"> 5906 <thead> 5907 <tr> 5908 <td>Employee Name</td> 5909 <td>Email</td> 5910 <td>Action</td> 5911 </tr> 5912 </thead> 5913 <tbody> 5914 <% 5915 var members = []; 5916 var non_members = []; 5917 _.each(company.get('members').models, function(employee) { 5918 _.each(location.get('members'), function(member) { 5919 if (employee.id === member.user_id) { 5920 members.push(employee); 5921 } 5922 }); 5923 if (members.indexOf(employee) === -1) { 5924 non_members.push(employee); 5925 } 5926 }); 5927 %> 5928 <% _.each(members, function(employee) { %> 5929 <tr> 5930 <td><a href="/onepage/profiles/<%- employee.get('id') %>" target=_blank><%- employee.get('name') %></a></td> 5931 <td><%- employee.get('email') %></td> 5932 <td><i class="fas fa-user-times red mr1"></i><a class="move-employee remove" name=<%- employee.id %>>Remove from this location</a></td> 5933 </tr> 5934 <% }); %> 5935 <% _.each(non_members, function(employee) { %> 5936 <tr> 5937 <td><a href="/onepage/profiles/<%- employee.get('id') %>" target=_blank><%- employee.get('name') %></a></td> 5938 <td><%- employee.get('email') %></td> 5939 <td><i class="fas fa-user-plus green mr1"></i><a class="move-employee add" name=<%- employee.id %>>Add to this location</a></td> 5940 </tr> 5941 <% }); %> 5942 </tbody> 5943 </table> 5944 </div> 5945 </div> 5946 <div> 5947 <button class="btn btn-danger delete-location" name="<%- location.id %>"><i class="icon-trash icon-white pr2"></i>Delete this location</button> 5948 </div> 5949 </div> 5950 </script>
5950 5951 5952 </div> 5953 5954 5955 5956 5957 <div class="member-admin-templates"> 5958 5959
5959<script type="text/template" class="reset-password"> 5960 <div class="form-group"> 5961 <label>New Password</label> 5962 <input type="text" name="password" placeholder="New Password or Blank for Random" value="" 5963 data-name="password" data-validations="password_reset" class="form-control" style="width:50% !important;"> 5964 <div class="help-block"> 5965 Passwords must be at least <%=SS.app.current_network.password_minimum_length%> characters long (or you can leave the field blank and let SilkStart generate a random password. 5966 </div> 5967 </div> 5968 5969 The following email will be sent: 5970 <div class="dialog_message_preview"> 5971 <!--<h4>Your password has been reset</h4>--> 5972 Dear <%=c.user_name%> 5973 <br><br> 5974 Your password has been reset. 5975 <br><br> 5976 Your new password is: NEWPASSWORD 5977 <br><br> 5978 Go to <%=SS.app.current_network.base_url%> to log in with your email <%=c.email %>. 5979 <br><br> 5980 Thank you, 5981 <br> 5982 <%=SS.app.current_network.name%> Team 5983 </div> 5984 5985 </script>
5985 5986 5987
5987<script type="text/template" class="manage-chapter"> 5988 <% if (! c.network_map) { %> 5989 <div style="text-align:center"> 5990 <i class="fas fa-spinner fa-pulse fa-4x"></i> 5991 </div> 5992 <% } else { %> 5993 <table class="table table-bordered"> 5994 <thead> 5995 <tr> 5996 <th>Chapter Name</th> 5997 <th>Status</th> 5998 <th>Membership Plan</th> 5999 <th>Home Chapter</th> 6000 <th>Remove</th> 6001 </tr> 6002 </thead> 6003 <tbody> 6004 <% _.each(_.sortBy(c.network_permaids, function(network_permaid) {return c.network_map[network_permaid]['is_apex'] ? 0 : 1;}), function(network_permaid) { %> 6005 <% var network = c.network_map[network_permaid] %> 6006 <tr> 6007 <td><%= network['network_name'] %></td> 6008 <td><%= network['status'] %></td> 6009 <td><%= network['membership_name'] %></td> 6010 <td style="text-align:center"> 6011 <% if(!network['is_apex'] && _.some(ss_context.user_networks, function(user_network) {return user_network.permaid === network['network_permaid']})) { %> 6012 <% if(network['network_permaid'] === c.home_chapter) { %> 6013 <a class="current-home-chapter"><i data-permaid=<%= network['network_permaid'] %> class="fas fa-lg fa-check-circle" aria-hidden="true"></i></a> 6014 <% } else { %> 6015 <a class="make-home-chapter"><i data-permaid=<%= network['network_permaid'] %> class="far fa-lg fa-circle" aria-hidden="true"></i></a> 6016 <% } %> 6017 <% } else { %> 6018 <i class="fas fa-lg fa-lock" aria-hidden="true"></i> 6019 <% } %> 6020 </td> 6021 <td style="text-align:center"> 6022 <% if(!network['is_apex'] && _.some(ss_context.user_networks, function(user_network) {return user_network.permaid === network['network_permaid']})) { %> 6023 <a class="remove-network" data-permaid=<%= network['network_permaid'] %>><i class="fas fa-lg fa-times red" aria-hidden="true"></i></a> 6024 <% } else { %> 6025 <i class="fas fa-lg fa-lock" aria-hidden="true"></i> 6026 <% } %> 6027 </td> 6028 </tr> 6029 <% }) %> 6030 </tbody> 6031 </table> 6032 <% if(ss_context.network_features.active_on_only_one_chapter && c.network_permaids.length > 2) { %> 6033 <div class="alert alert-danger"> 6034 This person now belongs to more than one chapter. Are you sure you want to make this change? 6035 </div> 6036 <% } %> 6037 Add Chapter: 6038 <select name="select_use_chapter" multiple="multiple" class="select-user-chapter multi-select-target" 6039 data-placeholder="Select chapter"> 6040 <% _.each(ss_context.user_networks, function(network) { %> 6041 <% if(!_.contains(c.network_permaids, network.permaid)) { %> 6042 <option value="<%= network.permaid %>"><%= network.name %></option> 6043 <% } %> 6044 <% }); %> 6045 </select> 6046 6047 You can update the chapters that a user is a part of from this dialog. If you try to remove a user from a 6048 chapter, you must first make sure that they do not have any chapter specific plans, or else they will 6049 not be able to be removed from that chapter. 6050 <% } %> 6051 </script>
6051 6052 6053
6053<script type="text/template" class="send-password-reset"> 6054 The following email will be sent: 6055 <div class="dialog_message_preview"> 6056 Dear <%=c.user_name%>, 6057 <br /><br /> 6058 You have requested a password reset for <%=c.email %>. 6059 <br /><br /> 6060 Please use the following link to reset your password: 6061 [password reset link] 6062 <br /><br /> 6063 Thank you, 6064 <br /> 6065 <%=SS.app.current_network.name%> Team 6066 </div> 6067 6068 </script>
6068 6069 6070
6070<script type="text/template" class="add-note"> 6071 <% 6072 var note = c.note; 6073 6074 if ( note ){ 6075 note = ss.fn.escape_newlines( note ); 6076 %> 6077 <div class="field" style="max-height:200px;overflow-y:auto"> 6078 <div class="indented-block field_displayed_data"> 6079 <%= note %> 6080 </div> 6081 </div> 6082 <% 6083 } 6084 %> 6085 <%= ss.text_area_row({label:'Internal Note', 6086 name:'note', 6087 validations:'required'}) %> 6088 </script>
6088 6089 6090
6090<script type="text/template" class="send-welcome"> 6091 <form class="dialog-scroll-container"> 6092 <%= ss.text_row( {label:'Subject', 6093 name:'bulk_network_invite_subject', 6094 validations:'required', 6095 value:c.subject_template } ) %> 6096 <div class="field row"> 6097 <label class="col-sm-3" style="width:25%">Send a Custom Message:</label> 6098 <div class="col-sm-9"> 6099 <div class="help-block"> 6100 Customize your invitation. You can use the replacement variables as you see fit, but be sure to include {invite_url} as the destination for one of your links! 6101 </div> 6102 <table class="table table-bordered"> 6103 <thead> 6104 <tr><th><strong>Replacement Text</strong></th><th><strong>Value</strong></th></tr> 6105 </thead> 6106 <tbody> 6107 <tr><td>{user_first_name}</td><td>The user's first name</td></tr> 6108 <tr><td>{invite_url}</td><td>A signup URL for your site</td></tr> 6109 <tr><td>{network_name}</td><td>Your organization's name</td></tr> 6110 </tbody> 6111 6112 </table> 6113 <% if (c.body_template) { %> 6114 <div class="inline_field_block field_displayed_data"> 6115 <div class="bulk_network_invite_personalization ckeditor_input" name="bulk_network_invite_personalization" style="display:none"> 6116 <%= c.body_template %> 6117 </div> 6118 </div> 6119 <% } %> 6120 </div> 6121 </div> 6122 6123 <input type="hidden" value="${invite_type}" name="invite_type"> 6124 <input type="hidden" value="" name="continue_failed_job"
6124class="continue_failed_job"> 6125 6126 <% 6127 var redirect_url = SS.app.current_network.base_url; 6128 if ( ! _.string.endsWith( redirect_url, '/' ) ){ 6129 redirect_url += '/'; 6130 } 6131 redirect_url += 'setup'; 6132 %> 6133 6134 <%= ss.text_row({label:'Redirect Url', 6135 name:'redirect_url', 6136 validations:'required url', 6137 value: redirect_url }) %> 6138 6139 <div class="field"> 6140 <label></label> 6141 <div class="inline_field_block field_displayed_data"> 6142 We recommend you use the default address for this email, 6143 <br> 6144 but if you need to redirect users to a different page instead, 6145 <br> 6146 you can set that URL here. 6147 </div> 6148 </div> 6149 <!-- 6150 <hr> 6151 <div class="field"> 6152 <label>Send to:</label> 6153 <div class="number_of_people" data-number="${number_of_invite}" data-number_nologin="${number_no_last_login}">${number_no_last_login} people</div> 6154 </div> 6155 <div class="field"> 6156 <label>Include people who have already logged in:</label> 6157 <input type="checkbox" name="include_has_last_login" class="bulk_network_invite_display_number" value=1> 6158 </div> 6159 --> 6160 </form> 6161 </script>
6161 6162 6163
6163<script type="text/template" class="change-plan"> 6164 <form> 6165 <% 6166 var options = [{label:'No Plan', value:''} ]; 6167 c.plans.each( function(plan){ 6168 options.push( {label: plan.get('name'),value:plan.id} ); 6169 }); 6170 6171 print(ss.select_row({label:'Membership Plan', 6172 name:'membership_plan', 6173 options:options, 6174 value:c.model.get_plan_id()})); 6175 6176 print(ss.text_row({label:'Expiry Date', 6177 name:'expiry_date', 6178 css_class:'date-picker-field form-control undo-field', 6179 value:ss.fn.format_date(c.model.get_expiry_date()), 6180 validations: 'date', 6181 placeholder:'Latest possible expiry date'})); 6182 6183 %> 6184 <div class="field"> 6185 <label>Lifetime plan?</label> 6186 <input data-name="lifetime" class="lifetime-checkbox" name="lifetime" type="checkbox" /> 6187 </div> 6188 <div class="field"> 6189 <label>Notify user by email?</label> 6190 <input data-name="notify_user_membership_change" class="notify-user-membership-change-checkbox" name="notify_user_membership_change" type="checkbox" /> 6191 </div> 6192 <div class="field description"> 6193 Please note that changing the plan or expiry date will not bill this member. Changing a member's expiry date and/or membership plan is not simply an edit to their current plan. Making a change will stop the current membership and start a new one on the date you make the change. Please consider this before making a change. 6194 </div> 6195 <% if (c.model.get('has_recurring_billing_membership')) { %> 6196 <div class="panel panel-danger"> 6197 <div class="panel-heading"> 6198 <%- c.model.get('name') %> has set up automatic billing on their account. 6199 This action will end their automatic billing cycle and stop them from being billed automatically for membership on <%- c.model.get_expiry_date() %>. 6200 </div> 6201 </div> 6202 <% } %> 6203 </form> 6204 </script>
6204 6205 6206
6206<script type="text/template" class="offer-plan"> 6207 <div class="alert"> 6208 <b>Note</b>: When offering a plan, an offer email is <u>not</u> automatically sent by SilkStart to the member 6209 </div> 6210 <form> 6211 <% 6212 var options = [{label:'Choose a Plan to Offer', value:''} ]; 6213 6214 var company_summary = c.model.get('company_summary'); 6215 var user_summary = c.model.get('user_summary'); 6216 6217 var offered_plan = c.offered_plan; 6218 6219 xxx_offered_plan = offered_plan; 6220 6221 var summary = company_summary || user_summary; 6222 6223 offered_plan_id = offered_plan && offered_plan.get('id'); 6224 var offered_plan_price = ''; 6225 if (offered_plan ){ 6226 offered_plan_price = offered_plan.get_price().cost_in_dollars(); 6227 } 6228 6229 c.plans.each( function( plan ){ 6230 options.push( {label: plan.get('name'),value:plan.id} ); 6231 }); 6232 6233 print(ss.select_row({ 6234 label:'Membership Plan', 6235 name:'membership_plan_id', 6236 options:options, 6237 value:offered_plan_id 6238 })); 6239 6240 print(ss.currency_row({ 6241 label:'Membership Fee', 6242 name:'membership_fee', 6243 value:offered_plan_price, 6244 placeholder:'' 6245 })); 6246 6247 print(ss.text_row({ 6248 label:'Offer Details', 6249 name:'offer_details', 6250 css_class:'display-inline-block', 6251 popover:{ 6252 content:"Give a short explanation to provide more context to the user about why they have " + 6253 "been offered the discounted plan." 6254 } 6255 })); 6256 6257 %> 6258 </form> 6259 </script>
6259 6260 6261
6261<script type="text/template" class="cancel-offer"> 6262 <div class="alert alert-warning"> 6263 <% if ( c.model.get('company_summary') ) { %> 6264 Deleting this offer won't change any existing plans this company has signed up for and will allow the company to sign up for any standard plans that match their company type. 6265 <% } else { %> 6266 Deleting this offer won't change any existing plans this individual has signed up for and will allow the individual to sign up for any standard plans. 6267 <% } %> 6268 </div> 6269 </script>
6269 6270 6271
6271<script type="text/template" class="change-signup-date"> 6272 <form> 6273 <div> 6274 <label>Date</label> 6275 <input class="date_input form-control date required" name="date" 6276 value="<%- ss.fn.format_date(c.model.get('signup_date')) %>" type="text" /> 6277 </div> 6278 </form> 6279 </script>
6279 6280 6281
6281<script type="text/template" class="membership-section"> 6282 <% 6283 var member_number = c.model.get('member_number'); 6284 6285 var org_summary = c.model.get('company_summary'); 6286 var user_summary = c.model.get('user_summary'); 6287 6288 var summary = org_summary || user_summary; 6289 6290 var plan_name = summary.plan_name; 6291 var expiry = summary.membership_expiry_date; 6292 6293 if (!expiry && summary.mixed_expiry_date == ss.config.CONSTANTS.LIFETIME) { 6294 expiry = ss.config.CONSTANTS.LIFETIME 6295 } 6296 6297 var state = summary.state; 6298 6299 var latest_plan = summary.latest_plan; 6300 6301 var is_company_plan = summary.on_company_plan; 6302 6303 var can_edit = SS.app.current_user.network_admin; 6304 safe_log('membership section'); 6305 %> 6306 <div> 6307 <div class="field"> 6308 <label>Signup Date:</label> 6309 <div class="field_displayed_data"> 6310 <% if ( c.model.get('company_summary') ) { %>
6311 <%= ss.fn.format_date( c.model.get('signup_date') ) %> 6312 <% if (c.model.get('can_modify_membership')) {%> 6313 <a href="#" class="change-signup-date">(Change)</a> 6314 <% } %> 6315 <% } else { %> 6316 <%= ss.fn.format_date( c.model.get('created') ) %> 6317 <% } %> 6318 </div> 6319 </div> 6320 6321 <% if ( member_number ){ 6322 print( ss.display_row({label:'Member Number', value:member_number})); 6323 } %> 6324 6325 <div class="field"> 6326 <label>Current Membership Plan:</label> 6327 <div class="field_displayed_data"> 6328 <%= plan_name || 'No Plan' %> 6329 <% if (c.model.get('can_modify_membership')) {%> 6330 <a href="#" class="change-plan">(Change Plan)</a> 6331 <% } %> 6332 <%=
6332ss.fn.popover({title:'Current Membership Plan', 6333 content:"If this user has a current active membership, the plan name will display here. " + "<br/><br/>" + 6334 "<strong>Caution</strong> - Changing a member\'s expiry date and/or membership plan is not simply an edit to their current plan. " + 6335 "Making a change will stop the current membership and start a new one on the date you make the change. " + 6336 "Please consider this before making a change."}) %> 6337 </div> 6338 </div> 6339 <div class="field"> 6340 <label>Expiry Date:</label> 6341 <div class="field_displayed_data"> 6342 <% if (expiry === ss.config.CONSTANTS.LIFETIME) { %> 6343 <%= expiry %> 6344 <% } else { %> 6345 <%= ss.fn.format_date( expiry ) %> 6346 <% } %> 6347 </div> 6348 </div> 6349 <div class="field"> 6350 <label>Membership Status:</label> 6351 <div class="field_displayed_data">
6352 <%= state %> 6353 6354 <% 6355 if ( state !== 'Active' ){ 6356 if ( latest_plan ){ 6357 print( ' - ' + latest_plan ); 6358 } 6359 } 6360 6361 6362 if ( !can_edit || !c.model.get('can_modify_membership') ){ 6363 } else if ( is_company_plan && user_summary ){ 6364 // If a user has an active plan don't let it be modified 6365 } else if ( state === 'Active' ){ 6366 print(' <a class="cancel-membership">(Cancel Membership)</a>'); 6367 } else { 6368 if ( state === 'Cancelled' ){ 6369 var cancellation = c.model.get('cancellation'); 6370 if (cancellation.reason) { 6371 print(' [Reason: ' + cancellation.reason + ']'); 6372 } 6373 print(' <a href="#" class="uncancel">(Remove Cancellation) </a>'); 6374 6375 } else { 6376 print(' <a href="#" class="cancel-membership">(Cancel) </a>'); 6377 } 6378 } 6379 var content = ''; 6380 content += "<p><strong>Active</strong> - Members are active if they have a membership plan that they've either been "; 6381 content += 'granted or for which they or their company have paid.'; 6382 content += '<p><strong>Contact</strong> - Members who have never had a membership plan are considered contacts '; 6383 content += '<p><strong>Expired</strong> - Members who have had a membership plan in the past but have had '; 6384 content += 'their membership lapse are considered expired. These members '; 6385 content += 'may still be sent renewal notices and may have renewal invoices '; 6386 content += 'generated '; 6387 content += "<p><strong>Cancelled</strong> - Cancelled members don't receive renewal reminders or invoices."; 6388 print(ss.fn.popover({title:'Membership Status', content:content})); 6389 %> 6390 6391 </div> 6392 </div> 6393 6394 6395 <hr> 6396 6397 <% 6398 var offered_plan_id = summary.offered_plan_id; 6399 var offered_plan_name = summary.offered_plan_name; 6400 var offered_plan_price = summary.offered_plan_price_description; 6401 %> 6402 6403 <div class="field"> 6404 <label>Membership Plan Offer:</label> 6405 <div class="field_displayed_data"> 6406 <% if ( offered_plan_id ) { %> 6407 <%= offered_plan_name %> 6408 @ 6409 <%= offered_plan_price %> 6410 <% } else { %> 6411 No offer 6412 <% } %>
6413 <%= ss.fn.popover({title:'Offered Plan', 6414 content:'By giving a member or prospective member an offer you can give them a special deal, making it easier for them to sign up and restricting their choice of plans.'}) %> 6415 6416 </div> 6417 </div> 6418 <div class="indented-block"> 6419 <% if ( can_edit ) { %> 6420 <% if ( offered_plan_id ) { %> 6421 <button type="button" class="offer-plan">Change Offer</button> 6422 <button type="button" class="danger cancel-offer">Cancel Offer</button> 6423 <% } else { %> 6424 <button type="button" class="offer-plan">Make an Offer</button> 6425 <% } %> 6426 <% } %> 6427 </div> 6428 6429 </div> 6430 </script>
6430 6431 6432 6433 </div> 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 <div class="custom-page-templates"> 6444
6444<script type="text/template" class="configure-section-popup"> 6445 <form> 6446 Configure This! 6447 <%= ss.text_row( {label:'Background Color', 6448 name:'background_color', 6449 value:c.model.background_color } ) %> 6450 </form> 6451 6452 </script>
6452 6453 </div> 6454 6455
6455<script type="text/template" id="custom_webpage_container_view"> 6456 <%if(display=='can_edit'){%> 6457 <%if(menu_at_bottom){%> 6458 <div class="container_add_pane menu_area"> 6459 <% 6460 var section_names = { 6461 "heading":"a Heading ", 6462 "richtext":"Text", 6463 "widget":"a Widget", 6464 "image":"a Photo", 6465 "subcontainer":"a Section", 6466 "html":"an HTML Area", 6467 "html_slider":"an HTML Slider" 6468 }; 6469 var items_text = "+ Add "; 6470 var section; 6471 var prefix; 6472 var suffix; 6473 if(allowable_section_types.length==1){ 6474 items_text += section_names[allowable_section_types[0]]; 6475 } else if(allowable_section_types.length==2){ 6476 items_text += section_names[allowable_section_types[0]] + " or " + section_names[allowable_section_types[1]]; 6477 } else { 6478 for(var i in allowable_section_types){ 6479 section = allowable_section_types[i]; 6480 prefix = i==allowable_section_types.length-1 ? "or " : ""; 6481 suffix = i==allowable_section_types.length-1 ? "" : ", "; 6482 items_text += (prefix + section_names[section] + suffix); 6483 } 6484 } 6485 %> 6486 <span class="add_items_text"><%=items_text%></span> 6487 </div> 6488 <%}%>
6489 <div class="container_controls_container"> 6490 <div class="container_controls"> 6491 <div class="ss_icon_menu"> 6492 <ul> 6493 <%if(allow_style_change){%> 6494 <li> 6495 <a href="#" class="change_style"> 6496 <i class="icon-edit"></i> 6497 <span>Change Style</span> 6498 </a> 6499 </li> 6500 <%}%> 6501 <%if(allow_configuration){%> 6502 <li> 6503 <a href="#" class="configure"> 6504 <i class="icon-edit"></i> 6505 <span>Configure</span> 6506 </a> 6507 </li> 6508 <%}%> 6509 <% 6510 var types = { 6511 heading:{image:'/res/img/v2/icons/text_heading_2.png', 6512 label:'Add a Heading'}, 6513 richtext:{image:'/res/img/v2/icons/text_smallcaps.png', 6514 label:'Add Text'}, 6515 widget:{image:'/res/img/v2/icons/wrench.png', 6516 label:'Add a Widget'}, 6517 image:{image:'/res/img/v2/icons/image.png', 6518 label:'Add an Image'}, 6519 subcontainer:{image:'/res/img/v2/icons/application.png', 6520 label:'Add a Section'}, 6521 html:{image:'/res/img/v2/icons/html.png', 6522 label:'Add HTML (Advanced)'}, 6523 html_slider:{image:'/res/img/v2/icons/html_slider.png', 6524 label:'Add HTML Slider (Advanced)'}, 6525 section1:{image:'/res/img/v2/icons/application.png', 6526 label:'Add Full Width Section'}, 6527 section2:{image:'/res/img/v2/icons/application.png', 6528 label:'Add a Split Section'}, 6529 section3:{image:'/res/img/v2/icons/application.png', 6530 label:'Add a Triple Section'}, 6531 section4:{image:'/res/img/v2/icons/application.png', 6532 label:'Add a Quad Section'}, 6533 }; 6534 6535 var allowable_types = [].concat( allowable_section_types ); 6536 if ( _.contains( allowable_types, 'section' ) ){ 6537 allowable_types = allowable_types.concat( ['section1','section2','section3','section4'] ); 6538 } 6539 xxx_allowable_types = allowable_types; 6540 6541 _.each( allowable_types, function( type_key ) { 6542 var type = types[type_key]; 6543 if ( type ){ 6544 %> 6545 <li> 6546 <a href="#" class="add-child" data-child_type="<%= type_key %>"> 6547 <img src="<%= type.image%>"> 6548 <span><%= type.label%></span> 6549 </a> 6550 <% 6551 } else { 6552 //<li>Bad Type Key <= type_key > 6553 %> 6554 <% 6555 } 6556 }); 6557 %> 6558 </ul> 6559 </div> 6560 </div> 6561 </div> 6562 <%if(menu_at_bottom){%> 6563 <div class="container"> 6564 <div class="bottom_menu menu_area">
6565 <span>Add a Section</span> 6566 </div> 6567 </div> 6568 <%}%> 6569 <%}%> 6570 </script>
6570 6571 6572
6572<script type="text/template" id="custom_webpage_section_view"> 6573 <%if(display=='can_edit' || (display=='editing' && content.type=='subcontainer')){%> 6574 <div class="remove_container remove_container_<%=cid%>"> 6575 <div class="controls"> 6576 <%if(controls.menu){%> 6577 <div class="dropdown"> 6578 <a class="dropdown-toggle" type="button" data-hover="dropdown" id="controlMenu" data-toggle="dropdown" aria-expanded="true"> 6579 <i class="fas fa-bars"></i> 6580 </a> 6581 <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="controlMenu"> 6582 <li role="presentation"> 6583 <a href="#" role="menuitem" tabindex="-1" title="" class="menu raised_control"> 6584 <i class="fas fa-cog"></i> Options 6585 </a> 6586 </li>
6587 <%if(controls.move_up){%> 6588 <li role="presentation"> 6589 <a role="menuitem" tabindex="-1" href="#" title="Move Up" class="move_up not_multiple_hide raised_control"> 6590 <i class="fas fa-arrow-up"></i> Move Up 6591 </a> 6592 </li> 6593 <%}%> 6594 <%if(controls.move_down){%> 6595 <li role="presentation"> 6596 <a role="menuitem" tabindex="-1" href="#" title="Move Down" class="move_down not_multiple_hide raised_control"> 6597 <i class="fas fa-arrow-down"></i> Move Down 6598 </a> 6599 </li> 6600 <%}%> 6601 <%if(controls.remove){%> 6602 <li role="presentation"> 6603 <a role="menuitem" tabindex="-1" href="#" title="Remove" class="remove raised_control"> 6604 <i class="far fa-trash-can"></i> Delete 6605 </a> 6606 </li> 6607 <%}%> 6608 </ul> 6609 </div> 6610 <%}else{%> 6611 <!-- Cloning is disabled for now until it's fixed. -->
6612 <%if(controls.clone && false){%> 6613 <a href="#" title="Clone" class="clone raised_control"> 6614 <img src="/res/img/v2/icons/clone.png"> 6615 </a> 6616 <%}%> 6617 <%if(controls.move_up){%> 6618 <a href="#" title="Move Up" class="move_up not_multiple_hide raised_control"> 6619 <i class="fas fa-arrow-up"></i> 6620 </a> 6621 <%}%> 6622 <%if(controls.move_down){%> 6623 <a href="#" title="Move Down" class="move_down not_multiple_hide raised_control"> 6624 <i class="fas fa-arrow-down"></i> 6625 </a> 6626 <%}%> 6627 <%if(controls.remove){%> 6628 <a href="#" title="Remove" class="remove raised_control"> 6629 <i class="far fa-trash-can"></i> 6630 </a> 6631 <%}%> 6632 <%}%> 6633 </div> 6634 </div> 6635 <%}%> 6636 </script>
6636 6637 6638
6638<script type="text/template" id="custom_webpage_section_heading_view" types="heading"> 6639 <% 6640 var heading_tag = content.heading_type || 'h3'; 6641 %> 6642 <%if(display=='viewing' || display=='can_edit'){%> 6643 <%if(display=='viewing' || content.text){%> 6644 <<%=heading_tag%>><%-content.text%></<%=heading_tag%>> 6645 <%}else{%> 6646 <span class="content_placeholder">Heading</span> 6647 <%}%> 6648 <%}else if(display=='editing'){%> 6649 <input placeholder="Heading" value="<%-content.text%>"> 6650 <%}%> 6651 </script>
6651 6652 6653
6653<script type="text/template" id="custom_webpage_section_richtext_view" types="richtext"> 6654 <%if(false){%> 6655 <%if(display=='viewing' || content.text){%> 6656 <%}else{%> 6657 <span class="content_placeholder">Richtext</span> 6658 <%}%> 6659 <%}%> 6660 <div class="html_content"><%=content.text%></div> 6661 </script>
6661 6662 6663
6663<script type="text/template" id="custom_webpage_section_widget_view" types="widget"> 6664 <%if(display=='viewing' || content.html){%> 6665 <%=content.html%> 6666 <%}else{%> 6667 <span class="content_placeholder">Widget</span> 6668 <%}%> 6669 </script>
6669 6670 6671
6671<script type="text/template" id="custom_webpage_section_widget_dialog"> 6672 <div class="row"> 6673 <div class="col-xs-12 col-sm-6"> 6674 <h4>Widgets <%= ss.fn.popover({ content: "Widgets are a block of content that pull in information from " + 6675 "other parts of your network. You can also create custom widgets. " + 6676 "To edit widgets or create your own, go to the Admin Panel > Site" + 6677 " > Configure SilkStart Widgets/Custom Widgets"}) %></h4> 6678 <div> 6679 <input id="event_listing_selector" type="radio" name="widget_selector" value="event_cpage_list"> 6680 <label for="event_listing_selector">Event List</label> 6681 </div> 6682 <div> 6683 <input id="sponsors_selector" type="radio" name="widget_selector" value="full_width_sponsors"> 6684 <label for="sponsors_selector">Full Width Sponsors</label> 6685 </div> 6686 <div> 6687 <input id="full_width_sponsors_selector" type="radio" name="widget_selector" value="sponsors"> 6688 <label for="full_width_sponsors">Sponsors</label> 6689 </div> 6690 <div> 6691 <input id="subscribe_form_selector" type="radio" name="widget_selector" value="subscribe_form"> 6692 <label for="subscribe_form_selector">Subscribe Form</label> 6693 </div> 6694 <div> 6695 <input id="recent_jobs_selector" type="radio" name="widget_selector" value="recent_jobs"> 6696 <label for="recent_jobs_selector">Recent Jobs</label> 6697 </div> 6698 <div> 6699 <input id="directory_search_selector" type="radio" name="widget_selector" value="directory_search"> 6700 <label for="directory_search_selector">Directory Search</label> 6701 </div> 6702 <div> 6703 <input id="join_now_cta_selector" type="radio" name="widget_selector" value="join_now_cta"> 6704 <label for="join_now_cta_selector">Join Now Call to Action</label> 6705 </div> 6706 <div> 6707 <input id="email_contact_form_selector" type="radio" name="widget_selector" value="email_contact_form"> 6708 <label for="email_contact_form_selector">Email Contact Form</label> 6709 </div> 6710 <div> 6711 <input id="donate_cta_selector" type="radio" name="widget_selector" value="donate_cta"> 6712 <label for="donate_cta_selector">Donation Call to Action</label> 6713 </div> 6714 <div> 6715 <input id="blog_posts_selector" type="radio" name="widget_selector" value="blog_posts"> 6716 <label for="blog_posts_selector">Blog Post List</label> 6717 </div> 6718 <% ss.data.widgets.each( function( widget ){ %> 6719 <div> 6720 <input id="<%=widget.id%>_selector" type="radio" name="widget_selector" value="widget_<%=widget.id%>"> 6721 <label for="<%=widget.id%>_selector"><%=widget.get('name')%></label> 6722 </div> 6723 <% }); %> 6724 <h4>Slideshows</h4> 6725 <% ss.data.slideshows.each( function( slideshow ){ %> 6726 <div> 6727 <input id="<%=slideshow.id%>_selector" type="radio" name="widget_selector" value="slideshow_<%=slideshow.id%>"> 6728 <label for="<%=slideshow.id%>_selector"><%=slideshow.get('name')%></label> 6729 </div> 6730 <% }); %> 6731 </div> 6732 <div class="col-xs-12 col-sm-6"> 6733 <h4>Articles</h4> 6734 <div> 6735 <input id="article_slider_selector" type="radio" name="widget_selector" value="article_slider"> 6736 <label for="article_slider_selector">All Article(s) Slider</label> 6737 </div> 6738 <div> 6739 <input id="article_list_selector" type="radio" name="widget_selector" value="article_list"> 6740 <label for="article_list_selector">All Article(s) List</label> 6741 </div> 6742 <% $.each(ss.data.article_categories, function(index, article_category){ %> 6743 <div> 6744 <input id="<%- article_category.permaid %>_selector" type="radio" name="widget_selector" value="article_list_<%=article_category.permaid%>
6744"> 6745 <label for="<%=article_category.permaid%>_selector"><%=article_category.name%></label> 6746 </div> 6747 <% }); %> 6748 </div> 6749 </div> 6750 </script>
6750 6751 6752
6752<script type="text/template" id="custom_webpage_section_image_view" types="image"> 6753 <%if(display=='viewing' || content.url){%> 6754 <%if(content.alignment=='left' || content.alignment=='right'){%> 6755 <%if(content.is_link){%> 6756 <a class="image_link" href="<%- content.link_url %>" <%=content.open_in_new_window ? 'target="_blank"' : ''%>> 6757 <img style="float: <%=content.alignment%>;" src="<%=content.url%>" class="img-responsive"> 6758 </a> 6759 <%}else{%> 6760 <img style="float: <%=content.alignment%>;" src="<%=content.url%>" class="img-responsive"> 6761 <%}%> 6762 <%}else{%> 6763 <div style="text-align: center"> 6764 <%if(content.is_link){%> 6765 <a class="image_link" href="<%- content.link_url %>" <%=content.open_in_new_window ? 'target="_blank"' : ''%>> 6766 <img style="display: inline-block;" src="<%=content.url%>" class="img-responsive"> 6767 </a> 6768 <%}else{%> 6769 <img style="display: inline-block;" src="<%=content.url%>" class="img-responsive"> 6770 <%}%> 6771 </div> 6772 <%}%> 6773 <%}else{%> 6774 <span class="content_placeholder">Image</span> 6775 <%}%> 6776 </script>
6776 6777 6778
6778<script type="text/template" id="custom_webpage_section_image_dialog"> 6779 <div class="image_section_dialog"> 6780 <div class="row"> 6781 <div class="document_panel col-sm-9"></div> 6782 <div class="style_selections col-sm-3"> 6783 <div> 6784 <input id="wrap_text_selector" type="checkbox" name="wrap_text_checkbox" <%=!content.own_line ? 'checked="checked"' : ''%>> 6785 <label for="wrap_text_selector">Wrap Text</label> 6786 </div> 6787 <div> 6788 <input id="left_selector" type="radio" name="alignment_selector" value="left" <%=content.alignment=='left' ? 'checked="checked"' : ''%>> 6789 <label for="left_selector">Align Left</label> 6790 </div> 6791 <div> 6792 <input id="center_selector" type="radio" name="alignment_selector" value="center" <%=content.alignment=='center' ? 'checked="checked"' : ''%>> 6793 <label for="center_selector">Align Center</label> 6794 </div> 6795 <div> 6796 <input id="right_selector" type="radio" name="alignment_selector" value="right" <%=content.alignment=='right' ? 'checked="checked"' : ''%>> 6797 <label for="right_selector">Align Right</label> 6798 </div> 6799 <div> 6800 <input id="full_selector" type="radio" name="alignment_selector" value="full" <%=content.alignment=='full' ? 'checked="checked"' : ''%>> 6801 <label for="full_selector">Align Full</label> 6802 </div> 6803 6804 <hr> 6805 <div> 6806 <input id="is_link_selector" type="checkbox" name="is_link_checkbox" <%=content.is_link ? 'checked="checked"' : ''%>> 6807 <label for="is_link_selector">Image is Link</label> 6808 </div> 6809 </div> 6810 </div> 6811 <div class="link_options_js panel panel-default link_options <%=content.is_link ? '' : 'hidden'%>"> 6812 <div class="panel-heading"><h3 class="blocky-panel-header">Link Options</h3></div> 6813 <div class="panel-body form-horizontal"> 6814 <div class="form-group"> 6815 <label class="control-label col-sm-4 next_to_input" for="link_url">Image Link (full URL):</label> 6816 <div class="col-sm-8"> 6817 <input id="link_url" class="url form-control" name="link_url" value="<%- content.link_url %>"> 6818 </div> 6819 </div> 6820 <div class="form-group"> 6821 <div class="col-sm-offset-4"> 6822 <div class="checkbox"> 6823 <label for="open_in_new_window"><input id="open_in_new_window" type="checkbox" name="open_in_new_window" value="open_in_new_window" <%=content.open_in_new_window ? 'checked="checked"' : ''%>> Open link in new window?</label> 6824 </div> 6825 </div> 6826 </div> 6827 </div> 6828 </div> 6829 </div> 6830 </script>
6830 6831 6832
6832<script type="text/template" id="custom_webpage_section_html_view"> 6833 <%if(display=='viewing' || content.html){%> 6834 <div class="html_container"></div> 6835 <%}else{%> 6836 <span class="content_placeholder">HTML (Advanced)</span> 6837 <%}%> 6838 <%if(display=='editing'){%> 6839 <textarea><%=content.html%></textarea> 6840 <%}%> 6841 </script>
6841 6842 6843
6843<script type="text/template" id="custom_webpage_section_html_slider_view" types="html_slider"> 6844 <%if(display=='viewing' || (content.html_tabs.length && content.html_tabs[0])){%> 6845 <div class="html-slider flexslider"> 6846 <ul class="slides"> 6847 <%for(var i=0; i<content.html_tabs.length; i++){%> 6848 <li> 6849 <div class="content_container"> 6850 <%if(i==0){%> 6851 <div class="tab_content content_<%-i%> shown"></div> 6852 <%}else{%> 6853 <div class="tab_content content_<%-i%> not_shown"></div> 6854 <%}%> 6855 </div> 6856 </li> 6857 <%}%> 6858 </ul> 6859 </div> 6860 6861 <%}else{%> 6862 <span class="content_placeholder">HTML Slider (Advanced)</span> 6863 <%}%> 6864 <%if(display=='editing'){%> 6865 <a class="preview_close"><i class="fas fa-times"></i></a> 6866 <div class="content_container"> 6867 <div class="tab_content content_preview not_shown"></div> 6868 </div> 6869 <div class="html_slider_editing_container bootstrap_nav"> 6870 <ul class="nav nav-tabs"> 6871 <%for(var i=0; i<content.html_tabs.length; i++){ 6872 var html_tab = content.html_tabs[i]; 6873 var active_class = i==0 ? "active":""; 6874 %> 6875 <li class="<%=active_class%> tab"><a href="#">Content <%=i+1%></a></li> 6876 <%}%> 6877 </ul> 6878 <textarea><%=content.html_tabs.length ? content.html_tabs[0] : ''%></textarea> 6879 <div class="other_controls"> 6880 <a class="button preview">Preview</a> 6881 <span> 6882 <label>Interval (ms):</label> 6883 <input class="interval" value="<%-content.interval || 4000%>"> 6884 </span> 6885 </div> 6886 </div> 6887 <%}%> 6888 </script>
6888 6889 6890
6890<script type="text/template" id="custom_webpage_section_subcontainer_view"> 6891 <div class="container"><div class="container_holder panel panel-default"></div></div> 6892 </script>
6892 6893 6894
6894<script type="text/template" id="custom_webpage_section_style_dialog"> 6895 <% 6896 var style = content.style || "subcontainer_style1"; 6897 %> 6898 <div id="cpage_section_style_dialog"> 6899 <div class="row"> 6900 <div class="inputs col-sm-3"> 6901 <div> 6902 <label> 6903 <input type="radio" name="style_selector" value="subcontainer_style1" <%=style=="subcontainer_style1" ? 'checked="checked"':''%>> 6904 <span>Style 1</span> 6905 </label> 6906 </div> 6907 <div> 6908 <label> 6909 <input type="radio" name="style_selector" value="subcontainer_style2" <%=style=="subcontainer_style2" ? 'checked="checked"':''%>> 6910 <span>Style 2</span> 6911 </label> 6912 </div> 6913 <div> 6914 <label> 6915 <input type="radio" name="style_selector" value="subcontainer_style3" <%=style=="subcontainer_style3" ? 'checked="checked"':''%>> 6916 <span>Style 3</span> 6917 </label> 6918 </div> 6919 <div> 6920 <label> 6921 <input type="radio" name="style_selector" value="subcontainer_style4" <%=style=="subcontainer_style4" ? 'checked="checked"':''%>> 6922 <span>Style 4</span> 6923 </label> 6924 </div> 6925 </div> 6926 <div class="example col-sm-9 custom_webpage <%=ss_context.page_class%>"> 6927 <div class="custom_webpage_section_view custom_webpage_section_subcontainer_view <%=style%>"> 6928 <div class="container_holder not_empty panel panel-default"> 6929 <div class="custom_webpage_section_view custom_webpage_section_heading_view subcontainer_style1 panel-heading"> 6930 <h3>Title</h3> 6931 </div> 6932 <div class="custom_webpage_section_view custom_webpage_section_richtext_view subcontainer_style1 panel-body"> 6933 <div class="html_content">Lorem ipsum dolor sit amet.</div> 6934 </div> 6935 </div> 6936 </div> 6937 </div> 6938 </div> 6939 </div> 6940 </script>
6940 6941 6942 6943 6944 6945
6945<script type="text/template" id="custom_webpage_view_additions"> 6946 <%if(draft){%> 6947 <div class="alert alert-warning alert-dismissible" role="alert"> 6948 <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> 6949 DRAFT 6950 </div> 6951 <%}%> 6952 <%if(display!='viewing'){%> 6953 <%if(draft){%> 6954 <div class="unchanged_publish"> 6955 <a class="btn btn-info publish_page" data-simple_publish="true">Publish</a> 6956 </div> 6957 <% } %> 6958 <div class="unsaved_container"> 6959 <a class="btn btn-primary unsaved_button">Save Changes</a> 6960 <a class="btn btn-info publish_page">Save and Publish</a> 6961 <a class="btn btn-primary loading_button submitting">Saving... <i class="fas fa-spinner fa-spin"></i></a> 6962 </div> 6963 <div class="cpages-options-menu"> 6964 <div class="left_fixed_control cpage_app_main_controls"> 6965 <a href="#" class="menu_area"> 6966 <img src="/res/img/v2/OptionButton.png"> 6967 </a> 6968 </div> 6969 <div class="custom_page_controls"> 6970 <div class="ss_icon_menu main_page_controls btn-group-vertical"> 6971 6972 <%if(draft){%> 6973 <a href="#" class="btn btn-default publish_page" data-simple_publish="true"> 6974 <i class="far fa-thumbs-up"></i> <span>Publish</span> 6975 </a> 6976 <%} else { %> 6977 <a href="#" class="btn btn-default unpublish_page"> 6978 <i class="far fa-thumbs-down"></i> <span>Unpublish Your Page</span> 6979 </a> 6980 <% } %> 6981 <a href="#" class="save_page btn btn-default"> 6982 <i class="fas fa-save"></i> <span>Save Your Page</span> 6983 </a> 6984 <a href="<%=versioned_url%>" target="_blank" class="btn btn-default preview_page"> 6985 <i class="fas fa-laptop"></i> <span>Preview This Page</span> 6986 </a> 6987 <a href="#" class="view_archive btn btn-default"> 6988 <i class="fas fa-archive"></i> <span>See Other Versions</span> 6989 </a> 6990 <a href="#" class="change_template btn btn-default"> 6991 <i class="fas fa-exchange"></i> <span>Switch Templates</span> 6992 </a> 6993 <a href="#" class="change_page_color btn btn-default"> 6994 <i class="fas fa-gear"></i> <span>Miscellaneous Page Options</span> 6995 </a> 6996 <a href="#" class="set_permissions btn btn-default"> 6997 <i class="fas fa-earth-americas"></i> <span>Set Your Page Visibility</span> 6998 </a> 6999 <a href="#" class="delete_page btn btn-default"> 7000 <i class="fas fa-times"></i> <span>Delete Your Page</span> 7001 </a> 7002 </div> 7003 </div> 7004 </div> 7005 <%}%> 7006 </script>
7006 7007 7008 7009 7010 7011 7012 <div class="sign_in_modal modal fade" id="sign_in_modal" tabindex="-1" role="dialog" aria-labelledby="signinModalLabel" aria-hidden="true"> 7013 <div class="modal-dialog"> 7014 <div class="modal-content"> 7015 <div class="modal-header"> 7016 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> 7017 <h4 class="modal-title" id="signinModalLabel" >Log In</h4> 7018 </div> 7019 <div class="modal-body"> 7020 7021 <div id="sign_in_div"> 7022 7023 <div class="sign_in_form"> 7024 <form method="post" id="login_form_dropdown" class="form-horizontal" action="/auth/login" role="form"> 7025 <input type='hidden' name='associate_with_social_network' value=''> 7026 <input type="hidden" name="after_login" value="/cpages/contact"> 7027 <div class="form-group"> 7028 <label for="member-username-input" class="col-sm-2 control-label">Email:</label> 7029 <div class="col-sm-10"> 7030 <input type="text" id="member-username-input" class="form-control required" placeholer="email" name="username_dropdown" value=""> 7031 </div> 7032 </div> 7033 <div class="form-group"> 7034 <label for="member-password-input" class="col-sm-2 control-label">Password:</label> 7035 <div class="col-sm-10"> 7036 <input class="form-control required" id="member-password-input" type="password" name="password_dropdown"> 7037 <span class="help-block right-align"> 7038 <a href="/auth/forgotten_password"> 7039 Send me a password... 7040 </a> 7041 <div class="display-inline-block"> 7042 7043 <a tabindex="0" class="popover_link " role="button" data-toggle="popover" data-trigger="focus" title="Forgot your password" data-content="Select this to reset your password via email. 7044 If your email is already connected to an account but you have not logged in yet, you may also setup your password for the first time." aria-label="Forgot your password Help"><span class="fas fa-question-circle icon-question-sign"></span></a> 7045 </div> 7046 </span> 7047 </div> 7048 </div> 7049 7050 <div class="form-group"> 7051 <div class="col-xs-12"> 7052 <button type="submit" class="btn btn-primary pull-right">Log In</button> 7053 </div> 7054 </div> 7055 7056 </form> 7057 </div> 7058
7058<script> 7059 $form = $("#login_form_dropdown"); 7060 7061 var validator = $form.validate({ignore:[],focusInvalid:true}); 7062 </script>
7062 7063 7064 </div> 7065 7066 </div> 7067 <div class="modal-footer center"> 7068 Not a member? <a href="https://www.k4northwest.com/cpages/investor-engagement-apex">Sign up</a>. 7069 </div> 7070 </div> 7071 </div> 7072 </div> 7073 7074 7075
7075<script type="text/javascript"> 7076// Set to false if opt-in required 7077var trackByDefault = true; 7078 7079function acEnableTracking() { 7080 var expiration = new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 30); 7081 document.cookie = "ac_enable_tracking=1; expires= " + expiration + "; path=/"; 7082 acTrackVisit(); 7083} 7084</script>
7084 7085 7086 7087 7088 7089 7090 </body> 7091 </html> 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242
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.