@topconsultnpm/sdkui-react-beta 6.6.38 → 6.6.39

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.
@@ -90,7 +90,7 @@ const TMSaveForm = ({ id, formMode = FormModes.Update, title, children, isModal,
90
90
  const warningsCount = validationItems.filter(o => o.ResultType == ResultTypes.WARNING).length;
91
91
  const errorsCount = validationItems.filter(o => o.ResultType == ResultTypes.ERROR).length;
92
92
  const renderSaveForm = () => {
93
- return (_jsxs(TMLayoutContainer, { direction: 'vertical', children: [_jsx(TMLayoutItem, { height: 'max-content', children: _jsxs(StyledToolbarForm, { children: [showBackButton && _jsx(TMButton, { btnStyle: 'toolbar', color: 'tertiary', caption: SDKUI_Localizator.Back, icon: _jsx(IconArrowLeft, {}), elementStyle: { marginRight: '10px' }, onClick: () => { doClose(); } }), _jsx(TMButton, { caption: SDKUI_Localizator.Save, icon: _jsx(IconSave, {}), keyGesture: "alt+s", backgroundColor: errorsCount > 0 ? TMColors.error : isModified ? TMColors.success : TMColors.disabled, onClick: doSaveAsync, color: "success", btnStyle: "toolbar", disabled: isModified && errorsCount <= 0 ? false : true }), hasNavigation && _jsx(TMButton, { caption: SDKUI_Localizator.Previous, icon: _jsx(IconArrowUp, {}), btnStyle: "toolbar", disabled: !canPrev || isModified || formMode == FormModes.Create || formMode == FormModes.Duplicate, onClick: doPrev }), hasNavigation && _jsx(TMButton, { caption: SDKUI_Localizator.Next, icon: _jsx(IconArrowDown, {}), btnStyle: "toolbar", disabled: !canNext || isModified || formMode == FormModes.Create || formMode == FormModes.Duplicate, onClick: doNext }), _jsx(TMButton, { caption: SDKUI_Localizator.Undo, icon: _jsx(IconUndo, {}), keyGesture: "alt+z", color: "tertiary", btnStyle: "toolbar", disabled: isModified ? false : true, onClick: onUndo }), customToolbarElements, warningsCount > 0 &&
93
+ return (_jsxs(TMLayoutContainer, { direction: 'vertical', children: [_jsx(TMLayoutItem, { height: 'max-content', children: _jsxs(StyledToolbarForm, { children: [showBackButton && _jsx(TMButton, { btnStyle: 'toolbar', color: 'tertiary', caption: SDKUI_Localizator.Back, icon: _jsx(IconArrowLeft, {}), elementStyle: { marginRight: '10px' }, onClick: () => { doClose(); } }), _jsx(TMButton, { caption: SDKUI_Localizator.Save, icon: _jsx(IconSave, {}), keyGesture: "alt+s", backgroundColor: errorsCount > 0 ? TMColors.error : isModified ? TMColors.success : TMColors.disabled, onClick: doSaveAsync, color: "success", btnStyle: "toolbar", disabled: !(isModified && errorsCount <= 0) }), hasNavigation && _jsx(TMButton, { caption: SDKUI_Localizator.Previous, icon: _jsx(IconArrowUp, {}), btnStyle: "toolbar", disabled: !canPrev || isModified || formMode == FormModes.Create || formMode == FormModes.Duplicate, onClick: doPrev }), hasNavigation && _jsx(TMButton, { caption: SDKUI_Localizator.Next, icon: _jsx(IconArrowDown, {}), btnStyle: "toolbar", disabled: !canNext || isModified || formMode == FormModes.Create || formMode == FormModes.Duplicate, onClick: doNext }), _jsx(TMButton, { caption: SDKUI_Localizator.Undo, icon: _jsx(IconUndo, {}), keyGesture: "alt+z", color: "tertiary", btnStyle: "toolbar", disabled: isModified ? false : true, onClick: onUndo }), customToolbarElements, warningsCount > 0 &&
94
94
  _jsx(TMLayoutItem, { width: 'fit-content', height: '90%', children: _jsxs(StyledResultTypeContainer, { style: { marginLeft: '10px' }, onClick: () => setShowErrorGrid(!showErrorGrid), "$resultType": ResultTypes.WARNING, children: [" ", _jsx(IconWarning, { fontSize: 16 }), " ", _jsx("span", { children: warningsCount })] }) }), errorsCount > 0 &&
95
95
  _jsx(TMLayoutItem, { width: 'fit-content', height: '90%', children: _jsxs(StyledResultTypeContainer, { style: { marginLeft: warningsCount <= 0 ? '10px' : '0' }, onClick: () => setShowErrorGrid(!showErrorGrid), "$resultType": ResultTypes.ERROR, children: [" ", _jsx(IconCloseCircle, { fontSize: 16 }), " ", _jsx("span", { children: errorsCount })] }) }), onShowList &&
96
96
  _jsx("div", { style: { right: '10px', position: 'absolute' }, children: !isMobile && _jsx(TMButton, { caption: showList ? SDKUI_Localizator.List_Hide : SDKUI_Localizator.List_Show, icon: showList ? _jsx(IconHide, {}) : _jsx(IconShow, {}), keyGesture: "alt+h", onClick: () => { setShowList(!showList); onShowList?.(!showList); }, btnStyle: 'toolbar' }) }), (formMode == FormModes.Create || formMode == FormModes.Duplicate) &&
@@ -1,6 +1,11 @@
1
1
  import { FormModes } from "../ts";
2
2
  import { JobTypes, ObjectClasses, ValidationItem } from "@topconsultnpm/sdk-ts-beta";
3
- export declare function useSaveForm<T>(objClass: ObjectClasses, formMode: FormModes, id: number | undefined, objType?: JobTypes, validator?: (d: T) => Promise<ValidationItem[] | undefined>, onSaved?: (newDescriptor: T) => void, onStatusChanged?: (isModified: boolean, isValid: boolean) => void, customizeData?: (d: T) => T): {
3
+ export declare class SaveFormOptions {
4
+ objClass: ObjectClasses;
5
+ objType: JobTypes;
6
+ loadDataAfterSave: boolean;
7
+ }
8
+ export declare function useSaveForm<T>(formMode: FormModes, id: number | undefined, sfo: SaveFormOptions, validator?: (d: T) => Promise<ValidationItem[] | undefined>, onSaved?: (newDescriptor: T) => void, onStatusChanged?: (isModified: boolean, isValid: boolean) => void, customizeData?: (d: T) => T): {
4
9
  formData: T | undefined;
5
10
  setFormData: import("react").Dispatch<import("react").SetStateAction<T | undefined>>;
6
11
  formDataOrig: T | undefined;
@@ -4,7 +4,13 @@ import { TMExceptionBoxManager, TMSpinner } from "../components";
4
4
  import { DataListDescriptor, DiskDescriptor, JobEngine, JobTypes, ObjectClasses, ProcessEngine, ResultTypes, SavedQueryEngine, SDK_Globals, TaskDescriptor } from "@topconsultnpm/sdk-ts-beta";
5
5
  import { PlatformObjectService } from "../services";
6
6
  import { SDKUI_Localizator, calcIsModified } from "../helper";
7
- export function useSaveForm(objClass, formMode, id, objType = JobTypes.None, validator, onSaved, onStatusChanged, customizeData) {
7
+ export class SaveFormOptions {
8
+ constructor() {
9
+ this.objType = JobTypes.None;
10
+ this.loadDataAfterSave = true;
11
+ }
12
+ }
13
+ export function useSaveForm(formMode, id, sfo, validator, onSaved, onStatusChanged, customizeData) {
8
14
  const [formData, setFormData] = useState();
9
15
  const [formDataOrig, setFormDataOrig] = useState();
10
16
  const [exception, setException] = useState();
@@ -12,20 +18,20 @@ export function useSaveForm(objClass, formMode, id, objType = JobTypes.None, val
12
18
  const getDataAsync = async (id, fm) => {
13
19
  switch (fm) {
14
20
  case FormModes.Create:
15
- switch (objClass) {
21
+ switch (sfo.objClass) {
16
22
  case ObjectClasses.Disk: return new DiskDescriptor();
17
23
  case ObjectClasses.DataList: return new DataListDescriptor();
18
24
  case ObjectClasses.Process: return ProcessEngine.NewProcessDescriptor();
19
- case ObjectClasses.Job: return JobEngine.NewJobDescriptor(objType);
25
+ case ObjectClasses.Job: return JobEngine.NewJobDescriptor(sfo.objType);
20
26
  case ObjectClasses.SavedQuery: return SavedQueryEngine.NewSavedQueryDescriptor();
21
27
  case ObjectClasses.Task: return new TaskDescriptor();
22
28
  default: return undefined;
23
29
  }
24
30
  default:
25
- switch (objClass) {
31
+ switch (sfo.objClass) {
26
32
  case ObjectClasses.SavedQuery: return await SDK_Globals.tmSession?.NewSavedQueryEngine().RetrieveAsync(id);
27
33
  case ObjectClasses.Task: return await SDK_Globals.tmSession?.NewTaskEngine().RetrieveAsync(id);
28
- default: return await PlatformObjectService.retrieveAdminAsync(objClass, objType, id);
34
+ default: return await PlatformObjectService.retrieveAdminAsync(sfo.objClass, sfo.objType, id);
29
35
  }
30
36
  }
31
37
  };
@@ -53,15 +59,15 @@ export function useSaveForm(objClass, formMode, id, objType = JobTypes.None, val
53
59
  };
54
60
  const setDataAsync = async (fm, d) => {
55
61
  switch (fm) {
56
- case FormModes.Update: return await PlatformObjectService.updateAsync(objClass, objType, d);
57
- default: return await PlatformObjectService.createAsync(objClass, objType, d);
62
+ case FormModes.Update: return await PlatformObjectService.updateAsync(sfo.objClass, sfo.objType, d);
63
+ default: return await PlatformObjectService.createAsync(sfo.objClass, sfo.objType, d);
58
64
  }
59
65
  };
60
66
  const saveDataAsync = async () => {
61
67
  if (!formData)
62
68
  return;
63
69
  let newId = await setDataAsync?.(formMode, formData);
64
- let newData = await loadDataAsync(newId, FormModes.Update);
70
+ let newData = sfo.loadDataAfterSave ? await loadDataAsync(newId, FormModes.Update) : formData;
65
71
  onSaved?.(newData);
66
72
  };
67
73
  useEffect(() => { id && loadDataAsync(id, formMode); }, [id, formMode]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topconsultnpm/sdkui-react-beta",
3
- "version": "6.6.38",
3
+ "version": "6.6.39",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",