shineout 1.7.1-rc.5 → 1.7.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.
Files changed (47) hide show
  1. package/css/Cascader/Result.js +6 -3
  2. package/css/Cascader/styles/cascader.css +4 -0
  3. package/css/Datum/List.js +54 -17
  4. package/css/Select/More.js +5 -0
  5. package/css/Select/Result.js +5 -2
  6. package/css/Select/styles/select.css +4 -0
  7. package/css/Transfer/Transfer.js +13 -8
  8. package/css/Transfer/btns.js +25 -14
  9. package/css/TreeSelect/Result.js +5 -2
  10. package/css/TreeSelect/styles/treeSelect.css +4 -0
  11. package/css/Upload/ImageResult.js +8 -3
  12. package/css/index.d.ts +1 -1
  13. package/css/index.js +1 -1
  14. package/dist/shineout.js +190 -115
  15. package/dist/shineout.js.map +1 -1
  16. package/dist/shineout.min.js +1 -1
  17. package/dist/theme.antd.css +1 -1
  18. package/dist/theme.antd2.css +1 -1
  19. package/dist/theme.default.css +1 -1
  20. package/dist/theme.shineout.css +1 -1
  21. package/es/Cascader/Result.js +4 -2
  22. package/es/Cascader/styles/cascader.less +3 -0
  23. package/es/Datum/List.js +39 -9
  24. package/es/Select/More.js +4 -1
  25. package/es/Select/Result.js +4 -2
  26. package/es/Select/styles/select.less +3 -0
  27. package/es/Transfer/Transfer.js +11 -6
  28. package/es/Transfer/btns.js +14 -2
  29. package/es/TreeSelect/Result.js +15 -3
  30. package/es/TreeSelect/styles/treeSelect.less +3 -0
  31. package/es/Upload/ImageResult.js +8 -3
  32. package/es/index.d.ts +1 -1
  33. package/es/index.js +1 -1
  34. package/lib/Cascader/Result.js +6 -3
  35. package/lib/Cascader/styles/cascader.less +3 -0
  36. package/lib/Datum/List.js +54 -17
  37. package/lib/Select/More.js +5 -0
  38. package/lib/Select/Result.js +5 -2
  39. package/lib/Select/styles/select.less +3 -0
  40. package/lib/Transfer/Transfer.js +13 -8
  41. package/lib/Transfer/btns.js +25 -14
  42. package/lib/TreeSelect/Result.js +5 -2
  43. package/lib/TreeSelect/styles/treeSelect.less +3 -0
  44. package/lib/Upload/ImageResult.js +8 -3
  45. package/lib/index.d.ts +1 -1
  46. package/lib/index.js +1 -1
  47. package/package.json +1 -1
@@ -49,7 +49,8 @@ function Item(_ref) {
49
49
  data = _ref.data,
50
50
  isPopover = _ref.isPopover,
51
51
  singleRemove = _ref.singleRemove,
52
- click = _ref.click;
52
+ click = _ref.click,
53
+ only = _ref.only;
53
54
  var onClose = close ? function (e) {
54
55
  close(data, isPopover, e);
55
56
  } : undefined;
@@ -58,7 +59,7 @@ function Item(_ref) {
58
59
  } : undefined;
59
60
  return _react.default.createElement("a", {
60
61
  tabIndex: -1,
61
- className: (0, _classnames.default)((0, _styles3.cascaderClass)('item'), className),
62
+ className: (0, _classnames.default)((0, _styles3.cascaderClass)('item', only && 'item-only'), className),
62
63
  onClick: onClick
63
64
  }, children, singleRemove && _react.default.createElement("span", {
64
65
  className: (0, _styles3.cascaderClass)('single-remove'),
@@ -223,8 +224,10 @@ function (_PureComponent) {
223
224
  var itemClassName = (0, _classnames.default)(className, (0, _styles3.cascaderClass)(singleRemove && 'remove-container'));
224
225
  var res = data && render(data, raw);
225
226
  if (!res) return null;
227
+ var more = this.state.more;
226
228
  return _react.default.createElement(Item, (0, _extends2.default)({
227
- key: index
229
+ key: index,
230
+ only: more === 1
228
231
  }, options, {
229
232
  data: data,
230
233
  className: itemClassName,
@@ -173,6 +173,10 @@ div.so-cascader-options {
173
173
  -ms-flex-negative: 0;
174
174
  flex-shrink: 0;
175
175
  }
176
+ .so-cascader-result.so-cascader-compressed .so-cascader-item-only {
177
+ -ms-flex-negative: 1;
178
+ flex-shrink: 1;
179
+ }
176
180
  .so-cascader-result.so-cascader-compressed .so-cascader-input {
177
181
  white-space: nowrap;
178
182
  }
package/css/Datum/List.js CHANGED
@@ -50,6 +50,16 @@ function () {
50
50
  this.$cachedFlatten = new Map();
51
51
  };
52
52
 
53
+ _proto.resetValueMap = function resetValueMap() {
54
+ var map = new Map();
55
+
56
+ for (var i = 0; i < this.$values.length; i++) {
57
+ map.set(this.$values[i], true);
58
+ }
59
+
60
+ this.valueMap = map;
61
+ };
62
+
53
63
  _proto.setDisabled = function setDisabled(disabled) {
54
64
  if (this.$cachedDisabled === disabled) return;
55
65
  this.$cachedDisabled = disabled;
@@ -70,6 +80,7 @@ function () {
70
80
 
71
81
  _proto.handleChange = function handleChange(values) {
72
82
  this.$values = values;
83
+ this.resetValueMap();
73
84
  this.dispatch(_types.CHANGE_TOPIC);
74
85
 
75
86
  if (this.onChange) {
@@ -119,6 +130,7 @@ function () {
119
130
  if (data === undefined || data === null) return; // clear value
120
131
 
121
132
  if (this.limit === 1) this.$values = [];
133
+ this.resetValueMap();
122
134
  var raws = Array.isArray(data) ? data : [data];
123
135
 
124
136
  if (childrenKey && this.limit !== 1) {
@@ -156,6 +168,7 @@ function () {
156
168
 
157
169
  _proto.set = function set(value) {
158
170
  this.$values = [];
171
+ this.resetValueMap();
159
172
  this.add(value);
160
173
  };
161
174
 
@@ -168,7 +181,7 @@ function () {
168
181
  return false;
169
182
  }
170
183
 
171
- return this.values.indexOf(this.format(raw)) >= 0;
184
+ return !!this.valueMap.get(this.format(raw));
172
185
  };
173
186
 
174
187
  _proto.getDataByValue = function getDataByValue(data, value) {
@@ -246,30 +259,51 @@ function () {
246
259
  return !_this4.disabled(r);
247
260
  });
248
261
  var values = [];
249
- var prediction = this.prediction || this.defaultPrediction.bind(this);
250
262
 
251
- outer: for (var _iterator2 = this.values, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
252
- var _ref2;
263
+ if (!this.prediction) {
264
+ var rowValueMap = new Map();
253
265
 
254
- if (_isArray2) {
255
- if (_i2 >= _iterator2.length) break;
256
- _ref2 = _iterator2[_i2++];
257
- } else {
258
- _i2 = _iterator2.next();
259
- if (_i2.done) break;
260
- _ref2 = _i2.value;
266
+ for (var i = 0; i < raws.length; i++) {
267
+ if (raws[i].IS_NOT_MATCHED_VALUE) {
268
+ rowValueMap.set(raws[i].value, true);
269
+ } else {
270
+ rowValueMap.set(this.format(raws[i]), true);
271
+ }
261
272
  }
262
273
 
263
- var val = _ref2;
274
+ for (var _i2 = 0; _i2 < this.values.length; _i2++) {
275
+ var val = this.values[_i2];
264
276
 
265
- for (var j = 0; j < raws.length; j++) {
266
- if (raws[j].IS_NOT_MATCHED_VALUE && val === raws[j].value || prediction(val, raws[j])) {
267
- raws.splice(j, 1);
268
- continue outer;
277
+ if (!rowValueMap.get(val)) {
278
+ values.push(val);
269
279
  }
270
280
  }
281
+ } else {
282
+ var prediction = this.prediction;
283
+
284
+ outer: for (var _iterator2 = this.values, _isArray2 = Array.isArray(_iterator2), _i3 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
285
+ var _ref2;
286
+
287
+ if (_isArray2) {
288
+ if (_i3 >= _iterator2.length) break;
289
+ _ref2 = _iterator2[_i3++];
290
+ } else {
291
+ _i3 = _iterator2.next();
292
+ if (_i3.done) break;
293
+ _ref2 = _i3.value;
294
+ }
295
+
296
+ var _val = _ref2;
271
297
 
272
- values.push(val);
298
+ for (var j = 0; j < raws.length; j++) {
299
+ if (raws[j].IS_NOT_MATCHED_VALUE && _val === raws[j].value || prediction(_val, raws[j])) {
300
+ raws.splice(j, 1);
301
+ continue outer;
302
+ }
303
+ }
304
+
305
+ values.push(_val);
306
+ }
273
307
  } // this.values = values
274
308
 
275
309
 
@@ -300,6 +334,7 @@ function () {
300
334
 
301
335
  _proto.resetValue = function resetValue(values, cached) {
302
336
  this.$values = values;
337
+ this.resetValueMap();
303
338
 
304
339
  if (this.onChange && !cached) {
305
340
  this.onChange(this.getValue());
@@ -348,6 +383,7 @@ function () {
348
383
 
349
384
  if (type === _types.WITH_OUT_DISPATCH) {
350
385
  this.$values = this.formatValue(values);
386
+ this.resetValueMap();
351
387
  } else {
352
388
  this.resetValue(this.formatValue(values), (0, _shallowEqual.default)(this.$cachedValue, values));
353
389
  }
@@ -367,6 +403,7 @@ function () {
367
403
  },
368
404
  set: function set(values) {
369
405
  this.$values = values;
406
+ this.resetValueMap();
370
407
  this.dispatch(_types.CHANGE_TOPIC);
371
408
 
372
409
  if (this.onChange) {
@@ -68,6 +68,11 @@ function getResetMore(onFilter, container, doms) {
68
68
  num = -1;
69
69
  }
70
70
  }
71
+ } // at least show one
72
+
73
+
74
+ if (num === 0 && itemWidthArr[0] && itemWidthArr[0] > 70) {
75
+ num = 1;
71
76
  }
72
77
 
73
78
  return num;
@@ -72,7 +72,8 @@ function Item(_ref) {
72
72
  onClick = _ref.onClick,
73
73
  resultClassName = _ref.resultClassName,
74
74
  _ref$title = _ref.title,
75
- title = _ref$title === void 0 ? false : _ref$title;
75
+ title = _ref$title === void 0 ? false : _ref$title,
76
+ only = _ref.only;
76
77
  var value = data;
77
78
  var click = disabled || !onClick ? undefined : function () {
78
79
  return onClick(value);
@@ -81,7 +82,7 @@ function Item(_ref) {
81
82
  return _react.default.createElement("a", {
82
83
  title: title && (0, _is.isString)(content) ? content : null,
83
84
  tabIndex: -1,
84
- className: (0, _classnames.default)((0, _styles.selectClass)('item', disabled && 'disabled', synDisabled && 'ban'), getResultClassName(resultClassName, data))
85
+ className: (0, _classnames.default)((0, _styles.selectClass)('item', disabled && 'disabled', synDisabled && 'ban', only && 'item-only'), getResultClassName(resultClassName, data))
85
86
  }, content, !synDisabled && _react.default.createElement("span", {
86
87
  className: (0, _styles.selectClass)('indicator', 'close'),
87
88
  onClick: click
@@ -190,8 +191,10 @@ function (_PureComponent) {
190
191
  resultClassName = _this$props3.resultClassName;
191
192
  var content = getResultContent(data, renderResult, renderUnmatched);
192
193
  if (content === null) return null;
194
+ var more = this.state.more;
193
195
  return _react.default.createElement(Item, {
194
196
  key: index,
197
+ only: more === 1,
195
198
  content: content,
196
199
  data: data,
197
200
  disabled: datum.disabled(data),
@@ -141,6 +141,10 @@
141
141
  -ms-flex-negative: 0;
142
142
  flex-shrink: 0;
143
143
  }
144
+ .so-select-compressed.so-select-result .so-select-item-only {
145
+ -ms-flex-negative: 1;
146
+ flex-shrink: 1;
147
+ }
144
148
  .so-select-close-warpper {
145
149
  position: absolute;
146
150
  top: 50%;
@@ -105,14 +105,19 @@ function (_PureComponent) {
105
105
  this.props.datum.setValue(this.props.value);
106
106
  }
107
107
 
108
- var sources = data.filter(function (d) {
109
- return !datum.check(d);
110
- });
111
- var targets = datumValues.reduce(function (p, n) {
112
- var d = datum.getDataByValue(data, n);
113
- if (d) p.push(d);
114
- return p;
115
- }, []);
108
+ var sources = [];
109
+ var targets = [];
110
+
111
+ for (var i = 0; i < data.length; i++) {
112
+ var d = data[i];
113
+
114
+ if (datum.check(d)) {
115
+ targets.push(d);
116
+ } else {
117
+ sources.push(d);
118
+ }
119
+ }
120
+
116
121
  return _react.default.createElement("div", (0, _extends2.default)({
117
122
  className: (0, _classnames.default)((0, _styles.transferClass)('_', (0, _config.isRTL)() && 'rtl'), className),
118
123
  style: style
@@ -41,18 +41,29 @@ function (_Component) {
41
41
 
42
42
  var _proto = Btns.prototype;
43
43
 
44
- _proto.change = function change(index) {
44
+ _proto.getDataMap = function getDataMap() {
45
45
  var _this$props = this.props,
46
- setSelecteds = _this$props.setSelecteds,
47
- selecteds = _this$props.selecteds,
48
- datum = _this$props.datum,
49
46
  data = _this$props.data,
50
47
  keygen = _this$props.keygen;
48
+ var dataMap = new Map();
49
+
50
+ for (var i = 0; i < data.length; i++) {
51
+ dataMap.set((0, _uid.getKey)(data[i], keygen, i), data[i]);
52
+ }
53
+
54
+ return dataMap;
55
+ };
56
+
57
+ _proto.change = function change(index) {
58
+ var _this$props2 = this.props,
59
+ setSelecteds = _this$props2.setSelecteds,
60
+ selecteds = _this$props2.selecteds,
61
+ datum = _this$props2.datum;
62
+ var dataMap = this.getDataMap();
51
63
  var newValue = selecteds[1 - index].map(function (c) {
52
- return data.find(function (d, i) {
53
- return (0, _uid.getKey)(d, keygen, i) === c;
54
- });
55
- });
64
+ return dataMap.get(c);
65
+ }); // const newValue = selecteds[1 - index].map(c => data.find((d, i) => getKey(d, keygen, i) === c))
66
+
56
67
  setSelecteds(1 - index, []);
57
68
  datum[index ? 'add' : 'remove'](newValue, undefined, undefined, true);
58
69
  };
@@ -62,9 +73,9 @@ function (_Component) {
62
73
  mode = 'left';
63
74
  }
64
75
 
65
- var _this$props2 = this.props,
66
- operations = _this$props2.operations,
67
- operationIcon = _this$props2.operationIcon;
76
+ var _this$props3 = this.props,
77
+ operations = _this$props3.operations,
78
+ operationIcon = _this$props3.operationIcon;
68
79
 
69
80
  if (mode === 'left') {
70
81
  var left = [_react.default.createElement(_react.default.Fragment, {
@@ -86,9 +97,9 @@ function (_Component) {
86
97
  };
87
98
 
88
99
  _proto.render = function render() {
89
- var _this$props3 = this.props,
90
- selecteds = _this$props3.selecteds,
91
- disabled = _this$props3.disabled;
100
+ var _this$props4 = this.props,
101
+ selecteds = _this$props4.selecteds,
102
+ disabled = _this$props4.disabled;
92
103
  var disable = disabled === true;
93
104
  return _react.default.createElement("div", {
94
105
  className: (0, _styles.transferClass)('btns')
@@ -48,7 +48,8 @@ function Item(_ref) {
48
48
  var content = _ref.content,
49
49
  data = _ref.data,
50
50
  disabled = _ref.disabled,
51
- onClick = _ref.onClick;
51
+ onClick = _ref.onClick,
52
+ only = _ref.only;
52
53
  var value = data;
53
54
  var click = disabled || !onClick ? undefined : function () {
54
55
  return onClick(value);
@@ -56,7 +57,7 @@ function Item(_ref) {
56
57
  var synDisabled = disabled || !click;
57
58
  return _react.default.createElement("a", {
58
59
  tabIndex: -1,
59
- className: (0, _styles.treeSelectClass)('item', disabled && 'disabled', synDisabled && 'ban')
60
+ className: (0, _styles.treeSelectClass)('item', disabled && 'disabled', synDisabled && 'ban', only && 'item-only')
60
61
  }, content, !synDisabled && _react.default.createElement("span", {
61
62
  className: (0, _styles.treeSelectClass)('indicator', 'close'),
62
63
  onClick: click
@@ -183,7 +184,9 @@ function (_PureComponent) {
183
184
  datum = _this$props4.datum;
184
185
  var content = getResultContent(data, renderResult, renderUnmatched);
185
186
  if (content === null) return null;
187
+ var more = this.state.more;
186
188
  return _react.default.createElement(Item, {
189
+ only: more === 1,
187
190
  key: index,
188
191
  content: content,
189
192
  data: data,
@@ -160,6 +160,10 @@
160
160
  -ms-flex-negative: 0;
161
161
  flex-shrink: 0;
162
162
  }
163
+ .so-treeSelect-compressed .so-treeSelect-item-only {
164
+ -ms-flex-negative: 1;
165
+ flex-shrink: 1;
166
+ }
163
167
  .so-treeSelect-indicator {
164
168
  position: absolute;
165
169
  top: 50%;
@@ -42,6 +42,7 @@ function (_PureComponent) {
42
42
  _this.bindImage = _this.bindImage.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
43
43
  _this.handlePreview = _this.handlePreview.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
44
44
  _this.handleConfirmChange = _this.handleConfirmChange.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
45
+ _this.preview = _this.preview.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
45
46
  return _this;
46
47
  }
47
48
 
@@ -69,6 +70,11 @@ function (_PureComponent) {
69
70
  });
70
71
  };
71
72
 
73
+ _proto.preview = function preview() {
74
+ if (!this.image) return;
75
+ this.image.preview();
76
+ };
77
+
72
78
  _proto.handlePreview = function handlePreview() {
73
79
  var _this2 = this;
74
80
 
@@ -83,14 +89,13 @@ function (_PureComponent) {
83
89
  var url = renderResult(value);
84
90
  onPreview(url, value, index, values, {
85
91
  preview: function preview() {
86
- return _this2.image.preview();
92
+ return _this2.preview();
87
93
  }
88
94
  });
89
95
  return;
90
96
  }
91
97
 
92
- if (!this.image) return;
93
- this.image.preview();
98
+ this.preview();
94
99
  };
95
100
 
96
101
  _proto.renderOptions = function renderOptions() {
package/css/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  import './styles/normalize.less'
3
3
  import * as utils from './utils'
4
4
 
5
- export default { utils, version: '1.7.1-rc.5' }
5
+ export default { utils, version: '1.7.1' }
6
6
  export { utils }
7
7
  export { setLocale } from './locale'
8
8
  export { color, style } from './utils/expose'
package/css/index.js CHANGED
@@ -222,6 +222,6 @@ exports.Upload = _Upload.default;
222
222
  // Created by scripts/src-index.js.
223
223
  var _default = {
224
224
  utils: utils,
225
- version: '1.7.1-rc.5'
225
+ version: '1.7.1'
226
226
  };
227
227
  exports.default = _default;