bastion 4.0.0 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 63a08480ce9af5a24a9dbfde880112f349598c8e
4
- data.tar.gz: 8f663bd988ae4e38f1f5b19184ede517a0a27066
3
+ metadata.gz: f40e45968eef402e29e6881759d26a013a601dcc
4
+ data.tar.gz: 605dc9d2da6569ecdb79418c2546b74bac899cba
5
5
  SHA512:
6
- metadata.gz: 585adde75417edb16b62fb9ec477582e4c803c8b56cff3a46e15c2707e38ef86f644e6890777d3cd08890aa38e0a8421b648f4eea194791a1fdaa4e48121f3e3
7
- data.tar.gz: 9c7e4415c5251dab68fd32e25d9976d5dbe3530f6dfd89c5f770ef5f354a7428fcf97e69e71d8fa397f3ed763c33f344e490e30b44486bd4cb79e295bb960a1c
6
+ metadata.gz: 51c603a77faa26e724ff788b533b98c250d07a42d03c57df783539a3657a1d75f3838a7106c30f95b6b939db7987d0466be2c630d10aab4398543cb46f5c8315
7
+ data.tar.gz: 69dfb2786cb0556947b2b773ea689a24b69894e2888c33f4112d8a1ef380d27f79a79399f55fc9e841aa70ea7602c8bc6a1823017a7251259589d34ea6467561
@@ -15,17 +15,21 @@ angular.module('Bastion.components').directive('bstModal',
15
15
  scope: {
16
16
  action: '&bstModal',
17
17
  modelName: '@model',
18
- model: '='
18
+ model: '=',
19
+ templateUrl: '@'
19
20
  },
20
- compile: function(tElement) {
21
- var template = angular.element('<div extend-template="components/views/bst-modal.html"></div>'), modalId;
21
+ compile: function(tElement, tAttrs) {
22
+ var template = angular.element('<div extend-template="components/views/bst-modal.html"></div>'),
23
+ templateUrl = tAttrs.templateUrl;
22
24
 
23
- template.append(tElement.children());
24
- tElement.html('');
25
- tElement = angular.element(template);
25
+ if (!templateUrl) {
26
+ template.append(tElement.children());
27
+ tElement.html('');
28
+ tElement = angular.element(template);
26
29
 
27
- modalId = 'bstModal%d.html'.replace('%d', Math.random().toString());
28
- $templateCache.put(modalId, tElement);
30
+ templateUrl = 'bstModal%d.html'.replace('%d', Math.random().toString());
31
+ $templateCache.put(templateUrl, tElement);
32
+ }
29
33
 
30
34
  return function (scope) {
31
35
  var modalInstance, modalController;
@@ -44,7 +48,7 @@ angular.module('Bastion.components').directive('bstModal',
44
48
 
45
49
  scope.openModal = function () {
46
50
  modalInstance = $uibModal.open({
47
- templateUrl: modalId,
51
+ templateUrl: templateUrl,
48
52
  controller: modalController,
49
53
  resolve: {
50
54
  model: function () {
@@ -9,8 +9,10 @@
9
9
  <p data-block="modal-body"></p>
10
10
  </div>
11
11
  <div class="modal-footer">
12
- <button class="btn btn-danger" ng-click="ok()">
13
- <span data-block="modal-confirm-button" translate>Remove</span>
14
- </button>
15
- <button class="btn btn-default" ng-click="cancel()" translate>Cancel</button>
12
+ <div data-block="modal-footer">
13
+ <button class="btn btn-danger" ng-click="ok()">
14
+ <span data-block="modal-confirm-button" translate>Remove</span>
15
+ </button>
16
+ <button class="btn btn-default" ng-click="cancel()" translate>Cancel</button>
17
+ </div>
16
18
  </div>
@@ -14,7 +14,7 @@ angular.module('Bastion.routing', ['ui.router']);
14
14
  * Routing configuration for Bastion.
15
15
  */
16
16
  function bastionRouting($stateProvider, $urlRouterProvider, $locationProvider) {
17
- var oldBrowserBastionPath = '/bastion#', getRootPath;
17
+ var oldBrowserBastionPath = '/bastion#', getRootPath, shouldRemoveTrailingSlash;
18
18
 
19
19
  getRootPath = function (path) {
20
20
  var rootPath = null;
@@ -25,6 +25,16 @@ angular.module('Bastion.routing', ['ui.router']);
25
25
  return rootPath;
26
26
  };
27
27
 
28
+ shouldRemoveTrailingSlash = function (path) {
29
+ var whiteList = ['pulp'], remove = true;
30
+
31
+ if (path.split('/')[1] && whiteList.indexOf(path.split('/')[1]) >= 0) {
32
+ remove = false;
33
+ }
34
+
35
+ return remove;
36
+ };
37
+
28
38
  $stateProvider.state('404', {
29
39
  permission: null,
30
40
  templateUrl: 'layouts/404.html'
@@ -39,8 +49,8 @@ angular.module('Bastion.routing', ['ui.router']);
39
49
  $window.location.href = oldBrowserBastionPath + $location.path();
40
50
  }
41
51
 
42
- // removing trailing slash to prevent endless redirect
43
- if (path[path.length - 1] === '/') {
52
+ // removing trailing slash to prevent endless redirect if not in ignore list
53
+ if (path[path.length - 1] === '/' && shouldRemoveTrailingSlash(path)) {
44
54
  return path.slice(0, -1);
45
55
  }
46
56
  });
@@ -1,3 +1,3 @@
1
1
  module Bastion
2
- VERSION = "4.0.0"
2
+ VERSION = "4.1.0"
3
3
  end
@@ -74,4 +74,18 @@ describe('Directive: bstModal', function() {
74
74
 
75
75
  expect($uibModal.open).toHaveBeenCalled();
76
76
  });
77
+
78
+ it("allows the specification of a modal templateUrl", function() {
79
+ var html = '<span bst-modal="item.delete(item)" template-url="blah.html"></span>';
80
+
81
+ element = angular.element(html);
82
+ compile(element)(scope);
83
+ scope.$digest();
84
+
85
+ spyOn($uibModal, 'open').and.callThrough();
86
+
87
+ elementScope.openModal();
88
+
89
+ expect($uibModal.open.calls.mostRecent().args[0].templateUrl).toBe('blah.html');
90
+ });
77
91
  });
@@ -35,6 +35,11 @@ describe('config: Bastion.routing', function () {
35
35
  goTo('/state///');
36
36
  expect($window.location.href).toBe('http://server/state');
37
37
  });
38
+
39
+ it("doesn't remove slashes if whitelisted", function () {
40
+ goTo('/pulp/repos/');
41
+ expect($window.location.href).toBe('http://server/pulp/repos/');
42
+ });
38
43
  });
39
44
 
40
45
  describe("provides an otherwise method that", function () {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bastion
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric D Helms
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-12-21 00:00:00.000000000 Z
12
+ date: 2017-01-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: angular-rails-templates
@@ -29,14 +29,14 @@ dependencies:
29
29
  name: uglifier
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ">="
32
+ - - '>='
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ">="
39
+ - - '>='
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  description: Bastion provides a UI library of AngularJS based components designed
@@ -48,8 +48,8 @@ executables: []
48
48
  extensions: []
49
49
  extra_rdoc_files: []
50
50
  files:
51
- - ".eslintignore"
52
- - ".jshintrc"
51
+ - .eslintignore
52
+ - .jshintrc
53
53
  - Gruntfile.js
54
54
  - LICENSE
55
55
  - README.md
@@ -1749,17 +1749,17 @@ require_paths:
1749
1749
  - lib
1750
1750
  required_ruby_version: !ruby/object:Gem::Requirement
1751
1751
  requirements:
1752
- - - ">="
1752
+ - - '>='
1753
1753
  - !ruby/object:Gem::Version
1754
1754
  version: '0'
1755
1755
  required_rubygems_version: !ruby/object:Gem::Requirement
1756
1756
  requirements:
1757
- - - ">="
1757
+ - - '>='
1758
1758
  - !ruby/object:Gem::Version
1759
1759
  version: '0'
1760
1760
  requirements: []
1761
1761
  rubyforge_project:
1762
- rubygems_version: 2.4.6
1762
+ rubygems_version: 2.4.8
1763
1763
  signing_key:
1764
1764
  specification_version: 4
1765
1765
  summary: UI library of AngularJS based components for Foreman