{heading}
diff --git a/airbyte-webapp/src/components/connectorBuilder/Builder/PaginationSection.tsx b/airbyte-webapp/src/components/connectorBuilder/Builder/PaginationSection.tsx
index 062fbb1f80e8e..0a42c59f1dac6 100644
--- a/airbyte-webapp/src/components/connectorBuilder/Builder/PaginationSection.tsx
+++ b/airbyte-webapp/src/components/connectorBuilder/Builder/PaginationSection.tsx
@@ -1,5 +1,6 @@
import { useField } from "formik";
import capitalize from "lodash/capitalize";
+import { useIntl } from "react-intl";
import GroupControls from "components/GroupControls";
import { ControlLabels } from "components/LabeledControl";
@@ -15,9 +16,11 @@ import { ToggleGroupField } from "./ToggleGroupField";
interface PaginationSectionProps {
streamFieldPath: (fieldPath: string) => string;
+ currentStreamIndex: number;
}
-export const PaginationSection: React.FC
= ({ streamFieldPath }) => {
+export const PaginationSection: React.FC = ({ streamFieldPath, currentStreamIndex }) => {
+ const { formatMessage } = useIntl();
const [field, , helpers] = useField(streamFieldPath("paginator"));
const [pageSizeField] = useField(streamFieldPath("paginator.strategy.page_size"));
const [, , pageSizeOptionHelpers] = useField(streamFieldPath("paginator.pageSizeOption"));
@@ -52,6 +55,12 @@ export const PaginationSection: React.FC = ({ streamFiel
toggledOn,
onToggle: handleToggle,
}}
+ copyConfig={{
+ path: "paginator",
+ currentStreamIndex,
+ copyFromLabel: formatMessage({ id: "connectorBuilder.copyFromPaginationTitle" }),
+ copyToLabel: formatMessage({ id: "connectorBuilder.copyToPaginationTitle" }),
+ }}
>
= ({ streamNum }) => {
+export const StreamConfigView: React.FC = ({ streamNum, hasMultipleStreams }) => {
const { formatMessage } = useIntl();
const [field, , helpers] = useField("streams");
const { openConfirmationModal, closeConfirmationModal } = useConfirmationModalService();
@@ -49,7 +50,10 @@ export const StreamConfigView: React.FC = ({ streamNum })
};
return (
-
+
{/* Not using intl for the labels and tooltips in this component in order to keep maintainence simple */}
@@ -97,8 +101,8 @@ export const StreamConfigView: React.FC
= ({ streamNum })
optional
/>
-
-
+
+
string;
+ currentStreamIndex: number;
}
-export const StreamSlicerSection: React.FC = ({ streamFieldPath }) => {
+export const StreamSlicerSection: React.FC = ({ streamFieldPath, currentStreamIndex }) => {
+ const { formatMessage } = useIntl();
const [field, , helpers] = useField(streamFieldPath("streamSlicer"));
const handleToggle = (newToggleValue: boolean) => {
@@ -44,6 +47,12 @@ export const StreamSlicerSection: React.FC = ({ stream
toggledOn,
onToggle: handleToggle,
}}
+ copyConfig={{
+ path: "streamSlicer",
+ currentStreamIndex,
+ copyFromLabel: formatMessage({ id: "connectorBuilder.copyFromSlicerTitle" }),
+ copyToLabel: formatMessage({ id: "connectorBuilder.copyToSlicerTitle" }),
+ }}
>