mui-sass 0.9.11 → 0.9.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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