1

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));

アイデア ?

4

0 に答える 0