@bmlt-enabled/croutonjs 4.0.5 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11409,6 +11409,7 @@ function CroutonLocalization(language) {
11409
11409
  "sorted by distance": "Sortiert nach Entfernung",
11410
11410
  "address_lookup_fail": "Die Adresse konnte nicht gefunden werden. Bitte versuchen Sie es erneut.",
11411
11411
  "contact": "Kontakt",
11412
+ "distance": "Entfernung",
11412
11413
  },
11413
11414
  'el-GR': {
11414
11415
  "days_of_the_week": ["", "Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"],
@@ -11416,11 +11417,11 @@ function CroutonLocalization(language) {
11416
11417
  "city": "Πόλη",
11417
11418
  "cities": "Πόλεις",
11418
11419
  "groups": "Ομάδες",
11419
- "areas": "Περιοχές",
11420
- "regions": "Διαμερίσματα",
11420
+ "areas": "ΕΥΠ",
11421
+ "regions": "ΔΕΥΔ",
11421
11422
  "locations": "Τοποθεσίες",
11422
11423
  "counties": "Νομοί",
11423
- "states": "Πολιτείες",
11424
+ "states": "Διαμερίσματα",
11424
11425
  "postal_codes": "Ταχυδρομικοί Κώδικες",
11425
11426
  "formats": "Θέματα ομάδων",
11426
11427
  "map": "Χάρτης",
@@ -11434,17 +11435,18 @@ function CroutonLocalization(language) {
11434
11435
  "meeting_count": "Σύνολο ομάδων",
11435
11436
  "google_directions": "Οδηγίες Google",
11436
11437
  "apple_directions": "Οδηγίες Apple",
11438
+ "venue_types": "Τύποι ομάδων",
11437
11439
  "venue_type_choices": {
11438
11440
  IN_PERSON: "Φυσικές",
11439
11441
  VIRTUAL: "Διαδικτυακές"
11440
11442
  },
11441
11443
  "service_body_types": {
11442
- AS: "Ευπ",
11443
- RS: "Ευδ",
11444
+ AS: "ΕΥΠ",
11445
+ RS: "ΕΥΔ",
11444
11446
  ZF: "ZF",
11445
11447
  MA: "MA",
11446
11448
  LS: "LS",
11447
- GS: "Αντιπρόσωπος",
11449
+ GS: "Αυτόνομη ομάδα",
11448
11450
  },
11449
11451
  "share": "Κοινοποίηση",
11450
11452
  "no_meetings_for_this_day": "Δεν έχει ομάδες αυτή την ημέρα",
@@ -11466,7 +11468,7 @@ function CroutonLocalization(language) {
11466
11468
  "filter by visibility": "Φίλτραρε ανα ορατές ομάδες",
11467
11469
  "open search dialog": "’νοιξε αναζήτηση",
11468
11470
  "go": "Έναρξη",
11469
- "get_directions": "Λάβετε Οδηγιες",
11471
+ "get_directions": "Λάβετε οδηγίες",
11470
11472
  "select_map_app": "Διαλέξτε εφαρμογή χάρτη",
11471
11473
  "apple_maps": "Χάρτες Apple",
11472
11474
  "apple_maps_desc": "Χάρτες Apple σε υπολογιστή",
@@ -11477,7 +11479,27 @@ function CroutonLocalization(language) {
11477
11479
  "zoomed-out-message": "Μήνυμα Απομακρυνσης Ζοομ",
11478
11480
  "sorted by distance": "Κατάταξη βάσει απόστασης",
11479
11481
  "address_lookup_fail": "Αδυναμία εύρεσης διεύθυνσης",
11480
-
11482
+ "contact": "Επικοινωνία",
11483
+ "distance": "Απόσταση",
11484
+ "join this meeting online": "Διαδικτυακή ομάδα",
11485
+ "this meeting is in": "Αυτή η ομάδα ανήκει στην",
11486
+ "location": "Τοποθεσία",
11487
+ "remember my choice": "Θυμήσου την επιλογή μου",
11488
+ "adjust search": "Προσαρμογή αναζήτησης",
11489
+ "this number represents": "Αυτός ο αριθμός αντιπροσωπ",
11490
+ "radius of search in $$": "Ακτίνα αναζήτησης σε $$",
11491
+ "miles": "miles",
11492
+ "km": "km",
11493
+ "approx. number of meetings in result": "Περίπου αριθμός ομάδων στο αποτέλεσμα",
11494
+ "back": "Πίσω",
11495
+ "meeting info": "Πληροφορίες ομάδας",
11496
+ "more info": "Περισσότερα",
11497
+ "address": "Διεύθυνση",
11498
+ "comments": "Σχόλια",
11499
+ "facility is temporarily closed": "Η εγκατάσταση είναι προσωρινά κλειστή",
11500
+ "meets virtually": "Διαδικτυακή ομάδα",
11501
+ "meets in person": "Φυσική ομάδα",
11502
+ "meets virtually and in person": "Διαδικτυακή και φυσική ομάδα",
11481
11503
  },
11482
11504
  "en-AU": {
11483
11505
  "days_of_the_week": ["", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
@@ -11823,6 +11845,27 @@ function CroutonLocalization(language) {
11823
11845
  "zoomed-out-message": "We can't search the entire area for meetings. Please zoom in or do a new search.",
11824
11846
  "sorted by distance": "Sorted by Distance",
11825
11847
  "address_lookup_fail": "The address could not be found. Please try again.",
11848
+ "contact": "Contact",
11849
+ "distance": "Distance",
11850
+ "join this meeting online": "Join this meeting online",
11851
+ "this meeting is in": "This meeting is in",
11852
+ "location": "Location",
11853
+ "remember my choice": "Remember my choice",
11854
+ "facility is temporarily closed": "FACILITY IS TEMPORARILY CLOSED",
11855
+ "meets virtually": "MEETS VIRTUALLY",
11856
+ "meets in person": "MEETS IN PERSON",
11857
+ "meets virtually and in person": "MEETS VIRTUALLY AND IN PERSON",
11858
+ "adjust search": "Adjust Search",
11859
+ "this number represents": "This number represents",
11860
+ "radius of search in $$": "Radius of search in $$",
11861
+ "miles": "miles",
11862
+ "km": "km",
11863
+ "approx. number of meetings in result": "Approx. number of meetings in result",
11864
+ "back": "Back",
11865
+ "meeting info": "Meeting Info",
11866
+ "address": "Address",
11867
+ "comments": "Comments",
11868
+ "more info": "More Info",
11826
11869
  },
11827
11870
  "es-US": {
11828
11871
  "days_of_the_week": ["", "Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"],
@@ -11933,7 +11976,7 @@ function CroutonLocalization(language) {
11933
11976
  "google_directions": "مسیرهای Google به جلسه",
11934
11977
  "apple_directions": "مسیرهای Apple به جلسه",
11935
11978
  "no_meetings_for_this_day": "هیچ جلسه ای در این روز وجود ندارد",
11936
- "css-direction: bmlt-rtl": "",
11979
+ "css-direction": "bmlt-rtl",
11937
11980
  "bootstrap-popover-placement": "left",
11938
11981
  "adjust search": "تنظیم جستجو",
11939
11982
  "this number represents": "این عدد نشان دهنده",
@@ -12539,8 +12582,423 @@ CroutonLocalization.prototype.getServiceBodyType = function(type) {
12539
12582
  return this.words[this.language]['service_body_types'][type];
12540
12583
  }
12541
12584
 
12585
+ CroutonLocalization.prototype.getAllLanguages = function() {
12586
+ return Object.keys(this.words);
12587
+ }
12588
+ CroutonLocalization.prototype.getTranslations = function(targetLanguage) {
12589
+ return Object.entries(this.words['en-US']).map((entries) => {
12590
+ return {
12591
+ key: entries[0],
12592
+ english: entries[1],
12593
+ translation: this.words[targetLanguage][entries[0]] ?? ''
12594
+ }
12595
+ });
12596
+ }
12597
+ CroutonLocalization.prototype.filterCustomTranslations = function(language, translations) {
12598
+ if (!this.words[language]) return translations;
12599
+ return Object.fromEntries(Object.entries(translations).reduce((carry, entries) => {
12600
+ let translation = this.words[language][entries[0]];
12601
+ let new_translation = entries[1];
12602
+ if (Array.isArray(translation)
12603
+ || typeof translation === 'object') {
12604
+ translation = JSON.stringify(translation);
12605
+ new_translation = JSON.stringify(new_translation);
12606
+ }
12607
+ if (translation !== new_translation) carry.push(entries);
12608
+ return carry;
12609
+ }, []));
12610
+ }
12611
+ CroutonLocalization.prototype.customizeTranslations = function(translations) {
12612
+ Object.entries(translations).forEach((language_entry) => {
12613
+ const language = language_entry[0];
12614
+ if (!this.words[language]) this.words[language] = {};
12615
+ Object.entries(language_entry[1]).forEach((entries) => {
12616
+ this.words[language][entries[0]] = entries[1];
12617
+ });
12618
+ });
12619
+ }
12620
+ function CroutonHandlebarsExtensions() {
12621
+ CroutonHandlebarsExtensions.prototype.registerHelpers = function() {
12622
+ crouton_Handlebars.registerHelper('getDayOfTheWeek', function(day_id) {
12623
+ return hbs_Crouton.localization.getDayOfTheWeekWord(day_id);
12624
+ });
12625
+
12626
+ crouton_Handlebars.registerHelper('getWord', function(word) {
12627
+ var translation = hbs_Crouton.localization.getWord(word);
12628
+ if(typeof translation !== 'undefined') return translation;
12629
+ console.log("no translation for '" + word + "'");
12630
+ // if none found, return the untranslated - better than nothing.
12631
+ return word;
12632
+ });
12633
+
12634
+ crouton_Handlebars.registerHelper('formatDataPointer', function(str) {
12635
+ return convertToPunyCode(str);
12636
+ });
12637
+
12638
+ crouton_Handlebars.registerHelper('call', function(fn, str) {
12639
+ return fn(str);
12640
+ });
12641
+
12642
+ crouton_Handlebars.registerHelper('canShare', function(data, options) {
12643
+ return navigator.share ? getTrueResult(options, this) : getFalseResult(options, this);
12644
+ });
12645
+
12646
+ crouton_Handlebars.registerHelper('isOS', function(options) {
12647
+ if(isIOSDevice()) {
12648
+ return getTrueResult(options, this);
12649
+ } else {
12650
+ return getFalseResult(options, this);
12651
+ }
12652
+ });
12653
+ crouton_Handlebars.registerHelper('reportUpdateEnabled', function(data, options) {
12654
+ return crouton.config.report_update_url !== "" ? getTrueResult(options, this) : getFalseResult(options, this)
12655
+ });
12656
+
12657
+ crouton_Handlebars.registerHelper('reportUpdateUrl', function() {
12658
+ return crouton.config.report_update_url;
12659
+ });
12660
+ crouton_Handlebars.registerHelper('ifGroup', function(data, options) {
12661
+ return (data.hasOwnProperty('membersOfGroup') && data.membersOfGroup.length > 1)
12662
+ ? options.fn(this)
12663
+ : options.inverse(this);
12664
+ });
12665
+ crouton_Handlebars.registerHelper('groupsConfigured', function(data, options) {
12666
+ if (crouton.config.groups) {
12667
+ return getTrueResult(options, this);
12668
+ } else {
12669
+ return getFalseResult(options, this);
12670
+ }
12671
+ });
12672
+ /**
12673
+ * @deprecated Since version 3.12.2, will be removed in a future version.
12674
+ */
12675
+ crouton_Handlebars.registerHelper('isVirtual', function(data, options) {
12676
+ return ((data['venue_type'] === venueType.HYBRID || data['venue_type'] === venueType.VIRTUAL) || ((inArray(getMasterFormatId('HY', data), getFormats(data)) && !inArray(getMasterFormatId('TC', data), getFormats(data)))
12677
+ || inArray(getMasterFormatId('VM', data), getFormats(data))))
12678
+ && (data['virtual_meeting_link'] || data['phone_meeting_number'] || data['virtual_meeting_additional_info']) ? getTrueResult(options, this) : getFalseResult(options, this);
12679
+ });
12680
+
12681
+ /**
12682
+ * Assumes consistent set of venue type formats (enforced for newly edited meetings in root server 2.16.0 or greater)
12683
+ */
12684
+ crouton_Handlebars.registerHelper('isVirtualOnly', function(data, options) {
12685
+ return data['venue_type'] === venueType.VIRTUAL || inArray(getMasterFormatId('VM', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
12686
+ });
12687
+
12688
+ /**
12689
+ * @deprecated Since version 3.12.2 will be removed in a future version.
12690
+ */
12691
+ crouton_Handlebars.registerHelper('isHybrid', function(data, options) {
12692
+ return data['venue_type'] === venueType.HYBRID || inArray(getMasterFormatId('HY', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
12693
+ });
12694
+
12695
+ /**
12696
+ * Assumes consistent set of venue type formats (enforced for newly edited meetings in root server 2.16.0 or greater)
12697
+ */
12698
+ crouton_Handlebars.registerHelper('isHybridOnly', function(data, options) {
12699
+ return data['venue_type'] === venueType.HYBRID || inArray(getMasterFormatId('HY', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
12700
+ });
12701
+
12702
+ crouton_Handlebars.registerHelper('isTemporarilyClosed', function(data, options) {
12703
+ return inArray(getMasterFormatId('TC', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
12704
+ });
12705
+
12706
+ crouton_Handlebars.registerHelper('isNotTemporarilyClosed', function(data, options) {
12707
+ return !inArray(getMasterFormatId('TC', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
12708
+ });
12709
+
12710
+ /**
12711
+ * Assumes consistent set of venue type formats (enforced for newly edited meetings in root server 2.16.0 or greater)
12712
+ */
12713
+ crouton_Handlebars.registerHelper('isInPersonOrHybrid', function(data, options) {
12714
+ return data['venue_type'] !== venueType.VIRTUAL && !inArray(getMasterFormatId('VM', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
12715
+ });
12716
+
12717
+ /**
12718
+ * Assumes consistent set of venue type formats (enforced for newly edited meetings in root server 2.16.0 or greater)
12719
+ */
12720
+ crouton_Handlebars.registerHelper('isInPersonOnly', function(data, options) {
12721
+ return data['venue_type'] === venueType.IN_PERSON || (!inArray(getMasterFormatId('VM', data), getFormats(data))
12722
+ && !inArray(getMasterFormatId('HY', data), getFormats(data))) ? getTrueResult(options, this) : getFalseResult(options, this);
12723
+ });
12724
+
12725
+ /**
12726
+ * Assumes consistent set of venue type formats (enforced for newly edited meetings in root server 2.16.0 or greater)
12727
+ */
12728
+ crouton_Handlebars.registerHelper('isVirtualOrHybrid', function(data, options) {
12729
+ return (data['venue_type'] === venueType.VIRTUAL || data['venue_type'] === venueType.HYBRID) || inArray(getMasterFormatId('VM', data), getFormats(data))
12730
+ || inArray(getMasterFormatId('HY', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
12731
+ });
12732
+
12733
+ crouton_Handlebars.registerHelper('hasFormats', function(formats, data, options) {
12734
+ var allFound = false;
12735
+ var formatsResponse = data['formats'].split(",")
12736
+ var formatsParam = formats.split(",");
12737
+ for(var i = 0;i < formatsParam.length;i++) {
12738
+ allFound = inArray(formatsParam[i], formatsResponse);
12739
+ }
12740
+
12741
+ return allFound ? getTrueResult(options, this) : getFalseResult(options, this);
12742
+ });
12743
+ crouton_Handlebars.registerHelper('temporarilyClosed', function(data, options) {
12744
+ if(data['formats_expanded'].getArrayItemByObjectKeyValue('id', getMasterFormatId('TC', data)) !== undefined) {
12745
+ return data['formats_expanded'].getArrayItemByObjectKeyValue('id', getMasterFormatId('TC', data))['description'];
12746
+ } else {
12747
+ return crouton.localization.getWord("FACILITY IS TEMPORARILY CLOSED");
12748
+ }
12749
+ });
12750
+
12751
+ crouton_Handlebars.registerHelper('meetsVirtually', function(data, options) {
12752
+ if(data['formats_expanded'].getArrayItemByObjectKeyValue('id', getMasterFormatId('VM', data)) !== undefined) {
12753
+ return data['formats_expanded'].getArrayItemByObjectKeyValue('id', getMasterFormatId('VM', data))['description'];
12754
+ } else {
12755
+ return crouton.localization.getWord("MEETS VIRTUALLY");
12756
+ }
12757
+ });
12758
+
12759
+ crouton_Handlebars.registerHelper('meetsHybrid', function(data, options) {
12760
+ if(data['formats_expanded'].getArrayItemByObjectKeyValue('id', getMasterFormatId('HY', data)) !== undefined) {
12761
+ return data['formats_expanded'].getArrayItemByObjectKeyValue('id', getMasterFormatId('HY', data))['description'];
12762
+ } else {
12763
+ return crouton.localization.getWord("MEETS VIRTUALLY AND IN PERSON");
12764
+ }
12765
+ });
12766
+
12767
+ crouton_Handlebars.registerHelper('qrCode', function(link, options) {
12768
+ return new crouton_Handlebars.SafeString("<img alt='qrcode' src='https://quickchart.io/qr?size=100&text=" + encodeURIComponent(link) + "'>");
12769
+ });
12770
+
12771
+ crouton_Handlebars.registerHelper('formatDataFromArray', function(arr) {
12772
+ var finalValues = [];
12773
+ for(var i = 0;i < arr.length;i++) {
12774
+ finalValues.push(convertToPunyCode(arr[i]));
12775
+ }
12776
+
12777
+ return finalValues.join(" ");
12778
+ });
12779
+
12780
+ crouton_Handlebars.registerHelper('formatDataPointerFormats', function(formatsExpanded) {
12781
+ var finalFormats = [];
12782
+ for(var i = 0;i < formatsExpanded.length;i++) {
12783
+ finalFormats.push(convertToPunyCode(formatsExpanded[i]['name']));
12784
+ }
12785
+ return finalFormats.join(" ");
12786
+ });
12787
+
12788
+ crouton_Handlebars.registerHelper('formatDataKeyFormats', function(formatsExpanded) {
12789
+ var finalFormats = [];
12790
+ for(var i = 0;i < formatsExpanded.length;i++) {
12791
+ finalFormats.push(convertToPunyCode(formatsExpanded[i]['key']));
12792
+ }
12793
+ return finalFormats.join(" ");
12794
+ });
12795
+
12796
+ crouton_Handlebars.registerHelper('formatLink', function(text) {
12797
+ if(text.indexOf('tel:') === 0 || text.indexOf('http') === 0) {
12798
+ return new crouton_Handlebars.SafeString("<a href='" + text + "' target='_blank'>" + text + "</a>");
12799
+ } else {
12800
+ return text;
12801
+ }
12802
+ });
12803
+
12804
+ crouton_Handlebars.registerHelper('webLinkify', function(text) {
12805
+ return new crouton_Handlebars.SafeString("<a href='" + text + "' target='_blank'>" + text + "</a>");
12806
+ });
12807
+
12808
+ crouton_Handlebars.registerHelper('phoneLinkify', function(text) {
12809
+ return new crouton_Handlebars.SafeString("<a href='tel:" + text + "' target='_blank'>" + text + "</a>");
12810
+ });
12811
+
12812
+ crouton_Handlebars.registerHelper('ifEquals', function(arg1, arg2, options) {
12813
+ return (arg1 === arg2) ? options.fn(this) : options.inverse(this);
12814
+ });
12815
+
12816
+ crouton_Handlebars.registerHelper('greaterThan', function(arg1, arg2, options) {
12817
+ return (arg1 > arg2) ? options.fn(this) : options.inverse(this);
12818
+ });
12819
+
12820
+ crouton_Handlebars.registerHelper('lessThan', function(arg1, arg2, options) {
12821
+ return (arg1 < arg2) ? options.fn(this) : options.inverse(this);
12822
+ });
12823
+
12824
+ crouton_Handlebars.registerHelper('times', function(n, block) {
12825
+ var accum = '';
12826
+ for(var i = 1;i <= n;++i)
12827
+ accum += block.fn(i);
12828
+ return accum;
12829
+ });
12830
+ crouton_Handlebars.registerHelper('hasObserverLine', function(name, phone, email) {
12831
+ if(name && name.length > 0) return true;
12832
+ if(phone && phone.length > 0) return true;
12833
+ if(email && email.length > 0) return true;
12834
+ return false;
12835
+ });
12836
+ crouton_Handlebars.registerHelper('hasBMLT2ics', function() {return crouton.config['bmlt2ics'].length > 0;});
12837
+ crouton_Handlebars.registerHelper('BMLT2ics', function() {return crouton.config['bmlt2ics'];});
12838
+ function getTrueResult(options, ctx) {
12839
+ return options.fn !== undefined ? options.fn(ctx) : true;
12840
+ }
12841
+
12842
+ function getFalseResult(options, ctx) {
12843
+ return options.inverse !== undefined ? options.inverse(ctx) : false;
12844
+ }
12845
+ }
12846
+ CroutonHandlebarsExtensions.prototype.registerPartials = function(groups = false) {
12847
+ crouton_Handlebars.registerPartial('tableRows', hbs_Crouton.templates['tableRows']);
12848
+ crouton_Handlebars.registerPartial('meetingDetails', hbs_Crouton.templates['meetingDetails']);
12849
+ crouton_Handlebars.registerPartial("groupStackedRow", hbs_Crouton.templates['groupStackedRow']);
12850
+ crouton_Handlebars.registerPartial("meetingStackedRow", hbs_Crouton.templates['meetingStackedRow']);
12851
+ crouton_Handlebars.registerPartial('groupDetails', hbs_Crouton.templates['groupDetails']);
12852
+ crouton_Handlebars.registerPartial('bydays', hbs_Crouton.templates['byday']);
12853
+ crouton_Handlebars.registerPartial('weekdays', hbs_Crouton.templates['weekdays']);
12854
+ crouton_Handlebars.registerPartial('meetingsPlaceholders', hbs_Crouton.templates['meetingsPlaceholders']);
12855
+ crouton_Handlebars.registerPartial('header', hbs_Crouton.templates['header']);
12856
+ crouton_Handlebars.registerPartial('byfields', hbs_Crouton.templates['byfield']);
12857
+ crouton_Handlebars.registerPartial('formatPopup', hbs_Crouton.templates['formatPopup']);
12858
+ crouton_Handlebars.registerPartial('meetingModal', "<a tabindex='0' href='#' onclick='crouton.meetingModal({{this.id_bigint}})'><span class='glyphicon glyphicon-search' aria-hidden='true'></span>{{this.meeting_name}}</a>");
12859
+ crouton_Handlebars.registerPartial('meetingLink', `
12860
+ {{#if this.meeting_details_url}}
12861
+ <a href='{{{this.meeting_details_url}}}'><span class='glyphicon glyphicon-search' aria-hidden='true'></span>{{this.meeting_name}}</a>
12862
+ {{else}}
12863
+ {{this.meeting_name}}
12864
+ {{/if}}
12865
+ `);
12866
+ crouton_Handlebars.registerPartial('icsButton',
12867
+ '<a href="{{BMLT2ics}}?meeting-id={{id_bigint}}" download="{{meeting_name}}.ics" class="share-button btn btn-primary btn-xs" ><span class="glyphicon glyphicon-download-alt"></span> {{getWord "bmlt2ics"}}</a>');
12868
+ crouton_Handlebars.registerPartial('offerIcsButton', "{{#if (hasBMLT2ics)}}{{> icsButton}}<br/>{{/if}}");
12869
+ crouton_Handlebars.registerPartial('directionsButton', hbs_Crouton.templates['directionsButton']);
12870
+ crouton_Handlebars.registerPartial('attendVirtual', hbs_Crouton.templates['attendVirtual']);
12871
+ crouton_Handlebars.registerPartial('meetingDetailsButton', hbs_Crouton.templates['meetingDetailsButton']);
12872
+ crouton_Handlebars.registerPartial('distance', `
12873
+ <div class='meeting-distance{{#unless this.distance}} hide{{/unless}}' data-id='{{this.id_bigint}}'>
12874
+ {{getWord 'Distance'}}: {{this.distance}}
12875
+ </div>`);
12876
+ crouton_Handlebars.registerPartial('formatDescriptions', `
12877
+ {{#if formats_expanded}}
12878
+ <h4>{{getWord "Meeting Info"}}</h4>
12879
+ <ul>
12880
+ {{#each formats_expanded}}
12881
+ <li>{{description}}</li>
12882
+ {{/each}}
12883
+ </ul>
12884
+ <br/>
12885
+ {{/if}}
12886
+ `);
12887
+ crouton_Handlebars.registerPartial('formatKeys', `
12888
+ {{#if this.formats}}
12889
+ <a
12890
+ class="bmlt-formats btn btn-primary btn-xs"
12891
+ title=""
12892
+ data-html="true"
12893
+ tabindex="0"
12894
+ data-trigger="focus"
12895
+ role="button"
12896
+ data-toggle="popover"
12897
+ data-original-title=""
12898
+ data-placement="{{{getWord 'bootstrap-popover-placement'}}}"
12899
+ data-content="{{> (selectFormatPopup) }}">
12900
+ <span class="glyphicon glyphicon-search"
12901
+ aria-hidden="true"
12902
+ data-toggle="popover"
12903
+ data-trigger="focus"
12904
+ data-html="true"
12905
+ role="button"></span>{{ this.formats }}
12906
+ </a>
12907
+ {{/if}}
12908
+ `
12909
+ )
12910
+
12911
+ crouton_Handlebars.registerPartial('observerLine', `
12912
+ {{#if (hasObserverLine name phone email) }}
12913
+ <div class='observerLine'>{{getWord "Contact"}}: {{name}} <a href='tel:{{phone}}'>{{phone}}</a> <a href='mailto:{{email}}'>{{email}}</a></div>
12914
+ </div>{{/if}}`);
12915
+ }
12916
+ }
12917
+
12542
12918
  this["hbs_Crouton"] = this["hbs_Crouton"] || {};
12543
12919
  this["hbs_Crouton"]["templates"] = this["hbs_Crouton"]["templates"] || {};
12920
+ this["hbs_Crouton"]["templates"]["attendVirtual"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
12921
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
12922
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12923
+ return parent[propertyName];
12924
+ }
12925
+ return undefined
12926
+ };
12927
+
12928
+ return " <h4>"
12929
+ + container.escapeExpression((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(alias1,"Join this meeting online",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":2,"column":16},"end":{"line":2,"column":54}}}))
12930
+ + "</h4>\n"
12931
+ + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":12},"end":{"line":8,"column":19}}})) != null ? stack1 : "")
12932
+ + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":9,"column":12},"end":{"line":14,"column":19}}})) != null ? stack1 : "")
12933
+ + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":15,"column":12},"end":{"line":17,"column":19}}})) != null ? stack1 : "")
12934
+ + " <br/>\n";
12935
+ },"2":function(container,depth0,helpers,partials,data) {
12936
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
12937
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12938
+ return parent[propertyName];
12939
+ }
12940
+ return undefined
12941
+ };
12942
+
12943
+ return " <div>"
12944
+ + container.escapeExpression((lookupProperty(helpers,"webLinkify")||(depth0 && lookupProperty(depth0,"webLinkify"))||container.hooks.helperMissing).call(alias1,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0),{"name":"webLinkify","hash":{},"data":data,"loc":{"start":{"line":4,"column":21},"end":{"line":4,"column":61}}}))
12945
+ + "</div>\n"
12946
+ + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"show_qrcode") : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":5,"column":16},"end":{"line":7,"column":23}}})) != null ? stack1 : "");
12947
+ },"3":function(container,depth0,helpers,partials,data) {
12948
+ var lookupProperty = container.lookupProperty || function(parent, propertyName) {
12949
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12950
+ return parent[propertyName];
12951
+ }
12952
+ return undefined
12953
+ };
12954
+
12955
+ return " <div class=\"qrcode\">"
12956
+ + container.escapeExpression((lookupProperty(helpers,"qrCode")||(depth0 && lookupProperty(depth0,"qrCode"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0),{"name":"qrCode","hash":{},"data":data,"loc":{"start":{"line":6,"column":40},"end":{"line":6,"column":71}}}))
12957
+ + "</div>\n";
12958
+ },"5":function(container,depth0,helpers,partials,data) {
12959
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
12960
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12961
+ return parent[propertyName];
12962
+ }
12963
+ return undefined
12964
+ };
12965
+
12966
+ return " <div>"
12967
+ + container.escapeExpression((lookupProperty(helpers,"phoneLinkify")||(depth0 && lookupProperty(depth0,"phoneLinkify"))||container.hooks.helperMissing).call(alias1,(depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0),{"name":"phoneLinkify","hash":{},"data":data,"loc":{"start":{"line":10,"column":21},"end":{"line":10,"column":63}}}))
12968
+ + "</div>\n"
12969
+ + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"show_qrcode") : depth0),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":11,"column":16},"end":{"line":13,"column":23}}})) != null ? stack1 : "");
12970
+ },"6":function(container,depth0,helpers,partials,data) {
12971
+ var lookupProperty = container.lookupProperty || function(parent, propertyName) {
12972
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12973
+ return parent[propertyName];
12974
+ }
12975
+ return undefined
12976
+ };
12977
+
12978
+ return " <div class=\"qrcode\">"
12979
+ + container.escapeExpression((lookupProperty(helpers,"qrCode")||(depth0 && lookupProperty(depth0,"qrCode"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0),{"name":"qrCode","hash":{},"data":data,"loc":{"start":{"line":12,"column":40},"end":{"line":12,"column":76}}}))
12980
+ + "</div>\n";
12981
+ },"8":function(container,depth0,helpers,partials,data) {
12982
+ var lookupProperty = container.lookupProperty || function(parent, propertyName) {
12983
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12984
+ return parent[propertyName];
12985
+ }
12986
+ return undefined
12987
+ };
12988
+
12989
+ return " "
12990
+ + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0), depth0))
12991
+ + "\n";
12992
+ },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
12993
+ var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12994
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12995
+ return parent[propertyName];
12996
+ }
12997
+ return undefined
12998
+ };
12999
+
13000
+ return ((stack1 = (lookupProperty(helpers,"isVirtualOrHybrid")||(depth0 && lookupProperty(depth0,"isVirtualOrHybrid"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),depth0,{"name":"isVirtualOrHybrid","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":8},"end":{"line":19,"column":30}}})) != null ? stack1 : "");
13001
+ },"useData":true});
12544
13002
  this["hbs_Crouton"]["templates"]["byday"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
12545
13003
  var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.lambda, alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12546
13004
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
@@ -12648,38 +13106,45 @@ this["hbs_Crouton"]["templates"]["formatPopup"] = Handlebars.template({"1":funct
12648
13106
  + ((stack1 = lookupProperty(helpers,"each").call(alias1,(depth0 != null ? lookupProperty(depth0,"formats_expanded") : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":4},"end":{"line":8,"column":13}}})) != null ? stack1 : "")
12649
13107
  + "</table>";
12650
13108
  },"useData":true});
12651
- this["hbs_Crouton"]["templates"]["group"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
12652
- var stack1, alias1=container.escapeExpression, alias2=container.lambda, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13109
+ this["hbs_Crouton"]["templates"]["group3ColumnRow"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
13110
+ var stack1, alias1=container.lambda, alias2=container.escapeExpression, alias3=depth0 != null ? depth0 : (container.nullContext || {}), alias4=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12653
13111
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12654
13112
  return parent[propertyName];
12655
13113
  }
12656
13114
  return undefined
12657
13115
  };
12658
13116
 
12659
- return " <div class=\"card-title header-elements\">\n <h5 class=\"m-0 me-2\">"
12660
- + alias1((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),"Address",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":17,"column":57},"end":{"line":17,"column":78}}}))
12661
- + "</h5>\n </div>\n <div class=\"location-text\">"
12662
- + ((stack1 = alias2((depth0 != null ? lookupProperty(depth0,"location_text") : depth0), depth0)) != null ? stack1 : "")
12663
- + "</div>\n <div class=\"meeting-address\">"
12664
- + alias1(alias2((depth0 != null ? lookupProperty(depth0,"formatted_address") : depth0), depth0))
12665
- + "</div>\n <div class=\"location-information\">"
12666
- + ((stack1 = alias2((depth0 != null ? lookupProperty(depth0,"formatted_location_info") : depth0), depth0)) != null ? stack1 : "")
12667
- + "</div>\n <br/>\n";
12668
- },"3":function(container,depth0,helpers,partials,data) {
12669
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
13117
+ return " <a href=\"javascript:void(0);\" class=\"share-button btn btn-primary btn-xs\" onclick='navigator.share({ text: JSON.stringify(\""
13118
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"formatted_day") : depth0), depth0))
13119
+ + " "
13120
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"start_time_formatted") : depth0), depth0))
13121
+ + " - "
13122
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"end_time_formatted") : depth0), depth0))
13123
+ + " "
13124
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"meeting_name") : depth0), depth0))
13125
+ + " "
13126
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"location_text") : depth0), depth0))
13127
+ + " "
13128
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"formatted_address") : depth0), depth0))
13129
+ + " "
13130
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"formatted_location_info") : depth0), depth0))
13131
+ + ((stack1 = lookupProperty(helpers,"if").call(alias3,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":17,"column":314},"end":{"line":17,"column":406}}})) != null ? stack1 : "")
13132
+ + "\"), url: \""
13133
+ + ((stack1 = (lookupProperty(helpers,"isVirtualOrHybrid")||(depth0 && lookupProperty(depth0,"isVirtualOrHybrid"))||alias4).call(alias3,depth0,{"name":"isVirtualOrHybrid","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":17,"column":416},"end":{"line":17,"column":603}}})) != null ? stack1 : "")
13134
+ + ((stack1 = (lookupProperty(helpers,"isInPersonOrHybrid")||(depth0 && lookupProperty(depth0,"isInPersonOrHybrid"))||alias4).call(alias3,depth0,{"name":"isInPersonOrHybrid","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":17,"column":603},"end":{"line":17,"column":881}}})) != null ? stack1 : "")
13135
+ + "\"})'><span class=\"glyphicon glyphicon-share\"></span> "
13136
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"share_word") : depth0), depth0))
13137
+ + "</a>\n";
13138
+ },"2":function(container,depth0,helpers,partials,data) {
13139
+ var lookupProperty = container.lookupProperty || function(parent, propertyName) {
12670
13140
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12671
13141
  return parent[propertyName];
12672
13142
  }
12673
13143
  return undefined
12674
13144
  };
12675
13145
 
12676
- return " <div class=\"card-title header-elements\">\n <h5 class=\"m-0 me-2\">"
12677
- + container.escapeExpression((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(alias1,"Join this meeting online",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":26,"column":57},"end":{"line":26,"column":95}}}))
12678
- + "</h5>\n </div>\n"
12679
- + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":28,"column":32},"end":{"line":33,"column":39}}})) != null ? stack1 : "")
12680
- + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":34,"column":32},"end":{"line":39,"column":39}}})) != null ? stack1 : "")
12681
- + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0),{"name":"if","hash":{},"fn":container.program(10, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":40,"column":32},"end":{"line":42,"column":39}}})) != null ? stack1 : "")
12682
- + " <br/>\n";
13146
+ return " "
13147
+ + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0), depth0));
12683
13148
  },"4":function(container,depth0,helpers,partials,data) {
12684
13149
  var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
12685
13150
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
@@ -12688,10 +13153,8 @@ this["hbs_Crouton"]["templates"]["group"] = Handlebars.template({"1":function(co
12688
13153
  return undefined
12689
13154
  };
12690
13155
 
12691
- return " <div>"
12692
- + container.escapeExpression((lookupProperty(helpers,"webLinkify")||(depth0 && lookupProperty(depth0,"webLinkify"))||container.hooks.helperMissing).call(alias1,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0),{"name":"webLinkify","hash":{},"data":data,"loc":{"start":{"line":29,"column":41},"end":{"line":29,"column":81}}}))
12693
- + "</div>\n"
12694
- + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"show_qrcode") : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":30,"column":36},"end":{"line":32,"column":43}}})) != null ? stack1 : "");
13156
+ return ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":17,"column":443},"end":{"line":17,"column":512}}})) != null ? stack1 : "")
13157
+ + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":17,"column":512},"end":{"line":17,"column":581}}})) != null ? stack1 : "");
12695
13158
  },"5":function(container,depth0,helpers,partials,data) {
12696
13159
  var lookupProperty = container.lookupProperty || function(parent, propertyName) {
12697
13160
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
@@ -12700,483 +13163,168 @@ this["hbs_Crouton"]["templates"]["group"] = Handlebars.template({"1":function(co
12700
13163
  return undefined
12701
13164
  };
12702
13165
 
12703
- return " <div class=\"qrcode\">"
12704
- + container.escapeExpression((lookupProperty(helpers,"qrCode")||(depth0 && lookupProperty(depth0,"qrCode"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0),{"name":"qrCode","hash":{},"data":data,"loc":{"start":{"line":31,"column":60},"end":{"line":31,"column":91}}}))
12705
- + "</div>\n";
13166
+ return container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0), depth0));
12706
13167
  },"7":function(container,depth0,helpers,partials,data) {
12707
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
13168
+ var lookupProperty = container.lookupProperty || function(parent, propertyName) {
12708
13169
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12709
13170
  return parent[propertyName];
12710
13171
  }
12711
13172
  return undefined
12712
13173
  };
12713
13174
 
12714
- return " <div>"
12715
- + container.escapeExpression((lookupProperty(helpers,"phoneLinkify")||(depth0 && lookupProperty(depth0,"phoneLinkify"))||container.hooks.helperMissing).call(alias1,(depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0),{"name":"phoneLinkify","hash":{},"data":data,"loc":{"start":{"line":35,"column":41},"end":{"line":35,"column":83}}}))
12716
- + "</div>\n"
12717
- + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"show_qrcode") : depth0),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":36,"column":36},"end":{"line":38,"column":43}}})) != null ? stack1 : "");
12718
- },"8":function(container,depth0,helpers,partials,data) {
12719
- var lookupProperty = container.lookupProperty || function(parent, propertyName) {
13175
+ return container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0), depth0));
13176
+ },"9":function(container,depth0,helpers,partials,data) {
13177
+ var stack1, helper, options, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12720
13178
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12721
13179
  return parent[propertyName];
12722
13180
  }
12723
13181
  return undefined
12724
- };
12725
-
12726
- return " <div class=\"qrcode\">"
12727
- + container.escapeExpression((lookupProperty(helpers,"qrCode")||(depth0 && lookupProperty(depth0,"qrCode"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0),{"name":"qrCode","hash":{},"data":data,"loc":{"start":{"line":37,"column":60},"end":{"line":37,"column":96}}}))
12728
- + "</div>\n";
13182
+ }, buffer =
13183
+ " ";
13184
+ stack1 = ((helper = (helper = lookupProperty(helpers,"isOS") || (depth0 != null ? lookupProperty(depth0,"isOS") : depth0)) != null ? helper : container.hooks.helperMissing),(options={"name":"isOS","hash":{},"fn":container.program(10, data, 0),"inverse":container.program(12, data, 0),"data":data,"loc":{"start":{"line":17,"column":632},"end":{"line":17,"column":858}}}),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));
13185
+ if (!lookupProperty(helpers,"isOS")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}
13186
+ if (stack1 != null) { buffer += stack1; }
13187
+ return buffer;
12729
13188
  },"10":function(container,depth0,helpers,partials,data) {
12730
- var lookupProperty = container.lookupProperty || function(parent, propertyName) {
13189
+ var alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12731
13190
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12732
13191
  return parent[propertyName];
12733
13192
  }
12734
13193
  return undefined
12735
13194
  };
12736
13195
 
12737
- return " "
12738
- + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0), depth0))
12739
- + "\n";
13196
+ return " https://maps.apple.com/?daddr="
13197
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"latitude") : depth0), depth0))
13198
+ + ","
13199
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"longitude") : depth0), depth0))
13200
+ + " ";
12740
13201
  },"12":function(container,depth0,helpers,partials,data) {
12741
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12742
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12743
- return parent[propertyName];
12744
- }
12745
- return undefined
12746
- };
12747
-
12748
- return " <ul>\n"
12749
- + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,"formats_expanded") : depth0),{"name":"each","hash":{},"fn":container.program(13, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":52,"column":32},"end":{"line":54,"column":41}}})) != null ? stack1 : "")
12750
- + " </ul>\n <br/>\n";
12751
- },"13":function(container,depth0,helpers,partials,data) {
12752
- var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13202
+ var alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12753
13203
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12754
13204
  return parent[propertyName];
12755
13205
  }
12756
13206
  return undefined
12757
13207
  };
12758
13208
 
12759
- return " <li>"
12760
- + container.escapeExpression(((helper = (helper = lookupProperty(helpers,"description") || (depth0 != null ? lookupProperty(depth0,"description") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"description","hash":{},"data":data,"loc":{"start":{"line":53,"column":40},"end":{"line":53,"column":55}}}) : helper)))
12761
- + "</li>\n";
12762
- },"15":function(container,depth0,helpers,partials,data) {
12763
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
12764
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12765
- return parent[propertyName];
12766
- }
12767
- return undefined
12768
- };
12769
-
12770
- return " <div class=\"col-md-3 mb-2 box-shadow\">\n <div class=\"card-body\">\n <div class=\"card-title header-elements\">\n <h5 class=\"m-0 me-2\">\n <div class=\"bmlt-day\">"
12771
- + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"formatted_day") : depth0), depth0))
12772
- + "</div>\n"
12773
- + ((stack1 = (lookupProperty(helpers,"ifEquals")||(depth0 && lookupProperty(depth0,"ifEquals"))||container.hooks.helperMissing).call(alias1,(depth0 != null ? lookupProperty(depth0,"duration_time") : depth0),"24:00:00",{"name":"ifEquals","hash":{},"fn":container.program(16, data, 0),"inverse":container.program(18, data, 0),"data":data,"loc":{"start":{"line":79,"column":19},"end":{"line":83,"column":32}}})) != null ? stack1 : "")
12774
- + " </h5>\n </div>\n <div class=\"card-text\">\n <div class=\"row mb-2\">\n <div class=\"col-md-12\">\n"
12775
- + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"formats_expanded") : depth0),{"name":"if","hash":{},"fn":container.program(20, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":89,"column":32},"end":{"line":96,"column":39}}})) != null ? stack1 : "")
12776
- + " </div>\n </div>\n </div>\n </div>\n </div>\n";
12777
- },"16":function(container,depth0,helpers,partials,data) {
12778
- var lookupProperty = container.lookupProperty || function(parent, propertyName) {
12779
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12780
- return parent[propertyName];
12781
- }
12782
- return undefined
12783
- };
12784
-
12785
- return " <div class=\"bmlt-time-2\">"
12786
- + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"start_time_formatted") : depth0), depth0))
12787
- + "</div>\n";
12788
- },"18":function(container,depth0,helpers,partials,data) {
12789
- var alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12790
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12791
- return parent[propertyName];
12792
- }
12793
- return undefined
12794
- };
12795
-
12796
- return " <div class=\"bmlt-time-2\">"
12797
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"start_time_formatted") : depth0), depth0))
12798
- + " - "
12799
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"end_time_formatted") : depth0), depth0))
12800
- + "</div>\n";
12801
- },"20":function(container,depth0,helpers,partials,data) {
12802
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12803
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12804
- return parent[propertyName];
12805
- }
12806
- return undefined
12807
- };
12808
-
12809
- return " <ul>\n"
12810
- + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,"formats_expanded") : depth0),{"name":"each","hash":{},"fn":container.program(21, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":91,"column":40},"end":{"line":93,"column":49}}})) != null ? stack1 : "")
12811
- + " </ul>\n <br/>\n";
12812
- },"21":function(container,depth0,helpers,partials,data) {
12813
- var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12814
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12815
- return parent[propertyName];
12816
- }
12817
- return undefined
12818
- };
12819
-
12820
- return " <li>"
12821
- + container.escapeExpression(((helper = (helper = lookupProperty(helpers,"description") || (depth0 != null ? lookupProperty(depth0,"description") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"description","hash":{},"data":data,"loc":{"start":{"line":92,"column":48},"end":{"line":92,"column":63}}}) : helper)))
12822
- + "</li>\n";
12823
- },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
12824
- var stack1, helper, alias1=container.escapeExpression, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12825
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12826
- return parent[propertyName];
12827
- }
12828
- return undefined
12829
- };
12830
-
12831
- return "<div class=\"card group\">\n <div class=\"card-body\">\n <div class=\"card-title header-elements\" style=\"display: flex; justify-content:space-between; align-items:center;\">\n <h5 style=\"font-size: 120%;\" class=\"m-0 me-2 mb-2\">"
12832
- + alias1(container.lambda((depth0 != null ? lookupProperty(depth0,"meeting_name") : depth0), depth0))
12833
- + "</h5>\n "
12834
- + alias1(((helper = (helper = lookupProperty(helpers,"distance") || (depth0 != null ? lookupProperty(depth0,"distance") : depth0)) != null ? helper : alias3),(typeof helper === "function" ? helper.call(alias2,{"name":"distance","hash":{},"data":data,"loc":{"start":{"line":5,"column":12},"end":{"line":5,"column":24}}}) : helper)))
12835
- + "\n"
12836
- + ((stack1 = container.invokePartial(lookupProperty(partials,"directionsButton"),depth0,{"name":"directionsButton","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
12837
- + " </div>\n <div class=\"row\" "
12838
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias3).call(alias2,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":8,"column":25},"end":{"line":8,"column":54}}})) != null ? stack1 : "")
12839
- + ">\n <div class=\"col-md-4\">\n"
12840
- + ((stack1 = container.invokePartial(lookupProperty(partials,"group_map"),depth0,{"name":"group_map","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
12841
- + " </div>\n <div class=\"col-md-8 box-shadow\" style=\"margin-inline-start:10px;\">\n <div class=\"card-body\">\n <div class=\"card-text\">\n"
12842
- + ((stack1 = (lookupProperty(helpers,"isInPersonOrHybrid")||(depth0 && lookupProperty(depth0,"isInPersonOrHybrid"))||alias3).call(alias2,depth0,{"name":"isInPersonOrHybrid","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":15,"column":28},"end":{"line":23,"column":51}}})) != null ? stack1 : "")
12843
- + ((stack1 = (lookupProperty(helpers,"isVirtualOrHybrid")||(depth0 && lookupProperty(depth0,"isVirtualOrHybrid"))||alias3).call(alias2,depth0,{"name":"isVirtualOrHybrid","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":24,"column":28},"end":{"line":44,"column":50}}})) != null ? stack1 : "")
12844
- + " </div>\n <div class=\"card-title header-elements\">\n <h5 class=\"m-0 me-2\">"
12845
- + alias1((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias3).call(alias2,"Meeting Info",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":47,"column":49},"end":{"line":47,"column":75}}}))
12846
- + "</h5>\n </div>\n <div class=\"card-text\">\n"
12847
- + ((stack1 = lookupProperty(helpers,"if").call(alias2,(depth0 != null ? lookupProperty(depth0,"formats_expanded") : depth0),{"name":"if","hash":{},"fn":container.program(12, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":50,"column":28},"end":{"line":57,"column":35}}})) != null ? stack1 : "")
12848
- + " </div>\n <div class=\"card-title header-elements\">\n <h5 class=\"m-0 me-2\">"
12849
- + alias1((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias3).call(alias2,"Comments",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":60,"column":49},"end":{"line":60,"column":71}}}))
12850
- + "</h5>\n </div>\n <div class=\"card-text\">\n <div class=\"bmlt-comments\">"
12851
- + alias1((lookupProperty(helpers,"formatLink")||(depth0 && lookupProperty(depth0,"formatLink"))||alias3).call(alias2,(depth0 != null ? lookupProperty(depth0,"formatted_comments") : depth0),{"name":"formatLink","hash":{},"data":data,"loc":{"start":{"line":63,"column":46},"end":{"line":63,"column":84}}}))
12852
- + "</div>\n <div class=\"bmlt-observer\">\n"
12853
- + ((stack1 = container.invokePartial(lookupProperty(partials,"observerLine"),depth0,{"name":"observerLine","hash":{"email":(depth0 != null ? lookupProperty(depth0,"contact_email_1") : depth0),"phone":(depth0 != null ? lookupProperty(depth0,"contact_phone_1") : depth0),"name":(depth0 != null ? lookupProperty(depth0,"contact_name_1") : depth0)},"data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
12854
- + ((stack1 = container.invokePartial(lookupProperty(partials,"observerLine"),depth0,{"name":"observerLine","hash":{"email":(depth0 != null ? lookupProperty(depth0,"contact_email_2") : depth0),"phone":(depth0 != null ? lookupProperty(depth0,"contact_phone_2") : depth0),"name":(depth0 != null ? lookupProperty(depth0,"contact_name_2") : depth0)},"data":data,"indent":"\t\t ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
12855
- + " </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row card-meeting-row\" "
12856
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias3).call(alias2,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":72,"column":42},"end":{"line":72,"column":71}}})) != null ? stack1 : "")
12857
- + ">\n"
12858
- + ((stack1 = lookupProperty(helpers,"each").call(alias2,(depth0 != null ? lookupProperty(depth0,"membersOfGroup") : depth0),{"name":"each","hash":{},"fn":container.program(15, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":73,"column":12},"end":{"line":102,"column":21}}})) != null ? stack1 : "")
12859
- + " </div>\n </div>\n</div>";
12860
- },"usePartial":true,"useData":true});
12861
- this["hbs_Crouton"]["templates"]["groupMain"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
12862
- var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12863
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12864
- return parent[propertyName];
12865
- }
12866
- return undefined
12867
- };
12868
-
12869
- return " <div id=\"byfield_"
12870
- + alias3(((helper = (helper = lookupProperty(helpers,"key") || (data && lookupProperty(data,"key"))) != null ? helper : alias2),(typeof helper === "function" ? helper.call(alias1,{"name":"key","hash":{},"data":data,"loc":{"start":{"line":6,"column":19},"end":{"line":6,"column":29}}}) : helper)))
12871
- + "\" class=\"bmlt-page "
12872
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":6,"column":48},"end":{"line":6,"column":75}}}))
12873
- + " hide\" >\n"
12874
- + ((stack1 = container.invokePartial(lookupProperty(partials,"byfields"),depth0,{"name":"byfields","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
12875
- + " </div>\n";
12876
- },"3":function(container,depth0,helpers,partials,data) {
12877
- var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12878
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12879
- return parent[propertyName];
12880
- }
12881
- return undefined
12882
- };
12883
-
12884
- return " <div id=\"byfield_"
12885
- + alias3(((helper = (helper = lookupProperty(helpers,"key") || (data && lookupProperty(data,"key"))) != null ? helper : alias2),(typeof helper === "function" ? helper.call(alias1,{"name":"key","hash":{},"data":data,"loc":{"start":{"line":11,"column":19},"end":{"line":11,"column":29}}}) : helper)))
12886
- + "\" class=\"bmlt-page "
12887
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":11,"column":48},"end":{"line":11,"column":75}}}))
12888
- + " hide\">\n"
12889
- + ((stack1 = container.invokePartial(lookupProperty(partials,"byfields"),depth0,{"name":"byfields","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
12890
- + " </div>\n";
12891
- },"5":function(container,depth0,helpers,partials,data) {
12892
- var lookupProperty = container.lookupProperty || function(parent, propertyName) {
13209
+ return " https://www.google.com/maps/search/?api=1&amp;query="
13210
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"latitude") : depth0), depth0))
13211
+ + ","
13212
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"longitude") : depth0), depth0))
13213
+ + "&amp;q="
13214
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"latitude") : depth0), depth0))
13215
+ + ","
13216
+ + alias2(alias1((depth0 != null ? lookupProperty(depth0,"longitude") : depth0), depth0));
13217
+ },"14":function(container,depth0,helpers,partials,data) {
13218
+ var helper, alias1=container.escapeExpression, alias2=container.lambda, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12893
13219
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12894
13220
  return parent[propertyName];
12895
13221
  }
12896
13222
  return undefined
12897
13223
  };
12898
13224
 
12899
- return " <div id=\"byfield_embeddedMapPage\" class=\"bmlt-map bmlt-page "
12900
- + container.escapeExpression((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":16,"column":65},"end":{"line":16,"column":92}}}))
12901
- + " hide\">\n </div>\n";
13225
+ return " <a href=\""
13226
+ + alias1(((helper = (helper = lookupProperty(helpers,"reportUpdateUrl") || (depth0 != null ? lookupProperty(depth0,"reportUpdateUrl") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"reportUpdateUrl","hash":{},"data":data,"loc":{"start":{"line":20,"column":13},"end":{"line":20,"column":34}}}) : helper)))
13227
+ + "?meeting_id="
13228
+ + alias1(alias2((depth0 != null ? lookupProperty(depth0,"id_bigint") : depth0), depth0))
13229
+ + "\" class=\"share-button btn btn-primary btn-xs edit-button\" target=\"_blank\"><span class=\"glyphicon glyphicon-edit\"></span> "
13230
+ + alias1(alias2((depth0 != null ? lookupProperty(depth0,"report_update_word") : depth0), depth0))
13231
+ + "</a>\n";
12902
13232
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
12903
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12904
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12905
- return parent[propertyName];
12906
- }
12907
- return undefined
12908
- };
12909
-
12910
- return "<div id=\"bmlt-tabs-table\">\n <div id=\"bmlt-header\" class=\"bmlt-header "
12911
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":2,"column":45},"end":{"line":2,"column":72}}}))
12912
- + " hide\">\n"
12913
- + ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
12914
- + " </div>\n"
12915
- + ((stack1 = lookupProperty(helpers,"each").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"groupingButtons") : stack1),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":5,"column":1},"end":{"line":9,"column":10}}})) != null ? stack1 : "")
12916
- + ((stack1 = lookupProperty(helpers,"each").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"formattypeGroupingButtons") : stack1),{"name":"each","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":10,"column":4},"end":{"line":14,"column":10}}})) != null ? stack1 : "")
12917
- + ((stack1 = lookupProperty(helpers,"if").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"config") : depth0)) != null ? lookupProperty(stack1,"map_page") : stack1),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":15,"column":4},"end":{"line":18,"column":11}}})) != null ? stack1 : "")
12918
- + " <div id=\"bmlt_incubator\" class=\"bmlt-page "
12919
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":19,"column":46},"end":{"line":19,"column":73}}}))
12920
- + " hide\">\n <table class='bmlt-table table table-hover table-bordered tablesaw tablesaw-stack "
12921
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":20,"column":90},"end":{"line":20,"column":117}}}))
12922
- + "'>\n"
12923
- + ((stack1 = container.invokePartial(lookupProperty(partials,"groupRows"),((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"allMeetings") : stack1),{"name":"groupRows","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
12924
- + " </table>\n </div>\n</div>\n";
12925
- },"usePartial":true,"useData":true});
12926
- this["hbs_Crouton"]["templates"]["groupModal"] = Handlebars.template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
12927
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12928
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12929
- return parent[propertyName];
12930
- }
12931
- return undefined
12932
- };
12933
-
12934
- return " <div id=\"group_modal\" class=\"modal bootstrap-bml "
12935
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":1,"column":50},"end":{"line":1,"column":77}}}))
12936
- + "\" style=\"display: none;\" tabindex=\"-1\" >\n <div class=\"modal-content\" style=\"width:80%;\">\n <span class=\"modal-title\">"
12937
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"Group Details",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":3,"column":34},"end":{"line":3,"column":61}}}))
12938
- + "</span><span id=\"close_meeting_details\" class=\"modal-close\" style=\"position: absolute;right: 5px;top:10px;\">x</span>\n"
12939
- + ((stack1 = container.invokePartial(lookupProperty(partials,"group"),depth0,{"name":"group","data":data,"indent":"\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
12940
- + " <div>\n <a class=\"modal-button btn btn-primary modal-close\" tabindex=\"0\">\n "
12941
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"Close",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":23}}}))
12942
- + "\n </a>\n </div>\n </div></div>";
12943
- },"usePartial":true,"useData":true});
12944
- this["hbs_Crouton"]["templates"]["groupRows"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
12945
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, alias4=container.lambda, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13233
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.lambda, alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
12946
13234
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
12947
13235
  return parent[propertyName];
12948
13236
  }
12949
13237
  return undefined
12950
13238
  };
12951
13239
 
12952
- return " "
12953
- + alias3((lookupProperty(helpers,"enrich")||(depth0 && lookupProperty(depth0,"enrich"))||alias2).call(alias1,depth0,{"name":"enrich","hash":{},"data":data,"loc":{"start":{"line":2,"column":1},"end":{"line":2,"column":16}}}))
12954
- + "\n <tr class=\"bmlt-data-row\"\n id=\"meeting-data-row-"
12955
- + alias3(alias4((depth0 != null ? lookupProperty(depth0,"id_bigint") : depth0), depth0))
12956
- + "\"\n data-cities=\""
12957
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_municipality") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":5,"column":15},"end":{"line":5,"column":63}}}))
12958
- + "\"\n data-groups=\""
12959
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"meeting_name") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":6,"column":15},"end":{"line":6,"column":54}}}))
12960
- + "\"\n data-locations=\""
12961
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_text") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":7,"column":18},"end":{"line":7,"column":58}}}))
12962
- + "\"\n data-zips=\""
12963
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_postal_code_1") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":8,"column":13},"end":{"line":8,"column":62}}}))
12964
- + "\"\n data-formats=\""
12965
- + alias3((lookupProperty(helpers,"formatDataPointerFormats")||(depth0 && lookupProperty(depth0,"formatDataPointerFormats"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"formats_expanded") : depth0),{"name":"formatDataPointerFormats","hash":{},"data":data,"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":66}}}))
12966
- + "\"\n data-areas=\""
12967
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"service_body_bigint") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":10,"column":14},"end":{"line":10,"column":60}}}))
12968
- + "\"\n data-regions=\""
12969
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"parentServiceBodyName") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":11,"column":16},"end":{"line":11,"column":64}}}))
12970
- + "\"\n data-counties=\""
12971
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_sub_province") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":12,"column":17},"end":{"line":12,"column":65}}}))
12972
- + "\"\n data-neighborhoods=\""
12973
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_neighborhood") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":13,"column":22},"end":{"line":13,"column":70}}}))
12974
- + "\"\n data-states=\""
12975
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_province") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":14,"column":15},"end":{"line":14,"column":59}}}))
12976
- + "\"\n data-venues=\""
12977
- + alias3((lookupProperty(helpers,"formatDataFromArray")||(depth0 && lookupProperty(depth0,"formatDataFromArray"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"venue_type_name") : depth0),{"name":"formatDataFromArray","hash":{},"data":data,"loc":{"start":{"line":15,"column":15},"end":{"line":15,"column":59}}}))
12978
- + "\">\n <td class=\"bmlt-column1\" "
12979
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":16,"column":27},"end":{"line":16,"column":56}}})) != null ? stack1 : "")
13240
+ return "<td class=\"bmlt-column1\" "
13241
+ + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":1,"column":25},"end":{"line":1,"column":54}}})) != null ? stack1 : "")
12980
13242
  + ">\n <div class='meeting-name'>\n <a tabindex='0' href='#' onclick='crouton.meetingModal("
12981
- + alias3(alias4((depth0 != null ? lookupProperty(depth0,"id_bigint") : depth0), depth0))
13243
+ + alias4(alias3((depth0 != null ? lookupProperty(depth0,"id_bigint") : depth0), depth0))
12982
13244
  + ")'><span class='glyphicon glyphicon-search' aria-hidden='true'></span>"
12983
- + alias3(alias4((depth0 != null ? lookupProperty(depth0,"meeting_name") : depth0), depth0))
13245
+ + alias4(alias3((depth0 != null ? lookupProperty(depth0,"meeting_name") : depth0), depth0))
12984
13246
  + "</a>\n </div>\n"
12985
- + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"formats") : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":20,"column":3},"end":{"line":39,"column":10}}})) != null ? stack1 : "")
13247
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"formatKeys"),depth0,{"name":"formatKeys","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
12986
13248
  + " <div class=\"bmlt-comments\">"
12987
- + alias3((lookupProperty(helpers,"formatLink")||(depth0 && lookupProperty(depth0,"formatLink"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"formatted_comments") : depth0),{"name":"formatLink","hash":{},"data":data,"loc":{"start":{"line":40,"column":30},"end":{"line":40,"column":68}}}))
13249
+ + alias4((lookupProperty(helpers,"formatLink")||(depth0 && lookupProperty(depth0,"formatLink"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"formatted_comments") : depth0),{"name":"formatLink","hash":{},"data":data,"loc":{"start":{"line":6,"column":30},"end":{"line":6,"column":68}}}))
12988
13250
  + "</div>\n <div class=\"bmlt-observer\">"
12989
- + ((stack1 = container.invokePartial((lookupProperty(helpers,"selectObserver")||(depth0 && lookupProperty(depth0,"selectObserver"))||alias2).call(alias1,{"name":"selectObserver","hash":{},"data":data,"loc":{"start":{"line":41,"column":34},"end":{"line":41,"column":50}}}),depth0,{"data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13251
+ + ((stack1 = container.invokePartial((lookupProperty(helpers,"selectObserver")||(depth0 && lookupProperty(depth0,"selectObserver"))||alias2).call(alias1,{"name":"selectObserver","hash":{},"data":data,"loc":{"start":{"line":7,"column":34},"end":{"line":7,"column":50}}}),depth0,{"data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
12990
13252
  + "</div>\n </td>\n <td class=\"bmlt-column2\" "
12991
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":43,"column":27},"end":{"line":43,"column":56}}})) != null ? stack1 : "")
12992
- + ">\n <div class=\"meeting-data-template\">\n <div class='location-text'>"
12993
- + alias3(alias4((depth0 != null ? lookupProperty(depth0,"location_text") : depth0), depth0))
12994
- + "</div>\n <div class='meeting-address'>"
12995
- + alias3(alias4((depth0 != null ? lookupProperty(depth0,"formatted_address") : depth0), depth0))
12996
- + "</div>\n <div class='location-information'>"
12997
- + alias3(alias4((depth0 != null ? lookupProperty(depth0,"formatted_location_info") : depth0), depth0))
12998
- + "\n"
12999
- + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":48,"column":4},"end":{"line":50,"column":11}}})) != null ? stack1 : "")
13000
- + ((stack1 = container.invokePartial(lookupProperty(partials,"distance"),depth0,{"name":"distance","data":data,"indent":"\t\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13001
- + " <div class=\"bmlt-group-meetings\">\n"
13002
- + ((stack1 = lookupProperty(helpers,"each").call(alias1,(depth0 != null ? lookupProperty(depth0,"membersOfGroup") : depth0),{"name":"each","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":53,"column":5},"end":{"line":55,"column":14}}})) != null ? stack1 : "")
13003
- + " </div>\n </div>\n </td>\n <td class=\"bmlt-column3\">\n"
13253
+ + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":9,"column":27},"end":{"line":9,"column":56}}})) != null ? stack1 : "")
13254
+ + ">\n <div class=\"meeting-data-template\">\n"
13255
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"groupData"),depth0,{"name":"groupData","data":data,"indent":"\t\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13256
+ + " </div>\n </td>\n <td class=\"bmlt-column3\">\n"
13004
13257
  + ((stack1 = container.invokePartial(lookupProperty(partials,"metaDataTemplate"),depth0,{"name":"metaDataTemplate","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13005
- + ((stack1 = (lookupProperty(helpers,"canShare")||(depth0 && lookupProperty(depth0,"canShare"))||alias2).call(alias1,depth0,{"name":"canShare","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":61,"column":3},"end":{"line":63,"column":16}}})) != null ? stack1 : "")
13006
- + ((stack1 = (lookupProperty(helpers,"reportUpdateEnabled")||(depth0 && lookupProperty(depth0,"reportUpdateEnabled"))||alias2).call(alias1,depth0,{"name":"reportUpdateEnabled","hash":{},"fn":container.program(21, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":64,"column":3},"end":{"line":66,"column":27}}})) != null ? stack1 : "")
13258
+ + ((stack1 = (lookupProperty(helpers,"canShare")||(depth0 && lookupProperty(depth0,"canShare"))||alias2).call(alias1,depth0,{"name":"canShare","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":16,"column":3},"end":{"line":18,"column":16}}})) != null ? stack1 : "")
13259
+ + ((stack1 = (lookupProperty(helpers,"reportUpdateEnabled")||(depth0 && lookupProperty(depth0,"reportUpdateEnabled"))||alias2).call(alias1,depth0,{"name":"reportUpdateEnabled","hash":{},"fn":container.program(14, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":19,"column":3},"end":{"line":21,"column":27}}})) != null ? stack1 : "")
13007
13260
  + ((stack1 = container.invokePartial(lookupProperty(partials,"offerIcsButton"),depth0,{"name":"offerIcsButton","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13008
- + " </td>\n </tr>\n";
13009
- },"2":function(container,depth0,helpers,partials,data) {
13010
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13011
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13012
- return parent[propertyName];
13013
- }
13014
- return undefined
13015
- };
13016
-
13017
- return " <a\n class=\"bmlt-formats btn btn-primary btn-xs\"\n title=\"\"\n data-html=\"true\"\n tabindex=\"0\"\n data-trigger=\"focus\"\n role=\"button\"\n data-toggle=\"popover\"\n data-original-title=\"\"\n data-placement=\""
13018
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"bootstrap-popover-placement",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":30,"column":23},"end":{"line":30,"column":66}}})) != null ? stack1 : "")
13019
- + "\"\n data-content=\""
13020
- + ((stack1 = container.invokePartial((lookupProperty(helpers,"selectFormatPopup")||(depth0 && lookupProperty(depth0,"selectFormatPopup"))||alias2).call(alias1,{"name":"selectFormatPopup","hash":{},"data":data,"loc":{"start":{"line":31,"column":25},"end":{"line":31,"column":44}}}),depth0,{"data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13021
- + "\">\n <span class=\"glyphicon glyphicon-search\"\n aria-hidden=\"true\"\n data-toggle=\"popover\"\n data-trigger=\"focus\"\n data-html=\"true\"\n role=\"button\"></span>"
13022
- + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"formats") : depth0), depth0))
13023
- + "\n </a>\n";
13024
- },"4":function(container,depth0,helpers,partials,data) {
13025
- var lookupProperty = container.lookupProperty || function(parent, propertyName) {
13026
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13027
- return parent[propertyName];
13028
- }
13029
- return undefined
13030
- };
13031
-
13032
- return " <div class='meeting-additional-info'>"
13033
- + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0), depth0))
13034
- + "</div>\n";
13035
- },"6":function(container,depth0,helpers,partials,data) {
13036
- var alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13037
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13038
- return parent[propertyName];
13039
- }
13040
- return undefined
13041
- };
13042
-
13043
- return " <div class=\"bmlt-group-meeting\">"
13044
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"formatted_day") : depth0), depth0))
13045
- + ": "
13046
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"start_time_formatted") : depth0), depth0))
13047
- + "</div>\n";
13048
- },"8":function(container,depth0,helpers,partials,data) {
13049
- var stack1, alias1=container.lambda, alias2=container.escapeExpression, alias3=depth0 != null ? depth0 : (container.nullContext || {}), alias4=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13050
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13051
- return parent[propertyName];
13052
- }
13053
- return undefined
13054
- };
13055
-
13056
- return " <a href=\"javascript:void(0);\" class=\"share-button btn btn-primary btn-xs\" onclick='navigator.share({ text: JSON.stringify(\""
13057
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"formatted_day") : depth0), depth0))
13058
- + " "
13059
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"start_time_formatted") : depth0), depth0))
13060
- + " - "
13061
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"end_time_formatted") : depth0), depth0))
13062
- + " "
13063
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"meeting_name") : depth0), depth0))
13064
- + " "
13065
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"location_text") : depth0), depth0))
13066
- + " "
13067
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"formatted_address") : depth0), depth0))
13068
- + " "
13069
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"formatted_location_info") : depth0), depth0))
13070
- + ((stack1 = lookupProperty(helpers,"if").call(alias3,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":62,"column":314},"end":{"line":62,"column":406}}})) != null ? stack1 : "")
13071
- + "\"), url: \""
13072
- + ((stack1 = (lookupProperty(helpers,"isVirtualOrHybrid")||(depth0 && lookupProperty(depth0,"isVirtualOrHybrid"))||alias4).call(alias3,depth0,{"name":"isVirtualOrHybrid","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":62,"column":416},"end":{"line":62,"column":603}}})) != null ? stack1 : "")
13073
- + ((stack1 = (lookupProperty(helpers,"isInPersonOrHybrid")||(depth0 && lookupProperty(depth0,"isInPersonOrHybrid"))||alias4).call(alias3,depth0,{"name":"isInPersonOrHybrid","hash":{},"fn":container.program(16, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":62,"column":603},"end":{"line":62,"column":881}}})) != null ? stack1 : "")
13074
- + "\"})'><span class=\"glyphicon glyphicon-share\"></span> "
13075
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"share_word") : depth0), depth0))
13076
- + "</a>\n";
13077
- },"9":function(container,depth0,helpers,partials,data) {
13078
- var lookupProperty = container.lookupProperty || function(parent, propertyName) {
13079
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13080
- return parent[propertyName];
13081
- }
13082
- return undefined
13083
- };
13084
-
13085
- return " "
13086
- + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0), depth0));
13087
- },"11":function(container,depth0,helpers,partials,data) {
13088
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
13089
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13090
- return parent[propertyName];
13091
- }
13092
- return undefined
13093
- };
13094
-
13095
- return ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0),{"name":"if","hash":{},"fn":container.program(12, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":62,"column":443},"end":{"line":62,"column":512}}})) != null ? stack1 : "")
13096
- + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0),{"name":"if","hash":{},"fn":container.program(14, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":62,"column":512},"end":{"line":62,"column":581}}})) != null ? stack1 : "");
13097
- },"12":function(container,depth0,helpers,partials,data) {
13098
- var lookupProperty = container.lookupProperty || function(parent, propertyName) {
13099
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13100
- return parent[propertyName];
13101
- }
13102
- return undefined
13103
- };
13104
-
13105
- return container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0), depth0));
13106
- },"14":function(container,depth0,helpers,partials,data) {
13107
- var lookupProperty = container.lookupProperty || function(parent, propertyName) {
13108
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13109
- return parent[propertyName];
13110
- }
13111
- return undefined
13112
- };
13113
-
13114
- return container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0), depth0));
13115
- },"16":function(container,depth0,helpers,partials,data) {
13116
- var stack1, helper, options, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13117
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13118
- return parent[propertyName];
13119
- }
13120
- return undefined
13121
- }, buffer =
13122
- " ";
13123
- stack1 = ((helper = (helper = lookupProperty(helpers,"isOS") || (depth0 != null ? lookupProperty(depth0,"isOS") : depth0)) != null ? helper : container.hooks.helperMissing),(options={"name":"isOS","hash":{},"fn":container.program(17, data, 0),"inverse":container.program(19, data, 0),"data":data,"loc":{"start":{"line":62,"column":632},"end":{"line":62,"column":858}}}),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));
13124
- if (!lookupProperty(helpers,"isOS")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}
13125
- if (stack1 != null) { buffer += stack1; }
13126
- return buffer;
13127
- },"17":function(container,depth0,helpers,partials,data) {
13128
- var alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13261
+ + " </td>\n";
13262
+ },"usePartial":true,"useData":true});
13263
+ this["hbs_Crouton"]["templates"]["groupDetails"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
13264
+ var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13129
13265
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13130
13266
  return parent[propertyName];
13131
13267
  }
13132
13268
  return undefined
13133
13269
  };
13134
13270
 
13135
- return " https://maps.apple.com/?daddr="
13136
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"latitude") : depth0), depth0))
13137
- + ","
13138
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"longitude") : depth0), depth0))
13139
- + " ";
13140
- },"19":function(container,depth0,helpers,partials,data) {
13141
- var alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13271
+ return " <div class=\"col-md-3 mb-2 box-shadow\">\n <div class=\"card-body\">\n"
13272
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"memberDetails"),depth0,{"name":"memberDetails","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13273
+ + " </div>\n </div>\n";
13274
+ },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
13275
+ var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13142
13276
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13143
13277
  return parent[propertyName];
13144
13278
  }
13145
13279
  return undefined
13146
13280
  };
13147
13281
 
13148
- return " https://www.google.com/maps/search/?api=1&amp;query="
13149
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"latitude") : depth0), depth0))
13150
- + ","
13151
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"longitude") : depth0), depth0))
13152
- + "&amp;q="
13153
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"latitude") : depth0), depth0))
13154
- + ","
13155
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"longitude") : depth0), depth0));
13156
- },"21":function(container,depth0,helpers,partials,data) {
13157
- var helper, alias1=container.escapeExpression, alias2=container.lambda, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13282
+ return "<div class=\"card group "
13283
+ + container.escapeExpression((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":1,"column":23},"end":{"line":1,"column":50}}}))
13284
+ + "\">\n <div class=\"card-body\">\n <div class=\"card-title header-elements\" style=\"display: flex; justify-content:space-between; align-items:center;\">\n"
13285
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"groupTitle"),depth0,{"name":"groupTitle","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13286
+ + " </div>\n <div class=\"row\" "
13287
+ + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":6,"column":25},"end":{"line":6,"column":54}}})) != null ? stack1 : "")
13288
+ + ">\n <div class=\"col-md-4\">\n "
13289
+ + ((stack1 = ((helper = (helper = lookupProperty(helpers,"crouton_map") || (depth0 != null ? lookupProperty(depth0,"crouton_map") : depth0)) != null ? helper : alias2),(typeof helper === "function" ? helper.call(alias1,{"name":"crouton_map","hash":{},"data":data,"loc":{"start":{"line":8,"column":20},"end":{"line":8,"column":37}}}) : helper))) != null ? stack1 : "")
13290
+ + "\n </div>\n <div class=\"col-md-7 box-shadow\" style=\"margin-inline-start:10px;\">\n <div class=\"card-body\">\n"
13291
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"groupDetailsContents"),depth0,{"name":"groupDetailsContents","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13292
+ + " </div>\n </div>\n </div>\n <div class=\"row card-meeting-row\" "
13293
+ + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":16,"column":42},"end":{"line":16,"column":71}}})) != null ? stack1 : "")
13294
+ + ">\n"
13295
+ + ((stack1 = lookupProperty(helpers,"each").call(alias1,(depth0 != null ? lookupProperty(depth0,"membersOfGroup") : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":17,"column":12},"end":{"line":23,"column":21}}})) != null ? stack1 : "")
13296
+ + " </div>\n </div>\n</div>";
13297
+ },"usePartial":true,"useData":true});
13298
+ this["hbs_Crouton"]["templates"]["groupStackedRow"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
13299
+ var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13158
13300
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13159
13301
  return parent[propertyName];
13160
13302
  }
13161
13303
  return undefined
13162
13304
  };
13163
13305
 
13164
- return " <a href=\""
13165
- + alias1(((helper = (helper = lookupProperty(helpers,"reportUpdateUrl") || (depth0 != null ? lookupProperty(depth0,"reportUpdateUrl") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"reportUpdateUrl","hash":{},"data":data,"loc":{"start":{"line":65,"column":13},"end":{"line":65,"column":34}}}) : helper)))
13166
- + "?meeting_id="
13167
- + alias1(alias2((depth0 != null ? lookupProperty(depth0,"id_bigint") : depth0), depth0))
13168
- + "\" class=\"share-button btn btn-primary btn-xs edit-button\" target=\"_blank\"><span class=\"glyphicon glyphicon-edit\"></span> "
13169
- + alias1(alias2((depth0 != null ? lookupProperty(depth0,"report_update_word") : depth0), depth0))
13170
- + "</a>\n";
13306
+ return " <div class=\"col-md-3 mb-2 box-shadow\">\n <div class=\"card-body\">\n"
13307
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"memberDetails"),depth0,{"name":"memberDetails","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13308
+ + " </div>\n </div>\n";
13171
13309
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
13172
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13310
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13173
13311
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13174
13312
  return parent[propertyName];
13175
13313
  }
13176
13314
  return undefined
13177
13315
  };
13178
13316
 
13179
- return ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),depth0,{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":70,"column":9}}})) != null ? stack1 : "");
13317
+ return "<div class=\"card group\">\n <div class=\"card-body\">\n <div class=\"card-title header-elements\" style=\"display: flex; justify-content:space-between; align-items:center;\">\n"
13318
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"groupTitle"),depth0,{"name":"groupTitle","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13319
+ + " </div>\n <div class=\"row\" "
13320
+ + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":6,"column":25},"end":{"line":6,"column":54}}})) != null ? stack1 : "")
13321
+ + ">\n <div class=\"col-md-8 box-shadow\" style=\"margin-inline-start:10px;\">\n <div class=\"card-body\">\n"
13322
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"groupDetailsContents"),depth0,{"name":"groupDetailsContents","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13323
+ + " </div>\n </div>\n </div>\n <div class=\"row card-meeting-row\" "
13324
+ + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":13,"column":42},"end":{"line":13,"column":71}}})) != null ? stack1 : "")
13325
+ + ">\n"
13326
+ + ((stack1 = lookupProperty(helpers,"each").call(alias1,(depth0 != null ? lookupProperty(depth0,"membersOfGroup") : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":14,"column":12},"end":{"line":20,"column":21}}})) != null ? stack1 : "")
13327
+ + " </div>\n </div>\n</div>";
13180
13328
  },"usePartial":true,"useData":true});
13181
13329
  this["hbs_Crouton"]["templates"]["header"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data,blockParams,depths) {
13182
13330
  var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
@@ -13380,11 +13528,43 @@ this["hbs_Crouton"]["templates"]["main"] = Handlebars.template({"1":function(con
13380
13528
  return undefined
13381
13529
  };
13382
13530
 
13383
- return " <div id=\"byfield_embeddedMapPage\" class=\"bmlt-map bmlt-page "
13384
- + container.escapeExpression((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":16,"column":65},"end":{"line":16,"column":92}}}))
13385
- + " hide\">\n </div>\n";
13531
+ return " <div id=\"byfield_embeddedMapPage\" class=\"bmlt-map bmlt-page "
13532
+ + container.escapeExpression((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":16,"column":65},"end":{"line":16,"column":92}}}))
13533
+ + " hide\">\n </div>\n";
13534
+ },"7":function(container,depth0,helpers,partials,data) {
13535
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13536
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13537
+ return parent[propertyName];
13538
+ }
13539
+ return undefined
13540
+ };
13541
+
13542
+ return " <div id=\"bmlt_incubator\" class=\"bmlt-page "
13543
+ + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":20,"column":50},"end":{"line":20,"column":77}}}))
13544
+ + " hide\">\n <table class='bmlt-table table table-hover table-bordered tablesaw tablesaw-stack "
13545
+ + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":21,"column":94},"end":{"line":21,"column":121}}}))
13546
+ + "'>\n"
13547
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"tableRows"),((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"allMeetings") : stack1),{"name":"tableRows","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13548
+ + " </table>\n </div>\n";
13549
+ },"9":function(container,depth0,helpers,partials,data) {
13550
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13551
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13552
+ return parent[propertyName];
13553
+ }
13554
+ return undefined
13555
+ };
13556
+
13557
+ return " <div id=\"byday\" class=\"bmlt-page "
13558
+ + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":26,"column":41},"end":{"line":26,"column":68}}}))
13559
+ + " hide\">\n"
13560
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"bydays"),((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"bydays") : stack1),{"name":"bydays","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13561
+ + " </div>\n <div id=\"tabs-content\" class=\"bmlt-page "
13562
+ + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":29,"column":48},"end":{"line":29,"column":75}}}))
13563
+ + "\">\n"
13564
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"weekdays"),((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"weekdays") : stack1),{"name":"weekdays","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13565
+ + " </div>\n";
13386
13566
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
13387
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13567
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
13388
13568
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13389
13569
  return parent[propertyName];
13390
13570
  }
@@ -13392,22 +13572,14 @@ this["hbs_Crouton"]["templates"]["main"] = Handlebars.template({"1":function(con
13392
13572
  };
13393
13573
 
13394
13574
  return "<div id=\"bmlt-tabs-table\">\n <div id=\"bmlt-header\" class=\"bmlt-header "
13395
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":2,"column":45},"end":{"line":2,"column":72}}}))
13575
+ + container.escapeExpression((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":2,"column":45},"end":{"line":2,"column":72}}}))
13396
13576
  + " hide\">\n"
13397
13577
  + ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13398
13578
  + " </div>\n"
13399
13579
  + ((stack1 = lookupProperty(helpers,"each").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"groupingButtons") : stack1),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":5,"column":1},"end":{"line":9,"column":10}}})) != null ? stack1 : "")
13400
13580
  + ((stack1 = lookupProperty(helpers,"each").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"formattypeGroupingButtons") : stack1),{"name":"each","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":10,"column":4},"end":{"line":14,"column":10}}})) != null ? stack1 : "")
13401
13581
  + ((stack1 = lookupProperty(helpers,"if").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"config") : depth0)) != null ? lookupProperty(stack1,"map_page") : stack1),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":15,"column":4},"end":{"line":18,"column":11}}})) != null ? stack1 : "")
13402
- + " <div id=\"byday\" class=\"bmlt-page "
13403
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":19,"column":37},"end":{"line":19,"column":64}}}))
13404
- + " hide\">\n"
13405
- + ((stack1 = container.invokePartial(lookupProperty(partials,"bydays"),((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"bydays") : stack1),{"name":"bydays","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13406
- + " </div>\n <div id=\"tabs-content\" class=\"bmlt-page "
13407
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":22,"column":44},"end":{"line":22,"column":71}}}))
13408
- + "\">\n"
13409
- + ((stack1 = container.invokePartial(lookupProperty(partials,"weekdays"),((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"weekdays") : stack1),{"name":"weekdays","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13410
- + " </div>\n"
13582
+ + ((stack1 = lookupProperty(helpers,"if").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"config") : depth0)) != null ? lookupProperty(stack1,"groups") : stack1),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.program(9, data, 0),"data":data,"loc":{"start":{"line":19,"column":4},"end":{"line":32,"column":11}}})) != null ? stack1 : "")
13411
13583
  + ((stack1 = container.invokePartial(lookupProperty(partials,"meetingCountTemplate"),depth0,{"name":"meetingCountTemplate","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13412
13584
  + "</div>\n";
13413
13585
  },"usePartial":true,"useData":true});
@@ -13479,7 +13651,7 @@ this["hbs_Crouton"]["templates"]["mapMenu"] = Handlebars.template({"1":function(
13479
13651
  return undefined
13480
13652
  };
13481
13653
 
13482
- return ((stack1 = container.invokePartial(lookupProperty(partials,"meetings"),(depth0 != null ? lookupProperty(depth0,"meetings") : depth0),{"name":"meetings","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
13654
+ return ((stack1 = container.invokePartial(lookupProperty(partials,"tableRows"),(depth0 != null ? lookupProperty(depth0,"meetings") : depth0),{"name":"tableRows","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
13483
13655
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data,blockParams,depths) {
13484
13656
  var stack1, alias1=container.escapeExpression, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13485
13657
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
@@ -13556,117 +13728,7 @@ this["hbs_Crouton"]["templates"]["mapSearch"] = Handlebars.template({"compiler":
13556
13728
  + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"Back",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":33,"column":73},"end":{"line":33,"column":91}}}))
13557
13729
  + "</button>\n </div>\n </div>\n</div>";
13558
13730
  },"useData":true});
13559
- this["hbs_Crouton"]["templates"]["meetingDetailsButton"] = Handlebars.template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
13560
- var alias1=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13561
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13562
- return parent[propertyName];
13563
- }
13564
- return undefined
13565
- };
13566
-
13567
- return " <div>\n <a onclick='crouton.meetingModal("
13568
- + alias1(container.lambda((depth0 != null ? lookupProperty(depth0,"id_bigint") : depth0), depth0))
13569
- + ")' tabindex='0' href='#' class='map-button btn btn-primary btn-xs'>\n <span class='glyphicon glyphicon-search' aria-hidden='true'></span>\n "
13570
- + alias1((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),"meeting details",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":4,"column":5},"end":{"line":4,"column":34}}}))
13571
- + "\n </a>\n </div>\n";
13572
- },"useData":true});
13573
- this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
13574
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, alias4=container.lambda, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13575
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13576
- return parent[propertyName];
13577
- }
13578
- return undefined
13579
- };
13580
-
13581
- return " "
13582
- + alias3((lookupProperty(helpers,"enrich")||(depth0 && lookupProperty(depth0,"enrich"))||alias2).call(alias1,depth0,{"name":"enrich","hash":{},"data":data,"loc":{"start":{"line":2,"column":1},"end":{"line":2,"column":16}}}))
13583
- + "\n <tr class=\"bmlt-data-row\"\n id=\"meeting-data-row-"
13584
- + alias3(alias4((depth0 != null ? lookupProperty(depth0,"id_bigint") : depth0), depth0))
13585
- + "\"\n data-cities=\""
13586
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_municipality") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":5,"column":15},"end":{"line":5,"column":63}}}))
13587
- + "\"\n data-groups=\""
13588
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"meeting_name") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":6,"column":15},"end":{"line":6,"column":54}}}))
13589
- + "\"\n data-locations=\""
13590
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_text") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":7,"column":18},"end":{"line":7,"column":58}}}))
13591
- + "\"\n data-zips=\""
13592
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_postal_code_1") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":8,"column":13},"end":{"line":8,"column":62}}}))
13593
- + "\"\n data-formats=\""
13594
- + alias3((lookupProperty(helpers,"formatDataPointerFormats")||(depth0 && lookupProperty(depth0,"formatDataPointerFormats"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"formats_expanded") : depth0),{"name":"formatDataPointerFormats","hash":{},"data":data,"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":66}}}))
13595
- + "\"\n data-areas=\""
13596
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"service_body_bigint") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":10,"column":14},"end":{"line":10,"column":60}}}))
13597
- + "\"\n data-regions=\""
13598
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"parentServiceBodyName") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":11,"column":16},"end":{"line":11,"column":64}}}))
13599
- + "\"\n data-counties=\""
13600
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_sub_province") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":12,"column":17},"end":{"line":12,"column":65}}}))
13601
- + "\"\n data-neighborhoods=\""
13602
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_neighborhood") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":13,"column":22},"end":{"line":13,"column":70}}}))
13603
- + "\"\n data-states=\""
13604
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_province") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":14,"column":15},"end":{"line":14,"column":59}}}))
13605
- + "\"\n data-venues=\""
13606
- + alias3((lookupProperty(helpers,"formatDataFromArray")||(depth0 && lookupProperty(depth0,"formatDataFromArray"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"venue_type_name") : depth0),{"name":"formatDataFromArray","hash":{},"data":data,"loc":{"start":{"line":15,"column":15},"end":{"line":15,"column":59}}}))
13607
- + "\"\n data-weekdays=\""
13608
- + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"formatted_day") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":16,"column":17},"end":{"line":16,"column":57}}}))
13609
- + "\">\n <td class=\"bmlt-column1\" "
13610
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":17,"column":27},"end":{"line":17,"column":56}}})) != null ? stack1 : "")
13611
- + ">\n <div class=\"bmlt-day\">"
13612
- + alias3(alias4((depth0 != null ? lookupProperty(depth0,"formatted_day") : depth0), depth0))
13613
- + "</div>\n"
13614
- + ((stack1 = (lookupProperty(helpers,"ifEquals")||(depth0 && lookupProperty(depth0,"ifEquals"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"duration_time") : depth0),"24:00:00",{"name":"ifEquals","hash":{},"fn":container.program(2, data, 0),"inverse":container.program(4, data, 0),"data":data,"loc":{"start":{"line":19,"column":3},"end":{"line":23,"column":16}}})) != null ? stack1 : "")
13615
- + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"formats") : depth0),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":24,"column":3},"end":{"line":43,"column":10}}})) != null ? stack1 : "")
13616
- + " <div class=\"bmlt-comments\">"
13617
- + alias3((lookupProperty(helpers,"formatLink")||(depth0 && lookupProperty(depth0,"formatLink"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"formatted_comments") : depth0),{"name":"formatLink","hash":{},"data":data,"loc":{"start":{"line":44,"column":30},"end":{"line":44,"column":68}}}))
13618
- + "</div>\n <div class=\"bmlt-observer\">"
13619
- + ((stack1 = container.invokePartial((lookupProperty(helpers,"selectObserver")||(depth0 && lookupProperty(depth0,"selectObserver"))||alias2).call(alias1,{"name":"selectObserver","hash":{},"data":data,"loc":{"start":{"line":45,"column":34},"end":{"line":45,"column":50}}}),depth0,{"data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13620
- + "</div>\n </td>\n <td class=\"bmlt-column2\" "
13621
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":47,"column":27},"end":{"line":47,"column":56}}})) != null ? stack1 : "")
13622
- + ">\n <div class=\"meeting-data-template\">"
13623
- + ((stack1 = container.invokePartial(lookupProperty(partials,"meetingDataTemplate"),depth0,{"name":"meetingDataTemplate","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13624
- + "</div>\n </td>\n <td class=\"bmlt-column3\">\n"
13625
- + ((stack1 = container.invokePartial(lookupProperty(partials,"metaDataTemplate"),depth0,{"name":"metaDataTemplate","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13626
- + ((stack1 = (lookupProperty(helpers,"canShare")||(depth0 && lookupProperty(depth0,"canShare"))||alias2).call(alias1,depth0,{"name":"canShare","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":52,"column":3},"end":{"line":54,"column":16}}})) != null ? stack1 : "")
13627
- + ((stack1 = (lookupProperty(helpers,"reportUpdateEnabled")||(depth0 && lookupProperty(depth0,"reportUpdateEnabled"))||alias2).call(alias1,depth0,{"name":"reportUpdateEnabled","hash":{},"fn":container.program(21, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":55,"column":3},"end":{"line":57,"column":27}}})) != null ? stack1 : "")
13628
- + ((stack1 = container.invokePartial(lookupProperty(partials,"offerIcsButton"),depth0,{"name":"offerIcsButton","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13629
- + " </td>\n </tr>\n";
13630
- },"2":function(container,depth0,helpers,partials,data) {
13631
- var lookupProperty = container.lookupProperty || function(parent, propertyName) {
13632
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13633
- return parent[propertyName];
13634
- }
13635
- return undefined
13636
- };
13637
-
13638
- return " <div class=\"bmlt-time-2\">"
13639
- + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"start_time_formatted") : depth0), depth0))
13640
- + "</div>\n";
13641
- },"4":function(container,depth0,helpers,partials,data) {
13642
- var alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13643
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13644
- return parent[propertyName];
13645
- }
13646
- return undefined
13647
- };
13648
-
13649
- return " <div class=\"bmlt-time-2\">"
13650
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"start_time_formatted") : depth0), depth0))
13651
- + " - "
13652
- + alias2(alias1((depth0 != null ? lookupProperty(depth0,"end_time_formatted") : depth0), depth0))
13653
- + "</div>\n";
13654
- },"6":function(container,depth0,helpers,partials,data) {
13655
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13656
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13657
- return parent[propertyName];
13658
- }
13659
- return undefined
13660
- };
13661
-
13662
- return " <a\n class=\"bmlt-formats btn btn-primary btn-xs\"\n title=\"\"\n data-html=\"true\"\n tabindex=\"0\"\n data-trigger=\"focus\"\n role=\"button\"\n data-toggle=\"popover\"\n data-original-title=\"\"\n data-placement=\""
13663
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"bootstrap-popover-placement",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":34,"column":23},"end":{"line":34,"column":66}}})) != null ? stack1 : "")
13664
- + "\"\n data-content=\""
13665
- + ((stack1 = container.invokePartial((lookupProperty(helpers,"selectFormatPopup")||(depth0 && lookupProperty(depth0,"selectFormatPopup"))||alias2).call(alias1,{"name":"selectFormatPopup","hash":{},"data":data,"loc":{"start":{"line":35,"column":25},"end":{"line":35,"column":44}}}),depth0,{"data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13666
- + "\">\n <span class=\"glyphicon glyphicon-search\"\n aria-hidden=\"true\"\n data-toggle=\"popover\"\n data-trigger=\"focus\"\n data-html=\"true\"\n role=\"button\"></span>"
13667
- + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"formats") : depth0), depth0))
13668
- + "\n </a>\n";
13669
- },"8":function(container,depth0,helpers,partials,data) {
13731
+ this["hbs_Crouton"]["templates"]["meeting3ColumnRow"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
13670
13732
  var stack1, alias1=container.lambda, alias2=container.escapeExpression, alias3=depth0 != null ? depth0 : (container.nullContext || {}), alias4=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13671
13733
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13672
13734
  return parent[propertyName];
@@ -13688,14 +13750,14 @@ this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function
13688
13750
  + alias2(alias1((depth0 != null ? lookupProperty(depth0,"formatted_address") : depth0), depth0))
13689
13751
  + " "
13690
13752
  + alias2(alias1((depth0 != null ? lookupProperty(depth0,"formatted_location_info") : depth0), depth0))
13691
- + ((stack1 = lookupProperty(helpers,"if").call(alias3,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":53,"column":314},"end":{"line":53,"column":406}}})) != null ? stack1 : "")
13753
+ + ((stack1 = lookupProperty(helpers,"if").call(alias3,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":12,"column":314},"end":{"line":12,"column":406}}})) != null ? stack1 : "")
13692
13754
  + "\"), url: \""
13693
- + ((stack1 = (lookupProperty(helpers,"isVirtualOrHybrid")||(depth0 && lookupProperty(depth0,"isVirtualOrHybrid"))||alias4).call(alias3,depth0,{"name":"isVirtualOrHybrid","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":53,"column":416},"end":{"line":53,"column":603}}})) != null ? stack1 : "")
13694
- + ((stack1 = (lookupProperty(helpers,"isInPersonOrHybrid")||(depth0 && lookupProperty(depth0,"isInPersonOrHybrid"))||alias4).call(alias3,depth0,{"name":"isInPersonOrHybrid","hash":{},"fn":container.program(16, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":53,"column":603},"end":{"line":53,"column":881}}})) != null ? stack1 : "")
13755
+ + ((stack1 = (lookupProperty(helpers,"isVirtualOrHybrid")||(depth0 && lookupProperty(depth0,"isVirtualOrHybrid"))||alias4).call(alias3,depth0,{"name":"isVirtualOrHybrid","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":12,"column":416},"end":{"line":12,"column":603}}})) != null ? stack1 : "")
13756
+ + ((stack1 = (lookupProperty(helpers,"isInPersonOrHybrid")||(depth0 && lookupProperty(depth0,"isInPersonOrHybrid"))||alias4).call(alias3,depth0,{"name":"isInPersonOrHybrid","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":12,"column":603},"end":{"line":12,"column":881}}})) != null ? stack1 : "")
13695
13757
  + "\"})'><span class=\"glyphicon glyphicon-share\"></span> "
13696
13758
  + alias2(alias1((depth0 != null ? lookupProperty(depth0,"share_word") : depth0), depth0))
13697
13759
  + "</a>\n";
13698
- },"9":function(container,depth0,helpers,partials,data) {
13760
+ },"2":function(container,depth0,helpers,partials,data) {
13699
13761
  var lookupProperty = container.lookupProperty || function(parent, propertyName) {
13700
13762
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13701
13763
  return parent[propertyName];
@@ -13705,7 +13767,7 @@ this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function
13705
13767
 
13706
13768
  return " "
13707
13769
  + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"virtual_meeting_additional_info") : depth0), depth0));
13708
- },"11":function(container,depth0,helpers,partials,data) {
13770
+ },"4":function(container,depth0,helpers,partials,data) {
13709
13771
  var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
13710
13772
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13711
13773
  return parent[propertyName];
@@ -13713,9 +13775,9 @@ this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function
13713
13775
  return undefined
13714
13776
  };
13715
13777
 
13716
- return ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0),{"name":"if","hash":{},"fn":container.program(12, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":53,"column":443},"end":{"line":53,"column":512}}})) != null ? stack1 : "")
13717
- + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0),{"name":"if","hash":{},"fn":container.program(14, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":53,"column":512},"end":{"line":53,"column":581}}})) != null ? stack1 : "");
13718
- },"12":function(container,depth0,helpers,partials,data) {
13778
+ return ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":12,"column":443},"end":{"line":12,"column":512}}})) != null ? stack1 : "")
13779
+ + ((stack1 = lookupProperty(helpers,"if").call(alias1,(depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":12,"column":512},"end":{"line":12,"column":581}}})) != null ? stack1 : "");
13780
+ },"5":function(container,depth0,helpers,partials,data) {
13719
13781
  var lookupProperty = container.lookupProperty || function(parent, propertyName) {
13720
13782
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13721
13783
  return parent[propertyName];
@@ -13724,7 +13786,7 @@ this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function
13724
13786
  };
13725
13787
 
13726
13788
  return container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"virtual_meeting_link") : depth0), depth0));
13727
- },"14":function(container,depth0,helpers,partials,data) {
13789
+ },"7":function(container,depth0,helpers,partials,data) {
13728
13790
  var lookupProperty = container.lookupProperty || function(parent, propertyName) {
13729
13791
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13730
13792
  return parent[propertyName];
@@ -13733,7 +13795,7 @@ this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function
13733
13795
  };
13734
13796
 
13735
13797
  return container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"phone_meeting_number") : depth0), depth0));
13736
- },"16":function(container,depth0,helpers,partials,data) {
13798
+ },"9":function(container,depth0,helpers,partials,data) {
13737
13799
  var stack1, helper, options, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13738
13800
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13739
13801
  return parent[propertyName];
@@ -13741,11 +13803,11 @@ this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function
13741
13803
  return undefined
13742
13804
  }, buffer =
13743
13805
  " ";
13744
- stack1 = ((helper = (helper = lookupProperty(helpers,"isOS") || (depth0 != null ? lookupProperty(depth0,"isOS") : depth0)) != null ? helper : container.hooks.helperMissing),(options={"name":"isOS","hash":{},"fn":container.program(17, data, 0),"inverse":container.program(19, data, 0),"data":data,"loc":{"start":{"line":53,"column":632},"end":{"line":53,"column":858}}}),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));
13806
+ stack1 = ((helper = (helper = lookupProperty(helpers,"isOS") || (depth0 != null ? lookupProperty(depth0,"isOS") : depth0)) != null ? helper : container.hooks.helperMissing),(options={"name":"isOS","hash":{},"fn":container.program(10, data, 0),"inverse":container.program(12, data, 0),"data":data,"loc":{"start":{"line":12,"column":632},"end":{"line":12,"column":858}}}),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),options) : helper));
13745
13807
  if (!lookupProperty(helpers,"isOS")) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}
13746
13808
  if (stack1 != null) { buffer += stack1; }
13747
13809
  return buffer;
13748
- },"17":function(container,depth0,helpers,partials,data) {
13810
+ },"10":function(container,depth0,helpers,partials,data) {
13749
13811
  var alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13750
13812
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13751
13813
  return parent[propertyName];
@@ -13758,7 +13820,7 @@ this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function
13758
13820
  + ","
13759
13821
  + alias2(alias1((depth0 != null ? lookupProperty(depth0,"longitude") : depth0), depth0))
13760
13822
  + " ";
13761
- },"19":function(container,depth0,helpers,partials,data) {
13823
+ },"12":function(container,depth0,helpers,partials,data) {
13762
13824
  var alias1=container.lambda, alias2=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13763
13825
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13764
13826
  return parent[propertyName];
@@ -13774,7 +13836,7 @@ this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function
13774
13836
  + alias2(alias1((depth0 != null ? lookupProperty(depth0,"latitude") : depth0), depth0))
13775
13837
  + ","
13776
13838
  + alias2(alias1((depth0 != null ? lookupProperty(depth0,"longitude") : depth0), depth0));
13777
- },"21":function(container,depth0,helpers,partials,data) {
13839
+ },"14":function(container,depth0,helpers,partials,data) {
13778
13840
  var helper, alias1=container.escapeExpression, alias2=container.lambda, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13779
13841
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13780
13842
  return parent[propertyName];
@@ -13783,13 +13845,123 @@ this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function
13783
13845
  };
13784
13846
 
13785
13847
  return " <a href=\""
13786
- + alias1(((helper = (helper = lookupProperty(helpers,"reportUpdateUrl") || (depth0 != null ? lookupProperty(depth0,"reportUpdateUrl") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"reportUpdateUrl","hash":{},"data":data,"loc":{"start":{"line":56,"column":13},"end":{"line":56,"column":34}}}) : helper)))
13848
+ + alias1(((helper = (helper = lookupProperty(helpers,"reportUpdateUrl") || (depth0 != null ? lookupProperty(depth0,"reportUpdateUrl") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"reportUpdateUrl","hash":{},"data":data,"loc":{"start":{"line":15,"column":13},"end":{"line":15,"column":34}}}) : helper)))
13787
13849
  + "?meeting_id="
13788
13850
  + alias1(alias2((depth0 != null ? lookupProperty(depth0,"id_bigint") : depth0), depth0))
13789
13851
  + "\" class=\"share-button btn btn-primary btn-xs edit-button\" target=\"_blank\"><span class=\"glyphicon glyphicon-edit\"></span> "
13790
13852
  + alias1(alias2((depth0 != null ? lookupProperty(depth0,"report_update_word") : depth0), depth0))
13791
13853
  + "</a>\n";
13792
13854
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
13855
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13856
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13857
+ return parent[propertyName];
13858
+ }
13859
+ return undefined
13860
+ };
13861
+
13862
+ return " <td class=\"bmlt-column1\" "
13863
+ + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":1,"column":27},"end":{"line":1,"column":56}}})) != null ? stack1 : "")
13864
+ + ">\n"
13865
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"meetingTimesTemplate"),depth0,{"name":"meetingTimesTemplate","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13866
+ + " </td>\n <td class=\"bmlt-column2\" "
13867
+ + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":4,"column":27},"end":{"line":4,"column":56}}})) != null ? stack1 : "")
13868
+ + ">\n <div class=\"meeting-data-template\">\n"
13869
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"meetingDataTemplate"),depth0,{"name":"meetingDataTemplate","data":data,"indent":"\t\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13870
+ + " </div>\n </td>\n <td class=\"bmlt-column3\">\n"
13871
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"metaDataTemplate"),depth0,{"name":"metaDataTemplate","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13872
+ + ((stack1 = (lookupProperty(helpers,"canShare")||(depth0 && lookupProperty(depth0,"canShare"))||alias2).call(alias1,depth0,{"name":"canShare","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":11,"column":3},"end":{"line":13,"column":16}}})) != null ? stack1 : "")
13873
+ + ((stack1 = (lookupProperty(helpers,"reportUpdateEnabled")||(depth0 && lookupProperty(depth0,"reportUpdateEnabled"))||alias2).call(alias1,depth0,{"name":"reportUpdateEnabled","hash":{},"fn":container.program(14, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":14,"column":3},"end":{"line":16,"column":27}}})) != null ? stack1 : "")
13874
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"offerIcsButton"),depth0,{"name":"offerIcsButton","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13875
+ + " </td>";
13876
+ },"usePartial":true,"useData":true});
13877
+ this["hbs_Crouton"]["templates"]["meetingDetails"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
13878
+ var stack1, helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13879
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13880
+ return parent[propertyName];
13881
+ }
13882
+ return undefined
13883
+ };
13884
+
13885
+ return " <td id=\"meetingpage_map_td\">"
13886
+ + ((stack1 = ((helper = (helper = lookupProperty(helpers,"crouton_map") || (depth0 != null ? lookupProperty(depth0,"crouton_map") : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"crouton_map","hash":{},"data":data,"loc":{"start":{"line":11,"column":52},"end":{"line":11,"column":69}}}) : helper))) != null ? stack1 : "")
13887
+ + "</td>\n";
13888
+ },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
13889
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13890
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13891
+ return parent[propertyName];
13892
+ }
13893
+ return undefined
13894
+ };
13895
+
13896
+ return "\n <table id=\"meeting-details-table\" class=\"bmlt-table "
13897
+ + container.escapeExpression((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":2,"column":55},"end":{"line":2,"column":82}}}))
13898
+ + " table table-striped table-hover table-bordered tablesaw tablesaw-stack meeting-details\">\n <thead>\n <th id=\"meeting-details-title\" colspan=\"2\">\n"
13899
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"meetingpageTitleTemplate"),depth0,{"name":"meetingpageTitleTemplate","data":data,"indent":"\t\t \t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13900
+ + " </th>\n </thead>\n <tbody>\n <tr id=\"meeting-details-contents\">\n"
13901
+ + ((stack1 = (lookupProperty(helpers,"isInPersonOrHybrid")||(depth0 && lookupProperty(depth0,"isInPersonOrHybrid"))||alias2).call(alias1,depth0,{"name":"isInPersonOrHybrid","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":10,"column":20},"end":{"line":12,"column":43}}})) != null ? stack1 : "")
13902
+ + " <td style=\"vertical-align:top;\">\n"
13903
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"meetingDetailsContentsTemplate"),depth0,{"name":"meetingDetailsContentsTemplate","data":data,"indent":" \t\t\t ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13904
+ + " </td>\n </tr>\n </tbody>\n </table>";
13905
+ },"usePartial":true,"useData":true});
13906
+ this["hbs_Crouton"]["templates"]["meetingDetailsButton"] = Handlebars.template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
13907
+ var alias1=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13908
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13909
+ return parent[propertyName];
13910
+ }
13911
+ return undefined
13912
+ };
13913
+
13914
+ return " <div>\n <a onclick='crouton.meetingModal("
13915
+ + alias1(container.lambda((depth0 != null ? lookupProperty(depth0,"id_bigint") : depth0), depth0))
13916
+ + ")' tabindex='0' href='#' class='map-button btn btn-primary btn-xs'>\n <span class='glyphicon glyphicon-search' aria-hidden='true'></span>\n "
13917
+ + alias1((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),"meeting details",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":4,"column":5},"end":{"line":4,"column":34}}}))
13918
+ + "\n </a>\n </div>\n";
13919
+ },"useData":true});
13920
+ this["hbs_Crouton"]["templates"]["meetingModal"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
13921
+ return "group-modal";
13922
+ },"3":function(container,depth0,helpers,partials,data) {
13923
+ return "meeting-modal";
13924
+ },"5":function(container,depth0,helpers,partials,data) {
13925
+ var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13926
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13927
+ return parent[propertyName];
13928
+ }
13929
+ return undefined
13930
+ };
13931
+
13932
+ return ((stack1 = container.invokePartial(lookupProperty(partials,"groupDetails"),depth0,{"name":"groupDetails","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
13933
+ },"7":function(container,depth0,helpers,partials,data) {
13934
+ var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13935
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13936
+ return parent[propertyName];
13937
+ }
13938
+ return undefined
13939
+ };
13940
+
13941
+ return ((stack1 = container.invokePartial(lookupProperty(partials,"meetingDetails"),depth0,{"name":"meetingDetails","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
13942
+ },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
13943
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13944
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13945
+ return parent[propertyName];
13946
+ }
13947
+ return undefined
13948
+ };
13949
+
13950
+ return "\n <div id=\"meeting_modal\" class=\"modal bootstrap-bmlt\" style=\"display: none;\" tabindex=\"-1\" >\n <div class=\"modal-content "
13951
+ + ((stack1 = (lookupProperty(helpers,"ifGroup")||(depth0 && lookupProperty(depth0,"ifGroup"))||alias2).call(alias1,depth0,{"name":"ifGroup","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data,"loc":{"start":{"line":3,"column":27},"end":{"line":3,"column":88}}})) != null ? stack1 : "")
13952
+ + "\">\n <span class=\"modal-title\">"
13953
+ + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"Meeting Details",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":4,"column":34},"end":{"line":4,"column":63}}}))
13954
+ + "</span><span id=\"close_meeting_details\" class=\"modal-close\" style=\"position: absolute;right: 5px;top:10px;\">x</span>\n"
13955
+ + ((stack1 = (lookupProperty(helpers,"ifGroup")||(depth0 && lookupProperty(depth0,"ifGroup"))||alias2).call(alias1,depth0,{"name":"ifGroup","hash":{},"fn":container.program(5, data, 0),"inverse":container.program(7, data, 0),"data":data,"loc":{"start":{"line":5,"column":8},"end":{"line":9,"column":14}}})) != null ? stack1 : "")
13956
+ + " <div>\n <a class=\"map-button btn btn-primary btn-xs\" href=\""
13957
+ + ((stack1 = container.lambda((depth0 != null ? lookupProperty(depth0,"meeting_details_url") : depth0), depth0)) != null ? stack1 : "")
13958
+ + "\" tabindex=\"0\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"float:left\">\n "
13959
+ + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"Meeting Page",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":12,"column":4},"end":{"line":12,"column":30}}}))
13960
+ + "</a>\n <a class=\"map-button btn btn-primary btn-xs modal-close\" tabindex=\"0\" style=\"float:right\">\n "
13961
+ + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"Close",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":23}}}))
13962
+ + "</a>\n </div>\n <div class=\"swipe-buttons\">\n <span class=\"modal-right\">&gt;</span>\n <span class=\"modal-left\">&lt;</span>\n </div>\n </div></div>";
13963
+ },"usePartial":true,"useData":true});
13964
+ this["hbs_Crouton"]["templates"]["meetingStackedRow"] = Handlebars.template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
13793
13965
  var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13794
13966
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
13795
13967
  return parent[propertyName];
@@ -13797,7 +13969,11 @@ this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function
13797
13969
  return undefined
13798
13970
  };
13799
13971
 
13800
- return ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),depth0,{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":61,"column":9}}})) != null ? stack1 : "");
13972
+ return "\n <h4>\n"
13973
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"meetingpageTitleTemplate"),depth0,{"name":"meetingpageTitleTemplate","data":data,"indent":"\t\t \t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13974
+ + " </h4>\n <div class=\"meeting-details-contents\" style=\"vertical-align:top;\">\n"
13975
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"meetingDetailsContentsTemplate"),depth0,{"name":"meetingDetailsContentsTemplate","data":data,"indent":" \t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
13976
+ + " </div>";
13801
13977
  },"usePartial":true,"useData":true});
13802
13978
  this["hbs_Crouton"]["templates"]["meetingsPlaceholders"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
13803
13979
  var lookupProperty = container.lookupProperty || function(parent, propertyName) {
@@ -13820,6 +13996,55 @@ this["hbs_Crouton"]["templates"]["meetingsPlaceholders"] = Handlebars.template({
13820
13996
 
13821
13997
  return ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),depth0,{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":5,"column":9}}})) != null ? stack1 : "");
13822
13998
  },"useData":true});
13999
+ this["hbs_Crouton"]["templates"]["tableRows"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
14000
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14001
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14002
+ return parent[propertyName];
14003
+ }
14004
+ return undefined
14005
+ };
14006
+
14007
+ return " "
14008
+ + alias3((lookupProperty(helpers,"enrich")||(depth0 && lookupProperty(depth0,"enrich"))||alias2).call(alias1,depth0,{"name":"enrich","hash":{},"data":data,"loc":{"start":{"line":2,"column":1},"end":{"line":2,"column":16}}}))
14009
+ + "\n <tr class=\"bmlt-data-row\"\n id=\"meeting-data-row-"
14010
+ + alias3(container.lambda((depth0 != null ? lookupProperty(depth0,"id_bigint") : depth0), depth0))
14011
+ + "\"\n data-cities=\""
14012
+ + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_municipality") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":5,"column":15},"end":{"line":5,"column":63}}}))
14013
+ + "\"\n data-groups=\""
14014
+ + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"meeting_name") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":6,"column":15},"end":{"line":6,"column":54}}}))
14015
+ + "\"\n data-locations=\""
14016
+ + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_text") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":7,"column":18},"end":{"line":7,"column":58}}}))
14017
+ + "\"\n data-zips=\""
14018
+ + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_postal_code_1") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":8,"column":13},"end":{"line":8,"column":62}}}))
14019
+ + "\"\n data-formats=\""
14020
+ + alias3((lookupProperty(helpers,"formatDataPointerFormats")||(depth0 && lookupProperty(depth0,"formatDataPointerFormats"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"formats_expanded") : depth0),{"name":"formatDataPointerFormats","hash":{},"data":data,"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":66}}}))
14021
+ + "\"\n data-areas=\""
14022
+ + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"service_body_bigint") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":10,"column":14},"end":{"line":10,"column":60}}}))
14023
+ + "\"\n data-regions=\""
14024
+ + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"parentServiceBodyName") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":11,"column":16},"end":{"line":11,"column":64}}}))
14025
+ + "\"\n data-counties=\""
14026
+ + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_sub_province") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":12,"column":17},"end":{"line":12,"column":65}}}))
14027
+ + "\"\n data-neighborhoods=\""
14028
+ + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_neighborhood") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":13,"column":22},"end":{"line":13,"column":70}}}))
14029
+ + "\"\n data-states=\""
14030
+ + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"location_province") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":14,"column":15},"end":{"line":14,"column":59}}}))
14031
+ + "\"\n data-venues=\""
14032
+ + alias3((lookupProperty(helpers,"formatDataFromArray")||(depth0 && lookupProperty(depth0,"formatDataFromArray"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"venue_type_name") : depth0),{"name":"formatDataFromArray","hash":{},"data":data,"loc":{"start":{"line":15,"column":15},"end":{"line":15,"column":59}}}))
14033
+ + "\"\n data-weekdays=\""
14034
+ + alias3((lookupProperty(helpers,"formatDataPointer")||(depth0 && lookupProperty(depth0,"formatDataPointer"))||alias2).call(alias1,(depth0 != null ? lookupProperty(depth0,"formatted_day") : depth0),{"name":"formatDataPointer","hash":{},"data":data,"loc":{"start":{"line":16,"column":17},"end":{"line":16,"column":57}}}))
14035
+ + "\">\n"
14036
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"tableDataRow"),depth0,{"name":"tableDataRow","data":data,"indent":"\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
14037
+ + " </tr>\n";
14038
+ },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
14039
+ var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14040
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14041
+ return parent[propertyName];
14042
+ }
14043
+ return undefined
14044
+ };
14045
+
14046
+ return ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),depth0,{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":0},"end":{"line":19,"column":9}}})) != null ? stack1 : "");
14047
+ },"usePartial":true,"useData":true});
13823
14048
  this["hbs_Crouton"]["templates"]["weekdays"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
13824
14049
  var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
13825
14050
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
@@ -13844,7 +14069,7 @@ this["hbs_Crouton"]["templates"]["weekdays"] = Handlebars.template({"1":function
13844
14069
  return undefined
13845
14070
  };
13846
14071
 
13847
- return ((stack1 = container.invokePartial(lookupProperty(partials,"meetings"),(depth0 != null ? lookupProperty(depth0,"meetings") : depth0),{"name":"meetings","data":data,"indent":"\t\t\t\t\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
14072
+ return ((stack1 = container.invokePartial(lookupProperty(partials,"tableRows"),(depth0 != null ? lookupProperty(depth0,"meetings") : depth0),{"name":"tableRows","data":data,"indent":"\t\t\t\t\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
13848
14073
  },"4":function(container,depth0,helpers,partials,data) {
13849
14074
  var lookupProperty = container.lookupProperty || function(parent, propertyName) {
13850
14075
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
@@ -13885,25 +14110,7 @@ var croutonDefaultTemplates = {
13885
14110
  ].join('\n'),
13886
14111
 
13887
14112
  metadata_template: [
13888
- "{{#isVirtualOrHybrid this}}",
13889
- " {{#isHybrid this}}",
13890
- " <div class='meetsVirtually'><span class='glyphicon glyphicon-cloud-upload'></span> {{meetsHybrid this}}</div>",
13891
- " {{else}}",
13892
- " <div class='meetsVirtually'><span class='glyphicon glyphicon-cloud'></span> {{meetsVirtually this}}</div>",
13893
- " {{/isHybrid}}",
13894
- " {{#if this.virtual_meeting_link}}",
13895
- " <div><span class='glyphicon glyphicon-globe'></span> {{webLinkify this.virtual_meeting_link}}</div>",
13896
- " {{#if this.show_qrcode}}",
13897
- " <div class='qrcode'>{{qrCode this.virtual_meeting_link}}</div>",
13898
- " {{/if}}",
13899
- " {{/if}}",
13900
- " {{#if this.phone_meeting_number}}",
13901
- " <div><span class='glyphicon glyphicon-earphone'></span> {{phoneLinkify this.phone_meeting_number}}</div>",
13902
- " {{#if this.show_qrcode}}",
13903
- " <div class='qrcode'>{{qrCode this.phone_meeting_number}}</div>",
13904
- " {{/if}}",
13905
- " {{/if}}",
13906
- "{{/isVirtualOrHybrid}}",
14113
+ "{{> attendVirtual }}",
13907
14114
  "{{#isNotTemporarilyClosed this}}",
13908
14115
  " {{#unless (hasFormats 'VM' this)}}",
13909
14116
  " {{> meetingDetailsButton this}}",
@@ -13923,96 +14130,28 @@ var croutonDefaultTemplates = {
13923
14130
  "{{/if}}"
13924
14131
  ].join('\n'),
13925
14132
 
13926
- meeting_link_template: [
13927
- "{{#if this.meeting_details_url}}",
13928
- "<a href='{{{this.meeting_details_url}}}'><span class='glyphicon glyphicon-search' aria-hidden='true'></span>{{this.meeting_name}}</a>",
13929
- "{{else}}",
13930
- "{{this.meeting_name}}",
13931
- "{{/if}}"
13932
- ].join('\n'),
13933
- meeting_modal_template: [
13934
- "<a tabindex='0' href='#' onclick='crouton.meetingModal({{this.id_bigint}})'><span class='glyphicon glyphicon-search' aria-hidden='true'></span>{{this.meeting_name}}</a>",
13935
- ].join('\n'),
13936
- meetingpage_frame_template: `
13937
- <div id="meeting_modal" class="modal bootstrap-bmlt" style="display: none;" tabindex="-1" >
13938
- <div class="modal-content">
13939
- <span class="modal-title">{{getWord "Meeting Details"}}</span><span id="close_meeting_details" class="modal-close" style="position: absolute;right: 5px;top:10px;">x</span>
13940
- <table id="meeting-details-table" class="bmlt-table {{getWord 'css-direction'}} table table-striped table-hover table-bordered tablesaw tablesaw-stack meeting-details">
13941
- <thead>
13942
- <th id="meeting-details-title" colspan="2">
13943
- {{> meetingpageTitleTemplate this}}
13944
- </th>
13945
- </thead>
13946
- <tbody>
13947
- <tr id="meeting-details-contents">
13948
- {{> meetingpageContentsTemplate this}}
13949
- </tr>
13950
- </tbody>
13951
- </table>
13952
- <div>
13953
- <a class="map-button btn btn-primary btn-xs" href="{{{this.meeting_details_url}}}" tabindex="0" target="_blank" rel="noopener noreferrer" style="float:left">
13954
- {{getWord "Meeting Page"}}</a>
13955
- <a class="map-button btn btn-primary btn-xs modal-close" tabindex="0" style="float:right">
13956
- {{getWord "Close"}}</a>
13957
- </div>
13958
- <div class="swipe-buttons">
13959
- <span class="modal-right">&gt;</span>
13960
- <span class="modal-left">&lt;</span>
13961
- </div>
13962
- </div></div>`,
14133
+
13963
14134
  meetingpage_title_template: [
13964
14135
  "{{this.formatted_day}} {{this.start_time_formatted}} - {{this.end_time_formatted}}: {{this.meeting_name}}"
13965
14136
  ].join('\n'),
13966
-
13967
- meetingpage_contents_template:
13968
- `<td id="meetingpage_map_td">
14137
+ meetingdetails_contents_template: `
13969
14138
  {{#isInPersonOrHybrid this}}
13970
- {{{crouton_map}}}
13971
- </td>
13972
- <td style="vertical-align:top;">
13973
- <h4>Location:</h4>
13974
- {{#isTemporarilyClosed this}}
13975
- <div class="temporarilyClosed">{{temporarilyClosed this}}</div>
13976
- {{/isTemporarilyClosed}}
14139
+ <h4>{{getWord "Location"}}</h4>
14140
+ {{#isTemporarilyClosed this}}
14141
+ <div class="temporarilyClosed">{{temporarilyClosed this}}</div>
14142
+ {{/isTemporarilyClosed}}
13977
14143
  <div class="location-text">{{{this.location_text}}}</div>
13978
14144
  <div class="meeting-address">{{this.formatted_address}}</div>
13979
14145
  <div class="location-information">{{{this.formatted_location_info}}}</div>
13980
14146
  {{> directionsButton this}}
13981
14147
  <br/>
13982
14148
  {{/isInPersonOrHybrid}}
13983
- {{#isVirtualOrHybrid this}}
13984
- <h4>Join this meeting online:</h4>
13985
- {{#if virtual_meeting_link}}
13986
- <div>{{webLinkify this.virtual_meeting_link}}</div>
13987
- {{#if show_qrcode}}
13988
- <div class="qrcode">{{qrCode virtual_meeting_link}}</div>
13989
- {{/if}}
13990
- {{/if}}
13991
- {{#if this.phone_meeting_number}}
13992
- <div>{{phoneLinkify this.phone_meeting_number}}</div>
13993
- {{#if this.show_qrcode}}
13994
- <div class="qrcode">{{qrCode this.phone_meeting_number}}</div>
13995
- {{/if}}
13996
- {{/if}}
13997
- {{#if this.virtual_meeting_additional_info}}
13998
- {{this.virtual_meeting_additional_info}}
13999
- {{/if}}
14000
- <br/>
14001
- {{/isVirtualOrHybrid}}
14149
+ {{> attendVirtual }}
14002
14150
  <br/>
14003
- {{#if formats_expanded}}
14004
- <h4>Meeting Formats</h4>
14005
- <ul>
14006
- {{#each formats_expanded}}
14007
- <li>{{description}}</li>
14008
- {{/each}}
14009
- </ul>
14010
- <br/>
14011
- {{/if}}
14012
- <h4>Contact:</h4>
14013
- This meeting is in <a href="{{serviceBodyUrl}}">{{serviceBodyName}}</a><br/>
14014
- {{> offerIcsButton}}
14015
- </td>`,
14151
+ {{> formatDescriptions }}
14152
+ <h4>{{getWord "Contact"}}</h4>
14153
+ {{getWord "This meeting is in"}} <a href="{{serviceBodyUrl}}">{{serviceBodyName}}</a><br/>
14154
+ {{> offerIcsButton}}`,
14016
14155
  marker_contents_template:
14017
14156
  `<h4>{{meeting_name}}</h4>
14018
14157
  <div class="active">
@@ -14021,14 +14160,96 @@ var croutonDefaultTemplates = {
14021
14160
  <div class="marker_div_location_info">{{{this.formatted_location_info}}}</div>
14022
14161
  <div class="marker_div_location_maplink">
14023
14162
  {{#if this.meeting_details_url}}
14024
- <a href="{{this.meeting_details_url}}" target="_blank">More info</a>
14163
+ <a href="{{this.meeting_details_url}}" target="_blank">{{getWord "more info"}}</a>
14025
14164
  {{/if}}
14026
14165
  </div>
14027
14166
  <div class="marker_div_formats">
14028
14167
  {{#each this.formats_expanded}}{{#if @index}}; {{/if}}{{this.name}}{{/each}}
14029
14168
  </div>
14030
14169
  </div>
14031
- `
14170
+ `,
14171
+ meeting_times_template: `
14172
+ <div class="bmlt-day">{{this.formatted_day}}</div>
14173
+ {{#ifEquals this.duration_time "24:00:00"}}
14174
+ <div class="bmlt-time-2">{{this.start_time_formatted}}</div>
14175
+ {{else}}
14176
+ <div class="bmlt-time-2">{{this.start_time_formatted}} - {{this.end_time_formatted}}</div>
14177
+ {{/ifEquals}}
14178
+ {{> formatKeys }}
14179
+ <div class="bmlt-comments">{{formatLink this.formatted_comments}}</div>
14180
+ <div class="bmlt-observer">{{> (selectObserver) }}</div>
14181
+ `,
14182
+
14183
+ group_data_template: `
14184
+ <div class='location-text'>{{this.location_text}}</div>
14185
+ <div class='meeting-address'>{{this.formatted_address}}</div>
14186
+ <div class='location-information'>{{this.formatted_location_info}}
14187
+ {{#if this.virtual_meeting_additional_info}}
14188
+ <div class='meeting-additional-info'>{{this.virtual_meeting_additional_info}}</div>
14189
+ {{/if}}
14190
+ {{> distance }}
14191
+ <div class="bmlt-group-meetings">
14192
+ {{#each this.membersOfGroup}}
14193
+ <div class="bmlt-group-meeting">
14194
+ {{this.formatted_day}}: {{this.start_time_formatted}}
14195
+ </div>
14196
+ {{/each}}
14197
+ </div>
14198
+ `,
14199
+ group_title_template: `
14200
+ <h5 style="font-size: 120%;" class="m-0 me-2 mb-2">{{this.meeting_name}}</h5>
14201
+ {{distance}}
14202
+ {{> directionsButton this}}
14203
+ `,
14204
+ group_details_contents_template: `
14205
+ <div class="card-text">
14206
+ {{#isInPersonOrHybrid this}}
14207
+ <div class="card-title header-elements">
14208
+ <h4 class="m-0 me-2">{{getWord 'Address'}}</h4>
14209
+ </div>
14210
+ <div class="location-text">{{{this.location_text}}}</div>
14211
+ <div class="meeting-address">{{this.formatted_address}}</div>
14212
+ <div class="location-information">{{{this.formatted_location_info}}}</div>
14213
+ <br/>
14214
+ {{/isInPersonOrHybrid}}
14215
+ {{> attendVirtual }}
14216
+ </div>
14217
+ {{> formatDescriptions }}
14218
+ <div class="card-title header-elements">
14219
+ <h4 class="m-0 me-2">{{getWord 'Comments'}}</h4>
14220
+ </div>
14221
+ <div class="card-text">
14222
+ <div class="bmlt-comments">{{formatLink this.formatted_comments}}</div>
14223
+ <div class="bmlt-observer">
14224
+ {{> observerLine name=contact_name_1 phone=contact_phone_1 email=contact_email_1 }}
14225
+ {{> observerLine name=contact_name_2 phone=contact_phone_2 email=contact_email_2 }}
14226
+ </div>
14227
+ </div>`,
14228
+ member_details_template: `
14229
+ <div class="card-title header-elements">
14230
+ <h5 class="m-0 me-2">
14231
+ <div class="bmlt-day">{{this.formatted_day}}</div>
14232
+ {{#ifEquals this.duration_time "24:00:00"}}
14233
+ <div class="bmlt-time-2">{{this.start_time_formatted}}</div>
14234
+ {{else}}
14235
+ <div class="bmlt-time-2">{{this.start_time_formatted}} - {{this.end_time_formatted}}</div>
14236
+ {{/ifEquals}}
14237
+ </h5>
14238
+ </div>
14239
+ <div class="card-text">
14240
+ <div class="row mb-2">
14241
+ <div class="col-md-12">
14242
+ {{#if formats_expanded}}
14243
+ <ul>
14244
+ {{#each formats_expanded}}
14245
+ <li>{{description}}</li>
14246
+ {{/each}}
14247
+ </ul>
14248
+ <br/>
14249
+ {{/if}}
14250
+ </div>
14251
+ </div>
14252
+ </div>`,
14032
14253
  }
14033
14254
 
14034
14255
 
@@ -15059,7 +15280,7 @@ function Crouton(config) {
15059
15280
  self.currentView = "weekday";
15060
15281
  self.distanceTabAllowed = false;
15061
15282
  self.config = {
15062
- version: '4.0.5', // CroutonJS version for debugging
15283
+ version: '4.1.2', // CroutonJS version for debugging
15063
15284
  on_complete: null, // Javascript function to callback when data querying is completed.
15064
15285
  root_server: null, // The root server to use.
15065
15286
  placeholder_id: "bmlt-tabs", // The DOM id that will be used for rendering
@@ -15099,7 +15320,6 @@ function Crouton(config) {
15099
15320
  service_body: [], // Array of service bodies to return data for.
15100
15321
  formats: '', // Return only meetings with these formats (format shared-id, not key-string)
15101
15322
  venue_types: [], // Return only meetings with this venue type (1, 2 or 3)
15102
- strict_datafields: true, // Only get the datafields that are mentioned in the templates
15103
15323
  meeting_details_href: '', // Link to the meeting details page
15104
15324
  virtual_meeting_details_href: '', // Link to the virtual meeting details page
15105
15325
  bmlt2ics: '', // URL of feed to generate ICS files from meetings
@@ -15122,11 +15342,13 @@ function Crouton(config) {
15122
15342
  metadata_template: croutonDefaultTemplates.metadata_template,
15123
15343
  observer_template: croutonDefaultTemplates.observer_template,
15124
15344
  meeting_count_template: croutonDefaultTemplates.meeting_count_template,
15125
- meeting_link_template: croutonDefaultTemplates.meeting_link_template,
15126
- meeting_modal_template: croutonDefaultTemplates.meeting_modal_template,
15127
15345
  meetingpage_title_template: croutonDefaultTemplates.meetingpage_title_template,
15128
- meetingpage_contents_template: croutonDefaultTemplates.meetingpage_contents_template,
15129
- meetingpage_frame_template: croutonDefaultTemplates.meetingpage_frame_template,
15346
+ meetingdetails_contents_template: croutonDefaultTemplates.meetingdetails_contents_template,
15347
+ meeting_times_template: croutonDefaultTemplates.meeting_times_template,
15348
+ group_data_template: croutonDefaultTemplates.group_data_template,
15349
+ group_title_template: croutonDefaultTemplates.group_title_template,
15350
+ group_details_template: croutonDefaultTemplates.group_details_contents_template,
15351
+ member_details_template: croutonDefaultTemplates.member_details_template,
15130
15352
  lat: 0,
15131
15353
  lng: 0,
15132
15354
  zoom: 10,
@@ -15144,6 +15366,7 @@ function Crouton(config) {
15144
15366
  maxTomatoWidth: 160,
15145
15367
  caption: false,
15146
15368
  groups: false,
15369
+ details_table: false,
15147
15370
  };
15148
15371
 
15149
15372
  self.setConfig(config);
@@ -15160,9 +15383,7 @@ function Crouton(config) {
15160
15383
  });
15161
15384
  self.config['custom_query'] = original_query;
15162
15385
  };
15163
- self.registerPartial = function(name, template) {
15164
- crouton_Handlebars.registerPartial(name, crouton_Handlebars.compile(template));
15165
- };
15386
+
15166
15387
  self.getMeetings = function(url,cb=null) {
15167
15388
  var promises = [fetchJsonp(this.config['root_server'] + url).then(function(response) { return response.json(); })];
15168
15389
 
@@ -15199,101 +15420,17 @@ function Crouton(config) {
15199
15420
  }
15200
15421
  self.meetingData = mainMeetings['meetings'];
15201
15422
  self.formatsData = mainMeetings['formats'];
15202
- if (extraMeetings) {
15203
- self.meetingData = self.meetingData.concat(extraMeetings['meetings']);
15204
- }
15205
- cb && cb();
15206
- self.mutex = false;
15207
- });
15208
- };
15209
- self.addDatafieldsToQuery = function() {
15210
- if (!self.config.strict_datafields) {
15211
- self.all_data_keys = [];
15212
- self.queryable_data_keys = [];
15213
- return '';
15214
- }
15215
- var base_data_field_keys = [
15216
- 'location_postal_code_1',
15217
- 'duration_time',
15218
- 'start_time',
15219
- 'time_zone',
15220
- 'weekday_tinyint',
15221
- 'service_body_bigint',
15222
- 'longitude',
15223
- 'latitude',
15224
- 'location_province',
15225
- 'location_municipality',
15226
- 'location_street',
15227
- 'location_info',
15228
- 'location_text',
15229
- 'location_neighborhood',
15230
- 'formats',
15231
- 'format_shared_id_list',
15232
- 'comments',
15233
- 'meeting_name',
15234
- 'location_sub_province',
15235
- 'worldid_mixed',
15236
- 'root_server_uri',
15237
- 'id_bigint',
15238
- 'venue_type',
15239
- ];
15240
-
15241
- var calculated_keys = [
15242
- "serviceBodyName",
15243
- "serviceBodyUrl",
15244
- "serviceBodyPhone",
15245
- "serviceBodyDescription",
15246
- "serviceBodyType",
15247
- "parentServiceBodyName",
15248
- "parentServiceBodyUrl",
15249
- "parentServiceBodyPhone",
15250
- "parentServiceBodyDescription",
15251
- "parentServiceBodyType",
15252
- "map_word",
15253
- "share_word",
15254
- "report_update_word",
15255
- "show_qrcode",
15256
- "formatted_day",
15257
- "formatted_address",
15258
- "formats_expanded",
15259
- "formatted_location_info",
15260
- "end_time_formatted",
15261
- "start_time_formatted",
15262
- "formatted_comments",
15263
- "start_time_raw",
15264
- "venue_type_name",
15265
- "day_of_the_week",
15266
- ];
15267
-
15268
- self.all_data_keys = base_data_field_keys.clone();
15269
- self.queryable_data_keys = base_data_field_keys.clone();
15270
-
15271
- self.collectDataKeys = function(template) {
15272
- var extra_fields_regex = /this\.([A-Za-z0-9_]*)}}/gi;
15273
- while (arr = extra_fields_regex.exec(template)) {
15274
- self.all_data_keys.push(arr[1]);
15275
- if (!inArray(arr[1], calculated_keys)) {
15276
- self.queryable_data_keys.push(arr[1]);
15277
- }
15278
- }
15279
- }
15280
-
15281
- if (self.config.map_search) {
15282
- self.queryable_data_keys.push('distance_in_km');
15283
- self.queryable_data_keys.push('distance_in_miles');
15284
- }
15285
- self.collectDataKeys(self.config['meeting_data_template']);
15286
- self.collectDataKeys(self.config['metadata_template']);
15287
- self.collectDataKeys(self.config['observer_template']);
15288
-
15289
- var unique_data_field_keys = arrayUnique(self.queryable_data_keys);
15290
- return '&data_field_key=' + unique_data_field_keys.join(',');
15291
- }
15423
+ if (extraMeetings) {
15424
+ self.meetingData = self.meetingData.concat(extraMeetings['meetings']);
15425
+ }
15426
+ cb && cb();
15427
+ self.mutex = false;
15428
+ });
15429
+ };
15292
15430
  self.mutex = true;
15293
15431
 
15294
15432
  self.meetingSearch = function(cb=null) {
15295
- var url = '/client_interface/jsonp/?switcher=GetSearchResults&get_used_formats&lang_enum=' + self.config['short_language'] +
15296
- self.addDatafieldsToQuery();
15433
+ var url = '/client_interface/jsonp/?switcher=GetSearchResults&get_used_formats&lang_enum=' + self.config['short_language'];
15297
15434
 
15298
15435
  if (self.config['formats']) {
15299
15436
  url += self.config['formats'].reduce(function(prev,id) {
@@ -15539,11 +15676,8 @@ function Crouton(config) {
15539
15676
  }
15540
15677
  self.renderStandaloneMap = function (selector, context, callback=null, fitBounds=true) {
15541
15678
  hbs_Crouton['localization'] = self.localization;
15542
- crouton_Handlebars.registerPartial('meetings', hbs_Crouton.templates['meetings']);
15543
- crouton_Handlebars.registerPartial('meetingsPlaceholders', hbs_Crouton.templates['meetingsPlaceholders']);
15544
- crouton_Handlebars.registerPartial('bydays', hbs_Crouton.templates['byday']);
15545
- crouton_Handlebars.registerPartial('formatPopup', hbs_Crouton.templates['formatPopup']);
15546
15679
  window.crouton = self;
15680
+ self.setUpPartials();
15547
15681
  croutonMap.initialize(self.createBmltMapElement(),self.meetingData,context,null,fitBounds,callback,self.config['noMap']);
15548
15682
  }
15549
15683
  self.retrieveGeolocation = function() {
@@ -15574,19 +15708,7 @@ function Crouton(config) {
15574
15708
  };
15575
15709
  self.renderView = function (selector, context, callback, fitBounds) {
15576
15710
  hbs_Crouton['localization'] = self.localization;
15577
- if (self.config.groups) {
15578
- crouton_Handlebars.registerPartial('group', hbs_Crouton.templates['group']);
15579
- crouton_Handlebars.registerPartial('groupRows', hbs_Crouton.templates['groupRows']);
15580
- } else {
15581
- crouton_Handlebars.registerPartial('meetings', hbs_Crouton.templates['meetings']);
15582
- crouton_Handlebars.registerPartial('bydays', hbs_Crouton.templates['byday']);
15583
- crouton_Handlebars.registerPartial('weekdays', hbs_Crouton.templates['weekdays']);
15584
- }
15585
- crouton_Handlebars.registerPartial('meetingsPlaceholders', hbs_Crouton.templates['meetingsPlaceholders']);
15586
- crouton_Handlebars.registerPartial('header', hbs_Crouton.templates['header']);
15587
- crouton_Handlebars.registerPartial('byfields', hbs_Crouton.templates['byfield']);
15588
- crouton_Handlebars.registerPartial('formatPopup', hbs_Crouton.templates['formatPopup']);
15589
- var template = self.config.groups ? hbs_Crouton.templates['groupMain'] : hbs_Crouton.templates['main'];
15711
+ var template = hbs_Crouton.templates['main'];
15590
15712
  jQuery(selector).html(template(context));
15591
15713
  callback();
15592
15714
  };
@@ -15617,7 +15739,7 @@ function Crouton(config) {
15617
15739
  jQuery(addLive('#bmlt_tabs_group_count')).each(function(){
15618
15740
  var filteredMeetings = self.meetingData;
15619
15741
  if (showingNow!==null) filteredMeetings = self.meetingData.filter((m) => showingNow.includes(m.id_bigint));
15620
- const groups = self.config.groups ? filteredMeetings : self.convertToGroups(filteredMeetings);
15742
+ const groups = self.config.groups ? filteredMeetings : self.convertToGroups([...filteredMeetings]);
15621
15743
  jQuery(this).text(arrayUnique(groups).length);
15622
15744
  });
15623
15745
  jQuery(addLive('#bmlt_tabs_service_body_names')).each(function() {
@@ -15844,8 +15966,8 @@ function Crouton(config) {
15844
15966
  meetingData[m]['location_info'] != null
15845
15967
  ? meetingData[m]['location_info'].replace('/(http|https):\/\/([A-Za-z0-9\._\-\/\?=&;%,]+)/i', '<a style="text-decoration: underline;" href="$1://$2" target="_blank">$1://$2</a>')
15846
15968
  : "";
15847
- meetingData[m]['map_word'] = self.localization.getWord('map').toUpperCase();
15848
- meetingData[m]['share_word'] = self.localization.getWord('share').toUpperCase();
15969
+ meetingData[m]['map_word'] = self.localization.getWord('map');
15970
+ meetingData[m]['share_word'] = self.localization.getWord('share');
15849
15971
  meetingData[m]['report_update_word'] = self.localization.getWord('report update');
15850
15972
  meetingData[m]['show_qrcode'] = self.config['show_qrcode'];
15851
15973
  for (var k in meetingData[m]) {
@@ -15932,10 +16054,10 @@ function Crouton(config) {
15932
16054
  commonFormats = commonFormats.filter(value => memberFormats.includes(value));
15933
16055
  });
15934
16056
  group['formats'] = commonFormats.join(',');
15935
- group['formats_expanded'] = group['formats_expanded'].filter((format) => commonFormats.includes(format['key']));
16057
+ if (group['formats_expanded']) group['formats_expanded'] = group['formats_expanded'].filter((format) => commonFormats.includes(format['key']));
15936
16058
  group['membersOfGroup'].forEach(function(member) {
15937
16059
  member['formats'] = member['formats'].split(',').filter((f) => !commonFormats.includes(f)).join(',');
15938
- member['formats_expanded'] = member['formats_expanded'].filter((format) => !commonFormats.includes(format['key']));
16060
+ if (member['formats_expanded']) member['formats_expanded'] = member['formats_expanded'].filter((format) => !commonFormats.includes(format['key']));
15939
16061
  });
15940
16062
  }
15941
16063
  });
@@ -15990,37 +16112,37 @@ function Crouton(config) {
15990
16112
  self.distanceTabAllowed = true;
15991
16113
  }
15992
16114
  }
16115
+ self.registerPartial = function(name, template) {
16116
+ crouton_Handlebars.registerPartial(name, crouton_Handlebars.compile(template));
16117
+ };
15993
16118
  self.setUpPartials = function() {
15994
- crouton_Handlebars.registerHelper('hasBMLT2ics', function() {return crouton.config['bmlt2ics'].length>0;});
15995
- crouton_Handlebars.registerHelper('BMLT2ics', function() {return crouton.config['bmlt2ics'];});
15996
- self.registerPartial('icsButton',
15997
- '<a href="{{BMLT2ics}}?meeting-id={{id_bigint}}" download="{{meeting_name}}.ics" class="share-button btn btn-primary btn-xs" ><span class="glyphicon glyphicon-download-alt"></span> {{getWord "bmlt2ics"}}</a>');
15998
- self.registerPartial('offerIcsButton', "{{#if (hasBMLT2ics)}}{{> icsButton}}<br/>{{/if}}");
15999
- crouton_Handlebars.registerPartial('directionsButton', hbs_Crouton.templates['directionsButton']);
16000
- crouton_Handlebars.registerPartial('meetingDetailsButton', hbs_Crouton.templates['meetingDetailsButton']);
16001
- self.registerPartial('distance',`
16002
- <div class='meeting-distance{{#unless this.distance}} hide{{/unless}}' data-id='{{this.id_bigint}}'>
16003
- {{getWord 'Distance'}}: {{this.distance}}
16004
- </div>`);
16005
- crouton_Handlebars.registerHelper('hasObserverLine', function(name, phone, email) {
16006
- if (name && name.length > 0) return true;
16007
- if (phone && phone.length > 0) return true;
16008
- if (email && email.length > 0) return true;
16009
- return false;
16010
- });
16011
- self.registerPartial('observerLine',`
16012
- {{#if (hasObserverLine name phone email) }}
16013
- <div class='observerLine'>{{getWord "Contact"}}: {{name}} <a href='tel:{{phone}}'>{{phone}}</a> <a href='mailto:{{email}}'>{{email}}</a></div>
16014
- </div>{{/if}}`);
16119
+ crouton_Handlebars.registerPartial('tableDataRow',
16120
+ self.config.groups
16121
+ ? (self.config.details_table
16122
+ ? "<td>{{> groupStackedRow}}</td>"
16123
+ : hbs_Crouton.templates['group3ColumnRow'])
16124
+ : (self.config.details_table
16125
+ ? "<td>{{> meetingStackedRow}}</td>"
16126
+ : hbs_Crouton.templates['meeting3ColumnRow'])
16127
+ );
16128
+
16129
+
16130
+ self.registerPartial("meetingDataTemplate", self.config['meeting_data_template']);
16015
16131
  self.registerPartial("meetingDataTemplate", self.config['meeting_data_template']);
16016
16132
  self.registerPartial("metaDataTemplate", self.config['metadata_template']);
16017
16133
  self.registerPartial("observerTemplate", self.config['observer_template']);
16018
16134
  self.registerPartial("meetingpageTitleTemplate", self.config['meetingpage_title_template']);
16019
- self.registerPartial("meetingpageContentsTemplate", self.config['meetingpage_contents_template']);
16135
+ self.registerPartial("meetingDetailsContentsTemplate", self.config['meetingdetails_contents_template']);
16020
16136
  self.registerPartial("meetingCountTemplate", self.config['meeting_count_template']);
16021
- self.registerPartial("meetingLink", self.config['meeting_link_template']);
16022
- self.registerPartial("meetingModal", self.config['meeting_modal_template']);
16023
- self.registerPartial('group_map', "<div id='bmlt-group-map' class='bmlt-map'></div>")
16137
+ self.registerPartial("meetingTimesTemplate", self.config['meeting_times_template']);
16138
+ self.registerPartial("groupData", self.config['group_data_template']);
16139
+ self.registerPartial("groupDetailsContents", self.config['group_details_template']);
16140
+ self.registerPartial("memberDetails", self.config['member_details_template']);
16141
+ self.registerPartial("groupTitle", self.config['group_title_template']);
16142
+
16143
+ const handlebarsExtensions = new CroutonHandlebarsExtensions();
16144
+ handlebarsExtensions.registerHelpers();
16145
+ handlebarsExtensions.registerPartials(self.config.groups);
16024
16146
  }
16025
16147
  self.calculateDistance = function(meetingData) {
16026
16148
  meetingData['distance'] = '';
@@ -16137,19 +16259,17 @@ Crouton.prototype.setConfig = function(config) {
16137
16259
  }
16138
16260
  self.currentView = self.config["view_by"];
16139
16261
 
16140
- if (self.config["template_path"] == null) {
16141
- self.config["template_path"] = "templates"
16142
- }
16143
- if (self.config["BMLTPlugin_images"] == null) {
16144
- self.config["BMLTPlugin_images"] = self.config["template_path"];
16145
- }
16146
- if (self.config["BMLTPlugin_throbber_img_src"] == null) {
16147
- self.config["BMLTPlugin_throbber_img_src"] = self.config["template_path"]+'/Throbber.gif';
16148
- }
16149
16262
  // https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
16150
16263
  // We hardcode override Dansk because of a legacy issue in the root server that doesn't follow ISO 639 standards.
16151
16264
  self.config['short_language'] = self.config['language'] === "da-DK" ? "dk" : self.config['language'].substring(0, 2);
16152
16265
  self.localization = new CroutonLocalization(self.config['language']);
16266
+ if (config.custom_translations && config.custom_translations.trim() !== "") {
16267
+ try {
16268
+ self.localization.customizeTranslations(JSON.parse(config.custom_translations));
16269
+ } catch (e) {
16270
+ console.log("Error parsing custom translations: " + e.message);
16271
+ }
16272
+ }
16153
16273
  };
16154
16274
 
16155
16275
  Crouton.prototype.reset = function() {
@@ -16215,24 +16335,24 @@ Crouton.prototype.meetingModal = function(meetingId) {
16215
16335
  }
16216
16336
  Crouton.prototype.openMeetingModal = function(meeting) {
16217
16337
  let self = this;
16218
- if (self.config.groups && meeting.hasOwnProperty('membersOfGroup') && meeting.membersOfGroup.length > 1) {
16219
- self.openGroupModal(meeting);
16220
- return;
16221
- }
16338
+ crouton_Handlebars.registerHelper('crouton_map', function() {
16339
+ return "<div id='bmlt-handlebars-map' class='bmlt-map'></div>"
16340
+ });
16341
+ let template = hbs_Crouton.templates['meetingModal'];
16222
16342
  const tabs = document.getElementById('bmlt-tabs');
16223
-
16224
- let el = document.createElement('bmlt-handlebar');
16225
- tabs.appendChild(el);
16226
- let span = document.createElement('span');
16227
- el.appendChild(span);
16228
- span.textContent = self.config.meetingpage_frame_template;
16229
- self.handlebars(meeting, tabs.getElementsByTagName('bmlt-handlebar'));
16343
+ let div = document.createElement('div');
16344
+ tabs.appendChild(div);
16345
+ div.innerHTML = template(meeting);
16230
16346
  [...tabs.getElementsByClassName('modal-close')].forEach((elem)=>elem.addEventListener('click', (e)=>{croutonMap.closeModalWindow(e.target); document.getElementById('meeting_modal').remove()}));
16231
16347
  let mm = document.getElementById('meeting_modal');
16232
16348
  document.body.appendChild(mm);
16233
16349
  jQuery('#meeting_modal .get-directions-modal').on('click', openDirectionsModal);
16234
16350
  croutonMap.openModalWindow(mm, true);
16235
- croutonMap.showMap(true);
16351
+ croutonMap.loadPopupMap("bmlt-handlebars-map", meeting, {
16352
+ lat: parseFloat(meeting.latitude),
16353
+ lng: parseFloat(meeting.longitude),
16354
+ zoom: 14
16355
+ });
16236
16356
  let visibleMeetings = jQuery('.bmlt-data-row:visible');
16237
16357
  let index = -1;
16238
16358
  const prefix = "meeting-data-row-";
@@ -16313,23 +16433,6 @@ Crouton.prototype.searchMap = function() {
16313
16433
  "location": {'latitude':0,'longitude':0,'zoom':10} // TODO: Where is this used?
16314
16434
  });
16315
16435
  }
16316
- Crouton.prototype.openGroupModal = function(group) {
16317
- const tabs = document.getElementById('bmlt-tabs');
16318
- let div = document.createElement('div');
16319
- tabs.appendChild(div);
16320
- div.innerHTML = hbs_Crouton.templates['groupModal'](group);
16321
- [...tabs.getElementsByClassName('modal-close')].forEach((elem)=>elem.addEventListener('click', (e)=>{croutonMap.closeModalWindow(e.target); document.getElementById('group_modal').remove()}));
16322
- let gm = document.getElementById('group_modal');
16323
- document.body.appendChild(gm);
16324
- jQuery('#group_modal .get-directions-modal').on('click', openDirectionsModal);
16325
- croutonMap.openModalWindow(gm, true);
16326
- div.remove();
16327
- croutonMap.loadPopupMap("bmlt-group-map", group, {
16328
- lat: parseFloat(group.latitude),
16329
- lng: parseFloat(group.longitude),
16330
- zoom: 14
16331
- });
16332
- }
16333
16436
  Crouton.prototype.render = function(doMeetingMap = false, fitBounds=true) {
16334
16437
  var self = this;
16335
16438
 
@@ -16677,14 +16780,6 @@ Crouton.prototype.render = function(doMeetingMap = false, fitBounds=true) {
16677
16780
  }
16678
16781
  };
16679
16782
 
16680
- function getTrueResult(options, ctx) {
16681
- return options.fn !== undefined ? options.fn(ctx) : true;
16682
- }
16683
-
16684
- function getFalseResult(options, ctx) {
16685
- return options.inverse !== undefined ? options.inverse(ctx) : false;
16686
- }
16687
-
16688
16783
  // [deprecated] Retire after root server 2.16.4 is rolled out everywhere.
16689
16784
  function getMasterFormatId(code, data) {
16690
16785
  for (var f = 0; f < crouton.masterFormatCodes.length; f++) {
@@ -16722,258 +16817,6 @@ function getFormats(data) {
16722
16817
  return data['formats'] !== "" ? data['format_shared_id_list'].split(",") : [];
16723
16818
  }
16724
16819
 
16725
- crouton_Handlebars.registerHelper('getDayOfTheWeek', function(day_id) {
16726
- return hbs_Crouton.localization.getDayOfTheWeekWord(day_id);
16727
- });
16728
-
16729
- crouton_Handlebars.registerHelper('getWord', function(word) {
16730
- var translation = hbs_Crouton.localization.getWord(word);
16731
- if (typeof translation !== 'undefined') return translation;
16732
- console.log("no translation for '"+word+"'");
16733
- // if none found, return the untranslated - better than nothing.
16734
- return word;
16735
- });
16736
-
16737
- crouton_Handlebars.registerHelper('formatDataPointer', function(str) {
16738
- return convertToPunyCode(str);
16739
- });
16740
-
16741
- crouton_Handlebars.registerHelper('call', function(fn, str) {
16742
- return fn(str);
16743
- });
16744
-
16745
- crouton_Handlebars.registerHelper('canShare', function(data, options) {
16746
- return navigator.share ? getTrueResult(options, this) : getFalseResult(options, this);
16747
- });
16748
-
16749
- crouton_Handlebars.registerHelper('isOS', function(options) {
16750
- if (isIOSDevice()) {
16751
- return getTrueResult(options, this);
16752
- } else {
16753
- return getFalseResult(options, this);
16754
- }
16755
- });
16756
-
16757
- function isIOSDevice() {
16758
- if (navigator.userAgentData && navigator.userAgentData.platform) {
16759
- if (navigator.userAgentData.platform === 'iOS') {
16760
- return true;
16761
- }
16762
- }
16763
- const userAgent = navigator.userAgent || navigator.vendor || window.opera;
16764
- const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
16765
- const isIPadOS = navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 && !window.MSStream;
16766
- return isIOS || isIPadOS;
16767
- }
16768
-
16769
- function isAndroidDevice() {
16770
- return /Android/i.test(navigator.userAgent);
16771
- }
16772
-
16773
- function isMobileDevice() {
16774
- return isIOSDevice() || isAndroidDevice() || /Mobi|Android/i.test(navigator.userAgent);
16775
- }
16776
-
16777
- function createDirectionsOptions() {
16778
- const options = [];
16779
- const isIOS = isIOSDevice();
16780
-
16781
- // Apple Maps (iOS only)
16782
- if (isIOS) {
16783
- options.push({
16784
- name: crouton.localization.getWord('apple_maps'),
16785
- description: crouton.localization.getWord('apple_maps_desc'),
16786
- icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23007AFF'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E",
16787
- url: 'https://maps.apple.com/?daddr=${latitude},${longitude}'
16788
- });
16789
- }
16790
-
16791
- // Google Maps (always available)
16792
- options.push({
16793
- name: crouton.localization.getWord('google_maps'),
16794
- description: crouton.localization.getWord('google_maps_desc_mobile'),
16795
- icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234285f4'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E",
16796
- url: 'https://www.google.com/maps/dir/?api=1&destination=${latitude},${longitude}'
16797
- });
16798
-
16799
- // Waze (always available)
16800
- options.push({
16801
- name: crouton.localization.getWord('waze'),
16802
- description: crouton.localization.getWord('waze_desc'),
16803
- icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2300D4FF'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E",
16804
- url: 'https://waze.com/ul?ll=${latitude},${longitude}&navigate=yes'
16805
- });
16806
-
16807
- return options;
16808
- }
16809
-
16810
- crouton_Handlebars.registerHelper('reportUpdateEnabled', function(data, options) {
16811
- return crouton.config.report_update_url !== "" ? getTrueResult(options, this) : getFalseResult(options, this)
16812
- });
16813
-
16814
- crouton_Handlebars.registerHelper('reportUpdateUrl', function() {
16815
- return crouton.config.report_update_url;
16816
- });
16817
-
16818
- /**
16819
- * @deprecated Since version 3.12.2, will be removed in a future version.
16820
- */
16821
- crouton_Handlebars.registerHelper('isVirtual', function(data, options) {
16822
- return ((data['venue_type'] === venueType.HYBRID || data['venue_type'] === venueType.VIRTUAL) || ((inArray(getMasterFormatId('HY', data), getFormats(data)) && !inArray(getMasterFormatId('TC', data), getFormats(data)))
16823
- || inArray(getMasterFormatId('VM', data), getFormats(data))))
16824
- && (data['virtual_meeting_link'] || data['phone_meeting_number'] || data['virtual_meeting_additional_info']) ? getTrueResult(options, this) : getFalseResult(options, this);
16825
- });
16826
-
16827
- /**
16828
- * Assumes consistent set of venue type formats (enforced for newly edited meetings in root server 2.16.0 or greater)
16829
- */
16830
- crouton_Handlebars.registerHelper('isVirtualOnly', function(data, options) {
16831
- return data['venue_type'] === venueType.VIRTUAL || inArray(getMasterFormatId('VM', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
16832
- });
16833
-
16834
- /**
16835
- * @deprecated Since version 3.12.2 will be removed in a future version.
16836
- */
16837
- crouton_Handlebars.registerHelper('isHybrid', function(data, options) {
16838
- return data['venue_type'] === venueType.HYBRID || inArray(getMasterFormatId('HY', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
16839
- });
16840
-
16841
- /**
16842
- * Assumes consistent set of venue type formats (enforced for newly edited meetings in root server 2.16.0 or greater)
16843
- */
16844
- crouton_Handlebars.registerHelper('isHybridOnly', function(data, options) {
16845
- return data['venue_type'] === venueType.HYBRID || inArray(getMasterFormatId('HY', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
16846
- });
16847
-
16848
- crouton_Handlebars.registerHelper('isTemporarilyClosed', function(data, options) {
16849
- return inArray(getMasterFormatId('TC', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
16850
- });
16851
-
16852
- crouton_Handlebars.registerHelper('isNotTemporarilyClosed', function(data, options) {
16853
- return !inArray(getMasterFormatId('TC', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
16854
- });
16855
-
16856
- /**
16857
- * Assumes consistent set of venue type formats (enforced for newly edited meetings in root server 2.16.0 or greater)
16858
- */
16859
- crouton_Handlebars.registerHelper('isInPersonOrHybrid', function(data, options) {
16860
- return data['venue_type'] !== venueType.VIRTUAL && !inArray(getMasterFormatId('VM', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
16861
- });
16862
-
16863
- /**
16864
- * Assumes consistent set of venue type formats (enforced for newly edited meetings in root server 2.16.0 or greater)
16865
- */
16866
- crouton_Handlebars.registerHelper('isInPersonOnly', function(data, options) {
16867
- return data['venue_type'] === venueType.IN_PERSON || (!inArray(getMasterFormatId('VM', data), getFormats(data))
16868
- && !inArray(getMasterFormatId('HY', data), getFormats(data))) ? getTrueResult(options, this) : getFalseResult(options, this);
16869
- });
16870
-
16871
- /**
16872
- * Assumes consistent set of venue type formats (enforced for newly edited meetings in root server 2.16.0 or greater)
16873
- */
16874
- crouton_Handlebars.registerHelper('isVirtualOrHybrid', function(data, options) {
16875
- return (data['venue_type'] === venueType.VIRTUAL || data['venue_type'] === venueType.HYBRID) || inArray(getMasterFormatId('VM', data), getFormats(data))
16876
- || inArray(getMasterFormatId('HY', data), getFormats(data)) ? getTrueResult(options, this) : getFalseResult(options, this);
16877
- });
16878
-
16879
- crouton_Handlebars.registerHelper('hasFormats', function(formats, data, options) {
16880
- var allFound = false;
16881
- var formatsResponse = data['formats'].split(",")
16882
- var formatsParam = formats.split(",");
16883
- for (var i = 0; i < formatsParam.length; i++) {
16884
- allFound = inArray(formatsParam[i], formatsResponse);
16885
- }
16886
-
16887
- return allFound ? getTrueResult(options, this) : getFalseResult(options, this);
16888
- });
16889
- crouton_Handlebars.registerHelper('temporarilyClosed', function(data, options) {
16890
- if (data['formats_expanded'].getArrayItemByObjectKeyValue('id', getMasterFormatId('TC', data)) !== undefined) {
16891
- return data['formats_expanded'].getArrayItemByObjectKeyValue('id', getMasterFormatId('TC', data))['description'];
16892
- } else {
16893
- return "FACILITY IS TEMPORARILY CLOSED";
16894
- }
16895
- });
16896
-
16897
- crouton_Handlebars.registerHelper('meetsVirtually', function(data, options) {
16898
- if (data['formats_expanded'].getArrayItemByObjectKeyValue('id', getMasterFormatId('VM', data)) !== undefined) {
16899
- return data['formats_expanded'].getArrayItemByObjectKeyValue('id', getMasterFormatId('VM', data))['description'];
16900
- } else {
16901
- return "MEETS VIRTUALLY";
16902
- }
16903
- });
16904
-
16905
- crouton_Handlebars.registerHelper('meetsHybrid', function(data, options) {
16906
- if (data['formats_expanded'].getArrayItemByObjectKeyValue('id', getMasterFormatId('HY', data)) !== undefined) {
16907
- return data['formats_expanded'].getArrayItemByObjectKeyValue('id', getMasterFormatId('HY', data))['description'];
16908
- } else {
16909
- return "MEETS VIRTUALLY AND IN PERSON";
16910
- }
16911
- });
16912
-
16913
- crouton_Handlebars.registerHelper('qrCode', function(link, options) {
16914
- return new crouton_Handlebars.SafeString("<img alt='qrcode' src='https://quickchart.io/qr?size=100&text=" + encodeURIComponent(link) + "'>");
16915
- });
16916
-
16917
- crouton_Handlebars.registerHelper('formatDataFromArray', function(arr) {
16918
- var finalValues = [];
16919
- for (var i = 0; i < arr.length; i++) {
16920
- finalValues.push(convertToPunyCode(arr[i]));
16921
- }
16922
-
16923
- return finalValues.join(" ");
16924
- });
16925
-
16926
- crouton_Handlebars.registerHelper('formatDataPointerFormats', function(formatsExpanded) {
16927
- var finalFormats = [];
16928
- for (var i = 0; i < formatsExpanded.length; i++) {
16929
- finalFormats.push(convertToPunyCode(formatsExpanded[i]['name']));
16930
- }
16931
- return finalFormats.join(" ");
16932
- });
16933
-
16934
- crouton_Handlebars.registerHelper('formatDataKeyFormats', function(formatsExpanded) {
16935
- var finalFormats = [];
16936
- for (var i = 0; i < formatsExpanded.length; i++) {
16937
- finalFormats.push(convertToPunyCode(formatsExpanded[i]['key']));
16938
- }
16939
- return finalFormats.join(" ");
16940
- });
16941
-
16942
- crouton_Handlebars.registerHelper('formatLink', function(text) {
16943
- if (text.indexOf('tel:') === 0 || text.indexOf('http') === 0) {
16944
- return new crouton_Handlebars.SafeString("<a href='" + text + "' target='_blank'>" + text + "</a>");
16945
- } else {
16946
- return text;
16947
- }
16948
- });
16949
-
16950
- crouton_Handlebars.registerHelper('webLinkify', function(text) {
16951
- return new crouton_Handlebars.SafeString("<a href='" + text + "' target='_blank'>" + text + "</a>");
16952
- });
16953
-
16954
- crouton_Handlebars.registerHelper('phoneLinkify', function(text) {
16955
- return new crouton_Handlebars.SafeString("<a href='tel:" + text + "' target='_blank'>" + text + "</a>");
16956
- });
16957
-
16958
- crouton_Handlebars.registerHelper('ifEquals', function(arg1, arg2, options) {
16959
- return (arg1 === arg2) ? options.fn(this) : options.inverse(this);
16960
- });
16961
-
16962
- crouton_Handlebars.registerHelper('greaterThan', function (arg1, arg2, options) {
16963
- return (arg1 > arg2) ? options.fn(this) : options.inverse(this);
16964
- });
16965
-
16966
- crouton_Handlebars.registerHelper('lessThan', function (arg1, arg2, options) {
16967
- return (arg1 < arg2) ? options.fn(this) : options.inverse(this);
16968
- });
16969
-
16970
- crouton_Handlebars.registerHelper('times', function(n, block) {
16971
- var accum = '';
16972
- for(var i = 1; i <= n; ++i)
16973
- accum += block.fn(i);
16974
- return accum;
16975
- });
16976
-
16977
16820
  function convertToPunyCode(str) {
16978
16821
  return str !== undefined ? punycode.toASCII(str.toLowerCase()).replace(/\W|_/g, "-") : "";
16979
16822
  }
@@ -17169,6 +17012,58 @@ function swipedetect(el, callback){
17169
17012
  }
17170
17013
  }, false)
17171
17014
  }
17015
+ function isIOSDevice() {
17016
+ if (navigator.userAgentData && navigator.userAgentData.platform) {
17017
+ if (navigator.userAgentData.platform === 'iOS') {
17018
+ return true;
17019
+ }
17020
+ }
17021
+ const userAgent = navigator.userAgent || navigator.vendor || window.opera;
17022
+ const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
17023
+ const isIPadOS = navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 && !window.MSStream;
17024
+ return isIOS || isIPadOS;
17025
+ }
17026
+
17027
+ function isAndroidDevice() {
17028
+ return /Android/i.test(navigator.userAgent);
17029
+ }
17030
+
17031
+ function isMobileDevice() {
17032
+ return isIOSDevice() || isAndroidDevice() || /Mobi|Android/i.test(navigator.userAgent);
17033
+ }
17034
+
17035
+ function createDirectionsOptions() {
17036
+ const options = [];
17037
+ const isIOS = isIOSDevice();
17038
+
17039
+ // Apple Maps (iOS only)
17040
+ if (isIOS) {
17041
+ options.push({
17042
+ name: crouton.localization.getWord('apple_maps'),
17043
+ description: crouton.localization.getWord('apple_maps_desc'),
17044
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23007AFF'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E",
17045
+ url: 'https://maps.apple.com/?daddr=${latitude},${longitude}'
17046
+ });
17047
+ }
17048
+
17049
+ // Google Maps (always available)
17050
+ options.push({
17051
+ name: crouton.localization.getWord('google_maps'),
17052
+ description: crouton.localization.getWord('google_maps_desc_mobile'),
17053
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234285f4'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E",
17054
+ url: 'https://www.google.com/maps/dir/?api=1&destination=${latitude},${longitude}'
17055
+ });
17056
+
17057
+ // Waze (always available)
17058
+ options.push({
17059
+ name: crouton.localization.getWord('waze'),
17060
+ description: crouton.localization.getWord('waze_desc'),
17061
+ icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2300D4FF'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E",
17062
+ url: 'https://waze.com/ul?ll=${latitude},${longitude}&navigate=yes'
17063
+ });
17064
+
17065
+ return options;
17066
+ }
17172
17067
  function openDirectionsModal(e) {
17173
17068
  const latitude = jQuery(this).data('latitude');
17174
17069
  const longitude = jQuery(this).data('longitude');
@@ -17565,7 +17460,7 @@ function MeetingMap(inConfig) {
17565
17460
  var img = document.createElement("img");
17566
17461
 
17567
17462
  if (img) {
17568
- img.src = crouton.config.BMLTPlugin_throbber_img_src;
17463
+ img.src = config.BMLTPlugin_images + "/Throbber.gif";
17569
17464
  img.className = 'bmlt_mapThrobber_img';
17570
17465
  img.id = inDiv.id + 'Throbber_img';
17571
17466
  img.alt = 'AJAX Throbber';
@@ -17624,7 +17519,7 @@ function MeetingMap(inConfig) {
17624
17519
  if (getLatLngRadius(lat_lngs) > maxRadius)
17625
17520
  lat_lngs = lat_lngs.slice(1,1);
17626
17521
  }
17627
- gDelegate.fitBounds(lat_lngs);
17522
+ if (lat_lngs.length > 0) gDelegate.fitBounds(lat_lngs);
17628
17523
  }
17629
17524
  searchResponseCallback();
17630
17525
  hideThrobber();
@@ -17635,7 +17530,10 @@ function MeetingMap(inConfig) {
17635
17530
  function (position) {
17636
17531
  coords = {latitude: position.coords.latitude, longitude: position.coords.longitude};
17637
17532
  filterVisible(false);
17638
- gDelegate.setViewToPosition(coords, filterMeetingsAndBounds, filterVisible);
17533
+ if (config.zoom) gDelegate.setZoom(false, config.zoom);
17534
+ gDelegate.setViewToPosition(coords, filterMeetingsAndBounds, () => {
17535
+ filterVisible(config.filter_visible == 1);
17536
+ });
17639
17537
  gSearchPoint = {"lat": position.coords.latitude, "lng": position.coords.longitude};
17640
17538
  crouton.updateDistances();
17641
17539
  },
@@ -17648,7 +17546,7 @@ function MeetingMap(inConfig) {
17648
17546
  if ((!config.centerMe && !config.goto) && !(config.map_search && config.filter_visible)) {
17649
17547
  gDelegate.afterInit(()=>filterVisible(config.filter_visible));
17650
17548
  }
17651
- if (config.goto) gDelegate.callGeocoder(config.goto, resetVisibleThenFilterMeetingsAndBounds);
17549
+ if (config.goto) gDelegate.callGeocoder(config.goto, config.filter_visible == 1 ? resetVisibleThenFilterMeetingsAndBounds : setVisibleThenFilterMeetingsAndBounds);
17652
17550
  }
17653
17551
  }
17654
17552
  function createCityHash(allMeetings) {
@@ -17751,6 +17649,15 @@ function MeetingMap(inConfig) {
17751
17649
  }
17752
17650
  return ret;
17753
17651
  }
17652
+ function setVisibleThenFilterMeetingsAndBounds(bounds, center=null) {
17653
+ filterVisible(false);
17654
+ const ret = filterMeetingsAndBounds(bounds);
17655
+ if (gSearchPoint.lat != center.lat || gSearchPoint.lng != center.lng) {
17656
+ gSearchPoint = center;
17657
+ crouton.updateDistances();
17658
+ }
17659
+ return ret;
17660
+ }
17754
17661
  function lookupLocation(fullscreen) {
17755
17662
  if (document.getElementById('goto-text').value != '') {
17756
17663
  if (fullscreen) {