Asif Shiraz
Asif Shiraz

Reputation: 874

Plugin removes all editor functionality

I'm trying to use CKEditor in my application. I have it all configured correctly, and it looks fine. But when I try to add a plugin, it causes the editor window to loose all functionality and become just a big empty div.

Here is the code of my html page hosting the editor:

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="description" content="">
        <meta name="author" content="">

        <title>Shahmukhi - Reviving Local Languages of Pakistan</title>

        <!-- Bootstrap Core CSS -->
        <link href="/js/bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">

        <!-- MetisMenu CSS -->
        <link href="/js/bower_components/metisMenu/dist/metisMenu.min.css" rel="stylesheet">

        <!-- Timeline CSS -->
        <link href="/js/dist/css/timeline.css" rel="stylesheet">

        <!-- Custom CSS -->
        <link href="/js/dist/css/sb-admin-2.css" rel="stylesheet">

        <!-- Custom Fonts -->
        <link href="/js/bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">


        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
            <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
        <![endif]-->


            <!-- jQuery -->
        <script src="/js/bower_components/jquery/dist/jquery.min.js"></script>

        <!-- Bootstrap Core JavaScript -->
        <script src="/js/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>

        <!-- Metis Menu Plugin JavaScript -->
        <script src="/js/bower_components/metisMenu/dist/metisMenu.min.js"></script>

        <!-- Custom Theme JavaScript -->
        <script src="/js/dist/js/sb-admin-2.js"></script>

        <!-- CKEditor -->
        <script src="//cdn.ckeditor.com/4.4.7/full-all/ckeditor.js"></script>
        <!-- script src="/js/modernizr-2.6.2-respond-1.1.0.min.js"></script-->

      </head>

      <body style="margin: 0px;">

        <div id="wrapper">

            <!-- Navigation -->
            <nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>

                    <a href="#"><img src="/images/phoenix.png" style="width: 364px; height: 50px;" /></a>
                </div>
                <!-- /.navbar-header -->

                <ul class="nav navbar-top-links navbar-right">


                    <li class="dropdown">
                        <a class="dropdown-toggle" data-toggle="dropdown" href="#">
                            <i class="fa fa-bell fa-fw"></i>  <i class="fa fa-caret-down"></i>
                        </a>
                        <ul class="dropdown-menu dropdown-alerts">
                            <li>
                                <a class="text-center" href="#">
                                    <strong>No New Alerts</strong>
                                    <!--<i class="fa fa-angle-right"></i>-->
                                </a>
                            </li>
                        </ul>
                        <!-- /.dropdown-alerts -->
                    </li>
                    <!-- /.dropdown -->
                    <li class="dropdown">
                        <a class="dropdown-toggle" data-toggle="dropdown" href="#">
                            <i class="fa fa-user fa-fw"></i>  <i class="fa fa-caret-down"></i>
                        </a>
                        <ul class="dropdown-menu dropdown-user">
                            <li><a href="#"><i class="fa fa-user fa-fw"></i> User Profile</a>
                            </li>
                            <li><a href="#"><i class="fa fa-gear fa-fw"></i> Settings</a>
                            </li>
                            <li class="divider"></li>
                            <li><a href="login.html"><i class="fa fa-sign-out fa-fw"></i> Logout</a>
                            </li>
                        </ul>
                        <!-- /.dropdown-user -->
                    </li>
                    <!-- /.dropdown -->
                </ul>
                <!-- /.navbar-top-links -->


                <div class="navbar-default sidebar" role="navigation">
                    <div class="sidebar-nav navbar-collapse">
                        <ul class="nav" id="side-menu">
                            <li class="sidebar-search">
                                <div class="input-group custom-search-form">
                                    <input type="text" class="form-control" placeholder="Search...">
                                    <span class="input-group-btn">
                                    <button class="btn btn-default" type="button">
                                        <i class="fa fa-search"></i>
                                    </button>
                                </span>
                                </div>
                                <!-- /input-group -->
                            </li>
                            <li>
                                <a href="index.html"><i class="fa fa-dashboard fa-fw"></i> Home</a>
                            </li>
                            <li>
                                <a href="#"><i class="fa fa-bar-chart-o fa-fw"></i> My Documents<span class="fa arrow"></span></a>
                            </li>
                            <li>
                                <a href="#"><i class="fa fa-bar-chart-o fa-fw"></i> Exports<span class="fa arrow"></span></a>
                                <ul class="nav nav-second-level">
                                    <li>
                                        <a href="flot.html">Facebook</a>
                                    </li>
                                    <li>
                                        <a href="morris.html">PDF</a>
                                    </li>
                                </ul>
                                <!-- /.nav-second-level -->
                            </li>
                            <li>
                                <a href="#"><i class="fa fa-bar-chart-o fa-fw"></i> Settings<span class="fa arrow"></span></a>
                                <ul class="nav nav-second-level">
                                    <li>
                                        <a href="flot.html">Account</a>
                                    </li>
                                    <li>
                                        <a href="flot.html">Google Drive</a>
                                    </li>
                                    <li>
                                        <a href="morris.html">Facebook Account</a>
                                    </li>
                                </ul>
                                <!-- /.nav-second-level -->
                            </li>
                        </ul>
                    </div>
                    <!-- /.sidebar-collapse -->
                </div>
                <!-- /.navbar-static-side -->
            </nav>

            <div id="page-wrapper" style="padding-top: 30px;">

      <textarea name="editor1"></textarea>
      <div id="root"></div>

    <script>
        CKEDITOR.plugins.addExternal( 'urdu', '/ckeditor/plugins/urdu/plugin.js', '' );
        CKEDITOR.replace('editor1', {
          contentsLangDirection: 'rtl',
          contentsCss: ['/fonts/fonts.css', '/dist/css/contents.css'],
          font_names: 'Jameel Noori Nastaleeq; Nafees Pakistani Naskh; Times New Roman;',
          font_defaultLabel: 'Jameel Noori Nastaleeq',
          fontSize_defaultLabel: '18px',
          uiColor: '#F8F8F8',
          height: '350px',
          toolbarGroups: [
                {"name":"basicstyles","groups":["basicstyles"]},
                {"name":"links","groups":["links"]},
                {"name":"paragraph","groups":["list","blocks"]},
                {"name":"document","groups":["mode"]},
                {"name":"insert","groups":["insert"]},
                {"name":"styles","groups":["styles"]}
            ],
          // Remove the redundant buttons from toolbar groups defined above.
          removeButtons: 'Underline,Strike,Subscript,Save,Flash,Superscript,Anchor,Styles,Specialchar',
          plugins: 'urdu'
        });
    </script>

    <script type="text/javascript" src="/dist/js/keyboard-bundle.js"></script>

    </div>
    <!-- /#page-wrapper -->    

        </div>
        <!-- /#wrapper -->

      <iframe src="/phoenix/live_reload/frame" style="display: none;"></iframe>
    </body>
    </html>

and here is the code inside my urdu plugin:

CKEDITOR.plugins.add('urdu',
{
    icons: 'togglelanguage',
    init: function (editor) {
    }
});

With the plugins = 'urdu' line commented out, the page looks fine like this:

Before adding plugin

and after adding the plugin back, it becomes like this:

After adding the plugin

Upvotes: 0

Views: 95

Answers (1)

Anna Tomanek
Anna Tomanek

Reputation: 2239

You confused two configuration options: config.plugins and config.extraPlugins.

As a result, you removed all plugins but urdu from your editor configuration - so the editor is unable to work.

Upvotes: 1

Related Questions