add onceOnly config; other tweaks

This commit is contained in:
Barbara Miller 2018-03-14 13:05:10 -07:00
parent da057e93e0
commit 0f2f16e09f

View file

@ -25,7 +25,7 @@ class UmbraBehavior {
this.alreadyDone = []; this.alreadyDone = [];
this.idleSince = null; this.idleSince = null;
this.intervalId = null; this.intervalId = null;
this.intervalTimeMs = {{interval or '300'}}; this.intervalTimeMs = {{interval or 300}};
this.index = 0; this.index = 0;
} }
@ -33,7 +33,8 @@ class UmbraBehavior {
// should match older default and simpleclicks behavior, and more // should match older default and simpleclicks behavior, and more
var k = this.index; var k = this.index;
var selector = this.actions[k].selector; var selector = this.actions[k].selector;
var skipIDCheck = this.actions[k].skipIDcheck ? this.actions[k].skipIDcheck !== false : false; var skipIDCheck = this.actions[k].skipIDcheck ? this.actions[k].skipIDcheck != false : false;
var onceOnly = this.actions[k].onceOnly ? this.actions[k].onceOnly != false: false;
var action = this.actions[k].do ? this.actions[k].do : 'click'; var action = this.actions[k].do ? this.actions[k].do : 'click';
var closeSelector = this.actions[k].closeSelector ? this.actions[k].closeSelector : null; var closeSelector = this.actions[k].closeSelector ? this.actions[k].closeSelector : null;
var didSomething = false; var didSomething = false;
@ -57,7 +58,11 @@ class UmbraBehavior {
doTarget(closeTargets[0], 'click'); doTarget(closeTargets[0], 'click');
} }
} }
var doTargets = documents[j].querySelectorAll(selector); if (onceOnly) {
var doTargets = [ documents[j].querySelector(selector) ];
} else {
var doTargets = documents[j].querySelectorAll(selector);
}
var doTargetsLength = doTargets.length; var doTargetsLength = doTargets.length;
if (!(doTargetsLength > 0)) { if (!(doTargetsLength > 0)) {
continue; continue;