all files / document-editor-container/ribbon/view-tab/ views-group.js

95.35% Statements 41/43
100% Branches 14/14
93.75% Functions 15/16
95% Lines 38/40
11 statements, 6 functions, 9 branches Ignored     
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          14×   14×                                                                                                                   55× 55×   55× 55×   57× 57× 57× 57×        
/* istanbul ignore next */ 
var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
define(["require", "exports", "../ribbon-interfaces", "../ribbon-constants", "../../helper/ribbon-helper"], function (require, exports, ribbon_interfaces_1, ribbon_constants_1, ribbon_helper_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var ViewsGroup = (function (_super) {
        __extends(ViewsGroup, _super);
        function ViewsGroup() {
            return _super !== null && _super.apply(this, arguments) || this;
        }
        ViewsGroup.prototype.getGroupModel = function () {
            return {
                header: this.localObj.getConstant(ribbon_constants_1.RibbonConstants.VIEWS_GROUP_HEADER),
                groupIconCss: ribbon_constants_1.RibbonConstants.VIEW_GROUP_ICON_CSS,
                orientation: 'Row',
                enableGroupOverflow: true,
                overflowHeader: this.localObj.getConstant(ribbon_constants_1.RibbonConstants.VIEWS_GROUP_HEADER),
                collections: [
                    {
                        items: [
                            {
                                type: 'Button',
                                keyTip: 'F',
                                buttonSettings: {
                                    content: this.localObj.getConstant('Read Only'),
                                    iconCss: 'e-icons e-de-ctnr-reading-view',
                                    clicked: this.readOnlyHandler.bind(this)
                                },
                                id: this.ribbonId + ribbon_constants_1.RibbonConstants.READ_ONLY_BUTTON_ID,
                                ribbonTooltipSettings: {
                                    content: this.localObj.getConstant('Toggle document to read only mode')
                                }
                            },
                            {
                                type: 'Button',
                                keyTip: 'P',
                                buttonSettings: {
                                    content: this.localObj.getConstant('Print Layout'),
                                    iconCss: ribbon_constants_1.RibbonConstants.PRINT_LAYOUT_ICON_CSS,
                                    clicked: this.printLayoutHandler.bind(this)
                                },
                                id: this.ribbonId + ribbon_constants_1.RibbonConstants.PRINT_LAYOUT_BUTTON_ID,
                                ribbonTooltipSettings: {
                                    content: this.localObj.getConstant('Print layout')
                                }
                            },
                            {
                                type: 'Button',
                                keyTip: 'L1',
                                buttonSettings: {
                                    content: this.localObj.getConstant('Web Layout'),
                                    iconCss: ribbon_constants_1.RibbonConstants.WEB_LAYOUT_ICON_CSS,
                                    clicked: this.webLayoutHandler.bind(this)
                                },
                                id: this.ribbonId + ribbon_constants_1.RibbonConstants.WEB_LAYOUT_BUTTON_ID,
                                ribbonTooltipSettings: {
                                    content: this.localObj.getConstant('Web layout')
                                }
                            }
                        ]
                    }
                ]
            };
        };
        ViewsGroup.prototype.printLayoutHandler = function () {
            this.documentEditor.layoutType = 'Pages';
            this.toggleLayoutButton();
        };
        ViewsGroup.prototype.webLayoutHandler = function () {
            this.documentEditor.layoutType = 'Continuous';
            this.toggleLayoutButton();
        };
        ViewsGroup.prototype.readOnlyHandler = function () {
            this.container.restrictEditing = !this.container.restrictEditing;
            this.toggleReadOnlyButton();
        };
        ViewsGroup.prototype.updateSelection = function () {
            this.toggleLayoutButton();
            this.toggleReadOnlyButton();
        };
        ViewsGroup.prototype.toggleReadOnlyButton = function () {
            var ribbon = this.container.ribbon.ribbon;
            ribbon_helper_1.RibbonHelper.updateToggleButtonState(ribbon, this.ribbonId + ribbon_constants_1.RibbonConstants.READ_ONLY_BUTTON_ID, this.container.restrictEditing);
        };
        ViewsGroup.prototype.toggleLayoutButton = function () {
            var ribbonObj = this.container.ribbon.ribbon;
            var isPageLayout = this.documentEditor.layoutType === 'Pages';
            ribbon_helper_1.RibbonHelper.updateToggleButtonState(ribbonObj, this.ribbonId + ribbon_constants_1.RibbonConstants.PRINT_LAYOUT_BUTTON_ID, isPageLayout);
            ribbon_helper_1.RibbonHelper.updateToggleButtonState(ribbonObj, this.ribbonId + ribbon_constants_1.RibbonConstants.WEB_LAYOUT_BUTTON_ID, !isPageLayout);
        };
        return ViewsGroup;
    }(ribbon_interfaces_1.RibbonGroupBase));
    exports.ViewsGroup = ViewsGroup;
});