namirasoft-site-react 1.5.3 → 1.5.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.
@@ -0,0 +1,21 @@
1
+ export declare enum Browser {
2
+ Chrome = "Chrome",
3
+ Edge = "Edge",
4
+ Brave = "Brave",
5
+ Opera = "Opera",
6
+ Samsung = "Samsung",
7
+ Firefox = "Firefox",
8
+ Safari = "Safari",
9
+ Unknown = "Unknown"
10
+ }
11
+ export declare class BrowserDetector {
12
+ private static cached?;
13
+ private static get userAgentData();
14
+ private static getUserAgent;
15
+ private static isBrave;
16
+ private static detectFromBrands;
17
+ private static detectFromUserAgent;
18
+ static detect(): Browser;
19
+ static is(browser: Browser): boolean;
20
+ static reset(): void;
21
+ }
@@ -0,0 +1,74 @@
1
+ export var Browser;
2
+ (function (Browser) {
3
+ Browser["Chrome"] = "Chrome";
4
+ Browser["Edge"] = "Edge";
5
+ Browser["Brave"] = "Brave";
6
+ Browser["Opera"] = "Opera";
7
+ Browser["Samsung"] = "Samsung";
8
+ Browser["Firefox"] = "Firefox";
9
+ Browser["Safari"] = "Safari";
10
+ Browser["Unknown"] = "Unknown";
11
+ })(Browser || (Browser = {}));
12
+ export class BrowserDetector {
13
+ static get userAgentData() {
14
+ if (typeof navigator === "undefined")
15
+ return undefined;
16
+ return navigator.userAgentData;
17
+ }
18
+ static getUserAgent() {
19
+ if (typeof navigator === "undefined")
20
+ return "";
21
+ return navigator.userAgent;
22
+ }
23
+ static isBrave() {
24
+ return typeof navigator !== "undefined" && navigator.brave !== undefined;
25
+ }
26
+ static detectFromBrands(brands) {
27
+ const names = brands.map(entry => entry.brand.toLowerCase());
28
+ const has = (value) => names.some(name => name.includes(value));
29
+ if (BrowserDetector.isBrave())
30
+ return Browser.Brave;
31
+ if (has("microsoft edge"))
32
+ return Browser.Edge;
33
+ if (has("opera"))
34
+ return Browser.Opera;
35
+ if (has("samsung"))
36
+ return Browser.Samsung;
37
+ if (has("google chrome") || has("chromium"))
38
+ return Browser.Chrome;
39
+ return undefined;
40
+ }
41
+ static detectFromUserAgent() {
42
+ const ua = BrowserDetector.getUserAgent();
43
+ if (BrowserDetector.isBrave())
44
+ return Browser.Brave;
45
+ if (ua.includes("Edg/"))
46
+ return Browser.Edge;
47
+ if (ua.includes("OPR/") || ua.includes("Opera/"))
48
+ return Browser.Opera;
49
+ if (ua.includes("SamsungBrowser/"))
50
+ return Browser.Samsung;
51
+ if (ua.includes("Firefox/"))
52
+ return Browser.Firefox;
53
+ if (ua.includes("Chrome/"))
54
+ return Browser.Chrome;
55
+ if (ua.includes("Safari/"))
56
+ return Browser.Safari;
57
+ return Browser.Unknown;
58
+ }
59
+ static detect() {
60
+ if (BrowserDetector.cached)
61
+ return BrowserDetector.cached;
62
+ const data = BrowserDetector.userAgentData;
63
+ const detected = data ? BrowserDetector.detectFromBrands(data.brands) : undefined;
64
+ BrowserDetector.cached = detected !== null && detected !== void 0 ? detected : BrowserDetector.detectFromUserAgent();
65
+ return BrowserDetector.cached;
66
+ }
67
+ static is(browser) {
68
+ return BrowserDetector.detect() === browser;
69
+ }
70
+ static reset() {
71
+ BrowserDetector.cached = undefined;
72
+ }
73
+ }
74
+ //# sourceMappingURL=BrowserDetector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserDetector.js","sourceRoot":"","sources":["../src/BrowserDetector.ts"],"names":[],"mappings":"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"}
@@ -27,21 +27,35 @@ export function NSListMenu(props) {
27
27
  }
28
28
  };
29
29
  const baseOf = (path) => path.replace(/\/[^/]*$/, "");
30
+ const parentOf = (f) => f.parent_id != null ? byId.get(f.parent_id) : undefined;
31
+ const nameOf = (f) => { var _a, _b, _c; return (_c = (_a = f.name) !== null && _a !== void 0 ? _a : (_b = f.link) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : ""; };
32
+ const isListChild = (f) => { var _a; return pathOf((_a = f.link) === null || _a === void 0 ? void 0 : _a.url).endsWith("/list") && parentOf(f) != null; };
30
33
  const isSupport = (f) => {
31
- var _a, _b;
32
- let parent = f.parent_id != null ? byId.get(f.parent_id) : undefined;
33
- let text = [f.name, (_a = f.link) === null || _a === void 0 ? void 0 : _a.name, parent === null || parent === void 0 ? void 0 : parent.name].filter(Boolean).join(" ").toLowerCase();
34
- return text.includes("support") || pathOf((_b = f.link) === null || _b === void 0 ? void 0 : _b.url).includes("support");
34
+ var _a, _b, _c;
35
+ let text = [f.name, (_a = f.link) === null || _a === void 0 ? void 0 : _a.name, (_b = parentOf(f)) === null || _b === void 0 ? void 0 : _b.name].filter(Boolean).join(" ").toLowerCase();
36
+ return text.includes("support") || pathOf((_c = f.link) === null || _c === void 0 ? void 0 : _c.url).includes("support");
35
37
  };
36
- const titleOf = (f) => {
37
- var _a, _b, _c, _d;
38
- let own = (_c = (_a = f.name) !== null && _a !== void 0 ? _a : (_b = f.link) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : "";
39
- if (pathOf((_d = f.link) === null || _d === void 0 ? void 0 : _d.url).endsWith("/list") && f.parent_id != null) {
40
- let parent = byId.get(f.parent_id);
41
- if (parent === null || parent === void 0 ? void 0 : parent.name)
42
- return parent.name;
38
+ const displayOf = (f) => isListChild(f) ? parentOf(f) : f;
39
+ const chainOf = (f) => {
40
+ let chain = [];
41
+ let current = f;
42
+ while (current != null && chain.length < 100) {
43
+ chain.unshift(current);
44
+ current = parentOf(current);
43
45
  }
44
- return own;
46
+ return chain;
47
+ };
48
+ const titleOf = (f) => chainOf(displayOf(f)).map(nameOf).join(" / ");
49
+ const descriptionOf = (f) => { var _a, _b; return (_b = (_a = f.link) === null || _a === void 0 ? void 0 : _a.description) !== null && _b !== void 0 ? _b : ""; };
50
+ const orderPathOf = (f) => chainOf(displayOf(f)).map(n => n.order);
51
+ const compareOrderPath = (a, b) => {
52
+ let pa = orderPathOf(a);
53
+ let pb = orderPathOf(b);
54
+ let len = Math.min(pa.length, pb.length);
55
+ for (let i = 0; i < len; i++)
56
+ if (pa[i] !== pb[i])
57
+ return pa[i] - pb[i];
58
+ return pa.length - pb.length;
45
59
  };
46
60
  const getMenuItems = () => {
47
61
  var _a, _b, _c, _d, _e;
@@ -65,17 +79,17 @@ export function NSListMenu(props) {
65
79
  ans = ans.filter(f => {
66
80
  var _a;
67
81
  let path = pathOf((_a = f.link) === null || _a === void 0 ? void 0 : _a.url);
68
- if (listedBases.has(baseOf(path)))
69
- return path.endsWith("/list");
82
+ if (path.endsWith("/new") && listedBases.has(baseOf(path)))
83
+ return false;
70
84
  return true;
71
85
  });
72
- ans.sort((a, b) => a.order - b.order);
86
+ ans.sort(compareOrderPath);
73
87
  return ans;
74
88
  };
75
89
  let items = getMenuItems();
76
90
  return (_jsx(NSSection, { style: { gap: "16px" }, children: items.map((filter) => {
77
- var _a, _b, _c, _d;
78
- return _jsx(NSCard, { link: { href: (_b = (_a = filter.link) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : "" }, title: titleOf(filter), description: (_d = (_c = filter.link) === null || _c === void 0 ? void 0 : _c.description) !== null && _d !== void 0 ? _d : "" }, filter.id);
91
+ var _a, _b;
92
+ return _jsx(NSCard, { link: { href: (_b = (_a = filter.link) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : "" }, title: titleOf(filter), description: descriptionOf(filter) }, filter.id);
79
93
  }) }));
80
94
  }
81
95
  //# sourceMappingURL=NSListMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSListMenu.js","sourceRoot":"","sources":["../../src/components/NSListMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,uBAAuB,EAAqB,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAexC,MAAM,UAAU,UAAU,CAAC,KAAsB;;IAE7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAErE,SAAS,CAAC,GAAG,EAAE;;QAEX,IAAI,2BAA2B,GAAG,IAAI,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAClG,IAAI,MAAM,GAAG,IAAI,uBAAuB,CAAC,2BAA2B,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAE1F,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAExB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,IAAI,GAAG,IAAI,GAAG,CAA4B,CAAC,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3F,MAAM,MAAM,GAAG,CAAC,GAA8B,EAAU,EAAE;QAEtD,IAAI,CAAC,GAAG;YACJ,OAAO,EAAE,CAAC;QACd,IACA,CAAC;YACG,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACnE,CAAC;QACD,WACA,CAAC;YACG,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAEtE,MAAM,SAAS,GAAG,CAAC,CAAoB,EAAW,EAAE;;QAEhD,IAAI,MAAM,GAAG,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAA,CAAC,CAAC,IAAI,0CAAE,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACxF,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAA,CAAC,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/E,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,CAAoB,EAAU,EAAE;;QAE7C,IAAI,GAAG,GAAG,MAAA,MAAA,CAAC,CAAC,IAAI,mCAAI,MAAA,CAAC,CAAC,IAAI,0CAAE,IAAI,mCAAI,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,MAAA,CAAC,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,EAChE,CAAC;YACG,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI;gBACZ,OAAO,MAAM,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAwB,EAAE;;QAE3C,IAAI,QAAQ,GAAG,MAAA,MAAA,KAAK,CAAC,UAAU,qDAAI,mCAAI,KAAK,CAAC;QAC7C,IAAI,GAAG,GAAG,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE;YAEhC,IAAI,CAAC,CAAC,IAAI,EACV,CAAC;gBACG,IAAI,QAAQ;oBACR,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACzB,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,mCAAI,EAAE,CAAC;QAET,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,GAAG,CAAA,EAAA,CAAC,CAAC;QACnC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAErC,IAAI,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,KAAK,IAAI,CAAC,IAAI,GAAG,EACjB,CAAC;YACG,IAAI,IAAI,GAAG,MAAM,CAAC,MAAA,CAAC,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACtB,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC;QAED,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;;YAEjB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAA,CAAC,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC;YAC/B,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;IAE3B,OAAO,CACH,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,YAEzB,KAAK,CAAC,GAAG,CAAC,CAAC,MAAyB,EAAE,EAAE;;YACpC,OAAA,KAAC,MAAM,IAEH,IAAI,EAAE,EAAE,IAAI,EAAE,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,GAAG,mCAAI,EAAE,EAAE,EACtC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EACtB,WAAW,EAAE,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,WAAW,mCAAI,EAAE,IAHtC,MAAM,CAAC,EAAE,CAIhB,CAAA;SAAA,CACL,GAEG,CACf,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"NSListMenu.js","sourceRoot":"","sources":["../../src/components/NSListMenu.tsx"],"names":[],"mappings":"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"}
package/dist/main.d.ts CHANGED
@@ -159,6 +159,7 @@ export * from "./routing/NSRouterMakerProps";
159
159
  export * from "./Validator";
160
160
  export * from "./NSBoxBuilder";
161
161
  export * from "./ProductCacheService";
162
+ export * from "./BrowserDetector";
162
163
  export * from "./CopyToClipboard";
163
164
  export * from "./EncryptionOperation";
164
165
  export * from "./KeyOperation";
package/dist/main.js CHANGED
@@ -161,6 +161,7 @@ export * from "./routing/NSRouterMakerProps";
161
161
  export * from "./Validator";
162
162
  export * from "./NSBoxBuilder";
163
163
  export * from "./ProductCacheService";
164
+ export * from "./BrowserDetector";
164
165
  export * from "./CopyToClipboard";
165
166
  export * from "./EncryptionOperation";
166
167
  export * from "./KeyOperation";
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.5.3",
11
+ "version": "1.5.5",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -0,0 +1,110 @@
1
+ export enum Browser
2
+ {
3
+ Chrome = "Chrome",
4
+ Edge = "Edge",
5
+ Brave = "Brave",
6
+ Opera = "Opera",
7
+ Samsung = "Samsung",
8
+ Firefox = "Firefox",
9
+ Safari = "Safari",
10
+ Unknown = "Unknown",
11
+ }
12
+
13
+ interface UserAgentBrand
14
+ {
15
+ brand: string;
16
+ version: string;
17
+ }
18
+
19
+ interface UserAgentData
20
+ {
21
+ brands: UserAgentBrand[];
22
+ mobile: boolean;
23
+ platform: string;
24
+ }
25
+
26
+ export class BrowserDetector
27
+ {
28
+ private static cached?: Browser;
29
+
30
+ private static get userAgentData(): UserAgentData | undefined
31
+ {
32
+ if (typeof navigator === "undefined")
33
+ return undefined;
34
+ return (navigator as any).userAgentData as UserAgentData | undefined;
35
+ }
36
+
37
+ private static getUserAgent(): string
38
+ {
39
+ if (typeof navigator === "undefined")
40
+ return "";
41
+ return navigator.userAgent;
42
+ }
43
+
44
+ private static isBrave(): boolean
45
+ {
46
+ return typeof navigator !== "undefined" && (navigator as any).brave !== undefined;
47
+ }
48
+
49
+ private static detectFromBrands(brands: UserAgentBrand[]): Browser | undefined
50
+ {
51
+ const names = brands.map(entry => entry.brand.toLowerCase());
52
+ const has = (value: string): boolean => names.some(name => name.includes(value));
53
+
54
+ if (BrowserDetector.isBrave())
55
+ return Browser.Brave;
56
+ if (has("microsoft edge"))
57
+ return Browser.Edge;
58
+ if (has("opera"))
59
+ return Browser.Opera;
60
+ if (has("samsung"))
61
+ return Browser.Samsung;
62
+ if (has("google chrome") || has("chromium"))
63
+ return Browser.Chrome;
64
+
65
+ return undefined;
66
+ }
67
+
68
+ private static detectFromUserAgent(): Browser
69
+ {
70
+ const ua = BrowserDetector.getUserAgent();
71
+
72
+ if (BrowserDetector.isBrave())
73
+ return Browser.Brave;
74
+ if (ua.includes("Edg/"))
75
+ return Browser.Edge;
76
+ if (ua.includes("OPR/") || ua.includes("Opera/"))
77
+ return Browser.Opera;
78
+ if (ua.includes("SamsungBrowser/"))
79
+ return Browser.Samsung;
80
+ if (ua.includes("Firefox/"))
81
+ return Browser.Firefox;
82
+ if (ua.includes("Chrome/"))
83
+ return Browser.Chrome;
84
+ if (ua.includes("Safari/"))
85
+ return Browser.Safari;
86
+
87
+ return Browser.Unknown;
88
+ }
89
+
90
+ static detect(): Browser
91
+ {
92
+ if (BrowserDetector.cached)
93
+ return BrowserDetector.cached;
94
+
95
+ const data = BrowserDetector.userAgentData;
96
+ const detected = data ? BrowserDetector.detectFromBrands(data.brands) : undefined;
97
+ BrowserDetector.cached = detected ?? BrowserDetector.detectFromUserAgent();
98
+ return BrowserDetector.cached;
99
+ }
100
+
101
+ static is(browser: Browser): boolean
102
+ {
103
+ return BrowserDetector.detect() === browser;
104
+ }
105
+
106
+ static reset(): void
107
+ {
108
+ BrowserDetector.cached = undefined;
109
+ }
110
+ }
@@ -50,23 +50,53 @@ export function NSListMenu(props: NSListMenuProps)
50
50
 
51
51
  const baseOf = (path: string): string => path.replace(/\/[^/]*$/, "");
52
52
 
53
+ const parentOf = (f: FilterLinkFullRow): FilterLinkFullRow | undefined =>
54
+ f.parent_id != null ? byId.get(f.parent_id) : undefined;
55
+
56
+ const nameOf = (f: FilterLinkFullRow): string => f.name ?? f.link?.name ?? "";
57
+
58
+ const isListChild = (f: FilterLinkFullRow): boolean =>
59
+ pathOf(f.link?.url).endsWith("/list") && parentOf(f) != null;
60
+
53
61
  const isSupport = (f: FilterLinkFullRow): boolean =>
54
62
  {
55
- let parent = f.parent_id != null ? byId.get(f.parent_id) : undefined;
56
- let text = [f.name, f.link?.name, parent?.name].filter(Boolean).join(" ").toLowerCase();
63
+ let text = [f.name, f.link?.name, parentOf(f)?.name].filter(Boolean).join(" ").toLowerCase();
57
64
  return text.includes("support") || pathOf(f.link?.url).includes("support");
58
65
  };
59
66
 
60
- const titleOf = (f: FilterLinkFullRow): string =>
67
+ const displayOf = (f: FilterLinkFullRow): FilterLinkFullRow =>
68
+ isListChild(f) ? parentOf(f)! : f;
69
+
70
+ const chainOf = (f: FilterLinkFullRow): FilterLinkFullRow[] =>
61
71
  {
62
- let own = f.name ?? f.link?.name ?? "";
63
- if (pathOf(f.link?.url).endsWith("/list") && f.parent_id != null)
72
+ let chain: FilterLinkFullRow[] = [];
73
+ let current: FilterLinkFullRow | undefined = f;
74
+ while (current != null && chain.length < 100)
64
75
  {
65
- let parent = byId.get(f.parent_id);
66
- if (parent?.name)
67
- return parent.name;
76
+ chain.unshift(current);
77
+ current = parentOf(current);
68
78
  }
69
- return own;
79
+ return chain;
80
+ };
81
+
82
+ const titleOf = (f: FilterLinkFullRow): string =>
83
+ chainOf(displayOf(f)).map(nameOf).join(" / ");
84
+
85
+ const descriptionOf = (f: FilterLinkFullRow): string =>
86
+ f.link?.description ?? "";
87
+
88
+ const orderPathOf = (f: FilterLinkFullRow): number[] =>
89
+ chainOf(displayOf(f)).map(n => n.order);
90
+
91
+ const compareOrderPath = (a: FilterLinkFullRow, b: FilterLinkFullRow): number =>
92
+ {
93
+ let pa = orderPathOf(a);
94
+ let pb = orderPathOf(b);
95
+ let len = Math.min(pa.length, pb.length);
96
+ for (let i = 0; i < len; i++)
97
+ if (pa[i] !== pb[i])
98
+ return pa[i] - pb[i];
99
+ return pa.length - pb.length;
70
100
  };
71
101
 
72
102
  const getMenuItems = (): FilterLinkFullRow[] =>
@@ -97,11 +127,11 @@ export function NSListMenu(props: NSListMenuProps)
97
127
  ans = ans.filter(f =>
98
128
  {
99
129
  let path = pathOf(f.link?.url);
100
- if (listedBases.has(baseOf(path)))
101
- return path.endsWith("/list");
130
+ if (path.endsWith("/new") && listedBases.has(baseOf(path)))
131
+ return false;
102
132
  return true;
103
133
  });
104
- ans.sort((a, b) => a.order - b.order);
134
+ ans.sort(compareOrderPath);
105
135
  return ans;
106
136
  };
107
137
 
@@ -115,7 +145,7 @@ export function NSListMenu(props: NSListMenuProps)
115
145
  key={filter.id}
116
146
  link={{ href: filter.link?.url ?? "" }}
117
147
  title={titleOf(filter)}
118
- description={filter.link?.description ?? ""}
148
+ description={descriptionOf(filter)}
119
149
  />
120
150
  )
121
151
  }
package/src/main.ts CHANGED
@@ -246,6 +246,7 @@ export * from "./routing/NSRouterMakerProps";
246
246
  export * from "./Validator";
247
247
  export * from "./NSBoxBuilder";
248
248
  export * from "./ProductCacheService";
249
+ export * from "./BrowserDetector";
249
250
  export * from "./CopyToClipboard";
250
251
  export * from "./EncryptionOperation";
251
252
  export * from "./KeyOperation";