@saooti/octopus-sdk 34.0.11 → 34.0.12
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 +10 -11
- package/src/App.vue +3 -3
- package/src/assets/share.scss +1 -2
- package/src/components/display/podcasts/PodcastFilterList.vue +2 -2
- package/src/components/misc/Nav.vue +1 -1
- package/src/components/misc/Popover.vue +55 -53
- package/src/components/mixins/player/playerDisplay.ts +1 -1
- package/src/components/pages/Emission.vue +2 -2
- package/src/components/pages/Participant.vue +2 -2
- package/src/components/pages/Playlist.vue +1 -1
- package/src/components/pages/Podcast.vue +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saooti/octopus-sdk",
|
|
3
|
-
"version": "34.0.
|
|
3
|
+
"version": "34.0.12",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Javascript SDK for using octopus",
|
|
6
6
|
"author": "Saooti",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"serve": "vite preview",
|
|
9
9
|
"build": "vite build",
|
|
10
10
|
"dev": "vite",
|
|
11
|
-
"lint": "eslint --ext .js,.vue --
|
|
11
|
+
"lint": "eslint --ext .js,.vue --fix src",
|
|
12
12
|
"build_bundle": "vue-cli-service build --target lib --name octopus ./index.js",
|
|
13
13
|
"prettifile": "prettier --single-quote --trailing-comma es5 --write",
|
|
14
14
|
"prettify": "prettier --single-quote --trailing-comma es5 --write src/**/**/**/*.{js,vue}",
|
|
@@ -20,15 +20,15 @@
|
|
|
20
20
|
"@vue/cli": "^5.0.8",
|
|
21
21
|
"@vue/compat": "^3.2.45",
|
|
22
22
|
"autoprefixer": "^10.4.13",
|
|
23
|
-
"axios": "^1.2.
|
|
23
|
+
"axios": "^1.2.2",
|
|
24
24
|
"express": "^4.18.2",
|
|
25
25
|
"hls.js": "^1.2.9",
|
|
26
26
|
"humanize-duration": "^3.27.2",
|
|
27
27
|
"jest": "^29.3.1",
|
|
28
|
-
"jquery": "^3.6.
|
|
28
|
+
"jquery": "^3.6.3",
|
|
29
29
|
"moment": "^2.29.4",
|
|
30
30
|
"qrcode.vue": "^3.3.3",
|
|
31
|
-
"sass": "^1.
|
|
31
|
+
"sass": "^1.57.1",
|
|
32
32
|
"sonarqube-scanner": "^2.9.1",
|
|
33
33
|
"swiper": "^8.4.5",
|
|
34
34
|
"v-calendar": "^3.0.0-alpha.8",
|
|
@@ -43,18 +43,17 @@
|
|
|
43
43
|
"vuex": "^4.1.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@types/jquery": "^3.5.
|
|
47
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
48
|
-
"@typescript-eslint/parser": "^5.
|
|
46
|
+
"@types/jquery": "^3.5.16",
|
|
47
|
+
"@typescript-eslint/eslint-plugin": "^5.48.0",
|
|
48
|
+
"@typescript-eslint/parser": "^5.48.0",
|
|
49
49
|
"@vitejs/plugin-vue": "^3.2.0",
|
|
50
50
|
"@vue/compiler-sfc": "^3.2.45",
|
|
51
51
|
"@vue/eslint-config-typescript": "^11.0.2",
|
|
52
|
-
"eslint": "^8.
|
|
53
|
-
"eslint-plugin-vue": "^
|
|
52
|
+
"eslint": "^8.31.0",
|
|
53
|
+
"eslint-plugin-vue": "^7.17.0",
|
|
54
54
|
"typescript": "^4.9.4"
|
|
55
55
|
},
|
|
56
56
|
"eslintConfig": {
|
|
57
|
-
"parser": "vue-eslint-parser",
|
|
58
57
|
"root": true,
|
|
59
58
|
"env": {
|
|
60
59
|
"node": true
|
package/src/App.vue
CHANGED
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
/>
|
|
16
16
|
<CategoryFilter />
|
|
17
17
|
<router-view />
|
|
18
|
-
<
|
|
18
|
+
<FooterOctopus />
|
|
19
19
|
<Player />
|
|
20
20
|
</div>
|
|
21
21
|
</template>
|
|
22
22
|
|
|
23
23
|
<script lang="ts">
|
|
24
24
|
import TopBar from '@/components/misc/TopBar.vue';
|
|
25
|
-
import
|
|
25
|
+
import FooterOctopus from '@/components/misc/Footer.vue';
|
|
26
26
|
import Player from '@/components/misc/player/Player.vue';
|
|
27
27
|
import CategoryFilter from '@/components/display/categories/CategoryFilter.vue';
|
|
28
28
|
import { state } from './store/paramStore';
|
|
@@ -40,7 +40,7 @@ export default defineComponent({
|
|
|
40
40
|
TopBar,
|
|
41
41
|
LeftMenu,
|
|
42
42
|
CategoryFilter,
|
|
43
|
-
|
|
43
|
+
FooterOctopus,
|
|
44
44
|
Player
|
|
45
45
|
},
|
|
46
46
|
|
package/src/assets/share.scss
CHANGED
|
@@ -81,69 +81,71 @@ export default defineComponent({
|
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
setPopoverData (e: MouseEvent|PointerEvent) {
|
|
84
|
-
if(this.disable){
|
|
84
|
+
if(this.disable || !e || !e.target){
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
|
-
if(e
|
|
88
|
-
if(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
this.isClick = true;
|
|
87
|
+
if("click"===e.type){
|
|
88
|
+
if(this.show && this.isClick){
|
|
89
|
+
this.isClick = false;
|
|
90
|
+
this.clearData();
|
|
91
|
+
return;
|
|
95
92
|
}
|
|
96
|
-
this.
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const modalBodyRect = modalBody.getBoundingClientRect();
|
|
111
|
-
parentLeft = modalBodyRect.left;
|
|
112
|
-
parentRight = modalBodyRect.right;
|
|
113
|
-
parentTop = modalBodyRect.top;
|
|
114
|
-
parentScrollTop=modalBody.scrollTop;
|
|
93
|
+
this.isClick = true;
|
|
94
|
+
}
|
|
95
|
+
this.show = true;
|
|
96
|
+
let parentLeft = 0;
|
|
97
|
+
let parentRight = 0;
|
|
98
|
+
let parentTop = 0;
|
|
99
|
+
let parentScrollTop = 0;
|
|
100
|
+
if(this.relativeClass){
|
|
101
|
+
const modalBody = document.getElementsByClassName(this.relativeClass)[0];
|
|
102
|
+
if(undefined===modalBody){
|
|
103
|
+
(this.$refs.popover as HTMLElement).style.display = 'block';
|
|
104
|
+
this.posX = 0;
|
|
105
|
+
this.posY = 0;
|
|
106
|
+
return;
|
|
115
107
|
}
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
108
|
+
const modalBodyRect = modalBody.getBoundingClientRect();
|
|
109
|
+
parentLeft = modalBodyRect.left;
|
|
110
|
+
parentRight = modalBodyRect.right;
|
|
111
|
+
parentTop = modalBodyRect.top;
|
|
112
|
+
parentScrollTop=modalBody.scrollTop;
|
|
120
113
|
}
|
|
114
|
+
const rectElement = (e.target as HTMLElement).getBoundingClientRect();
|
|
115
|
+
(this.$refs.popover as HTMLElement).style.display = 'block';
|
|
116
|
+
this.posX = this.leftPos? (rectElement.right -parentRight ) - (this.$refs.popover as HTMLElement).clientWidth : (rectElement.left -parentLeft );
|
|
117
|
+
this.posY = ((rectElement.bottom+ parentScrollTop ) - parentTop ) + (this.isFixed ? 0 : window.scrollY)+ 5;
|
|
121
118
|
},
|
|
122
119
|
async clearDataBlur (e: FocusEvent) {
|
|
123
|
-
if(e.relatedTarget){
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
await myElement.click();
|
|
132
|
-
}else{
|
|
133
|
-
await this.$router.push((myElement as HTMLAnchorElement).pathname);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
this.$nextTick(() => {
|
|
137
|
-
this.isClick = false;
|
|
138
|
-
this.clearData();
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
120
|
+
if(!e.relatedTarget){
|
|
121
|
+
return this.clearClick();
|
|
122
|
+
}
|
|
123
|
+
const myElement = e.relatedTarget as HTMLElement;
|
|
124
|
+
if(this.popoverId===myElement.id){return;}
|
|
125
|
+
const parent = this.$refs.popover as HTMLElement;
|
|
126
|
+
if (null===parent || !parent.contains(myElement)) {
|
|
127
|
+
return this.clearClick();
|
|
143
128
|
}
|
|
129
|
+
if(null===myElement.classList || !myElement.classList.contains('octopus-dropdown-item')){
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if(!(myElement as HTMLAnchorElement).href){
|
|
133
|
+
return this.clearClick();
|
|
134
|
+
}
|
|
135
|
+
if("true"===myElement.getAttribute('reallink')){
|
|
136
|
+
myElement.click();
|
|
137
|
+
}else{
|
|
138
|
+
await this.$router.push((myElement as HTMLAnchorElement).pathname);
|
|
139
|
+
}
|
|
140
|
+
this.$nextTick(() => {
|
|
141
|
+
this.isClick = false;
|
|
142
|
+
this.clearData();
|
|
143
|
+
});
|
|
144
|
+
},
|
|
145
|
+
clearClick(){
|
|
144
146
|
this.isClick = false;
|
|
145
147
|
this.clearData();
|
|
146
|
-
|
|
148
|
+
},
|
|
147
149
|
clearData () {
|
|
148
150
|
if(this.isClick){
|
|
149
151
|
return;
|
|
@@ -3,7 +3,7 @@ import DurationHelper from '../../../helper/duration';
|
|
|
3
3
|
import { state } from '../../../store/paramStore';
|
|
4
4
|
import { defineComponent } from 'vue';
|
|
5
5
|
import { RouteLocationRaw } from 'vue-router';
|
|
6
|
-
import {
|
|
6
|
+
import { MetadataRadio, Radio } from '@/store/class/general/player';
|
|
7
7
|
import octopusApi from '@saooti/octopus-api';
|
|
8
8
|
export const playerDisplay = defineComponent({
|
|
9
9
|
props: {
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
<ShareButtons
|
|
51
51
|
v-if="pageParameters.isShareButtons"
|
|
52
52
|
:emission="emission"
|
|
53
|
-
:
|
|
53
|
+
:is-vertical="!authenticated && !notExclusive"
|
|
54
54
|
/>
|
|
55
55
|
</div>
|
|
56
56
|
</div>
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
:emission-id="emissionId"
|
|
67
67
|
/>
|
|
68
68
|
<PodcastFilterList
|
|
69
|
-
:
|
|
69
|
+
:show-count="true"
|
|
70
70
|
:emission-id="emissionId"
|
|
71
71
|
:category-filter="false"
|
|
72
72
|
:edit-right="editRight"
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
v-if="pageParameters.isShareButtons"
|
|
38
38
|
:participant-id="participantId"
|
|
39
39
|
:organisation-id="participant.orga.id"
|
|
40
|
-
:
|
|
40
|
+
:is-vertical="false"
|
|
41
41
|
/>
|
|
42
42
|
</div>
|
|
43
43
|
</div>
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
:name="name"
|
|
48
48
|
:category-filter="true"
|
|
49
49
|
:reload="reload"
|
|
50
|
-
:
|
|
50
|
+
:show-count="true"
|
|
51
51
|
/>
|
|
52
52
|
<PodcastList
|
|
53
53
|
v-else
|