import { h, Component } from 'preact'; import PropTypes from 'prop-types'; import linkState from 'linkstate'; import Title from './components/Title'; import BodyMarkdown from './components/BodyMarkdown'; import Categories from './components/Categories'; import ContactViaConnect from './components/ContactViaConnect'; import ExpireDate from './components/ExpireDate'; import Tags from '../shared/components/tags'; import { OrganizationPicker } from '../organization/OrganizationPicker'; export default class ListingForm extends Component { constructor(props) { super(props); const { listing, categoriesForDetails, categoriesForSelect, organizations: unparsedOrganizations, } = this.props; this.listing = JSON.parse(listing); this.categoriesForDetails = JSON.parse(categoriesForDetails); this.categoriesForSelect = JSON.parse(categoriesForSelect); const organizations = JSON.parse(unparsedOrganizations); this.url = window.location.href; this.state = { id: this.listing.id || null, title: this.listing.title || '', category: this.listing.category || '', tagList: this.listing.cached_tag_list || '', bodyMarkdown: this.listing.body_markdown || '', categoriesForSelect: this.categoriesForSelect, categoriesForDetails: this.categoriesForDetails, organizations, organizationId: null, // change this for /edit later contactViaConnect: this.listing.contact_via_connect || 'checked', expireDate: this.listing.expires_at || '', }; } handleOrgIdChange = (e) => { const organizationId = e.target.selectedOptions[0].value; this.setState({ organizationId }); }; render() { const { id, title, bodyMarkdown, tagList, category, categoriesForDetails, categoriesForSelect, organizations, organizationId, contactViaConnect, expireDate, } = this.state; const selectOrg = organizations && organizations.length > 0 ? (
Posting on behalf of org spends org credits.