@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.
@@ -14199,83 +14199,66 @@ CroutonLocalization.prototype.getServiceBodyType = function(type) {
14199
14199
  this["hbs_Crouton"] = this["hbs_Crouton"] || {};
14200
14200
  this["hbs_Crouton"]["templates"] = this["hbs_Crouton"]["templates"] || {};
14201
14201
  this["hbs_Crouton"]["templates"]["byday"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
14202
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14202
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.lambda, alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14203
14203
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14204
14204
  return parent[propertyName];
14205
14205
  }
14206
14206
  return undefined
14207
14207
  };
14208
14208
 
14209
- return " <tbody class=\"bmlt-data-rows h-"
14210
- + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"day") : depth0), depth0))
14209
+ return " <div class=\"meeting-group\" "
14210
+ + ((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 : "")
14211
+ + ">\n <div class=\"group-header\">"
14212
+ + alias4(alias3((depth0 != null ? lookupProperty(depth0,"day") : depth0), depth0))
14213
+ + "</div>\n <div class=\"group-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack "
14214
+ + 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}}}))
14215
+ + "'>\n <tbody class=\"h-"
14216
+ + alias4(alias3((depth0 != null ? lookupProperty(depth0,"day") : depth0), depth0))
14211
14217
  + "\">\n"
14212
- + ((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 : "")
14213
- + "\n"
14214
- + ((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 : "")
14215
- + " </tbody>\n";
14216
- },"2":function(container,depth0,helpers,partials,data) {
14217
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14218
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14219
- return parent[propertyName];
14220
- }
14221
- return undefined
14222
- };
14223
-
14224
- 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 : "");
14225
- },"3":function(container,depth0,helpers,partials,data) {
14226
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14227
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14228
- return parent[propertyName];
14229
- }
14230
- return undefined
14231
- };
14232
-
14233
- return " <tr class=\"meeting-header\">\n <td colspan=\"3\" "
14234
- + ((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 : "")
14235
- + ">"
14236
- + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"day") : depth0), depth0))
14237
- + "</td>\n </tr>\n";
14218
+ + ((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 : "")
14219
+ + " </tbody>\n </table>\n </div>\n </div>\n";
14238
14220
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
14239
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
14221
+ var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14240
14222
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14241
14223
  return parent[propertyName];
14242
14224
  }
14243
14225
  return undefined
14244
14226
  };
14245
14227
 
14246
- return "<div id=\"bmlt-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack "
14247
- + 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}}}))
14248
- + "'>\n"
14249
- + ((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 : "")
14250
- + " </table>\n</div>\n";
14228
+ return "<div id=\"bmlt-table-div\">\n"
14229
+ + ((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 : "")
14230
+ + "</div>\n";
14251
14231
  },"usePartial":true,"useData":true});
14252
14232
  this["hbs_Crouton"]["templates"]["byfield"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
14253
- var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14233
+ var stack1, helper, alias1=container.escapeExpression, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14254
14234
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14255
14235
  return parent[propertyName];
14256
14236
  }
14257
14237
  return undefined
14258
14238
  };
14259
14239
 
14260
- return " <tr class=\"meeting-header\" "
14261
- + ((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 : "")
14262
- + ">\n <td colspan=\"3\">"
14263
- + 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)))
14264
- + "</td>\n </tr>\n"
14265
- + ((stack1 = container.invokePartial(lookupProperty(partials,"meetings"),depth0,{"name":"meetings","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
14240
+ return " <div class=\"meeting-group "
14241
+ + alias1(container.lambda((depth0 != null ? lookupProperty(depth0,"accordionState") : depth0), depth0))
14242
+ + "\" "
14243
+ + ((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 : "")
14244
+ + ">\n <div class=\"group-header\">"
14245
+ + 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)))
14246
+ + "</div>\n <div class=\"group-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack "
14247
+ + 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}}}))
14248
+ + "'>\n <tbody class=\"byfield.hbs\">\n"
14249
+ + ((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 : "")
14250
+ + " </tbody>\n </table>\n </div>\n </div>\n";
14266
14251
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
14267
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
14252
+ var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14268
14253
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14269
14254
  return parent[propertyName];
14270
14255
  }
14271
14256
  return undefined
14272
14257
  };
14273
14258
 
14274
- return "<div id=\"bmlt-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack "
14275
- + 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}}}))
14276
- + "'>\n <tbody class=\"byfield.hbs\">\n"
14277
- + ((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 : "")
14278
- + " </tbody>\n </table>\n</div>\n";
14259
+ return "<div id=\"bmlt-table-div\">\n"
14260
+ + ((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 : "")
14261
+ + " </table>\n</div>";
14279
14262
  },"usePartial":true,"useData":true});
14280
14263
  this["hbs_Crouton"]["templates"]["formatPopup"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
14281
14264
  var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3="function", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
@@ -16131,7 +16114,6 @@ crouton_Handlebars.registerHelper("enrich", () => '');
16131
16114
  crouton_Handlebars.registerHelper('selectFormatPopup', () => "formatPopup");
16132
16115
  crouton_Handlebars.registerHelper('selectObserver', () => "observerTemplate");
16133
16116
 
16134
-
16135
16117
  function Crouton(config) {
16136
16118
  var self = this;
16137
16119
  self.mutex = false;
@@ -16146,7 +16128,7 @@ function Crouton(config) {
16146
16128
  time_format: "h:mm a", // The format for time
16147
16129
  language: "en-US", // Default language translation, available translations listed here: https://github.com/bmlt-enabled/crouton/blob/master/croutonjs/src/js/crouton-localization.js
16148
16130
  has_tabs: true, // Shows the day tabs
16149
- filter_tabs: 0, // Whether to show weekday tabs on filtering.
16131
+ filter_tabs: 20, // Whether to show weekday tabs on filtering.
16150
16132
  filter_visible: 0, // whether entries in table should be limited to those visible in map
16151
16133
  header: true, // Shows the dropdowns and buttons
16152
16134
  include_weekday_button: true, // Shows the weekday button
@@ -16446,10 +16428,10 @@ function Crouton(config) {
16446
16428
  if (!self.config['has_tabs'] || (self.config['filter_tabs'] && self.config['filter_tabs'] >= showingNow)) {
16447
16429
  self.byDayView();
16448
16430
 
16449
- jQuery(".bmlt-data-rows").each(function (index, value) {
16450
- if (jQuery(value).find(".bmlt-data-row.hide").length === jQuery(value).find(".bmlt-data-row").length) {
16451
- jQuery(value).find(".meeting-header").addClass("hide");
16452
- }
16431
+ jQuery("#byday").find('.meeting-group').each(function(index) {
16432
+ if (jQuery(this).find(".bmlt-data-row.hide").length === jQuery(this).find(".bmlt-data-row").length)
16433
+ jQuery(this).addClass("hide");
16434
+ else jQuery(this).removeClass('hide');
16453
16435
  });
16454
16436
  } else {
16455
16437
  self.dayView();
@@ -16495,25 +16477,13 @@ function Crouton(config) {
16495
16477
  jQuery('.bmlt-page').each(function (index) {
16496
16478
  self.hidePage("#" + this.id);
16497
16479
  self.showPage("#byfield_" + field);
16498
- jQuery("#byfield_" + field).find('.meeting-header').each(function(index) {
16499
- // This is an awkward way of doing things, but I don't want to mess with
16500
- // the generated HTML at this point.
16501
- let flag = false;
16502
- let item = jQuery(this);
16503
- const main = item;
16504
- while(item = item.next()) {
16505
- if (item.length === 0) break;
16506
- if (item.hasClass('meeting-header')) break;
16507
- if (!item.hasClass('hide')) {
16508
- flag = true;
16509
- break;
16510
- }
16511
- }
16512
- if (!flag) main.addClass('hide');
16513
- })
16514
- return;
16480
+ jQuery("#byfield_" + field).find('.meeting-group').each(function(index) {
16481
+ if (jQuery(this).find(".bmlt-data-row.hide").length === jQuery(this).find(".bmlt-data-row").length)
16482
+ jQuery(this).addClass("hide");
16483
+ else jQuery(this).removeClass('hide');
16484
+ });
16515
16485
  });
16516
- };
16486
+ }
16517
16487
  self.mapView = function() {
16518
16488
  self.lowlightButton("#day");
16519
16489
  self.lowlightButton(".groupingButton");
@@ -16538,13 +16508,12 @@ function Crouton(config) {
16538
16508
  };
16539
16509
 
16540
16510
  self.filterMeetingsFromView = function () {
16541
- jQuery(".meeting-header").removeClass("hide");
16511
+ jQuery(".group-header").removeClass("hide");
16512
+ jQuery(".meeting-group").removeClass("hide");
16542
16513
  jQuery(".bmlt-data-row").removeClass("hide");
16543
- var filteringDropdown = false;
16544
16514
  jQuery(".filter-dropdown").each(function(index, filter) {
16545
16515
  const dataValue = filter.value.replace("a-", "");
16546
16516
  if (dataValue === "") return;
16547
- filteringDropdown = true;
16548
16517
  const dataType = filter.getAttribute("data-pointer").toLowerCase();
16549
16518
  if (dataType !== "formats" && dataType !== "languages" && dataType !== "venues" && dataType !== "common_needs") {
16550
16519
  jQuery(".bmlt-data-row").not("[data-" + dataType + "='" + dataValue + "']").addClass("hide");
@@ -16571,7 +16540,8 @@ function Crouton(config) {
16571
16540
  self.updateFilters();
16572
16541
  self.updateMeetingCount();
16573
16542
  jQuery(".filter-dropdown").val(null).trigger("change");
16574
- jQuery(".meeting-header").removeClass("hide");
16543
+ jQuery(".group-header").removeClass("hide");
16544
+ jQuery(".meeting-group").removeClass("hide");
16575
16545
  jQuery(".bmlt-data-row").removeClass("hide");
16576
16546
  jQuery(".evenRow").removeClass("evenRow");
16577
16547
  jQuery(".oddRow").removeClass("oddRow");
@@ -16601,7 +16571,6 @@ function Crouton(config) {
16601
16571
  }
16602
16572
  self.renderStandaloneMap = function (selector, context, callback=null, fitBounds=true) {
16603
16573
  hbs_Crouton['localization'] = self.localization;
16604
- self.config["hide_byday_headers"] = true;
16605
16574
  crouton_Handlebars.registerPartial('meetings', hbs_Crouton.templates['meetings']);
16606
16575
  crouton_Handlebars.registerPartial('bydays', hbs_Crouton.templates['byday']);
16607
16576
  crouton_Handlebars.registerPartial('formatPopup', hbs_Crouton.templates['formatPopup']);
@@ -17004,12 +16973,11 @@ Crouton.prototype.setConfig = function(config) {
17004
16973
  const deprecatedNames = {
17005
16974
  button_filters: 'grouping_buttons',
17006
16975
  button_format_filters: 'formattype_grouping_buttons',
17007
-
17008
16976
  }
17009
16977
  for (var propertyName in deprecatedNames) {
17010
16978
  if (config.hasOwnProperty(propertyName)) {
17011
16979
  config[deprecatedNames[propertyName]] = config[propertyName];
17012
- delete configconfig[deprecatedNames[propertyName]];
16980
+ delete config[deprecatedNames[propertyName]];
17013
16981
  }
17014
16982
  }
17015
16983
  for (var propertyName in config) {
@@ -17276,7 +17244,6 @@ Crouton.prototype.render = function(doMeetingMap = false) {
17276
17244
  });
17277
17245
 
17278
17246
  byDayData.push({
17279
- "hide": self.config["hide_byday_headers"],
17280
17247
  "day": self.localization.getDayOfTheWeekWord(day),
17281
17248
  "meetings": daysOfTheWeekMeetings
17282
17249
  });
@@ -17300,7 +17267,9 @@ Crouton.prototype.render = function(doMeetingMap = false) {
17300
17267
  }
17301
17268
 
17302
17269
  for (var f = 0; f < self.config.formattype_grouping_buttons.length; f++) {
17303
- var groupByName = self.config.formattype_grouping_buttons[f]['field'];
17270
+ const groupByName = self.config.formattype_grouping_buttons[f]['field'];
17271
+ const accordionState = self.config.formattype_grouping_buttons[f].hasOwnProperty('accordionState')
17272
+ ? self.config.grouping_buttons[b]['accordionState'] : '';
17304
17273
  var groupByData = getUniqueFormatsOfType(daysOfTheWeekMeetings, groupByName);
17305
17274
  if (groupByName=='LANG' && self.config.native_lang && self.config.native_lang.length > 0) {
17306
17275
  groupByData = groupByData.filter((f) => f.key != self.config.native_lang);
@@ -17308,12 +17277,16 @@ Crouton.prototype.render = function(doMeetingMap = false) {
17308
17277
  for (var i = 0; i < groupByData.length; i++) {
17309
17278
  var groupByMeetings = daysOfTheWeekMeetings.filter((item) => item.formats_expanded.map(f => f.key).indexOf(groupByData[i].key) >= 0);
17310
17279
  if (formattypeGroupingButtonsData.hasOwnProperty(groupByName) && formattypeGroupingButtonsData[groupByName].hasOwnProperty(groupByData[i].description)) {
17311
- formattypeGroupingButtonsData[groupByName][groupByData[i].description] = formattypeGroupingButtonsData[groupByName][groupByData[i].description].concat(groupByMeetings);
17280
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description].group = formattypeGroupingButtonsData[groupByName][groupByData[i].description].group.concat(groupByMeetings);
17312
17281
  } else if (formattypeGroupingButtonsData.hasOwnProperty(groupByName)) {
17313
- formattypeGroupingButtonsData[groupByName][groupByData[i].description] = groupByMeetings;
17282
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description] = {};
17283
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description].accordionState = accordionState;
17284
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description].group = groupByMeetings;
17314
17285
  } else {
17315
17286
  formattypeGroupingButtonsData[groupByName] = {};
17316
- formattypeGroupingButtonsData[groupByName][groupByData[i].description] = groupByMeetings;
17287
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description] = {};
17288
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description].accordionState = accordionState;
17289
+ formattypeGroupingButtonsData[groupByName][groupByData[i].description].group = groupByMeetings;
17317
17290
  }
17318
17291
  }
17319
17292
  }
@@ -17322,10 +17295,14 @@ Crouton.prototype.render = function(doMeetingMap = false) {
17322
17295
 
17323
17296
  var groupingButtonsDataSorted = {};
17324
17297
  for (var b = 0; b < self.config.grouping_buttons.length; b++) {
17325
- var groupByName = self.config.grouping_buttons[b]['field'];
17298
+ const groupByName = self.config.grouping_buttons[b]['field'];
17299
+ const accordionState = self.config.grouping_buttons[b].hasOwnProperty('accordionState')
17300
+ ? self.config.grouping_buttons[b]['accordionState'] : '';
17326
17301
  groupingButtonsDataSorted[groupByName] = {};
17327
17302
  if (groupByName.startsWith('distance')) {
17328
- groupingButtonsDataSorted[groupByName]['Sorted by Distance'] = [...self.meetingData].sort((a,b) => a['distance_in_km'] - b['distance_in_km']);
17303
+ groupingButtonsDataSorted[groupByName]['Sorted by Distance'] = {};
17304
+ groupingButtonsDataSorted[groupByName]['Sorted by Distance'].group = [...self.meetingData].sort((a,b) => a['distance_in_km'] - b['distance_in_km']);
17305
+ groupingButtonsDataSorted[groupByName]['Sorted by Distance'].accordionState = 'non-collapsable';
17329
17306
  continue;
17330
17307
  }
17331
17308
  var sortKey = [];
@@ -17337,7 +17314,9 @@ Crouton.prototype.render = function(doMeetingMap = false) {
17337
17314
  sortKey.sort();
17338
17315
 
17339
17316
  for (var s = 0; s < sortKey.length; s++) {
17340
- groupingButtonsDataSorted[groupByName][sortKey[s]] = groupingButtonsData[groupByName][sortKey[s]]
17317
+ groupingButtonsDataSorted[groupByName][sortKey[s]] = {};
17318
+ groupingButtonsDataSorted[groupByName][sortKey[s]].group = groupingButtonsData[groupByName][sortKey[s]];
17319
+ groupingButtonsDataSorted[groupByName][sortKey[s]].accordionState = accordionState;
17341
17320
  }
17342
17321
  }
17343
17322
 
@@ -17479,6 +17458,9 @@ Crouton.prototype.render = function(doMeetingMap = false) {
17479
17458
  jQuery('#groupingButton_embeddedMapPage').on('click', function (e) {
17480
17459
  self.showView('map')
17481
17460
  });
17461
+ jQuery('.meeting-group:not(.non-collapsable) .group-header').on('click', function(e) {
17462
+ jQuery(e.target.parentElement).toggleClass('closed');
17463
+ })
17482
17464
  /****
17483
17465
  jQuery('.custom-ul').on('click', 'a', function (event) {
17484
17466
  jQuery('.bmlt-page').each(function (index) {