all files / treegrid/actions/ logger.js

98.81% Statements 83/84
98.28% Branches 57/58
100% Functions 15/15
98.75% Lines 79/80
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 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129  1× 1× 1× 1× 1× 1×   1× 1× 1× 1×     1×   1× 1× 1× 1× 1× 1× 1× 1× 1× 1× 1952× 1952× 1952× 1952×   1× 22532×   1× 7253× 6135×   7253× 7253× 10335× 10335× 10335× 298× 298× 298× 1× 1×   298× 298× 298× 188×   110× 16×   94× 1×   93× 4×   89×     89× 2×   298× 48× 1×       250×         1× 967× 967× 1×   967× 967× 1× 1×   967× 967× 967× 967× 4× 4×       1×   1× 1×         967× 967×       4×   967×     4×                      
/* 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", "@syncfusion/ej2-base", "@syncfusion/ej2-grids"], function (require, exports, ej2_base_1, ej2_grids_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var DOC_URL = 'https://ej2.syncfusion.com/documentation/treegrid';
    var BASE_DOC_URL = 'https://ej2.syncfusion.com/documentation';
    var WARNING = '[EJ2TreeGrid.Warning]';
    var ERROR = '[EJ2TreeGrid.Error]';
    var INFO = '[EJ2TreeGrid.Info]';
    var IsRowDDEnabled = false;
    var Logger = (function (_super) {
        __extends(Logger, _super);
        function Logger(parent) {
            var _this = this;
            ej2_grids_1.Grid.Inject(ej2_grids_1.Logger);
            _this = _super.call(this, parent) || this;
            return _this;
        }
        Logger.prototype.getModuleName = function () {
            return 'logger';
        };
        Logger.prototype.log = function (types, args) {
            if (!(types instanceof Array)) {
                types = [types];
            }
            var type = types;
            for (var i = 0; i < type.length; i++) {
                var item = ej2_grids_1.detailLists[type[parseInt(i.toString(), 10)]];
                var cOp = item.check(args, this.parent);
                if (cOp.success) {
                    var message = item.generateMessage(args, this.parent, cOp.options);
                    message = message.replace('EJ2Grid', 'EJ2TreeGrid').replace('* Hierarchy Grid', '').replace('* Grouping', '');
                    if (IsRowDDEnabled && type[parseInt(i.toString(), 10)] === 'primary_column_missing') {
                        message = message.replace('Editing', 'Row DragAndDrop');
                        IsRowDDEnabled = false;
                    }
                    var index = message.indexOf('https');
                    var gridurl = message.substring(index);
                    if (type[parseInt(i.toString(), 10)] === 'module_missing') {
                        message = message.replace(gridurl, DOC_URL + '/modules');
                    }
                    else if (type[parseInt(i.toString(), 10)] === 'primary_column_missing' || type[parseInt(i.toString(), 10)] === 'selection_key_missing') {
                        message = message.replace(gridurl, BASE_DOC_URL + '/api/treegrid/column/#isprimarykey');
                    }
                    else if (type[parseInt(i.toString(), 10)] === 'grid_remote_edit') {
                        message = message.replace(gridurl, DOC_URL + '/edit');
                    }
                    else if (type[parseInt(i.toString(), 10)] === 'virtual_height') {
                        message = message.replace(gridurl, DOC_URL + '/virtual');
                    }
                    else Iif (type[parseInt(i.toString(), 10)] === 'check_datasource_columns') {
                        message = message.replace(gridurl, DOC_URL + '/columns');
                    }
                    else if (type[parseInt(i.toString(), 10)] === 'locale_missing') {
                        message = message.replace(gridurl, DOC_URL + '/global-local/#localization');
                    }
                    if (type[parseInt(i.toString(), 10)] === 'datasource_syntax_mismatch') {
                        if (!ej2_base_1.isNullOrUndefined(this.treeGridObj) && !ej2_base_1.isNullOrUndefined(this.treeGridObj.dataStateChange)) {
                            console[item.logType](message);
                        }
                    }
                    else {
                        console[item.logType](message);
                    }
                }
            }
        };
        Logger.prototype.treeLog = function (types, args, treeGrid) {
            this.treeGridObj = treeGrid;
            if (!(types instanceof Array)) {
                types = [types];
            }
            var type = types;
            if (treeGrid.allowRowDragAndDrop && !treeGrid.columns.filter(function (column) { return column.isPrimaryKey; }).length) {
                IsRowDDEnabled = true;
                this.log('primary_column_missing', args);
            }
            for (var i = 0; i < type.length; i++) {
                var item = exports.treeGridDetails[type[parseInt(i.toString(), 10)]];
                var cOp = item.check(args, treeGrid);
                if (cOp.success) {
                    var message = item.generateMessage(args, treeGrid, cOp.options);
                    console[item.logType](message);
                }
            }
        };
        return Logger;
    }(ej2_grids_1.Logger));
    exports.Logger = Logger;
    exports.treeGridDetails = {
        mapping_fields_missing: {
            type: 'mapping_fields_missing',
            logType: 'error',
            check: function (args, parent) {
                var opt = { success: false };
                if ((ej2_base_1.isNullOrUndefined(parent.idMapping) && ej2_base_1.isNullOrUndefined(parent.childMapping)
                    && ej2_base_1.isNullOrUndefined(parent.parentIdMapping)) ||
                    (!ej2_base_1.isNullOrUndefined(parent.idMapping) && ej2_base_1.isNullOrUndefined(parent.parentIdMapping)) ||
                    (ej2_base_1.isNullOrUndefined(parent.idMapping) && !ej2_base_1.isNullOrUndefined(parent.parentIdMapping))) {
                    opt = { success: true };
                }
                return opt;
            },
            generateMessage: function () {
                return ERROR + ':' + ' MAPPING FIELDS MISSING \n' + 'One of the following fields is missing. It is ' +
                    'required for the hierarchical relationship of records in TreeGrid:\n' +
                    '* childMapping\n' + '* idMapping\n' + '* parentIdMapping\n' +
                    'Refer to the following documentation links for more details.\n' +
                    (BASE_DOC_URL + "/api/treegrid#childmapping") + '\n' +
                    (BASE_DOC_URL + "/api/treegrid#idmapping") + '\n' +
                    (BASE_DOC_URL + "/api/treegrid#$parentidmapping");
            }
        }
    };
});