summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE/client/bower_components/jqTree/src/save_state_handler.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-portal-FE/client/bower_components/jqTree/src/save_state_handler.coffee')
-rw-r--r--ecomp-portal-FE/client/bower_components/jqTree/src/save_state_handler.coffee208
1 files changed, 0 insertions, 208 deletions
diff --git a/ecomp-portal-FE/client/bower_components/jqTree/src/save_state_handler.coffee b/ecomp-portal-FE/client/bower_components/jqTree/src/save_state_handler.coffee
deleted file mode 100644
index 65810357..00000000
--- a/ecomp-portal-FE/client/bower_components/jqTree/src/save_state_handler.coffee
+++ /dev/null
@@ -1,208 +0,0 @@
-util = require './util'
-
-indexOf = util.indexOf
-isInt = util.isInt
-
-
-$ = jQuery
-
-
-class SaveStateHandler
- constructor: (tree_widget) ->
- @tree_widget = tree_widget
-
- saveState: ->
- state = JSON.stringify(@getState())
-
- if @tree_widget.options.onSetStateFromStorage
- @tree_widget.options.onSetStateFromStorage(state)
- else if @supportsLocalStorage()
- localStorage.setItem(
- @getCookieName(),
- state
- )
- else if $.cookie
- $.cookie.raw = true
- $.cookie(
- @getCookieName(),
- state,
- {path: '/'}
- )
-
- getStateFromStorage: ->
- json_data = @_loadFromStorage()
-
- if json_data
- return @_parseState(json_data)
- else
- return null
-
- _parseState: (json_data) ->
- state = $.parseJSON(json_data)
-
- # Check if selected_node is an int (instead of an array)
- if state and state.selected_node and isInt(state.selected_node)
- # Convert to array
- state.selected_node = [state.selected_node]
-
- return state
-
- _loadFromStorage: ->
- if @tree_widget.options.onGetStateFromStorage
- return @tree_widget.options.onGetStateFromStorage()
- else if @supportsLocalStorage()
- return localStorage.getItem(
- @getCookieName()
- )
- else if $.cookie
- $.cookie.raw = true
- return $.cookie(@getCookieName())
- else
- return null
-
- getState: ->
- getOpenNodeIds = =>
- open_nodes = []
-
- @tree_widget.tree.iterate((node) ->
- if (
- node.is_open and
- node.id and
- node.hasChildren()
- )
- open_nodes.push(node.id)
- return true
- )
-
- return open_nodes
-
- getSelectedNodeIds = =>
- return (n.id for n in @tree_widget.getSelectedNodes())
-
- return {
- open_nodes: getOpenNodeIds(),
- selected_node: getSelectedNodeIds()
- }
-
- # Set initial state
- # Don't handle nodes that are loaded on demand
- #
- # result: must load on demand
- setInitialState: (state) ->
- if not state
- return false
- else
- must_load_on_demand = @_openInitialNodes(state.open_nodes)
-
- @_selectInitialNodes(state.selected_node)
-
- return must_load_on_demand
-
- _openInitialNodes: (node_ids) ->
- must_load_on_demand = false
-
- for node_id in node_ids
- node = @tree_widget.getNodeById(node_id)
-
- if node
- if not node.load_on_demand
- node.is_open = true
- else
- must_load_on_demand = true
-
- return must_load_on_demand
-
- _selectInitialNodes: (node_ids) ->
- select_count = 0
-
- for node_id in node_ids
- node = @tree_widget.getNodeById(node_id)
-
- if node
- select_count += 1
-
- @tree_widget.select_node_handler.addToSelection(node)
-
- return select_count != 0
-
- setInitialStateOnDemand: (state, cb_finished) ->
- if state
- @_setInitialStateOnDemand(state.open_nodes, state.selected_node, cb_finished)
- else
- cb_finished()
-
- _setInitialStateOnDemand: (node_ids, selected_nodes, cb_finished) ->
- loading_count = 0
-
- openNodes = =>
- new_nodes_ids = []
-
- for node_id in node_ids
- node = @tree_widget.getNodeById(node_id)
-
- if not node
- new_nodes_ids.push(node_id)
- else
- if not node.is_loading
- if node.load_on_demand
- loadAndOpenNode(node)
- else
- @tree_widget._openNode(node, false)
-
- node_ids = new_nodes_ids
-
- if @_selectInitialNodes(selected_nodes)
- @tree_widget._refreshElements()
-
- if loading_count == 0
- cb_finished()
-
- loadAndOpenNode = (node) =>
- loading_count += 1
- @tree_widget._openNode(
- node,
- false,
- ->
- loading_count -= 1
- openNodes()
- )
-
- openNodes()
-
- getCookieName: ->
- if typeof @tree_widget.options.saveState is 'string'
- return @tree_widget.options.saveState
- else
- return 'tree'
-
- supportsLocalStorage: ->
- testSupport = ->
- # Is local storage supported?
- if not localStorage?
- return false
- else
- # Check if it's possible to store an item. Safari does not allow this in private browsing mode.
- try
- key = '_storage_test'
- sessionStorage.setItem(key, true)
- sessionStorage.removeItem(key)
- catch error
- return false
-
- return true
-
- if not @_supportsLocalStorage?
- @_supportsLocalStorage = testSupport()
-
- return @_supportsLocalStorage
-
- getNodeIdToBeSelected: ->
- state = @getStateFromStorage()
-
- if state and state.selected_node
- return state.selected_node[0]
- else
- return null
-
-
-module.exports = SaveStateHandler