jam-cloud/jam-ui/node_modules/react-leaflet/lib/utils/updateClassName.js.flow

35 lines
904 B
Plaintext

// @flow
import { DomUtil } from 'leaflet'
const splitClassName = (className: string = ''): Array<string> => {
return className.split(' ').filter(Boolean)
}
export const addClassName = (container: HTMLElement, className: string) => {
splitClassName(className).forEach((cls) => {
DomUtil.addClass(container, cls)
})
}
export const removeClassName = (container: HTMLElement, className: string) => {
splitClassName(className).forEach((cls) => {
DomUtil.removeClass(container, cls)
})
}
export default (
container: ?HTMLElement,
prevClassName: ?string,
nextClassName: ?string,
) => {
if (container != null && nextClassName !== prevClassName) {
if (prevClassName != null && prevClassName.length > 0) {
removeClassName(container, prevClassName)
}
if (nextClassName != null && nextClassName.length > 0) {
addClassName(container, nextClassName)
}
}
}