@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
129 lines • 12.7 kB
JavaScript
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=