@@ -82,7 +82,7 @@ jQuery(document).ready(
82
82
self . rulesBindingList . splice ( context . $index ( ) , 1 ) ;
83
83
if ( self . rulesBindingList ( ) . length == 0 ) {
84
84
window . logMessages ( "Deleted all rule types, but we need atleast one Rule type, Here add default rule type" ) ;
85
- self . rulesBindingList . push ( ruleTemplate ) ;
85
+ self . rulesBindingList . push ( JSON . parse ( JSON . stringify ( ruleTemplate ) ) ) ;
86
86
}
87
87
} ;
88
88
@@ -169,44 +169,13 @@ jQuery(document).ready(
169
169
170
170
var vm = new AppViewModel ( [ ] ) ;
171
171
ko . applyBindings ( vm , $ ( "#submitButton" ) [ 0 ] ) ;
172
- vm . rulesBindingList . push ( ruleTemplate ) ;
172
+ vm . rulesBindingList . push ( JSON . parse ( JSON . stringify ( ruleTemplate ) ) ) ;
173
173
vm . eventsBindingList . push ( { } ) ;
174
174
175
175
ko . applyBindings ( vm , $ ( "#testRulesDOMObject" ) [ 0 ] ) ;
176
176
ko . applyBindings ( vm , $ ( "#testEventsDOMObject" ) [ 0 ] ) ;
177
177
178
- function validateRulesJsonAndCreateSubscriptions ( subscriptionFile ) {
179
- var reader = new FileReader ( ) ;
180
- reader . onload = function ( ) {
181
- var fileContent = reader . result ;
182
- var jsonLintResult = "" ;
183
- try {
184
- jsonLintResult = jsonlint . parse ( fileContent ) ;
185
- } catch ( e ) {
186
- window . logMessages ( "JSON Format Check Failed:\n" + e . name + "\n" + e . message ) ;
187
- return false ;
188
- }
189
- $ . jGrowl ( 'JSON Format Check Succeeded' , {
190
- sticky : false ,
191
- theme : 'Notify'
192
- } ) ;
193
-
194
- var rulesList = JSON . parse ( fileContent ) ;
195
- ko . cleanNode ( $ ( "#testRulesDOMObject" ) [ 0 ] ) ;
196
- ko . cleanNode ( $ ( "#submitButton" ) [ 0 ] ) ;
197
- $ ( "#testRulesDOMObject" ) . css ( 'min-height' , $ ( ".navbar-sidenav" ) . height ( ) - 180 ) ;
198
- vm . rulesBindingList . removeAll ( ) ;
199
- $ ( '.rulesListDisplay > div:gt(0)' ) . remove ( ) ;
200
- vm . rulesBindingList = ko . observableArray ( rulesList ) ;
201
- ko . applyBindings ( vm , $ ( "#testRulesDOMObject" ) [ 0 ] ) ;
202
- ko . applyBindings ( vm , $ ( "#submitButton" ) [ 0 ] ) ;
203
- closeTooltip ( ) ;
204
- loadTooltip ( ) ;
205
- } ;
206
- reader . readAsText ( subscriptionFile ) ;
207
- }
208
-
209
- function validateEventsJsonAndCreateSubscriptions ( subscriptionFile ) {
178
+ function validateJSONAndUpload ( subscriptionFile , isRules ) {
210
179
var reader = new FileReader ( ) ;
211
180
reader . onload = function ( ) {
212
181
var fileContent = reader . result ;
@@ -221,30 +190,36 @@ jQuery(document).ready(
221
190
sticky : false ,
222
191
theme : 'Notify'
223
192
} ) ;
224
- var eventsList = JSON . parse ( fileContent ) ;
225
- ko . cleanNode ( $ ( "#testEventsDOMObject" ) [ 0 ] ) ;
226
- vm . eventsBindingList . removeAll ( ) ;
227
- $ ( '.eventsListDisplay > div:gt(0)' ) . remove ( ) ;
228
- vm . eventsBindingList = ko . observableArray ( eventsList ) ;
229
- ko . applyBindings ( vm , $ ( "#testEventsDOMObject" ) [ 0 ] ) ;
230
- closeTooltip ( ) ;
231
- loadTooltip ( ) ;
193
+
194
+ var list = JSON . parse ( fileContent ) ;
195
+
196
+ if ( isRules == true ) {
197
+ vm . rulesBindingList ( [ ] ) ;
198
+ vm . rulesBindingList ( list ) ;
199
+ } else {
200
+ vm . eventsBindingList ( [ ] ) ;
201
+ vm . eventsBindingList ( list ) ;
202
+ }
203
+
232
204
} ;
233
- reader . readAsText ( subscriptionFile ) ;
205
+
206
+ if ( subscriptionFile != null ) {
207
+ reader . readAsText ( subscriptionFile ) ;
208
+ }
234
209
}
235
210
236
211
//Set onchange event on the input element "uploadRulesFile" and "uploadEventsFile"
237
212
var pomRules = document . getElementById ( 'uploadRulesFile' ) ;
238
213
pomRules . onchange = function uploadFinished ( ) {
239
214
var subscriptionFile = pomRules . files [ 0 ] ;
240
- validateRulesJsonAndCreateSubscriptions ( subscriptionFile ) ;
215
+ validateJSONAndUpload ( subscriptionFile , true ) ;
241
216
$ ( this ) . val ( "" ) ;
242
217
} ;
243
218
244
219
var pomEvents = document . getElementById ( 'uploadEventsFile' ) ;
245
220
pomEvents . onchange = function uploadFinished ( ) {
246
221
var subscriptionFile = pomEvents . files [ 0 ] ;
247
- validateEventsJsonAndCreateSubscriptions ( subscriptionFile ) ;
222
+ validateJSONAndUpload ( subscriptionFile , false ) ;
248
223
$ ( this ) . val ( "" ) ;
249
224
} ;
250
225
@@ -266,7 +241,7 @@ jQuery(document).ready(
266
241
function createUploadWindowMSExplorer ( ) {
267
242
$ ( '#upload_rules' ) . click ( ) ;
268
243
var file = $ ( '#upload_rules' ) . prop ( 'files' ) [ 0 ] ;
269
- validateRulesJsonAndCreateSubscriptions ( file ) ;
244
+ validateJSONAndUpload ( file , true ) ;
270
245
}
271
246
272
247
// HTML5 Download File window handling
@@ -291,7 +266,7 @@ jQuery(document).ready(
291
266
function createUploadWindowMSExplorer ( ) {
292
267
$ ( '#upload_events' ) . click ( ) ;
293
268
var file = $ ( '#upload_events' ) . prop ( 'files' ) [ 0 ] ;
294
- validateEventsJsonAndCreateSubscriptions ( file ) ;
269
+ validateJSONAndUpload ( file , false ) ;
295
270
}
296
271
297
272
0 commit comments