fullcalendar 2.xでスケジュールを管理する schedule du manage という名前の新しい view_type を作成しようとして います。
/*---------------------------------------------------------
* OpenERP web_schedule
*---------------------------------------------------------*/
odoo.define('web_schedule.ScheduleView', function (require) {
"use strict";
var core = require('web.core');
var data = require('web.data');
var form_common = require('web.form_common');
var formats = require('web.formats');
var Model = require('web.DataModel');
var time = require('web.time');
var utils = require('web.utils');
var View = require('web.View');
var local_storage = require('web.local_storage');
var CompoundDomain = data.CompoundDomain;
var _t = core._t;
var _lt = core._lt;
var QWeb = core.qweb;
function is_virtual_id(id) {
return typeof id === "string" && id.indexOf('-') >= 0;
}
function isNullOrUndef(value) {
return _.isUndefined(value) || _.isNull(value);
}
var ScheduleView = View.extend({
template: "ScheduleView",
display_name: _lt('Schedule'),
icon: 'fa-calendar',
init: function() {
this._super.apply(this, arguments);
this.shown = $.Deferred();
},
start: function() {
console.log('start');
this.$schedule = this.$el.find("#schedule");
this.shown.done(this._do_show_init.bind(this));
return this._super();
},
_do_show_init: function () {
console.log('_do_show_init')
this.init_calendar().then(function() {
$(window).trigger('resize');
});
},
init_calendar: function() {
console.log('init calendar')
var defs = [];
this.$schedule.fullCalendar(this.get_fc_init_options());
return $.when.apply($, defs);
},
get_fc_init_options: function () {
console.log('get_fc_init_options')
},
});
core.view_registry.add('schedule', ScheduleView);
return ScheduleView;
});
このコードは、Odoo カレンダーを管理するためのコア モジュールであるweb_calendar.jsを改造したものです。私のビューが呼び出されました.localtimeとmoment.jsの減価償却の警告を除いて、コンソールにエラーはありませんが、何も機能しません。私のコードはを返すだけでconsole.log('start');
、決して行かない this.shown.done(this._do_show_init.bind(this));
アイデア ?