diff --git a/ui/core/app/components/form/host-set/add-hosts/index.js b/ui/core/app/components/form/host-set/add-hosts/index.js
index 74135ed90..37d12c6b7 100644
--- a/ui/core/app/components/form/host-set/add-hosts/index.js
+++ b/ui/core/app/components/form/host-set/add-hosts/index.js
@@ -23,7 +23,7 @@ export default class FormHostSetAddHostsIndexComponent extends Component {
}
/**
- * Hosts not currently assigned to current host set.
+ * Hosts currently not assigned to current host set.
* @type {[HostModel]}
*/
@computed('args.{model,hosts}')
@@ -34,6 +34,10 @@ export default class FormHostSetAddHostsIndexComponent extends Component {
// =actions
+ /**
+ * Toggle host selection
+ * @param {HostModel} host
+ */
@action
toggleHost(host) {
if (!this.selectedHostIDs.includes(host.id)) {
@@ -43,6 +47,10 @@ export default class FormHostSetAddHostsIndexComponent extends Component {
}
}
+ /**
+ * Callback submit with selected host ids
+ * @param {requestCallback} fn
+ */
@action
submit(fn) {
fn(this.selectedHostIDs);
diff --git a/ui/core/app/routes/scopes/scope/projects/project/host-catalogs/host-catalog/host-sets/host-set.js b/ui/core/app/routes/scopes/scope/projects/project/host-catalogs/host-catalog/host-sets/host-set.js
index 6d2b4abd1..4c98b45f2 100644
--- a/ui/core/app/routes/scopes/scope/projects/project/host-catalogs/host-catalog/host-sets/host-set.js
+++ b/ui/core/app/routes/scopes/scope/projects/project/host-catalogs/host-catalog/host-sets/host-set.js
@@ -13,6 +13,7 @@ export default class ScopesScopeProjectsProjectHostCatalogsHostCatalogHostSetsHo
const { id: scopeID } = this.modelFor('scopes.scope.projects.project');
const hostCatalogID = this.modelFor('scopes.scope.projects.project.host-catalogs.host-catalog').id;
return this.store.findRecord('host-set', host_set_id, {
+ reload: true,
adapterOptions: { scopeID, hostCatalogID }
});
}
diff --git a/ui/core/app/routes/scopes/scope/projects/project/host-catalogs/host-catalog/host-sets/host-set/add-hosts.js b/ui/core/app/routes/scopes/scope/projects/project/host-catalogs/host-catalog/host-sets/host-set/add-hosts.js
index 0884616dc..b7ef1afd2 100644
--- a/ui/core/app/routes/scopes/scope/projects/project/host-catalogs/host-catalog/host-sets/host-set/add-hosts.js
+++ b/ui/core/app/routes/scopes/scope/projects/project/host-catalogs/host-catalog/host-sets/host-set/add-hosts.js
@@ -20,15 +20,14 @@ export default class ScopesScopeProjectsProjectHostCatalogsHostCatalogHostSetsHo
}
/**
- * Loads all hosts under the current host catalog.
- * @return {Promise{[HostModel]}}
+ * Loads current host set and all hosts under the current host catalog.
+ * @return {Promise{HostSetModel,[HostModel]}}
*/
async model() {
const scopeID = this.modelFor('scopes.scope.projects.project').id;
const hostCatalogID = this.modelFor('scopes.scope.projects.project.host-catalogs.host-catalog').id;
- const hostSet = this.modelFor('scopes.scope.projects.project.host-catalogs.host-catalog.host-sets.host-set');
return hash({
- hostSet,
+ hostSet: this.modelFor('scopes.scope.projects.project.host-catalogs.host-catalog.host-sets.host-set'),
hosts: this.store.findAll('host', { adapterOptions: { scopeID, hostCatalogID } })
});
}
diff --git a/ui/core/app/routes/scopes/scope/projects/project/host-catalogs/host-catalog/host-sets/host-set/hosts.js b/ui/core/app/routes/scopes/scope/projects/project/host-catalogs/host-catalog/host-sets/host-set/hosts.js
index 8572fe6c3..f349d0c72 100644
--- a/ui/core/app/routes/scopes/scope/projects/project/host-catalogs/host-catalog/host-sets/host-set/hosts.js
+++ b/ui/core/app/routes/scopes/scope/projects/project/host-catalogs/host-catalog/host-sets/host-set/hosts.js
@@ -20,23 +20,24 @@ export default class ScopesScopeProjectsProjectHostCatalogsHostCatalogHostSetsHo
}
/**
- * Loads all hosts under the current host catalog.
- * @return {Promise{[HostModel]}}
+ * Loads all hosts under the current host set.
+ * @return {Promise{HostSetModel,[HostModel]}}
*/
async model() {
const scopeID = this.modelFor('scopes.scope.projects.project').id;
const hostCatalogID = this.modelFor('scopes.scope.projects.project.host-catalogs.host-catalog').id;
const hostSet = this.modelFor('scopes.scope.projects.project.host-catalogs.host-catalog.host-sets.host-set');
return hash({
- hostSet: this.store.findRecord('host-set', hostSet.id, { adapterOptions: { scopeID, hostCatalogID } }),
- hosts: all(hostSet.host_ids.map(hostFragment =>
- this.store.findRecord('host', hostFragment.value, { adapterOptions: { scopeID, hostCatalogID } })
+ hostSet,
+ hosts: all(hostSet.host_ids.map(host =>
+ this.store.findRecord('host', host.value, { adapterOptions: { scopeID, hostCatalogID } })
))
});
}
/**
- * Remove a host from the current hostset and redirect to hosts index.
+ * Remove a host from the current host set and redirect to hosts index.
+ * @param {HostSetModel} hostSet
* @param {HostModel} host
*/
@action
@@ -44,7 +45,6 @@ export default class ScopesScopeProjectsProjectHostCatalogsHostCatalogHostSetsHo
try {
const scopeID = this.modelFor('scopes.scope.projects.project').id;
const hostCatalogID = this.modelFor('scopes.scope.projects.project.host-catalogs.host-catalog').id;
- //FIXME: Are adapterOptions needed?
await hostSet.removeHost(host.id, { adapterOptions : { scopeID, hostCatalogID } });
this.refresh();
this.notify.success(this.intl.t('notify.delete-success'));
diff --git a/ui/core/tests/integration/components/form/host-set/add-hosts-test.js b/ui/core/tests/integration/components/form/host-set/add-hosts-test.js
new file mode 100644
index 000000000..827fa036d
--- /dev/null
+++ b/ui/core/tests/integration/components/form/host-set/add-hosts-test.js
@@ -0,0 +1,12 @@
+import { module, test } from 'qunit';
+import { setupRenderingTest } from 'ember-qunit';
+// import { render } from '@ember/test-helpers';
+// import { hbs } from 'ember-cli-htmlbars';
+
+module('Integration | Component | form/host-set/add-hosts', function(hooks) {
+ setupRenderingTest(hooks);
+
+ test('it renders', async function(assert) {
+ assert.expect(0);
+ });
+});
\ No newline at end of file
diff --git a/ui/core/tests/integration/components/form/host-set/add-hosts/index-test.js b/ui/core/tests/integration/components/form/host-set/add-hosts/index-test.js
deleted file mode 100644
index 807b20d1e..000000000
--- a/ui/core/tests/integration/components/form/host-set/add-hosts/index-test.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { module, test } from 'qunit';
-import { setupRenderingTest } from 'ember-qunit';
-import { render } from '@ember/test-helpers';
-import { hbs } from 'ember-cli-htmlbars';
-
-module('Integration | Component | form/host-set/add-hosts/index', function(hooks) {
- setupRenderingTest(hooks);
-
- test('it renders', async function(assert) {
- // Set any properties with this.set('myProperty', 'value');
- // Handle any actions with this.set('myAction', function(val) { ... });
-
- await render(hbs``);
-
- assert.equal(this.element.textContent.trim(), '');
-
- // Template block usage:
- await render(hbs`
-
- template block text
-
- `);
-
- assert.equal(this.element.textContent.trim(), 'template block text');
- });
-});