mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2024-12-23 17:40:23 +03:00
34 lines
1.4 KiB
TypeScript
34 lines
1.4 KiB
TypeScript
import type Bottle from 'bottlejs';
|
|
import { prop } from 'ramda';
|
|
import type { ConnectDecorator } from '../../container';
|
|
import { DomainSelector } from '../DomainSelector';
|
|
import { ManageDomains } from '../ManageDomains';
|
|
import { editDomainRedirects } from '../reducers/domainRedirects';
|
|
import { domainsListReducerCreator } from '../reducers/domainsList';
|
|
|
|
export const provideServices = (bottle: Bottle, connect: ConnectDecorator) => {
|
|
// Components
|
|
bottle.serviceFactory('DomainSelector', () => DomainSelector);
|
|
bottle.decorator('DomainSelector', connect(['domainsList'], ['listDomains']));
|
|
|
|
bottle.serviceFactory('ManageDomains', () => ManageDomains);
|
|
bottle.decorator('ManageDomains', connect(
|
|
['domainsList'],
|
|
['listDomains', 'filterDomains', 'editDomainRedirects', 'checkDomainHealth'],
|
|
));
|
|
|
|
// Reducer
|
|
bottle.serviceFactory(
|
|
'domainsListReducerCreator',
|
|
domainsListReducerCreator,
|
|
'apiClientFactory',
|
|
'editDomainRedirects',
|
|
);
|
|
bottle.serviceFactory('domainsListReducer', prop('reducer'), 'domainsListReducerCreator');
|
|
|
|
// Actions
|
|
bottle.serviceFactory('listDomains', prop('listDomains'), 'domainsListReducerCreator');
|
|
bottle.serviceFactory('filterDomains', prop('filterDomains'), 'domainsListReducerCreator');
|
|
bottle.serviceFactory('editDomainRedirects', editDomainRedirects, 'apiClientFactory');
|
|
bottle.serviceFactory('checkDomainHealth', prop('checkDomainHealth'), 'domainsListReducerCreator');
|
|
};
|