saleor-dashboard/src/misc.ts

562 lines
14 KiB
TypeScript
Raw Normal View History

import { FetchResult, MutationFunction, MutationResult } from "@apollo/client";
Use graphql-codegen (#1874) * Use generated hooks in apps * Remove unused files * Use proper types in apps * Use generated hooks in attributes * Use generated hooks in auth module * Use generated hooks in categories * Use generated hooks in channels * Use generated types in collections * Remove legacy types from background tasks * Use generated hooks in customers * Use generated hooks in discounts * Use generated hook in file upload * Use generated types in gift cards * Use generated types in home * Use generated hooks in navigation * Use generated hooks in orders * Use generated hooks in pages * Use generated hooks in page types * Use generated hooks in permission groups * Use generated hooks in plugins * Use generated hooks in products * Use fragment to mark product variants * Improve code a bit * Use generated hooks in page types * Use generated types in searches * Use generated hooks in shipping * Use generated hooks in site settings * Use generated hooks in staff members * Use generated hooks in taxes * Place all gql generated files in one directory * Use generated hooks in translations * Use global types from new generated module * Use generated hooks in warehouses * Use generated hooks in webhooks * Use generated fragment types * Unclutter types * Remove hoc components * Split hooks and types * Fetch introspection file * Delete obsolete schema file * Fix rebase artifacts * Fix autoreplace * Fix auth provider tests * Fix urls * Remove leftover types * Fix rebase artifacts
2022-03-09 08:56:55 +00:00
import {
AddressInput,
CountryCode,
DateRangeInput,
OrderStatus,
PaymentChargeStatusEnum,
} from "@dashboard/graphql";
import { Node, SlugNode } from "@dashboard/types";
Bump macaw to 0.3 (#1807) * Update to new design theme (#1631) * Update macaw to 0.3.0 (#1623) * Update macaw to 0.3 * Use proper pagination component * Fix type errors * Remove leftover import * Remove variant and color from confirm button * Remove alias * Update macaw * Fix button type * Random fixes (#1633) * Improve layout components * Use colored svgs * Minor fixes * Fix autocomplete loaders * Fix padding * Fix button variant * Remove codegen file * Fixes after bumping macaw to 0.3 part 2 (#1638) * Fix various visual bugs * Fix type errors * Bump macaw * Random fixes part 3 (#1647) * wip * Fix mismatched paddings * Fix actions container padding * Put story in the right directory * Fix shipping zone picker * Fix minor visual bugs * Remove unused imports * Move styles to separate file * Random fixes part 4 (#1641) * Fix various visual bugs * Fix type errors * Fix last table item padding * Add outline on hover * Fix spaces * Fix spaces * Remove dead code * Fix elevation * Remove dead code * Fix shadows * Add outline to expand button * Fix spacing * Fix spacings * Fix selectable tables hover * Use proper delete icon * Fix ConfirmButtonTransitionState imports * Update src/apps/components/CustomApps/CustomApps.tsx Co-authored-by: Wojciech Mista <wojciech.mista@saleor.io> Co-authored-by: Wojciech Mista <wojciech.mista@saleor.io> * Rework error page (#1670) * Remake error page * Fix types * Update error id styles * Fix types * Login page rework (#1703) * Rework login page * Remove outline * Fix logo and footer placement * Sort imports * Random fixes part 5 (#1669) * Fix text color in dark mode * Update password reset pages (#1714) * Update password reset pages * Update src/auth/components/ResetPasswordPage/ResetPasswordPage.tsx Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com> Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com> * Fix collection page * Update dark mode logo * Bring back "create app" button * Fix spacings * Fix selects * Fix login e2e test * Fix not found page displaying * Update selector * Add missing package * Let dropdown overflow through card * Fix scroll * Fix scroll * Fix overflow on grid element * Fix e2e tests * Fix data-test-id * Update snapshots * Update messages * Update macaw * Update snapshots * Use stable macaw version Co-authored-by: Wojciech Mista <wojciech.mista@saleor.io> Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com> * Update to new design theme (#1631) * Update macaw to 0.3.0 (#1623) * Update macaw to 0.3 * Use proper pagination component * Fix type errors * Remove leftover import * Remove variant and color from confirm button * Remove alias * Update macaw * Fix button type * Random fixes (#1633) * Improve layout components * Use colored svgs * Minor fixes * Fix autocomplete loaders * Fix padding * Fix button variant * Remove codegen file * Fixes after bumping macaw to 0.3 part 2 (#1638) * Fix various visual bugs * Fix type errors * Bump macaw * Random fixes part 3 (#1647) * wip * Fix mismatched paddings * Fix actions container padding * Put story in the right directory * Fix shipping zone picker * Fix minor visual bugs * Remove unused imports * Move styles to separate file * Random fixes part 4 (#1641) * Fix various visual bugs * Fix type errors * Fix last table item padding * Add outline on hover * Fix spaces * Fix spaces * Remove dead code * Fix elevation * Remove dead code * Fix shadows * Add outline to expand button * Fix spacing * Fix spacings * Fix selectable tables hover * Use proper delete icon * Fix ConfirmButtonTransitionState imports * Update src/apps/components/CustomApps/CustomApps.tsx Co-authored-by: Wojciech Mista <wojciech.mista@saleor.io> Co-authored-by: Wojciech Mista <wojciech.mista@saleor.io> * Rework error page (#1670) * Remake error page * Fix types * Update error id styles * Fix types * Login page rework (#1703) * Rework login page * Remove outline * Fix logo and footer placement * Sort imports * Random fixes part 5 (#1669) * Fix text color in dark mode * Update password reset pages (#1714) * Update password reset pages * Update src/auth/components/ResetPasswordPage/ResetPasswordPage.tsx Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com> Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com> * Fix collection page * Update dark mode logo * Bring back "create app" button * Fix spacings * Fix selects * Fix login e2e test * Fix not found page displaying * Update selector * Add missing package * Let dropdown overflow through card * Fix scroll * Fix scroll * Fix overflow on grid element * Fix e2e tests * Fix data-test-id * Update snapshots * Update messages * Update macaw * Update snapshots * Use stable macaw version Co-authored-by: Wojciech Mista <wojciech.mista@saleor.io> Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com> * Fix visual bugs and artifacts * Fix dropdown menus being clipped (#1762) * wip * Fix clipped select menus * Remove unused import * Fix spacing * Fix tests * Fix select content appearing under dialogs (#1777) * Fix type errors * Fix bulk delete button placement * Fix filter arrow buttons * Fix messages * Remove backling from pages list * Move status above events * Update messages and snapshots Co-authored-by: Wojciech Mista <wojciech.mista@saleor.io> Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2022-01-28 12:34:20 +00:00
import { ConfirmButtonTransitionState, ThemeType } from "@saleor/macaw-ui";
import uniqBy from "lodash/uniqBy";
2019-08-09 11:14:35 +00:00
import moment from "moment-timezone";
import { IntlShape } from "react-intl";
2019-06-19 14:40:52 +00:00
import { MultiAutocompleteChoiceType } from "./components/MultiAutocompleteSelectField";
2019-10-25 12:18:52 +00:00
import { AddressType, AddressTypeInput } from "./customers/types";
import {
commonStatusMessages,
errorMessages,
orderStatusMessages,
paymentStatusMessages,
} from "./intl";
2019-12-06 17:14:19 +00:00
import {
MutationResultAdditionalProps,
2019-12-06 17:14:19 +00:00
PartialMutationProviderOutput,
StatusType,
UserError,
2019-12-06 17:14:19 +00:00
} from "./types";
2019-06-19 14:40:52 +00:00
export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<
T,
Exclude<keyof T, Keys>
> &
{ [K in Keys]-?: Required<Pick<T, K>> }[Keys];
export type RequireOnlyOne<T, Keys extends keyof T = keyof T> = Pick<
T,
Exclude<keyof T, Keys>
> &
{
[K in Keys]-?: Required<Pick<T, K>> &
2019-08-29 10:55:56 +00:00
Partial<Record<Exclude<Keys, K>, undefined>>;
2019-06-19 14:40:52 +00:00
}[Keys];
export function renderCollection<T>(
collection: T[] | undefined,
2019-06-19 14:40:52 +00:00
renderItem: (
item: T | undefined,
index: number | undefined,
collection: T[] | undefined,
2019-06-19 14:40:52 +00:00
) => any,
renderEmpty?: (collection: T[]) => any,
2019-06-19 14:40:52 +00:00
) {
if (collection === undefined) {
return renderItem(undefined, undefined, collection);
}
if (collection.length === 0) {
return !!renderEmpty ? renderEmpty(collection) : null;
}
return collection.map(renderItem);
}
export function decimal(value: string | number) {
if (typeof value === "string") {
return value === "" ? null : value;
}
return value;
}
2020-07-13 16:51:05 +00:00
export function weight(value: string) {
return value === "" ? null : parseFloat(value);
}
2019-06-19 14:40:52 +00:00
export const removeDoubleSlashes = (url: string) =>
url.replace(/([^:]\/)\/+/g, "$1");
export const transformPaymentStatus = (
status: string,
intl: IntlShape,
): { localized: string; status: StatusType } => {
2019-06-19 14:40:52 +00:00
switch (status) {
case PaymentChargeStatusEnum.PARTIALLY_CHARGED:
2019-08-29 10:55:56 +00:00
return {
localized: intl.formatMessage(paymentStatusMessages.partiallyPaid),
status: StatusType.ERROR,
2019-08-29 10:55:56 +00:00
};
2019-06-19 14:40:52 +00:00
case PaymentChargeStatusEnum.FULLY_CHARGED:
2019-08-29 10:55:56 +00:00
return {
localized: intl.formatMessage(paymentStatusMessages.paid),
status: StatusType.SUCCESS,
2019-08-29 10:55:56 +00:00
};
2019-06-19 14:40:52 +00:00
case PaymentChargeStatusEnum.PARTIALLY_REFUNDED:
2019-08-29 10:55:56 +00:00
return {
localized: intl.formatMessage(paymentStatusMessages.partiallyRefunded),
status: StatusType.INFO,
2019-08-29 10:55:56 +00:00
};
2019-06-19 14:40:52 +00:00
case PaymentChargeStatusEnum.FULLY_REFUNDED:
2019-08-29 10:55:56 +00:00
return {
localized: intl.formatMessage(paymentStatusMessages.refunded),
status: StatusType.INFO,
};
case PaymentChargeStatusEnum.PENDING:
return {
localized: intl.formatMessage(paymentStatusMessages.pending),
status: StatusType.WARNING,
2019-08-29 10:55:56 +00:00
};
case PaymentChargeStatusEnum.REFUSED:
return {
localized: intl.formatMessage(paymentStatusMessages.refused),
status: StatusType.ERROR,
};
case PaymentChargeStatusEnum.CANCELLED:
return {
localized: intl.formatMessage(commonStatusMessages.cancelled),
status: StatusType.ERROR,
};
case PaymentChargeStatusEnum.NOT_CHARGED:
2019-08-29 10:55:56 +00:00
return {
localized: intl.formatMessage(paymentStatusMessages.unpaid),
status: StatusType.ERROR,
2019-08-29 10:55:56 +00:00
};
2019-06-19 14:40:52 +00:00
}
return {
localized: status,
status: StatusType.ERROR,
};
2019-06-19 14:40:52 +00:00
};
export const transformOrderStatus = (
status: string,
intl: IntlShape,
): { localized: string; status: StatusType } => {
2019-06-19 14:40:52 +00:00
switch (status) {
case OrderStatus.FULFILLED:
2019-08-29 10:55:56 +00:00
return {
localized: intl.formatMessage(orderStatusMessages.fulfilled),
status: StatusType.SUCCESS,
2019-08-29 10:55:56 +00:00
};
2019-06-19 14:40:52 +00:00
case OrderStatus.PARTIALLY_FULFILLED:
2019-08-29 10:55:56 +00:00
return {
localized: intl.formatMessage(orderStatusMessages.partiallyFulfilled),
status: StatusType.WARNING,
2019-08-29 10:55:56 +00:00
};
2019-06-19 14:40:52 +00:00
case OrderStatus.UNFULFILLED:
2019-08-29 10:55:56 +00:00
return {
localized: intl.formatMessage(orderStatusMessages.unfulfilled),
status: StatusType.ERROR,
2019-08-29 10:55:56 +00:00
};
2019-06-19 14:40:52 +00:00
case OrderStatus.CANCELED:
2019-08-29 10:55:56 +00:00
return {
localized: intl.formatMessage(commonStatusMessages.cancelled),
status: StatusType.ERROR,
2019-08-29 10:55:56 +00:00
};
2019-06-19 14:40:52 +00:00
case OrderStatus.DRAFT:
2019-08-29 10:55:56 +00:00
return {
localized: intl.formatMessage(orderStatusMessages.draft),
status: StatusType.INFO,
};
case OrderStatus.UNCONFIRMED:
return {
localized: intl.formatMessage(orderStatusMessages.unconfirmed),
status: StatusType.INFO,
2019-08-29 10:55:56 +00:00
};
Feature/order reissue (#910) * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Add change to changelog * Remove console.log * Update tests * Extract messages * Add utils functions for selecting only ulfulfilled order lines * Add optional value selection for line item * Update tests * Add optional rendering of unfulfilled items card and refactor a bit * Update displaying of items card title when refunded card * UUpdate utils, form data etc. not to include refunded items when calculating replaced items amount * Uppdate return items card not to display replace buttons for refunded items * Refactor and small fixes after review * Update extracted messages * Fix card title when no fullfilemtn id * wip * Initially stitch returns page. Update types, add mutation * remove unnecessary component display names * Add loading status from form submission & refactor * Add errors from response * Add errors from response and refactor * Remove comments * Add optional error adding when no data from return create request * Update messages * wip * Update snapshots * Remove unnecessary console.log * Add better typing for getParsedLineData function * Update & refactor card title to match cards both in return and order details * Add handling of new statuses to order details cards. Also refactor, and devide order fulfillment card into couple of smaller components * Update messages * Update schema to match api * Update types * Update status label component to match colors with new designs and order details cards * RUpdate and refactor order fulfillment card components to be reusable. Also add replaced status handling * Updayte card title component to handle all cases and statuses * Update oorder unfulfilled items card and order details page, reduce some of the boilerplate * Fix card title types and adjust returns card to match * Update messages * Update snapshots * RUpdate order fulfillment card with subtitles and buttons for returned status * Add onRefund to order fulfillment card * Fix typo and wrong message in card title * Add missing condition in return form submission utils to decice if to refund products * Update fulfillment subtitles row and tests * Update messages * Change naming and locations of OrderFulfillment and items card components * Update messages * U[pdate names of components again to even better ones * Update messages * changelog * Update schema and types so that order history event also includes user first and last name * Add extended timeline event and event header components. Move some of the logic to utils and add way to display links in the event header. * FFix types * Update messages * Change naming of isOfType -> isTimelineEventOfType and refactor extended timeline event messages selection to be less complicated * Add ids and update messages * Add ids and update messages some more * Update storybook decorator to work with react router context in components and tests * Refactor after review * Update messages * Add rredirecting to draft order * Add handling draft creation from replacement * Add related order to order event fragment and update lots and lots of types * Update extended timeline event to match related order type on order history event * Update fixtures * Refactor ExtendedTimelineEvent Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com> * Fix typing * Update messages * Fix missing history event for replacement draft created for replaced products * Update messages * Handle new statuses for returned and partially returned orders * Update messages * update snapshots * BBump empty line to rebuild ci * Change status to proper color * Change replaceable items in return for replace to be auto off instead of on * Add utils functions and make order details menu not show option to return items when there are returnable items in the order * Fix replace checkbox showing when previously hidden and clicked set maximal quantities * Fix return form invalid money values * Add default values to avoid returning of NaN in utils for return amount and refactor * Add ggeneral error alerts * Add eproduct error box component and style. style a lot. * Fixes * Fix lint * Add cannot refund error title + description * Extract messages * Refactor after review * Add better, nicer and fancier imports to product error cell * Use error color from palette in product error cell * Fix max refund when 0 for return * Add ddisable ability to refund products button so it's disabled when 0 products selected * Add class for order return form data parsing and add condition to not do refund when total captured on order is 0 * Update snapshots * Add condition for order lines quantity in order products table row * Fix return amount submit button * Add change to changelog Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2021-01-20 16:16:43 +00:00
case OrderStatus.PARTIALLY_RETURNED:
return {
localized: intl.formatMessage(orderStatusMessages.partiallyReturned),
status: StatusType.INFO,
Feature/order reissue (#910) * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Add change to changelog * Remove console.log * Update tests * Extract messages * Add utils functions for selecting only ulfulfilled order lines * Add optional value selection for line item * Update tests * Add optional rendering of unfulfilled items card and refactor a bit * Update displaying of items card title when refunded card * UUpdate utils, form data etc. not to include refunded items when calculating replaced items amount * Uppdate return items card not to display replace buttons for refunded items * Refactor and small fixes after review * Update extracted messages * Fix card title when no fullfilemtn id * wip * Initially stitch returns page. Update types, add mutation * remove unnecessary component display names * Add loading status from form submission & refactor * Add errors from response * Add errors from response and refactor * Remove comments * Add optional error adding when no data from return create request * Update messages * wip * Update snapshots * Remove unnecessary console.log * Add better typing for getParsedLineData function * Update & refactor card title to match cards both in return and order details * Add handling of new statuses to order details cards. Also refactor, and devide order fulfillment card into couple of smaller components * Update messages * Update schema to match api * Update types * Update status label component to match colors with new designs and order details cards * RUpdate and refactor order fulfillment card components to be reusable. Also add replaced status handling * Updayte card title component to handle all cases and statuses * Update oorder unfulfilled items card and order details page, reduce some of the boilerplate * Fix card title types and adjust returns card to match * Update messages * Update snapshots * RUpdate order fulfillment card with subtitles and buttons for returned status * Add onRefund to order fulfillment card * Fix typo and wrong message in card title * Add missing condition in return form submission utils to decice if to refund products * Update fulfillment subtitles row and tests * Update messages * Change naming and locations of OrderFulfillment and items card components * Update messages * U[pdate names of components again to even better ones * Update messages * changelog * Update schema and types so that order history event also includes user first and last name * Add extended timeline event and event header components. Move some of the logic to utils and add way to display links in the event header. * FFix types * Update messages * Change naming of isOfType -> isTimelineEventOfType and refactor extended timeline event messages selection to be less complicated * Add ids and update messages * Add ids and update messages some more * Update storybook decorator to work with react router context in components and tests * Refactor after review * Update messages * Add rredirecting to draft order * Add handling draft creation from replacement * Add related order to order event fragment and update lots and lots of types * Update extended timeline event to match related order type on order history event * Update fixtures * Refactor ExtendedTimelineEvent Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com> * Fix typing * Update messages * Fix missing history event for replacement draft created for replaced products * Update messages * Handle new statuses for returned and partially returned orders * Update messages * update snapshots * BBump empty line to rebuild ci * Change status to proper color * Change replaceable items in return for replace to be auto off instead of on * Add utils functions and make order details menu not show option to return items when there are returnable items in the order * Fix replace checkbox showing when previously hidden and clicked set maximal quantities * Fix return form invalid money values * Add default values to avoid returning of NaN in utils for return amount and refactor * Add ggeneral error alerts * Add eproduct error box component and style. style a lot. * Fixes * Fix lint * Add cannot refund error title + description * Extract messages * Refactor after review * Add better, nicer and fancier imports to product error cell * Use error color from palette in product error cell * Fix max refund when 0 for return * Add ddisable ability to refund products button so it's disabled when 0 products selected * Add class for order return form data parsing and add condition to not do refund when total captured on order is 0 * Update snapshots * Add condition for order lines quantity in order products table row * Fix return amount submit button * Add change to changelog Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2021-01-20 16:16:43 +00:00
};
case OrderStatus.RETURNED:
return {
localized: intl.formatMessage(orderStatusMessages.returned),
status: StatusType.INFO,
Feature/order reissue (#910) * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Add change to changelog * Remove console.log * Update tests * Extract messages * Add utils functions for selecting only ulfulfilled order lines * Add optional value selection for line item * Update tests * Add optional rendering of unfulfilled items card and refactor a bit * Update displaying of items card title when refunded card * UUpdate utils, form data etc. not to include refunded items when calculating replaced items amount * Uppdate return items card not to display replace buttons for refunded items * Refactor and small fixes after review * Update extracted messages * Fix card title when no fullfilemtn id * wip * Initially stitch returns page. Update types, add mutation * remove unnecessary component display names * Add loading status from form submission & refactor * Add errors from response * Add errors from response and refactor * Remove comments * Add optional error adding when no data from return create request * Update messages * wip * Update snapshots * Remove unnecessary console.log * Add better typing for getParsedLineData function * Update & refactor card title to match cards both in return and order details * Add handling of new statuses to order details cards. Also refactor, and devide order fulfillment card into couple of smaller components * Update messages * Update schema to match api * Update types * Update status label component to match colors with new designs and order details cards * RUpdate and refactor order fulfillment card components to be reusable. Also add replaced status handling * Updayte card title component to handle all cases and statuses * Update oorder unfulfilled items card and order details page, reduce some of the boilerplate * Fix card title types and adjust returns card to match * Update messages * Update snapshots * RUpdate order fulfillment card with subtitles and buttons for returned status * Add onRefund to order fulfillment card * Fix typo and wrong message in card title * Add missing condition in return form submission utils to decice if to refund products * Update fulfillment subtitles row and tests * Update messages * Change naming and locations of OrderFulfillment and items card components * Update messages * U[pdate names of components again to even better ones * Update messages * changelog * Update schema and types so that order history event also includes user first and last name * Add extended timeline event and event header components. Move some of the logic to utils and add way to display links in the event header. * FFix types * Update messages * Change naming of isOfType -> isTimelineEventOfType and refactor extended timeline event messages selection to be less complicated * Add ids and update messages * Add ids and update messages some more * Update storybook decorator to work with react router context in components and tests * Refactor after review * Update messages * Add rredirecting to draft order * Add handling draft creation from replacement * Add related order to order event fragment and update lots and lots of types * Update extended timeline event to match related order type on order history event * Update fixtures * Refactor ExtendedTimelineEvent Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com> * Fix typing * Update messages * Fix missing history event for replacement draft created for replaced products * Update messages * Handle new statuses for returned and partially returned orders * Update messages * update snapshots * BBump empty line to rebuild ci * Change status to proper color * Change replaceable items in return for replace to be auto off instead of on * Add utils functions and make order details menu not show option to return items when there are returnable items in the order * Fix replace checkbox showing when previously hidden and clicked set maximal quantities * Fix return form invalid money values * Add default values to avoid returning of NaN in utils for return amount and refactor * Add ggeneral error alerts * Add eproduct error box component and style. style a lot. * Fixes * Fix lint * Add cannot refund error title + description * Extract messages * Refactor after review * Add better, nicer and fancier imports to product error cell * Use error color from palette in product error cell * Fix max refund when 0 for return * Add ddisable ability to refund products button so it's disabled when 0 products selected * Add class for order return form data parsing and add condition to not do refund when total captured on order is 0 * Update snapshots * Add condition for order lines quantity in order products table row * Fix return amount submit button * Add change to changelog Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2021-01-20 16:16:43 +00:00
};
2019-06-19 14:40:52 +00:00
}
return {
localized: status,
status: StatusType.ERROR,
2019-06-19 14:40:52 +00:00
};
};
export const transformAddressToForm = (data?: AddressType) => ({
city: data?.city || "",
cityArea: data?.cityArea || "",
companyName: data?.companyName || "",
country: data?.country?.code || "",
countryArea: data?.countryArea || "",
firstName: data?.firstName || "",
lastName: data?.lastName || "",
phone: data?.phone || "",
postalCode: data?.postalCode || "",
streetAddress1: data?.streetAddress1 || "",
streetAddress2: data?.streetAddress2 || "",
2019-06-19 14:40:52 +00:00
});
2019-08-09 11:14:35 +00:00
export function maybe<T>(exp: () => T): T | undefined;
export function maybe<T>(exp: () => T, d: T): T;
export function maybe(exp: any, d?: any) {
2019-06-19 14:40:52 +00:00
try {
const result = exp();
return result === undefined ? d : result;
} catch {
return d;
}
}
export function only<T>(obj: T, key: keyof T): boolean {
return Object.keys(obj).every(objKey =>
objKey === key ? obj[key] !== undefined : obj[key] === undefined,
2019-06-19 14:40:52 +00:00
);
}
export function empty(obj: {}): boolean {
2019-06-19 14:40:52 +00:00
return Object.keys(obj).every(key => obj[key] === undefined);
}
export function hasErrors(errorList: UserError[] | null): boolean {
return !(
errorList === undefined ||
errorList === null ||
errorList.length === 0
);
}
export function getMutationState(
called: boolean,
loading: boolean,
2020-09-01 16:22:54 +00:00
...errorList: any[][]
2019-06-19 14:40:52 +00:00
): ConfirmButtonTransitionState {
if (loading) {
return "loading";
}
if (called) {
return errorList.map(hasErrors).reduce((acc, curr) => acc || curr, false)
? "error"
: "success";
}
return "default";
}
Exit dirty form (#1816) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Fixes after review * Add default value for useform prop opts so the app doesn't crash * Add missing category prop to getting initial data for category details form * Add exit dialog to everywhere WIP (#1600) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Add CommonUseFormResultWithHandlers type for later use and refactor handleFormSubmit util * Refactor login form not to use custom form since it doesn't need to * Add exit form dialog to order refund page * Add exit form dialog to order return page * Add exit form dialog to order order settings page * Add exit form dialog to product variant page * Add exit form dialog to product create page * Add exit form dialog to product update page * Add exit form dialog to product variant create page * Fix confirm leave prop passing in generic Form * Add util function to handle for submit to extract errors * Add confirmLeave prop to generic forms * Move handleChange for custom forms to useForm * Add exit dialog to more forms * Add extract mutation errors util function * Add extracting errors to submit functions that use metadata create handler * Fix typo * Add missing category prop to getting initial data for category details form * Fix types * wip * wip * wip * wip * Fix types & refactor * Fix types & refactor * Fix typescript * Fix unmatching tag * Fixes * Add handling of multiple forms at once to exit dirty form provider * Change all usages of ExitFormDialogContext to designated hook * wip * wip * wip * Fix types wip * Fix types * Remove console logs * Add isSubmitting prop to exit form dialog in order to avoid enabling exit dialog while submit is still in progresS * Replace handleSubmit global util with a hook to use exit form dialog props inside * Move useHandleSubmit to general hooks dir, update imports * Small fixes * Update snapshots * Fix types * Small fixes due to extensive rebase * Update package lock * Fixes after rebase * Remove exit form from customer address dialog * Fix types and update messages * Fix types * Change imports names * Refactor * Remove unnecessary console.log * Update types, snapshots. etc after rebase
2022-02-01 09:58:06 +00:00
export interface SaleorMutationResult {
errors?: any[];
}
Exit dirty form (#1816) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Fixes after review * Add default value for useform prop opts so the app doesn't crash * Add missing category prop to getting initial data for category details form * Add exit dialog to everywhere WIP (#1600) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Add CommonUseFormResultWithHandlers type for later use and refactor handleFormSubmit util * Refactor login form not to use custom form since it doesn't need to * Add exit form dialog to order refund page * Add exit form dialog to order return page * Add exit form dialog to order order settings page * Add exit form dialog to product variant page * Add exit form dialog to product create page * Add exit form dialog to product update page * Add exit form dialog to product variant create page * Fix confirm leave prop passing in generic Form * Add util function to handle for submit to extract errors * Add confirmLeave prop to generic forms * Move handleChange for custom forms to useForm * Add exit dialog to more forms * Add extract mutation errors util function * Add extracting errors to submit functions that use metadata create handler * Fix typo * Add missing category prop to getting initial data for category details form * Fix types * wip * wip * wip * wip * Fix types & refactor * Fix types & refactor * Fix typescript * Fix unmatching tag * Fixes * Add handling of multiple forms at once to exit dirty form provider * Change all usages of ExitFormDialogContext to designated hook * wip * wip * wip * Fix types wip * Fix types * Remove console logs * Add isSubmitting prop to exit form dialog in order to avoid enabling exit dialog while submit is still in progresS * Replace handleSubmit global util with a hook to use exit form dialog props inside * Move useHandleSubmit to general hooks dir, update imports * Small fixes * Update snapshots * Fix types * Small fixes due to extensive rebase * Update package lock * Fixes after rebase * Remove exit form from customer address dialog * Fix types and update messages * Fix types * Change imports names * Refactor * Remove unnecessary console.log * Update types, snapshots. etc after rebase
2022-02-01 09:58:06 +00:00
type InferPromiseResult<T> = T extends Promise<infer V> ? V : never;
export const extractMutationErrors = async <
TData extends InferPromiseResult<TPromise>,
TPromise extends Promise<FetchResult<TData>>,
TErrors extends ReturnType<typeof getMutationErrors>,
Exit dirty form (#1816) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Fixes after review * Add default value for useform prop opts so the app doesn't crash * Add missing category prop to getting initial data for category details form * Add exit dialog to everywhere WIP (#1600) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Add CommonUseFormResultWithHandlers type for later use and refactor handleFormSubmit util * Refactor login form not to use custom form since it doesn't need to * Add exit form dialog to order refund page * Add exit form dialog to order return page * Add exit form dialog to order order settings page * Add exit form dialog to product variant page * Add exit form dialog to product create page * Add exit form dialog to product update page * Add exit form dialog to product variant create page * Fix confirm leave prop passing in generic Form * Add util function to handle for submit to extract errors * Add confirmLeave prop to generic forms * Move handleChange for custom forms to useForm * Add exit dialog to more forms * Add extract mutation errors util function * Add extracting errors to submit functions that use metadata create handler * Fix typo * Add missing category prop to getting initial data for category details form * Fix types * wip * wip * wip * wip * Fix types & refactor * Fix types & refactor * Fix typescript * Fix unmatching tag * Fixes * Add handling of multiple forms at once to exit dirty form provider * Change all usages of ExitFormDialogContext to designated hook * wip * wip * wip * Fix types wip * Fix types * Remove console logs * Add isSubmitting prop to exit form dialog in order to avoid enabling exit dialog while submit is still in progresS * Replace handleSubmit global util with a hook to use exit form dialog props inside * Move useHandleSubmit to general hooks dir, update imports * Small fixes * Update snapshots * Fix types * Small fixes due to extensive rebase * Update package lock * Fixes after rebase * Remove exit form from customer address dialog * Fix types and update messages * Fix types * Change imports names * Refactor * Remove unnecessary console.log * Update types, snapshots. etc after rebase
2022-02-01 09:58:06 +00:00
>(
submitPromise: TPromise,
Exit dirty form (#1816) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Fixes after review * Add default value for useform prop opts so the app doesn't crash * Add missing category prop to getting initial data for category details form * Add exit dialog to everywhere WIP (#1600) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Add CommonUseFormResultWithHandlers type for later use and refactor handleFormSubmit util * Refactor login form not to use custom form since it doesn't need to * Add exit form dialog to order refund page * Add exit form dialog to order return page * Add exit form dialog to order order settings page * Add exit form dialog to product variant page * Add exit form dialog to product create page * Add exit form dialog to product update page * Add exit form dialog to product variant create page * Fix confirm leave prop passing in generic Form * Add util function to handle for submit to extract errors * Add confirmLeave prop to generic forms * Move handleChange for custom forms to useForm * Add exit dialog to more forms * Add extract mutation errors util function * Add extracting errors to submit functions that use metadata create handler * Fix typo * Add missing category prop to getting initial data for category details form * Fix types * wip * wip * wip * wip * Fix types & refactor * Fix types & refactor * Fix typescript * Fix unmatching tag * Fixes * Add handling of multiple forms at once to exit dirty form provider * Change all usages of ExitFormDialogContext to designated hook * wip * wip * wip * Fix types wip * Fix types * Remove console logs * Add isSubmitting prop to exit form dialog in order to avoid enabling exit dialog while submit is still in progresS * Replace handleSubmit global util with a hook to use exit form dialog props inside * Move useHandleSubmit to general hooks dir, update imports * Small fixes * Update snapshots * Fix types * Small fixes due to extensive rebase * Update package lock * Fixes after rebase * Remove exit form from customer address dialog * Fix types and update messages * Fix types * Change imports names * Refactor * Remove unnecessary console.log * Update types, snapshots. etc after rebase
2022-02-01 09:58:06 +00:00
): Promise<TErrors> => {
const result = await submitPromise;
const e = getMutationErrors(result);
return e as TErrors;
};
New datagrid view for product variant management (#2162) * New datagrid view for product variant management (#2040) * Split simple and product with variants updates * Simplify code * Change selectedVariantsIds to availableVariants selectedVariantsIds suggested that these variants *were just* selected * Add datagrid component Add datagrid component Add actions column Add column picker Add ts-ignore comment Remove unused import Fix after rebase Add story Fix column picking Fix column dragging Add column resizing Extract components to own files Apply styles from class Improve data storage Extract state to hook Expose handlers Fix styles Fix header overflow Add select all option Add cell types Fix types Add number type cell Add min to stocks Fix types Generate columns from shop data Add number type editor Fix tests Update src/components/Datagrid/Datagrid.tsx Co-authored-by: Jonatan Witoszek <jonatanwitoszek@gmail.com> Reconstruct data after column toggling Minor fixes Add missing id Remove unused import Fix container width Keep changes in state Drop onChange usage Use glide datagrid * Add column picker * Memoize callbacks * Add right toolbar * Make toolbar as prop * Clean up code * Fix styling * Lint files * Save variant data in datagrid (#2161) * Allow rows to be deleted * Add row adding * Clean up code * Improve mutations * Add stock saving * Add sku and attribute saving * Display notification after all mutations * Fix types * Save channels in datagrid (#2197) * wip * Merge simple and variantable handlers * Move channel setting to form * Link availability card to form * Extract listing management to hook * Update only touched channels * Improve channel listing managemend * Display channel data in datagrid * Save variant channels * Save changes in channel listings * Group columns * Fix types * Display touched fields * Return errors from hook * Display errors in cells * Improve naming * Improve naming * Use reliable called/loading state * Update src/components/Datagrid/cells.ts Co-authored-by: Michał Droń <dron.official@yahoo.com> * Apply fixes from review Co-authored-by: Michał Droń <dron.official@yahoo.com> * Fix type error * Trigger CI * Trigger CI * Save added and deleted variants (#2237) * Save new variants * Update channel data * Remove bulk variant delete dialog * Do not fetch products from api after save * Extract types * Reset errors after api response * Display error when creating variants * Fix variant reordering * Remove commented code * Fix imports * Edit attributes in datagrid (#2305) * Add basic dropdown cell * Fix clickaway * Add choice customization * Add callback to fetch choices * Add attriute value search * wip * Pass getSuggestions cb using props * Fix row adding * Fix choice creation * Add styles to datagrid (#2315) * Improve cell styling * Prevent navigation when scrolling horizontally * Fix text editor styles * Remove unused variable * Update whole row after editing cell * Translate column names * Improve empty message * Highlight newly created rows * Add name editing * Add disabled context menu to added rows * Add column groups * Translate column groups names * Save edited name * Fix missing column id error * Add card to datagrid * Improve shadow on scroll * Improve fonts * Fix toolbar placement * Update api type definitions * Fix copypasting from excel * Fix editor font weight * Improve dark theme * Improve cell coloring * Drop styling from story * Add docs to datagrid (#2339) * Add docs * Add summary * Datagrid fix bugs (#2341) * Pass refetch to form to avoid double calls * Add missing prop * Remove paddings (#2352) * remove paddings * remove paddings * remove paddings * remove vertical scroll * update tests * styles, currency * Fix variants tests in datagrid (#2365) * refactor variant test after adding datagrid * adding assertion to check if datagrid table is visible * adding check for datagrid * fix flaky tests in variants * fix flaky tests in variants * small changes * amedments * update styles * refactoring, handle prices * update snapshots * messages * snap * scrolling handle, css for safari * snap, random mock * update overflow * history back hook * fix cross-price changing, scroll optimization * trigger ci * channel checking when adding new variant Co-authored-by: Michał Droń <dron.official@yahoo.com> Co-authored-by: Patryk Andrzejewski <vox3r69@gmail.com> Co-authored-by: Ewa Czerniak <ewa.czerniak@saleor.io>
2022-10-18 09:10:15 +00:00
export const hasMutationErrors = (result: FetchResult): boolean => {
if (!result?.data) {
return false;
}
return Object.values(result.data).some(
({ errors }: SaleorMutationResult) => errors.length > 0,
);
};
Exit dirty form (#1816) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Fixes after review * Add default value for useform prop opts so the app doesn't crash * Add missing category prop to getting initial data for category details form * Add exit dialog to everywhere WIP (#1600) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Add CommonUseFormResultWithHandlers type for later use and refactor handleFormSubmit util * Refactor login form not to use custom form since it doesn't need to * Add exit form dialog to order refund page * Add exit form dialog to order return page * Add exit form dialog to order order settings page * Add exit form dialog to product variant page * Add exit form dialog to product create page * Add exit form dialog to product update page * Add exit form dialog to product variant create page * Fix confirm leave prop passing in generic Form * Add util function to handle for submit to extract errors * Add confirmLeave prop to generic forms * Move handleChange for custom forms to useForm * Add exit dialog to more forms * Add extract mutation errors util function * Add extracting errors to submit functions that use metadata create handler * Fix typo * Add missing category prop to getting initial data for category details form * Fix types * wip * wip * wip * wip * Fix types & refactor * Fix types & refactor * Fix typescript * Fix unmatching tag * Fixes * Add handling of multiple forms at once to exit dirty form provider * Change all usages of ExitFormDialogContext to designated hook * wip * wip * wip * Fix types wip * Fix types * Remove console logs * Add isSubmitting prop to exit form dialog in order to avoid enabling exit dialog while submit is still in progresS * Replace handleSubmit global util with a hook to use exit form dialog props inside * Move useHandleSubmit to general hooks dir, update imports * Small fixes * Update snapshots * Fix types * Small fixes due to extensive rebase * Update package lock * Fixes after rebase * Remove exit form from customer address dialog * Fix types and update messages * Fix types * Change imports names * Refactor * Remove unnecessary console.log * Update types, snapshots. etc after rebase
2022-02-01 09:58:06 +00:00
export const getMutationErrors = <
T extends FetchResult<any>,
Exit dirty form (#1816) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Fixes after review * Add default value for useform prop opts so the app doesn't crash * Add missing category prop to getting initial data for category details form * Add exit dialog to everywhere WIP (#1600) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Add CommonUseFormResultWithHandlers type for later use and refactor handleFormSubmit util * Refactor login form not to use custom form since it doesn't need to * Add exit form dialog to order refund page * Add exit form dialog to order return page * Add exit form dialog to order order settings page * Add exit form dialog to product variant page * Add exit form dialog to product create page * Add exit form dialog to product update page * Add exit form dialog to product variant create page * Fix confirm leave prop passing in generic Form * Add util function to handle for submit to extract errors * Add confirmLeave prop to generic forms * Move handleChange for custom forms to useForm * Add exit dialog to more forms * Add extract mutation errors util function * Add extracting errors to submit functions that use metadata create handler * Fix typo * Add missing category prop to getting initial data for category details form * Fix types * wip * wip * wip * wip * Fix types & refactor * Fix types & refactor * Fix typescript * Fix unmatching tag * Fixes * Add handling of multiple forms at once to exit dirty form provider * Change all usages of ExitFormDialogContext to designated hook * wip * wip * wip * Fix types wip * Fix types * Remove console logs * Add isSubmitting prop to exit form dialog in order to avoid enabling exit dialog while submit is still in progresS * Replace handleSubmit global util with a hook to use exit form dialog props inside * Move useHandleSubmit to general hooks dir, update imports * Small fixes * Update snapshots * Fix types * Small fixes due to extensive rebase * Update package lock * Fixes after rebase * Remove exit form from customer address dialog * Fix types and update messages * Fix types * Change imports names * Refactor * Remove unnecessary console.log * Update types, snapshots. etc after rebase
2022-02-01 09:58:06 +00:00
TData extends T["data"],
TErrors extends TData[keyof TData]["errors"],
Exit dirty form (#1816) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Fixes after review * Add default value for useform prop opts so the app doesn't crash * Add missing category prop to getting initial data for category details form * Add exit dialog to everywhere WIP (#1600) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Add CommonUseFormResultWithHandlers type for later use and refactor handleFormSubmit util * Refactor login form not to use custom form since it doesn't need to * Add exit form dialog to order refund page * Add exit form dialog to order return page * Add exit form dialog to order order settings page * Add exit form dialog to product variant page * Add exit form dialog to product create page * Add exit form dialog to product update page * Add exit form dialog to product variant create page * Fix confirm leave prop passing in generic Form * Add util function to handle for submit to extract errors * Add confirmLeave prop to generic forms * Move handleChange for custom forms to useForm * Add exit dialog to more forms * Add extract mutation errors util function * Add extracting errors to submit functions that use metadata create handler * Fix typo * Add missing category prop to getting initial data for category details form * Fix types * wip * wip * wip * wip * Fix types & refactor * Fix types & refactor * Fix typescript * Fix unmatching tag * Fixes * Add handling of multiple forms at once to exit dirty form provider * Change all usages of ExitFormDialogContext to designated hook * wip * wip * wip * Fix types wip * Fix types * Remove console logs * Add isSubmitting prop to exit form dialog in order to avoid enabling exit dialog while submit is still in progresS * Replace handleSubmit global util with a hook to use exit form dialog props inside * Move useHandleSubmit to general hooks dir, update imports * Small fixes * Update snapshots * Fix types * Small fixes due to extensive rebase * Update package lock * Fixes after rebase * Remove exit form from customer address dialog * Fix types and update messages * Fix types * Change imports names * Refactor * Remove unnecessary console.log * Update types, snapshots. etc after rebase
2022-02-01 09:58:06 +00:00
>(
result: T,
Exit dirty form (#1816) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Fixes after review * Add default value for useform prop opts so the app doesn't crash * Add missing category prop to getting initial data for category details form * Add exit dialog to everywhere WIP (#1600) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Add CommonUseFormResultWithHandlers type for later use and refactor handleFormSubmit util * Refactor login form not to use custom form since it doesn't need to * Add exit form dialog to order refund page * Add exit form dialog to order return page * Add exit form dialog to order order settings page * Add exit form dialog to product variant page * Add exit form dialog to product create page * Add exit form dialog to product update page * Add exit form dialog to product variant create page * Fix confirm leave prop passing in generic Form * Add util function to handle for submit to extract errors * Add confirmLeave prop to generic forms * Move handleChange for custom forms to useForm * Add exit dialog to more forms * Add extract mutation errors util function * Add extracting errors to submit functions that use metadata create handler * Fix typo * Add missing category prop to getting initial data for category details form * Fix types * wip * wip * wip * wip * Fix types & refactor * Fix types & refactor * Fix typescript * Fix unmatching tag * Fixes * Add handling of multiple forms at once to exit dirty form provider * Change all usages of ExitFormDialogContext to designated hook * wip * wip * wip * Fix types wip * Fix types * Remove console logs * Add isSubmitting prop to exit form dialog in order to avoid enabling exit dialog while submit is still in progresS * Replace handleSubmit global util with a hook to use exit form dialog props inside * Move useHandleSubmit to general hooks dir, update imports * Small fixes * Update snapshots * Fix types * Small fixes due to extensive rebase * Update package lock * Fixes after rebase * Remove exit form from customer address dialog * Fix types and update messages * Fix types * Change imports names * Refactor * Remove unnecessary console.log * Update types, snapshots. etc after rebase
2022-02-01 09:58:06 +00:00
): TErrors[] => {
if (!result?.data) {
return [] as TErrors;
}
return Object.values(result.data).reduce(
2023-02-15 13:31:45 +00:00
(acc: TErrors[], mut: TData) => [
...acc,
...(mut.errors || []),
...(mut?.results?.flatMap(res => res.errors) || []),
],
[] as TErrors[],
Exit dirty form (#1816) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Fixes after review * Add default value for useform prop opts so the app doesn't crash * Add missing category prop to getting initial data for category details form * Add exit dialog to everywhere WIP (#1600) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Add CommonUseFormResultWithHandlers type for later use and refactor handleFormSubmit util * Refactor login form not to use custom form since it doesn't need to * Add exit form dialog to order refund page * Add exit form dialog to order return page * Add exit form dialog to order order settings page * Add exit form dialog to product variant page * Add exit form dialog to product create page * Add exit form dialog to product update page * Add exit form dialog to product variant create page * Fix confirm leave prop passing in generic Form * Add util function to handle for submit to extract errors * Add confirmLeave prop to generic forms * Move handleChange for custom forms to useForm * Add exit dialog to more forms * Add extract mutation errors util function * Add extracting errors to submit functions that use metadata create handler * Fix typo * Add missing category prop to getting initial data for category details form * Fix types * wip * wip * wip * wip * Fix types & refactor * Fix types & refactor * Fix typescript * Fix unmatching tag * Fixes * Add handling of multiple forms at once to exit dirty form provider * Change all usages of ExitFormDialogContext to designated hook * wip * wip * wip * Fix types wip * Fix types * Remove console logs * Add isSubmitting prop to exit form dialog in order to avoid enabling exit dialog while submit is still in progresS * Replace handleSubmit global util with a hook to use exit form dialog props inside * Move useHandleSubmit to general hooks dir, update imports * Small fixes * Update snapshots * Fix types * Small fixes due to extensive rebase * Update package lock * Fixes after rebase * Remove exit form from customer address dialog * Fix types and update messages * Fix types * Change imports names * Refactor * Remove unnecessary console.log * Update types, snapshots. etc after rebase
2022-02-01 09:58:06 +00:00
) as TErrors;
};
2019-12-06 17:11:28 +00:00
export function getMutationStatus<
TData extends Record<string, SaleorMutationResult | any>,
2019-12-06 17:11:28 +00:00
>(opts: MutationResult<TData>): ConfirmButtonTransitionState {
Exit dirty form (#1816) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Fixes after review * Add default value for useform prop opts so the app doesn't crash * Add missing category prop to getting initial data for category details form * Add exit dialog to everywhere WIP (#1600) * Add Exit form prompt component and change some minor styles in other components to match * Add Exit form prompt provider * Adjust generic form and useform hook to allow using exit form prompt provider * Add exit form prompt provider to index * wip * Fix types * Fix styling * Fix types * Revert warehouse details refactor * Add handling of edge cases to exit prompt * Refactor, add comments, fix some types * Refactor after exit form dialog name change * fix types * Add CommonUseFormResultWithHandlers type for later use and refactor handleFormSubmit util * Refactor login form not to use custom form since it doesn't need to * Add exit form dialog to order refund page * Add exit form dialog to order return page * Add exit form dialog to order order settings page * Add exit form dialog to product variant page * Add exit form dialog to product create page * Add exit form dialog to product update page * Add exit form dialog to product variant create page * Fix confirm leave prop passing in generic Form * Add util function to handle for submit to extract errors * Add confirmLeave prop to generic forms * Move handleChange for custom forms to useForm * Add exit dialog to more forms * Add extract mutation errors util function * Add extracting errors to submit functions that use metadata create handler * Fix typo * Add missing category prop to getting initial data for category details form * Fix types * wip * wip * wip * wip * Fix types & refactor * Fix types & refactor * Fix typescript * Fix unmatching tag * Fixes * Add handling of multiple forms at once to exit dirty form provider * Change all usages of ExitFormDialogContext to designated hook * wip * wip * wip * Fix types wip * Fix types * Remove console logs * Add isSubmitting prop to exit form dialog in order to avoid enabling exit dialog while submit is still in progresS * Replace handleSubmit global util with a hook to use exit form dialog props inside * Move useHandleSubmit to general hooks dir, update imports * Small fixes * Update snapshots * Fix types * Small fixes due to extensive rebase * Update package lock * Fixes after rebase * Remove exit form from customer address dialog * Fix types and update messages * Fix types * Change imports names * Refactor * Remove unnecessary console.log * Update types, snapshots. etc after rebase
2022-02-01 09:58:06 +00:00
const errors = getMutationErrors(opts);
2019-12-06 17:11:28 +00:00
return getMutationState(opts.called, opts.loading, errors);
}
2019-06-19 14:40:52 +00:00
export function getMutationProviderData<TData, TVariables>(
2019-08-12 11:47:38 +00:00
mutateFn: MutationFunction<TData, TVariables>,
opts: MutationResult<TData> & MutationResultAdditionalProps,
2019-06-19 14:40:52 +00:00
): PartialMutationProviderOutput<TData, TVariables> {
return {
mutate: variables => mutateFn({ variables }),
opts,
2019-06-19 14:40:52 +00:00
};
}
export const parseLogMessage = ({
intl,
code,
field,
}: {
intl: IntlShape;
code: string;
field?: string;
}) =>
intl.formatMessage(errorMessages.baseCodeErrorMessage, {
errorCode: code,
fieldError:
field &&
intl.formatMessage(errorMessages.codeErrorFieldMessage, {
fieldName: field,
}),
});
2019-06-19 14:40:52 +00:00
interface User {
email: string;
firstName?: string;
lastName?: string;
}
export function getUserName(user?: User, returnEmail?: boolean) {
return user && (user.email || (user.firstName && user.lastName))
? user.firstName && user.lastName
? [user.firstName, user.lastName].join(" ")
: returnEmail
? user.email
: user.email.split("@")[0]
: undefined;
}
export function getUserInitials(user?: User) {
Support for new transactions API (#2233) * Revert "🦄 Simple taxes (#2072)" This reverts commit 5c1a62171d94d00c3b457dc321c0d14900d4188f. * Revert "Revert "🦄 Simple taxes (#2072)"" This reverts commit 3c8289cba657debc676bb6ff677d9494cb308d19. * SALEOR-7898: Split payments - transactions list #2234 commit 0742eee71765caa9c7084f6f3eb9be90808ff29c Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Sep 12 10:18:06 2022 +0200 Remove too long font size commit 2724965127b591e703acb966ecc50c018124cb3f Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 15:03:35 2022 +0200 Replace custom styles with Typography component commit b94a616953bbef878bdd5d958eb6debda53aa524 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 14:54:39 2022 +0200 Fix formatting commit 2a2a22692473290b3b566d89e85b265f7b8e0670 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 14:24:38 2022 +0200 Update messages commit bdde8a0d54429d0d2d01d619ddde8a88fd29f0e1 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 14:23:37 2022 +0200 Fix failing prettier check commit 2f98b3bccc59bdcd978cc9cee8bede76f45f47a6 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 14:07:46 2022 +0200 Remove !important from styles commit dfce53ba5add1e1a6b175caa2e1c5a03fa9dffe8 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 13:46:08 2022 +0200 Refactor PR comments commit 43781d792603c59031c75164415443f3b68f86d0 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 13:02:11 2022 +0200 Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. commit 51e89a0f46059bd6d19513abee128503f818c2f8 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 13:01:15 2022 +0200 Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> commit 9565cab4a408845de40882ee564c4c7e79a3d5d6 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 8 14:13:11 2022 +0200 Update messages commit ebf3b7a5f7a2b49d571d4cd6df2f74027e3d8304 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 8 14:11:59 2022 +0200 Update snapshots commit 854b21d7af3f14e3f7c4e53812c2d30490e0a675 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Sep 7 17:36:55 2022 +0200 Add copy icon to PspReference commit 0124657acf623870773abecdf03b9b5ae3381757 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Sep 7 15:38:45 2022 +0200 Fix order saved when copying PSP reference commit adf151fb56d06d9ee12d13bdef1b324395a86b4a Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 6 14:44:00 2022 +0200 Update snapshots, fix inline styles in PSP reference commit bfae5d9476e61e27b91ffa64e594a86b82e8f670 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 6 12:59:57 2022 +0200 Fix transactions table sizing on `md` screen sizing commit cdbb439f80534706a0a2e588f033ae94af04cb72 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 6 12:38:27 2022 +0200 Fix PSP reference sizing issues commit a2be62f8f2db11319c8843cdd4b6431d7518b389 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 6 10:06:28 2022 +0200 Add parameter to clear additional params in modals commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Sep 5 15:42:46 2022 +0200 Update prettier to latest version (TS syntax parsing issues) commit 261879696f594b1e09b4a0c112dfce801b1cf6bd Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Sep 5 15:39:08 2022 +0200 Add buttons to void or capture transactions commit ba89cca5ec3e5c61d9468f983ea7b7ab9eea8c14 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 2 14:13:13 2022 +0200 Add copy feature to psp reference pill commit 7f3ff30a2738bcfa773a5abce7e53828ce4b276e Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 2 12:35:02 2022 +0200 Update snapshots commit 4bee083c839ca5d141b8845131dba506a0745a79 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 2 12:29:38 2022 +0200 Update messages commit c86431abb6015a28b1cfeddc91cda69cc0c3e06b Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 2 12:16:37 2022 +0200 Fix transaction events list when no pspReference is provided commit a7127123556677206864aa3a9683c19645724a36 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 2 12:09:48 2022 +0200 Fix spacing between transactions commit dc224e2c7ebd2af438f2e997eb1ba3430ca5ffcc Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 2 12:06:32 2022 +0200 Highlight rows that have the same pspReference on hover commit 2e9aaed9599a5e5a0064c6140e6b6f48c0587850 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 1 17:33:06 2022 +0200 Update macaw to unreleased version commit a818c1b0ebeb4e17ea65aa6698c2c9d29be6cc2f Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 1 17:21:24 2022 +0200 Fix transactions list table layout commit 50ae82b961f653dd8b2ba9b9cc4ece5c691fe39b Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 1 16:34:52 2022 +0200 Use Intl.DateTimeFormat to format dates instead of moment.js commit c0f54100cb476637a8d0145ac00ccd5e017a9665 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Aug 31 17:21:34 2022 +0200 Add transaction events commit c34279d5c195734df604605481e3d84c5e81f764 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 26 16:53:01 2022 +0200 Fix alignment when amount is <10 commit d3362c24e8bcf0263582dbcc324c2fe403a6f72a Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 26 16:42:41 2022 +0200 Fix conditional display logic, add story for long numbers commit 73cce9edd5e25c2cca68411ccebdfd3918099ae5 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 26 16:27:18 2022 +0200 Fix IMoney to use new import commit b0cf154c94139be726451ce52b0e4421928ebf80 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 26 16:15:37 2022 +0200 Add order transactions component commit 87808f66482448d4301d13196be84cb55912d994 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 12 17:28:02 2022 +0200 Don't hide transaction balance when order is not confirmed commit 6818c88b5b26be901ec56fae3302d5ba7b5fa504 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 12 17:22:47 2022 +0200 Update lockfile commit 9046b5f56cc293516e578c527abda4a30a66b079 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 12 17:20:50 2022 +0200 Update GraphQL schema * SALEOR-7898: Split payments - transactions list #2234 commit 0742eee71765caa9c7084f6f3eb9be90808ff29c Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Sep 12 10:18:06 2022 +0200 Remove too long font size commit 2724965127b591e703acb966ecc50c018124cb3f Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 15:03:35 2022 +0200 Replace custom styles with Typography component commit b94a616953bbef878bdd5d958eb6debda53aa524 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 14:54:39 2022 +0200 Fix formatting commit 2a2a22692473290b3b566d89e85b265f7b8e0670 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 14:24:38 2022 +0200 Update messages commit bdde8a0d54429d0d2d01d619ddde8a88fd29f0e1 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 14:23:37 2022 +0200 Fix failing prettier check commit 2f98b3bccc59bdcd978cc9cee8bede76f45f47a6 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 14:07:46 2022 +0200 Remove !important from styles commit dfce53ba5add1e1a6b175caa2e1c5a03fa9dffe8 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 13:46:08 2022 +0200 Refactor PR comments commit 43781d792603c59031c75164415443f3b68f86d0 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 13:02:11 2022 +0200 Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. commit 51e89a0f46059bd6d19513abee128503f818c2f8 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 9 13:01:15 2022 +0200 Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> commit 9565cab4a408845de40882ee564c4c7e79a3d5d6 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 8 14:13:11 2022 +0200 Update messages commit ebf3b7a5f7a2b49d571d4cd6df2f74027e3d8304 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 8 14:11:59 2022 +0200 Update snapshots commit 854b21d7af3f14e3f7c4e53812c2d30490e0a675 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Sep 7 17:36:55 2022 +0200 Add copy icon to PspReference commit 0124657acf623870773abecdf03b9b5ae3381757 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Sep 7 15:38:45 2022 +0200 Fix order saved when copying PSP reference commit adf151fb56d06d9ee12d13bdef1b324395a86b4a Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 6 14:44:00 2022 +0200 Update snapshots, fix inline styles in PSP reference commit bfae5d9476e61e27b91ffa64e594a86b82e8f670 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 6 12:59:57 2022 +0200 Fix transactions table sizing on `md` screen sizing commit cdbb439f80534706a0a2e588f033ae94af04cb72 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 6 12:38:27 2022 +0200 Fix PSP reference sizing issues commit a2be62f8f2db11319c8843cdd4b6431d7518b389 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 6 10:06:28 2022 +0200 Add parameter to clear additional params in modals commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Sep 5 15:42:46 2022 +0200 Update prettier to latest version (TS syntax parsing issues) commit 261879696f594b1e09b4a0c112dfce801b1cf6bd Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Sep 5 15:39:08 2022 +0200 Add buttons to void or capture transactions commit ba89cca5ec3e5c61d9468f983ea7b7ab9eea8c14 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 2 14:13:13 2022 +0200 Add copy feature to psp reference pill commit 7f3ff30a2738bcfa773a5abce7e53828ce4b276e Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 2 12:35:02 2022 +0200 Update snapshots commit 4bee083c839ca5d141b8845131dba506a0745a79 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 2 12:29:38 2022 +0200 Update messages commit c86431abb6015a28b1cfeddc91cda69cc0c3e06b Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 2 12:16:37 2022 +0200 Fix transaction events list when no pspReference is provided commit a7127123556677206864aa3a9683c19645724a36 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 2 12:09:48 2022 +0200 Fix spacing between transactions commit dc224e2c7ebd2af438f2e997eb1ba3430ca5ffcc Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 2 12:06:32 2022 +0200 Highlight rows that have the same pspReference on hover commit 2e9aaed9599a5e5a0064c6140e6b6f48c0587850 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 1 17:33:06 2022 +0200 Update macaw to unreleased version commit a818c1b0ebeb4e17ea65aa6698c2c9d29be6cc2f Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 1 17:21:24 2022 +0200 Fix transactions list table layout commit 50ae82b961f653dd8b2ba9b9cc4ece5c691fe39b Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 1 16:34:52 2022 +0200 Use Intl.DateTimeFormat to format dates instead of moment.js commit c0f54100cb476637a8d0145ac00ccd5e017a9665 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Aug 31 17:21:34 2022 +0200 Add transaction events commit c34279d5c195734df604605481e3d84c5e81f764 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 26 16:53:01 2022 +0200 Fix alignment when amount is <10 commit d3362c24e8bcf0263582dbcc324c2fe403a6f72a Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 26 16:42:41 2022 +0200 Fix conditional display logic, add story for long numbers commit 73cce9edd5e25c2cca68411ccebdfd3918099ae5 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 26 16:27:18 2022 +0200 Fix IMoney to use new import commit b0cf154c94139be726451ce52b0e4421928ebf80 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 26 16:15:37 2022 +0200 Add order transactions component commit 87808f66482448d4301d13196be84cb55912d994 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 12 17:28:02 2022 +0200 Don't hide transaction balance when order is not confirmed commit 6818c88b5b26be901ec56fae3302d5ba7b5fa504 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 12 17:22:47 2022 +0200 Update lockfile commit 9046b5f56cc293516e578c527abda4a30a66b079 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 12 17:20:50 2022 +0200 Update GraphQL schema * SALEOR-7901: Split payments - order summary and payments balance #2310 commit 8d5be6ae4c46dffe9cca5e20cfe4b458d2cc7f2f Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Oct 5 14:17:20 2022 +0200 update snapshots commit 7b84da1566a92811e0cf3424085219221ff8876c Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Tue Oct 4 16:10:40 2022 +0200 Refactor inlined functions to separate file commit 798c8cc87fda9ac48837013336d94291b5d87fb4 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Tue Oct 4 16:08:27 2022 +0200 Refactor tax amount turnary operator expression commit 001d16d3c4010489fbf8a2872d5d80195797ef7d Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Sep 28 16:15:12 2022 +0200 Apply suggestions from code review commit 274c6f9f68630d8c91a588a77975d8d519c84e24 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Sep 28 16:07:46 2022 +0200 Apply suggestions from code review Co-authored-by: Dawid <tarasiukdawid@gmail.com> commit ab13210f62b00dc68478ee94a30d5b0d5424cc09 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Sep 28 13:21:46 2022 +0200 Hide "no payment" text when order has gift cards commit 9159cf1913cec93a7960ba8d5ad29914d11d7a63 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Sep 28 13:11:52 2022 +0200 Fix "Copied" text doesn't fit on short psp reference commit a7eea637484c010b91b265df8eba5a729bec8e6b Merge: 97f128b1f 3ac5e6304 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Mon Sep 26 16:44:52 2022 +0200 Merge branch 'feature/split-payments' into split-payments/balance commit 3ac5e6304e2d114288ae21d7def120b7cb669887 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Sep 12 10:51:05 2022 +0200 Split payments - transactions list (#2234) * Don't hide transaction balance when order is not confirmed * Add order transactions component * Fix IMoney to use new import * Fix conditional display logic, add story for long numbers * Fix alignment when amount is <10 * Add transaction events * Use Intl.DateTimeFormat to format dates instead of moment.js * Fix transactions list table layout * Update macaw to unreleased version * Highlight rows that have the same pspReference on hover * Fix spacing between transactions * Fix transaction events list when no pspReference is provided * Update messages * Update snapshots * Add copy feature to psp reference pill * Add buttons to void or capture transactions * Update prettier to latest version (TS syntax parsing issues) * Add parameter to clear additional params in modals * Fix PSP reference sizing issues * Fix transactions table sizing on `md` screen sizing * Update snapshots, fix inline styles in PSP reference * Fix order saved when copying PSP reference * Add copy icon to PspReference * Update snapshots * Update messages * Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> * Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. * Refactor PR comments * Remove !important from styles * Fix failing prettier check * Update messages * Fix formatting * Replace custom styles with Typography component * Remove too long font size Co-authored-by: Michał Droń <dron.official@yahoo.com> commit 97f128b1f7b9376708f3d98a1a5131d5c0acc2be Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Mon Sep 26 11:46:29 2022 +0200 force deploy commit b97d93d8930cb2063772bace0ad5c779852a5c5c Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 16:08:27 2022 +0200 Fix TS errors commit b679bc91b670661c205ed2bd9c5b209d777173cc Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 16:00:35 2022 +0200 Update snapshots commit a6f3d3c50a46325011bba242b431cbf3cb81ac8b Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 16:00:21 2022 +0200 Update messages commit 99ec7ca736666b669eb215e463362fd2fe27c690 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 16:00:08 2022 +0200 Fix story - gift card commit 3c254dce2386dcbe544810948a86c5cf128d4cb4 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 15:34:07 2022 +0200 Improve loading layout commit b1adf9d580d39b3301a8f56d0677a5ccf9608126 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 15:05:37 2022 +0200 Display message in payment card when there are no transactions commit e9bb8b22a95c7e2416ed5e457db7cbddc004fa3d Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 14:11:35 2022 +0200 Handle gift cards edge case: lowered total amount commit 115f56fb6f9e44f7f8bbec84d110a8e1c2af47d2 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 13:56:41 2022 +0200 Filter out payments that are inactive and don't contain any transaction commit e790aadca2a13fcccb8bb3a3c52967b90856c3e4 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Sep 22 16:57:24 2022 +0200 Remove order level actions, move buttons to payment level commit fd4a158c5aba32f4a7ed31daa54bc37274d1cdbe Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Sep 22 16:31:23 2022 +0200 Simplify OrderAddTransaction button commit 6b298357933033df42745d6db465617963b181d6 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Sep 22 16:26:40 2022 +0200 Hide grant refund and send refund when there is no payment commit b3c6532d299932bceafcbe48b06aaaf693dc21be Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Sep 22 16:14:10 2022 +0200 Add Stories for payments in order, fix edge cases for payments commit 2db8efe628df5c647d36f2b97a48a40bd7c98eaf Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Sep 22 14:46:54 2022 +0200 Add payments displayed as transactions in order details commit 3751cbf4fecf22c6624d39ca894190abb77363a6 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Sep 21 14:03:42 2022 +0200 Add gift card Storybook example, fix spacing between OrderTransaction commit 77a1647c0c7afe38298778372cace06e2dc428fb Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 20 17:00:18 2022 +0200 Remove gift card from OrderSummaryCard commit 85a4894d28d88c386a9b61fe09b517ac7ff8ad60 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 20 16:58:25 2022 +0200 Display gift cards as transactions in order details commit 1e36a176bab8c57c527f5e19ae05e46cf0cefa03 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 15 14:13:47 2022 +0200 Fix logic for displaying "Mark as paid" button commit 5aeca84a40c8d0a6df03315b56e48dcc1fc39cab Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 15 13:18:24 2022 +0200 Fix order details page when loading commit a6dc8f13ded5a4d7f5bf0b0778bb52c31b97028f Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 15 13:11:50 2022 +0200 Add "Mark as paid" / Add transaction button commit 7ad01b66dc4b639ae24bbc58a4364eee89e4cf4c Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Sep 14 16:52:38 2022 +0200 Fix logic of showing / hiding capture & authorize amounts commit b4328e4cbf09290f5d1a29ecc3ca88f33fb83142 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Sep 14 13:17:27 2022 +0200 Style payment + summary cards in order, style summary card commit e4bdd44beea265899dbc70db6470ca9307becb5b Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 13 15:25:54 2022 +0200 Add payments to order query, add more Storybook cases for orders commit 67dc47d5c19125442f1cf954b9b7d4b4e7d3eff7 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 13 10:53:26 2022 +0200 Add new OrderPayment card commit 093490a01bff3fd7aaaac270d74742a22e0b8885 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Sep 12 14:46:35 2022 +0200 Refactor OrderPayment -> OrderSummaryCard commit 7eb73e2650d9602ef635a4b6b8a4aefd4ad89730 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Sep 12 10:51:05 2022 +0200 Split payments - transactions list (#2234) * Don't hide transaction balance when order is not confirmed * Add order transactions component * Fix IMoney to use new import * Fix conditional display logic, add story for long numbers * Fix alignment when amount is <10 * Add transaction events * Use Intl.DateTimeFormat to format dates instead of moment.js * Fix transactions list table layout * Update macaw to unreleased version * Highlight rows that have the same pspReference on hover * Fix spacing between transactions * Fix transaction events list when no pspReference is provided * Update messages * Update snapshots * Add copy feature to psp reference pill * Add buttons to void or capture transactions * Update prettier to latest version (TS syntax parsing issues) * Add parameter to clear additional params in modals * Fix PSP reference sizing issues * Fix transactions table sizing on `md` screen sizing * Update snapshots, fix inline styles in PSP reference * Fix order saved when copying PSP reference * Add copy icon to PspReference * Update snapshots * Update messages * Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> * Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. * Refactor PR comments * Remove !important from styles * Fix failing prettier check * Update messages * Fix formatting * Replace custom styles with Typography component * Remove too long font size Co-authored-by: Michał Droń <dron.official@yahoo.com> commit 6818c88b5b26be901ec56fae3302d5ba7b5fa504 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 12 17:22:47 2022 +0200 Update lockfile commit 9046b5f56cc293516e578c527abda4a30a66b079 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 12 17:20:50 2022 +0200 Update GraphQL schema * SALEOR-7904: Split payments - Grant refund #2336 commit 4681481fc163683936a53fa8436a0eecad26f9c1 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Nov 2 16:49:45 2022 +0100 Update snapshots commit 0831c4f75670009bc0a17fe1e9dae94646927866 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Nov 2 15:24:43 2022 +0100 Pin macaw version commit b588948fa260509c5e13362b48f72d277897f7bb Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Oct 17 17:31:53 2022 +0200 Fix refund card not working while loading commit fccd15c73b40231423e544256541ddc4ebc4b37a Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Oct 7 15:23:39 2022 +0200 Add exhaustiveness check to switch...case statemet commit 62e6c03b02bea5c2fb785e9cccbaf024b4ffa6cb Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Oct 7 14:09:31 2022 +0200 Remove USD as default currency commit 586f91a6c87375544223dc666e1a358cbd3c814c Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Oct 7 14:08:30 2022 +0200 Refactor ProductCard event handlers into separate functions commit 8b242905c7b787102ef764adc5f574ab3e9c77de Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Oct 7 14:05:35 2022 +0200 Refactor fulfilment subtitle into helper function commit 1cdba397497e59aa89d2d4fb05816631e69f0ef6 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Oct 7 14:01:05 2022 +0200 Refactor payments summary logic commit 5ca4709d3e902186005901f1ee68c3cb2b80df64 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Oct 7 13:10:58 2022 +0200 Refactor iterator spread to Array.from for more readability commit d47098ce8cdc0c8ec6b7f49e5a7476cfebde62b7 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Oct 7 10:52:59 2022 +0200 Update snapshots, messages commit 53228797377f7dfeb830eb2e7176ea70c4dd3fec Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Oct 6 16:33:09 2022 +0200 Refactor ProductCard to use TableRowLink commit f08d2c717a04a4e45a59b0d80b95f7b949f3ebb1 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Oct 6 16:32:49 2022 +0200 Disable hover effect when TableRow is not clickable commit 0a7c75223e0a7c4cf7e01eb6e3d6644090be8b08 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Oct 6 15:52:05 2022 +0200 Refactor payments summary line into separate component commit e2bc2ec506e5045d08560c6105685665820830de Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Oct 6 15:41:49 2022 +0200 Show granted, pending and refunded amounts commit f9a47a4c7c48e479f4748d4bf8d373d2d1e6d3ea Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Oct 6 15:18:33 2022 +0200 Fix selected refund value calculated to NaN commit 43bd259208359d1c2862c5493a16758de6970430 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Oct 6 15:16:41 2022 +0200 Don't prefill refund amount, disable submit when amount is 0 commit 41d461a40b09723f880200796eab4c6a0895969f Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Oct 6 14:14:55 2022 +0200 Remove warning text in Refund Card commit 14cd616fdd8b6ae93b4563c87af33adf4b86c922 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Oct 6 14:13:54 2022 +0200 Fix spacing in the Refund Card commit 825bd16752795749fba20043772b3b862005da49 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Oct 5 17:13:55 2022 +0200 Update snapshots commit 74427bb29a44cba6cb2c9b8d8db9997cfa6dd68b Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Oct 5 16:59:06 2022 +0200 Update messages commit ddc6f8d09ecf82763c9ab3b4e9ed282863a5c970 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Oct 5 16:52:36 2022 +0200 redeploy commit ee6341347ba95e06e18760a40b1c9aa03a0794a4 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Oct 5 16:47:02 2022 +0200 Improve loading state of grant refund view, add input labels commit 186caa1d243c2c9a92b4badb99a07f8275d61000 Merge: 319f2094b d21e75ead Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Oct 5 16:17:57 2022 +0200 Merge branch 'feature/split-payments' into split-payments/grant-refund commit d21e75ead0a9222c3ab7884b73c00c652a605ea4 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Oct 5 14:35:00 2022 +0200 SALEOR-7901: Split payments - order summary and payments balance (#2310) * Update GraphQL schema * Update lockfile * Split payments - transactions list (#2234) * Don't hide transaction balance when order is not confirmed * Add order transactions component * Fix IMoney to use new import * Fix conditional display logic, add story for long numbers * Fix alignment when amount is <10 * Add transaction events * Use Intl.DateTimeFormat to format dates instead of moment.js * Fix transactions list table layout * Update macaw to unreleased version * Highlight rows that have the same pspReference on hover * Fix spacing between transactions * Fix transaction events list when no pspReference is provided * Update messages * Update snapshots * Add copy feature to psp reference pill * Add buttons to void or capture transactions * Update prettier to latest version (TS syntax parsing issues) * Add parameter to clear additional params in modals * Fix PSP reference sizing issues * Fix transactions table sizing on `md` screen sizing * Update snapshots, fix inline styles in PSP reference * Fix order saved when copying PSP reference * Add copy icon to PspReference * Update snapshots * Update messages * Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> * Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. * Refactor PR comments * Remove !important from styles * Fix failing prettier check * Update messages * Fix formatting * Replace custom styles with Typography component * Remove too long font size Co-authored-by: Michał Droń <dron.official@yahoo.com> * Refactor OrderPayment -> OrderSummaryCard * Add new OrderPayment card * Add payments to order query, add more Storybook cases for orders * Style payment + summary cards in order, style summary card * Fix logic of showing / hiding capture & authorize amounts * Add "Mark as paid" / Add transaction button * Fix order details page when loading * Fix logic for displaying "Mark as paid" button * Display gift cards as transactions in order details * Remove gift card from OrderSummaryCard * Add gift card Storybook example, fix spacing between OrderTransaction * Add payments displayed as transactions in order details * Add Stories for payments in order, fix edge cases for payments * Hide grant refund and send refund when there is no payment * Simplify OrderAddTransaction button * Remove order level actions, move buttons to payment level * Filter out payments that are inactive and don't contain any transaction * Handle gift cards edge case: lowered total amount * Display message in payment card when there are no transactions * Improve loading layout * Fix story - gift card * Update messages * Update snapshots * Fix TS errors * force deploy * Fix "Copied" text doesn't fit on short psp reference * Hide "no payment" text when order has gift cards * Apply suggestions from code review Co-authored-by: Dawid <tarasiukdawid@gmail.com> * Apply suggestions from code review * Refactor tax amount turnary operator expression * Refactor inlined functions to separate file * update snapshots Co-authored-by: Michał Droń <dron.official@yahoo.com> Co-authored-by: Dawid <tarasiukdawid@gmail.com> commit 90c55d5775e7acdbbe0dc75014effa09776bae8e Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Sep 12 10:51:05 2022 +0200 Split payments - transactions list (#2234) * Don't hide transaction balance when order is not confirmed * Add order transactions component * Fix IMoney to use new import * Fix conditional display logic, add story for long numbers * Fix alignment when amount is <10 * Add transaction events * Use Intl.DateTimeFormat to format dates instead of moment.js * Fix transactions list table layout * Update macaw to unreleased version * Highlight rows that have the same pspReference on hover * Fix spacing between transactions * Fix transaction events list when no pspReference is provided * Update messages * Update snapshots * Add copy feature to psp reference pill * Add buttons to void or capture transactions * Update prettier to latest version (TS syntax parsing issues) * Add parameter to clear additional params in modals * Fix PSP reference sizing issues * Fix transactions table sizing on `md` screen sizing * Update snapshots, fix inline styles in PSP reference * Fix order saved when copying PSP reference * Add copy icon to PspReference * Update snapshots * Update messages * Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> * Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. * Refactor PR comments * Remove !important from styles * Fix failing prettier check * Update messages * Fix formatting * Replace custom styles with Typography component * Remove too long font size Co-authored-by: Michał Droń <dron.official@yahoo.com> commit 319f2094bb5f61be7de3d1f329a04d7556aaa9c6 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Oct 5 10:47:13 2022 +0200 Add edit grant refund view commit f01a0692308030466260f54a372f57a272ff7d6a Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Tue Oct 4 12:58:44 2022 +0200 Fix form leave confirm dialog commit e3844037a67577a5b6407a65df4a20c58fca8835 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Tue Oct 4 10:40:42 2022 +0200 Handle form submission commit a7472a526fb5ba869bca03b418242cab6cc33036 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Mon Oct 3 15:57:35 2022 +0200 Write query for grant refund view, add product card commit 9942a125458f4185cce6c6338b1f28f505792c82 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Sep 30 17:01:19 2022 +0200 Calculate shipping cost, refactor refund card into component commit 351901c3072450b98bde03d45eba119336b3cb2a Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 30 15:07:42 2022 +0200 Add grant refund form and price calculation logic commit b19854d8ef77fc3449e041986008799b63c4ba21 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Sep 28 15:49:21 2022 +0200 Add grant refund create mutation commit df0ad7c78d75ea38ee6349f226c573f833c53800 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Wed Sep 28 15:49:01 2022 +0200 Add OrderGrantRefundPage commit afc496add5038224e4a971bcaadfc60a5a17bd10 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Tue Sep 27 15:58:17 2022 +0200 Add granted refunds list commit 3d78fbf28318733b71c423e0e0f359d85002bf07 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Mon Sep 26 13:37:48 2022 +0200 Add grant refund to order query commit b97d93d8930cb2063772bace0ad5c779852a5c5c Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 16:08:27 2022 +0200 Fix TS errors commit b679bc91b670661c205ed2bd9c5b209d777173cc Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 16:00:35 2022 +0200 Update snapshots commit a6f3d3c50a46325011bba242b431cbf3cb81ac8b Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 16:00:21 2022 +0200 Update messages commit 99ec7ca736666b669eb215e463362fd2fe27c690 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 16:00:08 2022 +0200 Fix story - gift card commit 3c254dce2386dcbe544810948a86c5cf128d4cb4 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 15:34:07 2022 +0200 Improve loading layout commit b1adf9d580d39b3301a8f56d0677a5ccf9608126 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 15:05:37 2022 +0200 Display message in payment card when there are no transactions commit e9bb8b22a95c7e2416ed5e457db7cbddc004fa3d Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 14:11:35 2022 +0200 Handle gift cards edge case: lowered total amount commit 115f56fb6f9e44f7f8bbec84d110a8e1c2af47d2 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Fri Sep 23 13:56:41 2022 +0200 Filter out payments that are inactive and don't contain any transaction commit e790aadca2a13fcccb8bb3a3c52967b90856c3e4 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Sep 22 16:57:24 2022 +0200 Remove order level actions, move buttons to payment level commit fd4a158c5aba32f4a7ed31daa54bc37274d1cdbe Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Sep 22 16:31:23 2022 +0200 Simplify OrderAddTransaction button commit 6b298357933033df42745d6db465617963b181d6 Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Sep 22 16:26:40 2022 +0200 Hide grant refund and send refund when there is no payment commit b3c6532d299932bceafcbe48b06aaaf693dc21be Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Sep 22 16:14:10 2022 +0200 Add Stories for payments in order, fix edge cases for payments commit 2db8efe628df5c647d36f2b97a48a40bd7c98eaf Author: Jonatan Witoszek <jonatan.witoszek@saleor.io> Date: Thu Sep 22 14:46:54 2022 +0200 Add payments displayed as transactions in order details commit 3751cbf4fecf22c6624d39ca894190abb77363a6 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Sep 21 14:03:42 2022 +0200 Add gift card Storybook example, fix spacing between OrderTransaction commit 77a1647c0c7afe38298778372cace06e2dc428fb Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 20 17:00:18 2022 +0200 Remove gift card from OrderSummaryCard commit 85a4894d28d88c386a9b61fe09b517ac7ff8ad60 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 20 16:58:25 2022 +0200 Display gift cards as transactions in order details commit 1e36a176bab8c57c527f5e19ae05e46cf0cefa03 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 15 14:13:47 2022 +0200 Fix logic for displaying "Mark as paid" button commit 5aeca84a40c8d0a6df03315b56e48dcc1fc39cab Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 15 13:18:24 2022 +0200 Fix order details page when loading commit a6dc8f13ded5a4d7f5bf0b0778bb52c31b97028f Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Thu Sep 15 13:11:50 2022 +0200 Add "Mark as paid" / Add transaction button commit 7ad01b66dc4b639ae24bbc58a4364eee89e4cf4c Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Sep 14 16:52:38 2022 +0200 Fix logic of showing / hiding capture & authorize amounts commit b4328e4cbf09290f5d1a29ecc3ca88f33fb83142 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Wed Sep 14 13:17:27 2022 +0200 Style payment + summary cards in order, style summary card commit e4bdd44beea265899dbc70db6470ca9307becb5b Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 13 15:25:54 2022 +0200 Add payments to order query, add more Storybook cases for orders commit 67dc47d5c19125442f1cf954b9b7d4b4e7d3eff7 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Tue Sep 13 10:53:26 2022 +0200 Add new OrderPayment card commit 093490a01bff3fd7aaaac270d74742a22e0b8885 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Sep 12 14:46:35 2022 +0200 Refactor OrderPayment -> OrderSummaryCard commit 7eb73e2650d9602ef635a4b6b8a4aefd4ad89730 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Mon Sep 12 10:51:05 2022 +0200 Split payments - transactions list (#2234) * Don't hide transaction balance when order is not confirmed * Add order transactions component * Fix IMoney to use new import * Fix conditional display logic, add story for long numbers * Fix alignment when amount is <10 * Add transaction events * Use Intl.DateTimeFormat to format dates instead of moment.js * Fix transactions list table layout * Update macaw to unreleased version * Highlight rows that have the same pspReference on hover * Fix spacing between transactions * Fix transaction events list when no pspReference is provided * Update messages * Update snapshots * Add copy feature to psp reference pill * Add buttons to void or capture transactions * Update prettier to latest version (TS syntax parsing issues) * Add parameter to clear additional params in modals * Fix PSP reference sizing issues * Fix transactions table sizing on `md` screen sizing * Update snapshots, fix inline styles in PSP reference * Fix order saved when copying PSP reference * Add copy icon to PspReference * Update snapshots * Update messages * Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> * Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. * Refactor PR comments * Remove !important from styles * Fix failing prettier check * Update messages * Fix formatting * Replace custom styles with Typography component * Remove too long font size Co-authored-by: Michał Droń <dron.official@yahoo.com> commit 6818c88b5b26be901ec56fae3302d5ba7b5fa504 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 12 17:22:47 2022 +0200 Update lockfile commit 9046b5f56cc293516e578c527abda4a30a66b079 Author: Jonatan Witoszek <jonatanwitoszek@gmail.com> Date: Fri Aug 12 17:20:50 2022 +0200 Update GraphQL schema * Fix TS issues * Fix EditorJS TS issues * Fix Apollo & apollo-upload-client type mismatch * SALEOR-7900 - Grant refund: Send refund view (#2359) * Update GraphQL schema * Update lockfile * Split payments - transactions list (#2234) * Don't hide transaction balance when order is not confirmed * Add order transactions component * Fix IMoney to use new import * Fix conditional display logic, add story for long numbers * Fix alignment when amount is <10 * Add transaction events * Use Intl.DateTimeFormat to format dates instead of moment.js * Fix transactions list table layout * Update macaw to unreleased version * Highlight rows that have the same pspReference on hover * Fix spacing between transactions * Fix transaction events list when no pspReference is provided * Update messages * Update snapshots * Add copy feature to psp reference pill * Add buttons to void or capture transactions * Update prettier to latest version (TS syntax parsing issues) * Add parameter to clear additional params in modals * Fix PSP reference sizing issues * Fix transactions table sizing on `md` screen sizing * Update snapshots, fix inline styles in PSP reference * Fix order saved when copying PSP reference * Add copy icon to PspReference * Update snapshots * Update messages * Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> * Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. * Refactor PR comments * Remove !important from styles * Fix failing prettier check * Update messages * Fix formatting * Replace custom styles with Typography component * Remove too long font size Co-authored-by: Michał Droń <dron.official@yahoo.com> * Refactor OrderPayment -> OrderSummaryCard * Add new OrderPayment card * Add payments to order query, add more Storybook cases for orders * Style payment + summary cards in order, style summary card * Fix logic of showing / hiding capture & authorize amounts * Add "Mark as paid" / Add transaction button * Fix order details page when loading * Fix logic for displaying "Mark as paid" button * Display gift cards as transactions in order details * Remove gift card from OrderSummaryCard * Add gift card Storybook example, fix spacing between OrderTransaction * Add payments displayed as transactions in order details * Add Stories for payments in order, fix edge cases for payments * Hide grant refund and send refund when there is no payment * Simplify OrderAddTransaction button * Remove order level actions, move buttons to payment level * Filter out payments that are inactive and don't contain any transaction * Handle gift cards edge case: lowered total amount * Display message in payment card when there are no transactions * Improve loading layout * Fix story - gift card * Update messages * Update snapshots * Fix TS errors * Add grant refund to order query * Add granted refunds list * Add OrderGrantRefundPage * Add grant refund create mutation * Add grant refund form and price calculation logic * Calculate shipping cost, refactor refund card into component * Write query for grant refund view, add product card * Handle form submission * Fix form leave confirm dialog * Add edit grant refund view * Split payments - transactions list (#2234) * Don't hide transaction balance when order is not confirmed * Add order transactions component * Fix IMoney to use new import * Fix conditional display logic, add story for long numbers * Fix alignment when amount is <10 * Add transaction events * Use Intl.DateTimeFormat to format dates instead of moment.js * Fix transactions list table layout * Update macaw to unreleased version * Highlight rows that have the same pspReference on hover * Fix spacing between transactions * Fix transaction events list when no pspReference is provided * Update messages * Update snapshots * Add copy feature to psp reference pill * Add buttons to void or capture transactions * Update prettier to latest version (TS syntax parsing issues) * Add parameter to clear additional params in modals * Fix PSP reference sizing issues * Fix transactions table sizing on `md` screen sizing * Update snapshots, fix inline styles in PSP reference * Fix order saved when copying PSP reference * Add copy icon to PspReference * Update snapshots * Update messages * Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> * Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. * Refactor PR comments * Remove !important from styles * Fix failing prettier check * Update messages * Fix formatting * Replace custom styles with Typography component * Remove too long font size Co-authored-by: Michał Droń <dron.official@yahoo.com> * SALEOR-7901: Split payments - order summary and payments balance (#2310) * Update GraphQL schema * Update lockfile * Split payments - transactions list (#2234) * Don't hide transaction balance when order is not confirmed * Add order transactions component * Fix IMoney to use new import * Fix conditional display logic, add story for long numbers * Fix alignment when amount is <10 * Add transaction events * Use Intl.DateTimeFormat to format dates instead of moment.js * Fix transactions list table layout * Update macaw to unreleased version * Highlight rows that have the same pspReference on hover * Fix spacing between transactions * Fix transaction events list when no pspReference is provided * Update messages * Update snapshots * Add copy feature to psp reference pill * Add buttons to void or capture transactions * Update prettier to latest version (TS syntax parsing issues) * Add parameter to clear additional params in modals * Fix PSP reference sizing issues * Fix transactions table sizing on `md` screen sizing * Update snapshots, fix inline styles in PSP reference * Fix order saved when copying PSP reference * Add copy icon to PspReference * Update snapshots * Update messages * Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> * Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. * Refactor PR comments * Remove !important from styles * Fix failing prettier check * Update messages * Fix formatting * Replace custom styles with Typography component * Remove too long font size Co-authored-by: Michał Droń <dron.official@yahoo.com> * Refactor OrderPayment -> OrderSummaryCard * Add new OrderPayment card * Add payments to order query, add more Storybook cases for orders * Style payment + summary cards in order, style summary card * Fix logic of showing / hiding capture & authorize amounts * Add "Mark as paid" / Add transaction button * Fix order details page when loading * Fix logic for displaying "Mark as paid" button * Display gift cards as transactions in order details * Remove gift card from OrderSummaryCard * Add gift card Storybook example, fix spacing between OrderTransaction * Add payments displayed as transactions in order details * Add Stories for payments in order, fix edge cases for payments * Hide grant refund and send refund when there is no payment * Simplify OrderAddTransaction button * Remove order level actions, move buttons to payment level * Filter out payments that are inactive and don't contain any transaction * Handle gift cards edge case: lowered total amount * Display message in payment card when there are no transactions * Improve loading layout * Fix story - gift card * Update messages * Update snapshots * Fix TS errors * force deploy * Fix "Copied" text doesn't fit on short psp reference * Hide "no payment" text when order has gift cards * Apply suggestions from code review Co-authored-by: Dawid <tarasiukdawid@gmail.com> * Apply suggestions from code review * Refactor tax amount turnary operator expression * Refactor inlined functions to separate file * update snapshots Co-authored-by: Michał Droń <dron.official@yahoo.com> Co-authored-by: Dawid <tarasiukdawid@gmail.com> * Improve loading state of grant refund view, add input labels * redeploy * Update messages * Update snapshots * Fix spacing in the Refund Card * Remove warning text in Refund Card * Don't prefill refund amount, disable submit when amount is 0 * Fix selected refund value calculated to NaN * Show granted, pending and refunded amounts * Refactor payments summary line into separate component * Disable hover effect when TableRow is not clickable * Refactor ProductCard to use TableRowLink * Update snapshots, messages * Refactor iterator spread to Array.from for more readability * Refactor payments summary logic * Refactor fulfilment subtitle into helper function * Refactor ProductCard event handlers into separate functions * Remove USD as default currency * Add exhaustiveness check to switch...case statemet * Update snapshots, messages * Add new page [wip] * Fix refund card not working while loading * Add new page [wip] * Refactor order transaction component structure * [WIP] Send refund page * Add button to set max amount of refund * Update GraphQL schema * Update components after changing GraphQL schema * Add manual refunds * Disable refunds when transaction doesn't have appropriate actions * Update macaw * Update messages * Update snapshots * SALEOR-7904: Split payments - Grant refund (#2336) * Update GraphQL schema * Update lockfile * Split payments - transactions list (#2234) * Don't hide transaction balance when order is not confirmed * Add order transactions component * Fix IMoney to use new import * Fix conditional display logic, add story for long numbers * Fix alignment when amount is <10 * Add transaction events * Use Intl.DateTimeFormat to format dates instead of moment.js * Fix transactions list table layout * Update macaw to unreleased version * Highlight rows that have the same pspReference on hover * Fix spacing between transactions * Fix transaction events list when no pspReference is provided * Update messages * Update snapshots * Add copy feature to psp reference pill * Add buttons to void or capture transactions * Update prettier to latest version (TS syntax parsing issues) * Add parameter to clear additional params in modals * Fix PSP reference sizing issues * Fix transactions table sizing on `md` screen sizing * Update snapshots, fix inline styles in PSP reference * Fix order saved when copying PSP reference * Add copy icon to PspReference * Update snapshots * Update messages * Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> * Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. * Refactor PR comments * Remove !important from styles * Fix failing prettier check * Update messages * Fix formatting * Replace custom styles with Typography component * Remove too long font size Co-authored-by: Michał Droń <dron.official@yahoo.com> * Refactor OrderPayment -> OrderSummaryCard * Add new OrderPayment card * Add payments to order query, add more Storybook cases for orders * Style payment + summary cards in order, style summary card * Fix logic of showing / hiding capture & authorize amounts * Add "Mark as paid" / Add transaction button * Fix order details page when loading * Fix logic for displaying "Mark as paid" button * Display gift cards as transactions in order details * Remove gift card from OrderSummaryCard * Add gift card Storybook example, fix spacing between OrderTransaction * Add payments displayed as transactions in order details * Add Stories for payments in order, fix edge cases for payments * Hide grant refund and send refund when there is no payment * Simplify OrderAddTransaction button * Remove order level actions, move buttons to payment level * Filter out payments that are inactive and don't contain any transaction * Handle gift cards edge case: lowered total amount * Display message in payment card when there are no transactions * Improve loading layout * Fix story - gift card * Update messages * Update snapshots * Fix TS errors * Add grant refund to order query * Add granted refunds list * Add OrderGrantRefundPage * Add grant refund create mutation * Add grant refund form and price calculation logic * Calculate shipping cost, refactor refund card into component * Write query for grant refund view, add product card * Handle form submission * Fix form leave confirm dialog * Add edit grant refund view * Improve loading state of grant refund view, add input labels * redeploy * Update messages * Update snapshots * Fix spacing in the Refund Card * Remove warning text in Refund Card * Don't prefill refund amount, disable submit when amount is 0 * Fix selected refund value calculated to NaN * Show granted, pending and refunded amounts * Refactor payments summary line into separate component * Disable hover effect when TableRow is not clickable * Refactor ProductCard to use TableRowLink * Update snapshots, messages * Refactor iterator spread to Array.from for more readability * Refactor payments summary logic * Refactor fulfilment subtitle into helper function * Refactor ProductCard event handlers into separate functions * Remove USD as default currency * Add exhaustiveness check to switch...case statemet * Fix refund card not working while loading * Pin macaw version * Update snapshots Co-authored-by: Michał Droń <dron.official@yahoo.com> * Remove OrderRefund view * Update messages * Split payments - transactions list (#2234) * Don't hide transaction balance when order is not confirmed * Add order transactions component * Fix IMoney to use new import * Fix conditional display logic, add story for long numbers * Fix alignment when amount is <10 * Add transaction events * Use Intl.DateTimeFormat to format dates instead of moment.js * Fix transactions list table layout * Update macaw to unreleased version * Highlight rows that have the same pspReference on hover * Fix spacing between transactions * Fix transaction events list when no pspReference is provided * Update messages * Update snapshots * Add copy feature to psp reference pill * Add buttons to void or capture transactions * Update prettier to latest version (TS syntax parsing issues) * Add parameter to clear additional params in modals * Fix PSP reference sizing issues * Fix transactions table sizing on `md` screen sizing * Update snapshots, fix inline styles in PSP reference * Fix order saved when copying PSP reference * Add copy icon to PspReference * Update snapshots * Update messages * Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> * Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. * Refactor PR comments * Remove !important from styles * Fix failing prettier check * Update messages * Fix formatting * Replace custom styles with Typography component * Remove too long font size Co-authored-by: Michał Droń <dron.official@yahoo.com> * SALEOR-7901: Split payments - order summary and payments balance (#2310) * Update GraphQL schema * Update lockfile * Split payments - transactions list (#2234) * Don't hide transaction balance when order is not confirmed * Add order transactions component * Fix IMoney to use new import * Fix conditional display logic, add story for long numbers * Fix alignment when amount is <10 * Add transaction events * Use Intl.DateTimeFormat to format dates instead of moment.js * Fix transactions list table layout * Update macaw to unreleased version * Highlight rows that have the same pspReference on hover * Fix spacing between transactions * Fix transaction events list when no pspReference is provided * Update messages * Update snapshots * Add copy feature to psp reference pill * Add buttons to void or capture transactions * Update prettier to latest version (TS syntax parsing issues) * Add parameter to clear additional params in modals * Fix PSP reference sizing issues * Fix transactions table sizing on `md` screen sizing * Update snapshots, fix inline styles in PSP reference * Fix order saved when copying PSP reference * Add copy icon to PspReference * Update snapshots * Update messages * Fix typo Co-authored-by: Michał Droń <dron.official@yahoo.com> * Revert "Update prettier to latest version (TS syntax parsing issues)" This reverts commit 5784b47ee20e8d77d8ebf63557769fa27b9a2562. * Refactor PR comments * Remove !important from styles * Fix failing prettier check * Update messages * Fix formatting * Replace custom styles with Typography component * Remove too long font size Co-authored-by: Michał Droń <dron.official@yahoo.com> * Refactor OrderPayment -> OrderSummaryCard * Add new OrderPayment card * Add payments to order query, add more Storybook cases for orders * Style payment + summary cards in order, style summary card * Fix logic of showing / hiding capture & authorize amounts * Add "Mark as paid" / Add transaction button * Fix order details page when loading * Fix logic for displaying "Mark as paid" button * Display gift cards as transactions in order details * Remove gift card from OrderSummaryCard * Add gift card Storybook example, fix spacing between OrderTransaction * Add payments displayed as transactions in order details * Add Stories for payments in order, fix edge cases for payments * Hide grant refund and send refund when there is no payment * Simplify OrderAddTransaction button * Remove order level actions, move buttons to payment level * Filter out payments that are inactive and don't contain any transaction * Handle gift cards edge case: lowered total amount * Display message in payment card when there are no transactions * Improve loading layout * Fix story - gift card * Update messages * Update snapshots * Fix TS errors * force deploy * Fix "Copied" text doesn't fit on short psp reference * Hide "no payment" text when order has gift cards * Apply suggestions from code review Co-authored-by: Dawid <tarasiukdawid@gmail.com> * Apply suggestions from code review * Refactor tax amount turnary operator expression * Refactor inlined functions to separate file * update snapshots Co-authored-by: Michał Droń <dron.official@yahoo.com> Co-authored-by: Dawid <tarasiukdawid@gmail.com> * Fix types after merge * Remove comment * Refactor common messages * Refactor inline formatted message * Resolve CR * Update src/utils/errors/transaction.ts Co-authored-by: Michał Droń <dron.official@yahoo.com> * Refactor money format function * Fix EditorJS TS issues * Fix Apollo & apollo-upload-client type mismatch * Add loading state to OrderSendRefund * Fix messages * Fix storybook not building * Fix stories, update snapshots, fix currency formatting Co-authored-by: Michał Droń <dron.official@yahoo.com> Co-authored-by: Dawid <tarasiukdawid@gmail.com> * Fix grant refund page not loading * Replace classnames with clsx * Add missing fields to transactions list, new psp reference design (#2769) * Add modal to create manual capture transactions in OrderDetails (#2880) * Add manual capture transaction mutation * Add manual transaction capture modal * Refactor common elements of manual transaction into shared component * Rewrite OrderManualTransactionForm to export form components separately * Add tests for OrderManualTransactionForm hook * Add tests to OrderManualTransactionForm Form component * Fix polly recording ids, read replay / record config from env vars * Add missing messages * Remove refund functionality in Return & Replace (#2876) * Refactor messages * Remove old compoennts related to return + refund functionality * Refactor return & replace internal components structure * Add new submit card to OrderReturn * Replace onRefundPayment with href * add missing test * Update messages * Fix TS errors after merge * Update imports @saleor -> @dashboard * Update dashboard OrderDetails after changes in core (#2933) * Fix TS errors after merge * Update transaction events to use new `type` field * Remove unused styles * Fix table row hover effect * Update messages * Add "createdBy" to order transaction fixtures * Add "createdBy" to TransactionEvent list * Fix crash when transaction event has invalid data * Add styles for PspReference link * Update messages * Add no events message to transaction events list * Add PSP Reference field to manual transactions, update mutations * Remove hiding from add manual transaction button * Fix styling of ManualRefundCard * Fix TS error * Rename OrderPayment -> OrderPaymentSummaryCard * Add pending amounts to OrderPaymentSummaryCard * Refactor PaymentsSummary * Add tests for OrderAddTransaction * Extract messages * Add tests for PaymentSummary calculation * Add tests to EventCreatedBy * Add tests to EventItem * Add tests for transaction event status mapping * Fix TS error * Update schema * Add missing fields to TransactionItem fragment * Add missing fields to OrderTransaction * fixup! Update schema * Fix CR comments * Update imports @saleor -> @dashboard, fix types * Fix CR comments * Fix Jest wrong timezone when run locally * Fix EventItem test using invalid date * Add feature flags to split payments PR (#3044) * Remove transactions related changes from GraphQL files * Fix issues with build-types, when feature flags are used * Generate transactions only GraphQL files * Update GraphQL imports * Fix issue with dependencies * Restore deleted views * Add feature flags to OrderReturn * Add feature flags to OrderSendRefund * Add feature flag to OrderDetailsPage * Add feature flag check in new order routes * Update messages * Fix TS error * Add tests for OrderPaymentOrTransaction * Update schema * Use different query for order when FF is enabled * Fix failing CI * Fix CR * fixup! Merge branch 'feature/split-payments' into split-payments/feature-flag * Regenerate types after merge * Transactions small fixes (#3110) * Fix transaction action modal not closing on scucess * Fix layout shift on OrderSendRefund * Update schema behind feature flag * Update types * Add missing props * Fix order event types * Update OrderDetails to fix spacing in new macaw redesign * Update GrantRefund page with new pages layout * Update SendRefundPage with new page layout * Update transactions feature flag schema * Rollback fetch-schema to default values * Add opacity to transactions that cannot be refunded * Fix return & replace button message * Add missing messages * Add tooltip with event message * Add missing status: info for transaction events * Add markAsPaidStrategy configuration to ChannelDetails (#3239) * Fix fulfilment titles, use the same text from OrderDetails * Add back old payments UI (#3238) * Remove Refund button from fulfilments in order with transactions * Show old payments UI if order has payments * Respect channel's markAsPaidStrategy when displaying new UI * Rename onPaymentPaid to onMarkAsPaid prop * Update messages * CR * Update snapshotsUpdate snapshotsUpdate snapshotsUpdate snapshotsUpdate snapshotsUpdate snapshotsUpdate snapshotsUpdate snapshotsUpdate snapshots * Resolve TS errors * Fetch transaction ids in old order query to fix detection * run e2e * fix test should be able to update shipping zone. TC: SALEOR_0808 * CR: Remove funny comment --------- Co-authored-by: Michał Droń <dron.official@yahoo.com> Co-authored-by: Dawid <tarasiukdawid@gmail.com> Co-authored-by: Anna Szczech <anna.m.szczech@gmail.com>
2023-03-09 15:51:19 +00:00
const hasName = user?.firstName && user?.lastName;
const hasEmail = !!user?.email;
if (hasName) {
return `${user.firstName[0] + user.lastName[0]}`.toUpperCase();
}
if (hasEmail) {
return user.email.slice(0, 2).toUpperCase();
}
return undefined;
2019-06-19 14:40:52 +00:00
}
interface AnyEventWithPropagation {
2019-06-19 14:40:52 +00:00
stopPropagation: () => void;
}
export function stopPropagation<T extends AnyEventWithPropagation>(
cb: (event?: T) => void,
) {
return (event: T) => {
2019-06-19 14:40:52 +00:00
event.stopPropagation();
2020-08-17 14:44:40 +00:00
cb(event);
2019-06-19 14:40:52 +00:00
};
}
2019-08-09 11:14:35 +00:00
interface AnyEventWithPreventDefault {
preventDefault: () => void;
}
export function preventDefault<T extends AnyEventWithPreventDefault>(
cb: (event?: T) => void,
) {
return (event: T) => {
event.preventDefault();
cb(event);
};
}
export interface DateTime {
date: string;
time: string;
}
2019-08-09 11:14:35 +00:00
export function joinDateTime(date: string, time?: string) {
if (!date) {
return null;
}
const setTime = time || "00:00";
const dateTime = moment(date + " " + setTime).format();
return dateTime;
}
export function splitDateTime(dateTime: string) {
if (!dateTime) {
return {
date: "",
time: "",
2019-08-09 11:14:35 +00:00
};
}
// Default html input format YYYY-MM-DD HH:mm
const splitDateTime = moment(dateTime).format("YYYY-MM-DD HH:mm").split(" ");
2019-08-09 11:14:35 +00:00
return {
date: splitDateTime[0],
time: splitDateTime[1],
2019-08-09 11:14:35 +00:00
};
}
export function generateCode(charNum: number) {
let result = "";
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for (let i = 0; i < charNum; i++) {
result += characters.charAt(Math.floor(Math.random() * characters.length));
}
return result;
}
2019-09-05 13:05:12 +00:00
Gift cards post mvp (#1632) * Add gift bulk create (#1490) * Add gift card bulk create dialog WIP * Update schema, add gift card bulk create mutation and types * Add gift card bulk create modal and mutation * Fix types and update messages * Refactor gift card bulk create * Add closing gift card bulk create dialog after success * Change gift card list closeDialog prop name to onClose * Review fixes * Review fixes * Add error message to invalid expiryDate (#1518) * Add error message to invalid expiryDate * Add default messages * Replace filter with some * Add gift card export (#1499) * wip * Add exporting gift cards * Update messages * Fix types * Review fixes * Review fixes * Refactor passing messages to export settings component * Refactor * Update messages * Gift card customer page (#1520) * Add gift cards card to customer page (#1456) * WIP * WIP * Extract activate/deactivate logic to a hook * add optional side action * Add query for customer's gift cards * Add component for giftcard status chip * Graphql run types * Add gift card card to customer page * Fix status chip header * Revert style change * Unify status chip logic * Fix naming scheme * Add currentOpts to act/deactivate gift cards hook * Add queries to refetch prop * Simplify gift card list component * Fix order status chip * Extract messages to separate file * Remove unused lines of code * Tests and messages * Fix card list rendering * Type fix * Code review fixes * Review changes * Scripts * Change variable name * Fix formatted message * Check if giftcards exist before rendering collection * Add loading button to CardMenu component (#1476) * WIP * WIP * Add gift card card to customer page * Fix status chip header * Fix naming scheme * Add currentOpts to act/deactivate gift cards hook * Remove unused lines of code * Revert style change * Tests and messages * Fix card list rendering * Type fix * Code review fixes * Review changes * Scripts * Add loading animation to card menu buttons * Added default messages * Change conditional prop checking to filtering * Issue gift card in customer page (#1468) * WIP * WIP * Replace typed query with make query * Add customer details context to customer page * Add context to customer gift cards * Disable customer select when initial customer is present * Pass initial customer to create gift card form * Fixes after cherry-pick * Code cleanup * Remove getInitialData function * Remove unused package * Remove new line * Post-rebase fixes * Code cleanup & extract messages * Remove unused code * Create customer details hook * Minor fixes * Update default messages * Update gift card types * Type fixes * Change directory of useCustomerDetails hook * CR Fixes * Update tests * Make PageTitleWithStatusChip use ExtendedPageHeader * Update tests * Update hook name * Post-rebase fixes * Eslint fix * Fix scrollbar appearing in menu issue (#1539) * Change displayCode to last4CodeChars (#1573) * Add filtered redirect to gift card page from customer details (#1556) * Limit number of channel list items (#1607) * Add max height to single select field menu items container * Add storybook case * Update stories tests * Fix gift card product changing to preorder on save issue (#1583) * Variant preorder fix * Global threshold input should be optional * update snapshot * Add displaying logic gift cards list toolbar (#1617) * add displaying logic for gift card toolbar * Logic fix * Handle bulk export after creation (#1544) * Add gift bulk create (#1490) * Add gift card bulk create dialog WIP * Update schema, add gift card bulk create mutation and types * Add gift card bulk create modal and mutation * Fix types and update messages * Refactor gift card bulk create * Add closing gift card bulk create dialog after success * Change gift card list closeDialog prop name to onClose * Review fixes * Review fixes * Add gift card export (#1499) * wip * Add exporting gift cards * Update messages * Fix types * Review fixes * Review fixes * Refactor passing messages to export settings component * Refactor * Update messages * Handle export after bulk gift card creation * Add default messages * Create an util function to get correct input for export * Update component's name * Change modal's title * Update messages Co-authored-by: Magdalena Markusik <magdalena@markusik.com> * Gift Card List item number change doesn't refetch fix (#1643) * Fix number of rows change not refetching list * Add pagination reset * Update descriptions for gift card messages to be more descriptive (#1648) * Gift card history timeline (#1597) * Update queries and mutations * Allow title to be a react node * Show user name if it exists in data object * Update types * Refresh queries on note add * Add gift card history * type fix * Update messages * Fix timeline note * Add event fragment to form update result * Update types * Fix typo * Update messages * Disable input if gift card is expired * Remove unused imports * CR Fixes * Change messages location * Change message to include user in order * Allow adding notes to expired gift cards * Fix disabled input showing dropdown issue (#1636) * On click is disabled when component is disabled * update tests * Order filtering for gift cards in Order List View (#1628) * Add gift card order filter * Add gift card filter card in orders view * Bump macaw version * Update messages * Update tests * Code review changes * update messages * Change info card message to use only one message * Fix order gift card filter * Gift card filter in product list view (#1621) * Add GiftCard or Normal filter in Product List View * Fix tests * Fix type check * Don't filter if query param is not in enum * Update messages * Update tests * Code cleanup * Add default messages * Pass intl rather than initialise it in util * Post-rebase fixes * Change product type details messages (#1642) * Update product type gift card options messages * update tests * Add sorting to gift card list (#1569) * Update queries and types for sorting * Add optional handleError method to makeQuery * Add sorting to gift card list * Sorting hook uses useGiftCardList hook * Convert to boolean * Add default sorting field * format fix * Add expiry error handling for issuing gift cards (#1634) * Add expiry error handling for issuing gift cards * Add expiry error message to gift card bulk issue * Update Gift Card tag queries to utilise multiple tags (#1685) * Change displayCode to last4CodeChars (#1573) * Update types * WIP * Update gift card forms to utilise multiple tags * Code cleanup * Update gift card event types * Fixes * Change column with no click handler behaviour * Remove an ability to sort by tags * Remove unused code * Update tests * Update timeline events * Update messages * change array reduce to join * Add Y scroll to dialog content * Bulk create Y scroll fix * Endless loading fix (#1732) * Order filtering for gift cards in Order List View (#1628) * Add gift card order filter * Add gift card filter card in orders view * Bump macaw version * Update messages * Update tests * Code review changes * update messages * Change info card message to use only one message * Fix order gift card filter * Wip * Extract dialog component outside of gift card create * Update component's name * Extract dialog component outside of export component to provider * Update tests * Various gift card bugs fixes (#1749) * Change currency to options field * Fix hover and font size * Fix gift card list width * Fix bulk delete dialog * Allow balance to be sorted only when currency is filtered * Sorting by balance after removing currency filter defualts to usedBy * Fix trash icon * Add filter dependency * Fix single deletion with bulk * Update tests * Refactor Links used in Gift Cards * Fix export dialog (#1791) Co-authored-by: Magdalena Markusik <magdalena@markusik.com>
2022-01-25 12:44:19 +00:00
export function isInEnum<TEnum extends {}>(needle: string, haystack: TEnum) {
return Object.keys(haystack).includes(needle);
}
export function findInEnum<TEnum extends {}>(needle: string, haystack: TEnum) {
2019-09-05 13:05:12 +00:00
const match = Object.keys(haystack).find(key => key === needle);
if (!!match) {
return haystack[needle as keyof TEnum];
}
throw new Error(`Key ${needle} not found in enum`);
}
2019-09-13 11:33:42 +00:00
export function findValueInEnum<TEnum extends {}>(
2019-12-17 17:13:56 +00:00
needle: string,
haystack: TEnum,
2019-12-20 15:53:03 +00:00
): TEnum[keyof TEnum] {
2019-12-17 17:13:56 +00:00
const match = Object.entries(haystack).find(([_, value]) => value === needle);
2019-12-20 15:53:03 +00:00
if (!match) {
throw new Error(`Value ${needle} not found in enum`);
2019-12-17 17:13:56 +00:00
}
return needle as unknown as TEnum[keyof TEnum];
2019-12-17 17:13:56 +00:00
}
export function parseBoolean(
a: string | undefined,
defaultValue: boolean,
): boolean {
2019-09-26 10:14:07 +00:00
if (a === undefined) {
2019-12-17 17:13:56 +00:00
return defaultValue;
2019-09-26 10:14:07 +00:00
}
2019-09-13 11:33:42 +00:00
return a === "true";
}
2019-10-18 12:29:01 +00:00
export function capitalize(s: string) {
return s.charAt(0).toLocaleUpperCase() + s.slice(1);
}
2019-10-25 12:18:52 +00:00
export function transformFormToAddressInput<T>(
address: T & AddressTypeInput,
2019-11-13 13:50:38 +00:00
): T & AddressInput {
2019-10-25 12:18:52 +00:00
return {
...address,
country: findInEnum(address.country, CountryCode),
2019-10-25 12:18:52 +00:00
};
}
2020-02-20 14:18:22 +00:00
Add Gift Cards #1 (#1291) * Add gift cards section to menu and add empty list component * Update messages * Change styling of app wide page header to match design * Add gift cards list table wip * Update prop name for status chip component to make it more consistent with other components * Replace old trash icon with new one * Add Size type based on action dialog sizes to be used app wide * Add delete icon button * Add new sizes option to status chip component * Add / update gift cards list components * Add bulk actions type * Work on gift cards list WIP * Small refactor * Fix styling of gift cards table * Remove temp files * Remove unnecessary type * Add gift cards section to menu and add empty list component * Update schema and types * Add link to gift card update page to gift cards list and add route to gift cards index * Extract order page title with status chip into a separate generic component and use it in order page title * wip * Update money component * Add gift card details card balance section * Refactor gift card details * Add vertical spacer component * Update schema and types * Add gift card tag input component along with necessary queries * Add gift card tag input to gift card update page * Add gift card update details card expiry section WIP * Add time period select field WIP * Post rebase refactor * Add time period select field to gift card update view * Fixes after review * Update schema, types and gift cards query * Add getFullName util function and replace existing manual usages * Add text with select field component * Add gift card update info card and refactor * Fix import * Add displaying order link in gift card update * Refactor * Connect gift card list to api * refactor * Add gift card create dialog * Fix gift card list styles, change location for gift card list query, minor refactor * Fix menu structure data for gift cards * Add channel currencies type to shop * Refactor text with select field * Add gift card expiry select component * Add gift card error type and fragment * Update global types * Add default prop to getFormErrors function * Move gift card details provider to providers dir * Update global utils with mapSingleValueNodeToChoice function * Update gift card tag input * Move and refactor time period field * Update schema * move format money function to other money ulities * Update gift card urls * Add content or skeleton component * Add gift card create util for extracting expiry settings input data * Remove content or skeleton component and move displaying logic to existing skeleton * Move displaying logic of gift card create dialog to list * Refactor * Add hooks for gift card bulk actions and gift card list to be used instead of context directly * Fix types for text with select field + add parsing for number typed field * Add initial currency to gift card create form * Fix gift card create dialog closing animation * Add gift card update info card * Refactor gift card update details card * Add gift card balance dialog * Move gift card update form providers to providers dir * Connect gift card update page to api, add necessary contexts etc. * Refactor * Refactor * Add hooks to use instead of gift card contexts directly * Fix types * Fix text field target name missing in passed event in text with select field * Add minimal value option to text with select field, add to gift card inputs * Fix gift card update balance dialog not changing hasChanged prop after submit * Refactor * Fix update balance dialog crashing the app when enetered wrong amount * Fix gift card list table header styles * Add enable / disable section to gift card update * Refactor * Refactor * Refactor * Add metadata to gift card update * Update messages ids * Refactor * Refactor * Refactor * Refactor * Update types after rebase * Fix types * Fixes after qa * Fix tests
2021-08-16 13:44:00 +00:00
export function getStringOrPlaceholder(
s: string | undefined,
placeholder?: string,
Add Gift Cards #1 (#1291) * Add gift cards section to menu and add empty list component * Update messages * Change styling of app wide page header to match design * Add gift cards list table wip * Update prop name for status chip component to make it more consistent with other components * Replace old trash icon with new one * Add Size type based on action dialog sizes to be used app wide * Add delete icon button * Add new sizes option to status chip component * Add / update gift cards list components * Add bulk actions type * Work on gift cards list WIP * Small refactor * Fix styling of gift cards table * Remove temp files * Remove unnecessary type * Add gift cards section to menu and add empty list component * Update schema and types * Add link to gift card update page to gift cards list and add route to gift cards index * Extract order page title with status chip into a separate generic component and use it in order page title * wip * Update money component * Add gift card details card balance section * Refactor gift card details * Add vertical spacer component * Update schema and types * Add gift card tag input component along with necessary queries * Add gift card tag input to gift card update page * Add gift card update details card expiry section WIP * Add time period select field WIP * Post rebase refactor * Add time period select field to gift card update view * Fixes after review * Update schema, types and gift cards query * Add getFullName util function and replace existing manual usages * Add text with select field component * Add gift card update info card and refactor * Fix import * Add displaying order link in gift card update * Refactor * Connect gift card list to api * refactor * Add gift card create dialog * Fix gift card list styles, change location for gift card list query, minor refactor * Fix menu structure data for gift cards * Add channel currencies type to shop * Refactor text with select field * Add gift card expiry select component * Add gift card error type and fragment * Update global types * Add default prop to getFormErrors function * Move gift card details provider to providers dir * Update global utils with mapSingleValueNodeToChoice function * Update gift card tag input * Move and refactor time period field * Update schema * move format money function to other money ulities * Update gift card urls * Add content or skeleton component * Add gift card create util for extracting expiry settings input data * Remove content or skeleton component and move displaying logic to existing skeleton * Move displaying logic of gift card create dialog to list * Refactor * Add hooks for gift card bulk actions and gift card list to be used instead of context directly * Fix types for text with select field + add parsing for number typed field * Add initial currency to gift card create form * Fix gift card create dialog closing animation * Add gift card update info card * Refactor gift card update details card * Add gift card balance dialog * Move gift card update form providers to providers dir * Connect gift card update page to api, add necessary contexts etc. * Refactor * Refactor * Add hooks to use instead of gift card contexts directly * Fix types * Fix text field target name missing in passed event in text with select field * Add minimal value option to text with select field, add to gift card inputs * Fix gift card update balance dialog not changing hasChanged prop after submit * Refactor * Fix update balance dialog crashing the app when enetered wrong amount * Fix gift card list table header styles * Add enable / disable section to gift card update * Refactor * Refactor * Refactor * Add metadata to gift card update * Update messages ids * Refactor * Refactor * Refactor * Refactor * Update types after rebase * Fix types * Fixes after qa * Fix tests
2021-08-16 13:44:00 +00:00
): string {
return s || placeholder || "...";
2020-02-20 14:18:22 +00:00
}
export const getDatePeriod = (days: number): DateRangeInput => {
if (days < 1) {
return {};
}
const end = moment().startOf("day");
const start = end.subtract(days - 1);
const format = "YYYY-MM-DD";
return {
gte: start.format(format),
lte: end.format(format),
};
};
Add Gift Cards #1 (#1291) * Add gift cards section to menu and add empty list component * Update messages * Change styling of app wide page header to match design * Add gift cards list table wip * Update prop name for status chip component to make it more consistent with other components * Replace old trash icon with new one * Add Size type based on action dialog sizes to be used app wide * Add delete icon button * Add new sizes option to status chip component * Add / update gift cards list components * Add bulk actions type * Work on gift cards list WIP * Small refactor * Fix styling of gift cards table * Remove temp files * Remove unnecessary type * Add gift cards section to menu and add empty list component * Update schema and types * Add link to gift card update page to gift cards list and add route to gift cards index * Extract order page title with status chip into a separate generic component and use it in order page title * wip * Update money component * Add gift card details card balance section * Refactor gift card details * Add vertical spacer component * Update schema and types * Add gift card tag input component along with necessary queries * Add gift card tag input to gift card update page * Add gift card update details card expiry section WIP * Add time period select field WIP * Post rebase refactor * Add time period select field to gift card update view * Fixes after review * Update schema, types and gift cards query * Add getFullName util function and replace existing manual usages * Add text with select field component * Add gift card update info card and refactor * Fix import * Add displaying order link in gift card update * Refactor * Connect gift card list to api * refactor * Add gift card create dialog * Fix gift card list styles, change location for gift card list query, minor refactor * Fix menu structure data for gift cards * Add channel currencies type to shop * Refactor text with select field * Add gift card expiry select component * Add gift card error type and fragment * Update global types * Add default prop to getFormErrors function * Move gift card details provider to providers dir * Update global utils with mapSingleValueNodeToChoice function * Update gift card tag input * Move and refactor time period field * Update schema * move format money function to other money ulities * Update gift card urls * Add content or skeleton component * Add gift card create util for extracting expiry settings input data * Remove content or skeleton component and move displaying logic to existing skeleton * Move displaying logic of gift card create dialog to list * Refactor * Add hooks for gift card bulk actions and gift card list to be used instead of context directly * Fix types for text with select field + add parsing for number typed field * Add initial currency to gift card create form * Fix gift card create dialog closing animation * Add gift card update info card * Refactor gift card update details card * Add gift card balance dialog * Move gift card update form providers to providers dir * Connect gift card update page to api, add necessary contexts etc. * Refactor * Refactor * Add hooks to use instead of gift card contexts directly * Fix types * Fix text field target name missing in passed event in text with select field * Add minimal value option to text with select field, add to gift card inputs * Fix gift card update balance dialog not changing hasChanged prop after submit * Refactor * Fix update balance dialog crashing the app when enetered wrong amount * Fix gift card list table header styles * Add enable / disable section to gift card update * Refactor * Refactor * Refactor * Add metadata to gift card update * Update messages ids * Refactor * Refactor * Refactor * Refactor * Update types after rebase * Fix types * Fixes after qa * Fix tests
2021-08-16 13:44:00 +00:00
export const isDarkTheme = (themeType: ThemeType) => themeType === "dark";
export const transformAddressToAddressInput = (data?: AddressType) => ({
city: data?.city || "",
cityArea: data?.cityArea || "",
companyName: data?.companyName || "",
country: findInEnum(data?.country?.code || "", CountryCode),
countryArea: data?.countryArea || "",
firstName: data?.firstName || "",
lastName: data?.lastName || "",
phone: data?.phone || "",
postalCode: data?.postalCode || "",
streetAddress1: data?.streetAddress1 || "",
streetAddress2: data?.streetAddress2 || "",
});
Add Gift Cards #1 (#1291) * Add gift cards section to menu and add empty list component * Update messages * Change styling of app wide page header to match design * Add gift cards list table wip * Update prop name for status chip component to make it more consistent with other components * Replace old trash icon with new one * Add Size type based on action dialog sizes to be used app wide * Add delete icon button * Add new sizes option to status chip component * Add / update gift cards list components * Add bulk actions type * Work on gift cards list WIP * Small refactor * Fix styling of gift cards table * Remove temp files * Remove unnecessary type * Add gift cards section to menu and add empty list component * Update schema and types * Add link to gift card update page to gift cards list and add route to gift cards index * Extract order page title with status chip into a separate generic component and use it in order page title * wip * Update money component * Add gift card details card balance section * Refactor gift card details * Add vertical spacer component * Update schema and types * Add gift card tag input component along with necessary queries * Add gift card tag input to gift card update page * Add gift card update details card expiry section WIP * Add time period select field WIP * Post rebase refactor * Add time period select field to gift card update view * Fixes after review * Update schema, types and gift cards query * Add getFullName util function and replace existing manual usages * Add text with select field component * Add gift card update info card and refactor * Fix import * Add displaying order link in gift card update * Refactor * Connect gift card list to api * refactor * Add gift card create dialog * Fix gift card list styles, change location for gift card list query, minor refactor * Fix menu structure data for gift cards * Add channel currencies type to shop * Refactor text with select field * Add gift card expiry select component * Add gift card error type and fragment * Update global types * Add default prop to getFormErrors function * Move gift card details provider to providers dir * Update global utils with mapSingleValueNodeToChoice function * Update gift card tag input * Move and refactor time period field * Update schema * move format money function to other money ulities * Update gift card urls * Add content or skeleton component * Add gift card create util for extracting expiry settings input data * Remove content or skeleton component and move displaying logic to existing skeleton * Move displaying logic of gift card create dialog to list * Refactor * Add hooks for gift card bulk actions and gift card list to be used instead of context directly * Fix types for text with select field + add parsing for number typed field * Add initial currency to gift card create form * Fix gift card create dialog closing animation * Add gift card update info card * Refactor gift card update details card * Add gift card balance dialog * Move gift card update form providers to providers dir * Connect gift card update page to api, add necessary contexts etc. * Refactor * Refactor * Add hooks to use instead of gift card contexts directly * Fix types * Fix text field target name missing in passed event in text with select field * Add minimal value option to text with select field, add to gift card inputs * Fix gift card update balance dialog not changing hasChanged prop after submit * Refactor * Fix update balance dialog crashing the app when enetered wrong amount * Fix gift card list table header styles * Add enable / disable section to gift card update * Refactor * Refactor * Refactor * Add metadata to gift card update * Update messages ids * Refactor * Refactor * Refactor * Refactor * Update types after rebase * Fix types * Fixes after qa * Fix tests
2021-08-16 13:44:00 +00:00
export function getFullName<T extends { firstName: string; lastName: string }>(
data: T,
Add Gift Cards #1 (#1291) * Add gift cards section to menu and add empty list component * Update messages * Change styling of app wide page header to match design * Add gift cards list table wip * Update prop name for status chip component to make it more consistent with other components * Replace old trash icon with new one * Add Size type based on action dialog sizes to be used app wide * Add delete icon button * Add new sizes option to status chip component * Add / update gift cards list components * Add bulk actions type * Work on gift cards list WIP * Small refactor * Fix styling of gift cards table * Remove temp files * Remove unnecessary type * Add gift cards section to menu and add empty list component * Update schema and types * Add link to gift card update page to gift cards list and add route to gift cards index * Extract order page title with status chip into a separate generic component and use it in order page title * wip * Update money component * Add gift card details card balance section * Refactor gift card details * Add vertical spacer component * Update schema and types * Add gift card tag input component along with necessary queries * Add gift card tag input to gift card update page * Add gift card update details card expiry section WIP * Add time period select field WIP * Post rebase refactor * Add time period select field to gift card update view * Fixes after review * Update schema, types and gift cards query * Add getFullName util function and replace existing manual usages * Add text with select field component * Add gift card update info card and refactor * Fix import * Add displaying order link in gift card update * Refactor * Connect gift card list to api * refactor * Add gift card create dialog * Fix gift card list styles, change location for gift card list query, minor refactor * Fix menu structure data for gift cards * Add channel currencies type to shop * Refactor text with select field * Add gift card expiry select component * Add gift card error type and fragment * Update global types * Add default prop to getFormErrors function * Move gift card details provider to providers dir * Update global utils with mapSingleValueNodeToChoice function * Update gift card tag input * Move and refactor time period field * Update schema * move format money function to other money ulities * Update gift card urls * Add content or skeleton component * Add gift card create util for extracting expiry settings input data * Remove content or skeleton component and move displaying logic to existing skeleton * Move displaying logic of gift card create dialog to list * Refactor * Add hooks for gift card bulk actions and gift card list to be used instead of context directly * Fix types for text with select field + add parsing for number typed field * Add initial currency to gift card create form * Fix gift card create dialog closing animation * Add gift card update info card * Refactor gift card update details card * Add gift card balance dialog * Move gift card update form providers to providers dir * Connect gift card update page to api, add necessary contexts etc. * Refactor * Refactor * Add hooks to use instead of gift card contexts directly * Fix types * Fix text field target name missing in passed event in text with select field * Add minimal value option to text with select field, add to gift card inputs * Fix gift card update balance dialog not changing hasChanged prop after submit * Refactor * Fix update balance dialog crashing the app when enetered wrong amount * Fix gift card list table header styles * Add enable / disable section to gift card update * Refactor * Refactor * Refactor * Add metadata to gift card update * Update messages ids * Refactor * Refactor * Refactor * Refactor * Update types after rebase * Fix types * Fixes after qa * Fix tests
2021-08-16 13:44:00 +00:00
) {
if (!data || !data.firstName || !data.lastName) {
return "";
}
return `${data.firstName} ${data.lastName}`;
}
export const flatten = (obj: unknown) => {
// Be cautious that repeated keys are overwritten
const result = {};
Object.keys(obj).forEach(key => {
if (typeof obj[key] === "object" && obj[key] !== null) {
Object.assign(result, flatten(obj[key]));
} else {
result[key] = obj[key];
}
});
return result;
};
export function PromiseQueue() {
let queue = Promise.resolve();
function add<T>(operation: (value: T | void) => PromiseLike<T>) {
return new Promise((resolve, reject) => {
queue = queue.then(operation).then(resolve).catch(reject);
});
}
return { queue, add };
}
export const combinedMultiAutocompleteChoices = (
selected: MultiAutocompleteChoiceType[],
choices: MultiAutocompleteChoiceType[],
) => uniqBy([...selected, ...choices], "value");
Fulfillment creation refactor (#1896) * Create change warehouse dialog (#1850) * Add allocations & variant stocks to order details query * Add asc sorting to warehouse search query * Add OrderChangeWarehouseDialog component * Add key to warehouse list in dialog * Update snapshots * Remove debug directive * Remove IDs from messages * Fix typo in method name & extract messages * Add quantity to allocations in order details query * Add types to functions * Move functions to local utils file * Add utility type WithOptional * Fix warehouse types * Change multiple items unavailable message name * Fix fetching onScroll * Fix types in utils * Add backdrop click support * Add id to stocks and allocations * Change unavailableLines from .map to .filter Co-authored-by: Wojciech Mista <wojciech.mista@hotmail.com> * Fix linter issue Co-authored-by: Wojciech Mista <wojciech.mista@hotmail.com> * Refactor order cards headers (#1875) * Add keys to TableLines * Bump macaw * Move & rename CardTitle used in Cards with order lines * Improve OrderCardTitle typography * Replace StatusLabels with CircleIndicators * Fix card title divs placement * Add warehouse selection button to OrderUnfulfilledCard * Fix fulfill button placement * Update snapshots * Make warehouse in order details view optional so that it works with uncofirmed orders * Fix undefined lines in warehouse dialog * Fix spacing in warehouse change button * Fix macaw dependency * Bump macaw-ui * Extract messages * Implement default warehouse selection logic * Move CircleIndicator render condition to wrapper * Fix failing reduce on orders with no lines * Improve warehousesAvailable early return * Drop counter in favor of filter().length * Fix tests post-rebase * Refactor fulfillment details page (#1915) * Add shipment information card * Refactor multiple warehouse fulfilling to one warehouse * Fix fulfill button navigation * Remove redundant code from OrderFulfill view * Fix OrderFulfill story * Move styling to seperate file & remove unused classes * Replace colQuantityTotal class with colStock * Add warehouse label under page header * Fix preorder cases * Change default values to maximum * Simplify logic * Add badge for preorder & deleted variant cases * Remove unused data * Add yellow outline for exceeding stock * Fix failing tests * Extract messages * Fix tests post-rebase * Add support for tracking number * Block fulfilling no items * Fix deleted variant order details bug * Fix preorder & deleted variant cases * Update snapshots * Remove redundant import * Fix linter issue * Extract fulfillment lines as separate component * Fix types * Export styles & messages to seperate files * Simplify formset changes * Fix warning input styling * Fix shouldEnableSave for overfulfillment cases * Simplify preorder rendering * Move empty line rendering * Change Warehouse prop to just id of it * Add endAdornment for deleted variant cases * Update snapshots * Fix linter issue * Extract messages * Fix incorrect operator precedence resulting in NaN values * Extract fulfillment lines to fragment * Replace nested types with fragment type * Match fragment names * Update snapshots * Create exceeding stock confirmation dialog (#1970) * Cherry-pick OrderFulfillStockExceededDialog * Fix types to graphql-codegen * Unify names in OrderFulfillStockExceededDialogLines * Fix types in OrderFulfillStockExceededDialogLines * Fix types in util * Change utils for usage with single warehouse context * Refactor OrderFulfillStockExceededDialogLine for usage with single warehouse context * Fix deleted variant cases in OrderFulfillStockExceededDialogLine * Include only exceeded lines * Display stock exceeded dialog on error * Add confirm button state * Change fixed height in OrderFulfillStockExceededDialog to responsive * Extract messages * Move initial form data after interfaces * Change nested type to fragment * Reuse logic * Remove unused import * Remove redundant isStockError * Remove unused imports * Fix minor bugs in fulfillment creation refactor (#1972) * Fix unfulfilled card header quantity calculation * Fix formset default value for deleted variants * Update snapshots * Fix default warehouse selection in order draft (#1971) * Fix default warehouse selection * Replace Skeleton with circular progress * Reuse logic * Reuse logic * Apply CR fixes * Remove unused imports * Fix canceled order header status * Update snapshots * Revert CircularProgress & change to Skeleton * Change complex types to fragments * Extract default warehouse logic to hook * Fix linter issue * Remove type assertion from OrderFulfillPage story * Handle exceeding stock fulfillment approvals (#1988) * wip Add OrderFulfillStockExceeded modal for fulfillment approvals * wip Fix types & imports * wip Fix union typing in stock exceeded dialog for both views * Add allowStockToBeExceeded flag on submit * Fix lines keys in FulfilledCard * Remove redundant import * Extract attributes caption function * Use getById util * Fix deleted warehouse cases in approvals * Fix typo * Fix styling for long warehouse names (#2019) * Fix styling in change warehouse dialog * Fix styling in warehouse selection button * Add extra margin in button * Update snapshots Co-authored-by: Wojciech Mista <wojciech.mista@hotmail.com>
2022-04-29 09:16:58 +00:00
export type WithOptional<T, K extends keyof T> = Omit<T, K> &
Partial<Pick<T, K>>;
export const getBySlug = (slugToCompare: string) => (obj: SlugNode) =>
obj.slug === slugToCompare;
export const getById = (idToCompare: string) => (obj: Node) =>
obj.id === idToCompare;
export const getByUnmatchingId =
(idToCompare: string) => (obj: { id: string }) =>
obj.id !== idToCompare;
export const findById = <T extends Node>(id: string, list?: T[]) =>
list?.find(getById(id));