@saooti/octopus-sdk 40.0.0 → 40.0.1
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/package.json +1 -1
- package/src/components/display/filter/AdvancedSearch.vue +26 -21
- package/src/components/display/podcasts/PodcastList.vue +6 -6
- package/src/components/mixins/routeParam/advancedParamInit.ts +17 -2
- package/src/components/pages/PodcastsPage.vue +3 -13
- package/src/locale/de.ts +4 -4
- package/src/locale/en.ts +4 -2
- package/src/locale/es.ts +4 -4
- package/src/locale/fr.ts +4 -2
- package/src/locale/it.ts +4 -2
- package/src/locale/sl.ts +4 -3
- package/src/router/router.ts +1 -1
package/package.json
CHANGED
|
@@ -42,19 +42,25 @@
|
|
|
42
42
|
class="flex-shrink-0"
|
|
43
43
|
id-checkbox="search-future-checkbox"
|
|
44
44
|
:label="textNotVisible"
|
|
45
|
-
:is-disabled="
|
|
45
|
+
:is-disabled="isSelectValidity && 'true'!==validity"
|
|
46
46
|
@update:text-init="updateIncludeHidden"
|
|
47
47
|
/>
|
|
48
48
|
</div>
|
|
49
|
-
<
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
49
|
+
<ClassicSelect
|
|
50
|
+
v-if="isSelectValidity"
|
|
51
|
+
:text-init="validity"
|
|
52
|
+
@update:text-init="updateValidity"
|
|
53
|
+
id-select="valid-episodes-select"
|
|
54
|
+
:label="$t('Episodes to validate')+' :'"
|
|
55
|
+
:display-label="true"
|
|
56
|
+
classLabel="flex-shrink-0 me-1"
|
|
57
|
+
class="d-flex align-items-center mt-3 mb-0"
|
|
58
|
+
:options="[
|
|
59
|
+
{ title: $t('Display only episodes to validate'), value: 'false' },
|
|
60
|
+
{ title: $t('Display episodes to validate'), value: '' },
|
|
61
|
+
{ title: $t('Do not display episodes to validate'), value: 'true' },
|
|
62
|
+
]"
|
|
63
|
+
/>
|
|
58
64
|
<ClassicCheckbox
|
|
59
65
|
v-if="!isEmission"
|
|
60
66
|
:text-init="onlyVideo"
|
|
@@ -92,6 +98,9 @@ const CategorySearchFilter = defineAsyncComponent(
|
|
|
92
98
|
const RubriqueFilter = defineAsyncComponent(
|
|
93
99
|
() => import("./RubriqueFilter.vue"),
|
|
94
100
|
);
|
|
101
|
+
const ClassicSelect = defineAsyncComponent(
|
|
102
|
+
() => import("../../form/ClassicSelect.vue"),
|
|
103
|
+
);
|
|
95
104
|
const ClassicCheckbox = defineAsyncComponent(
|
|
96
105
|
() => import("../../form/ClassicCheckbox.vue"),
|
|
97
106
|
);
|
|
@@ -106,6 +115,7 @@ export default defineComponent({
|
|
|
106
115
|
DateFilter,
|
|
107
116
|
SearchOrder,
|
|
108
117
|
ChevronDownIcon,
|
|
118
|
+
ClassicSelect
|
|
109
119
|
},
|
|
110
120
|
mixins: [orgaComputed, rubriquesFilterParam],
|
|
111
121
|
props: {
|
|
@@ -119,7 +129,7 @@ export default defineComponent({
|
|
|
119
129
|
searchPattern: { default: "", type: String },
|
|
120
130
|
fromDate: { default: undefined, type: String },
|
|
121
131
|
toDate: { default: undefined, type: String },
|
|
122
|
-
|
|
132
|
+
validity: { default: 'true', type: String },
|
|
123
133
|
rubriqueFilter: {
|
|
124
134
|
default: () => [],
|
|
125
135
|
type: Array as () => Array<RubriquageFilter>,
|
|
@@ -133,7 +143,7 @@ export default defineComponent({
|
|
|
133
143
|
"update:iabId",
|
|
134
144
|
"update:sort",
|
|
135
145
|
"update:includeHidden",
|
|
136
|
-
"update:
|
|
146
|
+
"update:validity",
|
|
137
147
|
"update:rubriqueFilter",
|
|
138
148
|
"update:onlyVideo",
|
|
139
149
|
],
|
|
@@ -163,7 +173,7 @@ export default defineComponent({
|
|
|
163
173
|
? this.$t("Consider podcasts no visible")
|
|
164
174
|
: this.$t("See podcasts no visible");
|
|
165
175
|
},
|
|
166
|
-
|
|
176
|
+
isSelectValidity(): boolean {
|
|
167
177
|
return (
|
|
168
178
|
undefined !== this.organisation &&
|
|
169
179
|
this.organisationRight &&
|
|
@@ -173,11 +183,6 @@ export default defineComponent({
|
|
|
173
183
|
this.includeHidden
|
|
174
184
|
);
|
|
175
185
|
},
|
|
176
|
-
textNotValidate(): string {
|
|
177
|
-
return this.isRoleProduction
|
|
178
|
-
? this.$t("Display all podcasts to validate")
|
|
179
|
-
: this.$t("Display my podcasts to validate");
|
|
180
|
-
},
|
|
181
186
|
},
|
|
182
187
|
watch: {
|
|
183
188
|
organisation(): void {
|
|
@@ -228,9 +233,9 @@ export default defineComponent({
|
|
|
228
233
|
this.$emit("update:includeHidden", value);
|
|
229
234
|
this.updateRouteParam({ h: value.toString() });
|
|
230
235
|
},
|
|
231
|
-
|
|
232
|
-
this.$emit("update:
|
|
233
|
-
this.updateRouteParam({
|
|
236
|
+
updateValidity(value: boolean) {
|
|
237
|
+
this.$emit("update:validity", value);
|
|
238
|
+
this.updateRouteParam({ vl: value.toString() });
|
|
234
239
|
},
|
|
235
240
|
updateOnlyVideo(value: boolean) {
|
|
236
241
|
this.$emit("update:onlyVideo", value);
|
|
@@ -87,7 +87,7 @@ export default defineComponent({
|
|
|
87
87
|
showCount: { default: false, type: Boolean },
|
|
88
88
|
displaySortText: { default: true, type: Boolean },
|
|
89
89
|
sortCriteria: { default: undefined, type: String },
|
|
90
|
-
|
|
90
|
+
validity: { default: 'true', type: String },
|
|
91
91
|
rubriqueId: { default: () => [], type: Array as () => Array<number> },
|
|
92
92
|
rubriquageId: { default: () => [], type: Array as () => Array<number> },
|
|
93
93
|
noRubriquageId: { default: () => [], type: Array as () => Array<number> },
|
|
@@ -125,7 +125,7 @@ export default defineComponent({
|
|
|
125
125
|
changed(): string {
|
|
126
126
|
return `${this.organisation}|${this.emissionId}|${this.sortCriteria}|${this.sort}
|
|
127
127
|
${this.iabId}|${this.participantId}|${this.query}|${this.monetisable}|${this.popularSort}|
|
|
128
|
-
${this.rubriqueId}|${this.rubriquageId}|${this.before}|${this.after}|${this.includeHidden}|${this.noRubriquageId}|${this.
|
|
128
|
+
${this.rubriqueId}|${this.rubriquageId}|${this.before}|${this.after}|${this.includeHidden}|${this.noRubriquageId}|${this.validity}|
|
|
129
129
|
${this.withVideo}`;
|
|
130
130
|
},
|
|
131
131
|
organisation(): Array<string> {
|
|
@@ -204,11 +204,11 @@ export default defineComponent({
|
|
|
204
204
|
rubriqueId: this.rubriqueId.length ? this.rubriqueId : undefined,
|
|
205
205
|
rubriquageId: this.rubriquageId.length ? this.rubriquageId : undefined,
|
|
206
206
|
includeHidden: this.includeHidden,
|
|
207
|
-
validity:
|
|
208
|
-
publisherId:
|
|
209
|
-
this.
|
|
207
|
+
validity: this.validity,
|
|
208
|
+
/* publisherId:
|
|
209
|
+
!this.onlyValid && !this.isRoleProduction
|
|
210
210
|
? this.authProfile?.userId
|
|
211
|
-
: undefined,
|
|
211
|
+
: undefined, */
|
|
212
212
|
includeStatus: ["READY", "PROCESSING"],
|
|
213
213
|
withVideo: this.withVideo,
|
|
214
214
|
};
|
|
@@ -4,8 +4,9 @@ import { paginateParamInit } from "./paginateParamInit";
|
|
|
4
4
|
import { rubriquesFilterParam } from "./rubriquesFilterParam";
|
|
5
5
|
import { defineComponent } from 'vue';
|
|
6
6
|
import { mapState } from "pinia";
|
|
7
|
-
import { RubriquageFilter } from "
|
|
7
|
+
import { RubriquageFilter } from "../../../stores/class/rubrique/rubriquageFilter";
|
|
8
8
|
import dayjs from "dayjs";
|
|
9
|
+
import { useAuthStore } from "../../../stores/AuthStore";
|
|
9
10
|
export const advancedParamInit = defineComponent({
|
|
10
11
|
mixins: [orgaComputed, paginateParamInit, rubriquesFilterParam],
|
|
11
12
|
props: {
|
|
@@ -19,6 +20,7 @@ export const advancedParamInit = defineComponent({
|
|
|
19
20
|
routeTo: { default: undefined, type: String },
|
|
20
21
|
routeOrga: { default: undefined, type: String },
|
|
21
22
|
routeRubriques: { default: "", type: String },
|
|
23
|
+
routeValidity: { default: "", type: String },
|
|
22
24
|
},
|
|
23
25
|
data() {
|
|
24
26
|
return {
|
|
@@ -30,7 +32,7 @@ export const advancedParamInit = defineComponent({
|
|
|
30
32
|
toDate: undefined as string | undefined,
|
|
31
33
|
includeHidden: false as boolean,
|
|
32
34
|
sort: "DATE" as string, // SCORE, DATE, POPULARITY, NAME, LAST_PODCAST_DESC
|
|
33
|
-
|
|
35
|
+
validity: 'true' as string,
|
|
34
36
|
iabId: undefined as number | undefined,
|
|
35
37
|
noRubriquageId: [] as Array<number>,
|
|
36
38
|
rubriquageId: [] as Array<number>,
|
|
@@ -40,6 +42,7 @@ export const advancedParamInit = defineComponent({
|
|
|
40
42
|
};
|
|
41
43
|
},
|
|
42
44
|
computed:{
|
|
45
|
+
...mapState(useAuthStore, ["isRoleContribution",]),
|
|
43
46
|
...mapState(useFilterStore, ["filterRubrique", "filterIab"]),
|
|
44
47
|
organisationRight(): boolean {
|
|
45
48
|
return this.isEditRights(this.organisationId);
|
|
@@ -91,6 +94,9 @@ export const advancedParamInit = defineComponent({
|
|
|
91
94
|
routeIncludeHidden(){
|
|
92
95
|
this.initIncludeHidden();
|
|
93
96
|
},
|
|
97
|
+
routeValidity(){
|
|
98
|
+
this.initValidity();
|
|
99
|
+
},
|
|
94
100
|
routeFrom(){
|
|
95
101
|
this.initFromDate();
|
|
96
102
|
},
|
|
@@ -118,6 +124,7 @@ export const advancedParamInit = defineComponent({
|
|
|
118
124
|
this.iabId = this.filterIab?.id ?? this.routeIab;
|
|
119
125
|
this.initRubriquageFilter();
|
|
120
126
|
this.initIncludeHidden();
|
|
127
|
+
this.initValidity();
|
|
121
128
|
this.initMonetisable();
|
|
122
129
|
this.initSort();
|
|
123
130
|
this.initFromDate();
|
|
@@ -163,6 +170,14 @@ export const advancedParamInit = defineComponent({
|
|
|
163
170
|
initIncludeHidden(){
|
|
164
171
|
this.includeHidden = undefined !== this.organisation && this.organisationRight && "false"!==this.routeIncludeHidden;
|
|
165
172
|
},
|
|
173
|
+
initValidity(){
|
|
174
|
+
const cantDisplay = this.isPodcastmaker || this.isEmission || !this.includeHidden || !this.isRoleContribution || !this.organisationRight;
|
|
175
|
+
if(cantDisplay){
|
|
176
|
+
this.validity = "true";
|
|
177
|
+
}else{
|
|
178
|
+
this.validity = this.routeValidity;
|
|
179
|
+
}
|
|
180
|
+
},
|
|
166
181
|
initRubriquageFilter(){
|
|
167
182
|
if(this.routeRubriques === this.stringifyRubriquesFilter(this.rubriqueFilter)){
|
|
168
183
|
return
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
v-model:include-hidden="includeHidden"
|
|
13
13
|
v-model:from-date="fromDate"
|
|
14
14
|
v-model:to-date="toDate"
|
|
15
|
-
v-model:
|
|
15
|
+
v-model:validity="validity"
|
|
16
16
|
v-model:rubrique-filter="rubriqueFilter"
|
|
17
17
|
:search-pattern="searchPattern"
|
|
18
18
|
:is-emission="false"
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
:after="fromDate"
|
|
30
30
|
:sort-criteria="sort"
|
|
31
31
|
:include-hidden="includeHidden"
|
|
32
|
-
:not-valid="notValid"
|
|
33
32
|
:iab-id="iabId"
|
|
34
33
|
:rubrique-id="rubriquesFilterArrayIds.rubriqueId"
|
|
35
34
|
:rubriquage-id="rubriquesFilterArrayIds.rubriquageId"
|
|
36
35
|
:no-rubriquage-id="rubriquesFilterArrayIds.noRubriquageId"
|
|
37
36
|
:with-video="withVideo"
|
|
37
|
+
:validity="validity"
|
|
38
38
|
/>
|
|
39
39
|
</section>
|
|
40
40
|
</template>
|
|
@@ -63,14 +63,13 @@ export default defineComponent({
|
|
|
63
63
|
routeIncludeHidden: { default: "", type: String },
|
|
64
64
|
routeFrom: { default: undefined, type: String },
|
|
65
65
|
routeTo: { default: undefined, type: String },
|
|
66
|
-
|
|
66
|
+
routeValidity: { default: "", type: String },
|
|
67
67
|
routeOnlyVideo: { default: "", type: String },
|
|
68
68
|
routeOrga: { default: undefined, type: String },
|
|
69
69
|
routeRubriques: { default: "", type: String },
|
|
70
70
|
},
|
|
71
71
|
data() {
|
|
72
72
|
return {
|
|
73
|
-
notValid: false as boolean,
|
|
74
73
|
onlyVideo: false as boolean,
|
|
75
74
|
};
|
|
76
75
|
},
|
|
@@ -83,15 +82,6 @@ export default defineComponent({
|
|
|
83
82
|
},
|
|
84
83
|
},
|
|
85
84
|
watch: {
|
|
86
|
-
routeNotValid: {
|
|
87
|
-
immediate: true,
|
|
88
|
-
handler() {
|
|
89
|
-
this.notValid =
|
|
90
|
-
undefined !== this.organisation &&
|
|
91
|
-
this.organisationRight &&
|
|
92
|
-
"true" === this.routeNotValid;
|
|
93
|
-
},
|
|
94
|
-
},
|
|
95
85
|
routeOnlyVideo: {
|
|
96
86
|
immediate: true,
|
|
97
87
|
handler() {
|
package/src/locale/de.ts
CHANGED
|
@@ -264,10 +264,10 @@ export default {
|
|
|
264
264
|
"Recaptcha not active": "Google CAPTCHA ist deaktiviert",
|
|
265
265
|
"Comment waiting":
|
|
266
266
|
"Der Kommentar ist für andere Besucher erst sichtbar, nachdem er validiert wurde.",
|
|
267
|
-
"
|
|
268
|
-
|
|
269
|
-
"Display
|
|
270
|
-
|
|
267
|
+
"Episodes to validate":"Episoden zur Validierung",
|
|
268
|
+
"Display only episodes to validate": "Nur Episoden zur Validierung anzeigen",
|
|
269
|
+
"Display episodes to validate": "Zeigen Sie Episoden zur Validierung an",
|
|
270
|
+
"Do not display episodes to validate": "Episoden zur Validierung nicht anzeigen",
|
|
271
271
|
"Podcast not validated": "Nicht validierter Podcast",
|
|
272
272
|
"Podcast to validate": "Podcast noch nicht validiert",
|
|
273
273
|
"Change locale": "Ändere die Sprache",
|
package/src/locale/en.ts
CHANGED
|
@@ -259,8 +259,10 @@ export default {
|
|
|
259
259
|
"Recaptcha not active": "The captcha google is deactivated",
|
|
260
260
|
"Comment waiting":
|
|
261
261
|
"The comment will not be visible to other users until it has been validated",
|
|
262
|
-
"
|
|
263
|
-
"Display
|
|
262
|
+
"Episodes to validate":"Episodes to validate",
|
|
263
|
+
"Display only episodes to validate": "Display only episodes to validate",
|
|
264
|
+
"Display episodes to validate": "Display episodes to validate",
|
|
265
|
+
"Do not display episodes to validate": "Do not display episodes to validate",
|
|
264
266
|
"Podcast not validated": "Podcast not validated",
|
|
265
267
|
"Podcast to validate": "Podcast to validate",
|
|
266
268
|
"Change locale": "Change the language",
|
package/src/locale/es.ts
CHANGED
|
@@ -264,10 +264,10 @@ export default {
|
|
|
264
264
|
"Recaptcha not active": "El Captcha de Google está desactivado",
|
|
265
265
|
"Comment waiting":
|
|
266
266
|
"Los demás usuarios podrán ver el comentario tras su validación",
|
|
267
|
-
"
|
|
268
|
-
|
|
269
|
-
"Display
|
|
270
|
-
|
|
267
|
+
"Episodes to validate":"Episodios para validar",
|
|
268
|
+
"Display only episodes to validate": "Mostrar solo episodios para validar",
|
|
269
|
+
"Display episodes to validate": "Mostrar episodios para validar",
|
|
270
|
+
"Do not display episodes to validate": "No mostrar episodios para validar",
|
|
271
271
|
"Podcast not validated": "Pódcast no validado",
|
|
272
272
|
"Podcast to validate": "Pódcast pendiente de validación",
|
|
273
273
|
"Change locale": "Cambiar el idioma",
|
package/src/locale/fr.ts
CHANGED
|
@@ -266,8 +266,10 @@ export default {
|
|
|
266
266
|
"Recaptcha not active": "Attention le captcha google est désactivé",
|
|
267
267
|
"Comment waiting":
|
|
268
268
|
"Le commentaire ne sera pas visible par les autres utilisateurs tant qu'il n'aura pas été validé.",
|
|
269
|
-
"
|
|
270
|
-
"Display
|
|
269
|
+
"Episodes to validate":"Épisodes à valider",
|
|
270
|
+
"Display only episodes to validate": "Afficher uniquement les épisodes à valider",
|
|
271
|
+
"Display episodes to validate": "Afficher les épisodes à valider",
|
|
272
|
+
"Do not display episodes to validate": "Ne pas afficher les épisodes à valider",
|
|
271
273
|
"Podcast not validated": "L'épisode n'est pas validé",
|
|
272
274
|
"Podcast to validate": "Épisode à valider",
|
|
273
275
|
"Change locale": "Changer la langue",
|
package/src/locale/it.ts
CHANGED
|
@@ -261,8 +261,10 @@ export default{
|
|
|
261
261
|
'Recaptcha not active': 'Google captcha disattivato',
|
|
262
262
|
'Comment waiting':
|
|
263
263
|
"Questo commento non sarà visibile ad altri utenti fino a quando non sarà validato",
|
|
264
|
-
|
|
265
|
-
|
|
264
|
+
"Episodes to validate":"Episodi da convalidare",
|
|
265
|
+
"Display only episodes to validate": "Mostra solo gli episodi da convalidare",
|
|
266
|
+
"Display episodes to validate": "Mostra episodi da convalidare",
|
|
267
|
+
"Do not display episodes to validate": "Non visualizzare gli episodi per convalidarli",
|
|
266
268
|
'Podcast not validated': "Podcast non validato",
|
|
267
269
|
'Podcast to validate': 'Podcast da validare',
|
|
268
270
|
'Change locale': 'Cambia la lingua',
|
package/src/locale/sl.ts
CHANGED
|
@@ -256,9 +256,10 @@ export default {
|
|
|
256
256
|
"Recaptcha error": "Google Recaptcha meni, da niste človek",
|
|
257
257
|
"Recaptcha not active": "Captcha google je deaktiviran",
|
|
258
258
|
"Comment waiting": "Komentar je do potrditve skrit za druge uporabnike",
|
|
259
|
-
"
|
|
260
|
-
|
|
261
|
-
"Display
|
|
259
|
+
"Episodes to validate":"Epizode za potrditev",
|
|
260
|
+
"Display only episodes to validate": "Pokaži samo epizode za potrditev",
|
|
261
|
+
"Display episodes to validate": "Prikaži epizode za potrditev",
|
|
262
|
+
"Do not display episodes to validate": "Ne prikazuj epizod za preverjanje",
|
|
262
263
|
"Podcast not validated": "Podkasti niso potrjeni",
|
|
263
264
|
"Podcast to validate": "Podkasti, ki jih je treba potrditi",
|
|
264
265
|
"Change locale": "Spremenite jezik",
|
package/src/router/router.ts
CHANGED
|
@@ -91,7 +91,7 @@ const routes: Array<RouteRecordRaw> = [
|
|
|
91
91
|
routeIncludeHidden: route.query.h ?? "",
|
|
92
92
|
routeFrom: route.query.from,
|
|
93
93
|
routeTo: route.query.to,
|
|
94
|
-
|
|
94
|
+
routeValidity:route.query.vl ?? "",
|
|
95
95
|
routeOnlyVideo:route.query.v ?? "",
|
|
96
96
|
routeOrga:route.query.o,
|
|
97
97
|
routeRubriques :route.query.r,
|