3 * Copyright 2016 RIFT.IO Inc
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 import _
from 'lodash';
19 import LoggingActions
from './loggingActions.js';
20 import LoggingSource
from './loggingSource.js';
22 import alt
from 'widgets/skyquake_container/skyquakeAltInstance';
26 this.loggingConfig
= {};
27 // initialLoggingConfig is the saved state
28 this.initialLoggingConfig
= {};
29 this.bindActions(LoggingActions
);
30 this.registerAsync(LoggingSource
);
31 this.exportPublicMethods({
32 updateCategoryDefaultSeverity
: this.updateCategoryDefaultSeverity
,
33 updateAllowDuplicateEvents
: this.updateAllowDuplicateEvents
,
34 addDenyEvent
: this.addDenyEvent
,
35 updateDenyEvent
: this.updateDenyEvent
,
36 removeDenyEvent
: this.removeDenyEvent
,
37 updateSyslogViewerURL
: this.updateSyslogViewerURL
,
38 resetLoggingConfigData
: this.resetLoggingConfigData
42 getLoggingConfigSuccess
= (data
) => {
43 console
.log("LoggingStore.getLoggingConfigSuccess called. data=", data
);
44 // Do we need to do a deep clone?
45 const initialLoggingConfig
= _
.cloneDeep(data
);
46 console
.log("initialLoggingConfig=", initialLoggingConfig
);
49 initialLoggingConfig
: initialLoggingConfig
,
54 getLoggingConfigError(data
) {
55 console
.log("LoggongStore.getLoggingConfigError called. data=", data
);
58 putLoggingConfigSuccess
= (data
) => {
59 console
.log("LoggingStore.putLoggingConfigSuccess called. data=", data
);
60 const initialLoggingConfig
= _
.cloneDeep(this.loggingConfig
);
63 initialLoggingConfig
: initialLoggingConfig
67 putLoggingConfigError(data
) {
68 console
.log("LoggingStore.putLoggingConfigError called. data=", data
);
71 resetLoggingConfigData
= (data
) => {
72 console
.log('LoggingStore.resetLoggingConfigData called. data=', data
);
73 // Do we need to do a deep clone?
74 const loggingConfig
= _
.cloneDeep(this.initialLoggingConfig
);
76 loggingConfig
: loggingConfig
80 updateCategoryDefaultSeverity
= (catsev
) => {
81 console
.log("LoggingStore.updateCategoryDefaultSeverity:", catsev
);
84 let catIndex
= _
.findIndex(this.loggingConfig
.defaultSeverities
, function(o
) {
85 return o
.category
== catsev
.category
;
87 console
.log("catIndex=", catIndex
);
89 const loggingConfig
= this.loggingConfig
;
90 loggingConfig
.defaultSeverities
[catIndex
].severity
= catsev
.severity
;
93 loggingConfig
: loggingConfig
96 console
.log("ERROR: catIndex not founds for default category", catsev
.category
);
100 updateAllowDuplicateEvents
= (allowFlag
) => {
101 console
.log("LoggingStore.updateAllowDuplicateEvents called. allowFlag=", allowFlag
);
102 const loggingConfig
= this.loggingConfig
;
103 loggingConfig
.allowDuplicateEvents
= allowFlag
;
105 loggingConfig
: loggingConfig
110 * Add a new empty (null) deny event to loggingConfig
112 addDenyEvent
= (event
) => {
113 const loggingConfig
= this.loggingConfig
;
114 loggingConfig
.denyEventIDs
.push(null);
116 loggingConfig
: loggingConfig
123 updateDenyEvent
= (index
, eventID
) => {
124 //console.log("LoggingStore.updateDenyEventID: index=", index);
125 //console.log(" -> eventID=", eventID);
127 const loggingConfig
= this.loggingConfig
;
128 loggingConfig
.denyEventIDs
[index
] = eventID
;
130 loggingConfig
: loggingConfig
137 removeDenyEvent
= (index
) => {
138 // console.log("LoggingStore.removeDenyEvent at index %s", index);
139 const loggingConfig
= this.loggingConfig
;
140 // Note: we are not validating index
141 loggingConfig
.denyEventIDs
.splice(index
, 1);
143 loggingConfig
: loggingConfig
150 updateSyslogViewerURL
= (syslogViewerURL
) => {
151 const loggingConfig
= this.loggingConfig
;
152 loggingConfig
.syslogviewer
= syslogViewerURL
;
154 loggingConfig
: loggingConfig
159 export default alt
.createStore(LoggingStore
);