conjur-asset-ui 1.3.2 → 1.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/.jshintrc +41 -0
  4. data/CHANGELOG.md +7 -0
  5. data/Gemfile +3 -1
  6. data/README.md +38 -4
  7. data/Rakefile +69 -1
  8. data/TODO.md +31 -0
  9. data/bower.json +98 -0
  10. data/conjur-asset-ui.gemspec +3 -3
  11. data/features/navigation_bar.feature +31 -0
  12. data/features/step_definitions/custom_step.rb +32 -0
  13. data/features/support/env.rb +38 -0
  14. data/features/support/hooks.rb +30 -0
  15. data/features/support/world.rb +17 -0
  16. data/gulpfile.js +139 -0
  17. data/lib/conjur/command/ui.rb +1 -1
  18. data/lib/conjur/webserver/server.rb +14 -8
  19. data/lib/conjur-asset-ui-version.rb +1 -1
  20. data/package.json +47 -0
  21. data/preprocessor.js +7 -0
  22. data/public/_client_libs.html +1 -16
  23. data/public/build/css/styles.css +87 -0
  24. data/public/build/css/vendor.css +5 -0
  25. data/public/build/fonts/glyphicons-halflings-regular.eot +0 -0
  26. data/public/{fonts → build/fonts}/glyphicons-halflings-regular.svg +47 -47
  27. data/public/{fonts → build/fonts}/glyphicons-halflings-regular.ttf +0 -0
  28. data/public/build/fonts/glyphicons-halflings-regular.woff +0 -0
  29. data/public/build/js/app.min.js +4 -0
  30. data/public/build/js/vendor.min.js +23 -0
  31. data/public/build/maps/app.min.js.map +1 -0
  32. data/public/build/maps/vendor.min.js.map +1 -0
  33. data/public/css/styles.less +246 -17
  34. data/public/index.html.erb +11 -10
  35. data/public/js/init.js +186 -97
  36. data/public/js/lib/sorted-set.no-require.js +3 -28
  37. data/public/js/models/groupRecord.js +14 -12
  38. data/public/js/models/hostRecord.js +13 -8
  39. data/public/js/models/layerRecord.js +14 -12
  40. data/public/js/models/namespace.js +2 -0
  41. data/public/js/models/policyList.js +3 -1
  42. data/public/js/models/policyRecord.js +8 -8
  43. data/public/js/models/record.js +59 -27
  44. data/public/js/models/resourceList.js +28 -10
  45. data/public/js/models/userList.js +7 -2
  46. data/public/js/models/userRecord.js +14 -9
  47. data/public/js/models/variableList.js +18 -7
  48. data/public/js/models/variableRecord.js +18 -14
  49. data/public/js/routers.js +74 -37
  50. data/public/js/views/annotations.js +39 -28
  51. data/public/js/views/audit.js +31 -25
  52. data/public/js/views/breadcrumbs.js +62 -0
  53. data/public/js/views/chart.js +617 -0
  54. data/public/js/views/dashboard.js +144 -65
  55. data/public/js/views/generic.js +16 -9
  56. data/public/js/views/group.js +103 -55
  57. data/public/js/views/groups.js +3 -7
  58. data/public/js/views/host.js +192 -56
  59. data/public/js/views/hosts.js +2 -6
  60. data/public/js/views/layer.js +136 -82
  61. data/public/js/views/layers.js +2 -6
  62. data/public/js/views/mixins/search.js +12 -5
  63. data/public/js/views/mixins/tabs.js +95 -55
  64. data/public/js/views/navSearch.js +16 -5
  65. data/public/js/views/owned.js +14 -8
  66. data/public/js/views/permissions.js +244 -178
  67. data/public/js/views/policies.js +2 -4
  68. data/public/js/views/policy.js +65 -38
  69. data/public/js/views/resource.js +54 -34
  70. data/public/js/views/role.js +59 -37
  71. data/public/js/views/searchResults.js +205 -138
  72. data/public/js/views/sections.js +226 -0
  73. data/public/js/views/time.js +38 -13
  74. data/public/js/views/user.js +288 -59
  75. data/public/js/views/users.js +2 -7
  76. data/public/js/views/variable.js +293 -53
  77. data/public/js/views/variables.js +4 -8
  78. metadata +34 -56
  79. data/.git-hooks/pre_commit/ensure_livescript_compiled.rb +0 -31
  80. data/.overcommit.yml +0 -5
  81. data/compile_ls +0 -6
  82. data/livescript/views/audit.ls +0 -136
  83. data/public/_client_code.html +0 -42
  84. data/public/css/bootstrap.css +0 -7
  85. data/public/fonts/glyphicons-halflings-regular.eot +0 -0
  86. data/public/fonts/glyphicons-halflings-regular.woff +0 -0
  87. data/public/js/lib/JSXTransformer.js +0 -10862
  88. data/public/js/lib/async.js +0 -958
  89. data/public/js/lib/backbone.js +0 -2
  90. data/public/js/lib/bootstrap.js +0 -6
  91. data/public/js/lib/date.extensions.js +0 -141
  92. data/public/js/lib/less.js +0 -16
  93. data/public/js/lib/moment.js +0 -7768
  94. data/public/js/lib/prelude-browser-min.js +0 -1
  95. data/public/js/lib/react-bootstrap.js +0 -5346
  96. data/public/js/lib/react-bootstrap.min.js +0 -4
  97. data/public/js/lib/underscore-min.js +0 -6
  98. data/public/js/lib/underscore.string.min.js +0 -1
  99. data/public/js/main.js +0 -57
  100. data/vendor/prelude-ls/.gitignore +0 -2
  101. data/vendor/prelude-ls/.travis.yml +0 -3
  102. data/vendor/prelude-ls/CHANGELOG.md +0 -81
  103. data/vendor/prelude-ls/LICENSE +0 -22
  104. data/vendor/prelude-ls/Makefile +0 -50
  105. data/vendor/prelude-ls/README.md +0 -15
  106. data/vendor/prelude-ls/browser/prelude-browser-min.js +0 -1
  107. data/vendor/prelude-ls/browser/prelude-browser.js +0 -1172
  108. data/vendor/prelude-ls/lib/Func.js +0 -40
  109. data/vendor/prelude-ls/lib/List.js +0 -602
  110. data/vendor/prelude-ls/lib/Num.js +0 -129
  111. data/vendor/prelude-ls/lib/Obj.js +0 -153
  112. data/vendor/prelude-ls/lib/Str.js +0 -68
  113. data/vendor/prelude-ls/lib/index.js +0 -164
  114. data/vendor/prelude-ls/package.json +0 -50
  115. data/vendor/prelude-ls/package.ls +0 -46
  116. data/vendor/prelude-ls/src/Func.ls +0 -17
  117. data/vendor/prelude-ls/src/List.ls +0 -299
  118. data/vendor/prelude-ls/src/Num.ls +0 -83
  119. data/vendor/prelude-ls/src/Obj.ls +0 -61
  120. data/vendor/prelude-ls/src/Str.ls +0 -32
  121. data/vendor/prelude-ls/src/index.ls +0 -56
  122. data/vendor/prelude-ls/test/Func.ls +0 -36
  123. data/vendor/prelude-ls/test/List.ls +0 -751
  124. data/vendor/prelude-ls/test/Num.ls +0 -258
  125. data/vendor/prelude-ls/test/Obj.ls +0 -145
  126. data/vendor/prelude-ls/test/Prelude.ls +0 -49
  127. data/vendor/prelude-ls/test/Str.ls +0 -208
  128. data/vendor/prelude-ls/test/browser.html +0 -5
@@ -1,258 +0,0 @@
1
- {
2
- max, min, negate, abs, signum, quot, rem, div, mod, recip,
3
- pi, tau, exp, sqrt, ln, pow, sin, tan, cos, acos, asin, atan, atan2,
4
- truncate, round, ceiling, floor, is-it-NaN, even, odd, gcd, lcm,
5
- } = require '..'
6
- {equal: eq, deep-equal: deep-eq, ok} = require 'assert'
7
-
8
- suite 'max' ->
9
- test 'numbers' ->
10
- eq 3, max 3 3
11
- eq 3, max 2 3
12
- eq 3, max 3 2
13
-
14
- test 'characters' ->
15
- eq \b, max \a \b
16
-
17
- test 'curried' ->
18
- f = max 2
19
- eq 3, f 3
20
-
21
- suite 'min' ->
22
- test 'numbers' ->
23
- eq 0, min 9 0
24
-
25
- test 'characters' ->
26
- eq \a, min \a \b
27
-
28
- test 'curried' ->
29
- f = min 9
30
- eq 0, f 0
31
-
32
- suite 'negate' ->
33
- test 'zero' ->
34
- eq 0, negate 0
35
-
36
- test 'negative number' ->
37
- eq -2, negate 2
38
-
39
- test 'positive number' ->
40
- eq 3, negate -3
41
-
42
- suite 'abs' ->
43
- test 'zero' ->
44
- eq 0, abs 0
45
-
46
- test 'negative number' ->
47
- eq 4 abs -4
48
-
49
- test 'positive number' ->
50
- eq 4 abs 4
51
-
52
- suite 'signum' ->
53
- test 'zero' ->
54
- eq 0 signum 0
55
-
56
- test 'negative number' ->
57
- eq -1 signum -5.3
58
-
59
- test 'positive number' ->
60
- eq 1 signum 8
61
-
62
- suite 'quot' ->
63
- test 'simple' ->
64
- eq -6, quot -20 3
65
-
66
- test 'curried' ->
67
- f = quot -20
68
- eq -6, f 3
69
-
70
- suite 'rem' ->
71
- test 'simple' ->
72
- eq -2, rem -20 3
73
-
74
- test 'curried' ->
75
- f = rem -20
76
- eq -2, f 3
77
-
78
- suite 'div' ->
79
- test 'simple' ->
80
- eq -7, div -20 3
81
-
82
- test 'curried' ->
83
- f = div -20
84
- eq -7, f 3
85
-
86
- suite 'mod' ->
87
- test 'simple' ->
88
- eq 1, mod -20 3
89
-
90
- test 'curried' ->
91
- f = mod -20
92
- eq 1, f 3
93
-
94
- suite 'recip' ->
95
- test 'zero' ->
96
- eq Infinity, recip 0
97
-
98
- test 'larger than 1' ->
99
- eq 0.5, recip 2
100
-
101
- test 'between 0 and 1' ->
102
- eq 2, recip 0.5
103
-
104
- suite 'pi' ->
105
- test 'constant' ->
106
- eq 3.141592653589793, pi
107
-
108
- suite 'tau' ->
109
- test 'constant' ->
110
- eq 6.283185307179586, tau
111
-
112
- suite 'exp' ->
113
- test 'simple' ->
114
- eq 2.718281828459045, exp 1
115
-
116
- suite 'sqrt' ->
117
- test 'negative numbers' ->
118
- ok is-it-NaN sqrt -1
119
-
120
- test 'simple' ->
121
- eq 2 sqrt 4
122
-
123
- suite 'ln' ->
124
- test 'simple' ->
125
- eq 0.6931471805599453, ln 2
126
-
127
- suite 'pow' ->
128
- test 'simple' ->
129
- eq 4, pow 2 2
130
- eq 4, pow -2 2
131
-
132
- test 'with negative numbers' ->
133
- eq 0.25, pow 2 -2
134
-
135
- test 'between one and zero' ->
136
- eq 4, pow 16 0.5
137
-
138
- test 'curried' ->
139
- f = pow 2
140
- eq 4, f 2
141
-
142
- suite 'sin' ->
143
- test 'zero' ->
144
- eq 0, sin 0
145
-
146
- test 'one' ->
147
- eq 0.8414709848078965, sin 1
148
-
149
- suite 'tan' ->
150
- test 'zero' ->
151
- eq 0, tan 0
152
-
153
- test 'one' ->
154
- eq 1.5574077246549023, tan 1
155
-
156
- suite 'cos' ->
157
- test 'zero' ->
158
- eq 1, cos 0
159
-
160
- test 'one' ->
161
- eq 0.5403023058681398, cos 1
162
-
163
- suite 'acos' ->
164
- test 'number' ->
165
- eq 1.4706289056333368, acos 0.1
166
-
167
- suite 'asin' ->
168
- test 'number' ->
169
- eq 1.5707963267948966, asin 1
170
-
171
- suite 'atan' ->
172
- test 'number' ->
173
- eq 0.7853981633974483, atan 1
174
-
175
- suite 'atan2' ->
176
- test 'number' ->
177
- eq 0.4636476090008061, atan2 1 2
178
-
179
- test 'curried' ->
180
- f = atan2 1
181
- eq 0.4636476090008061, f 2
182
-
183
- suite 'truncate' ->
184
- test 'zero' ->
185
- eq 0, truncate 0
186
-
187
- test 'positive number' ->
188
- eq 1 truncate 1.5
189
-
190
- test 'negative number' ->
191
- eq -1 truncate -1.5
192
-
193
- suite 'round' ->
194
- test 'up' ->
195
- eq 1 round 0.6
196
- eq 1 round 0.5
197
-
198
- test 'down' ->
199
- eq 0 round 0.4
200
-
201
- suite 'ceiling' ->
202
- test 'zero' ->
203
- eq 0, ceiling 0
204
-
205
- test 'positive number' ->
206
- eq 1, ceiling 0.1
207
-
208
- test 'negative number' ->
209
- eq 0, ceiling -0.9
210
-
211
- suite 'floor' ->
212
- test 'zero' ->
213
- eq 0, floor 0
214
-
215
- test 'positive number' ->
216
- eq 0, floor 0.9
217
-
218
- test 'negative number' ->
219
- eq -1, floor -0.1
220
-
221
- suite 'is-it-NaN' ->
222
- test 'true' ->
223
- ok is-it-NaN Math.sqrt -1
224
-
225
- test 'false' ->
226
- ok not is-it-NaN '0'
227
-
228
- suite 'even' ->
229
- test 'true' ->
230
- ok even 0
231
- ok even -2
232
-
233
- test 'false' ->
234
- ok not even 7
235
-
236
- suite 'odd' ->
237
- test 'true' ->
238
- ok odd 3
239
-
240
- test 'false' ->
241
- ok not odd -4
242
- ok not odd 0
243
-
244
- suite 'gcd' ->
245
- test 'some numbers' ->
246
- eq 6, gcd 12 18
247
-
248
- test 'curried' ->
249
- f = gcd 12
250
- eq 6, f 18
251
-
252
- suite 'lcm' ->
253
- test 'some numbers' ->
254
- eq 36, lcm 12 18
255
-
256
- test 'curried' ->
257
- f = lcm 12
258
- eq 36, f 18
@@ -1,145 +0,0 @@
1
- {
2
- id
3
- Obj: {
4
- values, keys,
5
- pairs-to-obj, obj-to-pairs, lists-to-obj, obj-to-lists,
6
- empty, each, map, filter, compact, reject, partition, find,
7
- }
8
- } = require '..'
9
- {equal: eq, deep-equal: deep-eq, ok} = require 'assert'
10
-
11
- suite 'values' ->
12
- test 'empty object as input' ->
13
- deep-eq [], values {}
14
-
15
- test 'object as input' ->
16
- deep-eq [1 2 3], values sadf: 1, asdf: 2, fdas: 3
17
-
18
- suite 'keys' ->
19
- test 'empty object as input' ->
20
- deep-eq [], keys {}
21
-
22
- test 'object as input' ->
23
- deep-eq <[ sadf asdf fdas ]>, keys sadf: 1, asdf: 2, fdas: 3
24
-
25
- suite 'pairs-to-obj' ->
26
- test 'empty list as input' ->
27
- deep-eq {}, pairs-to-obj []
28
-
29
- test 'pairs as input' ->
30
- deep-eq {a: 'b', c: 'd', e: 1}, pairs-to-obj [['a' 'b'] ['c' 'd'] ['e' 1]]
31
-
32
- suite 'obj-to-pairs' ->
33
- test 'empty object as input' ->
34
- deep-eq [], obj-to-pairs {}
35
-
36
- test 'object as input' ->
37
- deep-eq [['a' 'b'] ['c' 'd'] ['e' 1]], obj-to-pairs {a: 'b', c: 'd', e: 1}
38
-
39
- suite 'lists-to-obj' ->
40
- test 'empty lists as input' ->
41
- deep-eq {}, lists-to-obj [] []
42
-
43
- test 'two lists of the same length' ->
44
- deep-eq {a: 1, b: 2, c: 3}, lists-to-obj <[ a b c ]> [1 2 3]
45
-
46
- test 'first list is shorter' ->
47
- deep-eq {a: 1, b: 2}, lists-to-obj <[ a b ]> [1 2 3]
48
-
49
- test 'first list is longer' ->
50
- deep-eq {a: 1, b: 2, c: void}, lists-to-obj <[ a b c ]> [1 2]
51
-
52
- test 'curried' ->
53
- f = lists-to-obj <[ a b c ]>
54
- deep-eq {a: 1, b: 2, c: 3}, f [1 2 3]
55
-
56
- suite 'obj-to-lists' ->
57
- test 'empty object as input' ->
58
- deep-eq [[], []], obj-to-lists {}
59
-
60
- test 'two lists of the same length' ->
61
- deep-eq [<[ a b c ]>, [1 2 3]], obj-to-lists {a: 1, b: 2, c: 3}
62
-
63
- suite 'empty' ->
64
- test 'empty object as input' ->
65
- ok empty {}
66
-
67
- test 'non-empty object as input' ->
68
- ok not empty {x: 1}
69
-
70
- suite 'each' ->
71
- test 'empty object as input' ->
72
- deep-eq {}, each id, {}
73
-
74
- test 'iterate over object values' ->
75
- count = 4
76
- each (-> count += it), {a: 1, b: 2, c: 3}
77
- eq 10 count
78
-
79
- test 'curried' ->
80
- count = 4
81
- f = each (-> count += it)
82
- f {a: 1, b: 2, c: 3}
83
- eq 10 count
84
-
85
- suite 'map' ->
86
- test 'empty object as input' ->
87
- deep-eq {}, map id, {}
88
-
89
- test 'mapping over object' ->
90
- deep-eq {a:2, b:4}, map (* 2), {a:1, b:2}
91
-
92
- test 'curried' ->
93
- f = map (* 2)
94
- deep-eq {a:2, b:4}, f {a:1, b:2}
95
-
96
- suite 'compact' ->
97
- test 'empty object as input' ->
98
- deep-eq {}, compact {}
99
-
100
- test 'compacting object' ->
101
- deep-eq {b: 1, e: 'ha'}, compact {a: 0, b: 1, c: false, d: '', e: 'ha'}
102
-
103
- suite 'filter' ->
104
- test 'empty object as input' ->
105
- deep-eq {}, filter id, {}
106
-
107
- test 'filtering object' ->
108
- deep-eq {b: 2}, filter (== 2), {a:1, b:2}
109
-
110
- test 'curried' ->
111
- f = filter (== 2)
112
- deep-eq {b: 2}, f {a:1, b:2}
113
-
114
- suite 'reject' ->
115
- test 'empty object as input' ->
116
- deep-eq {}, reject id, {}
117
-
118
- test 'reject object' ->
119
- deep-eq {a: 1}, reject (==2), {a:1, b:2}
120
-
121
- test 'curried' ->
122
- f = reject (== 2)
123
- deep-eq {a: 1}, f {a:1, b:2}
124
-
125
- suite 'partition' ->
126
- test 'empty object as input' ->
127
- deep-eq [{}, {}], partition id, {}
128
-
129
- test 'partition object' ->
130
- deep-eq [{b: 2}, {a: 1, c: 3}], partition (==2), {a:1, b:2, c:3}
131
-
132
- test 'curried' ->
133
- f = partition (== 2)
134
- deep-eq [{b: 2}, {a: 1, c: 3}], f {a:1, b:2, c:3}
135
-
136
- suite 'find' ->
137
- test 'empty object as input' ->
138
- eq void, find id, {}
139
-
140
- test 'find from object' ->
141
- eq 2, find (==2), {a:1, b:2}
142
-
143
- test 'curried' ->
144
- f = find (== 2)
145
- eq 2, f {a:1, b:2}
@@ -1,49 +0,0 @@
1
- {id, is-type, replicate} = require '..'
2
- {equal: eq, deep-equal: deep-eq, ok} = require 'assert'
3
-
4
- suite 'id' ->
5
- test 'number' ->
6
- eq 5, id 5
7
-
8
- test 'object is the same' ->
9
- obj = {}
10
- eq obj, id obj
11
-
12
- suite 'is-type' ->
13
- test 'literals' ->
14
- ok is-type 'Undefined' void
15
- ok is-type 'Boolean' true
16
- ok is-type 'Number' 1
17
- ok is-type 'Number' 1.2
18
- ok is-type 'String' 'asdfa'
19
- ok is-type 'Object' {}
20
- ok is-type 'Array' []
21
-
22
- ok not is-type 'Boolean' 1
23
-
24
- test 'constructors' ->
25
- ok is-type 'Date' new Date
26
-
27
- test 'classes' ->
28
- class A
29
-
30
- ok is-type 'Object' new A
31
-
32
- test 'curried' ->
33
- f = is-type 'Boolean'
34
- ok f true
35
-
36
- suite 'replicate' ->
37
- test 'zero as input' ->
38
- deep-eq [], replicate 0 0
39
- deep-eq [], replicate 0 'a'
40
-
41
- test 'number as input' ->
42
- deep-eq [3,3,3,3], replicate 4 3
43
-
44
- test 'string as input' ->
45
- deep-eq <[ a a a a ]>, replicate 4 'a'
46
-
47
- test 'curried' ->
48
- f = replicate 4
49
- deep-eq [3,3,3,3], f 3