refactor: code
gitea/salix/pipeline/head There was a failure building this commit
Details
gitea/salix/pipeline/head There was a failure building this commit
Details
This commit is contained in:
parent
c26b09ead3
commit
1bd4b02a62
|
@ -5,9 +5,9 @@ module.exports = Self => {
|
|||
description: 'Edit the geos excluded from a zone',
|
||||
accepts: [
|
||||
{
|
||||
arg: 'exclusionsGeo',
|
||||
type: 'any',
|
||||
description: 'The exclusions by geo'
|
||||
arg: 'zoneExclusionFk',
|
||||
type: 'number',
|
||||
description: 'The zoneExclusion id'
|
||||
},
|
||||
{
|
||||
arg: 'geoIds',
|
||||
|
@ -26,7 +26,7 @@ module.exports = Self => {
|
|||
}
|
||||
});
|
||||
|
||||
Self.editExclusionGeo = async(exclusionsGeo, geoIds, options) => {
|
||||
Self.editExclusionGeo = async(zoneExclusionFk, geoIds, options) => {
|
||||
const models = Self.app.models;
|
||||
const myOptions = {};
|
||||
|
||||
|
@ -35,31 +35,21 @@ module.exports = Self => {
|
|||
|
||||
if (!geoIds[0]) throw new UserError(`You must select a location`);
|
||||
|
||||
let actualPosition = 0;
|
||||
let geoId;
|
||||
for (let exclusionGeo of exclusionsGeo) {
|
||||
if (geoIds[actualPosition]) geoId = geoIds[actualPosition].id;
|
||||
else geoId = null;
|
||||
if (geoId && geoId == exclusionGeo.geoFk) {
|
||||
await models.ZoneExclusionGeo.destroyAll({
|
||||
zoneExclusionFk: zoneExclusionFk
|
||||
}, myOptions);
|
||||
|
||||
const promises = [];
|
||||
|
||||
for (const geoId of geoIds) {
|
||||
const params = {
|
||||
id: exclusionGeo.id,
|
||||
zoneExclusionFk: exclusionGeo.zoneExclusionFk,
|
||||
geoFk: geoId
|
||||
zoneExclusionFk: zoneExclusionFk,
|
||||
geoFk: geoId.id
|
||||
};
|
||||
await models.ZoneExclusionGeo.upsert(params, myOptions);
|
||||
actualPosition++;
|
||||
} else
|
||||
await models.ZoneExclusionGeo.destroyById(exclusionGeo.id, myOptions);
|
||||
}
|
||||
while (actualPosition <= geoIds.length - 1) {
|
||||
const params = {
|
||||
zoneExclusionFk: exclusionsGeo[0].zoneExclusionFk,
|
||||
geoFk: geoIds[actualPosition].id
|
||||
};
|
||||
await models.ZoneExclusionGeo.create(params, myOptions);
|
||||
actualPosition++;
|
||||
const deletedZoneExclusionGeos = models.ZoneExclusionGeo.create(params, myOptions);
|
||||
promises.push(deletedZoneExclusionGeos);
|
||||
}
|
||||
|
||||
return true;
|
||||
return Promise.all(promises);
|
||||
};
|
||||
};
|
||||
|
|
|
@ -247,6 +247,7 @@
|
|||
<vn-check
|
||||
ng-model="item.checked"
|
||||
ng-click="$event.preventDefault()"
|
||||
on-change="$ctrl.onItemCheck(item.id, value)"
|
||||
label="{{::item.name}}">
|
||||
</vn-check>
|
||||
</vn-treeview>
|
||||
|
|
|
@ -7,8 +7,6 @@ class Controller extends Section {
|
|||
super($element, $);
|
||||
this.vnWeekDays = vnWeekDays;
|
||||
this.editMode = 'exclude';
|
||||
this.exclusions = [];
|
||||
this.exclusionsGeo = [];
|
||||
}
|
||||
|
||||
$onInit() {
|
||||
|
@ -61,36 +59,28 @@ class Controller extends Section {
|
|||
: this.$t('Everyday');
|
||||
}
|
||||
|
||||
onSelection(days, type, weekday, events, exclusions, exclusionsGeo) {
|
||||
onSelection(days, type, weekday, events, exclusions, exclusionGeos) {
|
||||
if (this.editMode == 'include') {
|
||||
if (events.length)
|
||||
return this.editInclusion(events[0]);
|
||||
return this.createInclusion(type, days, weekday);
|
||||
}
|
||||
|
||||
if (this.editMode == 'exclude') {
|
||||
if (exclusionsGeo.length) {
|
||||
this.exclusionsGeo = exclusionsGeo;
|
||||
return this.editExclusion();
|
||||
}
|
||||
if (exclusions.length) {
|
||||
this.exclusions = exclusions;
|
||||
return this.editExclusion();
|
||||
}
|
||||
} else if (this.editMode == 'exclude') {
|
||||
if (exclusions.length || exclusionGeos.length)
|
||||
return this.editExclusion(exclusions[0] || {}, exclusionGeos);
|
||||
return this.createExclusion(days);
|
||||
}
|
||||
}
|
||||
|
||||
editExclusion() {
|
||||
editExclusion(exclusion, exclusionGeos) {
|
||||
this.isNew = false;
|
||||
this.excludeSelected = angular.copy(exclusion);
|
||||
this.excludeSelected.type = exclusionGeos.length ?
|
||||
'specificLocations' : 'all';
|
||||
|
||||
if (this.exclusionsGeo.length) {
|
||||
this.excludeSelected = angular.copy(this.exclusionsGeo[0]);
|
||||
this.excludeSelected.type = 'specificLocations';
|
||||
}
|
||||
if (this.exclusions.length) {
|
||||
this.excludeSelected = angular.copy(this.exclusions[0]);
|
||||
this.excludeSelected.type = 'all';
|
||||
this.exclusionGeos = new Set();
|
||||
if (exclusionGeos.length) {
|
||||
this.excludeSelected.id = exclusionGeos[0].zoneExclusionFk;
|
||||
exclusionGeos.forEach(x => this.exclusionGeos.add(x.geoFk));
|
||||
}
|
||||
|
||||
this.$.excludeDialog.show();
|
||||
|
@ -102,7 +92,7 @@ class Controller extends Section {
|
|||
type: 'all',
|
||||
dated: days[0]
|
||||
};
|
||||
this.exclusionsGeo = [];
|
||||
this.exclusionGeos = new Set();
|
||||
this.$.excludeDialog.show();
|
||||
}
|
||||
|
||||
|
@ -187,7 +177,7 @@ class Controller extends Section {
|
|||
case 'delete':
|
||||
if (type == 'all')
|
||||
return this.exclusionDelete(this.exclusions);
|
||||
return this.exclusionGeoDelete(this.exclusionsGeo);
|
||||
return this.exclusionGeoDelete(this.exclusionGeos);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -227,30 +217,23 @@ class Controller extends Section {
|
|||
const excludeSelected = this.excludeSelected;
|
||||
let req;
|
||||
const geoIds = [];
|
||||
|
||||
for (let zoneGeo of this.checked) {
|
||||
geoIds.push({
|
||||
id: zoneGeo.id
|
||||
});
|
||||
}
|
||||
this.exclusionGeos.forEach(id => geoIds.push({id}));
|
||||
|
||||
if (this.isNew) {
|
||||
const params = {
|
||||
zoneFk: parseInt(this.$params.id),
|
||||
date: excludeSelected.dated,
|
||||
geoIds: geoIds
|
||||
geoIds
|
||||
};
|
||||
req = this.$http.post(`Zones/exclusionGeo`, params);
|
||||
} else {
|
||||
const params = {
|
||||
exclusionsGeo: this.exclusionsGeo,
|
||||
geoIds: geoIds
|
||||
zoneExclusionFk: this.excludeSelected.id,
|
||||
geoIds
|
||||
};
|
||||
req = this.$http.post(`Zones/editExclusionGeo`, params);
|
||||
}
|
||||
return req.then(() => {
|
||||
this.refresh();
|
||||
});
|
||||
return req.then(() => this.refresh());
|
||||
}
|
||||
|
||||
exclusionDelete(exclusions) {
|
||||
|
@ -287,7 +270,7 @@ class Controller extends Section {
|
|||
this.excludeSelected = null;
|
||||
this.isNew = null;
|
||||
this.exclusions = [];
|
||||
this.exclusionsGeo = [];
|
||||
this.exclusionGeos = [];
|
||||
}
|
||||
|
||||
set excludeSearch(value) {
|
||||
|
@ -326,15 +309,6 @@ class Controller extends Section {
|
|||
});
|
||||
}
|
||||
|
||||
getChecked(data) {
|
||||
for (let geo of data) {
|
||||
for (let exclusionGeo of this.exclusionsGeo) {
|
||||
if (geo.id == exclusionGeo.geoFk)
|
||||
geo.checked = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onSort(a, b) {
|
||||
if (b.selected !== a.selected) {
|
||||
if (a.selected == null)
|
||||
|
@ -347,6 +321,18 @@ class Controller extends Section {
|
|||
return a.name.localeCompare(b.name);
|
||||
}
|
||||
|
||||
getChecked(data) {
|
||||
for (let geo of data)
|
||||
geo.checked = this.exclusionGeos.has(geo.id);
|
||||
}
|
||||
|
||||
onItemCheck(geoId, checked) {
|
||||
if (checked)
|
||||
this.exclusionGeos.add(geoId);
|
||||
else
|
||||
this.exclusionGeos.delete(geoId);
|
||||
}
|
||||
|
||||
exprBuilder(param, value) {
|
||||
switch (param) {
|
||||
case 'search':
|
||||
|
|
Loading…
Reference in New Issue