glance-dom
Version:
Glance DOM library
46 lines (33 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _log = require('../../utils/log');
var _log2 = _interopRequireDefault(_log);
var _reduce = require('@arr/reduce');
var _reduce2 = _interopRequireDefault(_reduce);
var _filter = require('@arr/filter');
var _filter2 = _interopRequireDefault(_filter);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/*
Searching the dom by xpath or css for value only gets the default. Inputs dynamically set don't update the dom which
xpath and css won't find. The method is used to get search those dynamic values as well.
*/
exports.default = {
options: {
'value': {
locate: function locate(_ref) {
var label = _ref.label,
containerElements = _ref.containerElements;
_log2.default.debug('Searching in value:', label);
return (0, _reduce2.default)(containerElements, function (result, scope) {
var results = scope.querySelectorAll('button,input,option,param');
var elements = Array.prototype.slice.apply(results);
return result.concat((0, _filter2.default)(elements, function (input) {
return input.value && input.value.toLowerCase().indexOf(label.toLowerCase()) !== -1;
}));
}, []);
}
}
}
};