Skip to content

Commit 6b5f522

Browse files
committed
0.0.5 lib build
1 parent 0d5d660 commit 6b5f522

File tree

4 files changed

+31
-11
lines changed

4 files changed

+31
-11
lines changed

lib/SLDSPicklistBase/index.js

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,7 @@ module.exports = _react2['default'].createClass({
4444
modal: false,
4545
className: '',
4646
listClassName: '',
47-
onClick: function onClick() {
48-
console.log('onClick should be defined');
49-
},
47+
onClick: function onClick() {},
5048
onSelect: function onSelect(value) {
5149
console.log('onItemSelect should be defined');
5250
},
@@ -107,14 +105,21 @@ module.exports = _react2['default'].createClass({
107105
},
108106

109107
handleClick: function handleClick(event) {
110-
event.preventDefault();
111-
event.stopPropagation();
112-
this.setState({ isOpen: true });
113-
if (this.props.onClick) {
114-
this.props.onClick();
108+
_utils.EventUtil.trap(event);
109+
if (!this.state.isOpen) {
110+
this.setState({ isOpen: true });
111+
if (this.props.onClick) {
112+
this.props.onClick();
113+
}
114+
} else {
115+
this.handleClose();
115116
}
116117
},
117118

119+
handleMouseDown: function handleMouseDown(event) {
120+
_utils.EventUtil.trapImmediate(event);
121+
},
122+
118123
handleBlur: function handleBlur(e) {
119124
this.setState({ isFocused: false });
120125
},
@@ -135,6 +140,7 @@ module.exports = _react2['default'].createClass({
135140
if (event.keyCode) {
136141
if (event.keyCode === _utils.KEYS.ENTER || event.keyCode === _utils.KEYS.SPACE || event.keyCode === _utils.KEYS.DOWN || event.keyCode === _utils.KEYS.UP) {
137142
_utils.EventUtil.trapEvent(event);
143+
138144
this.setState({
139145
isOpen: true,
140146
highlightedIndex: 0
@@ -210,7 +216,7 @@ module.exports = _react2['default'].createClass({
210216
var className = this.state.currentSelectedItem ? 'slds-input--bare slds-hide' : 'slds-input--bare';
211217
return _react2['default'].createElement(
212218
'div',
213-
{ className: "slds-form-element ignore-react-onclickoutside slds-theme--" + this.props.theme },
219+
{ className: "slds-form-element slds-theme--" + this.props.theme },
214220
_react2['default'].createElement(
215221
'div',
216222
{ className: "slds-picklist slds-theme--" + this.props.theme },
@@ -227,6 +233,7 @@ module.exports = _react2['default'].createClass({
227233
onBlur: this.handleBlur,
228234
onFocus: this.handleFocus,
229235
onClick: this.handleClick,
236+
onMouseDown: this.handleMouseDown,
230237
tabIndex: this.state.isOpen ? -1 : 0,
231238
onKeyDown: this.handleKeyDown },
232239
_react2['default'].createElement(
@@ -243,6 +250,7 @@ module.exports = _react2['default'].createClass({
243250
},
244251

245252
componentDidUpdate: function componentDidUpdate(prevProps, prevState) {
253+
246254
if (this.state.lastBlurredTimeStamp !== prevState.lastBlurredTimeStamp) {
247255
if (this.state.lastBlurredIndex === this.state.highlightedIndex) {
248256
this.handleClose();

lib/index.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,12 @@ var _SLDSSettings = require('./SLDSSettings');
2121

2222
var _SLDSSettings2 = _interopRequireDefault(_SLDSSettings);
2323

24+
var _SLDSButton = require('./SLDSButton');
25+
26+
var _SLDSButton2 = _interopRequireDefault(_SLDSButton);
27+
2428
module.exports = {
2529
SLDSPicklistBase: _SLDSPicklistBase2['default'],
26-
SLDSSettings: _SLDSSettings2['default']
30+
SLDSSettings: _SLDSSettings2['default'],
31+
SLDSButton: _SLDSButton2['default']
2732
};

lib/utils/EventUtil.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ var EventUtil = {
2424

2525
trap: function trap(event) {
2626
return EventUtil.trapEvent(event);
27+
},
28+
29+
trapImmediate: function trapImmediate(event) {
30+
if (event.nativeEvent) {
31+
event.nativeEvent.stopImmediatePropagation();
32+
}
33+
EventUtil.trap(event);
2734
}
2835

2936
};

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "design-system-react",
3-
"version": "0.0.4",
3+
"version": "0.0.5",
44
"description": "Salesforce Lightning Design System React components",
55
"scripts": {
66
"start": "node server.js",

0 commit comments

Comments
 (0)