mirror of
https://github.com/ianstormtaylor/slate.git
synced 2025-08-18 21:21:21 +02:00
add resetKeyGenerator util
This commit is contained in:
@@ -41,7 +41,7 @@ import Transforms from './transforms'
|
||||
*/
|
||||
|
||||
import findDOMNode from './utils/find-dom-node'
|
||||
import { setKeyGenerator } from './utils/generate-key'
|
||||
import { resetKeyGenerator, setKeyGenerator } from './utils/generate-key'
|
||||
|
||||
/**
|
||||
* Export.
|
||||
@@ -68,6 +68,7 @@ export {
|
||||
Text,
|
||||
Transforms,
|
||||
findDOMNode,
|
||||
resetKeyGenerator,
|
||||
setKeyGenerator
|
||||
}
|
||||
|
||||
@@ -90,5 +91,6 @@ export default {
|
||||
Text,
|
||||
Transforms,
|
||||
findDOMNode,
|
||||
resetKeyGenerator,
|
||||
setKeyGenerator
|
||||
}
|
||||
|
@@ -1,17 +1,22 @@
|
||||
|
||||
import uniqueId from 'lodash/uniqueId'
|
||||
|
||||
/**
|
||||
* Default the generator function to Lodash's implementation, which just returns
|
||||
* incrementing numbers as strings.
|
||||
* An auto-incrementing index for generating keys.
|
||||
*
|
||||
* @type {Number}
|
||||
*/
|
||||
|
||||
let n
|
||||
|
||||
/**
|
||||
* The global key generating function.
|
||||
*
|
||||
* @type {Function}
|
||||
*/
|
||||
|
||||
let generate = uniqueId
|
||||
let generate
|
||||
|
||||
/**
|
||||
* Create a key.
|
||||
* Generate a key.
|
||||
*
|
||||
* @return {String}
|
||||
*/
|
||||
@@ -30,6 +35,21 @@ function setKeyGenerator(func) {
|
||||
generate = func
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset the key generating function to its initial state.
|
||||
*/
|
||||
|
||||
function resetKeyGenerator() {
|
||||
n = 0
|
||||
generate = () => `${n++}`
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the initial state.
|
||||
*/
|
||||
|
||||
resetKeyGenerator()
|
||||
|
||||
/**
|
||||
* Export.
|
||||
*
|
||||
@@ -38,5 +58,6 @@ function setKeyGenerator(func) {
|
||||
|
||||
export {
|
||||
generateKey as default,
|
||||
setKeyGenerator
|
||||
setKeyGenerator,
|
||||
resetKeyGenerator
|
||||
}
|
||||
|
Reference in New Issue
Block a user