@saooti/octopus-sdk 37.0.6 → 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 (235) hide show
  1. package/README.md +2 -2
  2. package/index.ts +21 -21
  3. package/package.json +26 -20
  4. package/src/App.vue +69 -60
  5. package/src/api/classicCrud.ts +12 -12
  6. package/src/api/initialize.ts +1 -1
  7. package/src/components/display/aggregator/RssSection.vue +3 -3
  8. package/src/components/display/categories/CategoryChooser.vue +73 -60
  9. package/src/components/display/categories/CategoryFilter.vue +134 -90
  10. package/src/components/display/categories/CategoryList.vue +76 -62
  11. package/src/components/display/comments/AddCommentModal.vue +44 -44
  12. package/src/components/display/comments/CommentBasicView.vue +38 -30
  13. package/src/components/display/comments/CommentInput.vue +121 -106
  14. package/src/components/display/comments/CommentItem.vue +144 -102
  15. package/src/components/display/comments/CommentList.vue +117 -85
  16. package/src/components/display/comments/CommentParentInfo.vue +18 -15
  17. package/src/components/display/comments/CommentPlayer.vue +39 -41
  18. package/src/components/display/comments/CommentSection.vue +68 -53
  19. package/src/components/display/edit/EditBox.vue +7 -7
  20. package/src/components/display/edit/EditBoxRadio.vue +3 -4
  21. package/src/components/display/edit/EditCommentBox.vue +34 -36
  22. package/src/components/display/emission/EmissionInlineList.vue +75 -63
  23. package/src/components/display/emission/EmissionItem.vue +47 -35
  24. package/src/components/display/emission/EmissionList.vue +111 -83
  25. package/src/components/display/emission/EmissionPlayerItem.vue +89 -89
  26. package/src/components/display/filter/AdvancedSearch.vue +81 -73
  27. package/src/components/display/filter/CategorySearchFilter.vue +27 -25
  28. package/src/components/display/filter/DateFilter.vue +38 -38
  29. package/src/components/display/filter/MonetizableFilter.vue +16 -14
  30. package/src/components/display/filter/ProductorSearch.vue +55 -47
  31. package/src/components/display/filter/RubriqueChoice.vue +42 -27
  32. package/src/components/display/filter/RubriqueFilter.vue +130 -85
  33. package/src/components/display/filter/SearchOrder.vue +16 -11
  34. package/src/components/display/list/ListPaginate.vue +72 -70
  35. package/src/components/display/list/PaginateParams.vue +29 -30
  36. package/src/components/display/list/PaginateSection.vue +210 -0
  37. package/src/components/display/list/SwiperList.vue +28 -32
  38. package/src/components/display/live/CountDown.vue +12 -14
  39. package/src/components/display/live/LiveHorizontalList.vue +60 -50
  40. package/src/components/display/live/LiveItem.vue +42 -26
  41. package/src/components/display/live/LiveList.vue +92 -65
  42. package/src/components/display/live/RadioCurrently.vue +47 -42
  43. package/src/components/display/live/RadioImage.vue +40 -42
  44. package/src/components/display/live/RadioItem.vue +15 -22
  45. package/src/components/display/live/RadioList.vue +24 -21
  46. package/src/components/display/live/RadioPlanning.vue +105 -68
  47. package/src/components/display/organisation/OrganisationChooser.vue +58 -42
  48. package/src/components/display/organisation/OrganisationChooserLight.vue +27 -19
  49. package/src/components/display/participant/ParticipantItem.vue +89 -77
  50. package/src/components/display/participant/ParticipantList.vue +90 -60
  51. package/src/components/display/playlist/PlaylistItem.vue +32 -35
  52. package/src/components/display/playlist/PlaylistList.vue +70 -52
  53. package/src/components/display/playlist/PodcastList.vue +61 -50
  54. package/src/components/display/playlist/PodcastPlaylistInlineList.vue +47 -38
  55. package/src/components/display/podcasts/AnimatorsItem.vue +17 -15
  56. package/src/components/display/podcasts/ParticipantDescription.vue +21 -22
  57. package/src/components/display/podcasts/PodcastFilterList.vue +28 -26
  58. package/src/components/display/podcasts/PodcastImage.vue +129 -135
  59. package/src/components/display/podcasts/PodcastInlineList.vue +33 -29
  60. package/src/components/display/podcasts/PodcastInlineListClassic.vue +91 -71
  61. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +94 -85
  62. package/src/components/display/podcasts/PodcastItem.vue +96 -90
  63. package/src/components/display/podcasts/PodcastItemInfo.vue +61 -65
  64. package/src/components/display/podcasts/PodcastList.vue +115 -84
  65. package/src/components/display/podcasts/PodcastModuleBox.vue +95 -104
  66. package/src/components/display/podcasts/PodcastPlayBar.vue +45 -32
  67. package/src/components/display/podcasts/PodcastSwiperList.vue +65 -55
  68. package/src/components/display/podcasts/TagList.vue +33 -37
  69. package/src/components/display/rubriques/RubriqueChooser.vue +70 -51
  70. package/src/components/display/rubriques/RubriqueList.vue +117 -89
  71. package/src/components/display/sharing/PlayerParameters.vue +45 -42
  72. package/src/components/display/sharing/QrCode.vue +52 -46
  73. package/src/components/display/sharing/ShareButtons.vue +18 -18
  74. package/src/components/display/sharing/ShareButtonsIntern.vue +100 -78
  75. package/src/components/display/sharing/ShareDistribution.vue +101 -67
  76. package/src/components/display/sharing/SharePlayer.vue +207 -127
  77. package/src/components/display/sharing/SharePlayerColors.vue +15 -15
  78. package/src/components/display/sharing/SharePlayerRadio.vue +62 -39
  79. package/src/components/display/sharing/SharePlayerTypes.vue +93 -55
  80. package/src/components/display/sharing/SubscribeButtons.vue +83 -32
  81. package/src/components/display/studio/RecordingItemButton.vue +3 -3
  82. package/src/components/form/ClassicCheckbox.vue +32 -31
  83. package/src/components/form/ClassicDatePicker.vue +47 -49
  84. package/src/components/form/ClassicInputText.vue +99 -98
  85. package/src/components/form/ClassicLoading.vue +11 -14
  86. package/src/components/form/ClassicMultiselect.vue +125 -126
  87. package/src/components/form/ClassicRadio.vue +15 -18
  88. package/src/components/form/ClassicSearch.vue +17 -23
  89. package/src/components/form/ClassicSelect.vue +35 -27
  90. package/src/components/form/{Wysiwyg.vue → ClassicWysiwyg.vue} +94 -109
  91. package/src/components/misc/AcpmImage.vue +6 -6
  92. package/src/components/misc/ClassicAccordion.vue +69 -0
  93. package/src/components/misc/ClassicNav.vue +117 -0
  94. package/src/components/misc/ClassicPopover.vue +212 -0
  95. package/src/components/misc/{Spinner.vue → ClassicSpinner.vue} +14 -15
  96. package/src/components/misc/ErrorMessage.vue +9 -17
  97. package/src/components/misc/FooterSection.vue +198 -0
  98. package/src/components/misc/HomeDropdown.vue +60 -60
  99. package/src/components/misc/LeftMenu.vue +115 -79
  100. package/src/components/misc/ProgressBar.vue +36 -32
  101. package/src/components/misc/SnackBar.vue +169 -0
  102. package/src/components/misc/TopBar.vue +161 -115
  103. package/src/components/misc/modal/ClassicModal.vue +99 -103
  104. package/src/components/misc/modal/ClipboardModal.vue +21 -23
  105. package/src/components/misc/modal/MessageModal.vue +22 -28
  106. package/src/components/misc/modal/NewsletterModal.vue +139 -113
  107. package/src/components/misc/modal/QrCodeModal.vue +14 -17
  108. package/src/components/misc/modal/ShareModalPlayer.vue +44 -60
  109. package/src/components/misc/player/PlayerCompact.vue +47 -62
  110. package/src/components/misc/player/{Player.vue → PlayerComponent.vue} +54 -46
  111. package/src/components/misc/player/PlayerLarge.vue +62 -61
  112. package/src/components/misc/player/PlayerProgressBar.vue +40 -30
  113. package/src/components/misc/player/PlayerTimeline.vue +32 -36
  114. package/src/components/misc/player/radio/RadioHistory.vue +62 -59
  115. package/src/components/misc/player/radio/RadioProgressBar.vue +44 -35
  116. package/src/components/mixins/cookies.ts +11 -10
  117. package/src/components/mixins/displayMethods.ts +5 -4
  118. package/src/components/mixins/handle403.ts +9 -9
  119. package/src/components/mixins/imageProxy.ts +14 -7
  120. package/src/components/mixins/init.ts +31 -16
  121. package/src/components/mixins/orgaComputed.ts +7 -7
  122. package/src/components/mixins/organisationFilter.ts +36 -22
  123. package/src/components/mixins/player/playerComment.ts +46 -37
  124. package/src/components/mixins/player/playerDisplay.ts +122 -87
  125. package/src/components/mixins/player/playerLive.ts +65 -43
  126. package/src/components/mixins/player/playerLogic.ts +133 -88
  127. package/src/components/mixins/player/playerTranscript.ts +48 -30
  128. package/src/components/mixins/radio/fetchRadioData.ts +40 -23
  129. package/src/components/mixins/selenium.ts +2 -2
  130. package/src/components/mixins/tagOfMixins.ts +11 -11
  131. package/src/components/pages/CategoryPage.vue +43 -0
  132. package/src/components/pages/{Emission.vue → EmissionPage.vue} +98 -67
  133. package/src/components/pages/{Emissions.vue → EmissionsPage.vue} +51 -44
  134. package/src/components/pages/Error403Page.vue +20 -19
  135. package/src/components/pages/HomePage.vue +144 -0
  136. package/src/components/pages/LivesPage.vue +66 -0
  137. package/src/components/pages/PageNotFound.vue +33 -22
  138. package/src/components/pages/{Participant.vue → ParticipantPage.vue} +63 -49
  139. package/src/components/pages/{Participants.vue → ParticipantsPage.vue} +9 -9
  140. package/src/components/pages/PlaylistPage.vue +175 -0
  141. package/src/components/pages/{Playlists.vue → PlaylistsPage.vue} +16 -14
  142. package/src/components/pages/PodcastPage.vue +365 -0
  143. package/src/components/pages/PodcastsPage.vue +152 -0
  144. package/src/components/pages/RadioPage.vue +131 -0
  145. package/src/components/pages/RubriquePage.vue +45 -0
  146. package/src/components/pages/{Search.vue → SearchPage.vue} +19 -19
  147. package/src/helper/dom.ts +1 -1
  148. package/src/helper/duration.ts +10 -4
  149. package/src/helper/useEventListener.ts +7 -8
  150. package/src/i18n.ts +31 -30
  151. package/src/locale/de.ts +263 -257
  152. package/src/locale/educationen.ts +13 -13
  153. package/src/locale/educationfr.ts +1 -1
  154. package/src/locale/en.ts +323 -324
  155. package/src/locale/es.ts +325 -318
  156. package/src/locale/fr.ts +330 -324
  157. package/src/locale/it.ts +332 -328
  158. package/src/locale/messages.ts +9 -9
  159. package/src/locale/sl.ts +315 -319
  160. package/src/main.ts +28 -31
  161. package/src/router/router.ts +218 -198
  162. package/src/shims-tsx.d.ts +1 -1
  163. package/src/shims-vue.d.ts +1 -1
  164. package/src/stores/ApiStore.ts +44 -44
  165. package/src/stores/AuthStore.ts +21 -15
  166. package/src/stores/CommentStore.ts +13 -11
  167. package/src/stores/FilterStore.ts +25 -15
  168. package/src/stores/GeneralStore.ts +15 -15
  169. package/src/stores/ParamSdkStore.ts +179 -137
  170. package/src/stores/PlayerStore.ts +139 -125
  171. package/src/stores/class/adserver/adserverConfig.ts +1 -1
  172. package/src/stores/class/adserver/adserverOtherEmission.ts +9 -9
  173. package/src/stores/class/cartouchier/cartouche.ts +4 -4
  174. package/src/stores/class/cartouchier/cartouchier.ts +2 -2
  175. package/src/stores/class/conference/conference.ts +10 -9
  176. package/src/stores/class/conference/conferenceMessage.ts +2 -2
  177. package/src/stores/class/conference/conferenceParticipant.ts +1 -1
  178. package/src/stores/class/conference/studioCall.ts +6 -6
  179. package/src/stores/class/contract/contractOrganisation.ts +5 -5
  180. package/src/stores/class/ftp/ftpEmission.ts +9 -9
  181. package/src/stores/class/ftp/testFtpEmission.ts +4 -4
  182. package/src/stores/class/general/audioView.ts +19 -19
  183. package/src/stores/class/general/category.ts +1 -1
  184. package/src/stores/class/general/classicSelectType.ts +2 -3
  185. package/src/stores/class/general/customPlayer.ts +8 -8
  186. package/src/stores/class/general/emission.ts +20 -20
  187. package/src/stores/class/general/fetchParam.ts +8 -2
  188. package/src/stores/class/general/initState.ts +31 -31
  189. package/src/stores/class/general/interfacePageable.ts +13 -13
  190. package/src/stores/class/general/ituneCategory.ts +4 -4
  191. package/src/stores/class/general/listReturn.ts +12 -12
  192. package/src/stores/class/general/media.ts +7 -7
  193. package/src/stores/class/general/organisation.ts +9 -9
  194. package/src/stores/class/general/pageable.ts +10 -10
  195. package/src/stores/class/general/participant.ts +7 -7
  196. package/src/stores/class/general/player.ts +30 -28
  197. package/src/stores/class/general/playlist.ts +17 -19
  198. package/src/stores/class/general/podcast.ts +19 -19
  199. package/src/stores/class/general/sortPageable.ts +4 -4
  200. package/src/stores/class/general/soundcastCategory.ts +7 -7
  201. package/src/stores/class/ouestFrance/ofTag.ts +34 -34
  202. package/src/stores/class/ouestFrance/ofTagInfo.ts +9 -9
  203. package/src/stores/class/ouestFrance/ofTagPage.ts +7 -7
  204. package/src/stores/class/ouestFrance/ofTagSeo.ts +7 -7
  205. package/src/stores/class/ouestFrance/ofTagVente.ts +6 -6
  206. package/src/stores/class/ouestFrance/ofTagWithParents.ts +20 -20
  207. package/src/stores/class/radio/canal.ts +4 -4
  208. package/src/stores/class/radio/live.ts +6 -6
  209. package/src/stores/class/radio/mix.ts +16 -16
  210. package/src/stores/class/radio/playlistMedia.ts +7 -7
  211. package/src/stores/class/radio/recurrence.ts +54 -54
  212. package/src/stores/class/rss/rssEmission.ts +13 -13
  213. package/src/stores/class/rss/rssInfo.ts +7 -7
  214. package/src/stores/class/rubrique/rubriquage.ts +2 -2
  215. package/src/stores/class/rubrique/rubrique.ts +1 -1
  216. package/src/stores/class/stat/statArrayIncome.ts +5 -5
  217. package/src/stores/class/stat/statArrayObject.ts +26 -26
  218. package/src/stores/class/stat/statGraph.ts +6 -6
  219. package/src/stores/class/user/person.ts +4 -2
  220. package/src/stores/class/user/profile.ts +4 -2
  221. package/src/stores/class/user/userKeycloak.ts +4 -5
  222. package/src/components/display/list/Paginate.vue +0 -181
  223. package/src/components/misc/Accordion.vue +0 -78
  224. package/src/components/misc/Footer.vue +0 -169
  225. package/src/components/misc/Nav.vue +0 -119
  226. package/src/components/misc/Popover.vue +0 -193
  227. package/src/components/misc/Snackbar.vue +0 -168
  228. package/src/components/pages/Category.vue +0 -41
  229. package/src/components/pages/Home.vue +0 -125
  230. package/src/components/pages/Lives.vue +0 -64
  231. package/src/components/pages/Playlist.vue +0 -164
  232. package/src/components/pages/Podcast.vue +0 -307
  233. package/src/components/pages/Podcasts.vue +0 -146
  234. package/src/components/pages/Radio.vue +0 -122
  235. package/src/components/pages/Rubrique.vue +0 -42
@@ -1,10 +1,7 @@
1
1
  <template>
2
2
  <div class="d-flex mt-3 align-items-center flex-wrap">
3
- <div
4
- v-if="isEmission"
5
- class="me-2"
6
- >
7
- {{ $t('Emission with episode published :') }}
3
+ <div v-if="isEmission" class="me-2">
4
+ {{ $t("Emission with episode published :") }}
8
5
  </div>
9
6
  <div class="d-flex align-items-center">
10
7
  <ClassicCheckbox
@@ -16,7 +13,10 @@
16
13
  <ClassicDatePicker
17
14
  :date="fromDate"
18
15
  template-class="mx-2 px-2 py-1 border rounded focus:border-blue-300"
19
- @updateDate="fromDate=$event;updateFromDate"
16
+ @update-date="
17
+ fromDate = $event;
18
+ updateFromDate;
19
+ "
20
20
  />
21
21
  </div>
22
22
  <div class="d-flex align-items-center">
@@ -29,54 +29,63 @@
29
29
  <ClassicDatePicker
30
30
  :date="toDate"
31
31
  template-class="ms-2 px-2 py-1 border rounded focus:border-blue-300"
32
- @updateDate="toDate=$event;updateToDate"
32
+ @update-date="
33
+ toDate = $event;
34
+ updateToDate;
35
+ "
33
36
  />
34
37
  </div>
35
38
  </div>
36
39
  </template>
37
40
 
38
41
  <script lang="ts">
39
- import dayjs from 'dayjs';
40
- import ClassicCheckbox from '../../form/ClassicCheckbox.vue';
41
- import ClassicDatePicker from '../../form/ClassicDatePicker.vue';
42
- import { defineComponent } from 'vue';
42
+ import dayjs from "dayjs";
43
+ import ClassicCheckbox from "../../form/ClassicCheckbox.vue";
44
+ import ClassicDatePicker from "../../form/ClassicDatePicker.vue";
45
+ import { defineComponent } from "vue";
43
46
  export default defineComponent({
44
47
  components: {
45
48
  ClassicDatePicker,
46
49
  ClassicCheckbox,
47
50
  },
48
51
  props: {
49
- isEmission: { default: false, type: Boolean},
50
- initToDate: { default: undefined, type: Date},
51
- initFromDate: { default: undefined, type: Date},
52
+ isEmission: { default: false, type: Boolean },
53
+ initToDate: { default: undefined, type: Date },
54
+ initFromDate: { default: undefined, type: Date },
52
55
  },
53
56
 
54
- emits: ['updateToDate', 'updateFromDate'],
57
+ emits: ["updateToDate", "updateFromDate"],
55
58
 
56
59
  data() {
57
60
  return {
58
61
  isFrom: false as boolean,
59
62
  isTo: false as boolean,
60
- fromDate: dayjs().subtract(10, 'days').toDate(),
63
+ fromDate: dayjs().subtract(10, "days").toDate(),
61
64
  toDate: dayjs().toDate(),
62
65
  };
63
66
  },
64
67
 
65
68
  watch: {
66
69
  isFrom(): void {
67
- this.$emit('updateFromDate', this.isFrom ? dayjs(this.fromDate).toISOString() : undefined);
70
+ this.$emit(
71
+ "updateFromDate",
72
+ this.isFrom ? dayjs(this.fromDate).toISOString() : undefined,
73
+ );
68
74
  },
69
75
  isTo(): void {
70
- this.$emit('updateToDate', this.isTo ? dayjs(this.toDate).toISOString() : undefined);
76
+ this.$emit(
77
+ "updateToDate",
78
+ this.isTo ? dayjs(this.toDate).toISOString() : undefined,
79
+ );
71
80
  },
72
81
  },
73
82
 
74
- created(){
75
- if(this.initToDate){
83
+ created() {
84
+ if (this.initToDate) {
76
85
  this.toDate = this.initToDate;
77
86
  this.isTo = true;
78
87
  }
79
- if(this.initFromDate){
88
+ if (this.initFromDate) {
80
89
  this.fromDate = this.initFromDate;
81
90
  this.isFrom = true;
82
91
  }
@@ -84,37 +93,28 @@ export default defineComponent({
84
93
  methods: {
85
94
  updateFromDate(): void {
86
95
  if (
87
- dayjs(this.fromDate)
88
- .startOf('minute')
89
- .toISOString() ===
90
- dayjs()
91
- .subtract(10, 'days')
92
- .startOf('minute')
93
- .toISOString()
96
+ dayjs(this.fromDate).startOf("minute").toISOString() ===
97
+ dayjs().subtract(10, "days").startOf("minute").toISOString()
94
98
  )
95
99
  return;
96
100
  if (this.isFrom) {
97
- this.$emit('updateFromDate', dayjs(this.fromDate).toISOString());
101
+ this.$emit("updateFromDate", dayjs(this.fromDate).toISOString());
98
102
  } else {
99
103
  this.isFrom = true;
100
104
  }
101
105
  },
102
106
  updateToDate(): void {
103
107
  if (
104
- dayjs(this.toDate)
105
- .startOf('minute')
106
- .toISOString() ===
107
- dayjs()
108
- .startOf('minute')
109
- .toISOString()
108
+ dayjs(this.toDate).startOf("minute").toISOString() ===
109
+ dayjs().startOf("minute").toISOString()
110
110
  )
111
111
  return;
112
112
  if (this.isTo) {
113
- this.$emit('updateToDate', dayjs(this.toDate).toISOString());
113
+ this.$emit("updateToDate", dayjs(this.toDate).toISOString());
114
114
  } else {
115
115
  this.isTo = true;
116
116
  }
117
117
  },
118
118
  },
119
- })
120
- </script>
119
+ });
120
+ </script>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="d-flex align-items-center">
3
- <div>{{ $t('Advertising') + ' :' }}</div>
3
+ <div>{{ $t("Advertising") + " :" }}</div>
4
4
  <select
5
5
  ref="select"
6
6
  v-model="monetization"
@@ -11,37 +11,39 @@
11
11
  {{ allString }}
12
12
  </option>
13
13
  <option value="YES">
14
- {{ $t('Authorized advertising') }}
14
+ {{ $t("Authorized advertising") }}
15
15
  </option>
16
16
  <option value="NO">
17
- {{ $t('Prohibited advertising') }}
17
+ {{ $t("Prohibited advertising") }}
18
18
  </option>
19
19
  </select>
20
20
  </div>
21
21
  </template>
22
22
 
23
23
  <script lang="ts">
24
- import { defineComponent } from 'vue'
24
+ import { defineComponent } from "vue";
25
25
  export default defineComponent({
26
26
  props: {
27
- isEmission: { default: false, type: Boolean},
27
+ isEmission: { default: false, type: Boolean },
28
28
  },
29
- emits: ['updateMonetization'],
29
+ emits: ["updateMonetization"],
30
30
 
31
31
  data() {
32
32
  return {
33
- monetization: 'UNDEFINED' as string,
33
+ monetization: "UNDEFINED" as string,
34
34
  };
35
35
  },
36
- computed:{
37
- allString(): string{
38
- return this.isEmission? this.$t('All emissions') : this.$t('All podcasts');
39
- }
36
+ computed: {
37
+ allString(): string {
38
+ return this.isEmission
39
+ ? this.$t("All emissions")
40
+ : this.$t("All podcasts");
41
+ },
40
42
  },
41
43
  methods: {
42
44
  onChange(): void {
43
- this.$emit('updateMonetization', this.monetization);
45
+ this.$emit("updateMonetization", this.monetization);
44
46
  },
45
47
  },
46
- })
47
- </script>
48
+ });
49
+ </script>
@@ -11,20 +11,21 @@
11
11
  />
12
12
  <ClassicCheckbox
13
13
  v-model:textInit="keepOrganisation"
14
- :class="!!organisationId? '' : 'invisible'"
14
+ :class="!!organisationId ? '' : 'invisible'"
15
15
  class="m-3"
16
- :label="$t('check this box if you want to keep this filter for the rest of your visit')"
16
+ :label="
17
+ $t(
18
+ 'check this box if you want to keep this filter for the rest of your visit',
19
+ )
20
+ "
17
21
  :display-label="false"
18
22
  id-checkbox="organisation-checkbox"
19
- @clickAction="onKeepOrganisation"
23
+ @click-action="onKeepOrganisation"
20
24
  />
21
- <div
22
- :class="showBubble? '' : 'invisible'"
23
- class="filter-speech-bubble"
24
- >
25
+ <div :class="showBubble ? '' : 'invisible'" class="filter-speech-bubble">
25
26
  {{
26
27
  $t(
27
- 'check this box if you want to keep this filter for the rest of your visit'
28
+ "check this box if you want to keep this filter for the rest of your visit",
28
29
  )
29
30
  }}
30
31
  </div>
@@ -35,35 +36,39 @@
35
36
  :autofocus="true"
36
37
  id-search="productor-search-input"
37
38
  :label="searchText"
38
- @update:textInit="$emit('update:searchPattern', $event)"
39
+ @update:text-init="$emit('update:searchPattern', $event)"
39
40
  />
40
41
  </div>
41
42
  </template>
42
43
 
43
44
  <script lang="ts">
44
- import ClassicSearch from '../../form/ClassicSearch.vue';
45
- import { state } from '../../../stores/ParamSdkStore';
46
- import orgaFilter from '../../mixins/organisationFilter';
47
- import { Organisation } from '@/stores/class/general/organisation';
48
- import { useFilterStore } from '@/stores/FilterStore';
49
- import { mapState, mapActions } from 'pinia';
50
- import { defineComponent, defineAsyncComponent } from 'vue';
51
- const OrganisationChooser = defineAsyncComponent(() => import('../organisation/OrganisationChooser.vue'));
52
- const ClassicCheckbox = defineAsyncComponent(() => import('../../form/ClassicCheckbox.vue'));
45
+ import ClassicSearch from "../../form/ClassicSearch.vue";
46
+ import { state } from "../../../stores/ParamSdkStore";
47
+ import orgaFilter from "../../mixins/organisationFilter";
48
+ import { Organisation } from "@/stores/class/general/organisation";
49
+ import { useFilterStore } from "@/stores/FilterStore";
50
+ import { mapState, mapActions } from "pinia";
51
+ import { defineComponent, defineAsyncComponent } from "vue";
52
+ const OrganisationChooser = defineAsyncComponent(
53
+ () => import("../organisation/OrganisationChooser.vue"),
54
+ );
55
+ const ClassicCheckbox = defineAsyncComponent(
56
+ () => import("../../form/ClassicCheckbox.vue"),
57
+ );
53
58
  export default defineComponent({
54
59
  components: {
55
60
  OrganisationChooser,
56
61
  ClassicSearch,
57
- ClassicCheckbox
62
+ ClassicCheckbox,
58
63
  },
59
- mixins:[orgaFilter],
64
+ mixins: [orgaFilter],
60
65
 
61
66
  props: {
62
- organisationId: { default: undefined, type: String},
63
- searchPattern: { default: '', type: String },
64
- type: { default: 'podcast', type: String },
67
+ organisationId: { default: undefined, type: String },
68
+ searchPattern: { default: "", type: String },
69
+ type: { default: "podcast", type: String },
65
70
  },
66
- emits: ['update:organisationId', 'update:searchPattern'],
71
+ emits: ["update:organisationId", "update:searchPattern"],
67
72
 
68
73
  data() {
69
74
  return {
@@ -72,57 +77,60 @@ export default defineComponent({
72
77
  };
73
78
  },
74
79
  computed: {
75
- ...mapState(useFilterStore, ['filterOrgaId']),
80
+ ...mapState(useFilterStore, ["filterOrgaId"]),
76
81
  isPodcastmaker(): boolean {
77
- return (state.generalParameters.podcastmaker as boolean);
82
+ return state.generalParameters.podcastmaker as boolean;
78
83
  },
79
84
  searchText(): string {
80
- if ('emission' === this.type) return this.$t('Look for emission name');
81
- if ('participant' === this.type)return this.$t('Look for participant name');
82
- if ('playlist' === this.type) return this.$t('Look for playlist name');
83
- return this.$t('Look for podcast name');
85
+ if ("emission" === this.type) return this.$t("Look for emission name");
86
+ if ("participant" === this.type)
87
+ return this.$t("Look for participant name");
88
+ if ("playlist" === this.type) return this.$t("Look for playlist name");
89
+ return this.$t("Look for podcast name");
84
90
  },
85
91
  },
86
92
  watch: {
87
- filterOrgaId():void{
88
- this.keepOrganisation = undefined!==this.filterOrgaId;
93
+ filterOrgaId(): void {
94
+ this.keepOrganisation = undefined !== this.filterOrgaId;
89
95
  if (this.filterOrgaId) {
90
- this.$emit('update:organisationId', this.filterOrgaId);
96
+ this.$emit("update:organisationId", this.filterOrgaId);
91
97
  }
92
98
  },
93
99
  },
94
100
  async created() {
95
101
  if (!this.organisationId) return;
96
- if(this.filterOrgaId === this.organisationId){
102
+ if (this.filterOrgaId === this.organisationId) {
97
103
  this.keepOrganisation = true;
98
104
  }
99
105
  },
100
106
  methods: {
101
- ...mapActions(useFilterStore, ['filterUpdateOrga']),
107
+ ...mapActions(useFilterStore, ["filterUpdateOrga"]),
102
108
  onOrganisationSelected(organisation: Organisation): void {
103
109
  if (this.$route.query.productor) {
104
110
  this.$router.push({ query: { productor: undefined } });
105
111
  }
106
- this.filterUpdateOrga({orgaId: undefined});
112
+ this.filterUpdateOrga({ orgaId: undefined });
107
113
  this.keepOrganisation = false;
108
114
  if (organisation && organisation.id) {
109
- this.$emit('update:organisationId', organisation.id);
110
- if("PUBLIC"!==organisation.privacy){
115
+ this.$emit("update:organisationId", organisation.id);
116
+ if ("PUBLIC" !== organisation.privacy) {
111
117
  this.$nextTick(() => {
112
118
  this.onKeepOrganisation();
113
119
  });
114
- } else{
120
+ } else {
115
121
  this.showBubble = true;
116
122
  setTimeout(() => {
117
123
  this.showBubble = false;
118
124
  }, 6000);
119
125
  }
120
126
  } else {
121
- this.$emit('update:organisationId', undefined);
127
+ this.$emit("update:organisationId", undefined);
122
128
  }
123
129
  },
124
130
  async onKeepOrganisation(): Promise<void> {
125
- if(!this.organisationId){return}
131
+ if (!this.organisationId) {
132
+ return;
133
+ }
126
134
  if (!this.keepOrganisation) {
127
135
  await this.selectOrganisation(this.organisationId);
128
136
  return;
@@ -130,16 +138,16 @@ export default defineComponent({
130
138
  this.removeSelectedOrga();
131
139
  },
132
140
  },
133
- })
141
+ });
134
142
  </script>
135
143
 
136
144
  <style lang="scss">
137
- @import '@scss/_variables.scss';
138
- .octopus-app{
145
+ @import "@scss/_variables.scss";
146
+ .octopus-app {
139
147
  .filter-speech-bubble {
140
148
  position: absolute;
141
149
  background: $octopus-primary-color;
142
- border-radius:$octopus-borderradius;
150
+ border-radius: $octopus-borderradius;
143
151
  width: 10rem;
144
152
  right: 4rem;
145
153
  padding: 5px;
@@ -150,7 +158,7 @@ export default defineComponent({
150
158
  }
151
159
 
152
160
  .filter-speech-bubble:after {
153
- content: '';
161
+ content: "";
154
162
  position: absolute;
155
163
  right: 0;
156
164
  top: 50%;
@@ -191,4 +199,4 @@ export default defineComponent({
191
199
  }
192
200
  }
193
201
  }
194
- </style>
202
+ </style>
@@ -15,14 +15,16 @@
15
15
  </select>
16
16
  <template v-if="rubriquageId">
17
17
  <div class="ms-3 flex-shrink-0">
18
- {{ $t('By rubric') }}
18
+ {{ $t("By rubric") }}
19
19
  </div>
20
20
  <RubriqueChooser
21
21
  v-if="getRubriques(rubriquageId).length"
22
22
  class="ms-2"
23
23
  :multiple="false"
24
24
  :rubriquage-id="rubriquageId"
25
- :rubrique-selected="0 !== rubriqueIdSelected? rubriqueIdSelected : undefined"
25
+ :rubrique-selected="
26
+ 0 !== rubriqueIdSelected ? rubriqueIdSelected : undefined
27
+ "
26
28
  :all-rubriques="getRubriques(rubriquageId)"
27
29
  :defaultanswer="$t('No rubric filter')"
28
30
  :reset="reset"
@@ -40,65 +42,78 @@
40
42
  </template>
41
43
 
42
44
  <script lang="ts">
43
- import { Rubriquage } from '@/stores/class/rubrique/rubriquage';
44
- import { Rubrique } from '@/stores/class/rubrique/rubrique';
45
- import { defineComponent, defineAsyncComponent } from 'vue';
46
- const RubriqueChooser = defineAsyncComponent(() => import('../rubriques/RubriqueChooser.vue'));
45
+ import { Rubriquage } from "@/stores/class/rubrique/rubriquage";
46
+ import { Rubrique } from "@/stores/class/rubrique/rubrique";
47
+ import { defineComponent, defineAsyncComponent } from "vue";
48
+ const RubriqueChooser = defineAsyncComponent(
49
+ () => import("../rubriques/RubriqueChooser.vue"),
50
+ );
47
51
  export default defineComponent({
48
52
  components: {
49
53
  RubriqueChooser,
50
54
  },
51
55
  props: {
52
- rubriquageDisplay: { default: () => [], type: Array as ()=>Array<Rubriquage>},
53
- rubriquageIdSelected:{default: 0, type: Number},
54
- rubriqueIdSelected: { default: 0, type: Number},
55
- index: { default: 0, type: Number},
56
+ rubriquageDisplay: {
57
+ default: () => [],
58
+ type: Array as () => Array<Rubriquage>,
59
+ },
60
+ rubriquageIdSelected: { default: 0, type: Number },
61
+ rubriqueIdSelected: { default: 0, type: Number },
62
+ index: { default: 0, type: Number },
56
63
  },
57
- emits: ['deleteRubriqueChoice', 'updateRubrique', 'updateRubriquage'],
64
+ emits: ["deleteRubriqueChoice", "updateRubrique", "updateRubriquage"],
58
65
 
59
66
  data() {
60
67
  return {
61
- rubriquageId: undefined as number|undefined,
62
- rubriqueId: undefined as number|undefined,
68
+ rubriquageId: undefined as number | undefined,
69
+ rubriqueId: undefined as number | undefined,
63
70
  reset: false as boolean,
64
71
  };
65
72
  },
66
- watch:{
67
- rubriquageIdSelected(){
73
+ watch: {
74
+ rubriquageIdSelected() {
68
75
  this.initRubriquage();
69
76
  },
70
- rubriqueIdSelected(){
77
+ rubriqueIdSelected() {
71
78
  this.initRubriquage();
72
- }
79
+ },
73
80
  },
74
81
 
75
- created(){
82
+ created() {
76
83
  this.initRubriquage();
77
84
  },
78
85
 
79
86
  methods: {
80
- initRubriquage(){
87
+ initRubriquage() {
81
88
  this.rubriquageId = this.rubriquageIdSelected;
82
89
  },
83
- deleteRubriquage(){
84
- this.$emit('deleteRubriqueChoice');
90
+ deleteRubriquage() {
91
+ this.$emit("deleteRubriqueChoice");
85
92
  },
86
93
  getRubriques(rubriquageId: number): Array<Rubrique> {
87
94
  const topicIndex = this.rubriquageDisplay.findIndex(
88
- ( element: Rubriquage) => element.rubriquageId === rubriquageId
95
+ (element: Rubriquage) => element.rubriquageId === rubriquageId,
89
96
  );
90
- return -1 !== topicIndex ? this.rubriquageDisplay[topicIndex].rubriques : [];
97
+ return -1 !== topicIndex
98
+ ? this.rubriquageDisplay[topicIndex].rubriques
99
+ : [];
91
100
  },
92
101
  onRubriqueSelected(rubrique: Rubrique): void {
93
102
  if (rubrique.rubriqueId === this.rubriqueId) return;
94
103
  this.rubriqueId = rubrique.rubriqueId;
95
- this.$emit('updateRubrique', {rubriqueId : rubrique.rubriqueId, index: this.index});
104
+ this.$emit("updateRubrique", {
105
+ rubriqueId: rubrique.rubriqueId,
106
+ index: this.index,
107
+ });
96
108
  },
97
109
  onRubriquageSelected(): void {
98
110
  this.reset = !this.reset;
99
111
  this.rubriqueId = 0;
100
- this.$emit('updateRubriquage', {rubriquageId : this.rubriquageId, index: this.index});
112
+ this.$emit("updateRubriquage", {
113
+ rubriquageId: this.rubriquageId,
114
+ index: this.index,
115
+ });
101
116
  },
102
117
  },
103
- })
104
- </script>
118
+ });
119
+ </script>