sforkowany z mirror/soapbox
SoapboxConfig: Rudimentary deletion of rows
rodzic
2470e59596
commit
d310fb4f18
|
@ -110,6 +110,13 @@ class SoapboxConfig extends ImmutablePureComponent {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
handleDeleteItem = path => {
|
||||||
|
return e => {
|
||||||
|
const soapbox = this.state.soapbox.deleteIn(path);
|
||||||
|
this.setState({ soapbox });
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
handleItemChange = (path, key, field, template) => {
|
handleItemChange = (path, key, field, template) => {
|
||||||
return this.handleChange(
|
return this.handleChange(
|
||||||
path, (e) =>
|
path, (e) =>
|
||||||
|
@ -238,6 +245,7 @@ class SoapboxConfig extends ImmutablePureComponent {
|
||||||
value={field.get('url')}
|
value={field.get('url')}
|
||||||
onChange={this.handlePromoItemChange(i, 'url', field)}
|
onChange={this.handlePromoItemChange(i, 'url', field)}
|
||||||
/>
|
/>
|
||||||
|
<a onClick={this.handleDeleteItem(['promoPanel', 'items', i])}>Delete</a>
|
||||||
</div>
|
</div>
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
@ -268,6 +276,7 @@ class SoapboxConfig extends ImmutablePureComponent {
|
||||||
value={field.get('url')}
|
value={field.get('url')}
|
||||||
onChange={this.handleHomeFooterItemChange(i, 'url', field)}
|
onChange={this.handleHomeFooterItemChange(i, 'url', field)}
|
||||||
/>
|
/>
|
||||||
|
<a onClick={this.handleDeleteItem(['navlinks', 'homeFooter', i])}>Delete</a>
|
||||||
</div>
|
</div>
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
@ -293,6 +302,7 @@ class SoapboxConfig extends ImmutablePureComponent {
|
||||||
value={field}
|
value={field}
|
||||||
onChange={this.handleChange(['customCss', i], (e) => e.target.value)}
|
onChange={this.handleChange(['customCss', i], (e) => e.target.value)}
|
||||||
/>
|
/>
|
||||||
|
<a onClick={this.handleDeleteItem(['customCss', i])}>Delete</a>
|
||||||
</div>
|
</div>
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,9 +6,7 @@ const initialState = ImmutableMap();
|
||||||
|
|
||||||
const updateFromAdmin = (state, config) => {
|
const updateFromAdmin = (state, config) => {
|
||||||
// TODO: Generalize this with an API similar to `Pleroma.Config` in Pleroma BE
|
// TODO: Generalize this with an API similar to `Pleroma.Config` in Pleroma BE
|
||||||
const soapboxConfig = config.getIn(['configs', 0, 'value', 0, 'tuple', 1]);
|
return config.getIn(['configs', 0, 'value', 0, 'tuple', 1], state);
|
||||||
if (soapboxConfig) return state.mergeDeep(soapboxConfig);
|
|
||||||
return state;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function soapbox(state = initialState, action) {
|
export default function soapbox(state = initialState, action) {
|
||||||
|
|
Ładowanie…
Reference in New Issue