mui-sass 0.9.11 → 0.9.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c37b098fbf53f8578d1b2073261515f0551cf0da
4
- data.tar.gz: f98631ecff91db13552c149b4a3617f34742072e
3
+ metadata.gz: 291447cb00bbe0adefb3a9ab2df8f6951f5bef69
4
+ data.tar.gz: 50c6b4765625cb3eef5ec3feb9e9a8aa6cbf2c11
5
5
  SHA512:
6
- metadata.gz: a0d1305271ec6501d2324de412ca509e724c3ca2f9ac82c0ea05e11f00d2b6a55c0a75d8487358dbe0306b8a84e685b6b9008290e17c2e352078640c9b4bd9a3
7
- data.tar.gz: 451db13c4eaab02b528b0da20b3ee40135e58824a7f2f01881bd5948822ff8c82789c60b50a97d4dee061c3fb319d5f4dcf572eb754917fa5d83d6faedcc3a83
6
+ metadata.gz: 0b9e8b60188468b4e0763df09169382ee7b6a6817bdd61b6b2a40dbd0012911118898a0f5037c781dc79b8e002da4e87d7a4b018ab992bdeda702d6096d928da
7
+ data.tar.gz: bb60e2e446e01574c5928c3a3adbe96460b8171d17d25a87159e7837e10fd0e554f54124119d20bb97f964b15e9526e253d7a23be5e249b374838cb215c0ec05
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.9.12 (2017-03-18)
2
+
3
+ - Update assets to match upstream version
4
+
1
5
  ## 0.9.11 (2017-03-17)
2
6
 
3
7
  - Update assets to match upstream version
@@ -1,5 +1,5 @@
1
1
  module Mui
2
2
  module Sass
3
- VERSION = '0.9.11'
3
+ VERSION = '0.9.12'.freeze
4
4
  end
5
5
  end
@@ -1396,6 +1396,8 @@ function initialize(selectEl) {
1396
1396
  // initialize variables
1397
1397
  wrapperEl._selectEl = selectEl;
1398
1398
  wrapperEl._menu = null;
1399
+ wrapperEl._q = '';
1400
+ wrapperEl._qTimeout = null;
1399
1401
 
1400
1402
  // make wrapper tab focusable, remove tab focus from <select>
1401
1403
  if (!selectEl.disabled) wrapperEl.tabIndex = 0;
@@ -1408,6 +1410,7 @@ function initialize(selectEl) {
1408
1410
  jqLite.on(wrapperEl, 'click', onWrapperClick);
1409
1411
  jqLite.on(wrapperEl, 'blur focus', onWrapperBlurOrFocus);
1410
1412
  jqLite.on(wrapperEl, 'keydown', onWrapperKeyDown);
1413
+ jqLite.on(wrapperEl, 'keypress', onWrapperKeyPress);
1411
1414
 
1412
1415
  // add element to detect 'disabled' change (using sister element due to
1413
1416
  // IE/Firefox issue
@@ -1479,12 +1482,16 @@ function onWrapperKeyDown(ev) {
1479
1482
  }
1480
1483
 
1481
1484
  if (keyCode === 27) {
1485
+ // escape
1482
1486
  menu.destroy();
1483
1487
  } else if (keyCode === 40) {
1488
+ // up
1484
1489
  menu.increment();
1485
1490
  } else if (keyCode === 38) {
1491
+ // down
1486
1492
  menu.decrement();
1487
1493
  } else if (keyCode === 13) {
1494
+ // enter
1488
1495
  menu.selectCurrent();
1489
1496
  menu.destroy();
1490
1497
  }
@@ -1492,6 +1499,35 @@ function onWrapperKeyDown(ev) {
1492
1499
  }
1493
1500
 
1494
1501
 
1502
+ /**
1503
+ *
1504
+ */
1505
+ function onWrapperKeyPress(ev) {
1506
+ var menu = this._menu;
1507
+
1508
+ // exit if default prevented or menu is closed
1509
+ if (ev.defaultPrevented || !menu) return;
1510
+
1511
+ // handle query timer
1512
+ var self = this;
1513
+ clearTimeout(this._qTimeout);
1514
+ this._q += ev.key;
1515
+ this._qTimeout = setTimeout(function() {self._q = '';}, 300);
1516
+
1517
+ // select first match alphabetically
1518
+ var prefixRegex = new RegExp('^' + this._q, 'i'),
1519
+ itemArray = menu.itemArray,
1520
+ pos;
1521
+
1522
+ for (pos in itemArray) {
1523
+ if (prefixRegex.test(itemArray[pos].innerText)) {
1524
+ menu.selectPos(pos);
1525
+ break;
1526
+ }
1527
+ }
1528
+ }
1529
+
1530
+
1495
1531
  /**
1496
1532
  * Handle click events on wrapper element.
1497
1533
  * @param {Event} ev - The DOM event
@@ -1721,6 +1757,19 @@ Menu.prototype.selectCurrent = function() {
1721
1757
  }
1722
1758
 
1723
1759
 
1760
+ /**
1761
+ * Select item at position
1762
+ */
1763
+ Menu.prototype.selectPos = function(pos) {
1764
+ // un-select old row
1765
+ jqLite.removeClass(this.itemArray[this.currentPos], selectedClass);
1766
+
1767
+ // select new row
1768
+ this.currentPos = pos;
1769
+ jqLite.addClass(this.itemArray[pos], selectedClass);
1770
+ }
1771
+
1772
+
1724
1773
  /**
1725
1774
  * Destroy menu and detach event handlers
1726
1775
  */
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mui-sass
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.11
4
+ version: 0.9.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitriy Tarasov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-17 00:00:00.000000000 Z
11
+ date: 2017-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass