Skip to content

Adding new selection #300

Closed
Closed
@ghost

Description

Hi @ipeychev ,
I tried by adding a new selection, but it seems not work, the toolbar for new selection does not appear

HTML code in the editor's content

<figure>
    <iframe width="560" height="315" src="https://www.youtube.com/embed/jeWYdbi5CbM" frameborder="0" allowfullscreen></iframe>
    <div class="iframe-block"></div>
</figure>

in 'alloy-editor-all.js'

(function () {
    'use strict';

    var figureSelectionTest = function figureSelectionTest(payload) {
        var selectionData = payload.data.selectionData;

        return selectionData.element && selectionData.element.getName() === 'figure';
    };

    var linkSelectionTest = function linkSelectionTest(payload) {
        var nativeEditor = payload.editor.get('nativeEditor');

        return !nativeEditor.isSelectionEmpty() && new CKEDITOR.Link(nativeEditor).getFromSelection();
    };

    var imageSelectionTest = function imageSelectionTest(payload) {
        var selectionData = payload.data.selectionData;

        return selectionData.element && selectionData.element.getName() === 'img';
    };

    var textSelectionTest = function textSelectionTest(payload) {
        var nativeEditor = payload.editor.get('nativeEditor');

        var selectionEmpty = nativeEditor.isSelectionEmpty();

        var selectionData = payload.data.selectionData;

        return !selectionData.element && selectionData.region && !selectionEmpty;
    };

    var tableSelectionTest = function tableSelectionTest(payload) {
        var nativeEditor = payload.editor.get('nativeEditor');

        return !!new CKEDITOR.Table(nativeEditor).getFromSelection();
    };

    AlloyEditor.SelectionTest = {
        image: imageSelectionTest,
        link: linkSelectionTest,
        table: tableSelectionTest,
        text: textSelectionTest,
        figure: figureSelectionTest
    };
})();
'use strict';

invoke the static editable method of AlloyEditor

var advanced_toolbars = {
                add: {
                    buttons: ['images', 'attchments', 'embed', 'hline', 'table'],
                    tabIndex: 2
                },
                styles: {
                    selections: [
                       {
                            name: 'figure',
                            buttons: ['figureLeft', 'figureFull', 'figureRight'],
                            test: AlloyEditor.SelectionTest.figure
                        }, {
                            name: 'link',
                            buttons: ['linkEdit'],
                            test: AlloyEditor.SelectionTest.link
                        }, {
                            name: 'image',
                            buttons: ['imageLeft', 'imageCenter', 'imageRight'],
                            test: AlloyEditor.SelectionTest.image
                        }, {
                            name: 'text',
                            buttons: ['styles', 'bold', 'italic', 'underline', 'strike', 'quote', 'ol', 'ul', 'link', 'paragraphLeft', 'paragraphRight', 'paragraphCenter', 'paragraphJustify', 'removeFormat'],
                            test: AlloyEditor.SelectionTest.text
                        }, {
                            name: 'table',
                            buttons: [{
                                name: 'styles',
                                cfg: {
                                    styles: tableStyles
                                }
                            },'tableHeading', 'tableRow', 'tableColumn', 'tableCell', 'tableRemove'],
                            getArrowBoxClasses: AlloyEditor.SelectionGetArrowBoxClasses.table,
                            setPosition: AlloyEditor.SelectionSetPosition.table,
                            test: AlloyEditor.SelectionTest.table
                        }
                    ],
                    tabIndex: 1
                }
            };
var editor = AlloyEditor.editable('content-body-{{ content.id }}', {
    toolbars: advanced_toolbars
 });

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions