peuter on develop
Allow direct display of Influx … Manual update Merge pull request #1041 from C… (compare)
dependabot[bot] on npm_and_yarn
peuter on develop
Bump ecstatic from 3.3.0 to 3.3… Merge pull request #1037 from C… (compare)
peuter on develop
Make include widget work again.… Merge pull request #1039 from C… (compare)
AbstractDiagram
von mehreren Parts (aka Plugins) benutzt wird, dann wird das entweder in einen extra Part gepackt oder, wenn es wirklich nur diese einzelne Klasse ist mit in den Boot-Part gepackt, weil der Overhead einen extra Part dafür zu machen und laden zu müssen zu groß wäre. Was mit aber gerade noch einfällt ist, dass ich da mal was gebastelt habe, dass beim Kompilieren diese externen Libraries mit an den generierten Part dranhängt. Der hat also die ganzen Flor-JS-Dateien drangehängt, damit nicht erst der Part für das Plugin und danach noch die ganzen JS-Libs einzeln geladen werden müssen sondern alles in einem Request.So ganz funktioniert das noch nicht.
ControlerInput.js:
...
qx.Class.define('cv.plugins.ControllerInput', {
extend: cv.plugins.diagram.AbstractDiagram, // cv.ui.structure.AbstractWidget,
include: [cv.ui.common.Update, cv.ui.common.Operate],
...
und in der Test-Config
<plugins>
<plugin name="diagram"/>
<plugin name="controllerinput"/>
</plugins>
extend: cv.plugins.diagram.AbstractDiagram
) wirft einen Fehler
<plugin name="diagram"/>
heraus bleibt das Problem gleich - es wird aber nicht mal AbstractDiagram.js
geladen
Uncaught TypeError: Cannot read property 'diagram' of undefined
- aber bevor alles andere in der Konsole kommt?!?
<plugin name="diagram"/>
enthält - auch AbstractDiagram.js
geladen. Allerdings deutlich nach dem ControllerInput.js
. Müsste das wegen der Abhängigkeiten nicht umgedreht passieren?
VM19466 ControllerInput.js:72
ist wieder das extend: cv.plugins.diagram.AbstractDiagram
)
npx qx compile -c --clean --watch
d.h. der Build ist neu.Uncaught TypeError: Cannot read property 'diagram' of undefined
nicht(!) kommt, dann ist das Layout der Configs kaputt. Auch von Konfigs wie der demo-Config die mit der ganzen Änderung nichts zu tun hat.Uncaught TypeError: Cannot read property 'diagram' of undefined
angezeigt wird, dann ist das Layout in Ordnung
Tut mir leid ich kann den Fehler nicht reproduzieren, ich habe alles genauso gemacht wie Du das beschrieben hast und kann beliebige Änderungen am Code machen, dass wird immer korrekt geladen, ich habe einfach die leere Default-Config um das hier erweitert (+ Angabe des Plugins natürlich):
<controllerinput>
<address transform="raw">Test</address>
</controllerinput>
Das lädt jedesmal ohne Fehler. Vielleicht kannst Du mal vergleichen ob es Unterschiede gibt zwischen funktionieren und nicht funktionieren in folgenden Dingen:
"cv.plugins.ControllerInput": {
"mtime": "2020-11-20T05:10:20.667Z",
"libraryName": "cv",
"dependsOn": {
"qx.Class": {
"load": true,
"usage": "dynamic"
},
"cv.plugins.diagram.AbstractDiagram": {
"load": true
},
packages : {
....
"40": {
"uris": [
....
"../transpiled/cv/plugins/diagram/AbstractDiagram.js",
....
],
...
"65": {
"uris": [
"../transpiled/cv/plugins/ControllerInput.js"
]
},
...
]
Und Package 40
ist mit im boot-Part:qx.$$loader = {
parts : {
"boot": [
....
"40",
....
"plugin-controllerinput": [
"65"
],
....
]
Zur Erklärung: Der boot
-Part ist der der zum Start immer geladen wird. Und der wird auch immer zuerst geladen. Vielleicht hilft Dir das irgendwie der Sache auf den Grund zu gehen, denn ich kann es ja wie gesagt nicht nachstellen.@peuter das Thema ist ganz komisch. Um dem etwas näher zu kommen bin ich zurück zu devlop, neuer Branch für Tests erstellt. Dort compiliert, ControllerInput
gibt es nicht. Mit npx qx compile -c --clean --watch
compiliert, die normale Demo-Config geöffnet --- und trotzdem kommt die Fehlermeldung
ControllerInput.js:34 Uncaught TypeError: Cannot read property 'diagram' of undefined
at ControllerInput.js:34
at ControllerInput.js:1
?!?!?!?
compiled
-Verzeichnis liegt zwar eine ./transpiled/cv/plugins/ControllerInput.json
und ./transpiled/cv/plugins/ControllerInput.js
- aber der compilte Rest sollte die doch nicht (mehr) kennen und folglich der Browser auch nicht
--clean
das nicht weg löschen müssen?)
Es wird noch seltsamer: Nun habe ich compiled/source/
geleert, neu compiliert - und die Visu beschwert sich im Browser mit
?config=demo&forceReload=true:72 GET https://timberwolf76.local/proxy/visugit/obiwan/cv/boot.js net::ERR_ABORTED 404
Sie scheint aber trotzdem normal zu funktionieren
Was ich noch entdeckt habe ist im ersten Fall, neben dem Fehler auf der Browser-Konsole
?config=demo&forceReload=true:72 GET https://timberwolf76.local/proxy/visugit/obiwan/cv/boot.js net::ERR_ABORTED 404
erscheint beim Compiler diese Warnung:
Warning: There is no reference to index.js script in the index.html copied from /home/cm/devel/CometVisu/CometVisu/source/boot/index.html (see https://git.io/fh7NI)
Im zweiten Fall ist nicht nur die Meldung im Browser sondern auch die Meldung vom Compiler weg.
Und es ist weiterhin so, dass sich diese beiden Zustände mit jedem Compiler-Lauf abwechseln.
(Da https://git.io/fh7NI nur ein 404 liefert weiß ich nicht was Qx mir da sagen möchte)
npm ci
habe mein NPM mal auf den Lock-Zustand gezwungen. Nun scheint mein Test-Plugin ohne das beschriebene Problem zu funktionieren (zumindest 2x compilieren gab keine Fehlermeldung und auch nicht das Problem mit der resultierenden Breite von 0)