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