mui-sass 0.7.5 → 0.8.1
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/mui/sass/version.rb +1 -1
- data/vendor/assets/javascripts/mui.js +42 -32
- data/vendor/assets/stylesheets/mui/_select.scss +6 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 812fecbc763791d5dd154a8d92e723f02664c562
|
4
|
+
data.tar.gz: 8d7bc80f1f71e491fc86cfc80564d93663402eec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9e1fea5fbd2f770c09278891da775a9503c82a54fbceba9842e21e6c719429f459ab747cafbbef04ad79b20328f9a0bbb48a84e644b1ef5e9cd2d293d67085f
|
7
|
+
data.tar.gz: 03409819887debb1c88e63538189be9aacff1c385d10b5764c7a45f338cb7af78b8c350ca5ae67b4b83f4f58ed5753c5b0df969c006e3a73e7ce45b79fb3d191
|
data/CHANGELOG.md
CHANGED
data/lib/mui/sass/version.rb
CHANGED
@@ -1267,6 +1267,7 @@ var jqLite = require('./lib/jqLite'),
|
|
1267
1267
|
cssSelector = '.mui-select > select',
|
1268
1268
|
menuClass = 'mui-select__menu',
|
1269
1269
|
selectedClass = 'mui--is-selected',
|
1270
|
+
disabledClass = 'mui--is-disabled',
|
1270
1271
|
doc = document,
|
1271
1272
|
win = window;
|
1272
1273
|
|
@@ -1404,9 +1405,9 @@ function Menu(wrapperEl, selectEl) {
|
|
1404
1405
|
util.enableScrollLock();
|
1405
1406
|
|
1406
1407
|
// instance variables
|
1407
|
-
this.
|
1408
|
-
this.
|
1409
|
-
this.
|
1408
|
+
this.itemArray = [];
|
1409
|
+
this.origPos = null;
|
1410
|
+
this.currentPos = null;
|
1410
1411
|
this.selectEl = selectEl;
|
1411
1412
|
this.menuEl = this._createMenuEl(wrapperEl, selectEl);
|
1412
1413
|
this.clickCallbackFn = util.callback(this, 'clickHandler');
|
@@ -1443,8 +1444,9 @@ function Menu(wrapperEl, selectEl) {
|
|
1443
1444
|
Menu.prototype._createMenuEl = function(wrapperEl, selectEl) {
|
1444
1445
|
var menuEl = doc.createElement('div'),
|
1445
1446
|
childEls = selectEl.children,
|
1446
|
-
|
1447
|
-
|
1447
|
+
itemArray = this.itemArray,
|
1448
|
+
itemPos = 0,
|
1449
|
+
selectedPos = 0,
|
1448
1450
|
selectedRow = 0,
|
1449
1451
|
loopEl,
|
1450
1452
|
rowEl,
|
@@ -1481,30 +1483,37 @@ Menu.prototype._createMenuEl = function(wrapperEl, selectEl) {
|
|
1481
1483
|
// add row item to menu
|
1482
1484
|
rowEl = doc.createElement('div');
|
1483
1485
|
rowEl.textContent = loopEl.textContent;
|
1484
|
-
rowEl._muiIndex = indexNum;
|
1485
|
-
|
1486
|
-
// handle selected options
|
1487
|
-
if (loopEl.selected) {
|
1488
|
-
rowEl.className = selectedClass;
|
1489
|
-
selectedRow = menuEl.children.length;
|
1490
|
-
}
|
1491
1486
|
|
1492
1487
|
// handle optgroup options
|
1493
1488
|
if (inGroup) jqLite.addClass(rowEl, 'mui-optgroup__option');
|
1494
1489
|
|
1495
|
-
|
1490
|
+
if (loopEl.disabled) {
|
1491
|
+
// do not attach muiIndex to disable <option> elements to make them
|
1492
|
+
// unselectable.
|
1493
|
+
jqLite.addClass(rowEl, disabledClass);
|
1494
|
+
} else {
|
1495
|
+
rowEl._muiIndex = loopEl.index;
|
1496
|
+
rowEl._muiPos = itemPos;
|
1497
|
+
|
1498
|
+
// handle selected options
|
1499
|
+
if (loopEl.selected) {
|
1500
|
+
jqLite.addClass(rowEl, selectedClass);
|
1501
|
+
selectedRow = menuEl.children.length;
|
1502
|
+
selectedPos = itemPos;
|
1503
|
+
}
|
1496
1504
|
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1505
|
+
// add to item array
|
1506
|
+
itemArray.push(rowEl);
|
1507
|
+
itemPos += 1;
|
1508
|
+
}
|
1509
|
+
|
1510
|
+
menuEl.appendChild(rowEl);
|
1500
1511
|
}
|
1501
1512
|
}
|
1502
1513
|
|
1503
1514
|
// save indices
|
1504
|
-
|
1505
|
-
|
1506
|
-
this.origIndex = selectedIndex;
|
1507
|
-
this.currentIndex = selectedIndex;
|
1515
|
+
this.origPos = selectedPos;
|
1516
|
+
this.currentPos = selectedPos;
|
1508
1517
|
|
1509
1518
|
// set position
|
1510
1519
|
var props = formlib.getMenuPositionalCSS(
|
@@ -1556,13 +1565,14 @@ Menu.prototype.clickHandler = function(ev) {
|
|
1556
1565
|
// don't allow events to bubble
|
1557
1566
|
ev.stopPropagation();
|
1558
1567
|
|
1559
|
-
var
|
1568
|
+
var item = ev.target,
|
1569
|
+
index = item._muiIndex;
|
1560
1570
|
|
1561
1571
|
// ignore clicks on non-items
|
1562
1572
|
if (index === undefined) return;
|
1563
1573
|
|
1564
1574
|
// select option
|
1565
|
-
this.
|
1575
|
+
this.currentPos = item._muiPos;
|
1566
1576
|
this.selectCurrent();
|
1567
1577
|
|
1568
1578
|
// destroy menu
|
@@ -1574,14 +1584,14 @@ Menu.prototype.clickHandler = function(ev) {
|
|
1574
1584
|
* Increment selected item
|
1575
1585
|
*/
|
1576
1586
|
Menu.prototype.increment = function() {
|
1577
|
-
if (this.
|
1587
|
+
if (this.currentPos === this.itemArray.length - 1) return;
|
1578
1588
|
|
1579
1589
|
// un-select old row
|
1580
|
-
jqLite.removeClass(this.
|
1590
|
+
jqLite.removeClass(this.itemArray[this.currentPos], selectedClass);
|
1581
1591
|
|
1582
1592
|
// select new row
|
1583
|
-
this.
|
1584
|
-
jqLite.addClass(this.
|
1593
|
+
this.currentPos += 1;
|
1594
|
+
jqLite.addClass(this.itemArray[this.currentPos], selectedClass);
|
1585
1595
|
}
|
1586
1596
|
|
1587
1597
|
|
@@ -1589,14 +1599,14 @@ Menu.prototype.increment = function() {
|
|
1589
1599
|
* Decrement selected item
|
1590
1600
|
*/
|
1591
1601
|
Menu.prototype.decrement = function() {
|
1592
|
-
if (this.
|
1602
|
+
if (this.currentPos === 0) return;
|
1593
1603
|
|
1594
1604
|
// un-select old row
|
1595
|
-
jqLite.removeClass(this.
|
1605
|
+
jqLite.removeClass(this.itemArray[this.currentPos], selectedClass);
|
1596
1606
|
|
1597
1607
|
// select new row
|
1598
|
-
this.
|
1599
|
-
jqLite.addClass(this.
|
1608
|
+
this.currentPos -= 1;
|
1609
|
+
jqLite.addClass(this.itemArray[this.currentPos], selectedClass);
|
1600
1610
|
}
|
1601
1611
|
|
1602
1612
|
|
@@ -1604,8 +1614,8 @@ Menu.prototype.decrement = function() {
|
|
1604
1614
|
* Select current item
|
1605
1615
|
*/
|
1606
1616
|
Menu.prototype.selectCurrent = function() {
|
1607
|
-
if (this.
|
1608
|
-
this.selectEl.selectedIndex = this.
|
1617
|
+
if (this.currentPos !== this.origPos) {
|
1618
|
+
this.selectEl.selectedIndex = this.itemArray[this.currentPos]._muiIndex;
|
1609
1619
|
|
1610
1620
|
// trigger change event
|
1611
1621
|
util.dispatchEvent(this.selectEl, 'change');
|
@@ -113,7 +113,12 @@ $xFormLabelLineHeight: floor($mui-label-font-size * 1.25);
|
|
113
113
|
background-color: mui-color('grey', '200');
|
114
114
|
}
|
115
115
|
|
116
|
-
|
116
|
+
&.mui--is-disabled {
|
117
|
+
color: $mui-text-dark-hint;
|
118
|
+
cursor: $mui-cursor-disabled;
|
119
|
+
}
|
120
|
+
|
121
|
+
&:not(.mui-optgroup__label):not(.mui--is-disabled):hover {
|
117
122
|
background-color: mui-color('grey', '300');
|
118
123
|
}
|
119
124
|
}
|
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.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitriy Tarasov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-09-
|
11
|
+
date: 2016-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sass
|