piral-breadcrumbs 1.6.2-beta.7457 → 1.6.2-beta.7472
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/lib/create.js +18 -14
- package/lib/create.js.map +1 -1
- package/package.json +3 -3
- package/piral-breadcrumbs.min.js +1 -1
- package/src/create.ts +20 -14
package/lib/create.js
CHANGED
|
@@ -47,34 +47,38 @@ export function createBreadcrumbsApi(config = {}) {
|
|
|
47
47
|
return (context) => {
|
|
48
48
|
context.defineActions(actions);
|
|
49
49
|
context.dispatch(withAll(withBreadcrumbs(getBreadcrumbs(breadcrumbs)), withRootExtension('piral-breadcrumbs', Breadcrumbs)));
|
|
50
|
+
const registerBcs = (bcs) => {
|
|
51
|
+
context.registerBreadcrumbs(bcs);
|
|
52
|
+
return () => context.unregisterBreadcrumbs(Object.keys(bcs));
|
|
53
|
+
};
|
|
50
54
|
return (_, target) => {
|
|
51
55
|
const pilet = target.name;
|
|
52
56
|
let next = 0;
|
|
57
|
+
const appendBc = (bcs, name, settings) => {
|
|
58
|
+
const id = buildName(pilet, name);
|
|
59
|
+
bcs[id] = {
|
|
60
|
+
pilet,
|
|
61
|
+
matcher: getMatcher(settings),
|
|
62
|
+
settings,
|
|
63
|
+
};
|
|
64
|
+
return bcs;
|
|
65
|
+
};
|
|
53
66
|
return {
|
|
54
67
|
registerBreadcrumbs(values) {
|
|
55
|
-
const
|
|
68
|
+
const bcs = {};
|
|
56
69
|
for (const value of values) {
|
|
57
70
|
const { name = next++, ...settings } = value;
|
|
58
|
-
|
|
59
|
-
bc[id] = settings;
|
|
71
|
+
appendBc(bcs, name, settings);
|
|
60
72
|
}
|
|
61
|
-
|
|
62
|
-
return () => context.unregisterBreadcrumbs(Object.keys(bc));
|
|
73
|
+
return registerBcs(bcs);
|
|
63
74
|
},
|
|
64
75
|
registerBreadcrumb(name, settings) {
|
|
65
76
|
if (typeof name !== 'string') {
|
|
66
77
|
settings = name;
|
|
67
78
|
name = next++;
|
|
68
79
|
}
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
[id]: {
|
|
72
|
-
pilet,
|
|
73
|
-
matcher: getMatcher(settings),
|
|
74
|
-
settings,
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
return () => context.unregisterBreadcrumbs([id]);
|
|
80
|
+
const bcs = appendBc({}, name, settings);
|
|
81
|
+
return registerBcs(bcs);
|
|
78
82
|
},
|
|
79
83
|
unregisterBreadcrumb(name) {
|
|
80
84
|
const id = buildName(pilet, name);
|
package/lib/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAqB,iBAAiB,EAAE,OAAO,EAAe,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACvH,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAc5C,SAAS,UAAU,CAAC,QAA4B;IAC9C,IAAI,QAAQ,CAAC,OAAO,YAAY,MAAM,EAAE;QACtC,OAAO,QAAQ,CAAC,OAAO,CAAC;KACzB;SAAM,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE;QAC/C,OAAO,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC7C;SAAM;QACL,OAAO,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC1C;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAgC;IACtD,MAAM,WAAW,GAAiC,EAAE,CAAC;IACrD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;QAC5B,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG;YAC7B,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC7B,QAAQ;SACT,CAAC;KACH;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,eAAe,CAAC,WAAyC;IAChE,OAAO,CAAC,KAAkB,EAAe,EAAE,CAAC,CAAC;QAC3C,GAAG,KAAK;QACR,UAAU,EAAE;YACV,cAAc,EAAE,qBAAqB;YACrC,oBAAoB,EAAE,2BAA2B;YACjD,GAAG,KAAK,CAAC,UAAU;SACpB;QACD,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,WAAW;SACZ;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA0B,EAAE;IAC/D,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAEpC,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE/B,OAAO,CAAC,QAAQ,CACd,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAC3G,CAAC;QAEF,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-breadcrumbs",
|
|
3
|
-
"version": "1.6.2-beta.
|
|
3
|
+
"version": "1.6.2-beta.7472",
|
|
4
4
|
"description": "Plugin for creating a breadcrumb manager in Piral.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"piral",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@types/react": "^18.0.0",
|
|
54
|
-
"piral-core": "1.6.2-beta.
|
|
54
|
+
"piral-core": "1.6.2-beta.7472",
|
|
55
55
|
"react": "^18.0.0"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "3dd0674c8a6af8b5e1ab66fed6813ee7565f0ed9"
|
|
58
58
|
}
|
package/piral-breadcrumbs.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var F=Object.create;var
|
|
1
|
+
(()=>{var F=Object.create;var h=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var A=r=>h(r,"__esModule",{value:!0});var b=(r=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(r,{get:(e,t)=>(typeof require!="undefined"?require:e)[t]}):r)(function(r){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var z=(r,e)=>{A(r);for(var t in e)h(r,t,{get:e[t],enumerable:!0})},Z=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of $(e))!O.call(r,n)&&n!=="default"&&h(r,n,{get:()=>e[n],enumerable:!(t=M(e,n))||t.enumerable});return r},p=r=>Z(A(h(r!=null?F(K(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var m=p(b("react")),k=p(b("piral-core"));var x=p(b("piral-core")),D=(0,x.getPiralComponent)("BreadcrumbsContainer"),I=(0,x.getPiralComponent)("BreadcrumbItem");var E=p(b("piral-core"));function q(r,e){let[t]=r.filter(n=>n.matcher.test(e));return t}function H(r,e){let t=e.split("/");for(;t.length>1;){t.pop();let n=t.join("/"),a=y(r,n);if(a)return a}}function y(r,e){if(e)return q(r,e)||H(r,e)}function G(r){let e=(0,E.useGlobalState)(n=>n.registry.breadcrumbs),t=Object.keys(e).map(n=>e[n]);if(t.length>0){let n=y(t,r);if(n){let a=[n],i=y(t,n.settings.parent);for(;i!==void 0;)a.push(i),i=y(t,i.settings.parent);return a.reverse()}}return[]}var w=/:(([A-Za-z0-9_]+)\*?)/g;function J(r,e,t){return typeof r=="function"?r({path:e,params:t}):r}function L(){let{navigation:r}=(0,k.useGlobalStateContext)(),[e,t]=m.useState(r.path);return m.useEffect(()=>r.listen(()=>{t(r.path)}),[]),e}function Q(r){let e=[],t;for(;t=w.exec(r);)e.push(t[2]);return e}function T(r,e){let t={};if(r){let a=r.matcher.exec(e);if(a){let i=Q(r.settings.path);for(let o=0;o<i.length;o++)t[i[o]]=a[o+1]}}return t}function U(r,e){return m.useMemo(()=>T(r,e),[r,e])}var P=()=>{let r=L(),e=G(r),t=e.length-1,n=U(e[t],r),a=e.map(({settings:i},o)=>{let{title:f,path:B,...s}=i,c=`bc_${o}_${i.path}`,d=o===t,g=B.replace(w,(R,rr,S)=>S in n?n[S]||"":R);return m.createElement(I,{key:c,current:d,path:g,...s},J(f,g,n))});return m.createElement(D,{children:a})};P.displayName="Breadcrumbs";var C={};z(C,{registerBreadcrumbs:()=>V,unregisterBreadcrumbs:()=>W});function V(r,e){r.dispatch(t=>({...t,registry:{...t.registry,breadcrumbs:{...t.registry.breadcrumbs,...e}}}))}function W(r,e){r.dispatch(t=>({...t,registry:{...t.registry,breadcrumbs:e.reduce((n,a)=>{let{[a]:i,...o}=n;return o},t.registry.breadcrumbs)}}))}var u=p(b("piral-core"));var _=p(b("react")),l=p(b("piral-core")),v=r=>_.createElement(l.ExtensionSlot,{name:"breadcrumbs",params:r,empty:()=>(0,l.defaultRender)(r.children,"default_breadcrumbs")}),N=r=>(0,l.defaultRender)(r.children);function j(r){return r.matcher instanceof RegExp?r.matcher:typeof r.matcher=="string"?(0,u.createRouteMatcher)(r.matcher):(0,u.createRouteMatcher)(r.path)}function X(r){let e={},t=0;for(let n of r)e[`global-${t++}`]={pilet:void 0,matcher:j(n),settings:n};return e}function Y(r){return e=>({...e,components:{BreadcrumbItem:N,BreadcrumbsContainer:v,...e.components},registry:{...e.registry,breadcrumbs:r}})}function pr(r={}){let{breadcrumbs:e=[]}=r;return t=>{t.defineActions(C),t.dispatch((0,u.withAll)(Y(X(e)),(0,u.withRootExtension)("piral-breadcrumbs",P)));let n=a=>(t.registerBreadcrumbs(a),()=>t.unregisterBreadcrumbs(Object.keys(a)));return(a,i)=>{let o=i.name,f=0,B=(s,c,d)=>{let g=(0,u.buildName)(o,c);return s[g]={pilet:o,matcher:j(d),settings:d},s};return{registerBreadcrumbs(s){let c={};for(let d of s){let{name:g=f++,...R}=d;B(c,g,R)}return n(c)},registerBreadcrumb(s,c){typeof s!="string"&&(c=s,s=f++);let d=B({},s,c);return n(d)},unregisterBreadcrumb(s){let c=(0,u.buildName)(o,s);t.unregisterBreadcrumbs([c])}}}}}})();
|
package/src/create.ts
CHANGED
|
@@ -68,22 +68,35 @@ export function createBreadcrumbsApi(config: DashboardConfig = {}): PiralPlugin<
|
|
|
68
68
|
withAll(withBreadcrumbs(getBreadcrumbs(breadcrumbs)), withRootExtension('piral-breadcrumbs', Breadcrumbs)),
|
|
69
69
|
);
|
|
70
70
|
|
|
71
|
+
const registerBcs = (bcs: Dict<BreadcrumbRegistration>) => {
|
|
72
|
+
context.registerBreadcrumbs(bcs);
|
|
73
|
+
return () => context.unregisterBreadcrumbs(Object.keys(bcs));
|
|
74
|
+
};
|
|
75
|
+
|
|
71
76
|
return (_, target) => {
|
|
72
77
|
const pilet = target.name;
|
|
73
78
|
let next = 0;
|
|
74
79
|
|
|
80
|
+
const appendBc = (bcs: Dict<BreadcrumbRegistration>, name: string | number, settings: BreadcrumbSettings) => {
|
|
81
|
+
const id = buildName(pilet, name);
|
|
82
|
+
bcs[id] = {
|
|
83
|
+
pilet,
|
|
84
|
+
matcher: getMatcher(settings),
|
|
85
|
+
settings,
|
|
86
|
+
};
|
|
87
|
+
return bcs;
|
|
88
|
+
};
|
|
89
|
+
|
|
75
90
|
return {
|
|
76
91
|
registerBreadcrumbs(values) {
|
|
77
|
-
const
|
|
92
|
+
const bcs: Dict<BreadcrumbRegistration> = {};
|
|
78
93
|
|
|
79
94
|
for (const value of values) {
|
|
80
95
|
const { name = next++, ...settings } = value;
|
|
81
|
-
|
|
82
|
-
bc[id] = settings;
|
|
96
|
+
appendBc(bcs, name, settings);
|
|
83
97
|
}
|
|
84
98
|
|
|
85
|
-
|
|
86
|
-
return () => context.unregisterBreadcrumbs(Object.keys(bc));
|
|
99
|
+
return registerBcs(bcs);
|
|
87
100
|
},
|
|
88
101
|
registerBreadcrumb(name, settings?) {
|
|
89
102
|
if (typeof name !== 'string') {
|
|
@@ -91,15 +104,8 @@ export function createBreadcrumbsApi(config: DashboardConfig = {}): PiralPlugin<
|
|
|
91
104
|
name = next++;
|
|
92
105
|
}
|
|
93
106
|
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
[id]: {
|
|
97
|
-
pilet,
|
|
98
|
-
matcher: getMatcher(settings),
|
|
99
|
-
settings,
|
|
100
|
-
},
|
|
101
|
-
});
|
|
102
|
-
return () => context.unregisterBreadcrumbs([id]);
|
|
107
|
+
const bcs = appendBc({}, name, settings);
|
|
108
|
+
return registerBcs(bcs);
|
|
103
109
|
},
|
|
104
110
|
unregisterBreadcrumb(name) {
|
|
105
111
|
const id = buildName(pilet, name);
|