@bmlt-enabled/croutonjs 3.21.2 → 3.22.0

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-gmaps.js CHANGED
@@ -14202,83 +14202,66 @@ CroutonLocalization.prototype.getServiceBodyType = function(type) {
14202
14202
  this["hbs_Crouton"] = this["hbs_Crouton"] || {};
14203
14203
  this["hbs_Crouton"]["templates"] = this["hbs_Crouton"]["templates"] || {};
14204
14204
  this["hbs_Crouton"]["templates"]["byday"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
14205
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14205
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.lambda, alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14206
14206
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14207
14207
  return parent[propertyName];
14208
14208
  }
14209
14209
  return undefined
14210
14210
  };
14211
14211
 
14212
- return " <tbody class=\"bmlt-data-rows h-"
14213
- + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"day") : depth0), depth0))
14212
+ return " <div class=\"meeting-group\" "
14213
+ + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":3,"column":39},"end":{"line":3,"column":68}}})) != null ? stack1 : "")
14214
+ + ">\n <div class=\"group-header\">"
14215
+ + alias4(alias3((depth0 != null ? lookupProperty(depth0,"day") : depth0), depth0))
14216
+ + "</div>\n <div class=\"group-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack "
14217
+ + alias4((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":6,"column":116},"end":{"line":6,"column":143}}}))
14218
+ + "'>\n <tbody class=\"h-"
14219
+ + alias4(alias3((depth0 != null ? lookupProperty(depth0,"day") : depth0), depth0))
14214
14220
  + "\">\n"
14215
- + ((stack1 = lookupProperty(helpers,"unless").call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,"hide") : depth0),{"name":"unless","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":5,"column":3},"end":{"line":11,"column":14}}})) != null ? stack1 : "")
14216
- + "\n"
14217
- + ((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 : "")
14218
- + " </tbody>\n";
14219
- },"2":function(container,depth0,helpers,partials,data) {
14220
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14221
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14222
- return parent[propertyName];
14223
- }
14224
- return undefined
14225
- };
14226
-
14227
- return ((stack1 = (lookupProperty(helpers,"greaterThan")||(depth0 && lookupProperty(depth0,"greaterThan"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"length") : stack1),0,{"name":"greaterThan","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":6,"column":4},"end":{"line":10,"column":20}}})) != null ? stack1 : "");
14228
- },"3":function(container,depth0,helpers,partials,data) {
14229
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14230
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14231
- return parent[propertyName];
14232
- }
14233
- return undefined
14234
- };
14235
-
14236
- return " <tr class=\"meeting-header\">\n <td colspan=\"3\" "
14237
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":8,"column":22},"end":{"line":8,"column":51}}})) != null ? stack1 : "")
14238
- + ">"
14239
- + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"day") : depth0), depth0))
14240
- + "</td>\n </tr>\n";
14221
+ + ((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 : "")
14222
+ + " </tbody>\n </table>\n </div>\n </div>\n";
14241
14223
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
14242
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
14224
+ var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14243
14225
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14244
14226
  return parent[propertyName];
14245
14227
  }
14246
14228
  return undefined
14247
14229
  };
14248
14230
 
14249
- return "<div id=\"bmlt-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack "
14250
- + 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":100},"end":{"line":2,"column":127}}}))
14251
- + "'>\n"
14252
- + ((stack1 = lookupProperty(helpers,"each").call(alias1,depth0,{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":8},"end":{"line":15,"column":17}}})) != null ? stack1 : "")
14253
- + " </table>\n</div>\n";
14231
+ return "<div id=\"bmlt-table-div\">\n"
14232
+ + ((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":2,"column":8},"end":{"line":13,"column":17}}})) != null ? stack1 : "")
14233
+ + "</div>\n";
14254
14234
  },"usePartial":true,"useData":true});
14255
14235
  this["hbs_Crouton"]["templates"]["byfield"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
14256
- var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14236
+ var stack1, helper, alias1=container.escapeExpression, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14257
14237
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14258
14238
  return parent[propertyName];
14259
14239
  }
14260
14240
  return undefined
14261
14241
  };
14262
14242
 
14263
- return " <tr class=\"meeting-header\" "
14264
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":5,"column":30},"end":{"line":5,"column":59}}})) != null ? stack1 : "")
14265
- + ">\n <td colspan=\"3\">"
14266
- + container.escapeExpression(((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":20},"end":{"line":6,"column":28}}}) : helper)))
14267
- + "</td>\n </tr>\n"
14268
- + ((stack1 = container.invokePartial(lookupProperty(partials,"meetings"),depth0,{"name":"meetings","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
14243
+ return " <div class=\"meeting-group "
14244
+ + alias1(container.lambda((depth0 != null ? lookupProperty(depth0,"accordionState") : depth0), depth0))
14245
+ + "\" "
14246
+ + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias3).call(alias2,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":3,"column":63},"end":{"line":3,"column":92}}})) != null ? stack1 : "")
14247
+ + ">\n <div class=\"group-header\">"
14248
+ + alias1(((helper = (helper = lookupProperty(helpers,"key") || (data && lookupProperty(data,"key"))) != null ? helper : alias3),(typeof helper === "function" ? helper.call(alias2,{"name":"key","hash":{},"data":data,"loc":{"start":{"line":4,"column":42},"end":{"line":4,"column":50}}}) : helper)))
14249
+ + "</div>\n <div class=\"group-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack "
14250
+ + alias1((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias3).call(alias2,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":6,"column":101},"end":{"line":6,"column":128}}}))
14251
+ + "'>\n <tbody class=\"byfield.hbs\">\n"
14252
+ + ((stack1 = container.invokePartial(lookupProperty(partials,"meetings"),(depth0 != null ? lookupProperty(depth0,"group") : depth0),{"name":"meetings","data":data,"indent":" \t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
14253
+ + " </tbody>\n </table>\n </div>\n </div>\n";
14269
14254
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
14270
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
14255
+ var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14271
14256
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14272
14257
  return parent[propertyName];
14273
14258
  }
14274
14259
  return undefined
14275
14260
  };
14276
14261
 
14277
- return "<div id=\"bmlt-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack "
14278
- + 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":97},"end":{"line":2,"column":124}}}))
14279
- + "'>\n <tbody class=\"byfield.hbs\">\n"
14280
- + ((stack1 = lookupProperty(helpers,"each").call(alias1,depth0,{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":2},"end":{"line":9,"column":11}}})) != null ? stack1 : "")
14281
- + " </tbody>\n </table>\n</div>\n";
14262
+ return "<div id=\"bmlt-table-div\">\n"
14263
+ + ((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":2,"column":8},"end":{"line":13,"column":17}}})) != null ? stack1 : "")
14264
+ + " </table>\n</div>";
14282
14265
  },"usePartial":true,"useData":true});
14283
14266
  this["hbs_Crouton"]["templates"]["formatPopup"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
14284
14267
  var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3="function", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
@@ -16134,7 +16117,6 @@ crouton_Handlebars.registerHelper("enrich", () => '');
16134
16117
  crouton_Handlebars.registerHelper('selectFormatPopup', () => "formatPopup");
16135
16118
  crouton_Handlebars.registerHelper('selectObserver', () => "observerTemplate");
16136
16119
 
16137
-
16138
16120
  function Crouton(config) {
16139
16121
  var self = this;
16140
16122
  self.mutex = false;
@@ -16149,7 +16131,7 @@ function Crouton(config) {
16149
16131
  time_format: "h:mm a", // The format for time
16150
16132
  language: "en-US", // Default language translation, available translations listed here: https://github.com/bmlt-enabled/crouton/blob/master/croutonjs/src/js/crouton-localization.js
16151
16133
  has_tabs: true, // Shows the day tabs
16152
- filter_tabs: 0, // Whether to show weekday tabs on filtering.
16134
+ filter_tabs: 20, // Whether to show weekday tabs on filtering.
16153
16135
  filter_visible: 0, // whether entries in table should be limited to those visible in map
16154
16136
  header: true, // Shows the dropdowns and buttons
16155
16137
  include_weekday_button: true, // Shows the weekday button
@@ -16449,10 +16431,10 @@ function Crouton(config) {
16449
16431
  if (!self.config['has_tabs'] || (self.config['filter_tabs'] && self.config['filter_tabs'] >= showingNow)) {
16450
16432
  self.byDayView();
16451
16433
 
16452
- jQuery(".bmlt-data-rows").each(function (index, value) {
16453
- if (jQuery(value).find(".bmlt-data-row.hide").length === jQuery(value).find(".bmlt-data-row").length) {
16454
- jQuery(value).find(".meeting-header").addClass("hide");
16455
- }
16434
+ jQuery("#byday").find('.meeting-group').each(function(index) {
16435
+ if (jQuery(this).find(".bmlt-data-row.hide").length === jQuery(this).find(".bmlt-data-row").length)
16436
+ jQuery(this).addClass("hide");
16437
+ else jQuery(this).removeClass('hide');
16456
16438
  });
16457
16439
  } else {
16458
16440
  self.dayView();
@@ -16498,25 +16480,13 @@ function Crouton(config) {
16498
16480
  jQuery('.bmlt-page').each(function (index) {
16499
16481
  self.hidePage("#" + this.id);
16500
16482
  self.showPage("#byfield_" + field);
16501
- jQuery("#byfield_" + field).find('.meeting-header').each(function(index) {
16502
- // This is an awkward way of doing things, but I don't want to mess with
16503
- // the generated HTML at this point.
16504
- let flag = false;
16505
- let item = jQuery(this);
16506
- const main = item;
16507
- while(item = item.next()) {
16508
- if (item.length === 0) break;
16509
- if (item.hasClass('meeting-header')) break;
16510
- if (!item.hasClass('hide')) {
16511
- flag = true;
16512
- break;
16513
- }
16514
- }
16515
- if (!flag) main.addClass('hide');
16516
- })
16517
- return;
16483
+ jQuery("#byfield_" + field).find('.meeting-group').each(function(index) {
16484
+ if (jQuery(this).find(".bmlt-data-row.hide").length === jQuery(this).find(".bmlt-data-row").length)
16485
+ jQuery(this).addClass("hide");
16486
+ else jQuery(this).removeClass('hide');
16487
+ });
16518
16488
  });
16519
- };
16489
+ }
16520
16490
  self.mapView = function() {
16521
16491
  self.lowlightButton("#day");
16522
16492
  self.lowlightButton(".groupingButton");
@@ -16541,13 +16511,12 @@ function Crouton(config) {
16541
16511
  };
16542
16512
 
16543
16513
  self.filterMeetingsFromView = function () {
16544
- jQuery(".meeting-header").removeClass("hide");
16514
+ jQuery(".group-header").removeClass("hide");
16515
+ jQuery(".meeting-group").removeClass("hide");
16545
16516
  jQuery(".bmlt-data-row").removeClass("hide");
16546
- var filteringDropdown = false;
16547
16517
  jQuery(".filter-dropdown").each(function(index, filter) {
16548
16518
  const dataValue = filter.value.replace("a-", "");
16549
16519
  if (dataValue === "") return;
16550
- filteringDropdown = true;
16551
16520
  const dataType = filter.getAttribute("data-pointer").toLowerCase();
16552
16521
  if (dataType !== "formats" && dataType !== "languages" && dataType !== "venues" && dataType !== "common_needs") {
16553
16522
  jQuery(".bmlt-data-row").not("[data-" + dataType + "='" + dataValue + "']").addClass("hide");
@@ -16574,7 +16543,8 @@ function Crouton(config) {
16574
16543
  self.updateFilters();
16575
16544
  self.updateMeetingCount();
16576
16545
  jQuery(".filter-dropdown").val(null).trigger("change");
16577
- jQuery(".meeting-header").removeClass("hide");
16546
+ jQuery(".group-header").removeClass("hide");
16547
+ jQuery(".meeting-group").removeClass("hide");
16578
16548
  jQuery(".bmlt-data-row").removeClass("hide");
16579
16549
  jQuery(".evenRow").removeClass("evenRow");
16580
16550
  jQuery(".oddRow").removeClass("oddRow");
@@ -16604,7 +16574,6 @@ function Crouton(config) {
16604
16574
  }
16605
16575
  self.renderStandaloneMap = function (selector, context, callback=null, fitBounds=true) {
16606
16576
  hbs_Crouton['localization'] = self.localization;
16607
- self.config["hide_byday_headers"] = true;
16608
16577
  crouton_Handlebars.registerPartial('meetings', hbs_Crouton.templates['meetings']);
16609
16578
  crouton_Handlebars.registerPartial('bydays', hbs_Crouton.templates['byday']);
16610
16579
  crouton_Handlebars.registerPartial('formatPopup', hbs_Crouton.templates['formatPopup']);
@@ -17007,12 +16976,11 @@ Crouton.prototype.setConfig = function(config) {
17007
16976
  const deprecatedNames = {
17008
16977
  button_filters: 'grouping_buttons',
17009
16978
  button_format_filters: 'formattype_grouping_buttons',
17010
-
17011
16979
  }
17012
16980
  for (var propertyName in deprecatedNames) {
17013
16981
  if (config.hasOwnProperty(propertyName)) {
17014
16982
  config[deprecatedNames[propertyName]] = config[propertyName];
17015
- delete configconfig[deprecatedNames[propertyName]];
16983
+ delete config[deprecatedNames[propertyName]];
17016
16984
  }
17017
16985
  }
17018
16986
  for (var propertyName in config) {
@@ -17279,7 +17247,6 @@ Crouton.prototype.render = function(doMeetingMap = false) {
17279
17247
  });
17280
17248
 
17281
17249
  byDayData.push({
17282
- "hide": self.config["hide_byday_headers"],
17283
17250
  "day": self.localization.getDayOfTheWeekWord(day),
17284
17251
  "meetings": daysOfTheWeekMeetings
17285
17252
  });
@@ -17303,7 +17270,9 @@ Crouton.prototype.render = function(doMeetingMap = false) {
17303
17270
  }
17304
17271
 
17305
17272
  for (var f = 0; f < self.config.formattype_grouping_buttons.length; f++) {
17306
- var groupByName = self.config.formattype_grouping_buttons[f]['field'];
17273
+ const groupByName = self.config.formattype_grouping_buttons[f]['field'];
17274
+ const accordionState = self.config.formattype_grouping_buttons[f].hasOwnProperty('accordionState')
17275
+ ? self.config.grouping_buttons[b]['accordionState'] : '';
17307
17276
  var groupByData = getUniqueFormatsOfType(daysOfTheWeekMeetings, groupByName);
17308
17277
  if (groupByName=='LANG' && self.config.native_lang && self.config.native_lang.length > 0) {
17309
17278
  groupByData = groupByData.filter((f) => f.key != self.config.native_lang);
@@ -17311,12 +17280,16 @@ Crouton.prototype.render = function(doMeetingMap = false) {
17311
17280
  for (var i = 0; i < groupByData.length; i++) {
17312
17281
  var groupByMeetings = daysOfTheWeekMeetings.filter((item) => item.formats_expanded.map(f => f.key).indexOf(groupByData[i].key) >= 0);
17313
17282
  if (formattypeGroupingButtonsData.hasOwnProperty(groupByName) && formattypeGroupingButtonsData[groupByName].hasOwnProperty(groupByData[i].description)) {
17314
- formattypeGroupingButtonsData[groupByName][groupByData[i].description] = formattypeGroupingButtonsData[groupByName][groupByData[i].description].concat(groupByMeetings);
17283
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description].group = formattypeGroupingButtonsData[groupByName][groupByData[i].description].group.concat(groupByMeetings);
17315
17284
  } else if (formattypeGroupingButtonsData.hasOwnProperty(groupByName)) {
17316
- formattypeGroupingButtonsData[groupByName][groupByData[i].description] = groupByMeetings;
17285
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description] = {};
17286
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description].accordionState = accordionState;
17287
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description].group = groupByMeetings;
17317
17288
  } else {
17318
17289
  formattypeGroupingButtonsData[groupByName] = {};
17319
- formattypeGroupingButtonsData[groupByName][groupByData[i].description] = groupByMeetings;
17290
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description] = {};
17291
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description].accordionState = accordionState;
17292
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description].group = groupByMeetings;
17320
17293
  }
17321
17294
  }
17322
17295
  }
@@ -17325,10 +17298,14 @@ Crouton.prototype.render = function(doMeetingMap = false) {
17325
17298
 
17326
17299
  var groupingButtonsDataSorted = {};
17327
17300
  for (var b = 0; b < self.config.grouping_buttons.length; b++) {
17328
- var groupByName = self.config.grouping_buttons[b]['field'];
17301
+ const groupByName = self.config.grouping_buttons[b]['field'];
17302
+ const accordionState = self.config.grouping_buttons[b].hasOwnProperty('accordionState')
17303
+ ? self.config.grouping_buttons[b]['accordionState'] : '';
17329
17304
  groupingButtonsDataSorted[groupByName] = {};
17330
17305
  if (groupByName.startsWith('distance')) {
17331
- groupingButtonsDataSorted[groupByName]['Sorted by Distance'] = [...self.meetingData].sort((a,b) => a['distance_in_km'] - b['distance_in_km']);
17306
+ groupingButtonsDataSorted[groupByName]['Sorted by Distance'] = {};
17307
+ groupingButtonsDataSorted[groupByName]['Sorted by Distance'].group = [...self.meetingData].sort((a,b) => a['distance_in_km'] - b['distance_in_km']);
17308
+ groupingButtonsDataSorted[groupByName]['Sorted by Distance'].accordionState = 'non-collapsable';
17332
17309
  continue;
17333
17310
  }
17334
17311
  var sortKey = [];
@@ -17340,7 +17317,9 @@ Crouton.prototype.render = function(doMeetingMap = false) {
17340
17317
  sortKey.sort();
17341
17318
 
17342
17319
  for (var s = 0; s < sortKey.length; s++) {
17343
- groupingButtonsDataSorted[groupByName][sortKey[s]] = groupingButtonsData[groupByName][sortKey[s]]
17320
+ groupingButtonsDataSorted[groupByName][sortKey[s]] = {};
17321
+ groupingButtonsDataSorted[groupByName][sortKey[s]].group = groupingButtonsData[groupByName][sortKey[s]];
17322
+ groupingButtonsDataSorted[groupByName][sortKey[s]].accordionState = accordionState;
17344
17323
  }
17345
17324
  }
17346
17325
 
@@ -17482,6 +17461,9 @@ Crouton.prototype.render = function(doMeetingMap = false) {
17482
17461
  jQuery('#groupingButton_embeddedMapPage').on('click', function (e) {
17483
17462
  self.showView('map')
17484
17463
  });
17464
+ jQuery('.meeting-group:not(.non-collapsable) .group-header').on('click', function(e) {
17465
+ jQuery(e.target.parentElement).toggleClass('closed');
17466
+ })
17485
17467
  /****
17486
17468
  jQuery('.custom-ul').on('click', 'a', function (event) {
17487
17469
  jQuery('.bmlt-page').each(function (index) {