oca-ocb-vertical-industry/odoo-bringout-oca-ocb-lunch/lunch/static/src/views/kanban.js
Ernad Husremovic 825ff6514e 19.0 vanilla
2026-03-09 09:32:43 +01:00

53 lines
1.6 KiB
JavaScript

import { registry } from '@web/core/registry';
import { kanbanView } from '@web/views/kanban/kanban_view';
import { KanbanRecord } from '@web/views/kanban/kanban_record';
import { KanbanRenderer } from '@web/views/kanban/kanban_renderer';
import { KanbanController } from '@web/views/kanban/kanban_controller';
import { LunchDashboard } from '../components/lunch_dashboard';
import { LunchRendererMixin } from '../mixins/lunch_renderer_mixin';
import { LunchSearchModel } from './search_model';
import { LunchSearchPanel } from './search_panel';
export class LunchKanbanRecord extends KanbanRecord {
onGlobalClick(ev) {
this.env.bus.trigger('lunch_open_order', {productId: this.props.record.resId});
}
}
export class LunchKanbanRenderer extends LunchRendererMixin(KanbanRenderer) {
static template = "lunch.KanbanRenderer";
static components = {
...LunchKanbanRenderer.components,
LunchDashboard,
KanbanRecord: LunchKanbanRecord,
};
getGroupsOrRecords() {
const { locationId } = this.env.searchModel.lunchState;
if (!locationId) {
return [];
} else {
return super.getGroupsOrRecords(...arguments);
}
}
}
class LunchKanbanController extends KanbanController {
get modelOptions() {
return {
...super.modelOptions,
lazy: false,
};
}
}
registry.category('views').add('lunch_kanban', {
...kanbanView,
Controller: LunchKanbanController,
Renderer: LunchKanbanRenderer,
SearchModel: LunchSearchModel,
SearchPanel: LunchSearchPanel,
});