conjur-asset-ui 1.3.1 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -3
  3. data/Gemfile +1 -3
  4. data/README.md +0 -34
  5. data/Rakefile +1 -69
  6. data/conjur-asset-ui.gemspec +1 -1
  7. data/lib/conjur-asset-ui-version.rb +1 -1
  8. data/lib/conjur/command/ui.rb +1 -1
  9. data/lib/conjur/webserver/server.rb +8 -14
  10. data/public/_client_code.html +42 -0
  11. data/public/_client_libs.html +15 -2
  12. data/public/css/bootstrap.css +7 -0
  13. data/public/css/styles.less +4 -170
  14. data/public/fonts/glyphicons-halflings-regular.eot +0 -0
  15. data/public/fonts/glyphicons-halflings-regular.svg +229 -0
  16. data/public/fonts/glyphicons-halflings-regular.ttf +0 -0
  17. data/public/fonts/glyphicons-halflings-regular.woff +0 -0
  18. data/public/index.html.erb +7 -5
  19. data/public/js/init.js +97 -183
  20. data/public/js/lib/JSXTransformer.js +10862 -0
  21. data/public/js/lib/async.js +958 -0
  22. data/public/js/lib/backbone.js +2 -0
  23. data/public/js/lib/bootstrap.js +6 -0
  24. data/public/js/lib/less.js +16 -0
  25. data/public/js/lib/moment.js +7768 -0
  26. data/public/js/lib/react-bootstrap.js +5346 -0
  27. data/public/js/lib/react-bootstrap.min.js +4 -0
  28. data/public/js/lib/sorted-set.no-require.js +28 -3
  29. data/public/js/lib/underscore-min.js +6 -0
  30. data/public/js/lib/underscore.string.min.js +1 -0
  31. data/public/js/main.js +57 -0
  32. data/public/js/models/groupRecord.js +11 -12
  33. data/public/js/models/hostRecord.js +7 -6
  34. data/public/js/models/layerRecord.js +11 -12
  35. data/public/js/models/namespace.js +0 -2
  36. data/public/js/models/policyList.js +1 -3
  37. data/public/js/models/policyRecord.js +7 -6
  38. data/public/js/models/record.js +23 -24
  39. data/public/js/models/resourceList.js +10 -28
  40. data/public/js/models/userList.js +2 -7
  41. data/public/js/models/userRecord.js +8 -7
  42. data/public/js/models/variableList.js +7 -18
  43. data/public/js/models/variableRecord.js +12 -13
  44. data/public/js/routers.js +26 -72
  45. data/public/js/views/annotations.js +27 -38
  46. data/public/js/views/audit.js +17 -23
  47. data/public/js/views/dashboard.js +58 -94
  48. data/public/js/views/generic.js +9 -16
  49. data/public/js/views/group.js +55 -94
  50. data/public/js/views/groups.js +7 -3
  51. data/public/js/views/host.js +44 -75
  52. data/public/js/views/hosts.js +6 -2
  53. data/public/js/views/layer.js +82 -127
  54. data/public/js/views/layers.js +6 -2
  55. data/public/js/views/mixins/search.js +5 -12
  56. data/public/js/views/mixins/tabs.js +55 -95
  57. data/public/js/views/navSearch.js +5 -16
  58. data/public/js/views/owned.js +8 -14
  59. data/public/js/views/permissions.js +178 -244
  60. data/public/js/views/policies.js +4 -2
  61. data/public/js/views/policy.js +38 -65
  62. data/public/js/views/resource.js +34 -49
  63. data/public/js/views/role.js +37 -52
  64. data/public/js/views/searchResults.js +138 -205
  65. data/public/js/views/time.js +13 -26
  66. data/public/js/views/user.js +55 -178
  67. data/public/js/views/users.js +7 -2
  68. data/public/js/views/variable.js +45 -226
  69. data/public/js/views/variables.js +8 -4
  70. metadata +19 -18
  71. data/.jshintrc +0 -41
  72. data/bower.json +0 -93
  73. data/features/navigation_bar.feature +0 -31
  74. data/features/step_definitions/custom_step.rb +0 -32
  75. data/features/support/env.rb +0 -38
  76. data/features/support/hooks.rb +0 -30
  77. data/features/support/world.rb +0 -17
  78. data/gulpfile.js +0 -140
  79. data/package.json +0 -47
  80. data/preprocessor.js +0 -7
  81. data/public/js/views/chart.js +0 -471
@@ -1,16 +1,20 @@
1
1
  /** @jsx React.DOM */
2
- /* global conjur, React */
3
2
 
4
3
  (function(conjur, React) {
5
4
  'use strict';
6
5
 
7
6
  var GenericList = conjur.views.GenericList;
8
7
 
9
- this.VariableBox = React.createClass({
8
+ var VariableBox = this.VariableBox = React.createClass({
9
+ // getInitialState: function() {
10
+ // return { currentNamespace: "", members: [] };
11
+ // },
10
12
  render: function() {
13
+ // <NamespaceFilter currentNamespace={this.props.currentNamespace}
14
+ // namespaces={this.props.data.namespaces} />
11
15
  return (
12
- <div className="variableBox">
13
- <div className="variableList">
16
+ <div className="groupBox">
17
+ <div className="groupList">
14
18
  <h2>Variables</h2>
15
19
  <GenericList data={{kind: 'variables', members: this.props.data.members}} />
16
20
  </div>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: conjur-asset-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Mason
@@ -208,7 +208,6 @@ files:
208
208
  - .git-hooks/pre_commit/ensure_livescript_compiled.rb
209
209
  - .git-hooks/pre_commit/trailing_whitespace.rb
210
210
  - .gitignore
211
- - .jshintrc
212
211
  - .overcommit.yml
213
212
  - .project
214
213
  - CHANGELOG.md
@@ -216,15 +215,8 @@ files:
216
215
  - LICENSE.txt
217
216
  - README.md
218
217
  - Rakefile
219
- - bower.json
220
218
  - compile_ls
221
219
  - conjur-asset-ui.gemspec
222
- - features/navigation_bar.feature
223
- - features/step_definitions/custom_step.rb
224
- - features/support/env.rb
225
- - features/support/hooks.rb
226
- - features/support/world.rb
227
- - gulpfile.js
228
220
  - lib/conjur-asset-ui-version.rb
229
221
  - lib/conjur-asset-ui.rb
230
222
  - lib/conjur/command/ui.rb
@@ -236,10 +228,14 @@ files:
236
228
  - lib/conjur/webserver/renderer.rb
237
229
  - lib/conjur/webserver/server.rb
238
230
  - livescript/views/audit.ls
239
- - package.json
240
- - preprocessor.js
231
+ - public/_client_code.html
241
232
  - public/_client_libs.html
233
+ - public/css/bootstrap.css
242
234
  - public/css/styles.less
235
+ - public/fonts/glyphicons-halflings-regular.eot
236
+ - public/fonts/glyphicons-halflings-regular.svg
237
+ - public/fonts/glyphicons-halflings-regular.ttf
238
+ - public/fonts/glyphicons-halflings-regular.woff
243
239
  - public/images/conjur-logo.svg
244
240
  - public/images/icon-client-pc.svg
245
241
  - public/images/icon-environment.png
@@ -250,11 +246,22 @@ files:
250
246
  - public/images/icon-variable.png
251
247
  - public/index.html.erb
252
248
  - public/js/init.js
249
+ - public/js/lib/JSXTransformer.js
250
+ - public/js/lib/async.js
251
+ - public/js/lib/backbone.js
252
+ - public/js/lib/bootstrap.js
253
253
  - public/js/lib/date.extensions.js
254
+ - public/js/lib/less.js
255
+ - public/js/lib/moment.js
254
256
  - public/js/lib/pace.js
255
257
  - public/js/lib/prelude-browser-min.js
258
+ - public/js/lib/react-bootstrap.js
259
+ - public/js/lib/react-bootstrap.min.js
256
260
  - public/js/lib/sorted-set.no-require.js
257
261
  - public/js/lib/sorted-set.no-require.js.txt
262
+ - public/js/lib/underscore-min.js
263
+ - public/js/lib/underscore.string.min.js
264
+ - public/js/main.js
258
265
  - public/js/models/groupRecord.js
259
266
  - public/js/models/hostRecord.js
260
267
  - public/js/models/layerRecord.js
@@ -270,7 +277,6 @@ files:
270
277
  - public/js/routers.js
271
278
  - public/js/views/annotations.js
272
279
  - public/js/views/audit.js
273
- - public/js/views/chart.js
274
280
  - public/js/views/dashboard.js
275
281
  - public/js/views/generic.js
276
282
  - public/js/views/group.js
@@ -350,16 +356,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
350
356
  version: '0'
351
357
  requirements: []
352
358
  rubyforge_project:
353
- rubygems_version: 2.0.14
359
+ rubygems_version: 2.2.2
354
360
  signing_key:
355
361
  specification_version: 4
356
362
  summary: Conjur User Interface Plugin
357
363
  test_files:
358
- - features/navigation_bar.feature
359
- - features/step_definitions/custom_step.rb
360
- - features/support/env.rb
361
- - features/support/hooks.rb
362
- - features/support/world.rb
363
364
  - spec/javascripts/helpers/.gitkeep
364
365
  - spec/javascripts/support/jasmine.yml
365
366
  - spec/javascripts/support/jasmine_helper.rb
data/.jshintrc DELETED
@@ -1,41 +0,0 @@
1
- {
2
- "bitwise": true,
3
- "camelcase": true,
4
- "curly": true,
5
- "eqeqeq": true,
6
- "es3": true,
7
- "forin": true,
8
- "freeze": true,
9
- "immed": false,
10
- "indent": 4,
11
- "latedef": true,
12
- "newcap": false,
13
- "noarg": true,
14
- "noempty": true,
15
- "nonbsp": true,
16
- "nonew": true,
17
- "plusplus": false,
18
- // "quotmark": "single",
19
- "undef": true,
20
- "unused": true,
21
- "strict": true,
22
- "maxparams": 8,
23
- "maxdepth": 4,
24
- "maxstatements": 20,
25
- "maxcomplexity": 20,
26
- "maxlen": 100,
27
- "browser": true,
28
- "couch": false,
29
- "devel": true,
30
- "dojo": false,
31
- "jquery": true,
32
- "mootools": false,
33
- "node": false,
34
- "nonstandard": true,
35
- "phantom": false,
36
- "prototypejs": false,
37
- "rhino": false,
38
- "worker": false,
39
- "wsh": false,
40
- "yui": false
41
- }
data/bower.json DELETED
@@ -1,93 +0,0 @@
1
- {
2
- "name": "conjur-asset-ui",
3
- "private": true,
4
- "version": "1.2.0",
5
- "homepage": "https://github.com/conjurinc/conjur-asset-ui",
6
- "authors": [
7
- "Nikolai Sevostjanov <nikolai.sevostjanov@gmail.com>"
8
- ],
9
- "license": "MIT",
10
- "ignore": [
11
- "**/.*",
12
- "node_modules",
13
- "bower_components",
14
- "test",
15
- "tests"
16
- ],
17
- "dependencies": {
18
- "jquery": "~2.1.1",
19
- "async": "~0.9.0",
20
- "backbone": "~1.1.2",
21
- "moment": "~2.8.3",
22
- "underscore": "~1.7.0",
23
- "underscore.string": "~2.3.3",
24
- "react": "~0.11.2",
25
- "bootstrap": "~3.2.0",
26
- "react-bootstrap": "~0.12.0",
27
- "d3": "~3.4.13",
28
- "underscore-deep-extend": "~0.0.5"
29
- },
30
- "overrides": {
31
- "jquery": {
32
- "main": [
33
- "dist/jquery.min.js",
34
- "dist/jquery.min.map"
35
- ]
36
- },
37
- "async": {
38
- "main": [
39
- "lib/async.js"
40
- ]
41
- },
42
- "backbone": {
43
- "main": [
44
- "backbone.js"
45
- ]
46
- },
47
- "moment": {
48
- "main": [
49
- "min/moment-with-locales.min.js"
50
- ]
51
- },
52
- "underscore": {
53
- "main": [
54
- "underscore-min.js"
55
- ]
56
- },
57
- "underscore.string": {
58
- "main": [
59
- "lib/underscore.string.js"
60
- ]
61
- },
62
- "react": {
63
- "main": [
64
- "react-with-addons.min.js"
65
- ]
66
- },
67
- "react-bootstrap": {
68
- "main": [
69
- "react-bootstrap.min.js"
70
- ]
71
- },
72
- "bootstrap": {
73
- "main": [
74
- "dist/js/bootstrap.min.js",
75
- "dist/css/bootstrap.min.css",
76
- "dist/fonts/*.eot",
77
- "dist/fonts/*.svg",
78
- "dist/fonts/*.ttf",
79
- "dist/fonts/*.woff"
80
- ]
81
- },
82
- "d3": {
83
- "main": [
84
- "d3.min.js"
85
- ]
86
- },
87
- "underscore-deep-extend": {
88
- "main": [
89
- "index.js"
90
- ]
91
- }
92
- }
93
- }
@@ -1,31 +0,0 @@
1
- Feature: Navigation menu
2
- Scenario: Open Dashboard page
3
- Given I should logged in
4
- When I click on the button Dashboard of the navigation menu
5
- Then element having css "#content .dashboard" should be present
6
-
7
- Scenario Outline: Open page using navigation bar
8
- Given I should logged in
9
- When I click on the button <btn> of the navigation menu
10
- Then the <box> list should be present
11
- And the <btn> button of the navigation menu should be active
12
- And other button except the <btn> button of the navigation menu should be not active
13
-
14
- Examples:
15
- | btn | box |
16
- | Users | User |
17
- | Groups | Group |
18
- | Hosts | Host |
19
- | Layers | Layer |
20
- | Variables | Variable |
21
- | Policies | Policy |
22
-
23
- Scenario: Open Audit page
24
- Given I should logged in
25
- When I click on the button Audit of the navigation menu
26
- Then element having css "#content .audit h3" should be present
27
- And the Audit button of the navigation menu should be active
28
- And other button except the Audit button of the navigation menu should be not active
29
-
30
- Scenario: Close the browser
31
- Then I close browser
@@ -1,32 +0,0 @@
1
- require 'selenium-cucumber'
2
-
3
- Given(/^I should logged in$/) do
4
- step %[I navigate to "#{login_url}"]
5
- end
6
-
7
- When(/^I click on the button (.*) of the navigation menu$/) do |btn|
8
- id = navigation_btn_to_id(btn)
9
-
10
- step %[I click on element having css ".navbar .dropdown a"]
11
- step %[element having css "#{id} a" should be present]
12
- step %[I click on element having css "#{id} a"]
13
- end
14
-
15
- Then(/^the (.*) button of the navigation menu should be active$/) do |btn|
16
- id = navigation_btn_to_id(btn)
17
-
18
- step %[I click on element having css ".navbar .dropdown a"]
19
- step %[element having css "#{id}.active a" should be present]
20
- end
21
-
22
- Then(/^the (.*) list should be present$/) do |btn|
23
- btn = btn.downcase
24
-
25
- step %[element having css "#content .#{btn}Box .#{btn}List h2" should be present]
26
- end
27
-
28
- Then(/^other button except the (.*) button of the navigation menu should be not active$/) do |btn|
29
- id = navigation_btn_to_id(btn)
30
-
31
- WAIT.until { $driver.find_elements(:css => '.navbar li.active').count } == 1
32
- end
@@ -1,38 +0,0 @@
1
- require 'rubygems'
2
- require 'selenium-webdriver'
3
-
4
- def print_error
5
- puts "\nInappropraite browser \"#{ENV['BROWSER']}\""
6
- puts "\nUsage : cucumber BROWSER=browser_name"
7
- puts "\nbrowser_name can be one of following :"
8
- puts "1.ie\n2.chrome\n3.ff\n4.safari\n5.opera"
9
- puts "\nNow using default browser \"Firefox\""
10
- end
11
-
12
- case ENV['BROWSER']
13
- when 'ie'
14
- browser_type = :ie
15
- when 'ff'
16
- browser_type = :ff
17
- when 'chrome'
18
- browser_type = :chrome
19
- when 'opera'
20
- browser_type = :opera
21
- when 'safari'
22
- browser_type = :safari
23
- else
24
- if ENV['BROWSER']
25
- print_error
26
- end
27
-
28
- browser_type = :ff
29
- end
30
-
31
-
32
- begin
33
- $driver = Selenium::WebDriver.for(browser_type)
34
- $driver.manage().window().maximize()
35
-
36
- rescue Exception => e
37
- puts e.message
38
- end
@@ -1,30 +0,0 @@
1
- Before do
2
- require 'background_process'
3
- command = 'conjur ui'
4
-
5
- ENV['DONT_OPEN_IN_BROWSER'] = 'true'
6
-
7
- @process = PTYBackgroundProcess.run command
8
-
9
- exit = false
10
-
11
- until exit do
12
- raw_line = @process.stdout.gets
13
-
14
- unless (match = /^If your browser did not opened the UI automatically, point it to (.*)$/.match(raw_line)).nil?
15
- @login_url = match[1]
16
- exit = true
17
- end
18
- end
19
-
20
- raise "Can't run #{command}" unless @process.running?
21
-
22
- @process_thread = Thread.new do
23
- # pass
24
- end
25
- end
26
-
27
- After do
28
- @process_thread.kill
29
- @process.kill('TERM')
30
- end
@@ -1,17 +0,0 @@
1
- module UIWorld
2
- def login_url
3
- @login_url
4
- end
5
-
6
- def navigation_btn_to_id(btn)
7
- id = "#nav-#{btn.downcase}"
8
-
9
- if btn == 'Dashboard'
10
- id = '#nav-home'
11
- end
12
-
13
- id
14
- end
15
- end
16
-
17
- World(UIWorld)
data/gulpfile.js DELETED
@@ -1,140 +0,0 @@
1
- var gulp = require('gulp'),
2
- autoprefixer = require('gulp-autoprefixer'),
3
- flatten = require('gulp-flatten'),
4
- cache = require('gulp-cached'),
5
- concat = require('gulp-concat'),
6
- uglify = require('gulp-uglify'),
7
- plumber = require('gulp-plumber'),
8
- react = require('gulp-react'),
9
- remember = require('gulp-remember'),
10
- jshint = require('gulp-jshint'),
11
- stylish = require('jshint-stylish'),
12
- less = require('gulp-less'),
13
- sourcemaps = require('gulp-sourcemaps'),
14
- mainBowerFiles = require('main-bower-files'),
15
- minifyCSS = require('gulp-minify-css'),
16
- filter = require('gulp-filter'),
17
- del = require('del');
18
-
19
- var paths = {
20
- bower: 'bower_components',
21
- styles: 'public/css/*.less',
22
- scripts: [
23
- 'public/js/init.js',
24
- 'public/js/models/record.js',
25
- 'public/js/models/*.js',
26
- 'public/js/views/owned.js',
27
- 'public/js/views/chart.js',
28
- 'public/js/views/resource.js',
29
- 'public/js/views/role.js',
30
- 'public/js/views/role.js',
31
- 'public/js/views/permissions.js',
32
- 'public/js/views/time.js',
33
- 'public/js/views/mixins/search.js',
34
- 'public/js/views/mixins/tabs.js',
35
- 'public/js/views/**/*.js',
36
- 'public/js/routers.js'
37
- ]
38
- };
39
-
40
- gulp.task('clean', function(cb) {
41
- del(['public/build'], cb);
42
- });
43
-
44
- gulp.task('bower', function() {
45
- var jsFilter = filter(function(file) {
46
- return /\.js$/.test(file.path) && !/\.min\.js$/.test(file.path);
47
- });
48
-
49
- var jsMinFilter = filter(['*.min.js']),
50
- cssFilter = filter(['*.min.css']),
51
- fontFilter = filter(['*.eot', '*.woff', '*.svg', '*.ttf']);
52
-
53
- return gulp
54
- .src(mainBowerFiles())
55
- .pipe(fontFilter)
56
- .pipe(flatten())
57
- .pipe(gulp.dest('public/build/fonts'))
58
- .pipe(fontFilter.restore())
59
-
60
- .pipe(jsFilter)
61
- .pipe(concat('vendor.min.js'))
62
- .pipe(uglify())
63
- .pipe(jsFilter.restore())
64
-
65
- .pipe(jsMinFilter)
66
- .pipe(concat('vendor.min.js'))
67
- .pipe(gulp.dest('public/build/js'))
68
- .pipe(jsFilter.restore())
69
-
70
- .pipe(cssFilter)
71
- .pipe(concat('vendor.css'))
72
- .pipe(gulp.dest('public/build/css'))
73
- .pipe(cssFilter.restore());
74
- });
75
-
76
- gulp.task('scripts', function() {
77
- return gulp.src(paths.scripts)
78
- .pipe(cache('scripts'))
79
- .pipe(plumber())
80
- .pipe(react())
81
- .pipe(plumber.stop())
82
- .pipe(remember('scripts'))
83
- .pipe(sourcemaps.init())
84
- .pipe(concat('app.min.js'))
85
- .pipe(uglify())
86
- .pipe(sourcemaps.write('../maps'))
87
- .pipe(gulp.dest('public/build/js'));
88
- });
89
-
90
- gulp.task('jshint', function() {
91
- var stream = gulp.src(paths.scripts)
92
- .pipe(cache('linting'))
93
- .pipe(plumber())
94
- .pipe(react())
95
- .pipe(plumber.stop())
96
- .pipe(jshint())
97
- .pipe(jshint.reporter(stylish));
98
-
99
- if (process.env.CI) {
100
- stream = stream.pipe(jshint.reporter('fail'));
101
- }
102
-
103
- return stream;
104
- });
105
-
106
- gulp.task('styles', function() {
107
- return gulp.src(paths.styles)
108
- // https://github.com/plus3network/gulp-less/pull/85
109
- // .pipe(sourcemaps.init())
110
- .pipe(less())
111
- .pipe(autoprefixer({
112
- browsers: ['> 1%', 'last 2 versions', 'Firefox ESR'],
113
- cascade: false
114
- }))
115
- .pipe(minifyCSS({keepBreaks: true}))
116
- // .pipe(sourcemaps.write('../maps'))
117
- .pipe(gulp.dest('public/build/css'));
118
- });
119
-
120
- gulp.task('watch', function(cb) {
121
- gulp.watch(paths.bower, ['bower']);
122
- gulp.watch(paths.styles, ['styles']);
123
-
124
- var watcher = gulp.watch(paths.scripts, ['jshint', 'scripts']);
125
-
126
- watcher.on('change', function (event) {
127
- if (event.type === 'deleted') {
128
- delete cache.caches['scripts'][event.path];
129
- remember.forget('scripts', event.path);
130
- }
131
- });
132
-
133
- cb();
134
-
135
- console.log('Watching files for changes...');
136
- });
137
-
138
- gulp.task('build', ['bower', 'styles', 'jshint', 'scripts']);
139
-
140
- gulp.task('default', ['build']);