mirror of
https://github.com/valitydev/wazuh-kibana-app.git
synced 2024-11-06 09:55:18 +00:00
First iteration back button
This commit is contained in:
parent
abf191a0d6
commit
6e6cce3820
@ -34,7 +34,7 @@ const app = uiModules.get('app/wazuh', ['ngCookies', 'ngMaterial']);
|
|||||||
|
|
||||||
app.config([
|
app.config([
|
||||||
'$compileProvider',
|
'$compileProvider',
|
||||||
function($compileProvider) {
|
function ($compileProvider) {
|
||||||
$compileProvider.aHrefSanitizationWhitelist(
|
$compileProvider.aHrefSanitizationWhitelist(
|
||||||
/^\s*(https?|ftp|mailto|data|blob):/
|
/^\s*(https?|ftp|mailto|data|blob):/
|
||||||
);
|
);
|
||||||
@ -43,11 +43,38 @@ app.config([
|
|||||||
|
|
||||||
app.config([
|
app.config([
|
||||||
'$httpProvider',
|
'$httpProvider',
|
||||||
function($httpProvider) {
|
function ($httpProvider) {
|
||||||
$httpProvider.useApplyAsync(true);
|
$httpProvider.useApplyAsync(true);
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
app.run(function ($rootScope, $route, $location, appState) {
|
||||||
|
appState.setNavigation(false);
|
||||||
|
$rootScope.reloaded = false;
|
||||||
|
$rootScope.$on('$routeChangeSuccess', () => {
|
||||||
|
$rootScope.prevLocation = $location.path();
|
||||||
|
if (!$rootScope.reloaded) {
|
||||||
|
appState.setNavigation(true);
|
||||||
|
} else {
|
||||||
|
$rootScope.reloaded = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$rootScope.$on('$locationChangeSuccess', () => {
|
||||||
|
$rootScope.currLocation = $location.path();
|
||||||
|
if (!appState.getNavigation() && $rootScope.prevLocation &&
|
||||||
|
$rootScope.currLocation !== '/wazuh-discover/' &&
|
||||||
|
$rootScope.currLocation !== '/overview/' &&
|
||||||
|
$rootScope.currLocation !== '/agents') {
|
||||||
|
if ($rootScope.currLocation === $rootScope.prevLocation) {
|
||||||
|
$rootScope.reloaded = true;
|
||||||
|
$route.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
appState.setNavigation(false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
// Font Awesome, Kibana UI framework and others
|
// Font Awesome, Kibana UI framework and others
|
||||||
import './utils/fontawesome/css/font-awesome.min.css';
|
import './utils/fontawesome/css/font-awesome.min.css';
|
||||||
|
|
||||||
@ -72,6 +99,7 @@ import './services';
|
|||||||
import './controllers';
|
import './controllers';
|
||||||
import './factories';
|
import './factories';
|
||||||
import './directives';
|
import './directives';
|
||||||
|
import { runInContext } from 'vm';
|
||||||
|
|
||||||
// Added due to Kibana 6.3.0. Do not modify.
|
// Added due to Kibana 6.3.0. Do not modify.
|
||||||
uiModules.get('kibana').provider('dashboardConfig', () => {
|
uiModules.get('kibana').provider('dashboardConfig', () => {
|
||||||
|
@ -50,6 +50,7 @@ export class ConfigurationController {
|
|||||||
sections,
|
sections,
|
||||||
navigate = true
|
navigate = true
|
||||||
) => {
|
) => {
|
||||||
|
this.appState.setNavigation(true);
|
||||||
this.$scope.navigate = navigate;
|
this.$scope.navigate = navigate;
|
||||||
try {
|
try {
|
||||||
this.$scope.configSubTab = JSON.stringify({
|
this.$scope.configSubTab = JSON.stringify({
|
||||||
@ -77,6 +78,7 @@ export class ConfigurationController {
|
|||||||
* Navigate to woodle
|
* Navigate to woodle
|
||||||
*/
|
*/
|
||||||
this.$scope.switchWodle = (wodleName, navigate = true) => {
|
this.$scope.switchWodle = (wodleName, navigate = true) => {
|
||||||
|
this.appState.setNavigation(true);
|
||||||
this.$scope.navigate = navigate;
|
this.$scope.navigate = navigate;
|
||||||
this.$scope.configWodle = wodleName;
|
this.$scope.configWodle = wodleName;
|
||||||
if (!this.$location.search().configWodle) {
|
if (!this.$location.search().configWodle) {
|
||||||
@ -89,6 +91,7 @@ export class ConfigurationController {
|
|||||||
* Navigate to configuration
|
* Navigate to configuration
|
||||||
*/
|
*/
|
||||||
this.$scope.switchConfigurationTab = (configurationTab, navigate) => {
|
this.$scope.switchConfigurationTab = (configurationTab, navigate) => {
|
||||||
|
this.appState.setNavigation(true);
|
||||||
this.$scope.navigate = navigate;
|
this.$scope.navigate = navigate;
|
||||||
this.configurationHandler.switchConfigurationTab(
|
this.configurationHandler.switchConfigurationTab(
|
||||||
configurationTab,
|
configurationTab,
|
||||||
|
@ -133,6 +133,7 @@ export function GroupsController(
|
|||||||
$scope.totalFiles = count.data.data.totalItems;
|
$scope.totalFiles = count.data.data.totalItems;
|
||||||
$scope.fileViewer = false;
|
$scope.fileViewer = false;
|
||||||
$scope.currentGroup = group;
|
$scope.currentGroup = group;
|
||||||
|
$location.search('currentGroup', group.name);
|
||||||
$scope.$emit('setCurrentGroup',{currentGroup: $scope.currentGroup})
|
$scope.$emit('setCurrentGroup',{currentGroup: $scope.currentGroup})
|
||||||
$scope.fileViewer = false;
|
$scope.fileViewer = false;
|
||||||
if (!$scope.$$phase) $scope.$digest();
|
if (!$scope.$$phase) $scope.$digest();
|
||||||
|
@ -18,7 +18,7 @@ export class ManagementController {
|
|||||||
* @param {*} $location
|
* @param {*} $location
|
||||||
* @param {*} shareAgent
|
* @param {*} shareAgent
|
||||||
*/
|
*/
|
||||||
constructor($scope, $location, shareAgent) {
|
constructor($scope, $location, shareAgent, appState) {
|
||||||
this.$scope = $scope;
|
this.$scope = $scope;
|
||||||
this.$location = $location;
|
this.$location = $location;
|
||||||
this.shareAgent = shareAgent;
|
this.shareAgent = shareAgent;
|
||||||
@ -28,12 +28,13 @@ export class ManagementController {
|
|||||||
this.wazuhManagementTabs = ['ruleset', 'groups'];
|
this.wazuhManagementTabs = ['ruleset', 'groups'];
|
||||||
this.statusReportsTabs = ['status', 'logs', 'reporting', 'monitoring'];
|
this.statusReportsTabs = ['status', 'logs', 'reporting', 'monitoring'];
|
||||||
this.currentGroup = false;
|
this.currentGroup = false;
|
||||||
this.$scope.$on('setCurrentGroup',(ev,params) => {
|
this.$scope.$on('setCurrentGroup', (ev, params) => {
|
||||||
this.currentGroup = (params || {}).currentGroup || false;
|
this.currentGroup = (params || {}).currentGroup || false;
|
||||||
})
|
})
|
||||||
this.$scope.$on('removeCurrentGroup',() => {
|
this.$scope.$on('removeCurrentGroup', () => {
|
||||||
this.currentGroup = false;
|
this.currentGroup = false;
|
||||||
})
|
})
|
||||||
|
this.appState = appState;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -65,7 +66,10 @@ export class ManagementController {
|
|||||||
* This switch to a selected tab
|
* This switch to a selected tab
|
||||||
* @param {String} tab
|
* @param {String} tab
|
||||||
*/
|
*/
|
||||||
switchTab(tab) {
|
switchTab(tab, setNav = false) {
|
||||||
|
if (setNav) {
|
||||||
|
this.appState.setNavigation(true);
|
||||||
|
}
|
||||||
this.tab = tab;
|
this.tab = tab;
|
||||||
|
|
||||||
if (this.tab === 'groups') {
|
if (this.tab === 'groups') {
|
||||||
|
@ -103,7 +103,10 @@ export class SettingsController {
|
|||||||
* This switch to a selected tab
|
* This switch to a selected tab
|
||||||
* @param {Object} tab
|
* @param {Object} tab
|
||||||
*/
|
*/
|
||||||
switchTab(tab) {
|
switchTab(tab, setNav = false) {
|
||||||
|
if (setNav) {
|
||||||
|
this.appState.setNavigation(true);
|
||||||
|
}
|
||||||
this.tab = tab;
|
this.tab = tab;
|
||||||
this.$location.search('tab', this.tab);
|
this.$location.search('tab', this.tab);
|
||||||
}
|
}
|
||||||
@ -192,7 +195,7 @@ export class SettingsController {
|
|||||||
|
|
||||||
this.errorHandler.info(
|
this.errorHandler.info(
|
||||||
`API ${
|
`API ${
|
||||||
this.apiEntries[index]._source.cluster_info.manager
|
this.apiEntries[index]._source.cluster_info.manager
|
||||||
} set as default`,
|
} set as default`,
|
||||||
'Settings'
|
'Settings'
|
||||||
);
|
);
|
||||||
|
@ -16,14 +16,15 @@ export function clickAction(
|
|||||||
instance,
|
instance,
|
||||||
shareAgent,
|
shareAgent,
|
||||||
$location,
|
$location,
|
||||||
$scope
|
$scope,
|
||||||
|
appState
|
||||||
) {
|
) {
|
||||||
|
appState.setNavigation(true);
|
||||||
if (
|
if (
|
||||||
instance.path === '/agents' ||
|
instance.path === '/agents' ||
|
||||||
new RegExp(/^\/agents\/groups\/[a-zA-Z0-9_\-.]*$/).test(instance.path)
|
new RegExp(/^\/agents\/groups\/[a-zA-Z0-9_\-.]*$/).test(instance.path)
|
||||||
) {
|
) {
|
||||||
shareAgent.setAgent(item);
|
shareAgent.setAgent(item);
|
||||||
|
|
||||||
// Check location target and go to that path
|
// Check location target and go to that path
|
||||||
switch (openAction) {
|
switch (openAction) {
|
||||||
case 'configuration':
|
case 'configuration':
|
||||||
|
@ -90,7 +90,7 @@ app.directive('wzTable', function() {
|
|||||||
* Common functions
|
* Common functions
|
||||||
*/
|
*/
|
||||||
$scope.clickAction = (item, openAction = false) =>
|
$scope.clickAction = (item, openAction = false) =>
|
||||||
clickAction(item, openAction, instance, shareAgent, $location, $scope);
|
clickAction(item, openAction, instance, shareAgent, $location, $scope, appState);
|
||||||
|
|
||||||
const fetch = async (options = {}) => {
|
const fetch = async (options = {}) => {
|
||||||
try {
|
try {
|
||||||
|
@ -20,8 +20,9 @@ class WzWelcomeCard {
|
|||||||
private template: string;
|
private template: string;
|
||||||
private restrict: string;
|
private restrict: string;
|
||||||
private scope: object;
|
private scope: object;
|
||||||
|
private appState: any;
|
||||||
|
|
||||||
constructor() {
|
constructor(appState: any) {
|
||||||
this.restrict = 'E';
|
this.restrict = 'E';
|
||||||
this.scope = {
|
this.scope = {
|
||||||
title: '=title',
|
title: '=title',
|
||||||
@ -33,11 +34,15 @@ class WzWelcomeCard {
|
|||||||
};
|
};
|
||||||
this.replace = true;
|
this.replace = true;
|
||||||
this.template = template;
|
this.template = template;
|
||||||
|
this.appState = appState;
|
||||||
}
|
}
|
||||||
|
|
||||||
link(scope, elm, attrs) {
|
link(scope, elm, attrs) {
|
||||||
scope.callSwitchTab = () => scope.switchTab();
|
scope.callSwitchTab = () => {
|
||||||
|
this.appState.setNavigation(true);
|
||||||
|
scope.switchTab()
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
app.directive('wzWelcomeCard',() => new WzWelcomeCard());
|
app.directive('wzWelcomeCard',(appState: any) => new WzWelcomeCard(appState));
|
@ -18,6 +18,7 @@ export class AppState {
|
|||||||
constructor($cookies, $window) {
|
constructor($cookies, $window) {
|
||||||
this.$cookies = $cookies;
|
this.$cookies = $cookies;
|
||||||
this.$window = $window;
|
this.$window = $window;
|
||||||
|
this.navigate = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Extensions setters and getters
|
//Extensions setters and getters
|
||||||
@ -134,4 +135,12 @@ export class AppState {
|
|||||||
removeSessionStorageItem(key) {
|
removeSessionStorageItem(key) {
|
||||||
this.$window.sessionStorage.removeItem(key);
|
this.$window.sessionStorage.removeItem(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setNavigation(state) {
|
||||||
|
this.navigate = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
getNavigation() {
|
||||||
|
return this.navigate;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,12 +10,12 @@
|
|||||||
<div layout="row" layout-padding>
|
<div layout="row" layout-padding>
|
||||||
<!-- If you're not on the Welcome tab, show a functional breadcrumb -->
|
<!-- If you're not on the Welcome tab, show a functional breadcrumb -->
|
||||||
<div ng-if="mctrl.tab !== 'welcome' && !mctrl.currentGroup">
|
<div ng-if="mctrl.tab !== 'welcome' && !mctrl.currentGroup">
|
||||||
<span class="wz-text-link cursor-pointer" ng-click="mctrl.switchTab('welcome')">Management</span>
|
<span class="wz-text-link cursor-pointer" ng-click="mctrl.switchTab('welcome', true)">Management</span>
|
||||||
<span> / {{ mctrl.tabNames[mctrl.tab] }}</span>
|
<span> / {{ mctrl.tabNames[mctrl.tab] }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div ng-if="mctrl.tab === 'groups' && mctrl.currentGroup && mctrl.currentGroup.name">
|
<div ng-if="mctrl.tab === 'groups' && mctrl.currentGroup && mctrl.currentGroup.name">
|
||||||
<span class="wz-text-link cursor-pointer" ng-click="mctrl.switchTab('welcome')">Management</span>
|
<span class="wz-text-link cursor-pointer" ng-click="mctrl.switchTab('welcome', true)">Management</span>
|
||||||
<span class="wz-text-link cursor-pointer" ng-click="mctrl.switchTab('groups')"> / {{ mctrl.tabNames[mctrl.tab] }}</span>
|
<span class="wz-text-link cursor-pointer" ng-click="mctrl.switchTab('groups', true)"> / {{ mctrl.tabNames[mctrl.tab] }}</span>
|
||||||
<span> / {{ mctrl.currentGroup.name }} </span>
|
<span> / {{ mctrl.currentGroup.name }} </span>
|
||||||
</div>
|
</div>
|
||||||
<!-- If you're on the Welcome tab, show a blank, simple breadcrumb -->
|
<!-- If you're on the Welcome tab, show a blank, simple breadcrumb -->
|
||||||
@ -34,8 +34,8 @@
|
|||||||
ng-show="mctrl.tab !== 'welcome'"
|
ng-show="mctrl.tab !== 'welcome'"
|
||||||
md-selected-nav-item="mctrl.tab"
|
md-selected-nav-item="mctrl.tab"
|
||||||
nav-bar-aria-label="Wazuh management navigation links">
|
nav-bar-aria-label="Wazuh management navigation links">
|
||||||
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('ruleset')" name="ruleset">Ruleset</md-nav-item>
|
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('ruleset', true)" name="ruleset">Ruleset</md-nav-item>
|
||||||
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('groups')" name="groups">Groups</md-nav-item>
|
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('groups', true)" name="groups">Groups</md-nav-item>
|
||||||
</md-nav-bar>
|
</md-nav-bar>
|
||||||
<!-- End Wazuh management navigation bar -->
|
<!-- End Wazuh management navigation bar -->
|
||||||
|
|
||||||
@ -46,9 +46,9 @@
|
|||||||
ng-show="mctrl.tab !== 'welcome'"
|
ng-show="mctrl.tab !== 'welcome'"
|
||||||
md-selected-nav-item="mctrl.tab"
|
md-selected-nav-item="mctrl.tab"
|
||||||
nav-bar-aria-label="Status and reports navigation links">
|
nav-bar-aria-label="Status and reports navigation links">
|
||||||
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('status')" name="status">Status</md-nav-item>
|
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('status', true)" name="status">Status</md-nav-item>
|
||||||
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('logs')" name="logs">Logs</md-nav-item>
|
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('logs', true)" name="logs">Logs</md-nav-item>
|
||||||
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('monitoring')" name="monitoring">Cluster</md-nav-item>
|
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('monitoring', true)" name="monitoring">Cluster</md-nav-item>
|
||||||
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('reporting')" name="reporting">Reporting</md-nav-item>
|
<md-nav-item class="wz-nav-item" md-nav-click="mctrl.switchTab('reporting', true)" name="reporting">Reporting</md-nav-item>
|
||||||
</md-nav-bar>
|
</md-nav-bar>
|
||||||
<!-- End Status and reports navigation bar -->
|
<!-- End Status and reports navigation bar -->
|
||||||
|
@ -17,17 +17,17 @@
|
|||||||
<div class="euiFlexGrid euiFlexGrid--gutterLarge euiFlexGrid--halves">
|
<div class="euiFlexGrid euiFlexGrid--gutterLarge euiFlexGrid--halves">
|
||||||
<wz-welcome-card
|
<wz-welcome-card
|
||||||
class="euiFlexItem" logo="'icons/ruleset.png'" title="'Ruleset'"
|
class="euiFlexItem" logo="'icons/ruleset.png'" title="'Ruleset'"
|
||||||
switch-tab="mctrl.switchTab('ruleset')" current-tab="'rules'"
|
switch-tab="mctrl.switchTab('ruleset', true)" current-tab="'rules'"
|
||||||
description="'Explore your Wazuh cluster ruleset.'"
|
description="'Explore your Wazuh cluster ruleset.'"
|
||||||
></wz-welcome-card>
|
></wz-welcome-card>
|
||||||
<wz-welcome-card
|
<wz-welcome-card
|
||||||
class="euiFlexItem" logo="'icons/groups.png'"
|
class="euiFlexItem" logo="'icons/groups.png'"
|
||||||
title="'Groups'" switch-tab="mctrl.switchTab('groups')" current-tab="'groups'"
|
title="'Groups'" switch-tab="mctrl.switchTab('groups', true)" current-tab="'groups'"
|
||||||
description="'Check your agent groups.'"
|
description="'Check your agent groups.'"
|
||||||
></wz-welcome-card>
|
></wz-welcome-card>
|
||||||
<wz-welcome-card
|
<wz-welcome-card
|
||||||
class="euiFlexItem" logo="'icons/app_devtools.svg'"
|
class="euiFlexItem" logo="'icons/app_devtools.svg'"
|
||||||
title="'Configuration'" switch-tab="mctrl.switchTab('configuration')" current-tab="'configuration'"
|
title="'Configuration'" switch-tab="mctrl.switchTab('configuration', true)" current-tab="'configuration'"
|
||||||
description="'Check your Wazuh cluster configuration.'"
|
description="'Check your Wazuh cluster configuration.'"
|
||||||
></wz-welcome-card>
|
></wz-welcome-card>
|
||||||
</div>
|
</div>
|
||||||
@ -40,22 +40,22 @@
|
|||||||
<div class="euiFlexGrid euiFlexGrid--gutterLarge euiFlexGrid--halves">
|
<div class="euiFlexGrid euiFlexGrid--gutterLarge euiFlexGrid--halves">
|
||||||
<wz-welcome-card
|
<wz-welcome-card
|
||||||
class="euiFlexItem" logo="'icons/app_monitoring.svg'" title="'Status'"
|
class="euiFlexItem" logo="'icons/app_monitoring.svg'" title="'Status'"
|
||||||
switch-tab="mctrl.switchTab('status')" current-tab="'status'"
|
switch-tab="mctrl.switchTab('status', true)" current-tab="'status'"
|
||||||
description="'Check your Wazuh cluster status.'"
|
description="'Check your Wazuh cluster status.'"
|
||||||
></wz-welcome-card>
|
></wz-welcome-card>
|
||||||
<wz-welcome-card
|
<wz-welcome-card
|
||||||
class="euiFlexItem" logo="'icons/app_logging.svg'" title="'Logs'"
|
class="euiFlexItem" logo="'icons/app_logging.svg'" title="'Logs'"
|
||||||
switch-tab="mctrl.switchTab('logs')" current-tab="'logs'"
|
switch-tab="mctrl.switchTab('logs', true)" current-tab="'logs'"
|
||||||
description="'Logs from your Wazuh cluster.'"
|
description="'Logs from your Wazuh cluster.'"
|
||||||
></wz-welcome-card>
|
></wz-welcome-card>
|
||||||
<wz-welcome-card
|
<wz-welcome-card
|
||||||
class="euiFlexItem" logo="'icons/app_index_pattern.svg'" title="'Cluster'"
|
class="euiFlexItem" logo="'icons/app_index_pattern.svg'" title="'Cluster'"
|
||||||
switch-tab="mctrl.switchTab('monitoring')" current-tab="'monitoring'"
|
switch-tab="mctrl.switchTab('monitoring', true)" current-tab="'monitoring'"
|
||||||
description="'Visualize your Wazuh cluster.'"
|
description="'Visualize your Wazuh cluster.'"
|
||||||
></wz-welcome-card>
|
></wz-welcome-card>
|
||||||
<wz-welcome-card
|
<wz-welcome-card
|
||||||
class="euiFlexItem" logo="'icons/reporting.png'" title="'Reporting'"
|
class="euiFlexItem" logo="'icons/reporting.png'" title="'Reporting'"
|
||||||
switch-tab="mctrl.switchTab('reporting')" current-tab="'reporting'"
|
switch-tab="mctrl.switchTab('reporting', true)" current-tab="'reporting'"
|
||||||
description="'Check your stored Wazuh reports.'"
|
description="'Check your stored Wazuh reports.'"
|
||||||
></wz-welcome-card>
|
></wz-welcome-card>
|
||||||
</div>
|
</div>
|
||||||
|
@ -31,11 +31,11 @@
|
|||||||
class="wz-nav-bar"
|
class="wz-nav-bar"
|
||||||
md-selected-nav-item="ctrl.tab"
|
md-selected-nav-item="ctrl.tab"
|
||||||
nav-bar-aria-label="Settings navigation links">
|
nav-bar-aria-label="Settings navigation links">
|
||||||
<md-nav-item class="wz-nav-item" md-nav-click="ctrl.switchTab('api')" name="api">API</md-nav-item>
|
<md-nav-item class="wz-nav-item" md-nav-click="ctrl.switchTab('api', true)" name="api">API</md-nav-item>
|
||||||
<md-nav-item class="wz-nav-item" ng-if="ctrl.apiEntries && ctrl.apiEntries.length" md-nav-click="ctrl.switchTab('extensions')" name="extensions">Extensions</md-nav-item>
|
<md-nav-item class="wz-nav-item" ng-if="ctrl.apiEntries && ctrl.apiEntries.length" md-nav-click="ctrl.switchTab('extensions', true)" name="extensions">Extensions</md-nav-item>
|
||||||
<md-nav-item class="wz-nav-item" md-nav-click="ctrl.switchTab('pattern')" name="pattern">Pattern</md-nav-item>
|
<md-nav-item class="wz-nav-item" md-nav-click="ctrl.switchTab('pattern', true)" name="pattern">Pattern</md-nav-item>
|
||||||
<md-nav-item class="wz-nav-item" md-nav-click="ctrl.switchTab('configuration')" name="configuration">Configuration</md-nav-item>
|
<md-nav-item class="wz-nav-item" md-nav-click="ctrl.switchTab('configuration', true)" name="configuration">Configuration</md-nav-item>
|
||||||
<md-nav-item class="wz-nav-item" md-nav-click="ctrl.switchTab('logs'); ctrl.refreshLogs()" name="logs">Logs</md-nav-item>
|
<md-nav-item class="wz-nav-item" md-nav-click="ctrl.switchTab('logs', true); ctrl.refreshLogs()" name="logs">Logs</md-nav-item>
|
||||||
<md-nav-item class="wz-nav-item" md-nav-click="ctrl.switchTab('about')" name="about">About</md-nav-item>
|
<md-nav-item class="wz-nav-item" md-nav-click="ctrl.switchTab('about', true)" name="about">About</md-nav-item>
|
||||||
</md-nav-bar>
|
</md-nav-bar>
|
||||||
<!-- End navigation bar -->
|
<!-- End navigation bar -->
|
||||||
|
Loading…
Reference in New Issue
Block a user