milieuinfo / webcomponent-vl-ui-upload

MIT License
1 stars 0 forks source link

[BUG] - fout met titles tijdens render LitElement #157

Closed driesva closed 3 years ago

driesva commented 3 years ago

Omschrijf het probleem Bij het gebruik van de laatste versie krijg ik volgende fouten in onze testen:

TypeError: Cannot read property 'querySelector' of null
    at HTMLElement.get _slottedTitleElement [as _slottedTitleElement] (vl-upload.src.js:160)
    at HTMLElement._processSlots (vl-upload.src.js:424)
    at HTMLElement.connectedCallback (vl-upload.src.js:68)
    at NodePart.__insert (parts.ts:256)
    at NodePart.__commitNode (parts.ts:264)
    at NodePart.__commitTemplateResult (parts.ts:301)
    at NodePart.commit (parts.ts:241)
    at render (render.ts:51)
    at Function.render (shady-render.ts:276)
    at HTMLElement.update (lit-element.ts:305)

Hoe te reproduceren Component gebruiken in een front-end unit test i.c.m. LitElement

Dit is hoe we de vl-upload hebben gedefinieerd in de render functie:

          <vl-upload id="fileSelector"
                     data-vl-title="Bestand met controles toevoegen"
                     data-vl-sub-title="Sleep het bestand naar hier om toe te voegen"
                     data-vl-accepted-files=".xlsx"
                     data-vl-max-size="1000000"
                     data-vl-max-files="1"
                     data-vl-upload-error-message-accepted-files="Je kan enkel bestanden met een &#39;.xlsx&#39; extensie opladen"
                     data-vl-error-message-filesize="De grootte van het bestand mag maximaal :maxFsz zijn."
                     data-vl-error-message-maxfiles="Je kan maximaal :maxfl bestand uploaden.">
          </vl-upload>

Gewenst gedrag Geen fouten.

Omgeving (gelieve aan te vullen):

Extra info Ik denk dat dit gerelateerd is met de introductie van #148

Als ik slots gebruik, werkt het ook niet:

TypeError: Cannot read property 'querySelector' of null
    at HTMLElement.get _titleElement [as _titleElement] (vl-upload.src.js:156)
    at HTMLElement._processSlots (vl-upload.src.js:422)
    at HTMLElement.connectedCallback (vl-upload.src.js:68)
    at NodePart.__insert (parts.ts:256)
    at NodePart.__commitNode (parts.ts:264)
    at NodePart.__commitTemplateResult (parts.ts:301)
    at NodePart.commit (parts.ts:241)
    at render (render.ts:51)
    at Function.render (shady-render.ts:276)
    at HTMLElement.update (lit-element.ts:305)
coemans commented 3 years ago

Ik kan het probleem in isolatie niet reproduceren en het lijkt me ook niet meteen LitElement gerelateerd te zijn. Overschrijven jullie de DropzoneJS versie op applicatie niveau?

driesva commented 3 years ago

Het had inderdaad waarschijnlijk met die DropzoneJS te maken. In de betreffende test werd destijds mocking geplaatst. Na het weghalen van die code werken de testen terug als voorheen. Bedankt om in de juiste richting te wijzen!