Browse Source

Mar 7 : [FIX] Bug Fixed 'one2many_mass_select_delete'

pull/249/head
AjmalCybro 2 years ago
parent
commit
03be4bdb1d
  1. 65
      one2many_mass_select_delete/static/src/js/widget.js

65
one2many_mass_select_delete/static/src/js/widget.js

@ -6,43 +6,70 @@ import { standardFieldProps } from "@web/views/fields/standard_field_props";
import { ListRenderer } from "@web/views/list/list_renderer"; import { ListRenderer } from "@web/views/list/list_renderer";
import {listView} from '@web/views/list/list_view'; import {listView} from '@web/views/list/list_view';
import { patch } from "@web/core/utils/patch"; import { patch } from "@web/core/utils/patch";
import ajax from 'web.ajax';
import rpc from 'web.rpc';
export class TestListRenderer extends ListRenderer { export class TestListRenderer extends ListRenderer {
get hasSelectors() { get hasSelectors() {
this.props.allowSelectors = true this.props.allowSelectors = true
this.props.list.selection = true let list = this.props.list
list.selection = list.records.filter((rec) => rec.selected)
list.selectDomain = (value) => {
list.isDomainSelected = value;
list.model.notify();
}
return this.props.allowSelectors && !this.env.isSmall; return this.props.allowSelectors && !this.env.isSmall;
} }
toggleRecordSelection(record) {
record.toggleSelection();
}
} }
export class TestX2ManyField extends X2ManyField { export class TestX2ManyField extends X2ManyField {
get hasSelected(){ get hasSelected(){
return this.list.records.filter((rec) => rec.selected).length return this.list.records.filter((rec) => rec.selected).length
} }
deleteSelected(){ async deleteSelected(){
var w_response = confirm("Dou You Want to Delete ?");
var current_model = this.field.relation;
var w_response = confirm("Do You Want to Delete ?");
if (w_response){ if (w_response){
console.log(this.list.records)
let selected = this.list.records.filter((rec) => rec.selected) let selected = this.list.records.filter((rec) => rec.selected)
if (this.activeActions.onDelete) {
selected.forEach((rec) => { this.list.records
this.activeActions.onDelete(rec); var selected_list =[]
}) if (this.activeActions.onDelete) {
} selected.forEach((rec) => {
selected_list.push(parseInt(rec.data.id))
})
}
var self = this;
var response = rpc.query({
model: current_model,
method: 'unlink',
args: [selected_list],
}).then(function(response){
self.rendererProps.list.model.load()
});
} }
} }
deleteUnselected(){ deleteUnselected(){
var w_response = confirm("Dou You Want to Select?"); var current_model = this.field.relation;
var w_response = confirm("Do You Want to Select?");
if (w_response){ if (w_response){
let unselected = this.list.records.filter((rec) => !rec.selected) let unselected = this.list.records.filter((rec) => !rec.selected)
if (this.activeActions.onDelete) { var unselected_list =[]
unselected.forEach((rec) => { if (this.activeActions.onDelete) {
this.activeActions.onDelete(rec); unselected.forEach((rec) => {
}) unselected_list.push(parseInt(rec.data.id))
} })
}
var self = this;
var response = rpc.query({
model: current_model,
method: 'unlink',
args: [unselected_list],
}).then(function(response){
self.rendererProps.list.model.load()
});
} }
} }
} }

Loading…
Cancel
Save