bastion 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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