From 6acb48fd31d83cc4245b4aa2bcab085597f0e81b Mon Sep 17 00:00:00 2001 From: Marcin Wadon Date: Wed, 15 Apr 2015 15:14:00 +0200 Subject: [PATCH 1/2] Add ncyStateParams to viewScope --- src/angular-breadcrumb.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/angular-breadcrumb.js b/src/angular-breadcrumb.js index 14bb7ca..526db29 100644 --- a/src/angular-breadcrumb.js +++ b/src/angular-breadcrumb.js @@ -138,6 +138,10 @@ function $Breadcrumb() { $getLastViewScope: function() { return $lastViewScope; + }, + + getStateParams: function() { + return $stateParams; } }; }]; @@ -207,6 +211,7 @@ function BreadcrumbDirective($interpolate, $breadcrumb, $rootScope) { scope.steps = $breadcrumb.getStatesChain(); angular.forEach(scope.steps, function (step) { if (step.ncyBreadcrumb && step.ncyBreadcrumb.label) { + viewScope.ncyStateParams = $breadcrumb.getStateParams(); var parseLabel = $interpolate(step.ncyBreadcrumb.label); step.ncyBreadcrumbLabel = parseLabel(viewScope); // Watcher for further viewScope updates @@ -254,6 +259,7 @@ function BreadcrumbLastDirective($interpolate, $breadcrumb, $rootScope) { if(lastStep) { scope.ncyBreadcrumbLink = lastStep.ncyBreadcrumbLink; if (lastStep.ncyBreadcrumb && lastStep.ncyBreadcrumb.label) { + viewScope.ncyStateParams = $breadcrumb.getStateParams(); var parseLabel = $interpolate(lastStep.ncyBreadcrumb.label); scope.ncyBreadcrumbLabel = parseLabel(viewScope); // Watcher for further viewScope updates From 59ba2ba0dcced65bb36155b12a75b8683accea22 Mon Sep 17 00:00:00 2001 From: Marcin Wadon Date: Wed, 15 Apr 2015 15:30:15 +0200 Subject: [PATCH 2/2] Generate dist and release with ncyStateParams --- dist/angular-breadcrumb.js | 12 +++++++++--- dist/angular-breadcrumb.min.js | 4 ++-- release/angular-breadcrumb.js | 23 ++++++++++++++++++----- release/angular-breadcrumb.min.js | 4 ++-- sample/angular-breadcrumb-0.3.3.zip | Bin 5029 -> 5198 bytes 5 files changed, 31 insertions(+), 12 deletions(-) diff --git a/dist/angular-breadcrumb.js b/dist/angular-breadcrumb.js index 5c778ef..645043d 100644 --- a/dist/angular-breadcrumb.js +++ b/dist/angular-breadcrumb.js @@ -1,4 +1,4 @@ -/*! angular-breadcrumb - v0.3.3-dev-2015-03-27 +/*! angular-breadcrumb - v0.3.3-dev-2015-04-15 * http://ncuillery.github.io/angular-breadcrumb * Copyright (c) 2015 Nicolas Cuillery; Licensed MIT */ @@ -143,6 +143,10 @@ function $Breadcrumb() { $getLastViewScope: function() { return $lastViewScope; + }, + + getStateParams: function() { + return $stateParams; } }; }]; @@ -183,14 +187,14 @@ function BreadcrumbDirective($interpolate, $breadcrumb, $rootScope) { var $$templates = { bootstrap2: '', bootstrap3: '' @@ -212,6 +216,7 @@ function BreadcrumbDirective($interpolate, $breadcrumb, $rootScope) { scope.steps = $breadcrumb.getStatesChain(); angular.forEach(scope.steps, function (step) { if (step.ncyBreadcrumb && step.ncyBreadcrumb.label) { + viewScope.ncyStateParams = $breadcrumb.getStateParams(); var parseLabel = $interpolate(step.ncyBreadcrumb.label); step.ncyBreadcrumbLabel = parseLabel(viewScope); // Watcher for further viewScope updates @@ -259,6 +264,7 @@ function BreadcrumbLastDirective($interpolate, $breadcrumb, $rootScope) { if(lastStep) { scope.ncyBreadcrumbLink = lastStep.ncyBreadcrumbLink; if (lastStep.ncyBreadcrumb && lastStep.ncyBreadcrumb.label) { + viewScope.ncyStateParams = $breadcrumb.getStateParams(); var parseLabel = $interpolate(lastStep.ncyBreadcrumb.label); scope.ncyBreadcrumbLabel = parseLabel(viewScope); // Watcher for further viewScope updates diff --git a/dist/angular-breadcrumb.min.js b/dist/angular-breadcrumb.min.js index 0352fe3..d958cc9 100644 --- a/dist/angular-breadcrumb.min.js +++ b/dist/angular-breadcrumb.min.js @@ -1,4 +1,4 @@ -/*! angular-breadcrumb - v0.3.3-dev-2015-03-27 +/*! angular-breadcrumb - v0.3.3-dev-2015-04-15 * http://ncuillery.github.io/angular-breadcrumb * Copyright (c) 2015 Nicolas Cuillery; Licensed MIT */ -!function(a,b,c){"use strict";function d(a,c){return b.equals(a.length,c.length)?a>c:a.length>c.length}function e(a){var b=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/);if(!b||4!==b.length)throw new Error("Invalid state ref '"+a+"'");return{state:b[1],paramExpr:b[3]||null}}function f(){var a={prefixStateName:null,template:"bootstrap3",templateUrl:null,includeAbstract:!1};this.setOptions=function(c){b.extend(a,c)},this.$get=["$state","$stateParams","$rootScope",function(b,f,g){var h=g;g.$on("$viewContentLoaded",function(a){d(a.targetScope.$id,h.$id)&&(h=a.targetScope)});var i=function(a){var b=a.parent||(/^(.+)\.[^.]+$/.exec(a.name)||[])[1];return b},j=function(c,d){for(var g,i,j=e(d),k=!1,l=!1,m=0,n=c.length;n>m;m+=1)if(c[m].name===j.state)return;g=b.get(j.state),g.ncyBreadcrumb&&(g.ncyBreadcrumb.force&&(k=!0),g.ncyBreadcrumb.skip&&(l=!0)),g["abstract"]&&!a.includeAbstract&&!k||l||(j.paramExpr&&(i=h.$eval(j.paramExpr)),g.ncyBreadcrumbLink=b.href(j.state,i||f||{}),c.unshift(g))},k=function(a){var c=e(a),d=b.get(c.state);if(d.ncyBreadcrumb&&d.ncyBreadcrumb.parent){var f="function"==typeof d.ncyBreadcrumb.parent,g=f?d.ncyBreadcrumb.parent(h):d.ncyBreadcrumb.parent;if(g)return g}return i(d)};return{getTemplate:function(b){return a.templateUrl?null:b[a.template]?b[a.template]:a.template},getTemplateUrl:function(){return a.templateUrl},getStatesChain:function(c){for(var d=[],e=b.$current.self.name;e;e=k(e))if(j(d,e),c&&d.length)return d;return a.prefixStateName&&j(d,a.prefixStateName),d},getLastStep:function(){var a=this.getStatesChain(!0);return a.length?a[0]:c},$getLastViewScope:function(){return h}}}]}function g(a,c,d){var e={bootstrap2:'',bootstrap3:''};return{restrict:"AE",replace:!0,scope:{},template:c.getTemplate(e),templateUrl:c.getTemplateUrl(),link:{post:function(e){var f=[],g=function(){k(f);var d=c.$getLastViewScope();e.steps=c.getStatesChain(),b.forEach(e.steps,function(b){if(b.ncyBreadcrumb&&b.ncyBreadcrumb.label){var c=a(b.ncyBreadcrumb.label);b.ncyBreadcrumbLabel=c(d),j(f,c,d,b)}else b.ncyBreadcrumbLabel=b.name})};d.$on("$viewContentLoaded",function(){g()}),g()}}}}function h(a,b,c){return{restrict:"A",scope:{},template:"{{ncyBreadcrumbLabel}}",compile:function(d,e){var f=d.attr(e.$attr.ncyBreadcrumbLast);return f&&d.html(f),{post:function(d){var e=[],f=function(){k(e);var c=b.$getLastViewScope(),f=b.getLastStep();if(f)if(d.ncyBreadcrumbLink=f.ncyBreadcrumbLink,f.ncyBreadcrumb&&f.ncyBreadcrumb.label){var g=a(f.ncyBreadcrumb.label);d.ncyBreadcrumbLabel=g(c),j(e,g,c,d)}else d.ncyBreadcrumbLabel=f.name};c.$on("$viewContentLoaded",function(){f()}),f()}}}}}var i=function(a){if(a.expressions)return a.expressions;var c=[];return b.forEach(a.parts,function(a){b.isFunction(a)&&c.push(a.exp)}),c},j=function(a,c,d,e){b.forEach(i(c),function(b){var f=d.$watch(b,function(){e.ncyBreadcrumbLabel=c(d)});a.push(f)})},k=function(a){b.forEach(a,function(a){a()}),a=[]};g.$inject=["$interpolate","$breadcrumb","$rootScope"],h.$inject=["$interpolate","$breadcrumb","$rootScope"],b.module("ncy-angular-breadcrumb",["ui.router.state"]).provider("$breadcrumb",f).directive("ncyBreadcrumb",g).directive("ncyBreadcrumbLast",h)}(window,window.angular); \ No newline at end of file +!function(a,b,c){"use strict";function d(a,c){return b.equals(a.length,c.length)?a>c:a.length>c.length}function e(a){var b=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/);if(!b||4!==b.length)throw new Error("Invalid state ref '"+a+"'");return{state:b[1],paramExpr:b[3]||null}}function f(){var a={prefixStateName:null,template:"bootstrap3",templateUrl:null,includeAbstract:!1};this.setOptions=function(c){b.extend(a,c)},this.$get=["$state","$stateParams","$rootScope",function(b,f,g){var h=g;g.$on("$viewContentLoaded",function(a){d(a.targetScope.$id,h.$id)&&(h=a.targetScope)});var i=function(a){var b=a.parent||(/^(.+)\.[^.]+$/.exec(a.name)||[])[1];return b},j=function(c,d){for(var g,i,j=e(d),k=!1,l=!1,m=0,n=c.length;n>m;m+=1)if(c[m].name===j.state)return;g=b.get(j.state),g.ncyBreadcrumb&&(g.ncyBreadcrumb.force&&(k=!0),g.ncyBreadcrumb.skip&&(l=!0)),g["abstract"]&&!a.includeAbstract&&!k||l||(j.paramExpr&&(i=h.$eval(j.paramExpr)),g.ncyBreadcrumbLink=b.href(j.state,i||f||{}),c.unshift(g))},k=function(a){var c=e(a),d=b.get(c.state);if(d.ncyBreadcrumb&&d.ncyBreadcrumb.parent){var f="function"==typeof d.ncyBreadcrumb.parent,g=f?d.ncyBreadcrumb.parent(h):d.ncyBreadcrumb.parent;if(g)return g}return i(d)};return{getTemplate:function(b){return a.templateUrl?null:b[a.template]?b[a.template]:a.template},getTemplateUrl:function(){return a.templateUrl},getStatesChain:function(c){for(var d=[],e=b.$current.self.name;e;e=k(e))if(j(d,e),c&&d.length)return d;return a.prefixStateName&&j(d,a.prefixStateName),d},getLastStep:function(){var a=this.getStatesChain(!0);return a.length?a[0]:c},$getLastViewScope:function(){return h},getStateParams:function(){return f}}}]}function g(a,c,d){var e={bootstrap2:'',bootstrap3:''};return{restrict:"AE",replace:!0,scope:{},template:c.getTemplate(e),templateUrl:c.getTemplateUrl(),link:{post:function(e){var f=[],g=function(){k(f);var d=c.$getLastViewScope();e.steps=c.getStatesChain(),b.forEach(e.steps,function(b){if(b.ncyBreadcrumb&&b.ncyBreadcrumb.label){d.ncyStateParams=c.getStateParams();var e=a(b.ncyBreadcrumb.label);b.ncyBreadcrumbLabel=e(d),j(f,e,d,b)}else b.ncyBreadcrumbLabel=b.name})};d.$on("$viewContentLoaded",function(){g()}),g()}}}}function h(a,b,c){return{restrict:"A",scope:{},template:"{{ncyBreadcrumbLabel}}",compile:function(d,e){var f=d.attr(e.$attr.ncyBreadcrumbLast);return f&&d.html(f),{post:function(d){var e=[],f=function(){k(e);var c=b.$getLastViewScope(),f=b.getLastStep();if(f)if(d.ncyBreadcrumbLink=f.ncyBreadcrumbLink,f.ncyBreadcrumb&&f.ncyBreadcrumb.label){c.ncyStateParams=b.getStateParams();var g=a(f.ncyBreadcrumb.label);d.ncyBreadcrumbLabel=g(c),j(e,g,c,d)}else d.ncyBreadcrumbLabel=f.name};c.$on("$viewContentLoaded",function(){f()}),f()}}}}}var i=function(a){if(a.expressions)return a.expressions;var c=[];return b.forEach(a.parts,function(a){b.isFunction(a)&&c.push(a.exp)}),c},j=function(a,c,d,e){b.forEach(i(c),function(b){var f=d.$watch(b,function(){e.ncyBreadcrumbLabel=c(d)});a.push(f)})},k=function(a){b.forEach(a,function(a){a()}),a=[]};g.$inject=["$interpolate","$breadcrumb","$rootScope"],h.$inject=["$interpolate","$breadcrumb","$rootScope"],b.module("ncy-angular-breadcrumb",["ui.router.state"]).provider("$breadcrumb",f).directive("ncyBreadcrumb",g).directive("ncyBreadcrumbLast",h)}(window,window.angular); \ No newline at end of file diff --git a/release/angular-breadcrumb.js b/release/angular-breadcrumb.js index ce93f7a..30d4a1d 100644 --- a/release/angular-breadcrumb.js +++ b/release/angular-breadcrumb.js @@ -1,6 +1,6 @@ /*! angular-breadcrumb - v0.3.3 * http://ncuillery.github.io/angular-breadcrumb -* Copyright (c) 2014 Nicolas Cuillery; Licensed MIT */ +* Copyright (c) 2015 Nicolas Cuillery; Licensed MIT */ (function (window, angular, undefined) { 'use strict'; @@ -56,7 +56,9 @@ function $Breadcrumb() { var $$addStateInChain = function(chain, stateRef) { var conf, parentParams, - ref = parseStateRef(stateRef); + ref = parseStateRef(stateRef), + force = false, + skip = false; for(var i=0, l=chain.length; i' + '
  • ' + - '{{step.ncyBreadcrumbLabel}} ' + + '{{step.ncyBreadcrumbLabel}}' + '{{step.ncyBreadcrumbLabel}}' + '/' + '
  • ' + '', bootstrap3: '' @@ -205,6 +216,7 @@ function BreadcrumbDirective($interpolate, $breadcrumb, $rootScope) { scope.steps = $breadcrumb.getStatesChain(); angular.forEach(scope.steps, function (step) { if (step.ncyBreadcrumb && step.ncyBreadcrumb.label) { + viewScope.ncyStateParams = $breadcrumb.getStateParams(); var parseLabel = $interpolate(step.ncyBreadcrumb.label); step.ncyBreadcrumbLabel = parseLabel(viewScope); // Watcher for further viewScope updates @@ -252,6 +264,7 @@ function BreadcrumbLastDirective($interpolate, $breadcrumb, $rootScope) { if(lastStep) { scope.ncyBreadcrumbLink = lastStep.ncyBreadcrumbLink; if (lastStep.ncyBreadcrumb && lastStep.ncyBreadcrumb.label) { + viewScope.ncyStateParams = $breadcrumb.getStateParams(); var parseLabel = $interpolate(lastStep.ncyBreadcrumb.label); scope.ncyBreadcrumbLabel = parseLabel(viewScope); // Watcher for further viewScope updates diff --git a/release/angular-breadcrumb.min.js b/release/angular-breadcrumb.min.js index 7c65c08..ccb5fad 100644 --- a/release/angular-breadcrumb.min.js +++ b/release/angular-breadcrumb.min.js @@ -1,4 +1,4 @@ /*! angular-breadcrumb - v0.3.3 * http://ncuillery.github.io/angular-breadcrumb -* Copyright (c) 2014 Nicolas Cuillery; Licensed MIT */ -!function(a,b,c){"use strict";function d(a,c){return b.equals(a.length,c.length)?a>c:a.length>c.length}function e(a){var b=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/);if(!b||4!==b.length)throw new Error("Invalid state ref '"+a+"'");return{state:b[1],paramExpr:b[3]||null}}function f(){var a={prefixStateName:null,template:"bootstrap3",templateUrl:null,includeAbstract:!1};this.setOptions=function(c){b.extend(a,c)},this.$get=["$state","$stateParams","$rootScope",function(b,f,g){var h=g;g.$on("$viewContentLoaded",function(a){d(a.targetScope.$id,h.$id)&&(h=a.targetScope)});var i=function(a){var b=a.parent||(/^(.+)\.[^.]+$/.exec(a.name)||[])[1];return b},j=function(c,d){for(var g,i,j=e(d),k=0,l=c.length;l>k;k+=1)if(c[k].name===j.state)return;g=b.get(j.state),g.abstract&&!a.includeAbstract||g.ncyBreadcrumb&&g.ncyBreadcrumb.skip||(j.paramExpr&&(i=h.$eval(j.paramExpr)),g.ncyBreadcrumbLink=b.href(j.state,i||f||{}),c.unshift(g))},k=function(a){var c=e(a),d=b.get(c.state);if(d.ncyBreadcrumb&&d.ncyBreadcrumb.parent){var f="function"==typeof d.ncyBreadcrumb.parent,g=f?d.ncyBreadcrumb.parent(h):d.ncyBreadcrumb.parent;if(g)return g}return i(d)};return{getTemplate:function(b){return a.templateUrl?null:b[a.template]?b[a.template]:a.template},getTemplateUrl:function(){return a.templateUrl},getStatesChain:function(c){for(var d=[],e=b.$current.self.name;e;e=k(e))if(j(d,e),c&&d.length)return d;return a.prefixStateName&&j(d,a.prefixStateName),d},getLastStep:function(){var a=this.getStatesChain(!0);return a.length?a[0]:c},$getLastViewScope:function(){return h}}}]}function g(a,c,d){var e={bootstrap2:'',bootstrap3:''};return{restrict:"AE",replace:!0,scope:{},template:c.getTemplate(e),templateUrl:c.getTemplateUrl(),link:{post:function(e){var f=[],g=function(){k(f);var d=c.$getLastViewScope();e.steps=c.getStatesChain(),b.forEach(e.steps,function(b){if(b.ncyBreadcrumb&&b.ncyBreadcrumb.label){var c=a(b.ncyBreadcrumb.label);b.ncyBreadcrumbLabel=c(d),j(f,c,d,b)}else b.ncyBreadcrumbLabel=b.name})};d.$on("$viewContentLoaded",function(){g()}),g()}}}}function h(a,b,c){return{restrict:"A",scope:{},template:"{{ncyBreadcrumbLabel}}",compile:function(d,e){var f=d.attr(e.$attr.ncyBreadcrumbLast);return f&&d.html(f),{post:function(d){var e=[],f=function(){k(e);var c=b.$getLastViewScope(),f=b.getLastStep();if(f)if(d.ncyBreadcrumbLink=f.ncyBreadcrumbLink,f.ncyBreadcrumb&&f.ncyBreadcrumb.label){var g=a(f.ncyBreadcrumb.label);d.ncyBreadcrumbLabel=g(c),j(e,g,c,d)}else d.ncyBreadcrumbLabel=f.name};c.$on("$viewContentLoaded",function(){f()}),f()}}}}}var i=function(a){if(a.expressions)return a.expressions;var c=[];return b.forEach(a.parts,function(a){b.isFunction(a)&&c.push(a.exp)}),c},j=function(a,c,d,e){b.forEach(i(c),function(b){var f=d.$watch(b,function(){e.ncyBreadcrumbLabel=c(d)});a.push(f)})},k=function(a){b.forEach(a,function(a){a()}),a=[]};g.$inject=["$interpolate","$breadcrumb","$rootScope"],h.$inject=["$interpolate","$breadcrumb","$rootScope"],b.module("ncy-angular-breadcrumb",["ui.router.state"]).provider("$breadcrumb",f).directive("ncyBreadcrumb",g).directive("ncyBreadcrumbLast",h)}(window,window.angular); \ No newline at end of file +* Copyright (c) 2015 Nicolas Cuillery; Licensed MIT */ +!function(a,b,c){"use strict";function d(a,c){return b.equals(a.length,c.length)?a>c:a.length>c.length}function e(a){var b=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/);if(!b||4!==b.length)throw new Error("Invalid state ref '"+a+"'");return{state:b[1],paramExpr:b[3]||null}}function f(){var a={prefixStateName:null,template:"bootstrap3",templateUrl:null,includeAbstract:!1};this.setOptions=function(c){b.extend(a,c)},this.$get=["$state","$stateParams","$rootScope",function(b,f,g){var h=g;g.$on("$viewContentLoaded",function(a){d(a.targetScope.$id,h.$id)&&(h=a.targetScope)});var i=function(a){var b=a.parent||(/^(.+)\.[^.]+$/.exec(a.name)||[])[1];return b},j=function(c,d){for(var g,i,j=e(d),k=!1,l=!1,m=0,n=c.length;n>m;m+=1)if(c[m].name===j.state)return;g=b.get(j.state),g.ncyBreadcrumb&&(g.ncyBreadcrumb.force&&(k=!0),g.ncyBreadcrumb.skip&&(l=!0)),g["abstract"]&&!a.includeAbstract&&!k||l||(j.paramExpr&&(i=h.$eval(j.paramExpr)),g.ncyBreadcrumbLink=b.href(j.state,i||f||{}),c.unshift(g))},k=function(a){var c=e(a),d=b.get(c.state);if(d.ncyBreadcrumb&&d.ncyBreadcrumb.parent){var f="function"==typeof d.ncyBreadcrumb.parent,g=f?d.ncyBreadcrumb.parent(h):d.ncyBreadcrumb.parent;if(g)return g}return i(d)};return{getTemplate:function(b){return a.templateUrl?null:b[a.template]?b[a.template]:a.template},getTemplateUrl:function(){return a.templateUrl},getStatesChain:function(c){for(var d=[],e=b.$current.self.name;e;e=k(e))if(j(d,e),c&&d.length)return d;return a.prefixStateName&&j(d,a.prefixStateName),d},getLastStep:function(){var a=this.getStatesChain(!0);return a.length?a[0]:c},$getLastViewScope:function(){return h},getStateParams:function(){return f}}}]}function g(a,c,d){var e={bootstrap2:'',bootstrap3:''};return{restrict:"AE",replace:!0,scope:{},template:c.getTemplate(e),templateUrl:c.getTemplateUrl(),link:{post:function(e){var f=[],g=function(){k(f);var d=c.$getLastViewScope();e.steps=c.getStatesChain(),b.forEach(e.steps,function(b){if(b.ncyBreadcrumb&&b.ncyBreadcrumb.label){d.ncyStateParams=c.getStateParams();var e=a(b.ncyBreadcrumb.label);b.ncyBreadcrumbLabel=e(d),j(f,e,d,b)}else b.ncyBreadcrumbLabel=b.name})};d.$on("$viewContentLoaded",function(){g()}),g()}}}}function h(a,b,c){return{restrict:"A",scope:{},template:"{{ncyBreadcrumbLabel}}",compile:function(d,e){var f=d.attr(e.$attr.ncyBreadcrumbLast);return f&&d.html(f),{post:function(d){var e=[],f=function(){k(e);var c=b.$getLastViewScope(),f=b.getLastStep();if(f)if(d.ncyBreadcrumbLink=f.ncyBreadcrumbLink,f.ncyBreadcrumb&&f.ncyBreadcrumb.label){c.ncyStateParams=b.getStateParams();var g=a(f.ncyBreadcrumb.label);d.ncyBreadcrumbLabel=g(c),j(e,g,c,d)}else d.ncyBreadcrumbLabel=f.name};c.$on("$viewContentLoaded",function(){f()}),f()}}}}}var i=function(a){if(a.expressions)return a.expressions;var c=[];return b.forEach(a.parts,function(a){b.isFunction(a)&&c.push(a.exp)}),c},j=function(a,c,d,e){b.forEach(i(c),function(b){var f=d.$watch(b,function(){e.ncyBreadcrumbLabel=c(d)});a.push(f)})},k=function(a){b.forEach(a,function(a){a()}),a=[]};g.$inject=["$interpolate","$breadcrumb","$rootScope"],h.$inject=["$interpolate","$breadcrumb","$rootScope"],b.module("ncy-angular-breadcrumb",["ui.router.state"]).provider("$breadcrumb",f).directive("ncyBreadcrumb",g).directive("ncyBreadcrumbLast",h)}(window,window.angular); \ No newline at end of file diff --git a/sample/angular-breadcrumb-0.3.3.zip b/sample/angular-breadcrumb-0.3.3.zip index 04512db811c270a92dbf619f75b27acd11ba1fd6..9c2c502a4fd274630897e58df42e290fb005e433 100644 GIT binary patch delta 5076 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 delta 4901 zcmV+=6WZ*~D5WP3P)h>@6aWYS2mk<3kVTOWDSy*Q7JkpK=(t>CnHU*{c}g%-Arp3~ z$_^A^cOF8hQlz%si!6CsQk+!A|9!vHH?=NyfZ=8JkVxu2_iG<{`s9#B*`i7#`SeEe zD2ZjYx?xY*?X&Pj_~PIRTbAYecskAEN~9^5_u)d6%jzZ+`Lqj&{b%|5UW&!CWI;S; zKYu@a{tNqE#CaMO?98AzVHYCiS-}(bueTrBlj*@hFt4(>6nVyijmVOGGqG$BE3n6jtK>=qArg z_)oNcG3u`WTc&MLk;Q41@Y5RtihoOX%;xYMt}PD_ROpwY2n$}mbDUYf3=Ff@lC<0T z;9beHBya*vnB8og!^b{c@DdVVjfTnsqX{#2?@6hJdX^CFk~|+zjsd-Y!t{T=8&7Vp zQ!cTl6pTWfX6or6tJ&1L-r5kA9!X_f&h^$Ch%6SX|X(xE6EDL$|z-}SaB?ij14w2 z&lUrgOXLX05n)79Xyy(@H!LFwjVl#|Lyiq`{PJ$t7phX={Zhu`zf?iTy4@%DD%0qfIcedp57YJ;Ec!`wE@7Ae^MQN$L z`@lAwmGYh~Dqa-!^<3sFCdz_k2rkD2aZQZSOVC$jL&Gk@nsQNiH2xG`eGadWhSQMW z@i@@C2xLsLe|0@ZZfNQR!oQsp9~&+?i*8bIl(V^5RCvrQ$E>0Y6@O)nf}=zbwzNbH zntViiYbr=KP6|*vO%kPQ#T&T`={;UXxP!K`ykt>I>FA!;qAYQ5O;T{Uv{|Agxui7t zHak-|JkuzoC^RO?w~a*bah}cV%tRv4rPcag1$%du^6`xJc=f~4@MI-SbEI>kBWBMg zES)KiY*Aw3WqQKI(SPiDn=^u>(xJ9riR(}s9rc3hk)qWHLSWhgwesm5UAkWAdwOzO zq*tT`h@`Vt2>Vh!G<2G%5WvA9Z4V=xqv2OBtA?!vK4w4t#0~=mkj3|PnW6XHw_))` zta~FJbcrP>T^F@o;`^2(iCTGtqpr3PHRU61w3K5N6gC975P#X1T4hTxSL;j_U!)Q3 zKood>J)q|Y%0GnIzqE5yS+NxJQt7O%w>FS!>sN)9d#W=^#Yg% z>zAtY@M6h1xYq{|^8^mzcLzi_e)fBtV~nuF>|HO};XB&&eU5>o^G_ra%4|qA1HEy; z))LiQmiJUoX@8;C0h$BUG$|4dp#i4xQltrlMQ=mBvw>2IX)tZoB8oS*&z`aJe$4^V zmB!}q8KQe+s|vbp!s1_~Xw8VS%?G7(kHoLLaR<#X7^AJ)$w!wkY|y0Jr()vNB>(2- zF234}38)op2FGydVQGhg@BC)}Lo=TtgMD;OsMTp;`+w4+PXI_+XED1I9ctfR;u}8Y z?P6v0g`hgEJhr9O@oT!tWW20b! zYse=o48!q0#`Y54$??NJlwApW@H7x?Cp#^xjt|bbeVTC2WLo{uiUiOm;T|$7%8E1U zDR2rgfqxwEJ5j#N-UwNgph#Zu8&Aaz8sL(nKga1gkE<0DDEei%aI`}E!8x@|7ijb^ zOTKQ1M}9zotx`X7=oOl?&IS;9LoFei?YcRoCXJF79W6Q#w(GD-yDn5ig9HbtbgtTp z6W1TrceCNJPKNL6f}s0Jq@LayO~MR^t$s}RFn?YX)>J&f&;>{LRI4&PY2LI-ea6*r zE{v20`*AlD4#BmO4!wes5ivN{YIUG1=TS+9>?pU9DOyM2U5xHjOC1qyOkG)exHcZ% zBYclXTMzWyxsPApAF0i!e$Wespp+GFH72A$pA|ddKusbmUOl@;$#IjVretkK>FiCM zx_?9QBkbBBZ*+Ps63&Jw9mMMvVFqoIq@YGa5*)v%rh5&KKn%+@Mrl;+-7|WTO(tbC=2J*@~m_s3^3^ z>du0yf7u)G9!uf6Dwb*|si5T^bpZNpuYb{rhr~#KKn0#emV6;Fd60k5)PqYJLOJ%+ z=!U0e;Z(}#o+b}H7MrNCg&HkT65?wsvlY~8t>Fm$IvjiItJ$^)Nr}YuMso{hX<%Z8 z8tNrdob?V5lMhcgh{@JjgJcE1UI7C~#nZa4=Z>bdtqhw6NXP$=1_>Ep50T7yKw4cu>%xq zfd`TzWwVU$jpwWFBD&_Q9%EwIFL2Fd-3sau`0@FjwVAV~IkI298GGnpV zqjfD>$z=g0(M5RO@Bw+W#;e9e@Iy zB398oyTO+k^HC(#U;8!~M(XKgVmq8s!6+SxY|#X*F@nH=|>oL;dyrnUZdA+3>2y-tsVdcxVpwb(iCT$N6dv zMc3&(h|g0_bAbtqPs>uOV_rkwFx@+UdW@Hcx3WPS z^;Z>j0@`DT+QNIQJ7KAd7Cre_|4Lt-C#WA(>j{;Yk#@yzZ@DMfA6)Xkf}N(CeD(Bp z0T+I`{u`Zu?dVr|Ql&f?AvrxY@4TNyqJ_8`RU(x54OPYyHJ4#HU*|7QpYC z8cm1yLpHP1g@&S2w=_UsKe#635g^h)1F)eIM8|gQeo?7^Ss5C^u=YPtO9u#EWVfOz z3;+QBDF6UaO9KQH00;mG002;sMU&?YGk-x7hASqFoHTv1BL`iO0R^&dK)by-E<1y6tIxuw@>3yu0u2yVLk=KtvLjvB)pnTngXI%V(Edke5sQ z+P;2sMk1}V$#|T2rHW&jzuKYFQR&($9UmXW{<}1L%~cp_VtI_byS#c&J}EDaMSnr= zS`}0Bpgfrr(kH)s{6fygZw5h`cv_{2CAiBywx(qvNuhJ)X*%tM#D^HdT;wZn@ejl9piW7m*X!5q2)KSa{MJKPKalQ$m^jEVLI{ zsmB%=T{4!iCjG2f6H?GyHD77=E!`gVt+lSwb{e}6P!+_6Tnn}vHs$3rM zu<;;r!f9v^fi@k!D7m^z6WpL5QsGN~=Lj&uwYC;H?yL3LL*?_xe6!KWiU8h@kX3AI zFjc+%J18T%xMQ<1sM_c3(SM$QwHN2ZG2D|LZb=YGw%N=V3|O@25Vzt_y*7{gY#jht zb4$n-WYY2(UpkjOcDgK^#1QyjX+$G(_USFRNSTp)Fca zMx%kS4}jWiLObzZf7%x5Xmqe(7fY4F!6$p0NeGg15HE>5++Al3w}0(vdr-*|21UrM z&LXZhn_#n9R}6(!CPkzIZH0_gaCi%A8(|NT5RCh+PhRV)DHDJHqS5GJ!B`7qn$!p! z+Nq|FqhB+b2ITYs9y-D8X^|DN$!Uo(C~OfRVbwB;0*X~vk-+3jS4y2Nmb+ygq+BaS zN!^;tL%H^gi`%__Ab+85d&PG&n{wPLKdrmoU)OkX7YUX0`%#r$7W&S7!6l+T^vc|X z5oH_)b;eEQR60vbGLwf-md_<{G|_L!vI~OW<+`vBXk|1qr;e6^a&6j!DD-D7v)-PGHK> zl%jOjTgrPkd3#gF#6!O+9NM=uI=hJ#Nx}=Ty%gG^1xzO@0XNI6phi-x6j==cW9?S#xgIoNn#*)r<0FUb_-tuiw zuMyPrzXkO>@#?+#n|S}9gW7~CMVPk4k;`Uana~gSl($pGWN^s~(+VeRG|!G#Jj47Q z%b-NJ62l97LM&K}$6)8lI!g=Pmxk;Z6AS<<>;@>dUVmCa(+GX^q@&uh*i?d@k@S!r z6e;7b4Q9C)7=GGKI}MzzK_u>e3Xety3wCT0w=vCg#Nqx{JUuw|U=BH+X{JwBU@Dut ztdgi7OnLh?Q}4tg+I0oe_W!{g!PcRL;eeZOe7aDPsGBz1S!@SDdIB`m@UbbVU+$&P znTll(jep_VnwbK}w}sX@qB%6bhrSeg%Zh=a=14!sK#w0lz2!MT9qdCb8>l_g0uE^u zi4!ypx#Mbp4-5m-5f1ue-T%=zb|(z8#t+s;ql1NAz(W9jS`3`_Ro5_v7%&02!Pm>OhI@fDt_*YP+&au?5r%1V&)=~eQ0z$vt-@AOq%psm5D}|oMz%MhMNo;uIkqj zOwgTvww9;jX$lBKFw8SI2Y5c5)%x2+uMO6VI${FeR%SF;$&>Wz5no|6&ojKfX$y^kVQdic1%(R001Ws000>P00000 X00000AONI+Y?B-mECvM=00000UA1Ne