search-client
Version:
Javascript library for executing searches in the Haive search-index via the SearchManager REST interface.
58 lines • 2.81 kB
JavaScript
import { __extends } from "tslib";
import { BaseSettings } from '../Common';
import { CategoryPresentation, } from '../Common/CategoryPresentation';
import { QueryChangeSpecifications } from '../Common/QueryChangeSpecifications';
import { CategorizeTriggers } from './CategorizeTriggers';
/**
* These are all the settings that can affect the returned categories for categorize() lookups.
*/
var CategorizeSettings = /** @class */ (function (_super) {
__extends(CategorizeSettings, _super);
/**
* Creates an instance of CategorizeSettings, based on CategorizeSettings defaults and the overrides provided as a param.
* @param settings - The settings defined here will override the default CategorizeSettings.
*/
function CategorizeSettings(settings) {
var _this = _super.call(this) // dummy (using init instead)
|| this;
// Setup settings object before calling super.init with it.
if (typeof settings === 'string') {
settings = { baseUrl: settings };
}
settings.servicePath =
typeof settings.servicePath !== 'undefined'
? settings.servicePath
: 'search/categorize';
_super.prototype.init.call(_this, settings);
// Setup our own stuff (props not in the base class).
// this.clientCategoryFilterSepChar =
// typeof settings.clientCategoryFilterSepChar !== "undefined"
// ? settings.clientCategoryFilterSepChar
// : "_";
_this.triggers = new CategorizeTriggers(settings.triggers);
_this.presentations = {};
if (typeof settings.presentations !== 'undefined') {
for (var key in settings.presentations) {
if (settings.presentations.hasOwnProperty(key)) {
_this.presentations[key] = new CategoryPresentation(settings.presentations[key]);
}
}
}
// A change in any of the defined fields should indicate that the results may have changed.
_this.queryChangeSpecs =
typeof settings.queryChangeSpecs !== 'undefined'
? settings.queryChangeSpecs
: QueryChangeSpecifications.categorizationType |
QueryChangeSpecifications.clientId |
QueryChangeSpecifications.dateFrom |
QueryChangeSpecifications.dateTo |
QueryChangeSpecifications.filters |
QueryChangeSpecifications.queryText |
QueryChangeSpecifications.searchType |
QueryChangeSpecifications.uiLanguageCode;
return _this;
}
return CategorizeSettings;
}(BaseSettings));
export { CategorizeSettings };
//# sourceMappingURL=CategorizeSettings.js.map