Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-4360

Missing onRestore for CKEditor on tabbox accordion specifically

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Normal
    • 8.6.3
    • 8.6.2
    • None
    • Security Level: Jimmy
    • None
    • ZK 8.6.3 S1

    Description

      Steps to Reproduce

      Run fiddle:

      http://zkfiddle.org/sample/pfs5uo/5-ckeditor-tabbox

      Click in the editor > Editor is initialized properly, selection happen.

      Click on 2nd tab (content), then click in editor

      Current Result

      Cannot click in editor (editor hasn't initialized, didn't render the editable node)

      Expected Result

      Editor should receive an onRestore event after accordion animation specifically (not other animations). to let it initialize.

      Debug Info

      Root Cause

      Workaround

      <script><![CDATA[
      zk.afterLoad('zul.tab', function() {
       var xTabpanel = {};
       zk.override(zul.tab.Tabpanel.prototype, xTabpanel ,{
       _sel: function (toSel, animation) { //don't rename (zkmax counts on it)!!
       var tabbox = this.getTabbox();
       if (!tabbox) return; //Bug ZK-1808 removed tabpanel is no longer in hierarchy, and cannot be removed
       var accd = tabbox.inAccordionMold();
       
       if (accd && animation) {
       var zkp = zk(this.$n('cave'));
       if (toSel) {
       /* ZK-1441
       * When a tabpanel is animating, set tabbox.animating
       * to block other tabpanels enter _sel().
       * Reference: _sel() in Tab.js
       */
       tabbox._animating = true;
       zkp.slideDown(
       this,
       {'afterAnima': function () {delete tabbox._animating;zWatch.fire('onRestore', null);}}
       );
       } else {
       zkp.slideUp(this);
       }
       } else {
       var $pl = jq(accd ? this.$n('cave') : this.$n()),
       vis = $pl.zk.isVisible();
       if (toSel) {
       if (!vis) {
       $pl.show();
       // Bug ZK-1454: Scrollbar forgets its position when switching tabs in Tabbox
       if (zk.ie8 || zk.webkit)
       $pl.scrollTop(this._lastScrollTop);
       zUtl.fireShown(this);
       }
       } else if (vis) {
       zWatch.fireDown('onHide', this);
       // Bug ZK-1454: Scrollbar forgets its position when switching tabs in Tabbox
       if (zk.ie8 || zk.webkit)
       this._lastScrollTop = $pl.scrollTop();
       $pl.hide();
       }
       }
       }
       });//zk.override
      });//zk.afterLoad
      ]]></script>

       

      Attachments

        Issue Links

          Activity

            People

              Leon03 Leon03
              MDuchemin MDuchemin
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 1 day
                  1d
                  Remaining:
                  Time Spent - 6 hours Remaining Estimate - 2 hours
                  2h
                  Logged:
                  Time Spent - 6 hours Remaining Estimate - 2 hours
                  6h