web-connect 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,536 @@
1
+ * {
2
+ margin: 0;
3
+ padding: 0;
4
+ }
5
+
6
+ html, body {
7
+ height: 100%;
8
+ }
9
+
10
+ th, td {
11
+ font-weight: normal;
12
+ text-align: left;
13
+ vertical-align: top;
14
+ }
15
+
16
+ #dashboard {
17
+ position: absolute;
18
+ top: 36px;
19
+ bottom: 0;
20
+ left: 0;
21
+ right: 80%;
22
+ background: #e9e9e9;
23
+ border-right: 1px solid #888;
24
+ overflow: auto;
25
+ }
26
+
27
+ #busy {
28
+ position: static;
29
+ top: 0;
30
+ left: 0;
31
+ width: 100%;
32
+ height: 100%;
33
+ z-index: 100;
34
+ opacity: .5;
35
+ -moz-opacity: .5;
36
+ -khtml-opacity: .5;
37
+ -o-opacity: .5;
38
+ filter: alpha(opacity=50);
39
+ background: #fff;
40
+ display: none;
41
+ }
42
+
43
+ .busy #busy {
44
+ display: block;
45
+ }
46
+
47
+ #tests li {
48
+ list-style: none;
49
+ display: block;
50
+ border-bottom: 1px solid #cfcfcf;
51
+ }
52
+
53
+ #tests a {
54
+ display: block;
55
+ font-family: Helvetica, Arial, Geneva, sans-serif;
56
+ font-size: 14px;
57
+ color: #363636;
58
+ background: #e9e9e9;
59
+ background: -moz-linear-gradient(top, #e9e9e9 0%, #d3d3d3 100%);
60
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e9e9e9), color-stop(100%, #d3d3d3));
61
+ background: -webkit-linear-gradient(top, #e9e9e9 0%, #d3d3d3 100%);
62
+ background: -o-linear-gradient(top, #e9e9e9 0%, #d3d3d3 100%);
63
+ background: -ms-linear-gradient(top, #e9e9e9 0%, #d3d3d3 100%);
64
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9', endColorstr='#d3d3d3', GradientType=0);
65
+ background: linear-gradient(top, #e9e9e9 0%, #d3d3d3 100%);
66
+ padding: 13px 9px 9px 18px;
67
+ text-decoration: none;
68
+ border-left: 5px solid #aaa;
69
+ }
70
+
71
+ #tests li a:hover {
72
+ border-left-color: #838383;
73
+ background: #d3d3d3;
74
+ background: -moz-linear-gradient(top, #e9e9e9 0%, #b3b3b3 100%);
75
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e9e9e9), color-stop(100%, #b3b3b3));
76
+ background: -webkit-linear-gradient(top, #e9e9e9 0%, #b3b3b3 100%);
77
+ background: -o-linear-gradient(top, #e9e9e9 0%, #b3b3b3 100%);
78
+ background: -ms-linear-gradient(top, #e9e9e9 0%, #b3b3b3 100%);
79
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9', endColorstr='#b3b3b3', GradientType=0);
80
+ background: linear-gradient(top, #e9e9e9 0%, #b3b3b3 100%);
81
+ color: #191919;
82
+ }
83
+
84
+ #tests li.active a {
85
+ border-left-color: #c94f5a;
86
+ color: #191919;
87
+ background: #dfdfdf;
88
+ background: -moz-linear-gradient(top, #dfdfdf 0%, #ffffff 100%);
89
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dfdfdf), color-stop(100%, #ffffff));
90
+ background: -webkit-linear-gradient(top, #dfdfdf 0%, #ffffff 100%);
91
+ background: -o-linear-gradient(top, #dfdfdf 0%, #ffffff 100%);
92
+ background: -ms-linear-gradient(top, #dfdfdf 0%, #ffffff 100%);
93
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ffffff', GradientType=0);
94
+ background: linear-gradient(top, #dfdfdf 0%, #ffffff 100%);
95
+ cursor: default;
96
+ }
97
+
98
+ #editor {
99
+ position: absolute;
100
+ top: 36px;
101
+ bottom: 0;
102
+ left: 20%;
103
+ right: 40%;
104
+ }
105
+
106
+ #sourceContainer {
107
+ position: absolute;
108
+ left: 0;
109
+ top: 0;
110
+ right: 0;
111
+ bottom: 0px;
112
+ padding: 5px;
113
+ }
114
+
115
+ #source {
116
+ height: 100%;
117
+ width: 100%;
118
+ font-family: Menlo, Monaco, Consolas, monospace;
119
+ border: none;
120
+ resize: none;
121
+ outline: none;
122
+ font-size: 11px;
123
+ }
124
+
125
+ #menu {
126
+ border-bottom: 1px solid #888;
127
+ position: absolute;
128
+ left: 0;
129
+ right: 0;
130
+ top: 0;
131
+ height: 35px;
132
+ background: #efc5ca;
133
+ background: -moz-linear-gradient(top, #efc5ca 0%, #d24b5a 50%, #ba2737 51%, #f18e99 100%);
134
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #efc5ca), color-stop(50%, #d24b5a), color-stop(51%, #ba2737), color-stop(100%, #f18e99));
135
+ background: -webkit-linear-gradient(top, #efc5ca 0%, #d24b5a 50%, #ba2737 51%, #f18e99 100%);
136
+ background: -o-linear-gradient(top, #efc5ca 0%, #d24b5a 50%, #ba2737 51%, #f18e99 100%);
137
+ background: -ms-linear-gradient(top, #efc5ca 0%, #d24b5a 50%, #ba2737 51%, #f18e99 100%);
138
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#efc5ca', endColorstr='#f18e99', GradientType=0);
139
+ background: linear-gradient(top, #efc5ca 0%, #d24b5a 50%, #ba2737 51%, #f18e99 100%);
140
+ overflow: hidden;
141
+ padding-left: 135px;
142
+ }
143
+
144
+ #logo {
145
+ height: 29px;
146
+ width: 130px;
147
+ border: 3px solid #fff;
148
+ float: right;
149
+ }
150
+
151
+ h1 {
152
+ position: absolute;
153
+ top: 7px;
154
+ left: 10px;
155
+ font-weight: normal;
156
+ color: #fff;
157
+ font-family: Helvetica, Arial, Geneva, sans-serif;
158
+ font-size: 23px;
159
+ line-height: 23px;
160
+ text-shadow: 1px 1px 0px rgba(0, 0, 0, .3);
161
+ -filter: dropshadow(color=#000000, offx=1, offy=1);
162
+ }
163
+
164
+ #menu li, #importExport li {
165
+ height: 23px;
166
+ display: inline-block;
167
+ padding: 6px 0 4px 7px;
168
+ list-style: none;
169
+ }
170
+
171
+ #menu li a, #importExport a {
172
+ display: block;
173
+ background: #3a3a3a;
174
+ background: -moz-linear-gradient(top, #3a3a3a 0%, #2c2c2c 50%, #000000 51%, #111111 60%, #606060 100%);
175
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #3a3a3a), color-stop(50%, #2c2c2c), color-stop(51%, #000000), color-stop(60%, #111111), color-stop(100%, #606060));
176
+ background: -webkit-linear-gradient(top, #3a3a3a 0%, #2c2c2c 50%, #000000 51%, #111111 60%, #606060 100%);
177
+ background: -o-linear-gradient(top, #3a3a3a 0%, #2c2c2c 50%, #000000 51%, #111111 60%, #606060 100%);
178
+ background: -ms-linear-gradient(top, #3a3a3a 0%, #2c2c2c 50%, #000000 51%, #111111 60%, #606060 100%);
179
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3a3a3a', endColorstr='#606060', GradientType=0);
180
+ background: linear-gradient(top, #3a3a3a 0%, #2c2c2c 50%, #000000 51%, #111111 60%, #606060 100%);
181
+ border: 1px solid #fff;
182
+ -webkit-border-radius: 5px;
183
+ -moz-border-radius: 5px;
184
+ -o-border-radius: 5px;
185
+ border-radius: 5px;
186
+ height: 16px;
187
+ font-family: Helvetica, Arial, Geneva, sans-serif;
188
+ text-decoration: none;
189
+ color: #fff;
190
+ font-size: 12px;
191
+ line-height: 12px;
192
+ padding: 5px 14px 0 14px;
193
+ }
194
+
195
+ #menu li a {
196
+ -webkit-box-shadow: 0px 5px 10px 5px rgba(100, 0, 8, 0.25);
197
+ -moz-box-shadow: 0px 5px 10px 5px rgba(100, 0, 8, 0.25);
198
+ box-shadow: 0px 5px 10px 5px rgba(100, 0, 8, 0.25);
199
+ outline: none;
200
+ }
201
+
202
+ #menu li a:hover {
203
+ -webkit-box-shadow: 0px 5px 10px 5px rgba(100, 0, 8, 0.5);
204
+ -moz-box-shadow: 0px 5px 10px 5px rgba(100, 0, 8, 0.5);
205
+ box-shadow: 0px 5px 10px 5px rgba(100, 0, 8, 0.5);
206
+ }
207
+
208
+ #results {
209
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAIAAAC0Ujn1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYtJREFUeNqslo2OwyAIgAdyTa7v/4RL7hV22aXKobbOKf4lI03LEJCifh383O+GCABuXWFmexyiUHTu+rNzx3HQ977LQ0JPsxrDDIjbvkeHQRVBvraNjDHWWu47gmRGNMar73a1jvikN8+Wd4pJo0GBegJpXPzJTNGDr7zq6zIrb6XXEeI5FIGvaYu8mR7tXAxdhUMMzXoFdUPyRCm4WXJReJwpeovOjOPFVrvfXpI0gMOMsDRrZsHefhhK1wcnwifm0LxRHeVh3mDnovCkBwX1KfmU3A5aaWf2cPG1QeOd/Cl37jpHafNAkcTjydoIpt5Zz/zp9/HwMEPMq+OqQHn+PZ+ivDCZelLtvFgH1XxgdelrS44RTTxU5zkp9zGBQz+FwCSonOekyJjAsjcCgUk/fg1OLhGYljjpPzfTBMYmJ6+rJIlK4AqcnEMVGoXnnOwRuDq9OObk3P5ZId+SaAT+UGqtV3j7KFUbvZ7g5BKBcYmTSwQmZ+08J+XupgnsoTrPyfPv5ByB/wUYAA8/LCCTu6t2AAAAAElFTkSuQmCC);
210
+ font-size: 12px;
211
+ font-family: Helvetica, Arial, Geneva, sans-serif;
212
+ position: absolute;
213
+ top: 36px;
214
+ bottom: 0;
215
+ right: 0;
216
+ left: 60%;
217
+ overflow: auto;
218
+ border-left: 1px solid #888;
219
+ }
220
+
221
+ #results a {
222
+ text-decoration: none;
223
+ color: #147ca2;
224
+ }
225
+
226
+ #actionsShadow {
227
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAXCAYAAADKmiUPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNpiYGNjE2diZ2dnYOLg4GBg4uLighLc3NxQgpeXl4GJh4cHygITfHx8yFw0JQi9CPPAxoMsAggwALpTAy8aU1CDAAAAAElFTkSuQmCC);
228
+ background-repeat: repeat-x;
229
+ height: 23px;
230
+ }
231
+
232
+ #actions > li {
233
+ padding: 14px 14px 4px 14px;
234
+ background-image: url(data:image/gif;base64,R0lGODlhAQARAKIAAPn5+fT09PX19ff39/j4+Pb29gAAAAAAACH5BAAAAAAALAAAAAABABEAAAMJCApE86WIGWoCADs=);
235
+ background-repeat: repeat-x;
236
+ background-position: 0 0;
237
+ background-color: #f3f3f3;
238
+ border-top: 1px solid #fff;
239
+ border-bottom: 1px solid #d9d9d9;
240
+ list-style: none;
241
+ position: relative;
242
+ }
243
+
244
+ #actions li.error {
245
+ background: #ffe7e7;
246
+ }
247
+
248
+ #actions div.expander {
249
+ margin: 10px 0;
250
+ }
251
+
252
+ #actions div.expander a:before {
253
+ color: #9a9a9a;
254
+ }
255
+
256
+ #actions div.expander a.closed:before {
257
+ content: "▶ ";
258
+ }
259
+
260
+ #actions div.expander a.open:before {
261
+ content: "▼ ";
262
+ }
263
+
264
+ #actions li h4 {
265
+ font-size: 14px;
266
+ font-weight: normal;
267
+ margin-bottom: 10px;
268
+ }
269
+
270
+ #actions li h4 strong {
271
+ font-weight: bold;
272
+ color: #494949;
273
+ }
274
+
275
+ #actions li.error h4 {
276
+ color: #781406;
277
+ }
278
+
279
+ #actions li.update h4 {
280
+ color: #bb4600;
281
+ }
282
+
283
+ #actions li.add h4, #actions li.remove h4 {
284
+ color: #bb7700;
285
+ }
286
+
287
+ #actions li.commit h4 {
288
+ color: #004d8f;
289
+ }
290
+
291
+ #actions li.replicate h4 {
292
+ color: #627700;
293
+ }
294
+
295
+ #actions li.delete h4 {
296
+ color: #cb0101;
297
+ }
298
+
299
+ #actions li.orders h4 {
300
+ color: #007c60;
301
+ }
302
+
303
+ #actions li.confirmOrder h4 {
304
+ color: #37007c;
305
+ }
306
+
307
+ #actions li.purge h4 {
308
+ color: #87013a;
309
+ }
310
+
311
+ #actions li.sendFile h4 {
312
+ color: #016599;
313
+ }
314
+
315
+ #actions li.locale h4 {
316
+ color: #51637e;
317
+ }
318
+
319
+ #actions li.time {
320
+ padding: 8px 14px 8px 14px;
321
+ }
322
+
323
+ #actions li.time h4 {
324
+ font-size: 12px;
325
+ color: #5a5a5a;
326
+ margin-bottom: 0;
327
+ }
328
+
329
+ #actions li.wait h4 {
330
+ color: #7e7e7e;
331
+ }
332
+
333
+ #actions li.update div.expander,
334
+ #actions li.add div.expander,
335
+ #actions li.remove div.expander,
336
+ #actions li.commit div.status,
337
+ #actions li.wait div.status,
338
+ #actions li.purge div.status,
339
+ #actions li.orders div.status,
340
+ #actions li.confirmOrder div.status,
341
+ #actions li.sendFile div.status {
342
+ position: absolute;
343
+ right: 14px;
344
+ top: 14px;
345
+ margin: 0;
346
+ }
347
+
348
+ #actions li.commit div.info,
349
+ #actions li.purge div.info {
350
+ position: absolute;
351
+ right: 14px;
352
+ bottom: 14px;
353
+ }
354
+
355
+ #actions li div.status,
356
+ #actions li div.info {
357
+ color: #5a5a5a;
358
+ }
359
+
360
+ #actions li div.status strong,
361
+ #actions li div.info strong {
362
+ font-weight: normal;
363
+ color: #00038f;
364
+ }
365
+
366
+ #actions li.update table.details {
367
+ width: 100%;
368
+ font-family: Menlo, Monaco, Consolas, monospace;
369
+ margin-bottom: 10px;
370
+ }
371
+
372
+ #actions li.update table.details th,
373
+ #actions li.update table.details td {
374
+ color: #494949;
375
+ }
376
+
377
+ #actions li.update table.details th:after {
378
+ content: ":";
379
+ }
380
+
381
+ #actions li.update table.details th {
382
+ width: 33%;
383
+ text-align: right;
384
+ padding-right: 12px;
385
+ color: #316432;
386
+ }
387
+
388
+ #actions li.update table.details td.number {
389
+ color: #213f68;
390
+ }
391
+
392
+ #actions li span.time {
393
+ color: #8b8b8b;
394
+ }
395
+
396
+ #actions li.error div.status {
397
+ margin-bottom: 10px;
398
+ }
399
+
400
+ #actions pre.errorData,
401
+ #actions li div.data div.raw {
402
+ font-family: Menlo, Monaco, Consolas, monospace;
403
+ margin-bottom: 10px;
404
+ color: #494949;
405
+ font-size: 11px;
406
+ border: 1px #aaa solid;
407
+ padding: 6px;
408
+ background: #fff;
409
+ line-height: 17px;
410
+ max-height: 170px;
411
+ overflow: auto;
412
+ }
413
+
414
+ #actions pre.errorData {
415
+ max-height: 250px;
416
+ }
417
+
418
+ #actions li div.data div.raw {
419
+ word-wrap: break-word;
420
+ }
421
+
422
+ #actions li div.error div.formatted.string {
423
+ margin-bottom: 10px;;
424
+ }
425
+
426
+ #actions li.hasInfo div.response div.raw,
427
+ #actions li.hasInfo div.error div.formatted.string {
428
+ margin-bottom: 35px;
429
+ }
430
+
431
+ #actions li.file img {
432
+ border: 2px solid #a0a0a0;
433
+ display: inline;
434
+ }
435
+
436
+ #actions li.file pre.checksum {
437
+ float: left;
438
+ font-family: Menlo, Monaco, Consolas, monospace;
439
+ font-size: 11px;
440
+ color: #017948;
441
+ padding-right: 1em;
442
+ }
443
+
444
+ #actions li.file div.fileSize {
445
+ color: #555;
446
+ margin-bottom: 10px;
447
+ }
448
+
449
+ div.data {
450
+ overflow: auto;
451
+ }
452
+
453
+ div.data div.formatted {
454
+ background: #f9f9f9;
455
+ border: solid #e2e2e2;
456
+ border-width: 0 1px 1px 0;
457
+ font-family: Menlo, Monaco, Consolas, monospace;
458
+ font-size: 11px;
459
+ display: table;
460
+ }
461
+
462
+ div.data div.formatted table, div.data div.formatted ol {
463
+ border: solid #e2e2e2;
464
+ border-width: 1px 0 0 1px;
465
+ padding: 3px 0 0 3px;
466
+ width: 100%;
467
+ }
468
+
469
+ div.data div.formatted th, div.data div.formatted td, div.data div.formatted li {
470
+ padding: 0 3px 3px 0;
471
+ }
472
+
473
+ div.data div.formatted li {
474
+ margin-left: 27px;
475
+ }
476
+
477
+ div.data div.formatted th {
478
+ color: #017948;
479
+ width: 80px;
480
+ text-align: right;
481
+ padding-right: 7px;
482
+ }
483
+
484
+ div.data div.formatted ol {
485
+ color: #87a801;
486
+ }
487
+
488
+ div.data div.formatted .string,
489
+ div.data div.formatted.string {
490
+ color: #4c4c4c;
491
+ white-space: pre-wrap;
492
+ }
493
+
494
+ div.data div.formatted.string {
495
+ padding: 4px;
496
+ border-width: 1px;
497
+ }
498
+
499
+ div.data div.formatted .boolean, div.data div.formatted .null {
500
+ color: #83000f;
501
+ }
502
+
503
+ #importExport {
504
+ position: absolute;
505
+ width: 478px;
506
+ height: 378px;
507
+ background: #eee;
508
+ top: 50%;
509
+ left: 50%;
510
+ padding: 10px;
511
+ margin: -200px 0 0 -250px;
512
+ font-family: Arial, Helvetica, Geneva, sans-serif;
513
+ font-size: 12px;
514
+ color: #222;
515
+ border: 1px solid #999;
516
+ }
517
+
518
+ #series {
519
+ border: 1px solid #ccc;
520
+ resize: none;
521
+ padding: 5px;
522
+ width: 466px;
523
+ height: 310px;
524
+ margin: 9px 0 3px 0;
525
+ font-family: Menlo, Monaco, Consolas, monospace;
526
+ font-size: 10px;
527
+ }
528
+
529
+ #importExport.import .export,
530
+ #importExport.export .import {
531
+ display: none;
532
+ }
533
+
534
+ #importExport li {
535
+ float: right;
536
+ }
@@ -0,0 +1,68 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <title>TestCentre &bull; Netfira WebConnect</title>
5
+ <meta charset="UTF-8" />
6
+ <script src="globals.js"></script>
7
+ <script src="nf.js"></script>
8
+ <script src="nf.UI.js"></script>
9
+ <script src="test.js"></script>
10
+ <link rel="stylesheet" href="test.css"/>
11
+ </head>
12
+ <body>
13
+ <ul id="menu">
14
+ <h1><strong>Test</strong>Centre</h1>
15
+ <a href="http://www.netfira.com.au/webconnect" title="Netfira WebConnect"><img src="logo.gif" id="logo" alt="Netfira WebConnect" /></a>
16
+ <li class="first">
17
+ <a title="Create a new test script" id="btnNewTest" href="javascript:nf.Testing.add()">New</a>
18
+ </li>
19
+ <li>
20
+ <a title="Change the name of the current test" id="btnRenameTest" href="javascript:nf.Testing.rename()">Rename</a>
21
+ </li>
22
+ <li>
23
+ <a title="Delete the current test" id="btnDeleteTest" href="javascript:nf.Testing.del()">Delete</a>
24
+ </li>
25
+ <li>
26
+ <a title="Save all tests WebConnect's server-side database" id="btnSave" href="javascript:nf.Testing.save()">Save</a>
27
+ </li>
28
+ <li>
29
+ <a title="Import tests from a WebConnect test series" id="btnImport" href="javascript:nf.Testing.ImportExport.im()">Import</a>
30
+ </li>
31
+ <li>
32
+ <a title="Export tests to a WebConnect test series" id="btnExport" href="javascript:nf.Testing.ImportExport.ex()">Export</a>
33
+ </li>
34
+ <li class="last">
35
+ <a title="Run the current test" id="btnRunTest" href="javascript:nf.Testing.run()">Run &raquo;</a>
36
+ </li>
37
+ </ul>
38
+ <div id="dashboard">
39
+ <ul id="tests">
40
+
41
+ </ul>
42
+ <ul id="options">
43
+
44
+ </ul>
45
+ </div>
46
+ <div id="editor">
47
+ <div id="sourceContainer">
48
+ <textarea id="source"></textarea>
49
+ </div>
50
+ </div>
51
+ <div id="results">
52
+ <ul id="actions">
53
+
54
+ </ul>
55
+ <div id="actionsShadow">&nbsp;</div>
56
+ </div>
57
+ <div id="busy">&nbsp;</div>
58
+ <div id="importExport" style="display:none">
59
+ <div class="info import">Paste a WebConnect test series here. Current tests will be overwritten.</div>
60
+ <div class="info export">Copy the text below and paste it into a text file, email etc.</div>
61
+ <textarea id="series"></textarea>
62
+ <ul>
63
+ <li><a href="javascript:nf.Testing.ImportExport.ok()">OK</a></li>
64
+ <li class="import"><a href="javascript:nf.Testing.ImportExport.cancel()">Cancel</a></li>
65
+ </ul>
66
+ </div>
67
+ </body>
68
+ </html>