Skip to content

Commit

Permalink
Merge pull request #2003 from slntopp/dev-fixes
Browse files Browse the repository at this point in the history
add enable all switch
  • Loading branch information
SazukinPavel authored Feb 12, 2025
2 parents ed9abc7 + c7e95c9 commit 142612b
Showing 1 changed file with 27 additions and 9 deletions.
36 changes: 27 additions & 9 deletions admin-ui/src/components/ServicesProvider/suspend-rules.vue
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,20 @@
<div v-for="day in dayOfWeeks" :key="day">
<v-card-title
>{{ day }}
<v-btn @click="addNewIn(day)" class="mr-2" icon>

<v-switch
class="ml-3"
@change="changeEnableAll(day)"
:input-value="suspendRules[day]?.length === 0"
label="Enable all day"
/>
<v-btn @click="addNewIn(day)" class="ml-2" icon>
<v-icon>mdi-plus</v-icon>
</v-btn></v-card-title
>

<v-row
v-for="(rule, index) in suspendRules[day]"
v-for="(rule, index) in suspendRules[day] || []"
:key="index"
class="rule-row"
>
Expand Down Expand Up @@ -80,7 +87,7 @@ const suspendRulesForm = ref();
const timeRule = [(v) => !!isTime(v) || "Not valid time"];
onMounted(() => {
dayOfWeeks.forEach((day) => (suspendRules.value[day] = []));
dayOfWeeks.forEach((day) => (suspendRules.value[day] = null));
setTemplateRules();
isRulesEnabled.value = !!template.value?.suspendRules?.enabled;
Expand All @@ -103,18 +110,20 @@ function isTime(value) {
const setTemplateRules = () => {
template.value.suspendRules.schedules.map((shedule) => {
suspendRules.value[shedule.day] = shedule.allowedSuspendTime.map(
(range) =>
({
startTime: range.startTime,
endTime: range.endTime,
} || [])
(range) => ({
startTime: range.startTime,
endTime: range.endTime,
})
);
});
suspendRules.value = { ...suspendRules.value };
};
const addNewIn = (day) => {
if (!suspendRules.value[day]) {
suspendRules.value[day] = [];
}
suspendRules.value[day].push({
endTime: "00:00",
startTime: "00:00",
Expand All @@ -129,6 +138,14 @@ const deleteRangeFromDay = (day, index) => {
suspendRules.value = { ...suspendRules.value };
};
const changeEnableAll = (day) => {
if (suspendRules.value[day]?.length === 0) {
suspendRules.value[day] = null;
} else {
suspendRules.value[day] = [];
}
};
const save = async () => {
if (!suspendRulesForm.value.validate()) {
store.commit("snackbar/showSnackbarError", {
Expand All @@ -142,6 +159,7 @@ const save = async () => {
const newSuspendRules = {};
newSuspendRules.enabled = isRulesEnabled.value;
newSuspendRules.schedules = [];
Object.keys(suspendRules.value).map((day) => {
newSuspendRules.schedules.push({
day,
Expand All @@ -157,7 +175,7 @@ const save = async () => {
store.commit("snackbar/showSnackbarSuccess", {
message: "Done",
});
} catch {
} catch {
store.commit("snackbar/showSnackbarError", {
message: "Error while try update suspend rules",
});
Expand Down

0 comments on commit 142612b

Please sign in to comment.