@saooti/octopus-sdk 36.0.5 → 36.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.ts +1 -2
- package/package.json +3 -2
- package/src/assets/bootstrap.scss +11 -1
- package/src/assets/octopus-library.scss +0 -1
- package/src/assets/share.scss +0 -6
- package/src/components/display/categories/CategoryChooser.vue +81 -171
- package/src/components/display/categories/CategoryFilter.vue +9 -4
- package/src/components/display/emission/EmissionPlayerItem.vue +4 -1
- package/src/components/display/filter/CategorySearchFilter.vue +1 -1
- package/src/components/display/filter/MonetizableFilter.vue +16 -13
- package/src/components/display/filter/ProductorSearch.vue +6 -16
- package/src/components/display/filter/RubriqueChoice.vue +12 -16
- package/src/components/display/filter/RubriqueFilter.vue +2 -1
- package/src/components/display/list/Paginate.vue +4 -1
- package/src/components/display/organisation/OrganisationChooser.vue +76 -201
- package/src/components/display/podcasts/PodcastFilterList.vue +5 -3
- package/src/components/display/podcasts/PodcastImage.vue +3 -1
- package/src/components/display/podcasts/PodcastModuleBox.vue +17 -5
- package/src/components/display/podcasts/TagList.vue +2 -2
- package/src/components/display/rubriques/RubriqueChooser.vue +87 -181
- package/src/components/display/rubriques/RubriqueList.vue +8 -5
- package/src/components/display/sharing/PlayerParameters.vue +3 -1
- package/src/components/display/sharing/ShareButtons.vue +5 -3
- package/src/components/display/sharing/ShareButtonsIntern.vue +24 -8
- package/src/components/display/sharing/ShareDistribution.vue +3 -1
- package/src/components/display/sharing/SharePlayer.vue +3 -1
- package/src/components/display/sharing/SharePlayerColors.vue +6 -2
- package/src/components/form/ClassicCheckbox.vue +1 -1
- package/src/components/form/ClassicMultiselect.vue +192 -0
- package/src/components/misc/TopBar.vue +8 -4
- package/src/components/misc/modal/NewsletterModal.vue +1 -1
- package/src/components/pages/Emission.vue +5 -2
- package/src/components/pages/Home.vue +3 -3
- package/src/components/pages/Playlist.vue +4 -1
- package/src/components/pages/Podcast.vue +4 -1
- package/src/locale/de.ts +1 -0
- package/src/locale/en.ts +1 -0
- package/src/locale/es.ts +1 -0
- package/src/locale/fr.ts +1 -0
- package/src/locale/it.ts +1 -0
- package/src/locale/sl.ts +1 -0
- package/src/stores/ParamSdkStore.ts +13 -13
- package/src/stores/class/general/organisation.ts +8 -0
- package/src/assets/multiselect.scss +0 -518
- package/src/components/display/emission/EmissionChooser.vue +0 -187
package/index.ts
CHANGED
|
@@ -35,7 +35,6 @@ export const getClassicModal = () => import("./src/components/misc/modal/Classic
|
|
|
35
35
|
export const getCategoryChooser = () => import("./src/components/display/categories/CategoryChooser.vue");
|
|
36
36
|
export const getCategoryList = () => import("./src/components/display/categories/CategoryList.vue");
|
|
37
37
|
export const getCategoryFilter = () => import("./src/components/display/categories/CategoryFilter.vue");
|
|
38
|
-
export const getEmissionChooser = () => import("./src/components/display/emission/EmissionChooser.vue");
|
|
39
38
|
export const getEmissionList = () => import("./src/components/display/emission/EmissionList.vue");
|
|
40
39
|
export const getOrganisationChooser = () => import("./src/components/display/organisation/OrganisationChooser.vue");
|
|
41
40
|
export const getPodcastFilterList = () => import("./src/components/display/podcasts/PodcastFilterList.vue");
|
|
@@ -64,7 +63,7 @@ export const getClassicSelect = () => import("./src/components/form/ClassicSelec
|
|
|
64
63
|
export const getClassicDatePicker = () => import("./src/components/form/ClassicDatePicker.vue");
|
|
65
64
|
export const getPaginate = () => import("./src/components/display/list/Paginate.vue");
|
|
66
65
|
export const getListPaginate = () => import("./src/components/display/list/ListPaginate.vue");
|
|
67
|
-
|
|
66
|
+
export const getClassicMultiselect = () => import("./src/components/form/ClassicMultiselect.vue");
|
|
68
67
|
|
|
69
68
|
//mixins
|
|
70
69
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saooti/octopus-sdk",
|
|
3
|
-
"version": "36.0.
|
|
3
|
+
"version": "36.0.7",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Javascript SDK for using octopus",
|
|
6
6
|
"author": "Saooti",
|
|
@@ -37,14 +37,15 @@
|
|
|
37
37
|
"vite": "^3.2.5",
|
|
38
38
|
"vue": "^3.2.45",
|
|
39
39
|
"vue-i18n": "^9.2.2",
|
|
40
|
-
"vue-multiselect": "^3.0.0-beta.1",
|
|
41
40
|
"vue-recaptcha": "^2.0.3",
|
|
42
41
|
"vue-router": "^4.1.6",
|
|
42
|
+
"vue-select": "^4.0.0-beta.6",
|
|
43
43
|
"vue3-lazyload": "^0.3.6",
|
|
44
44
|
"vue3-swatches": "1.0.10"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/jquery": "^3.5.16",
|
|
48
|
+
"@types/vue-select": "^3.16.2",
|
|
48
49
|
"@typescript-eslint/eslint-plugin": "^5.57.0",
|
|
49
50
|
"@typescript-eslint/parser": "^5.57.0",
|
|
50
51
|
"@vitejs/plugin-vue": "^3.2.0",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
box-sizing: border-box;
|
|
5
5
|
}
|
|
6
6
|
.octopus-app{
|
|
7
|
-
input, button, select, optgroup, textarea {
|
|
7
|
+
input:not([class^="vs__"]), button:not([class^="vs__"]), select:not([class^="vs__"]), optgroup, textarea {
|
|
8
8
|
margin: 0;
|
|
9
9
|
font-family: inherit;
|
|
10
10
|
font-size: inherit;
|
|
@@ -240,6 +240,16 @@
|
|
|
240
240
|
.bg-secondary{
|
|
241
241
|
background: #eee !important;
|
|
242
242
|
}
|
|
243
|
+
.w-50-responsive{
|
|
244
|
+
display: flex;
|
|
245
|
+
align-items: center;
|
|
246
|
+
flex-grow: 1;
|
|
247
|
+
width: 50%;
|
|
248
|
+
@media (max-width: 960px) {
|
|
249
|
+
width:100%;
|
|
250
|
+
padding: 0 !important;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
243
253
|
}
|
|
244
254
|
|
|
245
255
|
|
package/src/assets/share.scss
CHANGED
|
@@ -1,106 +1,51 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
:options="categories"
|
|
20
|
-
:multiple="multiple"
|
|
21
|
-
:searchable="true"
|
|
22
|
-
:loading="isLoading"
|
|
23
|
-
:internal-search="false"
|
|
24
|
-
:clear-on-select="false"
|
|
25
|
-
:close-on-select="true"
|
|
26
|
-
:options-limit="200"
|
|
27
|
-
:max-height="600"
|
|
28
|
-
:show-no-results="true"
|
|
29
|
-
:hide-selected="true"
|
|
30
|
-
:show-labels="false"
|
|
31
|
-
@open="onOpen"
|
|
32
|
-
@search-change="onSearchCategory"
|
|
33
|
-
@select="onCategorySelected"
|
|
34
|
-
>
|
|
35
|
-
<template #singleLabel="{ option }">
|
|
36
|
-
<div class="multiselect-octopus-proposition">
|
|
37
|
-
<span class="option__title">
|
|
38
|
-
{{ option.name }}
|
|
39
|
-
</span>
|
|
40
|
-
</div>
|
|
41
|
-
</template>
|
|
42
|
-
<template #option="{ option }">
|
|
43
|
-
<div class="multiselect-octopus-proposition">
|
|
44
|
-
<span class="option__title">{{ option.name }}</span>
|
|
45
|
-
</div>
|
|
46
|
-
</template>
|
|
47
|
-
<template #noOptions="">
|
|
48
|
-
{{ $t('List is empty') }}
|
|
49
|
-
</template>
|
|
50
|
-
<template #noResult="">
|
|
51
|
-
<span>
|
|
52
|
-
{{ $t('No elements found. Consider changing the search query.') }}
|
|
53
|
-
</span>
|
|
54
|
-
</template>
|
|
55
|
-
<template #caret="">
|
|
56
|
-
<div class="position-relative">
|
|
57
|
-
<span
|
|
58
|
-
class="saooti-down octopus-arrow-down-absolute"
|
|
59
|
-
/>
|
|
60
|
-
</div>
|
|
61
|
-
</template>
|
|
62
|
-
</VueMultiselect>
|
|
63
|
-
</div>
|
|
2
|
+
<ClassicMultiselect
|
|
3
|
+
:id="idClassicMultiselect"
|
|
4
|
+
ref="selectCategory"
|
|
5
|
+
:option-chosen="model"
|
|
6
|
+
option-label="name"
|
|
7
|
+
:label="$t('By category')"
|
|
8
|
+
:placeholder="$t('Type string to filter by categories')"
|
|
9
|
+
:max-element="maxElement"
|
|
10
|
+
:in-modal="inModal"
|
|
11
|
+
:multiple="multiple"
|
|
12
|
+
:min-search-length="1"
|
|
13
|
+
:width="width"
|
|
14
|
+
:is-disabled="isDisabled"
|
|
15
|
+
:no-deselect="noDeselect"
|
|
16
|
+
@onSearch="onSearchCategory"
|
|
17
|
+
@selected="onCategorySelected"
|
|
18
|
+
/>
|
|
64
19
|
</template>
|
|
65
20
|
|
|
66
21
|
<script lang="ts">
|
|
67
|
-
//@ts-ignore
|
|
68
|
-
import VueMultiselect from 'vue-multiselect';
|
|
69
|
-
|
|
70
|
-
const getDefaultCategory = (defaultName: string) => {
|
|
71
|
-
if ('' === defaultName){
|
|
72
|
-
return undefined;
|
|
73
|
-
}
|
|
74
|
-
return { name: defaultName, id: 0 };
|
|
75
|
-
};
|
|
76
22
|
import { useGeneralStore } from '@/stores/GeneralStore';
|
|
77
23
|
import { mapState } from 'pinia';
|
|
24
|
+
import ClassicMultiselect from '../../form/ClassicMultiselect.vue';
|
|
78
25
|
import { Category } from '@/stores/class/general/category';
|
|
79
26
|
import { defineComponent } from 'vue'
|
|
80
27
|
export default defineComponent({
|
|
81
28
|
components: {
|
|
82
|
-
|
|
29
|
+
ClassicMultiselect
|
|
83
30
|
},
|
|
84
31
|
props: {
|
|
85
|
-
width: { default: '100%', type: String },
|
|
86
32
|
defaultanswer: { default: '', type: String },
|
|
87
|
-
|
|
33
|
+
width: { default: '100%', type: String },
|
|
88
34
|
multiple: { default: false, type: Boolean },
|
|
89
|
-
categoryArray: { default: undefined, type: Array as ()=>Array<number> },
|
|
90
|
-
displayAllCategories: { default: false, type: Boolean },
|
|
91
35
|
isDisabled: { default: false, type: Boolean },
|
|
92
36
|
initCategories: { default: undefined, type: Array as ()=>Array<Category> },
|
|
37
|
+
displayAllCategories: { default: false, type: Boolean },
|
|
38
|
+
categorySelected: { default: undefined, type: Number },
|
|
39
|
+
categorySelectedArray: { default: undefined, type: Array as ()=>Array<number> },
|
|
40
|
+
inModal:{default: false, type: Boolean},
|
|
41
|
+
noDeselect: {default: true, type: Boolean},
|
|
93
42
|
},
|
|
94
|
-
emits: ['update:categorySelected','selected'],
|
|
43
|
+
emits: ['update:categorySelected','update:categorySelectedArray','selected'],
|
|
95
44
|
data() {
|
|
96
45
|
return {
|
|
97
|
-
|
|
98
|
-
category:
|
|
99
|
-
categoryForArray: [
|
|
100
|
-
isLoading: false as boolean,
|
|
101
|
-
totalCategories: [] as Array<Category>,
|
|
102
|
-
init: true as boolean,
|
|
103
|
-
initArray: false as boolean,
|
|
46
|
+
maxElement: 50 as number,
|
|
47
|
+
category: undefined as Category|undefined,
|
|
48
|
+
categoryForArray: [] as Array<Category>|undefined,
|
|
104
49
|
};
|
|
105
50
|
},
|
|
106
51
|
|
|
@@ -113,26 +58,39 @@ export default defineComponent({
|
|
|
113
58
|
}
|
|
114
59
|
return this.storedCategories;
|
|
115
60
|
},
|
|
116
|
-
|
|
117
|
-
|
|
61
|
+
categoriesOrdered(): Array<Category> {
|
|
62
|
+
let allCategoriesOrdered = [...this.categoriesChosen].sort((a: Category, b: Category) =>
|
|
118
63
|
a.name > b.name ? 1 : -1
|
|
119
|
-
)
|
|
64
|
+
)
|
|
65
|
+
if(!this.displayAllCategories){
|
|
66
|
+
allCategoriesOrdered = allCategoriesOrdered.filter((c: Category) => {
|
|
67
|
+
return c.podcastCount;
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
if (this.getDefaultCategory) {
|
|
71
|
+
allCategoriesOrdered.unshift(this.getDefaultCategory);
|
|
72
|
+
}
|
|
73
|
+
return allCategoriesOrdered;
|
|
74
|
+
},
|
|
75
|
+
getDefaultCategory(): Category|undefined{
|
|
76
|
+
if(''===this.defaultanswer){
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
return {id: 0, name: this.defaultanswer};
|
|
120
80
|
},
|
|
121
|
-
|
|
81
|
+
idClassicMultiselect(): string {
|
|
122
82
|
if (this.multiple) return 'categoryChooser' + this.multiple;
|
|
123
83
|
return 'categoryChooser';
|
|
124
84
|
},
|
|
85
|
+
|
|
125
86
|
model: {
|
|
126
87
|
get(): Category| Array<Category>|undefined{
|
|
127
|
-
|
|
128
|
-
return this.category;
|
|
129
|
-
}
|
|
130
|
-
return this.categoryForArray;
|
|
88
|
+
return this.multiple ? this.categoryForArray:this.category;
|
|
131
89
|
},
|
|
132
90
|
set(value: Category| Array<Category>|undefined): void{
|
|
133
|
-
if(
|
|
91
|
+
if(!this.multiple){
|
|
134
92
|
this.category = (value as Category|undefined);
|
|
135
|
-
return
|
|
93
|
+
return;
|
|
136
94
|
}
|
|
137
95
|
this.categoryForArray = (value as Array<Category>|undefined);
|
|
138
96
|
}
|
|
@@ -140,101 +98,53 @@ export default defineComponent({
|
|
|
140
98
|
}
|
|
141
99
|
},
|
|
142
100
|
watch: {
|
|
143
|
-
categorySelected
|
|
144
|
-
|
|
145
|
-
this.initCategorySelected(this.categorySelected);
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
model: {
|
|
149
|
-
deep: true,
|
|
101
|
+
categorySelected: {
|
|
102
|
+
immediate:true,
|
|
150
103
|
handler(){
|
|
151
|
-
if(
|
|
152
|
-
|
|
104
|
+
if(this.categorySelected){
|
|
105
|
+
this.initCategorySelected();
|
|
106
|
+
}else{
|
|
107
|
+
this.category = this.getDefaultCategory;
|
|
153
108
|
}
|
|
154
|
-
const idsArray: Array<number> = [];
|
|
155
|
-
this.categoryForArray.forEach((el: Category) => {
|
|
156
|
-
idsArray.push(el.id);
|
|
157
|
-
});
|
|
158
|
-
this.$emit('selected', idsArray);
|
|
159
109
|
}
|
|
160
|
-
}
|
|
110
|
+
}
|
|
161
111
|
},
|
|
162
112
|
|
|
163
113
|
mounted() {
|
|
164
|
-
|
|
165
|
-
this.initCategorySelected(this.categorySelected);
|
|
166
|
-
}
|
|
167
|
-
if (undefined !== this.categoryArray) {
|
|
168
|
-
this.initCategoryArray(this.categoryArray);
|
|
169
|
-
this.initArray=true;
|
|
170
|
-
}
|
|
114
|
+
this.initCategoryArray();
|
|
171
115
|
},
|
|
172
116
|
methods: {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
);
|
|
178
|
-
if (
|
|
179
|
-
undefined !== this.categorySelected ||
|
|
180
|
-
undefined !== this.categoryArray ||
|
|
181
|
-
this.displayAllCategories
|
|
182
|
-
) {
|
|
183
|
-
this.totalCategories = this.allCategories;
|
|
184
|
-
} else {
|
|
185
|
-
this.totalCategories = this.allCategories.filter((c: Category) => {
|
|
186
|
-
return c.podcastCount;
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
if ('' !== this.defaultanswer) {
|
|
190
|
-
const categoryDefault = getDefaultCategory(this.defaultanswer);
|
|
191
|
-
if(categoryDefault){
|
|
192
|
-
this.categories = [categoryDefault].concat(
|
|
193
|
-
this.totalCategories
|
|
194
|
-
);
|
|
195
|
-
}
|
|
196
|
-
} else {
|
|
197
|
-
this.categories = this.totalCategories;
|
|
198
|
-
}
|
|
199
|
-
},
|
|
200
|
-
onSearchCategory(query: string): void {
|
|
201
|
-
this.isLoading = true;
|
|
202
|
-
const categoryDefault = getDefaultCategory(this.defaultanswer);
|
|
203
|
-
if(categoryDefault){
|
|
204
|
-
let list: Array<Category> = [categoryDefault].concat(
|
|
205
|
-
this.totalCategories
|
|
206
|
-
);
|
|
207
|
-
if ('' === this.defaultanswer) {
|
|
208
|
-
list = this.totalCategories;
|
|
209
|
-
}
|
|
210
|
-
this.categories = list.filter((item: Category) => {
|
|
117
|
+
async onSearchCategory(query?: string): Promise<void> {
|
|
118
|
+
let categories = this.categoriesOrdered;
|
|
119
|
+
if(query){
|
|
120
|
+
categories = categories.filter((item: Category) => {
|
|
211
121
|
return item.name.toUpperCase().includes(query.toUpperCase());
|
|
212
122
|
});
|
|
213
123
|
}
|
|
214
|
-
this.
|
|
124
|
+
(this.$refs.selectCategory as InstanceType<typeof ClassicMultiselect>).afterSearch(categories,categories.length);
|
|
215
125
|
},
|
|
216
|
-
onCategorySelected(category: Category): void {
|
|
126
|
+
onCategorySelected(category: Category| Array<Category>): void {
|
|
217
127
|
if (undefined !== this.categorySelected) {
|
|
218
|
-
this.$emit('update:categorySelected', category.id);
|
|
219
|
-
} else if (undefined
|
|
128
|
+
this.$emit('update:categorySelected', (category as Category).id);
|
|
129
|
+
} else if (undefined !== this.categorySelectedArray) {
|
|
130
|
+
const idsArray: Array<number> = [];
|
|
131
|
+
(category as Array<Category>).forEach((el: Category) => {
|
|
132
|
+
idsArray.push(el.id);
|
|
133
|
+
});
|
|
134
|
+
this.$emit('update:categorySelectedArray', idsArray);
|
|
135
|
+
}else{
|
|
220
136
|
this.$emit('selected', category);
|
|
221
137
|
}
|
|
222
138
|
},
|
|
223
|
-
initCategorySelected(
|
|
224
|
-
|
|
225
|
-
return el.id ===
|
|
226
|
-
});
|
|
227
|
-
if(!categorySelected){
|
|
228
|
-
categorySelected = getDefaultCategory(this.defaultanswer);
|
|
229
|
-
}
|
|
230
|
-
this.category = categorySelected;
|
|
139
|
+
initCategorySelected(): void {
|
|
140
|
+
this.category = this.categoriesChosen.find((el: Category) => {
|
|
141
|
+
return el.id === this.categorySelected;
|
|
142
|
+
}) ?? this.getDefaultCategory;
|
|
231
143
|
},
|
|
232
|
-
initCategoryArray(
|
|
233
|
-
if(!this.categoryForArray){
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
144
|
+
initCategoryArray(): void {
|
|
145
|
+
if(!this.categoryForArray || !this.categorySelectedArray){return; }
|
|
236
146
|
this.categoryForArray.length = 0;
|
|
237
|
-
|
|
147
|
+
this.categorySelectedArray.forEach((element: number) => {
|
|
238
148
|
const item = this.categoriesChosen.find((el: Category) => {
|
|
239
149
|
return el.id === element;
|
|
240
150
|
});
|
|
@@ -4,8 +4,11 @@
|
|
|
4
4
|
class="header-img flex-column justify-content-end"
|
|
5
5
|
:style="backgroundDisplay"
|
|
6
6
|
>
|
|
7
|
-
<h1>{{titleDisplay}}</h1>
|
|
8
|
-
<div
|
|
7
|
+
<h1>{{ titleDisplay }}</h1>
|
|
8
|
+
<div
|
|
9
|
+
v-show="isDisplay"
|
|
10
|
+
class="d-flex flex-column justify-content-end"
|
|
11
|
+
>
|
|
9
12
|
<ol
|
|
10
13
|
v-if="filterIab || filterRubrique.length"
|
|
11
14
|
class="octopus-breadcrumb d-flex align-items-center justify-content-center flex-wrap"
|
|
@@ -33,7 +36,10 @@
|
|
|
33
36
|
href="#"
|
|
34
37
|
@click="removeFilter(index,$event)"
|
|
35
38
|
>{{ filter.nameRubriquage }}</a>
|
|
36
|
-
<div
|
|
39
|
+
<div
|
|
40
|
+
v-else
|
|
41
|
+
class="fw-bold"
|
|
42
|
+
>
|
|
37
43
|
{{ filter.nameRubriquage }}
|
|
38
44
|
</div>
|
|
39
45
|
<div class="mx-1">
|
|
@@ -46,7 +52,6 @@
|
|
|
46
52
|
:rubriquage-id="filter.rubriquageId"
|
|
47
53
|
:rubrique-selected="filter.rubriqueId"
|
|
48
54
|
:all-rubriques="getRubriques(filter.rubriquageId)"
|
|
49
|
-
:cannot-be-undefined="true"
|
|
50
55
|
width="auto"
|
|
51
56
|
@selected="onRubriqueSelected(index,$event)"
|
|
52
57
|
/>
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="d-flex align-items-center">
|
|
3
3
|
<div>{{ $t('Advertising') + ' :' }}</div>
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
4
|
+
<select
|
|
5
|
+
ref="select"
|
|
6
|
+
v-model="monetization"
|
|
7
|
+
class="ms-2 mb-0 c-hand"
|
|
8
|
+
@change="onChange"
|
|
9
|
+
>
|
|
10
|
+
<option value="UNDEFINED">
|
|
11
|
+
{{ allString }}
|
|
12
|
+
</option>
|
|
13
|
+
<option value="YES">
|
|
14
|
+
{{ $t('Authorized advertising') }}
|
|
15
|
+
</option>
|
|
16
|
+
<option value="NO">
|
|
17
|
+
{{ $t('Prohibited advertising') }}
|
|
18
|
+
</option>
|
|
19
|
+
</select>
|
|
17
20
|
</div>
|
|
18
21
|
</template>
|
|
19
22
|
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="d-flex align-items-center my-3">
|
|
2
|
+
<div class="d-flex-column align-items-center my-3">
|
|
3
3
|
<div
|
|
4
4
|
v-if="!isPodcastmaker && !filterOrgaId"
|
|
5
|
-
class="
|
|
5
|
+
class="w-50-responsive pe-3 position-relative"
|
|
6
6
|
>
|
|
7
7
|
<OrganisationChooser
|
|
8
8
|
:defaultanswer="$t('No organisation filter')"
|
|
9
|
-
:
|
|
9
|
+
:orga-id-selected="organisationId"
|
|
10
10
|
@selected="onOrganisationSelected"
|
|
11
11
|
/>
|
|
12
12
|
<ClassicCheckbox
|
|
13
|
-
v-if="!!organisationId"
|
|
14
13
|
v-model:textInit="keepOrganisation"
|
|
14
|
+
:class="!!organisationId? '' : 'invisible'"
|
|
15
15
|
class="m-3"
|
|
16
16
|
:label="$t('check this box if you want to keep this filter for the rest of your visit')"
|
|
17
17
|
:display-label="false"
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
@clickAction="onKeepOrganisation"
|
|
20
20
|
/>
|
|
21
21
|
<div
|
|
22
|
-
|
|
22
|
+
:class="showBubble? '' : 'invisible'"
|
|
23
23
|
class="filter-speech-bubble"
|
|
24
24
|
>
|
|
25
25
|
{{
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
</div>
|
|
32
32
|
<ClassicSearch
|
|
33
33
|
:text-init="searchPattern"
|
|
34
|
-
class="
|
|
34
|
+
class="w-50-responsive"
|
|
35
35
|
:autofocus="true"
|
|
36
36
|
id-search="productor-search-input"
|
|
37
37
|
:label="searchText"
|
|
@@ -190,15 +190,5 @@ export default defineComponent({
|
|
|
190
190
|
opacity: 1;
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
|
-
.filter-organisation-chooser {
|
|
194
|
-
display: flex;
|
|
195
|
-
align-items: center;
|
|
196
|
-
flex-grow: 1;
|
|
197
|
-
margin-right: 10%;
|
|
198
|
-
position: relative;
|
|
199
|
-
@media (max-width: 500px) {
|
|
200
|
-
margin-right: 0;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
193
|
}
|
|
204
194
|
</style>
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="d-flex align-items-center">
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
<select
|
|
4
|
+
v-model="rubriquageId"
|
|
5
|
+
class="ms-2 mb-0 c-hand"
|
|
6
|
+
@change="onRubriquageSelected"
|
|
7
|
+
>
|
|
8
|
+
<option
|
|
9
|
+
v-for="rubriquage in rubriquageDisplay"
|
|
10
|
+
:key="rubriquage.rubriquageId"
|
|
11
|
+
:value="rubriquage.rubriquageId"
|
|
8
12
|
>
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
:value="rubriquage.rubriquageId"
|
|
13
|
-
>{{ rubriquage.title }}</option>
|
|
14
|
-
</select>
|
|
15
|
-
<div
|
|
16
|
-
class="saooti-down octopus-arrow-down-absolute"
|
|
17
|
-
/>
|
|
18
|
-
</label>
|
|
13
|
+
{{ rubriquage.title }}
|
|
14
|
+
</option>
|
|
15
|
+
</select>
|
|
19
16
|
<template v-if="rubriquageId">
|
|
20
17
|
<div class="ms-3 flex-shrink-0">
|
|
21
18
|
{{ $t('By rubric') }}
|
|
@@ -30,7 +27,6 @@
|
|
|
30
27
|
:defaultanswer="$t('No rubric filter')"
|
|
31
28
|
:reset="reset"
|
|
32
29
|
:without-rubrique="true"
|
|
33
|
-
width="auto"
|
|
34
30
|
@selected="onRubriqueSelected"
|
|
35
31
|
/>
|
|
36
32
|
</template>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
/>
|
|
12
12
|
<div
|
|
13
13
|
v-if="isRubriquage"
|
|
14
|
-
class="d-flex flex-column mb-2"
|
|
14
|
+
class="d-flex flex-column mb-2 flex-grow-1"
|
|
15
15
|
>
|
|
16
16
|
<RubriqueChoice
|
|
17
17
|
v-for="(filter, index) in arrayFilter"
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
:rubriquage-display="getRubriquage(index)"
|
|
22
22
|
:rubrique-id-selected="filter.rubriqueId"
|
|
23
23
|
:rubriquage-id-selected="filter.rubriquageId"
|
|
24
|
+
:no-deselect="true"
|
|
24
25
|
@updateRubrique="updateRubrique"
|
|
25
26
|
@updateRubriquage="updateRubriquage"
|
|
26
27
|
@deleteRubriqueChoice="deleteRubriqueChoice(index)"
|