Promise<void>
? не могу понять зачем перед this.$router писать void ,что возвращает функция пишут же после круглих скобок?<TaskItem {...props} del={del} cbopenFormNewItemEdit={openFormNewItemEdit} cbsetPin={setPin}
cbaddDel={addDel} cbdeleteTaskItem={deleteTaskItem} cbgetTime={getTime} cbsetColor={setColor} ></TaskItem>
);
render() {
console.log("render TaskItem", this.props);
return (
<div className={`task-item`} data-keychapter={this.props.attrdata}
style={{ "animationDelay": `* 0.05`, ...this.props.data.style }}
data-key={this.props.keyitem}
onAnimationEnd={this.props.cbdeleteTaskItem}
>
<div className="task-item__title">{this.props.data.name}</div>
<div className="task-item__text">{this.props.data.text}</div>
<div className="task-item__footer">
<div className="task-item__tools">
<span className={`task-item__tools_Pin ${this.props.data.pin === true ? "active" : ""}`} onClick={this.props.cbsetPin}>{icoPin(this.props.data.pin)}</span>
<span onClick={this.props.cbopenFormNewItemEdit} className="task-item__tools_Edit" >{icoEdit()}</span>
<span onClick={this.props.cbaddDel} className="task-item__tools_Trash">{icoTrash()}</span>
<span className="task-item__tools_Color">
<span className="task-item__tools_Color-list">
<span className="color" onClick={this.props.cbsetColor.bind(null, { "backgroundColor": "#fff4ba", "border": "1px solid #fbe67b" })} style={{ "backgroundColor": "#fff4ba", "border": "1px solid #fbe67b" }}></span>
<span className="color" onClick={this.props.cbsetColor.bind(null, { "backgroundColor": "#fff4ba", "border": "1px solid #fbe67b" })} style={{ "backgroundColor": "#e8fafc", "border": "1px solid #b2d9ec" }}></span>
<span className="color" onClick={this.props.cbsetColor.bind(null, { "backgroundColor": "#ffecf1", "border": "1px solid #f9c8ca" })} style={{ "backgroundColor": "#ffecf1", "border": "1px solid #f9c8ca" }}></span>
<span className="color dark" onClick={this.props.cbsetColor.bind(null, null)} style={{ "backgroundColor": "#3c3f43", "border": "1px solid #5f6368" }}></span>
</span>
{icoColor()}
</span>
<span className="task-item__date">{this.props.data.time !== undefined && this.props.cbgetTime(this.props.data.time)}</span>
</div>
</div>
</div >
)
}
if (window.innerWidth <= 1365) {
this.setState({ perpage: 18 });
}
if (window.innerWidth <= 768) {
this.setState({ perpage: 12 });
}
.zametki-rabota {
-webkit-animation-name: slideInUp;
animation-name: slideInUp;
opacity: 0;
}
.task-item.del {
opacity: 1;
transform: scale(1) translateZ(0);
-webkit-animation-name: del;
animation-name: del;
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: forwards;
animation-fill-mode: forwards;
}
deleteTaskItem = () => {
let isDelete = window.confirm("Вы действительно хотите удалить?");
if (this.state.del === true && isDelete) {
this.divitem.className = this.divitem.className + " del";
let data = { keychapter: this.state.keychapter, keyitem: this.state.keyitem };
api.removeTaskItem(data, this.props.dispatch);
}
}
deleteTaskItem = () => {
if (this.state.del === true) {
let data = { keychapter: this.state.keychapter, keyitem: this.state.keyitem };
api.removeTaskItem(data, this.props.dispatch);
}
}
deleteTaskItem = () => {
debugger;
this.divitem.className = this.divitem.className + " del";
let data = { keychapter: this.state.keychapter, keyitem: this.state.keyitem };
api.removeTaskItem(data, this.props.dispatch);
}
addDel = () => {
this.setState({ del: true });
}
<div className={`task-item ${this.props.attrdata}
${this.props.data.style !== undefined ? "styled" : ""}
${this.state.del === true ? "del" : ""}`}
style={{ "animationDelay": `${this.props.index * 0.05}s`) }}
onAnimationEnd={this.deleteTaskItem}
>
<span onClick={this.addDel} className="task-item__tools_Trash">{this.icoTrash()}</span>
</div>
<div className="TaskItem"
<div onAnimationEnd={()=>this.remove(item)} onClick={() => this.deleteTaskItem(item)}
className="TaskItem-delete" >
</div>
</div>
this.state = {
TaskLists: [
{
url: "zametki-home",
name: "Zametki Home"
},
{
url: "zametki-workl",
name: "Zametki Work"
},
{
url: "zametki-family",
name: "Zametki Family"
},
{
url: "privat-info",
name: "Privat info"
}
]
};
}