UNPKG

@bootstrap-styled/ra-ui

Version:
226 lines (203 loc) 9.65 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.List = exports.ListView = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _classnames = _interopRequireDefault(require("classnames")); var _raCore = require("ra-core"); var _Title = _interopRequireDefault(require("../layout/Title")); var _ListToolbar = _interopRequireDefault(require("./ListToolbar")); var _Pagination = _interopRequireDefault(require("./Pagination")); var _BulkDeleteButton = _interopRequireDefault(require("../button/BulkDeleteButton")); var _BulkActionsToolbar = _interopRequireDefault(require("./BulkActionsToolbar")); var _ListActions = _interopRequireDefault(require("./ListActions")); var _CardContent = _interopRequireDefault(require("../layout/CardContent")); var DefaultBulkActionButtons = function DefaultBulkActionButtons(props) { return _react.default.createElement(_BulkDeleteButton.default, props); }; var sanitizeRestProps = function sanitizeRestProps(_ref) { var actions = _ref.actions, basePath = _ref.basePath, bulkActions = _ref.bulkActions, changeListParams = _ref.changeListParams, children = _ref.children, className = _ref.className, crudGetList = _ref.crudGetList, currentSort = _ref.currentSort, data = _ref.data, defaultTitle = _ref.defaultTitle, displayedFilters = _ref.displayedFilters, exporter = _ref.exporter, filter = _ref.filter, filterDefaultValues = _ref.filterDefaultValues, filters = _ref.filters, filterValues = _ref.filterValues, hasCreate = _ref.hasCreate, hasEdit = _ref.hasEdit, hasList = _ref.hasList, hasShow = _ref.hasShow, hideFilter = _ref.hideFilter, history = _ref.history, ids = _ref.ids, isLoading = _ref.isLoading, loadedOnce = _ref.loadedOnce, locale = _ref.locale, location = _ref.location, match = _ref.match, onSelect = _ref.onSelect, onToggleItem = _ref.onToggleItem, onUnselectItems = _ref.onUnselectItems, options = _ref.options, page = _ref.page, pagination = _ref.pagination, params = _ref.params, permissions = _ref.permissions, perPage = _ref.perPage, push = _ref.push, query = _ref.query, refresh = _ref.refresh, resource = _ref.resource, selectedIds = _ref.selectedIds, setFilters = _ref.setFilters, setPage = _ref.setPage, setPerPage = _ref.setPerPage, setSelectedIds = _ref.setSelectedIds, setSort = _ref.setSort, showFilter = _ref.showFilter, sort = _ref.sort, theme = _ref.theme, title = _ref.title, toggleItem = _ref.toggleItem, total = _ref.total, translate = _ref.translate, version = _ref.version, rest = (0, _objectWithoutProperties2.default)(_ref, ["actions", "basePath", "bulkActions", "changeListParams", "children", "className", "crudGetList", "currentSort", "data", "defaultTitle", "displayedFilters", "exporter", "filter", "filterDefaultValues", "filters", "filterValues", "hasCreate", "hasEdit", "hasList", "hasShow", "hideFilter", "history", "ids", "isLoading", "loadedOnce", "locale", "location", "match", "onSelect", "onToggleItem", "onUnselectItems", "options", "page", "pagination", "params", "permissions", "perPage", "push", "query", "refresh", "resource", "selectedIds", "setFilters", "setPage", "setPerPage", "setSelectedIds", "setSort", "showFilter", "sort", "theme", "title", "toggleItem", "total", "translate", "version"]); return rest; }; var ListView = function ListView(_ref2) { var actions = _ref2.actions, aside = _ref2.aside, filter = _ref2.filter, filters = _ref2.filters, bulkActions = _ref2.bulkActions, bulkActionButtons = _ref2.bulkActionButtons, pagination = _ref2.pagination, children = _ref2.children, className = _ref2.className, exporter = _ref2.exporter, title = _ref2.title, rest = (0, _objectWithoutProperties2.default)(_ref2, ["actions", "aside", "filter", "filters", "bulkActions", "bulkActionButtons", "pagination", "children", "className", "exporter", "title"]); var defaultTitle = rest.defaultTitle, version = rest.version; var controllerProps = (0, _raCore.getListControllerProps)(rest); return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)('list-page d-flex', className) }, sanitizeRestProps(rest)), _react.default.createElement(_Title.default, { title: title, defaultTitle: defaultTitle }), _react.default.createElement(_CardContent.default, null, bulkActions !== false && bulkActionButtons !== false && bulkActionButtons && !bulkActions && _react.default.createElement(_BulkActionsToolbar.default, controllerProps, bulkActionButtons), (filters || actions) && _react.default.createElement(_ListToolbar.default, (0, _extends2.default)({ filters: filters }, controllerProps, { actions: actions, bulkActions: bulkActions, exporter: exporter })), _react.default.createElement("div", { key: version }, children && (0, _react.cloneElement)(_react.Children.only(children), (0, _objectSpread2.default)({}, controllerProps, { hasBulkActions: bulkActions !== false && bulkActionButtons !== false })), pagination && (0, _react.cloneElement)(pagination, controllerProps))), aside && (0, _react.cloneElement)(aside, controllerProps)); }; exports.ListView = ListView; ListView.propTypes = { actions: _propTypes.default.element, aside: _propTypes.default.node, basePath: _propTypes.default.string, bulkActions: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.element]), bulkActionButtons: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.element]), children: _propTypes.default.element, className: _propTypes.default.string, currentSort: _propTypes.default.shape({ field: _propTypes.default.string, order: _propTypes.default.string }), data: _propTypes.default.object, defaultTitle: _propTypes.default.string, displayedFilters: _propTypes.default.object, exporter: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.bool]), filterDefaultValues: _propTypes.default.object, filters: _propTypes.default.element, filterValues: _propTypes.default.object, hasCreate: _propTypes.default.bool, hideFilter: _propTypes.default.func, ids: _propTypes.default.array, isLoading: _propTypes.default.bool, onSelect: _propTypes.default.func, onToggleItem: _propTypes.default.func, onUnselectItems: _propTypes.default.func, page: _propTypes.default.number, pagination: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.element]), perPage: _propTypes.default.number, refresh: _propTypes.default.func, resource: _propTypes.default.string, selectedIds: _propTypes.default.array, setFilters: _propTypes.default.func, setPage: _propTypes.default.func, setPerPage: _propTypes.default.func, setSort: _propTypes.default.func, showFilter: _propTypes.default.func, title: _propTypes.default.any, total: _propTypes.default.number, translate: _propTypes.default.func, version: _propTypes.default.number }; ListView.defaultProps = { actions: _react.default.createElement(_ListActions.default, null), bulkActionButtons: _react.default.createElement(DefaultBulkActionButtons, null), pagination: _react.default.createElement(_Pagination.default, null) }; var List = function List(props) { return _react.default.createElement(_raCore.ListController, props, function (controllerProps) { return _react.default.createElement(ListView, (0, _extends2.default)({}, props, controllerProps)); }); }; exports.List = List; List.propTypes = { actions: _propTypes.default.element, aside: _propTypes.default.node, bulkActions: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.bool]), bulkActionButtons: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.bool]), children: _propTypes.default.node, className: _propTypes.default.string, filter: _propTypes.default.object, filterDefaultValues: _propTypes.default.object, filters: _propTypes.default.element, pagination: _propTypes.default.element, perPage: _propTypes.default.number.isRequired, sort: _propTypes.default.shape({ field: _propTypes.default.string, order: _propTypes.default.string }), title: _propTypes.default.any, authProvider: _propTypes.default.func, hasCreate: _propTypes.default.bool.isRequired, hasEdit: _propTypes.default.bool.isRequired, hasList: _propTypes.default.bool.isRequired, hasShow: _propTypes.default.bool.isRequired, location: _propTypes.default.object.isRequired, match: _propTypes.default.object.isRequired, path: _propTypes.default.string, resource: _propTypes.default.string.isRequired }; List.defaultProps = { filter: {}, perPage: 10 }; var _default = List; exports.default = _default;