@design.estate/dees-wcctools 1.0.98 → 1.0.100

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.
@@ -43571,6 +43571,9 @@ var WccDashboard2 = class extends DeesElement {
43571
43571
  this.pages = {};
43572
43572
  this.elements = {};
43573
43573
  this.warning = null;
43574
+ this.frameScrollY = 0;
43575
+ this.sidebarScrollY = 0;
43576
+ this.scrollPositionsApplied = false;
43574
43577
  if (elementsArg) {
43575
43578
  this.elements = elementsArg;
43576
43579
  console.log("got elements:");
@@ -43634,6 +43637,9 @@ var WccDashboard2 = class extends DeesElement {
43634
43637
  }
43635
43638
  async firstUpdated() {
43636
43639
  this.domtools = await dist_ts_exports27.DomTools.setupDomTools();
43640
+ setTimeout(() => {
43641
+ this.setupScrollListeners();
43642
+ }, 500);
43637
43643
  this.domtools.router.on(
43638
43644
  "/wcctools-route/:itemType/:itemName/:viewport/:theme",
43639
43645
  async (routeInfo) => {
@@ -43646,6 +43652,19 @@ var WccDashboard2 = class extends DeesElement {
43646
43652
  } else if (routeInfo.params.itemType === "page") {
43647
43653
  this.selectedItem = this.pages[routeInfo.params.itemName];
43648
43654
  }
43655
+ if (routeInfo.queryParams) {
43656
+ const frameScrollY = routeInfo.queryParams.frameScrollY;
43657
+ const sidebarScrollY = routeInfo.queryParams.sidebarScrollY;
43658
+ if (frameScrollY) {
43659
+ this.frameScrollY = parseInt(frameScrollY);
43660
+ }
43661
+ if (sidebarScrollY) {
43662
+ this.sidebarScrollY = parseInt(sidebarScrollY);
43663
+ }
43664
+ setTimeout(() => {
43665
+ this.applyScrollPositions();
43666
+ }, 100);
43667
+ }
43649
43668
  const domtoolsInstance = await dist_ts_exports27.elementBasic.setup();
43650
43669
  this.selectedTheme === "bright" ? domtoolsInstance.themeManager.goBright() : domtoolsInstance.themeManager.goDark();
43651
43670
  }
@@ -43654,7 +43673,6 @@ var WccDashboard2 = class extends DeesElement {
43654
43673
  async updated(changedPropertiesArg) {
43655
43674
  this.domtools = await dist_ts_exports27.DomTools.setupDomTools();
43656
43675
  await this.domtools.router._handleRouteState();
43657
- const storeElement = this.selectedItem;
43658
43676
  const wccFrame = this.shadowRoot.querySelector("wcc-frame");
43659
43677
  if (changedPropertiesArg.has("selectedItemName")) {
43660
43678
  document.title = this.selectedItemName;
@@ -43690,9 +43708,66 @@ var WccDashboard2 = class extends DeesElement {
43690
43708
  }
43691
43709
  }
43692
43710
  buildUrl() {
43693
- this.domtools.router.pushUrl(
43694
- `/wcctools-route/${this.selectedType}/${this.selectedItemName}/${this.selectedViewport}/${this.selectedTheme}`
43695
- );
43711
+ const baseUrl = `/wcctools-route/${this.selectedType}/${this.selectedItemName}/${this.selectedViewport}/${this.selectedTheme}`;
43712
+ const queryParams = new URLSearchParams();
43713
+ if (this.frameScrollY > 0) {
43714
+ queryParams.set("frameScrollY", this.frameScrollY.toString());
43715
+ }
43716
+ if (this.sidebarScrollY > 0) {
43717
+ queryParams.set("sidebarScrollY", this.sidebarScrollY.toString());
43718
+ }
43719
+ const queryString = queryParams.toString();
43720
+ const fullUrl = queryString ? `${baseUrl}?${queryString}` : baseUrl;
43721
+ this.domtools.router.pushUrl(fullUrl);
43722
+ }
43723
+ async setupScrollListeners() {
43724
+ const wccFrame = await this.wccFrame;
43725
+ const wccSidebar = this.shadowRoot.querySelector("wcc-sidebar");
43726
+ if (wccFrame) {
43727
+ wccFrame.addEventListener("scroll", () => {
43728
+ this.frameScrollY = wccFrame.scrollTop;
43729
+ this.debouncedScrollUpdate();
43730
+ });
43731
+ }
43732
+ if (wccSidebar) {
43733
+ wccSidebar.addEventListener("scroll", () => {
43734
+ this.sidebarScrollY = wccSidebar.scrollTop;
43735
+ this.debouncedScrollUpdate();
43736
+ });
43737
+ }
43738
+ }
43739
+ debouncedScrollUpdate() {
43740
+ clearTimeout(this.scrollUpdateTimeout);
43741
+ this.scrollUpdateTimeout = setTimeout(() => {
43742
+ this.updateUrlWithScrollState();
43743
+ }, 300);
43744
+ }
43745
+ updateUrlWithScrollState() {
43746
+ const baseUrl = `/wcctools-route/${this.selectedType}/${this.selectedItemName}/${this.selectedViewport}/${this.selectedTheme}`;
43747
+ const queryParams = new URLSearchParams();
43748
+ if (this.frameScrollY > 0) {
43749
+ queryParams.set("frameScrollY", this.frameScrollY.toString());
43750
+ }
43751
+ if (this.sidebarScrollY > 0) {
43752
+ queryParams.set("sidebarScrollY", this.sidebarScrollY.toString());
43753
+ }
43754
+ const queryString = queryParams.toString();
43755
+ const fullUrl = queryString ? `${baseUrl}?${queryString}` : baseUrl;
43756
+ window.history.replaceState(null, "", fullUrl);
43757
+ }
43758
+ async applyScrollPositions() {
43759
+ if (this.scrollPositionsApplied) {
43760
+ return;
43761
+ }
43762
+ const wccFrame = await this.wccFrame;
43763
+ const wccSidebar = this.shadowRoot.querySelector("wcc-sidebar");
43764
+ if (wccFrame && this.frameScrollY > 0) {
43765
+ wccFrame.scrollTop = this.frameScrollY;
43766
+ }
43767
+ if (wccSidebar && this.sidebarScrollY > 0) {
43768
+ wccSidebar.scrollTop = this.sidebarScrollY;
43769
+ }
43770
+ this.scrollPositionsApplied = true;
43696
43771
  }
43697
43772
  };
43698
43773
  __decorateClass([
@@ -43719,6 +43794,12 @@ __decorateClass([
43719
43794
  __decorateClass([
43720
43795
  n4()
43721
43796
  ], WccDashboard2.prototype, "warning", 2);
43797
+ __decorateClass([
43798
+ n4()
43799
+ ], WccDashboard2.prototype, "frameScrollY", 2);
43800
+ __decorateClass([
43801
+ n4()
43802
+ ], WccDashboard2.prototype, "sidebarScrollY", 2);
43722
43803
  __decorateClass([
43723
43804
  r6("wcc-frame")
43724
43805
  ], WccDashboard2.prototype, "wccFrame", 2);