elegance-js 2.0.12 → 2.0.13

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.
@@ -177,17 +177,7 @@ var sanitizePathname = (pn) => {
177
177
  return pn.slice(0, -1);
178
178
  };
179
179
  var currentPage = sanitizePathname(loc.pathname);
180
- function getAllPaths(pathname) {
181
- const sanitized = pathname.endsWith("/") && pathname !== "/" ? pathname.slice(0, -1) : pathname;
182
- const parts = sanitized.split("/").filter(Boolean);
183
- const subpaths = [
184
- "/",
185
- ...parts.map((_, i) => "/" + parts.slice(0, i + 1).join("/"))
186
- ];
187
- if (sanitized === "/") return ["/"];
188
- return subpaths;
189
- }
190
- var createStateManager = (subjects) => {
180
+ var createStateManager = (subjects, bindLevel) => {
191
181
  const state = {
192
182
  subjects: subjects.map((subject) => {
193
183
  const s = {
@@ -209,14 +199,16 @@ var createStateManager = (subjects) => {
209
199
  destroy: (s) => {
210
200
  state.subjects.splice(state.subjects.indexOf(s), 1);
211
201
  },
212
- /**
213
- Bind is deprecated, but kept as a paramater to not upset legacy code.
214
- */
215
- get: (id, bind) => {
202
+ get: (id) => {
216
203
  const subject = state.subjects.find((s) => s.id === id);
217
204
  if (subject) return subject;
218
- const stack = getAllPaths(currentPage);
219
- for (const item of stack) {
205
+ if (bindLevel === 2 /* SCOPED */) return void 0;
206
+ const parts = window.location.pathname.split("/").filter(Boolean);
207
+ const paths = [
208
+ ...parts.map((_, i) => "/" + parts.slice(0, i + 1).join("/")),
209
+ "/"
210
+ ].reverse();
211
+ for (const item of paths) {
220
212
  const sanitized = sanitizePathname(item);
221
213
  const data = ld[sanitized];
222
214
  if (!data) continue;
@@ -248,7 +240,7 @@ var initPageData = (data, currentPage2, previousPage, bindLevel) => {
248
240
  }
249
241
  let state = data?.stateManager;
250
242
  if (!state) {
251
- state = createStateManager(data.state || []);
243
+ state = createStateManager(data.state || [], bindLevel);
252
244
  data.stateManager = state;
253
245
  }
254
246
  for (const subject of state.subjects) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "elegance-js",
3
- "version": "2.0.12",
3
+ "version": "2.0.13",
4
4
  "description": "Web-Framework",
5
5
  "type": "module",
6
6
  "bin": {