UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

129 lines 12.7 kB
import { __extends } from "tslib"; import { IgxExporterOptionsBase } from '../exporter-common/exporter-options-base'; /** * Objects of this class are used to configure the CSV exporting process. */ var IgxCsvExporterOptions = /** @class */ (function (_super) { __extends(IgxCsvExporterOptions, _super); function IgxCsvExporterOptions(fileName, fileType) { var _this = _super.call(this, fileName, IgxCsvExporterOptions.getExtensionFromFileType(fileType)) || this; _this.setFileType(fileType); _this.setDelimiter(); return _this; } IgxCsvExporterOptions.getExtensionFromFileType = function (fType) { var extension = ''; switch (fType) { case CsvFileTypes.CSV: extension = '.csv'; break; case CsvFileTypes.TSV: extension = '.tsv'; break; case CsvFileTypes.TAB: extension = '.tab'; break; default: throw Error('Unsupported CSV file type!'); } return extension; }; Object.defineProperty(IgxCsvExporterOptions.prototype, "valueDelimiter", { /** * Gets the value delimiter which will be used for the exporting operation. * ```typescript * let delimiter = this.exportOptions.valueDelimiter; * ``` * @memberof IgxCsvExporterOptions */ get: function () { return this._valueDelimiter; }, /** * Sets a value delimiter which will overwrite the default delimiter of the selected export format. * ```typescript * this.exportOptions.valueDelimiter = '|'; * ``` * @memberof IgxCsvExporterOptions */ set: function (value) { this.setDelimiter(value); }, enumerable: true, configurable: true }); Object.defineProperty(IgxCsvExporterOptions.prototype, "fileType", { /** * Gets the CSV export format. * ```typescript * let filetype = this.exportOptions.fileType; * ``` * @memberof IgxCsvExporterOptions */ get: function () { return this._fileType; }, /** * Sets the CSV export format. * ```typescript * this.exportOptions.fileType = CsvFileTypes.TAB; * ``` * @memberof IgxCsvExporterOptions */ set: function (value) { this.setFileType(value); }, enumerable: true, configurable: true }); IgxCsvExporterOptions.prototype.setFileType = function (value) { if (value !== undefined && value !== null && value !== this._fileType) { this._fileType = value; var extension = IgxCsvExporterOptions.getExtensionFromFileType(value); if (!this.fileName.endsWith(extension)) { var oldExt = '.' + this.fileName.split('.').pop(); var newName = this.fileName.replace(oldExt, extension); this._fileExtension = extension; this.fileName = newName; } } }; IgxCsvExporterOptions.prototype.setDelimiter = function (value) { if (value !== undefined && value !== '' && value !== null) { this._valueDelimiter = value; } else { switch (this.fileType) { case CsvFileTypes.CSV: this._valueDelimiter = ','; break; case CsvFileTypes.TSV: case CsvFileTypes.TAB: this._valueDelimiter = '\t'; break; } } }; return IgxCsvExporterOptions; }(IgxExporterOptionsBase)); export { IgxCsvExporterOptions }; /** * This enumeration is used to configure the default value separator * as well as the default file extension used when performing CSV exporting. */ export var CsvFileTypes; (function (CsvFileTypes) { /** * Character Separated Values, default separator is "comma", default file extension is .csv */ CsvFileTypes[CsvFileTypes["CSV"] = 0] = "CSV"; /** * Tab Separated Values, default separator is tab, default file extension is .tsv */ CsvFileTypes[CsvFileTypes["TSV"] = 1] = "TSV"; /** * Tab Separated Values, default separator is tab, default file extension is .tab */ CsvFileTypes[CsvFileTypes["TAB"] = 2] = "TAB"; })(CsvFileTypes || (CsvFileTypes = {})); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LWV4cG9ydGVyLW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pZ25pdGV1aS1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nzdi9jc3YtZXhwb3J0ZXItb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFbEY7O0dBRUc7QUFDSDtJQUEyQyx5Q0FBc0I7SUFLN0QsK0JBQVksUUFBZ0IsRUFBRSxRQUFzQjtRQUFwRCxZQUNJLGtCQUFNLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUc1RTtRQUZHLEtBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsS0FBSSxDQUFDLFlBQVksRUFBRSxDQUFDOztJQUN4QixDQUFDO0lBRWMsOENBQXdCLEdBQXZDLFVBQXdDLEtBQW1CO1FBQ3ZELElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQixRQUFRLEtBQUssRUFBRTtZQUNYLEtBQUssWUFBWSxDQUFDLEdBQUc7Z0JBQ2pCLFNBQVMsR0FBRyxNQUFNLENBQUM7Z0JBQ25CLE1BQU07WUFDVixLQUFLLFlBQVksQ0FBQyxHQUFHO2dCQUNqQixTQUFTLEdBQUcsTUFBTSxDQUFDO2dCQUNuQixNQUFNO1lBQ1YsS0FBSyxZQUFZLENBQUMsR0FBRztnQkFDakIsU0FBUyxHQUFHLE1BQU0sQ0FBQztnQkFDbkIsTUFBTTtZQUNWO2dCQUNJLE1BQU0sS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7U0FDakQ7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBU0Qsc0JBQUksaURBQWM7UUFQbEI7Ozs7OztXQU1HO2FBQ0g7WUFDSSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDaEMsQ0FBQztRQUVEOzs7Ozs7V0FNRzthQUNILFVBQW1CLEtBQUs7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDOzs7T0FYQTtJQW9CRCxzQkFBSSwyQ0FBUTtRQVBaOzs7Ozs7V0FNRzthQUNIO1lBQ0ksT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzFCLENBQUM7UUFFRDs7Ozs7O1dBTUc7YUFDSCxVQUFhLEtBQUs7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUM7OztPQVhBO0lBYU8sMkNBQVcsR0FBbkIsVUFBb0IsS0FBSztRQUNyQixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuRSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3BDLElBQU0sTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDcEQsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7YUFDM0I7U0FDSjtJQUNMLENBQUM7SUFFTyw0Q0FBWSxHQUFwQixVQUFxQixLQUFNO1FBQ3ZCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7U0FDaEM7YUFBTTtZQUNILFFBQVEsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbkIsS0FBSyxZQUFZLENBQUMsR0FBRztvQkFDakIsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUM7b0JBQzNCLE1BQU07Z0JBQ1YsS0FBSyxZQUFZLENBQUMsR0FBRyxDQUFDO2dCQUN0QixLQUFLLFlBQVksQ0FBQyxHQUFHO29CQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztvQkFDNUIsTUFBTTthQUNiO1NBQ0o7SUFDTCxDQUFDO0lBQ0wsNEJBQUM7QUFBRCxDQUFDLEFBckdELENBQTJDLHNCQUFzQixHQXFHaEU7O0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFOLElBQVksWUFhWDtBQWJELFdBQVksWUFBWTtJQUNwQjs7T0FFRztJQUNILDZDQUFHLENBQUE7SUFDSDs7T0FFRztJQUNILDZDQUFHLENBQUE7SUFDSDs7T0FFRztJQUNILDZDQUFHLENBQUE7QUFDUCxDQUFDLEVBYlcsWUFBWSxLQUFaLFlBQVksUUFhdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZ3hFeHBvcnRlck9wdGlvbnNCYXNlIH0gZnJvbSAnLi4vZXhwb3J0ZXItY29tbW9uL2V4cG9ydGVyLW9wdGlvbnMtYmFzZSc7XG5cbi8qKlxuICogT2JqZWN0cyBvZiB0aGlzIGNsYXNzIGFyZSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgQ1NWIGV4cG9ydGluZyBwcm9jZXNzLlxuICovXG5leHBvcnQgY2xhc3MgSWd4Q3N2RXhwb3J0ZXJPcHRpb25zIGV4dGVuZHMgSWd4RXhwb3J0ZXJPcHRpb25zQmFzZSB7XG5cbiAgICBwcml2YXRlIF92YWx1ZURlbGltaXRlcjtcbiAgICBwcml2YXRlIF9maWxlVHlwZTtcblxuICAgIGNvbnN0cnVjdG9yKGZpbGVOYW1lOiBzdHJpbmcsIGZpbGVUeXBlOiBDc3ZGaWxlVHlwZXMpIHtcbiAgICAgICAgc3VwZXIoZmlsZU5hbWUsIElneENzdkV4cG9ydGVyT3B0aW9ucy5nZXRFeHRlbnNpb25Gcm9tRmlsZVR5cGUoZmlsZVR5cGUpKTtcbiAgICAgICAgdGhpcy5zZXRGaWxlVHlwZShmaWxlVHlwZSk7XG4gICAgICAgIHRoaXMuc2V0RGVsaW1pdGVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0RXh0ZW5zaW9uRnJvbUZpbGVUeXBlKGZUeXBlOiBDc3ZGaWxlVHlwZXMpIHtcbiAgICAgICAgbGV0IGV4dGVuc2lvbiA9ICcnO1xuICAgICAgICBzd2l0Y2ggKGZUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIENzdkZpbGVUeXBlcy5DU1Y6XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gJy5jc3YnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBDc3ZGaWxlVHlwZXMuVFNWOlxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9ICcudHN2JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQ3N2RmlsZVR5cGVzLlRBQjpcbiAgICAgICAgICAgICAgICBleHRlbnNpb24gPSAnLnRhYic7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCdVbnN1cHBvcnRlZCBDU1YgZmlsZSB0eXBlIScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBleHRlbnNpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgZGVsaW1pdGVyIHdoaWNoIHdpbGwgYmUgdXNlZCBmb3IgdGhlIGV4cG9ydGluZyBvcGVyYXRpb24uXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBkZWxpbWl0ZXIgPSB0aGlzLmV4cG9ydE9wdGlvbnMudmFsdWVEZWxpbWl0ZXI7XG4gICAgICogYGBgXG4gICAgICogQG1lbWJlcm9mIElneENzdkV4cG9ydGVyT3B0aW9uc1xuICAgICAqL1xuICAgIGdldCB2YWx1ZURlbGltaXRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlRGVsaW1pdGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgYSB2YWx1ZSBkZWxpbWl0ZXIgd2hpY2ggd2lsbCBvdmVyd3JpdGUgdGhlIGRlZmF1bHQgZGVsaW1pdGVyIG9mIHRoZSBzZWxlY3RlZCBleHBvcnQgZm9ybWF0LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLmV4cG9ydE9wdGlvbnMudmFsdWVEZWxpbWl0ZXIgPSAnfCc7XG4gICAgICogYGBgXG4gICAgICogQG1lbWJlcm9mIElneENzdkV4cG9ydGVyT3B0aW9uc1xuICAgICAqL1xuICAgIHNldCB2YWx1ZURlbGltaXRlcih2YWx1ZSkge1xuICAgICAgICB0aGlzLnNldERlbGltaXRlcih2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgQ1NWIGV4cG9ydCBmb3JtYXQuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBmaWxldHlwZSA9IHRoaXMuZXhwb3J0T3B0aW9ucy5maWxlVHlwZTtcbiAgICAgKiBgYGBcbiAgICAgKiBAbWVtYmVyb2YgSWd4Q3N2RXhwb3J0ZXJPcHRpb25zXG4gICAgICovXG4gICAgZ2V0IGZpbGVUeXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZVR5cGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgQ1NWIGV4cG9ydCBmb3JtYXQuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuZXhwb3J0T3B0aW9ucy5maWxlVHlwZSA9IENzdkZpbGVUeXBlcy5UQUI7XG4gICAgICogYGBgXG4gICAgICogQG1lbWJlcm9mIElneENzdkV4cG9ydGVyT3B0aW9uc1xuICAgICAqL1xuICAgIHNldCBmaWxlVHlwZSh2YWx1ZSkge1xuICAgICAgICB0aGlzLnNldEZpbGVUeXBlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZpbGVUeXBlKHZhbHVlKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB0aGlzLl9maWxlVHlwZSkge1xuICAgICAgICAgICAgdGhpcy5fZmlsZVR5cGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IElneENzdkV4cG9ydGVyT3B0aW9ucy5nZXRFeHRlbnNpb25Gcm9tRmlsZVR5cGUodmFsdWUpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmZpbGVOYW1lLmVuZHNXaXRoKGV4dGVuc2lvbikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvbGRFeHQgPSAnLicgKyB0aGlzLmZpbGVOYW1lLnNwbGl0KCcuJykucG9wKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3TmFtZSA9IHRoaXMuZmlsZU5hbWUucmVwbGFjZShvbGRFeHQsIGV4dGVuc2lvbik7XG4gICAgICAgICAgICAgICAgdGhpcy5fZmlsZUV4dGVuc2lvbiA9IGV4dGVuc2lvbjtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVOYW1lID0gbmV3TmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVsaW1pdGVyKHZhbHVlPykge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gJycgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlRGVsaW1pdGVyID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMuZmlsZVR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIENzdkZpbGVUeXBlcy5DU1Y6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlRGVsaW1pdGVyID0gJywnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIENzdkZpbGVUeXBlcy5UU1Y6XG4gICAgICAgICAgICAgICAgY2FzZSBDc3ZGaWxlVHlwZXMuVEFCOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZURlbGltaXRlciA9ICdcXHQnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBUaGlzIGVudW1lcmF0aW9uIGlzIHVzZWQgdG8gY29uZmlndXJlIHRoZSBkZWZhdWx0IHZhbHVlIHNlcGFyYXRvclxuICogYXMgd2VsbCBhcyB0aGUgZGVmYXVsdCBmaWxlIGV4dGVuc2lvbiB1c2VkIHdoZW4gcGVyZm9ybWluZyBDU1YgZXhwb3J0aW5nLlxuICovXG5leHBvcnQgZW51bSBDc3ZGaWxlVHlwZXMge1xuICAgIC8qKlxuICAgICAqIENoYXJhY3RlciBTZXBhcmF0ZWQgVmFsdWVzLCBkZWZhdWx0IHNlcGFyYXRvciBpcyBcImNvbW1hXCIsIGRlZmF1bHQgZmlsZSBleHRlbnNpb24gaXMgLmNzdlxuICAgICAqL1xuICAgIENTVixcbiAgICAvKipcbiAgICAgKiBUYWIgU2VwYXJhdGVkIFZhbHVlcywgZGVmYXVsdCBzZXBhcmF0b3IgaXMgdGFiLCBkZWZhdWx0IGZpbGUgZXh0ZW5zaW9uIGlzIC50c3ZcbiAgICAgKi9cbiAgICBUU1YsXG4gICAgLyoqXG4gICAgICogVGFiIFNlcGFyYXRlZCBWYWx1ZXMsIGRlZmF1bHQgc2VwYXJhdG9yIGlzIHRhYiwgZGVmYXVsdCBmaWxlIGV4dGVuc2lvbiBpcyAudGFiXG4gICAgICovXG4gICAgVEFCXG59XG4iXX0=