@zohodesk/library-platform 1.1.3-exp.1 → 1.1.3-exp.2
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/README.md +3 -3
- package/es/bc/zlist/Constants.js +3 -1
- package/es/bc/zrecord/Constants.js +3 -1
- package/es/cc/table-connected/Properties.js +16 -0
- package/es/cc/table-list/Constants.js +4 -0
- package/es/cc/table-list/Properties.js +16 -0
- package/es/cc/table-list/row/Properties.js +35 -0
- package/es/index.js +4 -3
- package/es/library/dot/components/table-list/frameworks/hooks/useDropIndicator.js +8 -0
- package/es/library/dot/components/table-list/frameworks/hooks/useRowData.js +8 -0
- package/es/library/dot/components/table-list/frameworks/hooks/useTableRowReorder.js +93 -0
- package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +67 -6
- package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +145 -2
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +22 -4
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +22 -9
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/MassAction.js +19 -2
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +55 -10
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowSelection.js +10 -0
- package/es/library/dot/components/table-list/frameworks/utils/reOrder.js +76 -0
- package/es/platform/client-actions/translators/client-actions-translator/index.js +5 -2
- package/es/platform/client-actions/translators/condition-resolver/field-evaluators/GetResolvedContextFieldValue.js +3 -2
- package/es/platform/client-actions/translators/context-resolver/index.js +1 -4
- package/es/platform/components/form-connected/frameworks/FormConnectedFactory.js +33 -0
- package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormConnectedView.js +1 -1
- package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormSdkFactory.js +3 -14
- package/es/platform/components/table-connected/adapters/controllers/ColumnChooserOpenedController.js +28 -0
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ColumnChooserUpdateController.js +5 -5
- package/es/platform/components/table-connected/adapters/controllers/ReOrderFinishController.js +21 -0
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeByMouseController.js +1 -1
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeEndController.js +1 -1
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeFinishController.js +1 -1
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ResizeStartController.js +2 -2
- package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/ScrollController.js +1 -1
- package/es/{desk-frameworks/table-connected/frameworks → platform/components/table-connected/adapters}/resources/SmartTableResource.js +35 -17
- package/es/{desk-frameworks → platform/components}/table-connected/frameworks/EventHandlersFactory.js +20 -17
- package/es/platform/components/table-connected/frameworks/ListSdkFactory.js +57 -0
- package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +76 -0
- package/es/{desk-frameworks → platform/components}/table-connected/frameworks/TableConnectedView.js +5 -3
- package/es/platform/data-source/http-template/reOrderRecord.js +44 -0
- package/es/platform/data-source/index.js +2 -0
- package/es/platform/sdk/{frameworks → application/interfaces/gateways}/AbstractResource.js +1 -4
- package/es/platform/sdk/domain/entities/ResourceManager.js +1 -1
- package/es/platform/sdk/frameworks/Sdk.js +1 -1
- package/es/platform/zlist/adapters/controllers/ReOrderController.js +25 -0
- package/es/platform/zlist/adapters/controllers/ReOrderFailedController.js +26 -0
- package/es/platform/zlist/adapters/gateways/Repository.js +7 -0
- package/es/platform/zlist/adapters/gateways/Service.js +8 -0
- package/es/platform/zlist/adapters/presenters/TableTranslator.js +5 -1
- package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +9 -10
- package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +1 -1
- package/es/platform/zlist/applications/interfaces/input/ReOrderRecordUseCaseInput.js +1 -0
- package/es/platform/zlist/applications/usecases/ReOrderFailedUseCase.js +22 -0
- package/es/platform/zlist/applications/usecases/ReOrderUseCase.js +25 -0
- package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +24 -3
- package/es/platform/zlist/domain/entities/List.js +66 -2
- package/es/platform/zlist/frameworks/EventHandlersFactory.js +7 -3
- package/es/platform/zlist/frameworks/ZListBehaviourFactory.js +2 -1
- package/es/platform/zrecord/domain/entities/GetReOrderRecordsStrategy.js +40 -0
- package/es/platform/zrecord/domain/entities/RecordsManager.js +3 -1
- package/package.json +6 -4
- package/es/desk-frameworks/form-connected/frameworks/FormConnectedFactory.js +0 -33
- package/es/desk-frameworks/table-connected/adapters/controllers/ColumnChooserOpenedController.js +0 -36
- package/es/desk-frameworks/table-connected/frameworks/ListSdkFactory.js +0 -57
- package/es/desk-frameworks/table-connected/frameworks/TableConnectedFactory.js +0 -64
- /package/es/{desk-frameworks → platform/components}/form-connected/frameworks/EventHandlersFactory.js +0 -0
- /package/es/{desk-frameworks → platform/components}/form-connected/frameworks/FormConnected.js +0 -0
- /package/es/{desk-frameworks → platform/components}/index.js +0 -0
- /package/es/{desk-frameworks → platform/components}/table-connected/adapters/controllers/AbstractController.js +0 -0
- /package/es/{desk-frameworks/table-connected/frameworks/resources → platform/components/table-connected/application/interfaces}/ISmartTableResource.js +0 -0
- /package/es/{desk-frameworks → platform/components}/table-connected/frameworks/TableConnected.js +0 -0
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
import { AbstractResource } from "../../../../
|
|
2
|
-
import ZListRepository from "../../../../
|
|
3
|
-
import ZListSortBy from "../../../../
|
|
4
|
-
import ZListPresenters from "../../../../
|
|
5
|
-
import ZRecordRepository from "../../../../
|
|
6
|
-
import ZRecordPresenter from "../../../../
|
|
7
|
-
import ListSelectRepository from "
|
|
8
|
-
import ListSelectPresenter from "
|
|
9
|
-
import ListSelectSelectUsecase from "
|
|
10
|
-
import ListSelectDeselectUsecase from "
|
|
11
|
-
import GetMultipleRecordUseCase from "../../../../
|
|
12
|
-
import GetSingleRecordUseCase from "../../../../
|
|
13
|
-
import DeleteSingleRecordUseCase from "../../../../
|
|
14
|
-
import DeleteMultipleRecordUseCase from "../../../../
|
|
15
|
-
import RecordUpdateUseCase from "../../../../
|
|
16
|
-
import UpdateMultipleRecordUseCase from "../../../../
|
|
17
|
-
import GetContextUseCase from "../../../../
|
|
1
|
+
import { AbstractResource } from "../../../../sdk/application/interfaces/gateways/AbstractResource";
|
|
2
|
+
import ZListRepository from "../../../../zlist/adapters/gateways/Repository";
|
|
3
|
+
import ZListSortBy from "../../../../zlist/adapters/gateways/SortBy";
|
|
4
|
+
import ZListPresenters from "../../../../zlist/adapters/presenters/Presenters";
|
|
5
|
+
import ZRecordRepository from "../../../../zrecord/adapters/gateways/Repository";
|
|
6
|
+
import ZRecordPresenter from "../../../../zrecord/adapters/presenters/Presenter";
|
|
7
|
+
import ListSelectRepository from "../../../../../library/behaviours/list-selection/adapters/gateways/Repository";
|
|
8
|
+
import ListSelectPresenter from "../../../../../library/behaviours/list-selection/adapters/presenters/Presenter";
|
|
9
|
+
import ListSelectSelectUsecase from "../../../../../library/behaviours/list-selection/applications/usecases/Select";
|
|
10
|
+
import ListSelectDeselectUsecase from "../../../../../library/behaviours/list-selection/applications/usecases/Deselect";
|
|
11
|
+
import GetMultipleRecordUseCase from "../../../../zrecord/applications/usecases/GetMultipleRecordUseCase";
|
|
12
|
+
import GetSingleRecordUseCase from "../../../../zrecord/applications/usecases/GetSingleRecordUseCase";
|
|
13
|
+
import DeleteSingleRecordUseCase from "../../../../zlist/applications/usecases/DeleteSingleRecordUseCase";
|
|
14
|
+
import DeleteMultipleRecordUseCase from "../../../../zlist/applications/usecases/DeleteMultipleRecordUseCase";
|
|
15
|
+
import RecordUpdateUseCase from "../../../../zlist/applications/usecases/RecordUpdateUseCase";
|
|
16
|
+
import UpdateMultipleRecordUseCase from "../../../../zlist/applications/usecases/UpdateMultipleRecordUseCase";
|
|
17
|
+
import GetContextUseCase from "../../../../zlist/applications/usecases/GetContextUseCase";
|
|
18
|
+
import ReOrderUseCase from "../../../../zlist/applications/usecases/ReOrderUseCase";
|
|
18
19
|
export class SmartTableResource extends AbstractResource {
|
|
20
|
+
initialize() {}
|
|
21
|
+
|
|
22
|
+
destroy() {}
|
|
23
|
+
|
|
19
24
|
getRecordDependencies() {
|
|
20
25
|
const dependencies = {
|
|
21
26
|
repository: new ZRecordRepository(),
|
|
@@ -230,4 +235,17 @@ export class SmartTableResource extends AbstractResource {
|
|
|
230
235
|
});
|
|
231
236
|
}
|
|
232
237
|
|
|
238
|
+
reOrderRecord(fromIndex, toIndex) {
|
|
239
|
+
const {
|
|
240
|
+
dispatch
|
|
241
|
+
} = this.dependencies;
|
|
242
|
+
const dependencies = this.getListDependencies();
|
|
243
|
+
const usecase = this.createUseCase(dependencies, ReOrderUseCase);
|
|
244
|
+
usecase.execute({
|
|
245
|
+
newIndex: toIndex,
|
|
246
|
+
oldIndex: fromIndex,
|
|
247
|
+
dispatch
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
|
|
233
251
|
}
|
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
import { LIST_SELECTION_RECORDS_DESELECTED, LIST_SELECTION_RECORDS_SELECTED, LIST_SELECTION_SELECTION_LIMIT_EXCEEDED } from "
|
|
2
|
-
import { RESIZE_FINISHED } from "
|
|
3
|
-
import { ZLIST_SORT } from "
|
|
4
|
-
import { COLUMN_CHOOSER_BEHAVIOUR_UPDATED } from "
|
|
5
|
-
import { COLUMN_CHOOSER_OPEN_REQUESTED } from "
|
|
1
|
+
import { LIST_SELECTION_RECORDS_DESELECTED, LIST_SELECTION_RECORDS_SELECTED, LIST_SELECTION_SELECTION_LIMIT_EXCEEDED } from "../../../../bc/list-selection/Constants";
|
|
2
|
+
import { RESIZE_FINISHED } from "../../../../bc/table-column-resizer/Constants";
|
|
3
|
+
import { ZLIST_SORT } from "../../../../bc/zlist/Constants";
|
|
4
|
+
import { COLUMN_CHOOSER_BEHAVIOUR_UPDATED } from "../../../../bc/column-chooser/Constants";
|
|
5
|
+
import { COLUMN_CHOOSER_OPEN_REQUESTED } from "../../../../cc/table-column-chooser/Constants";
|
|
6
6
|
import ListSdkFactory from "./ListSdkFactory";
|
|
7
|
-
import { SmartTableConstants } from "
|
|
8
|
-
import TableListEventConstants from "
|
|
7
|
+
import { SmartTableConstants } from "../../../../cc/table-connected";
|
|
8
|
+
import TableListEventConstants from "../../../../cc/table-list/Constants";
|
|
9
9
|
import ResizeStartController from "../adapters/controllers/ResizeStartController";
|
|
10
10
|
import ResizeByMouseController from "../adapters/controllers/ResizeByMouseController";
|
|
11
11
|
import ResizeEndController from "../adapters/controllers/ResizeEndController";
|
|
12
12
|
import { ResizeFinishController } from "../adapters/controllers/ResizeFinishController";
|
|
13
|
+
import { ReOrderFinishController } from "../adapters/controllers/ReOrderFinishController";
|
|
13
14
|
import ScrollController from "../adapters/controllers/ScrollController";
|
|
14
15
|
import ColumnChooserUpdateController from "../adapters/controllers/ColumnChooserUpdateController";
|
|
15
16
|
import ColumnChooserOpenedController from "../adapters/controllers/ColumnChooserOpenedController";
|
|
16
|
-
import {
|
|
17
|
-
import { sdk } from "../../../platform/sdk/frameworks/Sdk";
|
|
18
|
-
window.sdkRegistry = sdkRegistry;
|
|
19
|
-
window.sdk = sdk;
|
|
17
|
+
import { platformSDK } from "../../../sdk/frameworks/Sdk";
|
|
20
18
|
const {
|
|
21
19
|
TABLE_LIST_RESIZE_START_REQUESTED,
|
|
22
20
|
TABLE_LIST_RESIZE_MOVE_REQUESTED,
|
|
23
21
|
TABLE_LIST_RESIZE_END_REQUESTED,
|
|
24
|
-
TABLE_LIST_SCROLLED
|
|
22
|
+
TABLE_LIST_SCROLLED,
|
|
23
|
+
TABLE_LIST_ROW_DRAG_END
|
|
25
24
|
} = TableListEventConstants;
|
|
26
25
|
|
|
27
26
|
function createHandlerWithSdk(handler) {
|
|
@@ -31,7 +30,7 @@ function createHandlerWithSdk(handler) {
|
|
|
31
30
|
} = input;
|
|
32
31
|
const instanceName = state.properties.instanceName;
|
|
33
32
|
handler({ ...input,
|
|
34
|
-
|
|
33
|
+
platformSDK
|
|
35
34
|
}, ListSdkFactory.create({
|
|
36
35
|
instanceName
|
|
37
36
|
}));
|
|
@@ -39,12 +38,15 @@ function createHandlerWithSdk(handler) {
|
|
|
39
38
|
}
|
|
40
39
|
|
|
41
40
|
export default class EventHandlersFactory {
|
|
42
|
-
static
|
|
43
|
-
|
|
41
|
+
static getSdkWrappedEventHandler(eventHandlers) {
|
|
42
|
+
return Object.fromEntries(Object.keys(eventHandlers).map(eventName => {
|
|
44
43
|
const handler = createHandlerWithSdk(eventHandlers[eventName]);
|
|
45
44
|
return [eventName, handler];
|
|
46
45
|
}));
|
|
47
|
-
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
static create(eventHandlers) {
|
|
49
|
+
return { ...EventHandlersFactory.getSdkWrappedEventHandler(eventHandlers),
|
|
48
50
|
NAVIGATION: NavigationHandler,
|
|
49
51
|
[RESIZE_FINISHED]: new ResizeFinishController().handle,
|
|
50
52
|
[TABLE_LIST_RESIZE_START_REQUESTED]: new ResizeStartController().handle,
|
|
@@ -92,7 +94,8 @@ export default class EventHandlersFactory {
|
|
|
92
94
|
type: SmartTableConstants.Events.SELECTION_LIMIT_EXCEEDED,
|
|
93
95
|
payload: action.payload
|
|
94
96
|
});
|
|
95
|
-
}
|
|
97
|
+
},
|
|
98
|
+
[TABLE_LIST_ROW_DRAG_END]: new ReOrderFinishController().handle
|
|
96
99
|
};
|
|
97
100
|
}
|
|
98
101
|
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import ResourceNamesEnum from "../../../../bc/sdk/ResourceNamesEnum";
|
|
2
|
+
import { platformSDK } from "../../../sdk/frameworks/Sdk";
|
|
3
|
+
export default class ListSdkFactory {
|
|
4
|
+
static getRecordSdks(smartTable) {
|
|
5
|
+
return {
|
|
6
|
+
getRecords: () => smartTable.getRecords(),
|
|
7
|
+
getRecord: recordId => smartTable.getRecord(recordId),
|
|
8
|
+
getContext: variableName => smartTable.getContext(variableName),
|
|
9
|
+
deleteRecord: recordId => smartTable.deleteRecord(recordId),
|
|
10
|
+
deleteRecords: function (recordIds) {
|
|
11
|
+
let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
12
|
+
return smartTable.deleteRecords(recordIds, shouldFetch);
|
|
13
|
+
},
|
|
14
|
+
updateRecord: (recordId, record) => smartTable.updateRecord(recordId, record),
|
|
15
|
+
updateRecords: function (recordsMap) {
|
|
16
|
+
let shouldFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
17
|
+
return smartTable.updateRecords(recordsMap, shouldFetch);
|
|
18
|
+
},
|
|
19
|
+
reOrderRecord: (fromIndex, toIndex) => smartTable.reOrderRecord(fromIndex, toIndex)
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
static getSelectionSdks(smartTable) {
|
|
24
|
+
return {
|
|
25
|
+
selectRecords: ids => smartTable.selectRecords(ids),
|
|
26
|
+
deselectRecords: ids => smartTable.deselectRecords(ids),
|
|
27
|
+
selectAllRecords: () => smartTable.selectAllRecords(),
|
|
28
|
+
deselectAllRecords: () => smartTable.deselectAllRecords()
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static create(_ref) {
|
|
33
|
+
let {
|
|
34
|
+
instanceName
|
|
35
|
+
} = _ref;
|
|
36
|
+
const smartTable = platformSDK[ResourceNamesEnum.SMART_TABLE](instanceName);
|
|
37
|
+
const recordSdks = ListSdkFactory.getRecordSdks(smartTable);
|
|
38
|
+
const selectionSdks = ListSdkFactory.getSelectionSdks(smartTable);
|
|
39
|
+
return {
|
|
40
|
+
zlist: {
|
|
41
|
+
getRecords: recordSdks.getRecords,
|
|
42
|
+
getRecord: recordSdks.getRecord,
|
|
43
|
+
getContext: recordSdks.getContext,
|
|
44
|
+
deleteRecord: recordSdks.deleteRecord,
|
|
45
|
+
deleteRecords: recordSdks.deleteRecords,
|
|
46
|
+
updateRecord: recordSdks.updateRecord,
|
|
47
|
+
updateRecords: recordSdks.updateRecords,
|
|
48
|
+
selectRecords: selectionSdks.selectRecords,
|
|
49
|
+
deselectRecords: selectionSdks.deselectRecords,
|
|
50
|
+
selectAllRecords: selectionSdks.selectAllRecords,
|
|
51
|
+
deselectAllRecords: selectionSdks.deselectAllRecords,
|
|
52
|
+
reOrderRecord: recordSdks.reOrderRecord
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import Properties from "../../../../cc/table-connected/Properties";
|
|
2
|
+
import { createCustomComponent } from "../../../../library/custom-component";
|
|
3
|
+
import ZFieldBehaviourFactory from "../../../zfield/frameworks/ZFieldBehaviourFactory";
|
|
4
|
+
import ZHttpBehaviourFactory from "../../../zhttp/frameworks/ZHttpBehaviourFactory";
|
|
5
|
+
import TableTranslator from "../../../zlist/adapters/presenters/TableTranslator";
|
|
6
|
+
import ZListBehaviourFactory from "../../../zlist/frameworks/ZListBehaviourFactory";
|
|
7
|
+
import RecordBehaviourFactory from "../../../zrecord/frameworks/RecordBehaviourFactory";
|
|
8
|
+
import EventHandlersFactory from "./EventHandlersFactory";
|
|
9
|
+
import TableConnectedView from "./TableConnectedView";
|
|
10
|
+
import defaultDataSource from "../../../data-source";
|
|
11
|
+
import DataSourceBehaviourFactory from "../../../zdata-source/frameworks/DataBrokerBehaviourFactory";
|
|
12
|
+
import ClientActionsBehaviourFactory from "../../../client-actions/behaviour/zclient-actions/frameworks/ClientActionsBehaviourFactory";
|
|
13
|
+
import LocalStorageBehaviourFactory from "../../../../library/behaviours/local-storage/frameworks/LocalStorageBehaviourFactory";
|
|
14
|
+
import TableColumnResizerBehaviorFactory from "../../../../library/behaviours/table-column-resizer/frameworks/TableColumnResizerBehaviorFactory";
|
|
15
|
+
import ListItemSelectionBehaviourFactory from "../../../../library/behaviours/list-selection/frameworks/ListItemSelectionBehaviourFactory";
|
|
16
|
+
import ColumnChooserBehaviourFactory from "../../../column-chooser/frameworks/ColumnChooserBehaviourFactory";
|
|
17
|
+
import SdkBehaviourFactory from "../../../sdk-behaviour/frameworks/SdkBehaviourFactory";
|
|
18
|
+
import ResourceNamesEnum from "../../../../bc/sdk/ResourceNamesEnum";
|
|
19
|
+
import { sdkRegistry } from "../../../sdk/frameworks/SdkRegistry";
|
|
20
|
+
import { SmartTableResource } from "../adapters/resources/SmartTableResource";
|
|
21
|
+
sdkRegistry.registerResource({
|
|
22
|
+
resourceName: ResourceNamesEnum.SMART_TABLE,
|
|
23
|
+
resource: SmartTableResource
|
|
24
|
+
});
|
|
25
|
+
import KeyboardControlBehaviourFactory from "../../../../library/behaviours/keyboard-controls/frameworks/KeyboardControlBehaviourFactory";
|
|
26
|
+
|
|
27
|
+
function combineDataSourceWithDefault(dataSource) {
|
|
28
|
+
return { ...defaultDataSource,
|
|
29
|
+
...dataSource,
|
|
30
|
+
httpTemplates: { ...defaultDataSource.httpTemplates,
|
|
31
|
+
...(dataSource === null || dataSource === void 0 ? void 0 : dataSource.httpTemplates)
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export default class TableConnectedFactory {
|
|
37
|
+
static create(_ref) {
|
|
38
|
+
let {
|
|
39
|
+
name,
|
|
40
|
+
dataBroker,
|
|
41
|
+
dataSource,
|
|
42
|
+
eventHandlers = {},
|
|
43
|
+
View = TableConnectedView
|
|
44
|
+
} = _ref;
|
|
45
|
+
|
|
46
|
+
if (dataBroker) {
|
|
47
|
+
console.warn('Desk Platform Warning: dataBroker is deprecated, use dataSource instead');
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const _dataSource = combineDataSourceWithDefault(dataBroker ? dataBroker : dataSource);
|
|
51
|
+
|
|
52
|
+
return createCustomComponent({
|
|
53
|
+
name: name,
|
|
54
|
+
View: View,
|
|
55
|
+
properties: Properties,
|
|
56
|
+
eventHandlers: EventHandlersFactory.create(eventHandlers),
|
|
57
|
+
transformState: TableTranslator.transformState,
|
|
58
|
+
behaviours: TableConnectedFactory.getBehaviours(_dataSource)
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static getBehaviours(_dataSource) {
|
|
63
|
+
return [SdkBehaviourFactory.create([ResourceNamesEnum.SMART_TABLE]), TableColumnResizerBehaviorFactory.create(), KeyboardControlBehaviourFactory.create(), LocalStorageBehaviourFactory.create(), ZHttpBehaviourFactory.create(), DataSourceBehaviourFactory.create(), ...TableConnectedFactory.getPlatformBehaviours(_dataSource), ColumnChooserBehaviourFactory.create(), ListItemSelectionBehaviourFactory.create()];
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static getPlatformBehaviours(_dataSource) {
|
|
67
|
+
return [RecordBehaviourFactory.create(_dataSource.httpTemplates), ClientActionsBehaviourFactory.create({
|
|
68
|
+
getClientActions: _dataSource.httpTemplates.getClientActions
|
|
69
|
+
}), ZFieldBehaviourFactory.create({
|
|
70
|
+
availableFields: _dataSource.httpTemplates.getAvailableFields,
|
|
71
|
+
updateSelectedFields: _dataSource.httpTemplates.updateSelectedFields,
|
|
72
|
+
selectedFields: _dataSource.httpTemplates.getSelectedFields
|
|
73
|
+
}), ZListBehaviourFactory.create()];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
}
|
package/es/{desk-frameworks → platform/components}/table-connected/frameworks/TableConnectedView.js
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import TableList from "
|
|
3
|
+
import TableList from "../../../../library/dot/components/table-list/frameworks/ui/TableList";
|
|
4
4
|
|
|
5
5
|
function View(_ref, ref) {
|
|
6
6
|
let {
|
|
@@ -15,7 +15,8 @@ function View(_ref, ref) {
|
|
|
15
15
|
selection,
|
|
16
16
|
emptyStateUiType,
|
|
17
17
|
focussedRow,
|
|
18
|
-
keyboardControlsConfig
|
|
18
|
+
keyboardControlsConfig,
|
|
19
|
+
reOrderConfig
|
|
19
20
|
} = state.viewModel;
|
|
20
21
|
const {
|
|
21
22
|
resizerState
|
|
@@ -26,8 +27,9 @@ function View(_ref, ref) {
|
|
|
26
27
|
} = state.properties;
|
|
27
28
|
const {
|
|
28
29
|
autoColumnSizing
|
|
29
|
-
} = preferences
|
|
30
|
+
} = preferences ? preferences : {};
|
|
30
31
|
return /*#__PURE__*/React.createElement(TableList, {
|
|
32
|
+
reOrderConfig: reOrderConfig,
|
|
31
33
|
data: data,
|
|
32
34
|
rowCursor: rowCursor,
|
|
33
35
|
sortBy: sortBy,
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const reOrderRecord = {
|
|
2
|
+
name: 'records',
|
|
3
|
+
api: '/{{servicePrefix}}/{{orgName}}/api/v1/{{moduleName}}/reorder',
|
|
4
|
+
parameters: `{}`,
|
|
5
|
+
type: 'POST',
|
|
6
|
+
transformer: data => data,
|
|
7
|
+
getResponse: _ref => {
|
|
8
|
+
let {
|
|
9
|
+
payload
|
|
10
|
+
} = _ref;
|
|
11
|
+
let {
|
|
12
|
+
oldIndex,
|
|
13
|
+
newIndex
|
|
14
|
+
} = payload;
|
|
15
|
+
return {
|
|
16
|
+
oldIndex,
|
|
17
|
+
newIndex,
|
|
18
|
+
status: 'success'
|
|
19
|
+
}; // return Promise.reject({
|
|
20
|
+
// status: 500,
|
|
21
|
+
// error: "Something went wrong",
|
|
22
|
+
// });
|
|
23
|
+
},
|
|
24
|
+
requestBody: '{ "oldIndex": {{oldIndex}}, "newIndex": {{newIndex}} }',
|
|
25
|
+
properties: {
|
|
26
|
+
moduleName: {
|
|
27
|
+
required: true,
|
|
28
|
+
typeMetadata: {
|
|
29
|
+
schema: {
|
|
30
|
+
type: 'string'
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
recordId: {
|
|
35
|
+
required: true,
|
|
36
|
+
typeMetadata: {
|
|
37
|
+
schema: {
|
|
38
|
+
type: 'string'
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
export default reOrderRecord;
|
|
@@ -5,6 +5,7 @@ import deleteRecords from "./http-template/deleteRecords";
|
|
|
5
5
|
import getAvailableFields from "./http-template/getAvailableFields";
|
|
6
6
|
import getSelectedFields from "./http-template/getSelectedFields";
|
|
7
7
|
import getClientActions from "./http-template/getClientActions";
|
|
8
|
+
import reOrderRecord from "./http-template/reOrderRecord";
|
|
8
9
|
import { RecordApiActionName } from "../../bc/zrecord/Constants";
|
|
9
10
|
import deleteRecord from "./http-template/deleteRecord";
|
|
10
11
|
import fetchMyLayouts from "./http-template/fetchMyFormLayout";
|
|
@@ -22,6 +23,7 @@ let dataSource = {
|
|
|
22
23
|
[RecordApiActionName.DELETE_RECORD]: deleteRecord,
|
|
23
24
|
[RecordApiActionName.CREATE_RECORD]: createRecord,
|
|
24
25
|
[RecordApiActionName.GET_CLIENTACTIONS]: getClientActions,
|
|
26
|
+
[RecordApiActionName.GET_REORDERRECORD]: reOrderRecord,
|
|
25
27
|
getAvailableFields,
|
|
26
28
|
getSelectedFields,
|
|
27
29
|
updateSelectedFields,
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
2
|
|
|
3
|
+
// export { SdkResourceDependencies };
|
|
3
4
|
export class AbstractResource {
|
|
4
5
|
constructor() {
|
|
5
6
|
_defineProperty(this, "dependencies", void 0);
|
|
6
7
|
}
|
|
7
8
|
|
|
8
|
-
initialize() {}
|
|
9
|
-
|
|
10
9
|
updateDependencies(dependencies) {
|
|
11
10
|
this.dependencies = dependencies;
|
|
12
11
|
}
|
|
13
12
|
|
|
14
|
-
destroy() {}
|
|
15
|
-
|
|
16
13
|
}
|
|
@@ -78,7 +78,7 @@ export class ResourceManager {
|
|
|
78
78
|
resourceInstances
|
|
79
79
|
} = this;
|
|
80
80
|
const instance = (_resourceInstances$re3 = resourceInstances[resourceName]) === null || _resourceInstances$re3 === void 0 ? void 0 : _resourceInstances$re3[instanceName];
|
|
81
|
-
instance.updateDependencies({
|
|
81
|
+
instance && instance.updateDependencies({
|
|
82
82
|
state,
|
|
83
83
|
dispatch,
|
|
84
84
|
updateState
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ResourceNamesEnum from "../../../bc/sdk/ResourceNamesEnum";
|
|
2
2
|
import { sdkRegistry } from "./SdkRegistry";
|
|
3
|
-
export const
|
|
3
|
+
export const platformSDK = {
|
|
4
4
|
[ResourceNamesEnum.SMART_TABLE](instanceName) {
|
|
5
5
|
return sdkRegistry.getResourceInstance({
|
|
6
6
|
resourceName: ResourceNamesEnum.SMART_TABLE,
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import AbstractController from "./AbstractController";
|
|
2
|
+
export default class ReOrderController extends AbstractController {
|
|
3
|
+
handle(event) {
|
|
4
|
+
const {
|
|
5
|
+
state,
|
|
6
|
+
updateState,
|
|
7
|
+
dispatch,
|
|
8
|
+
action
|
|
9
|
+
} = event;
|
|
10
|
+
const {
|
|
11
|
+
newIndex,
|
|
12
|
+
oldIndex
|
|
13
|
+
} = action.payload;
|
|
14
|
+
const {
|
|
15
|
+
reOrderUseCase
|
|
16
|
+
} = this.service;
|
|
17
|
+
reOrderUseCase.updateDependency(state, updateState);
|
|
18
|
+
reOrderUseCase.execute({
|
|
19
|
+
dispatch,
|
|
20
|
+
newIndex,
|
|
21
|
+
oldIndex
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import AbstractController from "./AbstractController";
|
|
2
|
+
export default class ReOrderController extends AbstractController {
|
|
3
|
+
handle(event) {
|
|
4
|
+
const {
|
|
5
|
+
state,
|
|
6
|
+
updateState,
|
|
7
|
+
dispatch,
|
|
8
|
+
action
|
|
9
|
+
} = event;
|
|
10
|
+
const {
|
|
11
|
+
newIndex,
|
|
12
|
+
oldIndex
|
|
13
|
+
} = action.payload;
|
|
14
|
+
const {
|
|
15
|
+
reOrderFailedUseCase
|
|
16
|
+
} = this.service;
|
|
17
|
+
reOrderFailedUseCase.updateDependency(state, updateState);
|
|
18
|
+
reOrderFailedUseCase.execute({
|
|
19
|
+
dispatch,
|
|
20
|
+
newIndex,
|
|
21
|
+
oldIndex,
|
|
22
|
+
metaData: action.metaData
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -13,6 +13,8 @@ import RecordExecuteFailedUseCase from "../../applications/usecases/RecordExecut
|
|
|
13
13
|
import UpdateSuccessUseCase from "../../applications/usecases/UpdateSuccessUseCase";
|
|
14
14
|
import DeleteSuccessUseCase from "../../applications/usecases/DeleteSuccessUseCase";
|
|
15
15
|
import RecordSuccessCallbackUsecase from "../../applications/usecases/RecordSuccessCallbackUsecase";
|
|
16
|
+
import ReOrderUseCase from "../../applications/usecases/ReOrderUseCase";
|
|
17
|
+
import ReOrderFailedUseCase from "../../applications/usecases/ReOrderFailedUseCase";
|
|
16
18
|
|
|
17
19
|
class Service {
|
|
18
20
|
constructor(dependencies) {
|
|
@@ -44,6 +46,10 @@ class Service {
|
|
|
44
46
|
|
|
45
47
|
_defineProperty(this, "deleteSuccessUseCase", void 0);
|
|
46
48
|
|
|
49
|
+
_defineProperty(this, "reOrderUseCase", void 0);
|
|
50
|
+
|
|
51
|
+
_defineProperty(this, "reOrderFailedUseCase", void 0);
|
|
52
|
+
|
|
47
53
|
this.initializeUseCase = new InitializeUseCase(this.dependencies);
|
|
48
54
|
this.propertiesChangeUseCase = new PropertiesChangeUseCase(this.dependencies);
|
|
49
55
|
this.fetchMoreUseCase = new FetchMoreUseCase(this.dependencies);
|
|
@@ -57,6 +63,8 @@ class Service {
|
|
|
57
63
|
this.recordUpdateUseCase = new RecordUpdateUseCase(this.dependencies);
|
|
58
64
|
this.updateSuccessUseCase = new UpdateSuccessUseCase(this.dependencies);
|
|
59
65
|
this.deleteSuccessUseCase = new DeleteSuccessUseCase(this.dependencies);
|
|
66
|
+
this.reOrderUseCase = new ReOrderUseCase(this.dependencies);
|
|
67
|
+
this.reOrderFailedUseCase = new ReOrderFailedUseCase(this.dependencies);
|
|
60
68
|
}
|
|
61
69
|
|
|
62
70
|
}
|
|
@@ -26,7 +26,8 @@ export default class TableTranslator {
|
|
|
26
26
|
} = state;
|
|
27
27
|
const {
|
|
28
28
|
componentMapping,
|
|
29
|
-
context
|
|
29
|
+
context,
|
|
30
|
+
reOrderConfig
|
|
30
31
|
} = properties;
|
|
31
32
|
const {
|
|
32
33
|
localStorage: localStorageBehaviour,
|
|
@@ -46,6 +47,7 @@ export default class TableTranslator {
|
|
|
46
47
|
zfield,
|
|
47
48
|
zclientAction
|
|
48
49
|
} = fallbackToDefault(behaviours, {}); // FIX: behaviours should be available by default
|
|
50
|
+
// const { sortBy, isReOrderLoading } = fallbackToDefault(zlist, {}); // FIX: zlist should be available by default
|
|
49
51
|
|
|
50
52
|
const {
|
|
51
53
|
sortBy
|
|
@@ -103,6 +105,7 @@ export default class TableTranslator {
|
|
|
103
105
|
properties,
|
|
104
106
|
behaviours,
|
|
105
107
|
viewModel: {
|
|
108
|
+
reOrderConfig,
|
|
106
109
|
selection: SelectionTranslator(state),
|
|
107
110
|
focussedRow: focussedIndex,
|
|
108
111
|
sortBy,
|
|
@@ -120,6 +123,7 @@ export default class TableTranslator {
|
|
|
120
123
|
},
|
|
121
124
|
keyboardControlsConfig,
|
|
122
125
|
isLoading,
|
|
126
|
+
// isReOrderLoading,
|
|
123
127
|
emptyStateUiType: componentMapping.emptyState || '',
|
|
124
128
|
data: fields.length ? data : {
|
|
125
129
|
headers: EMPTY_ARRAY,
|
|
@@ -34,7 +34,8 @@ function ColumnTranslator(field, record, fieldComponentMapping, fieldActions, co
|
|
|
34
34
|
console.warn(`The string format for componentMapping will soon be deprecated. Please update to the new JSON format. REF : ${JSON.stringify(fieldEntry)}`);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
let tempValue = undefined;
|
|
38
|
+
let value = isCustomField ? (_record$cf = record.cf) === null || _record$cf === void 0 ? void 0 : _record$cf[name] : record[name];
|
|
38
39
|
const actions = ClientActionsTranslator.transform(fieldActions, {
|
|
39
40
|
field,
|
|
40
41
|
record
|
|
@@ -56,7 +57,12 @@ function ColumnTranslator(field, record, fieldComponentMapping, fieldActions, co
|
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
if (field.type == "LookUp") {
|
|
59
|
-
value
|
|
60
|
+
// temp fix for when lookup field don't have value !object
|
|
61
|
+
tempValue = typeof value !== 'object' ? {
|
|
62
|
+
name: value,
|
|
63
|
+
id: value
|
|
64
|
+
} : value;
|
|
65
|
+
tempValue.url = getLookupUrlConstructions({
|
|
60
66
|
field,
|
|
61
67
|
value,
|
|
62
68
|
context
|
|
@@ -72,7 +78,7 @@ function ColumnTranslator(field, record, fieldComponentMapping, fieldActions, co
|
|
|
72
78
|
if (fieldEntry && typeof fieldEntry === 'object') {
|
|
73
79
|
let data = {
|
|
74
80
|
actions,
|
|
75
|
-
...fieldTranslator(field, finalValue, {
|
|
81
|
+
...fieldTranslator(field, tempValue ? tempValue : finalValue, {
|
|
76
82
|
recordId: record.id
|
|
77
83
|
})
|
|
78
84
|
};
|
|
@@ -82,16 +88,9 @@ function ColumnTranslator(field, record, fieldComponentMapping, fieldActions, co
|
|
|
82
88
|
context
|
|
83
89
|
});
|
|
84
90
|
data.type = fieldEntry.UIComponentName;
|
|
85
|
-
console.log(data, "====>>> custom field modal");
|
|
86
91
|
return data;
|
|
87
92
|
}
|
|
88
93
|
|
|
89
|
-
console.log({
|
|
90
|
-
actions,
|
|
91
|
-
...fieldTranslator(field, finalValue, {
|
|
92
|
-
recordId: record.id
|
|
93
|
-
})
|
|
94
|
-
}, "====>>> normal pre-defined field modal");
|
|
95
94
|
return {
|
|
96
95
|
actions,
|
|
97
96
|
...fieldTranslator(field, finalValue, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class ReOrderFailedUseCase extends AbstractUseCase {
|
|
4
|
+
execute(input) {
|
|
5
|
+
const {
|
|
6
|
+
metaData
|
|
7
|
+
} = input;
|
|
8
|
+
const {
|
|
9
|
+
repository,
|
|
10
|
+
presenter
|
|
11
|
+
} = this.dependencies;
|
|
12
|
+
const list = repository.getList();
|
|
13
|
+
|
|
14
|
+
if (metaData.isReOrder) {
|
|
15
|
+
list.reOrderEnded();
|
|
16
|
+
presenter.updateView(list.toObject());
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default ReOrderFailedUseCase;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class ReOrderUseCase extends AbstractUseCase {
|
|
4
|
+
execute(input) {
|
|
5
|
+
const {
|
|
6
|
+
dispatch,
|
|
7
|
+
newIndex,
|
|
8
|
+
oldIndex
|
|
9
|
+
} = input;
|
|
10
|
+
const {
|
|
11
|
+
repository,
|
|
12
|
+
presenter
|
|
13
|
+
} = this.dependencies;
|
|
14
|
+
const list = repository.getList();
|
|
15
|
+
list.reOrderStarted();
|
|
16
|
+
presenter.updateView(list.toObject());
|
|
17
|
+
dispatch(list.getReOrderRecordAction({
|
|
18
|
+
newIndex,
|
|
19
|
+
oldIndex
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default ReOrderUseCase;
|