@saooti/octopus-sdk 31.0.26 → 31.0.27

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 (38) hide show
  1. package/README.md +5 -1
  2. package/package.json +2 -1
  3. package/src/components/display/podcasts/PodcastImage.vue +15 -9
  4. package/src/components/display/podcasts/PodcastInlineList.vue +43 -309
  5. package/src/components/display/podcasts/PodcastInlineListClassic.vue +246 -0
  6. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +158 -0
  7. package/src/components/display/podcasts/PodcastModuleBox.vue +3 -26
  8. package/src/components/display/podcasts/PodcastSwiperList.vue +209 -0
  9. package/src/components/display/sharing/SharePlayer.vue +42 -81
  10. package/src/components/display/sharing/SharePlayerColors.vue +17 -15
  11. package/src/components/display/sharing/SharePlayerTypes.vue +15 -32
  12. package/src/components/display/sharing/SubscribeButtons.vue +44 -200
  13. package/src/components/form/ClassicCheckbox.vue +8 -8
  14. package/src/components/form/ClassicRadio.vue +9 -9
  15. package/src/components/form/ClassicSearch.vue +29 -29
  16. package/src/components/form/ClassicSelect.vue +12 -15
  17. package/src/components/misc/ErrorMessage.vue +6 -8
  18. package/src/components/misc/Footer.vue +63 -95
  19. package/src/components/misc/LeftMenu.vue +41 -89
  20. package/src/components/misc/Snackbar.vue +1 -1
  21. package/src/components/misc/TopBar.vue +41 -82
  22. package/src/components/misc/modal/ClipboardModal.vue +1 -8
  23. package/src/components/misc/modal/MessageModal.vue +1 -2
  24. package/src/components/misc/modal/QrCodeModal.vue +1 -11
  25. package/src/components/mixins/orgaComputed.ts +15 -0
  26. package/src/components/pages/Emission.vue +43 -86
  27. package/src/components/pages/Emissions.vue +27 -73
  28. package/src/components/pages/Home.vue +5 -12
  29. package/src/components/pages/Lives.vue +1 -6
  30. package/src/components/pages/Participant.vue +34 -48
  31. package/src/components/pages/Participants.vue +10 -28
  32. package/src/components/pages/Playlist.vue +20 -31
  33. package/src/components/pages/Playlists.vue +5 -15
  34. package/src/components/pages/Podcast.vue +95 -115
  35. package/src/components/pages/Podcasts.vue +34 -93
  36. package/src/components/pages/Rubrique.vue +6 -17
  37. package/src/components/pages/Search.vue +16 -36
  38. package/src/store/paramStore.ts +13 -11
@@ -7,57 +7,21 @@
7
7
  >
8
8
  <div class="d-flex flex-column flex-grow-1 align-items-end">
9
9
  <div class="d-flex flex-column">
10
- <router-link
11
- :to="{
12
- name: 'home',
13
- query: { productor: $store.state.filter.organisationId,
14
- iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined,
15
- rubriquesId: rubriqueQueryParam },
16
- }"
17
- class="link-hover"
18
- >
19
- {{ $t('Home') }}
20
- </router-link>
21
- <router-link
22
- :to="{
23
- name: 'podcasts',
24
- query: { productor: $store.state.filter.organisationId,
25
- iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined,
26
- rubriquesId: rubriqueQueryParam},
27
- }"
28
- class="link-hover"
10
+ <template
11
+ v-for="link in routerLinkArray"
12
+ :key="link.routeName"
29
13
  >
30
- {{ $t('Podcasts') }}
31
- </router-link>
32
- <router-link
33
- :to="{
34
- name: 'emissions',
35
- query: { productor: $store.state.filter.organisationId,
36
- iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined },
37
- }"
38
- class="link-hover"
39
- >
40
- {{ $t('Emissions') }}
41
- </router-link>
42
- <router-link
43
- v-if="!isPodcastmaker"
44
- :to="{
45
- name: 'productors',
46
- query: { productor: $store.state.filter.organisationId },
47
- }"
48
- class="link-hover"
49
- >
50
- {{ $t('Productors') }}
51
- </router-link>
52
- <router-link
53
- :to="{
54
- name: 'participants',
55
- query: { productor: $store.state.filter.organisationId },
56
- }"
57
- class="link-hover"
58
- >
59
- {{ $t('Speakers') }}
60
- </router-link>
14
+ <router-link
15
+ v-if="link.condition"
16
+ class="link-hover"
17
+ :to="{
18
+ name: link.routeName,
19
+ query: getQueriesRouter(link.routeName),
20
+ }"
21
+ >
22
+ {{ link.title }}
23
+ </router-link>
24
+ </template>
61
25
  </div>
62
26
  </div>
63
27
  <hr class="show-phone">
@@ -70,28 +34,12 @@
70
34
  &copy; Saooti 2019
71
35
  </div>
72
36
  <router-link
37
+ v-for="link in routerLinkSecondArray"
38
+ :key="link.routeName"
73
39
  class="link-hover"
74
- to="/main/pub/contact"
75
- >
76
- {{
77
- $t('Contact')
78
- }}
79
- </router-link>
80
- <router-link
81
- class="link-hover"
82
- to="/main/pub/cgu"
40
+ :to="link.routeName"
83
41
  >
84
- {{
85
- $t('Term of use')
86
- }}
87
- </router-link>
88
- <router-link
89
- class="link-hover"
90
- to="/main/pub/libraries"
91
- >
92
- {{
93
- $t('Used libraries')
94
- }}
42
+ {{ link.title }}
95
43
  </router-link>
96
44
  <ClassicSelect
97
45
  v-model:textInit="language"
@@ -159,17 +107,31 @@ export default defineComponent({
159
107
  Player,
160
108
  ClassicSelect
161
109
  },
162
-
163
110
  mixins:[cookies],
164
-
165
111
  data() {
166
112
  return {
167
113
  language: this.$i18n.locale as string,
168
114
  };
169
115
  },
170
-
171
-
172
116
  computed: {
117
+ routerLinkArray(){
118
+ return [
119
+ {title : this.$t('Home'), routeName: 'home', condition : true},
120
+ {title : this.$t('Podcasts'), routeName: 'podcasts', condition : true},
121
+ {title : this.$t('Emissions'), routeName: 'emissions', condition : true},
122
+ {title : this.$t('Productors'), routeName: 'productors', condition : !this.isPodcastmaker && !this.filterOrga},
123
+ {title : this.$t('Playlists'), routeName: 'playlists', condition : true},
124
+ {title : this.$t('Speakers'), routeName: 'participants', condition : true},]
125
+ },
126
+ routerLinkSecondArray(){
127
+ return [
128
+ {title : this.$t('Contact'), routeName: '/main/pub/contact'},
129
+ {title : this.$t('Term of use'), routeName: '/main/pub/cgu'},
130
+ {title : this.$t('Used libraries'), routeName: "/main/pub/libraries"}]
131
+ },
132
+ filterOrga(): string {
133
+ return this.$store.state.filter.organisationId;
134
+ },
173
135
  isPodcastmaker(): boolean {
174
136
  return (state.generalParameters.podcastmaker as boolean);
175
137
  },
@@ -183,17 +145,23 @@ export default defineComponent({
183
145
  return undefined;
184
146
  },
185
147
  },
186
-
187
148
  watch:{
188
149
  language(){
189
150
  this.changeLanguage();
190
151
  }
191
152
  },
192
-
193
153
  methods: {
154
+ getQueriesRouter(routeName: string){
155
+ if('podcasts' !== routeName && 'emissions' !== routeName && 'home' !== routeName){
156
+ return { productor: this.$store.state.filter.organisationId};
157
+ }
158
+ return { productor: this.$store.state.filter.organisationId,
159
+ iabId: this.$store.state.filter.iab ? this.$store.state.filter.iab.id : undefined,
160
+ rubriquesId: this.rubriqueQueryParam}
161
+ },
194
162
  showBlackBorder(hide: boolean): void {
195
163
  const footerElement = (this.$refs.footer as HTMLElement);
196
- if(null===footerElement){return}
164
+ if(null===footerElement){return;}
197
165
  if (hide) {
198
166
  footerElement.classList.remove('border-round');
199
167
  } else {
@@ -222,25 +190,25 @@ export default defineComponent({
222
190
 
223
191
  <style lang="scss">
224
192
  .octopus-app{
225
- #footer{
226
- font-size: 0.7rem;
227
- .acpm_image {
228
- width: 70px;
229
- height: 70px;
230
- }
231
- a{
232
- color: #666;
233
- }
234
- .border-round {
235
- border-radius: 0 0 2rem 2rem;
236
- }
237
- /** PHONES*/
238
- @media (max-width: 960px) {
239
- .align-items-center,
240
- .align-items-end {
241
- align-items: flex-start !important;
193
+ #footer{
194
+ font-size: 0.7rem;
195
+ .acpm_image {
196
+ width: 70px;
197
+ height: 70px;
198
+ }
199
+ a{
200
+ color: #666;
201
+ }
202
+ .border-round {
203
+ border-radius: 0 0 2rem 2rem;
204
+ }
205
+ /** PHONES*/
206
+ @media (max-width: 960px) {
207
+ .align-items-center,
208
+ .align-items-end {
209
+ align-items: flex-start !important;
210
+ }
242
211
  }
243
212
  }
244
213
  }
245
- }
246
214
  </style>
@@ -3,78 +3,22 @@
3
3
  v-show="displayMenu"
4
4
  class="left-menu-container"
5
5
  >
6
- <router-link
7
- class="show-phone"
8
- :to="{
9
- name: 'home',
10
- query: { productor: $store.state.filter.organisationId,
11
- iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined,
12
- rubriquesId: rubriqueQueryParam},
13
- }"
14
- @click="onMenuClick"
15
- >
16
- {{ $t('Home') }}
17
- </router-link>
18
- <router-link
19
- v-if="isLiveTab && filterOrga && filterOrgaLive"
20
- :to="{
21
- name: 'lives',
22
- query: { productor: $store.state.filter.organisationId},
23
- }"
24
- @click="onMenuClick"
25
- >
26
- {{ $t('Live') }}
27
- </router-link>
28
- <router-link
29
- :to="{
30
- name: 'podcasts',
31
- query: { productor: $store.state.filter.organisationId,
32
- iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined,
33
- rubriquesId: rubriqueQueryParam},
34
- }"
35
- @click="onMenuClick"
36
- >
37
- {{ $t('Podcasts') }}
38
- </router-link>
39
- <router-link
40
- :to="{
41
- name: 'emissions',
42
- query: { productor: $store.state.filter.organisationId,
43
- iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined ,
44
- rubriquesId: rubriqueQueryParam},
45
- }"
46
- @click="onMenuClick"
47
- >
48
- {{ $t('Emissions') }}
49
- </router-link>
50
- <router-link
51
- v-if="!isPodcastmaker && (!filterOrga || isEducation)"
52
- :to="{
53
- name: 'productors',
54
- query: { productor: $store.state.filter.organisationId },
55
- }"
56
- @click="onMenuClick"
57
- >
58
- {{ $t('Productors') }}
59
- </router-link>
60
- <router-link
61
- :to="{
62
- name: 'participants',
63
- query: { productor: $store.state.filter.organisationId },
64
- }"
65
- @click="onMenuClick"
66
- >
67
- {{ $t('Speakers') }}
68
- </router-link>
69
- <router-link
70
- :to="{
71
- name: 'playlists',
72
- query: { productor: $store.state.filter.organisationId },
73
- }"
74
- @click="onMenuClick"
6
+ <template
7
+ v-for="link in routerLinkArray"
8
+ :key="link.routeName"
75
9
  >
76
- {{ $t('Playlists') }}
77
- </router-link>
10
+ <router-link
11
+ v-if="link.condition"
12
+ :class="'home'===link.routeName ? 'show-phone' : ''"
13
+ :to="{
14
+ name: link.routeName,
15
+ query: getQueriesRouter(link.routeName),
16
+ }"
17
+ @click="onMenuClick"
18
+ >
19
+ {{ link.title }}
20
+ </router-link>
21
+ </template>
78
22
  <OrganisationChooserLight
79
23
  v-if="!isPodcastmaker"
80
24
  width="auto"
@@ -111,28 +55,31 @@ import { Organisation } from '@/store/class/general/organisation';
111
55
  const OrganisationChooserLight = defineAsyncComponent(() => import('../display/organisation/OrganisationChooserLight.vue'));
112
56
  export default defineComponent({
113
57
  name: 'LeftMenu',
114
-
115
58
  components: {
116
59
  OrganisationChooserLight,
117
60
  },
118
61
  mixins:[orgaFilter],
119
-
120
62
  props: {
121
63
  displayMenu: { default: false, type: Boolean},
122
64
  isEducation: { default: false, type: Boolean},
123
65
  },
124
66
  emits: ['update:displayMenu'],
125
-
126
67
  data() {
127
68
  return {
128
69
  organisationId: undefined as string|undefined,
129
70
  reset: false as boolean,
130
71
  };
131
72
  },
132
-
133
73
  computed: {
134
- isLiveTab(): boolean {
135
- return (state.generalParameters.isLiveTab as boolean);
74
+ routerLinkArray(){
75
+ return [
76
+ {title : this.$t('Home'), routeName: 'home', condition : true},
77
+ {title : this.$t('Live'), routeName: 'lives', condition : state.generalParameters.isLiveTab &&((this.filterOrga && this.filterOrgaLive) || !this.filterOrga)},
78
+ {title : this.$t('Podcasts'), routeName: 'podcasts', condition : true},
79
+ {title : this.$t('Emissions'), routeName: 'emissions', condition : true},
80
+ {title : this.$t('Productors'), routeName: 'productors', condition : !this.isPodcastmaker && (!this.filterOrga || this.isEducation)},
81
+ {title : this.$t('Playlists'), routeName: 'playlists', condition : true},
82
+ {title : this.$t('Speakers'), routeName: 'participants', condition : true},]
136
83
  },
137
84
  categories(): Array<Category> {
138
85
  return this.$store.state.categories.filter((c: Category) => {
@@ -157,22 +104,27 @@ export default defineComponent({
157
104
  },
158
105
  },
159
106
  watch: {
160
- filterOrga(): void {
161
- if (this.filterOrga) {
162
- this.organisationId = this.filterOrga;
163
- } else {
164
- this.reset = !this.reset;
165
- }
107
+ filterOrga: {
108
+ immediate: true,
109
+ handler() {
110
+ if (this.filterOrga) {
111
+ this.organisationId = this.filterOrga;
112
+ } else {
113
+ this.reset = !this.reset;
114
+ }
115
+ },
166
116
  },
167
117
  },
168
-
169
- mounted() {
170
- if (this.filterOrga) {
171
- this.organisationId = this.filterOrga;
172
- }
173
- },
174
118
 
175
119
  methods: {
120
+ getQueriesRouter(routeName: string){
121
+ if('podcasts' !== routeName && 'emissions' !== routeName && 'home' !== routeName){
122
+ return { productor: this.$store.state.filter.organisationId};
123
+ }
124
+ return { productor: this.$store.state.filter.organisationId,
125
+ iabId: this.$store.state.filter.iab ? this.$store.state.filter.iab.id : undefined,
126
+ rubriquesId: this.rubriqueQueryParam}
127
+ },
176
128
  onMenuClick() {
177
129
  this.$emit('update:displayMenu', false);
178
130
  },
@@ -64,6 +64,7 @@ export default defineComponent({
64
64
  warn: '#FF6600',
65
65
  }), type: Object},
66
66
  position: { default: 'top-center', type: String},
67
+ holdTime: {default:5000, type:Number}
67
68
  },
68
69
  data() {
69
70
  return {
@@ -72,7 +73,6 @@ export default defineComponent({
72
73
  msg:string,
73
74
  timer: ReturnType<typeof setTimeout>|undefined,
74
75
  }>,
75
- holdTime: 5000,
76
76
  baseSize: '5rem',
77
77
  };
78
78
  },
@@ -35,69 +35,21 @@
35
35
  @selected="onOrganisationSelected"
36
36
  />
37
37
  <div class="d-flex justify-content-end flex-grow-1">
38
- <router-link
39
- v-if="
40
- isLiveTab &&
41
- ((filterOrga && filterOrgaLive) || !filterOrga)
42
- "
43
- :to="{
44
- name: 'lives',
45
- query: { productor: $store.state.filter.organisationId },
46
- }"
47
- class="link-hover p-3 fw-bold"
38
+ <template
39
+ v-for="link in routerLinkArray"
40
+ :key="link.routeName"
48
41
  >
49
- {{ $t('Live') }}
50
- </router-link>
51
- <router-link
52
- :to="{
53
- name: 'podcasts',
54
- query: { productor: $store.state.filter.organisationId,
55
- iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined,
56
- rubriquesId: rubriqueQueryParam},
57
- }"
58
- class="link-hover p-3 fw-bold"
59
- >
60
- {{ $t('Podcasts') }}
61
- </router-link>
62
- <router-link
63
- :to="{
64
- name: 'emissions',
65
- query: { productor: $store.state.filter.organisationId,
66
- iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined,
67
- rubriquesId: rubriqueQueryParam },
68
- }"
69
- class="link-hover p-3 fw-bold"
70
- >
71
- {{ $t('Emissions') }}
72
- </router-link>
73
- <router-link
74
- :to="{
75
- name: 'participants',
76
- query: { productor: $store.state.filter.organisationId },
77
- }"
78
- class="link-hover p-3 fw-bold"
79
- >
80
- {{ $t('Speakers') }}
81
- </router-link>
82
- <router-link
83
- :to="{
84
- name: 'playlists',
85
- query: { productor: $store.state.filter.organisationId },
86
- }"
87
- class="link-hover p-3 fw-bold"
88
- >
89
- {{ $t('Playlists') }}
90
- </router-link>
91
- <router-link
92
- v-if="!isPodcastmaker && (!filterOrga || isEducation)"
93
- :to="{
94
- name: 'productors',
95
- query: { productor: $store.state.filter.organisationId },
96
- }"
97
- class="link-hover p-3 fw-bold"
98
- >
99
- {{ $t('Productors') }}
100
- </router-link>
42
+ <router-link
43
+ v-if="link.condition"
44
+ :to="{
45
+ name: link.routeName,
46
+ query: getQueriesRouter(link.routeName),
47
+ }"
48
+ class="link-hover p-3 fw-bold"
49
+ >
50
+ {{ link.title }}
51
+ </router-link>
52
+ </template>
101
53
  </div>
102
54
  <div class="d-flex flex-column">
103
55
  <div class="hosted-by">
@@ -129,19 +81,16 @@ import { defineComponent,defineAsyncComponent } from 'vue';
129
81
  const OrganisationChooserLight = defineAsyncComponent(() => import('../display/organisation/OrganisationChooserLight.vue'));
130
82
  export default defineComponent({
131
83
  name: 'TopBar',
132
-
133
84
  components: {
134
85
  OrganisationChooserLight,
135
86
  HomeDropdown,
136
87
  },
137
88
  mixins:[orgaFilter],
138
-
139
89
  props: {
140
90
  displayMenu: { default: false, type: Boolean},
141
91
  isEducation: { default: false, type: Boolean},
142
92
  },
143
93
  emits: ['update:displayMenu'],
144
-
145
94
  data() {
146
95
  return {
147
96
  scrolled: false as boolean,
@@ -152,8 +101,16 @@ export default defineComponent({
152
101
  dummyParam: new Date().getTime().toString() as string,
153
102
  };
154
103
  },
155
-
156
104
  computed: {
105
+ routerLinkArray(){
106
+ return [
107
+ {title : this.$t('Live'), routeName: 'lives', condition : this.isLiveTab &&((this.filterOrga && this.filterOrgaLive) || !this.filterOrga)},
108
+ {title : this.$t('Podcasts'), routeName: 'podcasts', condition : true},
109
+ {title : this.$t('Emissions'), routeName: 'emissions', condition : true},
110
+ {title : this.$t('Speakers'), routeName: 'participants', condition : true},
111
+ {title : this.$t('Playlists'), routeName: 'playlists', condition : true},
112
+ {title : this.$t('Productors'), routeName: 'productors', condition : !this.isPodcastmaker && (!this.filterOrga || this.isEducation)}]
113
+ },
157
114
  rubriqueQueryParam(): string|undefined{
158
115
  if(this.$store.state.filter && this.$store.state.filter.rubriqueFilter && this.$store.state.filter.rubriqueFilter.length){
159
116
  return this.$store.state.filter.rubriqueFilter.map((value: RubriquageFilter) => value.rubriquageId+':'+value.rubriqueId).join();
@@ -186,26 +143,32 @@ export default defineComponent({
186
143
  },
187
144
  },
188
145
  watch: {
189
- filterOrga(): void {
190
- if (this.filterOrga) {
191
- this.organisationId = this.filterOrga;
192
- } else {
193
- this.reset = !this.reset;
194
- }
146
+ filterOrga: {
147
+ immediate: true,
148
+ handler() {
149
+ if (this.filterOrga) {
150
+ this.organisationId = this.filterOrga;
151
+ } else {
152
+ this.reset = !this.reset;
153
+ }
154
+ },
195
155
  },
196
156
  },
197
-
198
157
  mounted() {
199
- if (this.filterOrga) {
200
- this.organisationId = this.filterOrga;
201
- }
202
158
  window.addEventListener('scroll', this.handleScroll);
203
159
  },
204
-
205
160
  beforeUnmount() {
206
161
  window.removeEventListener('scroll', this.handleScroll);
207
162
  },
208
163
  methods: {
164
+ getQueriesRouter(routeName: string){
165
+ if('podcasts' !== routeName && 'emissions' !== routeName){
166
+ return { productor: this.$store.state.filter.organisationId};
167
+ }
168
+ return { productor: this.$store.state.filter.organisationId,
169
+ iabId: this.$store.state.filter.iab ? this.$store.state.filter.iab.id : undefined,
170
+ rubriquesId: this.rubriqueQueryParam}
171
+ },
209
172
  handleScroll(): void {
210
173
  if (
211
174
  window.scrollY - this.oldScrollY > 0 &&
@@ -231,11 +194,7 @@ export default defineComponent({
231
194
  }
232
195
  },
233
196
  onDisplayMenu(param: boolean): void {
234
- if (true === param) {
235
- this.$emit('update:displayMenu', false);
236
- } else {
237
- this.$emit('update:displayMenu', !this.displayMenu);
238
- }
197
+ this.$emit('update:displayMenu',param?false:!this.displayMenu);
239
198
  },
240
199
  async onOrganisationSelected(organisation: Organisation | undefined): Promise<void> {
241
200
  if (organisation && organisation.id) {
@@ -43,7 +43,6 @@ import { defineComponent, defineAsyncComponent } from 'vue';
43
43
  const RssSection = defineAsyncComponent(() => import('@/components/display/aggregator/RssSection.vue'));
44
44
  export default defineComponent({
45
45
  name: 'ClipboardModal',
46
-
47
46
  components: {
48
47
  RssSection,
49
48
  },
@@ -55,14 +54,8 @@ export default defineComponent({
55
54
  },
56
55
  emits: ['close', 'copy'],
57
56
 
58
- data() {
59
- return {
60
- };
61
- },
62
-
63
57
  methods: {
64
- closePopup(event: { preventDefault: () => void }): void {
65
- event.preventDefault();
58
+ closePopup(): void {
66
59
  this.$emit('close');
67
60
  },
68
61
  afterCopy(): void{
@@ -71,8 +71,7 @@ export default defineComponent({
71
71
  },
72
72
  emits: ['close', 'validate', 'cancel', 'thirdEvent'],
73
73
  methods: {
74
- closePopup(event: { preventDefault: () => void }): void {
75
- event.preventDefault();
74
+ closePopup(): void {
76
75
  this.$emit('close');
77
76
  },
78
77
  onValid(): void {
@@ -38,25 +38,15 @@ import QrCode from '../../display/sharing/QrCode.vue';
38
38
  import { defineComponent } from 'vue'
39
39
  export default defineComponent({
40
40
  name: 'QrCodeModal',
41
-
42
41
  components: {
43
42
  QrCode
44
43
  },
45
-
46
44
  props: {
47
45
  urlPage: { default: undefined, type: String},
48
46
  },
49
-
50
47
  emits: ['close'],
51
-
52
- data() {
53
- return {
54
- };
55
- },
56
-
57
48
  methods:{
58
- closePopup(event: { preventDefault: () => void }): void {
59
- event.preventDefault();
49
+ closePopup(): void {
60
50
  this.$emit('close');
61
51
  },
62
52
  }
@@ -0,0 +1,15 @@
1
+ import { state } from '@/store/paramStore';
2
+ import { defineComponent } from 'vue';
3
+ export const orgaComputed = defineComponent({
4
+ computed: {
5
+ myOrganisationId(): string|undefined {
6
+ return state.generalParameters.organisationId;
7
+ },
8
+ authenticated(): boolean {
9
+ return (state.generalParameters.authenticated as boolean);
10
+ },
11
+ filterOrga(): string {
12
+ return this.$store.state.filter.organisationId;
13
+ },
14
+ },
15
+ });