Sha256: 0b1d85aa5277896f2babd93d739c2f5dd0c31785bd7954a2ac3cca1cf88ce686

Contents?: true

Size: 994 Bytes

Versions: 3

Compression:

Stored size: 994 Bytes

Contents

NW.Dom.shortcuts = (function() {

  // match missing R/L context
  var nextID = 0,
  reLeftContext = /^[\x20\t\n\r\f]*[>+~]/,
  reRightContext = /[>+~][\x20\t\n\r\f]*$/;

  return function(selector, from, alt) {

    // add left context if missing
    if (reLeftContext.test(selector)) {
      if (from.nodeType == 9) {
        selector = '* ' + selector;
      } else if (/html|body/i.test(from.nodeName)) {
        selector = from.nodeName + ' ' + selector;
      } else if (alt) {
        selector = NW.Dom.shortcuts(selector, alt);
      } else if (from.nodeType == 1 && from.id) {
        selector = '#' + from.id + ' ' + selector;
      } else {
        ++nextID;
        selector = '#' + (from.id = 'NW' + nextID) + ' ' + selector;
        //NW.Dom.emit('Unable to resolve a context for the shortcut selector "' + selector + '"');
      }
    }

    // add right context if missing
    if (reRightContext.test(selector)) {
      selector += ' *';
    }

    return selector;
  };

})();

Version data entries

3 entries across 3 versions & 3 rubygems

Version Path
learn_create-0.0.22 lib/templates/javascript_lab_template/node_modules/nwmatcher/src/modules/nwmatcher-shortcuts.js
lanes-0.8.0 node_modules/nwmatcher/src/modules/nwmatcher-shortcuts.js
select_all-rails-0.3.1 node_modules/nwmatcher/src/modules/nwmatcher-shortcuts.js