@zohodesk/library-platform 1.1.2 → 1.1.3
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/es/bc/column-chooser/Constants.js +4 -0
- package/es/bc/column-chooser/EventHandlers.js +2 -0
- package/es/bc/column-chooser/Events.js +59 -0
- package/es/bc/column-chooser/Properties.js +18 -0
- package/es/bc/keyboard-controls/Constants.js +5 -0
- package/es/bc/keyboard-controls/Events.js +51 -0
- package/es/bc/keyboard-controls/Properties.js +11 -0
- package/es/bc/keyboard-controls/types/KeyboardControlBehaviourState.js +1 -0
- package/es/bc/zlist/Properties.js +15 -0
- package/es/cc/fields/field/Properties.js +10 -1
- package/es/cc/fields/index.js +1 -1
- package/es/cc/table-column-chooser/Constants.js +6 -0
- package/es/cc/table-column-chooser/Events.js +69 -0
- package/es/cc/table-column-chooser/Properties.js +122 -0
- package/es/cc/table-column-chooser/index.js +3 -0
- package/es/cc/table-connected/Properties.js +16 -0
- package/es/cc/table-connected/constants/Events.js +4 -1
- package/es/cc/table-list/Properties.js +27 -1
- package/es/cc/table-list/data-types/KeyboardControlsConfig.js +1 -0
- package/es/cc/table-list/row/Properties.js +18 -0
- package/es/desk-frameworks/table-connected/adapters/controllers/ColumnChooserOpenedController.js +36 -0
- package/es/desk-frameworks/table-connected/adapters/controllers/ColumnChooserUpdateController.js +25 -0
- package/es/desk-frameworks/table-connected/frameworks/EventHandlersFactory.js +8 -2
- package/es/desk-frameworks/table-connected/frameworks/TableConnectedFactory.js +5 -2
- package/es/desk-frameworks/table-connected/frameworks/TableConnectedView.js +9 -6
- package/es/library/behaviours/keyboard-controls/adapters/controllers/AbstractController.js +9 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/DestructController.js +20 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/DownArrowPressController.js +20 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/EnterPressController.js +24 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/FocusNextController.js +20 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/FocusPreviousController.js +20 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/InitializeController.js +20 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/SpacePressController.js +24 -0
- package/es/library/behaviours/keyboard-controls/adapters/controllers/UpArrowPressController.js +20 -0
- package/es/library/behaviours/keyboard-controls/adapters/gateways/KeyboardHandler.js +81 -0
- package/es/library/behaviours/keyboard-controls/adapters/gateways/Repository.js +47 -0
- package/es/library/behaviours/keyboard-controls/adapters/gateways/Service.js +40 -0
- package/es/library/behaviours/keyboard-controls/adapters/presenters/Presenter.js +39 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/UseCase.js +0 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/UseCaseDependencies.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IKeyboardHandler.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IRepository.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IService.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/DestructInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/DownArrowPressInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/EnterPressInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/FocusNextInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/FocusPreviousInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/InitializeInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/RowActionInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/SelectionInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/SpacePressInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/input/UpArrowPressInputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/output/IPresenter.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/interfaces/output/OutputModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/AbstractUseCase.js +19 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/DestructUsecase.js +17 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/DownArrowPress.js +16 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/EnterPress.js +19 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/FocusNextUsecase.js +16 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/FocusPreviousUsecase.js +16 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/InitializeUsecase.js +20 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/SpacePress.js +19 -0
- package/es/library/behaviours/keyboard-controls/applications/usecases/UpArrowPress.js +16 -0
- package/es/library/behaviours/keyboard-controls/domain/entities/KeyboardControls.js +87 -0
- package/es/library/behaviours/keyboard-controls/domain/entities/interface/IKeyboardControls.js +1 -0
- package/es/library/behaviours/keyboard-controls/domain/entities/interface/KeyboardControlModel.js +1 -0
- package/es/library/behaviours/keyboard-controls/frameworks/EventHandlerFactory.js +48 -0
- package/es/library/behaviours/keyboard-controls/frameworks/KeyboardControlBehaviourFactory.js +23 -0
- package/es/library/custom-component/frameworks/ui/ComponentRegistry.js +8 -0
- package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +4 -0
- package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowClickController.js +36 -0
- package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowSelectController.js +31 -0
- package/es/library/dot/components/table-list/adapters/controllers/index.js +3 -1
- package/es/library/dot/components/table-list/adapters/presenters/TableTranslator.js +5 -3
- package/es/library/dot/components/table-list/frameworks/ui/EventHandlersFactory.js +4 -1
- package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +10 -3
- package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +3 -0
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +9 -10
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +7 -3
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderData.js +7 -2
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/MassAction.js +28 -0
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +5 -0
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowData.js +7 -2
- package/es/library/dot/legacy-to-new-arch/table-column-chooser/frameworks/ui/TableColumnChooser.js +11 -0
- package/es/library/dot/legacy-to-new-arch/table-column-chooser/frameworks/ui/TableColumnChooserView.js +79 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupFieldView.js +6 -8
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRenderer.module.css +0 -6
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRendererView.js +1 -1
- package/es/platform/column-chooser/adapters/controllers/AbstractController.js +10 -0
- package/es/platform/column-chooser/adapters/controllers/ColumnChooserCloseController.js +21 -0
- package/es/platform/column-chooser/adapters/controllers/ColumnChooserOpenController.js +26 -0
- package/es/platform/column-chooser/adapters/controllers/ColumnChooserReorderController.js +26 -0
- package/es/platform/column-chooser/adapters/controllers/ColumnChooserSaveController.js +21 -0
- package/es/platform/column-chooser/adapters/controllers/ColumnChooserSearchController.js +24 -0
- package/es/platform/column-chooser/adapters/controllers/ColumnChooserSelectController.js +26 -0
- package/es/platform/column-chooser/adapters/gateways/Repository.js +38 -0
- package/es/platform/column-chooser/adapters/gateways/Service.js +34 -0
- package/es/platform/column-chooser/adapters/gateways/State.js +1 -0
- package/es/platform/column-chooser/adapters/presenters/Presenter.js +25 -0
- package/es/platform/column-chooser/applications/interfaces/UsecaseDependencies.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/gateways/IRepository.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/gateways/IService.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserCloseInput.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserOpenInput.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserReorderInput.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSaveInput.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSearchInput.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSelectInput.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/output/BehaviourState.js +1 -0
- package/es/platform/column-chooser/applications/interfaces/output/IPresenter.js +1 -0
- package/es/platform/column-chooser/applications/usecases/AbstractUseCase.js +18 -0
- package/es/platform/column-chooser/applications/usecases/ColumnChooserCloseUseCase.js +34 -0
- package/es/platform/column-chooser/applications/usecases/ColumnChooserOpenUseCase.js +20 -0
- package/es/platform/column-chooser/applications/usecases/ColumnChooserReorderUseCase.js +20 -0
- package/es/platform/column-chooser/applications/usecases/ColumnChooserSaveUseCase.js +31 -0
- package/es/platform/column-chooser/applications/usecases/ColumnChooserSearchUseCase.js +19 -0
- package/es/platform/column-chooser/applications/usecases/ColumnChooserSelectUseCase.js +26 -0
- package/es/platform/column-chooser/domain/entities/ColumnChooserImp.js +95 -0
- package/es/platform/column-chooser/domain/entities/ReorderEntityImp.js +35 -0
- package/es/platform/column-chooser/domain/entities/SearchEntityImp.js +28 -0
- package/es/platform/column-chooser/domain/entities/SelectEntityImp.js +58 -0
- package/es/platform/column-chooser/domain/entities/interfaces/ColumnChooser.js +1 -0
- package/es/platform/column-chooser/domain/entities/interfaces/ReorderEntity.js +1 -0
- package/es/platform/column-chooser/domain/entities/interfaces/SearchEntity.js +1 -0
- package/es/platform/column-chooser/domain/entities/interfaces/SelectEntity.js +1 -0
- package/es/platform/column-chooser/frameworks/ColumnChooserBehaviourFactory.js +19 -0
- package/es/platform/column-chooser/frameworks/EventHandlersFactory.js +30 -0
- package/es/platform/data-source/http-template/updateSelectedFields.js +28 -0
- package/es/platform/data-source/index.js +2 -0
- package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +3 -1
- package/es/platform/zfield/domain/entities/interfaces/FieldApiName.js +1 -0
- package/es/platform/zfield/frameworks/ZFieldBehaviourFactory.js +6 -1
- package/es/platform/zlist/adapters/gateways/Repository.js +4 -2
- package/es/platform/zlist/adapters/presenters/SelectionTranslator.js +92 -0
- package/es/platform/zlist/adapters/presenters/TableTranslator.js +32 -19
- package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +63 -4
- package/es/platform/zlist/adapters/presenters/translators/Row.js +1 -1
- package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +6 -6
- package/es/platform/zlist/adapters/presenters/translators/interfaces/State.js +2 -1
- package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +78 -6
- package/es/platform/zlist/applications/entities-factory/ListFactory.js +3 -2
- package/es/platform/zlist/applications/usecases/FetchMoreUseCase.js +4 -1
- package/es/platform/zlist/applications/usecases/RecordExecuteFailedUseCase.js +3 -1
- package/es/platform/zlist/domain/entities/List.js +14 -2
- package/package.json +6 -4
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/SelectAll.js +0 -26
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/* eslint-disable max-lines-per-function */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import ColumnChooser from '@zohodesk-private/desk-components/es/ColumnChooser/ColumnChooser';
|
|
4
|
+
import { TableColumnChooserConstants } from "../../../../../../cc/table-column-chooser";
|
|
5
|
+
|
|
6
|
+
function TableColumnChooserView(_ref, ref) {
|
|
7
|
+
let {
|
|
8
|
+
state,
|
|
9
|
+
helpers
|
|
10
|
+
} = _ref;
|
|
11
|
+
const {
|
|
12
|
+
dispatch
|
|
13
|
+
} = helpers;
|
|
14
|
+
const {
|
|
15
|
+
options,
|
|
16
|
+
tooltip,
|
|
17
|
+
heading,
|
|
18
|
+
infoText,
|
|
19
|
+
hasSearch,
|
|
20
|
+
searchString,
|
|
21
|
+
searchPlaceholder
|
|
22
|
+
} = state.properties;
|
|
23
|
+
const {
|
|
24
|
+
emptyMessage,
|
|
25
|
+
errorMessage,
|
|
26
|
+
saveLabel,
|
|
27
|
+
cancelLabel
|
|
28
|
+
} = state.properties;
|
|
29
|
+
return /*#__PURE__*/React.createElement(ColumnChooser, {
|
|
30
|
+
options: options,
|
|
31
|
+
getRef: ref,
|
|
32
|
+
tooltip: tooltip,
|
|
33
|
+
heading: heading,
|
|
34
|
+
infoText: infoText,
|
|
35
|
+
emptyMessage: emptyMessage,
|
|
36
|
+
getHelperContainer: () => document.querySelector('[data-id="table"]'),
|
|
37
|
+
hasSearch: hasSearch,
|
|
38
|
+
searchString: searchString,
|
|
39
|
+
searchPlacholder: searchPlaceholder,
|
|
40
|
+
onSearch: searchString => dispatch({
|
|
41
|
+
type: TableColumnChooserConstants.COLUMN_CHOOSER_SEARCH_REQUESTED,
|
|
42
|
+
payload: {
|
|
43
|
+
searchString
|
|
44
|
+
}
|
|
45
|
+
}),
|
|
46
|
+
onClearSearch: () => dispatch({
|
|
47
|
+
type: TableColumnChooserConstants.COLUMN_CHOOSER_SEARCH_REQUESTED,
|
|
48
|
+
payload: {
|
|
49
|
+
searchString: ''
|
|
50
|
+
}
|
|
51
|
+
}),
|
|
52
|
+
onOpen: () => dispatch({
|
|
53
|
+
type: TableColumnChooserConstants.COLUMN_CHOOSER_OPEN_REQUESTED
|
|
54
|
+
}),
|
|
55
|
+
onClose: () => dispatch({
|
|
56
|
+
type: TableColumnChooserConstants.COLUMN_CHOOSER_CLOSE_REQUESTED
|
|
57
|
+
}),
|
|
58
|
+
onSelect: data => dispatch({
|
|
59
|
+
type: TableColumnChooserConstants.COLUMN_CHOOSER_SELECT_REQUESTED,
|
|
60
|
+
payload: {
|
|
61
|
+
data
|
|
62
|
+
}
|
|
63
|
+
}),
|
|
64
|
+
onReorder: reOrderedIndex => dispatch({
|
|
65
|
+
type: TableColumnChooserConstants.COLUMN_CHOOSER_REORDER_REQUESTED,
|
|
66
|
+
payload: {
|
|
67
|
+
reOrderedIndex
|
|
68
|
+
}
|
|
69
|
+
}),
|
|
70
|
+
onSave: () => dispatch({
|
|
71
|
+
type: TableColumnChooserConstants.COLUMN_CHOOSER_SAVE_REQUESTED
|
|
72
|
+
}),
|
|
73
|
+
errorMessage: errorMessage,
|
|
74
|
+
saveLabel: saveLabel,
|
|
75
|
+
cancelLabel: cancelLabel
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export default TableColumnChooserView;
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
2
|
+
import Link from "../../../../link/frameworks/ui/Link";
|
|
3
3
|
export function LookupFieldView(_ref, ref) {
|
|
4
4
|
let {
|
|
5
5
|
state
|
|
6
6
|
} = _ref;
|
|
7
7
|
const {
|
|
8
8
|
name,
|
|
9
|
-
|
|
9
|
+
url
|
|
10
10
|
} = state.properties.value;
|
|
11
|
-
return /*#__PURE__*/React.createElement(
|
|
11
|
+
return /*#__PURE__*/React.createElement(Link, {
|
|
12
12
|
getRef: ref,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
imageURL: photoURL,
|
|
17
|
-
tooltip: name
|
|
13
|
+
label: name,
|
|
14
|
+
variant: "secondary",
|
|
15
|
+
href: url
|
|
18
16
|
});
|
|
19
17
|
}
|
|
@@ -17,7 +17,7 @@ function RowActionsRendererView(_ref, ref) {
|
|
|
17
17
|
ref: ref,
|
|
18
18
|
$ui_displayMode: "inline",
|
|
19
19
|
$ui_alignItems: "center",
|
|
20
|
-
$ui_className: `${
|
|
20
|
+
$ui_className: `${gap !== ActionViewGap.NONE ? style[`gap_${gap}`] : ''}`
|
|
21
21
|
}, actions.map((action, index) => {
|
|
22
22
|
return /*#__PURE__*/React.createElement(DynamicActionComponent, {
|
|
23
23
|
action: action,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import AbstractController from "./AbstractController";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserCloseController extends AbstractController {
|
|
4
|
+
handle(event) {
|
|
5
|
+
const {
|
|
6
|
+
state,
|
|
7
|
+
updateState,
|
|
8
|
+
dispatch
|
|
9
|
+
} = event;
|
|
10
|
+
const {
|
|
11
|
+
columnChooserCloseUseCase
|
|
12
|
+
} = this.service;
|
|
13
|
+
columnChooserCloseUseCase.updateDependencies(state, updateState);
|
|
14
|
+
columnChooserCloseUseCase.execute({
|
|
15
|
+
dispatch
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default ColumnChooserCloseController;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import AbstractController from "./AbstractController";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserOpenController extends AbstractController {
|
|
4
|
+
handle(event) {
|
|
5
|
+
const {
|
|
6
|
+
state,
|
|
7
|
+
action,
|
|
8
|
+
updateState
|
|
9
|
+
} = event;
|
|
10
|
+
const {
|
|
11
|
+
order,
|
|
12
|
+
selectedArray
|
|
13
|
+
} = action.payload;
|
|
14
|
+
const {
|
|
15
|
+
columnChooserOpenUseCase
|
|
16
|
+
} = this.service;
|
|
17
|
+
columnChooserOpenUseCase.updateDependencies(state, updateState);
|
|
18
|
+
columnChooserOpenUseCase.execute({
|
|
19
|
+
order,
|
|
20
|
+
selectedArray
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default ColumnChooserOpenController;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import AbstractController from "./AbstractController";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserReorderController extends AbstractController {
|
|
4
|
+
handle(event) {
|
|
5
|
+
const {
|
|
6
|
+
state,
|
|
7
|
+
action,
|
|
8
|
+
updateState
|
|
9
|
+
} = event;
|
|
10
|
+
const {
|
|
11
|
+
oldIndex: fromIndex,
|
|
12
|
+
newIndex: toIndex
|
|
13
|
+
} = action.payload.reOrderedIndex;
|
|
14
|
+
const {
|
|
15
|
+
columnChooserReorderUseCase
|
|
16
|
+
} = this.service;
|
|
17
|
+
columnChooserReorderUseCase.updateDependencies(state, updateState);
|
|
18
|
+
columnChooserReorderUseCase.execute({
|
|
19
|
+
fromIndex,
|
|
20
|
+
toIndex
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default ColumnChooserReorderController;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import AbstractController from "./AbstractController";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserSaveController extends AbstractController {
|
|
4
|
+
handle(event) {
|
|
5
|
+
const {
|
|
6
|
+
state,
|
|
7
|
+
updateState,
|
|
8
|
+
dispatch
|
|
9
|
+
} = event;
|
|
10
|
+
const {
|
|
11
|
+
columnChooserSaveUseCase
|
|
12
|
+
} = this.service;
|
|
13
|
+
columnChooserSaveUseCase.updateDependencies(state, updateState);
|
|
14
|
+
columnChooserSaveUseCase.execute({
|
|
15
|
+
dispatch
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default ColumnChooserSaveController;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import AbstractController from "./AbstractController";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserSearchController extends AbstractController {
|
|
4
|
+
handle(event) {
|
|
5
|
+
const {
|
|
6
|
+
state,
|
|
7
|
+
action,
|
|
8
|
+
updateState
|
|
9
|
+
} = event;
|
|
10
|
+
const {
|
|
11
|
+
searchString: searchText
|
|
12
|
+
} = action.payload;
|
|
13
|
+
const {
|
|
14
|
+
columnChooserSearchUseCase
|
|
15
|
+
} = this.service;
|
|
16
|
+
columnChooserSearchUseCase.updateDependencies(state, updateState);
|
|
17
|
+
columnChooserSearchUseCase.execute({
|
|
18
|
+
searchText
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export default ColumnChooserSearchController;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import AbstractController from "./AbstractController";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserSelectController extends AbstractController {
|
|
4
|
+
handle(event) {
|
|
5
|
+
const {
|
|
6
|
+
state,
|
|
7
|
+
action,
|
|
8
|
+
updateState
|
|
9
|
+
} = event;
|
|
10
|
+
const {
|
|
11
|
+
id: columnId,
|
|
12
|
+
isChecked
|
|
13
|
+
} = action.payload.data;
|
|
14
|
+
const {
|
|
15
|
+
columnChooserSelectUseCase
|
|
16
|
+
} = this.service;
|
|
17
|
+
columnChooserSelectUseCase.updateDependencies(state, updateState);
|
|
18
|
+
columnChooserSelectUseCase.execute({
|
|
19
|
+
columnId,
|
|
20
|
+
isChecked
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default ColumnChooserSelectController;
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
|
|
3
|
+
import { DEFAULT_COLUMN_CHOOSE_MAX_COUNT } from "../../../../bc/column-chooser/Constants";
|
|
4
|
+
import ColumnChooserImp from "../../domain/entities/ColumnChooserImp";
|
|
5
|
+
import ReorderEntityImp from "../../domain/entities/ReorderEntityImp";
|
|
6
|
+
import SearchEntityImp from "../../domain/entities/SearchEntityImp";
|
|
7
|
+
import SelectEntityImp from "../../domain/entities/SelectEntityImp";
|
|
8
|
+
|
|
9
|
+
class Repository {
|
|
10
|
+
constructor() {
|
|
11
|
+
_defineProperty(this, "state", void 0);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
init(state) {
|
|
15
|
+
this.state = state;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
getColumnChooser() {
|
|
19
|
+
const {
|
|
20
|
+
columnChooser
|
|
21
|
+
} = this.state.behaviours;
|
|
22
|
+
const reorderEntity = new ReorderEntityImp(columnChooser.order);
|
|
23
|
+
const searchEntity = this.createSearchEntity();
|
|
24
|
+
const selectEntity = new SelectEntityImp(columnChooser.selected, DEFAULT_COLUMN_CHOOSE_MAX_COUNT);
|
|
25
|
+
return new ColumnChooserImp(columnChooser.isSaved, reorderEntity, searchEntity, selectEntity);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
createSearchEntity() {
|
|
29
|
+
const {
|
|
30
|
+
columnChooser,
|
|
31
|
+
zfield
|
|
32
|
+
} = this.state.behaviours;
|
|
33
|
+
return new SearchEntityImp(columnChooser.searchText, fieldName => zfield.fields.find(f => f.name === fieldName).i18NLabel);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export default Repository;
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
|
|
3
|
+
import ColumnChooserOpenUseCase from "../../applications/usecases/ColumnChooserOpenUseCase";
|
|
4
|
+
import ColumnChooserSelectUseCase from "../../applications/usecases/ColumnChooserSelectUseCase";
|
|
5
|
+
import ColumnChooserReorderUseCase from "../../applications/usecases/ColumnChooserReorderUseCase";
|
|
6
|
+
import ColumnChooserSearchUseCase from "../../applications/usecases/ColumnChooserSearchUseCase";
|
|
7
|
+
import ColumnChooserSaveUseCase from "../../applications/usecases/ColumnChooserSaveUseCase";
|
|
8
|
+
import ColumnChooserCloseUseCase from "../../applications/usecases/ColumnChooserCloseUseCase";
|
|
9
|
+
|
|
10
|
+
class Service {
|
|
11
|
+
constructor(dependencies) {
|
|
12
|
+
_defineProperty(this, "columnChooserOpenUseCase", void 0);
|
|
13
|
+
|
|
14
|
+
_defineProperty(this, "columnChooserSelectUseCase", void 0);
|
|
15
|
+
|
|
16
|
+
_defineProperty(this, "columnChooserReorderUseCase", void 0);
|
|
17
|
+
|
|
18
|
+
_defineProperty(this, "columnChooserSearchUseCase", void 0);
|
|
19
|
+
|
|
20
|
+
_defineProperty(this, "columnChooserSaveUseCase", void 0);
|
|
21
|
+
|
|
22
|
+
_defineProperty(this, "columnChooserCloseUseCase", void 0);
|
|
23
|
+
|
|
24
|
+
this.columnChooserOpenUseCase = new ColumnChooserOpenUseCase(dependencies);
|
|
25
|
+
this.columnChooserSelectUseCase = new ColumnChooserSelectUseCase(dependencies);
|
|
26
|
+
this.columnChooserReorderUseCase = new ColumnChooserReorderUseCase(dependencies);
|
|
27
|
+
this.columnChooserSearchUseCase = new ColumnChooserSearchUseCase(dependencies);
|
|
28
|
+
this.columnChooserSaveUseCase = new ColumnChooserSaveUseCase(dependencies);
|
|
29
|
+
this.columnChooserCloseUseCase = new ColumnChooserCloseUseCase(dependencies);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export default Service;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
|
|
3
|
+
class Presenter {
|
|
4
|
+
constructor() {
|
|
5
|
+
_defineProperty(this, "updateState", void 0);
|
|
6
|
+
|
|
7
|
+
_defineProperty(this, "state", void 0);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
updateDependencies(state, updateState) {
|
|
11
|
+
this.state = state;
|
|
12
|
+
this.updateState = updateState;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
updateView(view) {
|
|
16
|
+
this.updateState({ ...this.state,
|
|
17
|
+
behaviours: { ...this.state.behaviours,
|
|
18
|
+
columnChooser: view
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default Presenter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
class AbstractUseCase {
|
|
2
|
+
constructor(dependencies) {
|
|
3
|
+
this.dependencies = dependencies;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
// TODO: Add type for state and updateState
|
|
7
|
+
updateDependencies(state, updateState) {
|
|
8
|
+
const {
|
|
9
|
+
repository,
|
|
10
|
+
presenter
|
|
11
|
+
} = this.dependencies;
|
|
12
|
+
repository.init(state);
|
|
13
|
+
presenter.updateDependencies(state, updateState);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export default AbstractUseCase;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { COLUMN_CHOOSER_BEHAVIOUR_CANCELED } from "../../../../bc/column-chooser/Constants";
|
|
2
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
3
|
+
|
|
4
|
+
class ColumnChooserCloseUseCase extends AbstractUseCase {
|
|
5
|
+
execute(_ref) {
|
|
6
|
+
let {
|
|
7
|
+
dispatch
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
repository,
|
|
11
|
+
presenter
|
|
12
|
+
} = this.dependencies;
|
|
13
|
+
const columnChooser = repository.getColumnChooser();
|
|
14
|
+
const selectedArray = columnChooser.getSelectedWithOrder();
|
|
15
|
+
const order = columnChooser.getOrder();
|
|
16
|
+
const isSaved = columnChooser.hasBeenSaved();
|
|
17
|
+
columnChooser.init([], []);
|
|
18
|
+
columnChooser.markAsUnsaved();
|
|
19
|
+
presenter.updateView(columnChooser.toObject());
|
|
20
|
+
|
|
21
|
+
if (!isSaved) {
|
|
22
|
+
dispatch({
|
|
23
|
+
type: COLUMN_CHOOSER_BEHAVIOUR_CANCELED,
|
|
24
|
+
payload: {
|
|
25
|
+
selectedArray,
|
|
26
|
+
order
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export default ColumnChooserCloseUseCase;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserOpenUseCase extends AbstractUseCase {
|
|
4
|
+
execute(_ref) {
|
|
5
|
+
let {
|
|
6
|
+
order,
|
|
7
|
+
selectedArray
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
repository,
|
|
11
|
+
presenter
|
|
12
|
+
} = this.dependencies;
|
|
13
|
+
const columnChooser = repository.getColumnChooser();
|
|
14
|
+
columnChooser.init(order, selectedArray);
|
|
15
|
+
presenter.updateView(columnChooser.toObject());
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default ColumnChooserOpenUseCase;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserReorderUseCase extends AbstractUseCase {
|
|
4
|
+
execute(_ref) {
|
|
5
|
+
let {
|
|
6
|
+
fromIndex,
|
|
7
|
+
toIndex
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
repository,
|
|
11
|
+
presenter
|
|
12
|
+
} = this.dependencies;
|
|
13
|
+
const columnChooser = repository.getColumnChooser();
|
|
14
|
+
columnChooser.arrayMoveImmutable(fromIndex, toIndex);
|
|
15
|
+
presenter.updateView(columnChooser.toObject());
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default ColumnChooserReorderUseCase;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
import { COLUMN_CHOOSER_BEHAVIOUR_UPDATED } from "../../../../bc/column-chooser/Constants";
|
|
3
|
+
|
|
4
|
+
class ColumnChooserSaveUseCase extends AbstractUseCase {
|
|
5
|
+
execute(_ref) {
|
|
6
|
+
let {
|
|
7
|
+
dispatch
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
repository,
|
|
11
|
+
presenter
|
|
12
|
+
} = this.dependencies;
|
|
13
|
+
const columnChooser = repository.getColumnChooser();
|
|
14
|
+
const selectedArray = columnChooser.getSelectedWithOrder();
|
|
15
|
+
const order = columnChooser.getOrder();
|
|
16
|
+
columnChooser.markAsSaved();
|
|
17
|
+
presenter.updateView(columnChooser.toObject()); // TODO: exposer.columnChooserUpdated({ fields });
|
|
18
|
+
|
|
19
|
+
dispatch({
|
|
20
|
+
type: COLUMN_CHOOSER_BEHAVIOUR_UPDATED,
|
|
21
|
+
payload: {
|
|
22
|
+
selectedArray,
|
|
23
|
+
order
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
presenter.updateView(columnChooser.toObject());
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default ColumnChooserSaveUseCase;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserSearchUseCase extends AbstractUseCase {
|
|
4
|
+
execute(_ref) {
|
|
5
|
+
let {
|
|
6
|
+
searchText
|
|
7
|
+
} = _ref;
|
|
8
|
+
const {
|
|
9
|
+
repository,
|
|
10
|
+
presenter
|
|
11
|
+
} = this.dependencies;
|
|
12
|
+
const columnChooser = repository.getColumnChooser();
|
|
13
|
+
columnChooser.setSearchText(searchText);
|
|
14
|
+
presenter.updateView(columnChooser.toObject());
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default ColumnChooserSearchUseCase;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class ColumnChooserSelectUseCase extends AbstractUseCase {
|
|
4
|
+
execute(_ref) {
|
|
5
|
+
let {
|
|
6
|
+
columnId,
|
|
7
|
+
isChecked
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
repository,
|
|
11
|
+
presenter
|
|
12
|
+
} = this.dependencies;
|
|
13
|
+
const columnChooser = repository.getColumnChooser();
|
|
14
|
+
|
|
15
|
+
if (isChecked) {
|
|
16
|
+
columnChooser.select(columnId);
|
|
17
|
+
} else {
|
|
18
|
+
columnChooser.deselect(columnId);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
presenter.updateView(columnChooser.toObject());
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default ColumnChooserSelectUseCase;
|