nsc-react-component 3.0.9 → 3.0.10
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.
package/lib/base/select/index.js
CHANGED
|
@@ -174,7 +174,15 @@ export default class NSCSelect extends PureComponent {
|
|
|
174
174
|
const newData = getFlattenData(dataSource, {
|
|
175
175
|
keyField: valueField
|
|
176
176
|
});
|
|
177
|
-
|
|
177
|
+
if (Array.isArray(value)) {
|
|
178
|
+
let res = [];
|
|
179
|
+
value.map(val => {
|
|
180
|
+
res.push(newData[val] || {});
|
|
181
|
+
});
|
|
182
|
+
return res;
|
|
183
|
+
} else {
|
|
184
|
+
return newData[value] || {};
|
|
185
|
+
}
|
|
178
186
|
}
|
|
179
187
|
componentDidMount() {
|
|
180
188
|
const {
|
|
@@ -321,7 +329,7 @@ export default class NSCSelect extends PureComponent {
|
|
|
321
329
|
value = valueType === "number" ? Number(item[valueField]) : item[valueField];
|
|
322
330
|
} else {
|
|
323
331
|
const valueFields = valueField.split(",");
|
|
324
|
-
value =
|
|
332
|
+
value = "";
|
|
325
333
|
valueFields.map((v, index) => {
|
|
326
334
|
value = index == 0 ? value + item[v] : value + "," + item[v];
|
|
327
335
|
});
|
|
@@ -459,4 +467,4 @@ export default class NSCSelect extends PureComponent {
|
|
|
459
467
|
}
|
|
460
468
|
_defineProperty(NSCSelect, "Option", Option);
|
|
461
469
|
_defineProperty(NSCSelect, "OptGroup", OptGroup);
|
|
462
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwiY29uZmlnIiwic3R5bGVzIiwiY2xzIiwiUGlueWluTWF0Y2giLCJnZXRGbGF0dGVuRGF0YSIsIk9wdGlvbiIsIk9wdEdyb3VwIiwiX1NlbGVjdCIsIk5TQ1NlbGVjdCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJkYXRhU291cmNlIiwic2VsZWN0VmFsdWUiLCJhbGxEYXRhU291cmNlIiwiY2hpbGRyZW4iLCJhbGxDaGlsZHJlbiIsImRhdGEiLCJzdG9yZSIsIm9wdGlvbnMiLCJhZGREYXRhIiwiZGVsZXRlRGF0YSIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwidmlld3R5cGUiLCJzdG9yZXMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJ2YWx1ZUZpZWxkIiwidmlld1VybCIsInZpZXdCaXpVcmwiLCJyZXF1ZXN0Vmlld1VybCIsImdldEFsbERhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdEYXRhIiwibGVuZ3RoIiwic3BsaWNlRGF0YSIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInZhbHVlIiwidiIsImluZGV4IiwiaW5kZXhPZiIsInB1c2giLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIl9vYmplY3RTcHJlYWQiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInJlc2V0RGF0YSIsInN0YXRlIiwiZ2V0RGF0YSIsImdldFZhbHVlIiwic2V0VmFsdWUiLCJnZXRTZWxlY3REYXRhIiwia2V5RmllbGQiLCJjb21wb25lbnREaWRNb3VudCIsImNvbXBvbmVudERpZFVwZGF0ZSIsIm5ld1Byb3BzIiwibmV3U3RhdGUiLCJTbmFwc2hvdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGF0ZUNoaWxkcmVuUHJvcHMiLCJzIiwiY2hpbGRyZW5Qcm9wcyIsImMiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIm9uU2VhcmNoIiwiZmlsdGVyT3B0aW9uIiwibGFiZWxGaWVsZCIsInJlc3VsdCIsImZvckVhY2giLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImZsYWciLCJtYXRjaCIsImNoaWxkIiwiX2NoaWxkJHByb3BzIiwicmVuZGVyT3B0aW9uIiwib3B0aW9uRGF0YSIsInZhbHVlVHlwZSIsIk51bWJlciIsImtleSIsImlkIiwiY3JlYXRlRWxlbWVudCIsImRpc2FibGVkIiwicmVuZGVyQ2hpbGRyZW4iLCJzaG93R3JvdXAiLCJGcmFnbWVudCIsIm9wdEdyb3VwRGF0YSIsImdyb3VwTmFtZSIsIm9wdGlvbiIsIm9wdEdyb3VwIiwiT2JqZWN0Iiwia2V5cyIsIm9uQ2hhbmdlIiwib25TZWxlY3QiLCJvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSIsIm9wZW4iLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImRlZmF1bHRTdHlsZSIsInBhcmFtcyIsIl9leGNsdWRlZDIiLCJzaG93U2VhcmNoIiwib3B0aW9uRmlsdGVyUHJvcCIsInBsYWNlaG9sZGVyIiwiYWxsb3dDbGVhciIsImFudGRTdHlsZSIsIm1vdW50RWxlbWVudElkIiwiZ2V0UG9wdXBDb250YWluZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY2xhc3NOYW1lIiwiX2V4dGVuZHMiLCJiaW5kIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9zZWxlY3QvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFNlbGVjdCwgU2VsZWN0UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBQaW55aW5NYXRjaCBmcm9tIFwicGlueWluLW1hdGNoXCI7XHJcbmltcG9ydCB7IGdldEZsYXR0ZW5EYXRhIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmNvbnN0IHsgT3B0aW9uLCBPcHRHcm91cCB9ID0gU2VsZWN0O1xyXG5cclxuaW50ZXJmYWNlIElTZWxlY3RQcm9wcyBleHRlbmRzIFNlbGVjdFByb3BzPGFueT4ge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/pu5jorqTmlbDmja5cclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgZGVmYXVsdFN0eWxlPzogYm9vbGVhbjtcclxuICBzaG93R3JvdXA/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWIhue7hFxyXG4gIGFkZERhdGE/OiBBcnJheTxPYmplY3Q+OyAvL+mFjeWQiHN0b3Jl5L2/55So77yM5LuO5aKe5Yqg6aKd5aSW55qE5pWw5o2uXHJcbiAgZGVsZXRlRGF0YT86IEFycmF5PFN0cmluZz47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzliKDpmaTku47mlbDmja7lupPkuK3ojrflj5bliLDnmoTmjIflrprmlbDmja5cclxuICB2YWx1ZUJyZWFrPzogc3RyaW5nOyAvL+WkmuS4qnZhbHVl5L2/55So55qE5YiG6ZqU56ymXHJcbiAgdmFsdWVUeXBlPzogXCJzdHJpbmdcIiB8IFwibnVtYmVyXCI7XHJcbiAgW3Byb05hbWU6IHN0cmluZ106IGFueTtcclxuICBvbkNoYW5nZT86IGFueTtcclxuICBvblNlbGVjdD86IGFueTtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NTZWxlY3QgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElTZWxlY3RQcm9wcz4ge1xyXG4gIHN0YXRpYyBPcHRpb24gPSBPcHRpb247XHJcbiAgc3RhdGljIE9wdEdyb3VwID0gT3B0R3JvdXA7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIHNlbGVjdFZhbHVlOiBudWxsLFxyXG4gICAgYWxsRGF0YVNvdXJjZTogW10sXHJcbiAgICBjaGlsZHJlbjogbnVsbCxcclxuICAgIGFsbENoaWxkcmVuOiBudWxsLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgdXJsLFxyXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgdmlld25hbWUsXHJcbiAgICAgIGNhY2hlZCxcclxuICAgICAgY2FjaGVLZXksXHJcbiAgICAgIHZpZXd0eXBlID0gXCJzeXNcIixcclxuICAgICAgLi4uc3RvcmVzXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICBjb25zdCB2YWx1ZUZpZWxkID0gdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGxldCB7IHZpZXdVcmwsIHZpZXdCaXpVcmwgfSA9IGNvbmZpZygpO1xyXG4gICAgbGV0IHJlcXVlc3RWaWV3VXJsID0gdmlld3R5cGUgPT0gXCJzeXNcIiA/IHZpZXdVcmwgOiB2aWV3Qml6VXJsO1xyXG4gICAgY29uc3QgZ2V0QWxsRGF0YSA9IChkYXRhKSA9PiB7XHJcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSkge1xyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgbmV3RGF0YSA9IFsuLi5kYXRhXTtcclxuICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG5ld0RhdGEgPSBbLi4uYWRkRGF0YSwgLi4ubmV3RGF0YV07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGxldCBzcGxpY2VEYXRhID0gW107XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIG5ld0RhdGEubWFwKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZih2YWx1ZSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgc3BsaWNlRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBzcGxpY2VEYXRhO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHZpZXduYW1lIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeOAgW9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCh2aWV3bmFtZSB8fCB1cmwpICYmIGRhdGEgPT0gbnVsbCAmJiBvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgICBsZXQgaXNDYWNoZWQgPSBjYWNoZWQ7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVLZXkgPSBjYWNoZUtleTtcclxuICAgICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVkICE9PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICBpc0NhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsIHx8IHJlcXVlc3RWaWV3VXJsICsgdmlld25hbWUsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgICAgY2FjaGVkOiBpc0NhY2hlZCxcclxuICAgICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldERhdGEoKSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChjaGlsZHJlbikge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHsgY2hpbGRyZW46IGFsbENoaWxkcmVuIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogYWxsRGF0YVNvdXJjZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuYWxsRGF0YVNvdXJjZTtcclxuICB9XHJcblxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3REYXRhKHZhbHVlKSB7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgeyBzdG9yZSA9IHt9LCB2YWx1ZUZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgY29uc3QgbmV3RGF0YSA9IGdldEZsYXR0ZW5EYXRhKGRhdGFTb3VyY2UsIHsga2V5RmllbGQ6IHZhbHVlRmllbGQgfSk7XHJcbiAgICByZXR1cm4gbmV3RGF0YVt2YWx1ZV0gfHwge307XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgICBhbGxEYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgYWxsQ2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgU25hcHNob3QpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICBjb25zdCBuZXdEYXRhID0gZGF0YSA/IGRhdGEgOiBvcHRpb25zO1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoYWxsRGF0YVNvdXJjZSkgIT09IEpTT04uc3RyaW5naWZ5KG5ld0RhdGEpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbiAmJiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjb25zdCBzdGF0ZUNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBhbGxDaGlsZHJlbi5tYXAoKHM6IGFueSkgPT4ge1xyXG4gICAgICAgIHN0YXRlQ2hpbGRyZW5Qcm9wcy5wdXNoKHMucHJvcHMpO1xyXG4gICAgICB9KTtcclxuICAgICAgY29uc3QgY2hpbGRyZW5Qcm9wczogYW55ID0gW107XHJcbiAgICAgIGNoaWxkcmVuLm1hcCgoYzogYW55KSA9PiB7XHJcbiAgICAgICAgY2hpbGRyZW5Qcm9wcy5wdXNoKGMucHJvcHMpO1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHN0YXRlQ2hpbGRyZW5Qcm9wcykgIT09IEpTT04uc3RyaW5naWZ5KGNoaWxkcmVuUHJvcHMpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgICAgYWxsQ2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSA9IChzdGF0ZSwgY2FsbGJhY2spID0+IHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfTtcclxuICB9XHJcbiAgb25TZWFyY2godmFsdWUpIHtcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IGZpbHRlck9wdGlvbiA9IHRydWUsIG9uU2VhcmNoLCBjaGlsZHJlbiwgc3RvcmUgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCB7IGxhYmVsRmllbGQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHZpZXduYW1lIH0gPSBzdG9yZTtcclxuICAgIGxhYmVsRmllbGQgPSBsYWJlbEZpZWxkID8gbGFiZWxGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0VmFsdWVcIiA6IFwibGFiZWxcIjtcclxuICAgIGlmIChmaWx0ZXJPcHRpb24pIHtcclxuICAgICAgbGV0IHJlc3VsdCA9IFtdO1xyXG4gICAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBhbGxEYXRhU291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgbGV0IGxhYmVsID0gXCJcIjtcclxuICAgICAgICAgICAgaWYgKGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICAgICAgbGFiZWwgPSBpdGVtW2xhYmVsRmllbGRdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsRmllbGRzOiBhbnkgPSBsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgICAgICBsYWJlbEZpZWxkcy5tYXAoKGwsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA9IGluZGV4ID09IDAgPyBsYWJlbCArIGl0ZW1bbF0gOiBsYWJlbCArIFwiLVwiICsgaXRlbVtsXTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgZmxhZyA9IFBpbnlpbk1hdGNoLm1hdGNoKGxhYmVsLCB2YWx1ZSk7XHJcbiAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IHJlc3VsdCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZGF0YVNvdXJjZTogYWxsRGF0YVNvdXJjZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFsbENoaWxkcmVuKSkge1xyXG4gICAgICAgICAgICBhbGxDaGlsZHJlbi5tYXAoKGNoaWxkOiBhbnksIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IGxhYmVsID0gY2hpbGQ/LnByb3BzPy5jaGlsZHJlbjtcclxuICAgICAgICAgICAgICBsZXQgZmxhZyA9IFBpbnlpbk1hdGNoLm1hdGNoKGxhYmVsLCB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGNoaWxkcmVuOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25TZWFyY2ggJiYgb25TZWFyY2godmFsdWUpO1xyXG4gIH1cclxuICByZW5kZXJPcHRpb24ob3B0aW9uRGF0YSkge1xyXG4gICAgbGV0IHtcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgdmFsdWVUeXBlID0gXCJzdHJpbmdcIixcclxuICAgICAgbGFiZWxGaWVsZCxcclxuICAgICAgdmFsdWVGaWVsZCxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGFiZWxGaWVsZCA9IGxhYmVsRmllbGQgPyBsYWJlbEZpZWxkIDogdmlld25hbWUgPyBcImRpY3RWYWx1ZVwiIDogXCJsYWJlbFwiO1xyXG4gICAgcmV0dXJuIG9wdGlvbkRhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIGxldCB2YWx1ZTogYW55O1xyXG4gICAgICBpZiAodmFsdWVGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICB2YWx1ZSA9XHJcbiAgICAgICAgICB2YWx1ZVR5cGUgPT09IFwibnVtYmVyXCIgPyBOdW1iZXIoaXRlbVt2YWx1ZUZpZWxkXSkgOiBpdGVtW3ZhbHVlRmllbGRdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICB2YWx1ZT0nJ1xyXG4gICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBrZXkgPSBpdGVtLmlkID8gKGl0ZW0uaWQgIT09IFwidW5kZWZpbmVkXCIgPyBpdGVtLmlkIDogdmFsdWUpIDogdmFsdWU7XHJcbiAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8T3B0aW9uXHJcbiAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cclxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cclxuICAgICAgICAgIGRpc2FibGVkPXtpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtsYWJlbH1cclxuICAgICAgICA8L09wdGlvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJDaGlsZHJlbigpIHtcclxuICAgIGNvbnN0IHsgc2hvd0dyb3VwID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSwgY2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBvcHRHcm91cERhdGEgPSB7fSxcclxuICAgICAgICBvcHRpb25EYXRhID0gW107XHJcbiAgICAgIGRhdGFTb3VyY2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGxldCBsYWJlbCA9IGl0ZW0uZ3JvdXBOYW1lO1xyXG4gICAgICAgIGlmIChsYWJlbCAmJiBzaG93R3JvdXApIHtcclxuICAgICAgICAgIGlmICghb3B0R3JvdXBEYXRhW2xhYmVsXSkgb3B0R3JvdXBEYXRhW2xhYmVsXSA9IFtdO1xyXG4gICAgICAgICAgb3B0R3JvdXBEYXRhW2xhYmVsXS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvcHRpb25EYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgbGV0IG9wdGlvbiA9IHRoaXMucmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpO1xyXG4gICAgICBsZXQgb3B0R3JvdXAgPSBPYmplY3Qua2V5cyhvcHRHcm91cERhdGEpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxPcHRHcm91cCBrZXk9e2tleX0gbGFiZWw9e2tleX0+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlck9wdGlvbihvcHRHcm91cERhdGFba2V5XSl9XHJcbiAgICAgICAgICA8L09wdEdyb3VwPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICB7b3B0aW9ufVxyXG4gICAgICAgICAge29wdEdyb3VwfVxyXG4gICAgICAgIDwvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5nZXRTZWxlY3REYXRhKHZhbHVlKTtcclxuICAgICAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMsIGRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblNlbGVjdCh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvblNlbGVjdCB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICBpZiAob25TZWxlY3QpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0U2VsZWN0RGF0YSh2YWx1ZSk7XHJcbiAgICAgIG9uU2VsZWN0KHZhbHVlLCBvcHRpb25zLCBkYXRhKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25Ecm9wZG93blZpc2libGVDaGFuZ2Uob3Blbikge1xyXG4gICAgaWYgKCFvcGVuKSB7XHJcbiAgICAgIHRoaXMucmVzZXREYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIHN0b3JlLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBvbkNoYW5nZSxcclxuICAgICAgb25TZWxlY3QsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSxcclxuICAgICAgc2hvd0dyb3VwID0gdHJ1ZSxcclxuICAgICAgYWRkRGF0YSxcclxuICAgICAgZGVsZXRlRGF0YSxcclxuICAgICAgdmFsdWVUeXBlLFxyXG4gICAgICAuLi5wYXJhbXNcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHByb3BzID0ge1xyXG4gICAgICBmaWx0ZXJPcHRpb246IGZhbHNlLFxyXG4gICAgICBzaG93U2VhcmNoOiB0cnVlLFxyXG4gICAgICBvcHRpb25GaWx0ZXJQcm9wOiBcImxhYmVsXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqVwiLFxyXG4gICAgICBhbGxvd0NsZWFyOiB0cnVlLFxyXG4gICAgfSBhcyBhbnk7XHJcbiAgICBsZXQgeyBhbnRkU3R5bGUsIG1vdW50RWxlbWVudElkIH0gPSBjb25maWcoKTtcclxuICAgIGlmIChtb3VudEVsZW1lbnRJZCkge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICBnZXRQb3B1cENvbnRhaW5lcjogKCkgPT4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobW91bnRFbGVtZW50SWQpLFxyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKChkZWZhdWx0U3R5bGUgfHwgYW50ZFN0eWxlKSAmJiBkZWZhdWx0U3R5bGUgPT09IHRydWUpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcIm5zY19zZWxlY3RcIl0sIHRoaXMucHJvcHMuY2xhc3NOYW1lKX0+XHJcbiAgICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvblNlbGVjdD17dGhpcy5vblNlbGVjdC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuc2VsZWN0VmFsdWV9XHJcbiAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uU2VsZWN0PXt0aGlzLm9uU2VsZWN0LmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxhQUFhLFFBQVEsT0FBTztBQUU1QyxPQUFPQyxLQUFLLE1BQXNCLGFBQWE7QUFDL0MsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQUM3QyxPQUFPQyxNQUFNLE1BQU0sY0FBYztBQUNqQyxPQUFPQyxNQUFNLE1BQU0sY0FBYztBQUNqQyxPQUFPQyxHQUFHLE1BQU0sWUFBWTtBQUU1QixPQUFPQyxXQUFXLE1BQU0sY0FBYztBQUN0QyxTQUFTQyxjQUFjLFFBQVEsbUJBQW1CO0FBQ2xELE1BQU07RUFBRUMsTUFBTTtFQUFFQztBQUFTLENBQUMsR0FBQUMsT0FBUztBQWlCbkMsZUFBZSxNQUFNQyxTQUFTLFNBQVNYLGFBQWEsQ0FBZTtFQVdqRVksV0FBV0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQ2pCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO0lBQUNDLGVBQUEsZ0JBVFA7TUFDTkMsVUFBVSxFQUFFLEVBQUU7TUFDZEMsV0FBVyxFQUFFLElBQUk7TUFDakJDLGFBQWEsRUFBRSxFQUFFO01BQ2pCQyxRQUFRLEVBQUUsSUFBSTtNQUNkQyxXQUFXLEVBQUU7SUFDZixDQUFDO0lBQUFMLGVBQUEsZ0JBQ08sQ0FBQyxDQUFDO0lBR1IsTUFBTTtNQUNKTSxJQUFJO01BQ0pDLEtBQUssR0FBRyxDQUFDLENBQUM7TUFDVkgsUUFBUTtNQUNSSSxP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
|
|
470
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwiY29uZmlnIiwic3R5bGVzIiwiY2xzIiwiUGlueWluTWF0Y2giLCJnZXRGbGF0dGVuRGF0YSIsIk9wdGlvbiIsIk9wdEdyb3VwIiwiX1NlbGVjdCIsIk5TQ1NlbGVjdCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJkYXRhU291cmNlIiwic2VsZWN0VmFsdWUiLCJhbGxEYXRhU291cmNlIiwiY2hpbGRyZW4iLCJhbGxDaGlsZHJlbiIsImRhdGEiLCJzdG9yZSIsIm9wdGlvbnMiLCJhZGREYXRhIiwiZGVsZXRlRGF0YSIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwidmlld3R5cGUiLCJzdG9yZXMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJ2YWx1ZUZpZWxkIiwidmlld1VybCIsInZpZXdCaXpVcmwiLCJyZXF1ZXN0Vmlld1VybCIsImdldEFsbERhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdEYXRhIiwibGVuZ3RoIiwic3BsaWNlRGF0YSIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInZhbHVlIiwidiIsImluZGV4IiwiaW5kZXhPZiIsInB1c2giLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIl9vYmplY3RTcHJlYWQiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInJlc2V0RGF0YSIsInN0YXRlIiwiZ2V0RGF0YSIsImdldFZhbHVlIiwic2V0VmFsdWUiLCJnZXRTZWxlY3REYXRhIiwia2V5RmllbGQiLCJyZXMiLCJ2YWwiLCJjb21wb25lbnREaWRNb3VudCIsImNvbXBvbmVudERpZFVwZGF0ZSIsIm5ld1Byb3BzIiwibmV3U3RhdGUiLCJTbmFwc2hvdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGF0ZUNoaWxkcmVuUHJvcHMiLCJzIiwiY2hpbGRyZW5Qcm9wcyIsImMiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIm9uU2VhcmNoIiwiZmlsdGVyT3B0aW9uIiwibGFiZWxGaWVsZCIsInJlc3VsdCIsImZvckVhY2giLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImZsYWciLCJtYXRjaCIsImNoaWxkIiwiX2NoaWxkJHByb3BzIiwicmVuZGVyT3B0aW9uIiwib3B0aW9uRGF0YSIsInZhbHVlVHlwZSIsIk51bWJlciIsImtleSIsImlkIiwiY3JlYXRlRWxlbWVudCIsImRpc2FibGVkIiwicmVuZGVyQ2hpbGRyZW4iLCJzaG93R3JvdXAiLCJGcmFnbWVudCIsIm9wdEdyb3VwRGF0YSIsImdyb3VwTmFtZSIsIm9wdGlvbiIsIm9wdEdyb3VwIiwiT2JqZWN0Iiwia2V5cyIsIm9uQ2hhbmdlIiwib25TZWxlY3QiLCJvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSIsIm9wZW4iLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImRlZmF1bHRTdHlsZSIsInBhcmFtcyIsIl9leGNsdWRlZDIiLCJzaG93U2VhcmNoIiwib3B0aW9uRmlsdGVyUHJvcCIsInBsYWNlaG9sZGVyIiwiYWxsb3dDbGVhciIsImFudGRTdHlsZSIsIm1vdW50RWxlbWVudElkIiwiZ2V0UG9wdXBDb250YWluZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY2xhc3NOYW1lIiwiX2V4dGVuZHMiLCJiaW5kIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9zZWxlY3QvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFNlbGVjdCwgU2VsZWN0UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBQaW55aW5NYXRjaCBmcm9tIFwicGlueWluLW1hdGNoXCI7XHJcbmltcG9ydCB7IGdldEZsYXR0ZW5EYXRhIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmNvbnN0IHsgT3B0aW9uLCBPcHRHcm91cCB9ID0gU2VsZWN0O1xyXG5cclxuaW50ZXJmYWNlIElTZWxlY3RQcm9wcyBleHRlbmRzIFNlbGVjdFByb3BzPGFueT4ge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/pu5jorqTmlbDmja5cclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgZGVmYXVsdFN0eWxlPzogYm9vbGVhbjtcclxuICBzaG93R3JvdXA/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWIhue7hFxyXG4gIGFkZERhdGE/OiBBcnJheTxPYmplY3Q+OyAvL+mFjeWQiHN0b3Jl5L2/55So77yM5LuO5aKe5Yqg6aKd5aSW55qE5pWw5o2uXHJcbiAgZGVsZXRlRGF0YT86IEFycmF5PFN0cmluZz47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzliKDpmaTku47mlbDmja7lupPkuK3ojrflj5bliLDnmoTmjIflrprmlbDmja5cclxuICB2YWx1ZUJyZWFrPzogc3RyaW5nOyAvL+WkmuS4qnZhbHVl5L2/55So55qE5YiG6ZqU56ymXHJcbiAgdmFsdWVUeXBlPzogXCJzdHJpbmdcIiB8IFwibnVtYmVyXCI7XHJcbiAgW3Byb05hbWU6IHN0cmluZ106IGFueTtcclxuICBvbkNoYW5nZT86IGFueTtcclxuICBvblNlbGVjdD86IGFueTtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NTZWxlY3QgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElTZWxlY3RQcm9wcz4ge1xyXG4gIHN0YXRpYyBPcHRpb24gPSBPcHRpb247XHJcbiAgc3RhdGljIE9wdEdyb3VwID0gT3B0R3JvdXA7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIHNlbGVjdFZhbHVlOiBudWxsLFxyXG4gICAgYWxsRGF0YVNvdXJjZTogW10sXHJcbiAgICBjaGlsZHJlbjogbnVsbCxcclxuICAgIGFsbENoaWxkcmVuOiBudWxsLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgdXJsLFxyXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgdmlld25hbWUsXHJcbiAgICAgIGNhY2hlZCxcclxuICAgICAgY2FjaGVLZXksXHJcbiAgICAgIHZpZXd0eXBlID0gXCJzeXNcIixcclxuICAgICAgLi4uc3RvcmVzXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICBjb25zdCB2YWx1ZUZpZWxkID0gdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGxldCB7IHZpZXdVcmwsIHZpZXdCaXpVcmwgfSA9IGNvbmZpZygpO1xyXG4gICAgbGV0IHJlcXVlc3RWaWV3VXJsID0gdmlld3R5cGUgPT0gXCJzeXNcIiA/IHZpZXdVcmwgOiB2aWV3Qml6VXJsO1xyXG4gICAgY29uc3QgZ2V0QWxsRGF0YSA9IChkYXRhKSA9PiB7XHJcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSkge1xyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgbmV3RGF0YSA9IFsuLi5kYXRhXTtcclxuICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG5ld0RhdGEgPSBbLi4uYWRkRGF0YSwgLi4ubmV3RGF0YV07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGxldCBzcGxpY2VEYXRhID0gW107XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIG5ld0RhdGEubWFwKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZih2YWx1ZSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgc3BsaWNlRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBzcGxpY2VEYXRhO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHZpZXduYW1lIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeOAgW9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCh2aWV3bmFtZSB8fCB1cmwpICYmIGRhdGEgPT0gbnVsbCAmJiBvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgICBsZXQgaXNDYWNoZWQgPSBjYWNoZWQ7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVLZXkgPSBjYWNoZUtleTtcclxuICAgICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVkICE9PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICBpc0NhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsIHx8IHJlcXVlc3RWaWV3VXJsICsgdmlld25hbWUsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgICAgY2FjaGVkOiBpc0NhY2hlZCxcclxuICAgICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldERhdGEoKSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChjaGlsZHJlbikge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHsgY2hpbGRyZW46IGFsbENoaWxkcmVuIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogYWxsRGF0YVNvdXJjZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuYWxsRGF0YVNvdXJjZTtcclxuICB9XHJcblxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3REYXRhKHZhbHVlKSB7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgeyBzdG9yZSA9IHt9LCB2YWx1ZUZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgY29uc3QgbmV3RGF0YSA9IGdldEZsYXR0ZW5EYXRhKGRhdGFTb3VyY2UsIHsga2V5RmllbGQ6IHZhbHVlRmllbGQgfSk7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgbGV0IHJlcyA9IFtdIGFzIGFueTtcclxuICAgICAgdmFsdWUubWFwKCh2YWwpID0+IHtcclxuICAgICAgICByZXMucHVzaChuZXdEYXRhW3ZhbF0gfHwge30pO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHJlcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXdEYXRhW3ZhbHVlXSB8fCB7fTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICAgIGFsbERhdGFTb3VyY2U6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICBhbGxDaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnREaWRVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBTbmFwc2hvdCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShhbGxEYXRhU291cmNlKSAhPT0gSlNPTi5zdHJpbmdpZnkobmV3RGF0YSkpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgICBhbGxEYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuICYmIEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XHJcbiAgICAgIGNvbnN0IHN0YXRlQ2hpbGRyZW5Qcm9wczogYW55ID0gW107XHJcbiAgICAgIGFsbENoaWxkcmVuLm1hcCgoczogYW55KSA9PiB7XHJcbiAgICAgICAgc3RhdGVDaGlsZHJlblByb3BzLnB1c2gocy5wcm9wcyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBjaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgY2hpbGRyZW4ubWFwKChjOiBhbnkpID0+IHtcclxuICAgICAgICBjaGlsZHJlblByb3BzLnB1c2goYy5wcm9wcyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoc3RhdGVDaGlsZHJlblByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoY2hpbGRyZW5Qcm9wcylcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICBhbGxDaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlID0gKHN0YXRlLCBjYWxsYmFjaykgPT4ge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9O1xyXG4gIH1cclxuICBvblNlYXJjaCh2YWx1ZSkge1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZmlsdGVyT3B0aW9uID0gdHJ1ZSwgb25TZWFyY2gsIGNoaWxkcmVuLCBzdG9yZSA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHsgbGFiZWxGaWVsZCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgbGFiZWxGaWVsZCA9IGxhYmVsRmllbGQgPyBsYWJlbEZpZWxkIDogdmlld25hbWUgPyBcImRpY3RWYWx1ZVwiIDogXCJsYWJlbFwiO1xyXG4gICAgaWYgKGZpbHRlck9wdGlvbikge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gW107XHJcbiAgICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICAgICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgICAgICBsYWJlbCA9IGl0ZW1bbGFiZWxGaWVsZF07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgaXRlbVtsXSA6IGxhYmVsICsgXCItXCIgKyBpdGVtW2xdO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBmbGFnID0gUGlueWluTWF0Y2gubWF0Y2gobGFiZWwsIHZhbHVlKTtcclxuICAgICAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICAgICAgICByZXN1bHQucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZGF0YVNvdXJjZTogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiBhbGxEYXRhU291cmNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWxsQ2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICAgIGFsbENoaWxkcmVuLm1hcCgoY2hpbGQ6IGFueSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICBsZXQgbGFiZWwgPSBjaGlsZD8ucHJvcHM/LmNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgIGxldCBmbGFnID0gUGlueWluTWF0Y2gubWF0Y2gobGFiZWwsIHZhbHVlKTtcclxuICAgICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goY2hpbGQpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgY2hpbGRyZW46IHJlc3VsdCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBvblNlYXJjaCAmJiBvblNlYXJjaCh2YWx1ZSk7XHJcbiAgfVxyXG4gIHJlbmRlck9wdGlvbihvcHRpb25EYXRhKSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICB2YWx1ZVR5cGUgPSBcInN0cmluZ1wiLFxyXG4gICAgICBsYWJlbEZpZWxkLFxyXG4gICAgICB2YWx1ZUZpZWxkLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHZpZXduYW1lIH0gPSBzdG9yZTtcclxuICAgIHZhbHVlRmllbGQgPSB2YWx1ZUZpZWxkID8gdmFsdWVGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0S2V5XCIgOiBcInZhbHVlXCI7XHJcbiAgICBsYWJlbEZpZWxkID0gbGFiZWxGaWVsZCA/IGxhYmVsRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdFZhbHVlXCIgOiBcImxhYmVsXCI7XHJcbiAgICByZXR1cm4gb3B0aW9uRGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHZhbHVlOiBhbnk7XHJcbiAgICAgIGlmICh2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIHZhbHVlID1cclxuICAgICAgICAgIHZhbHVlVHlwZSA9PT0gXCJudW1iZXJcIiA/IE51bWJlcihpdGVtW3ZhbHVlRmllbGRdKSA6IGl0ZW1bdmFsdWVGaWVsZF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIHZhbHVlID0gXCJcIjtcclxuICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBsZXQga2V5ID0gaXRlbS5pZCA/IChpdGVtLmlkICE9PSBcInVuZGVmaW5lZFwiID8gaXRlbS5pZCA6IHZhbHVlKSA6IHZhbHVlO1xyXG4gICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICBsYWJlbCA9IGl0ZW1bbGFiZWxGaWVsZF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgaXRlbVtsXSA6IGxhYmVsICsgXCItXCIgKyBpdGVtW2xdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE9wdGlvblxyXG4gICAgICAgICAga2V5PXtrZXl9XHJcbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XHJcbiAgICAgICAgICBsYWJlbD17bGFiZWx9XHJcbiAgICAgICAgICBkaXNhYmxlZD17aXRlbS5kaXNhYmxlZCA/IHRydWUgOiBmYWxzZX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7bGFiZWx9XHJcbiAgICAgICAgPC9PcHRpb24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyQ2hpbGRyZW4oKSB7XHJcbiAgICBjb25zdCB7IHNob3dHcm91cCA9IHRydWUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UsIGNoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgb3B0R3JvdXBEYXRhID0ge30sXHJcbiAgICAgICAgb3B0aW9uRGF0YSA9IFtdO1xyXG4gICAgICBkYXRhU291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICBsZXQgbGFiZWwgPSBpdGVtLmdyb3VwTmFtZTtcclxuICAgICAgICBpZiAobGFiZWwgJiYgc2hvd0dyb3VwKSB7XHJcbiAgICAgICAgICBpZiAoIW9wdEdyb3VwRGF0YVtsYWJlbF0pIG9wdEdyb3VwRGF0YVtsYWJlbF0gPSBbXTtcclxuICAgICAgICAgIG9wdEdyb3VwRGF0YVtsYWJlbF0ucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9uRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBvcHRpb24gPSB0aGlzLnJlbmRlck9wdGlvbihvcHRpb25EYXRhKTtcclxuICAgICAgbGV0IG9wdEdyb3VwID0gT2JqZWN0LmtleXMob3B0R3JvdXBEYXRhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8T3B0R3JvdXAga2V5PXtrZXl9IGxhYmVsPXtrZXl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJPcHRpb24ob3B0R3JvdXBEYXRhW2tleV0pfVxyXG4gICAgICAgICAgPC9PcHRHcm91cD5cclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAge29wdGlvbn1cclxuICAgICAgICAgIHtvcHRHcm91cH1cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0U2VsZWN0RGF0YSh2YWx1ZSk7XHJcbiAgICAgIG9uQ2hhbmdlKHZhbHVlLCBvcHRpb25zLCBkYXRhKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25TZWxlY3QodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25TZWxlY3QgfSA9IHRoaXMucHJvcHM7XHJcblxyXG4gICAgaWYgKG9uU2VsZWN0KSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldFNlbGVjdERhdGEodmFsdWUpO1xyXG4gICAgICBvblNlbGVjdCh2YWx1ZSwgb3B0aW9ucywgZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlKG9wZW4pIHtcclxuICAgIGlmICghb3Blbikge1xyXG4gICAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgZGF0YSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIG9uU2VsZWN0LFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBsYWJlbEZpZWxkLFxyXG4gICAgICB2YWx1ZUZpZWxkLFxyXG4gICAgICBkZWZhdWx0U3R5bGUsXHJcbiAgICAgIHNob3dHcm91cCA9IHRydWUsXHJcbiAgICAgIGFkZERhdGEsXHJcbiAgICAgIGRlbGV0ZURhdGEsXHJcbiAgICAgIHZhbHVlVHlwZSxcclxuICAgICAgLi4ucGFyYW1zXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBwcm9wcyA9IHtcclxuICAgICAgZmlsdGVyT3B0aW9uOiBmYWxzZSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJ1ZSxcclxuICAgICAgb3B0aW9uRmlsdGVyUHJvcDogXCJsYWJlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgIH0gYXMgYW55O1xyXG4gICAgbGV0IHsgYW50ZFN0eWxlLCBtb3VudEVsZW1lbnRJZCB9ID0gY29uZmlnKCk7XHJcbiAgICBpZiAobW91bnRFbGVtZW50SWQpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgZ2V0UG9wdXBDb250YWluZXI6ICgpID0+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1vdW50RWxlbWVudElkKSxcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmICgoZGVmYXVsdFN0eWxlIHx8IGFudGRTdHlsZSkgJiYgZGVmYXVsdFN0eWxlID09PSB0cnVlKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJuc2Nfc2VsZWN0XCJdLCB0aGlzLnByb3BzLmNsYXNzTmFtZSl9PlxyXG4gICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZX1cclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMub25TZWxlY3QuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U9e3RoaXMub25Ecm9wZG93blZpc2libGVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTZWxlY3RcclxuICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBvblNlbGVjdD17dGhpcy5vblNlbGVjdC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U9e3RoaXMub25Ecm9wZG93blZpc2libGVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3RoaXMucmVuZGVyQ2hpbGRyZW4oKX1cclxuICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQUssSUFBSUMsYUFBYSxRQUFRLE9BQU87QUFFNUMsT0FBT0MsS0FBSyxNQUFzQixhQUFhO0FBQy9DLFNBQVNDLEtBQUssUUFBUSx1QkFBdUI7QUFDN0MsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsT0FBT0MsR0FBRyxNQUFNLFlBQVk7QUFFNUIsT0FBT0MsV0FBVyxNQUFNLGNBQWM7QUFDdEMsU0FBU0MsY0FBYyxRQUFRLG1CQUFtQjtBQUNsRCxNQUFNO0VBQUVDLE1BQU07RUFBRUM7QUFBUyxDQUFDLEdBQUFDLE9BQVM7QUFpQm5DLGVBQWUsTUFBTUMsU0FBUyxTQUFTWCxhQUFhLENBQWU7RUFXakVZLFdBQVdBLENBQUNDLEtBQUssRUFBRTtJQUNqQixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUFDQyxl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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PureComponent","Store","utils","config","styles","cls","PinyinMatch","getFlattenData","Option","OptGroup","_Select","NSCSelect","constructor","props","_defineProperty","dataSource","selectValue","allDataSource","children","allChildren","data","store","options","addData","deleteData","url","listeners","listenersPops","viewname","cached","cacheKey","viewtype","stores","_objectWithoutProperties","_excluded","valueField","viewUrl","viewBizUrl","requestViewUrl","getAllData","Array","isArray","newData","length","spliceData","valueFields","split","map","item","i","value","v","index","indexOf","push","Error","_this","storeProps","_objectSpread","model","component","onBeforeLoad","callback","load","modelData","setState","dataChanged","isCached","isCacheKey","autoLoad","resetData","state","getData","getValue","setValue","getSelectData","keyField","componentDidMount","componentDidUpdate","newProps","newState","Snapshot","JSON","stringify","stateChildrenProps","s","childrenProps","c","componentWillUnmount","onSearch","filterOption","labelField","result","forEach","label","labelFields","l","flag","match","child","_child$props","renderOption","optionData","valueType","Number","key","id","createElement","disabled","renderChildren","showGroup","Fragment","optGroupData","groupName","option","optGroup","Object","keys","onChange","onSelect","onDropdownVisibleChange","open","render","_this$props","defaultStyle","params","_excluded2","showSearch","optionFilterProp","placeholder","allowClear","antdStyle","mountElementId","getPopupContainer","document","getElementById","className","_extends","bind"],"sources":["../../../src/components/base/select/index.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\";\r\nimport { Select, SelectProps } from \"antd\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport config from \"../../config\";\r\nimport styles from \"./index.less\";\r\nimport cls from \"classnames\";\r\nimport omit from \"omit.js\";\r\nimport PinyinMatch from \"pinyin-match\";\r\nimport { getFlattenData } from \"@bj-nsc/functions\";\r\nconst { Option, OptGroup } = Select;\r\n\r\ninterface ISelectProps extends SelectProps<any> {\r\n store?: StoreProps;\r\n data?: Array<Object>; //默认数据\r\n labelField?: string;\r\n valueField?: string;\r\n defaultStyle?: boolean;\r\n showGroup?: boolean; //是否显示分组\r\n addData?: Array<Object>; //配合store使用,从增加额外的数据\r\n deleteData?: Array<String>; //配合store使用,删除从数据库中获取到的指定数据\r\n valueBreak?: string; //多个value使用的分隔符\r\n valueType?: \"string\" | \"number\";\r\n [proName: string]: any;\r\n onChange?: any;\r\n onSelect?: any;\r\n}\r\nexport default class NSCSelect extends PureComponent<ISelectProps> {\r\n static Option = Option;\r\n static OptGroup = OptGroup;\r\n state = {\r\n dataSource: [],\r\n selectValue: null,\r\n allDataSource: [],\r\n children: null,\r\n allChildren: null,\r\n };\r\n store = {} as StoreProps;\r\n constructor(props) {\r\n super(props);\r\n const {\r\n data,\r\n store = {},\r\n children,\r\n options,\r\n addData = [],\r\n deleteData = [],\r\n } = props;\r\n const {\r\n url,\r\n listeners: listenersPops = {},\r\n viewname,\r\n cached,\r\n cacheKey,\r\n viewtype = \"sys\",\r\n ...stores\r\n } = store;\r\n const valueField = viewname ? \"dictKey\" : \"value\";\r\n let { viewUrl, viewBizUrl } = config();\r\n let requestViewUrl = viewtype == \"sys\" ? viewUrl : viewBizUrl;\r\n const getAllData = (data) => {\r\n if (!Array.isArray(data)) {\r\n return [];\r\n }\r\n let newData = [...data];\r\n if (addData.length > 0) {\r\n newData = [...addData, ...newData];\r\n }\r\n if (deleteData.length > 0) {\r\n let spliceData = [];\r\n const valueFields: any = valueField.split(\",\");\r\n newData.map((item, i) => {\r\n let value = \"\";\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + item[v] : value + \",\" + item[v];\r\n });\r\n if (deleteData.indexOf(value) == -1) {\r\n spliceData.push(item);\r\n }\r\n });\r\n return spliceData;\r\n } else {\r\n return newData;\r\n }\r\n };\r\n if (!children) {\r\n if (!(data || viewname || url || options)) {\r\n throw new Error(\"url、viewname、data、options不能都为空!\");\r\n }\r\n let _this = this;\r\n let storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: function (store, options) {\r\n utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);\r\n },\r\n load: function (data, modelData, store) {\r\n const newData = getAllData(data);\r\n _this.setState({ dataSource: newData, allDataSource: newData });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n const newData = getAllData(data);\r\n _this.setState({ dataSource: newData, allDataSource: newData });\r\n utils.callback(listenersPops.dataChanged, _this, [\r\n data,\r\n modelData,\r\n store,\r\n ]);\r\n },\r\n },\r\n ...stores,\r\n };\r\n if ((viewname || url) && data == null && options == null) {\r\n let isCached = cached;\r\n let isCacheKey = cacheKey;\r\n if (viewname) {\r\n if (typeof cached !== \"boolean\") {\r\n isCached = true;\r\n isCacheKey = isCacheKey ? isCacheKey : viewname;\r\n }\r\n }\r\n\r\n storeProps = {\r\n ...{\r\n autoLoad: true,\r\n url: url || requestViewUrl + viewname, //读字典,url固定,viewname\r\n cached: isCached,\r\n cacheKey: isCacheKey,\r\n },\r\n ...storeProps,\r\n };\r\n }\r\n this.store = new Store(storeProps);\r\n }\r\n }\r\n\r\n resetData() {\r\n const { children } = this.props;\r\n const { allDataSource, allChildren } = this.state;\r\n if (children) {\r\n this.setState({ children: allChildren });\r\n } else {\r\n this.setState({\r\n dataSource: allDataSource,\r\n });\r\n }\r\n }\r\n\r\n getData() {\r\n return this.state.allDataSource;\r\n }\r\n\r\n getValue() {\r\n return this.state.selectValue;\r\n }\r\n setValue(value) {\r\n this.setState({\r\n selectValue: value,\r\n });\r\n }\r\n\r\n getSelectData(value) {\r\n const { dataSource } = this.state;\r\n let { store = {}, valueField } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n const newData = getFlattenData(dataSource, { keyField: valueField });\r\n return newData[value] || {};\r\n }\r\n\r\n componentDidMount() {\r\n const { data, options, children } = this.props;\r\n if (!children && (data || options)) {\r\n this.setState({\r\n dataSource: data ? data : options,\r\n allDataSource: data ? data : options,\r\n });\r\n } else if (children) {\r\n this.setState({\r\n children: children,\r\n allChildren: children,\r\n });\r\n }\r\n }\r\n componentDidUpdate(newProps, newState, Snapshot) {\r\n const { data, options, children } = this.props;\r\n const { allDataSource, allChildren } = this.state;\r\n if (!children && (data || options)) {\r\n const newData = data ? data : options;\r\n if (JSON.stringify(allDataSource) !== JSON.stringify(newData)) {\r\n this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n });\r\n }\r\n } else if (children && Array.isArray(children)) {\r\n const stateChildrenProps: any = [];\r\n allChildren.map((s: any) => {\r\n stateChildrenProps.push(s.props);\r\n });\r\n const childrenProps: any = [];\r\n children.map((c: any) => {\r\n childrenProps.push(c.props);\r\n });\r\n if (\r\n JSON.stringify(stateChildrenProps) !== JSON.stringify(childrenProps)\r\n ) {\r\n this.setState({\r\n children: children,\r\n allChildren: children,\r\n });\r\n }\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.setState = (state, callback) => {\r\n return;\r\n };\r\n }\r\n onSearch(value) {\r\n const { allDataSource, allChildren } = this.state;\r\n const { filterOption = true, onSearch, children, store = {} } = this.props;\r\n let { labelField } = this.props;\r\n const { viewname } = store;\r\n labelField = labelField ? labelField : viewname ? \"dictValue\" : \"label\";\r\n if (filterOption) {\r\n let result = [];\r\n if (!children) {\r\n if (value) {\r\n allDataSource.forEach((item) => {\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = item[labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + item[l] : label + \"-\" + item[l];\r\n });\r\n }\r\n let flag = PinyinMatch.match(label, value);\r\n if (flag) {\r\n result.push(item);\r\n }\r\n });\r\n this.setState({\r\n dataSource: result,\r\n });\r\n } else {\r\n this.setState({\r\n dataSource: allDataSource,\r\n });\r\n }\r\n } else {\r\n if (value) {\r\n if (Array.isArray(allChildren)) {\r\n allChildren.map((child: any, index) => {\r\n let label = child?.props?.children;\r\n let flag = PinyinMatch.match(label, value);\r\n if (flag) {\r\n result.push(child);\r\n }\r\n });\r\n }\r\n this.setState({\r\n children: result,\r\n });\r\n } else {\r\n this.setState({\r\n children: children,\r\n });\r\n }\r\n }\r\n }\r\n onSearch && onSearch(value);\r\n }\r\n renderOption(optionData) {\r\n let {\r\n store = {},\r\n valueType = \"string\",\r\n labelField,\r\n valueField,\r\n } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n labelField = labelField ? labelField : viewname ? \"dictValue\" : \"label\";\r\n return optionData.map((item) => {\r\n let value: any;\r\n if (valueField.split(\",\").length == 1) {\r\n value =\r\n valueType === \"number\" ? Number(item[valueField]) : item[valueField];\r\n } else {\r\n const valueFields: any = valueField.split(\",\");\r\n value=''\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + item[v] : value + \",\" + item[v];\r\n });\r\n }\r\n let key = item.id ? (item.id !== \"undefined\" ? item.id : value) : value;\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = item[labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + item[l] : label + \"-\" + item[l];\r\n });\r\n }\r\n return (\r\n <Option\r\n key={key}\r\n value={value}\r\n label={label}\r\n disabled={item.disabled ? true : false}\r\n >\r\n {label}\r\n </Option>\r\n );\r\n });\r\n }\r\n renderChildren() {\r\n const { showGroup = true } = this.props;\r\n const { dataSource, children } = this.state;\r\n if (children) {\r\n return <>{children}</>;\r\n } else {\r\n let optGroupData = {},\r\n optionData = [];\r\n dataSource.forEach((item) => {\r\n let label = item.groupName;\r\n if (label && showGroup) {\r\n if (!optGroupData[label]) optGroupData[label] = [];\r\n optGroupData[label].push(item);\r\n } else {\r\n optionData.push(item);\r\n }\r\n });\r\n let option = this.renderOption(optionData);\r\n let optGroup = Object.keys(optGroupData).map((key) => {\r\n return (\r\n <OptGroup key={key} label={key}>\r\n {this.renderOption(optGroupData[key])}\r\n </OptGroup>\r\n );\r\n });\r\n return (\r\n <>\r\n {option}\r\n {optGroup}\r\n </>\r\n );\r\n }\r\n }\r\n onChange(value, options) {\r\n const { onChange } = this.props;\r\n this.setState({\r\n selectValue: value,\r\n });\r\n if (onChange) {\r\n const data = this.getSelectData(value);\r\n onChange(value, options, data);\r\n }\r\n }\r\n onSelect(value, options) {\r\n const { onSelect } = this.props;\r\n\r\n if (onSelect) {\r\n const data = this.getSelectData(value);\r\n onSelect(value, options, data);\r\n }\r\n }\r\n onDropdownVisibleChange(open) {\r\n if (!open) {\r\n this.resetData();\r\n }\r\n }\r\n render() {\r\n const {\r\n children,\r\n store,\r\n data,\r\n onChange,\r\n onSelect,\r\n options,\r\n labelField,\r\n valueField,\r\n defaultStyle,\r\n showGroup = true,\r\n addData,\r\n deleteData,\r\n valueType,\r\n ...params\r\n } = this.props;\r\n let props = {\r\n filterOption: false,\r\n showSearch: true,\r\n optionFilterProp: \"label\",\r\n placeholder: \"请选择\",\r\n allowClear: true,\r\n } as any;\r\n let { antdStyle, mountElementId } = config();\r\n if (mountElementId) {\r\n props = {\r\n getPopupContainer: () => document.getElementById(mountElementId),\r\n ...props,\r\n };\r\n }\r\n if ((defaultStyle || antdStyle) && defaultStyle === true) {\r\n return (\r\n <div className={cls(styles[\"nsc_select\"], this.props.className)}>\r\n <Select\r\n value={this.state.selectValue}\r\n onChange={this.onChange.bind(this)}\r\n onSearch={this.onSearch.bind(this)}\r\n onSelect={this.onSelect.bind(this)}\r\n onDropdownVisibleChange={this.onDropdownVisibleChange.bind(this)}\r\n {...props}\r\n {...params}\r\n >\r\n {this.renderChildren()}\r\n </Select>\r\n </div>\r\n );\r\n } else {\r\n return (\r\n <Select\r\n value={this.state.selectValue}\r\n onSearch={this.onSearch.bind(this)}\r\n onChange={this.onChange.bind(this)}\r\n onSelect={this.onSelect.bind(this)}\r\n onDropdownVisibleChange={this.onDropdownVisibleChange.bind(this)}\r\n {...props}\r\n {...params}\r\n >\r\n {this.renderChildren()}\r\n </Select>\r\n );\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PureComponent","Store","utils","config","styles","cls","PinyinMatch","getFlattenData","Option","OptGroup","_Select","NSCSelect","constructor","props","_defineProperty","dataSource","selectValue","allDataSource","children","allChildren","data","store","options","addData","deleteData","url","listeners","listenersPops","viewname","cached","cacheKey","viewtype","stores","_objectWithoutProperties","_excluded","valueField","viewUrl","viewBizUrl","requestViewUrl","getAllData","Array","isArray","newData","length","spliceData","valueFields","split","map","item","i","value","v","index","indexOf","push","Error","_this","storeProps","_objectSpread","model","component","onBeforeLoad","callback","load","modelData","setState","dataChanged","isCached","isCacheKey","autoLoad","resetData","state","getData","getValue","setValue","getSelectData","keyField","res","val","componentDidMount","componentDidUpdate","newProps","newState","Snapshot","JSON","stringify","stateChildrenProps","s","childrenProps","c","componentWillUnmount","onSearch","filterOption","labelField","result","forEach","label","labelFields","l","flag","match","child","_child$props","renderOption","optionData","valueType","Number","key","id","createElement","disabled","renderChildren","showGroup","Fragment","optGroupData","groupName","option","optGroup","Object","keys","onChange","onSelect","onDropdownVisibleChange","open","render","_this$props","defaultStyle","params","_excluded2","showSearch","optionFilterProp","placeholder","allowClear","antdStyle","mountElementId","getPopupContainer","document","getElementById","className","_extends","bind"],"sources":["../../../src/components/base/select/index.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\";\r\nimport { Select, SelectProps } from \"antd\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport config from \"../../config\";\r\nimport styles from \"./index.less\";\r\nimport cls from \"classnames\";\r\nimport omit from \"omit.js\";\r\nimport PinyinMatch from \"pinyin-match\";\r\nimport { getFlattenData } from \"@bj-nsc/functions\";\r\nconst { Option, OptGroup } = Select;\r\n\r\ninterface ISelectProps extends SelectProps<any> {\r\n store?: StoreProps;\r\n data?: Array<Object>; //默认数据\r\n labelField?: string;\r\n valueField?: string;\r\n defaultStyle?: boolean;\r\n showGroup?: boolean; //是否显示分组\r\n addData?: Array<Object>; //配合store使用,从增加额外的数据\r\n deleteData?: Array<String>; //配合store使用,删除从数据库中获取到的指定数据\r\n valueBreak?: string; //多个value使用的分隔符\r\n valueType?: \"string\" | \"number\";\r\n [proName: string]: any;\r\n onChange?: any;\r\n onSelect?: any;\r\n}\r\nexport default class NSCSelect extends PureComponent<ISelectProps> {\r\n static Option = Option;\r\n static OptGroup = OptGroup;\r\n state = {\r\n dataSource: [],\r\n selectValue: null,\r\n allDataSource: [],\r\n children: null,\r\n allChildren: null,\r\n };\r\n store = {} as StoreProps;\r\n constructor(props) {\r\n super(props);\r\n const {\r\n data,\r\n store = {},\r\n children,\r\n options,\r\n addData = [],\r\n deleteData = [],\r\n } = props;\r\n const {\r\n url,\r\n listeners: listenersPops = {},\r\n viewname,\r\n cached,\r\n cacheKey,\r\n viewtype = \"sys\",\r\n ...stores\r\n } = store;\r\n const valueField = viewname ? \"dictKey\" : \"value\";\r\n let { viewUrl, viewBizUrl } = config();\r\n let requestViewUrl = viewtype == \"sys\" ? viewUrl : viewBizUrl;\r\n const getAllData = (data) => {\r\n if (!Array.isArray(data)) {\r\n return [];\r\n }\r\n let newData = [...data];\r\n if (addData.length > 0) {\r\n newData = [...addData, ...newData];\r\n }\r\n if (deleteData.length > 0) {\r\n let spliceData = [];\r\n const valueFields: any = valueField.split(\",\");\r\n newData.map((item, i) => {\r\n let value = \"\";\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + item[v] : value + \",\" + item[v];\r\n });\r\n if (deleteData.indexOf(value) == -1) {\r\n spliceData.push(item);\r\n }\r\n });\r\n return spliceData;\r\n } else {\r\n return newData;\r\n }\r\n };\r\n if (!children) {\r\n if (!(data || viewname || url || options)) {\r\n throw new Error(\"url、viewname、data、options不能都为空!\");\r\n }\r\n let _this = this;\r\n let storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: function (store, options) {\r\n utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);\r\n },\r\n load: function (data, modelData, store) {\r\n const newData = getAllData(data);\r\n _this.setState({ dataSource: newData, allDataSource: newData });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n const newData = getAllData(data);\r\n _this.setState({ dataSource: newData, allDataSource: newData });\r\n utils.callback(listenersPops.dataChanged, _this, [\r\n data,\r\n modelData,\r\n store,\r\n ]);\r\n },\r\n },\r\n ...stores,\r\n };\r\n if ((viewname || url) && data == null && options == null) {\r\n let isCached = cached;\r\n let isCacheKey = cacheKey;\r\n if (viewname) {\r\n if (typeof cached !== \"boolean\") {\r\n isCached = true;\r\n isCacheKey = isCacheKey ? isCacheKey : viewname;\r\n }\r\n }\r\n\r\n storeProps = {\r\n ...{\r\n autoLoad: true,\r\n url: url || requestViewUrl + viewname, //读字典,url固定,viewname\r\n cached: isCached,\r\n cacheKey: isCacheKey,\r\n },\r\n ...storeProps,\r\n };\r\n }\r\n this.store = new Store(storeProps);\r\n }\r\n }\r\n\r\n resetData() {\r\n const { children } = this.props;\r\n const { allDataSource, allChildren } = this.state;\r\n if (children) {\r\n this.setState({ children: allChildren });\r\n } else {\r\n this.setState({\r\n dataSource: allDataSource,\r\n });\r\n }\r\n }\r\n\r\n getData() {\r\n return this.state.allDataSource;\r\n }\r\n\r\n getValue() {\r\n return this.state.selectValue;\r\n }\r\n setValue(value) {\r\n this.setState({\r\n selectValue: value,\r\n });\r\n }\r\n\r\n getSelectData(value) {\r\n const { dataSource } = this.state;\r\n let { store = {}, valueField } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n const newData = getFlattenData(dataSource, { keyField: valueField });\r\n if (Array.isArray(value)) {\r\n let res = [] as any;\r\n value.map((val) => {\r\n res.push(newData[val] || {});\r\n });\r\n return res;\r\n } else {\r\n return newData[value] || {};\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const { data, options, children } = this.props;\r\n if (!children && (data || options)) {\r\n this.setState({\r\n dataSource: data ? data : options,\r\n allDataSource: data ? data : options,\r\n });\r\n } else if (children) {\r\n this.setState({\r\n children: children,\r\n allChildren: children,\r\n });\r\n }\r\n }\r\n componentDidUpdate(newProps, newState, Snapshot) {\r\n const { data, options, children } = this.props;\r\n const { allDataSource, allChildren } = this.state;\r\n if (!children && (data || options)) {\r\n const newData = data ? data : options;\r\n if (JSON.stringify(allDataSource) !== JSON.stringify(newData)) {\r\n this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n });\r\n }\r\n } else if (children && Array.isArray(children)) {\r\n const stateChildrenProps: any = [];\r\n allChildren.map((s: any) => {\r\n stateChildrenProps.push(s.props);\r\n });\r\n const childrenProps: any = [];\r\n children.map((c: any) => {\r\n childrenProps.push(c.props);\r\n });\r\n if (\r\n JSON.stringify(stateChildrenProps) !== JSON.stringify(childrenProps)\r\n ) {\r\n this.setState({\r\n children: children,\r\n allChildren: children,\r\n });\r\n }\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.setState = (state, callback) => {\r\n return;\r\n };\r\n }\r\n onSearch(value) {\r\n const { allDataSource, allChildren } = this.state;\r\n const { filterOption = true, onSearch, children, store = {} } = this.props;\r\n let { labelField } = this.props;\r\n const { viewname } = store;\r\n labelField = labelField ? labelField : viewname ? \"dictValue\" : \"label\";\r\n if (filterOption) {\r\n let result = [];\r\n if (!children) {\r\n if (value) {\r\n allDataSource.forEach((item) => {\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = item[labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + item[l] : label + \"-\" + item[l];\r\n });\r\n }\r\n let flag = PinyinMatch.match(label, value);\r\n if (flag) {\r\n result.push(item);\r\n }\r\n });\r\n this.setState({\r\n dataSource: result,\r\n });\r\n } else {\r\n this.setState({\r\n dataSource: allDataSource,\r\n });\r\n }\r\n } else {\r\n if (value) {\r\n if (Array.isArray(allChildren)) {\r\n allChildren.map((child: any, index) => {\r\n let label = child?.props?.children;\r\n let flag = PinyinMatch.match(label, value);\r\n if (flag) {\r\n result.push(child);\r\n }\r\n });\r\n }\r\n this.setState({\r\n children: result,\r\n });\r\n } else {\r\n this.setState({\r\n children: children,\r\n });\r\n }\r\n }\r\n }\r\n onSearch && onSearch(value);\r\n }\r\n renderOption(optionData) {\r\n let {\r\n store = {},\r\n valueType = \"string\",\r\n labelField,\r\n valueField,\r\n } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n labelField = labelField ? labelField : viewname ? \"dictValue\" : \"label\";\r\n return optionData.map((item) => {\r\n let value: any;\r\n if (valueField.split(\",\").length == 1) {\r\n value =\r\n valueType === \"number\" ? Number(item[valueField]) : item[valueField];\r\n } else {\r\n const valueFields: any = valueField.split(\",\");\r\n value = \"\";\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + item[v] : value + \",\" + item[v];\r\n });\r\n }\r\n let key = item.id ? (item.id !== \"undefined\" ? item.id : value) : value;\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = item[labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + item[l] : label + \"-\" + item[l];\r\n });\r\n }\r\n return (\r\n <Option\r\n key={key}\r\n value={value}\r\n label={label}\r\n disabled={item.disabled ? true : false}\r\n >\r\n {label}\r\n </Option>\r\n );\r\n });\r\n }\r\n renderChildren() {\r\n const { showGroup = true } = this.props;\r\n const { dataSource, children } = this.state;\r\n if (children) {\r\n return <>{children}</>;\r\n } else {\r\n let optGroupData = {},\r\n optionData = [];\r\n dataSource.forEach((item) => {\r\n let label = item.groupName;\r\n if (label && showGroup) {\r\n if (!optGroupData[label]) optGroupData[label] = [];\r\n optGroupData[label].push(item);\r\n } else {\r\n optionData.push(item);\r\n }\r\n });\r\n let option = this.renderOption(optionData);\r\n let optGroup = Object.keys(optGroupData).map((key) => {\r\n return (\r\n <OptGroup key={key} label={key}>\r\n {this.renderOption(optGroupData[key])}\r\n </OptGroup>\r\n );\r\n });\r\n return (\r\n <>\r\n {option}\r\n {optGroup}\r\n </>\r\n );\r\n }\r\n }\r\n onChange(value, options) {\r\n const { onChange } = this.props;\r\n this.setState({\r\n selectValue: value,\r\n });\r\n if (onChange) {\r\n const data = this.getSelectData(value);\r\n onChange(value, options, data);\r\n }\r\n }\r\n onSelect(value, options) {\r\n const { onSelect } = this.props;\r\n\r\n if (onSelect) {\r\n const data = this.getSelectData(value);\r\n onSelect(value, options, data);\r\n }\r\n }\r\n onDropdownVisibleChange(open) {\r\n if (!open) {\r\n this.resetData();\r\n }\r\n }\r\n render() {\r\n const {\r\n children,\r\n store,\r\n data,\r\n onChange,\r\n onSelect,\r\n options,\r\n labelField,\r\n valueField,\r\n defaultStyle,\r\n showGroup = true,\r\n addData,\r\n deleteData,\r\n valueType,\r\n ...params\r\n } = this.props;\r\n let props = {\r\n filterOption: false,\r\n showSearch: true,\r\n optionFilterProp: \"label\",\r\n placeholder: \"请选择\",\r\n allowClear: true,\r\n } as any;\r\n let { antdStyle, mountElementId } = config();\r\n if (mountElementId) {\r\n props = {\r\n getPopupContainer: () => document.getElementById(mountElementId),\r\n ...props,\r\n };\r\n }\r\n if ((defaultStyle || antdStyle) && defaultStyle === true) {\r\n return (\r\n <div className={cls(styles[\"nsc_select\"], this.props.className)}>\r\n <Select\r\n value={this.state.selectValue}\r\n onChange={this.onChange.bind(this)}\r\n onSearch={this.onSearch.bind(this)}\r\n onSelect={this.onSelect.bind(this)}\r\n onDropdownVisibleChange={this.onDropdownVisibleChange.bind(this)}\r\n {...props}\r\n {...params}\r\n >\r\n {this.renderChildren()}\r\n </Select>\r\n </div>\r\n );\r\n } else {\r\n return (\r\n <Select\r\n value={this.state.selectValue}\r\n onSearch={this.onSearch.bind(this)}\r\n onChange={this.onChange.bind(this)}\r\n onSelect={this.onSelect.bind(this)}\r\n onDropdownVisibleChange={this.onDropdownVisibleChange.bind(this)}\r\n {...props}\r\n {...params}\r\n >\r\n {this.renderChildren()}\r\n </Select>\r\n );\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}
|