Skip to content

Commit

Permalink
Podcasting: Save onDisable (#25820)
Browse files Browse the repository at this point in the history
  • Loading branch information
nylen authored and michaeldcain committed Jul 3, 2018
1 parent d1c08e3 commit 10686c5
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 4 deletions.
22 changes: 19 additions & 3 deletions client/my-sites/site-settings/podcasting-details/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import FormSettingExplanation from 'components/forms/form-setting-explanation';
import FormSelect from 'components/forms/form-select';
import FormTextarea from 'components/forms/form-textarea';
import HeaderCake from 'components/header-cake';
import scrollTo from 'lib/scroll-to';
import QueryTerms from 'components/data/query-terms';
import TermTreeSelector from 'blocks/term-tree-selector';
import PodcastCoverImageSetting from 'my-sites/site-settings/podcast-cover-image-setting';
Expand All @@ -41,6 +42,7 @@ import {
isRequestingTermsForQueryIgnoringPage,
getTermsForQueryIgnoringPage,
} from 'state/terms/selectors';
import { isSavingSiteSettings } from 'state/site-settings/selectors';

class PodcastingDetails extends Component {
renderExplicitContent() {
Expand Down Expand Up @@ -85,6 +87,7 @@ class PodcastingDetails extends Component {
primary={ true }
type="submit"
disabled={ isRequestingSettings || isSavingSettings || isRequestingCategories }
busy={ isSavingSettings }
>
{ isSavingSettings ? translate( 'Saving…' ) : translate( 'Save Settings' ) }
</Button>
Expand Down Expand Up @@ -178,7 +181,14 @@ class PodcastingDetails extends Component {
}

render() {
const { handleSubmitForm, siteSlug, siteId, translate, isPodcastingEnabled } = this.props;
const {
handleSubmitForm,
siteSlug,
siteId,
translate,
isPodcastingEnabled,
isSavingSettings,
} = this.props;
if ( ! siteId ) {
return null;
}
Expand Down Expand Up @@ -212,7 +222,7 @@ class PodcastingDetails extends Component {
<Card className={ classes }>{ error || this.renderSettings() }</Card>
{ isPodcastingEnabled && (
<div className="podcasting-details__disable-podcasting">
<Button onClick={ this.onCategoryCleared } scary>
<Button onClick={ this.onCategoryCleared } scary busy={ isSavingSettings }>
{ translate( 'Disable Podcast' ) }
</Button>
<p>
Expand Down Expand Up @@ -349,7 +359,12 @@ class PodcastingDetails extends Component {
};

onCategoryCleared = () => {
this.props.updateFields( { podcasting_category_id: '0' } );
const { updateFields, submitForm } = this.props;

updateFields( { podcasting_category_id: '0' }, () => {
submitForm();
scrollTo( { y: 0 } );
} );
};

onCoverImageRemoved = () => {
Expand Down Expand Up @@ -414,6 +429,7 @@ const connectComponent = connect( ( state, ownProps ) => {
podcastingFeedUrl,
userCanManagePodcasting: canCurrentUser( state, siteId, 'manage_options' ),
isUnsupportedSite: isJetpack && ! isAutomatedTransfer,
isSavingSettings: isSavingSiteSettings( state, siteId ),
};
} );

Expand Down
4 changes: 3 additions & 1 deletion client/my-sites/site-settings/wrap-settings-form.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,12 @@ const wrapSettingsForm = getFormSettings => SettingsForm => {
// Support site settings for older Jetpacks as needed
const siteFields = pick( fields, settingsFields.site );
const apiVersion = siteIsJetpack ? jetpackSiteSettingsAPIVersion : '1.4';
this.props.saveSiteSettings( siteId, { ...siteFields, apiVersion } );

if ( jetpackSettingsUISupported ) {
this.props.saveJetpackSettings( siteId, jetpackFieldsToUpdate );
}

this.props.saveSiteSettings( siteId, { ...siteFields, apiVersion } );
};

handleRadio = event => {
Expand Down

0 comments on commit 10686c5

Please sign in to comment.