piral-core
Advanced tools
Comparing version 0.5.0 to 0.5.1-pre.431
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const React = require("react"); | ||
const react_arbiter_1 = require("react-arbiter"); | ||
const hooks_1 = require("../hooks"); | ||
function defaultRender(items) { | ||
return React.createElement(React.Fragment, null, items); | ||
} | ||
function getExtensionSlot(name) { | ||
const ExtensionSlotView = ({ render = defaultRender, empty, params = {} }) => { | ||
const extensions = hooks_1.useGlobalState(s => s.components.extensions[name] || []); | ||
return render(extensions.length === 0 && react_arbiter_1.isfunc(empty) | ||
? [empty()] | ||
: extensions.map(({ component: Component }, i) => React.createElement(Component, { key: i, params: params }))); | ||
const ExtensionSlotView = props => { | ||
const Extension = hooks_1.useExtension(name); | ||
return React.createElement(Extension, Object.assign({}, props)); | ||
}; | ||
@@ -16,0 +10,0 @@ ExtensionSlotView.displayName = `ExtensionSlot_${name}`; |
export * from './action'; | ||
export * from './actions'; | ||
export * from './debounce'; | ||
export * from './extension'; | ||
export * from './feed'; | ||
@@ -5,0 +6,0 @@ export * from './form'; |
@@ -9,2 +9,3 @@ "use strict"; | ||
__export(require("./debounce")); | ||
__export(require("./extension")); | ||
__export(require("./feed")); | ||
@@ -11,0 +12,0 @@ __export(require("./form")); |
@@ -25,6 +25,7 @@ "use strict"; | ||
} | ||
function addExtension(context, api, name, arg) { | ||
function addExtension(context, api, name, arg, defaults) { | ||
context.registerExtension(name, { | ||
component: components_1.withApi(arg, api), | ||
reference: arg, | ||
defaults, | ||
}); | ||
@@ -40,5 +41,6 @@ } | ||
} | ||
function addModal(context, api, id, arg) { | ||
function addModal(context, api, id, arg, defaults) { | ||
context.registerModal(id, { | ||
component: components_1.withApi(arg, api), | ||
defaults, | ||
}); | ||
@@ -162,8 +164,8 @@ } | ||
}, | ||
registerExtensionX(name, arg) { | ||
addExtension(context, api, name, arg); | ||
registerExtensionX(name, arg, defaults) { | ||
addExtension(context, api, name, arg, defaults); | ||
}, | ||
registerExtension(name, arg) { | ||
registerExtension(name, arg, defaults) { | ||
markReact(arg, `Extension:${name}`); | ||
addExtension(context, api, name, arg); | ||
addExtension(context, api, name, arg, defaults); | ||
}, | ||
@@ -186,10 +188,10 @@ unregisterExtension(name, arg) { | ||
}, | ||
registerModalX(name, arg) { | ||
registerModalX(name, arg, defaults) { | ||
const id = buildName(prefix, name); | ||
addModal(context, api, id, arg); | ||
addModal(context, api, id, arg, defaults); | ||
}, | ||
registerModal(name, arg) { | ||
registerModal(name, arg, defaults) { | ||
const id = buildName(prefix, name); | ||
markReact(arg, `Modal:${name}`); | ||
addModal(context, api, id, arg); | ||
addModal(context, api, id, arg, defaults); | ||
}, | ||
@@ -196,0 +198,0 @@ unregisterModal(name) { |
@@ -110,4 +110,5 @@ import { ReactNode, ComponentType } from 'react'; | ||
* @param render The function that is being called once rendering begins. | ||
* @param defaults Optionally, sets the default values for the inserted options. | ||
*/ | ||
registerModalX<TOpts>(name: string, render: ForeignComponent<ModalComponentProps<PiralApi<TExtraApi>, TOpts>>): void; | ||
registerModalX<TOpts>(name: string, render: ForeignComponent<ModalComponentProps<PiralApi<TExtraApi>, TOpts>>, defaults?: TOpts): void; | ||
/** | ||
@@ -118,4 +119,5 @@ * Registers a modal dialog using a React component. | ||
* @param Component The component to render the page. | ||
* @param defaults Optionally, sets the default values for the inserted options. | ||
*/ | ||
registerModal<TOpts>(name: string, Component: ComponentType<ModalComponentProps<PiralApi<TExtraApi>, TOpts>>): void; | ||
registerModal<TOpts>(name: string, Component: ComponentType<ModalComponentProps<PiralApi<TExtraApi>, TOpts>>, defaults?: TOpts): void; | ||
/** | ||
@@ -174,4 +176,5 @@ * Unregisters a modal by its name. | ||
* @param render The function that is being called once rendering begins. | ||
* @param defaults Optionally, sets the default values for the expected data. | ||
*/ | ||
registerExtensionX<T>(name: string, render: ForeignComponent<ExtensionComponentProps<PiralApi<TExtraApi>, T>>): void; | ||
registerExtensionX<T>(name: string, render: ForeignComponent<ExtensionComponentProps<PiralApi<TExtraApi>, T>>, defaults?: T): void; | ||
/** | ||
@@ -182,4 +185,5 @@ * Registers an extension component with a React component. | ||
* @param Component The component to be rendered. | ||
* @param defaults Optionally, sets the default values for the expected data. | ||
*/ | ||
registerExtension<T>(name: string, Component: ComponentType<ExtensionComponentProps<PiralApi<TExtraApi>, T>>): void; | ||
registerExtension<T>(name: string, Component: ComponentType<ExtensionComponentProps<PiralApi<TExtraApi>, T>>, defaults?: T): void; | ||
/** | ||
@@ -186,0 +190,0 @@ * Unregisters a global extension component. |
@@ -35,2 +35,3 @@ import { ComponentType, ReactChild } from 'react'; | ||
component: WrappedComponent<ModalComponentProps<any, any>>; | ||
defaults: any; | ||
} | ||
@@ -44,2 +45,3 @@ export interface MenuItemRegistration { | ||
reference: any; | ||
defaults: any; | ||
} | ||
@@ -46,0 +48,0 @@ export interface SearchProviderRegistration { |
{ | ||
"name": "piral-core", | ||
"version": "0.5.0", | ||
"version": "0.5.1-pre.431", | ||
"description": "The core library for creating a Piral instance.", | ||
@@ -52,3 +52,3 @@ "keywords": [ | ||
}, | ||
"gitHead": "114817f9032abf4b53752428df985bd6f3cb6aeb" | ||
"gitHead": "cf6b4854c33a43f139d13c9d0f17a52205f25722" | ||
} |
export * from './action'; | ||
export * from './actions'; | ||
export * from './debounce'; | ||
export * from './extension'; | ||
export * from './feed'; | ||
@@ -5,0 +6,0 @@ export * from './form'; |
@@ -61,2 +61,3 @@ import { ArbiterModuleMetadata, wrapElement, isfunc } from 'react-arbiter'; | ||
arg: AnyComponent<ExtensionComponentProps<PiralApi<TApi>, T>>, | ||
defaults?: T, | ||
) { | ||
@@ -66,2 +67,3 @@ context.registerExtension(name, { | ||
reference: arg, | ||
defaults, | ||
}); | ||
@@ -90,5 +92,7 @@ } | ||
arg: AnyComponent<ModalComponentProps<PiralApi<TApi>, TOpts>>, | ||
defaults?: TOpts, | ||
) { | ||
context.registerModal(id, { | ||
component: withApi(arg, api) as any, | ||
defaults, | ||
}); | ||
@@ -228,8 +232,8 @@ } | ||
}, | ||
registerExtensionX(name, arg) { | ||
addExtension(context, api, name, arg); | ||
registerExtensionX(name, arg, defaults) { | ||
addExtension(context, api, name, arg, defaults); | ||
}, | ||
registerExtension(name, arg) { | ||
registerExtension(name, arg, defaults) { | ||
markReact(arg, `Extension:${name}`); | ||
addExtension(context, api, name, arg); | ||
addExtension(context, api, name, arg, defaults); | ||
}, | ||
@@ -252,10 +256,10 @@ unregisterExtension(name, arg) { | ||
}, | ||
registerModalX(name, arg) { | ||
registerModalX(name, arg, defaults) { | ||
const id = buildName(prefix, name); | ||
addModal(context, api, id, arg); | ||
addModal(context, api, id, arg, defaults); | ||
}, | ||
registerModal(name, arg) { | ||
registerModal(name, arg, defaults) { | ||
const id = buildName(prefix, name); | ||
markReact(arg, `Modal:${name}`); | ||
addModal(context, api, id, arg); | ||
addModal(context, api, id, arg, defaults); | ||
}, | ||
@@ -262,0 +266,0 @@ unregisterModal(name) { |
@@ -122,4 +122,9 @@ import { ReactNode, ComponentType } from 'react'; | ||
* @param render The function that is being called once rendering begins. | ||
* @param defaults Optionally, sets the default values for the inserted options. | ||
*/ | ||
registerModalX<TOpts>(name: string, render: ForeignComponent<ModalComponentProps<PiralApi<TExtraApi>, TOpts>>): void; | ||
registerModalX<TOpts>( | ||
name: string, | ||
render: ForeignComponent<ModalComponentProps<PiralApi<TExtraApi>, TOpts>>, | ||
defaults?: TOpts, | ||
): void; | ||
/** | ||
@@ -130,4 +135,9 @@ * Registers a modal dialog using a React component. | ||
* @param Component The component to render the page. | ||
* @param defaults Optionally, sets the default values for the inserted options. | ||
*/ | ||
registerModal<TOpts>(name: string, Component: ComponentType<ModalComponentProps<PiralApi<TExtraApi>, TOpts>>): void; | ||
registerModal<TOpts>( | ||
name: string, | ||
Component: ComponentType<ModalComponentProps<PiralApi<TExtraApi>, TOpts>>, | ||
defaults?: TOpts, | ||
): void; | ||
/** | ||
@@ -194,4 +204,9 @@ * Unregisters a modal by its name. | ||
* @param render The function that is being called once rendering begins. | ||
* @param defaults Optionally, sets the default values for the expected data. | ||
*/ | ||
registerExtensionX<T>(name: string, render: ForeignComponent<ExtensionComponentProps<PiralApi<TExtraApi>, T>>): void; | ||
registerExtensionX<T>( | ||
name: string, | ||
render: ForeignComponent<ExtensionComponentProps<PiralApi<TExtraApi>, T>>, | ||
defaults?: T, | ||
): void; | ||
/** | ||
@@ -202,4 +217,9 @@ * Registers an extension component with a React component. | ||
* @param Component The component to be rendered. | ||
* @param defaults Optionally, sets the default values for the expected data. | ||
*/ | ||
registerExtension<T>(name: string, Component: ComponentType<ExtensionComponentProps<PiralApi<TExtraApi>, T>>): void; | ||
registerExtension<T>( | ||
name: string, | ||
Component: ComponentType<ExtensionComponentProps<PiralApi<TExtraApi>, T>>, | ||
defaults?: T, | ||
): void; | ||
/** | ||
@@ -206,0 +226,0 @@ * Unregisters a global extension component. |
@@ -51,2 +51,3 @@ import { ComponentType, ReactChild } from 'react'; | ||
component: WrappedComponent<ModalComponentProps<any, any>>; | ||
defaults: any; | ||
} | ||
@@ -62,2 +63,3 @@ | ||
reference: any; | ||
defaults: any; | ||
} | ||
@@ -64,0 +66,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
418702
350
10737