@saooti/octopus-sdk 33.1.1 → 33.1.2

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 (51) hide show
  1. package/README.md +1 -0
  2. package/index.ts +62 -167
  3. package/package.json +1 -1
  4. package/src/App.vue +1 -1
  5. package/src/assets/bootstrap-diff.scss +0 -1
  6. package/src/assets/form.scss +0 -4
  7. package/src/assets/general.scss +0 -51
  8. package/src/components/display/comments/CommentBasicView.vue +2 -1
  9. package/src/components/display/comments/CommentInput.vue +1 -1
  10. package/src/components/display/comments/CommentItem.vue +2 -1
  11. package/src/components/display/comments/CommentPlayer.vue +1 -1
  12. package/src/components/display/comments/CommentSection.vue +1 -1
  13. package/src/components/display/edit/EditCommentBox.vue +1 -1
  14. package/src/components/display/emission/EmissionInlineList.vue +1 -1
  15. package/src/components/display/emission/EmissionItem.vue +2 -1
  16. package/src/components/display/emission/EmissionPlayerItem.vue +2 -1
  17. package/src/components/display/filter/ProductorSearch.vue +1 -1
  18. package/src/components/display/live/LiveItem.vue +1 -1
  19. package/src/components/display/organisation/OrganisationChooser.vue +2 -1
  20. package/src/components/display/participant/ParticipantItem.vue +2 -1
  21. package/src/components/display/playlist/PlaylistItem.vue +2 -1
  22. package/src/components/display/podcasts/PodcastImage.vue +1 -1
  23. package/src/components/display/podcasts/PodcastInlineListClassic.vue +1 -1
  24. package/src/components/display/podcasts/PodcastModuleBox.vue +1 -1
  25. package/src/components/display/podcasts/PodcastPlayBar.vue +1 -1
  26. package/src/components/display/podcasts/TagList.vue +1 -1
  27. package/src/components/display/rubriques/RubriqueChooser.vue +1 -1
  28. package/src/components/display/sharing/ShareButtons.vue +1 -1
  29. package/src/components/display/sharing/ShareButtonsIntern.vue +1 -1
  30. package/src/components/display/sharing/ShareDistribution.vue +1 -1
  31. package/src/components/misc/Footer.vue +1 -1
  32. package/src/components/misc/LeftMenu.vue +1 -1
  33. package/src/components/misc/TopBar.vue +2 -2
  34. package/src/components/misc/modal/ClipboardModal.vue +1 -1
  35. package/src/components/misc/modal/NewsletterModal.vue +1 -1
  36. package/src/components/misc/modal/ShareModalPlayer.vue +1 -1
  37. package/src/components/misc/player/PlayerCompact.vue +1 -1
  38. package/src/components/misc/player/PlayerLarge.vue +1 -1
  39. package/src/components/mixins/cookies.ts +21 -0
  40. package/src/components/mixins/displayMethods.ts +16 -0
  41. package/src/components/mixins/imageProxy.ts +15 -0
  42. package/src/components/mixins/init.ts +2 -2
  43. package/src/components/mixins/organisationFilter.ts +1 -1
  44. package/src/components/mixins/player/playerLogic.ts +1 -1
  45. package/src/components/mixins/selenium.ts +7 -0
  46. package/src/components/mixins/tagOfMixins.ts +1 -1
  47. package/src/components/pages/Emission.vue +2 -1
  48. package/src/components/pages/Participant.vue +2 -1
  49. package/src/components/pages/Playlist.vue +2 -1
  50. package/src/components/display/sharing/SplitButton.vue +0 -42
  51. package/src/components/mixins/functions.ts +0 -62
package/README.md CHANGED
@@ -696,4 +696,5 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
696
696
  * 33.0.6 Crédits
697
697
  * 33.0.7 Test refactor podcastmaker with scss variables
698
698
  * 33.1.0 Refacto store
699
+ * 33.1.2 Refacto lazy export
699
700
 
package/index.ts CHANGED
@@ -1,186 +1,81 @@
1
1
  //Pages
2
- import Lives from "./src/components/pages/Lives.vue";
3
- import Podcast from "./src/components/pages/Podcast.vue";
4
- import Podcasts from "./src/components/pages/Podcasts.vue";
5
- import Emission from "./src/components/pages/Emission.vue";
6
- import Emissions from "./src/components/pages/Emissions.vue";
7
- import Playlist from "./src/components/pages/Playlist.vue";
8
- import Playlists from "./src/components/pages/Playlists.vue";
9
- import Participant from "./src/components/pages/Participant.vue";
10
- import Participants from "./src/components/pages/Participants.vue";
11
- import Search from "./src/components/pages/Search.vue";
12
- import Home from "./src/components/pages/Home.vue";
13
- import Category from "./src/components/pages/Category.vue";
14
- import Rubrique from "./src/components/pages/Rubrique.vue";
15
- import Error403Page from "./src/components/pages/Error403Page.vue";
2
+ export const getLives = () => import("./src/components/pages/Lives.vue");
3
+ export const getPodcast = () => import("./src/components/pages/Podcast.vue");
4
+ export const getPodcasts = () => import("./src/components/pages/Podcasts.vue");
5
+ export const getEmission = () => import("./src/components/pages/Emission.vue");
6
+ export const getEmissions = () => import("./src/components/pages/Emissions.vue");
7
+ export const getPlaylist = () => import("./src/components/pages/Playlist.vue");
8
+ export const getPlaylists = () => import("./src/components/pages/Playlists.vue");
9
+ export const getParticipant = () => import("./src/components/pages/Participant.vue");
10
+ export const getParticipants = () => import("./src/components/pages/Participants.vue");
11
+ export const getSearch = () => import("./src/components/pages/Search.vue");
12
+ export const getHome = () => import("./src/components/pages/Home.vue");
13
+ export const getCategory = () => import("./src/components/pages/Category.vue");
14
+ export const getRubrique = () => import("./src/components/pages/Rubrique.vue");
15
+ export const getError403Page = () => import("./src/components/pages/Error403Page.vue");
16
+
16
17
  //Misc
17
- import Footer from "./src/components/misc/Footer.vue";
18
- import LeftMenu from "./src/components/misc/LeftMenu.vue";
19
- import Player from "./src/components/misc/player/Player.vue";
20
- import Snackbar from "./src/components/misc/Snackbar.vue";
21
- import TopBar from "./src/components/misc/TopBar.vue";
22
- import HomeDropdown from "./src/components/misc/HomeDropdown.vue";
23
- import MessageModal from "./src/components/misc/modal/MessageModal.vue";
24
- import ErrorMessage from "./src/components/misc/ErrorMessage.vue";
25
- import Popover from "./src/components/misc/Popover.vue";
18
+ export const getFooter = () => import("./src/components/misc/Footer.vue");
19
+ export const getLeftMenu = () => import("./src/components/misc/LeftMenu.vue");
20
+ export const getPlayer = () => import("./src/components/misc/player/Player.vue");
21
+ export const getSnackbar = () => import("./src/components/misc/Snackbar.vue");
22
+ export const getTopBar = () => import("./src/components/misc/TopBar.vue");
23
+ export const getHomeDropdown = () => import("./src/components/misc/HomeDropdown.vue");
24
+ export const getMessageModal = () => import("./src/components/misc/modal/MessageModal.vue");
25
+ export const getErrorMessage = () => import("./src/components/misc/ErrorMessage.vue");
26
+ export const getPopover = () => import("./src/components/misc/Popover.vue");
27
+
28
+
26
29
  //Display
27
- import CategoryChooser from "./src/components/display/categories/CategoryChooser.vue";
28
- import CategoryList from "./src/components/display/categories/CategoryList.vue";
29
- import CategoryFilter from "./src/components/display/categories/CategoryFilter.vue";
30
- import EmissionChooser from "./src/components/display/emission/EmissionChooser.vue";
31
- import EmissionList from "./src/components/display/emission/EmissionList.vue";
32
- import OrganisationChooser from "./src/components/display/organisation/OrganisationChooser.vue";
33
- import PodcastFilterList from "./src/components/display/podcasts/PodcastFilterList.vue";
34
- import PodcastInlineList from "./src/components/display/podcasts/PodcastInlineList.vue";
35
- import PodcastList from "./src/components/display/podcasts/PodcastList.vue";
36
- import ShareButtons from "./src/components/display/sharing/ShareButtons.vue";
37
- import EmissionInlineList from "./src/components/display/emission/EmissionInlineList.vue";
38
- import RubriqueChooser from "./src/components/display/rubriques/RubriqueChooser.vue";
39
- import CommentList from "./src/components/display/comments/CommentList.vue";
40
- import CommentInput from "./src/components/display/comments/CommentInput.vue";
41
- import PodcastPlaylistInlineList from "./src/components/display/playlist/PodcastPlaylistInlineList.vue";
30
+ export const getCategoryChooser = () => import("./src/components/display/categories/CategoryChooser.vue");
31
+ export const getCategoryList = () => import("./src/components/display/categories/CategoryList.vue");
32
+ export const getCategoryFilter = () => import("./src/components/display/categories/CategoryFilter.vue");
33
+ export const getEmissionChooser = () => import("./src/components/display/emission/EmissionChooser.vue");
34
+ export const getEmissionList = () => import("./src/components/display/emission/EmissionList.vue");
35
+ export const getOrganisationChooser = () => import("./src/components/display/organisation/OrganisationChooser.vue");
36
+ export const getPodcastFilterList = () => import("./src/components/display/podcasts/PodcastFilterList.vue");
37
+ export const getPodcastInlineList = () => import("./src/components/display/podcasts/PodcastInlineList.vue");
38
+ export const getPodcastList = () => import("./src/components/display/podcasts/PodcastList.vue");
39
+ export const getShareButtons = () => import("./src/components/display/sharing/ShareButtons.vue");
40
+ export const getEmissionInlineList = () => import("./src/components/display/emission/EmissionInlineList.vue");
41
+ export const getRubriqueChooser = () => import("./src/components/display/rubriques/RubriqueChooser.vue");
42
+ export const getCommentList = () => import("./src/components/display/comments/CommentList.vue");
43
+ export const getCommentInput = () => import("./src/components/display/comments/CommentInput.vue");
44
+ export const getPodcastPlaylistInlineList = () => import("./src/components/display/playlist/PodcastPlaylistInlineList.vue");
45
+
42
46
 
43
47
  //AdvancedSearch
44
- import AdvancedSearch from "./src/components/display/filter/AdvancedSearch.vue";
45
- import RubriqueFilter from "./src/components/display/filter/RubriqueFilter.vue";
46
- import DateFilter from "./src/components/display/filter/DateFilter.vue";
47
- import SearchOrder from "./src/components/display/filter/SearchOrder.vue";
48
+ export const getAdvancedSearch = () => import("./src/components/display/filter/AdvancedSearch.vue");
49
+ export const getRubriqueFilter = () => import("./src/components/display/filter/RubriqueFilter.vue");
50
+ export const getDateFilter = () => import("./src/components/display/filter/DateFilter.vue");
51
+ export const getSearchOrder = () => import("./src/components/display/filter/SearchOrder.vue");
48
52
 
49
53
  //form
50
- import ClassicSearch from "./src/components/form/ClassicSearch.vue";
51
- import ClassicCheckbox from "./src/components/form/ClassicCheckbox.vue";
52
- import ClassicRadio from "./src/components/form/ClassicRadio.vue";
53
- import ClassicLoading from "./src/components/form/ClassicLoading.vue";
54
- import ClassicSelect from "./src/components/form/ClassicSelect.vue";
55
- import Paginate from "./src/components/display/list/Paginate.vue";
56
- import ListPaginate from "./src/components/display/list/ListPaginate.vue";
54
+ export const getClassicSearch = () => import("./src/components/form/ClassicSearch.vue");
55
+ export const getClassicCheckbox = () => import("./src/components/form/ClassicCheckbox.vue");
56
+ export const getClassicRadio = () => import("./src/components/form/ClassicRadio.vue");
57
+ export const getClassicLoading = () => import("./src/components/form/ClassicLoading.vue");
58
+ export const getClassicSelect = () => import("./src/components/form/ClassicSelect.vue");
59
+ export const getPaginate = () => import("./src/components/display/list/Paginate.vue");
60
+ export const getListPaginate = () => import("./src/components/display/list/ListPaginate.vue");
61
+
57
62
 
58
63
  //mixins
59
- import {selenium} from "./src/components/mixins/functions";
60
- import {cookies} from "./src/components/mixins/functions";
61
- import {displayMethods} from "./src/components/mixins/functions";
62
- import {imageProxy} from "./src/components/mixins/functions";
63
- import {orgaFilter} from "./src/components/mixins/organisationFilter";
64
- import {initSDK} from "./src/components/mixins/init";
65
- import {tagOfMixins} from "./src/components/mixins/tagOfMixins";
66
64
 
67
- const components = {
68
- Lives,
69
- Podcast,
70
- Podcasts,
71
- Emission,
72
- Emissions,
73
- Playlist,
74
- Playlists,
75
- Participant,
76
- Participants,
77
- Search,
78
- Home,
79
- Category,
80
- Footer,
81
- LeftMenu,
82
- Player,
83
- TopBar,
84
- CategoryChooser,
85
- CategoryList,
86
- PodcastInlineList,
87
- EmissionChooser,
88
- EmissionList,
89
- /* EmissionItem, */
90
- OrganisationChooser,
91
- PodcastFilterList,
92
- ShareButtons,
93
- PodcastList,
94
- EmissionInlineList,
95
- RubriqueChooser,
96
- Snackbar,
97
- selenium,
98
- cookies,
99
- MessageModal,
100
- CommentList,
101
- CommentInput,
102
- HomeDropdown,
103
- ErrorMessage,
104
- displayMethods,
105
- imageProxy,
106
- Rubrique,
107
- CategoryFilter,
108
- orgaFilter,
109
- initSDK,
110
- Popover,
111
- tagOfMixins,
112
- ClassicSearch,
113
- ClassicCheckbox,
114
- ClassicRadio,
115
- ClassicLoading,
116
- AdvancedSearch,
117
- PodcastPlaylistInlineList,
118
- ClassicSelect,
119
- Error403Page,
120
- Paginate,
121
- ListPaginate,
122
- RubriqueFilter,
123
- DateFilter,
124
- SearchOrder
125
- }
126
- export default components;
65
+ import selenium from "./src/components/mixins/selenium";
66
+ import cookies from "./src/components/mixins/cookies";
67
+ import displayMethods from "./src/components/mixins/displayMethods";
68
+ import imageProxy from "./src/components/mixins/imageProxy";
69
+ import orgaFilter from "./src/components/mixins/organisationFilter";
70
+ import initSDK from "./src/components/mixins/init";
71
+ import tagOfMixins from "./src/components/mixins/tagOfMixins";
127
72
 
128
73
  export {
129
- Lives,
130
- Podcast,
131
- Podcasts,
132
- Emission,
133
- Emissions,
134
- Playlist,
135
- Playlists,
136
- Participant,
137
- Participants,
138
- Search,
139
- Home,
140
- Category,
141
- Footer,
142
- LeftMenu,
143
- Player,
144
- TopBar,
145
- CategoryChooser,
146
- CategoryList,
147
- PodcastInlineList,
148
- EmissionChooser,
149
- /* EmissionItem, */
150
- EmissionList,
151
- OrganisationChooser,
152
- PodcastFilterList,
153
- ShareButtons,
154
- PodcastList,
155
- EmissionInlineList,
156
- RubriqueChooser,
157
- Snackbar,
158
74
  selenium,
159
75
  cookies,
160
- MessageModal,
161
- CommentList,
162
- CommentInput,
163
- HomeDropdown,
164
- ErrorMessage,
165
76
  displayMethods,
166
77
  imageProxy,
167
- Rubrique,
168
- CategoryFilter,
169
78
  orgaFilter,
170
79
  initSDK,
171
- Popover,
172
- tagOfMixins,
173
- ClassicSearch,
174
- ClassicCheckbox,
175
- ClassicRadio,
176
- ClassicLoading,
177
- AdvancedSearch,
178
- PodcastPlaylistInlineList,
179
- ClassicSelect,
180
- Error403Page,
181
- Paginate,
182
- ListPaginate,
183
- RubriqueFilter,
184
- DateFilter,
185
- SearchOrder
80
+ tagOfMixins
186
81
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "33.1.1",
3
+ "version": "33.1.2",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
package/src/App.vue CHANGED
@@ -28,7 +28,7 @@ import { state } from './store/paramStore';
28
28
  import { Rubriquage } from './store/class/rubrique/rubriquage';
29
29
  import { RubriquageFilter } from './store/class/rubrique/rubriquageFilter';
30
30
  import { Rubrique } from './store/class/rubrique/rubrique';
31
- import { initSDK } from './components/mixins/init';
31
+ import initSDK from './components/mixins/init';
32
32
  import { defineAsyncComponent, defineComponent } from 'vue'
33
33
  import { Category } from './store/class/general/category';
34
34
  const LeftMenu = defineAsyncComponent(() => import('@/components/misc/LeftMenu.vue'));
@@ -11,7 +11,6 @@
11
11
  font-size:.7rem;
12
12
  border-radius: 4px;
13
13
  background: $octopus-secondary-color;
14
- transition: background .2s, border .2s, box-shadow .2s, color .2s;
15
14
  text-decoration: none !important;
16
15
  white-space: nowrap;
17
16
  border-width: 0;
@@ -40,10 +40,6 @@
40
40
  max-width: 100%;
41
41
  padding: 0.25rem 0.4rem;
42
42
  position: relative;
43
- -webkit-transition: background 0.2s, border 0.2s, color 0.2s, -webkit-box-shadow 0.2s;
44
- transition: background 0.2s, border 0.2s, color 0.2s, -webkit-box-shadow 0.2s;
45
- transition: background 0.2s, border 0.2s, box-shadow 0.2s, color 0.2s;
46
- transition: background 0.2s, border 0.2s, box-shadow 0.2s, color 0.2s, -webkit-box-shadow 0.2s;
47
43
  width: 100%;
48
44
  }
49
45
 
@@ -269,57 +269,6 @@ body{
269
269
  margin-bottom: 0.2rem;
270
270
  }
271
271
  }
272
- .btn-split{
273
- display: inline-block;
274
- cursor: default;
275
- padding: 0;
276
- position: relative;
277
- text-align: center;
278
- min-width: 400px;
279
- @media (max-width: 400px) {
280
- min-width: auto;
281
- }
282
- &:hover, &.mobileHover{
283
- .label{
284
- opacity: 0;
285
- transition: opacity .5s .125s ease-out;
286
- }
287
- .btn {
288
- margin: 0 0.3rem !important;
289
- }
290
- }
291
- .btn{
292
- transition:
293
- background-color .5s ease-out,
294
- border-radius .5s .25s ease-out,
295
- margin .5s .25s ease-out;
296
- margin: 0 !important;
297
- &.first {
298
- margin-left: 0;
299
- }
300
- &.last {
301
- margin-right: 0;
302
- }
303
- }
304
- .label {
305
- position: absolute;
306
- display: flex;
307
- align-items: center;
308
- justify-content: center;
309
- padding: 0.5rem;
310
- border-radius: 4px;
311
- font-weight: bold;
312
- background: $octopus-secondary-color;
313
- top: 0;
314
- left: 0;
315
- right: 0;
316
- bottom: 0;
317
- opacity: 1;
318
- pointer-events: none;
319
- transition: opacity .5s .75s ease-out;
320
- }
321
- }
322
-
323
272
  @media (max-width: 960px) {
324
273
  .d-flex:not(.flex-column){
325
274
  flex-wrap: wrap;
@@ -48,7 +48,8 @@
48
48
  </template>
49
49
 
50
50
  <script lang="ts">
51
- import { displayMethods, selenium } from '../../mixins/functions';
51
+ import selenium from '../../mixins/selenium';
52
+ import displayMethods from '../../mixins/displayMethods';
52
53
  import { CommentPodcast } from '@/store/class/general/comment';
53
54
  import moment from 'moment';
54
55
  import Popover from '../../misc/Popover.vue';
@@ -91,7 +91,7 @@
91
91
  <script lang="ts">
92
92
  import octopusApi from '@saooti/octopus-api';
93
93
  import crudApi from '@/api/classicCrud';
94
- import { cookies } from '../../mixins/functions';
94
+ import cookies from '../../mixins/cookies';
95
95
  import { state } from '../../../store/paramStore';
96
96
  import { Podcast } from '@/store/class/general/podcast';
97
97
  import { Conference } from '@/store/class/conference/conference';
@@ -130,7 +130,8 @@
130
130
 
131
131
  <script lang="ts">
132
132
  import { state } from '../../../store/paramStore';
133
- import { displayMethods, selenium } from '../../mixins/functions';
133
+ import selenium from '../../mixins/selenium';
134
+ import displayMethods from '../../mixins/displayMethods';
134
135
  import { CommentPodcast } from '@/store/class/general/comment';
135
136
  import { Podcast } from '@/store/class/general/podcast';
136
137
  import { Conference } from '@/store/class/conference/conference';
@@ -37,7 +37,7 @@
37
37
 
38
38
  <script lang="ts">
39
39
  import { CommentPodcast } from '@/store/class/general/comment';
40
- import { selenium } from '../../mixins/functions';
40
+ import selenium from '../../mixins/selenium';
41
41
  import { defineComponent } from 'vue'
42
42
  export default defineComponent({
43
43
  name: 'CommentPlayer',
@@ -37,7 +37,7 @@
37
37
  <script lang="ts">
38
38
  import CommentList from './CommentList.vue';
39
39
  import CommentInput from './CommentInput.vue';
40
- import { cookies } from '../../mixins/functions';
40
+ import cookies from '../../mixins/cookies';
41
41
  import { Podcast } from '@/store/class/general/podcast';
42
42
  import { Conference } from '@/store/class/conference/conference';
43
43
 
@@ -68,7 +68,7 @@
68
68
  </template>
69
69
 
70
70
  <script lang="ts">
71
- import { selenium } from '../../mixins/functions';
71
+ import selenium from '../../mixins/selenium';
72
72
  import { CommentPodcast } from '@/store/class/general/comment';
73
73
  import { defineComponent, defineAsyncComponent } from 'vue';
74
74
  const MessageModal = defineAsyncComponent(
@@ -68,7 +68,7 @@ import { Emission } from '@/store/class/general/emission';
68
68
  import { Rubrique } from '@/store/class/rubrique/rubrique';
69
69
  import { defineComponent } from 'vue'
70
70
  import { AxiosError } from 'axios';
71
- import { imageProxy } from '../../mixins/functions';
71
+ import imageProxy from '../../mixins/imageProxy';
72
72
  import { Rubriquage } from '@/store/class/rubrique/rubriquage';
73
73
  export default defineComponent({
74
74
  name: 'EmissionInlineList',
@@ -63,7 +63,8 @@ import { orgaComputed } from '../../mixins/orgaComputed';
63
63
  import { Emission } from '@/store/class/general/emission';
64
64
  import { state } from '../../../store/paramStore';
65
65
  import octopusApi from '@saooti/octopus-api';
66
- import { displayMethods, imageProxy } from '../../mixins/functions';
66
+ import imageProxy from '../../mixins/imageProxy';
67
+ import displayMethods from '../../mixins/displayMethods';
67
68
  import { defineComponent } from 'vue'
68
69
  import { Podcast } from '@/store/class/general/podcast';
69
70
  export default defineComponent({
@@ -143,7 +143,8 @@ import { Emission } from '@/store/class/general/emission';
143
143
  import { Podcast } from '@/store/class/general/podcast';
144
144
  import { state } from '../../../store/paramStore';
145
145
  import PodcastPlayBar from '../podcasts/PodcastPlayBar.vue';
146
- import { displayMethods, imageProxy } from '../../mixins/functions';
146
+ import imageProxy from '../../mixins/imageProxy';
147
+ import displayMethods from '../../mixins/displayMethods';
147
148
  import { defineComponent } from 'vue'
148
149
  export default defineComponent({
149
150
  name: 'EmissionPlayerItem',
@@ -42,7 +42,7 @@
42
42
  <script lang="ts">
43
43
  import ClassicSearch from '../../form/ClassicSearch.vue';
44
44
  import { state } from '../../../store/paramStore';
45
- import { orgaFilter } from '../../mixins/organisationFilter';
45
+ import orgaFilter from '../../mixins/organisationFilter';
46
46
  import { Organisation } from '@/store/class/general/organisation';
47
47
  import { defineComponent, defineAsyncComponent } from 'vue';
48
48
  const OrganisationChooser = defineAsyncComponent(() => import('../organisation/OrganisationChooser.vue'));
@@ -130,7 +130,7 @@ import crudApi from '@/api/classicCrud';
130
130
  import moment from 'moment';
131
131
  // @ts-ignore
132
132
  import humanizeDuration from 'humanize-duration';
133
- import { displayMethods } from '../../mixins/functions';
133
+ import displayMethods from '../../mixins/displayMethods';
134
134
  import { Podcast } from '@/store/class/general/podcast';
135
135
  import { Participant } from '@/store/class/general/participant';
136
136
 
@@ -109,7 +109,8 @@
109
109
  </template>
110
110
 
111
111
  <script lang="ts">
112
- import { selenium, imageProxy } from '../../mixins/functions';
112
+ import imageProxy from '../../mixins/imageProxy';
113
+ import selenium from '../../mixins/selenium';
113
114
  import { orgaComputed } from '../../mixins/orgaComputed';
114
115
  //@ts-ignore
115
116
  import VueMultiselect from 'vue-multiselect';
@@ -57,7 +57,8 @@
57
57
  import octopusApi from '@saooti/octopus-api';
58
58
  import { Participant } from '@/store/class/general/participant';
59
59
  import { state } from '../../../store/paramStore';
60
- import { displayMethods, imageProxy } from '../../mixins/functions';
60
+ import imageProxy from '../../mixins/imageProxy';
61
+ import displayMethods from '../../mixins/displayMethods';
61
62
  import { orgaComputed } from '../../mixins/orgaComputed';
62
63
  import { defineComponent } from 'vue'
63
64
  import { Podcast } from '@/store/class/general/podcast';
@@ -61,7 +61,8 @@
61
61
  <script lang="ts">
62
62
  import { Playlist } from '@/store/class/general/playlist';
63
63
  import { state } from '../../../store/paramStore';
64
- import { displayMethods, imageProxy } from '../../mixins/functions';
64
+ import imageProxy from '../../mixins/imageProxy';
65
+ import displayMethods from '../../mixins/displayMethods';
65
66
  import { defineComponent } from 'vue'
66
67
  export default defineComponent({
67
68
  name: 'PlaylistItem',
@@ -91,7 +91,7 @@ import { state } from '../../../store/paramStore';
91
91
  import {StoreState} from '@/store/classStore/typeAppStore';
92
92
  import { Podcast } from '@/store/class/general/podcast';
93
93
  import { Conference } from '@/store/class/conference/conference';
94
- import { imageProxy } from '../../mixins/functions';
94
+ import imageProxy from '../../mixins/imageProxy';
95
95
  import { defineComponent } from 'vue'
96
96
  export default defineComponent({
97
97
  name: 'PodcastImage',
@@ -55,7 +55,7 @@ import ClassicLoading from '../../form/ClassicLoading.vue';
55
55
  const PHONE_WIDTH = 960;
56
56
  import { state } from '../../../store/paramStore';
57
57
  import { Podcast } from '@/store/class/general/podcast';
58
- import { imageProxy } from '../../mixins/functions';
58
+ import imageProxy from '../../mixins/imageProxy';
59
59
  import { defineComponent } from 'vue'
60
60
  export default defineComponent({
61
61
  name: 'PodcastInlineListClassic',
@@ -138,7 +138,7 @@ import { state } from '../../../store/paramStore';
138
138
  import moment from 'moment';
139
139
  // @ts-ignore
140
140
  import humanizeDuration from 'humanize-duration';
141
- import { displayMethods } from '../../mixins/functions';
141
+ import displayMethods from '../../mixins/displayMethods';
142
142
  import { orgaComputed } from '../../mixins/orgaComputed';
143
143
  import { Podcast } from '@/store/class/general/podcast';
144
144
  import { Conference } from '@/store/class/conference/conference';
@@ -33,7 +33,7 @@
33
33
 
34
34
  <script lang="ts">
35
35
  import DurationHelper from '../../../helper/duration';
36
- import { displayMethods } from '../../mixins/functions';
36
+ import displayMethods from '../../mixins/displayMethods';
37
37
  import { state } from '../../../store/paramStore';
38
38
  import { defineComponent } from 'vue'
39
39
  export default defineComponent({
@@ -36,7 +36,7 @@
36
36
 
37
37
  <script lang="ts">
38
38
  import Popover from '../../misc/Popover.vue';
39
- import { tagOfMixins } from '../../mixins/tagOfMixins';
39
+ import tagOfMixins from '../../mixins/tagOfMixins';
40
40
  import { defineComponent } from 'vue'
41
41
  export default defineComponent({
42
42
  name: 'TagList',
@@ -67,7 +67,7 @@
67
67
  </template>
68
68
 
69
69
  <script lang="ts">
70
- import { selenium } from '../../mixins/functions';
70
+ import selenium from '../../mixins/selenium';
71
71
  //@ts-ignore
72
72
  import VueMultiselect from 'vue-multiselect';
73
73
  import { Rubrique } from '@/store/class/rubrique/rubrique';
@@ -54,7 +54,7 @@
54
54
  import { Emission } from '@/store/class/general/emission';
55
55
  import { Podcast } from '@/store/class/general/podcast';
56
56
  import { state } from '../../../store/paramStore';
57
- import { displayMethods } from '../../mixins/functions';
57
+ import displayMethods from '../../mixins/displayMethods';
58
58
  import Popover from '../../misc/Popover.vue';
59
59
  import ShareButtonsIntern from './ShareButtonsIntern.vue';
60
60
  import { defineComponent } from 'vue';
@@ -89,7 +89,7 @@ import { Emission } from '@/store/class/general/emission';
89
89
  import { Podcast } from '@/store/class/general/podcast';
90
90
  import { state } from '../../../store/paramStore';
91
91
  import Snackbar from '../../misc/Snackbar.vue';
92
- import { displayMethods } from '../../mixins/functions';
92
+ import displayMethods from '../../mixins/displayMethods';
93
93
  import { defineComponent, defineAsyncComponent } from 'vue';
94
94
  import { Playlist } from '@/store/class/general/playlist';
95
95
  const ClipboardModal = defineAsyncComponent(() => import('../../misc/modal/ClipboardModal.vue'));
@@ -37,7 +37,7 @@
37
37
  import { state } from '../../../store/paramStore';
38
38
  import octopusApi from '@saooti/octopus-api';
39
39
  import Snackbar from '../../misc/Snackbar.vue';
40
- import { displayMethods } from '../../mixins/functions';
40
+ import displayMethods from '../../mixins/displayMethods';
41
41
  import { Emission } from '@/store/class/general/emission';
42
42
 
43
43
  import { defineComponent, defineAsyncComponent } from 'vue';
@@ -92,7 +92,7 @@
92
92
  </template>
93
93
 
94
94
  <script lang="ts">
95
- import { cookies } from '../mixins/functions';
95
+ import cookies from '../mixins/cookies';
96
96
  import ClassicSelect from '../form/ClassicSelect.vue';
97
97
  import Player from './player/Player.vue';
98
98
  import { state } from '../../store/paramStore';
@@ -47,7 +47,7 @@
47
47
 
48
48
  <script lang="ts">
49
49
  import { state } from '../../store/paramStore';
50
- import { orgaFilter } from '../mixins/organisationFilter';
50
+ import orgaFilter from '../mixins/organisationFilter';
51
51
  import { Category } from '@/store/class/general/category';
52
52
  import { RubriquageFilter } from '@/store/class/rubrique/rubriquageFilter';
53
53
  import { defineComponent, defineAsyncComponent } from 'vue';
@@ -74,8 +74,8 @@
74
74
  import { state } from '../../store/paramStore';
75
75
  import HomeDropdown from './HomeDropdown.vue';
76
76
  import { Organisation } from '@/store/class/general/organisation';
77
- import { orgaFilter } from '../mixins/organisationFilter';
78
- import { imageProxy } from '../mixins/functions';
77
+ import orgaFilter from '../mixins/organisationFilter';
78
+ import imageProxy from '../mixins/imageProxy';
79
79
  import { RubriquageFilter } from '@/store/class/rubrique/rubriquageFilter';
80
80
  import { defineComponent,defineAsyncComponent } from 'vue';
81
81
  const OrganisationChooserLight = defineAsyncComponent(() => import('../display/organisation/OrganisationChooserLight.vue'));
@@ -39,7 +39,7 @@
39
39
 
40
40
  <script lang="ts">
41
41
  import { Emission } from '@/store/class/general/emission';
42
- import { displayMethods } from '../../mixins/functions';
42
+ import displayMethods from '../../mixins/displayMethods';
43
43
  import { defineComponent, defineAsyncComponent } from 'vue';
44
44
  import { state } from '../../../store/paramStore';
45
45
  const RssSection = defineAsyncComponent(() => import('@/components/display/aggregator/RssSection.vue'));
@@ -105,7 +105,7 @@ import moment from 'moment';
105
105
  import VSwatches from 'vue3-swatches';
106
106
  // @ts-ignore
107
107
  import humanizeDuration from 'humanize-duration';
108
- import { displayMethods } from '../../mixins/functions';
108
+ import displayMethods from '../../mixins/displayMethods';
109
109
  import { Participant } from '@/store/class/general/participant';
110
110
  import { Podcast } from '@/store/class/general/podcast';
111
111
  import { state } from '../../../store/paramStore';
@@ -94,7 +94,7 @@
94
94
 
95
95
  <script lang="ts">
96
96
  import Snackbar from '../Snackbar.vue';
97
- import { displayMethods } from '../../mixins/functions';
97
+ import displayMethods from '../../mixins/displayMethods';
98
98
 
99
99
  import QrCode from '../../display/sharing/QrCode.vue';
100
100
  import { defineComponent } from 'vue'
@@ -77,7 +77,7 @@
77
77
  <script lang="ts">
78
78
  import { CommentPodcast } from '@/store/class/general/comment';
79
79
  import { playerDisplay } from '../../mixins/player/playerDisplay';
80
- import { imageProxy } from '../../mixins/functions';
80
+ import imageProxy from '../../mixins/imageProxy';
81
81
  import PlayerProgressBar from './PlayerProgressBar.vue';
82
82
  import PlayerTimeline from './PlayerTimeline.vue';
83
83
  import { defineComponent } from 'vue';
@@ -83,7 +83,7 @@
83
83
  </template>
84
84
  <script lang="ts">
85
85
  import { playerDisplay } from '../../mixins/player/playerDisplay';
86
- import { imageProxy } from '../../mixins/functions';
86
+ import imageProxy from '../../mixins/imageProxy';
87
87
  import PlayerProgressBar from './PlayerProgressBar.vue';
88
88
  import PlayerTimeline from './PlayerTimeline.vue';
89
89
  import { defineComponent } from 'vue';
@@ -0,0 +1,21 @@
1
+ export default{
2
+ methods: {
3
+ setCookie(name: string, value: string, domain= ""): void {
4
+ const date = new Date();
5
+ date.setTime(date.getTime() + 24 * 60 * 60 * 1000);
6
+ const expires = '; expires=' + date.toUTCString();
7
+ document.cookie = name + '=' + (value || '') + expires +domain+ '; path=/';
8
+ },
9
+ getCookie(name: string): string|null {
10
+ const nameEQ = name + '=';
11
+ const ca = document.cookie.split(';');
12
+ for (let cookieValue of ca) {
13
+ let c = cookieValue;
14
+ while (c.charAt(0) == ' ') c = c.substring(1, c.length);
15
+ if (0 === c.indexOf(nameEQ))
16
+ return c.substring(nameEQ.length, c.length);
17
+ }
18
+ return null;
19
+ },
20
+ },
21
+ };
@@ -0,0 +1,16 @@
1
+
2
+ export default{
3
+ methods: {
4
+ urlify(text: string): string {
5
+ const urlRegex = /(https?:\/\/[^\s<]+)/g;
6
+ if (!text) return '';
7
+ return text.replace(urlRegex, (url: string) => {
8
+ return '<a href="' + url + '" target="_blank" rel="noopener">' + url + '</a>';
9
+ });
10
+ },
11
+ async onCopyCode(link: string, callback: () => void): Promise<void> {
12
+ await navigator.clipboard.writeText(link);
13
+ return callback();
14
+ },
15
+ },
16
+ };
@@ -0,0 +1,15 @@
1
+ import { state } from '../../store/paramStore';
2
+ export default {
3
+ methods: {
4
+ proxyImageUrl(url:string, width:string, height?:string): string{
5
+ if(!url){
6
+ return "";
7
+ }
8
+ if(state.octopusApi.imageUrl && url.includes('http')){
9
+ const size = height ? "height="+height:"width="+width;
10
+ return state.octopusApi.imageUrl+"image/"+btoa(url)+"?"+size+"&useWebp=true";
11
+ }
12
+ return url;
13
+ },
14
+ },
15
+ };
@@ -1,10 +1,10 @@
1
1
 
2
2
  import { Category } from "@/store/class/general/category";
3
- import { orgaFilter } from '../mixins/organisationFilter';
3
+ import orgaFilter from '../mixins/organisationFilter';
4
4
  import octopusApi from '@saooti/octopus-api';
5
5
  import { state } from '../../store/paramStore';
6
6
  import { defineComponent } from 'vue';
7
- export const initSDK = defineComponent({
7
+ export default defineComponent({
8
8
  mixins: [orgaFilter],
9
9
  methods: {
10
10
  async initSdk() {
@@ -5,7 +5,7 @@ import octopusApi from '@saooti/octopus-api';
5
5
  import { defineComponent } from 'vue'
6
6
  import { AxiosError } from 'axios';
7
7
  import { Organisation } from '@/store/class/general/organisation';
8
- export const orgaFilter = defineComponent({
8
+ export default defineComponent({
9
9
  mixins: [handle403],
10
10
  methods: {
11
11
  async selectOrganisation(organisationId: string): Promise<void> {
@@ -1,7 +1,7 @@
1
1
  import { mapState } from 'vuex';
2
2
  import octopusApi from '@saooti/octopus-api';
3
3
  import { CommentPodcast } from '@/store/class/general/comment';
4
- import { cookies } from '../functions';
4
+ import cookies from '../selenium';
5
5
  import { playerLive } from './playerLive';
6
6
  import { playerComment } from './playerComment';
7
7
  import { defineComponent } from 'vue';
@@ -0,0 +1,7 @@
1
+ export default {
2
+ methods: {
3
+ seleniumFormat(string: string): string {
4
+ return string.toLowerCase().replace(/\s/g, '');
5
+ },
6
+ },
7
+ };
@@ -1,5 +1,5 @@
1
1
  import {defineComponent } from 'vue';
2
- export const tagOfMixins = defineComponent({
2
+ export default defineComponent({
3
3
  name: 'TagOfMixins',
4
4
  methods:{
5
5
  isOuestFranceTag(tag: string): boolean{
@@ -81,7 +81,8 @@
81
81
  <script lang="ts">
82
82
  import octopusApi from '@saooti/octopus-api';
83
83
  import { state } from '../../store/paramStore';
84
- import { displayMethods, imageProxy } from '../mixins/functions';
84
+ import displayMethods from '../mixins/displayMethods';
85
+ import imageProxy from '../mixins/imageProxy';
85
86
  import { orgaComputed } from '../mixins/orgaComputed';
86
87
  import { handle403 } from '../mixins/handle403';
87
88
  import { Emission } from '@/store/class/general/emission';
@@ -63,7 +63,8 @@
63
63
  <script lang="ts">
64
64
  import octopusApi from '@saooti/octopus-api';
65
65
  import { state } from '../../store/paramStore';
66
- import { displayMethods, imageProxy } from '../mixins/functions';
66
+ import displayMethods from '../mixins/displayMethods';
67
+ import imageProxy from '../mixins/imageProxy';
67
68
  import { orgaComputed } from '../mixins/orgaComputed';
68
69
  import { handle403 } from '../mixins/handle403';
69
70
  import { Participant } from '@/store/class/general/participant';
@@ -55,7 +55,8 @@ import ClassicLoading from '../form/ClassicLoading.vue';
55
55
  import PodcastList from '../display/playlist/PodcastList.vue';
56
56
  import octopusApi from '@saooti/octopus-api';
57
57
  import { state } from '../../store/paramStore';
58
- import { displayMethods, imageProxy } from '../mixins/functions';
58
+ import displayMethods from '../mixins/displayMethods';
59
+ import imageProxy from '../mixins/imageProxy';
59
60
  import { handle403 } from '../mixins/handle403';
60
61
  import { Playlist } from '@/store/class/general/playlist';
61
62
  import { defineComponent, defineAsyncComponent } from 'vue';
@@ -1,42 +0,0 @@
1
- <template>
2
- <div
3
- class="btn-split"
4
- @mouseleave="mobileHoverEffect=false"
5
- >
6
- <div class="d-flex flex-wrap">
7
- <slot name="inside-button" />
8
- </div>
9
- <div class="label">
10
- {{ title }}
11
- </div>
12
- </div>
13
- </template>
14
-
15
- <script lang="ts">
16
- import { defineComponent } from 'vue';
17
- export default defineComponent({
18
- props: {
19
- title: { default: '', type:String},
20
- },
21
-
22
- data() {
23
- return {
24
- mobileHoverEffect:false as boolean,
25
- };
26
- },
27
- computed:{
28
- isMobile(): boolean {
29
- return window.matchMedia('(hover: none)').matches;
30
- },
31
- },
32
-
33
- methods: {
34
- linkClick(event: { preventDefault: () => void; }){
35
- if(this.isMobile && !this.mobileHoverEffect){
36
- this.mobileHoverEffect = true;
37
- event.preventDefault();
38
- }
39
- },
40
- },
41
- })
42
- </script>
@@ -1,62 +0,0 @@
1
- import { state } from '../../store/paramStore';
2
-
3
- export const selenium ={
4
- methods: {
5
- seleniumFormat(string: string): string {
6
- return string.toLowerCase().replace(/\s/g, '');
7
- },
8
- },
9
- };
10
- export const imageProxy ={
11
- methods: {
12
- proxyImageUrl(url:string, width:string, height?:string): string{
13
- if(!url){
14
- return "";
15
- }
16
- if(state.octopusApi.imageUrl && url.includes('http')){
17
- const size = height ? "height="+height:"width="+width;
18
- return state.octopusApi.imageUrl+"image/"+btoa(url)+"?"+size+"&useWebp=true";
19
- }
20
- return url;
21
- },
22
- },
23
- };
24
- export const cookies =
25
- {
26
- methods: {
27
- setCookie(name: string, value: string, domain= ""): void {
28
- const date = new Date();
29
- date.setTime(date.getTime() + 24 * 60 * 60 * 1000);
30
- const expires = '; expires=' + date.toUTCString();
31
- document.cookie = name + '=' + (value || '') + expires +domain+ '; path=/';
32
- },
33
- getCookie(name: string): string|null {
34
- const nameEQ = name + '=';
35
- const ca = document.cookie.split(';');
36
- for (let cookieValue of ca) {
37
- let c = cookieValue;
38
- while (c.charAt(0) == ' ') c = c.substring(1, c.length);
39
- if (0 === c.indexOf(nameEQ))
40
- return c.substring(nameEQ.length, c.length);
41
- }
42
- return null;
43
- },
44
- },
45
- };
46
-
47
- export const displayMethods ={
48
- methods: {
49
- urlify(text: string): string {
50
- const urlRegex = /(https?:\/\/[^\s<]+)/g;
51
- if (!text) return '';
52
- return text.replace(urlRegex, (url: string) => {
53
- return '<a href="' + url + '" target="_blank" rel="noopener">' + url + '</a>';
54
- });
55
- },
56
- async onCopyCode(link: string, callback: () => void): Promise<void> {
57
- await navigator.clipboard.writeText(link);
58
- return callback();
59
- },
60
- },
61
- };
62
-