summaryrefslogtreecommitdiffstats
path: root/webapp/components/multiselect
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/multiselect')
-rw-r--r--webapp/components/multiselect/multiselect.jsx14
1 files changed, 13 insertions, 1 deletions
diff --git a/webapp/components/multiselect/multiselect.jsx b/webapp/components/multiselect/multiselect.jsx
index a3e32dccf..f6d6b5d56 100644
--- a/webapp/components/multiselect/multiselect.jsx
+++ b/webapp/components/multiselect/multiselect.jsx
@@ -111,7 +111,8 @@ export default class MultiSelect extends React.Component {
}
render() {
- const options = this.props.options;
+ const options = Object.assign([], this.props.options);
+ const values = this.props.values;
let numRemainingText;
if (this.props.numRemainingText) {
@@ -142,6 +143,17 @@ export default class MultiSelect extends React.Component {
);
}
+ const valueMap = {};
+ for (let i = 0; i < values.length; i++) {
+ valueMap[values[i].id] = true;
+ }
+
+ for (let i = options.length - 1; i >= 0; i--) {
+ if (valueMap[options[i].id]) {
+ options.splice(i, 1);
+ }
+ }
+
if (options && options.length > this.props.perPage) {
const pageStart = this.state.page * this.props.perPage;
const pageEnd = pageStart + this.props.perPage;