http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/package.json ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/package.json b/metron-interface/metron-alerts/package.json index cb6f170..0a40f0d 100644 --- a/metron-interface/metron-alerts/package.json +++ b/metron-interface/metron-alerts/package.json @@ -9,7 +9,7 @@ "lint": "tslint \"src/**/*.ts\"", "test": "./node_modules/@angular/cli/bin/ng test --watch=false", "pree2e": "webdriver-manager update", - "e2e": "protractor" + "e2e": "protractor-flake --protractor-path=./node_modules/.bin/protractor --max-attempts=3 -- ./protractor.conf.js" }, "private": true, "dependencies": { @@ -21,7 +21,6 @@ "@angular/platform-browser": "^4.0.0", "@angular/platform-browser-dynamic": "^4.0.0", "@angular/router": "^4.0.0", - "@types/moment": "^2.13.0", "ace-builds": "^1.2.6", "bootstrap": "4.0.0-alpha.6", "core-js": "^2.4.1", @@ -37,6 +36,7 @@ "@angular/cli": "1.2.4", "@angular/compiler-cli": "^4.0.0", "@types/ace": "0.0.32", + "@types/es6-promise": "0.0.33", "@types/jasmine": "2.5.38", "@types/moment": "^2.13.0", "@types/node": "~6.0.60", @@ -56,9 +56,11 @@ "karma-jasmine-html-reporter": "^0.2.2", "node-sass": "^4.5.0", "optimist": "0.6.1", - "protractor": "~5.1.0", + "protractor": "5.3.0", + "protractor-flake": "^3.3.0", "serve-favicon": "2.4.2", "serve-static": "1.12.1", + "ssh2": "^0.5.5", "ts-node": "~2.0.0", "tslint": "~4.5.0", "typescript": "~2.2.0"
http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/protractor.conf.js ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/protractor.conf.js b/metron-interface/metron-alerts/protractor.conf.js index 82f5c09..219a8b4 100644 --- a/metron-interface/metron-alerts/protractor.conf.js +++ b/metron-interface/metron-alerts/protractor.conf.js @@ -23,7 +23,7 @@ var SpecReporter = require('jasmine-spec-reporter').SpecReporter; exports.config = { - allScriptsTimeout: 25000, + allScriptsTimeout: 15000, specs: [ './e2e/login/login.e2e-spec.ts', './e2e/alerts-list/alerts-list.e2e-spec.ts', @@ -38,6 +38,7 @@ exports.config = { capabilities: { 'browserName': 'chrome', 'chromeOptions': { + args: ["--disable-gpu", "--window-size=1435,850", "--headless" ], 'prefs': { 'credentials_enable_service': false, 'profile': { 'password_manager_enabled': false} @@ -50,27 +51,27 @@ exports.config = { jasmineNodeOpts: { showColors: true, defaultTimeoutInterval: 50000, - print: function() {} + includeStackTrace: true }, - useAllAngular2AppRoots: true, - rootElement: 'metron-alerts-root', beforeLaunch: function() { require('ts-node').register({ project: 'e2e' }); }, onPrepare: function() { - var createMetaAlertsIndex = require('./e2e/utils/e2e_util').createMetaAlertsIndex; - createMetaAlertsIndex(); - jasmine.getEnv().addReporter(new SpecReporter()); - setTimeout(function() { - browser.driver.executeScript(function() { - return { - width: window.screen.availWidth, - height: window.screen.availHeight - }; - }).then(function(result) { - browser.driver.manage().window().setSize(result.width, result.height); + + jasmine.getEnv().addReporter(new SpecReporter({spec: {displayStacktrace: true}})); + + return new Promise(function(resolve, reject) { + var cleanMetronUpdateTable = require('./e2e/utils/clean_metron_update_table').cleanMetronUpdateTable; + var createMetaAlertsIndex = require('./e2e/utils/e2e_util').createMetaAlertsIndex; + cleanMetronUpdateTable() + .then(function() { + createMetaAlertsIndex(); + resolve(); + }) + .catch(function (error) { + reject(); }); }); }, http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/app/alerts/alerts-list/alert-filters/alert-filters.component.ts ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/app/alerts/alerts-list/alert-filters/alert-filters.component.ts b/metron-interface/metron-alerts/src/app/alerts/alerts-list/alert-filters/alert-filters.component.ts index 12d98e7..a448e3e 100644 --- a/metron-interface/metron-alerts/src/app/alerts/alerts-list/alert-filters/alert-filters.component.ts +++ b/metron-interface/metron-alerts/src/app/alerts/alerts-list/alert-filters/alert-filters.component.ts @@ -52,4 +52,4 @@ export class AlertFiltersComponent implements OnChanges { onFacetFilterSelect($event) { this.facetFilterChange.emit($event); } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.html ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.html b/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.html index adda4ab..77f24d5 100644 --- a/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.html +++ b/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.html @@ -46,15 +46,15 @@ <div class="btn cog"> <i class="fa fa-cog configure-table-icon" (click)="showConfigureTable()"></i> </div> - <div class="btn settings"> - <i #settingsIcon class="fa fa-sliders" aria-hidden="true"></i> + <div #settingsIcon class="btn settings"> + <i class="fa fa-sliders" aria-hidden="true"></i> </div> <app-configure-rows [srcElement]="settingsIcon" [tableMetaData]="tableMetaData" [(interval)]="refreshInterval" [(size)]="tableMetaData.size" (configRowsChange)="onConfigRowsChange()" > </app-configure-rows> <div class="btn pause-play" (click)="onPausePlay()"> <i *ngIf="!pauseRefresh" class="fa fa-pause" aria-hidden="true"></i> <i *ngIf="pauseRefresh" class="fa fa-play" aria-hidden="true"></i> </div> - <div class="dropdown d-inline-block"> + <div id="table-actions" class="dropdown d-inline-block"> <button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">ACTIONS</button> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton"> <span class="dropdown-item" [class.disabled]="selectedAlerts.length == 0" (click)="processOpen()">Open</span> @@ -74,7 +74,7 @@ <div class="px-0" style="width: 200px;max-width: 200px;"> <app-alert-filters [facets]="searchResponse.facetCounts" (facetFilterChange)="onAddFacetFilter($event)"> </app-alert-filters> </div> - <div class="col px-0 ml-4"> + <div class="col px-0 pl-4" style="overflow: auto;"> <div class="col-xs-12 pl-0 pb-3"> <app-group-by [facets]="groupFacets" (groupsChange)="onGroupsChange($event)"> </app-group-by> </div> http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.scss ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.scss b/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.scss index 01b8f9a..fe2f54c 100644 --- a/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.scss +++ b/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.scss @@ -209,7 +209,8 @@ $searchbox-height: 42px; height: 38px; padding: 0px; line-height: 40px; - margin-left: 15px; + padding-left: 7px; + padding-right: 7px; color: $dove-grey-1; cursor: pointer; http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.ts ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.ts b/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.ts index 4496e37..c13b7d4 100644 --- a/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.ts +++ b/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.ts @@ -36,7 +36,7 @@ import {AlertSearchDirective} from '../../shared/directives/alert-search.directi import {SearchResponse} from '../../model/search-response'; import {ElasticsearchUtils} from '../../utils/elasticsearch-utils'; import {Filter} from '../../model/filter'; -import {TIMESTAMP_FIELD_NAME, ALL_TIME} from '../../utils/constants'; +import { TIMESTAMP_FIELD_NAME, ALL_TIME, POLLING_DEFAULT_STATE } from '../../utils/constants'; import {TableViewComponent} from './table-view/table-view.component'; import {Pagination} from '../../model/pagination'; import {META_ALERTS_SENSOR_TYPE, META_ALERTS_INDEX} from '../../utils/constants'; @@ -60,7 +60,7 @@ export class AlertsListComponent implements OnInit, OnDestroy { colNumberTimerId: number; refreshInterval = RefreshInterval.ONE_MIN; refreshTimer: Subscription; - pauseRefresh = false; + pauseRefresh = POLLING_DEFAULT_STATE; lastPauseRefreshValue = false; isMetaAlertPresentInSelectedAlerts = false; timeStampfilterPresent = false; http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/app/alerts/alerts-list/tree-view/tree-view.component.html ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/app/alerts/alerts-list/tree-view/tree-view.component.html b/metron-interface/metron-alerts/src/app/alerts/alerts-list/tree-view/tree-view.component.html index 34c0ad7..fa0baaa 100644 --- a/metron-interface/metron-alerts/src/app/alerts/alerts-list/tree-view/tree-view.component.html +++ b/metron-interface/metron-alerts/src/app/alerts/alerts-list/tree-view/tree-view.component.html @@ -44,7 +44,7 @@ <metron-config-sorter [type]="column.type" [sortBy]="column.name" title="{{column.name}}" [sortOnCol]="group.sortEvent.sortBy" [sortOrder]="group.sortEvent.sortOrder"> {{ column.name | columnNameTranslate | centerEllipses:15 }}</metron-config-sorter> </th> <th style="width: 15px"></th> - <th style="width:25px"><input id="select-deselect-all-{{ group.key }}" class="fontawesome-checkbox" type="checkbox" (click)="selectAllGroupRows($event, group)"> + <th style="width:15px"><input id="select-deselect-all-{{ group.key }}" class="fontawesome-checkbox" type="checkbox" (click)="selectAllGroupRows($event, group)"> <label for="select-deselect-all-{{ group.key }}"></label> </th> </tr> @@ -81,7 +81,7 @@ <i class="fa" aria-hidden="true" [ngClass]="{'fa-caret-down': subGroup.expand, 'fa-caret-right': !subGroup.expand}"></i> </span> <span class="score" appAlertSeverity [severity]="subGroup.score"> {{ subGroup.score }} </span> - <span class="group-value"> <span class="text-light"> {{ subGroup.key }} </span> ({{ subGroup.total}})</span> + <span class="group-value"> <span class="text-light">{{ subGroup.key }}</span> ({{ subGroup.total }})</span> </td> <td> <i style="color: #32ABDF;" class="fa fa-link" aria-hidden="true" (click)="createMetaAlert($event, subGroup, i)" data-animation="false" data-toggle="tooltip" data-placement="left" title="Merge Alerts"></i> http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/app/alerts/configure-rows/configure-rows.component.ts ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/app/alerts/configure-rows/configure-rows.component.ts b/metron-interface/metron-alerts/src/app/alerts/configure-rows/configure-rows.component.ts index 9204ebf..d5fb44d 100644 --- a/metron-interface/metron-alerts/src/app/alerts/configure-rows/configure-rows.component.ts +++ b/metron-interface/metron-alerts/src/app/alerts/configure-rows/configure-rows.component.ts @@ -70,7 +70,7 @@ export class ConfigureRowsComponent { return; } - if (targetElement === this.srcElement) { + if (targetElement === this.srcElement || this.srcElement.contains(targetElement)) { this.showView = !this.showView; return; } http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/app/alerts/saved-searches/saved-searches.component.html ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/app/alerts/saved-searches/saved-searches.component.html b/metron-interface/metron-alerts/src/app/alerts/saved-searches/saved-searches.component.html index 6311817..71fb1db 100644 --- a/metron-interface/metron-alerts/src/app/alerts/saved-searches/saved-searches.component.html +++ b/metron-interface/metron-alerts/src/app/alerts/saved-searches/saved-searches.component.html @@ -21,9 +21,9 @@ </div> <div> - <metron-collapse [data]="recentSearches" [fontSize]="15" [titleSeperator]="true" + <metron-collapse [data]="recentSearches" [fontSize]="15" [titleSeperator]="true" data-name="recent-searches" (onSelect)="onSaveRecentSearchSelect($event)" (onDelete)="deleteRecentSearch($event)"> </metron-collapse> - <metron-collapse [data]="savedSearches" [fontSize]="15" [titleSeperator]="true" [deleteOption]="true" + <metron-collapse [data]="savedSearches" [fontSize]="15" [titleSeperator]="true" [deleteOption]="true" data-name="saved-searches" (onSelect)="onSaveSearchSelect($event)" (onDelete)="deleteSearch($event)"> </metron-collapse> </div> </div> http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/app/shared/group-by/group-by.component.html ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/app/shared/group-by/group-by.component.html b/metron-interface/metron-alerts/src/app/shared/group-by/group-by.component.html index 3b12cd8..954c923 100644 --- a/metron-interface/metron-alerts/src/app/shared/group-by/group-by.component.html +++ b/metron-interface/metron-alerts/src/app/shared/group-by/group-by.component.html @@ -14,7 +14,7 @@ <div class='wrapper'> <div class="mrow"> <div class="group mr-2"> Group By </div> - <div class='container col mx-0 px-0' [dragula]='"group-bag"' [dragulaModel]='data' [dragulaOptions]="{direction: 'horizontal', removeOnSpill: false}"> + <div class='container col mx-0 px-0' [dragula]='"group-bag"' [dragulaModel]='data' [dragulaOptions]="{direction: 'horizontal', removeOnSpill: false, ignoreInputTextSelection: false}"> <div #dragEle class="group-by-items" *ngFor="let group of data" (click)="selectGroup(group)" [attr.data-name]="group.name" data-animation="false" data-toggle="tooltip" data-placement="bottom" title="Drag to Sort" [ngClass]="{'active': group.selected}"> http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/app/shared/time-range/time-range.component.html ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/app/shared/time-range/time-range.component.html b/metron-interface/metron-alerts/src/app/shared/time-range/time-range.component.html index b65528d..fed679a 100644 --- a/metron-interface/metron-alerts/src/app/shared/time-range/time-range.component.html +++ b/metron-interface/metron-alerts/src/app/shared/time-range/time-range.component.html @@ -12,8 +12,8 @@ the specific language governing permissions and limitations under the License. --> <button class="btn btn-secondary btn-search" [disabled]="disabled" type="button" data-animation="false" data-toggle="collapse" data-target="#time-range" aria-expanded="false" aria-controls="time-range"> - <span> {{selectedTimeRangeValue}} </span> - <br/> <span style="font-size: 8px;" *ngIf="selectedTimeRangeValue !== 'All time'"> {{fromDateStr}} to {{toDateStr}}</span> + <span class="time-range-text"> {{selectedTimeRangeValue}} </span> + <br/> <span class="time-range-value"> {{ selectedTimeRangeValue === 'All time' ? '' : fromDateStr +' to ' + toDateStr }}</span> </button> <div #datePicker class="collapse" id="time-range"> @@ -38,16 +38,16 @@ <div class="title"> Quick Ranges </div> <br> <div class="row no-gutters"> <div class="col-3"> - <span *ngFor="let key of timeRangeMappingCol1 | mapKeys" (click)="selectTimeRange($event, timeRangeMappingCol1[key])"> {{ key }} </span> <br> + <span *ngFor="let key of timeRangeMappingCol1 | mapKeys" (click)="selectTimeRange($event, timeRangeMappingCol1[key])" [attr.id]="timeRangeMappingCol1[key]"> {{ key }} </span> <br> </div> <div class="col-3"> - <span *ngFor="let key of timeRangeMappingCol2 | mapKeys" (click)="selectTimeRange($event, timeRangeMappingCol2[key])"> {{ key }} </span> <br> + <span *ngFor="let key of timeRangeMappingCol2 | mapKeys" (click)="selectTimeRange($event, timeRangeMappingCol2[key])" [attr.id]="timeRangeMappingCol2[key]"> {{ key }} </span> <br> </div> <div class="col-3"> - <span *ngFor="let key of timeRangeMappingCol3 | mapKeys" (click)="selectTimeRange($event, timeRangeMappingCol3[key])"> {{ key }} </span> <br> + <span *ngFor="let key of timeRangeMappingCol3 | mapKeys" (click)="selectTimeRange($event, timeRangeMappingCol3[key])" [attr.id]="timeRangeMappingCol3[key]"> {{ key }} </span> <br> </div> <div class="col-3"> - <span *ngFor="let key of timeRangeMappingCol4 | mapKeys" (click)="selectTimeRange($event, timeRangeMappingCol4[key])"> {{ key }} </span> <br> + <span *ngFor="let key of timeRangeMappingCol4 | mapKeys" (click)="selectTimeRange($event, timeRangeMappingCol4[key])" [attr.id]="timeRangeMappingCol4[key]"> {{ key }} </span> <br> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/app/shared/time-range/time-range.component.scss ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/app/shared/time-range/time-range.component.scss b/metron-interface/metron-alerts/src/app/shared/time-range/time-range.component.scss index 7f5faf0..ef75525 100644 --- a/metron-interface/metron-alerts/src/app/shared/time-range/time-range.component.scss +++ b/metron-interface/metron-alerts/src/app/shared/time-range/time-range.component.scss @@ -103,4 +103,8 @@ form { margin-top: 5px; +} + +.time-range-value { + font-size: 8px; } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/app/utils/constants.ts ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/app/utils/constants.ts b/metron-interface/metron-alerts/src/app/utils/constants.ts index ea50b14..bfa04bc 100644 --- a/metron-interface/metron-alerts/src/app/utils/constants.ts +++ b/metron-interface/metron-alerts/src/app/utils/constants.ts @@ -35,5 +35,6 @@ export let CUSTOMM_DATE_RANGE_LABEL = 'Date Range'; export let TREE_SUB_GROUP_SIZE = 5; export let INDEXES = environment.indices ? environment.indices.split(',') : []; +export let POLLING_DEFAULT_STATE = environment.defaultPollingState; export let MAX_ALERTS_IN_META_ALERTS = 350; http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/environments/environment.e2e.ts ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/environments/environment.e2e.ts b/metron-interface/metron-alerts/src/environments/environment.e2e.ts index df414b1..ebede73 100644 --- a/metron-interface/metron-alerts/src/environments/environment.e2e.ts +++ b/metron-interface/metron-alerts/src/environments/environment.e2e.ts @@ -17,5 +17,6 @@ */ export const environment = { production: false, - indices: 'alerts_ui_e2e,metaalert' + indices: 'alerts_ui_e2e,metaalert', + defaultPollingState: true }; http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/environments/environment.js ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/environments/environment.js b/metron-interface/metron-alerts/src/environments/environment.js index acb2f54..29adadc 100644 --- a/metron-interface/metron-alerts/src/environments/environment.js +++ b/metron-interface/metron-alerts/src/environments/environment.js @@ -1,3 +1,4 @@ +"use strict"; /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -19,7 +20,8 @@ // The build system defaults to the dev environment which uses `environment.ts`, but if you do // `ng build --env=prod` then `environment.prod.ts` will be used instead. // The list of which env maps to which file can be found in `angular-cli.json`. -"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); exports.environment = { - production: false + production: false, + indices: null }; http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/environments/environment.prod.ts ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/environments/environment.prod.ts b/metron-interface/metron-alerts/src/environments/environment.prod.ts index 04e62a9..5f082a8 100644 --- a/metron-interface/metron-alerts/src/environments/environment.prod.ts +++ b/metron-interface/metron-alerts/src/environments/environment.prod.ts @@ -17,5 +17,6 @@ */ export const environment = { production: true, - indices: null + indices: null, + defaultPollingState: false }; http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/environments/environment.ts ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/environments/environment.ts b/metron-interface/metron-alerts/src/environments/environment.ts index 91fdbaf..b079ab8 100644 --- a/metron-interface/metron-alerts/src/environments/environment.ts +++ b/metron-interface/metron-alerts/src/environments/environment.ts @@ -22,5 +22,6 @@ export const environment = { production: false, - indices: null + indices: null, + defaultPollingState: false }; http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/index.html ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/index.html b/metron-interface/metron-alerts/src/index.html index 7795faa..e63e9bd 100644 --- a/metron-interface/metron-alerts/src/index.html +++ b/metron-interface/metron-alerts/src/index.html @@ -22,7 +22,7 @@ <link rel="icon" type="image/x-icon" href="favicon.ico"> <link rel="stylesheet" type="text/css" href="assets/fonts/font.css"> </head> -<body> +<body class="notransition"> <metron-alerts-root>Loading...</metron-alerts-root> </body> </html> http://git-wip-us.apache.org/repos/asf/metron/blob/436cec43/metron-interface/metron-alerts/src/styles.scss ---------------------------------------------------------------------- diff --git a/metron-interface/metron-alerts/src/styles.scss b/metron-interface/metron-alerts/src/styles.scss index e9e1d51..687ad14 100644 --- a/metron-interface/metron-alerts/src/styles.scss +++ b/metron-interface/metron-alerts/src/styles.scss @@ -326,3 +326,13 @@ $background_color_3: #2196F3; } } +.notransition * { + -webkit-transition: none !important; + -moz-transition: none !important; + -o-transition: none !important; + -ms-transition: none !important; + transition: none !important; + + animation: none !important; +} +
