@topvisor/ui 1.0.41 → 1.0.42-TopSelector.3
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/.chunks/{core-D2o3elGA.amd.js → core-CNHOrWnw.amd.js} +2 -2
- package/.chunks/{core-D2o3elGA.amd.js.map → core-CNHOrWnw.amd.js.map} +1 -1
- package/.chunks/{core-CwjGTMhd.es.js → core-kP5TitXz.es.js} +4 -4
- package/.chunks/{core-CwjGTMhd.es.js.map → core-kP5TitXz.es.js.map} +1 -1
- package/.chunks/{datepicker-Byyye2pn.amd.js → datepicker-DnMEQ2c7.amd.js} +2 -2
- package/.chunks/{datepicker-Byyye2pn.amd.js.map → datepicker-DnMEQ2c7.amd.js.map} +1 -1
- package/.chunks/{datepicker-N83oX3hx.es.js → datepicker-yhtd7Tx4.es.js} +2 -2
- package/.chunks/{datepicker-N83oX3hx.es.js.map → datepicker-yhtd7Tx4.es.js.map} +1 -1
- package/.chunks/{dialog_selectorRegions-pDIYvl7b.amd.js → dialog_selectorRegions-B7ylHRje.amd.js} +2 -2
- package/.chunks/{dialog_selectorRegions-pDIYvl7b.amd.js.map → dialog_selectorRegions-B7ylHRje.amd.js.map} +1 -1
- package/.chunks/{dialog_selectorRegions-lYV2SJBx.es.js → dialog_selectorRegions-C7d9L2z3.es.js} +4 -4
- package/.chunks/{dialog_selectorRegions-lYV2SJBx.es.js.map → dialog_selectorRegions-C7d9L2z3.es.js.map} +1 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-C0n3o7PD.amd.js +2 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-C0n3o7PD.amd.js.map +1 -0
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js → dialogs.vue_vue_type_script_setup_true_lang-ma6AxkKH.es.js} +113 -97
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-ma6AxkKH.es.js.map +1 -0
- package/.chunks/forms-BduN5hFf.amd.js +3 -0
- package/.chunks/{forms-DO87ZZk9.amd.js.map → forms-BduN5hFf.amd.js.map} +1 -1
- package/.chunks/{forms-C-fyoosd.es.js → forms-CiEXUPjB.es.js} +482 -470
- package/.chunks/{forms-C-fyoosd.es.js.map → forms-CiEXUPjB.es.js.map} +1 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CXMPz7WD.es.js +184 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CXMPz7WD.es.js.map +1 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DUKoPDjZ.amd.js +2 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DUKoPDjZ.amd.js.map +1 -0
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-Bi9Z81pC.es.js → menu.vue_vue_type_style_index_0_lang--iamwNSE.es.js} +2 -2
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-Bi9Z81pC.es.js.map → menu.vue_vue_type_style_index_0_lang--iamwNSE.es.js.map} +1 -1
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd.js → menu.vue_vue_type_style_index_0_lang-C9cIXmj2.amd.js} +2 -2
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd.js.map → menu.vue_vue_type_style_index_0_lang-C9cIXmj2.amd.js.map} +1 -1
- package/.chunks/{notice-B8nfJMJN.amd.js → notice-CEYLelBs.amd.js} +2 -2
- package/.chunks/{notice-B8nfJMJN.amd.js.map → notice-CEYLelBs.amd.js.map} +1 -1
- package/.chunks/{notice-DCONQ8rR.es.js → notice-D13FhiHA.es.js} +2 -2
- package/.chunks/{notice-DCONQ8rR.es.js.map → notice-D13FhiHA.es.js.map} +1 -1
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-Dze2ZUr3.es.js → page.vue_vue_type_script_setup_true_lang-B6YquNpa.es.js} +4 -4
- package/.chunks/page.vue_vue_type_script_setup_true_lang-B6YquNpa.es.js.map +1 -0
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-Cg3dLy7K.amd.js → page.vue_vue_type_script_setup_true_lang-DpmKeCWn.amd.js} +2 -2
- package/.chunks/page.vue_vue_type_script_setup_true_lang-DpmKeCWn.amd.js.map +1 -0
- package/.chunks/popup-C5-ffkMJ.amd.js +2 -0
- package/.chunks/popup-C5-ffkMJ.amd.js.map +1 -0
- package/.chunks/{popup-PpCQY5Zi.es.js → popup-a5ndofEo.es.js} +107 -74
- package/.chunks/popup-a5ndofEo.es.js.map +1 -0
- package/.chunks/{utils-DAIrXU57.amd.js → utils-BgjhCn4H.amd.js} +2 -2
- package/.chunks/{utils-DAIrXU57.amd.js.map → utils-BgjhCn4H.amd.js.map} +1 -1
- package/.chunks/{utils-DsICGMuv.es.js → utils-DUw1K93-.es.js} +2 -2
- package/.chunks/{utils-DsICGMuv.es.js.map → utils-DUw1K93-.es.js.map} +1 -1
- package/.chunks/utils-DWmOkm95.amd.js +2 -0
- package/.chunks/utils-DWmOkm95.amd.js.map +1 -0
- package/.chunks/{utils-BcKnFj1j.es.js → utils-DvEz97O5.es.js} +246 -169
- package/.chunks/utils-DvEz97O5.es.js.map +1 -0
- package/assets/core.css +1 -1
- package/assets/forms.css +1 -1
- package/assets/formsExt.css +1 -1
- package/assets/notice.css +1 -1
- package/assets/project.css +1 -1
- package/charts/charts.amd.js +1 -1
- package/charts/charts.js +1 -1
- package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +3 -0
- package/components/dialog/lib/types.d.ts +23 -0
- package/components/dialog/lib/utils.d.ts +8 -8
- package/components/dialog/lib/utils.globalEvents.d.ts +2 -2
- package/components/dialog/lib/worker.d.ts +12 -11
- package/components/forms/button/button.vue.d.ts +2 -5
- package/components/forms/button/types.d.ts +10 -0
- package/components/formsExt/formsExt.d.ts +2 -0
- package/components/formsExt/policy/policy.vue.d.ts +4 -0
- package/components/formsExt/policy/types.d.ts +10 -0
- package/components/formsExt/selector2/composables/useAPI.d.ts +1 -1
- package/components/formsExt/selector2/composables/useMenu.d.ts +5 -1
- package/components/formsExt/selector2/selector2.vue.d.ts +10 -177
- package/components/formsExt/selector2/stories/dummyAPIRequest.d.ts +1 -2
- package/components/formsExt/selector2/types.d.ts +48 -22
- package/components/popup/alert/alert.vue.d.ts +1 -10
- package/components/popup/alert/types.d.ts +2 -2
- package/components/popup/confirm/confirm.vue.d.ts +1 -12
- package/components/popup/confirm/types.d.ts +1 -1
- package/components/popup/lib/popup.d.ts +6 -2
- package/components/popup/lib/worker.d.ts +6 -4
- package/components/popup/popup/opener.vue.d.ts +11 -17
- package/components/popup/popup/popup.vue.d.ts +30 -32
- package/components/popup/popup/types.d.ts +20 -11
- package/components/popup/prompt/prompt.vue.d.ts +1 -12
- package/components/popup/prompt/types.d.ts +1 -1
- package/core/app.amd.js +1 -1
- package/core/app.js +5 -5
- package/core/core/core.d.ts +1 -1
- package/core/core/options.d.ts +7 -6
- package/core/core/state.d.ts +1 -1
- package/core/plugins/core.d.ts +1 -1
- package/core/utils/date.d.ts +30 -12
- package/core/utils/dom.d.ts +11 -1
- package/core/utils/string.d.ts +1 -1
- package/dialog/dialog.amd.js +1 -1
- package/dialog/dialog.js +2 -2
- package/forms/forms.amd.js +1 -1
- package/forms/forms.js +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +434 -311
- package/formsExt/formsExt.js.map +1 -1
- package/icomoon/demo.html +15 -1
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +1 -0
- package/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/icomoon/fonts/Topvisor-2.woff +0 -0
- package/icomoon/selection.json +1 -1
- package/icomoon/style.css +8 -5
- package/layout/layout.amd.js +1 -1
- package/layout/layout.js +1 -1
- package/package.json +1 -1
- package/popup/popup.amd.js +1 -1
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.js +27 -24
- package/popup/popup.js.map +1 -1
- package/popup/worker.amd.js +1 -1
- package/popup/worker.amd.js.map +1 -1
- package/popup/worker.js +30 -21
- package/popup/worker.js.map +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +6 -6
- package/project/project.js.map +1 -1
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.js +1 -1
- package/utils/clipboard.amd.js +1 -1
- package/utils/clipboard.js +1 -1
- package/utils/date.amd.js +1 -1
- package/utils/date.js +4 -3
- package/utils/device.amd.js +1 -1
- package/utils/device.js +1 -1
- package/utils/dom.amd.js +1 -1
- package/utils/dom.amd.js.map +1 -1
- package/utils/dom.js +27 -22
- package/utils/dom.js.map +1 -1
- package/utils/lodash.amd.js +1 -1
- package/utils/lodash.js +1 -1
- package/utils/price.amd.js +1 -1
- package/utils/price.js +1 -1
- package/utils/searchers.amd.js +1 -1
- package/utils/searchers.js +3 -3
- package/utils/string.amd.js +1 -1
- package/utils/string.amd.js.map +1 -1
- package/utils/string.js +34 -30
- package/utils/string.js.map +1 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd.js +0 -2
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js.map +0 -1
- package/.chunks/forms-DO87ZZk9.amd.js +0 -3
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BJTTvdc7.es.js +0 -181
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BJTTvdc7.es.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DDQSxC8E.amd.js +0 -2
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DDQSxC8E.amd.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-Cg3dLy7K.amd.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-Dze2ZUr3.es.js.map +0 -1
- package/.chunks/popup-PpCQY5Zi.es.js.map +0 -1
- package/.chunks/popup-XXfdNLmr.amd.js +0 -2
- package/.chunks/popup-XXfdNLmr.amd.js.map +0 -1
- package/.chunks/utils-BcKnFj1j.es.js.map +0 -1
- package/.chunks/utils-pvFg1FqE.amd.js +0 -2
- package/.chunks/utils-pvFg1FqE.amd.js.map +0 -1
- package/icomoon/Topvisor icons.json +0 -6612
|
@@ -1,40 +1,38 @@
|
|
|
1
1
|
import { TopLibPopup } from '../lib/popup';
|
|
2
2
|
import { Props, PopupEvent } from './types';
|
|
3
|
-
import {
|
|
4
|
-
declare
|
|
5
|
-
|
|
3
|
+
import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
|
|
4
|
+
declare const _default: <T extends Record<string, any> | undefined = undefined>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
5
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
6
|
+
readonly onClose?: ((popupEvent: PopupEvent<T>) => any) | undefined;
|
|
7
|
+
readonly onOpen?: ((popupEvent: PopupEvent<T>) => any) | undefined;
|
|
8
|
+
readonly onScrollContentList?: ((e: Event) => any) | undefined;
|
|
9
|
+
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onClose" | "onOpen" | "onScrollContentList"> & Props<T> & Partial<{}>> & PublicProps;
|
|
10
|
+
expose(exposed: ShallowUnwrapRef<{
|
|
11
|
+
id: string;
|
|
12
|
+
popup: TopLibPopup<T> | undefined;
|
|
13
|
+
}>): void;
|
|
14
|
+
attrs: any;
|
|
6
15
|
slots: {
|
|
7
16
|
opener?(_: {}): any;
|
|
8
|
-
header?(_: {
|
|
17
|
+
header?(_: {
|
|
18
|
+
data: T | undefined;
|
|
19
|
+
}): any;
|
|
9
20
|
widget?(_: {}): any;
|
|
10
|
-
content?(_: {
|
|
11
|
-
|
|
12
|
-
|
|
21
|
+
content?(_: {
|
|
22
|
+
data: T | undefined;
|
|
23
|
+
}): any;
|
|
24
|
+
contentList?(_: {
|
|
25
|
+
data: T | undefined;
|
|
26
|
+
}): any;
|
|
27
|
+
footer?(_: {
|
|
28
|
+
data: T | undefined;
|
|
29
|
+
}): any;
|
|
13
30
|
};
|
|
14
|
-
|
|
15
|
-
|
|
31
|
+
emit: ((evt: "close", popupEvent: PopupEvent<T>) => void) & ((evt: "open", popupEvent: PopupEvent<T>) => void) & ((evt: "scrollContentList", e: Event) => void);
|
|
32
|
+
}>) => VNode & {
|
|
33
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
16
34
|
};
|
|
17
|
-
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
18
|
-
declare const __VLS_component: DefineComponent<Props, {
|
|
19
|
-
popup: TopLibPopup | undefined;
|
|
20
|
-
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
21
|
-
close: (popupEvent: PopupEvent) => any;
|
|
22
|
-
open: (popupEvent: PopupEvent) => any;
|
|
23
|
-
scrollContentList: (e: Event) => any;
|
|
24
|
-
}, string, PublicProps, Readonly<Props> & Readonly<{
|
|
25
|
-
onClose?: ((popupEvent: PopupEvent) => any) | undefined;
|
|
26
|
-
onOpen?: ((popupEvent: PopupEvent) => any) | undefined;
|
|
27
|
-
onScrollContentList?: ((e: Event) => any) | undefined;
|
|
28
|
-
}>, {
|
|
29
|
-
id: string;
|
|
30
|
-
posBy: "fixed" | "left" | "right";
|
|
31
|
-
pos: "0" | "1" | "2" | "3" | "4";
|
|
32
|
-
notch: boolean;
|
|
33
|
-
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
34
|
-
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
35
35
|
export default _default;
|
|
36
|
-
type
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
};
|
|
40
|
-
};
|
|
36
|
+
type __VLS_PrettifyLocal<T> = {
|
|
37
|
+
[K in keyof T]: T[K];
|
|
38
|
+
} & {};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export interface Props extends OpenerProps {
|
|
1
|
+
export interface Props<T extends Record<string, any> | undefined = undefined> extends OpenerProps<T> {
|
|
2
2
|
/**
|
|
3
|
-
* Уникальный id
|
|
3
|
+
* Уникальный id компонента
|
|
4
|
+
*
|
|
5
|
+
* Используется только в setup, т.е. изменение `id` будет проигнорировано
|
|
4
6
|
*
|
|
5
7
|
* Генерируется автоматически при создании кнопки Popup
|
|
6
8
|
*
|
|
@@ -23,25 +25,31 @@ export interface Props extends OpenerProps {
|
|
|
23
25
|
*/
|
|
24
26
|
footerSupportLink?: string;
|
|
25
27
|
}
|
|
26
|
-
export type PopupEvent = {
|
|
28
|
+
export type PopupEvent<T extends Record<string, any> | undefined> = {
|
|
27
29
|
elPopup: HTMLElement;
|
|
28
30
|
elPopupOpener: HTMLElement;
|
|
31
|
+
/**
|
|
32
|
+
* Данные, с которым был открыт Popup
|
|
33
|
+
*
|
|
34
|
+
* @see {OpenerProps['data']}
|
|
35
|
+
*/
|
|
36
|
+
data: OpenerProps<T>['data'];
|
|
29
37
|
};
|
|
30
|
-
export type Emits = {
|
|
38
|
+
export type Emits<T extends Record<string, any> | undefined> = {
|
|
31
39
|
/**
|
|
32
40
|
* Будет вызвано при открытии Popup
|
|
33
41
|
*/
|
|
34
|
-
open: [popupEvent: PopupEvent];
|
|
42
|
+
open: [popupEvent: PopupEvent<T>];
|
|
35
43
|
/**
|
|
36
44
|
* Будет вызвано после закрытия Popup перед его удалением
|
|
37
45
|
*/
|
|
38
|
-
close: [popupEvent: PopupEvent];
|
|
46
|
+
close: [popupEvent: PopupEvent<T>];
|
|
39
47
|
/**
|
|
40
48
|
* Будет вызвано при скролле списка в Popup
|
|
41
49
|
*/
|
|
42
50
|
scrollContentList: [e: Event];
|
|
43
51
|
};
|
|
44
|
-
export interface OpenerProps {
|
|
52
|
+
export interface OpenerProps<T extends Record<string, any> | undefined = undefined> {
|
|
45
53
|
/**
|
|
46
54
|
* id компонента Popup, который необходимо открыть
|
|
47
55
|
*/
|
|
@@ -72,14 +80,15 @@ export interface OpenerProps {
|
|
|
72
80
|
* fixed - по документу
|
|
73
81
|
*/
|
|
74
82
|
posBy?: 'fixed' | 'left' | 'right';
|
|
83
|
+
data?: T;
|
|
75
84
|
}
|
|
76
85
|
export interface ListItemProps {
|
|
77
86
|
/**
|
|
78
87
|
* Тип элемента списка
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
88
|
+
* - button: обычный кликабельный (выбираемый) элемент, поддерживает вставку ссылок через атрибут href
|
|
89
|
+
* - regular: произвольное содержимое
|
|
90
|
+
* - title: заголовок
|
|
91
|
+
* - delimiter: разделитель
|
|
83
92
|
*/
|
|
84
93
|
type?: 'button' | 'regular' | 'title' | 'delimiter';
|
|
85
94
|
/**
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { PopupEvent } from '../popup/types';
|
|
2
1
|
import { Props } from './types';
|
|
3
2
|
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
4
3
|
declare function __VLS_template(): {
|
|
@@ -13,17 +12,7 @@ declare function __VLS_template(): {
|
|
|
13
12
|
rootEl: any;
|
|
14
13
|
};
|
|
15
14
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
16
|
-
declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
17
|
-
close: (popupEvent: PopupEvent) => any;
|
|
18
|
-
open: (popupEvent: PopupEvent) => any;
|
|
19
|
-
submit: (value: string) => any;
|
|
20
|
-
scrollContentList: (e: Event) => any;
|
|
21
|
-
}, string, PublicProps, Readonly<Props> & Readonly<{
|
|
22
|
-
onClose?: ((popupEvent: PopupEvent) => any) | undefined;
|
|
23
|
-
onOpen?: ((popupEvent: PopupEvent) => any) | undefined;
|
|
24
|
-
onSubmit?: ((value: string) => any) | undefined;
|
|
25
|
-
onScrollContentList?: ((e: Event) => any) | undefined;
|
|
26
|
-
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, any, string, PublicProps, any, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
27
16
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
28
17
|
export default _default;
|
|
29
18
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
@@ -13,7 +13,7 @@ export interface Props extends PopupProps {
|
|
|
13
13
|
*/
|
|
14
14
|
defaultValue?: string;
|
|
15
15
|
}
|
|
16
|
-
export type Emits = PopupEmits & {
|
|
16
|
+
export type Emits<T extends Record<string, any> | undefined> = PopupEmits<T> & {
|
|
17
17
|
/**
|
|
18
18
|
* Будет вызвано при нажатии кнопки подтверждения
|
|
19
19
|
*/
|
package/core/app.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/forms-
|
|
1
|
+
define(["require","exports","../.chunks/forms-BduN5hFf.amd","../.chunks/core-CNHOrWnw.amd","vue","../utils/clipboard.amd","../utils/string.amd","../utils/route.amd","../.chunks/utils-BgjhCn4H.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-C0n3o7PD.amd"],function(y,n,c,l,d,m,S,p,g,k){"use strict";if(typeof d>"u")var d=window.Vue;class E{#s;#t;#e;#i;#c;#a=[];#o=[];#n=[];#r=[];constructor(s){var t;this.#t=s.store,this.#s=this.#t.$id,this.#e=s.options.Page,this.#i=s.options.user,this.#c=s.options.Api,this.#a=s.options.tpaNamesUrlHash||[],this.#o=s.options.tpaNamesStorage||[],this.#n=s.options.tpaNamesStorageLocal||[],this.#r=s.options.tpaNamesGuestLink||[],s.store.genGuestLink=(i,a)=>this.genGuestLink(i,a),(t=this.#i.guest_data)!=null&&t.data||(this.#u(),this.#u(!0),this.#l()),this.#S(),this.#k();const e=c.debounce(()=>{this.#m(),this.#p(),this.#p(!0)});s.store.$subscribe(e)}async genGuestLink(s,e){const t=this.#g();e=Object.assign(e,Object.fromEntries(t));const i=await this.#c.gen(s,"fetchColumn").call({},e);i!=null&&i.errors||await m.guestLinkToClipboard(i.result)}#g(){const s=new Map;return this.#r.forEach(e=>{const t=S.camelToSnakeCase(e);s.set(t,this.#t[e])}),s}#h(s){s.forEach((e,t)=>{const i=this.#t[t];if(e!=null&&i!==void 0&&e!=null&&e.constructor&&e.constructor===i.constructor){if(t.indexOf("date")===0&&!Array.isArray(e)){if(typeof e=="string"&&!/\d\d\d\d-\d\d-\d\d/.test(e))return}this.#t[t]=e}})}#f(s){const e=new Map;return s.forEach((t,i)=>{t!==null&&(t=JSON.stringify(t),e.set(i,t))}),e}#d(s){const e=new Map;return s.forEach((t,i)=>{if(!(t==null||t==="false")){try{if(typeof t=="string"&&!/^\d\d\d\d-\d\d-\d\d$/.test(t)&&(t=JSON.parse(t)),t==null||t==="false")return}catch{}e.set(i,t)}}),e}#l(){let s;try{s=JSON.parse(p.getHash(this.#s))}catch{}if(!s)return;const e=new Map;this.#a.forEach(t=>{const i=s[t];i&&e.set(t,i)}),this.#h(e)}#m(){const s=new Map;this.#a.forEach(i=>{const a=this.#t[i];s.set(i,a)});const e=Object.fromEntries(s),t=JSON.stringify(e);p.setHash(this.#s,t)}#u(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=localStorage.getItem(i+":"+o);e.set(o,r)});const a=this.#d(e);this.#h(a)}#p(s=!1){const e=new Map;let t=this.#o,i="state:"+this.#s;s&&(t=this.#n,i="state:"+this.#s+":"+location.pathname),t.forEach(o=>{const r=this.#t[o];e.set(o,r)});const a=this.#f(e);t.forEach(o=>{const r=a.get(o);localStorage.setItem(i+":"+o,r)})}#S(){var a,o,r;const s=(o=(a=this.#i)==null?void 0:a.guest_data)==null?void 0:o.data;if(!s)return;this.#i.id===-1&&(this.#i.positionsReverseDates=s.positionsReverseDates);const e=new Map;this.#r.forEach(h=>{const u=s[h];e.set(h,u)});const t=this.#d(e);this.#h(t);const i=$(".mod_guest_title");if(((r=this.#t.competitorsIds)==null?void 0:r.length)===1&&this.#e.page.data.competitors){let h=this.#e.page.data.competitors.filter(u=>u.id===s.competitorsIds[0]);h.length&&($("a",i).attr("href","http://"+h[0].url),$("a",i).text(h[0].name))}}#k(){this.#t.regionsIndexes&&d.watch(this.#t.regionsIndexes,s=>{if(!s.length)return;s.forEach((i,a)=>s[a]=i);const e=TplProjectSelectorRegion.genSearchersMap(),t=[];e.forEach(i=>{i.regions.forEach(a=>{a.index!==-1&&t.push(a.index)})}),this.#t.regionsIndexes=s.filter(i=>t.includes(i))},{immediate:!0}),this.#t.competitorsIds&&d.watch(this.#t.competitorsIds,s=>{if(!s.length)return;s.forEach((t,i)=>s[i]=t);const e=[this.#e.page.data.project.id];this.#e.page.data.project.competitors.forEach(t=>{t.on>=0&&e.push(t.id)}),this.#t.competitorsIds=s.filter(t=>e.includes(t))},{immediate:!0})}}const w=f=>{var e,t,i,a;const s=f;!((e=s.options.tpaNamesUrlHash)!=null&&e.length)&&!((t=s.options.tpaNamesStorage)!=null&&t.length)&&!((i=s.options.tpaNamesStorageLocal)!=null&&i.length)&&!((a=s.options.tpaNamesGuestLink)!=null&&a.length)||new E(s)};n.Core=c.Core,n.i18nPlugin=c.i18n,n.useI18n=c.useI18n,n.useI18nLang=c.useI18nLang,n.corePlugin=l.core,n.useAsyncTopDialog=g.useAsyncTopDialog,n.useTopDialog=g.useTopDialog,n.TopDialogWorker=k.TopDialogWorker,n.piniaTPAPlugin=w,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=app.amd.js.map
|
package/core/app.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { d } from "../.chunks/forms-
|
|
2
|
-
import { C as P, i as T, u as b, a as y } from "../.chunks/forms-
|
|
3
|
-
import { c as G } from "../.chunks/core-
|
|
1
|
+
import { d } from "../.chunks/forms-CiEXUPjB.es.js";
|
|
2
|
+
import { C as P, i as T, u as b, a as y } from "../.chunks/forms-CiEXUPjB.es.js";
|
|
3
|
+
import { c as G } from "../.chunks/core-kP5TitXz.es.js";
|
|
4
4
|
import { watch as p } from "vue";
|
|
5
5
|
import { guestLinkToClipboard as f } from "../utils/clipboard.js";
|
|
6
6
|
import { camelToSnakeCase as g } from "../utils/string.js";
|
|
7
7
|
import { getHash as m, setHash as l } from "../utils/route.js";
|
|
8
|
-
import { u as A, a as D } from "../.chunks/utils-
|
|
9
|
-
import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-
|
|
8
|
+
import { u as A, a as D } from "../.chunks/utils-DUw1K93-.es.js";
|
|
9
|
+
import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-ma6AxkKH.es.js";
|
|
10
10
|
class u {
|
|
11
11
|
#s;
|
|
12
12
|
#t;
|
package/core/core/core.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export default class Core {
|
|
|
11
11
|
documentClassModificators: Map<string | number, string> & Omit<Map<string | number, string>, keyof Map<any, any>>;
|
|
12
12
|
dateFormat: string;
|
|
13
13
|
currency: "USD" | "RUB" | "EUR";
|
|
14
|
-
|
|
14
|
+
timezoneOffset: number;
|
|
15
15
|
isMobile: boolean;
|
|
16
16
|
isMobileUA: boolean;
|
|
17
17
|
isRetina: boolean;
|
package/core/core/options.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Конфигурация UI
|
|
3
3
|
*
|
|
4
|
-
* Начальные значений
|
|
4
|
+
* Начальные значений устанавливаются при подключении Core во Vue приложение через app.use(PluginCore, options)
|
|
5
5
|
*/
|
|
6
6
|
declare const _default: {
|
|
7
7
|
/**
|
|
@@ -17,7 +17,7 @@ declare const _default: {
|
|
|
17
17
|
/**
|
|
18
18
|
* CSS-классы модификаторы для документа страницы
|
|
19
19
|
*
|
|
20
|
-
* Могут
|
|
20
|
+
* Могут использоваться компонентами для включения необходимых режимов отображения страницы
|
|
21
21
|
*
|
|
22
22
|
* Разные компоненты могут добавлять один и тот же класс, чтобы не было конфликтов каждый компонент управляет только своим классом:
|
|
23
23
|
* - Ключ - уникальное имя компонента, например в setup: `const uid = Math.random();`
|
|
@@ -31,16 +31,17 @@ declare const _default: {
|
|
|
31
31
|
*/
|
|
32
32
|
widthForMobile: number;
|
|
33
33
|
/**
|
|
34
|
-
* Формат даты, который будет
|
|
34
|
+
* Формат даты, который будет использоваться по умолчанию для вывода даты, как правило, зависит от текущего пользователя
|
|
35
35
|
*/
|
|
36
36
|
dateFormat: string;
|
|
37
37
|
/**
|
|
38
|
-
* Валюта, которая будет
|
|
38
|
+
* Валюта, которая будет использоваться по умолчанию, как правило, зависит от текущего пользователя
|
|
39
39
|
*/
|
|
40
40
|
currency: "RUB" | "USD" | "EUR";
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* Смещение timezone относительно UTC в минутах
|
|
43
|
+
* Для Москвы: -180
|
|
43
44
|
*/
|
|
44
|
-
|
|
45
|
+
timezoneOffset: number;
|
|
45
46
|
};
|
|
46
47
|
export default _default;
|
package/core/core/state.d.ts
CHANGED
package/core/plugins/core.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ declare module '@vue/runtime-core' {
|
|
|
42
42
|
TopDialogs: typeof TopDialogs;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
type CoreOptions = PartialBy<typeof coreDefaultOptions, '
|
|
45
|
+
type CoreOptions = PartialBy<typeof coreDefaultOptions, 'timezoneOffset' | 'documentClassModificators'>;
|
|
46
46
|
type Options = CoreOptions & {
|
|
47
47
|
topPopupOptions?: TopPopupOptions;
|
|
48
48
|
topDialogOptions?: TopDialogOptions;
|
package/core/utils/date.d.ts
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
* Работа с датами
|
|
3
3
|
* @packageDocumentation
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Уровень детализации времени
|
|
7
|
+
*
|
|
8
|
+
* - 0: только дата
|
|
9
|
+
* - 1: дата и часы
|
|
10
|
+
* - 2: дата и часы с минутами
|
|
11
|
+
* - 3: дата и часы с минутами и секундами
|
|
12
|
+
*/
|
|
13
|
+
type Time = 0 | 1 | 2 | 3;
|
|
5
14
|
/**
|
|
6
15
|
* Получить день недели
|
|
7
16
|
*/
|
|
@@ -10,26 +19,32 @@ export declare const getDayOfWeek: (y: number, m: number, d: number) => string;
|
|
|
10
19
|
* Преобразовать дату в строку формата Y-m-d H:i:s
|
|
11
20
|
* @param dateObject - объект Date
|
|
12
21
|
* @param langFormat - если true, формат даты будет взят из Core.state.dateFormat
|
|
13
|
-
* @param timeFormat -
|
|
22
|
+
* @param timeFormat - уровень детализации времени
|
|
14
23
|
*/
|
|
15
|
-
export declare const dateToString: (dateObject: Date, langFormat?: boolean, timeFormat?:
|
|
24
|
+
export declare const dateToString: (dateObject: Date, langFormat?: boolean, timeFormat?: Time) => string;
|
|
16
25
|
/**
|
|
17
26
|
* Получить объект Date из строки
|
|
18
27
|
* @param date - строка с датой
|
|
19
28
|
*/
|
|
20
29
|
export declare function stringToDate(date: string): Date;
|
|
30
|
+
/**
|
|
31
|
+
* Генерация даты-строки из миллисекунд (UTC), в формате Y-m-d H:i:s с учётом часового пояса пользователя
|
|
32
|
+
*
|
|
33
|
+
* Для настройки часового пояса пользователя используется `Core.state.timezoneOffset`
|
|
34
|
+
*
|
|
35
|
+
* @see genDate()
|
|
36
|
+
*/
|
|
37
|
+
export declare const genUserDate: (timestamp?: number, useFormat?: boolean, time?: Time | "auto") => string;
|
|
21
38
|
/**
|
|
22
39
|
* Генерация даты-строки из миллисекунд (UTC), в формате Y-m-d H:i:s
|
|
23
40
|
* @param timestamp - дата в мс, если не передана, берется дата на момент вызова функции
|
|
24
41
|
* @param useFormat - если true, формат даты будет взят из Core.state.dateFormat
|
|
25
|
-
* @param time
|
|
26
|
-
* -
|
|
27
|
-
* -
|
|
28
|
-
*
|
|
29
|
-
* - 3: дата и часы с минутами и секундами
|
|
30
|
-
* - auto: часы и минуты будут выводиться только, если они не равны нулю
|
|
42
|
+
* @param time - уровень детализации времени
|
|
43
|
+
* - auto: часы и минуты будут выводиться, только если они не равны нулю
|
|
44
|
+
* @param timezoneOffset - смещение часового пояса от UTC в минутах.
|
|
45
|
+
* Если не указано используется локальный часовой пояс пользователя
|
|
31
46
|
*/
|
|
32
|
-
export declare function genDate(timestamp
|
|
47
|
+
export declare function genDate(timestamp?: number, useFormat?: boolean, time?: Time | 'auto', timezoneOffset?: number): string;
|
|
33
48
|
/**
|
|
34
49
|
* Генерация даты-строки (время московское) из миллисекунд (UTC), в формате Y-m-d H:i:s
|
|
35
50
|
* @param ms - дата в мс, если не передана, берется дата на момент вызова функции
|
|
@@ -39,14 +54,17 @@ export declare function genDateMoscow(ms: number | undefined, useFormat?: boolea
|
|
|
39
54
|
/**
|
|
40
55
|
* Перевод даты в формат пользователя
|
|
41
56
|
* @param dateMixed - объект даты или строка в формате Y-m-d H:i:s
|
|
42
|
-
* @param time -
|
|
43
|
-
* @param dateFormat -
|
|
57
|
+
* @param time - уровень детализации времени
|
|
58
|
+
* @param dateFormat - формат даты, если не указан, будет взят из Core.state.dateFormat
|
|
44
59
|
* @param emptyValue - значение, которое надо вернуть, если дата не указана
|
|
60
|
+
*
|
|
61
|
+
* @todo Привести к единой логике обработку строк и дат
|
|
45
62
|
*/
|
|
46
|
-
export declare function dateFormat(dateMixed: string | Date, time?:
|
|
63
|
+
export declare function dateFormat(dateMixed: string | Date, time?: Time, dateFormat?: string, emptyValue?: string): string;
|
|
47
64
|
/**
|
|
48
65
|
* Перевод даты из формата пользователя в системный формат Y-m-d H:i:s
|
|
49
66
|
* @param date - строка с датой
|
|
50
67
|
* @param emptyValue - значение, которое надо вернуть, если дата не указана
|
|
51
68
|
*/
|
|
52
69
|
export declare function dateUnformat(date: string, emptyValue?: string): string;
|
|
70
|
+
export {};
|
package/core/utils/dom.d.ts
CHANGED
|
@@ -27,11 +27,20 @@ export declare function offset(el: HTMLElement): {
|
|
|
27
27
|
};
|
|
28
28
|
/**
|
|
29
29
|
* Получить значение css свойства элемента
|
|
30
|
+
*
|
|
30
31
|
* @param el
|
|
31
32
|
* @param property - имя свойства
|
|
32
33
|
* @return - значение css стиля
|
|
33
34
|
*/
|
|
34
35
|
export declare function css(el: HTMLElement, property: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Получить значение css свойства целочисленного типа
|
|
38
|
+
*
|
|
39
|
+
* @param el
|
|
40
|
+
* @param property - имя свойства
|
|
41
|
+
* @return - значение css стиля
|
|
42
|
+
*/
|
|
43
|
+
export declare function cssNumber(el: HTMLElement, property: string): number;
|
|
35
44
|
/**
|
|
36
45
|
* Обернуть элемент и вернуть только что созданный элемент
|
|
37
46
|
* @param el - элемент, который требуется обернуть
|
|
@@ -61,7 +70,7 @@ export declare function querySelectorAllVisible(el: HTMLElement | Document, sele
|
|
|
61
70
|
* @param el - корневой элемент поиска
|
|
62
71
|
* @param selectors - см. параметр selectors в Document.querySelectorAll()
|
|
63
72
|
*/
|
|
64
|
-
export declare function querySelectorAllArray(el: HTMLElement | Document, selectors: string):
|
|
73
|
+
export declare function querySelectorAllArray<El extends HTMLElement = HTMLElement>(el: HTMLElement | Document, selectors: string): El[];
|
|
65
74
|
/**
|
|
66
75
|
* Хранилище данных элемента
|
|
67
76
|
* @param el
|
|
@@ -83,6 +92,7 @@ declare const _default: {
|
|
|
83
92
|
isVisible: typeof isVisible;
|
|
84
93
|
offset: typeof offset;
|
|
85
94
|
css: typeof css;
|
|
95
|
+
cssNumber: typeof cssNumber;
|
|
86
96
|
wrap: typeof wrap;
|
|
87
97
|
querySelectorVisible: typeof querySelectorVisible;
|
|
88
98
|
querySelectorVisibleLast: typeof querySelectorVisibleLast;
|
package/core/utils/string.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export declare const nl2br: (str: string) => string;
|
|
|
38
38
|
* @param dimension - размерность, по умолчанию 1000
|
|
39
39
|
* @param suffix - суффикс к десятичной приставке (по умолчанию выводится латинская заглавная буква)
|
|
40
40
|
*/
|
|
41
|
-
export declare const numberWithWord: (number: number, precision?: number, dimension?: number, suffix?: string) => string;
|
|
41
|
+
export declare const numberWithWord: (number: number | string, precision?: number, dimension?: number, suffix?: string) => string;
|
|
42
42
|
/**
|
|
43
43
|
* Обрезать текст под три точки
|
|
44
44
|
* @param string
|
package/dialog/dialog.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-DpmKeCWn.amd","vue","../.chunks/utils-BgjhCn4H.amd"],function(c,n,u,e,t){"use strict";if(typeof e>"u")var e=window.Vue;const i={name:{type:String,required:!0},order:{type:Number,required:!0},prevName:String,footerFullWith:Boolean},l=e.defineComponent({__name:"pageComponent",props:{component:{},keepAlive:{type:Boolean,default:!0},props:{},name:{},order:{},prevName:{},footerFullWith:{type:Boolean}},setup(m){const a=m,r=t.useTopDialogSelf(),s=(o,p)=>{if(!p.value){if(o.name!=="AsyncComponentWrapper"){p.value=!0;return}r.needShowPage(a.name)&&(r.isLoadingPage.value=!0,o.__asyncResolved&&(p.value=!0,r.isLoadingPage.value=!1))}};if(a.component.name==="AsyncComponentWrapper"){const o=e.ref(!1);e.onUpdated(()=>{s(a.component,o)})}return(o,p)=>(e.openBlock(),e.createBlock(e.KeepAlive,{include:o.keepAlive?"":"none"},[e.unref(r).needShowPage(o.name)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.component),e.mergeProps({key:0},a,{name:o.name,order:o.order,prevName:o.prevName}),null,16,["name","order","prevName"])):e.createCommentVNode("",!0)],1032,["include"]))}});n.TopDialog=u._sfc_main,n.TopDialogPage=u._sfc_main$1,n.useTopDialogSelf=t.useTopDialogSelf,n.TopDialogPageComponent=l,n.propsPageCommon=i,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=dialog.amd.js.map
|
package/dialog/dialog.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { _ as k, a as B } from "../.chunks/page.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import { _ as k, a as B } from "../.chunks/page.vue_vue_type_script_setup_true_lang-B6YquNpa.es.js";
|
|
2
2
|
import { defineComponent as l, ref as i, onUpdated as u, createBlock as a, openBlock as p, KeepAlive as s, createCommentVNode as d, unref as g, resolveDynamicComponent as c, mergeProps as f } from "vue";
|
|
3
|
-
import { b as v } from "../.chunks/utils-
|
|
3
|
+
import { b as v } from "../.chunks/utils-DUw1K93-.es.js";
|
|
4
4
|
const C = {
|
|
5
5
|
name: {
|
|
6
6
|
type: String,
|
package/forms/forms.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/forms-
|
|
1
|
+
define(["require","exports","../.chunks/forms-BduN5hFf.amd"],function(o,T,a){"use strict";if(typeof e>"u")var e=window.Vue;T.TopAvatar=a.TopAvatar,T.TopButton=a.TopButton,T.TopCaption=a.TopCaption,T.TopCheckbox=a.TopCheckbox,T.TopControlLabel=a.TopControlLabel,T.TopHint=a.TopHint,T.TopInput=a.TopInput,T.TopInputDate=a.TopInputDate,T.TopInputRange=a.TopInputRange,T.TopLoadbar=a.TopLoadbar,T.TopPreloader=a.TopPreloader,T.TopRadio=a.TopRadio,T.TopSelect=a.TopSelect,T.TopSwitcher=a.TopSwitcher,T.TopTextarea=a.TopTextarea,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=forms.amd.js.map
|
package/forms/forms.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { T as p, g as T,
|
|
1
|
+
import { T as p, g as T, X as s, h as t, j as e, k as r, l as n, m as l, n as i, o as u, x, p as b, q as c, r as d, s as h } from "../.chunks/forms-CiEXUPjB.es.js";
|
|
2
2
|
export {
|
|
3
3
|
p as TopAvatar,
|
|
4
4
|
T as TopButton,
|
package/formsExt/formsExt.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","vue","../.chunks/forms-DO87ZZk9.amd","../popup/popup.amd","../utils/keyboard.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd","../require/css.amd!../assets/formsExt.css"],function(te,B,e,k,g,V,T){"use strict";if(typeof e>"u")var e=window.Vue;const E={class:"top-editArea_footer"},S=e.defineComponent({__name:"editArea",props:{defaultValue:{default:""},title:{},cancelText:{default:"Cancel"},submitText:{default:"Send"},closeText:{default:"Close"},isFocused:{type:Boolean},forceShowCloseBtn:{type:Boolean},attachToKeyboard:{type:Boolean},modelValue:{},name:{},placeholder:{},styling:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{},maxLength:{}},emits:["submit","close","clickOnTitle"],setup(a,{emit:t}){const o=a,r=t,i=e.ref(o.defaultValue),l=e.ref(o.isFocused),c=e.computed(()=>i.value!==o.defaultValue),p=u=>{r("submit",u),i.value=o.defaultValue},v=()=>{if(o.forceShowCloseBtn&&!c.value){r("close");return}i.value=o.defaultValue},y=()=>{o.attachToKeyboard&&r("clickOnTitle")};return(u,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":u.attachToKeyboard})},[u.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:m[0]||(m[0]=s=>y())},e.toDisplayString(u.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-error":u.isError,"top-focus":l.value})},[e.createVNode(k._sfc_main$3,{modelValue:i.value,"onUpdate:modelValue":m[1]||(m[1]=s=>i.value=s),name:u.name,placeholder:u.placeholder,rows:u.rows,minHeight:u.minHeight,expandable:u.expandable,disabled:u.disabled,readonly:u.readonly,isError:u.isError,hint:u.hint,class:"top-editArea_element",onFocus:m[2]||(m[2]=()=>l.value=!0),onBlur:m[3]||(m[3]=()=>l.value=!1),onKeyup:[e.withKeys(v,["esc"]),m[4]||(m[4]=e.withKeys(e.withModifiers(s=>p(i.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),e.createElementVNode("div",E,[c.value||u.forceShowCloseBtn?(e.openBlock(),e.createBlock(k._sfc_main,{key:0,icon:u.$core.state.isMobile?"":"",class:"top-editArea_button",color:"theme",styling:"soft",onClick:v},e.createSlots({_:2},[u.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.cancelText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createBlock(k._sfc_main,{key:1,class:"top-editArea_button",icon:u.$core.state.isMobile?"":"",onClick:m[5]||(m[5]=s=>p(i.value))},e.createSlots({_:2},[u.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.submitText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0)])],2)],2))}}),A={class:"top-editInput"},$=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(a,{emit:t}){const o=a,r=e.ref(o.modelValue);e.watch(e.toRef(o.modelValue),()=>{r.value=o.modelValue});const i=t,l=()=>{i("update:modelValue",r.value)};return(c,p)=>(e.openBlock(),e.createElementBlock("div",A,[e.createVNode(k._sfc_main$2,e.mergeProps(c.input,{onKeydownCapture:p[0]||(p[0]=e.withKeys(e.withModifiers(v=>r.value=c.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(l,["stop"]),["enter"]),modelValue:r.value,"onUpdate:modelValue":p[1]||(p[1]=v=>r.value=v)}),null,16,["onKeydown","modelValue"]),r.value!==c.modelValue?(e.openBlock(),e.createBlock(k._sfc_main,e.mergeProps({key:0,icon:"",styling:"soft"},c.button,{onClick:l}),null,16)):e.createCommentVNode("",!0)]))}}),I=["data-top-icon","onClick"],N={key:0,class:"top-radioGroup_circle"},M=["value","disabled"],L=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=e.useModel(a,"modelValue"),o=a,r=e.ref(null);e.watch(t,()=>{var l,c,p,v,y;(l=o.radiosProps)!=null&&l.some(u=>u.value===t.value)||(t.value=((p=(c=o.radiosProps)==null?void 0:c[0])==null?void 0:p.value)??""),(y=(v=r.value)==null?void 0:v.querySelector(".radioGroup_item-selected"))==null||y.scrollIntoView()},{immediate:!0});const i="radioGroup-"+Math.random();return(l,c)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:r,class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+l.size]:!!l.size,"top-error":l.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.radiosProps,p=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":p.value===t.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":p.disabled}),"data-top-icon":p.icon,onClick:v=>t.value=p.value},[e.createTextVNode(e.toDisplayString(p.title)+" ",1),l.showIndicator?(e.openBlock(),e.createElementBlock("span",N)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=v=>t.value=v),name:i,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:p.value,disabled:p.disabled},null,8,M),[[e.vModelRadio,t.value]])],10,I))),256))],2))}}),_=["data-top-icon"],z=["value","checked","disabled","onChange"],K=e.defineComponent({__name:"checkboxGroup",props:e.mergeModels({modelValue:{},items:{},size:{default:"s"},styling:{default:"outline"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=e.useModel(a,"modelValue"),o=r=>{const i=[...t.value],l=i.indexOf(r);l===-1?i.push(r):i.splice(l,1),t.value=i};return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-checkboxGroup":!0,["top-checkboxGroup-"+r.styling]:!0,"top-scrollBarXHidding":!0,["top-size_"+r.size]:!!r.size,"top-error":r.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,l=>(e.openBlock(),e.createElementBlock("label",{key:l.id,class:e.normalizeClass({"top-checkboxGroup_item":!0,"top-checkboxGroup_item-selected":t.value.includes(l.id),"top-forms-focusable":!0,"top-disabled":l.disabled}),"data-top-icon":l.icon},[e.createElementVNode("input",{type:"checkbox",class:"top-unvisible",value:l.id,checked:t.value.includes(l.id),disabled:l.disabled,onChange:c=>o(l.id)},null,40,z),e.createTextVNode(" "+e.toDisplayString(l.title),1)],10,_))),128))],2))}}),P={class:"top-selector2_itemMulti top-ellipsis"},D=e.defineComponent({__name:"itemMulti",props:{id:{},name:{}},emits:["delete"],setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("div",P,[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createElementVNode("span",{class:"top-selector2_itemMultiDelete","data-top-icon":"",onClick:o[0]||(o[0]=r=>t.$emit("delete",t.id)),onMousedown:o[1]||(o[1]=e.withModifiers(()=>{},["stop"]))},null,32)]))}}),G=(a,t,o)=>{const r=e.ref([]),i=e.ref(!1);let l="",c;a&&!a.params.limit&&(a.params.limit=100);const p=async()=>{if(!a)return;let s,f;if(o&&(a.cache??=new Map,f=JSON.stringify(a.params),s=a.cache.get(f),s))return s;if(i.value=!0,s=await a.call(),i.value=!1,s.errors)return;if(!Array.isArray(s.result)){console.warn("В result ожидался массив");return}const n=s.result.findIndex(d=>d.id===void 0||d.name===void 0);if(n!==-1){console.warn(`В result[${n}] нет id или name`);return}return o&&a.cache.set(f,s),s},v=async()=>{if(!a)return;a.params.offset=0,a.params.search=l;const s=await p();s&&(c=s.nextOffset,r.value=s.result)},y=async()=>{if(!a||!c||i.value)return;a.params.offset=c,a.params.search=l;const s=await p();s&&(c=s.nextOffset,r.value=r.value.concat(s.result))},u=k.debounce(()=>v(),200);return{apiRequest:a,items:r,isLoading:i,loadAppend:y,setSearchTextAndLoad:(s,f=!0)=>{a&&(s.length<t||s===l&&r.value.length||(l=s,f?u():v()))}}},F=0,b=(a,t,o=!0)=>o&&t.id===null?Array.isArray(a)?a.some(r=>r.id===t.id&&r.name===t.name):t.name===a.name:Array.isArray(a)?a.some(r=>r.id===t.id):t.id===a.id,O=(a,t,o,r,i,l)=>{const c=e.ref(""),p={id:F,name:k.useI18n().Common.All},v=()=>{c.value="",l.items.value=[]},y=e.computed(()=>{var s;const m=[];return!o&&r.value&&m.push(p),(s=t.value)==null||s.forEach(f=>m.push({...f})),m}),u=e.computed(()=>{const m=c.value.toLowerCase(),s=V.invertKeyboardLayout(m);let f=[];return y.value.forEach(n=>{const d=n.name.toLowerCase();(n.id===Number(m)||d.includes(m)||d.includes(s))&&(d===m||d===s?f.unshift(n):f.push(n))}),f.push(...l.items.value),i.value&&c.value&&(!f.length||f[0].name.toLowerCase()!==m)&&f.push({id:null,name:c.value}),o&&(f=f.filter(n=>!b(a.value,n))),f});return{searchText:c,resetSearch:v,items:y,itemsForShow:u}},H={key:0,class:"top-selector2_activeItems"},R={key:1,class:"top-selector2_activeName top-ellipsis"},U=e.defineComponent({__name:"selector2",props:e.mergeModels({modelValue:{},items:{default:()=>[]},multiselect:{type:Boolean},disabled:{type:Boolean},size:{default:"s"},isError:{type:Boolean},apiRequest:{},minLength:{default:0},useCache:{type:Boolean},appendSearchToResult:{type:Boolean},appendAllValue:{type:Boolean},addChanger:{type:Boolean},placeholder:{},showSelectedInInput:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,o=e.useModel(a,"modelValue"),r=e.ref(null),i=G(t.apiRequest,t.minLength||0,t.useCache),l=O(o,e.toRef(t,"items"),t.multiselect,e.toRef(t,"appendAllValue"),e.toRef(t,"appendSearchToResult"),i),c=e.ref(null),p=()=>{var n;return(n=c.value)==null?void 0:n.popup},v=()=>{if(!Array.isArray(o.value)){const d=(l.itemsForShow.value.findIndex(w=>w.id===o.value.id)+1)%l.itemsForShow.value.length;o.value={...l.itemsForShow.value[d]}}},y=async n=>{Array.isArray(o.value)&&(o.value=o.value.filter(d=>d.id!==n),setTimeout(()=>{var d;(d=p())==null||d.recalcPosition()}))},u=e.ref(!1);i.apiRequest&&(e.watch(u,()=>{u.value&&i.setSearchTextAndLoad(l.searchText.value,!1)}),e.watch(l.searchText,()=>i.setSearchTextAndLoad(l.searchText.value)));const m=n=>{t.multiselect&&Array.isArray(o.value)?b(o.value,n)||(o.value=[...o.value,n]):o.value=n},s=()=>{var n;u.value=!1,(n=r.value)==null||n.focus(),l.searchText.value&&l.resetSearch()},f=n=>{const d=n.target;d.scrollTop/(d.scrollHeight-d.offsetHeight)>.8&&i.loadAppend()};return window.__STORYBOOK_PREVIEW__&&!t.modelValue&&e.watch(()=>t.multiselect,()=>{o.value=t.multiselect?[]:{id:null,name:""}},{immediate:!0}),(n,d)=>{const w=e.resolveDirective("top-focus");return e.openBlock(),e.createBlock(e.unref(g.TopPopup),{ref_key:"popupRef",ref:c,onOpen:d[3]||(d[3]=h=>u.value=!0),onClose:d[4]||(d[4]=h=>s()),onScrollContentList:d[5]||(d[5]=h=>n.apiRequest?f(h):void 0),notch:!1,transitionDuration:0},e.createSlots({opener:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:r,class:e.normalizeClass({"top-selector2":!0,"top-selector2-multiselect":n.multiselect,["top-size_"+n.size]:!0,"top-disabled":n.disabled,"top-forms-focusable":!n.disabled,"top-error":n.isError}),onKeydown:[d[0]||(d[0]=e.withKeys(e.withModifiers(h=>h.currentTarget.click(),["stop","prevent"]),["up","down","enter","space"])),d[1]||(d[1]=e.withKeys(h=>o.value=[],["delete"]))],tabindex:"0"},[n.multiselect?(e.openBlock(),e.createElementBlock("div",H,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,h=>(e.openBlock(),e.createBlock(D,{id:h.id,name:h.name,onDelete:y},null,8,["id","name"]))),256))])):e.createCommentVNode("",!0),n.multiselect?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",R,e.toDisplayString(Array.isArray(o.value)?"":o.value.name),1)),n.addChanger&&!n.multiselect&&e.unref(l).items.value.length>1&&!n.disabled?(e.openBlock(),e.createElementBlock("span",{key:2,class:"top-changer top-changer-selector","data-top-popup-disabled":"true",onClick:v})):e.createCommentVNode("",!0)],34)),[[w,n.isError,void 0,{onupdate:!0}]])]),contentList:e.withCtx(()=>{var h;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).itemsForShow.value,C=>(e.openBlock(),e.createBlock(e.unref(g.TopPopupListItem),{class:e.normalizeClass({"top-active":!Array.isArray(o.value)&&!n.multiselect&&o.value.id===C.id&&o.value.name===C.name}),key:C.id??void 0,closeByClick:!n.multiselect||e.unref(k.Core).state.isMobile,onClick:le=>m(C)},{default:e.withCtx(()=>[n.$slots.item?e.renderSlot(n.$slots,"item",{key:0,item:C}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(C.name),1)],64))]),_:2},1032,["class","closeByClick","onClick"]))),128)),!e.unref(i).isLoading.value&&!e.unref(l).itemsForShow.value.length?(e.openBlock(),e.createBlock(e.unref(g.TopPopupListItem),{key:0,type:"regular"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.$i18n.Common.No_results),1)]),_:1})):e.createCommentVNode("",!0),e.unref(i).isLoading.value&&(!n.showSearch||(h=n.apiRequest)!=null&&h.params.offset)?(e.openBlock(),e.createBlock(e.unref(g.TopPopupListItem),{key:1,type:"regular"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.TopPreloader),{type:"circles"})]),_:1})):e.createCommentVNode("",!0)]}),_:2},[n.showSearch?{name:"widget",fn:e.withCtx(()=>{var h;return[e.createVNode(e.unref(g.TopPopupWidgetInput),{title:"Поиск",icon:"",modelValue:e.unref(l).searchText.value,"onUpdate:modelValue":d[2]||(d[2]=C=>e.unref(l).searchText.value=C),isLoading:e.unref(i).isLoading.value&&!((h=n.apiRequest)!=null&&h.params.offset),placeholder:!Array.isArray(o.value)&&!n.multiselect&&n.showSelectedInInput?o.value.name:n.placeholder},null,8,["modelValue","isLoading","placeholder"])]}),key:"0"}:void 0]),1536)}}}),W=["data-top-icon"],X={class:"top-info_text"},j={key:0,class:"top-info_value"},J=e.defineComponent({__name:"info",props:{icon:{},styling:{default:"default"},size:{default:"default"}},setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-info":!0,["top-size_"+t.size]:!0,["top-info-styling_"+t.styling]:!0}),"data-top-icon":t.icon},[e.createElementVNode("div",X,[e.renderSlot(t.$slots,"default")]),t.$slots.additional?(e.openBlock(),e.createElementBlock("span",j,[e.renderSlot(t.$slots,"additional")])):e.createCommentVNode("",!0)],10,W))}}),Y=S,Q=$,Z=L,q=K,x=U,ee=T._sfc_main,oe=J;B.TopCheckboxGroup=q,B.TopEditArea=Y,B.TopEditInput=Q,B.TopInfo=oe,B.TopMenu=ee,B.TopRadioGroup=Z,B.TopSelector2=x,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
define(["require","exports","vue","../.chunks/forms-BduN5hFf.amd","../popup/popup.amd","../utils/keyboard.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-C9cIXmj2.amd","../require/css.amd!../assets/formsExt.css"],function(pe,b,e,C,T,S,$){"use strict";if(typeof e>"u")var e=window.Vue;const I={class:"top-editArea_footer"},_=e.defineComponent({__name:"editArea",props:{defaultValue:{default:""},title:{},cancelText:{default:"Cancel"},submitText:{default:"Send"},closeText:{default:"Close"},isFocused:{type:Boolean},forceShowCloseBtn:{type:Boolean},attachToKeyboard:{type:Boolean},modelValue:{},name:{},placeholder:{},styling:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{},maxLength:{}},emits:["submit","close","clickOnTitle"],setup(n,{emit:o}){const a=n,l=o,d=e.ref(a.defaultValue),r=e.ref(a.isFocused),s=e.computed(()=>d.value!==a.defaultValue),p=c=>{l("submit",c),d.value=a.defaultValue},m=()=>{if(a.forceShowCloseBtn&&!s.value){l("close");return}d.value=a.defaultValue},B=()=>{a.attachToKeyboard&&l("clickOnTitle")};return(c,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":c.attachToKeyboard})},[c.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:y[0]||(y[0]=u=>B())},e.toDisplayString(c.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-forms-focusable":!0,"top-as-input":!0,"top-error":c.isError,"top-focus":r.value})},[e.createVNode(C._sfc_main$3,{modelValue:d.value,"onUpdate:modelValue":y[1]||(y[1]=u=>d.value=u),name:c.name,placeholder:c.placeholder,rows:c.rows,minHeight:c.minHeight,expandable:c.expandable,disabled:c.disabled,readonly:c.readonly,isError:c.isError,hint:c.hint,class:"top-editArea_element",onFocus:y[2]||(y[2]=()=>r.value=!0),onBlur:y[3]||(y[3]=()=>r.value=!1),onKeyup:[e.withKeys(m,["esc"]),y[4]||(y[4]=e.withKeys(e.withModifiers(u=>p(d.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),e.createElementVNode("div",I,[s.value||c.forceShowCloseBtn?(e.openBlock(),e.createBlock(C._sfc_main,{key:0,icon:c.$core.state.isMobile?"":"",class:"top-editArea_button",color:"theme",styling:"soft",onClick:m},e.createSlots({_:2},[c.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.cancelText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(C._sfc_main,{key:1,class:"top-editArea_button",icon:c.$core.state.isMobile?"":"",onClick:y[5]||(y[5]=u=>p(d.value))},e.createSlots({_:2},[c.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.submitText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0)])],2)],2))}}),N={class:"top-editInput"},L=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(n,{emit:o}){const a=n,l=e.ref(a.modelValue);e.watch(e.toRef(a.modelValue),()=>{l.value=a.modelValue});const d=o,r=()=>{d("update:modelValue",l.value)};return(s,p)=>(e.openBlock(),e.createElementBlock("div",N,[e.createVNode(C._sfc_main$2,e.mergeProps(s.input,{onKeydownCapture:p[0]||(p[0]=e.withKeys(e.withModifiers(m=>l.value=s.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(r,["stop"]),["enter"]),modelValue:l.value,"onUpdate:modelValue":p[1]||(p[1]=m=>l.value=m)}),null,16,["onKeydown","modelValue"]),l.value!==s.modelValue?(e.openBlock(),e.createBlock(C._sfc_main,e.mergeProps({key:0,icon:"",styling:"soft"},s.button,{onClick:r}),null,16)):e.createCommentVNode("",!0)]))}}),M=["data-top-icon","onClick"],P={key:0,class:"top-radioGroup_circle"},D=["value","disabled"],z=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue"),a=n,l=e.ref(null);e.watch(o,()=>{var r,s,p,m,B;(r=a.radiosProps)!=null&&r.some(c=>c.value===o.value)||(o.value=((p=(s=a.radiosProps)==null?void 0:s[0])==null?void 0:p.value)??""),(B=(m=l.value)==null?void 0:m.querySelector(".radioGroup_item-selected"))==null||B.scrollIntoView()},{immediate:!0});const d="radioGroup-"+Math.random();return(r,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:l,class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+r.size]:!!r.size,"top-error":r.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.radiosProps,p=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":p.value===o.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":p.disabled}),"data-top-icon":p.icon,onClick:m=>o.value=p.value},[e.createTextVNode(e.toDisplayString(p.title)+" ",1),r.showIndicator?(e.openBlock(),e.createElementBlock("span",P)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s[0]||(s[0]=m=>o.value=m),name:d,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:p.value,disabled:p.disabled},null,8,D),[[e.vModelRadio,o.value]])],10,M))),256))],2))}}),K=["data-top-icon"],O=["value","checked","disabled","onChange"],G=e.defineComponent({__name:"checkboxGroup",props:e.mergeModels({modelValue:{},items:{},size:{default:"s"},styling:{default:"outline"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue"),a=l=>{const d=[...o.value],r=d.indexOf(l);r===-1?d.push(l):d.splice(r,1),o.value=d};return(l,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-checkboxGroup":!0,["top-checkboxGroup-"+l.styling]:!0,"top-scrollBarXHidding":!0,["top-size_"+l.size]:!!l.size,"top-error":l.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,r=>(e.openBlock(),e.createElementBlock("label",{key:r.id,class:e.normalizeClass({"top-checkboxGroup_item":!0,"top-checkboxGroup_item-selected":o.value.includes(r.id),"top-forms-focusable":!0,"top-disabled":r.disabled}),"data-top-icon":r.icon},[e.createElementVNode("input",{type:"checkbox",class:"top-unvisible",value:r.id,checked:o.value.includes(r.id),disabled:r.disabled,onChange:s=>a(r.id)},null,40,O),e.createTextVNode(" "+e.toDisplayString(r.title),1)],10,K))),128))],2))}}),F={class:"top-selector2_itemMulti top-ellipsis"},H=e.defineComponent({__name:"itemMulti",props:{id:{},name:{}},emits:["delete"],setup(n){return(o,a)=>(e.openBlock(),e.createElementBlock("div",F,[e.createTextVNode(e.toDisplayString(o.name)+" ",1),e.createElementVNode("span",{class:"top-selector2_itemMultiDelete","data-top-icon":"",onClick:a[0]||(a[0]=l=>o.$emit("delete",o.id)),onMousedown:a[1]||(a[1]=e.withModifiers(()=>{},["stop"]))},null,32)]))}}),R=(n,o,a)=>{const l=e.ref([]),d=e.ref(!1);let r="",s;n&&!n.params.limit&&(n.params.limit=100);const p=async()=>{if(!n)return;let u,g;if(a&&(n.cache??=new Map,g=JSON.stringify(n.params),u=n.cache.get(g),u))return u;if(d.value=!0,u=await n.call(),d.value=!1,u.errors)return;if(!Array.isArray(u.result)){console.warn("В result ожидался массив");return}const V=u.result.findIndex(w=>w.id===void 0||w.name===void 0);if(V!==-1){console.warn(`В result[${V}] нет id или name`);return}return a&&n.cache.set(g,u),u},m=async()=>{if(!n)return;n.params.offset=0,n.params.search=r;const u=await p();u&&(s=u.nextOffset,l.value=u.result)},B=async()=>{if(!n||!s||d.value)return;n.params.offset=s,n.params.search=r;const u=await p();u&&(s=u.nextOffset,l.value=l.value.concat(u.result))},c=C.debounce(()=>m(),200);return{apiRequest:n,items:l,isLoading:d,loadAppend:B,setSearchTextAndLoad:(u,g=!0)=>{n&&(u.length<o||u===r&&l.value.length||(r=u,g?c():m()))}}},U=0,A=(n,o,a=!0)=>a&&o.id===null?Array.isArray(n)?n.some(l=>l.id===o.id&&l.name===o.name):o.name===n.name:Array.isArray(n)?n.some(l=>l.id===o.id):o.id===n.id,x=(n,o,a,l,d,r,s,p)=>{const m=e.ref(""),B={id:U,name:C.useI18n().Common.All},c=()=>{m.value="",p.items.value=[]},y=()=>!(!p.apiRequest||r.value!=="inline"||m.value.length>=s),u=e.computed(()=>{var t;const v=[];return!a&&l.value&&v.push(B),(t=o.value)==null||t.forEach(i=>v.push({...i})),v}),g=e.computed(()=>{const v=m.value.toLowerCase(),t=S.invertKeyboardLayout(v);let i=[];return u.value.forEach(h=>{const f=h.name.toLowerCase();(h.id===Number(v)||f.includes(v)||f.includes(t))&&(f===v||f===t?i.unshift(h):i.push(h))}),i.push(...p.items.value),d.value&&m.value&&(!i.length||i[0].name.toLowerCase()!==v)&&i.push({id:null,name:m.value}),a&&(i=i.filter(h=>!A(n.value,h))),i});return{searchText:m,resetSearch:c,genIsShort:y,items:u,itemsForShow:g,selectItem:v=>{a&&Array.isArray(n.value)?A(n.value,v)||(n.value=[...n.value,v]):n.value=v},selectNextItem:()=>{if(!Array.isArray(n.value)){const t=(g.value.findIndex(i=>i.id===n.value.id)+1)%g.value.length;n.value={...g.value[t]}}},deleteItemById:async v=>{Array.isArray(n.value)&&(n.value=n.value.filter(t=>t.id!==v))}}},W={key:0,class:"top-selector2_activeItems"},j={key:1,class:"top-selector2_activeName top-ellipsis"},X={key:2,class:"top-selector2_placeholder top-ellipsis"},J=e.defineComponent({__name:"selector2",props:e.mergeModels({modelValue:{},items:{default:()=>[]},title:{},disabled:{type:Boolean},size:{default:"s"},isError:{type:Boolean},searchType:{default:"popup"},placeholder:{},apiRequest:{},minLength:{default:0},useCache:{type:Boolean},appendSearchToResult:{type:Boolean},multiselect:{type:Boolean},appendAllValue:{type:Boolean},addChanger:{type:Boolean},buttonProps:{},selectedAsPlaceholder:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const o=n,a=e.useModel(n,"modelValue"),l=e.computed(()=>o.searchType==="inline"&&o.multiselect||o.searchType==="inline"&&C.Core.state.isMobile?"popup":o.searchType);let d=0;l.value==="inline"&&o.minLength&&(d=o.minLength);const r=R(o.apiRequest,d,o.useCache),s=x(a,e.toRef(o,"items"),o.multiselect,e.toRef(o,"appendAllValue"),e.toRef(o,"appendSearchToResult"),l,d,r),p=e.computed(()=>o.buttonProps?"TopButton":l.value==="inline"?"TopInput":"div"),m=e.ref(null),B=()=>{var t;return(t=m.value)==null?void 0:t.popup};r.apiRequest&&e.watch(s.searchText,()=>{var t;r.setSearchTextAndLoad(s.searchText.value),l.value==="inline"&&s.genIsShort()&&((t=B())==null||t.close())}),e.watch(a,()=>{l.value==="inline"&&s.resetSearch()});const c=e.computed(()=>{var t;return Array.isArray(a.value)||o.multiselect||!o.selectedAsPlaceholder&&l.value!=="inline"?o.placeholder:((t=a.value)==null?void 0:t.name)||o.placeholder}),y=t=>{var f,k;let i=!1;switch(t.key){case"Delete":case"Backspace":Array.isArray(a.value)&&(t.preventDefault(),t.stopPropagation(),a.value.pop());break;case"ArrowUp":case"ArrowRight":case"ArrowDown":case"ArrowLeft":case"Enter":case" ":i=!0;break;case"Escape":l.value==="inline"&&s.resetSearch();break}const h=t.key.length===1&&!t.ctrlKey&&!t.metaKey;(l.value==="popup"||l.value==="inline")&&h&&(i=!0),(f=B())!=null&&f.elPopup&&(i=!1),i&&(l.value==="popup"&&(t.preventDefault(),t.stopPropagation(),h&&(s.searchText.value||(s.searchText.value=t.key))),(k=t.currentTarget)==null||k.click())};let u=!1;const g=t=>{var i;u||l.value==="inline"&&((i=t.currentTarget)==null||i.click())},V=t=>{var i,h;t.preventDefault(),u=!0,(h=(i=t.currentTarget)==null?void 0:i.parentElement)==null||h.focus(),u=!1,s.selectNextItem()},w=()=>{var t;if(u=!0,r.apiRequest){if(s.genIsShort()){(t=B())==null||t.close();return}r.setSearchTextAndLoad(s.searchText.value,!1)}},E=()=>{setTimeout(()=>{u=!1},100),l.value==="popup"&&s.searchText.value&&s.resetSearch()},v=t=>{const i=t.target;i.scrollTop/(i.scrollHeight-i.offsetHeight)>.8&&r.loadAppend()};return window.__STORYBOOK_PREVIEW__&&(e.watch(()=>o.multiselect,()=>{o.multiselect?Array.isArray(a.value)||(a.value=[{id:1,name:"Выбери меня"}]):Array.isArray(a.value)&&(a.value={id:null,name:""})},{immediate:!0}),e.watch(()=>o.searchType,()=>{setTimeout(()=>{location.reload()},500)})),(t,i)=>{const h=e.resolveDirective("top-focus");return e.openBlock(),e.createBlock(e.unref(T.TopPopup),{ref_key:"popupRef",ref:m,onOpen:i[3]||(i[3]=f=>w()),onClose:i[4]||(i[4]=f=>E()),onScrollContentList:i[5]||(i[5]=f=>t.apiRequest?v(f):void 0),notch:l.value!=="inline",transitionDuration:0},e.createSlots({opener:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.value),e.mergeProps(t.buttonProps,{ref:"subcomponentSelector",class:{"top-selector2":!0,"top-selector2-multiselect":t.multiselect,"top-as-input":!t.buttonProps,"top-as-selector":!0,["top-size_"+t.size]:!0,"top-disabled":t.disabled,"top-forms-focusable":!t.disabled,"top-error":t.isError},tabindex:"0",onKeydown:y,placeholder:c.value,modelValue:e.unref(s).searchText.value,"onUpdate:modelValue":i[0]||(i[0]=f=>e.unref(s).searchText.value=f),onFocus:g,onBlur:i[1]||(i[1]=f=>{var k;return(k=B())!=null&&k.isClosed?e.unref(s).resetSearch():""})}),{default:e.withCtx(()=>[t.multiselect?(e.openBlock(),e.createElementBlock("div",W,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,f=>(e.openBlock(),e.createBlock(H,{id:f.id,name:f.name,onDelete:e.unref(s).deleteItemById},null,8,["id","name","onDelete"]))),256))])):e.createCommentVNode("",!0),l.value!=="inline"&&!t.multiselect?(e.openBlock(),e.createElementBlock("span",j,e.toDisplayString(Array.isArray(a.value)?"":a.value.name),1)):e.createCommentVNode("",!0),t.multiselect&&!a.value.length?(e.openBlock(),e.createElementBlock("span",X,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0),t.addChanger&&!t.buttonProps&&!t.multiselect&&e.unref(s).items.value.length>1&&!t.disabled?(e.openBlock(),e.createElementBlock("span",{key:3,class:"top-changer top-changer-selector top-popup_widget","data-top-popup-disabled":"true",onClick:V})):e.createCommentVNode("",!0)]),_:1},16,["class","placeholder","modelValue"])),[[h,t.isError,void 0,{onupdate:!0}]])]),contentList:e.withCtx(()=>{var f;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).itemsForShow.value,k=>(e.openBlock(),e.createBlock(e.unref(T.TopPopupListItem),{class:e.normalizeClass({"top-active":!Array.isArray(a.value)&&!t.multiselect&&a.value.id===k.id&&a.value.name===k.name}),key:k.id??void 0,closeByClick:!t.multiselect||e.unref(C.Core).state.isMobile,onClick:me=>e.unref(s).selectItem(k)},{default:e.withCtx(()=>[t.$slots.item?e.renderSlot(t.$slots,"item",{key:0,item:k}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(k.name),1)],64))]),_:2},1032,["class","closeByClick","onClick"]))),128)),!e.unref(r).isLoading.value&&!e.unref(s).itemsForShow.value.length?(e.openBlock(),e.createBlock(e.unref(T.TopPopupListItem),{key:0,type:"regular"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$i18n.Common.No_results),1)]),_:1})):e.createCommentVNode("",!0),e.unref(r).isLoading.value&&(t.searchType!=="popup"||(f=t.apiRequest)!=null&&f.params.offset)?(e.openBlock(),e.createBlock(e.unref(T.TopPopupListItem),{key:1,type:"regular"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.TopPreloader),{type:"circles"})]),_:1})):e.createCommentVNode("",!0)]}),_:2},[l.value==="popup"?{name:"widget",fn:e.withCtx(()=>{var f;return[e.createVNode(e.unref(T.TopPopupWidgetInput),{title:"Поиск",icon:"",modelValue:e.unref(s).searchText.value,"onUpdate:modelValue":i[2]||(i[2]=k=>e.unref(s).searchText.value=k),isLoading:e.unref(r).isLoading.value&&!((f=t.apiRequest)!=null&&f.params.offset),placeholder:c.value},null,8,["modelValue","isLoading","placeholder"])]}),key:"0"}:void 0]),1032,["notch"])}}}),Y=["data-top-icon"],q={class:"top-info_text"},Q={key:0,class:"top-info_value"},Z=e.defineComponent({__name:"info",props:{icon:{},styling:{default:"default"},size:{default:"default"}},setup(n){return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-info":!0,["top-size_"+o.size]:!0,["top-info-styling_"+o.styling]:!0}),"data-top-icon":o.icon},[e.createElementVNode("div",q,[e.renderSlot(o.$slots,"default")]),o.$slots.additional?(e.openBlock(),e.createElementBlock("span",Q,[e.renderSlot(o.$slots,"additional")])):e.createCommentVNode("",!0)],10,Y))}}),ee={key:0,class:"top-policy"},te={class:"top-policy_title"},oe=["innerHTML"],le=e.defineComponent({__name:"policy",props:{title:{},text:{}},setup(n){const o=e.ref(!0),a=()=>{const l=location.hostname.split(".").slice(-2).join(".");document.cookie=`cookie_consent=accepted; path=/; domain=.${l}; max-age=31536000`,o.value=!1};return(l,d)=>o.value?(e.openBlock(),e.createElementBlock("div",ee,[e.createElementVNode("div",te,e.toDisplayString(l.title),1),e.createElementVNode("div",{class:"top-policy_description",innerHTML:l.text},null,8,oe),e.createVNode(e.unref(C.TopButton),{size:"m",onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.$i18n.Common.Allow),1)]),_:1})])):e.createCommentVNode("",!0)}}),ne=_,ae=L,re=z,se=G,ie=J,ue=$._sfc_main,ce=Z,de=le;b.TopCheckboxGroup=se,b.TopEditArea=ne,b.TopEditInput=ae,b.TopInfo=ce,b.TopMenu=ue,b.TopPolicy=de,b.TopRadioGroup=re,b.TopSelector2=ie,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=formsExt.amd.js.map
|