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.idleSince = null;
this.intervalId = null;
this.intervalTimeMs = {{interval or '300'}};
this.intervalTimeMs = {{interval or 300}};
this.index = 0;
}
@ -33,7 +33,8 @@ class UmbraBehavior {
// should match older default and simpleclicks behavior, and more
var k = this.index;
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 closeSelector = this.actions[k].closeSelector ? this.actions[k].closeSelector : null;
var didSomething = false;
@ -57,7 +58,11 @@ class UmbraBehavior {
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;
if (!(doTargetsLength > 0)) {
continue;