data-feed
Advanced tools
Comparing version 0.0.2 to 0.0.3
import React from 'react'; | ||
import { FeedFilterOptions, FeedSortOption, FeedButonProps, FeedLinkProps, FeedItemOptions } from '../interfaces'; | ||
import { FeedFilterOptions, FeedSortOption, FeedButonProps } from '../interfaces'; | ||
import { FeedFieldProps } from '../field'; | ||
@@ -8,3 +8,3 @@ import './index.scss'; | ||
all?: number; | ||
renderItem: (item: any) => FeedItemOptions; | ||
renderItem: (item: any) => React.ReactNode; | ||
sortOptions?: FeedSortOption[]; | ||
@@ -14,3 +14,2 @@ onChange?: (options: FeedFilterOptions) => void; | ||
renderButton?: (options: FeedButonProps) => React.ReactNode; | ||
renderLink?: (options: FeedLinkProps) => React.ReactNode; | ||
cleanButtonProps?: Partial<FeedButonProps>; | ||
@@ -22,3 +21,4 @@ refreshButtonProps?: Partial<FeedButonProps>; | ||
loadText?: string; | ||
filterClassName?: string; | ||
} | ||
export declare const DataFeed: React.FC<DataFeedProps>; |
@@ -19,4 +19,5 @@ import React from 'react'; | ||
fields?: FeedFieldProps[]; | ||
className?: string; | ||
} | ||
export declare const FeedFilter: React.FC<FeedFilterProps>; | ||
export {}; |
export * from './feed'; | ||
export * from './interfaces'; | ||
export { FeedAttributeProps } from './attribute'; | ||
export { FeedArrayUtil } from './utils'; | ||
export * from './item'; |
@@ -59,2 +59,3 @@ import React, { useCallback, useState, useEffect } from 'react'; | ||
}; | ||
//# sourceMappingURL=field-wrapper.js.map | ||
@@ -88,2 +89,3 @@ function useInputTextCallback(action) { | ||
} | ||
//# sourceMappingURL=index.js.map | ||
@@ -115,2 +117,3 @@ var FeedField = function (props) { | ||
}; | ||
//# sourceMappingURL=index.js.map | ||
@@ -128,3 +131,3 @@ function feedDefaultOptions(skip, sortOptions) { | ||
var FeedFilter = function (_a) { | ||
var onChange = _a.onChange, initSortOptions = _a.sortOptions, all = _a.all, loadOptions = _a.loadOptions, renderButton = _a.renderButton, cleanButtonProps = _a.cleanButtonProps, refreshButtonProps = _a.refreshButtonProps, sortEmpty = _a.sortEmpty, sortAsc = _a.sortAsc, sortDesc = _a.sortDesc, fields = _a.fields, onClean = _a.onClean, onRefresh = _a.onRefresh; | ||
var onChange = _a.onChange, initSortOptions = _a.sortOptions, all = _a.all, loadOptions = _a.loadOptions, renderButton = _a.renderButton, cleanButtonProps = _a.cleanButtonProps, refreshButtonProps = _a.refreshButtonProps, sortEmpty = _a.sortEmpty, sortAsc = _a.sortAsc, sortDesc = _a.sortDesc, fields = _a.fields, onClean = _a.onClean, onRefresh = _a.onRefresh, className = _a.className; | ||
var _b = useState(initSortOptions), sortOptions = _b[0], setSortOptions = _b[1]; | ||
@@ -145,3 +148,3 @@ var _c = useState(feedDefaultOptions(loadOptions.skip, sortOptions)), options = _c[0], setOptions = _c[1]; | ||
}, [loadOptions]); | ||
return (React.createElement("div", { className: "feed-filter" }, | ||
return (React.createElement("div", { className: classNames('feed-filter', className) }, | ||
options && sortOptions ? (React.createElement("div", { className: "feed-filter__sort" }, sortOptions.map(function (x, i) { | ||
@@ -213,2 +216,3 @@ var sort = options.sort; | ||
}; | ||
//# sourceMappingURL=array-util.js.map | ||
@@ -228,36 +232,6 @@ var RenderUtil = { | ||
}; | ||
//# sourceMappingURL=render-util.js.map | ||
var FeedAttribute = function (_a) { | ||
var name = _a.name, value = _a.value, icon = _a.icon, width = _a.width, maxWidth = _a.maxWidth; | ||
var style = { | ||
width: width, | ||
maxWidth: maxWidth | ||
}; | ||
return (React.createElement("div", { className: "feed-attribute" }, | ||
icon ? React.createElement("div", { className: "feed-attribute__icon" }, icon) : null, | ||
React.createElement("div", { className: "feed-attribute__text", style: style }, | ||
React.createElement("div", { className: "feed-attribute__name" }, name), | ||
React.createElement("div", { className: "feed-attribute__value" }, value)))); | ||
}; | ||
var FeedItem = function (_a) { | ||
var title = _a.title, titleRight = _a.titleRight, attributes = _a.attributes, actions = _a.actions, attributeWidth = _a.attributeWidth; | ||
var attributeSet = FeedArrayUtil.toDobleArray(attributes); | ||
var actionSet = FeedArrayUtil.toArray(actions); | ||
return (React.createElement("div", { className: "feed-item" }, | ||
title || titleRight ? (React.createElement("div", { className: "feed-item__top feed-item__child" }, | ||
React.createElement("div", { className: "feed-item__title" }, title), | ||
React.createElement("div", { className: "feed-item__top-right" }, titleRight))) : null, | ||
attributeSet.map(function (set, setKey) { return (React.createElement("div", { key: setKey, className: "feed-item__attribute-set feed-item__child" }, set.map(function (_a, i) { | ||
var width = _a.width, attrProps = __rest(_a, ["width"]); | ||
return (React.createElement("div", { key: i }, | ||
React.createElement(FeedAttribute, __assign({ width: width ? width : attributeWidth }, attrProps)))); | ||
}))); }), | ||
actionSet.length > 0 ? (React.createElement("div", { className: "feed-item__action-set feed-item__child" }, actionSet.map(function (action, i) { return (React.createElement("div", { key: i }, action)); }))) : null)); | ||
}; | ||
var DataFeed = function (_a) { | ||
var data = _a.data, all = _a.all, onChange = _a.onChange, sortOptions = _a.sortOptions, renderButton = _a.renderButton, renderLink = _a.renderLink, cleanButtonProps = _a.cleanButtonProps, refreshButtonProps = _a.refreshButtonProps, sortEmpty = _a.sortEmpty, sortAsc = _a.sortAsc, sortDesc = _a.sortDesc, fields = _a.fields, loadText = _a.loadText, renderItem = _a.renderItem; | ||
var renderButtonInst = renderButton ? renderButton : RenderUtil.renderButton; | ||
var renderLinkInst = renderLink ? renderLink : RenderUtil.renderLink; | ||
var data = _a.data, all = _a.all, onChange = _a.onChange, sortOptions = _a.sortOptions, renderButton = _a.renderButton, cleanButtonProps = _a.cleanButtonProps, refreshButtonProps = _a.refreshButtonProps, sortEmpty = _a.sortEmpty, sortAsc = _a.sortAsc, sortDesc = _a.sortDesc, fields = _a.fields, loadText = _a.loadText, renderItem = _a.renderItem, filterClassName = _a.filterClassName; | ||
var _b = useState({ | ||
@@ -279,16 +253,5 @@ skip: 0, | ||
}, [loadOptions]); | ||
var renderNode = function (dataItem) { | ||
var item = renderItem(dataItem); | ||
var title = item.title, titleRight = item.titleRight, attributes = item.attributes, actions = item.actions; | ||
var actionSet = FeedArrayUtil.toArray(actions); | ||
return (React.createElement(FeedItem, { title: title, titleRight: titleRight, attributes: attributes, actions: actionSet.map(function (x) { | ||
var href = x.href, text = x.text, onClick = x.onClick, rest = __rest(x, ["href", "text", "onClick"]); | ||
return href | ||
? renderLinkInst(__assign({ text: text, href: href }, rest)) | ||
: renderButtonInst(__assign({ text: text, onClick: onClick }, rest)); | ||
}) })); | ||
}; | ||
return (React.createElement("div", { className: "feed" }, | ||
React.createElement(FeedFilter, { onChange: onChange ? onChange : function () { }, sortOptions: sortOptions, all: all, loadOptions: loadOptions, renderButton: renderButtonInst, cleanButtonProps: cleanButtonProps, refreshButtonProps: refreshButtonProps, sortEmpty: RenderUtil.sortEmpty(sortEmpty), sortAsc: RenderUtil.sortAsc(sortAsc), sortDesc: RenderUtil.sortDesc(sortDesc), fields: fields, onClean: handleClean, onRefresh: handleRefresh }), | ||
React.createElement("div", { className: "feed__data" }, (data || []).map(function (item, i) { return (React.createElement("div", { key: i }, renderNode(item))); })), | ||
React.createElement(FeedFilter, { onChange: onChange ? onChange : function () { }, sortOptions: sortOptions, all: all, loadOptions: loadOptions, renderButton: renderButton ? renderButton : RenderUtil.renderButton, cleanButtonProps: cleanButtonProps, refreshButtonProps: refreshButtonProps, sortEmpty: RenderUtil.sortEmpty(sortEmpty), sortAsc: RenderUtil.sortAsc(sortAsc), sortDesc: RenderUtil.sortDesc(sortDesc), fields: fields, onClean: handleClean, onRefresh: handleRefresh, className: filterClassName }), | ||
React.createElement("div", { className: "feed__data" }, (data || []).map(function (item, i) { return (React.createElement("div", { key: i }, renderItem(item))); })), | ||
showLoad ? (React.createElement("div", { className: "feed__load" }, | ||
@@ -304,2 +267,33 @@ React.createElement("div", { onClick: function () { | ||
export { DataFeed, FeedArrayUtil }; | ||
var FeedAttribute = function (_a) { | ||
var name = _a.name, value = _a.value, icon = _a.icon, width = _a.width, maxWidth = _a.maxWidth; | ||
var style = { | ||
width: width, | ||
maxWidth: maxWidth | ||
}; | ||
return (React.createElement("div", { className: "feed-attribute" }, | ||
icon ? React.createElement("div", { className: "feed-attribute__icon" }, icon) : null, | ||
React.createElement("div", { className: "feed-attribute__text", style: style }, | ||
React.createElement("div", { className: "feed-attribute__name" }, name), | ||
React.createElement("div", { className: "feed-attribute__value" }, value)))); | ||
}; | ||
//# sourceMappingURL=index.js.map | ||
var DataFeedItem = function (_a) { | ||
var title = _a.title, titleRight = _a.titleRight, attributes = _a.attributes, actions = _a.actions, attributeWidth = _a.attributeWidth; | ||
var attributeSet = FeedArrayUtil.toDobleArray(attributes); | ||
var actionSet = FeedArrayUtil.toArray(actions); | ||
return (React.createElement("div", { className: "feed-item" }, | ||
title || titleRight ? (React.createElement("div", { className: "feed-item__top feed-item__child" }, | ||
React.createElement("div", { className: "feed-item__title" }, title), | ||
React.createElement("div", { className: "feed-item__top-right" }, titleRight))) : null, | ||
attributeSet.map(function (set, setKey) { return (React.createElement("div", { key: setKey, className: "feed-item__attribute-set feed-item__child--bottom" }, set.map(function (_a, i) { | ||
var width = _a.width, attrProps = __rest(_a, ["width"]); | ||
return (React.createElement("div", { key: i }, | ||
React.createElement(FeedAttribute, __assign({ width: width ? width : attributeWidth }, attrProps)))); | ||
}))); }), | ||
actionSet.length > 0 ? (React.createElement("div", { className: "feed-item__action-set feed-item__child" }, actionSet.map(function (action, i) { return (React.createElement("div", { key: i }, action)); }))) : null)); | ||
}; | ||
//# sourceMappingURL=index.js.map | ||
export { DataFeed, DataFeedItem }; |
@@ -66,2 +66,3 @@ 'use strict'; | ||
}; | ||
//# sourceMappingURL=field-wrapper.js.map | ||
@@ -95,2 +96,3 @@ function useInputTextCallback(action) { | ||
} | ||
//# sourceMappingURL=index.js.map | ||
@@ -122,2 +124,3 @@ var FeedField = function (props) { | ||
}; | ||
//# sourceMappingURL=index.js.map | ||
@@ -135,3 +138,3 @@ function feedDefaultOptions(skip, sortOptions) { | ||
var FeedFilter = function (_a) { | ||
var onChange = _a.onChange, initSortOptions = _a.sortOptions, all = _a.all, loadOptions = _a.loadOptions, renderButton = _a.renderButton, cleanButtonProps = _a.cleanButtonProps, refreshButtonProps = _a.refreshButtonProps, sortEmpty = _a.sortEmpty, sortAsc = _a.sortAsc, sortDesc = _a.sortDesc, fields = _a.fields, onClean = _a.onClean, onRefresh = _a.onRefresh; | ||
var onChange = _a.onChange, initSortOptions = _a.sortOptions, all = _a.all, loadOptions = _a.loadOptions, renderButton = _a.renderButton, cleanButtonProps = _a.cleanButtonProps, refreshButtonProps = _a.refreshButtonProps, sortEmpty = _a.sortEmpty, sortAsc = _a.sortAsc, sortDesc = _a.sortDesc, fields = _a.fields, onClean = _a.onClean, onRefresh = _a.onRefresh, className = _a.className; | ||
var _b = React.useState(initSortOptions), sortOptions = _b[0], setSortOptions = _b[1]; | ||
@@ -152,3 +155,3 @@ var _c = React.useState(feedDefaultOptions(loadOptions.skip, sortOptions)), options = _c[0], setOptions = _c[1]; | ||
}, [loadOptions]); | ||
return (React__default.createElement("div", { className: "feed-filter" }, | ||
return (React__default.createElement("div", { className: classNames('feed-filter', className) }, | ||
options && sortOptions ? (React__default.createElement("div", { className: "feed-filter__sort" }, sortOptions.map(function (x, i) { | ||
@@ -220,2 +223,3 @@ var sort = options.sort; | ||
}; | ||
//# sourceMappingURL=array-util.js.map | ||
@@ -235,36 +239,6 @@ var RenderUtil = { | ||
}; | ||
//# sourceMappingURL=render-util.js.map | ||
var FeedAttribute = function (_a) { | ||
var name = _a.name, value = _a.value, icon = _a.icon, width = _a.width, maxWidth = _a.maxWidth; | ||
var style = { | ||
width: width, | ||
maxWidth: maxWidth | ||
}; | ||
return (React__default.createElement("div", { className: "feed-attribute" }, | ||
icon ? React__default.createElement("div", { className: "feed-attribute__icon" }, icon) : null, | ||
React__default.createElement("div", { className: "feed-attribute__text", style: style }, | ||
React__default.createElement("div", { className: "feed-attribute__name" }, name), | ||
React__default.createElement("div", { className: "feed-attribute__value" }, value)))); | ||
}; | ||
var FeedItem = function (_a) { | ||
var title = _a.title, titleRight = _a.titleRight, attributes = _a.attributes, actions = _a.actions, attributeWidth = _a.attributeWidth; | ||
var attributeSet = FeedArrayUtil.toDobleArray(attributes); | ||
var actionSet = FeedArrayUtil.toArray(actions); | ||
return (React__default.createElement("div", { className: "feed-item" }, | ||
title || titleRight ? (React__default.createElement("div", { className: "feed-item__top feed-item__child" }, | ||
React__default.createElement("div", { className: "feed-item__title" }, title), | ||
React__default.createElement("div", { className: "feed-item__top-right" }, titleRight))) : null, | ||
attributeSet.map(function (set, setKey) { return (React__default.createElement("div", { key: setKey, className: "feed-item__attribute-set feed-item__child" }, set.map(function (_a, i) { | ||
var width = _a.width, attrProps = __rest(_a, ["width"]); | ||
return (React__default.createElement("div", { key: i }, | ||
React__default.createElement(FeedAttribute, __assign({ width: width ? width : attributeWidth }, attrProps)))); | ||
}))); }), | ||
actionSet.length > 0 ? (React__default.createElement("div", { className: "feed-item__action-set feed-item__child" }, actionSet.map(function (action, i) { return (React__default.createElement("div", { key: i }, action)); }))) : null)); | ||
}; | ||
var DataFeed = function (_a) { | ||
var data = _a.data, all = _a.all, onChange = _a.onChange, sortOptions = _a.sortOptions, renderButton = _a.renderButton, renderLink = _a.renderLink, cleanButtonProps = _a.cleanButtonProps, refreshButtonProps = _a.refreshButtonProps, sortEmpty = _a.sortEmpty, sortAsc = _a.sortAsc, sortDesc = _a.sortDesc, fields = _a.fields, loadText = _a.loadText, renderItem = _a.renderItem; | ||
var renderButtonInst = renderButton ? renderButton : RenderUtil.renderButton; | ||
var renderLinkInst = renderLink ? renderLink : RenderUtil.renderLink; | ||
var data = _a.data, all = _a.all, onChange = _a.onChange, sortOptions = _a.sortOptions, renderButton = _a.renderButton, cleanButtonProps = _a.cleanButtonProps, refreshButtonProps = _a.refreshButtonProps, sortEmpty = _a.sortEmpty, sortAsc = _a.sortAsc, sortDesc = _a.sortDesc, fields = _a.fields, loadText = _a.loadText, renderItem = _a.renderItem, filterClassName = _a.filterClassName; | ||
var _b = React.useState({ | ||
@@ -286,16 +260,5 @@ skip: 0, | ||
}, [loadOptions]); | ||
var renderNode = function (dataItem) { | ||
var item = renderItem(dataItem); | ||
var title = item.title, titleRight = item.titleRight, attributes = item.attributes, actions = item.actions; | ||
var actionSet = FeedArrayUtil.toArray(actions); | ||
return (React__default.createElement(FeedItem, { title: title, titleRight: titleRight, attributes: attributes, actions: actionSet.map(function (x) { | ||
var href = x.href, text = x.text, onClick = x.onClick, rest = __rest(x, ["href", "text", "onClick"]); | ||
return href | ||
? renderLinkInst(__assign({ text: text, href: href }, rest)) | ||
: renderButtonInst(__assign({ text: text, onClick: onClick }, rest)); | ||
}) })); | ||
}; | ||
return (React__default.createElement("div", { className: "feed" }, | ||
React__default.createElement(FeedFilter, { onChange: onChange ? onChange : function () { }, sortOptions: sortOptions, all: all, loadOptions: loadOptions, renderButton: renderButtonInst, cleanButtonProps: cleanButtonProps, refreshButtonProps: refreshButtonProps, sortEmpty: RenderUtil.sortEmpty(sortEmpty), sortAsc: RenderUtil.sortAsc(sortAsc), sortDesc: RenderUtil.sortDesc(sortDesc), fields: fields, onClean: handleClean, onRefresh: handleRefresh }), | ||
React__default.createElement("div", { className: "feed__data" }, (data || []).map(function (item, i) { return (React__default.createElement("div", { key: i }, renderNode(item))); })), | ||
React__default.createElement(FeedFilter, { onChange: onChange ? onChange : function () { }, sortOptions: sortOptions, all: all, loadOptions: loadOptions, renderButton: renderButton ? renderButton : RenderUtil.renderButton, cleanButtonProps: cleanButtonProps, refreshButtonProps: refreshButtonProps, sortEmpty: RenderUtil.sortEmpty(sortEmpty), sortAsc: RenderUtil.sortAsc(sortAsc), sortDesc: RenderUtil.sortDesc(sortDesc), fields: fields, onClean: handleClean, onRefresh: handleRefresh, className: filterClassName }), | ||
React__default.createElement("div", { className: "feed__data" }, (data || []).map(function (item, i) { return (React__default.createElement("div", { key: i }, renderItem(item))); })), | ||
showLoad ? (React__default.createElement("div", { className: "feed__load" }, | ||
@@ -311,3 +274,34 @@ React__default.createElement("div", { onClick: function () { | ||
var FeedAttribute = function (_a) { | ||
var name = _a.name, value = _a.value, icon = _a.icon, width = _a.width, maxWidth = _a.maxWidth; | ||
var style = { | ||
width: width, | ||
maxWidth: maxWidth | ||
}; | ||
return (React__default.createElement("div", { className: "feed-attribute" }, | ||
icon ? React__default.createElement("div", { className: "feed-attribute__icon" }, icon) : null, | ||
React__default.createElement("div", { className: "feed-attribute__text", style: style }, | ||
React__default.createElement("div", { className: "feed-attribute__name" }, name), | ||
React__default.createElement("div", { className: "feed-attribute__value" }, value)))); | ||
}; | ||
//# sourceMappingURL=index.js.map | ||
var DataFeedItem = function (_a) { | ||
var title = _a.title, titleRight = _a.titleRight, attributes = _a.attributes, actions = _a.actions, attributeWidth = _a.attributeWidth; | ||
var attributeSet = FeedArrayUtil.toDobleArray(attributes); | ||
var actionSet = FeedArrayUtil.toArray(actions); | ||
return (React__default.createElement("div", { className: "feed-item" }, | ||
title || titleRight ? (React__default.createElement("div", { className: "feed-item__top feed-item__child" }, | ||
React__default.createElement("div", { className: "feed-item__title" }, title), | ||
React__default.createElement("div", { className: "feed-item__top-right" }, titleRight))) : null, | ||
attributeSet.map(function (set, setKey) { return (React__default.createElement("div", { key: setKey, className: "feed-item__attribute-set feed-item__child--bottom" }, set.map(function (_a, i) { | ||
var width = _a.width, attrProps = __rest(_a, ["width"]); | ||
return (React__default.createElement("div", { key: i }, | ||
React__default.createElement(FeedAttribute, __assign({ width: width ? width : attributeWidth }, attrProps)))); | ||
}))); }), | ||
actionSet.length > 0 ? (React__default.createElement("div", { className: "feed-item__action-set feed-item__child" }, actionSet.map(function (action, i) { return (React__default.createElement("div", { key: i }, action)); }))) : null)); | ||
}; | ||
//# sourceMappingURL=index.js.map | ||
exports.DataFeed = DataFeed; | ||
exports.FeedArrayUtil = FeedArrayUtil; | ||
exports.DataFeedItem = DataFeedItem; |
export * from './filter-options'; | ||
export * from './control'; | ||
export * from './item-option'; |
{ | ||
"name": "data-feed", | ||
"version": "0.0.2", | ||
"version": "0.0.3", | ||
"description": "Data feed view", | ||
@@ -37,3 +37,3 @@ "main": "dist/index.js", | ||
"start-example": "cd example && npm start", | ||
"deploy-example": "cd example && npm run deploy", | ||
"build-example": "npm run build && cd example && npm run build", | ||
"dev": "concurrently --kill-others \"npm run build-watch\" \"npm run start-example\"", | ||
@@ -40,0 +40,0 @@ "test": "ts-node test/test.ts", |
Sorry, the diff of this file is not supported yet
22
42882
829