nsc-react-component 1.3.5 → 1.3.8

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.
@@ -5,12 +5,24 @@ var _excluded = ["url", "listeners", "viewname", "cached", "cacheKey"],
5
5
 
6
6
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
7
7
 
8
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
9
-
10
8
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
11
9
 
12
10
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13
11
 
12
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
13
+
14
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
15
+
16
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
+
18
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
+
20
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
21
+
22
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
23
+
24
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
+
14
26
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15
27
 
16
28
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -77,7 +89,13 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
77
89
  store = _props$store === void 0 ? {} : _props$store,
78
90
  options = props.options,
79
91
  data = props.data,
80
- children = props.children;
92
+ children = props.children,
93
+ _props$addData = props.addData,
94
+ addData = _props$addData === void 0 ? [] : _props$addData,
95
+ _props$deleteData = props.deleteData,
96
+ deleteData = _props$deleteData === void 0 ? [] : _props$deleteData,
97
+ _props$valueField = props.valueField,
98
+ valueField = _props$valueField === void 0 ? "value" : _props$valueField;
81
99
 
82
100
  var _config = config(),
83
101
  viewUrl = _config.viewUrl;
@@ -93,6 +111,36 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
93
111
 
94
112
  if (!url && !options && !data && !viewname) throw new Error("url、viewname、data和options不能都为空!");
95
113
 
114
+ var getAllData = function getAllData(data) {
115
+ var newData = _toConsumableArray(data);
116
+
117
+ if (addData.length > 0) {
118
+ newData = [].concat(_toConsumableArray(addData), _toConsumableArray(newData));
119
+ }
120
+
121
+ if (deleteData.length > 0) {
122
+ var valueFields = valueField.split(",");
123
+ newData.map(function (item, i) {
124
+ if (_typeof(item) === "object") {
125
+ var _value = "";
126
+ valueFields.map(function (v, index) {
127
+ _value = index == 0 ? _value + item[v] : _value + "," + item[v];
128
+ });
129
+
130
+ if (deleteData.indexOf(_value) > -1) {
131
+ newData.splice(i, 1);
132
+ }
133
+ } else if (typeof item === "string") {
134
+ if (deleteData.indexOf(item) > -1) {
135
+ newData.splice(i, 1);
136
+ }
137
+ }
138
+ });
139
+ }
140
+
141
+ return newData;
142
+ };
143
+
96
144
  var storeProps = _objectSpread({
97
145
  model: "model",
98
146
  component: _assertThisInitialized(_this2),
@@ -101,7 +149,7 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
101
149
  utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);
102
150
  },
103
151
  load: function load(data, modelData, store) {
104
- var dataSource = _this.convertData(modelData);
152
+ var dataSource = _this.convertData(getAllData(data));
105
153
 
106
154
  _this.setState({
107
155
  dataSource: dataSource
@@ -111,7 +159,7 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
111
159
  },
112
160
  dataChanged: function dataChanged(data, modelData, store) {
113
161
  _this.setState({
114
- dataSource: _this.convertData(modelData)
162
+ dataSource: _this.convertData(getAllData(data))
115
163
  });
116
164
 
117
165
  utils.callback(listenersPops.dataChanged, _this, [data, modelData, store]);
@@ -152,18 +200,16 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
152
200
  customize = _this$props.customize,
153
201
  onChange = _this$props.onChange;
154
202
 
155
- if (onChange) {
156
- if (customize) {
157
- onChange(e);
158
- this.setState({
159
- value: e
160
- });
161
- } else {
162
- onChange(e.target.value, e);
163
- this.setState({
164
- value: e.target.value
165
- });
166
- }
203
+ if (customize) {
204
+ onChange && onChange(e);
205
+ this.setState({
206
+ value: e
207
+ });
208
+ } else {
209
+ this.setState({
210
+ value: e.target.value
211
+ });
212
+ onChange && onChange(e.target.value, e);
167
213
  }
168
214
  }
169
215
  }, {
@@ -190,12 +236,34 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
190
236
  store = _this$props2$store === void 0 ? {} : _this$props2$store;
191
237
  var dataSoure = [];
192
238
 
193
- for (var i = 0; i < data.length; i++) {
239
+ var _loop = function _loop(i) {
194
240
  if (_typeof(data[i]) === "object") {
195
241
  var obj = _objectSpread({}, data[i]);
196
242
 
197
- obj.label = data[i][labelField];
198
- obj.value = data[i][valueField];
243
+ var _value2 = "";
244
+
245
+ if (valueField.split(",").length == 1) {
246
+ _value2 = data[i][valueField];
247
+ } else {
248
+ var valueFields = valueField.split(",");
249
+ valueFields.map(function (v, index) {
250
+ _value2 = index == 0 ? _value2 + data[i][v] : _value2 + "," + data[i][v];
251
+ });
252
+ }
253
+
254
+ var label = "";
255
+
256
+ if (labelField.split(",").length == 1) {
257
+ label = data[i][labelField];
258
+ } else {
259
+ var labelFields = labelField.split(",");
260
+ labelFields.map(function (l, index) {
261
+ label = index == 0 ? label + data[i][l] : label + "-" + data[i][l];
262
+ });
263
+ }
264
+
265
+ obj.label = label;
266
+ obj.value = _value2;
199
267
  obj.disabled = data[i].disabled ? data[i].disabled : false;
200
268
  dataSoure.push(obj);
201
269
  } else {
@@ -205,6 +273,10 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
205
273
  _obj.disabled = false;
206
274
  dataSoure.push(_obj);
207
275
  }
276
+ };
277
+
278
+ for (var i = 0; i < data.length; i++) {
279
+ _loop(i);
208
280
  }
209
281
 
210
282
  return dataSoure;
@@ -282,7 +354,7 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
282
354
  options = _this$props6.options,
283
355
  params = _objectWithoutProperties(_this$props6, _excluded2);
284
356
 
285
- var RadioProps = omit(_objectSpread({}, params), ["store", "labelField", "valueField", "customize", "onChange"]);
357
+ var RadioProps = omit(_objectSpread({}, params), ["store", "labelField", "valueField", "customize", "onChange", "addData", "deleteData"]);
286
358
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Radio.Group, _extends({
287
359
  value: this.state.value,
288
360
  options: this.state.dataSource,
@@ -296,4 +368,4 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
296
368
  }(Component);
297
369
 
298
370
  export { RadioGroup as default };
299
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3JhZGlvL1JhZGlvR3JvdXAudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiQ29tcG9uZW50Iiwib21pdCIsIlN0b3JlIiwidXRpbHMiLCJjb25maWciLCJSYWRpb0dyb3VwIiwicHJvcHMiLCJkYXRhU291cmNlIiwiZGF0YVN0b3JlIiwidmFsdWUiLCJfdGhpcyIsInN0b3JlIiwib3B0aW9ucyIsImRhdGEiLCJjaGlsZHJlbiIsInZpZXdVcmwiLCJ1cmwiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQb3BzIiwidmlld25hbWUiLCJjYWNoZWQiLCJjYWNoZUtleSIsInN0b3JlcyIsIkVycm9yIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwiY29udmVydERhdGEiLCJzZXRTdGF0ZSIsImRhdGFDaGFuZ2VkIiwiaXNDYWNoZWQiLCJpc0NhY2hlS2V5IiwiYXV0b0xvYWQiLCJlIiwiY3VzdG9taXplIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJzdGF0ZSIsImxhYmVsRmllbGQiLCJ2YWx1ZUZpZWxkIiwiZGF0YVNvdXJlIiwiaSIsImxlbmd0aCIsIm9iaiIsImxhYmVsIiwiZGlzYWJsZWQiLCJwdXNoIiwibmV3RGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJyYWRpb3MiLCJpc0FycmF5IiwiQXJyYXkiLCJtYXAiLCJjaGlsZCIsImluZGV4IiwiaXNBY3RpdmUiLCJjbG9uZUVsZW1lbnQiLCJhY3RpdmUiLCJvbkNsaWNrIiwiaGFuZGxlQWN0aXZlQ2hhbmdlIiwiYmluZCIsImtleSIsInBhcmFtcyIsIlJhZGlvUHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxTQUFoQixR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QjtBQUVFLFVBQUEsT0FBTyxFQUFFLEtBQUtnQyxLQUFMLENBQVdsQyxVQUZ0QjtBQUdFLFVBQUEsUUFBUSxFQUFFLEtBQUt5RCxrQkFBTCxDQUF3QkMsSUFBeEIsQ0FBNkIsSUFBN0I7QUFIWixXQUlNRyxVQUpOLEVBREYsQ0FERjtBQVVEO0FBQ0Y7Ozs7RUExTHFDcEUsUzs7U0FBbkJLLFUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDMtMjQgMTQ6MzM6MzVcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE2OjQ2OjE3XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFJhZGlvLCBSYWRpb0dyb3VwUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCI7XHJcblxyXG5pbnRlcmZhY2UgSVJhZGlvR3JvdXBQcm9wcyBleHRlbmRzIFJhZGlvR3JvdXBQcm9wcyB7XHJcbiAgY3VzdG9taXplPzogYm9vbGVhbjtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZGF0YT86IEFycmF5PHN0cmluZyB8IE9iamVjdD47IC8v6buY6K6k5pWw5o2uXHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBhbnksIGU/OiBhbnkpID0+IHZvaWQ7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmFkaW9Hcm91cCBleHRlbmRzIENvbXBvbmVudDxJUmFkaW9Hcm91cFByb3BzPiB7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIGRhdGFTdG9yZTogW10sXHJcbiAgICB2YWx1ZTogXCJcIixcclxuICB9O1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBzdG9yZSA9IHt9LCBvcHRpb25zLCBkYXRhLCBjaGlsZHJlbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgeyB2aWV3VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHVybCxcclxuICAgICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgICB2aWV3bmFtZSxcclxuICAgICAgICBjYWNoZWQsXHJcbiAgICAgICAgY2FjaGVLZXksXHJcbiAgICAgICAgLi4uc3RvcmVzXHJcbiAgICAgIH0gPSBzdG9yZTtcclxuICAgICAgaWYgKCF1cmwgJiYgIW9wdGlvbnMgJiYgIWRhdGEgJiYgIXZpZXduYW1lKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeWSjG9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIHZhciBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBsZXQgZGF0YVNvdXJjZSA9IF90aGlzLmNvbnZlcnREYXRhKG1vZGVsRGF0YSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogZGF0YVNvdXJjZSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIGRhdGFTb3VyY2U6IF90aGlzLmNvbnZlcnREYXRhKG1vZGVsRGF0YSksXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsID8gdXJsIDogdmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlQWN0aXZlQ2hhbmdlKGUpIHtcclxuICAgIGNvbnN0IHsgY3VzdG9taXplLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgaWYgKGN1c3RvbWl6ZSkge1xyXG4gICAgICAgIG9uQ2hhbmdlKGUpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgdmFsdWU6IGUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgb25DaGFuZ2UoZS50YXJnZXQudmFsdWUsIGUpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUudmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNvbnZlcnREYXRhKGRhdGEpIHtcclxuICAgIGxldCB7IGxhYmVsRmllbGQgPSBcImxhYmVsXCIsIHZhbHVlRmllbGQgPSBcInZhbHVlXCIsIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgZGF0YVNvdXJlID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHR5cGVvZiBkYXRhW2ldID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHsgLi4uZGF0YVtpXSB9O1xyXG4gICAgICAgIG9iai5sYWJlbCA9IGRhdGFbaV1bbGFiZWxGaWVsZF07XHJcbiAgICAgICAgb2JqLnZhbHVlID0gZGF0YVtpXVt2YWx1ZUZpZWxkXTtcclxuICAgICAgICBvYmouZGlzYWJsZWQgPSBkYXRhW2ldLmRpc2FibGVkID8gZGF0YVtpXS5kaXNhYmxlZCA6IGZhbHNlO1xyXG4gICAgICAgIGRhdGFTb3VyZS5wdXNoKG9iaik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHt9IGFzIHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueTsgZGlzYWJsZWQ/OiBib29sZWFuIH07XHJcbiAgICAgICAgb2JqLmxhYmVsID0gZGF0YVtpXTtcclxuICAgICAgICBvYmoudmFsdWUgPSBkYXRhW2ldO1xyXG4gICAgICAgIG9iai5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGRhdGFTb3VyZS5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhU291cmU7XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5jb252ZXJ0RGF0YShkYXRhID8gZGF0YSA6IG9wdGlvbnMpLFxyXG4gICAgICAgIGRhdGFTdG9yZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcclxuICAgIGNvbnN0IHsgZGF0YVN0b3JlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcclxuICAgIGlmIChkYXRhIHx8IG9wdGlvbnMpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGRhdGFTdG9yZSkgIT09IEpTT04uc3RyaW5naWZ5KG5ld0RhdGEpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiB0aGlzLmNvbnZlcnREYXRhKG5ld0RhdGEpLFxyXG4gICAgICAgICAgZGF0YVN0b3JlOiBuZXdEYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjdXN0b21pemUgPSBmYWxzZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCByYWRpb3M6IGFueTtcclxuICAgIHJhZGlvcyA9IGNoaWxkcmVuO1xyXG4gICAgY29uc3QgaXNBcnJheSA9IEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pO1xyXG4gICAgaWYgKGN1c3RvbWl6ZSkge1xyXG4gICAgICBpZiAoaXNBcnJheSkge1xyXG4gICAgICAgIHJldHVybiByYWRpb3MubWFwKChjaGlsZCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIGxldCBpc0FjdGl2ZSA9IHRoaXMucHJvcHMudmFsdWUgPT09IGNoaWxkLnByb3BzLnZhbHVlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwge1xyXG4gICAgICAgICAgICBsYWJlbDogY2hpbGQucHJvcHMuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIHZhbHVlOiBjaGlsZC5wcm9wcy52YWx1ZSxcclxuICAgICAgICAgICAgYWN0aXZlOiBpc0FjdGl2ZSxcclxuICAgICAgICAgICAgb25DbGljazogdGhpcy5oYW5kbGVBY3RpdmVDaGFuZ2UuYmluZCh0aGlzLCBjaGlsZC5wcm9wcy52YWx1ZSksXHJcbiAgICAgICAgICAgIGtleTogaW5kZXgsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgaXNBY3RpdmUgPSB0aGlzLnByb3BzLnZhbHVlID09PSByYWRpb3MucHJvcHMudmFsdWUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChyYWRpb3MsIHtcclxuICAgICAgICAgIGxhYmVsOiByYWRpb3MucHJvcHMuY2hpbGRyZW4sXHJcbiAgICAgICAgICB2YWx1ZTogcmFkaW9zLnByb3BzLnZhbHVlLFxyXG4gICAgICAgICAgYWN0aXZlOiBpc0FjdGl2ZSxcclxuICAgICAgICAgIG9uQ2xpY2s6IHRoaXMuaGFuZGxlQWN0aXZlQ2hhbmdlLmJpbmQodGhpcywgcmFkaW9zLnByb3BzLnZhbHVlKSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IFJhZGlvUHJvcHMgPSBvbWl0KHsgLi4ucGFyYW1zIH0sIFtcclxuICAgICAgICBcInN0b3JlXCIsXHJcbiAgICAgICAgXCJsYWJlbEZpZWxkXCIsXHJcbiAgICAgICAgXCJ2YWx1ZUZpZWxkXCIsXHJcbiAgICAgICAgXCJjdXN0b21pemVcIixcclxuICAgICAgICBcIm9uQ2hhbmdlXCIsXHJcbiAgICAgIF0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICA8UmFkaW8uR3JvdXBcclxuICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUudmFsdWV9XHJcbiAgICAgICAgICAgIG9wdGlvbnM9e3RoaXMuc3RhdGUuZGF0YVNvdXJjZX1cclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlQWN0aXZlQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIHsuLi5SYWRpb1Byb3BzfVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
371
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3JhZGlvL1JhZGlvR3JvdXAudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiQ29tcG9uZW50Iiwib21pdCIsIlN0b3JlIiwidXRpbHMiLCJjb25maWciLCJSYWRpb0dyb3VwIiwicHJvcHMiLCJkYXRhU291cmNlIiwiZGF0YVN0b3JlIiwidmFsdWUiLCJfdGhpcyIsInN0b3JlIiwib3B0aW9ucyIsImRhdGEiLCJjaGlsZHJlbiIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInZpZXdVcmwiLCJ1cmwiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQb3BzIiwidmlld25hbWUiLCJjYWNoZWQiLCJjYWNoZUtleSIsInN0b3JlcyIsIkVycm9yIiwiZ2V0QWxsRGF0YSIsIm5ld0RhdGEiLCJsZW5ndGgiLCJ2YWx1ZUZpZWxkcyIsInNwbGl0IiwibWFwIiwiaXRlbSIsImkiLCJ2IiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwiY29udmVydERhdGEiLCJzZXRTdGF0ZSIsImRhdGFDaGFuZ2VkIiwiaXNDYWNoZWQiLCJpc0NhY2hlS2V5IiwiYXV0b0xvYWQiLCJlIiwiY3VzdG9taXplIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJzdGF0ZSIsImxhYmVsRmllbGQiLCJkYXRhU291cmUiLCJvYmoiLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImRpc2FibGVkIiwicHVzaCIsIkpTT04iLCJzdHJpbmdpZnkiLCJyYWRpb3MiLCJpc0FycmF5IiwiQXJyYXkiLCJjaGlsZCIsImlzQWN0aXZlIiwiY2xvbmVFbGVtZW50IiwiYWN0aXZlIiwib25DbGljayIsImhhbmRsZUFjdGl2ZUNoYW5nZSIsImJpbmQiLCJrZXkiLCJwYXJhbXMiLCJSYWRpb1Byb3BzIl0sIm1hcHBpbmdzIjoiOzs7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QUFNLEVBQUVGLFFBSHdCO0FBSWhDRyxZQUFBQSxPQUFPLEVBQUUsS0FBS0Msa0JBQUwsQ0FBd0JDLElBQXhCLENBQTZCLElBQTdCLEVBQW1DVCxNQUFNLENBQUM3RCxLQUFQLENBQWFHLEtBQWhEO0FBSnVCLFdBQTNCLENBQVA7QUFNRDtBQUNGLE9BckJELE1BcUJPO0FBQ0wsMkJBQXFDLEtBQUtILEtBQTFDO0FBQUEsWUFBUU8sSUFBUixnQkFBUUEsSUFBUjtBQUFBLFlBQWNELE9BQWQsZ0JBQWNBLE9BQWQ7QUFBQSxZQUEwQmtFLE1BQTFCOztBQUNBLFlBQU1DLFVBQVUsR0FBRzlFLElBQUksbUJBQU02RSxNQUFOLEdBQWdCLENBQ3JDLE9BRHFDLEVBRXJDLFlBRnFDLEVBR3JDLFlBSHFDLEVBSXJDLFdBSnFDLEVBS3JDLFVBTHFDLEVBTXJDLFNBTnFDLEVBT3JDLFlBUHFDLENBQWhCLENBQXZCO0FBU0EsNEJBQ0UsdURBQ0UsMkJBQU8sS0FBUDtBQUNFLFVBQUEsS0FBSyxFQUFFLEtBQUt0QixLQUFMLENBQVcvQyxLQURwQjtBQUVFLFVBQUEsT0FBTyxFQUFFLEtBQUsrQyxLQUFMLENBQVdqRCxVQUZ0QjtBQUdFLFVBQUEsUUFBUSxFQUFFLEtBQUtvRSxrQkFBTCxDQUF3QkMsSUFBeEIsQ0FBNkIsSUFBN0I7QUFIWixXQUlNRyxVQUpOLEVBREYsQ0FERjtBQVVEO0FBQ0Y7Ozs7RUE1T3FDL0UsUzs7U0FBbkJLLFUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDMtMjQgMTQ6MzM6MzVcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE2OjQ2OjE3XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFJhZGlvLCBSYWRpb0dyb3VwUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCI7XHJcblxyXG5pbnRlcmZhY2UgSVJhZGlvR3JvdXBQcm9wcyBleHRlbmRzIFJhZGlvR3JvdXBQcm9wcyB7XHJcbiAgY3VzdG9taXplPzogYm9vbGVhbjtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZGF0YT86IEFycmF5PHN0cmluZyB8IE9iamVjdD47IC8v6buY6K6k5pWw5o2uXHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG4gIGFkZERhdGE/OiBBcnJheTxzdHJpbmcgfCBPYmplY3Q+OyAvL+S4jnN0b3Jl5LiA6LW355SoXHJcbiAgZGVsZXRlRGF0YT86IEFycmF5PHN0cmluZz47XHJcbiAgb25DaGFuZ2U/OiAodmFsdWU6IGFueSwgZT86IGFueSkgPT4gdm9pZDtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSYWRpb0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50PElSYWRpb0dyb3VwUHJvcHM+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgZGF0YVN0b3JlOiBbXSxcclxuICAgIHZhbHVlOiBcIlwiLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgICAgdmFsdWVGaWVsZCA9IFwidmFsdWVcIixcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGxldCB7IHZpZXdVcmwgfSA9IGNvbmZpZygpO1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBjb25zdCB7XHJcbiAgICAgICAgdXJsLFxyXG4gICAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICAgIHZpZXduYW1lLFxyXG4gICAgICAgIGNhY2hlZCxcclxuICAgICAgICBjYWNoZUtleSxcclxuICAgICAgICAuLi5zdG9yZXNcclxuICAgICAgfSA9IHN0b3JlO1xyXG4gICAgICBpZiAoIXVybCAmJiAhb3B0aW9ucyAmJiAhZGF0YSAmJiAhdmlld25hbWUpXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh5ZKMb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgY29uc3QgZ2V0QWxsRGF0YSA9IChkYXRhKSA9PiB7XHJcbiAgICAgICAgbGV0IG5ld0RhdGEgPSBbLi4uZGF0YV07XHJcbiAgICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgbmV3RGF0YSA9IFsuLi5hZGREYXRhLCAuLi5uZXdEYXRhXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRhLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKGl0ZW0pID4gLTEpIHtcclxuICAgICAgICAgICAgICAgIG5ld0RhdGEuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9O1xyXG4gICAgICB2YXIgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgbGV0IGRhdGFTb3VyY2UgPSBfdGhpcy5jb252ZXJ0RGF0YShnZXRBbGxEYXRhKGRhdGEpKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBkYXRhU291cmNlIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogX3RoaXMuY29udmVydERhdGEoZ2V0QWxsRGF0YShkYXRhKSksXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsID8gdXJsIDogdmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlQWN0aXZlQ2hhbmdlKGUpIHtcclxuICAgIGNvbnN0IHsgY3VzdG9taXplLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChjdXN0b21pemUpIHtcclxuICAgICAgb25DaGFuZ2UgJiYgb25DaGFuZ2UoZSk7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHZhbHVlOiBlLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlLCBlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29udmVydERhdGEoZGF0YSkge1xyXG4gICAgbGV0IHsgbGFiZWxGaWVsZCA9IFwibGFiZWxcIiwgdmFsdWVGaWVsZCA9IFwidmFsdWVcIiwgc3RvcmUgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBkYXRhU291cmUgPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodHlwZW9mIGRhdGFbaV0gPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICBsZXQgb2JqID0geyAuLi5kYXRhW2ldIH07XHJcbiAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICBpZiAodmFsdWVGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgIHZhbHVlID0gZGF0YVtpXVt2YWx1ZUZpZWxkXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGRhdGFbaV1bdl0gOiB2YWx1ZSArIFwiLFwiICsgZGF0YVtpXVt2XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgbGFiZWwgPSBkYXRhW2ldW2xhYmVsRmllbGRdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICBsYWJlbEZpZWxkcy5tYXAoKGwsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgZGF0YVtpXVtsXSA6IGxhYmVsICsgXCItXCIgKyBkYXRhW2ldW2xdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG9iai5sYWJlbCA9IGxhYmVsO1xyXG4gICAgICAgIG9iai52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIG9iai5kaXNhYmxlZCA9IGRhdGFbaV0uZGlzYWJsZWQgPyBkYXRhW2ldLmRpc2FibGVkIDogZmFsc2U7XHJcbiAgICAgICAgZGF0YVNvdXJlLnB1c2gob2JqKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgb2JqID0ge30gYXMgeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55OyBkaXNhYmxlZD86IGJvb2xlYW4gfTtcclxuICAgICAgICBvYmoubGFiZWwgPSBkYXRhW2ldO1xyXG4gICAgICAgIG9iai52YWx1ZSA9IGRhdGFbaV07XHJcbiAgICAgICAgb2JqLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgZGF0YVNvdXJlLnB1c2gob2JqKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRhdGFTb3VyZTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLmNvbnZlcnREYXRhKGRhdGEgPyBkYXRhIDogb3B0aW9ucyksXHJcbiAgICAgICAgZGF0YVN0b3JlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xyXG4gICAgY29uc3QgeyBkYXRhU3RvcmUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdEYXRhID0gZGF0YSA/IGRhdGEgOiBvcHRpb25zO1xyXG4gICAgaWYgKGRhdGEgfHwgb3B0aW9ucykge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YVN0b3JlKSAhPT0gSlNPTi5zdHJpbmdpZnkobmV3RGF0YSkpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IHRoaXMuY29udmVydERhdGEobmV3RGF0YSksXHJcbiAgICAgICAgICBkYXRhU3RvcmU6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGN1c3RvbWl6ZSA9IGZhbHNlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHJhZGlvczogYW55O1xyXG4gICAgcmFkaW9zID0gY2hpbGRyZW47XHJcbiAgICBjb25zdCBpc0FycmF5ID0gQXJyYXkuaXNBcnJheShjaGlsZHJlbik7XHJcbiAgICBpZiAoY3VzdG9taXplKSB7XHJcbiAgICAgIGlmIChpc0FycmF5KSB7XHJcbiAgICAgICAgcmV0dXJuIHJhZGlvcy5tYXAoKGNoaWxkLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgbGV0IGlzQWN0aXZlID0gdGhpcy5wcm9wcy52YWx1ZSA9PT0gY2hpbGQucHJvcHMudmFsdWUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCB7XHJcbiAgICAgICAgICAgIGxhYmVsOiBjaGlsZC5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgICAgdmFsdWU6IGNoaWxkLnByb3BzLnZhbHVlLFxyXG4gICAgICAgICAgICBhY3RpdmU6IGlzQWN0aXZlLFxyXG4gICAgICAgICAgICBvbkNsaWNrOiB0aGlzLmhhbmRsZUFjdGl2ZUNoYW5nZS5iaW5kKHRoaXMsIGNoaWxkLnByb3BzLnZhbHVlKSxcclxuICAgICAgICAgICAga2V5OiBpbmRleCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBpc0FjdGl2ZSA9IHRoaXMucHJvcHMudmFsdWUgPT09IHJhZGlvcy5wcm9wcy52YWx1ZSA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KHJhZGlvcywge1xyXG4gICAgICAgICAgbGFiZWw6IHJhZGlvcy5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgIHZhbHVlOiByYWRpb3MucHJvcHMudmFsdWUsXHJcbiAgICAgICAgICBhY3RpdmU6IGlzQWN0aXZlLFxyXG4gICAgICAgICAgb25DbGljazogdGhpcy5oYW5kbGVBY3RpdmVDaGFuZ2UuYmluZCh0aGlzLCByYWRpb3MucHJvcHMudmFsdWUpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIC4uLnBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgUmFkaW9Qcm9wcyA9IG9taXQoeyAuLi5wYXJhbXMgfSwgW1xyXG4gICAgICAgIFwic3RvcmVcIixcclxuICAgICAgICBcImxhYmVsRmllbGRcIixcclxuICAgICAgICBcInZhbHVlRmllbGRcIixcclxuICAgICAgICBcImN1c3RvbWl6ZVwiLFxyXG4gICAgICAgIFwib25DaGFuZ2VcIixcclxuICAgICAgICBcImFkZERhdGFcIixcclxuICAgICAgICBcImRlbGV0ZURhdGFcIixcclxuICAgICAgXSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPD5cclxuICAgICAgICAgIDxSYWRpby5Hcm91cFxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS52YWx1ZX1cclxuICAgICAgICAgICAgb3B0aW9ucz17dGhpcy5zdGF0ZS5kYXRhU291cmNlfVxyXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVBY3RpdmVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgey4uLlJhZGlvUHJvcHN9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -8,6 +8,9 @@ interface ISelectProps extends SelectProps<any> {
8
8
  valueField?: string;
9
9
  defaultStyle?: boolean;
10
10
  showGroup?: boolean;
11
+ addData?: Array<Object>;
12
+ deleteData?: Array<String>;
13
+ [proName: string]: any;
11
14
  }
12
15
  export default class NSCSelect extends PureComponent<ISelectProps> {
13
16
  static Option: import("rc-select/lib/Option").OptionFC;
@@ -15,16 +18,21 @@ export default class NSCSelect extends PureComponent<ISelectProps> {
15
18
  state: {
16
19
  dataSource: any[];
17
20
  selectValue: any;
21
+ allDataSource: any[];
22
+ children: any;
23
+ allChildren: any;
18
24
  };
19
25
  store: any;
20
- static getDerivedStateFromProps(nextProps: any, prevState: any): {
21
- dataSource: any;
22
- };
23
26
  constructor(props: any);
24
27
  getData(): any[];
25
28
  getValue(): any;
26
29
  setValue(value: any): void;
27
30
  componentDidMount(): void;
31
+ componentDidUpdate(newProps: any, newState: any, Snapshot: any): {
32
+ dataSource: Object[];
33
+ allDataSource: Object[];
34
+ };
35
+ onSearch(value: any): void;
28
36
  renderOption(optionData: any): any;
29
37
  renderChildren(): JSX.Element;
30
38
  onChange(value: any, options: any): void;