Skip to content
Snippets Groups Projects
Verified Commit 2d40f5af authored by Alexander-Krause's avatar Alexander-Krause
Browse files

remove unnecessary addon and view refactoring

parent 4d85f5a5
No related branches found
No related tags found
No related merge requests found
Showing
with 101 additions and 22 deletions
import Component from '@ember/component';
import layout from '../../templates/components/agent-details-tables/general-information';
import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
export default Component.extend({
layout,
toggleIsHidden: alias('agent.isHidden'),
lastDiscoveryTimeAsDate: computed('agent.lastDiscoveryTime', function() {
const lastDiscoveryTime = this.get('agent.lastDiscoveryTime');
return new Date(lastDiscoveryTime).toLocaleString();
......
......@@ -8,13 +8,10 @@ export default Component.extend({
configuration: service("configuration"),
toggleState: alias('configuration.discoverySettings.expertMode'),
// TODO https://github.com/funkensturm/ember-local-storage
actions: {
saveSettings() {
// TODO https://github.com/funkensturm/ember-local-storage
}
}
toggleExpertMode: alias('configuration.discoverySettings.enableExpertMode'),
toggleShowHidden: alias('configuration.discoverySettings.showHiddenEntities')
});
......@@ -10,10 +10,21 @@ export default Component.extend({
layout,
agentRepo: service("repos/agent-repository"),
configuration: service("configuration"),
cytoscapeGraph: null,
cytoscapeLayout: null,
initDone: false,
showHiddenMessage: false,
actions: {
enableShowHidden() {
this.set('initDone', false);
this.set('configuration.discoverySettings.showHiddenEntities', true);
this.set('showHiddenMessage', false);
}
},
// @Override
......@@ -29,6 +40,7 @@ export default Component.extend({
if(this.get('agentRepo.agentList.length')) {
if(!this.get('initDone')) {
this.removeListener();
this.initCytoscape();
this.setupListener();
this.set('initDone', true);
......@@ -75,8 +87,15 @@ export default Component.extend({
removeListener() {
if(this.get('initDone')) {
this.get('agentRepo').off('updated');
this.get('cytoscapeGraph').off('tap');
if(this.get('agentRepo')) {
this.get('agentRepo').off('updated');
}
if(this.get('cytoscapeGraph')) {
this.get('cytoscapeGraph').off('tap');
}
}
},
......@@ -183,7 +202,17 @@ export default Component.extend({
//cy.startBatch();
const showHiddenEntities = this.get('configuration.discoverySettings.showHiddenEntities');
let isAtLeastOneSet = false;
newAgentList.forEach((agentRecord) => {
if(agentRecord.get('isHidden') && !showHiddenEntities) {
// skip this agent
// proceed with next one
return;
}
const ip = agentRecord.get('ip');
const port = agentRecord.get('port');
......@@ -206,11 +235,18 @@ export default Component.extend({
cy.add(agentAndEdge);
isAtLeastOneSet = true;
// look for procezzes and add to graph
const procezzes = agentRecord.get('procezzes');
procezzes.forEach((procezzRecord) => {
if(procezzRecord.get('isHidden') && !showHiddenEntities) {
// skip this procezz
// proceed with next one
return;
}
const procezzName = nameSelector(procezzRecord.get('pid'), procezzRecord.get('name'));
const edgeID = procezzName + "To" + agentName;
......@@ -244,6 +280,8 @@ export default Component.extend({
});
// END agentList loop
this.set('showHiddenMessage', !isAtLeastOneSet);
//cy.endBatch();
layout.options.eles = cy.elements();
layout.run();
......
......@@ -7,6 +7,7 @@ export default Component.extend({
layout,
toggleStateWebServer: alias('procezz.webserverFlag'),
toggleIsHidden: alias('procezz.isHidden'),
lastDiscoveryTimeAsDate: computed('procezz.lastDiscoveryTime', function() {
const lastDiscoveryTime = this.get('procezz.lastDiscoveryTime');
......
......@@ -15,7 +15,7 @@ export function initialize(appInstance) {
const configurationService = appInstance.lookup('service:configuration');
if(configurationService){
configurationService.get('pluginSettings').addObject('discovery-settings');
configurationService.set('discoverySettings', {expertMode: false});
configurationService.set('discoverySettings', {enableExpertMode: false, showHiddenEntities: false});
}
appInstance.lookup("service:agent-reload");
......
......@@ -6,6 +6,8 @@ export default Model.extend({
name: attr("string"),
lastDiscoveryTime: attr("number"),
isHidden: attr("boolean"),
agent: belongsTo("error-object")
......
import DS from 'ember-data';
import SaveRelationshipsMixin from 'ember-data-save-relationships';
export default DS.JSONAPISerializer.extend(SaveRelationshipsMixin, {
export default DS.JSONAPISerializer.extend({
attrs: {
agent: { serialize: true }
......
......@@ -20,6 +20,14 @@
{{input class="form-control" value=agent.name}}
</td>
</tr>
<tr>
<td><b>Hide entity (undo in Settings)?</b></td>
<td>
<div style="float: left;">
{{x-toggle theme='skewed' onLabel='Yes' offLabel='No' value=toggleIsHidden onToggle=(action (mut toggleIsHidden))}}
</div>
</td>
</tr>
<tr>
<td><b>Number of procezzes</b></td>
<td>
......
......@@ -11,11 +11,18 @@
<td><b>Expert Mode</b></td>
<td>
<div style="position:absolute;">
{{x-toggle value=toggleState onToggle=(action (mut toggleState))}}
{{x-toggle theme='skewed' onLabel='Yes' offLabel='No' value=toggleExpertMode onToggle=(action (mut toggleExpertMode))}}
</div>
</td>
</tr>
<tr>
<td><b>Show hidden entities</b></td>
<td>
<div style="position:absolute;">
{{x-toggle theme='skewed' onLabel='Yes' offLabel='No' value=toggleShowHidden onToggle=(action (mut toggleShowHidden))}}
</div>
</td>
</tr>
</tbody>
</table>
<button type="button" class="btn btn-success" {{action "saveSettings"}}>Save</button>
</div>
\ No newline at end of file
{{#if agentRepo.agentList}}
<div id="cy" class="container-fluid cytoscape-container"></div>
{{#if showHiddenMessage}}
{{else}}
<div class="container-fluid">
<div class="jumbotron">
<h2>No agents found!</h2>
<p>No agent registered with the backend at the moment. A new list will be fetched every 10 seconds.</p>
<div class="jumbotron">
<h2>All agents are hidden!</h2>
<p>Go to Settings an enable 'Show hidden entities' or click <a {{action "enableShowHidden" preventDefault=false}}>here</a>
</p>
</div>
<div id="spinnerDiv" class="container" style="position:relative; height:20%;">
{{ember-spinner}}
</div>
</div>
{{else}}
{{#if agentRepo.agentList}}
<div id="cy" class="container-fluid cytoscape-container"></div>
{{else}}
<div class="container-fluid">
<div class="jumbotron">
<h2>No agents found!</h2>
<p>No agent registered with the backend at the moment. A new list will be fetched every 10 seconds.</p>
</div>
<div id="spinnerDiv" class="container" style="position:relative; height:20%;">
{{ember-spinner}}
</div>
</div>
{{/if}}
{{/if}}
\ No newline at end of file
......@@ -28,5 +28,13 @@
</div>
</td>
</tr>
<tr>
<td><b>Hide entity (undo in Settings)?</b></td>
<td>
<div style="float: left;">
{{x-toggle theme='skewed' onLabel='Yes' offLabel='No' value=toggleIsHidden onToggle=(action (mut toggleIsHidden))}}
</div>
</td>
</tr>
</tbody>
</table>
\ No newline at end of file
......@@ -25,7 +25,6 @@
"ember-cli-htmlbars": "^2.0.3",
"ember-cli-htmlbars-inline-precompile": "^1.0.2",
"ember-cli-spinjs": "^1.3.0",
"ember-data-save-relationships": "0.0.5",
"ember-toggle": "^5.2.1"
},
"devDependencies": {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment