|
106 | 106 | }, { |
107 | 107 | key: '_addTag', |
108 | 108 | value: function _addTag(tag) { |
109 | | - var onlyUnique = this.props.onlyUnique; |
| 109 | + var _props = this.props; |
| 110 | + var onlyUnique = _props.onlyUnique; |
| 111 | + var maxTags = _props.maxTags; |
110 | 112 |
|
111 | 113 | var isUnique = this.props.value.indexOf(tag) === -1; |
112 | | - |
113 | | - if (tag !== '' && (isUnique || !onlyUnique)) { |
| 114 | + var limit = maxTags ? this.props.value.length < maxTags : true; |
| 115 | + if (tag !== '' && limit && (isUnique || !onlyUnique)) { |
114 | 116 | var value = this.props.value.concat([tag]); |
115 | 117 | this.props.onChange(value); |
116 | 118 | this._clearInput(); |
|
129 | 131 | }, { |
130 | 132 | key: 'handleKeyDown', |
131 | 133 | value: function handleKeyDown(e) { |
132 | | - var _props = this.props; |
133 | | - var value = _props.value; |
134 | | - var removeKeys = _props.removeKeys; |
135 | | - var addKeys = _props.addKeys; |
| 134 | + var _props2 = this.props; |
| 135 | + var value = _props2.value; |
| 136 | + var removeKeys = _props2.removeKeys; |
| 137 | + var addKeys = _props2.addKeys; |
136 | 138 | var tag = this.state.tag; |
137 | 139 |
|
138 | 140 | var empty = tag === ''; |
|
196 | 198 | value: function render() { |
197 | 199 | var _this = this; |
198 | 200 |
|
199 | | - var _props2 = this.props; |
200 | | - var value = _props2.value; |
201 | | - var onChange = _props2.onChange; |
202 | | - var inputProps = _props2.inputProps; |
203 | | - var tagProps = _props2.tagProps; |
204 | | - var renderLayout = _props2.renderLayout; |
205 | | - var renderTag = _props2.renderTag; |
206 | | - var renderInput = _props2.renderInput; |
207 | | - var addKeys = _props2.addKeys; |
208 | | - var removeKeys = _props2.removeKeys; |
| 201 | + var _props3 = this.props; |
| 202 | + var value = _props3.value; |
| 203 | + var onChange = _props3.onChange; |
| 204 | + var inputProps = _props3.inputProps; |
| 205 | + var tagProps = _props3.tagProps; |
| 206 | + var renderLayout = _props3.renderLayout; |
| 207 | + var renderTag = _props3.renderTag; |
| 208 | + var renderInput = _props3.renderInput; |
| 209 | + var addKeys = _props3.addKeys; |
| 210 | + var removeKeys = _props3.removeKeys; |
209 | 211 |
|
210 | | - var other = _objectWithoutProperties(_props2, ['value', 'onChange', 'inputProps', 'tagProps', 'renderLayout', 'renderTag', 'renderInput', 'addKeys', 'removeKeys']); |
| 212 | + var other = _objectWithoutProperties(_props3, ['value', 'onChange', 'inputProps', 'tagProps', 'renderLayout', 'renderTag', 'renderInput', 'addKeys', 'removeKeys']); |
211 | 213 |
|
212 | 214 | var tag = this.state.tag; |
213 | 215 |
|
|
242 | 244 | renderLayout: _React['default'].PropTypes.func, |
243 | 245 | tagProps: _React['default'].PropTypes.object, |
244 | 246 | onlyUnique: _React['default'].PropTypes.bool, |
245 | | - value: _React['default'].PropTypes.array.isRequired |
| 247 | + value: _React['default'].PropTypes.array.isRequired, |
| 248 | + maxTags: _React['default'].PropTypes.number |
246 | 249 | }, |
247 | 250 | enumerable: true |
248 | 251 | }, { |
|
256 | 259 | renderTag: defaultRenderTag, |
257 | 260 | renderLayout: defaultRenderLayout, |
258 | 261 | tagProps: { className: 'react-tagsinput-tag', classNameRemove: 'react-tagsinput-remove' }, |
259 | | - onlyUnique: false |
| 262 | + onlyUnique: false, |
| 263 | + maxTags: 0 |
260 | 264 | }, |
261 | 265 | enumerable: true |
262 | 266 | }]); |
|
0 commit comments