@zohodesk/library-platform 1.1.12-exp.1 → 1.1.12-exp.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/app-context/Properties.js +19 -0
- package/es/bc/float-pagination/ActionHandlers.js +1 -0
- package/es/bc/float-pagination/Constants.js +4 -0
- package/es/bc/float-pagination/Properties.js +18 -0
- package/es/bc/float-pagination/index.js +2 -0
- package/es/bc/index.js +0 -1
- package/es/bc/search/Constants.js +3 -0
- package/es/bc/search/EventHandlers.js +1 -0
- package/es/bc/search/Properties.js +11 -0
- package/es/bc/search/index.js +2 -0
- package/es/bc/zlist/Constants.js +0 -1
- package/es/bc/zlist/Types.js +10 -0
- package/es/bc/zrecord/Constants.js +1 -0
- package/es/bc/zrecord/Schemas.js +29 -0
- package/es/bc/zrecord/Types.js +45 -0
- package/es/cc/action-icon/Properties.js +20 -1
- package/es/cc/floating-pagination/Constants.js +6 -0
- package/es/cc/floating-pagination/Events.js +8 -0
- package/es/cc/floating-pagination/Properties.js +56 -0
- package/es/cc/floating-pagination/index.js +3 -0
- package/es/cc/ribbon/Properties.js +59 -0
- package/es/cc/ribbon/index.js +1 -0
- package/es/cc/table-connected/Properties.js +16 -0
- package/es/cc/table-connected/SdkContract.js +21 -0
- package/es/cc/table-connected/constants/Events.js +2 -0
- package/es/cc/table-list/Actions.js +0 -2
- package/es/cc/table-list/Constants.js +1 -1
- package/es/cc/table-list/Events.js +0 -2
- package/es/cc/table-list/Properties.js +34 -3
- package/es/library/behaviours/float-pagination/adapters/controllers/DestructController.js +18 -0
- package/es/library/behaviours/float-pagination/adapters/controllers/FloatPaginationController.js +25 -0
- package/es/library/behaviours/float-pagination/adapters/controllers/InitializeController.js +18 -0
- package/es/library/behaviours/float-pagination/adapters/controllers/ScrollBottomController.js +23 -0
- package/es/library/behaviours/float-pagination/adapters/controllers/ScrollTopController.js +23 -0
- package/es/library/behaviours/float-pagination/adapters/controllers/UpdateIndexController.js +30 -0
- package/es/library/behaviours/float-pagination/adapters/gateway/Repository.js +27 -0
- package/es/library/behaviours/float-pagination/adapters/gateway/Service.js +20 -0
- package/es/library/behaviours/float-pagination/adapters/presenter/Presenter.js +16 -0
- package/es/library/behaviours/float-pagination/applications/interfaces/input/ScrollTopInputModel.js +1 -0
- package/es/library/behaviours/float-pagination/applications/interfaces/input/ScrollbottomInputModel.js +1 -0
- package/es/library/behaviours/float-pagination/applications/interfaces/input/UpdateIndexInputModel.js +1 -0
- package/es/library/behaviours/float-pagination/applications/interfaces/output/FloatPaginationOutputModel.js +1 -0
- package/es/library/behaviours/float-pagination/applications/interfaces/output/IPresenter.js +1 -0
- package/es/library/behaviours/float-pagination/applications/usecases/DestructUsecase.js +15 -0
- package/es/library/behaviours/float-pagination/applications/usecases/FloatPaginationUseCase.js +31 -0
- package/es/library/behaviours/float-pagination/applications/usecases/InitializeUsecase.js +16 -0
- package/es/library/behaviours/float-pagination/applications/usecases/ScrollBottomUseCase.js +23 -0
- package/es/library/behaviours/float-pagination/applications/usecases/ScrollTopUseCase.js +23 -0
- package/es/library/behaviours/float-pagination/applications/usecases/UpdateIndexUseCase.js +28 -0
- package/es/library/behaviours/float-pagination/domain/entities/FloatPagination.js +28 -0
- package/es/library/behaviours/float-pagination/domain/entities/interfaces/IFloatPagination.js +1 -0
- package/es/library/behaviours/float-pagination/frameworks/ui/ActionsHandlerFactory.js +37 -0
- package/es/library/behaviours/float-pagination/frameworks/ui/FloatPaginationBehaviourFactory.js +21 -0
- package/es/library/behaviours/float-pagination/frameworks/utils.js +70 -0
- package/es/library/behaviours/keyboard-controls/adapters/gateways/Repository.js +2 -1
- package/es/library/behaviours/keyboard-controls/applications/usecases/SpacePress.js +1 -1
- package/es/library/behaviours/keyboard-controls/domain/entities/KeyboardControls.js +6 -1
- package/es/library/behaviours/list-selection/domain/entities/ListItemSelection.js +21 -18
- package/es/library/behaviours/search/adapters/controllers/AbstractController.js +9 -0
- package/es/library/behaviours/search/adapters/controllers/SearchController.js +26 -0
- package/es/library/behaviours/search/adapters/controllers/UpdatePropertiesController.js +27 -0
- package/es/library/behaviours/search/adapters/gateway/Repository.js +20 -0
- package/es/library/behaviours/search/adapters/gateway/Service.js +12 -0
- package/es/library/behaviours/{sort-by → search}/adapters/presenter/Presenter.js +2 -2
- package/es/library/behaviours/search/adapters/presenter/SearchTranslator.js +6 -0
- package/es/library/behaviours/search/applications/interfaces/UseCaseDependencies.js +1 -0
- package/es/library/behaviours/search/applications/interfaces/gateways/IRepository.js +1 -0
- package/es/library/behaviours/search/applications/interfaces/gateways/IService.js +1 -0
- package/es/library/behaviours/search/applications/interfaces/input/SearchInputModel.js +1 -0
- package/es/library/behaviours/search/applications/interfaces/input/UpdatePropertiesInputModel.js +1 -0
- package/es/library/behaviours/search/applications/interfaces/output/IPresenter.js +1 -0
- package/es/library/behaviours/search/applications/interfaces/output/SearchOutputModel.js +1 -0
- package/es/library/behaviours/search/applications/usecases/AbstractUseCase.js +17 -0
- package/es/library/behaviours/search/applications/usecases/SearchUseCase.js +28 -0
- package/es/library/behaviours/search/applications/usecases/UpdatePropertiesUsecase.js +25 -0
- package/es/library/behaviours/search/domain/entities/Search.js +23 -0
- package/es/library/behaviours/search/domain/entities/interfaces/ISearch.js +1 -0
- package/es/library/behaviours/search/frameworks/ui/EventHandlerFactory.js +25 -0
- package/es/library/behaviours/search/frameworks/ui/SearchStringStoreBehaviourFactory.js +26 -0
- package/es/library/custom-component/adapters/gateways/event-manager/EventManager.js +5 -0
- package/es/library/custom-component/domain/entities/ComponentProperties.js +1 -1
- package/es/library/custom-component/domain/entities/Logger.js +3 -3
- package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +3 -1
- package/es/library/dot/components/table-list/adapters/controllers/ScrollController.js +2 -2
- package/es/library/dot/components/table-list/adapters/controllers/index.js +0 -2
- package/es/library/dot/components/table-list/frameworks/ui/EventHandlersFactory.js +1 -2
- package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +24 -1
- package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +19 -2
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +1 -5
- package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIconView.js +5 -1
- package/es/library/dot/legacy-to-new-arch/floating-pagination/frameworks/ui/FloatingPagination.js +10 -0
- package/es/library/dot/legacy-to-new-arch/floating-pagination/frameworks/ui/FloatingPaginationView.js +47 -0
- package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/RadioDropdownView.js +1 -0
- package/es/library/dot/legacy-to-new-arch/ribbon/frameworks/ui/Ribbon.js +10 -0
- package/es/library/dot/legacy-to-new-arch/ribbon/frameworks/ui/RibbonView.js +37 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/EventHandlersFactory.js +14 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/RadioDropdownField.js +17 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/RadioDropdownFieldView.js +1 -1
- package/es/library/dot/legacy-to-new-arch/table-field-components/tags-list-dropdown-field/frameworks/ui/TagsListDropdownField.js +33 -1
- package/es/library/dot/legacy-to-new-arch/table-field-components/tags-list-dropdown-field/frameworks/ui/TagsListDropdownFieldView.js +1 -1
- package/es/platform/components/table-connected/adapters/controllers/ScrollController.js +29 -8
- package/es/platform/components/table-connected/adapters/controllers/ScrollEndReachedController.js +23 -0
- package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +169 -8
- package/es/platform/components/table-connected/frameworks/EventHandlersFactory.js +37 -6
- package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +2 -1
- package/es/platform/components/table-connected/frameworks/TableConnectedView.js +2 -0
- package/es/platform/data-source/http-template/getComponentMapping.js +1 -1
- package/es/platform/data-source/http-template/getRecords.js +1 -0
- package/es/platform/data-source/http-template/getSingleRecord.js +51 -0
- package/es/platform/zform/adapters/controllers/GetInitialRecordSuccessController.js +31 -0
- package/es/platform/zform/applications/interfaces/input/GetInitialRecordSuccessUseCaseInputModel.js +1 -0
- package/es/platform/zform/applications/usecases/GetInitialRecordSuccessUseCase.js +132 -0
- package/es/platform/zlist/adapters/controllers/RefreshRecordsRequestedController.js +21 -0
- package/es/platform/zlist/adapters/controllers/SortController.js +2 -2
- package/es/platform/zlist/adapters/gateways/Repository.js +6 -11
- package/es/platform/zlist/adapters/gateways/Service.js +2 -0
- package/es/platform/zlist/adapters/presenters/TableTranslator.js +41 -13
- package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +15 -3
- package/es/platform/zlist/adapters/presenters/translators/Header.js +29 -21
- package/es/platform/zlist/adapters/presenters/translators/HeadersTranslator.js +3 -3
- package/es/platform/zlist/adapters/presenters/translators/Row.js +14 -1
- package/es/platform/zlist/adapters/presenters/translators/fields/DateFieldTranslator.js +21 -3
- package/es/platform/zlist/adapters/presenters/translators/fields/DateTimeFieldTranslator.js +21 -3
- package/es/platform/zlist/adapters/presenters/translators/fields/PhoneFieldTranslator.js +17 -1
- package/es/platform/zlist/adapters/presenters/utils/DateAndTimeFormat.js +25 -0
- package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +7 -4
- package/es/platform/zlist/applications/entities-factory/ListFactory.js +2 -2
- package/es/platform/zlist/applications/interfaces/input/GetSortConfigUseCaseInputModel.js +1 -0
- package/es/platform/zlist/applications/interfaces/input/RefreshRecordsRequestedUseCaseInputModel.js +1 -0
- package/es/platform/zlist/applications/interfaces/input/SetSortConfigUseCaseInputModel.js +1 -0
- package/es/platform/zlist/applications/usecases/GetSortConfigUseCase.js +17 -0
- package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +1 -1
- package/es/platform/zlist/applications/usecases/RefreshRecordsRequestedUseCase.js +17 -0
- package/es/platform/zlist/applications/usecases/SetSortConfigUseCase.js +26 -0
- package/es/platform/zlist/applications/usecases/SortUseCase.js +6 -6
- package/es/platform/zlist/domain/entities/List.js +27 -15
- package/es/platform/zlist/domain/entities/interfaces/Properties.js +5 -5
- package/es/platform/zlist/frameworks/EventHandlersFactory.js +3 -4
- package/es/platform/zlist/frameworks/ZListBehaviourFactory.js +2 -5
- package/es/platform/zrecord/adapters/controllers/UpdateRecordController.js +30 -0
- package/es/platform/zrecord/adapters/gateways/Repository.js +5 -2
- package/es/platform/zrecord/applications/entities-factory/RecordsManagerFactory.js +2 -2
- package/es/platform/zrecord/applications/interfaces/input/ClearAllFiltersUseCaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/interfaces/input/GetFilterConditionUseCaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/interfaces/input/GetFilterConfigUseCaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/interfaces/input/RefreshRecordsUseCaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/interfaces/input/SetFilterUseCaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/interfaces/input/UpdateRecordInputModel.js +0 -0
- package/es/platform/zrecord/applications/usecases/ClearAllFiltersUseCase.js +24 -0
- package/es/platform/zrecord/applications/usecases/GetFilterConditionUseCase.js +15 -0
- package/es/platform/zrecord/applications/usecases/GetFilterConfigUseCase.js +15 -0
- package/es/platform/zrecord/applications/usecases/RefreshRecordsUseCase.js +14 -0
- package/es/platform/zrecord/applications/usecases/SetFilterUseCase.js +24 -0
- package/es/platform/zrecord/applications/usecases/UpdateRecordUseCase.js +30 -0
- package/es/platform/zrecord/domain/entities/Filter.js +247 -0
- package/es/platform/zrecord/domain/entities/RecordsManager.js +19 -1
- package/es/platform/zrecord/domain/entities/interfaces/IFilter.js +1 -0
- package/es/platform/zrecord/frameworks/RecordBehaviourFactory.js +11 -1
- package/package.json +20 -20
- package/es/bc/sort-by/ActionHandlers.js +0 -1
- package/es/bc/sort-by/Constants.js +0 -2
- package/es/bc/sort-by/Properties.js +0 -26
- package/es/bc/sort-by/SortOrderEnum.js +0 -8
- package/es/bc/sort-by/index.js +0 -2
- package/es/library/behaviours/sort-by/adapters/controllers/SortBy.js +0 -28
- package/es/library/behaviours/sort-by/adapters/gateway/Repository.js +0 -19
- package/es/library/behaviours/sort-by/adapters/gateway/Service.js +0 -10
- package/es/library/behaviours/sort-by/applications/usecases/SortBy.js +0 -28
- package/es/library/behaviours/sort-by/domain/entities/SortBy.js +0 -42
- package/es/library/behaviours/sort-by/frameworks/ui/ActionsHandlerFactory.js +0 -23
- package/es/library/behaviours/sort-by/frameworks/ui/DemoBehaviour.js +0 -20
- package/es/library/behaviours/sort-by/frameworks/ui/SortByBehaviourFactory.js +0 -24
- package/es/library/dot/components/table-list/adapters/controllers/SortByController.js +0 -25
- package/es/library/dot/components/table-list/adapters/controllers/SortedController.js +0 -18
- package/es/library/dot/components/table-list/frameworks/ui/handlers/HandleSortClick.js +0 -12
- package/es/platform/zlist/adapters/gateways/SortBy.js +0 -38
- package/es/platform/zlist/domain/entities/SortBy.js +0 -58
- /package/es/{library/behaviours/sort-by/applications/interfaces/UseCaseDependencies.js → bc/float-pagination/types/FloatPaginationBehaviourState.js} +0 -0
- /package/es/{library/behaviours/sort-by/applications/interfaces/gateways/IRepository.js → bc/list-selection/Types.js} +0 -0
- /package/es/{library/behaviours/sort-by/applications/interfaces/gateways/IService.js → cc/table-list/data-types/FloatPaginationConfig.js} +0 -0
- /package/es/library/behaviours/{sort-by → float-pagination}/adapters/controllers/AbstractController.js +0 -0
- /package/es/library/behaviours/{sort-by/applications/interfaces/input/SortByInputModel.js → float-pagination/applications/interfaces/UseCaseDependencies.js} +0 -0
- /package/es/library/behaviours/{sort-by/applications/interfaces/output/IPresenter.js → float-pagination/applications/interfaces/gateways/IRepository.js} +0 -0
- /package/es/library/behaviours/{sort-by/applications/interfaces/output/SortByOutputModel.js → float-pagination/applications/interfaces/gateways/IService.js} +0 -0
- /package/es/library/behaviours/{sort-by/domain/entities/interfaces/ISortBy.js → float-pagination/applications/interfaces/input/DestructInputModel.js} +0 -0
- /package/es/{platform/zlist/applications/interfaces/gateways/ISortBy.js → library/behaviours/float-pagination/applications/interfaces/input/FloatPaginationInputModel.js} +0 -0
- /package/es/{platform/zlist/domain/entities/interfaces/ISortBy.js → library/behaviours/float-pagination/applications/interfaces/input/InitializeInputModel.js} +0 -0
- /package/es/library/behaviours/{sort-by → float-pagination}/applications/usecases/AbstractUseCase.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
class AbstractUseCase {
|
|
2
|
+
constructor(dependencies) {
|
|
3
|
+
this.dependencies = dependencies;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
updateDependencies(state, updateState) {
|
|
7
|
+
const {
|
|
8
|
+
repository,
|
|
9
|
+
presenter
|
|
10
|
+
} = this.dependencies;
|
|
11
|
+
repository.init(state);
|
|
12
|
+
presenter.updateDependencies(state, updateState);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default AbstractUseCase;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
import { SEARCH_UPDATED } from "../../../../../bc/search/Constants";
|
|
3
|
+
|
|
4
|
+
class SearchUseCase extends AbstractUseCase {
|
|
5
|
+
execute(input) {
|
|
6
|
+
const {
|
|
7
|
+
repository,
|
|
8
|
+
presenter
|
|
9
|
+
} = this.dependencies;
|
|
10
|
+
const {
|
|
11
|
+
searchString,
|
|
12
|
+
dispatch
|
|
13
|
+
} = input;
|
|
14
|
+
const search = repository.getSearchEntity();
|
|
15
|
+
search.setSearchString(searchString);
|
|
16
|
+
const storeData = search.toObject();
|
|
17
|
+
presenter.updateSearchState(storeData);
|
|
18
|
+
dispatch({
|
|
19
|
+
type: SEARCH_UPDATED,
|
|
20
|
+
payload: {
|
|
21
|
+
searchString: storeData.searchString
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export default SearchUseCase;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import AbstractUseCase from "./AbstractUseCase";
|
|
2
|
+
|
|
3
|
+
class UpdatePropertiesUsecase extends AbstractUseCase {
|
|
4
|
+
execute(input) {
|
|
5
|
+
const {
|
|
6
|
+
repository,
|
|
7
|
+
presenter
|
|
8
|
+
} = this.dependencies;
|
|
9
|
+
const {
|
|
10
|
+
searchString,
|
|
11
|
+
previousSearchString
|
|
12
|
+
} = input;
|
|
13
|
+
|
|
14
|
+
if (searchString === previousSearchString) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const search = repository.getSearchEntity();
|
|
19
|
+
search.setSearchString(searchString);
|
|
20
|
+
presenter.updateSearchState(search.toObject());
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default UpdatePropertiesUsecase;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
class Search {
|
|
2
|
+
constructor() {
|
|
3
|
+
let searchString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
4
|
+
this.searchString = searchString;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
setSearchString(searchString) {
|
|
8
|
+
this.searchString = searchString;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
getSearchString() {
|
|
12
|
+
return this.searchString;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
toObject() {
|
|
16
|
+
return {
|
|
17
|
+
searchString: this.searchString
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default Search;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import LifeCycleAction from "../../../../../cc/architecture/LifeCycleActionEnum";
|
|
2
|
+
import { SEARCH_REQUESTED } from "../../../../../bc/search/Constants";
|
|
3
|
+
import SearchController from "../../adapters/controllers/SearchController";
|
|
4
|
+
import Repository from "../../adapters/gateway/Repository";
|
|
5
|
+
import Service from "../../adapters/gateway/Service";
|
|
6
|
+
import Presenter from "../../adapters/presenter/Presenter";
|
|
7
|
+
import UpdatePropertiesController from "../../adapters/controllers/UpdatePropertiesController";
|
|
8
|
+
|
|
9
|
+
class EventHandlersFactory {
|
|
10
|
+
static create() {
|
|
11
|
+
const presenter = new Presenter();
|
|
12
|
+
const repository = new Repository();
|
|
13
|
+
const service = new Service({
|
|
14
|
+
presenter,
|
|
15
|
+
repository
|
|
16
|
+
});
|
|
17
|
+
return {
|
|
18
|
+
[LifeCycleAction.UPDATE_PROPERTIES]: new UpdatePropertiesController(service).handle,
|
|
19
|
+
[SEARCH_REQUESTED]: new SearchController(service).handle
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default EventHandlersFactory;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import EventHandlersFactory from "./EventHandlerFactory";
|
|
2
|
+
import SearchBehaviourProperties from "../../../../../bc/search/Properties";
|
|
3
|
+
|
|
4
|
+
class SearchBehaviourFactory {
|
|
5
|
+
static create() {
|
|
6
|
+
return {
|
|
7
|
+
name: 'search',
|
|
8
|
+
setInitialState: _ref => {
|
|
9
|
+
let {
|
|
10
|
+
properties
|
|
11
|
+
} = _ref;
|
|
12
|
+
const {
|
|
13
|
+
searchString = ''
|
|
14
|
+
} = properties;
|
|
15
|
+
return {
|
|
16
|
+
searchString
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
properties: SearchBehaviourProperties,
|
|
20
|
+
eventHandlers: EventHandlersFactory.create()
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default SearchBehaviourFactory;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// @ts-ignore
|
|
2
2
|
if (__DEVELOPMENT__) {
|
|
3
3
|
globalThis.enableEventLogging = false;
|
|
4
|
+
globalThis.enableLifeCycleEventLogging = false;
|
|
4
5
|
globalThis.enableEventVerbose = false;
|
|
5
6
|
}
|
|
6
7
|
|
|
@@ -185,6 +186,10 @@ class EventManager {
|
|
|
185
186
|
// @ts-ignore
|
|
186
187
|
if (__DEVELOPMENT__) {
|
|
187
188
|
if (globalThis.enableEventLogging && type) {
|
|
189
|
+
if (!globalThis.enableLifeCycleEventLogging && (type.endsWith('#MOUNT') || type.endsWith('#UN_MOUNT') || type.endsWith('#UPDATE_PROPERTIES') || type.endsWith('#STATE_UPDATED'))) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
|
|
188
193
|
const {
|
|
189
194
|
msg,
|
|
190
195
|
styles: nameStyles
|
|
@@ -27,7 +27,7 @@ export default class Logger {
|
|
|
27
27
|
warnings?.forEach(warning => {
|
|
28
28
|
this.printResult(key, warning, 'warning');
|
|
29
29
|
});
|
|
30
|
-
console.log('%cBut, Given is:', 'color:
|
|
30
|
+
console.log('%cBut, Given is:', 'color: inherit;font-weight: bold;', {
|
|
31
31
|
[key]: value
|
|
32
32
|
});
|
|
33
33
|
});
|
|
@@ -61,11 +61,11 @@ export default class Logger {
|
|
|
61
61
|
const log = type === 'error' ? console.error : console.warn;
|
|
62
62
|
|
|
63
63
|
if (errorOrWarning.dataPath) {
|
|
64
|
-
log(`Invalid Property %c${key}%c${errorOrWarning.dataPath} %c${errorOrWarning.message}`, ERROR_PRIMARY, ERROR_SECONDARY, 'color:
|
|
64
|
+
log(`Invalid Property %c${key}%c${errorOrWarning.dataPath} %c${errorOrWarning.message}`, ERROR_PRIMARY, ERROR_SECONDARY, 'color: inherit;');
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
log(`Invalid Property %c${key} : %c${errorOrWarning.message}`, ERROR_PRIMARY, 'color:
|
|
68
|
+
log(`Invalid Property %c${key} : %c${errorOrWarning.message}`, ERROR_PRIMARY, 'color: inherit;');
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
|
|
@@ -11,6 +11,7 @@ import IconButton from "../../../../legacy-to-new-arch/icon-button/frameworks/ui
|
|
|
11
11
|
import HighlightedValue from "../../../../legacy-to-new-arch/highlighted-value/frameworks/ui/HighlightedValue";
|
|
12
12
|
import Switch from "../../../../legacy-to-new-arch/switch/frameworks/ui/Switch";
|
|
13
13
|
import ListItem from "../../../../legacy-to-new-arch/list-item/frameworks/ui/ListItem";
|
|
14
|
+
import Ribbon from "../../../../legacy-to-new-arch/ribbon/frameworks/ui/Ribbon";
|
|
14
15
|
const ActionComponentMapping = {
|
|
15
16
|
['ActionIcon']: ActionIcon,
|
|
16
17
|
['Button']: Button,
|
|
@@ -23,6 +24,7 @@ const ActionComponentMapping = {
|
|
|
23
24
|
['TableColumnFilter']: TableColumnFilter,
|
|
24
25
|
['Breadcrumb']: Breadcrumb,
|
|
25
26
|
['IconButton']: IconButton,
|
|
26
|
-
['HighlightedValue']: HighlightedValue
|
|
27
|
+
['HighlightedValue']: HighlightedValue,
|
|
28
|
+
['Ribbon']: Ribbon
|
|
27
29
|
};
|
|
28
30
|
export default ActionComponentMapping;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TableListConstants } from "../../../../../../cc/table-list";
|
|
2
2
|
import AbstractController from "./AbstractController";
|
|
3
3
|
|
|
4
4
|
class ScrollController extends AbstractController {
|
|
@@ -21,7 +21,7 @@ class ScrollController extends AbstractController {
|
|
|
21
21
|
|
|
22
22
|
if (isEndReached) {
|
|
23
23
|
dispatch({
|
|
24
|
-
type:
|
|
24
|
+
type: TableListConstants.TABLE_LIST_SCROLL_END_REACHED,
|
|
25
25
|
payload: {}
|
|
26
26
|
});
|
|
27
27
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export { default as SelectItemController } from "./SelectItemController";
|
|
2
2
|
export { default as SelectAllController } from "./SelectAllController";
|
|
3
3
|
export { default as ScrollController } from "./ScrollController";
|
|
4
|
-
export { default as SortByController } from "./SortByController";
|
|
5
|
-
export { default as SortedController } from "./SortedController";
|
|
6
4
|
export { default as FieldChangeController } from "./FieldChangeController";
|
|
7
5
|
export { default as FieldClickController } from "./FieldClickController";
|
|
8
6
|
export { default as KeyboardRowSelectController } from "./KeyboardRowSelectController";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TableListConstants } from "../../../../../../cc/table-list";
|
|
2
|
-
import { SelectItemController, SelectAllController, ScrollController, FieldChangeController, FieldClickController,
|
|
2
|
+
import { SelectItemController, SelectAllController, ScrollController, FieldChangeController, FieldClickController, KeyboardRowSelectController, KeyboardRowClickController, ResolutionBasedCountController } from "../../adapters/controllers";
|
|
3
3
|
import TableRowConstants from "../../../../../../cc/table-list/row/Constants";
|
|
4
4
|
import RowClickController from "../../adapters/controllers/RowClickController";
|
|
5
5
|
import { SMART_TABLE_ACTION_TRIGGERED, SMART_TABLE_SELECTION_TOGGLED } from "../../../../../../cc/table-connected/constants/Events";
|
|
@@ -14,7 +14,6 @@ class EventHandlersFactory {
|
|
|
14
14
|
[TableListConstants.TABLE_LIST_TOGGLE_ITEM_SELECTION]: new SelectItemController().handle,
|
|
15
15
|
[TableListConstants.TABLE_LIST_TOGGLE_ALL_SELECTION]: new SelectAllController().handle,
|
|
16
16
|
[TableListConstants.TABLE_LIST_SCROLLED]: new ScrollController().handle,
|
|
17
|
-
[TableListConstants.TABLE_LIST_SORTED]: new SortByController().handle,
|
|
18
17
|
[TableRowConstants.TABLE_ROW_FIELD_CHANGED]: new FieldChangeController().handle,
|
|
19
18
|
[TableRowConstants.TABLE_ROW_FIELD_CLICKED]: new FieldClickController().handle
|
|
20
19
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { useRef } from 'react';
|
|
2
2
|
import Table from '@zohodesk-private/desk-components/es/table/Table/Table';
|
|
3
|
+
import FloatingPagination from "../../../../legacy-to-new-arch/floating-pagination/frameworks/ui/FloatingPagination";
|
|
3
4
|
import Header from "./sub-components/Header";
|
|
4
5
|
import Body from "./sub-components/Body";
|
|
5
6
|
import Rows from "./sub-components/Rows";
|
|
@@ -35,6 +36,7 @@ function TableListView(_ref2, _ref) {
|
|
|
35
36
|
rowActionsConfig,
|
|
36
37
|
keyboardControlsConfig,
|
|
37
38
|
textOverflowConfig,
|
|
39
|
+
floatPaginationConfig,
|
|
38
40
|
selection,
|
|
39
41
|
emptyStateUiType,
|
|
40
42
|
isError
|
|
@@ -56,6 +58,16 @@ function TableListView(_ref2, _ref) {
|
|
|
56
58
|
const isReorderEnabled = reOrderConfig.isEnabled;
|
|
57
59
|
const isSelectionEnabled = selectionConfig.isEnabled;
|
|
58
60
|
const isMultiline = textOverflowConfig.mode === 'wrap';
|
|
61
|
+
const {
|
|
62
|
+
isEnabled: isPaginationEnabled,
|
|
63
|
+
scrollCount,
|
|
64
|
+
totalCount,
|
|
65
|
+
scrollToUpTooltip,
|
|
66
|
+
scrollToDownTooltip,
|
|
67
|
+
isTopReached,
|
|
68
|
+
isBottomReached,
|
|
69
|
+
isVisible
|
|
70
|
+
} = floatPaginationConfig;
|
|
59
71
|
const className = getTableListClassName({
|
|
60
72
|
isKeyboardControlsEnabled,
|
|
61
73
|
isReorderEnabled,
|
|
@@ -70,6 +82,9 @@ function TableListView(_ref2, _ref) {
|
|
|
70
82
|
"aria-hidden": "true"
|
|
71
83
|
}), /*#__PURE__*/React.createElement(Table, {
|
|
72
84
|
ref: TableRef,
|
|
85
|
+
customStyle: !isLoading && isPaginationEnabled ? {
|
|
86
|
+
table: style.paginationSpace
|
|
87
|
+
} : undefined,
|
|
73
88
|
$event_onScroll: e => handleScroll(dispatch, {
|
|
74
89
|
scrollEvent: e
|
|
75
90
|
})
|
|
@@ -110,7 +125,15 @@ function TableListView(_ref2, _ref) {
|
|
|
110
125
|
}), /*#__PURE__*/React.createElement(Loading, {
|
|
111
126
|
isLoading: isLoading,
|
|
112
127
|
hasRows: hasRows
|
|
113
|
-
})), renderColumnResizingLine(resizerState)
|
|
128
|
+
})), renderColumnResizingLine(resizerState), isPaginationEnabled && isVisible && scrollCount > 0 && totalCount !== undefined && /*#__PURE__*/React.createElement("div", {
|
|
129
|
+
className: style.pagination
|
|
130
|
+
}, /*#__PURE__*/React.createElement(FloatingPagination, {
|
|
131
|
+
text: `${scrollCount}/${totalCount}`,
|
|
132
|
+
scrollToUpTooltip: scrollToUpTooltip,
|
|
133
|
+
scrollToDownTooltip: scrollToDownTooltip,
|
|
134
|
+
isScrollToUpDisabled: isTopReached,
|
|
135
|
+
isScrollToDownDisabled: isBottomReached
|
|
136
|
+
})));
|
|
114
137
|
}
|
|
115
138
|
|
|
116
139
|
function renderHeader(_ref3) {
|
|
@@ -136,15 +136,19 @@
|
|
|
136
136
|
/* */
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
+
.paginationSpace {
|
|
140
|
+
padding-bottom: var(--zd_size70) ;
|
|
141
|
+
}
|
|
142
|
+
|
|
139
143
|
.loader {
|
|
140
|
-
padding: var(--
|
|
144
|
+
padding: var(--zd_size20) 0
|
|
141
145
|
}
|
|
142
146
|
|
|
143
147
|
.wrapper {
|
|
144
148
|
height: 100% ;
|
|
145
149
|
width: 100% ;
|
|
146
150
|
z-index: 1;
|
|
147
|
-
position: relative
|
|
151
|
+
position: relative;
|
|
148
152
|
}
|
|
149
153
|
|
|
150
154
|
.hiddenDummyRow {
|
|
@@ -333,4 +337,17 @@
|
|
|
333
337
|
[dir=rtl] .massActionHeader {
|
|
334
338
|
right: var(--local-tableList-massActionHeader-left, 0);
|
|
335
339
|
padding-left: var(--local-tableList-massActionHeader-paddingRight, 0);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.pagination {
|
|
343
|
+
composes: posab from '~@zohodesk/components/lib/common/common.module.css';
|
|
344
|
+
bottom: var(--zd_size20) ;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
[dir=ltr] .pagination {
|
|
348
|
+
right: var(--zd_size30) ;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
[dir=rtl] .pagination {
|
|
352
|
+
left: var(--zd_size30) ;
|
|
336
353
|
}
|
|
@@ -124,11 +124,7 @@ const DragHandler = SortableHandle(_ref3 => {
|
|
|
124
124
|
} = _ref3;
|
|
125
125
|
return /*#__PURE__*/React.createElement(DragHandle, {
|
|
126
126
|
isDisabled: isDisabled,
|
|
127
|
-
|
|
128
|
-
containerProps: {
|
|
129
|
-
$ui_alignItems: isMultiline ? 'start' : 'center'
|
|
130
|
-
}
|
|
131
|
-
},
|
|
127
|
+
iconVerticalPlacement: isMultiline ? 'top' : 'middle',
|
|
132
128
|
customStyle: {
|
|
133
129
|
container: style.dragHandleContainer
|
|
134
130
|
}
|
|
@@ -13,6 +13,8 @@ export default function ActionIconView(_ref, ref) {
|
|
|
13
13
|
iconSize,
|
|
14
14
|
hasPadding,
|
|
15
15
|
label,
|
|
16
|
+
colorVariant,
|
|
17
|
+
isHoverable,
|
|
16
18
|
hoverVariant,
|
|
17
19
|
isDisabled
|
|
18
20
|
} = state.properties;
|
|
@@ -23,11 +25,13 @@ export default function ActionIconView(_ref, ref) {
|
|
|
23
25
|
ref: ref,
|
|
24
26
|
$ui_iconName: icon,
|
|
25
27
|
$ui_size: JSON.stringify(iconSize),
|
|
28
|
+
$ui_colorVariant: colorVariant,
|
|
29
|
+
$flag_isHoverable: isHoverable,
|
|
26
30
|
$ui_hoverVariant: hoverVariant,
|
|
27
31
|
$flag_disabled: isDisabled,
|
|
28
32
|
$i18n_tooltip: label,
|
|
29
33
|
$flag_hasPadding: hasPadding,
|
|
30
|
-
customStyle: hoverVariant === 'default' ? {
|
|
34
|
+
customStyle: !isHoverable && hoverVariant === 'default' ? {
|
|
31
35
|
icon: style.cursor_default
|
|
32
36
|
} : undefined,
|
|
33
37
|
$event_onClick: !isDisabled ? () => {
|
package/es/library/dot/legacy-to-new-arch/floating-pagination/frameworks/ui/FloatingPagination.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createCustomComponent } from "../../../../../custom-component";
|
|
2
|
+
import FloatingPaginationProperties from "../../../../../../cc/floating-pagination/Properties";
|
|
3
|
+
import FloatingPaginationView from "./FloatingPaginationView";
|
|
4
|
+
let WrapFloatingPagination = createCustomComponent({
|
|
5
|
+
name: "FloatingPagination",
|
|
6
|
+
View: FloatingPaginationView,
|
|
7
|
+
properties: FloatingPaginationProperties,
|
|
8
|
+
eventHandlers: {}
|
|
9
|
+
});
|
|
10
|
+
export default WrapFloatingPagination;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import FloatingPagination from '@zohodesk-private/desk-components/es/ListPagination/ListPagination';
|
|
3
|
+
import FloatingPaginationConstants from "../../../../../../cc/floating-pagination/Constants";
|
|
4
|
+
|
|
5
|
+
function FloatingPaginationView(_ref, ref) {
|
|
6
|
+
let {
|
|
7
|
+
state,
|
|
8
|
+
helpers
|
|
9
|
+
} = _ref;
|
|
10
|
+
const {
|
|
11
|
+
dispatch
|
|
12
|
+
} = helpers;
|
|
13
|
+
let {
|
|
14
|
+
text,
|
|
15
|
+
hasScrollControls,
|
|
16
|
+
scrollToUpTooltip,
|
|
17
|
+
scrollToDownTooltip,
|
|
18
|
+
isScrollToUpDisabled,
|
|
19
|
+
isScrollToDownDisabled
|
|
20
|
+
} = state.properties;
|
|
21
|
+
return /*#__PURE__*/React.createElement(FloatingPagination, {
|
|
22
|
+
text: text,
|
|
23
|
+
hasScrollControls: hasScrollControls,
|
|
24
|
+
scrollToUpTooltip: scrollToUpTooltip,
|
|
25
|
+
scrollToDownTooltip: scrollToDownTooltip,
|
|
26
|
+
customProps: {
|
|
27
|
+
container: {
|
|
28
|
+
eleRef: ref
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
isScrollToUpDisabled: isScrollToUpDisabled,
|
|
32
|
+
isScrollToDownDisabled: isScrollToDownDisabled,
|
|
33
|
+
onScrollToUp: () => {
|
|
34
|
+
dispatch({
|
|
35
|
+
type: FloatingPaginationConstants.SCROLL_UP_CLICKED
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
onScrollToDown: () => {
|
|
39
|
+
dispatch({
|
|
40
|
+
type: FloatingPaginationConstants.SCROLL_DOWN_CLICKED
|
|
41
|
+
});
|
|
42
|
+
},
|
|
43
|
+
testId: "listPagination"
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default FloatingPaginationView;
|
|
@@ -68,6 +68,7 @@ function RadioDropdownView(_ref, ref) {
|
|
|
68
68
|
isAbsolutePositioningNeeded: true,
|
|
69
69
|
defaultPosition: "bottomRight",
|
|
70
70
|
dropboxSize: "large",
|
|
71
|
+
testId: "radioDropdown",
|
|
71
72
|
dropboxHeaderElementsOrder: dropboxHeaderElementsOrder,
|
|
72
73
|
isMultilineEnabled: true,
|
|
73
74
|
isFocusScopeEnabled: true,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createCustomComponent } from "../../../../../custom-component";
|
|
2
|
+
import RibbonProperties from "../../../../../../cc/ribbon/Properties";
|
|
3
|
+
import RibbonView from "./RibbonView";
|
|
4
|
+
let Ribbon = createCustomComponent({
|
|
5
|
+
name: "Ribbon",
|
|
6
|
+
View: RibbonView,
|
|
7
|
+
properties: RibbonProperties,
|
|
8
|
+
eventHandlers: {}
|
|
9
|
+
});
|
|
10
|
+
export default Ribbon;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Ribbon from '@zohodesk-private/desk-components/es/Ribbon/Ribbon';
|
|
3
|
+
const paletteMapper = {
|
|
4
|
+
secondary: 'grey',
|
|
5
|
+
warning: 'orange'
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
function RibbonView(_ref, ref) {
|
|
9
|
+
let {
|
|
10
|
+
state
|
|
11
|
+
} = _ref;
|
|
12
|
+
let {
|
|
13
|
+
text,
|
|
14
|
+
palette,
|
|
15
|
+
iconName,
|
|
16
|
+
iconSize,
|
|
17
|
+
size,
|
|
18
|
+
flagPlacement
|
|
19
|
+
} = state.properties;
|
|
20
|
+
palette = paletteMapper[palette] || palette;
|
|
21
|
+
return /*#__PURE__*/React.createElement(Ribbon, {
|
|
22
|
+
text: text,
|
|
23
|
+
palette: palette,
|
|
24
|
+
iconName: iconName,
|
|
25
|
+
iconSize: iconSize,
|
|
26
|
+
size: size,
|
|
27
|
+
arrowDirection: flagPlacement,
|
|
28
|
+
isInline: true,
|
|
29
|
+
customProps: {
|
|
30
|
+
container: {
|
|
31
|
+
eleRef: ref
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export default RibbonView;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import RadioDropdownConstants from "../../../../../../../cc/radio-dropdown/Constants";
|
|
2
2
|
import FieldConstants from "../../../../../../../cc/fields/field/Constants";
|
|
3
|
+
import { SEARCH_REQUESTED } from "../../../../../../../bc/search/Constants";
|
|
4
|
+
import Constants from "../../../../../../../cc/radio-dropdown/Constants";
|
|
3
5
|
export class EventHandlersFactory {
|
|
4
6
|
static create() {
|
|
5
7
|
const changeHandler = input => {
|
|
@@ -25,6 +27,18 @@ export class EventHandlersFactory {
|
|
|
25
27
|
};
|
|
26
28
|
|
|
27
29
|
return {
|
|
30
|
+
[Constants.RADIO_DROPDOWN_SEARCHED]: _ref => {
|
|
31
|
+
let {
|
|
32
|
+
dispatch,
|
|
33
|
+
action
|
|
34
|
+
} = _ref;
|
|
35
|
+
dispatch({
|
|
36
|
+
type: SEARCH_REQUESTED,
|
|
37
|
+
payload: {
|
|
38
|
+
searchString: action.payload.value
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
},
|
|
28
42
|
[RadioDropdownConstants.RADIO_DROPDOWN_VALUE_CHANGED]: changeHandler
|
|
29
43
|
};
|
|
30
44
|
}
|
|
@@ -3,9 +3,13 @@ import RadioDropdownProperties from "../../../../../../../cc/radio-dropdown/Prop
|
|
|
3
3
|
import FieldEvents from "../../../../../../../cc/fields/field/Events";
|
|
4
4
|
import RadioDropdownFieldView from "./RadioDropdownFieldView";
|
|
5
5
|
import { EventHandlersFactory } from "./EventHandlersFactory";
|
|
6
|
+
import SearchTranslator from "../../../../../../behaviours/search/adapters/presenter/SearchTranslator";
|
|
7
|
+
import SearchBehaviourFactory from "../../../../../../behaviours/search/frameworks/ui/SearchStringStoreBehaviourFactory";
|
|
6
8
|
const RadioDropdownField = createCustomComponent({
|
|
7
9
|
name: 'RadioDropdownField',
|
|
8
10
|
View: RadioDropdownFieldView,
|
|
11
|
+
transformState,
|
|
12
|
+
behaviours: [SearchBehaviourFactory.create()],
|
|
9
13
|
properties: { ...RadioDropdownProperties,
|
|
10
14
|
fieldType: {
|
|
11
15
|
required: false,
|
|
@@ -29,4 +33,17 @@ const RadioDropdownField = createCustomComponent({
|
|
|
29
33
|
events: FieldEvents,
|
|
30
34
|
eventHandlers: EventHandlersFactory.create()
|
|
31
35
|
});
|
|
36
|
+
|
|
37
|
+
function transformState(state) {
|
|
38
|
+
const {
|
|
39
|
+
searchString
|
|
40
|
+
} = state.behaviours.search;
|
|
41
|
+
return { ...state,
|
|
42
|
+
viewModel: { ...state.properties,
|
|
43
|
+
...state.viewModel,
|
|
44
|
+
options: SearchTranslator(searchString, 'value', state.properties.options)
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
32
49
|
export default RadioDropdownField;
|
|
@@ -20,7 +20,7 @@ export default function RadioDropdownFieldView(_ref, ref) {
|
|
|
20
20
|
emptyStateTitle,
|
|
21
21
|
isDisabled,
|
|
22
22
|
isReadOnly
|
|
23
|
-
} = state.
|
|
23
|
+
} = state.viewModel;
|
|
24
24
|
return /*#__PURE__*/React.createElement(Flex, {
|
|
25
25
|
$ui_displayMode: "flex",
|
|
26
26
|
$ui_className: color === 'none' ? style.wrapper : ''
|
|
@@ -2,11 +2,43 @@ import { createCustomComponent } from "../../../../../../custom-component";
|
|
|
2
2
|
import TagsListDropdownProperties from "../../../../../../../cc/tags-list-dropdown/Properties";
|
|
3
3
|
import FieldEvents from "../../../../../../../cc/fields/field/Events";
|
|
4
4
|
import TagsListDropdownFieldView from "./TagsListDropdownFieldView";
|
|
5
|
+
import SearchBehaviourFactory from "../../../../../../behaviours/search/frameworks/ui/SearchStringStoreBehaviourFactory";
|
|
6
|
+
import Constants from "../../../../../../../cc/tags-list-dropdown/Constants";
|
|
7
|
+
import { SEARCH_REQUESTED } from "../../../../../../../bc/search/Constants";
|
|
8
|
+
import SearchTranslator from "../../../../../../behaviours/search/adapters/presenter/SearchTranslator";
|
|
5
9
|
const TagsListDropdownField = createCustomComponent({
|
|
6
10
|
name: 'TagsListDropdownField',
|
|
7
11
|
View: TagsListDropdownFieldView,
|
|
12
|
+
transformState,
|
|
13
|
+
behaviours: [SearchBehaviourFactory.create()],
|
|
8
14
|
properties: TagsListDropdownProperties,
|
|
9
15
|
events: FieldEvents,
|
|
10
|
-
eventHandlers: {
|
|
16
|
+
eventHandlers: {
|
|
17
|
+
[Constants.TAG_LIST_DROPDOWN_SEARCHED]: _ref => {
|
|
18
|
+
let {
|
|
19
|
+
dispatch,
|
|
20
|
+
action
|
|
21
|
+
} = _ref;
|
|
22
|
+
dispatch({
|
|
23
|
+
type: SEARCH_REQUESTED,
|
|
24
|
+
payload: {
|
|
25
|
+
searchString: action.payload.value
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
11
30
|
});
|
|
31
|
+
|
|
32
|
+
function transformState(state) {
|
|
33
|
+
const {
|
|
34
|
+
searchString
|
|
35
|
+
} = state.behaviours.search;
|
|
36
|
+
return { ...state,
|
|
37
|
+
viewModel: { ...state.properties,
|
|
38
|
+
...state.viewModel,
|
|
39
|
+
tags: SearchTranslator(searchString, 'label', state.properties.tags)
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
12
44
|
export default TagsListDropdownField;
|