No, probabilmente il problema è quello, faccio la loadrequirements quando istanzio il componente ma la realize la fa per conto suo, penso chiamata da InDe.
Tieni conto che questo componente era nato ancora prima dei custom components e poi è stato adattato ed evoluto, quindi probabilmente ci siamo portati dietro una logica che non va proprio bene, anche se funziona correttamente.
- Code: Select all
function SyncfusionSchedulerWrapper(owner)
{
// Chiama il costruttore base
CustomElement.call(this, owner);
//
// Inizializzo proprietà di appoggio del wrapper.
// Verranno utilizzate nel Realize per inizializzare le proprietà dell'oggetto scheduler
// non accessibili lato server.
this._height = '100%';
this._width = '100%';
this._views = ['Day', 'Week', 'WorkWeek', 'Month', 'Agenda', 'MonthAgenda', 'TimelineDay', 'TimelineWeek', 'TimelineWorkWeek', 'TimelineMonth'];
this._rowAutoHeight = true;
...
// Definisco l'estensione della classe per RD3
SyncfusionSchedulerWrapper.prototype = new CustomElement();
//
// Carico dipendenze/CSS
// 20241025 - Daniele: dalla versione 24.0 vanno chiamate in modo ritardato, basta anche di poco.
setTimeout(() => {
CustomElement.LoadRequirements("ej2-js-es5/material.css", "CSS");
CustomElement.LoadRequirements("ej2-js-es5/ej2.min.js", "JS");
}, 50);
SyncfusionSchedulerWrapper.prototype.Realize = function (parent, cls)
{
// Creo il mio oggetto DOM
this.schedulerBox = document.createElement("DIV");
//
// Aggiungo il mio oggetto al DOM
parent.appendChild(this.schedulerBox);
//
// Protezione per ricaricamento pagina
if (typeof ej == "undefined") {
this.schedulerBox.appendChild(CreateErrorMessage('Attenzione: errore inizializzazione componente, chiudere e riaprire la videata.'));
return;
}
//
var pthis = this;
//
// Chiamo il metodo base
CustomElement.prototype.Realize.call(this, parent, cls);
var _isViewChanged = false;
// Create and show the scheduler
this.scheduleObj = new ej.schedule.Schedule({
height: this._height,
width: this._width,
views: this._views,
...