sajjad 3 years ago
parent 7de319c786
commit 76806b37d8

@ -16,6 +16,7 @@ export const getJson = (data) => ({
video: data.video, video: data.video,
set: data.set, set: data.set,
per_set: data.per_set, per_set: data.per_set,
estimate_time: data.estimate_time,
}); });
export const setData = (data) => ({ export const setData = (data) => ({
id: data.id, id: data.id,

@ -96,8 +96,8 @@
<script> <script>
import SectionTitle from "../../Global/Section/SectionTitle.vue"; import SectionTitle from "../../Global/Section/SectionTitle.vue";
import { cloneDeep } from "lodash"; import { cloneDeep } from "lodash";
import { mapMutations } from "vuex"; import { mapMutations, mapGetters } from "vuex";
const defaultFilter = { let defaultFilter = {
title: { title: {
type: "like", type: "like",
val: null, val: null,
@ -134,6 +134,9 @@ export default {
}, },
], ],
}), }),
computed: {
...mapGetters("programs", ["getFilters"]),
},
methods: { methods: {
...mapMutations("programs", ["SET_FILTER_PROGRAMS"]), ...mapMutations("programs", ["SET_FILTER_PROGRAMS"]),
filterPrograms() { filterPrograms() {
@ -149,5 +152,9 @@ export default {
this.$_closeModal(); this.$_closeModal();
}, },
}, },
created() {
let filter = { ...this.filter, ...this.getFilters };
this.filter = filter;
},
}; };
</script> </script>

@ -96,7 +96,7 @@ export default {
this.currectRoleId = this.role_id ? this.role_id : 0; this.currectRoleId = this.role_id ? this.role_id : 0;
this.$_closeModal(); this.$_closeModal();
} else { } else {
toast.error("Change the roll first", "Error"); toast.error("Change the role first", "Error");
} }
} }
}, },

@ -28,7 +28,7 @@
></v-text-field> ></v-text-field>
</div> </div>
</div> </div>
<div class="my-6" v-if="type === 'admin'"> <div class="my-6" v-if="role === 'admin'">
<div> <div>
<v-autocomplete <v-autocomplete
class="no-error-msg pt-0" class="no-error-msg pt-0"
@ -86,10 +86,10 @@
</template> </template>
<script> <script>
import SectionTitle from "../../Global/Section/SectionTitle.vue"; import SectionTitle from "../../Global/Section/SectionTitle.vue";
import { mapMutations } from "vuex"; import { mapMutations, mapGetters } from "vuex";
import { cloneDeep } from "lodash"; import { cloneDeep } from "lodash";
import { UserStorage } from "@/utils/storage"; import { UserStorage } from "@/utils/storage";
const defaultFilter = { let defaultFilter = {
first_name: { first_name: {
type: "like", type: "like",
val: null, val: null,
@ -109,11 +109,14 @@ export default {
components: { SectionTitle }, components: { SectionTitle },
data: () => ({ data: () => ({
filter: cloneDeep(defaultFilter), filter: cloneDeep(defaultFilter),
type: UserStorage.get() ? UserStorage.get().type : null, role: UserStorage.getRole() ? UserStorage.getRole() : null,
}), }),
props: { props: {
allRoles: {}, allRoles: {},
}, },
computed: {
...mapGetters("users", ["getFilters"]),
},
methods: { methods: {
...mapMutations("users", ["SET_FILTER_USER"]), ...mapMutations("users", ["SET_FILTER_USER"]),
// ...mapActions("users", ["laodRoles"]), // ...mapActions("users", ["laodRoles"]),
@ -134,6 +137,9 @@ export default {
this.filter.role_name.val = this.$route.query.role_name; this.filter.role_name.val = this.$route.query.role_name;
this.filterUser(); this.filterUser();
} }
let filter = { ...this.filter, ...this.getFilters };
this.filter = filter;
console.log(this.filter, this.getFilters, filter);
}, },
}; };
</script> </script>

@ -42,7 +42,7 @@
height="26" height="26"
icon="WMi-trash" icon="WMi-trash"
class="custom-btn custom-icon ml-1" class="custom-btn custom-icon ml-1"
@click.native="deleteWorkout(workout.id)" @click.native="removeWorkout(workout.id)"
/> />
<router-link <router-link
:to="{ :to="{
@ -67,6 +67,7 @@
</template> </template>
<script> <script>
import { mapActions } from "vuex"; import { mapActions } from "vuex";
import toast from '@/utils/toast'
export default { export default {
props: { props: {
workout: { workout: {
@ -75,6 +76,11 @@ export default {
}, },
methods: { methods: {
...mapActions("workouts", ["deleteWorkout"]), ...mapActions("workouts", ["deleteWorkout"]),
removeWorkout(id) {
toast.question("Are sure delete workout?", "Delete workout", () => {
this.deleteWorkout(id);
});
},
}, },
}; };
</script> </script>

@ -76,7 +76,7 @@
import SectionTitle from "../../Global/Section/SectionTitle.vue"; import SectionTitle from "../../Global/Section/SectionTitle.vue";
import { cloneDeep } from "lodash"; import { cloneDeep } from "lodash";
import { mapMutations } from "vuex"; import { mapMutations, mapGetters } from "vuex";
const defaultFilter = { const defaultFilter = {
name: { name: {
type: "like", type: "like",
@ -95,6 +95,9 @@ export default {
data: () => ({ data: () => ({
filter: cloneDeep(defaultFilter), filter: cloneDeep(defaultFilter),
}), }),
computed: {
...mapGetters("workouts", ["getFilters"]),
},
methods: { methods: {
...mapMutations("workouts", ["SET_FILTER_WORKOUTS"]), ...mapMutations("workouts", ["SET_FILTER_WORKOUTS"]),
filterWorkotus() { filterWorkotus() {
@ -109,5 +112,9 @@ export default {
this.$_closeModal(); this.$_closeModal();
}, },
}, },
created() {
let filter = { ...this.filter, ...this.getFilters };
this.filter = filter;
},
}; };
</script> </script>

@ -3,14 +3,11 @@
<v-row> <v-row>
<v-col :cols="addWorkout ? 3 : 4" class="pr-0"> <v-col :cols="addWorkout ? 3 : 4" class="pr-0">
<!-- addWorkout ? addWorkout.thumbnail : seriesWorkout.thumbnail --> <!-- addWorkout ? addWorkout.thumbnail : seriesWorkout.thumbnail -->
<div <img
class="series__workout__image" class="series__workout__image w-100"
:style="{ :src="addWorkout ? addWorkout.thumbnail : seriesWorkout.thumbnail"
backgroundImage: `url('${ alt="product image"
addWorkout ? addWorkout.thumbnail : seriesWorkout.thumbnail />
}')`,
}"
></div>
<!-- <div v-else> <!-- <div v-else>
<img <img
src="http://via.placeholder.com/200" src="http://via.placeholder.com/200"
@ -23,7 +20,7 @@
<div class="details__card"> <div class="details__card">
<div> <div>
<div class="series__workout__title wa__f__m__eb text-uppercase mb-2"> <div class="series__workout__title wa__f__m__eb text-uppercase mb-2">
{{ addWorkout ? addWorkout.title : seriesWorkout.title }} {{ addWorkout ? addWorkout.name : seriesWorkout.name }}
</div> </div>
<div class="series__workout__description"> <div class="series__workout__description">
{{ addWorkout ? addWorkout.description : seriesWorkout.description }} {{ addWorkout ? addWorkout.description : seriesWorkout.description }}
@ -34,7 +31,7 @@
<div class="d-flex"> <div class="d-flex">
<div class="mr-6"> <div class="mr-6">
<i class="WMi-clock-3"></i> <i class="WMi-clock-3"></i>
<span class="wa__f__m__eb">{{ seriesWorkout.suggested_time }}</span> <span class="wa__f__m__eb">{{ seriesWorkout.estimate_time }}</span>
</div> </div>
<div> <div>
<i class="WMi-list"></i> <i class="WMi-list"></i>
@ -89,14 +86,14 @@ export default {
}); });
}, },
}, },
created() {
console.log(this.seriesWorkout);
}
}; };
</script> </script>
<style scoped> <style scoped>
.series__workout__image { .series__workout__image {
border-radius: 20px; border-radius: 20px;
height: 150px;
background-size: cover;
background-position: center;
} }
.series__workout__img { .series__workout__img {
width: 100%; width: 100%;

@ -27,7 +27,7 @@
append-icon="WMi-search" append-icon="WMi-search"
:items="getWorkoutsToSeries" :items="getWorkoutsToSeries"
item-value="id" item-value="id"
item-text="title" item-text="name"
:loading="isLoading" :loading="isLoading"
:search-input.sync="search" :search-input.sync="search"
> >
@ -45,7 +45,7 @@
/> --> /> -->
<div class="pb-3 align mt-2"> <div class="pb-3 align mt-2">
<div class="series__workout__title wa__f__m__eb text-uppercase mb-2"> <div class="series__workout__title wa__f__m__eb text-uppercase mb-2">
{{ item.title }} {{ item.name }}
</div> </div>
<div class="series__workout__description"> <div class="series__workout__description">
{{ item.description }} {{ item.description }}
@ -59,7 +59,7 @@
<v-divider class="mt-6"></v-divider> <v-divider class="mt-6"></v-divider>
<v-row class="mt-1"> <v-row class="mt-1">
<v-col cols="12" <v-col cols="12"
><AddWorkoutsItem :addWorkout="selectedWorkout" :add="true" ><AddWorkoutsItem :addWorkout="selectedWorkout"
/></v-col> /></v-col>
</v-row> </v-row>
</template> </template>
@ -136,7 +136,7 @@ import WorkoutToSeriesRepository from "@/abstraction/repository/workoutToSeriesR
let cancelId; let cancelId;
const defaultFilter = { const defaultFilter = {
title: { name: {
type: "like", type: "like",
val: null, val: null,
}, },
@ -163,7 +163,7 @@ export default {
clearTimeout(cancelId); clearTimeout(cancelId);
if (val && val.length > 1) { if (val && val.length > 1) {
cancelId = setTimeout(async () => { cancelId = setTimeout(async () => {
this.filter.title.val = val; this.filter.name.val = val;
this.SET_FILTER_WORKOUTS_TO_SERIES(this.filter); this.SET_FILTER_WORKOUTS_TO_SERIES(this.filter);
await this.loadWorkoutsToSeries(); await this.loadWorkoutsToSeries();
this.isLoading = false; this.isLoading = false;

@ -2,5 +2,6 @@ export default {
getPrograms: state => state.programs, getPrograms: state => state.programs,
getProgram: state => state.program, getProgram: state => state.program,
getPaginationProgram: state => state.pagination, getPaginationProgram: state => state.pagination,
getFilters: state => state.filters,
getFilterCount: state => state.filterCount getFilterCount: state => state.filterCount
}; };

@ -2,5 +2,6 @@ export default {
getUsers: state => state.users, getUsers: state => state.users,
getRoles: state => state.roles, getRoles: state => state.roles,
getPaginationUser: state => state.pagination, getPaginationUser: state => state.pagination,
getFilters: state => state.filters,
getFilterCount: state => state.filterCount getFilterCount: state => state.filterCount
}; };

@ -2,5 +2,6 @@ export default {
getWorkouts: state => state.workouts, getWorkouts: state => state.workouts,
getWorkout: state => state.workout, getWorkout: state => state.workout,
getPaginationWorkout: state => state.pagination, getPaginationWorkout: state => state.pagination,
getFilters: state => state.filters,
getFilterCount: state => state.filterCount getFilterCount: state => state.filterCount
} }
Loading…
Cancel
Save