@saooti/octopus-sdk 37.0.6 → 37.0.8

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 (236) hide show
  1. package/README.md +2 -2
  2. package/index.ts +22 -22
  3. package/package.json +26 -22
  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/assets/transition.scss +34 -22
  8. package/src/components/display/aggregator/RssSection.vue +3 -3
  9. package/src/components/display/categories/CategoryChooser.vue +73 -60
  10. package/src/components/display/categories/CategoryFilter.vue +134 -90
  11. package/src/components/display/categories/CategoryList.vue +76 -62
  12. package/src/components/display/comments/AddCommentModal.vue +44 -44
  13. package/src/components/display/comments/CommentBasicView.vue +38 -30
  14. package/src/components/display/comments/CommentInput.vue +121 -106
  15. package/src/components/display/comments/CommentItem.vue +144 -102
  16. package/src/components/display/comments/CommentList.vue +117 -85
  17. package/src/components/display/comments/CommentParentInfo.vue +18 -15
  18. package/src/components/display/comments/CommentPlayer.vue +39 -41
  19. package/src/components/display/comments/CommentSection.vue +68 -53
  20. package/src/components/display/edit/EditBox.vue +7 -7
  21. package/src/components/display/edit/EditBoxRadio.vue +3 -4
  22. package/src/components/display/edit/EditCommentBox.vue +34 -36
  23. package/src/components/display/emission/EmissionInlineList.vue +75 -63
  24. package/src/components/display/emission/EmissionItem.vue +47 -35
  25. package/src/components/display/emission/EmissionList.vue +118 -83
  26. package/src/components/display/emission/EmissionPlayerItem.vue +89 -89
  27. package/src/components/display/filter/AdvancedSearch.vue +81 -73
  28. package/src/components/display/filter/CategorySearchFilter.vue +27 -25
  29. package/src/components/display/filter/DateFilter.vue +38 -38
  30. package/src/components/display/filter/MonetizableFilter.vue +16 -14
  31. package/src/components/display/filter/ProductorSearch.vue +55 -47
  32. package/src/components/display/filter/RubriqueChoice.vue +42 -27
  33. package/src/components/display/filter/RubriqueFilter.vue +130 -85
  34. package/src/components/display/filter/SearchOrder.vue +16 -11
  35. package/src/components/display/list/ListPaginate.vue +72 -70
  36. package/src/components/display/list/PaginateParams.vue +29 -30
  37. package/src/components/display/list/PaginateSection.vue +210 -0
  38. package/src/components/display/list/SwiperList.vue +28 -32
  39. package/src/components/display/live/CountDown.vue +12 -14
  40. package/src/components/display/live/LiveHorizontalList.vue +60 -50
  41. package/src/components/display/live/LiveItem.vue +42 -26
  42. package/src/components/display/live/LiveList.vue +92 -65
  43. package/src/components/display/live/RadioCurrently.vue +47 -42
  44. package/src/components/display/live/RadioImage.vue +40 -42
  45. package/src/components/display/live/RadioItem.vue +15 -22
  46. package/src/components/display/live/RadioList.vue +24 -21
  47. package/src/components/display/live/RadioPlanning.vue +105 -68
  48. package/src/components/display/organisation/OrganisationChooser.vue +58 -42
  49. package/src/components/display/organisation/OrganisationChooserLight.vue +27 -19
  50. package/src/components/display/participant/ParticipantItem.vue +89 -77
  51. package/src/components/display/participant/ParticipantList.vue +90 -60
  52. package/src/components/display/playlist/PlaylistItem.vue +32 -35
  53. package/src/components/display/playlist/PlaylistList.vue +70 -52
  54. package/src/components/display/playlist/PodcastList.vue +61 -50
  55. package/src/components/display/playlist/PodcastPlaylistInlineList.vue +47 -38
  56. package/src/components/display/podcasts/AnimatorsItem.vue +17 -15
  57. package/src/components/display/podcasts/ParticipantDescription.vue +21 -22
  58. package/src/components/display/podcasts/PodcastFilterList.vue +28 -26
  59. package/src/components/display/podcasts/PodcastImage.vue +129 -131
  60. package/src/components/display/podcasts/PodcastInlineList.vue +33 -29
  61. package/src/components/display/podcasts/PodcastInlineListClassic.vue +91 -71
  62. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +94 -85
  63. package/src/components/display/podcasts/PodcastItem.vue +96 -90
  64. package/src/components/display/podcasts/PodcastItemInfo.vue +61 -65
  65. package/src/components/display/podcasts/PodcastList.vue +115 -84
  66. package/src/components/display/podcasts/PodcastModuleBox.vue +95 -104
  67. package/src/components/display/podcasts/PodcastPlayBar.vue +45 -32
  68. package/src/components/display/podcasts/PodcastSwiperList.vue +65 -55
  69. package/src/components/display/podcasts/TagList.vue +33 -37
  70. package/src/components/display/rubriques/RubriqueChooser.vue +70 -51
  71. package/src/components/display/rubriques/RubriqueList.vue +117 -89
  72. package/src/components/display/sharing/PlayerParameters.vue +45 -42
  73. package/src/components/display/sharing/QrCode.vue +52 -46
  74. package/src/components/display/sharing/ShareButtons.vue +18 -18
  75. package/src/components/display/sharing/ShareButtonsIntern.vue +100 -78
  76. package/src/components/display/sharing/ShareDistribution.vue +101 -67
  77. package/src/components/display/sharing/SharePlayer.vue +207 -127
  78. package/src/components/display/sharing/SharePlayerColors.vue +15 -15
  79. package/src/components/display/sharing/SharePlayerRadio.vue +62 -39
  80. package/src/components/display/sharing/SharePlayerTypes.vue +93 -55
  81. package/src/components/display/sharing/SubscribeButtons.vue +83 -32
  82. package/src/components/display/studio/RecordingItemButton.vue +3 -3
  83. package/src/components/form/ClassicCheckbox.vue +32 -31
  84. package/src/components/form/ClassicDatePicker.vue +47 -49
  85. package/src/components/form/ClassicInputText.vue +99 -98
  86. package/src/components/form/ClassicLoading.vue +11 -14
  87. package/src/components/form/ClassicMultiselect.vue +125 -126
  88. package/src/components/form/ClassicRadio.vue +15 -18
  89. package/src/components/form/ClassicSearch.vue +17 -23
  90. package/src/components/form/ClassicSelect.vue +35 -27
  91. package/src/components/form/{Wysiwyg.vue → ClassicWysiwyg.vue} +103 -118
  92. package/src/components/misc/AcpmImage.vue +6 -6
  93. package/src/components/misc/ClassicAccordion.vue +73 -0
  94. package/src/components/misc/ClassicNav.vue +117 -0
  95. package/src/components/misc/ClassicPopover.vue +212 -0
  96. package/src/components/misc/{Spinner.vue → ClassicSpinner.vue} +14 -15
  97. package/src/components/misc/ErrorMessage.vue +9 -17
  98. package/src/components/misc/FooterSection.vue +198 -0
  99. package/src/components/misc/HomeDropdown.vue +60 -60
  100. package/src/components/misc/LeftMenu.vue +115 -79
  101. package/src/components/misc/ProgressBar.vue +36 -32
  102. package/src/components/misc/SnackBar.vue +169 -0
  103. package/src/components/misc/TopBar.vue +162 -116
  104. package/src/components/misc/modal/ClassicModal.vue +99 -103
  105. package/src/components/misc/modal/ClipboardModal.vue +21 -23
  106. package/src/components/misc/modal/MessageModal.vue +22 -28
  107. package/src/components/misc/modal/NewsletterModal.vue +139 -113
  108. package/src/components/misc/modal/QrCodeModal.vue +14 -17
  109. package/src/components/misc/modal/ShareModalPlayer.vue +44 -60
  110. package/src/components/misc/player/PlayerCompact.vue +47 -62
  111. package/src/components/misc/player/{Player.vue → PlayerComponent.vue} +54 -46
  112. package/src/components/misc/player/PlayerLarge.vue +62 -61
  113. package/src/components/misc/player/PlayerProgressBar.vue +40 -30
  114. package/src/components/misc/player/PlayerTimeline.vue +32 -36
  115. package/src/components/misc/player/radio/RadioHistory.vue +62 -59
  116. package/src/components/misc/player/radio/RadioProgressBar.vue +44 -35
  117. package/src/components/mixins/cookies.ts +11 -10
  118. package/src/components/mixins/displayMethods.ts +5 -4
  119. package/src/components/mixins/handle403.ts +9 -9
  120. package/src/components/mixins/imageProxy.ts +14 -7
  121. package/src/components/mixins/init.ts +31 -16
  122. package/src/components/mixins/orgaComputed.ts +7 -7
  123. package/src/components/mixins/organisationFilter.ts +36 -22
  124. package/src/components/mixins/player/playerComment.ts +46 -37
  125. package/src/components/mixins/player/playerDisplay.ts +122 -87
  126. package/src/components/mixins/player/playerLive.ts +65 -43
  127. package/src/components/mixins/player/playerLogic.ts +133 -88
  128. package/src/components/mixins/player/playerTranscript.ts +48 -30
  129. package/src/components/mixins/radio/fetchRadioData.ts +40 -23
  130. package/src/components/mixins/selenium.ts +2 -2
  131. package/src/components/mixins/tagOfMixins.ts +11 -11
  132. package/src/components/pages/CategoryPage.vue +43 -0
  133. package/src/components/pages/{Emission.vue → EmissionPage.vue} +98 -67
  134. package/src/components/pages/{Emissions.vue → EmissionsPage.vue} +51 -44
  135. package/src/components/pages/Error403Page.vue +20 -19
  136. package/src/components/pages/HomePage.vue +144 -0
  137. package/src/components/pages/LivesPage.vue +66 -0
  138. package/src/components/pages/PageNotFound.vue +33 -22
  139. package/src/components/pages/{Participant.vue → ParticipantPage.vue} +63 -49
  140. package/src/components/pages/{Participants.vue → ParticipantsPage.vue} +9 -9
  141. package/src/components/pages/PlaylistPage.vue +175 -0
  142. package/src/components/pages/{Playlists.vue → PlaylistsPage.vue} +16 -14
  143. package/src/components/pages/PodcastPage.vue +365 -0
  144. package/src/components/pages/PodcastsPage.vue +152 -0
  145. package/src/components/pages/RadioPage.vue +131 -0
  146. package/src/components/pages/RubriquePage.vue +45 -0
  147. package/src/components/pages/{Search.vue → SearchPage.vue} +19 -19
  148. package/src/helper/dom.ts +1 -1
  149. package/src/helper/duration.ts +10 -4
  150. package/src/helper/useEventListener.ts +7 -8
  151. package/src/i18n.ts +31 -30
  152. package/src/locale/de.ts +272 -257
  153. package/src/locale/educationen.ts +13 -13
  154. package/src/locale/educationfr.ts +1 -1
  155. package/src/locale/en.ts +332 -324
  156. package/src/locale/es.ts +334 -318
  157. package/src/locale/fr.ts +339 -324
  158. package/src/locale/it.ts +341 -328
  159. package/src/locale/messages.ts +9 -9
  160. package/src/locale/sl.ts +324 -319
  161. package/src/main.ts +28 -31
  162. package/src/router/router.ts +218 -198
  163. package/src/shims-tsx.d.ts +1 -1
  164. package/src/shims-vue.d.ts +1 -1
  165. package/src/stores/ApiStore.ts +44 -44
  166. package/src/stores/AuthStore.ts +21 -15
  167. package/src/stores/CommentStore.ts +13 -11
  168. package/src/stores/FilterStore.ts +25 -15
  169. package/src/stores/GeneralStore.ts +15 -15
  170. package/src/stores/ParamSdkStore.ts +179 -137
  171. package/src/stores/PlayerStore.ts +139 -125
  172. package/src/stores/class/adserver/adserverConfig.ts +1 -1
  173. package/src/stores/class/adserver/adserverOtherEmission.ts +9 -9
  174. package/src/stores/class/cartouchier/cartouche.ts +4 -4
  175. package/src/stores/class/cartouchier/cartouchier.ts +2 -2
  176. package/src/stores/class/conference/conference.ts +10 -9
  177. package/src/stores/class/conference/conferenceMessage.ts +2 -2
  178. package/src/stores/class/conference/conferenceParticipant.ts +1 -1
  179. package/src/stores/class/conference/studioCall.ts +6 -6
  180. package/src/stores/class/contract/contractOrganisation.ts +5 -5
  181. package/src/stores/class/ftp/ftpEmission.ts +9 -9
  182. package/src/stores/class/ftp/testFtpEmission.ts +4 -4
  183. package/src/stores/class/general/audioView.ts +19 -19
  184. package/src/stores/class/general/category.ts +1 -1
  185. package/src/stores/class/general/classicSelectType.ts +2 -3
  186. package/src/stores/class/general/customPlayer.ts +8 -8
  187. package/src/stores/class/general/emission.ts +20 -20
  188. package/src/stores/class/general/fetchParam.ts +8 -2
  189. package/src/stores/class/general/initState.ts +31 -31
  190. package/src/stores/class/general/interfacePageable.ts +13 -13
  191. package/src/stores/class/general/ituneCategory.ts +4 -4
  192. package/src/stores/class/general/listReturn.ts +12 -12
  193. package/src/stores/class/general/media.ts +7 -7
  194. package/src/stores/class/general/organisation.ts +9 -9
  195. package/src/stores/class/general/pageable.ts +10 -10
  196. package/src/stores/class/general/participant.ts +7 -7
  197. package/src/stores/class/general/player.ts +30 -28
  198. package/src/stores/class/general/playlist.ts +17 -19
  199. package/src/stores/class/general/podcast.ts +19 -19
  200. package/src/stores/class/general/sortPageable.ts +4 -4
  201. package/src/stores/class/general/soundcastCategory.ts +7 -7
  202. package/src/stores/class/ouestFrance/ofTag.ts +34 -34
  203. package/src/stores/class/ouestFrance/ofTagInfo.ts +9 -9
  204. package/src/stores/class/ouestFrance/ofTagPage.ts +7 -7
  205. package/src/stores/class/ouestFrance/ofTagSeo.ts +7 -7
  206. package/src/stores/class/ouestFrance/ofTagVente.ts +6 -6
  207. package/src/stores/class/ouestFrance/ofTagWithParents.ts +20 -20
  208. package/src/stores/class/radio/canal.ts +4 -4
  209. package/src/stores/class/radio/live.ts +6 -6
  210. package/src/stores/class/radio/mix.ts +16 -16
  211. package/src/stores/class/radio/playlistMedia.ts +7 -7
  212. package/src/stores/class/radio/recurrence.ts +54 -54
  213. package/src/stores/class/rss/rssEmission.ts +13 -13
  214. package/src/stores/class/rss/rssInfo.ts +7 -7
  215. package/src/stores/class/rubrique/rubriquage.ts +2 -2
  216. package/src/stores/class/rubrique/rubrique.ts +1 -1
  217. package/src/stores/class/stat/statArrayIncome.ts +5 -5
  218. package/src/stores/class/stat/statArrayObject.ts +26 -26
  219. package/src/stores/class/stat/statGraph.ts +6 -6
  220. package/src/stores/class/user/person.ts +4 -2
  221. package/src/stores/class/user/profile.ts +4 -2
  222. package/src/stores/class/user/userKeycloak.ts +4 -5
  223. package/src/components/display/list/Paginate.vue +0 -181
  224. package/src/components/misc/Accordion.vue +0 -78
  225. package/src/components/misc/Footer.vue +0 -169
  226. package/src/components/misc/Nav.vue +0 -119
  227. package/src/components/misc/Popover.vue +0 -193
  228. package/src/components/misc/Snackbar.vue +0 -168
  229. package/src/components/pages/Category.vue +0 -41
  230. package/src/components/pages/Home.vue +0 -125
  231. package/src/components/pages/Lives.vue +0 -64
  232. package/src/components/pages/Playlist.vue +0 -164
  233. package/src/components/pages/Podcast.vue +0 -307
  234. package/src/components/pages/Podcasts.vue +0 -146
  235. package/src/components/pages/Radio.vue +0 -122
  236. 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>