@wordpress/components
Version:
UI components for WordPress.
88 lines (69 loc) • 1.92 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _reactNative = require("react-native");
var _data = require("@wordpress/data");
var _compose = require("@wordpress/compose");
var _ = _interopRequireDefault(require("./"));
var _style = _interopRequireDefault(require("./style.scss"));
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
class NoticeList extends _element.Component {
constructor() {
super(...arguments);
this.removeNotice = this.removeNotice.bind(this);
}
removeNotice(id) {
const {
removeNotice
} = this.props;
removeNotice(id);
}
render() {
const {
notices,
shouldStack
} = this.props;
if (!notices.length) {
return null;
}
return (0, _element.createElement)(_reactNative.View, {
style: _style.default.list,
key: notices.length
}, shouldStack ? notices.reverse().map(notice => (0, _element.createElement)(_.default, (0, _extends2.default)({}, notice, {
key: notice.id,
onNoticeHidden: this.removeNotice
}))) : (0, _element.createElement)(_.default, (0, _extends2.default)({}, notices[notices.length - 1], {
onNoticeHidden: this.removeNotice
})));
}
}
var _default = (0, _compose.compose)([(0, _data.withSelect)(select => {
const {
getNotices
} = select('core/notices');
return {
notices: getNotices()
};
}), (0, _data.withDispatch)(dispatch => {
const {
removeNotice
} = dispatch('core/notices');
return {
removeNotice
};
})])(NoticeList);
exports.default = _default;
//# sourceMappingURL=list.native.js.map