@bagelink/vue 1.4.32 → 1.4.40
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/chunk-CsX-DzYB.cjs +1 -0
- package/dist/components/Icon.vue.d.ts +16 -0
- package/dist/components/Icon.vue.d.ts.map +1 -0
- package/dist/components/Modal.vue.d.ts +2 -0
- package/dist/components/Modal.vue.d.ts.map +1 -1
- package/dist/components/ModalConfirm.vue.d.ts.map +1 -1
- package/dist/components/calendar/views/CalendarPopover.vue.d.ts +2 -2
- package/dist/components/calendar/views/CalendarPopover.vue.d.ts.map +1 -1
- package/dist/components/dashboard/Lineart.vue.d.ts.map +1 -1
- package/dist/components/form/BglFieldSet.vue.d.ts +25 -0
- package/dist/components/form/BglFieldSet.vue.d.ts.map +1 -0
- package/dist/components/form/inputs/DateInput.vue.d.ts +1 -1
- package/dist/components/form/inputs/DateInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/DatePicker.vue.d.ts +1 -1
- package/dist/components/form/inputs/DatePicker.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/composables/useEditor.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/richTextTypes.d.ts +1 -1
- package/dist/components/form/inputs/RichText/richTextTypes.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/utils/media.d.ts +1 -1
- package/dist/components/form/inputs/RichText/utils/media.d.ts.map +1 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/layout/Layout.vue.d.ts +1 -1
- package/dist/components/layout/Layout.vue.d.ts.map +1 -1
- package/dist/composables/useExcel.d.ts.map +1 -1
- package/dist/editor-BpbYtUrx.js +2 -0
- package/dist/editor-CogxCqoB.cjs +3 -0
- package/dist/editor-CtWHU9QA.js +1 -0
- package/dist/editor-DDp0A6Ty.cjs +1 -0
- package/dist/editor-DQOZvXuf.cjs +1 -0
- package/dist/editor-Dk9B96i8.cjs +2 -0
- package/dist/editor-Dpod7RSB.js +1 -0
- package/dist/editor-UnqmwfaW.js +2 -0
- package/dist/editor-fhxKzja8.cjs +2 -0
- package/dist/editor-mLVzxfYa.js +2 -0
- package/dist/editor-smCr3pmQ.cjs +1 -0
- package/dist/iconify-0J3vK-m1.cjs +1693 -0
- package/dist/iconify-Bc1B42Ak.cjs +1771 -0
- package/dist/iconify-BiLGk5km.js +1693 -0
- package/dist/iconify-DVnNdzog.js +1771 -0
- package/dist/index.cjs +28 -40097
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +28 -40097
- package/dist/plugins/modalTypes.d.ts +1 -0
- package/dist/plugins/modalTypes.d.ts.map +1 -1
- package/dist/plugins/useModal.d.ts +20 -0
- package/dist/plugins/useModal.d.ts.map +1 -0
- package/dist/style.css +2 -18558
- package/dist/types/timeago.d.ts +23 -0
- package/dist/types/timeago.d.ts.map +1 -0
- package/dist/vue3-charts.esm-CkXK48ud.js +54 -0
- package/dist/vue3-charts.esm-uVj96p6_.cjs +54 -0
- package/package.json +4 -12
- package/src/components/Modal.vue +3 -0
- package/src/components/ModalConfirm.vue +1 -1
- package/src/components/form/inputs/RichText/richTextTypes.ts +1 -1
- package/src/components/form/inputs/RichText/utils/media.ts +1 -1
- package/src/components/index.ts +0 -1
- package/src/composables/useExcel.ts +15 -1
- package/src/index.ts +1 -1
- package/src/plugins/modalTypes.ts +1 -0
- package/src/styles/inputs.css +1 -36
- package/src/styles/layout.css +94 -94
- package/src/styles/mobilLayout.css +95 -95
- package/src/styles/modal.css +81 -87
- package/vite.config.ts +2 -1
- package/dist/components/Carousel2.vue.d.ts +0 -89
- package/dist/components/Carousel2.vue.d.ts.map +0 -1
- package/src/components/dashboard/Lineart.vue +0 -212
- package/src/components/dashboard/index.ts +0 -1
- /package/src/plugins/{modal.ts → useModal.ts} +0 -0
package/src/styles/modal.css
CHANGED
|
@@ -1,140 +1,134 @@
|
|
|
1
1
|
.bg-dark {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
overflow-x: hidden;
|
|
2
|
+
position: fixed;
|
|
3
|
+
top: 0;
|
|
4
|
+
right: 0;
|
|
5
|
+
left: 0;
|
|
6
|
+
bottom: 0;
|
|
7
|
+
background-color: var(--bgl-dark-bg);
|
|
8
|
+
pointer-events: none;
|
|
9
|
+
opacity: 0;
|
|
10
|
+
transition: all ease-in-out 0.3s;
|
|
11
|
+
max-height: 100vh;
|
|
12
|
+
overflow: scroll;
|
|
13
|
+
margin: 0 auto;
|
|
14
|
+
width: 100%;
|
|
15
|
+
display: grid;
|
|
16
|
+
align-items: center;
|
|
17
|
+
overflow-x: hidden;
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
|
|
22
20
|
.bg-lignt {
|
|
23
|
-
|
|
21
|
+
background-color: var(--bgl-white);
|
|
24
22
|
}
|
|
25
23
|
|
|
26
24
|
.modal {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
25
|
+
width: 96%;
|
|
26
|
+
max-width: 720px;
|
|
27
|
+
/* transform: scale(0.5); */
|
|
28
|
+
/* opacity: 0; */
|
|
29
|
+
transition: all ease-in-out 0.18s;
|
|
30
|
+
margin-left: auto;
|
|
31
|
+
margin-right: auto;
|
|
32
|
+
height: fit-content;
|
|
35
33
|
}
|
|
36
34
|
|
|
37
35
|
.is-active .modal {
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
animation: 200ms ease bgl-modal-animation;
|
|
40
37
|
}
|
|
41
38
|
|
|
42
39
|
@keyframes bgl-modal-animation {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
from {
|
|
41
|
+
scale: 0.7;
|
|
42
|
+
transform: translateY(2rem);
|
|
43
|
+
}
|
|
47
44
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
45
|
+
to {
|
|
46
|
+
scale: 1;
|
|
47
|
+
transform: translateY(0);
|
|
48
|
+
}
|
|
53
49
|
}
|
|
54
50
|
|
|
55
51
|
.small-modal .modal {
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
max-width: 300px;
|
|
53
|
+
text-align: center;
|
|
58
54
|
}
|
|
59
55
|
|
|
60
56
|
.tool-bar {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
57
|
+
margin: -1rem -1rem 1rem;
|
|
58
|
+
display: flex;
|
|
59
|
+
justify-content: space-between;
|
|
60
|
+
position: -webkit-sticky;
|
|
61
|
+
position: sticky;
|
|
62
|
+
padding-top: 0rem;
|
|
63
|
+
top: 0rem;
|
|
64
|
+
z-index: 3;
|
|
65
|
+
background: var(--bgl-popup-bg);
|
|
66
|
+
border-radius: var(--card-border-radius);
|
|
71
67
|
}
|
|
72
68
|
|
|
73
69
|
.modal-size {
|
|
74
|
-
|
|
70
|
+
cursor: pointer;
|
|
75
71
|
}
|
|
76
72
|
|
|
77
73
|
.is-side .modal {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
74
|
+
inset-inline-end: -1720px;
|
|
75
|
+
opacity: 1;
|
|
76
|
+
max-width: 600px;
|
|
77
|
+
width: 90%;
|
|
78
|
+
margin-top: 1rem;
|
|
79
|
+
margin-bottom: 1rem;
|
|
80
|
+
margin-inline-start: auto;
|
|
81
|
+
margin-inline-end: 20px;
|
|
82
|
+
min-height: calc(100vh - 40px);
|
|
83
|
+
transform: translateX(100%);
|
|
88
84
|
}
|
|
89
85
|
|
|
90
86
|
.is-active .modal {
|
|
91
|
-
|
|
92
|
-
|
|
87
|
+
opacity: 1;
|
|
88
|
+
box-shadow: 6px 6px 20px 20px #0000001c;
|
|
93
89
|
}
|
|
94
90
|
|
|
95
91
|
.bg-lignt .modal {
|
|
96
|
-
|
|
92
|
+
border: 1px solid var(--border-color);
|
|
97
93
|
}
|
|
98
94
|
|
|
99
95
|
.bg-lignt.is-active .modal {
|
|
100
|
-
|
|
96
|
+
box-shadow: none;
|
|
101
97
|
}
|
|
102
98
|
|
|
103
99
|
.is-active.is-side .modal {
|
|
104
|
-
|
|
105
|
-
|
|
100
|
+
inset-inline-end: 0px;
|
|
101
|
+
transform: translateX(0%);
|
|
106
102
|
}
|
|
107
103
|
|
|
108
104
|
.bg-dark.is-active {
|
|
109
|
-
|
|
110
|
-
|
|
105
|
+
opacity: 1;
|
|
106
|
+
pointer-events: all;
|
|
111
107
|
}
|
|
112
108
|
|
|
113
109
|
body:has(.bg-dark.is-active) {
|
|
114
|
-
|
|
110
|
+
overflow: hidden;
|
|
115
111
|
}
|
|
116
112
|
|
|
117
113
|
.is-side.bg-dark.is-active {
|
|
118
|
-
|
|
119
|
-
|
|
114
|
+
opacity: 1;
|
|
115
|
+
align-items: stretch;
|
|
120
116
|
}
|
|
121
117
|
|
|
122
118
|
.is-side.is-active .modal {
|
|
123
|
-
|
|
119
|
+
pointer-events: all;
|
|
124
120
|
}
|
|
125
121
|
|
|
126
122
|
@media screen and (max-width: 910px) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
123
|
+
.tool-bar {
|
|
124
|
+
margin: -1rem 0rem 1rem;
|
|
125
|
+
padding-bottom: 1rem;
|
|
126
|
+
align-items: center;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.is-active.is-side .modal {
|
|
130
|
+
margin-inline-end: 2%;
|
|
131
|
+
margin-inline-start: 2%;
|
|
132
|
+
width: 98%;
|
|
133
|
+
}
|
|
134
|
+
}
|
package/vite.config.ts
CHANGED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
type Easing = 'ease-in-out' | 'ease-in' | 'ease-out' | 'linear';
|
|
2
|
-
type AutoplayMode = 'disabled' | 'standard' | 'linear';
|
|
3
|
-
type AutoplayValue = boolean | AutoplayMode;
|
|
4
|
-
interface CarouselOptions {
|
|
5
|
-
duration?: number;
|
|
6
|
-
easing?: Easing;
|
|
7
|
-
perPage?: number | {
|
|
8
|
-
[key: number]: number;
|
|
9
|
-
};
|
|
10
|
-
startIndex?: number;
|
|
11
|
-
draggable?: boolean;
|
|
12
|
-
multipleDrag?: boolean;
|
|
13
|
-
threshold?: number;
|
|
14
|
-
loop?: boolean;
|
|
15
|
-
rtl?: boolean;
|
|
16
|
-
autoplay?: AutoplayValue;
|
|
17
|
-
autoplayInterval?: number;
|
|
18
|
-
autoplaySpeed?: number;
|
|
19
|
-
pauseOnHover?: boolean;
|
|
20
|
-
dots?: boolean;
|
|
21
|
-
slideWidth?: number;
|
|
22
|
-
onInit?: () => void;
|
|
23
|
-
onChange?: () => void;
|
|
24
|
-
}
|
|
25
|
-
declare function prev(howManySlides?: number): void;
|
|
26
|
-
declare function next(howManySlides?: number): void;
|
|
27
|
-
declare function goTo(index: number): void;
|
|
28
|
-
declare function remove(index: number): void;
|
|
29
|
-
declare function insert(item: Element, index: number): void;
|
|
30
|
-
declare function prepend(item: Element): void;
|
|
31
|
-
declare function append(item: Element): void;
|
|
32
|
-
declare function destroy(restoreMarkup?: boolean): void;
|
|
33
|
-
declare function pauseAutoplay(): void;
|
|
34
|
-
declare function resumeAutoplay(): void;
|
|
35
|
-
declare function __VLS_template(): {
|
|
36
|
-
attrs: Partial<{}>;
|
|
37
|
-
slots: {
|
|
38
|
-
default?(_: {}): any;
|
|
39
|
-
};
|
|
40
|
-
refs: {
|
|
41
|
-
carouselRef: HTMLDivElement;
|
|
42
|
-
};
|
|
43
|
-
rootEl: HTMLDivElement;
|
|
44
|
-
};
|
|
45
|
-
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
46
|
-
declare const __VLS_component: import('vue').DefineComponent<CarouselOptions, {
|
|
47
|
-
prev: typeof prev;
|
|
48
|
-
next: typeof next;
|
|
49
|
-
goTo: typeof goTo;
|
|
50
|
-
remove: typeof remove;
|
|
51
|
-
insert: typeof insert;
|
|
52
|
-
prepend: typeof prepend;
|
|
53
|
-
append: typeof append;
|
|
54
|
-
destroy: typeof destroy;
|
|
55
|
-
currentSlide: import('vue').Ref<number, number>;
|
|
56
|
-
pauseAutoplay: typeof pauseAutoplay;
|
|
57
|
-
resumeAutoplay: typeof resumeAutoplay;
|
|
58
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
59
|
-
change: () => any;
|
|
60
|
-
init: () => any;
|
|
61
|
-
}, string, import('vue').PublicProps, Readonly<CarouselOptions> & Readonly<{
|
|
62
|
-
onChange?: (() => any) | undefined;
|
|
63
|
-
onInit?: (() => any) | undefined;
|
|
64
|
-
}>, {
|
|
65
|
-
autoplay: AutoplayValue;
|
|
66
|
-
loop: boolean;
|
|
67
|
-
duration: number;
|
|
68
|
-
easing: Easing;
|
|
69
|
-
startIndex: number;
|
|
70
|
-
draggable: boolean;
|
|
71
|
-
multipleDrag: boolean;
|
|
72
|
-
threshold: number;
|
|
73
|
-
rtl: boolean;
|
|
74
|
-
autoplayInterval: number;
|
|
75
|
-
autoplaySpeed: number;
|
|
76
|
-
pauseOnHover: boolean;
|
|
77
|
-
dots: boolean;
|
|
78
|
-
slideWidth: number;
|
|
79
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
80
|
-
carouselRef: HTMLDivElement;
|
|
81
|
-
}, HTMLDivElement>;
|
|
82
|
-
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
83
|
-
export default _default;
|
|
84
|
-
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
85
|
-
new (): {
|
|
86
|
-
$slots: S;
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
//# sourceMappingURL=Carousel2.vue.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel2.vue.d.ts","sourceRoot":"","sources":["../../src/components/Carousel2.vue"],"names":[],"mappings":"AAy/BA,KAAK,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAA;AAC/D,KAAK,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAA;AACtD,KAAK,aAAa,GAAG,OAAO,GAAG,YAAY,CAAA;AAE3C,UAAU,eAAe;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAkWD,iBAAS,IAAI,CAAC,aAAa,GAAE,MAAU,GAAG,IAAI,CAmC7C;AAED,iBAAS,IAAI,CAAC,aAAa,GAAE,MAAU,GAAG,IAAI,CAmC7C;AAED,iBAAS,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAejC;AA+SD,iBAAS,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAenC;AAED,iBAAS,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAkBlD;AAED,iBAAS,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAEpC;AAED,iBAAS,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAEnC;AAED,iBAAS,OAAO,CAAC,aAAa,GAAE,OAAe,GAAG,IAAI,CAkBrD;AAqGD,iBAAS,aAAa,IAAI,IAAI,CAE7B;AAED,iBAAS,cAAc,IAAI,IAAI,CAI9B;AAgDD,iBAAS,cAAc;WAyDT,OAAO,IAA6B;;yBAXrB,GAAG;;;;;;EAgB/B;AAcD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;cA3hCT,aAAa;UAFjB,OAAO;cAPH,MAAM;YACR,MAAM;gBAEF,MAAM;eACP,OAAO;kBACJ,OAAO;eACV,MAAM;SAEZ,OAAO;sBAEM,MAAM;mBACT,MAAM;kBACP,OAAO;UACf,OAAO;gBACD,MAAM;;;kBAiiClB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
<script lang="ts" setup>
|
|
2
|
-
import type { ChartAxis, Data } from 'vue3-charts/dist/types'
|
|
3
|
-
import { onMounted, onUnmounted } from 'vue'
|
|
4
|
-
import {
|
|
5
|
-
Area,
|
|
6
|
-
Chart,
|
|
7
|
-
Grid,
|
|
8
|
-
Line,
|
|
9
|
-
Marker,
|
|
10
|
-
Tooltip,
|
|
11
|
-
} from 'vue3-charts'
|
|
12
|
-
|
|
13
|
-
const props = defineProps<{ data: Data[], locale: string }>()
|
|
14
|
-
|
|
15
|
-
const data = $computed(() => (props.locale === 'he' ? [...props.data].reverse() : props.data))
|
|
16
|
-
|
|
17
|
-
interface Size {
|
|
18
|
-
width: number
|
|
19
|
-
height: number
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// Computed properties
|
|
23
|
-
const meanValue = $computed(() => {
|
|
24
|
-
const sum = props.data.reduce((acc, curr) => acc + +curr.total_value, 0)
|
|
25
|
-
return sum / props.data.length
|
|
26
|
-
})
|
|
27
|
-
|
|
28
|
-
const axisConfig = $computed<ChartAxis>(() => ({
|
|
29
|
-
primary: {
|
|
30
|
-
type: 'band',
|
|
31
|
-
rotate: true,
|
|
32
|
-
ticks: 5,
|
|
33
|
-
domain: ['dataMin', 'dataMax'],
|
|
34
|
-
tickValues:
|
|
35
|
-
props.data.length > 100 ? [''] : props.data.map((d: any) => d.date),
|
|
36
|
-
},
|
|
37
|
-
secondary: {
|
|
38
|
-
domain: ['dataMin', 'dataMax * 1.05'],
|
|
39
|
-
type: 'linear',
|
|
40
|
-
ticks: 8,
|
|
41
|
-
},
|
|
42
|
-
}))
|
|
43
|
-
|
|
44
|
-
// Constants
|
|
45
|
-
const BRAND_COLOR = 'var(--bgl-primary)'
|
|
46
|
-
|
|
47
|
-
const tooltipConfiguration = {
|
|
48
|
-
date: { label: 'תאריך' },
|
|
49
|
-
total_value: {
|
|
50
|
-
color: BRAND_COLOR,
|
|
51
|
-
label: 'סכום',
|
|
52
|
-
format: (v: number) => `₪${v.toLocaleString() || ''}`,
|
|
53
|
-
},
|
|
54
|
-
total_count: {
|
|
55
|
-
label: 'מספר התרומות',
|
|
56
|
-
format: (v: number) => `${v.toLocaleString() || ''}`,
|
|
57
|
-
},
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// Refs
|
|
61
|
-
let chartSize = $ref<Size | undefined>()
|
|
62
|
-
const chartContainer = $ref<HTMLElement>()
|
|
63
|
-
const displayMarker = $ref(true)
|
|
64
|
-
const chartMargin = $ref({
|
|
65
|
-
left: 0,
|
|
66
|
-
top: 0,
|
|
67
|
-
right: 0,
|
|
68
|
-
bottom: 0,
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
// Functions
|
|
72
|
-
function adjustChartSize() {
|
|
73
|
-
chartSize = undefined
|
|
74
|
-
const el = chartContainer
|
|
75
|
-
if (!el) return
|
|
76
|
-
const { width, height } = el.getBoundingClientRect()
|
|
77
|
-
chartSize = { width: width - 5, height: height - 10 }
|
|
78
|
-
// console.log(chartSize)
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
function handleResize() {
|
|
82
|
-
setTimeout(adjustChartSize, 300)
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// Lifecycle hooks
|
|
86
|
-
onMounted(() => {
|
|
87
|
-
adjustChartSize()
|
|
88
|
-
window.addEventListener('resize', handleResize)
|
|
89
|
-
})
|
|
90
|
-
|
|
91
|
-
onUnmounted(() => {
|
|
92
|
-
window.removeEventListener('resize', handleResize)
|
|
93
|
-
})
|
|
94
|
-
|
|
95
|
-
// Style Configurations
|
|
96
|
-
function dotStyling(ctx: { [key: string]: any }) {
|
|
97
|
-
return {
|
|
98
|
-
r: ctx.active ? 5 : 1,
|
|
99
|
-
fill: BRAND_COLOR,
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
</script>
|
|
103
|
-
|
|
104
|
-
<template>
|
|
105
|
-
<div
|
|
106
|
-
ref="chartContainer"
|
|
107
|
-
class="chart-line"
|
|
108
|
-
>
|
|
109
|
-
<Chart
|
|
110
|
-
v-if="chartSize"
|
|
111
|
-
:size="chartSize"
|
|
112
|
-
:data
|
|
113
|
-
:margin="chartMargin"
|
|
114
|
-
:axis="axisConfig"
|
|
115
|
-
>
|
|
116
|
-
<template #layers>
|
|
117
|
-
<Grid
|
|
118
|
-
:center="true"
|
|
119
|
-
strokeDasharray="2,2"
|
|
120
|
-
:hideY="true"
|
|
121
|
-
/>
|
|
122
|
-
<Area
|
|
123
|
-
aria-label="Profit/Loss"
|
|
124
|
-
:dataKeys="['date', 'total_value']"
|
|
125
|
-
type="monotone"
|
|
126
|
-
:areaStyle="{ fill: 'url(#grad)' }"
|
|
127
|
-
/>
|
|
128
|
-
<Line
|
|
129
|
-
:dataKeys="['date', 'total_value']"
|
|
130
|
-
type="monotone"
|
|
131
|
-
:dotStyle="dotStyling"
|
|
132
|
-
:lineStyle="{ stroke: BRAND_COLOR, r: 2 }"
|
|
133
|
-
/>
|
|
134
|
-
<Marker
|
|
135
|
-
v-if="displayMarker"
|
|
136
|
-
:value="meanValue"
|
|
137
|
-
label="ממוצע"
|
|
138
|
-
:color="BRAND_COLOR"
|
|
139
|
-
:strokeWidth="2"
|
|
140
|
-
strokeDasharray="6 6"
|
|
141
|
-
/>
|
|
142
|
-
<defs>
|
|
143
|
-
<linearGradient
|
|
144
|
-
id="grad"
|
|
145
|
-
gradientTransform="rotate(90)"
|
|
146
|
-
>
|
|
147
|
-
<stop
|
|
148
|
-
offset="0%"
|
|
149
|
-
:stop-color="BRAND_COLOR"
|
|
150
|
-
stop-opacity="1"
|
|
151
|
-
/>
|
|
152
|
-
<stop
|
|
153
|
-
offset="100%"
|
|
154
|
-
stop-color="white"
|
|
155
|
-
stop-opacity="0.4"
|
|
156
|
-
/>
|
|
157
|
-
</linearGradient>
|
|
158
|
-
</defs>
|
|
159
|
-
</template>
|
|
160
|
-
<template #widgets>
|
|
161
|
-
<Tooltip
|
|
162
|
-
color="white"
|
|
163
|
-
:config="tooltipConfiguration"
|
|
164
|
-
/>
|
|
165
|
-
</template>
|
|
166
|
-
</Chart>
|
|
167
|
-
</div>
|
|
168
|
-
</template>
|
|
169
|
-
|
|
170
|
-
<style>
|
|
171
|
-
.chart-line {
|
|
172
|
-
width: 100%;
|
|
173
|
-
height: 300px;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
[dir="rtl"] .chart-line {
|
|
177
|
-
direction: ltr;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
.chart-line .v-tooltip-content>div {
|
|
181
|
-
border: none !important;
|
|
182
|
-
border-radius: 6px !important;
|
|
183
|
-
background-color: black !important;
|
|
184
|
-
opacity: 0.7;
|
|
185
|
-
padding: 0.5rem 1rem !important;
|
|
186
|
-
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
|
|
187
|
-
font-weight: 300;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
.chart-line .v-tooltip-content>div b {
|
|
191
|
-
font-weight: 400;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
.layer-grid g:last-child {
|
|
195
|
-
display: none;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
.layer-axis-x .tick:nth-child(2n + 1) {
|
|
199
|
-
opacity: 0;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
@media screen and (max-width: 910px) {
|
|
203
|
-
.chart-line {
|
|
204
|
-
height: 140px;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
.layer-axis-x .tick {
|
|
208
|
-
opacity: 0;
|
|
209
|
-
font-size: 0;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
</style>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as Lineart } from './Lineart.vue'
|
|
File without changes
|