The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/client/providers/SettingsProvider.js

33 lines
832 B

import React from 'react';
import { settings } from '../../app/settings/client';
import { SettingsContext } from '../contexts/SettingsContext';
import { createObservableFromReactive } from './createObservableFromReactive';
const contextValue = {
get: createObservableFromReactive((name) => settings.get(name)),
set: (name, value) => new Promise((resolve, reject) => {
settings.set(name, value, (error, result) => {
if (error) {
reject(error);
return;
}
resolve(result);
});
}),
batchSet: (entries) => new Promise((resolve, reject) => {
settings.batchSet(entries, (error, result) => {
if (error) {
reject(error);
return;
}
resolve(result);
});
}),
};
export function SettingsProvider({ children }) {
return <SettingsContext.Provider children={children} value={contextValue} />;
}