How to use the dot-prop-immutable.toggle function in dot-prop-immutable

To help you get started, we’ve selected a few dot-prop-immutable examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github ealgis / ealgis / frontend / src / reducers / index.tsx View on Github external
if(state.snackbar.messages.length > 0) {
                // Pop the first message off the front of the queue
                const message = state.snackbar.messages.shift()
                state = dotProp.set(state, `snackbar.messages`, state.snackbar.messages)
                state = dotProp.set(state, `snackbar.active`, message)
                return dotProp.set(state, `snackbar.open`, true)
            } else {
                state = dotProp.set(state, `snackbar.active`, {message: ""})
                return dotProp.set(state, `snackbar.open`, false)
            }
        case RECEIVE_RESET_MAP_POSITION:
        case RECEIVE_SET_MAP_POSITION:
        case RECEIVE_MAP_MOVE_END:
            return dotProp.set(state, `mapPosition`, action.position)
        case RECEIVE_TOGGLE_MODAL_STATE:
            return dotProp.toggle(state, `dialogs.${action.modalId}`)
        case RECEIVE_UPDATE_DATA_INSPECTOR:
            return dotProp.set(state, 'dataInspector', [...action.dataRows, ...state.dataInspector])
        case RECEIVE_RESET_DATA_INSPECTOR:
            return dotProp.set(state, 'dataInspector', [])
        case RECEIVE_UPDATE_DATA_DISCOVERY:
            return dotProp.set(state, 'dataDiscovery', action.dataColumns)
        case RECEIVE_RESET_DATA_DISCOVERY:
            return dotProp.set(state, 'dataDiscovery', [])
        case RECEIVE_BEGIN_PUBLISH_LAYER:
        case RECEIVE_BEGIN_RESTORE_MASTER_LAYER:
            return dotProp.set(state, "layerForm.submitting", true)
        case RECEIVE_TOGGLE_LAYERFORM_SUBMITTING:
            return dotProp.toggle(state, "layerForm.submitting")
        case RECEIVE_CHIP_VALUES:
            return dotProp.set(state, "layerForm.chipValues", action.chipValues)
        case RECEIVE_LAYER_QUERY_SUMMARY:
github ealgis / ealgis / frontend / src / reducers / index.tsx View on Github external
switch (action.type) {
        case RECEIVE_REQUEST_BEGIN_FETCH:
            return dotProp.set(state, "requestsInProgress", ++state.requestsInProgress)
        case RECEIVE_REQUEST_FINISH_FETCH:
            return dotProp.set(state, "requestsInProgress", --state.requestsInProgress)
        case REQUEST_USER:
        case REQUEST_MAPS:
        case REQUEST_DATA_INFO:
        case REQUEST_COLOUR_INFO:
            return dotProp.set(state, "loading", true)
        case RECEIVE_APP_LOADED:
            return dotProp.set(state, "loading", false)
        case RECEIVE_APP_PREVIOUS_PATH:
            return dotProp.set(state, "previousPath", action.previousPath)
        case RECEIVE_TOGGLE_SIDEBAR_STATE:
            return dotProp.toggle(state, "sidebarOpen")
        case RECEIVE_TOGGLE_DEBUG_MODE:
            return dotProp.toggle(state, "debug")
        case RECEIVE_NEW_SNACKBAR_MESSAGE:
            state.snackbar.messages.push(action.message)
            return dotProp.set(state, `snackbar.messages`, state.snackbar.messages)
        case RECEIVE_START_SNACKBAR_IF_NEEDED:
            if(state.snackbar.open === false && state.snackbar.messages.length > 0) {
                // Pop the first message off the front of the queue
                const message = state.snackbar.messages.shift()
                state = dotProp.set(state, `snackbar.messages`, state.snackbar.messages)
                state = dotProp.set(state, `snackbar.active`, message)
                state = dotProp.set(state, `snackbar.open`, true)
            }
            return state
        case RECEIVE_ITERATE_SNACKBAR:
            if(state.snackbar.messages.length > 0) {
github ealgis / ealgis / frontend / src / reducers / index.tsx View on Github external
return dotProp.set(state, "requestsInProgress", ++state.requestsInProgress)
        case RECEIVE_REQUEST_FINISH_FETCH:
            return dotProp.set(state, "requestsInProgress", --state.requestsInProgress)
        case REQUEST_USER:
        case REQUEST_MAPS:
        case REQUEST_DATA_INFO:
        case REQUEST_COLOUR_INFO:
            return dotProp.set(state, "loading", true)
        case RECEIVE_APP_LOADED:
            return dotProp.set(state, "loading", false)
        case RECEIVE_APP_PREVIOUS_PATH:
            return dotProp.set(state, "previousPath", action.previousPath)
        case RECEIVE_TOGGLE_SIDEBAR_STATE:
            return dotProp.toggle(state, "sidebarOpen")
        case RECEIVE_TOGGLE_DEBUG_MODE:
            return dotProp.toggle(state, "debug")
        case RECEIVE_NEW_SNACKBAR_MESSAGE:
            state.snackbar.messages.push(action.message)
            return dotProp.set(state, `snackbar.messages`, state.snackbar.messages)
        case RECEIVE_START_SNACKBAR_IF_NEEDED:
            if(state.snackbar.open === false && state.snackbar.messages.length > 0) {
                // Pop the first message off the front of the queue
                const message = state.snackbar.messages.shift()
                state = dotProp.set(state, `snackbar.messages`, state.snackbar.messages)
                state = dotProp.set(state, `snackbar.active`, message)
                state = dotProp.set(state, `snackbar.open`, true)
            }
            return state
        case RECEIVE_ITERATE_SNACKBAR:
            if(state.snackbar.messages.length > 0) {
                // Pop the first message off the front of the queue
                const message = state.snackbar.messages.shift()
github ealgis / ealgis / frontend / src / reducers / index.tsx View on Github external
return dotProp.set(state, `mapPosition`, action.position)
        case RECEIVE_TOGGLE_MODAL_STATE:
            return dotProp.toggle(state, `dialogs.${action.modalId}`)
        case RECEIVE_UPDATE_DATA_INSPECTOR:
            return dotProp.set(state, 'dataInspector', [...action.dataRows, ...state.dataInspector])
        case RECEIVE_RESET_DATA_INSPECTOR:
            return dotProp.set(state, 'dataInspector', [])
        case RECEIVE_UPDATE_DATA_DISCOVERY:
            return dotProp.set(state, 'dataDiscovery', action.dataColumns)
        case RECEIVE_RESET_DATA_DISCOVERY:
            return dotProp.set(state, 'dataDiscovery', [])
        case RECEIVE_BEGIN_PUBLISH_LAYER:
        case RECEIVE_BEGIN_RESTORE_MASTER_LAYER:
            return dotProp.set(state, "layerForm.submitting", true)
        case RECEIVE_TOGGLE_LAYERFORM_SUBMITTING:
            return dotProp.toggle(state, "layerForm.submitting")
        case RECEIVE_CHIP_VALUES:
            return dotProp.set(state, "layerForm.chipValues", action.chipValues)
        case RECEIVE_LAYER_QUERY_SUMMARY:
            return dotProp.set(state, `layerForm.layerQuerySummary.${action.layerHash}`, action.stats)
        case RECEIVE_LEGENDPEEK_LABEL:
            return dotProp.set(state, `layerUINav.legendpeek.${action.mapId + "-" + action.layerId}`, action.labelText)
        case RECEIVE_SET_USER_MENU_STATE:
            return dotProp.set(state, 'userMenuState', action.open)
        default:
            return state;
    }
}
github ealgis / ealgis / frontend / src / reducers / index.tsx View on Github external
...state,
                [action.map.id]: action.map
            }
        case DELETE_MAP:
            let { [action.mapId]: deletedItem, ...rest } = state
            return rest
        case RECEIVE_UPDATED_LAYER:
            return dotProp.set(state, `${action.mapId}.json.layers.${action.layerId}`, action.layer)
        case RECEIVE_DELETE_MAP_LAYER:
            return dotProp.delete(state, `${action.mapId}.json.layers.${action.layerId}`)
        case RECEIVE_CLONE_MAP_LAYER:
            let layerCopy = JSON.parse(JSON.stringify(state[action.mapId].json.layers[action.layerId]))
            layerCopy.name += " Copy"
            return dotProp.set(state, `${action.mapId}.json.layers`, [...state[action.mapId].json.layers, layerCopy])
        case CHANGE_LAYER_VISIBILITY:
            return dotProp.toggle(state, `${action.mapId}.json.layers.${action.layerId}.visible`)
        case CHANGE_LAYER_PROPERTY:
            return dotProp.set(state, `${action.mapId}.json.layers.${action.layerId}.${action.layerPropertyPath}`, action.layerPropertyValue)
        case MERGE_LAYER_PROPERTIES:
            const newLayer = merge(dotProp.get(state, `${action.mapId}.json.layers.${action.layerId}`), action.layer)
            return dotProp.set(state, `${action.mapId}.json.layers.${action.layerId}`, newLayer)
        case RECEIVE_SET_MAP_ORIGIN:
            return dotProp.set(state, `${action.mapId}.json.map_defaults`, {
                lat: action.position.center.lat,
                lon: action.position.center.lon,
                zoom: action.position.zoom,
            })
        case COMPILED_LAYER_STYLE:
            return dotProp.set(state, `${action.mapId}.json.layers.${action.layerId}.olStyle`, action.olStyle)
        case CHANGE_MAP_SHARING:
            return dotProp.set(state, `${action.mapId}.shared`, action.shared)
        default:
github ealgis / ealgis / frontend / src / redux / modules / app.tsx View on Github external
export default function reducer(state = initialState, action: IAction) {
    let requestsInProgress = dotProp.get(state, "requestsInProgress")

    switch (action.type) {
        case LOADING:
            return dotProp.set(state, "loading", true)
        case LOADED:
            return dotProp.set(state, "loading", false)
        case BEGIN_FETCH:
            return dotProp.set(state, "requestsInProgress", ++requestsInProgress)
        case FINISH_FETCH:
            return dotProp.set(state, "requestsInProgress", --requestsInProgress)
        case SET_LAST_PAGE:
            return dotProp.set(state, "previousPath", action.previousPath)
        case TOGGLE_SIDEBAR:
            return dotProp.toggle(state, "sidebarOpen")
        case TOGGLE_MODAL:
            const modals = dotProp.get(state, "modals")
            modals.set(action.modalId, !modals.get(action.modalId))
            return dotProp.set(state, "modals", modals)
        case TOGGLE_USER_MENU:
            return dotProp.set(state, "userMenuState", action.open)
        case SET_ACTIVE_COMPONENT:
            return dotProp.set(state, "activeContentComponent", action.contentComponent)
        default:
            return state
    }
}
github ealgis / ealgis / frontend / src / redux / modules / maps.tsx View on Github external
zoom: action.position!.zoom,
            })
        case SET_SHARING:
            return dotProp.set(state, `${action.mapId}.shared`, action.shared)
        case DELETE_MAP:
            let { [action.mapId!]: deletedItem, ...rest } = state
            return rest
        case UPDATE_LAYER:
        case ADD_LAYER:
            return dotProp.set(state, `${action.mapId}.json.layers.${action.layerId}`, action.layer)
        case CLONE_MAP_LAYER:
            let layerCopy = JSON.parse(JSON.stringify(state[action.mapId!].json.layers[action.layerId!]))
            layerCopy.name += " Copy"
            return dotProp.set(state, `${action.mapId}.json.layers`, [...state[action.mapId!].json.layers, layerCopy])
        case SET_LAYER_VISIBILITY:
            return dotProp.toggle(state, `${action.mapId}.json.layers.${action.layerId}.visible`)
        case DELETE_LAYER:
            return dotProp.delete(state, `${action.mapId}.json.layers.${action.layerId}`)
        case CHANGE_LAYER_PROPERTY:
            return dotProp.set(
                state,
                `${action.mapId}.json.layers.${action.layerId}.${action.layerPropertyPath}`,
                action.layerPropertyValue
            )
        case ADD_COLUMN_TO_SELECTION:
            const selectedColumns: Array =
                dotProp.get(state, `${action.mapId}.json.layers.${action.layerId}.selectedColumns`) || []

            if (action.selectedColumn && selectedColumns.includes(action.selectedColumn) === false) {
                return dotProp.set(state, `${action.mapId}.json.layers.${action.layerId}.selectedColumns`, [
                    ...selectedColumns,
                    action.selectedColumn,
github ealgis / ealgis / frontend / src / redux / modules / map.tsx View on Github external
export default function reducer(state = initialState, action: IAction) {
    switch (action.type) {
        case TOGGLE_DEBUG_MODE:
            return dotProp.toggle(state, "debug")
        case SAVE_POSITION:
        case RESTORE_DEFAULT_POSITION:
            return dotProp.set(state, `position`, action.position)
        case LOAD_HIGHLIGHTED_FEATURES:
            return dotProp.set(state, "highlightedFeatures", action.featurGids)
        default:
            return state
    }
}

dot-prop-immutable

Immutable version of dot-prop with some extensions

MIT
Latest version published 3 years ago

Package Health Score

57 / 100
Full package analysis