Merge pull request #2601 from urbit/mp/publish/delete-note

publish: delete notes
This commit is contained in:
ixv 2020-03-25 09:52:32 -07:00 committed by GitHub
commit 024b0717e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 12 deletions

View File

@ -33,6 +33,7 @@ export class Note extends Component {
});
this.scrollElement = React.createRef();
this.onScroll = this.onScroll.bind(this);
this.deletePost = this.deletePost.bind(this);
}
componentWillMount() {
@ -47,6 +48,16 @@ export class Note extends Component {
window.api.fetchNote(this.props.ship, this.props.book, this.props.note);
}
componentDidMount() {
if (!(this.props.notebooks[this.props.ship]) ||
!(this.props.notebooks[this.props.ship][this.props.book]) ||
!(this.props.notebooks[this.props.ship][this.props.book].notes[this.props.note]) ||
!(this.props.notebooks[this.props.ship][this.props.book].notes[this.props.note].file)) {
window.api.fetchNote(this.props.ship, this.props.book, this.props.note);
}
this.onScroll();
}
componentDidUpdate(prevProps) {
if (!(this.props.notebooks[this.props.ship]) ||
!(this.props.notebooks[this.props.ship][this.props.book]) ||
@ -97,15 +108,23 @@ export class Note extends Component {
}
}
componentDidMount() {
if (!(this.props.notebooks[this.props.ship]) ||
!(this.props.notebooks[this.props.ship][this.props.book]) ||
!(this.props.notebooks[this.props.ship][this.props.book].notes[this.props.note]) ||
!(this.props.notebooks[this.props.ship][this.props.book].notes[this.props.note].file))
{
window.api.fetchNote(this.props.ship, this.props.book, this.props.note);
deletePost() {
const { props } = this;
let deleteAction = {
"del-note": {
who: this.props.ship.slice(1),
book: this.props.book,
note: this.props.note,
}
this.onScroll();
}
let popout = (props.popout) ? "popout/" : "";
let baseUrl = `/~publish/${popout}notebook/${props.ship}/${props.book}`;
window.api.setSpinner(true);
window.api.action("publish", "publish-action", deleteAction)
.then(() => {
window.api.setSpinner(false);
props.history.push(baseUrl);
});
}
render() {
@ -156,8 +175,11 @@ export class Note extends Component {
let editPost = null;
let editUrl = props.location.pathname + "/edit";
if (`~${window.ship}` === author) {
editPost =
editPost = <div className="dib">
<Link className="green2 f9" to={editUrl}>Edit</Link>
<p className="dib f9 red2 ml2 pointer"
onClick={(() => this.deletePost())}>Delete</p>
</div>
}
let popout = (props.popout) ? "popout/" : "";

View File

@ -183,15 +183,15 @@ export class Notebook extends Component {
ref={el => {
this.scrollElement = el;
}}>
<div className="w-100 dn-m dn-l dn-xl inter pt4 pb6 f9">
<Link to="/~publish">{"<- All Notebooks"}</Link>
</div>
<div className="center mw6 f9 h-100"
style={{ paddingLeft: 16, paddingRight: 16 }}>
<SidebarSwitcher
popout={props.popout}
sidebarShown={props.sidebarShown}
/>
<div className="w-100 dn-m dn-l dn-xl inter pt4 pb6 f9">
<Link to="/~publish">{"<- All Notebooks"}</Link>
</div>
<Link
className={"dn absolute right-1 top-1 " + hiddenOnPopout}
to={popoutHref}