@fluid-topics/public-api 1.0.18 → 1.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +8 -1
- package/dist/cjs/preferences/unauthenticated-preferences.js +2 -5
- package/dist/cjs/types/ft-common/public.js +16 -5
- package/dist/fluidtopics.min.js +1 -1
- package/dist/mjs/index.js +2 -0
- package/dist/mjs/preferences/unauthenticated-preferences.d.ts +3 -3
- package/dist/mjs/preferences/unauthenticated-preferences.js +2 -4
- package/dist/mjs/types/ft-common/public.d.ts +13 -2
- package/dist/mjs/types/ft-common/public.js +14 -4
- package/package.json +3 -2
package/dist/cjs/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -50,7 +54,10 @@ function getBody(response) {
|
|
|
50
54
|
}
|
|
51
55
|
class FluidTopicsApi {
|
|
52
56
|
constructor(tenantBaseUrl, integrationIdentifier, overrideIdentifierIfOnTenant) {
|
|
57
|
+
var _a, _b, _c, _d, _e;
|
|
53
58
|
this.authorization = {};
|
|
59
|
+
//@ts-ignore
|
|
60
|
+
tenantBaseUrl = (_c = (_a = tenantBaseUrl !== null && tenantBaseUrl !== void 0 ? tenantBaseUrl : wnd.__gwt_ft_moduleBase) !== null && _a !== void 0 ? _a : (_b = wnd.fluidtopicsclient) === null || _b === void 0 ? void 0 : _b.__moduleBase) !== null && _c !== void 0 ? _c : (_e = (_d = wnd.__gwt_activeModules) === null || _d === void 0 ? void 0 : _d.fluidtopicsclient) === null || _e === void 0 ? void 0 : _e.moduleBase;
|
|
54
61
|
this.tenantBaseUrl = tenantBaseUrl.trim().replace(/\/$/, "");
|
|
55
62
|
if (overrideIdentifierIfOnTenant && typeof wnd.location !== "undefined" && wnd.location.href.startsWith(this.tenantBaseUrl + "/")) {
|
|
56
63
|
this.ftCallingApp = integrationIdentifier;
|
|
@@ -20,12 +20,9 @@ function normalizeMetadataPreferences(metadata) {
|
|
|
20
20
|
return normalized;
|
|
21
21
|
}
|
|
22
22
|
function getStorageKey(tenantBaseUrl) {
|
|
23
|
-
var _a, _b, _c, _d, _e;
|
|
24
|
-
//@ts-ignore
|
|
25
|
-
tenantBaseUrl = (_c = (_a = tenantBaseUrl !== null && tenantBaseUrl !== void 0 ? tenantBaseUrl : wnd.__gwt_ft_moduleBase) !== null && _a !== void 0 ? _a : (_b = wnd.fluidtopicsclient) === null || _b === void 0 ? void 0 : _b.__moduleBase) !== null && _c !== void 0 ? _c : (_e = (_d = wnd.__gwt_activeModules) === null || _d === void 0 ? void 0 : _d.fluidtopicsclient) === null || _e === void 0 ? void 0 : _e.moduleBase;
|
|
26
23
|
return `${tenantBaseUrl}-FluidTopicsUnauthenticatedUserSearchPreferences`;
|
|
27
24
|
}
|
|
28
|
-
function setUnauthenticatedUserSearchPreferences(
|
|
25
|
+
function setUnauthenticatedUserSearchPreferences(tenantBaseUrl, input) {
|
|
29
26
|
var _a;
|
|
30
27
|
if (wnd.localStorage) {
|
|
31
28
|
let preferences = Object.assign(Object.assign({}, input), { metadata: normalizeMetadataPreferences((_a = input.metadata) !== null && _a !== void 0 ? _a : {}) });
|
|
@@ -51,7 +48,7 @@ function getUnauthenticatedUserSearchPreferences(tenantBaseUrl) {
|
|
|
51
48
|
console.error("Cannot get unauthenticated preferences: local storage is unavailable.");
|
|
52
49
|
}
|
|
53
50
|
exports.getUnauthenticatedUserSearchPreferences = getUnauthenticatedUserSearchPreferences;
|
|
54
|
-
function addUnauthenticatedUserSearchPreferencesChangeHandler(
|
|
51
|
+
function addUnauthenticatedUserSearchPreferencesChangeHandler(tenantBaseUrl, handler) {
|
|
55
52
|
if (wnd.localStorage) {
|
|
56
53
|
const key = getStorageKey(tenantBaseUrl);
|
|
57
54
|
const eventListener = (event) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isFtAuthenticationIdentifier = exports.isFtSuggestResults = exports.isFtSuggestResult = exports.isFtSuggestRequest = exports.isFtTopicResource = exports.isFtSpellcheck = exports.isFtSearchSortCriterion = exports.isFtSearchFacetEntry = exports.isFtSearchFacetConf = exports.isFtSearchFacet = exports.isFtSearchResultType = exports.FtSearchResultType = exports.isFtSearchResultTopic = exports.isFtSearchResultMap = exports.isFtSearchResultUnstructuredDocument = exports.isFtSearchResultClusterEntry = exports.isFtSearchResultCluster = exports.isFtSearchRequest = exports.isFtSearchPrior = exports.isFtSearchResults = exports.isFtCollectionDocumentType = exports.FtCollectionDocumentType = exports.isFtPageRequest = exports.isFtOpenMode = exports.FtOpenMode = exports.isFtEditorialType = exports.FtEditorialType = exports.isFtSearchResultsPageInfo = exports.isFtSearchPreset = exports.isFtSearchFilter = exports.isFtSearchPreferencesConfiguration = exports.isFtMetadataPreferenceConfiguration = exports.isFtMapResource = exports.isFtMetadata = exports.isFtSearchLocales = exports.isFtSearchLocale = exports.isFtTopicContentTarget = exports.FtTopicContentTarget = exports.isFtUnstructuredDocument = exports.isFtTopic = exports.isFtTocNode = exports.isFtMap = exports.isFtCollectionDocument = exports.isFtCredentials = void 0;
|
|
3
|
+
exports.isFtAuthenticationIdentifier = exports.isFtSuggestResults = exports.isFtSuggestResult = exports.isFtSuggestRequest = exports.isFtTopicResource = exports.isFtSpellcheck = exports.isFtSearchSortCriterion = exports.isFtSearchFacetEntry = exports.isFtSearchFacetConf = exports.isFtSearchFacet = exports.isFtSearchResultType = exports.FtSearchResultType = exports.isFtSearchResultTopic = exports.isFtSearchResultMap = exports.isFtSearchResultUnstructuredDocument = exports.isFtSearchResultClusterEntry = exports.isFtSearchResultCluster = exports.isFtSearchRequest = exports.isFtSearchPrior = exports.isFtSearchResults = exports.isFtCollectionDocumentType = exports.FtCollectionDocumentType = exports.isFtPageRequest = exports.isFtOpenMode = exports.FtOpenMode = exports.isFtEditorialType = exports.FtEditorialType = exports.isFtSearchResultsPageInfo = exports.isFtSearchPreset = exports.isFtSearchFilter = exports.isFtSearchPreferencesConfiguration = exports.isFtMetadataPreferenceConfiguration = exports.isFtMapResource = exports.isFtMetadata = exports.isFtSearchLocales = exports.isFtSearchLocale = exports.isFtTopicContentTarget = exports.FtTopicContentTarget = exports.isFtUnstructuredDocument = exports.isFtTopic = exports.isFtTocPage = exports.isFtTocNode = exports.isFtMap = exports.isFtCollectionDocument = exports.isFtCredentials = void 0;
|
|
4
4
|
const isObject = (o) => typeof o === "object" && o != null;
|
|
5
5
|
const isBoolean = (o) => typeof o === "boolean";
|
|
6
6
|
const isNumber = (o) => typeof o === "number";
|
|
@@ -35,6 +35,7 @@ const isFtMap = (o) => {
|
|
|
35
35
|
&& ((0, exports.isFtEditorialType)(o.editorialType))
|
|
36
36
|
&& (isString(o.baseId))
|
|
37
37
|
&& (isString(o.clusterId))
|
|
38
|
+
&& (o.shouldSplitCurrentPageToc == null || isBoolean(o.shouldSplitCurrentPageToc))
|
|
38
39
|
&& (isString(o.title))
|
|
39
40
|
&& (isString(o.lastPublication))
|
|
40
41
|
&& (isString(o.lastEdition))
|
|
@@ -49,13 +50,23 @@ const isFtMap = (o) => {
|
|
|
49
50
|
exports.isFtMap = isFtMap;
|
|
50
51
|
const isFtTocNode = (o) => {
|
|
51
52
|
return isObject(o)
|
|
53
|
+
&& (o.prettyUrl == null || isString(o.prettyUrl))
|
|
52
54
|
&& (isString(o.tocId))
|
|
53
55
|
&& ((Array.isArray(o.children)
|
|
54
56
|
&& o.children.every((v) => (0, exports.isFtTocNode)(v))))
|
|
55
57
|
&& (isString(o.contentId))
|
|
58
|
+
&& (o.page == null || (0, exports.isFtTocPage)(o.page))
|
|
56
59
|
&& (isString(o.title));
|
|
57
60
|
};
|
|
58
61
|
exports.isFtTocNode = isFtTocNode;
|
|
62
|
+
const isFtTocPage = (o) => {
|
|
63
|
+
return isObject(o)
|
|
64
|
+
&& (isBoolean(o.visible))
|
|
65
|
+
&& (isBoolean(o.onItsOwn))
|
|
66
|
+
&& (o.parentsVisibility == null || (Array.isArray(o.parentsVisibility)
|
|
67
|
+
&& o.parentsVisibility.every((v) => isBoolean(v))));
|
|
68
|
+
};
|
|
69
|
+
exports.isFtTocPage = isFtTocPage;
|
|
59
70
|
const isFtTopic = (o) => {
|
|
60
71
|
return isObject(o)
|
|
61
72
|
&& ((Array.isArray(o.metadata)
|
|
@@ -94,9 +105,11 @@ var FtTopicContentTarget;
|
|
|
94
105
|
(function (FtTopicContentTarget) {
|
|
95
106
|
FtTopicContentTarget["THIRD_PARTY"] = "THIRD_PARTY";
|
|
96
107
|
FtTopicContentTarget["OFF_THE_GRID"] = "OFF_THE_GRID";
|
|
108
|
+
FtTopicContentTarget["CONTENT_PACKAGER"] = "CONTENT_PACKAGER";
|
|
109
|
+
FtTopicContentTarget["PAGES"] = "PAGES";
|
|
97
110
|
})(FtTopicContentTarget = exports.FtTopicContentTarget || (exports.FtTopicContentTarget = {}));
|
|
98
111
|
const isFtTopicContentTarget = (o) => {
|
|
99
|
-
return ["THIRD_PARTY", "OFF_THE_GRID"].includes(o);
|
|
112
|
+
return ["THIRD_PARTY", "OFF_THE_GRID", "CONTENT_PACKAGER", "PAGES"].includes(o);
|
|
100
113
|
};
|
|
101
114
|
exports.isFtTopicContentTarget = isFtTopicContentTarget;
|
|
102
115
|
const isFtSearchLocale = (o) => {
|
|
@@ -380,9 +393,7 @@ const isFtSuggestRequest = (o) => {
|
|
|
380
393
|
&& ((Array.isArray(o.sort)
|
|
381
394
|
&& o.sort.every((v) => (0, exports.isFtSearchSortCriterion)(v))))
|
|
382
395
|
&& (o.maxCount == null || isNumber(o.maxCount))
|
|
383
|
-
&& (o.contentLocale == null || isString(o.contentLocale))
|
|
384
|
-
&& (o.priors == null || (Array.isArray(o.priors)
|
|
385
|
-
&& o.priors.every((v) => (0, exports.isFtSearchPrior)(v))));
|
|
396
|
+
&& (o.contentLocale == null || isString(o.contentLocale));
|
|
386
397
|
};
|
|
387
398
|
exports.isFtSuggestRequest = isFtSuggestRequest;
|
|
388
399
|
const isFtSuggestResult = (o) => {
|
package/dist/fluidtopics.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).fluidtopics={})}(this,(function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},r={exports:{}},a={exports:{}};!function(e,t){var r=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==r)return r;throw new Error("unable to locate global object")}();e.exports=t=r.fetch,r.fetch&&(t.default=r.fetch.bind(r)),t.Headers=r.Headers,t.Request=r.Request,t.Response=r.Response}(a,a.exports),function(e,t){const r=a.exports,n=r.default||r,i=function(e,t){return/^\/\//.test(e)&&(e="https:"+e),n.call(this,e,t)};i.ponyfill=!0,e.exports=t=i,t.fetch=i,t.Headers=r.Headers,t.Request=r.Request,t.Response=r.Response,t.default=i}(r,r.exports);const n=r.exports,i=n.fetch.bind({});i.polyfill=!0,t.fetch||(t.fetch=i,t.Response=n.Response,t.Headers=n.Headers,t.Request=n.Request);const s=e=>"object"==typeof e&&null!=e,o=e=>"boolean"==typeof e,l=e=>"number"==typeof e,u=e=>"string"==typeof e,c=e=>s(e)&&u(e.tocId)&&Array.isArray(e.children)&&e.children.every((e=>c(e)))&&u(e.contentId)&&u(e.title);var p;e.FtTopicContentTarget=void 0,(p=e.FtTopicContentTarget||(e.FtTopicContentTarget={})).THIRD_PARTY="THIRD_PARTY",p.OFF_THE_GRID="OFF_THE_GRID";const d=e=>s(e)&&l(e.count)&&u(e.label)&&(null==e.lang||u(e.lang)),h=e=>s(e)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&u(e.label)&&u(e.key),y=e=>s(e)&&Array.isArray(e.filter)&&e.filter.every((e=>u(e)))&&Array.isArray(e.prior)&&e.prior.every((e=>u(e))),f=e=>s(e)&&o(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&u(e.key),g=e=>s(e)&&l(e.totalResultsCount)&&o(e.lastPage)&&l(e.currentPage)&&l(e.totalClustersCount);var m;e.FtEditorialType=void 0,(m=e.FtEditorialType||(e.FtEditorialType={})).ARTICLE="ARTICLE",m.BOOK="BOOK";const A=e=>["ARTICLE","BOOK"].includes(e);var T;e.FtOpenMode=void 0,(T=e.FtOpenMode||(e.FtOpenMode={})).FLUIDTOPICS="FLUIDTOPICS",T.EXTERNAL="EXTERNAL";const b=e=>["FLUIDTOPICS","EXTERNAL"].includes(e),F=e=>s(e)&&(null==e.perPage||l(e.perPage))&&l(e.page);var v;e.FtCollectionDocumentType=void 0,(v=e.FtCollectionDocumentType||(e.FtCollectionDocumentType={})).MAP="MAP",v.DOCUMENT="DOCUMENT",v.TOPIC="TOPIC",v.PERSONAL_BOOK="PERSONAL_BOOK",v.SHARED_BOOK="SHARED_BOOK";const R=e=>["MAP","DOCUMENT","TOPIC","PERSONAL_BOOK","SHARED_BOOK"].includes(e),U=e=>s(e)&&l(e.weight)&&u(e.value)&&u(e.key),C=e=>s(e)&&Array.isArray(e.entries)&&e.entries.every((e=>S(e)))&&(null==e.metadataVariableAxis||u(e.metadataVariableAxis)),S=e=>s(e)&&(null==e.document||E(e.document))&&(null==e.topic||P(e.topic))&&D(e.type)&&(null==e.map||O(e.map)),E=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>h(e)))&&b(e.openMode)&&u(e.documentUrl)&&u(e.mimeType)&&u(e.title)&&(null==e.lastPublicationDate||u(e.lastPublicationDate))&&u(e.viewerUrl)&&u(e.contentUrl)&&u(e.filename)&&u(e.htmlTitle)&&(null==e.originUrl||u(e.originUrl))&&u(e.documentId)&&u(e.lastEditionDate)&&u(e.htmlExcerpt),O=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>h(e)))&&(null==e.openMode||b(e.openMode))&&A(e.editorialType)&&u(e.title)&&(null==e.lastPublicationDate||u(e.lastPublicationDate))&&u(e.htmlTitle)&&(null==e.originUrl||u(e.originUrl))&&u(e.mapUrl)&&u(e.readerUrl)&&u(e.mapId)&&(null==e.lastEditionDate||u(e.lastEditionDate))&&u(e.htmlExcerpt),P=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>h(e)))&&b(e.openMode)&&u(e.contentId)&&Array.isArray(e.resources)&&e.resources.every((e=>$(e)))&&u(e.title)&&u(e.mapTitle)&&u(e.topicUrl)&&u(e.contentUrl)&&u(e.htmlTitle)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>u(e)))&&u(e.tocId)&&(null==e.originUrl||u(e.originUrl))&&u(e.readerUrl)&&u(e.mapId)&&(null==e.lastEditionDate||u(e.lastEditionDate))&&u(e.htmlExcerpt);var w;e.FtSearchResultType=void 0,(w=e.FtSearchResultType||(e.FtSearchResultType={})).MAP="MAP",w.DOCUMENT="DOCUMENT",w.TOPIC="TOPIC";const D=e=>["MAP","DOCUMENT","TOPIC"].includes(e),I=e=>s(e)&&o(e.hierarchical)&&u(e.label)&&o(e.multiSelectionable)&&u(e.key)&&Array.isArray(e.rootNodes)&&e.rootNodes.every((e=>k(e))),M=e=>s(e)&&(null==e.maxDepth||l(e.maxDepth))&&u(e.id),k=e=>s(e)&&l(e.totalResultsCount)&&o(e.descendantSelected)&&Array.isArray(e.childNodes)&&e.childNodes.every((e=>k(e)))&&u(e.label)&&u(e.value)&&o(e.selected),x=e=>s(e)&&u(e.key),L=e=>s(e)&&u(e.suggestedQuery)&&u(e.htmlSuggestedQuery),$=e=>s(e)&&u(e.filename)&&u(e.resourceUrl)&&u(e.id)&&u(e.mimeType)&&u(e.resourceContentUrl)&&u(e.viewerUrl),H=e=>s(e)&&(null==e.filenameExtension||u(e.filenameExtension))&&(null==e.editorialType||A(e.editorialType))&&(null==e.mimeType||u(e.mimeType))&&D(e.type)&&u(e.value),N=e=>"object"==typeof e&&null!=e,_=e=>"boolean"==typeof e,B=e=>"number"==typeof e,q=e=>"string"==typeof e,j=e=>N(e)&&(null==e.emailAddress||q(e.emailAddress))&&(null==e.displayName||q(e.displayName))&&Array.isArray(e.roles)&&q(e.userId),K="undefined"==typeof window?globalThis:window;function z(e){let t={};for(let r in e){let a=e[r];("object"!=typeof a||Array.isArray(a))&&(a={prior:a});for(let e of["prior","filter"])a[e]=Array.isArray(a[e])?a[e]:[a[e]],a[e]=a[e].map((e=>null!=e?""+e:"")).filter((e=>""!==e));t[r]=a}return t}function V(e){return`${e=e??K.__gwt_ft_moduleBase??K.fluidtopicsclient?.__moduleBase??K.__gwt_activeModules?.fluidtopicsclient?.moduleBase}-FluidTopicsUnauthenticatedUserSearchPreferences`}const J="undefined"==typeof window?globalThis:window;class G extends Error{status;statusText;body;constructor(e,t,r){super(`${e} - ${t}: ${r}`),this.status=e,this.statusText=t,this.body=r}}async function X(e){if(!e.ok)throw new G(e.status,e.statusText,await e.text());return e}function Y(e){return"application/json"===e.headers.get("Content-Type")?e.json():e.text()}class Q{tenantBaseUrl;ftCallingApp;authorization={};get defaultHeaders(){return{...this.authorization,"Ft-Calling-App":this.ftCallingApp}}constructor(e,t,r){this.tenantBaseUrl=e.trim().replace(/\/$/,""),r&&void 0!==J.location&&J.location.href.startsWith(this.tenantBaseUrl+"/")?this.ftCallingApp=t:this.ftCallingApp=`ft-public-api/${t}`}setApiKey(e){this.authorization={Authorization:"Bearer "+e}}setCredentials(e,t){var r;this.authorization={Authorization:"Basic "+(r=`${e}:${t}`,"undefined"!=typeof Buffer?Buffer.from(r).toString("base64"):btoa(r))}}clearAuthentication(){this.authorization={}}login(e,t){let r={login:e,password:t,rememberMe:!0};return this.post("/api/authentication/login",r).then((r=>(this.setCredentials(e,t),r)))}logout(){return this.post("/api/authentication/logout").then((()=>this.clearAuthentication()))}getCurrentSession(){return this.get("/api/authentication/current-session")}getMap(e){return this.get(`/api/khub/maps/${e}`)}getTableOfContent(e){return this.get(`/api/khub/maps/${e}/toc`)}getTopic(e,t){return this.get(`/api/khub/maps/${e}/topics/${t}`)}getTopicHTMLContent(e,t,r){return this.get(`/api/khub/maps/${e}/topics/${t}/content${r?"?target="+r:""}`)}getMapAttachments(e){return this.get(`/api/khub/maps/${e}/attachments`)}getMapAttachmentContent(e,t){return this.fetchRawData(`/api/khub/maps/${e}/attachments/${t}/content`)}getMapResources(e){return this.get(`/api/khub/maps/${e}/resources`)}getMapResourceContent(e,t){return this.fetchRawData(`/api/khub/maps/${e}/resources/${t}/content`)}getUnstructuredDocument(e){return this.get(`/api/khub/documents/${e}`)}getUnstructuredDocumentContent(e){return this.fetchRawData(`/api/khub/documents/${e}/content`)}getUnstructuredDocumentTextContent(e){return this.get(`/api/khub/documents/${e}/content/text`)}getCollectionDocuments(e,t){return this.get(`/api/users/${e}/collections/${t}/documents`)}getSuggestions(e){return this.post("/api/khub/suggest",e)}search(e){return this.post("/api/khub/clustered-search",e)}getAvailableSearchLocales(){return this.get("/api/khub/locales")}get(e){return this.makeRequest("GET",e)}post(e,t){return this.makeRequest("POST",e,t)}put(e,t){return this.makeRequest("PUT",e,t)}delete(e){return this.makeRequest("DELETE",e)}async fetch(e,t){const r=t;return e.startsWith("/")||(e="/"+e),await fetch(this.tenantBaseUrl+e,{...r??{},headers:{...this.defaultHeaders,...r?.headers??{}}})}async upload(e,t,r,a=(()=>{})){return new Promise(((n,i)=>{let s=new XMLHttpRequest;s.onload=()=>{if(s.status>=200&&s.status<300){let e="application/json"===s.getResponseHeader("Content-Type")?JSON.parse(s.responseText):s.responseText;n(e)}else i(new G(s.status,s.statusText,s.responseText))},s.upload.onprogress=e=>a(e),s.open(e,this.tenantBaseUrl+t,!0),s.send(r)}))}makeRequest(e,t,r){return this.fetch(t,{method:e,headers:{...null!=r?{"Content-Type":"application/json"}:{}},body:null!=r?JSON.stringify(r):void 0}).then(X).then(Y)}fetchRawData(e){return fetch(this.tenantBaseUrl+e,{headers:this.defaultHeaders}).then(X).then((e=>e.arrayBuffer()))}}e.FluidTopicsApi=Q,e.HttpError=G,e.addUnauthenticatedUserSearchPreferencesChangeHandler=function(e,t){if(K.localStorage){const r=V(t),a=t=>{t.storageArea===K.localStorage&&t.key===r&&e(JSON.parse(t.newValue??"{}"))};return K.addEventListener("storage",a),{removeHandler:()=>K.removeEventListener("storage",a)}}console.error("Cannot handle unauthenticated preferences: local storage is unavailable.")},e.default=Q,e.getUnauthenticatedUserSearchPreferences=function(e){if(K.localStorage)return JSON.parse(K.localStorage.getItem(V(e))??"{}");console.error("Cannot get unauthenticated preferences: local storage is unavailable.")},e.isFtAuthenticatedSession=e=>N(e)&&j(e.profile),e.isFtAuthenticationIdentifier=e=>s(e)&&u(e.identifier)&&u(e.realm),e.isFtCollectionDocument=e=>s(e)&&o(e.deleted)&&(null==e.apiUrl||u(e.apiUrl))&&(null==e.portalUrl||u(e.portalUrl))&&u(e.id)&&u(e.title)&&R(e.type),e.isFtCollectionDocumentType=R,e.isFtCredentials=e=>s(e)&&u(e.password)&&(null==e.newPassword||u(e.newPassword))&&o(e.rememberMe)&&u(e.login),e.isFtEditorialType=A,e.isFtMap=e=>s(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&Array.isArray(e.metadata)&&e.metadata.every((e=>h(e)))&&b(e.openMode)&&u(e.topicsApiEndpoint)&&(null==e.description||u(e.description))&&u(e.attachmentsApiEndpoint)&&A(e.editorialType)&&u(e.baseId)&&u(e.clusterId)&&u(e.title)&&u(e.lastPublication)&&u(e.lastEdition)&&u(e.originId)&&u(e.rightsApiEndpoint)&&(null==e.originUrl||u(e.originUrl))&&u(e.readerUrl)&&(null==e.khubVersion||u(e.khubVersion))&&u(e.id)&&(null==e.lang||u(e.lang)),e.isFtMapAttachment=e=>N(e)&&q(e.file)&&(null==e.size||B(e.size))&&_(e.externalLink)&&q(e.name)&&q(e.id)&&(null==e.mimeType||q(e.mimeType))&&(null==e.viewerUrl||q(e.viewerUrl)),e.isFtMapResource=e=>s(e)&&u(e.contentUrl)&&u(e.filename)&&u(e.id)&&u(e.mimeType),e.isFtMetadata=h,e.isFtMetadataPreferenceConfiguration=y,e.isFtOpenMode=b,e.isFtPageRequest=F,e.isFtSearchFacet=I,e.isFtSearchFacetConf=M,e.isFtSearchFacetEntry=k,e.isFtSearchFilter=f,e.isFtSearchLocale=d,e.isFtSearchLocales=e=>s(e)&&Array.isArray(e.contentLocales)&&e.contentLocales.every((e=>d(e))),e.isFtSearchPreferencesConfiguration=e=>s(e)&&s(e.metadata)&&Object.keys(e.metadata).every((e=>u(e)))&&Object.values(e.metadata).every((e=>y(e))),e.isFtSearchPreset=e=>s(e)&&u(e.name)&&Array.isArray(e.filters)&&e.filters.every((e=>f(e)))&&(null==e.contentLocale||u(e.contentLocale)),e.isFtSearchPrior=U,e.isFtSearchRequest=e=>s(e)&&u(e.query)&&F(e.paging)&&Array.isArray(e.filters)&&e.filters.every((e=>f(e)))&&Array.isArray(e.sort)&&e.sort.every((e=>x(e)))&&(null==e.uiLocale||u(e.uiLocale))&&(null==e.contentLocale||u(e.contentLocale))&&(null==e.priors||Array.isArray(e.priors)&&e.priors.every((e=>U(e))))&&Array.isArray(e.facets)&&e.facets.every((e=>M(e))),e.isFtSearchResultCluster=C,e.isFtSearchResultClusterEntry=S,e.isFtSearchResultMap=O,e.isFtSearchResultTopic=P,e.isFtSearchResultType=D,e.isFtSearchResultUnstructuredDocument=E,e.isFtSearchResults=e=>s(e)&&(null==e.spellcheck||L(e.spellcheck))&&g(e.paging)&&Array.isArray(e.results)&&e.results.every((e=>C(e)))&&Array.isArray(e.facets)&&e.facets.every((e=>I(e))),e.isFtSearchResultsPageInfo=g,e.isFtSearchSortCriterion=x,e.isFtSession=e=>N(e)&&B(e.idleTimeoutInMillis)&&(null==e.profile||j(e.profile))&&_(e.sessionAuthenticated),e.isFtSpellcheck=L,e.isFtSuggestRequest=e=>s(e)&&u(e.input)&&Array.isArray(e.filters)&&e.filters.every((e=>f(e)))&&Array.isArray(e.sort)&&e.sort.every((e=>x(e)))&&(null==e.maxCount||l(e.maxCount))&&(null==e.contentLocale||u(e.contentLocale))&&(null==e.priors||Array.isArray(e.priors)&&e.priors.every((e=>U(e)))),e.isFtSuggestResult=H,e.isFtSuggestResults=e=>s(e)&&Array.isArray(e.suggestions)&&e.suggestions.every((e=>H(e))),e.isFtTocNode=c,e.isFtTopic=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>h(e)))&&u(e.id)&&u(e.contentApiEndpoint)&&u(e.title),e.isFtTopicContentTarget=e=>["THIRD_PARTY","OFF_THE_GRID"].includes(e),e.isFtTopicResource=$,e.isFtUnstructuredDocument=e=>s(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&Array.isArray(e.metadata)&&e.metadata.every((e=>h(e)))&&u(e.openMode)&&(null==e.description||u(e.description))&&u(e.mimeType)&&(null==e.baseId||u(e.baseId))&&(null==e.clusterId||u(e.clusterId))&&u(e.contentApiEndpoint)&&u(e.title)&&(null==e.lastPublication||u(e.lastPublication))&&u(e.viewerUrl)&&u(e.lastEdition)&&u(e.filename)&&(null==e.originId||u(e.originId))&&u(e.rightsApiEndpoint)&&(null==e.originUrl||u(e.originUrl))&&(null==e.khubVersion||u(e.khubVersion))&&u(e.id)&&(null==e.lang||u(e.lang)),e.isFtUserProfile=j,e.setUnauthenticatedUserSearchPreferences=function(e,t){if(K.localStorage){let r={...e,metadata:z(e.metadata??{})};const a=V(t),n=JSON.stringify(r);return K.localStorage.setItem(a,n),K.dispatchEvent(new StorageEvent("storage",{key:a,newValue:n,storageArea:K.localStorage,url:K.location.href})),r}console.error("Cannot set unauthenticated preferences: local storage is unavailable.")}}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).fluidtopics={})}(this,(function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},r={exports:{}},a={exports:{}};!function(e,t){var r=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==r)return r;throw new Error("unable to locate global object")}();e.exports=t=r.fetch,r.fetch&&(t.default=r.fetch.bind(r)),t.Headers=r.Headers,t.Request=r.Request,t.Response=r.Response}(a,a.exports),function(e,t){const r=a.exports,i=r.default||r,n=function(e,t){return/^\/\//.test(e)&&(e="https:"+e),i.call(this,e,t)};n.ponyfill=!0,e.exports=t=n,t.fetch=n,t.Headers=r.Headers,t.Request=r.Request,t.Response=r.Response,t.default=n}(r,r.exports);const i=r.exports,n=i.fetch.bind({});n.polyfill=!0,t.fetch||(t.fetch=n,t.Response=i.Response,t.Headers=i.Headers,t.Request=i.Request);const s=e=>"object"==typeof e&&null!=e,l=e=>"boolean"==typeof e,o=e=>"number"==typeof e,u=e=>"string"==typeof e,c=e=>s(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&u(e.tocId)&&Array.isArray(e.children)&&e.children.every((e=>c(e)))&&u(e.contentId)&&(null==e.page||p(e.page))&&u(e.title),p=e=>s(e)&&l(e.visible)&&l(e.onItsOwn)&&(null==e.parentsVisibility||Array.isArray(e.parentsVisibility)&&e.parentsVisibility.every((e=>l(e))));var d;e.FtTopicContentTarget=void 0,(d=e.FtTopicContentTarget||(e.FtTopicContentTarget={})).THIRD_PARTY="THIRD_PARTY",d.OFF_THE_GRID="OFF_THE_GRID",d.CONTENT_PACKAGER="CONTENT_PACKAGER",d.PAGES="PAGES";const h=e=>s(e)&&o(e.count)&&u(e.label)&&(null==e.lang||u(e.lang)),y=e=>s(e)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&u(e.label)&&u(e.key),f=e=>s(e)&&Array.isArray(e.filter)&&e.filter.every((e=>u(e)))&&Array.isArray(e.prior)&&e.prior.every((e=>u(e))),g=e=>s(e)&&l(e.negative)&&Array.isArray(e.values)&&e.values.every((e=>u(e)))&&u(e.key),m=e=>s(e)&&o(e.totalResultsCount)&&l(e.lastPage)&&o(e.currentPage)&&o(e.totalClustersCount);var A;e.FtEditorialType=void 0,(A=e.FtEditorialType||(e.FtEditorialType={})).ARTICLE="ARTICLE",A.BOOK="BOOK";const T=e=>["ARTICLE","BOOK"].includes(e);var b;e.FtOpenMode=void 0,(b=e.FtOpenMode||(e.FtOpenMode={})).FLUIDTOPICS="FLUIDTOPICS",b.EXTERNAL="EXTERNAL";const F=e=>["FLUIDTOPICS","EXTERNAL"].includes(e),v=e=>s(e)&&(null==e.perPage||o(e.perPage))&&o(e.page);var C;e.FtCollectionDocumentType=void 0,(C=e.FtCollectionDocumentType||(e.FtCollectionDocumentType={})).MAP="MAP",C.DOCUMENT="DOCUMENT",C.TOPIC="TOPIC",C.PERSONAL_BOOK="PERSONAL_BOOK",C.SHARED_BOOK="SHARED_BOOK";const R=e=>["MAP","DOCUMENT","TOPIC","PERSONAL_BOOK","SHARED_BOOK"].includes(e),E=e=>s(e)&&o(e.weight)&&u(e.value)&&u(e.key),S=e=>s(e)&&Array.isArray(e.entries)&&e.entries.every((e=>U(e)))&&(null==e.metadataVariableAxis||u(e.metadataVariableAxis)),U=e=>s(e)&&(null==e.document||P(e.document))&&(null==e.topic||w(e.topic))&&I(e.type)&&(null==e.map||O(e.map)),P=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>y(e)))&&F(e.openMode)&&u(e.documentUrl)&&u(e.mimeType)&&u(e.title)&&(null==e.lastPublicationDate||u(e.lastPublicationDate))&&u(e.viewerUrl)&&u(e.contentUrl)&&u(e.filename)&&u(e.htmlTitle)&&(null==e.originUrl||u(e.originUrl))&&u(e.documentId)&&u(e.lastEditionDate)&&u(e.htmlExcerpt),O=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>y(e)))&&(null==e.openMode||F(e.openMode))&&T(e.editorialType)&&u(e.title)&&(null==e.lastPublicationDate||u(e.lastPublicationDate))&&u(e.htmlTitle)&&(null==e.originUrl||u(e.originUrl))&&u(e.mapUrl)&&u(e.readerUrl)&&u(e.mapId)&&(null==e.lastEditionDate||u(e.lastEditionDate))&&u(e.htmlExcerpt),w=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>y(e)))&&F(e.openMode)&&u(e.contentId)&&Array.isArray(e.resources)&&e.resources.every((e=>_(e)))&&u(e.title)&&u(e.mapTitle)&&u(e.topicUrl)&&u(e.contentUrl)&&u(e.htmlTitle)&&Array.isArray(e.breadcrumb)&&e.breadcrumb.every((e=>u(e)))&&u(e.tocId)&&(null==e.originUrl||u(e.originUrl))&&u(e.readerUrl)&&u(e.mapId)&&(null==e.lastEditionDate||u(e.lastEditionDate))&&u(e.htmlExcerpt);var D;e.FtSearchResultType=void 0,(D=e.FtSearchResultType||(e.FtSearchResultType={})).MAP="MAP",D.DOCUMENT="DOCUMENT",D.TOPIC="TOPIC";const I=e=>["MAP","DOCUMENT","TOPIC"].includes(e),M=e=>s(e)&&l(e.hierarchical)&&u(e.label)&&l(e.multiSelectionable)&&u(e.key)&&Array.isArray(e.rootNodes)&&e.rootNodes.every((e=>x(e))),k=e=>s(e)&&(null==e.maxDepth||o(e.maxDepth))&&u(e.id),x=e=>s(e)&&o(e.totalResultsCount)&&l(e.descendantSelected)&&Array.isArray(e.childNodes)&&e.childNodes.every((e=>x(e)))&&u(e.label)&&u(e.value)&&l(e.selected),L=e=>s(e)&&u(e.key),N=e=>s(e)&&u(e.suggestedQuery)&&u(e.htmlSuggestedQuery),_=e=>s(e)&&u(e.filename)&&u(e.resourceUrl)&&u(e.id)&&u(e.mimeType)&&u(e.resourceContentUrl)&&u(e.viewerUrl),$=e=>s(e)&&(null==e.filenameExtension||u(e.filenameExtension))&&(null==e.editorialType||T(e.editorialType))&&(null==e.mimeType||u(e.mimeType))&&I(e.type)&&u(e.value),H=e=>"object"==typeof e&&null!=e,B=e=>"boolean"==typeof e,q=e=>"number"==typeof e,K=e=>"string"==typeof e,j=e=>H(e)&&(null==e.emailAddress||K(e.emailAddress))&&(null==e.displayName||K(e.displayName))&&Array.isArray(e.roles)&&K(e.userId),V="undefined"==typeof window?globalThis:window;function G(e){let t={};for(let r in e){let a=e[r];("object"!=typeof a||Array.isArray(a))&&(a={prior:a});for(let e of["prior","filter"])a[e]=Array.isArray(a[e])?a[e]:[a[e]],a[e]=a[e].map((e=>null!=e?""+e:"")).filter((e=>""!==e));t[r]=a}return t}function z(e){return`${e}-FluidTopicsUnauthenticatedUserSearchPreferences`}const J="undefined"==typeof window?globalThis:window;class X extends Error{status;statusText;body;constructor(e,t,r){super(`${e} - ${t}: ${r}`),this.status=e,this.statusText=t,this.body=r}}async function Y(e){if(!e.ok)throw new X(e.status,e.statusText,await e.text());return e}function Q(e){return"application/json"===e.headers.get("Content-Type")?e.json():e.text()}class W{tenantBaseUrl;ftCallingApp;authorization={};get defaultHeaders(){return{...this.authorization,"Ft-Calling-App":this.ftCallingApp}}constructor(e,t,r){e=e??J.__gwt_ft_moduleBase??J.fluidtopicsclient?.__moduleBase??J.__gwt_activeModules?.fluidtopicsclient?.moduleBase,this.tenantBaseUrl=e.trim().replace(/\/$/,""),r&&void 0!==J.location&&J.location.href.startsWith(this.tenantBaseUrl+"/")?this.ftCallingApp=t:this.ftCallingApp=`ft-public-api/${t}`}setApiKey(e){this.authorization={Authorization:"Bearer "+e}}setCredentials(e,t){var r;this.authorization={Authorization:"Basic "+(r=`${e}:${t}`,"undefined"!=typeof Buffer?Buffer.from(r).toString("base64"):btoa(r))}}clearAuthentication(){this.authorization={}}login(e,t){let r={login:e,password:t,rememberMe:!0};return this.post("/api/authentication/login",r).then((r=>(this.setCredentials(e,t),r)))}logout(){return this.post("/api/authentication/logout").then((()=>this.clearAuthentication()))}getCurrentSession(){return this.get("/api/authentication/current-session")}getMap(e){return this.get(`/api/khub/maps/${e}`)}getTableOfContent(e){return this.get(`/api/khub/maps/${e}/toc`)}getTopic(e,t){return this.get(`/api/khub/maps/${e}/topics/${t}`)}getTopicHTMLContent(e,t,r){return this.get(`/api/khub/maps/${e}/topics/${t}/content${r?"?target="+r:""}`)}getMapAttachments(e){return this.get(`/api/khub/maps/${e}/attachments`)}getMapAttachmentContent(e,t){return this.fetchRawData(`/api/khub/maps/${e}/attachments/${t}/content`)}getMapResources(e){return this.get(`/api/khub/maps/${e}/resources`)}getMapResourceContent(e,t){return this.fetchRawData(`/api/khub/maps/${e}/resources/${t}/content`)}getUnstructuredDocument(e){return this.get(`/api/khub/documents/${e}`)}getUnstructuredDocumentContent(e){return this.fetchRawData(`/api/khub/documents/${e}/content`)}getUnstructuredDocumentTextContent(e){return this.get(`/api/khub/documents/${e}/content/text`)}getCollectionDocuments(e,t){return this.get(`/api/users/${e}/collections/${t}/documents`)}getSuggestions(e){return this.post("/api/khub/suggest",e)}search(e){return this.post("/api/khub/clustered-search",e)}getAvailableSearchLocales(){return this.get("/api/khub/locales")}get(e){return this.makeRequest("GET",e)}post(e,t){return this.makeRequest("POST",e,t)}put(e,t){return this.makeRequest("PUT",e,t)}delete(e){return this.makeRequest("DELETE",e)}async fetch(e,t){const r=t;return e.startsWith("/")||(e="/"+e),await fetch(this.tenantBaseUrl+e,{...r??{},headers:{...this.defaultHeaders,...r?.headers??{}}})}async upload(e,t,r,a=(()=>{})){return new Promise(((i,n)=>{let s=new XMLHttpRequest;s.onload=()=>{if(s.status>=200&&s.status<300){let e="application/json"===s.getResponseHeader("Content-Type")?JSON.parse(s.responseText):s.responseText;i(e)}else n(new X(s.status,s.statusText,s.responseText))},s.upload.onprogress=e=>a(e),s.open(e,this.tenantBaseUrl+t,!0),s.send(r)}))}makeRequest(e,t,r){return this.fetch(t,{method:e,headers:{...null!=r?{"Content-Type":"application/json"}:{}},body:null!=r?JSON.stringify(r):void 0}).then(Y).then(Q)}fetchRawData(e){return fetch(this.tenantBaseUrl+e,{headers:this.defaultHeaders}).then(Y).then((e=>e.arrayBuffer()))}}e.FluidTopicsApi=W,e.HttpError=X,e.addUnauthenticatedUserSearchPreferencesChangeHandler=function(e,t){if(V.localStorage){const r=z(e),a=e=>{e.storageArea===V.localStorage&&e.key===r&&t(JSON.parse(e.newValue??"{}"))};return V.addEventListener("storage",a),{removeHandler:()=>V.removeEventListener("storage",a)}}console.error("Cannot handle unauthenticated preferences: local storage is unavailable.")},e.default=W,e.getUnauthenticatedUserSearchPreferences=function(e){if(V.localStorage)return JSON.parse(V.localStorage.getItem(z(e))??"{}");console.error("Cannot get unauthenticated preferences: local storage is unavailable.")},e.isFtAuthenticatedSession=e=>H(e)&&j(e.profile),e.isFtAuthenticationIdentifier=e=>s(e)&&u(e.identifier)&&u(e.realm),e.isFtCollectionDocument=e=>s(e)&&l(e.deleted)&&(null==e.apiUrl||u(e.apiUrl))&&(null==e.portalUrl||u(e.portalUrl))&&u(e.id)&&u(e.title)&&R(e.type),e.isFtCollectionDocumentType=R,e.isFtCredentials=e=>s(e)&&u(e.password)&&(null==e.newPassword||u(e.newPassword))&&l(e.rememberMe)&&u(e.login),e.isFtEditorialType=T,e.isFtMap=e=>s(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&Array.isArray(e.metadata)&&e.metadata.every((e=>y(e)))&&F(e.openMode)&&u(e.topicsApiEndpoint)&&(null==e.description||u(e.description))&&u(e.attachmentsApiEndpoint)&&T(e.editorialType)&&u(e.baseId)&&u(e.clusterId)&&(null==e.shouldSplitCurrentPageToc||l(e.shouldSplitCurrentPageToc))&&u(e.title)&&u(e.lastPublication)&&u(e.lastEdition)&&u(e.originId)&&u(e.rightsApiEndpoint)&&(null==e.originUrl||u(e.originUrl))&&u(e.readerUrl)&&(null==e.khubVersion||u(e.khubVersion))&&u(e.id)&&(null==e.lang||u(e.lang)),e.isFtMapAttachment=e=>H(e)&&K(e.file)&&(null==e.size||q(e.size))&&B(e.externalLink)&&K(e.name)&&K(e.id)&&(null==e.mimeType||K(e.mimeType))&&(null==e.viewerUrl||K(e.viewerUrl)),e.isFtMapResource=e=>s(e)&&u(e.contentUrl)&&u(e.filename)&&u(e.id)&&u(e.mimeType),e.isFtMetadata=y,e.isFtMetadataPreferenceConfiguration=f,e.isFtOpenMode=F,e.isFtPageRequest=v,e.isFtSearchFacet=M,e.isFtSearchFacetConf=k,e.isFtSearchFacetEntry=x,e.isFtSearchFilter=g,e.isFtSearchLocale=h,e.isFtSearchLocales=e=>s(e)&&Array.isArray(e.contentLocales)&&e.contentLocales.every((e=>h(e))),e.isFtSearchPreferencesConfiguration=e=>s(e)&&s(e.metadata)&&Object.keys(e.metadata).every((e=>u(e)))&&Object.values(e.metadata).every((e=>f(e))),e.isFtSearchPreset=e=>s(e)&&u(e.name)&&Array.isArray(e.filters)&&e.filters.every((e=>g(e)))&&(null==e.contentLocale||u(e.contentLocale)),e.isFtSearchPrior=E,e.isFtSearchRequest=e=>s(e)&&u(e.query)&&v(e.paging)&&Array.isArray(e.filters)&&e.filters.every((e=>g(e)))&&Array.isArray(e.sort)&&e.sort.every((e=>L(e)))&&(null==e.uiLocale||u(e.uiLocale))&&(null==e.contentLocale||u(e.contentLocale))&&(null==e.priors||Array.isArray(e.priors)&&e.priors.every((e=>E(e))))&&Array.isArray(e.facets)&&e.facets.every((e=>k(e))),e.isFtSearchResultCluster=S,e.isFtSearchResultClusterEntry=U,e.isFtSearchResultMap=O,e.isFtSearchResultTopic=w,e.isFtSearchResultType=I,e.isFtSearchResultUnstructuredDocument=P,e.isFtSearchResults=e=>s(e)&&(null==e.spellcheck||N(e.spellcheck))&&m(e.paging)&&Array.isArray(e.results)&&e.results.every((e=>S(e)))&&Array.isArray(e.facets)&&e.facets.every((e=>M(e))),e.isFtSearchResultsPageInfo=m,e.isFtSearchSortCriterion=L,e.isFtSession=e=>H(e)&&q(e.idleTimeoutInMillis)&&(null==e.profile||j(e.profile))&&B(e.sessionAuthenticated),e.isFtSpellcheck=N,e.isFtSuggestRequest=e=>s(e)&&u(e.input)&&Array.isArray(e.filters)&&e.filters.every((e=>g(e)))&&Array.isArray(e.sort)&&e.sort.every((e=>L(e)))&&(null==e.maxCount||o(e.maxCount))&&(null==e.contentLocale||u(e.contentLocale)),e.isFtSuggestResult=$,e.isFtSuggestResults=e=>s(e)&&Array.isArray(e.suggestions)&&e.suggestions.every((e=>$(e))),e.isFtTocNode=c,e.isFtTocPage=p,e.isFtTopic=e=>s(e)&&Array.isArray(e.metadata)&&e.metadata.every((e=>y(e)))&&u(e.id)&&u(e.contentApiEndpoint)&&u(e.title),e.isFtTopicContentTarget=e=>["THIRD_PARTY","OFF_THE_GRID","CONTENT_PACKAGER","PAGES"].includes(e),e.isFtTopicResource=_,e.isFtUnstructuredDocument=e=>s(e)&&(null==e.prettyUrl||u(e.prettyUrl))&&Array.isArray(e.metadata)&&e.metadata.every((e=>y(e)))&&u(e.openMode)&&(null==e.description||u(e.description))&&u(e.mimeType)&&(null==e.baseId||u(e.baseId))&&(null==e.clusterId||u(e.clusterId))&&u(e.contentApiEndpoint)&&u(e.title)&&(null==e.lastPublication||u(e.lastPublication))&&u(e.viewerUrl)&&u(e.lastEdition)&&u(e.filename)&&(null==e.originId||u(e.originId))&&u(e.rightsApiEndpoint)&&(null==e.originUrl||u(e.originUrl))&&(null==e.khubVersion||u(e.khubVersion))&&u(e.id)&&(null==e.lang||u(e.lang)),e.isFtUserProfile=j,e.setUnauthenticatedUserSearchPreferences=function(e,t){if(V.localStorage){let r={...t,metadata:G(t.metadata??{})};const a=z(e),i=JSON.stringify(r);return V.localStorage.setItem(a,i),V.dispatchEvent(new StorageEvent("storage",{key:a,newValue:i,storageArea:V.localStorage,url:V.location.href})),r}console.error("Cannot set unauthenticated preferences: local storage is unavailable.")}}));
|
package/dist/mjs/index.js
CHANGED
|
@@ -37,6 +37,8 @@ export class FluidTopicsApi {
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
constructor(tenantBaseUrl, integrationIdentifier, overrideIdentifierIfOnTenant) {
|
|
40
|
+
//@ts-ignore
|
|
41
|
+
tenantBaseUrl = tenantBaseUrl ?? wnd.__gwt_ft_moduleBase ?? wnd.fluidtopicsclient?.__moduleBase ?? wnd.__gwt_activeModules?.fluidtopicsclient?.moduleBase;
|
|
40
42
|
this.tenantBaseUrl = tenantBaseUrl.trim().replace(/\/$/, "");
|
|
41
43
|
if (overrideIdentifierIfOnTenant && typeof wnd.location !== "undefined" && wnd.location.href.startsWith(this.tenantBaseUrl + "/")) {
|
|
42
44
|
this.ftCallingApp = integrationIdentifier;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FtMetadataPreferenceConfiguration, FtSearchPreferencesConfiguration } from "../types/ft-common/public";
|
|
2
|
-
export declare function setUnauthenticatedUserSearchPreferences(
|
|
2
|
+
export declare function setUnauthenticatedUserSearchPreferences(tenantBaseUrl: string, input: FtSearchPreferencesConfiguration): {
|
|
3
3
|
metadata: Record<string, FtMetadataPreferenceConfiguration>;
|
|
4
4
|
};
|
|
5
|
-
export declare function getUnauthenticatedUserSearchPreferences(tenantBaseUrl
|
|
5
|
+
export declare function getUnauthenticatedUserSearchPreferences(tenantBaseUrl: string): FtSearchPreferencesConfiguration;
|
|
6
6
|
export declare type HandlerRegistration = {
|
|
7
7
|
removeHandler: () => void;
|
|
8
8
|
};
|
|
9
|
-
export declare function addUnauthenticatedUserSearchPreferencesChangeHandler(handler: (newValue: FtSearchPreferencesConfiguration) => void
|
|
9
|
+
export declare function addUnauthenticatedUserSearchPreferencesChangeHandler(tenantBaseUrl: string, handler: (newValue: FtSearchPreferencesConfiguration) => void): HandlerRegistration;
|
|
@@ -17,11 +17,9 @@ function normalizeMetadataPreferences(metadata) {
|
|
|
17
17
|
return normalized;
|
|
18
18
|
}
|
|
19
19
|
function getStorageKey(tenantBaseUrl) {
|
|
20
|
-
//@ts-ignore
|
|
21
|
-
tenantBaseUrl = tenantBaseUrl ?? wnd.__gwt_ft_moduleBase ?? wnd.fluidtopicsclient?.__moduleBase ?? wnd.__gwt_activeModules?.fluidtopicsclient?.moduleBase;
|
|
22
20
|
return `${tenantBaseUrl}-FluidTopicsUnauthenticatedUserSearchPreferences`;
|
|
23
21
|
}
|
|
24
|
-
export function setUnauthenticatedUserSearchPreferences(
|
|
22
|
+
export function setUnauthenticatedUserSearchPreferences(tenantBaseUrl, input) {
|
|
25
23
|
if (wnd.localStorage) {
|
|
26
24
|
let preferences = {
|
|
27
25
|
...input,
|
|
@@ -46,7 +44,7 @@ export function getUnauthenticatedUserSearchPreferences(tenantBaseUrl) {
|
|
|
46
44
|
}
|
|
47
45
|
console.error("Cannot get unauthenticated preferences: local storage is unavailable.");
|
|
48
46
|
}
|
|
49
|
-
export function addUnauthenticatedUserSearchPreferencesChangeHandler(
|
|
47
|
+
export function addUnauthenticatedUserSearchPreferencesChangeHandler(tenantBaseUrl, handler) {
|
|
50
48
|
if (wnd.localStorage) {
|
|
51
49
|
const key = getStorageKey(tenantBaseUrl);
|
|
52
50
|
const eventListener = (event) => {
|
|
@@ -24,6 +24,7 @@ export interface FtMap {
|
|
|
24
24
|
editorialType: FtEditorialType;
|
|
25
25
|
baseId: string;
|
|
26
26
|
clusterId: string;
|
|
27
|
+
shouldSplitCurrentPageToc?: boolean;
|
|
27
28
|
title: string;
|
|
28
29
|
lastPublication: string;
|
|
29
30
|
lastEdition: string;
|
|
@@ -37,12 +38,20 @@ export interface FtMap {
|
|
|
37
38
|
}
|
|
38
39
|
export declare const isFtMap: (o: any) => o is FtMap;
|
|
39
40
|
export interface FtTocNode {
|
|
41
|
+
prettyUrl?: string;
|
|
40
42
|
tocId: string;
|
|
41
43
|
children: Array<FtTocNode>;
|
|
42
44
|
contentId: string;
|
|
45
|
+
page?: FtTocPage;
|
|
43
46
|
title: string;
|
|
44
47
|
}
|
|
45
48
|
export declare const isFtTocNode: (o: any) => o is FtTocNode;
|
|
49
|
+
export interface FtTocPage {
|
|
50
|
+
visible: boolean;
|
|
51
|
+
onItsOwn: boolean;
|
|
52
|
+
parentsVisibility?: Array<boolean>;
|
|
53
|
+
}
|
|
54
|
+
export declare const isFtTocPage: (o: any) => o is FtTocPage;
|
|
46
55
|
export interface FtTopic {
|
|
47
56
|
metadata: Array<FtMetadata>;
|
|
48
57
|
id: string;
|
|
@@ -74,7 +83,9 @@ export interface FtUnstructuredDocument {
|
|
|
74
83
|
export declare const isFtUnstructuredDocument: (o: any) => o is FtUnstructuredDocument;
|
|
75
84
|
export declare enum FtTopicContentTarget {
|
|
76
85
|
THIRD_PARTY = "THIRD_PARTY",
|
|
77
|
-
OFF_THE_GRID = "OFF_THE_GRID"
|
|
86
|
+
OFF_THE_GRID = "OFF_THE_GRID",
|
|
87
|
+
CONTENT_PACKAGER = "CONTENT_PACKAGER",
|
|
88
|
+
PAGES = "PAGES"
|
|
78
89
|
}
|
|
79
90
|
export declare const isFtTopicContentTarget: (o: any) => o is FtTopicContentTarget;
|
|
80
91
|
export interface FtSearchLocale {
|
|
@@ -169,6 +180,7 @@ export interface FtSearchRequest {
|
|
|
169
180
|
paging: FtPageRequest;
|
|
170
181
|
filters: Array<FtSearchFilter>;
|
|
171
182
|
sort: Array<FtSearchSortCriterion>;
|
|
183
|
+
lastModified?: any;
|
|
172
184
|
uiLocale?: string;
|
|
173
185
|
contentLocale?: string;
|
|
174
186
|
priors?: Array<FtSearchPrior>;
|
|
@@ -295,7 +307,6 @@ export interface FtSuggestRequest {
|
|
|
295
307
|
sort: Array<FtSearchSortCriterion>;
|
|
296
308
|
maxCount?: number;
|
|
297
309
|
contentLocale?: string;
|
|
298
|
-
priors?: Array<FtSearchPrior>;
|
|
299
310
|
}
|
|
300
311
|
export declare const isFtSuggestRequest: (o: any) => o is FtSuggestRequest;
|
|
301
312
|
export interface FtSuggestResult {
|
|
@@ -30,6 +30,7 @@ export const isFtMap = (o) => {
|
|
|
30
30
|
&& (isFtEditorialType(o.editorialType))
|
|
31
31
|
&& (isString(o.baseId))
|
|
32
32
|
&& (isString(o.clusterId))
|
|
33
|
+
&& (o.shouldSplitCurrentPageToc == null || isBoolean(o.shouldSplitCurrentPageToc))
|
|
33
34
|
&& (isString(o.title))
|
|
34
35
|
&& (isString(o.lastPublication))
|
|
35
36
|
&& (isString(o.lastEdition))
|
|
@@ -43,12 +44,21 @@ export const isFtMap = (o) => {
|
|
|
43
44
|
};
|
|
44
45
|
export const isFtTocNode = (o) => {
|
|
45
46
|
return isObject(o)
|
|
47
|
+
&& (o.prettyUrl == null || isString(o.prettyUrl))
|
|
46
48
|
&& (isString(o.tocId))
|
|
47
49
|
&& ((Array.isArray(o.children)
|
|
48
50
|
&& o.children.every((v) => isFtTocNode(v))))
|
|
49
51
|
&& (isString(o.contentId))
|
|
52
|
+
&& (o.page == null || isFtTocPage(o.page))
|
|
50
53
|
&& (isString(o.title));
|
|
51
54
|
};
|
|
55
|
+
export const isFtTocPage = (o) => {
|
|
56
|
+
return isObject(o)
|
|
57
|
+
&& (isBoolean(o.visible))
|
|
58
|
+
&& (isBoolean(o.onItsOwn))
|
|
59
|
+
&& (o.parentsVisibility == null || (Array.isArray(o.parentsVisibility)
|
|
60
|
+
&& o.parentsVisibility.every((v) => isBoolean(v))));
|
|
61
|
+
};
|
|
52
62
|
export const isFtTopic = (o) => {
|
|
53
63
|
return isObject(o)
|
|
54
64
|
&& ((Array.isArray(o.metadata)
|
|
@@ -85,9 +95,11 @@ export var FtTopicContentTarget;
|
|
|
85
95
|
(function (FtTopicContentTarget) {
|
|
86
96
|
FtTopicContentTarget["THIRD_PARTY"] = "THIRD_PARTY";
|
|
87
97
|
FtTopicContentTarget["OFF_THE_GRID"] = "OFF_THE_GRID";
|
|
98
|
+
FtTopicContentTarget["CONTENT_PACKAGER"] = "CONTENT_PACKAGER";
|
|
99
|
+
FtTopicContentTarget["PAGES"] = "PAGES";
|
|
88
100
|
})(FtTopicContentTarget || (FtTopicContentTarget = {}));
|
|
89
101
|
export const isFtTopicContentTarget = (o) => {
|
|
90
|
-
return ["THIRD_PARTY", "OFF_THE_GRID"].includes(o);
|
|
102
|
+
return ["THIRD_PARTY", "OFF_THE_GRID", "CONTENT_PACKAGER", "PAGES"].includes(o);
|
|
91
103
|
};
|
|
92
104
|
export const isFtSearchLocale = (o) => {
|
|
93
105
|
return isObject(o)
|
|
@@ -342,9 +354,7 @@ export const isFtSuggestRequest = (o) => {
|
|
|
342
354
|
&& ((Array.isArray(o.sort)
|
|
343
355
|
&& o.sort.every((v) => isFtSearchSortCriterion(v))))
|
|
344
356
|
&& (o.maxCount == null || isNumber(o.maxCount))
|
|
345
|
-
&& (o.contentLocale == null || isString(o.contentLocale))
|
|
346
|
-
&& (o.priors == null || (Array.isArray(o.priors)
|
|
347
|
-
&& o.priors.every((v) => isFtSearchPrior(v))));
|
|
357
|
+
&& (o.contentLocale == null || isString(o.contentLocale));
|
|
348
358
|
};
|
|
349
359
|
export const isFtSuggestResult = (o) => {
|
|
350
360
|
return isObject(o)
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluid-topics/public-api",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.20",
|
|
4
4
|
"description": "Fluid Topics Public API",
|
|
5
5
|
"author": "Fluid Topics dev team <opensource@antidot.net>",
|
|
6
|
-
"license": "
|
|
6
|
+
"license": "LGPL-3.0-only",
|
|
7
7
|
"main": "dist/cjs/index.js",
|
|
8
8
|
"module": "dist/mjs/index.js",
|
|
9
9
|
"typings": "dist/mjs/index",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"cross-fetch": "^3.1.5"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
+
"@cyclonedx/bom": "^3.10.6",
|
|
23
24
|
"@rollup/plugin-commonjs": "^20.0.0",
|
|
24
25
|
"@rollup/plugin-json": "^4.1.0",
|
|
25
26
|
"@rollup/plugin-node-resolve": "^13.0.4",
|