Merge branch 'hotfix/4266-Archivartikel'

This commit is contained in:
Lorenz Hilpert
2023-08-24 20:04:40 +02:00
6 changed files with 55 additions and 22 deletions

View File

@@ -94,7 +94,7 @@
{{ priceValue$ | async | currency: 'EUR':'code' }}
</ng-container>
<ng-template #setManualPrice>
<div class="relative flex flex-row items-start">
<div class="relative flex flex-row items-start manual-price">
<ui-select
class="w-[6.5rem] min-h-[3.4375rem] p-4 rounded-card border border-solid border-[#AEB7C1] mr-4"
tabindex="-1"

View File

@@ -1,4 +1,4 @@
import { CommonModule } from '@angular/common';
import { CommonModule, NgIf } from '@angular/common';
import {
Component,
ChangeDetectionStrategy,
@@ -322,7 +322,7 @@ export class PurchaseOptionsListItemComponent implements OnInit, OnDestroy, OnCh
return;
}
if (price[this.item.id] !== parsedPrice) {
if (price?.value?.value !== parsedPrice) {
this._store.setPrice(this.item.id, this.parsePrice(value), true);
}
});

View File

@@ -13,7 +13,7 @@ import {
PickupPurchaseOptionTileComponent,
} from './purchase-options-tile';
import { isGiftCard, Item, PurchaseOption, PurchaseOptionsStore } from './store';
import { delay, map, shareReplay, skip, switchMap, takeUntil } from 'rxjs/operators';
import { delay, map, shareReplay, skip, switchMap, takeUntil, tap } from 'rxjs/operators';
import { KeyValueDTOOfStringAndString } from '@swagger/cat';
@Component({
@@ -83,7 +83,7 @@ export class PurchaseOptionsModalComponent implements OnInit, OnDestroy {
hasDownload$ = this.purchasingOptions$.pipe(map((purchasingOptions) => purchasingOptions.includes('download')));
canContinue$ = this.store.canContinue$.pipe(shareReplay(1));
canContinue$ = this.store.canContinue$.pipe(tap((canContinue) => console.log('canContinue', canContinue)));
private _onDestroy$ = new Subject<void>();

View File

@@ -198,10 +198,17 @@ export function getAvailabilitiesForItem(
};
}
export function isArchive(item: Item, type: ActionType): boolean {
if (isItemDTO(item, type)) {
return item?.features?.some((f) => f.key === 'ARC');
} else {
return !!item?.features['ARC'];
}
}
export function getCanEditPrice(itemId: number): (state: PurchaseOptionsState) => boolean {
return (state) => {
const item = getItems(state).find((item) => item.id === itemId);
return isGiftCard(item, getType(state));
};
}
@@ -211,9 +218,14 @@ export function getPriceForPurchaseOption(
purchaseOption: PurchaseOption
): (state: PurchaseOptionsState) => PriceDTO & { fromCatalogue?: boolean } {
return (state) => {
if (getCanEditPrice(itemId)(state)) {
if (
getCanEditPrice(itemId)(state) ||
isArchive(
getItems(state).find((item) => item.id === itemId),
getType(state)
)
) {
const price = getPrices(state)[itemId];
if (price) {
return price;
}

View File

@@ -643,6 +643,7 @@ export class PurchaseOptionsStore extends ComponentStore<PurchaseOptionsState> {
setPrice(itemId: number, value: number, manually: boolean = false) {
const prices = this.prices;
let price = prices[itemId];
if (price?.value?.value !== value) {
if (!price) {
price = {

48
package-lock.json generated
View File

@@ -35,7 +35,7 @@
"moment": "^2.29.4",
"ng2-pdf-viewer": "^9.1.3",
"rxjs": "^6.6.7",
"scandit-sdk": "^5.12.1",
"scandit-sdk": "^5.13.2",
"socket.io": "^4.5.4",
"tslib": "^2.0.0",
"uglify-js": "^3.4.9",
@@ -2173,16 +2173,22 @@
}
},
"node_modules/@babel/runtime-corejs2": {
"version": "7.20.7",
"license": "MIT",
"version": "7.22.10",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.22.10.tgz",
"integrity": "sha512-GKgzyeqm8fCoPt14SBTYFGwSTY+LCRoJb+sJPJLRfUhyFD0206ZZEPyUyQhZdbEyFKDtRvvfjbAhk3t5EUw1og==",
"dependencies": {
"core-js": "^2.6.12",
"regenerator-runtime": "^0.13.11"
"regenerator-runtime": "^0.14.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/runtime-corejs2/node_modules/regenerator-runtime": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
"integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
},
"node_modules/@babel/template": {
"version": "7.18.10",
"license": "MIT",
@@ -12722,6 +12728,7 @@
},
"node_modules/regenerator-runtime": {
"version": "0.13.11",
"dev": true,
"license": "MIT"
},
"node_modules/regenerator-transform": {
@@ -13427,10 +13434,11 @@
"license": "ISC"
},
"node_modules/scandit-sdk": {
"version": "5.12.2",
"license": "SEE LICENSE IN LICENSE",
"version": "5.13.3",
"resolved": "https://registry.npmjs.org/scandit-sdk/-/scandit-sdk-5.13.3.tgz",
"integrity": "sha512-lETa3+ZmOXWytmAzb+PtenvU878UvOvsCVP4RhmF/HkyzjhobS/OOsluc0gaWh7U7d+gJIrnlheY8pTehARtqQ==",
"dependencies": {
"@babel/runtime-corejs2": "^7.20.7",
"@babel/runtime-corejs2": "^7.20.13",
"@juggle/resize-observer": "^3.4.0",
"csstype": "^3.1.1",
"eventemitter3": "^5.0.0",
@@ -13438,7 +13446,7 @@
"js-cookie": "^3.0.1",
"objectFitPolyfill": "^2.3.5",
"tslib": "^2.4.1",
"ua-parser-js": "^1.0.32"
"ua-parser-js": "^1.0.33"
},
"engines": {
"node": ">=10.18"
@@ -17676,10 +17684,19 @@
}
},
"@babel/runtime-corejs2": {
"version": "7.20.7",
"version": "7.22.10",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.22.10.tgz",
"integrity": "sha512-GKgzyeqm8fCoPt14SBTYFGwSTY+LCRoJb+sJPJLRfUhyFD0206ZZEPyUyQhZdbEyFKDtRvvfjbAhk3t5EUw1og==",
"requires": {
"core-js": "^2.6.12",
"regenerator-runtime": "^0.13.11"
"regenerator-runtime": "^0.14.0"
},
"dependencies": {
"regenerator-runtime": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
"integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
}
}
},
"@babel/template": {
@@ -24494,7 +24511,8 @@
}
},
"regenerator-runtime": {
"version": "0.13.11"
"version": "0.13.11",
"dev": true
},
"regenerator-transform": {
"version": "0.15.1",
@@ -24933,9 +24951,11 @@
"dev": true
},
"scandit-sdk": {
"version": "5.12.2",
"version": "5.13.3",
"resolved": "https://registry.npmjs.org/scandit-sdk/-/scandit-sdk-5.13.3.tgz",
"integrity": "sha512-lETa3+ZmOXWytmAzb+PtenvU878UvOvsCVP4RhmF/HkyzjhobS/OOsluc0gaWh7U7d+gJIrnlheY8pTehARtqQ==",
"requires": {
"@babel/runtime-corejs2": "^7.20.7",
"@babel/runtime-corejs2": "^7.20.13",
"@juggle/resize-observer": "^3.4.0",
"csstype": "^3.1.1",
"eventemitter3": "^5.0.0",
@@ -24943,7 +24963,7 @@
"js-cookie": "^3.0.1",
"objectFitPolyfill": "^2.3.5",
"tslib": "^2.4.1",
"ua-parser-js": "^1.0.32"
"ua-parser-js": "^1.0.33"
},
"dependencies": {
"eventemitter3": {