@redneckz/wildless-cms-uni-blocks 0.14.965 → 0.14.966
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +23 -5
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +3 -0
- package/bundle/components/ApplicationForm/handlers.d.ts +2 -1
- package/dist/components/ApplicationForm/ApplicationForm.js +2 -1
- package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +3 -0
- package/dist/components/ApplicationForm/handlers.d.ts +2 -1
- package/dist/components/ApplicationForm/handlers.js +20 -3
- package/dist/components/ApplicationForm/handlers.js.map +1 -1
- package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +1 -0
- package/lib/components/ApplicationForm/ApplicationForm.js +2 -1
- package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +3 -0
- package/lib/components/ApplicationForm/handlers.d.ts +2 -1
- package/lib/components/ApplicationForm/handlers.js +20 -3
- package/lib/components/ApplicationForm/handlers.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +23 -5
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +3 -0
- package/mobile/bundle/components/ApplicationForm/handlers.d.ts +2 -1
- package/mobile/dist/components/ApplicationForm/ApplicationForm.js +2 -1
- package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +3 -0
- package/mobile/dist/components/ApplicationForm/handlers.d.ts +2 -1
- package/mobile/dist/components/ApplicationForm/handlers.js +20 -3
- package/mobile/dist/components/ApplicationForm/handlers.js.map +1 -1
- package/mobile/lib/components/ApplicationForm/ApplicationForm.js +2 -1
- package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +3 -0
- package/mobile/lib/components/ApplicationForm/handlers.d.ts +2 -1
- package/mobile/lib/components/ApplicationForm/handlers.js +20 -3
- package/mobile/lib/components/ApplicationForm/handlers.js.map +1 -1
- package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +2 -0
- package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +3 -0
- package/mobile/src/components/ApplicationForm/handlers.ts +26 -3
- package/package.json +1 -1
- package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +25 -0
- package/src/components/ApplicationForm/ApplicationForm.tsx +2 -0
- package/src/components/ApplicationForm/ApplicationFormContent.ts +3 -0
- package/src/components/ApplicationForm/handlers.ts +26 -3
|
@@ -55,6 +55,7 @@ declare type productType = {
|
|
|
55
55
|
/** @title Продукт */
|
|
56
56
|
product?: string;
|
|
57
57
|
};
|
|
58
|
+
/** @title Премиум форма */
|
|
58
59
|
declare type premiumForm = {
|
|
59
60
|
/** @title Форма для премиума */
|
|
60
61
|
isPremium?: boolean;
|
|
@@ -84,6 +85,8 @@ export declare type ApplicationFormContent = UniBlockContent & TitleProps & Aspe
|
|
|
84
85
|
endpoint?: EndpointType;
|
|
85
86
|
/** @title Дополнительные параметры формы */
|
|
86
87
|
additionalParams?: additionalParamsType;
|
|
88
|
+
/** @title Отправить событие в Snowplow */
|
|
89
|
+
withSnowplow?: boolean;
|
|
87
90
|
/** @title Показать контакты */
|
|
88
91
|
isContacts?: boolean;
|
|
89
92
|
};
|
|
@@ -14,7 +14,8 @@ export declare type HandlerProps = {
|
|
|
14
14
|
responseTypeDialog?: any;
|
|
15
15
|
onSuccess?: () => void;
|
|
16
16
|
endpoint?: string;
|
|
17
|
+
withSnowplow?: boolean;
|
|
17
18
|
};
|
|
18
19
|
export declare const handleInitCorporateLead: ({ formatData, typeForm, responseTypeDialog, verifyPhoneDialog, data, aspects, ev, }: HandlerProps) => Promise<void>;
|
|
19
20
|
export declare const handleCallback: ({ formatData, data, aspects, ev, typeForm, responseTypeDialog, onSuccess, }: HandlerProps) => Promise<void>;
|
|
20
|
-
export declare const handleDefault: ({ formatData, data, aspects, ev, router, responseTypeDialog, endpoint, }: HandlerProps) => Promise<void>;
|
|
21
|
+
export declare const handleDefault: ({ formatData, data, aspects, ev, router, responseTypeDialog, endpoint, withSnowplow, }: HandlerProps) => Promise<void>;
|
|
@@ -26,7 +26,7 @@ const handlerMap = {
|
|
|
26
26
|
};
|
|
27
27
|
exports.ApplicationForm = (0, UniBlock_1.UniBlock)(
|
|
28
28
|
// eslint-disable-next-line max-lines-per-function
|
|
29
|
-
({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, isContacts, data, onSuccess, ...rest }) => {
|
|
29
|
+
({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, withSnowplow, isContacts, data, onSuccess, ...rest }) => {
|
|
30
30
|
const inputs = (0, hooks_1.useMemo)(() => (sections?.flatMap((_) => _?.inputs) || []), [sections]);
|
|
31
31
|
const initialFormState = (0, hooks_1.useMemo)(() => (0, getInitialFormState_1.getInitialFormState)(inputs, typeForm), [inputs, typeForm]);
|
|
32
32
|
const router = (0, useRouter_1.useRouter)();
|
|
@@ -47,6 +47,7 @@ exports.ApplicationForm = (0, UniBlock_1.UniBlock)(
|
|
|
47
47
|
verifyPhoneDialog,
|
|
48
48
|
onSuccess,
|
|
49
49
|
endpoint,
|
|
50
|
+
withSnowplow,
|
|
50
51
|
});
|
|
51
52
|
}, [typeForm]);
|
|
52
53
|
const [, { field, onSubmit }] = (0, useForm_1.useForm)(initialFormState, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/ApplicationForm.tsx"],"names":[],"mappings":";;;AAAA,uDAAmE;AACnE,wDAAqD;AACrD,kEAA+D;AAC/D,yDAAsD;AACtD,oGAAiG;AACjG,oEAAiE;AACjE,8FAA2F;AAC3F,kFAA6E;AAE7E,2FAAwF;AACxF,sDAAmD;AAEnD,6CAA0C;AAE1C,mDAAgD;AAChD,+DAA4E;AAC5E,yCAKoB;AACpB,mEAAgE;AAChE,qDAAkD;AAClD,qDAAkD;AAClD,2DAAwD;AAQxD,MAAM,UAAU,GAA4B;IAC1C,iBAAiB,EAAE,kCAAuB;IAC1C,QAAQ,EAAE,yBAAc;IACxB,OAAO,EAAE,wBAAa;CACvB,CAAC;AAEW,QAAA,eAAe,GAAG,IAAA,mBAAQ;AACrC,kDAAkD;AAClD,CAAC,EACC,SAAS,EACT,KAAK,EACL,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,EAAE,EACb,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,IAAI,EACJ,SAAS,EACT,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAA,eAAO,EACpB,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAe,EAC/D,CAAC,QAAQ,CAAC,CACX,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAA,eAAO,EAC9B,GAAG,EAAE,CAAC,IAAA,yCAAmB,EAAC,MAAM,EAAE,QAAQ,CAAC,EAC3C,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAA,uBAAU,GAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,qCAAgB,EAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,MAAM,kBAAkB,GAAG,IAAA,qBAAS,EAAC,uCAAkB,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAAG,IAAA,qBAAS,EAAC,qCAAiB,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC9B,KAAK,EAAE,QAAmB,EAAE,EAA8B,EAAE,EAAE;QAC5D,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC;QAEvE,MAAM,cAAc,CAAC,QAAQ,IAAI,SAAS,EAAE;YAC1C,UAAU;YACV,EAAE;YACF,QAAQ;YACR,IAAI;YACJ,OAAO;YACP,MAAM;YACN,kBAAkB;YAClB,iBAAiB;YACjB,SAAS;YACT,QAAQ;
|
|
1
|
+
{"version":3,"file":"ApplicationForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/ApplicationForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,7 @@ declare type productType = {
|
|
|
55
55
|
/** @title Продукт */
|
|
56
56
|
product?: string;
|
|
57
57
|
};
|
|
58
|
+
/** @title Премиум форма */
|
|
58
59
|
declare type premiumForm = {
|
|
59
60
|
/** @title Форма для премиума */
|
|
60
61
|
isPremium?: boolean;
|
|
@@ -84,6 +85,8 @@ export declare type ApplicationFormContent = UniBlockContent & TitleProps & Aspe
|
|
|
84
85
|
endpoint?: EndpointType;
|
|
85
86
|
/** @title Дополнительные параметры формы */
|
|
86
87
|
additionalParams?: additionalParamsType;
|
|
88
|
+
/** @title Отправить событие в Snowplow */
|
|
89
|
+
withSnowplow?: boolean;
|
|
87
90
|
/** @title Показать контакты */
|
|
88
91
|
isContacts?: boolean;
|
|
89
92
|
};
|
|
@@ -14,7 +14,8 @@ export declare type HandlerProps = {
|
|
|
14
14
|
responseTypeDialog?: any;
|
|
15
15
|
onSuccess?: () => void;
|
|
16
16
|
endpoint?: string;
|
|
17
|
+
withSnowplow?: boolean;
|
|
17
18
|
};
|
|
18
19
|
export declare const handleInitCorporateLead: ({ formatData, typeForm, responseTypeDialog, verifyPhoneDialog, data, aspects, ev, }: HandlerProps) => Promise<void>;
|
|
19
20
|
export declare const handleCallback: ({ formatData, data, aspects, ev, typeForm, responseTypeDialog, onSuccess, }: HandlerProps) => Promise<void>;
|
|
20
|
-
export declare const handleDefault: ({ formatData, data, aspects, ev, router, responseTypeDialog, endpoint, }: HandlerProps) => Promise<void>;
|
|
21
|
+
export declare const handleDefault: ({ formatData, data, aspects, ev, router, responseTypeDialog, endpoint, withSnowplow, }: HandlerProps) => Promise<void>;
|
|
@@ -44,11 +44,28 @@ const handleCallback = async ({ formatData, data, aspects = {}, ev, typeForm, re
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
exports.handleCallback = handleCallback;
|
|
47
|
-
const handleDefault = async ({ formatData, data, aspects = {}, ev, router, responseTypeDialog, endpoint, }) => {
|
|
48
|
-
const
|
|
47
|
+
const handleDefault = async ({ formatData, data, aspects = {}, ev, router, responseTypeDialog, endpoint, withSnowplow, }) => {
|
|
48
|
+
const response = await API.send(formatData, router, endpoint === 'lead');
|
|
49
|
+
const ok = Boolean(response);
|
|
49
50
|
responseTypeDialog.open({ ok });
|
|
50
51
|
if (ok) {
|
|
51
|
-
|
|
52
|
+
const { requestId } = response;
|
|
53
|
+
const { phone } = formatData;
|
|
54
|
+
const utms = router.pathname.split('?')[1];
|
|
55
|
+
const eventJSON = JSON.stringify({
|
|
56
|
+
id: requestId,
|
|
57
|
+
phone: String(phone),
|
|
58
|
+
utm: utms,
|
|
59
|
+
});
|
|
60
|
+
const snowplowAspect = {
|
|
61
|
+
aspectName: 'snowplowEvent',
|
|
62
|
+
params: {
|
|
63
|
+
eventAction: 'clickdepapl',
|
|
64
|
+
eventJSON,
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
const aspectsData = withSnowplow ? [...(data ?? []), snowplowAspect] : data;
|
|
68
|
+
(0, handleAspects_1.handleAspects)({ aspectsAttributes: aspectsData, aspects, ev });
|
|
52
69
|
}
|
|
53
70
|
};
|
|
54
71
|
exports.handleDefault = handleDefault;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/handlers.ts"],"names":[],"mappings":";;AAAA,6DAA4E;AAE5E,wEAAqE;AAIrE,2CAAwC;
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/handlers.ts"],"names":[],"mappings":";;AAAA,6DAA4E;AAE5E,wEAAqE;AAIrE,2CAAwC;AAgBxC,MAAM,GAAG,GAAG,IAAA,+BAAc,GAAE,CAAC;AAEtB,MAAM,uBAAuB,GAAG,KAAK,EAAE,EAC5C,UAAU,GAAG,EAAE,EACf,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,IAAI,GAAG,EAAE,EACT,OAAO,GAAG,EAAE,EACZ,EAAE,GACW,EAAE,EAAE;IACjB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IAE7B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE9D,IAAI,CAAC,QAAQ,EAAE;QACb,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE7D,OAAO;KACR;IAED,iBAAiB,CAAC,IAAI,CAAC;QACrB,KAAK;QACL,UAAU;QACV,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;QACvB,SAAS,EAAE,GAAG,EAAE;YACd,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC1B,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD,IAAA,6BAAa,EAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AA7BW,QAAA,uBAAuB,2BA6BlC;AAEK,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,UAAU,EACV,IAAI,EACJ,OAAO,GAAG,EAAE,EACZ,EAAE,EACF,QAAQ,EACR,kBAAkB,EAClB,SAAS,GAAG,WAAI,GACH,EAAE,EAAE;IACjB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAE5D,SAAS,EAAE,CAAC;IAEZ,IAAI,QAAQ,EAAE,MAAM,KAAK,SAAS,EAAE;QAClC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,IAAA,6BAAa,EAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;KACzD;SAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,OAAO,EAAE;QACvC,kBAAkB,CAAC,IAAI,CAAC;YACtB,EAAE,EAAE,KAAK;YACT,YAAY,EAAE,gEAAgE;SAC/E,CAAC,CAAC;KACJ;SAAM;QACL,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE;YACZ,IAAA,6BAAa,EAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;SACzD;KACF;AACH,CAAC,CAAC;AA3BW,QAAA,cAAc,kBA2BzB;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,UAAU,EACV,IAAI,EACJ,OAAO,GAAG,EAAE,EACZ,EAAE,EACF,MAAM,EACN,kBAAkB,EAClB,QAAQ,EACR,YAAY,GACC,EAAE,EAAE;IACjB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC;IACzE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE7B,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,EAAE,EAAE;QACN,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;YACpB,GAAG,EAAE,IAAI;SACV,CAAC,CAAC;QAEH,MAAM,cAAc,GAAwB;YAC1C,UAAU,EAAE,eAAe;YAC3B,MAAM,EAAE;gBACN,WAAW,EAAE,aAAa;gBAC1B,SAAS;aACV;SACF,CAAC;QAEF,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE5E,IAAA,6BAAa,EAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;KAChE;AACH,CAAC,CAAC;AArCW,QAAA,aAAa,iBAqCxB"}
|
|
@@ -24,7 +24,7 @@ const handlerMap = {
|
|
|
24
24
|
};
|
|
25
25
|
export const ApplicationForm = UniBlock(
|
|
26
26
|
// eslint-disable-next-line max-lines-per-function
|
|
27
|
-
({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, isContacts, data, onSuccess, ...rest }) => {
|
|
27
|
+
({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, withSnowplow, isContacts, data, onSuccess, ...rest }) => {
|
|
28
28
|
const inputs = useMemo(() => (sections?.flatMap((_) => _?.inputs) || []), [sections]);
|
|
29
29
|
const initialFormState = useMemo(() => getInitialFormState(inputs, typeForm), [inputs, typeForm]);
|
|
30
30
|
const router = useRouter();
|
|
@@ -45,6 +45,7 @@ export const ApplicationForm = UniBlock(
|
|
|
45
45
|
verifyPhoneDialog,
|
|
46
46
|
onSuccess,
|
|
47
47
|
endpoint,
|
|
48
|
+
withSnowplow,
|
|
48
49
|
});
|
|
49
50
|
}, [typeForm]);
|
|
50
51
|
const [, { field, onSubmit }] = useForm(initialFormState, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/ApplicationForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAkB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EACL,cAAc,EACd,aAAa,EACb,uBAAuB,GAExB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQxD,MAAM,UAAU,GAA4B;IAC1C,iBAAiB,EAAE,uBAAuB;IAC1C,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,aAAa;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ;AACrC,kDAAkD;AAClD,CAAC,EACC,SAAS,EACT,KAAK,EACL,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,EAAE,EACb,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,IAAI,EACJ,SAAS,EACT,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAe,EAC/D,CAAC,QAAQ,CAAC,CACX,CAAC;IACF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC3C,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,MAAM,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EAAE,QAAmB,EAAE,EAA8B,EAAE,EAAE;QAC5D,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC;QAEvE,MAAM,cAAc,CAAC,QAAQ,IAAI,SAAS,EAAE;YAC1C,UAAU;YACV,EAAE;YACF,QAAQ;YACR,IAAI;YACJ,OAAO;YACP,MAAM;YACN,kBAAkB;YAClB,iBAAiB;YACjB,SAAS;YACT,QAAQ;
|
|
1
|
+
{"version":3,"file":"ApplicationForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/ApplicationForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,7 @@ declare type productType = {
|
|
|
55
55
|
/** @title Продукт */
|
|
56
56
|
product?: string;
|
|
57
57
|
};
|
|
58
|
+
/** @title Премиум форма */
|
|
58
59
|
declare type premiumForm = {
|
|
59
60
|
/** @title Форма для премиума */
|
|
60
61
|
isPremium?: boolean;
|
|
@@ -84,6 +85,8 @@ export declare type ApplicationFormContent = UniBlockContent & TitleProps & Aspe
|
|
|
84
85
|
endpoint?: EndpointType;
|
|
85
86
|
/** @title Дополнительные параметры формы */
|
|
86
87
|
additionalParams?: additionalParamsType;
|
|
88
|
+
/** @title Отправить событие в Snowplow */
|
|
89
|
+
withSnowplow?: boolean;
|
|
87
90
|
/** @title Показать контакты */
|
|
88
91
|
isContacts?: boolean;
|
|
89
92
|
};
|
|
@@ -14,7 +14,8 @@ export declare type HandlerProps = {
|
|
|
14
14
|
responseTypeDialog?: any;
|
|
15
15
|
onSuccess?: () => void;
|
|
16
16
|
endpoint?: string;
|
|
17
|
+
withSnowplow?: boolean;
|
|
17
18
|
};
|
|
18
19
|
export declare const handleInitCorporateLead: ({ formatData, typeForm, responseTypeDialog, verifyPhoneDialog, data, aspects, ev, }: HandlerProps) => Promise<void>;
|
|
19
20
|
export declare const handleCallback: ({ formatData, data, aspects, ev, typeForm, responseTypeDialog, onSuccess, }: HandlerProps) => Promise<void>;
|
|
20
|
-
export declare const handleDefault: ({ formatData, data, aspects, ev, router, responseTypeDialog, endpoint, }: HandlerProps) => Promise<void>;
|
|
21
|
+
export declare const handleDefault: ({ formatData, data, aspects, ev, router, responseTypeDialog, endpoint, withSnowplow, }: HandlerProps) => Promise<void>;
|
|
@@ -40,11 +40,28 @@ export const handleCallback = async ({ formatData, data, aspects = {}, ev, typeF
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
|
-
export const handleDefault = async ({ formatData, data, aspects = {}, ev, router, responseTypeDialog, endpoint, }) => {
|
|
44
|
-
const
|
|
43
|
+
export const handleDefault = async ({ formatData, data, aspects = {}, ev, router, responseTypeDialog, endpoint, withSnowplow, }) => {
|
|
44
|
+
const response = await API.send(formatData, router, endpoint === 'lead');
|
|
45
|
+
const ok = Boolean(response);
|
|
45
46
|
responseTypeDialog.open({ ok });
|
|
46
47
|
if (ok) {
|
|
47
|
-
|
|
48
|
+
const { requestId } = response;
|
|
49
|
+
const { phone } = formatData;
|
|
50
|
+
const utms = router.pathname.split('?')[1];
|
|
51
|
+
const eventJSON = JSON.stringify({
|
|
52
|
+
id: requestId,
|
|
53
|
+
phone: String(phone),
|
|
54
|
+
utm: utms,
|
|
55
|
+
});
|
|
56
|
+
const snowplowAspect = {
|
|
57
|
+
aspectName: 'snowplowEvent',
|
|
58
|
+
params: {
|
|
59
|
+
eventAction: 'clickdepapl',
|
|
60
|
+
eventJSON,
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
const aspectsData = withSnowplow ? [...(data ?? []), snowplowAspect] : data;
|
|
64
|
+
handleAspects({ aspectsAttributes: aspectsData, aspects, ev });
|
|
48
65
|
}
|
|
49
66
|
};
|
|
50
67
|
//# sourceMappingURL=handlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAoB,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAIrE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,7 @@ export const ApplicationForm = UniBlock<ApplicationFormProps>(
|
|
|
48
48
|
link,
|
|
49
49
|
endpoint,
|
|
50
50
|
additionalParams,
|
|
51
|
+
withSnowplow,
|
|
51
52
|
isContacts,
|
|
52
53
|
data,
|
|
53
54
|
onSuccess,
|
|
@@ -82,6 +83,7 @@ export const ApplicationForm = UniBlock<ApplicationFormProps>(
|
|
|
82
83
|
verifyPhoneDialog,
|
|
83
84
|
onSuccess,
|
|
84
85
|
endpoint,
|
|
86
|
+
withSnowplow,
|
|
85
87
|
});
|
|
86
88
|
},
|
|
87
89
|
[typeForm],
|
|
@@ -70,6 +70,7 @@ type productType = {
|
|
|
70
70
|
product?: string;
|
|
71
71
|
};
|
|
72
72
|
|
|
73
|
+
/** @title Премиум форма */
|
|
73
74
|
type premiumForm = {
|
|
74
75
|
/** @title Форма для премиума */
|
|
75
76
|
isPremium?: boolean;
|
|
@@ -104,6 +105,8 @@ export type ApplicationFormContent = UniBlockContent &
|
|
|
104
105
|
endpoint?: EndpointType;
|
|
105
106
|
/** @title Дополнительные параметры формы */
|
|
106
107
|
additionalParams?: additionalParamsType;
|
|
108
|
+
/** @title Отправить событие в Snowplow */
|
|
109
|
+
withSnowplow?: boolean;
|
|
107
110
|
/** @title Показать контакты */
|
|
108
111
|
isContacts?: boolean;
|
|
109
112
|
};
|
|
@@ -2,7 +2,7 @@ import { LeadServiceAPI, type LeadRequest } from '../../api/LeadServiceAPI';
|
|
|
2
2
|
import { type Router } from '../../external/useRouter';
|
|
3
3
|
import { handleAspects } from '../../hooks/useAspects/handleAspects';
|
|
4
4
|
import { type Aspects } from '../../hooks/useAspects/useAspects';
|
|
5
|
-
import { type AspectsDef } from '../../model/AspectsProps';
|
|
5
|
+
import { type AspectsDef, type SnowplowEventAspect } from '../../model/AspectsProps';
|
|
6
6
|
import { type PreventableEventWithTarget } from '../../ui-kit/PreventableEvent';
|
|
7
7
|
import { noop } from '../../utils/noop';
|
|
8
8
|
|
|
@@ -17,6 +17,7 @@ export type HandlerProps = {
|
|
|
17
17
|
responseTypeDialog?: any;
|
|
18
18
|
onSuccess?: () => void;
|
|
19
19
|
endpoint?: string;
|
|
20
|
+
withSnowplow?: boolean;
|
|
20
21
|
};
|
|
21
22
|
|
|
22
23
|
const API = LeadServiceAPI();
|
|
@@ -89,11 +90,33 @@ export const handleDefault = async ({
|
|
|
89
90
|
router,
|
|
90
91
|
responseTypeDialog,
|
|
91
92
|
endpoint,
|
|
93
|
+
withSnowplow,
|
|
92
94
|
}: HandlerProps) => {
|
|
93
|
-
const
|
|
95
|
+
const response = await API.send(formatData, router, endpoint === 'lead');
|
|
96
|
+
const ok = Boolean(response);
|
|
94
97
|
|
|
95
98
|
responseTypeDialog.open({ ok });
|
|
96
99
|
if (ok) {
|
|
97
|
-
|
|
100
|
+
const { requestId } = response;
|
|
101
|
+
const { phone } = formatData;
|
|
102
|
+
const utms = router.pathname.split('?')[1];
|
|
103
|
+
|
|
104
|
+
const eventJSON = JSON.stringify({
|
|
105
|
+
id: requestId,
|
|
106
|
+
phone: String(phone),
|
|
107
|
+
utm: utms,
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
const snowplowAspect: SnowplowEventAspect = {
|
|
111
|
+
aspectName: 'snowplowEvent',
|
|
112
|
+
params: {
|
|
113
|
+
eventAction: 'clickdepapl',
|
|
114
|
+
eventJSON,
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
const aspectsData = withSnowplow ? [...(data ?? []), snowplowAspect] : data;
|
|
119
|
+
|
|
120
|
+
handleAspects({ aspectsAttributes: aspectsData, aspects, ev });
|
|
98
121
|
}
|
|
99
122
|
};
|
package/package.json
CHANGED
|
@@ -969,4 +969,29 @@ export default {
|
|
|
969
969
|
<DialogManager />
|
|
970
970
|
</div>
|
|
971
971
|
),
|
|
972
|
+
withSnowplow: (
|
|
973
|
+
<div className="container grid grid-cols-12">
|
|
974
|
+
<ApplicationForm
|
|
975
|
+
className="col-span-12"
|
|
976
|
+
title="Форма с отправкой события в Snowplow"
|
|
977
|
+
typeForm="FEEDBACK"
|
|
978
|
+
endpoint="lead"
|
|
979
|
+
sections={[
|
|
980
|
+
{
|
|
981
|
+
columns: 2,
|
|
982
|
+
inputs: [
|
|
983
|
+
{ name: 'name', required: true },
|
|
984
|
+
{ name: 'phone', required: true },
|
|
985
|
+
{ name: 'consentDataProcessing', required: true },
|
|
986
|
+
],
|
|
987
|
+
},
|
|
988
|
+
]}
|
|
989
|
+
withSnowplow={true}
|
|
990
|
+
button={button}
|
|
991
|
+
link={link}
|
|
992
|
+
/>
|
|
993
|
+
<PopupManager />
|
|
994
|
+
<DialogManager />
|
|
995
|
+
</div>
|
|
996
|
+
),
|
|
972
997
|
};
|
|
@@ -48,6 +48,7 @@ export const ApplicationForm = UniBlock<ApplicationFormProps>(
|
|
|
48
48
|
link,
|
|
49
49
|
endpoint,
|
|
50
50
|
additionalParams,
|
|
51
|
+
withSnowplow,
|
|
51
52
|
isContacts,
|
|
52
53
|
data,
|
|
53
54
|
onSuccess,
|
|
@@ -82,6 +83,7 @@ export const ApplicationForm = UniBlock<ApplicationFormProps>(
|
|
|
82
83
|
verifyPhoneDialog,
|
|
83
84
|
onSuccess,
|
|
84
85
|
endpoint,
|
|
86
|
+
withSnowplow,
|
|
85
87
|
});
|
|
86
88
|
},
|
|
87
89
|
[typeForm],
|
|
@@ -70,6 +70,7 @@ type productType = {
|
|
|
70
70
|
product?: string;
|
|
71
71
|
};
|
|
72
72
|
|
|
73
|
+
/** @title Премиум форма */
|
|
73
74
|
type premiumForm = {
|
|
74
75
|
/** @title Форма для премиума */
|
|
75
76
|
isPremium?: boolean;
|
|
@@ -104,6 +105,8 @@ export type ApplicationFormContent = UniBlockContent &
|
|
|
104
105
|
endpoint?: EndpointType;
|
|
105
106
|
/** @title Дополнительные параметры формы */
|
|
106
107
|
additionalParams?: additionalParamsType;
|
|
108
|
+
/** @title Отправить событие в Snowplow */
|
|
109
|
+
withSnowplow?: boolean;
|
|
107
110
|
/** @title Показать контакты */
|
|
108
111
|
isContacts?: boolean;
|
|
109
112
|
};
|
|
@@ -2,7 +2,7 @@ import { LeadServiceAPI, type LeadRequest } from '../../api/LeadServiceAPI';
|
|
|
2
2
|
import { type Router } from '../../external/useRouter';
|
|
3
3
|
import { handleAspects } from '../../hooks/useAspects/handleAspects';
|
|
4
4
|
import { type Aspects } from '../../hooks/useAspects/useAspects';
|
|
5
|
-
import { type AspectsDef } from '../../model/AspectsProps';
|
|
5
|
+
import { type AspectsDef, type SnowplowEventAspect } from '../../model/AspectsProps';
|
|
6
6
|
import { type PreventableEventWithTarget } from '../../ui-kit/PreventableEvent';
|
|
7
7
|
import { noop } from '../../utils/noop';
|
|
8
8
|
|
|
@@ -17,6 +17,7 @@ export type HandlerProps = {
|
|
|
17
17
|
responseTypeDialog?: any;
|
|
18
18
|
onSuccess?: () => void;
|
|
19
19
|
endpoint?: string;
|
|
20
|
+
withSnowplow?: boolean;
|
|
20
21
|
};
|
|
21
22
|
|
|
22
23
|
const API = LeadServiceAPI();
|
|
@@ -89,11 +90,33 @@ export const handleDefault = async ({
|
|
|
89
90
|
router,
|
|
90
91
|
responseTypeDialog,
|
|
91
92
|
endpoint,
|
|
93
|
+
withSnowplow,
|
|
92
94
|
}: HandlerProps) => {
|
|
93
|
-
const
|
|
95
|
+
const response = await API.send(formatData, router, endpoint === 'lead');
|
|
96
|
+
const ok = Boolean(response);
|
|
94
97
|
|
|
95
98
|
responseTypeDialog.open({ ok });
|
|
96
99
|
if (ok) {
|
|
97
|
-
|
|
100
|
+
const { requestId } = response;
|
|
101
|
+
const { phone } = formatData;
|
|
102
|
+
const utms = router.pathname.split('?')[1];
|
|
103
|
+
|
|
104
|
+
const eventJSON = JSON.stringify({
|
|
105
|
+
id: requestId,
|
|
106
|
+
phone: String(phone),
|
|
107
|
+
utm: utms,
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
const snowplowAspect: SnowplowEventAspect = {
|
|
111
|
+
aspectName: 'snowplowEvent',
|
|
112
|
+
params: {
|
|
113
|
+
eventAction: 'clickdepapl',
|
|
114
|
+
eventJSON,
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
const aspectsData = withSnowplow ? [...(data ?? []), snowplowAspect] : data;
|
|
119
|
+
|
|
120
|
+
handleAspects({ aspectsAttributes: aspectsData, aspects, ev });
|
|
98
121
|
}
|
|
99
122
|
};
|