@saooti/octopus-sdk 30.0.7 → 30.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.
- package/README.md +2 -1
- package/index.ts +13 -2
- package/package.json +1 -1
- package/src/assets/bootstrap-diff.scss +2 -1
- package/src/assets/form.scss +7 -0
- package/src/assets/general.scss +14 -20
- package/src/assets/multiselect.scss +1 -1
- package/src/assets/share.scss +1 -12
- package/src/components/display/comments/CommentPlayer.vue +1 -1
- package/src/components/display/emission/EmissionInlineList.vue +1 -1
- package/src/components/display/emission/EmissionItem.vue +2 -2
- package/src/components/display/emission/EmissionList.vue +1 -1
- package/src/components/display/emission/EmissionPlayerItem.vue +1 -1
- package/src/components/display/filter/AdvancedSearch.vue +39 -101
- package/src/components/display/filter/CategoryFilter.vue +9 -13
- package/src/components/display/filter/ProductorSearch.vue +20 -39
- package/src/components/display/filter/RubriqueChoice.vue +1 -1
- package/src/components/display/filter/RubriqueFilter.vue +8 -12
- package/src/components/display/organisation/OrganisationChooserLight.vue +7 -1
- package/src/components/display/playlist/PlaylistItem.vue +1 -1
- package/src/components/display/playlist/PodcastList.vue +8 -19
- package/src/components/display/podcasts/PodcastFilterList.vue +9 -18
- package/src/components/display/podcasts/PodcastImage.vue +1 -1
- package/src/components/display/podcasts/PodcastInlineList.vue +1 -1
- package/src/components/display/podcasts/PodcastItem.vue +1 -1
- package/src/components/display/sharing/PlayerParameters.vue +24 -45
- package/src/components/display/sharing/SharePlayer.vue +8 -17
- package/src/components/display/sharing/SharePlayerColors.vue +2 -2
- package/src/components/display/sharing/SubscribeButtons.vue +1 -1
- package/src/components/form/ClassicCheckbox.vue +61 -0
- package/src/components/form/ClassicLoading.vue +28 -0
- package/src/components/form/ClassicRadio.vue +61 -0
- package/src/components/form/ClassicSearch.vue +82 -0
- package/src/components/misc/ErrorMessage.vue +1 -1
- package/src/components/misc/Footer.vue +26 -35
- package/src/components/misc/HomeDropdown.vue +44 -93
- package/src/components/misc/LeftMenu.vue +108 -141
- package/src/components/misc/Player.vue +14 -28
- package/src/components/misc/PlayerButtons.vue +14 -37
- package/src/components/misc/PlayerProgressBar.vue +15 -50
- package/src/components/misc/TopBar.vue +140 -222
- package/src/components/misc/modal/NewsletterModal.vue +13 -27
- package/src/components/pages/Category.vue +3 -8
- package/src/components/pages/Emission.vue +12 -24
- package/src/components/pages/Emissions.vue +8 -17
- package/src/components/pages/Home.vue +1 -3
- package/src/components/pages/Lives.vue +1 -3
- package/src/components/pages/Participant.vue +18 -26
- package/src/components/pages/Participants.vue +7 -15
- package/src/components/pages/Playlist.vue +16 -29
- package/src/components/pages/Playlists.vue +1 -11
- package/src/components/pages/Podcast.vue +16 -30
- package/src/components/pages/Podcasts.vue +9 -23
- package/src/components/pages/Search.vue +26 -64
package/README.md
CHANGED
|
@@ -504,4 +504,5 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
|
|
|
504
504
|
* 30.0.4 Remplacer la version "classique" des miniplayers par la version beta
|
|
505
505
|
* 30.0.5 Tri des classes dans des sous dossiers
|
|
506
506
|
* 30.0.6 Merge 29
|
|
507
|
-
* 30.0.7 Améliorations css
|
|
507
|
+
* 30.0.7 Améliorations css
|
|
508
|
+
* 30.0.8 Améliorations diverses
|
package/index.ts
CHANGED
|
@@ -49,6 +49,11 @@ import RubriqueChooser from "./src/components/display/rubriques/RubriqueChooser.
|
|
|
49
49
|
import CommentList from "./src/components/display/comments/CommentList.vue";
|
|
50
50
|
import CommentInput from "./src/components/display/comments/CommentInput.vue";
|
|
51
51
|
|
|
52
|
+
//form
|
|
53
|
+
import ClassicSearch from "./src/components/form/ClassicSearch.vue";
|
|
54
|
+
import ClassicCheckbox from "./src/components/form/ClassicCheckbox.vue";
|
|
55
|
+
import ClassicRadio from "./src/components/form/ClassicRadio.vue";
|
|
56
|
+
|
|
52
57
|
//mixins
|
|
53
58
|
import {selenium} from "./src/components/mixins/functions";
|
|
54
59
|
import {cookies} from "./src/components/mixins/functions";
|
|
@@ -99,7 +104,10 @@ const components = {
|
|
|
99
104
|
orgaFilter,
|
|
100
105
|
initSDK,
|
|
101
106
|
Popover,
|
|
102
|
-
tagOfMixins
|
|
107
|
+
tagOfMixins,
|
|
108
|
+
ClassicSearch,
|
|
109
|
+
ClassicCheckbox,
|
|
110
|
+
ClassicRadio
|
|
103
111
|
}
|
|
104
112
|
|
|
105
113
|
export default components;
|
|
@@ -146,5 +154,8 @@ export {
|
|
|
146
154
|
orgaFilter,
|
|
147
155
|
initSDK,
|
|
148
156
|
Popover,
|
|
149
|
-
tagOfMixins
|
|
157
|
+
tagOfMixins,
|
|
158
|
+
ClassicSearch,
|
|
159
|
+
ClassicCheckbox,
|
|
160
|
+
ClassicRadio
|
|
150
161
|
};
|
package/package.json
CHANGED
|
@@ -240,12 +240,13 @@
|
|
|
240
240
|
display: none;
|
|
241
241
|
}
|
|
242
242
|
.dropdown-menu {
|
|
243
|
-
padding:
|
|
243
|
+
padding: 0.5rem;
|
|
244
244
|
@media (max-width: 450px) {
|
|
245
245
|
min-width: 15rem;
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
248
|
.dropdown-item {
|
|
249
|
+
cursor: pointer;
|
|
249
250
|
font-size: 0.8rem;
|
|
250
251
|
@media (max-width: 450px) {
|
|
251
252
|
padding: 0.25rem 0;
|
package/src/assets/form.scss
CHANGED
|
@@ -5,6 +5,13 @@
|
|
|
5
5
|
.width-auto{
|
|
6
6
|
width: auto !important;
|
|
7
7
|
}
|
|
8
|
+
select {
|
|
9
|
+
background: white !important;
|
|
10
|
+
outline-color: transparent !important;
|
|
11
|
+
padding: 0.5rem;
|
|
12
|
+
border: 0.1rem solid #dee2e6;
|
|
13
|
+
border-radius: 0.3rem;
|
|
14
|
+
}
|
|
8
15
|
|
|
9
16
|
.form-input {
|
|
10
17
|
-webkit-appearance: none;
|
package/src/assets/general.scss
CHANGED
|
@@ -51,6 +51,13 @@ body{
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
}
|
|
54
|
+
.d-flex-column{
|
|
55
|
+
display: flex;
|
|
56
|
+
flex-direction: row;
|
|
57
|
+
@media (max-width: 960px) {
|
|
58
|
+
flex-direction: column;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
54
61
|
|
|
55
62
|
.primary-color{
|
|
56
63
|
color: $octopus-primary-color;
|
|
@@ -66,14 +73,6 @@ body{
|
|
|
66
73
|
background: $octopus-background;
|
|
67
74
|
}
|
|
68
75
|
|
|
69
|
-
.border-primary{
|
|
70
|
-
border-color:$octopus-primary-color !important;
|
|
71
|
-
border-radius: 3rem;
|
|
72
|
-
border-radius: 3rem;
|
|
73
|
-
border-style: inset;
|
|
74
|
-
border-width: 1px;;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
76
|
.pe-5 {
|
|
78
77
|
@media (max-width: 960px) {
|
|
79
78
|
padding-right: 5px !important;
|
|
@@ -84,6 +83,10 @@ body{
|
|
|
84
83
|
padding-left: 5px !important;
|
|
85
84
|
}
|
|
86
85
|
}
|
|
86
|
+
.horizontal-separator {
|
|
87
|
+
border-top: 1px solid rgb(243, 243, 243);
|
|
88
|
+
margin: 0.5rem 0;
|
|
89
|
+
}
|
|
87
90
|
|
|
88
91
|
.page-box{
|
|
89
92
|
background-color: $octopus-background;
|
|
@@ -132,15 +135,12 @@ body{
|
|
|
132
135
|
text-decoration: none;
|
|
133
136
|
outline-width: 0;
|
|
134
137
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
color: $octopus-primary-color !important;
|
|
138
|
+
a.link-hover{
|
|
139
|
+
color: black !important;
|
|
138
140
|
}
|
|
139
|
-
|
|
140
|
-
a.linkHover:hover{
|
|
141
|
+
a.link-hover.router-link-exact-active.router-link-active, a.link-hover:hover {
|
|
141
142
|
color: $octopus-primary-color !important;
|
|
142
143
|
}
|
|
143
|
-
|
|
144
144
|
.descriptionText{
|
|
145
145
|
white-space: pre-wrap;
|
|
146
146
|
word-wrap: break-word;
|
|
@@ -154,15 +154,9 @@ body{
|
|
|
154
154
|
.alert-text{
|
|
155
155
|
color: $octopus-alert-text;
|
|
156
156
|
}
|
|
157
|
-
.flex-grow{
|
|
158
|
-
flex-grow: 1;
|
|
159
|
-
}
|
|
160
157
|
.flex-super-grow{
|
|
161
158
|
flex-grow: 2;
|
|
162
159
|
}
|
|
163
|
-
.flex-shrink{
|
|
164
|
-
flex-shrink: 0;
|
|
165
|
-
}
|
|
166
160
|
.text-center-mobile{
|
|
167
161
|
text-align: inherit;
|
|
168
162
|
@media (max-width: 960px) {
|
package/src/assets/share.scss
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
@import '../sass/_variables.scss';
|
|
2
2
|
.octopus-app{
|
|
3
|
-
.
|
|
4
|
-
position: absolute;
|
|
5
|
-
top: 0;
|
|
6
|
-
bottom: 0;
|
|
7
|
-
right: 0;
|
|
8
|
-
display: flex;
|
|
9
|
-
align-items: center;
|
|
10
|
-
}
|
|
11
|
-
.share-container {
|
|
3
|
+
.flex-grow-mobile {
|
|
12
4
|
@media (max-width: 960px) {
|
|
13
5
|
flex-grow: 1;
|
|
14
6
|
}
|
|
@@ -18,9 +10,6 @@
|
|
|
18
10
|
margin-bottom: 2px;
|
|
19
11
|
height: 25px;
|
|
20
12
|
}
|
|
21
|
-
.flex-no-grow {
|
|
22
|
-
flex-grow: 0 !important;
|
|
23
|
-
}
|
|
24
13
|
.custom-radio .custom-control-label {
|
|
25
14
|
cursor: pointer;
|
|
26
15
|
}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
class="d-flex"
|
|
27
27
|
>
|
|
28
28
|
<div
|
|
29
|
-
class="img-box-light flex-shrink"
|
|
29
|
+
class="img-box-light flex-shrink-0"
|
|
30
30
|
:style="{ 'background-image': 'url(\'' + emission.imageUrl + '\')' }"
|
|
31
31
|
/>
|
|
32
32
|
<div class="emission-light-title">
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
<!-- eslint-enable -->
|
|
71
71
|
</div>
|
|
72
72
|
</router-link>
|
|
73
|
-
<div class="flex-grow" />
|
|
73
|
+
<div class="flex-grow-1" />
|
|
74
74
|
<router-link
|
|
75
75
|
v-if="!isPodcastmaker"
|
|
76
76
|
:to="{
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
:key="p.podcastId"
|
|
53
53
|
class="border-top emission-item-border-color p-2 secondary-bg d-flex"
|
|
54
54
|
>
|
|
55
|
-
<div class="d-flex justify-content-between flex-grow">
|
|
55
|
+
<div class="d-flex justify-content-between flex-grow-1">
|
|
56
56
|
<router-link
|
|
57
57
|
:to="{
|
|
58
58
|
name: 'podcast',
|
|
@@ -43,20 +43,12 @@
|
|
|
43
43
|
{{ $t('Emission with episode published :') }}
|
|
44
44
|
</div>
|
|
45
45
|
<div class="d-flex align-items-center">
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
>
|
|
53
|
-
<label
|
|
54
|
-
class="form-check-label"
|
|
55
|
-
for="search-from-checkbox"
|
|
56
|
-
>{{
|
|
57
|
-
$t('From the :')
|
|
58
|
-
}}</label>
|
|
59
|
-
</div>
|
|
46
|
+
<ClassicCheckbox
|
|
47
|
+
v-model:textInit="isFrom"
|
|
48
|
+
class="flex-shrink-0"
|
|
49
|
+
id-checkbox="search-from-checkbox"
|
|
50
|
+
:label="$t('From the :')"
|
|
51
|
+
/>
|
|
60
52
|
<DatePicker
|
|
61
53
|
v-model="fromDate"
|
|
62
54
|
class="ps-3 pe-3"
|
|
@@ -75,20 +67,12 @@
|
|
|
75
67
|
</DatePicker>
|
|
76
68
|
</div>
|
|
77
69
|
<div class="d-flex align-items-center">
|
|
78
|
-
<
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
>
|
|
85
|
-
<label
|
|
86
|
-
class="form-check-label"
|
|
87
|
-
for="search-to-checkbox"
|
|
88
|
-
>{{
|
|
89
|
-
$t('To the :')
|
|
90
|
-
}}</label>
|
|
91
|
-
</div>
|
|
70
|
+
<ClassicCheckbox
|
|
71
|
+
v-model:textInit="isTo"
|
|
72
|
+
class="flex-shrink-0"
|
|
73
|
+
id-checkbox="search-to-checkbox"
|
|
74
|
+
:label="$t('To the :')"
|
|
75
|
+
/>
|
|
92
76
|
<DatePicker
|
|
93
77
|
v-model="toDate"
|
|
94
78
|
class="ps-3"
|
|
@@ -111,89 +95,39 @@
|
|
|
111
95
|
v-if="organisation && organisationRight && !isPodcastmaker"
|
|
112
96
|
class="d-flex flex-column mt-3"
|
|
113
97
|
>
|
|
114
|
-
<
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
>
|
|
122
|
-
<label
|
|
123
|
-
class="form-check-label"
|
|
124
|
-
for="search-future-checkbox"
|
|
125
|
-
>{{
|
|
126
|
-
textNotVisible
|
|
127
|
-
}}</label>
|
|
128
|
-
</div>
|
|
98
|
+
<ClassicCheckbox
|
|
99
|
+
v-model:textInit="isNotVisible"
|
|
100
|
+
class="flex-shrink-0"
|
|
101
|
+
id-checkbox="search-future-checkbox"
|
|
102
|
+
:label="textNotVisible"
|
|
103
|
+
:is-disabled="isCheckboxNotValidate && isNotValidate"
|
|
104
|
+
/>
|
|
129
105
|
</div>
|
|
130
106
|
<div
|
|
131
107
|
v-if="isCheckboxNotValidate"
|
|
132
108
|
class="d-flex flex-column mt-3"
|
|
133
109
|
>
|
|
134
|
-
<
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
>
|
|
141
|
-
<label
|
|
142
|
-
class="form-check-label"
|
|
143
|
-
for="search-not-validate-checkbox"
|
|
144
|
-
>{{ textNotValidate }}</label>
|
|
145
|
-
</div>
|
|
110
|
+
<ClassicCheckbox
|
|
111
|
+
v-model:textInit="isNotValidate"
|
|
112
|
+
class="flex-shrink-0"
|
|
113
|
+
id-checkbox="search-not-validate-checkbox"
|
|
114
|
+
:label="textNotValidate"
|
|
115
|
+
/>
|
|
146
116
|
</div>
|
|
147
117
|
</div>
|
|
148
118
|
<div class="d-flex flex-column">
|
|
149
119
|
<div class="primary-color mb-2 padding-left-custom-radio">
|
|
150
120
|
{{ $t('Sort') }}
|
|
151
121
|
</div>
|
|
152
|
-
<
|
|
153
|
-
v-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
name="sortRadio"
|
|
162
|
-
value="SCORE"
|
|
163
|
-
>
|
|
164
|
-
<label
|
|
165
|
-
class="form-check-label"
|
|
166
|
-
for="radio_score"
|
|
167
|
-
>{{ $t('Sort score') }}</label>
|
|
168
|
-
</div>
|
|
169
|
-
<div class="form-check">
|
|
170
|
-
<input
|
|
171
|
-
id="radio_podcast"
|
|
172
|
-
v-model="sort"
|
|
173
|
-
class="form-check-input"
|
|
174
|
-
type="radio"
|
|
175
|
-
name="sortRadio"
|
|
176
|
-
:value="isEmission?'LAST_PODCAST_DESC':'DATE'"
|
|
177
|
-
>
|
|
178
|
-
<label
|
|
179
|
-
class="form-check-label"
|
|
180
|
-
for="radio_podcast"
|
|
181
|
-
>{{ $t('Sort last') }}</label>
|
|
182
|
-
</div>
|
|
183
|
-
<div class="form-check">
|
|
184
|
-
<input
|
|
185
|
-
id="radio_name"
|
|
186
|
-
v-model="sort"
|
|
187
|
-
class="form-check-input"
|
|
188
|
-
type="radio"
|
|
189
|
-
name="sortRadio"
|
|
190
|
-
value="NAME"
|
|
191
|
-
>
|
|
192
|
-
<label
|
|
193
|
-
class="form-check-label"
|
|
194
|
-
for="radio_name"
|
|
195
|
-
>{{ $t('Sort name') }}</label>
|
|
196
|
-
</div>
|
|
122
|
+
<ClassicRadio
|
|
123
|
+
v-model:textInit="sort"
|
|
124
|
+
id-select="sort-radio"
|
|
125
|
+
:options="isSearchBar? [{title:$t('Sort score'), value:'SCORE'},
|
|
126
|
+
{title:$t('Sort last'), value:isEmission?'LAST_PODCAST_DESC':'DATE'},
|
|
127
|
+
{title:$t('Sort name'), value:'NAME'}]:
|
|
128
|
+
[{title:$t('Sort last'), value:isEmission?'LAST_PODCAST_DESC':'DATE'},
|
|
129
|
+
{title:$t('Sort name'), value:'NAME'}]"
|
|
130
|
+
/>
|
|
197
131
|
</div>
|
|
198
132
|
</div>
|
|
199
133
|
</div>
|
|
@@ -204,6 +138,8 @@ import { state } from '../../../store/paramStore';
|
|
|
204
138
|
import moment from 'moment';
|
|
205
139
|
import CategoryFilter from './CategoryFilter.vue';
|
|
206
140
|
import RubriqueFilter from './RubriqueFilter.vue';
|
|
141
|
+
import ClassicCheckbox from '../../form/ClassicCheckbox.vue';
|
|
142
|
+
import ClassicRadio from '../../form/ClassicRadio.vue';
|
|
207
143
|
import { RubriquageFilter } from '@/store/class/rubrique/rubriquageFilter';
|
|
208
144
|
import { DatePicker } from 'v-calendar';
|
|
209
145
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
@@ -213,7 +149,9 @@ export default defineComponent({
|
|
|
213
149
|
MonetizableFilter,
|
|
214
150
|
DatePicker,
|
|
215
151
|
CategoryFilter,
|
|
216
|
-
RubriqueFilter
|
|
152
|
+
RubriqueFilter,
|
|
153
|
+
ClassicCheckbox,
|
|
154
|
+
ClassicRadio
|
|
217
155
|
},
|
|
218
156
|
props: {
|
|
219
157
|
organisationId: { default: undefined, type: String},
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="d-flex mt-3 align-items-center">
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
>
|
|
10
|
-
<label
|
|
11
|
-
class="form-check-label"
|
|
12
|
-
for="search-category-checkbox"
|
|
13
|
-
>{{ $t('By category') }}</label>
|
|
14
|
-
</div>
|
|
3
|
+
<ClassicCheckbox
|
|
4
|
+
v-model:textInit="isCategory"
|
|
5
|
+
class="flex-shrink-0 me-2"
|
|
6
|
+
id-checkbox="search-category-checkbox"
|
|
7
|
+
:label="$t('By category')"
|
|
8
|
+
/>
|
|
15
9
|
<CategoryChooser
|
|
16
10
|
v-model:categorySelected="iabId"
|
|
17
11
|
width="auto"
|
|
@@ -21,12 +15,14 @@
|
|
|
21
15
|
</template>
|
|
22
16
|
|
|
23
17
|
<script lang="ts">
|
|
18
|
+
import ClassicCheckbox from '../../form/ClassicCheckbox.vue';
|
|
24
19
|
import CategoryChooser from '../categories/CategoryChooser.vue';
|
|
25
20
|
import { Category } from '@/store/class/general/category';
|
|
26
21
|
import { defineComponent } from 'vue'
|
|
27
22
|
export default defineComponent({
|
|
28
23
|
components: {
|
|
29
|
-
CategoryChooser
|
|
24
|
+
CategoryChooser,
|
|
25
|
+
ClassicCheckbox
|
|
30
26
|
},
|
|
31
27
|
emits: ['updateCategory'],
|
|
32
28
|
data() {
|
|
@@ -10,22 +10,13 @@
|
|
|
10
10
|
:all="true"
|
|
11
11
|
@selected="onOrganisationSelected"
|
|
12
12
|
/>
|
|
13
|
-
<
|
|
13
|
+
<ClassicCheckbox
|
|
14
14
|
v-if="!!organisationId"
|
|
15
|
+
v-model:textInit="keepOrganisation"
|
|
15
16
|
class="m-3"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
v-model="keepOrganisation"
|
|
20
|
-
type="checkbox"
|
|
21
|
-
class="form-check-input"
|
|
22
|
-
@click="onKeepOrganisation"
|
|
23
|
-
>
|
|
24
|
-
<label
|
|
25
|
-
class="form-check-label"
|
|
26
|
-
for="orgaCheck"
|
|
27
|
-
/>
|
|
28
|
-
</div>
|
|
17
|
+
id-checkbox="organisation-checkbox"
|
|
18
|
+
@clickAction="onKeepOrganisation"
|
|
19
|
+
/>
|
|
29
20
|
<div
|
|
30
21
|
v-if="showBubble"
|
|
31
22
|
class="filter-speech-bubble"
|
|
@@ -37,36 +28,29 @@
|
|
|
37
28
|
}}
|
|
38
29
|
</div>
|
|
39
30
|
</div>
|
|
40
|
-
<
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
id="search"
|
|
48
|
-
ref="search"
|
|
49
|
-
class="filter-search-input input-no-outline"
|
|
50
|
-
:placeholder="searchText"
|
|
51
|
-
:value="searchPattern"
|
|
52
|
-
:readonly="notInitFocus"
|
|
53
|
-
@input="
|
|
54
|
-
event => $emit('updateSearchPattern', event.target.value)
|
|
55
|
-
"
|
|
56
|
-
>
|
|
57
|
-
</div>
|
|
31
|
+
<ClassicSearch
|
|
32
|
+
v-model:textInit="queryIntern"
|
|
33
|
+
class="d-flex align-items-center flex-grow-1"
|
|
34
|
+
:autofocus="true"
|
|
35
|
+
id-checkbox="productor-search-input"
|
|
36
|
+
:label="searchText"
|
|
37
|
+
/>
|
|
58
38
|
</div>
|
|
59
39
|
</template>
|
|
60
40
|
|
|
61
41
|
<script lang="ts">
|
|
42
|
+
import ClassicSearch from '../../form/ClassicSearch.vue';
|
|
62
43
|
import { state } from '../../../store/paramStore';
|
|
63
44
|
import { orgaFilter } from '../../mixins/organisationFilter';
|
|
64
45
|
import { Organisation } from '@/store/class/general/organisation';
|
|
65
46
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
66
47
|
const OrganisationChooser = defineAsyncComponent(() => import('../organisation/OrganisationChooser.vue'));
|
|
48
|
+
const ClassicCheckbox = defineAsyncComponent(() => import('../../form/ClassicCheckbox.vue'));
|
|
67
49
|
export default defineComponent({
|
|
68
50
|
components: {
|
|
69
51
|
OrganisationChooser,
|
|
52
|
+
ClassicSearch,
|
|
53
|
+
ClassicCheckbox
|
|
70
54
|
},
|
|
71
55
|
mixins:[orgaFilter],
|
|
72
56
|
|
|
@@ -82,7 +66,7 @@ export default defineComponent({
|
|
|
82
66
|
keepOrganisation: false as boolean,
|
|
83
67
|
showBubble: false as boolean,
|
|
84
68
|
imgUrl: '' as string,
|
|
85
|
-
|
|
69
|
+
queryIntern: '' as string,
|
|
86
70
|
};
|
|
87
71
|
},
|
|
88
72
|
|
|
@@ -102,6 +86,9 @@ export default defineComponent({
|
|
|
102
86
|
},
|
|
103
87
|
},
|
|
104
88
|
watch: {
|
|
89
|
+
queryIntern(): void {
|
|
90
|
+
this.$emit('updateSearchPattern', this.queryIntern);
|
|
91
|
+
},
|
|
105
92
|
filterOrga(): void {
|
|
106
93
|
if (this.filterOrga) {
|
|
107
94
|
this.keepOrganisation = true;
|
|
@@ -117,12 +104,6 @@ export default defineComponent({
|
|
|
117
104
|
this.keepOrganisation = true;
|
|
118
105
|
}
|
|
119
106
|
},
|
|
120
|
-
mounted() {
|
|
121
|
-
if (this.$refs.search) {
|
|
122
|
-
(this.$refs.search as HTMLElement).focus();
|
|
123
|
-
this.notInitFocus = false;
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
107
|
methods: {
|
|
127
108
|
onOrganisationSelected(organisation: Organisation): void {
|
|
128
109
|
if (this.$route.query.productor) {
|
|
@@ -3,18 +3,12 @@
|
|
|
3
3
|
v-if="organisationId && rubriquageData"
|
|
4
4
|
class="d-flex mt-3 align-items-center"
|
|
5
5
|
>
|
|
6
|
-
<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
>
|
|
13
|
-
<label
|
|
14
|
-
class="form-check-label"
|
|
15
|
-
for="search-rubriquage-checkbox"
|
|
16
|
-
>{{ $t('By topic') }}</label>
|
|
17
|
-
</div>
|
|
6
|
+
<ClassicCheckbox
|
|
7
|
+
v-model:textInit="isRubriquage"
|
|
8
|
+
class="flex-shrink-0"
|
|
9
|
+
id-checkbox="search-rubriquage-checkbox"
|
|
10
|
+
:label="$t('By topic')"
|
|
11
|
+
/>
|
|
18
12
|
<div
|
|
19
13
|
v-if="isRubriquage"
|
|
20
14
|
class="d-flex flex-column mb-2"
|
|
@@ -44,6 +38,7 @@
|
|
|
44
38
|
|
|
45
39
|
<script lang="ts">
|
|
46
40
|
import octopusApi from '@saooti/octopus-api';
|
|
41
|
+
import ClassicCheckbox from '../../form/ClassicCheckbox.vue';
|
|
47
42
|
import { Rubriquage } from '@/store/class/rubrique/rubriquage';
|
|
48
43
|
import { RubriquageFilter } from '@/store/class/rubrique/rubriquageFilter';
|
|
49
44
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
@@ -51,6 +46,7 @@ const RubriqueChoice = defineAsyncComponent(() => import('./RubriqueChoice.vue')
|
|
|
51
46
|
export default defineComponent({
|
|
52
47
|
components: {
|
|
53
48
|
RubriqueChoice,
|
|
49
|
+
ClassicCheckbox
|
|
54
50
|
},
|
|
55
51
|
props: {
|
|
56
52
|
organisationId: { default: undefined, type: String},
|