@alexsab-ru/scripts 0.6.0 → 0.6.1

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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2023 Alexander Sabanov
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Alexander Sabanov
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,154 +1,154 @@
1
- # @alexsab-ru/scripts
2
-
3
- [Русский](README_RU.md)
4
-
5
- common libs for websites
6
-
7
- * [Installation](#Installation)
8
- * [Analytics module](#analytics-module)
9
- * [Cookie module](#cookie-module)
10
- * [Calltouch module](#calltouch-module)
11
- * [Form module](#form-module)
12
-
13
- ## Installation
14
- ```bash
15
- pnpm i @alexsab-ru/scripts
16
- ```
17
-
18
- ## Analytics module
19
-
20
- `reachGoal` and `pageView` functions push to `dataLayer` some data with goal name
21
- ```js
22
- reachGoal("goalName");
23
- pageView(goalName);
24
- ```
25
-
26
- In GTM you can use them for send goals to your analytic system
27
-
28
- ```js
29
- {
30
- event: "reachGoal-goalName",
31
- eventAction: "goalName"
32
- }
33
- ```
34
-
35
- Use example:
36
-
37
- ```js
38
- import { reachGoal } from '@alexsab-ru/scripts';
39
-
40
- // automatic assign from module
41
- reachGoal("phone_click");
42
- reachGoal("phone_copy");
43
- reachGoal("phone_contextmenu");
44
- reachGoal("email_click");
45
- reachGoal("email_copy");
46
- reachGoal("email_contextmenu");
47
- ```
48
-
49
- For form's analytics you may use these goals
50
-
51
- ```js
52
- reachGoal("form_open");
53
- reachGoal("form_click"); // automatic assign from module
54
- reachGoal("form_change"); // automatic assign from module
55
- reachGoal("form_submit");
56
- reachGoal("form_required");
57
- reachGoal("form_error");
58
- reachGoal("form_success");
59
- ```
60
-
61
- `getFormDataObject` is needed for Calltouch request tag.
62
-
63
- ```js
64
- import { getFormDataObject } from '@alexsab-ru/scripts';
65
-
66
- document.querySelectorAll("form").forEach((form) => {
67
- form.onsubmit = async (event) => {
68
-
69
- var formData = new FormData(form);
70
- // ...
71
- var formDataObj = getFormDataObject(formData, form.id);
72
-
73
- await fetch("https://example.com/api/lead/", {
74
- // ...
75
- })
76
- .then((res) => res.json())
77
- .then((data) => {
78
- if (data.answer == "required") {
79
- reachGoal("form_required");
80
- return;
81
- } else if (data.answer == "error") {
82
- reachGoal("form_error");
83
- return;
84
- } else {
85
- reachGoal("form_success", formDataObj);
86
- }
87
- form.reset();
88
- })
89
- .catch((error) => {
90
- reachGoal("form_error");
91
- });
92
- };
93
- });
94
- ```
95
-
96
- ### Goals can be achieved as follows
97
-
98
- Interaction with the form
99
-
100
- - **form_open** – opened the form
101
- - **form_click** – clicked on the form
102
- - **form_change** – changes in the form
103
- - **form_submit** – pressed the Submit button
104
- - **form_required** – incomplete form filling
105
- - **form_error** – error, data did not send for some reason
106
- - **form_success** – received a positive response from the server, i.e., data was sent
107
- - **form_close** – closed the form
108
-
109
- Interaction with the phone
110
-
111
- - **phone_click** — clicked on it with the mouse
112
- - **phone_contextmenu** — opening the context menu on it with the right mouse button
113
- - **phone_copy** — copying the selected text
114
-
115
- If there is a clickable email on the page, goals will be triggered on it
116
-
117
- - **email_click** — clicked on it with the mouse
118
- - **email_contextmenu** — opening the context menu on it with the right mouse button
119
- - **email_copy** — copying the selected text
120
-
121
-
122
- ## Cookie module
123
-
124
- ```js
125
- import { getCookie, setCookie, deleteCookie, cookiecook } from './cookie';
126
-
127
- getCookie('cookie_name');
128
- setCookie('cookie_name');
129
- deleteCookie('cookie_name');
130
- cookiecook(days);
131
- ```
132
-
133
- ## Calltouch module
134
-
135
- ```js
136
- import { createRequest } from '@alexsab-ru/scripts';
137
-
138
- // Sending a callback request to CallTouch
139
- createRequest("ct_callback", "+7 (987) 654-32-10");
140
-
141
- // to display the log, the third parameter must be used
142
- createRequest("ct_callback", "+7 (987) 654-32-10", true);
143
- ```
144
-
145
- ## Form module
146
-
147
- ```js
148
- import { connectForms, cookiecook } from '@alexsab-ru/scripts';
149
-
150
- cookiecook();
151
- connectForms('https://alexsab.ru/lead/test/', function() {
152
- console.log("sucess lead");
153
- });
1
+ # @alexsab-ru/scripts
2
+
3
+ [Русский](README_RU.md)
4
+
5
+ common libs for websites
6
+
7
+ * [Installation](#Installation)
8
+ * [Analytics module](#analytics-module)
9
+ * [Cookie module](#cookie-module)
10
+ * [Calltouch module](#calltouch-module)
11
+ * [Form module](#form-module)
12
+
13
+ ## Installation
14
+ ```bash
15
+ pnpm i @alexsab-ru/scripts
16
+ ```
17
+
18
+ ## Analytics module
19
+
20
+ `reachGoal` and `pageView` functions push to `dataLayer` some data with goal name
21
+ ```js
22
+ reachGoal("goalName");
23
+ pageView(goalName);
24
+ ```
25
+
26
+ In GTM you can use them for send goals to your analytic system
27
+
28
+ ```js
29
+ {
30
+ event: "reachGoal-goalName",
31
+ eventAction: "goalName"
32
+ }
33
+ ```
34
+
35
+ Use example:
36
+
37
+ ```js
38
+ import { reachGoal } from '@alexsab-ru/scripts';
39
+
40
+ // automatic assign from module
41
+ reachGoal("phone_click");
42
+ reachGoal("phone_copy");
43
+ reachGoal("phone_contextmenu");
44
+ reachGoal("email_click");
45
+ reachGoal("email_copy");
46
+ reachGoal("email_contextmenu");
47
+ ```
48
+
49
+ For form's analytics you may use these goals
50
+
51
+ ```js
52
+ reachGoal("form_open");
53
+ reachGoal("form_click"); // automatic assign from module
54
+ reachGoal("form_change"); // automatic assign from module
55
+ reachGoal("form_submit");
56
+ reachGoal("form_required");
57
+ reachGoal("form_error");
58
+ reachGoal("form_success");
59
+ ```
60
+
61
+ `getFormDataObject` is needed for Calltouch request tag.
62
+
63
+ ```js
64
+ import { getFormDataObject } from '@alexsab-ru/scripts';
65
+
66
+ document.querySelectorAll("form").forEach((form) => {
67
+ form.onsubmit = async (event) => {
68
+
69
+ var formData = new FormData(form);
70
+ // ...
71
+ var formDataObj = getFormDataObject(formData, form.id);
72
+
73
+ await fetch("https://example.com/api/lead/", {
74
+ // ...
75
+ })
76
+ .then((res) => res.json())
77
+ .then((data) => {
78
+ if (data.answer == "required") {
79
+ reachGoal("form_required");
80
+ return;
81
+ } else if (data.answer == "error") {
82
+ reachGoal("form_error");
83
+ return;
84
+ } else {
85
+ reachGoal("form_success", formDataObj);
86
+ }
87
+ form.reset();
88
+ })
89
+ .catch((error) => {
90
+ reachGoal("form_error");
91
+ });
92
+ };
93
+ });
94
+ ```
95
+
96
+ ### Goals can be achieved as follows
97
+
98
+ Interaction with the form
99
+
100
+ - **form_open** – opened the form
101
+ - **form_click** – clicked on the form
102
+ - **form_change** – changes in the form
103
+ - **form_submit** – pressed the Submit button
104
+ - **form_required** – incomplete form filling
105
+ - **form_error** – error, data did not send for some reason
106
+ - **form_success** – received a positive response from the server, i.e., data was sent
107
+ - **form_close** – closed the form
108
+
109
+ Interaction with the phone
110
+
111
+ - **phone_click** — clicked on it with the mouse
112
+ - **phone_contextmenu** — opening the context menu on it with the right mouse button
113
+ - **phone_copy** — copying the selected text
114
+
115
+ If there is a clickable email on the page, goals will be triggered on it
116
+
117
+ - **email_click** — clicked on it with the mouse
118
+ - **email_contextmenu** — opening the context menu on it with the right mouse button
119
+ - **email_copy** — copying the selected text
120
+
121
+
122
+ ## Cookie module
123
+
124
+ ```js
125
+ import { getCookie, setCookie, deleteCookie, cookiecook } from './cookie';
126
+
127
+ getCookie('cookie_name');
128
+ setCookie('cookie_name');
129
+ deleteCookie('cookie_name');
130
+ cookiecook(days);
131
+ ```
132
+
133
+ ## Calltouch module
134
+
135
+ ```js
136
+ import { createRequest } from '@alexsab-ru/scripts';
137
+
138
+ // Sending a callback request to CallTouch
139
+ createRequest("ct_callback", "+7 (987) 654-32-10");
140
+
141
+ // to display the log, the third parameter must be used
142
+ createRequest("ct_callback", "+7 (987) 654-32-10", true);
143
+ ```
144
+
145
+ ## Form module
146
+
147
+ ```js
148
+ import { connectForms, cookiecook } from '@alexsab-ru/scripts';
149
+
150
+ cookiecook();
151
+ connectForms('https://alexsab.ru/lead/test/', function() {
152
+ console.log("sucess lead");
153
+ });
154
154
  ```
package/README_RU.md CHANGED
@@ -1,154 +1,154 @@
1
- # @alexsab-ru/scripts
2
-
3
- [English](README.md)
4
-
5
- Общие пакеты для вебсайтов
6
-
7
- * [Установка](#Установка)
8
- * [Модуль аналитики](#Модуль-аналитики)
9
- * [Модуль куков](#Модуль-куков)
10
- * [Модуль Calltouch](#Модуль-Calltouch)
11
- * [Модуль для форм](#Модуль-для-форм)
12
-
13
- ## Установка
14
- ```bash
15
- pnpm i @alexsab-ru/scripts
16
- ```
17
-
18
- ## Модуль аналитики
19
-
20
- `reachGoal` и `pageView` функции добавляют в `dataLayer` данные с названием цели
21
- ```js
22
- reachGoal("названиеЦели");
23
- pageView("названиеЦели");
24
- ```
25
-
26
- в GTM вы можете использовать их чтобы отправить цели в вашу систему аналитики
27
-
28
- ```js
29
- {
30
- event: "reachGoal-названиеЦели",
31
- eventAction: "названиеЦели"
32
- }
33
- ```
34
-
35
- Пример:
36
-
37
- ```js
38
- import { reachGoal } from '@alexsab-ru/scripts';
39
-
40
- // Автоматически подключаются из модуля форм
41
- reachGoal("phone_click");
42
- reachGoal("phone_copy");
43
- reachGoal("phone_contextmenu");
44
- reachGoal("email_click");
45
- reachGoal("email_copy");
46
- reachGoal("email_contextmenu");
47
- ```
48
-
49
- Для аналитики форм вы можете использовать следующие цели
50
-
51
- ```js
52
- reachGoal("form_open");
53
- reachGoal("form_click"); // автоматически подключаются из модуля форм
54
- reachGoal("form_change"); // автоматически подключаются из модуля форм
55
- reachGoal("form_submit");
56
- reachGoal("form_required");
57
- reachGoal("form_error");
58
- reachGoal("form_success");
59
- ```
60
-
61
- `getFormDataObject` нужна для отслеживания заявок в Calltouch
62
-
63
- ```js
64
- import { getFormDataObject } from '@alexsab-ru/scripts';
65
-
66
- document.querySelectorAll("form").forEach((form) => {
67
- form.onsubmit = async (event) => {
68
-
69
- var formData = new FormData(form);
70
- // ...
71
- var formDataObj = getFormDataObject(formData, form.id);
72
-
73
- await fetch("https://example.com/api/lead/", {
74
- // ...
75
- })
76
- .then((res) => res.json())
77
- .then((data) => {
78
- if (data.answer == "required") {
79
- reachGoal("form_required");
80
- return;
81
- } else if (data.answer == "error") {
82
- reachGoal("form_error");
83
- return;
84
- } else {
85
- reachGoal("form_success", formDataObj);
86
- }
87
- form.reset();
88
- })
89
- .catch((error) => {
90
- reachGoal("form_error");
91
- });
92
- };
93
- });
94
- ```
95
-
96
- ### Цели могут выполняться такие
97
-
98
- Взаимодействия с формой
99
-
100
- - **form_open** – открыл форму
101
- - **form_click** – кликнул по форме
102
- - **form_change** – изменения в форме
103
- - **form_submit** – нажал кнопку Отправить
104
- - **form_required** – не полное заполнение формы
105
- - **form_error** – ошибка, данные по какой-то причине не отправились
106
- - **form_success** – получит положительный ответ от сервера, т.е. данные отправились
107
- - **form_close** – закрыл форму
108
-
109
- Взаимодейтсвие с телефоном
110
-
111
- - **phone_click** — клик по телефону мышкой
112
- - **phone_contextmenu** — открытие контекстного меню на телефоне правой кнопкой мыши
113
- - **phone_copy** — копирование выделенного телефона
114
-
115
- Если где-то есть кликабельный email на странице, то будут отрабатываться цели на нем
116
-
117
- - **email_click** — клик по email мышкой
118
- - **email_contextmenu** — открытие контекстного меню на email правой кнопкой мыши
119
- - **email_copy** — копирование выделенного email
120
-
121
-
122
- ## Модуль куков
123
-
124
- ```js
125
- import { getCookie, setCookie, deleteCookie, cookiecook } from './cookie';
126
-
127
- getCookie('cookie_name');
128
- setCookie('cookie_name');
129
- deleteCookie('cookie_name');
130
- cookiecook(days);
131
- ```
132
-
133
- ## Модуль Calltouch
134
-
135
- ```js
136
- import { createRequest } from '@alexsab-ru/scripts';
137
-
138
- // Отправка заявки на обратный возов в CallTouch
139
- createRequest("ct_callback", "+7 (987) 654-32-10");
140
-
141
- // для показа лога нужно использовать третий парамтер
142
- createRequest("ct_callback", "+7 (987) 654-32-10", true);
143
- ```
144
-
145
- ## Модуль для форм
146
-
147
- ```js
148
- import { connectForms, cookiecook } from '@alexsab-ru/scripts';
149
-
150
- cookiecook();
151
- connectForms('https://alexsab.ru/lead/test/', function() {
152
- console.log("sucess lead");
153
- });
1
+ # @alexsab-ru/scripts
2
+
3
+ [English](README.md)
4
+
5
+ Общие пакеты для вебсайтов
6
+
7
+ * [Установка](#Установка)
8
+ * [Модуль аналитики](#Модуль-аналитики)
9
+ * [Модуль куков](#Модуль-куков)
10
+ * [Модуль Calltouch](#Модуль-Calltouch)
11
+ * [Модуль для форм](#Модуль-для-форм)
12
+
13
+ ## Установка
14
+ ```bash
15
+ pnpm i @alexsab-ru/scripts
16
+ ```
17
+
18
+ ## Модуль аналитики
19
+
20
+ `reachGoal` и `pageView` функции добавляют в `dataLayer` данные с названием цели
21
+ ```js
22
+ reachGoal("названиеЦели");
23
+ pageView("названиеЦели");
24
+ ```
25
+
26
+ в GTM вы можете использовать их чтобы отправить цели в вашу систему аналитики
27
+
28
+ ```js
29
+ {
30
+ event: "reachGoal-названиеЦели",
31
+ eventAction: "названиеЦели"
32
+ }
33
+ ```
34
+
35
+ Пример:
36
+
37
+ ```js
38
+ import { reachGoal } from '@alexsab-ru/scripts';
39
+
40
+ // Автоматически подключаются из модуля форм
41
+ reachGoal("phone_click");
42
+ reachGoal("phone_copy");
43
+ reachGoal("phone_contextmenu");
44
+ reachGoal("email_click");
45
+ reachGoal("email_copy");
46
+ reachGoal("email_contextmenu");
47
+ ```
48
+
49
+ Для аналитики форм вы можете использовать следующие цели
50
+
51
+ ```js
52
+ reachGoal("form_open");
53
+ reachGoal("form_click"); // автоматически подключаются из модуля форм
54
+ reachGoal("form_change"); // автоматически подключаются из модуля форм
55
+ reachGoal("form_submit");
56
+ reachGoal("form_required");
57
+ reachGoal("form_error");
58
+ reachGoal("form_success");
59
+ ```
60
+
61
+ `getFormDataObject` нужна для отслеживания заявок в Calltouch
62
+
63
+ ```js
64
+ import { getFormDataObject } from '@alexsab-ru/scripts';
65
+
66
+ document.querySelectorAll("form").forEach((form) => {
67
+ form.onsubmit = async (event) => {
68
+
69
+ var formData = new FormData(form);
70
+ // ...
71
+ var formDataObj = getFormDataObject(formData, form.id);
72
+
73
+ await fetch("https://example.com/api/lead/", {
74
+ // ...
75
+ })
76
+ .then((res) => res.json())
77
+ .then((data) => {
78
+ if (data.answer == "required") {
79
+ reachGoal("form_required");
80
+ return;
81
+ } else if (data.answer == "error") {
82
+ reachGoal("form_error");
83
+ return;
84
+ } else {
85
+ reachGoal("form_success", formDataObj);
86
+ }
87
+ form.reset();
88
+ })
89
+ .catch((error) => {
90
+ reachGoal("form_error");
91
+ });
92
+ };
93
+ });
94
+ ```
95
+
96
+ ### Цели могут выполняться такие
97
+
98
+ Взаимодействия с формой
99
+
100
+ - **form_open** – открыл форму
101
+ - **form_click** – кликнул по форме
102
+ - **form_change** – изменения в форме
103
+ - **form_submit** – нажал кнопку Отправить
104
+ - **form_required** – не полное заполнение формы
105
+ - **form_error** – ошибка, данные по какой-то причине не отправились
106
+ - **form_success** – получит положительный ответ от сервера, т.е. данные отправились
107
+ - **form_close** – закрыл форму
108
+
109
+ Взаимодейтсвие с телефоном
110
+
111
+ - **phone_click** — клик по телефону мышкой
112
+ - **phone_contextmenu** — открытие контекстного меню на телефоне правой кнопкой мыши
113
+ - **phone_copy** — копирование выделенного телефона
114
+
115
+ Если где-то есть кликабельный email на странице, то будут отрабатываться цели на нем
116
+
117
+ - **email_click** — клик по email мышкой
118
+ - **email_contextmenu** — открытие контекстного меню на email правой кнопкой мыши
119
+ - **email_copy** — копирование выделенного email
120
+
121
+
122
+ ## Модуль куков
123
+
124
+ ```js
125
+ import { getCookie, setCookie, deleteCookie, cookiecook } from './cookie';
126
+
127
+ getCookie('cookie_name');
128
+ setCookie('cookie_name');
129
+ deleteCookie('cookie_name');
130
+ cookiecook(days);
131
+ ```
132
+
133
+ ## Модуль Calltouch
134
+
135
+ ```js
136
+ import { createRequest } from '@alexsab-ru/scripts';
137
+
138
+ // Отправка заявки на обратный возов в CallTouch
139
+ createRequest("ct_callback", "+7 (987) 654-32-10");
140
+
141
+ // для показа лога нужно использовать третий парамтер
142
+ createRequest("ct_callback", "+7 (987) 654-32-10", true);
143
+ ```
144
+
145
+ ## Модуль для форм
146
+
147
+ ```js
148
+ import { connectForms, cookiecook } from '@alexsab-ru/scripts';
149
+
150
+ cookiecook();
151
+ connectForms('https://alexsab.ru/lead/test/', function() {
152
+ console.log("sucess lead");
153
+ });
154
154
  ```
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export * from './lib/analytics';
2
- export * from './lib/calltouch';
3
- export * from './lib/cookie';
4
- export * from './lib/form';
1
+ export * from './lib/analytics';
2
+ export * from './lib/calltouch';
3
+ export * from './lib/cookie';
4
+ export * from './lib/form';