@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,12 +1,10 @@
1
1
  <template>
2
2
  <div class="d-flex flex-column mt-3">
3
3
  <ClassicLoading
4
- :loading-text="loading?$t('Loading content ...'):undefined"
5
- :error-text="error?$t(`Comments loading error`):undefined"
4
+ :loading-text="loading ? $t('Loading content ...') : undefined"
5
+ :error-text="error ? $t(`Comments loading error`) : undefined"
6
6
  />
7
- <div
8
- v-show="!loading"
9
- >
7
+ <div v-show="!loading">
10
8
  <CommentItem
11
9
  v-for="(c, indexCom) in comments"
12
10
  :ref="'comItem' + c.comId"
@@ -16,60 +14,60 @@
16
14
  :podcast="podcast"
17
15
  :fetch-conference="fetchConference"
18
16
  :organisation="organisation"
19
- @deleteComment="deleteComment(c)"
20
- @updateComment="updateComment"
17
+ @delete-comment="deleteComment(c)"
18
+ @update-comment="updateComment"
21
19
  />
22
20
  </div>
23
21
  <button
24
- v-show="!allFetched && (!loading || 0!==first)"
22
+ v-show="!allFetched && (!loading || 0 !== first)"
25
23
  class="btn btn-primary mt-2"
26
24
  :class="comId ? 'align-self-start' : 'align-self-center'"
27
25
  :disabled="loading"
28
26
  :title="$t('See more comments')"
29
27
  @click="fetchContent(false)"
30
28
  >
31
- {{ $t('See more comments') }}
29
+ {{ $t("See more comments") }}
32
30
  </button>
33
31
  </div>
34
32
  </template>
35
33
 
36
34
  <script lang="ts">
37
- import ClassicLoading from '../../form/ClassicLoading.vue';
38
- import { state } from '../../../stores/ParamSdkStore';
39
- import octopusApi from '@saooti/octopus-api';
40
- import dayjs from 'dayjs';
41
- import { Podcast } from '@/stores/class/general/podcast';
42
- import { Conference } from '@/stores/class/conference/conference';
43
- import { CommentPodcast } from '@/stores/class/general/comment';
44
- import { InterfacePageable } from '@/stores/class/general/interfacePageable';
45
- import { defineComponent, defineAsyncComponent } from 'vue';
35
+ import ClassicLoading from "../../form/ClassicLoading.vue";
36
+ import { state } from "../../../stores/ParamSdkStore";
37
+ import octopusApi from "@saooti/octopus-api";
38
+ import dayjs from "dayjs";
39
+ import { Podcast } from "@/stores/class/general/podcast";
40
+ import { Conference } from "@/stores/class/conference/conference";
41
+ import { CommentPodcast } from "@/stores/class/general/comment";
42
+ import { InterfacePageable } from "@/stores/class/general/interfacePageable";
43
+ import { defineComponent, defineAsyncComponent } from "vue";
46
44
  /* eslint-disable */
47
45
  const CommentItem: any = defineAsyncComponent(() => import('./CommentItem.vue'));
48
46
  /* eslint-enable */
49
47
  export default defineComponent({
50
- name: 'CommentList',
48
+ name: "CommentList",
51
49
 
52
50
  components: {
53
51
  CommentItem,
54
- ClassicLoading
52
+ ClassicLoading,
55
53
  },
56
54
 
57
55
  props: {
58
- podcast: { default: undefined, type: Object as ()=>Podcast},
56
+ podcast: { default: undefined, type: Object as () => Podcast },
59
57
  comId: { default: undefined, type: Number },
60
- reload: { default: false, type: Boolean},
61
- fetchConference: { default: undefined, type: Object as ()=>Conference},
62
- organisation: { default: undefined, type: String},
63
- status: { default: undefined, type: String},
64
- isFlat: { default: false, type: Boolean},
58
+ reload: { default: false, type: Boolean },
59
+ fetchConference: { default: undefined, type: Object as () => Conference },
60
+ organisation: { default: undefined, type: String },
61
+ status: { default: undefined, type: String },
62
+ isFlat: { default: false, type: Boolean },
65
63
  },
66
- emits: ['updateStatus', 'fetch'],
64
+ emits: ["updateStatus", "fetch"],
67
65
 
68
66
  data() {
69
67
  return {
70
68
  loading: true as boolean,
71
69
  error: false as boolean,
72
- first:0 as number,
70
+ first: 0 as number,
73
71
  size: 20 as number,
74
72
  totalCount: 0 as number,
75
73
  comments: [] as Array<CommentPodcast>,
@@ -80,88 +78,108 @@ export default defineComponent({
80
78
  allFetched(): boolean {
81
79
  return this.first >= this.totalCount;
82
80
  },
83
- myOrganisationId(): string|undefined {
81
+ myOrganisationId(): string | undefined {
84
82
  return state.generalParameters.organisationId;
85
83
  },
86
- podcastId(): number|undefined {
84
+ podcastId(): number | undefined {
87
85
  return this.podcast?.podcastId;
88
86
  },
89
87
  editRight(): boolean {
90
- return (true === state.generalParameters.isCommments &&
91
- ((this.myOrganisationId === this.podcast?.organisation.id) ||
92
- this.myOrganisationId === this.organisation)) ||
93
- true === state.generalParameters.isAdmin;
88
+ return (
89
+ (true === state.generalParameters.isCommments &&
90
+ (this.myOrganisationId === this.podcast?.organisation.id ||
91
+ this.myOrganisationId === this.organisation)) ||
92
+ true === state.generalParameters.isAdmin
93
+ );
94
94
  },
95
- watchVariable():string{
95
+ watchVariable(): string {
96
96
  return `${this.reload}|${this.status}`;
97
97
  },
98
- statusPost():Array<string>{
99
- if(this.editRight && this.status){
98
+ statusPost(): Array<string> {
99
+ if (this.editRight && this.status) {
100
100
  return [this.status];
101
101
  }
102
- return this.editRight? ['Valid','Pending', 'Invalid']:['Valid'];
103
- }
104
-
102
+ return this.editRight ? ["Valid", "Pending", "Invalid"] : ["Valid"];
103
+ },
105
104
  },
106
105
  watch: {
107
106
  watchVariable: {
108
- immediate:true,
109
- handler(){
107
+ immediate: true,
108
+ handler() {
110
109
  this.fetchContent();
111
- }
110
+ },
112
111
  },
113
112
  comments: {
114
113
  deep: true,
115
- handler(){
116
- this.$emit('fetch', { count: this.totalCount, comments: this.comments });
117
- }
114
+ handler() {
115
+ this.$emit("fetch", {
116
+ count: this.totalCount,
117
+ comments: this.comments,
118
+ });
119
+ },
118
120
  },
119
121
  },
120
122
  methods: {
121
- async fetchContent(reset=true): Promise<void> {
123
+ async fetchContent(reset = true): Promise<void> {
122
124
  this.loading = true;
123
125
  this.error = false;
124
- if(reset){
126
+ if (reset) {
125
127
  this.first = 0;
126
128
  }
127
129
  let data;
128
130
  try {
129
131
  if (this.comId) {
130
- data = await octopusApi.postDataPublic<InterfacePageable<CommentPodcast>>(2, this.comId.toString(), {first: this.first,size: this.size});
131
- }else{
132
- data = await octopusApi.postDataPublic<InterfacePageable<CommentPodcast>>(2, this.isFlat ?'':'getRootCom',{
132
+ data = await octopusApi.postDataPublic<
133
+ InterfacePageable<CommentPodcast>
134
+ >(2, this.comId.toString(), { first: this.first, size: this.size });
135
+ } else {
136
+ data = await octopusApi.postDataPublic<
137
+ InterfacePageable<CommentPodcast>
138
+ >(2, this.isFlat ? "" : "getRootCom", {
133
139
  first: this.first,
134
140
  size: this.size,
135
141
  podcastId: this.podcastId,
136
- status:this.statusPost,
137
- organisationId: undefined === this.podcastId? this.organisation: undefined,
142
+ status: this.statusPost,
143
+ organisationId:
144
+ undefined === this.podcastId ? this.organisation : undefined,
138
145
  });
139
146
  }
140
- if(reset){
147
+ if (reset) {
141
148
  this.comments.length = 0;
142
149
  }
143
150
  this.totalCount = data.totalElements;
144
- this.comments = this.comments.concat(data.content).filter((c: CommentPodcast) => {
145
- return null !== c;
146
- });
151
+ this.comments = this.comments
152
+ .concat(data.content)
153
+ .filter((c: CommentPodcast) => {
154
+ return null !== c;
155
+ });
147
156
  this.first += this.size;
148
157
  } catch {
149
158
  this.error = true;
150
159
  }
151
160
  this.loading = false;
152
161
  },
153
- findCommentIndex(comId: number|undefined): number{
162
+ findCommentIndex(comId: number | undefined): number {
154
163
  return this.comments.findIndex(
155
- (element: CommentPodcast) => element.comId === comId
164
+ (element: CommentPodcast) => element.comId === comId,
156
165
  );
157
166
  },
158
- commentInAnotherList(commentIdReferer:undefined|number):boolean{
159
- return !this.isFlat && undefined!==commentIdReferer && null!==commentIdReferer && this.comId !==commentIdReferer;
167
+ commentInAnotherList(commentIdReferer: undefined | number): boolean {
168
+ return (
169
+ !this.isFlat &&
170
+ undefined !== commentIdReferer &&
171
+ null !== commentIdReferer &&
172
+ this.comId !== commentIdReferer
173
+ );
160
174
  },
161
175
  deleteComment(comment: CommentPodcast): void {
162
- if (this.commentInAnotherList(comment.commentIdReferer)){
163
- const comItem = (this.$refs['comItem' + comment.commentIdReferer] as Array<InstanceType<typeof CommentItem>>)[0];
164
- comItem.receiveCommentEvent({ type: 'Delete', comment: comment });
176
+ if (this.commentInAnotherList(comment.commentIdReferer)) {
177
+ const comItem = (
178
+ this.$refs["comItem" + comment.commentIdReferer] as Array<
179
+ InstanceType<typeof CommentItem>
180
+ >
181
+ )[0];
182
+ comItem.receiveCommentEvent({ type: "Delete", comment: comment });
165
183
  return;
166
184
  }
167
185
  const index = this.findCommentIndex(comment.comId);
@@ -172,51 +190,65 @@ export default defineComponent({
172
190
  }
173
191
  this.comments.splice(index, 1);
174
192
  },
175
- updateExistingComment(comment: CommentPodcast, index: number){
176
- if ((!this.editRight && 'Valid' !== comment.status) ||
177
- (this.editRight && this.status && this.status !== comment.status)) {
193
+ updateExistingComment(comment: CommentPodcast, index: number) {
194
+ if (
195
+ (!this.editRight && "Valid" !== comment.status) ||
196
+ (this.editRight && this.status && this.status !== comment.status)
197
+ ) {
178
198
  this.comments.splice(index, 1);
179
199
  } else {
180
200
  this.comments.splice(index, 1, comment);
181
201
  }
182
202
  },
183
- updateNotExistingComment(comment: CommentPodcast){
203
+ updateNotExistingComment(comment: CommentPodcast) {
184
204
  let indexNewComment = 0;
185
205
  for (let i = 0, len = this.comments.length; i < len; i++) {
186
- if (
187
- dayjs(this.comments[i].date).isBefore(dayjs(comment.date))
188
- ) {
206
+ if (dayjs(this.comments[i].date).isBefore(dayjs(comment.date))) {
189
207
  indexNewComment = i;
190
208
  break;
191
209
  }
192
210
  }
193
211
  this.comments.splice(indexNewComment, 0, comment);
194
212
  },
195
- updateComment(data: {type: string; comment: CommentPodcast; oldStatus?:string }): void {
196
- if (this.commentInAnotherList(data.comment.commentIdReferer)){
197
- const comItem = (this.$refs['comItem' + data.comment.commentIdReferer] as Array<InstanceType<typeof CommentItem>>)[0];
213
+ updateComment(data: {
214
+ type: string;
215
+ comment: CommentPodcast;
216
+ oldStatus?: string;
217
+ }): void {
218
+ if (this.commentInAnotherList(data.comment.commentIdReferer)) {
219
+ const comItem = (
220
+ this.$refs["comItem" + data.comment.commentIdReferer] as Array<
221
+ InstanceType<typeof CommentItem>
222
+ >
223
+ )[0];
198
224
  comItem.receiveCommentEvent(data);
199
225
  return;
200
226
  }
201
227
  const index = this.findCommentIndex(data.comment.comId);
202
228
  if (-1 !== index) {
203
229
  this.updateExistingComment(data.comment, index);
204
- }else if((!this.editRight && 'Valid' === data.comment.status) ||
205
- (this.editRight && !this.status) ||
206
- (this.editRight && this.status && this.status === data.comment.status)){
230
+ } else if (
231
+ (!this.editRight && "Valid" === data.comment.status) ||
232
+ (this.editRight && !this.status) ||
233
+ (this.editRight && this.status && this.status === data.comment.status)
234
+ ) {
207
235
  this.updateNotExistingComment(data.comment);
208
236
  }
209
- if (this.comId && data.oldStatus!==data.comment.status) {
210
- this.$emit('updateStatus', data.comment.status);
237
+ if (this.comId && data.oldStatus !== data.comment.status) {
238
+ this.$emit("updateStatus", data.comment.status);
211
239
  }
212
240
  },
213
241
  addNewComment(comment: CommentPodcast, myself = false): void {
214
- if (!myself && !this.editRight && 'Valid' !== comment.status) {
242
+ if (!myself && !this.editRight && "Valid" !== comment.status) {
215
243
  return;
216
244
  }
217
- if (this.commentInAnotherList(comment.commentIdReferer)){
218
- const comItem = (this.$refs['comItem' + comment.commentIdReferer] as Array<InstanceType<typeof CommentItem>>)[0];
219
- comItem.receiveCommentEvent({ type: 'Create', comment: comment });
245
+ if (this.commentInAnotherList(comment.commentIdReferer)) {
246
+ const comItem = (
247
+ this.$refs["comItem" + comment.commentIdReferer] as Array<
248
+ InstanceType<typeof CommentItem>
249
+ >
250
+ )[0];
251
+ comItem.receiveCommentEvent({ type: "Create", comment: comment });
220
252
  return;
221
253
  }
222
254
  const index = this.findCommentIndex(comment.comId);
@@ -229,5 +261,5 @@ export default defineComponent({
229
261
  }
230
262
  },
231
263
  },
232
- })
233
- </script>
264
+ });
265
+ </script>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="mt-2">
3
3
  <ClassicLoading
4
- :loading-text="loading?$t('Loading content ...'):undefined"
4
+ :loading-text="loading ? $t('Loading content ...') : undefined"
5
5
  />
6
6
  <CommentBasicView
7
7
  v-if="!loading"
@@ -12,35 +12,38 @@
12
12
  </template>
13
13
 
14
14
  <script lang="ts">
15
- import octopusApi from '@saooti/octopus-api';
16
- import CommentBasicView from './CommentBasicView.vue';
17
- import ClassicLoading from '../../form/ClassicLoading.vue';
18
- import { CommentPodcast } from '@/stores/class/general/comment';
19
- import { defineComponent } from 'vue'
15
+ import octopusApi from "@saooti/octopus-api";
16
+ import CommentBasicView from "./CommentBasicView.vue";
17
+ import ClassicLoading from "../../form/ClassicLoading.vue";
18
+ import { CommentPodcast } from "@/stores/class/general/comment";
19
+ import { defineComponent } from "vue";
20
20
  export default defineComponent({
21
- name: 'CommentParentInfo',
21
+ name: "CommentParentInfo",
22
22
 
23
- components:{
23
+ components: {
24
24
  CommentBasicView,
25
- ClassicLoading
25
+ ClassicLoading,
26
26
  },
27
27
 
28
28
  props: {
29
29
  comId: { default: undefined, type: Number },
30
- editRight: { default: false, type: Boolean},
30
+ editRight: { default: false, type: Boolean },
31
31
  },
32
32
 
33
33
  data() {
34
34
  return {
35
35
  loading: true as boolean,
36
- comment: undefined as CommentPodcast|undefined,
36
+ comment: undefined as CommentPodcast | undefined,
37
37
  };
38
38
  },
39
39
  async created() {
40
- if(this.comId){
41
- this.comment = await octopusApi.fetchData<CommentPodcast>(2, `comment/${this.comId}`);
40
+ if (this.comId) {
41
+ this.comment = await octopusApi.fetchData<CommentPodcast>(
42
+ 2,
43
+ `comment/${this.comId}`,
44
+ );
42
45
  }
43
46
  this.loading = false;
44
47
  },
45
- })
46
- </script>
48
+ });
49
+ </script>
@@ -18,16 +18,11 @@
18
18
  :data-selenium="'comment-' + seleniumFormat(c.name)"
19
19
  />
20
20
  </div>
21
- <div
22
- v-if="displayContent"
23
- class="h6 mt-auto"
24
- >
21
+ <div v-if="displayContent" class="h6 mt-auto">
25
22
  <div class="text-primary flex-shrink-0">
26
23
  {{ displayContent.name }}
27
24
  </div>
28
- <div class="ms-1 me-1">
29
- -
30
- </div>
25
+ <div class="ms-1 me-1">-</div>
31
26
  <div class="text-truncate">
32
27
  {{ displayContent.content }}
33
28
  </div>
@@ -36,25 +31,28 @@
36
31
  </template>
37
32
 
38
33
  <script lang="ts">
39
- import { CommentPodcast } from '@/stores/class/general/comment';
40
- import selenium from '../../mixins/selenium';
41
- import { usePlayerStore } from '@/stores/PlayerStore';
42
- import { mapState } from 'pinia';
43
- import { defineComponent } from 'vue'
34
+ import { CommentPodcast } from "@/stores/class/general/comment";
35
+ import selenium from "../../mixins/selenium";
36
+ import { usePlayerStore } from "@/stores/PlayerStore";
37
+ import { mapState } from "pinia";
38
+ import { defineComponent } from "vue";
44
39
  export default defineComponent({
45
- name: 'CommentPlayer',
46
- mixins:[selenium],
40
+ name: "CommentPlayer",
41
+ mixins: [selenium],
47
42
  props: {
48
- comments: { default: undefined, type: Array as ()=>Array<CommentPodcast>},
49
- totalTime: { default: 0, type: Number},
43
+ comments: {
44
+ default: undefined,
45
+ type: Array as () => Array<CommentPodcast>,
46
+ },
47
+ totalTime: { default: 0, type: Number },
50
48
  },
51
49
  data() {
52
50
  return {
53
- displayContent: undefined as CommentPodcast|undefined,
51
+ displayContent: undefined as CommentPodcast | undefined,
54
52
  };
55
53
  },
56
54
  computed: {
57
- ...mapState(usePlayerStore, ['playerPodcast'])
55
+ ...mapState(usePlayerStore, ["playerPodcast"]),
58
56
  },
59
57
  methods: {
60
58
  percentPosition(time: number): number {
@@ -68,31 +66,31 @@ export default defineComponent({
68
66
  return Math.round((time * 100) / this.totalTime);
69
67
  },
70
68
  },
71
- })
69
+ });
72
70
  </script>
73
71
 
74
72
  <style lang="scss">
75
- .octopus-app{
76
- .comment-player-container {
77
- position: relative;
78
- width: 100%;
79
- height: 3rem;
80
- display: flex;
81
- @media (max-width: 960px) {
82
- display: none;
73
+ .octopus-app {
74
+ .comment-player-container {
75
+ position: relative;
76
+ width: 100%;
77
+ height: 3rem;
78
+ display: flex;
79
+ @media (max-width: 960px) {
80
+ display: none;
81
+ }
82
+ .comment-border {
83
+ width: auto;
84
+ position: absolute;
85
+ border-left: solid 1px #555;
86
+ height: 20px;
87
+ }
88
+ .status-Valid,
89
+ .status-Invalid,
90
+ .status-Pending {
91
+ margin-top: 20px;
92
+ position: absolute;
93
+ }
83
94
  }
84
- .comment-border {
85
- width: auto;
86
- position: absolute;
87
- border-left: solid 1px #555;
88
- height: 20px;
89
- }
90
- .status-Valid,
91
- .status-Invalid,
92
- .status-Pending {
93
- margin-top: 20px;
94
- position: absolute;
95
- }
96
- }
97
95
  }
98
- </style>
96
+ </style>