@vendure/admin-ui 1.9.0 → 1.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/vendure-admin-ui-catalog.umd.js +14 -14
- package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-core.umd.js +1 -1
- package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-login.umd.js +2 -2
- package/bundles/vendure-admin-ui-login.umd.js.map +1 -1
- package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
- package/core/common/version.d.ts +1 -1
- package/core/vendure-admin-ui-core.metadata.json +1 -1
- package/esm2015/catalog/components/product-detail/product-detail.component.js +11 -11
- package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +2 -2
- package/esm2015/core/common/version.js +2 -2
- package/esm2015/core/components/main-nav/main-nav.component.js +1 -1
- package/esm2015/login/components/login/login.component.js +3 -3
- package/fesm2015/vendure-admin-ui-catalog.js +11 -11
- package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
- package/fesm2015/vendure-admin-ui-core.js +1 -1
- package/fesm2015/vendure-admin-ui-core.js.map +1 -1
- package/fesm2015/vendure-admin-ui-login.js +2 -2
- package/fesm2015/vendure-admin-ui-login.js.map +1 -1
- package/package.json +2 -2
|
@@ -81,10 +81,10 @@
|
|
|
81
81
|
LoginComponent.prototype.updateImage = function (res) {
|
|
82
82
|
var user = res.user;
|
|
83
83
|
var location = res.location;
|
|
84
|
-
this.imageUrl = res.urls.regular;
|
|
84
|
+
this.imageUrl = res.urls.regular + '?utm_source=Vendure+Login+Image&utm_medium=referral';
|
|
85
85
|
this.imageCreator = user.name;
|
|
86
86
|
this.imageLocation = location.name;
|
|
87
|
-
this.imageCreatorUrl = user.links.html;
|
|
87
|
+
this.imageCreatorUrl = user.links.html + '?utm_source=Vendure+Login+Image&utm_medium=referral';
|
|
88
88
|
this.imageUnsplashUrl = res.links.html;
|
|
89
89
|
};
|
|
90
90
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendure-admin-ui-login.umd.js","sources":["../../src/lib/login/src/components/login/login.component.ts","../../src/lib/login/src/providers/login.guard.ts","../../src/lib/login/src/login.routes.ts","../../src/lib/login/src/login.module.ts","../../src/lib/login/src/public_api.ts","../../src/lib/login/src/vendure-admin-ui-login.ts"],"sourcesContent":["import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ADMIN_UI_VERSION, AuthService, AUTH_REDIRECT_PARAM, getAppConfig } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss'],\r\n})\r\nexport class LoginComponent {\r\n username = '';\r\n password = '';\r\n rememberMe = false;\r\n version = ADMIN_UI_VERSION;\r\n errorMessage: string | undefined;\r\n brand = getAppConfig().brand;\r\n hideVendureBranding = getAppConfig().hideVendureBranding;\r\n hideVersion = getAppConfig().hideVersion;\r\n customImageUrl = getAppConfig().loginImageUrl;\r\n imageUrl = '';\r\n imageUnsplashUrl = '';\r\n imageLocation = '';\r\n imageCreator = '';\r\n imageCreatorUrl = '';\r\n\r\n constructor(private authService: AuthService, private router: Router, private httpClient: HttpClient) {\r\n if (this.customImageUrl) {\r\n this.imageUrl = this.customImageUrl;\r\n } else {\r\n this.loadImage();\r\n }\r\n }\r\n\r\n logIn(): void {\r\n this.errorMessage = undefined;\r\n this.authService.logIn(this.username, this.password, this.rememberMe).subscribe(result => {\r\n switch (result.__typename) {\r\n case 'CurrentUser':\r\n const redirect = this.getRedirectRoute();\r\n this.router.navigateByUrl(redirect ? redirect : '/');\r\n break;\r\n case 'InvalidCredentialsError':\r\n case 'NativeAuthStrategyError':\r\n this.errorMessage = result.message;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n loadImage() {\r\n this.httpClient\r\n .get('https://login-image.vendure.io')\r\n .toPromise()\r\n .then(res => {\r\n this.updateImage(res);\r\n });\r\n }\r\n\r\n updateImage(res: any) {\r\n const user: any = (res as any).user;\r\n const location: any = (res as any).location;\r\n\r\n this.imageUrl = res.urls.regular;\r\n this.imageCreator = user.name;\r\n this.imageLocation = location.name;\r\n this.imageCreatorUrl = user.links.html;\r\n this.imageUnsplashUrl = res.links.html;\r\n }\r\n\r\n /**\r\n * Attempts to read a redirect param from the current url and parse it into a\r\n * route from which the user was redirected after a 401 error.\r\n */\r\n private getRedirectRoute(): string | undefined {\r\n let redirectTo: string | undefined;\r\n const re = new RegExp(`${AUTH_REDIRECT_PARAM}=(.*)`);\r\n try {\r\n const redirectToParam = window.location.search.match(re);\r\n if (redirectToParam && 1 < redirectToParam.length) {\r\n redirectTo = atob(decodeURIComponent(redirectToParam[1]));\r\n }\r\n } catch (e) {\r\n // ignore\r\n }\r\n return redirectTo;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';\r\nimport { AuthService } from '@vendure/admin-ui/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n/**\r\n * This guard prevents loggen-in users from navigating to the login screen.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoginGuard implements CanActivate {\r\n constructor(private router: Router, private authService: AuthService) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot): Observable<boolean> {\r\n return this.authService.checkAuthenticatedStatus().pipe(\r\n map(authenticated => {\r\n if (authenticated) {\r\n this.router.navigate(['/']);\r\n }\r\n return !authenticated;\r\n }),\r\n );\r\n }\r\n}\r\n","import { Routes } from '@angular/router';\r\n\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { LoginGuard } from './providers/login.guard';\r\n\r\nexport const loginRoutes: Routes = [\r\n {\r\n path: '',\r\n component: LoginComponent,\r\n pathMatch: 'full',\r\n canActivate: [LoginGuard],\r\n },\r\n];\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '@vendure/admin-ui/core';\r\n\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { loginRoutes } from './login.routes';\r\n\r\n@NgModule({\r\n imports: [SharedModule, RouterModule.forChild(loginRoutes)],\r\n exports: [],\r\n declarations: [LoginComponent],\r\n})\r\nexport class LoginModule {}\r\n","// This file was generated by the build-public-api.ts script\nexport * from './components/login/login.component';\nexport * from './login.module';\nexport * from './login.routes';\nexport * from './providers/login.guard';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ADMIN_UI_VERSION","getAppConfig","AUTH_REDIRECT_PARAM","Component","AuthService","Router","HttpClient","map","Injectable","NgModule","SharedModule","RouterModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0BI,wBAAoB,WAAwB,EAAU,MAAc,EAAU,UAAsB;YAAhF,gBAAW,GAAX,WAAW,CAAa;YAAU,WAAM,GAAN,MAAM,CAAQ;YAAU,eAAU,GAAV,UAAU,CAAY;YAfpG,aAAQ,GAAG,EAAE,CAAC;YACd,aAAQ,GAAG,EAAE,CAAC;YACd,eAAU,GAAG,KAAK,CAAC;YACnB,YAAO,GAAGA,mBAAgB,CAAC;YAE3B,UAAK,GAAGC,eAAY,EAAE,CAAC,KAAK,CAAC;YAC7B,wBAAmB,GAAGA,eAAY,EAAE,CAAC,mBAAmB,CAAC;YACzD,gBAAW,GAAGA,eAAY,EAAE,CAAC,WAAW,CAAC;YACzC,mBAAc,GAAGA,eAAY,EAAE,CAAC,aAAa,CAAC;YAC9C,aAAQ,GAAG,EAAE,CAAC;YACd,qBAAgB,GAAG,EAAE,CAAC;YACtB,kBAAa,GAAG,EAAE,CAAC;YACnB,iBAAY,GAAG,EAAE,CAAC;YAClB,oBAAe,GAAG,EAAE,CAAC;YAGjB,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;aACvC;iBAAM;gBACH,IAAI,CAAC,SAAS,EAAE,CAAC;aACpB;SACJ;QAED,8BAAK,GAAL;YAAA,iBAcC;YAbG,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,UAAA,MAAM;gBAClF,QAAQ,MAAM,CAAC,UAAU;oBACrB,KAAK,aAAa;wBACd,IAAM,QAAQ,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;wBACzC,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;wBACrD,MAAM;oBACV,KAAK,yBAAyB,CAAC;oBAC/B,KAAK,yBAAyB;wBAC1B,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;wBACnC,MAAM;iBACb;aACJ,CAAC,CAAC;SACN;QAED,kCAAS,GAAT;YAAA,iBAOC;YANG,IAAI,CAAC,UAAU;iBACV,GAAG,CAAC,gCAAgC,CAAC;iBACrC,SAAS,EAAE;iBACX,IAAI,CAAC,UAAA,GAAG;gBACL,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aACzB,CAAC,CAAC;SACV;QAED,oCAAW,GAAX,UAAY,GAAQ;YAChB,IAAM,IAAI,GAAS,GAAW,CAAC,IAAI,CAAC;YACpC,IAAM,QAAQ,GAAS,GAAW,CAAC,QAAQ,CAAC;YAE5C,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"vendure-admin-ui-login.umd.js","sources":["../../src/lib/login/src/components/login/login.component.ts","../../src/lib/login/src/providers/login.guard.ts","../../src/lib/login/src/login.routes.ts","../../src/lib/login/src/login.module.ts","../../src/lib/login/src/public_api.ts","../../src/lib/login/src/vendure-admin-ui-login.ts"],"sourcesContent":["import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ADMIN_UI_VERSION, AuthService, AUTH_REDIRECT_PARAM, getAppConfig } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss'],\r\n})\r\nexport class LoginComponent {\r\n username = '';\r\n password = '';\r\n rememberMe = false;\r\n version = ADMIN_UI_VERSION;\r\n errorMessage: string | undefined;\r\n brand = getAppConfig().brand;\r\n hideVendureBranding = getAppConfig().hideVendureBranding;\r\n hideVersion = getAppConfig().hideVersion;\r\n customImageUrl = getAppConfig().loginImageUrl;\r\n imageUrl = '';\r\n imageUnsplashUrl = '';\r\n imageLocation = '';\r\n imageCreator = '';\r\n imageCreatorUrl = '';\r\n\r\n constructor(private authService: AuthService, private router: Router, private httpClient: HttpClient) {\r\n if (this.customImageUrl) {\r\n this.imageUrl = this.customImageUrl;\r\n } else {\r\n this.loadImage();\r\n }\r\n }\r\n\r\n logIn(): void {\r\n this.errorMessage = undefined;\r\n this.authService.logIn(this.username, this.password, this.rememberMe).subscribe(result => {\r\n switch (result.__typename) {\r\n case 'CurrentUser':\r\n const redirect = this.getRedirectRoute();\r\n this.router.navigateByUrl(redirect ? redirect : '/');\r\n break;\r\n case 'InvalidCredentialsError':\r\n case 'NativeAuthStrategyError':\r\n this.errorMessage = result.message;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n loadImage() {\r\n this.httpClient\r\n .get('https://login-image.vendure.io')\r\n .toPromise()\r\n .then(res => {\r\n this.updateImage(res);\r\n });\r\n }\r\n\r\n updateImage(res: any) {\r\n const user: any = (res as any).user;\r\n const location: any = (res as any).location;\r\n\r\n this.imageUrl = res.urls.regular + '?utm_source=Vendure+Login+Image&utm_medium=referral';\r\n this.imageCreator = user.name;\r\n this.imageLocation = location.name;\r\n this.imageCreatorUrl = user.links.html + '?utm_source=Vendure+Login+Image&utm_medium=referral';\r\n this.imageUnsplashUrl = res.links.html;\r\n }\r\n\r\n /**\r\n * Attempts to read a redirect param from the current url and parse it into a\r\n * route from which the user was redirected after a 401 error.\r\n */\r\n private getRedirectRoute(): string | undefined {\r\n let redirectTo: string | undefined;\r\n const re = new RegExp(`${AUTH_REDIRECT_PARAM}=(.*)`);\r\n try {\r\n const redirectToParam = window.location.search.match(re);\r\n if (redirectToParam && 1 < redirectToParam.length) {\r\n redirectTo = atob(decodeURIComponent(redirectToParam[1]));\r\n }\r\n } catch (e) {\r\n // ignore\r\n }\r\n return redirectTo;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';\r\nimport { AuthService } from '@vendure/admin-ui/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n/**\r\n * This guard prevents loggen-in users from navigating to the login screen.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoginGuard implements CanActivate {\r\n constructor(private router: Router, private authService: AuthService) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot): Observable<boolean> {\r\n return this.authService.checkAuthenticatedStatus().pipe(\r\n map(authenticated => {\r\n if (authenticated) {\r\n this.router.navigate(['/']);\r\n }\r\n return !authenticated;\r\n }),\r\n );\r\n }\r\n}\r\n","import { Routes } from '@angular/router';\r\n\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { LoginGuard } from './providers/login.guard';\r\n\r\nexport const loginRoutes: Routes = [\r\n {\r\n path: '',\r\n component: LoginComponent,\r\n pathMatch: 'full',\r\n canActivate: [LoginGuard],\r\n },\r\n];\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '@vendure/admin-ui/core';\r\n\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { loginRoutes } from './login.routes';\r\n\r\n@NgModule({\r\n imports: [SharedModule, RouterModule.forChild(loginRoutes)],\r\n exports: [],\r\n declarations: [LoginComponent],\r\n})\r\nexport class LoginModule {}\r\n","// This file was generated by the build-public-api.ts script\nexport * from './components/login/login.component';\nexport * from './login.module';\nexport * from './login.routes';\nexport * from './providers/login.guard';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ADMIN_UI_VERSION","getAppConfig","AUTH_REDIRECT_PARAM","Component","AuthService","Router","HttpClient","map","Injectable","NgModule","SharedModule","RouterModule"],"mappings":"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"}
|