@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.
- package/dist_bundle/bundle.js +85 -4
- package/dist_bundle/bundle.js.map +2 -2
- package/dist_ts_web/00_commitinfo_data.d.ts +1 -1
- package/dist_ts_web/00_commitinfo_data.js +3 -3
- package/dist_ts_web/elements/wcc-dashboard.d.ts +8 -0
- package/dist_ts_web/elements/wcc-dashboard.js +97 -3
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +2 -2
- package/ts_web/elements/wcc-dashboard.ts +117 -4
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* autocreated commitinfo by @
|
|
2
|
+
* autocreated commitinfo by @push.rocks/commitinfo
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-wcctools',
|
|
6
|
-
version: '1.0.
|
|
6
|
+
version: '1.0.100',
|
|
7
7
|
description: 'A set of web component tools for creating element catalogues, enabling the structured development and documentation of custom elements and pages.'
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsOEJBQThCO0lBQ3BDLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFdBQVcsRUFBRSxtSkFBbUo7Q0FDakssQ0FBQSJ9
|
|
@@ -19,6 +19,9 @@ export declare class WccDashboard extends DeesElement {
|
|
|
19
19
|
[key: string]: DeesElement;
|
|
20
20
|
};
|
|
21
21
|
warning: string;
|
|
22
|
+
frameScrollY: number;
|
|
23
|
+
sidebarScrollY: number;
|
|
24
|
+
private scrollPositionsApplied;
|
|
22
25
|
wccFrame: Promise<WccFrame>;
|
|
23
26
|
constructor(elementsArg?: {
|
|
24
27
|
[key: string]: DeesElement;
|
|
@@ -30,4 +33,9 @@ export declare class WccDashboard extends DeesElement {
|
|
|
30
33
|
firstUpdated(): Promise<void>;
|
|
31
34
|
updated(changedPropertiesArg: Map<string, any>): Promise<void>;
|
|
32
35
|
buildUrl(): void;
|
|
36
|
+
private scrollUpdateTimeout;
|
|
37
|
+
setupScrollListeners(): Promise<void>;
|
|
38
|
+
private debouncedScrollUpdate;
|
|
39
|
+
private updateUrlWithScrollState;
|
|
40
|
+
applyScrollPositions(): Promise<void>;
|
|
33
41
|
}
|
|
@@ -25,6 +25,9 @@ let WccDashboard = class WccDashboard extends DeesElement {
|
|
|
25
25
|
this.pages = {};
|
|
26
26
|
this.elements = {};
|
|
27
27
|
this.warning = null;
|
|
28
|
+
this.frameScrollY = 0;
|
|
29
|
+
this.sidebarScrollY = 0;
|
|
30
|
+
this.scrollPositionsApplied = false;
|
|
28
31
|
if (elementsArg) {
|
|
29
32
|
this.elements = elementsArg;
|
|
30
33
|
console.log('got elements:');
|
|
@@ -88,6 +91,10 @@ let WccDashboard = class WccDashboard extends DeesElement {
|
|
|
88
91
|
}
|
|
89
92
|
async firstUpdated() {
|
|
90
93
|
this.domtools = await plugins.deesDomtools.DomTools.setupDomTools();
|
|
94
|
+
// Set up scroll listeners after DOM is ready
|
|
95
|
+
setTimeout(() => {
|
|
96
|
+
this.setupScrollListeners();
|
|
97
|
+
}, 500);
|
|
91
98
|
this.domtools.router.on('/wcctools-route/:itemType/:itemName/:viewport/:theme', async (routeInfo) => {
|
|
92
99
|
this.selectedType = routeInfo.params.itemType;
|
|
93
100
|
this.selectedItemName = routeInfo.params.itemName;
|
|
@@ -99,6 +106,21 @@ let WccDashboard = class WccDashboard extends DeesElement {
|
|
|
99
106
|
else if (routeInfo.params.itemType === 'page') {
|
|
100
107
|
this.selectedItem = this.pages[routeInfo.params.itemName];
|
|
101
108
|
}
|
|
109
|
+
// Restore scroll positions from query parameters
|
|
110
|
+
if (routeInfo.queryParams) {
|
|
111
|
+
const frameScrollY = routeInfo.queryParams.frameScrollY;
|
|
112
|
+
const sidebarScrollY = routeInfo.queryParams.sidebarScrollY;
|
|
113
|
+
if (frameScrollY) {
|
|
114
|
+
this.frameScrollY = parseInt(frameScrollY);
|
|
115
|
+
}
|
|
116
|
+
if (sidebarScrollY) {
|
|
117
|
+
this.sidebarScrollY = parseInt(sidebarScrollY);
|
|
118
|
+
}
|
|
119
|
+
// Apply scroll positions after a short delay to ensure DOM is ready
|
|
120
|
+
setTimeout(() => {
|
|
121
|
+
this.applyScrollPositions();
|
|
122
|
+
}, 100);
|
|
123
|
+
}
|
|
102
124
|
const domtoolsInstance = await plugins.deesDomtools.elementBasic.setup();
|
|
103
125
|
this.selectedTheme === 'bright'
|
|
104
126
|
? domtoolsInstance.themeManager.goBright()
|
|
@@ -108,7 +130,6 @@ let WccDashboard = class WccDashboard extends DeesElement {
|
|
|
108
130
|
async updated(changedPropertiesArg) {
|
|
109
131
|
this.domtools = await plugins.deesDomtools.DomTools.setupDomTools();
|
|
110
132
|
await this.domtools.router._handleRouteState();
|
|
111
|
-
const storeElement = this.selectedItem;
|
|
112
133
|
const wccFrame = this.shadowRoot.querySelector('wcc-frame');
|
|
113
134
|
if (changedPropertiesArg.has('selectedItemName')) {
|
|
114
135
|
document.title = this.selectedItemName;
|
|
@@ -144,7 +165,72 @@ let WccDashboard = class WccDashboard extends DeesElement {
|
|
|
144
165
|
}
|
|
145
166
|
}
|
|
146
167
|
buildUrl() {
|
|
147
|
-
|
|
168
|
+
const baseUrl = `/wcctools-route/${this.selectedType}/${this.selectedItemName}/${this.selectedViewport}/${this.selectedTheme}`;
|
|
169
|
+
const queryParams = new URLSearchParams();
|
|
170
|
+
if (this.frameScrollY > 0) {
|
|
171
|
+
queryParams.set('frameScrollY', this.frameScrollY.toString());
|
|
172
|
+
}
|
|
173
|
+
if (this.sidebarScrollY > 0) {
|
|
174
|
+
queryParams.set('sidebarScrollY', this.sidebarScrollY.toString());
|
|
175
|
+
}
|
|
176
|
+
const queryString = queryParams.toString();
|
|
177
|
+
const fullUrl = queryString ? `${baseUrl}?${queryString}` : baseUrl;
|
|
178
|
+
this.domtools.router.pushUrl(fullUrl);
|
|
179
|
+
}
|
|
180
|
+
async setupScrollListeners() {
|
|
181
|
+
const wccFrame = await this.wccFrame;
|
|
182
|
+
const wccSidebar = this.shadowRoot.querySelector('wcc-sidebar');
|
|
183
|
+
if (wccFrame) {
|
|
184
|
+
// The frame element itself is the scrollable container
|
|
185
|
+
wccFrame.addEventListener('scroll', () => {
|
|
186
|
+
this.frameScrollY = wccFrame.scrollTop;
|
|
187
|
+
this.debouncedScrollUpdate();
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
if (wccSidebar) {
|
|
191
|
+
// The sidebar element itself is the scrollable container
|
|
192
|
+
wccSidebar.addEventListener('scroll', () => {
|
|
193
|
+
this.sidebarScrollY = wccSidebar.scrollTop;
|
|
194
|
+
this.debouncedScrollUpdate();
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
debouncedScrollUpdate() {
|
|
199
|
+
clearTimeout(this.scrollUpdateTimeout);
|
|
200
|
+
this.scrollUpdateTimeout = setTimeout(() => {
|
|
201
|
+
this.updateUrlWithScrollState();
|
|
202
|
+
}, 300);
|
|
203
|
+
}
|
|
204
|
+
updateUrlWithScrollState() {
|
|
205
|
+
const baseUrl = `/wcctools-route/${this.selectedType}/${this.selectedItemName}/${this.selectedViewport}/${this.selectedTheme}`;
|
|
206
|
+
const queryParams = new URLSearchParams();
|
|
207
|
+
if (this.frameScrollY > 0) {
|
|
208
|
+
queryParams.set('frameScrollY', this.frameScrollY.toString());
|
|
209
|
+
}
|
|
210
|
+
if (this.sidebarScrollY > 0) {
|
|
211
|
+
queryParams.set('sidebarScrollY', this.sidebarScrollY.toString());
|
|
212
|
+
}
|
|
213
|
+
const queryString = queryParams.toString();
|
|
214
|
+
const fullUrl = queryString ? `${baseUrl}?${queryString}` : baseUrl;
|
|
215
|
+
// Use replaceState to update URL without navigation
|
|
216
|
+
window.history.replaceState(null, '', fullUrl);
|
|
217
|
+
}
|
|
218
|
+
async applyScrollPositions() {
|
|
219
|
+
// Only apply scroll positions once to avoid interfering with user scrolling
|
|
220
|
+
if (this.scrollPositionsApplied) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
const wccFrame = await this.wccFrame;
|
|
224
|
+
const wccSidebar = this.shadowRoot.querySelector('wcc-sidebar');
|
|
225
|
+
if (wccFrame && this.frameScrollY > 0) {
|
|
226
|
+
// The frame element itself is the scrollable container
|
|
227
|
+
wccFrame.scrollTop = this.frameScrollY;
|
|
228
|
+
}
|
|
229
|
+
if (wccSidebar && this.sidebarScrollY > 0) {
|
|
230
|
+
// The sidebar element itself is the scrollable container
|
|
231
|
+
wccSidebar.scrollTop = this.sidebarScrollY;
|
|
232
|
+
}
|
|
233
|
+
this.scrollPositionsApplied = true;
|
|
148
234
|
}
|
|
149
235
|
};
|
|
150
236
|
__decorate([
|
|
@@ -179,6 +265,14 @@ __decorate([
|
|
|
179
265
|
property(),
|
|
180
266
|
__metadata("design:type", String)
|
|
181
267
|
], WccDashboard.prototype, "warning", void 0);
|
|
268
|
+
__decorate([
|
|
269
|
+
property(),
|
|
270
|
+
__metadata("design:type", Number)
|
|
271
|
+
], WccDashboard.prototype, "frameScrollY", void 0);
|
|
272
|
+
__decorate([
|
|
273
|
+
property(),
|
|
274
|
+
__metadata("design:type", Number)
|
|
275
|
+
], WccDashboard.prototype, "sidebarScrollY", void 0);
|
|
182
276
|
__decorate([
|
|
183
277
|
queryAsync('wcc-frame'),
|
|
184
278
|
__metadata("design:type", Promise)
|
|
@@ -188,4 +282,4 @@ WccDashboard = __decorate([
|
|
|
188
282
|
__metadata("design:paramtypes", [Object, Object])
|
|
189
283
|
], WccDashboard);
|
|
190
284
|
export { WccDashboard };
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjLWRhc2hib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy93Y2MtZGFzaGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQXVCLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUksT0FBTyxLQUFLLE9BQU8sTUFBTSx3QkFBd0IsQ0FBQztBQUVsRCxZQUFZO0FBQ1osT0FBTyxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFlLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkMsSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBYSxTQUFRLFdBQVc7SUE2QjNDLFlBQ0UsV0FBNEMsRUFDNUMsUUFBa0Q7UUFFbEQsS0FBSyxFQUFFLENBQUM7UUFyQkgscUJBQWdCLEdBQStDLFNBQVMsQ0FBQztRQUd6RSxrQkFBYSxHQUFXLE1BQU0sQ0FBQztRQUcvQixVQUFLLEdBQTRDLEVBQUUsQ0FBQztRQUdwRCxhQUFRLEdBQW1DLEVBQUUsQ0FBQztRQUc5QyxZQUFPLEdBQVcsSUFBSSxDQUFDO1FBVTVCLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUM7WUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3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
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjLWRhc2hib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy93Y2MtZGFzaGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQXVCLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUksT0FBTyxLQUFLLE9BQU8sTUFBTSx3QkFBd0IsQ0FBQztBQUVsRCxZQUFZO0FBQ1osT0FBTyxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFlLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkMsSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBYSxTQUFRLFdBQVc7SUFxQzNDLFlBQ0UsV0FBNEMsRUFDNUMsUUFBa0Q7UUFFbEQsS0FBSyxFQUFFLENBQUM7UUE3QkgscUJBQWdCLEdBQStDLFNBQVMsQ0FBQztRQUd6RSxrQkFBYSxHQUFXLE1BQU0sQ0FBQztRQUcvQixVQUFLLEdBQTRDLEVBQUUsQ0FBQztRQUdwRCxhQUFRLEdBQW1DLEVBQUUsQ0FBQztRQUc5QyxZQUFPLEdBQVcsSUFBSSxDQUFDO1FBR3ZCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBR3pCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBRTFCLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQVU5QyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO1lBQzVCLE9BQU8sQ0FB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design.estate/dees-wcctools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.100",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A set of web component tools for creating element catalogues, enabling the structured development and documentation of custom elements and pages.",
|
|
6
6
|
"exports": {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* autocreated commitinfo by @
|
|
2
|
+
* autocreated commitinfo by @push.rocks/commitinfo
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-wcctools',
|
|
6
|
-
version: '1.0.
|
|
6
|
+
version: '1.0.100',
|
|
7
7
|
description: 'A set of web component tools for creating element catalogues, enabling the structured development and documentation of custom elements and pages.'
|
|
8
8
|
}
|
|
@@ -38,6 +38,14 @@ export class WccDashboard extends DeesElement {
|
|
|
38
38
|
@property()
|
|
39
39
|
public warning: string = null;
|
|
40
40
|
|
|
41
|
+
@property()
|
|
42
|
+
public frameScrollY: number = 0;
|
|
43
|
+
|
|
44
|
+
@property()
|
|
45
|
+
public sidebarScrollY: number = 0;
|
|
46
|
+
|
|
47
|
+
private scrollPositionsApplied: boolean = false;
|
|
48
|
+
|
|
41
49
|
@queryAsync('wcc-frame')
|
|
42
50
|
public wccFrame: Promise<WccFrame>;
|
|
43
51
|
|
|
@@ -113,6 +121,12 @@ export class WccDashboard extends DeesElement {
|
|
|
113
121
|
|
|
114
122
|
public async firstUpdated() {
|
|
115
123
|
this.domtools = await plugins.deesDomtools.DomTools.setupDomTools();
|
|
124
|
+
|
|
125
|
+
// Set up scroll listeners after DOM is ready
|
|
126
|
+
setTimeout(() => {
|
|
127
|
+
this.setupScrollListeners();
|
|
128
|
+
}, 500);
|
|
129
|
+
|
|
116
130
|
this.domtools.router.on(
|
|
117
131
|
'/wcctools-route/:itemType/:itemName/:viewport/:theme',
|
|
118
132
|
async (routeInfo) => {
|
|
@@ -125,6 +139,25 @@ export class WccDashboard extends DeesElement {
|
|
|
125
139
|
} else if (routeInfo.params.itemType === 'page') {
|
|
126
140
|
this.selectedItem = this.pages[routeInfo.params.itemName];
|
|
127
141
|
}
|
|
142
|
+
|
|
143
|
+
// Restore scroll positions from query parameters
|
|
144
|
+
if (routeInfo.queryParams) {
|
|
145
|
+
const frameScrollY = routeInfo.queryParams.frameScrollY;
|
|
146
|
+
const sidebarScrollY = routeInfo.queryParams.sidebarScrollY;
|
|
147
|
+
|
|
148
|
+
if (frameScrollY) {
|
|
149
|
+
this.frameScrollY = parseInt(frameScrollY);
|
|
150
|
+
}
|
|
151
|
+
if (sidebarScrollY) {
|
|
152
|
+
this.sidebarScrollY = parseInt(sidebarScrollY);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// Apply scroll positions after a short delay to ensure DOM is ready
|
|
156
|
+
setTimeout(() => {
|
|
157
|
+
this.applyScrollPositions();
|
|
158
|
+
}, 100);
|
|
159
|
+
}
|
|
160
|
+
|
|
128
161
|
const domtoolsInstance = await plugins.deesDomtools.elementBasic.setup();
|
|
129
162
|
this.selectedTheme === 'bright'
|
|
130
163
|
? domtoolsInstance.themeManager.goBright()
|
|
@@ -136,7 +169,6 @@ export class WccDashboard extends DeesElement {
|
|
|
136
169
|
public async updated(changedPropertiesArg: Map<string, any>) {
|
|
137
170
|
this.domtools = await plugins.deesDomtools.DomTools.setupDomTools();
|
|
138
171
|
await this.domtools.router._handleRouteState();
|
|
139
|
-
const storeElement = this.selectedItem;
|
|
140
172
|
const wccFrame: WccFrame = this.shadowRoot.querySelector('wcc-frame');
|
|
141
173
|
|
|
142
174
|
if (changedPropertiesArg.has('selectedItemName')) {
|
|
@@ -173,8 +205,89 @@ export class WccDashboard extends DeesElement {
|
|
|
173
205
|
}
|
|
174
206
|
|
|
175
207
|
public buildUrl() {
|
|
176
|
-
this.
|
|
177
|
-
|
|
178
|
-
|
|
208
|
+
const baseUrl = `/wcctools-route/${this.selectedType}/${this.selectedItemName}/${this.selectedViewport}/${this.selectedTheme}`;
|
|
209
|
+
const queryParams = new URLSearchParams();
|
|
210
|
+
|
|
211
|
+
if (this.frameScrollY > 0) {
|
|
212
|
+
queryParams.set('frameScrollY', this.frameScrollY.toString());
|
|
213
|
+
}
|
|
214
|
+
if (this.sidebarScrollY > 0) {
|
|
215
|
+
queryParams.set('sidebarScrollY', this.sidebarScrollY.toString());
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
const queryString = queryParams.toString();
|
|
219
|
+
const fullUrl = queryString ? `${baseUrl}?${queryString}` : baseUrl;
|
|
220
|
+
|
|
221
|
+
this.domtools.router.pushUrl(fullUrl);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
private scrollUpdateTimeout: NodeJS.Timeout;
|
|
225
|
+
|
|
226
|
+
public async setupScrollListeners() {
|
|
227
|
+
const wccFrame = await this.wccFrame;
|
|
228
|
+
const wccSidebar = this.shadowRoot.querySelector('wcc-sidebar');
|
|
229
|
+
|
|
230
|
+
if (wccFrame) {
|
|
231
|
+
// The frame element itself is the scrollable container
|
|
232
|
+
wccFrame.addEventListener('scroll', () => {
|
|
233
|
+
this.frameScrollY = wccFrame.scrollTop;
|
|
234
|
+
this.debouncedScrollUpdate();
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
if (wccSidebar) {
|
|
239
|
+
// The sidebar element itself is the scrollable container
|
|
240
|
+
wccSidebar.addEventListener('scroll', () => {
|
|
241
|
+
this.sidebarScrollY = wccSidebar.scrollTop;
|
|
242
|
+
this.debouncedScrollUpdate();
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
private debouncedScrollUpdate() {
|
|
248
|
+
clearTimeout(this.scrollUpdateTimeout);
|
|
249
|
+
this.scrollUpdateTimeout = setTimeout(() => {
|
|
250
|
+
this.updateUrlWithScrollState();
|
|
251
|
+
}, 300);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
private updateUrlWithScrollState() {
|
|
255
|
+
const baseUrl = `/wcctools-route/${this.selectedType}/${this.selectedItemName}/${this.selectedViewport}/${this.selectedTheme}`;
|
|
256
|
+
const queryParams = new URLSearchParams();
|
|
257
|
+
|
|
258
|
+
if (this.frameScrollY > 0) {
|
|
259
|
+
queryParams.set('frameScrollY', this.frameScrollY.toString());
|
|
260
|
+
}
|
|
261
|
+
if (this.sidebarScrollY > 0) {
|
|
262
|
+
queryParams.set('sidebarScrollY', this.sidebarScrollY.toString());
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
const queryString = queryParams.toString();
|
|
266
|
+
const fullUrl = queryString ? `${baseUrl}?${queryString}` : baseUrl;
|
|
267
|
+
|
|
268
|
+
// Use replaceState to update URL without navigation
|
|
269
|
+
window.history.replaceState(null, '', fullUrl);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
public async applyScrollPositions() {
|
|
273
|
+
// Only apply scroll positions once to avoid interfering with user scrolling
|
|
274
|
+
if (this.scrollPositionsApplied) {
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
const wccFrame = await this.wccFrame;
|
|
279
|
+
const wccSidebar = this.shadowRoot.querySelector('wcc-sidebar');
|
|
280
|
+
|
|
281
|
+
if (wccFrame && this.frameScrollY > 0) {
|
|
282
|
+
// The frame element itself is the scrollable container
|
|
283
|
+
wccFrame.scrollTop = this.frameScrollY;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
if (wccSidebar && this.sidebarScrollY > 0) {
|
|
287
|
+
// The sidebar element itself is the scrollable container
|
|
288
|
+
wccSidebar.scrollTop = this.sidebarScrollY;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
this.scrollPositionsApplied = true;
|
|
179
292
|
}
|
|
180
293
|
}
|