@deenruv/admin-ui 1.0.3 → 1.0.4
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/core/common/version.d.ts +1 -1
- package/esm2022/core/common/version.mjs +2 -2
- package/esm2022/login/components/login/login.component.mjs +2 -2
- package/fesm2022/deenruv-admin-ui-core.mjs +1 -1
- package/fesm2022/deenruv-admin-ui-core.mjs.map +1 -1
- package/fesm2022/deenruv-admin-ui-login.mjs +1 -1
- package/fesm2022/deenruv-admin-ui-login.mjs.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deenruv-admin-ui-login.mjs","sources":["../../src/lib/login/src/components/login/login.component.ts","../../src/lib/login/src/components/login/login.component.html","../../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/deenruv-admin-ui-login.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n ADMIN_UI_VERSION,\n AuthService,\n AUTH_REDIRECT_PARAM,\n getAppConfig,\n LocalizationDirectionType,\n LocalizationService,\n} from '@deenruv/admin-ui/core';\n\n@Component({\n selector: 'vdr-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n})\nexport class LoginComponent implements OnInit {\n direction$: LocalizationDirectionType;\n\n username = '';\n password = '';\n rememberMe = false;\n version = ADMIN_UI_VERSION;\n errorMessage: string | undefined;\n brand = getAppConfig().brand;\n hideDeenruvBranding = getAppConfig().hideDeenruvBranding;\n customImageUrl = getAppConfig().loginImageUrl;\n imageUrl = '';\n imageUnsplashUrl = '';\n imageLocation = '';\n imageCreator = '';\n imageCreatorUrl = '';\n\n constructor(\n private authService: AuthService,\n private router: Router,\n private httpClient: HttpClient,\n private localizationService: LocalizationService,\n ) {\n if (this.customImageUrl) {\n this.imageUrl = this.customImageUrl;\n } else {\n this.loadImage();\n }\n }\n ngOnInit(): void {\n this.direction$ = this.localizationService.direction$;\n }\n\n logIn(): void {\n this.errorMessage = undefined;\n this.authService.logIn(this.username, this.password, this.rememberMe).subscribe(result => {\n switch (result.__typename) {\n case 'CurrentUser':\n const redirect = this.getRedirectRoute();\n this.router.navigateByUrl(redirect ? redirect : '/');\n break;\n case 'InvalidCredentialsError':\n case 'NativeAuthStrategyError':\n this.errorMessage = result.message;\n break;\n }\n });\n }\n\n loadImage() {\n // this.httpClient\n // .get('https://login-image.deenruv.io')\n // .toPromise()\n // .then(res => {\n // this.updateImage(res);\n // });\n }\n\n updateImage(res: any) {\n const user: any = (res as any).user;\n const location: any = (res as any).location;\n\n this.imageUrl = res.urls.regular;\n this.imageCreator = user.name;\n this.imageLocation = location.name;\n this.imageCreatorUrl = user.links.html;\n this.imageUnsplashUrl = res.links.html;\n }\n\n /**\n * Attempts to read a redirect param from the current url and parse it into a\n * route from which the user was redirected after a 401 error.\n */\n private getRedirectRoute(): string | undefined {\n let redirectTo: string | undefined;\n const re = new RegExp(`${AUTH_REDIRECT_PARAM}=(.*)`);\n try {\n const redirectToParam = window.location.search.match(re);\n if (redirectToParam && 1 < redirectToParam.length) {\n redirectTo = atob(decodeURIComponent(redirectToParam[1]));\n }\n } catch (e: any) {\n // ignore\n }\n return redirectTo;\n }\n}\n","<div class=\"login-wrapper\" [dir]=\"direction$ | async\">\n <div class=\"login-wrapper-inner\">\n <div class=\"login-wrapper-image\">\n <div class=\"login-wrapper-image-content\">\n <div class=\"login-wrapper-image-title\">\n {{ 'common.login-image-title' | translate }}\n </div>\n <div class=\"login-wrapper-image-copyright\">\n <p *ngIf=\"imageCreator\" class=\"creator\">\n Photo by <a [href]=\"imageCreatorUrl\" target=\"_blank\">{{ imageCreator }}</a> on\n <a [href]=\"imageUnsplashUrl\" target=\"_blank\">Unsplash</a>\n </p>\n <p *ngIf=\"imageLocation\" class=\"location\">{{ imageLocation }}</p>\n </div>\n </div>\n <img *ngIf=\"imageUrl\" [src]=\"imageUrl\" [alt]=\"imageUrl\" />\n </div>\n <div class=\"login-wrapper-form\">\n <p class=\"login-title\">\n {{ 'common.login-title' | translate: { brand: hideDeenruvBranding ? brand : 'Deenruv' } }}\n </p>\n <form class=\"login-form\">\n <div class=\"login-group\">\n <input\n class=\"username\"\n type=\"text\"\n name=\"username\"\n id=\"login_username\"\n [(ngModel)]=\"username\"\n [placeholder]=\"'common.username' | translate\"\n />\n <input\n class=\"password\"\n name=\"password\"\n type=\"password\"\n id=\"login_password\"\n [(ngModel)]=\"password\"\n [placeholder]=\"'common.password' | translate\"\n />\n <clr-alert\n [clrAlertType]=\"'danger'\"\n [clrAlertClosable]=\"false\"\n [class.visible]=\"errorMessage\"\n class=\"login-error\"\n >\n <clr-alert-item>\n <span class=\"alert-text\">\n {{ errorMessage }}\n </span>\n </clr-alert-item>\n </clr-alert>\n <clr-checkbox-wrapper>\n <input\n type=\"checkbox\"\n clrCheckbox\n id=\"rememberme\"\n name=\"rememberme\"\n [(ngModel)]=\"rememberMe\"\n />\n <label>{{ 'common.remember-me' | translate }}</label>\n </clr-checkbox-wrapper>\n <div>\n <button\n type=\"submit\"\n class=\"button primary login-button\"\n (click)=\"logIn()\"\n [disabled]=\"!username || !password\"\n >\n {{ 'common.login' | translate }}\n </button>\n </div>\n </div>\n </form>\n </div>\n <img class=\"login-wrapper-logo\" src=\"assets/logo-login.webp\" *ngIf=\"!hideDeenruvBranding\" />\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { AuthService } from '@deenruv/admin-ui/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/**\n * This guard prevents loggen-in users from navigating to the login screen.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class LoginGuard {\n constructor(\n private router: Router,\n private authService: AuthService,\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot): Observable<boolean> {\n return this.authService.checkAuthenticatedStatus().pipe(\n map(authenticated => {\n if (authenticated) {\n this.router.navigate(['/']);\n }\n return !authenticated;\n }),\n );\n }\n}\n","import { Routes } from '@angular/router';\n\nimport { LoginComponent } from './components/login/login.component';\nimport { LoginGuard } from './providers/login.guard';\n\nexport const loginRoutes: Routes = [\n {\n path: '',\n component: LoginComponent,\n pathMatch: 'full',\n canActivate: [LoginGuard],\n },\n];\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SharedModule } from '@deenruv/admin-ui/core';\n\nimport { LoginComponent } from './components/login/login.component';\nimport { loginRoutes } from './login.routes';\n\n@NgModule({\n imports: [SharedModule, RouterModule.forChild(loginRoutes)],\n exports: [],\n declarations: [LoginComponent],\n})\nexport class LoginModule {}\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":["i2","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deenruv-admin-ui-login.mjs","sources":["../../src/lib/login/src/components/login/login.component.ts","../../src/lib/login/src/components/login/login.component.html","../../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/deenruv-admin-ui-login.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n ADMIN_UI_VERSION,\n AuthService,\n AUTH_REDIRECT_PARAM,\n getAppConfig,\n LocalizationDirectionType,\n LocalizationService,\n} from '@deenruv/admin-ui/core';\n\n@Component({\n selector: 'vdr-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n})\nexport class LoginComponent implements OnInit {\n direction$: LocalizationDirectionType;\n\n username = '';\n password = '';\n rememberMe = false;\n version = ADMIN_UI_VERSION;\n errorMessage: string | undefined;\n brand = getAppConfig().brand;\n hideDeenruvBranding = getAppConfig().hideDeenruvBranding;\n customImageUrl = getAppConfig().loginImageUrl;\n imageUrl = '';\n imageUnsplashUrl = '';\n imageLocation = '';\n imageCreator = '';\n imageCreatorUrl = '';\n\n constructor(\n private authService: AuthService,\n private router: Router,\n private httpClient: HttpClient,\n private localizationService: LocalizationService,\n ) {\n if (this.customImageUrl) {\n this.imageUrl = this.customImageUrl;\n } else {\n this.loadImage();\n }\n }\n ngOnInit(): void {\n this.direction$ = this.localizationService.direction$;\n }\n\n logIn(): void {\n this.errorMessage = undefined;\n this.authService.logIn(this.username, this.password, this.rememberMe).subscribe(result => {\n switch (result.__typename) {\n case 'CurrentUser':\n const redirect = this.getRedirectRoute();\n this.router.navigateByUrl(redirect ? redirect : '/');\n break;\n case 'InvalidCredentialsError':\n case 'NativeAuthStrategyError':\n this.errorMessage = result.message;\n break;\n }\n });\n }\n\n loadImage() {\n // this.httpClient\n // .get('https://login-image.deenruv.com')\n // .toPromise()\n // .then(res => {\n // this.updateImage(res);\n // });\n }\n\n updateImage(res: any) {\n const user: any = (res as any).user;\n const location: any = (res as any).location;\n\n this.imageUrl = res.urls.regular;\n this.imageCreator = user.name;\n this.imageLocation = location.name;\n this.imageCreatorUrl = user.links.html;\n this.imageUnsplashUrl = res.links.html;\n }\n\n /**\n * Attempts to read a redirect param from the current url and parse it into a\n * route from which the user was redirected after a 401 error.\n */\n private getRedirectRoute(): string | undefined {\n let redirectTo: string | undefined;\n const re = new RegExp(`${AUTH_REDIRECT_PARAM}=(.*)`);\n try {\n const redirectToParam = window.location.search.match(re);\n if (redirectToParam && 1 < redirectToParam.length) {\n redirectTo = atob(decodeURIComponent(redirectToParam[1]));\n }\n } catch (e: any) {\n // ignore\n }\n return redirectTo;\n }\n}\n","<div class=\"login-wrapper\" [dir]=\"direction$ | async\">\n <div class=\"login-wrapper-inner\">\n <div class=\"login-wrapper-image\">\n <div class=\"login-wrapper-image-content\">\n <div class=\"login-wrapper-image-title\">\n {{ 'common.login-image-title' | translate }}\n </div>\n <div class=\"login-wrapper-image-copyright\">\n <p *ngIf=\"imageCreator\" class=\"creator\">\n Photo by <a [href]=\"imageCreatorUrl\" target=\"_blank\">{{ imageCreator }}</a> on\n <a [href]=\"imageUnsplashUrl\" target=\"_blank\">Unsplash</a>\n </p>\n <p *ngIf=\"imageLocation\" class=\"location\">{{ imageLocation }}</p>\n </div>\n </div>\n <img *ngIf=\"imageUrl\" [src]=\"imageUrl\" [alt]=\"imageUrl\" />\n </div>\n <div class=\"login-wrapper-form\">\n <p class=\"login-title\">\n {{ 'common.login-title' | translate: { brand: hideDeenruvBranding ? brand : 'Deenruv' } }}\n </p>\n <form class=\"login-form\">\n <div class=\"login-group\">\n <input\n class=\"username\"\n type=\"text\"\n name=\"username\"\n id=\"login_username\"\n [(ngModel)]=\"username\"\n [placeholder]=\"'common.username' | translate\"\n />\n <input\n class=\"password\"\n name=\"password\"\n type=\"password\"\n id=\"login_password\"\n [(ngModel)]=\"password\"\n [placeholder]=\"'common.password' | translate\"\n />\n <clr-alert\n [clrAlertType]=\"'danger'\"\n [clrAlertClosable]=\"false\"\n [class.visible]=\"errorMessage\"\n class=\"login-error\"\n >\n <clr-alert-item>\n <span class=\"alert-text\">\n {{ errorMessage }}\n </span>\n </clr-alert-item>\n </clr-alert>\n <clr-checkbox-wrapper>\n <input\n type=\"checkbox\"\n clrCheckbox\n id=\"rememberme\"\n name=\"rememberme\"\n [(ngModel)]=\"rememberMe\"\n />\n <label>{{ 'common.remember-me' | translate }}</label>\n </clr-checkbox-wrapper>\n <div>\n <button\n type=\"submit\"\n class=\"button primary login-button\"\n (click)=\"logIn()\"\n [disabled]=\"!username || !password\"\n >\n {{ 'common.login' | translate }}\n </button>\n </div>\n </div>\n </form>\n </div>\n <img class=\"login-wrapper-logo\" src=\"assets/logo-login.webp\" *ngIf=\"!hideDeenruvBranding\" />\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { AuthService } from '@deenruv/admin-ui/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/**\n * This guard prevents loggen-in users from navigating to the login screen.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class LoginGuard {\n constructor(\n private router: Router,\n private authService: AuthService,\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot): Observable<boolean> {\n return this.authService.checkAuthenticatedStatus().pipe(\n map(authenticated => {\n if (authenticated) {\n this.router.navigate(['/']);\n }\n return !authenticated;\n }),\n );\n }\n}\n","import { Routes } from '@angular/router';\n\nimport { LoginComponent } from './components/login/login.component';\nimport { LoginGuard } from './providers/login.guard';\n\nexport const loginRoutes: Routes = [\n {\n path: '',\n component: LoginComponent,\n pathMatch: 'full',\n canActivate: [LoginGuard],\n },\n];\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SharedModule } from '@deenruv/admin-ui/core';\n\nimport { LoginComponent } from './components/login/login.component';\nimport { loginRoutes } from './login.routes';\n\n@NgModule({\n imports: [SharedModule, RouterModule.forChild(loginRoutes)],\n exports: [],\n declarations: [LoginComponent],\n})\nexport class LoginModule {}\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":["i2","i1"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deenruv/admin-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@angular/animations": "^17.2.4",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"sass": "^1.79.4",
|
|
55
55
|
"tslib": "^2.6.2",
|
|
56
56
|
"zone.js": "~0.14.4",
|
|
57
|
-
"@deenruv/common": "1.0.
|
|
57
|
+
"@deenruv/common": "1.0.4"
|
|
58
58
|
},
|
|
59
59
|
"module": "fesm2022/deenruv-admin-ui.mjs",
|
|
60
60
|
"typings": "index.d.ts",
|
|
@@ -68,6 +68,12 @@
|
|
|
68
68
|
"esm": "./esm2022/deenruv-admin-ui.mjs",
|
|
69
69
|
"default": "./fesm2022/deenruv-admin-ui.mjs"
|
|
70
70
|
},
|
|
71
|
+
"./core": {
|
|
72
|
+
"types": "./core/index.d.ts",
|
|
73
|
+
"esm2022": "./esm2022/core/deenruv-admin-ui-core.mjs",
|
|
74
|
+
"esm": "./esm2022/core/deenruv-admin-ui-core.mjs",
|
|
75
|
+
"default": "./fesm2022/deenruv-admin-ui-core.mjs"
|
|
76
|
+
},
|
|
71
77
|
"./catalog": {
|
|
72
78
|
"types": "./catalog/index.d.ts",
|
|
73
79
|
"esm2022": "./esm2022/catalog/deenruv-admin-ui-catalog.mjs",
|
|
@@ -80,12 +86,6 @@
|
|
|
80
86
|
"esm": "./esm2022/login/deenruv-admin-ui-login.mjs",
|
|
81
87
|
"default": "./fesm2022/deenruv-admin-ui-login.mjs"
|
|
82
88
|
},
|
|
83
|
-
"./core": {
|
|
84
|
-
"types": "./core/index.d.ts",
|
|
85
|
-
"esm2022": "./esm2022/core/deenruv-admin-ui-core.mjs",
|
|
86
|
-
"esm": "./esm2022/core/deenruv-admin-ui-core.mjs",
|
|
87
|
-
"default": "./fesm2022/deenruv-admin-ui-core.mjs"
|
|
88
|
-
},
|
|
89
89
|
"./marketing": {
|
|
90
90
|
"types": "./marketing/index.d.ts",
|
|
91
91
|
"esm2022": "./esm2022/marketing/deenruv-admin-ui-marketing.mjs",
|