@eturnity/eturnity_reusable_components 7.4.4-EPDM-7260.26 → 7.4.4-EPDM-7260.27
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/babel.config.js +2 -4
- package/package.json +1 -2
- package/src/assets/svgIcons/clock_full.svg +3 -0
- package/src/assets/svgIcons/drag_icon.svg +8 -0
- package/src/assets/svgIcons/height_equalize.svg +3 -0
- package/src/assets/svgIcons/height_snap.svg +3 -0
- package/src/assets/svgIcons/inclination.svg +3 -0
- package/src/assets/svgIcons/length_2d.svg +3 -0
- package/src/assets/svgIcons/length_3d.svg +5 -0
- package/src/assets/svgIcons/length_calculator.svg +3 -0
- package/src/components/filter/index.vue +11 -0
- package/src/components/icon/index.vue +34 -22
- package/src/components/infoText/index.vue +0 -1
- package/src/components/inputs/checkbox/index.vue +12 -5
- package/src/components/inputs/inputNumber/index.vue +5 -9
- package/src/components/inputs/select/index.vue +75 -13
- package/src/components/inputs/select/option/index.vue +6 -0
- package/src/components/inputs/textAreaInput/index.vue +1 -1
- package/src/components/markerItem/index.vue +86 -0
- package/src/components/pageTitle/index.vue +10 -15
- package/src/components/pagination/index.vue +5 -4
- package/src/components/projectMarker/index.vue +1 -1
- package/src/components/tableDropdown/index.vue +18 -7
package/babel.config.js
CHANGED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@eturnity/eturnity_reusable_components",
|
3
|
-
"version": "7.4.4-EPDM-7260.
|
3
|
+
"version": "7.4.4-EPDM-7260.27",
|
4
4
|
"private": false,
|
5
5
|
"scripts": {
|
6
6
|
"dev": "vue-cli-service serve",
|
@@ -23,7 +23,6 @@
|
|
23
23
|
},
|
24
24
|
"devDependencies": {
|
25
25
|
"@babel/core": "7.12.16",
|
26
|
-
"@babel/eslint-parser": "7.12.16",
|
27
26
|
"@vue/cli-plugin-babel": "5.0.8",
|
28
27
|
"@vue/cli-plugin-eslint": "5.0.8",
|
29
28
|
"@vue/cli-service": "5.0.8",
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10ZM5.875 5.05243V2.125H4.125V5.92743L6.19061 7.47663L7.24061 6.07663L5.875 5.05243Z" fill="white"/>
|
3
|
+
</svg>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<svg width="10" height="16" viewBox="0 0 10 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M4 2C4 3.10457 3.10457 4 2 4C0.89543 4 0 3.10457 0 2C0 0.89543 0.89543 0 2 0C3.10457 0 4 0.89543 4 2Z" fill="#B2B9C5"/>
|
3
|
+
<path d="M10 2C10 3.10457 9.10457 4 8 4C6.89543 4 6 3.10457 6 2C6 0.89543 6.89543 0 8 0C9.10457 0 10 0.89543 10 2Z" fill="#B2B9C5"/>
|
4
|
+
<path d="M4 8C4 9.10457 3.10457 10 2 10C0.89543 10 0 9.10457 0 8C0 6.89543 0.89543 6 2 6C3.10457 6 4 6.89543 4 8Z" fill="#B2B9C5"/>
|
5
|
+
<path d="M10 8C10 9.10457 9.10457 10 8 10C6.89543 10 6 9.10457 6 8C6 6.89543 6.89543 6 8 6C9.10457 6 10 6.89543 10 8Z" fill="#B2B9C5"/>
|
6
|
+
<path d="M4 14C4 15.1046 3.10457 16 2 16C0.89543 16 0 15.1046 0 14C0 12.8954 0.89543 12 2 12C3.10457 12 4 12.8954 4 14Z" fill="#B2B9C5"/>
|
7
|
+
<path d="M10 14C10 15.1046 9.10457 16 8 16C6.89543 16 6 15.1046 6 14C6 12.8954 6.89543 12 8 12C9.10457 12 10 12.8954 10 14Z" fill="#B2B9C5"/>
|
8
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.99482 2.7C4.49188 2.7 4.89482 2.29706 4.89482 1.8C4.89482 1.30294 4.49188 0.9 3.99482 0.9C3.49777 0.9 3.09482 1.30294 3.09482 1.8C3.09482 2.29706 3.49777 2.7 3.99482 2.7ZM5.79482 1.8C5.79482 2.50671 5.38756 3.11829 4.79492 3.41285V4H5.80557L4.00557 6L2.20557 4H3.19492L3.19492 3.41294C2.60218 3.11842 2.19482 2.50678 2.19482 1.8C2.19482 0.805887 3.00071 0 3.99482 0C4.98894 0 5.79482 0.805887 5.79482 1.8ZM10.8948 1.8C10.8948 2.29706 10.4919 2.7 9.99482 2.7C9.49777 2.7 9.09482 2.29706 9.09482 1.8C9.09482 1.30294 9.49777 0.9 9.99482 0.9C10.4919 0.9 10.8948 1.30294 10.8948 1.8ZM10.7949 3.41285C11.3876 3.11829 11.7948 2.50671 11.7948 1.8C11.7948 0.805887 10.9889 0 9.99482 0C9.00071 0 8.19482 0.805887 8.19482 1.8C8.19482 2.50678 8.60218 3.11842 9.19492 3.41294V4H8.20557L10.0056 6L11.8056 4H10.7949V3.41285ZM14 7.79999L0 7.79999V6.19999L14 6.19999V7.79999ZM7.00518 11.3C6.50812 11.3 6.10518 11.7029 6.10518 12.2C6.10518 12.6971 6.50812 13.1 7.00518 13.1C7.50223 13.1 7.90518 12.6971 7.90518 12.2C7.90518 11.7029 7.50223 11.3 7.00518 11.3ZM5.20518 12.2C5.20518 11.4933 5.61244 10.8817 6.20508 10.5872L6.20508 10H5.19443L6.99443 8L8.79443 10H7.80508V10.5871C8.39782 10.8816 8.80518 11.4932 8.80518 12.2C8.80518 13.1941 7.99929 14 7.00518 14C6.01106 14 5.20518 13.1941 5.20518 12.2Z" fill="#B2B9C5"/>
|
3
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 1.59997L14 1.59998V-2.44379e-05L0 -2.56618e-05V1.59997ZM6.10274 12.2C6.10274 11.7029 6.50568 11.3 7.00274 11.3C7.49979 11.3 7.90274 11.7029 7.90274 12.2C7.90274 12.6971 7.49979 13.1 7.00274 13.1C6.50568 13.1 6.10274 12.6971 6.10274 12.2ZM6.20264 10.5872C5.61 10.8817 5.20274 11.4933 5.20274 12.2C5.20274 13.1941 6.00862 14 7.00274 14C7.99685 14 8.80274 13.1941 8.80274 12.2C8.80274 11.4932 8.39538 10.8816 7.80264 10.5871L7.80264 4.65002H9.5L7 2.65002L4.5 4.65002H6.20264L6.20264 10.5872Z" fill="#B2B9C5"/>
|
3
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="12" viewBox="0 0 14 12" fill="none">
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.09548 3.62522L10.8209 1.59974L9.53978 0.508423L0.199219 11.4916H13.7992V9.80865H11.9546C11.7571 7.4083 10.7198 5.25339 9.09548 3.62522ZM10.2648 9.80859C10.0777 7.91689 9.26383 6.22054 8.00053 4.91205L3.83843 9.80864L10.2648 9.80859Z" fill="white"/>
|
3
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="10" viewBox="0 0 14 10" fill="none">
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.199219 9.85718V0.142822H1.75351L1.75352 9.85718H0.199219ZM5.38021 8.20572L2.14209 4.99999L5.38021 1.79425V4.19855L8.61833 4.19855V1.79425L11.8564 4.99999L8.61832 8.20572L8.61833 5.80142L5.38021 5.80142V8.20572ZM12.2449 0.142822V9.85718H13.7992V0.142822H12.2449Z" fill="white"/>
|
3
|
+
</svg>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none">
|
2
|
+
<path d="M5.33336 14L0 8.66664L1.06667 7.59997L6.40003 12.9333L5.33336 14Z" fill="white"/>
|
3
|
+
<path d="M8.42227 9.97776L4.00002 9.99998L4.02224 5.57774L5.67225 7.22775L7.22781 5.67219L5.57781 4.02218L10.0001 3.99996L9.97783 8.4222L8.32782 6.7722L6.77226 8.32776L8.42227 9.97776Z" fill="white"/>
|
4
|
+
<path d="M7.59997 1.06667L12.9333 6.40003L14 5.33336L8.66664 0L7.59997 1.06667Z" fill="white"/>
|
5
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none">
|
2
|
+
<path d="M12.4444 0H1.55556C0.7 0 0 0.7 0 1.55556V12.4444C0 13.3 0.7 14 1.55556 14H12.4444C13.3 14 14 13.3 14 12.4444V1.55556C14 0.7 13.3 0 12.4444 0ZM7.80111 3.15778L8.62556 2.33333L9.72222 3.43L10.8189 2.33333L11.6433 3.15778L10.5467 4.25444L11.6433 5.35111L10.8189 6.17556L9.72222 5.08667L8.62556 6.18333L7.80111 5.35889L8.89778 4.26222L7.80111 3.15778ZM2.52778 3.67111H6.41667V4.83778H2.52778V3.67111ZM6.61111 10.1111H5.05556V11.6667H3.88889V10.1111H2.33333V8.94444H3.88889V7.38889H5.05556V8.94444H6.61111V10.1111ZM11.6667 11.0833H7.77778V9.91667H11.6667V11.0833ZM11.6667 9.13889H7.77778V7.97222H11.6667V9.13889Z" fill="#263238"/>
|
3
|
+
</svg>
|
@@ -70,6 +70,9 @@ export default {
|
|
70
70
|
},
|
71
71
|
settingsTranslations: {
|
72
72
|
required: false
|
73
|
+
},
|
74
|
+
closeDropdown: {
|
75
|
+
required: false
|
73
76
|
}
|
74
77
|
},
|
75
78
|
data() {
|
@@ -122,6 +125,7 @@ export default {
|
|
122
125
|
this.$emit('on-filter-view-select', item)
|
123
126
|
},
|
124
127
|
onViewDelete(item) {
|
128
|
+
this.onToggleDropdown()
|
125
129
|
this.$emit('on-filter-view-delete', item)
|
126
130
|
},
|
127
131
|
onApplyCurrentView() {
|
@@ -138,6 +142,13 @@ export default {
|
|
138
142
|
},
|
139
143
|
beforeDestroy() {
|
140
144
|
document.removeEventListener('click', this.clickOutside)
|
145
|
+
},
|
146
|
+
watch: {
|
147
|
+
closeDropdown(newVal) {
|
148
|
+
if (newVal) {
|
149
|
+
this.isDropdownOpen = false
|
150
|
+
}
|
151
|
+
}
|
141
152
|
}
|
142
153
|
}
|
143
154
|
</script>
|
@@ -1,9 +1,13 @@
|
|
1
1
|
<template>
|
2
|
-
<wrapper>
|
3
|
-
<icon-image
|
2
|
+
<wrapper :disabled="disabled" :size="size" :cursor="cursor">
|
3
|
+
<icon-image
|
4
|
+
:color="color"
|
5
|
+
:background-color="backgroundColor"
|
6
|
+
:hovered-color="hoveredColor"
|
7
|
+
>
|
4
8
|
<i v-html="icon.html" />
|
5
9
|
</icon-image>
|
6
|
-
<striked-line v-if="isStriked"></striked-line>
|
10
|
+
<striked-line v-if="isStriked" :color="color"></striked-line>
|
7
11
|
</wrapper>
|
8
12
|
</template>
|
9
13
|
|
@@ -48,27 +52,31 @@ const props = defineProps({
|
|
48
52
|
isStriked: {
|
49
53
|
required: false,
|
50
54
|
default: false
|
55
|
+
},
|
56
|
+
backgroundColor: {
|
57
|
+
required: false,
|
58
|
+
default: null
|
51
59
|
}
|
52
60
|
})
|
53
61
|
|
54
|
-
const Wrapper = styled('div'
|
62
|
+
const Wrapper = styled('div', {
|
63
|
+
size: String,
|
64
|
+
disabled: Boolean,
|
65
|
+
cursor: String
|
66
|
+
})`
|
55
67
|
display: flex;
|
56
68
|
position: relative;
|
57
69
|
align-content: center;
|
58
70
|
justify-content: center;
|
59
|
-
width: ${props.size};
|
60
|
-
height: ${props.size};
|
61
|
-
min-width: ${props.size};
|
62
|
-
min-height: ${props.size};
|
63
|
-
cursor: ${props.disabled ? 'not-allowed' : props.cursor};
|
71
|
+
width: ${(props) => props.size};
|
72
|
+
height: ${(props) => props.size};
|
73
|
+
min-width: ${(props) => props.size};
|
74
|
+
min-height: ${(props) => props.size};
|
75
|
+
cursor: ${(props) => (props.disabled ? 'not-allowed' : props.cursor)};
|
64
76
|
line-height: 0;
|
65
77
|
`
|
66
|
-
|
67
|
-
|
68
|
-
color: String,
|
69
|
-
hoveredColor: String
|
70
|
-
}
|
71
|
-
const StrikedLine = styled.div`
|
78
|
+
|
79
|
+
const StrikedLine = styled('div', { color: String })`
|
72
80
|
display: flex;
|
73
81
|
position: absolute;
|
74
82
|
bottom: 0;
|
@@ -77,29 +85,33 @@ const StrikedLine = styled.div`
|
|
77
85
|
justify-content: center;
|
78
86
|
width: 143%;
|
79
87
|
height: 8%;
|
80
|
-
background-color: ${({ theme }) => theme.colors[
|
88
|
+
background-color: ${({ theme, color }) => theme.colors[color] || color};
|
81
89
|
min-height: 0;
|
82
90
|
line-height: 0;
|
83
91
|
transform-origin: 0% 100%;
|
84
92
|
transform: rotate(-45deg);
|
85
93
|
`
|
86
|
-
const IconImage = styled
|
94
|
+
const IconImage = styled('div', {
|
95
|
+
color: String,
|
96
|
+
backgroundColor: String,
|
97
|
+
hoveredColor: String
|
98
|
+
})`
|
87
99
|
width: 100%;
|
88
100
|
svg {
|
89
101
|
width: 100%;
|
90
102
|
height: 100%;
|
91
|
-
background-color: ${(props) =>
|
103
|
+
background-color: ${(props) =>
|
104
|
+
props.backgroundColor ? props.backgroundColor : 'transparent'};
|
92
105
|
padding: ${(props) => (props.backgroundColor ? '3px' : '0')};
|
93
106
|
}
|
94
107
|
svg path {
|
95
|
-
${({ theme }) =>
|
96
|
-
props.color && `fill: ${theme.colors[props.color] || props.color};`}
|
108
|
+
${({ theme, color }) => color && `fill: ${theme.colors[color] || color};`}
|
97
109
|
}
|
98
110
|
&:hover > svg path {
|
99
|
-
${props.hoveredColor && `fill: ${props.hoveredColor};`}
|
111
|
+
${(props) => props.hoveredColor && `fill: ${props.hoveredColor};`}
|
100
112
|
}
|
101
113
|
&:hover + div {
|
102
|
-
background-color: ${props.hoveredColor};
|
114
|
+
background-color: ${(props) => props.hoveredColor};
|
103
115
|
}
|
104
116
|
`
|
105
117
|
|
@@ -3,10 +3,11 @@
|
|
3
3
|
<container
|
4
4
|
:checkColor="checkColor"
|
5
5
|
:size="size"
|
6
|
-
:hasLabel="
|
6
|
+
:hasLabel="label && !!label.length"
|
7
7
|
:backgroundColor="backgroundColor"
|
8
8
|
:isChecked="isChecked"
|
9
9
|
:isDisabled="isDisabled"
|
10
|
+
:cursorType="cursorType"
|
10
11
|
>
|
11
12
|
<input-checkbox
|
12
13
|
type="checkbox"
|
@@ -17,7 +18,7 @@
|
|
17
18
|
<check-wrapper :hasLabel="hasLabel">
|
18
19
|
<span class="checkmark"></span>
|
19
20
|
</check-wrapper>
|
20
|
-
<label-text v-if="
|
21
|
+
<label-text v-if="label && !!label.length">{{ label }}</label-text>
|
21
22
|
</container>
|
22
23
|
</component-wrapper>
|
23
24
|
</template>
|
@@ -33,6 +34,7 @@
|
|
33
34
|
// size="small"
|
34
35
|
// backgroundColor="red"
|
35
36
|
// :isDisabled="true"
|
37
|
+
// cursorType="default"
|
36
38
|
// />
|
37
39
|
import styled from 'vue3-styled-components'
|
38
40
|
|
@@ -55,7 +57,8 @@ const containerAttrs = {
|
|
55
57
|
hasLabel: Boolean,
|
56
58
|
backgroundColor: String,
|
57
59
|
isChecked: Boolean,
|
58
|
-
isDisabled: Boolean
|
60
|
+
isDisabled: Boolean,
|
61
|
+
cursorType: String
|
59
62
|
}
|
60
63
|
const Container = styled('label', containerAttrs)`
|
61
64
|
display: grid;
|
@@ -64,7 +67,7 @@ const Container = styled('label', containerAttrs)`
|
|
64
67
|
align-content: center;
|
65
68
|
color: ${(props) => props.theme.colors.black};
|
66
69
|
position: relative;
|
67
|
-
cursor: ${(props) => (props.isDisabled ? 'not-allowed' :
|
70
|
+
cursor: ${(props) => (props.isDisabled ? 'not-allowed' : props.cursorType)};
|
68
71
|
font-size: 16px;
|
69
72
|
user-select: none;
|
70
73
|
|
@@ -89,7 +92,7 @@ const Container = styled('label', containerAttrs)`
|
|
89
92
|
: props.theme.colors.green
|
90
93
|
: props.isDisabled
|
91
94
|
? props.theme.colors.lightGray
|
92
|
-
:
|
95
|
+
: props.theme.colors.white};
|
93
96
|
border-radius: 4px;
|
94
97
|
border: 1px solid
|
95
98
|
${(props) =>
|
@@ -183,6 +186,10 @@ export default {
|
|
183
186
|
dataId: {
|
184
187
|
type: String,
|
185
188
|
default: ''
|
189
|
+
},
|
190
|
+
cursorType: {
|
191
|
+
type: String,
|
192
|
+
default: 'pointer'
|
186
193
|
}
|
187
194
|
},
|
188
195
|
computed: {
|
@@ -313,8 +313,7 @@ export default {
|
|
313
313
|
return {
|
314
314
|
textInput: '',
|
315
315
|
isFocused: false,
|
316
|
-
warningIcon: warningIcon
|
317
|
-
isBlurred: false
|
316
|
+
warningIcon: warningIcon
|
318
317
|
}
|
319
318
|
},
|
320
319
|
props: {
|
@@ -549,8 +548,7 @@ export default {
|
|
549
548
|
return array
|
550
549
|
},
|
551
550
|
onInput(event) {
|
552
|
-
if (this.
|
553
|
-
this.isBlurred = false
|
551
|
+
if (!this.isFocused) {
|
554
552
|
return
|
555
553
|
}
|
556
554
|
if (event.target.value === '') {
|
@@ -560,15 +558,13 @@ export default {
|
|
560
558
|
try {
|
561
559
|
evaluatedVal = this.onEvaluateCode(event)
|
562
560
|
} finally {
|
563
|
-
if (evaluatedVal) {
|
561
|
+
if (evaluatedVal && this.value != evaluatedVal) {
|
564
562
|
this.$emit('on-input', evaluatedVal)
|
565
563
|
}
|
566
564
|
}
|
567
565
|
},
|
568
566
|
onInputBlur(e) {
|
569
567
|
this.isFocused = false
|
570
|
-
// setting isBlurred so we don't trigger onInput as well
|
571
|
-
this.isBlurred = true
|
572
568
|
let value = e.target.value
|
573
569
|
let evaluatedInput = this.onEvaluateCode(e)
|
574
570
|
this.onChangeHandler(evaluatedInput ? evaluatedInput : value)
|
@@ -646,10 +642,10 @@ export default {
|
|
646
642
|
}
|
647
643
|
},
|
648
644
|
initInteraction(e) {
|
645
|
+
this.focusInput()
|
646
|
+
e.preventDefault()
|
649
647
|
window.addEventListener('mousemove', this.interact, false)
|
650
648
|
window.addEventListener('mouseup', this.stopInteract, false)
|
651
|
-
e.preventDefault()
|
652
|
-
this.focusInput()
|
653
649
|
},
|
654
650
|
interact(e) {
|
655
651
|
e.preventDefault()
|
@@ -1,15 +1,14 @@
|
|
1
1
|
<template>
|
2
2
|
<Container
|
3
3
|
:selectWidth="selectWidth"
|
4
|
-
:
|
5
|
-
:maxWidth="maxWidth"
|
4
|
+
:noRelative="noRelative"
|
6
5
|
@mouseenter="mouseEnterHandler"
|
7
6
|
@mouseleave="mouseLeaveHandler"
|
8
7
|
>
|
9
8
|
<input-wrapper
|
10
9
|
:hasLabel="!!label && label.length > 0"
|
11
10
|
:alignItems="alignItems"
|
12
|
-
:
|
11
|
+
:noRelative="noRelative"
|
13
12
|
>
|
14
13
|
<label-wrapper v-if="label" :data-id="labelDataId">
|
15
14
|
<input-label
|
@@ -51,6 +50,9 @@
|
|
51
50
|
:showBorder="showBorder"
|
52
51
|
:data-id="dataId"
|
53
52
|
:paddingLeft="paddingLeft"
|
53
|
+
:tablePaddingLeft="tablePaddingLeft"
|
54
|
+
:noRelative="noRelative"
|
55
|
+
:showDisabledBackground="showDisabledBackground"
|
54
56
|
>
|
55
57
|
<draggableInputHandle
|
56
58
|
v-if="isDraggable && !isSearchBarVisible"
|
@@ -81,7 +83,11 @@
|
|
81
83
|
>
|
82
84
|
<slot name="selector" :selectedValue="selectedValue"></slot>
|
83
85
|
</selector>
|
86
|
+
<<<<<<< HEAD
|
84
87
|
<Caret @click.stop="toggleCaretDropdown" v-if="dropDownArrowVisible">
|
88
|
+
=======
|
89
|
+
<Caret @click.stop="toggleCaretDropdown" class="caret_dropdown">
|
90
|
+
>>>>>>> 815539e19f2883b2a6c7d813c6c2799ce3cb0993
|
85
91
|
<icon
|
86
92
|
v-if="isDropdownOpen"
|
87
93
|
name="arrow_up"
|
@@ -104,7 +110,7 @@
|
|
104
110
|
/>
|
105
111
|
</Caret>
|
106
112
|
</selectButton>
|
107
|
-
<DropdownWrapper ref="dropdownWrapperRef">
|
113
|
+
<DropdownWrapper ref="dropdownWrapperRef" :noRelative="noRelative">
|
108
114
|
<Teleport to="#portal-target">
|
109
115
|
<selectDropdown
|
110
116
|
ref="dropdown"
|
@@ -123,10 +129,13 @@
|
|
123
129
|
:fontColor="
|
124
130
|
dropdownFontColor || colorMode == 'dark' ? 'white' : 'black'
|
125
131
|
"
|
132
|
+
:noRelative="noRelative"
|
126
133
|
:fontSize="fontSize"
|
134
|
+
:minWidth="minWidth"
|
127
135
|
:selectedValue="selectedValue"
|
128
136
|
@option-selected="optionSelected"
|
129
137
|
@option-hovered="optionHovered"
|
138
|
+
@mouseleave="optionLeave"
|
130
139
|
>
|
131
140
|
<slot name="dropdown"></slot>
|
132
141
|
</selectDropdown>
|
@@ -219,12 +228,16 @@ const optionalLabel = styled.span`
|
|
219
228
|
const inputProps = {
|
220
229
|
selectWidth: String,
|
221
230
|
optionWidth: String,
|
231
|
+
<<<<<<< HEAD
|
222
232
|
minWidth: String,
|
223
233
|
maxWidth: String
|
234
|
+
=======
|
235
|
+
noRelative: Boolean
|
236
|
+
>>>>>>> 815539e19f2883b2a6c7d813c6c2799ce3cb0993
|
224
237
|
}
|
225
238
|
const Container = styled('div', inputProps)`
|
226
239
|
width: ${(props) => props.selectWidth};
|
227
|
-
position: relative;
|
240
|
+
position: ${(props) => (props.noRelative ? 'static' : 'relative')};
|
228
241
|
display: inline-block;
|
229
242
|
`
|
230
243
|
const LabelWrapper = styled.div`
|
@@ -253,16 +266,31 @@ const selectButtonAttrs = {
|
|
253
266
|
selectMinHeight: String,
|
254
267
|
hasNoPadding: Boolean,
|
255
268
|
showBorder: Boolean,
|
256
|
-
paddingLeft: String
|
269
|
+
paddingLeft: String,
|
270
|
+
noRelative: Boolean,
|
271
|
+
tablePaddingLeft: String,
|
272
|
+
showDisabledBackground: Boolean
|
257
273
|
}
|
258
274
|
const selectButton = styled('div', selectButtonAttrs)`
|
275
|
+
<<<<<<< HEAD
|
259
276
|
font-size: ${(props) => (props.fontSize ? props.fontSize : '13px')};
|
260
277
|
position: relative;
|
278
|
+
=======
|
279
|
+
position: ${(props) => (props.noRelative ? 'static' : 'relative')};
|
280
|
+
>>>>>>> 815539e19f2883b2a6c7d813c6c2799ce3cb0993
|
261
281
|
box-sizing: border-box;
|
262
282
|
border-radius: 4px;
|
263
283
|
max-width: ${(props) => (props.selectWidth ? props.selectWidth : '100%')};
|
264
284
|
${(props) =>
|
265
|
-
props.
|
285
|
+
props.isSearchBarVisible
|
286
|
+
? ''
|
287
|
+
: `padding-left: ${
|
288
|
+
props.hasNoPadding
|
289
|
+
? '0'
|
290
|
+
: props.tablePaddingLeft
|
291
|
+
? props.tablePaddingLeft
|
292
|
+
: props.paddingLeft
|
293
|
+
}`};
|
266
294
|
text-align: left;
|
267
295
|
min-height: ${(props) =>
|
268
296
|
props.selectHeight
|
@@ -283,7 +311,7 @@ const selectButton = styled('div', selectButtonAttrs)`
|
|
283
311
|
}
|
284
312
|
`}
|
285
313
|
background-color:${(props) =>
|
286
|
-
props.disabled
|
314
|
+
props.disabled && props.showDisabledBackground
|
287
315
|
? props.theme.colors.grey5
|
288
316
|
: props.theme.colors[props.bgColor]
|
289
317
|
? props.theme.colors[props.bgColor]
|
@@ -309,13 +337,16 @@ const selectDropdownAttrs = {
|
|
309
337
|
fontSize: String,
|
310
338
|
dropdownPosition: Object,
|
311
339
|
hoveredValue: Number | String,
|
312
|
-
selectedValue: Number | String
|
340
|
+
selectedValue: Number | String,
|
341
|
+
noRelative: Boolean,
|
342
|
+
minWidth: String
|
313
343
|
}
|
314
344
|
const selectDropdown = styled('div', selectDropdownAttrs)`
|
315
345
|
box-sizing: border-box;
|
316
346
|
z-index: ${(props) => (props.isActive ? '2' : '99999')};
|
317
347
|
position: absolute;
|
318
|
-
top: ${(props) =>
|
348
|
+
top: ${(props) =>
|
349
|
+
props.noRelative ? 'auto' : props.dropdownPosition?.top + 'px'};
|
319
350
|
left: ${(props) => props.dropdownPosition?.left}px;
|
320
351
|
border: ${BORDER_WIDTH} solid ${(props) => props.theme.colors.grey4};
|
321
352
|
border-radius: 4px;
|
@@ -325,6 +356,12 @@ const selectDropdown = styled('div', selectDropdownAttrs)`
|
|
325
356
|
padding: 0px;
|
326
357
|
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
|
327
358
|
width: ${(props) => (props.optionWidth ? props.optionWidth : '100%')};
|
359
|
+
min-width: ${(props) =>
|
360
|
+
props.minWidth
|
361
|
+
? props.minWidth
|
362
|
+
: props.optionWidth
|
363
|
+
? props.optionWidth
|
364
|
+
: '100%'};
|
328
365
|
background-color: ${(props) =>
|
329
366
|
props.theme.colors[props.bgColor]
|
330
367
|
? props.theme.colors[props.bgColor]
|
@@ -344,12 +381,21 @@ const selectDropdown = styled('div', selectDropdownAttrs)`
|
|
344
381
|
font-size: ${(props) => props.fontSize};
|
345
382
|
`
|
346
383
|
selectDropdown.emits = ['option-hovered', 'option-selected']
|
347
|
-
const
|
348
|
-
|
384
|
+
const DropdownAttrs = { noRelative: Boolean }
|
385
|
+
const DropdownWrapper = styled('div', DropdownAttrs)`
|
386
|
+
position: ${(props) => (props.noRelative ? 'static' : 'relative')};
|
349
387
|
`
|
388
|
+
<<<<<<< HEAD
|
350
389
|
const inputAttrs = { alignItems: String, hasLabel: Boolean, minWidth: String }
|
390
|
+
=======
|
391
|
+
const inputAttrs = {
|
392
|
+
alignItems: String,
|
393
|
+
hasLabel: Boolean,
|
394
|
+
noRelative: Boolean
|
395
|
+
}
|
396
|
+
>>>>>>> 815539e19f2883b2a6c7d813c6c2799ce3cb0993
|
351
397
|
const InputWrapper = styled('div', inputAttrs)`
|
352
|
-
position: relative;
|
398
|
+
position: ${(props) => (props.noRelative ? 'static' : 'relative')};
|
353
399
|
display: grid;
|
354
400
|
width: 100%;
|
355
401
|
min-width: ${(props) => (props.minWidth ? props.minWidth : '150px')};
|
@@ -380,6 +426,10 @@ export default {
|
|
380
426
|
required: false,
|
381
427
|
default: '13px'
|
382
428
|
},
|
429
|
+
noRelative: {
|
430
|
+
required: false,
|
431
|
+
default: false
|
432
|
+
},
|
383
433
|
label: {
|
384
434
|
required: false
|
385
435
|
},
|
@@ -418,6 +468,9 @@ export default {
|
|
418
468
|
required: false,
|
419
469
|
default: '36px'
|
420
470
|
},
|
471
|
+
minWidth: {
|
472
|
+
required: false
|
473
|
+
},
|
421
474
|
optionWidth: {
|
422
475
|
required: false,
|
423
476
|
default: null
|
@@ -497,9 +550,18 @@ export default {
|
|
497
550
|
type: Boolean,
|
498
551
|
default: false
|
499
552
|
},
|
553
|
+
<<<<<<< HEAD
|
500
554
|
leftPadding: {
|
501
555
|
type: String,
|
502
556
|
default: '15px'
|
557
|
+
=======
|
558
|
+
tablePaddingLeft: {
|
559
|
+
required: false
|
560
|
+
},
|
561
|
+
showDisabledBackground: {
|
562
|
+
required: false,
|
563
|
+
default: true
|
564
|
+
>>>>>>> 815539e19f2883b2a6c7d813c6c2799ce3cb0993
|
503
565
|
},
|
504
566
|
minOptionLength: {
|
505
567
|
type: Number,
|
@@ -16,6 +16,7 @@
|
|
16
16
|
:disabledTextColor="disabledTextColor"
|
17
17
|
:backgroundColor="colorMode == 'dark' ? '#000000' : backgroundColor"
|
18
18
|
:title="hoverText"
|
19
|
+
:minWidth="minWidth"
|
19
20
|
:padding="padding"
|
20
21
|
>
|
21
22
|
<slot></slot>
|
@@ -31,6 +32,7 @@ const optionProps = {
|
|
31
32
|
hoveredBgColor: String,
|
32
33
|
cursorType: String,
|
33
34
|
backgroundColor: String,
|
35
|
+
minWidth: String,
|
34
36
|
disabledBgColor: String,
|
35
37
|
disabledTextColor: String,
|
36
38
|
padding: String
|
@@ -44,6 +46,7 @@ const optionContainer = styled('div', optionProps)`
|
|
44
46
|
padding: ${(props) => props.padding};
|
45
47
|
gap: 14px;
|
46
48
|
width: 100%;
|
49
|
+
min-width: ${(props) => (props.minWidth ? props.minWidth : '100%')};
|
47
50
|
background-color: ${(props) =>
|
48
51
|
props.isDisabled
|
49
52
|
? props.theme.colors[props.disabledBgColor]
|
@@ -106,6 +109,9 @@ export default {
|
|
106
109
|
required: false,
|
107
110
|
default: false
|
108
111
|
},
|
112
|
+
minWidth: {
|
113
|
+
required: false
|
114
|
+
},
|
109
115
|
disabledBgColor: {
|
110
116
|
required: false,
|
111
117
|
default: 'white'
|
@@ -0,0 +1,86 @@
|
|
1
|
+
<template>
|
2
|
+
<page-container>
|
3
|
+
<marker-container
|
4
|
+
:backgroundColor="backgroundColor"
|
5
|
+
:hasIcon="!!iconName"
|
6
|
+
:cursor="cursor"
|
7
|
+
>
|
8
|
+
<icon
|
9
|
+
v-if="!!iconName"
|
10
|
+
:name="iconName"
|
11
|
+
color="white"
|
12
|
+
size="10px"
|
13
|
+
:cursor="cursor"
|
14
|
+
/>
|
15
|
+
<span>{{ label }}</span>
|
16
|
+
</marker-container>
|
17
|
+
</page-container>
|
18
|
+
</template>
|
19
|
+
|
20
|
+
<script>
|
21
|
+
// import MarkerItem from "@eturnity/eturnity_reusable_components/src/components/markerItem"
|
22
|
+
// To use:
|
23
|
+
// <marker-item
|
24
|
+
// label="Label"
|
25
|
+
// backgroundColor="#ab5348"
|
26
|
+
// iconName="icon_name"
|
27
|
+
// cursor="pointer"
|
28
|
+
// />
|
29
|
+
|
30
|
+
import styled from 'vue3-styled-components'
|
31
|
+
import Icon from '../icon'
|
32
|
+
|
33
|
+
const PageContainer = styled.div`
|
34
|
+
display: flex;
|
35
|
+
align-items: center;
|
36
|
+
font-size: 12px;
|
37
|
+
line-height: 14px;
|
38
|
+
`
|
39
|
+
|
40
|
+
const MarkerAttrs = {
|
41
|
+
backgroundColor: String,
|
42
|
+
hasIcon: Boolean,
|
43
|
+
cursor: String
|
44
|
+
}
|
45
|
+
const MarkerContainer = styled('div', MarkerAttrs)`
|
46
|
+
display: grid;
|
47
|
+
grid-template-columns: ${(props) => (props.hasIcon ? 'auto 1fr' : '1fr')};
|
48
|
+
grid-gap: 5px;
|
49
|
+
position: relative;
|
50
|
+
align-items: center;
|
51
|
+
padding: 2px 7px;
|
52
|
+
color: ${(props) => props.theme.colors.white};
|
53
|
+
background-color: ${(props) =>
|
54
|
+
props.backgroundColor ? props.backgroundColor : props.theme.colors.grey3};
|
55
|
+
border: 1px solid
|
56
|
+
${(props) =>
|
57
|
+
props.backgroundColor ? props.backgroundColor : props.theme.colors.grey3};
|
58
|
+
border-radius: 4px;
|
59
|
+
white-space: nowrap;
|
60
|
+
cursor: ${(props) => (props.isEditionAllowed ? 'pointer' : props.cursor)};
|
61
|
+
`
|
62
|
+
|
63
|
+
export default {
|
64
|
+
name: 'project-marker',
|
65
|
+
components: {
|
66
|
+
PageContainer,
|
67
|
+
MarkerContainer,
|
68
|
+
Icon
|
69
|
+
},
|
70
|
+
props: {
|
71
|
+
backgroundColor: {
|
72
|
+
required: false
|
73
|
+
},
|
74
|
+
iconName: {
|
75
|
+
required: false
|
76
|
+
},
|
77
|
+
label: {
|
78
|
+
required: true
|
79
|
+
},
|
80
|
+
cursor: {
|
81
|
+
required: false,
|
82
|
+
default: 'default'
|
83
|
+
}
|
84
|
+
}
|
85
|
+
}
|
86
|
+
</script>
|
@@ -3,11 +3,7 @@
|
|
3
3
|
<title-text :color="color" :fontSize="fontSize" :uppercase="uppercase">
|
4
4
|
{{ text }}
|
5
5
|
</title-text>
|
6
|
-
<info-text
|
7
|
-
v-if="!!infoText"
|
8
|
-
:text="infoText"
|
9
|
-
:alignArrow="infoAlign"
|
10
|
-
/>
|
6
|
+
<info-text v-if="!!infoText" :text="infoText" :alignArrow="infoAlign" />
|
11
7
|
</title-wrap>
|
12
8
|
</template>
|
13
9
|
|
@@ -18,16 +14,16 @@
|
|
18
14
|
// text="My Page Title"
|
19
15
|
// color="red"
|
20
16
|
// />
|
21
|
-
import styled from
|
22
|
-
import InfoText from
|
17
|
+
import styled from 'vue3-styled-components'
|
18
|
+
import InfoText from '../infoText'
|
23
19
|
|
24
20
|
const wrapAttrs = { hasInfoText: Boolean }
|
25
|
-
const TitleWrap = styled(
|
21
|
+
const TitleWrap = styled('div', wrapAttrs)`
|
26
22
|
display: grid;
|
27
23
|
align-items: center;
|
28
24
|
grid-gap: 12px;
|
29
25
|
grid-template-columns: ${(props) =>
|
30
|
-
props.hasInfoText ?
|
26
|
+
props.hasInfoText ? 'auto auto 1fr' : '1fr'};
|
31
27
|
margin-bottom: 20px;
|
32
28
|
`
|
33
29
|
|
@@ -35,7 +31,7 @@ const titleAttrs = { color: String, fontSize: String, uppercase: Boolean }
|
|
35
31
|
const TitleText = styled('span', titleAttrs)`
|
36
32
|
color: ${(props) => (props.color ? props.color : props.theme.colors.black)};
|
37
33
|
font-weight: bold;
|
38
|
-
font-size: ${(props) => (props.fontSize ? props.fontSize : '
|
34
|
+
font-size: ${(props) => (props.fontSize ? props.fontSize : '18px')};
|
39
35
|
text-transform: ${(props) => (props.uppercase ? 'uppercase' : 'none')};
|
40
36
|
`
|
41
37
|
|
@@ -54,8 +50,7 @@ export default {
|
|
54
50
|
required: false
|
55
51
|
},
|
56
52
|
fontSize: {
|
57
|
-
required: false
|
58
|
-
default: '16px'
|
53
|
+
required: false
|
59
54
|
},
|
60
55
|
uppercase: {
|
61
56
|
required: false,
|
@@ -63,11 +58,11 @@ export default {
|
|
63
58
|
},
|
64
59
|
infoText: {
|
65
60
|
required: false,
|
66
|
-
default: null
|
61
|
+
default: null
|
67
62
|
},
|
68
63
|
infoAlign: {
|
69
|
-
required: false
|
64
|
+
required: false
|
70
65
|
}
|
71
|
-
}
|
66
|
+
}
|
72
67
|
}
|
73
68
|
</script>
|
@@ -81,8 +81,6 @@ const paginationWrapper = styled.nav`
|
|
81
81
|
flex-wrap: wrap;
|
82
82
|
justify-content: flex-end;
|
83
83
|
align-items: center;
|
84
|
-
margin-bottom: 2px;
|
85
|
-
margin-top: 10px;
|
86
84
|
`
|
87
85
|
const paginationLink = styled.div`
|
88
86
|
display: flex;
|
@@ -92,15 +90,18 @@ const paginationLink = styled.div`
|
|
92
90
|
border-radius: 3px;
|
93
91
|
white-space: nowrap;
|
94
92
|
cursor: pointer;
|
93
|
+
color: ${(props) => props.theme.colors.brightBlue};
|
95
94
|
|
96
95
|
&.active {
|
97
|
-
color:
|
96
|
+
color: ${(props) => props.theme.colors.white};
|
98
97
|
background-color: ${(props) => props.theme.colors.brightBlue};
|
99
98
|
padding: 7px 12px;
|
100
99
|
border-radius: 4px;
|
101
100
|
}
|
102
101
|
`
|
103
|
-
const arrowText = styled.div
|
102
|
+
const arrowText = styled.div`
|
103
|
+
color: ${(props) => props.theme.colors.brightBlue};
|
104
|
+
`
|
104
105
|
const arrowIconContainer = styled.div`
|
105
106
|
margin: 0 10px;
|
106
107
|
display: flex;
|
@@ -69,7 +69,7 @@
|
|
69
69
|
</template>
|
70
70
|
|
71
71
|
<script>
|
72
|
-
// import
|
72
|
+
// import ProjectMarker from "@eturnity/eturnity_reusable_components/src/components/projectMarker"
|
73
73
|
// To use:
|
74
74
|
// <project-marker
|
75
75
|
// :activeLanguage="'en-us'"
|
@@ -40,7 +40,12 @@
|
|
40
40
|
"
|
41
41
|
@click.stop="onSelectedTemplateClick(item.row)"
|
42
42
|
>
|
43
|
-
<img :src="fileIcon" alt="icon" width="12" height="16" />
|
43
|
+
<!-- <img :src="fileIcon" alt="icon" width="12" height="16" /> -->
|
44
|
+
<icon
|
45
|
+
name="template_icon_not_clickable"
|
46
|
+
:color="theme.colors.brightBlue"
|
47
|
+
size="14px"
|
48
|
+
/>
|
44
49
|
<div>{{ item.value }}</div>
|
45
50
|
</template-link>
|
46
51
|
<no-template v-if="item.type && item.type === 'no-template'">
|
@@ -178,6 +183,8 @@ import InputText from '../inputs/inputText'
|
|
178
183
|
import CollapseArrowIcon from '../../assets/icons/collapse_arrow_icon.svg'
|
179
184
|
import SubpositionMarkerIcon from '../../assets/icons/subposition_marker.svg'
|
180
185
|
import fileIconPng from '../../assets/icons/file_icon.png'
|
186
|
+
import Icon from '../icon'
|
187
|
+
import theme from '@/assets/theme.js'
|
181
188
|
|
182
189
|
const rowAttrs = { disabled: Boolean, isOpen: Boolean }
|
183
190
|
const DropdownRow = styled('div', rowAttrs)`
|
@@ -273,6 +280,7 @@ const ArrowWrapper = styled('div', arrowAttrs)`
|
|
273
280
|
const optionsAttrs = { top: Number, left: Number }
|
274
281
|
const OptionsContainer = styled('div', optionsAttrs)`
|
275
282
|
position: absolute;
|
283
|
+
margin-top: 10px;
|
276
284
|
display: grid;
|
277
285
|
grid-template-rows: 1fr auto;
|
278
286
|
left: 20px;
|
@@ -307,10 +315,6 @@ const OptionsWrapper = styled.div`
|
|
307
315
|
|
308
316
|
const OptionsItem = styled('div', containerAttrs)`
|
309
317
|
display: grid;
|
310
|
-
/* grid-template-columns: 1fr repeat(
|
311
|
-
${(props) => props.colSpan},
|
312
|
-
minmax(50px, auto)
|
313
|
-
); */
|
314
318
|
grid-template-columns: ${(props) => props.width};
|
315
319
|
grid-gap: 30px;
|
316
320
|
padding: 10px;
|
@@ -343,6 +347,7 @@ const TemplateButton = styled.div`
|
|
343
347
|
display: inline-block;
|
344
348
|
border-radius: 4px;
|
345
349
|
text-align: center;
|
350
|
+
margin-left: 15px;
|
346
351
|
`
|
347
352
|
|
348
353
|
const NoTemplate = styled.div`
|
@@ -350,14 +355,16 @@ const NoTemplate = styled.div`
|
|
350
355
|
font-style: italic;
|
351
356
|
overflow: hidden;
|
352
357
|
text-overflow: ellipsis;
|
358
|
+
padding-left: 15px;
|
353
359
|
`
|
354
360
|
|
355
361
|
const TemplateLink = styled.div`
|
356
|
-
color: ${(props) => props.theme.colors.
|
362
|
+
color: ${(props) => props.theme.colors.brightBlue};
|
357
363
|
cursor: pointer;
|
358
364
|
display: grid;
|
359
365
|
grid-template-columns: auto 1fr;
|
360
366
|
grid-gap: 12px;
|
367
|
+
padding-left: 15px;
|
361
368
|
`
|
362
369
|
|
363
370
|
const InputContainer = styled.div`
|
@@ -433,7 +440,8 @@ export default {
|
|
433
440
|
ArrowContainer,
|
434
441
|
TextContainer,
|
435
442
|
NestedIcon,
|
436
|
-
NestedContainer
|
443
|
+
NestedContainer,
|
444
|
+
Icon
|
437
445
|
},
|
438
446
|
props: {
|
439
447
|
colSpan: {
|
@@ -599,6 +607,9 @@ export default {
|
|
599
607
|
computed: {
|
600
608
|
getCustomName() {
|
601
609
|
return this.inputText
|
610
|
+
},
|
611
|
+
theme() {
|
612
|
+
return theme
|
602
613
|
}
|
603
614
|
},
|
604
615
|
watch: {
|