1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with this
- * work for additional information regarding copyright ownership. The ASF
- * licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
- var App = require('app');
- App.alertDefinitionSummaryMapper = App.QuickDataMapper.create({
- config: {},
- map: function(data) {
- if (!data.alerts_summary_grouped) return;
- var alertDefinitions = App.AlertDefinition.getAllDefinitions();
- data.alerts_summary_grouped.forEach(function(alertDefinitionSummary) {
- var alertDefinition = alertDefinitions.findProperty('id', alertDefinitionSummary.definition_id);
- if (alertDefinition) {
- var summary = {},
- timestamp = 0;
- Em.keys(alertDefinitionSummary.summary).forEach(function(status) {
- summary[status] = alertDefinitionSummary.summary[status].count;
- if (alertDefinitionSummary.summary[status].original_timestamp > timestamp) {
- timestamp = alertDefinitionSummary.summary[status].original_timestamp;
- }
- });
- alertDefinition.setProperties({
- summary: summary,
- lastTriggered: parseInt(timestamp)
- });
- }
- });
- // clear summary for disabled alert definitions
- alertDefinitions.forEach(function (definition) {
- if (!definition.get('enabled')) {
- definition.set('summary', {});
- }
- });
- }
- });
|