@topvisor/ui 1.3.5-popupFromInput.0 → 1.4.0-TopGroupSelector.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-B9TwJi3h.amd.js +2 -0
- package/.chunks/core-B9TwJi3h.amd.js.map +1 -0
- package/.chunks/core-DVQVVUiP.es.js +196 -0
- package/.chunks/core-DVQVVUiP.es.js.map +1 -0
- package/.chunks/{datepicker-CGGp0VnN.es.js → datepicker-CrASsJeF.es.js} +14 -17
- package/.chunks/{datepicker-CGGp0VnN.es.js.map → datepicker-CrASsJeF.es.js.map} +1 -1
- package/.chunks/{datepicker-Bq_z2paN.amd.js → datepicker-bidhcksv.amd.js} +2 -2
- package/.chunks/{datepicker-Bq_z2paN.amd.js.map → datepicker-bidhcksv.amd.js.map} +1 -1
- package/.chunks/dialog_regionSelectorRegions-DJu5Y1WK.es.js +180 -0
- package/.chunks/dialog_regionSelectorRegions-DJu5Y1WK.es.js.map +1 -0
- package/.chunks/dialog_regionSelectorRegions-Dc-YGZ0l.amd.js +2 -0
- package/.chunks/dialog_regionSelectorRegions-Dc-YGZ0l.amd.js.map +1 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang--Xstly2G.amd.js +2 -0
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-Bf0wXalT.amd.js.map → dialogs.vue_vue_type_script_setup_true_lang--Xstly2G.amd.js.map} +1 -1
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-DCVIoEeY.es.js → dialogs.vue_vue_type_script_setup_true_lang-BP6GFkkz.es.js} +111 -112
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-DCVIoEeY.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-BP6GFkkz.es.js.map} +1 -1
- package/.chunks/forms--2-YQeWM.amd.js +3 -0
- package/.chunks/{forms-CNcrvkYD.amd.js.map → forms--2-YQeWM.amd.js.map} +1 -1
- package/.chunks/forms-Cwv0JCi5.es.js +2035 -0
- package/.chunks/{forms-BhbgRJ5I.es.js.map → forms-Cwv0JCi5.es.js.map} +1 -1
- package/.chunks/index-DLUtoTUg.amd.js +2 -0
- package/.chunks/index-DLUtoTUg.amd.js.map +1 -0
- package/.chunks/index-DkQWJkMc.es.js +54 -0
- package/.chunks/index-DkQWJkMc.es.js.map +1 -0
- package/.chunks/notice-BCHrf2v6.es.js +191 -0
- package/.chunks/{notice-CpPhDTUb.es.js.map → notice-BCHrf2v6.es.js.map} +1 -1
- package/.chunks/notice-D1KO_E3H.amd.js +4 -0
- package/.chunks/{notice-BpLsm6Zh.amd.js.map → notice-D1KO_E3H.amd.js.map} +1 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-DNs0udwC.amd.js +2 -0
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-B-1LEQAz.amd.js.map → page.vue_vue_type_script_setup_true_lang-DNs0udwC.amd.js.map} +1 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-D_ocBGzt.es.js +139 -0
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-9abPBMpd.es.js.map → page.vue_vue_type_script_setup_true_lang-D_ocBGzt.es.js.map} +1 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-B61ZEDWr.es.js +494 -0
- package/.chunks/policy.vue_vue_type_style_index_0_lang-B61ZEDWr.es.js.map +1 -0
- package/.chunks/policy.vue_vue_type_style_index_0_lang-BUIBGweg.amd.js +2 -0
- package/.chunks/policy.vue_vue_type_style_index_0_lang-BUIBGweg.amd.js.map +1 -0
- package/.chunks/popup-DJMBWRtl.es.js +468 -0
- package/.chunks/popup-DJMBWRtl.es.js.map +1 -0
- package/.chunks/popup-c8qgGOCv.amd.js +2 -0
- package/.chunks/popup-c8qgGOCv.amd.js.map +1 -0
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Bp_-W068.es.js +209 -0
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Bp_-W068.es.js.map +1 -0
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-D42xEF-j.amd.js +2 -0
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-D42xEF-j.amd.js.map +1 -0
- package/.chunks/{utils-D58EUoHa.es.js → utils-Bu-TI6uw.es.js} +192 -208
- package/.chunks/{utils-D58EUoHa.es.js.map → utils-Bu-TI6uw.es.js.map} +1 -1
- package/.chunks/utils-C6nWu0aQ.amd.js +2 -0
- package/.chunks/{utils-5uxIj2CI.amd.js.map → utils-C6nWu0aQ.amd.js.map} +1 -1
- package/.chunks/utils-DHyy_M2n.amd.js +2 -0
- package/.chunks/{utils-Bg_su8b-.amd.js.map → utils-DHyy_M2n.amd.js.map} +1 -1
- package/.chunks/{utils-UBgfsQ8v.es.js → utils-cls72V1c.es.js} +23 -24
- package/.chunks/{utils-UBgfsQ8v.es.js.map → utils-cls72V1c.es.js.map} +1 -1
- package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-D6SVtg2Q.amd.js → widgetInput.vue_vue_type_script_setup_true_lang-B3soLr2U.amd.js} +2 -2
- package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-D6SVtg2Q.amd.js.map → widgetInput.vue_vue_type_script_setup_true_lang-B3soLr2U.amd.js.map} +1 -1
- package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-CSD2uMSW.es.js → widgetInput.vue_vue_type_script_setup_true_lang-HbtV9agA.es.js} +2 -2
- package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-CSD2uMSW.es.js.map → widgetInput.vue_vue_type_script_setup_true_lang-HbtV9agA.es.js.map} +1 -1
- package/api/index.amd.js +1 -1
- package/api/index.amd.js.map +1 -1
- package/api/index.js +137 -134
- package/api/index.js.map +1 -1
- package/assets/dialog_regionSelectorRegions.css +1 -0
- package/assets/forms.css +1 -1
- package/assets/policy.css +1 -0
- package/assets/popupHint.css +1 -1
- package/assets/project.css +1 -1
- package/charts/charts.amd.js +1 -1
- package/charts/charts.amd.js.map +1 -1
- package/charts/charts.js +80 -80
- package/charts/charts.js.map +1 -1
- package/core/app.amd.js +1 -1
- package/core/app.amd.js.map +1 -1
- package/core/app.js +93 -96
- package/core/app.js.map +1 -1
- package/dialog/dialog.amd.js +1 -1
- package/dialog/dialog.amd.js.map +1 -1
- package/dialog/dialog.js +13 -13
- package/dialog/dialog.js.map +1 -1
- package/extra/extra.amd.js +1 -1
- package/extra/extra.amd.js.map +1 -1
- package/extra/extra.js +20 -23
- package/extra/extra.js.map +1 -1
- package/forms/forms.amd.js +1 -1
- package/forms/forms.js +5 -5
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +185 -534
- package/formsExt/formsExt.js.map +1 -1
- package/layout/layout.amd.js +1 -1
- package/layout/layout.js +6 -6
- package/package.json +2 -2
- package/popup/popup.amd.js +1 -1
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.js +43 -46
- 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 +3 -3
- 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 +869 -607
- package/project/project.js.map +1 -1
- package/src/api/api/client/client.d.ts +5 -0
- package/src/api/api/mocker/index.d.ts +3 -3
- package/src/api/api/types/client/request.d.ts +6 -0
- package/src/api/api/types/ext.d.ts +2 -2
- package/src/api/api/types/mocker.d.ts +2 -2
- package/src/components/forms/button/types.d.ts +6 -0
- package/src/components/formsExt/formsExt.d.ts +1 -0
- package/src/components/formsExt/libs/optionGroup/types.d.ts +1 -1
- package/src/components/formsExt/selector2/cache.d.ts +12 -0
- package/src/components/formsExt/selector2/composables/useAPI.d.ts +2036 -2
- package/src/components/formsExt/selector2/composables/useMenu.d.ts +2045 -5
- package/src/components/formsExt/selector2/itemMulti.vue.d.ts +3 -3
- package/src/components/formsExt/selector2/selector2.vue.d.ts +11 -3
- package/src/components/formsExt/selector2/types.d.ts +39 -5
- package/src/components/formsExt/selector2/utils.d.ts +17 -0
- package/src/components/popup/lib/popup.d.ts +0 -1
- package/src/components/popup/popup/opener/types.d.ts +6 -2
- package/src/components/popup/popup/types.d.ts +3 -2
- package/src/components/popup/popup.d.ts +1 -1
- package/src/components/project/groupSelector/folders/folders.vue.d.ts +18 -0
- package/src/components/project/groupSelector/folders/types.d.ts +63 -0
- package/src/components/project/groupSelector/folders/utils.d.ts +63 -0
- package/src/components/project/groupSelector/groupSelector.vue.d.ts +28 -0
- package/src/components/project/groupSelector/groups/groups.vue.d.ts +125 -0
- package/src/components/project/groupSelector/groups/types.d.ts +57 -0
- package/src/components/project/groupSelector/groups/utils.d.ts +92 -0
- package/src/components/project/groupSelector/stories/mocks/folders.d.ts +4 -0
- package/src/components/project/groupSelector/stories/mocks/groups.d.ts +2 -0
- package/src/components/project/groupSelector/stories/mocks/index.d.ts +7 -0
- package/src/components/project/groupSelector/types.d.ts +129 -0
- package/src/components/project/project.d.ts +15 -4
- package/src/components/project/{selectorRegion → regionSelector}/utils/utils.d.ts +3 -3
- package/src/core/utils/composables/useWatch.d.ts +32 -0
- package/tabs/tabs.amd.js +1 -1
- package/tabs/tabs.amd.js.map +1 -1
- package/tabs/tabs.js +24 -24
- package/tabs/tabs.js.map +1 -1
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.js +131 -133
- package/tabsView/tabsView.js.map +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 +1 -1
- package/utils/device.amd.js +1 -1
- package/utils/device.js +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/scroll.amd.js +1 -1
- package/utils/scroll.amd.js.map +1 -1
- package/utils/scroll.js +14 -14
- package/utils/scroll.js.map +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 +3 -7
- package/utils/string.js.map +1 -1
- package/.chunks/core-DcLw0dEO.amd.js +0 -2
- package/.chunks/core-DcLw0dEO.amd.js.map +0 -1
- package/.chunks/core-DpTLGhiK.es.js +0 -197
- package/.chunks/core-DpTLGhiK.es.js.map +0 -1
- package/.chunks/dialog_selectorRegions-BtAADQHf.es.js +0 -190
- package/.chunks/dialog_selectorRegions-BtAADQHf.es.js.map +0 -1
- package/.chunks/dialog_selectorRegions-DCrHvHDs.amd.js +0 -2
- package/.chunks/dialog_selectorRegions-DCrHvHDs.amd.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-Bf0wXalT.amd.js +0 -2
- package/.chunks/forms-BhbgRJ5I.es.js +0 -2045
- package/.chunks/forms-CNcrvkYD.amd.js +0 -3
- package/.chunks/index-BEI7XZmU.amd.js +0 -2
- package/.chunks/index-BEI7XZmU.amd.js.map +0 -1
- package/.chunks/index-igPkes8X.es.js +0 -48
- package/.chunks/index-igPkes8X.es.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-QvP1d9jN.amd.js +0 -2
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-QvP1d9jN.amd.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-xvzbyqai.es.js +0 -196
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-xvzbyqai.es.js.map +0 -1
- package/.chunks/menu.vue_vue_type_style_index_0_lang-C3Rr6ZyL.amd.js +0 -2
- package/.chunks/menu.vue_vue_type_style_index_0_lang-C3Rr6ZyL.amd.js.map +0 -1
- package/.chunks/menu.vue_vue_type_style_index_0_lang-dOeZ7an1.es.js +0 -112
- package/.chunks/menu.vue_vue_type_style_index_0_lang-dOeZ7an1.es.js.map +0 -1
- package/.chunks/notice-BpLsm6Zh.amd.js +0 -4
- package/.chunks/notice-CpPhDTUb.es.js +0 -194
- package/.chunks/opener.vue_vue_type_script_setup_true_lang-DRzrTv7Q.es.js +0 -36
- package/.chunks/opener.vue_vue_type_script_setup_true_lang-DRzrTv7Q.es.js.map +0 -1
- package/.chunks/opener.vue_vue_type_script_setup_true_lang-gNZhYkDf.amd.js +0 -2
- package/.chunks/opener.vue_vue_type_script_setup_true_lang-gNZhYkDf.amd.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-9abPBMpd.es.js +0 -143
- package/.chunks/page.vue_vue_type_script_setup_true_lang-B-1LEQAz.amd.js +0 -2
- package/.chunks/popup-BJj9BJP5.es.js +0 -485
- package/.chunks/popup-BJj9BJP5.es.js.map +0 -1
- package/.chunks/popup-CfXISjhC.amd.js +0 -2
- package/.chunks/popup-CfXISjhC.amd.js.map +0 -1
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js +0 -2
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js.map +0 -1
- package/.chunks/utils-5uxIj2CI.amd.js +0 -2
- package/.chunks/utils-Bg_su8b-.amd.js +0 -2
- package/assets/dialog_selectorRegions.css +0 -1
- package/assets/formsExt.css +0 -1
- package/assets/listItem.css +0 -1
- package/assets/menu.css +0 -1
- package/src/components/popup/popup/opener.vue.d.ts +0 -16
- /package/src/components/project/{selectorCompetitors/selectorCompetitors.vue.d.ts → competitorSelector/competitorSelector.vue.d.ts} +0 -0
- /package/src/components/project/{selectorCompetitors → competitorSelector}/composables.d.ts +0 -0
- /package/src/components/project/{selectorCompetitors → competitorSelector}/types.d.ts +0 -0
- /package/src/components/project/{selectorRegion → regionSelector}/composables/compare.d.ts +0 -0
- /package/src/components/project/{selectorRegion → regionSelector}/composables/selectRegion.d.ts +0 -0
- /package/src/components/project/{selectorRegion → regionSelector}/composables/selectSearcher.d.ts +0 -0
- /package/src/components/project/{selectorRegion → regionSelector}/composables/selectorRegion.d.ts +0 -0
- /package/src/components/project/{selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue.d.ts → regionSelector/dialog_regionSelectorRegions/dialog_regionSelectorRegions.vue.d.ts} +0 -0
- /package/src/components/project/{selectorRegion/dialog_selectorRegions → regionSelector/dialog_regionSelectorRegions}/types.d.ts +0 -0
- /package/src/components/project/{selectorRegion/selectorRegion.vue.d.ts → regionSelector/regionSelector.vue.d.ts} +0 -0
- /package/src/components/project/{selectorRegion → regionSelector}/types.d.ts +0 -0
- /package/src/components/project/{selectorRegion → regionSelector}/utils/consts.d.ts +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { PropsItemMulti } from './types';
|
|
1
|
+
import { PropsItemMulti, Item } from './types';
|
|
2
2
|
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
3
|
declare const _default: DefineComponent<PropsItemMulti, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
4
|
-
delete: (
|
|
4
|
+
delete: (item: Item) => any;
|
|
5
5
|
}, string, PublicProps, Readonly<PropsItemMulti> & Readonly<{
|
|
6
|
-
onDelete?: ((
|
|
6
|
+
onDelete?: ((item: Item) => any) | undefined;
|
|
7
7
|
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
8
8
|
export default _default;
|
|
@@ -13,17 +13,26 @@ declare function __VLS_template(): {
|
|
|
13
13
|
id: string;
|
|
14
14
|
popup: TopLibPopup<undefined> | undefined;
|
|
15
15
|
}> | null;
|
|
16
|
-
subcomponentSelector: unknown;
|
|
17
16
|
};
|
|
18
17
|
rootEl: any;
|
|
19
18
|
};
|
|
20
19
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
21
|
-
declare const __VLS_component: DefineComponent<__VLS_PublicProps, {
|
|
20
|
+
declare const __VLS_component: DefineComponent<__VLS_PublicProps, {
|
|
21
|
+
/**
|
|
22
|
+
* Сброс локального кеша и кеша api
|
|
23
|
+
*
|
|
24
|
+
* @param resetAPICache - Сбросить API кеш, по умолчанию не сбрасывается. Для случаев, когда загруженные данные становятся неактуальными
|
|
25
|
+
*/
|
|
26
|
+
resetCache: (resetAPICache?: boolean) => void;
|
|
27
|
+
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
22
28
|
"update:modelValue": (value: Item | Item[]) => any;
|
|
29
|
+
appendItem: (item: Item) => any;
|
|
23
30
|
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
24
31
|
"onUpdate:modelValue"?: ((value: Item | Item[]) => any) | undefined;
|
|
32
|
+
onAppendItem?: ((item: Item) => any) | undefined;
|
|
25
33
|
}>, {
|
|
26
34
|
size: Size;
|
|
35
|
+
openByFocusInput: boolean;
|
|
27
36
|
items: Item[];
|
|
28
37
|
searchType: "none" | "inline" | "popup";
|
|
29
38
|
minLength: number;
|
|
@@ -32,7 +41,6 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
|
|
|
32
41
|
id: string;
|
|
33
42
|
popup: TopLibPopup<undefined> | undefined;
|
|
34
43
|
}> | null;
|
|
35
|
-
subcomponentSelector: unknown;
|
|
36
44
|
}, any>;
|
|
37
45
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
38
46
|
export default _default;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Size } from '../../forms/helpers';
|
|
2
2
|
import { Props as ButtonProps } from '../../forms/button/types';
|
|
3
|
+
import { ListItemProps, Props as PopupProps } from '../../popup/popup/types';
|
|
4
|
+
import { ITEM_ID_ALL, ITEM_ID_NEW } from './utils';
|
|
3
5
|
export interface Props {
|
|
4
6
|
/**
|
|
5
7
|
* Выбранный элемент
|
|
@@ -11,10 +13,15 @@ export interface Props {
|
|
|
11
13
|
* Список вариантов для выбора
|
|
12
14
|
*
|
|
13
15
|
* При работе с api, всегда выводится перед результатами api
|
|
16
|
+
*
|
|
17
|
+
* Используйте либо `items` либо `api`, либо оба параметра в зависимости от задачи
|
|
18
|
+
*
|
|
19
|
+
* Не указывайте одновременно `items` и `api` запрос на получение тех же `items`, в этом нет смысла
|
|
14
20
|
*/
|
|
15
21
|
items?: Item[];
|
|
16
22
|
title?: string;
|
|
17
23
|
disabled?: boolean;
|
|
24
|
+
icon?: string;
|
|
18
25
|
/**
|
|
19
26
|
* Модификатор элемента, открывающего popup
|
|
20
27
|
*
|
|
@@ -23,6 +30,7 @@ export interface Props {
|
|
|
23
30
|
modificator?: string;
|
|
24
31
|
size?: Size;
|
|
25
32
|
isError?: boolean;
|
|
33
|
+
openByFocusInput?: PopupProps['openByFocusInput'];
|
|
26
34
|
/**
|
|
27
35
|
* Тип поиска по элементам
|
|
28
36
|
*
|
|
@@ -52,9 +60,11 @@ export interface Props {
|
|
|
52
60
|
*
|
|
53
61
|
* Обязательно для `api`, если указан `searchType`
|
|
54
62
|
*
|
|
63
|
+
* Для добавления в API фильтра по полю на основе введенного значения используйте утилиту `genApiSetSearchParams()`
|
|
64
|
+
*
|
|
55
65
|
* @subcategory Api
|
|
56
66
|
*/
|
|
57
|
-
apiSetSearchParams?: (search: string) => void;
|
|
67
|
+
apiSetSearchParams?: (api: NonNullable<Props['api']>, search: string) => void;
|
|
58
68
|
/**
|
|
59
69
|
* Минимальная длина для выполнения поиска
|
|
60
70
|
*
|
|
@@ -72,7 +82,9 @@ export interface Props {
|
|
|
72
82
|
*/
|
|
73
83
|
useCache?: boolean;
|
|
74
84
|
/**
|
|
75
|
-
* Добавить в результаты item = {id:null, name:search}
|
|
85
|
+
* Добавить в результаты `item = {id:null, name:search}`, где `search` - введенная строка в поле поиска
|
|
86
|
+
*
|
|
87
|
+
* При добавлении элемента будет вызван emit `appendItem(item)`
|
|
76
88
|
*/
|
|
77
89
|
appendSearchToResult?: boolean;
|
|
78
90
|
/**
|
|
@@ -86,9 +98,11 @@ export interface Props {
|
|
|
86
98
|
/**
|
|
87
99
|
* Добавить вариант: "Все"
|
|
88
100
|
*
|
|
101
|
+
* Можно указать имя элемента
|
|
102
|
+
*
|
|
89
103
|
* @subcategory Single select
|
|
90
104
|
*/
|
|
91
|
-
|
|
105
|
+
useAllItem?: boolean | string;
|
|
92
106
|
/**
|
|
93
107
|
* Отобразить кнопку смены значения
|
|
94
108
|
*
|
|
@@ -136,6 +150,14 @@ export interface Slots {
|
|
|
136
150
|
item: Item;
|
|
137
151
|
}): any;
|
|
138
152
|
}
|
|
153
|
+
export type Emits = {
|
|
154
|
+
/**
|
|
155
|
+
* Был добавлен новый элемент через поле поиска
|
|
156
|
+
*
|
|
157
|
+
* @see `props.appendSearchToResult`
|
|
158
|
+
*/
|
|
159
|
+
'appendItem': [item: Item];
|
|
160
|
+
};
|
|
139
161
|
export interface PropsItemMulti {
|
|
140
162
|
id: Item['id'];
|
|
141
163
|
name: Item['name'];
|
|
@@ -144,7 +166,7 @@ export type EmitsItemMulti = {
|
|
|
144
166
|
/**
|
|
145
167
|
* Удалить выбранный элемент
|
|
146
168
|
*/
|
|
147
|
-
delete: [
|
|
169
|
+
delete: [item: Item];
|
|
148
170
|
};
|
|
149
171
|
/**
|
|
150
172
|
* Элемент, который можно выбрать в Selector
|
|
@@ -155,8 +177,20 @@ export interface Item {
|
|
|
155
177
|
*
|
|
156
178
|
* Если null - объект для добавления, не имеет свой id
|
|
157
179
|
*/
|
|
158
|
-
id: number |
|
|
180
|
+
id: number | typeof ITEM_ID_NEW;
|
|
159
181
|
name: string;
|
|
182
|
+
/**
|
|
183
|
+
* Настройки вывода элемента
|
|
184
|
+
*/
|
|
185
|
+
listItemProps?: ListItemProps;
|
|
160
186
|
[propName: string]: any;
|
|
161
187
|
}
|
|
188
|
+
export type ItemAll = {
|
|
189
|
+
id: typeof ITEM_ID_ALL;
|
|
190
|
+
name: string;
|
|
191
|
+
};
|
|
192
|
+
export type ItemNew = {
|
|
193
|
+
id: typeof ITEM_ID_NEW;
|
|
194
|
+
name: string;
|
|
195
|
+
};
|
|
162
196
|
export type { Size };
|
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
import { Item, Props } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Универсальный id для всех элементов "Все элементы" / "Без фильтра" в `TopSelector`
|
|
4
|
+
*/
|
|
2
5
|
export declare const ITEM_ID_ALL = 0;
|
|
6
|
+
/**
|
|
7
|
+
* Универсальный id для всех добавляемых элементов через `TopSelector`
|
|
8
|
+
*/
|
|
9
|
+
export declare const ITEM_ID_NEW: null;
|
|
3
10
|
/**
|
|
4
11
|
* Выбран ли элемент
|
|
5
12
|
*/
|
|
6
13
|
export declare const isSelected: (modelValue: Props["modelValue"], item: Item, checkNameForNullId?: boolean) => boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Вспомогательная утилита для создания `callback` функции на добавление фильтра по полю в api запрос
|
|
16
|
+
*
|
|
17
|
+
* Другие фильтры по указанному полю будут удалены
|
|
18
|
+
*
|
|
19
|
+
* @param api - api, которое используется в `TopSelector`
|
|
20
|
+
* @param search - введенная строка поиска
|
|
21
|
+
* @param fieldName - имя поля, по которому надо добавить фильтр на поиск по нестрогому соответствию
|
|
22
|
+
*/
|
|
23
|
+
export declare const apiSetSearchParamsFilter: (api: NonNullable<Props["api"]>, search: string, fieldName: string) => void;
|
|
@@ -20,13 +20,17 @@ export interface OpenerProps<T extends Record<string, any> | undefined = undefin
|
|
|
20
20
|
/**
|
|
21
21
|
* Открывать / закрывать при фокусировке
|
|
22
22
|
*
|
|
23
|
-
*
|
|
23
|
+
* Только для opener с `input`
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
openByFocusInput?: boolean;
|
|
26
26
|
/**
|
|
27
27
|
* Открывать / закрывать при наведении / отведении мыши
|
|
28
28
|
*/
|
|
29
29
|
openByHover?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Выключить открытие popup при взаимодействии с элементом
|
|
32
|
+
*/
|
|
33
|
+
disabled?: boolean;
|
|
30
34
|
/**
|
|
31
35
|
* Способ привязки позиционирования меню
|
|
32
36
|
*
|
|
@@ -20,7 +20,7 @@ export interface Props<T extends Record<string, any> | undefined = undefined> ex
|
|
|
20
20
|
*/
|
|
21
21
|
transitionDuration?: number;
|
|
22
22
|
/**
|
|
23
|
-
* Ссылка на
|
|
23
|
+
* Ссылка на справку
|
|
24
24
|
*
|
|
25
25
|
* Если указана, кнопка справки будет добавлена в футере popup
|
|
26
26
|
*/
|
|
@@ -53,7 +53,7 @@ export type Emits<T extends Record<string, any> | undefined = undefined> = {
|
|
|
53
53
|
export interface ListItemProps {
|
|
54
54
|
/**
|
|
55
55
|
* Тип элемента списка
|
|
56
|
-
* - button:
|
|
56
|
+
* - button: значение уо умолчанию, кликабельный и выбираемый элемент, поддерживает вставку ссылок через атрибут `href`
|
|
57
57
|
* - formControls: элементы форм, переключатели, радио кнопки
|
|
58
58
|
* - regular: произвольное содержимое
|
|
59
59
|
* - title: заголовок
|
|
@@ -64,4 +64,5 @@ export interface ListItemProps {
|
|
|
64
64
|
* Следует ли закрывать меню по клику на элемент типа button и link
|
|
65
65
|
*/
|
|
66
66
|
closeByClick?: boolean;
|
|
67
|
+
attrs?: Partial<HTMLElement>;
|
|
67
68
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { default as TopPopup } from './popup/popup.vue';
|
|
2
|
-
export { default as TopPopupOpener } from './popup/opener.vue';
|
|
2
|
+
export { default as TopPopupOpener } from './popup/opener/opener.vue';
|
|
3
3
|
export { default as TopPopupListItem } from './popup/listItem.vue';
|
|
4
4
|
export { default as TopPopupWidgetInput } from './popup/widgetInput/widgetInput.vue';
|
|
5
5
|
export { default as TopPopupAlert } from './popupAlert/popupAlert.vue';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Props, Folder } from './types';
|
|
2
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
import { ItemAll } from '../../../formsExt/selector2/types';
|
|
4
|
+
type __VLS_Props = Props;
|
|
5
|
+
type __VLS_PublicProps = {
|
|
6
|
+
'folderId': Props['folderId'];
|
|
7
|
+
'folder'?: NonNullable<Props['folder']>;
|
|
8
|
+
} & __VLS_Props;
|
|
9
|
+
declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
10
|
+
"update:folderId": (value: number) => any;
|
|
11
|
+
"update:folder": (value: NonNullable< ItemAll | Folder | undefined>) => any;
|
|
12
|
+
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
13
|
+
"onUpdate:folderId"?: ((value: number) => any) | undefined;
|
|
14
|
+
"onUpdate:folder"?: ((value: NonNullable< ItemAll | Folder | undefined>) => any) | undefined;
|
|
15
|
+
}>, {
|
|
16
|
+
addIcon: boolean;
|
|
17
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Item, ItemAll, Props as SelectorProps } from '../../../formsExt/selector2/types';
|
|
2
|
+
export interface Props {
|
|
3
|
+
/**
|
|
4
|
+
* Id выбранной папки
|
|
5
|
+
*/
|
|
6
|
+
folderId: number;
|
|
7
|
+
/**
|
|
8
|
+
* Выбранная папка
|
|
9
|
+
*/
|
|
10
|
+
folder?: Folder | ItemAll;
|
|
11
|
+
/**
|
|
12
|
+
* Дерево папок
|
|
13
|
+
*/
|
|
14
|
+
folders?: FolderTree;
|
|
15
|
+
projectId: number;
|
|
16
|
+
/**
|
|
17
|
+
* Вместо "Корневой папки" выводить "Все папки"
|
|
18
|
+
*/
|
|
19
|
+
canSelectAll?: boolean;
|
|
20
|
+
addChanger?: SelectorProps['addChanger'];
|
|
21
|
+
addIcon?: boolean;
|
|
22
|
+
client?: Api.Client<Api.TV.Paths, true>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Дерево папок: ключ — id родителя, значение — список дочерних папок
|
|
26
|
+
*/
|
|
27
|
+
export type FolderTree = {
|
|
28
|
+
[index: string]: Folder[];
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Информация о папке (локальный тип компонента Folders)
|
|
32
|
+
*/
|
|
33
|
+
export interface Folder extends Item {
|
|
34
|
+
id: number;
|
|
35
|
+
/**
|
|
36
|
+
* Путь к папке
|
|
37
|
+
*/
|
|
38
|
+
path: string;
|
|
39
|
+
/**
|
|
40
|
+
* Список id дочерних папок, формируется локально
|
|
41
|
+
*/
|
|
42
|
+
childsIds?: number[];
|
|
43
|
+
/**
|
|
44
|
+
* Кол-во активных групп в папке
|
|
45
|
+
*/
|
|
46
|
+
countAllGroupsActive?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Кол-во дочерних папок
|
|
49
|
+
*/
|
|
50
|
+
count_folders?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Кол-во дочерних групп
|
|
53
|
+
*/
|
|
54
|
+
count_groups?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Кол-во активных дочерних групп
|
|
57
|
+
*/
|
|
58
|
+
count_groups_active?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Id родительской папки
|
|
61
|
+
*/
|
|
62
|
+
parent_id?: number;
|
|
63
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Folder, FolderTree } from './types';
|
|
2
|
+
import { Props } from '../types';
|
|
3
|
+
import { paths } from 'topvisor-openapi/src/ts/Topvisor';
|
|
4
|
+
import { components } from 'topvisor-openapi/src/ts/Keywords_2/Types/Folders/View';
|
|
5
|
+
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/FieldsTrait';
|
|
6
|
+
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/OrdersTrait';
|
|
7
|
+
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/FiltersTrait';
|
|
8
|
+
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/LimitTrait';
|
|
9
|
+
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/OffsetTrait';
|
|
10
|
+
import { components } from 'topvisor-openapi/src/ts/TV/API/Params/ProjectIdTrait';
|
|
11
|
+
export declare const folderDefault: Folder;
|
|
12
|
+
/**
|
|
13
|
+
* Сгенерировать объект корневой папки для компонента
|
|
14
|
+
*
|
|
15
|
+
* Содержит измененное имя
|
|
16
|
+
*
|
|
17
|
+
* Необходимо предустанавливать для минимизации `rerender`
|
|
18
|
+
*/
|
|
19
|
+
export declare const genRootFolder: (folders: FolderTree | undefined, useSelectAll: boolean) => Folder;
|
|
20
|
+
/**
|
|
21
|
+
* Сгенерировать плоский список папок
|
|
22
|
+
*
|
|
23
|
+
* В `folders` должен передаваться список всех папок, дозагрузка не предусмотрена
|
|
24
|
+
*/
|
|
25
|
+
export declare const genFlat: (folderById: NonNullable<Props["folders"]>, useSelectAll: boolean, resultFolders?: Map<number, Folder>, parentFolder?: Folder, depth?: number) => Map<number, Folder>;
|
|
26
|
+
/**
|
|
27
|
+
* Создать API запрос на получение групп
|
|
28
|
+
*/
|
|
29
|
+
export declare const genApiGetFolders: (client: Api.Client<Api.TV.Paths, true>) => Api.ClientRequest<Api.ClientRequestContext< paths, "/get/keywords_2/folders/", true>, ("name" | "id" | "path" | "parent_id")[], Api.Params<Api.ClientRequestContext< paths, "/get/keywords_2/folders/", true>, undefined, {
|
|
30
|
+
"COUNT(*)"?: any;
|
|
31
|
+
id?: any;
|
|
32
|
+
project_id?: any;
|
|
33
|
+
parent_id?: any;
|
|
34
|
+
name?: any;
|
|
35
|
+
count_folders?: any;
|
|
36
|
+
count_groups?: any;
|
|
37
|
+
count_groups_active?: any;
|
|
38
|
+
ord?: any;
|
|
39
|
+
path?: any;
|
|
40
|
+
ord_path?: any;
|
|
41
|
+
}, {
|
|
42
|
+
view?: components["schemas"]["Keywords_2.Types.Folders.View"];
|
|
43
|
+
show_trash?: number;
|
|
44
|
+
fields?: components["schemas"]["TV.API.Params.FieldsTrait"]["fields"];
|
|
45
|
+
orders?: components["schemas"]["TV.API.Params.OrdersTrait"]["orders"];
|
|
46
|
+
filters?: components["schemas"]["TV.API.Params.FiltersTrait"]["filters"];
|
|
47
|
+
id?: components["schemas"]["TV.API.Params.FiltersTrait"]["id"];
|
|
48
|
+
limit?: components["schemas"]["TV.API.Params.LimitTrait"]["limit"];
|
|
49
|
+
offset?: components["schemas"]["TV.API.Params.OffsetTrait"]["offset"];
|
|
50
|
+
project_id: components["schemas"]["TV.API.Params.ProjectIdTrait"]["project_id"];
|
|
51
|
+
}>, Api.ModelFields<{
|
|
52
|
+
"COUNT(*)"?: any;
|
|
53
|
+
id?: any;
|
|
54
|
+
project_id?: any;
|
|
55
|
+
parent_id?: any;
|
|
56
|
+
name?: any;
|
|
57
|
+
count_folders?: any;
|
|
58
|
+
count_groups?: any;
|
|
59
|
+
count_groups_active?: any;
|
|
60
|
+
ord?: any;
|
|
61
|
+
path?: any;
|
|
62
|
+
ord_path?: any;
|
|
63
|
+
}> | undefined>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Props } from './types';
|
|
2
|
+
import { Group } from './groups/types';
|
|
3
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
4
|
+
import { ItemAll, ItemNew } from '../../formsExt/selector2/types';
|
|
5
|
+
type __VLS_Props = Props;
|
|
6
|
+
type __VLS_PublicProps = {
|
|
7
|
+
'folderId': Props['folderId'];
|
|
8
|
+
'groupId': Props['groupId'];
|
|
9
|
+
'group'?: Props['group'];
|
|
10
|
+
} & __VLS_Props;
|
|
11
|
+
declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
12
|
+
"update:folderId": (value: number) => any;
|
|
13
|
+
"update:groupId": (value: number | null) => any;
|
|
14
|
+
"update:group": (value: ItemAll | ItemNew | Group | undefined) => any;
|
|
15
|
+
"update:groups": (groups?: Group[] | undefined) => any;
|
|
16
|
+
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
17
|
+
"onUpdate:folderId"?: ((value: number) => any) | undefined;
|
|
18
|
+
"onUpdate:groupId"?: ((value: number | null) => any) | undefined;
|
|
19
|
+
"onUpdate:group"?: ((value: ItemAll | ItemNew | Group | undefined) => any) | undefined;
|
|
20
|
+
"onUpdate:groups"?: ((groups?: Group[] | undefined) => any) | undefined;
|
|
21
|
+
}>, {
|
|
22
|
+
addChanger: boolean;
|
|
23
|
+
autoselect: "placeholder" | "first";
|
|
24
|
+
addIcon: boolean;
|
|
25
|
+
showFolders: boolean;
|
|
26
|
+
showGroups: boolean;
|
|
27
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
28
|
+
export default _default;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { Item as SelectorItem, ItemAll, ItemNew, Props, Size, Slots } from '../../../formsExt/selector2/types';
|
|
2
|
+
import { Group, Props } from './types';
|
|
3
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, ComponentInternalInstance, VNodeProps, AllowedComponentProps, ComponentCustomProps, ShallowUnwrapRef, Slot, ComponentPublicInstance, ComponentOptionsBase, GlobalComponents, GlobalDirectives, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ComponentCustomProperties } from 'vue';
|
|
4
|
+
import { Props } from '../../../forms/button/types';
|
|
5
|
+
import { TopLibPopup } from '../../../popup/lib/popup';
|
|
6
|
+
import { OnCleanup } from '@vue/reactivity';
|
|
7
|
+
type __VLS_Props = Props;
|
|
8
|
+
type __VLS_PublicProps = {
|
|
9
|
+
'groupId': Props['groupId'];
|
|
10
|
+
'group': Props['group'];
|
|
11
|
+
} & __VLS_Props;
|
|
12
|
+
declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
13
|
+
addGroup: (group: Group) => any;
|
|
14
|
+
"update:groupId": (value: number | null) => any;
|
|
15
|
+
"update:group": (value: ItemAll | ItemNew | Group) => any;
|
|
16
|
+
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
17
|
+
onAddGroup?: ((group: Group) => any) | undefined;
|
|
18
|
+
"onUpdate:groupId"?: ((value: number | null) => any) | undefined;
|
|
19
|
+
"onUpdate:group"?: ((value: ItemAll | ItemNew | Group) => any) | undefined;
|
|
20
|
+
}>, {
|
|
21
|
+
addChanger: boolean;
|
|
22
|
+
autoselect: "first" | "placeholder";
|
|
23
|
+
addIcon: boolean;
|
|
24
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
25
|
+
refSelector: ({
|
|
26
|
+
$: ComponentInternalInstance;
|
|
27
|
+
$data: {};
|
|
28
|
+
$props: {
|
|
29
|
+
readonly modelValue: Props["modelValue"];
|
|
30
|
+
readonly items?: SelectorItem[] | undefined;
|
|
31
|
+
readonly title?: string | undefined;
|
|
32
|
+
readonly disabled?: boolean | undefined;
|
|
33
|
+
readonly icon?: string | undefined;
|
|
34
|
+
readonly modificator?: string | undefined;
|
|
35
|
+
readonly size?: Size | undefined;
|
|
36
|
+
readonly isError?: boolean | undefined;
|
|
37
|
+
readonly openByFocusInput?: boolean | undefined;
|
|
38
|
+
readonly searchType?: "none" | "inline" | "popup" | undefined;
|
|
39
|
+
readonly placeholder?: string | undefined;
|
|
40
|
+
readonly api?: (Api.ClientRequest<any> | Api.ClientRequestCustom<any, any, any>) | undefined;
|
|
41
|
+
readonly apiSetSearchParams?: ((api: NonNullable< Props["api"]>, search: string) => void) | undefined;
|
|
42
|
+
readonly minLength?: number | undefined;
|
|
43
|
+
readonly useCache?: boolean | undefined;
|
|
44
|
+
readonly appendSearchToResult?: boolean | undefined;
|
|
45
|
+
readonly multiselect?: boolean | undefined;
|
|
46
|
+
readonly useAllItem?: boolean | string | undefined;
|
|
47
|
+
readonly addChanger?: boolean | undefined;
|
|
48
|
+
readonly buttonProps?: Props | undefined;
|
|
49
|
+
readonly selectedAsPlaceholder?: boolean | undefined;
|
|
50
|
+
readonly "onUpdate:modelValue"?: ((value: SelectorItem | SelectorItem[]) => any) | undefined;
|
|
51
|
+
readonly onAppendItem?: ((item: SelectorItem) => any) | undefined;
|
|
52
|
+
} & VNodeProps & AllowedComponentProps & ComponentCustomProps;
|
|
53
|
+
$attrs: {
|
|
54
|
+
[x: string]: unknown;
|
|
55
|
+
};
|
|
56
|
+
$refs: {
|
|
57
|
+
[x: string]: unknown;
|
|
58
|
+
} & {
|
|
59
|
+
popupRef: ShallowUnwrapRef<{
|
|
60
|
+
id: string;
|
|
61
|
+
popup: TopLibPopup<undefined> | undefined;
|
|
62
|
+
}> | null;
|
|
63
|
+
};
|
|
64
|
+
$slots: Readonly<{
|
|
65
|
+
[name: string]: Slot<any> | undefined;
|
|
66
|
+
}>;
|
|
67
|
+
$root: ComponentPublicInstance | null;
|
|
68
|
+
$parent: ComponentPublicInstance | null;
|
|
69
|
+
$host: Element | null;
|
|
70
|
+
$emit: ((event: "update:modelValue", value: SelectorItem | SelectorItem[]) => void) & ((event: "appendItem", item: SelectorItem) => void);
|
|
71
|
+
$el: any;
|
|
72
|
+
$options: ComponentOptionsBase<Readonly<{
|
|
73
|
+
modelValue: Props["modelValue"];
|
|
74
|
+
} & Props> & Readonly<{
|
|
75
|
+
"onUpdate:modelValue"?: ((value: SelectorItem | SelectorItem[]) => any) | undefined;
|
|
76
|
+
onAppendItem?: ((item: SelectorItem) => any) | undefined;
|
|
77
|
+
}>, {
|
|
78
|
+
resetCache: (resetAPICache?: boolean) => void;
|
|
79
|
+
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
80
|
+
"update:modelValue": (value: SelectorItem | SelectorItem[]) => any;
|
|
81
|
+
appendItem: (item: SelectorItem) => any;
|
|
82
|
+
}, string, {
|
|
83
|
+
size: Size;
|
|
84
|
+
openByFocusInput: boolean;
|
|
85
|
+
items: SelectorItem[];
|
|
86
|
+
searchType: "none" | "inline" | "popup";
|
|
87
|
+
minLength: number;
|
|
88
|
+
}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
|
|
89
|
+
beforeCreate?: (() => void) | (() => void)[];
|
|
90
|
+
created?: (() => void) | (() => void)[];
|
|
91
|
+
beforeMount?: (() => void) | (() => void)[];
|
|
92
|
+
mounted?: (() => void) | (() => void)[];
|
|
93
|
+
beforeUpdate?: (() => void) | (() => void)[];
|
|
94
|
+
updated?: (() => void) | (() => void)[];
|
|
95
|
+
activated?: (() => void) | (() => void)[];
|
|
96
|
+
deactivated?: (() => void) | (() => void)[];
|
|
97
|
+
beforeDestroy?: (() => void) | (() => void)[];
|
|
98
|
+
beforeUnmount?: (() => void) | (() => void)[];
|
|
99
|
+
destroyed?: (() => void) | (() => void)[];
|
|
100
|
+
unmounted?: (() => void) | (() => void)[];
|
|
101
|
+
renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
|
|
102
|
+
renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
|
|
103
|
+
errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
|
|
104
|
+
};
|
|
105
|
+
$forceUpdate: () => void;
|
|
106
|
+
$nextTick: nextTick;
|
|
107
|
+
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
|
|
108
|
+
} & Readonly<{
|
|
109
|
+
size: Size;
|
|
110
|
+
openByFocusInput: boolean;
|
|
111
|
+
items: SelectorItem[];
|
|
112
|
+
searchType: "none" | "inline" | "popup";
|
|
113
|
+
minLength: number;
|
|
114
|
+
}> & Omit<Readonly<{
|
|
115
|
+
modelValue: Props["modelValue"];
|
|
116
|
+
} & Props> & Readonly<{
|
|
117
|
+
"onUpdate:modelValue"?: ((value: SelectorItem | SelectorItem[]) => any) | undefined;
|
|
118
|
+
onAppendItem?: ((item: SelectorItem) => any) | undefined;
|
|
119
|
+
}>, "resetCache" | ("size" | "openByFocusInput" | "items" | "searchType" | "minLength")> & ShallowUnwrapRef<{
|
|
120
|
+
resetCache: (resetAPICache?: boolean) => void;
|
|
121
|
+
}> & {} & ComponentCustomProperties & {} & {
|
|
122
|
+
$slots: Readonly< Slots> & Slots;
|
|
123
|
+
}) | null;
|
|
124
|
+
}, any>;
|
|
125
|
+
export default _default;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Item, ItemAll, ItemNew, Props as SelectorProps } from '../../../formsExt/selector2/types';
|
|
2
|
+
import { Folder } from '../folders/types';
|
|
3
|
+
export interface Props {
|
|
4
|
+
/**
|
|
5
|
+
* Id выбранной группы
|
|
6
|
+
*/
|
|
7
|
+
groupId: number | null;
|
|
8
|
+
/**
|
|
9
|
+
* Выбранная группа
|
|
10
|
+
*/
|
|
11
|
+
group: Group | ItemAll | ItemNew;
|
|
12
|
+
projectId: number;
|
|
13
|
+
/**
|
|
14
|
+
* Папка, группы которой надо показать
|
|
15
|
+
*
|
|
16
|
+
* Если не указана будут выводиться все папки, а добавление новых групп будет происходить в корневую папку
|
|
17
|
+
*/
|
|
18
|
+
folder?: Folder;
|
|
19
|
+
/**
|
|
20
|
+
* Список групп
|
|
21
|
+
*/
|
|
22
|
+
groups?: Group[];
|
|
23
|
+
canAdd?: 'api' | SelectorProps['appendSearchToResult'];
|
|
24
|
+
canSelectAll?: SelectorProps['useAllItem'];
|
|
25
|
+
autoselect?: 'first' | 'placeholder';
|
|
26
|
+
addChanger?: SelectorProps['addChanger'];
|
|
27
|
+
addIcon?: boolean;
|
|
28
|
+
client?: Api.Client<Api.TV.Paths, true>;
|
|
29
|
+
}
|
|
30
|
+
export interface Emits {
|
|
31
|
+
addGroup: [group: Group];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Информация о группе
|
|
35
|
+
*/
|
|
36
|
+
export interface Group extends Item {
|
|
37
|
+
/**
|
|
38
|
+
* Id родительской папки
|
|
39
|
+
*/
|
|
40
|
+
folder_id: number;
|
|
41
|
+
/**
|
|
42
|
+
* Путь к папке
|
|
43
|
+
*/
|
|
44
|
+
folder_path: string;
|
|
45
|
+
/**
|
|
46
|
+
* Флаг включения группы:
|
|
47
|
+
* 0 - выключена
|
|
48
|
+
* 1 - включена
|
|
49
|
+
*/
|
|
50
|
+
on?: 0 | 1;
|
|
51
|
+
/**
|
|
52
|
+
* Флаг статуса группы:
|
|
53
|
+
* 0 - обычный
|
|
54
|
+
* 1 - идет загрузка фраз
|
|
55
|
+
*/
|
|
56
|
+
status?: 0 | 1;
|
|
57
|
+
}
|