From 09dda3715d28657df272adf23fe3b0bcd5353c7d Mon Sep 17 00:00:00 2001 From: Muhammed Baderdien Date: Thu, 20 Jul 2017 12:14:51 +0200 Subject: [PATCH 1/6] Ensuring that nesting only starts from current navigated to id --- sample/angular-breadcrumb-0.5.1.zip | Bin 0 -> 5597 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sample/angular-breadcrumb-0.5.1.zip diff --git a/sample/angular-breadcrumb-0.5.1.zip b/sample/angular-breadcrumb-0.5.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..08959316f65b5698d66301aad9033859f527a08e GIT binary patch literal 5597 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 literal 0 HcmV?d00001 From da5ccbf45285004c02d73d1833dcaab5abb9d71a Mon Sep 17 00:00:00 2001 From: Muhammed Baderdien Date: Thu, 20 Jul 2017 12:15:02 +0200 Subject: [PATCH 2/6] Ensuring that nesting only starts from current navigated to id closes --- CHANGELOG.md | 6 +++ bower.json | 2 +- dist/angular-breadcrumb.js | 61 +++++++++++++++++++++------- dist/angular-breadcrumb.min.js | 4 +- package.json | 2 +- release/angular-breadcrumb.js | 61 +++++++++++++++++++++------- release/angular-breadcrumb.min.js | 4 +- sample/angular-breadcrumb-0.5.0.zip | Bin 6241 -> 0 bytes 8 files changed, 106 insertions(+), 34 deletions(-) delete mode 100644 sample/angular-breadcrumb-0.5.0.zip diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fa0e4f..b2f8e9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ + +## 0.5.1 (2017-07-20) + +#### Bug Fixes +* Ensuring that nesting only starts from current navigated to id closes [#159] + ## 0.5.0 (2016-11-14) diff --git a/bower.json b/bower.json index 96b52f5..eb991c9 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "angular-breadcrumb", "description": "AngularJS module that generates a breadcrumb from ui-router's states", - "version": "0.5.0", + "version": "0.5.3", "main": "release/angular-breadcrumb.js", "ignore": [ "sample", diff --git a/dist/angular-breadcrumb.js b/dist/angular-breadcrumb.js index 53d025d..925beed 100644 --- a/dist/angular-breadcrumb.js +++ b/dist/angular-breadcrumb.js @@ -1,4 +1,4 @@ -/*! angular-breadcrumb - v0.4.1-dev-2016-04-12 +/*! angular-breadcrumb - v0.5.1 * http://ncuillery.github.io/angular-breadcrumb * Copyright (c) 2016 Nicolas Cuillery; Licensed MIT */ @@ -37,7 +37,8 @@ function $Breadcrumb() { templateUrl: null, templateLast: 'default', templateLastUrl: null, - includeAbstract : false + includeAbstract: false, + useRootParams: false }; this.setOptions = function(options) { @@ -148,12 +149,42 @@ function $Breadcrumb() { return $$options.templateLastUrl; }, - getStatesChain: function(exitOnFirst) { // Deliberately undocumented param, see getLastStep + getStatesChain: function (exitOnFirst, $routeParams) { // Deliberately undocumented param, see getLastStep var chain = []; + //Ensuring that nesting only starts from current navigated to id + var startInsertingChain = false; + // From current state to the root - for(var stateRef = $state.$current.self.name; stateRef; stateRef=$$breadcrumbParentState(stateRef)) { - $$addStateInChain(chain, stateRef); + for (var stateRef = $state.$current.self.name; stateRef; stateRef = $$breadcrumbParentState(stateRef)) { + + if ($routeParams && $routeParams.id && $$options.useRootParams ) { + + //Ensuring that nesting only starts from current navigated to id + + var ref = parseStateRef(stateRef), + conf = $state.get(ref.state); + + var getCurrentURLState = $state.get('myReportsNew.' + $routeParams.id); + + if (conf.ncyBreadcrumb && conf.ncyBreadcrumb.parent) { + + if (conf.ncyBreadcrumb.parent == getCurrentURLState.ncyBreadcrumb.parent) { + startInsertingChain = true; + } + + if (startInsertingChain) { + $$addStateInChain(chain, stateRef); + } + } + else { + $$addStateInChain(chain, stateRef); + } + } + else { + $$addStateInChain(chain, stateRef); + } + if(exitOnFirst && chain.length) { return chain; } @@ -168,7 +199,7 @@ function $Breadcrumb() { }, getLastStep: function() { - var chain = this.getStatesChain(true); + var chain = this.getStatesChain(true, $routeParams); return chain.length ? chain[0] : undefined; }, @@ -210,7 +241,7 @@ var deregisterWatchers = function(labelWatcherArray) { }); }; -function BreadcrumbDirective($interpolate, $breadcrumb, $rootScope) { +function BreadcrumbDirective($interpolate, $breadcrumb, $rootScope, $routeParams) { var $$templates = { bootstrap2: '