@saooti/octopus-sdk 1.0.0 → 29.0.2

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.
Files changed (230) hide show
  1. package/README.md +73 -0
  2. package/index.d.ts +4 -0
  3. package/index.ts +12 -0
  4. package/package.json +61 -39
  5. package/public/css/fonts/saooti-ui.eot +0 -0
  6. package/public/css/fonts/saooti-ui.svg +30 -19
  7. package/public/css/fonts/saooti-ui.ttf +0 -0
  8. package/public/css/fonts/saooti-ui.woff +0 -0
  9. package/public/css/fonts/style.css +48 -5
  10. package/public/img/ACPM.png +0 -0
  11. package/public/img/article.png +0 -0
  12. package/src/App.vue +97 -31
  13. package/src/api/comments.ts +3 -1
  14. package/src/api/emissions.ts +5 -2
  15. package/src/api/initialize.ts +3 -2
  16. package/src/api/podcasts.ts +5 -2
  17. package/src/api/profile.ts +4 -2
  18. package/src/api/studio.ts +12 -1
  19. package/src/assets/bootstrap-diff.scss +265 -0
  20. package/src/assets/form.scss +23 -0
  21. package/src/assets/general.scss +47 -20
  22. package/src/assets/modal.scss +9 -10
  23. package/src/assets/multiselect.scss +19 -2
  24. package/src/assets/octopus-library.scss +16 -4
  25. package/src/assets/share.scss +343 -0
  26. package/src/components/display/aggregator/RssSection.vue +4 -4
  27. package/src/components/display/categories/CategoryChooser.vue +152 -105
  28. package/src/components/display/categories/CategoryFilter.vue +108 -0
  29. package/src/components/display/categories/CategoryList.vue +138 -109
  30. package/src/components/display/comments/AddCommentModal.vue +104 -87
  31. package/src/components/display/comments/CommentInput.vue +137 -118
  32. package/src/components/display/comments/CommentItem.vue +155 -137
  33. package/src/components/display/comments/CommentList.vue +142 -120
  34. package/src/components/display/comments/CommentParentInfo.vue +39 -35
  35. package/src/components/display/comments/CommentPlayer.vue +54 -48
  36. package/src/components/display/comments/CommentSection.vue +57 -58
  37. package/src/components/display/edit/EditBox.vue +4 -4
  38. package/src/components/display/edit/EditCommentBox.vue +25 -31
  39. package/src/components/display/emission/EmissionChooser.vue +82 -80
  40. package/src/components/display/emission/EmissionInlineList.vue +118 -105
  41. package/src/components/display/emission/EmissionItem.vue +66 -167
  42. package/src/components/display/emission/EmissionList.vue +96 -122
  43. package/src/components/display/emission/EmissionPlayerItem.vue +131 -126
  44. package/src/components/display/filter/AdvancedSearch.vue +306 -372
  45. package/src/components/display/filter/CategoryFilter.vue +117 -0
  46. package/src/components/display/filter/MonetizableFilter.vue +24 -10
  47. package/src/components/display/filter/ProductorSearch.vue +131 -135
  48. package/src/components/display/filter/RubriqueChoice.vue +104 -0
  49. package/src/components/display/filter/RubriqueFilter.vue +235 -0
  50. package/src/components/display/live/CountDown.vue +30 -29
  51. package/src/components/display/live/LiveHorizontalList.vue +40 -34
  52. package/src/components/display/live/LiveItem.vue +146 -158
  53. package/src/components/display/live/LiveList.vue +167 -154
  54. package/src/components/display/organisation/OrganisationChooser.vue +125 -124
  55. package/src/components/display/organisation/OrganisationChooserLight.vue +40 -47
  56. package/src/components/display/participant/ParticipantItem.vue +92 -108
  57. package/src/components/display/participant/ParticipantList.vue +76 -69
  58. package/src/components/display/playlist/PlaylistItem.vue +45 -56
  59. package/src/components/display/playlist/PlaylistList.vue +57 -48
  60. package/src/components/display/playlist/PodcastList.vue +94 -70
  61. package/src/components/display/podcasts/AnimatorsItem.vue +26 -23
  62. package/src/components/display/podcasts/ParticipantDescription.vue +115 -0
  63. package/src/components/display/podcasts/PodcastFilterList.vue +84 -85
  64. package/src/components/display/podcasts/PodcastImage.vue +244 -208
  65. package/src/components/display/podcasts/PodcastInlineList.vue +145 -207
  66. package/src/components/display/podcasts/PodcastItem.vue +150 -132
  67. package/src/components/display/podcasts/PodcastList.vue +89 -110
  68. package/src/components/display/podcasts/TagList.vue +23 -16
  69. package/src/components/display/rubriques/RubriqueChooser.vue +137 -123
  70. package/src/components/display/rubriques/RubriqueList.vue +227 -0
  71. package/src/components/display/sharing/PlayerParameters.vue +154 -106
  72. package/src/components/display/sharing/QrCode.vue +58 -0
  73. package/src/components/display/sharing/ShareButtons.vue +214 -92
  74. package/src/components/display/sharing/ShareDistribution.vue +110 -121
  75. package/src/components/display/sharing/SharePlayer.vue +245 -190
  76. package/src/components/display/sharing/SubscribeButtons.vue +130 -66
  77. package/src/components/display/studio/RecordingItemButton.vue +4 -4
  78. package/src/components/misc/ErrorMessage.vue +21 -16
  79. package/src/components/misc/Footer.vue +131 -66
  80. package/src/components/misc/HomeDropdown.vue +166 -123
  81. package/src/components/misc/LeftMenu.vue +151 -134
  82. package/src/components/misc/Player.vue +332 -328
  83. package/src/components/misc/Snackbar.vue +27 -29
  84. package/src/components/misc/TopBar.vue +204 -174
  85. package/src/components/misc/modal/ClipboardModal.vue +46 -26
  86. package/src/components/misc/modal/MessageModal.vue +67 -51
  87. package/src/components/misc/modal/NewsletterModal.vue +179 -136
  88. package/src/components/misc/modal/QrCodeModal.vue +83 -0
  89. package/src/components/misc/modal/ShareModalPlayer.vue +133 -74
  90. package/src/components/mixins/functions.ts +21 -18
  91. package/src/components/mixins/init.ts +24 -0
  92. package/src/components/mixins/organisationFilter.ts +24 -0
  93. package/src/components/pages/Category.vue +26 -26
  94. package/src/components/pages/Emission.vue +120 -92
  95. package/src/components/pages/Emissions.vue +109 -86
  96. package/src/components/pages/Home.vue +70 -16
  97. package/src/components/pages/Lives.vue +57 -47
  98. package/src/components/pages/Participant.vue +93 -77
  99. package/src/components/pages/Participants.vue +44 -31
  100. package/src/components/pages/Playlist.vue +63 -52
  101. package/src/components/pages/Playlists.vue +41 -39
  102. package/src/components/pages/Podcast.vue +265 -251
  103. package/src/components/pages/Podcasts.vue +135 -104
  104. package/src/components/pages/Rubrique.vue +25 -19
  105. package/src/components/pages/Search.vue +71 -67
  106. package/src/helper/dom.ts +2 -2
  107. package/src/helper/duration.ts +18 -8
  108. package/src/locale/educationen.ts +14 -0
  109. package/src/locale/en.ts +299 -1
  110. package/src/locale/fr.ts +25 -10
  111. package/src/locale/messages.ts +3 -2
  112. package/src/main.ts +54 -32
  113. package/src/router/router.ts +184 -159
  114. package/src/shims-tsx.d.ts +13 -0
  115. package/src/shims-vue-recaptcha-v3.d.ts +9 -0
  116. package/src/shims-vue.d.ts +5 -6
  117. package/src/store/AppStore.ts +36 -171
  118. package/src/store/class/category.ts +8 -0
  119. package/src/store/class/comment.ts +17 -0
  120. package/src/store/class/conference.ts +27 -0
  121. package/src/store/class/customPlayer.ts +8 -0
  122. package/src/store/class/emission.ts +20 -0
  123. package/src/store/class/fetchParam.ts +16 -0
  124. package/src/store/class/media.ts +13 -0
  125. package/src/store/class/organisation.ts +19 -0
  126. package/src/store/class/participant.ts +12 -0
  127. package/src/store/class/person.ts +13 -0
  128. package/src/store/class/player.ts +12 -0
  129. package/src/store/class/playlist.ts +15 -0
  130. package/src/store/class/podcast.ts +37 -0
  131. package/src/store/class/rubriquage.ts +9 -0
  132. package/src/store/class/rubriquageFilter.ts +5 -0
  133. package/src/store/class/rubrique.ts +8 -0
  134. package/src/store/paramStore.ts +70 -29
  135. package/src/store/typeAppStore.ts +171 -237
  136. package/src/vuex-shim.d.ts +8 -0
  137. package/tsconfig.json +4 -0
  138. package/vue.config.js +14 -0
  139. package/public/img/ACPM.PNG +0 -0
  140. package/src/assets/bootstrap_scss/_alert.scss +0 -51
  141. package/src/assets/bootstrap_scss/_badge.scss +0 -54
  142. package/src/assets/bootstrap_scss/_breadcrumb.scss +0 -42
  143. package/src/assets/bootstrap_scss/_button-group.scss +0 -164
  144. package/src/assets/bootstrap_scss/_buttons.scss +0 -291
  145. package/src/assets/bootstrap_scss/_card.scss +0 -278
  146. package/src/assets/bootstrap_scss/_carousel.scss +0 -197
  147. package/src/assets/bootstrap_scss/_close.scss +0 -41
  148. package/src/assets/bootstrap_scss/_code.scss +0 -48
  149. package/src/assets/bootstrap_scss/_custom-forms.scss +0 -522
  150. package/src/assets/bootstrap_scss/_dropdown.scss +0 -201
  151. package/src/assets/bootstrap_scss/_forms.scss +0 -352
  152. package/src/assets/bootstrap_scss/_functions.scss +0 -134
  153. package/src/assets/bootstrap_scss/_grid.scss +0 -69
  154. package/src/assets/bootstrap_scss/_images.scss +0 -42
  155. package/src/assets/bootstrap_scss/_input-group.scss +0 -191
  156. package/src/assets/bootstrap_scss/_jumbotron.scss +0 -17
  157. package/src/assets/bootstrap_scss/_list-group.scss +0 -158
  158. package/src/assets/bootstrap_scss/_media.scss +0 -8
  159. package/src/assets/bootstrap_scss/_mixins.scss +0 -47
  160. package/src/assets/bootstrap_scss/_modal.scss +0 -243
  161. package/src/assets/bootstrap_scss/_nav.scss +0 -120
  162. package/src/assets/bootstrap_scss/_navbar.scss +0 -324
  163. package/src/assets/bootstrap_scss/_pagination.scss +0 -74
  164. package/src/assets/bootstrap_scss/_popover.scss +0 -170
  165. package/src/assets/bootstrap_scss/_print.scss +0 -141
  166. package/src/assets/bootstrap_scss/_progress.scss +0 -46
  167. package/src/assets/bootstrap_scss/_reboot.scss +0 -482
  168. package/src/assets/bootstrap_scss/_root.scss +0 -20
  169. package/src/assets/bootstrap_scss/_spinners.scss +0 -55
  170. package/src/assets/bootstrap_scss/_tables.scss +0 -185
  171. package/src/assets/bootstrap_scss/_toasts.scss +0 -44
  172. package/src/assets/bootstrap_scss/_tooltip.scss +0 -115
  173. package/src/assets/bootstrap_scss/_transitions.scss +0 -20
  174. package/src/assets/bootstrap_scss/_type.scss +0 -125
  175. package/src/assets/bootstrap_scss/_utilities.scss +0 -17
  176. package/src/assets/bootstrap_scss/_variables.scss +0 -1145
  177. package/src/assets/bootstrap_scss/bootstrap-grid.scss +0 -29
  178. package/src/assets/bootstrap_scss/bootstrap-reboot.scss +0 -12
  179. package/src/assets/bootstrap_scss/bootstrap.scss +0 -44
  180. package/src/assets/bootstrap_scss/mixins/_alert.scss +0 -13
  181. package/src/assets/bootstrap_scss/mixins/_background-variant.scss +0 -22
  182. package/src/assets/bootstrap_scss/mixins/_badge.scss +0 -17
  183. package/src/assets/bootstrap_scss/mixins/_border-radius.scss +0 -63
  184. package/src/assets/bootstrap_scss/mixins/_box-shadow.scss +0 -20
  185. package/src/assets/bootstrap_scss/mixins/_breakpoints.scss +0 -123
  186. package/src/assets/bootstrap_scss/mixins/_buttons.scss +0 -110
  187. package/src/assets/bootstrap_scss/mixins/_caret.scss +0 -62
  188. package/src/assets/bootstrap_scss/mixins/_clearfix.scss +0 -7
  189. package/src/assets/bootstrap_scss/mixins/_deprecate.scss +0 -10
  190. package/src/assets/bootstrap_scss/mixins/_float.scss +0 -14
  191. package/src/assets/bootstrap_scss/mixins/_forms.scss +0 -177
  192. package/src/assets/bootstrap_scss/mixins/_gradients.scss +0 -45
  193. package/src/assets/bootstrap_scss/mixins/_grid-framework.scss +0 -71
  194. package/src/assets/bootstrap_scss/mixins/_grid.scss +0 -69
  195. package/src/assets/bootstrap_scss/mixins/_hover.scss +0 -37
  196. package/src/assets/bootstrap_scss/mixins/_image.scss +0 -36
  197. package/src/assets/bootstrap_scss/mixins/_list-group.scss +0 -21
  198. package/src/assets/bootstrap_scss/mixins/_lists.scss +0 -7
  199. package/src/assets/bootstrap_scss/mixins/_nav-divider.scss +0 -11
  200. package/src/assets/bootstrap_scss/mixins/_pagination.scss +0 -22
  201. package/src/assets/bootstrap_scss/mixins/_reset-text.scss +0 -17
  202. package/src/assets/bootstrap_scss/mixins/_resize.scss +0 -6
  203. package/src/assets/bootstrap_scss/mixins/_screen-reader.scss +0 -34
  204. package/src/assets/bootstrap_scss/mixins/_size.scss +0 -7
  205. package/src/assets/bootstrap_scss/mixins/_table-row.scss +0 -39
  206. package/src/assets/bootstrap_scss/mixins/_text-emphasis.scss +0 -17
  207. package/src/assets/bootstrap_scss/mixins/_text-hide.scss +0 -11
  208. package/src/assets/bootstrap_scss/mixins/_text-truncate.scss +0 -8
  209. package/src/assets/bootstrap_scss/mixins/_transition.scss +0 -16
  210. package/src/assets/bootstrap_scss/mixins/_visibility.scss +0 -8
  211. package/src/assets/bootstrap_scss/utilities/_align.scss +0 -8
  212. package/src/assets/bootstrap_scss/utilities/_background.scss +0 -19
  213. package/src/assets/bootstrap_scss/utilities/_borders.scss +0 -75
  214. package/src/assets/bootstrap_scss/utilities/_clearfix.scss +0 -3
  215. package/src/assets/bootstrap_scss/utilities/_display.scss +0 -26
  216. package/src/assets/bootstrap_scss/utilities/_embed.scss +0 -39
  217. package/src/assets/bootstrap_scss/utilities/_flex.scss +0 -51
  218. package/src/assets/bootstrap_scss/utilities/_float.scss +0 -11
  219. package/src/assets/bootstrap_scss/utilities/_overflow.scss +0 -5
  220. package/src/assets/bootstrap_scss/utilities/_position.scss +0 -32
  221. package/src/assets/bootstrap_scss/utilities/_screenreaders.scss +0 -11
  222. package/src/assets/bootstrap_scss/utilities/_shadows.scss +0 -6
  223. package/src/assets/bootstrap_scss/utilities/_sizing.scss +0 -20
  224. package/src/assets/bootstrap_scss/utilities/_spacing.scss +0 -73
  225. package/src/assets/bootstrap_scss/utilities/_stretched-link.scss +0 -19
  226. package/src/assets/bootstrap_scss/utilities/_text.scss +0 -72
  227. package/src/assets/bootstrap_scss/utilities/_visibility.scss +0 -13
  228. package/src/assets/bootstrap_scss/vendor/_rfs.scss +0 -204
  229. package/src/shims-vuex.d.ts +0 -7
  230. package/src/views/Home.vue +0 -18
@@ -1,8 +1,13 @@
1
1
  <template>
2
2
  <div class="d-flex flex-column align-items-center">
3
- <div class="d-flex justify-content-center" v-if="loading">
4
- <div class="spinner-border mr-3"></div>
5
- <h3 class="mt-2">{{ $t('Loading emissions ...') }}</h3>
3
+ <div
4
+ v-if="loading"
5
+ class="d-flex justify-content-center"
6
+ >
7
+ <div class="spinner-border me-3" />
8
+ <h3 class="mt-2">
9
+ {{ $t('Loading emissions ...') }}
10
+ </h3>
6
11
  </div>
7
12
  <div
8
13
  v-if="showCount && loaded && emissions.length > 1"
@@ -11,180 +16,155 @@
11
16
  {{ $t('Number emissions', { nb: displayCount }) + sortText }}
12
17
  </div>
13
18
  <ul
19
+ v-if="!itemPlayer"
14
20
  class="emission-list"
15
21
  :class="smallItems ? 'threeEmissions' : 'twoEmissions'"
16
- v-if="!itemPlayer"
17
22
  >
18
23
  <EmissionItem
19
- v-bind:emission="e"
20
24
  v-for="e in emissions"
21
- v-bind:key="e.emissionId"
22
- @emissionNotVisible="displayCount--"
25
+ :key="e.emissionId"
26
+ :emission="e"
23
27
  />
24
28
  </ul>
25
29
  <ul
26
- class="d-flex flex-wrap justify-content-around"
27
30
  v-show="
28
31
  (displayRubriquage && rubriques) || !(displayRubriquage && loaded)
29
32
  "
30
33
  v-else
34
+ class="d-flex flex-wrap justify-content-around"
31
35
  >
32
36
  <EmissionPlayerItem
33
- v-bind:emission="e"
34
37
  v-for="e in emissions"
35
- v-bind:key="e.emissionId"
38
+ :key="e.emissionId"
39
+ :emission="e"
36
40
  class="m-3 flex-shrink"
37
41
  :class="mainRubriquage(e)"
38
- :rubriqueName="rubriquesId(e)"
42
+ :rubrique-name="rubriquesId(e)"
39
43
  @emissionNotVisible="displayCount--"
40
44
  />
41
45
  </ul>
42
46
  <button
47
+ v-show="!allFetched && loaded"
43
48
  class="btn"
44
49
  :class="buttonPlus ? 'btn-linkPlus' : 'btn-more'"
45
- @click="displayMore"
46
50
  :disabled="inFetching"
47
- v-show="!allFetched && loaded"
48
51
  :aria-label="$t('See more')"
52
+ @click="displayMore"
49
53
  >
50
- <template v-if="buttonPlus">{{ $t('See more') }}</template>
51
- <div class="saooti-plus"></div>
54
+ <template v-if="buttonPlus">
55
+ {{ $t('See more') }}
56
+ </template>
57
+ <div class="saooti-plus" />
52
58
  </button>
53
59
  </div>
54
60
  </template>
55
61
 
56
- <style lang="scss">
57
- .loading-title {
58
- margin: 0.4rem 0 0;
59
- }
60
- .emission-list {
61
- align-self: stretch;
62
- flex-grow: 1;
63
- margin: 0;
64
- padding: 0;
65
- /*For ie11 */
66
- display: flex;
67
- flex-wrap: wrap;
68
- /* end */
69
-
70
- display: grid; /* 1 */
71
- grid-gap: 1rem; /* 3 */
72
- justify-content: space-between; /* 4 */
73
- }
74
- .twoEmissions {
75
- grid-template-columns: repeat(auto-fill, 49%); /* 2 */
76
- }
77
-
78
- .threeEmissions {
79
- grid-template-columns: repeat(auto-fill, 32%); /* 2 */
80
- }
81
-
82
- /** PHONES*/
83
- @media (max-width: 1200px) {
84
- .emission-list {
85
- grid-template-columns: auto;
86
- }
87
- }
88
- </style>
89
-
90
62
  <script lang="ts">
91
63
  const octopusApi = require('@saooti/octopus-api');
92
64
  import emissionApi from '@/api/emissions';
93
- import EmissionItem from './EmissionItem.vue';
94
- import EmissionPlayerItem from './EmissionPlayerItem.vue';
95
-
96
65
  import { state } from '../../../store/paramStore';
97
66
 
98
- import { defineComponent } from 'vue'
67
+ import { Emission } from '@/store/class/emission';
68
+ import { Rubrique } from '@/store/class/rubrique';
69
+ import { defineComponent, defineAsyncComponent } from 'vue';
70
+ const EmissionItem = defineAsyncComponent(() => import('./EmissionItem.vue'));
71
+ const EmissionPlayerItem = defineAsyncComponent(() => import('./EmissionPlayerItem.vue'));
99
72
  export default defineComponent({
100
73
  name: 'EmissionList',
101
74
 
102
- props: [
103
- 'first',
104
- 'size',
105
- 'query',
106
- 'organisationId',
107
- 'monetization',
108
- 'rubriqueId',
109
- 'rubriquageId',
110
- 'before',
111
- 'after',
112
- 'sort',
113
- 'showCount',
114
- 'noRubrique',
115
- 'includeHidden',
116
- ],
117
-
118
75
  components: {
119
76
  EmissionItem,
120
77
  EmissionPlayerItem,
121
78
  },
122
79
 
123
- mounted() {
124
- this.fetchContent(true);
125
- if (this.displayRubriquage) {
126
- this.fetchRubriques();
127
- }
80
+ props: {
81
+ first: { default: 0, type: Number },
82
+ size: { default: 12, type: Number },
83
+ query: { default: undefined, type: String},
84
+ iabId: { default: undefined, type: Number },
85
+ organisationId: { default: undefined, type: String},
86
+ monetization: { default: 'UNDEFINED', type: String},
87
+ before: { default: undefined, type: String},
88
+ after: { default: undefined, type: String},
89
+ sort: { default: 'DATE', type: String},
90
+ showCount: { default: false, type: Boolean },
91
+ includeHidden: { default: false, type: Boolean },
92
+ rubriqueId: { default: () => [], type: Array as ()=> Array<number> },
93
+ rubriquageId:{ default: () => [], type: Array as ()=> Array<number> },
94
+ noRubriquageId: { default: () => [], type: Array as ()=> Array<number> },
128
95
  },
129
96
 
130
97
  data() {
131
98
  return {
132
- loading: true,
133
- loaded: true,
134
- dfirst: this.$props.first,
135
- dsize: this.$props.size,
136
- totalCount: 0,
137
- displayCount: 0,
138
- emissions: [] as any,
139
- rubriques: undefined as any,
140
- inFetching: false,
99
+ loading: true as boolean,
100
+ loaded: false as boolean,
101
+ dfirst: this.first as number,
102
+ dsize: this.size as number,
103
+ totalCount: 0 as number,
104
+ displayCount: 0 as number,
105
+ emissions: [] as Array<Emission>,
106
+ rubriques: undefined as Array<Rubrique>|undefined,
107
+ inFetching: false as boolean,
141
108
  };
142
109
  },
143
110
 
144
111
  computed: {
145
- allFetched():boolean {
112
+ allFetched(): boolean {
146
113
  return this.dfirst >= this.totalCount;
147
114
  },
148
- buttonPlus() {
115
+ buttonPlus(): boolean {
149
116
  return state.generalParameters.buttonPlus;
150
117
  },
151
- smallItems() {
118
+ smallItems(): boolean {
152
119
  return state.emissionsPage.smallItems;
153
120
  },
154
- itemPlayer() {
121
+ itemPlayer(): boolean {
155
122
  return state.emissionsPage.itemPlayer;
156
123
  },
157
- displayRubriquage() {
124
+ displayRubriquage(): boolean {
158
125
  return state.emissionsPage.rubriquage;
159
126
  },
160
- changed():any {
127
+ changed(): string {
161
128
  return `${this.first}|${this.size}|${this.organisationId}|${this.query}|${this.monetization}|${this.includeHidden}
162
- ${this.rubriqueId}|${this.rubriquageId}|${this.before}|${this.after}|${this.sort}|${this.noRubrique}`;
129
+ ${this.iabId}|${this.rubriqueId}|${this.rubriquageId}|${this.before}|${this.after}|${this.sort}|${this.noRubriquageId}`;
163
130
  },
164
- sortText():string {
131
+ sortText(): string {
165
132
  switch (this.sort) {
166
133
  case 'SCORE':
167
- return this.$t('sort by score');
134
+ return this.$t('sort by score').toString();
168
135
  case 'LAST_PODCAST_DESC':
169
- return this.$t('sort by date');
136
+ return this.$t('sort by date').toString();
170
137
  case 'NAME':
171
- return this.$t('sort by alphabetical');
138
+ return this.$t('sort by alphabetical').toString();
172
139
  default:
173
- return this.$t('sort by date');
140
+ return this.$t('sort by date').toString();
174
141
  }
175
142
  },
176
- filterOrga():any {
143
+ filterOrga(): string {
177
144
  return this.$store.state.filter.organisationId;
178
145
  },
179
- organisation():any {
146
+ organisation(): string|undefined {
180
147
  if (this.organisationId) return this.organisationId;
181
148
  if (this.filterOrga) return this.filterOrga;
182
149
  return undefined;
183
150
  },
184
151
  },
152
+ watch: {
153
+ changed(): void {
154
+ this.fetchContent(true);
155
+ },
156
+ },
185
157
 
158
+
159
+
160
+ mounted() {
161
+ this.fetchContent(true);
162
+ if (this.displayRubriquage) {
163
+ this.fetchRubriques();
164
+ }
165
+ },
186
166
  methods: {
187
- async fetchContent(reset: boolean) {
167
+ async fetchContent(reset: boolean): Promise<void> {
188
168
  this.inFetching = true;
189
169
  if (reset) {
190
170
  this.emissions.length = 0;
@@ -192,30 +172,30 @@ export default defineComponent({
192
172
  this.loading = true;
193
173
  this.loaded = false;
194
174
  }
195
- let param:any = {
175
+ const param: any = {
196
176
  first: this.dfirst,
197
177
  size: this.dsize,
198
178
  query: this.query,
199
179
  organisationId: this.organisation,
200
180
  monetisable: this.monetization,
201
- rubriqueId: this.rubriqueId,
202
- rubriquageId: this.rubriquageId,
181
+ iabId: this.iabId,
203
182
  before: this.before,
204
183
  after: this.after,
205
184
  sort: this.sort,
206
- noRubrique: this.noRubrique,
185
+ noRubriquageId: this.noRubriquageId.length ? this.noRubriquageId : undefined,
186
+ rubriqueId: this.rubriqueId.length ? this.rubriqueId : undefined,
187
+ rubriquageId: this.rubriquageId.length ? this.rubriquageId : undefined,
207
188
  };
208
189
  if (this.includeHidden) {
209
190
  param.includeHidden = this.includeHidden;
210
- const data = await emissionApi.fetchEmissionsAdmin(this.$store, param);
191
+ const data = await emissionApi.fetchEmissionsAdmin(this.$store.state, param);
211
192
  this.afterFetching(reset, data);
212
193
  } else {
213
194
  const data = await octopusApi.fetchEmissions(param);
214
195
  this.afterFetching(reset, data);
215
196
  }
216
197
  },
217
-
218
- afterFetching(reset: any, data: any) {
198
+ afterFetching(reset: boolean, data: any): void {
219
199
  if (reset) {
220
200
  this.emissions.length = 0;
221
201
  this.dfirst = 0;
@@ -223,7 +203,7 @@ export default defineComponent({
223
203
  this.loading = false;
224
204
  this.loaded = true;
225
205
  this.displayCount = data.count;
226
- this.emissions = this.emissions.concat(data.result).filter((e:any) => {
206
+ this.emissions = this.emissions.concat(data.result).filter((e: Emission|null) => {
227
207
  if (null === e) {
228
208
  this.displayCount--;
229
209
  }
@@ -233,16 +213,15 @@ export default defineComponent({
233
213
  this.totalCount = data.count;
234
214
  this.inFetching = false;
235
215
  },
236
-
237
- displayMore(event: { preventDefault: () => void; }) {
216
+ displayMore(event: { preventDefault: () => void }): void {
238
217
  event.preventDefault();
239
218
  this.fetchContent(false);
240
219
  },
241
- async fetchRubriques() {
220
+ async fetchRubriques(): Promise<void> {
242
221
  const data = await octopusApi.fetchTopic(this.displayRubriquage);
243
222
  this.rubriques = data.rubriques;
244
223
  },
245
- mainRubriquage(emission: { rubriqueIds: any[]; }) {
224
+ mainRubriquage(emission: Emission): string {
246
225
  if (
247
226
  emission.rubriqueIds &&
248
227
  emission.rubriqueIds[0] === state.emissionsPage.mainRubrique
@@ -250,7 +229,7 @@ export default defineComponent({
250
229
  return 'partenaireRubrique';
251
230
  return '';
252
231
  },
253
- rubriquesId(emission: { rubriqueIds: string|any[]; }) {
232
+ rubriquesId(emission: Emission): string|undefined {
254
233
  if (
255
234
  !this.displayRubriquage ||
256
235
  !emission.rubriqueIds ||
@@ -259,19 +238,14 @@ export default defineComponent({
259
238
  !this.rubriques.length
260
239
  )
261
240
  return undefined;
262
- let rubrique = this.rubriques.find(
263
- ( element: { rubriqueId: any; }) => element.rubriqueId === emission.rubriqueIds[0]
241
+ const rubrique = this.rubriques.find(
242
+ (element: Rubrique) => element.rubriqueId === emission.rubriqueIds[0]
264
243
  );
244
+ if(!rubrique){ return undefined; }
265
245
  return rubrique.name;
266
246
  },
267
247
  },
268
-
269
- watch: {
270
- changed: {
271
- handler() {
272
- this.fetchContent(true);
273
- },
274
- },
275
- },
276
- });
248
+ })
277
249
  </script>
250
+
251
+ <style lang="scss"></style>