@saooti/octopus-sdk 33.2.7 → 33.2.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/index.ts +1 -0
- package/package.json +1 -1
- package/src/App.vue +3 -0
- package/src/assets/form.scss +0 -14
- package/src/assets/octopus-library.scss +1 -2
- package/src/components/display/filter/DateFilter.vue +17 -37
- package/src/components/form/ClassicCheckbox.vue +1 -1
- package/src/components/form/ClassicDatePicker.vue +81 -0
- package/src/components/misc/Footer.vue +1 -27
package/index.ts
CHANGED
|
@@ -61,6 +61,7 @@ export const getClassicCheckbox = () => import("./src/components/form/ClassicChe
|
|
|
61
61
|
export const getClassicRadio = () => import("./src/components/form/ClassicRadio.vue");
|
|
62
62
|
export const getClassicLoading = () => import("./src/components/form/ClassicLoading.vue");
|
|
63
63
|
export const getClassicSelect = () => import("./src/components/form/ClassicSelect.vue");
|
|
64
|
+
export const getClassicDatePicker = () => import("./src/components/form/ClassicDatePicker.vue");
|
|
64
65
|
export const getPaginate = () => import("./src/components/display/list/Paginate.vue");
|
|
65
66
|
export const getListPaginate = () => import("./src/components/display/list/ListPaginate.vue");
|
|
66
67
|
|
package/package.json
CHANGED
package/src/App.vue
CHANGED
|
@@ -16,12 +16,14 @@
|
|
|
16
16
|
<CategoryFilter />
|
|
17
17
|
<router-view />
|
|
18
18
|
<Footer />
|
|
19
|
+
<Player />
|
|
19
20
|
</div>
|
|
20
21
|
</template>
|
|
21
22
|
|
|
22
23
|
<script lang="ts">
|
|
23
24
|
import TopBar from '@/components/misc/TopBar.vue';
|
|
24
25
|
import Footer from '@/components/misc/Footer.vue';
|
|
26
|
+
import Player from '@/components/misc/player/Player.vue';
|
|
25
27
|
import CategoryFilter from '@/components/display/categories/CategoryFilter.vue';
|
|
26
28
|
import { state } from './store/paramStore';
|
|
27
29
|
import { Rubriquage } from './store/class/rubrique/rubriquage';
|
|
@@ -39,6 +41,7 @@ export default defineComponent({
|
|
|
39
41
|
LeftMenu,
|
|
40
42
|
CategoryFilter,
|
|
41
43
|
Footer,
|
|
44
|
+
Player
|
|
42
45
|
},
|
|
43
46
|
|
|
44
47
|
mixins: [initSDK],
|
package/src/assets/form.scss
CHANGED
|
@@ -27,18 +27,4 @@
|
|
|
27
27
|
position: relative;
|
|
28
28
|
width: 100%;
|
|
29
29
|
}
|
|
30
|
-
.vc-select select{
|
|
31
|
-
padding: 0 !important;
|
|
32
|
-
}
|
|
33
|
-
.vc-date{
|
|
34
|
-
.vc-month,.vc-day,.vc-year{
|
|
35
|
-
color: $octopus-primary-color !important;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
.vc-highlight{
|
|
39
|
-
background-color: $octopus-primary-color !important;
|
|
40
|
-
}
|
|
41
|
-
.vc-select select:focus{
|
|
42
|
-
border-color: $octopus-primary-color !important;
|
|
43
|
-
}
|
|
44
30
|
}
|
|
@@ -13,22 +13,12 @@
|
|
|
13
13
|
id-checkbox="search-from-checkbox"
|
|
14
14
|
:label="$t('From the :')"
|
|
15
15
|
/>
|
|
16
|
-
<
|
|
17
|
-
v-model="fromDate"
|
|
16
|
+
<ClassicDatePicker
|
|
18
17
|
class="ps-3 pe-3"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
>
|
|
24
|
-
<template #default="{ inputValue, inputEvents }">
|
|
25
|
-
<input
|
|
26
|
-
class="px-2 py-1 border rounded focus:border-blue-300"
|
|
27
|
-
:value="inputValue"
|
|
28
|
-
v-on="inputEvents"
|
|
29
|
-
>
|
|
30
|
-
</template>
|
|
31
|
-
</DatePicker>
|
|
18
|
+
:date="fromDate"
|
|
19
|
+
templateClass="px-2 py-1 border rounded focus:border-blue-300"
|
|
20
|
+
@updateDate="fromDate=$event;updateFromDate"
|
|
21
|
+
/>
|
|
32
22
|
</div>
|
|
33
23
|
<div class="d-flex align-items-center">
|
|
34
24
|
<ClassicCheckbox
|
|
@@ -37,22 +27,12 @@
|
|
|
37
27
|
id-checkbox="search-to-checkbox"
|
|
38
28
|
:label="$t('To the :')"
|
|
39
29
|
/>
|
|
40
|
-
<
|
|
41
|
-
v-model="toDate"
|
|
30
|
+
<ClassicDatePicker
|
|
42
31
|
class="ps-3"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
>
|
|
48
|
-
<template #default="{ inputValue, inputEvents }">
|
|
49
|
-
<input
|
|
50
|
-
class="px-2 py-1 border rounded focus:border-blue-300"
|
|
51
|
-
:value="inputValue"
|
|
52
|
-
v-on="inputEvents"
|
|
53
|
-
>
|
|
54
|
-
</template>
|
|
55
|
-
</DatePicker>
|
|
32
|
+
:date="toDate"
|
|
33
|
+
templateClass="px-2 py-1 border rounded focus:border-blue-300"
|
|
34
|
+
@updateDate="toDate=$event;updateToDate"
|
|
35
|
+
/>
|
|
56
36
|
</div>
|
|
57
37
|
</div>
|
|
58
38
|
</template>
|
|
@@ -60,17 +40,17 @@
|
|
|
60
40
|
<script lang="ts">
|
|
61
41
|
import moment from 'moment';
|
|
62
42
|
import ClassicCheckbox from '../../form/ClassicCheckbox.vue';
|
|
63
|
-
import
|
|
43
|
+
import ClassicDatePicker from '../../form/ClassicDatePicker.vue';
|
|
64
44
|
import { defineComponent } from 'vue';
|
|
65
45
|
export default defineComponent({
|
|
66
46
|
components: {
|
|
67
|
-
|
|
47
|
+
ClassicDatePicker,
|
|
68
48
|
ClassicCheckbox,
|
|
69
49
|
},
|
|
70
50
|
props: {
|
|
71
51
|
isEmission: { default: false, type: Boolean},
|
|
72
|
-
initToDate: { default: undefined, type:
|
|
73
|
-
initFromDate: { default: undefined, type:
|
|
52
|
+
initToDate: { default: undefined, type: Date},
|
|
53
|
+
initFromDate: { default: undefined, type: Date},
|
|
74
54
|
},
|
|
75
55
|
|
|
76
56
|
emits: ['updateToDate', 'updateFromDate'],
|
|
@@ -79,8 +59,8 @@ export default defineComponent({
|
|
|
79
59
|
return {
|
|
80
60
|
isFrom: false as boolean,
|
|
81
61
|
isTo: false as boolean,
|
|
82
|
-
fromDate: moment().subtract(10, 'days').
|
|
83
|
-
toDate: moment().
|
|
62
|
+
fromDate: moment().subtract(10, 'days').toDate(),
|
|
63
|
+
toDate: moment().toDate(),
|
|
84
64
|
};
|
|
85
65
|
},
|
|
86
66
|
|
|
@@ -139,4 +119,4 @@ export default defineComponent({
|
|
|
139
119
|
},
|
|
140
120
|
},
|
|
141
121
|
})
|
|
142
|
-
</script>
|
|
122
|
+
</script>
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<DatePicker
|
|
3
|
+
ref="datePicker"
|
|
4
|
+
:modelValue="undefined!==range ? range : date"
|
|
5
|
+
:mode="mode"
|
|
6
|
+
color="green"
|
|
7
|
+
is24hr
|
|
8
|
+
:is-range="undefined!==range"
|
|
9
|
+
:max-date="isMaxDate ? now : undefined"
|
|
10
|
+
:min-date="isMinDate ? now : undefined"
|
|
11
|
+
:columns="columnNumber"
|
|
12
|
+
:is-inline="columnNumber>1"
|
|
13
|
+
:update-on-input="conditionEdit"
|
|
14
|
+
:masks="isMask ? masks : undefined"
|
|
15
|
+
@update:modelValue="$emit('updateDate', $event)"
|
|
16
|
+
>
|
|
17
|
+
<template v-if="templateClass" #default="{ inputValue, inputEvents }">
|
|
18
|
+
<input
|
|
19
|
+
:class="templateClass"
|
|
20
|
+
:value="inputValue"
|
|
21
|
+
v-on="inputEvents"
|
|
22
|
+
>
|
|
23
|
+
</template>
|
|
24
|
+
</DatePicker>
|
|
25
|
+
</template>
|
|
26
|
+
|
|
27
|
+
<script lang="ts">
|
|
28
|
+
import moment from 'moment';
|
|
29
|
+
import { DatePicker } from 'v-calendar';
|
|
30
|
+
import { defineComponent } from 'vue';
|
|
31
|
+
export default defineComponent({
|
|
32
|
+
components: {
|
|
33
|
+
DatePicker,
|
|
34
|
+
},
|
|
35
|
+
props: {
|
|
36
|
+
date: { default: undefined, type: Date},
|
|
37
|
+
range: {default: undefined, type: Object as ()=>{ start: Date; end: Date }},
|
|
38
|
+
isMaxDate:{ default: false, type: Boolean},
|
|
39
|
+
isMinDate:{ default: false, type: Boolean},
|
|
40
|
+
columnNumber:{default:1, type: Number},
|
|
41
|
+
templateClass:{default: undefined, type: String},
|
|
42
|
+
mode:{default:"dateTime", type: String},
|
|
43
|
+
isMask:{default: false, type: Boolean},
|
|
44
|
+
conditionEdit:{default: true, type: Boolean},
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
emits: ['updateDate', 'update:date'],
|
|
48
|
+
data() {
|
|
49
|
+
return {
|
|
50
|
+
masks: {
|
|
51
|
+
input: 'YYYY-MM-DD',
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
},
|
|
55
|
+
computed: {
|
|
56
|
+
now(): Date {
|
|
57
|
+
return moment().add(1, 'days').toDate();
|
|
58
|
+
},
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
</script>
|
|
62
|
+
<style lang="scss">
|
|
63
|
+
@import '@scss/_variables.scss';
|
|
64
|
+
@import 'v-calendar/dist/style.css';
|
|
65
|
+
.octopus-app{
|
|
66
|
+
.vc-select select{
|
|
67
|
+
padding: 0 !important;
|
|
68
|
+
}
|
|
69
|
+
.vc-date{
|
|
70
|
+
.vc-month,.vc-day,.vc-year{
|
|
71
|
+
color: $octopus-primary-color !important;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
.vc-highlight{
|
|
75
|
+
background-color: $octopus-primary-color !important;
|
|
76
|
+
}
|
|
77
|
+
.vc-select select:focus{
|
|
78
|
+
border-color: $octopus-primary-color !important;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
</style>
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
v-if="displayFooter"
|
|
4
3
|
id="footer"
|
|
5
4
|
ref="footer"
|
|
6
|
-
class="d-flex align-items-center justify-content-between border-top"
|
|
5
|
+
class="d-flex align-items-center justify-content-between border-top mt-auto"
|
|
7
6
|
>
|
|
8
7
|
<div class="d-flex align-items-center px-1" v-if="!isPodcastmaker">
|
|
9
8
|
<div class="text-dark me-2">
|
|
@@ -53,13 +52,11 @@
|
|
|
53
52
|
>
|
|
54
53
|
</a>
|
|
55
54
|
</div>
|
|
56
|
-
<Player @hide="showBlackBorder" />
|
|
57
55
|
</template>
|
|
58
56
|
|
|
59
57
|
<script lang="ts">
|
|
60
58
|
import cookies from '../mixins/cookies';
|
|
61
59
|
import ClassicSelect from '../form/ClassicSelect.vue';
|
|
62
|
-
import Player from './player/Player.vue';
|
|
63
60
|
import { state } from '../../store/paramStore';
|
|
64
61
|
import {loadLocaleMessages} from '@/i18n';
|
|
65
62
|
import octopusApi from '@saooti/octopus-api';
|
|
@@ -69,14 +66,10 @@ import { defineComponent } from 'vue'
|
|
|
69
66
|
export default defineComponent({
|
|
70
67
|
name: 'Footer',
|
|
71
68
|
components: {
|
|
72
|
-
Player,
|
|
73
69
|
ClassicSelect
|
|
74
70
|
},
|
|
75
71
|
|
|
76
72
|
mixins:[cookies],
|
|
77
|
-
props: {
|
|
78
|
-
displayFooter: { default: true, type: Boolean},
|
|
79
|
-
},
|
|
80
73
|
data() {
|
|
81
74
|
return {
|
|
82
75
|
language: this.$i18n.locale,
|
|
@@ -116,15 +109,6 @@ export default defineComponent({
|
|
|
116
109
|
iabId: this.$store.state.filter.iab?.id,
|
|
117
110
|
rubriquesId: this.rubriqueQueryParam}
|
|
118
111
|
},
|
|
119
|
-
showBlackBorder(hide: boolean): void {
|
|
120
|
-
const footerElement = (this.$refs.footer as HTMLElement);
|
|
121
|
-
if(!footerElement){return;}
|
|
122
|
-
if (hide) {
|
|
123
|
-
footerElement.classList.remove('border-round');
|
|
124
|
-
} else {
|
|
125
|
-
footerElement.className += ' border-round';
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
112
|
changeLanguage(): void{
|
|
129
113
|
this.setCookie('octopus-language', this.language);
|
|
130
114
|
loadLocaleMessages(this.$i18n, this.language, this.$store.state.general.isEducation);
|
|
@@ -159,16 +143,6 @@ export default defineComponent({
|
|
|
159
143
|
a{
|
|
160
144
|
color: #666;
|
|
161
145
|
}
|
|
162
|
-
.border-round {
|
|
163
|
-
border-radius: 0 0 2rem 2rem;
|
|
164
|
-
}
|
|
165
|
-
/** PHONES*/
|
|
166
|
-
@media (max-width: 960px) {
|
|
167
|
-
.align-items-center,
|
|
168
|
-
.align-items-end {
|
|
169
|
-
align-items: flex-start !important;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
146
|
}
|
|
173
147
|
}
|
|
174
148
|
</style>
|