@sedoo/unidoo 0.0.75 → 0.0.78

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": "@sedoo/unidoo",
3
- "version": "0.0.75",
3
+ "version": "0.0.78",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "build": "vue-cli-service build --target lib --name unidoo src/plugin.js",
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <v-col style="position: relative">
2
+ <v-col container>
3
3
  <div level-selector >
4
4
 
5
5
  <level-selector
@@ -8,17 +8,29 @@
8
8
  ></level-selector>
9
9
 
10
10
  </div>
11
-
11
+
12
12
  <unidoo-simple-player
13
- constrained
13
+ v-if="hasData"
14
+ class="constrained"
14
15
  :label="label"
15
16
  :entries="entries"
16
17
  >
18
+
17
19
  <template v-slot:customField>
18
20
  <slot name="customField"></slot>
19
21
  </template>
22
+
20
23
  </unidoo-simple-player>
21
24
 
25
+ <div v-else-if="noVisibleData" class="constrained placeholder">
26
+ <div style="position: absolute; top: 0; left: 0;"><slot name="customField"></slot></div><b>{{ noVisibleDataMessage }}</b>
27
+ </div>
28
+
29
+ <div v-else class="constrained placeholder">
30
+ <div style="position: absolute; top: 0; left: 0;"><slot name="customField"></slot></div><b>{{ noDataMessage }}</b>
31
+ </div>
32
+
33
+ <div v-if="isLoading" mask></div>
22
34
  </v-col>
23
35
  </template>
24
36
 
@@ -32,10 +44,29 @@ export default {
32
44
  default: 'frame'
33
45
  },
34
46
 
35
-
36
47
  data:{
37
48
  type: Object,
38
49
  default: () => null
50
+ },
51
+
52
+ noVisibleData:{
53
+ type: Boolean,
54
+ default: false
55
+ },
56
+
57
+ noDataMessage:{
58
+ type: String,
59
+ default: "No available data"
60
+ },
61
+
62
+ noVisibleDataMessage:{
63
+ type: String,
64
+ default: "Existing data, no quicklook available"
65
+ },
66
+
67
+ isLoading:{
68
+ type: Boolean,
69
+ default: false
39
70
  }
40
71
  },
41
72
 
@@ -45,18 +76,40 @@ export default {
45
76
 
46
77
  computed:{
47
78
  hasData(){
48
- return (this.data && this.data.entries && this.data.entries.length);
79
+ return this.data && this.data.entries && this.data.entries.length;
49
80
  },
50
81
  }
51
82
 
52
83
  }
53
84
  </script>
54
85
  <style scoped>
55
- [constrained] {
56
- display: block;
86
+ [container]{
87
+ position: relative;
88
+ }
89
+
90
+ .constrained {
91
+ position: relative;
92
+ min-height: 15vh;
93
+ }
94
+
95
+ .placeholder{
96
+ display: flex;
97
+ justify-content: center;
98
+ align-items: center;
99
+ width: 100%;
57
100
  }
58
101
 
59
102
  [level-selector]{
60
103
  margin: 0 10px;
61
104
  }
105
+
106
+ [mask]{
107
+ position: absolute;
108
+ top: 0;
109
+ bottom: 0;
110
+ left: 0;
111
+ right: 0;
112
+ opacity: 0.5;
113
+ background: white;
114
+ }
62
115
  </style>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div selector>
3
- <v-col level-selector v-if="levels && data">
3
+ <v-col level-selector v-if="levels">
4
4
 
5
5
  <div style="display: flex; flex-wrap: wrap; margin: 0 -12px;" v-for="(key) in levelKeys"
6
6
  :key="key"
@@ -155,7 +155,7 @@ export default {
155
155
  },
156
156
 
157
157
  subBodyStyle(){
158
- const vh = (this.isZoomed) ? '65vh' : '40vh';
158
+ const vh = (this.isZoomed) ? '72vh' : '40vh';
159
159
  return { gridTemplateRows: ((this.playerBarTop) ? '10px 140px 10px ' + vh + ' 10px' : '10px ' + vh + ' 10px 140px 10px')};
160
160
  }
161
161
 
@@ -552,7 +552,7 @@ export default {
552
552
  position: fixed;
553
553
  display: block;
554
554
  z-index: 99999;
555
- top: 6vh;
555
+ top: 4vh;
556
556
  left: 4vw;
557
557
  right: 4vw;
558
558
  overflow: auto;