tag, but was not found"
+ assert page.has_selector?('h1', :text => '5-XXLarge'), "5-XXLarge was expected in the tag, but was not found"
end
test "edit page" do
@@ -31,20 +31,6 @@ class ComputeProfileIntegrationTest < ActionDispatch::IntegrationTest
test "show page" do
visit compute_profiles_path
click_link("1-Small")
- assert page.has_selector?('h1', :text => 'Compute profile: 1-Small'), "Compute profile: 1-Small was expected in the tag, but was not found"
- end
-
- test "edit compute attribute page" do
- visit compute_profile_path(compute_profiles(:one))
- # amazon123 exists in fixture compute_attributes.yml
- click_link("amazon123 (eu-west-1-EC2)")
- assert page.has_selector?('h1', :text => 'Edit compute profile on amazon123 (eu-west-1-EC2)'), "Edit compute profile on amazon123 (eu-west-1-EC2) was expected in the tag, but was not found"
- end
-
- test "new compute attribute page" do
- visit compute_profile_path(compute_profiles(:one))
- # another-ec2 is not in fixture compute_attributes.yml
- click_link("another-ec2 (eu-west-1-EC2)")
- assert page.has_selector?('h1', :text => 'New compute profile on another-ec2 (eu-west-1-EC2)'), "New compute profile on another-ec2 (eu-west-1-EC2) was expected in the tag, but was not found"
+ assert page.has_selector?('h1', :text => '1-Small'), "1-Small was expected in the tag, but was not found"
end
end
diff --git a/test/integration/host_js_test.rb b/test/integration/host_js_test.rb
index 69724d7484f..79a9c3398a7 100644
--- a/test/integration/host_js_test.rb
+++ b/test/integration/host_js_test.rb
@@ -513,7 +513,7 @@ class HostJSTest < IntegrationTestWithJavascript
assert table.find('td.fqdn').has_content?('name.'+domain.name)
assert page.find('#hostFQDN').has_content?('| name.'+domain.name)
- page.find(:link, "Host").click
+ click_link('host_tab')
assert_equal 'name', page.find('#host_name', :visible => false).value
end
diff --git a/test/integration_test_helper.rb b/test/integration_test_helper.rb
index bd49e19bb98..d1651fadb1b 100644
--- a/test/integration_test_helper.rb
+++ b/test/integration_test_helper.rb
@@ -41,7 +41,7 @@ class ActionDispatch::IntegrationTest
def assert_index_page(index_path,title_text,new_link_text = nil,has_search = true,has_pagination = true)
visit index_path
- assert page.has_selector?('h1', :text => title_text), "#{title_text} was expected in the tag, but was not found"
+ assert page.has_selector?(:xpath, "//div[@id='breadcrumb'and contains(.,'#{title_text}')]"), "#{title_text} was expected in the div[@breadcrumb] tag, but was not found"
(assert first(:link, new_link_text).visible?, "#{new_link_text} is not visible") if new_link_text
(assert find_button('Search').visible?, "Search button is not visible") if has_search
end
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumb.test.js b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumb.test.js
new file mode 100644
index 00000000000..67f33d11215
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumb.test.js
@@ -0,0 +1,20 @@
+import toJson from 'enzyme-to-json';
+import { shallow } from 'enzyme';
+import React from 'react';
+import { mockedBreadcrumbsMenu, headerTitle } from './Breadcrumbs.fixtures';
+import ForemanBreadcrumb from './';
+
+jest.unmock('./');
+
+describe('render breadcrumbs', () => {
+ it('renders breadcrumbs menu', () => {
+ const wrapper = shallow();
+
+ expect(toJson(wrapper)).toMatchSnapshot();
+ });
+ it('renders h1 title', () => {
+ const wrapper = shallow();
+
+ expect(toJson(wrapper)).toMatchSnapshot();
+ });
+});
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumbs.fixtures.js b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumbs.fixtures.js
new file mode 100644
index 00000000000..9c9bf04e2a4
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumbs.fixtures.js
@@ -0,0 +1,19 @@
+export const mockedBreadcrumbsMenu = {
+ menu: [
+ {
+ caption: 'root',
+ url: '/some-url',
+ },
+ {
+ caption: 'child',
+ },
+ ],
+};
+
+export const headerTitle = {
+ menu: [
+ {
+ caption: 'title',
+ },
+ ],
+};
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap b/webpack/assets/javascripts/react_app/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap
new file mode 100644
index 00000000000..abfda251144
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap
@@ -0,0 +1,42 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`render breadcrumbs renders breadcrumbs menu 1`] = `
+
+
+
+
+
+
+
+`;
+
+exports[`render breadcrumbs renders h1 title 1`] = `
+
+
+ title
+
+
+`;
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/index.js b/webpack/assets/javascripts/react_app/components/Breadcrumb/index.js
new file mode 100644
index 00000000000..650878aa6f1
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/index.js
@@ -0,0 +1,30 @@
+import React from 'react';
+import { Breadcrumb } from 'patternfly-react';
+import 'patternfly-react/dist/sass/_breadcrumb.scss';
+
+const ForemanBreadcrumb = ({ data }) => {
+ if (data.menu.length === 1) {
+ return (
+
+ {data.menu[0].caption}
+
+ );
+ }
+ return (
+
+
+ {data.menu.map((item, index) => (
+
+ ))}
+
+
+
+ );
+};
+
+export default ForemanBreadcrumb;
diff --git a/webpack/assets/javascripts/react_app/components/componentRegistry.js b/webpack/assets/javascripts/react_app/components/componentRegistry.js
index 4542d3d7980..cd6a1874d0d 100644
--- a/webpack/assets/javascripts/react_app/components/componentRegistry.js
+++ b/webpack/assets/javascripts/react_app/components/componentRegistry.js
@@ -8,6 +8,7 @@ import ToastsList from './toastNotifications/';
import StorageContainer from './hosts/storage/vmware/';
import BookmarkContainer from './bookmarks';
import PasswordStrength from './user/passwordStrength/';
+import ForemanBreadcrumb from './Breadcrumb';
const componentRegistry = {
registry: {},
@@ -64,6 +65,7 @@ const coreComponets = [
{ name: 'ToastNotifications', type: ToastsList, data: false },
{ name: 'StorageContainer', type: StorageContainer },
{ name: 'PasswordStrength', type: PasswordStrength },
+ { name: 'Breadcrumb', type: ForemanBreadcrumb },
];
componentRegistry.registerMultiple(coreComponets);
tag, but was not found"
- end
-
- test "edit compute attribute page" do
- visit compute_profile_path(compute_profiles(:one))
- # amazon123 exists in fixture compute_attributes.yml
- click_link("amazon123 (eu-west-1-EC2)")
- assert page.has_selector?('h1', :text => 'Edit compute profile on amazon123 (eu-west-1-EC2)'), "Edit compute profile on amazon123 (eu-west-1-EC2) was expected in the tag, but was not found"
- end
-
- test "new compute attribute page" do
- visit compute_profile_path(compute_profiles(:one))
- # another-ec2 is not in fixture compute_attributes.yml
- click_link("another-ec2 (eu-west-1-EC2)")
- assert page.has_selector?('h1', :text => 'New compute profile on another-ec2 (eu-west-1-EC2)'), "New compute profile on another-ec2 (eu-west-1-EC2) was expected in the tag, but was not found"
+ assert page.has_selector?('h1', :text => '1-Small'), "1-Small was expected in the tag, but was not found"
end
end
diff --git a/test/integration/host_js_test.rb b/test/integration/host_js_test.rb
index 69724d7484f..79a9c3398a7 100644
--- a/test/integration/host_js_test.rb
+++ b/test/integration/host_js_test.rb
@@ -513,7 +513,7 @@ class HostJSTest < IntegrationTestWithJavascript
assert table.find('td.fqdn').has_content?('name.'+domain.name)
assert page.find('#hostFQDN').has_content?('| name.'+domain.name)
- page.find(:link, "Host").click
+ click_link('host_tab')
assert_equal 'name', page.find('#host_name', :visible => false).value
end
diff --git a/test/integration_test_helper.rb b/test/integration_test_helper.rb
index bd49e19bb98..d1651fadb1b 100644
--- a/test/integration_test_helper.rb
+++ b/test/integration_test_helper.rb
@@ -41,7 +41,7 @@ class ActionDispatch::IntegrationTest
def assert_index_page(index_path,title_text,new_link_text = nil,has_search = true,has_pagination = true)
visit index_path
- assert page.has_selector?('h1', :text => title_text), "#{title_text} was expected in the tag, but was not found"
+ assert page.has_selector?(:xpath, "//div[@id='breadcrumb'and contains(.,'#{title_text}')]"), "#{title_text} was expected in the div[@breadcrumb] tag, but was not found"
(assert first(:link, new_link_text).visible?, "#{new_link_text} is not visible") if new_link_text
(assert find_button('Search').visible?, "Search button is not visible") if has_search
end
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumb.test.js b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumb.test.js
new file mode 100644
index 00000000000..67f33d11215
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumb.test.js
@@ -0,0 +1,20 @@
+import toJson from 'enzyme-to-json';
+import { shallow } from 'enzyme';
+import React from 'react';
+import { mockedBreadcrumbsMenu, headerTitle } from './Breadcrumbs.fixtures';
+import ForemanBreadcrumb from './';
+
+jest.unmock('./');
+
+describe('render breadcrumbs', () => {
+ it('renders breadcrumbs menu', () => {
+ const wrapper = shallow();
+
+ expect(toJson(wrapper)).toMatchSnapshot();
+ });
+ it('renders h1 title', () => {
+ const wrapper = shallow();
+
+ expect(toJson(wrapper)).toMatchSnapshot();
+ });
+});
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumbs.fixtures.js b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumbs.fixtures.js
new file mode 100644
index 00000000000..9c9bf04e2a4
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumbs.fixtures.js
@@ -0,0 +1,19 @@
+export const mockedBreadcrumbsMenu = {
+ menu: [
+ {
+ caption: 'root',
+ url: '/some-url',
+ },
+ {
+ caption: 'child',
+ },
+ ],
+};
+
+export const headerTitle = {
+ menu: [
+ {
+ caption: 'title',
+ },
+ ],
+};
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap b/webpack/assets/javascripts/react_app/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap
new file mode 100644
index 00000000000..abfda251144
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap
@@ -0,0 +1,42 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`render breadcrumbs renders breadcrumbs menu 1`] = `
+
+
+
+
+
+
+
+`;
+
+exports[`render breadcrumbs renders h1 title 1`] = `
+
+
+ title
+
+
+`;
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/index.js b/webpack/assets/javascripts/react_app/components/Breadcrumb/index.js
new file mode 100644
index 00000000000..650878aa6f1
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/index.js
@@ -0,0 +1,30 @@
+import React from 'react';
+import { Breadcrumb } from 'patternfly-react';
+import 'patternfly-react/dist/sass/_breadcrumb.scss';
+
+const ForemanBreadcrumb = ({ data }) => {
+ if (data.menu.length === 1) {
+ return (
+
+ {data.menu[0].caption}
+
+ );
+ }
+ return (
+
+
+ {data.menu.map((item, index) => (
+
+ ))}
+
+
+
+ );
+};
+
+export default ForemanBreadcrumb;
diff --git a/webpack/assets/javascripts/react_app/components/componentRegistry.js b/webpack/assets/javascripts/react_app/components/componentRegistry.js
index 4542d3d7980..cd6a1874d0d 100644
--- a/webpack/assets/javascripts/react_app/components/componentRegistry.js
+++ b/webpack/assets/javascripts/react_app/components/componentRegistry.js
@@ -8,6 +8,7 @@ import ToastsList from './toastNotifications/';
import StorageContainer from './hosts/storage/vmware/';
import BookmarkContainer from './bookmarks';
import PasswordStrength from './user/passwordStrength/';
+import ForemanBreadcrumb from './Breadcrumb';
const componentRegistry = {
registry: {},
@@ -64,6 +65,7 @@ const coreComponets = [
{ name: 'ToastNotifications', type: ToastsList, data: false },
{ name: 'StorageContainer', type: StorageContainer },
{ name: 'PasswordStrength', type: PasswordStrength },
+ { name: 'Breadcrumb', type: ForemanBreadcrumb },
];
componentRegistry.registerMultiple(coreComponets);
tag, but was not found"
+ assert page.has_selector?('h1', :text => '1-Small'), "1-Small was expected in the tag, but was not found"
end
end
diff --git a/test/integration/host_js_test.rb b/test/integration/host_js_test.rb
index 69724d7484f..79a9c3398a7 100644
--- a/test/integration/host_js_test.rb
+++ b/test/integration/host_js_test.rb
@@ -513,7 +513,7 @@ class HostJSTest < IntegrationTestWithJavascript
assert table.find('td.fqdn').has_content?('name.'+domain.name)
assert page.find('#hostFQDN').has_content?('| name.'+domain.name)
- page.find(:link, "Host").click
+ click_link('host_tab')
assert_equal 'name', page.find('#host_name', :visible => false).value
end
diff --git a/test/integration_test_helper.rb b/test/integration_test_helper.rb
index bd49e19bb98..d1651fadb1b 100644
--- a/test/integration_test_helper.rb
+++ b/test/integration_test_helper.rb
@@ -41,7 +41,7 @@ class ActionDispatch::IntegrationTest
def assert_index_page(index_path,title_text,new_link_text = nil,has_search = true,has_pagination = true)
visit index_path
- assert page.has_selector?('h1', :text => title_text), "#{title_text} was expected in the tag, but was not found"
+ assert page.has_selector?(:xpath, "//div[@id='breadcrumb'and contains(.,'#{title_text}')]"), "#{title_text} was expected in the div[@breadcrumb] tag, but was not found"
(assert first(:link, new_link_text).visible?, "#{new_link_text} is not visible") if new_link_text
(assert find_button('Search').visible?, "Search button is not visible") if has_search
end
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumb.test.js b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumb.test.js
new file mode 100644
index 00000000000..67f33d11215
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumb.test.js
@@ -0,0 +1,20 @@
+import toJson from 'enzyme-to-json';
+import { shallow } from 'enzyme';
+import React from 'react';
+import { mockedBreadcrumbsMenu, headerTitle } from './Breadcrumbs.fixtures';
+import ForemanBreadcrumb from './';
+
+jest.unmock('./');
+
+describe('render breadcrumbs', () => {
+ it('renders breadcrumbs menu', () => {
+ const wrapper = shallow();
+
+ expect(toJson(wrapper)).toMatchSnapshot();
+ });
+ it('renders h1 title', () => {
+ const wrapper = shallow();
+
+ expect(toJson(wrapper)).toMatchSnapshot();
+ });
+});
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumbs.fixtures.js b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumbs.fixtures.js
new file mode 100644
index 00000000000..9c9bf04e2a4
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumbs.fixtures.js
@@ -0,0 +1,19 @@
+export const mockedBreadcrumbsMenu = {
+ menu: [
+ {
+ caption: 'root',
+ url: '/some-url',
+ },
+ {
+ caption: 'child',
+ },
+ ],
+};
+
+export const headerTitle = {
+ menu: [
+ {
+ caption: 'title',
+ },
+ ],
+};
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap b/webpack/assets/javascripts/react_app/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap
new file mode 100644
index 00000000000..abfda251144
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap
@@ -0,0 +1,42 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`render breadcrumbs renders breadcrumbs menu 1`] = `
+
+
+
+
+
+
+
+`;
+
+exports[`render breadcrumbs renders h1 title 1`] = `
+
+
+ title
+
+
+`;
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/index.js b/webpack/assets/javascripts/react_app/components/Breadcrumb/index.js
new file mode 100644
index 00000000000..650878aa6f1
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/index.js
@@ -0,0 +1,30 @@
+import React from 'react';
+import { Breadcrumb } from 'patternfly-react';
+import 'patternfly-react/dist/sass/_breadcrumb.scss';
+
+const ForemanBreadcrumb = ({ data }) => {
+ if (data.menu.length === 1) {
+ return (
+
+ {data.menu[0].caption}
+
+ );
+ }
+ return (
+
+
+ {data.menu.map((item, index) => (
+
+ ))}
+
+
+
+ );
+};
+
+export default ForemanBreadcrumb;
diff --git a/webpack/assets/javascripts/react_app/components/componentRegistry.js b/webpack/assets/javascripts/react_app/components/componentRegistry.js
index 4542d3d7980..cd6a1874d0d 100644
--- a/webpack/assets/javascripts/react_app/components/componentRegistry.js
+++ b/webpack/assets/javascripts/react_app/components/componentRegistry.js
@@ -8,6 +8,7 @@ import ToastsList from './toastNotifications/';
import StorageContainer from './hosts/storage/vmware/';
import BookmarkContainer from './bookmarks';
import PasswordStrength from './user/passwordStrength/';
+import ForemanBreadcrumb from './Breadcrumb';
const componentRegistry = {
registry: {},
@@ -64,6 +65,7 @@ const coreComponets = [
{ name: 'ToastNotifications', type: ToastsList, data: false },
{ name: 'StorageContainer', type: StorageContainer },
{ name: 'PasswordStrength', type: PasswordStrength },
+ { name: 'Breadcrumb', type: ForemanBreadcrumb },
];
componentRegistry.registerMultiple(coreComponets);
tag, but was not found"
+ assert page.has_selector?(:xpath, "//div[@id='breadcrumb'and contains(.,'#{title_text}')]"), "#{title_text} was expected in the div[@breadcrumb] tag, but was not found"
(assert first(:link, new_link_text).visible?, "#{new_link_text} is not visible") if new_link_text
(assert find_button('Search').visible?, "Search button is not visible") if has_search
end
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumb.test.js b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumb.test.js
new file mode 100644
index 00000000000..67f33d11215
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumb.test.js
@@ -0,0 +1,20 @@
+import toJson from 'enzyme-to-json';
+import { shallow } from 'enzyme';
+import React from 'react';
+import { mockedBreadcrumbsMenu, headerTitle } from './Breadcrumbs.fixtures';
+import ForemanBreadcrumb from './';
+
+jest.unmock('./');
+
+describe('render breadcrumbs', () => {
+ it('renders breadcrumbs menu', () => {
+ const wrapper = shallow();
+
+ expect(toJson(wrapper)).toMatchSnapshot();
+ });
+ it('renders h1 title', () => {
+ const wrapper = shallow();
+
+ expect(toJson(wrapper)).toMatchSnapshot();
+ });
+});
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumbs.fixtures.js b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumbs.fixtures.js
new file mode 100644
index 00000000000..9c9bf04e2a4
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/Breadcrumbs.fixtures.js
@@ -0,0 +1,19 @@
+export const mockedBreadcrumbsMenu = {
+ menu: [
+ {
+ caption: 'root',
+ url: '/some-url',
+ },
+ {
+ caption: 'child',
+ },
+ ],
+};
+
+export const headerTitle = {
+ menu: [
+ {
+ caption: 'title',
+ },
+ ],
+};
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap b/webpack/assets/javascripts/react_app/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap
new file mode 100644
index 00000000000..abfda251144
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap
@@ -0,0 +1,42 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`render breadcrumbs renders breadcrumbs menu 1`] = `
+
+
+
+
+
+
+
+`;
+
+exports[`render breadcrumbs renders h1 title 1`] = `
+
+
+ title
+
+
+`;
diff --git a/webpack/assets/javascripts/react_app/components/Breadcrumb/index.js b/webpack/assets/javascripts/react_app/components/Breadcrumb/index.js
new file mode 100644
index 00000000000..650878aa6f1
--- /dev/null
+++ b/webpack/assets/javascripts/react_app/components/Breadcrumb/index.js
@@ -0,0 +1,30 @@
+import React from 'react';
+import { Breadcrumb } from 'patternfly-react';
+import 'patternfly-react/dist/sass/_breadcrumb.scss';
+
+const ForemanBreadcrumb = ({ data }) => {
+ if (data.menu.length === 1) {
+ return (
+
+ {data.menu[0].caption}
+
+ );
+ }
+ return (
+
+
+ {data.menu.map((item, index) => (
+
+ ))}
+
+
+
+ );
+};
+
+export default ForemanBreadcrumb;
diff --git a/webpack/assets/javascripts/react_app/components/componentRegistry.js b/webpack/assets/javascripts/react_app/components/componentRegistry.js
index 4542d3d7980..cd6a1874d0d 100644
--- a/webpack/assets/javascripts/react_app/components/componentRegistry.js
+++ b/webpack/assets/javascripts/react_app/components/componentRegistry.js
@@ -8,6 +8,7 @@ import ToastsList from './toastNotifications/';
import StorageContainer from './hosts/storage/vmware/';
import BookmarkContainer from './bookmarks';
import PasswordStrength from './user/passwordStrength/';
+import ForemanBreadcrumb from './Breadcrumb';
const componentRegistry = {
registry: {},
@@ -64,6 +65,7 @@ const coreComponets = [
{ name: 'ToastNotifications', type: ToastsList, data: false },
{ name: 'StorageContainer', type: StorageContainer },
{ name: 'PasswordStrength', type: PasswordStrength },
+ { name: 'Breadcrumb', type: ForemanBreadcrumb },
];
componentRegistry.registerMultiple(coreComponets);
+
+ title +
+{data.menu[0].caption}
++