Performed fresh installation of 8.0.0-beta1 using "Minimal" profile and logged in as super user.

Quick Edit module and prerequisite modules installed. Created Content Type 'Basic Page' and added a new node.

On node view page: hovering over 'Body' text causes the contextual links "pen" icon to appear as expected. However, the contextual menu does not include 'Quick Edit' for inline editing.

Comments

slawrence10’s picture

Issue summary: View changes
wim leers’s picture

Category: Bug report » Support request
Status: Active » Postponed (maintainer needs more info)

Do you see any JavaScript errors in the console? Do other contextual links work?

Kyna’s picture

Similar problem after the installation of a custom theme.

detailed error: DrupalBehaviorError: attach ; quickedit: entityElement.get(...) is undefined
DrupalBehaviorError.prototype = new Error();

wim leers’s picture

#3: That's possible if your theme is stripping or omitting certain things, see http://cgit.drupalcode.org/quickedit/tree/README.txt?id=feb4c9dd43edfe34... and please report back.

Kyna’s picture

Hello, and thanks for the link Wim Leers.

You can see my current work here :
http://i.imgur.com/joGSaVd.jpg

The title "h1" is displayed after my breadcrumb block inside a custom .html.twig file :

<div class="breadcrumb-wrapper">
  <div class="container">
    <div class="row">  
      {{ breadcrumb }} {# block customized in breadcrumb.html.twig #}
      <div class="col-md-12"><h1 id="page-title" class="title">{{ title_prefix }}{{ title }}{{ title_suffix }}</h1></div>
    </div>
  </div>
</div>
Kyna’s picture

And if I look the JS, we have this line :
entityElement.getAttribute('data-quickedit-entity-id');

The error :
detailed error: DrupalBehaviorError: attach ; quickedit: entityElement.get(...) is undefined

The "data-quickedit-entity-id" attribute is defined inside the node.html.twig template with the {{ attributes.addClass(classes) }} variable, but I don't have defined/overwrite this template, I have only custom page.html.twig, you can see this parameters inside my final html here :

http://i.imgur.com/BcU3n7E.png

Edit: I have this JS problem on all my pages, and on my contact page (page without customizable node).

Kyna’s picture

Status: Postponed (maintainer needs more info) » Needs review
wim leers’s picture

Status: Needs review » Postponed (maintainer needs more info)

The "data-quickedit-entity-id" attribute is defined inside the node.html.twig template with the {{ attributes.addClass(classes) }} variable,

Wait, what? Are you hardcoding this attribute in your Twig templates? You must not do that, the Quick Edit module will do that for you automatically.

We could resolve this very, very quickly if you could give me access to your site (or alternatively: send me the code of your theme). Contact me via my drupal.org contact page if it's not a public site.

Kyna’s picture

Duplicate

Kyna’s picture

Thanks, My complete Layout :

<div id="page-wrapper" {% block page_wrapper_extra_attr %}{% endblock page_wrapper_extra_attr %}><div id="page" {% block page_extra_attr %}{% endblock page_extra_attr %}>

  {% block page %}
          <br>

    {% block page_header %}
      <header id="header" class="ab-parallax" parallax-xpos="50%" parallax-ypos="0" parallax-speed="0.5"><div>
        <div class="container">
          <div class="row"><div class="col-md-12">
            <h1 class="siteName animated fadeIn">{{ site_name }}</h1>
            <h2 class="siteSlogan animated fadeIn">{{ site_slogan }}</h2>
            <div class="fa fa-sun-o"></div>
            <div>
              <input type="text" class="form-control" placeholder="Search for all site content">
            </div>
          </div></div>
        </div>
      </header>


      {# work in progress #}


    {% endblock page_header %}

    {% block breadcrumb %}
      {% include "@bootstrap/snippet/breadcrumb.html.twig" %}
    {% endblock breadcrumb %}

    <div class="container" id="pageMiddleColumn">
      <div class="row">
        {% block sidebar_first %}
            {% if page.sidebar_first %}
              <aside id="sidebar-first" class="col-md-3 sidebar">
                {{ page.sidebar_first }}
              </aside> <!-- /#sidebar-first -->
            {% endif %}
        {% endblock sidebar_first %}

        {% block node_content_area %}

          {# change with of middle column if sidebar(s) is not empty #}
          {% if page.sidebar_first is empty and page.sidebar_second is empty %}
            {% set middle_container_width = 12 %}
          {% elseif (page.sidebar_first is empty and page.sidebar_second is not empty) or (page.sidebar_first is not empty and page.sidebar_second is empty) %}
            {% set middle_container_width = 9 %}
          {% else %}
            {% set middle_container_width = 6 %}
          {% endif %}

          <div id="content-wrapper" class="col-md-{{ middle_container_width }}">

            {% if messages and messages is not empty %}
              <div id="messages">
                {{ messages }}
              </div> <!-- /#messages -->
            {% endif %}

            {% if page.featured %}
              <div id="featured">
                  {{ page.featured }}
              </div> <!-- /#featured -->
            {% endif %}

            <main id="content" role="main"><section>

              {% if page.highlighted %}<div id="highlighted">{{ page.highlighted }}</div>{% endif %}
                {% if tabs %}
                  <nav class="tabs" role="navigation" aria-label="{{ 'Tabs'|t }}">
                    {{ tabs }}
                  </nav> <!-- /.tabs -->
                {% endif %}
              {{ page.help }}
                {% if action_links %}
                  <ul class="action-links">
                    {{ action_links }}
                  </ul> <!-- /.action-links -->
                {% endif %}
              {{ page.content }}
              {{ feed_icons }}
            </section></main> <!-- /section, /#content -->

            {% if page.after_content %}
              <hr>
              {{ page.after_content }}
            {% endif %}

          </div> <!-- /.col-md-x -->
        {% endblock node_content_area %}

        {% block sidebar_second %}
          {% if page.sidebar_second %}
            <aside id="sidebar-second" class="col-md-3 sidebar">
              {{ page.sidebar_second }}
            </aside> <!-- /#sidebar-second -->
          {% endif %}
        {% endblock sidebar_second %}

      </div> <!-- /.row -->

      {% if page.after_content_and_sidebar %}
        <hr>
        {{ page.after_content_and_sidebar }}
      {% endif %}

    </div> <!-- /.container -->

    {% if page.triptych_before %}
      <div id="triptych-before-wrapper"><div id="triptych-before" class="container"><div class="row">
          {{ page.triptych_before }}
      </div></div></div> <!-- /.row /#triptych-before, /#triptych-before-wrapper -->

    {% endif %}
    {% if page.triptych_top or page.triptych_first or page.triptych_middle or page.triptych_last or page.triptych_bottom %}
      <div id="triptych-wrapper"><aside id="triptych" class="container"><div class="row animated">
          <div id="triptych-top" class="col-md-12">
            {{ page.triptych_top }}
          </div> <!-- /.col-md-12 -->
          <div id="triptych-first-column" class="col-md-3">
            {{ page.triptych_first }}
          </div> <!-- /.col-md-4 -->
          <div id="triptych-middle-column" class="col-md-6">
            {{ page.triptych_middle }}
          </div> <!-- /.col-md-4 -->
          <div id="triptych-last-column" class="col-md-3">
            {{ page.triptych_last }}
          </div ><!-- /.col-md-4 -->
          <div id="triptych-bottom" class="col-md-12">
            {{ page.triptych_bottom }}
          </div> <!-- /.col-md-12 -->
      </div></aside></div> <!-- /.row, /#triptych, /#triptych-wrapper -->
    {% endif %}
    {% if page.triptych_after %}
      <div id="triptych-after-wrapper"><div id="triptych-after" class="container"><div class="row">
          {{ page.triptych_after }}
      </div></div></div> <!-- /.row /#triptych-after, /#triptych-after-wrapper -->
    {% endif %}



	<style>
		.animated {
			opacity: 0;
		}
	</style>

	<script>

		jQuery(document).ready(function(){
		    jQuery(document).on('scroll', function(){
		        jQuery('.animated').each(function(){
		            if(scrollInView(jQuery(this))){
		                jQuery(this).addClass('flipInX').css('opacity', '1');
		            }
		        });

			});
		});

    function scrollInView(item)
    {
        var docViewTop = jQuery(window).scrollTop();
        var docViewBottom = docViewTop + jQuery(window).height();

        var top = jQuery(item).offset().top;
        var bottom = top + jQuery(item).height();

        return ((bottom <= docViewBottom) && (top >= docViewTop));
    }

	</script>





    {% block footer %}
      {% include "@bootstrap/snippet/footer.html.twig" %}
    {% endblock footer %}

  {% endblock page %}

</div></div> <!-- /#page, /#page-wrapper -->
Kyna’s picture

Status: Postponed (maintainer needs more info) » Needs review
wim leers’s picture

Status: Needs review » Postponed (maintainer needs more info)

That's your page.html.twig. Is that the only template you're overriding? Because it generally doesn't matter what you do there; it doesn't affect Quick Edit.

Except if the title field is the problem. The page.html.twig template should be printing the title, but it's not doing that for you.

Kyna’s picture

I have :

page.html.twig :
{% extends "@bootstrap/layout/layout.html.twig" %}

layout.html.twig :

{# ... #}
{% block breadcrumb %}
    {% include "@bootstrap/snippet/breadcrumb.html.twig" %}
{% endblock breadcrumb %}
{# ... #}

My page title is inside my breadcrumb.html.twig.

breadcrumb.html.twig :

<div class="breadcrumb-wrapper">
  <div class="container">
    <div class="row">  
      {{ breadcrumb }}
      <div class="col-md-12"><h1 id="page-title" class="title">{{ title_prefix }}{{ title }}{{ title_suffix }}</h1></div>
    </div>
  </div>
</div>

The title/breadcrumb is displayed on all my pages/articles/etc.

You can see my Title/Breadcrumb area here : http://i.imgur.com/joGSaVd.jpg

The breadcrumb is not displayed here because bug in DRupal 8 at the moment.
You can see my complete layout code inside my previous message.

Else I have this errors displayed by drupal on my design on all node/article in my design :
User error: "text" is an invalid render array key in Drupal\Core\Render\Element::children() (line 93 of core/lib/Drupal/Core/Render/Element.php).
User error: "text" is an invalid render array key in Drupal\Core\Render\Element::children() (line 93 of core/lib/Drupal/Core/Render/Element.php).

The two errors is displayed twice by page on message area and inside "/admin/reports/dblog".
Drupal say : Type of error : PHP.

Kyna’s picture

Status: Postponed (maintainer needs more info) » Needs review
wim leers’s picture

I said:

We could resolve this very, very quickly if you could give me access to your site (or alternatively: send me the code of your theme). Contact me via my drupal.org contact page if it's not a public site.

But I'm afraid these templates don't help me; they look fine. Could you give me access to the site, so I can debug it?

Kyna’s picture

I create a online version today :)

Kyna’s picture

It's done :

--

An article : http://aquaflora.fr/node/1
A node : http://aquaflora.fr/node/8

Errors displayed after title and breadcrumb.

And on Homepage, when I hover the header or footer, the drupal icon for "edit view" is displayed, it's an error I think.

ps: Drupal 8 don't load jquery for visitors ?

Thank you :)

wim leers’s picture

Thanks! Now I managed to reproduce and track down the problem :)

The problem you're seeing is a duplicate of #2284917: In-place editing of custom blocks broken *again* (because attributes and contextual links of custom blocks are lost). Apply that patch and it'll be fixed. Please try that patch, that patch will be committed before 8.0.0 ships of course.

Kyna’s picture

Nice! But how I can apply a patch please ? This patch by example : https://www.drupal.org/files/issues/block_content_in_place_editing-22849...

I see many files inside the issue of your link, but I don't understand how it works, it's my first time with Drupal Patch.

Thank you :)