You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
3.3 KiB
110 lines
3.3 KiB
odoo.define('muk_dms_views.hierarchy', function(require) {
|
|
"use strict";
|
|
|
|
var core = require('web.core');
|
|
var data = require('web.data');
|
|
var formats = require('web.formats');
|
|
var pyeval = require('web.pyeval');
|
|
var session = require('web.session');
|
|
var utils = require('web.utils');
|
|
var common = require('web.list_common');
|
|
var data_manager = require('web.data_manager');
|
|
|
|
var View = require('web.View');
|
|
var ListView = require('web.ListView');
|
|
var DataExport = require('web.DataExport');
|
|
var Sidebar = require('web.Sidebar');
|
|
var Model = require('web.DataModel');
|
|
var Pager = require('web.Pager');
|
|
|
|
var _t = core._t;
|
|
var _lt = core._lt;
|
|
var QWeb = core.qweb;
|
|
|
|
var HierarchyView = ListView.extend({
|
|
_template: 'HierarchyView',
|
|
display_name: _lt("Hierarchy"),
|
|
icon: 'fa-sitemap',
|
|
defaults: _.extend({}, View.prototype.defaults, {
|
|
// records can be selected one by one
|
|
selectable: true,
|
|
// list rows can be deleted
|
|
deletable: false,
|
|
// whether the column headers should be displayed
|
|
header: true,
|
|
// display addition button, with that label
|
|
addable: _lt("Create"),
|
|
// whether the list view can be sorted, note that once a view has been
|
|
// sorted it can not be reordered anymore
|
|
sortable: true,
|
|
// whether the view rows can be reordered (via vertical drag & drop)
|
|
reorderable: true,
|
|
action_buttons: true,
|
|
//whether the editable property of the view has to be disabled
|
|
disable_editable_mode: false,
|
|
import_enabled: true,
|
|
}),
|
|
|
|
init: function() {
|
|
this._super.apply(this, arguments);
|
|
|
|
},
|
|
|
|
do_load_state: function(state, warm) {
|
|
console.log("4444");
|
|
return this._super.apply(this, arguments);
|
|
},
|
|
|
|
load_list: function() {
|
|
var self = this;
|
|
console.log("H§$");
|
|
return this._super.apply(this, arguments);
|
|
},
|
|
|
|
reload_content: synchronized(function () {
|
|
var self = this;
|
|
this.setup_columns(this.fields_view.fields, this.grouped);
|
|
this.$('tbody .o_list_record_selector input').prop('checked', false);
|
|
this.records.reset();
|
|
var reloaded = $.Deferred();
|
|
this.groups.render(function () {
|
|
if (self.dataset.index === null) {
|
|
if (self.records.length) {
|
|
self.dataset.index = 0;
|
|
}
|
|
} else if (self.dataset.index >= self.records.length) {
|
|
self.dataset.index = self.records.length ? 0 : null;
|
|
}
|
|
self.load_list().then(function () {
|
|
if (!self.grouped && self.display_nocontent_helper()) {
|
|
self.no_result();
|
|
}
|
|
reloaded.resolve();
|
|
});
|
|
});
|
|
this.do_push_state({
|
|
min: this.current_min,
|
|
limit: this._limit
|
|
});
|
|
return reloaded.promise();
|
|
}),
|
|
|
|
});
|
|
|
|
core.view_registry.add('hierarchy', HierarchyView);
|
|
|
|
function synchronized(fn) {
|
|
var fn_mutex = new utils.Mutex();
|
|
return function () {
|
|
var obj = this;
|
|
var args = _.toArray(arguments);
|
|
return fn_mutex.exec(function () {
|
|
if (obj.isDestroyed()) { return $.when(); }
|
|
return fn.apply(obj, args);
|
|
});
|
|
};
|
|
}
|
|
|
|
return HierarchyView;
|
|
|
|
});
|