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

Missing onRestore for CKEditor on tabbox accordion specifically

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: 8.6.2
    • Fix Version/s: 8.6.3
    • Component/s: None
    • Security Level: Jimmy
    • Labels:
      None
    • gh.sprint.customfield.default.name:
      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

              • Assignee:
                Leon03 Leon03
                Reporter:
                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