@eturnity/eturnity_reusable_components 7.16.0-qa-dev03.2 → 7.18.0--EPDM-5518.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eturnity/eturnity_reusable_components",
3
- "version": "7.16.0-qa-dev03.2",
3
+ "version": "7.18.0--EPDM-5518.4",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
@@ -0,0 +1,44 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{display:none;}
7
+ .st1{display:inline;}
8
+ .st2{fill:#FFFFFF;}
9
+ </style>
10
+ <g class="st0">
11
+ <g class="st1">
12
+ <rect x="-312.013" y="-258.339" class="st2" width="2" height="16"/>
13
+ </g>
14
+ <g class="st1">
15
+ <polygon class="st2" points="-303.346,-242.339 -303.346,-248.339 -312.013,-248.426 -312.013,-242.339 "/>
16
+ </g>
17
+ <g class="st1">
18
+ <rect x="-311.673" y="-258.339" class="st2" width="8" height="2"/>
19
+ </g>
20
+ <g class="st1">
21
+ <path class="st2" d="M-294.833-255.839v-2.5h-7v2.5c0,1.933,1.567,3.5,3.5,3.5l0,0
22
+ C-296.4-252.339-294.833-253.906-294.833-255.839z"/>
23
+ </g>
24
+ <g class="st1">
25
+ <rect x="-305.346" y="-258.339" class="st2" width="2" height="16"/>
26
+ </g>
27
+ <g class="st1">
28
+ <rect x="-299.333" y="-258.339" class="st2" width="2" height="12"/>
29
+ </g>
30
+ <g class="st1">
31
+ <rect x="-303.346" y="-248.339" class="st2" width="6" height="2"/>
32
+ </g>
33
+ <g class="st1">
34
+ <rect x="-301.346" y="-260.339" class="st2" width="2" height="2"/>
35
+ </g>
36
+ <g class="st1">
37
+ <rect x="-297.346" y="-260.339" class="st2" width="2" height="2"/>
38
+ </g>
39
+ </g>
40
+ <g>
41
+ <path class="st2" d="M15.777,8.974h3v-2h-3V6h-1c-1.857,0-3.404,1.272-3.855,2.987H8.889V3V1h-2H3.223h-2v2v14v2h2h5.667v-1v-1
42
+ v-6.013h2.025C11.356,12.716,12.911,14,14.777,14h1v-1.026h3v-2h-3V8.987V8.974z M6.889,17H3.223V3h3.667v5.987v2V17z"/>
43
+ </g>
44
+ </svg>
@@ -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,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <!-- Creator: CorelDRAW 2021 (64-Bit) -->
4
+ <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="462px" height="512px" version="1.1" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd"
5
+ viewBox="0 0 462 511.93"
6
+ xmlns:xlink="http://www.w3.org/1999/xlink"
7
+ xmlns:xodm="http://www.corel.com/coreldraw/odm/2003">
8
+ <g id="Layer_x0020_1">
9
+ <metadata id="CorelCorpID_0Corel-Layer"/>
10
+ <path fill="white" d="M22.37 0l417.26 0c12.31,0 22.37,10.06 22.37,22.37l0 400.73c0,12.3 -10.06,22.37 -22.37,22.37l-32.27 0 0 19.01c0,6.2 -5.06,11.27 -11.26,11.27l-25.1 0 0 32.03c0,2.28 -1.87,4.15 -4.15,4.15l-32.33 0c-4.56,0 -8.29,-3.73 -8.29,-8.29l0 -27.89 -33.43 0 0 32.03c0,2.28 -1.86,4.15 -4.14,4.15l-32.34 0c-4.56,0 -8.28,-3.73 -8.28,-8.29l0 -27.89 -33.43 0 0 32.03c0,2.28 -1.86,4.15 -4.14,4.15l-32.34 0c-4.56,0 -8.28,-3.73 -8.28,-8.29l0 -27.89 -33.43 0 0 32.03c0,2.28 -1.86,4.15 -4.14,4.15l-32.34 0c-4.56,0 -8.28,-3.73 -8.28,-8.29l0 -27.89 -25.76 0c-6.2,0 -11.26,-5.07 -11.26,-11.27l0 -19.01 -32.27 0c-12.31,0 -22.37,-10.07 -22.37,-22.37l0 -400.73c0,-12.31 10.06,-22.37 22.37,-22.37zm61.36 103.62l294.54 0c3.34,0 6.38,1.38 8.57,3.57 2.19,2.19 3.56,5.23 3.56,8.57l0 53.77c0,3.33 -1.37,6.37 -3.56,8.56 -2.2,2.2 -5.23,3.57 -8.57,3.57l-294.54 0c-3.34,0 -6.38,-1.37 -8.57,-3.57 -2.19,-2.19 -3.56,-5.23 -3.56,-8.56l0 -53.77c0,-3.34 1.36,-6.37 3.56,-8.57 2.2,-2.21 5.23,-3.57 8.57,-3.57zm159 210.98l15.79 0c2.29,0.01 4.15,1.87 4.15,4.16 0,0.83 -0.25,1.63 -0.7,2.32l-37.64 64.27c-0.75,1.23 -2.09,1.98 -3.53,1.98 -2.29,0 -4.15,-1.86 -4.15,-4.14 0,-0.28 0.02,-0.55 0.08,-0.81l5.55 -39.45 -18.73 0.32c-0.02,0 -0.05,0 -0.08,0 -2.25,0 -4.09,-1.81 -4.13,-4.06 0,-0.01 0,-0.01 0,-0.02 0,-0.75 0.2,-1.5 0.58,-2.15l37.06 -64.26c0.75,-1.24 2.1,-2 3.55,-2 2.29,0 4.15,1.85 4.15,4.15 0,0.18 -0.02,0.36 -0.04,0.54l-1.91 39.15zm151.34 -255.93c5.79,0 10.49,4.95 10.49,11.06 0,6.1 -4.7,11.05 -10.49,11.05 -5.8,0 -10.5,-4.95 -10.5,-11.05 0,-6.11 4.7,-11.06 10.5,-11.06zm-326.13 0c5.8,0 10.5,4.95 10.5,11.06 0,6.1 -4.7,11.05 -10.5,11.05 -5.8,0 -10.5,-4.95 -10.5,-11.05 0,-6.11 4.7,-11.06 10.5,-11.06zm0 307.96c5.8,0 10.5,4.96 10.5,11.06 0,6.11 -4.7,11.06 -10.5,11.06 -5.8,0 -10.5,-4.95 -10.5,-11.06 0,-6.1 4.7,-11.06 10.5,-11.06zm326.13 0c5.79,0 10.49,4.96 10.49,11.06 0,6.11 -4.7,11.06 -10.49,11.06 -5.8,0 -10.5,-4.95 -10.5,-11.06 0,-6.1 4.7,-11.06 10.5,-11.06zm-38.94 -206.03c-3.07,0 -5.53,-0.96 -7.39,-2.88 -1.85,-1.92 -2.77,-4.45 -2.77,-7.59l0 -14.98c0,-3.15 0.92,-5.67 2.77,-7.59 1.86,-1.92 4.32,-2.88 7.39,-2.88 3.08,0 5.55,0.96 7.4,2.88 1.85,1.92 2.78,4.44 2.78,7.59l0 14.98c0,3.14 -0.93,5.67 -2.78,7.59 -1.85,1.92 -4.32,2.88 -7.4,2.88zm0 -7.1c0.6,0 1.08,-0.26 1.42,-0.79 0.35,-0.53 0.52,-1.22 0.52,-2.08l0 -15.98c0,-0.86 -0.17,-1.56 -0.52,-2.09 -0.34,-0.52 -0.82,-0.79 -1.42,-0.79 -0.59,0 -1.06,0.27 -1.41,0.79 -0.34,0.53 -0.52,1.23 -0.52,2.09l0 15.98c0,0.86 0.18,1.55 0.52,2.08 0.35,0.53 0.82,0.79 1.41,0.79zm-61.12 7.1c-3.07,0 -5.54,-0.96 -7.39,-2.88 -1.85,-1.92 -2.78,-4.45 -2.78,-7.59l0 -14.98c0,-3.15 0.93,-5.67 2.78,-7.59 1.85,-1.92 4.32,-2.88 7.39,-2.88 3.08,0 5.55,0.96 7.4,2.88 1.85,1.92 2.77,4.44 2.77,7.59l0 14.98c0,3.14 -0.92,5.67 -2.77,7.59 -1.85,1.92 -4.32,2.88 -7.4,2.88zm0 -7.1c0.6,0 1.07,-0.26 1.42,-0.79 0.35,-0.53 0.52,-1.22 0.52,-2.08l0 -15.98c0,-0.86 -0.17,-1.56 -0.52,-2.09 -0.35,-0.52 -0.82,-0.79 -1.42,-0.79 -0.59,0 -1.07,0.27 -1.41,0.79 -0.35,0.53 -0.52,1.23 -0.52,2.09l0 15.98c0,0.86 0.17,1.55 0.52,2.08 0.34,0.53 0.82,0.79 1.41,0.79zm-63.81 7.1c-3.07,0 -5.54,-0.96 -7.39,-2.88 -1.85,-1.92 -2.77,-4.45 -2.77,-7.59l0 -14.98c0,-3.15 0.92,-5.67 2.77,-7.59 1.85,-1.92 4.32,-2.88 7.39,-2.88 3.08,0 5.54,0.96 7.4,2.88 1.85,1.92 2.77,4.44 2.77,7.59l0 14.98c0,3.14 -0.92,5.67 -2.77,7.59 -1.86,1.92 -4.32,2.88 -7.4,2.88zm0 -7.1c0.6,0 1.07,-0.26 1.42,-0.79 0.35,-0.53 0.52,-1.22 0.52,-2.08l0 -15.98c0,-0.86 -0.17,-1.56 -0.52,-2.09 -0.35,-0.52 -0.82,-0.79 -1.42,-0.79 -0.59,0 -1.06,0.27 -1.41,0.79 -0.35,0.53 -0.52,1.23 -0.52,2.09l0 15.98c0,0.86 0.17,1.55 0.52,2.08 0.35,0.53 0.82,0.79 1.41,0.79zm-61.33 7.1c-3.07,0 -5.54,-0.96 -7.39,-2.88 -1.85,-1.92 -2.77,-4.45 -2.77,-7.59l0 -14.98c0,-3.15 0.92,-5.67 2.77,-7.59 1.85,-1.92 4.32,-2.88 7.39,-2.88 3.08,0 5.55,0.96 7.4,2.88 1.85,1.92 2.77,4.44 2.77,7.59l0 14.98c0,3.14 -0.92,5.67 -2.77,7.59 -1.85,1.92 -4.32,2.88 -7.4,2.88zm0 -7.1c0.6,0 1.07,-0.26 1.42,-0.79 0.35,-0.53 0.52,-1.22 0.52,-2.08l0 -15.98c0,-0.86 -0.17,-1.56 -0.52,-2.09 -0.35,-0.52 -0.82,-0.79 -1.42,-0.79 -0.59,0 -1.06,0.27 -1.41,0.79 -0.35,0.53 -0.52,1.23 -0.52,2.09l0 15.98c0,0.86 0.17,1.55 0.52,2.08 0.35,0.53 0.82,0.79 1.41,0.79zm-61.16 7.1c-3.08,0 -5.54,-0.96 -7.39,-2.88 -1.85,-1.92 -2.78,-4.45 -2.78,-7.59l0 -14.98c0,-3.15 0.93,-5.67 2.78,-7.59 1.85,-1.92 4.31,-2.88 7.39,-2.88 3.07,0 5.54,0.96 7.39,2.88 1.85,1.92 2.78,4.44 2.78,7.59l0 14.98c0,3.14 -0.93,5.67 -2.78,7.59 -1.85,1.92 -4.32,2.88 -7.39,2.88zm0 -7.1c0.6,0 1.07,-0.26 1.41,-0.79 0.35,-0.53 0.53,-1.22 0.53,-2.08l0 -15.98c0,-0.86 -0.18,-1.56 -0.53,-2.09 -0.34,-0.52 -0.81,-0.79 -1.41,-0.79 -0.6,0 -1.07,0.27 -1.41,0.79 -0.35,0.53 -0.52,1.23 -0.52,2.09l0 15.98c0,0.86 0.17,1.55 0.52,2.08 0.34,0.53 0.81,0.79 1.41,0.79zm58.85 102.29c-4.25,0 -7.69,-3.45 -7.69,-7.69 0,-4.24 3.44,-7.68 7.69,-7.68l128.88 0c4.25,0 7.69,3.44 7.69,7.68 0,4.24 -3.44,7.69 -7.69,7.69l-128.88 0zm-50.58 -38.85c-4.24,0 -7.69,-3.44 -7.69,-7.68 0,-4.24 3.45,-7.69 7.69,-7.69l230.04 0c4.24,0 7.68,3.45 7.68,7.69 0,4.24 -3.44,7.68 -7.68,7.68l-230.04 0zm212.57 -103.71l0 58.82 49.72 0c0.69,0 1.32,-0.29 1.78,-0.75 0.46,-0.45 0.75,-1.09 0.75,-1.77l0 -53.77c0,-0.69 -0.29,-1.33 -0.75,-1.79 -0.45,-0.45 -1.09,-0.74 -1.78,-0.74l-49.72 0zm-9.61 58.82l0 -58.82 -52.26 0 0 58.82 52.26 0zm-61.87 0l0 -58.82 -52.14 0 0 58.82 52.14 0zm-61.75 0l0 -58.82 -52.3 0 0 58.82 52.3 0zm-61.91 0l0 -58.82 -49.68 0c-0.7,0 -1.33,0.29 -1.79,0.74 -0.45,0.46 -0.74,1.09 -0.74,1.79l0 53.77c0,0.69 0.29,1.32 0.74,1.77 0.46,0.46 1.1,0.75 1.79,0.75l49.68 0zm-74.08 -133.14l343.34 0c12.31,0 22.37,10.07 22.37,22.37l0 324.85c0,12.3 -10.07,22.37 -22.37,22.37l-343.34 0c-12.3,0 -22.37,-10.06 -22.37,-22.37l0 -324.85c0,-12.31 10.06,-22.37 22.37,-22.37z"/>
11
+ </g>
12
+ </svg>
@@ -1,12 +1,94 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
1
4
  <svg
5
+ version="1.1"
6
+ id="svg438"
2
7
  width="838"
3
8
  height="833"
4
9
  viewBox="0 0 838 833"
10
+ sodipodi:docname="split.svg"
11
+ inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
5
14
  xmlns="http://www.w3.org/2000/svg"
6
- >
7
-
8
- <path
9
- fill="#B2B9C5"
10
- d="m -5.0875843,441.73292 3.3936693,-93.74987 847.237645,-2.85667 -3.71049,95.94711 z m 333.6519143,232.4369 -98.27777,-105.35245 43.34233,-0.60608 c 23.83828,-0.33335 56.95483,-0.67085 73.59233,-0.75 l 30.25,-0.14392 L 376,413.05958 374.48738,213.61969 301.67731,213.3632 228.86724,213.10671 326.58798,107.77384 C 380.33439,49.84076 424.5019,2.3657611 424.73801,2.2738411 425.25724,2.0716911 628.96623,212.59506 628.96623,213.35636 c 0,0.29424 -41.55385,0.25035 -81.97885,0.25035 h -73.5 L 475,413.0466 l 1.47122,154.25779 72.81196,0.25649 72.81196,0.25649 -91.89971,99.5 -103.35334,112.2049 z"
11
- />
15
+ xmlns:svg="http://www.w3.org/2000/svg">
16
+ <defs
17
+ id="defs442">
18
+ <linearGradient
19
+ id="linearGradient7383"
20
+ inkscape:swatch="solid">
21
+ <stop
22
+ style="stop-color:#ffffff;stop-opacity:1;"
23
+ offset="0"
24
+ id="stop7381" />
25
+ </linearGradient>
26
+ <linearGradient
27
+ id="linearGradient6933"
28
+ inkscape:swatch="solid">
29
+ <stop
30
+ style="stop-color:#000000;stop-opacity:1;"
31
+ offset="0"
32
+ id="stop6931" />
33
+ </linearGradient>
34
+ </defs>
35
+ <sodipodi:namedview
36
+ id="namedview440"
37
+ pagecolor="#ffffff"
38
+ bordercolor="#666666"
39
+ borderopacity="1.0"
40
+ inkscape:pageshadow="2"
41
+ inkscape:pageopacity="0.0"
42
+ inkscape:pagecheckerboard="0"
43
+ showgrid="false"
44
+ inkscape:zoom="0.95078031"
45
+ inkscape:cx="466.45896"
46
+ inkscape:cy="549.02273"
47
+ inkscape:window-width="1920"
48
+ inkscape:window-height="1007"
49
+ inkscape:window-x="0"
50
+ inkscape:window-y="0"
51
+ inkscape:window-maximized="1"
52
+ inkscape:current-layer="g444" />
53
+ <g
54
+ inkscape:groupmode="layer"
55
+ inkscape:label="Image"
56
+ id="g444">
57
+ <circle
58
+ id="path5141"
59
+ style="fill:none;stroke:#fffeff;stroke-opacity:1"
60
+ cx="0.66903824"
61
+ cy="263.65976"
62
+ r="0.52949077" />
63
+ <circle
64
+ id="path5143"
65
+ style="fill:none;stroke:#fffeff;stroke-opacity:1"
66
+ cx="0.66903824"
67
+ cy="263.65976"
68
+ r="0.52949077" />
69
+ <g
70
+ id="path5184"
71
+ style="stroke:#fffeff;stroke-opacity:1;fill:none">
72
+ <path
73
+ style="color:#000000;fill:none;stroke-width:154.42;-inkscape-stroke:none;stroke:#fffeff;stroke-opacity:1"
74
+ d="m -156.35359,113.32885 348.76355,221.92361 744.6236,-498.85799"
75
+ id="path6861" />
76
+ <path
77
+ style="color:#000000;fill:none;-inkscape-stroke:none;stroke:#fffeff;stroke-opacity:1"
78
+ d="M 894.06055,-227.75 191.32227,243.04492 -114.9043,48.1875 -197.80273,178.46875 193.49609,427.45898 980.00781,-99.460937 Z"
79
+ id="path6863" />
80
+ </g>
81
+ <g
82
+ id="path5186"
83
+ style="stroke:#fffeff;stroke-opacity:1;fill:none">
84
+ <path
85
+ style="color:#000000;fill:none;stroke-width:166.34;-inkscape-stroke:none;stroke:#fffeff;stroke-opacity:1"
86
+ d="M 816.06617,905.68984 357.97591,628.01443 1035.7943,176.14788"
87
+ id="path6855" />
88
+ <path
89
+ style="color:#000000;fill:none;-inkscape-stroke:none;stroke:#fffeff;stroke-opacity:1"
90
+ d="M 989.66016,106.94531 203.03125,631.34961 772.95312,976.81445 859.17773,834.56641 512.91992,624.67773 1081.9277,245.34961 Z"
91
+ id="path6857" />
92
+ </g>
93
+ </g>
12
94
  </svg>
@@ -0,0 +1,95 @@
1
+ <template>
2
+ <Wrapper
3
+ v-show="!isLoading"
4
+ :class="viewCardClass"
5
+ :width="width"
6
+ :minWidth="minWidth"
7
+ >
8
+ <Spinner v-if="isLoading" size="50px" :limitedToModal="true" />
9
+ <CardWrapper v-else>
10
+ <CardTitle :class="titleClass" >
11
+ {{ $gettext(title) }}
12
+ <et-popover
13
+ v-if="showPopover && popoverText !== ''"
14
+ :text="popoverText"
15
+ ></et-popover>
16
+ </CardTitle>
17
+ <slot></slot>
18
+ </CardWrapper>
19
+ </Wrapper>
20
+ </template>
21
+
22
+ <script>
23
+ import styled from 'vue-styled-components'
24
+ import Spinner from '../spinner'
25
+
26
+ const WrapperProps = { width: [Number, String], minWidth: [Number, String] }
27
+ const Wrapper = styled('div', WrapperProps)`
28
+ max-width: ${(props) => props.width};
29
+ min-width: ${(props) => props.minWidth};
30
+ padding: 20px;
31
+ box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
32
+ border-radius: 4px;
33
+ background-color: ${props => props.theme.colors.white};
34
+ height: 100%;
35
+ `
36
+
37
+ const CardWrapper = styled('div')`
38
+ height: 100%;
39
+ width: auto;
40
+ `
41
+
42
+ const CardTitle = styled('p')`
43
+ font-size: 14px;
44
+ line-height: 1;
45
+ color: ${props => props.theme.colors.black};
46
+ font-weight: 700;
47
+ margin-bottom: 10px;
48
+ `
49
+
50
+ export default {
51
+ name: 'Card',
52
+ props: {
53
+ title: {
54
+ type: String,
55
+ default: ''
56
+ },
57
+ width: {
58
+ type: [Number, String],
59
+ required: false,
60
+ default: '400px'
61
+ },
62
+ minWidth: {
63
+ type: [Number, String],
64
+ required: false,
65
+ default: null
66
+ },
67
+ titleClass: {
68
+ type: String,
69
+ default: ''
70
+ },
71
+ showPopover: {
72
+ type: Boolean,
73
+ default: false
74
+ },
75
+ viewCardClass: {
76
+ type: String,
77
+ default: ''
78
+ },
79
+ popoverText: {
80
+ type: String,
81
+ default: ''
82
+ },
83
+ isLoading: {
84
+ type: Boolean,
85
+ default: false
86
+ }
87
+ },
88
+ components: {
89
+ Spinner,
90
+ Wrapper,
91
+ CardTitle,
92
+ CardWrapper,
93
+ }
94
+ }
95
+ </script>
@@ -261,6 +261,12 @@
261
261
  :text="buttonText.cancel"
262
262
  @click.native="$emit('on-cancel-view')"
263
263
  />
264
+ <reset-container v-if="!filterViews || !filterViews.length">
265
+ <reset-button @click="$emit('on-reset-filters')">
266
+ <icon :name="'update'" size="14px" :color="theme.colors.blue" />
267
+ <div>{{ $gettext('reset_filters') }}</div>
268
+ </reset-button>
269
+ </reset-container>
264
270
  </button-container>
265
271
  </container-wrapper>
266
272
  </template>
@@ -328,6 +334,16 @@ const ButtonContainer = styled.div`
328
334
  padding: 15px;
329
335
  `
330
336
 
337
+ const ResetContainer = styled.div`
338
+ display: grid;
339
+ align-content: center;
340
+ margin-left: auto;
341
+ div {
342
+ margin-top: 0;
343
+ align-self: center;
344
+ }
345
+ `
346
+
331
347
  const ColumnContainer = styled.div``
332
348
 
333
349
  const DragContainer = styled.div`
@@ -493,7 +509,8 @@ export default {
493
509
  ViewContainer,
494
510
  DeleteIcon,
495
511
  UpperContainer,
496
- ResetButton
512
+ ResetButton,
513
+ ResetContainer
497
514
  },
498
515
  props: {
499
516
  filterData: {
@@ -5,6 +5,7 @@
5
5
  :size="size"
6
6
  :color="color"
7
7
  :hoveredColor="hoveredColor"
8
+ :backgroundColor="backgroundColor"
8
9
  v-html="
9
10
  require(`!html-loader!./../../assets/svgIcons/${name.toLowerCase()}.svg`)
10
11
  "
@@ -40,6 +41,7 @@ const Wrapper = styled('div', wrapperAttrs)`
40
41
  cursor: ${(props) => (props.isDisabled ? 'not-allowed' : props.cursor)};
41
42
  line-height: 0;
42
43
  `
44
+
43
45
  const strikedAttrs = { isDisabled: Boolean, color: String, hoveredColor: String }
44
46
  const strikedLine = styled('div', strikedAttrs)`
45
47
  display: flex;
@@ -56,12 +58,14 @@ const strikedLine = styled('div', strikedAttrs)`
56
58
  transform-origin: 0% 100%;
57
59
  transform: rotate(-45deg);
58
60
  `
59
- const IconImageProps = { color: String, hoveredColor: String, size: String }
61
+ const IconImageProps = { color: String, hoveredColor: String, size: String, backgroundColor: String}
60
62
  const IconImage = styled('div', IconImageProps)`
61
63
  width: 100%;
62
64
  svg {
63
65
  width: 100%;
64
66
  height: 100%;
67
+ background-color: ${(props) => props.backgroundColor};
68
+ padding: ${(props) => props.backgroundColor ? '3px' : '0'};
65
69
  }
66
70
  svg path {
67
71
  ${(props) =>
@@ -93,6 +97,9 @@ export default {
93
97
  color: {
94
98
  required: false
95
99
  },
100
+ backgroundColor: {
101
+ required: false
102
+ },
96
103
  hoveredColor: {
97
104
  required: false
98
105
  },
@@ -3,10 +3,11 @@
3
3
  <container
4
4
  :checkColor="checkColor"
5
5
  :size="size"
6
- :hasLabel="!!label.length"
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
  <div>
18
19
  <span class="checkmark"></span>
19
20
  </div>
20
- <label-text v-if="!!label.length">{{ label }}</label-text>
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 'vue-styled-components'
38
40
 
@@ -46,7 +48,8 @@ const containerAttrs = {
46
48
  hasLabel: Boolean,
47
49
  backgroundColor: String,
48
50
  isChecked: Boolean,
49
- isDisabled: Boolean
51
+ isDisabled: Boolean,
52
+ cursorType: String
50
53
  }
51
54
  const Container = styled('label', containerAttrs)`
52
55
  display: grid;
@@ -55,7 +58,7 @@ const Container = styled('label', containerAttrs)`
55
58
  align-content: center;
56
59
  color: ${(props) => props.theme.colors.black};
57
60
  position: relative;
58
- cursor: ${(props) => (props.isDisabled ? 'not-allowed' : 'pointer')};
61
+ cursor: ${(props) => (props.isDisabled ? 'not-allowed' : props.cursorType)};
59
62
  font-size: 16px;
60
63
  user-select: none;
61
64
 
@@ -80,7 +83,7 @@ const Container = styled('label', containerAttrs)`
80
83
  : props.theme.colors.green
81
84
  : props.isDisabled
82
85
  ? props.theme.colors.lightGray
83
- : '#fff'};
86
+ : props.theme.colors.white};
84
87
  border-radius: 4px;
85
88
  border: 1px solid
86
89
  ${(props) =>
@@ -173,6 +176,10 @@ export default {
173
176
  dataId: {
174
177
  type: String,
175
178
  default: ''
179
+ },
180
+ cursorType: {
181
+ type: String,
182
+ default: 'pointer'
176
183
  }
177
184
  },
178
185
  methods: {
@@ -549,18 +549,21 @@ export default {
549
549
  return array
550
550
  },
551
551
  onInput(value) {
552
+ // if(!this.isFocused){
553
+ // return
554
+ // }
552
555
  if (this.isBlurred) {
553
556
  this.isBlurred = false
554
557
  return
555
558
  }
556
- if (value === '' && this.isFocused) {
559
+ if (value === '') {
557
560
  this.$emit('on-input', '')
558
561
  }
559
562
  let evaluatedVal
560
563
  try {
561
564
  evaluatedVal = this.onEvaluateCode(value)
562
565
  } finally {
563
- if (evaluatedVal && this.isFocused && this.value != evaluatedVal) {
566
+ if (evaluatedVal) {
564
567
  this.$emit('on-input', evaluatedVal)
565
568
  }
566
569
  }
@@ -646,10 +649,10 @@ export default {
646
649
  }
647
650
  },
648
651
  initInteraction(e) {
649
- this.focusInput()
650
- e.preventDefault()
651
652
  window.addEventListener('mousemove', this.interact, false)
652
653
  window.addEventListener('mouseup', this.stopInteract, false)
654
+ e.preventDefault()
655
+ this.focusInput()
653
656
  },
654
657
  interact(e) {
655
658
  e.preventDefault()
@@ -328,7 +328,7 @@ export default {
328
328
  }
329
329
  },
330
330
  methods: {
331
- onEnterPress(event){
331
+ onEnterPress() {
332
332
  this.$emit('on-enter-click')
333
333
  this.$refs.inputElement.$el.blur()
334
334
  },
@@ -8,7 +8,11 @@
8
8
  :hasLabel="!!label && label.length > 0"
9
9
  :alignItems="alignItems"
10
10
  >
11
- <label-wrapper v-if="label" :data-id="labelDataId">
11
+ <label-wrapper
12
+ v-if="label"
13
+ :data-id="labelDataId"
14
+ :shownDropdown="shownDropdown"
15
+ >
12
16
  <input-label
13
17
  :fontColor="
14
18
  labelFontColor || colorMode == 'dark' ? 'white' : 'eturnityGrey'
@@ -45,6 +49,7 @@
45
49
  :showBorder="showBorder"
46
50
  :data-id="dataId"
47
51
  :paddingLeft="paddingLeft"
52
+ :shownDropdown="shownDropdown"
48
53
  >
49
54
  <draggableInputHandle
50
55
  v-if="isDraggable && !isSearchBarVisible"
@@ -68,9 +73,10 @@
68
73
  />
69
74
  <selector
70
75
  v-else
71
- :showBorder="showBorder"
72
76
  :selectWidth="selectWidth"
73
77
  :paddingLeft="paddingLeft"
78
+ :noMaxWidth="noMaxWidth"
79
+ :showBorder="showBorder"
74
80
  >
75
81
  <slot name="selector" :selectedValue="selectedValue"></slot>
76
82
  </selector>
@@ -169,20 +175,17 @@ const Caret = styled.div`
169
175
  const selectorProps = {
170
176
  selectWidth: String,
171
177
  paddingLeft: String,
172
- showBorder: Boolean
178
+ showBorder: Boolean,
179
+ noMaxWidth: Boolean
173
180
  }
174
181
  const Selector = styled('div', selectorProps)`
175
- ${(props) => props.selectWidth === '100%' ? 'width: 100%;' : `width: calc(${props.selectWidth} -
176
- (
177
- ${CARET_WIDTH} +
178
- ${props.paddingLeft}
179
- ${props.showBorder ? `+ (${BORDER_WIDTH} * 2)` : ''}
180
- )
181
- );
182
- white-space: nowrap;
183
- text-overflow: ellipsis;
184
- overflow: hidden;`
185
- }
182
+ max-width: ${(props) =>
183
+ props.noMaxWidth
184
+ ? '100%'
185
+ : `calc(${props.selectWidth} - (${CARET_WIDTH} + ${props.paddingLeft} + (${BORDER_WIDTH} * 2)))`};
186
+ white-space: nowrap;
187
+ text-overflow: ellipsis;
188
+ overflow: hidden;
186
189
  `
187
190
 
188
191
  const labelAttrs = { fontSize: String, fontColor: String }
@@ -203,10 +206,12 @@ const Container = styled('div', inputProps)`
203
206
  position: relative;
204
207
  display: inline-block;
205
208
  `
206
- const LabelWrapper = styled.div`
209
+
210
+ const LabelAttrs = { shownDropdown: Boolean }
211
+ const LabelWrapper = styled('div', LabelAttrs)`
207
212
  display: inline-grid;
208
213
  grid-template-columns: auto auto;
209
- grid-gap: 12px;
214
+ grid-gap: ${(props) => (props.shownDropdown ? '0' : '12px')};
210
215
  align-items: center;
211
216
  justify-content: start;
212
217
  `
@@ -228,14 +233,17 @@ const selectButtonAttrs = {
228
233
  selectMinHeight: String,
229
234
  isSearchBarVisible: Boolean,
230
235
  showBorder: Boolean,
231
- paddingLeft: String
236
+ paddingLeft: String,
237
+ shownDropdown: Boolean
232
238
  }
233
239
  const selectButton = styled('div', selectButtonAttrs)`
234
240
  position: relative;
235
241
  box-sizing: border-box;
236
242
  border-radius: 4px;
237
243
  ${(props) =>
238
- props.isSearchBarVisible ? '' : `padding-left: ${props.paddingLeft}`};
244
+ props.isSearchBarVisible
245
+ ? ''
246
+ : `padding-left: ${props.shownDropdown ? '0' : props.paddingLeft}`};
239
247
  text-align: left;
240
248
  min-height: ${(props) =>
241
249
  props.selectHeight
@@ -438,6 +446,14 @@ export default {
438
446
  isDraggable: {
439
447
  type: Boolean,
440
448
  default: false
449
+ },
450
+ noMaxWidth: {
451
+ type: Boolean,
452
+ default: false
453
+ },
454
+ shownDropdown: {
455
+ type: Boolean,
456
+ default: false
441
457
  }
442
458
  },
443
459
 
@@ -527,13 +543,20 @@ export default {
527
543
  searchChange(value) {
528
544
  this.textSearch = value
529
545
  this.$emit('search-change', value)
530
- this.$refs.dropdown.$children
546
+ const children =
547
+ this.$refs.dropdown.$children &&
548
+ this.$refs.dropdown.$children[0] &&
549
+ this.$refs.dropdown.$children.length === 1 &&
550
+ this.$refs.dropdown.$children[0].$children.length
551
+ ? this.$refs.dropdown.$children[0].$children
552
+ : this.$refs.dropdown.$children
553
+ children
531
554
  .map((component) => component.$el)
532
555
  .forEach((el) => {
533
556
  if (!el.textContent.toLowerCase().includes(value.toLowerCase())) {
534
557
  el.style.display = 'none'
535
558
  } else {
536
- el.style.display = 'inherit'
559
+ el.style.display = 'grid'
537
560
  }
538
561
  })
539
562
  },
@@ -49,7 +49,7 @@
49
49
  // label="Question 5"
50
50
  // alignItems="horizontal" // horizontal, vertical
51
51
  // :isDisabled="true"
52
- // . fontSize="13px"
52
+ // fontSize="13px"
53
53
  // />
54
54
  import styled from 'vue-styled-components'
55
55
  import InfoText from '../../infoText'
@@ -0,0 +1,96 @@
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 'vue-styled-components'
31
+ import Icon from '../icon'
32
+ import Modal from '../modals/modal'
33
+ import PageTitle from '../pageTitle'
34
+ import DeleteIcon from '../deleteIcon'
35
+ import PageSubtitle from '../pageSubtitle'
36
+ import MainButton from '../buttons/mainButton'
37
+
38
+ const PageContainer = styled.div`
39
+ display: flex;
40
+ align-items: center;
41
+ font-size: 12px;
42
+ line-height: 14px;
43
+ `
44
+
45
+ const MarkerAttrs = {
46
+ backgroundColor: String,
47
+ hasIcon: Boolean,
48
+ cursor: String
49
+ }
50
+ const MarkerContainer = styled('div', MarkerAttrs)`
51
+ display: grid;
52
+ grid-template-columns: ${(props) => (props.hasIcon ? 'auto 1fr' : '1fr')};
53
+ grid-gap: 5px;
54
+ position: relative;
55
+ align-items: center;
56
+ padding: 2px 7px;
57
+ color: ${(props) => props.theme.colors.white};
58
+ background-color: ${(props) =>
59
+ props.backgroundColor ? props.backgroundColor : props.theme.colors.grey3};
60
+ border: 1px solid
61
+ ${(props) =>
62
+ props.backgroundColor ? props.backgroundColor : props.theme.colors.grey3};
63
+ border-radius: 4px;
64
+ white-space: nowrap;
65
+ cursor: ${(props) => (props.isEditionAllowed ? 'pointer' : props.cursor)};
66
+ `
67
+
68
+ // const IconContainer = styled.div`
69
+ // padding: 8px;
70
+ // line-height: 0;
71
+ // `
72
+
73
+ export default {
74
+ name: 'project-marker',
75
+ components: {
76
+ PageContainer,
77
+ MarkerContainer,
78
+ Icon
79
+ },
80
+ props: {
81
+ backgroundColor: {
82
+ required: false
83
+ },
84
+ iconName: {
85
+ required: false
86
+ },
87
+ label: {
88
+ required: true
89
+ },
90
+ cursor: {
91
+ required: false,
92
+ default: 'default'
93
+ }
94
+ }
95
+ }
96
+ </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: #fff;
98
- background-color: ${(props) => props.theme.brightBlue};
96
+ color: ${(props) => props.theme.colors.white};
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;
@@ -65,7 +65,7 @@
65
65
  </template>
66
66
 
67
67
  <script>
68
- // import ThreeDots from "@eturnity/eturnity_reusable_components/src/components/projectMarker"
68
+ // import ProjectMarker from "@eturnity/eturnity_reusable_components/src/components/projectMarker"
69
69
  // To use:
70
70
  // <project-marker
71
71
  // :activeLanguage="'en-us'"
@@ -0,0 +1,145 @@
1
+ <template>
2
+ <page-container>
3
+ <box-container>
4
+ <selected-container
5
+ >{{ numberSelected }} {{ $gettext('selected') }}</selected-container
6
+ >
7
+ <list-container v-if="optionsList.length">
8
+ <list-item
9
+ v-for="item in optionsList"
10
+ :key="item.type"
11
+ :hoverColor="item.hoverColor"
12
+ @click="$emit('on-' + item.type)"
13
+ >
14
+ {{ item.name }}
15
+ </list-item>
16
+ </list-container>
17
+ <empty-text v-if="!optionsList.length">
18
+ {{ $gettext('no_batch_actions_available') }}
19
+ </empty-text>
20
+ <icon-container @click="$emit('on-close')">
21
+ <icon
22
+ name="close_for_modals,_tool_tips"
23
+ color="white"
24
+ size="14px"
25
+ cursor="pointer"
26
+ />
27
+ </icon-container>
28
+ </box-container>
29
+ </page-container>
30
+ </template>
31
+
32
+ <script>
33
+ // import SelectedOptions from "@eturnity/eturnity_reusable_components/src/components/selectedOptions"
34
+ // optionsList = [
35
+ // {
36
+ // type: 'export',
37
+ // name: 'Export'
38
+ // },
39
+ // {
40
+ // type: 'delete',
41
+ // name: 'Delete',
42
+ // hoverColor: 'red' // default is green
43
+ // }
44
+ // ]
45
+ // @on-${type}="function" should $emit the callback for the 'type' in the optionsList
46
+ // <selected-options
47
+ // :numberSelected="numberSelected"
48
+ // :optionsList="optionsList"
49
+ // @on-close="onCloseFunction()"
50
+ // @on-export="function()" @on-delete="function()"
51
+ // />
52
+ import styled from 'vue-styled-components'
53
+ import Icon from '../icon'
54
+
55
+ const PageContainer = styled.div`
56
+ position: fixed;
57
+ bottom: 30px;
58
+ left: 50%;
59
+ transform: translateX(-50%);
60
+ `
61
+
62
+ const SelectedContainer = styled.div`
63
+ display: grid;
64
+ align-items: center;
65
+ height: 100%;
66
+ padding-right: 20px;
67
+ border-right: 1px solid rgba(255, 255, 255, 0.2);
68
+ `
69
+
70
+ const BoxContainer = styled.div`
71
+ display: flex;
72
+ align-items: center;
73
+ background-color: ${(props) => props.theme.colors.black};
74
+ opacity: 90%;
75
+ color: ${(props) => props.theme.colors.white};
76
+ border-radius: 4px;
77
+ padding: 8px 10px 8px 20px;
78
+ font-size: 14px;
79
+ height: 40px;
80
+ `
81
+
82
+ const ListContainer = styled.div`
83
+ padding: 0 20px;
84
+ display: flex;
85
+ gap: 20px;
86
+ color: ${(props) => props.theme.colors.white};
87
+ `
88
+
89
+ const ListAttrs = {
90
+ hoverColor: String
91
+ }
92
+ const ListItem = styled('div', ListAttrs)`
93
+ cursor: pointer;
94
+ &:hover {
95
+ color: ${(props) =>
96
+ props.hoverColor
97
+ ? props.theme.colors[props.hoverColor]
98
+ : props.theme.colors.green};
99
+ }
100
+ `
101
+
102
+ const IconContainer = styled.div`
103
+ display: grid;
104
+ align-items: center;
105
+ justify-items: center;
106
+ height: 30px;
107
+ width: 30px;
108
+ cursor: pointer;
109
+ margin-left: 20px;
110
+
111
+ &:hover {
112
+ background: rgba(255, 255, 255, 0.1);
113
+ border-radius: 4px;
114
+ }
115
+ `
116
+
117
+ const EmptyText = styled.div`
118
+ color: ${(props) => props.theme.colors.white};
119
+ font-size: 13px;
120
+ padding-left: 16px;
121
+ `
122
+
123
+ export default {
124
+ name: 'selected-options',
125
+ components: {
126
+ PageContainer,
127
+ BoxContainer,
128
+ SelectedContainer,
129
+ ListContainer,
130
+ ListItem,
131
+ Icon,
132
+ IconContainer,
133
+ EmptyText
134
+ },
135
+ props: {
136
+ optionsList: {
137
+ required: true
138
+ },
139
+ numberSelected: {
140
+ required: true,
141
+ default: 0
142
+ }
143
+ }
144
+ }
145
+ </script>
@@ -1,18 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
3
- <svg height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
4
- viewBox="0 0 204.851 204.851" xml:space="preserve">
5
- <g>
6
- <g>
7
- <g>
8
- <path fill="white" d="M139.518,128.595l16.834,16.336c0,0-20.644,29.877-42.725,30.473
9
- c0.479,0,0.117-84.092,0.039-104.472c14.694-4.797,25.402-18.182,25.402-34.117c0-20.009-16.697-36.218-37.273-36.218
10
- c-20.615,0-37.312,16.209-37.312,36.208c0,15.671,10.376,28.929,24.748,33.961l0.098,104.277
11
- c-26.643-1.837-42.061-27.474-42.061-27.474l17.997-17.41L0,120.505l9.887,63.301l17.362-16.795
12
- c15.036,12.105,32.017,37.244,72.876,37.244c51.332-1.309,63.184-28.939,76.344-39.804l18.993,18.514l9.389-63.907
13
- L139.518,128.595z M82.558,36.208c0-10.298,8.608-18.661,19.218-18.661s19.257,8.363,19.257,18.661
14
- c0,10.327-8.647,18.681-19.257,18.681S82.558,46.535,82.558,36.208z"/>
15
- </g>
16
- </g>
17
- </g>
18
- </svg>
@@ -1,20 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- width="16"
6
- height="8"
7
- viewBox="0 0 16 8"
8
- version="1.1"
9
- id="svg5"
10
- xmlns="http://www.w3.org/2000/svg"
11
- xmlns:svg="http://www.w3.org/2000/svg">
12
- <g
13
- transform="translate(-55.350933,-93.588073)">
14
- <path
15
- fill="#000000"
16
- d="m 61.719348,100.39494 1.004406,0.0185 -0.0013,-2.679323 0.88345,-4.27e-4 c -0.0051,-0.01381 -0.01401,2.69128 -0.01401,2.69128 l 1.05348,-0.0159 -1.582401,1.44453 z m -6.368415,-0.817395 7.856738,-5.989472 7.616581,6.321372 -1.240034,1.266145 -6.409573,-5.185912 -6.581971,5.125212 z"
17
- id="path874"
18
- />
19
- </g>
20
- </svg>