From 68be2b5bd1bcc8713f632ffb4aa88de15a5acd7d Mon Sep 17 00:00:00 2001 From: Axel Peter Date: Tue, 10 Jul 2018 10:27:56 +0200 Subject: [PATCH 01/10] feat(oui-navbar): add brand and toggler component --- packages/oui-navbar/README.md | 14 +++-- .../src/brand/navbar-brand.component.js | 29 ++++++++++ .../oui-navbar/src/brand/navbar-brand.html | 16 ++++++ packages/oui-navbar/src/index.js | 4 ++ packages/oui-navbar/src/navbar.component.js | 8 ++- packages/oui-navbar/src/navbar.controller.js | 10 ---- packages/oui-navbar/src/navbar.html | 57 ++++++------------- .../src/toggler/navbar-toggler.component.js | 20 +++++++ .../src/toggler/navbar-toggler.html | 25 ++++++++ 9 files changed, 127 insertions(+), 56 deletions(-) create mode 100644 packages/oui-navbar/src/brand/navbar-brand.component.js create mode 100644 packages/oui-navbar/src/brand/navbar-brand.html create mode 100644 packages/oui-navbar/src/toggler/navbar-toggler.component.js create mode 100644 packages/oui-navbar/src/toggler/navbar-toggler.html diff --git a/packages/oui-navbar/README.md b/packages/oui-navbar/README.md index 2670d2d3..f1587a96 100644 --- a/packages/oui-navbar/README.md +++ b/packages/oui-navbar/README.md @@ -5,15 +5,19 @@ ## Usage ```html:preview -
+ aside-links="$ctrl.asideLinks"> + + + + -
``` Note: All children menus have `.oui-navbar-menu_fixed`. The component is intended to be used in `fixed` mode. To avoid being hidden by the documentation navbar, this example is not `fixed`. diff --git a/packages/oui-navbar/src/brand/navbar-brand.component.js b/packages/oui-navbar/src/brand/navbar-brand.component.js new file mode 100644 index 00000000..a1d3f3d2 --- /dev/null +++ b/packages/oui-navbar/src/brand/navbar-brand.component.js @@ -0,0 +1,29 @@ +import template from "./navbar-brand.html"; + +export default { + bindings: { + href: "@", + heading: "@?", + ariaLabel: "@?", + + iconAlt: "@?", + iconClass: "@?", + iconSrc: "@?" + }, + controller: class { + constructor ($element, $timeout) { + "ngInject"; + + this.$element = $element; + this.$timeout = $timeout; + } + + $postLink () { + this.$timeout(() => + this.$element + .removeAttr("aria-label") + ); + } + }, + template +}; diff --git a/packages/oui-navbar/src/brand/navbar-brand.html b/packages/oui-navbar/src/brand/navbar-brand.html new file mode 100644 index 00000000..731d301d --- /dev/null +++ b/packages/oui-navbar/src/brand/navbar-brand.html @@ -0,0 +1,16 @@ + + + + + + + diff --git a/packages/oui-navbar/src/index.js b/packages/oui-navbar/src/index.js index abddba4c..91c629cf 100644 --- a/packages/oui-navbar/src/index.js +++ b/packages/oui-navbar/src/index.js @@ -1,10 +1,12 @@ import KEYBOARD_KEYS from "./keyboard-keys.constant"; import Navbar from "./navbar.component"; +import NavbarBrand from "./brand/navbar-brand.component"; import NavbarConfigurationProvider from "./navbar.provider.js"; import NavbarGroup from "./group/navbar-group.directive"; import NavbarGroupService from "./group/navbar-group.service"; import NavbarMenu from "./menu/navbar-menu.component"; import NavbarService from "./navbar.service"; +import NavbarToggler from "./toggler/navbar-toggler.component"; export default angular .module("oui.navbar", [ @@ -13,8 +15,10 @@ export default angular ]) .constant("KEYBOARD_KEYS", KEYBOARD_KEYS) .component("ouiNavbar", Navbar) + .component("ouiNavbarBrand", NavbarBrand) .directive("ouiNavbarGroup", NavbarGroup) .component("ouiNavbarMenu", NavbarMenu) + .component("ouiNavbarToggler", NavbarToggler) .provider("ouiNavbarConfiguration", NavbarConfigurationProvider) .service("NavbarService", NavbarService) .service("NavbarGroupService", NavbarGroupService) diff --git a/packages/oui-navbar/src/navbar.component.js b/packages/oui-navbar/src/navbar.component.js index b3dd175c..9db97d51 100644 --- a/packages/oui-navbar/src/navbar.component.js +++ b/packages/oui-navbar/src/navbar.component.js @@ -12,5 +12,11 @@ export default { fixed: " { diff --git a/packages/oui-navbar/src/navbar.html b/packages/oui-navbar/src/navbar.html index ce09a1e7..f719062a 100644 --- a/packages/oui-navbar/src/navbar.html +++ b/packages/oui-navbar/src/navbar.html @@ -1,47 +1,24 @@ - - - - - - +
+ + +
- - - - - - - +
+ + +
diff --git a/packages/oui-navbar/src/toggler/navbar-toggler.component.js b/packages/oui-navbar/src/toggler/navbar-toggler.component.js new file mode 100644 index 00000000..d7a0d1cf --- /dev/null +++ b/packages/oui-navbar/src/toggler/navbar-toggler.component.js @@ -0,0 +1,20 @@ +import template from "./navbar-toggler.html"; + +export default { + require: { + navbarCtrl: "^^ouiNavbar" + }, + bindings: { + links: "<" + }, + controller: class { + + $onChanges (changes) { + // Get links changes for the loader + if (changes.links) { + this.loaded = !!changes.links.currentValue; + } + } + }, + template +}; diff --git a/packages/oui-navbar/src/toggler/navbar-toggler.html b/packages/oui-navbar/src/toggler/navbar-toggler.html new file mode 100644 index 00000000..b0b8594c --- /dev/null +++ b/packages/oui-navbar/src/toggler/navbar-toggler.html @@ -0,0 +1,25 @@ + + + + + + From 7c3fcec5520a2e569f92d4a1a62d9468040db232 Mon Sep 17 00:00:00 2001 From: Axel Peter Date: Tue, 10 Jul 2018 17:12:26 +0200 Subject: [PATCH 02/10] feat(oui-navbar): add link component --- packages/oui-navbar/src/index.js | 4 ++- .../src/link/navbar-link.component.js | 19 ++++++++++++++ .../src/link/navbar-link.controller.js | 20 ++++++++++++++ packages/oui-navbar/src/link/navbar-link.html | 14 ++++++++++ packages/oui-navbar/src/navbar.html | 26 ++++++++----------- .../src/toggler/navbar-toggler.component.js | 1 - 6 files changed, 67 insertions(+), 17 deletions(-) create mode 100644 packages/oui-navbar/src/link/navbar-link.component.js create mode 100644 packages/oui-navbar/src/link/navbar-link.controller.js create mode 100644 packages/oui-navbar/src/link/navbar-link.html diff --git a/packages/oui-navbar/src/index.js b/packages/oui-navbar/src/index.js index 91c629cf..3a802ba9 100644 --- a/packages/oui-navbar/src/index.js +++ b/packages/oui-navbar/src/index.js @@ -4,6 +4,7 @@ import NavbarBrand from "./brand/navbar-brand.component"; import NavbarConfigurationProvider from "./navbar.provider.js"; import NavbarGroup from "./group/navbar-group.directive"; import NavbarGroupService from "./group/navbar-group.service"; +import NavbarLink from "./link/navbar-link.component"; import NavbarMenu from "./menu/navbar-menu.component"; import NavbarService from "./navbar.service"; import NavbarToggler from "./toggler/navbar-toggler.component"; @@ -16,9 +17,10 @@ export default angular .constant("KEYBOARD_KEYS", KEYBOARD_KEYS) .component("ouiNavbar", Navbar) .component("ouiNavbarBrand", NavbarBrand) - .directive("ouiNavbarGroup", NavbarGroup) + .component("ouiNavbarLink", NavbarLink) .component("ouiNavbarMenu", NavbarMenu) .component("ouiNavbarToggler", NavbarToggler) + .directive("ouiNavbarGroup", NavbarGroup) .provider("ouiNavbarConfiguration", NavbarConfigurationProvider) .service("NavbarService", NavbarService) .service("NavbarGroupService", NavbarGroupService) diff --git a/packages/oui-navbar/src/link/navbar-link.component.js b/packages/oui-navbar/src/link/navbar-link.component.js new file mode 100644 index 00000000..39bc74bd --- /dev/null +++ b/packages/oui-navbar/src/link/navbar-link.component.js @@ -0,0 +1,19 @@ +import controller from "./navbar-link.controller"; +import template from "./navbar-link.html"; + +export default { + require: { + navbarCtrl: "^^ouiNavbar" + }, + bindings: { + name: "@", + text: "@", + href: "@", + state: "@?", + stateParams: " + this.$element + .addClass("oui-navbar-list__item") + ); + } + + // Return value of "ui-sref" + getFullSref () { + return `${this.state}(${JSON.stringify(this.stateParams)})`; + } +} diff --git a/packages/oui-navbar/src/link/navbar-link.html b/packages/oui-navbar/src/link/navbar-link.html new file mode 100644 index 00000000..291417be --- /dev/null +++ b/packages/oui-navbar/src/link/navbar-link.html @@ -0,0 +1,14 @@ + + diff --git a/packages/oui-navbar/src/navbar.html b/packages/oui-navbar/src/navbar.html index f719062a..38de5155 100644 --- a/packages/oui-navbar/src/navbar.html +++ b/packages/oui-navbar/src/navbar.html @@ -22,23 +22,19 @@ - + + diff --git a/packages/oui-navbar/src/toggler/navbar-toggler.component.js b/packages/oui-navbar/src/toggler/navbar-toggler.component.js index d7a0d1cf..942f941d 100644 --- a/packages/oui-navbar/src/toggler/navbar-toggler.component.js +++ b/packages/oui-navbar/src/toggler/navbar-toggler.component.js @@ -8,7 +8,6 @@ export default { links: "<" }, controller: class { - $onChanges (changes) { // Get links changes for the loader if (changes.links) { From 04f3a9601bacd1e04d9103c97a5cc5dc99d9c8dd Mon Sep 17 00:00:00 2001 From: Axel Peter Date: Wed, 11 Jul 2018 13:18:01 +0200 Subject: [PATCH 03/10] feat(oui-navbar): add notification component --- packages/oui-navbar/src/index.js | 4 +- packages/oui-navbar/src/link/navbar-link.html | 15 ++- packages/oui-navbar/src/navbar.html | 111 +++--------------- .../navbar-notification.component.js | 20 ++++ .../navbar-notification.controller.js | 17 +++ .../src/notification/navbar-notification.html | 96 +++++++++++++++ 6 files changed, 164 insertions(+), 99 deletions(-) create mode 100644 packages/oui-navbar/src/notification/navbar-notification.component.js create mode 100644 packages/oui-navbar/src/notification/navbar-notification.controller.js create mode 100644 packages/oui-navbar/src/notification/navbar-notification.html diff --git a/packages/oui-navbar/src/index.js b/packages/oui-navbar/src/index.js index 3a802ba9..4e66e8b0 100644 --- a/packages/oui-navbar/src/index.js +++ b/packages/oui-navbar/src/index.js @@ -1,11 +1,12 @@ import KEYBOARD_KEYS from "./keyboard-keys.constant"; import Navbar from "./navbar.component"; import NavbarBrand from "./brand/navbar-brand.component"; -import NavbarConfigurationProvider from "./navbar.provider.js"; +import NavbarConfigurationProvider from "./navbar.provider"; import NavbarGroup from "./group/navbar-group.directive"; import NavbarGroupService from "./group/navbar-group.service"; import NavbarLink from "./link/navbar-link.component"; import NavbarMenu from "./menu/navbar-menu.component"; +import NavbarNotification from "./notification/navbar-notification.component"; import NavbarService from "./navbar.service"; import NavbarToggler from "./toggler/navbar-toggler.component"; @@ -19,6 +20,7 @@ export default angular .component("ouiNavbarBrand", NavbarBrand) .component("ouiNavbarLink", NavbarLink) .component("ouiNavbarMenu", NavbarMenu) + .component("ouiNavbarNotification", NavbarNotification) .component("ouiNavbarToggler", NavbarToggler) .directive("ouiNavbarGroup", NavbarGroup) .provider("ouiNavbarConfiguration", NavbarConfigurationProvider) diff --git a/packages/oui-navbar/src/link/navbar-link.html b/packages/oui-navbar/src/link/navbar-link.html index 291417be..2c1e4fae 100644 --- a/packages/oui-navbar/src/link/navbar-link.html +++ b/packages/oui-navbar/src/link/navbar-link.html @@ -1,13 +1,26 @@ + + diff --git a/packages/oui-navbar/src/navbar.html b/packages/oui-navbar/src/navbar.html index 38de5155..1ab34d2c 100644 --- a/packages/oui-navbar/src/navbar.html +++ b/packages/oui-navbar/src/navbar.html @@ -38,7 +38,9 @@ -