all files / export/ pdf-event-marker.js

100% Statements 72/72
93.55% Branches 58/62
100% Functions 5/5
100% Lines 72/72
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   150× 150×   911× 911× 911× 911×   15×   911× 911× 895×   911× 911× 911× 911× 400× 400× 400×   400× 400×   400× 400× 398×   400× 400×   400× 400× 400×     400×   400× 400× 400× 38× 38× 34× 34× 33× 33× 33× 33× 33× 33× 33×           362× 362× 354× 354× 353× 353× 353× 353× 353× 353× 353×           400× 400×           400×        
define(["require", "exports", "@syncfusion/ej2-pdf-export", "../base/utils", "@syncfusion/ej2-base", "./../export/pdf-base/pdf-borders"], function (require, exports, ej2_pdf_export_1, utils_1, ej2_base_1, pdf_borders_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var EventMarker = (function () {
        function EventMarker(parent) {
            this.renderHeight = 0;
            this.parent = parent;
        }
        EventMarker.prototype.drawEventMarker = function (page, startPoint, cumulativeWidth, detail, eventMarker, cumulativeHeight, ganttStyles) {
            var taskGraphics = page.graphics;
            var pageSize = page.getClientSize();
            var font = new ej2_pdf_export_1.PdfStandardFont(ej2_pdf_export_1.PdfFontFamily.Helvetica, 10);
            if (!ej2_base_1.isNullOrUndefined(this.parent.pdfExportModule['helper']['exportProps'].ganttStyle) &&
                this.parent.pdfExportModule['helper']['exportProps'].ganttStyle.font) {
                font = this.parent.pdfExportModule['helper']['exportProps'].ganttStyle.font;
            }
            var strSize;
            if (!ej2_base_1.isNullOrUndefined(eventMarker.label)) {
                strSize = font.measureString(eventMarker.label);
            }
            var triangle = 8;
            var eventLine = ganttStyles.eventMarker.lineStyle;
            eventLine.dashStyle = ganttStyles.eventMarker.lineStyle.dashStyle;
            if (detail.startDate <= eventMarker.date && eventMarker.date <= detail.endDate) {
                var enventFormat = new ej2_pdf_export_1.PdfStringFormat();
                enventFormat.alignment = ej2_pdf_export_1.PdfTextAlignment.Center;
                var textFormat = !ej2_base_1.isNullOrUndefined(ganttStyles.eventMarker.label.format) ?
                    ganttStyles.eventMarker.label.format : enventFormat;
                var eventBrush = new ej2_pdf_export_1.PdfSolidBrush(ganttStyles.eventMarker.label.backgroundColor);
                var fontColor = (ganttStyles.eventMarker.label && ganttStyles.eventMarker.label.fontColor) ?
                    new ej2_pdf_export_1.PdfSolidBrush(ganttStyles.eventMarker.label.fontColor) : null;
                var customizedFont = this.getPdfFont(ganttStyles);
                if (ej2_base_1.isNullOrUndefined(customizedFont)) {
                    customizedFont = font;
                }
                var defaultBorder = ganttStyles.eventMarker.label.borders ? ganttStyles.eventMarker.label.borders : null;
                if (ganttStyles.eventMarker.label.borderColor) {
                    var pdfborders = new pdf_borders_1.PdfBorders();
                    pdfborders.all = new ej2_pdf_export_1.PdfPen(new ej2_pdf_export_1.PdfColor(ganttStyles.eventMarker.label.borderColor));
                    defaultBorder = pdfborders;
                }
                var border = (!ej2_base_1.isNullOrUndefined(defaultBorder) && !ej2_base_1.isNullOrUndefined(defaultBorder.left)) ? defaultBorder.left : null;
                var padding = { left: 0, right: 0, top: 0, bottom: 0 };
                if (!ej2_base_1.isNullOrUndefined(ganttStyles) && !ej2_base_1.isNullOrUndefined(ganttStyles.eventMarker) &&
                    !ej2_base_1.isNullOrUndefined(ganttStyles.eventMarker.label) && !ej2_base_1.isNullOrUndefined(ganttStyles.eventMarker.label.padding)) {
                    padding = ganttStyles.eventMarker.label.padding;
                }
                var customizedFontBrush = !ej2_base_1.isNullOrUndefined(ganttStyles.eventMarker.label.fontBrush) ?
                    new ej2_pdf_export_1.PdfPen(ganttStyles.eventMarker.label.fontBrush) : null;
                var left = this.parent.dataOperation.getTaskLeft(this.parent.dateValidationModule.getDateFromFormat(eventMarker.date, true), false, true);
                var diff = 10;
                if (this.parent.pdfExportModule.gantt.taskbar.isAutoFit()) {
                    taskGraphics.drawLine(eventLine, new ej2_pdf_export_1.PointF(startPoint.x + (left - cumulativeWidth) + diff, cumulativeHeight), new ej2_pdf_export_1.PointF(startPoint.x + (left - cumulativeWidth) + diff, this.renderHeight));
                    if (!ej2_base_1.isNullOrUndefined(eventMarker.label) && eventMarker.label.length > 0) {
                        var renderBox = cumulativeHeight + utils_1.pixelToPoint(50) + (strSize.height * 2);
                        if (renderBox < this.renderHeight) {
                            taskGraphics.save();
                            taskGraphics.translateTransform(startPoint.x + (left - cumulativeWidth) + 7 + diff, cumulativeHeight + utils_1.pixelToPoint(50) + strSize.height / 2);
                            taskGraphics.rotateTransform(45);
                            taskGraphics.drawRectangle(border, eventBrush, 0, 0, triangle, triangle);
                            taskGraphics.restore();
                            taskGraphics.drawRectangle(border, eventBrush, startPoint.x + (left - cumulativeWidth) + 7 + diff, cumulativeHeight + utils_1.pixelToPoint(50), strSize.width + 10, strSize.height * 2);
                            taskGraphics.drawString(eventMarker.label, customizedFont, customizedFontBrush, fontColor, (startPoint.x +
                                (left - cumulativeWidth) + 12 + diff) - (padding.left + padding.right), (cumulativeHeight + utils_1.pixelToPoint(50) + utils_1.pixelToPoint(strSize.height / 2)) - (padding.top + padding.bottom), strSize.width, strSize.height, textFormat);
                        }
                    }
                }
                else {
                    taskGraphics.drawLine(eventLine, new ej2_pdf_export_1.PointF(startPoint.x + utils_1.pixelToPoint(left - cumulativeWidth) + diff, cumulativeHeight), new ej2_pdf_export_1.PointF(startPoint.x + utils_1.pixelToPoint(left - cumulativeWidth) + diff, this.renderHeight));
                    if (!ej2_base_1.isNullOrUndefined(eventMarker.label) && eventMarker.label.length > 0) {
                        var renderBox = cumulativeHeight + utils_1.pixelToPoint(50) + (strSize.height * 2);
                        if (renderBox < this.renderHeight) {
                            taskGraphics.save();
                            taskGraphics.translateTransform(startPoint.x + utils_1.pixelToPoint(left - cumulativeWidth) + 7 + diff, cumulativeHeight + utils_1.pixelToPoint(50) + strSize.height / 2);
                            taskGraphics.rotateTransform(45);
                            taskGraphics.drawRectangle(border, eventBrush, 0, 0, triangle, triangle);
                            taskGraphics.restore();
                            taskGraphics.drawRectangle(border, eventBrush, startPoint.x + utils_1.pixelToPoint(left - cumulativeWidth) + 7 + diff, cumulativeHeight + utils_1.pixelToPoint(50), strSize.width + 10, strSize.height * 2);
                            taskGraphics.drawString(eventMarker.label, customizedFont, customizedFontBrush, fontColor, (startPoint.x + utils_1.pixelToPoint(left - cumulativeWidth) + 12 + diff) - (padding.left + padding.right), (cumulativeHeight + utils_1.pixelToPoint(51) + utils_1.pixelToPoint(strSize.height / 2)) - (padding.top + padding.bottom), strSize.width, strSize.height, textFormat);
                        }
                    }
                }
            }
        };
        EventMarker.prototype.getPdfFont = function (ganttStyle) {
            var font;
            if (ganttStyle && ganttStyle.eventMarker && ganttStyle.eventMarker.label &&
                (ganttStyle.eventMarker.label.fontSize || ganttStyle.eventMarker.label.fontStyle ||
                    ganttStyle.eventMarker.label.fontFamily)) {
                var fontSize = ganttStyle.eventMarker.label.fontSize ? ganttStyle.eventMarker.label.fontSize : 9;
                var fontFamily = ganttStyle.eventMarker.label.fontFamily ?
                    ganttStyle.eventMarker.label.fontFamily : this.fontFamily;
                var fontStyle = ganttStyle.eventMarker.label.fontStyle ?
                    ganttStyle.eventMarker.label.fontStyle : ej2_pdf_export_1.PdfFontStyle.Regular;
                font = new ej2_pdf_export_1.PdfStandardFont(fontFamily, fontSize, fontStyle);
            }
            return font;
        };
        return EventMarker;
    }());
    exports.EventMarker = EventMarker;
});