@atlaskit/global-search
Version:
A cross-product search component (batteries included)
52 lines (45 loc) • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.removeHighlightTags = removeHighlightTags;
exports.mapConfluenceItemToResult = mapConfluenceItemToResult;
var _Result = require("../model/Result");
var _types = require("./types");
function removeHighlightTags(text) {
return text.replace(/@@@hl@@@|@@@endhl@@@/g, '');
}
function mapConfluenceItemToResultObject(item, experimentId) {
return {
resultId: item.content.id,
// content always available for pages/blogs/attachments
name: removeHighlightTags(item.title),
href: "".concat(item.baseUrl).concat(item.url),
containerName: item.container.title,
analyticsType: _Result.AnalyticsType.ResultConfluence,
contentType: "confluence-".concat(item.content.type),
resultType: _Result.ResultType.ConfluenceObjectResult,
containerId: item.content.space && item.content.space.id ? item.content.space.id : 'UNAVAILABLE',
iconClass: item.iconCssClass,
experimentId: experimentId,
friendlyLastModified: item.friendlyLastModified
};
}
function mapConfluenceItemToResultSpace(spaceItem, experimentId) {
return {
resultId: "space-".concat(spaceItem.space.key),
// space is always defined for space results
avatarUrl: "".concat(spaceItem.baseUrl).concat(spaceItem.space.icon.path),
name: spaceItem.container.title,
href: "".concat(spaceItem.baseUrl || '').concat(spaceItem.container.displayUrl),
analyticsType: _Result.AnalyticsType.ResultConfluence,
resultType: _Result.ResultType.GenericContainerResult,
contentType: _Result.ContentType.ConfluenceSpace,
experimentId: experimentId,
key: spaceItem.space.key
};
}
function mapConfluenceItemToResult(scope, item) {
var mapper = scope === _types.Scope.ConfluenceSpace ? mapConfluenceItemToResultSpace : mapConfluenceItemToResultObject;
return mapper(item);
}