@bmlt-enabled/croutonjs 3.19.1 → 3.19.3

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
@@ -13258,8 +13258,7 @@ function CroutonLocalization(language) {
13258
13258
  LS: "خدمة المنتديات المحلية",
13259
13259
  GS: "Group Support Forum",
13260
13260
  },
13261
- 'css-textalign': 'style="text-align:right;"',
13262
- 'css-floatdirection': 'style="float:right;"',
13261
+ "css-direction": 'bmlt-rtl',
13263
13262
  "share": "مشاركة",
13264
13263
  'tabular': "جدول",
13265
13264
  'google_directions': 'اتجاهات جوجل للاجتماع',
@@ -13744,8 +13743,7 @@ function CroutonLocalization(language) {
13744
13743
  'tabular': "As table",
13745
13744
  'google_directions': 'Google directions to meeting',
13746
13745
  "no_meetings_for_this_day": "No meetings for this day.",
13747
- 'css-textalign': 'style="text-align:right;"',
13748
- 'css-floatdirection': 'style="float:right;"',
13746
+ "css-direction": 'bmlt-rtl',
13749
13747
  'all': 'All',
13750
13748
  'menu': "Menu",
13751
13749
  'search for meetings': 'Search for meetings',
@@ -14146,7 +14144,10 @@ CroutonLocalization.prototype.getDayOfTheWeekWord = function(day_id) {
14146
14144
 
14147
14145
  CroutonLocalization.prototype.getWord = function(word) {
14148
14146
  const ret = this.words[this.language][word.toLowerCase()];
14149
- if (typeof ret === 'undefined') return word;
14147
+ if (typeof ret === 'undefined') {
14148
+ if (word === 'css-direction') return '';
14149
+ return word;
14150
+ }
14150
14151
  return ret;
14151
14152
  };
14152
14153
 
@@ -14198,15 +14199,17 @@ this["hbs_Crouton"]["templates"]["byday"] = Handlebars.template({"1":function(co
14198
14199
  + container.escapeExpression(container.lambda((depth0 != null ? lookupProperty(depth0,"day") : depth0), depth0))
14199
14200
  + "</td>\n </tr>\n";
14200
14201
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
14201
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14202
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
14202
14203
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14203
14204
  return parent[propertyName];
14204
14205
  }
14205
14206
  return undefined
14206
14207
  };
14207
14208
 
14208
- return "<div id=\"bmlt-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack'>\n"
14209
- + ((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":3,"column":8},"end":{"line":15,"column":17}}})) != null ? stack1 : "")
14209
+ return "<div id=\"bmlt-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack "
14210
+ + 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}}}))
14211
+ + "'>\n"
14212
+ + ((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 : "")
14210
14213
  + " </table>\n</div>\n";
14211
14214
  },"usePartial":true,"useData":true});
14212
14215
  this["hbs_Crouton"]["templates"]["byfield"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
@@ -14224,15 +14227,17 @@ this["hbs_Crouton"]["templates"]["byfield"] = Handlebars.template({"1":function(
14224
14227
  + "</td>\n </tr>\n"
14225
14228
  + ((stack1 = container.invokePartial(lookupProperty(partials,"meetings"),depth0,{"name":"meetings","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
14226
14229
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
14227
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14230
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
14228
14231
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14229
14232
  return parent[propertyName];
14230
14233
  }
14231
14234
  return undefined
14232
14235
  };
14233
14236
 
14234
- return "<div id=\"bmlt-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack'>\n <tbody class=\"byfield.hbs\">\n"
14235
- + ((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":4,"column":2},"end":{"line":9,"column":11}}})) != null ? stack1 : "")
14237
+ return "<div id=\"bmlt-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack "
14238
+ + 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}}}))
14239
+ + "'>\n <tbody class=\"byfield.hbs\">\n"
14240
+ + ((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 : "")
14236
14241
  + " </tbody>\n </table>\n</div>\n";
14237
14242
  },"usePartial":true,"useData":true});
14238
14243
  this["hbs_Crouton"]["templates"]["formatPopup"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
@@ -14251,15 +14256,17 @@ this["hbs_Crouton"]["templates"]["formatPopup"] = Handlebars.template({"1":funct
14251
14256
  + alias4(((helper = (helper = lookupProperty(helpers,"description") || (depth0 != null ? lookupProperty(depth0,"description") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"description","hash":{},"data":data,"loc":{"start":{"line":6,"column":44},"end":{"line":6,"column":59}}}) : helper)))
14252
14257
  + "</td>\n </tr>\n";
14253
14258
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
14254
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14259
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
14255
14260
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14256
14261
  return parent[propertyName];
14257
14262
  }
14258
14263
  return undefined
14259
14264
  };
14260
14265
 
14261
- return "<table class='bmlt_a_format table-bordered'>\n"
14262
- + ((stack1 = lookupProperty(helpers,"each").call(depth0 != null ? depth0 : (container.nullContext || {}),(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 : "")
14266
+ return "<table class='bmlt_a_format table-bordered "
14267
+ + container.escapeExpression((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":1,"column":43},"end":{"line":1,"column":70}}}))
14268
+ + "'>\n"
14269
+ + ((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 : "")
14263
14270
  + "</table>";
14264
14271
  },"useData":true});
14265
14272
  this["hbs_Crouton"]["templates"]["header"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data,blockParams,depths) {
@@ -14380,27 +14387,27 @@ this["hbs_Crouton"]["templates"]["header"] = Handlebars.template({"1":function(c
14380
14387
  + ((stack1 = lookupProperty(helpers,"each").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"config") : depth0)) != null ? lookupProperty(stack1,"day_sequence") : stack1),{"name":"each","hash":{},"fn":container.program(18, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":37,"column":12},"end":{"line":39,"column":21}}})) != null ? stack1 : "")
14381
14388
  + " </ul>\n </div>\n";
14382
14389
  },"14":function(container,depth0,helpers,partials,data) {
14383
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14390
+ var lookupProperty = container.lookupProperty || function(parent, propertyName) {
14384
14391
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14385
14392
  return parent[propertyName];
14386
14393
  }
14387
14394
  return undefined
14388
14395
  };
14389
14396
 
14390
- return " <div class=\"bmlt-page show\" id=\"nav-days\" "
14391
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),"css-floatDirection",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":32,"column":50},"end":{"line":32,"column":84}}})) != null ? stack1 : "")
14392
- + ">\n";
14397
+ return " <div class=\"bmlt-page "
14398
+ + 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":32,"column":30},"end":{"line":32,"column":57}}}))
14399
+ + " show\" id=\"nav-days\">\n";
14393
14400
  },"16":function(container,depth0,helpers,partials,data) {
14394
- var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14401
+ var lookupProperty = container.lookupProperty || function(parent, propertyName) {
14395
14402
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14396
14403
  return parent[propertyName];
14397
14404
  }
14398
14405
  return undefined
14399
14406
  };
14400
14407
 
14401
- return " <div class=\"bmlt-page hide\" id=\"nav-days\" "
14402
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),"css-floatDirection",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":34,"column":50},"end":{"line":34,"column":84}}})) != null ? stack1 : "")
14403
- + ">\n";
14408
+ return " <div class=\"bmlt-page "
14409
+ + 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":34,"column":30},"end":{"line":34,"column":57}}}))
14410
+ + " hide\" id=\"nav-days\">\n";
14404
14411
  },"18":function(container,depth0,helpers,partials,data) {
14405
14412
  var alias1=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14406
14413
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
@@ -14429,7 +14436,7 @@ this["hbs_Crouton"]["templates"]["header"] = Handlebars.template({"1":function(c
14429
14436
  + ((stack1 = lookupProperty(helpers,"if").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"config") : depth0)) != null ? lookupProperty(stack1,"has_tabs") : stack1),{"name":"if","hash":{},"fn":container.program(13, data, 0, blockParams, depths),"inverse":container.noop,"data":data,"loc":{"start":{"line":30,"column":0},"end":{"line":42,"column":7}}})) != null ? stack1 : "");
14430
14437
  },"useData":true,"useDepths":true});
14431
14438
  this["hbs_Crouton"]["templates"]["main"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
14432
- var stack1, helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14439
+ var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14433
14440
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14434
14441
  return parent[propertyName];
14435
14442
  }
@@ -14437,12 +14444,14 @@ this["hbs_Crouton"]["templates"]["main"] = Handlebars.template({"1":function(con
14437
14444
  };
14438
14445
 
14439
14446
  return " <div id=\"byfield_"
14440
- + container.escapeExpression(((helper = (helper = lookupProperty(helpers,"key") || (data && lookupProperty(data,"key"))) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"key","hash":{},"data":data,"loc":{"start":{"line":6,"column":19},"end":{"line":6,"column":29}}}) : helper)))
14441
- + "\" class=\"bmlt-page hide\" >\n"
14447
+ + 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)))
14448
+ + "\" class=\"bmlt-page "
14449
+ + 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}}}))
14450
+ + " hide\" >\n"
14442
14451
  + ((stack1 = container.invokePartial(lookupProperty(partials,"byfields"),depth0,{"name":"byfields","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
14443
14452
  + " </div>\n";
14444
14453
  },"3":function(container,depth0,helpers,partials,data) {
14445
- var stack1, helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14454
+ var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14446
14455
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14447
14456
  return parent[propertyName];
14448
14457
  }
@@ -14450,31 +14459,46 @@ this["hbs_Crouton"]["templates"]["main"] = Handlebars.template({"1":function(con
14450
14459
  };
14451
14460
 
14452
14461
  return " <div id=\"byfield_"
14453
- + container.escapeExpression(((helper = (helper = lookupProperty(helpers,"key") || (data && lookupProperty(data,"key"))) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"key","hash":{},"data":data,"loc":{"start":{"line":11,"column":19},"end":{"line":11,"column":29}}}) : helper)))
14454
- + "\" class=\"bmlt-page hide\">\n"
14462
+ + 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)))
14463
+ + "\" class=\"bmlt-page "
14464
+ + 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}}}))
14465
+ + " hide\">\n"
14455
14466
  + ((stack1 = container.invokePartial(lookupProperty(partials,"byfields"),depth0,{"name":"byfields","data":data,"indent":"\t\t\t","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
14456
14467
  + " </div>\n";
14457
14468
  },"5":function(container,depth0,helpers,partials,data) {
14458
- return " <div id=\"byfield_embeddedMapPage\" class=\"bmlt-map bmlt-page hide\">\n </div>\n";
14469
+ var lookupProperty = container.lookupProperty || function(parent, propertyName) {
14470
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14471
+ return parent[propertyName];
14472
+ }
14473
+ return undefined
14474
+ };
14475
+
14476
+ return " <div id=\"byfield_embeddedMapPage\" class=\"bmlt-map bmlt-page "
14477
+ + 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}}}))
14478
+ + " hide\">\n </div>\n";
14459
14479
  },"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
14460
- var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), lookupProperty = container.lookupProperty || function(parent, propertyName) {
14480
+ var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14461
14481
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14462
14482
  return parent[propertyName];
14463
14483
  }
14464
14484
  return undefined
14465
14485
  };
14466
14486
 
14467
- return "<div id=\"bmlt-tabs-table\">\n <div id=\"bmlt-header\" class=\"bmlt-header hide\" "
14468
- + ((stack1 = (lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||container.hooks.helperMissing).call(alias1,"css-textAlign",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":2,"column":51},"end":{"line":2,"column":80}}})) != null ? stack1 : "")
14469
- + ">\n"
14487
+ return "<div id=\"bmlt-tabs-table\">\n <div id=\"bmlt-header\" class=\"bmlt-header "
14488
+ + 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}}}))
14489
+ + " hide\">\n"
14470
14490
  + ((stack1 = container.invokePartial(lookupProperty(partials,"header"),depth0,{"name":"header","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
14471
14491
  + " </div>\n"
14472
14492
  + ((stack1 = lookupProperty(helpers,"each").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"buttonFilters") : 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 : "")
14473
14493
  + ((stack1 = lookupProperty(helpers,"each").call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"buttonFormatFilters") : 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 : "")
14474
14494
  + ((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 : "")
14475
- + " <div id=\"byday\" class=\"bmlt-page hide\">\n"
14495
+ + " <div id=\"byday\" class=\"bmlt-page "
14496
+ + 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}}}))
14497
+ + " hide\">\n"
14476
14498
  + ((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 : "")
14477
- + " </div>\n <div id=\"tabs-content\" class=\"bmlt-page\">\n"
14499
+ + " </div>\n <div id=\"tabs-content\" class=\"bmlt-page "
14500
+ + 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}}}))
14501
+ + "\">\n"
14478
14502
  + ((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 : "")
14479
14503
  + " </div>\n"
14480
14504
  + ((stack1 = container.invokePartial(lookupProperty(partials,"meetingCountTemplate"),depth0,{"name":"meetingCountTemplate","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
@@ -14551,15 +14575,19 @@ this["hbs_Crouton"]["templates"]["mapMenu"] = Handlebars.template({"1":function(
14551
14575
  + alias1((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias3).call(alias2,"Filter meetings",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":14,"column":34},"end":{"line":14,"column":63}}}))
14552
14576
  + "</span><span id=\"close_filter\" class=\"modal-close\">×</span>\n"
14553
14577
  + ((stack1 = lookupProperty(helpers,"each").call(alias2,(depth0 != null ? lookupProperty(depth0,"dropdownData") : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.noop,"data":data,"loc":{"start":{"line":15,"column":8},"end":{"line":24,"column":17}}})) != null ? stack1 : "")
14554
- + " </div>\n</div>\n<div id=\"table_page\" class=\"bmlt-page hide\" >\n <div id=\"bmlt-maptable-header\"><span class=\"map-list-title\">"
14578
+ + " </div>\n</div>\n<div id=\"table_page\" class=\"bmlt-page "
14579
+ + alias1((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias3).call(alias2,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":27,"column":38},"end":{"line":27,"column":65}}}))
14580
+ + " hide\" >\n <div id=\"bmlt-maptable-header\"><span class=\"map-list-title\">"
14555
14581
  + alias1((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias3).call(alias2,"Visible meeting list",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":28,"column":64},"end":{"line":28,"column":98}}}))
14556
- + "</span><span id=\"close_table\" class=\"table-close\">X</span></div>\n <div id=\"bmlt-maptable-div\" style=\"position:relative; overflow-y:scroll;\">\n \n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack'>\n"
14582
+ + "</span><span id=\"close_table\" class=\"table-close\">X</span></div>\n <div id=\"bmlt-maptable-div\" style=\"position:relative; overflow-y:scroll;\">\n \n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack "
14583
+ + alias1((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias3).call(alias2,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":31,"column":104},"end":{"line":31,"column":131}}}))
14584
+ + "'>\n"
14557
14585
  + ((stack1 = lookupProperty(helpers,"each").call(alias2,((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"bydays") : stack1),{"name":"each","hash":{},"fn":container.program(4, data, 0, blockParams, depths),"inverse":container.noop,"data":data,"loc":{"start":{"line":32,"column":8},"end":{"line":34,"column":17}}})) != null ? stack1 : "")
14558
14586
  + " </table>\n </div>\n</div>\n<div id=\"geocoding_modal\" class=\"modal\" style=\"display: none;\">\n <div id=\"search_content\" class=\"modal-content\">\n <span class=\"modal-title\">"
14559
14587
  + alias1((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias3).call(alias2,"Show meetings near...",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":40,"column":28},"end":{"line":40,"column":63}}}))
14560
14588
  + "</span><span id=\"close_search\" class=\"modal-close\">x</span>\n <p></p>\n <div class=\"modal-search\">\n "
14561
14589
  + alias1((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias3).call(alias2,"Enter a city or zip code",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":43,"column":12},"end":{"line":43,"column":50}}}))
14562
- + "\n <input id=\"goto-text\" type=\"text\">\n <p>\n <button id=\"goto-button\" class=\"filter-button\">Los</button>\n </p>\n </div>\n </div> \n</div>\n\n";
14590
+ + "\n <input id=\"goto-text\" type=\"text\">\n <button id=\"goto-button\" class=\"filter-button\">Los</button>\n </div>\n </div> \n</div>\n\n";
14563
14591
  },"usePartial":true,"useData":true,"useDepths":true});
14564
14592
  this["hbs_Crouton"]["templates"]["mapSearch"] = Handlebars.template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
14565
14593
  var alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
@@ -14571,17 +14599,17 @@ this["hbs_Crouton"]["templates"]["mapSearch"] = Handlebars.template({"compiler":
14571
14599
 
14572
14600
  return "<button id=\"map-search-button\" class=\"menu-button\" title=\"Erweiterte Suche\">\n <span class=\"menu-button-label\" style=\"position:initial;\">"
14573
14601
  + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"Search for meetings",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":2,"column":62},"end":{"line":2,"column":95}}}))
14574
- + "</span>\n</button>\n<div id=\"bmltsearch_modal\" class=\"modal\" style=\"display: none;\">\n <div id=\"bmltsearch_content\" class=\"modal-content\">\n <span class=\"modal-title\">"
14575
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"Search for meetings",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":6,"column":28},"end":{"line":6,"column":61}}}))
14576
- + "</span><span id=\"close_search\" class=\"modal-close\">x</span>\n <table>\n <tr><td><div class=\"modal-search\">\n <input id=\"bmltsearch-goto-text\" type=\"text\" placeholder=\""
14577
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"Enter a city or zip code",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":9,"column":70},"end":{"line":9,"column":108}}}))
14602
+ + "</span>\n</button>\n<div id=\"bmltsearch_modal\" class=\"modal\" style=\"display: none;\">\n <div id=\"bmltsearch_content\" class=\"modal-content\">\n <span id=\"close_search\" class=\"modal-close\">x</span>\n <span class=\"modal-title\">"
14603
+ + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"Search for meetings",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":7,"column":34},"end":{"line":7,"column":67}}}))
14604
+ + "</span>\n <table>\n <tr><td><div class=\"modal-search\">\n <input id=\"bmltsearch-goto-text\" type=\"text\" placeholder=\""
14605
+ + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"Enter a city or zip code",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":10,"column":70},"end":{"line":10,"column":108}}}))
14578
14606
  + "\" style=\"margin-bottom:5px;\">\n <button id=\"bmltsearch-text-button\" class=\"filter-button\">"
14579
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"text_search",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":10,"column":70},"end":{"line":10,"column":95}}}))
14580
- + "</button>\n </div></td></tr>\n <tr><td><div class=\"modal-search\">\n <p>\n <button id=\"bmltsearch-nearbyMeetings\" class=\"filter-button\">"
14607
+ + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"text_search",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":11,"column":70},"end":{"line":11,"column":95}}}))
14608
+ + "</button>\n </div></td></tr>\n <tr><td><div class=\"modal-search\">\n <button id=\"bmltsearch-nearbyMeetings\" class=\"filter-button\">"
14581
14609
  + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"near_me",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":14,"column":77},"end":{"line":14,"column":98}}}))
14582
- + "</button>\n </p>\n </div></td></tr>\n <tr><td><div class=\"modal-search\">\n <p>\n <button id=\"bmltsearch-clicksearch\" class=\"filter-button\">"
14583
- + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"click_search",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":19,"column":74},"end":{"line":19,"column":100}}}))
14584
- + "</button>\n </p>\n </div></td></tr></table>\n </div> \n</div>";
14610
+ + "</button>\n </div></td></tr>\n <tr><td><div class=\"modal-search\">\n <button id=\"bmltsearch-clicksearch\" class=\"filter-button\">"
14611
+ + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"click_search",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":17,"column":74},"end":{"line":17,"column":100}}}))
14612
+ + "</button>\n </div></td></tr></table>\n </div> \n</div>";
14585
14613
  },"useData":true});
14586
14614
  this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
14587
14615
  var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, alias4=container.lambda, lookupProperty = container.lookupProperty || function(parent, propertyName) {
@@ -14770,7 +14798,7 @@ this["hbs_Crouton"]["templates"]["meetings"] = Handlebars.template({"1":function
14770
14798
  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":57,"column":9}}})) != null ? stack1 : "");
14771
14799
  },"usePartial":true,"useData":true});
14772
14800
  this["hbs_Crouton"]["templates"]["weekdays"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
14773
- var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14801
+ var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
14774
14802
  if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
14775
14803
  return parent[propertyName];
14776
14804
  }
@@ -14778,8 +14806,10 @@ this["hbs_Crouton"]["templates"]["weekdays"] = Handlebars.template({"1":function
14778
14806
  };
14779
14807
 
14780
14808
  return " <div id='tab"
14781
- + container.escapeExpression(((helper = (helper = lookupProperty(helpers,"day") || (depth0 != null ? lookupProperty(depth0,"day") : depth0)) != null ? helper : alias2),(typeof helper === "function" ? helper.call(alias1,{"name":"day","hash":{},"data":data,"loc":{"start":{"line":3,"column":20},"end":{"line":3,"column":29}}}) : helper)))
14782
- + "' class='tab-pane'>\n <div id=\"bmlt-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack'>\n <tbody class=\"weekdays.hbs\">\n"
14809
+ + alias3(((helper = (helper = lookupProperty(helpers,"day") || (depth0 != null ? lookupProperty(depth0,"day") : depth0)) != null ? helper : alias2),(typeof helper === "function" ? helper.call(alias1,{"name":"day","hash":{},"data":data,"loc":{"start":{"line":3,"column":20},"end":{"line":3,"column":29}}}) : helper)))
14810
+ + "' class='tab-pane'>\n <div id=\"bmlt-table-div\">\n <table class='bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack "
14811
+ + alias3((lookupProperty(helpers,"getWord")||(depth0 && lookupProperty(depth0,"getWord"))||alias2).call(alias1,"css-direction",{"name":"getWord","hash":{},"data":data,"loc":{"start":{"line":5,"column":112},"end":{"line":5,"column":139}}}))
14812
+ + "'>\n <tbody class=\"weekdays.hbs\">\n"
14783
14813
  + ((stack1 = (lookupProperty(helpers,"greaterThan")||(depth0 && lookupProperty(depth0,"greaterThan"))||alias2).call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"length") : stack1),0,{"name":"greaterThan","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":7,"column":6},"end":{"line":9,"column":22}}})) != null ? stack1 : "")
14784
14814
  + ((stack1 = (lookupProperty(helpers,"lessThan")||(depth0 && lookupProperty(depth0,"lessThan"))||alias2).call(alias1,((stack1 = (depth0 != null ? lookupProperty(depth0,"meetings") : depth0)) != null ? lookupProperty(stack1,"length") : stack1),1,{"name":"lessThan","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":10,"column":6},"end":{"line":16,"column":19}}})) != null ? stack1 : "")
14785
14815
  + " </tbody>\n </table>\n </div>\n </div>\n";
@@ -14888,8 +14918,8 @@ var croutonDefaultTemplates = {
14888
14918
  meetingpage_frame_template: `
14889
14919
  <div id="meeting_modal" class="modal bootstrap-bmlt" style="display: none;" tabindex="-1" >
14890
14920
  <div class="modal-content">
14891
- <span class="modal-title">{{getWord "Meeting Details"}}</span><span id="close_meeting_details" class="modal-close">×</span>
14892
- <table id="meeting-details-table" class="bmlt-table table table-striped table-hover table-bordered tablesaw tablesaw-stack meeting-details">
14921
+ <span class="modal-title">{{getWord "Meeting Details"}}</span><span id="close_meeting_details" class="modal-close" style="position: absolute;right: 5px;top:10px;">×</span>
14922
+ <table id="meeting-details-table" class="bmlt-table {{getWord 'css-direction'}} table table-striped table-hover table-bordered tablesaw tablesaw-stack meeting-details">
14893
14923
  <thead>
14894
14924
  <th id="meeting-details-title" colspan="2">
14895
14925
  {{> meetingpageTitleTemplate this}}
@@ -14907,6 +14937,10 @@ var croutonDefaultTemplates = {
14907
14937
  <a id="map-button" class="btn btn-primary btn-xs modal-close" tabindex="0" style="float:right">
14908
14938
  {{getWord "Close"}}</a>
14909
14939
  </div>
14940
+ <div class="swipe-buttons">
14941
+ <span class="modal-right">&gt;</span>
14942
+ <span class="modal-left">&lt;</span>
14943
+ </div>
14910
14944
  </div></div>`,
14911
14945
  meetingpage_title_template: [
14912
14946
  "{{this.formatted_day}} {{this.start_time_formatted}} - {{this.end_time_formatted}}: {{this.meeting_name}}"
@@ -15996,6 +16030,27 @@ crouton_Handlebars.registerHelper("startup", () => '');
15996
16030
  crouton_Handlebars.registerHelper("enrich", () => '');
15997
16031
  crouton_Handlebars.registerHelper('selectFormatPopup', () => "formatPopup");
15998
16032
  crouton_Handlebars.registerHelper('selectObserver', () => "observerTemplate");
16033
+
16034
+ const retrieveGeolocation = () => {
16035
+ return new Promise((resolve, reject) => {
16036
+ if (window.storedGeolocation) {
16037
+ resolve(window.storedGeolocation);
16038
+ } else if (navigator.geolocation) {
16039
+ navigator.geolocation.getCurrentPosition((position) => {
16040
+ window.storedGeolocation = {
16041
+ latitude: position.coords.latitude,
16042
+ longitude: position.coords.longitude
16043
+ };
16044
+ resolve(window.storedGeolocation);
16045
+ }, (error) => {
16046
+ reject(new Error('Error getting geolocation: ' + error.message));
16047
+ });
16048
+ } else {
16049
+ reject(new Error('Geolocation is not supported by this browser.'));
16050
+ }
16051
+ });
16052
+ };
16053
+
15999
16054
  function Crouton(config) {
16000
16055
  var self = this;
16001
16056
  self.mutex = false;
@@ -16242,18 +16297,14 @@ function Crouton(config) {
16242
16297
  }
16243
16298
 
16244
16299
  if (self.config['distance_search'] !== 0) {
16245
- if (navigator.geolocation) {
16246
- return new Promise(function (resolve, reject) {
16247
- navigator.geolocation.getCurrentPosition(resolve, reject);
16248
- }).then(function(position) {
16249
- url += '&lat_val=' + position.coords.latitude
16250
- + '&long_val=' + position.coords.longitude
16251
- + '&sort_results_by_distance=1';
16252
-
16253
- url += (self.config['distance_units'] === "km" ? '&geo_width_km=' : '&geo_width=') + self.config['distance_search'];
16254
- return self.getMeetings(url);
16255
- });
16256
- }
16300
+ return retrieveGeolocation().then((position) => {
16301
+ url += '&lat_val=' + position.latitude + '&long_val=' + position.longitude + '&sort_results_by_distance=1';
16302
+ url += (self.config['distance_units'] === "km" ? '&geo_width_km=' : '&geo_width=') + self.config['distance_search'];
16303
+ return self.getMeetings(url);
16304
+ }).catch((error) => {
16305
+ console.error(error.message);
16306
+ return self.getMeetings(url); // Proceed without geolocation if error occurs
16307
+ });
16257
16308
  } else if (self.config['custom_query'] != null) {
16258
16309
  url += self.config['custom_query'] + '&sort_keys=' + self.config['sort_keys'];
16259
16310
  return self.getMeetings(url);
@@ -16471,11 +16522,11 @@ function Crouton(config) {
16471
16522
  croutonMap.initialize(self.createBmltMapElement(),self.meetingData,context,null,fitBounds,callback);
16472
16523
  }
16473
16524
  self.getCurrentLocation = function(callback) {
16474
- if (navigator.geolocation) {
16475
- navigator.geolocation.getCurrentPosition(callback, self.errorHandler);
16476
- } else {
16477
- $('.geo').removeClass("hide").addClass("show").html('<p>Geolocation is not supported by your browser</p>');
16478
- }
16525
+ retrieveGeolocation().then(position => {
16526
+ callback(position);
16527
+ }).catch(error => {
16528
+ jQuery('.geo').removeClass("hide").addClass("show").html(`<p>${error.message}</p>`);
16529
+ });
16479
16530
  };
16480
16531
  self.renderView = function (selector, context, callback, fitBounds) {
16481
16532
  hbs_Crouton['localization'] = self.localization;
@@ -16534,7 +16585,7 @@ function Crouton(config) {
16534
16585
  });
16535
16586
  }
16536
16587
  self.getServiceBodies = function(service_bodies_id) {
16537
- var requires_parents = self.config.has_regions;
16588
+ const requires_parents = true;
16538
16589
 
16539
16590
  var url = this.config['root_server'] + '/client_interface/jsonp/?switcher=GetServiceBodies'
16540
16591
  + (requires_parents ? '&parents=1' : '') + getServiceBodiesQueryString(service_bodies_id);
@@ -16553,8 +16604,8 @@ function Crouton(config) {
16553
16604
  }
16554
16605
 
16555
16606
  self.showLocation = function(position) {
16556
- var latitude = position.coords.latitude;
16557
- var longitude = position.coords.longitude;
16607
+ var latitude = position.latitude;
16608
+ var longitude = position.longitude;
16558
16609
  var distanceUnit;
16559
16610
  var distanceCalculation;
16560
16611
 
@@ -16863,7 +16914,7 @@ function Crouton(config) {
16863
16914
  };
16864
16915
  self.createBmltMapElement = function() {
16865
16916
  if (!document.getElementById('bmlt-map')) {
16866
- jQuery("#bmlt-tabs").before("<div id='bmlt-map' class='bootstrap-bmlt bmlt-map bmlt_map_container_div'></div>");
16917
+ jQuery("#bmlt-tabs").before("<div id='bmlt-map' class='bootstrap-bmlt bmlt-map "+self.localization.getWord('css-direction')+" bmlt_map_container_div'></div>");
16867
16918
  }
16868
16919
  return 'bmlt-map';
16869
16920
  }
@@ -16871,7 +16922,7 @@ function Crouton(config) {
16871
16922
  window.croutonMap = new MeetingMap(self.config);
16872
16923
  if (self.config['map_search']) self.searchMap();
16873
16924
  }
16874
- self.meetingSearch();
16925
+ else if (!self.config['map_search']) self.meetingSearch();
16875
16926
  }
16876
16927
 
16877
16928
  Crouton.prototype.setConfig = function(config) {
@@ -16969,8 +17020,10 @@ Crouton.prototype.doHandlebars = function() {
16969
17020
  .then(function(data) {
16970
17021
  hbs_Crouton['localization'] = self.localization;
16971
17022
  self.all_service_bodies = [];
16972
- var service_body = data[0][0];
16973
- self.all_service_bodies.push(service_body);
17023
+ var service_bodies = data[0];
17024
+ for (var i = 0; i < service_bodies.length; i++) {
17025
+ self.all_service_bodies.push(service_bodies[i]);
17026
+ }
16974
17027
  var enrichedMeetingData = self.enrichMeetings(self.meetingData);
16975
17028
  var customStartupTemplate = crouton_Handlebars.compile('{{startup}}');
16976
17029
  customStartupTemplate(enrichedMeetingData);
@@ -16985,18 +17038,59 @@ Crouton.prototype.doHandlebars = function() {
16985
17038
 
16986
17039
  Crouton.prototype.meetingModal = function(meetingId) {
16987
17040
  let self = this;
17041
+ const tabs = document.getElementById('bmlt-tabs');
17042
+
16988
17043
  let el = document.createElement('bmlt-handlebar');
16989
- let tabs = document.getElementById('bmlt-tabs');
16990
17044
  tabs.appendChild(el);
16991
17045
  let span = document.createElement('span');
16992
- let meeting = self.meetingData.find((m) => m.id_bigint == meetingId);
16993
17046
  el.appendChild(span);
16994
17047
  span.textContent = self.config.meetingpage_frame_template;
17048
+ let meeting = self.meetingData.find((m) => m.id_bigint == meetingId);
16995
17049
  self.handlebars(meeting, tabs.getElementsByTagName('bmlt-handlebar'));
17050
+
16996
17051
  [...tabs.getElementsByClassName('modal-close')].forEach((elem)=>elem.addEventListener('click', (e)=>{croutonMap.closeModalWindow(e.target); document.getElementById('meeting_modal').remove()}));
16997
- document.body.appendChild(document.getElementById('meeting_modal'));
16998
- croutonMap.openModalWindow(document.getElementById('meeting_modal'));
17052
+ let mm = document.getElementById('meeting_modal');
17053
+ document.body.appendChild(mm);
17054
+ croutonMap.openModalWindow(mm, true);
16999
17055
  croutonMap.showMap(true);
17056
+ let visibleMeetings = jQuery('.bmlt-data-row:visible');
17057
+ let index = -1;
17058
+ const prefix = "meeting-data-row-";
17059
+ for (k=0; k<visibleMeetings.length; k++) {
17060
+ if (visibleMeetings[k].id===prefix+meetingId) {
17061
+ index = k;
17062
+ break;
17063
+ }
17064
+ };
17065
+ let doSwipe = function(swipedir) {
17066
+ switch(swipedir) {
17067
+ case 'left':
17068
+ index = index+1;
17069
+ break;
17070
+ case 'right':
17071
+ index = index-1;
17072
+ break;
17073
+ default:
17074
+ index = -1;
17075
+ }
17076
+ if (index >= 0 && index < visibleMeetings.length) {
17077
+ const newMeeting = visibleMeetings[index];
17078
+ meetingId = newMeeting.id.substring(prefix.length);
17079
+ mm.getElementsByClassName('modal-close').item(0).dispatchEvent(new MouseEvent("click"));
17080
+ self.meetingModal(meetingId);
17081
+ }
17082
+ }
17083
+ swipedetect(mm, doSwipe);
17084
+ if (index <= 0) {
17085
+ jQuery(".modal-left").addClass("hide");
17086
+ } else {
17087
+ mm.getElementsByClassName('modal-left').item(0).addEventListener("click", ev=>doSwipe("right"));
17088
+ }
17089
+ if (index >= visibleMeetings.length-1) {
17090
+ jQuery(".modal-right").addClass("hide");
17091
+ } else {
17092
+ mm.getElementsByClassName('modal-right').item(0).addEventListener("click", ev=>doSwipe("left"));
17093
+ }
17000
17094
  }
17001
17095
  Crouton.prototype.searchMap = function() {
17002
17096
  var self = this;
@@ -17773,6 +17867,38 @@ Array.prototype.sortByKey = function (key) {
17773
17867
  });
17774
17868
  return this;
17775
17869
  };
17870
+ function swipedetect(el, callback){
17871
+
17872
+ var touchsurface = el,
17873
+ swipedir,
17874
+ startX,
17875
+ startY,
17876
+ distX,
17877
+ distY,
17878
+ threshold = 150, //required min distance traveled to be considered swipe
17879
+ restraint = 100, // maximum distance allowed at the same time in perpendicular direction
17880
+ handleswipe = callback || function(swipedir){}
17881
+
17882
+ touchsurface.addEventListener('touchstart', function(e){
17883
+ var touchobj = e.changedTouches[0]
17884
+ swipedir = 'none'
17885
+ startX = touchobj.pageX
17886
+ startY = touchobj.pageY
17887
+ }, false)
17888
+
17889
+
17890
+ touchsurface.addEventListener('touchend', function(e){
17891
+ if (!e.cancelable) return;
17892
+ var touchobj = e.changedTouches[0]
17893
+ distX = touchobj.pageX - startX // get horizontal dist traveled by finger while in contact with surface
17894
+ distY = touchobj.pageY - startY // get vertical dist traveled by finger while in contact with surface
17895
+ if (Math.abs(distX) >= threshold && Math.abs(distY) <= restraint){ // 2nd condition for horizontal swipe met
17896
+ swipedir = (distX < 0)? 'left' : 'right' // if dist traveled is negative, it indicates left swipe
17897
+ handleswipe(swipedir)
17898
+ e.preventDefault()
17899
+ }
17900
+ }, false)
17901
+ }
17776
17902
 
17777
17903
  function MeetingMap(inConfig) {
17778
17904
  /****************************************************************************************
@@ -17797,6 +17923,27 @@ function MeetingMap(inConfig) {
17797
17923
  function apiLoadedCallback() {
17798
17924
  loadedCallbackFunction(...loadedCallbackArgs);
17799
17925
  }
17926
+
17927
+ function retrieveGeolocation() {
17928
+ return new Promise((resolve, reject) => {
17929
+ if (window.storedGeolocation) {
17930
+ resolve(window.storedGeolocation);
17931
+ } else if (navigator.geolocation) {
17932
+ navigator.geolocation.getCurrentPosition((position) => {
17933
+ window.storedGeolocation = {
17934
+ latitude: position.coords.latitude,
17935
+ longitude: position.coords.longitude
17936
+ };
17937
+ resolve(window.storedGeolocation);
17938
+ }, (error) => {
17939
+ reject(new Error('Error getting geolocation: ' + error.message));
17940
+ });
17941
+ } else {
17942
+ reject(new Error('Geolocation is not supported by this browser.'));
17943
+ }
17944
+ });
17945
+ }
17946
+
17800
17947
  /************************************************************************************//**
17801
17948
  * \brief Load the map and set it up. *
17802
17949
  ****************************************************************************************/
@@ -17902,14 +18049,15 @@ function MeetingMap(inConfig) {
17902
18049
  var controlDiv = document.createElement('div');
17903
18050
  controlDiv.innerHTML = template(menuContext);
17904
18051
  controlDiv.querySelector("#nearbyMeetings").addEventListener('click', function (e) {
17905
- if (navigator.geolocation) {
17906
- navigator.geolocation.getCurrentPosition(function (position) {
17907
- coords = position.coords;
17908
- gDelegate.setViewToPosition(coords, filterMeetingsAndBounds);
17909
- });
17910
- }
18052
+ retrieveGeolocation().then(position => {
18053
+ gDelegate.setViewToPosition(position, filterMeetingsAndBounds);
18054
+ }).catch(error => {
18055
+ console.error(error.message);
18056
+ $('.geo').removeClass("hide").addClass("show").html(`<p>${error.message}</p>`);
18057
+ });
17911
18058
  dropdownContent = document.getElementById("map-menu-dropdown").style.display = "none";
17912
18059
  });
18060
+
17913
18061
  controlDiv.querySelector("#lookupLocation").addEventListener('click', showGeocodingDialog);
17914
18062
  controlDiv.querySelector("#filterMeetings").addEventListener('click', showFilterDialog);
17915
18063
  controlDiv.querySelector("#showAsTable").addEventListener('click', showListView);
@@ -17969,18 +18117,17 @@ function MeetingMap(inConfig) {
17969
18117
  searchResponseCallback(fitDuringFilter);
17970
18118
  };
17971
18119
  function nearMeSearch() {
17972
- if (navigator.geolocation) {
17973
- navigator.geolocation.getCurrentPosition(
17974
- function (position) {
17975
- showThrobber();
17976
- crouton.searchByCoordinates(position.coords.latitude, position.coords.longitude, config.map_search.width);
17977
- },
17978
- showBmltSearchDialog
17979
- )
17980
- }
17981
- closeModalWindow(gSearchModal);
17982
- }
18120
+ retrieveGeolocation().then(position => {
18121
+ showThrobber();
18122
+ crouton.searchByCoordinates(position.latitude, position.longitude, config.map_search.width);
18123
+ if (activeModal == gSearchModal) closeModalWindow(gSearchModal);
18124
+ }).catch(error => {
18125
+ console.error(error.message);
18126
+ if (activeModal != gSearchModal) showBmltSearchDialog();
18127
+ });
18128
+ };
17983
18129
  function clickSearch(e) {
18130
+ croutonMap.showMap();
17984
18131
  gDelegate.clickSearch(e, function(lat,lng) {
17985
18132
  showThrobber();
17986
18133
  crouton.searchByCoordinates(lat, lng, config.map_search.width);
@@ -18071,6 +18218,9 @@ function MeetingMap(inConfig) {
18071
18218
  }, {});
18072
18219
  }
18073
18220
  var g_suspendedFullscreen = false;
18221
+ var g_overflowX;
18222
+ var activeModal = null;
18223
+ var swipableModal = false;
18074
18224
  function closeModalWindow(modal) {
18075
18225
  gDelegate.modalOff();
18076
18226
  activeModal = null;
@@ -18083,24 +18233,43 @@ function MeetingMap(inConfig) {
18083
18233
  toggleFullscreen();
18084
18234
  }
18085
18235
  }
18236
+ if (swipableModal) {
18237
+ const body = document.getElementsByTagName("BODY")[0];
18238
+ const scrollY = body.style.top;
18239
+ body.style.overflowX = g_overflowX;
18240
+ body.style.position = '';
18241
+ body.style.top = '';
18242
+ body.style.width = '';
18243
+ window.scrollTo(0, parseInt(scrollY || '0') * -1);
18244
+ }
18086
18245
  }
18087
- var activeModal = null;
18088
18246
  document.addEventListener("keydown", function(event) {
18089
18247
  if (activeModal && event.key == "Escape") {
18090
18248
  closeModalWindow(activeModal);
18091
18249
  }
18092
18250
  }, true);
18093
- function openModalWindow(modal) {
18251
+ function openModalWindow(modal,swipe=false) {
18094
18252
  if (isFullscreen()) {
18095
18253
  g_suspendedFullscreen = true;
18096
18254
  toggleFullscreen();
18097
18255
  }
18098
18256
  modal.style.display = "block";
18257
+ swipableModal = swipe;
18099
18258
  modal.focus();
18100
18259
  activeModal = modal;
18101
18260
  dd = document.getElementById("map-menu-dropdown");
18102
18261
  if (dd) dd.style.display = "none";
18103
18262
  gDelegate.modalOn();
18263
+ if (swipableModal) {
18264
+ const body = document.getElementsByTagName("BODY")[0];
18265
+ g_overflowX = body.style.overflowX;
18266
+ const newTop = -window.scrollY+'px';
18267
+ const newWidth = window.width+'px';
18268
+ body.style.overflowX = 'hidden';
18269
+ body.style.position = 'fixed';
18270
+ body.style.top = newTop;
18271
+ body.style.width = newWidth;
18272
+ }
18104
18273
  }
18105
18274
  function showFilterDialog(e) {
18106
18275
  openModalWindow(document.getElementById('filter_modal'));
@@ -18427,6 +18596,7 @@ MeetingMap.prototype.refreshMeetings = null;
18427
18596
  MeetingMap.prototype.openModalWindow = null;
18428
18597
  MeetingMap.prototype.closeModalWindow = null;
18429
18598
  MeetingMap.prototype.loadPopupMap = null;
18599
+
18430
18600
  function MapDelegate(config) {
18431
18601
  var g_icon_image_single = L.icon({
18432
18602
  iconUrl: config.BMLTPlugin_images+"/NAMarker.png",