open-consul/ui/packages/consul-ui/app/utils/update-array-object.js
John Cowen c98130cc08
ui: Move to Workspaced Structure (#8994)
* ui: Add the most basic workspace root in /ui

* We already have a LICENSE file in the repository root

* Change directory path in build scripts ui-v2 -> ui

* Make yarn install flags configurable from elsewhere

* Minimal workspace root makefile

* Call the new docker specific target

* Update yarn in the docker build image

* Reconfigure the netlify target and move to the higher makefile

* Move ui-v2 -> ui/packages/consul-ui

* Change repo root to refleect new folder structure

* Temporarily don't hoist consul-api-double

* Fixup CI configuration

* Fixup lint errors

* Fixup Netlify target
2020-10-21 15:23:16 +01:00

23 lines
817 B
JavaScript

import { get, set } from '@ember/object';
import ObjectProxy from '@ember/object/proxy';
export default function(items, item, prop, value) {
value = typeof value === 'undefined' ? get(item, prop) : value;
const pos = items.findIndex(function(item) {
return get(item, prop) === value;
});
if (pos !== -1) {
// TODO: We only currently use this with EventSources
// would be good to check this doesn't do anything unexpected
// with other proxies.
// Before we get there, we might have figured a better way to do
// this anyway
if (item instanceof ObjectProxy) {
set(item, 'content', items.objectAt(pos));
}
items.replace(pos, 1, [item]);
// TODO: Looks like with new proxies this isn't needed anymore
// items.enumerableContentDidChange();
}
return item;
}