New List element content options not shown - now cannot delete list

Bauer

Well-Known Member
I tried adding a new list today and when it came to the follow-up screen that asks for the included content elements, 'Default' is shown on the left - but the list of options on the right does not show. The ajax spinner showed there and just kept spinning.

I clicked Save anyhow, despite the spinner - thinking the 'Default' elements would be added.

Then when I went to look at the elements in the new list, the list of elements was empty.
So I tried adding the internalid but got a message that the element already existed. (Well where is it then?)

OK, So I decided to just delete that new list. When I went to do that I got all sorts of errors in the javascript console. (See attachment)

So now what?
 

Attachments

  • deleteList.png
    deleteList.png
    53.3 KB · Views: 109
Last edited:
Did you look at the response to the AJAX call in dev tools when you got the Spinner of Death? Whenever you get a spinner that doesn't go away after an AJAX call, it almost always means there was a PHP warning of some sort tossed into the JSON response that blew the JSON decoding up.

I don't get that problem, the preview of the types shows fine, so I suspect it's a PHP7 issue.

And I still don't have a PHP7 box to play with. Once Rob gets back and I have a little breathing space, I'm going to set up a couple more test VM's and run 7 of them.

-- hugh
 
I had to add another table today and had the same issue when creating via a Fabrik List.

This time I looked for any console error, but there was none. However there were multiple errors in the php error log with the same to-the-second timestamp - starting with this...
Backtrace from warning 'Undefined index: ' at /home/public_html/components/com_fabrik/models/group.php 367

So I changed the code at line 367 from this
PHP:
$this->elements = @$allGroups[$this->getId()]->elements;
to this
PHP:
                $thisId = $this->getId();
                if(!empty($thisId)){
                    $this->elements = $allGroups[$thisId]->elements;
                }
That got me past the error and showed some results on the screen (The ACL validation check and the date_time below the spinner) - but the spinner still stayed visible.
(see attachment)

I saved at that point anyhow, and all was well.:)

It sounds like another php7 thing. It looks like php7 is much more sensitive to php errors during ajax calls - even though I have error reporting set to system default.
 

Attachments

  • addElement.png
    addElement.png
    38.5 KB · Views: 94
Last edited:
Back
Top