nateabele/ui-router — pull request #14 by christopherthielen (2014-10-14 01:22:13+00:00)
Title: New pull merge

I did:

`git checkout -b new-pull-merge`
`git pull upstream master`

then resolved any conflicts. There were a couple of questionable ones were in $state and ui-view

### urlMatcherFactory.js

```
UrlMatcher.prototype.concat = function (pattern, config) {
// Because order of search parameters is irrelevant, we can add our own search
// parameters to the end of the new pattern. Parse the new pattern by itself
// and then join the bits together, but it's much easier to do this on a string level.
<<<<<<< HEAD
$UrlMatcherFactory.$$init();
var UrlMatcherChild = function() {};
UrlMatcherChild.prototype = this;
var child = new UrlMatcherChild();
child.parent = this;
$UrlMatcherFactory.$$instance.call(child, pattern, config);
return child;
=======
return new $$UrlMatcherFactoryProvider.compile(this.sourcePath + pattern + this.sourceSearch, config);
>>>>>>> 753efee0481d628e3003952117e284c45e4fd702
};
```

Here I missed the .replace("//", "/") code, but that's one feature I wanted to discuss with you anyway.

```
}
<<<<<<< HEAD
if (param) value = value.map(param.type.encode);
query.push(key + '[]=' + value.map(encodeURIComponent).join('&' + key + '[]='));
});

return query.length > 0 ? result + "?" + (query.join('&').replace(/&{2,}/g, '&')) : result;
=======
result += (search ? '&' : '?') + param + '=' + (array ? value : encodeURIComponent(value));
search = true;
}
return result.replace('//', '/');
>>>>>>> 753efee0481d628e3003952117e284c45e4fd702
};
```

### viewDirective.js

I kept the `getUiViewName` using `$interoplate` from 0.2.11, but it looks like you're actively working with this code, so do whatever.

```
function updateView(firstTime, config) {
var newScope,
<<<<<<< HEAD
name = getUiViewName(attrs, $element.inheritedData('$uiView')),
previousLocals = viewConfig && viewConfig.locals;
=======
name = getUiViewName(scope, attrs, $element, $interpolate),
previousLocals = name && $state.$current && $state.$current.locals[name];
>>>>>>> 753efee0481d628e3003952117e284c45e4fd702
```

summon @nateabele