1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/**
* 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.
*/
define(['require',
'backbone',
'hbs!tmpl/common/Statistics_tmpl',
'modules/Modal',
'models/VCommon',
'utils/UrlLinks',
'collection/VTagList',
'utils/CommonViewFunction'
], function(require, Backbone, StatTmpl, Modal, VCommon, UrlLinks, VTagList, CommonViewFunction) {
'use strict';
var StatisticsView = Backbone.Marionette.LayoutView.extend(
/** @lends AboutAtlasView */
{
template: StatTmpl,
/** Layout sub regions */
regions: {},
/** ui selector cache */
ui: {
entityActive: "[data-id='entityActive'] tbody",
entityDelete: "[data-id='entityDelete'] tbody",
entityActiveHeader: "[data-id='entityActive'] .count",
entityDeletedHeader: "[data-id='entityDelete'] .count"
},
/** ui events hash */
events: function() {},
/**
* intialize a new AboutAtlasView Layout
* @constructs
*/
initialize: function(options) {
_.extend(this, options);
var modal = new Modal({
title: 'Statistics',
content: this,
okCloses: true,
showFooter: true,
allowCancel: false
}).open();
modal.on('closeModal', function() {
modal.trigger('cancel');
});
},
bindEvents: function() {},
onRender: function() {
var that = this;
var entityCountCollection = new VTagList();
entityCountCollection.url = UrlLinks.entityCountApi();
entityCountCollection.modelAttrName = "data";
entityCountCollection.fetch({
success: function(data) {
var data = _.first(data.toJSON()),
no_records = '<tr class="empty text-center"><td colspan="2"><span>No records found!</span></td></tr>',
activeEntityTable = _.isEmpty(data.entity.entityActive) ? no_records : that.getTable({ valueObject: data.entity.entityActive }),
deleteEntityTable = _.isEmpty(data.entity.entityDeleted) ? no_records : that.getTable({ valueObject: data.entity.entityDeleted });
var totalActive = 0,
totalDeleted = 0;
if (data.entity && data.general.entityCount) {
totalActive = data.general.entityCount;
}
if (data.entity && data.entity.entityDeleted) {
_.each(data.entity.entityDeleted, function(val) {
totalDeleted += val;
});
}
that.ui.entityActive.html(activeEntityTable);
that.ui.entityDelete.html(deleteEntityTable);
that.ui.entityActiveHeader.html(" (" + _.numberFormatWithComa((totalActive - totalDeleted)) + ")");
that.ui.entityDeletedHeader.html(" (" + _.numberFormatWithComa(totalDeleted) + ")");
}
});
},
getTable: function(obj) {
return CommonViewFunction.propertyTable(_.extend({ scope: this, formatIntVal: true }, obj))
}
});
return StatisticsView;
});