@saooti/octopus-sdk 31.0.37 → 31.0.40

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/README.md CHANGED
@@ -586,6 +586,8 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
586
586
  * 30.0.87 Podcastmaker newest (swiper list)
587
587
  * 30.0.88 Podcastmaker newest (swiper list)
588
588
  * 30.0.89 Podcastmaker newest (swiper list)
589
+ * 30.0.90 Podcastmaker newest (swiper list)
590
+ * 30.0.91 Encore newest
589
591
 
590
592
  * 31.0.0 Passage en 31
591
593
  * 31.0.1 Ajout pocket casts
@@ -625,4 +627,7 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
625
627
  * 31.0.35 Il faut croire que c'est SDK Day...
626
628
  * 31.0.36 Améliorations multiples (pagination, modales, pages d'erreurs...)
627
629
  * 31.0.37 Continuation améliorations
630
+ * 31.0.38 Changement reponsive topbar
631
+ * 31.0.39 Erreur refactor
632
+ * 31.0.40 Erreur locale
628
633
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "31.0.37",
3
+ "version": "31.0.40",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -20,7 +20,7 @@
20
20
  :key="e.emissionId"
21
21
  >
22
22
  <EmissionItem
23
- v-if="-1!==e.emissionId"
23
+ v-if="0!==e.emissionId"
24
24
  :emission="e"
25
25
  />
26
26
  </template>
@@ -35,7 +35,7 @@
35
35
  :key="e.emissionId"
36
36
  >
37
37
  <EmissionPlayerItem
38
- v-if="-1!==e.emissionId"
38
+ v-if="0!==e.emissionId"
39
39
  :emission="e"
40
40
  class="m-3 flex-shrink-0"
41
41
  :class="mainRubriquage(e)"
@@ -148,7 +148,7 @@ export default defineComponent({
148
148
  this.reloadList();
149
149
  },
150
150
  dfirst(): void{
151
- if(!this.emissions[this.dfirst] || -1===this.emissions[this.dfirst].emissionId){
151
+ if(!this.emissions[this.dfirst] || 0===this.emissions[this.dfirst].emissionId){
152
152
  this.fetchContent(false);
153
153
  }
154
154
  },
@@ -23,7 +23,7 @@
23
23
  :key="p.podcastId"
24
24
  >
25
25
  <PodcastItem
26
- v-if="-1!==p.podcastId"
26
+ v-if="0!==p.podcastId"
27
27
  :podcast="p"
28
28
  />
29
29
  </template>
@@ -80,7 +80,7 @@ export default defineComponent({
80
80
  this.reloadList();
81
81
  },
82
82
  dfirst(): void{
83
- if(!this.lives[this.dfirst] || -1===this.lives[this.dfirst].podcastId){
83
+ if(!this.lives[this.dfirst] || 0===this.lives[this.dfirst].podcastId){
84
84
  this.fetchContent(false);
85
85
  }
86
86
  },
@@ -18,7 +18,7 @@
18
18
  :key="p.participantId"
19
19
  >
20
20
  <ParticipantItem
21
- v-if="-1!==p.participantId"
21
+ v-if="0!==p.participantId"
22
22
  :participant="p"
23
23
  />
24
24
  </template>
@@ -91,7 +91,7 @@ export default defineComponent({
91
91
  this.reloadList();
92
92
  },
93
93
  dfirst(): void{
94
- if(!this.participants[this.dfirst] || -1===this.participants[this.dfirst].participantId){
94
+ if(!this.participants[this.dfirst] || 0===this.participants[this.dfirst].participantId){
95
95
  this.fetchContent(false);
96
96
  }
97
97
  },
@@ -18,7 +18,7 @@
18
18
  :key="p.playlistId"
19
19
  >
20
20
  <PlaylistItem
21
- v-if="-1!==p.playlistId"
21
+ v-if="0!==p.playlistId"
22
22
  :playlist="p"
23
23
  />
24
24
  </template>
@@ -94,7 +94,7 @@ export default defineComponent({
94
94
  this.reloadList();
95
95
  },
96
96
  dfirst(): void{
97
- if(!this.playlists[this.dfirst] || -1===this.playlists[this.dfirst].playlistId){
97
+ if(!this.playlists[this.dfirst] || 0===this.playlists[this.dfirst].playlistId){
98
98
  this.fetchContent(false);
99
99
  }
100
100
  },
@@ -30,7 +30,7 @@
30
30
  :key="p.podcastId"
31
31
  >
32
32
  <PodcastItem
33
- v-if="-1!==p.podcastId"
33
+ v-if="0!==p.podcastId"
34
34
  :podcast="p"
35
35
  />
36
36
  </template>
@@ -97,7 +97,7 @@ export default defineComponent({
97
97
  props: {
98
98
  podcast: { default: ()=>({}), type: Object as ()=>Podcast},
99
99
  hidePlay: { default: false, type: Boolean},
100
- displayDescription: { default: undefined, type: String},
100
+ displayDescription: { default: false, type: Boolean},
101
101
  arrowDirection: { default: 'up', type: String},
102
102
  isAnimatorLive: { default: false, type: Boolean},
103
103
  fetchConference: { default: undefined, type: Object as ()=>Conference},
@@ -2,7 +2,18 @@
2
2
  <div
3
3
  class="d-flex flex-column p-3"
4
4
  >
5
- <h2>{{ title }}</h2>
5
+ <div class="d-flex align-items-center mb-2">
6
+ <h2 class="mb-0">
7
+ {{ title }}
8
+ </h2>
9
+ <router-link
10
+ v-if="isButtonNextTitle"
11
+ class="btn admin-button m-1 fw-bold saooti-right"
12
+ :title="buttonText"
13
+ :to="refTo"
14
+ @click="handleSeeMoreButton"
15
+ />
16
+ </div>
6
17
  <div class="d-flex justify-content-between">
7
18
  <div class="d-flex">
8
19
  <button
@@ -44,7 +55,8 @@
44
55
  </div>
45
56
  <slot name="list-inline" />
46
57
  <router-link
47
- class="btn btn-primary align-self-center width-fit-content m-4"
58
+ v-if="!isButtonNextTitle"
59
+ class="btn btn-link align-self-center width-fit-content m-4"
48
60
  :to="refTo"
49
61
  @click="handleSeeMoreButton"
50
62
  >
@@ -80,6 +92,7 @@ export default defineComponent({
80
92
  iabId: { default: undefined, type: Number},
81
93
  rubriqueId: { default: () => [], type: Array as ()=> Array<number> },
82
94
  noRubriquageId: { default: () => [], type: Array as ()=> Array<number> },
95
+ isButtonNextTitle: {default: false, type:Boolean}
83
96
  },
84
97
  emits:['sortChrono','sortPopular', 'displayPrevious', 'displayNext'],
85
98
  data() {
@@ -10,13 +10,14 @@
10
10
  >
11
11
  <PodcastImage
12
12
  :podcast="podcast"
13
- :hide-play="!hover || !description"
14
- :display-description="description"
13
+ :hide-play="!podcastItemDescription || (podcastItemDescription && (!hover || !description))"
14
+ :display-description="description && podcastItemDescription"
15
15
  :arrow-direction="arrowDirection"
16
16
  @hideDescription="hideDescription"
17
17
  @showDescription="showDescription"
18
18
  />
19
19
  <div
20
+ v-if="podcastItemDescription"
20
21
  ref="descriptionPodcastContainer"
21
22
  class="description-podcast-item html-wysiwyg-content"
22
23
  :class="[
@@ -80,6 +81,9 @@ export default defineComponent({
80
81
  podcastBorderBottom(): boolean {
81
82
  return (state.podcastsPage.podcastBorderBottom as boolean);
82
83
  },
84
+ podcastItemDescription(): boolean {
85
+ return (state.podcastPage.podcastItemDescription as boolean);
86
+ },
83
87
  displayDate(): string {
84
88
  return moment(this.podcast.pubDate).format('X');
85
89
  },
@@ -89,6 +93,7 @@ export default defineComponent({
89
93
  },
90
94
 
91
95
  mounted() {
96
+ if(!this.podcastItemDescription){return}
92
97
  const podcastDesc = (this.$refs.descriptionPodcast as HTMLElement);
93
98
  const podcastDescContainer = (this.$refs.descriptionPodcastContainer as HTMLElement);
94
99
  if (
@@ -100,10 +105,12 @@ export default defineComponent({
100
105
  },
101
106
  methods: {
102
107
  showDescription(): void {
108
+ if(!this.podcastItemDescription){return}
103
109
  this.arrowDirection = 'down';
104
110
  this.hover = true;
105
111
  },
106
112
  hideDescription(): void {
113
+ if(!this.podcastItemDescription){return}
107
114
  this.arrowDirection = 'up';
108
115
  this.hover = false;
109
116
  },
@@ -19,7 +19,7 @@
19
19
  :key="p.podcastId"
20
20
  >
21
21
  <PodcastItem
22
- v-if="-1!==p.podcastId"
22
+ v-if="0!==p.podcastId"
23
23
  :podcast="p"
24
24
  />
25
25
  </template>
@@ -125,7 +125,7 @@ export default defineComponent({
125
125
  this.reloadList();
126
126
  },
127
127
  dfirst(): void{
128
- if(!this.podcasts[this.dfirst] || -1===this.podcasts[this.dfirst].podcastId){
128
+ if(!this.podcasts[this.dfirst] || 0===this.podcasts[this.dfirst].podcastId){
129
129
  this.fetchContent(false);
130
130
  }
131
131
  },
@@ -10,6 +10,7 @@
10
10
  :iab-id="iabId"
11
11
  :rubrique-id="rubriqueId"
12
12
  :no-rubriquage-id="noRubriquageId"
13
+ :is-button-next-title="true"
13
14
  @sortChrono="sortChrono"
14
15
  @sortPopular="sortPopular"
15
16
  >
@@ -18,10 +19,10 @@
18
19
  :loading-text="loading?$t('Loading podcasts ...'):undefined"
19
20
  />
20
21
  <swiper
21
- v-show="loaded"
22
+ v-if="!loading"
22
23
  :slides-per-view="numberItem"
23
24
  :space-between="10"
24
- :loop="true"
25
+ :loop="allPodcasts.length>=numberItem"
25
26
  :navigation="true"
26
27
  :modules="modules"
27
28
  >
@@ -83,7 +84,6 @@ export default defineComponent({
83
84
  data() {
84
85
  return {
85
86
  loading: true as boolean,
86
- loaded: true as boolean,
87
87
  popularSort: false as boolean,
88
88
  allPodcasts: [] as Array<Podcast>,
89
89
  modules: [Navigation],
@@ -151,11 +151,10 @@ export default defineComponent({
151
151
  sort: this.popularSort ? 'POPULARITY' : 'DATE',
152
152
  query: this.query,
153
153
  });
154
- this.loading = false;
155
- this.loaded = true;
156
154
  this.allPodcasts = this.allPodcasts.concat(
157
155
  data.result.filter((pod: Podcast|null) => null !== pod)
158
156
  );
157
+ this.loading = false;
159
158
  },
160
159
  sortPopular(): void {
161
160
  if (this.popularSort) return;
@@ -171,7 +170,6 @@ export default defineComponent({
171
170
  },
172
171
  reset(): void {
173
172
  this.loading = true;
174
- this.loaded = true;
175
173
  this.allPodcasts.length = 0;
176
174
  },
177
175
  },
@@ -49,22 +49,16 @@
49
49
  </template>
50
50
  <template v-if="!isEducation">
51
51
  <hr class="dropdown-divider">
52
- <a
53
- href="https://help.octopus.saooti.com/Aide/"
54
- class="dropdown-item"
55
- rel="noopener"
56
- target="_blank"
57
- >
58
- {{ $t('Help') }}
59
- </a>
60
- <a
61
- href="https://help.octopus.saooti.com/"
62
- class="dropdown-item"
63
- rel="noopener"
64
- target="_blank"
65
- >
66
- {{ $t('TutoMag') }}
67
- </a>
52
+ <template v-for="helpLink in helpLinks" :key="helpLink.title">
53
+ <a
54
+ :href="helpLink.href"
55
+ class="dropdown-item"
56
+ rel="noopener"
57
+ target="_blank"
58
+ >
59
+ {{ helpLink.title }}
60
+ </a>
61
+ </template>
68
62
  </template>
69
63
  <hr class="dropdown-divider">
70
64
  <a
@@ -95,17 +89,17 @@ export default defineComponent({
95
89
  isEducation: { default: false, type: Boolean},
96
90
  },
97
91
  computed: {
98
- /* helpLink(){
92
+ helpLinks(){
99
93
  return [
100
94
  {title:this.$t('Help'), href:'https://help.octopus.saooti.com/Aide/'},
101
95
  {title:this.$t('TutoMag'),href:"https://help.octopus.saooti.com/"}];
102
- }, */
96
+ },
103
97
  routerBackoffice(){
104
98
  return [
105
- {title:this.$t('Upload'),class:"btn btn-primary w-100", path:'/main/priv/upload', condition: this.isContribution},
99
+ {title:this.$t('Upload'),class:"btn btn-primary w-100", path:'/main/priv/upload', condition: (state.generalParameters.isContribution as boolean)},
106
100
  {title:this.$t('My space'),class:"show-phone dropdown-item", path:'/main/priv/backoffice', condition: true},
107
101
  {title:this.$t('Edit my profile'),class:"dropdown-item", path:'/main/priv/edit/profile', condition: true},
108
- {title:this.$t('Edit my organisation'),class:"dropdown-item", path:'/main/priv/edit/organisation', condition: this.isOrganisation}];
102
+ {title:this.$t('Edit my organisation'),class:"dropdown-item", path:'/main/priv/edit/organisation', condition: (state.generalParameters.isOrganisation as boolean)}];
109
103
  },
110
104
 
111
105
  isPodcastmaker(): boolean {
@@ -114,12 +108,6 @@ export default defineComponent({
114
108
  authenticated(): boolean {
115
109
  return this.$store.state.authentication.isAuthenticated;
116
110
  },
117
- isOrganisation(): boolean {
118
- return (state.generalParameters.isOrganisation as boolean);
119
- },
120
- isContribution(): boolean {
121
- return (state.generalParameters.isContribution as boolean);
122
- },
123
111
  },
124
112
 
125
113
  methods: {
@@ -261,7 +261,7 @@ export default defineComponent({
261
261
  }
262
262
  }
263
263
  /** PHONES*/
264
- @media (max-width: 1200px) {
264
+ @media (max-width: 1470px) {
265
265
  height: 3.5rem;
266
266
  .default-multiselect-width, .hosted-by, .link-hover {
267
267
  display: none;
@@ -4,7 +4,7 @@
4
4
  v-if="loaded && !error"
5
5
  >
6
6
  <h1 v-if="!pageParameters.lightStyle">
7
- titleDisplay{{ titleDisplay }}
7
+ {{ titleDisplay }}
8
8
  </h1>
9
9
  <div
10
10
  class="d-flex flex-column align-items-center mb-3"
@@ -34,6 +34,7 @@ const state:paramStore = {
34
34
  podcastItemShowEmission: false,
35
35
  clickPlayGoPage:false,
36
36
  listTypeClassic: true,
37
+ podcastItemDescription:true
37
38
  },
38
39
  podcastsPage: {
39
40
  ProductorSearch: true,
@@ -122,7 +123,8 @@ export interface PodcastPage{
122
123
  resourceUrl?: string |undefined,
123
124
  podcastItemShowEmission?: boolean,
124
125
  clickPlayGoPage?:boolean,
125
- listTypeClassic?:boolean
126
+ listTypeClassic?:boolean,
127
+ podcastItemDescription?:boolean,
126
128
  }
127
129
  export interface PodcastsPage{
128
130
  ProductorSearch?: boolean,
@@ -13,7 +13,7 @@ import { Rubrique } from "./class/rubrique/rubrique"
13
13
  export function emptyPlaylistData(): Playlist{
14
14
  return {
15
15
  description: '',
16
- playlistId: -1,
16
+ playlistId: 0,
17
17
  podcasts: [],
18
18
  score: 0,
19
19
  title: '',
@@ -23,12 +23,12 @@ export function emptyParticipantData(): Participant{
23
23
  return {
24
24
  firstName: '',
25
25
  lastName: '',
26
- participantId:-1
26
+ participantId:0
27
27
  }
28
28
  }
29
29
  export function emptyEmissionData(): Emission{
30
30
  return {
31
- emissionId: -1 ,
31
+ emissionId: 0,
32
32
  name: '' ,
33
33
  description: '' ,
34
34
  imageUrl: '' ,
@@ -45,7 +45,7 @@ export function emptyEmissionData(): Emission{
45
45
 
46
46
  export function emptyPodcastData(): Podcast{
47
47
  return {
48
- podcastId:-1,
48
+ podcastId:0,
49
49
  audioUrl: '' ,
50
50
  audioStorageUrl: '' ,
51
51
  imageUrl: '' ,