mirror of
https://dev.azure.com/hugendubel/ISA/_git/ISA-Frontend
synced 2025-12-28 22:42:11 +01:00
Merge branch 'master' into release/1.3
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { StringDictionary } from '@cmf/core';
|
||||
import { AuthConfig } from 'angular-oauth2-oidc';
|
||||
|
||||
@Injectable()
|
||||
@@ -6,6 +7,8 @@ export class AppConfiguration {
|
||||
includeGoogleAnalytics = false;
|
||||
title?: string;
|
||||
|
||||
cdn: StringDictionary<string>;
|
||||
|
||||
sso: AuthConfig;
|
||||
|
||||
swagger: { [key: string]: { rootUrl: string } };
|
||||
|
||||
@@ -56,6 +56,7 @@ import { ModalDialogueModule } from './core/overlay/component';
|
||||
import { AppModalModule } from './app-modal.module';
|
||||
import { OverlaysModule } from './core/overlay/overlays.module';
|
||||
import { DateAdapter, NativeDateAdapter } from '@isa-ui/core/date';
|
||||
import { CDN_PRODUCT_PICTURES } from './tokens';
|
||||
registerLocaleData(localeDe, localeDeExtra);
|
||||
registerLocaleData(localeDe, 'de', localeDeExtra);
|
||||
|
||||
@@ -89,6 +90,9 @@ export function remissionModuleOptionsFactory(config: AppConfiguration): Remissi
|
||||
return config.remissionModuleOptions;
|
||||
}
|
||||
|
||||
export function cdnProdutctPictures(config: AppConfiguration): string {
|
||||
return config.cdn.productPictures;
|
||||
}
|
||||
@NgModule({
|
||||
declarations: [AppComponent],
|
||||
imports: [
|
||||
@@ -163,6 +167,12 @@ export function remissionModuleOptionsFactory(config: AppConfiguration): Remissi
|
||||
provide: DateAdapter,
|
||||
useClass: NativeDateAdapter,
|
||||
},
|
||||
|
||||
{
|
||||
provide: CDN_PRODUCT_PICTURES,
|
||||
useFactory: cdnProdutctPictures,
|
||||
deps: [AppConfiguration],
|
||||
},
|
||||
],
|
||||
bootstrap: [AppComponent],
|
||||
})
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="product-image">
|
||||
<img
|
||||
class="thumbnail"
|
||||
src="https://produktbilder.ihugendubel.de/{{ orderItemListItem?.product.ean }}.jpg?showDummy=true"
|
||||
src="{{ cdnProdutctPictures }}/{{ orderItemListItem?.product.ean }}.jpg?showDummy=true"
|
||||
alt="item.product.name"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -10,8 +10,10 @@ import {
|
||||
ElementRef,
|
||||
ChangeDetectorRef,
|
||||
Renderer2,
|
||||
Inject,
|
||||
} from '@angular/core';
|
||||
import { OrderItemListItemDTO, ReceiptDTO } from '@swagger/oms';
|
||||
import { CDN_PRODUCT_PICTURES } from 'apps/sales/src/app/tokens';
|
||||
|
||||
@Component({
|
||||
selector: 'app-shelf-order-item-details',
|
||||
@@ -62,7 +64,11 @@ export class ShelfOrderItemDetailsComponent implements OnChanges {
|
||||
inputQuantityError: string;
|
||||
moreThan10 = false;
|
||||
|
||||
constructor(private cdr: ChangeDetectorRef, private renderer: Renderer2) {}
|
||||
constructor(
|
||||
private cdr: ChangeDetectorRef,
|
||||
private renderer: Renderer2,
|
||||
@Inject(CDN_PRODUCT_PICTURES) public cdnProdutctPictures: string
|
||||
) {}
|
||||
|
||||
ngOnChanges({ orderItemListItem }: SimpleChanges): void {
|
||||
if (orderItemListItem) {
|
||||
|
||||
@@ -21,13 +21,7 @@
|
||||
</div>
|
||||
<div class="grid-container">
|
||||
<div class="cover">
|
||||
<img
|
||||
class="thumbnail"
|
||||
src="https://produktbilder.ihugendubel.de/{{
|
||||
item.product.ean
|
||||
}}.jpg?showDummy=true"
|
||||
alt="item.product.name"
|
||||
/>
|
||||
<img class="thumbnail" src="{{ cdnProdutctPictures }}/{{ item.product.ean }}.jpg?showDummy=true" alt="item.product.name" />
|
||||
</div>
|
||||
<div class="title">
|
||||
<strong class="product-name">
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';
|
||||
import { Component, OnInit, ChangeDetectionStrategy, Input, Inject } from '@angular/core';
|
||||
import { OrderItemListItemDTO } from '@swagger/oms';
|
||||
import { CDN_PRODUCT_PICTURES } from 'apps/sales/src/app/tokens';
|
||||
|
||||
@Component({
|
||||
selector: 'app-search-result-group-item',
|
||||
@@ -14,7 +15,7 @@ export class SearchResultGroupItemComponent implements OnInit {
|
||||
@Input()
|
||||
displayCompartmentCode = true;
|
||||
|
||||
constructor() {}
|
||||
constructor(@Inject(CDN_PRODUCT_PICTURES) public cdnProdutctPictures: string) {}
|
||||
|
||||
ngOnInit() {}
|
||||
}
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
import { CreateImageSourceFromEanPipe } from './generate-image-src-from-ean.pipe';
|
||||
|
||||
describe('Pipe: CreateImageSourceFromEanPipe', () => {
|
||||
let pipe: CreateImageSourceFromEanPipe;
|
||||
|
||||
const ean = '123456';
|
||||
|
||||
beforeEach(() => {
|
||||
pipe = new CreateImageSourceFromEanPipe();
|
||||
});
|
||||
|
||||
it('should return the image url for the provided ean', () => {
|
||||
const result = pipe.transform(ean);
|
||||
|
||||
expect(result).toEqual(`https://produktbilder.ihugendubel.de/${ean}.jpg?showDummy=true`);
|
||||
});
|
||||
});
|
||||
@@ -1,11 +1,14 @@
|
||||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
import { Inject, Pipe, PipeTransform } from '@angular/core';
|
||||
import { CDN_PRODUCT_PICTURES } from '../../../tokens';
|
||||
|
||||
@Pipe({
|
||||
name: 'createImageSourceFromEan',
|
||||
})
|
||||
export class CreateImageSourceFromEanPipe implements PipeTransform {
|
||||
constructor(@Inject(CDN_PRODUCT_PICTURES) private cdnProdutctPictures: string) {}
|
||||
|
||||
transform(ean: string): string {
|
||||
return `https://produktbilder.ihugendubel.de/
|
||||
return `${this.cdnProdutctPictures}/
|
||||
${ean}
|
||||
.jpg?showDummy=true`;
|
||||
}
|
||||
|
||||
3
apps/sales/src/app/tokens.ts
Normal file
3
apps/sales/src/app/tokens.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
import { InjectionToken } from '@angular/core';
|
||||
|
||||
export const CDN_PRODUCT_PICTURES = new InjectionToken<string>('cdn.productPictures');
|
||||
@@ -1,6 +1,9 @@
|
||||
{
|
||||
"includeGoogleAnalytics": false,
|
||||
"title": "ISA - feature",
|
||||
"cdn": {
|
||||
"productPictures": "https://produktbilder-test.paragon-data.net"
|
||||
},
|
||||
"sso": {
|
||||
"issuer": "https://sso-test.paragon-data.de",
|
||||
"clientId": "hug-isa",
|
||||
@@ -42,16 +45,14 @@
|
||||
"print": "https://isa-feature.paragon-data.net/print/v1/"
|
||||
}
|
||||
},
|
||||
|
||||
"taskCalendarModuleOptions": {
|
||||
"useMock": false,
|
||||
"endpoints": {
|
||||
"eis": "https://isa-feature.paragon-data.net/eis/v1/"
|
||||
}
|
||||
},
|
||||
|
||||
"taskCalendarConfig": {
|
||||
"monthsOffset": 3,
|
||||
"weeksOffset": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
{
|
||||
"includeGoogleAnalytics": false,
|
||||
"title": "ISA - integration",
|
||||
"cdn": {
|
||||
"productPictures": "https://produktbilder-test.paragon-data.net"
|
||||
},
|
||||
"sso": {
|
||||
"issuer": "https://sso-test.paragon-data.de",
|
||||
"clientId": "hug-isa",
|
||||
@@ -42,16 +45,14 @@
|
||||
"print": "https://isa-integration.paragon-data.net/print/v1/"
|
||||
}
|
||||
},
|
||||
|
||||
"taskCalendarModuleOptions": {
|
||||
"useMock": false,
|
||||
"endpoints": {
|
||||
"eis": "https://isa.paragon-data.de/eis/v1/"
|
||||
}
|
||||
},
|
||||
|
||||
"taskCalendarConfig": {
|
||||
"monthsOffset": 3,
|
||||
"weeksOffset": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
{
|
||||
"includeGoogleAnalytics": false,
|
||||
"title": "ISA - local",
|
||||
"cdn": {
|
||||
"productPictures": "https://produktbilder-test.paragon-data.net"
|
||||
},
|
||||
"sso": {
|
||||
"issuer": "https://sso-test.paragon-data.de",
|
||||
"clientId": "hug-isa",
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
{
|
||||
"includeGoogleAnalytics": true,
|
||||
"title": "ISA",
|
||||
"cdn": {
|
||||
"productPictures": "https://produktbilder.paragon-data.net"
|
||||
},
|
||||
"sso": {
|
||||
"issuer": "https://sso.paragon-data.de",
|
||||
"clientId": "hug-isa",
|
||||
@@ -42,16 +45,14 @@
|
||||
"print": "https://isa.paragon-systems.de/print/v1/"
|
||||
}
|
||||
},
|
||||
|
||||
"taskCalendarModuleOptions": {
|
||||
"useMock": false,
|
||||
"endpoints": {
|
||||
"eis": "https://isa.paragon-data.de/eis/v1/"
|
||||
}
|
||||
},
|
||||
|
||||
"taskCalendarConfig": {
|
||||
"monthsOffset": 3,
|
||||
"weeksOffset": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
{
|
||||
"includeGoogleAnalytics": true,
|
||||
"title": "ISA - staging",
|
||||
"cdn": {
|
||||
"productPictures": "https://produktbilder.paragon-data.net"
|
||||
},
|
||||
"sso": {
|
||||
"issuer": "https://sso.paragon-data.de",
|
||||
"clientId": "hug-isa",
|
||||
@@ -42,16 +45,14 @@
|
||||
"print": "https://isa-staging.paragon-systems.de/print/v1/"
|
||||
}
|
||||
},
|
||||
|
||||
"taskCalendarModuleOptions": {
|
||||
"useMock": false,
|
||||
"endpoints": {
|
||||
"eis": "https://isa-staging.paragon-data.net/eis/v1/"
|
||||
}
|
||||
},
|
||||
|
||||
"taskCalendarConfig": {
|
||||
"monthsOffset": 3,
|
||||
"weeksOffset": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
{
|
||||
"includeGoogleAnalytics": false,
|
||||
"title": "ISA - test",
|
||||
"cdn": {
|
||||
"productPictures": "https://produktbilder-test.paragon-data.net"
|
||||
},
|
||||
"sso": {
|
||||
"issuer": "https://sso-test.paragon-data.de",
|
||||
"clientId": "hug-isa",
|
||||
@@ -42,16 +45,14 @@
|
||||
"print": "https://isa-test.paragon-data.net/print/v1/"
|
||||
}
|
||||
},
|
||||
|
||||
"taskCalendarModuleOptions": {
|
||||
"useMock": false,
|
||||
"endpoints": {
|
||||
"eis": "https://isa-test.paragon-data.net/eis/v1/"
|
||||
}
|
||||
},
|
||||
|
||||
"taskCalendarConfig": {
|
||||
"monthsOffset": 3,
|
||||
"weeksOffset": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user