@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
|
@@ -1,32 +1,52 @@
|
|
|
1
1
|
class TableTranslator {
|
|
2
2
|
static translate(state) {
|
|
3
|
+
var _state;
|
|
4
|
+
|
|
5
|
+
const {
|
|
6
|
+
data,
|
|
7
|
+
selectionConfig
|
|
8
|
+
} = state.properties;
|
|
9
|
+
const {
|
|
10
|
+
sortBy,
|
|
11
|
+
selection
|
|
12
|
+
} = (_state = state) === null || _state === void 0 ? void 0 : _state.behaviours;
|
|
13
|
+
const headers = TableTranslator.translateHeaders(data.headers, sortBy);
|
|
14
|
+
const rows = TableTranslator.translateRows(data.rows, selection, selectionConfig);
|
|
3
15
|
state = { ...state,
|
|
4
16
|
properties: { ...state.properties,
|
|
5
|
-
data: { ...
|
|
6
|
-
headers
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const sortOrder = ((_state = state) === null || _state === void 0 ? void 0 : (_state$behaviours = _state.behaviours) === null || _state$behaviours === void 0 ? void 0 : (_state$behaviours$sor = _state$behaviours.sortBy) === null || _state$behaviours$sor === void 0 ? void 0 : _state$behaviours$sor.id) === header.id ? (_state2 = state) === null || _state2 === void 0 ? void 0 : (_state2$behaviours = _state2.behaviours) === null || _state2$behaviours === void 0 ? void 0 : (_state2$behaviours$so = _state2$behaviours.sortBy) === null || _state2$behaviours$so === void 0 ? void 0 : _state2$behaviours$so.order : 'none';
|
|
10
|
-
return { ...header,
|
|
11
|
-
sortOrder,
|
|
12
|
-
sortTooltip: sortOrder === 'none' ? '' : sortOrder === 'ascending' ? 'Click to Sort Descending' : 'Click to Sort Ascending'
|
|
13
|
-
};
|
|
14
|
-
}),
|
|
15
|
-
rows: state.properties.data.rows.map((row, index) => {
|
|
16
|
-
var _state3, _state3$behaviours, _state3$behaviours$se, _state4, _state4$behaviours, _state4$behaviours$se, _state5, _state5$behaviours, _state5$behaviours$se, _state6, _state6$behaviours, _state6$behaviours$se, _state7, _state7$behaviours, _state7$behaviours$se;
|
|
17
|
-
|
|
18
|
-
return { ...row,
|
|
19
|
-
isSelected: (_state3 = state) === null || _state3 === void 0 ? void 0 : (_state3$behaviours = _state3.behaviours) === null || _state3$behaviours === void 0 ? void 0 : (_state3$behaviours$se = _state3$behaviours.selection) === null || _state3$behaviours$se === void 0 ? void 0 : _state3$behaviours$se.selected.includes(row.id),
|
|
20
|
-
isSelectable: ((_state4 = state) === null || _state4 === void 0 ? void 0 : (_state4$behaviours = _state4.behaviours) === null || _state4$behaviours === void 0 ? void 0 : (_state4$behaviours$se = _state4$behaviours.selection) === null || _state4$behaviours$se === void 0 ? void 0 : _state4$behaviours$se.selected.includes(row.id)) || !((_state5 = state) !== null && _state5 !== void 0 && (_state5$behaviours = _state5.behaviours) !== null && _state5$behaviours !== void 0 && (_state5$behaviours$se = _state5$behaviours.selection) !== null && _state5$behaviours$se !== void 0 && _state5$behaviours$se.hasAllSelected),
|
|
21
|
-
selectionTooltip: !((_state6 = state) !== null && _state6 !== void 0 && (_state6$behaviours = _state6.behaviours) !== null && _state6$behaviours !== void 0 && (_state6$behaviours$se = _state6$behaviours.selection) !== null && _state6$behaviours$se !== void 0 && _state6$behaviours$se.selected.includes(row.id)) && (_state7 = state) !== null && _state7 !== void 0 && (_state7$behaviours = _state7.behaviours) !== null && _state7$behaviours !== void 0 && (_state7$behaviours$se = _state7$behaviours.selection) !== null && _state7$behaviours$se !== void 0 && _state7$behaviours$se.hasAllSelected ? state.properties.selectionConfig.limitExceedAlertMessage : `Record ${index + 1}`
|
|
22
|
-
};
|
|
23
|
-
})
|
|
17
|
+
data: { ...data,
|
|
18
|
+
headers,
|
|
19
|
+
rows
|
|
24
20
|
}
|
|
25
21
|
}
|
|
26
22
|
};
|
|
27
23
|
return state;
|
|
28
24
|
}
|
|
29
25
|
|
|
26
|
+
static translateHeaders(headers, sortBy) {
|
|
27
|
+
return headers.map(header => {
|
|
28
|
+
const sortOrder = (sortBy === null || sortBy === void 0 ? void 0 : sortBy.id) === header.id ? sortBy === null || sortBy === void 0 ? void 0 : sortBy.order : 'none';
|
|
29
|
+
return { ...header,
|
|
30
|
+
sortOrder,
|
|
31
|
+
sortTooltip: sortOrder === 'none' ? '' : sortOrder === 'ascending' ? 'Click to Sort Descending' : 'Click to Sort Ascending'
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static translateRows(rows, selection, selectionConfig) {
|
|
37
|
+
const {
|
|
38
|
+
selected,
|
|
39
|
+
hasAllSelected
|
|
40
|
+
} = selection;
|
|
41
|
+
return rows.map((row, index) => {
|
|
42
|
+
return { ...row,
|
|
43
|
+
isSelected: selected.includes(row.id),
|
|
44
|
+
isSelectable: selected.includes(row.id) || !hasAllSelected,
|
|
45
|
+
selectionTooltip: !selected.includes(row.id) && hasAllSelected ? selectionConfig.limitExceedAlertMessage : `Record ${index + 1}`
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
30
50
|
}
|
|
31
51
|
|
|
32
52
|
export default TableTranslator;
|
|
@@ -6,24 +6,15 @@ import RowClickController from "../../adapters/controllers/RowClickController";
|
|
|
6
6
|
|
|
7
7
|
class EventHandlersFactory {
|
|
8
8
|
static create() {
|
|
9
|
-
const controller = {
|
|
10
|
-
listSelectItem: new SelectItemController().handle,
|
|
11
|
-
listSelectAll: new SelectAllController().handle,
|
|
12
|
-
scroll: new ScrollController().handle,
|
|
13
|
-
sortBy: new SortByController().handle,
|
|
14
|
-
sorted: new SortedController().handle,
|
|
15
|
-
fieldChange: new FieldChangeController().handle,
|
|
16
|
-
fieldClick: new FieldClickController().handle
|
|
17
|
-
};
|
|
18
9
|
return {
|
|
19
10
|
[TableRowConstants.TABLE_ROW_CLICKED]: new RowClickController().handle,
|
|
20
|
-
[TableListConstants.TABLE_LIST_TOGGLE_ITEM_SELECTION]:
|
|
21
|
-
[TableListConstants.TABLE_LIST_TOGGLE_ALL_SELECTION]:
|
|
22
|
-
[TableListConstants.TABLE_LIST_SCROLLED]:
|
|
23
|
-
[TableListConstants.TABLE_LIST_SORTED]:
|
|
24
|
-
[SORTBY_SORTED]:
|
|
25
|
-
[TableRowConstants.TABLE_ROW_FIELD_CHANGED]:
|
|
26
|
-
[TableRowConstants.TABLE_ROW_FIELD_CLICKED]:
|
|
11
|
+
[TableListConstants.TABLE_LIST_TOGGLE_ITEM_SELECTION]: new SelectItemController().handle,
|
|
12
|
+
[TableListConstants.TABLE_LIST_TOGGLE_ALL_SELECTION]: new SelectAllController().handle,
|
|
13
|
+
[TableListConstants.TABLE_LIST_SCROLLED]: new ScrollController().handle,
|
|
14
|
+
[TableListConstants.TABLE_LIST_SORTED]: new SortByController().handle,
|
|
15
|
+
[SORTBY_SORTED]: new SortedController().handle,
|
|
16
|
+
[TableRowConstants.TABLE_ROW_FIELD_CHANGED]: new FieldChangeController().handle,
|
|
17
|
+
[TableRowConstants.TABLE_ROW_FIELD_CLICKED]: new FieldClickController().handle
|
|
27
18
|
};
|
|
28
19
|
}
|
|
29
20
|
|
|
@@ -9,12 +9,7 @@ const TableList = createCustomComponent({
|
|
|
9
9
|
name: 'TableList',
|
|
10
10
|
View: TableListView,
|
|
11
11
|
properties: TableListProperties,
|
|
12
|
-
setInitialState:
|
|
13
|
-
let {
|
|
14
|
-
properties
|
|
15
|
-
} = _ref;
|
|
16
|
-
return {};
|
|
17
|
-
},
|
|
12
|
+
setInitialState: () => ({}),
|
|
18
13
|
transformState: TableTranslator.translate,
|
|
19
14
|
eventHandlers: EventHandlersFactory.create(),
|
|
20
15
|
behaviours: [ListItemSelectionBehaviourFactory.create(), SortByBehaviourFactory.create(), {
|
|
@@ -24,9 +24,7 @@ function TableListView(_ref2, _ref) {
|
|
|
24
24
|
resizerConfig,
|
|
25
25
|
selectionConfig,
|
|
26
26
|
isFlexibleColumns,
|
|
27
|
-
hasRowActions
|
|
28
|
-
} = state.properties;
|
|
29
|
-
const {
|
|
27
|
+
hasRowActions,
|
|
30
28
|
emptyStateUiType
|
|
31
29
|
} = state.properties;
|
|
32
30
|
const {
|
|
@@ -37,20 +35,55 @@ function TableListView(_ref2, _ref) {
|
|
|
37
35
|
headers,
|
|
38
36
|
rows
|
|
39
37
|
} = data;
|
|
40
|
-
const hasRows = rows.length > 0; //
|
|
38
|
+
const hasRows = rows.length > 0; // TODO: derive from state.properties
|
|
41
39
|
|
|
42
|
-
const isDataEmpty = !hasRows && !isLoading; //
|
|
40
|
+
const isDataEmpty = !hasRows && !isLoading; // TODO: derive from state.properties
|
|
43
41
|
|
|
44
42
|
return /*#__PURE__*/React.createElement("div", {
|
|
45
43
|
className: style.wrapper,
|
|
46
44
|
ref: _ref
|
|
47
45
|
}, /*#__PURE__*/React.createElement(Table, {
|
|
48
|
-
$event_onScroll: e => {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
46
|
+
$event_onScroll: e => handleScroll(dispatch, {
|
|
47
|
+
scrollEvent: e
|
|
48
|
+
})
|
|
49
|
+
}, renderHeader({
|
|
50
|
+
headers,
|
|
51
|
+
resizerConfig,
|
|
52
|
+
resizerState,
|
|
53
|
+
selectionConfig,
|
|
54
|
+
selection,
|
|
55
|
+
isFlexibleColumns,
|
|
56
|
+
hasRowActions,
|
|
57
|
+
dispatch
|
|
58
|
+
}), renderBody({
|
|
59
|
+
headers,
|
|
60
|
+
rows,
|
|
61
|
+
isFlexibleColumns,
|
|
62
|
+
selectionConfig,
|
|
63
|
+
resizerState,
|
|
64
|
+
hasRowActions,
|
|
65
|
+
hasRows
|
|
66
|
+
}), /*#__PURE__*/React.createElement(NoData, {
|
|
67
|
+
isDataEmpty: isDataEmpty,
|
|
68
|
+
emptyStateUiType: emptyStateUiType
|
|
69
|
+
}), /*#__PURE__*/React.createElement(Loading, {
|
|
70
|
+
isLoading: isLoading,
|
|
71
|
+
hasRows: hasRows
|
|
72
|
+
})), renderColumnResizingLine(resizerState));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function renderHeader(_ref3) {
|
|
76
|
+
let {
|
|
77
|
+
headers,
|
|
78
|
+
resizerConfig,
|
|
79
|
+
resizerState,
|
|
80
|
+
selectionConfig,
|
|
81
|
+
selection,
|
|
82
|
+
isFlexibleColumns,
|
|
83
|
+
hasRowActions,
|
|
84
|
+
dispatch
|
|
85
|
+
} = _ref3;
|
|
86
|
+
return /*#__PURE__*/React.createElement(Header, {
|
|
54
87
|
isSelectionEnabled: selectionConfig.isEnabled,
|
|
55
88
|
hasAllSelected: selection.hasAllSelected,
|
|
56
89
|
isResizerEnabled: resizerConfig.isEnabled,
|
|
@@ -62,7 +95,20 @@ function TableListView(_ref2, _ref) {
|
|
|
62
95
|
hasRowActions: hasRowActions,
|
|
63
96
|
headers: headers,
|
|
64
97
|
dispatch: dispatch
|
|
65
|
-
})
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function renderBody(_ref4) {
|
|
102
|
+
let {
|
|
103
|
+
headers,
|
|
104
|
+
rows,
|
|
105
|
+
isFlexibleColumns,
|
|
106
|
+
selectionConfig,
|
|
107
|
+
resizerState,
|
|
108
|
+
hasRowActions,
|
|
109
|
+
hasRows
|
|
110
|
+
} = _ref4;
|
|
111
|
+
return /*#__PURE__*/React.createElement(Body, {
|
|
66
112
|
hasRows: hasRows,
|
|
67
113
|
isFlexibleColumns: isFlexibleColumns
|
|
68
114
|
}, /*#__PURE__*/React.createElement(Rows, {
|
|
@@ -72,18 +118,16 @@ function TableListView(_ref2, _ref) {
|
|
|
72
118
|
isSelectionEnabled: selectionConfig.isEnabled,
|
|
73
119
|
resizedColumnsWidth: resizerState.resizedColumnsWidth,
|
|
74
120
|
hasRowActions: hasRowActions
|
|
75
|
-
}))
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
hasRows: hasRows
|
|
81
|
-
})), /*#__PURE__*/React.createElement(ColumnResizingLine, {
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function renderColumnResizingLine(resizerState) {
|
|
125
|
+
return /*#__PURE__*/React.createElement(ColumnResizingLine, {
|
|
82
126
|
isCurrentlyResizing: resizerState.isCurrentlyResizing,
|
|
83
127
|
initialPosition: resizerState.initialPosition,
|
|
84
128
|
resizedPosition: resizerState.resizedPosition,
|
|
85
129
|
tooltip: resizerState.tooltip
|
|
86
|
-
})
|
|
130
|
+
});
|
|
87
131
|
}
|
|
88
132
|
|
|
89
133
|
export default TableListView;
|
|
@@ -22,28 +22,43 @@ function Header(_ref) {
|
|
|
22
22
|
|
|
23
23
|
if (headers.length <= 0) {
|
|
24
24
|
return null;
|
|
25
|
-
}
|
|
26
|
-
|
|
25
|
+
}
|
|
27
26
|
|
|
28
27
|
return /*#__PURE__*/React.createElement(TableHeader, {
|
|
29
28
|
$flag_padding: !isSelectionEnabled
|
|
30
|
-
},
|
|
29
|
+
}, renderSelectAll(isSelectionEnabled, hasAllSelected, dispatch), renderHeaders(headers, resizedColumnsWidth, currentlyResizingColumn, isResizerEnabled, isFlexibleColumns, dispatch), renderActionColumn(hasRowActions), renderResizerExtraSpace(isCurrentlyResizing, resizerExtraWidth));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function renderSelectAll(isSelectionEnabled, hasAllSelected, dispatch) {
|
|
33
|
+
return /*#__PURE__*/React.createElement(SelectAll, {
|
|
31
34
|
isSelectionEnabled: isSelectionEnabled,
|
|
32
35
|
hasAllSelected: hasAllSelected,
|
|
33
36
|
dispatch: dispatch
|
|
34
|
-
})
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function renderHeaders(headers, resizedColumnsWidth, currentlyResizingColumn, isResizerEnabled, isFlexibleColumns, dispatch) {
|
|
41
|
+
return /*#__PURE__*/React.createElement(Headers, {
|
|
35
42
|
headers: headers,
|
|
36
43
|
resizedColumnsWidth: resizedColumnsWidth,
|
|
37
44
|
currentlyResizingColumn: currentlyResizingColumn,
|
|
38
45
|
isResizerEnabled: isResizerEnabled,
|
|
39
46
|
isFlexibleColumns: isFlexibleColumns,
|
|
40
47
|
dispatch: dispatch
|
|
41
|
-
})
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function renderActionColumn(hasRowActions) {
|
|
52
|
+
return /*#__PURE__*/React.createElement(ActionColumn, {
|
|
42
53
|
hasRowActions: hasRowActions
|
|
43
|
-
})
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function renderResizerExtraSpace(isCurrentlyResizing, resizerExtraWidth) {
|
|
58
|
+
return /*#__PURE__*/React.createElement(ResizerExtraSpace, {
|
|
44
59
|
isCurrentlyResizing: isCurrentlyResizing,
|
|
45
60
|
extraWidth: resizerExtraWidth
|
|
46
|
-
})
|
|
61
|
+
});
|
|
47
62
|
}
|
|
48
63
|
|
|
49
64
|
export default Header;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import Flex from '@zohodesk/layout/es/Flex/Flex';
|
|
3
|
-
import CommonEmptyState from "../../../../../legacy-to-new-arch/common-empty-state/CommonEmptyState";
|
|
3
|
+
import CommonEmptyState from "../../../../../legacy-to-new-arch/common-empty-state/CommonEmptyState";
|
|
4
|
+
/* @ts-ignore */
|
|
4
5
|
|
|
5
6
|
import style from "../css/TableList.module.css";
|
|
6
7
|
import ComponentRegistry from "../../../../../../custom-component/frameworks/ui/ComponentRegistry";
|
|
@@ -11,6 +12,7 @@ export default function NoData(_ref) {
|
|
|
11
12
|
} = _ref;
|
|
12
13
|
|
|
13
14
|
if (isDataEmpty) {
|
|
15
|
+
/* eslint-disable-next-line @zohodesk/architecturerules/no-defaultProps-rule */
|
|
14
16
|
const EmptyState = ComponentRegistry.get(emptyStateUiType) || CommonEmptyState;
|
|
15
17
|
return /*#__PURE__*/React.createElement(Flex, {
|
|
16
18
|
$ui_displayMode: "flex",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import Row from "./row/Row";
|
|
3
|
-
const emptyArray = [];
|
|
3
|
+
const emptyArray = Object.freeze([]);
|
|
4
4
|
const emptyObject = {};
|
|
5
5
|
|
|
6
6
|
function Rows(_ref) {
|
|
@@ -12,38 +12,44 @@ function Rows(_ref) {
|
|
|
12
12
|
resizedColumnsWidth,
|
|
13
13
|
hasRowActions
|
|
14
14
|
} = _ref;
|
|
15
|
-
return rows.map((row, index) => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
15
|
+
return rows.map((row, index) => /*#__PURE__*/React.createElement(Row, {
|
|
16
|
+
key: index,
|
|
17
|
+
...getRowProps(row, headers, isFlexibleColumns, isSelectionEnabled, resizedColumnsWidth, hasRowActions)
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function getRowProps(row, headers, isFlexibleColumns, isSelectionEnabled, resizedColumnsWidth, hasRowActions) {
|
|
22
|
+
const {
|
|
23
|
+
id,
|
|
24
|
+
columns,
|
|
25
|
+
isSelected,
|
|
26
|
+
isSelectable,
|
|
27
|
+
selectionTooltip,
|
|
28
|
+
clickAction,
|
|
29
|
+
rowActions
|
|
30
|
+
} = row;
|
|
31
|
+
const updatedColumns = getUpdatedColumns(columns, headers);
|
|
32
|
+
return {
|
|
33
|
+
id,
|
|
34
|
+
columns: updatedColumns || emptyArray,
|
|
35
|
+
clickAction: clickAction || emptyObject,
|
|
36
|
+
rowActions: rowActions || emptyArray,
|
|
37
|
+
isSelected,
|
|
38
|
+
isSelectable,
|
|
39
|
+
selectionTooltip,
|
|
40
|
+
isFlexibleColumns,
|
|
41
|
+
isSelectionEnabled,
|
|
42
|
+
resizedColumnsWidth,
|
|
43
|
+
hasActions: hasRowActions
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function getUpdatedColumns(columns, headers) {
|
|
48
|
+
return columns.map((column, index) => ({
|
|
49
|
+
size: headers[index].size,
|
|
50
|
+
field: column,
|
|
51
|
+
alignment: headers[index].alignment
|
|
52
|
+
}));
|
|
47
53
|
}
|
|
48
54
|
|
|
49
55
|
export default Rows;
|
package/es/library/dot/components/table-list/frameworks/ui/sub-components/field/FieldComponent.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
2
|
+
import FieldComponents from "../../../../../../legacy-to-new-arch/table-field-components";
|
|
3
3
|
import ComponentRegistry from "../../../../../../../custom-component/frameworks/ui/ComponentRegistry";
|
|
4
4
|
|
|
5
5
|
const FieldComponent = props => {
|
|
@@ -7,6 +7,8 @@ const FieldComponent = props => {
|
|
|
7
7
|
type,
|
|
8
8
|
fieldProps
|
|
9
9
|
} = props;
|
|
10
|
+
/* eslint-disable-next-line @zohodesk/architecturerules/no-defaultProps-rule */
|
|
11
|
+
|
|
10
12
|
const Component = FieldComponents[type] || ComponentRegistry.get(type);
|
|
11
13
|
|
|
12
14
|
if (!Component) {
|
|
@@ -15,9 +15,9 @@ function Headers(_ref) {
|
|
|
15
15
|
sortOrder,
|
|
16
16
|
sortTooltip
|
|
17
17
|
} = header;
|
|
18
|
-
let isResizing = currentlyResizingColumn === header.id; //
|
|
18
|
+
let isResizing = currentlyResizingColumn === header.id; // TODO: To be adopted with properties
|
|
19
19
|
|
|
20
|
-
let resizedWidth = resizedColumnsWidth[header.id]; //
|
|
20
|
+
let resizedWidth = resizedColumnsWidth[header.id]; // TODO: To be adopted with properties
|
|
21
21
|
|
|
22
22
|
return /*#__PURE__*/React.createElement(HeaderData, {
|
|
23
23
|
key: index,
|
|
@@ -41,22 +41,67 @@ function RowView(_ref, ref) {
|
|
|
41
41
|
id
|
|
42
42
|
}
|
|
43
43
|
})
|
|
44
|
-
},
|
|
44
|
+
}, renderRowSelection({
|
|
45
|
+
isSelectionEnabled,
|
|
46
|
+
id,
|
|
47
|
+
selectionTooltip,
|
|
48
|
+
isSelected,
|
|
49
|
+
isSelectable,
|
|
50
|
+
dispatch
|
|
51
|
+
}), renderColumns({
|
|
52
|
+
columns,
|
|
53
|
+
resizedColumnsWidth,
|
|
54
|
+
isFlexibleColumns
|
|
55
|
+
}), renderRowActions({
|
|
56
|
+
hasActions,
|
|
57
|
+
rowActions,
|
|
58
|
+
dispatch
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function renderRowSelection(_ref2) {
|
|
63
|
+
let {
|
|
64
|
+
isSelectionEnabled,
|
|
65
|
+
id,
|
|
66
|
+
selectionTooltip,
|
|
67
|
+
isSelected,
|
|
68
|
+
isSelectable,
|
|
69
|
+
dispatch
|
|
70
|
+
} = _ref2;
|
|
71
|
+
return /*#__PURE__*/React.createElement(RowSelection, {
|
|
45
72
|
isSelectionEnabled: isSelectionEnabled,
|
|
46
73
|
id: id,
|
|
47
74
|
tooltip: selectionTooltip,
|
|
48
75
|
selected: isSelected,
|
|
49
76
|
selectable: isSelectable,
|
|
50
77
|
dispatch: dispatch
|
|
51
|
-
})
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function renderColumns(_ref3) {
|
|
82
|
+
let {
|
|
83
|
+
columns,
|
|
84
|
+
resizedColumnsWidth,
|
|
85
|
+
isFlexibleColumns
|
|
86
|
+
} = _ref3;
|
|
87
|
+
return /*#__PURE__*/React.createElement(Columns, {
|
|
52
88
|
data: columns,
|
|
53
89
|
resizedColumnsWidth: resizedColumnsWidth,
|
|
54
90
|
isFlexibleColumns: isFlexibleColumns
|
|
55
|
-
})
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function renderRowActions(_ref4) {
|
|
95
|
+
let {
|
|
96
|
+
hasActions,
|
|
97
|
+
rowActions,
|
|
98
|
+
dispatch
|
|
99
|
+
} = _ref4;
|
|
100
|
+
return /*#__PURE__*/React.createElement(RowActions, {
|
|
56
101
|
hasActions: hasActions,
|
|
57
102
|
actions: rowActions,
|
|
58
103
|
dispatch: dispatch
|
|
59
|
-
})
|
|
104
|
+
});
|
|
60
105
|
}
|
|
61
106
|
|
|
62
107
|
const Row = createCustomComponent({
|
|
@@ -1,7 +1,39 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import Avatar from "@zohodesk/components/es/Avatar/Avatar";
|
|
3
3
|
import LabeledAvatar from "@zohodesk-private/desk-components/es/table/LabeledAvatar/LabeledAvatar";
|
|
4
|
-
import { AvatarConstants } from "../../../../../../cc";
|
|
4
|
+
import { AvatarConstants } from "../../../../../../cc";
|
|
5
|
+
|
|
6
|
+
const renderLabeledAvatar = (imageSrc, label, name, tooltip, ref, dispatch) => /*#__PURE__*/React.createElement(LabeledAvatar, {
|
|
7
|
+
$data_avatarUrl: imageSrc,
|
|
8
|
+
$data_text: label,
|
|
9
|
+
$data_avatarName: name,
|
|
10
|
+
$i18n_avatarTooltip: tooltip,
|
|
11
|
+
$customProps_container: {
|
|
12
|
+
ref,
|
|
13
|
+
onClick: () => {
|
|
14
|
+
dispatch({
|
|
15
|
+
type: AvatarConstants.AVATAR_CLICKED
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
const renderAvatar = (imageSrc, name, tooltip, size, ref, dispatch) => /*#__PURE__*/React.createElement(Avatar, {
|
|
22
|
+
customProps: {
|
|
23
|
+
AvatarProps: {
|
|
24
|
+
ref
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
src: imageSrc,
|
|
28
|
+
name: name,
|
|
29
|
+
title: tooltip,
|
|
30
|
+
size: size,
|
|
31
|
+
onClick: () => {
|
|
32
|
+
dispatch({
|
|
33
|
+
type: AvatarConstants.AVATAR_CLICKED
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
});
|
|
5
37
|
|
|
6
38
|
function AvatarView(_ref, ref) {
|
|
7
39
|
let {
|
|
@@ -20,38 +52,10 @@ function AvatarView(_ref, ref) {
|
|
|
20
52
|
} = state.properties;
|
|
21
53
|
|
|
22
54
|
if (!!label) {
|
|
23
|
-
return
|
|
24
|
-
$data_avatarUrl: imageSrc,
|
|
25
|
-
$data_text: label,
|
|
26
|
-
$data_avatarName: name,
|
|
27
|
-
$i18n_avatarTooltip: tooltip,
|
|
28
|
-
$customProps_container: {
|
|
29
|
-
ref,
|
|
30
|
-
onClick: () => {
|
|
31
|
-
dispatch({
|
|
32
|
-
type: AvatarConstants.AVATAR_CLICKED
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
});
|
|
55
|
+
return renderLabeledAvatar(imageSrc, label, name, tooltip, ref, dispatch);
|
|
37
56
|
}
|
|
38
57
|
|
|
39
|
-
return
|
|
40
|
-
customProps: {
|
|
41
|
-
AvatarProps: {
|
|
42
|
-
ref
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
src: imageSrc,
|
|
46
|
-
name: name,
|
|
47
|
-
title: tooltip,
|
|
48
|
-
size: size,
|
|
49
|
-
onClick: () => {
|
|
50
|
-
dispatch({
|
|
51
|
-
type: AvatarConstants.AVATAR_CLICKED
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
});
|
|
58
|
+
return renderAvatar(imageSrc, name, tooltip, size, ref, dispatch);
|
|
55
59
|
}
|
|
56
60
|
|
|
57
61
|
export default AvatarView;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import TableEmail from
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import TableEmail from '@zohodesk-private/desk-components/es/table/TableEmail/TableEmail';
|
|
3
3
|
import { EmailConstants } from "../../../../../../cc";
|
|
4
4
|
|
|
5
5
|
function EmailView(_ref, ref) {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createCustomComponent } from "../../../../../../custom-component";
|
|
2
|
+
import BooleanProperties from "../../../../../../../cc/fields/boolean/Properties";
|
|
3
|
+
import BooleanEvents from "../../../../../../../cc/fields/boolean/Events";
|
|
4
|
+
import CheckboxFieldView from "./CheckboxFieldView";
|
|
5
|
+
import { EventHandlersFactory } from "./EventHandlersFactory";
|
|
6
|
+
const CheckboxField = createCustomComponent({
|
|
7
|
+
name: 'CheckboxField',
|
|
8
|
+
View: CheckboxFieldView,
|
|
9
|
+
properties: BooleanProperties,
|
|
10
|
+
events: BooleanEvents,
|
|
11
|
+
eventHandlers: EventHandlersFactory.create()
|
|
12
|
+
});
|
|
13
|
+
export default CheckboxField;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Checkbox } from "../../../..";
|
|
3
|
+
export default function CheckboxFieldView(_ref, ref) {
|
|
4
|
+
let {
|
|
5
|
+
state
|
|
6
|
+
} = _ref;
|
|
7
|
+
const {
|
|
8
|
+
value
|
|
9
|
+
} = state.properties;
|
|
10
|
+
return /*#__PURE__*/React.createElement(Checkbox, {
|
|
11
|
+
getRef: ref,
|
|
12
|
+
checked: value,
|
|
13
|
+
disabled: false,
|
|
14
|
+
readonly: false,
|
|
15
|
+
label: "",
|
|
16
|
+
tooltip: ""
|
|
17
|
+
});
|
|
18
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import CheckboxConstants from "../../../../../../../cc/checkbox/Constants";
|
|
2
|
+
import FieldConstants from "../../../../../../../cc/fields/field/Constants";
|
|
3
|
+
export class EventHandlersFactory {
|
|
4
|
+
static create() {
|
|
5
|
+
const changeHandler = input => {
|
|
6
|
+
const {
|
|
7
|
+
state,
|
|
8
|
+
dispatch
|
|
9
|
+
} = input;
|
|
10
|
+
const {
|
|
11
|
+
name: fieldName,
|
|
12
|
+
value: currentValue
|
|
13
|
+
} = state.properties;
|
|
14
|
+
const toggledValue = !currentValue;
|
|
15
|
+
dispatch({
|
|
16
|
+
type: FieldConstants.FIELD_CHANGED,
|
|
17
|
+
payload: {
|
|
18
|
+
fieldName,
|
|
19
|
+
value: toggledValue
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return {
|
|
25
|
+
[CheckboxConstants.CHECKBOX_TOGGLED]: changeHandler
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createCustomComponent } from "../../../../../../custom-component";
|
|
2
|
+
import CurrencyProperties from "../../../../../../../cc/fields/currency/Properties";
|
|
3
|
+
import CurrencyEvents from "../../../../../../../cc/fields/currency/Events";
|
|
4
|
+
import TextToFieldClickBehaviourFactory from "../../../../../../behaviours/text-to-field-click/frameworks/ui/TextToFieldClickBehaviourFactory";
|
|
5
|
+
import { CurrencyFieldView } from "./CurrencyFieldView";
|
|
6
|
+
const CurrencyField = createCustomComponent({
|
|
7
|
+
name: 'CurrencyField',
|
|
8
|
+
View: CurrencyFieldView,
|
|
9
|
+
properties: CurrencyProperties,
|
|
10
|
+
behaviours: [TextToFieldClickBehaviourFactory.create()],
|
|
11
|
+
events: CurrencyEvents,
|
|
12
|
+
eventHandlers: {}
|
|
13
|
+
});
|
|
14
|
+
export default CurrencyField;
|