@ytsaurus/ui 1.14.0 → 1.14.1
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.
- package/build/cjs/server/controllers/home.js +1 -1
- package/build/cjs/server/controllers/home.js.map +1 -1
- package/build/cjs/ui/store/actions/components/node/node.js +0 -1
- package/build/cjs/ui/store/actions/components/node/node.js.map +1 -1
- package/build/cjs/ui/store/actions/execute-batch.js +5 -2
- package/build/cjs/ui/store/actions/execute-batch.js.map +1 -1
- package/build/cjs/ui/store/actions/job/competitors.js +6 -3
- package/build/cjs/ui/store/actions/job/competitors.js.map +1 -1
- package/build/cjs/ui/store/actions/job/general.js +6 -3
- package/build/cjs/ui/store/actions/job/general.js.map +1 -1
- package/build/cjs/ui/store/actions/job/specification.js +8 -5
- package/build/cjs/ui/store/actions/job/specification.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/content/file.js +8 -5
- package/build/cjs/ui/store/actions/navigation/content/file.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/content/table/table.js +17 -11
- package/build/cjs/ui/store/actions/navigation/content/table/table.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/content/transaction.js +5 -2
- package/build/cjs/ui/store/actions/navigation/content/transaction.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/copy-object.js +19 -10
- package/build/cjs/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/create-directory.js +7 -4
- package/build/cjs/ui/store/actions/navigation/modals/create-directory.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/move-object.js +19 -10
- package/build/cjs/ui/store/actions/navigation/modals/move-object.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/tabs/tablet-errors.js +15 -12
- package/build/cjs/ui/store/actions/navigation/tabs/tablet-errors.js.map +1 -1
- package/build/cjs/ui/store/actions/operations/jobs.js +8 -2
- package/build/cjs/ui/store/actions/operations/jobs.js.map +1 -1
- package/build/cjs/ui/store/actions/operations/list.js +4 -2
- package/build/cjs/ui/store/actions/operations/list.js.map +1 -1
- package/build/esm/server/controllers/home.js +1 -1
- package/build/esm/server/controllers/home.js.map +1 -1
- package/build/esm/ui/store/actions/components/node/node.js +0 -1
- package/build/esm/ui/store/actions/components/node/node.js.map +1 -1
- package/build/esm/ui/store/actions/execute-batch.js +5 -2
- package/build/esm/ui/store/actions/execute-batch.js.map +1 -1
- package/build/esm/ui/store/actions/job/competitors.js +6 -3
- package/build/esm/ui/store/actions/job/competitors.js.map +1 -1
- package/build/esm/ui/store/actions/job/general.js +6 -3
- package/build/esm/ui/store/actions/job/general.js.map +1 -1
- package/build/esm/ui/store/actions/job/specification.js +8 -5
- package/build/esm/ui/store/actions/job/specification.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/content/file.js +8 -5
- package/build/esm/ui/store/actions/navigation/content/file.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/content/table/table.js +17 -11
- package/build/esm/ui/store/actions/navigation/content/table/table.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/content/transaction.js +5 -2
- package/build/esm/ui/store/actions/navigation/content/transaction.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/copy-object.js +19 -10
- package/build/esm/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/create-directory.js +7 -4
- package/build/esm/ui/store/actions/navigation/modals/create-directory.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/move-object.js +19 -10
- package/build/esm/ui/store/actions/navigation/modals/move-object.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/tabs/tablet-errors.js +15 -12
- package/build/esm/ui/store/actions/navigation/tabs/tablet-errors.js.map +1 -1
- package/build/esm/ui/store/actions/operations/jobs.js +8 -2
- package/build/esm/ui/store/actions/operations/jobs.js.map +1 -1
- package/build/esm/ui/store/actions/operations/list.js +4 -2
- package/build/esm/ui/store/actions/operations/list.js.map +1 -1
- package/dist/public/build/assets-manifest.json +4 -4
- package/dist/public/build/js/main.652b0208.js +3 -0
- package/dist/public/build/js/{main.64fccb27.js.map → main.652b0208.js.map} +1 -1
- package/dist/public/build/manifest.json +2 -2
- package/dist/server/controllers/home.js +1 -1
- package/package.json +3 -4
- package/dist/public/build/js/main.64fccb27.js +0 -3
- /package/dist/public/build/js/{main.64fccb27.js.LICENSE.txt → main.652b0208.js.LICENSE.txt} +0 -0
@@ -15,11 +15,14 @@ export function loadJobSpecification(jobID) {
|
|
15
15
|
type: JOB.LOAD_JOB_SPECIFICATION_REQUEST
|
16
16
|
});
|
17
17
|
return yt.v4.getJobSpec({
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
parameters: {
|
19
|
+
job_id: jobID,
|
20
|
+
omit_node_directory: omitNodeDirectory,
|
21
|
+
omit_input_table_specs: omitInputTableSpecs,
|
22
|
+
omit_output_table_specs: omitOutputTableSpecs
|
23
|
+
},
|
24
|
+
cancellation: requests.saveCancelToken
|
25
|
+
}).then(function (req) {
|
23
26
|
// @ts-ignore
|
24
27
|
var _ypath$getValues = ypath.getValues(req, ['/scheduler_job_spec_ext', '/job_spec_ext']),
|
25
28
|
_ypath$getValues2 = _slicedToArray(_ypath$getValues, 2),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["yt","ypath","JOB","CancelHelper","requests","loadJobSpecification","jobID","dispatch","getState","_getState$job$specifi","job","specification","omitNodeDirectory","omitInputTableSpecs","omitOutputTableSpecs","type","LOAD_JOB_SPECIFICATION_REQUEST","v4","getJobSpec","job_id","omit_node_directory","omit_input_table_specs","omit_output_table_specs","saveCancelToken","then","req","_ypath$getValues","getValues","_ypath$getValues2","_slicedToArray","scheduler_job_spec_ext","job_spec_ext","LOAD_JOB_SPECIFICATION_SUCCESS","data","error","code","codes","CANCELLED","LOAD_JOB_SPECIFICATION_CANCELLED","LOAD_JOB_SPECIFICATION_FAILURE","abortAndReset","removeAllRequests","changeOmitNodeDirectory","CHANGE_OMIT_NODE_DIRECTORY","changeOmitInputTableSpecs","CHANGE_OMIT_INPUT_TABLES_SPECS","changeOmitOutputTableSpecs","CHANGE_OMIT_OUTPUT_TABLES_SPECS"],"sources":["specification.ts"],"sourcesContent":["// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {Action} from 'redux';\nimport {YTError} from '../../../types';\nimport ypath from '../../../common/thor/ypath';\nimport * as JOB from '../../../constants/job';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../store/reducers';\nimport {JobSpecification} from '../../../types/job';\n\ninterface JobSpecRequest {\n type: number;\n version: number;\n scheduler_job_spec_ext: JobSpecification;\n}\n\ninterface LoadJobSpecificationRequestAction {\n type: typeof JOB.LOAD_JOB_SPECIFICATION_REQUEST;\n}\n\ninterface LoadJobSpecificationSuccessAction {\n type: typeof JOB.LOAD_JOB_SPECIFICATION_SUCCESS;\n data: {\n specification: JobSpecification;\n };\n}\n\ninterface LoadJobSpecificationFailureAction {\n type: typeof JOB.LOAD_JOB_SPECIFICATION_FAILURE;\n data: {\n error: YTError;\n };\n}\n\ntype LoadJobSpecificationAction =\n | LoadJobSpecificationRequestAction\n | LoadJobSpecificationSuccessAction\n | LoadJobSpecificationFailureAction;\n\ninterface AbortAndResetAction {\n type: typeof JOB.LOAD_JOB_SPECIFICATION_CANCELLED;\n}\n\ninterface ChangeOmitNodeDirectoryAction {\n type: typeof JOB.CHANGE_OMIT_NODE_DIRECTORY;\n}\n\ninterface ChangeOmitInputTableSpecsAction {\n type: typeof JOB.CHANGE_OMIT_INPUT_TABLES_SPECS;\n}\n\ninterface ChangeOmitOutputTableSpecsAction {\n type: typeof JOB.CHANGE_OMIT_OUTPUT_TABLES_SPECS;\n}\n\ntype CheckboxAction =\n | ChangeOmitNodeDirectoryAction\n | ChangeOmitInputTableSpecsAction\n | ChangeOmitOutputTableSpecsAction;\n\nexport type SpecificationActionType =\n | LoadJobSpecificationAction\n | AbortAndResetAction\n | CheckboxAction;\n\nconst requests = new CancelHelper();\n\nexport function loadJobSpecification(\n jobID: string,\n): ThunkAction<Promise<void>, RootState, unknown, Action<string>> {\n return (dispatch, getState) => {\n const {omitNodeDirectory, omitInputTableSpecs, omitOutputTableSpecs} =\n getState().job.specification;\n\n dispatch({type: JOB.LOAD_JOB_SPECIFICATION_REQUEST});\n\n return yt.v4\n .getJobSpec(\n {\n job_id: jobID,\n omit_node_directory: omitNodeDirectory,\n omit_input_table_specs: omitInputTableSpecs,\n omit_output_table_specs: omitOutputTableSpecs,\n },\n requests.saveCancelToken,\n )\n .then((req: JobSpecRequest) => {\n // @ts-ignore\n const [scheduler_job_spec_ext, job_spec_ext]: JobSpecification = ypath.getValues(\n req,\n ['/scheduler_job_spec_ext', '/job_spec_ext'],\n );\n\n dispatch({\n type: JOB.LOAD_JOB_SPECIFICATION_SUCCESS,\n data: {specification: job_spec_ext ?? scheduler_job_spec_ext},\n });\n })\n .catch((error: YTError) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: JOB.LOAD_JOB_SPECIFICATION_CANCELLED});\n } else {\n dispatch({\n type: JOB.LOAD_JOB_SPECIFICATION_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function abortAndReset(): ThunkAction<void, RootState, unknown, Action<string>> {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: JOB.LOAD_JOB_SPECIFICATION_CANCELLED});\n };\n}\n\nexport function changeOmitNodeDirectory(\n jobID: string,\n): ThunkAction<void, RootState, unknown, Action<string>> {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: JOB.CHANGE_OMIT_NODE_DIRECTORY});\n dispatch(loadJobSpecification(jobID));\n };\n}\n\nexport function changeOmitInputTableSpecs(\n jobID: string,\n): ThunkAction<void, RootState, unknown, Action<string>> {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: JOB.CHANGE_OMIT_INPUT_TABLES_SPECS});\n dispatch(loadJobSpecification(jobID));\n };\n}\n\nexport function changeOmitOutputTableSpecs(\n jobID: string,\n): ThunkAction<void, RootState, unknown, Action<string>> {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: JOB.CHANGE_OMIT_OUTPUT_TABLES_SPECS});\n dispatch(loadJobSpecification(jobID));\n };\n}\n"],"mappings":";AAAA;AACA,OAAOA,EAAE,MAAM,qCAAqC;AAGpD,OAAOC,KAAK,MAAM,4BAA4B;AAC9C,OAAO,KAAKC,GAAG,MAAM,wBAAwB;AAC7C,OAAOC,YAAY,MAAM,8BAA8B;AA4DvD,IAAMC,QAAQ,GAAG,IAAID,YAAY,CAAC,CAAC;AAEnC,OAAO,SAASE,oBAAoBA,CAChCC,KAAa,EACiD;EAC9D,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAAC,qBAAA,GACID,QAAQ,CAAC,CAAC,CAACE,GAAG,CAACC,aAAa;MADzBC,iBAAiB,GAAAH,qBAAA,CAAjBG,iBAAiB;MAAEC,mBAAmB,GAAAJ,qBAAA,CAAnBI,mBAAmB;MAAEC,oBAAoB,GAAAL,qBAAA,CAApBK,oBAAoB;IAGnEP,QAAQ,CAAC;MAACQ,IAAI,EAAEb,GAAG,CAACc;IAA8B,CAAC,CAAC;IAEpD,OAAOhB,EAAE,CAACiB,EAAE,CACPC,UAAU,
|
1
|
+
{"version":3,"names":["yt","ypath","JOB","CancelHelper","requests","loadJobSpecification","jobID","dispatch","getState","_getState$job$specifi","job","specification","omitNodeDirectory","omitInputTableSpecs","omitOutputTableSpecs","type","LOAD_JOB_SPECIFICATION_REQUEST","v4","getJobSpec","parameters","job_id","omit_node_directory","omit_input_table_specs","omit_output_table_specs","cancellation","saveCancelToken","then","req","_ypath$getValues","getValues","_ypath$getValues2","_slicedToArray","scheduler_job_spec_ext","job_spec_ext","LOAD_JOB_SPECIFICATION_SUCCESS","data","error","code","codes","CANCELLED","LOAD_JOB_SPECIFICATION_CANCELLED","LOAD_JOB_SPECIFICATION_FAILURE","abortAndReset","removeAllRequests","changeOmitNodeDirectory","CHANGE_OMIT_NODE_DIRECTORY","changeOmitInputTableSpecs","CHANGE_OMIT_INPUT_TABLES_SPECS","changeOmitOutputTableSpecs","CHANGE_OMIT_OUTPUT_TABLES_SPECS"],"sources":["specification.ts"],"sourcesContent":["// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {Action} from 'redux';\nimport {YTError} from '../../../types';\nimport ypath from '../../../common/thor/ypath';\nimport * as JOB from '../../../constants/job';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../store/reducers';\nimport {JobSpecification} from '../../../types/job';\n\ninterface JobSpecRequest {\n type: number;\n version: number;\n scheduler_job_spec_ext: JobSpecification;\n}\n\ninterface LoadJobSpecificationRequestAction {\n type: typeof JOB.LOAD_JOB_SPECIFICATION_REQUEST;\n}\n\ninterface LoadJobSpecificationSuccessAction {\n type: typeof JOB.LOAD_JOB_SPECIFICATION_SUCCESS;\n data: {\n specification: JobSpecification;\n };\n}\n\ninterface LoadJobSpecificationFailureAction {\n type: typeof JOB.LOAD_JOB_SPECIFICATION_FAILURE;\n data: {\n error: YTError;\n };\n}\n\ntype LoadJobSpecificationAction =\n | LoadJobSpecificationRequestAction\n | LoadJobSpecificationSuccessAction\n | LoadJobSpecificationFailureAction;\n\ninterface AbortAndResetAction {\n type: typeof JOB.LOAD_JOB_SPECIFICATION_CANCELLED;\n}\n\ninterface ChangeOmitNodeDirectoryAction {\n type: typeof JOB.CHANGE_OMIT_NODE_DIRECTORY;\n}\n\ninterface ChangeOmitInputTableSpecsAction {\n type: typeof JOB.CHANGE_OMIT_INPUT_TABLES_SPECS;\n}\n\ninterface ChangeOmitOutputTableSpecsAction {\n type: typeof JOB.CHANGE_OMIT_OUTPUT_TABLES_SPECS;\n}\n\ntype CheckboxAction =\n | ChangeOmitNodeDirectoryAction\n | ChangeOmitInputTableSpecsAction\n | ChangeOmitOutputTableSpecsAction;\n\nexport type SpecificationActionType =\n | LoadJobSpecificationAction\n | AbortAndResetAction\n | CheckboxAction;\n\nconst requests = new CancelHelper();\n\nexport function loadJobSpecification(\n jobID: string,\n): ThunkAction<Promise<void>, RootState, unknown, Action<string>> {\n return (dispatch, getState) => {\n const {omitNodeDirectory, omitInputTableSpecs, omitOutputTableSpecs} =\n getState().job.specification;\n\n dispatch({type: JOB.LOAD_JOB_SPECIFICATION_REQUEST});\n\n return yt.v4\n .getJobSpec({\n parameters: {\n job_id: jobID,\n omit_node_directory: omitNodeDirectory,\n omit_input_table_specs: omitInputTableSpecs,\n omit_output_table_specs: omitOutputTableSpecs,\n },\n cancellation: requests.saveCancelToken,\n })\n .then((req: JobSpecRequest) => {\n // @ts-ignore\n const [scheduler_job_spec_ext, job_spec_ext]: JobSpecification = ypath.getValues(\n req,\n ['/scheduler_job_spec_ext', '/job_spec_ext'],\n );\n\n dispatch({\n type: JOB.LOAD_JOB_SPECIFICATION_SUCCESS,\n data: {specification: job_spec_ext ?? scheduler_job_spec_ext},\n });\n })\n .catch((error: YTError) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: JOB.LOAD_JOB_SPECIFICATION_CANCELLED});\n } else {\n dispatch({\n type: JOB.LOAD_JOB_SPECIFICATION_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function abortAndReset(): ThunkAction<void, RootState, unknown, Action<string>> {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: JOB.LOAD_JOB_SPECIFICATION_CANCELLED});\n };\n}\n\nexport function changeOmitNodeDirectory(\n jobID: string,\n): ThunkAction<void, RootState, unknown, Action<string>> {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: JOB.CHANGE_OMIT_NODE_DIRECTORY});\n dispatch(loadJobSpecification(jobID));\n };\n}\n\nexport function changeOmitInputTableSpecs(\n jobID: string,\n): ThunkAction<void, RootState, unknown, Action<string>> {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: JOB.CHANGE_OMIT_INPUT_TABLES_SPECS});\n dispatch(loadJobSpecification(jobID));\n };\n}\n\nexport function changeOmitOutputTableSpecs(\n jobID: string,\n): ThunkAction<void, RootState, unknown, Action<string>> {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: JOB.CHANGE_OMIT_OUTPUT_TABLES_SPECS});\n dispatch(loadJobSpecification(jobID));\n };\n}\n"],"mappings":"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"}
|
@@ -14,11 +14,14 @@ export function loadFile() {
|
|
14
14
|
type: LOAD_FILE.REQUEST
|
15
15
|
});
|
16
16
|
requests.removeAllRequests();
|
17
|
-
return ytApiV3.readFile(
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
return ytApiV3.readFile({
|
18
|
+
parameters: prepareRequest({
|
19
|
+
path: path,
|
20
|
+
transaction: transaction,
|
21
|
+
length: MAX_FILE_SIZE
|
22
|
+
}),
|
23
|
+
cancellation: requests.saveCancelToken
|
24
|
+
}).then(function (file) {
|
22
25
|
dispatch({
|
23
26
|
type: LOAD_FILE.SUCCESS,
|
24
27
|
data: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["yt","CancelHelper","prepareRequest","getPath","getTransaction","LOAD_FILE","MAX_FILE_SIZE","ytApiV3","requests","loadFile","dispatch","getState","state","path","transaction","type","REQUEST","removeAllRequests","readFile","length","saveCancelToken","then","file","SUCCESS","data","error","code","codes","CANCELLED","FAILURE","abortAndReset"],"sources":["file.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport {prepareRequest} from '../../../../utils/navigation';\nimport {getPath, getTransaction} from '../../../../store/selectors/navigation';\nimport {LOAD_FILE, MAX_FILE_SIZE} from '../../../../constants/navigation/content/file';\nimport {ytApiV3} from '../../../../rum/rum-wrap-api';\n\nconst requests = new CancelHelper();\n\nexport function loadFile() {\n return (dispatch, getState) => {\n const state = getState();\n const path = getPath(state);\n const transaction = getTransaction(state);\n\n dispatch({type: LOAD_FILE.REQUEST});\n requests.removeAllRequests();\n\n return ytApiV3\n .readFile(\n prepareRequest({path, transaction, length: MAX_FILE_SIZE}),\n requests.saveCancelToken,\n )\n .then((file) => {\n dispatch({\n type: LOAD_FILE.SUCCESS,\n data: {file},\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: LOAD_FILE.CANCELLED});\n } else {\n dispatch({\n type: LOAD_FILE.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function abortAndReset() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: LOAD_FILE.CANCELLED});\n };\n}\n"],"mappings":"AAAA,OAAOA,EAAE,MAAM,qCAAqC;AAEpD,OAAOC,YAAY,MAAM,iCAAiC;AAC1D,SAAQC,cAAc,QAAO,8BAA8B;AAC3D,SAAQC,OAAO,EAAEC,cAAc,QAAO,wCAAwC;AAC9E,SAAQC,SAAS,EAAEC,aAAa,QAAO,+CAA+C;AACtF,SAAQC,OAAO,QAAO,8BAA8B;AAEpD,IAAMC,QAAQ,GAAG,IAAIP,YAAY,CAAC,CAAC;AAEnC,OAAO,SAASQ,QAAQA,CAAA,EAAG;EACvB,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMC,KAAK,GAAGD,QAAQ,CAAC,CAAC;IACxB,IAAME,IAAI,GAAGV,OAAO,CAACS,KAAK,CAAC;IAC3B,IAAME,WAAW,GAAGV,cAAc,CAACQ,KAAK,CAAC;IAEzCF,QAAQ,CAAC;MAACK,IAAI,EAAEV,SAAS,CAACW;IAAO,CAAC,CAAC;IACnCR,QAAQ,CAACS,iBAAiB,CAAC,CAAC;IAE5B,OAAOV,OAAO,CACTW,QAAQ,
|
1
|
+
{"version":3,"names":["yt","CancelHelper","prepareRequest","getPath","getTransaction","LOAD_FILE","MAX_FILE_SIZE","ytApiV3","requests","loadFile","dispatch","getState","state","path","transaction","type","REQUEST","removeAllRequests","readFile","parameters","length","cancellation","saveCancelToken","then","file","SUCCESS","data","error","code","codes","CANCELLED","FAILURE","abortAndReset"],"sources":["file.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport {prepareRequest} from '../../../../utils/navigation';\nimport {getPath, getTransaction} from '../../../../store/selectors/navigation';\nimport {LOAD_FILE, MAX_FILE_SIZE} from '../../../../constants/navigation/content/file';\nimport {ytApiV3} from '../../../../rum/rum-wrap-api';\n\nconst requests = new CancelHelper();\n\nexport function loadFile() {\n return (dispatch, getState) => {\n const state = getState();\n const path = getPath(state);\n const transaction = getTransaction(state);\n\n dispatch({type: LOAD_FILE.REQUEST});\n requests.removeAllRequests();\n\n return ytApiV3\n .readFile({\n parameters: prepareRequest({path, transaction, length: MAX_FILE_SIZE}),\n cancellation: requests.saveCancelToken,\n })\n .then((file) => {\n dispatch({\n type: LOAD_FILE.SUCCESS,\n data: {file},\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: LOAD_FILE.CANCELLED});\n } else {\n dispatch({\n type: LOAD_FILE.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function abortAndReset() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: LOAD_FILE.CANCELLED});\n };\n}\n"],"mappings":"AAAA,OAAOA,EAAE,MAAM,qCAAqC;AAEpD,OAAOC,YAAY,MAAM,iCAAiC;AAC1D,SAAQC,cAAc,QAAO,8BAA8B;AAC3D,SAAQC,OAAO,EAAEC,cAAc,QAAO,wCAAwC;AAC9E,SAAQC,SAAS,EAAEC,aAAa,QAAO,+CAA+C;AACtF,SAAQC,OAAO,QAAO,8BAA8B;AAEpD,IAAMC,QAAQ,GAAG,IAAIP,YAAY,CAAC,CAAC;AAEnC,OAAO,SAASQ,QAAQA,CAAA,EAAG;EACvB,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMC,KAAK,GAAGD,QAAQ,CAAC,CAAC;IACxB,IAAME,IAAI,GAAGV,OAAO,CAACS,KAAK,CAAC;IAC3B,IAAME,WAAW,GAAGV,cAAc,CAACQ,KAAK,CAAC;IAEzCF,QAAQ,CAAC;MAACK,IAAI,EAAEV,SAAS,CAACW;IAAO,CAAC,CAAC;IACnCR,QAAQ,CAACS,iBAAiB,CAAC,CAAC;IAE5B,OAAOV,OAAO,CACTW,QAAQ,CAAC;MACNC,UAAU,EAAEjB,cAAc,CAAC;QAACW,IAAI,EAAJA,IAAI;QAAEC,WAAW,EAAXA,WAAW;QAAEM,MAAM,EAAEd;MAAa,CAAC,CAAC;MACtEe,YAAY,EAAEb,QAAQ,CAACc;IAC3B,CAAC,CAAC,CACDC,IAAI,CAAC,UAACC,IAAI,EAAK;MACZd,QAAQ,CAAC;QACLK,IAAI,EAAEV,SAAS,CAACoB,OAAO;QACvBC,IAAI,EAAE;UAACF,IAAI,EAAJA;QAAI;MACf,CAAC,CAAC;IACN,CAAC,CAAC,SACI,CAAC,UAACG,KAAK,EAAK;MACd,IAAIA,KAAK,CAACC,IAAI,KAAK5B,EAAE,CAAC6B,KAAK,CAACC,SAAS,EAAE;QACnCpB,QAAQ,CAAC;UAACK,IAAI,EAAEV,SAAS,CAACyB;QAAS,CAAC,CAAC;MACzC,CAAC,MAAM;QACHpB,QAAQ,CAAC;UACLK,IAAI,EAAEV,SAAS,CAAC0B,OAAO;UACvBL,IAAI,EAAE;YAACC,KAAK,EAALA;UAAK;QAChB,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL;AAEA,OAAO,SAASK,aAAaA,CAAA,EAAG;EAC5B,OAAO,UAACtB,QAAQ,EAAK;IACjBF,QAAQ,CAACS,iBAAiB,CAAC,CAAC;IAC5BP,QAAQ,CAAC;MAACK,IAAI,EAAEV,SAAS,CAACyB;IAAS,CAAC,CAAC;EACzC,CAAC;AACL"}
|
@@ -65,11 +65,14 @@ function loadDynamicTable(requestOutputFormat, setup, state, type, useZeroRangeF
|
|
65
65
|
// Get all columns from schema for preload data. Scheme is always strict
|
66
66
|
var allColumns = Columns.getSchemaColumns(attributes);
|
67
67
|
return id.fetch(YTApiId.dynTableCheckPerm, ytApiV3Id.checkPermission(YTApiId.dynTableCheckPerm, {
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
68
|
+
parameters: {
|
69
|
+
columns: allColumns,
|
70
|
+
permission: 'read',
|
71
|
+
user: login,
|
72
|
+
path: path
|
73
|
+
},
|
74
|
+
cancellation: requests.saveCancelToken
|
75
|
+
})).then(function (permissions) {
|
73
76
|
var keyColumnsNames = _keyBy(keyColumns);
|
74
77
|
var _$reduce = _reduce(permissions.columns, function (res, permission, index) {
|
75
78
|
if (permission.action === 'allow') {
|
@@ -111,8 +114,9 @@ function loadDynamicTable(requestOutputFormat, setup, state, type, useZeroRangeF
|
|
111
114
|
};
|
112
115
|
return id.fetch(YTApiId.dynTableSelectRowsPreload, ytApiV3Id.selectRows(YTApiId.dynTableSelectRowsPreload, {
|
113
116
|
setup: setup,
|
114
|
-
parameters: parameters
|
115
|
-
|
117
|
+
parameters: parameters,
|
118
|
+
cancellation: requests.saveCancelToken
|
119
|
+
})).then(function (_ref) {
|
116
120
|
var data = _ref.data;
|
117
121
|
var error = parseErrorFromResponse(data);
|
118
122
|
if (error) {
|
@@ -160,8 +164,9 @@ function loadDynamicTable(requestOutputFormat, setup, state, type, useZeroRangeF
|
|
160
164
|
};
|
161
165
|
return id.fetch(YTApiId.dynTableSelectRows, ytApiV3Id.selectRows(YTApiId.dynTableSelectRows, {
|
162
166
|
setup: setup,
|
163
|
-
parameters: parameters
|
164
|
-
|
167
|
+
parameters: parameters,
|
168
|
+
cancellation: requests.saveCancelToken
|
169
|
+
})).then(function (_ref2) {
|
165
170
|
var data = _ref2.data;
|
166
171
|
var error = parseErrorFromResponse(data);
|
167
172
|
if (error) {
|
@@ -216,8 +221,9 @@ function loadStaticTable(requestOutputFormat, setup, state, type, useZeroRangeFo
|
|
216
221
|
var apiId = type === LOAD_TYPE.PRELOAD ? YTApiId.tableReadPreload : YTApiId.tableRead;
|
217
222
|
return id.fetch(apiId, ytApiV3Id.readTable(apiId, {
|
218
223
|
setup: setup,
|
219
|
-
parameters: parameters
|
220
|
-
|
224
|
+
parameters: parameters,
|
225
|
+
cancellation: requests.saveCancelToken
|
226
|
+
})).then(function (_ref3) {
|
221
227
|
var data = _ref3.data,
|
222
228
|
headers = _ref3.headers;
|
223
229
|
var error = parseErrorFromResponse(data);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["FontFaceObserver","Toaster","metrics","yt","CHANGE_CELL_SIZE","CHANGE_PAGE_SIZE","CLOSE_COLUMN_SELECTOR_MODAL","GET_TABLE_DATA","LOAD_TYPE","OPEN_COLUMN_SELECTOR_MODAL","SET_COLUMNS","SET_COLUMNS_ORDER","SET_OFFSET","TOGGLE_FULL_SCREEN","updateView","CancelHelper","openInNewTab","showErrorPopup","prepareRequest","Query","Columns","getCluster","getColumnsValues","getParsedError","getRequestOutputFormat","parseErrorFromResponse","prepareHeaders","prepareRows","getAttributes","getPath","getTransaction","getDefaultTableColumnLimit","isTableSimilarityEnabled","getAllColumns","getKeyColumns","getNextOffset","getRequestedPageSize","getVisibleColumns","isYqlTypesEnabled","getCellSize","getColumns","getColumnsPreset","getDeniedKeyColumns","getIsDynamic","getIsStrict","getMoveOffsetBackward","getOmittedColumns","getRows","getTableColumnNamesFromSchema","mergeScreen","injectColumnsFromSchema","YTApiId","ytApiV3","ytApiV3Id","unipika","loadColumnPresetIfDefined","saveColumnPreset","setTablePresetHash","makeTableRumId","getFontFamilies","requests","toaster","loadDynamicTable","requestOutputFormat","setup","state","type","useZeroRangeForPreload","login","global","path","stringLimit","keyColumns","attributes","useYqlTypes","moveBackward","defaultTableColumnLimit","_getNextOffset","offset","offsetValue","descending","orderBySupported","offsetColumns","limit","_isEmpty","cluster","isDynamic","id","PRELOAD","allColumns","getSchemaColumns","fetch","dynTableCheckPerm","checkPermission","columns","permission","user","saveCancelToken","then","permissions","keyColumnsNames","_keyBy","_$reduce","_reduce","res","index","action","availableColumns","push","omittedColumns","_has","deniedKeyColumns","_defineProperty","length","Promise","reject","_map","decode","parameters","query","prepareQuery","output_format","dump_error_into_response","dynTableSelectRowsPreload","selectRows","_ref","data","error","_prepareRows","rows","yqlTypes","decodedColumns","decodeNameField","outputFormat","err","Error","key_columns","dynTableSelectRows","_ref2","_prepareRows2","loadStaticTable","transaction","requestedPageSize","table_reader","workload_descriptor","category","omit_inaccessible_columns","relativePath","apiId","tableReadPreload","tableRead","readTable","_ref3","headers","_prepareRows3","loadTableRows","isStrict","transformResponse","_ref4","parsedData","rawResponse","loadPromise","result","schemaColumns","rest","_objectWithoutProperties","_excluded","_objectSpread","restoreColumns","tableSimilarityEnabled","$value","$attributes","field_weight_limit","max_selected_column_count","max_all_column_names_count","column_names","_ref5","storedColumns","restoreSimilarColumns","restoreExactColumns","preloadTableFont","fontFamily","load","updateTableData","dispatch","getState","_getNextOffset2","REQUEST","removeAllRequests","UPDATE","_ref6","preparedColumns","prepareColumns","preparedOmittedColumns","prepareOmittedColumns","setColumns","newOffsetValue","previousRows","addRowCount","Math","min","concat","slice","prepareKey","undefined","SUCCESS","code","codes","CANCELLED","FAILURE","getTableData","fontFamilies","updateColumns","_ref7","_ref7$deniedKeyColumn","preset","forEach","column","_preset$columns","checked","includes","name","all","monospace","_ref8","_ref9","_slicedToArray","_ref9$","_excluded2","setColumnsOrder","columnsOrder","openColumnSelectorModal","closeColumnSelectorModal","_filter","disabled","getColumnsOrder","storeAllColumns","rememberPresetColumnsAsDefault","openTableWithPresetOfColumns","visibleColumns","hash","href","window","location","url","countEvent","share_columns","changePageSize","pageSize","changeCellSize","cellSize","toggleFullScreen","handleScreenChanged","isFullScreen","storedIsFullScreen","navigation","content","table","mountUnmountTable","navigation_dynamic_table_action","add","title","console","message","actions","label","onClick","abortAndReset","item"],"sources":["table.js"],"sourcesContent":["import _ from 'lodash';\nimport FontFaceObserver from 'fontfaceobserver';\nimport {Toaster} from '@gravity-ui/uikit';\nimport metrics from '../../../../../common/utils/metrics';\n\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {\n CHANGE_CELL_SIZE,\n CHANGE_PAGE_SIZE,\n CLOSE_COLUMN_SELECTOR_MODAL,\n GET_TABLE_DATA,\n LOAD_TYPE,\n OPEN_COLUMN_SELECTOR_MODAL,\n SET_COLUMNS,\n SET_COLUMNS_ORDER,\n SET_OFFSET,\n TOGGLE_FULL_SCREEN,\n} from '../../../../../constants/navigation/content/table';\n\nimport {updateView} from '../../../../../store/actions/navigation';\n\nimport CancelHelper from '../../../../../utils/cancel-helper';\nimport {openInNewTab, showErrorPopup} from '../../../../../utils/utils';\nimport {prepareRequest} from '../../../../../utils/navigation';\nimport Query from '../../../../../utils/navigation/content/table/query';\nimport Columns from '../../../../../utils/navigation/content/table/columns';\nimport {getCluster} from '../../../../../store/selectors/global';\nimport {\n getColumnsValues,\n getParsedError,\n getRequestOutputFormat,\n parseErrorFromResponse,\n prepareHeaders,\n prepareRows,\n} from '../../../../../utils/navigation/content/table/table';\n\nimport {getAttributes, getPath, getTransaction} from '../../../../../store/selectors/navigation';\nimport {\n getDefaultTableColumnLimit,\n isTableSimilarityEnabled,\n} from '../../../../../store/selectors/settings';\nimport {\n getAllColumns,\n getKeyColumns,\n getNextOffset,\n getRequestedPageSize,\n getVisibleColumns,\n isYqlTypesEnabled,\n} from '../../../../../store/selectors/navigation/content/table';\nimport {\n getCellSize,\n getColumns,\n getColumnsPreset,\n getDeniedKeyColumns,\n getIsDynamic,\n getIsStrict,\n getMoveOffsetBackward,\n getOmittedColumns,\n getRows,\n getTableColumnNamesFromSchema,\n} from '../../../../../store/selectors/navigation/content/table-ts';\nimport {mergeScreen} from '../../../../../store/actions/global';\nimport {injectColumnsFromSchema} from '../../../../../utils/navigation/content/table/table-ts';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../../../../rum/rum-wrap-api';\nimport unipika from '../../../../../common/thor/unipika';\n\nimport {loadColumnPresetIfDefined, saveColumnPreset, setTablePresetHash} from './columns-preset';\nimport {makeTableRumId} from './table-rum-id';\nimport {getFontFamilies} from '../../../../selectors/settings-ts';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\nfunction loadDynamicTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload) {\n const {login} = state.global;\n\n const path = getPath(state);\n const stringLimit = getCellSize(state);\n const keyColumns = getKeyColumns(state);\n const attributes = getAttributes(state);\n const useYqlTypes = isYqlTypesEnabled(state);\n const moveBackward = getMoveOffsetBackward(state);\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const {offsetValue: offset, moveBackward: descending} = getNextOffset(state);\n const orderBySupported = true;\n const offsetColumns = keyColumns;\n\n let limit = getRequestedPageSize(state);\n if (_.isEmpty(offset) && descending) {\n // If we move to the end of the table, we reduce the limit for correctly determining the end of the table\n limit--;\n }\n\n const cluster = getCluster(state);\n const isDynamic = getIsDynamic(state);\n const id = makeTableRumId({cluster, isDynamic});\n\n if (type === LOAD_TYPE.PRELOAD) {\n // Get all columns from schema for preload data. Scheme is always strict\n const allColumns = Columns.getSchemaColumns(attributes);\n\n return id\n .fetch(\n YTApiId.dynTableCheckPerm,\n ytApiV3Id.checkPermission(\n YTApiId.dynTableCheckPerm,\n {\n columns: allColumns,\n permission: 'read',\n user: login,\n path,\n },\n requests.saveCancelToken,\n ),\n )\n .then((permissions) => {\n const keyColumnsNames = _.keyBy(keyColumns);\n const {availableColumns, omittedColumns, deniedKeyColumns} = _.reduce(\n permissions.columns,\n (res, permission, index) => {\n if (permission.action === 'allow') {\n res.availableColumns.push(allColumns[index]);\n } else {\n res.omittedColumns.push(allColumns[index]);\n if (_.has(keyColumnsNames, allColumns[index])) {\n res.deniedKeyColumns.push({[allColumns[index]]: permission.action});\n }\n }\n\n return res;\n },\n {availableColumns: [], omittedColumns: [], deniedKeyColumns: []},\n );\n\n if (deniedKeyColumns.length !== 0) {\n return Promise.reject({deniedKeyColumns});\n }\n\n const columns = _.map(availableColumns, unipika.decode);\n const parameters = {\n query: Query.prepareQuery({\n columns,\n path,\n keyColumns,\n offsetColumns,\n offset: useZeroRangeForPreload ? 0 : offset,\n limit: useZeroRangeForPreload ? 0 : limit,\n descending,\n orderBySupported,\n }),\n output_format: requestOutputFormat,\n dump_error_into_response: true,\n };\n\n return id\n .fetch(\n YTApiId.dynTableSelectRowsPreload,\n ytApiV3Id.selectRows(\n YTApiId.dynTableSelectRowsPreload,\n {setup, parameters},\n requests.saveCancelToken,\n ),\n )\n .then(({data}) => {\n const error = parseErrorFromResponse(data);\n\n if (error) {\n return Promise.reject(getParsedError(error));\n }\n\n const {columns, rows, yqlTypes} = prepareRows(data, moveBackward);\n\n return {\n rows,\n columns,\n yqlTypes,\n omittedColumns,\n };\n });\n });\n } else {\n // Get only visible columns for updating data. Get omittedColumns from store.\n const columns = getVisibleColumns(state);\n const omittedColumns = getOmittedColumns(state);\n const deniedKeyColumns = getDeniedKeyColumns(state);\n const decodedColumns = decodeNameField(columns);\n const outputFormat = getRequestOutputFormat(\n decodedColumns,\n stringLimit,\n login,\n defaultTableColumnLimit,\n useYqlTypes,\n );\n\n if (deniedKeyColumns.length !== 0) {\n const err = new Error('There is no \"read\" permission for some key columns:');\n err.attributes = {key_columns: deniedKeyColumns};\n return Promise.reject(err);\n }\n\n const parameters = {\n query: Query.prepareQuery({\n columns: decodedColumns,\n path,\n keyColumns,\n offsetColumns,\n offset,\n limit,\n descending,\n orderBySupported,\n }),\n output_format: outputFormat,\n dump_error_into_response: true,\n };\n\n return id\n .fetch(\n YTApiId.dynTableSelectRows,\n ytApiV3Id.selectRows(\n YTApiId.dynTableSelectRows,\n {setup, parameters},\n requests.saveCancelToken,\n ),\n )\n .then(({data}) => {\n const error = parseErrorFromResponse(data);\n\n if (error) {\n return Promise.reject(getParsedError(error));\n }\n\n const {columns, rows, yqlTypes} = prepareRows(data, moveBackward);\n\n return {\n rows,\n columns,\n yqlTypes,\n omittedColumns,\n };\n });\n }\n}\n\nfunction loadStaticTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload) {\n const path = getPath(state);\n const stringLimit = getCellSize(state);\n const transaction = getTransaction(state);\n const moveBackward = getMoveOffsetBackward(state);\n const requestedPageSize = getRequestedPageSize(state);\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n\n const {login} = state.global;\n // Get all columns always and update them then. We can get new columns. The scheme is not always strict\n const columns = getColumns(state);\n const offsetValue = getNextOffset(state).offsetValue;\n const useYqlTypes = isYqlTypesEnabled(state);\n const decodedColumns = decodeNameField(columns);\n const outputFormat =\n requestOutputFormat ||\n getRequestOutputFormat(\n decodedColumns,\n stringLimit,\n login,\n defaultTableColumnLimit,\n useYqlTypes,\n );\n\n const parameters = prepareRequest({\n path,\n table_reader: {\n workload_descriptor: {category: 'user_interactive'},\n },\n transaction,\n output_format: outputFormat,\n dump_error_into_response: true,\n omit_inaccessible_columns: true,\n relativePath: useZeroRangeForPreload\n ? '[#0:#0]'\n : '[#' + offsetValue + ':#' + (offsetValue + requestedPageSize) + ']',\n });\n\n const cluster = getCluster(state);\n const isDynamic = getIsDynamic(state);\n const id = makeTableRumId({cluster, isDynamic});\n const apiId = type === LOAD_TYPE.PRELOAD ? YTApiId.tableReadPreload : YTApiId.tableRead;\n\n return id\n .fetch(apiId, ytApiV3Id.readTable(apiId, {setup, parameters}, requests.saveCancelToken))\n .then(({data, headers}) => {\n const error = parseErrorFromResponse(data);\n\n if (error) {\n return Promise.reject(getParsedError(error));\n }\n\n const {columns, rows, yqlTypes} = prepareRows(data, moveBackward);\n const omittedColumns = prepareHeaders(headers);\n\n return {columns, omittedColumns, rows, yqlTypes};\n });\n}\n\nfunction loadTableRows(type, state, requestOutputFormat) {\n const isDynamic = getIsDynamic(state);\n const isStrict = getIsStrict(state);\n const setup = {\n transformResponse({parsedData, rawResponse}) {\n return {\n data: parsedData,\n headers: rawResponse?.headers,\n };\n },\n };\n const useZeroRangeForPreload = isStrict && type === LOAD_TYPE.PRELOAD;\n\n const loadPromise = isDynamic\n ? loadDynamicTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload)\n : loadStaticTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload);\n\n return loadPromise.then((result) => {\n const schemaColumns = getTableColumnNamesFromSchema(state);\n const {columns, omittedColumns, ...rest} = result;\n return {\n columns: injectColumnsFromSchema(columns, omittedColumns, schemaColumns),\n omittedColumns,\n ...rest,\n };\n });\n}\n\n// Make a table request with page size row range and empty column range to get the list of all columns in table\n// and restore personalized columns list.\nfunction restoreColumns(state) {\n const tableSimilarityEnabled = isTableSimilarityEnabled(state);\n const attributes = getAttributes(state);\n const stringLimit = getCellSize(state);\n\n const requestOutputFormat = {\n $value: 'web_json',\n $attributes: {\n field_weight_limit: stringLimit,\n max_selected_column_count: 50,\n max_all_column_names_count: 3000,\n column_names: [],\n },\n };\n\n return loadTableRows(LOAD_TYPE.PRELOAD, state, requestOutputFormat)\n .then(({columns, omittedColumns}) => {\n const storedColumns = tableSimilarityEnabled\n ? Columns.restoreSimilarColumns(attributes, columns)\n : Columns.restoreExactColumns(attributes);\n\n return {columns, omittedColumns, storedColumns};\n })\n .catch((data) => {\n const {deniedKeyColumns} = data;\n return {\n columns: [],\n omittedColumns: [],\n storedColumns: null,\n ...(deniedKeyColumns ? {deniedKeyColumns} : {}),\n };\n });\n}\n\n// TODO: consider switching back for <link rel=\"preload\"> once it's supported in all major browsers\nfunction preloadTableFont(fontFamily) {\n return new FontFaceObserver(fontFamily).load(null, 10000);\n}\n\nexport function updateTableData() {\n return (dispatch, getState) => {\n const state = getState();\n const attributes = getAttributes(state);\n const {offsetValue, moveBackward} = getNextOffset(state);\n const requestedPageSize = getRequestedPageSize(state);\n const isDynamic = getIsDynamic(state);\n\n dispatch({type: GET_TABLE_DATA.REQUEST});\n requests.removeAllRequests();\n\n return loadTableRows(LOAD_TYPE.UPDATE, state)\n .then(({columns, omittedColumns, rows, yqlTypes}) => {\n // Scheme is always strict in dynamic tables. No new columns are expected.\n if (!isDynamic) {\n // Get current columns for save visible status\n const storedColumns = getColumns(state);\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const preparedColumns = Columns.prepareColumns(\n attributes,\n rows,\n columns,\n storedColumns,\n defaultTableColumnLimit,\n );\n const preparedOmittedColumns = Columns.prepareOmittedColumns(\n attributes,\n omittedColumns,\n );\n dispatch(setColumns(preparedColumns, preparedOmittedColumns, []));\n }\n\n if (moveBackward) {\n let newOffsetValue;\n if (!_.isEmpty(offsetValue) && rows.length < requestedPageSize) {\n // If there are not enough rows on the new page on the left:\n // - add rows from the current page\n // - reset offset value\n newOffsetValue = '';\n const previousRows = getRows(state);\n const addRowCount = Math.min(\n requestedPageSize - rows.length + 1,\n previousRows.length,\n );\n rows = rows.concat(previousRows.slice(1, addRowCount));\n } else {\n const keyColumns = getKeyColumns(state);\n newOffsetValue = Query.prepareKey(getColumnsValues(rows[0], keyColumns));\n }\n\n if (newOffsetValue !== undefined) {\n dispatch({\n type: SET_OFFSET,\n data: {offsetValue: newOffsetValue},\n });\n }\n }\n\n dispatch({\n type: GET_TABLE_DATA.SUCCESS,\n data: {rows, yqlTypes},\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_TABLE_DATA.CANCELLED});\n } else {\n dispatch({\n type: GET_TABLE_DATA.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function getTableData() {\n return (dispatch, getState) => {\n const state = getState();\n\n const attributes = getAttributes(state);\n const fontFamilies = getFontFamilies(state);\n\n return dispatch(loadColumnPresetIfDefined()).then(() => {\n const updateColumns = ({\n rows,\n columns,\n omittedColumns,\n storedColumns,\n deniedKeyColumns = [],\n }) => {\n const state = getState();\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const preparedColumns = Columns.prepareColumns(\n attributes,\n rows,\n columns,\n storedColumns,\n defaultTableColumnLimit,\n );\n const preparedOmittedColumns = Columns.prepareOmittedColumns(\n attributes,\n omittedColumns,\n );\n\n // if we have columns preset -> update checked according to preset\n const preset = getColumnsPreset(state);\n if (preset?.columns) {\n preparedColumns.forEach((column) => {\n column.checked = preset?.columns?.includes(column.name);\n });\n }\n dispatch(setColumns(preparedColumns, preparedOmittedColumns, deniedKeyColumns));\n };\n\n dispatch({type: GET_TABLE_DATA.REQUEST});\n requests.removeAllRequests();\n\n // 1. call the restoreColumns function before loading table data\n // 2. Call loadTableRows function with specific requestOutputFormat and empty column_names to get all columns and return their and stored columns:\n // a) tableSimilarityEnabled === false. Finding stored columns by id and schema. If stored columns exists -- update their and return. Else return null\n // b) tableSimilarityEnabled === true. Finding stored columns by array of all columns. If stored columns exists -- update their and return. Else return null\n // 3. If at the previous step was returned an array then building columns based on stored columns and save their in the store.\n // 4. load table rows for columns in the store\n\n return Promise.all([\n restoreColumns(getState()),\n preloadTableFont(fontFamilies.monospace),\n ])\n .then(([{columns, omittedColumns, storedColumns, ...rest}]) => {\n if (columns) {\n updateColumns({\n rows: [],\n columns,\n omittedColumns,\n storedColumns,\n ...rest,\n });\n }\n return dispatch(updateTableData());\n })\n .catch((error) => {\n updateColumns({\n rows: [],\n columns: Columns.getSchemaColumns(attributes),\n omittedColumns: [],\n });\n\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_TABLE_DATA.CANCELLED});\n } else {\n dispatch({\n type: GET_TABLE_DATA.FAILURE,\n data: {error},\n });\n }\n });\n });\n };\n}\n\nexport function setColumns(columns, omittedColumns, deniedKeyColumns) {\n return {\n type: SET_COLUMNS,\n data: {columns, omittedColumns, deniedKeyColumns},\n };\n}\n\nexport function setColumnsOrder(columnsOrder) {\n return {\n type: SET_COLUMNS_ORDER,\n data: {columnsOrder},\n };\n}\n\nexport function openColumnSelectorModal() {\n return {\n type: OPEN_COLUMN_SELECTOR_MODAL,\n };\n}\n\nexport function closeColumnSelectorModal() {\n return {\n type: CLOSE_COLUMN_SELECTOR_MODAL,\n };\n}\n\nexport function updateColumns(allColumns) {\n return (dispatch, getState) => {\n const state = getState();\n const attributes = getAttributes(state);\n const omittedColumns = getOmittedColumns(state);\n const deniedKeyColumns = getDeniedKeyColumns(state);\n const columns = _.filter(allColumns, (column) => !column.disabled); // remove omitted columns\n const columnsOrder = Columns.getColumnsOrder(columns);\n Columns.storeAllColumns(attributes, columns);\n\n dispatch(setColumns(columns, omittedColumns, deniedKeyColumns));\n dispatch(setColumnsOrder(columnsOrder));\n dispatch(closeColumnSelectorModal());\n\n dispatch(setTablePresetHash(undefined));\n dispatch(updateTableData());\n };\n}\n\nexport function rememberPresetColumnsAsDefault() {\n return (dispatch, getState) => {\n const allColumns = getAllColumns(getState());\n dispatch(updateColumns(allColumns));\n };\n}\n\nexport function openTableWithPresetOfColumns() {\n return (dispatch, getState) => {\n const visibleColumns = getVisibleColumns(getState());\n saveColumnPreset(_.map(visibleColumns, 'name')).then((hash) => {\n const {href} = window.location;\n const url = `${href}&columns=${hash}`;\n openInNewTab(url);\n\n metrics.countEvent({\n share_columns: {\n hash,\n },\n });\n });\n };\n}\n\nexport function changePageSize(pageSize) {\n return (dispatch) => {\n dispatch({\n type: CHANGE_PAGE_SIZE,\n data: {pageSize},\n });\n dispatch(updateTableData());\n };\n}\n\nexport function changeCellSize(cellSize) {\n return (dispatch) => {\n dispatch({\n type: CHANGE_CELL_SIZE,\n data: {cellSize},\n });\n dispatch(updateTableData());\n };\n}\n\nexport function toggleFullScreen() {\n return (dispatch) => {\n dispatch(mergeScreen());\n dispatch({type: TOGGLE_FULL_SCREEN});\n };\n}\n\n// if we press esc button then the browser will automatically change state to non full screen\n// and we need as change value in the store\nexport function handleScreenChanged(isFullScreen) {\n return (dispatch, getState) => {\n const {isFullScreen: storedIsFullScreen} = getState().navigation.content.table;\n\n if (isFullScreen !== storedIsFullScreen) {\n dispatch(toggleFullScreen());\n }\n };\n}\n\nexport function mountUnmountTable(action) {\n return (dispatch, getState) => {\n const path = getPath(getState());\n\n metrics.countEvent({\n navigation_dynamic_table_action: action,\n });\n\n return ytApiV3[`${action}Table`]({path})\n .then(() => {\n toaster.add({\n name: `${action} table`,\n type: 'success',\n title: `Success ${action}ing table`,\n });\n return dispatch(updateView());\n })\n .catch((err) => {\n console.error(err);\n toaster.add({\n name: `${action} table`,\n type: 'error',\n title: `Could not ${action} table.`,\n content: err?.message || 'Oops, something went wrong',\n actions: [{label: ' view', onClick: () => showErrorPopup(err)}],\n });\n });\n };\n}\n\nexport function abortAndReset() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: GET_TABLE_DATA.CANCELLED});\n };\n}\n\nexport function decodeNameField(columns) {\n return _.map(columns, (item) => {\n return {\n ...item,\n name: unipika.decode(item.name),\n };\n });\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["FontFaceObserver","Toaster","metrics","yt","CHANGE_CELL_SIZE","CHANGE_PAGE_SIZE","CLOSE_COLUMN_SELECTOR_MODAL","GET_TABLE_DATA","LOAD_TYPE","OPEN_COLUMN_SELECTOR_MODAL","SET_COLUMNS","SET_COLUMNS_ORDER","SET_OFFSET","TOGGLE_FULL_SCREEN","updateView","CancelHelper","openInNewTab","showErrorPopup","prepareRequest","Query","Columns","getCluster","getColumnsValues","getParsedError","getRequestOutputFormat","parseErrorFromResponse","prepareHeaders","prepareRows","getAttributes","getPath","getTransaction","getDefaultTableColumnLimit","isTableSimilarityEnabled","getAllColumns","getKeyColumns","getNextOffset","getRequestedPageSize","getVisibleColumns","isYqlTypesEnabled","getCellSize","getColumns","getColumnsPreset","getDeniedKeyColumns","getIsDynamic","getIsStrict","getMoveOffsetBackward","getOmittedColumns","getRows","getTableColumnNamesFromSchema","mergeScreen","injectColumnsFromSchema","YTApiId","ytApiV3","ytApiV3Id","unipika","loadColumnPresetIfDefined","saveColumnPreset","setTablePresetHash","makeTableRumId","getFontFamilies","requests","toaster","loadDynamicTable","requestOutputFormat","setup","state","type","useZeroRangeForPreload","login","global","path","stringLimit","keyColumns","attributes","useYqlTypes","moveBackward","defaultTableColumnLimit","_getNextOffset","offset","offsetValue","descending","orderBySupported","offsetColumns","limit","_isEmpty","cluster","isDynamic","id","PRELOAD","allColumns","getSchemaColumns","fetch","dynTableCheckPerm","checkPermission","parameters","columns","permission","user","cancellation","saveCancelToken","then","permissions","keyColumnsNames","_keyBy","_$reduce","_reduce","res","index","action","availableColumns","push","omittedColumns","_has","deniedKeyColumns","_defineProperty","length","Promise","reject","_map","decode","query","prepareQuery","output_format","dump_error_into_response","dynTableSelectRowsPreload","selectRows","_ref","data","error","_prepareRows","rows","yqlTypes","decodedColumns","decodeNameField","outputFormat","err","Error","key_columns","dynTableSelectRows","_ref2","_prepareRows2","loadStaticTable","transaction","requestedPageSize","table_reader","workload_descriptor","category","omit_inaccessible_columns","relativePath","apiId","tableReadPreload","tableRead","readTable","_ref3","headers","_prepareRows3","loadTableRows","isStrict","transformResponse","_ref4","parsedData","rawResponse","loadPromise","result","schemaColumns","rest","_objectWithoutProperties","_excluded","_objectSpread","restoreColumns","tableSimilarityEnabled","$value","$attributes","field_weight_limit","max_selected_column_count","max_all_column_names_count","column_names","_ref5","storedColumns","restoreSimilarColumns","restoreExactColumns","preloadTableFont","fontFamily","load","updateTableData","dispatch","getState","_getNextOffset2","REQUEST","removeAllRequests","UPDATE","_ref6","preparedColumns","prepareColumns","preparedOmittedColumns","prepareOmittedColumns","setColumns","newOffsetValue","previousRows","addRowCount","Math","min","concat","slice","prepareKey","undefined","SUCCESS","code","codes","CANCELLED","FAILURE","getTableData","fontFamilies","updateColumns","_ref7","_ref7$deniedKeyColumn","preset","forEach","column","_preset$columns","checked","includes","name","all","monospace","_ref8","_ref9","_slicedToArray","_ref9$","_excluded2","setColumnsOrder","columnsOrder","openColumnSelectorModal","closeColumnSelectorModal","_filter","disabled","getColumnsOrder","storeAllColumns","rememberPresetColumnsAsDefault","openTableWithPresetOfColumns","visibleColumns","hash","href","window","location","url","countEvent","share_columns","changePageSize","pageSize","changeCellSize","cellSize","toggleFullScreen","handleScreenChanged","isFullScreen","storedIsFullScreen","navigation","content","table","mountUnmountTable","navigation_dynamic_table_action","add","title","console","message","actions","label","onClick","abortAndReset","item"],"sources":["table.js"],"sourcesContent":["import _ from 'lodash';\nimport FontFaceObserver from 'fontfaceobserver';\nimport {Toaster} from '@gravity-ui/uikit';\nimport metrics from '../../../../../common/utils/metrics';\n\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {\n CHANGE_CELL_SIZE,\n CHANGE_PAGE_SIZE,\n CLOSE_COLUMN_SELECTOR_MODAL,\n GET_TABLE_DATA,\n LOAD_TYPE,\n OPEN_COLUMN_SELECTOR_MODAL,\n SET_COLUMNS,\n SET_COLUMNS_ORDER,\n SET_OFFSET,\n TOGGLE_FULL_SCREEN,\n} from '../../../../../constants/navigation/content/table';\n\nimport {updateView} from '../../../../../store/actions/navigation';\n\nimport CancelHelper from '../../../../../utils/cancel-helper';\nimport {openInNewTab, showErrorPopup} from '../../../../../utils/utils';\nimport {prepareRequest} from '../../../../../utils/navigation';\nimport Query from '../../../../../utils/navigation/content/table/query';\nimport Columns from '../../../../../utils/navigation/content/table/columns';\nimport {getCluster} from '../../../../../store/selectors/global';\nimport {\n getColumnsValues,\n getParsedError,\n getRequestOutputFormat,\n parseErrorFromResponse,\n prepareHeaders,\n prepareRows,\n} from '../../../../../utils/navigation/content/table/table';\n\nimport {getAttributes, getPath, getTransaction} from '../../../../../store/selectors/navigation';\nimport {\n getDefaultTableColumnLimit,\n isTableSimilarityEnabled,\n} from '../../../../../store/selectors/settings';\nimport {\n getAllColumns,\n getKeyColumns,\n getNextOffset,\n getRequestedPageSize,\n getVisibleColumns,\n isYqlTypesEnabled,\n} from '../../../../../store/selectors/navigation/content/table';\nimport {\n getCellSize,\n getColumns,\n getColumnsPreset,\n getDeniedKeyColumns,\n getIsDynamic,\n getIsStrict,\n getMoveOffsetBackward,\n getOmittedColumns,\n getRows,\n getTableColumnNamesFromSchema,\n} from '../../../../../store/selectors/navigation/content/table-ts';\nimport {mergeScreen} from '../../../../../store/actions/global';\nimport {injectColumnsFromSchema} from '../../../../../utils/navigation/content/table/table-ts';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../../../../rum/rum-wrap-api';\nimport unipika from '../../../../../common/thor/unipika';\n\nimport {loadColumnPresetIfDefined, saveColumnPreset, setTablePresetHash} from './columns-preset';\nimport {makeTableRumId} from './table-rum-id';\nimport {getFontFamilies} from '../../../../selectors/settings-ts';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\nfunction loadDynamicTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload) {\n const {login} = state.global;\n\n const path = getPath(state);\n const stringLimit = getCellSize(state);\n const keyColumns = getKeyColumns(state);\n const attributes = getAttributes(state);\n const useYqlTypes = isYqlTypesEnabled(state);\n const moveBackward = getMoveOffsetBackward(state);\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const {offsetValue: offset, moveBackward: descending} = getNextOffset(state);\n const orderBySupported = true;\n const offsetColumns = keyColumns;\n\n let limit = getRequestedPageSize(state);\n if (_.isEmpty(offset) && descending) {\n // If we move to the end of the table, we reduce the limit for correctly determining the end of the table\n limit--;\n }\n\n const cluster = getCluster(state);\n const isDynamic = getIsDynamic(state);\n const id = makeTableRumId({cluster, isDynamic});\n\n if (type === LOAD_TYPE.PRELOAD) {\n // Get all columns from schema for preload data. Scheme is always strict\n const allColumns = Columns.getSchemaColumns(attributes);\n\n return id\n .fetch(\n YTApiId.dynTableCheckPerm,\n ytApiV3Id.checkPermission(YTApiId.dynTableCheckPerm, {\n parameters: {\n columns: allColumns,\n permission: 'read',\n user: login,\n path,\n },\n cancellation: requests.saveCancelToken,\n }),\n )\n .then((permissions) => {\n const keyColumnsNames = _.keyBy(keyColumns);\n const {availableColumns, omittedColumns, deniedKeyColumns} = _.reduce(\n permissions.columns,\n (res, permission, index) => {\n if (permission.action === 'allow') {\n res.availableColumns.push(allColumns[index]);\n } else {\n res.omittedColumns.push(allColumns[index]);\n if (_.has(keyColumnsNames, allColumns[index])) {\n res.deniedKeyColumns.push({[allColumns[index]]: permission.action});\n }\n }\n\n return res;\n },\n {availableColumns: [], omittedColumns: [], deniedKeyColumns: []},\n );\n\n if (deniedKeyColumns.length !== 0) {\n return Promise.reject({deniedKeyColumns});\n }\n\n const columns = _.map(availableColumns, unipika.decode);\n const parameters = {\n query: Query.prepareQuery({\n columns,\n path,\n keyColumns,\n offsetColumns,\n offset: useZeroRangeForPreload ? 0 : offset,\n limit: useZeroRangeForPreload ? 0 : limit,\n descending,\n orderBySupported,\n }),\n output_format: requestOutputFormat,\n dump_error_into_response: true,\n };\n\n return id\n .fetch(\n YTApiId.dynTableSelectRowsPreload,\n ytApiV3Id.selectRows(YTApiId.dynTableSelectRowsPreload, {\n setup,\n parameters,\n cancellation: requests.saveCancelToken,\n }),\n )\n .then(({data}) => {\n const error = parseErrorFromResponse(data);\n\n if (error) {\n return Promise.reject(getParsedError(error));\n }\n\n const {columns, rows, yqlTypes} = prepareRows(data, moveBackward);\n\n return {\n rows,\n columns,\n yqlTypes,\n omittedColumns,\n };\n });\n });\n } else {\n // Get only visible columns for updating data. Get omittedColumns from store.\n const columns = getVisibleColumns(state);\n const omittedColumns = getOmittedColumns(state);\n const deniedKeyColumns = getDeniedKeyColumns(state);\n const decodedColumns = decodeNameField(columns);\n const outputFormat = getRequestOutputFormat(\n decodedColumns,\n stringLimit,\n login,\n defaultTableColumnLimit,\n useYqlTypes,\n );\n\n if (deniedKeyColumns.length !== 0) {\n const err = new Error('There is no \"read\" permission for some key columns:');\n err.attributes = {key_columns: deniedKeyColumns};\n return Promise.reject(err);\n }\n\n const parameters = {\n query: Query.prepareQuery({\n columns: decodedColumns,\n path,\n keyColumns,\n offsetColumns,\n offset,\n limit,\n descending,\n orderBySupported,\n }),\n output_format: outputFormat,\n dump_error_into_response: true,\n };\n\n return id\n .fetch(\n YTApiId.dynTableSelectRows,\n ytApiV3Id.selectRows(YTApiId.dynTableSelectRows, {\n setup,\n parameters,\n cancellation: requests.saveCancelToken,\n }),\n )\n .then(({data}) => {\n const error = parseErrorFromResponse(data);\n\n if (error) {\n return Promise.reject(getParsedError(error));\n }\n\n const {columns, rows, yqlTypes} = prepareRows(data, moveBackward);\n\n return {\n rows,\n columns,\n yqlTypes,\n omittedColumns,\n };\n });\n }\n}\n\nfunction loadStaticTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload) {\n const path = getPath(state);\n const stringLimit = getCellSize(state);\n const transaction = getTransaction(state);\n const moveBackward = getMoveOffsetBackward(state);\n const requestedPageSize = getRequestedPageSize(state);\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n\n const {login} = state.global;\n // Get all columns always and update them then. We can get new columns. The scheme is not always strict\n const columns = getColumns(state);\n const offsetValue = getNextOffset(state).offsetValue;\n const useYqlTypes = isYqlTypesEnabled(state);\n const decodedColumns = decodeNameField(columns);\n const outputFormat =\n requestOutputFormat ||\n getRequestOutputFormat(\n decodedColumns,\n stringLimit,\n login,\n defaultTableColumnLimit,\n useYqlTypes,\n );\n\n const parameters = prepareRequest({\n path,\n table_reader: {\n workload_descriptor: {category: 'user_interactive'},\n },\n transaction,\n output_format: outputFormat,\n dump_error_into_response: true,\n omit_inaccessible_columns: true,\n relativePath: useZeroRangeForPreload\n ? '[#0:#0]'\n : '[#' + offsetValue + ':#' + (offsetValue + requestedPageSize) + ']',\n });\n\n const cluster = getCluster(state);\n const isDynamic = getIsDynamic(state);\n const id = makeTableRumId({cluster, isDynamic});\n const apiId = type === LOAD_TYPE.PRELOAD ? YTApiId.tableReadPreload : YTApiId.tableRead;\n\n return id\n .fetch(\n apiId,\n ytApiV3Id.readTable(apiId, {setup, parameters, cancellation: requests.saveCancelToken}),\n )\n .then(({data, headers}) => {\n const error = parseErrorFromResponse(data);\n\n if (error) {\n return Promise.reject(getParsedError(error));\n }\n\n const {columns, rows, yqlTypes} = prepareRows(data, moveBackward);\n const omittedColumns = prepareHeaders(headers);\n\n return {columns, omittedColumns, rows, yqlTypes};\n });\n}\n\nfunction loadTableRows(type, state, requestOutputFormat) {\n const isDynamic = getIsDynamic(state);\n const isStrict = getIsStrict(state);\n const setup = {\n transformResponse({parsedData, rawResponse}) {\n return {\n data: parsedData,\n headers: rawResponse?.headers,\n };\n },\n };\n const useZeroRangeForPreload = isStrict && type === LOAD_TYPE.PRELOAD;\n\n const loadPromise = isDynamic\n ? loadDynamicTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload)\n : loadStaticTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload);\n\n return loadPromise.then((result) => {\n const schemaColumns = getTableColumnNamesFromSchema(state);\n const {columns, omittedColumns, ...rest} = result;\n return {\n columns: injectColumnsFromSchema(columns, omittedColumns, schemaColumns),\n omittedColumns,\n ...rest,\n };\n });\n}\n\n// Make a table request with page size row range and empty column range to get the list of all columns in table\n// and restore personalized columns list.\nfunction restoreColumns(state) {\n const tableSimilarityEnabled = isTableSimilarityEnabled(state);\n const attributes = getAttributes(state);\n const stringLimit = getCellSize(state);\n\n const requestOutputFormat = {\n $value: 'web_json',\n $attributes: {\n field_weight_limit: stringLimit,\n max_selected_column_count: 50,\n max_all_column_names_count: 3000,\n column_names: [],\n },\n };\n\n return loadTableRows(LOAD_TYPE.PRELOAD, state, requestOutputFormat)\n .then(({columns, omittedColumns}) => {\n const storedColumns = tableSimilarityEnabled\n ? Columns.restoreSimilarColumns(attributes, columns)\n : Columns.restoreExactColumns(attributes);\n\n return {columns, omittedColumns, storedColumns};\n })\n .catch((data) => {\n const {deniedKeyColumns} = data;\n return {\n columns: [],\n omittedColumns: [],\n storedColumns: null,\n ...(deniedKeyColumns ? {deniedKeyColumns} : {}),\n };\n });\n}\n\n// TODO: consider switching back for <link rel=\"preload\"> once it's supported in all major browsers\nfunction preloadTableFont(fontFamily) {\n return new FontFaceObserver(fontFamily).load(null, 10000);\n}\n\nexport function updateTableData() {\n return (dispatch, getState) => {\n const state = getState();\n const attributes = getAttributes(state);\n const {offsetValue, moveBackward} = getNextOffset(state);\n const requestedPageSize = getRequestedPageSize(state);\n const isDynamic = getIsDynamic(state);\n\n dispatch({type: GET_TABLE_DATA.REQUEST});\n requests.removeAllRequests();\n\n return loadTableRows(LOAD_TYPE.UPDATE, state)\n .then(({columns, omittedColumns, rows, yqlTypes}) => {\n // Scheme is always strict in dynamic tables. No new columns are expected.\n if (!isDynamic) {\n // Get current columns for save visible status\n const storedColumns = getColumns(state);\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const preparedColumns = Columns.prepareColumns(\n attributes,\n rows,\n columns,\n storedColumns,\n defaultTableColumnLimit,\n );\n const preparedOmittedColumns = Columns.prepareOmittedColumns(\n attributes,\n omittedColumns,\n );\n dispatch(setColumns(preparedColumns, preparedOmittedColumns, []));\n }\n\n if (moveBackward) {\n let newOffsetValue;\n if (!_.isEmpty(offsetValue) && rows.length < requestedPageSize) {\n // If there are not enough rows on the new page on the left:\n // - add rows from the current page\n // - reset offset value\n newOffsetValue = '';\n const previousRows = getRows(state);\n const addRowCount = Math.min(\n requestedPageSize - rows.length + 1,\n previousRows.length,\n );\n rows = rows.concat(previousRows.slice(1, addRowCount));\n } else {\n const keyColumns = getKeyColumns(state);\n newOffsetValue = Query.prepareKey(getColumnsValues(rows[0], keyColumns));\n }\n\n if (newOffsetValue !== undefined) {\n dispatch({\n type: SET_OFFSET,\n data: {offsetValue: newOffsetValue},\n });\n }\n }\n\n dispatch({\n type: GET_TABLE_DATA.SUCCESS,\n data: {rows, yqlTypes},\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_TABLE_DATA.CANCELLED});\n } else {\n dispatch({\n type: GET_TABLE_DATA.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function getTableData() {\n return (dispatch, getState) => {\n const state = getState();\n\n const attributes = getAttributes(state);\n const fontFamilies = getFontFamilies(state);\n\n return dispatch(loadColumnPresetIfDefined()).then(() => {\n const updateColumns = ({\n rows,\n columns,\n omittedColumns,\n storedColumns,\n deniedKeyColumns = [],\n }) => {\n const state = getState();\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const preparedColumns = Columns.prepareColumns(\n attributes,\n rows,\n columns,\n storedColumns,\n defaultTableColumnLimit,\n );\n const preparedOmittedColumns = Columns.prepareOmittedColumns(\n attributes,\n omittedColumns,\n );\n\n // if we have columns preset -> update checked according to preset\n const preset = getColumnsPreset(state);\n if (preset?.columns) {\n preparedColumns.forEach((column) => {\n column.checked = preset?.columns?.includes(column.name);\n });\n }\n dispatch(setColumns(preparedColumns, preparedOmittedColumns, deniedKeyColumns));\n };\n\n dispatch({type: GET_TABLE_DATA.REQUEST});\n requests.removeAllRequests();\n\n // 1. call the restoreColumns function before loading table data\n // 2. Call loadTableRows function with specific requestOutputFormat and empty column_names to get all columns and return their and stored columns:\n // a) tableSimilarityEnabled === false. Finding stored columns by id and schema. If stored columns exists -- update their and return. Else return null\n // b) tableSimilarityEnabled === true. Finding stored columns by array of all columns. If stored columns exists -- update their and return. Else return null\n // 3. If at the previous step was returned an array then building columns based on stored columns and save their in the store.\n // 4. load table rows for columns in the store\n\n return Promise.all([\n restoreColumns(getState()),\n preloadTableFont(fontFamilies.monospace),\n ])\n .then(([{columns, omittedColumns, storedColumns, ...rest}]) => {\n if (columns) {\n updateColumns({\n rows: [],\n columns,\n omittedColumns,\n storedColumns,\n ...rest,\n });\n }\n return dispatch(updateTableData());\n })\n .catch((error) => {\n updateColumns({\n rows: [],\n columns: Columns.getSchemaColumns(attributes),\n omittedColumns: [],\n });\n\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_TABLE_DATA.CANCELLED});\n } else {\n dispatch({\n type: GET_TABLE_DATA.FAILURE,\n data: {error},\n });\n }\n });\n });\n };\n}\n\nexport function setColumns(columns, omittedColumns, deniedKeyColumns) {\n return {\n type: SET_COLUMNS,\n data: {columns, omittedColumns, deniedKeyColumns},\n };\n}\n\nexport function setColumnsOrder(columnsOrder) {\n return {\n type: SET_COLUMNS_ORDER,\n data: {columnsOrder},\n };\n}\n\nexport function openColumnSelectorModal() {\n return {\n type: OPEN_COLUMN_SELECTOR_MODAL,\n };\n}\n\nexport function closeColumnSelectorModal() {\n return {\n type: CLOSE_COLUMN_SELECTOR_MODAL,\n };\n}\n\nexport function updateColumns(allColumns) {\n return (dispatch, getState) => {\n const state = getState();\n const attributes = getAttributes(state);\n const omittedColumns = getOmittedColumns(state);\n const deniedKeyColumns = getDeniedKeyColumns(state);\n const columns = _.filter(allColumns, (column) => !column.disabled); // remove omitted columns\n const columnsOrder = Columns.getColumnsOrder(columns);\n Columns.storeAllColumns(attributes, columns);\n\n dispatch(setColumns(columns, omittedColumns, deniedKeyColumns));\n dispatch(setColumnsOrder(columnsOrder));\n dispatch(closeColumnSelectorModal());\n\n dispatch(setTablePresetHash(undefined));\n dispatch(updateTableData());\n };\n}\n\nexport function rememberPresetColumnsAsDefault() {\n return (dispatch, getState) => {\n const allColumns = getAllColumns(getState());\n dispatch(updateColumns(allColumns));\n };\n}\n\nexport function openTableWithPresetOfColumns() {\n return (dispatch, getState) => {\n const visibleColumns = getVisibleColumns(getState());\n saveColumnPreset(_.map(visibleColumns, 'name')).then((hash) => {\n const {href} = window.location;\n const url = `${href}&columns=${hash}`;\n openInNewTab(url);\n\n metrics.countEvent({\n share_columns: {\n hash,\n },\n });\n });\n };\n}\n\nexport function changePageSize(pageSize) {\n return (dispatch) => {\n dispatch({\n type: CHANGE_PAGE_SIZE,\n data: {pageSize},\n });\n dispatch(updateTableData());\n };\n}\n\nexport function changeCellSize(cellSize) {\n return (dispatch) => {\n dispatch({\n type: CHANGE_CELL_SIZE,\n data: {cellSize},\n });\n dispatch(updateTableData());\n };\n}\n\nexport function toggleFullScreen() {\n return (dispatch) => {\n dispatch(mergeScreen());\n dispatch({type: TOGGLE_FULL_SCREEN});\n };\n}\n\n// if we press esc button then the browser will automatically change state to non full screen\n// and we need as change value in the store\nexport function handleScreenChanged(isFullScreen) {\n return (dispatch, getState) => {\n const {isFullScreen: storedIsFullScreen} = getState().navigation.content.table;\n\n if (isFullScreen !== storedIsFullScreen) {\n dispatch(toggleFullScreen());\n }\n };\n}\n\nexport function mountUnmountTable(action) {\n return (dispatch, getState) => {\n const path = getPath(getState());\n\n metrics.countEvent({\n navigation_dynamic_table_action: action,\n });\n\n return ytApiV3[`${action}Table`]({path})\n .then(() => {\n toaster.add({\n name: `${action} table`,\n type: 'success',\n title: `Success ${action}ing table`,\n });\n return dispatch(updateView());\n })\n .catch((err) => {\n console.error(err);\n toaster.add({\n name: `${action} table`,\n type: 'error',\n title: `Could not ${action} table.`,\n content: err?.message || 'Oops, something went wrong',\n actions: [{label: ' view', onClick: () => showErrorPopup(err)}],\n });\n });\n };\n}\n\nexport function abortAndReset() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: GET_TABLE_DATA.CANCELLED});\n };\n}\n\nexport function decodeNameField(columns) {\n return _.map(columns, (item) => {\n return {\n ...item,\n name: unipika.decode(item.name),\n };\n });\n}\n"],"mappings":"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"}
|
@@ -9,8 +9,11 @@ export function abortTransaction(id) {
|
|
9
9
|
type: ABORT_TRANSACTION.REQUEST
|
10
10
|
});
|
11
11
|
return ytApiV3.abortTransaction({
|
12
|
-
|
13
|
-
|
12
|
+
parameters: {
|
13
|
+
transaction_id: id
|
14
|
+
},
|
15
|
+
cancellation: requests.saveCancelToken
|
16
|
+
}).then(function () {
|
14
17
|
dispatch(navigateParent());
|
15
18
|
dispatch({
|
16
19
|
type: ABORT_TRANSACTION.SUCCESS
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["CancelHelper","navigateParent","ABORT_TRANSACTION","ytApiV3","requests","abortTransaction","id","dispatch","type","REQUEST","transaction_id","saveCancelToken","then","SUCCESS","error","FAILURE","data","resetStore","removeAllRequests","CANCELLED"],"sources":["transaction.js"],"sourcesContent":["import CancelHelper from '../../../../utils/cancel-helper';\nimport {navigateParent} from '../../../../store/actions/navigation';\nimport {ABORT_TRANSACTION} from '../../../../constants/navigation/content/transaction';\nimport {ytApiV3} from '../../../../rum/rum-wrap-api';\n\nconst requests = new CancelHelper();\n\nexport function abortTransaction(id) {\n return (dispatch) => {\n dispatch({type: ABORT_TRANSACTION.REQUEST});\n\n return ytApiV3\n .abortTransaction({transaction_id: id}
|
1
|
+
{"version":3,"names":["CancelHelper","navigateParent","ABORT_TRANSACTION","ytApiV3","requests","abortTransaction","id","dispatch","type","REQUEST","parameters","transaction_id","cancellation","saveCancelToken","then","SUCCESS","error","FAILURE","data","resetStore","removeAllRequests","CANCELLED"],"sources":["transaction.js"],"sourcesContent":["import CancelHelper from '../../../../utils/cancel-helper';\nimport {navigateParent} from '../../../../store/actions/navigation';\nimport {ABORT_TRANSACTION} from '../../../../constants/navigation/content/transaction';\nimport {ytApiV3} from '../../../../rum/rum-wrap-api';\n\nconst requests = new CancelHelper();\n\nexport function abortTransaction(id) {\n return (dispatch) => {\n dispatch({type: ABORT_TRANSACTION.REQUEST});\n\n return ytApiV3\n .abortTransaction({\n parameters: {transaction_id: id},\n cancellation: requests.saveCancelToken,\n })\n .then(() => {\n dispatch(navigateParent());\n dispatch({type: ABORT_TRANSACTION.SUCCESS});\n })\n .catch((error) => {\n dispatch({\n type: ABORT_TRANSACTION.FAILURE,\n data: {error},\n });\n });\n };\n}\n\nexport function resetStore() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: ABORT_TRANSACTION.CANCELLED});\n };\n}\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,iCAAiC;AAC1D,SAAQC,cAAc,QAAO,sCAAsC;AACnE,SAAQC,iBAAiB,QAAO,sDAAsD;AACtF,SAAQC,OAAO,QAAO,8BAA8B;AAEpD,IAAMC,QAAQ,GAAG,IAAIJ,YAAY,CAAC,CAAC;AAEnC,OAAO,SAASK,gBAAgBA,CAACC,EAAE,EAAE;EACjC,OAAO,UAACC,QAAQ,EAAK;IACjBA,QAAQ,CAAC;MAACC,IAAI,EAAEN,iBAAiB,CAACO;IAAO,CAAC,CAAC;IAE3C,OAAON,OAAO,CACTE,gBAAgB,CAAC;MACdK,UAAU,EAAE;QAACC,cAAc,EAAEL;MAAE,CAAC;MAChCM,YAAY,EAAER,QAAQ,CAACS;IAC3B,CAAC,CAAC,CACDC,IAAI,CAAC,YAAM;MACRP,QAAQ,CAACN,cAAc,CAAC,CAAC,CAAC;MAC1BM,QAAQ,CAAC;QAACC,IAAI,EAAEN,iBAAiB,CAACa;MAAO,CAAC,CAAC;IAC/C,CAAC,CAAC,SACI,CAAC,UAACC,KAAK,EAAK;MACdT,QAAQ,CAAC;QACLC,IAAI,EAAEN,iBAAiB,CAACe,OAAO;QAC/BC,IAAI,EAAE;UAACF,KAAK,EAALA;QAAK;MAChB,CAAC,CAAC;IACN,CAAC,CAAC;EACV,CAAC;AACL;AAEA,OAAO,SAASG,UAAUA,CAAA,EAAG;EACzB,OAAO,UAACZ,QAAQ,EAAK;IACjBH,QAAQ,CAACgB,iBAAiB,CAAC,CAAC;IAC5Bb,QAAQ,CAAC;MAACC,IAAI,EAAEN,iBAAiB,CAACmB;IAAS,CAAC,CAAC;EACjD,CAAC;AACL"}
|
@@ -29,18 +29,24 @@ function copyObjectIntoDirectory(from, to, _ref) {
|
|
29
29
|
var parts = from.split('/');
|
30
30
|
var name = parts[parts.length - 1];
|
31
31
|
return yt.v3.copy({
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
32
|
+
parameters: {
|
33
|
+
source_path: preparePath(from),
|
34
|
+
destination_path: prepareDestinationPath(to, name),
|
35
|
+
preserve_account: preserve_account
|
36
|
+
},
|
37
|
+
cancellation: requests.saveCancelToken
|
38
|
+
});
|
36
39
|
}
|
37
40
|
function copyObjectWithRename(from, to, _ref2) {
|
38
41
|
var preserve_account = _ref2.preserve_account;
|
39
42
|
return yt.v3.copy({
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
43
|
+
parameters: {
|
44
|
+
source_path: preparePath(from),
|
45
|
+
destination_path: to,
|
46
|
+
preserve_account: preserve_account
|
47
|
+
},
|
48
|
+
cancellation: requests.saveCancelToken
|
49
|
+
});
|
44
50
|
}
|
45
51
|
function copySingleObject(from, to, _ref3) {
|
46
52
|
var preserve_account = _ref3.preserve_account;
|
@@ -51,8 +57,11 @@ function copySingleObject(from, to, _ref3) {
|
|
51
57
|
});
|
52
58
|
}
|
53
59
|
return yt.v3.exists({
|
54
|
-
|
55
|
-
|
60
|
+
parameters: {
|
61
|
+
path: "".concat(to, "&")
|
62
|
+
},
|
63
|
+
cancellation: requests.saveCancelToken
|
64
|
+
}).then(function (exist) {
|
56
65
|
return exist ? copyObjectIntoDirectory(from, to, {
|
57
66
|
preserve_account: preserve_account
|
58
67
|
}) : copyObjectWithRename(from, to, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","yt","Toaster","Link","COPY_OBJECT","showErrorInModal","HIDE_ERROR","prepareDestinationPath","preparePath","CancelHelper","executeBatchWithRetries","YTApiId","splitBatchResults","jsx","_jsx","requests","toaster","checkError","responses","_splitBatchResults","error","Promise","reject","resolve","copyObjectIntoDirectory","from","to","_ref","preserve_account","parts","split","name","length","v3","copy","source_path","destination_path","saveCancelToken","copyObjectWithRename","_ref2","copySingleObject","_ref3","lastChar","charAt","exists","path","concat","then","exist","copyObjects","items","copyingPath","_ref4","_items","_slicedToArray","startTransaction","timeout","id","copyRequests","_map","node","command","parameters","transaction_id","titleUnquoted","navigationCopy","saveCancelSourceCb","commitTransaction","err","abortTransaction","copyObject","objectPath","onSuccess","multipleMode","_ref5","dispatch","type","REQUEST","SUCCESS","add","autoHiding","title","content","url","children","code","codes","CANCELLED","FAILURE","action","abortRequests","removeAllRequests"],"sources":["copy-object.tsx"],"sourcesContent":["import React from 'react';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {Toaster} from '@gravity-ui/uikit';\nimport Link from '../../../../components/Link/Link';\n\nimport {COPY_OBJECT} from '../../../../constants/navigation/modals/copy-object';\nimport {showErrorInModal} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {HIDE_ERROR} from '../../../../constants/navigation/modals/path-editing-popup';\nimport {prepareDestinationPath, preparePath} from '../../../../utils/navigation';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport _ from 'lodash';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\nimport {BatchResultsItem} from '../../../../../shared/yt-types';\nimport {splitBatchResults} from '../../../../utils/utils';\nimport {Dispatch} from 'redux';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\nfunction checkError(responses: Array<BatchResultsItem>) {\n const {error} = splitBatchResults(responses);\n if (error) {\n return Promise.reject(error);\n }\n\n return Promise.resolve(responses);\n}\n\ninterface CopyOptions {\n preserve_account?: boolean;\n}\n\nfunction copyObjectIntoDirectory(from: string, to: string, {preserve_account}: CopyOptions) {\n const parts = from.split('/');\n const name = parts[parts.length - 1];\n return yt.v3.copy(\n {\n source_path: preparePath(from),\n destination_path: prepareDestinationPath(to, name),\n preserve_account,\n },\n requests.saveCancelToken,\n );\n}\n\nfunction copyObjectWithRename(from: string, to: string, {preserve_account}: CopyOptions) {\n return yt.v3.copy(\n {\n source_path: preparePath(from),\n destination_path: to,\n preserve_account,\n },\n requests.saveCancelToken,\n );\n}\n\nfunction copySingleObject(from: string, to: string, {preserve_account}: CopyOptions) {\n const lastChar = to.charAt(to.length - 1);\n\n if (lastChar === '/') {\n return copyObjectIntoDirectory(from, to, {preserve_account});\n }\n\n return yt.v3.exists({path: `${to}&`}, requests.saveCancelToken).then((exist: boolean) => {\n return exist\n ? copyObjectIntoDirectory(from, to, {preserve_account})\n : copyObjectWithRename(from, to, {preserve_account});\n });\n}\n\nfunction copyObjects(\n items: Array<{path: string; titleUnquoted: string}>,\n copyingPath: string,\n {preserve_account}: CopyOptions,\n) {\n if (items.length === 1) {\n const [{path}] = items;\n return copySingleObject(path, copyingPath, {preserve_account});\n }\n\n return yt.v3.startTransaction({timeout: 120000}).then((id: string) => {\n const copyRequests = _.map(items, (node) => {\n return {\n command: 'copy' as const,\n parameters: {\n transaction_id: id,\n source_path: preparePath(node.path),\n destination_path: prepareDestinationPath(copyingPath, node.titleUnquoted),\n preserve_account,\n },\n };\n });\n\n return executeBatchWithRetries(YTApiId.navigationCopy, copyRequests, {\n saveCancelSourceCb: requests.saveCancelToken,\n })\n .then(checkError)\n .then(() => yt.v3.commitTransaction({transaction_id: id}))\n .catch((err) =>\n yt.v3.abortTransaction({transaction_id: id}).then(() => Promise.reject(err)),\n );\n });\n}\n\nexport function copyObject(\n objectPath: string,\n copyingPath: string,\n onSuccess: () => void,\n multipleMode: boolean,\n items: Array<{path: string; titleUnquoted: string}>,\n {preserve_account}: CopyOptions,\n) {\n return (dispatch: Dispatch) => {\n dispatch({type: COPY_OBJECT.REQUEST});\n\n return Promise.resolve()\n .then(() =>\n multipleMode\n ? copyObjects(items, copyingPath, {preserve_account})\n : copySingleObject(objectPath, copyingPath, {preserve_account}),\n )\n .then(() => {\n dispatch({type: COPY_OBJECT.SUCCESS});\n\n if (typeof onSuccess === 'function') {\n onSuccess();\n }\n\n toaster.add({\n name: 'copy',\n autoHiding: 10000,\n type: 'success',\n title: multipleMode\n ? 'Objects were successfully copied'\n : 'Object was successfully copied',\n content: <Link url={`navigation?path=${copyingPath}`}>{copyingPath}</Link>,\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({\n type: COPY_OBJECT.CANCELLED,\n });\n } else {\n dispatch({type: COPY_OBJECT.FAILURE});\n\n const action = showErrorInModal(error);\n\n dispatch(action);\n }\n return Promise.reject(error);\n });\n };\n}\n\nexport function abortRequests() {\n return (dispatch: Dispatch) => {\n requests.removeAllRequests();\n\n dispatch({type: HIDE_ERROR});\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["React","yt","Toaster","Link","COPY_OBJECT","showErrorInModal","HIDE_ERROR","prepareDestinationPath","preparePath","CancelHelper","executeBatchWithRetries","YTApiId","splitBatchResults","jsx","_jsx","requests","toaster","checkError","responses","_splitBatchResults","error","Promise","reject","resolve","copyObjectIntoDirectory","from","to","_ref","preserve_account","parts","split","name","length","v3","copy","parameters","source_path","destination_path","cancellation","saveCancelToken","copyObjectWithRename","_ref2","copySingleObject","_ref3","lastChar","charAt","exists","path","concat","then","exist","copyObjects","items","copyingPath","_ref4","_items","_slicedToArray","startTransaction","timeout","id","copyRequests","_map","node","command","transaction_id","titleUnquoted","navigationCopy","saveCancelSourceCb","commitTransaction","err","abortTransaction","copyObject","objectPath","onSuccess","multipleMode","_ref5","dispatch","type","REQUEST","SUCCESS","add","autoHiding","title","content","url","children","code","codes","CANCELLED","FAILURE","action","abortRequests","removeAllRequests"],"sources":["copy-object.tsx"],"sourcesContent":["import React from 'react';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {Toaster} from '@gravity-ui/uikit';\nimport Link from '../../../../components/Link/Link';\n\nimport {COPY_OBJECT} from '../../../../constants/navigation/modals/copy-object';\nimport {showErrorInModal} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {HIDE_ERROR} from '../../../../constants/navigation/modals/path-editing-popup';\nimport {prepareDestinationPath, preparePath} from '../../../../utils/navigation';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport _ from 'lodash';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\nimport {BatchResultsItem} from '../../../../../shared/yt-types';\nimport {splitBatchResults} from '../../../../utils/utils';\nimport {Dispatch} from 'redux';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\nfunction checkError(responses: Array<BatchResultsItem>) {\n const {error} = splitBatchResults(responses);\n if (error) {\n return Promise.reject(error);\n }\n\n return Promise.resolve(responses);\n}\n\ninterface CopyOptions {\n preserve_account?: boolean;\n}\n\nfunction copyObjectIntoDirectory(from: string, to: string, {preserve_account}: CopyOptions) {\n const parts = from.split('/');\n const name = parts[parts.length - 1];\n return yt.v3.copy({\n parameters: {\n source_path: preparePath(from),\n destination_path: prepareDestinationPath(to, name),\n preserve_account,\n },\n cancellation: requests.saveCancelToken,\n });\n}\n\nfunction copyObjectWithRename(from: string, to: string, {preserve_account}: CopyOptions) {\n return yt.v3.copy({\n parameters: {\n source_path: preparePath(from),\n destination_path: to,\n preserve_account,\n },\n cancellation: requests.saveCancelToken,\n });\n}\n\nfunction copySingleObject(from: string, to: string, {preserve_account}: CopyOptions) {\n const lastChar = to.charAt(to.length - 1);\n\n if (lastChar === '/') {\n return copyObjectIntoDirectory(from, to, {preserve_account});\n }\n\n return yt.v3\n .exists({parameters: {path: `${to}&`}, cancellation: requests.saveCancelToken})\n .then((exist: boolean) => {\n return exist\n ? copyObjectIntoDirectory(from, to, {preserve_account})\n : copyObjectWithRename(from, to, {preserve_account});\n });\n}\n\nfunction copyObjects(\n items: Array<{path: string; titleUnquoted: string}>,\n copyingPath: string,\n {preserve_account}: CopyOptions,\n) {\n if (items.length === 1) {\n const [{path}] = items;\n return copySingleObject(path, copyingPath, {preserve_account});\n }\n\n return yt.v3.startTransaction({timeout: 120000}).then((id: string) => {\n const copyRequests = _.map(items, (node) => {\n return {\n command: 'copy' as const,\n parameters: {\n transaction_id: id,\n source_path: preparePath(node.path),\n destination_path: prepareDestinationPath(copyingPath, node.titleUnquoted),\n preserve_account,\n },\n };\n });\n\n return executeBatchWithRetries(YTApiId.navigationCopy, copyRequests, {\n saveCancelSourceCb: requests.saveCancelToken,\n })\n .then(checkError)\n .then(() => yt.v3.commitTransaction({transaction_id: id}))\n .catch((err) =>\n yt.v3.abortTransaction({transaction_id: id}).then(() => Promise.reject(err)),\n );\n });\n}\n\nexport function copyObject(\n objectPath: string,\n copyingPath: string,\n onSuccess: () => void,\n multipleMode: boolean,\n items: Array<{path: string; titleUnquoted: string}>,\n {preserve_account}: CopyOptions,\n) {\n return (dispatch: Dispatch) => {\n dispatch({type: COPY_OBJECT.REQUEST});\n\n return Promise.resolve()\n .then(() =>\n multipleMode\n ? copyObjects(items, copyingPath, {preserve_account})\n : copySingleObject(objectPath, copyingPath, {preserve_account}),\n )\n .then(() => {\n dispatch({type: COPY_OBJECT.SUCCESS});\n\n if (typeof onSuccess === 'function') {\n onSuccess();\n }\n\n toaster.add({\n name: 'copy',\n autoHiding: 10000,\n type: 'success',\n title: multipleMode\n ? 'Objects were successfully copied'\n : 'Object was successfully copied',\n content: <Link url={`navigation?path=${copyingPath}`}>{copyingPath}</Link>,\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({\n type: COPY_OBJECT.CANCELLED,\n });\n } else {\n dispatch({type: COPY_OBJECT.FAILURE});\n\n const action = showErrorInModal(error);\n\n dispatch(action);\n }\n return Promise.reject(error);\n });\n };\n}\n\nexport function abortRequests() {\n return (dispatch: Dispatch) => {\n requests.removeAllRequests();\n\n dispatch({type: HIDE_ERROR});\n };\n}\n"],"mappings":"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"}
|
@@ -18,10 +18,13 @@ export function createDirectory(_ref, onSuccess) {
|
|
18
18
|
type: CREATE_DIRECTORY.REQUEST
|
19
19
|
});
|
20
20
|
return yt.v3.create({
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
21
|
+
parameters: {
|
22
|
+
path: path,
|
23
|
+
recursive: recursive,
|
24
|
+
type: 'map_node'
|
25
|
+
},
|
26
|
+
cancellation: requests.saveCancelToken
|
27
|
+
}).then(function () {
|
25
28
|
dispatch({
|
26
29
|
type: CREATE_DIRECTORY.SUCCESS
|
27
30
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","yt","Toaster","Link","CREATE_DIRECTORY","CREATE_MESSAGE","hideError","showErrorInModal","HIDE_ERROR","CancelHelper","jsx","_jsx","requests","toaster","createDirectory","_ref","onSuccess","path","recursive","dispatch","type","REQUEST","v3","create","saveCancelToken","then","SUCCESS","add","name","autoHiding","title","content","url","concat","children","error","code","codes","CANCELLED","FAILURE","action","clearCreateDirectoryError","abortRequests","removeAllRequests"],"sources":["create-directory.tsx"],"sourcesContent":["import React from 'react';\nimport {ThunkAction} from 'redux-thunk';\n// @ts-expect-error\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {Dispatch} from 'redux';\n\nimport {Toaster} from '@gravity-ui/uikit';\nimport Link from '../../../../components/Link/Link';\n\nimport {\n CREATE_DIRECTORY,\n CREATE_MESSAGE,\n} from '../../../../constants/navigation/modals/create-directory';\nimport {\n hideError,\n showErrorInModal,\n} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {HIDE_ERROR} from '../../../../constants/navigation/modals/path-editing-popup';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport {RootState} from '../../../../store/reducers';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\nexport function createDirectory(\n {path, recursive}: {path: string; recursive?: boolean},\n onSuccess: () => void,\n) {\n return (dispatch: Dispatch) => {\n dispatch({type: CREATE_DIRECTORY.REQUEST});\n\n return yt.v3\n .create(\n {\n path: path,\n recursive,\n type: 'map_node',\n },\n requests.saveCancelToken,\n )\n .then(() => {\n dispatch({type: CREATE_DIRECTORY.SUCCESS});\n\n if (typeof onSuccess === 'function') {\n onSuccess();\n }\n\n toaster.add({\n name: CREATE_MESSAGE,\n autoHiding: 10000,\n type: 'success',\n title: CREATE_MESSAGE,\n content: <Link url={`navigation?path=${path}`}>{path}</Link>,\n });\n })\n .catch((error: any) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({\n type: CREATE_DIRECTORY.CANCELLED,\n });\n } else {\n dispatch({type: CREATE_DIRECTORY.FAILURE});\n\n const action = showErrorInModal(error);\n\n dispatch(action);\n }\n });\n };\n}\n\nexport function clearCreateDirectoryError(): ThunkAction<void, RootState, unknown, any> {\n return (dispatch: Dispatch) => {\n dispatch(hideError());\n };\n}\n\nexport function abortRequests() {\n return (dispatch: Dispatch) => {\n requests.removeAllRequests();\n\n dispatch({type: HIDE_ERROR});\n };\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB;AACA,OAAOC,EAAE,MAAM,qCAAqC;AAGpD,SAAQC,OAAO,QAAO,mBAAmB;AACzC,OAAOC,IAAI,MAAM,kCAAkC;AAEnD,SACIC,gBAAgB,EAChBC,cAAc,QACX,0DAA0D;AACjE,SACIC,SAAS,EACTC,gBAAgB,QACb,gEAAgE;AACvE,SAAQC,UAAU,QAAO,4DAA4D;AACrF,OAAOC,YAAY,MAAM,iCAAiC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG3D,IAAMC,QAAQ,GAAG,IAAIH,YAAY,CAAC,CAAC;AACnC,IAAMI,OAAO,GAAG,IAAIX,OAAO,CAAC,CAAC;AAE7B,OAAO,SAASY,eAAeA,CAAAC,IAAA,EAE3BC,SAAqB,EACvB;EAAA,IAFGC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;EAGhB,OAAO,UAACC,QAAkB,EAAK;IAC3BA,QAAQ,CAAC;MAACC,IAAI,EAAEhB,gBAAgB,CAACiB;IAAO,CAAC,CAAC;IAE1C,OAAOpB,EAAE,CAACqB,EAAE,CACPC,MAAM,
|
1
|
+
{"version":3,"names":["React","yt","Toaster","Link","CREATE_DIRECTORY","CREATE_MESSAGE","hideError","showErrorInModal","HIDE_ERROR","CancelHelper","jsx","_jsx","requests","toaster","createDirectory","_ref","onSuccess","path","recursive","dispatch","type","REQUEST","v3","create","parameters","cancellation","saveCancelToken","then","SUCCESS","add","name","autoHiding","title","content","url","concat","children","error","code","codes","CANCELLED","FAILURE","action","clearCreateDirectoryError","abortRequests","removeAllRequests"],"sources":["create-directory.tsx"],"sourcesContent":["import React from 'react';\nimport {ThunkAction} from 'redux-thunk';\n// @ts-expect-error\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {Dispatch} from 'redux';\n\nimport {Toaster} from '@gravity-ui/uikit';\nimport Link from '../../../../components/Link/Link';\n\nimport {\n CREATE_DIRECTORY,\n CREATE_MESSAGE,\n} from '../../../../constants/navigation/modals/create-directory';\nimport {\n hideError,\n showErrorInModal,\n} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {HIDE_ERROR} from '../../../../constants/navigation/modals/path-editing-popup';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport {RootState} from '../../../../store/reducers';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\nexport function createDirectory(\n {path, recursive}: {path: string; recursive?: boolean},\n onSuccess: () => void,\n) {\n return (dispatch: Dispatch) => {\n dispatch({type: CREATE_DIRECTORY.REQUEST});\n\n return yt.v3\n .create({\n parameters: {\n path: path,\n recursive,\n type: 'map_node',\n },\n cancellation: requests.saveCancelToken,\n })\n .then(() => {\n dispatch({type: CREATE_DIRECTORY.SUCCESS});\n\n if (typeof onSuccess === 'function') {\n onSuccess();\n }\n\n toaster.add({\n name: CREATE_MESSAGE,\n autoHiding: 10000,\n type: 'success',\n title: CREATE_MESSAGE,\n content: <Link url={`navigation?path=${path}`}>{path}</Link>,\n });\n })\n .catch((error: any) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({\n type: CREATE_DIRECTORY.CANCELLED,\n });\n } else {\n dispatch({type: CREATE_DIRECTORY.FAILURE});\n\n const action = showErrorInModal(error);\n\n dispatch(action);\n }\n });\n };\n}\n\nexport function clearCreateDirectoryError(): ThunkAction<void, RootState, unknown, any> {\n return (dispatch: Dispatch) => {\n dispatch(hideError());\n };\n}\n\nexport function abortRequests() {\n return (dispatch: Dispatch) => {\n requests.removeAllRequests();\n\n dispatch({type: HIDE_ERROR});\n };\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB;AACA,OAAOC,EAAE,MAAM,qCAAqC;AAGpD,SAAQC,OAAO,QAAO,mBAAmB;AACzC,OAAOC,IAAI,MAAM,kCAAkC;AAEnD,SACIC,gBAAgB,EAChBC,cAAc,QACX,0DAA0D;AACjE,SACIC,SAAS,EACTC,gBAAgB,QACb,gEAAgE;AACvE,SAAQC,UAAU,QAAO,4DAA4D;AACrF,OAAOC,YAAY,MAAM,iCAAiC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG3D,IAAMC,QAAQ,GAAG,IAAIH,YAAY,CAAC,CAAC;AACnC,IAAMI,OAAO,GAAG,IAAIX,OAAO,CAAC,CAAC;AAE7B,OAAO,SAASY,eAAeA,CAAAC,IAAA,EAE3BC,SAAqB,EACvB;EAAA,IAFGC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;EAGhB,OAAO,UAACC,QAAkB,EAAK;IAC3BA,QAAQ,CAAC;MAACC,IAAI,EAAEhB,gBAAgB,CAACiB;IAAO,CAAC,CAAC;IAE1C,OAAOpB,EAAE,CAACqB,EAAE,CACPC,MAAM,CAAC;MACJC,UAAU,EAAE;QACRP,IAAI,EAAEA,IAAI;QACVC,SAAS,EAATA,SAAS;QACTE,IAAI,EAAE;MACV,CAAC;MACDK,YAAY,EAAEb,QAAQ,CAACc;IAC3B,CAAC,CAAC,CACDC,IAAI,CAAC,YAAM;MACRR,QAAQ,CAAC;QAACC,IAAI,EAAEhB,gBAAgB,CAACwB;MAAO,CAAC,CAAC;MAE1C,IAAI,OAAOZ,SAAS,KAAK,UAAU,EAAE;QACjCA,SAAS,CAAC,CAAC;MACf;MAEAH,OAAO,CAACgB,GAAG,CAAC;QACRC,IAAI,EAAEzB,cAAc;QACpB0B,UAAU,EAAE,KAAK;QACjBX,IAAI,EAAE,SAAS;QACfY,KAAK,EAAE3B,cAAc;QACrB4B,OAAO,eAAEtB,IAAA,CAACR,IAAI;UAAC+B,GAAG,qBAAAC,MAAA,CAAqBlB,IAAI,CAAG;UAAAmB,QAAA,EAAEnB;QAAI,CAAO;MAC/D,CAAC,CAAC;IACN,CAAC,CAAC,SACI,CAAC,UAACoB,KAAU,EAAK;MACnB,IAAIA,KAAK,CAACC,IAAI,KAAKrC,EAAE,CAACsC,KAAK,CAACC,SAAS,EAAE;QACnCrB,QAAQ,CAAC;UACLC,IAAI,EAAEhB,gBAAgB,CAACoC;QAC3B,CAAC,CAAC;MACN,CAAC,MAAM;QACHrB,QAAQ,CAAC;UAACC,IAAI,EAAEhB,gBAAgB,CAACqC;QAAO,CAAC,CAAC;QAE1C,IAAMC,MAAM,GAAGnC,gBAAgB,CAAC8B,KAAK,CAAC;QAEtClB,QAAQ,CAACuB,MAAM,CAAC;MACpB;IACJ,CAAC,CAAC;EACV,CAAC;AACL;AAEA,OAAO,SAASC,yBAAyBA,CAAA,EAA+C;EACpF,OAAO,UAACxB,QAAkB,EAAK;IAC3BA,QAAQ,CAACb,SAAS,CAAC,CAAC,CAAC;EACzB,CAAC;AACL;AAEA,OAAO,SAASsC,aAAaA,CAAA,EAAG;EAC5B,OAAO,UAACzB,QAAkB,EAAK;IAC3BP,QAAQ,CAACiC,iBAAiB,CAAC,CAAC;IAE5B1B,QAAQ,CAAC;MAACC,IAAI,EAAEZ;IAAU,CAAC,CAAC;EAChC,CAAC;AACL"}
|