@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
package/src/App.vue CHANGED
@@ -1,50 +1,45 @@
1
1
  <template>
2
- <div
3
- v-if="isInit"
4
- :key="reload"
5
- class="d-flex flex-column h-100 octopus-app"
6
- >
7
- <TopBar
8
- v-model:displayMenu="displayMenu"
9
- :is-education="false"
10
- />
2
+ <div v-if="isInit" :key="reload" class="d-flex flex-column h-100 octopus-app">
3
+ <TopBar v-model:displayMenu="displayMenu" :is-education="false" />
11
4
  <LeftMenu
12
5
  v-if="displayMenu"
13
6
  :is-education="false"
14
- @close="displayMenu=false"
7
+ @close="displayMenu = false"
15
8
  />
16
9
  <CategoryFilter />
17
10
  <router-view />
18
11
  <FooterOctopus />
19
- <Player />
12
+ <PlayerComponent />
20
13
  </div>
21
14
  </template>
22
15
 
23
16
  <script lang="ts">
24
- import TopBar from '@/components/misc/TopBar.vue';
25
- import FooterOctopus from '@/components/misc/Footer.vue';
26
- import Player from '@/components/misc/player/Player.vue';
27
- import CategoryFilter from '@/components/display/categories/CategoryFilter.vue';
28
- import { state } from './stores/ParamSdkStore';
29
- import { Rubriquage } from './stores/class/rubrique/rubriquage';
30
- import { RubriquageFilter } from './stores/class/rubrique/rubriquageFilter';
31
- import { Rubrique } from './stores/class/rubrique/rubrique';
32
- import initSDK from './components/mixins/init';
33
- import { useFilterStore } from '@/stores/FilterStore';
34
- import { useGeneralStore } from '@/stores/GeneralStore';
35
- import { mapState, mapActions } from 'pinia';
36
- import { defineAsyncComponent, defineComponent } from 'vue';
37
- import { Category } from './stores/class/general/category';
38
- const LeftMenu = defineAsyncComponent(() => import('@/components/misc/LeftMenu.vue'));
17
+ import TopBar from "@/components/misc/TopBar.vue";
18
+ import FooterOctopus from "@/components/misc/FooterSection.vue";
19
+ import PlayerComponent from "@/components/misc/player/PlayerComponent.vue";
20
+ import CategoryFilter from "@/components/display/categories/CategoryFilter.vue";
21
+ import { state } from "./stores/ParamSdkStore";
22
+ import { Rubriquage } from "./stores/class/rubrique/rubriquage";
23
+ import { RubriquageFilter } from "./stores/class/rubrique/rubriquageFilter";
24
+ import { Rubrique } from "./stores/class/rubrique/rubrique";
25
+ import initSDK from "./components/mixins/init";
26
+ import { useFilterStore } from "@/stores/FilterStore";
27
+ import { useGeneralStore } from "@/stores/GeneralStore";
28
+ import { mapState, mapActions } from "pinia";
29
+ import { defineAsyncComponent, defineComponent } from "vue";
30
+ import { Category } from "./stores/class/general/category";
31
+ const LeftMenu = defineAsyncComponent(
32
+ () => import("@/components/misc/LeftMenu.vue"),
33
+ );
39
34
  export default defineComponent({
40
- name: 'App',
41
-
35
+ name: "App",
36
+
42
37
  components: {
43
38
  TopBar,
44
39
  LeftMenu,
45
40
  CategoryFilter,
46
41
  FooterOctopus,
47
- Player
42
+ PlayerComponent,
48
43
  },
49
44
 
50
45
  mixins: [initSDK],
@@ -57,82 +52,96 @@ export default defineComponent({
57
52
  };
58
53
  },
59
54
 
60
- computed:{
61
- ...mapState(useFilterStore, ['filterRubriquage', 'filterOrgaId']),
62
- ...mapState(useGeneralStore, ['storedCategories']),
55
+ computed: {
56
+ ...mapState(useFilterStore, ["filterRubriquage", "filterOrgaId"]),
57
+ ...mapState(useGeneralStore, ["storedCategories"]),
63
58
  },
64
59
 
65
60
  watch: {
66
- '$i18n.locale'(){
61
+ "$i18n.locale"() {
67
62
  this.$forceUpdate();
68
63
  this.reload = !this.reload;
69
- }
64
+ },
70
65
  },
71
- async created(){
66
+ async created() {
72
67
  await this.initApp();
73
68
  },
74
- methods:{
75
- ...mapActions(useFilterStore, ['filterUpdateIab', 'filterUpdateRubrique']),
76
- async initApp(){
69
+ methods: {
70
+ ...mapActions(useFilterStore, ["filterUpdateIab", "filterUpdateRubrique"]),
71
+ async initApp() {
77
72
  await this.initSdk();
78
73
  await this.handleOrganisationFilter();
79
74
  this.handleIabIdFilter();
80
75
  this.handleRubriquesFilter();
81
- this.isInit =true;
76
+ this.isInit = true;
82
77
  },
83
- async handleOrganisationFilter(){
84
- let orgaId = '';
85
- if (this.$route.query.productor && 'string'===typeof this.$route.query.productor) {
78
+ async handleOrganisationFilter() {
79
+ let orgaId = "";
80
+ if (
81
+ this.$route.query.productor &&
82
+ "string" === typeof this.$route.query.productor
83
+ ) {
86
84
  orgaId = this.$route.query.productor;
87
- } else if(state.generalParameters.organisationId){
85
+ } else if (state.generalParameters.organisationId) {
88
86
  orgaId = state.generalParameters.organisationId;
89
87
  }
90
- if(''===orgaId){
88
+ if ("" === orgaId) {
91
89
  return;
92
90
  }
93
91
  await this.selectOrganisation(orgaId);
94
92
  },
95
- handleIabIdFilter(){
96
- if(this.filterOrgaId){
93
+ handleIabIdFilter() {
94
+ if (this.filterOrgaId) {
97
95
  return;
98
96
  }
99
- if (this.$route.query.iabId && 'string'===typeof this.$route.query.iabId) {
97
+ if (
98
+ this.$route.query.iabId &&
99
+ "string" === typeof this.$route.query.iabId
100
+ ) {
100
101
  const iabId = parseInt(this.$route.query.iabId, 10);
101
102
  const category = this.storedCategories.filter((c: Category) => {
102
103
  return c.id === iabId;
103
104
  });
104
- if(category.length){
105
+ if (category.length) {
105
106
  this.filterUpdateIab(category[0]);
106
107
  }
107
108
  }
108
109
  },
109
- handleRubriquesFilter(){
110
- if(0===this.filterRubriquage.length){
110
+ handleRubriquesFilter() {
111
+ if (0 === this.filterRubriquage.length) {
111
112
  return;
112
113
  }
113
- if (this.$route.query.rubriquesId && 'string'===typeof this.$route.query.rubriquesId) {
114
- const arrayFilter = this.$route.query.rubriquesId.split(',');
115
- const rubriquesFilter: Array<RubriquageFilter>=[];
114
+ if (
115
+ this.$route.query.rubriquesId &&
116
+ "string" === typeof this.$route.query.rubriquesId
117
+ ) {
118
+ const arrayFilter = this.$route.query.rubriquesId.split(",");
119
+ const rubriquesFilter: Array<RubriquageFilter> = [];
116
120
  const filterLength = arrayFilter.length;
117
121
  for (let index = 0; index < filterLength; index++) {
118
- const rubriqueFilter = arrayFilter[index].split(':');
122
+ const rubriqueFilter = arrayFilter[index].split(":");
119
123
  const rubriquage = this.filterRubriquage.find((x: Rubriquage) => {
120
124
  return x.rubriquageId === parseInt(rubriqueFilter[0]);
121
125
  });
122
- if(rubriquage){
126
+ if (rubriquage) {
123
127
  const rubrique = rubriquage.rubriques.find((x: Rubrique) => {
124
128
  return x.rubriqueId === parseInt(rubriqueFilter[1]);
125
129
  });
126
- rubriquesFilter.push({rubriquageId: rubriquage.rubriquageId, rubriqueId:rubrique.rubriqueId, nameRubriquage: rubriquage.title, nameRubrique :rubrique.name});
130
+ rubriquesFilter.push({
131
+ rubriquageId: rubriquage.rubriquageId,
132
+ rubriqueId: rubrique.rubriqueId,
133
+ nameRubriquage: rubriquage.title,
134
+ nameRubrique: rubrique.name,
135
+ });
127
136
  }
128
137
  }
129
- if(rubriquesFilter.length){
138
+ if (rubriquesFilter.length) {
130
139
  this.filterUpdateRubrique(rubriquesFilter);
131
140
  }
132
141
  }
133
- }
134
- }
135
- })
142
+ },
143
+ },
144
+ });
136
145
  </script>
137
146
 
138
147
  <style lang="scss" src="@/assets/octopus-library.scss"></style>
@@ -1,16 +1,16 @@
1
1
  import axios from "axios";
2
2
  enum ModuleApi {
3
- DEFAULT = 0,
4
- MEDIA = 1,
5
- COMMENT = 2,
6
- KEYCLOAK = 3,
7
- FRONTOFFICE = 4,
8
- PLAYER = 6,
9
- STORAGE = 8,
10
- STUDIO = 9,
11
- PROCESSOR= 10,
12
- SPEECHTOTEXT=11
13
- }
3
+ DEFAULT = 0,
4
+ MEDIA = 1,
5
+ COMMENT = 2,
6
+ KEYCLOAK = 3,
7
+ FRONTOFFICE = 4,
8
+ PLAYER = 6,
9
+ STORAGE = 8,
10
+ STUDIO = 9,
11
+ PROCESSOR = 10,
12
+ SPEECHTOTEXT = 11,
13
+ }
14
14
  /* eslint-disable */
15
15
  export default {
16
16
  async fetchData<Type>(moduleName: ModuleApi,wsPath:string, forceRefresh?:boolean): Promise<Type>{
@@ -30,4 +30,4 @@ export default {
30
30
  await axios.delete('/mock');
31
31
  },
32
32
  };
33
- /* eslint-enable */
33
+ /* eslint-enable */
@@ -5,4 +5,4 @@ export default{
5
5
  return true;
6
6
  },
7
7
  };
8
- /* eslint-enable */
8
+ /* eslint-enable */
@@ -105,6 +105,15 @@ input:not([class^="vs__"]), button:not([class^="vs__"]), select:not([class^="vs_
105
105
  @media (max-width: 600px) {
106
106
  margin: 0 1rem 1rem 0;
107
107
  }
108
+ @media (max-width: 500px) {
109
+ margin: 0 0.6rem 1rem 0;
110
+ font-size: 0.8rem;
111
+ }
112
+ @media (max-width: 380px) {
113
+ margin: 0 0.4rem 0.7rem 0;
114
+ font-size: 0.7rem;
115
+ }
116
+
108
117
  position: relative;
109
118
  &:after {
110
119
  bottom: 0;
@@ -6,7 +6,7 @@ html{
6
6
  body{
7
7
  margin: 0;
8
8
  color: #353535;
9
- font-family: Montserrat,sans-serif,Helvetica Neue;
9
+ font-family: "Montserrat",sans-serif,Helvetica Neue;
10
10
  font-size: 0.8rem;
11
11
  overflow-x: hidden;
12
12
  background: #ebebeb;
@@ -286,7 +286,7 @@
286
286
  background: #00000030;
287
287
  }
288
288
  .saooti-play {
289
- font-size: 1.2rem;
289
+ font-size: 1.4rem;
290
290
  position: relative;
291
291
  color: white;
292
292
  }
@@ -3,6 +3,6 @@
3
3
  </template>
4
4
 
5
5
  <script lang="ts">
6
- import { defineComponent } from 'vue'
7
- export default defineComponent({})
8
- </script>
6
+ import { defineComponent } from "vue";
7
+ export default defineComponent({});
8
+ </script>
@@ -13,56 +13,65 @@
13
13
  :width="width"
14
14
  :is-disabled="isDisabled"
15
15
  :no-deselect="noDeselect"
16
- @onSearch="onSearchCategory"
16
+ @on-search="onSearchCategory"
17
17
  @selected="onCategorySelected"
18
18
  />
19
19
  </template>
20
20
 
21
21
  <script lang="ts">
22
- import { useGeneralStore } from '@/stores/GeneralStore';
23
- import { mapState } from 'pinia';
24
- import ClassicMultiselect from '../../form/ClassicMultiselect.vue';
25
- import { Category } from '@/stores/class/general/category';
26
- import { defineComponent } from 'vue'
22
+ import { useGeneralStore } from "@/stores/GeneralStore";
23
+ import { mapState } from "pinia";
24
+ import ClassicMultiselect from "../../form/ClassicMultiselect.vue";
25
+ import { Category } from "@/stores/class/general/category";
26
+ import { defineComponent } from "vue";
27
27
  export default defineComponent({
28
28
  components: {
29
- ClassicMultiselect
29
+ ClassicMultiselect,
30
30
  },
31
31
  props: {
32
- defaultanswer: { default: '', type: String },
33
- width: { default: '100%', type: String },
32
+ defaultanswer: { default: "", type: String },
33
+ width: { default: "100%", type: String },
34
34
  multiple: { default: false, type: Boolean },
35
35
  isDisabled: { default: false, type: Boolean },
36
- initCategories: { default: undefined, type: Array as ()=>Array<Category> },
36
+ initCategories: {
37
+ default: undefined,
38
+ type: Array as () => Array<Category>,
39
+ },
37
40
  displayAllCategories: { default: false, type: Boolean },
38
41
  categorySelected: { default: undefined, type: Number },
39
- categorySelectedArray: { default: undefined, type: Array as ()=>Array<number> },
40
- inModal:{default: false, type: Boolean},
41
- noDeselect: {default: true, type: Boolean},
42
+ categorySelectedArray: {
43
+ default: undefined,
44
+ type: Array as () => Array<number>,
45
+ },
46
+ inModal: { default: false, type: Boolean },
47
+ noDeselect: { default: true, type: Boolean },
42
48
  },
43
- emits: ['update:categorySelected','update:categorySelectedArray','selected'],
49
+ emits: [
50
+ "update:categorySelected",
51
+ "update:categorySelectedArray",
52
+ "selected",
53
+ ],
44
54
  data() {
45
55
  return {
46
56
  maxElement: 50 as number,
47
- category: undefined as Category|undefined,
48
- categoryForArray: [] as Array<Category>|undefined,
57
+ category: undefined as Category | undefined,
58
+ categoryForArray: [] as Array<Category> | undefined,
49
59
  };
50
60
  },
51
61
 
52
-
53
62
  computed: {
54
- ...mapState(useGeneralStore, ['storedCategories']),
55
- categoriesChosen(): Array<Category>{
56
- if(this.initCategories){
63
+ ...mapState(useGeneralStore, ["storedCategories"]),
64
+ categoriesChosen(): Array<Category> {
65
+ if (this.initCategories) {
57
66
  return this.initCategories;
58
67
  }
59
68
  return this.storedCategories;
60
69
  },
61
70
  categoriesOrdered(): Array<Category> {
62
- let allCategoriesOrdered = [...this.categoriesChosen].sort((a: Category, b: Category) =>
63
- a.name > b.name ? 1 : -1
64
- )
65
- if(!this.displayAllCategories){
71
+ let allCategoriesOrdered = [...this.categoriesChosen].sort(
72
+ (a: Category, b: Category) => (a.name > b.name ? 1 : -1),
73
+ );
74
+ if (!this.displayAllCategories) {
66
75
  allCategoriesOrdered = allCategoriesOrdered.filter((c: Category) => {
67
76
  return c.podcastCount;
68
77
  });
@@ -72,87 +81,91 @@ export default defineComponent({
72
81
  }
73
82
  return allCategoriesOrdered;
74
83
  },
75
- getDefaultCategory(): Category|undefined{
76
- if(''===this.defaultanswer){
84
+ getDefaultCategory(): Category | undefined {
85
+ if ("" === this.defaultanswer) {
77
86
  return undefined;
78
87
  }
79
- return {id: 0, name: this.defaultanswer};
88
+ return { id: 0, name: this.defaultanswer };
80
89
  },
81
90
  idClassicMultiselect(): string {
82
- if (this.multiple) return 'categoryChooser' + this.multiple;
83
- return 'categoryChooser';
91
+ if (this.multiple) return "categoryChooser" + this.multiple;
92
+ return "categoryChooser";
84
93
  },
85
-
94
+
86
95
  model: {
87
- get(): Category| Array<Category>|undefined{
88
- return this.multiple ? this.categoryForArray:this.category;
96
+ get(): Category | Array<Category> | undefined {
97
+ return this.multiple ? this.categoryForArray : this.category;
89
98
  },
90
- set(value: Category| Array<Category>|undefined): void{
91
- if(!this.multiple){
92
- this.category = (value as Category|undefined);
99
+ set(value: Category | Array<Category> | undefined): void {
100
+ if (!this.multiple) {
101
+ this.category = value as Category | undefined;
93
102
  return;
94
103
  }
95
- this.categoryForArray = (value as Array<Category>|undefined);
96
- }
97
-
98
- }
104
+ this.categoryForArray = value as Array<Category> | undefined;
105
+ },
106
+ },
99
107
  },
100
108
  watch: {
101
109
  categorySelected: {
102
- immediate:true,
103
- handler(){
104
- if(this.categorySelected){
110
+ immediate: true,
111
+ handler() {
112
+ if (this.categorySelected) {
105
113
  this.initCategorySelected();
106
- }else{
114
+ } else {
107
115
  this.category = this.getDefaultCategory;
108
116
  }
109
- }
110
- }
117
+ },
118
+ },
111
119
  },
112
-
120
+
113
121
  mounted() {
114
122
  this.initCategoryArray();
115
123
  },
116
124
  methods: {
117
125
  async onSearchCategory(query?: string): Promise<void> {
118
126
  let categories = this.categoriesOrdered;
119
- if(query){
127
+ if (query) {
120
128
  categories = categories.filter((item: Category) => {
121
129
  return item.name.toUpperCase().includes(query.toUpperCase());
122
130
  });
123
131
  }
124
- (this.$refs.selectCategory as InstanceType<typeof ClassicMultiselect>).afterSearch(categories,categories.length);
132
+ (
133
+ this.$refs.selectCategory as InstanceType<typeof ClassicMultiselect>
134
+ ).afterSearch(categories, categories.length);
125
135
  },
126
- onCategorySelected(category: Category| Array<Category>): void {
136
+ onCategorySelected(category: Category | Array<Category>): void {
127
137
  if (undefined !== this.categorySelected) {
128
- this.$emit('update:categorySelected', (category as Category).id);
138
+ this.$emit("update:categorySelected", (category as Category).id);
129
139
  } else if (undefined !== this.categorySelectedArray) {
130
140
  const idsArray: Array<number> = [];
131
141
  (category as Array<Category>).forEach((el: Category) => {
132
142
  idsArray.push(el.id);
133
143
  });
134
- this.$emit('update:categorySelectedArray', idsArray);
135
- }else{
136
- this.$emit('selected', category);
144
+ this.$emit("update:categorySelectedArray", idsArray);
145
+ } else {
146
+ this.$emit("selected", category);
137
147
  }
138
148
  },
139
149
  initCategorySelected(): void {
140
- this.category = this.categoriesChosen.find((el: Category) => {
141
- return el.id === this.categorySelected;
142
- }) ?? this.getDefaultCategory;
150
+ this.category =
151
+ this.categoriesChosen.find((el: Category) => {
152
+ return el.id === this.categorySelected;
153
+ }) ?? this.getDefaultCategory;
143
154
  },
144
155
  initCategoryArray(): void {
145
- if(!this.categoryForArray || !this.categorySelectedArray){return; }
156
+ if (!this.categoryForArray || !this.categorySelectedArray) {
157
+ return;
158
+ }
146
159
  this.categoryForArray.length = 0;
147
160
  this.categorySelectedArray.forEach((element: number) => {
148
161
  const item = this.categoriesChosen.find((el: Category) => {
149
162
  return el.id === element;
150
163
  });
151
- if(this.categoryForArray && item){
164
+ if (this.categoryForArray && item) {
152
165
  this.categoryForArray.push(item);
153
166
  }
154
167
  });
155
168
  },
156
169
  },
157
- })
158
- </script>
170
+ });
171
+ </script>