@orangelogic/orange-dam-content-browser-sdk 2.4.4 → 2.4.5
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/build/OrangeDAMContentBrowserSDK.min.js +317 -316
- package/build/api/asset/asset.types.d.ts +1 -0
- package/build/components/content-browser-asset-proxy-selector/content-browser-asset-proxy-selector.d.ts +1 -0
- package/build/components/content-browser-format-dialog/content-browser-format-dialog.d.ts +7 -1
- package/build/content-browser.mjs +177 -70
- package/build/index.mjs +177 -70
- package/build/tools/fetch-and-merge-assets.d.ts +15 -0
- package/package.json +1 -1
|
@@ -37,6 +37,7 @@ export default class CxContentBrowserAssetProxySelector extends CortexElement {
|
|
|
37
37
|
canUseRepresentative: boolean;
|
|
38
38
|
canUseATS: boolean;
|
|
39
39
|
canUseTracking: boolean;
|
|
40
|
+
proxiesFailed: boolean;
|
|
40
41
|
selected: string;
|
|
41
42
|
disabledSelected: boolean;
|
|
42
43
|
customWidth: string;
|
|
@@ -67,6 +67,7 @@ export default class CxContentBrowserFormatDialog extends CortexElement {
|
|
|
67
67
|
isFavorite: boolean;
|
|
68
68
|
isAssetPinned: boolean;
|
|
69
69
|
proxies: AvailableProxy[];
|
|
70
|
+
proxiesFailed: boolean;
|
|
70
71
|
showVersionHistory: boolean;
|
|
71
72
|
showCustomFormat: boolean;
|
|
72
73
|
loadingVersionHistory: boolean;
|
|
@@ -92,14 +93,19 @@ export default class CxContentBrowserFormatDialog extends CortexElement {
|
|
|
92
93
|
trackingParameters: Parameter[];
|
|
93
94
|
private get shouldAppendAutoExtension();
|
|
94
95
|
private get canUseATS();
|
|
96
|
+
/**
|
|
97
|
+
* One rule for the Insert button and handleProxyConfirm, so an enabled Insert always confirms (L-42BIA4).
|
|
98
|
+
*/
|
|
99
|
+
private get canConfirm();
|
|
95
100
|
handleSupportedExtensionsChange(): void;
|
|
96
|
-
open({ asset, isFavorite, isAssetPinned, proxies, }: {
|
|
101
|
+
open({ asset, isFavorite, isAssetPinned, proxies, proxiesFailed, }: {
|
|
97
102
|
asset: Asset & {
|
|
98
103
|
previewUrl: string;
|
|
99
104
|
};
|
|
100
105
|
isFavorite: boolean;
|
|
101
106
|
isAssetPinned?: boolean;
|
|
102
107
|
proxies: AvailableProxy[];
|
|
108
|
+
proxiesFailed?: boolean;
|
|
103
109
|
}): void;
|
|
104
110
|
hide(): void;
|
|
105
111
|
setVersionHistory(versions: AssetVersion[]): void;
|
|
@@ -109,7 +109,7 @@ var __yieldStar = (value) => {
|
|
|
109
109
|
}, "return" in obj && method("return"), it;
|
|
110
110
|
};
|
|
111
111
|
var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
|
|
112
|
-
var _a, _b, _c, _d, _e, _f, _host, _getContainer, _getItemIndexById, _itemSelector, _anchor, _columnCount, _itemHeight, _pendingRestoreFrames, _restoreSequence, _lastGetDataParameters, _lastMappedAvailableExtensions, _lastData, _hasFetchedOnce;
|
|
112
|
+
var _a, _b, _c, _d, _e, _f, _host, _getContainer, _getItemIndexById, _itemSelector, _anchor, _columnCount, _itemHeight, _pendingRestoreFrames, _restoreSequence, _lastGetDataParameters, _lastMappedAvailableExtensions, _lastData, _hasFetchedOnce, _generation, _inFlight, _queued, _lastPage;
|
|
113
113
|
import CxDrawer from "@orangelogic/design-system/components/drawer";
|
|
114
114
|
import CxFolderSelect from "@orangelogic/design-system/components/folder-select";
|
|
115
115
|
import CxIcon from "@orangelogic/design-system/components/icon";
|
|
@@ -8504,6 +8504,7 @@ let CxContentBrowserAssetProxySelector = class extends CortexElement {
|
|
|
8504
8504
|
this.canUseRepresentative = false;
|
|
8505
8505
|
this.canUseATS = false;
|
|
8506
8506
|
this.canUseTracking = false;
|
|
8507
|
+
this.proxiesFailed = false;
|
|
8507
8508
|
this.selected = "";
|
|
8508
8509
|
this.disabledSelected = false;
|
|
8509
8510
|
this.customWidth = "";
|
|
@@ -8732,7 +8733,10 @@ let CxContentBrowserAssetProxySelector = class extends CortexElement {
|
|
|
8732
8733
|
>
|
|
8733
8734
|
<cx-icon name="warning"></cx-icon>
|
|
8734
8735
|
<cx-typography variant="body3" class="content-browser-asset-proxy-selector__menu-item__name">
|
|
8735
|
-
${this.localize.term(
|
|
8736
|
+
${this.localize.term(
|
|
8737
|
+
// The no-options text names permissions as a possible cause, which a request error is not (L-42BIA4).
|
|
8738
|
+
this.proxiesFailed ? "oopsSomethingWentWrong" : "damViewNoAvailableOptionsForThisAsset"
|
|
8739
|
+
)}
|
|
8736
8740
|
</cx-typography>
|
|
8737
8741
|
</cx-space>
|
|
8738
8742
|
`
|
|
@@ -8765,6 +8769,9 @@ __decorateClass$7([
|
|
|
8765
8769
|
__decorateClass$7([
|
|
8766
8770
|
n$6({ attribute: "can-use-tracking", reflect: true, type: Boolean })
|
|
8767
8771
|
], CxContentBrowserAssetProxySelector.prototype, "canUseTracking", 2);
|
|
8772
|
+
__decorateClass$7([
|
|
8773
|
+
n$6({ attribute: "proxies-failed", reflect: true, type: Boolean })
|
|
8774
|
+
], CxContentBrowserAssetProxySelector.prototype, "proxiesFailed", 2);
|
|
8768
8775
|
__decorateClass$7([
|
|
8769
8776
|
n$6({ attribute: "selected", reflect: true, type: String })
|
|
8770
8777
|
], CxContentBrowserAssetProxySelector.prototype, "selected", 2);
|
|
@@ -9113,6 +9120,7 @@ let CxContentBrowserFormatDialog = class extends CortexElement {
|
|
|
9113
9120
|
this.isFavorite = false;
|
|
9114
9121
|
this.isAssetPinned = false;
|
|
9115
9122
|
this.proxies = [];
|
|
9123
|
+
this.proxiesFailed = false;
|
|
9116
9124
|
this.showVersionHistory = false;
|
|
9117
9125
|
this.showCustomFormat = false;
|
|
9118
9126
|
this.loadingVersionHistory = false;
|
|
@@ -9130,7 +9138,7 @@ let CxContentBrowserFormatDialog = class extends CortexElement {
|
|
|
9130
9138
|
return !!this.autoExtension && this.supportedExtensions.includes(this.autoExtension);
|
|
9131
9139
|
}
|
|
9132
9140
|
get canUseATS() {
|
|
9133
|
-
if (!this.asset) {
|
|
9141
|
+
if (!this.asset || this.filteredProxies.length === 0) {
|
|
9134
9142
|
return false;
|
|
9135
9143
|
}
|
|
9136
9144
|
const extensionList = (this.availableExtensions && this.asset.docType ? uniqBy([
|
|
@@ -9139,6 +9147,18 @@ let CxContentBrowserFormatDialog = class extends CortexElement {
|
|
|
9139
9147
|
], "value") : [{ displayName: this.localize.term("automatic"), value: this.autoExtension }]).filter((item) => this.shouldAppendAutoExtension || item.value !== this.autoExtension);
|
|
9140
9148
|
return this.canCustomFormat && extensionList.some((item) => item.value === this.asset.extension);
|
|
9141
9149
|
}
|
|
9150
|
+
/**
|
|
9151
|
+
* One rule for the Insert button and handleProxyConfirm, so an enabled Insert always confirms (L-42BIA4).
|
|
9152
|
+
*/
|
|
9153
|
+
get canConfirm() {
|
|
9154
|
+
if (!this.asset) {
|
|
9155
|
+
return false;
|
|
9156
|
+
}
|
|
9157
|
+
if (!this.canUseProxies || this.selectedProxy === CUSTOM_FORMAT_VALUE || this.selectedProxy === USE_REPRESENTATIVE_VALUE) {
|
|
9158
|
+
return true;
|
|
9159
|
+
}
|
|
9160
|
+
return this.filteredProxies.some((proxy) => proxy.id === this.selectedProxy);
|
|
9161
|
+
}
|
|
9142
9162
|
handleSupportedExtensionsChange() {
|
|
9143
9163
|
var _a2, _b2;
|
|
9144
9164
|
this.filteredProxies = this.proxies.filter((item) => {
|
|
@@ -9155,12 +9175,14 @@ let CxContentBrowserFormatDialog = class extends CortexElement {
|
|
|
9155
9175
|
asset,
|
|
9156
9176
|
isFavorite,
|
|
9157
9177
|
isAssetPinned = false,
|
|
9158
|
-
proxies
|
|
9178
|
+
proxies,
|
|
9179
|
+
proxiesFailed = false
|
|
9159
9180
|
}) {
|
|
9160
9181
|
this.asset = asset;
|
|
9161
9182
|
this.isFavorite = isFavorite;
|
|
9162
9183
|
this.isAssetPinned = isAssetPinned;
|
|
9163
9184
|
this.proxies = proxies;
|
|
9185
|
+
this.proxiesFailed = proxiesFailed;
|
|
9164
9186
|
this.isOpen = true;
|
|
9165
9187
|
}
|
|
9166
9188
|
hide() {
|
|
@@ -9271,7 +9293,7 @@ let CxContentBrowserFormatDialog = class extends CortexElement {
|
|
|
9271
9293
|
}
|
|
9272
9294
|
handleProxyConfirm() {
|
|
9273
9295
|
var _a2, _b2;
|
|
9274
|
-
if (!this.asset) {
|
|
9296
|
+
if (!this.asset || !this.canConfirm) {
|
|
9275
9297
|
return;
|
|
9276
9298
|
}
|
|
9277
9299
|
if (!this.canUseProxies) {
|
|
@@ -9294,9 +9316,6 @@ let CxContentBrowserFormatDialog = class extends CortexElement {
|
|
|
9294
9316
|
detail: payload
|
|
9295
9317
|
});
|
|
9296
9318
|
} else {
|
|
9297
|
-
if (!selectedProxy && this.selectedProxy !== USE_REPRESENTATIVE_VALUE) {
|
|
9298
|
-
return;
|
|
9299
|
-
}
|
|
9300
9319
|
const payload = this.mapProxyConfirmPayload(this.asset, selectedProxy);
|
|
9301
9320
|
this.loadingConfirm = true;
|
|
9302
9321
|
this.emit("cx-content-browser-format-dialog-proxy-confirm", {
|
|
@@ -9577,11 +9596,12 @@ let CxContentBrowserFormatDialog = class extends CortexElement {
|
|
|
9577
9596
|
}
|
|
9578
9597
|
)}
|
|
9579
9598
|
?can-use-ats=${i3(
|
|
9580
|
-
[this.availableExtensions, this.asset, this.canCustomFormat],
|
|
9599
|
+
[this.availableExtensions, this.asset, this.canCustomFormat, this.filteredProxies],
|
|
9581
9600
|
() => this.canUseATS
|
|
9582
9601
|
)}
|
|
9583
9602
|
?can-use-tracking=${this.canTrack}
|
|
9584
9603
|
?enabled-tracking=${this.enabledTracking}
|
|
9604
|
+
?proxies-failed=${this.proxiesFailed}
|
|
9585
9605
|
?disabled-selected=${this.selectedProxy === CUSTOM_FORMAT_VALUE}
|
|
9586
9606
|
@cx-select=${this.handleProxySelect}
|
|
9587
9607
|
@cx-content-browser-asset-tracking-parameters-change=${this.handleTrackingParametersChange}
|
|
@@ -9682,7 +9702,7 @@ let CxContentBrowserFormatDialog = class extends CortexElement {
|
|
|
9682
9702
|
content = b`
|
|
9683
9703
|
<cx-button
|
|
9684
9704
|
class="content-browser-format__footer__button"
|
|
9685
|
-
?disabled=${this.disabledConfirm}
|
|
9705
|
+
?disabled=${this.disabledConfirm || !this.canConfirm}
|
|
9686
9706
|
?loading=${this.loadingConfirm}
|
|
9687
9707
|
variant="primary"
|
|
9688
9708
|
style=${o$1({
|
|
@@ -9738,6 +9758,7 @@ let CxContentBrowserFormatDialog = class extends CortexElement {
|
|
|
9738
9758
|
this.loadingPinAsset = false;
|
|
9739
9759
|
this.loadingVersionHistory = false;
|
|
9740
9760
|
this.proxies = [];
|
|
9761
|
+
this.proxiesFailed = false;
|
|
9741
9762
|
this.selectedProxy = "";
|
|
9742
9763
|
this.showCustomFormat = false;
|
|
9743
9764
|
this.showVersionHistory = false;
|
|
@@ -9888,6 +9909,9 @@ __decorateClass$5([
|
|
|
9888
9909
|
__decorateClass$5([
|
|
9889
9910
|
r$6()
|
|
9890
9911
|
], CxContentBrowserFormatDialog.prototype, "proxies", 2);
|
|
9912
|
+
__decorateClass$5([
|
|
9913
|
+
r$6()
|
|
9914
|
+
], CxContentBrowserFormatDialog.prototype, "proxiesFailed", 2);
|
|
9891
9915
|
__decorateClass$5([
|
|
9892
9916
|
r$6()
|
|
9893
9917
|
], CxContentBrowserFormatDialog.prototype, "showVersionHistory", 2);
|
|
@@ -13267,6 +13291,13 @@ function apiGetAvailableProxies(_0) {
|
|
|
13267
13291
|
try {
|
|
13268
13292
|
const response = yield http.request({
|
|
13269
13293
|
baseURL: siteUrl,
|
|
13294
|
+
cache: {
|
|
13295
|
+
// A malformed body arrives with HTTP 200, so the default status check would cache the error and
|
|
13296
|
+
// serve it again after the server recovers.
|
|
13297
|
+
cachePredicate: {
|
|
13298
|
+
responseMatch: ({ data }) => !data.isError
|
|
13299
|
+
}
|
|
13300
|
+
},
|
|
13270
13301
|
method: "GET",
|
|
13271
13302
|
params: {
|
|
13272
13303
|
RecordId: assetRecordId
|
|
@@ -13275,16 +13306,18 @@ function apiGetAvailableProxies(_0) {
|
|
|
13275
13306
|
transformResponse: [
|
|
13276
13307
|
...Array.isArray(http.defaults.transformResponse) ? http.defaults.transformResponse : [],
|
|
13277
13308
|
(rawResponse) => {
|
|
13278
|
-
var _a2
|
|
13279
|
-
if (!rawResponse || typeof rawResponse !== "object") {
|
|
13309
|
+
var _a2;
|
|
13310
|
+
if (!rawResponse || typeof rawResponse !== "object" || !Array.isArray(rawResponse.proxies)) {
|
|
13280
13311
|
return {
|
|
13312
|
+
isError: true,
|
|
13281
13313
|
previewUrl: "",
|
|
13282
13314
|
proxies: []
|
|
13283
13315
|
};
|
|
13284
13316
|
}
|
|
13285
13317
|
return {
|
|
13318
|
+
isError: false,
|
|
13286
13319
|
previewUrl: (_a2 = rawResponse.previewUrl) != null ? _a2 : "",
|
|
13287
|
-
proxies:
|
|
13320
|
+
proxies: rawResponse.proxies.map((proxy) => ({
|
|
13288
13321
|
cdnName: proxy.cdnName,
|
|
13289
13322
|
extension: proxy.extension,
|
|
13290
13323
|
formatHeight: proxy.formatHeight,
|
|
@@ -13295,7 +13328,7 @@ function apiGetAvailableProxies(_0) {
|
|
|
13295
13328
|
proxyLabel: proxy.proxyLabel,
|
|
13296
13329
|
proxyName: proxy.proxyName,
|
|
13297
13330
|
width: proxy.width
|
|
13298
|
-
}))
|
|
13331
|
+
}))
|
|
13299
13332
|
};
|
|
13300
13333
|
}
|
|
13301
13334
|
],
|
|
@@ -13304,6 +13337,7 @@ function apiGetAvailableProxies(_0) {
|
|
|
13304
13337
|
return response.data;
|
|
13305
13338
|
} catch (error) {
|
|
13306
13339
|
return {
|
|
13340
|
+
isError: true,
|
|
13307
13341
|
previewUrl: "",
|
|
13308
13342
|
proxies: []
|
|
13309
13343
|
};
|
|
@@ -13729,6 +13763,10 @@ class FetchAndMergeAssetsController {
|
|
|
13729
13763
|
__privateAdd(this, _lastMappedAvailableExtensions);
|
|
13730
13764
|
__privateAdd(this, _lastData);
|
|
13731
13765
|
__privateAdd(this, _hasFetchedOnce);
|
|
13766
|
+
__privateAdd(this, _generation);
|
|
13767
|
+
__privateAdd(this, _inFlight);
|
|
13768
|
+
__privateAdd(this, _queued);
|
|
13769
|
+
__privateAdd(this, _lastPage);
|
|
13732
13770
|
var _a2, _b2;
|
|
13733
13771
|
this.availableFacets = [];
|
|
13734
13772
|
this.facets = [];
|
|
@@ -13752,6 +13790,10 @@ class FetchAndMergeAssetsController {
|
|
|
13752
13790
|
this.responseInterceptorId = null;
|
|
13753
13791
|
this._debouncePromise = null;
|
|
13754
13792
|
this._debounceResolve = null;
|
|
13793
|
+
__privateSet(this, _generation, 0);
|
|
13794
|
+
__privateSet(this, _inFlight, []);
|
|
13795
|
+
__privateSet(this, _queued, false);
|
|
13796
|
+
__privateSet(this, _lastPage, null);
|
|
13755
13797
|
this.host = host;
|
|
13756
13798
|
this.availableDocTypes = availableDocTypes;
|
|
13757
13799
|
this.defaultFolderId = defaultFolderId;
|
|
@@ -13983,11 +14025,19 @@ class FetchAndMergeAssetsController {
|
|
|
13983
14025
|
fetchAndMergeAssets(request) {
|
|
13984
14026
|
return __async(this, null, function* () {
|
|
13985
14027
|
var _a2;
|
|
13986
|
-
this.loading = true;
|
|
13987
|
-
this.host.requestUpdate();
|
|
13988
14028
|
if (request.start === null) {
|
|
13989
14029
|
return;
|
|
13990
14030
|
}
|
|
14031
|
+
const isRestart = this.isRestart(request);
|
|
14032
|
+
if (!isRestart && this.isBusy()) {
|
|
14033
|
+
return;
|
|
14034
|
+
}
|
|
14035
|
+
if (isRestart) {
|
|
14036
|
+
__privateSet(this, _generation, __privateGet(this, _generation) + 1);
|
|
14037
|
+
}
|
|
14038
|
+
const generation = __privateGet(this, _generation);
|
|
14039
|
+
this.loading = true;
|
|
14040
|
+
this.host.requestUpdate();
|
|
13991
14041
|
if (this._debounceTimeout) {
|
|
13992
14042
|
clearTimeout(this._debounceTimeout);
|
|
13993
14043
|
this._debounceTimeout = void 0;
|
|
@@ -13995,61 +14045,105 @@ class FetchAndMergeAssetsController {
|
|
|
13995
14045
|
(_a2 = this._debouncePromise) != null ? _a2 : this._debouncePromise = new Promise((resolve) => {
|
|
13996
14046
|
this._debounceResolve = resolve;
|
|
13997
14047
|
});
|
|
14048
|
+
__privateSet(this, _queued, true);
|
|
13998
14049
|
this._debounceTimeout = setTimeout(() => __async(this, null, function* () {
|
|
13999
|
-
var _a3, _b2, _c2, _d2, _e2, _f2, _g
|
|
14000
|
-
|
|
14001
|
-
|
|
14002
|
-
|
|
14003
|
-
|
|
14004
|
-
|
|
14005
|
-
|
|
14050
|
+
var _a3, _b2, _c2, _d2, _e2, _f2, _g;
|
|
14051
|
+
__privateSet(this, _queued, false);
|
|
14052
|
+
__privateGet(this, _inFlight).push(generation);
|
|
14053
|
+
try {
|
|
14054
|
+
if (Object.keys(this.sortOrders).length === 0) {
|
|
14055
|
+
const sortOrders = yield apiGetSortOrders();
|
|
14056
|
+
this.sortOrders = sortOrders;
|
|
14057
|
+
}
|
|
14058
|
+
if (generation !== __privateGet(this, _generation)) {
|
|
14059
|
+
return;
|
|
14060
|
+
}
|
|
14061
|
+
if (!__privateGet(this, _hasFetchedOnce)) {
|
|
14062
|
+
request = __spreadProps(__spreadValues({}, request), {
|
|
14063
|
+
// Keep a folder the host already resolved (e.g. the auto-selected initial folder).
|
|
14064
|
+
folderId: request.folderId || this.defaultFolderId,
|
|
14065
|
+
isSeeThrough: (_a3 = request.isSeeThrough) != null ? _a3 : this.defaultIsSeeThrough,
|
|
14066
|
+
searchText: (_b2 = request.searchText) != null ? _b2 : this.defaultSearchText,
|
|
14067
|
+
selectedFacets: (_c2 = request.selectedFacets) != null ? _c2 : this.defaultSelectedFacets,
|
|
14068
|
+
sortDirection: (_d2 = request.sortDirection) != null ? _d2 : this.defaultSortDirection,
|
|
14069
|
+
sortOrderName: (_e2 = request.sortOrderName) != null ? _e2 : this.defaultSortOrderName
|
|
14070
|
+
});
|
|
14071
|
+
}
|
|
14072
|
+
let sortOrder;
|
|
14073
|
+
if (request.sortOrderName && request.sortDirection) {
|
|
14074
|
+
const sortOrders = this.sortOrders[request.sortOrderName];
|
|
14075
|
+
sortOrder = (_f2 = sortOrders == null ? void 0 : sortOrders.find((item) => {
|
|
14076
|
+
var _a4;
|
|
14077
|
+
return item.sortDirection.toLowerCase() === ((_a4 = request.sortDirection) == null ? void 0 : _a4.toLowerCase());
|
|
14078
|
+
})) == null ? void 0 : _f2.id;
|
|
14079
|
+
if (!sortOrder && (sortOrders == null ? void 0 : sortOrders[0])) {
|
|
14080
|
+
sortOrder = sortOrders[0].id;
|
|
14081
|
+
request.sortDirection = sortOrders[0].sortDirection;
|
|
14082
|
+
}
|
|
14083
|
+
}
|
|
14006
14084
|
request = __spreadProps(__spreadValues({}, request), {
|
|
14007
|
-
|
|
14008
|
-
folderId: request.folderId || this.defaultFolderId,
|
|
14009
|
-
isSeeThrough: (_d2 = request.isSeeThrough) != null ? _d2 : this.defaultIsSeeThrough,
|
|
14010
|
-
searchText: (_e2 = request.searchText) != null ? _e2 : this.defaultSearchText,
|
|
14011
|
-
selectedFacets: (_f2 = request.selectedFacets) != null ? _f2 : this.defaultSelectedFacets,
|
|
14012
|
-
sortDirection: (_g = request.sortDirection) != null ? _g : this.defaultSortDirection,
|
|
14013
|
-
sortOrderName: (_h = request.sortOrderName) != null ? _h : this.defaultSortOrderName
|
|
14085
|
+
limitedToDocTypes: this.availableDocTypes
|
|
14014
14086
|
});
|
|
14015
|
-
|
|
14016
|
-
|
|
14017
|
-
|
|
14018
|
-
|
|
14019
|
-
|
|
14020
|
-
|
|
14021
|
-
return item.sortDirection.toLowerCase() === ((_a4 = request.sortDirection) == null ? void 0 : _a4.toLowerCase());
|
|
14022
|
-
})) == null ? void 0 : _i.id;
|
|
14023
|
-
if (!sortOrder && (sortOrders == null ? void 0 : sortOrders[0])) {
|
|
14024
|
-
sortOrder = sortOrders[0].id;
|
|
14025
|
-
request.sortDirection = sortOrders[0].sortDirection;
|
|
14087
|
+
this.lastRequest = request;
|
|
14088
|
+
const assets = yield apiGetAssets(__spreadProps(__spreadValues({}, request), {
|
|
14089
|
+
sortOrder
|
|
14090
|
+
}));
|
|
14091
|
+
if (generation !== __privateGet(this, _generation)) {
|
|
14092
|
+
return;
|
|
14026
14093
|
}
|
|
14094
|
+
if (isRestart) {
|
|
14095
|
+
this.items = assets.items;
|
|
14096
|
+
} else {
|
|
14097
|
+
this.items = uniqBy([...this.items, ...assets.items], "recordId");
|
|
14098
|
+
}
|
|
14099
|
+
this.facets = this.mergeFacetsWithSelected(assets.facets, this.facets, request.selectedFacets);
|
|
14100
|
+
this.totalCount = assets.totalCount;
|
|
14101
|
+
__privateSet(this, _lastPage, {
|
|
14102
|
+
pageSize: request.pageSize || assets.items.length,
|
|
14103
|
+
start: (_g = request.start) != null ? _g : 0
|
|
14104
|
+
});
|
|
14105
|
+
__privateSet(this, _hasFetchedOnce, true);
|
|
14106
|
+
if (this._debounceResolve) {
|
|
14107
|
+
this._debounceResolve(this.lastRequest);
|
|
14108
|
+
}
|
|
14109
|
+
this._debouncePromise = null;
|
|
14110
|
+
this._debounceResolve = null;
|
|
14111
|
+
} finally {
|
|
14112
|
+
const index = __privateGet(this, _inFlight).indexOf(generation);
|
|
14113
|
+
if (index >= 0) {
|
|
14114
|
+
__privateGet(this, _inFlight).splice(index, 1);
|
|
14115
|
+
}
|
|
14116
|
+
this.loading = this.isBusy();
|
|
14117
|
+
this.host.requestUpdate();
|
|
14027
14118
|
}
|
|
14028
|
-
request = __spreadProps(__spreadValues({}, request), {
|
|
14029
|
-
limitedToDocTypes: this.availableDocTypes
|
|
14030
|
-
});
|
|
14031
|
-
this.lastRequest = request;
|
|
14032
|
-
const assets = yield apiGetAssets(__spreadProps(__spreadValues({}, request), {
|
|
14033
|
-
sortOrder
|
|
14034
|
-
}));
|
|
14035
|
-
if (request.start && request.start > 0 && !forceRefetch) {
|
|
14036
|
-
this.items = uniqBy([...this.items, ...assets.items], "recordId");
|
|
14037
|
-
} else {
|
|
14038
|
-
this.items = assets.items;
|
|
14039
|
-
}
|
|
14040
|
-
this.facets = this.mergeFacetsWithSelected(assets.facets, this.facets, request.selectedFacets);
|
|
14041
|
-
this.totalCount = assets.totalCount;
|
|
14042
|
-
this.loading = false;
|
|
14043
|
-
__privateSet(this, _hasFetchedOnce, true);
|
|
14044
|
-
this.host.requestUpdate();
|
|
14045
|
-
if (this._debounceResolve) {
|
|
14046
|
-
this._debounceResolve(this.lastRequest);
|
|
14047
|
-
}
|
|
14048
|
-
this._debouncePromise = null;
|
|
14049
|
-
this._debounceResolve = null;
|
|
14050
14119
|
}), 200);
|
|
14051
14120
|
});
|
|
14052
14121
|
}
|
|
14122
|
+
/**
|
|
14123
|
+
* Where the next page of the list on screen starts, or `null` while a request of that list is queued
|
|
14124
|
+
* or in flight. The start follows the last accepted page, not the last request sent, so a page that
|
|
14125
|
+
* was dropped or discarded never leaves a gap. `lastPageSize` is the size of that accepted page.
|
|
14126
|
+
*/
|
|
14127
|
+
getNextPage() {
|
|
14128
|
+
var _a2, _b2;
|
|
14129
|
+
if (this.isBusy()) {
|
|
14130
|
+
return null;
|
|
14131
|
+
}
|
|
14132
|
+
return {
|
|
14133
|
+
lastPageSize: (_b2 = (_a2 = __privateGet(this, _lastPage)) == null ? void 0 : _a2.pageSize) != null ? _b2 : 0,
|
|
14134
|
+
start: __privateGet(this, _lastPage) ? __privateGet(this, _lastPage).start + __privateGet(this, _lastPage).pageSize : 0
|
|
14135
|
+
};
|
|
14136
|
+
}
|
|
14137
|
+
isBusy() {
|
|
14138
|
+
return __privateGet(this, _queued) || __privateGet(this, _inFlight).includes(__privateGet(this, _generation));
|
|
14139
|
+
}
|
|
14140
|
+
/**
|
|
14141
|
+
* A request that starts a new list: the first page, or the same page asked for with a larger page size.
|
|
14142
|
+
*/
|
|
14143
|
+
isRestart(request) {
|
|
14144
|
+
var _a2, _b2;
|
|
14145
|
+
return !request.start || request.start === ((_a2 = this.lastRequest) == null ? void 0 : _a2.start) && !!request.pageSize && !!((_b2 = this.lastRequest) == null ? void 0 : _b2.pageSize) && request.pageSize > this.lastRequest.pageSize;
|
|
14146
|
+
}
|
|
14053
14147
|
fetchAssetFavoriteStatus(id) {
|
|
14054
14148
|
return __async(this, null, function* () {
|
|
14055
14149
|
return apiGetAssetFavoriteStatus({
|
|
@@ -14059,7 +14153,7 @@ class FetchAndMergeAssetsController {
|
|
|
14059
14153
|
}
|
|
14060
14154
|
fetchAssetByID(id, options) {
|
|
14061
14155
|
return __async(this, null, function* () {
|
|
14062
|
-
var _a2, _b2, _c2, _d2, _e2, _f2, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
14156
|
+
var _a2, _b2, _c2, _d2, _e2, _f2, _g, _h, _i, _j, _k, _l, _m, _n, _o;
|
|
14063
14157
|
const { allowedExtensions = [], canFavorite = false, simplePick = false } = options != null ? options : {};
|
|
14064
14158
|
const promises = [
|
|
14065
14159
|
apiGetAssetsByIDs({
|
|
@@ -14139,7 +14233,8 @@ class FetchAndMergeAssetsController {
|
|
|
14139
14233
|
}
|
|
14140
14234
|
return proxyExtension.toLowerCase() === extension.toLowerCase();
|
|
14141
14235
|
});
|
|
14142
|
-
})
|
|
14236
|
+
}),
|
|
14237
|
+
proxiesFailed: (_o = proxyData == null ? void 0 : proxyData.isError) != null ? _o : false
|
|
14143
14238
|
};
|
|
14144
14239
|
});
|
|
14145
14240
|
}
|
|
@@ -14239,12 +14334,17 @@ class FetchAndMergeAssetsController {
|
|
|
14239
14334
|
this.items = [];
|
|
14240
14335
|
this.totalCount = 0;
|
|
14241
14336
|
this.sortOrders = {};
|
|
14337
|
+
__privateSet(this, _lastPage, null);
|
|
14242
14338
|
}
|
|
14243
14339
|
}
|
|
14244
14340
|
_lastGetDataParameters = new WeakMap();
|
|
14245
14341
|
_lastMappedAvailableExtensions = new WeakMap();
|
|
14246
14342
|
_lastData = new WeakMap();
|
|
14247
14343
|
_hasFetchedOnce = new WeakMap();
|
|
14344
|
+
_generation = new WeakMap();
|
|
14345
|
+
_inFlight = new WeakMap();
|
|
14346
|
+
_queued = new WeakMap();
|
|
14347
|
+
_lastPage = new WeakMap();
|
|
14248
14348
|
function safeInteger(value) {
|
|
14249
14349
|
if (Number.isNaN(value) || !Number.isInteger(value)) {
|
|
14250
14350
|
return 0;
|
|
@@ -14575,10 +14675,13 @@ let CxContentBrowser = class extends CortexElement {
|
|
|
14575
14675
|
}
|
|
14576
14676
|
handleScrollEnd() {
|
|
14577
14677
|
return __async(this, null, function* () {
|
|
14578
|
-
const
|
|
14678
|
+
const nextPage = this.fetchAndMergeAssetsController.getNextPage();
|
|
14679
|
+
if (!nextPage) {
|
|
14680
|
+
return;
|
|
14681
|
+
}
|
|
14579
14682
|
this.lastRequest = __spreadProps(__spreadValues({}, this.lastRequest), {
|
|
14580
14683
|
pageSize: this.defaultPageSize,
|
|
14581
|
-
start:
|
|
14684
|
+
start: nextPage.start
|
|
14582
14685
|
});
|
|
14583
14686
|
yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
|
|
14584
14687
|
});
|
|
@@ -14625,13 +14728,17 @@ let CxContentBrowser = class extends CortexElement {
|
|
|
14625
14728
|
}
|
|
14626
14729
|
return;
|
|
14627
14730
|
}
|
|
14731
|
+
const nextPage = this.fetchAndMergeAssetsController.getNextPage();
|
|
14732
|
+
if (!nextPage) {
|
|
14733
|
+
return;
|
|
14734
|
+
}
|
|
14628
14735
|
const totalCount = this.fetchAndMergeAssetsController.getData().totalCount;
|
|
14629
|
-
const newStart =
|
|
14630
|
-
if (newPageSize <=
|
|
14736
|
+
const newStart = nextPage.start;
|
|
14737
|
+
if (newPageSize <= nextPage.lastPageSize || newPageSize === 0 || newStart > totalCount) {
|
|
14631
14738
|
return;
|
|
14632
14739
|
}
|
|
14633
14740
|
this.lastRequest = __spreadProps(__spreadValues({}, this.lastRequest), {
|
|
14634
|
-
pageSize: newPageSize -
|
|
14741
|
+
pageSize: newPageSize - nextPage.lastPageSize,
|
|
14635
14742
|
start: newStart
|
|
14636
14743
|
});
|
|
14637
14744
|
yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
|