@saooti/octopus-sdk 32.0.18 → 32.0.21

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
@@ -661,4 +661,7 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
661
661
  * 32.0.15 Pb lié refactor
662
662
  * 32.0.16 Pb lié refactor
663
663
  * 32.0.17 AdvancedSearch components
664
- * 32.0.18 AdvancedSearch components
664
+ * 32.0.18 AdvancedSearch components
665
+ * 32.0.19 Playlist publique
666
+ * 32.0.20 Playlist publique
667
+ * 32.0.21 Amélioration List Paginate
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "32.0.18",
3
+ "version": "32.0.21",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -30,7 +30,7 @@
30
30
  @updateRubriquageFilter="updateRubriquageFilter"
31
31
  />
32
32
  <DateFilter
33
- :isEmission="isEmission"
33
+ :is-emission="isEmission"
34
34
  @updateToDate="updateToDate"
35
35
  @updateFromDate="updateFromDate"
36
36
  />
@@ -63,9 +63,9 @@
63
63
  {{ $t('Sort') }}
64
64
  </div>
65
65
  <SearchOrder
66
- :isEmission="isEmission"
67
- :isSearchBar="isSearchBar"
68
- :sortCriteria="sortCriteria"
66
+ :is-emission="isEmission"
67
+ :is-search-bar="isSearchBar"
68
+ :sort-criteria="sortCriteria"
69
69
  @updateSortCriteria="updateSortCriteria"
70
70
  />
71
71
  </div>
@@ -81,7 +81,6 @@ import DateFilter from './DateFilter.vue';
81
81
  import SearchOrder from './SearchOrder.vue';
82
82
  import RubriqueFilter from './RubriqueFilter.vue';
83
83
  import ClassicCheckbox from '../../form/ClassicCheckbox.vue';
84
- import ClassicRadio from '../../form/ClassicRadio.vue';
85
84
  import { RubriquageFilter } from '@/store/class/rubrique/rubriquageFilter';
86
85
  import { defineComponent, defineAsyncComponent } from 'vue';
87
86
  const MonetizableFilter = defineAsyncComponent(() => import('./MonetizableFilter.vue'));
@@ -91,7 +90,6 @@ export default defineComponent({
91
90
  CategorySearchFilter,
92
91
  RubriqueFilter,
93
92
  ClassicCheckbox,
94
- ClassicRadio,
95
93
  DateFilter,
96
94
  SearchOrder
97
95
  },
@@ -55,7 +55,6 @@
55
55
  </DatePicker>
56
56
  </div>
57
57
  </div>
58
-
59
58
  </template>
60
59
 
61
60
  <script lang="ts">
@@ -168,7 +168,7 @@ export default defineComponent({
168
168
 
169
169
  created() {
170
170
  if(!this.modifyFilter){
171
- if(this.initRubriqueFilter){
171
+ if(this.initRubriqueFilter && this.initRubriqueFilter.length > 0){
172
172
  this.arrayFilter = Array.from(this.initRubriqueFilter);
173
173
  this.isRubriquage = true;
174
174
  }
@@ -6,7 +6,7 @@
6
6
  {title:$t('Sort last'), value:isEmission?'LAST_PODCAST_DESC':'DATE'},
7
7
  {title:$t('Sort name'), value:'NAME'}]:
8
8
  [{title:$t('Sort last'), value:isEmission?'LAST_PODCAST_DESC':'DATE'},
9
- {title:$t('Sort name'), value:'NAME'}]"
9
+ {title:$t('Sort name'), value:'NAME'}]"
10
10
  />
11
11
  </template>
12
12
 
@@ -8,14 +8,17 @@
8
8
  :error-text="errorText"
9
9
  />
10
10
  <template v-if="!loading">
11
- <div class="paginate-section mb-2 page-box">
11
+ <div
12
+ v-if="!justSizeChosen"
13
+ class="paginate-section mb-2 page-box"
14
+ >
12
15
  <div class="text-secondary">
13
16
  <template v-if="textCount && (windowWidth > 1300 || windowWidth<=960)">
14
17
  {{ textCount }}
15
18
  </template>
16
19
  </div>
17
20
  <Paginate
18
- v-if="!isPhone"
21
+ v-if="!isPhone && !justSizeChosen"
19
22
  :first="first"
20
23
  :rows-per-page="rowsPerPage"
21
24
  :total-count="totalCount"
@@ -27,7 +30,7 @@
27
30
  </template>
28
31
  <slot name="list" />
29
32
  <button
30
- v-show="((first+rowsPerPage) < totalCount) && isPhone"
33
+ v-show="((first+rowsPerPage) < totalCount) && (isPhone || justSizeChosen)"
31
34
  :disabled="loading"
32
35
  class="btn"
33
36
  :class="buttonPlus ? 'btn-primary align-self-center width-fit-content m-4' : 'btn-more'"
@@ -66,7 +69,8 @@ export default defineComponent({
66
69
  loadingText:{ default: undefined, type: String},
67
70
  errorText:{ default: undefined, type: String},
68
71
  loading: { default: false, type:Boolean},
69
- isMobile: { default: false, type: Boolean}
72
+ isMobile: { default: false, type: Boolean},
73
+ justSizeChosen:{default: false, type: Boolean}
70
74
  },
71
75
 
72
76
  emits: ['update:first', 'update:rowsPerPage', 'update:isMobile'],
@@ -100,7 +100,7 @@ export default defineComponent({
100
100
  true == state.generalParameters.isAdmin;
101
101
  },
102
102
  activePlaylist(): boolean {
103
- return 0 !== Object.keys(this.playlist.samplingViews).length;
103
+ return 0 !== Object.keys(this.playlist.samplingViews??[]).length;
104
104
  },
105
105
  },
106
106
  mounted() {
@@ -85,7 +85,7 @@ export default defineComponent({
85
85
  return this.notEmptyPlaylist ? this.$t('Podcasts in the playlist') : this.$t('No podcasts in the playlist');
86
86
  },
87
87
  notEmptyPlaylist(): boolean {
88
- return 0 !== Object.keys(this.playlist.podcasts).length;
88
+ return 0 !== Object.keys(this.playlist.samplingViews??[]).length;
89
89
  },
90
90
  podcastsDisplay(): Array<Podcast>{
91
91
  if(this.isMobile){
@@ -122,11 +122,7 @@ export default defineComponent({
122
122
  this.podcasts.length = 0;
123
123
  this.loading = true;
124
124
  try {
125
- const content = await octopusApi.fetchData<Array<Podcast>>(0, 'playlist/'+this.playlist.playlistId+'/content');
126
- for (let index = 0, len = content.length; index < len; index++) {
127
- content[index].order = this.playlist.podcasts[content[index].podcastId];
128
- }
129
- this.podcasts = content;
125
+ this.podcasts = await octopusApi.fetchData<Array<Podcast>>(0, 'playlist/'+this.playlist.playlistId+'/content');
130
126
  if (!this.editRight) {
131
127
  this.podcasts = this.podcasts.filter((p: Podcast|null) => {
132
128
  return (
@@ -38,7 +38,6 @@
38
38
  :pub-date="podcast.pubDate"
39
39
  :podcast-organisation-id="podcast.organisation.id"
40
40
  :podcast-organisation-name="podcast.organisation.name"
41
- :podcast-order="podcast.order"
42
41
  :duration="podcast.duration"
43
42
  :animators="podcast.animators"
44
43
  @mouseenter="showDescription"
@@ -45,10 +45,6 @@
45
45
  >
46
46
  <div>{{ '© ' + podcastOrganisationName }}</div>
47
47
  </router-link>
48
- <span
49
- v-if="editRight && podcastOrder && podcastOrder > 1"
50
- class="saooti-pin text-danger pe-2"
51
- />
52
48
  </div>
53
49
  </div>
54
50
  </template>
@@ -79,7 +75,6 @@ export default defineComponent({
79
75
  pubDate: { default: "", type: String},
80
76
  podcastOrganisationId: { default: "", type: String},
81
77
  podcastOrganisationName: { default: "", type: String},
82
- podcastOrder: { default: undefined, type: Number},
83
78
  duration: { default: 0, type: Number},
84
79
  animators: { default: undefined, type: Object as ()=> Array<Participant>},
85
80
  },
@@ -9,6 +9,7 @@
9
9
  :loading="loading"
10
10
  :loading-text="loading?$t('Loading podcasts ...'):undefined"
11
11
  :error-text="!loading && !podcasts.length?$t(`No podcast match your query`):undefined"
12
+ :just-size-chosen="justSizeChosen"
12
13
  >
13
14
  <template #list>
14
15
  <ul
@@ -69,6 +70,7 @@ export default defineComponent({
69
70
  rubriqueId: { default: () => [], type: Array as ()=>Array<number> },
70
71
  rubriquageId:{ default: () => [], type: Array as ()=>Array<number> },
71
72
  noRubriquageId: { default: () => [], type: Array as ()=>Array<number> },
73
+ justSizeChosen:{default: false, type: Boolean}
72
74
  },
73
75
  emits: ['fetch', 'emptyList'],
74
76
 
@@ -85,7 +87,7 @@ export default defineComponent({
85
87
 
86
88
  computed: {
87
89
  displayArray(): Array<Podcast>{
88
- if(this.isMobile){
90
+ if(this.isMobile || this.justSizeChosen){
89
91
  return this.podcasts;
90
92
  }
91
93
  return this.podcasts.slice(this.dfirst, Math.min(this.dfirst + this.dsize,this.totalCount));
@@ -176,7 +178,7 @@ export default defineComponent({
176
178
  });
177
179
  this.podcasts = this.podcasts.slice(0, this.dfirst).concat(responsePodcasts).concat(this.podcasts.slice(this.dfirst+this.dsize, this.podcasts.length));
178
180
  this.$emit('fetch', this.podcasts);
179
- this.totalCount = data.count;
181
+ this.totalCount = this.justSizeChosen ? this.size : data.count;
180
182
  if (0 === this.podcasts.length) {
181
183
  this.$emit('emptyList');
182
184
  }
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <div class="bg-dark">
3
3
  <div
4
+ v-if="displayFooter"
4
5
  id="footer"
5
6
  ref="footer"
6
7
  class="d-flex-column p-3 secondary-bg border-top"
7
- v-if="displayFooter"
8
8
  >
9
9
  <div class="d-flex flex-column flex-grow-1 align-items-end">
10
10
  <div class="d-flex flex-column">
@@ -107,11 +107,11 @@ export default defineComponent({
107
107
  Player,
108
108
  ClassicSelect
109
109
  },
110
+
111
+ mixins:[cookies],
110
112
  props: {
111
113
  displayFooter: { default: true, type: Boolean},
112
114
  },
113
-
114
- mixins:[cookies],
115
115
  data() {
116
116
  return {
117
117
  language: this.$i18n.locale as string,
@@ -66,7 +66,7 @@ export default defineComponent({
66
66
  },
67
67
 
68
68
  created() {
69
- this.organisationId = this.productor ?this.productor: this.filterOrga;;
69
+ this.organisationId = this.productor ?this.productor: this.filterOrga;
70
70
  },
71
71
  })
72
72
  </script>