@deephaven/file-explorer 0.23.0 → 0.23.1-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileListItemEditor.d.ts","sourceRoot":"","sources":["../src/FileListItemEditor.tsx"],"names":[],"mappings":";AAYA,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIhD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;
|
|
1
|
+
{"version":3,"file":"FileListItemEditor.d.ts","sourceRoot":"","sources":["../src/FileListItemEditor.tsx"],"names":[],"mappings":";AAYA,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIhD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAID,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAA2B,GAC5B,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAqGvC;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -4,12 +4,13 @@ import Log from '@deephaven/log';
|
|
|
4
4
|
import { PromiseUtils } from '@deephaven/utils';
|
|
5
5
|
import "./FileListItemEditor.css";
|
|
6
6
|
var log = Log.module('FileListItemEditor');
|
|
7
|
+
var DEFAULT_VALIDATE = () => Promise.resolve();
|
|
7
8
|
export function FileListItemEditor(_ref) {
|
|
8
9
|
var {
|
|
9
10
|
item,
|
|
10
11
|
onCancel,
|
|
11
12
|
onSubmit,
|
|
12
|
-
validate =
|
|
13
|
+
validate = DEFAULT_VALIDATE
|
|
13
14
|
} = _ref;
|
|
14
15
|
var input = useRef(null);
|
|
15
16
|
var [value, setValue] = useState(item.basename);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileListItemEditor.js","names":["React","useCallback","useEffect","useRef","useState","classNames","Log","PromiseUtils","log","module","
|
|
1
|
+
{"version":3,"file":"FileListItemEditor.js","names":["React","useCallback","useEffect","useRef","useState","classNames","Log","PromiseUtils","log","module","DEFAULT_VALIDATE","Promise","resolve","FileListItemEditor","item","onCancel","onSubmit","validate","input","value","setValue","basename","validationError","setValidationError","validationPromise","setValidationPromise","focus","current","stopPropagation","e","validateAndSubmit","then","catch","info","validateValueAndSetPromise","validatePromise","makeCancelable","undefined","isCanceled","cancel","selectRange","handleBlur","debug2","handleChange","newValue","target","handleKeyDown","key"],"sources":["../src/FileListItemEditor.tsx"],"sourcesContent":["import React, {\n ChangeEvent,\n KeyboardEvent,\n MouseEvent,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport Log from '@deephaven/log';\nimport { PromiseUtils } from '@deephaven/utils';\nimport './FileListItemEditor.scss';\nimport { FileStorageItem } from './FileStorage';\n\nconst log = Log.module('FileListItemEditor');\n\nexport interface FileListItemEditorProps {\n item: FileStorageItem;\n onCancel: () => void;\n onSubmit: (newName: string) => void;\n validate?: (newName: string) => Promise<void>;\n}\n\nconst DEFAULT_VALIDATE = () => Promise.resolve();\n\nexport function FileListItemEditor({\n item,\n onCancel,\n onSubmit,\n validate = DEFAULT_VALIDATE,\n}: FileListItemEditorProps): JSX.Element {\n const input = useRef<HTMLInputElement>(null);\n const [value, setValue] = useState(item.basename);\n const [validationError, setValidationError] = useState<Error>();\n const [validationPromise, setValidationPromise] = useState<Promise<void>>(\n Promise.resolve()\n );\n\n const focus = useCallback(() => {\n input.current?.focus();\n // Select the proper range based on the type...\n }, [input]);\n\n const stopPropagation = useCallback(\n (e: MouseEvent) => e.stopPropagation(),\n []\n );\n\n const validateAndSubmit = useCallback(() => {\n validationPromise\n .then(() => {\n onSubmit(value);\n })\n .catch(e => log.info('Unable to validate name', e));\n }, [onSubmit, value, validationPromise]);\n\n useEffect(\n function validateValueAndSetPromise() {\n const validatePromise = PromiseUtils.makeCancelable(validate(value));\n validatePromise\n .then(() => setValidationError(undefined))\n .catch(e => {\n if (!PromiseUtils.isCanceled(e)) {\n setValidationError(e);\n }\n });\n setValidationPromise(validatePromise);\n return () => validatePromise.cancel();\n },\n [validate, value]\n );\n\n useEffect(\n function selectRange() {\n focus();\n },\n [focus]\n );\n\n const handleBlur = useCallback(() => {\n log.debug2('handleBlur');\n validateAndSubmit();\n }, [validateAndSubmit]);\n\n const handleChange = useCallback((e: ChangeEvent<HTMLInputElement>) => {\n const { value: newValue } = e.target;\n setValue(newValue);\n }, []);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n e.stopPropagation();\n\n const { key } = e;\n switch (key) {\n case 'Enter': {\n validateAndSubmit();\n break;\n }\n case 'Escape': {\n onCancel();\n break;\n }\n default:\n }\n },\n [onCancel, validateAndSubmit]\n );\n\n return (\n <div className=\"file-list-item-editor\">\n <input\n type=\"text\"\n className={classNames('form-control file-list-item-editor-input', {\n 'is-invalid': validationError,\n })}\n value={value}\n ref={input}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n onClick={stopPropagation}\n onDoubleClick={stopPropagation}\n onMouseDown={stopPropagation}\n />\n\n {validationError && (\n <div className=\"invalid-feedback\">{`${validationError}`}</div>\n )}\n </div>\n );\n}\n\nexport default FileListItemEditor;\n"],"mappings":"AAAA,OAAOA,KAAK,IAIVC,WAAW,EACXC,SAAS,EACTC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,GAAG,MAAM,gBAAgB;AAChC,SAASC,YAAY,QAAQ,kBAAkB;AAAC;AAIhD,IAAMC,GAAG,GAAGF,GAAG,CAACG,MAAM,CAAC,oBAAoB,CAAC;AAS5C,IAAMC,gBAAgB,GAAG,MAAMC,OAAO,CAACC,OAAO,EAAE;AAEhD,OAAO,SAASC,kBAAkB,OAKO;EAAA,IALN;IACjCC,IAAI;IACJC,QAAQ;IACRC,QAAQ;IACRC,QAAQ,GAAGP;EACY,CAAC;EACxB,IAAMQ,KAAK,GAAGf,MAAM,CAAmB,IAAI,CAAC;EAC5C,IAAM,CAACgB,KAAK,EAAEC,QAAQ,CAAC,GAAGhB,QAAQ,CAACU,IAAI,CAACO,QAAQ,CAAC;EACjD,IAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGnB,QAAQ,EAAS;EAC/D,IAAM,CAACoB,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGrB,QAAQ,CACxDO,OAAO,CAACC,OAAO,EAAE,CAClB;EAED,IAAMc,KAAK,GAAGzB,WAAW,CAAC,MAAM;IAAA;IAC9B,kBAAAiB,KAAK,CAACS,OAAO,mDAAb,eAAeD,KAAK,EAAE;IACtB;EACF,CAAC,EAAE,CAACR,KAAK,CAAC,CAAC;EAEX,IAAMU,eAAe,GAAG3B,WAAW,CAChC4B,CAAa,IAAKA,CAAC,CAACD,eAAe,EAAE,EACtC,EAAE,CACH;EAED,IAAME,iBAAiB,GAAG7B,WAAW,CAAC,MAAM;IAC1CuB,iBAAiB,CACdO,IAAI,CAAC,MAAM;MACVf,QAAQ,CAACG,KAAK,CAAC;IACjB,CAAC,CAAC,CACDa,KAAK,CAACH,CAAC,IAAIrB,GAAG,CAACyB,IAAI,CAAC,yBAAyB,EAAEJ,CAAC,CAAC,CAAC;EACvD,CAAC,EAAE,CAACb,QAAQ,EAAEG,KAAK,EAAEK,iBAAiB,CAAC,CAAC;EAExCtB,SAAS,CACP,SAASgC,0BAA0B,GAAG;IACpC,IAAMC,eAAe,GAAG5B,YAAY,CAAC6B,cAAc,CAACnB,QAAQ,CAACE,KAAK,CAAC,CAAC;IACpEgB,eAAe,CACZJ,IAAI,CAAC,MAAMR,kBAAkB,CAACc,SAAS,CAAC,CAAC,CACzCL,KAAK,CAACH,CAAC,IAAI;MACV,IAAI,CAACtB,YAAY,CAAC+B,UAAU,CAACT,CAAC,CAAC,EAAE;QAC/BN,kBAAkB,CAACM,CAAC,CAAC;MACvB;IACF,CAAC,CAAC;IACJJ,oBAAoB,CAACU,eAAe,CAAC;IACrC,OAAO,MAAMA,eAAe,CAACI,MAAM,EAAE;EACvC,CAAC,EACD,CAACtB,QAAQ,EAAEE,KAAK,CAAC,CAClB;EAEDjB,SAAS,CACP,SAASsC,WAAW,GAAG;IACrBd,KAAK,EAAE;EACT,CAAC,EACD,CAACA,KAAK,CAAC,CACR;EAED,IAAMe,UAAU,GAAGxC,WAAW,CAAC,MAAM;IACnCO,GAAG,CAACkC,MAAM,CAAC,YAAY,CAAC;IACxBZ,iBAAiB,EAAE;EACrB,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvB,IAAMa,YAAY,GAAG1C,WAAW,CAAE4B,CAAgC,IAAK;IACrE,IAAM;MAAEV,KAAK,EAAEyB;IAAS,CAAC,GAAGf,CAAC,CAACgB,MAAM;IACpCzB,QAAQ,CAACwB,QAAQ,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAME,aAAa,GAAG7C,WAAW,CAC9B4B,CAAgB,IAAK;IACpBA,CAAC,CAACD,eAAe,EAAE;IAEnB,IAAM;MAAEmB;IAAI,CAAC,GAAGlB,CAAC;IACjB,QAAQkB,GAAG;MACT,KAAK,OAAO;QAAE;UACZjB,iBAAiB,EAAE;UACnB;QACF;MACA,KAAK,QAAQ;QAAE;UACbf,QAAQ,EAAE;UACV;QACF;MACA;IAAQ;EAEZ,CAAC,EACD,CAACA,QAAQ,EAAEe,iBAAiB,CAAC,CAC9B;EAED,oBACE;IAAK,SAAS,EAAC;EAAuB,gBACpC;IACE,IAAI,EAAC,MAAM;IACX,SAAS,EAAEzB,UAAU,CAAC,0CAA0C,EAAE;MAChE,YAAY,EAAEiB;IAChB,CAAC,CAAE;IACH,KAAK,EAAEH,KAAM;IACb,GAAG,EAAED,KAAM;IACX,MAAM,EAAEuB,UAAW;IACnB,SAAS,EAAEK,aAAc;IACzB,QAAQ,EAAEH,YAAa;IACvB,OAAO,EAAEf,eAAgB;IACzB,aAAa,EAAEA,eAAgB;IAC/B,WAAW,EAAEA;EAAgB,EAC7B,EAEDN,eAAe,iBACd;IAAK,SAAS,EAAC;EAAkB,aAAKA,eAAe,EACtD,CACG;AAEV;AAEA,eAAeT,kBAAkB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/file-explorer",
|
|
3
|
-
"version": "0.23.
|
|
3
|
+
"version": "0.23.1-beta.11+4c2c5b0",
|
|
4
4
|
"description": "Deephaven File Explorer React component",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
"build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@deephaven/components": "^0.23.
|
|
26
|
-
"@deephaven/icons": "^0.23.
|
|
27
|
-
"@deephaven/log": "^0.23.
|
|
28
|
-
"@deephaven/storage": "^0.23.
|
|
29
|
-
"@deephaven/utils": "^0.23.
|
|
30
|
-
"@fortawesome/fontawesome-svg-core": "^6.
|
|
31
|
-
"@fortawesome/react-fontawesome": "^0.
|
|
25
|
+
"@deephaven/components": "^0.23.1-beta.11+4c2c5b0",
|
|
26
|
+
"@deephaven/icons": "^0.23.1-beta.11+4c2c5b0",
|
|
27
|
+
"@deephaven/log": "^0.23.1-beta.11+4c2c5b0",
|
|
28
|
+
"@deephaven/storage": "^0.23.1-beta.11+4c2c5b0",
|
|
29
|
+
"@deephaven/utils": "^0.23.1-beta.11+4c2c5b0",
|
|
30
|
+
"@fortawesome/fontawesome-svg-core": "^6.2.1",
|
|
31
|
+
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
32
32
|
"classnames": "^2.3.1",
|
|
33
33
|
"lodash.throttle": "^4.1.1",
|
|
34
34
|
"prop-types": "^15.7.2"
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"react": "^17.0.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@deephaven/tsconfig": "^0.23.
|
|
40
|
+
"@deephaven/tsconfig": "^0.23.1-beta.11+4c2c5b0"
|
|
41
41
|
},
|
|
42
42
|
"files": [
|
|
43
43
|
"dist"
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"publishConfig": {
|
|
46
46
|
"access": "public"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "4c2c5b034de0486b3e86e0375d4403f34c5fa3fa"
|
|
49
49
|
}
|