@nodeject/ui-components
Version:
UI library for non-trivial components
37 lines (36 loc) • 1.88 kB
JavaScript
import * as React from 'react';
import { DragDropListsContainer } from '../../hooks';
import { NewItemDefault } from '../../item/components/NewItem';
export var NewItemCardStart = function (props) {
return (React.createElement(React.Fragment, null,
props.show && React.createElement(NewItemCard, { list: props.list, position: 'start' }),
React.createElement("div", { ref: props.btnRef })));
};
export var NewItemCardEnd = function (props) {
return (React.createElement(React.Fragment, null,
props.show && React.createElement(NewItemCard, { list: props.list, position: 'end' }),
React.createElement("div", { ref: props.btnRef })));
};
var NewItemCard = function (_a) {
var list = _a.list, position = _a.position;
var _b = DragDropListsContainer.useContainer(), components = _b.components, onSaveNewItemClicked = _b.onSaveNewItemClicked, showNewItemListId = _b.showNewItemListId, toggleShowNewItem = _b.toggleShowNewItem;
var NewItem = components.NewItem || NewItemDefault;
var onSaveNewItem = function (data) {
if (onSaveNewItemClicked) {
var fakeDataToImprove = {
listId: list.id,
data: data,
index: position === 'start' ? 0 : list.itemIds.length
};
// console.log('onSaveNewItem', fakeDataToImprove)
onSaveNewItemClicked(fakeDataToImprove);
// this allows to keep creating new tasks until users Escapes with kboard or cancels with button.
toggleShowNewItem(undefined);
toggleShowNewItem(list.id);
}
};
var onCancelNewItem = function () {
toggleShowNewItem(undefined);
};
return (list.id === showNewItemListId && (React.createElement(NewItem, { onCancelNewItem: onCancelNewItem, onSaveNewItem: onSaveNewItem })));
};