@orangelogic/orange-dam-content-browser-sdk 2.3.7 → 2.3.8-Beta-2

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.
@@ -96,8 +96,17 @@ export default class CxContentBrowser extends CortexElement {
96
96
  isMobile: boolean;
97
97
  private defaultPageSize;
98
98
  private fetchAndMergeAssetsController;
99
+ /**
100
+ * Without a default folder, the folder browser auto-selects Library (or the first allowed folder)
101
+ * once its list loads. The first grid fetch waits for that pick so the grid doesn't show an
102
+ * unscoped search and then replace it. The timeout covers an empty or failed folder list.
103
+ */
104
+ private initialFolderPending;
105
+ private initialFolderTimeout;
99
106
  willUpdate(changedProperties: PropertyValues): void;
100
107
  runFirstUpdated(): void;
108
+ connectedCallback(): void;
109
+ disconnectedCallback(): void;
101
110
  fetchAssets(request: GetAssetsRequest): Promise<import("../../api/asset/asset.types").GetAssetsResponse>;
102
111
  fetchFolders(request: GetFolderRequest): Promise<import("../../types/folder").GetFolderResponse>;
103
112
  selectAsset(id: string): Promise<void>;
@@ -117,6 +126,8 @@ export default class CxContentBrowser extends CortexElement {
117
126
  private handleFolderSelectionChange;
118
127
  private handleSearchChange;
119
128
  private handleGridResize;
129
+ private clearInitialFolderPending;
130
+ private releaseInitialFolder;
120
131
  private handleGridClick;
121
132
  private handleVersionHistoryOpen;
122
133
  private handleFavoriteChange;
@@ -5964,7 +5964,9 @@ let CxContentBrowserBrowser = class extends CortexElement {
5964
5964
  handleFirstFetchCallback(data) {
5965
5965
  var _a2, _b2;
5966
5966
  let first = null;
5967
- if (this.allowedFolders.length) {
5967
+ if (this.folderId) {
5968
+ first = data.find((item) => item.id === this.folderId);
5969
+ } else if (this.allowedFolders.length) {
5968
5970
  first = (_a2 = data.find((item) => this.allowedFolders.includes(item.id))) != null ? _a2 : data[0];
5969
5971
  } else {
5970
5972
  first = (_b2 = data.find((item) => item.title === LIBRARY_FOLDER_TITLE)) != null ? _b2 : data[0];
@@ -13989,7 +13991,7 @@ class FetchAndMergeAssetsController {
13989
13991
  this._debounceResolve = resolve;
13990
13992
  });
13991
13993
  this._debounceTimeout = setTimeout(() => __async(this, null, function* () {
13992
- var _a3, _b2, _c2, _d2, _e2;
13994
+ var _a3, _b2, _c2, _d2, _e2, _f2, _g, _h, _i;
13993
13995
  if (Object.keys(this.sortOrders).length === 0) {
13994
13996
  const sortOrders = yield apiGetSortOrders();
13995
13997
  this.sortOrders = sortOrders;
@@ -13997,23 +13999,25 @@ class FetchAndMergeAssetsController {
13997
13999
  const forceRefetch = request.start === ((_a3 = this.lastRequest) == null ? void 0 : _a3.start) && !!request.pageSize && !!((_b2 = this.lastRequest) == null ? void 0 : _b2.pageSize) && request.pageSize > ((_c2 = this.lastRequest) == null ? void 0 : _c2.pageSize);
13998
14000
  if (!__privateGet(this, _hasFetchedOnce)) {
13999
14001
  request = __spreadProps(__spreadValues({}, request), {
14000
- folderId: this.defaultFolderId,
14001
- isSeeThrough: this.defaultIsSeeThrough,
14002
- searchText: this.defaultSearchText,
14003
- selectedFacets: this.defaultSelectedFacets,
14004
- sortDirection: this.defaultSortDirection,
14005
- sortOrderName: this.defaultSortOrderName
14002
+ // Keep a folder the host already resolved (e.g. the auto-selected initial folder).
14003
+ folderId: request.folderId || this.defaultFolderId,
14004
+ isSeeThrough: (_d2 = request.isSeeThrough) != null ? _d2 : this.defaultIsSeeThrough,
14005
+ searchText: (_e2 = request.searchText) != null ? _e2 : this.defaultSearchText,
14006
+ selectedFacets: (_f2 = request.selectedFacets) != null ? _f2 : this.defaultSelectedFacets,
14007
+ sortDirection: (_g = request.sortDirection) != null ? _g : this.defaultSortDirection,
14008
+ sortOrderName: (_h = request.sortOrderName) != null ? _h : this.defaultSortOrderName
14006
14009
  });
14007
14010
  }
14008
14011
  let sortOrder;
14009
14012
  if (request.sortOrderName && request.sortDirection) {
14010
- sortOrder = (_e2 = (_d2 = this.sortOrders[request.sortOrderName]) == null ? void 0 : _d2.find((item) => {
14013
+ const sortOrders = this.sortOrders[request.sortOrderName];
14014
+ sortOrder = (_i = sortOrders == null ? void 0 : sortOrders.find((item) => {
14011
14015
  var _a4;
14012
14016
  return item.sortDirection.toLowerCase() === ((_a4 = request.sortDirection) == null ? void 0 : _a4.toLowerCase());
14013
- })) == null ? void 0 : _e2.id;
14014
- if (!sortOrder && this.sortOrders[request.sortOrderName][0]) {
14015
- sortOrder = this.sortOrders[request.sortOrderName][0].id;
14016
- request.sortDirection = this.sortOrders[request.sortOrderName][0].sortDirection;
14017
+ })) == null ? void 0 : _i.id;
14018
+ if (!sortOrder && (sortOrders == null ? void 0 : sortOrders[0])) {
14019
+ sortOrder = sortOrders[0].id;
14020
+ request.sortDirection = sortOrders[0].sortDirection;
14017
14021
  }
14018
14022
  }
14019
14023
  request = __spreadProps(__spreadValues({}, request), {
@@ -14296,6 +14300,7 @@ const COMPUTED_FIELDS = ["ScrubUrl", "AllowATSLink"];
14296
14300
  const MOBILE_WIDTH_THRESHOLD = 480;
14297
14301
  const FORCE_OVERLAY_THRESHOLD = 650;
14298
14302
  const PERSISTENT_DRAWER_WIDTH = 400;
14303
+ const INITIAL_FOLDER_TIMEOUT_MS = 3e3;
14299
14304
  let CxContentBrowser = class extends CortexElement {
14300
14305
  constructor() {
14301
14306
  super(...arguments);
@@ -14366,6 +14371,7 @@ let CxContentBrowser = class extends CortexElement {
14366
14371
  this.selectedAssetId = void 0;
14367
14372
  this.isMobile = false;
14368
14373
  this.defaultPageSize = 10;
14374
+ this.initialFolderPending = false;
14369
14375
  }
14370
14376
  willUpdate(changedProperties) {
14371
14377
  super.willUpdate(changedProperties);
@@ -14396,6 +14402,10 @@ let CxContentBrowser = class extends CortexElement {
14396
14402
  sortDirection: this.defaultSortDirection,
14397
14403
  sortOrderName: this.defaultSortOrderName
14398
14404
  });
14405
+ if (!this.defaultFolderId) {
14406
+ this.initialFolderPending = true;
14407
+ this.initialFolderTimeout = setTimeout(() => this.releaseInitialFolder(), INITIAL_FOLDER_TIMEOUT_MS);
14408
+ }
14399
14409
  this.updateComplete.then(() => {
14400
14410
  this.fetchAndMergeAssetsController = new FetchAndMergeAssetsController(this, {
14401
14411
  availableDocTypes: this.availableDocTypes,
@@ -14413,6 +14423,17 @@ let CxContentBrowser = class extends CortexElement {
14413
14423
  this.requestUpdate();
14414
14424
  });
14415
14425
  }
14426
+ connectedCallback() {
14427
+ super.connectedCallback();
14428
+ if (this.initialFolderPending && this.initialFolderTimeout === void 0) {
14429
+ this.initialFolderTimeout = setTimeout(() => this.releaseInitialFolder(), INITIAL_FOLDER_TIMEOUT_MS);
14430
+ }
14431
+ }
14432
+ disconnectedCallback() {
14433
+ super.disconnectedCallback();
14434
+ clearTimeout(this.initialFolderTimeout);
14435
+ this.initialFolderTimeout = void 0;
14436
+ }
14416
14437
  fetchAssets(request) {
14417
14438
  return __async(this, null, function* () {
14418
14439
  return yield this.fetchAndMergeAssetsController.fetchAssets(request);
@@ -14506,7 +14527,9 @@ let CxContentBrowser = class extends CortexElement {
14506
14527
  sortOrderName,
14507
14528
  start: 0
14508
14529
  });
14509
- yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14530
+ if (!this.initialFolderPending) {
14531
+ yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14532
+ }
14510
14533
  });
14511
14534
  }
14512
14535
  handleFilterChange(event) {
@@ -14515,7 +14538,9 @@ let CxContentBrowser = class extends CortexElement {
14515
14538
  selectedFacets: event.detail.selection,
14516
14539
  start: 0
14517
14540
  });
14518
- yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14541
+ if (!this.initialFolderPending) {
14542
+ yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14543
+ }
14519
14544
  });
14520
14545
  }
14521
14546
  handleViewChange(event) {
@@ -14525,7 +14550,9 @@ let CxContentBrowser = class extends CortexElement {
14525
14550
  isSeeThrough: event.detail.isSeeThrough,
14526
14551
  start: 0
14527
14552
  });
14528
- yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14553
+ if (!this.initialFolderPending) {
14554
+ yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14555
+ }
14529
14556
  }
14530
14557
  switch (event.detail.view) {
14531
14558
  case GridView.Large:
@@ -14562,6 +14589,7 @@ let CxContentBrowser = class extends CortexElement {
14562
14589
  if (!folderId || folderId === this.lastRequest.folderId) {
14563
14590
  return;
14564
14591
  }
14592
+ this.clearInitialFolderPending();
14565
14593
  this.lastRequest = __spreadProps(__spreadValues({}, this.lastRequest), {
14566
14594
  folderId,
14567
14595
  start: 0
@@ -14575,13 +14603,23 @@ let CxContentBrowser = class extends CortexElement {
14575
14603
  searchText: event.detail.searchText,
14576
14604
  start: 0
14577
14605
  });
14578
- yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14606
+ if (!this.initialFolderPending) {
14607
+ yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14608
+ }
14579
14609
  });
14580
14610
  }
14581
14611
  handleGridResize(event) {
14582
14612
  return __async(this, null, function* () {
14583
14613
  const { columnCount, rowCount } = event.detail;
14584
14614
  const newPageSize = Math.ceil(rowCount * columnCount / this.defaultPageSize + 1) * this.defaultPageSize;
14615
+ if (this.initialFolderPending) {
14616
+ if (!this.lastRequest.start && newPageSize > safeInteger(this.lastRequest.pageSize)) {
14617
+ this.lastRequest = __spreadProps(__spreadValues({}, this.lastRequest), {
14618
+ pageSize: newPageSize
14619
+ });
14620
+ }
14621
+ return;
14622
+ }
14585
14623
  const totalCount = this.fetchAndMergeAssetsController.getData().totalCount;
14586
14624
  const newStart = safeInteger(this.lastRequest.start) + safeInteger(this.lastRequest.pageSize);
14587
14625
  if (newPageSize <= safeInteger(this.lastRequest.pageSize) || newPageSize === 0 || newStart > totalCount) {
@@ -14594,6 +14632,22 @@ let CxContentBrowser = class extends CortexElement {
14594
14632
  yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14595
14633
  });
14596
14634
  }
14635
+ clearInitialFolderPending() {
14636
+ this.initialFolderPending = false;
14637
+ clearTimeout(this.initialFolderTimeout);
14638
+ this.initialFolderTimeout = void 0;
14639
+ }
14640
+ releaseInitialFolder() {
14641
+ return __async(this, null, function* () {
14642
+ if (!this.initialFolderPending) {
14643
+ return;
14644
+ }
14645
+ this.clearInitialFolderPending();
14646
+ if (this.lastRequest.pageSize) {
14647
+ yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14648
+ }
14649
+ });
14650
+ }
14597
14651
  handleGridClick(event) {
14598
14652
  return __async(this, null, function* () {
14599
14653
  const { id } = event.detail;
@@ -14862,7 +14916,7 @@ let CxContentBrowser = class extends CortexElement {
14862
14916
  <cx-content-browser-grid
14863
14917
  .assets=${items}
14864
14918
  ?has-more=${items.length < totalCount}
14865
- ?loading=${loading}
14919
+ ?loading=${loading || this.initialFolderPending}
14866
14920
  ?show-title=${this.showTitle}
14867
14921
  ?show-size=${this.showSize}
14868
14922
  ?show-dimensions=${this.showDimensions}
@@ -15098,6 +15152,9 @@ __decorateClass([
15098
15152
  __decorateClass([
15099
15153
  r$6()
15100
15154
  ], CxContentBrowser.prototype, "isMobile", 2);
15155
+ __decorateClass([
15156
+ r$6()
15157
+ ], CxContentBrowser.prototype, "initialFolderPending", 2);
15101
15158
  __decorateClass([
15102
15159
  watch("lastRequest", { waitUntilFirstUpdate: true })
15103
15160
  ], CxContentBrowser.prototype, "handleLastRequestChange", 1);
package/build/index.mjs CHANGED
@@ -6030,7 +6030,9 @@ let CxContentBrowserBrowser = class extends CortexElement {
6030
6030
  handleFirstFetchCallback(data) {
6031
6031
  var _a2, _b2;
6032
6032
  let first = null;
6033
- if (this.allowedFolders.length) {
6033
+ if (this.folderId) {
6034
+ first = data.find((item) => item.id === this.folderId);
6035
+ } else if (this.allowedFolders.length) {
6034
6036
  first = (_a2 = data.find((item) => this.allowedFolders.includes(item.id))) != null ? _a2 : data[0];
6035
6037
  } else {
6036
6038
  first = (_b2 = data.find((item) => item.title === LIBRARY_FOLDER_TITLE)) != null ? _b2 : data[0];
@@ -14055,7 +14057,7 @@ class FetchAndMergeAssetsController {
14055
14057
  this._debounceResolve = resolve;
14056
14058
  });
14057
14059
  this._debounceTimeout = setTimeout(() => __async(this, null, function* () {
14058
- var _a3, _b2, _c2, _d2, _e3;
14060
+ var _a3, _b2, _c2, _d2, _e3, _f2, _g, _h, _i;
14059
14061
  if (Object.keys(this.sortOrders).length === 0) {
14060
14062
  const sortOrders = yield apiGetSortOrders();
14061
14063
  this.sortOrders = sortOrders;
@@ -14063,23 +14065,25 @@ class FetchAndMergeAssetsController {
14063
14065
  const forceRefetch = request.start === ((_a3 = this.lastRequest) == null ? void 0 : _a3.start) && !!request.pageSize && !!((_b2 = this.lastRequest) == null ? void 0 : _b2.pageSize) && request.pageSize > ((_c2 = this.lastRequest) == null ? void 0 : _c2.pageSize);
14064
14066
  if (!__privateGet(this, _hasFetchedOnce)) {
14065
14067
  request = __spreadProps(__spreadValues({}, request), {
14066
- folderId: this.defaultFolderId,
14067
- isSeeThrough: this.defaultIsSeeThrough,
14068
- searchText: this.defaultSearchText,
14069
- selectedFacets: this.defaultSelectedFacets,
14070
- sortDirection: this.defaultSortDirection,
14071
- sortOrderName: this.defaultSortOrderName
14068
+ // Keep a folder the host already resolved (e.g. the auto-selected initial folder).
14069
+ folderId: request.folderId || this.defaultFolderId,
14070
+ isSeeThrough: (_d2 = request.isSeeThrough) != null ? _d2 : this.defaultIsSeeThrough,
14071
+ searchText: (_e3 = request.searchText) != null ? _e3 : this.defaultSearchText,
14072
+ selectedFacets: (_f2 = request.selectedFacets) != null ? _f2 : this.defaultSelectedFacets,
14073
+ sortDirection: (_g = request.sortDirection) != null ? _g : this.defaultSortDirection,
14074
+ sortOrderName: (_h = request.sortOrderName) != null ? _h : this.defaultSortOrderName
14072
14075
  });
14073
14076
  }
14074
14077
  let sortOrder;
14075
14078
  if (request.sortOrderName && request.sortDirection) {
14076
- sortOrder = (_e3 = (_d2 = this.sortOrders[request.sortOrderName]) == null ? void 0 : _d2.find((item) => {
14079
+ const sortOrders = this.sortOrders[request.sortOrderName];
14080
+ sortOrder = (_i = sortOrders == null ? void 0 : sortOrders.find((item) => {
14077
14081
  var _a4;
14078
14082
  return item.sortDirection.toLowerCase() === ((_a4 = request.sortDirection) == null ? void 0 : _a4.toLowerCase());
14079
- })) == null ? void 0 : _e3.id;
14080
- if (!sortOrder && this.sortOrders[request.sortOrderName][0]) {
14081
- sortOrder = this.sortOrders[request.sortOrderName][0].id;
14082
- request.sortDirection = this.sortOrders[request.sortOrderName][0].sortDirection;
14083
+ })) == null ? void 0 : _i.id;
14084
+ if (!sortOrder && (sortOrders == null ? void 0 : sortOrders[0])) {
14085
+ sortOrder = sortOrders[0].id;
14086
+ request.sortDirection = sortOrders[0].sortDirection;
14083
14087
  }
14084
14088
  }
14085
14089
  request = __spreadProps(__spreadValues({}, request), {
@@ -14362,6 +14366,7 @@ const COMPUTED_FIELDS = ["ScrubUrl", "AllowATSLink"];
14362
14366
  const MOBILE_WIDTH_THRESHOLD = 480;
14363
14367
  const FORCE_OVERLAY_THRESHOLD = 650;
14364
14368
  const PERSISTENT_DRAWER_WIDTH = 400;
14369
+ const INITIAL_FOLDER_TIMEOUT_MS = 3e3;
14365
14370
  let CxContentBrowser = class extends CortexElement {
14366
14371
  constructor() {
14367
14372
  super(...arguments);
@@ -14432,6 +14437,7 @@ let CxContentBrowser = class extends CortexElement {
14432
14437
  this.selectedAssetId = void 0;
14433
14438
  this.isMobile = false;
14434
14439
  this.defaultPageSize = 10;
14440
+ this.initialFolderPending = false;
14435
14441
  }
14436
14442
  willUpdate(changedProperties) {
14437
14443
  super.willUpdate(changedProperties);
@@ -14462,6 +14468,10 @@ let CxContentBrowser = class extends CortexElement {
14462
14468
  sortDirection: this.defaultSortDirection,
14463
14469
  sortOrderName: this.defaultSortOrderName
14464
14470
  });
14471
+ if (!this.defaultFolderId) {
14472
+ this.initialFolderPending = true;
14473
+ this.initialFolderTimeout = setTimeout(() => this.releaseInitialFolder(), INITIAL_FOLDER_TIMEOUT_MS);
14474
+ }
14465
14475
  this.updateComplete.then(() => {
14466
14476
  this.fetchAndMergeAssetsController = new FetchAndMergeAssetsController(this, {
14467
14477
  availableDocTypes: this.availableDocTypes,
@@ -14479,6 +14489,17 @@ let CxContentBrowser = class extends CortexElement {
14479
14489
  this.requestUpdate();
14480
14490
  });
14481
14491
  }
14492
+ connectedCallback() {
14493
+ super.connectedCallback();
14494
+ if (this.initialFolderPending && this.initialFolderTimeout === void 0) {
14495
+ this.initialFolderTimeout = setTimeout(() => this.releaseInitialFolder(), INITIAL_FOLDER_TIMEOUT_MS);
14496
+ }
14497
+ }
14498
+ disconnectedCallback() {
14499
+ super.disconnectedCallback();
14500
+ clearTimeout(this.initialFolderTimeout);
14501
+ this.initialFolderTimeout = void 0;
14502
+ }
14482
14503
  fetchAssets(request) {
14483
14504
  return __async(this, null, function* () {
14484
14505
  return yield this.fetchAndMergeAssetsController.fetchAssets(request);
@@ -14572,7 +14593,9 @@ let CxContentBrowser = class extends CortexElement {
14572
14593
  sortOrderName,
14573
14594
  start: 0
14574
14595
  });
14575
- yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14596
+ if (!this.initialFolderPending) {
14597
+ yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14598
+ }
14576
14599
  });
14577
14600
  }
14578
14601
  handleFilterChange(event) {
@@ -14581,7 +14604,9 @@ let CxContentBrowser = class extends CortexElement {
14581
14604
  selectedFacets: event.detail.selection,
14582
14605
  start: 0
14583
14606
  });
14584
- yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14607
+ if (!this.initialFolderPending) {
14608
+ yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14609
+ }
14585
14610
  });
14586
14611
  }
14587
14612
  handleViewChange(event) {
@@ -14591,7 +14616,9 @@ let CxContentBrowser = class extends CortexElement {
14591
14616
  isSeeThrough: event.detail.isSeeThrough,
14592
14617
  start: 0
14593
14618
  });
14594
- yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14619
+ if (!this.initialFolderPending) {
14620
+ yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14621
+ }
14595
14622
  }
14596
14623
  switch (event.detail.view) {
14597
14624
  case GridView$1.Large:
@@ -14628,6 +14655,7 @@ let CxContentBrowser = class extends CortexElement {
14628
14655
  if (!folderId || folderId === this.lastRequest.folderId) {
14629
14656
  return;
14630
14657
  }
14658
+ this.clearInitialFolderPending();
14631
14659
  this.lastRequest = __spreadProps(__spreadValues({}, this.lastRequest), {
14632
14660
  folderId,
14633
14661
  start: 0
@@ -14641,13 +14669,23 @@ let CxContentBrowser = class extends CortexElement {
14641
14669
  searchText: event.detail.searchText,
14642
14670
  start: 0
14643
14671
  });
14644
- yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14672
+ if (!this.initialFolderPending) {
14673
+ yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14674
+ }
14645
14675
  });
14646
14676
  }
14647
14677
  handleGridResize(event) {
14648
14678
  return __async(this, null, function* () {
14649
14679
  const { columnCount, rowCount } = event.detail;
14650
14680
  const newPageSize = Math.ceil(rowCount * columnCount / this.defaultPageSize + 1) * this.defaultPageSize;
14681
+ if (this.initialFolderPending) {
14682
+ if (!this.lastRequest.start && newPageSize > safeInteger(this.lastRequest.pageSize)) {
14683
+ this.lastRequest = __spreadProps(__spreadValues({}, this.lastRequest), {
14684
+ pageSize: newPageSize
14685
+ });
14686
+ }
14687
+ return;
14688
+ }
14651
14689
  const totalCount = this.fetchAndMergeAssetsController.getData().totalCount;
14652
14690
  const newStart = safeInteger(this.lastRequest.start) + safeInteger(this.lastRequest.pageSize);
14653
14691
  if (newPageSize <= safeInteger(this.lastRequest.pageSize) || newPageSize === 0 || newStart > totalCount) {
@@ -14660,6 +14698,22 @@ let CxContentBrowser = class extends CortexElement {
14660
14698
  yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14661
14699
  });
14662
14700
  }
14701
+ clearInitialFolderPending() {
14702
+ this.initialFolderPending = false;
14703
+ clearTimeout(this.initialFolderTimeout);
14704
+ this.initialFolderTimeout = void 0;
14705
+ }
14706
+ releaseInitialFolder() {
14707
+ return __async(this, null, function* () {
14708
+ if (!this.initialFolderPending) {
14709
+ return;
14710
+ }
14711
+ this.clearInitialFolderPending();
14712
+ if (this.lastRequest.pageSize) {
14713
+ yield this.fetchAndMergeAssetsController.fetchAndMergeAssets(this.lastRequest);
14714
+ }
14715
+ });
14716
+ }
14663
14717
  handleGridClick(event) {
14664
14718
  return __async(this, null, function* () {
14665
14719
  const { id } = event.detail;
@@ -14928,7 +14982,7 @@ let CxContentBrowser = class extends CortexElement {
14928
14982
  <cx-content-browser-grid
14929
14983
  .assets=${items}
14930
14984
  ?has-more=${items.length < totalCount}
14931
- ?loading=${loading}
14985
+ ?loading=${loading || this.initialFolderPending}
14932
14986
  ?show-title=${this.showTitle}
14933
14987
  ?show-size=${this.showSize}
14934
14988
  ?show-dimensions=${this.showDimensions}
@@ -15164,6 +15218,9 @@ __decorateClass([
15164
15218
  __decorateClass([
15165
15219
  r$6()
15166
15220
  ], CxContentBrowser.prototype, "isMobile", 2);
15221
+ __decorateClass([
15222
+ r$6()
15223
+ ], CxContentBrowser.prototype, "initialFolderPending", 2);
15167
15224
  __decorateClass([
15168
15225
  watch("lastRequest", { waitUntilFirstUpdate: true })
15169
15226
  ], CxContentBrowser.prototype, "handleLastRequestChange", 1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orangelogic/orange-dam-content-browser-sdk",
3
- "version": "2.3.7",
3
+ "version": "2.3.8-Beta-2",
4
4
  "description": "OrangeDAM Content Browser SDK source code",
5
5
  "main": "./build/OrangeDAMContentBrowserSDK.min.js",
6
6
  "module": "./build/index.mjs",