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