@vendure/admin-ui-plugin 3.3.8-master-202507310242 → 3.3.8
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/lib/admin-ui/browser/{chunk-UX4FXTDH.js → chunk-2KKV32PY.js} +3 -3
- package/lib/admin-ui/browser/{chunk-UX4FXTDH.js.map → chunk-2KKV32PY.js.map} +2 -2
- package/lib/admin-ui/browser/{chunk-HLJILU5J.js → chunk-3AJAMPCI.js} +2 -2
- package/lib/admin-ui/browser/{chunk-BOHSCOIL.js → chunk-6RZRZLAP.js} +2 -2
- package/lib/admin-ui/browser/{chunk-XQKUGFYE.js → chunk-AKIY522X.js} +2 -2
- package/lib/admin-ui/browser/{chunk-6JA6M6OE.js → chunk-BJWFFFS3.js} +2 -2
- package/lib/admin-ui/browser/{chunk-TCL6DKZ3.js → chunk-BQCGUBYQ.js} +2 -2
- package/lib/admin-ui/browser/{chunk-6DDGIFVJ.js → chunk-GX5DLMAK.js} +2 -2
- package/lib/admin-ui/browser/{chunk-5TJD6QQO.js → chunk-M4Y3WN5G.js} +2 -2
- package/lib/admin-ui/browser/{chunk-D4CWRIRZ.js → chunk-PQCSPRYF.js} +2 -2
- package/lib/admin-ui/browser/{chunk-D4CWRIRZ.js.map → chunk-PQCSPRYF.js.map} +1 -1
- package/lib/admin-ui/browser/{chunk-NIJWFU4G.js → chunk-RNEM5N27.js} +2 -2
- package/lib/admin-ui/browser/index.html +1 -1
- package/lib/admin-ui/browser/main-SR4AOVI4.js +2 -0
- package/package.json +5 -5
- package/lib/admin-ui/browser/main-L5SLXTDQ.js +0 -2
- /package/lib/admin-ui/browser/{chunk-HLJILU5J.js.map → chunk-3AJAMPCI.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-BOHSCOIL.js.map → chunk-6RZRZLAP.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-XQKUGFYE.js.map → chunk-AKIY522X.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-6JA6M6OE.js.map → chunk-BJWFFFS3.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-TCL6DKZ3.js.map → chunk-BQCGUBYQ.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-6DDGIFVJ.js.map → chunk-GX5DLMAK.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-5TJD6QQO.js.map → chunk-M4Y3WN5G.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-NIJWFU4G.js.map → chunk-RNEM5N27.js.map} +0 -0
- /package/lib/admin-ui/browser/{main-L5SLXTDQ.js.map → main-SR4AOVI4.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["src/lib/order/src/common/get-refundable-payments.ts", "src/lib/order/src/components/add-manual-payment-dialog/add-manual-payment-dialog.component.ts", "src/lib/order/src/components/add-manual-payment-dialog/add-manual-payment-dialog.component.html", "src/lib/order/src/components/cancel-order-dialog/cancel-order-dialog.component.ts", "src/lib/order/src/components/cancel-order-dialog/cancel-order-dialog.component.html", "src/lib/order/src/components/coupon-code-selector/coupon-code-selector.component.ts", "src/lib/order/src/components/coupon-code-selector/coupon-code-selector.component.html", "src/lib/order/src/components/select-address-dialog/select-address-dialog.component.ts", "src/lib/order/src/components/select-address-dialog/select-address-dialog.component.html", "src/lib/order/src/components/select-customer-dialog/select-customer-dialog.component.ts", "src/lib/order/src/components/select-customer-dialog/select-customer-dialog.component.html", "src/lib/order/src/components/select-shipping-method-dialog/select-shipping-method-dialog.component.ts", "src/lib/order/src/components/select-shipping-method-dialog/select-shipping-method-dialog.component.html", "src/lib/order/src/components/order-state-select-dialog/order-state-select-dialog.component.ts", "src/lib/order/src/components/order-state-select-dialog/order-state-select-dialog.component.html", "src/lib/order/src/providers/order-transition.service.ts", "src/lib/order/src/components/order-custom-fields-card/order-custom-fields-card.component.ts", "src/lib/order/src/components/order-custom-fields-card/order-custom-fields-card.component.html", "src/lib/order/src/components/line-fulfillment/line-fulfillment.component.ts", "src/lib/order/src/components/line-fulfillment/line-fulfillment.component.html", "src/lib/order/src/components/line-refunds/line-refunds.component.ts", "src/lib/order/src/components/line-refunds/line-refunds.component.html", "src/lib/order/src/components/order-data-table/order-total-column.component.ts", "src/lib/order/src/components/order-data-table/order-data-table.component.ts", "src/lib/order/src/components/order-data-table/order-data-table.component.html", "src/lib/order/src/components/order-table/order-table.component.ts", "src/lib/order/src/components/order-table/order-table.component.html", "src/lib/order/src/components/draft-order-variant-selector/draft-order-variant-selector.component.ts", "src/lib/order/src/components/draft-order-variant-selector/draft-order-variant-selector.component.html", "src/lib/order/src/components/draft-order-detail/draft-order-detail.component.ts", "src/lib/order/src/components/draft-order-detail/draft-order-detail.component.html", "src/lib/order/src/components/fulfill-order-dialog/fulfill-order-dialog.component.ts", "src/lib/order/src/components/fulfill-order-dialog/fulfill-order-dialog.component.html", "src/lib/order/src/components/fulfillment-detail/fulfillment-detail.component.ts", "src/lib/order/src/components/fulfillment-detail/fulfillment-detail.component.html", "src/lib/order/src/components/simple-item-list/simple-item-list.component.ts", "src/lib/order/src/components/simple-item-list/simple-item-list.component.html", "src/lib/order/src/components/fulfillment-state-label/fulfillment-state-label.component.ts", "src/lib/order/src/components/fulfillment-state-label/fulfillment-state-label.component.html", "src/lib/order/src/components/fulfillment-card/fulfillment-card.component.ts", "src/lib/order/src/components/fulfillment-card/fulfillment-card.component.html", "src/lib/order/src/components/modification-detail/modification-detail.component.ts", "src/lib/order/src/components/modification-detail/modification-detail.component.html", "src/lib/order/src/components/order-detail/order-detail.component.ts", "src/lib/order/src/components/order-detail/order-detail.component.html", "src/lib/order/src/components/order-process-graph/constants.ts", "src/lib/order/src/components/order-process-graph/order-process-node.component.ts", "src/lib/order/src/components/order-process-graph/order-process-node.component.html", "src/lib/order/src/components/order-process-graph/order-process-edge.component.ts", "src/lib/order/src/components/order-process-graph/order-process-edge.component.html", "src/lib/order/src/components/order-process-graph/order-process-graph.component.ts", "src/lib/order/src/components/order-process-graph/order-process-graph.component.html", "src/lib/order/src/components/order-process-graph-dialog/order-process-graph-dialog.component.ts", "src/lib/order/src/components/order-process-graph-dialog/order-process-graph-dialog.component.html", "src/lib/order/src/components/refund-order-dialog/refund-order-dialog.component.ts", "src/lib/order/src/components/refund-order-dialog/refund-order-dialog.component.html", "src/lib/order/src/components/payment-for-refund-selector/payment-for-refund-selector.component.ts", "src/lib/order/src/components/payment-for-refund-selector/payment-for-refund-selector.component.html", "src/lib/order/src/components/settle-refund-dialog/settle-refund-dialog.component.ts", "src/lib/order/src/components/settle-refund-dialog/settle-refund-dialog.component.html", "src/lib/order/src/components/payment-state-label/payment-state-label.component.ts", "src/lib/order/src/components/payment-state-label/payment-state-label.component.html", "src/lib/order/src/components/refund-state-label/refund-state-label.component.ts", "src/lib/order/src/components/refund-state-label/refund-state-label.component.html", "src/lib/order/src/components/payment-detail/payment-detail.component.ts", "src/lib/order/src/components/payment-detail/payment-detail.component.html", "src/lib/order/src/components/order-payment-card/order-payment-card.component.ts", "src/lib/order/src/components/order-payment-card/order-payment-card.component.html", "src/lib/order/src/components/order-history/order-history-entry-host.component.ts", "src/lib/order/src/components/order-history/order-history.component.ts", "src/lib/order/src/components/order-history/order-history.component.html", "src/lib/order/src/components/seller-orders-card/seller-orders-card.component.ts", "src/lib/order/src/components/seller-orders-card/seller-orders-card.component.html", "src/lib/order/src/components/seller-orders-card/seller-orders-card.graphql.ts", "src/lib/order/src/components/order-editor/order-editor.component.ts", "src/lib/order/src/components/order-editor/order-editor.component.html", "src/lib/order/src/components/order-modification-summary/order-modification-summary.component.ts", "src/lib/order/src/components/order-modification-summary/order-modification-summary.component.html", "src/lib/order/src/components/order-edits-preview-dialog/order-edits-preview-dialog.component.ts", "src/lib/order/src/components/order-edits-preview-dialog/order-edits-preview-dialog.component.html", "src/lib/order/src/components/order-list/order-list.component.ts", "src/lib/order/src/components/order-list/order-list.component.html", "src/lib/order/src/components/refund-detail/refund-detail.component.ts", "src/lib/order/src/components/refund-detail/refund-detail.component.html", "src/lib/order/src/components/select-address-dialog/select-address-dialog.graphql.ts", "src/lib/order/src/providers/routing/order.guard.ts", "src/lib/order/src/order.routes.ts", "src/lib/order/src/order.module.ts"],
|
|
4
|
-
"sourcesContent": ["import { FormControl, Validators } from '@angular/forms';\nimport { OrderDetailFragment } from '@vendure/admin-ui/core';\nimport { summate } from '@vendure/common/lib/shared-utils';\n\nexport type Payment = NonNullable<OrderDetailFragment['payments']>[number];\nexport type RefundablePayment = Payment & {\n refundableAmount: number;\n amountToRefundControl: FormControl<number>;\n selected: boolean;\n};\n\nexport function getRefundablePayments(payments: OrderDetailFragment['payments']): RefundablePayment[] {\n const settledPayments = (payments || []).filter(p => p.state === 'Settled');\n return settledPayments.map((payment, index) => {\n const refundableAmount =\n payment.amount -\n summate(\n payment.refunds.filter(r => r.state !== 'Failed'),\n 'total',\n );\n return {\n ...payment,\n refundableAmount,\n amountToRefundControl: new FormControl(0, {\n nonNullable: true,\n validators: [Validators.min(0), Validators.max(refundableAmount)],\n }),\n selected: index === 0,\n };\n });\n}\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport {\n CurrencyCode,\n DataService,\n Dialog,\n GetAddManualPaymentMethodListDocument,\n GetAddManualPaymentMethodListQuery,\n GetPaymentMethodListQuery,\n ItemOf,\n ManualPaymentInput,\n PAYMENT_METHOD_FRAGMENT,\n} from '@vendure/admin-ui/core';\nimport { gql } from 'apollo-angular';\nimport { Observable } from 'rxjs';\n\nconst GET_PAYMENT_METHODS_FOR_MANUAL_ADD = gql`\n query GetAddManualPaymentMethodList($options: PaymentMethodListOptions!) {\n paymentMethods(options: $options) {\n items {\n id\n createdAt\n updatedAt\n name\n code\n description\n enabled\n }\n totalItems\n }\n }\n`;\n\n@Component({\n selector: 'vdr-add-manual-payment-dialog',\n templateUrl: './add-manual-payment-dialog.component.html',\n styleUrls: ['./add-manual-payment-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class AddManualPaymentDialogComponent implements OnInit, Dialog<Omit<ManualPaymentInput, 'orderId'>> {\n // populated by ModalService call\n outstandingAmount: number;\n currencyCode: CurrencyCode;\n\n resolveWith: (result?: Omit<ManualPaymentInput, 'orderId'>) => void;\n form = new UntypedFormGroup({\n method: new UntypedFormControl('', Validators.required),\n transactionId: new UntypedFormControl('', Validators.required),\n });\n paymentMethods$: Observable<Array<ItemOf<GetAddManualPaymentMethodListQuery, 'paymentMethods'>>>;\n constructor(private dataService: DataService) {}\n\n ngOnInit(): void {\n this.paymentMethods$ = this.dataService\n .query(GetAddManualPaymentMethodListDocument, {\n options: {\n take: 999,\n },\n })\n .mapSingle(data => data.paymentMethods.items);\n }\n\n submit() {\n const formValue = this.form.value;\n this.resolveWith({\n method: formValue.method,\n transactionId: formValue.transactionId,\n });\n }\n\n cancel() {\n this.resolveWith();\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.add-payment-to-order' | translate }}</ng-template>\n<form [formGroup]=\"form\">\n <vdr-form-field [label]=\"'order.payment-method' | translate\" for=\"method\">\n <ng-select\n [items]=\"paymentMethods$ | async\"\n bindLabel=\"code\"\n appendTo=\"body\"\n autofocus\n bindValue=\"code\"\n [addTag]=\"true\"\n formControlName=\"method\"\n ></ng-select>\n </vdr-form-field>\n <vdr-form-field [label]=\"'order.transaction-id' | translate\" for=\"transactionId\">\n <input id=\"transactionId\" type=\"text\" formControlName=\"transactionId\" />\n </vdr-form-field>\n</form>\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button type=\"submit\" (click)=\"submit()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || form.pristine\">\n {{ 'order.add-payment' | translate }} ({{ outstandingAmount | localeCurrency: currencyCode }})\n </button>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n CancelOrderInput,\n Dialog,\n getAppConfig,\n I18nService,\n OrderDetailFragment,\n OrderLineInput,\n} from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-cancel-order-dialog',\n templateUrl: './cancel-order-dialog.component.html',\n styleUrls: ['./cancel-order-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class CancelOrderDialogComponent implements OnInit, Dialog<CancelOrderInput> {\n order: OrderDetailFragment;\n cancelAll = true;\n resolveWith: (result?: CancelOrderInput) => void;\n reason: string;\n lineQuantities: { [lineId: string]: number } = {};\n reasons: string[] = getAppConfig().cancellationReasons ?? [\n _('order.cancel-reason-customer-request'),\n _('order.cancel-reason-not-available'),\n ];\n\n get selectionCount(): number {\n return Object.values(this.lineQuantities).reduce((sum, n) => sum + n, 0);\n }\n\n constructor(private i18nService: I18nService) {\n this.reasons = this.reasons.map(r => this.i18nService.translate(r));\n }\n\n ngOnInit() {\n this.lineQuantities = this.order.lines.reduce(\n (result, line) => ({ ...result, [line.id]: line.quantity }),\n {},\n );\n }\n\n radioChanged() {\n if (this.cancelAll) {\n for (const line of this.order.lines) {\n this.lineQuantities[line.id] = line.quantity;\n }\n } else {\n for (const line of this.order.lines) {\n this.lineQuantities[line.id] = 0;\n }\n }\n }\n\n checkIfAllSelected() {\n for (const [lineId, quantity] of Object.entries(this.lineQuantities)) {\n const quantityInOrder = this.order.lines.find(line => line.id === lineId)?.quantity;\n if (quantityInOrder && quantity < quantityInOrder) {\n return;\n }\n }\n // If we got here, all of the selected quantities are equal to the order\n // line quantities, i.e. everything is selected.\n this.cancelAll = true;\n }\n\n select() {\n this.resolveWith({\n orderId: this.order.id,\n lines: this.getLineInputs(),\n reason: this.reason,\n cancelShipping: this.cancelAll,\n });\n }\n\n cancel() {\n this.resolveWith();\n }\n\n private getLineInputs(): OrderLineInput[] | undefined {\n if (this.order.active) {\n return;\n }\n return Object.entries(this.lineQuantities)\n .map(([orderLineId, quantity]) => ({\n orderLineId,\n quantity,\n }))\n .filter(l => 0 < l.quantity);\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.cancel-order' | translate }}</ng-template>\n\n<div class=\"fulfillment-wrapper\">\n <div class=\"order-lines\">\n <table class=\"table\">\n <thead>\n <tr>\n <th></th>\n <th>{{ 'order.product-name' | translate }}</th>\n <th>{{ 'order.product-sku' | translate }}</th>\n <th>{{ 'order.quantity' | translate }}</th>\n <th>{{ 'order.unit-price' | translate }}</th>\n <th>{{ 'order.cancel' | translate }}</th>\n </tr>\n </thead>\n <tr\n *ngFor=\"let line of order.lines\"\n class=\"order-line\"\n [class.is-disabled]=\"cancelAll\"\n [class.is-cancelled]=\"line.quantity === 0\"\n >\n <td class=\"align-middle thumb\">\n <img [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\n </td>\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\n <td class=\"align-middle quantity\">{{ line.quantity }}</td>\n <td class=\"align-middle quantity\">\n {{ line.unitPriceWithTax | localeCurrency: order.currencyCode }}\n </td>\n <td class=\"align-middle fulfil\">\n <input\n *ngIf=\"line.quantity > 0 && !order.active; else nonEditable\"\n [(ngModel)]=\"lineQuantities[line.id]\"\n (input)=\"checkIfAllSelected()\"\n [disabled]=\"cancelAll\"\n type=\"number\"\n [max]=\"line.quantity\"\n min=\"0\"\n />\n <ng-template #nonEditable>{{ line.quantity }}</ng-template>\n </td>\n </tr>\n </table>\n </div>\n <div class=\"cancellation-details\">\n <ng-container *ngIf=\"order.active !== true\">\n <clr-radio-wrapper>\n <input\n type=\"radio\"\n clrRadio\n [value]=\"true\"\n [(ngModel)]=\"cancelAll\"\n name=\"options\"\n (ngModelChange)=\"radioChanged()\"\n />\n <label>{{ 'order.cancel-entire-order' | translate }}</label>\n </clr-radio-wrapper>\n <clr-radio-wrapper>\n <input\n type=\"radio\"\n clrRadio\n [value]=\"false\"\n [(ngModel)]=\"cancelAll\"\n name=\"options\"\n (ngModelChange)=\"radioChanged()\"\n />\n <label>{{ 'order.cancel-specified-items' | translate }}</label>\n </clr-radio-wrapper>\n </ng-container>\n <label class=\"clr-control-label\">{{ 'order.cancellation-reason' | translate }}</label>\n <ng-select\n [items]=\"reasons\"\n bindLabel=\"name\"\n autofocus\n bindValue=\"id\"\n [addTag]=\"true\"\n [(ngModel)]=\"reason\"\n ></ng-select>\n </div>\n</div>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button\n type=\"submit\"\n (click)=\"select()\"\n [disabled]=\"!reason || (!order.active && selectionCount === 0)\"\n class=\"btn btn-primary\"\n >\n <ng-container *ngIf=\"!order.active\">\n {{ 'order.cancel-selected-items' | translate }}\n </ng-container>\n <ng-container *ngIf=\"order.active\">\n {{ 'order.cancel-order' | translate }}\n </ng-container>\n </button>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport {\n DataService,\n GetCouponCodeSelectorPromotionListDocument,\n PROMOTION_FRAGMENT,\n} from '@vendure/admin-ui/core';\nimport { gql } from 'apollo-angular';\nimport { concat, Observable, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map, skip, startWith, switchMap } from 'rxjs/operators';\n\nexport const GET_COUPON_CODE_SELECTOR_PROMOTION_LIST = gql`\n query GetCouponCodeSelectorPromotionList($options: PromotionListOptions) {\n promotions(options: $options) {\n items {\n id\n name\n couponCode\n }\n totalItems\n }\n }\n`;\n\n@Component({\n selector: 'vdr-coupon-code-selector',\n templateUrl: './coupon-code-selector.component.html',\n styleUrls: ['./coupon-code-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class CouponCodeSelectorComponent implements OnInit {\n @Input() couponCodes: string[];\n @Input() control: UntypedFormControl | undefined;\n @Output() addCouponCode = new EventEmitter<string>();\n @Output() removeCouponCode = new EventEmitter<string>();\n availableCouponCodes$: Observable<Array<{ code: string; promotionName: string }>>;\n couponCodeInput$ = new Subject<string>();\n constructor(private dataService: DataService) {}\n\n ngOnInit(): void {\n this.availableCouponCodes$ = concat(\n this.couponCodeInput$.pipe(\n debounceTime(200),\n distinctUntilChanged(),\n switchMap(\n term =>\n this.dataService.query(GetCouponCodeSelectorPromotionListDocument, {\n options: {\n take: 10,\n skip: 0,\n filter: {\n couponCode: { contains: term },\n },\n },\n }).single$,\n ),\n map(({ promotions }) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n promotions.items.map(p => ({ code: p.couponCode!, promotionName: p.name })),\n ),\n startWith([]),\n ),\n );\n if (!this.control) {\n this.control = new UntypedFormControl(this.couponCodes ?? []);\n }\n }\n\n remove(code: string) {\n this.removeCouponCode.emit(code);\n }\n}\n", "<ng-select\n [items]=\"availableCouponCodes$ | async\"\n appendTo=\"body\"\n bindLabel=\"code\"\n bindValue=\"code\"\n [addTag]=\"false\"\n [multiple]=\"true\"\n [hideSelected]=\"true\"\n [minTermLength]=\"2\"\n typeToSearchText=\"\"\n [typeahead]=\"couponCodeInput$\"\n [formControl]=\"control\"\n (add)=\"addCouponCode.emit($event.code)\"\n (remove)=\"remove($event.code)\"\n>\n <ng-template ng-option-tmp let-item=\"item\">\n <div class=\"flex items-center\">\n <vdr-chip class=\"mr-1\">{{ item.code }}</vdr-chip>\n <span>{{ item.promotionName }}</span>\n </div>\n </ng-template>\n</ng-select>\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport {\n AddressFragment,\n CreateAddressInput,\n DataService,\n Dialog,\n GetAvailableCountriesQuery,\n GetCustomerAddressesDocument,\n OrderAddressFragment,\n} from '@vendure/admin-ui/core';\nimport { pick } from '@vendure/common/lib/pick';\nimport { Observable, of } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { Customer } from '../select-customer-dialog/select-customer-dialog.component';\n\n@Component({\n selector: 'vdr-select-address-dialog',\n templateUrl: './select-address-dialog.component.html',\n styleUrls: ['./select-address-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class SelectAddressDialogComponent implements OnInit, Dialog<CreateAddressInput> {\n resolveWith: (result?: CreateAddressInput) => void;\n availableCountries$: Observable<GetAvailableCountriesQuery['countries']['items']>;\n addresses$: Observable<AddressFragment[]>;\n customerId: string | undefined;\n currentAddress: OrderAddressFragment | undefined;\n addressForm: UntypedFormGroup;\n selectedAddress: AddressFragment | undefined;\n useExisting = true;\n createNew = false;\n\n constructor(private dataService: DataService, private formBuilder: UntypedFormBuilder) {}\n\n ngOnInit(): void {\n this.addressForm = this.formBuilder.group({\n fullName: [this.currentAddress?.fullName ?? ''],\n company: [this.currentAddress?.company ?? ''],\n streetLine1: [this.currentAddress?.streetLine1 ?? '', Validators.required],\n streetLine2: [this.currentAddress?.streetLine2 ?? ''],\n city: [this.currentAddress?.city ?? '', Validators.required],\n province: [this.currentAddress?.province ?? ''],\n postalCode: [this.currentAddress?.postalCode ?? '', Validators.required],\n countryCode: [this.currentAddress?.countryCode ?? '', Validators.required],\n phoneNumber: [this.currentAddress?.phoneNumber ?? ''],\n });\n this.useExisting = !!this.customerId;\n this.addresses$ = this.customerId\n ? this.dataService\n .query(GetCustomerAddressesDocument, { customerId: this.customerId })\n .mapSingle(({ customer }) => customer?.addresses ?? [])\n .pipe(\n tap(addresses => {\n if (this.currentAddress) {\n this.selectedAddress = addresses.find(\n a =>\n a.streetLine1 === this.currentAddress?.streetLine1 &&\n a.postalCode === this.currentAddress?.postalCode,\n );\n }\n if (addresses.length === 0) {\n this.createNew = true;\n this.useExisting = false;\n }\n }),\n )\n : of([]);\n this.availableCountries$ = this.dataService.settings\n .getAvailableCountries()\n .mapSingle(({ countries }) => countries.items);\n }\n\n trackByFn(item: Customer) {\n return item.id;\n }\n\n addressIdFn(item: AddressFragment) {\n return item.streetLine1 + item.postalCode;\n }\n\n cancel() {\n this.resolveWith();\n }\n\n select() {\n if (this.useExisting && this.selectedAddress) {\n this.resolveWith({\n ...pick(this.selectedAddress, [\n 'fullName',\n 'company',\n 'streetLine1',\n 'streetLine2',\n 'city',\n 'province',\n 'phoneNumber',\n 'postalCode',\n ]),\n countryCode: this.selectedAddress.country.code,\n });\n }\n if (this.createNew && this.addressForm.valid) {\n const formValue = this.addressForm.value;\n this.resolveWith(formValue);\n }\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.select-address' | translate }}</ng-template>\n\n<clr-tabs *ngIf=\"addresses$ | async as addresses\">\n <clr-tab *ngIf=\"customerId && addresses.length\">\n <button clrTabLink>{{ 'order.existing-address' | translate }}</button>\n <ng-template [(clrIfActive)]=\"useExisting\">\n <clr-tab-content>\n <vdr-radio-card-fieldset\n class=\"block mt-4\"\n [idFn]=\"addressIdFn\"\n [selectedItemId]=\"selectedAddress && addressIdFn(selectedAddress)\"\n (selectItem)=\"selectedAddress = $event\"\n >\n <vdr-radio-card *ngFor=\"let address of addresses\" [item]=\"address\">\n <vdr-formatted-address [address]=\"address\"></vdr-formatted-address>\n </vdr-radio-card>\n </vdr-radio-card-fieldset>\n </clr-tab-content>\n </ng-template>\n </clr-tab>\n <clr-tab>\n <button clrTabLink>{{ 'customer.create-new-address' | translate }}</button>\n\n <ng-template [(clrIfActive)]=\"createNew\">\n <clr-tab-content>\n <vdr-address-form\n [formGroup]=\"addressForm\"\n [availableCountries]=\"availableCountries$ | async\"\n ></vdr-address-form>\n </clr-tab-content>\n </ng-template>\n </clr-tab>\n</clr-tabs>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button\n type=\"submit\"\n (click)=\"select()\"\n [disabled]=\"(useExisting && !selectedAddress) || (createNew && addressForm.invalid)\"\n class=\"btn btn-primary\"\n >\n {{ 'common.okay' | translate }}\n </button>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { CreateCustomerInput, DataService, Dialog, GetCustomerListQuery } from '@vendure/admin-ui/core';\nimport { concat, Observable, of, Subject } from 'rxjs';\nimport { catchError, debounceTime, distinctUntilChanged, switchMap, tap } from 'rxjs/operators';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\n\nexport type Customer = GetCustomerListQuery['customers']['items'][number];\nexport type SelectCustomerDialogResult = (Customer | CreateCustomerInput) & { note: string };\n\n@Component({\n selector: 'vdr-select-customer-dialog',\n templateUrl: './select-customer-dialog.component.html',\n styleUrls: ['./select-customer-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class SelectCustomerDialogComponent implements OnInit, Dialog<SelectCustomerDialogResult> {\n resolveWith: (result?: SelectCustomerDialogResult) => void;\n\n // populated by the dialog service\n canCreateNew = true;\n includeNoteInput = false;\n title: string = _('order.set-customer-for-order');\n\n customerForm: UntypedFormGroup;\n customers$: Observable<Customer[]>;\n isLoading = false;\n input$ = new Subject<string>();\n selectedCustomer: Customer[] = [];\n useExisting = true;\n createNew = false;\n note = '';\n\n constructor(private dataService: DataService, private formBuilder: UntypedFormBuilder) {\n this.customerForm = this.formBuilder.group({\n title: '',\n firstName: ['', Validators.required],\n lastName: ['', Validators.required],\n phoneNumber: '',\n emailAddress: ['', [Validators.required, Validators.email]],\n });\n }\n\n ngOnInit(): void {\n this.customers$ = concat(\n of([]), // default items\n this.input$.pipe(\n debounceTime(200),\n distinctUntilChanged(),\n tap(() => (this.isLoading = true)),\n switchMap(term =>\n this.dataService.customer\n .getCustomerList(10, 0, term)\n .mapStream(({ customers }) => customers.items)\n .pipe(\n catchError(() => of([])), // empty list on error\n tap(() => (this.isLoading = false)),\n ),\n ),\n ),\n );\n }\n\n trackByFn(item: Customer) {\n return item.id;\n }\n\n cancel() {\n this.resolveWith();\n }\n\n select() {\n if (this.useExisting && this.selectedCustomer.length === 1) {\n this.resolveWith({ ...this.selectedCustomer[0], note: this.note });\n } else if (this.createNew && this.customerForm.valid) {\n const formValue = this.customerForm.value;\n this.resolveWith({ ...formValue, note: this.note });\n }\n }\n}\n", "<ng-template vdrDialogTitle>{{ title | translate }}</ng-template>\n\n<ng-container *ngIf=\"!canCreateNew\">\n <ng-container *ngTemplateOutlet=\"customerSelect\"></ng-container>\n <vdr-form-field [label]=\"'common.add-note' | translate\" *ngIf=\"includeNoteInput\" class=\"mt-4\">\n <textarea [(ngModel)]=\"note\"></textarea>\n </vdr-form-field>\n</ng-container>\n\n<clr-tabs *ngIf=\"canCreateNew\" class=\"pt-1\">\n <clr-tab>\n <button clrTabLink>{{ 'order.existing-customer' | translate }}</button>\n\n <ng-template [(clrIfActive)]=\"useExisting\">\n <clr-tab-content>\n <div class=\"mt-4\">\n <ng-container *ngTemplateOutlet=\"customerSelect\"></ng-container>\n </div>\n </clr-tab-content>\n </ng-template>\n </clr-tab>\n <clr-tab *ngIf=\"canCreateNew\">\n <button clrTabLink>{{ 'customer.create-new-customer' | translate }}</button>\n\n <ng-template [(clrIfActive)]=\"createNew\">\n <clr-tab-content>\n <form [formGroup]=\"customerForm\">\n <vdr-form-field [label]=\"'customer.title' | translate\" for=\"title\">\n <input id=\"title\" type=\"text\" formControlName=\"title\" />\n </vdr-form-field>\n <vdr-form-field [label]=\"'customer.first-name' | translate\" for=\"firstName\">\n <input id=\"firstName\" type=\"text\" formControlName=\"firstName\" />\n </vdr-form-field>\n <vdr-form-field [label]=\"'customer.last-name' | translate\" for=\"lastName\">\n <input id=\"lastName\" type=\"text\" formControlName=\"lastName\" />\n </vdr-form-field>\n <vdr-form-field [label]=\"'customer.email-address' | translate\" for=\"emailAddress\">\n <input id=\"emailAddress\" type=\"text\" formControlName=\"emailAddress\" />\n </vdr-form-field>\n <vdr-form-field [label]=\"'customer.phone-number' | translate\" for=\"phoneNumber\">\n <input id=\"phoneNumber\" type=\"text\" formControlName=\"phoneNumber\" />\n </vdr-form-field>\n </form>\n </clr-tab-content>\n </ng-template>\n </clr-tab>\n</clr-tabs>\n\n<ng-template #customerSelect>\n <ng-select\n [items]=\"customers$ | async\"\n appendTo=\"body\"\n bindLabel=\"name\"\n [addTag]=\"false\"\n [multiple]=\"true\"\n [hideSelected]=\"true\"\n [trackByFn]=\"trackByFn\"\n [minTermLength]=\"2\"\n [loading]=\"isLoading\"\n [typeahead]=\"input$\"\n [(ngModel)]=\"selectedCustomer\"\n >\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\n <span class=\"item-row\">\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon\n ><span class=\"mx-1\">{{ item.firstName }} {{ item.lastName }}</span>\n <vdr-chip>{{ item.emailAddress }}</vdr-chip>\n </span>\n </ng-template>\n <ng-template ng-option-tmp let-item=\"item\">\n <span class=\"item-row\">\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon\n ><span class=\"mx-1\">{{ item.firstName }} {{ item.lastName }}</span>\n <vdr-chip>{{ item.emailAddress }}</vdr-chip>\n </span>\n </ng-template>\n </ng-select>\n</ng-template>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button\n type=\"submit\"\n (click)=\"select()\"\n [disabled]=\"(useExisting && selectedCustomer.length === 0) || (createNew && customerForm.invalid)\"\n class=\"btn btn-primary\"\n >\n {{ 'common.okay' | translate }}\n </button>\n</ng-template>\n", "import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport {\n CreateAddressInput,\n CurrencyCode,\n Dialog,\n DraftOrderEligibleShippingMethodsQuery,\n} from '@vendure/admin-ui/core';\n\ntype ShippingMethodQuote =\n DraftOrderEligibleShippingMethodsQuery['eligibleShippingMethodsForDraftOrder'][number];\n\n@Component({\n selector: 'vdr-select-shipping-method-dialog',\n templateUrl: './select-shipping-method-dialog.component.html',\n styleUrls: ['./select-shipping-method-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class SelectShippingMethodDialogComponent implements OnInit, Dialog<string> {\n resolveWith: (result?: string) => void;\n eligibleShippingMethods: ShippingMethodQuote[];\n currentSelectionId: string;\n currencyCode: CurrencyCode;\n selectedMethod: ShippingMethodQuote | undefined;\n\n ngOnInit(): void {\n if (this.currentSelectionId) {\n this.selectedMethod = this.eligibleShippingMethods.find(m => m.id === this.currentSelectionId);\n }\n }\n\n methodIdFn(item: ShippingMethodQuote) {\n return item.id;\n }\n\n cancel() {\n this.resolveWith();\n }\n\n select() {\n if (this.selectedMethod) {\n this.resolveWith(this.selectedMethod.id);\n }\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.select-shipping-method' | translate }}</ng-template>\n<vdr-radio-card-fieldset\n [idFn]=\"methodIdFn\"\n [selectedItemId]=\"selectedMethod?.id\"\n (selectItem)=\"selectedMethod = $event\"\n>\n <vdr-radio-card *ngFor=\"let quote of eligibleShippingMethods\" [item]=\"quote\">\n <div class=\"result-details\">\n <vdr-labeled-data [label]=\"'settings.shipping-method' | translate\">\n {{ quote.name }}\n </vdr-labeled-data>\n <div class=\"price-row\">\n <vdr-labeled-data [label]=\"'common.price' | translate\">\n {{ quote.price | localeCurrency: currencyCode }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'common.price-with-tax' | translate\">\n {{ quote.priceWithTax | localeCurrency: currencyCode }}\n </vdr-labeled-data>\n </div>\n <vdr-object-tree *ngIf=\"quote.metadata\" [value]=\"quote.metadata\"></vdr-object-tree>\n </div>\n </vdr-radio-card>\n</vdr-radio-card-fieldset>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button\n type=\"submit\"\n (click)=\"select()\"\n [disabled]=\"!selectedMethod\"\n class=\"btn btn-primary\"\n >\n {{ 'common.okay' | translate }}\n </button>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { Dialog } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-order-state-select-dialog',\n templateUrl: './order-state-select-dialog.component.html',\n styleUrls: ['./order-state-select-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderStateSelectDialogComponent implements Dialog<string> {\n resolveWith: (result?: string) => void;\n nextStates: string[] = [];\n message = '';\n cancellable: boolean;\n selectedState = '';\n\n select() {\n if (this.selectedState) {\n this.resolveWith(this.selectedState);\n }\n }\n\n cancel() {\n this.resolveWith();\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.select-state' | translate }}</ng-template>\n<p>{{ message | translate }}</p>\n<vdr-form-field>\n <select name=\"state\" [(ngModel)]=\"selectedState\">\n <option *ngFor=\"let state of nextStates\" [value]=\"state\">\n {{ state | stateI18nToken | translate }}\n </option>\n </select>\n</vdr-form-field>\n<ng-template vdrDialogButtons>\n <button type=\"submit\" *ngIf=\"cancellable\" (click)=\"cancel()\" class=\"btn btn-secondary\">\n {{ 'common.cancel' | translate }}\n </button>\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"!selectedState\">\n {{ 'order.transition-to-state' | translate: { state: (selectedState | stateI18nToken | translate) } }}\n </button>\n</ng-template>\n", "import { Injectable } from '@angular/core';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n DataService,\n HistoryEntryType,\n I18nService,\n ModalService,\n NotificationService,\n SortOrder,\n} from '@vendure/admin-ui/core';\nimport { EMPTY } from 'rxjs';\nimport { catchError, delay, map, retryWhen, switchMap, take } from 'rxjs/operators';\n\nimport { OrderStateSelectDialogComponent } from '../components/order-state-select-dialog/order-state-select-dialog.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OrderTransitionService {\n constructor(\n private dataService: DataService,\n private modalService: ModalService,\n private notificationService: NotificationService,\n private i18nService: I18nService,\n ) {}\n\n /**\n * Attempts to transition the Order to the last state it was in before it was transitioned\n * to the \"Modifying\" state. If this fails, a manual prompt is used.\n */\n transitionToPreModifyingState(orderId: string, nextStates: string[]) {\n return this.getPreModifyingState(orderId).pipe(\n switchMap(state => {\n const manualTransitionOptions = {\n orderId,\n nextStates,\n message: this.i18nService.translate(\n _('order.unable-to-transition-to-state-try-another'),\n { state },\n ),\n cancellable: false,\n retry: 10,\n };\n if (state) {\n return this.transitionToStateOrThrow(orderId, state).pipe(\n catchError(err => this.manuallyTransitionToState(manualTransitionOptions)),\n );\n } else {\n return this.manuallyTransitionToState(manualTransitionOptions);\n }\n }),\n );\n }\n\n /**\n * Displays a modal for manually selecting the next state.\n */\n manuallyTransitionToState(options: {\n orderId: string;\n nextStates: string[];\n message: string;\n cancellable: boolean;\n retry: number;\n }) {\n return this.modalService\n .fromComponent(OrderStateSelectDialogComponent, {\n locals: {\n nextStates: options.nextStates,\n cancellable: options.cancellable,\n message: options.message,\n },\n closable: false,\n size: 'md',\n })\n .pipe(\n switchMap(result => {\n if (result) {\n return this.transitionToStateOrThrow(options.orderId, result);\n } else {\n if (!options.cancellable) {\n throw new Error(`An order state must be selected`);\n } else {\n return EMPTY;\n }\n }\n }),\n retryWhen(errors => errors.pipe(delay(2000), take(options.retry))),\n );\n }\n\n /**\n * Attempts to get the last state the Order was in before it was transitioned\n * to the \"Modifying\" state.\n */\n private getPreModifyingState(orderId: string) {\n return this.dataService.order\n .getOrderHistory(orderId, {\n filter: {\n type: {\n eq: HistoryEntryType.ORDER_STATE_TRANSITION,\n },\n },\n sort: {\n createdAt: SortOrder.DESC,\n },\n })\n .mapSingle(result => result.order)\n .pipe(\n map(result => {\n const item = result?.history.items.find(i => i.data.to === 'Modifying');\n if (item) {\n return item.data.from as string;\n } else {\n return;\n }\n }),\n );\n }\n\n private transitionToStateOrThrow(orderId: string, state: string) {\n return this.dataService.order.transitionToState(orderId, state).pipe(\n map(({ transitionOrderToState }) => {\n switch (transitionOrderToState?.__typename) {\n case 'Order':\n return transitionOrderToState?.state;\n case 'OrderStateTransitionError':\n this.notificationService.error(transitionOrderToState?.transitionError);\n throw new Error(transitionOrderToState?.transitionError);\n }\n }),\n );\n }\n}\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport { CustomFieldConfig, ModalService } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-order-custom-fields-card',\n templateUrl: './order-custom-fields-card.component.html',\n styleUrls: ['./order-custom-fields-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderCustomFieldsCardComponent implements OnInit {\n @Input() customFieldsConfig: CustomFieldConfig[] = [];\n @Input() customFieldValues: { [name: string]: any } = {};\n @Output() updateClick = new EventEmitter<any>();\n customFieldForm: UntypedFormGroup;\n editable = false;\n constructor(\n private formBuilder: UntypedFormBuilder,\n private modalService: ModalService,\n ) {}\n\n ngOnInit() {\n this.customFieldForm = this.formBuilder.group({});\n for (const field of this.customFieldsConfig) {\n this.customFieldForm.addControl(\n field.name,\n this.formBuilder.control(this.customFieldValues[field.name]),\n );\n }\n }\n\n onUpdateClick() {\n this.updateClick.emit(this.customFieldForm.value);\n this.customFieldForm.markAsPristine();\n this.editable = false;\n }\n\n onCancelClick() {\n if (this.customFieldForm.dirty) {\n this.modalService\n .dialog({\n title: _('catalog.confirm-cancel'),\n buttons: [\n { type: 'secondary', label: _('common.keep-editing') },\n { type: 'danger', label: _('common.discard-changes'), returnValue: true },\n ],\n })\n .subscribe(result => {\n if (result) {\n this.customFieldForm.reset();\n this.customFieldForm.markAsPristine();\n this.editable = false;\n }\n });\n } else {\n this.editable = false;\n }\n }\n}\n", "<div class=\"card\" *ngIf=\"customFieldsConfig.length\">\n <div class=\"card-header\">\n {{ 'common.custom-fields' | translate }}\n </div>\n <div class=\"card-block\">\n <div class=\"card-text custom-field-form\" [class.editable]=\"editable\">\n <vdr-tabbed-custom-fields\n entityName=\"Order\"\n [customFields]=\"customFieldsConfig\"\n [customFieldsFormGroup]=\"customFieldForm\"\n [readonly]=\"!editable\"\n [compact]=\"true\"\n ></vdr-tabbed-custom-fields>\n </div>\n </div>\n <div class=\"card-footer\">\n <button class=\"btn btn-sm btn-secondary\" (click)=\"editable = true\" *ngIf=\"!editable\">\n <clr-icon shape=\"pencil\"></clr-icon>\n {{ 'common.edit' | translate }}\n </button>\n <button\n class=\"btn btn-sm btn-primary\"\n (click)=\"onUpdateClick()\"\n *ngIf=\"editable\"\n [disabled]=\"customFieldForm.pristine || customFieldForm.invalid\"\n >\n <clr-icon shape=\"check\"></clr-icon>\n {{ 'common.update' | translate }}\n </button>\n <button\n class=\"btn btn-sm btn-secondary\"\n (click)=\"onCancelClick()\"\n *ngIf=\"editable\"\n >\n <clr-icon shape=\"times\"></clr-icon>\n {{ 'common.cancel' | translate }}\n </button>\n </div>\n</div>\n", "import { ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { OrderDetailFragment } from '@vendure/admin-ui/core';\nimport { notNullOrUndefined } from '@vendure/common/lib/shared-utils';\nimport { unique } from '@vendure/common/lib/unique';\n\nexport type FulfillmentStatus = 'full' | 'partial' | 'none';\ntype Fulfillment = NonNullable<OrderDetailFragment['fulfillments']>[number];\n\n@Component({\n selector: 'vdr-line-fulfillment',\n templateUrl: './line-fulfillment.component.html',\n styleUrls: ['./line-fulfillment.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class LineFulfillmentComponent implements OnChanges {\n @Input() line: OrderDetailFragment['lines'][number];\n @Input() allOrderFulfillments: OrderDetailFragment['fulfillments'];\n @Input() orderState: string;\n fulfilledCount = 0;\n fulfillmentStatus: FulfillmentStatus;\n fulfillments: Array<{\n count: number;\n fulfillment: Fulfillment;\n }> = [];\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.line) {\n this.fulfilledCount = this.getDeliveredCount(this.line);\n this.fulfillmentStatus = this.getFulfillmentStatus(this.fulfilledCount, this.line.quantity);\n this.fulfillments = this.getFulfillments(this.line);\n }\n }\n\n /**\n * Returns the number of items in an OrderLine which are fulfilled.\n */\n private getDeliveredCount(line: OrderDetailFragment['lines'][number]): number {\n return (\n line.fulfillmentLines?.reduce((sum, fulfillmentLine) => sum + fulfillmentLine.quantity, 0) ?? 0\n );\n }\n\n private getFulfillmentStatus(fulfilledCount: number, lineQuantity: number): FulfillmentStatus {\n if (fulfilledCount === lineQuantity) {\n return 'full';\n }\n if (0 < fulfilledCount && fulfilledCount < lineQuantity) {\n return 'partial';\n }\n return 'none';\n }\n\n private getFulfillments(\n line: OrderDetailFragment['lines'][number],\n ): Array<{ count: number; fulfillment: NonNullable<OrderDetailFragment['fulfillments']>[number] }> {\n return (\n line.fulfillmentLines\n ?.map(fulfillmentLine => {\n const fulfillment = this.allOrderFulfillments?.find(\n f => f.id === fulfillmentLine.fulfillmentId,\n );\n if (!fulfillment) {\n return;\n }\n return {\n count: fulfillmentLine.quantity,\n fulfillment,\n };\n })\n .filter(notNullOrUndefined) ?? []\n );\n }\n}\n", "<vdr-dropdown class=\"search-settings-menu\" *ngIf=\"fulfilledCount || orderState === 'PartiallyDelivered'\">\n <button type=\"button\" class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon *ngIf=\"fulfillmentStatus === 'full'\" class=\"item-fulfilled\" shape=\"check-circle\"></clr-icon>\n <clr-icon\n *ngIf=\"fulfillmentStatus === 'partial'\"\n class=\"item-partially-fulfilled\"\n shape=\"check-circle\"\n ></clr-icon>\n <clr-icon\n *ngIf=\"fulfillmentStatus === 'none'\"\n class=\"item-not-fulfilled\"\n shape=\"exclamation-circle\"\n ></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'full'\">\n {{ 'order.line-fulfillment-all' | translate }}\n </label>\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'partial'\">\n {{\n 'order.line-fulfillment-partial' | translate: { total: line.quantity, count: fulfilledCount }\n }}\n </label>\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'none'\">\n {{ 'order.line-fulfillment-none' | translate }}\n </label>\n <div class=\"fulfillment-detail\" *ngFor=\"let item of fulfillments\">\n <div class=\"fulfillment-title\">\n {{ 'order.fulfillment' | translate }} #{{ item.fulfillment.id }} ({{\n 'order.item-count' | translate: { count: item.count }\n }})\n </div>\n <vdr-labeled-data [label]=\"'common.created-at' | translate\">\n {{ item.fulfillment.createdAt | localeDate: 'medium' }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\n {{ item.fulfillment.method }}\n </vdr-labeled-data>\n <vdr-labeled-data\n *ngIf=\"item.fulfillment.trackingCode\"\n [label]=\"'order.tracking-code' | translate\"\n >\n {{ item.fulfillment.trackingCode }}\n </vdr-labeled-data>\n </div>\n </vdr-dropdown-menu>\n</vdr-dropdown>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { OrderDetailFragment, PaymentWithRefundsFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-line-refunds',\n templateUrl: './line-refunds.component.html',\n styleUrls: ['./line-refunds.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class LineRefundsComponent {\n @Input() line: OrderDetailFragment['lines'][number];\n @Input() payments: PaymentWithRefundsFragment[];\n\n getRefundedCount(): number {\n const refundLines =\n this.payments\n ?.reduce(\n (all, payment) => [...all, ...payment.refunds],\n [] as PaymentWithRefundsFragment['refunds'],\n )\n .filter(refund => refund.state !== 'Failed')\n .reduce(\n (all, refund) => [...all, ...refund.lines],\n [] as Array<{ orderLineId: string; quantity: number }>,\n ) ?? [];\n\n return refundLines\n .filter(i => i.orderLineId === this.line.id)\n .reduce((sum, i) => sum + i.quantity, 0);\n }\n}\n", "<span *ngIf=\"getRefundedCount()\" [title]=\"'order.refunded-count' | translate: { count: getRefundedCount() }\">\n <clr-icon shape=\"redo\" class=\"is-solid\" dir=\"down\"></clr-icon>\n</span>\n", "import { Component } from '@angular/core';\nimport { DataTable2ColumnComponent } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-order-total-column',\n template: ``,\n exportAs: 'row',\n standalone: false,\n})\nexport class OrderTotalColumnComponent<T> extends DataTable2ColumnComponent<T> {\n orderable = false;\n}\n", "import { ChangeDetectionStrategy, Component, ContentChildren, Input, QueryList } from '@angular/core';\nimport { DataTable2Component, OrderDetailFragment } from '@vendure/admin-ui/core';\nimport { OrderTotalColumnComponent } from './order-total-column.component';\n\n@Component({\n selector: 'vdr-order-data-table',\n templateUrl: './order-data-table.component.html',\n styleUrls: [\n '../../../../core/src/shared/components/data-table-2/data-table2.component.scss',\n './order-data-table.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderDataTableComponent extends DataTable2Component<OrderDetailFragment> {\n @ContentChildren(OrderTotalColumnComponent) totalColumns: QueryList<OrderTotalColumnComponent<any>>;\n @Input() order: OrderDetailFragment;\n\n get allColumns() {\n return [...(this.columns ?? []), ...(this.customFieldColumns ?? []), ...(this.totalColumns ?? [])];\n }\n\n getPromotionLink(promotion: OrderDetailFragment['discounts'][number]): any[] {\n const id = promotion.adjustmentSource.split(':')[1];\n return ['/marketing', 'promotions', id];\n }\n\n getCouponCodeForAdjustment(\n order: OrderDetailFragment,\n promotionAdjustment: OrderDetailFragment['discounts'][number],\n ): string | undefined {\n const id = promotionAdjustment.adjustmentSource.split(':')[1];\n const promotion = order.promotions.find(p => p.id === id);\n if (promotion) {\n return promotion.couponCode || undefined;\n }\n }\n\n getShippingNames(order: OrderDetailFragment) {\n if (order.shippingLines.length) {\n return order.shippingLines.map(shippingLine => shippingLine.shippingMethod.name).join(', ');\n } else {\n return '';\n }\n }\n}\n", "<div class=\"bulk-actions\">\n <ng-content select=\"vdr-bulk-action-menu\"></ng-content>\n</div>\n<div class=\"table-wrapper\">\n <table\n class=\"\"\n [class.no-select]=\"disableSelect\"\n >\n <thead [class.items-selected]=\"selectionManager?.selection.length\">\n <tr class=\"heading-row\">\n <th *ngIf=\"selectionManager\" class=\"selection-col\">\n <input\n type=\"checkbox\"\n clrCheckbox\n [checked]=\"selectionManager?.areAllCurrentItemsSelected()\"\n (change)=\"onToggleAllClick()\"\n />\n </th>\n <th\n *ngFor=\"let column of visibleSortedColumns; last as isLast\"\n [class.expand]=\"column.expand\"\n >\n <div class=\"cell-content\" [ngClass]=\"column.align\">\n <vdr-ui-extension-point\n [locationId]=\"id\"\n [metadata]=\"column.id\"\n api=\"dataTable\"\n [topPx]=\"-6\"\n [leftPx]=\"-24\"\n display=\"block\"\n >\n <span>{{ column.heading }}</span>\n </vdr-ui-extension-point>\n <div *ngIf=\"column.sort as sort\" class=\"sort-toggle\">\n <button (click)=\"sort.toggleSortOrder()\" [class.active]=\"sort.sortOrder\">\n <clr-icon *ngIf=\"!sort.sortOrder\" shape=\"two-way-arrows left\"></clr-icon>\n <clr-icon *ngIf=\"sort.sortOrder === 'ASC'\" shape=\"arrow up\"></clr-icon>\n <clr-icon *ngIf=\"sort.sortOrder === 'DESC'\" shape=\"arrow down\"></clr-icon>\n </button>\n <div class=\"sort-label\" *ngIf=\"sort.sortOrder\">{{ sort.sortOrder }}</div>\n </div>\n </div>\n </th>\n <th>\n <div class=\"column-picker\">\n <vdr-data-table-colum-picker\n [uiLanguage]=\"uiLanguage$ | async\"\n [columns]=\"sortedColumns\"\n (reorder)=\"onColumnReorder($event)\"\n (resetColumns)=\"onColumnsReset()\"\n ></vdr-data-table-colum-picker>\n </div>\n </th>\n </tr>\n <tr *ngIf=\"searchComponent || customSearchTemplate || filters?.length\">\n <th\n [attr.colspan]=\"visibleSortedColumns.length + (selectionManager ? 2 : 1)\"\n class=\"filter-row\"\n [class.active]=\"showSearchFilterRow\"\n >\n <button\n class=\"button-ghost toggle-search-filter-row\"\n [class.active]=\"showSearchFilterRow\"\n (click)=\"toggleSearchFilterRow()\"\n [title]=\"'common.search-and-filter-list' | translate\"\n >\n <clr-icon shape=\"search\"></clr-icon>\n </button>\n <div class=\"filter-row-wrapper\" [class.hidden]=\"!showSearchFilterRow\">\n <ng-container *ngTemplateOutlet=\"searchComponent?.template\"></ng-container>\n <ng-container *ngTemplateOutlet=\"customSearchTemplate\"></ng-container>\n <ng-container *ngIf=\"filters\">\n <div class=\"filters\">\n <vdr-data-table-filters\n *ngFor=\"let activeFilter of filters.activeFilters\"\n [filterWithValue]=\"activeFilter\"\n [filters]=\"filters\"\n class=\"mt-1\"\n ></vdr-data-table-filters>\n <vdr-data-table-filters\n *ngIf=\"filters.length\"\n [filters]=\"filters\"\n class=\"mt-1\"\n ></vdr-data-table-filters>\n </div>\n </ng-container>\n </div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of items\n | paginate\n : {\n id: id,\n itemsPerPage: itemsPerPage,\n currentPage: currentPage,\n totalItems: totalItems\n };\n index as i;\n trackBy: trackByFn.bind(this)\n \"\n >\n <td *ngIf=\"selectionManager\" class=\"selection-col\" [class.active]=\"activeIndex === i\">\n <input\n type=\"checkbox\"\n clrCheckbox\n [checked]=\"selectionManager?.isSelected(item)\"\n (click)=\"onRowClick(item, $event)\"\n />\n </td>\n <td *ngFor=\"let column of visibleSortedColumns\" [class.active]=\"activeIndex === i\">\n <div class=\"cell-content\" [ngClass]=\"column.align\">\n <ng-container\n *ngIf=\"customComponents.get(column.id) as componentConfig; else defaultComponent\"\n >\n <ng-container\n *ngComponentOutlet=\"\n componentConfig.config.component;\n inputs: { rowItem: item };\n injector: componentConfig.injector\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultComponent>\n <ng-container\n *ngTemplateOutlet=\"column.template; context: { item: item, index: i }\"\n ></ng-container>\n </ng-template>\n </div>\n </td>\n <td [class.active]=\"activeIndex === i\"><!-- column select --></td>\n </tr>\n <ng-container>\n <tr *ngIf=\"!items?.length\">\n <td [attr.colspan]=\"visibleSortedColumns.length + (selectionManager ? 2 : 1)\">\n <vdr-empty-placeholder [emptyStateLabel]=\"'order.order-is-empty' | translate\"></vdr-empty-placeholder>\n </td>\n </tr>\n </ng-container>\n <tr class=\"surcharge\" *ngFor=\"let surcharge of order.surcharges\">\n <td class=\"align-middle name left\" colspan=\"2\">{{ surcharge.description }}</td>\n <td class=\"align-middle sku\">{{ surcharge.sku }}</td>\n <td class=\"align-middle\" [attr.colspan]=\"visibleSortedColumns.length - 4\"></td>\n <td class=\"align-middle total\">\n {{ surcharge.priceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ surcharge.price | localeCurrency : order.currencyCode }}\n </div>\n </td>\n <td><!-- column select --></td>\n </tr>\n <ng-container *ngFor=\"let discount of order.discounts\">\n <tr class=\"order-adjustment\" *ngIf=\"discount.type !== 'OTHER'\">\n <td [attr.colspan]=\"visibleSortedColumns.length - 1\" class=\"\">\n <a [routerLink]=\"getPromotionLink(discount)\">{{ discount.description }}</a>\n <vdr-chip *ngIf=\"getCouponCodeForAdjustment(order, discount) as couponCode\">{{\n couponCode\n }}</vdr-chip>\n </td>\n <td class=\"\">\n {{ discount.amountWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ discount.amount | localeCurrency : order.currencyCode }}\n </div>\n </td>\n <td><!-- column select --></td>\n </tr>\n </ng-container>\n <tr class=\"sub-total\">\n <td class=\"\">{{ 'order.sub-total' | translate }}</td>\n <td [attr.colspan]=\"visibleSortedColumns.length - 2\"></td>\n <td class=\"clr-align-middle\">\n {{ order.subTotalWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ order.subTotal | localeCurrency : order.currencyCode }}\n </div>\n </td>\n <td><!-- column select --></td>\n </tr>\n <tr class=\"shipping\">\n <td class=\"\">{{ 'order.shipping' | translate }}</td>\n <td [attr.colspan]=\"visibleSortedColumns.length - 2\">\n <vdr-chip *ngFor=\"let shippingLine of order.shippingLines\" class=\"shipping-method-name\">\n {{ shippingLine.shippingMethod.name }}\n </vdr-chip>\n </td>\n <td class=\"clr-align-middle\">\n {{ order.shippingWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ order.shipping | localeCurrency : order.currencyCode }}\n </div>\n </td>\n <td><!-- column select --></td>\n </tr>\n <tr class=\"total\">\n <td class=\"\">{{ 'order.total' | translate }}</td>\n <td [attr.colspan]=\"visibleSortedColumns.length - 2\"></td>\n <td class=\"clr-align-middle\">\n {{ order.totalWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ order.total | localeCurrency : order.currencyCode }}\n </div>\n </td>\n <td><!-- column select --></td>\n </tr>\n </tbody>\n </table>\n</div>\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { AdjustmentType, CustomFieldConfig, OrderDetailFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-order-table',\n templateUrl: './order-table.component.html',\n styleUrls: ['./order-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderTableComponent implements OnInit {\n @Input() order: OrderDetailFragment;\n @Input() orderLineCustomFields: CustomFieldConfig[];\n @Input() isDraft = false;\n @Output() adjust = new EventEmitter<{ lineId: string; quantity: number }>();\n @Output() remove = new EventEmitter<{ lineId: string }>();\n orderLineCustomFieldsVisible = false;\n customFieldsForLine: {\n [lineId: string]: Array<{ config: CustomFieldConfig; formGroup: UntypedFormGroup; value: any }>;\n } = {};\n\n get visibleOrderLineCustomFields(): CustomFieldConfig[] {\n return this.orderLineCustomFieldsVisible ? this.orderLineCustomFields : [];\n }\n\n get showElided(): boolean {\n return !this.orderLineCustomFieldsVisible && 0 < this.orderLineCustomFields.length;\n }\n\n ngOnInit(): void {\n this.orderLineCustomFieldsVisible = this.orderLineCustomFields.length < 2;\n this.getLineCustomFields();\n }\n\n draftInputBlur(line: OrderDetailFragment['lines'][number], quantity: number) {\n if (line.quantity !== quantity) {\n this.adjust.emit({ lineId: line.id, quantity });\n }\n }\n\n toggleOrderLineCustomFields() {\n this.orderLineCustomFieldsVisible = !this.orderLineCustomFieldsVisible;\n }\n\n getLineDiscounts(line: OrderDetailFragment['lines'][number]) {\n return line.discounts.filter(a => a.type === AdjustmentType.PROMOTION);\n }\n\n private getLineCustomFields() {\n for (const line of this.order.lines) {\n const formGroup = new UntypedFormGroup({});\n const result = this.orderLineCustomFields\n .map(config => {\n const value = (line as any).customFields[config.name];\n formGroup.addControl(config.name, new UntypedFormControl(value));\n return {\n config,\n formGroup,\n value,\n };\n })\n .filter(field => (this.orderLineCustomFieldsVisible ? true : field.value != null));\n this.customFieldsForLine[line.id] = result;\n }\n }\n\n getPromotionLink(promotion: OrderDetailFragment['discounts'][number]): any[] {\n const id = promotion.adjustmentSource.split(':')[1];\n return ['/marketing', 'promotions', id];\n }\n\n getCouponCodeForAdjustment(\n order: OrderDetailFragment,\n promotionAdjustment: OrderDetailFragment['discounts'][number],\n ): string | undefined {\n const id = promotionAdjustment.adjustmentSource.split(':')[1];\n const promotion = order.promotions.find(p => p.id === id);\n if (promotion) {\n return promotion.couponCode || undefined;\n }\n }\n\n getShippingNames(order: OrderDetailFragment) {\n if (order.shippingLines.length) {\n return order.shippingLines.map(shippingLine => shippingLine.shippingMethod.name).join(', ');\n } else {\n return '';\n }\n }\n}\n", "<vdr-order-data-table id=\"order-detail-list\" [items]=\"order.lines\" [order]=\"order\">\n <vdr-dt2-column id=\"id\" [heading]=\"'common.id' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"created-at\"\n [heading]=\"'common.created-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.createdAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"updated-at\"\n [heading]=\"'common.updated-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.updatedAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.image' | translate\" id=\"image\">\n <ng-template let-line=\"item\">\n <div class=\"image-placeholder\">\n <img\n *ngIf=\"line.featuredAsset as asset; else imagePlaceholder\"\n [src]=\"asset | assetPreview : 'tiny'\"\n />\n <ng-template #imagePlaceholder>\n <div class=\"placeholder\">\n <clr-icon shape=\"image\" size=\"48\"></clr-icon>\n </div>\n </ng-template>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-name' | translate\" id=\"product-name\">\n <ng-template let-line=\"item\">\n <a class=\"button-ghost\" [routerLink]=\"['/catalog/products', line.productVariant.product.id]\"\n ><span>{{ line.productVariant.product.name }}</span>\n <clr-icon shape=\"arrow right\"></clr-icon>\n </a>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-variant' | translate\" id=\"product-variant\">\n <ng-template let-line=\"item\">\n <a class=\"button-ghost\" [routerLink]=\"['/catalog/products', line.productVariant.product.id, 'variants', line.productVariant.id]\"\n ><span>{{ line.productVariant.name }}</span>\n <clr-icon shape=\"arrow right\"></clr-icon>\n </a>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-sku' | translate\" id=\"product-sku\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.sku }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.unit-price' | translate\" id=\"unit-price\">\n <ng-template let-line=\"item\">\n <div class=\"unit-price\">\n {{ line.unitPriceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.unitPrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.quantity' | translate\" id=\"quantity\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <ng-container *ngIf=\"!isDraft; else draft\">\n <div class=\"flex\">\n <div\n *ngIf=\"line.orderPlacedQuantity && line.quantity !== line.orderPlacedQuantity\"\n class=\"order-placed-quantity\"\n [title]=\"'order.original-quantity-at-checkout' | translate\"\n >\n {{ line.orderPlacedQuantity }}\n </div>\n <div>{{ line.quantity }}</div>\n </div>\n </ng-container>\n <ng-template #draft>\n <div class=\"flex\">\n <input\n class=\"draft-qty\"\n type=\"number\"\n min=\"0\"\n #qtyInput\n [value]=\"line.quantity\"\n (blur)=\"draftInputBlur(line, qtyInput.valueAsNumber)\"\n />\n <button class=\"icon-button\" (click)=\"remove.emit({ lineId: line.id })\">\n <clr-icon shape=\"trash\"></clr-icon>\n </button>\n </div>\n </ng-template>\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\n <vdr-line-fulfillment\n [line]=\"line\"\n [orderState]=\"order.state\"\n [allOrderFulfillments]=\"order.fulfillments\"\n ></vdr-line-fulfillment>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-custom-field-column\n *ngFor=\"let customField of orderLineCustomFields\"\n [customField]=\"customField\"\n />\n <vdr-order-total-column [heading]=\"'order.total' | translate\" id=\"total\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <div class=\"unit-price\">\n {{ line.linePriceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.linePrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n\n <ng-container *ngIf=\"getLineDiscounts(line) as discounts\">\n <vdr-dropdown *ngIf=\"discounts.length\">\n <div class=\"promotions-label\" vdrDropdownTrigger>\n {{ 'order.promotions-applied' | translate }}\n </div>\n <vdr-dropdown-menu>\n <div class=\"line-promotion\" *ngFor=\"let discount of discounts\">\n <a class=\"promotion-name\" [routerLink]=\"getPromotionLink(discount)\">{{\n discount.description\n }}</a>\n <div class=\"promotion-amount\">\n {{ discount.amountWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ discount.amount | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-container>\n </ng-template>\n </vdr-order-total-column>\n</vdr-order-data-table>\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { CurrencyCode, CustomFieldConfig, DataService, GetProductVariantQuery } from '@vendure/admin-ui/core';\nimport { Observable, Subject } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n@Component({\n selector: 'vdr-draft-order-variant-selector',\n templateUrl: './draft-order-variant-selector.component.html',\n styleUrls: ['./draft-order-variant-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class DraftOrderVariantSelectorComponent implements OnInit {\n @Input() currencyCode: CurrencyCode;\n @Input() orderLineCustomFields: CustomFieldConfig[];\n @Output() addItem = new EventEmitter<{ productVariantId: string; quantity: number; customFields: any }>();\n customFieldsFormGroup = new UntypedFormGroup({});\n selectedVariant$: Observable<GetProductVariantQuery['productVariant']>;\n selectedVariantId$ = new Subject<string | undefined>();\n quantity = 1;\n constructor(private dataService: DataService) {}\n\n ngOnInit(): void {\n this.selectedVariant$ = this.selectedVariantId$.pipe(\n switchMap(id => {\n if (id) {\n return this.dataService.product\n .getProductVariant(id)\n .mapSingle(({ productVariant }) => productVariant);\n } else {\n return [undefined];\n }\n }),\n );\n for (const customField of this.orderLineCustomFields) {\n this.customFieldsFormGroup.addControl(customField.name, new UntypedFormControl(''));\n }\n }\n\n addItemClick(selectedVariant: GetProductVariantQuery['productVariant']) {\n if (selectedVariant) {\n this.addItem.emit({\n productVariantId: selectedVariant.id,\n quantity: this.quantity,\n customFields: this.orderLineCustomFields.length\n ? this.customFieldsFormGroup.value\n : undefined,\n });\n this.selectedVariantId$.next(undefined);\n this.customFieldsFormGroup.reset();\n }\n }\n}\n", "<div class=\"card\">\n <div class=\"card-block\">\n <h4 class=\"card-title\">{{ 'order.add-item-to-order' | translate }}</h4>\n <vdr-product-variant-selector\n (productSelected)=\"selectedVariantId$.next($event.productVariantId)\"\n ></vdr-product-variant-selector>\n </div>\n <div class=\"card-block\" *ngIf=\"selectedVariant$ | async as selectedVariant\">\n <div class=\"variant-details\">\n <img class=\"mr-2\" [src]=\"selectedVariant.featuredAsset || selectedVariant.product.featuredAsset | assetPreview: 32\">\n <div class=\"details\">\n <div>{{ selectedVariant?.name }}</div>\n <div class=\"small\">{{ selectedVariant?.sku }}</div>\n </div>\n <div class=\"details ml-4\">\n <div class=\"small\">\n {{ 'catalog.stock-on-hand' | translate }}: {{ selectedVariant.stockOnHand }}\n </div>\n <div class=\"small\">\n {{ 'catalog.stock-allocated' | translate }}: {{ selectedVariant.stockAllocated }}\n </div>\n </div>\n <div class=\"flex-spacer\"></div>\n <div class=\"details\">\n <div>{{ selectedVariant?.priceWithTax | localeCurrency: currencyCode }}</div>\n <div class=\"small\" [title]=\"'order.net-price' | translate\">\n {{ selectedVariant?.price | localeCurrency: currencyCode }}\n </div>\n </div>\n <div>\n <input [disabled]=\"!selectedVariant\" type=\"number\" min=\"0\" [(ngModel)]=\"quantity\" />\n </div>\n <button\n [disabled]=\"!selectedVariant\"\n class=\"btn btn-small btn-primary\"\n (click)=\"addItemClick(selectedVariant)\"\n >\n {{ 'order.add-item-to-order' | translate }}\n </button>\n </div>\n <ng-container *ngIf=\"orderLineCustomFields.length\">\n <vdr-tabbed-custom-fields\n entityName=\"Order\"\n [customFields]=\"orderLineCustomFields\"\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\n ></vdr-tabbed-custom-fields>\n </ng-container>\n </div>\n</div>\n", "import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n AddressFragment,\n CreateAddressInput,\n DataService,\n DeletionResult,\n DraftOrderEligibleShippingMethodsQuery,\n GetCustomerAddressesDocument,\n ModalService,\n NotificationService,\n Order,\n OrderDetailFragment,\n OrderDetailQueryDocument,\n TypedBaseDetailComponent,\n} from '@vendure/admin-ui/core';\nimport { combineLatest, forkJoin, Observable, of, Subject } from 'rxjs';\nimport { switchMap, take } from 'rxjs/operators';\n\nimport { OrderTransitionService } from '../../providers/order-transition.service';\nimport { SelectAddressDialogComponent } from '../select-address-dialog/select-address-dialog.component';\nimport { SelectCustomerDialogComponent } from '../select-customer-dialog/select-customer-dialog.component';\nimport { SelectShippingMethodDialogComponent } from '../select-shipping-method-dialog/select-shipping-method-dialog.component';\n\n@Component({\n selector: 'vdr-draft-order-detail',\n templateUrl: './draft-order-detail.component.html',\n styleUrls: ['./draft-order-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class DraftOrderDetailComponent\n extends TypedBaseDetailComponent<typeof OrderDetailQueryDocument, 'order'>\n implements OnInit, OnDestroy\n{\n customFields = this.getCustomFieldConfig('Order');\n orderLineCustomFields = this.getCustomFieldConfig('OrderLine');\n detailForm = new UntypedFormGroup({});\n eligibleShippingMethods$: Observable<\n DraftOrderEligibleShippingMethodsQuery['eligibleShippingMethodsForDraftOrder']\n >;\n nextStates$: Observable<string[]>;\n fetchHistory = new Subject<void>();\n displayCouponCodeInput = false;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n protected dataService: DataService,\n private notificationService: NotificationService,\n private modalService: ModalService,\n private orderTransitionService: OrderTransitionService,\n ) {\n super();\n }\n\n ngOnInit() {\n this.init();\n this.orderLineCustomFields = this.getCustomFieldConfig('OrderLine');\n this.eligibleShippingMethods$ = this.entity$.pipe(\n switchMap(order =>\n this.dataService.order\n .getDraftOrderEligibleShippingMethods(order.id)\n .mapSingle(\n ({ eligibleShippingMethodsForDraftOrder }) => eligibleShippingMethodsForDraftOrder,\n ),\n ),\n );\n }\n\n ngOnDestroy() {\n this.destroy();\n }\n\n addItemToOrder(event: { productVariantId: string; quantity: number; customFields: any }) {\n this.dataService.order.addItemToDraftOrder(this.id, event).subscribe(result => {\n if (result.addItemToDraftOrder.__typename !== 'Order') {\n this.notificationService.error((result.addItemToDraftOrder as any).message);\n }\n });\n }\n\n adjustOrderLine(event: { lineId: string; quantity: number }) {\n this.dataService.order\n .adjustDraftOrderLine(this.id, { orderLineId: event.lineId, quantity: event.quantity })\n .subscribe(result => {\n if (result.adjustDraftOrderLine.__typename !== 'Order') {\n this.notificationService.error((result.adjustDraftOrderLine as any).message);\n }\n });\n }\n\n removeOrderLine(event: { lineId: string }) {\n this.dataService.order.removeDraftOrderLine(this.id, event.lineId).subscribe(result => {\n if (result.removeDraftOrderLine.__typename !== 'Order') {\n this.notificationService.error((result.removeDraftOrderLine as any).message);\n }\n });\n }\n\n getOrderAddressLines(orderAddress?: { [key: string]: string }): string[] {\n if (!orderAddress) {\n return [];\n }\n return Object.values(orderAddress)\n .filter(val => val !== 'OrderAddress')\n .filter(line => !!line);\n }\n\n setCustomer() {\n this.modalService.fromComponent(SelectCustomerDialogComponent).subscribe(result => {\n if (this.hasId(result)) {\n this.dataService.order\n .setCustomerForDraftOrder(this.id, { customerId: result.id })\n .pipe(\n switchMap(() => {\n return this.dataService.query(GetCustomerAddressesDocument, {\n customerId: result.id,\n }).single$;\n }),\n switchMap(({ customer }) => {\n const defaultShippingAddress = customer?.addresses?.find(\n addr => addr.defaultShippingAddress,\n );\n const defaultBillingAddress = customer?.addresses?.find(\n addr => addr.defaultBillingAddress,\n );\n\n return forkJoin([\n defaultShippingAddress\n ? this.dataService.order.setDraftOrderShippingAddress(\n this.id,\n this.mapToAddressInput(defaultShippingAddress),\n )\n : this.dataService.order.unsetDraftOrderShippingAddress(this.id),\n defaultBillingAddress\n ? this.dataService.order.setDraftOrderBillingAddress(\n this.id,\n this.mapToAddressInput(defaultBillingAddress),\n )\n : this.dataService.order.unsetDraftOrderBillingAddress(this.id),\n ]);\n }),\n )\n .subscribe();\n } else if (result) {\n const { note, ...input } = result;\n this.dataService.order.setCustomerForDraftOrder(this.id, { input }).subscribe();\n }\n });\n }\n\n private mapToAddressInput(address: AddressFragment): CreateAddressInput {\n return {\n fullName: address.fullName,\n company: address.company,\n streetLine1: address.streetLine1,\n streetLine2: address.streetLine2,\n city: address.city,\n province: address.province,\n postalCode: address.postalCode,\n countryCode: address.country.code,\n phoneNumber: address.phoneNumber,\n defaultShippingAddress: address.defaultShippingAddress,\n defaultBillingAddress: address.defaultBillingAddress,\n };\n }\n\n setShippingAddress() {\n this.entity$\n .pipe(\n take(1),\n switchMap(order =>\n this.modalService.fromComponent(SelectAddressDialogComponent, {\n locals: {\n customerId: order.customer?.id,\n currentAddress: order.shippingAddress ?? undefined,\n },\n }),\n ),\n )\n .subscribe(result => {\n if (result) {\n this.dataService.order.setDraftOrderShippingAddress(this.id, result).subscribe();\n }\n });\n }\n\n setBillingAddress() {\n this.entity$\n .pipe(\n take(1),\n switchMap(order =>\n this.modalService.fromComponent(SelectAddressDialogComponent, {\n locals: {\n customerId: order.customer?.id,\n currentAddress: order.billingAddress ?? undefined,\n },\n }),\n ),\n )\n .subscribe(result => {\n if (result) {\n this.dataService.order.setDraftOrderBillingAddress(this.id, result).subscribe();\n }\n });\n }\n\n applyCouponCode(couponCode: string) {\n this.dataService.order.applyCouponCodeToDraftOrder(this.id, couponCode).subscribe();\n }\n\n removeCouponCode(couponCode: string) {\n this.dataService.order.removeCouponCodeFromDraftOrder(this.id, couponCode).subscribe();\n }\n\n setShippingMethod() {\n combineLatest(this.entity$, this.eligibleShippingMethods$)\n .pipe(\n take(1),\n switchMap(([order, methods]) =>\n this.modalService.fromComponent(SelectShippingMethodDialogComponent, {\n locals: {\n eligibleShippingMethods: methods,\n currencyCode: order.currencyCode,\n currentSelectionId: order.shippingLines?.[0]?.shippingMethod.id,\n },\n }),\n ),\n )\n .subscribe(result => {\n if (result) {\n this.dataService.order.setDraftOrderShippingMethod(this.id, result).subscribe();\n }\n });\n }\n\n updateCustomFields(customFieldsValue: any) {\n this.dataService.order\n .updateOrderCustomFields({\n id: this.id,\n customFields: customFieldsValue,\n })\n .subscribe();\n }\n\n deleteOrder() {\n this.dataService.order.deleteDraftOrder(this.id).subscribe(({ deleteDraftOrder }) => {\n if (deleteDraftOrder.result === DeletionResult.DELETED) {\n this.notificationService.success(_('common.notify-delete-success'), {\n entity: 'Order',\n });\n this.router.navigate(['/orders']);\n } else if (deleteDraftOrder.message) {\n this.notificationService.error(deleteDraftOrder.message);\n }\n });\n }\n\n completeOrder() {\n this.dataService.order\n .transitionToState(this.id, 'ArrangingPayment')\n .subscribe(({ transitionOrderToState }) => {\n if (transitionOrderToState?.__typename === 'Order') {\n this.router.navigate(['/orders', this.id]);\n } else if (transitionOrderToState?.__typename === 'OrderStateTransitionError') {\n this.notificationService.error(transitionOrderToState.transitionError);\n }\n });\n }\n\n private hasId<T extends { id: string }>(input: T | any): input is { id: string } {\n return typeof input === 'object' && !!input.id;\n }\n\n protected setFormValues(entity: OrderDetailFragment): void {\n // empty\n }\n}\n", "<vdr-page-block>\n <vdr-action-bar *ngIf=\"entity$ | async as order\">\n <vdr-ab-left>\n <div class=\"flex clr-align-items-center\">\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\n </div>\n </vdr-ab-left>\n\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"draft-order-detail\" />\n <button\n class=\"btn btn-primary\"\n (click)=\"completeOrder()\"\n [disabled]=\"!order.customer || !order.lines.length || !order.shippingLines.length\"\n >\n <clr-icon shape=\"check\"></clr-icon>\n {{ 'order.complete-draft-order' | translate }}\n </button>\n <vdr-action-bar-dropdown-menu [alwaysShow]=\"true\" locationId=\"draft-order-detail\">\n <button type=\"button\" vdrDropdownItem (click)=\"deleteOrder()\">\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\n {{ 'order.delete-draft-order' | translate }}\n </button>\n </vdr-action-bar-dropdown-menu>\n </vdr-ab-right>\n </vdr-action-bar>\n</vdr-page-block>\n\n<vdr-page-detail-layout *ngIf=\"entity$ | async as order\">\n <vdr-page-detail-sidebar>\n <vdr-card [title]=\"'order.customer' | translate\">\n <ng-template vdrCardControls>\n <clr-icon *ngIf=\"!order.customer\" shape=\"unknown-status\" class=\"is-warning\"></clr-icon>\n <clr-icon *ngIf=\"order.customer\" shape=\"check\" class=\"is-success\"></clr-icon>\n </ng-template>\n <vdr-customer-label\n class=\"block mb-2\"\n *ngIf=\"order.customer\"\n [customer]=\"order.customer\"\n ></vdr-customer-label>\n <button class=\"button-small\" (click)=\"setCustomer()\">\n {{ 'order.set-customer-for-order' | translate }}\n </button>\n </vdr-card>\n <vdr-card [title]=\"'order.billing-address' | translate\">\n <ng-template vdrCardControls>\n <clr-icon\n *ngIf=\"!order.billingAddress.streetLine1\"\n shape=\"unknown-status\"\n class=\"is-warning\"\n ></clr-icon>\n <clr-icon\n *ngIf=\"order.billingAddress.streetLine1\"\n shape=\"check\"\n class=\"is-success\"\n ></clr-icon>\n </ng-template>\n <vdr-formatted-address\n class=\"block mb-2\"\n *ngIf=\"order.billingAddress\"\n [address]=\"order.billingAddress\"\n ></vdr-formatted-address>\n <button class=\"button-small\" (click)=\"setBillingAddress()\">\n {{ 'order.set-billing-address' | translate }}\n </button>\n </vdr-card>\n <vdr-card [title]=\"'order.shipping' | translate\">\n <ng-template vdrCardControls>\n <clr-icon\n *ngIf=\"!order.shippingAddress.streetLine1 || !order.shippingLines.length\"\n shape=\"unknown-status\"\n class=\"is-warning\"\n ></clr-icon>\n <clr-icon\n *ngIf=\"order.shippingAddress.streetLine1 && order.shippingLines.length\"\n shape=\"check\"\n class=\"is-success\"\n ></clr-icon>\n </ng-template>\n <vdr-formatted-address\n class=\"block mb-2\"\n *ngIf=\"order.shippingAddress\"\n [address]=\"order.shippingAddress\"\n ></vdr-formatted-address>\n <button class=\"button-small mr-2\" (click)=\"setShippingAddress()\">\n {{ 'order.set-shipping-address' | translate }}\n </button>\n\n <div *ngFor=\"let shippingLine of order.shippingLines\">\n {{ shippingLine.shippingMethod.name }}\n </div>\n <button class=\"button-small\" (click)=\"setShippingMethod()\">\n {{ 'order.set-shipping-method' | translate }}\n </button>\n </vdr-card>\n <vdr-card>\n <button\n *ngIf=\"order.couponCodes.length === 0 && !displayCouponCodeInput\"\n class=\"button-small\"\n (click)=\"displayCouponCodeInput = !displayCouponCodeInput\"\n >\n {{ 'order.set-coupon-codes' | translate }}\n </button>\n <div *ngIf=\"order.couponCodes.length || displayCouponCodeInput\">\n <label>{{ 'order.set-coupon-codes' | translate }}</label>\n <vdr-coupon-code-selector\n [couponCodes]=\"order.couponCodes\"\n (addCouponCode)=\"applyCouponCode($event)\"\n (removeCouponCode)=\"removeCouponCode($event)\"\n ></vdr-coupon-code-selector>\n </div>\n </vdr-card>\n <vdr-card>\n <vdr-page-entity-info *ngIf=\"entity$ | async as entity\" [entity]=\"entity\" />\n </vdr-card>\n </vdr-page-detail-sidebar>\n <vdr-page-block>\n <vdr-card>\n <vdr-draft-order-variant-selector\n [orderLineCustomFields]=\"orderLineCustomFields\"\n [currencyCode]=\"order.currencyCode\"\n (addItem)=\"addItemToOrder($event)\"\n ></vdr-draft-order-variant-selector>\n <vdr-order-table\n [order]=\"order\"\n [orderLineCustomFields]=\"orderLineCustomFields\"\n [isDraft]=\"true\"\n (adjust)=\"adjustOrderLine($event)\"\n (remove)=\"removeOrderLine($event)\"\n ></vdr-order-table>\n </vdr-card>\n <vdr-card [title]=\"'order.tax-summary' | translate\">\n <ng-container *ngIf=\"order.taxSummary.length\">\n <table class=\"table\">\n <thead>\n <tr>\n <th>{{ 'common.description' | translate }}</th>\n <th>{{ 'order.tax-rate' | translate }}</th>\n <th>{{ 'order.tax-base' | translate }}</th>\n <th>{{ 'order.tax-total' | translate }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of order.taxSummary\">\n <td>{{ row.description }}</td>\n <td>{{ row.taxRate / 100 | percent }}</td>\n <td>{{ row.taxBase | localeCurrency : order.currencyCode }}</td>\n <td>{{ row.taxTotal | localeCurrency : order.currencyCode }}</td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n </vdr-card>\n <vdr-custom-detail-component-host\n locationId=\"draft-order-detail\"\n [entity$]=\"entity$\"\n [detailForm]=\"detailForm\"\n ></vdr-custom-detail-component-host>\n\n <vdr-order-custom-fields-card\n [customFieldsConfig]=\"customFields\"\n [customFieldValues]=\"order.customFields\"\n (updateClick)=\"updateCustomFields($event)\"\n ></vdr-order-custom-fields-card>\n </vdr-page-block>\n</vdr-page-detail-layout>\n", "import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport {\n configurableDefinitionToInstance,\n ConfigurableOperation,\n ConfigurableOperationDefinition,\n configurableOperationValueIsValid,\n DataService,\n Dialog,\n FulfillOrderInput,\n GlobalFlag,\n OrderDetailFragment,\n toConfigurableOperationInput,\n} from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-fulfill-order-dialog',\n templateUrl: './fulfill-order-dialog.component.html',\n styleUrls: ['./fulfill-order-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FulfillOrderDialogComponent implements Dialog<FulfillOrderInput>, OnInit {\n resolveWith: (result?: FulfillOrderInput) => void;\n fulfillmentHandlerDef: ConfigurableOperationDefinition;\n fulfillmentHandler: ConfigurableOperation;\n fulfillmentHandlerControl = new UntypedFormControl();\n fulfillmentQuantities: { [lineId: string]: { fulfillCount: number; max: number } } = {};\n\n // Provided by modalService.fromComponent() call\n order: OrderDetailFragment;\n\n constructor(\n private dataService: DataService,\n private changeDetector: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n this.dataService.settings.getGlobalSettings().single$.subscribe(({ globalSettings }) => {\n this.fulfillmentQuantities = this.order.lines.reduce((result, line) => {\n const fulfillCount = this.getFulfillableCount(line, globalSettings.trackInventory);\n return {\n ...result,\n [line.id]: { fulfillCount, max: fulfillCount },\n };\n }, {});\n this.changeDetector.markForCheck();\n });\n\n this.dataService.shippingMethod\n .getShippingMethodOperations()\n .mapSingle(data => data.fulfillmentHandlers)\n .subscribe(handlers => {\n this.fulfillmentHandlerDef =\n handlers.find(\n h => h.code === this.order.shippingLines[0]?.shippingMethod?.fulfillmentHandlerCode,\n ) || handlers[0];\n this.fulfillmentHandler = configurableDefinitionToInstance(this.fulfillmentHandlerDef);\n this.fulfillmentHandlerControl.patchValue(this.fulfillmentHandler);\n this.changeDetector.markForCheck();\n });\n }\n\n getFulfillableCount(line: OrderDetailFragment['lines'][number], globalTrackInventory: boolean): number {\n const { trackInventory, stockOnHand } = line.productVariant;\n const effectiveTracInventory =\n trackInventory === GlobalFlag.INHERIT ? globalTrackInventory : trackInventory === GlobalFlag.TRUE;\n\n const unfulfilledCount = this.getUnfulfilledCount(line);\n return effectiveTracInventory ? Math.min(unfulfilledCount, stockOnHand) : unfulfilledCount;\n }\n\n getUnfulfilledCount(line: OrderDetailFragment['lines'][number]): number {\n const fulfilled =\n this.order.fulfillments\n ?.filter(f => f.state !== 'Cancelled')\n .map(f => f.lines)\n .flat()\n .filter(row => row.orderLineId === line.id)\n .reduce((sum, row) => sum + row.quantity, 0) ?? 0;\n return line.quantity - fulfilled;\n }\n\n canSubmit(): boolean {\n const totalCount = Object.values(this.fulfillmentQuantities).reduce(\n (total, { fulfillCount }) => total + fulfillCount,\n 0,\n );\n const fulfillmentQuantityIsValid = Object.values(this.fulfillmentQuantities).every(\n ({ fulfillCount, max }) => fulfillCount <= max,\n );\n const formIsValid =\n configurableOperationValueIsValid(\n this.fulfillmentHandlerDef,\n this.fulfillmentHandlerControl.value,\n ) && this.fulfillmentHandlerControl.valid;\n return formIsValid && 0 < totalCount && fulfillmentQuantityIsValid;\n }\n\n select() {\n const lines = Object.entries(this.fulfillmentQuantities).map(([orderLineId, { fulfillCount }]) => ({\n orderLineId,\n quantity: fulfillCount,\n }));\n this.resolveWith({\n lines,\n handler: toConfigurableOperationInput(\n this.fulfillmentHandler,\n this.fulfillmentHandlerControl.value,\n ),\n });\n }\n\n cancel() {\n this.resolveWith();\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.fulfill-order' | translate }}</ng-template>\n\n<div class=\"fulfillment-wrapper\">\n <div class=\"order-table\">\n <table class=\"table\">\n <thead>\n <tr>\n <th></th>\n <th>{{ 'order.product-name' | translate }}</th>\n <th>{{ 'order.product-sku' | translate }}</th>\n <th>{{ 'order.unfulfilled' | translate }}</th>\n <th>{{ 'catalog.stock-on-hand' | translate }}</th>\n <th>{{ 'order.fulfill' | translate }}</th>\n </tr>\n </thead>\n <tr\n *ngFor=\"let line of order.lines\"\n class=\"order-line\"\n [class.ignore]=\"getUnfulfilledCount(line) === 0\"\n >\n <td class=\"align-middle thumb\">\n <img *ngIf=\"line.featuredAsset\" [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\n </td>\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\n <td class=\"align-middle quantity\">{{ getUnfulfilledCount(line) }}</td>\n <td class=\"align-middle quantity\">{{ line.productVariant.stockOnHand }}</td>\n <td class=\"align-middle fulfil\">\n <input\n *ngIf=\"fulfillmentQuantities[line.id]\"\n [disabled]=\"getUnfulfilledCount(line) === 0\"\n [(ngModel)]=\"fulfillmentQuantities[line.id].fulfillCount\"\n type=\"number\"\n [max]=\"fulfillmentQuantities[line.id].max\"\n min=\"0\"\n />\n </td>\n </tr>\n </table>\n </div>\n <div class=\"shipping-details\">\n <vdr-formatted-address [address]=\"order.shippingAddress\"></vdr-formatted-address>\n <h6>{{ 'order.shipping-method' | translate }}</h6>\n {{ order.shippingLines[0]?.shippingMethod?.name }}\n <strong>{{ order.shipping | localeCurrency: order.currencyCode }}</strong>\n <vdr-configurable-input\n [operationDefinition]=\"fulfillmentHandlerDef\"\n [operation]=\"fulfillmentHandler\"\n [formControl]=\"fulfillmentHandlerControl\"\n [removable]=\"false\"\n ></vdr-configurable-input>\n </div>\n</div>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button type=\"submit\" (click)=\"select()\" [disabled]=\"!canSubmit()\" class=\"btn btn-primary\">\n {{ 'order.create-fulfillment' | translate }}\n </button>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { CustomFieldConfig, OrderDetailFragment, ServerConfigService } from '@vendure/admin-ui/core';\nimport { isObject } from '@vendure/common/lib/shared-utils';\n\n@Component({\n selector: 'vdr-fulfillment-detail',\n templateUrl: './fulfillment-detail.component.html',\n styleUrls: ['./fulfillment-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FulfillmentDetailComponent implements OnInit, OnChanges {\n @Input() fulfillmentId: string;\n @Input() order: OrderDetailFragment;\n\n customFieldConfig: CustomFieldConfig[] = [];\n customFieldFormGroup = new UntypedFormGroup({});\n\n constructor(private serverConfigService: ServerConfigService) {}\n\n ngOnInit() {\n this.customFieldConfig = this.serverConfigService.getCustomFieldsFor('Fulfillment');\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.buildCustomFieldsFormGroup();\n }\n\n get fulfillment(): NonNullable<OrderDetailFragment['fulfillments']>[number] | undefined | null {\n return this.order.fulfillments && this.order.fulfillments.find(f => f.id === this.fulfillmentId);\n }\n\n get items(): Array<{ name: string; quantity: number }> {\n return (\n this.fulfillment?.lines.map(row => ({\n name: this.order.lines.find(line => line.id === row.orderLineId)?.productVariant.name ?? '',\n quantity: row.quantity,\n })) ?? []\n );\n }\n\n buildCustomFieldsFormGroup() {\n const customFields = (this.fulfillment as any).customFields;\n for (const fieldDef of this.serverConfigService.getCustomFieldsFor('Fulfillment')) {\n this.customFieldFormGroup.addControl(\n fieldDef.name,\n new UntypedFormControl(customFields[fieldDef.name]),\n );\n }\n }\n\n customFieldIsObject(customField: unknown) {\n return Array.isArray(customField) || isObject(customField);\n }\n}\n", "<vdr-labeled-data [label]=\"'common.created-at' | translate\">\n {{ fulfillment?.createdAt | localeDate: 'medium' }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\n {{ fulfillment?.method }}\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"fulfillment?.trackingCode\" [label]=\"'order.tracking-code' | translate\">\n {{ fulfillment?.trackingCode }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.contents' | translate\">\n <vdr-simple-item-list [items]=\"items\"></vdr-simple-item-list>\n</vdr-labeled-data>\n<ng-container *ngFor=\"let customField of customFieldConfig\">\n <vdr-custom-field-control\n *ngIf=\"customFieldFormGroup.get(customField.name)\"\n [readonly]=\"true\"\n [compact]=\"true\"\n [customField]=\"customField\"\n [customFieldsFormGroup]=\"customFieldFormGroup\"\n ></vdr-custom-field-control>\n</ng-container>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'vdr-simple-item-list',\n templateUrl: './simple-item-list.component.html',\n styleUrls: ['./simple-item-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class SimpleItemListComponent {\n @Input() items: Array<{ name: string; quantity?: number }>;\n}\n", "<div class=\"items-list\">\n <ul>\n <li *ngFor=\"let item of items\" [title]=\"item.name\">\n <div class=\"quantity\" *ngIf=\"item.quantity != null\">{{ item.quantity }}</div>\n <clr-icon shape=\"times\" size=\"12\" *ngIf=\"item.quantity != null\"></clr-icon>\n {{ item.name }}\n </li>\n </ul>\n</div>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'vdr-fulfillment-state-label',\n templateUrl: './fulfillment-state-label.component.html',\n styleUrls: ['./fulfillment-state-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FulfillmentStateLabelComponent {\n @Input() state: string;\n\n get chipColorType() {\n switch (this.state) {\n case 'Pending':\n case 'Shipped':\n return 'warning';\n case 'Delivered':\n return 'success';\n case 'Cancelled':\n return 'error';\n }\n }\n}\n", "<vdr-chip [title]=\"'order.payment-state' | translate\" [colorType]=\"chipColorType\">\n <clr-icon shape=\"check-circle\" *ngIf=\"state === 'Delivered'\"></clr-icon>\n {{ state | stateI18nToken | translate }}\n</vdr-chip>\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FulfillmentFragment, OrderDetailFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-fulfillment-card',\n templateUrl: './fulfillment-card.component.html',\n styleUrls: ['./fulfillment-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FulfillmentCardComponent {\n @Input() fulfillment: FulfillmentFragment | undefined;\n @Input() order: OrderDetailFragment;\n @Output() transitionState = new EventEmitter<string>();\n\n nextSuggestedState(): string | undefined {\n if (!this.fulfillment) {\n return;\n }\n const { nextStates } = this.fulfillment;\n const namedStateOrDefault = (targetState: string) =>\n nextStates.includes(targetState) ? targetState : nextStates[0];\n switch (this.fulfillment?.state) {\n case 'Pending':\n return namedStateOrDefault('Shipped');\n case 'Shipped':\n return namedStateOrDefault('Delivered');\n default:\n return nextStates.find(s => s !== 'Cancelled');\n }\n }\n\n nextOtherStates(): string[] {\n if (!this.fulfillment) {\n return [];\n }\n const suggested = this.nextSuggestedState();\n return this.fulfillment.nextStates.filter(s => s !== suggested);\n }\n}\n", "<div class=\"card\">\n <div class=\"card-header fulfillment-header\">\n <div>{{ 'order.fulfillment' | translate }}</div>\n <div class=\"fulfillment-state\">\n <vdr-fulfillment-state-label [state]=\"fulfillment?.state\"></vdr-fulfillment-state-label>\n </div>\n </div>\n <div class=\"card-block\">\n <vdr-fulfillment-detail\n *ngIf=\"!!fulfillment\"\n [fulfillmentId]=\"fulfillment?.id\"\n [order]=\"order\"\n ></vdr-fulfillment-detail>\n </div>\n <div class=\"card-footer\" *ngIf=\"fulfillment?.nextStates.length\">\n <ng-container *ngIf=\"nextSuggestedState() as suggestedState\">\n <button class=\"btn btn-sm btn-primary\" (click)=\"transitionState.emit(suggestedState)\">\n {{ 'order.set-fulfillment-state' | translate: { state: (suggestedState | stateI18nToken | translate) } }}\n </button>\n </ng-container>\n <vdr-dropdown>\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <ng-container *ngFor=\"let nextState of nextOtherStates()\">\n <button\n type=\"button\"\n vdrDropdownItem\n (click)=\"transitionState.emit(nextState)\"\n >\n <ng-container *ngIf=\"nextState !== 'Cancelled'; else cancel\">\n <clr-icon shape=\"step-forward-2\"></clr-icon>\n {{ 'order.transition-to-state' | translate: { state: (nextState | stateI18nToken | translate) } }}\n </ng-container>\n <ng-template #cancel>\n <clr-icon shape=\"error-standard\" class=\"is-error\"></clr-icon>\n {{ 'order.cancel-fulfillment' | translate }}\n </ng-template>\n </button>\n </ng-container>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </div>\n</div>\n", "import { ChangeDetectionStrategy, Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { OrderDetailFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-modification-detail',\n templateUrl: './modification-detail.component.html',\n styleUrls: ['./modification-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ModificationDetailComponent implements OnChanges {\n @Input() order: OrderDetailFragment;\n @Input() modification: OrderDetailFragment['modifications'][number];\n private addedItems = new Map<OrderDetailFragment['lines'][number], number>();\n private removedItems = new Map<OrderDetailFragment['lines'][number], number>();\n private modifiedItems = new Set<OrderDetailFragment['lines'][number]>();\n\n ngOnChanges(): void {\n const { added, removed, modified } = this.getModifiedLines();\n this.addedItems = added;\n this.removedItems = removed;\n this.modifiedItems = modified;\n }\n\n getSurcharge(id: string) {\n return this.order.surcharges.find(m => m.id === id);\n }\n\n getAddedItems() {\n return [...this.addedItems.entries()].map(([line, count]) => ({\n name: line.productVariant.name,\n quantity: count,\n }));\n }\n\n getRemovedItems() {\n return [...this.removedItems.entries()].map(([line, count]) => ({\n name: line.productVariant.name,\n quantity: count,\n }));\n }\n\n getModifiedItems() {\n return [...this.modifiedItems].map(line => ({\n name: line.productVariant.name,\n }));\n }\n\n private getModifiedLines() {\n const added = new Map<OrderDetailFragment['lines'][number], number>();\n const removed = new Map<OrderDetailFragment['lines'][number], number>();\n const modified = new Set<OrderDetailFragment['lines'][number]>();\n for (const modificationLine of this.modification.lines || []) {\n const line = this.order.lines.find(l => l.id === modificationLine.orderLineId);\n if (!line) {\n continue;\n }\n if (modificationLine.quantity === 0) {\n modified.add(line);\n } else if (modificationLine.quantity < 0) {\n removed.set(line, -modificationLine.quantity);\n } else {\n added.set(line, modificationLine.quantity);\n }\n }\n return { added, removed, modified };\n }\n}\n", "<vdr-labeled-data [label]=\"'common.ID' | translate\">{{ modification.id }}</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"modification.note\" [label]=\"'order.note' | translate\">{{\n modification.note\n}}</vdr-labeled-data>\n<vdr-labeled-data *ngFor=\"let surcharge of modification.surcharges\" [label]=\"'order.surcharges' | translate\">\n {{ getSurcharge(surcharge.id)?.description }}\n {{ getSurcharge(surcharge.id)?.priceWithTax | localeCurrency: order.currencyCode }}</vdr-labeled-data\n>\n<vdr-labeled-data *ngIf=\"getAddedItems().length\" [label]=\"'order.added-items' | translate\">\n <vdr-simple-item-list [items]=\"getAddedItems()\"></vdr-simple-item-list>\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"getRemovedItems().length\" [label]=\"'order.removed-items' | translate\">\n <vdr-simple-item-list [items]=\"getRemovedItems()\"></vdr-simple-item-list>\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"getModifiedItems().length\" [label]=\"'order.modified-items' | translate\">\n <vdr-simple-item-list [items]=\"getModifiedItems()\"></vdr-simple-item-list>\n</vdr-labeled-data>\n", "import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n DataService,\n EditNoteDialogComponent,\n FulfillmentFragment,\n getCustomFieldsDefaults,\n GetOrderHistoryQuery,\n GetOrderQuery,\n ModalService,\n NotificationService,\n ORDER_DETAIL_FRAGMENT,\n OrderDetailFragment,\n OrderDetailQueryDocument,\n Refund,\n SetOrderCustomerDocument,\n SortOrder,\n TimelineHistoryEntry,\n TypedBaseDetailComponent,\n} from '@vendure/admin-ui/core';\nimport { assertNever, summate } from '@vendure/common/lib/shared-utils';\nimport { gql } from 'apollo-angular';\nimport { EMPTY, forkJoin, Observable, of, Subject } from 'rxjs';\nimport { map, mapTo, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { OrderTransitionService } from '../../providers/order-transition.service';\nimport { AddManualPaymentDialogComponent } from '../add-manual-payment-dialog/add-manual-payment-dialog.component';\nimport { CancelOrderDialogComponent } from '../cancel-order-dialog/cancel-order-dialog.component';\nimport { FulfillOrderDialogComponent } from '../fulfill-order-dialog/fulfill-order-dialog.component';\nimport { OrderProcessGraphDialogComponent } from '../order-process-graph-dialog/order-process-graph-dialog.component';\nimport { RefundOrderDialogComponent } from '../refund-order-dialog/refund-order-dialog.component';\nimport { SelectCustomerDialogComponent } from '../select-customer-dialog/select-customer-dialog.component';\nimport { SettleRefundDialogComponent } from '../settle-refund-dialog/settle-refund-dialog.component';\n\ntype Payment = NonNullable<OrderDetailFragment['payments']>[number];\n\nexport const ORDER_DETAIL_QUERY = gql`\n query OrderDetailQuery($id: ID!) {\n order(id: $id) {\n ...OrderDetail\n }\n }\n ${ORDER_DETAIL_FRAGMENT}\n`;\n\nexport const SET_ORDER_CUSTOMER_MUTATION = gql`\n mutation SetOrderCustomer($input: SetOrderCustomerInput!) {\n setOrderCustomer(input: $input) {\n id\n customer {\n id\n firstName\n lastName\n emailAddress\n }\n }\n }\n`;\n\n@Component({\n selector: 'vdr-order-detail',\n templateUrl: './order-detail.component.html',\n styleUrls: ['./order-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderDetailComponent\n extends TypedBaseDetailComponent<typeof OrderDetailQueryDocument, 'order'>\n implements OnInit, OnDestroy\n{\n customFields = this.getCustomFieldConfig('Order');\n orderLineCustomFields = this.getCustomFieldConfig('OrderLine');\n detailForm = new FormGroup({\n customFields: this.formBuilder.group(getCustomFieldsDefaults(this.customFields)),\n });\n history$: Observable<NonNullable<GetOrderHistoryQuery['order']>['history']['items'] | undefined>;\n nextStates$: Observable<string[]>;\n fetchHistory = new Subject<void>();\n private readonly defaultStates = [\n 'AddingItems',\n 'ArrangingPayment',\n 'PaymentAuthorized',\n 'PaymentSettled',\n 'PartiallyShipped',\n 'Shipped',\n 'PartiallyDelivered',\n 'Delivered',\n 'Cancelled',\n 'Modifying',\n 'ArrangingAdditionalPayment',\n ];\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n protected dataService: DataService,\n private notificationService: NotificationService,\n private modalService: ModalService,\n private orderTransitionService: OrderTransitionService,\n private formBuilder: FormBuilder,\n ) {\n super();\n }\n\n ngOnInit() {\n this.init();\n this.entity$.pipe(take(1)).subscribe(order => {\n if (order.state === 'Modifying') {\n this.router.navigate(['./', 'modify'], { relativeTo: this.route });\n }\n });\n this.history$ = this.fetchHistory.pipe(\n startWith(null),\n switchMap(() =>\n this.dataService.order\n .getOrderHistory(this.id, {\n sort: {\n createdAt: SortOrder.DESC,\n },\n })\n .mapStream(data => data.order?.history.items),\n ),\n );\n this.nextStates$ = this.entity$.pipe(\n map(order => {\n const isInCustomState = !this.defaultStates.includes(order.state);\n return isInCustomState\n ? order.nextStates\n : order.nextStates.filter(s => !this.defaultStates.includes(s));\n }),\n );\n }\n\n ngOnDestroy() {\n this.destroy();\n }\n\n openStateDiagram() {\n this.entity$\n .pipe(\n take(1),\n switchMap(order =>\n this.modalService.fromComponent(OrderProcessGraphDialogComponent, {\n closable: true,\n locals: {\n activeState: order.state,\n },\n }),\n ),\n )\n .subscribe();\n }\n\n setOrderCustomer() {\n this.modalService\n .fromComponent(SelectCustomerDialogComponent, {\n locals: {\n canCreateNew: false,\n includeNoteInput: true,\n title: _('order.assign-order-to-another-customer'),\n },\n })\n .pipe(\n switchMap(result => {\n function isExisting(input: any): input is { id: string } {\n return typeof input === 'object' && !!input.id;\n }\n if (isExisting(result)) {\n return this.dataService.mutate(SetOrderCustomerDocument, {\n input: {\n customerId: result.id,\n orderId: this.id,\n note: result.note,\n },\n });\n } else {\n return EMPTY;\n }\n }),\n switchMap(result => this.refetchOrder(result)),\n )\n .subscribe(result => {\n if (result) {\n this.notificationService.success(_('order.set-customer-success'));\n }\n });\n }\n\n transitionToState(state: string) {\n this.dataService.order.transitionToState(this.id, state).subscribe(({ transitionOrderToState }) => {\n switch (transitionOrderToState?.__typename) {\n case 'Order':\n this.notificationService.success(_('order.transitioned-to-state-success'), { state });\n this.fetchHistory.next();\n break;\n case 'OrderStateTransitionError':\n this.notificationService.error(transitionOrderToState.transitionError);\n }\n });\n }\n\n manuallyTransitionToState(order: OrderDetailFragment) {\n this.orderTransitionService\n .manuallyTransitionToState({\n orderId: order.id,\n nextStates: order.nextStates,\n cancellable: true,\n message: _('order.manually-transition-to-state-message'),\n retry: 0,\n })\n .subscribe();\n }\n\n transitionToModifying() {\n this.dataService.order\n .transitionToState(this.id, 'Modifying')\n .subscribe(({ transitionOrderToState }) => {\n switch (transitionOrderToState?.__typename) {\n case 'Order':\n this.router.navigate(['./modify'], { relativeTo: this.route });\n break;\n case 'OrderStateTransitionError':\n this.notificationService.error(transitionOrderToState.transitionError);\n }\n });\n }\n\n updateCustomFields() {\n this.dataService.order\n .updateOrderCustomFields({\n id: this.id,\n customFields: this.detailForm.value.customFields,\n })\n .subscribe(() => {\n this.notificationService.success(_('common.notify-update-success'), { entity: 'Order' });\n });\n }\n\n getOrderAddressLines(orderAddress?: { [key: string]: string }): string[] {\n if (!orderAddress) {\n return [];\n }\n return Object.values(orderAddress)\n .filter(val => val !== 'OrderAddress')\n .filter(line => !!line);\n }\n\n settlePayment(payment: Payment) {\n this.dataService.order.settlePayment(payment.id).subscribe(({ settlePayment }) => {\n switch (settlePayment.__typename) {\n case 'Payment':\n if (settlePayment.state === 'Settled') {\n this.notificationService.success(_('order.settle-payment-success'));\n } else {\n this.notificationService.error(_('order.settle-payment-error'));\n }\n this.dataService.order.getOrder(this.id).single$.subscribe();\n this.fetchHistory.next();\n break;\n case 'OrderStateTransitionError':\n case 'PaymentStateTransitionError':\n case 'SettlePaymentError':\n this.notificationService.error(settlePayment.message);\n }\n });\n }\n\n transitionPaymentState({ payment, state }: { payment: Payment; state: string }) {\n if (state === 'Cancelled') {\n this.dataService.order.cancelPayment(payment.id).subscribe(({ cancelPayment }) => {\n switch (cancelPayment.__typename) {\n case 'Payment':\n this.notificationService.success(_('order.transitioned-payment-to-state-success'), {\n state,\n });\n this.dataService.order.getOrder(this.id).single$.subscribe();\n this.fetchHistory.next();\n break;\n case 'PaymentStateTransitionError':\n this.notificationService.error(cancelPayment.transitionError);\n break;\n case 'CancelPaymentError':\n this.notificationService.error(cancelPayment.paymentErrorMessage);\n break;\n }\n });\n } else {\n this.dataService.order\n .transitionPaymentToState(payment.id, state)\n .subscribe(({ transitionPaymentToState }) => {\n switch (transitionPaymentToState.__typename) {\n case 'Payment':\n this.notificationService.success(\n _('order.transitioned-payment-to-state-success'),\n {\n state,\n },\n );\n this.dataService.order.getOrder(this.id).single$.subscribe();\n this.fetchHistory.next();\n break;\n case 'PaymentStateTransitionError':\n this.notificationService.error(transitionPaymentToState.message);\n break;\n }\n });\n }\n }\n\n canAddFulfillment(order: OrderDetailFragment): boolean {\n const allFulfillmentLines: FulfillmentFragment['lines'] = (order.fulfillments ?? [])\n .filter(fulfillment => fulfillment.state !== 'Cancelled')\n .reduce((all, fulfillment) => [...all, ...fulfillment.lines], [] as FulfillmentFragment['lines']);\n let allItemsFulfilled = true;\n for (const line of order.lines) {\n const totalFulfilledCount = allFulfillmentLines\n .filter(row => row.orderLineId === line.id)\n .reduce((sum, row) => sum + row.quantity, 0);\n if (totalFulfilledCount < line.quantity) {\n allItemsFulfilled = false;\n }\n }\n return (\n !allItemsFulfilled &&\n !this.hasUnsettledModifications(order) &&\n this.outstandingPaymentAmount(order) === 0 &&\n (order.nextStates.includes('Shipped') ||\n order.nextStates.includes('PartiallyShipped') ||\n order.nextStates.includes('Delivered'))\n );\n }\n\n hasUnsettledModifications(order: OrderDetailFragment): boolean {\n return 0 < order.modifications.filter(m => !m.isSettled).length;\n }\n\n getOutstandingModificationAmount(order: OrderDetailFragment): number {\n return summate(\n order.modifications.filter(m => !m.isSettled),\n 'priceChange',\n );\n }\n\n outstandingPaymentAmount(order: OrderDetailFragment): number {\n const paymentIsValid = (p: Payment): boolean =>\n p.state !== 'Cancelled' && p.state !== 'Declined' && p.state !== 'Error';\n\n let amountCovered = 0;\n for (const payment of order.payments?.filter(paymentIsValid) ?? []) {\n const refunds = payment.refunds.filter(r => r.state !== 'Failed') ?? [];\n const refundsTotal = summate(refunds as Array<Required<Refund>>, 'total');\n amountCovered += payment.amount - refundsTotal;\n }\n return order.totalWithTax - amountCovered;\n }\n\n addManualPayment(order: OrderDetailFragment) {\n const priorState = order.state;\n this.modalService\n .fromComponent(AddManualPaymentDialogComponent, {\n closable: true,\n locals: {\n outstandingAmount: this.outstandingPaymentAmount(order),\n currencyCode: order.currencyCode,\n },\n })\n .pipe(\n switchMap(result => {\n if (result) {\n return this.dataService.order.addManualPaymentToOrder({\n orderId: this.id,\n transactionId: result.transactionId,\n method: result.method,\n metadata: result.metadata || {},\n });\n } else {\n return EMPTY;\n }\n }),\n switchMap(({ addManualPaymentToOrder }) => {\n switch (addManualPaymentToOrder.__typename) {\n case 'Order':\n this.notificationService.success(_('order.add-payment-to-order-success'));\n if (priorState === 'ArrangingAdditionalPayment') {\n return this.orderTransitionService.transitionToPreModifyingState(\n order.id,\n order.nextStates,\n );\n } else {\n return of('PaymentSettled');\n }\n case 'ManualPaymentStateError':\n this.notificationService.error(addManualPaymentToOrder.message);\n return EMPTY;\n default:\n return EMPTY;\n }\n }),\n )\n .subscribe(result => {\n if (result) {\n this.refetchOrder({ result });\n }\n });\n }\n\n fulfillOrder() {\n this.entity$\n .pipe(\n take(1),\n switchMap(order =>\n this.modalService.fromComponent(FulfillOrderDialogComponent, {\n size: 'xl',\n locals: {\n order,\n },\n }),\n ),\n switchMap(input => {\n if (input) {\n return this.dataService.order.createFulfillment(input);\n } else {\n return of(undefined);\n }\n }),\n switchMap(result => this.refetchOrder(result).pipe(mapTo(result))),\n )\n .subscribe(result => {\n if (result) {\n const { addFulfillmentToOrder } = result;\n switch (addFulfillmentToOrder.__typename) {\n case 'Fulfillment':\n this.notificationService.success(_('order.create-fulfillment-success'));\n break;\n case 'EmptyOrderLineSelectionError':\n case 'InsufficientStockOnHandError':\n case 'ItemsAlreadyFulfilledError':\n case 'InvalidFulfillmentHandlerError':\n this.notificationService.error(addFulfillmentToOrder.message);\n break;\n case 'FulfillmentStateTransitionError':\n this.notificationService.error(addFulfillmentToOrder.transitionError);\n break;\n case 'CreateFulfillmentError':\n this.notificationService.error(addFulfillmentToOrder.fulfillmentHandlerError);\n break;\n case undefined:\n this.notificationService.error(JSON.stringify(addFulfillmentToOrder));\n break;\n default:\n assertNever(addFulfillmentToOrder);\n }\n }\n });\n }\n\n transitionFulfillment(id: string, state: string) {\n this.dataService.order\n .transitionFulfillmentToState(id, state)\n .pipe(switchMap(result => this.refetchOrder(result)))\n .subscribe(() => {\n this.notificationService.success(_('order.successfully-updated-fulfillment'));\n });\n }\n\n cancelOrRefund(order: OrderDetailFragment) {\n const isRefundable = this.orderHasSettledPayments(order);\n if (order.state === 'PaymentAuthorized' || order.active === true || !isRefundable) {\n this.cancelOrder(order);\n } else {\n this.refundOrder(order);\n }\n }\n\n settleRefund(refund: Payment['refunds'][number]) {\n this.modalService\n .fromComponent(SettleRefundDialogComponent, {\n size: 'md',\n locals: {\n refund,\n },\n })\n .pipe(\n switchMap(transactionId => {\n if (transactionId) {\n return this.dataService.order.settleRefund(\n {\n transactionId,\n id: refund.id,\n },\n this.id,\n );\n } else {\n return of(undefined);\n }\n }),\n // switchMap(result => this.refetchOrder(result)),\n )\n .subscribe(result => {\n if (result) {\n this.notificationService.success(_('order.settle-refund-success'));\n }\n });\n }\n\n addNote(event: { note: string; isPublic: boolean }) {\n const { note, isPublic } = event;\n this.dataService.order\n .addNoteToOrder({\n id: this.id,\n note,\n isPublic,\n })\n .pipe(switchMap(result => this.refetchOrder(result)))\n .subscribe(result => {\n this.notificationService.success(_('common.notify-create-success'), {\n entity: 'Note',\n });\n });\n }\n\n updateNote(entry: TimelineHistoryEntry) {\n this.modalService\n .fromComponent(EditNoteDialogComponent, {\n closable: true,\n locals: {\n displayPrivacyControls: true,\n note: entry.data.note,\n noteIsPrivate: !entry.isPublic,\n },\n })\n .pipe(\n switchMap(result => {\n if (result) {\n return this.dataService.order.updateOrderNote({\n noteId: entry.id,\n isPublic: !result.isPrivate,\n note: result.note,\n });\n } else {\n return EMPTY;\n }\n }),\n )\n .subscribe(result => {\n this.fetchHistory.next();\n this.notificationService.success(_('common.notify-update-success'), {\n entity: 'Note',\n });\n });\n }\n\n deleteNote(entry: TimelineHistoryEntry) {\n return this.modalService\n .dialog({\n title: _('common.confirm-delete-note'),\n body: entry.data.note,\n buttons: [\n { type: 'secondary', label: _('common.cancel') },\n { type: 'danger', label: _('common.delete'), returnValue: true },\n ],\n })\n .pipe(switchMap(res => (res ? this.dataService.order.deleteOrderNote(entry.id) : EMPTY)))\n .subscribe(() => {\n this.fetchHistory.next();\n this.notificationService.success(_('common.notify-delete-success'), {\n entity: 'Note',\n });\n });\n }\n\n orderHasSettledPayments(order: OrderDetailFragment): boolean {\n return !!order.payments?.find(p => p.state === 'Settled');\n }\n\n private cancelOrder(order: OrderDetailFragment) {\n this.modalService\n .fromComponent(CancelOrderDialogComponent, {\n size: 'xl',\n locals: {\n order,\n },\n })\n .pipe(\n switchMap(input => {\n if (input) {\n return this.dataService.order.cancelOrder(input);\n } else {\n return of(undefined);\n }\n }),\n switchMap(result => this.refetchOrder(result)),\n )\n .subscribe(result => {\n if (result) {\n this.notificationService.success(_('order.cancelled-order-success'));\n }\n });\n }\n\n private refundOrder(order: OrderDetailFragment) {\n this.modalService\n .fromComponent(RefundOrderDialogComponent, {\n size: 'xl',\n locals: {\n order,\n },\n })\n .pipe(\n switchMap(input => {\n if (!input) {\n return of(undefined);\n }\n\n if (input.cancel.lines?.length) {\n return this.dataService.order.cancelOrder(input.cancel).pipe(\n map(res => {\n const result = res.cancelOrder;\n switch (result.__typename) {\n case 'Order':\n this.refetchOrder(result).subscribe();\n this.notificationService.success(\n _('order.cancelled-order-items-success'),\n {\n count: summate(input.cancel.lines, 'quantity'),\n },\n );\n return input;\n case 'CancelActiveOrderError':\n case 'QuantityTooGreatError':\n case 'MultipleOrderError':\n case 'OrderStateTransitionError':\n case 'EmptyOrderLineSelectionError':\n this.notificationService.error(result.message);\n return undefined;\n }\n }),\n );\n } else {\n return [input];\n }\n }),\n switchMap(input => {\n if (!input) {\n return of(undefined);\n }\n if (input.refunds.length) {\n return forkJoin(\n input.refunds.map(refund =>\n this.dataService.order.refundOrder(refund).pipe(map(res => res.refundOrder)),\n ),\n );\n } else {\n return [undefined];\n }\n }),\n )\n .subscribe(results => {\n for (const result of results ?? []) {\n if (result) {\n switch (result.__typename) {\n case 'Refund':\n if (result.state === 'Failed') {\n this.notificationService.error(_('order.refund-order-failed'));\n } else {\n this.notificationService.success(_('order.refund-order-success'));\n }\n break;\n case 'AlreadyRefundedError':\n case 'NothingToRefundError':\n case 'PaymentOrderMismatchError':\n case 'RefundOrderStateError':\n case 'RefundStateTransitionError':\n this.notificationService.error(result.message);\n break;\n }\n }\n }\n this.refetchOrder(results?.[0]).subscribe();\n });\n }\n\n private refetchOrder(result: object | undefined): Observable<GetOrderQuery | undefined> {\n this.fetchHistory.next();\n if (result) {\n return this.dataService.order.getOrder(this.id).single$;\n } else {\n return of(undefined);\n }\n }\n\n protected setFormValues(entity: OrderDetailFragment): void {\n if (this.customFields.length) {\n this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), entity);\n }\n }\n}\n", "<vdr-page-block>\n <vdr-action-bar *ngIf=\"entity$ | async as order\">\n <vdr-ab-left> </vdr-ab-left>\n\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"order-detail\"></vdr-action-bar-items>\n <button\n class=\"button primary mr-1\"\n *ngIf=\"\n order.type !== 'Aggregate' &&\n (order.state === 'ArrangingPayment' || order.state === 'ArrangingAdditionalPayment') &&\n (hasUnsettledModifications(order) || 0 < outstandingPaymentAmount(order))\n \"\n (click)=\"addManualPayment(order)\"\n >\n {{ 'order.add-payment-to-order' | translate }}\n ({{ outstandingPaymentAmount(order) | localeCurrency : order.currencyCode }})\n </button>\n <button\n class=\"button primary mr-1\"\n *ngIf=\"\n order.type !== 'Aggregate' &&\n order.active === false &&\n order.state !== 'ArrangingAdditionalPayment' &&\n order.state !== 'ArrangingPayment' &&\n 0 < outstandingPaymentAmount(order)\n \"\n (click)=\"transitionToState('ArrangingAdditionalPayment')\"\n >\n {{ 'order.arrange-additional-payment' | translate }}\n </button>\n <button\n *ngIf=\"order.type !== 'Aggregate'\"\n class=\"button primary mr-1\"\n (click)=\"fulfillOrder()\"\n [disabled]=\"!canAddFulfillment(order)\"\n >\n {{ 'order.fulfill-order' | translate }}\n </button>\n <vdr-action-bar-dropdown-menu [alwaysShow]=\"true\" locationId=\"order-detail\">\n <ng-container *ngIf=\"order.type !== 'Aggregate' && order.nextStates.includes('Modifying')\">\n <button type=\"button\" vdrDropdownItem (click)=\"transitionToModifying()\">\n <clr-icon shape=\"pencil\"></clr-icon>\n {{ 'order.modify-order' | translate }}\n </button>\n <div class=\"dropdown-divider\"></div>\n </ng-container>\n <button\n type=\"button\"\n vdrDropdownItem\n *ngIf=\"order.type !== 'Aggregate' && order.nextStates.includes('Cancelled')\"\n (click)=\"cancelOrRefund(order)\"\n >\n <clr-icon shape=\"error-standard\" class=\"is-error\"></clr-icon>\n <ng-container *ngIf=\"orderHasSettledPayments(order); else cancelOnly\">\n {{ 'order.refund-and-cancel-order' | translate }}\n </ng-container>\n <ng-template #cancelOnly>\n {{ 'order.cancel-order' | translate }}\n </ng-template>\n </button>\n\n <ng-container *ngIf=\"(nextStates$ | async)?.length\">\n <div class=\"dropdown-divider\"></div>\n <button\n *ngFor=\"let nextState of nextStates$ | async\"\n type=\"button\"\n vdrDropdownItem\n (click)=\"transitionToState(nextState)\"\n >\n <clr-icon shape=\"step-forward-2\"></clr-icon>\n {{\n 'order.transition-to-state'\n | translate : { state: (nextState | stateI18nToken | translate) }\n }}\n </button>\n </ng-container>\n <div class=\"dropdown-divider\"></div>\n <button type=\"button\" vdrDropdownItem (click)=\"manuallyTransitionToState(order)\">\n <clr-icon shape=\"step-forward-2\" class=\"is-warning\"></clr-icon>\n {{ 'order.manually-transition-to-state' | translate }}\n </button>\n </vdr-action-bar-dropdown-menu>\n </vdr-ab-right>\n </vdr-action-bar>\n</vdr-page-block>\n\n<vdr-page-detail-layout *ngIf=\"entity$ | async as order\">\n <vdr-page-detail-sidebar>\n <vdr-card [title]=\"'order.state' | translate\">\n <ng-template vdrCardControls>\n <button\n class=\"button-small\"\n (click)=\"openStateDiagram()\"\n [title]=\"'order.order-state-diagram' | translate\"\n >\n <clr-icon shape=\"list\"></clr-icon>\n </button>\n </ng-template>\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\n </vdr-card>\n <vdr-card [title]=\"'order.customer' | translate\">\n <ng-template vdrCardControls>\n <button\n *vdrIfPermissions=\"['UpdateOrder', 'ReadCustomer']\"\n class=\"button-small\"\n (click)=\"setOrderCustomer()\"\n [title]=\"'order.assign-order-to-another-customer' | translate\"\n >\n <clr-icon shape=\"switch\"></clr-icon>\n </button>\n </ng-template>\n <vdr-customer-label [customer]=\"order.customer\"></vdr-customer-label>\n <vdr-labeled-data\n class=\"mt-2\"\n [label]=\"'order.shipping-address' | translate\"\n *ngIf=\"getOrderAddressLines(order.shippingAddress).length\"\n >\n <vdr-formatted-address [address]=\"order.shippingAddress\" class=\"mt-1\"></vdr-formatted-address>\n </vdr-labeled-data>\n <vdr-labeled-data\n [label]=\"'order.billing-address' | translate\"\n *ngIf=\"getOrderAddressLines(order.billingAddress).length\"\n >\n <vdr-formatted-address [address]=\"order.billingAddress\" class=\"mt-1\"></vdr-formatted-address>\n </vdr-labeled-data>\n </vdr-card>\n <vdr-card [title]=\"'order.payments' | translate\" *ngIf=\"order.payments?.length\">\n <vdr-order-payment-card\n *ngFor=\"let payment of order.payments\"\n [currencyCode]=\"order.currencyCode\"\n [payment]=\"payment\"\n (settlePayment)=\"settlePayment($event)\"\n (transitionPaymentState)=\"transitionPaymentState($event)\"\n (settleRefund)=\"settleRefund($event)\"\n ></vdr-order-payment-card>\n </vdr-card>\n <vdr-card *ngIf=\"order.fulfillments?.length\">\n <vdr-fulfillment-card\n *ngFor=\"let fulfillment of order.fulfillments\"\n [fulfillment]=\"fulfillment\"\n [order]=\"order\"\n (transitionState)=\"transitionFulfillment(fulfillment.id, $event)\"\n ></vdr-fulfillment-card>\n </vdr-card>\n <vdr-card>\n <vdr-page-entity-info *ngIf=\"entity$ | async as entity\" [entity]=\"entity\" />\n </vdr-card>\n </vdr-page-detail-sidebar>\n\n <vdr-page-block>\n <vdr-seller-orders-card\n class=\"mb-2\"\n *ngIf=\"order.sellerOrders.length\"\n [orderId]=\"order.id\"\n ></vdr-seller-orders-card>\n <vdr-card [paddingX]=\"false\">\n <vdr-order-table\n [order]=\"order\"\n [orderLineCustomFields]=\"orderLineCustomFields\"\n ></vdr-order-table>\n </vdr-card>\n <vdr-card [title]=\"'order.tax-summary' | translate\" [paddingX]=\"false\">\n <table class=\"table\">\n <thead>\n <tr>\n <th>{{ 'common.description' | translate }}</th>\n <th>{{ 'order.tax-rate' | translate }}</th>\n <th>{{ 'order.tax-base' | translate }}</th>\n <th>{{ 'order.tax-total' | translate }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of order.taxSummary\">\n <td>{{ row.description }}</td>\n <td>{{ row.taxRate / 100 | percent : '0.0-3' }}</td>\n <td>{{ row.taxBase | localeCurrency : order.currencyCode }}</td>\n <td>{{ row.taxTotal | localeCurrency : order.currencyCode }}</td>\n </tr>\n </tbody>\n </table>\n </vdr-card>\n <vdr-card [title]=\"'common.custom-fields' | translate\" *ngIf=\"customFields.length\">\n <vdr-tabbed-custom-fields\n entityName=\"Order\"\n [customFields]=\"customFields\"\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\n [readonly]=\"!('UpdateOrder' | hasPermission)\"\n />\n <button\n class=\"button primary\"\n (click)=\"updateCustomFields()\"\n [disabled]=\"\n detailForm.get('customFields')?.pristine || detailForm.get('customFields')?.invalid\n \"\n >\n {{ 'common.update' | translate }}\n </button>\n </vdr-card>\n <vdr-custom-detail-component-host\n locationId=\"order-detail\"\n [entity$]=\"entity$\"\n [detailForm]=\"detailForm\"\n ></vdr-custom-detail-component-host>\n\n <vdr-card [title]=\"'order.order-history' | translate\">\n <vdr-order-history\n [order]=\"order\"\n [history]=\"history$ | async\"\n (addNote)=\"addNote($event)\"\n (updateNote)=\"updateNote($event)\"\n (deleteNote)=\"deleteNote($event)\"\n ></vdr-order-history>\n </vdr-card>\n </vdr-page-block>\n</vdr-page-detail-layout>\n", "export const NODE_HEIGHT = 72;\n", "import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { NODE_HEIGHT } from './constants';\nimport { StateNode } from './types';\n\n@Component({\n selector: 'vdr-order-process-node',\n templateUrl: './order-process-node.component.html',\n styleUrls: ['./order-process-node.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderProcessNodeComponent implements OnChanges {\n @Input() node: StateNode;\n @Input() index: number;\n @Input() active: boolean;\n active$ = new BehaviorSubject<boolean>(false);\n activeTarget$ = new BehaviorSubject<boolean>(false);\n isCancellable = false;\n // We use a class field here to prevent the\n // i18n extractor from extracting a \"Cancelled\" key\n cancelledState = 'Cancelled';\n\n constructor(private elementRef: ElementRef<HTMLDivElement>) {}\n\n ngOnChanges(changes: SimpleChanges) {\n this.isCancellable = !!this.node.to.find(s => s.name === 'Cancelled');\n if (changes.active) {\n this.active$.next(this.active);\n }\n }\n\n getPos(origin: 'top' | 'bottom' = 'top'): { x: number; y: number } {\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n const nodeHeight =\n this.elementRef.nativeElement.querySelector('.node')?.getBoundingClientRect().height ?? 0;\n return {\n x: 10,\n y: this.index * NODE_HEIGHT + (origin === 'bottom' ? nodeHeight : 0),\n };\n }\n\n getStyle() {\n const pos = this.getPos();\n return {\n 'top.px': pos.y,\n 'left.px': pos.x,\n };\n }\n}\n", "<div class=\"node-wrapper\" [ngStyle]=\"getStyle()\" [class.active]=\"active$ | async\">\n <div\n class=\"node\"\n [class.active-target]=\"activeTarget$ | async\"\n >\n {{ node.name | stateI18nToken | translate }}\n </div>\n <div class=\"cancelled-wrapper\" *ngIf=\"isCancellable\">\n <div class=\"cancelled-edge\">\n </div>\n <clr-icon shape=\"dot-circle\"></clr-icon>\n <div class=\"cancelled-node\">\n {{ cancelledState | stateI18nToken | translate }}\n </div>\n </div>\n</div>\n", "import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { OrderProcessNodeComponent } from './order-process-node.component';\n\n@Component({\n selector: 'vdr-order-process-edge',\n templateUrl: './order-process-edge.component.html',\n styleUrls: ['./order-process-edge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderProcessEdgeComponent implements OnInit {\n @Input() from: OrderProcessNodeComponent;\n @Input() to: OrderProcessNodeComponent;\n @Input() index: number;\n active$: Observable<boolean>;\n\n ngOnInit() {\n this.active$ = this.from.active$\n .asObservable()\n .pipe(tap(active => this.to.activeTarget$.next(active)));\n }\n\n getStyle() {\n const direction = this.from.index < this.to.index ? 'down' : 'up';\n const startPos = this.from.getPos(direction === 'down' ? 'bottom' : 'top');\n const endPos = this.to.getPos(direction === 'down' ? 'top' : 'bottom');\n const dX = Math.abs(startPos.x - endPos.x);\n const dY = Math.abs(startPos.y - endPos.y);\n const length = Math.sqrt(dX ** 2 + dY ** 2);\n return {\n 'top.px': startPos.y,\n 'left.px': startPos.x + (direction === 'down' ? 10 : 40) + this.index * 12,\n 'height.px': length,\n 'width.px': 1,\n ...(direction === 'up'\n ? {\n transform: 'rotateZ(180deg)',\n 'transform-origin': 'top',\n }\n : {}),\n };\n }\n}\n", "<div\n [attr.data-from]=\"from.node.name\"\n [attr.data-to]=\"to.node.name\"\n [ngStyle]=\"getStyle()\"\n [class.active]=\"active$ | async\"\n class=\"edge\">\n <clr-icon shape=\"arrow\" flip=\"vertical\" class=\"arrow\"></clr-icon>\n</div>\n", "import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n SimpleChanges,\n ViewChildren,\n} from '@angular/core';\nimport { OrderProcessState } from '@vendure/admin-ui/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { NODE_HEIGHT } from './constants';\nimport { OrderProcessNodeComponent } from './order-process-node.component';\nimport { StateNode } from './types';\n\n@Component({\n selector: 'vdr-order-process-graph',\n templateUrl: './order-process-graph.component.html',\n styleUrls: ['./order-process-graph.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderProcessGraphComponent implements OnInit, OnChanges, AfterViewInit {\n @Input() states: OrderProcessState[];\n @Input() initialState?: string;\n setActiveState$ = new BehaviorSubject<string | undefined>(undefined);\n activeState$: Observable<string | undefined>;\n nodes: StateNode[] = [];\n edges: Array<{ from: OrderProcessNodeComponent; to: OrderProcessNodeComponent; index: number }> = [];\n\n @ViewChildren(OrderProcessNodeComponent) nodeComponents: QueryList<OrderProcessNodeComponent>;\n\n constructor(private changeDetector: ChangeDetectorRef) {}\n\n @HostBinding('style.height.px')\n get outerHeight(): number {\n return this.nodes.length * NODE_HEIGHT;\n }\n\n ngOnInit() {\n this.setActiveState$.next(this.initialState);\n this.activeState$ = this.setActiveState$.pipe(debounceTime(150));\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.populateNodes();\n }\n\n ngAfterViewInit() {\n setTimeout(() => this.populateEdges());\n }\n\n onMouseOver(stateName: string) {\n this.setActiveState$.next(stateName);\n }\n\n onMouseOut() {\n this.setActiveState$.next(this.initialState);\n }\n\n getNodeFor(state: string): OrderProcessNodeComponent | undefined {\n if (this.nodeComponents) {\n return this.nodeComponents.find(n => n.node.name === state);\n }\n }\n\n private populateNodes() {\n const stateNodeMap = new Map<string, StateNode>();\n for (const state of this.states) {\n stateNodeMap.set(state.name, {\n name: state.name,\n to: [],\n });\n }\n\n for (const [name, stateNode] of stateNodeMap.entries()) {\n const targets = this.states.find(s => s.name === name)?.to ?? [];\n for (const target of targets) {\n const targetNode = stateNodeMap.get(target);\n if (targetNode) {\n stateNode.to.push(targetNode);\n }\n }\n }\n this.nodes = [...stateNodeMap.values()].filter(n => n.name !== 'Cancelled');\n }\n\n private populateEdges() {\n for (const node of this.nodes) {\n const nodeCmp = this.getNodeFor(node.name);\n let index = 0;\n for (const to of node.to) {\n const toCmp = this.getNodeFor(to.name);\n if (nodeCmp && toCmp && nodeCmp !== toCmp) {\n this.edges.push({\n to: toCmp,\n from: nodeCmp,\n index,\n });\n index++;\n }\n }\n }\n this.edges = [...this.edges];\n this.changeDetector.markForCheck();\n }\n}\n", "<ng-container *ngFor=\"let state of nodes; let i = index\">\n <vdr-order-process-node\n [node]=\"state\"\n [index]=\"i\"\n [active]=\"(activeState$ | async) === state.name\"\n (mouseenter)=\"onMouseOver(state.name)\"\n (mouseleave)=\"onMouseOut()\"\n ></vdr-order-process-node>\n</ng-container>\n<ng-container *ngFor=\"let edge of edges\">\n <vdr-order-process-edge [from]=\"edge.from\" [to]=\"edge.to\" [index]=\"edge.index\"></vdr-order-process-edge>\n</ng-container>\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport {\n CancelOrderInput,\n DataService,\n Dialog,\n OrderProcessState,\n ServerConfigService,\n} from '@vendure/admin-ui/core';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'vdr-order-process-graph-dialog',\n templateUrl: './order-process-graph-dialog.component.html',\n styleUrls: ['./order-process-graph-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderProcessGraphDialogComponent implements OnInit, Dialog<void> {\n activeState: string;\n states: OrderProcessState[] = [];\n constructor(private serverConfigService: ServerConfigService) {}\n\n ngOnInit(): void {\n this.states = this.serverConfigService.getOrderProcessStates();\n }\n\n resolveWith: (result: void | undefined) => void;\n}\n", "<ng-template vdrDialogTitle>{{ 'order.order-state-diagram' | translate }}</ng-template>\n\n<vdr-order-process-graph [states]=\"states\" [initialState]=\"activeState\"></vdr-order-process-graph>\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n CancelOrderInput,\n Dialog,\n getAppConfig,\n I18nService,\n OrderDetailFragment,\n OrderLineInput,\n PaymentWithRefundsFragment,\n RefundOrderInput,\n} from '@vendure/admin-ui/core';\nimport { summate } from '@vendure/common/lib/shared-utils';\nimport { getRefundablePayments, RefundablePayment } from '../../common/get-refundable-payments';\n\ntype SelectionLine = { quantity: number; cancel: boolean };\n\n@Component({\n selector: 'vdr-refund-order-dialog',\n templateUrl: './refund-order-dialog.component.html',\n styleUrls: ['./refund-order-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class RefundOrderDialogComponent\n implements OnInit, Dialog<{ cancel: CancelOrderInput; refunds: RefundOrderInput[] }>\n{\n order: OrderDetailFragment;\n resolveWith: (result?: { cancel: CancelOrderInput; refunds: RefundOrderInput[] }) => void;\n reason: string;\n lineQuantities: { [lineId: string]: SelectionLine } = {};\n refundablePayments: RefundablePayment[] = [];\n refundShippingLineIds: string[] = [];\n reasons = getAppConfig().cancellationReasons ?? [\n _('order.refund-reason-customer-request'),\n _('order.refund-reason-not-available'),\n ];\n manuallySetRefundTotal = false;\n refundTotal = 0;\n\n constructor(private i18nService: I18nService) {\n this.reasons = this.reasons.map(r => this.i18nService.translate(r));\n }\n\n get totalRefundableAmount(): number {\n return summate(this.refundablePayments, 'refundableAmount');\n }\n\n get amountToRefundTotal(): number {\n return this.refundablePayments.reduce(\n (total, payment) => total + payment.amountToRefundControl.value,\n 0,\n );\n }\n\n lineCanBeRefundedOrCancelled(line: OrderDetailFragment['lines'][number]): boolean {\n const refundedCount =\n this.order.payments\n ?.reduce(\n (all, payment) => [...all, ...payment.refunds],\n [] as PaymentWithRefundsFragment['refunds'],\n )\n .filter(refund => refund.state !== 'Failed')\n .reduce(\n (all, refund) => [...all, ...refund.lines],\n [] as Array<{ orderLineId: string; quantity: number }>,\n )\n .filter(refundLine => refundLine.orderLineId === line.id)\n .reduce((sum, refundLine) => sum + refundLine.quantity, 0) ?? 0;\n\n return refundedCount < line.orderPlacedQuantity;\n }\n\n ngOnInit() {\n this.lineQuantities = this.order.lines.reduce(\n (result, line) => ({\n ...result,\n [line.id]: {\n quantity: 0,\n refund: true,\n cancel: false,\n },\n }),\n {},\n );\n this.refundablePayments = getRefundablePayments(this.order.payments);\n }\n\n updateRefundTotal() {\n if (!this.manuallySetRefundTotal) {\n const itemTotal = this.order.lines.reduce((total, line) => {\n const lineRef = this.lineQuantities[line.id];\n const refundCount = lineRef.quantity || 0;\n return total + line.proratedUnitPriceWithTax * refundCount;\n }, 0);\n const shippingTotal = this.order.shippingLines.reduce((total, line) => {\n if (this.refundShippingLineIds.includes(line.id)) {\n return total + line.discountedPriceWithTax;\n } else {\n return total;\n }\n }, 0);\n this.refundTotal = itemTotal + shippingTotal;\n }\n\n // allocate the refund total across the refundable payments\n const refundablePayments = this.refundablePayments.filter(p => p.selected);\n let refundsAllocated = 0;\n for (const payment of refundablePayments) {\n const amountToRefund = Math.min(payment.refundableAmount, this.refundTotal - refundsAllocated);\n payment.amountToRefundControl.setValue(amountToRefund);\n refundsAllocated += amountToRefund;\n }\n }\n\n toggleShippingRefund(lineId: string) {\n const index = this.refundShippingLineIds.indexOf(lineId);\n if (index === -1) {\n this.refundShippingLineIds.push(lineId);\n } else {\n this.refundShippingLineIds.splice(index, 1);\n }\n this.updateRefundTotal();\n }\n\n onRefundQuantityChange(orderLineId: string, quantity: number) {\n this.manuallySetRefundTotal = false;\n const selectionLine = this.lineQuantities[orderLineId];\n if (selectionLine) {\n const previousQuantity = selectionLine.quantity;\n if (quantity === 0) {\n selectionLine.cancel = false;\n } else if (previousQuantity === 0 && quantity > 0) {\n selectionLine.cancel = true;\n }\n selectionLine.quantity = quantity;\n this.updateRefundTotal();\n }\n }\n\n onPaymentSelected(payment: RefundablePayment, selected: boolean) {\n if (selected) {\n const outstandingRefundAmount =\n this.refundTotal -\n this.refundablePayments\n .filter(p => p.id !== payment.id)\n .reduce((total, p) => total + p.amountToRefundControl.value, 0);\n if (0 < outstandingRefundAmount) {\n payment.amountToRefundControl.setValue(\n Math.min(outstandingRefundAmount, payment.refundableAmount),\n );\n }\n } else {\n payment.amountToRefundControl.setValue(0);\n }\n }\n\n isRefunding(): boolean {\n const result = Object.values(this.lineQuantities).reduce(\n (isRefunding, line) => isRefunding || 0 < line.quantity,\n false,\n );\n return result;\n }\n\n isCancelling(): boolean {\n const result = Object.values(this.lineQuantities).reduce(\n (isCancelling, line) => isCancelling || (0 < line.quantity && line.cancel),\n false,\n );\n return result;\n }\n\n canSubmit(): boolean {\n return 0 < this.refundTotal && this.amountToRefundTotal === this.refundTotal && !!this.reason;\n }\n\n select() {\n const refundLines = this.getOrderLineInput(() => true);\n const cancelLines = this.getOrderLineInput(line => line.cancel);\n\n this.resolveWith({\n refunds: this.refundablePayments\n .filter(rp => rp.selected && 0 < rp.amountToRefundControl.value)\n .map(payment => {\n return {\n lines: refundLines,\n reason: this.reason,\n paymentId: payment.id,\n amount: payment.amountToRefundControl.value,\n shipping: 0,\n adjustment: 0,\n };\n }),\n cancel: {\n lines: cancelLines,\n orderId: this.order.id,\n reason: this.reason,\n cancelShipping: this.refundShippingLineIds.length > 0,\n },\n });\n }\n\n cancel() {\n this.resolveWith();\n }\n\n private getOrderLineInput(filterFn: (line: SelectionLine) => boolean): OrderLineInput[] {\n return Object.entries(this.lineQuantities)\n .filter(([orderLineId, line]) => 0 < line.quantity && filterFn(line))\n .map(([orderLineId, line]) => ({\n orderLineId,\n quantity: line.quantity,\n }));\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.refund-and-cancel-order' | translate }}</ng-template>\n\n<div class=\"refund-wrapper\">\n <vdr-data-table-2 id=\"refund-order\" [items]=\"order.lines\">\n <!-- Here we define all the available columns -->\n <vdr-dt2-column id=\"id\" [heading]=\"'common.id' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"created-at\" [heading]=\"'common.created-at' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.createdAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"updated-at\" [heading]=\"'common.updated-at' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.updatedAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.image' | translate\" id=\"image\">\n <ng-template let-line=\"item\">\n <div class=\"image-placeholder\">\n <img\n *ngIf=\"line.featuredAsset as asset; else imagePlaceholder\"\n [src]=\"asset | assetPreview : 'tiny'\"\n />\n <ng-template #imagePlaceholder>\n <div class=\"placeholder\">\n <clr-icon shape=\"image\" size=\"48\"></clr-icon>\n </div>\n </ng-template>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"product-name\" [heading]=\"'order.product-name' | translate\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.name }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"product-sku\" [heading]=\"'order.product-sku' | translate\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.sku }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"unit-price\" [heading]=\"'order.unit-price' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.unitPriceWithTax | localeCurrency : order.currencyCode }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"prorated-unit-price\" [heading]=\"'order.prorated-unit-price' | translate\">\n <ng-template let-line=\"item\">\n {{ line.proratedUnitPriceWithTax | localeCurrency : order.currencyCode }}\n <ng-container *ngIf=\"line.discounts as discounts\">\n <vdr-dropdown *ngIf=\"discounts.length\">\n <div class=\"promotions-label\" vdrDropdownTrigger>\n <button class=\"icon-button\"><clr-icon shape=\"info\"></clr-icon></button>\n </div>\n <vdr-dropdown-menu>\n <div class=\"line-promotion\" *ngFor=\"let discount of discounts\">\n {{ discount.description }}\n <div class=\"promotion-amount\">\n {{\n discount.amount / 100 / line.quantity\n | number : '1.0-2'\n | currency : order.currencyCode\n }}\n </div>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-container>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"quantity\" [heading]=\"'order.quantity' | translate\">\n <ng-template let-line=\"item\">\n {{ line.quantity }}\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"refund-quantity\" [heading]=\"'order.refund' | translate\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <input\n *ngIf=\"lineCanBeRefundedOrCancelled(line)\"\n [ngModel]=\"lineQuantities[line.id].quantity\"\n type=\"number\"\n [max]=\"line.quantity\"\n min=\"0\"\n (ngModelChange)=\"onRefundQuantityChange(line.id, $event)\"\n />\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"cancel\" [heading]=\"'order.return-to-stock' | translate\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <div class=\"cancel-checkbox-wrapper\">\n <label class=\"flex center\">\n <input\n type=\"checkbox\"\n *ngIf=\"lineCanBeRefundedOrCancelled(line)\"\n clrCheckbox\n [disabled]=\"0 === lineQuantities[line.id].quantity\"\n [(ngModel)]=\"lineQuantities[line.id].cancel\"\n />\n <span class=\"ml-1\">{{ 'order.return-to-stock' | translate }}</span></label\n >\n </div>\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n\n <div class=\"refund-details mt-4\">\n <div>\n <vdr-card>\n <label class=\"flex mb-2\" *ngFor=\"let shippingLine of order.shippingLines\">\n <input type=\"checkbox\" clrCheckbox (change)=\"toggleShippingRefund(shippingLine.id)\" />\n <div class=\"ml-1\">\n {{ 'order.refund-shipping' | translate }}\n <span>{{ shippingLine.shippingMethod.name }}:</span>\n <span class=\"ml-1\"\n >{{ shippingLine.discountedPriceWithTax | localeCurrency : order.currencyCode }}\n </span>\n </div></label\n >\n <vdr-form-field [label]=\"'order.refund-cancellation-reason' | translate\" class=\"mb-2\">\n <ng-select\n [items]=\"reasons\"\n bindLabel=\"name\"\n autofocus\n [placeholder]=\"'order.refund-cancellation-reason-required' | translate\"\n bindValue=\"id\"\n [addTag]=\"true\"\n [(ngModel)]=\"reason\"\n ></ng-select>\n </vdr-form-field>\n <vdr-form-field\n [label]=\"'order.refund-total' | translate\"\n [readOnlyToggle]=\"true\"\n (readOnlyToggleChange)=\"manuallySetRefundTotal = !$event\"\n >\n <vdr-currency-input\n [readonly]=\"!manuallySetRefundTotal\"\n [currencyCode]=\"order.currencyCode\"\n [(ngModel)]=\"refundTotal\"\n (ngModelChange)=\"updateRefundTotal()\"\n ></vdr-currency-input>\n </vdr-form-field>\n </vdr-card>\n </div>\n <div class=\"\">\n <vdr-payment-for-refund-selector\n [refundablePayments]=\"refundablePayments\"\n (paymentSelected)=\"onPaymentSelected($event.payment, $event.selected)\"\n [order]=\"order\"\n ></vdr-payment-for-refund-selector>\n </div>\n </div>\n</div>\n\n<ng-template vdrDialogButtons>\n <div>\n <div class=\"errors\">\n <clr-alert\n *ngIf=\"refundTotal < 0 || totalRefundableAmount < refundTotal\"\n [clrAlertType]=\"'danger'\"\n [clrAlertClosable]=\"false\"\n >\n <clr-alert-item>\n {{\n 'order.refund-total-error'\n | translate\n : {\n min: 0 | currency : order.currencyCode,\n max: totalRefundableAmount | localeCurrency : order.currencyCode\n }\n }}\n </clr-alert-item>\n </clr-alert>\n <clr-alert\n *ngIf=\"amountToRefundTotal < refundTotal || refundTotal < amountToRefundTotal\"\n [clrAlertType]=\"'danger'\"\n [clrAlertClosable]=\"false\"\n >\n <clr-alert-item>\n {{ 'order.refund-total-warning' | translate }}\n </clr-alert-item>\n </clr-alert>\n <clr-alert\n *ngIf=\"amountToRefundTotal && !reason\"\n [clrAlertType]=\"'danger'\"\n [clrAlertClosable]=\"false\"\n >\n <clr-alert-item>\n {{ 'order.refund-cancellation-reason-required' | translate }}\n </clr-alert-item>\n </clr-alert>\n </div>\n <div class=\"modal-buttons\">\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button type=\"submit\" (click)=\"select()\" [disabled]=\"!canSubmit()\" class=\"btn btn-primary\">\n {{\n 'order.refund-with-amount'\n | translate : { amount: amountToRefundTotal | localeCurrency : order.currencyCode }\n }}\n </button>\n </div>\n </div>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { OrderDetailFragment } from '@vendure/admin-ui/core';\nimport { RefundablePayment } from '../../common/get-refundable-payments';\n\n@Component({\n selector: 'vdr-payment-for-refund-selector',\n templateUrl: './payment-for-refund-selector.component.html',\n styleUrls: ['./payment-for-refund-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.Default,\n standalone: false\n})\nexport class PaymentForRefundSelectorComponent {\n @Input() refundablePayments: RefundablePayment[];\n @Input() order: OrderDetailFragment;\n @Output() paymentSelected = new EventEmitter<{ payment: RefundablePayment; selected: boolean }>();\n}\n", "<vdr-card\n [title]=\"'order.payment' | translate\"\n [class.selected]=\"payment.selected\"\n [class.unselected]=\"!payment.selected\"\n *ngFor=\"let payment of refundablePayments\"\n>\n <ng-template vdrCardControls>\n <vdr-select-toggle\n size=\"small\"\n [title]=\"'order.refund-this-payment' | translate\"\n [label]=\"'order.refund-this-payment' | translate\"\n [disabled]=\"refundablePayments.length === 1\"\n [(selected)]=\"payment.selected\"\n (selectedChange)=\"paymentSelected.emit({ payment: payment, selected: $event })\"\n ></vdr-select-toggle>\n </ng-template>\n <div class=\"form-grid\">\n <vdr-labeled-data [label]=\"'order.payment-method' | translate\">\n {{ payment.method }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.transaction-id' | translate\">\n {{ payment.transactionId }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.payment-amount' | translate\">\n {{ payment.amount | localeCurrency : order.currencyCode }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.refundable-amount' | translate\">\n {{ payment.refundableAmount | localeCurrency : order.currencyCode }}\n </vdr-labeled-data>\n </div>\n <vdr-form-field [label]=\"'order.refund-amount' | translate\">\n <vdr-currency-input\n [readonly]=\"!payment.selected\"\n [currencyCode]=\"order.currencyCode\"\n [formControl]=\"payment.amountToRefundControl\"\n ></vdr-currency-input>\n </vdr-form-field>\n</vdr-card>", "import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { Dialog, OrderDetailFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-settle-refund-dialog',\n templateUrl: './settle-refund-dialog.component.html',\n styleUrls: ['./settle-refund-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class SettleRefundDialogComponent implements Dialog<string> {\n resolveWith: (result?: string) => void;\n transactionId = '';\n refund: NonNullable<OrderDetailFragment['payments']>[number]['refunds'][number];\n\n submit() {\n this.resolveWith(this.transactionId);\n }\n\n cancel() {\n this.resolveWith();\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.settle-refund' | translate }}</ng-template>\n<p class=\"instruction\">\n {{ 'order.settle-refund-manual-instructions' | translate: { method: refund.method } }}\n</p>\n<clr-input-container>\n <label>{{ 'order.transaction-id' | translate }}</label>\n <input clrInput name=\"transactionId\" [(ngModel)]=\"transactionId\" />\n</clr-input-container>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button type=\"submit\" (click)=\"submit()\" [disabled]=\"!transactionId\" class=\"btn btn-primary\">\n {{ 'order.settle-refund' | translate }}\n </button>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'vdr-payment-state-label',\n templateUrl: './payment-state-label.component.html',\n styleUrls: ['./payment-state-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class PaymentStateLabelComponent {\n @Input() state: string;\n\n get chipColorType() {\n switch (this.state) {\n case 'Authorized':\n return 'warning';\n case 'Settled':\n return 'success';\n case 'Declined':\n case 'Cancelled':\n return 'error';\n }\n }\n}\n", "<vdr-chip [title]=\"'order.payment-state' | translate\" [colorType]=\"chipColorType\">\n <clr-icon shape=\"check-circle\" *ngIf=\"state === 'Settled'\"></clr-icon>\n {{ state | stateI18nToken | translate }}\n</vdr-chip>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'vdr-refund-state-label',\n templateUrl: './refund-state-label.component.html',\n styleUrls: ['./refund-state-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class RefundStateLabelComponent {\n @Input() state: string;\n\n get chipColorType() {\n switch (this.state) {\n case 'Pending':\n return 'warning';\n case 'Settled':\n return 'success';\n case 'Failed':\n return 'error';\n }\n }\n}\n", "<vdr-chip [title]=\"'order.payment-state' | translate\" [colorType]=\"chipColorType\">\n <clr-icon shape=\"check-circle\" *ngIf=\"state === 'Settled'\"></clr-icon>\n {{ state | stateI18nToken | translate }}\n</vdr-chip>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CurrencyCode, OrderDetailFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-payment-detail',\n templateUrl: './payment-detail.component.html',\n styleUrls: ['./payment-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class PaymentDetailComponent {\n @Input() payment: NonNullable<OrderDetailFragment['payments']>[number];\n @Input() currencyCode: CurrencyCode;\n}\n", "<vdr-labeled-data [label]=\"'order.payment-method' | translate\">\n {{ payment.method }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.amount' | translate\">\n {{ payment.amount | localeCurrency: currencyCode }}\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"payment.errorMessage\" [label]=\"'order.error-message' | translate\">\n {{ payment.errorMessage }}\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"payment.transactionId\" [label]=\"'order.transaction-id' | translate\">\n {{ payment.transactionId }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.payment-metadata' | translate\">\n <vdr-object-tree [value]=\"payment.metadata\"></vdr-object-tree>\n</vdr-labeled-data>\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CurrencyCode, OrderDetailFragment } from '@vendure/admin-ui/core';\n\ntype Payment = NonNullable<OrderDetailFragment['payments']>[number];\n\n@Component({\n selector: 'vdr-order-payment-card',\n templateUrl: './order-payment-card.component.html',\n styleUrls: ['./order-payment-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderPaymentCardComponent {\n @Input() payment: Payment;\n @Input() currencyCode: CurrencyCode;\n @Output() settlePayment = new EventEmitter<Payment>();\n @Output() transitionPaymentState = new EventEmitter<{ payment: Payment; state: string }>();\n @Output() settleRefund = new EventEmitter<Payment['refunds'][number]>();\n\n refundHasMetadata(refund?: Payment['refunds'][number]): boolean {\n return !!refund && Object.keys(refund.metadata).length > 0;\n }\n\n nextOtherStates(): string[] {\n if (!this.payment) {\n return [];\n }\n return this.payment.nextStates.filter(s => s !== 'Settled' && s !== 'Error');\n }\n}\n", "<div class=\"card\">\n <div class=\"card-header payment-header\">\n <div>\n {{ 'order.payment' | translate }}\n <ng-container *ngIf=\"payment.amount\">{{ payment.amount | localeCurrency : currencyCode }}</ng-container>\n </div>\n <div class=\"payment-state\">\n <vdr-payment-state-label [state]=\"payment.state\"></vdr-payment-state-label>\n </div>\n </div>\n <div class=\"card-block\">\n <vdr-payment-detail [payment]=\"payment\" [currencyCode]=\"currencyCode\"></vdr-payment-detail>\n </div>\n <ng-container *ngFor=\"let refund of payment.refunds\">\n <div class=\"refund-wrapper card-block\">\n <div class=\"card-header payment-header refund-header\">\n <clr-icon shape=\"redo\" class=\"refund-icon\" dir=\"down\"></clr-icon>\n {{ 'order.refund' | translate }} #{{ refund.id }}\n <div class=\"clr-flex-fill\"></div>\n <vdr-refund-state-label [state]=\"refund.state\"></vdr-refund-state-label>\n </div>\n <div class=\"card-block\">\n <vdr-labeled-data [label]=\"'common.created-at' | translate\">\n {{ refund.createdAt | localeDate : 'medium' }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.refund-total' | translate\">\n {{ refund.total | localeCurrency : currencyCode }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.transaction-id' | translate\" *ngIf=\"refund.transactionId\">\n {{ refund.transactionId }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.refund-reason' | translate\" *ngIf=\"refund.reason\">\n {{ refund.reason }}\n </vdr-labeled-data>\n <vdr-labeled-data\n [label]=\"'order.refund-metadata' | translate\"\n *ngIf=\"refundHasMetadata(refund)\"\n >\n <vdr-object-tree [value]=\"refund.metadata\"></vdr-object-tree>\n </vdr-labeled-data>\n </div>\n <div class=\"card-footer\" *ngIf=\"refund.state === 'Pending'\">\n <button class=\"btn btn-sm btn-primary\" (click)=\"settleRefund.emit(refund)\">\n {{ 'order.settle-refund' | translate }}\n </button>\n </div>\n </div>\n </ng-container>\n <div class=\"card-footer\" *ngIf=\"payment.nextStates.length\">\n <button\n class=\"btn btn-sm btn-primary\"\n *ngIf=\"payment.nextStates.includes('Settled')\"\n (click)=\"settlePayment.emit(payment)\"\n >\n {{ 'order.settle-payment' | translate }}\n </button>\n <vdr-dropdown>\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <ng-container *ngFor=\"let nextState of nextOtherStates()\">\n <button\n type=\"button\"\n vdrDropdownItem\n (click)=\"transitionPaymentState.emit({ payment: payment, state: nextState })\"\n >\n <ng-container *ngIf=\"nextState !== 'Cancelled'; else cancel\">\n <clr-icon shape=\"step-forward-2\"></clr-icon>\n {{\n 'order.transition-to-state'\n | translate : { state: (nextState | stateI18nToken | translate) }\n }}\n </ng-container>\n <ng-template #cancel>\n <clr-icon shape=\"error-standard\" class=\"is-error\"></clr-icon>\n {{ 'order.cancel-payment' | translate }}\n </ng-template>\n </button>\n </ng-container>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </div>\n</div>\n", "import {\n Component,\n ComponentRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n HistoryEntryComponentService,\n OrderDetailFragment,\n OrderHistoryEntryComponent,\n TimelineHistoryEntry,\n} from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-order-history-entry-host',\n template: `\n <vdr-timeline-entry\n [displayType]=\"instance.getDisplayType(entry)\"\n [iconShape]=\"instance.getIconShape && instance.getIconShape(entry)\"\n [createdAt]=\"entry.createdAt\"\n [name]=\"instance.getName && instance.getName(entry)\"\n [featured]=\"instance.isFeatured(entry)\"\n [collapsed]=\"!expanded && !instance.isFeatured(entry)\"\n (expandClick)=\"expandClick.emit()\"\n >\n <div #portal></div>\n </vdr-timeline-entry>\n `,\n exportAs: 'historyEntry',\n standalone: false,\n})\nexport class OrderHistoryEntryHostComponent implements OnInit, OnDestroy {\n @Input() entry: TimelineHistoryEntry;\n @Input() order: OrderDetailFragment;\n @Input() expanded: boolean;\n @Output() expandClick = new EventEmitter<void>();\n @ViewChild('portal', { static: true, read: ViewContainerRef }) portalRef: ViewContainerRef;\n instance: OrderHistoryEntryComponent;\n private componentRef: ComponentRef<OrderHistoryEntryComponent>;\n\n constructor(private historyEntryComponentService: HistoryEntryComponentService) {}\n\n ngOnInit(): void {\n const componentType = this.historyEntryComponentService.getComponent(\n this.entry.type,\n ) as Type<OrderHistoryEntryComponent>;\n\n const componentRef = this.portalRef.createComponent(componentType);\n componentRef.instance.entry = this.entry;\n componentRef.instance.order = this.order;\n this.instance = componentRef.instance;\n this.componentRef = componentRef;\n }\n\n ngOnDestroy() {\n this.componentRef?.destroy();\n }\n}\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n HistoryEntryComponentService,\n HistoryEntryType,\n OrderDetailFragment,\n TimelineDisplayType,\n TimelineHistoryEntry,\n} from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-order-history',\n templateUrl: './order-history.component.html',\n styleUrls: ['./order-history.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderHistoryComponent {\n @Input() order: OrderDetailFragment;\n @Input() history: TimelineHistoryEntry[];\n @Output() addNote = new EventEmitter<{ note: string; isPublic: boolean }>();\n @Output() updateNote = new EventEmitter<TimelineHistoryEntry>();\n @Output() deleteNote = new EventEmitter<TimelineHistoryEntry>();\n note = '';\n noteIsPrivate = true;\n expanded = false;\n readonly type = HistoryEntryType;\n\n constructor(private historyEntryComponentService: HistoryEntryComponentService) {}\n\n hasCustomComponent(type: string): boolean {\n return !!this.historyEntryComponentService.getComponent(type);\n }\n\n getDisplayType(entry: TimelineHistoryEntry): TimelineDisplayType {\n if (entry.type === HistoryEntryType.ORDER_STATE_TRANSITION) {\n if (entry.data.to === 'Delivered') {\n return 'success';\n }\n if (entry.data.to === 'Cancelled') {\n return 'error';\n }\n }\n if (entry.type === HistoryEntryType.ORDER_FULFILLMENT_TRANSITION) {\n if (entry.data.to === 'Delivered') {\n return 'success';\n }\n }\n if (entry.type === HistoryEntryType.ORDER_PAYMENT_TRANSITION) {\n if (entry.data.to === 'Declined' || entry.data.to === 'Cancelled') {\n return 'error';\n }\n }\n if (entry.type === HistoryEntryType.ORDER_CANCELLATION) {\n return 'warning';\n }\n if (entry.type === HistoryEntryType.ORDER_REFUND_TRANSITION) {\n return 'warning';\n }\n return 'default';\n }\n\n getTimelineIcon(entry: TimelineHistoryEntry) {\n if (entry.type === HistoryEntryType.ORDER_STATE_TRANSITION) {\n if (entry.data.to === 'Delivered') {\n return ['success-standard', 'is-solid'];\n }\n if (entry.data.to === 'Cancelled') {\n return 'ban';\n }\n }\n if (entry.type === HistoryEntryType.ORDER_PAYMENT_TRANSITION) {\n if (entry.data.to === 'Settled') {\n return 'credit-card';\n }\n }\n if (entry.type === HistoryEntryType.ORDER_REFUND_TRANSITION) {\n if (entry.data.to === 'Settled') {\n return 'credit-card';\n }\n }\n if (entry.type === HistoryEntryType.ORDER_NOTE) {\n return 'note';\n }\n if (entry.type === HistoryEntryType.ORDER_MODIFIED) {\n return 'pencil';\n }\n if (entry.type === HistoryEntryType.ORDER_CUSTOMER_UPDATED) {\n return 'switch';\n }\n if (entry.type === HistoryEntryType.ORDER_FULFILLMENT_TRANSITION) {\n if (entry.data.to === 'Shipped') {\n return 'truck';\n }\n if (entry.data.to === 'Delivered') {\n return 'truck';\n }\n }\n }\n\n isFeatured(entry: TimelineHistoryEntry): boolean {\n switch (entry.type) {\n case HistoryEntryType.ORDER_STATE_TRANSITION: {\n return (\n entry.data.to === 'Delivered' ||\n entry.data.to === 'Cancelled' ||\n entry.data.to === 'Settled'\n );\n }\n case HistoryEntryType.ORDER_REFUND_TRANSITION:\n return entry.data.to === 'Settled';\n case HistoryEntryType.ORDER_PAYMENT_TRANSITION:\n return entry.data.to === 'Settled' || entry.data.to === 'Cancelled';\n case HistoryEntryType.ORDER_FULFILLMENT_TRANSITION:\n return entry.data.to === 'Delivered' || entry.data.to === 'Shipped';\n case HistoryEntryType.ORDER_NOTE:\n case HistoryEntryType.ORDER_MODIFIED:\n case HistoryEntryType.ORDER_CUSTOMER_UPDATED:\n return true;\n default:\n return false;\n }\n }\n\n getFulfillment(\n entry: TimelineHistoryEntry,\n ): NonNullable<OrderDetailFragment['fulfillments']>[number] | undefined {\n if (\n (entry.type === HistoryEntryType.ORDER_FULFILLMENT ||\n entry.type === HistoryEntryType.ORDER_FULFILLMENT_TRANSITION) &&\n this.order.fulfillments\n ) {\n return this.order.fulfillments.find(f => f.id === entry.data.fulfillmentId);\n }\n }\n\n getPayment(\n entry: TimelineHistoryEntry,\n ): NonNullable<OrderDetailFragment['payments']>[number] | undefined {\n if (entry.type === HistoryEntryType.ORDER_PAYMENT_TRANSITION && this.order.payments) {\n return this.order.payments.find(p => p.id === entry.data.paymentId);\n }\n }\n\n getRefund(\n entry: TimelineHistoryEntry,\n ): NonNullable<OrderDetailFragment['payments']>[number]['refunds'][number] | undefined {\n if (entry.type === HistoryEntryType.ORDER_REFUND_TRANSITION && this.order.payments) {\n const allRefunds = this.order.payments.reduce(\n (refunds, payment) => refunds.concat(payment.refunds),\n [] as NonNullable<OrderDetailFragment['payments']>[number]['refunds'],\n );\n return allRefunds.find(r => r.id === entry.data.refundId);\n }\n }\n\n getCancelledQuantity(entry: TimelineHistoryEntry): number {\n return entry.data.lines.reduce((total, line) => total + line.quantity, 0);\n }\n\n getCancelledItems(\n cancellationLines: Array<{ orderLineId: string; quantity: number }>,\n ): Array<{ name: string; quantity: number }> {\n const itemMap = new Map<string, number>();\n for (const line of this.order.lines) {\n const cancellationLine = cancellationLines.find(l => l.orderLineId === line.id);\n if (cancellationLine) {\n itemMap.set(line.productVariant.name, cancellationLine.quantity);\n }\n }\n return Array.from(itemMap.entries()).map(([name, quantity]) => ({ name, quantity }));\n }\n\n getModification(id: string) {\n return this.order.modifications.find(m => m.id === id);\n }\n\n getName(entry: TimelineHistoryEntry): string {\n const { administrator } = entry;\n if (administrator) {\n return `${administrator.firstName} ${administrator.lastName}`;\n } else {\n const customer = this.order.customer;\n if (customer) {\n return `${customer.firstName} ${customer.lastName}`;\n }\n }\n return '';\n }\n\n addNoteToOrder() {\n this.addNote.emit({ note: this.note, isPublic: !this.noteIsPrivate });\n this.note = '';\n this.noteIsPrivate = true;\n }\n}\n", "<div class=\"entry-list\" [class.expanded]=\"expanded\">\n <vdr-timeline-entry iconShape=\"note\" displayType=\"muted\" [featured]=\"true\" [isFirst]=\"true\">\n <div class=\"note-entry\">\n <textarea [(ngModel)]=\"note\" name=\"note\" class=\"note\"></textarea>\n <button class=\"btn btn-secondary\" [disabled]=\"!note\" (click)=\"addNoteToOrder()\">\n {{ 'common.add-note' | translate }}\n </button>\n </div>\n <div class=\"visibility-select\">\n <clr-checkbox-wrapper>\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"noteIsPrivate\" />\n <label>{{ 'order.note-is-private' | translate }}</label>\n </clr-checkbox-wrapper>\n <span *ngIf=\"noteIsPrivate\" class=\"private\">\n {{ 'order.note-only-visible-to-administrators' | translate }}\n </span>\n <span *ngIf=\"!noteIsPrivate\" class=\"public\">\n {{ 'order.note-visible-to-customer' | translate }}\n </span>\n </div>\n </vdr-timeline-entry>\n <ng-container *ngFor=\"let entry of history\">\n <vdr-order-history-entry-host\n *ngIf=\"hasCustomComponent(entry.type); else defaultComponents\"\n [order]=\"order\"\n [entry]=\"entry\"\n [expanded]=\"expanded\"\n (expandClick)=\"expanded = !expanded\"\n ></vdr-order-history-entry-host>\n <ng-template #defaultComponents>\n <vdr-timeline-entry\n [displayType]=\"getDisplayType(entry)\"\n [iconShape]=\"getTimelineIcon(entry)\"\n [createdAt]=\"entry.createdAt\"\n [name]=\"getName(entry)\"\n [featured]=\"isFeatured(entry)\"\n [collapsed]=\"!expanded && !isFeatured(entry)\"\n (expandClick)=\"expanded = !expanded\"\n >\n <ng-container [ngSwitch]=\"entry.type\">\n <ng-container *ngSwitchCase=\"type.ORDER_STATE_TRANSITION\">\n <div class=\"title\" *ngIf=\"entry.data.to === 'Delivered'\">\n {{ 'order.history-order-fulfilled' | translate }}\n </div>\n <div class=\"title\" *ngIf=\"entry.data.to === 'Cancelled'\">\n {{ 'order.history-order-cancelled' | translate }}\n </div>\n <ng-template [ngIf]=\"entry.data.to !== 'Cancelled' && entry.data.to !== 'Delivered'\">\n {{\n 'order.history-order-transition'\n | translate : { from: entry.data.from, to: entry.data.to }\n }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_MODIFIED\">\n <div class=\"title\">\n {{ 'order.history-order-modified' | translate }}\n </div>\n <div\n class=\"flex items-center\"\n *ngIf=\"getModification(entry.data.modificationId) as modification\"\n >\n {{ 'order.modify-order-price-difference' | translate }}:\n <strong>{{\n modification.priceChange | localeCurrency : order.currencyCode\n }}</strong>\n <vdr-chip colorType=\"success\" class=\"mx-1\" *ngIf=\"modification.isSettled\">{{\n 'order.modification-settled' | translate\n }}</vdr-chip>\n <vdr-chip colorType=\"error\" class=\"mx-1\" *ngIf=\"!modification.isSettled\">{{\n 'order.modification-not-settled' | translate\n }}</vdr-chip>\n <vdr-history-entry-detail>\n <vdr-modification-detail\n [order]=\"order\"\n [modification]=\"modification\"\n ></vdr-modification-detail>\n </vdr-history-entry-detail>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_PAYMENT_TRANSITION\">\n <ng-container *ngIf=\"entry.data.to === 'Settled'; else regularPaymentTransition\">\n <div class=\"title\">\n {{ 'order.history-payment-settled' | translate }}\n </div>\n <div class=\"flex items-center\">\n <vdr-chip *ngIf=\"getPayment(entry) as payment\" class=\"mr-1\">{{\n payment.amount | localeCurrency : order.currencyCode\n }}</vdr-chip>\n <vdr-history-entry-detail *ngIf=\"getPayment(entry) as payment\">\n <vdr-payment-detail\n [payment]=\"payment\"\n [currencyCode]=\"order.currencyCode\"\n ></vdr-payment-detail>\n </vdr-history-entry-detail>\n </div>\n </ng-container>\n <ng-template #regularPaymentTransition>\n {{\n 'order.history-payment-transition'\n | translate\n : {\n from: entry.data.from,\n to: entry.data.to,\n id: getPayment(entry)?.transactionId\n }\n }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_REFUND_TRANSITION\">\n <ng-container *ngIf=\"entry.data.to === 'Settled'; else regularRefundTransition\">\n <ng-container *ngIf=\"getRefund(entry) as refund\">\n <div class=\"title\">{{ 'order.refund' | translate }} #{{ refund.id }}</div>\n <div class=\"flex items-center\">\n <vdr-chip colorType=\"warning\" class=\"mr-1\">{{\n refund.total | localeCurrency : order.currencyCode\n }}</vdr-chip>\n <vdr-history-entry-detail>\n <vdr-labeled-data [label]=\"'order.cancellation-reason' | translate\">\n {{ entry.data.reason }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.contents' | translate\">\n <vdr-simple-item-list\n [items]=\"getCancelledItems(refund.lines)\"\n ></vdr-simple-item-list>\n </vdr-labeled-data>\n </vdr-history-entry-detail>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #regularRefundTransition>\n {{\n 'order.history-refund-transition'\n | translate\n : {\n from: entry.data.from,\n to: entry.data.to,\n id: entry.data.refundId\n }\n }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_CANCELLATION\">\n {{\n 'order.history-items-cancelled'\n | translate : { count: getCancelledQuantity(entry) }\n }}\n <vdr-history-entry-detail *ngIf=\"getCancelledItems(entry.data.lines) as items\">\n <vdr-labeled-data [label]=\"'order.cancellation-reason' | translate\">\n {{ entry.data.reason }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.contents' | translate\">\n <vdr-simple-item-list [items]=\"items\"></vdr-simple-item-list>\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.shipping-cancelled' | translate\">\n {{ entry.data.shippingCancelled }}\n </vdr-labeled-data>\n </vdr-history-entry-detail>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT\">\n {{ 'order.history-fulfillment-created' | translate }}\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\n <vdr-fulfillment-detail\n [fulfillmentId]=\"fulfillment.id\"\n [order]=\"order\"\n ></vdr-fulfillment-detail>\n </vdr-history-entry-detail>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT_TRANSITION\">\n <ng-container *ngIf=\"entry.data.to === 'Delivered'\">\n <div class=\"title\">\n {{ 'order.history-fulfillment-delivered' | translate }}\n </div>\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\n </ng-container>\n <ng-container *ngIf=\"entry.data.to === 'Shipped'\">\n <div class=\"title\">\n {{ 'order.history-fulfillment-shipped' | translate }}\n </div>\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\n </ng-container>\n <ng-container *ngIf=\"entry.data.to !== 'Delivered' && entry.data.to !== 'Shipped'\">\n {{\n 'order.history-fulfillment-transition'\n | translate : { from: entry.data.from, to: entry.data.to }\n }}\n </ng-container>\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\n <vdr-fulfillment-detail\n [fulfillmentId]=\"fulfillment.id\"\n [order]=\"order\"\n ></vdr-fulfillment-detail>\n </vdr-history-entry-detail>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_NOTE\">\n <div class=\"flex\">\n <div class=\"note-text\">\n <span *ngIf=\"entry.isPublic\" class=\"note-visibility public\">{{\n 'common.public' | translate\n }}</span>\n <span *ngIf=\"!entry.isPublic\" class=\"note-visibility private\">{{\n 'common.private' | translate\n }}</span>\n {{ entry.data.note }}\n </div>\n <div class=\"flex-spacer\"></div>\n <vdr-dropdown>\n <button class=\"button-small ml-1\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n vdrDropdownItem\n (click)=\"updateNote.emit(entry)\"\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\n >\n <clr-icon shape=\"edit\"></clr-icon>\n {{ 'common.edit' | translate }}\n </button>\n <div class=\"dropdown-divider\"></div>\n <button\n vdrDropdownItem\n (click)=\"deleteNote.emit(entry)\"\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\n >\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\n {{ 'common.delete' | translate }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_APPLIED\">\n {{ 'order.history-coupon-code-applied' | translate }}:\n <vdr-chip>\n <a [routerLink]=\"['/marketing', 'promotions', entry.data.promotionId]\">{{\n entry.data.couponCode\n }}</a>\n </vdr-chip>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_REMOVED\">\n {{ 'order.history-coupon-code-removed' | translate }}:\n <vdr-chip\n ><span class=\"cancelled-coupon-code\">{{ entry.data.couponCode }}</span></vdr-chip\n >\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_CUSTOMER_UPDATED\">\n <div class=\"title\">\n {{\n 'order.history-customer-updated'\n | translate : { newCustomerName: entry.data.newCustomerName }\n }}\n </div>\n <div class=\"flex\">\n <div class=\"note-text\">\n {{ entry.data.note }}\n </div>\n <div class=\"flex-spacer\"></div>\n <vdr-history-entry-detail>\n <vdr-labeled-data [label]=\"'order.previous-customer' | translate\">\n <a\n *ngIf=\"entry.data.previousCustomerId\"\n class=\"button-ghost\"\n [routerLink]=\"[\n '/customer',\n 'customers',\n entry.data.previousCustomerId\n ]\"\n >\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon>\n <span>{{ entry.data.previousCustomerName }}</span>\n <clr-icon shape=\"arrow right\"></clr-icon>\n </a>\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.new-customer' | translate\">\n <a\n *ngIf=\"entry.data.newCustomerId\"\n class=\"button-ghost\"\n [routerLink]=\"['/customer', 'customers', entry.data.newCustomerId]\"\n >\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon>\n <span>{{ entry.data.newCustomerName }}</span>\n <clr-icon shape=\"arrow right\"></clr-icon>\n </a>\n </vdr-labeled-data>\n </vdr-history-entry-detail>\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div class=\"title\">\n {{ entry.type | translate }}\n </div>\n <vdr-history-entry-detail *ngIf=\"entry.data\">\n <vdr-object-tree [value]=\"entry.data\"></vdr-object-tree>\n </vdr-history-entry-detail>\n </ng-container>\n </ng-container>\n </vdr-timeline-entry>\n </ng-template>\n </ng-container>\n\n <vdr-timeline-entry [isLast]=\"true\" [createdAt]=\"order.createdAt\" [featured]=\"true\">\n <div class=\"title\">\n {{ 'order.history-order-created' | translate }}\n </div>\n </vdr-timeline-entry>\n</div>\n", "import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n ChannelService,\n DataService,\n GetSellerOrdersQuery,\n GetSellerOrdersQueryVariables,\n} from '@vendure/admin-ui/core';\nimport { DEFAULT_CHANNEL_CODE } from '@vendure/common/lib/shared-constants';\nimport { Observable } from 'rxjs';\n\nimport { GET_SELLER_ORDERS } from './seller-orders-card.graphql';\n\ntype SellerOrder = NonNullable<NonNullable<GetSellerOrdersQuery['order']>['sellerOrders']>[number];\n\n@Component({\n selector: 'vdr-seller-orders-card',\n templateUrl: './seller-orders-card.component.html',\n styleUrls: ['./seller-orders-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class SellerOrdersCardComponent implements OnInit {\n @Input() orderId: string;\n\n sellerOrders$: Observable<SellerOrder[]>;\n\n constructor(\n private router: Router,\n private dataService: DataService,\n private channelService: ChannelService,\n ) {}\n\n ngOnInit() {\n this.sellerOrders$ = this.dataService\n .query<GetSellerOrdersQuery, GetSellerOrdersQueryVariables>(GET_SELLER_ORDERS, {\n orderId: this.orderId,\n })\n .mapSingle(({ order }) => order?.sellerOrders ?? []);\n }\n\n getSeller(order: SellerOrder) {\n const sellerChannel = order.channels.find(channel => channel.code !== DEFAULT_CHANNEL_CODE);\n return sellerChannel?.seller;\n }\n\n navigateToSellerOrder(order: SellerOrder) {\n this.router.navigate(['/orders', order.id]);\n }\n}\n", "<vdr-card [title]=\"'order.seller-orders' | translate\">\n <div class=\"form-grid\">\n <div *ngFor=\"let order of sellerOrders$ | async\">\n <a [routerLink]=\"['seller-orders', order.id]\" class=\"button-ghost mb-1\"\n >{{ order.code }} <clr-icon shape=\"arrow right\"></clr-icon\n ></a>\n <vdr-labeled-data [label]=\"'order.state' | translate\">\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\n </vdr-labeled-data>\n <vdr-labeled-data *ngIf=\"getSeller(order) as seller\" [label]=\"'common.seller' | translate\">\n {{ seller.name }}\n </vdr-labeled-data>\n <vdr-labeled-data *ngIf=\"getSeller(order) as seller\" [label]=\"'order.total' | translate\">\n {{ order.totalWithTax | localeCurrency : order.currencyCode }}\n </vdr-labeled-data>\n </div>\n </div>\n</vdr-card>\n", "import { gql } from 'apollo-angular';\n\nexport const GET_SELLER_ORDERS = gql`\n query GetSellerOrders($orderId: ID!) {\n order(id: $orderId) {\n id\n sellerOrders {\n id\n code\n state\n orderPlacedAt\n currencyCode\n totalWithTax\n channels {\n id\n code\n seller {\n id\n name\n }\n }\n }\n }\n }\n`;\n", "import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport {\n FormControl,\n FormGroup,\n UntypedFormArray,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport {\n CustomFieldConfig,\n DataService,\n DraftOrderEligibleShippingMethodsQuery,\n ErrorResult,\n GetAvailableCountriesQuery,\n HistoryEntryType,\n LanguageCode,\n ModalService,\n ModifyOrderInput,\n NotificationService,\n OrderAddressFragment,\n OrderDetailFragment,\n OrderDetailQueryDocument,\n SortOrder,\n SurchargeInput,\n transformRelationCustomFieldInputs,\n TypedBaseDetailComponent,\n} from '@vendure/admin-ui/core';\nimport { assertNever, notNullOrUndefined } from '@vendure/common/lib/shared-utils';\nimport { simpleDeepClone } from '@vendure/common/lib/simple-deep-clone';\nimport { EMPTY, Observable, of } from 'rxjs';\nimport { map, mapTo, shareReplay, switchMap, take, takeUntil } from 'rxjs/operators';\nimport {\n AddedLine,\n ModifyOrderData,\n OrderSnapshot,\n ProductSelectorItem,\n} from '../../common/modify-order-types';\n\nimport { OrderTransitionService } from '../../providers/order-transition.service';\nimport {\n OrderEditResultType,\n OrderEditsPreviewDialogComponent,\n} from '../order-edits-preview-dialog/order-edits-preview-dialog.component';\nimport { SelectShippingMethodDialogComponent } from '../select-shipping-method-dialog/select-shipping-method-dialog.component';\n\n@Component({\n selector: 'vdr-order-editor',\n templateUrl: './order-editor.component.html',\n styleUrls: ['./order-editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderEditorComponent\n extends TypedBaseDetailComponent<typeof OrderDetailQueryDocument, 'order'>\n implements OnInit, OnDestroy\n{\n availableCountries$: Observable<GetAvailableCountriesQuery['countries']['items']>;\n addressCustomFields: CustomFieldConfig[];\n uiLanguage$: Observable<LanguageCode>;\n detailForm = new UntypedFormGroup({});\n couponCodesControl = new FormControl<string[]>([]);\n orderLineCustomFieldsFormArray: UntypedFormArray;\n addItemCustomFieldsFormArray: UntypedFormArray;\n addItemCustomFieldsForm: UntypedFormGroup;\n addItemSelectedVariant: ProductSelectorItem | undefined;\n orderLineCustomFields: CustomFieldConfig[];\n orderSnapshot: OrderSnapshot;\n modifyOrderInput: ModifyOrderData = {\n dryRun: true,\n orderId: '',\n addItems: [],\n adjustOrderLines: [],\n surcharges: [],\n note: '',\n refunds: [],\n updateShippingAddress: {},\n updateBillingAddress: {},\n };\n surchargeForm = new FormGroup({\n description: new FormControl('', Validators.minLength(1)),\n sku: new FormControl(''),\n price: new FormControl(0),\n priceIncludesTax: new FormControl(true),\n taxRate: new FormControl(0),\n taxDescription: new FormControl(''),\n });\n shippingAddressForm = new FormGroup({\n fullName: new FormControl(''),\n company: new FormControl(''),\n streetLine1: new FormControl(''),\n streetLine2: new FormControl(''),\n city: new FormControl(''),\n province: new FormControl(''),\n postalCode: new FormControl(''),\n countryCode: new FormControl(''),\n phoneNumber: new FormControl(''),\n });\n billingAddressForm = new FormGroup({\n fullName: new FormControl(''),\n company: new FormControl(''),\n streetLine1: new FormControl(''),\n streetLine2: new FormControl(''),\n city: new FormControl(''),\n province: new FormControl(''),\n postalCode: new FormControl(''),\n countryCode: new FormControl(''),\n phoneNumber: new FormControl(''),\n });\n note = '';\n recalculateShipping = true;\n previousState: string;\n editingShippingAddress = false;\n editingBillingAddress = false;\n updatedShippingMethods: {\n [\n shippingLineId: string\n ]: DraftOrderEligibleShippingMethodsQuery['eligibleShippingMethodsForDraftOrder'][number];\n } = {};\n private addedVariants = new Map<string, ProductSelectorItem>();\n\n constructor(\n protected dataService: DataService,\n private notificationService: NotificationService,\n private modalService: ModalService,\n private orderTransitionService: OrderTransitionService,\n private changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.init();\n this.addressCustomFields = this.getCustomFieldConfig('Address');\n this.modifyOrderInput.orderId = this.route.snapshot.paramMap.get('id') as string;\n this.orderLineCustomFields = this.getCustomFieldConfig('OrderLine');\n this.entity$.pipe(take(1)).subscribe(order => {\n this.orderSnapshot = this.createOrderSnapshot(order);\n if (order.couponCodes.length) {\n this.couponCodesControl.setValue(order.couponCodes);\n }\n this.surchargeForm.reset();\n for (const [name, control] of Object.entries(this.shippingAddressForm.controls)) {\n control.setValue(order.shippingAddress?.[name]);\n }\n this.addAddressCustomFieldsFormGroup(this.shippingAddressForm, order.shippingAddress);\n for (const [name, control] of Object.entries(this.billingAddressForm.controls)) {\n control.setValue(order.billingAddress?.[name]);\n }\n this.addAddressCustomFieldsFormGroup(this.billingAddressForm, order.billingAddress);\n this.orderLineCustomFieldsFormArray = new UntypedFormArray([]);\n for (const line of order.lines) {\n const formGroup = new UntypedFormGroup({});\n for (const { name } of this.orderLineCustomFields) {\n formGroup.addControl(name, new UntypedFormControl((line as any).customFields[name]));\n }\n formGroup.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n let modifyRow = this.modifyOrderInput.adjustOrderLines.find(\n l => l.orderLineId === line.id,\n );\n if (!modifyRow) {\n modifyRow = {\n orderLineId: line.id,\n quantity: line.quantity,\n };\n this.modifyOrderInput.adjustOrderLines.push(modifyRow);\n }\n if (this.orderLineCustomFields.length) {\n modifyRow.customFields = value;\n }\n });\n this.orderLineCustomFieldsFormArray.push(formGroup);\n }\n });\n\n this.addItemCustomFieldsFormArray = new UntypedFormArray([]);\n this.addItemCustomFieldsForm = new UntypedFormGroup({});\n for (const customField of this.orderLineCustomFields) {\n this.addItemCustomFieldsForm.addControl(customField.name, new UntypedFormControl());\n }\n this.availableCountries$ = this.dataService.settings\n .getAvailableCountries()\n .mapSingle(result => result.countries.items)\n .pipe(shareReplay(1));\n this.dataService.order\n .getOrderHistory(this.id, {\n take: 1,\n sort: {\n createdAt: SortOrder.DESC,\n },\n filter: { type: { eq: HistoryEntryType.ORDER_STATE_TRANSITION } },\n })\n .single$.subscribe(({ order }) => {\n this.previousState = order?.history.items[0].data.from;\n });\n this.uiLanguage$ = this.dataService.client\n .uiState()\n .stream$.pipe(map(({ uiState }) => uiState.language));\n }\n\n ngOnDestroy(): void {\n this.destroy();\n }\n\n get addedLines(): AddedLine[] {\n const getSinglePriceValue = (price: ProductSelectorItem['price']) =>\n price.__typename === 'SinglePrice' ? price.value : 0;\n return (this.modifyOrderInput.addItems || [])\n .map(row => {\n const variantInfo = this.addedVariants.get(row.productVariantId);\n if (variantInfo) {\n return {\n id: this.getIdForAddedItem(row),\n featuredAsset: variantInfo.productAsset,\n productVariant: {\n id: variantInfo.productVariantId,\n name: variantInfo.productVariantName,\n sku: variantInfo.sku,\n },\n unitPrice: getSinglePriceValue(variantInfo.price),\n unitPriceWithTax: getSinglePriceValue(variantInfo.priceWithTax),\n quantity: row.quantity,\n };\n }\n })\n .filter(notNullOrUndefined);\n }\n\n private getIdForAddedItem(row: ModifyOrderData['addItems'][number]) {\n return `added-${row.productVariantId}-${JSON.stringify(row.customFields || {})}`;\n }\n\n transitionToPriorState(order: OrderDetailFragment) {\n this.orderTransitionService\n .transitionToPreModifyingState(order.id, order.nextStates)\n .subscribe(result => {\n this.router.navigate(['..'], { relativeTo: this.route });\n });\n }\n\n hasModifications(): boolean {\n const { addItems, adjustOrderLines, surcharges } = this.modifyOrderInput;\n return (\n !!addItems?.length ||\n !!surcharges?.length ||\n !!adjustOrderLines?.length ||\n (this.shippingAddressForm.dirty && this.shippingAddressForm.valid) ||\n (this.billingAddressForm.dirty && this.billingAddressForm.valid) ||\n this.couponCodesControl.dirty ||\n Object.entries(this.updatedShippingMethods).length > 0\n );\n }\n\n isLineModified(line: OrderDetailFragment['lines'][number]): boolean {\n return !!this.modifyOrderInput.adjustOrderLines?.find(\n l => l.orderLineId === line.id && l.quantity !== line.quantity,\n );\n }\n\n getInitialLineQuantity(lineId: string): number {\n const adjustedLine = this.modifyOrderInput.adjustOrderLines?.find(l => l.orderLineId === lineId);\n if (adjustedLine) {\n return adjustedLine.quantity;\n }\n const addedLine = this.modifyOrderInput.addItems?.find(l => this.getIdForAddedItem(l) === lineId);\n if (addedLine) {\n return addedLine.quantity ?? 1;\n }\n const line = this.orderSnapshot.lines.find(l => l.id === lineId);\n return line ? line.quantity : 1;\n }\n\n updateLineQuantity(line: OrderDetailFragment['lines'][number] | AddedLine, quantity: string) {\n const { adjustOrderLines } = this.modifyOrderInput;\n if (this.isAddedLine(line)) {\n const row = this.modifyOrderInput.addItems?.find(\n l => l.productVariantId === line.productVariant.id,\n );\n if (row) {\n row.quantity = +quantity;\n }\n } else {\n let row = adjustOrderLines?.find(l => l.orderLineId === line.id);\n if (row && +quantity === line.quantity) {\n // Remove the modification if the quantity is the same as\n // the original order\n adjustOrderLines?.splice(adjustOrderLines?.indexOf(row), 1);\n }\n if (!row) {\n row = { orderLineId: line.id, quantity: +quantity };\n adjustOrderLines?.push(row);\n }\n row.quantity = +quantity;\n }\n }\n\n isAddedLine(line: OrderDetailFragment['lines'][number] | AddedLine): line is AddedLine {\n return (line as AddedLine).id.startsWith('added-');\n }\n\n updateAddedItemQuantity(item: AddedLine, quantity: string) {\n const row = this.modifyOrderInput.addItems?.find(l => l.productVariantId === item.productVariant.id);\n if (row) {\n row.quantity = +quantity;\n }\n }\n\n trackByProductVariantId(index: number, item: AddedLine) {\n return item.productVariant.id;\n }\n\n getSelectedItemPrice(result: ProductSelectorItem | undefined): number {\n switch (result?.priceWithTax.__typename) {\n case 'SinglePrice':\n return result.priceWithTax.value;\n default:\n return 0;\n }\n }\n\n addItemToOrder(result: ProductSelectorItem | undefined) {\n if (!result) {\n return;\n }\n const customFields = this.orderLineCustomFields.length\n ? this.addItemCustomFieldsForm.value\n : undefined;\n let row = this.modifyOrderInput.addItems?.find(l =>\n this.isMatchingAddItemRow(l, result, customFields),\n );\n if (!row) {\n row = { productVariantId: result.productVariantId, quantity: 1 };\n if (customFields) {\n row.customFields = customFields;\n }\n this.modifyOrderInput.addItems?.push(row);\n } else {\n row.quantity++;\n }\n if (customFields) {\n const formGroup = new UntypedFormGroup({});\n for (const [key, value] of Object.entries(customFields)) {\n formGroup.addControl(key, new UntypedFormControl(value));\n }\n this.addItemCustomFieldsFormArray.push(formGroup);\n formGroup.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n if (row) {\n row.customFields = value;\n }\n });\n }\n this.addItemCustomFieldsForm.reset({});\n this.addItemSelectedVariant = undefined;\n this.addedVariants.set(result.productVariantId, result);\n }\n\n getShippingLineDetails(shippingLine: OrderDetailFragment['shippingLines'][number]): {\n name: string;\n price: number;\n } {\n const updatedMethod = this.updatedShippingMethods[shippingLine.id];\n if (updatedMethod) {\n return {\n name: updatedMethod.name || updatedMethod.code,\n price: updatedMethod.priceWithTax,\n };\n } else {\n return {\n name: shippingLine.shippingMethod.name || shippingLine.shippingMethod.code,\n price: shippingLine.discountedPriceWithTax,\n };\n }\n }\n\n setShippingMethod(shippingLineId: string) {\n const currentShippingMethod =\n this.updatedShippingMethods[shippingLineId] ??\n this.entity?.shippingLines.find(l => l.id === shippingLineId)?.shippingMethod;\n if (!currentShippingMethod) {\n return;\n }\n this.dataService.order\n .getDraftOrderEligibleShippingMethods(this.id)\n .mapSingle(({ eligibleShippingMethodsForDraftOrder }) => eligibleShippingMethodsForDraftOrder)\n .pipe(\n switchMap(methods =>\n this.modalService\n .fromComponent(SelectShippingMethodDialogComponent, {\n locals: {\n eligibleShippingMethods: methods,\n currencyCode: this.entity?.currencyCode,\n currentSelectionId: currentShippingMethod.id,\n },\n })\n .pipe(\n map(result => {\n if (result) {\n return methods.find(method => method.id === result);\n }\n }),\n ),\n ),\n )\n .subscribe(result => {\n if (result) {\n this.updatedShippingMethods[shippingLineId] = result;\n this.changeDetectorRef.markForCheck();\n }\n });\n }\n\n private isMatchingAddItemRow(\n row: ModifyOrderData['addItems'][number],\n result: ProductSelectorItem,\n customFields: any,\n ): boolean {\n return (\n row.productVariantId === result.productVariantId &&\n JSON.stringify(row.customFields) === JSON.stringify(customFields)\n );\n }\n\n removeAddedItem(id: string) {\n this.modifyOrderInput.addItems = this.modifyOrderInput.addItems?.filter(l => {\n const itemId = this.getIdForAddedItem(l);\n return itemId !== id;\n });\n }\n\n getSurchargePrices(surcharge: SurchargeInput) {\n const priceWithTax = surcharge.priceIncludesTax\n ? surcharge.price\n : Math.round(surcharge.price * ((100 + (surcharge.taxRate || 0)) / 100));\n const price = surcharge.priceIncludesTax\n ? Math.round(surcharge.price / ((100 + (surcharge.taxRate || 0)) / 100))\n : surcharge.price;\n return {\n price,\n priceWithTax,\n };\n }\n\n addSurcharge(value: any) {\n this.modifyOrderInput.surcharges?.push(value);\n this.surchargeForm.reset({\n price: 0,\n priceIncludesTax: true,\n taxRate: 0,\n });\n }\n\n removeSurcharge(index: number) {\n this.modifyOrderInput.surcharges?.splice(index, 1);\n }\n\n previewAndModify(order: OrderDetailFragment) {\n const modifyOrderInput: ModifyOrderData = {\n ...this.modifyOrderInput,\n adjustOrderLines: this.modifyOrderInput.adjustOrderLines.map(line =>\n transformRelationCustomFieldInputs(simpleDeepClone(line), this.orderLineCustomFields),\n ),\n };\n const input: ModifyOrderInput = {\n ...modifyOrderInput,\n ...(this.billingAddressForm.dirty ? { updateBillingAddress: this.billingAddressForm.value } : {}),\n ...(this.shippingAddressForm.dirty\n ? { updateShippingAddress: this.shippingAddressForm.value }\n : {}),\n dryRun: true,\n couponCodes: this.couponCodesControl.dirty ? this.couponCodesControl.value : undefined,\n note: this.note ?? '',\n options: {\n recalculateShipping: this.recalculateShipping,\n },\n };\n if (Object.entries(this.updatedShippingMethods).length) {\n input.shippingMethodIds = order.shippingLines.map(l =>\n this.updatedShippingMethods[l.id]\n ? this.updatedShippingMethods[l.id].id\n : l.shippingMethod.id,\n );\n }\n this.dataService.order\n .modifyOrder(input)\n .pipe(\n switchMap(({ modifyOrder }) => {\n switch (modifyOrder.__typename) {\n case 'Order':\n return this.modalService.fromComponent(OrderEditsPreviewDialogComponent, {\n size: 'xl',\n closable: false,\n locals: {\n order: modifyOrder,\n orderSnapshot: this.orderSnapshot,\n orderLineCustomFields: this.orderLineCustomFields,\n modifyOrderInput: input,\n addedLines: this.addedLines,\n shippingAddressForm: this.shippingAddressForm,\n billingAddressForm: this.billingAddressForm,\n couponCodesControl: this.couponCodesControl,\n updatedShippingMethods: this.updatedShippingMethods,\n },\n });\n case 'InsufficientStockError':\n case 'NegativeQuantityError':\n case 'NoChangesSpecifiedError':\n case 'OrderLimitError':\n case 'OrderModificationStateError':\n case 'PaymentMethodMissingError':\n case 'RefundPaymentIdMissingError':\n case 'CouponCodeLimitError':\n case 'CouponCodeExpiredError':\n case 'IneligibleShippingMethodError':\n case 'CouponCodeInvalidError': {\n this.notificationService.error(modifyOrder.message);\n return of(false as const);\n }\n case null:\n case undefined:\n return of(false as const);\n default:\n assertNever(modifyOrder);\n }\n }),\n switchMap(result => {\n if (!result || result.result === OrderEditResultType.Cancel) {\n // re-fetch so that the preview values get overwritten in the cache.\n return this.dataService.order.getOrder(this.id).mapSingle(() => false);\n } else {\n // Do the modification\n const wetRunInput = {\n ...input,\n dryRun: false,\n };\n if (result.result === OrderEditResultType.Refund) {\n wetRunInput.refunds = result.refunds;\n }\n return this.dataService.order.modifyOrder(wetRunInput).pipe(\n switchMap(({ modifyOrder }) => {\n if (modifyOrder.__typename === 'Order') {\n const priceDelta =\n modifyOrder.totalWithTax - this.orderSnapshot.totalWithTax;\n const nextState =\n 0 < priceDelta ? 'ArrangingAdditionalPayment' : this.previousState;\n\n return this.dataService.order\n .transitionToState(order.id, nextState)\n .pipe(mapTo(true));\n } else {\n this.notificationService.error((modifyOrder as ErrorResult).message);\n return EMPTY;\n }\n }),\n );\n }\n }),\n )\n .subscribe(result => {\n if (result) {\n this.router.navigate(['../'], { relativeTo: this.route });\n }\n });\n }\n\n private addAddressCustomFieldsFormGroup(\n parentFormGroup: UntypedFormGroup,\n address?: OrderAddressFragment | null,\n ) {\n if (address && this.addressCustomFields.length) {\n const addressCustomFieldsFormGroup = new UntypedFormGroup({});\n for (const customFieldDef of this.addressCustomFields) {\n const name = customFieldDef.name;\n const value = (address as any).customFields?.[name];\n addressCustomFieldsFormGroup.addControl(name, new UntypedFormControl(value));\n }\n parentFormGroup.addControl('customFields', addressCustomFieldsFormGroup);\n }\n }\n\n private createOrderSnapshot(order: OrderDetailFragment): OrderSnapshot {\n return {\n totalWithTax: order.totalWithTax,\n currencyCode: order.currencyCode,\n couponCodes: order.couponCodes,\n lines: [...order.lines].map(line => ({ ...line })),\n shippingLines: [...order.shippingLines].map(line => ({ ...line })),\n };\n }\n\n protected setFormValues(entity: OrderDetailFragment, languageCode: LanguageCode): void {\n /* not used */\n }\n}\n", "<vdr-page-block>\n <vdr-action-bar *ngIf=\"entity$ | async as order\">\n <vdr-ab-left>\n <div class=\"flex clr-align-items-center\"></div>\n </vdr-ab-left>\n\n <vdr-ab-right>\n <button class=\"btn btn-secondary\" (click)=\"transitionToPriorState(order)\">\n {{ 'order.cancel-modification' | translate }}\n </button>\n </vdr-ab-right>\n </vdr-action-bar>\n</vdr-page-block>\n\n<vdr-page-detail-layout *ngIf=\"entity as order\">\n <vdr-page-detail-sidebar>\n <vdr-card [title]=\"'order.modification-summary' | translate\">\n <vdr-order-modification-summary\n [orderSnapshot]=\"orderSnapshot\"\n [modifyOrderInput]=\"modifyOrderInput\"\n [addedLines]=\"addedLines\"\n [shippingAddressForm]=\"shippingAddressForm\"\n [billingAddressForm]=\"billingAddressForm\"\n [couponCodesControl]=\"couponCodesControl\"\n [updatedShippingMethods]=\"updatedShippingMethods\"\n ></vdr-order-modification-summary>\n\n <div *ngIf=\"!hasModifications()\" class=\"no-modifications\">\n {{ 'order.no-modifications-made' | translate }}\n </div>\n\n <div class=\"summary-controls\">\n <vdr-form-field [label]=\"'order.note' | translate\">\n <textarea\n [(ngModel)]=\"note\"\n name=\"note\"\n required\n [disabled]=\"!hasModifications()\"\n ></textarea>\n </vdr-form-field>\n <label class=\"flex items-center\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"recalculateShipping\"\n [disabled]=\"!hasModifications()\"\n />\n <div class=\"ml-1\">{{ 'order.modification-recalculate-shipping' | translate }}</div>\n </label>\n <button\n class=\"btn btn-primary mt-2\"\n [disabled]=\"!hasModifications()\"\n (click)=\"previewAndModify(order)\"\n >\n {{ 'order.preview-changes' | translate }}\n </button>\n </div>\n </vdr-card>\n <vdr-card [title]=\"'order.set-coupon-codes' | translate\">\n <vdr-coupon-code-selector [control]=\"couponCodesControl\"></vdr-coupon-code-selector>\n </vdr-card>\n <vdr-card [title]=\"'order.shipping-address' | translate\">\n <ng-template vdrCardControls>\n <button\n class=\"button-small\"\n [title]=\"'order.edit-shipping-address' | translate\"\n (click)=\"editingShippingAddress = !editingShippingAddress\"\n >\n <clr-icon shape=\"edit\"></clr-icon>\n </button>\n </ng-template>\n <vdr-formatted-address\n *ngIf=\"!editingShippingAddress\"\n [address]=\"shippingAddressForm.value\"\n ></vdr-formatted-address>\n <vdr-address-form\n *ngIf=\"editingShippingAddress\"\n [formGroup]=\"shippingAddressForm\"\n [availableCountries]=\"availableCountries$ | async\"\n [customFields]=\"addressCustomFields\"\n ></vdr-address-form>\n </vdr-card>\n <vdr-card [title]=\"'order.billing-address' | translate\">\n <ng-template vdrCardControls>\n <button\n class=\"button-small\"\n [title]=\"'order.edit-billing-address' | translate\"\n (click)=\"editingBillingAddress = !editingBillingAddress\"\n >\n <clr-icon shape=\"edit\"></clr-icon>\n </button>\n </ng-template>\n <vdr-formatted-address\n *ngIf=\"!editingBillingAddress\"\n [address]=\"billingAddressForm.value\"\n ></vdr-formatted-address>\n <vdr-address-form\n *ngIf=\"editingBillingAddress\"\n [formGroup]=\"billingAddressForm\"\n [availableCountries]=\"availableCountries$ | async\"\n [customFields]=\"addressCustomFields\"\n ></vdr-address-form>\n </vdr-card>\n </vdr-page-detail-sidebar>\n\n <vdr-page-block>\n <vdr-card [paddingX]=\"false\">\n <vdr-data-table-2 id=\"modify-order\" class=\"order-table\" [items]=\"order.lines.concat(addedLines)\">\n <!-- Here we define all the available columns -->\n <vdr-dt2-column id=\"id\" [heading]=\"'common.id' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"created-at\"\n [heading]=\"'common.created-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.createdAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"updated-at\"\n [heading]=\"'common.updated-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.updatedAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.image' | translate\" id=\"image\">\n <ng-template let-line=\"item\">\n <div class=\"image-placeholder\">\n <img\n *ngIf=\"line.featuredAsset as asset; else imagePlaceholder\"\n [src]=\"asset | assetPreview : 'tiny'\"\n />\n <ng-template #imagePlaceholder>\n <div class=\"placeholder\">\n <clr-icon shape=\"image\" size=\"48\"></clr-icon>\n </div>\n </ng-template>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"product-name\"\n [heading]=\"'order.product-name' | translate\"\n [optional]=\"false\"\n >\n <ng-template let-line=\"item\">\n {{ line.productVariant.name }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"product-sku\" [heading]=\"'order.product-sku' | translate\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.sku }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"unit-price\" [heading]=\"'order.unit-price' | translate\">\n <ng-template let-line=\"item\">\n <div class=\"text-center\">\n <div>{{ line.unitPriceWithTax | localeCurrency : order.currencyCode }}</div>\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.unitPrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"quantity\" [heading]=\"'order.quantity' | translate\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <input\n type=\"number\"\n class=\"draft-qty mr-1\"\n min=\"0\"\n [value]=\"getInitialLineQuantity(line.id)\"\n (input)=\"updateLineQuantity(line, $event.target.value)\"\n />\n <button\n class=\"button-small\"\n *ngIf=\"isAddedLine(line)\"\n (click)=\"removeAddedItem(line.id)\"\n >\n <clr-icon shape=\"trash\"></clr-icon>\n </button>\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\n <vdr-line-fulfillment\n [line]=\"line\"\n [allOrderFulfillments]=\"order.fulfillments\"\n [orderState]=\"order.state\"\n ></vdr-line-fulfillment>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n *ngFor=\"let customField of orderLineCustomFields\"\n [id]=\"customField.name\"\n [heading]=\"customField | customFieldLabel : (uiLanguage$ | async)\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\" let-index=\"index\">\n <vdr-custom-field-control\n [compact]=\"true\"\n [entityName]=\"'OrderLine'\"\n [customField]=\"customField\"\n [customFieldsFormGroup]=\"orderLineCustomFieldsFormArray.at(index)\"\n />\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n </vdr-card>\n <vdr-card [title]=\"'order.add-item-to-order' | translate\">\n <vdr-product-variant-selector class=\"mb-4\" (productSelected)=\"addItemSelectedVariant = $event\">\n </vdr-product-variant-selector>\n <div class=\"flex\">\n <div>\n <div *ngIf=\"addItemSelectedVariant\" class=\"flex mb-4\">\n <img\n *ngIf=\"addItemSelectedVariant.productAsset as asset\"\n [src]=\"asset | assetPreview : 'tiny'\"\n class=\"mr-4 add-item-thumb\"\n />\n <div>\n <strong class=\"mr-4\">{{ addItemSelectedVariant.productVariantName }}</strong>\n <small>{{ addItemSelectedVariant.sku }}</small>\n <div>\n {{\n getSelectedItemPrice(addItemSelectedVariant)\n | localeCurrency : order.currencyCode\n }}\n </div>\n </div>\n </div>\n <div *ngIf=\"addItemSelectedVariant\">\n <vdr-tabbed-custom-fields\n entityName=\"Order\"\n [customFields]=\"orderLineCustomFields\"\n [customFieldsFormGroup]=\"addItemCustomFieldsForm\"\n ></vdr-tabbed-custom-fields>\n </div>\n </div>\n <div class=\"flex-spacer\"></div>\n <div>\n <button\n *ngIf=\"addItemSelectedVariant\"\n class=\"btn btn-secondary\"\n [disabled]=\"!addItemSelectedVariant || addItemCustomFieldsForm.invalid\"\n (click)=\"addItemToOrder(addItemSelectedVariant)\"\n >\n {{ 'order.add-item-to-order' | translate }}\n </button>\n </div>\n </div>\n </vdr-card>\n <vdr-card [title]=\"'order.shipping' | translate\">\n <div *ngFor=\"let shippingLine of order.shippingLines\" class=\"flex items-center\">\n <ng-container *ngIf=\"getShippingLineDetails(shippingLine) as details\">\n <div>{{ details.name }}:</div>\n <div class=\"mx-1\">\n {{ details.price | localeCurrency : order.currencyCode }}\n </div>\n <button class=\"button-small\" (click)=\"setShippingMethod(shippingLine.id)\">\n {{ 'order.set-shipping-method' | translate }}\n </button>\n </ng-container>\n </div>\n </vdr-card>\n <vdr-card [title]=\"'order.add-surcharge' | translate\">\n <form [formGroup]=\"surchargeForm\" (submit)=\"addSurcharge(surchargeForm.value)\">\n <div class=\"form-grid\">\n <vdr-form-field [label]=\"'common.description' | translate\" for=\"description\"\n ><input id=\"description\" type=\"text\" formControlName=\"description\"\n /></vdr-form-field>\n <vdr-form-field [label]=\"'order.product-sku' | translate\" for=\"sku\"\n ><input id=\"sku\" type=\"text\" formControlName=\"sku\"\n /></vdr-form-field>\n <vdr-form-field [label]=\"'common.price' | translate\" for=\"price\">\n <vdr-currency-input\n [currencyCode]=\"order.currencyCode\"\n id=\"price\"\n formControlName=\"price\"\n ></vdr-currency-input>\n </vdr-form-field>\n <vdr-form-field\n [label]=\"\n 'catalog.price-includes-tax-at'\n | translate : { rate: surchargeForm.get('taxRate')?.value ?? 0 }\n \"\n for=\"priceIncludesTax\"\n ><input\n id=\"priceIncludesTax\"\n type=\"checkbox\"\n clrCheckbox\n formControlName=\"priceIncludesTax\"\n /></vdr-form-field>\n <vdr-form-field [label]=\"'order.tax-rate' | translate\" for=\"taxRate\">\n <vdr-affixed-input suffix=\"%\"\n ><input id=\"taxRate\" type=\"number\" min=\"0\" max=\"100\" formControlName=\"taxRate\"\n /></vdr-affixed-input>\n </vdr-form-field>\n <vdr-form-field [label]=\"'order.tax-description' | translate\" for=\"taxDescription\"\n ><input id=\"taxDescription\" type=\"text\" formControlName=\"taxDescription\"\n /></vdr-form-field>\n </div>\n <button\n class=\"btn btn-secondary mt-2\"\n [disabled]=\"\n surchargeForm.invalid ||\n surchargeForm.pristine ||\n surchargeForm.get('price')?.value === 0 ||\n !surchargeForm.get('description')?.value\n \"\n >\n {{ 'order.add-surcharge' | translate }}\n </button>\n </form>\n </vdr-card>\n </vdr-page-block>\n</vdr-page-detail-layout>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { notNullOrUndefined } from '@vendure/common/lib/shared-utils';\nimport type { OrderEditorComponent } from '../order-editor/order-editor.component';\nimport { AddedLine, ModifyOrderData, OrderSnapshot } from '../../common/modify-order-types';\n\n@Component({\n selector: 'vdr-order-modification-summary',\n templateUrl: './order-modification-summary.component.html',\n styleUrls: ['./order-modification-summary.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderModificationSummaryComponent {\n @Input() orderSnapshot: OrderSnapshot;\n @Input() modifyOrderInput: ModifyOrderData;\n @Input() addedLines: AddedLine[];\n @Input() shippingAddressForm: OrderEditorComponent['shippingAddressForm'];\n @Input() billingAddressForm: OrderEditorComponent['billingAddressForm'];\n @Input() updatedShippingMethods: OrderEditorComponent['updatedShippingMethods'];\n @Input() couponCodesControl: FormControl<string[] | null>;\n\n get adjustedLines(): string[] {\n return (this.modifyOrderInput.adjustOrderLines || [])\n .map(l => {\n const line = this.orderSnapshot.lines.find(line => line.id === l.orderLineId);\n if (line) {\n const delta = l.quantity - line.quantity;\n const sign = delta === 0 ? '' : delta > 0 ? '+' : '-';\n return delta\n ? `${sign}${Math.abs(delta)} ${line.productVariant.name}`\n : line.productVariant.name;\n }\n })\n .filter(notNullOrUndefined);\n }\n\n getModifiedFields(formGroup: FormGroup): string {\n if (!formGroup.dirty) {\n return '';\n }\n return Object.entries(formGroup.controls)\n .map(([key, control]) => {\n if (control.dirty) {\n return key;\n }\n })\n .filter(notNullOrUndefined)\n .join(', ');\n }\n\n getUpdatedShippingMethodLines() {\n return Object.entries(this.updatedShippingMethods || {})\n .map(([lineId, shippingMethod]) => {\n const previousMethod = this.orderSnapshot.shippingLines.find(l => l.id === lineId);\n if (!previousMethod) {\n return;\n }\n const previousName = previousMethod.shippingMethod.name || previousMethod.shippingMethod.code;\n const newName = shippingMethod.name || shippingMethod.code;\n return `${previousName} -> ${newName}`;\n })\n .filter(notNullOrUndefined);\n }\n\n get couponCodeChanges(): string[] {\n const originalCodes = this.orderSnapshot.couponCodes || [];\n const newCodes = this.couponCodesControl.value || [];\n const addedCodes = newCodes.filter(c => !originalCodes.includes(c)).map(c => `+ ${c}`);\n const removedCodes = originalCodes.filter(c => !newCodes.includes(c)).map(c => `- ${c}`);\n return [...addedCodes, ...removedCodes];\n }\n}\n", "<vdr-labeled-data\n *ngIf=\"modifyOrderInput.adjustOrderLines?.length\"\n [label]=\"\n 'order.modification-adjusting-lines'\n | translate : { count: modifyOrderInput.adjustOrderLines?.length }\n \"\n>\n <div *ngFor=\"let line of adjustedLines\" class=\"mb-1\">\n {{ line }}\n </div>\n</vdr-labeled-data>\n<vdr-labeled-data\n *ngIf=\"modifyOrderInput.addItems?.length\"\n [label]=\"\n 'order.modification-adding-items'\n | translate : { count: modifyOrderInput.addItems?.length }\n \"\n>\n <div *ngFor=\"let item of addedLines\">\n {{ item.productVariant.name }} x {{ item.quantity }}\n </div>\n</vdr-labeled-data>\n<vdr-labeled-data\n *ngIf=\"modifyOrderInput.surcharges?.length\"\n [label]=\"\n 'order.modification-adding-surcharges'\n | translate : { count: modifyOrderInput.surcharges?.length }\n \"\n>\n <div *ngFor=\"let surcharge of modifyOrderInput.surcharges\" class=\"mb-1\">\n {{ surcharge.description }}: {{ surcharge.price | localeCurrency : orderSnapshot.currencyCode }}\n </div>\n</vdr-labeled-data>\n<vdr-labeled-data\n *ngIf=\"getModifiedFields(shippingAddressForm) as updatedShippingFields\"\n [label]=\"'order.modification-updating-shipping-address' | translate\"\n>\n {{ updatedShippingFields }}\n</vdr-labeled-data>\n<vdr-labeled-data\n *ngIf=\"getModifiedFields(billingAddressForm) as updatedBillingFields\"\n [label]=\"'order.modification-updating-billing-address' | translate\"\n>\n {{ updatedBillingFields }}\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"couponCodeChanges.length\" [label]=\"'order.set-coupon-codes' | translate\">\n <div *ngFor=\"let change of couponCodeChanges\" class=\"mb-1\">{{ change }}</div>\n</vdr-labeled-data>\n<ng-container *ngIf=\"getUpdatedShippingMethodLines() as updatedShippingMethods\">\n <vdr-labeled-data *ngIf=\"updatedShippingMethods.length\" [label]=\"'order.shipping-method' | translate\">\n <div *ngFor=\"let change of updatedShippingMethods\" class=\"mb-1\">{{ change }}</div>\n </vdr-labeled-data>\n</ng-container>", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport {\n AdministratorRefundInput,\n CustomFieldConfig,\n Dialog,\n ModifyOrderInput,\n OrderDetailFragment,\n} from '@vendure/admin-ui/core';\nimport { getRefundablePayments, RefundablePayment } from '../../common/get-refundable-payments';\nimport { AddedLine, OrderSnapshot } from '../../common/modify-order-types';\nimport { OrderEditorComponent } from '../order-editor/order-editor.component';\n\nexport enum OrderEditResultType {\n Refund,\n Payment,\n PriceUnchanged,\n Cancel,\n}\n\ninterface OrderEditsRefundResult {\n result: OrderEditResultType.Refund;\n refunds: AdministratorRefundInput[];\n}\ninterface OrderEditsPaymentResult {\n result: OrderEditResultType.Payment;\n}\ninterface OrderEditsPriceUnchangedResult {\n result: OrderEditResultType.PriceUnchanged;\n}\ninterface OrderEditsCancelResult {\n result: OrderEditResultType.Cancel;\n}\ntype OrderEditResult =\n | OrderEditsRefundResult\n | OrderEditsPaymentResult\n | OrderEditsPriceUnchangedResult\n | OrderEditsCancelResult;\n\n@Component({\n selector: 'vdr-order-edits-preview-dialog',\n templateUrl: './order-edits-preview-dialog.component.html',\n styleUrls: ['./order-edits-preview-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderEditsPreviewDialogComponent implements OnInit, Dialog<OrderEditResult> {\n // Passed in via the modalService\n orderLineCustomFields: CustomFieldConfig[];\n order: OrderDetailFragment;\n orderSnapshot: OrderSnapshot;\n modifyOrderInput: ModifyOrderInput;\n addedLines: AddedLine[];\n shippingAddressForm: OrderEditorComponent['shippingAddressForm'];\n billingAddressForm: OrderEditorComponent['billingAddressForm'];\n updatedShippingMethods: OrderEditorComponent['updatedShippingMethods'];\n couponCodesControl: FormControl<string[] | null>;\n\n refundablePayments: RefundablePayment[];\n refundNote: string;\n resolveWith: (result?: OrderEditResult) => void;\n\n get priceDifference(): number {\n return this.order.totalWithTax - this.orderSnapshot.totalWithTax;\n }\n\n get amountToRefundTotal(): number {\n return this.refundablePayments.reduce(\n (total, payment) => total + payment.amountToRefundControl.value,\n 0,\n );\n }\n\n ngOnInit() {\n this.refundNote = this.modifyOrderInput.note || '';\n this.refundablePayments = getRefundablePayments(this.order.payments || []);\n this.refundablePayments.forEach(rp => {\n rp.amountToRefundControl.addValidators(Validators.max(this.priceDifference * -1));\n });\n if (this.priceDifference < 0 && this.refundablePayments.length) {\n this.onPaymentSelected(this.refundablePayments[0], true);\n }\n }\n\n onPaymentSelected(payment: RefundablePayment, selected: boolean) {\n if (selected) {\n const outstandingRefundAmount =\n this.priceDifference * -1 -\n this.refundablePayments\n .filter(p => p.id !== payment.id)\n .reduce((total, p) => total + p.amountToRefundControl.value, 0);\n if (0 < outstandingRefundAmount) {\n payment.amountToRefundControl.setValue(\n Math.min(outstandingRefundAmount, payment.refundableAmount),\n );\n }\n } else {\n payment.amountToRefundControl.setValue(0);\n }\n }\n\n refundsCoverDifference(): boolean {\n return this.priceDifference * -1 === this.amountToRefundTotal;\n }\n\n cancel() {\n this.resolveWith({\n result: OrderEditResultType.Cancel,\n });\n }\n\n submit() {\n if (0 < this.priceDifference) {\n this.resolveWith({\n result: OrderEditResultType.Payment,\n });\n } else if (this.priceDifference < 0) {\n this.resolveWith({\n result: OrderEditResultType.Refund,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n refunds: this.refundablePayments\n .filter(rp => rp.selected && 0 < rp.amountToRefundControl.value)\n .map(payment => {\n return {\n reason: this.refundNote || this.modifyOrderInput.note,\n paymentId: payment.id,\n amount: payment.amountToRefundControl.value,\n };\n }),\n });\n } else {\n this.resolveWith({\n result: OrderEditResultType.PriceUnchanged,\n });\n }\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.confirm-modifications' | translate }}</ng-template>\n<vdr-order-table\n [order]=\"order\"\n [orderLineCustomFields]=\"orderLineCustomFields\"\n class=\"order-edits-preview-table\"\n></vdr-order-table>\n<div class=\"payments-wrapper mb-2\">\n <div class=\"flex-spacer\">\n <vdr-payment-for-refund-selector\n *ngIf=\"priceDifference < 0\"\n class=\"\"\n [refundablePayments]=\"refundablePayments\"\n (paymentSelected)=\"onPaymentSelected($event.payment, $event.selected)\"\n [order]=\"order\"\n ></vdr-payment-for-refund-selector>\n </div>\n <div class=\"flex-spacer\">\n <vdr-card [title]=\"'order.modify-order' | translate\">\n <vdr-order-modification-summary\n [orderSnapshot]=\"orderSnapshot\"\n [modifyOrderInput]=\"modifyOrderInput\"\n [addedLines]=\"addedLines\"\n [shippingAddressForm]=\"shippingAddressForm\"\n [billingAddressForm]=\"billingAddressForm\"\n [couponCodesControl]=\"couponCodesControl\"\n [updatedShippingMethods]=\"updatedShippingMethods\"\n ></vdr-order-modification-summary>\n <vdr-labeled-data [label]=\"'order.note' | translate\">\n {{ modifyOrderInput.note || '-' }}\n </vdr-labeled-data>\n <vdr-form-field\n [label]=\"'order.refund-cancellation-reason' | translate\"\n *ngIf=\"priceDifference < 0\"\n >\n <textarea [(ngModel)]=\"refundNote\" name=\"refundNote\" required></textarea>\n </vdr-form-field>\n </vdr-card>\n </div>\n</div>\n<ng-template vdrDialogButtons>\n <div>\n <div class=\"errors\">\n <clr-alert\n class=\"mb-1\"\n *ngIf=\"priceDifference < 0 && !refundsCoverDifference()\"\n [clrAlertType]=\"'danger'\"\n [clrAlertClosable]=\"false\"\n >\n <clr-alert-item>\n {{ 'order.refund-total-warning' | translate }}\n </clr-alert-item>\n </clr-alert>\n </div>\n <div class=\"modal-buttons\">\n <clr-alert class=\"\" [clrAlertType]=\"'primary'\" [clrAlertClosable]=\"false\">\n <clr-alert-item>\n {{ 'order.modify-order-price-difference' | translate }}\n {{ 0 < priceDifference ? '+' : ''\n }}{{ priceDifference | localeCurrency : order.currencyCode }}\n </clr-alert-item>\n </clr-alert>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">\n {{ 'common.cancel' | translate }}\n </button>\n <button\n type=\"submit\"\n (click)=\"submit()\"\n [disabled]=\"priceDifference < 0 ? !refundsCoverDifference() : false\"\n class=\"btn btn-primary\"\n >\n {{ 'common.confirm' | translate }}\n </button>\n </div>\n </div>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n ChannelService,\n GetOrderListDocument,\n getOrderStateTranslationToken,\n LogicalOperator,\n OrderListOptions,\n OrderType,\n ServerConfigService,\n TypedBaseListComponent,\n} from '@vendure/admin-ui/core';\nimport { Order } from '@vendure/common/lib/generated-types';\nimport { tap } from 'rxjs/operators';\n\n@Component({\n selector: 'vdr-order-list',\n templateUrl: './order-list.component.html',\n styleUrls: ['./order-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderListComponent\n extends TypedBaseListComponent<typeof GetOrderListDocument, 'orders'>\n implements OnInit\n{\n dataTableListId = 'order-list';\n orderStates = this.serverConfigService.getOrderProcessStates().map(item => item.name);\n readonly OrderType = OrderType;\n readonly customFields = this.getCustomFieldConfig('Order');\n readonly filters = this.createFilterCollection()\n .addIdFilter()\n .addDateFilters()\n .addFilter({\n name: 'active',\n type: { kind: 'boolean' },\n label: _('order.filter-is-active'),\n filterField: 'active',\n })\n .addFilter({\n name: 'totalWithTax',\n type: { kind: 'number', inputType: 'currency', currencyCode: 'USD' },\n label: _('order.total'),\n filterField: 'totalWithTax',\n })\n .addFilter({\n name: 'state',\n type: {\n kind: 'select',\n options: this.orderStates.map(s => ({ value: s, label: getOrderStateTranslationToken(s) })),\n },\n label: _('order.state'),\n filterField: 'state',\n })\n .addFilter({\n name: 'type',\n type: {\n kind: 'select',\n options: [\n { value: OrderType.Regular, label: _('order.order-type-regular') },\n { value: OrderType.Aggregate, label: _('order.order-type-aggregate') },\n { value: OrderType.Seller, label: _('order.order-type-seller') },\n ],\n },\n label: _('order.order-type'),\n filterField: 'type',\n })\n .addFilter({\n name: 'orderPlacedAt',\n type: { kind: 'dateRange' },\n label: _('order.placed-at'),\n filterField: 'orderPlacedAt',\n })\n .addFilter({\n name: 'customerLastName',\n type: { kind: 'text' },\n label: _('customer.last-name'),\n filterField: 'customerLastName',\n })\n .addFilter({\n name: 'transactionId',\n type: { kind: 'text' },\n label: _('order.transaction-id'),\n filterField: 'transactionId',\n })\n .addCustomFieldFilters(this.customFields)\n .connectToRoute(this.route);\n\n readonly sorts = this.createSortCollection()\n .defaultSort('updatedAt', 'DESC')\n .addSort({ name: 'id' })\n .addSort({ name: 'createdAt' })\n .addSort({ name: 'updatedAt' })\n .addSort({ name: 'orderPlacedAt' })\n .addSort({ name: 'customerLastName' })\n .addSort({ name: 'state' })\n .addSort({ name: 'totalWithTax' })\n .addCustomFieldSorts(this.customFields)\n .connectToRoute(this.route);\n\n canCreateDraftOrder = false;\n private activeChannelIsDefaultChannel = false;\n\n constructor(\n protected serverConfigService: ServerConfigService,\n private channelService: ChannelService,\n ) {\n super();\n super.configure({\n document: GetOrderListDocument,\n getItems: result => result.orders,\n setVariables: (skip, take) => this.createQueryOptions(skip, take, this.searchTermControl.value),\n refreshListOnChanges: [this.filters.valueChanges, this.sorts.valueChanges],\n });\n\n this.canCreateDraftOrder = !!this.serverConfigService\n .getOrderProcessStates()\n .find(state => state.name === 'Created')\n ?.to.includes('Draft');\n }\n\n ngOnInit() {\n super.ngOnInit();\n const isDefaultChannel$ = this.channelService.defaultChannelIsActive$.pipe(\n tap(isDefault => (this.activeChannelIsDefaultChannel = isDefault)),\n );\n super.refreshListOnChanges(this.filters.valueChanges, this.sorts.valueChanges, isDefaultChannel$);\n }\n\n private createQueryOptions(\n // eslint-disable-next-line @typescript-eslint/no-shadow\n skip: number,\n take: number,\n searchTerm: string | null,\n ): { options: OrderListOptions } {\n let filterInput = this.filters.createFilterInput();\n if (this.activeChannelIsDefaultChannel) {\n filterInput = {\n ...(filterInput ?? {}),\n };\n }\n if (searchTerm) {\n filterInput = {\n code: {\n contains: searchTerm,\n },\n customerLastName: {\n contains: searchTerm,\n },\n transactionId: {\n contains: searchTerm,\n },\n };\n }\n return {\n options: {\n skip,\n take,\n filter: {\n ...(filterInput ?? {}),\n },\n filterOperator: searchTerm ? LogicalOperator.OR : LogicalOperator.AND,\n sort: this.sorts.createSortInput(),\n },\n };\n }\n\n getShippingNames(order: Order) {\n if (order.shippingLines.length) {\n return order.shippingLines.map(shippingLine => shippingLine.shippingMethod.name).join(', ');\n } else {\n return '';\n }\n }\n}\n", "<vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"order-list\" />\n <ng-container *ngIf=\"canCreateDraftOrder\">\n <a class=\"btn\" *vdrIfPermissions=\"['CreateOrder']\" [routerLink]=\"['./draft/create']\">\n <clr-icon shape=\"plus\"></clr-icon>\n {{ 'catalog.create-draft-order' | translate }}\n </a>\n </ng-container>\n <vdr-action-bar-dropdown-menu locationId=\"order-list\" />\n </vdr-ab-right>\n </vdr-action-bar>\n</vdr-page-block>\n<vdr-data-table-2\n class=\"mt-2\"\n [id]=\"dataTableListId\"\n [items]=\"items$ | async\"\n [itemsPerPage]=\"itemsPerPage$ | async\"\n [totalItems]=\"totalItems$ | async\"\n [currentPage]=\"currentPage$ | async\"\n [filters]=\"filters\"\n (pageChange)=\"setPageNumber($event)\"\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\n (visibleColumnsChange)=\"setVisibleColumns($event)\"\n>\n <vdr-bulk-action-menu\n locationId=\"order-list\"\n [hostComponent]=\"this\"\n [selectionManager]=\"selectionManager\"\n ></vdr-bulk-action-menu>\n <vdr-dt2-search\n [searchTermControl]=\"searchTermControl\"\n [searchTermPlaceholder]=\"'order.search-by-order-filters' | translate\"\n />\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\" [hiddenByDefault]=\"true\" [sort]=\"sorts.get('id')\">\n <ng-template let-order=\"item\">\n {{ order.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\" [hiddenByDefault]=\"true\">\n <ng-template let-order=\"item\">\n {{ order.createdAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.code' | translate\" id=\"code\" [optional]=\"false\">\n <ng-template let-order=\"item\">\n <a class=\"button-ghost\" [routerLink]=\"order.state === 'Draft' ? ['./draft', order.id] : ['./', order.id]\"\n ><span>{{ order.code }}</span>\n <clr-icon shape=\"arrow right\"></clr-icon>\n </a>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.customer' | translate\" id=\"customer\" [sort]=\"sorts.get('customerLastName')\">\n <ng-template let-order=\"item\">\n <vdr-customer-label\n [customer]=\"order.customer\"\n (click)=\"$event.stopPropagation()\"\n ></vdr-customer-label>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.order-type' | translate\" id=\"order-type\" [hiddenByDefault]=\"true\">\n <ng-template let-order=\"item\">\n <vdr-chip *ngIf=\"order.type === OrderType.Regular\">{{ 'order.order-type-regular' | translate }}</vdr-chip>\n <vdr-chip *ngIf=\"order.type === OrderType.Aggregate\">{{ 'order.order-type-aggregate' | translate }}</vdr-chip>\n <vdr-chip *ngIf=\"order.type === OrderType.Seller\">{{ 'order.order-type-seller' | translate }}</vdr-chip>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.state' | translate\" id=\"state\" [sort]=\"sorts.get('state')\">\n <ng-template let-order=\"item\">\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.total' | translate\" id=\"total\" [sort]=\"sorts.get('totalWithTax')\">\n <ng-template let-order=\"item\">\n {{ order.totalWithTax | localeCurrency : order.currencyCode }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.updated-at' | translate\" id=\"updated-at\">\n <ng-template let-order=\"item\">\n {{ order.updatedAt | timeAgo }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.placed-at' | translate\" id=\"placed-at\" [sort]=\"sorts.get('orderPlacedAt')\">\n <ng-template let-order=\"item\">\n {{ order.orderPlacedAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.shipping' | translate\" id=\"shipping\">\n <ng-template let-order=\"item\">\n {{ getShippingNames(order) }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-custom-field-column\n *ngFor=\"let customField of customFields\"\n [customField]=\"customField\"\n [sorts]=\"sorts\"\n />\n</vdr-data-table-2>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CurrencyCode, OrderDetailFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-refund-detail',\n templateUrl: './refund-detail.component.html',\n styleUrls: ['./refund-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class RefundDetailComponent {\n @Input() refund: NonNullable<OrderDetailFragment['payments']>[number]['refunds'][number];\n @Input() currencyCode: CurrencyCode;\n}\n", "<vdr-labeled-data [label]=\"'order.amount' | translate\">\n {{ refund.total | localeCurrency: currencyCode }}\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"refund.transactionId\" [label]=\"'order.transaction-id' | translate\">\n {{ refund.transactionId }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.payment-metadata' | translate\">\n <vdr-object-tree [value]=\"refund.metadata\"></vdr-object-tree>\n</vdr-labeled-data>\n", "import { ADDRESS_FRAGMENT } from '@vendure/admin-ui/core';\nimport { gql } from 'apollo-angular';\n\nexport const GET_CUSTOMER_ADDRESSES = gql`\n query GetCustomerAddresses($customerId: ID!) {\n customer(id: $customerId) {\n id\n addresses {\n ...Address\n }\n }\n }\n ${ADDRESS_FRAGMENT}\n`;\n", "import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { DataService, GetOrderStateQuery, GetOrderStateQueryVariables } from '@vendure/admin-ui/core';\nimport { gql } from 'apollo-angular';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport const GET_ORDER_STATE = gql`\n query GetOrderState($id: ID!) {\n order(id: $id) {\n id\n state\n }\n }\n`;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OrderGuard {\n constructor(private dataService: DataService, private router: Router) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n const isDraft = state.url.includes('orders/draft');\n const isModifying = state.url.includes('/modify');\n const id = route.paramMap.get('id');\n if (isDraft) {\n if (id === 'create') {\n return this.dataService.order\n .createDraftOrder()\n .pipe(\n map(({ createDraftOrder }) =>\n this.router.parseUrl(`/orders/draft/${createDraftOrder.id}`),\n ),\n );\n } else {\n return true;\n }\n } else {\n return (\n this.dataService\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n .query<GetOrderStateQuery, GetOrderStateQueryVariables>(GET_ORDER_STATE, { id: id! })\n .single$.pipe(\n map(({ order }) => {\n if (order?.state === 'Modifying' && !isModifying) {\n return this.router.parseUrl(`/orders/${id}/modify`);\n } else {\n return true;\n }\n }),\n )\n );\n }\n }\n}\n", "import { Route } from '@angular/router';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport { PageComponent, PageService } from '@vendure/admin-ui/core';\nimport { OrderGuard } from './providers/routing/order.guard';\n\nexport const createRoutes = (pageService: PageService): Route[] => [\n {\n path: '',\n component: PageComponent,\n data: {\n locationId: 'order-list',\n breadcrumb: _('breadcrumb.orders'),\n },\n children: pageService.getPageTabRoutes('order-list'),\n },\n {\n path: 'draft/:id',\n component: PageComponent,\n canActivate: [OrderGuard],\n data: {\n locationId: 'draft-order-detail',\n breadcrumb: { label: _('breadcrumb.orders'), link: ['../'] },\n },\n children: pageService.getPageTabRoutes('draft-order-detail'),\n },\n {\n path: ':id',\n component: PageComponent,\n canActivate: [OrderGuard],\n data: {\n locationId: 'order-detail',\n breadcrumb: { label: _('breadcrumb.orders'), link: ['../'] },\n },\n children: pageService.getPageTabRoutes('order-detail'),\n },\n {\n path: ':aggregateOrderId/seller-orders/:id',\n component: PageComponent,\n canActivate: [OrderGuard],\n data: {\n locationId: 'order-detail',\n breadcrumb: { label: _('breadcrumb.orders'), link: ['../'] },\n },\n children: pageService.getPageTabRoutes('order-detail'),\n },\n {\n path: ':id/modify',\n component: PageComponent,\n canActivate: [OrderGuard],\n data: {\n locationId: 'modify-order',\n breadcrumb: { label: _('breadcrumb.orders'), link: ['../'] },\n },\n children: pageService.getPageTabRoutes('modify-order'),\n },\n];\n", "import { NgModule } from '@angular/core';\nimport { RouterModule, ROUTES } from '@angular/router';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n detailComponentWithResolver,\n OrderDetailQueryDocument,\n OrderType,\n PageService,\n SharedModule,\n} from '@vendure/admin-ui/core';\n\nimport { AddManualPaymentDialogComponent } from './components/add-manual-payment-dialog/add-manual-payment-dialog.component';\nimport { CancelOrderDialogComponent } from './components/cancel-order-dialog/cancel-order-dialog.component';\nimport { CouponCodeSelectorComponent } from './components/coupon-code-selector/coupon-code-selector.component';\nimport { DraftOrderDetailComponent } from './components/draft-order-detail/draft-order-detail.component';\nimport { DraftOrderVariantSelectorComponent } from './components/draft-order-variant-selector/draft-order-variant-selector.component';\nimport { FulfillOrderDialogComponent } from './components/fulfill-order-dialog/fulfill-order-dialog.component';\nimport { FulfillmentCardComponent } from './components/fulfillment-card/fulfillment-card.component';\nimport { FulfillmentDetailComponent } from './components/fulfillment-detail/fulfillment-detail.component';\nimport { FulfillmentStateLabelComponent } from './components/fulfillment-state-label/fulfillment-state-label.component';\nimport { LineFulfillmentComponent } from './components/line-fulfillment/line-fulfillment.component';\nimport { LineRefundsComponent } from './components/line-refunds/line-refunds.component';\nimport { ModificationDetailComponent } from './components/modification-detail/modification-detail.component';\nimport { OrderCustomFieldsCardComponent } from './components/order-custom-fields-card/order-custom-fields-card.component';\nimport { OrderTotalColumnComponent } from './components/order-data-table/order-total-column.component';\nimport { OrderDetailComponent } from './components/order-detail/order-detail.component';\nimport { OrderEditorComponent } from './components/order-editor/order-editor.component';\nimport { OrderEditsPreviewDialogComponent } from './components/order-edits-preview-dialog/order-edits-preview-dialog.component';\nimport { OrderHistoryEntryHostComponent } from './components/order-history/order-history-entry-host.component';\nimport { OrderHistoryComponent } from './components/order-history/order-history.component';\nimport { OrderListComponent } from './components/order-list/order-list.component';\nimport { OrderPaymentCardComponent } from './components/order-payment-card/order-payment-card.component';\nimport { OrderProcessGraphDialogComponent } from './components/order-process-graph-dialog/order-process-graph-dialog.component';\nimport { OrderProcessEdgeComponent } from './components/order-process-graph/order-process-edge.component';\nimport { OrderProcessGraphComponent } from './components/order-process-graph/order-process-graph.component';\nimport { OrderProcessNodeComponent } from './components/order-process-graph/order-process-node.component';\nimport { OrderStateSelectDialogComponent } from './components/order-state-select-dialog/order-state-select-dialog.component';\nimport { OrderTableComponent } from './components/order-table/order-table.component';\nimport { PaymentDetailComponent } from './components/payment-detail/payment-detail.component';\nimport { PaymentStateLabelComponent } from './components/payment-state-label/payment-state-label.component';\nimport { RefundDetailComponent } from './components/refund-detail/refund-detail.component';\nimport { RefundOrderDialogComponent } from './components/refund-order-dialog/refund-order-dialog.component';\nimport { RefundStateLabelComponent } from './components/refund-state-label/refund-state-label.component';\nimport { SelectAddressDialogComponent } from './components/select-address-dialog/select-address-dialog.component';\nimport { SelectCustomerDialogComponent } from './components/select-customer-dialog/select-customer-dialog.component';\nimport { SelectShippingMethodDialogComponent } from './components/select-shipping-method-dialog/select-shipping-method-dialog.component';\nimport { SellerOrdersCardComponent } from './components/seller-orders-card/seller-orders-card.component';\nimport { SettleRefundDialogComponent } from './components/settle-refund-dialog/settle-refund-dialog.component';\nimport { SimpleItemListComponent } from './components/simple-item-list/simple-item-list.component';\nimport { createRoutes } from './order.routes';\nimport { OrderDataTableComponent } from './components/order-data-table/order-data-table.component';\nimport { PaymentForRefundSelectorComponent } from './components/payment-for-refund-selector/payment-for-refund-selector.component';\nimport { OrderModificationSummaryComponent } from './components/order-modification-summary/order-modification-summary.component';\n\n@NgModule({\n imports: [SharedModule, RouterModule.forChild([])],\n providers: [\n {\n provide: ROUTES,\n useFactory: (pageService: PageService) => createRoutes(pageService),\n multi: true,\n deps: [PageService],\n },\n ],\n declarations: [\n OrderListComponent,\n OrderDetailComponent,\n FulfillOrderDialogComponent,\n LineFulfillmentComponent,\n RefundOrderDialogComponent,\n CancelOrderDialogComponent,\n PaymentStateLabelComponent,\n LineRefundsComponent,\n OrderPaymentCardComponent,\n RefundStateLabelComponent,\n SettleRefundDialogComponent,\n OrderHistoryComponent,\n FulfillmentDetailComponent,\n PaymentDetailComponent,\n SimpleItemListComponent,\n OrderCustomFieldsCardComponent,\n OrderProcessGraphComponent,\n OrderProcessNodeComponent,\n OrderProcessEdgeComponent,\n OrderProcessGraphDialogComponent,\n FulfillmentStateLabelComponent,\n FulfillmentCardComponent,\n OrderEditorComponent,\n OrderTableComponent,\n OrderEditsPreviewDialogComponent,\n ModificationDetailComponent,\n AddManualPaymentDialogComponent,\n OrderStateSelectDialogComponent,\n DraftOrderDetailComponent,\n DraftOrderVariantSelectorComponent,\n SelectCustomerDialogComponent,\n SelectAddressDialogComponent,\n CouponCodeSelectorComponent,\n SelectShippingMethodDialogComponent,\n OrderHistoryEntryHostComponent,\n SellerOrdersCardComponent,\n OrderDataTableComponent,\n OrderTotalColumnComponent,\n PaymentForRefundSelectorComponent,\n OrderModificationSummaryComponent,\n RefundDetailComponent,\n ],\n exports: [OrderCustomFieldsCardComponent],\n})\nexport class OrderModule {\n private static hasRegisteredTabsAndBulkActions = false;\n\n constructor(pageService: PageService) {\n if (OrderModule.hasRegisteredTabsAndBulkActions) {\n return;\n }\n pageService.registerPageTab({\n priority: 0,\n location: 'order-list',\n tab: _('order.orders'),\n route: '',\n component: OrderListComponent,\n });\n pageService.registerPageTab({\n priority: 0,\n location: 'order-detail',\n tab: _('order.order'),\n route: '',\n component: detailComponentWithResolver({\n component: OrderDetailComponent,\n query: OrderDetailQueryDocument,\n entityKey: 'order',\n getBreadcrumbs: entity =>\n entity?.type !== OrderType.Seller || !entity?.aggregateOrder\n ? [\n {\n label: `${entity?.code}`,\n link: [entity?.id],\n },\n ]\n : [\n {\n label: `${entity?.aggregateOrder?.code}`,\n link: ['/orders/', entity?.aggregateOrder?.id],\n },\n {\n label: _('breadcrumb.seller-orders'),\n link: ['/orders/', entity?.aggregateOrder?.id],\n },\n {\n label: `${entity?.code}`,\n link: [entity?.id],\n },\n ],\n }),\n });\n pageService.registerPageTab({\n priority: 0,\n location: 'draft-order-detail',\n tab: _('order.order'),\n route: '',\n component: detailComponentWithResolver({\n component: DraftOrderDetailComponent,\n query: OrderDetailQueryDocument,\n entityKey: 'order',\n getBreadcrumbs: entity => [\n {\n label: _('order.draft-order'),\n link: [entity?.id],\n },\n ],\n }),\n });\n pageService.registerPageTab({\n priority: 0,\n location: 'modify-order',\n tab: _('order.order'),\n route: '',\n component: detailComponentWithResolver({\n component: OrderEditorComponent,\n query: OrderDetailQueryDocument,\n entityKey: 'order',\n getBreadcrumbs: entity => [\n {\n label: entity?.code || 'order',\n link: ['/orders/', entity?.id],\n },\n {\n label: _('breadcrumb.modifying-order'),\n link: [entity?.id],\n },\n ],\n }),\n });\n OrderModule.hasRegisteredTabsAndBulkActions = true;\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { FormControl, Validators } from '@angular/forms';\nimport { OrderDetailFragment } from '@vendure/admin-ui/core';\nimport { summate } from '@vendure/common/lib/shared-utils';\n\nexport type Payment = NonNullable<OrderDetailFragment['payments']>[number];\nexport type RefundablePayment = Payment & {\n refundableAmount: number;\n amountToRefundControl: FormControl<number>;\n selected: boolean;\n};\n\nexport function getRefundablePayments(payments: OrderDetailFragment['payments']): RefundablePayment[] {\n const settledPayments = (payments || []).filter(p => p.state === 'Settled');\n return settledPayments.map((payment, index) => {\n const refundableAmount =\n payment.amount -\n summate(\n payment.refunds.filter(r => r.state !== 'Failed'),\n 'total',\n );\n return {\n ...payment,\n refundableAmount,\n amountToRefundControl: new FormControl(0, {\n nonNullable: true,\n validators: [Validators.min(0), Validators.max(refundableAmount)],\n }),\n selected: index === 0,\n };\n });\n}\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport {\n CurrencyCode,\n DataService,\n Dialog,\n GetAddManualPaymentMethodListDocument,\n GetAddManualPaymentMethodListQuery,\n GetPaymentMethodListQuery,\n ItemOf,\n ManualPaymentInput,\n PAYMENT_METHOD_FRAGMENT,\n} from '@vendure/admin-ui/core';\nimport { gql } from 'apollo-angular';\nimport { Observable } from 'rxjs';\n\nconst GET_PAYMENT_METHODS_FOR_MANUAL_ADD = gql`\n query GetAddManualPaymentMethodList($options: PaymentMethodListOptions!) {\n paymentMethods(options: $options) {\n items {\n id\n createdAt\n updatedAt\n name\n code\n description\n enabled\n }\n totalItems\n }\n }\n`;\n\n@Component({\n selector: 'vdr-add-manual-payment-dialog',\n templateUrl: './add-manual-payment-dialog.component.html',\n styleUrls: ['./add-manual-payment-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class AddManualPaymentDialogComponent implements OnInit, Dialog<Omit<ManualPaymentInput, 'orderId'>> {\n // populated by ModalService call\n outstandingAmount: number;\n currencyCode: CurrencyCode;\n\n resolveWith: (result?: Omit<ManualPaymentInput, 'orderId'>) => void;\n form = new UntypedFormGroup({\n method: new UntypedFormControl('', Validators.required),\n transactionId: new UntypedFormControl('', Validators.required),\n });\n paymentMethods$: Observable<Array<ItemOf<GetAddManualPaymentMethodListQuery, 'paymentMethods'>>>;\n constructor(private dataService: DataService) {}\n\n ngOnInit(): void {\n this.paymentMethods$ = this.dataService\n .query(GetAddManualPaymentMethodListDocument, {\n options: {\n take: 999,\n },\n })\n .mapSingle(data => data.paymentMethods.items);\n }\n\n submit() {\n const formValue = this.form.value;\n this.resolveWith({\n method: formValue.method,\n transactionId: formValue.transactionId,\n });\n }\n\n cancel() {\n this.resolveWith();\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.add-payment-to-order' | translate }}</ng-template>\n<form [formGroup]=\"form\">\n <vdr-form-field [label]=\"'order.payment-method' | translate\" for=\"method\">\n <ng-select\n [items]=\"paymentMethods$ | async\"\n bindLabel=\"code\"\n appendTo=\"body\"\n autofocus\n bindValue=\"code\"\n [addTag]=\"true\"\n formControlName=\"method\"\n ></ng-select>\n </vdr-form-field>\n <vdr-form-field [label]=\"'order.transaction-id' | translate\" for=\"transactionId\">\n <input id=\"transactionId\" type=\"text\" formControlName=\"transactionId\" />\n </vdr-form-field>\n</form>\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button type=\"submit\" (click)=\"submit()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || form.pristine\">\n {{ 'order.add-payment' | translate }} ({{ outstandingAmount | localeCurrency: currencyCode }})\n </button>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n CancelOrderInput,\n Dialog,\n getAppConfig,\n I18nService,\n OrderDetailFragment,\n OrderLineInput,\n} from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-cancel-order-dialog',\n templateUrl: './cancel-order-dialog.component.html',\n styleUrls: ['./cancel-order-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class CancelOrderDialogComponent implements OnInit, Dialog<CancelOrderInput> {\n order: OrderDetailFragment;\n cancelAll = true;\n resolveWith: (result?: CancelOrderInput) => void;\n reason: string;\n lineQuantities: { [lineId: string]: number } = {};\n reasons: string[] = getAppConfig().cancellationReasons ?? [\n _('order.cancel-reason-customer-request'),\n _('order.cancel-reason-not-available'),\n ];\n\n get selectionCount(): number {\n return Object.values(this.lineQuantities).reduce((sum, n) => sum + n, 0);\n }\n\n constructor(private i18nService: I18nService) {\n this.reasons = this.reasons.map(r => this.i18nService.translate(r));\n }\n\n ngOnInit() {\n this.lineQuantities = this.order.lines.reduce(\n (result, line) => ({ ...result, [line.id]: line.quantity }),\n {},\n );\n }\n\n radioChanged() {\n if (this.cancelAll) {\n for (const line of this.order.lines) {\n this.lineQuantities[line.id] = line.quantity;\n }\n } else {\n for (const line of this.order.lines) {\n this.lineQuantities[line.id] = 0;\n }\n }\n }\n\n checkIfAllSelected() {\n for (const [lineId, quantity] of Object.entries(this.lineQuantities)) {\n const quantityInOrder = this.order.lines.find(line => line.id === lineId)?.quantity;\n if (quantityInOrder && quantity < quantityInOrder) {\n return;\n }\n }\n // If we got here, all of the selected quantities are equal to the order\n // line quantities, i.e. everything is selected.\n this.cancelAll = true;\n }\n\n select() {\n this.resolveWith({\n orderId: this.order.id,\n lines: this.getLineInputs(),\n reason: this.reason,\n cancelShipping: this.cancelAll,\n });\n }\n\n cancel() {\n this.resolveWith();\n }\n\n private getLineInputs(): OrderLineInput[] | undefined {\n if (this.order.active) {\n return;\n }\n return Object.entries(this.lineQuantities)\n .map(([orderLineId, quantity]) => ({\n orderLineId,\n quantity,\n }))\n .filter(l => 0 < l.quantity);\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.cancel-order' | translate }}</ng-template>\n\n<div class=\"fulfillment-wrapper\">\n <div class=\"order-lines\">\n <table class=\"table\">\n <thead>\n <tr>\n <th></th>\n <th>{{ 'order.product-name' | translate }}</th>\n <th>{{ 'order.product-sku' | translate }}</th>\n <th>{{ 'order.quantity' | translate }}</th>\n <th>{{ 'order.unit-price' | translate }}</th>\n <th>{{ 'order.cancel' | translate }}</th>\n </tr>\n </thead>\n <tr\n *ngFor=\"let line of order.lines\"\n class=\"order-line\"\n [class.is-disabled]=\"cancelAll\"\n [class.is-cancelled]=\"line.quantity === 0\"\n >\n <td class=\"align-middle thumb\">\n <img [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\n </td>\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\n <td class=\"align-middle quantity\">{{ line.quantity }}</td>\n <td class=\"align-middle quantity\">\n {{ line.unitPriceWithTax | localeCurrency: order.currencyCode }}\n </td>\n <td class=\"align-middle fulfil\">\n <input\n *ngIf=\"line.quantity > 0 && !order.active; else nonEditable\"\n [(ngModel)]=\"lineQuantities[line.id]\"\n (input)=\"checkIfAllSelected()\"\n [disabled]=\"cancelAll\"\n type=\"number\"\n [max]=\"line.quantity\"\n min=\"0\"\n />\n <ng-template #nonEditable>{{ line.quantity }}</ng-template>\n </td>\n </tr>\n </table>\n </div>\n <div class=\"cancellation-details\">\n <ng-container *ngIf=\"order.active !== true\">\n <clr-radio-wrapper>\n <input\n type=\"radio\"\n clrRadio\n [value]=\"true\"\n [(ngModel)]=\"cancelAll\"\n name=\"options\"\n (ngModelChange)=\"radioChanged()\"\n />\n <label>{{ 'order.cancel-entire-order' | translate }}</label>\n </clr-radio-wrapper>\n <clr-radio-wrapper>\n <input\n type=\"radio\"\n clrRadio\n [value]=\"false\"\n [(ngModel)]=\"cancelAll\"\n name=\"options\"\n (ngModelChange)=\"radioChanged()\"\n />\n <label>{{ 'order.cancel-specified-items' | translate }}</label>\n </clr-radio-wrapper>\n </ng-container>\n <label class=\"clr-control-label\">{{ 'order.cancellation-reason' | translate }}</label>\n <ng-select\n [items]=\"reasons\"\n bindLabel=\"name\"\n autofocus\n bindValue=\"id\"\n [addTag]=\"true\"\n [(ngModel)]=\"reason\"\n ></ng-select>\n </div>\n</div>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button\n type=\"submit\"\n (click)=\"select()\"\n [disabled]=\"!reason || (!order.active && selectionCount === 0)\"\n class=\"btn btn-primary\"\n >\n <ng-container *ngIf=\"!order.active\">\n {{ 'order.cancel-selected-items' | translate }}\n </ng-container>\n <ng-container *ngIf=\"order.active\">\n {{ 'order.cancel-order' | translate }}\n </ng-container>\n </button>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport {\n DataService,\n GetCouponCodeSelectorPromotionListDocument,\n PROMOTION_FRAGMENT,\n} from '@vendure/admin-ui/core';\nimport { gql } from 'apollo-angular';\nimport { concat, Observable, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map, skip, startWith, switchMap } from 'rxjs/operators';\n\nexport const GET_COUPON_CODE_SELECTOR_PROMOTION_LIST = gql`\n query GetCouponCodeSelectorPromotionList($options: PromotionListOptions) {\n promotions(options: $options) {\n items {\n id\n name\n couponCode\n }\n totalItems\n }\n }\n`;\n\n@Component({\n selector: 'vdr-coupon-code-selector',\n templateUrl: './coupon-code-selector.component.html',\n styleUrls: ['./coupon-code-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class CouponCodeSelectorComponent implements OnInit {\n @Input() couponCodes: string[];\n @Input() control: UntypedFormControl | undefined;\n @Output() addCouponCode = new EventEmitter<string>();\n @Output() removeCouponCode = new EventEmitter<string>();\n availableCouponCodes$: Observable<Array<{ code: string; promotionName: string }>>;\n couponCodeInput$ = new Subject<string>();\n constructor(private dataService: DataService) {}\n\n ngOnInit(): void {\n this.availableCouponCodes$ = concat(\n this.couponCodeInput$.pipe(\n debounceTime(200),\n distinctUntilChanged(),\n switchMap(\n term =>\n this.dataService.query(GetCouponCodeSelectorPromotionListDocument, {\n options: {\n take: 10,\n skip: 0,\n filter: {\n couponCode: { contains: term },\n },\n },\n }).single$,\n ),\n map(({ promotions }) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n promotions.items.map(p => ({ code: p.couponCode!, promotionName: p.name })),\n ),\n startWith([]),\n ),\n );\n if (!this.control) {\n this.control = new UntypedFormControl(this.couponCodes ?? []);\n }\n }\n\n remove(code: string) {\n this.removeCouponCode.emit(code);\n }\n}\n", "<ng-select\n [items]=\"availableCouponCodes$ | async\"\n appendTo=\"body\"\n bindLabel=\"code\"\n bindValue=\"code\"\n [addTag]=\"false\"\n [multiple]=\"true\"\n [hideSelected]=\"true\"\n [minTermLength]=\"2\"\n typeToSearchText=\"\"\n [typeahead]=\"couponCodeInput$\"\n [formControl]=\"control\"\n (add)=\"addCouponCode.emit($event.code)\"\n (remove)=\"remove($event.code)\"\n>\n <ng-template ng-option-tmp let-item=\"item\">\n <div class=\"flex items-center\">\n <vdr-chip class=\"mr-1\">{{ item.code }}</vdr-chip>\n <span>{{ item.promotionName }}</span>\n </div>\n </ng-template>\n</ng-select>\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport {\n AddressFragment,\n CreateAddressInput,\n DataService,\n Dialog,\n GetAvailableCountriesQuery,\n GetCustomerAddressesDocument,\n OrderAddressFragment,\n} from '@vendure/admin-ui/core';\nimport { pick } from '@vendure/common/lib/pick';\nimport { Observable, of } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { Customer } from '../select-customer-dialog/select-customer-dialog.component';\n\n@Component({\n selector: 'vdr-select-address-dialog',\n templateUrl: './select-address-dialog.component.html',\n styleUrls: ['./select-address-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class SelectAddressDialogComponent implements OnInit, Dialog<CreateAddressInput> {\n resolveWith: (result?: CreateAddressInput) => void;\n availableCountries$: Observable<GetAvailableCountriesQuery['countries']['items']>;\n addresses$: Observable<AddressFragment[]>;\n customerId: string | undefined;\n currentAddress: OrderAddressFragment | undefined;\n addressForm: UntypedFormGroup;\n selectedAddress: AddressFragment | undefined;\n useExisting = true;\n createNew = false;\n\n constructor(private dataService: DataService, private formBuilder: UntypedFormBuilder) {}\n\n ngOnInit(): void {\n this.addressForm = this.formBuilder.group({\n fullName: [this.currentAddress?.fullName ?? ''],\n company: [this.currentAddress?.company ?? ''],\n streetLine1: [this.currentAddress?.streetLine1 ?? '', Validators.required],\n streetLine2: [this.currentAddress?.streetLine2 ?? ''],\n city: [this.currentAddress?.city ?? '', Validators.required],\n province: [this.currentAddress?.province ?? ''],\n postalCode: [this.currentAddress?.postalCode ?? '', Validators.required],\n countryCode: [this.currentAddress?.countryCode ?? '', Validators.required],\n phoneNumber: [this.currentAddress?.phoneNumber ?? ''],\n });\n this.useExisting = !!this.customerId;\n this.addresses$ = this.customerId\n ? this.dataService\n .query(GetCustomerAddressesDocument, { customerId: this.customerId })\n .mapSingle(({ customer }) => customer?.addresses ?? [])\n .pipe(\n tap(addresses => {\n if (this.currentAddress) {\n this.selectedAddress = addresses.find(\n a =>\n a.streetLine1 === this.currentAddress?.streetLine1 &&\n a.postalCode === this.currentAddress?.postalCode,\n );\n }\n if (addresses.length === 0) {\n this.createNew = true;\n this.useExisting = false;\n }\n }),\n )\n : of([]);\n this.availableCountries$ = this.dataService.settings\n .getAvailableCountries()\n .mapSingle(({ countries }) => countries.items);\n }\n\n trackByFn(item: Customer) {\n return item.id;\n }\n\n addressIdFn(item: AddressFragment) {\n return item.streetLine1 + item.postalCode;\n }\n\n cancel() {\n this.resolveWith();\n }\n\n select() {\n if (this.useExisting && this.selectedAddress) {\n this.resolveWith({\n ...pick(this.selectedAddress, [\n 'fullName',\n 'company',\n 'streetLine1',\n 'streetLine2',\n 'city',\n 'province',\n 'phoneNumber',\n 'postalCode',\n ]),\n countryCode: this.selectedAddress.country.code,\n });\n }\n if (this.createNew && this.addressForm.valid) {\n const formValue = this.addressForm.value;\n this.resolveWith(formValue);\n }\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.select-address' | translate }}</ng-template>\n\n<clr-tabs *ngIf=\"addresses$ | async as addresses\">\n <clr-tab *ngIf=\"customerId && addresses.length\">\n <button clrTabLink>{{ 'order.existing-address' | translate }}</button>\n <ng-template [(clrIfActive)]=\"useExisting\">\n <clr-tab-content>\n <vdr-radio-card-fieldset\n class=\"block mt-4\"\n [idFn]=\"addressIdFn\"\n [selectedItemId]=\"selectedAddress && addressIdFn(selectedAddress)\"\n (selectItem)=\"selectedAddress = $event\"\n >\n <vdr-radio-card *ngFor=\"let address of addresses\" [item]=\"address\">\n <vdr-formatted-address [address]=\"address\"></vdr-formatted-address>\n </vdr-radio-card>\n </vdr-radio-card-fieldset>\n </clr-tab-content>\n </ng-template>\n </clr-tab>\n <clr-tab>\n <button clrTabLink>{{ 'customer.create-new-address' | translate }}</button>\n\n <ng-template [(clrIfActive)]=\"createNew\">\n <clr-tab-content>\n <vdr-address-form\n [formGroup]=\"addressForm\"\n [availableCountries]=\"availableCountries$ | async\"\n ></vdr-address-form>\n </clr-tab-content>\n </ng-template>\n </clr-tab>\n</clr-tabs>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button\n type=\"submit\"\n (click)=\"select()\"\n [disabled]=\"(useExisting && !selectedAddress) || (createNew && addressForm.invalid)\"\n class=\"btn btn-primary\"\n >\n {{ 'common.okay' | translate }}\n </button>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { CreateCustomerInput, DataService, Dialog, GetCustomerListQuery } from '@vendure/admin-ui/core';\nimport { concat, Observable, of, Subject } from 'rxjs';\nimport { catchError, debounceTime, distinctUntilChanged, switchMap, tap } from 'rxjs/operators';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\n\nexport type Customer = GetCustomerListQuery['customers']['items'][number];\nexport type SelectCustomerDialogResult = (Customer | CreateCustomerInput) & { note: string };\n\n@Component({\n selector: 'vdr-select-customer-dialog',\n templateUrl: './select-customer-dialog.component.html',\n styleUrls: ['./select-customer-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class SelectCustomerDialogComponent implements OnInit, Dialog<SelectCustomerDialogResult> {\n resolveWith: (result?: SelectCustomerDialogResult) => void;\n\n // populated by the dialog service\n canCreateNew = true;\n includeNoteInput = false;\n title: string = _('order.set-customer-for-order');\n\n customerForm: UntypedFormGroup;\n customers$: Observable<Customer[]>;\n isLoading = false;\n input$ = new Subject<string>();\n selectedCustomer: Customer[] = [];\n useExisting = true;\n createNew = false;\n note = '';\n\n constructor(private dataService: DataService, private formBuilder: UntypedFormBuilder) {\n this.customerForm = this.formBuilder.group({\n title: '',\n firstName: ['', Validators.required],\n lastName: ['', Validators.required],\n phoneNumber: '',\n emailAddress: ['', [Validators.required, Validators.email]],\n });\n }\n\n ngOnInit(): void {\n this.customers$ = concat(\n of([]), // default items\n this.input$.pipe(\n debounceTime(200),\n distinctUntilChanged(),\n tap(() => (this.isLoading = true)),\n switchMap(term =>\n this.dataService.customer\n .getCustomerList(10, 0, term)\n .mapStream(({ customers }) => customers.items)\n .pipe(\n catchError(() => of([])), // empty list on error\n tap(() => (this.isLoading = false)),\n ),\n ),\n ),\n );\n }\n\n trackByFn(item: Customer) {\n return item.id;\n }\n\n cancel() {\n this.resolveWith();\n }\n\n select() {\n if (this.useExisting && this.selectedCustomer.length === 1) {\n this.resolveWith({ ...this.selectedCustomer[0], note: this.note });\n } else if (this.createNew && this.customerForm.valid) {\n const formValue = this.customerForm.value;\n this.resolveWith({ ...formValue, note: this.note });\n }\n }\n}\n", "<ng-template vdrDialogTitle>{{ title | translate }}</ng-template>\n\n<ng-container *ngIf=\"!canCreateNew\">\n <ng-container *ngTemplateOutlet=\"customerSelect\"></ng-container>\n <vdr-form-field [label]=\"'common.add-note' | translate\" *ngIf=\"includeNoteInput\" class=\"mt-4\">\n <textarea [(ngModel)]=\"note\"></textarea>\n </vdr-form-field>\n</ng-container>\n\n<clr-tabs *ngIf=\"canCreateNew\" class=\"pt-1\">\n <clr-tab>\n <button clrTabLink>{{ 'order.existing-customer' | translate }}</button>\n\n <ng-template [(clrIfActive)]=\"useExisting\">\n <clr-tab-content>\n <div class=\"mt-4\">\n <ng-container *ngTemplateOutlet=\"customerSelect\"></ng-container>\n </div>\n </clr-tab-content>\n </ng-template>\n </clr-tab>\n <clr-tab *ngIf=\"canCreateNew\">\n <button clrTabLink>{{ 'customer.create-new-customer' | translate }}</button>\n\n <ng-template [(clrIfActive)]=\"createNew\">\n <clr-tab-content>\n <form [formGroup]=\"customerForm\">\n <vdr-form-field [label]=\"'customer.title' | translate\" for=\"title\">\n <input id=\"title\" type=\"text\" formControlName=\"title\" />\n </vdr-form-field>\n <vdr-form-field [label]=\"'customer.first-name' | translate\" for=\"firstName\">\n <input id=\"firstName\" type=\"text\" formControlName=\"firstName\" />\n </vdr-form-field>\n <vdr-form-field [label]=\"'customer.last-name' | translate\" for=\"lastName\">\n <input id=\"lastName\" type=\"text\" formControlName=\"lastName\" />\n </vdr-form-field>\n <vdr-form-field [label]=\"'customer.email-address' | translate\" for=\"emailAddress\">\n <input id=\"emailAddress\" type=\"text\" formControlName=\"emailAddress\" />\n </vdr-form-field>\n <vdr-form-field [label]=\"'customer.phone-number' | translate\" for=\"phoneNumber\">\n <input id=\"phoneNumber\" type=\"text\" formControlName=\"phoneNumber\" />\n </vdr-form-field>\n </form>\n </clr-tab-content>\n </ng-template>\n </clr-tab>\n</clr-tabs>\n\n<ng-template #customerSelect>\n <ng-select\n [items]=\"customers$ | async\"\n appendTo=\"body\"\n bindLabel=\"name\"\n [addTag]=\"false\"\n [multiple]=\"true\"\n [hideSelected]=\"true\"\n [trackByFn]=\"trackByFn\"\n [minTermLength]=\"2\"\n [loading]=\"isLoading\"\n [typeahead]=\"input$\"\n [(ngModel)]=\"selectedCustomer\"\n >\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\n <span class=\"item-row\">\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon\n ><span class=\"mx-1\">{{ item.firstName }} {{ item.lastName }}</span>\n <vdr-chip>{{ item.emailAddress }}</vdr-chip>\n </span>\n </ng-template>\n <ng-template ng-option-tmp let-item=\"item\">\n <span class=\"item-row\">\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon\n ><span class=\"mx-1\">{{ item.firstName }} {{ item.lastName }}</span>\n <vdr-chip>{{ item.emailAddress }}</vdr-chip>\n </span>\n </ng-template>\n </ng-select>\n</ng-template>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button\n type=\"submit\"\n (click)=\"select()\"\n [disabled]=\"(useExisting && selectedCustomer.length === 0) || (createNew && customerForm.invalid)\"\n class=\"btn btn-primary\"\n >\n {{ 'common.okay' | translate }}\n </button>\n</ng-template>\n", "import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport {\n CreateAddressInput,\n CurrencyCode,\n Dialog,\n DraftOrderEligibleShippingMethodsQuery,\n} from '@vendure/admin-ui/core';\n\ntype ShippingMethodQuote =\n DraftOrderEligibleShippingMethodsQuery['eligibleShippingMethodsForDraftOrder'][number];\n\n@Component({\n selector: 'vdr-select-shipping-method-dialog',\n templateUrl: './select-shipping-method-dialog.component.html',\n styleUrls: ['./select-shipping-method-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class SelectShippingMethodDialogComponent implements OnInit, Dialog<string> {\n resolveWith: (result?: string) => void;\n eligibleShippingMethods: ShippingMethodQuote[];\n currentSelectionId: string;\n currencyCode: CurrencyCode;\n selectedMethod: ShippingMethodQuote | undefined;\n\n ngOnInit(): void {\n if (this.currentSelectionId) {\n this.selectedMethod = this.eligibleShippingMethods.find(m => m.id === this.currentSelectionId);\n }\n }\n\n methodIdFn(item: ShippingMethodQuote) {\n return item.id;\n }\n\n cancel() {\n this.resolveWith();\n }\n\n select() {\n if (this.selectedMethod) {\n this.resolveWith(this.selectedMethod.id);\n }\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.select-shipping-method' | translate }}</ng-template>\n<vdr-radio-card-fieldset\n [idFn]=\"methodIdFn\"\n [selectedItemId]=\"selectedMethod?.id\"\n (selectItem)=\"selectedMethod = $event\"\n>\n <vdr-radio-card *ngFor=\"let quote of eligibleShippingMethods\" [item]=\"quote\">\n <div class=\"result-details\">\n <vdr-labeled-data [label]=\"'settings.shipping-method' | translate\">\n {{ quote.name }}\n </vdr-labeled-data>\n <div class=\"price-row\">\n <vdr-labeled-data [label]=\"'common.price' | translate\">\n {{ quote.price | localeCurrency: currencyCode }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'common.price-with-tax' | translate\">\n {{ quote.priceWithTax | localeCurrency: currencyCode }}\n </vdr-labeled-data>\n </div>\n <vdr-object-tree *ngIf=\"quote.metadata\" [value]=\"quote.metadata\"></vdr-object-tree>\n </div>\n </vdr-radio-card>\n</vdr-radio-card-fieldset>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button\n type=\"submit\"\n (click)=\"select()\"\n [disabled]=\"!selectedMethod\"\n class=\"btn btn-primary\"\n >\n {{ 'common.okay' | translate }}\n </button>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { Dialog } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-order-state-select-dialog',\n templateUrl: './order-state-select-dialog.component.html',\n styleUrls: ['./order-state-select-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderStateSelectDialogComponent implements Dialog<string> {\n resolveWith: (result?: string) => void;\n nextStates: string[] = [];\n message = '';\n cancellable: boolean;\n selectedState = '';\n\n select() {\n if (this.selectedState) {\n this.resolveWith(this.selectedState);\n }\n }\n\n cancel() {\n this.resolveWith();\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.select-state' | translate }}</ng-template>\n<p>{{ message | translate }}</p>\n<vdr-form-field>\n <select name=\"state\" [(ngModel)]=\"selectedState\">\n <option *ngFor=\"let state of nextStates\" [value]=\"state\">\n {{ state | stateI18nToken | translate }}\n </option>\n </select>\n</vdr-form-field>\n<ng-template vdrDialogButtons>\n <button type=\"submit\" *ngIf=\"cancellable\" (click)=\"cancel()\" class=\"btn btn-secondary\">\n {{ 'common.cancel' | translate }}\n </button>\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"!selectedState\">\n {{ 'order.transition-to-state' | translate: { state: (selectedState | stateI18nToken | translate) } }}\n </button>\n</ng-template>\n", "import { Injectable } from '@angular/core';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n DataService,\n HistoryEntryType,\n I18nService,\n ModalService,\n NotificationService,\n SortOrder,\n} from '@vendure/admin-ui/core';\nimport { EMPTY } from 'rxjs';\nimport { catchError, delay, map, retryWhen, switchMap, take } from 'rxjs/operators';\n\nimport { OrderStateSelectDialogComponent } from '../components/order-state-select-dialog/order-state-select-dialog.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OrderTransitionService {\n constructor(\n private dataService: DataService,\n private modalService: ModalService,\n private notificationService: NotificationService,\n private i18nService: I18nService,\n ) {}\n\n /**\n * Attempts to transition the Order to the last state it was in before it was transitioned\n * to the \"Modifying\" state. If this fails, a manual prompt is used.\n */\n transitionToPreModifyingState(orderId: string, nextStates: string[]) {\n return this.getPreModifyingState(orderId).pipe(\n switchMap(state => {\n const manualTransitionOptions = {\n orderId,\n nextStates,\n message: this.i18nService.translate(\n _('order.unable-to-transition-to-state-try-another'),\n { state },\n ),\n cancellable: false,\n retry: 10,\n };\n if (state) {\n return this.transitionToStateOrThrow(orderId, state).pipe(\n catchError(err => this.manuallyTransitionToState(manualTransitionOptions)),\n );\n } else {\n return this.manuallyTransitionToState(manualTransitionOptions);\n }\n }),\n );\n }\n\n /**\n * Displays a modal for manually selecting the next state.\n */\n manuallyTransitionToState(options: {\n orderId: string;\n nextStates: string[];\n message: string;\n cancellable: boolean;\n retry: number;\n }) {\n return this.modalService\n .fromComponent(OrderStateSelectDialogComponent, {\n locals: {\n nextStates: options.nextStates,\n cancellable: options.cancellable,\n message: options.message,\n },\n closable: false,\n size: 'md',\n })\n .pipe(\n switchMap(result => {\n if (result) {\n return this.transitionToStateOrThrow(options.orderId, result);\n } else {\n if (!options.cancellable) {\n throw new Error(`An order state must be selected`);\n } else {\n return EMPTY;\n }\n }\n }),\n retryWhen(errors => errors.pipe(delay(2000), take(options.retry))),\n );\n }\n\n /**\n * Attempts to get the last state the Order was in before it was transitioned\n * to the \"Modifying\" state.\n */\n private getPreModifyingState(orderId: string) {\n return this.dataService.order\n .getOrderHistory(orderId, {\n filter: {\n type: {\n eq: HistoryEntryType.ORDER_STATE_TRANSITION,\n },\n },\n sort: {\n createdAt: SortOrder.DESC,\n },\n })\n .mapSingle(result => result.order)\n .pipe(\n map(result => {\n const item = result?.history.items.find(i => i.data.to === 'Modifying');\n if (item) {\n return item.data.from as string;\n } else {\n return;\n }\n }),\n );\n }\n\n private transitionToStateOrThrow(orderId: string, state: string) {\n return this.dataService.order.transitionToState(orderId, state).pipe(\n map(({ transitionOrderToState }) => {\n switch (transitionOrderToState?.__typename) {\n case 'Order':\n return transitionOrderToState?.state;\n case 'OrderStateTransitionError':\n this.notificationService.error(transitionOrderToState?.transitionError);\n throw new Error(transitionOrderToState?.transitionError);\n }\n }),\n );\n }\n}\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport { CustomFieldConfig, ModalService } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-order-custom-fields-card',\n templateUrl: './order-custom-fields-card.component.html',\n styleUrls: ['./order-custom-fields-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderCustomFieldsCardComponent implements OnInit {\n @Input() customFieldsConfig: CustomFieldConfig[] = [];\n @Input() customFieldValues: { [name: string]: any } = {};\n @Output() updateClick = new EventEmitter<any>();\n customFieldForm: UntypedFormGroup;\n editable = false;\n constructor(\n private formBuilder: UntypedFormBuilder,\n private modalService: ModalService,\n ) {}\n\n ngOnInit() {\n this.customFieldForm = this.formBuilder.group({});\n for (const field of this.customFieldsConfig) {\n this.customFieldForm.addControl(\n field.name,\n this.formBuilder.control(this.customFieldValues[field.name]),\n );\n }\n }\n\n onUpdateClick() {\n this.updateClick.emit(this.customFieldForm.value);\n this.customFieldForm.markAsPristine();\n this.editable = false;\n }\n\n onCancelClick() {\n if (this.customFieldForm.dirty) {\n this.modalService\n .dialog({\n title: _('catalog.confirm-cancel'),\n buttons: [\n { type: 'secondary', label: _('common.keep-editing') },\n { type: 'danger', label: _('common.discard-changes'), returnValue: true },\n ],\n })\n .subscribe(result => {\n if (result) {\n this.customFieldForm.reset();\n this.customFieldForm.markAsPristine();\n this.editable = false;\n }\n });\n } else {\n this.editable = false;\n }\n }\n}\n", "<div class=\"card\" *ngIf=\"customFieldsConfig.length\">\n <div class=\"card-header\">\n {{ 'common.custom-fields' | translate }}\n </div>\n <div class=\"card-block\">\n <div class=\"card-text custom-field-form\" [class.editable]=\"editable\">\n <vdr-tabbed-custom-fields\n entityName=\"Order\"\n [customFields]=\"customFieldsConfig\"\n [customFieldsFormGroup]=\"customFieldForm\"\n [readonly]=\"!editable\"\n [compact]=\"true\"\n ></vdr-tabbed-custom-fields>\n </div>\n </div>\n <div class=\"card-footer\">\n <button class=\"btn btn-sm btn-secondary\" (click)=\"editable = true\" *ngIf=\"!editable\">\n <clr-icon shape=\"pencil\"></clr-icon>\n {{ 'common.edit' | translate }}\n </button>\n <button\n class=\"btn btn-sm btn-primary\"\n (click)=\"onUpdateClick()\"\n *ngIf=\"editable\"\n [disabled]=\"customFieldForm.pristine || customFieldForm.invalid\"\n >\n <clr-icon shape=\"check\"></clr-icon>\n {{ 'common.update' | translate }}\n </button>\n <button\n class=\"btn btn-sm btn-secondary\"\n (click)=\"onCancelClick()\"\n *ngIf=\"editable\"\n >\n <clr-icon shape=\"times\"></clr-icon>\n {{ 'common.cancel' | translate }}\n </button>\n </div>\n</div>\n", "import { ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { OrderDetailFragment } from '@vendure/admin-ui/core';\nimport { notNullOrUndefined } from '@vendure/common/lib/shared-utils';\nimport { unique } from '@vendure/common/lib/unique';\n\nexport type FulfillmentStatus = 'full' | 'partial' | 'none';\ntype Fulfillment = NonNullable<OrderDetailFragment['fulfillments']>[number];\n\n@Component({\n selector: 'vdr-line-fulfillment',\n templateUrl: './line-fulfillment.component.html',\n styleUrls: ['./line-fulfillment.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class LineFulfillmentComponent implements OnChanges {\n @Input() line: OrderDetailFragment['lines'][number];\n @Input() allOrderFulfillments: OrderDetailFragment['fulfillments'];\n @Input() orderState: string;\n fulfilledCount = 0;\n fulfillmentStatus: FulfillmentStatus;\n fulfillments: Array<{\n count: number;\n fulfillment: Fulfillment;\n }> = [];\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.line) {\n this.fulfilledCount = this.getDeliveredCount(this.line);\n this.fulfillmentStatus = this.getFulfillmentStatus(this.fulfilledCount, this.line.quantity);\n this.fulfillments = this.getFulfillments(this.line);\n }\n }\n\n /**\n * Returns the number of items in an OrderLine which are fulfilled.\n */\n private getDeliveredCount(line: OrderDetailFragment['lines'][number]): number {\n return (\n line.fulfillmentLines?.reduce((sum, fulfillmentLine) => sum + fulfillmentLine.quantity, 0) ?? 0\n );\n }\n\n private getFulfillmentStatus(fulfilledCount: number, lineQuantity: number): FulfillmentStatus {\n if (fulfilledCount === lineQuantity) {\n return 'full';\n }\n if (0 < fulfilledCount && fulfilledCount < lineQuantity) {\n return 'partial';\n }\n return 'none';\n }\n\n private getFulfillments(\n line: OrderDetailFragment['lines'][number],\n ): Array<{ count: number; fulfillment: NonNullable<OrderDetailFragment['fulfillments']>[number] }> {\n return (\n line.fulfillmentLines\n ?.map(fulfillmentLine => {\n const fulfillment = this.allOrderFulfillments?.find(\n f => f.id === fulfillmentLine.fulfillmentId,\n );\n if (!fulfillment) {\n return;\n }\n return {\n count: fulfillmentLine.quantity,\n fulfillment,\n };\n })\n .filter(notNullOrUndefined) ?? []\n );\n }\n}\n", "<vdr-dropdown class=\"search-settings-menu\" *ngIf=\"fulfilledCount || orderState === 'PartiallyDelivered'\">\n <button type=\"button\" class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon *ngIf=\"fulfillmentStatus === 'full'\" class=\"item-fulfilled\" shape=\"check-circle\"></clr-icon>\n <clr-icon\n *ngIf=\"fulfillmentStatus === 'partial'\"\n class=\"item-partially-fulfilled\"\n shape=\"check-circle\"\n ></clr-icon>\n <clr-icon\n *ngIf=\"fulfillmentStatus === 'none'\"\n class=\"item-not-fulfilled\"\n shape=\"exclamation-circle\"\n ></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'full'\">\n {{ 'order.line-fulfillment-all' | translate }}\n </label>\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'partial'\">\n {{\n 'order.line-fulfillment-partial' | translate: { total: line.quantity, count: fulfilledCount }\n }}\n </label>\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'none'\">\n {{ 'order.line-fulfillment-none' | translate }}\n </label>\n <div class=\"fulfillment-detail\" *ngFor=\"let item of fulfillments\">\n <div class=\"fulfillment-title\">\n {{ 'order.fulfillment' | translate }} #{{ item.fulfillment.id }} ({{\n 'order.item-count' | translate: { count: item.count }\n }})\n </div>\n <vdr-labeled-data [label]=\"'common.created-at' | translate\">\n {{ item.fulfillment.createdAt | localeDate: 'medium' }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\n {{ item.fulfillment.method }}\n </vdr-labeled-data>\n <vdr-labeled-data\n *ngIf=\"item.fulfillment.trackingCode\"\n [label]=\"'order.tracking-code' | translate\"\n >\n {{ item.fulfillment.trackingCode }}\n </vdr-labeled-data>\n </div>\n </vdr-dropdown-menu>\n</vdr-dropdown>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { OrderDetailFragment, PaymentWithRefundsFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-line-refunds',\n templateUrl: './line-refunds.component.html',\n styleUrls: ['./line-refunds.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class LineRefundsComponent {\n @Input() line: OrderDetailFragment['lines'][number];\n @Input() payments: PaymentWithRefundsFragment[];\n\n getRefundedCount(): number {\n const refundLines =\n this.payments\n ?.reduce(\n (all, payment) => [...all, ...payment.refunds],\n [] as PaymentWithRefundsFragment['refunds'],\n )\n .filter(refund => refund.state !== 'Failed')\n .reduce(\n (all, refund) => [...all, ...refund.lines],\n [] as Array<{ orderLineId: string; quantity: number }>,\n ) ?? [];\n\n return refundLines\n .filter(i => i.orderLineId === this.line.id)\n .reduce((sum, i) => sum + i.quantity, 0);\n }\n}\n", "<span *ngIf=\"getRefundedCount()\" [title]=\"'order.refunded-count' | translate: { count: getRefundedCount() }\">\n <clr-icon shape=\"redo\" class=\"is-solid\" dir=\"down\"></clr-icon>\n</span>\n", "import { Component } from '@angular/core';\nimport { DataTable2ColumnComponent } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-order-total-column',\n template: ``,\n exportAs: 'row',\n standalone: false,\n})\nexport class OrderTotalColumnComponent<T> extends DataTable2ColumnComponent<T> {\n orderable = false;\n}\n", "import { ChangeDetectionStrategy, Component, ContentChildren, Input, QueryList } from '@angular/core';\nimport { DataTable2Component, OrderDetailFragment } from '@vendure/admin-ui/core';\nimport { OrderTotalColumnComponent } from './order-total-column.component';\n\n@Component({\n selector: 'vdr-order-data-table',\n templateUrl: './order-data-table.component.html',\n styleUrls: [\n '../../../../core/src/shared/components/data-table-2/data-table2.component.scss',\n './order-data-table.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderDataTableComponent extends DataTable2Component<OrderDetailFragment> {\n @ContentChildren(OrderTotalColumnComponent) totalColumns: QueryList<OrderTotalColumnComponent<any>>;\n @Input() order: OrderDetailFragment;\n\n get allColumns() {\n return [...(this.columns ?? []), ...(this.customFieldColumns ?? []), ...(this.totalColumns ?? [])];\n }\n\n getPromotionLink(promotion: OrderDetailFragment['discounts'][number]): any[] {\n const id = promotion.adjustmentSource.split(':')[1];\n return ['/marketing', 'promotions', id];\n }\n\n getCouponCodeForAdjustment(\n order: OrderDetailFragment,\n promotionAdjustment: OrderDetailFragment['discounts'][number],\n ): string | undefined {\n const id = promotionAdjustment.adjustmentSource.split(':')[1];\n const promotion = order.promotions.find(p => p.id === id);\n if (promotion) {\n return promotion.couponCode || undefined;\n }\n }\n\n getShippingNames(order: OrderDetailFragment) {\n if (order.shippingLines.length) {\n return order.shippingLines.map(shippingLine => shippingLine.shippingMethod.name).join(', ');\n } else {\n return '';\n }\n }\n}\n", "<div class=\"bulk-actions\">\n <ng-content select=\"vdr-bulk-action-menu\"></ng-content>\n</div>\n<div class=\"table-wrapper\">\n <table\n class=\"\"\n [class.no-select]=\"disableSelect\"\n >\n <thead [class.items-selected]=\"selectionManager?.selection.length\">\n <tr class=\"heading-row\">\n <th *ngIf=\"selectionManager\" class=\"selection-col\">\n <input\n type=\"checkbox\"\n clrCheckbox\n [checked]=\"selectionManager?.areAllCurrentItemsSelected()\"\n (change)=\"onToggleAllClick()\"\n />\n </th>\n <th\n *ngFor=\"let column of visibleSortedColumns; last as isLast\"\n [class.expand]=\"column.expand\"\n >\n <div class=\"cell-content\" [ngClass]=\"column.align\">\n <vdr-ui-extension-point\n [locationId]=\"id\"\n [metadata]=\"column.id\"\n api=\"dataTable\"\n [topPx]=\"-6\"\n [leftPx]=\"-24\"\n display=\"block\"\n >\n <span>{{ column.heading }}</span>\n </vdr-ui-extension-point>\n <div *ngIf=\"column.sort as sort\" class=\"sort-toggle\">\n <button (click)=\"sort.toggleSortOrder()\" [class.active]=\"sort.sortOrder\">\n <clr-icon *ngIf=\"!sort.sortOrder\" shape=\"two-way-arrows left\"></clr-icon>\n <clr-icon *ngIf=\"sort.sortOrder === 'ASC'\" shape=\"arrow up\"></clr-icon>\n <clr-icon *ngIf=\"sort.sortOrder === 'DESC'\" shape=\"arrow down\"></clr-icon>\n </button>\n <div class=\"sort-label\" *ngIf=\"sort.sortOrder\">{{ sort.sortOrder }}</div>\n </div>\n </div>\n </th>\n <th>\n <div class=\"column-picker\">\n <vdr-data-table-colum-picker\n [uiLanguage]=\"uiLanguage$ | async\"\n [columns]=\"sortedColumns\"\n (reorder)=\"onColumnReorder($event)\"\n (resetColumns)=\"onColumnsReset()\"\n ></vdr-data-table-colum-picker>\n </div>\n </th>\n </tr>\n <tr *ngIf=\"searchComponent || customSearchTemplate || filters?.length\">\n <th\n [attr.colspan]=\"visibleSortedColumns.length + (selectionManager ? 2 : 1)\"\n class=\"filter-row\"\n [class.active]=\"showSearchFilterRow\"\n >\n <button\n class=\"button-ghost toggle-search-filter-row\"\n [class.active]=\"showSearchFilterRow\"\n (click)=\"toggleSearchFilterRow()\"\n [title]=\"'common.search-and-filter-list' | translate\"\n >\n <clr-icon shape=\"search\"></clr-icon>\n </button>\n <div class=\"filter-row-wrapper\" [class.hidden]=\"!showSearchFilterRow\">\n <ng-container *ngTemplateOutlet=\"searchComponent?.template\"></ng-container>\n <ng-container *ngTemplateOutlet=\"customSearchTemplate\"></ng-container>\n <ng-container *ngIf=\"filters\">\n <div class=\"filters\">\n <vdr-data-table-filters\n *ngFor=\"let activeFilter of filters.activeFilters\"\n [filterWithValue]=\"activeFilter\"\n [filters]=\"filters\"\n class=\"mt-1\"\n ></vdr-data-table-filters>\n <vdr-data-table-filters\n *ngIf=\"filters.length\"\n [filters]=\"filters\"\n class=\"mt-1\"\n ></vdr-data-table-filters>\n </div>\n </ng-container>\n </div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of items\n | paginate\n : {\n id: id,\n itemsPerPage: itemsPerPage,\n currentPage: currentPage,\n totalItems: totalItems\n };\n index as i;\n trackBy: trackByFn.bind(this)\n \"\n >\n <td *ngIf=\"selectionManager\" class=\"selection-col\" [class.active]=\"activeIndex === i\">\n <input\n type=\"checkbox\"\n clrCheckbox\n [checked]=\"selectionManager?.isSelected(item)\"\n (click)=\"onRowClick(item, $event)\"\n />\n </td>\n <td *ngFor=\"let column of visibleSortedColumns\" [class.active]=\"activeIndex === i\">\n <div class=\"cell-content\" [ngClass]=\"column.align\">\n <ng-container\n *ngIf=\"customComponents.get(column.id) as componentConfig; else defaultComponent\"\n >\n <ng-container\n *ngComponentOutlet=\"\n componentConfig.config.component;\n inputs: { rowItem: item };\n injector: componentConfig.injector\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultComponent>\n <ng-container\n *ngTemplateOutlet=\"column.template; context: { item: item, index: i }\"\n ></ng-container>\n </ng-template>\n </div>\n </td>\n <td [class.active]=\"activeIndex === i\"><!-- column select --></td>\n </tr>\n <ng-container>\n <tr *ngIf=\"!items?.length\">\n <td [attr.colspan]=\"visibleSortedColumns.length + (selectionManager ? 2 : 1)\">\n <vdr-empty-placeholder [emptyStateLabel]=\"'order.order-is-empty' | translate\"></vdr-empty-placeholder>\n </td>\n </tr>\n </ng-container>\n <tr class=\"surcharge\" *ngFor=\"let surcharge of order.surcharges\">\n <td class=\"align-middle name left\" colspan=\"2\">{{ surcharge.description }}</td>\n <td class=\"align-middle sku\">{{ surcharge.sku }}</td>\n <td class=\"align-middle\" [attr.colspan]=\"visibleSortedColumns.length - 4\"></td>\n <td class=\"align-middle total\">\n {{ surcharge.priceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ surcharge.price | localeCurrency : order.currencyCode }}\n </div>\n </td>\n <td><!-- column select --></td>\n </tr>\n <ng-container *ngFor=\"let discount of order.discounts\">\n <tr class=\"order-adjustment\" *ngIf=\"discount.type !== 'OTHER'\">\n <td [attr.colspan]=\"visibleSortedColumns.length - 1\" class=\"\">\n <a [routerLink]=\"getPromotionLink(discount)\">{{ discount.description }}</a>\n <vdr-chip *ngIf=\"getCouponCodeForAdjustment(order, discount) as couponCode\">{{\n couponCode\n }}</vdr-chip>\n </td>\n <td class=\"\">\n {{ discount.amountWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ discount.amount | localeCurrency : order.currencyCode }}\n </div>\n </td>\n <td><!-- column select --></td>\n </tr>\n </ng-container>\n <tr class=\"sub-total\">\n <td class=\"\">{{ 'order.sub-total' | translate }}</td>\n <td [attr.colspan]=\"visibleSortedColumns.length - 2\"></td>\n <td class=\"clr-align-middle\">\n {{ order.subTotalWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ order.subTotal | localeCurrency : order.currencyCode }}\n </div>\n </td>\n <td><!-- column select --></td>\n </tr>\n <tr class=\"shipping\">\n <td class=\"\">{{ 'order.shipping' | translate }}</td>\n <td [attr.colspan]=\"visibleSortedColumns.length - 2\">\n <vdr-chip *ngFor=\"let shippingLine of order.shippingLines\" class=\"shipping-method-name\">\n {{ shippingLine.shippingMethod.name }}\n </vdr-chip>\n </td>\n <td class=\"clr-align-middle\">\n {{ order.shippingWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ order.shipping | localeCurrency : order.currencyCode }}\n </div>\n </td>\n <td><!-- column select --></td>\n </tr>\n <tr class=\"total\">\n <td class=\"\">{{ 'order.total' | translate }}</td>\n <td [attr.colspan]=\"visibleSortedColumns.length - 2\"></td>\n <td class=\"clr-align-middle\">\n {{ order.totalWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ order.total | localeCurrency : order.currencyCode }}\n </div>\n </td>\n <td><!-- column select --></td>\n </tr>\n </tbody>\n </table>\n</div>\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { AdjustmentType, CustomFieldConfig, OrderDetailFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-order-table',\n templateUrl: './order-table.component.html',\n styleUrls: ['./order-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderTableComponent implements OnInit {\n @Input() order: OrderDetailFragment;\n @Input() orderLineCustomFields: CustomFieldConfig[];\n @Input() isDraft = false;\n @Output() adjust = new EventEmitter<{ lineId: string; quantity: number }>();\n @Output() remove = new EventEmitter<{ lineId: string }>();\n orderLineCustomFieldsVisible = false;\n customFieldsForLine: {\n [lineId: string]: Array<{ config: CustomFieldConfig; formGroup: UntypedFormGroup; value: any }>;\n } = {};\n\n get visibleOrderLineCustomFields(): CustomFieldConfig[] {\n return this.orderLineCustomFieldsVisible ? this.orderLineCustomFields : [];\n }\n\n get showElided(): boolean {\n return !this.orderLineCustomFieldsVisible && 0 < this.orderLineCustomFields.length;\n }\n\n ngOnInit(): void {\n this.orderLineCustomFieldsVisible = this.orderLineCustomFields.length < 2;\n this.getLineCustomFields();\n }\n\n draftInputBlur(line: OrderDetailFragment['lines'][number], quantity: number) {\n if (line.quantity !== quantity) {\n this.adjust.emit({ lineId: line.id, quantity });\n }\n }\n\n toggleOrderLineCustomFields() {\n this.orderLineCustomFieldsVisible = !this.orderLineCustomFieldsVisible;\n }\n\n getLineDiscounts(line: OrderDetailFragment['lines'][number]) {\n return line.discounts.filter(a => a.type === AdjustmentType.PROMOTION);\n }\n\n private getLineCustomFields() {\n for (const line of this.order.lines) {\n const formGroup = new UntypedFormGroup({});\n const result = this.orderLineCustomFields\n .map(config => {\n const value = (line as any).customFields[config.name];\n formGroup.addControl(config.name, new UntypedFormControl(value));\n return {\n config,\n formGroup,\n value,\n };\n })\n .filter(field => (this.orderLineCustomFieldsVisible ? true : field.value != null));\n this.customFieldsForLine[line.id] = result;\n }\n }\n\n getPromotionLink(promotion: OrderDetailFragment['discounts'][number]): any[] {\n const id = promotion.adjustmentSource.split(':')[1];\n return ['/marketing', 'promotions', id];\n }\n\n getCouponCodeForAdjustment(\n order: OrderDetailFragment,\n promotionAdjustment: OrderDetailFragment['discounts'][number],\n ): string | undefined {\n const id = promotionAdjustment.adjustmentSource.split(':')[1];\n const promotion = order.promotions.find(p => p.id === id);\n if (promotion) {\n return promotion.couponCode || undefined;\n }\n }\n\n getShippingNames(order: OrderDetailFragment) {\n if (order.shippingLines.length) {\n return order.shippingLines.map(shippingLine => shippingLine.shippingMethod.name).join(', ');\n } else {\n return '';\n }\n }\n}\n", "<vdr-order-data-table id=\"order-detail-list\" [items]=\"order.lines\" [order]=\"order\">\n <vdr-dt2-column id=\"id\" [heading]=\"'common.id' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"created-at\"\n [heading]=\"'common.created-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.createdAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"updated-at\"\n [heading]=\"'common.updated-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.updatedAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.image' | translate\" id=\"image\">\n <ng-template let-line=\"item\">\n <div class=\"image-placeholder\">\n <img\n *ngIf=\"line.featuredAsset as asset; else imagePlaceholder\"\n [src]=\"asset | assetPreview : 'tiny'\"\n />\n <ng-template #imagePlaceholder>\n <div class=\"placeholder\">\n <clr-icon shape=\"image\" size=\"48\"></clr-icon>\n </div>\n </ng-template>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-name' | translate\" id=\"product-name\">\n <ng-template let-line=\"item\">\n <a class=\"button-ghost\" [routerLink]=\"['/catalog/products', line.productVariant.product.id]\"\n ><span>{{ line.productVariant.product.name }}</span>\n <clr-icon shape=\"arrow right\"></clr-icon>\n </a>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-variant' | translate\" id=\"product-variant\">\n <ng-template let-line=\"item\">\n <a class=\"button-ghost\" [routerLink]=\"['/catalog/products', line.productVariant.product.id, 'variants', line.productVariant.id]\"\n ><span>{{ line.productVariant.name }}</span>\n <clr-icon shape=\"arrow right\"></clr-icon>\n </a>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-sku' | translate\" id=\"product-sku\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.sku }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.unit-price' | translate\" id=\"unit-price\">\n <ng-template let-line=\"item\">\n <div class=\"unit-price\">\n {{ line.unitPriceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.unitPrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.quantity' | translate\" id=\"quantity\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <ng-container *ngIf=\"!isDraft; else draft\">\n <div class=\"flex\">\n <div\n *ngIf=\"line.orderPlacedQuantity && line.quantity !== line.orderPlacedQuantity\"\n class=\"order-placed-quantity\"\n [title]=\"'order.original-quantity-at-checkout' | translate\"\n >\n {{ line.orderPlacedQuantity }}\n </div>\n <div>{{ line.quantity }}</div>\n </div>\n </ng-container>\n <ng-template #draft>\n <div class=\"flex\">\n <input\n class=\"draft-qty\"\n type=\"number\"\n min=\"0\"\n #qtyInput\n [value]=\"line.quantity\"\n (blur)=\"draftInputBlur(line, qtyInput.valueAsNumber)\"\n />\n <button class=\"icon-button\" (click)=\"remove.emit({ lineId: line.id })\">\n <clr-icon shape=\"trash\"></clr-icon>\n </button>\n </div>\n </ng-template>\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\n <vdr-line-fulfillment\n [line]=\"line\"\n [orderState]=\"order.state\"\n [allOrderFulfillments]=\"order.fulfillments\"\n ></vdr-line-fulfillment>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-custom-field-column\n *ngFor=\"let customField of orderLineCustomFields\"\n [customField]=\"customField\"\n />\n <vdr-order-total-column [heading]=\"'order.total' | translate\" id=\"total\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <div class=\"unit-price\">\n {{ line.linePriceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.linePrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n\n <ng-container *ngIf=\"getLineDiscounts(line) as discounts\">\n <vdr-dropdown *ngIf=\"discounts.length\">\n <div class=\"promotions-label\" vdrDropdownTrigger>\n {{ 'order.promotions-applied' | translate }}\n </div>\n <vdr-dropdown-menu>\n <div class=\"line-promotion\" *ngFor=\"let discount of discounts\">\n <a class=\"promotion-name\" [routerLink]=\"getPromotionLink(discount)\">{{\n discount.description\n }}</a>\n <div class=\"promotion-amount\">\n {{ discount.amountWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ discount.amount | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-container>\n </ng-template>\n </vdr-order-total-column>\n</vdr-order-data-table>\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { CurrencyCode, CustomFieldConfig, DataService, GetProductVariantQuery } from '@vendure/admin-ui/core';\nimport { Observable, Subject } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n@Component({\n selector: 'vdr-draft-order-variant-selector',\n templateUrl: './draft-order-variant-selector.component.html',\n styleUrls: ['./draft-order-variant-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class DraftOrderVariantSelectorComponent implements OnInit {\n @Input() currencyCode: CurrencyCode;\n @Input() orderLineCustomFields: CustomFieldConfig[];\n @Output() addItem = new EventEmitter<{ productVariantId: string; quantity: number; customFields: any }>();\n customFieldsFormGroup = new UntypedFormGroup({});\n selectedVariant$: Observable<GetProductVariantQuery['productVariant']>;\n selectedVariantId$ = new Subject<string | undefined>();\n quantity = 1;\n constructor(private dataService: DataService) {}\n\n ngOnInit(): void {\n this.selectedVariant$ = this.selectedVariantId$.pipe(\n switchMap(id => {\n if (id) {\n return this.dataService.product\n .getProductVariant(id)\n .mapSingle(({ productVariant }) => productVariant);\n } else {\n return [undefined];\n }\n }),\n );\n for (const customField of this.orderLineCustomFields) {\n this.customFieldsFormGroup.addControl(customField.name, new UntypedFormControl(''));\n }\n }\n\n addItemClick(selectedVariant: GetProductVariantQuery['productVariant']) {\n if (selectedVariant) {\n this.addItem.emit({\n productVariantId: selectedVariant.id,\n quantity: this.quantity,\n customFields: this.orderLineCustomFields.length\n ? this.customFieldsFormGroup.value\n : undefined,\n });\n this.selectedVariantId$.next(undefined);\n this.customFieldsFormGroup.reset();\n }\n }\n}\n", "<div class=\"card\">\n <div class=\"card-block\">\n <h4 class=\"card-title\">{{ 'order.add-item-to-order' | translate }}</h4>\n <vdr-product-variant-selector\n (productSelected)=\"selectedVariantId$.next($event.productVariantId)\"\n ></vdr-product-variant-selector>\n </div>\n <div class=\"card-block\" *ngIf=\"selectedVariant$ | async as selectedVariant\">\n <div class=\"variant-details\">\n <img class=\"mr-2\" [src]=\"selectedVariant.featuredAsset || selectedVariant.product.featuredAsset | assetPreview: 32\">\n <div class=\"details\">\n <div>{{ selectedVariant?.name }}</div>\n <div class=\"small\">{{ selectedVariant?.sku }}</div>\n </div>\n <div class=\"details ml-4\">\n <div class=\"small\">\n {{ 'catalog.stock-on-hand' | translate }}: {{ selectedVariant.stockOnHand }}\n </div>\n <div class=\"small\">\n {{ 'catalog.stock-allocated' | translate }}: {{ selectedVariant.stockAllocated }}\n </div>\n </div>\n <div class=\"flex-spacer\"></div>\n <div class=\"details\">\n <div>{{ selectedVariant?.priceWithTax | localeCurrency: currencyCode }}</div>\n <div class=\"small\" [title]=\"'order.net-price' | translate\">\n {{ selectedVariant?.price | localeCurrency: currencyCode }}\n </div>\n </div>\n <div>\n <input [disabled]=\"!selectedVariant\" type=\"number\" min=\"0\" [(ngModel)]=\"quantity\" />\n </div>\n <button\n [disabled]=\"!selectedVariant\"\n class=\"btn btn-small btn-primary\"\n (click)=\"addItemClick(selectedVariant)\"\n >\n {{ 'order.add-item-to-order' | translate }}\n </button>\n </div>\n <ng-container *ngIf=\"orderLineCustomFields.length\">\n <vdr-tabbed-custom-fields\n entityName=\"Order\"\n [customFields]=\"orderLineCustomFields\"\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\n ></vdr-tabbed-custom-fields>\n </ng-container>\n </div>\n</div>\n", "import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n AddressFragment,\n CreateAddressInput,\n DataService,\n DeletionResult,\n DraftOrderEligibleShippingMethodsQuery,\n GetCustomerAddressesDocument,\n ModalService,\n NotificationService,\n Order,\n OrderDetailFragment,\n OrderDetailQueryDocument,\n TypedBaseDetailComponent,\n} from '@vendure/admin-ui/core';\nimport { combineLatest, forkJoin, Observable, of, Subject } from 'rxjs';\nimport { switchMap, take } from 'rxjs/operators';\n\nimport { OrderTransitionService } from '../../providers/order-transition.service';\nimport { SelectAddressDialogComponent } from '../select-address-dialog/select-address-dialog.component';\nimport { SelectCustomerDialogComponent } from '../select-customer-dialog/select-customer-dialog.component';\nimport { SelectShippingMethodDialogComponent } from '../select-shipping-method-dialog/select-shipping-method-dialog.component';\n\n@Component({\n selector: 'vdr-draft-order-detail',\n templateUrl: './draft-order-detail.component.html',\n styleUrls: ['./draft-order-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class DraftOrderDetailComponent\n extends TypedBaseDetailComponent<typeof OrderDetailQueryDocument, 'order'>\n implements OnInit, OnDestroy\n{\n customFields = this.getCustomFieldConfig('Order');\n orderLineCustomFields = this.getCustomFieldConfig('OrderLine');\n detailForm = new UntypedFormGroup({});\n eligibleShippingMethods$: Observable<\n DraftOrderEligibleShippingMethodsQuery['eligibleShippingMethodsForDraftOrder']\n >;\n nextStates$: Observable<string[]>;\n fetchHistory = new Subject<void>();\n displayCouponCodeInput = false;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n protected dataService: DataService,\n private notificationService: NotificationService,\n private modalService: ModalService,\n private orderTransitionService: OrderTransitionService,\n ) {\n super();\n }\n\n ngOnInit() {\n this.init();\n this.orderLineCustomFields = this.getCustomFieldConfig('OrderLine');\n this.eligibleShippingMethods$ = this.entity$.pipe(\n switchMap(order =>\n this.dataService.order\n .getDraftOrderEligibleShippingMethods(order.id)\n .mapSingle(\n ({ eligibleShippingMethodsForDraftOrder }) => eligibleShippingMethodsForDraftOrder,\n ),\n ),\n );\n }\n\n ngOnDestroy() {\n this.destroy();\n }\n\n addItemToOrder(event: { productVariantId: string; quantity: number; customFields: any }) {\n this.dataService.order.addItemToDraftOrder(this.id, event).subscribe(result => {\n if (result.addItemToDraftOrder.__typename !== 'Order') {\n this.notificationService.error((result.addItemToDraftOrder as any).message);\n }\n });\n }\n\n adjustOrderLine(event: { lineId: string; quantity: number }) {\n this.dataService.order\n .adjustDraftOrderLine(this.id, { orderLineId: event.lineId, quantity: event.quantity })\n .subscribe(result => {\n if (result.adjustDraftOrderLine.__typename !== 'Order') {\n this.notificationService.error((result.adjustDraftOrderLine as any).message);\n }\n });\n }\n\n removeOrderLine(event: { lineId: string }) {\n this.dataService.order.removeDraftOrderLine(this.id, event.lineId).subscribe(result => {\n if (result.removeDraftOrderLine.__typename !== 'Order') {\n this.notificationService.error((result.removeDraftOrderLine as any).message);\n }\n });\n }\n\n getOrderAddressLines(orderAddress?: { [key: string]: string }): string[] {\n if (!orderAddress) {\n return [];\n }\n return Object.values(orderAddress)\n .filter(val => val !== 'OrderAddress')\n .filter(line => !!line);\n }\n\n setCustomer() {\n this.modalService.fromComponent(SelectCustomerDialogComponent).subscribe(result => {\n if (this.hasId(result)) {\n this.dataService.order\n .setCustomerForDraftOrder(this.id, { customerId: result.id })\n .pipe(\n switchMap(() => {\n return this.dataService.query(GetCustomerAddressesDocument, {\n customerId: result.id,\n }).single$;\n }),\n switchMap(({ customer }) => {\n const defaultShippingAddress = customer?.addresses?.find(\n addr => addr.defaultShippingAddress,\n );\n const defaultBillingAddress = customer?.addresses?.find(\n addr => addr.defaultBillingAddress,\n );\n\n return forkJoin([\n defaultShippingAddress\n ? this.dataService.order.setDraftOrderShippingAddress(\n this.id,\n this.mapToAddressInput(defaultShippingAddress),\n )\n : this.dataService.order.unsetDraftOrderShippingAddress(this.id),\n defaultBillingAddress\n ? this.dataService.order.setDraftOrderBillingAddress(\n this.id,\n this.mapToAddressInput(defaultBillingAddress),\n )\n : this.dataService.order.unsetDraftOrderBillingAddress(this.id),\n ]);\n }),\n )\n .subscribe();\n } else if (result) {\n const { note, ...input } = result;\n this.dataService.order.setCustomerForDraftOrder(this.id, { input }).subscribe();\n }\n });\n }\n\n private mapToAddressInput(address: AddressFragment): CreateAddressInput {\n return {\n fullName: address.fullName,\n company: address.company,\n streetLine1: address.streetLine1,\n streetLine2: address.streetLine2,\n city: address.city,\n province: address.province,\n postalCode: address.postalCode,\n countryCode: address.country.code,\n phoneNumber: address.phoneNumber,\n defaultShippingAddress: address.defaultShippingAddress,\n defaultBillingAddress: address.defaultBillingAddress,\n };\n }\n\n setShippingAddress() {\n this.entity$\n .pipe(\n take(1),\n switchMap(order =>\n this.modalService.fromComponent(SelectAddressDialogComponent, {\n locals: {\n customerId: order.customer?.id,\n currentAddress: order.shippingAddress ?? undefined,\n },\n }),\n ),\n )\n .subscribe(result => {\n if (result) {\n this.dataService.order.setDraftOrderShippingAddress(this.id, result).subscribe();\n }\n });\n }\n\n setBillingAddress() {\n this.entity$\n .pipe(\n take(1),\n switchMap(order =>\n this.modalService.fromComponent(SelectAddressDialogComponent, {\n locals: {\n customerId: order.customer?.id,\n currentAddress: order.billingAddress ?? undefined,\n },\n }),\n ),\n )\n .subscribe(result => {\n if (result) {\n this.dataService.order.setDraftOrderBillingAddress(this.id, result).subscribe();\n }\n });\n }\n\n applyCouponCode(couponCode: string) {\n this.dataService.order.applyCouponCodeToDraftOrder(this.id, couponCode).subscribe();\n }\n\n removeCouponCode(couponCode: string) {\n this.dataService.order.removeCouponCodeFromDraftOrder(this.id, couponCode).subscribe();\n }\n\n setShippingMethod() {\n combineLatest(this.entity$, this.eligibleShippingMethods$)\n .pipe(\n take(1),\n switchMap(([order, methods]) =>\n this.modalService.fromComponent(SelectShippingMethodDialogComponent, {\n locals: {\n eligibleShippingMethods: methods,\n currencyCode: order.currencyCode,\n currentSelectionId: order.shippingLines?.[0]?.shippingMethod.id,\n },\n }),\n ),\n )\n .subscribe(result => {\n if (result) {\n this.dataService.order.setDraftOrderShippingMethod(this.id, result).subscribe();\n }\n });\n }\n\n updateCustomFields(customFieldsValue: any) {\n this.dataService.order\n .updateOrderCustomFields({\n id: this.id,\n customFields: customFieldsValue,\n })\n .subscribe();\n }\n\n deleteOrder() {\n this.dataService.order.deleteDraftOrder(this.id).subscribe(({ deleteDraftOrder }) => {\n if (deleteDraftOrder.result === DeletionResult.DELETED) {\n this.notificationService.success(_('common.notify-delete-success'), {\n entity: 'Order',\n });\n this.router.navigate(['/orders']);\n } else if (deleteDraftOrder.message) {\n this.notificationService.error(deleteDraftOrder.message);\n }\n });\n }\n\n completeOrder() {\n this.dataService.order\n .transitionToState(this.id, 'ArrangingPayment')\n .subscribe(({ transitionOrderToState }) => {\n if (transitionOrderToState?.__typename === 'Order') {\n this.router.navigate(['/orders', this.id]);\n } else if (transitionOrderToState?.__typename === 'OrderStateTransitionError') {\n this.notificationService.error(transitionOrderToState.transitionError);\n }\n });\n }\n\n private hasId<T extends { id: string }>(input: T | any): input is { id: string } {\n return typeof input === 'object' && !!input.id;\n }\n\n protected setFormValues(entity: OrderDetailFragment): void {\n // empty\n }\n}\n", "<vdr-page-block>\n <vdr-action-bar *ngIf=\"entity$ | async as order\">\n <vdr-ab-left>\n <div class=\"flex clr-align-items-center\">\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\n </div>\n </vdr-ab-left>\n\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"draft-order-detail\" />\n <button\n class=\"btn btn-primary\"\n (click)=\"completeOrder()\"\n [disabled]=\"!order.customer || !order.lines.length || !order.shippingLines.length\"\n >\n <clr-icon shape=\"check\"></clr-icon>\n {{ 'order.complete-draft-order' | translate }}\n </button>\n <vdr-action-bar-dropdown-menu [alwaysShow]=\"true\" locationId=\"draft-order-detail\">\n <button type=\"button\" vdrDropdownItem (click)=\"deleteOrder()\">\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\n {{ 'order.delete-draft-order' | translate }}\n </button>\n </vdr-action-bar-dropdown-menu>\n </vdr-ab-right>\n </vdr-action-bar>\n</vdr-page-block>\n\n<vdr-page-detail-layout *ngIf=\"entity$ | async as order\">\n <vdr-page-detail-sidebar>\n <vdr-card [title]=\"'order.customer' | translate\">\n <ng-template vdrCardControls>\n <clr-icon *ngIf=\"!order.customer\" shape=\"unknown-status\" class=\"is-warning\"></clr-icon>\n <clr-icon *ngIf=\"order.customer\" shape=\"check\" class=\"is-success\"></clr-icon>\n </ng-template>\n <vdr-customer-label\n class=\"block mb-2\"\n *ngIf=\"order.customer\"\n [customer]=\"order.customer\"\n ></vdr-customer-label>\n <button class=\"button-small\" (click)=\"setCustomer()\">\n {{ 'order.set-customer-for-order' | translate }}\n </button>\n </vdr-card>\n <vdr-card [title]=\"'order.billing-address' | translate\">\n <ng-template vdrCardControls>\n <clr-icon\n *ngIf=\"!order.billingAddress.streetLine1\"\n shape=\"unknown-status\"\n class=\"is-warning\"\n ></clr-icon>\n <clr-icon\n *ngIf=\"order.billingAddress.streetLine1\"\n shape=\"check\"\n class=\"is-success\"\n ></clr-icon>\n </ng-template>\n <vdr-formatted-address\n class=\"block mb-2\"\n *ngIf=\"order.billingAddress\"\n [address]=\"order.billingAddress\"\n ></vdr-formatted-address>\n <button class=\"button-small\" (click)=\"setBillingAddress()\">\n {{ 'order.set-billing-address' | translate }}\n </button>\n </vdr-card>\n <vdr-card [title]=\"'order.shipping' | translate\">\n <ng-template vdrCardControls>\n <clr-icon\n *ngIf=\"!order.shippingAddress.streetLine1 || !order.shippingLines.length\"\n shape=\"unknown-status\"\n class=\"is-warning\"\n ></clr-icon>\n <clr-icon\n *ngIf=\"order.shippingAddress.streetLine1 && order.shippingLines.length\"\n shape=\"check\"\n class=\"is-success\"\n ></clr-icon>\n </ng-template>\n <vdr-formatted-address\n class=\"block mb-2\"\n *ngIf=\"order.shippingAddress\"\n [address]=\"order.shippingAddress\"\n ></vdr-formatted-address>\n <button class=\"button-small mr-2\" (click)=\"setShippingAddress()\">\n {{ 'order.set-shipping-address' | translate }}\n </button>\n\n <div *ngFor=\"let shippingLine of order.shippingLines\">\n {{ shippingLine.shippingMethod.name }}\n </div>\n <button class=\"button-small\" (click)=\"setShippingMethod()\">\n {{ 'order.set-shipping-method' | translate }}\n </button>\n </vdr-card>\n <vdr-card>\n <button\n *ngIf=\"order.couponCodes.length === 0 && !displayCouponCodeInput\"\n class=\"button-small\"\n (click)=\"displayCouponCodeInput = !displayCouponCodeInput\"\n >\n {{ 'order.set-coupon-codes' | translate }}\n </button>\n <div *ngIf=\"order.couponCodes.length || displayCouponCodeInput\">\n <label>{{ 'order.set-coupon-codes' | translate }}</label>\n <vdr-coupon-code-selector\n [couponCodes]=\"order.couponCodes\"\n (addCouponCode)=\"applyCouponCode($event)\"\n (removeCouponCode)=\"removeCouponCode($event)\"\n ></vdr-coupon-code-selector>\n </div>\n </vdr-card>\n <vdr-card>\n <vdr-page-entity-info *ngIf=\"entity$ | async as entity\" [entity]=\"entity\" />\n </vdr-card>\n </vdr-page-detail-sidebar>\n <vdr-page-block>\n <vdr-card>\n <vdr-draft-order-variant-selector\n [orderLineCustomFields]=\"orderLineCustomFields\"\n [currencyCode]=\"order.currencyCode\"\n (addItem)=\"addItemToOrder($event)\"\n ></vdr-draft-order-variant-selector>\n <vdr-order-table\n [order]=\"order\"\n [orderLineCustomFields]=\"orderLineCustomFields\"\n [isDraft]=\"true\"\n (adjust)=\"adjustOrderLine($event)\"\n (remove)=\"removeOrderLine($event)\"\n ></vdr-order-table>\n </vdr-card>\n <vdr-card [title]=\"'order.tax-summary' | translate\">\n <ng-container *ngIf=\"order.taxSummary.length\">\n <table class=\"table\">\n <thead>\n <tr>\n <th>{{ 'common.description' | translate }}</th>\n <th>{{ 'order.tax-rate' | translate }}</th>\n <th>{{ 'order.tax-base' | translate }}</th>\n <th>{{ 'order.tax-total' | translate }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of order.taxSummary\">\n <td>{{ row.description }}</td>\n <td>{{ row.taxRate / 100 | percent }}</td>\n <td>{{ row.taxBase | localeCurrency : order.currencyCode }}</td>\n <td>{{ row.taxTotal | localeCurrency : order.currencyCode }}</td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n </vdr-card>\n <vdr-custom-detail-component-host\n locationId=\"draft-order-detail\"\n [entity$]=\"entity$\"\n [detailForm]=\"detailForm\"\n ></vdr-custom-detail-component-host>\n\n <vdr-order-custom-fields-card\n [customFieldsConfig]=\"customFields\"\n [customFieldValues]=\"order.customFields\"\n (updateClick)=\"updateCustomFields($event)\"\n ></vdr-order-custom-fields-card>\n </vdr-page-block>\n</vdr-page-detail-layout>\n", "import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport {\n configurableDefinitionToInstance,\n ConfigurableOperation,\n ConfigurableOperationDefinition,\n configurableOperationValueIsValid,\n DataService,\n Dialog,\n FulfillOrderInput,\n GlobalFlag,\n OrderDetailFragment,\n toConfigurableOperationInput,\n} from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-fulfill-order-dialog',\n templateUrl: './fulfill-order-dialog.component.html',\n styleUrls: ['./fulfill-order-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FulfillOrderDialogComponent implements Dialog<FulfillOrderInput>, OnInit {\n resolveWith: (result?: FulfillOrderInput) => void;\n fulfillmentHandlerDef: ConfigurableOperationDefinition;\n fulfillmentHandler: ConfigurableOperation;\n fulfillmentHandlerControl = new UntypedFormControl();\n fulfillmentQuantities: { [lineId: string]: { fulfillCount: number; max: number } } = {};\n\n // Provided by modalService.fromComponent() call\n order: OrderDetailFragment;\n\n constructor(\n private dataService: DataService,\n private changeDetector: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n this.dataService.settings.getGlobalSettings().single$.subscribe(({ globalSettings }) => {\n this.fulfillmentQuantities = this.order.lines.reduce((result, line) => {\n const fulfillCount = this.getFulfillableCount(line, globalSettings.trackInventory);\n return {\n ...result,\n [line.id]: { fulfillCount, max: fulfillCount },\n };\n }, {});\n this.changeDetector.markForCheck();\n });\n\n this.dataService.shippingMethod\n .getShippingMethodOperations()\n .mapSingle(data => data.fulfillmentHandlers)\n .subscribe(handlers => {\n this.fulfillmentHandlerDef =\n handlers.find(\n h => h.code === this.order.shippingLines[0]?.shippingMethod?.fulfillmentHandlerCode,\n ) || handlers[0];\n this.fulfillmentHandler = configurableDefinitionToInstance(this.fulfillmentHandlerDef);\n this.fulfillmentHandlerControl.patchValue(this.fulfillmentHandler);\n this.changeDetector.markForCheck();\n });\n }\n\n getFulfillableCount(line: OrderDetailFragment['lines'][number], globalTrackInventory: boolean): number {\n const { trackInventory, stockOnHand } = line.productVariant;\n const effectiveTracInventory =\n trackInventory === GlobalFlag.INHERIT ? globalTrackInventory : trackInventory === GlobalFlag.TRUE;\n\n const unfulfilledCount = this.getUnfulfilledCount(line);\n return effectiveTracInventory ? Math.min(unfulfilledCount, stockOnHand) : unfulfilledCount;\n }\n\n getUnfulfilledCount(line: OrderDetailFragment['lines'][number]): number {\n const fulfilled =\n this.order.fulfillments\n ?.filter(f => f.state !== 'Cancelled')\n .map(f => f.lines)\n .flat()\n .filter(row => row.orderLineId === line.id)\n .reduce((sum, row) => sum + row.quantity, 0) ?? 0;\n return line.quantity - fulfilled;\n }\n\n canSubmit(): boolean {\n const totalCount = Object.values(this.fulfillmentQuantities).reduce(\n (total, { fulfillCount }) => total + fulfillCount,\n 0,\n );\n const fulfillmentQuantityIsValid = Object.values(this.fulfillmentQuantities).every(\n ({ fulfillCount, max }) => fulfillCount <= max,\n );\n const formIsValid =\n configurableOperationValueIsValid(\n this.fulfillmentHandlerDef,\n this.fulfillmentHandlerControl.value,\n ) && this.fulfillmentHandlerControl.valid;\n return formIsValid && 0 < totalCount && fulfillmentQuantityIsValid;\n }\n\n select() {\n const lines = Object.entries(this.fulfillmentQuantities).map(([orderLineId, { fulfillCount }]) => ({\n orderLineId,\n quantity: fulfillCount,\n }));\n this.resolveWith({\n lines,\n handler: toConfigurableOperationInput(\n this.fulfillmentHandler,\n this.fulfillmentHandlerControl.value,\n ),\n });\n }\n\n cancel() {\n this.resolveWith();\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.fulfill-order' | translate }}</ng-template>\n\n<div class=\"fulfillment-wrapper\">\n <div class=\"order-table\">\n <table class=\"table\">\n <thead>\n <tr>\n <th></th>\n <th>{{ 'order.product-name' | translate }}</th>\n <th>{{ 'order.product-sku' | translate }}</th>\n <th>{{ 'order.unfulfilled' | translate }}</th>\n <th>{{ 'catalog.stock-on-hand' | translate }}</th>\n <th>{{ 'order.fulfill' | translate }}</th>\n </tr>\n </thead>\n <tr\n *ngFor=\"let line of order.lines\"\n class=\"order-line\"\n [class.ignore]=\"getUnfulfilledCount(line) === 0\"\n >\n <td class=\"align-middle thumb\">\n <img *ngIf=\"line.featuredAsset\" [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\n </td>\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\n <td class=\"align-middle quantity\">{{ getUnfulfilledCount(line) }}</td>\n <td class=\"align-middle quantity\">{{ line.productVariant.stockOnHand }}</td>\n <td class=\"align-middle fulfil\">\n <input\n *ngIf=\"fulfillmentQuantities[line.id]\"\n [disabled]=\"getUnfulfilledCount(line) === 0\"\n [(ngModel)]=\"fulfillmentQuantities[line.id].fulfillCount\"\n type=\"number\"\n [max]=\"fulfillmentQuantities[line.id].max\"\n min=\"0\"\n />\n </td>\n </tr>\n </table>\n </div>\n <div class=\"shipping-details\">\n <vdr-formatted-address [address]=\"order.shippingAddress\"></vdr-formatted-address>\n <h6>{{ 'order.shipping-method' | translate }}</h6>\n {{ order.shippingLines[0]?.shippingMethod?.name }}\n <strong>{{ order.shipping | localeCurrency: order.currencyCode }}</strong>\n <vdr-configurable-input\n [operationDefinition]=\"fulfillmentHandlerDef\"\n [operation]=\"fulfillmentHandler\"\n [formControl]=\"fulfillmentHandlerControl\"\n [removable]=\"false\"\n ></vdr-configurable-input>\n </div>\n</div>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button type=\"submit\" (click)=\"select()\" [disabled]=\"!canSubmit()\" class=\"btn btn-primary\">\n {{ 'order.create-fulfillment' | translate }}\n </button>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { CustomFieldConfig, OrderDetailFragment, ServerConfigService } from '@vendure/admin-ui/core';\nimport { isObject } from '@vendure/common/lib/shared-utils';\n\n@Component({\n selector: 'vdr-fulfillment-detail',\n templateUrl: './fulfillment-detail.component.html',\n styleUrls: ['./fulfillment-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FulfillmentDetailComponent implements OnInit, OnChanges {\n @Input() fulfillmentId: string;\n @Input() order: OrderDetailFragment;\n\n customFieldConfig: CustomFieldConfig[] = [];\n customFieldFormGroup = new UntypedFormGroup({});\n\n constructor(private serverConfigService: ServerConfigService) {}\n\n ngOnInit() {\n this.customFieldConfig = this.serverConfigService.getCustomFieldsFor('Fulfillment');\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.buildCustomFieldsFormGroup();\n }\n\n get fulfillment(): NonNullable<OrderDetailFragment['fulfillments']>[number] | undefined | null {\n return this.order.fulfillments && this.order.fulfillments.find(f => f.id === this.fulfillmentId);\n }\n\n get items(): Array<{ name: string; quantity: number }> {\n return (\n this.fulfillment?.lines.map(row => ({\n name: this.order.lines.find(line => line.id === row.orderLineId)?.productVariant.name ?? '',\n quantity: row.quantity,\n })) ?? []\n );\n }\n\n buildCustomFieldsFormGroup() {\n const customFields = (this.fulfillment as any).customFields;\n for (const fieldDef of this.serverConfigService.getCustomFieldsFor('Fulfillment')) {\n this.customFieldFormGroup.addControl(\n fieldDef.name,\n new UntypedFormControl(customFields[fieldDef.name]),\n );\n }\n }\n\n customFieldIsObject(customField: unknown) {\n return Array.isArray(customField) || isObject(customField);\n }\n}\n", "<vdr-labeled-data [label]=\"'common.created-at' | translate\">\n {{ fulfillment?.createdAt | localeDate: 'medium' }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\n {{ fulfillment?.method }}\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"fulfillment?.trackingCode\" [label]=\"'order.tracking-code' | translate\">\n {{ fulfillment?.trackingCode }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.contents' | translate\">\n <vdr-simple-item-list [items]=\"items\"></vdr-simple-item-list>\n</vdr-labeled-data>\n<ng-container *ngFor=\"let customField of customFieldConfig\">\n <vdr-custom-field-control\n *ngIf=\"customFieldFormGroup.get(customField.name)\"\n [readonly]=\"true\"\n [compact]=\"true\"\n [customField]=\"customField\"\n [customFieldsFormGroup]=\"customFieldFormGroup\"\n ></vdr-custom-field-control>\n</ng-container>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'vdr-simple-item-list',\n templateUrl: './simple-item-list.component.html',\n styleUrls: ['./simple-item-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class SimpleItemListComponent {\n @Input() items: Array<{ name: string; quantity?: number }>;\n}\n", "<div class=\"items-list\">\n <ul>\n <li *ngFor=\"let item of items\" [title]=\"item.name\">\n <div class=\"quantity\" *ngIf=\"item.quantity != null\">{{ item.quantity }}</div>\n <clr-icon shape=\"times\" size=\"12\" *ngIf=\"item.quantity != null\"></clr-icon>\n {{ item.name }}\n </li>\n </ul>\n</div>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'vdr-fulfillment-state-label',\n templateUrl: './fulfillment-state-label.component.html',\n styleUrls: ['./fulfillment-state-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FulfillmentStateLabelComponent {\n @Input() state: string;\n\n get chipColorType() {\n switch (this.state) {\n case 'Pending':\n case 'Shipped':\n return 'warning';\n case 'Delivered':\n return 'success';\n case 'Cancelled':\n return 'error';\n }\n }\n}\n", "<vdr-chip [title]=\"'order.payment-state' | translate\" [colorType]=\"chipColorType\">\n <clr-icon shape=\"check-circle\" *ngIf=\"state === 'Delivered'\"></clr-icon>\n {{ state | stateI18nToken | translate }}\n</vdr-chip>\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FulfillmentFragment, OrderDetailFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-fulfillment-card',\n templateUrl: './fulfillment-card.component.html',\n styleUrls: ['./fulfillment-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FulfillmentCardComponent {\n @Input() fulfillment: FulfillmentFragment | undefined;\n @Input() order: OrderDetailFragment;\n @Output() transitionState = new EventEmitter<string>();\n\n nextSuggestedState(): string | undefined {\n if (!this.fulfillment) {\n return;\n }\n const { nextStates } = this.fulfillment;\n const namedStateOrDefault = (targetState: string) =>\n nextStates.includes(targetState) ? targetState : nextStates[0];\n switch (this.fulfillment?.state) {\n case 'Pending':\n return namedStateOrDefault('Shipped');\n case 'Shipped':\n return namedStateOrDefault('Delivered');\n default:\n return nextStates.find(s => s !== 'Cancelled');\n }\n }\n\n nextOtherStates(): string[] {\n if (!this.fulfillment) {\n return [];\n }\n const suggested = this.nextSuggestedState();\n return this.fulfillment.nextStates.filter(s => s !== suggested);\n }\n}\n", "<div class=\"card\">\n <div class=\"card-header fulfillment-header\">\n <div>{{ 'order.fulfillment' | translate }}</div>\n <div class=\"fulfillment-state\">\n <vdr-fulfillment-state-label [state]=\"fulfillment?.state\"></vdr-fulfillment-state-label>\n </div>\n </div>\n <div class=\"card-block\">\n <vdr-fulfillment-detail\n *ngIf=\"!!fulfillment\"\n [fulfillmentId]=\"fulfillment?.id\"\n [order]=\"order\"\n ></vdr-fulfillment-detail>\n </div>\n <div class=\"card-footer\" *ngIf=\"fulfillment?.nextStates.length\">\n <ng-container *ngIf=\"nextSuggestedState() as suggestedState\">\n <button class=\"btn btn-sm btn-primary\" (click)=\"transitionState.emit(suggestedState)\">\n {{ 'order.set-fulfillment-state' | translate: { state: (suggestedState | stateI18nToken | translate) } }}\n </button>\n </ng-container>\n <vdr-dropdown>\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <ng-container *ngFor=\"let nextState of nextOtherStates()\">\n <button\n type=\"button\"\n vdrDropdownItem\n (click)=\"transitionState.emit(nextState)\"\n >\n <ng-container *ngIf=\"nextState !== 'Cancelled'; else cancel\">\n <clr-icon shape=\"step-forward-2\"></clr-icon>\n {{ 'order.transition-to-state' | translate: { state: (nextState | stateI18nToken | translate) } }}\n </ng-container>\n <ng-template #cancel>\n <clr-icon shape=\"error-standard\" class=\"is-error\"></clr-icon>\n {{ 'order.cancel-fulfillment' | translate }}\n </ng-template>\n </button>\n </ng-container>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </div>\n</div>\n", "import { ChangeDetectionStrategy, Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { OrderDetailFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-modification-detail',\n templateUrl: './modification-detail.component.html',\n styleUrls: ['./modification-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ModificationDetailComponent implements OnChanges {\n @Input() order: OrderDetailFragment;\n @Input() modification: OrderDetailFragment['modifications'][number];\n private addedItems = new Map<OrderDetailFragment['lines'][number], number>();\n private removedItems = new Map<OrderDetailFragment['lines'][number], number>();\n private modifiedItems = new Set<OrderDetailFragment['lines'][number]>();\n\n ngOnChanges(): void {\n const { added, removed, modified } = this.getModifiedLines();\n this.addedItems = added;\n this.removedItems = removed;\n this.modifiedItems = modified;\n }\n\n getSurcharge(id: string) {\n return this.order.surcharges.find(m => m.id === id);\n }\n\n getAddedItems() {\n return [...this.addedItems.entries()].map(([line, count]) => ({\n name: line.productVariant.name,\n quantity: count,\n }));\n }\n\n getRemovedItems() {\n return [...this.removedItems.entries()].map(([line, count]) => ({\n name: line.productVariant.name,\n quantity: count,\n }));\n }\n\n getModifiedItems() {\n return [...this.modifiedItems].map(line => ({\n name: line.productVariant.name,\n }));\n }\n\n private getModifiedLines() {\n const added = new Map<OrderDetailFragment['lines'][number], number>();\n const removed = new Map<OrderDetailFragment['lines'][number], number>();\n const modified = new Set<OrderDetailFragment['lines'][number]>();\n for (const modificationLine of this.modification.lines || []) {\n const line = this.order.lines.find(l => l.id === modificationLine.orderLineId);\n if (!line) {\n continue;\n }\n if (modificationLine.quantity === 0) {\n modified.add(line);\n } else if (modificationLine.quantity < 0) {\n removed.set(line, -modificationLine.quantity);\n } else {\n added.set(line, modificationLine.quantity);\n }\n }\n return { added, removed, modified };\n }\n}\n", "<vdr-labeled-data [label]=\"'common.ID' | translate\">{{ modification.id }}</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"modification.note\" [label]=\"'order.note' | translate\">{{\n modification.note\n}}</vdr-labeled-data>\n<vdr-labeled-data *ngFor=\"let surcharge of modification.surcharges\" [label]=\"'order.surcharges' | translate\">\n {{ getSurcharge(surcharge.id)?.description }}\n {{ getSurcharge(surcharge.id)?.priceWithTax | localeCurrency: order.currencyCode }}</vdr-labeled-data\n>\n<vdr-labeled-data *ngIf=\"getAddedItems().length\" [label]=\"'order.added-items' | translate\">\n <vdr-simple-item-list [items]=\"getAddedItems()\"></vdr-simple-item-list>\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"getRemovedItems().length\" [label]=\"'order.removed-items' | translate\">\n <vdr-simple-item-list [items]=\"getRemovedItems()\"></vdr-simple-item-list>\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"getModifiedItems().length\" [label]=\"'order.modified-items' | translate\">\n <vdr-simple-item-list [items]=\"getModifiedItems()\"></vdr-simple-item-list>\n</vdr-labeled-data>\n", "import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n DataService,\n EditNoteDialogComponent,\n FulfillmentFragment,\n getCustomFieldsDefaults,\n GetOrderHistoryQuery,\n GetOrderQuery,\n ModalService,\n NotificationService,\n ORDER_DETAIL_FRAGMENT,\n OrderDetailFragment,\n OrderDetailQueryDocument,\n Refund,\n SetOrderCustomerDocument,\n SortOrder,\n TimelineHistoryEntry,\n TypedBaseDetailComponent,\n} from '@vendure/admin-ui/core';\nimport { assertNever, summate } from '@vendure/common/lib/shared-utils';\nimport { gql } from 'apollo-angular';\nimport { EMPTY, forkJoin, Observable, of, Subject } from 'rxjs';\nimport { map, mapTo, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { OrderTransitionService } from '../../providers/order-transition.service';\nimport { AddManualPaymentDialogComponent } from '../add-manual-payment-dialog/add-manual-payment-dialog.component';\nimport { CancelOrderDialogComponent } from '../cancel-order-dialog/cancel-order-dialog.component';\nimport { FulfillOrderDialogComponent } from '../fulfill-order-dialog/fulfill-order-dialog.component';\nimport { OrderProcessGraphDialogComponent } from '../order-process-graph-dialog/order-process-graph-dialog.component';\nimport { RefundOrderDialogComponent } from '../refund-order-dialog/refund-order-dialog.component';\nimport { SelectCustomerDialogComponent } from '../select-customer-dialog/select-customer-dialog.component';\nimport { SettleRefundDialogComponent } from '../settle-refund-dialog/settle-refund-dialog.component';\n\ntype Payment = NonNullable<OrderDetailFragment['payments']>[number];\n\nexport const ORDER_DETAIL_QUERY = gql`\n query OrderDetailQuery($id: ID!) {\n order(id: $id) {\n ...OrderDetail\n }\n }\n ${ORDER_DETAIL_FRAGMENT}\n`;\n\nexport const SET_ORDER_CUSTOMER_MUTATION = gql`\n mutation SetOrderCustomer($input: SetOrderCustomerInput!) {\n setOrderCustomer(input: $input) {\n id\n customer {\n id\n firstName\n lastName\n emailAddress\n }\n }\n }\n`;\n\n@Component({\n selector: 'vdr-order-detail',\n templateUrl: './order-detail.component.html',\n styleUrls: ['./order-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderDetailComponent\n extends TypedBaseDetailComponent<typeof OrderDetailQueryDocument, 'order'>\n implements OnInit, OnDestroy\n{\n customFields = this.getCustomFieldConfig('Order');\n orderLineCustomFields = this.getCustomFieldConfig('OrderLine');\n detailForm = new FormGroup({\n customFields: this.formBuilder.group(getCustomFieldsDefaults(this.customFields)),\n });\n history$: Observable<NonNullable<GetOrderHistoryQuery['order']>['history']['items'] | undefined>;\n nextStates$: Observable<string[]>;\n fetchHistory = new Subject<void>();\n private readonly defaultStates = [\n 'AddingItems',\n 'ArrangingPayment',\n 'PaymentAuthorized',\n 'PaymentSettled',\n 'PartiallyShipped',\n 'Shipped',\n 'PartiallyDelivered',\n 'Delivered',\n 'Cancelled',\n 'Modifying',\n 'ArrangingAdditionalPayment',\n ];\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n protected dataService: DataService,\n private notificationService: NotificationService,\n private modalService: ModalService,\n private orderTransitionService: OrderTransitionService,\n private formBuilder: FormBuilder,\n ) {\n super();\n }\n\n ngOnInit() {\n this.init();\n this.entity$.pipe(take(1)).subscribe(order => {\n if (order.state === 'Modifying') {\n this.router.navigate(['./', 'modify'], { relativeTo: this.route });\n }\n });\n this.history$ = this.fetchHistory.pipe(\n startWith(null),\n switchMap(() =>\n this.dataService.order\n .getOrderHistory(this.id, {\n sort: {\n createdAt: SortOrder.DESC,\n },\n })\n .mapStream(data => data.order?.history.items),\n ),\n );\n this.nextStates$ = this.entity$.pipe(\n map(order => {\n const isInCustomState = !this.defaultStates.includes(order.state);\n return isInCustomState\n ? order.nextStates\n : order.nextStates.filter(s => !this.defaultStates.includes(s));\n }),\n );\n }\n\n ngOnDestroy() {\n this.destroy();\n }\n\n openStateDiagram() {\n this.entity$\n .pipe(\n take(1),\n switchMap(order =>\n this.modalService.fromComponent(OrderProcessGraphDialogComponent, {\n closable: true,\n locals: {\n activeState: order.state,\n },\n }),\n ),\n )\n .subscribe();\n }\n\n setOrderCustomer() {\n this.modalService\n .fromComponent(SelectCustomerDialogComponent, {\n locals: {\n canCreateNew: false,\n includeNoteInput: true,\n title: _('order.assign-order-to-another-customer'),\n },\n })\n .pipe(\n switchMap(result => {\n function isExisting(input: any): input is { id: string } {\n return typeof input === 'object' && !!input.id;\n }\n if (isExisting(result)) {\n return this.dataService.mutate(SetOrderCustomerDocument, {\n input: {\n customerId: result.id,\n orderId: this.id,\n note: result.note,\n },\n });\n } else {\n return EMPTY;\n }\n }),\n switchMap(result => this.refetchOrder(result)),\n )\n .subscribe(result => {\n if (result) {\n this.notificationService.success(_('order.set-customer-success'));\n }\n });\n }\n\n transitionToState(state: string) {\n this.dataService.order.transitionToState(this.id, state).subscribe(({ transitionOrderToState }) => {\n switch (transitionOrderToState?.__typename) {\n case 'Order':\n this.notificationService.success(_('order.transitioned-to-state-success'), { state });\n this.fetchHistory.next();\n break;\n case 'OrderStateTransitionError':\n this.notificationService.error(transitionOrderToState.transitionError);\n }\n });\n }\n\n manuallyTransitionToState(order: OrderDetailFragment) {\n this.orderTransitionService\n .manuallyTransitionToState({\n orderId: order.id,\n nextStates: order.nextStates,\n cancellable: true,\n message: _('order.manually-transition-to-state-message'),\n retry: 0,\n })\n .subscribe();\n }\n\n transitionToModifying() {\n this.dataService.order\n .transitionToState(this.id, 'Modifying')\n .subscribe(({ transitionOrderToState }) => {\n switch (transitionOrderToState?.__typename) {\n case 'Order':\n this.router.navigate(['./modify'], { relativeTo: this.route });\n break;\n case 'OrderStateTransitionError':\n this.notificationService.error(transitionOrderToState.transitionError);\n }\n });\n }\n\n updateCustomFields() {\n this.dataService.order\n .updateOrderCustomFields({\n id: this.id,\n customFields: this.detailForm.value.customFields,\n })\n .subscribe(() => {\n this.notificationService.success(_('common.notify-update-success'), { entity: 'Order' });\n });\n }\n\n getOrderAddressLines(orderAddress?: { [key: string]: string }): string[] {\n if (!orderAddress) {\n return [];\n }\n return Object.values(orderAddress)\n .filter(val => val !== 'OrderAddress')\n .filter(line => !!line);\n }\n\n settlePayment(payment: Payment) {\n this.dataService.order.settlePayment(payment.id).subscribe(({ settlePayment }) => {\n switch (settlePayment.__typename) {\n case 'Payment':\n if (settlePayment.state === 'Settled') {\n this.notificationService.success(_('order.settle-payment-success'));\n } else {\n this.notificationService.error(_('order.settle-payment-error'));\n }\n this.dataService.order.getOrder(this.id).single$.subscribe();\n this.fetchHistory.next();\n break;\n case 'OrderStateTransitionError':\n case 'PaymentStateTransitionError':\n case 'SettlePaymentError':\n this.notificationService.error(settlePayment.message);\n }\n });\n }\n\n transitionPaymentState({ payment, state }: { payment: Payment; state: string }) {\n if (state === 'Cancelled') {\n this.dataService.order.cancelPayment(payment.id).subscribe(({ cancelPayment }) => {\n switch (cancelPayment.__typename) {\n case 'Payment':\n this.notificationService.success(_('order.transitioned-payment-to-state-success'), {\n state,\n });\n this.dataService.order.getOrder(this.id).single$.subscribe();\n this.fetchHistory.next();\n break;\n case 'PaymentStateTransitionError':\n this.notificationService.error(cancelPayment.transitionError);\n break;\n case 'CancelPaymentError':\n this.notificationService.error(cancelPayment.paymentErrorMessage);\n break;\n }\n });\n } else {\n this.dataService.order\n .transitionPaymentToState(payment.id, state)\n .subscribe(({ transitionPaymentToState }) => {\n switch (transitionPaymentToState.__typename) {\n case 'Payment':\n this.notificationService.success(\n _('order.transitioned-payment-to-state-success'),\n {\n state,\n },\n );\n this.dataService.order.getOrder(this.id).single$.subscribe();\n this.fetchHistory.next();\n break;\n case 'PaymentStateTransitionError':\n this.notificationService.error(transitionPaymentToState.message);\n break;\n }\n });\n }\n }\n\n canAddFulfillment(order: OrderDetailFragment): boolean {\n const allFulfillmentLines: FulfillmentFragment['lines'] = (order.fulfillments ?? [])\n .filter(fulfillment => fulfillment.state !== 'Cancelled')\n .reduce((all, fulfillment) => [...all, ...fulfillment.lines], [] as FulfillmentFragment['lines']);\n let allItemsFulfilled = true;\n for (const line of order.lines) {\n const totalFulfilledCount = allFulfillmentLines\n .filter(row => row.orderLineId === line.id)\n .reduce((sum, row) => sum + row.quantity, 0);\n if (totalFulfilledCount < line.quantity) {\n allItemsFulfilled = false;\n }\n }\n return (\n !allItemsFulfilled &&\n !this.hasUnsettledModifications(order) &&\n this.outstandingPaymentAmount(order) === 0 &&\n (order.nextStates.includes('Shipped') ||\n order.nextStates.includes('PartiallyShipped') ||\n order.nextStates.includes('Delivered'))\n );\n }\n\n hasUnsettledModifications(order: OrderDetailFragment): boolean {\n return 0 < order.modifications.filter(m => !m.isSettled).length;\n }\n\n getOutstandingModificationAmount(order: OrderDetailFragment): number {\n return summate(\n order.modifications.filter(m => !m.isSettled),\n 'priceChange',\n );\n }\n\n outstandingPaymentAmount(order: OrderDetailFragment): number {\n const paymentIsValid = (p: Payment): boolean =>\n p.state !== 'Cancelled' && p.state !== 'Declined' && p.state !== 'Error';\n\n let amountCovered = 0;\n for (const payment of order.payments?.filter(paymentIsValid) ?? []) {\n const refunds = payment.refunds.filter(r => r.state !== 'Failed') ?? [];\n const refundsTotal = summate(refunds as Array<Required<Refund>>, 'total');\n amountCovered += payment.amount - refundsTotal;\n }\n return order.totalWithTax - amountCovered;\n }\n\n addManualPayment(order: OrderDetailFragment) {\n const priorState = order.state;\n this.modalService\n .fromComponent(AddManualPaymentDialogComponent, {\n closable: true,\n locals: {\n outstandingAmount: this.outstandingPaymentAmount(order),\n currencyCode: order.currencyCode,\n },\n })\n .pipe(\n switchMap(result => {\n if (result) {\n return this.dataService.order.addManualPaymentToOrder({\n orderId: this.id,\n transactionId: result.transactionId,\n method: result.method,\n metadata: result.metadata || {},\n });\n } else {\n return EMPTY;\n }\n }),\n switchMap(({ addManualPaymentToOrder }) => {\n switch (addManualPaymentToOrder.__typename) {\n case 'Order':\n this.notificationService.success(_('order.add-payment-to-order-success'));\n if (priorState === 'ArrangingAdditionalPayment') {\n return this.orderTransitionService.transitionToPreModifyingState(\n order.id,\n order.nextStates,\n );\n } else {\n return of('PaymentSettled');\n }\n case 'ManualPaymentStateError':\n this.notificationService.error(addManualPaymentToOrder.message);\n return EMPTY;\n default:\n return EMPTY;\n }\n }),\n )\n .subscribe(result => {\n if (result) {\n this.refetchOrder({ result });\n }\n });\n }\n\n fulfillOrder() {\n this.entity$\n .pipe(\n take(1),\n switchMap(order =>\n this.modalService.fromComponent(FulfillOrderDialogComponent, {\n size: 'xl',\n locals: {\n order,\n },\n }),\n ),\n switchMap(input => {\n if (input) {\n return this.dataService.order.createFulfillment(input);\n } else {\n return of(undefined);\n }\n }),\n switchMap(result => this.refetchOrder(result).pipe(mapTo(result))),\n )\n .subscribe(result => {\n if (result) {\n const { addFulfillmentToOrder } = result;\n switch (addFulfillmentToOrder.__typename) {\n case 'Fulfillment':\n this.notificationService.success(_('order.create-fulfillment-success'));\n break;\n case 'EmptyOrderLineSelectionError':\n case 'InsufficientStockOnHandError':\n case 'ItemsAlreadyFulfilledError':\n case 'InvalidFulfillmentHandlerError':\n this.notificationService.error(addFulfillmentToOrder.message);\n break;\n case 'FulfillmentStateTransitionError':\n this.notificationService.error(addFulfillmentToOrder.transitionError);\n break;\n case 'CreateFulfillmentError':\n this.notificationService.error(addFulfillmentToOrder.fulfillmentHandlerError);\n break;\n case undefined:\n this.notificationService.error(JSON.stringify(addFulfillmentToOrder));\n break;\n default:\n assertNever(addFulfillmentToOrder);\n }\n }\n });\n }\n\n transitionFulfillment(id: string, state: string) {\n this.dataService.order\n .transitionFulfillmentToState(id, state)\n .pipe(switchMap(result => this.refetchOrder(result)))\n .subscribe(() => {\n this.notificationService.success(_('order.successfully-updated-fulfillment'));\n });\n }\n\n cancelOrRefund(order: OrderDetailFragment) {\n const isRefundable = this.orderHasSettledPayments(order);\n if (order.state === 'PaymentAuthorized' || order.active === true || !isRefundable) {\n this.cancelOrder(order);\n } else {\n this.refundOrder(order);\n }\n }\n\n settleRefund(refund: Payment['refunds'][number]) {\n this.modalService\n .fromComponent(SettleRefundDialogComponent, {\n size: 'md',\n locals: {\n refund,\n },\n })\n .pipe(\n switchMap(transactionId => {\n if (transactionId) {\n return this.dataService.order.settleRefund(\n {\n transactionId,\n id: refund.id,\n },\n this.id,\n );\n } else {\n return of(undefined);\n }\n }),\n // switchMap(result => this.refetchOrder(result)),\n )\n .subscribe(result => {\n if (result) {\n this.notificationService.success(_('order.settle-refund-success'));\n }\n });\n }\n\n addNote(event: { note: string; isPublic: boolean }) {\n const { note, isPublic } = event;\n this.dataService.order\n .addNoteToOrder({\n id: this.id,\n note,\n isPublic,\n })\n .pipe(switchMap(result => this.refetchOrder(result)))\n .subscribe(result => {\n this.notificationService.success(_('common.notify-create-success'), {\n entity: 'Note',\n });\n });\n }\n\n updateNote(entry: TimelineHistoryEntry) {\n this.modalService\n .fromComponent(EditNoteDialogComponent, {\n closable: true,\n locals: {\n displayPrivacyControls: true,\n note: entry.data.note,\n noteIsPrivate: !entry.isPublic,\n },\n })\n .pipe(\n switchMap(result => {\n if (result) {\n return this.dataService.order.updateOrderNote({\n noteId: entry.id,\n isPublic: !result.isPrivate,\n note: result.note,\n });\n } else {\n return EMPTY;\n }\n }),\n )\n .subscribe(result => {\n this.fetchHistory.next();\n this.notificationService.success(_('common.notify-update-success'), {\n entity: 'Note',\n });\n });\n }\n\n deleteNote(entry: TimelineHistoryEntry) {\n return this.modalService\n .dialog({\n title: _('common.confirm-delete-note'),\n body: entry.data.note,\n buttons: [\n { type: 'secondary', label: _('common.cancel') },\n { type: 'danger', label: _('common.delete'), returnValue: true },\n ],\n })\n .pipe(switchMap(res => (res ? this.dataService.order.deleteOrderNote(entry.id) : EMPTY)))\n .subscribe(() => {\n this.fetchHistory.next();\n this.notificationService.success(_('common.notify-delete-success'), {\n entity: 'Note',\n });\n });\n }\n\n orderHasSettledPayments(order: OrderDetailFragment): boolean {\n return !!order.payments?.find(p => p.state === 'Settled');\n }\n\n private cancelOrder(order: OrderDetailFragment) {\n this.modalService\n .fromComponent(CancelOrderDialogComponent, {\n size: 'xl',\n locals: {\n order,\n },\n })\n .pipe(\n switchMap(input => {\n if (input) {\n return this.dataService.order.cancelOrder(input);\n } else {\n return of(undefined);\n }\n }),\n switchMap(result => this.refetchOrder(result)),\n )\n .subscribe(result => {\n if (result) {\n this.notificationService.success(_('order.cancelled-order-success'));\n }\n });\n }\n\n private refundOrder(order: OrderDetailFragment) {\n this.modalService\n .fromComponent(RefundOrderDialogComponent, {\n size: 'xl',\n locals: {\n order,\n },\n })\n .pipe(\n switchMap(input => {\n if (!input) {\n return of(undefined);\n }\n\n if (input.cancel.lines?.length) {\n return this.dataService.order.cancelOrder(input.cancel).pipe(\n map(res => {\n const result = res.cancelOrder;\n switch (result.__typename) {\n case 'Order':\n this.refetchOrder(result).subscribe();\n this.notificationService.success(\n _('order.cancelled-order-items-success'),\n {\n count: summate(input.cancel.lines, 'quantity'),\n },\n );\n return input;\n case 'CancelActiveOrderError':\n case 'QuantityTooGreatError':\n case 'MultipleOrderError':\n case 'OrderStateTransitionError':\n case 'EmptyOrderLineSelectionError':\n this.notificationService.error(result.message);\n return undefined;\n }\n }),\n );\n } else {\n return [input];\n }\n }),\n switchMap(input => {\n if (!input) {\n return of(undefined);\n }\n if (input.refunds.length) {\n return forkJoin(\n input.refunds.map(refund =>\n this.dataService.order.refundOrder(refund).pipe(map(res => res.refundOrder)),\n ),\n );\n } else {\n return [undefined];\n }\n }),\n )\n .subscribe(results => {\n for (const result of results ?? []) {\n if (result) {\n switch (result.__typename) {\n case 'Refund':\n if (result.state === 'Failed') {\n this.notificationService.error(_('order.refund-order-failed'));\n } else {\n this.notificationService.success(_('order.refund-order-success'));\n }\n break;\n case 'AlreadyRefundedError':\n case 'NothingToRefundError':\n case 'PaymentOrderMismatchError':\n case 'RefundOrderStateError':\n case 'RefundStateTransitionError':\n this.notificationService.error(result.message);\n break;\n }\n }\n }\n this.refetchOrder(results?.[0]).subscribe();\n });\n }\n\n private refetchOrder(result: object | undefined): Observable<GetOrderQuery | undefined> {\n this.fetchHistory.next();\n if (result) {\n return this.dataService.order.getOrder(this.id).single$;\n } else {\n return of(undefined);\n }\n }\n\n protected setFormValues(entity: OrderDetailFragment): void {\n if (this.customFields.length) {\n this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), entity);\n }\n }\n}\n", "<vdr-page-block>\n <vdr-action-bar *ngIf=\"entity$ | async as order\">\n <vdr-ab-left> </vdr-ab-left>\n\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"order-detail\"></vdr-action-bar-items>\n <button\n class=\"button primary mr-1\"\n *ngIf=\"\n order.type !== 'Aggregate' &&\n (order.state === 'ArrangingPayment' || order.state === 'ArrangingAdditionalPayment') &&\n (hasUnsettledModifications(order) || 0 < outstandingPaymentAmount(order))\n \"\n (click)=\"addManualPayment(order)\"\n >\n {{ 'order.add-payment-to-order' | translate }}\n ({{ outstandingPaymentAmount(order) | localeCurrency : order.currencyCode }})\n </button>\n <button\n class=\"button primary mr-1\"\n *ngIf=\"\n order.type !== 'Aggregate' &&\n order.active === false &&\n order.state !== 'ArrangingAdditionalPayment' &&\n order.state !== 'ArrangingPayment' &&\n 0 < outstandingPaymentAmount(order)\n \"\n (click)=\"transitionToState('ArrangingAdditionalPayment')\"\n >\n {{ 'order.arrange-additional-payment' | translate }}\n </button>\n <button\n *ngIf=\"order.type !== 'Aggregate'\"\n class=\"button primary mr-1\"\n (click)=\"fulfillOrder()\"\n [disabled]=\"!canAddFulfillment(order)\"\n >\n {{ 'order.fulfill-order' | translate }}\n </button>\n <vdr-action-bar-dropdown-menu [alwaysShow]=\"true\" locationId=\"order-detail\">\n <ng-container *ngIf=\"order.type !== 'Aggregate' && order.nextStates.includes('Modifying')\">\n <button type=\"button\" vdrDropdownItem (click)=\"transitionToModifying()\">\n <clr-icon shape=\"pencil\"></clr-icon>\n {{ 'order.modify-order' | translate }}\n </button>\n <div class=\"dropdown-divider\"></div>\n </ng-container>\n <button\n type=\"button\"\n vdrDropdownItem\n *ngIf=\"order.type !== 'Aggregate' && order.nextStates.includes('Cancelled')\"\n (click)=\"cancelOrRefund(order)\"\n >\n <clr-icon shape=\"error-standard\" class=\"is-error\"></clr-icon>\n <ng-container *ngIf=\"orderHasSettledPayments(order); else cancelOnly\">\n {{ 'order.refund-and-cancel-order' | translate }}\n </ng-container>\n <ng-template #cancelOnly>\n {{ 'order.cancel-order' | translate }}\n </ng-template>\n </button>\n\n <ng-container *ngIf=\"(nextStates$ | async)?.length\">\n <div class=\"dropdown-divider\"></div>\n <button\n *ngFor=\"let nextState of nextStates$ | async\"\n type=\"button\"\n vdrDropdownItem\n (click)=\"transitionToState(nextState)\"\n >\n <clr-icon shape=\"step-forward-2\"></clr-icon>\n {{\n 'order.transition-to-state'\n | translate : { state: (nextState | stateI18nToken | translate) }\n }}\n </button>\n </ng-container>\n <div class=\"dropdown-divider\"></div>\n <button type=\"button\" vdrDropdownItem (click)=\"manuallyTransitionToState(order)\">\n <clr-icon shape=\"step-forward-2\" class=\"is-warning\"></clr-icon>\n {{ 'order.manually-transition-to-state' | translate }}\n </button>\n </vdr-action-bar-dropdown-menu>\n </vdr-ab-right>\n </vdr-action-bar>\n</vdr-page-block>\n\n<vdr-page-detail-layout *ngIf=\"entity$ | async as order\">\n <vdr-page-detail-sidebar>\n <vdr-card [title]=\"'order.state' | translate\">\n <ng-template vdrCardControls>\n <button\n class=\"button-small\"\n (click)=\"openStateDiagram()\"\n [title]=\"'order.order-state-diagram' | translate\"\n >\n <clr-icon shape=\"list\"></clr-icon>\n </button>\n </ng-template>\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\n </vdr-card>\n <vdr-card [title]=\"'order.customer' | translate\">\n <ng-template vdrCardControls>\n <button\n *vdrIfPermissions=\"['UpdateOrder', 'ReadCustomer']\"\n class=\"button-small\"\n (click)=\"setOrderCustomer()\"\n [title]=\"'order.assign-order-to-another-customer' | translate\"\n >\n <clr-icon shape=\"switch\"></clr-icon>\n </button>\n </ng-template>\n <vdr-customer-label [customer]=\"order.customer\"></vdr-customer-label>\n <vdr-labeled-data\n class=\"mt-2\"\n [label]=\"'order.shipping-address' | translate\"\n *ngIf=\"getOrderAddressLines(order.shippingAddress).length\"\n >\n <vdr-formatted-address [address]=\"order.shippingAddress\" class=\"mt-1\"></vdr-formatted-address>\n </vdr-labeled-data>\n <vdr-labeled-data\n [label]=\"'order.billing-address' | translate\"\n *ngIf=\"getOrderAddressLines(order.billingAddress).length\"\n >\n <vdr-formatted-address [address]=\"order.billingAddress\" class=\"mt-1\"></vdr-formatted-address>\n </vdr-labeled-data>\n </vdr-card>\n <vdr-card [title]=\"'order.payments' | translate\" *ngIf=\"order.payments?.length\">\n <vdr-order-payment-card\n *ngFor=\"let payment of order.payments\"\n [currencyCode]=\"order.currencyCode\"\n [payment]=\"payment\"\n (settlePayment)=\"settlePayment($event)\"\n (transitionPaymentState)=\"transitionPaymentState($event)\"\n (settleRefund)=\"settleRefund($event)\"\n ></vdr-order-payment-card>\n </vdr-card>\n <vdr-card *ngIf=\"order.fulfillments?.length\">\n <vdr-fulfillment-card\n *ngFor=\"let fulfillment of order.fulfillments\"\n [fulfillment]=\"fulfillment\"\n [order]=\"order\"\n (transitionState)=\"transitionFulfillment(fulfillment.id, $event)\"\n ></vdr-fulfillment-card>\n </vdr-card>\n <vdr-card>\n <vdr-page-entity-info *ngIf=\"entity$ | async as entity\" [entity]=\"entity\" />\n </vdr-card>\n </vdr-page-detail-sidebar>\n\n <vdr-page-block>\n <vdr-seller-orders-card\n class=\"mb-2\"\n *ngIf=\"order.sellerOrders.length\"\n [orderId]=\"order.id\"\n ></vdr-seller-orders-card>\n <vdr-card [paddingX]=\"false\">\n <vdr-order-table\n [order]=\"order\"\n [orderLineCustomFields]=\"orderLineCustomFields\"\n ></vdr-order-table>\n </vdr-card>\n <vdr-card [title]=\"'order.tax-summary' | translate\" [paddingX]=\"false\">\n <table class=\"table\">\n <thead>\n <tr>\n <th>{{ 'common.description' | translate }}</th>\n <th>{{ 'order.tax-rate' | translate }}</th>\n <th>{{ 'order.tax-base' | translate }}</th>\n <th>{{ 'order.tax-total' | translate }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of order.taxSummary\">\n <td>{{ row.description }}</td>\n <td>{{ row.taxRate / 100 | percent : '0.0-3' }}</td>\n <td>{{ row.taxBase | localeCurrency : order.currencyCode }}</td>\n <td>{{ row.taxTotal | localeCurrency : order.currencyCode }}</td>\n </tr>\n </tbody>\n </table>\n </vdr-card>\n <vdr-card [title]=\"'common.custom-fields' | translate\" *ngIf=\"customFields.length\">\n <vdr-tabbed-custom-fields\n entityName=\"Order\"\n [customFields]=\"customFields\"\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\n [readonly]=\"!('UpdateOrder' | hasPermission)\"\n />\n <button\n class=\"button primary\"\n (click)=\"updateCustomFields()\"\n [disabled]=\"\n detailForm.get('customFields')?.pristine || detailForm.get('customFields')?.invalid\n \"\n >\n {{ 'common.update' | translate }}\n </button>\n </vdr-card>\n <vdr-custom-detail-component-host\n locationId=\"order-detail\"\n [entity$]=\"entity$\"\n [detailForm]=\"detailForm\"\n ></vdr-custom-detail-component-host>\n\n <vdr-card [title]=\"'order.order-history' | translate\">\n <vdr-order-history\n [order]=\"order\"\n [history]=\"history$ | async\"\n (addNote)=\"addNote($event)\"\n (updateNote)=\"updateNote($event)\"\n (deleteNote)=\"deleteNote($event)\"\n ></vdr-order-history>\n </vdr-card>\n </vdr-page-block>\n</vdr-page-detail-layout>\n", "export const NODE_HEIGHT = 72;\n", "import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { NODE_HEIGHT } from './constants';\nimport { StateNode } from './types';\n\n@Component({\n selector: 'vdr-order-process-node',\n templateUrl: './order-process-node.component.html',\n styleUrls: ['./order-process-node.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderProcessNodeComponent implements OnChanges {\n @Input() node: StateNode;\n @Input() index: number;\n @Input() active: boolean;\n active$ = new BehaviorSubject<boolean>(false);\n activeTarget$ = new BehaviorSubject<boolean>(false);\n isCancellable = false;\n // We use a class field here to prevent the\n // i18n extractor from extracting a \"Cancelled\" key\n cancelledState = 'Cancelled';\n\n constructor(private elementRef: ElementRef<HTMLDivElement>) {}\n\n ngOnChanges(changes: SimpleChanges) {\n this.isCancellable = !!this.node.to.find(s => s.name === 'Cancelled');\n if (changes.active) {\n this.active$.next(this.active);\n }\n }\n\n getPos(origin: 'top' | 'bottom' = 'top'): { x: number; y: number } {\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n const nodeHeight =\n this.elementRef.nativeElement.querySelector('.node')?.getBoundingClientRect().height ?? 0;\n return {\n x: 10,\n y: this.index * NODE_HEIGHT + (origin === 'bottom' ? nodeHeight : 0),\n };\n }\n\n getStyle() {\n const pos = this.getPos();\n return {\n 'top.px': pos.y,\n 'left.px': pos.x,\n };\n }\n}\n", "<div class=\"node-wrapper\" [ngStyle]=\"getStyle()\" [class.active]=\"active$ | async\">\n <div\n class=\"node\"\n [class.active-target]=\"activeTarget$ | async\"\n >\n {{ node.name | stateI18nToken | translate }}\n </div>\n <div class=\"cancelled-wrapper\" *ngIf=\"isCancellable\">\n <div class=\"cancelled-edge\">\n </div>\n <clr-icon shape=\"dot-circle\"></clr-icon>\n <div class=\"cancelled-node\">\n {{ cancelledState | stateI18nToken | translate }}\n </div>\n </div>\n</div>\n", "import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { OrderProcessNodeComponent } from './order-process-node.component';\n\n@Component({\n selector: 'vdr-order-process-edge',\n templateUrl: './order-process-edge.component.html',\n styleUrls: ['./order-process-edge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderProcessEdgeComponent implements OnInit {\n @Input() from: OrderProcessNodeComponent;\n @Input() to: OrderProcessNodeComponent;\n @Input() index: number;\n active$: Observable<boolean>;\n\n ngOnInit() {\n this.active$ = this.from.active$\n .asObservable()\n .pipe(tap(active => this.to.activeTarget$.next(active)));\n }\n\n getStyle() {\n const direction = this.from.index < this.to.index ? 'down' : 'up';\n const startPos = this.from.getPos(direction === 'down' ? 'bottom' : 'top');\n const endPos = this.to.getPos(direction === 'down' ? 'top' : 'bottom');\n const dX = Math.abs(startPos.x - endPos.x);\n const dY = Math.abs(startPos.y - endPos.y);\n const length = Math.sqrt(dX ** 2 + dY ** 2);\n return {\n 'top.px': startPos.y,\n 'left.px': startPos.x + (direction === 'down' ? 10 : 40) + this.index * 12,\n 'height.px': length,\n 'width.px': 1,\n ...(direction === 'up'\n ? {\n transform: 'rotateZ(180deg)',\n 'transform-origin': 'top',\n }\n : {}),\n };\n }\n}\n", "<div\n [attr.data-from]=\"from.node.name\"\n [attr.data-to]=\"to.node.name\"\n [ngStyle]=\"getStyle()\"\n [class.active]=\"active$ | async\"\n class=\"edge\">\n <clr-icon shape=\"arrow\" flip=\"vertical\" class=\"arrow\"></clr-icon>\n</div>\n", "import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n SimpleChanges,\n ViewChildren,\n} from '@angular/core';\nimport { OrderProcessState } from '@vendure/admin-ui/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { NODE_HEIGHT } from './constants';\nimport { OrderProcessNodeComponent } from './order-process-node.component';\nimport { StateNode } from './types';\n\n@Component({\n selector: 'vdr-order-process-graph',\n templateUrl: './order-process-graph.component.html',\n styleUrls: ['./order-process-graph.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderProcessGraphComponent implements OnInit, OnChanges, AfterViewInit {\n @Input() states: OrderProcessState[];\n @Input() initialState?: string;\n setActiveState$ = new BehaviorSubject<string | undefined>(undefined);\n activeState$: Observable<string | undefined>;\n nodes: StateNode[] = [];\n edges: Array<{ from: OrderProcessNodeComponent; to: OrderProcessNodeComponent; index: number }> = [];\n\n @ViewChildren(OrderProcessNodeComponent) nodeComponents: QueryList<OrderProcessNodeComponent>;\n\n constructor(private changeDetector: ChangeDetectorRef) {}\n\n @HostBinding('style.height.px')\n get outerHeight(): number {\n return this.nodes.length * NODE_HEIGHT;\n }\n\n ngOnInit() {\n this.setActiveState$.next(this.initialState);\n this.activeState$ = this.setActiveState$.pipe(debounceTime(150));\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.populateNodes();\n }\n\n ngAfterViewInit() {\n setTimeout(() => this.populateEdges());\n }\n\n onMouseOver(stateName: string) {\n this.setActiveState$.next(stateName);\n }\n\n onMouseOut() {\n this.setActiveState$.next(this.initialState);\n }\n\n getNodeFor(state: string): OrderProcessNodeComponent | undefined {\n if (this.nodeComponents) {\n return this.nodeComponents.find(n => n.node.name === state);\n }\n }\n\n private populateNodes() {\n const stateNodeMap = new Map<string, StateNode>();\n for (const state of this.states) {\n stateNodeMap.set(state.name, {\n name: state.name,\n to: [],\n });\n }\n\n for (const [name, stateNode] of stateNodeMap.entries()) {\n const targets = this.states.find(s => s.name === name)?.to ?? [];\n for (const target of targets) {\n const targetNode = stateNodeMap.get(target);\n if (targetNode) {\n stateNode.to.push(targetNode);\n }\n }\n }\n this.nodes = [...stateNodeMap.values()].filter(n => n.name !== 'Cancelled');\n }\n\n private populateEdges() {\n for (const node of this.nodes) {\n const nodeCmp = this.getNodeFor(node.name);\n let index = 0;\n for (const to of node.to) {\n const toCmp = this.getNodeFor(to.name);\n if (nodeCmp && toCmp && nodeCmp !== toCmp) {\n this.edges.push({\n to: toCmp,\n from: nodeCmp,\n index,\n });\n index++;\n }\n }\n }\n this.edges = [...this.edges];\n this.changeDetector.markForCheck();\n }\n}\n", "<ng-container *ngFor=\"let state of nodes; let i = index\">\n <vdr-order-process-node\n [node]=\"state\"\n [index]=\"i\"\n [active]=\"(activeState$ | async) === state.name\"\n (mouseenter)=\"onMouseOver(state.name)\"\n (mouseleave)=\"onMouseOut()\"\n ></vdr-order-process-node>\n</ng-container>\n<ng-container *ngFor=\"let edge of edges\">\n <vdr-order-process-edge [from]=\"edge.from\" [to]=\"edge.to\" [index]=\"edge.index\"></vdr-order-process-edge>\n</ng-container>\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport {\n CancelOrderInput,\n DataService,\n Dialog,\n OrderProcessState,\n ServerConfigService,\n} from '@vendure/admin-ui/core';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'vdr-order-process-graph-dialog',\n templateUrl: './order-process-graph-dialog.component.html',\n styleUrls: ['./order-process-graph-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderProcessGraphDialogComponent implements OnInit, Dialog<void> {\n activeState: string;\n states: OrderProcessState[] = [];\n constructor(private serverConfigService: ServerConfigService) {}\n\n ngOnInit(): void {\n this.states = this.serverConfigService.getOrderProcessStates();\n }\n\n resolveWith: (result: void | undefined) => void;\n}\n", "<ng-template vdrDialogTitle>{{ 'order.order-state-diagram' | translate }}</ng-template>\n\n<vdr-order-process-graph [states]=\"states\" [initialState]=\"activeState\"></vdr-order-process-graph>\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n CancelOrderInput,\n Dialog,\n getAppConfig,\n I18nService,\n OrderDetailFragment,\n OrderLineInput,\n PaymentWithRefundsFragment,\n RefundOrderInput,\n} from '@vendure/admin-ui/core';\nimport { summate } from '@vendure/common/lib/shared-utils';\nimport { getRefundablePayments, RefundablePayment } from '../../common/get-refundable-payments';\n\ntype SelectionLine = { quantity: number; cancel: boolean };\n\n@Component({\n selector: 'vdr-refund-order-dialog',\n templateUrl: './refund-order-dialog.component.html',\n styleUrls: ['./refund-order-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class RefundOrderDialogComponent\n implements OnInit, Dialog<{ cancel: CancelOrderInput; refunds: RefundOrderInput[] }>\n{\n order: OrderDetailFragment;\n resolveWith: (result?: { cancel: CancelOrderInput; refunds: RefundOrderInput[] }) => void;\n reason: string;\n lineQuantities: { [lineId: string]: SelectionLine } = {};\n refundablePayments: RefundablePayment[] = [];\n refundShippingLineIds: string[] = [];\n reasons = getAppConfig().cancellationReasons ?? [\n _('order.refund-reason-customer-request'),\n _('order.refund-reason-not-available'),\n ];\n manuallySetRefundTotal = false;\n refundTotal = 0;\n\n constructor(private i18nService: I18nService) {\n this.reasons = this.reasons.map(r => this.i18nService.translate(r));\n }\n\n get totalRefundableAmount(): number {\n return summate(this.refundablePayments, 'refundableAmount');\n }\n\n get amountToRefundTotal(): number {\n return this.refundablePayments.reduce(\n (total, payment) => total + payment.amountToRefundControl.value,\n 0,\n );\n }\n\n lineCanBeRefundedOrCancelled(line: OrderDetailFragment['lines'][number]): boolean {\n const refundedCount =\n this.order.payments\n ?.reduce(\n (all, payment) => [...all, ...payment.refunds],\n [] as PaymentWithRefundsFragment['refunds'],\n )\n .filter(refund => refund.state !== 'Failed')\n .reduce(\n (all, refund) => [...all, ...refund.lines],\n [] as Array<{ orderLineId: string; quantity: number }>,\n )\n .filter(refundLine => refundLine.orderLineId === line.id)\n .reduce((sum, refundLine) => sum + refundLine.quantity, 0) ?? 0;\n\n return refundedCount < line.orderPlacedQuantity;\n }\n\n ngOnInit() {\n this.lineQuantities = this.order.lines.reduce(\n (result, line) => ({\n ...result,\n [line.id]: {\n quantity: 0,\n refund: true,\n cancel: false,\n },\n }),\n {},\n );\n this.refundablePayments = getRefundablePayments(this.order.payments);\n }\n\n updateRefundTotal() {\n if (!this.manuallySetRefundTotal) {\n const itemTotal = this.order.lines.reduce((total, line) => {\n const lineRef = this.lineQuantities[line.id];\n const refundCount = lineRef.quantity || 0;\n return total + line.proratedUnitPriceWithTax * refundCount;\n }, 0);\n const shippingTotal = this.order.shippingLines.reduce((total, line) => {\n if (this.refundShippingLineIds.includes(line.id)) {\n return total + line.discountedPriceWithTax;\n } else {\n return total;\n }\n }, 0);\n this.refundTotal = itemTotal + shippingTotal;\n }\n\n // allocate the refund total across the refundable payments\n const refundablePayments = this.refundablePayments.filter(p => p.selected);\n let refundsAllocated = 0;\n for (const payment of refundablePayments) {\n const amountToRefund = Math.min(payment.refundableAmount, this.refundTotal - refundsAllocated);\n payment.amountToRefundControl.setValue(amountToRefund);\n refundsAllocated += amountToRefund;\n }\n }\n\n toggleShippingRefund(lineId: string) {\n const index = this.refundShippingLineIds.indexOf(lineId);\n if (index === -1) {\n this.refundShippingLineIds.push(lineId);\n } else {\n this.refundShippingLineIds.splice(index, 1);\n }\n this.updateRefundTotal();\n }\n\n onRefundQuantityChange(orderLineId: string, quantity: number) {\n this.manuallySetRefundTotal = false;\n const selectionLine = this.lineQuantities[orderLineId];\n if (selectionLine) {\n const previousQuantity = selectionLine.quantity;\n if (quantity === 0) {\n selectionLine.cancel = false;\n } else if (previousQuantity === 0 && quantity > 0) {\n selectionLine.cancel = true;\n }\n selectionLine.quantity = quantity;\n this.updateRefundTotal();\n }\n }\n\n onPaymentSelected(payment: RefundablePayment, selected: boolean) {\n if (selected) {\n const outstandingRefundAmount =\n this.refundTotal -\n this.refundablePayments\n .filter(p => p.id !== payment.id)\n .reduce((total, p) => total + p.amountToRefundControl.value, 0);\n if (0 < outstandingRefundAmount) {\n payment.amountToRefundControl.setValue(\n Math.min(outstandingRefundAmount, payment.refundableAmount),\n );\n }\n } else {\n payment.amountToRefundControl.setValue(0);\n }\n }\n\n isRefunding(): boolean {\n const result = Object.values(this.lineQuantities).reduce(\n (isRefunding, line) => isRefunding || 0 < line.quantity,\n false,\n );\n return result;\n }\n\n isCancelling(): boolean {\n const result = Object.values(this.lineQuantities).reduce(\n (isCancelling, line) => isCancelling || (0 < line.quantity && line.cancel),\n false,\n );\n return result;\n }\n\n canSubmit(): boolean {\n return 0 < this.refundTotal && this.amountToRefundTotal === this.refundTotal && !!this.reason;\n }\n\n select() {\n const refundLines = this.getOrderLineInput(() => true);\n const cancelLines = this.getOrderLineInput(line => line.cancel);\n\n this.resolveWith({\n refunds: this.refundablePayments\n .filter(rp => rp.selected && 0 < rp.amountToRefundControl.value)\n .map(payment => {\n return {\n lines: refundLines,\n reason: this.reason,\n paymentId: payment.id,\n amount: payment.amountToRefundControl.value,\n shipping: 0,\n adjustment: 0,\n };\n }),\n cancel: {\n lines: cancelLines,\n orderId: this.order.id,\n reason: this.reason,\n cancelShipping: this.refundShippingLineIds.length > 0,\n },\n });\n }\n\n cancel() {\n this.resolveWith();\n }\n\n private getOrderLineInput(filterFn: (line: SelectionLine) => boolean): OrderLineInput[] {\n return Object.entries(this.lineQuantities)\n .filter(([orderLineId, line]) => 0 < line.quantity && filterFn(line))\n .map(([orderLineId, line]) => ({\n orderLineId,\n quantity: line.quantity,\n }));\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.refund-and-cancel-order' | translate }}</ng-template>\n\n<div class=\"refund-wrapper\">\n <vdr-data-table-2 id=\"refund-order\" [items]=\"order.lines\">\n <!-- Here we define all the available columns -->\n <vdr-dt2-column id=\"id\" [heading]=\"'common.id' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"created-at\" [heading]=\"'common.created-at' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.createdAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"updated-at\" [heading]=\"'common.updated-at' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.updatedAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.image' | translate\" id=\"image\">\n <ng-template let-line=\"item\">\n <div class=\"image-placeholder\">\n <img\n *ngIf=\"line.featuredAsset as asset; else imagePlaceholder\"\n [src]=\"asset | assetPreview : 'tiny'\"\n />\n <ng-template #imagePlaceholder>\n <div class=\"placeholder\">\n <clr-icon shape=\"image\" size=\"48\"></clr-icon>\n </div>\n </ng-template>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"product-name\" [heading]=\"'order.product-name' | translate\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.name }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"product-sku\" [heading]=\"'order.product-sku' | translate\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.sku }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"unit-price\" [heading]=\"'order.unit-price' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.unitPriceWithTax | localeCurrency : order.currencyCode }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"prorated-unit-price\" [heading]=\"'order.prorated-unit-price' | translate\">\n <ng-template let-line=\"item\">\n {{ line.proratedUnitPriceWithTax | localeCurrency : order.currencyCode }}\n <ng-container *ngIf=\"line.discounts as discounts\">\n <vdr-dropdown *ngIf=\"discounts.length\">\n <div class=\"promotions-label\" vdrDropdownTrigger>\n <button class=\"icon-button\"><clr-icon shape=\"info\"></clr-icon></button>\n </div>\n <vdr-dropdown-menu>\n <div class=\"line-promotion\" *ngFor=\"let discount of discounts\">\n {{ discount.description }}\n <div class=\"promotion-amount\">\n {{\n discount.amount / 100 / line.quantity\n | number : '1.0-2'\n | currency : order.currencyCode\n }}\n </div>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-container>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"quantity\" [heading]=\"'order.quantity' | translate\">\n <ng-template let-line=\"item\">\n {{ line.quantity }}\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"refund-quantity\" [heading]=\"'order.refund' | translate\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <input\n *ngIf=\"lineCanBeRefundedOrCancelled(line)\"\n [ngModel]=\"lineQuantities[line.id].quantity\"\n type=\"number\"\n [max]=\"line.quantity\"\n min=\"0\"\n (ngModelChange)=\"onRefundQuantityChange(line.id, $event)\"\n />\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"cancel\" [heading]=\"'order.return-to-stock' | translate\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <div class=\"cancel-checkbox-wrapper\">\n <label class=\"flex center\">\n <input\n type=\"checkbox\"\n *ngIf=\"lineCanBeRefundedOrCancelled(line)\"\n clrCheckbox\n [disabled]=\"0 === lineQuantities[line.id].quantity\"\n [(ngModel)]=\"lineQuantities[line.id].cancel\"\n />\n <span class=\"ml-1\">{{ 'order.return-to-stock' | translate }}</span></label\n >\n </div>\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n\n <div class=\"refund-details mt-4\">\n <div>\n <vdr-card>\n <label class=\"flex mb-2\" *ngFor=\"let shippingLine of order.shippingLines\">\n <input type=\"checkbox\" clrCheckbox (change)=\"toggleShippingRefund(shippingLine.id)\" />\n <div class=\"ml-1\">\n {{ 'order.refund-shipping' | translate }}\n <span>{{ shippingLine.shippingMethod.name }}:</span>\n <span class=\"ml-1\"\n >{{ shippingLine.discountedPriceWithTax | localeCurrency : order.currencyCode }}\n </span>\n </div></label\n >\n <vdr-form-field [label]=\"'order.refund-cancellation-reason' | translate\" class=\"mb-2\">\n <ng-select\n [items]=\"reasons\"\n bindLabel=\"name\"\n autofocus\n [placeholder]=\"'order.refund-cancellation-reason-required' | translate\"\n bindValue=\"id\"\n [addTag]=\"true\"\n [(ngModel)]=\"reason\"\n ></ng-select>\n </vdr-form-field>\n <vdr-form-field\n [label]=\"'order.refund-total' | translate\"\n [readOnlyToggle]=\"true\"\n (readOnlyToggleChange)=\"manuallySetRefundTotal = !$event\"\n >\n <vdr-currency-input\n [readonly]=\"!manuallySetRefundTotal\"\n [currencyCode]=\"order.currencyCode\"\n [(ngModel)]=\"refundTotal\"\n (ngModelChange)=\"updateRefundTotal()\"\n ></vdr-currency-input>\n </vdr-form-field>\n </vdr-card>\n </div>\n <div class=\"\">\n <vdr-payment-for-refund-selector\n [refundablePayments]=\"refundablePayments\"\n (paymentSelected)=\"onPaymentSelected($event.payment, $event.selected)\"\n [order]=\"order\"\n ></vdr-payment-for-refund-selector>\n </div>\n </div>\n</div>\n\n<ng-template vdrDialogButtons>\n <div>\n <div class=\"errors\">\n <clr-alert\n *ngIf=\"refundTotal < 0 || totalRefundableAmount < refundTotal\"\n [clrAlertType]=\"'danger'\"\n [clrAlertClosable]=\"false\"\n >\n <clr-alert-item>\n {{\n 'order.refund-total-error'\n | translate\n : {\n min: 0 | currency : order.currencyCode,\n max: totalRefundableAmount | localeCurrency : order.currencyCode\n }\n }}\n </clr-alert-item>\n </clr-alert>\n <clr-alert\n *ngIf=\"amountToRefundTotal < refundTotal || refundTotal < amountToRefundTotal\"\n [clrAlertType]=\"'danger'\"\n [clrAlertClosable]=\"false\"\n >\n <clr-alert-item>\n {{ 'order.refund-total-warning' | translate }}\n </clr-alert-item>\n </clr-alert>\n <clr-alert\n *ngIf=\"amountToRefundTotal && !reason\"\n [clrAlertType]=\"'danger'\"\n [clrAlertClosable]=\"false\"\n >\n <clr-alert-item>\n {{ 'order.refund-cancellation-reason-required' | translate }}\n </clr-alert-item>\n </clr-alert>\n </div>\n <div class=\"modal-buttons\">\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button type=\"submit\" (click)=\"select()\" [disabled]=\"!canSubmit()\" class=\"btn btn-primary\">\n {{\n 'order.refund-with-amount'\n | translate : { amount: amountToRefundTotal | localeCurrency : order.currencyCode }\n }}\n </button>\n </div>\n </div>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { OrderDetailFragment } from '@vendure/admin-ui/core';\nimport { RefundablePayment } from '../../common/get-refundable-payments';\n\n@Component({\n selector: 'vdr-payment-for-refund-selector',\n templateUrl: './payment-for-refund-selector.component.html',\n styleUrls: ['./payment-for-refund-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.Default,\n standalone: false\n})\nexport class PaymentForRefundSelectorComponent {\n @Input() refundablePayments: RefundablePayment[];\n @Input() order: OrderDetailFragment;\n @Output() paymentSelected = new EventEmitter<{ payment: RefundablePayment; selected: boolean }>();\n}\n", "<vdr-card\n [title]=\"'order.payment' | translate\"\n [class.selected]=\"payment.selected\"\n [class.unselected]=\"!payment.selected\"\n *ngFor=\"let payment of refundablePayments\"\n>\n <ng-template vdrCardControls>\n <vdr-select-toggle\n size=\"small\"\n [title]=\"'order.refund-this-payment' | translate\"\n [label]=\"'order.refund-this-payment' | translate\"\n [disabled]=\"refundablePayments.length === 1\"\n [(selected)]=\"payment.selected\"\n (selectedChange)=\"paymentSelected.emit({ payment: payment, selected: $event })\"\n ></vdr-select-toggle>\n </ng-template>\n <div class=\"form-grid\">\n <vdr-labeled-data [label]=\"'order.payment-method' | translate\">\n {{ payment.method }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.transaction-id' | translate\">\n {{ payment.transactionId }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.payment-amount' | translate\">\n {{ payment.amount | localeCurrency : order.currencyCode }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.refundable-amount' | translate\">\n {{ payment.refundableAmount | localeCurrency : order.currencyCode }}\n </vdr-labeled-data>\n </div>\n <vdr-form-field [label]=\"'order.refund-amount' | translate\">\n <vdr-currency-input\n [readonly]=\"!payment.selected\"\n [currencyCode]=\"order.currencyCode\"\n [formControl]=\"payment.amountToRefundControl\"\n ></vdr-currency-input>\n </vdr-form-field>\n</vdr-card>", "import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { Dialog, OrderDetailFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-settle-refund-dialog',\n templateUrl: './settle-refund-dialog.component.html',\n styleUrls: ['./settle-refund-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class SettleRefundDialogComponent implements Dialog<string> {\n resolveWith: (result?: string) => void;\n transactionId = '';\n refund: NonNullable<OrderDetailFragment['payments']>[number]['refunds'][number];\n\n submit() {\n this.resolveWith(this.transactionId);\n }\n\n cancel() {\n this.resolveWith();\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.settle-refund' | translate }}</ng-template>\n<p class=\"instruction\">\n {{ 'order.settle-refund-manual-instructions' | translate: { method: refund.method } }}\n</p>\n<clr-input-container>\n <label>{{ 'order.transaction-id' | translate }}</label>\n <input clrInput name=\"transactionId\" [(ngModel)]=\"transactionId\" />\n</clr-input-container>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button type=\"submit\" (click)=\"submit()\" [disabled]=\"!transactionId\" class=\"btn btn-primary\">\n {{ 'order.settle-refund' | translate }}\n </button>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'vdr-payment-state-label',\n templateUrl: './payment-state-label.component.html',\n styleUrls: ['./payment-state-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class PaymentStateLabelComponent {\n @Input() state: string;\n\n get chipColorType() {\n switch (this.state) {\n case 'Authorized':\n return 'warning';\n case 'Settled':\n return 'success';\n case 'Declined':\n case 'Cancelled':\n return 'error';\n }\n }\n}\n", "<vdr-chip [title]=\"'order.payment-state' | translate\" [colorType]=\"chipColorType\">\n <clr-icon shape=\"check-circle\" *ngIf=\"state === 'Settled'\"></clr-icon>\n {{ state | stateI18nToken | translate }}\n</vdr-chip>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'vdr-refund-state-label',\n templateUrl: './refund-state-label.component.html',\n styleUrls: ['./refund-state-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class RefundStateLabelComponent {\n @Input() state: string;\n\n get chipColorType() {\n switch (this.state) {\n case 'Pending':\n return 'warning';\n case 'Settled':\n return 'success';\n case 'Failed':\n return 'error';\n }\n }\n}\n", "<vdr-chip [title]=\"'order.payment-state' | translate\" [colorType]=\"chipColorType\">\n <clr-icon shape=\"check-circle\" *ngIf=\"state === 'Settled'\"></clr-icon>\n {{ state | stateI18nToken | translate }}\n</vdr-chip>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CurrencyCode, OrderDetailFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-payment-detail',\n templateUrl: './payment-detail.component.html',\n styleUrls: ['./payment-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class PaymentDetailComponent {\n @Input() payment: NonNullable<OrderDetailFragment['payments']>[number];\n @Input() currencyCode: CurrencyCode;\n}\n", "<vdr-labeled-data [label]=\"'order.payment-method' | translate\">\n {{ payment.method }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.amount' | translate\">\n {{ payment.amount | localeCurrency: currencyCode }}\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"payment.errorMessage\" [label]=\"'order.error-message' | translate\">\n {{ payment.errorMessage }}\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"payment.transactionId\" [label]=\"'order.transaction-id' | translate\">\n {{ payment.transactionId }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.payment-metadata' | translate\">\n <vdr-object-tree [value]=\"payment.metadata\"></vdr-object-tree>\n</vdr-labeled-data>\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CurrencyCode, OrderDetailFragment } from '@vendure/admin-ui/core';\n\ntype Payment = NonNullable<OrderDetailFragment['payments']>[number];\n\n@Component({\n selector: 'vdr-order-payment-card',\n templateUrl: './order-payment-card.component.html',\n styleUrls: ['./order-payment-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderPaymentCardComponent {\n @Input() payment: Payment;\n @Input() currencyCode: CurrencyCode;\n @Output() settlePayment = new EventEmitter<Payment>();\n @Output() transitionPaymentState = new EventEmitter<{ payment: Payment; state: string }>();\n @Output() settleRefund = new EventEmitter<Payment['refunds'][number]>();\n\n refundHasMetadata(refund?: Payment['refunds'][number]): boolean {\n return !!refund && Object.keys(refund.metadata).length > 0;\n }\n\n nextOtherStates(): string[] {\n if (!this.payment) {\n return [];\n }\n return this.payment.nextStates.filter(s => s !== 'Settled' && s !== 'Error');\n }\n}\n", "<div class=\"card\">\n <div class=\"card-header payment-header\">\n <div>\n {{ 'order.payment' | translate }}\n <ng-container *ngIf=\"payment.amount\">{{ payment.amount | localeCurrency : currencyCode }}</ng-container>\n </div>\n <div class=\"payment-state\">\n <vdr-payment-state-label [state]=\"payment.state\"></vdr-payment-state-label>\n </div>\n </div>\n <div class=\"card-block\">\n <vdr-payment-detail [payment]=\"payment\" [currencyCode]=\"currencyCode\"></vdr-payment-detail>\n </div>\n <ng-container *ngFor=\"let refund of payment.refunds\">\n <div class=\"refund-wrapper card-block\">\n <div class=\"card-header payment-header refund-header\">\n <clr-icon shape=\"redo\" class=\"refund-icon\" dir=\"down\"></clr-icon>\n {{ 'order.refund' | translate }} #{{ refund.id }}\n <div class=\"clr-flex-fill\"></div>\n <vdr-refund-state-label [state]=\"refund.state\"></vdr-refund-state-label>\n </div>\n <div class=\"card-block\">\n <vdr-labeled-data [label]=\"'common.created-at' | translate\">\n {{ refund.createdAt | localeDate : 'medium' }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.refund-total' | translate\">\n {{ refund.total | localeCurrency : currencyCode }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.transaction-id' | translate\" *ngIf=\"refund.transactionId\">\n {{ refund.transactionId }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.refund-reason' | translate\" *ngIf=\"refund.reason\">\n {{ refund.reason }}\n </vdr-labeled-data>\n <vdr-labeled-data\n [label]=\"'order.refund-metadata' | translate\"\n *ngIf=\"refundHasMetadata(refund)\"\n >\n <vdr-object-tree [value]=\"refund.metadata\"></vdr-object-tree>\n </vdr-labeled-data>\n </div>\n <div class=\"card-footer\" *ngIf=\"refund.state === 'Pending'\">\n <button class=\"btn btn-sm btn-primary\" (click)=\"settleRefund.emit(refund)\">\n {{ 'order.settle-refund' | translate }}\n </button>\n </div>\n </div>\n </ng-container>\n <div class=\"card-footer\" *ngIf=\"payment.nextStates.length\">\n <button\n class=\"btn btn-sm btn-primary\"\n *ngIf=\"payment.nextStates.includes('Settled')\"\n (click)=\"settlePayment.emit(payment)\"\n >\n {{ 'order.settle-payment' | translate }}\n </button>\n <vdr-dropdown>\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <ng-container *ngFor=\"let nextState of nextOtherStates()\">\n <button\n type=\"button\"\n vdrDropdownItem\n (click)=\"transitionPaymentState.emit({ payment: payment, state: nextState })\"\n >\n <ng-container *ngIf=\"nextState !== 'Cancelled'; else cancel\">\n <clr-icon shape=\"step-forward-2\"></clr-icon>\n {{\n 'order.transition-to-state'\n | translate : { state: (nextState | stateI18nToken | translate) }\n }}\n </ng-container>\n <ng-template #cancel>\n <clr-icon shape=\"error-standard\" class=\"is-error\"></clr-icon>\n {{ 'order.cancel-payment' | translate }}\n </ng-template>\n </button>\n </ng-container>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </div>\n</div>\n", "import {\n Component,\n ComponentRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n HistoryEntryComponentService,\n OrderDetailFragment,\n OrderHistoryEntryComponent,\n TimelineHistoryEntry,\n} from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-order-history-entry-host',\n template: `\n <vdr-timeline-entry\n [displayType]=\"instance.getDisplayType(entry)\"\n [iconShape]=\"instance.getIconShape && instance.getIconShape(entry)\"\n [createdAt]=\"entry.createdAt\"\n [name]=\"instance.getName && instance.getName(entry)\"\n [featured]=\"instance.isFeatured(entry)\"\n [collapsed]=\"!expanded && !instance.isFeatured(entry)\"\n (expandClick)=\"expandClick.emit()\"\n >\n <div #portal></div>\n </vdr-timeline-entry>\n `,\n exportAs: 'historyEntry',\n standalone: false,\n})\nexport class OrderHistoryEntryHostComponent implements OnInit, OnDestroy {\n @Input() entry: TimelineHistoryEntry;\n @Input() order: OrderDetailFragment;\n @Input() expanded: boolean;\n @Output() expandClick = new EventEmitter<void>();\n @ViewChild('portal', { static: true, read: ViewContainerRef }) portalRef: ViewContainerRef;\n instance: OrderHistoryEntryComponent;\n private componentRef: ComponentRef<OrderHistoryEntryComponent>;\n\n constructor(private historyEntryComponentService: HistoryEntryComponentService) {}\n\n ngOnInit(): void {\n const componentType = this.historyEntryComponentService.getComponent(\n this.entry.type,\n ) as Type<OrderHistoryEntryComponent>;\n\n const componentRef = this.portalRef.createComponent(componentType);\n componentRef.instance.entry = this.entry;\n componentRef.instance.order = this.order;\n this.instance = componentRef.instance;\n this.componentRef = componentRef;\n }\n\n ngOnDestroy() {\n this.componentRef?.destroy();\n }\n}\n", "import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n HistoryEntryComponentService,\n HistoryEntryType,\n OrderDetailFragment,\n TimelineDisplayType,\n TimelineHistoryEntry,\n} from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-order-history',\n templateUrl: './order-history.component.html',\n styleUrls: ['./order-history.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderHistoryComponent {\n @Input() order: OrderDetailFragment;\n @Input() history: TimelineHistoryEntry[];\n @Output() addNote = new EventEmitter<{ note: string; isPublic: boolean }>();\n @Output() updateNote = new EventEmitter<TimelineHistoryEntry>();\n @Output() deleteNote = new EventEmitter<TimelineHistoryEntry>();\n note = '';\n noteIsPrivate = true;\n expanded = false;\n readonly type = HistoryEntryType;\n\n constructor(private historyEntryComponentService: HistoryEntryComponentService) {}\n\n hasCustomComponent(type: string): boolean {\n return !!this.historyEntryComponentService.getComponent(type);\n }\n\n getDisplayType(entry: TimelineHistoryEntry): TimelineDisplayType {\n if (entry.type === HistoryEntryType.ORDER_STATE_TRANSITION) {\n if (entry.data.to === 'Delivered') {\n return 'success';\n }\n if (entry.data.to === 'Cancelled') {\n return 'error';\n }\n }\n if (entry.type === HistoryEntryType.ORDER_FULFILLMENT_TRANSITION) {\n if (entry.data.to === 'Delivered') {\n return 'success';\n }\n }\n if (entry.type === HistoryEntryType.ORDER_PAYMENT_TRANSITION) {\n if (entry.data.to === 'Declined' || entry.data.to === 'Cancelled') {\n return 'error';\n }\n }\n if (entry.type === HistoryEntryType.ORDER_CANCELLATION) {\n return 'warning';\n }\n if (entry.type === HistoryEntryType.ORDER_REFUND_TRANSITION) {\n return 'warning';\n }\n return 'default';\n }\n\n getTimelineIcon(entry: TimelineHistoryEntry) {\n if (entry.type === HistoryEntryType.ORDER_STATE_TRANSITION) {\n if (entry.data.to === 'Delivered') {\n return ['success-standard', 'is-solid'];\n }\n if (entry.data.to === 'Cancelled') {\n return 'ban';\n }\n }\n if (entry.type === HistoryEntryType.ORDER_PAYMENT_TRANSITION) {\n if (entry.data.to === 'Settled') {\n return 'credit-card';\n }\n }\n if (entry.type === HistoryEntryType.ORDER_REFUND_TRANSITION) {\n if (entry.data.to === 'Settled') {\n return 'credit-card';\n }\n }\n if (entry.type === HistoryEntryType.ORDER_NOTE) {\n return 'note';\n }\n if (entry.type === HistoryEntryType.ORDER_MODIFIED) {\n return 'pencil';\n }\n if (entry.type === HistoryEntryType.ORDER_CUSTOMER_UPDATED) {\n return 'switch';\n }\n if (entry.type === HistoryEntryType.ORDER_FULFILLMENT_TRANSITION) {\n if (entry.data.to === 'Shipped') {\n return 'truck';\n }\n if (entry.data.to === 'Delivered') {\n return 'truck';\n }\n }\n }\n\n isFeatured(entry: TimelineHistoryEntry): boolean {\n switch (entry.type) {\n case HistoryEntryType.ORDER_STATE_TRANSITION: {\n return (\n entry.data.to === 'Delivered' ||\n entry.data.to === 'Cancelled' ||\n entry.data.to === 'Settled'\n );\n }\n case HistoryEntryType.ORDER_REFUND_TRANSITION:\n return entry.data.to === 'Settled';\n case HistoryEntryType.ORDER_PAYMENT_TRANSITION:\n return entry.data.to === 'Settled' || entry.data.to === 'Cancelled';\n case HistoryEntryType.ORDER_FULFILLMENT_TRANSITION:\n return entry.data.to === 'Delivered' || entry.data.to === 'Shipped';\n case HistoryEntryType.ORDER_NOTE:\n case HistoryEntryType.ORDER_MODIFIED:\n case HistoryEntryType.ORDER_CUSTOMER_UPDATED:\n return true;\n default:\n return false;\n }\n }\n\n getFulfillment(\n entry: TimelineHistoryEntry,\n ): NonNullable<OrderDetailFragment['fulfillments']>[number] | undefined {\n if (\n (entry.type === HistoryEntryType.ORDER_FULFILLMENT ||\n entry.type === HistoryEntryType.ORDER_FULFILLMENT_TRANSITION) &&\n this.order.fulfillments\n ) {\n return this.order.fulfillments.find(f => f.id == entry.data.fulfillmentId);\n }\n }\n\n getPayment(\n entry: TimelineHistoryEntry,\n ): NonNullable<OrderDetailFragment['payments']>[number] | undefined {\n if (entry.type === HistoryEntryType.ORDER_PAYMENT_TRANSITION && this.order.payments) {\n return this.order.payments.find(p => p.id === entry.data.paymentId);\n }\n }\n\n getRefund(\n entry: TimelineHistoryEntry,\n ): NonNullable<OrderDetailFragment['payments']>[number]['refunds'][number] | undefined {\n if (entry.type === HistoryEntryType.ORDER_REFUND_TRANSITION && this.order.payments) {\n const allRefunds = this.order.payments.reduce(\n (refunds, payment) => refunds.concat(payment.refunds),\n [] as NonNullable<OrderDetailFragment['payments']>[number]['refunds'],\n );\n return allRefunds.find(r => r.id === entry.data.refundId);\n }\n }\n\n getCancelledQuantity(entry: TimelineHistoryEntry): number {\n return entry.data.lines.reduce((total, line) => total + line.quantity, 0);\n }\n\n getCancelledItems(\n cancellationLines: Array<{ orderLineId: string; quantity: number }>,\n ): Array<{ name: string; quantity: number }> {\n const itemMap = new Map<string, number>();\n for (const line of this.order.lines) {\n const cancellationLine = cancellationLines.find(l => l.orderLineId === line.id);\n if (cancellationLine) {\n itemMap.set(line.productVariant.name, cancellationLine.quantity);\n }\n }\n return Array.from(itemMap.entries()).map(([name, quantity]) => ({ name, quantity }));\n }\n\n getModification(id: string) {\n return this.order.modifications.find(m => m.id === id);\n }\n\n getName(entry: TimelineHistoryEntry): string {\n const { administrator } = entry;\n if (administrator) {\n return `${administrator.firstName} ${administrator.lastName}`;\n } else {\n const customer = this.order.customer;\n if (customer) {\n return `${customer.firstName} ${customer.lastName}`;\n }\n }\n return '';\n }\n\n addNoteToOrder() {\n this.addNote.emit({ note: this.note, isPublic: !this.noteIsPrivate });\n this.note = '';\n this.noteIsPrivate = true;\n }\n}\n", "<div class=\"entry-list\" [class.expanded]=\"expanded\">\n <vdr-timeline-entry iconShape=\"note\" displayType=\"muted\" [featured]=\"true\" [isFirst]=\"true\">\n <div class=\"note-entry\">\n <textarea [(ngModel)]=\"note\" name=\"note\" class=\"note\"></textarea>\n <button class=\"btn btn-secondary\" [disabled]=\"!note\" (click)=\"addNoteToOrder()\">\n {{ 'common.add-note' | translate }}\n </button>\n </div>\n <div class=\"visibility-select\">\n <clr-checkbox-wrapper>\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"noteIsPrivate\" />\n <label>{{ 'order.note-is-private' | translate }}</label>\n </clr-checkbox-wrapper>\n <span *ngIf=\"noteIsPrivate\" class=\"private\">\n {{ 'order.note-only-visible-to-administrators' | translate }}\n </span>\n <span *ngIf=\"!noteIsPrivate\" class=\"public\">\n {{ 'order.note-visible-to-customer' | translate }}\n </span>\n </div>\n </vdr-timeline-entry>\n <ng-container *ngFor=\"let entry of history\">\n <vdr-order-history-entry-host\n *ngIf=\"hasCustomComponent(entry.type); else defaultComponents\"\n [order]=\"order\"\n [entry]=\"entry\"\n [expanded]=\"expanded\"\n (expandClick)=\"expanded = !expanded\"\n ></vdr-order-history-entry-host>\n <ng-template #defaultComponents>\n <vdr-timeline-entry\n [displayType]=\"getDisplayType(entry)\"\n [iconShape]=\"getTimelineIcon(entry)\"\n [createdAt]=\"entry.createdAt\"\n [name]=\"getName(entry)\"\n [featured]=\"isFeatured(entry)\"\n [collapsed]=\"!expanded && !isFeatured(entry)\"\n (expandClick)=\"expanded = !expanded\"\n >\n <ng-container [ngSwitch]=\"entry.type\">\n <ng-container *ngSwitchCase=\"type.ORDER_STATE_TRANSITION\">\n <div class=\"title\" *ngIf=\"entry.data.to === 'Delivered'\">\n {{ 'order.history-order-fulfilled' | translate }}\n </div>\n <div class=\"title\" *ngIf=\"entry.data.to === 'Cancelled'\">\n {{ 'order.history-order-cancelled' | translate }}\n </div>\n <ng-template [ngIf]=\"entry.data.to !== 'Cancelled' && entry.data.to !== 'Delivered'\">\n {{\n 'order.history-order-transition'\n | translate : { from: entry.data.from, to: entry.data.to }\n }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_MODIFIED\">\n <div class=\"title\">\n {{ 'order.history-order-modified' | translate }}\n </div>\n <div\n class=\"flex items-center\"\n *ngIf=\"getModification(entry.data.modificationId) as modification\"\n >\n {{ 'order.modify-order-price-difference' | translate }}:\n <strong>{{\n modification.priceChange | localeCurrency : order.currencyCode\n }}</strong>\n <vdr-chip colorType=\"success\" class=\"mx-1\" *ngIf=\"modification.isSettled\">{{\n 'order.modification-settled' | translate\n }}</vdr-chip>\n <vdr-chip colorType=\"error\" class=\"mx-1\" *ngIf=\"!modification.isSettled\">{{\n 'order.modification-not-settled' | translate\n }}</vdr-chip>\n <vdr-history-entry-detail>\n <vdr-modification-detail\n [order]=\"order\"\n [modification]=\"modification\"\n ></vdr-modification-detail>\n </vdr-history-entry-detail>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_PAYMENT_TRANSITION\">\n <ng-container *ngIf=\"entry.data.to === 'Settled'; else regularPaymentTransition\">\n <div class=\"title\">\n {{ 'order.history-payment-settled' | translate }}\n </div>\n <div class=\"flex items-center\">\n <vdr-chip *ngIf=\"getPayment(entry) as payment\" class=\"mr-1\">{{\n payment.amount | localeCurrency : order.currencyCode\n }}</vdr-chip>\n <vdr-history-entry-detail *ngIf=\"getPayment(entry) as payment\">\n <vdr-payment-detail\n [payment]=\"payment\"\n [currencyCode]=\"order.currencyCode\"\n ></vdr-payment-detail>\n </vdr-history-entry-detail>\n </div>\n </ng-container>\n <ng-template #regularPaymentTransition>\n {{\n 'order.history-payment-transition'\n | translate\n : {\n from: entry.data.from,\n to: entry.data.to,\n id: getPayment(entry)?.transactionId\n }\n }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_REFUND_TRANSITION\">\n <ng-container *ngIf=\"entry.data.to === 'Settled'; else regularRefundTransition\">\n <ng-container *ngIf=\"getRefund(entry) as refund\">\n <div class=\"title\">{{ 'order.refund' | translate }} #{{ refund.id }}</div>\n <div class=\"flex items-center\">\n <vdr-chip colorType=\"warning\" class=\"mr-1\">{{\n refund.total | localeCurrency : order.currencyCode\n }}</vdr-chip>\n <vdr-history-entry-detail>\n <vdr-labeled-data [label]=\"'order.cancellation-reason' | translate\">\n {{ entry.data.reason }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.contents' | translate\">\n <vdr-simple-item-list\n [items]=\"getCancelledItems(refund.lines)\"\n ></vdr-simple-item-list>\n </vdr-labeled-data>\n </vdr-history-entry-detail>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #regularRefundTransition>\n {{\n 'order.history-refund-transition'\n | translate\n : {\n from: entry.data.from,\n to: entry.data.to,\n id: entry.data.refundId\n }\n }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_CANCELLATION\">\n {{\n 'order.history-items-cancelled'\n | translate : { count: getCancelledQuantity(entry) }\n }}\n <vdr-history-entry-detail *ngIf=\"getCancelledItems(entry.data.lines) as items\">\n <vdr-labeled-data [label]=\"'order.cancellation-reason' | translate\">\n {{ entry.data.reason }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.contents' | translate\">\n <vdr-simple-item-list [items]=\"items\"></vdr-simple-item-list>\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.shipping-cancelled' | translate\">\n {{ entry.data.shippingCancelled }}\n </vdr-labeled-data>\n </vdr-history-entry-detail>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT\">\n {{ 'order.history-fulfillment-created' | translate }}\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\n <vdr-fulfillment-detail\n [fulfillmentId]=\"fulfillment.id\"\n [order]=\"order\"\n ></vdr-fulfillment-detail>\n </vdr-history-entry-detail>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT_TRANSITION\">\n <ng-container *ngIf=\"entry.data.to === 'Delivered'\">\n <div class=\"title\">\n {{ 'order.history-fulfillment-delivered' | translate }}\n </div>\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\n </ng-container>\n <ng-container *ngIf=\"entry.data.to === 'Shipped'\">\n <div class=\"title\">\n {{ 'order.history-fulfillment-shipped' | translate }}\n </div>\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\n </ng-container>\n <ng-container *ngIf=\"entry.data.to !== 'Delivered' && entry.data.to !== 'Shipped'\">\n {{\n 'order.history-fulfillment-transition'\n | translate : { from: entry.data.from, to: entry.data.to }\n }}\n </ng-container>\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\n <vdr-fulfillment-detail\n [fulfillmentId]=\"fulfillment.id\"\n [order]=\"order\"\n ></vdr-fulfillment-detail>\n </vdr-history-entry-detail>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_NOTE\">\n <div class=\"flex\">\n <div class=\"note-text\">\n <span *ngIf=\"entry.isPublic\" class=\"note-visibility public\">{{\n 'common.public' | translate\n }}</span>\n <span *ngIf=\"!entry.isPublic\" class=\"note-visibility private\">{{\n 'common.private' | translate\n }}</span>\n {{ entry.data.note }}\n </div>\n <div class=\"flex-spacer\"></div>\n <vdr-dropdown>\n <button class=\"button-small ml-1\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n vdrDropdownItem\n (click)=\"updateNote.emit(entry)\"\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\n >\n <clr-icon shape=\"edit\"></clr-icon>\n {{ 'common.edit' | translate }}\n </button>\n <div class=\"dropdown-divider\"></div>\n <button\n vdrDropdownItem\n (click)=\"deleteNote.emit(entry)\"\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\n >\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\n {{ 'common.delete' | translate }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_APPLIED\">\n {{ 'order.history-coupon-code-applied' | translate }}:\n <vdr-chip>\n <a [routerLink]=\"['/marketing', 'promotions', entry.data.promotionId]\">{{\n entry.data.couponCode\n }}</a>\n </vdr-chip>\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_REMOVED\">\n {{ 'order.history-coupon-code-removed' | translate }}:\n <vdr-chip\n ><span class=\"cancelled-coupon-code\">{{ entry.data.couponCode }}</span></vdr-chip\n >\n </ng-container>\n <ng-container *ngSwitchCase=\"type.ORDER_CUSTOMER_UPDATED\">\n <div class=\"title\">\n {{\n 'order.history-customer-updated'\n | translate : { newCustomerName: entry.data.newCustomerName }\n }}\n </div>\n <div class=\"flex\">\n <div class=\"note-text\">\n {{ entry.data.note }}\n </div>\n <div class=\"flex-spacer\"></div>\n <vdr-history-entry-detail>\n <vdr-labeled-data [label]=\"'order.previous-customer' | translate\">\n <a\n *ngIf=\"entry.data.previousCustomerId\"\n class=\"button-ghost\"\n [routerLink]=\"[\n '/customer',\n 'customers',\n entry.data.previousCustomerId\n ]\"\n >\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon>\n <span>{{ entry.data.previousCustomerName }}</span>\n <clr-icon shape=\"arrow right\"></clr-icon>\n </a>\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.new-customer' | translate\">\n <a\n *ngIf=\"entry.data.newCustomerId\"\n class=\"button-ghost\"\n [routerLink]=\"['/customer', 'customers', entry.data.newCustomerId]\"\n >\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon>\n <span>{{ entry.data.newCustomerName }}</span>\n <clr-icon shape=\"arrow right\"></clr-icon>\n </a>\n </vdr-labeled-data>\n </vdr-history-entry-detail>\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div class=\"title\">\n {{ entry.type | translate }}\n </div>\n <vdr-history-entry-detail *ngIf=\"entry.data\">\n <vdr-object-tree [value]=\"entry.data\"></vdr-object-tree>\n </vdr-history-entry-detail>\n </ng-container>\n </ng-container>\n </vdr-timeline-entry>\n </ng-template>\n </ng-container>\n\n <vdr-timeline-entry [isLast]=\"true\" [createdAt]=\"order.createdAt\" [featured]=\"true\">\n <div class=\"title\">\n {{ 'order.history-order-created' | translate }}\n </div>\n </vdr-timeline-entry>\n</div>\n", "import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n ChannelService,\n DataService,\n GetSellerOrdersQuery,\n GetSellerOrdersQueryVariables,\n} from '@vendure/admin-ui/core';\nimport { DEFAULT_CHANNEL_CODE } from '@vendure/common/lib/shared-constants';\nimport { Observable } from 'rxjs';\n\nimport { GET_SELLER_ORDERS } from './seller-orders-card.graphql';\n\ntype SellerOrder = NonNullable<NonNullable<GetSellerOrdersQuery['order']>['sellerOrders']>[number];\n\n@Component({\n selector: 'vdr-seller-orders-card',\n templateUrl: './seller-orders-card.component.html',\n styleUrls: ['./seller-orders-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class SellerOrdersCardComponent implements OnInit {\n @Input() orderId: string;\n\n sellerOrders$: Observable<SellerOrder[]>;\n\n constructor(\n private router: Router,\n private dataService: DataService,\n private channelService: ChannelService,\n ) {}\n\n ngOnInit() {\n this.sellerOrders$ = this.dataService\n .query<GetSellerOrdersQuery, GetSellerOrdersQueryVariables>(GET_SELLER_ORDERS, {\n orderId: this.orderId,\n })\n .mapSingle(({ order }) => order?.sellerOrders ?? []);\n }\n\n getSeller(order: SellerOrder) {\n const sellerChannel = order.channels.find(channel => channel.code !== DEFAULT_CHANNEL_CODE);\n return sellerChannel?.seller;\n }\n\n navigateToSellerOrder(order: SellerOrder) {\n this.router.navigate(['/orders', order.id]);\n }\n}\n", "<vdr-card [title]=\"'order.seller-orders' | translate\">\n <div class=\"form-grid\">\n <div *ngFor=\"let order of sellerOrders$ | async\">\n <a [routerLink]=\"['seller-orders', order.id]\" class=\"button-ghost mb-1\"\n >{{ order.code }} <clr-icon shape=\"arrow right\"></clr-icon\n ></a>\n <vdr-labeled-data [label]=\"'order.state' | translate\">\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\n </vdr-labeled-data>\n <vdr-labeled-data *ngIf=\"getSeller(order) as seller\" [label]=\"'common.seller' | translate\">\n {{ seller.name }}\n </vdr-labeled-data>\n <vdr-labeled-data *ngIf=\"getSeller(order) as seller\" [label]=\"'order.total' | translate\">\n {{ order.totalWithTax | localeCurrency : order.currencyCode }}\n </vdr-labeled-data>\n </div>\n </div>\n</vdr-card>\n", "import { gql } from 'apollo-angular';\n\nexport const GET_SELLER_ORDERS = gql`\n query GetSellerOrders($orderId: ID!) {\n order(id: $orderId) {\n id\n sellerOrders {\n id\n code\n state\n orderPlacedAt\n currencyCode\n totalWithTax\n channels {\n id\n code\n seller {\n id\n name\n }\n }\n }\n }\n }\n`;\n", "import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport {\n FormControl,\n FormGroup,\n UntypedFormArray,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport {\n CustomFieldConfig,\n DataService,\n DraftOrderEligibleShippingMethodsQuery,\n ErrorResult,\n GetAvailableCountriesQuery,\n HistoryEntryType,\n LanguageCode,\n ModalService,\n ModifyOrderInput,\n NotificationService,\n OrderAddressFragment,\n OrderDetailFragment,\n OrderDetailQueryDocument,\n SortOrder,\n SurchargeInput,\n transformRelationCustomFieldInputs,\n TypedBaseDetailComponent,\n} from '@vendure/admin-ui/core';\nimport { assertNever, notNullOrUndefined } from '@vendure/common/lib/shared-utils';\nimport { simpleDeepClone } from '@vendure/common/lib/simple-deep-clone';\nimport { EMPTY, Observable, of } from 'rxjs';\nimport { map, mapTo, shareReplay, switchMap, take, takeUntil } from 'rxjs/operators';\nimport {\n AddedLine,\n ModifyOrderData,\n OrderSnapshot,\n ProductSelectorItem,\n} from '../../common/modify-order-types';\n\nimport { OrderTransitionService } from '../../providers/order-transition.service';\nimport {\n OrderEditResultType,\n OrderEditsPreviewDialogComponent,\n} from '../order-edits-preview-dialog/order-edits-preview-dialog.component';\nimport { SelectShippingMethodDialogComponent } from '../select-shipping-method-dialog/select-shipping-method-dialog.component';\n\n@Component({\n selector: 'vdr-order-editor',\n templateUrl: './order-editor.component.html',\n styleUrls: ['./order-editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderEditorComponent\n extends TypedBaseDetailComponent<typeof OrderDetailQueryDocument, 'order'>\n implements OnInit, OnDestroy\n{\n availableCountries$: Observable<GetAvailableCountriesQuery['countries']['items']>;\n addressCustomFields: CustomFieldConfig[];\n uiLanguage$: Observable<LanguageCode>;\n detailForm = new UntypedFormGroup({});\n couponCodesControl = new FormControl<string[]>([]);\n orderLineCustomFieldsFormArray: UntypedFormArray;\n addItemCustomFieldsFormArray: UntypedFormArray;\n addItemCustomFieldsForm: UntypedFormGroup;\n addItemSelectedVariant: ProductSelectorItem | undefined;\n orderLineCustomFields: CustomFieldConfig[];\n orderSnapshot: OrderSnapshot;\n modifyOrderInput: ModifyOrderData = {\n dryRun: true,\n orderId: '',\n addItems: [],\n adjustOrderLines: [],\n surcharges: [],\n note: '',\n refunds: [],\n updateShippingAddress: {},\n updateBillingAddress: {},\n };\n surchargeForm = new FormGroup({\n description: new FormControl('', Validators.minLength(1)),\n sku: new FormControl(''),\n price: new FormControl(0),\n priceIncludesTax: new FormControl(true),\n taxRate: new FormControl(0),\n taxDescription: new FormControl(''),\n });\n shippingAddressForm = new FormGroup({\n fullName: new FormControl(''),\n company: new FormControl(''),\n streetLine1: new FormControl(''),\n streetLine2: new FormControl(''),\n city: new FormControl(''),\n province: new FormControl(''),\n postalCode: new FormControl(''),\n countryCode: new FormControl(''),\n phoneNumber: new FormControl(''),\n });\n billingAddressForm = new FormGroup({\n fullName: new FormControl(''),\n company: new FormControl(''),\n streetLine1: new FormControl(''),\n streetLine2: new FormControl(''),\n city: new FormControl(''),\n province: new FormControl(''),\n postalCode: new FormControl(''),\n countryCode: new FormControl(''),\n phoneNumber: new FormControl(''),\n });\n note = '';\n recalculateShipping = true;\n previousState: string;\n editingShippingAddress = false;\n editingBillingAddress = false;\n updatedShippingMethods: {\n [\n shippingLineId: string\n ]: DraftOrderEligibleShippingMethodsQuery['eligibleShippingMethodsForDraftOrder'][number];\n } = {};\n private addedVariants = new Map<string, ProductSelectorItem>();\n\n constructor(\n protected dataService: DataService,\n private notificationService: NotificationService,\n private modalService: ModalService,\n private orderTransitionService: OrderTransitionService,\n private changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.init();\n this.addressCustomFields = this.getCustomFieldConfig('Address');\n this.modifyOrderInput.orderId = this.route.snapshot.paramMap.get('id') as string;\n this.orderLineCustomFields = this.getCustomFieldConfig('OrderLine');\n this.entity$.pipe(take(1)).subscribe(order => {\n this.orderSnapshot = this.createOrderSnapshot(order);\n if (order.couponCodes.length) {\n this.couponCodesControl.setValue(order.couponCodes);\n }\n this.surchargeForm.reset();\n for (const [name, control] of Object.entries(this.shippingAddressForm.controls)) {\n control.setValue(order.shippingAddress?.[name]);\n }\n this.addAddressCustomFieldsFormGroup(this.shippingAddressForm, order.shippingAddress);\n for (const [name, control] of Object.entries(this.billingAddressForm.controls)) {\n control.setValue(order.billingAddress?.[name]);\n }\n this.addAddressCustomFieldsFormGroup(this.billingAddressForm, order.billingAddress);\n this.orderLineCustomFieldsFormArray = new UntypedFormArray([]);\n for (const line of order.lines) {\n const formGroup = new UntypedFormGroup({});\n for (const { name } of this.orderLineCustomFields) {\n formGroup.addControl(name, new UntypedFormControl((line as any).customFields[name]));\n }\n formGroup.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n let modifyRow = this.modifyOrderInput.adjustOrderLines.find(\n l => l.orderLineId === line.id,\n );\n if (!modifyRow) {\n modifyRow = {\n orderLineId: line.id,\n quantity: line.quantity,\n };\n this.modifyOrderInput.adjustOrderLines.push(modifyRow);\n }\n if (this.orderLineCustomFields.length) {\n modifyRow.customFields = value;\n }\n });\n this.orderLineCustomFieldsFormArray.push(formGroup);\n }\n });\n\n this.addItemCustomFieldsFormArray = new UntypedFormArray([]);\n this.addItemCustomFieldsForm = new UntypedFormGroup({});\n for (const customField of this.orderLineCustomFields) {\n this.addItemCustomFieldsForm.addControl(customField.name, new UntypedFormControl());\n }\n this.availableCountries$ = this.dataService.settings\n .getAvailableCountries()\n .mapSingle(result => result.countries.items)\n .pipe(shareReplay(1));\n this.dataService.order\n .getOrderHistory(this.id, {\n take: 1,\n sort: {\n createdAt: SortOrder.DESC,\n },\n filter: { type: { eq: HistoryEntryType.ORDER_STATE_TRANSITION } },\n })\n .single$.subscribe(({ order }) => {\n this.previousState = order?.history.items[0].data.from;\n });\n this.uiLanguage$ = this.dataService.client\n .uiState()\n .stream$.pipe(map(({ uiState }) => uiState.language));\n }\n\n ngOnDestroy(): void {\n this.destroy();\n }\n\n get addedLines(): AddedLine[] {\n const getSinglePriceValue = (price: ProductSelectorItem['price']) =>\n price.__typename === 'SinglePrice' ? price.value : 0;\n return (this.modifyOrderInput.addItems || [])\n .map(row => {\n const variantInfo = this.addedVariants.get(row.productVariantId);\n if (variantInfo) {\n return {\n id: this.getIdForAddedItem(row),\n featuredAsset: variantInfo.productAsset,\n productVariant: {\n id: variantInfo.productVariantId,\n name: variantInfo.productVariantName,\n sku: variantInfo.sku,\n },\n unitPrice: getSinglePriceValue(variantInfo.price),\n unitPriceWithTax: getSinglePriceValue(variantInfo.priceWithTax),\n quantity: row.quantity,\n };\n }\n })\n .filter(notNullOrUndefined);\n }\n\n private getIdForAddedItem(row: ModifyOrderData['addItems'][number]) {\n return `added-${row.productVariantId}-${JSON.stringify(row.customFields || {})}`;\n }\n\n transitionToPriorState(order: OrderDetailFragment) {\n this.orderTransitionService\n .transitionToPreModifyingState(order.id, order.nextStates)\n .subscribe(result => {\n this.router.navigate(['..'], { relativeTo: this.route });\n });\n }\n\n hasModifications(): boolean {\n const { addItems, adjustOrderLines, surcharges } = this.modifyOrderInput;\n return (\n !!addItems?.length ||\n !!surcharges?.length ||\n !!adjustOrderLines?.length ||\n (this.shippingAddressForm.dirty && this.shippingAddressForm.valid) ||\n (this.billingAddressForm.dirty && this.billingAddressForm.valid) ||\n this.couponCodesControl.dirty ||\n Object.entries(this.updatedShippingMethods).length > 0\n );\n }\n\n isLineModified(line: OrderDetailFragment['lines'][number]): boolean {\n return !!this.modifyOrderInput.adjustOrderLines?.find(\n l => l.orderLineId === line.id && l.quantity !== line.quantity,\n );\n }\n\n getInitialLineQuantity(lineId: string): number {\n const adjustedLine = this.modifyOrderInput.adjustOrderLines?.find(l => l.orderLineId === lineId);\n if (adjustedLine) {\n return adjustedLine.quantity;\n }\n const addedLine = this.modifyOrderInput.addItems?.find(l => this.getIdForAddedItem(l) === lineId);\n if (addedLine) {\n return addedLine.quantity ?? 1;\n }\n const line = this.orderSnapshot.lines.find(l => l.id === lineId);\n return line ? line.quantity : 1;\n }\n\n updateLineQuantity(line: OrderDetailFragment['lines'][number] | AddedLine, quantity: string) {\n const { adjustOrderLines } = this.modifyOrderInput;\n if (this.isAddedLine(line)) {\n const row = this.modifyOrderInput.addItems?.find(\n l => l.productVariantId === line.productVariant.id,\n );\n if (row) {\n row.quantity = +quantity;\n }\n } else {\n let row = adjustOrderLines?.find(l => l.orderLineId === line.id);\n if (row && +quantity === line.quantity) {\n // Remove the modification if the quantity is the same as\n // the original order\n adjustOrderLines?.splice(adjustOrderLines?.indexOf(row), 1);\n }\n if (!row) {\n row = { orderLineId: line.id, quantity: +quantity };\n adjustOrderLines?.push(row);\n }\n row.quantity = +quantity;\n }\n }\n\n isAddedLine(line: OrderDetailFragment['lines'][number] | AddedLine): line is AddedLine {\n return (line as AddedLine).id.startsWith('added-');\n }\n\n updateAddedItemQuantity(item: AddedLine, quantity: string) {\n const row = this.modifyOrderInput.addItems?.find(l => l.productVariantId === item.productVariant.id);\n if (row) {\n row.quantity = +quantity;\n }\n }\n\n trackByProductVariantId(index: number, item: AddedLine) {\n return item.productVariant.id;\n }\n\n getSelectedItemPrice(result: ProductSelectorItem | undefined): number {\n switch (result?.priceWithTax.__typename) {\n case 'SinglePrice':\n return result.priceWithTax.value;\n default:\n return 0;\n }\n }\n\n addItemToOrder(result: ProductSelectorItem | undefined) {\n if (!result) {\n return;\n }\n const customFields = this.orderLineCustomFields.length\n ? this.addItemCustomFieldsForm.value\n : undefined;\n let row = this.modifyOrderInput.addItems?.find(l =>\n this.isMatchingAddItemRow(l, result, customFields),\n );\n if (!row) {\n row = { productVariantId: result.productVariantId, quantity: 1 };\n if (customFields) {\n row.customFields = customFields;\n }\n this.modifyOrderInput.addItems?.push(row);\n } else {\n row.quantity++;\n }\n if (customFields) {\n const formGroup = new UntypedFormGroup({});\n for (const [key, value] of Object.entries(customFields)) {\n formGroup.addControl(key, new UntypedFormControl(value));\n }\n this.addItemCustomFieldsFormArray.push(formGroup);\n formGroup.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n if (row) {\n row.customFields = value;\n }\n });\n }\n this.addItemCustomFieldsForm.reset({});\n this.addItemSelectedVariant = undefined;\n this.addedVariants.set(result.productVariantId, result);\n }\n\n getShippingLineDetails(shippingLine: OrderDetailFragment['shippingLines'][number]): {\n name: string;\n price: number;\n } {\n const updatedMethod = this.updatedShippingMethods[shippingLine.id];\n if (updatedMethod) {\n return {\n name: updatedMethod.name || updatedMethod.code,\n price: updatedMethod.priceWithTax,\n };\n } else {\n return {\n name: shippingLine.shippingMethod.name || shippingLine.shippingMethod.code,\n price: shippingLine.discountedPriceWithTax,\n };\n }\n }\n\n setShippingMethod(shippingLineId: string) {\n const currentShippingMethod =\n this.updatedShippingMethods[shippingLineId] ??\n this.entity?.shippingLines.find(l => l.id === shippingLineId)?.shippingMethod;\n if (!currentShippingMethod) {\n return;\n }\n this.dataService.order\n .getDraftOrderEligibleShippingMethods(this.id)\n .mapSingle(({ eligibleShippingMethodsForDraftOrder }) => eligibleShippingMethodsForDraftOrder)\n .pipe(\n switchMap(methods =>\n this.modalService\n .fromComponent(SelectShippingMethodDialogComponent, {\n locals: {\n eligibleShippingMethods: methods,\n currencyCode: this.entity?.currencyCode,\n currentSelectionId: currentShippingMethod.id,\n },\n })\n .pipe(\n map(result => {\n if (result) {\n return methods.find(method => method.id === result);\n }\n }),\n ),\n ),\n )\n .subscribe(result => {\n if (result) {\n this.updatedShippingMethods[shippingLineId] = result;\n this.changeDetectorRef.markForCheck();\n }\n });\n }\n\n private isMatchingAddItemRow(\n row: ModifyOrderData['addItems'][number],\n result: ProductSelectorItem,\n customFields: any,\n ): boolean {\n return (\n row.productVariantId === result.productVariantId &&\n JSON.stringify(row.customFields) === JSON.stringify(customFields)\n );\n }\n\n removeAddedItem(id: string) {\n this.modifyOrderInput.addItems = this.modifyOrderInput.addItems?.filter(l => {\n const itemId = this.getIdForAddedItem(l);\n return itemId !== id;\n });\n }\n\n getSurchargePrices(surcharge: SurchargeInput) {\n const priceWithTax = surcharge.priceIncludesTax\n ? surcharge.price\n : Math.round(surcharge.price * ((100 + (surcharge.taxRate || 0)) / 100));\n const price = surcharge.priceIncludesTax\n ? Math.round(surcharge.price / ((100 + (surcharge.taxRate || 0)) / 100))\n : surcharge.price;\n return {\n price,\n priceWithTax,\n };\n }\n\n addSurcharge(value: any) {\n this.modifyOrderInput.surcharges?.push(value);\n this.surchargeForm.reset({\n price: 0,\n priceIncludesTax: true,\n taxRate: 0,\n });\n }\n\n removeSurcharge(index: number) {\n this.modifyOrderInput.surcharges?.splice(index, 1);\n }\n\n previewAndModify(order: OrderDetailFragment) {\n const modifyOrderInput: ModifyOrderData = {\n ...this.modifyOrderInput,\n adjustOrderLines: this.modifyOrderInput.adjustOrderLines.map(line =>\n transformRelationCustomFieldInputs(simpleDeepClone(line), this.orderLineCustomFields),\n ),\n };\n const input: ModifyOrderInput = {\n ...modifyOrderInput,\n ...(this.billingAddressForm.dirty ? { updateBillingAddress: this.billingAddressForm.value } : {}),\n ...(this.shippingAddressForm.dirty\n ? { updateShippingAddress: this.shippingAddressForm.value }\n : {}),\n dryRun: true,\n couponCodes: this.couponCodesControl.dirty ? this.couponCodesControl.value : undefined,\n note: this.note ?? '',\n options: {\n recalculateShipping: this.recalculateShipping,\n },\n };\n if (Object.entries(this.updatedShippingMethods).length) {\n input.shippingMethodIds = order.shippingLines.map(l =>\n this.updatedShippingMethods[l.id]\n ? this.updatedShippingMethods[l.id].id\n : l.shippingMethod.id,\n );\n }\n this.dataService.order\n .modifyOrder(input)\n .pipe(\n switchMap(({ modifyOrder }) => {\n switch (modifyOrder.__typename) {\n case 'Order':\n return this.modalService.fromComponent(OrderEditsPreviewDialogComponent, {\n size: 'xl',\n closable: false,\n locals: {\n order: modifyOrder,\n orderSnapshot: this.orderSnapshot,\n orderLineCustomFields: this.orderLineCustomFields,\n modifyOrderInput: input,\n addedLines: this.addedLines,\n shippingAddressForm: this.shippingAddressForm,\n billingAddressForm: this.billingAddressForm,\n couponCodesControl: this.couponCodesControl,\n updatedShippingMethods: this.updatedShippingMethods,\n },\n });\n case 'InsufficientStockError':\n case 'NegativeQuantityError':\n case 'NoChangesSpecifiedError':\n case 'OrderLimitError':\n case 'OrderModificationStateError':\n case 'PaymentMethodMissingError':\n case 'RefundPaymentIdMissingError':\n case 'CouponCodeLimitError':\n case 'CouponCodeExpiredError':\n case 'IneligibleShippingMethodError':\n case 'CouponCodeInvalidError': {\n this.notificationService.error(modifyOrder.message);\n return of(false as const);\n }\n case null:\n case undefined:\n return of(false as const);\n default:\n assertNever(modifyOrder);\n }\n }),\n switchMap(result => {\n if (!result || result.result === OrderEditResultType.Cancel) {\n // re-fetch so that the preview values get overwritten in the cache.\n return this.dataService.order.getOrder(this.id).mapSingle(() => false);\n } else {\n // Do the modification\n const wetRunInput = {\n ...input,\n dryRun: false,\n };\n if (result.result === OrderEditResultType.Refund) {\n wetRunInput.refunds = result.refunds;\n }\n return this.dataService.order.modifyOrder(wetRunInput).pipe(\n switchMap(({ modifyOrder }) => {\n if (modifyOrder.__typename === 'Order') {\n const priceDelta =\n modifyOrder.totalWithTax - this.orderSnapshot.totalWithTax;\n const nextState =\n 0 < priceDelta ? 'ArrangingAdditionalPayment' : this.previousState;\n\n return this.dataService.order\n .transitionToState(order.id, nextState)\n .pipe(mapTo(true));\n } else {\n this.notificationService.error((modifyOrder as ErrorResult).message);\n return EMPTY;\n }\n }),\n );\n }\n }),\n )\n .subscribe(result => {\n if (result) {\n this.router.navigate(['../'], { relativeTo: this.route });\n }\n });\n }\n\n private addAddressCustomFieldsFormGroup(\n parentFormGroup: UntypedFormGroup,\n address?: OrderAddressFragment | null,\n ) {\n if (address && this.addressCustomFields.length) {\n const addressCustomFieldsFormGroup = new UntypedFormGroup({});\n for (const customFieldDef of this.addressCustomFields) {\n const name = customFieldDef.name;\n const value = (address as any).customFields?.[name];\n addressCustomFieldsFormGroup.addControl(name, new UntypedFormControl(value));\n }\n parentFormGroup.addControl('customFields', addressCustomFieldsFormGroup);\n }\n }\n\n private createOrderSnapshot(order: OrderDetailFragment): OrderSnapshot {\n return {\n totalWithTax: order.totalWithTax,\n currencyCode: order.currencyCode,\n couponCodes: order.couponCodes,\n lines: [...order.lines].map(line => ({ ...line })),\n shippingLines: [...order.shippingLines].map(line => ({ ...line })),\n };\n }\n\n protected setFormValues(entity: OrderDetailFragment, languageCode: LanguageCode): void {\n /* not used */\n }\n}\n", "<vdr-page-block>\n <vdr-action-bar *ngIf=\"entity$ | async as order\">\n <vdr-ab-left>\n <div class=\"flex clr-align-items-center\"></div>\n </vdr-ab-left>\n\n <vdr-ab-right>\n <button class=\"btn btn-secondary\" (click)=\"transitionToPriorState(order)\">\n {{ 'order.cancel-modification' | translate }}\n </button>\n </vdr-ab-right>\n </vdr-action-bar>\n</vdr-page-block>\n\n<vdr-page-detail-layout *ngIf=\"entity as order\">\n <vdr-page-detail-sidebar>\n <vdr-card [title]=\"'order.modification-summary' | translate\">\n <vdr-order-modification-summary\n [orderSnapshot]=\"orderSnapshot\"\n [modifyOrderInput]=\"modifyOrderInput\"\n [addedLines]=\"addedLines\"\n [shippingAddressForm]=\"shippingAddressForm\"\n [billingAddressForm]=\"billingAddressForm\"\n [couponCodesControl]=\"couponCodesControl\"\n [updatedShippingMethods]=\"updatedShippingMethods\"\n ></vdr-order-modification-summary>\n\n <div *ngIf=\"!hasModifications()\" class=\"no-modifications\">\n {{ 'order.no-modifications-made' | translate }}\n </div>\n\n <div class=\"summary-controls\">\n <vdr-form-field [label]=\"'order.note' | translate\">\n <textarea\n [(ngModel)]=\"note\"\n name=\"note\"\n required\n [disabled]=\"!hasModifications()\"\n ></textarea>\n </vdr-form-field>\n <label class=\"flex items-center\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"recalculateShipping\"\n [disabled]=\"!hasModifications()\"\n />\n <div class=\"ml-1\">{{ 'order.modification-recalculate-shipping' | translate }}</div>\n </label>\n <button\n class=\"btn btn-primary mt-2\"\n [disabled]=\"!hasModifications()\"\n (click)=\"previewAndModify(order)\"\n >\n {{ 'order.preview-changes' | translate }}\n </button>\n </div>\n </vdr-card>\n <vdr-card [title]=\"'order.set-coupon-codes' | translate\">\n <vdr-coupon-code-selector [control]=\"couponCodesControl\"></vdr-coupon-code-selector>\n </vdr-card>\n <vdr-card [title]=\"'order.shipping-address' | translate\">\n <ng-template vdrCardControls>\n <button\n class=\"button-small\"\n [title]=\"'order.edit-shipping-address' | translate\"\n (click)=\"editingShippingAddress = !editingShippingAddress\"\n >\n <clr-icon shape=\"edit\"></clr-icon>\n </button>\n </ng-template>\n <vdr-formatted-address\n *ngIf=\"!editingShippingAddress\"\n [address]=\"shippingAddressForm.value\"\n ></vdr-formatted-address>\n <vdr-address-form\n *ngIf=\"editingShippingAddress\"\n [formGroup]=\"shippingAddressForm\"\n [availableCountries]=\"availableCountries$ | async\"\n [customFields]=\"addressCustomFields\"\n ></vdr-address-form>\n </vdr-card>\n <vdr-card [title]=\"'order.billing-address' | translate\">\n <ng-template vdrCardControls>\n <button\n class=\"button-small\"\n [title]=\"'order.edit-billing-address' | translate\"\n (click)=\"editingBillingAddress = !editingBillingAddress\"\n >\n <clr-icon shape=\"edit\"></clr-icon>\n </button>\n </ng-template>\n <vdr-formatted-address\n *ngIf=\"!editingBillingAddress\"\n [address]=\"billingAddressForm.value\"\n ></vdr-formatted-address>\n <vdr-address-form\n *ngIf=\"editingBillingAddress\"\n [formGroup]=\"billingAddressForm\"\n [availableCountries]=\"availableCountries$ | async\"\n [customFields]=\"addressCustomFields\"\n ></vdr-address-form>\n </vdr-card>\n </vdr-page-detail-sidebar>\n\n <vdr-page-block>\n <vdr-card [paddingX]=\"false\">\n <vdr-data-table-2 id=\"modify-order\" class=\"order-table\" [items]=\"order.lines.concat(addedLines)\">\n <!-- Here we define all the available columns -->\n <vdr-dt2-column id=\"id\" [heading]=\"'common.id' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"created-at\"\n [heading]=\"'common.created-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.createdAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"updated-at\"\n [heading]=\"'common.updated-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.updatedAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.image' | translate\" id=\"image\">\n <ng-template let-line=\"item\">\n <div class=\"image-placeholder\">\n <img\n *ngIf=\"line.featuredAsset as asset; else imagePlaceholder\"\n [src]=\"asset | assetPreview : 'tiny'\"\n />\n <ng-template #imagePlaceholder>\n <div class=\"placeholder\">\n <clr-icon shape=\"image\" size=\"48\"></clr-icon>\n </div>\n </ng-template>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"product-name\"\n [heading]=\"'order.product-name' | translate\"\n [optional]=\"false\"\n >\n <ng-template let-line=\"item\">\n {{ line.productVariant.name }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"product-sku\" [heading]=\"'order.product-sku' | translate\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.sku }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"unit-price\" [heading]=\"'order.unit-price' | translate\">\n <ng-template let-line=\"item\">\n <div class=\"text-center\">\n <div>{{ line.unitPriceWithTax | localeCurrency : order.currencyCode }}</div>\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.unitPrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column id=\"quantity\" [heading]=\"'order.quantity' | translate\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <input\n type=\"number\"\n class=\"draft-qty mr-1\"\n min=\"0\"\n [value]=\"getInitialLineQuantity(line.id)\"\n (input)=\"updateLineQuantity(line, $event.target.value)\"\n />\n <button\n class=\"button-small\"\n *ngIf=\"isAddedLine(line)\"\n (click)=\"removeAddedItem(line.id)\"\n >\n <clr-icon shape=\"trash\"></clr-icon>\n </button>\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\n <vdr-line-fulfillment\n [line]=\"line\"\n [allOrderFulfillments]=\"order.fulfillments\"\n [orderState]=\"order.state\"\n ></vdr-line-fulfillment>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n *ngFor=\"let customField of orderLineCustomFields\"\n [id]=\"customField.name\"\n [heading]=\"customField | customFieldLabel : (uiLanguage$ | async)\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\" let-index=\"index\">\n <vdr-custom-field-control\n [compact]=\"true\"\n [entityName]=\"'OrderLine'\"\n [customField]=\"customField\"\n [customFieldsFormGroup]=\"orderLineCustomFieldsFormArray.at(index)\"\n />\n </ng-template>\n </vdr-dt2-column>\n </vdr-data-table-2>\n </vdr-card>\n <vdr-card [title]=\"'order.add-item-to-order' | translate\">\n <vdr-product-variant-selector class=\"mb-4\" (productSelected)=\"addItemSelectedVariant = $event\">\n </vdr-product-variant-selector>\n <div class=\"flex\">\n <div>\n <div *ngIf=\"addItemSelectedVariant\" class=\"flex mb-4\">\n <img\n *ngIf=\"addItemSelectedVariant.productAsset as asset\"\n [src]=\"asset | assetPreview : 'tiny'\"\n class=\"mr-4 add-item-thumb\"\n />\n <div>\n <strong class=\"mr-4\">{{ addItemSelectedVariant.productVariantName }}</strong>\n <small>{{ addItemSelectedVariant.sku }}</small>\n <div>\n {{\n getSelectedItemPrice(addItemSelectedVariant)\n | localeCurrency : order.currencyCode\n }}\n </div>\n </div>\n </div>\n <div *ngIf=\"addItemSelectedVariant\">\n <vdr-tabbed-custom-fields\n entityName=\"Order\"\n [customFields]=\"orderLineCustomFields\"\n [customFieldsFormGroup]=\"addItemCustomFieldsForm\"\n ></vdr-tabbed-custom-fields>\n </div>\n </div>\n <div class=\"flex-spacer\"></div>\n <div>\n <button\n *ngIf=\"addItemSelectedVariant\"\n class=\"btn btn-secondary\"\n [disabled]=\"!addItemSelectedVariant || addItemCustomFieldsForm.invalid\"\n (click)=\"addItemToOrder(addItemSelectedVariant)\"\n >\n {{ 'order.add-item-to-order' | translate }}\n </button>\n </div>\n </div>\n </vdr-card>\n <vdr-card [title]=\"'order.shipping' | translate\">\n <div *ngFor=\"let shippingLine of order.shippingLines\" class=\"flex items-center\">\n <ng-container *ngIf=\"getShippingLineDetails(shippingLine) as details\">\n <div>{{ details.name }}:</div>\n <div class=\"mx-1\">\n {{ details.price | localeCurrency : order.currencyCode }}\n </div>\n <button class=\"button-small\" (click)=\"setShippingMethod(shippingLine.id)\">\n {{ 'order.set-shipping-method' | translate }}\n </button>\n </ng-container>\n </div>\n </vdr-card>\n <vdr-card [title]=\"'order.add-surcharge' | translate\">\n <form [formGroup]=\"surchargeForm\" (submit)=\"addSurcharge(surchargeForm.value)\">\n <div class=\"form-grid\">\n <vdr-form-field [label]=\"'common.description' | translate\" for=\"description\"\n ><input id=\"description\" type=\"text\" formControlName=\"description\"\n /></vdr-form-field>\n <vdr-form-field [label]=\"'order.product-sku' | translate\" for=\"sku\"\n ><input id=\"sku\" type=\"text\" formControlName=\"sku\"\n /></vdr-form-field>\n <vdr-form-field [label]=\"'common.price' | translate\" for=\"price\">\n <vdr-currency-input\n [currencyCode]=\"order.currencyCode\"\n id=\"price\"\n formControlName=\"price\"\n ></vdr-currency-input>\n </vdr-form-field>\n <vdr-form-field\n [label]=\"\n 'catalog.price-includes-tax-at'\n | translate : { rate: surchargeForm.get('taxRate')?.value ?? 0 }\n \"\n for=\"priceIncludesTax\"\n ><input\n id=\"priceIncludesTax\"\n type=\"checkbox\"\n clrCheckbox\n formControlName=\"priceIncludesTax\"\n /></vdr-form-field>\n <vdr-form-field [label]=\"'order.tax-rate' | translate\" for=\"taxRate\">\n <vdr-affixed-input suffix=\"%\"\n ><input id=\"taxRate\" type=\"number\" min=\"0\" max=\"100\" formControlName=\"taxRate\"\n /></vdr-affixed-input>\n </vdr-form-field>\n <vdr-form-field [label]=\"'order.tax-description' | translate\" for=\"taxDescription\"\n ><input id=\"taxDescription\" type=\"text\" formControlName=\"taxDescription\"\n /></vdr-form-field>\n </div>\n <button\n class=\"btn btn-secondary mt-2\"\n [disabled]=\"\n surchargeForm.invalid ||\n surchargeForm.pristine ||\n surchargeForm.get('price')?.value === 0 ||\n !surchargeForm.get('description')?.value\n \"\n >\n {{ 'order.add-surcharge' | translate }}\n </button>\n </form>\n </vdr-card>\n </vdr-page-block>\n</vdr-page-detail-layout>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { notNullOrUndefined } from '@vendure/common/lib/shared-utils';\nimport type { OrderEditorComponent } from '../order-editor/order-editor.component';\nimport { AddedLine, ModifyOrderData, OrderSnapshot } from '../../common/modify-order-types';\n\n@Component({\n selector: 'vdr-order-modification-summary',\n templateUrl: './order-modification-summary.component.html',\n styleUrls: ['./order-modification-summary.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderModificationSummaryComponent {\n @Input() orderSnapshot: OrderSnapshot;\n @Input() modifyOrderInput: ModifyOrderData;\n @Input() addedLines: AddedLine[];\n @Input() shippingAddressForm: OrderEditorComponent['shippingAddressForm'];\n @Input() billingAddressForm: OrderEditorComponent['billingAddressForm'];\n @Input() updatedShippingMethods: OrderEditorComponent['updatedShippingMethods'];\n @Input() couponCodesControl: FormControl<string[] | null>;\n\n get adjustedLines(): string[] {\n return (this.modifyOrderInput.adjustOrderLines || [])\n .map(l => {\n const line = this.orderSnapshot.lines.find(line => line.id === l.orderLineId);\n if (line) {\n const delta = l.quantity - line.quantity;\n const sign = delta === 0 ? '' : delta > 0 ? '+' : '-';\n return delta\n ? `${sign}${Math.abs(delta)} ${line.productVariant.name}`\n : line.productVariant.name;\n }\n })\n .filter(notNullOrUndefined);\n }\n\n getModifiedFields(formGroup: FormGroup): string {\n if (!formGroup.dirty) {\n return '';\n }\n return Object.entries(formGroup.controls)\n .map(([key, control]) => {\n if (control.dirty) {\n return key;\n }\n })\n .filter(notNullOrUndefined)\n .join(', ');\n }\n\n getUpdatedShippingMethodLines() {\n return Object.entries(this.updatedShippingMethods || {})\n .map(([lineId, shippingMethod]) => {\n const previousMethod = this.orderSnapshot.shippingLines.find(l => l.id === lineId);\n if (!previousMethod) {\n return;\n }\n const previousName = previousMethod.shippingMethod.name || previousMethod.shippingMethod.code;\n const newName = shippingMethod.name || shippingMethod.code;\n return `${previousName} -> ${newName}`;\n })\n .filter(notNullOrUndefined);\n }\n\n get couponCodeChanges(): string[] {\n const originalCodes = this.orderSnapshot.couponCodes || [];\n const newCodes = this.couponCodesControl.value || [];\n const addedCodes = newCodes.filter(c => !originalCodes.includes(c)).map(c => `+ ${c}`);\n const removedCodes = originalCodes.filter(c => !newCodes.includes(c)).map(c => `- ${c}`);\n return [...addedCodes, ...removedCodes];\n }\n}\n", "<vdr-labeled-data\n *ngIf=\"modifyOrderInput.adjustOrderLines?.length\"\n [label]=\"\n 'order.modification-adjusting-lines'\n | translate : { count: modifyOrderInput.adjustOrderLines?.length }\n \"\n>\n <div *ngFor=\"let line of adjustedLines\" class=\"mb-1\">\n {{ line }}\n </div>\n</vdr-labeled-data>\n<vdr-labeled-data\n *ngIf=\"modifyOrderInput.addItems?.length\"\n [label]=\"\n 'order.modification-adding-items'\n | translate : { count: modifyOrderInput.addItems?.length }\n \"\n>\n <div *ngFor=\"let item of addedLines\">\n {{ item.productVariant.name }} x {{ item.quantity }}\n </div>\n</vdr-labeled-data>\n<vdr-labeled-data\n *ngIf=\"modifyOrderInput.surcharges?.length\"\n [label]=\"\n 'order.modification-adding-surcharges'\n | translate : { count: modifyOrderInput.surcharges?.length }\n \"\n>\n <div *ngFor=\"let surcharge of modifyOrderInput.surcharges\" class=\"mb-1\">\n {{ surcharge.description }}: {{ surcharge.price | localeCurrency : orderSnapshot.currencyCode }}\n </div>\n</vdr-labeled-data>\n<vdr-labeled-data\n *ngIf=\"getModifiedFields(shippingAddressForm) as updatedShippingFields\"\n [label]=\"'order.modification-updating-shipping-address' | translate\"\n>\n {{ updatedShippingFields }}\n</vdr-labeled-data>\n<vdr-labeled-data\n *ngIf=\"getModifiedFields(billingAddressForm) as updatedBillingFields\"\n [label]=\"'order.modification-updating-billing-address' | translate\"\n>\n {{ updatedBillingFields }}\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"couponCodeChanges.length\" [label]=\"'order.set-coupon-codes' | translate\">\n <div *ngFor=\"let change of couponCodeChanges\" class=\"mb-1\">{{ change }}</div>\n</vdr-labeled-data>\n<ng-container *ngIf=\"getUpdatedShippingMethodLines() as updatedShippingMethods\">\n <vdr-labeled-data *ngIf=\"updatedShippingMethods.length\" [label]=\"'order.shipping-method' | translate\">\n <div *ngFor=\"let change of updatedShippingMethods\" class=\"mb-1\">{{ change }}</div>\n </vdr-labeled-data>\n</ng-container>", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport {\n AdministratorRefundInput,\n CustomFieldConfig,\n Dialog,\n ModifyOrderInput,\n OrderDetailFragment,\n} from '@vendure/admin-ui/core';\nimport { getRefundablePayments, RefundablePayment } from '../../common/get-refundable-payments';\nimport { AddedLine, OrderSnapshot } from '../../common/modify-order-types';\nimport { OrderEditorComponent } from '../order-editor/order-editor.component';\n\nexport enum OrderEditResultType {\n Refund,\n Payment,\n PriceUnchanged,\n Cancel,\n}\n\ninterface OrderEditsRefundResult {\n result: OrderEditResultType.Refund;\n refunds: AdministratorRefundInput[];\n}\ninterface OrderEditsPaymentResult {\n result: OrderEditResultType.Payment;\n}\ninterface OrderEditsPriceUnchangedResult {\n result: OrderEditResultType.PriceUnchanged;\n}\ninterface OrderEditsCancelResult {\n result: OrderEditResultType.Cancel;\n}\ntype OrderEditResult =\n | OrderEditsRefundResult\n | OrderEditsPaymentResult\n | OrderEditsPriceUnchangedResult\n | OrderEditsCancelResult;\n\n@Component({\n selector: 'vdr-order-edits-preview-dialog',\n templateUrl: './order-edits-preview-dialog.component.html',\n styleUrls: ['./order-edits-preview-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderEditsPreviewDialogComponent implements OnInit, Dialog<OrderEditResult> {\n // Passed in via the modalService\n orderLineCustomFields: CustomFieldConfig[];\n order: OrderDetailFragment;\n orderSnapshot: OrderSnapshot;\n modifyOrderInput: ModifyOrderInput;\n addedLines: AddedLine[];\n shippingAddressForm: OrderEditorComponent['shippingAddressForm'];\n billingAddressForm: OrderEditorComponent['billingAddressForm'];\n updatedShippingMethods: OrderEditorComponent['updatedShippingMethods'];\n couponCodesControl: FormControl<string[] | null>;\n\n refundablePayments: RefundablePayment[];\n refundNote: string;\n resolveWith: (result?: OrderEditResult) => void;\n\n get priceDifference(): number {\n return this.order.totalWithTax - this.orderSnapshot.totalWithTax;\n }\n\n get amountToRefundTotal(): number {\n return this.refundablePayments.reduce(\n (total, payment) => total + payment.amountToRefundControl.value,\n 0,\n );\n }\n\n ngOnInit() {\n this.refundNote = this.modifyOrderInput.note || '';\n this.refundablePayments = getRefundablePayments(this.order.payments || []);\n this.refundablePayments.forEach(rp => {\n rp.amountToRefundControl.addValidators(Validators.max(this.priceDifference * -1));\n });\n if (this.priceDifference < 0 && this.refundablePayments.length) {\n this.onPaymentSelected(this.refundablePayments[0], true);\n }\n }\n\n onPaymentSelected(payment: RefundablePayment, selected: boolean) {\n if (selected) {\n const outstandingRefundAmount =\n this.priceDifference * -1 -\n this.refundablePayments\n .filter(p => p.id !== payment.id)\n .reduce((total, p) => total + p.amountToRefundControl.value, 0);\n if (0 < outstandingRefundAmount) {\n payment.amountToRefundControl.setValue(\n Math.min(outstandingRefundAmount, payment.refundableAmount),\n );\n }\n } else {\n payment.amountToRefundControl.setValue(0);\n }\n }\n\n refundsCoverDifference(): boolean {\n return this.priceDifference * -1 === this.amountToRefundTotal;\n }\n\n cancel() {\n this.resolveWith({\n result: OrderEditResultType.Cancel,\n });\n }\n\n submit() {\n if (0 < this.priceDifference) {\n this.resolveWith({\n result: OrderEditResultType.Payment,\n });\n } else if (this.priceDifference < 0) {\n this.resolveWith({\n result: OrderEditResultType.Refund,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n refunds: this.refundablePayments\n .filter(rp => rp.selected && 0 < rp.amountToRefundControl.value)\n .map(payment => {\n return {\n reason: this.refundNote || this.modifyOrderInput.note,\n paymentId: payment.id,\n amount: payment.amountToRefundControl.value,\n };\n }),\n });\n } else {\n this.resolveWith({\n result: OrderEditResultType.PriceUnchanged,\n });\n }\n }\n}\n", "<ng-template vdrDialogTitle>{{ 'order.confirm-modifications' | translate }}</ng-template>\n<vdr-order-table\n [order]=\"order\"\n [orderLineCustomFields]=\"orderLineCustomFields\"\n class=\"order-edits-preview-table\"\n></vdr-order-table>\n<div class=\"payments-wrapper mb-2\">\n <div class=\"flex-spacer\">\n <vdr-payment-for-refund-selector\n *ngIf=\"priceDifference < 0\"\n class=\"\"\n [refundablePayments]=\"refundablePayments\"\n (paymentSelected)=\"onPaymentSelected($event.payment, $event.selected)\"\n [order]=\"order\"\n ></vdr-payment-for-refund-selector>\n </div>\n <div class=\"flex-spacer\">\n <vdr-card [title]=\"'order.modify-order' | translate\">\n <vdr-order-modification-summary\n [orderSnapshot]=\"orderSnapshot\"\n [modifyOrderInput]=\"modifyOrderInput\"\n [addedLines]=\"addedLines\"\n [shippingAddressForm]=\"shippingAddressForm\"\n [billingAddressForm]=\"billingAddressForm\"\n [couponCodesControl]=\"couponCodesControl\"\n [updatedShippingMethods]=\"updatedShippingMethods\"\n ></vdr-order-modification-summary>\n <vdr-labeled-data [label]=\"'order.note' | translate\">\n {{ modifyOrderInput.note || '-' }}\n </vdr-labeled-data>\n <vdr-form-field\n [label]=\"'order.refund-cancellation-reason' | translate\"\n *ngIf=\"priceDifference < 0\"\n >\n <textarea [(ngModel)]=\"refundNote\" name=\"refundNote\" required></textarea>\n </vdr-form-field>\n </vdr-card>\n </div>\n</div>\n<ng-template vdrDialogButtons>\n <div>\n <div class=\"errors\">\n <clr-alert\n class=\"mb-1\"\n *ngIf=\"priceDifference < 0 && !refundsCoverDifference()\"\n [clrAlertType]=\"'danger'\"\n [clrAlertClosable]=\"false\"\n >\n <clr-alert-item>\n {{ 'order.refund-total-warning' | translate }}\n </clr-alert-item>\n </clr-alert>\n </div>\n <div class=\"modal-buttons\">\n <clr-alert class=\"\" [clrAlertType]=\"'primary'\" [clrAlertClosable]=\"false\">\n <clr-alert-item>\n {{ 'order.modify-order-price-difference' | translate }}\n {{ 0 < priceDifference ? '+' : ''\n }}{{ priceDifference | localeCurrency : order.currencyCode }}\n </clr-alert-item>\n </clr-alert>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">\n {{ 'common.cancel' | translate }}\n </button>\n <button\n type=\"submit\"\n (click)=\"submit()\"\n [disabled]=\"priceDifference < 0 ? !refundsCoverDifference() : false\"\n class=\"btn btn-primary\"\n >\n {{ 'common.confirm' | translate }}\n </button>\n </div>\n </div>\n</ng-template>\n", "import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n ChannelService,\n GetOrderListDocument,\n getOrderStateTranslationToken,\n LogicalOperator,\n OrderListOptions,\n OrderType,\n ServerConfigService,\n TypedBaseListComponent,\n} from '@vendure/admin-ui/core';\nimport { Order } from '@vendure/common/lib/generated-types';\nimport { tap } from 'rxjs/operators';\n\n@Component({\n selector: 'vdr-order-list',\n templateUrl: './order-list.component.html',\n styleUrls: ['./order-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class OrderListComponent\n extends TypedBaseListComponent<typeof GetOrderListDocument, 'orders'>\n implements OnInit\n{\n dataTableListId = 'order-list';\n orderStates = this.serverConfigService.getOrderProcessStates().map(item => item.name);\n readonly OrderType = OrderType;\n readonly customFields = this.getCustomFieldConfig('Order');\n readonly filters = this.createFilterCollection()\n .addIdFilter()\n .addDateFilters()\n .addFilter({\n name: 'active',\n type: { kind: 'boolean' },\n label: _('order.filter-is-active'),\n filterField: 'active',\n })\n .addFilter({\n name: 'totalWithTax',\n type: { kind: 'number', inputType: 'currency', currencyCode: 'USD' },\n label: _('order.total'),\n filterField: 'totalWithTax',\n })\n .addFilter({\n name: 'state',\n type: {\n kind: 'select',\n options: this.orderStates.map(s => ({ value: s, label: getOrderStateTranslationToken(s) })),\n },\n label: _('order.state'),\n filterField: 'state',\n })\n .addFilter({\n name: 'type',\n type: {\n kind: 'select',\n options: [\n { value: OrderType.Regular, label: _('order.order-type-regular') },\n { value: OrderType.Aggregate, label: _('order.order-type-aggregate') },\n { value: OrderType.Seller, label: _('order.order-type-seller') },\n ],\n },\n label: _('order.order-type'),\n filterField: 'type',\n })\n .addFilter({\n name: 'orderPlacedAt',\n type: { kind: 'dateRange' },\n label: _('order.placed-at'),\n filterField: 'orderPlacedAt',\n })\n .addFilter({\n name: 'customerLastName',\n type: { kind: 'text' },\n label: _('customer.last-name'),\n filterField: 'customerLastName',\n })\n .addFilter({\n name: 'transactionId',\n type: { kind: 'text' },\n label: _('order.transaction-id'),\n filterField: 'transactionId',\n })\n .addCustomFieldFilters(this.customFields)\n .connectToRoute(this.route);\n\n readonly sorts = this.createSortCollection()\n .defaultSort('updatedAt', 'DESC')\n .addSort({ name: 'id' })\n .addSort({ name: 'createdAt' })\n .addSort({ name: 'updatedAt' })\n .addSort({ name: 'orderPlacedAt' })\n .addSort({ name: 'customerLastName' })\n .addSort({ name: 'state' })\n .addSort({ name: 'totalWithTax' })\n .addCustomFieldSorts(this.customFields)\n .connectToRoute(this.route);\n\n canCreateDraftOrder = false;\n private activeChannelIsDefaultChannel = false;\n\n constructor(\n protected serverConfigService: ServerConfigService,\n private channelService: ChannelService,\n ) {\n super();\n super.configure({\n document: GetOrderListDocument,\n getItems: result => result.orders,\n setVariables: (skip, take) => this.createQueryOptions(skip, take, this.searchTermControl.value),\n refreshListOnChanges: [this.filters.valueChanges, this.sorts.valueChanges],\n });\n\n this.canCreateDraftOrder = !!this.serverConfigService\n .getOrderProcessStates()\n .find(state => state.name === 'Created')\n ?.to.includes('Draft');\n }\n\n ngOnInit() {\n super.ngOnInit();\n const isDefaultChannel$ = this.channelService.defaultChannelIsActive$.pipe(\n tap(isDefault => (this.activeChannelIsDefaultChannel = isDefault)),\n );\n super.refreshListOnChanges(this.filters.valueChanges, this.sorts.valueChanges, isDefaultChannel$);\n }\n\n private createQueryOptions(\n // eslint-disable-next-line @typescript-eslint/no-shadow\n skip: number,\n take: number,\n searchTerm: string | null,\n ): { options: OrderListOptions } {\n let filterInput = this.filters.createFilterInput();\n if (this.activeChannelIsDefaultChannel) {\n filterInput = {\n ...(filterInput ?? {}),\n };\n }\n if (searchTerm) {\n filterInput = {\n code: {\n contains: searchTerm,\n },\n customerLastName: {\n contains: searchTerm,\n },\n transactionId: {\n contains: searchTerm,\n },\n };\n }\n return {\n options: {\n skip,\n take,\n filter: {\n ...(filterInput ?? {}),\n },\n filterOperator: searchTerm ? LogicalOperator.OR : LogicalOperator.AND,\n sort: this.sorts.createSortInput(),\n },\n };\n }\n\n getShippingNames(order: Order) {\n if (order.shippingLines.length) {\n return order.shippingLines.map(shippingLine => shippingLine.shippingMethod.name).join(', ');\n } else {\n return '';\n }\n }\n}\n", "<vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"order-list\" />\n <ng-container *ngIf=\"canCreateDraftOrder\">\n <a class=\"btn\" *vdrIfPermissions=\"['CreateOrder']\" [routerLink]=\"['./draft/create']\">\n <clr-icon shape=\"plus\"></clr-icon>\n {{ 'catalog.create-draft-order' | translate }}\n </a>\n </ng-container>\n <vdr-action-bar-dropdown-menu locationId=\"order-list\" />\n </vdr-ab-right>\n </vdr-action-bar>\n</vdr-page-block>\n<vdr-data-table-2\n class=\"mt-2\"\n [id]=\"dataTableListId\"\n [items]=\"items$ | async\"\n [itemsPerPage]=\"itemsPerPage$ | async\"\n [totalItems]=\"totalItems$ | async\"\n [currentPage]=\"currentPage$ | async\"\n [filters]=\"filters\"\n (pageChange)=\"setPageNumber($event)\"\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\n (visibleColumnsChange)=\"setVisibleColumns($event)\"\n>\n <vdr-bulk-action-menu\n locationId=\"order-list\"\n [hostComponent]=\"this\"\n [selectionManager]=\"selectionManager\"\n ></vdr-bulk-action-menu>\n <vdr-dt2-search\n [searchTermControl]=\"searchTermControl\"\n [searchTermPlaceholder]=\"'order.search-by-order-filters' | translate\"\n />\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\" [hiddenByDefault]=\"true\" [sort]=\"sorts.get('id')\">\n <ng-template let-order=\"item\">\n {{ order.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\" [hiddenByDefault]=\"true\">\n <ng-template let-order=\"item\">\n {{ order.createdAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.code' | translate\" id=\"code\" [optional]=\"false\">\n <ng-template let-order=\"item\">\n <a class=\"button-ghost\" [routerLink]=\"order.state === 'Draft' ? ['./draft', order.id] : ['./', order.id]\"\n ><span>{{ order.code }}</span>\n <clr-icon shape=\"arrow right\"></clr-icon>\n </a>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.customer' | translate\" id=\"customer\" [sort]=\"sorts.get('customerLastName')\">\n <ng-template let-order=\"item\">\n <vdr-customer-label\n [customer]=\"order.customer\"\n (click)=\"$event.stopPropagation()\"\n ></vdr-customer-label>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.order-type' | translate\" id=\"order-type\" [hiddenByDefault]=\"true\">\n <ng-template let-order=\"item\">\n <vdr-chip *ngIf=\"order.type === OrderType.Regular\">{{ 'order.order-type-regular' | translate }}</vdr-chip>\n <vdr-chip *ngIf=\"order.type === OrderType.Aggregate\">{{ 'order.order-type-aggregate' | translate }}</vdr-chip>\n <vdr-chip *ngIf=\"order.type === OrderType.Seller\">{{ 'order.order-type-seller' | translate }}</vdr-chip>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.state' | translate\" id=\"state\" [sort]=\"sorts.get('state')\">\n <ng-template let-order=\"item\">\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.total' | translate\" id=\"total\" [sort]=\"sorts.get('totalWithTax')\">\n <ng-template let-order=\"item\">\n {{ order.totalWithTax | localeCurrency : order.currencyCode }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.updated-at' | translate\" id=\"updated-at\">\n <ng-template let-order=\"item\">\n {{ order.updatedAt | timeAgo }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.placed-at' | translate\" id=\"placed-at\" [sort]=\"sorts.get('orderPlacedAt')\">\n <ng-template let-order=\"item\">\n {{ order.orderPlacedAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.shipping' | translate\" id=\"shipping\">\n <ng-template let-order=\"item\">\n {{ getShippingNames(order) }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-custom-field-column\n *ngFor=\"let customField of customFields\"\n [customField]=\"customField\"\n [sorts]=\"sorts\"\n />\n</vdr-data-table-2>\n", "import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CurrencyCode, OrderDetailFragment } from '@vendure/admin-ui/core';\n\n@Component({\n selector: 'vdr-refund-detail',\n templateUrl: './refund-detail.component.html',\n styleUrls: ['./refund-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class RefundDetailComponent {\n @Input() refund: NonNullable<OrderDetailFragment['payments']>[number]['refunds'][number];\n @Input() currencyCode: CurrencyCode;\n}\n", "<vdr-labeled-data [label]=\"'order.amount' | translate\">\n {{ refund.total | localeCurrency: currencyCode }}\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"refund.transactionId\" [label]=\"'order.transaction-id' | translate\">\n {{ refund.transactionId }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.payment-metadata' | translate\">\n <vdr-object-tree [value]=\"refund.metadata\"></vdr-object-tree>\n</vdr-labeled-data>\n", "import { ADDRESS_FRAGMENT } from '@vendure/admin-ui/core';\nimport { gql } from 'apollo-angular';\n\nexport const GET_CUSTOMER_ADDRESSES = gql`\n query GetCustomerAddresses($customerId: ID!) {\n customer(id: $customerId) {\n id\n addresses {\n ...Address\n }\n }\n }\n ${ADDRESS_FRAGMENT}\n`;\n", "import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { DataService, GetOrderStateQuery, GetOrderStateQueryVariables } from '@vendure/admin-ui/core';\nimport { gql } from 'apollo-angular';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport const GET_ORDER_STATE = gql`\n query GetOrderState($id: ID!) {\n order(id: $id) {\n id\n state\n }\n }\n`;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OrderGuard {\n constructor(private dataService: DataService, private router: Router) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n const isDraft = state.url.includes('orders/draft');\n const isModifying = state.url.includes('/modify');\n const id = route.paramMap.get('id');\n if (isDraft) {\n if (id === 'create') {\n return this.dataService.order\n .createDraftOrder()\n .pipe(\n map(({ createDraftOrder }) =>\n this.router.parseUrl(`/orders/draft/${createDraftOrder.id}`),\n ),\n );\n } else {\n return true;\n }\n } else {\n return (\n this.dataService\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n .query<GetOrderStateQuery, GetOrderStateQueryVariables>(GET_ORDER_STATE, { id: id! })\n .single$.pipe(\n map(({ order }) => {\n if (order?.state === 'Modifying' && !isModifying) {\n return this.router.parseUrl(`/orders/${id}/modify`);\n } else {\n return true;\n }\n }),\n )\n );\n }\n }\n}\n", "import { Route } from '@angular/router';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport { PageComponent, PageService } from '@vendure/admin-ui/core';\nimport { OrderGuard } from './providers/routing/order.guard';\n\nexport const createRoutes = (pageService: PageService): Route[] => [\n {\n path: '',\n component: PageComponent,\n data: {\n locationId: 'order-list',\n breadcrumb: _('breadcrumb.orders'),\n },\n children: pageService.getPageTabRoutes('order-list'),\n },\n {\n path: 'draft/:id',\n component: PageComponent,\n canActivate: [OrderGuard],\n data: {\n locationId: 'draft-order-detail',\n breadcrumb: { label: _('breadcrumb.orders'), link: ['../'] },\n },\n children: pageService.getPageTabRoutes('draft-order-detail'),\n },\n {\n path: ':id',\n component: PageComponent,\n canActivate: [OrderGuard],\n data: {\n locationId: 'order-detail',\n breadcrumb: { label: _('breadcrumb.orders'), link: ['../'] },\n },\n children: pageService.getPageTabRoutes('order-detail'),\n },\n {\n path: ':aggregateOrderId/seller-orders/:id',\n component: PageComponent,\n canActivate: [OrderGuard],\n data: {\n locationId: 'order-detail',\n breadcrumb: { label: _('breadcrumb.orders'), link: ['../'] },\n },\n children: pageService.getPageTabRoutes('order-detail'),\n },\n {\n path: ':id/modify',\n component: PageComponent,\n canActivate: [OrderGuard],\n data: {\n locationId: 'modify-order',\n breadcrumb: { label: _('breadcrumb.orders'), link: ['../'] },\n },\n children: pageService.getPageTabRoutes('modify-order'),\n },\n];\n", "import { NgModule } from '@angular/core';\nimport { RouterModule, ROUTES } from '@angular/router';\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\nimport {\n detailComponentWithResolver,\n OrderDetailQueryDocument,\n OrderType,\n PageService,\n SharedModule,\n} from '@vendure/admin-ui/core';\n\nimport { AddManualPaymentDialogComponent } from './components/add-manual-payment-dialog/add-manual-payment-dialog.component';\nimport { CancelOrderDialogComponent } from './components/cancel-order-dialog/cancel-order-dialog.component';\nimport { CouponCodeSelectorComponent } from './components/coupon-code-selector/coupon-code-selector.component';\nimport { DraftOrderDetailComponent } from './components/draft-order-detail/draft-order-detail.component';\nimport { DraftOrderVariantSelectorComponent } from './components/draft-order-variant-selector/draft-order-variant-selector.component';\nimport { FulfillOrderDialogComponent } from './components/fulfill-order-dialog/fulfill-order-dialog.component';\nimport { FulfillmentCardComponent } from './components/fulfillment-card/fulfillment-card.component';\nimport { FulfillmentDetailComponent } from './components/fulfillment-detail/fulfillment-detail.component';\nimport { FulfillmentStateLabelComponent } from './components/fulfillment-state-label/fulfillment-state-label.component';\nimport { LineFulfillmentComponent } from './components/line-fulfillment/line-fulfillment.component';\nimport { LineRefundsComponent } from './components/line-refunds/line-refunds.component';\nimport { ModificationDetailComponent } from './components/modification-detail/modification-detail.component';\nimport { OrderCustomFieldsCardComponent } from './components/order-custom-fields-card/order-custom-fields-card.component';\nimport { OrderTotalColumnComponent } from './components/order-data-table/order-total-column.component';\nimport { OrderDetailComponent } from './components/order-detail/order-detail.component';\nimport { OrderEditorComponent } from './components/order-editor/order-editor.component';\nimport { OrderEditsPreviewDialogComponent } from './components/order-edits-preview-dialog/order-edits-preview-dialog.component';\nimport { OrderHistoryEntryHostComponent } from './components/order-history/order-history-entry-host.component';\nimport { OrderHistoryComponent } from './components/order-history/order-history.component';\nimport { OrderListComponent } from './components/order-list/order-list.component';\nimport { OrderPaymentCardComponent } from './components/order-payment-card/order-payment-card.component';\nimport { OrderProcessGraphDialogComponent } from './components/order-process-graph-dialog/order-process-graph-dialog.component';\nimport { OrderProcessEdgeComponent } from './components/order-process-graph/order-process-edge.component';\nimport { OrderProcessGraphComponent } from './components/order-process-graph/order-process-graph.component';\nimport { OrderProcessNodeComponent } from './components/order-process-graph/order-process-node.component';\nimport { OrderStateSelectDialogComponent } from './components/order-state-select-dialog/order-state-select-dialog.component';\nimport { OrderTableComponent } from './components/order-table/order-table.component';\nimport { PaymentDetailComponent } from './components/payment-detail/payment-detail.component';\nimport { PaymentStateLabelComponent } from './components/payment-state-label/payment-state-label.component';\nimport { RefundDetailComponent } from './components/refund-detail/refund-detail.component';\nimport { RefundOrderDialogComponent } from './components/refund-order-dialog/refund-order-dialog.component';\nimport { RefundStateLabelComponent } from './components/refund-state-label/refund-state-label.component';\nimport { SelectAddressDialogComponent } from './components/select-address-dialog/select-address-dialog.component';\nimport { SelectCustomerDialogComponent } from './components/select-customer-dialog/select-customer-dialog.component';\nimport { SelectShippingMethodDialogComponent } from './components/select-shipping-method-dialog/select-shipping-method-dialog.component';\nimport { SellerOrdersCardComponent } from './components/seller-orders-card/seller-orders-card.component';\nimport { SettleRefundDialogComponent } from './components/settle-refund-dialog/settle-refund-dialog.component';\nimport { SimpleItemListComponent } from './components/simple-item-list/simple-item-list.component';\nimport { createRoutes } from './order.routes';\nimport { OrderDataTableComponent } from './components/order-data-table/order-data-table.component';\nimport { PaymentForRefundSelectorComponent } from './components/payment-for-refund-selector/payment-for-refund-selector.component';\nimport { OrderModificationSummaryComponent } from './components/order-modification-summary/order-modification-summary.component';\n\n@NgModule({\n imports: [SharedModule, RouterModule.forChild([])],\n providers: [\n {\n provide: ROUTES,\n useFactory: (pageService: PageService) => createRoutes(pageService),\n multi: true,\n deps: [PageService],\n },\n ],\n declarations: [\n OrderListComponent,\n OrderDetailComponent,\n FulfillOrderDialogComponent,\n LineFulfillmentComponent,\n RefundOrderDialogComponent,\n CancelOrderDialogComponent,\n PaymentStateLabelComponent,\n LineRefundsComponent,\n OrderPaymentCardComponent,\n RefundStateLabelComponent,\n SettleRefundDialogComponent,\n OrderHistoryComponent,\n FulfillmentDetailComponent,\n PaymentDetailComponent,\n SimpleItemListComponent,\n OrderCustomFieldsCardComponent,\n OrderProcessGraphComponent,\n OrderProcessNodeComponent,\n OrderProcessEdgeComponent,\n OrderProcessGraphDialogComponent,\n FulfillmentStateLabelComponent,\n FulfillmentCardComponent,\n OrderEditorComponent,\n OrderTableComponent,\n OrderEditsPreviewDialogComponent,\n ModificationDetailComponent,\n AddManualPaymentDialogComponent,\n OrderStateSelectDialogComponent,\n DraftOrderDetailComponent,\n DraftOrderVariantSelectorComponent,\n SelectCustomerDialogComponent,\n SelectAddressDialogComponent,\n CouponCodeSelectorComponent,\n SelectShippingMethodDialogComponent,\n OrderHistoryEntryHostComponent,\n SellerOrdersCardComponent,\n OrderDataTableComponent,\n OrderTotalColumnComponent,\n PaymentForRefundSelectorComponent,\n OrderModificationSummaryComponent,\n RefundDetailComponent,\n ],\n exports: [OrderCustomFieldsCardComponent],\n})\nexport class OrderModule {\n private static hasRegisteredTabsAndBulkActions = false;\n\n constructor(pageService: PageService) {\n if (OrderModule.hasRegisteredTabsAndBulkActions) {\n return;\n }\n pageService.registerPageTab({\n priority: 0,\n location: 'order-list',\n tab: _('order.orders'),\n route: '',\n component: OrderListComponent,\n });\n pageService.registerPageTab({\n priority: 0,\n location: 'order-detail',\n tab: _('order.order'),\n route: '',\n component: detailComponentWithResolver({\n component: OrderDetailComponent,\n query: OrderDetailQueryDocument,\n entityKey: 'order',\n getBreadcrumbs: entity =>\n entity?.type !== OrderType.Seller || !entity?.aggregateOrder\n ? [\n {\n label: `${entity?.code}`,\n link: [entity?.id],\n },\n ]\n : [\n {\n label: `${entity?.aggregateOrder?.code}`,\n link: ['/orders/', entity?.aggregateOrder?.id],\n },\n {\n label: _('breadcrumb.seller-orders'),\n link: ['/orders/', entity?.aggregateOrder?.id],\n },\n {\n label: `${entity?.code}`,\n link: [entity?.id],\n },\n ],\n }),\n });\n pageService.registerPageTab({\n priority: 0,\n location: 'draft-order-detail',\n tab: _('order.order'),\n route: '',\n component: detailComponentWithResolver({\n component: DraftOrderDetailComponent,\n query: OrderDetailQueryDocument,\n entityKey: 'order',\n getBreadcrumbs: entity => [\n {\n label: _('order.draft-order'),\n link: [entity?.id],\n },\n ],\n }),\n });\n pageService.registerPageTab({\n priority: 0,\n location: 'modify-order',\n tab: _('order.order'),\n route: '',\n component: detailComponentWithResolver({\n component: OrderEditorComponent,\n query: OrderDetailQueryDocument,\n entityKey: 'order',\n getBreadcrumbs: entity => [\n {\n label: entity?.code || 'order',\n link: ['/orders/', entity?.id],\n },\n {\n label: _('breadcrumb.modifying-order'),\n link: [entity?.id],\n },\n ],\n }),\n });\n OrderModule.hasRegisteredTabsAndBulkActions = true;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_shared_utils", "getRefundablePayments", "payments", "filter", "p", "state", "map", "payment", "index", "refundableAmount", "amount", "summate", "refunds", "r", "__spreadProps", "__spreadValues", "amountToRefundControl", "FormControl", "nonNullable", "validators", "Validators", "min", "max", "selected", "\u0275\u0275text", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "cancel", "\u0275\u0275elementEnd", "submit", "\u0275\u0275advance", "\u0275\u0275property", "form", "invalid", "pristine", "\u0275\u0275textInterpolate2", "\u0275\u0275pipeBind2", "outstandingAmount", "currencyCode", "GET_PAYMENT_METHODS_FOR_MANUAL_ADD", "gql", "AddManualPaymentDialogComponent", "constructor", "dataService", "UntypedFormGroup", "method", "UntypedFormControl", "Validators", "required", "transactionId", "ngOnInit", "paymentMethods$", "query", "GetAddManualPaymentMethodListDocument", "options", "take", "mapSingle", "data", "paymentMethods", "items", "formValue", "value", "resolveWith", "\u0275\u0275directiveInject", "DataService", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "AddManualPaymentDialogComponent_ng_template_0_Template", "\u0275\u0275element", "AddManualPaymentDialogComponent_ng_template_9_Template", "\u0275\u0275text", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275elementStart", "\u0275\u0275twoWayListener", "$event", "\u0275\u0275restoreView", "_r1", "line_r2", "\u0275\u0275nextContext", "$implicit", "ctx_r2", "i0", "\u0275\u0275twoWayBindingSet", "lineQuantities", "id", "\u0275\u0275resetView", "\u0275\u0275listener", "checkIfAllSelected", "\u0275\u0275elementEnd", "\u0275\u0275twoWayProperty", "\u0275\u0275property", "cancelAll", "quantity", "\u0275\u0275element", "\u0275\u0275template", "CancelOrderDialogComponent_tr_22_input_14_Template", "CancelOrderDialogComponent_tr_22_ng_template_15_Template", "\u0275\u0275templateRefExtractor", "\u0275\u0275classProp", "\u0275\u0275advance", "\u0275\u0275pipeBind2", "featuredAsset", "\u0275\u0275sanitizeUrl", "productVariant", "name", "sku", "\u0275\u0275textInterpolate1", "unitPriceWithTax", "order", "currencyCode", "active", "nonEditable_r4", "\u0275\u0275elementContainerStart", "_r5", "radioChanged", "_r6", "cancel", "select", "CancelOrderDialogComponent_ng_template_29_ng_container_4_Template", "CancelOrderDialogComponent_ng_template_29_ng_container_5_Template", "reason", "selectionCount", "CancelOrderDialogComponent", "Object", "values", "reduce", "sum", "n", "constructor", "i18nService", "reasons", "getAppConfig", "cancellationReasons", "map", "r", "translate", "ngOnInit", "lines", "result", "line", "__spreadProps", "__spreadValues", "lineId", "entries", "quantityInOrder", "find", "resolveWith", "orderId", "getLineInputs", "cancelShipping", "orderLineId", "filter", "l", "\u0275\u0275directiveInject", "I18nService", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "CancelOrderDialogComponent_ng_template_0_Template", "CancelOrderDialogComponent_tr_22_Template", "CancelOrderDialogComponent_ng_container_24_Template", "CancelOrderDialogComponent_ng_template_29_Template", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "item_r1", "code", "promotionName", "GET_COUPON_CODE_SELECTOR_PROMOTION_LIST", "gql", "CouponCodeSelectorComponent", "constructor", "dataService", "addCouponCode", "EventEmitter", "removeCouponCode", "couponCodeInput$", "Subject", "ngOnInit", "availableCouponCodes$", "concat", "pipe", "debounceTime", "distinctUntilChanged", "switchMap", "term", "query", "GetCouponCodeSelectorPromotionListDocument", "options", "take", "skip", "filter", "couponCode", "contains", "single$", "map", "promotions", "items", "p", "name", "startWith", "control", "UntypedFormControl", "couponCodes", "remove", "emit", "\u0275\u0275directiveInject", "DataService", "selectors", "inputs", "outputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275listener", "$event", "\u0275\u0275template", "CouponCodeSelectorComponent_ng_template_2_Template", "\u0275\u0275property", "\u0275\u0275pipeBind1", "import_pick", "\u0275\u0275text", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275property", "address_r5", "\u0275\u0275advance", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r3", "ctx_r3", "\u0275\u0275nextContext", "\u0275\u0275resetView", "selectedAddress", "\u0275\u0275template", "SelectAddressDialogComponent_clr_tabs_1_clr_tab_1_ng_template_4_vdr_radio_card_2_Template", "addressIdFn", "addresses_r6", "SelectAddressDialogComponent_clr_tabs_1_clr_tab_1_ng_template_4_Template", "\u0275\u0275twoWayListener", "_r2", "i0", "\u0275\u0275twoWayBindingSet", "useExisting", "\u0275\u0275twoWayProperty", "addressForm", "availableCountries$", "SelectAddressDialogComponent_clr_tabs_1_clr_tab_1_Template", "SelectAddressDialogComponent_clr_tabs_1_ng_template_6_Template", "_r1", "createNew", "customerId", "length", "_r7", "cancel", "select", "invalid", "\u0275\u0275textInterpolate1", "SelectAddressDialogComponent", "constructor", "dataService", "formBuilder", "ngOnInit", "group", "fullName", "currentAddress", "company", "streetLine1", "Validators", "required", "streetLine2", "city", "province", "postalCode", "countryCode", "phoneNumber", "addresses$", "query", "GetCustomerAddressesDocument", "mapSingle", "customer", "addresses", "pipe", "tap", "find", "a", "of", "settings", "getAvailableCountries", "countries", "items", "trackByFn", "item", "id", "resolveWith", "__spreadProps", "__spreadValues", "pick", "country", "code", "valid", "formValue", "value", "\u0275\u0275directiveInject", "DataService", "UntypedFormBuilder", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "SelectAddressDialogComponent_ng_template_0_Template", "SelectAddressDialogComponent_clr_tabs_1_Template", "SelectAddressDialogComponent_ng_template_3_Template", "\u0275\u0275text", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "ctx_r0", "title", "\u0275\u0275elementContainer", "\u0275\u0275elementStart", "\u0275\u0275twoWayListener", "$event", "\u0275\u0275restoreView", "_r2", "\u0275\u0275nextContext", "i0", "\u0275\u0275twoWayBindingSet", "note", "\u0275\u0275resetView", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275advance", "\u0275\u0275twoWayProperty", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "SelectCustomerDialogComponent_ng_container_1_ng_container_1_Template", "SelectCustomerDialogComponent_ng_container_1_vdr_form_field_2_Template", "customerSelect_r3", "includeNoteInput", "SelectCustomerDialogComponent_clr_tabs_2_ng_template_5_ng_container_2_Template", "\u0275\u0275element", "customerForm", "SelectCustomerDialogComponent_clr_tabs_2_clr_tab_6_ng_template_4_Template", "_r5", "createNew", "SelectCustomerDialogComponent_clr_tabs_2_ng_template_5_Template", "_r4", "useExisting", "SelectCustomerDialogComponent_clr_tabs_2_clr_tab_6_Template", "canCreateNew", "\u0275\u0275textInterpolate2", "item_r7", "firstName", "lastName", "emailAddress", "item_r8", "_r6", "selectedCustomer", "SelectCustomerDialogComponent_ng_template_3_ng_template_2_Template", "SelectCustomerDialogComponent_ng_template_3_ng_template_3_Template", "customers$", "trackByFn", "isLoading", "input$", "\u0275\u0275listener", "_r9", "cancel", "select", "length", "invalid", "\u0275\u0275textInterpolate1", "SelectCustomerDialogComponent", "constructor", "dataService", "formBuilder", "Subject", "group", "Validators", "required", "phoneNumber", "email", "ngOnInit", "concat", "of", "pipe", "debounceTime", "distinctUntilChanged", "tap", "switchMap", "term", "customer", "getCustomerList", "mapStream", "customers", "items", "catchError", "item", "id", "resolveWith", "__spreadProps", "__spreadValues", "valid", "formValue", "value", "\u0275\u0275directiveInject", "DataService", "UntypedFormBuilder", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "SelectCustomerDialogComponent_ng_template_0_Template", "SelectCustomerDialogComponent_ng_container_1_Template", "SelectCustomerDialogComponent_clr_tabs_2_Template", "SelectCustomerDialogComponent_ng_template_3_Template", "\u0275\u0275templateRefExtractor", "SelectCustomerDialogComponent_ng_template_5_Template", "\u0275\u0275text", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275element", "\u0275\u0275property", "quote_r1", "metadata", "\u0275\u0275elementStart", "\u0275\u0275elementEnd", "\u0275\u0275template", "SelectShippingMethodDialogComponent_vdr_radio_card_2_vdr_object_tree_14_Template", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "name", "\u0275\u0275pipeBind2", "price", "ctx_r1", "currencyCode", "priceWithTax", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r3", "\u0275\u0275nextContext", "\u0275\u0275resetView", "cancel", "select", "selectedMethod", "SelectShippingMethodDialogComponent", "ngOnInit", "currentSelectionId", "eligibleShippingMethods", "find", "m", "id", "methodIdFn", "item", "resolveWith", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "SelectShippingMethodDialogComponent_ng_template_0_Template", "$event", "SelectShippingMethodDialogComponent_vdr_radio_card_2_Template", "SelectShippingMethodDialogComponent_ng_template_3_Template", "\u0275\u0275text", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275elementStart", "\u0275\u0275elementEnd", "\u0275\u0275property", "state_r1", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r3", "ctx_r3", "\u0275\u0275nextContext", "\u0275\u0275resetView", "cancel", "\u0275\u0275template", "OrderStateSelectDialogComponent_ng_template_7_button_0_Template", "_r2", "select", "cancellable", "selectedState", "\u0275\u0275pipeBind2", "\u0275\u0275pureFunction1", "_c0", "OrderStateSelectDialogComponent", "constructor", "nextStates", "message", "resolveWith", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "OrderStateSelectDialogComponent_ng_template_0_Template", "\u0275\u0275twoWayListener", "$event", "i0", "\u0275\u0275twoWayBindingSet", "OrderStateSelectDialogComponent_option_6_Template", "OrderStateSelectDialogComponent_ng_template_7_Template", "\u0275\u0275twoWayProperty", "OrderTransitionService", "constructor", "dataService", "modalService", "notificationService", "i18nService", "transitionToPreModifyingState", "orderId", "nextStates", "getPreModifyingState", "pipe", "switchMap", "state", "manualTransitionOptions", "message", "translate", "cancellable", "retry", "transitionToStateOrThrow", "catchError", "err", "manuallyTransitionToState", "options", "fromComponent", "OrderStateSelectDialogComponent", "locals", "closable", "size", "result", "EMPTY", "Error", "retryWhen", "errors", "delay", "take", "order", "getOrderHistory", "filter", "type", "eq", "HistoryEntryType", "ORDER_STATE_TRANSITION", "sort", "createdAt", "SortOrder", "DESC", "mapSingle", "map", "item", "history", "items", "find", "i", "data", "to", "from", "transitionToState", "transitionOrderToState", "__typename", "error", "transitionError", "\u0275\u0275inject", "DataService", "ModalService", "NotificationService", "I18nService", "factory", "\u0275fac", "providedIn", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "editable", "\u0275\u0275element", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "_r3", "onUpdateClick", "\u0275\u0275property", "customFieldForm", "pristine", "invalid", "_r4", "onCancelClick", "\u0275\u0275template", "OrderCustomFieldsCardComponent_div_0_button_8_Template", "OrderCustomFieldsCardComponent_div_0_button_9_Template", "OrderCustomFieldsCardComponent_div_0_button_10_Template", "\u0275\u0275classProp", "customFieldsConfig", "OrderCustomFieldsCardComponent", "constructor", "formBuilder", "modalService", "customFieldValues", "updateClick", "EventEmitter", "ngOnInit", "group", "field", "addControl", "name", "control", "emit", "value", "markAsPristine", "dirty", "dialog", "title", "buttons", "type", "label", "returnValue", "subscribe", "result", "reset", "\u0275\u0275directiveInject", "UntypedFormBuilder", "ModalService", "selectors", "inputs", "outputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "OrderCustomFieldsCardComponent_div_0_Template", "length", "import_shared_utils", "\u0275\u0275element", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "\u0275\u0275pipeBind2", "\u0275\u0275pureFunction2", "_c0", "ctx_r0", "line", "quantity", "fulfilledCount", "\u0275\u0275property", "item_r2", "fulfillment", "trackingCode", "\u0275\u0275template", "LineFulfillmentComponent_vdr_dropdown_0_div_9_vdr_labeled_data_12_Template", "\u0275\u0275textInterpolate3", "id", "\u0275\u0275pureFunction1", "_c1", "count", "createdAt", "method", "LineFulfillmentComponent_vdr_dropdown_0_clr_icon_2_Template", "LineFulfillmentComponent_vdr_dropdown_0_clr_icon_3_Template", "LineFulfillmentComponent_vdr_dropdown_0_clr_icon_4_Template", "LineFulfillmentComponent_vdr_dropdown_0_label_6_Template", "LineFulfillmentComponent_vdr_dropdown_0_label_7_Template", "LineFulfillmentComponent_vdr_dropdown_0_label_8_Template", "LineFulfillmentComponent_vdr_dropdown_0_div_9_Template", "fulfillmentStatus", "fulfillments", "LineFulfillmentComponent", "constructor", "ngOnChanges", "changes", "getDeliveredCount", "getFulfillmentStatus", "getFulfillments", "fulfillmentLines", "reduce", "sum", "fulfillmentLine", "lineQuantity", "map", "allOrderFulfillments", "find", "f", "fulfillmentId", "filter", "notNullOrUndefined", "selectors", "inputs", "orderState", "standalone", "features", "\u0275\u0275NgOnChangesFeature", "decls", "vars", "consts", "template", "rf", "ctx", "LineFulfillmentComponent_vdr_dropdown_0_Template", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind2", "\u0275\u0275pureFunction1", "_c0", "ctx_r0", "getRefundedCount", "LineRefundsComponent", "payments", "reduce", "all", "payment", "refunds", "filter", "refund", "state", "lines", "i", "orderLineId", "line", "id", "sum", "quantity", "selectors", "inputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "LineRefundsComponent_span_0_Template", "OrderTotalColumnComponent", "DataTable2ColumnComponent", "constructor", "orderable", "__ngFactoryType__", "selectors", "exportAs", "standalone", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "template", "rf", "ctx", "encapsulation", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "onToggleAllClick", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "selectionManager", "areAllCurrentItemsSelected", "\u0275\u0275element", "\u0275\u0275text", "\u0275\u0275textInterpolate", "sort_r4", "sortOrder", "_r3", "ngIf", "toggleSortOrder", "\u0275\u0275template", "OrderDataTableComponent_th_7_div_5_clr_icon_2_Template", "OrderDataTableComponent_th_7_div_5_clr_icon_3_Template", "OrderDataTableComponent_th_7_div_5_clr_icon_4_Template", "OrderDataTableComponent_th_7_div_5_div_5_Template", "\u0275\u0275classProp", "OrderDataTableComponent_th_7_div_5_Template", "column_r5", "expand", "align", "id", "heading", "sort", "\u0275\u0275elementContainer", "activeFilter_r7", "filters", "\u0275\u0275elementContainerStart", "OrderDataTableComponent_tr_12_ng_container_8_vdr_data_table_filters_2_Template", "OrderDataTableComponent_tr_12_ng_container_8_vdr_data_table_filters_3_Template", "activeFilters", "length", "_r6", "toggleSearchFilterRow", "OrderDataTableComponent_tr_12_ng_container_6_Template", "OrderDataTableComponent_tr_12_ng_container_7_Template", "OrderDataTableComponent_tr_12_ng_container_8_Template", "showSearchFilterRow", "\u0275\u0275pipeBind1", "searchComponent", "template", "customSearchTemplate", "$event", "_r8", "item_r9", "$implicit", "onRowClick", "activeIndex", "i_r11", "isSelected", "OrderDataTableComponent_tr_14_td_2_ng_container_2_ng_container_1_Template", "componentConfig_r12", "config", "component", "\u0275\u0275pureFunction1", "_c3", "injector", "OrderDataTableComponent_tr_14_td_2_ng_template_3_ng_container_0_Template", "column_r13", "\u0275\u0275pureFunction2", "_c4", "OrderDataTableComponent_tr_14_td_2_ng_container_2_Template", "OrderDataTableComponent_tr_14_td_2_ng_template_3_Template", "\u0275\u0275templateRefExtractor", "customComponents", "get", "defaultComponent_r14", "OrderDataTableComponent_tr_14_td_1_Template", "OrderDataTableComponent_tr_14_td_2_Template", "visibleSortedColumns", "surcharge_r15", "description", "sku", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind2", "priceWithTax", "order", "currencyCode", "price", "couponCode_r16", "OrderDataTableComponent_ng_container_19_tr_1_vdr_chip_4_Template", "getPromotionLink", "discount_r17", "getCouponCodeForAdjustment", "amountWithTax", "amount", "OrderDataTableComponent_ng_container_19_tr_1_Template", "type", "shippingLine_r18", "shippingMethod", "name", "OrderDataTableComponent", "DataTable2Component", "allColumns", "columns", "customFieldColumns", "totalColumns", "promotion", "adjustmentSource", "split", "promotionAdjustment", "promotions", "find", "p", "couponCode", "undefined", "getShippingNames", "shippingLines", "map", "shippingLine", "join", "__ngFactoryType__", "selectors", "contentQueries", "rf", "ctx", "dirIndex", "OrderTotalColumnComponent", "\u0275\u0275projection", "OrderDataTableComponent_th_6_Template", "OrderDataTableComponent_th_7_Template", "onColumnReorder", "onColumnsReset", "OrderDataTableComponent_tr_12_Template", "OrderDataTableComponent_tr_14_Template", "OrderDataTableComponent_tr_17_Template", "OrderDataTableComponent_tr_18_Template", "OrderDataTableComponent_ng_container_19_Template", "OrderDataTableComponent_vdr_chip_38_Template", "disableSelect", "selection", "uiLanguage$", "sortedColumns", "items", "\u0275\u0275pureFunction4", "_c2", "itemsPerPage", "currentPage", "totalItems", "trackByFn", "bind", "surcharges", "discounts", "subTotalWithTax", "subTotal", "shippingWithTax", "shipping", "totalWithTax", "total", "\u0275\u0275text", "\u0275\u0275textInterpolate1", "line_r1", "id", "\u0275\u0275pipeBind2", "line_r2", "createdAt", "line_r3", "updatedAt", "\u0275\u0275element", "\u0275\u0275property", "asset_r4", "\u0275\u0275sanitizeUrl", "\u0275\u0275elementStart", "\u0275\u0275elementEnd", "\u0275\u0275template", "OrderTableComponent_ng_template_12_img_1_Template", "OrderTableComponent_ng_template_12_ng_template_2_Template", "\u0275\u0275templateRefExtractor", "\u0275\u0275advance", "line_r5", "featuredAsset", "imagePlaceholder_r6", "\u0275\u0275pureFunction1", "_c0", "line_r7", "productVariant", "product", "\u0275\u0275textInterpolate", "name", "\u0275\u0275pureFunction2", "_c1", "line_r8", "line_r9", "sku", "line_r10", "unitPriceWithTax", "ctx_r10", "order", "currencyCode", "\u0275\u0275pipeBind1", "unitPrice", "line_r12", "orderPlacedQuantity", "\u0275\u0275elementContainerStart", "OrderTableComponent_ng_template_27_ng_container_0_div_2_Template", "quantity", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r13", "qtyInput_r14", "\u0275\u0275reference", "\u0275\u0275nextContext", "item", "\u0275\u0275resetView", "draftInputBlur", "valueAsNumber", "remove", "emit", "lineId", "OrderTableComponent_ng_template_27_ng_container_0_Template", "OrderTableComponent_ng_template_27_ng_template_1_Template", "isDraft", "draft_r15", "payments", "state", "fulfillments", "customField_r16", "getPromotionLink", "discount_r17", "description", "amountWithTax", "amount", "OrderTableComponent_ng_template_31_ng_container_7_vdr_dropdown_1_div_5_Template", "discounts_r18", "OrderTableComponent_ng_template_31_ng_container_7_vdr_dropdown_1_Template", "length", "OrderTableComponent_ng_template_31_ng_container_7_Template", "line_r19", "linePriceWithTax", "linePrice", "getLineDiscounts", "OrderTableComponent", "constructor", "adjust", "EventEmitter", "orderLineCustomFieldsVisible", "customFieldsForLine", "visibleOrderLineCustomFields", "orderLineCustomFields", "showElided", "ngOnInit", "getLineCustomFields", "line", "toggleOrderLineCustomFields", "discounts", "filter", "a", "type", "AdjustmentType", "PROMOTION", "lines", "formGroup", "UntypedFormGroup", "result", "map", "config", "value", "customFields", "addControl", "UntypedFormControl", "field", "promotion", "adjustmentSource", "split", "getCouponCodeForAdjustment", "promotionAdjustment", "promotions", "find", "p", "couponCode", "undefined", "getShippingNames", "shippingLines", "shippingLine", "shippingMethod", "join", "selectors", "inputs", "outputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "OrderTableComponent_ng_template_3_Template", "OrderTableComponent_ng_template_6_Template", "OrderTableComponent_ng_template_9_Template", "OrderTableComponent_ng_template_12_Template", "OrderTableComponent_ng_template_15_Template", "OrderTableComponent_ng_template_18_Template", "OrderTableComponent_ng_template_21_Template", "OrderTableComponent_ng_template_24_Template", "OrderTableComponent_ng_template_27_Template", "OrderTableComponent_vdr_dt2_custom_field_column_28_Template", "OrderTableComponent_ng_template_31_Template", "\u0275\u0275elementContainerStart", "\u0275\u0275element", "\u0275\u0275advance", "\u0275\u0275property", "ctx_r1", "orderLineCustomFields", "customFieldsFormGroup", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275twoWayListener", "$event", "\u0275\u0275restoreView", "_r1", "\u0275\u0275nextContext", "i0", "\u0275\u0275twoWayBindingSet", "quantity", "\u0275\u0275resetView", "\u0275\u0275listener", "selectedVariant_r3", "ngIf", "addItemClick", "\u0275\u0275template", "DraftOrderVariantSelectorComponent_div_6_ng_container_30_Template", "\u0275\u0275pipeBind2", "featuredAsset", "product", "\u0275\u0275sanitizeUrl", "\u0275\u0275textInterpolate", "name", "sku", "\u0275\u0275textInterpolate2", "\u0275\u0275pipeBind1", "stockOnHand", "stockAllocated", "priceWithTax", "currencyCode", "\u0275\u0275textInterpolate1", "price", "\u0275\u0275twoWayProperty", "length", "DraftOrderVariantSelectorComponent", "constructor", "dataService", "addItem", "EventEmitter", "UntypedFormGroup", "selectedVariantId$", "Subject", "ngOnInit", "selectedVariant$", "pipe", "switchMap", "id", "getProductVariant", "mapSingle", "productVariant", "undefined", "customField", "addControl", "UntypedFormControl", "selectedVariant", "emit", "productVariantId", "customFields", "value", "next", "reset", "\u0275\u0275directiveInject", "DataService", "selectors", "inputs", "outputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "DraftOrderVariantSelectorComponent_div_6_Template", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "completeOrder", "\u0275\u0275text", "deleteOrder", "\u0275\u0275advance", "\u0275\u0275property", "order_r3", "state", "customer", "lines", "length", "shippingLines", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "\u0275\u0275template", "DraftOrderDetailComponent_vdr_page_detail_layout_3_ng_template_4_clr_icon_0_Template", "DraftOrderDetailComponent_vdr_page_detail_layout_3_ng_template_4_clr_icon_1_Template", "order_r5", "DraftOrderDetailComponent_vdr_page_detail_layout_3_ng_template_11_clr_icon_0_Template", "DraftOrderDetailComponent_vdr_page_detail_layout_3_ng_template_11_clr_icon_1_Template", "billingAddress", "streetLine1", "DraftOrderDetailComponent_vdr_page_detail_layout_3_ng_template_18_clr_icon_0_Template", "DraftOrderDetailComponent_vdr_page_detail_layout_3_ng_template_18_clr_icon_1_Template", "shippingAddress", "shippingLine_r6", "shippingMethod", "name", "_r7", "displayCouponCodeInput", "$event", "_r8", "applyCouponCode", "removeCouponCode", "\u0275\u0275textInterpolate", "couponCodes", "entity_r9", "row_r10", "description", "taxRate", "\u0275\u0275pipeBind2", "taxBase", "currencyCode", "taxTotal", "\u0275\u0275elementContainerStart", "DraftOrderDetailComponent_vdr_page_detail_layout_3_ng_container_39_tr_17_Template", "taxSummary", "DraftOrderDetailComponent_vdr_page_detail_layout_3_ng_template_4_Template", "DraftOrderDetailComponent_vdr_page_detail_layout_3_vdr_customer_label_5_Template", "_r4", "setCustomer", "DraftOrderDetailComponent_vdr_page_detail_layout_3_ng_template_11_Template", "DraftOrderDetailComponent_vdr_page_detail_layout_3_vdr_formatted_address_12_Template", "setBillingAddress", "DraftOrderDetailComponent_vdr_page_detail_layout_3_ng_template_18_Template", "DraftOrderDetailComponent_vdr_page_detail_layout_3_vdr_formatted_address_19_Template", "setShippingAddress", "DraftOrderDetailComponent_vdr_page_detail_layout_3_div_23_Template", "setShippingMethod", "DraftOrderDetailComponent_vdr_page_detail_layout_3_button_28_Template", "DraftOrderDetailComponent_vdr_page_detail_layout_3_div_29_Template", "DraftOrderDetailComponent_vdr_page_detail_layout_3_vdr_page_entity_info_31_Template", "addItemToOrder", "adjustOrderLine", "removeOrderLine", "DraftOrderDetailComponent_vdr_page_detail_layout_3_ng_container_39_Template", "updateCustomFields", "entity$", "orderLineCustomFields", "detailForm", "customFields", "DraftOrderDetailComponent", "TypedBaseDetailComponent", "constructor", "changeDetector", "dataService", "notificationService", "modalService", "orderTransitionService", "getCustomFieldConfig", "UntypedFormGroup", "fetchHistory", "Subject", "ngOnInit", "init", "eligibleShippingMethods$", "pipe", "switchMap", "order", "getDraftOrderEligibleShippingMethods", "id", "mapSingle", "eligibleShippingMethodsForDraftOrder", "ngOnDestroy", "destroy", "event", "addItemToDraftOrder", "subscribe", "result", "__typename", "error", "message", "adjustDraftOrderLine", "orderLineId", "lineId", "quantity", "removeDraftOrderLine", "getOrderAddressLines", "orderAddress", "Object", "values", "filter", "val", "line", "fromComponent", "SelectCustomerDialogComponent", "hasId", "setCustomerForDraftOrder", "customerId", "query", "GetCustomerAddressesDocument", "single$", "defaultShippingAddress", "addresses", "find", "addr", "defaultBillingAddress", "forkJoin", "setDraftOrderShippingAddress", "mapToAddressInput", "unsetDraftOrderShippingAddress", "setDraftOrderBillingAddress", "unsetDraftOrderBillingAddress", "note", "input", "address", "fullName", "company", "streetLine2", "city", "province", "postalCode", "countryCode", "country", "code", "phoneNumber", "take", "SelectAddressDialogComponent", "locals", "currentAddress", "undefined", "couponCode", "applyCouponCodeToDraftOrder", "removeCouponCodeFromDraftOrder", "combineLatest", "methods", "SelectShippingMethodDialogComponent", "eligibleShippingMethods", "currentSelectionId", "setDraftOrderShippingMethod", "customFieldsValue", "updateOrderCustomFields", "deleteDraftOrder", "DeletionResult", "DELETED", "success", "entity", "router", "navigate", "transitionToState", "transitionOrderToState", "transitionError", "setFormValues", "\u0275\u0275directiveInject", "ChangeDetectorRef", "DataService", "NotificationService", "ModalService", "OrderTransitionService", "selectors", "standalone", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "DraftOrderDetailComponent_vdr_action_bar_1_Template", "DraftOrderDetailComponent_vdr_page_detail_layout_3_Template", "\u0275\u0275text", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275element", "\u0275\u0275property", "\u0275\u0275pipeBind2", "line_r1", "featuredAsset", "\u0275\u0275sanitizeUrl", "\u0275\u0275elementStart", "\u0275\u0275twoWayListener", "$event", "\u0275\u0275restoreView", "_r2", "\u0275\u0275nextContext", "$implicit", "ctx_r2", "i0", "\u0275\u0275twoWayBindingSet", "fulfillmentQuantities", "id", "fulfillCount", "\u0275\u0275resetView", "\u0275\u0275elementEnd", "getUnfulfilledCount", "\u0275\u0275twoWayProperty", "max", "\u0275\u0275template", "FulfillOrderDialogComponent_tr_22_img_2_Template", "FulfillOrderDialogComponent_tr_22_input_12_Template", "\u0275\u0275classProp", "\u0275\u0275advance", "productVariant", "name", "sku", "stockOnHand", "\u0275\u0275listener", "_r4", "cancel", "select", "canSubmit", "\u0275\u0275textInterpolate1", "FulfillOrderDialogComponent", "constructor", "dataService", "changeDetector", "fulfillmentHandlerControl", "UntypedFormControl", "ngOnInit", "settings", "getGlobalSettings", "single$", "subscribe", "globalSettings", "order", "lines", "reduce", "result", "line", "getFulfillableCount", "trackInventory", "__spreadProps", "__spreadValues", "markForCheck", "shippingMethod", "getShippingMethodOperations", "mapSingle", "data", "fulfillmentHandlers", "handlers", "fulfillmentHandlerDef", "find", "h", "code", "shippingLines", "fulfillmentHandlerCode", "fulfillmentHandler", "configurableDefinitionToInstance", "patchValue", "globalTrackInventory", "effectiveTracInventory", "GlobalFlag", "INHERIT", "TRUE", "unfulfilledCount", "Math", "min", "fulfilled", "fulfillments", "filter", "f", "state", "map", "flat", "row", "orderLineId", "sum", "quantity", "totalCount", "Object", "values", "total", "fulfillmentQuantityIsValid", "every", "configurableOperationValueIsValid", "value", "valid", "entries", "resolveWith", "handler", "toConfigurableOperationInput", "\u0275\u0275directiveInject", "DataService", "ChangeDetectorRef", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "FulfillOrderDialogComponent_ng_template_0_Template", "FulfillOrderDialogComponent_tr_22_Template", "FulfillOrderDialogComponent_ng_template_33_Template", "shippingAddress", "shipping", "currencyCode", "import_shared_utils", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "item_r1", "quantity", "\u0275\u0275element", "\u0275\u0275template", "SimpleItemListComponent_li_2_div_1_Template", "SimpleItemListComponent_li_2_clr_icon_2_Template", "\u0275\u0275property", "name", "\u0275\u0275textInterpolate1", "SimpleItemListComponent", "selectors", "inputs", "items", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "SimpleItemListComponent_li_2_Template", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "ctx_r0", "fulfillment", "trackingCode", "\u0275\u0275element", "customField_r2", "customFieldFormGroup", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "FulfillmentDetailComponent_ng_container_11_vdr_custom_field_control_1_Template", "get", "name", "FulfillmentDetailComponent", "constructor", "serverConfigService", "customFieldConfig", "UntypedFormGroup", "ngOnInit", "getCustomFieldsFor", "ngOnChanges", "changes", "buildCustomFieldsFormGroup", "order", "fulfillments", "find", "f", "id", "fulfillmentId", "items", "lines", "map", "row", "line", "orderLineId", "productVariant", "quantity", "customFields", "fieldDef", "addControl", "UntypedFormControl", "customFieldIsObject", "customField", "Array", "isArray", "isObject", "\u0275\u0275directiveInject", "ServerConfigService", "selectors", "inputs", "standalone", "features", "\u0275\u0275NgOnChangesFeature", "decls", "vars", "consts", "template", "rf", "ctx", "FulfillmentDetailComponent_vdr_labeled_data_7_Template", "FulfillmentDetailComponent_ng_container_11_Template", "\u0275\u0275pipeBind2", "createdAt", "method", "\u0275\u0275element", "FulfillmentStateLabelComponent", "chipColorType", "state", "selectors", "inputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275template", "FulfillmentStateLabelComponent_clr_icon_2_Template", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275element", "\u0275\u0275property", "ctx_r0", "fulfillment", "id", "order", "\u0275\u0275elementContainerStart", "\u0275\u0275elementStart", "\u0275\u0275listener", "suggestedState_r3", "\u0275\u0275restoreView", "_r2", "ngIf", "\u0275\u0275nextContext", "\u0275\u0275resetView", "transitionState", "emit", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind2", "\u0275\u0275pureFunction1", "_c0", "\u0275\u0275pipeBind1", "nextState_r5", "_r4", "$implicit", "\u0275\u0275template", "FulfillmentCardComponent_div_9_ng_container_6_ng_container_2_Template", "FulfillmentCardComponent_div_9_ng_container_6_ng_template_3_Template", "\u0275\u0275templateRefExtractor", "cancel_r6", "FulfillmentCardComponent_div_9_ng_container_1_Template", "FulfillmentCardComponent_div_9_ng_container_6_Template", "nextSuggestedState", "nextOtherStates", "FulfillmentCardComponent", "constructor", "EventEmitter", "nextStates", "namedStateOrDefault", "targetState", "includes", "state", "find", "s", "suggested", "filter", "selectors", "inputs", "outputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "FulfillmentCardComponent_vdr_fulfillment_detail_8_Template", "FulfillmentCardComponent_div_9_Template", "\u0275\u0275textInterpolate", "length", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "ctx_r0", "modification", "note", "\u0275\u0275textInterpolate2", "tmp_3_0", "getSurcharge", "surcharge_r2", "id", "description", "\u0275\u0275pipeBind2", "priceWithTax", "order", "currencyCode", "\u0275\u0275element", "getAddedItems", "getRemovedItems", "getModifiedItems", "ModificationDetailComponent", "constructor", "addedItems", "Map", "removedItems", "modifiedItems", "Set", "ngOnChanges", "added", "removed", "modified", "getModifiedLines", "surcharges", "find", "m", "entries", "map", "line", "count", "name", "productVariant", "quantity", "modificationLine", "lines", "l", "orderLineId", "add", "set", "selectors", "inputs", "standalone", "features", "\u0275\u0275NgOnChangesFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "ModificationDetailComponent_vdr_labeled_data_3_Template", "ModificationDetailComponent_vdr_labeled_data_4_Template", "ModificationDetailComponent_vdr_labeled_data_5_Template", "ModificationDetailComponent_vdr_labeled_data_6_Template", "ModificationDetailComponent_vdr_labeled_data_7_Template", "length", "import_shared_utils", "NODE_HEIGHT", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "ctx_r0", "cancelledState", "OrderProcessNodeComponent", "constructor", "elementRef", "active$", "BehaviorSubject", "activeTarget$", "isCancellable", "ngOnChanges", "changes", "node", "to", "find", "s", "name", "active", "next", "getPos", "origin", "rect", "nativeElement", "getBoundingClientRect", "nodeHeight", "querySelector", "height", "x", "y", "index", "NODE_HEIGHT", "getStyle", "pos", "\u0275\u0275directiveInject", "ElementRef", "selectors", "inputs", "standalone", "features", "\u0275\u0275NgOnChangesFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "OrderProcessNodeComponent_div_7_Template", "\u0275\u0275classProp", "\u0275\u0275property", "OrderProcessEdgeComponent", "ngOnInit", "active$", "from", "asObservable", "pipe", "tap", "active", "to", "activeTarget$", "next", "getStyle", "direction", "index", "startPos", "getPos", "endPos", "dX", "Math", "abs", "x", "dY", "y", "length", "sqrt", "__spreadValues", "transform", "selectors", "inputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275classProp", "\u0275\u0275pipeBind1", "\u0275\u0275property", "\u0275\u0275elementContainerStart", "\u0275\u0275elementStart", "\u0275\u0275listener", "state_r2", "\u0275\u0275restoreView", "_r1", "$implicit", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "onMouseOver", "name", "onMouseOut", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "i_r4", "\u0275\u0275pipeBind1", "activeState$", "\u0275\u0275element", "edge_r5", "from", "to", "index", "OrderProcessGraphComponent", "constructor", "changeDetector", "setActiveState$", "BehaviorSubject", "undefined", "nodes", "edges", "outerHeight", "length", "NODE_HEIGHT", "ngOnInit", "next", "initialState", "pipe", "debounceTime", "ngOnChanges", "changes", "populateNodes", "ngAfterViewInit", "setTimeout", "populateEdges", "stateName", "getNodeFor", "state", "nodeComponents", "find", "n", "node", "stateNodeMap", "Map", "states", "set", "stateNode", "entries", "targets", "s", "target", "targetNode", "get", "push", "values", "filter", "nodeCmp", "toCmp", "markForCheck", "\u0275\u0275directiveInject", "ChangeDetectorRef", "selectors", "viewQuery", "rf", "ctx", "OrderProcessNodeComponent", "\u0275\u0275styleProp", "\u0275\u0275template", "OrderProcessGraphComponent_ng_container_0_Template", "OrderProcessGraphComponent_ng_container_1_Template", "\u0275\u0275text", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "OrderProcessGraphDialogComponent", "constructor", "serverConfigService", "states", "ngOnInit", "getOrderProcessStates", "\u0275\u0275directiveInject", "ServerConfigService", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "OrderProcessGraphDialogComponent_ng_template_0_Template", "\u0275\u0275element", "\u0275\u0275advance", "\u0275\u0275property", "activeState", "import_shared_utils", "\u0275\u0275elementStart", "\u0275\u0275twoWayListener", "$event", "\u0275\u0275restoreView", "_r1", "payment_r2", "\u0275\u0275nextContext", "$implicit", "i0", "\u0275\u0275twoWayBindingSet", "selected", "\u0275\u0275resetView", "\u0275\u0275listener", "ctx_r2", "paymentSelected", "emit", "payment", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "refundablePayments", "length", "\u0275\u0275twoWayProperty", "\u0275\u0275template", "PaymentForRefundSelectorComponent_vdr_card_0_ng_template_2_Template", "\u0275\u0275text", "\u0275\u0275element", "\u0275\u0275classProp", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "method", "transactionId", "\u0275\u0275pipeBind2", "amount", "order", "currencyCode", "refundableAmount", "amountToRefundControl", "PaymentForRefundSelectorComponent", "constructor", "EventEmitter", "selectors", "inputs", "outputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "PaymentForRefundSelectorComponent_vdr_card_0_Template", "\u0275\u0275text", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275textInterpolate1", "line_r1", "id", "\u0275\u0275pipeBind2", "line_r2", "createdAt", "line_r3", "updatedAt", "\u0275\u0275element", "\u0275\u0275property", "asset_r4", "\u0275\u0275sanitizeUrl", "\u0275\u0275elementStart", "\u0275\u0275elementEnd", "\u0275\u0275template", "RefundOrderDialogComponent_ng_template_14_img_1_Template", "RefundOrderDialogComponent_ng_template_14_ng_template_2_Template", "\u0275\u0275templateRefExtractor", "\u0275\u0275advance", "line_r5", "featuredAsset", "imagePlaceholder_r6", "line_r7", "productVariant", "name", "line_r8", "sku", "line_r9", "unitPriceWithTax", "ctx_r9", "order", "currencyCode", "discount_r11", "description", "amount", "line_r12", "quantity", "RefundOrderDialogComponent_ng_template_26_ng_container_2_vdr_dropdown_1_div_5_Template", "discounts_r13", "\u0275\u0275elementContainerStart", "RefundOrderDialogComponent_ng_template_26_ng_container_2_vdr_dropdown_1_Template", "length", "RefundOrderDialogComponent_ng_template_26_ng_container_2_Template", "proratedUnitPriceWithTax", "discounts", "line_r14", "payments", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r15", "line_r16", "\u0275\u0275nextContext", "item", "\u0275\u0275resetView", "onRefundQuantityChange", "lineQuantities", "RefundOrderDialogComponent_ng_template_32_input_0_Template", "lineCanBeRefundedOrCancelled", "\u0275\u0275twoWayListener", "_r17", "line_r18", "i0", "\u0275\u0275twoWayBindingSet", "cancel", "\u0275\u0275twoWayProperty", "RefundOrderDialogComponent_ng_template_35_input_2_Template", "shippingLine_r20", "_r19", "$implicit", "toggleShippingRefund", "shippingMethod", "discountedPriceWithTax", "\u0275\u0275pureFunction2", "_c1", "totalRefundableAmount", "RefundOrderDialogComponent_ng_template_49_clr_alert_2_Template", "RefundOrderDialogComponent_ng_template_49_clr_alert_3_Template", "RefundOrderDialogComponent_ng_template_49_clr_alert_4_Template", "_r21", "select", "refundTotal", "amountToRefundTotal", "reason", "canSubmit", "\u0275\u0275pureFunction1", "_c0", "RefundOrderDialogComponent", "constructor", "i18nService", "refundablePayments", "refundShippingLineIds", "reasons", "getAppConfig", "cancellationReasons", "manuallySetRefundTotal", "map", "r", "translate", "summate", "reduce", "total", "payment", "amountToRefundControl", "value", "line", "all", "refunds", "filter", "refund", "state", "lines", "refundLine", "orderLineId", "sum", "orderPlacedQuantity", "ngOnInit", "result", "__spreadProps", "__spreadValues", "getRefundablePayments", "updateRefundTotal", "itemTotal", "refundCount", "shippingTotal", "shippingLines", "includes", "p", "selected", "refundsAllocated", "amountToRefund", "Math", "min", "refundableAmount", "setValue", "lineId", "index", "indexOf", "push", "splice", "selectionLine", "previousQuantity", "onPaymentSelected", "outstandingRefundAmount", "isRefunding", "Object", "values", "isCancelling", "refundLines", "getOrderLineInput", "cancelLines", "resolveWith", "rp", "paymentId", "shipping", "adjustment", "orderId", "cancelShipping", "filterFn", "entries", "\u0275\u0275directiveInject", "I18nService", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "RefundOrderDialogComponent_ng_template_0_Template", "RefundOrderDialogComponent_ng_template_5_Template", "RefundOrderDialogComponent_ng_template_8_Template", "RefundOrderDialogComponent_ng_template_11_Template", "RefundOrderDialogComponent_ng_template_14_Template", "RefundOrderDialogComponent_ng_template_17_Template", "RefundOrderDialogComponent_ng_template_20_Template", "RefundOrderDialogComponent_ng_template_23_Template", "RefundOrderDialogComponent_ng_template_26_Template", "RefundOrderDialogComponent_ng_template_29_Template", "RefundOrderDialogComponent_ng_template_32_Template", "RefundOrderDialogComponent_ng_template_35_Template", "RefundOrderDialogComponent_label_39_Template", "RefundOrderDialogComponent_ng_template_49_Template", "\u0275\u0275text", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "cancel", "\u0275\u0275elementEnd", "submit", "\u0275\u0275advance", "\u0275\u0275property", "transactionId", "\u0275\u0275textInterpolate1", "SettleRefundDialogComponent", "constructor", "resolveWith", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "SettleRefundDialogComponent_ng_template_0_Template", "\u0275\u0275twoWayListener", "$event", "i0", "\u0275\u0275twoWayBindingSet", "SettleRefundDialogComponent_ng_template_9_Template", "\u0275\u0275pipeBind2", "\u0275\u0275pureFunction1", "_c0", "refund", "method", "\u0275\u0275twoWayProperty", "\u0275\u0275element", "PaymentStateLabelComponent", "chipColorType", "state", "selectors", "inputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275template", "PaymentStateLabelComponent_clr_icon_2_Template", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275element", "RefundStateLabelComponent", "chipColorType", "state", "selectors", "inputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275template", "RefundStateLabelComponent_clr_icon_2_Template", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "ctx_r0", "payment", "errorMessage", "transactionId", "PaymentDetailComponent", "selectors", "inputs", "currencyCode", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "PaymentDetailComponent_vdr_labeled_data_7_Template", "PaymentDetailComponent_vdr_labeled_data_8_Template", "\u0275\u0275element", "method", "\u0275\u0275pipeBind2", "amount", "metadata", "\u0275\u0275elementContainerStart", "\u0275\u0275text", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind2", "ctx_r0", "payment", "amount", "currencyCode", "\u0275\u0275elementStart", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275textInterpolate1", "refund_r2", "transactionId", "reason", "\u0275\u0275element", "metadata", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r3", "\u0275\u0275nextContext", "$implicit", "\u0275\u0275resetView", "settleRefund", "emit", "\u0275\u0275template", "OrderPaymentCardComponent_ng_container_10_vdr_labeled_data_17_Template", "OrderPaymentCardComponent_ng_container_10_vdr_labeled_data_18_Template", "OrderPaymentCardComponent_ng_container_10_vdr_labeled_data_19_Template", "OrderPaymentCardComponent_ng_container_10_div_20_Template", "\u0275\u0275textInterpolate2", "id", "state", "createdAt", "total", "refundHasMetadata", "_r4", "settlePayment", "\u0275\u0275pureFunction1", "_c0", "nextState_r6", "_r5", "transitionPaymentState", "OrderPaymentCardComponent_div_11_ng_container_6_ng_container_2_Template", "OrderPaymentCardComponent_div_11_ng_container_6_ng_template_3_Template", "\u0275\u0275templateRefExtractor", "cancel_r7", "OrderPaymentCardComponent_div_11_button_1_Template", "OrderPaymentCardComponent_div_11_ng_container_6_Template", "nextStates", "includes", "nextOtherStates", "OrderPaymentCardComponent", "constructor", "EventEmitter", "refund", "Object", "keys", "length", "filter", "s", "selectors", "inputs", "outputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "OrderPaymentCardComponent_ng_container_5_Template", "OrderPaymentCardComponent_ng_container_10_Template", "OrderPaymentCardComponent_div_11_Template", "refunds", "OrderHistoryEntryHostComponent", "constructor", "historyEntryComponentService", "expandClick", "EventEmitter", "ngOnInit", "componentType", "getComponent", "entry", "type", "componentRef", "portalRef", "createComponent", "instance", "order", "ngOnDestroy", "destroy", "\u0275\u0275directiveInject", "HistoryEntryComponentService", "selectors", "viewQuery", "rf", "ctx", "ViewContainerRef", "\u0275\u0275elementStart", "\u0275\u0275listener", "i0", "\u0275\u0275restoreView", "_r1", "\u0275\u0275resetView", "emit", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275property", "getDisplayType", "getIconShape", "createdAt", "getName", "isFeatured", "expanded", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "expanded", "\u0275\u0275property", "order", "entry_r3", "\u0275\u0275pipeBind2", "\u0275\u0275pureFunction2", "_c0", "data", "from", "to", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_2_div_1_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_2_div_2_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_2_ng_template_3_Template", "\u0275\u0275textInterpolate", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_3_div_4_vdr_chip_6_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_3_div_4_vdr_chip_7_Template", "\u0275\u0275element", "modification_r5", "priceChange", "currencyCode", "isSettled", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_3_div_4_Template", "getModification", "modificationId", "payment_r6", "amount", "payment_r7", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_4_ng_container_1_vdr_chip_5_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_4_ng_container_1_vdr_history_entry_detail_6_Template", "getPayment", "\u0275\u0275pureFunction3", "_c1", "tmp_7_0", "transactionId", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_4_ng_container_1_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_4_ng_template_2_Template", "\u0275\u0275templateRefExtractor", "regularPaymentTransition_r8", "\u0275\u0275textInterpolate2", "refund_r9", "id", "total", "reason", "getCancelledItems", "lines", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_5_ng_container_1_ng_container_1_Template", "getRefund", "refundId", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_5_ng_container_1_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_5_ng_template_2_Template", "regularRefundTransition_r10", "items_r11", "shippingCancelled", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_6_vdr_history_entry_detail_3_Template", "\u0275\u0275pureFunction1", "_c2", "getCancelledQuantity", "fulfillment_r12", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_7_vdr_history_entry_detail_3_Template", "getFulfillment", "trackingCode", "fulfillment_r13", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_8_ng_container_1_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_8_ng_container_2_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_8_ng_container_3_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_8_vdr_history_entry_detail_4_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_9_span_3_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_9_span_4_Template", "_r14", "$implicit", "updateNote", "emit", "deleteNote", "isPublic", "note", "_c3", "promotionId", "couponCode", "_c5", "previousCustomerId", "previousCustomerName", "newCustomerId", "newCustomerName", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_12_a_11_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_12_a_14_Template", "_c4", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_13_vdr_history_entry_detail_4_Template", "type", "_r4", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_2_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_3_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_4_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_5_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_6_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_7_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_8_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_9_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_10_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_11_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_12_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_ng_container_13_Template", "getDisplayType", "getTimelineIcon", "createdAt", "getName", "isFeatured", "ORDER_STATE_TRANSITION", "ORDER_MODIFIED", "ORDER_PAYMENT_TRANSITION", "ORDER_REFUND_TRANSITION", "ORDER_CANCELLATION", "ORDER_FULFILLMENT", "ORDER_FULFILLMENT_TRANSITION", "ORDER_NOTE", "ORDER_COUPON_APPLIED", "ORDER_COUPON_REMOVED", "ORDER_CUSTOMER_UPDATED", "OrderHistoryComponent_ng_container_15_vdr_order_history_entry_host_1_Template", "OrderHistoryComponent_ng_container_15_ng_template_2_Template", "hasCustomComponent", "defaultComponents_r15", "OrderHistoryComponent", "constructor", "historyEntryComponentService", "addNote", "EventEmitter", "noteIsPrivate", "HistoryEntryType", "getComponent", "entry", "fulfillments", "find", "f", "fulfillmentId", "payments", "p", "paymentId", "reduce", "refunds", "payment", "concat", "r", "line", "quantity", "cancellationLines", "itemMap", "Map", "cancellationLine", "l", "orderLineId", "set", "productVariant", "name", "Array", "entries", "map", "modifications", "m", "administrator", "firstName", "lastName", "customer", "addNoteToOrder", "\u0275\u0275directiveInject", "HistoryEntryComponentService", "selectors", "inputs", "history", "outputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275twoWayListener", "$event", "i0", "\u0275\u0275twoWayBindingSet", "OrderHistoryComponent_span_13_Template", "OrderHistoryComponent_span_14_Template", "OrderHistoryComponent_ng_container_15_Template", "\u0275\u0275classProp", "\u0275\u0275twoWayProperty", "import_shared_constants", "GET_SELLER_ORDERS", "gql", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "seller_r1", "name", "\u0275\u0275pipeBind2", "order_r2", "totalWithTax", "currencyCode", "\u0275\u0275element", "\u0275\u0275template", "SellerOrdersCardComponent_div_3_vdr_labeled_data_7_Template", "SellerOrdersCardComponent_div_3_vdr_labeled_data_8_Template", "\u0275\u0275pureFunction1", "_c0", "id", "code", "state", "ctx_r2", "getSeller", "SellerOrdersCardComponent", "constructor", "router", "dataService", "channelService", "ngOnInit", "sellerOrders$", "query", "GET_SELLER_ORDERS", "orderId", "mapSingle", "order", "sellerOrders", "channels", "find", "channel", "DEFAULT_CHANNEL_CODE", "seller", "navigateToSellerOrder", "navigate", "\u0275\u0275directiveInject", "Router", "DataService", "ChannelService", "selectors", "inputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "SellerOrdersCardComponent_div_3_Template", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r2", "order_r3", "\u0275\u0275nextContext", "ngIf", "ctx_r3", "\u0275\u0275resetView", "addManualPayment", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate2", "\u0275\u0275pipeBind1", "\u0275\u0275pipeBind2", "outstandingPaymentAmount", "currencyCode", "_r5", "transitionToState", "\u0275\u0275textInterpolate1", "_r6", "fulfillOrder", "\u0275\u0275property", "canAddFulfillment", "\u0275\u0275elementContainerStart", "_r7", "transitionToModifying", "\u0275\u0275element", "_r8", "cancelOrRefund", "\u0275\u0275template", "OrderDetailComponent_vdr_action_bar_1_button_9_ng_container_2_Template", "OrderDetailComponent_vdr_action_bar_1_button_9_ng_template_3_Template", "\u0275\u0275templateRefExtractor", "orderHasSettledPayments", "cancelOnly_r9", "nextState_r11", "_r10", "$implicit", "\u0275\u0275pureFunction1", "_c0", "OrderDetailComponent_vdr_action_bar_1_ng_container_10_button_2_Template", "nextStates$", "OrderDetailComponent_vdr_action_bar_1_button_4_Template", "OrderDetailComponent_vdr_action_bar_1_button_5_Template", "OrderDetailComponent_vdr_action_bar_1_button_6_Template", "OrderDetailComponent_vdr_action_bar_1_ng_container_8_Template", "OrderDetailComponent_vdr_action_bar_1_button_9_Template", "OrderDetailComponent_vdr_action_bar_1_ng_container_10_Template", "_r1", "manuallyTransitionToState", "type", "state", "hasUnsettledModifications", "active", "nextStates", "includes", "tmp_8_0", "length", "_r13", "openStateDiagram", "_r14", "setOrderCustomer", "OrderDetailComponent_vdr_page_detail_layout_3_ng_template_8_button_0_Template", "\u0275\u0275pureFunction0", "_c1", "order_r15", "shippingAddress", "billingAddress", "$event", "_r16", "settlePayment", "transitionPaymentState", "settleRefund", "payment_r17", "OrderDetailComponent_vdr_page_detail_layout_3_vdr_card_12_vdr_order_payment_card_2_Template", "payments", "fulfillment_r19", "_r18", "transitionFulfillment", "id", "OrderDetailComponent_vdr_page_detail_layout_3_vdr_card_13_vdr_fulfillment_card_1_Template", "fulfillments", "entity_r20", "\u0275\u0275textInterpolate", "row_r21", "description", "taxRate", "taxBase", "taxTotal", "_r22", "updateCustomFields", "customFields", "detailForm", "get", "tmp_7_0", "pristine", "invalid", "OrderDetailComponent_vdr_page_detail_layout_3_ng_template_4_Template", "OrderDetailComponent_vdr_page_detail_layout_3_ng_template_8_Template", "OrderDetailComponent_vdr_page_detail_layout_3_vdr_labeled_data_10_Template", "OrderDetailComponent_vdr_page_detail_layout_3_vdr_labeled_data_11_Template", "OrderDetailComponent_vdr_page_detail_layout_3_vdr_card_12_Template", "OrderDetailComponent_vdr_page_detail_layout_3_vdr_card_13_Template", "OrderDetailComponent_vdr_page_detail_layout_3_vdr_page_entity_info_15_Template", "OrderDetailComponent_vdr_page_detail_layout_3_vdr_seller_orders_card_18_Template", "OrderDetailComponent_vdr_page_detail_layout_3_tr_39_Template", "OrderDetailComponent_vdr_page_detail_layout_3_vdr_card_40_Template", "_r12", "addNote", "updateNote", "deleteNote", "customer", "getOrderAddressLines", "entity$", "sellerOrders", "orderLineCustomFields", "taxSummary", "history$", "ORDER_DETAIL_QUERY", "gql", "ORDER_DETAIL_FRAGMENT", "SET_ORDER_CUSTOMER_MUTATION", "OrderDetailComponent", "TypedBaseDetailComponent", "constructor", "changeDetector", "dataService", "notificationService", "modalService", "orderTransitionService", "formBuilder", "getCustomFieldConfig", "FormGroup", "group", "getCustomFieldsDefaults", "fetchHistory", "Subject", "defaultStates", "ngOnInit", "init", "pipe", "take", "subscribe", "order", "router", "navigate", "relativeTo", "route", "startWith", "switchMap", "getOrderHistory", "sort", "createdAt", "SortOrder", "DESC", "mapStream", "data", "history", "items", "map", "filter", "s", "ngOnDestroy", "destroy", "fromComponent", "OrderProcessGraphDialogComponent", "closable", "locals", "activeState", "SelectCustomerDialogComponent", "canCreateNew", "includeNoteInput", "title", "result", "isExisting", "input", "mutate", "SetOrderCustomerDocument", "customerId", "orderId", "note", "EMPTY", "refetchOrder", "success", "transitionOrderToState", "__typename", "next", "error", "transitionError", "cancellable", "message", "retry", "updateOrderCustomFields", "value", "entity", "orderAddress", "Object", "values", "val", "line", "payment", "getOrder", "single$", "cancelPayment", "paymentErrorMessage", "transitionPaymentToState", "allFulfillmentLines", "fulfillment", "reduce", "all", "lines", "allItemsFulfilled", "row", "orderLineId", "sum", "quantity", "modifications", "m", "isSettled", "getOutstandingModificationAmount", "summate", "paymentIsValid", "p", "amountCovered", "refunds", "r", "refundsTotal", "amount", "totalWithTax", "priorState", "AddManualPaymentDialogComponent", "outstandingAmount", "addManualPaymentToOrder", "transactionId", "method", "metadata", "transitionToPreModifyingState", "of", "FulfillOrderDialogComponent", "size", "createFulfillment", "undefined", "mapTo", "addFulfillmentToOrder", "fulfillmentHandlerError", "JSON", "stringify", "assertNever", "transitionFulfillmentToState", "isRefundable", "cancelOrder", "refundOrder", "refund", "SettleRefundDialogComponent", "event", "isPublic", "addNoteToOrder", "entry", "EditNoteDialogComponent", "displayPrivacyControls", "noteIsPrivate", "updateOrderNote", "noteId", "isPrivate", "dialog", "body", "buttons", "label", "returnValue", "res", "deleteOrderNote", "find", "CancelOrderDialogComponent", "RefundOrderDialogComponent", "cancel", "count", "forkJoin", "results", "setFormValues", "setCustomFieldFormValues", "\u0275\u0275directiveInject", "ChangeDetectorRef", "DataService", "NotificationService", "ModalService", "OrderTransitionService", "FormBuilder", "selectors", "standalone", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "OrderDetailComponent_vdr_action_bar_1_Template", "OrderDetailComponent_vdr_page_detail_layout_3_Template", "import_shared_utils", "import_simple_deep_clone", "import_shared_utils", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "line_r1", "\u0275\u0275template", "OrderModificationSummaryComponent_vdr_labeled_data_0_div_2_Template", "\u0275\u0275property", "\u0275\u0275pipeBind2", "\u0275\u0275pureFunction1", "_c0", "ctx_r1", "modifyOrderInput", "adjustOrderLines", "length", "adjustedLines", "\u0275\u0275textInterpolate2", "item_r3", "productVariant", "name", "quantity", "OrderModificationSummaryComponent_vdr_labeled_data_1_div_2_Template", "addItems", "addedLines", "surcharge_r4", "description", "price", "orderSnapshot", "currencyCode", "OrderModificationSummaryComponent_vdr_labeled_data_2_div_2_Template", "surcharges", "\u0275\u0275pipeBind1", "updatedShippingFields_r5", "updatedBillingFields_r6", "\u0275\u0275textInterpolate", "change_r7", "OrderModificationSummaryComponent_vdr_labeled_data_5_div_2_Template", "couponCodeChanges", "change_r8", "OrderModificationSummaryComponent_ng_container_6_vdr_labeled_data_1_div_2_Template", "updatedShippingMethods_r9", "\u0275\u0275elementContainerStart", "OrderModificationSummaryComponent_ng_container_6_vdr_labeled_data_1_Template", "OrderModificationSummaryComponent", "map", "l", "line", "lines", "find", "id", "orderLineId", "delta", "sign", "Math", "abs", "filter", "notNullOrUndefined", "getModifiedFields", "formGroup", "dirty", "Object", "entries", "controls", "key", "control", "join", "getUpdatedShippingMethodLines", "updatedShippingMethods", "lineId", "shippingMethod", "previousMethod", "shippingLines", "previousName", "code", "newName", "originalCodes", "couponCodes", "newCodes", "couponCodesControl", "value", "addedCodes", "c", "includes", "removedCodes", "selectors", "inputs", "shippingAddressForm", "billingAddressForm", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "OrderModificationSummaryComponent_vdr_labeled_data_0_Template", "OrderModificationSummaryComponent_vdr_labeled_data_1_Template", "OrderModificationSummaryComponent_vdr_labeled_data_2_Template", "OrderModificationSummaryComponent_vdr_labeled_data_3_Template", "OrderModificationSummaryComponent_vdr_labeled_data_4_Template", "OrderModificationSummaryComponent_vdr_labeled_data_5_Template", "OrderModificationSummaryComponent_ng_container_6_Template", "\u0275\u0275text", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275elementStart", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "onPaymentSelected", "payment", "selected", "\u0275\u0275elementEnd", "\u0275\u0275property", "refundablePayments", "order", "\u0275\u0275twoWayListener", "_r3", "i0", "\u0275\u0275twoWayBindingSet", "refundNote", "\u0275\u0275advance", "\u0275\u0275twoWayProperty", "\u0275\u0275textInterpolate1", "\u0275\u0275template", "OrderEditsPreviewDialogComponent_ng_template_13_clr_alert_2_Template", "_r4", "cancel", "submit", "priceDifference", "refundsCoverDifference", "\u0275\u0275textInterpolate3", "\u0275\u0275pipeBind2", "currencyCode", "OrderEditResultType", "OrderEditsPreviewDialogComponent", "totalWithTax", "orderSnapshot", "amountToRefundTotal", "reduce", "total", "amountToRefundControl", "value", "ngOnInit", "modifyOrderInput", "note", "getRefundablePayments", "payments", "forEach", "rp", "addValidators", "Validators", "max", "length", "outstandingRefundAmount", "filter", "p", "id", "setValue", "Math", "min", "refundableAmount", "resolveWith", "result", "Cancel", "Payment", "Refund", "refunds", "map", "reason", "paymentId", "amount", "PriceUnchanged", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "OrderEditsPreviewDialogComponent_ng_template_0_Template", "\u0275\u0275element", "OrderEditsPreviewDialogComponent_vdr_payment_for_refund_selector_4_Template", "OrderEditsPreviewDialogComponent_vdr_form_field_12_Template", "OrderEditsPreviewDialogComponent_ng_template_13_Template", "orderLineCustomFields", "addedLines", "shippingAddressForm", "billingAddressForm", "couponCodesControl", "updatedShippingMethods", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275listener", "order_r2", "\u0275\u0275restoreView", "_r1", "ngIf", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "transitionToPriorState", "\u0275\u0275text", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "_r6", "editingShippingAddress", "\u0275\u0275property", "shippingAddressForm", "value", "availableCountries$", "addressCustomFields", "_r7", "editingBillingAddress", "billingAddressForm", "line_r8", "id", "\u0275\u0275pipeBind2", "line_r9", "createdAt", "line_r10", "updatedAt", "asset_r11", "\u0275\u0275sanitizeUrl", "\u0275\u0275template", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_45_img_1_Template", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_45_ng_template_2_Template", "\u0275\u0275templateRefExtractor", "line_r12", "featuredAsset", "imagePlaceholder_r13", "line_r14", "productVariant", "name", "line_r15", "sku", "\u0275\u0275textInterpolate", "line_r16", "unitPriceWithTax", "order_r5", "currencyCode", "unitPrice", "_r19", "line_r18", "item", "removeAddedItem", "$event", "_r17", "updateLineQuantity", "target", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_57_button_1_Template", "getInitialLineQuantity", "isAddedLine", "payments", "fulfillments", "state", "customField_r21", "orderLineCustomFieldsFormArray", "at", "index_r20", "OrderEditorComponent_vdr_page_detail_layout_3_vdr_dt2_column_58_ng_template_3_Template", "uiLanguage$", "asset_r22", "OrderEditorComponent_vdr_page_detail_layout_3_div_64_img_1_Template", "addItemSelectedVariant", "productAsset", "productVariantName", "getSelectedItemPrice", "orderLineCustomFields", "addItemCustomFieldsForm", "_r23", "addItemToOrder", "invalid", "\u0275\u0275elementContainerStart", "_r24", "shippingLine_r25", "$implicit", "setShippingMethod", "details_r26", "price", "OrderEditorComponent_vdr_page_detail_layout_3_div_71_ng_container_1_Template", "getShippingLineDetails", "OrderEditorComponent_vdr_page_detail_layout_3_div_5_Template", "\u0275\u0275twoWayListener", "_r4", "i0", "\u0275\u0275twoWayBindingSet", "note", "recalculateShipping", "previewAndModify", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_23_Template", "OrderEditorComponent_vdr_page_detail_layout_3_vdr_formatted_address_24_Template", "OrderEditorComponent_vdr_page_detail_layout_3_vdr_address_form_25_Template", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_28_Template", "OrderEditorComponent_vdr_page_detail_layout_3_vdr_formatted_address_29_Template", "OrderEditorComponent_vdr_page_detail_layout_3_vdr_address_form_30_Template", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_36_Template", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_39_Template", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_42_Template", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_45_Template", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_48_Template", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_51_Template", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_54_Template", "OrderEditorComponent_vdr_page_detail_layout_3_ng_template_57_Template", "OrderEditorComponent_vdr_page_detail_layout_3_vdr_dt2_column_58_Template", "OrderEditorComponent_vdr_page_detail_layout_3_div_64_Template", "OrderEditorComponent_vdr_page_detail_layout_3_div_65_Template", "OrderEditorComponent_vdr_page_detail_layout_3_button_68_Template", "OrderEditorComponent_vdr_page_detail_layout_3_div_71_Template", "addSurcharge", "surchargeForm", "orderSnapshot", "modifyOrderInput", "addedLines", "couponCodesControl", "updatedShippingMethods", "hasModifications", "\u0275\u0275twoWayProperty", "lines", "concat", "shippingLines", "\u0275\u0275pureFunction1", "_c0", "tmp_55_0", "get", "undefined", "pristine", "tmp_58_0", "OrderEditorComponent", "TypedBaseDetailComponent", "constructor", "dataService", "notificationService", "modalService", "orderTransitionService", "changeDetectorRef", "detailForm", "UntypedFormGroup", "FormControl", "dryRun", "orderId", "addItems", "adjustOrderLines", "surcharges", "refunds", "updateShippingAddress", "updateBillingAddress", "FormGroup", "description", "Validators", "minLength", "priceIncludesTax", "taxRate", "taxDescription", "fullName", "company", "streetLine1", "streetLine2", "city", "province", "postalCode", "countryCode", "phoneNumber", "addedVariants", "Map", "ngOnInit", "init", "getCustomFieldConfig", "route", "snapshot", "paramMap", "entity$", "pipe", "take", "subscribe", "order", "createOrderSnapshot", "couponCodes", "length", "setValue", "reset", "control", "Object", "entries", "controls", "shippingAddress", "addAddressCustomFieldsFormGroup", "billingAddress", "UntypedFormArray", "line", "formGroup", "addControl", "UntypedFormControl", "customFields", "valueChanges", "takeUntil", "destroy$", "modifyRow", "find", "l", "orderLineId", "quantity", "push", "addItemCustomFieldsFormArray", "customField", "settings", "getAvailableCountries", "mapSingle", "result", "countries", "items", "shareReplay", "getOrderHistory", "sort", "SortOrder", "DESC", "filter", "type", "eq", "HistoryEntryType", "ORDER_STATE_TRANSITION", "single$", "previousState", "history", "data", "from", "client", "uiState", "stream$", "map", "language", "ngOnDestroy", "destroy", "getSinglePriceValue", "__typename", "row", "variantInfo", "productVariantId", "getIdForAddedItem", "priceWithTax", "notNullOrUndefined", "JSON", "stringify", "transitionToPreModifyingState", "nextStates", "router", "navigate", "relativeTo", "dirty", "valid", "isLineModified", "lineId", "adjustedLine", "addedLine", "splice", "indexOf", "startsWith", "updateAddedItemQuantity", "trackByProductVariantId", "index", "isMatchingAddItemRow", "key", "set", "shippingLine", "updatedMethod", "code", "shippingMethod", "discountedPriceWithTax", "shippingLineId", "currentShippingMethod", "entity", "getDraftOrderEligibleShippingMethods", "eligibleShippingMethodsForDraftOrder", "switchMap", "methods", "fromComponent", "SelectShippingMethodDialogComponent", "locals", "eligibleShippingMethods", "currentSelectionId", "method", "markForCheck", "getSurchargePrices", "surcharge", "Math", "round", "removeSurcharge", "__spreadProps", "__spreadValues", "transformRelationCustomFieldInputs", "simpleDeepClone", "input", "options", "shippingMethodIds", "modifyOrder", "OrderEditsPreviewDialogComponent", "size", "closable", "error", "message", "of", "assertNever", "OrderEditResultType", "Cancel", "getOrder", "wetRunInput", "Refund", "nextState", "totalWithTax", "transitionToState", "mapTo", "EMPTY", "parentFormGroup", "address", "addressCustomFieldsFormGroup", "customFieldDef", "setFormValues", "languageCode", "\u0275\u0275directiveInject", "DataService", "NotificationService", "ModalService", "OrderTransitionService", "ChangeDetectorRef", "selectors", "standalone", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "OrderEditorComponent_vdr_action_bar_1_Template", "OrderEditorComponent_vdr_page_detail_layout_3_Template", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pureFunction0", "_c1", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "OrderListComponent_ng_container_4_a_1_Template", "_c0", "order_r1", "id", "\u0275\u0275pipeBind2", "order_r2", "createdAt", "order_r3", "state", "\u0275\u0275pureFunction1", "_c2", "_c3", "\u0275\u0275textInterpolate", "code", "\u0275\u0275listener", "$event", "i0", "\u0275\u0275restoreView", "_r4", "\u0275\u0275resetView", "stopPropagation", "order_r5", "customer", "OrderListComponent_ng_template_28_vdr_chip_0_Template", "OrderListComponent_ng_template_28_vdr_chip_1_Template", "OrderListComponent_ng_template_28_vdr_chip_2_Template", "order_r6", "type", "ctx_r6", "OrderType", "Regular", "Aggregate", "Seller", "order_r8", "order_r9", "totalWithTax", "currencyCode", "order_r10", "updatedAt", "order_r11", "orderPlacedAt", "getShippingNames", "order_r12", "customField_r13", "sorts", "OrderListComponent", "TypedBaseListComponent", "constructor", "serverConfigService", "channelService", "dataTableListId", "orderStates", "getOrderProcessStates", "map", "item", "name", "customFields", "getCustomFieldConfig", "filters", "createFilterCollection", "addIdFilter", "addDateFilters", "addFilter", "kind", "label", "filterField", "inputType", "options", "s", "value", "getOrderStateTranslationToken", "addCustomFieldFilters", "connectToRoute", "route", "createSortCollection", "defaultSort", "addSort", "addCustomFieldSorts", "canCreateDraftOrder", "activeChannelIsDefaultChannel", "configure", "document", "GetOrderListDocument", "getItems", "result", "orders", "setVariables", "skip", "take", "createQueryOptions", "searchTermControl", "refreshListOnChanges", "valueChanges", "find", "to", "includes", "ngOnInit", "isDefaultChannel$", "defaultChannelIsActive$", "pipe", "tap", "isDefault", "searchTerm", "filterInput", "createFilterInput", "__spreadValues", "contains", "customerLastName", "transactionId", "filter", "filterOperator", "LogicalOperator", "OR", "AND", "sort", "createSortInput", "order", "shippingLines", "length", "shippingLine", "shippingMethod", "join", "\u0275\u0275directiveInject", "ServerConfigService", "ChannelService", "selectors", "standalone", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "OrderListComponent_ng_container_4_Template", "setPageNumber", "setItemsPerPage", "setVisibleColumns", "OrderListComponent_ng_template_16_Template", "OrderListComponent_ng_template_19_Template", "OrderListComponent_ng_template_22_Template", "OrderListComponent_ng_template_25_Template", "OrderListComponent_ng_template_28_Template", "OrderListComponent_ng_template_31_Template", "OrderListComponent_ng_template_34_Template", "OrderListComponent_ng_template_37_Template", "OrderListComponent_ng_template_40_Template", "OrderListComponent_ng_template_43_Template", "OrderListComponent_vdr_dt2_custom_field_column_44_Template", "items$", "itemsPerPage$", "totalItems$", "currentPage$", "selectionManager", "get", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "ctx_r0", "refund", "transactionId", "RefundDetailComponent", "selectors", "inputs", "currencyCode", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "RefundDetailComponent_vdr_labeled_data_4_Template", "\u0275\u0275element", "\u0275\u0275pipeBind2", "total", "metadata", "GET_CUSTOMER_ADDRESSES", "gql", "ADDRESS_FRAGMENT", "GET_ORDER_STATE", "gql", "OrderGuard", "constructor", "dataService", "router", "canActivate", "route", "state", "isDraft", "url", "includes", "isModifying", "id", "paramMap", "get", "order", "createDraftOrder", "pipe", "map", "parseUrl", "query", "single$", "\u0275\u0275inject", "DataService", "Router", "factory", "\u0275fac", "providedIn", "createRoutes", "pageService", "path", "component", "PageComponent", "data", "locationId", "breadcrumb", "children", "getPageTabRoutes", "canActivate", "OrderGuard", "label", "link", "OrderModule", "hasRegisteredTabsAndBulkActions", "constructor", "pageService", "registerPageTab", "priority", "location", "tab", "route", "component", "OrderListComponent", "detailComponentWithResolver", "OrderDetailComponent", "query", "OrderDetailQueryDocument", "entityKey", "getBreadcrumbs", "entity", "type", "OrderType", "Seller", "aggregateOrder", "label", "code", "link", "id", "DraftOrderDetailComponent", "OrderEditorComponent", "\u0275\u0275inject", "PageService", "provide", "ROUTES", "useFactory", "createRoutes", "multi", "deps", "imports", "SharedModule", "RouterModule", "forChild"]
|
|
7
7
|
}
|