@zohodesk/library-platform 1.0.0-exp.3 → 1.0.0-exp.5
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/cc/component/properties/getRefPropertySchema.js +10 -0
- package/es/cc/fields/field/Types.js +21 -0
- package/es/cc/fields/multi-select/Model.js +4 -6
- package/es/desk-frameworks/table-connected/frameworks/TableConnectedView.js +5 -3
- package/es/library/behaviours/list-selection/adapters/controllers/AllSelectionController.js +1 -1
- package/es/library/behaviours/list-selection/adapters/controllers/DestructController.js +1 -6
- package/es/library/behaviours/list-selection/adapters/controllers/InitializeController.js +2 -8
- package/es/library/behaviours/list-selection/adapters/gateways/Repository.js +9 -3
- package/es/library/behaviours/list-selection/entities/ListItemSelection.js +1 -1
- package/es/library/behaviours/list-selection/frameworks/ActionHandlerFactory.js +15 -15
- package/es/library/behaviours/list-selection/frameworks/ListItemSelectionBehaviourFactory.js +1 -6
- package/es/library/behaviours/list-selection/usecases/interactors/AllItemSelection.js +1 -1
- package/es/library/behaviours/list-selection/usecases/interactors/Destruct.js +1 -1
- package/es/library/behaviours/list-selection/usecases/interactors/Initialize.js +1 -1
- package/es/library/behaviours/sort-by/adapters/gateway/Repository.js +4 -1
- package/es/library/behaviours/sort-by/frameworks/ui/DemoBehaviour.js +2 -6
- package/es/library/behaviours/text-to-field-click/adapters/controllers/ClickController.js +23 -0
- package/es/library/behaviours/text-to-field-click/adapters/gateway/Repository.js +20 -0
- package/es/library/behaviours/text-to-field-click/entities/FieldEventConverter.js +19 -0
- package/es/library/behaviours/text-to-field-click/frameworks/ui/EventHandlersFactory.js +17 -0
- package/es/library/behaviours/text-to-field-click/frameworks/ui/TextToFieldClickBehaviourFactory.js +15 -0
- package/es/library/behaviours/text-to-field-click/usecases/interactors/AbstractUseCase.js +15 -0
- package/es/library/behaviours/text-to-field-click/usecases/interactors/ClickUseCase.js +17 -0
- package/es/library/custom-component/adapters/controllers/Controller.js +24 -6
- package/es/library/custom-component/adapters/gateways/event-manager/EventManager.js +30 -13
- package/es/library/custom-component/adapters/presenters/Presenter.js +0 -7
- package/es/library/custom-component/entities/Component.js +26 -24
- package/es/library/custom-component/entities/Properties.js +52 -66
- package/es/library/custom-component/entities/getRef.js +2 -2
- package/es/library/custom-component/frameworks/json-schema-validator/Validator.js +15 -0
- package/es/library/custom-component/frameworks/object-path-immutable/ImmutableHelper.js +2 -0
- package/es/library/custom-component/frameworks/ui/ComponentRegistry.js +0 -1
- package/es/library/custom-component/frameworks/ui/{createCustomComponent.js → CreateCustomComponent.js} +31 -29
- package/es/library/custom-component/frameworks/ui/CustomComponentFactory.js +56 -0
- package/es/library/custom-component/frameworks/ui/DependencyFactory.js +34 -0
- package/es/library/custom-component/index.js +1 -1
- package/es/library/custom-component/usecases/entities-factory/BehavioursFactory.js +31 -29
- package/es/library/custom-component/usecases/entities-factory/ComponentFactory.js +21 -7
- package/es/library/custom-component/usecases/interactors/InitializeUseCase.js +1 -3
- package/es/library/custom-component/usecases/interactors/UpdatePropertyUseCase.js +1 -1
- package/es/library/dot/components/action-location/adapters/gateway/RepositoryOld.js +32 -0
- package/es/library/dot/components/action-location/entities/ActionLocationEntity.js +5 -5
- package/es/library/dot/components/action-location/frameworks/ui/ActionLocationView.js +3 -2
- package/es/library/dot/components/action-location/usecases/interactors/AbstractUseCase.js +6 -2
- package/es/library/dot/components/table-list/adapters/presenters/TableTranslator.js +39 -19
- package/es/library/dot/components/table-list/frameworks/ui/EventHandlersFactory.js +7 -16
- package/es/library/dot/components/table-list/frameworks/ui/TableList.js +1 -6
- package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +64 -20
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +22 -7
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/NoData.js +3 -1
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +39 -33
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/field/FieldComponent.js +3 -1
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/Headers.js +2 -2
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +49 -4
- package/es/library/dot/legacy-to-new-arch/avatar/frameworks/ui/AvatarView.js +35 -31
- package/es/library/dot/legacy-to-new-arch/email/frameworks/ui/EmailView.js +2 -2
- package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxField.js +13 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxFieldView.js +18 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/EventHandlersFactory.js +29 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/currency-field/frameworks/ui/CurrencyField.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/currency-field/frameworks/ui/CurrencyFieldView.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/date-field/frameworks/ui/DateField.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/date-field/frameworks/ui/DateFieldView.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/datetime-field/frameworks/ui/DateTimeField.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/datetime-field/frameworks/ui/DateTimeFieldView.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/decimal-field/frameworks/ui/DecimalField.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/decimal-field/frameworks/ui/DecimalFieldView.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailField.js +12 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailFieldView.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/index.js +34 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupField.js +12 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupFieldView.js +18 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/multiselect-field/frameworks/ui/MultiSelectField.js +12 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/multiselect-field/frameworks/ui/MultiSelectFieldView.js +18 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/number-field/frameworks/ui/NumberField.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/number-field/frameworks/ui/NumberFieldView.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/percentage-field/frameworks/ui/PercentageField.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/percentage-field/frameworks/ui/PercentageFieldView.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/phone-field/frameworks/ui/PhoneField.js +12 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/phone-field/frameworks/ui/PhoneFieldView.js +21 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/picklist-field/frameworks/ui/PickListField.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/picklist-field/frameworks/ui/PickListFieldView.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/singleline-field/frameworks/ui/SingleLineField.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/singleline-field/frameworks/ui/SingleLineFieldView.js +15 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/EventHandlersFactory.js +29 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchField.js +13 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchFieldView.js +17 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/url-field/frameworks/ui/EventHandlersFactory.js +26 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/url-field/frameworks/ui/UrlField.js +13 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/url-field/frameworks/ui/UrlFieldView.js +17 -0
- package/es/library/index.js +1 -1
- package/es/platform/data-broker/http-template/deleteRecords.js +1 -2
- package/es/platform/data-broker/http-template/getAvailableFields.js +0 -2
- package/es/platform/data-broker/http-template/getRecords.js +0 -1
- package/es/platform/data-broker/http-template/getSelectedFields.js +0 -16
- package/es/platform/data-broker/http-template/getUIActions.js +3 -3
- package/es/platform/data-broker/utils/transformer/{createCf.js → CreateCf.js} +1 -0
- package/es/platform/data-broker/utils/transformer/Transformer.js +28 -0
- package/es/platform/zfield/adapters/controllers/ExeucteActionController.js +0 -3
- package/es/platform/zfield/adapters/gateways/Repository.js +5 -2
- package/es/platform/zfield/adapters/presenters/Presenter.js +4 -3
- package/es/platform/zfield/entities/fields-manager/FieldsManager.js +6 -2
- package/es/platform/zfield/entities/interfaces/FieldApiName.js +7 -0
- package/es/platform/zfield/entities/interfaces/IField.js +0 -1
- package/es/platform/zfield/frameworks/ActionHandlerFactory.js +16 -16
- package/es/platform/zfield/frameworks/ZFieldBehaviourFactory.js +1 -7
- package/es/platform/zfield/usecases/entities-factory/FieldBuilder.js +110 -0
- package/es/platform/zfield/usecases/entities-factory/FieldFactory.js +10 -0
- package/es/platform/zfield/usecases/entities-factory/FieldsManagerBuilder.js +49 -0
- package/es/platform/zfield/usecases/entity-factory/FieldFactory.js +1 -16
- package/es/platform/zfield/usecases/interactors/RefetchUseCase.js +1 -3
- package/es/platform/zfield/usecases/interfaces/input/FetchInputModel.js +1 -7
- package/es/platform/zlist/adapters/presenters/TableTranslator.js +12 -12
- package/es/platform/zlist/adapters/presenters/translators/EmptyViewModel.js +3 -3
- package/es/platform/zlist/adapters/presenters/translators/RowActionTranslator.js +1 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/BooleanFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/CurrencyFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/DateFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/DateTimeFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/DecimalFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/EmailFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/MultiLineFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/MultiSelectFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/NumberFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/PercentageFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/PhoneFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/PickListFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/SingleLineFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/translators/fields/URLFieldTranslator.js +2 -2
- package/es/platform/zlist/adapters/presenters/utils/Pipeline.js +28 -0
- package/es/platform/zlist/entities/List.js +3 -3
- package/es/platform/zlist/usecases/interactors/AbstractUseCase.js +1 -1
- package/es/platform/zlist/usecases/interactors/InitializeUseCase.js +3 -1
- package/es/platform/zlist/usecases/interactors/PropertiesChangeUseCase.js +3 -1
- package/es/platform/zrecord/entities/Record.js +2 -17
- package/es/platform/zrecord/entities/RecordsManager.js +0 -1
- package/es/platform/zrecord/entities/interfaces/ApiEnum.js +10 -0
- package/es/platform/zrecord/usecases/interactors/AbstractUseCase.js +6 -2
- package/es/platform/zrecord/usecases/interfaces/output/IPresenter.js +1 -0
- package/package.json +6 -5
- package/es/library/behaviours/local-storage/adapters/controllers/handlers/Mount.js +0 -0
- package/es/library/behaviours/local-storage/adapters/controllers/handlers/SetData.js +0 -0
- package/es/library/behaviours/local-storage/adapters/controllers/handlers/UnMount.js +0 -0
- package/es/library/behaviours/local-storage/entities/Storage.js +0 -22
- package/es/library/behaviours/local-storage/usecases/interactors/AbstractUseCase.js +0 -8
- package/es/library/behaviours/local-storage/usecases/interactors/DeleteData.js +0 -15
- package/es/library/behaviours/local-storage/usecases/interactors/GetData.js +0 -16
- package/es/library/behaviours/local-storage/usecases/interactors/SetData.js +0 -15
- package/es/library/behaviours/local-storage/usecases/interfaces/UseCase.js +0 -1
- package/es/library/behaviours/local-storage/usecases/interfaces/input/DeleteDataInput.js +0 -1
- package/es/library/behaviours/local-storage/usecases/interfaces/input/GetDataInput.js +0 -1
- package/es/library/behaviours/local-storage/usecases/interfaces/input/SetDataInput.js +0 -1
- package/es/library/behaviours/local-storage/usecases/interfaces/output/IPresenter.js +0 -1
- package/es/library/behaviours/mouse-resizable/adapters/controllers/handlers/MountHandler.js +0 -8
- package/es/library/behaviours/mouse-resizable/adapters/controllers/handlers/StartResize.js +0 -10
- package/es/library/behaviours/mouse-resizable/adapters/controllers/handlers/UnMountHandler.js +0 -0
- package/es/library/behaviours/mouse-resizable/frameworks/MouseResizableFactory.js +0 -32
- package/es/library/behaviours/table-column-resizer/adapters/controllers/handlers/HandleDragStart.js +0 -0
- package/es/library/custom-component/frameworks/json-schema-validator/validator.js +0 -9
- package/es/library/custom-component/frameworks/ui/dependencyFactory.js +0 -29
- package/es/platform/data-broker/utils/transformer/transformer.js +0 -25
- package/es/platform/zlist/adapters/presenters/utils/pipeline.js +0 -25
- package/es/platform/zlist/adapters/presenters/utils/replacer.js +0 -9
- package/es/platform/zlist/adapters/presenters/utils/selectn.js +0 -7
- package/es/platform/zrecord/entities/interfaces/apiEnum.js +0 -1
- /package/es/library/behaviours/{local-storage/entities/interfaces/ILocalStorage.js → text-to-field-click/entities/interfaces/IFieldEventConverter.js} +0 -0
- /package/es/library/behaviours/{local-storage/entities/interfaces/IStorage.js → text-to-field-click/usecases/interfaces/UseCaseDependencies.js} +0 -0
- /package/es/library/behaviours/{local-storage → text-to-field-click}/usecases/interfaces/gateways/IRepository.js +0 -0
- /package/es/library/behaviours/{local-storage/usecases/interfaces/InputDependencies.js → text-to-field-click/usecases/interfaces/input/ClickUseCaseInputModel.js} +0 -0
- /package/es/library/custom-component/entities/{defaultAppendToActionPayload.js → DefaultAppendToActionPayload.js} +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var Types = /*#__PURE__*/function (Types) {
|
|
2
|
+
Types["CheckboxField"] = "CheckboxField";
|
|
3
|
+
Types["SwitchField"] = "SwitchField";
|
|
4
|
+
Types["SingleLineField"] = "SingleLineField";
|
|
5
|
+
Types["MultiLineField"] = "MultiLineField";
|
|
6
|
+
Types["EmailField"] = "EmailField";
|
|
7
|
+
Types["URLField"] = "URLField";
|
|
8
|
+
Types["PhoneField"] = "PhoneField";
|
|
9
|
+
Types["CurrencyField"] = "CurrencyField";
|
|
10
|
+
Types["LookUpField"] = "LookUpField";
|
|
11
|
+
Types["PickListField"] = "PickListField";
|
|
12
|
+
Types["PercentageField"] = "PercentageField";
|
|
13
|
+
Types["DateField"] = "DateField";
|
|
14
|
+
Types["DateTimeField"] = "DateTimeField";
|
|
15
|
+
Types["NumberField"] = "NumberField";
|
|
16
|
+
Types["DecimalField"] = "DecimalField";
|
|
17
|
+
Types["MultiSelectField"] = "MultiSelectField";
|
|
18
|
+
return Types;
|
|
19
|
+
}(Types || {});
|
|
20
|
+
|
|
21
|
+
export default Types;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
function MultiListFieldModel(_ref) {
|
|
2
2
|
let {
|
|
3
3
|
name,
|
|
4
4
|
value,
|
|
5
|
-
options,
|
|
6
|
-
subType,
|
|
7
5
|
uiType
|
|
8
6
|
} = _ref;
|
|
9
7
|
return {
|
|
10
8
|
name,
|
|
11
9
|
type: uiType,
|
|
12
|
-
// options,
|
|
13
|
-
// subType,
|
|
14
10
|
value
|
|
15
11
|
};
|
|
16
|
-
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default MultiListFieldModel;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import TableList from "../../../library/dot/components/table-list/frameworks/ui/TableList";
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
function View(_ref, ref) {
|
|
5
6
|
let {
|
|
6
|
-
state
|
|
7
|
-
helpers
|
|
7
|
+
state
|
|
8
8
|
} = _ref;
|
|
9
9
|
const {
|
|
10
10
|
isLoading,
|
|
@@ -27,6 +27,8 @@ export default function View(_ref, ref) {
|
|
|
27
27
|
selectionConfig: properties.selectionConfig
|
|
28
28
|
}));
|
|
29
29
|
}
|
|
30
|
+
|
|
31
|
+
export default View;
|
|
30
32
|
View.propTypes = {
|
|
31
33
|
state: PropTypes.string
|
|
32
34
|
};
|
|
@@ -9,13 +9,8 @@ class DestructController extends AbstractController {
|
|
|
9
9
|
state,
|
|
10
10
|
updateState
|
|
11
11
|
} = event;
|
|
12
|
-
const {
|
|
13
|
-
selected
|
|
14
|
-
} = state.behaviours.selection;
|
|
15
12
|
destructUseCase.updateDependencies(state, updateState);
|
|
16
|
-
destructUseCase.execute(
|
|
17
|
-
selected
|
|
18
|
-
});
|
|
13
|
+
destructUseCase.execute();
|
|
19
14
|
}
|
|
20
15
|
|
|
21
16
|
}
|
|
@@ -7,16 +7,10 @@ class InitializeController extends AbstractController {
|
|
|
7
7
|
} = this.service;
|
|
8
8
|
const {
|
|
9
9
|
state,
|
|
10
|
-
updateState
|
|
11
|
-
dispatch
|
|
10
|
+
updateState
|
|
12
11
|
} = event;
|
|
13
|
-
const {
|
|
14
|
-
selected
|
|
15
|
-
} = state.behaviours.selection;
|
|
16
12
|
initializeUseCase.updateDependencies(state, updateState);
|
|
17
|
-
initializeUseCase.execute(
|
|
18
|
-
selected
|
|
19
|
-
});
|
|
13
|
+
initializeUseCase.execute();
|
|
20
14
|
}
|
|
21
15
|
|
|
22
16
|
}
|
|
@@ -12,15 +12,21 @@ class Repository {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
getListItemSelection() {
|
|
15
|
-
|
|
15
|
+
const {
|
|
16
|
+
behaviours,
|
|
17
|
+
properties
|
|
18
|
+
} = this.state;
|
|
19
|
+
/* eslint-disable-next-line @zohodesk/architecturerules/no-defaultProps-rule */
|
|
16
20
|
|
|
17
21
|
const {
|
|
18
22
|
selected
|
|
19
|
-
} = (
|
|
23
|
+
} = (behaviours === null || behaviours === void 0 ? void 0 : behaviours.selection) || {};
|
|
24
|
+
/* eslint-disable-next-line @zohodesk/architecturerules/no-defaultProps-rule */
|
|
25
|
+
|
|
20
26
|
const {
|
|
21
27
|
selectionConfig,
|
|
22
28
|
data
|
|
23
|
-
} =
|
|
29
|
+
} = properties || {};
|
|
24
30
|
const itemIds = data === null || data === void 0 ? void 0 : data.rows.map(item => item.id);
|
|
25
31
|
const maxSelectionCount = selectionConfig === null || selectionConfig === void 0 ? void 0 : selectionConfig.maxSelectionCount;
|
|
26
32
|
return new ListItemSelection(selected, itemIds, maxSelectionCount);
|
|
@@ -3,7 +3,7 @@ class ListItemSelection {
|
|
|
3
3
|
this.selected = selected;
|
|
4
4
|
this.itemIds = itemIds;
|
|
5
5
|
this.maxSelectionCount = maxSelectionCount;
|
|
6
|
-
this.selected = this.selected.filter(selectedId => this.itemIds.includes(selectedId)); // Remove items that does not exist
|
|
6
|
+
this.selected = this.selected.filter(selectedId => this.itemIds.includes(selectedId)); // NOTE: Remove items that does not exist
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
selectItem(id) {
|
|
@@ -11,27 +11,27 @@ import DestructController from "../adapters/controllers/DestructController";
|
|
|
11
11
|
|
|
12
12
|
class ActionHandlerFactory {
|
|
13
13
|
static create() {
|
|
14
|
+
const service = this.createService();
|
|
15
|
+
return this.createHandlers(service);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static createService() {
|
|
14
19
|
const repository = new Repository();
|
|
15
20
|
const presenter = new Presenter();
|
|
16
|
-
|
|
21
|
+
return new Service({
|
|
17
22
|
repository,
|
|
18
23
|
presenter
|
|
19
24
|
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
destruct: new DestructController(service).handle,
|
|
24
|
-
toggleItems: new SelectionController(service).handle,
|
|
25
|
-
toggleAll: new AllSelectionController(service).handle,
|
|
26
|
-
toggleRange: new RangeSelectionController(service).handle
|
|
27
|
-
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static createHandlers(service) {
|
|
28
28
|
return {
|
|
29
|
-
['MOUNT']:
|
|
30
|
-
['UPDATE_PROPERTIES']:
|
|
31
|
-
['UNMOUNT']:
|
|
32
|
-
[LIST_SELECTION_TOGGLE_ITEMS]:
|
|
33
|
-
[LIST_SELECTION_TOGGLE_ALL]:
|
|
34
|
-
[LIST_SELECTION_TOGGLE_ITEMS_IN_RANGE]:
|
|
29
|
+
['MOUNT']: new InitializeController(service).handle,
|
|
30
|
+
['UPDATE_PROPERTIES']: new UpdateController(service).handle,
|
|
31
|
+
['UNMOUNT']: new DestructController(service).handle,
|
|
32
|
+
[LIST_SELECTION_TOGGLE_ITEMS]: new SelectionController(service).handle,
|
|
33
|
+
[LIST_SELECTION_TOGGLE_ALL]: new AllSelectionController(service).handle,
|
|
34
|
+
[LIST_SELECTION_TOGGLE_ITEMS_IN_RANGE]: new RangeSelectionController(service).handle
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
|
package/es/library/behaviours/list-selection/frameworks/ListItemSelectionBehaviourFactory.js
CHANGED
|
@@ -6,12 +6,7 @@ class ListItemSelectionBehaviourFactory {
|
|
|
6
6
|
static create() {
|
|
7
7
|
return {
|
|
8
8
|
name: 'selection',
|
|
9
|
-
setInitialState:
|
|
10
|
-
let {
|
|
11
|
-
properties
|
|
12
|
-
} = _ref;
|
|
13
|
-
// We are not giving this feature!
|
|
14
|
-
// const { selectedItems } = properties.selectionConfig.selectedItems;
|
|
9
|
+
setInitialState: () => {
|
|
15
10
|
return {
|
|
16
11
|
selected: [],
|
|
17
12
|
hasAllSelected: false
|
|
@@ -11,11 +11,14 @@ export default class Repository {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
getSortByEntity() {
|
|
14
|
+
const {
|
|
15
|
+
behaviours
|
|
16
|
+
} = this.state;
|
|
14
17
|
const {
|
|
15
18
|
id,
|
|
16
19
|
name,
|
|
17
20
|
order
|
|
18
|
-
} =
|
|
21
|
+
} = behaviours.sortBy;
|
|
19
22
|
return new SortBy(id, name, order);
|
|
20
23
|
}
|
|
21
24
|
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import Properties from "../../../../../bc/sort-by/Properties";
|
|
2
2
|
|
|
3
|
+
// REVIEW: Class never used
|
|
3
4
|
class DemoBehaviour {
|
|
4
5
|
static create() {
|
|
5
6
|
return {
|
|
6
7
|
name: 'demo_behaviour',
|
|
7
|
-
setInitialState:
|
|
8
|
-
let {
|
|
9
|
-
properties
|
|
10
|
-
} = _ref;
|
|
11
|
-
return {};
|
|
12
|
-
},
|
|
8
|
+
setInitialState: () => ({}),
|
|
13
9
|
properties: Properties,
|
|
14
10
|
eventHandlers: {
|
|
15
11
|
"DEMO": () => {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
class ClickController {
|
|
2
|
+
constructor(clickUseCase) {
|
|
3
|
+
this.clickUseCase = clickUseCase;
|
|
4
|
+
this.handle = this.handle.bind(this);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
handle(event) {
|
|
8
|
+
const {
|
|
9
|
+
state,
|
|
10
|
+
dispatch
|
|
11
|
+
} = event;
|
|
12
|
+
const {
|
|
13
|
+
clickUseCase
|
|
14
|
+
} = this;
|
|
15
|
+
clickUseCase.updateDependencies(state);
|
|
16
|
+
clickUseCase.execute({
|
|
17
|
+
dispatch
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default ClickController;
|
|
@@ -0,0 +1,20 @@
|
|
|
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 FieldEventConverter from "../../entities/FieldEventConverter";
|
|
4
|
+
export default class Repository {
|
|
5
|
+
constructor() {
|
|
6
|
+
_defineProperty(this, "state", void 0);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
init(state) {
|
|
10
|
+
this.state = state;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
getFieldEventConverter() {
|
|
14
|
+
const {
|
|
15
|
+
name
|
|
16
|
+
} = this.state.properties;
|
|
17
|
+
return new FieldEventConverter(name);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import FieldConstants from "../../../../cc/fields/field/Constants";
|
|
2
|
+
|
|
3
|
+
class FieldEventConverter {
|
|
4
|
+
constructor(fieldName) {
|
|
5
|
+
this.fieldName = fieldName;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
getFieldClickEvent() {
|
|
9
|
+
return {
|
|
10
|
+
type: FieldConstants.FIELD_CLICKED,
|
|
11
|
+
payload: {
|
|
12
|
+
fieldName: this.fieldName
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default FieldEventConverter;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import TextConstants from "../../../../../cc/text/Constants";
|
|
2
|
+
import Repository from "../../adapters/gateway/Repository";
|
|
3
|
+
import ClickController from "../../adapters/controllers/ClickController";
|
|
4
|
+
import ClickUseCase from "../../usecases/interactors/ClickUseCase";
|
|
5
|
+
export class EventHandlersFactory {
|
|
6
|
+
static create() {
|
|
7
|
+
const repository = new Repository();
|
|
8
|
+
const clickUseCase = new ClickUseCase({
|
|
9
|
+
repository
|
|
10
|
+
});
|
|
11
|
+
const clickController = new ClickController(clickUseCase);
|
|
12
|
+
return {
|
|
13
|
+
[TextConstants.TEXT_CLICKED]: clickController.handle
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
package/es/library/behaviours/text-to-field-click/frameworks/ui/TextToFieldClickBehaviourFactory.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EventHandlersFactory } from "./EventHandlersFactory";
|
|
2
|
+
|
|
3
|
+
class TextToFieldClickBehaviourFactory {
|
|
4
|
+
static create() {
|
|
5
|
+
return {
|
|
6
|
+
name: 'textToFieldClick',
|
|
7
|
+
setInitialState: () => undefined,
|
|
8
|
+
properties: {},
|
|
9
|
+
eventHandlers: EventHandlersFactory.create()
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default TextToFieldClickBehaviourFactory;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
class AbstractUseCase {
|
|
2
|
+
constructor(dependencies) {
|
|
3
|
+
this.dependencies = dependencies;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
updateDependencies(state) {
|
|
7
|
+
const {
|
|
8
|
+
repository
|
|
9
|
+
} = this.dependencies;
|
|
10
|
+
repository.init(state);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default AbstractUseCase;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class ClickUseCase extends AbstractUseCase {
|
|
4
|
+
execute(input) {
|
|
5
|
+
const {
|
|
6
|
+
repository
|
|
7
|
+
} = this.dependencies;
|
|
8
|
+
const {
|
|
9
|
+
dispatch
|
|
10
|
+
} = input;
|
|
11
|
+
const fieldEventConverter = repository.getFieldEventConverter();
|
|
12
|
+
dispatch(fieldEventConverter.getFieldClickEvent());
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default ClickUseCase;
|
|
@@ -4,27 +4,45 @@ class Controller {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
initialize(input) {
|
|
7
|
-
|
|
7
|
+
const {
|
|
8
|
+
initializeUseCase
|
|
9
|
+
} = this.service;
|
|
10
|
+
initializeUseCase.execute(input);
|
|
8
11
|
}
|
|
9
12
|
|
|
10
13
|
mount() {
|
|
11
|
-
|
|
14
|
+
const {
|
|
15
|
+
mountUseCase
|
|
16
|
+
} = this.service;
|
|
17
|
+
mountUseCase.execute();
|
|
12
18
|
}
|
|
13
19
|
|
|
14
20
|
unmount() {
|
|
15
|
-
|
|
21
|
+
const {
|
|
22
|
+
unmountUseCase
|
|
23
|
+
} = this.service;
|
|
24
|
+
unmountUseCase.execute();
|
|
16
25
|
}
|
|
17
26
|
|
|
18
27
|
updateProperties(newProps) {
|
|
19
|
-
|
|
28
|
+
const {
|
|
29
|
+
updatePropertiesUseCase
|
|
30
|
+
} = this.service;
|
|
31
|
+
updatePropertiesUseCase.execute(newProps);
|
|
20
32
|
}
|
|
21
33
|
|
|
22
34
|
updateState(newState) {
|
|
23
|
-
|
|
35
|
+
const {
|
|
36
|
+
updateStateUseCase
|
|
37
|
+
} = this.service;
|
|
38
|
+
updateStateUseCase.execute(newState);
|
|
24
39
|
}
|
|
25
40
|
|
|
26
41
|
dispatch(action) {
|
|
27
|
-
|
|
42
|
+
const {
|
|
43
|
+
dispatchUseCase
|
|
44
|
+
} = this.service;
|
|
45
|
+
dispatchUseCase.execute(action);
|
|
28
46
|
}
|
|
29
47
|
|
|
30
48
|
}
|
|
@@ -22,7 +22,7 @@ class EventManager {
|
|
|
22
22
|
events.forEach((eventHandlers, key) => {
|
|
23
23
|
this._element && eventHandlers.map(eventHandler => {
|
|
24
24
|
this._element.addEventListener(key, eventHandler);
|
|
25
|
-
});
|
|
25
|
+
});
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
|
|
@@ -39,25 +39,29 @@ class EventManager {
|
|
|
39
39
|
payload,
|
|
40
40
|
metaData,
|
|
41
41
|
type
|
|
42
|
-
} = event;
|
|
43
|
-
|
|
44
|
-
if (__DEVELOPMENT__) {
|
|
45
|
-
if (globalThis.enableEventLogging && type) {
|
|
46
|
-
const index = type.indexOf('#');
|
|
47
|
-
console.log('%cEvent %c' + type.slice(0, index) + '%c' + type.slice(index), 'color: cyan;font-weight: bold', 'color: yellow;font-weight: bold', 'color: greenyellow;font-weight: bold', {
|
|
48
|
-
payload,
|
|
49
|
-
metaData
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}
|
|
42
|
+
} = event;
|
|
43
|
+
this.log(type, payload, metaData);
|
|
53
44
|
|
|
54
45
|
if (!this._element) {
|
|
55
|
-
console.error('Error
|
|
46
|
+
console.error('Error: Element `ref` not found!', this._element, type, {
|
|
56
47
|
payload,
|
|
57
48
|
metaData
|
|
58
49
|
});
|
|
59
50
|
}
|
|
60
51
|
|
|
52
|
+
this.dispatchEvent({
|
|
53
|
+
type,
|
|
54
|
+
payload,
|
|
55
|
+
metaData
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
dispatchEvent(event) {
|
|
60
|
+
let {
|
|
61
|
+
payload,
|
|
62
|
+
metaData,
|
|
63
|
+
type
|
|
64
|
+
} = event;
|
|
61
65
|
this._element && this._element.dispatchEvent(new CustomEvent(type, {
|
|
62
66
|
bubbles: true,
|
|
63
67
|
detail: {
|
|
@@ -67,6 +71,19 @@ class EventManager {
|
|
|
67
71
|
}));
|
|
68
72
|
}
|
|
69
73
|
|
|
74
|
+
log(type, payload, metaData) {
|
|
75
|
+
// @ts-ignore
|
|
76
|
+
if (__DEVELOPMENT__) {
|
|
77
|
+
if (globalThis.enableEventLogging && type) {
|
|
78
|
+
const index = type.indexOf('#');
|
|
79
|
+
console.log('%cEvent %c' + type.slice(0, index) + '%c' + type.slice(index), 'color: cyan;font-weight: bold', 'color: yellow;font-weight: bold', 'color: greenyellow;font-weight: bold', {
|
|
80
|
+
payload,
|
|
81
|
+
metaData
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
70
87
|
}
|
|
71
88
|
|
|
72
89
|
export default EventManager;
|
|
@@ -85,7 +85,7 @@ export default class Component {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
setStateInitializer(_stateInitializer) {
|
|
88
|
-
this._stateInitializer = _stateInitializer;
|
|
88
|
+
this._stateInitializer = typeof _stateInitializer !== 'function' ? input => input : _stateInitializer;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
setBehaviours(behaviours) {
|
|
@@ -120,32 +120,32 @@ export default class Component {
|
|
|
120
120
|
this._state.updateState(state);
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
+
getAllBehavioursInitialState() {
|
|
124
|
+
let allBehavioursInitialState = {};
|
|
125
|
+
|
|
126
|
+
this._behaviours.map(behaviour => {
|
|
127
|
+
allBehavioursInitialState = { ...allBehavioursInitialState,
|
|
128
|
+
...behaviour.getInitialState()
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
return allBehavioursInitialState;
|
|
133
|
+
}
|
|
134
|
+
|
|
123
135
|
init(jsonValidator, newProps) {
|
|
124
136
|
this.updateProperties(jsonValidator, newProps);
|
|
125
137
|
|
|
126
|
-
|
|
138
|
+
const properties = this._properties.getAllPropertiesValue();
|
|
127
139
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
if (this._behaviours) {
|
|
139
|
-
this._behaviours.map(behaviour => {
|
|
140
|
-
/* hack performance impact need to use object path immutable*/
|
|
141
|
-
let state = this.getState();
|
|
142
|
-
this.updateState({
|
|
143
|
-
behaviours: { ...state.behaviours,
|
|
144
|
-
...behaviour.getInitialState()
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
}
|
|
140
|
+
const behaviours = this.getAllBehavioursInitialState();
|
|
141
|
+
|
|
142
|
+
const initialState = this._stateInitializer({
|
|
143
|
+
properties
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
this.updateState({ ...initialState,
|
|
147
|
+
behaviours
|
|
148
|
+
});
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
getProperties() {
|
|
@@ -164,6 +164,9 @@ export default class Component {
|
|
|
164
164
|
|
|
165
165
|
return boundEventHandlers;
|
|
166
166
|
}
|
|
167
|
+
/* eslint-disable max-lines-per-function */
|
|
168
|
+
// TODO: Refactor this function to reduce the number of lines
|
|
169
|
+
|
|
167
170
|
|
|
168
171
|
createEventHandlers(helpers) {
|
|
169
172
|
let eventHandlers = this._eventHandlers.getEventHandlers();
|
|
@@ -173,7 +176,6 @@ export default class Component {
|
|
|
173
176
|
let createActionToEventHandler = (eventHandlers, eventHandlerMap) => {
|
|
174
177
|
eventHandlers.forEach((actionHandler, key) => {
|
|
175
178
|
let eventHandler = new EventHandler(key, event => {
|
|
176
|
-
//event validate with action payload
|
|
177
179
|
let state = this.getState();
|
|
178
180
|
let action = event.detail;
|
|
179
181
|
actionHandler({
|