admins-components 9.0.50 → 9.0.51
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/dist/admins-components.js +35 -33
- package/dist/admins-components100.js +245 -3
- package/dist/admins-components100.js.map +1 -1
- package/dist/admins-components102.js +6 -52
- package/dist/admins-components102.js.map +1 -1
- package/dist/admins-components103.js +3 -82
- package/dist/admins-components103.js.map +1 -1
- package/dist/admins-components104.js +3 -113
- package/dist/admins-components104.js.map +1 -1
- package/dist/admins-components105.js +49 -44
- package/dist/admins-components105.js.map +1 -1
- package/dist/admins-components106.js +80 -104
- package/dist/admins-components106.js.map +1 -1
- package/dist/admins-components107.js +109 -16
- package/dist/admins-components107.js.map +1 -1
- package/dist/admins-components108.js +46 -6
- package/dist/admins-components108.js.map +1 -1
- package/dist/admins-components109.js +100 -246
- package/dist/admins-components109.js.map +1 -1
- package/dist/admins-components110.js +19 -26
- package/dist/admins-components110.js.map +1 -1
- package/dist/admins-components111.js +6 -27
- package/dist/admins-components111.js.map +1 -1
- package/dist/admins-components112.js +239 -159
- package/dist/admins-components112.js.map +1 -1
- package/dist/admins-components113.js +26 -67
- package/dist/admins-components113.js.map +1 -1
- package/dist/admins-components114.js +25 -64
- package/dist/admins-components114.js.map +1 -1
- package/dist/admins-components115.js +169 -27
- package/dist/admins-components115.js.map +1 -1
- package/dist/admins-components116.js +65 -13
- package/dist/admins-components116.js.map +1 -1
- package/dist/admins-components117.js +64 -24
- package/dist/admins-components117.js.map +1 -1
- package/dist/admins-components118.js +29 -8
- package/dist/admins-components118.js.map +1 -1
- package/dist/admins-components119.js +16 -4
- package/dist/admins-components119.js.map +1 -1
- package/dist/admins-components120.js +27 -3
- package/dist/admins-components120.js.map +1 -1
- package/dist/admins-components121.js +8 -2
- package/dist/admins-components121.js.map +1 -1
- package/dist/admins-components122.js +4 -21
- package/dist/admins-components122.js.map +1 -1
- package/dist/admins-components123.js +3 -14
- package/dist/admins-components123.js.map +1 -1
- package/dist/admins-components124.js +3 -8
- package/dist/admins-components124.js.map +1 -1
- package/dist/admins-components125.js +19 -11
- package/dist/admins-components125.js.map +1 -1
- package/dist/admins-components126.js +14 -26
- package/dist/admins-components126.js.map +1 -1
- package/dist/admins-components127.js +7 -82
- package/dist/admins-components127.js.map +1 -1
- package/dist/admins-components128.js +9 -7
- package/dist/admins-components128.js.map +1 -1
- package/dist/admins-components129.js +25 -4
- package/dist/admins-components129.js.map +1 -1
- package/dist/admins-components130.js +81 -6
- package/dist/admins-components130.js.map +1 -1
- package/dist/admins-components131.js +10 -6
- package/dist/admins-components131.js.map +1 -1
- package/dist/admins-components132.js +2 -3
- package/dist/admins-components132.js.map +1 -1
- package/dist/admins-components133.js +8 -15
- package/dist/admins-components133.js.map +1 -1
- package/dist/admins-components134.js +6 -12
- package/dist/admins-components134.js.map +1 -1
- package/dist/admins-components135.js +6 -30
- package/dist/admins-components135.js.map +1 -1
- package/dist/admins-components136.js +15 -4
- package/dist/admins-components136.js.map +1 -1
- package/dist/admins-components137.js +13 -29
- package/dist/admins-components137.js.map +1 -1
- package/dist/admins-components138.js +30 -5
- package/dist/admins-components138.js.map +1 -1
- package/dist/admins-components139.js +4 -5
- package/dist/admins-components139.js.map +1 -1
- package/dist/admins-components140.js +28 -7
- package/dist/admins-components140.js.map +1 -1
- package/dist/admins-components141.js +4 -73
- package/dist/admins-components141.js.map +1 -1
- package/dist/admins-components142.js +4 -28
- package/dist/admins-components142.js.map +1 -1
- package/dist/admins-components143.js +8 -59
- package/dist/admins-components143.js.map +1 -1
- package/dist/admins-components144.js +72 -22
- package/dist/admins-components144.js.map +1 -1
- package/dist/admins-components145.js +26 -47
- package/dist/admins-components145.js.map +1 -1
- package/dist/admins-components146.js +58 -30
- package/dist/admins-components146.js.map +1 -1
- package/dist/admins-components147.js +24 -3
- package/dist/admins-components147.js.map +1 -1
- package/dist/admins-components148.js +44 -173
- package/dist/admins-components148.js.map +1 -1
- package/dist/admins-components149.js +28 -43
- package/dist/admins-components149.js.map +1 -1
- package/dist/admins-components150.js +3 -37
- package/dist/admins-components150.js.map +1 -1
- package/dist/admins-components151.js +176 -43
- package/dist/admins-components151.js.map +1 -1
- package/dist/admins-components152.js +41 -136
- package/dist/admins-components152.js.map +1 -1
- package/dist/admins-components153.js +36 -57
- package/dist/admins-components153.js.map +1 -1
- package/dist/admins-components154.js +44 -5
- package/dist/admins-components154.js.map +1 -1
- package/dist/admins-components155.js +141 -6
- package/dist/admins-components155.js.map +1 -1
- package/dist/admins-components156.js +57 -75
- package/dist/admins-components156.js.map +1 -1
- package/dist/admins-components157.js +6 -28
- package/dist/admins-components157.js.map +1 -1
- package/dist/admins-components158.js +5 -1930
- package/dist/admins-components158.js.map +1 -1
- package/dist/admins-components159.js +75 -24810
- package/dist/admins-components159.js.map +1 -1
- package/dist/admins-components16.js +4 -3
- package/dist/admins-components16.js.map +1 -1
- package/dist/admins-components160.js +28 -8
- package/dist/admins-components160.js.map +1 -1
- package/dist/admins-components161.js +1929 -5
- package/dist/admins-components161.js.map +1 -0
- package/dist/admins-components162.js +24809 -140
- package/dist/admins-components162.js.map +1 -1
- package/dist/admins-components163.js +3 -3
- package/dist/admins-components163.js.map +1 -1
- package/dist/admins-components164.js +7 -9
- package/dist/admins-components165.js +143 -0
- package/dist/admins-components165.js.map +1 -0
- package/dist/admins-components166.js +8 -167
- package/dist/admins-components166.js.map +1 -1
- package/dist/admins-components167.js +8 -50
- package/dist/admins-components167.js.map +1 -1
- package/dist/admins-components169.js +161 -43
- package/dist/admins-components169.js.map +1 -1
- package/dist/admins-components17.js.map +1 -1
- package/dist/admins-components170.js +51 -6
- package/dist/admins-components170.js.map +1 -1
- package/dist/admins-components171.js +8 -79
- package/dist/admins-components171.js.map +1 -1
- package/dist/admins-components172.js +35 -43
- package/dist/admins-components172.js.map +1 -1
- package/dist/admins-components173.js +6 -59
- package/dist/admins-components173.js.map +1 -1
- package/dist/admins-components174.js +79 -8
- package/dist/admins-components174.js.map +1 -1
- package/dist/admins-components175.js +43 -37
- package/dist/admins-components175.js.map +1 -1
- package/dist/admins-components176.js +58 -8
- package/dist/admins-components176.js.map +1 -1
- package/dist/admins-components177.js +10 -0
- package/dist/admins-components177.js.map +1 -0
- package/dist/admins-components178.js +44 -50
- package/dist/admins-components178.js.map +1 -1
- package/dist/admins-components179.js +10 -0
- package/dist/admins-components179.js.map +1 -0
- package/dist/admins-components181.js +59 -0
- package/dist/admins-components181.js.map +1 -0
- package/dist/admins-components5.js +30 -28
- package/dist/admins-components5.js.map +1 -1
- package/dist/admins-components58.js.map +1 -1
- package/dist/admins-components6.js.map +1 -1
- package/dist/admins-components65.js +66 -42
- package/dist/admins-components65.js.map +1 -1
- package/dist/admins-components67.js.map +1 -1
- package/dist/admins-components68.js +102 -95
- package/dist/admins-components68.js.map +1 -1
- package/dist/admins-components70.js.map +1 -1
- package/dist/admins-components72.js +135 -126
- package/dist/admins-components72.js.map +1 -1
- package/dist/admins-components74.js.map +1 -1
- package/dist/admins-components76.js +32 -122
- package/dist/admins-components76.js.map +1 -1
- package/dist/admins-components77.js +146 -0
- package/dist/admins-components77.js.map +1 -0
- package/dist/admins-components79.js +6 -59
- package/dist/admins-components79.js.map +1 -1
- package/dist/admins-components80.js +140 -67
- package/dist/admins-components80.js.map +1 -1
- package/dist/admins-components82.js +7 -0
- package/dist/admins-components82.js.map +1 -0
- package/dist/admins-components83.js +59 -6
- package/dist/admins-components83.js.map +1 -1
- package/dist/admins-components84.js +66 -229
- package/dist/admins-components84.js.map +1 -1
- package/dist/{admins-components81.js → admins-components85.js} +2 -2
- package/dist/{admins-components81.js.map → admins-components85.js.map} +1 -1
- package/dist/admins-components87.js +6 -37
- package/dist/admins-components87.js.map +1 -1
- package/dist/admins-components88.js +231 -0
- package/dist/admins-components88.js.map +1 -0
- package/dist/admins-components90.js +6 -199
- package/dist/admins-components90.js.map +1 -1
- package/dist/admins-components91.js +38 -0
- package/dist/{admins-components89.js.map → admins-components91.js.map} +1 -1
- package/dist/admins-components93.js +6 -16
- package/dist/admins-components93.js.map +1 -1
- package/dist/admins-components94.js +188 -64
- package/dist/admins-components94.js.map +1 -1
- package/dist/admins-components96.js +2 -2
- package/dist/admins-components96.js.map +1 -1
- package/dist/admins-components97.js +76 -198
- package/dist/admins-components97.js.map +1 -1
- package/dist/admins-components99.js +2 -2
- package/dist/admins-components99.js.map +1 -1
- package/dist/main.css +1 -1
- package/dist/main.css.map +1 -1
- package/dist/src/components/TextInput.vue.d.ts +2 -0
- package/dist/src/components/data-table/DataList.vue.d.ts +12 -3
- package/dist/src/components/data-table/DataPaginator.vue.d.ts +5 -1
- package/dist/src/components/data-table/DataSearch.vue.d.ts +9 -0
- package/dist/src/components/data-table/DataSort.vue.d.ts +51 -0
- package/dist/src/components/data-table/DataTable.vue.d.ts +12 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/styles/components/data-table/data-cards.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/src/styles/components/data-table/data-list.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/src/styles/components/data-table/data-search.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/src/styles/components/data-table/data-sort.scss_vue_type_style_index_0_src_true_lang.css +1 -0
- package/dist/src/styles/components/dropdown-select.scss_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/src/types/data-list.d.ts +1 -0
- package/dist/src/utils/url.d.ts +21 -0
- package/package.json +1 -1
- package/dist/admins-components101.js +0 -4
- package/dist/admins-components101.js.map +0 -1
- package/dist/admins-components164.js.map +0 -1
- package/dist/admins-components168.js +0 -10
- package/dist/admins-components168.js.map +0 -1
- package/dist/admins-components78.js +0 -7
- package/dist/admins-components78.js.map +0 -1
- package/dist/admins-components86.js +0 -7
- package/dist/admins-components86.js.map +0 -1
- package/dist/admins-components89.js +0 -7
- package/dist/admins-components92.js +0 -7
- package/dist/admins-components92.js.map +0 -1
|
@@ -27,37 +27,39 @@ import J from "./admins-components70.js";
|
|
|
27
27
|
import { deepMerge as Y } from "./admins-components71.js";
|
|
28
28
|
import X from "./admins-components74.js";
|
|
29
29
|
import { getFullStorageKey as Z } from "./admins-components75.js";
|
|
30
|
-
import {
|
|
31
|
-
import
|
|
32
|
-
import
|
|
33
|
-
import
|
|
34
|
-
import se from "./admins-
|
|
35
|
-
import
|
|
36
|
-
import
|
|
37
|
-
import
|
|
38
|
-
import me from "./admins-
|
|
39
|
-
import {
|
|
40
|
-
import
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import ke from "./admins-
|
|
49
|
-
import {
|
|
50
|
-
import
|
|
51
|
-
import Pe from "./admins-components166.js";
|
|
52
|
-
import Fe from "./admins-components167.js";
|
|
53
|
-
import
|
|
54
|
-
import Re from "./admins-
|
|
55
|
-
import {
|
|
56
|
-
import Ve from "./admins-
|
|
57
|
-
import He from "./admins-
|
|
58
|
-
import
|
|
59
|
-
import
|
|
60
|
-
import Ke from "./admins-
|
|
61
|
-
import {
|
|
30
|
+
import { getUrlParam as Q, joinUrl as $, removeUrlParam as ee, setUrlParam as te } from "./admins-components76.js";
|
|
31
|
+
import { getDefaultPaginator as ne } from "./admins-components77.js";
|
|
32
|
+
import re from "./admins-components79.js";
|
|
33
|
+
import { getDefaultSort as ie } from "./admins-components80.js";
|
|
34
|
+
import { filterEmptyValues as ae, getDefaultFilters as oe, getDefaultSavedFilter as se, getFilterUrlParams as ce, getSavedFilters as le, writeFilterParams as ue } from "./admins-components84.js";
|
|
35
|
+
import de from "./admins-components87.js";
|
|
36
|
+
import fe from "./admins-components90.js";
|
|
37
|
+
import pe from "./admins-components93.js";
|
|
38
|
+
import { getDefaultSearch as me } from "./admins-components97.js";
|
|
39
|
+
import { dataListDefaults as he, getDefaultFetchData as ge } from "./admins-components100.js";
|
|
40
|
+
import _e from "./admins-components102.js";
|
|
41
|
+
import { isIpInUrl as ve } from "./admins-components103.js";
|
|
42
|
+
import { getCurrentSite as ye } from "./admins-components104.js";
|
|
43
|
+
import { vTooltip as be } from "./admins-components105.js";
|
|
44
|
+
import { createNativeFetch as xe } from "./admins-components106.js";
|
|
45
|
+
import { FetchDetails as Se, FetchError as Ce, Methods as we, initRequest as Te } from "./admins-components107.js";
|
|
46
|
+
import { useArticleEditorService as Ee } from "./admins-components108.js";
|
|
47
|
+
import { useCurrentUser as De } from "./admins-components109.js";
|
|
48
|
+
import { BackendService as Oe, useBackendService as ke } from "./admins-components110.js";
|
|
49
|
+
import { aoeConfig as Ae, configureArticleOfferElement as je } from "./admins-components163.js";
|
|
50
|
+
import Me from "./admins-components165.js";
|
|
51
|
+
import { apeConfig as Ne, configureArticlePickerElement as Pe } from "./admins-components166.js";
|
|
52
|
+
import { configureImagePickerElement as Fe, ipeConfig as Ie } from "./admins-components167.js";
|
|
53
|
+
import Le from "./admins-components169.js";
|
|
54
|
+
import Re from "./admins-components170.js";
|
|
55
|
+
import { configureExternalArticleOfferElement as ze, eaoeConfig as Be } from "./admins-components171.js";
|
|
56
|
+
import Ve from "./admins-components172.js";
|
|
57
|
+
import { configureGalleryImageSelectorElement as He, gisConfig as Ue } from "./admins-components173.js";
|
|
58
|
+
import We from "./admins-components174.js";
|
|
59
|
+
import Ge from "./admins-components175.js";
|
|
60
|
+
import Ke from "./admins-components176.js";
|
|
61
|
+
import { configureInternalArticleOfferElement as qe, iaoeConfig as Je } from "./admins-components177.js";
|
|
62
62
|
import Ye from "./admins-components178.js";
|
|
63
|
-
|
|
63
|
+
import { configurePartnerPickerElement as Xe, ppeconfig as Ze } from "./admins-components179.js";
|
|
64
|
+
import Qe from "./admins-components181.js";
|
|
65
|
+
export { Me as ArticleOfferElement, Le as ArticlePickerElement, Oe as BackendService, u as Button, m as Calendar, v as Checkbox, E as ConfirmModal, D as CopyToClipboard, J as DataCards, fe as DataFilters, _e as DataList, X as DataListOptions, re as DataPaginator, q as DataTable, h as DatePicker, y as DateRangePicker, Re as DateTimePickerElement, S as DropdownMenu, x as DropdownSelect, k as ExternalArticleOffer, Ve as ExternalArticleOfferElement, Se as FetchDetails, Ce as FetchError, pe as FilterTags, de as FiltersHistory, We as GalleryImageSelectorElement, w as HeaderComponent, O as ImagePicker, Ke as ImagePickerDetailsElement, Ge as ImagePickerElement, A as InternalArticleOffer, Ye as InternalArticleOfferElement, b as Loader, we as Methods, T as Modal, Qe as PartnerPickerElement, C as Sidebar, _ as TextInput, M as ToastNotification, Ae as aoeConfig, Ne as apeConfig, I as booleanToString, d as calendarConfigDefaults, e as castToDate, je as configureArticleOfferElement, Pe as configureArticlePickerElement, ze as configureExternalArticleOfferElement, He as configureGalleryImageSelectorElement, Fe as configureImagePickerElement, qe as configureInternalArticleOfferElement, Xe as configurePartnerPickerElement, xe as createNativeFetch, N as dataCardsSettingsDefaults, L as dataListConverters, he as dataListDefaults, P as dataListSettingsDefaults, F as dataTableSettingsDefaults, f as datePickerConfigDefaults, p as dateRangePickerConfigDefaults, g as debounce, Y as deepMerge, Be as eaoeConfig, t as earlierOf, n as endOfDay, R as enumMap, ae as filterEmptyValues, z as formatCurrency, r as formatDate, B as formatNumber, ye as getCurrentSite, ge as getDefaultFetchData, oe as getDefaultFilters, ne as getDefaultPaginator, se as getDefaultSavedFilter, me as getDefaultSearch, ie as getDefaultSort, ce as getFilterUrlParams, Z as getFullStorageKey, le as getSavedFilters, Q as getUrlParam, Ue as gisConfig, Je as iaoeConfig, V as identity, Te as initRequest, Ie as ipeConfig, ve as isIpInUrl, $ as joinUrl, i as laterOf, H as listToString, U as localToLocalString, a as localToUTCString, o as parseDate, Ze as ppeconfig, ee as removeUrlParam, te as setUrlParam, W as shortUuid, s as startOfDay, c as startOfWeek, G as textEllipse, j as toast, Ee as useArticleEditorService, ke as useBackendService, De as useCurrentUser, K as utcToLocalString, l as utcToString, be as vTooltip, ue as writeFilterParams };
|
|
@@ -1,4 +1,246 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import e from "./admins-components6.js";
|
|
2
|
+
import t from "./admins-components67.js";
|
|
3
|
+
import n from "./admins-components70.js";
|
|
4
|
+
import r from "./admins-components74.js";
|
|
5
|
+
import { getDefaultPaginator as i } from "./admins-components77.js";
|
|
6
|
+
import a from "./admins-components79.js";
|
|
7
|
+
import { getDefaultSort as o } from "./admins-components80.js";
|
|
8
|
+
import s from "./admins-components82.js";
|
|
9
|
+
import { getDefaultFilters as c } from "./admins-components84.js";
|
|
10
|
+
import l from "./admins-components90.js";
|
|
11
|
+
import u from "./admins-components93.js";
|
|
12
|
+
import d from "./admins-components96.js";
|
|
13
|
+
import { getDefaultSearch as f } from "./admins-components97.js";
|
|
14
|
+
import p from "./admins-components99.js";
|
|
15
|
+
import { computed as m, createBlock as h, createCommentVNode as g, createElementBlock as _, createElementVNode as v, createVNode as y, defineComponent as b, mergeDefaults as x, mergeProps as S, onBeforeUnmount as C, onMounted as w, openBlock as T, ref as E } from "vue";
|
|
16
|
+
//#region src/components/data-table/DataList.vue?vue&type=script&setup=true&lang.ts
|
|
17
|
+
var ee = { class: "ac-component" }, D = { class: "c-data-list__toolbar" }, O = {
|
|
18
|
+
key: 2,
|
|
19
|
+
class: "flex-center gap-1 flex-center-wrap-on-mobile"
|
|
20
|
+
}, k = { class: "flex-center ml-auto nowrap" }, A = {
|
|
21
|
+
layoutBreakpoint: 768,
|
|
22
|
+
orderable: !0,
|
|
23
|
+
loading: !1,
|
|
24
|
+
useSearch: !0,
|
|
25
|
+
useFilters: !0,
|
|
26
|
+
handleUrl: !1
|
|
27
|
+
};
|
|
28
|
+
function j(e, t) {
|
|
29
|
+
let n = i(t), r = o(), a = f(), s = c(e, t, !0);
|
|
30
|
+
return {
|
|
31
|
+
...n,
|
|
32
|
+
...r,
|
|
33
|
+
...a,
|
|
34
|
+
...s
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
var M = /* @__PURE__ */ b({
|
|
38
|
+
__name: "DataList",
|
|
39
|
+
props: /* @__PURE__ */ x({
|
|
40
|
+
config: {},
|
|
41
|
+
items: {},
|
|
42
|
+
settings: {},
|
|
43
|
+
id: {},
|
|
44
|
+
layoutBreakpoint: {},
|
|
45
|
+
orderable: { type: Boolean },
|
|
46
|
+
pagination: {},
|
|
47
|
+
loading: { type: Boolean },
|
|
48
|
+
handleUrl: { type: Boolean },
|
|
49
|
+
useSearch: { type: Boolean },
|
|
50
|
+
useFilters: { type: Boolean },
|
|
51
|
+
searchConfig: {},
|
|
52
|
+
filterConfig: {}
|
|
53
|
+
}, {
|
|
54
|
+
...A,
|
|
55
|
+
searchConfig: void 0,
|
|
56
|
+
filterConfig: void 0
|
|
57
|
+
}),
|
|
58
|
+
emits: [
|
|
59
|
+
"filter-change",
|
|
60
|
+
"selection-change",
|
|
61
|
+
"settings-change",
|
|
62
|
+
"pagination-change",
|
|
63
|
+
"sort-change",
|
|
64
|
+
"search-change"
|
|
65
|
+
],
|
|
66
|
+
setup(i, { expose: f, emit: b }) {
|
|
67
|
+
let x = E(null), A = i;
|
|
68
|
+
function j(e) {
|
|
69
|
+
let t = A[e];
|
|
70
|
+
return t && Object.hasOwn(t, "handleUrl") ? t.handleUrl : A.handleUrl;
|
|
71
|
+
}
|
|
72
|
+
let M = m(() => ({
|
|
73
|
+
...A.searchConfig,
|
|
74
|
+
handleUrl: j("searchConfig")
|
|
75
|
+
})), N = m(() => ({
|
|
76
|
+
...A.filterConfig,
|
|
77
|
+
handleUrl: j("filterConfig")
|
|
78
|
+
})), P = b, F = E(!1), I = E(!1), L = E(null), R = E(!1), z = E(null), B = E(!1), V = E(A.filterConfig?.items ? c(A.filterConfig.items, A.id, !1) : {}), H = null;
|
|
79
|
+
w(() => {
|
|
80
|
+
H = new ResizeObserver((e) => {
|
|
81
|
+
R.value = (e[0]?.contentRect.width ?? 0) < A.layoutBreakpoint;
|
|
82
|
+
}), z.value && H.observe(z.value);
|
|
83
|
+
}), C(() => H?.disconnect());
|
|
84
|
+
let U = m(() => {
|
|
85
|
+
let e = L.value?.layout;
|
|
86
|
+
return e === "table" || e === "cards" ? e : R.value ? "cards" : "table";
|
|
87
|
+
}), W = m(() => {
|
|
88
|
+
if (!L.value) return A.config;
|
|
89
|
+
let e = L.value.columnOrder, t = A.config.columns.map((e) => ({
|
|
90
|
+
...e,
|
|
91
|
+
visible: L.value.columns[e.property] ?? e.visible !== !1
|
|
92
|
+
}));
|
|
93
|
+
return e?.length && t.sort((t, n) => {
|
|
94
|
+
let r = e.indexOf(t.property), i = e.indexOf(n.property);
|
|
95
|
+
return (r === -1 ? 999 : r) - (i === -1 ? 999 : i);
|
|
96
|
+
}), {
|
|
97
|
+
...A.config,
|
|
98
|
+
columns: t
|
|
99
|
+
};
|
|
100
|
+
});
|
|
101
|
+
function G(e) {
|
|
102
|
+
L.value = e, P("settings-change", e);
|
|
103
|
+
}
|
|
104
|
+
f({
|
|
105
|
+
openOptions: () => F.value = !0,
|
|
106
|
+
closeOptions: () => F.value = !1,
|
|
107
|
+
openFilters: () => B.value = !0,
|
|
108
|
+
closeFilters: () => B.value = !1
|
|
109
|
+
});
|
|
110
|
+
async function K(e) {
|
|
111
|
+
B.value = !0, setTimeout(() => {
|
|
112
|
+
x.value?.focusFilter(e);
|
|
113
|
+
}, 300);
|
|
114
|
+
}
|
|
115
|
+
function q(e) {
|
|
116
|
+
V.value = e.values, P("filter-change", e.transformed);
|
|
117
|
+
}
|
|
118
|
+
let J = m(() => Object.values(V.value).filter((e) => e != null && e !== "").length), Y = m(() => !!A.pagination && (A.items.length > 0 || !A.loading)), X = (e) => {
|
|
119
|
+
P("search-change", e);
|
|
120
|
+
}, Z = m(() => A.config.columns.filter((e) => e.sort).map((e) => ({
|
|
121
|
+
value: e.property,
|
|
122
|
+
label: e.label
|
|
123
|
+
}))), Q = E(A.handleUrl ? o() : null), $ = (e) => {
|
|
124
|
+
Q.value = e, P("sort-change", e);
|
|
125
|
+
};
|
|
126
|
+
return (o, c) => (T(), _("div", ee, [v("div", {
|
|
127
|
+
ref_key: "root",
|
|
128
|
+
ref: z,
|
|
129
|
+
class: "c-data-list"
|
|
130
|
+
}, [
|
|
131
|
+
v("div", D, [
|
|
132
|
+
i.useSearch ? (T(), h(p, S({ key: 0 }, M.value, { onSearchChange: X }), null, 16)) : g("", !0),
|
|
133
|
+
i.useFilters && i.filterConfig?.items && i.filterConfig.items.length > 0 ? (T(), h(e, {
|
|
134
|
+
key: 1,
|
|
135
|
+
label: "Szűrők",
|
|
136
|
+
icon: "fa-solid fa-filter",
|
|
137
|
+
onClick: c[0] ||= (e) => B.value = !0,
|
|
138
|
+
style: { "flex-shrink": "0" },
|
|
139
|
+
type: J.value > 0 ? "info" : "normal",
|
|
140
|
+
indicator: J.value > 0 ? J.value : void 0
|
|
141
|
+
}, null, 8, ["type", "indicator"])) : g("", !0),
|
|
142
|
+
i.useFilters && i.filterConfig?.items && i.filterConfig.items.length > 0 ? (T(), _("div", O, [y(u, {
|
|
143
|
+
filters: V.value,
|
|
144
|
+
items: i.filterConfig.items,
|
|
145
|
+
onRemove: c[1] ||= (e) => x.value?.clearFilter(e),
|
|
146
|
+
onOpenFilter: K
|
|
147
|
+
}, null, 8, ["filters", "items"])])) : g("", !0),
|
|
148
|
+
v("div", k, [
|
|
149
|
+
Z.value.length > 0 ? (T(), h(s, {
|
|
150
|
+
key: 0,
|
|
151
|
+
modelValue: Q.value,
|
|
152
|
+
"onUpdate:modelValue": c[2] ||= (e) => Q.value = e,
|
|
153
|
+
options: Z.value,
|
|
154
|
+
"handle-url": i.handleUrl,
|
|
155
|
+
onSortChange: $
|
|
156
|
+
}, null, 8, [
|
|
157
|
+
"modelValue",
|
|
158
|
+
"options",
|
|
159
|
+
"handle-url"
|
|
160
|
+
])) : g("", !0),
|
|
161
|
+
y(e, {
|
|
162
|
+
icon: "fa-solid fa-gear",
|
|
163
|
+
class: "lh-normal settings-btn",
|
|
164
|
+
onClick: c[3] ||= (e) => F.value = !0
|
|
165
|
+
}),
|
|
166
|
+
y(e, {
|
|
167
|
+
icon: "fa-solid fa-question",
|
|
168
|
+
class: "lh-normal",
|
|
169
|
+
onClick: c[4] ||= (e) => I.value = !0
|
|
170
|
+
})
|
|
171
|
+
])
|
|
172
|
+
]),
|
|
173
|
+
i.useFilters && i.filterConfig?.items && i.filterConfig.items.length > 0 ? (T(), h(l, S({
|
|
174
|
+
key: 0,
|
|
175
|
+
ref_key: "dataFiltersRef",
|
|
176
|
+
ref: x
|
|
177
|
+
}, N.value, {
|
|
178
|
+
"storage-key": i.id,
|
|
179
|
+
open: B.value,
|
|
180
|
+
onClose: c[5] ||= (e) => B.value = !1,
|
|
181
|
+
onChange: q
|
|
182
|
+
}), null, 16, ["storage-key", "open"])) : g("", !0),
|
|
183
|
+
y(d, {
|
|
184
|
+
open: I.value,
|
|
185
|
+
onClose: c[6] ||= (e) => I.value = !1
|
|
186
|
+
}, null, 8, ["open"]),
|
|
187
|
+
U.value === "table" ? (T(), h(t, {
|
|
188
|
+
key: 1,
|
|
189
|
+
config: W.value,
|
|
190
|
+
loading: i.loading,
|
|
191
|
+
items: i.items,
|
|
192
|
+
settings: L.value ?? void 0,
|
|
193
|
+
"initial-sort": Q.value,
|
|
194
|
+
onFilterChange: c[7] ||= (e) => P("filter-change", e),
|
|
195
|
+
onSelectionChange: c[8] ||= (e) => P("selection-change", e),
|
|
196
|
+
onSortChange: $
|
|
197
|
+
}, null, 8, [
|
|
198
|
+
"config",
|
|
199
|
+
"loading",
|
|
200
|
+
"items",
|
|
201
|
+
"settings",
|
|
202
|
+
"initial-sort"
|
|
203
|
+
])) : (T(), h(n, {
|
|
204
|
+
key: 2,
|
|
205
|
+
config: W.value,
|
|
206
|
+
loading: i.loading,
|
|
207
|
+
items: i.items,
|
|
208
|
+
settings: L.value ?? void 0,
|
|
209
|
+
onSelectionChange: c[9] ||= (e) => P("selection-change", e)
|
|
210
|
+
}, null, 8, [
|
|
211
|
+
"config",
|
|
212
|
+
"loading",
|
|
213
|
+
"items",
|
|
214
|
+
"settings"
|
|
215
|
+
])),
|
|
216
|
+
i.pagination && Y.value ? (T(), h(a, {
|
|
217
|
+
key: 3,
|
|
218
|
+
settings: i.pagination,
|
|
219
|
+
"storage-key": i.id,
|
|
220
|
+
"handle-url": i.handleUrl,
|
|
221
|
+
"onUpdate:pagination": c[10] ||= (e) => P("pagination-change", e)
|
|
222
|
+
}, null, 8, [
|
|
223
|
+
"settings",
|
|
224
|
+
"storage-key",
|
|
225
|
+
"handle-url"
|
|
226
|
+
])) : g("", !0),
|
|
227
|
+
y(r, {
|
|
228
|
+
open: F.value,
|
|
229
|
+
columns: i.config.columns,
|
|
230
|
+
settings: i.settings ?? {},
|
|
231
|
+
"storage-key": i.id,
|
|
232
|
+
orderable: i.orderable,
|
|
233
|
+
onClose: c[11] ||= (e) => F.value = !1,
|
|
234
|
+
onChange: G
|
|
235
|
+
}, null, 8, [
|
|
236
|
+
"open",
|
|
237
|
+
"columns",
|
|
238
|
+
"settings",
|
|
239
|
+
"storage-key",
|
|
240
|
+
"orderable"
|
|
241
|
+
])
|
|
242
|
+
], 512)]));
|
|
243
|
+
}
|
|
244
|
+
});
|
|
3
245
|
//#endregion
|
|
4
|
-
export {
|
|
246
|
+
export { A as dataListDefaults, M as default, j as getDefaultFetchData };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components100.js","names":[],"sources":["../src/utils/ipUtils.ts"],"sourcesContent":["export const isIpInUrl = (url: string) => {\n const ipv4Regex =\n /(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/\n\n return ipv4Regex.test(url)\n}\n"],"mappings":";AAAA,IAAa,KAAa,MAIjB,iKAAU,KAAK,CAAG"}
|
|
1
|
+
{"version":3,"file":"admins-components100.js","names":[],"sources":["../src/components/data-table/DataList.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type { PaginatorSettings } from '@/types/data-list'\nexport type { DataSearchProps } from './DataSearch.vue'\nexport type { DataFiltersProps } from './DataFilters.vue'\n\nexport interface DataListProps {\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: Partial<DataListSettings>\n id: string\n layoutBreakpoint?: number\n orderable?: boolean\n pagination?: PaginatorSettings\n loading?: boolean\n handleUrl?: boolean\n useSearch?: boolean\n useFilters?: boolean\n searchConfig?: DataSearchProps\n filterConfig?: DataFiltersProps\n}\n\nexport const dataListDefaults = {\n layoutBreakpoint: 768,\n orderable: true,\n loading: false,\n useSearch: true,\n useFilters: true,\n handleUrl: false,\n}\n\nexport function getDefaultFetchData(filters: FilterItem[], storageKey: string) {\n const defaultPaginator = getDefaultPaginator(storageKey)\n const defaultSort = getDefaultSort()\n const defaultSearch = getDefaultSearch()\n const defaultFilters = getDefaultFilters(filters, storageKey, true)\n\n return {\n ...defaultPaginator,\n ...defaultSort,\n ...defaultSearch,\n ...defaultFilters,\n }\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted, onBeforeUnmount } from 'vue'\nimport DataTable from '@/components/data-table/DataTable.vue'\nimport DataCards from '@/components/data-table/DataCards.vue'\nimport DataListOptions from '@/components/data-table/DataListOptions.vue'\nimport DataPaginator, { getDefaultPaginator } from '@/components/data-table/DataPaginator.vue'\nimport Button from '@/components/Button.vue'\nimport DataSort, { getDefaultSort, type DataSortOption } from '@/components/data-table/DataSort.vue'\nimport type {\n DataListConfig,\n DataListSettings,\n PageSettings,\n PaginatorSettings,\n} from '@/types/data-list'\nimport type { FilterValue } from '@/types/data-list'\nimport DataFilters, {\n type FilterResponse,\n type DataFiltersProps,\n type FilterItem,\n} from '@/components/data-table/DataFilters.vue'\nimport FilterTags from '@/components/data-table/FilterTags.vue'\nimport DataListGuide from '@/components/data-table/DataListGuide.vue'\nimport DataSearch, { getDefaultSearch, type DataSearchProps } from './DataSearch.vue'\nimport { getDefaultFilters } from '@/utils/dataFilters.ts'\n\nconst dataFiltersRef = ref<InstanceType<typeof DataFilters> | null>(null)\n\nconst props = withDefaults(defineProps<DataListProps>(), {\n ...dataListDefaults,\n searchConfig: undefined,\n filterConfig: undefined,\n})\n\nfunction resolvedHandleUrl(side: 'searchConfig' | 'filterConfig'): boolean | undefined {\n const sideConfig = props[side]\n if (sideConfig && Object.hasOwn(sideConfig as object, 'handleUrl')) {\n return (sideConfig as { handleUrl?: boolean }).handleUrl\n }\n return props.handleUrl\n}\n\nconst mergedSearchConfig = computed<DataSearchProps>(() => ({\n ...props.searchConfig,\n handleUrl: resolvedHandleUrl('searchConfig'),\n}))\n\nconst mergedFilterConfig = computed<DataFiltersProps>(() => ({\n ...(props.filterConfig as DataFiltersProps),\n handleUrl: resolvedHandleUrl('filterConfig'),\n}))\n\nconst emit = defineEmits<{\n 'filter-change': [filters: Record<string, FilterValue>]\n 'selection-change': [selected: unknown[]]\n 'settings-change': [settings: DataListSettings]\n 'pagination-change': [pagination: PageSettings]\n 'sort-change': [sort: { key: string; direction: 'asc' | 'desc' } | null]\n 'search-change': [filters: Record<string, string | boolean>]\n}>()\n\nconst showOptions = ref(false)\nconst showGuide = ref(false)\nconst resolvedSettings = ref<DataListSettings | null>(null)\nconst isMobile = ref(false)\nconst root = ref<HTMLElement | null>(null)\nconst showFilters = ref(false)\n\nconst activeFilters = ref<Record<string, unknown>>(\n props.filterConfig?.items ? getDefaultFilters(props.filterConfig.items, props.id, false) : {},\n)\nlet resizeObserver: ResizeObserver | null = null\n\nonMounted(() => {\n resizeObserver = new ResizeObserver((entries) => {\n isMobile.value = (entries[0]?.contentRect.width ?? 0) < props.layoutBreakpoint\n })\n if (root.value) resizeObserver.observe(root.value)\n})\n\nonBeforeUnmount(() => resizeObserver?.disconnect())\n\nconst effectiveLayout = computed<'table' | 'cards'>(() => {\n const layout = resolvedSettings.value?.layout\n if (layout === 'table' || layout === 'cards') return layout\n return isMobile.value ? 'cards' : 'table'\n})\n\nconst internalConfig = computed<DataListConfig>(() => {\n if (!resolvedSettings.value) return props.config\n const order = resolvedSettings.value.columnOrder\n const mapped = props.config.columns.map((c) => ({\n ...c,\n visible: resolvedSettings.value!.columns[c.property] ?? c.visible !== false,\n }))\n if (order?.length) {\n mapped.sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n }\n return { ...props.config, columns: mapped }\n})\n\nfunction onSettingsChange(s: DataListSettings) {\n resolvedSettings.value = s\n emit('settings-change', s)\n}\n\ndefineExpose({\n openOptions: () => (showOptions.value = true),\n closeOptions: () => (showOptions.value = false),\n openFilters: () => (showFilters.value = true),\n closeFilters: () => (showFilters.value = false),\n})\n\nasync function openFilter(key: string) {\n showFilters.value = true\n setTimeout(() => {\n dataFiltersRef.value?.focusFilter(key)\n }, 300)\n}\n\nfunction onFilterChange(response: FilterResponse) {\n activeFilters.value = response.values\n emit('filter-change', response.transformed)\n}\n\nconst activeFiltersCount = computed(\n () => Object.values(activeFilters.value).filter((v) => v != null && v !== '').length,\n)\n\nconst showPaginator = computed(\n () => !!props.pagination && (props.items.length > 0 || !props.loading),\n)\n\nconst searchChange = (value: Record<string, string | boolean>) => {\n emit('search-change', value)\n}\n\nconst sortableColumns = computed<DataSortOption[]>(() =>\n props.config.columns.filter((c) => c.sort).map((c) => ({ value: c.property, label: c.label })),\n)\n\nconst currentSort = ref<{ key: string; direction: 'asc' | 'desc' } | null>(\n props.handleUrl ? getDefaultSort() : null,\n)\n\nconst onSortChange = (sort: { key: string; direction: 'asc' | 'desc' } | null) => {\n currentSort.value = sort\n // DataSort already writes the URL when handleUrl: true; we only emit.\n emit('sort-change', sort)\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div ref=\"root\" class=\"c-data-list\">\n <div class=\"c-data-list__toolbar\">\n <DataSearch v-if=\"useSearch\" v-bind=\"mergedSearchConfig\" @search-change=\"searchChange\" />\n <Button\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n label=\"Szűrők\"\n icon=\"fa-solid fa-filter\"\n @click=\"showFilters = true\"\n style=\"flex-shrink: 0\"\n :type=\"activeFiltersCount > 0 ? 'info' : 'normal'\"\n :indicator=\"activeFiltersCount > 0 ? activeFiltersCount : undefined\"\n />\n <div\n class=\"flex-center gap-1 flex-center-wrap-on-mobile\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n >\n <FilterTags\n :filters=\"activeFilters\"\n :items=\"filterConfig.items\"\n @remove=\"(key: string) => dataFiltersRef?.clearFilter(key)\"\n @openFilter=\"openFilter\"\n />\n </div>\n <div class=\"flex-center ml-auto nowrap\">\n <DataSort\n v-if=\"sortableColumns.length > 0\"\n v-model=\"currentSort\"\n :options=\"sortableColumns\"\n :handle-url=\"handleUrl\"\n @sort-change=\"onSortChange\"\n />\n\n <Button\n icon=\"fa-solid fa-gear\"\n class=\"lh-normal settings-btn\"\n @click=\"showOptions = true\"\n />\n <Button icon=\"fa-solid fa-question\" class=\"lh-normal\" @click=\"showGuide = true\" />\n </div>\n </div>\n <DataFilters\n ref=\"dataFiltersRef\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n v-bind=\"mergedFilterConfig\"\n :storage-key=\"id\"\n :open=\"showFilters\"\n @close=\"showFilters = false\"\n @change=\"onFilterChange\"\n />\n <DataListGuide :open=\"showGuide\" @close=\"showGuide = false\" />\n <DataTable\n v-if=\"effectiveLayout === 'table'\"\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n :initial-sort=\"currentSort\"\n @filter-change=\"emit('filter-change', $event)\"\n @selection-change=\"emit('selection-change', $event)\"\n @sort-change=\"onSortChange\"\n />\n\n <DataCards\n v-else\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n @selection-change=\"emit('selection-change', $event)\"\n />\n\n <DataPaginator\n v-if=\"pagination && showPaginator\"\n :settings=\"pagination\"\n :storage-key=\"id\"\n :handle-url=\"handleUrl\"\n @update:pagination=\"emit('pagination-change', $event)\"\n />\n\n <DataListOptions\n :open=\"showOptions\"\n :columns=\"config.columns\"\n :settings=\"settings ?? {}\"\n :storage-key=\"id\"\n :orderable=\"orderable\"\n @close=\"showOptions = false\"\n @change=\"onSettingsChange\"\n />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-list.scss\"></style>\n"],"mappings":"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"}
|
|
@@ -1,53 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function t(e, t) {
|
|
7
|
-
let n = window.innerWidth, r = window.innerHeight;
|
|
8
|
-
e.style.maxWidth = `min(${n - 16}px, 300px)`;
|
|
9
|
-
let i = e.getBoundingClientRect(), a = i.width, o = i.height, s = t.clientX + 12, c = t.clientY + 18;
|
|
10
|
-
s + a > n - 8 && (s = t.clientX - a - 12), c + o > r - 8 && (c = t.clientY - o - 12), s = Math.max(8, Math.min(s, n - a - 8)), c = Math.max(8, Math.min(c, r - o - 8)), e.style.left = `${s}px`, e.style.top = `${c}px`;
|
|
11
|
-
}
|
|
12
|
-
function n(e, t, n) {
|
|
13
|
-
n ? e.innerHTML = t : e.textContent = t;
|
|
14
|
-
}
|
|
15
|
-
var r = {
|
|
16
|
-
mounted(r, i) {
|
|
17
|
-
let a = e();
|
|
18
|
-
n(a, i.value, !!i.modifiers.html), document.body.appendChild(a);
|
|
19
|
-
let o = null, s = null, c = null, l = (e) => {
|
|
20
|
-
c = e;
|
|
21
|
-
}, u = (e) => {
|
|
22
|
-
c = e, s &&= (clearTimeout(s), null), o = setTimeout(() => {
|
|
23
|
-
t(a, c ?? e), a.style.opacity = "1";
|
|
24
|
-
}, 400);
|
|
25
|
-
}, d = () => {
|
|
26
|
-
c = null, o &&= (clearTimeout(o), null), s = setTimeout(() => {
|
|
27
|
-
a.style.opacity = "0";
|
|
28
|
-
}, 50);
|
|
29
|
-
}, f = (e) => {
|
|
30
|
-
o &&= (clearTimeout(o), null), s &&= (clearTimeout(s), null), a.style.opacity === "1" ? a.style.opacity = "0" : (t(a, e), a.style.opacity = "1");
|
|
31
|
-
}, p = () => {
|
|
32
|
-
o &&= (clearTimeout(o), null), a.style.opacity = "0";
|
|
33
|
-
};
|
|
34
|
-
r.addEventListener("mouseenter", u), r.addEventListener("mousemove", l), r.addEventListener("mouseleave", d), r.addEventListener("click", f), window.addEventListener("scroll", p, !0), r._tooltip = {
|
|
35
|
-
el: a,
|
|
36
|
-
showTimeout: o,
|
|
37
|
-
hideTimeout: s,
|
|
38
|
-
onEnter: u,
|
|
39
|
-
onMove: l,
|
|
40
|
-
onLeave: d,
|
|
41
|
-
onClick: f,
|
|
42
|
-
onScroll: p
|
|
43
|
-
};
|
|
44
|
-
},
|
|
45
|
-
updated(e, t) {
|
|
46
|
-
e._tooltip && n(e._tooltip.el, t.value, !!t.modifiers.html);
|
|
47
|
-
},
|
|
48
|
-
unmounted(e) {
|
|
49
|
-
e._tooltip &&= (e.removeEventListener("mouseenter", e._tooltip.onEnter), e.removeEventListener("mousemove", e._tooltip.onMove), e.removeEventListener("mouseleave", e._tooltip.onLeave), e.removeEventListener("click", e._tooltip.onClick), window.removeEventListener("scroll", e._tooltip.onScroll, !0), e._tooltip.el.remove(), void 0);
|
|
50
|
-
}
|
|
51
|
-
};
|
|
1
|
+
import './src/styles/components/data-table/data-list.scss_vue_type_style_index_0_src_true_lang.css';
|
|
2
|
+
import e from "./admins-components100.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/components/data-table/DataList.vue
|
|
5
|
+
var t = e;
|
|
52
6
|
//#endregion
|
|
53
|
-
export {
|
|
7
|
+
export { t as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components102.js","names":[],"sources":["../src/directives/tooltip.ts"],"sourcesContent":["import type { Directive, DirectiveBinding } from 'vue'\n\ninterface TooltipEl extends HTMLElement {\n _tooltip?: {\n el: HTMLElement\n showTimeout: ReturnType<typeof setTimeout> | null\n hideTimeout: ReturnType<typeof setTimeout> | null\n onEnter: (e: MouseEvent) => void\n onMove: (e: MouseEvent) => void\n onLeave: () => void\n onClick: (e: MouseEvent) => void\n onScroll: () => void\n }\n}\n\nfunction createTooltipEl(): HTMLElement {\n const el = document.createElement('div')\n el.className = 'v-tooltip ac-component'\n el.style.position = 'fixed'\n el.style.zIndex = '9999999'\n el.style.opacity = '0'\n el.style.pointerEvents = 'none'\n el.style.transition = 'opacity 0.15s'\n return el\n}\n\nfunction position(tooltip: HTMLElement, e: MouseEvent) {\n const offsetX = 12\n const offsetY = 18\n const edge = 8\n const vw = window.innerWidth\n const vh = window.innerHeight\n\n tooltip.style.maxWidth = `min(${vw - 2 * edge}px, 300px)`\n\n const rect = tooltip.getBoundingClientRect()\n const w = rect.width\n const h = rect.height\n\n let x = e.clientX + offsetX\n let y = e.clientY + offsetY\n\n if (x + w > vw - edge) {\n x = e.clientX - w - offsetX\n }\n if (y + h > vh - edge) {\n y = e.clientY - h - offsetX\n }\n\n x = Math.max(edge, Math.min(x, vw - w - edge))\n y = Math.max(edge, Math.min(y, vh - h - edge))\n\n tooltip.style.left = `${x}px`\n tooltip.style.top = `${y}px`\n}\n\nfunction setContent(tooltip: HTMLElement, value: string, html: boolean) {\n if (html) {\n tooltip.innerHTML = value\n } else {\n tooltip.textContent = value\n }\n}\n\nexport const vTooltip: Directive = {\n mounted(el: TooltipEl, binding: DirectiveBinding<string>) {\n const tooltip = createTooltipEl()\n setContent(tooltip, binding.value, !!binding.modifiers.html)\n document.body.appendChild(tooltip)\n\n let showTimeout: ReturnType<typeof setTimeout> | null = null\n let hideTimeout: ReturnType<typeof setTimeout> | null = null\n let lastEvent: MouseEvent | null = null\n\n const onMove = (e: MouseEvent) => {\n lastEvent = e\n }\n\n const onEnter = (e: MouseEvent) => {\n lastEvent = e\n if (hideTimeout) {\n clearTimeout(hideTimeout)\n hideTimeout = null\n }\n showTimeout = setTimeout(() => {\n position(tooltip, lastEvent ?? e)\n tooltip.style.opacity = '1'\n }, 400)\n }\n\n const onLeave = () => {\n lastEvent = null\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = null\n }\n hideTimeout = setTimeout(() => {\n tooltip.style.opacity = '0'\n }, 50)\n }\n\n const onClick = (e: MouseEvent) => {\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = null\n }\n if (hideTimeout) {\n clearTimeout(hideTimeout)\n hideTimeout = null\n }\n if (tooltip.style.opacity === '1') {\n tooltip.style.opacity = '0'\n } else {\n position(tooltip, e)\n tooltip.style.opacity = '1'\n }\n }\n\n const onScroll = () => {\n if (showTimeout) {\n clearTimeout(showTimeout)\n showTimeout = null\n }\n tooltip.style.opacity = '0'\n }\n\n el.addEventListener('mouseenter', onEnter)\n el.addEventListener('mousemove', onMove)\n el.addEventListener('mouseleave', onLeave)\n el.addEventListener('click', onClick)\n window.addEventListener('scroll', onScroll, true)\n\n el._tooltip = {\n el: tooltip,\n showTimeout,\n hideTimeout,\n onEnter,\n onMove,\n onLeave,\n onClick,\n onScroll,\n }\n },\n\n updated(el: TooltipEl, binding: DirectiveBinding<string>) {\n if (el._tooltip) {\n setContent(el._tooltip.el, binding.value, !!binding.modifiers.html)\n }\n },\n\n unmounted(el: TooltipEl) {\n if (el._tooltip) {\n el.removeEventListener('mouseenter', el._tooltip.onEnter)\n el.removeEventListener('mousemove', el._tooltip.onMove)\n el.removeEventListener('mouseleave', el._tooltip.onLeave)\n el.removeEventListener('click', el._tooltip.onClick)\n window.removeEventListener('scroll', el._tooltip.onScroll, true)\n el._tooltip.el.remove()\n el._tooltip = undefined\n }\n },\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admins-components102.js","names":[],"sources":["../src/components/data-table/DataList.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type { PaginatorSettings } from '@/types/data-list'\nexport type { DataSearchProps } from './DataSearch.vue'\nexport type { DataFiltersProps } from './DataFilters.vue'\n\nexport interface DataListProps {\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: Partial<DataListSettings>\n id: string\n layoutBreakpoint?: number\n orderable?: boolean\n pagination?: PaginatorSettings\n loading?: boolean\n handleUrl?: boolean\n useSearch?: boolean\n useFilters?: boolean\n searchConfig?: DataSearchProps\n filterConfig?: DataFiltersProps\n}\n\nexport const dataListDefaults = {\n layoutBreakpoint: 768,\n orderable: true,\n loading: false,\n useSearch: true,\n useFilters: true,\n handleUrl: false,\n}\n\nexport function getDefaultFetchData(filters: FilterItem[], storageKey: string) {\n const defaultPaginator = getDefaultPaginator(storageKey)\n const defaultSort = getDefaultSort()\n const defaultSearch = getDefaultSearch()\n const defaultFilters = getDefaultFilters(filters, storageKey, true)\n\n return {\n ...defaultPaginator,\n ...defaultSort,\n ...defaultSearch,\n ...defaultFilters,\n }\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted, onBeforeUnmount } from 'vue'\nimport DataTable from '@/components/data-table/DataTable.vue'\nimport DataCards from '@/components/data-table/DataCards.vue'\nimport DataListOptions from '@/components/data-table/DataListOptions.vue'\nimport DataPaginator, { getDefaultPaginator } from '@/components/data-table/DataPaginator.vue'\nimport Button from '@/components/Button.vue'\nimport DataSort, { getDefaultSort, type DataSortOption } from '@/components/data-table/DataSort.vue'\nimport type {\n DataListConfig,\n DataListSettings,\n PageSettings,\n PaginatorSettings,\n} from '@/types/data-list'\nimport type { FilterValue } from '@/types/data-list'\nimport DataFilters, {\n type FilterResponse,\n type DataFiltersProps,\n type FilterItem,\n} from '@/components/data-table/DataFilters.vue'\nimport FilterTags from '@/components/data-table/FilterTags.vue'\nimport DataListGuide from '@/components/data-table/DataListGuide.vue'\nimport DataSearch, { getDefaultSearch, type DataSearchProps } from './DataSearch.vue'\nimport { getDefaultFilters } from '@/utils/dataFilters.ts'\n\nconst dataFiltersRef = ref<InstanceType<typeof DataFilters> | null>(null)\n\nconst props = withDefaults(defineProps<DataListProps>(), {\n ...dataListDefaults,\n searchConfig: undefined,\n filterConfig: undefined,\n})\n\nfunction resolvedHandleUrl(side: 'searchConfig' | 'filterConfig'): boolean | undefined {\n const sideConfig = props[side]\n if (sideConfig && Object.hasOwn(sideConfig as object, 'handleUrl')) {\n return (sideConfig as { handleUrl?: boolean }).handleUrl\n }\n return props.handleUrl\n}\n\nconst mergedSearchConfig = computed<DataSearchProps>(() => ({\n ...props.searchConfig,\n handleUrl: resolvedHandleUrl('searchConfig'),\n}))\n\nconst mergedFilterConfig = computed<DataFiltersProps>(() => ({\n ...(props.filterConfig as DataFiltersProps),\n handleUrl: resolvedHandleUrl('filterConfig'),\n}))\n\nconst emit = defineEmits<{\n 'filter-change': [filters: Record<string, FilterValue>]\n 'selection-change': [selected: unknown[]]\n 'settings-change': [settings: DataListSettings]\n 'pagination-change': [pagination: PageSettings]\n 'sort-change': [sort: { key: string; direction: 'asc' | 'desc' } | null]\n 'search-change': [filters: Record<string, string | boolean>]\n}>()\n\nconst showOptions = ref(false)\nconst showGuide = ref(false)\nconst resolvedSettings = ref<DataListSettings | null>(null)\nconst isMobile = ref(false)\nconst root = ref<HTMLElement | null>(null)\nconst showFilters = ref(false)\n\nconst activeFilters = ref<Record<string, unknown>>(\n props.filterConfig?.items ? getDefaultFilters(props.filterConfig.items, props.id, false) : {},\n)\nlet resizeObserver: ResizeObserver | null = null\n\nonMounted(() => {\n resizeObserver = new ResizeObserver((entries) => {\n isMobile.value = (entries[0]?.contentRect.width ?? 0) < props.layoutBreakpoint\n })\n if (root.value) resizeObserver.observe(root.value)\n})\n\nonBeforeUnmount(() => resizeObserver?.disconnect())\n\nconst effectiveLayout = computed<'table' | 'cards'>(() => {\n const layout = resolvedSettings.value?.layout\n if (layout === 'table' || layout === 'cards') return layout\n return isMobile.value ? 'cards' : 'table'\n})\n\nconst internalConfig = computed<DataListConfig>(() => {\n if (!resolvedSettings.value) return props.config\n const order = resolvedSettings.value.columnOrder\n const mapped = props.config.columns.map((c) => ({\n ...c,\n visible: resolvedSettings.value!.columns[c.property] ?? c.visible !== false,\n }))\n if (order?.length) {\n mapped.sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n }\n return { ...props.config, columns: mapped }\n})\n\nfunction onSettingsChange(s: DataListSettings) {\n resolvedSettings.value = s\n emit('settings-change', s)\n}\n\ndefineExpose({\n openOptions: () => (showOptions.value = true),\n closeOptions: () => (showOptions.value = false),\n openFilters: () => (showFilters.value = true),\n closeFilters: () => (showFilters.value = false),\n})\n\nasync function openFilter(key: string) {\n showFilters.value = true\n setTimeout(() => {\n dataFiltersRef.value?.focusFilter(key)\n }, 300)\n}\n\nfunction onFilterChange(response: FilterResponse) {\n activeFilters.value = response.values\n emit('filter-change', response.transformed)\n}\n\nconst activeFiltersCount = computed(\n () => Object.values(activeFilters.value).filter((v) => v != null && v !== '').length,\n)\n\nconst showPaginator = computed(\n () => !!props.pagination && (props.items.length > 0 || !props.loading),\n)\n\nconst searchChange = (value: Record<string, string | boolean>) => {\n emit('search-change', value)\n}\n\nconst sortableColumns = computed<DataSortOption[]>(() =>\n props.config.columns.filter((c) => c.sort).map((c) => ({ value: c.property, label: c.label })),\n)\n\nconst currentSort = ref<{ key: string; direction: 'asc' | 'desc' } | null>(\n props.handleUrl ? getDefaultSort() : null,\n)\n\nconst onSortChange = (sort: { key: string; direction: 'asc' | 'desc' } | null) => {\n currentSort.value = sort\n // DataSort already writes the URL when handleUrl: true; we only emit.\n emit('sort-change', sort)\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div ref=\"root\" class=\"c-data-list\">\n <div class=\"c-data-list__toolbar\">\n <DataSearch v-if=\"useSearch\" v-bind=\"mergedSearchConfig\" @search-change=\"searchChange\" />\n <Button\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n label=\"Szűrők\"\n icon=\"fa-solid fa-filter\"\n @click=\"showFilters = true\"\n style=\"flex-shrink: 0\"\n :type=\"activeFiltersCount > 0 ? 'info' : 'normal'\"\n :indicator=\"activeFiltersCount > 0 ? activeFiltersCount : undefined\"\n />\n <div\n class=\"flex-center gap-1 flex-center-wrap-on-mobile\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n >\n <FilterTags\n :filters=\"activeFilters\"\n :items=\"filterConfig.items\"\n @remove=\"(key: string) => dataFiltersRef?.clearFilter(key)\"\n @openFilter=\"openFilter\"\n />\n </div>\n <div class=\"flex-center ml-auto nowrap\">\n <DataSort\n v-if=\"sortableColumns.length > 0\"\n v-model=\"currentSort\"\n :options=\"sortableColumns\"\n :handle-url=\"handleUrl\"\n @sort-change=\"onSortChange\"\n />\n\n <Button\n icon=\"fa-solid fa-gear\"\n class=\"lh-normal settings-btn\"\n @click=\"showOptions = true\"\n />\n <Button icon=\"fa-solid fa-question\" class=\"lh-normal\" @click=\"showGuide = true\" />\n </div>\n </div>\n <DataFilters\n ref=\"dataFiltersRef\"\n v-if=\"useFilters && filterConfig?.items && filterConfig.items.length > 0\"\n v-bind=\"mergedFilterConfig\"\n :storage-key=\"id\"\n :open=\"showFilters\"\n @close=\"showFilters = false\"\n @change=\"onFilterChange\"\n />\n <DataListGuide :open=\"showGuide\" @close=\"showGuide = false\" />\n <DataTable\n v-if=\"effectiveLayout === 'table'\"\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n :initial-sort=\"currentSort\"\n @filter-change=\"emit('filter-change', $event)\"\n @selection-change=\"emit('selection-change', $event)\"\n @sort-change=\"onSortChange\"\n />\n\n <DataCards\n v-else\n :config=\"internalConfig\"\n :loading=\"loading\"\n :items=\"items\"\n :settings=\"resolvedSettings ?? undefined\"\n @selection-change=\"emit('selection-change', $event)\"\n />\n\n <DataPaginator\n v-if=\"pagination && showPaginator\"\n :settings=\"pagination\"\n :storage-key=\"id\"\n :handle-url=\"handleUrl\"\n @update:pagination=\"emit('pagination-change', $event)\"\n />\n\n <DataListOptions\n :open=\"showOptions\"\n :columns=\"config.columns\"\n :settings=\"settings ?? {}\"\n :storage-key=\"id\"\n :orderable=\"orderable\"\n @close=\"showOptions = false\"\n @change=\"onSettingsChange\"\n />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-list.scss\"></style>\n"],"mappings":""}
|
|
@@ -1,83 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
//#region src/services/createNativeFetch.ts
|
|
4
|
-
function n(n) {
|
|
5
|
-
return function(i) {
|
|
6
|
-
let a = t(null), o = t(null), s = t(null), c = t(null), l = t(!1), u = t(!1), d = "GET", f, p = "json", m = null, h = {
|
|
7
|
-
data: a,
|
|
8
|
-
error: o,
|
|
9
|
-
response: s,
|
|
10
|
-
statusCode: c,
|
|
11
|
-
isFetching: l,
|
|
12
|
-
canAbort: u,
|
|
13
|
-
get() {
|
|
14
|
-
return d = "GET", h;
|
|
15
|
-
},
|
|
16
|
-
post(e) {
|
|
17
|
-
return d = "POST", f = e, h;
|
|
18
|
-
},
|
|
19
|
-
put(e) {
|
|
20
|
-
return d = "PUT", f = e, h;
|
|
21
|
-
},
|
|
22
|
-
patch(e) {
|
|
23
|
-
return d = "PATCH", f = e, h;
|
|
24
|
-
},
|
|
25
|
-
delete(e) {
|
|
26
|
-
return d = "DELETE", f = e, h;
|
|
27
|
-
},
|
|
28
|
-
json() {
|
|
29
|
-
return p = "json", h;
|
|
30
|
-
},
|
|
31
|
-
text() {
|
|
32
|
-
return p = "text", h;
|
|
33
|
-
},
|
|
34
|
-
abort() {
|
|
35
|
-
m?.abort();
|
|
36
|
-
},
|
|
37
|
-
async execute() {
|
|
38
|
-
m = new AbortController(), l.value = !0, u.value = !0, o.value = null, s.value = null, c.value = null;
|
|
39
|
-
let t = {
|
|
40
|
-
...n.fetchOptions,
|
|
41
|
-
method: d,
|
|
42
|
-
signal: m.signal
|
|
43
|
-
};
|
|
44
|
-
f != null && d !== "GET" && (t.body = r(f) ? JSON.stringify(f.value) : JSON.stringify(f));
|
|
45
|
-
let g = {
|
|
46
|
-
url: e(n.baseUrl, i),
|
|
47
|
-
options: t
|
|
48
|
-
};
|
|
49
|
-
try {
|
|
50
|
-
n.options?.beforeFetch?.(g);
|
|
51
|
-
let e = await fetch(g.url, g.options);
|
|
52
|
-
s.value = e, c.value = e.status;
|
|
53
|
-
let t = null;
|
|
54
|
-
if (p === "text") t = await e.text();
|
|
55
|
-
else {
|
|
56
|
-
let n = await e.text();
|
|
57
|
-
t = n ? JSON.parse(n) : null;
|
|
58
|
-
}
|
|
59
|
-
if (a.value = t, !e.ok) throw Error(e.statusText || `HTTP ${e.status}`);
|
|
60
|
-
n.options?.afterFetch?.({
|
|
61
|
-
data: t,
|
|
62
|
-
response: e
|
|
63
|
-
});
|
|
64
|
-
} catch (e) {
|
|
65
|
-
o.value = e, n.options?.onFetchError?.({
|
|
66
|
-
error: e,
|
|
67
|
-
response: s.value,
|
|
68
|
-
data: a.value
|
|
69
|
-
});
|
|
70
|
-
} finally {
|
|
71
|
-
l.value = !1, u.value = !1, m = null;
|
|
72
|
-
}
|
|
73
|
-
return h;
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
return n.options?.immediate !== !1 && h.execute(), h;
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function r(e) {
|
|
80
|
-
return !!e && typeof e == "object" && "value" in e;
|
|
81
|
-
}
|
|
1
|
+
//#region src/utils/ipUtils.ts
|
|
2
|
+
var e = (e) => /(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/.test(e);
|
|
82
3
|
//#endregion
|
|
83
|
-
export {
|
|
4
|
+
export { e as isIpInUrl };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components103.js","names":[],"sources":["../src/
|
|
1
|
+
{"version":3,"file":"admins-components103.js","names":[],"sources":["../src/utils/ipUtils.ts"],"sourcesContent":["export const isIpInUrl = (url: string) => {\n const ipv4Regex =\n /(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/\n\n return ipv4Regex.test(url)\n}\n"],"mappings":";AAAA,IAAa,KAAa,MAIjB,iKAAU,KAAK,CAAG"}
|