all files / pdfviewer/organize-pdf/organize-core/ organize-contextmenu.js

20.9% Statements 14/67
0% Branches 0/34
9.09% Functions 1/11
20.9% Lines 14/67
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111                                                                                                                                                                                                  
define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-navigations", "./organize-importaction", "./organizepages-editor"], function (require, exports, ej2_base_1, ej2_navigations_1, organize_importaction_1, organizepages_editor_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    function createMobileContextMenu() {
        this.mobileContextMenu = [
            { text: this.pdfViewer.localeObj.getConstant('Save'), iconCss: 'e-icons e-pv-save-icon e-pv-icon' },
            { text: this.pdfViewer.localeObj.getConstant('Save As'), iconCss: 'e-icons e-pv-save-as-icon e-pv-icon' },
            {
                separator: true
            },
            { text: this.pdfViewer.localeObj.getConstant('Copy'), iconCss: 'e-pv-copy-icon e-pv-icon' },
            {
                separator: true
            },
            { text: this.pdfViewer.localeObj.getConstant('Import Document'), id: this.pdfViewer.element.id + '_import_pages', iconCss: 'e-pv-import-icon e-pv-icon' }
        ];
        var contextMenuElement = ej2_base_1.createElement('ul', { id: this.pdfViewer.element.id + '_organize_context_menu' });
        this.pdfViewer.element.appendChild(contextMenuElement);
        if (ej2_base_1.isNullOrUndefined(this.contextMenuObj)) {
            this.contextMenuObj = new ej2_navigations_1.ContextMenu({
                target: '#' + this.pdfViewer.element.id + '_organize_more_button', items: this.mobileContextMenu,
                beforeOpen: contextMenuBeforeOpen.bind(this),
                select: contextMenuItemSelect.bind(this)
            });
            if (this.pdfViewer.enableRtl) {
                this.contextMenuObj.enableRtl = true;
            }
            this.contextMenuObj.appendTo(contextMenuElement);
        }
        if (ej2_base_1.Browser.isDevice && !this.pdfViewer.enableDesktopMode) {
            this.contextMenuObj.animationSettings.effect = 'ZoomIn';
        }
        else {
            this.contextMenuObj.animationSettings.effect = 'SlideDown';
        }
    }
    exports.createMobileContextMenu = createMobileContextMenu;
    function contextMenuBeforeOpen(args) {
        this.contextMenuObj.enableItems(['Save', 'Save As'], true);
        this.contextMenuObj.enableItems(['Copy'], false);
        this.contextMenuObj.enableItems(['Import Document'], false);
        var isCopyDisabled = false;
        var isCopyRotateDisabled = false;
        if ((this.selectAllCheckBox.checked || this.selectAllCheckBox.indeterminate) &&
            this.pdfViewer.pageOrganizerSettings.canCopy && !getCopiedItems.call(this, isCopyDisabled) &&
            !getImportedItems.call(this, isCopyRotateDisabled)) {
            this.contextMenuObj.enableItems(['Copy'], true);
        }
        if (this.pdfViewer.pageOrganizerSettings.canImport) {
            this.contextMenuObj.enableItems(['Import Document'], true);
        }
    }
    exports.contextMenuBeforeOpen = contextMenuBeforeOpen;
    function getCopiedItems(isCopyDisabled) {
        var _this = this;
        var selectedNodes = this.tileAreaDiv.querySelectorAll('.e-pv-organize-node-selection-ring');
        selectedNodes.forEach(function (selectedElements) {
            var mainTileElement = selectedElements.closest('.e-pv-organize-anchor-node');
            var pageOrder = parseInt(mainTileElement.getAttribute('data-page-order'), 10);
            var currentPageDetails = _this.tempOrganizePagesCollection.
                find(function (item) { return item.currentPageIndex === pageOrder; });
            if (currentPageDetails.isInserted && !currentPageDetails.isDeleted) {
                isCopyDisabled = true;
            }
        });
        return isCopyDisabled;
    }
    exports.getCopiedItems = getCopiedItems;
    function getImportedItems(isCopyRotateDisabled) {
        var _this = this;
        var selectedNodes = this.tileAreaDiv.querySelectorAll('.e-pv-organize-node-selection-ring');
        selectedNodes.forEach(function (selectedElements) {
            var mainTileElement = selectedElements.closest('.e-pv-organize-anchor-node');
            var pageOrder = parseInt(mainTileElement.getAttribute('data-page-order'), 10);
            var currentPageDetails = _this.tempOrganizePagesCollection.
                find(function (item) { return item.currentPageIndex === pageOrder; });
            if (currentPageDetails.isImportedDoc && !currentPageDetails.isDeleted) {
                isCopyRotateDisabled = true;
            }
        });
        return isCopyRotateDisabled;
    }
    exports.getImportedItems = getImportedItems;
    function contextMenuItemSelect(args) {
        switch (args.item.text) {
            case 'Save':
                this.onSaveClicked();
                break;
            case 'Save As':
                this.onSaveasClicked();
                break;
            case 'Copy':
                organizepages_editor_1.onToolbarCopyButtonClick.call(this);
                break;
            case 'Import Document':
                organize_importaction_1.bindImportDocEvent.call(this);
                break;
            default:
                break;
        }
    }
    exports.contextMenuItemSelect = contextMenuItemSelect;
    function openContextMenu(event) {
        var contextMenu = document.getElementById(this.pdfViewer.element.id + '_organize_context_menu');
        if (!ej2_base_1.isNullOrUndefined(contextMenu) && contextMenu.style.display !== 'block') {
            this.contextMenuObj.open(event.originalEvent.clientY, event.originalEvent.clientX, event.originalEvent.currentTarget);
        }
    }
    exports.openContextMenu = openContextMenu;
});