@eturnity/eturnity_reusable_components 7.12.7-EPDM-10602.2 → 7.12.7-EPDM-10335.0
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/.storybook/preview.js +1 -1
- package/package.json +19 -23
- package/src/App.vue +2 -2
- package/src/assets/svgIcons/split.svg +88 -6
- package/src/components/addNewButton/index.vue +5 -3
- package/src/components/buttons/buttonIcon/index.vue +1 -1
- package/src/components/buttons/closeButton/index.vue +1 -1
- package/src/components/buttons/mainButton/index.vue +6 -1
- package/src/components/deleteIcon/DeleteIcon.stories.js +7 -7
- package/src/components/deleteIcon/index.vue +25 -21
- package/src/components/draggableInputHandle/index.vue +24 -25
- package/src/components/dropdown/index.vue +129 -110
- package/src/components/errorMessage/index.vue +10 -5
- package/src/components/filter/filterSettings.vue +58 -97
- package/src/components/filter/index.vue +3 -3
- package/src/components/filter/parentDropdown.vue +2 -2
- package/src/components/icon/iconCache.js +23 -0
- package/src/components/icon/iconCollection.vue +2 -2
- package/src/components/icon/index.vue +67 -70
- package/src/components/iconWrapper/index.vue +1 -4
- package/src/components/infoCard/index.vue +2 -3
- package/src/components/infoText/index.vue +1 -1
- package/src/components/inputs/checkbox/index.vue +21 -6
- package/src/components/inputs/inputNumber/index.vue +8 -11
- package/src/components/inputs/inputNumberQuestion/index.vue +1 -1
- package/src/components/inputs/inputText/index.vue +3 -3
- package/src/components/inputs/radioButton/index.vue +1 -1
- package/src/components/inputs/searchInput/index.vue +28 -11
- package/src/components/inputs/select/index.vue +199 -55
- package/src/components/inputs/select/option/index.vue +36 -11
- package/src/components/inputs/slider/index.vue +16 -16
- package/src/components/inputs/switchField/index.vue +2 -2
- package/src/components/inputs/textAreaInput/index.vue +1 -1
- package/src/components/inputs/toggle/index.vue +2 -2
- package/src/components/label/index.vue +27 -31
- package/src/components/modals/modal/index.vue +2 -6
- package/src/components/navigationTabs/index.vue +27 -20
- package/src/components/pageSubtitle/index.vue +1 -1
- package/src/components/pageTitle/index.vue +4 -4
- package/src/components/pagination/index.vue +1 -1
- package/src/components/progressBar/index.vue +1 -1
- package/src/components/projectMarker/index.vue +16 -9
- package/src/components/sideMenu/index.vue +1 -1
- package/src/components/spinner/index.vue +7 -11
- package/src/components/tableDropdown/index.vue +30 -37
- package/src/components/tables/mainTable/exampleNested.vue +1 -1
- package/src/components/tables/mainTable/index.vue +10 -9
- package/src/components/tables/viewTable/index.vue +2 -2
- package/src/components/threeDots/index.vue +1 -1
- package/src/components/videoThumbnail/index.vue +95 -100
- package/src/main.js +4 -11
- package/src/assets/svgIcons/anchor.svg +0 -18
@@ -1,29 +1,25 @@
|
|
1
1
|
<template>
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
:alignArrow="infoTextAlign"
|
18
|
-
/>
|
19
|
-
</label-wrapper>
|
2
|
+
<label-wrapper :labelAlign="labelAlign">
|
3
|
+
<input-label :labelFontColor="labelFontColor" :fontSize="fontSize">
|
4
|
+
<slot></slot>
|
5
|
+
<optionalLabel v-if="labelOptional"
|
6
|
+
>({{ $gettext('Optional') }})</optionalLabel
|
7
|
+
></input-label
|
8
|
+
>
|
9
|
+
<info-text
|
10
|
+
v-if="infoTextMessage"
|
11
|
+
:text="infoTextMessage"
|
12
|
+
borderColor="#ccc"
|
13
|
+
:size="fontSize ? fontSize : '16px'"
|
14
|
+
:alignArrow="infoTextAlign"
|
15
|
+
/>
|
16
|
+
</label-wrapper>
|
20
17
|
</template>
|
21
18
|
|
22
19
|
<script>
|
23
|
-
import styled from '
|
20
|
+
import styled from 'vue3-styled-components'
|
24
21
|
import InfoText from '../infoText'
|
25
22
|
|
26
|
-
|
27
23
|
const labelAttrs = { fontSize: String, labelFontColor: String }
|
28
24
|
const InputLabel = styled('div', labelAttrs)`
|
29
25
|
color: ${(props) =>
|
@@ -40,15 +36,15 @@ const optionalLabel = styled.span`
|
|
40
36
|
font-weight: 300;
|
41
37
|
`
|
42
38
|
|
43
|
-
const LabelWrapper = styled('div',{labelAlign:String})`
|
44
|
-
${props=>
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
${props=>
|
49
|
-
|
50
|
-
|
51
|
-
|
39
|
+
const LabelWrapper = styled('div', { labelAlign: String })`
|
40
|
+
${(props) =>
|
41
|
+
props.labelAlign == 'horizontal'
|
42
|
+
? 'display: inline-grid;'
|
43
|
+
: 'display: grid;'}
|
44
|
+
${(props) =>
|
45
|
+
props.labelAlign == 'horizontal'
|
46
|
+
? 'margin-right: 10px;'
|
47
|
+
: 'margin-bottom: 8px;'}
|
52
48
|
vertical-align: center;
|
53
49
|
grid-template-columns: auto auto;
|
54
50
|
grid-gap: 12px;
|
@@ -97,7 +93,7 @@ export default {
|
|
97
93
|
labelAlign: {
|
98
94
|
required: false,
|
99
95
|
default: 'vertical'
|
100
|
-
}
|
101
|
-
}
|
96
|
+
}
|
97
|
+
}
|
102
98
|
}
|
103
99
|
</script>
|
@@ -10,11 +10,7 @@
|
|
10
10
|
<content-container :visible="!isLoading">
|
11
11
|
<slot />
|
12
12
|
</content-container>
|
13
|
-
<close-button
|
14
|
-
v-if="!hideClose"
|
15
|
-
@click.native="onCloseModal()"
|
16
|
-
class="close"
|
17
|
-
/>
|
13
|
+
<close-button v-if="!hideClose" @click="onCloseModal()" class="close" />
|
18
14
|
</modal-container>
|
19
15
|
</page-wrapper>
|
20
16
|
</template>
|
@@ -30,7 +26,7 @@
|
|
30
26
|
// <div>Data....</div>
|
31
27
|
// </modal>
|
32
28
|
|
33
|
-
import styled from '
|
29
|
+
import styled from 'vue3-styled-components'
|
34
30
|
import CloseButton from '../../buttons/closeButton'
|
35
31
|
import Spinner from '../../spinner'
|
36
32
|
|
@@ -22,7 +22,7 @@
|
|
22
22
|
</template>
|
23
23
|
|
24
24
|
<script>
|
25
|
-
import styled from '
|
25
|
+
import styled from 'vue3-styled-components'
|
26
26
|
import InfoText from '../infoText'
|
27
27
|
const TabAttr = {
|
28
28
|
active: Boolean,
|
@@ -31,12 +31,12 @@ const TabAttr = {
|
|
31
31
|
}
|
32
32
|
|
33
33
|
const bottomLine = styled('div')`
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
34
|
+
position: absolute;
|
35
|
+
bottom: 0;
|
36
|
+
left: 0;
|
37
|
+
height: 1px;
|
38
|
+
width: 100%;
|
39
|
+
background-color: ${(props) => props.theme.colors.grey3};
|
40
40
|
`
|
41
41
|
const roofTabWrap = styled('div')`
|
42
42
|
display: flex;
|
@@ -48,17 +48,22 @@ const roofTabWrap = styled('div')`
|
|
48
48
|
const Uppercase = styled('span')`
|
49
49
|
text-transform: uppercase;
|
50
50
|
`
|
51
|
-
const Option = styled('div',TabAttr)`
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
51
|
+
const Option = styled('div', TabAttr)`
|
52
|
+
font-size: 13px;
|
53
|
+
font-weight: 700;
|
54
|
+
display: flex;
|
55
|
+
justify-content: center;
|
56
|
+
flex-direction: row;
|
57
|
+
gap: 10px;
|
58
|
+
color: ${(props) =>
|
59
|
+
props.textColor
|
60
|
+
? props.theme.colors[props.textColor]
|
61
|
+
? props.theme.colors[props.textColor]
|
62
|
+
: props.textColor
|
63
|
+
: props.isDisabled
|
64
|
+
? props.theme.colors.grey2
|
65
|
+
: props.theme.colors.black};
|
66
|
+
`
|
62
67
|
const Tab = styled('div', TabAttr)`
|
63
68
|
padding: 16px 10px;
|
64
69
|
margin-right: 5px;
|
@@ -67,7 +72,8 @@ const Tab = styled('div', TabAttr)`
|
|
67
72
|
z-index: 10;
|
68
73
|
border-bottom: 2px solid
|
69
74
|
${(props) => (props.active ? props.theme.colors.primary : 'transparent')};
|
70
|
-
background-color: ${(props) =>
|
75
|
+
background-color: ${(props) =>
|
76
|
+
props.isDisabled ? props.theme.colors.grey5 : 'transparent'};
|
71
77
|
transition: 0.2s ease;
|
72
78
|
cursor: ${(props) => (props.isDisabled ? 'not-allowed' : 'pointer')};
|
73
79
|
min-width: 140px;
|
@@ -76,7 +82,8 @@ const Tab = styled('div', TabAttr)`
|
|
76
82
|
justify-content: space-between;
|
77
83
|
min-height: 55px;
|
78
84
|
&:hover {
|
79
|
-
border-color: ${(props) =>
|
85
|
+
border-color: ${(props) =>
|
86
|
+
props.isDisabled ? props.theme.colors.grey2 : props.theme.colors.primary};
|
80
87
|
}
|
81
88
|
`
|
82
89
|
|
@@ -18,7 +18,7 @@
|
|
18
18
|
// color="red"
|
19
19
|
// infoText="My info text"
|
20
20
|
// />
|
21
|
-
import styled from "
|
21
|
+
import styled from "vue3-styled-components"
|
22
22
|
import InfoText from "../infoText"
|
23
23
|
|
24
24
|
const textAttrs = { color: String, hasInfoText: Boolean, marginBottom: String }
|
@@ -18,7 +18,7 @@
|
|
18
18
|
// text="My Page Title"
|
19
19
|
// color="red"
|
20
20
|
// />
|
21
|
-
import styled from "
|
21
|
+
import styled from "vue3-styled-components"
|
22
22
|
import InfoText from "../infoText"
|
23
23
|
|
24
24
|
const wrapAttrs = { hasInfoText: Boolean }
|
@@ -40,7 +40,7 @@ const TitleText = styled('span', titleAttrs)`
|
|
40
40
|
`
|
41
41
|
|
42
42
|
export default {
|
43
|
-
name:
|
43
|
+
name: 'page-title',
|
44
44
|
components: {
|
45
45
|
TitleText,
|
46
46
|
TitleWrap,
|
@@ -48,10 +48,10 @@ export default {
|
|
48
48
|
},
|
49
49
|
props: {
|
50
50
|
text: {
|
51
|
-
required: true
|
51
|
+
required: true
|
52
52
|
},
|
53
53
|
color: {
|
54
|
-
required: false
|
54
|
+
required: false
|
55
55
|
},
|
56
56
|
fontSize: {
|
57
57
|
required: false,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<template>
|
2
2
|
<page-container>
|
3
3
|
<marker-container
|
4
|
-
v-if="markerData"
|
4
|
+
v-if="markerData && markerData.translations[activeLanguage]"
|
5
5
|
:hasBorderRadius="hasBorderRadius"
|
6
6
|
:withDate="!!date"
|
7
7
|
:backgroundColor="markerData.color"
|
@@ -9,7 +9,7 @@
|
|
9
9
|
:isEditionAllowed="editionAllowed"
|
10
10
|
:isActive="activated"
|
11
11
|
:cursor="cursor"
|
12
|
-
@click
|
12
|
+
@click="editionAllowed ? (activated = !activated) : ''"
|
13
13
|
>
|
14
14
|
<icon
|
15
15
|
v-if="!!iconName"
|
@@ -18,7 +18,11 @@
|
|
18
18
|
size="10px"
|
19
19
|
:cursor="cursor"
|
20
20
|
/>
|
21
|
-
<span>{{
|
21
|
+
<span>{{
|
22
|
+
markerData.translations[activeLanguage]
|
23
|
+
? markerData.translations[activeLanguage].name
|
24
|
+
: '-'
|
25
|
+
}}</span>
|
22
26
|
<dot-wrapper v-if="editionAllowed" class="dotContainer">
|
23
27
|
<dot-icon />
|
24
28
|
<dot-icon />
|
@@ -28,11 +32,11 @@
|
|
28
32
|
v-if="activated"
|
29
33
|
v-click-outside="clickOutsideActionHandler"
|
30
34
|
>
|
31
|
-
<edit-item @click
|
35
|
+
<edit-item @click="deleteModalOpened = !deleteModalOpened">
|
32
36
|
<delete-icon />
|
33
37
|
<div>{{ $gettext('Delete') }}</div>
|
34
38
|
</edit-item>
|
35
|
-
<edit-item @click
|
39
|
+
<edit-item @click="onEditClick">
|
36
40
|
<icon-container>
|
37
41
|
<icon name="edit_button" size="14px" />
|
38
42
|
</icon-container>
|
@@ -52,10 +56,10 @@
|
|
52
56
|
<page-title :text="$gettext('delete_confirm_text')" />
|
53
57
|
<page-subtitle :text="$gettext('delete_confirm_subtext')" />
|
54
58
|
<cta-container>
|
55
|
-
<main-button @click
|
59
|
+
<main-button @click="onDelete" :text="$gettext('Delete')" />
|
56
60
|
<main-button
|
57
61
|
type="cancel"
|
58
|
-
@click
|
62
|
+
@click="closeDeleteModal"
|
59
63
|
:text="$gettext('Cancel')"
|
60
64
|
/>
|
61
65
|
</cta-container>
|
@@ -78,7 +82,8 @@
|
|
78
82
|
// @deleteHandler="onMarkerDelete($event)"
|
79
83
|
// />
|
80
84
|
|
81
|
-
import styled from '
|
85
|
+
import styled from 'vue3-styled-components'
|
86
|
+
import vClickOutside from 'click-outside-vue3'
|
82
87
|
import Icon from '../icon'
|
83
88
|
import Modal from '../modals/modal'
|
84
89
|
import PageTitle from '../pageTitle'
|
@@ -129,7 +134,6 @@ const MarkerContainer = styled('div', MarkerAttrs)`
|
|
129
134
|
props.backgroundColor ? props.backgroundColor : props.theme.colors.grey3};
|
130
135
|
border-radius: ${(props) =>
|
131
136
|
props.hasBorderRadius ? (props.withDate ? '4px 0 0 4px' : '4px') : '0'};
|
132
|
-
|
133
137
|
white-space: nowrap;
|
134
138
|
cursor: ${(props) => (props.isEditionAllowed ? 'pointer' : props.cursor)};
|
135
139
|
|
@@ -196,6 +200,9 @@ const Date = styled.div`
|
|
196
200
|
|
197
201
|
export default {
|
198
202
|
name: 'project-marker',
|
203
|
+
directives: {
|
204
|
+
clickOutside: vClickOutside.directive
|
205
|
+
},
|
199
206
|
components: {
|
200
207
|
PageContainer,
|
201
208
|
MarkerContainer,
|
@@ -1,24 +1,19 @@
|
|
1
1
|
<template>
|
2
2
|
<spinner-container v-if="fullWidth">
|
3
3
|
<container>
|
4
|
-
<spinner-wrapper
|
5
|
-
:size="size"
|
6
|
-
:src="require('../../assets/icons/black_spinner.svg')"
|
7
|
-
/>
|
4
|
+
<spinner-wrapper :size="size" />
|
8
5
|
</container>
|
9
6
|
</spinner-container>
|
10
7
|
<container v-else :limitedToModal="limitedToModal">
|
11
|
-
<spinner-wrapper
|
12
|
-
:size="size"
|
13
|
-
:src="require('../../assets/icons/black_spinner.svg')"
|
14
|
-
/>
|
8
|
+
<spinner-wrapper :size="size" />
|
15
9
|
</container>
|
16
10
|
</template>
|
17
11
|
|
18
12
|
<script>
|
19
13
|
// import Spinner from "@eturnity/eturnity_reusable_components/src/components/spinner"
|
20
14
|
// <spinner size="30px" />
|
21
|
-
import styled from '
|
15
|
+
import styled from 'vue3-styled-components'
|
16
|
+
import SpinnerSvg from '../../assets/icons/black_spinner.svg?component'
|
22
17
|
|
23
18
|
const SpinnerContainer = styled.div`
|
24
19
|
position: fixed;
|
@@ -43,8 +38,9 @@ const Container = styled('div', containerAttrs)`
|
|
43
38
|
`
|
44
39
|
|
45
40
|
const spinnerAttrs = { size: String }
|
46
|
-
const SpinnerWrapper = styled(
|
41
|
+
const SpinnerWrapper = styled(SpinnerSvg, spinnerAttrs)`
|
47
42
|
width: ${(props) => (props.size ? props.size : '60px')};
|
43
|
+
height: auto;
|
48
44
|
`
|
49
45
|
|
50
46
|
export default {
|
@@ -69,4 +65,4 @@ export default {
|
|
69
65
|
}
|
70
66
|
}
|
71
67
|
}
|
72
|
-
</script>
|
68
|
+
</script>
|
@@ -53,7 +53,7 @@
|
|
53
53
|
</no-template>
|
54
54
|
<input-container
|
55
55
|
v-if="item.type === 'input'"
|
56
|
-
@click.
|
56
|
+
@click.stop="onInputClick()"
|
57
57
|
>
|
58
58
|
<text-container
|
59
59
|
v-if="customInputDisabled"
|
@@ -93,16 +93,11 @@
|
|
93
93
|
triggerType="hover"
|
94
94
|
></et-popover>
|
95
95
|
<arrow-down
|
96
|
-
@click.
|
96
|
+
@click.stop="toggleOpen"
|
97
97
|
v-if="!isOpen"
|
98
98
|
class="arrow-dropdown"
|
99
|
-
:src="require('../../assets/icons/collapse_arrow_icon.svg')"
|
100
|
-
/>
|
101
|
-
<arrow-up
|
102
|
-
@click.native.stop="toggleOpen"
|
103
|
-
v-else
|
104
|
-
:src="require('../../assets/icons/collapse_arrow_icon.svg')"
|
105
99
|
/>
|
100
|
+
<arrow-up @click.stop="toggleOpen" v-else />
|
106
101
|
</arrow-wrapper>
|
107
102
|
<options-container v-if="isOpen" ref="optionsContainer">
|
108
103
|
<options-wrapper @click.prevent.stop>
|
@@ -127,20 +122,18 @@
|
|
127
122
|
:key="index"
|
128
123
|
@click="onItemClick(item)"
|
129
124
|
:tabindex="0"
|
130
|
-
@keyup.enter
|
125
|
+
@keyup.enter="onItemClick(item)"
|
131
126
|
>
|
132
|
-
<template v-for="(option, idx) in optionsDisplay">
|
133
|
-
<span v-if="option !== 'template'"
|
127
|
+
<template v-for="(option, idx) in optionsDisplay" :key="idx">
|
128
|
+
<span v-if="option !== 'template'">
|
134
129
|
{{ !!item[option] ? item[option] : '-' }}
|
135
130
|
</span>
|
136
131
|
<template-button
|
137
|
-
:key="idx"
|
138
132
|
@click.stop="onTemplateClick(item)"
|
139
133
|
v-else-if="option === 'template' && item.has_template"
|
140
134
|
>{{ $gettext('Use template...') }}</template-button
|
141
135
|
>
|
142
136
|
<no-template
|
143
|
-
:key="idx"
|
144
137
|
v-else-if="option === 'template' && !item.has_template"
|
145
138
|
>
|
146
139
|
{{ $gettext('No main component template') }}
|
@@ -183,10 +176,12 @@
|
|
183
176
|
// :optionsDisplay="['display_name', 'company_item_number']" // Array. what should be displayed
|
184
177
|
// :disabled="true"
|
185
178
|
// />
|
186
|
-
import styled from '
|
187
|
-
import Spinner from '
|
188
|
-
import SearchInput from '
|
189
|
-
import InputText from '
|
179
|
+
import styled from 'vue3-styled-components'
|
180
|
+
import Spinner from '../spinner'
|
181
|
+
import SearchInput from '../inputs/searchInput'
|
182
|
+
import InputText from '../inputs/inputText'
|
183
|
+
import CollapseArrowIcon from '../../assets/icons/collapse_arrow_icon.svg'
|
184
|
+
import SubpositionMarkerIcon from '../../assets/icons/subposition_marker.svg'
|
190
185
|
|
191
186
|
const rowAttrs = { disabled: Boolean, isOpen: Boolean }
|
192
187
|
const DropdownRow = styled('div', rowAttrs)`
|
@@ -237,9 +232,8 @@ const ComponentContainer = styled('div', containerAttrs)`
|
|
237
232
|
padding: 5px 4px;
|
238
233
|
`
|
239
234
|
|
240
|
-
const ArrowDown = styled
|
235
|
+
const ArrowDown = styled(CollapseArrowIcon)`
|
241
236
|
width: 8px;
|
242
|
-
transform: rotate(0deg);
|
243
237
|
transition: transform 150ms ease;
|
244
238
|
`
|
245
239
|
|
@@ -403,9 +397,7 @@ const TextContainer = styled.div`
|
|
403
397
|
align-items: center;
|
404
398
|
`
|
405
399
|
|
406
|
-
const NestedIcon = styled
|
407
|
-
background-image: ${() =>
|
408
|
-
`url(${require('../../assets/icons/subposition_marker.svg')})`};
|
400
|
+
const NestedIcon = styled(SubpositionMarkerIcon)`
|
409
401
|
height: 10px;
|
410
402
|
width: 6px;
|
411
403
|
`
|
@@ -583,30 +575,28 @@ export default {
|
|
583
575
|
},
|
584
576
|
setDropdownWidth(options) {
|
585
577
|
this.dynamicWidth = []
|
586
|
-
|
587
|
-
|
578
|
+
|
579
|
+
options.forEach((item) => {
|
580
|
+
this.optionsDisplay.forEach((header, index) => {
|
588
581
|
let value =
|
589
582
|
header === 'template'
|
590
583
|
? this.$gettext('No main component template')
|
591
584
|
: item[header]
|
592
|
-
|
593
585
|
value = value ? value : ''
|
594
586
|
|
587
|
+
// Update dynamicWidth with the maximum value
|
595
588
|
if (
|
596
|
-
this.
|
597
|
-
|
598
|
-
value.length > this.dynamicWidth[index])
|
589
|
+
!this.dynamicWidth[index] ||
|
590
|
+
value.length > this.dynamicWidth[index]
|
599
591
|
) {
|
600
|
-
if (Array.isArray(this.dynamicGridWidth)) {
|
601
|
-
this.dynamicGridWidth[index] = value.length + 'ch'
|
602
|
-
}
|
603
592
|
this.dynamicWidth[index] = value.length
|
604
593
|
}
|
605
594
|
})
|
606
595
|
})
|
607
|
-
|
608
|
-
|
609
|
-
|
596
|
+
|
597
|
+
this.dynamicGridWidth = this.dynamicWidth
|
598
|
+
.map((width) => width + 'ch')
|
599
|
+
.join(' ')
|
610
600
|
}
|
611
601
|
},
|
612
602
|
computed: {
|
@@ -627,9 +617,12 @@ export default {
|
|
627
617
|
})
|
628
618
|
}
|
629
619
|
},
|
630
|
-
optionItems
|
631
|
-
|
632
|
-
|
620
|
+
optionItems: {
|
621
|
+
immediate: true,
|
622
|
+
handler(val) {
|
623
|
+
if (val && val.length) {
|
624
|
+
this.setDropdownWidth(val)
|
625
|
+
}
|
633
626
|
}
|
634
627
|
}
|
635
628
|
}
|
@@ -161,7 +161,7 @@
|
|
161
161
|
|
162
162
|
<script>
|
163
163
|
import draggable from "vuedraggable"
|
164
|
-
import styled from "
|
164
|
+
import styled from "vue3-styled-components"
|
165
165
|
import MainTable from "@/components/reusable-components/tables/MainTable"
|
166
166
|
import InputText from "@eturnity/eturnity_reusable_components/src/components/inputs/inputText"
|
167
167
|
import DeleteIcon from "@/components/reusable-components/DeleteIcon"
|
@@ -29,8 +29,12 @@
|
|
29
29
|
<script>
|
30
30
|
// ToDo: add this to storybook
|
31
31
|
// import MainTable from "@eturnity/eturnity_reusable_components/src/components/tables/mainTable"
|
32
|
-
import styled from '
|
32
|
+
import styled from 'vue3-styled-components'
|
33
33
|
import Spinner from '../../spinner'
|
34
|
+
import dragIconSvg from '../../../assets/icons/drag_icon.svg?url'
|
35
|
+
import subpositionIconSvg from '../../../assets/icons/subposition_icon.svg?url'
|
36
|
+
import arrowDownSvg from '../../../assets/icons/arrow_down.svg?url'
|
37
|
+
import arrowUpRedSvg from '../../../assets/icons/arrow_up_red.svg?url'
|
34
38
|
|
35
39
|
const pageContainerProps = {
|
36
40
|
tableHeight: String,
|
@@ -122,6 +126,7 @@ const TableContainer = styled('table', containerAttrs)`
|
|
122
126
|
background-color: ${(props) => props.theme.colors.white};
|
123
127
|
cursor: ${(props) => (props.tableCursor ? props.tableCursor : 'auto')};
|
124
128
|
|
129
|
+
.select-button,
|
125
130
|
.arrow-container,
|
126
131
|
.input-placeholder,
|
127
132
|
.table-dropdown-item {
|
@@ -322,8 +327,7 @@ const TableContainer = styled('table', containerAttrs)`
|
|
322
327
|
height: 16px;
|
323
328
|
cursor: grab;
|
324
329
|
background-position: center;
|
325
|
-
background-image: ${() =>
|
326
|
-
`url(${require('../../../assets/icons/drag_icon.svg')})`};
|
330
|
+
background-image: ${() => `url(${dragIconSvg})`};
|
327
331
|
|
328
332
|
&:active {
|
329
333
|
cursor: grabbing;
|
@@ -335,8 +339,7 @@ const TableContainer = styled('table', containerAttrs)`
|
|
335
339
|
height: 11px;
|
336
340
|
background: no-repeat;
|
337
341
|
margin-left: 10px;
|
338
|
-
background-image: ${() =>
|
339
|
-
`url(${require('../../../assets/icons/subposition_icon.svg')})`};
|
342
|
+
background-image: ${() => `url(${subpositionIconSvg})`};
|
340
343
|
}
|
341
344
|
|
342
345
|
.arrow-down {
|
@@ -344,8 +347,7 @@ const TableContainer = styled('table', containerAttrs)`
|
|
344
347
|
height: 11px;
|
345
348
|
background: no-repeat;
|
346
349
|
background-position: center;
|
347
|
-
background-image: ${() =>
|
348
|
-
`url(${require('../../../assets/icons/arrow_down.svg')})`};
|
350
|
+
background-image: ${() => `url(${arrowDownSvg})`};
|
349
351
|
}
|
350
352
|
|
351
353
|
.arrow-up {
|
@@ -353,8 +355,7 @@ const TableContainer = styled('table', containerAttrs)`
|
|
353
355
|
height: 11px;
|
354
356
|
background: no-repeat;
|
355
357
|
background-position: center;
|
356
|
-
background-image: ${() =>
|
357
|
-
`url(${require('../../../assets/icons/arrow_up_red.svg')})`};
|
358
|
+
background-image: ${() => `url(${arrowUpRedSvg})`};
|
358
359
|
}
|
359
360
|
}
|
360
361
|
|
@@ -29,7 +29,7 @@
|
|
29
29
|
</table-item>
|
30
30
|
<icons-container v-if="showIconsContainer">
|
31
31
|
<delete-icon
|
32
|
-
@click
|
32
|
+
@click="$emit('on-click-delete', index)"
|
33
33
|
color="gray"
|
34
34
|
/>
|
35
35
|
</icons-container>
|
@@ -45,7 +45,7 @@
|
|
45
45
|
// This is a read only table. Pass it data, and it displays it
|
46
46
|
// ToDo: add this to storybook
|
47
47
|
// import ViewTable from "@eturnity/eturnity_reusable_components/src/components/tables/viewTable"
|
48
|
-
import styled from '
|
48
|
+
import styled from 'vue3-styled-components'
|
49
49
|
import DeleteIcon from '../../deleteIcon'
|
50
50
|
import Spinner from '../../spinner'
|
51
51
|
|