diff --git a/NuGet.Config b/NuGet.Config
index 1fed3a4ffe..4e5baa620c 100644
--- a/NuGet.Config
+++ b/NuGet.Config
@@ -3,7 +3,7 @@
-
+
diff --git a/src/MusicStore.Spa/wwwroot/js/MusicStore.Admin.js b/src/MusicStore.Spa/wwwroot/js/MusicStore.Admin.js
index d235e5e8bd..7e50e43e13 100644
--- a/src/MusicStore.Spa/wwwroot/js/MusicStore.Admin.js
+++ b/src/MusicStore.Spa/wwwroot/js/MusicStore.Admin.js
@@ -1,12 +1,14 @@
-var MusicStore;
-(function (MusicStore) {
- (function (AlbumApi) {
- angular.module("MusicStore.AlbumApi", []);
- })(MusicStore.AlbumApi || (MusicStore.AlbumApi = {}));
- var AlbumApi = MusicStore.AlbumApi;
-})(MusicStore || (MusicStore = {}));
var MusicStore;
(function (MusicStore) {
+ var AlbumApi;
+ (function (AlbumApi) {
+ angular.module("MusicStore.AlbumApi", []);
+ })(AlbumApi = MusicStore.AlbumApi || (MusicStore.AlbumApi = {}));
+})(MusicStore || (MusicStore = {}));
+///
+var MusicStore;
+(function (MusicStore) {
+ var AlbumApi;
(function (AlbumApi) {
var AlbumApiService = (function () {
function AlbumApiService($cacheFactory, $q, $http, urlResolver) {
@@ -17,19 +19,15 @@ var MusicStore;
}
AlbumApiService.prototype.getAlbums = function (page, pageSize, sortBy) {
var url = this._urlResolver.resolveUrl("~/api/albums"), query = {}, querySeparator = "?", inlineData;
-
if (page) {
query.page = page;
}
-
if (pageSize) {
query.pageSize = pageSize;
}
-
if (sortBy) {
query.sortBy = sortBy;
}
-
for (var key in query) {
if (query.hasOwnProperty(key)) {
url += querySeparator + key + "=" + encodeURIComponent(query[key]);
@@ -38,77 +36,65 @@ var MusicStore;
}
}
}
-
inlineData = this._inlineData ? this._inlineData.get(url) : null;
-
if (inlineData) {
return this._q.when(inlineData);
- } else {
- return this._http.get(url).then(function (result) {
- return result.data;
- });
+ }
+ else {
+ return this._http.get(url).then(function (result) { return result.data; });
}
};
-
AlbumApiService.prototype.getAlbumDetails = function (albumId) {
var url = this._urlResolver.resolveUrl("~/api/albums/" + albumId);
- return this._http.get(url).then(function (result) {
- return result.data;
- });
+ return this._http.get(url).then(function (result) { return result.data; });
};
-
AlbumApiService.prototype.getMostPopularAlbums = function (count) {
var url = this._urlResolver.resolveUrl("~/api/albums/mostPopular"), inlineData = this._inlineData ? this._inlineData.get(url) : null;
-
if (inlineData) {
return this._q.when(inlineData);
- } else {
+ }
+ else {
if (count && count > 0) {
url += "?count=" + count;
}
-
- return this._http.get(url).then(function (result) {
- return result.data;
- });
+ return this._http.get(url).then(function (result) { return result.data; });
}
};
-
AlbumApiService.prototype.createAlbum = function (album, config) {
var url = this._urlResolver.resolveUrl("api/albums");
return this._http.post(url, album, config || { timeout: 10000 });
};
-
AlbumApiService.prototype.updateAlbum = function (album, config) {
var url = this._urlResolver.resolveUrl("api/albums/" + album.AlbumId + "/update");
return this._http.put(url, album, config || { timeout: 10000 });
};
-
AlbumApiService.prototype.deleteAlbum = function (albumId, config) {
var url = this._urlResolver.resolveUrl("api/albums/" + albumId);
return this._http.delete(url, config || { timeout: 10000 });
};
return AlbumApiService;
})();
-
- angular.module("MusicStore.AlbumApi").service("MusicStore.AlbumApi.IAlbumApiService", [
+ angular.module("MusicStore.AlbumApi")
+ .service("MusicStore.AlbumApi.IAlbumApiService", [
"$cacheFactory",
"$q",
"$http",
"MusicStore.UrlResolver.IUrlResolverService",
AlbumApiService
]);
- })(MusicStore.AlbumApi || (MusicStore.AlbumApi = {}));
- var AlbumApi = MusicStore.AlbumApi;
+ })(AlbumApi = MusicStore.AlbumApi || (MusicStore.AlbumApi = {}));
})(MusicStore || (MusicStore = {}));
var MusicStore;
(function (MusicStore) {
+ var ArtistApi;
(function (ArtistApi) {
angular.module("MusicStore.ArtistApi", []);
- })(MusicStore.ArtistApi || (MusicStore.ArtistApi = {}));
- var ArtistApi = MusicStore.ArtistApi;
+ })(ArtistApi = MusicStore.ArtistApi || (MusicStore.ArtistApi = {}));
})(MusicStore || (MusicStore = {}));
+///
var MusicStore;
(function (MusicStore) {
+ var ArtistApi;
(function (ArtistApi) {
var ArtistsApiService = (function () {
function ArtistsApiService($cacheFactory, $q, $http, urlResolver) {
@@ -119,37 +105,36 @@ var MusicStore;
}
ArtistsApiService.prototype.getArtistsLookup = function () {
var url = this._urlResolver.resolveUrl("~/api/artists/lookup"), inlineData = this._inlineData ? this._inlineData.get(url) : null;
-
if (inlineData) {
return this._q.when(inlineData);
- } else {
- return this._http.get(url).then(function (result) {
- return result.data;
- });
+ }
+ else {
+ return this._http.get(url).then(function (result) { return result.data; });
}
};
return ArtistsApiService;
})();
-
- angular.module("MusicStore.ArtistApi").service("MusicStore.ArtistApi.IArtistApiService", [
+ angular.module("MusicStore.ArtistApi")
+ .service("MusicStore.ArtistApi.IArtistApiService", [
"$cacheFactory",
"$q",
"$http",
"MusicStore.UrlResolver.IUrlResolverService",
ArtistsApiService
]);
- })(MusicStore.ArtistApi || (MusicStore.ArtistApi = {}));
- var ArtistApi = MusicStore.ArtistApi;
+ })(ArtistApi = MusicStore.ArtistApi || (MusicStore.ArtistApi = {}));
})(MusicStore || (MusicStore = {}));
var MusicStore;
(function (MusicStore) {
+ var GenreApi;
(function (GenreApi) {
angular.module("MusicStore.GenreApi", []);
- })(MusicStore.GenreApi || (MusicStore.GenreApi = {}));
- var GenreApi = MusicStore.GenreApi;
+ })(GenreApi = MusicStore.GenreApi || (MusicStore.GenreApi = {}));
})(MusicStore || (MusicStore = {}));
+///
var MusicStore;
(function (MusicStore) {
+ var GenreApi;
(function (GenreApi) {
var GenreApiService = (function () {
function GenreApiService($cacheFactory, $q, $http, urlResolver) {
@@ -160,84 +145,78 @@ var MusicStore;
}
GenreApiService.prototype.getGenresLookup = function () {
var url = this._urlResolver.resolveUrl("~/api/genres/lookup"), inlineData = this._inlineData ? this._inlineData.get(url) : null;
-
if (inlineData) {
return this._q.when(inlineData);
- } else {
- return this._http.get(url).then(function (result) {
- return result.data;
- });
+ }
+ else {
+ return this._http.get(url).then(function (result) { return result.data; });
}
};
-
GenreApiService.prototype.getGenresMenu = function () {
var url = this._urlResolver.resolveUrl("~/api/genres/menu"), inlineData = this._inlineData ? this._inlineData.get(url) : null;
-
if (inlineData) {
return this._q.when(inlineData);
- } else {
- return this._http.get(url).then(function (result) {
- return result.data;
- });
+ }
+ else {
+ return this._http.get(url).then(function (result) { return result.data; });
}
};
-
GenreApiService.prototype.getGenresList = function () {
var url = this._urlResolver.resolveUrl("~/api/genres");
return this._http.get(url);
};
-
GenreApiService.prototype.getGenreAlbums = function (genreId) {
var url = this._urlResolver.resolveUrl("~/api/genres/" + genreId + "/albums");
return this._http.get(url);
};
return GenreApiService;
})();
-
- angular.module("MusicStore.GenreApi").service("MusicStore.GenreApi.IGenreApiService", [
+ angular.module("MusicStore.GenreApi")
+ .service("MusicStore.GenreApi.IGenreApiService", [
"$cacheFactory",
"$q",
"$http",
"MusicStore.UrlResolver.IUrlResolverService",
GenreApiService
]);
- })(MusicStore.GenreApi || (MusicStore.GenreApi = {}));
- var GenreApi = MusicStore.GenreApi;
+ })(GenreApi = MusicStore.GenreApi || (MusicStore.GenreApi = {}));
})(MusicStore || (MusicStore = {}));
var MusicStore;
(function (MusicStore) {
+ var GenreMenu;
(function (GenreMenu) {
angular.module("MusicStore.GenreMenu", []);
- })(MusicStore.GenreMenu || (MusicStore.GenreMenu = {}));
- var GenreMenu = MusicStore.GenreMenu;
+ })(GenreMenu = MusicStore.GenreMenu || (MusicStore.GenreMenu = {}));
})(MusicStore || (MusicStore = {}));
+///
var MusicStore;
(function (MusicStore) {
+ var GenreMenu;
(function (GenreMenu) {
var GenreMenuController = (function () {
function GenreMenuController(genreApi, urlResolver) {
var viewModel = this;
-
genreApi.getGenresMenu().then(function (genres) {
viewModel.genres = genres;
});
-
viewModel.urlBase = urlResolver.base;
}
return GenreMenuController;
})();
-
- angular.module("MusicStore.GenreMenu").controller("MusicStore.GenreMenu.GenreMenuController", [
+ angular.module("MusicStore.GenreMenu")
+ .controller("MusicStore.GenreMenu.GenreMenuController", [
"MusicStore.GenreApi.IGenreApiService",
"MusicStore.UrlResolver.IUrlResolverService",
GenreMenuController
]);
- })(MusicStore.GenreMenu || (MusicStore.GenreMenu = {}));
- var GenreMenu = MusicStore.GenreMenu;
+ })(GenreMenu = MusicStore.GenreMenu || (MusicStore.GenreMenu = {}));
})(MusicStore || (MusicStore = {}));
+///
var MusicStore;
(function (MusicStore) {
+ var GenreMenu;
(function (GenreMenu) {
+ //@NgDirective('appGenreMenu')
var GenreMenuDirective = (function () {
function GenreMenuDirective(urlResolver) {
this.replace = true;
@@ -251,26 +230,28 @@ var MusicStore;
}
return GenreMenuDirective;
})();
-
- angular.module("MusicStore.GenreMenu").directive("appGenreMenu", [
+ angular.module("MusicStore.GenreMenu")
+ .directive("appGenreMenu", [
"MusicStore.UrlResolver.IUrlResolverService",
function (a) {
return new GenreMenuDirective(a);
}
]);
- })(MusicStore.GenreMenu || (MusicStore.GenreMenu = {}));
- var GenreMenu = MusicStore.GenreMenu;
+ })(GenreMenu = MusicStore.GenreMenu || (MusicStore.GenreMenu = {}));
})(MusicStore || (MusicStore = {}));
var MusicStore;
(function (MusicStore) {
+ var InlineData;
(function (InlineData) {
angular.module("MusicStore.InlineData", []);
- })(MusicStore.InlineData || (MusicStore.InlineData = {}));
- var InlineData = MusicStore.InlineData;
+ })(InlineData = MusicStore.InlineData || (MusicStore.InlineData = {}));
})(MusicStore || (MusicStore = {}));
+///
var MusicStore;
(function (MusicStore) {
+ var InlineData;
(function (InlineData) {
+ //@NgDirective('appInlineData')
var InlineDataDirective = (function () {
function InlineDataDirective($cacheFactory, $log) {
this.restrict = "A";
@@ -283,35 +264,38 @@ var MusicStore;
this._log = $log;
}
InlineDataDirective.prototype.link = function (scope, element, attrs) {
- var data = attrs.type === "application/json" ? angular.fromJson(element.text()) : element.text();
-
+ var data = attrs.type === "application/json"
+ ? angular.fromJson(element.text())
+ : element.text();
this._log.info("appInlineData: Inline data element found for " + attrs.for);
-
this._cache.put(attrs.for, data);
+ //element.remove();
};
return InlineDataDirective;
})();
-
- angular.module("MusicStore.InlineData").directive("appInlineData", [
+ angular.module("MusicStore.InlineData")
+ .directive("appInlineData", [
"$cacheFactory",
"$log",
function (a, b) {
return new InlineDataDirective(a, b);
}
]);
- })(MusicStore.InlineData || (MusicStore.InlineData = {}));
- var InlineData = MusicStore.InlineData;
+ })(InlineData = MusicStore.InlineData || (MusicStore.InlineData = {}));
})(MusicStore || (MusicStore = {}));
var MusicStore;
(function (MusicStore) {
+ var LoginLink;
(function (LoginLink) {
angular.module("MusicStore.LoginLink", []);
- })(MusicStore.LoginLink || (MusicStore.LoginLink = {}));
- var LoginLink = MusicStore.LoginLink;
+ })(LoginLink = MusicStore.LoginLink || (MusicStore.LoginLink = {}));
})(MusicStore || (MusicStore = {}));
+///
var MusicStore;
(function (MusicStore) {
+ var LoginLink;
(function (LoginLink) {
+ //@NgDirective('appLoginLink')
var LoginLinkDirective = (function () {
function LoginLinkDirective(urlResolver, $window) {
this.restrict = "A";
@@ -327,30 +311,29 @@ var MusicStore;
if (!element.is("a[href]")) {
return;
}
-
+ // Grab the original login URL
var loginUrl = attrs.href;
-
element.click(function (event) {
+ // Update the returnUrl querystring value to current path
var currentUrl = _this._window.location.pathname + _this._window.location.search + _this._window.location.hash, newUrl = loginUrl + "?returnUrl=" + encodeURIComponent(currentUrl);
-
element.prop("href", newUrl);
});
};
return LoginLinkDirective;
})();
-
- angular.module("MusicStore.LoginLink").directive("appLoginLink", [
+ angular.module("MusicStore.LoginLink")
+ .directive("appLoginLink", [
"MusicStore.UrlResolver.IUrlResolverService",
"$window",
function (a, b) {
return new LoginLinkDirective(a, b);
}
]);
- })(MusicStore.LoginLink || (MusicStore.LoginLink = {}));
- var LoginLink = MusicStore.LoginLink;
+ })(LoginLink = MusicStore.LoginLink || (MusicStore.LoginLink = {}));
})(MusicStore || (MusicStore = {}));
var MusicStore;
(function (MusicStore) {
+ var Models;
(function (Models) {
var AlertType = (function () {
function AlertType(value) {
@@ -359,7 +342,7 @@ var MusicStore;
AlertType.prototype.toString = function () {
return this.value;
};
-
+ // Values
AlertType.success = new AlertType("success");
AlertType.info = new AlertType("info");
AlertType.warning = new AlertType("warning");
@@ -367,19 +350,21 @@ var MusicStore;
return AlertType;
})();
Models.AlertType = AlertType;
- })(MusicStore.Models || (MusicStore.Models = {}));
- var Models = MusicStore.Models;
+ })(Models = MusicStore.Models || (MusicStore.Models = {}));
})(MusicStore || (MusicStore = {}));
var MusicStore;
(function (MusicStore) {
+ var PreventSubmit;
(function (PreventSubmit) {
angular.module("MusicStore.PreventSubmit", []);
- })(MusicStore.PreventSubmit || (MusicStore.PreventSubmit = {}));
- var PreventSubmit = MusicStore.PreventSubmit;
+ })(PreventSubmit = MusicStore.PreventSubmit || (MusicStore.PreventSubmit = {}));
})(MusicStore || (MusicStore = {}));
+///
var MusicStore;
(function (MusicStore) {
+ var PreventSubmit;
(function (PreventSubmit) {
+ //@NgDirective('appPreventSubmit')
var PreventSubmitDirective = (function () {
function PreventSubmitDirective() {
this.restrict = "A";
@@ -390,6 +375,7 @@ var MusicStore;
}
}
PreventSubmitDirective.prototype.link = function (scope, element, attrs) {
+ // TODO: Just make this directive apply to all