Isight React Library
A small library with useful functions and hooks for developing React Hybrid apps
Usage
import { AjaxApi, StringFn, ApplicationCache, ..., useBoolean } from '@isight/react-library';
const response = await AjaxApi.get(url);
const [isOpen, setTrue, setFalse] = useBoolean(false);
Functions
AjaxApi
call(object config) -> Promise
get(string url, object headers) -> Promise
post(string url, any data, object headers) -> Promise
put(string url, any data, object headers) -> Promise
ApplicationCache
async restoreFromCache(object config)
async saveToCache(object config, any data)\
Format
cpr(string str) -> string (format: ######-####)
cvr(string str) -> string (format: ########)
int(string str) -> string (format: ###.###.###)
phone(string str) -> string (format: ## ## ## ##)
replaceMarkerWithHtml = (string str, string toLookFor, string replaceWith) -> string
today(string format) -> (short: ##-##-##, long: ##-##-####)
zip (string str) -> string (format: ####)
GaTracking
gaTrack(string action, string event) -> void
HippoPreview
isCMSPreviewMode(object props) -> void
Logger
log(string level, string message, int error, string category) -> void
setLogger(Logger logger) -> void
ObjectFn
every(object obj, Function fn) -> boolean
filter(object obj, Function fn) -> Array
find(object obj, Function fn) -> any
isObject(any item) -> boolean
map(object obj, Function fn) -> Array
mergeDeep(object target, object ...sources) -> object
some(object obj, Function fn) -> boolean
Screen
scrollToSection(Ref sectionRef) -> void
Storage
getLocalItem(string key)
setLocalItem(string key, string data)
removeLocalItem(string key)
getSessionItem(string key)
setSessionItem(string key, string data)
removeSessionItem(string key)
StringFn
firstName(string str) -> string
trim(string str, int max) -> string
Validate
boundaries(int value, int min, int max) -> boolean
cpr(string cpr) -> boolean
cvr(string cvr) -> boolean
email(string email) -> boolean
int(int value) -> boolean
isAdult(string cpr) -> boolean
name(string name) -> boolean
notEmpty(string str) -> boolean
phone(string phone) -> boolean
required(string str) -> boolean
uuid(string uuid) -> boolean
zip(string zip) -> boolean
Hooks
String
useFirstName(name) -> [name, setName]
useIsCpr(cpr) -> [isCpr, setIsCpr]
UseAgeOld
useAgeOld(cpr) -> [int ageOld]
UseAxios
useAxiosGet(url, config) -> [response, isLoading, error]
useAxiosPost(url, data, config) -> [response, isPosting, error]
UseBoolean
useBoolean(value) -> [value, setTrue, setFalse]
UseClickOutside
useClickOutside(refs, onClickOutside) -> [boolean isClickedOutside]
UseDawa
useDawa(inputRef) -> [kvhx, address, error]
UseEventListener
useEventListener(target, type, listener, ...options) -> void
UseLocalStorage
useLocalStorage(key, initialValue) -> [storedValue, setValue]
UseSessionStorage
useSessionStorage(key, initialValue) -> [storedValue, setValue]
UseStateValue
useStateValue() -> [state, dispatch]
UseSubmit
useSubmit(Function submitFunction) -> [handleSubmit, loading, error]
UseToggle
useToggle(value) -> [state, toggle, setToggle]
UseWindowResize
useWindowResize() -> metrics
Provider
StateContext()
StateProvider({ reducer, initialState, children }) ->
<StateContext.Provider value={useReducer(reducer, initialState)}>{children}</StateContext.Provider>