@saooti/octopus-sdk 37.0.5 → 37.0.7

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 (263) hide show
  1. package/README.md +2 -2
  2. package/index.html +1 -0
  3. package/index.ts +21 -21
  4. package/package.json +26 -20
  5. package/public/css/fonts/icomoon.eot +0 -0
  6. package/public/css/fonts/icomoon.svg +1 -1
  7. package/public/css/fonts/icomoon.ttf +0 -0
  8. package/public/css/fonts/icomoon.woff +0 -0
  9. package/public/css/fonts/montserrat/Montserrat-Black.ttf +0 -0
  10. package/public/css/fonts/montserrat/Montserrat-BlackItalic.ttf +0 -0
  11. package/public/css/fonts/montserrat/Montserrat-Bold.ttf +0 -0
  12. package/public/css/fonts/montserrat/Montserrat-BoldItalic.ttf +0 -0
  13. package/public/css/fonts/montserrat/Montserrat-ExtraBold.ttf +0 -0
  14. package/public/css/fonts/montserrat/Montserrat-ExtraBoldItalic.ttf +0 -0
  15. package/public/css/fonts/montserrat/Montserrat-ExtraLight.ttf +0 -0
  16. package/public/css/fonts/montserrat/Montserrat-ExtraLightItalic.ttf +0 -0
  17. package/public/css/fonts/montserrat/Montserrat-Italic.ttf +0 -0
  18. package/public/css/fonts/montserrat/Montserrat-Light.ttf +0 -0
  19. package/public/css/fonts/montserrat/Montserrat-LightItalic.ttf +0 -0
  20. package/public/css/fonts/montserrat/Montserrat-Medium.ttf +0 -0
  21. package/public/css/fonts/montserrat/Montserrat-MediumItalic.ttf +0 -0
  22. package/public/css/fonts/montserrat/Montserrat-Regular.ttf +0 -0
  23. package/public/css/fonts/montserrat/Montserrat-SemiBold.ttf +0 -0
  24. package/public/css/fonts/montserrat/Montserrat-SemiBoldItalic.ttf +0 -0
  25. package/public/css/fonts/montserrat/Montserrat-Thin.ttf +0 -0
  26. package/public/css/fonts/montserrat/Montserrat-ThinItalic.ttf +0 -0
  27. package/public/css/fonts/montserrat/style.css +28 -0
  28. package/public/css/fonts/style.css +5 -5
  29. package/src/App.vue +69 -60
  30. package/src/api/classicCrud.ts +12 -12
  31. package/src/api/initialize.ts +1 -1
  32. package/src/assets/bootstrap.scss +9 -0
  33. package/src/assets/general.scss +1 -1
  34. package/src/assets/share.scss +1 -1
  35. package/src/components/display/aggregator/RssSection.vue +3 -3
  36. package/src/components/display/categories/CategoryChooser.vue +73 -60
  37. package/src/components/display/categories/CategoryFilter.vue +134 -90
  38. package/src/components/display/categories/CategoryList.vue +76 -62
  39. package/src/components/display/comments/AddCommentModal.vue +44 -44
  40. package/src/components/display/comments/CommentBasicView.vue +38 -30
  41. package/src/components/display/comments/CommentInput.vue +122 -110
  42. package/src/components/display/comments/CommentItem.vue +144 -102
  43. package/src/components/display/comments/CommentList.vue +117 -85
  44. package/src/components/display/comments/CommentParentInfo.vue +18 -15
  45. package/src/components/display/comments/CommentPlayer.vue +39 -41
  46. package/src/components/display/comments/CommentSection.vue +68 -53
  47. package/src/components/display/edit/EditBox.vue +7 -7
  48. package/src/components/display/edit/EditBoxRadio.vue +3 -4
  49. package/src/components/display/edit/EditCommentBox.vue +34 -36
  50. package/src/components/display/emission/EmissionInlineList.vue +75 -63
  51. package/src/components/display/emission/EmissionItem.vue +47 -35
  52. package/src/components/display/emission/EmissionList.vue +111 -83
  53. package/src/components/display/emission/EmissionPlayerItem.vue +89 -89
  54. package/src/components/display/filter/AdvancedSearch.vue +81 -73
  55. package/src/components/display/filter/CategorySearchFilter.vue +27 -25
  56. package/src/components/display/filter/DateFilter.vue +38 -38
  57. package/src/components/display/filter/MonetizableFilter.vue +16 -14
  58. package/src/components/display/filter/ProductorSearch.vue +55 -47
  59. package/src/components/display/filter/RubriqueChoice.vue +42 -27
  60. package/src/components/display/filter/RubriqueFilter.vue +130 -85
  61. package/src/components/display/filter/SearchOrder.vue +16 -11
  62. package/src/components/display/list/ListPaginate.vue +72 -70
  63. package/src/components/display/list/PaginateParams.vue +29 -30
  64. package/src/components/display/list/PaginateSection.vue +210 -0
  65. package/src/components/display/list/SwiperList.vue +28 -32
  66. package/src/components/display/live/CountDown.vue +12 -14
  67. package/src/components/display/live/LiveHorizontalList.vue +60 -50
  68. package/src/components/display/live/LiveItem.vue +42 -26
  69. package/src/components/display/live/LiveList.vue +92 -65
  70. package/src/components/display/live/RadioCurrently.vue +47 -42
  71. package/src/components/display/live/RadioImage.vue +40 -42
  72. package/src/components/display/live/RadioItem.vue +15 -22
  73. package/src/components/display/live/RadioList.vue +24 -21
  74. package/src/components/display/live/RadioPlanning.vue +105 -68
  75. package/src/components/display/organisation/OrganisationChooser.vue +58 -42
  76. package/src/components/display/organisation/OrganisationChooserLight.vue +27 -19
  77. package/src/components/display/participant/ParticipantItem.vue +89 -76
  78. package/src/components/display/participant/ParticipantList.vue +90 -60
  79. package/src/components/display/playlist/PlaylistItem.vue +32 -35
  80. package/src/components/display/playlist/PlaylistList.vue +70 -52
  81. package/src/components/display/playlist/PodcastList.vue +61 -50
  82. package/src/components/display/playlist/PodcastPlaylistInlineList.vue +47 -38
  83. package/src/components/display/podcasts/AnimatorsItem.vue +17 -15
  84. package/src/components/display/podcasts/ParticipantDescription.vue +21 -22
  85. package/src/components/display/podcasts/PodcastFilterList.vue +28 -26
  86. package/src/components/display/podcasts/PodcastImage.vue +129 -138
  87. package/src/components/display/podcasts/PodcastInlineList.vue +33 -29
  88. package/src/components/display/podcasts/PodcastInlineListClassic.vue +91 -71
  89. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +94 -85
  90. package/src/components/display/podcasts/PodcastItem.vue +96 -90
  91. package/src/components/display/podcasts/PodcastItemInfo.vue +63 -65
  92. package/src/components/display/podcasts/PodcastList.vue +115 -84
  93. package/src/components/display/podcasts/PodcastModuleBox.vue +95 -104
  94. package/src/components/display/podcasts/PodcastPlayBar.vue +45 -32
  95. package/src/components/display/podcasts/PodcastSwiperList.vue +65 -55
  96. package/src/components/display/podcasts/TagList.vue +33 -37
  97. package/src/components/display/rubriques/RubriqueChooser.vue +70 -51
  98. package/src/components/display/rubriques/RubriqueList.vue +117 -89
  99. package/src/components/display/sharing/PlayerParameters.vue +45 -42
  100. package/src/components/display/sharing/QrCode.vue +52 -46
  101. package/src/components/display/sharing/ShareButtons.vue +25 -27
  102. package/src/components/display/sharing/ShareButtonsIntern.vue +182 -155
  103. package/src/components/display/sharing/ShareDistribution.vue +101 -67
  104. package/src/components/display/sharing/SharePlayer.vue +207 -127
  105. package/src/components/display/sharing/SharePlayerColors.vue +15 -15
  106. package/src/components/display/sharing/SharePlayerRadio.vue +62 -39
  107. package/src/components/display/sharing/SharePlayerTypes.vue +93 -55
  108. package/src/components/display/sharing/SubscribeButtons.vue +83 -32
  109. package/src/components/display/studio/RecordingItemButton.vue +3 -3
  110. package/src/components/form/ClassicCheckbox.vue +32 -31
  111. package/src/components/form/ClassicDatePicker.vue +47 -49
  112. package/src/components/form/ClassicInputText.vue +99 -98
  113. package/src/components/form/ClassicLoading.vue +11 -14
  114. package/src/components/form/ClassicMultiselect.vue +125 -126
  115. package/src/components/form/ClassicRadio.vue +15 -18
  116. package/src/components/form/ClassicSearch.vue +17 -23
  117. package/src/components/form/ClassicSelect.vue +35 -27
  118. package/src/components/form/{Wysiwyg.vue → ClassicWysiwyg.vue} +94 -109
  119. package/src/components/misc/AcpmImage.vue +26 -0
  120. package/src/components/misc/ClassicAccordion.vue +69 -0
  121. package/src/components/misc/ClassicNav.vue +117 -0
  122. package/src/components/misc/ClassicPopover.vue +212 -0
  123. package/src/components/misc/{Spinner.vue → ClassicSpinner.vue} +14 -15
  124. package/src/components/misc/ErrorMessage.vue +9 -17
  125. package/src/components/misc/FooterSection.vue +198 -0
  126. package/src/components/misc/HomeDropdown.vue +67 -64
  127. package/src/components/misc/LeftMenu.vue +115 -79
  128. package/src/components/misc/ProgressBar.vue +36 -32
  129. package/src/components/misc/SnackBar.vue +169 -0
  130. package/src/components/misc/TopBar.vue +161 -115
  131. package/src/components/misc/modal/ClassicModal.vue +99 -103
  132. package/src/components/misc/modal/ClipboardModal.vue +21 -23
  133. package/src/components/misc/modal/MessageModal.vue +22 -28
  134. package/src/components/misc/modal/NewsletterModal.vue +139 -113
  135. package/src/components/misc/modal/QrCodeModal.vue +14 -17
  136. package/src/components/misc/modal/ShareModalPlayer.vue +44 -60
  137. package/src/components/misc/player/PlayerCompact.vue +47 -62
  138. package/src/components/misc/player/{Player.vue → PlayerComponent.vue} +54 -46
  139. package/src/components/misc/player/PlayerLarge.vue +66 -62
  140. package/src/components/misc/player/PlayerProgressBar.vue +40 -30
  141. package/src/components/misc/player/PlayerTimeline.vue +32 -36
  142. package/src/components/misc/player/radio/RadioHistory.vue +62 -59
  143. package/src/components/misc/player/radio/RadioProgressBar.vue +44 -35
  144. package/src/components/mixins/cookies.ts +11 -10
  145. package/src/components/mixins/displayMethods.ts +5 -4
  146. package/src/components/mixins/handle403.ts +9 -9
  147. package/src/components/mixins/imageProxy.ts +14 -7
  148. package/src/components/mixins/init.ts +31 -16
  149. package/src/components/mixins/orgaComputed.ts +7 -7
  150. package/src/components/mixins/organisationFilter.ts +36 -22
  151. package/src/components/mixins/player/playerComment.ts +46 -37
  152. package/src/components/mixins/player/playerDisplay.ts +122 -87
  153. package/src/components/mixins/player/playerLive.ts +65 -43
  154. package/src/components/mixins/player/playerLogic.ts +133 -88
  155. package/src/components/mixins/player/playerTranscript.ts +48 -30
  156. package/src/components/mixins/radio/fetchRadioData.ts +40 -23
  157. package/src/components/mixins/selenium.ts +2 -2
  158. package/src/components/mixins/tagOfMixins.ts +11 -11
  159. package/src/components/pages/CategoryPage.vue +43 -0
  160. package/src/components/pages/{Emission.vue → EmissionPage.vue} +98 -67
  161. package/src/components/pages/{Emissions.vue → EmissionsPage.vue} +51 -44
  162. package/src/components/pages/Error403Page.vue +20 -19
  163. package/src/components/pages/HomePage.vue +144 -0
  164. package/src/components/pages/LivesPage.vue +66 -0
  165. package/src/components/pages/PageNotFound.vue +33 -22
  166. package/src/components/pages/{Participant.vue → ParticipantPage.vue} +63 -49
  167. package/src/components/pages/{Participants.vue → ParticipantsPage.vue} +9 -9
  168. package/src/components/pages/PlaylistPage.vue +175 -0
  169. package/src/components/pages/{Playlists.vue → PlaylistsPage.vue} +16 -14
  170. package/src/components/pages/PodcastPage.vue +365 -0
  171. package/src/components/pages/PodcastsPage.vue +152 -0
  172. package/src/components/pages/RadioPage.vue +131 -0
  173. package/src/components/pages/RubriquePage.vue +45 -0
  174. package/src/components/pages/{Search.vue → SearchPage.vue} +19 -19
  175. package/src/helper/dom.ts +1 -1
  176. package/src/helper/duration.ts +10 -4
  177. package/src/helper/useEventListener.ts +7 -8
  178. package/src/i18n.ts +31 -30
  179. package/src/locale/de.ts +263 -257
  180. package/src/locale/educationen.ts +13 -13
  181. package/src/locale/educationfr.ts +1 -1
  182. package/src/locale/en.ts +323 -324
  183. package/src/locale/es.ts +325 -318
  184. package/src/locale/fr.ts +330 -324
  185. package/src/locale/it.ts +332 -328
  186. package/src/locale/messages.ts +9 -9
  187. package/src/locale/sl.ts +315 -319
  188. package/src/main.ts +28 -31
  189. package/src/router/router.ts +218 -198
  190. package/src/shims-tsx.d.ts +1 -1
  191. package/src/shims-vue.d.ts +1 -1
  192. package/src/stores/ApiStore.ts +44 -44
  193. package/src/stores/AuthStore.ts +24 -16
  194. package/src/stores/CommentStore.ts +13 -11
  195. package/src/stores/FilterStore.ts +25 -15
  196. package/src/stores/GeneralStore.ts +15 -15
  197. package/src/stores/ParamSdkStore.ts +179 -137
  198. package/src/stores/PlayerStore.ts +139 -125
  199. package/src/stores/class/adserver/adserverConfig.ts +1 -1
  200. package/src/stores/class/adserver/adserverOtherEmission.ts +9 -9
  201. package/src/stores/class/cartouchier/cartouche.ts +4 -4
  202. package/src/stores/class/cartouchier/cartouchier.ts +2 -2
  203. package/src/stores/class/conference/conference.ts +10 -9
  204. package/src/stores/class/conference/conferenceMessage.ts +2 -2
  205. package/src/stores/class/conference/conferenceParticipant.ts +1 -1
  206. package/src/stores/class/conference/studioCall.ts +6 -6
  207. package/src/stores/class/contract/contractOrganisation.ts +5 -5
  208. package/src/stores/class/ftp/ftpEmission.ts +9 -9
  209. package/src/stores/class/ftp/testFtpEmission.ts +4 -4
  210. package/src/stores/class/general/audioView.ts +19 -19
  211. package/src/stores/class/general/category.ts +1 -1
  212. package/src/stores/class/general/classicSelectType.ts +2 -3
  213. package/src/stores/class/general/customPlayer.ts +8 -8
  214. package/src/stores/class/general/emission.ts +20 -21
  215. package/src/stores/class/general/fetchParam.ts +8 -2
  216. package/src/stores/class/general/initState.ts +31 -31
  217. package/src/stores/class/general/interfacePageable.ts +13 -13
  218. package/src/stores/class/general/ituneCategory.ts +4 -4
  219. package/src/stores/class/general/listReturn.ts +12 -12
  220. package/src/stores/class/general/media.ts +7 -7
  221. package/src/stores/class/general/organisation.ts +9 -10
  222. package/src/stores/class/general/pageable.ts +10 -10
  223. package/src/stores/class/general/participant.ts +7 -7
  224. package/src/stores/class/general/player.ts +30 -28
  225. package/src/stores/class/general/playlist.ts +17 -19
  226. package/src/stores/class/general/podcast.ts +19 -19
  227. package/src/stores/class/general/sortPageable.ts +4 -4
  228. package/src/stores/class/general/soundcastCategory.ts +7 -7
  229. package/src/stores/class/ouestFrance/ofTag.ts +34 -34
  230. package/src/stores/class/ouestFrance/ofTagInfo.ts +9 -9
  231. package/src/stores/class/ouestFrance/ofTagPage.ts +7 -7
  232. package/src/stores/class/ouestFrance/ofTagSeo.ts +7 -7
  233. package/src/stores/class/ouestFrance/ofTagVente.ts +6 -6
  234. package/src/stores/class/ouestFrance/ofTagWithParents.ts +20 -20
  235. package/src/stores/class/radio/canal.ts +4 -4
  236. package/src/stores/class/radio/live.ts +6 -6
  237. package/src/stores/class/radio/mix.ts +16 -16
  238. package/src/stores/class/radio/playlistMedia.ts +7 -7
  239. package/src/stores/class/radio/recurrence.ts +54 -54
  240. package/src/stores/class/rss/rssEmission.ts +13 -13
  241. package/src/stores/class/rss/rssInfo.ts +7 -7
  242. package/src/stores/class/rubrique/rubriquage.ts +2 -2
  243. package/src/stores/class/rubrique/rubrique.ts +1 -1
  244. package/src/stores/class/stat/statArrayIncome.ts +5 -5
  245. package/src/stores/class/stat/statArrayObject.ts +26 -26
  246. package/src/stores/class/stat/statGraph.ts +6 -6
  247. package/src/stores/class/user/person.ts +4 -2
  248. package/src/stores/class/user/profile.ts +4 -2
  249. package/src/stores/class/user/userKeycloak.ts +4 -5
  250. package/src/components/display/list/Paginate.vue +0 -181
  251. package/src/components/misc/Accordion.vue +0 -78
  252. package/src/components/misc/Footer.vue +0 -165
  253. package/src/components/misc/Nav.vue +0 -119
  254. package/src/components/misc/Popover.vue +0 -193
  255. package/src/components/misc/Snackbar.vue +0 -168
  256. package/src/components/pages/Category.vue +0 -41
  257. package/src/components/pages/Home.vue +0 -125
  258. package/src/components/pages/Lives.vue +0 -64
  259. package/src/components/pages/Playlist.vue +0 -164
  260. package/src/components/pages/Podcast.vue +0 -307
  261. package/src/components/pages/Podcasts.vue +0 -146
  262. package/src/components/pages/Radio.vue +0 -122
  263. package/src/components/pages/Rubrique.vue +0 -42
@@ -1,13 +1,7 @@
1
1
  <template>
2
- <div
3
- v-if="isComments"
4
- class="module-box"
5
- >
2
+ <div v-if="isComments" class="module-box">
6
3
  <div class="d-flex align-items-center">
7
- <h2
8
- class="mb-0 me-2"
9
- data-selenium="episode-comment-counter"
10
- >
4
+ <h2 class="mb-0 me-2" data-selenium="episode-comment-counter">
11
5
  {{ commentTitle }}
12
6
  </h2>
13
7
  <button
@@ -21,7 +15,7 @@
21
15
  v-model:knownIdentity="knownIdentity"
22
16
  :podcast="podcast"
23
17
  :fetch-conference="fetchConference"
24
- @newComment="newComment"
18
+ @new-comment="newComment"
25
19
  />
26
20
  <CommentList
27
21
  ref="commentList"
@@ -35,25 +29,25 @@
35
29
  </template>
36
30
 
37
31
  <script lang="ts">
38
- import CommentList from './CommentList.vue';
39
- import CommentInput from './CommentInput.vue';
40
- import cookies from '../../mixins/cookies';
41
- import { Podcast } from '@/stores/class/general/podcast';
42
- import { Conference } from '@/stores/class/conference/conference';
43
- import { useCommentStore } from '@/stores/CommentStore';
44
- import { mapState, mapActions } from 'pinia';
45
- import { defineComponent } from 'vue'
46
- import { CommentPodcast } from '@/stores/class/general/comment';
32
+ import CommentList from "./CommentList.vue";
33
+ import CommentInput from "./CommentInput.vue";
34
+ import cookies from "../../mixins/cookies";
35
+ import { Podcast } from "@/stores/class/general/podcast";
36
+ import { Conference } from "@/stores/class/conference/conference";
37
+ import { useCommentStore } from "@/stores/CommentStore";
38
+ import { mapState, mapActions } from "pinia";
39
+ import { defineComponent } from "vue";
40
+ import { CommentPodcast } from "@/stores/class/general/comment";
47
41
  export default defineComponent({
48
- name: 'CommentSection',
42
+ name: "CommentSection",
49
43
  components: {
50
44
  CommentList,
51
45
  CommentInput,
52
46
  },
53
- mixins:[cookies],
47
+ mixins: [cookies],
54
48
  props: {
55
- podcast: { default: undefined, type: Object as ()=>Podcast },
56
- fetchConference: { default: undefined, type: Object as ()=>Conference },
49
+ podcast: { default: undefined, type: Object as () => Podcast },
50
+ fetchConference: { default: undefined, type: Object as () => Conference },
57
51
  },
58
52
  data() {
59
53
  return {
@@ -63,75 +57,96 @@ export default defineComponent({
63
57
  };
64
58
  },
65
59
  computed: {
66
- ...mapState(useCommentStore, ['commentKnownIdentity']),
67
- commentTitle():string{
68
- const count = this.loaded && this.totalCount > 0 ? this.$t('()', { nb: this.totalCount }) : '';
69
- return this.$t("Podcast's comments")+count;
60
+ ...mapState(useCommentStore, ["commentKnownIdentity"]),
61
+ commentTitle(): string {
62
+ const count =
63
+ this.loaded && this.totalCount > 0
64
+ ? this.$t("()", { nb: this.totalCount })
65
+ : "";
66
+ return this.$t("Podcast's comments") + count;
70
67
  },
71
68
  isComments(): boolean {
72
69
  if (!this.podcast) return true;
73
- let podcastComment = 'INHERIT';
70
+ let podcastComment = "INHERIT";
74
71
  if (this.podcast.annotations && this.podcast.annotations.COMMENTS) {
75
- podcastComment = (this.podcast.annotations.COMMENTS as string);
72
+ podcastComment = this.podcast.annotations.COMMENTS as string;
76
73
  }
77
- let organisationComment = 'LIVE_ONLY';
74
+ let organisationComment = "LIVE_ONLY";
78
75
  if (this.podcast.organisation.comments) {
79
76
  organisationComment = this.podcast.organisation.comments;
80
77
  }
81
78
  return !(
82
- 'NO' === podcastComment ||
83
- ('INHERIT' === podcastComment && 'NO' === organisationComment) ||
84
- ('LIVE_RECORD' === podcastComment &&
85
- 'READY_TO_RECORD' !== this.podcast.processingStatus) ||
86
- ('INHERIT' === podcastComment &&
87
- 'LIVE_ONLY' === organisationComment &&
79
+ "NO" === podcastComment ||
80
+ ("INHERIT" === podcastComment && "NO" === organisationComment) ||
81
+ ("LIVE_RECORD" === podcastComment &&
82
+ "READY_TO_RECORD" !== this.podcast.processingStatus) ||
83
+ ("INHERIT" === podcastComment &&
84
+ "LIVE_ONLY" === organisationComment &&
88
85
  !this.podcast.conferenceId &&
89
86
  0 !== this.podcast.conferenceId)
90
87
  );
91
88
  },
92
89
  knownIdentity: {
93
- get(): string|null {
90
+ get(): string | null {
94
91
  return this.commentKnownIdentity;
95
92
  },
96
- set(value: string|null) {
93
+ set(value: string | null) {
97
94
  this.setCommentIdentity(value);
98
95
  },
99
96
  },
100
97
  isLive(): boolean {
101
98
  return (
102
- undefined!==this.fetchConference &&
99
+ undefined !== this.fetchConference &&
103
100
  -1 !== this.fetchConference.conferenceId &&
104
- 'PUBLISHING' !== this.fetchConference.status &&
105
- 'DEBRIEFING' !== this.fetchConference.status
101
+ "PUBLISHING" !== this.fetchConference.status &&
102
+ "DEBRIEFING" !== this.fetchConference.status
106
103
  );
107
104
  },
108
105
  },
109
106
 
110
107
  created() {
111
- this.knownIdentity = this.getCookie('comment-octopus-name');
108
+ this.knownIdentity = this.getCookie("comment-octopus-name");
112
109
  },
113
110
  methods: {
114
- ...mapActions(useCommentStore, ['setCommentIdentity', 'setCommentLoaded']),
115
- updateFetch(value: { count: number, comments: Array<CommentPodcast> }): void {
111
+ ...mapActions(useCommentStore, ["setCommentIdentity", "setCommentLoaded"]),
112
+ updateFetch(value: {
113
+ count: number;
114
+ comments: Array<CommentPodcast>;
115
+ }): void {
116
116
  this.loaded = true;
117
117
  this.setCommentLoaded({
118
118
  ...value,
119
- podcastId: this.podcast? this.podcast.podcastId: undefined,
119
+ podcastId: this.podcast ? this.podcast.podcastId : undefined,
120
120
  });
121
121
  this.totalCount = value.count;
122
122
  },
123
123
  newComment(comment: CommentPodcast): void {
124
- (this.$refs.commentList as InstanceType<typeof CommentList>).addNewComment(comment, true);
124
+ (
125
+ this.$refs.commentList as InstanceType<typeof CommentList>
126
+ ).addNewComment(comment, true);
125
127
  },
126
- receiveCommentEvent(event: {type: string; comment: CommentPodcast; oldStatus?:string }): void {
127
- const commentList = (this.$refs.commentList as InstanceType<typeof CommentList>);
128
+ receiveCommentEvent(event: {
129
+ type: string;
130
+ comment: CommentPodcast;
131
+ oldStatus?: string;
132
+ }): void {
133
+ const commentList = this.$refs.commentList as InstanceType<
134
+ typeof CommentList
135
+ >;
128
136
  switch (event.type) {
129
- case 'Create':commentList.addNewComment(event.comment);break;
130
- case 'Update':commentList.updateComment(event);break;
131
- case 'Delete':commentList.deleteComment(event.comment);break;
132
- default:break;
137
+ case "Create":
138
+ commentList.addNewComment(event.comment);
139
+ break;
140
+ case "Update":
141
+ commentList.updateComment(event);
142
+ break;
143
+ case "Delete":
144
+ commentList.deleteComment(event.comment);
145
+ break;
146
+ default:
147
+ break;
133
148
  }
134
149
  },
135
150
  },
136
- })
137
- </script>
151
+ });
152
+ </script>
@@ -3,13 +3,13 @@
3
3
  </template>
4
4
 
5
5
  <script lang="ts">
6
- import { CommentPodcast } from '@/stores/class/general/comment';
7
- import { defineComponent } from 'vue'
6
+ import { CommentPodcast } from "@/stores/class/general/comment";
7
+ import { defineComponent } from "vue";
8
8
  export default defineComponent({
9
- methods:{
10
- updateComment(comment: CommentPodcast): void{
9
+ methods: {
10
+ updateComment(comment: CommentPodcast): void {
11
11
  console.log(comment);
12
- }
13
- }
14
- })
12
+ },
13
+ },
14
+ });
15
15
  </script>
@@ -3,9 +3,8 @@
3
3
  </template>
4
4
 
5
5
  <script lang="ts">
6
- import { defineComponent } from 'vue'
6
+ import { defineComponent } from "vue";
7
7
  export default defineComponent({
8
- methods:{
9
- }
10
- })
8
+ methods: {},
9
+ });
11
10
  </script>
@@ -1,10 +1,6 @@
1
1
  <template>
2
2
  <div class="d-flex">
3
- <button
4
- class="btn admin-button me-1"
5
- title="edit"
6
- @click="editComment"
7
- >
3
+ <button class="btn admin-button me-1" title="edit" @click="editComment">
8
4
  <span
9
5
  class="saooti-edit"
10
6
  :data-selenium="'Edit-Comment-' + seleniumFormat(comment.name)"
@@ -68,11 +64,11 @@
68
64
  </template>
69
65
 
70
66
  <script lang="ts">
71
- import selenium from '../../mixins/selenium';
72
- import { CommentPodcast } from '@/stores/class/general/comment';
73
- import { defineComponent, defineAsyncComponent } from 'vue';
67
+ import selenium from "../../mixins/selenium";
68
+ import { CommentPodcast } from "@/stores/class/general/comment";
69
+ import { defineComponent, defineAsyncComponent } from "vue";
74
70
  const MessageModal = defineAsyncComponent(
75
- () => import('@/components/misc/modal/MessageModal.vue')
71
+ () => import("@/components/misc/modal/MessageModal.vue"),
76
72
  );
77
73
  export default defineComponent({
78
74
  components: {
@@ -84,70 +80,72 @@ export default defineComponent({
84
80
  comment: { default: () => ({}), type: Object as () => CommentPodcast },
85
81
  organisation: { default: undefined, type: String },
86
82
  },
87
- emits: ['editComment', 'updateComment', 'deleteComment'],
83
+ emits: ["editComment", "updateComment", "deleteComment"],
88
84
 
89
85
  data() {
90
86
  return {
91
87
  displayModal: false as boolean,
92
88
  isDeleting: false as boolean,
93
- type: 'update' as string,
89
+ type: "update" as string,
94
90
  seeMore: false as boolean,
95
91
  };
96
92
  },
97
93
 
98
94
  computed: {
99
95
  validateText(): string | undefined {
100
- if ('Error' === this.type || 'Error403' === this.type)
101
- return this.$t('Close').toString();
96
+ if ("Error" === this.type || "Error403" === this.type)
97
+ return this.$t("Close").toString();
102
98
  if (this.isDeleting) return undefined;
103
- return this.$t('Yes').toString();
99
+ return this.$t("Yes").toString();
104
100
  },
105
101
  canceltext(): string | undefined {
106
- if ('Error' === this.type || 'Error403' === this.type) return undefined;
107
- return this.$t('No').toString();
102
+ if ("Error" === this.type || "Error403" === this.type) return undefined;
103
+ return this.$t("No").toString();
108
104
  },
109
105
  modalMessage(): string {
110
106
  switch (this.type) {
111
- case 'Delete':
107
+ case "Delete":
112
108
  if (this.isDeleting)
113
- return this.$t('Deleting in progress ...').toString();
114
- return this.$t('Confirm comment deletion text', {
109
+ return this.$t("Deleting in progress ...").toString();
110
+ return this.$t("Confirm comment deletion text", {
115
111
  name: this.comment.name,
116
112
  }).toString();
117
- case 'Error':
118
- return this.$t('Error occurs while updating your comment').toString();
119
- case 'Error403':
120
- return this.$t('403 error forbidden').toString();
113
+ case "Error":
114
+ return this.$t("Error occurs while updating your comment").toString();
115
+ case "Error403":
116
+ return this.$t("403 error forbidden").toString();
121
117
  default:
122
- return '';
118
+ return "";
123
119
  }
124
120
  },
125
121
  modalTitle(): string {
126
122
  switch (this.type) {
127
- case 'Delete':
128
- return this.$t('Delete comment').toString();
129
- case 'Error403':
130
- case 'Error':
131
- return this.$t('Error').toString();
123
+ case "Delete":
124
+ return this.$t("Delete comment").toString();
125
+ case "Error403":
126
+ case "Error":
127
+ return this.$t("Error").toString();
132
128
  default:
133
- return this.$t('Update comment').toString();
129
+ return this.$t("Update comment").toString();
134
130
  }
135
131
  },
136
132
  },
137
133
 
138
134
  methods: {
139
135
  editComment(): void {
140
- this.$emit('editComment');
136
+ this.$emit("editComment");
141
137
  },
142
138
  commentModal(type: string): void {
143
- console.log('commentModal'+ type);
139
+ console.log("commentModal" + type);
144
140
  },
145
- async updateComment(newComment?: CommentPodcast | undefined): Promise<void> {
146
- console.log('updateComment' + newComment);
141
+ async updateComment(
142
+ newComment?: CommentPodcast | undefined,
143
+ ): Promise<void> {
144
+ console.log("updateComment" + newComment);
147
145
  },
148
146
  async deleteComment(): Promise<void> {
149
- console.log('deleteComment');
147
+ console.log("deleteComment");
150
148
  },
151
149
  },
152
150
  });
153
- </script>
151
+ </script>
@@ -1,9 +1,6 @@
1
1
  <template>
2
2
  <div class="d-flex flex-column p-3 list-episode">
3
- <div
4
- v-if="!overflowScroll"
5
- class="d-flex justify-content-end"
6
- >
3
+ <div v-if="!overflowScroll" class="d-flex justify-content-end">
7
4
  <div class="hide-phone">
8
5
  <button
9
6
  class="btn admin-button m-1 saooti-left"
@@ -20,7 +17,7 @@
20
17
  </div>
21
18
  </div>
22
19
  <ClassicLoading
23
- :loading-text="loading?$t('Loading emissions ...'):undefined"
20
+ :loading-text="loading ? $t('Loading emissions ...') : undefined"
24
21
  />
25
22
  <transition-group
26
23
  v-show="
@@ -49,41 +46,39 @@
49
46
  :to="href"
50
47
  class="btn btn-primary align-self-center width-fit-content m-4"
51
48
  >
52
- {{
53
- buttonText
54
- }}
49
+ {{ buttonText }}
55
50
  </router-link>
56
51
  </div>
57
52
  </template>
58
53
 
59
54
  <script lang="ts">
60
- import octopusApi from '@saooti/octopus-api';
61
- import domHelper from '../../../helper/dom';
62
- import EmissionPlayerItem from './EmissionPlayerItem.vue';
63
- import { state } from '../../../stores/ParamSdkStore';
64
- import { handle403 } from '../../mixins/handle403';
55
+ import octopusApi from "@saooti/octopus-api";
56
+ import domHelper from "../../../helper/dom";
57
+ import EmissionPlayerItem from "./EmissionPlayerItem.vue";
58
+ import { state } from "../../../stores/ParamSdkStore";
59
+ import { handle403 } from "../../mixins/handle403";
65
60
  const PHONE_WIDTH = 960;
66
- import ClassicLoading from '../../form/ClassicLoading.vue';
67
- import { Emission } from '@/stores/class/general/emission';
68
- import { Rubrique } from '@/stores/class/rubrique/rubrique';
69
- import { defineComponent } from 'vue'
70
- import { AxiosError } from 'axios';
71
- import imageProxy from '../../mixins/imageProxy';
72
- import { Rubriquage } from '@/stores/class/rubrique/rubriquage';
61
+ import ClassicLoading from "../../form/ClassicLoading.vue";
62
+ import { Emission } from "@/stores/class/general/emission";
63
+ import { Rubrique } from "@/stores/class/rubrique/rubrique";
64
+ import { defineComponent } from "vue";
65
+ import { AxiosError } from "axios";
66
+ import imageProxy from "../../mixins/imageProxy";
67
+ import { Rubriquage } from "@/stores/class/rubrique/rubriquage";
73
68
  export default defineComponent({
74
- name: 'EmissionInlineList',
69
+ name: "EmissionInlineList",
75
70
 
76
71
  components: {
77
72
  EmissionPlayerItem,
78
- ClassicLoading
73
+ ClassicLoading,
79
74
  },
80
75
 
81
- mixins: [handle403,imageProxy],
76
+ mixins: [handle403, imageProxy],
82
77
 
83
78
  props: {
84
- organisationId: { default: undefined, type: String},
85
- href: { default: undefined, type: String},
86
- buttonText: { default: undefined, type: String},
79
+ organisationId: { default: undefined, type: String },
80
+ href: { default: undefined, type: String },
81
+ buttonText: { default: undefined, type: String },
87
82
  rubriqueId: { default: undefined, type: Number },
88
83
  rubriquageId: { default: undefined, type: Number },
89
84
  nbPodcasts: { default: undefined, type: Number },
@@ -102,17 +97,16 @@ export default defineComponent({
102
97
  allEmissions: [] as Array<Emission>,
103
98
  direction: 1 as number,
104
99
  alignLeft: false as boolean,
105
- rubriques: undefined as Array<Rubrique>|undefined,
100
+ rubriques: undefined as Array<Rubrique> | undefined,
106
101
  };
107
102
  },
108
103
 
109
-
110
104
  computed: {
111
105
  emissions(): Array<Emission> {
112
106
  return this.allEmissions.slice(this.index, this.index + this.size);
113
107
  },
114
108
  overflowScroll(): boolean {
115
- return (state.emissionsPage.overflowScroll as boolean);
109
+ return state.emissionsPage.overflowScroll as boolean;
116
110
  },
117
111
  previousAvailable(): boolean {
118
112
  return this.index > 0;
@@ -120,29 +114,29 @@ export default defineComponent({
120
114
  nextAvailable(): boolean {
121
115
  return this.index + this.size < this.totalCount;
122
116
  },
123
- displayRubriquage(): number|undefined {
117
+ displayRubriquage(): number | undefined {
124
118
  return state.emissionsPage.rubriquage;
125
119
  },
126
120
  transitionName(): string {
127
- return this.direction > 0 ? 'out-left' : 'out-right';
121
+ return this.direction > 0 ? "out-left" : "out-right";
128
122
  },
129
123
  isInlineAnimation(): boolean {
130
- return (state.generalParameters.isInlineAnimation as boolean);
124
+ return state.generalParameters.isInlineAnimation as boolean;
131
125
  },
132
126
  },
133
127
 
134
128
  watch: {
135
- sizeItem(){
129
+ sizeItem() {
136
130
  this.handleResize();
137
- }
131
+ },
138
132
  },
139
-
133
+
140
134
  created() {
141
- window.addEventListener('resize', this.handleResize);
135
+ window.addEventListener("resize", this.handleResize);
142
136
  },
143
137
 
144
138
  unmounted() {
145
- window.removeEventListener('resize', this.handleResize);
139
+ window.removeEventListener("resize", this.handleResize);
146
140
  },
147
141
 
148
142
  mounted() {
@@ -155,15 +149,24 @@ export default defineComponent({
155
149
  methods: {
156
150
  async fetchNext(): Promise<void> {
157
151
  try {
158
- const data = await octopusApi.fetchDataWithParams<{count: number;result:Array<Emission>;sort: string;}>(0, 'emission/search',{
159
- first: this.first,
160
- size: this.size + 1,
161
- organisationId: this.organisationId,
162
- rubriqueId: this.rubriqueId ? [this.rubriqueId] : [],
163
- rubriquageId: this.rubriquageId ? [this.rubriquageId] : [],
164
- sort: 'LAST_PODCAST_DESC',
165
- }, true);
166
-
152
+ const data = await octopusApi.fetchDataWithParams<{
153
+ count: number;
154
+ result: Array<Emission>;
155
+ sort: string;
156
+ }>(
157
+ 0,
158
+ "emission/search",
159
+ {
160
+ first: this.first,
161
+ size: this.size + 1,
162
+ organisationId: this.organisationId,
163
+ rubriqueId: this.rubriqueId ? [this.rubriqueId] : [],
164
+ rubriquageId: this.rubriquageId ? [this.rubriquageId] : [],
165
+ sort: "LAST_PODCAST_DESC",
166
+ },
167
+ true,
168
+ );
169
+
167
170
  this.loading = false;
168
171
  this.loaded = true;
169
172
  this.totalCount = data.count;
@@ -177,7 +180,7 @@ export default defineComponent({
177
180
  }
178
181
  this.first += this.size;
179
182
  } catch (error) {
180
- this.handle403((error as AxiosError));
183
+ this.handle403(error as AxiosError);
181
184
  }
182
185
  },
183
186
  displayPrevious(): void {
@@ -221,13 +224,16 @@ export default defineComponent({
221
224
  },
222
225
  preloadImage(url: string): void {
223
226
  const img = new Image();
224
- img.src = this.proxyImageUrl(url,'330');
227
+ img.src = this.proxyImageUrl(url, "330");
225
228
  },
226
229
  async fetchRubriques(): Promise<void> {
227
- const data = await octopusApi.fetchData<Rubriquage>(0, 'rubriquage/'+this.displayRubriquage);
230
+ const data = await octopusApi.fetchData<Rubriquage>(
231
+ 0,
232
+ "rubriquage/" + this.displayRubriquage,
233
+ );
228
234
  this.rubriques = data.rubriques;
229
235
  },
230
- rubriquesId(emission: Emission): string|undefined {
236
+ rubriquesId(emission: Emission): string | undefined {
231
237
  if (
232
238
  !this.displayRubriquage ||
233
239
  !emission.rubriqueIds ||
@@ -237,29 +243,35 @@ export default defineComponent({
237
243
  )
238
244
  return undefined;
239
245
  const rubrique = this.rubriques.find(
240
- (element: Rubrique) => element.rubriqueId && emission.rubriqueIds.includes(element.rubriqueId) && element.rubriquageId === this.displayRubriquage
246
+ (element: Rubrique) =>
247
+ element.rubriqueId &&
248
+ emission.rubriqueIds.includes(element.rubriqueId) &&
249
+ element.rubriquageId === this.displayRubriquage,
241
250
  );
242
- if(rubrique){
251
+ if (rubrique) {
243
252
  return rubrique.name;
244
253
  }
245
254
  },
246
255
  mainRubriquage(emission: Emission): string {
247
- return state.emissionsPage.mainRubrique && emission.rubriqueIds?.includes(state.emissionsPage.mainRubrique) ? 'partenaireRubrique' : '';
256
+ return state.emissionsPage.mainRubrique &&
257
+ emission.rubriqueIds?.includes(state.emissionsPage.mainRubrique)
258
+ ? "partenaireRubrique"
259
+ : "";
248
260
  },
249
261
  },
250
- })
262
+ });
251
263
  </script>
252
264
 
253
265
  <style lang="scss">
254
- .octopus-app{
266
+ .octopus-app {
255
267
  .list-episode {
256
- padding: 2rem 0rem 1rem !important;
257
- @media (max-width: 450px) {
258
- padding: 0.5rem 0rem 1rem !important;
259
- }
260
- h2 {
261
- margin-bottom: 1rem;
262
- }
268
+ padding: 2rem 0rem 1rem !important;
269
+ @media (max-width: 450px) {
270
+ padding: 0.5rem 0rem 1rem !important;
271
+ }
272
+ h2 {
273
+ margin-bottom: 1rem;
274
+ }
263
275
  }
264
276
  }
265
- </style>
277
+ </style>