cluedin-widget
Version:
436 lines (336 loc) • 14.7 kB
JavaScript
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[14],{
/***/ 1929:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(0);
var react_default = /*#__PURE__*/__webpack_require__.n(react);
// EXTERNAL MODULE: ./node_modules/react-redux/es/index.js + 18 modules
var es = __webpack_require__(8);
// EXTERNAL MODULE: ./node_modules/recompose/es/Recompose.js
var Recompose = __webpack_require__(6);
// EXTERNAL MODULE: ./node_modules/uxi/Alert/index.js
var Alert = __webpack_require__(24);
var Alert_default = /*#__PURE__*/__webpack_require__.n(Alert);
// EXTERNAL MODULE: ./node_modules/uxi/Button/index.js
var Button = __webpack_require__(18);
var Button_default = /*#__PURE__*/__webpack_require__.n(Button);
// EXTERNAL MODULE: ./node_modules/uxi/Icons/index.js
var Icons = __webpack_require__(9);
// EXTERNAL MODULE: ./node_modules/react-intl/lib/index.es.js
var index_es = __webpack_require__(4);
// EXTERNAL MODULE: ./core/modules/entity/entityTypes/generic/Card/index.js
var Card = __webpack_require__(287);
// EXTERNAL MODULE: ./core/modules/wms/helpers/widgetHelper.js
var widgetHelper = __webpack_require__(85);
// EXTERNAL MODULE: ./core/config/index.js + 4 modules
var config = __webpack_require__(11);
// EXTERNAL MODULE: ./core/modules/entityMerge/components/Hocs/withEntitySelectable.js
var withEntitySelectable = __webpack_require__(222);
// CONCATENATED MODULE: ./core/modules/search/components/composites/EntityDefaultSearchResult.js
var DefaultSelectable = Object(withEntitySelectable["a" /* withEntitySelectable */])(Card["a" /* Default */]);
var EntityDefaultSearchResult_EntityDefaultSearchResult = function EntityDefaultSearchResult(_ref) {
var searchResult = _ref.searchResult,
q = _ref.q;
var entityContent = searchResult.Hits.map(function (entity, index) {
var highlight;
if (searchResult && searchResult.Highlights && searchResult.Highlights[entity.id]) {
highlight = searchResult.Highlights[entity.id];
}
var entityConfig = Object(widgetHelper["b" /* getEntityConfiguration */])(entity.data.entityType);
var entityUrl = config["g" /* location */].goToEntity(entity);
return react_default.a.createElement(DefaultSelectable, {
key: "DefaultSelectable-".concat(entity.name, "-").concat(index),
entityUrl: entityUrl,
entityConfig: entityConfig,
q: q,
entity: entity,
highlight: highlight
});
});
return react_default.a.createElement("div", null, entityContent);
};
EntityDefaultSearchResult_EntityDefaultSearchResult.displayName = 'EntityDefaultSearchResult';
/* harmony default export */ var composites_EntityDefaultSearchResult = (EntityDefaultSearchResult_EntityDefaultSearchResult);
// CONCATENATED MODULE: ./core/modules/search/components/composites/QuickSearchResult.js
var QuickSearchResult_QuickSearchResult = function QuickSearchResult(_ref) {
var searchResult = _ref.searchResult,
query = _ref.query,
onInitMerge = _ref.onInitMerge;
var hasResult = searchResult && searchResult.Hits && searchResult.Hits.length > 0;
var hasOnlyOneResult = searchResult && searchResult.Hits && searchResult.Hits.length === 1;
if (!hasResult) {
return react_default.a.createElement(Alert_default.a, null, "No result found");
}
return react_default.a.createElement("div", null, !hasOnlyOneResult && react_default.a.createElement("div", {
style: {
padding: '15px',
borderBottom: '1px solid #ccc'
}
}, react_default.a.createElement(Button_default.a, {
icon: react_default.a.createElement(Icons["Merge"], null),
onClick: onInitMerge,
type: "primary",
text: react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-dataModeling-merge",
defaultMessage: "Merge"
})
})), react_default.a.createElement(composites_EntityDefaultSearchResult, {
searchResult: searchResult,
q: query
}));
};
/* harmony default export */ var composites_QuickSearchResult = (QuickSearchResult_QuickSearchResult);
// EXTERNAL MODULE: ./core/modules/search/actions.js + 2 modules
var actions = __webpack_require__(70);
// EXTERNAL MODULE: ./core/modules/core/components/composites/QuickViewWithErrorAndLoading.js
var QuickViewWithErrorAndLoading = __webpack_require__(338);
// EXTERNAL MODULE: ./core/modules/entityMerge/actions.js + 1 modules
var entityMerge_actions = __webpack_require__(89);
// CONCATENATED MODULE: ./core/modules/search/components/containers/quickViews/EntitySearchQuickViewContainer.js
// import { FormattedMessage } from 'react-intl';
var EntitySearchQuickViewContainer_EntitySearchQuickViewContainer = function EntitySearchQuickViewContainer(_ref) {
var title = _ref.title,
open = _ref.open,
onClose = _ref.onClose,
searchResult = _ref.searchResult,
invalid = _ref.invalid,
isFetching = _ref.isFetching,
onInitMerge = _ref.onInitMerge,
query = _ref.query;
return react_default.a.createElement(QuickViewWithErrorAndLoading["a" /* default */], {
open: open,
onClose: onClose,
style: {
width: '968px'
},
title: title,
invalid: invalid,
isFetching: isFetching
}, react_default.a.createElement("div", {
style: {
overflowY: 'scroll'
}
}, react_default.a.createElement(composites_QuickSearchResult, {
onInitMerge: onInitMerge,
searchResult: searchResult,
query: query,
title: title
})));
};
var EnhancedEntitySearchQuickViewContainer = Object(Recompose["b" /* compose */])(Object(Recompose["c" /* lifecycle */])({
componentWillMount: function componentWillMount() {
var _this$props = this.props,
query = _this$props.query,
search = _this$props.search;
if (query) {
search(query);
}
},
componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
var _this$props2 = this.props,
query = _this$props2.query,
search = _this$props2.search;
if (query !== nextProps.query) {
if (nextProps.query) {
search(nextProps.query);
}
}
}
}))(EntitySearchQuickViewContainer_EntitySearchQuickViewContainer);
var mapToStateProps = function mapToStateProps(_ref2, _ref3) {
var quickSearch = _ref2.searchModule.quickSearch;
var query = _ref3.query,
open = _ref3.open;
var isFetching = quickSearch[query] ? quickSearch[query].isFetching : true;
var result = quickSearch[query] ? quickSearch[query].result : [];
var invalid = quickSearch[query] ? quickSearch[query].invalid : false;
return {
isFetching: isFetching,
searchResult: result,
invalid: invalid,
open: open
};
};
var EntitySearchQuickViewContainer_mapDispatchToProps = function mapDispatchToProps(dispatch, _ref4) {
var withUntokenized = _ref4.withUntokenized;
return {
search: function search(query) {
dispatch(Object(actions["j" /* shouldQuickSearchResult */])({
query: query,
withUntokenized: withUntokenized
}));
},
onInitMerge: function onInitMerge() {
var mergeConfig = {
min: 2,
max: Infinity,
sameEntityType: true
};
dispatch(Object(entityMerge_actions["d" /* initMerge */])(mergeConfig));
}
};
};
/* harmony default export */ var quickViews_EntitySearchQuickViewContainer = __webpack_exports__["a"] = (Object(es["connect"])(mapToStateProps, EntitySearchQuickViewContainer_mapDispatchToProps)(EnhancedEntitySearchQuickViewContainer));
/***/ }),
/***/ 2327:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(0);
var react_default = /*#__PURE__*/__webpack_require__.n(react);
// EXTERNAL MODULE: ./node_modules/react-intl/lib/index.es.js
var index_es = __webpack_require__(4);
// EXTERNAL MODULE: ./node_modules/react-redux/es/index.js + 18 modules
var es = __webpack_require__(8);
// EXTERNAL MODULE: ./node_modules/recompose/es/Recompose.js
var Recompose = __webpack_require__(6);
// EXTERNAL MODULE: ./core/modules/dataModeling/actions.js + 1 modules
var actions = __webpack_require__(235);
// EXTERNAL MODULE: ./core/modules/core/components/Hocs/WithErrorAndLoading.js
var WithErrorAndLoading = __webpack_require__(220);
// EXTERNAL MODULE: ./node_modules/uxi/Widget/index.js
var Widget = __webpack_require__(40);
var Widget_default = /*#__PURE__*/__webpack_require__.n(Widget);
// EXTERNAL MODULE: ./node_modules/uxi/DataGrid/index.js
var DataGrid = __webpack_require__(144);
var DataGrid_default = /*#__PURE__*/__webpack_require__.n(DataGrid);
// EXTERNAL MODULE: ./node_modules/uxi/Alert/index.js
var Alert = __webpack_require__(24);
var Alert_default = /*#__PURE__*/__webpack_require__.n(Alert);
// CONCATENATED MODULE: ./core/modules/dataModeling/components/composites/lists/DuplicatesList.js
// import { ButtonLink } from 'uxi/Button';
/**
* Comment left on purpose due to cluedin#913
* the Button should be back in 2.4
*/
/*
const SearchTermComponent = onSelectDuplicate => ({ value }) => (
<ButtonLink
onClick={() => { onSelectDuplicate(value); }}
text={value}
/>
);
*/
var DuplicatesList_Empty = function Empty() {
return react_default.a.createElement(Alert_default.a, {
type: "info"
}, "No duplicates have been found so far");
};
var DuplicatesList_DuplicatesList = function DuplicatesList(_ref) {
var _ref$data = _ref.data,
data = _ref$data === void 0 ? [] : _ref$data;
return !data || data && data.length === 0 ? react_default.a.createElement(DuplicatesList_Empty, null) : react_default.a.createElement(DataGrid_default.a, {
data: data || [],
properties: [{
property: 'term',
displayName: react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-dataModeling-entityName",
defaultMessage: "Entity name"
}),
// Component: SearchTermComponent(onSelectDuplicate),
Component: function Component(_ref2) {
var value = _ref2.value;
return react_default.a.createElement("span", null, value);
}
}, {
property: 'count',
displayName: react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-dataModeling-count",
defaultMessage: "Count"
})
}]
});
};
/* harmony default export */ var lists_DuplicatesList = (DuplicatesList_DuplicatesList);
// CONCATENATED MODULE: ./core/modules/dataModeling/components/composites/DuplicatesWidget.js
var DuplicatesWidget_DuplicatesComposites = function DuplicatesComposites(_ref) {
var duplicates = _ref.duplicates,
onSelectDuplicate = _ref.onSelectDuplicate;
return react_default.a.createElement("div", {
style: {
margin: '30px',
background: '#fff'
}
}, react_default.a.createElement(Widget_default.a, {
title: react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-dataModeling-duplicatedEntities",
defaultMessage: "Duplicated Entities"
})
}, react_default.a.createElement(lists_DuplicatesList, {
data: duplicates,
onSelectDuplicate: onSelectDuplicate
})));
};
/* harmony default export */ var DuplicatesWidget = (DuplicatesWidget_DuplicatesComposites);
// CONCATENATED MODULE: ./core/modules/dataModeling/components/containers/DuplicatesContainer.js
var DuplicatedContainer = Object(WithErrorAndLoading["a" /* WithErrorAndLoading */])(DuplicatesWidget);
var EnhancedDuplicatesContainer = Object(Recompose["b" /* compose */])(Object(Recompose["c" /* lifecycle */])({
componentDidMount: function componentDidMount() {
var fetchDuplicates = this.props.fetchDuplicates;
fetchDuplicates();
}
}))(DuplicatedContainer);
var mapStateToProps = function mapStateToProps(_ref) {
var _ref$dataModeling = _ref.dataModeling,
isFetchingDuplicates = _ref$dataModeling.isFetchingDuplicates,
duplicates = _ref$dataModeling.duplicates,
invalidDuplicates = _ref$dataModeling.invalidDuplicates;
return {
isFetching: isFetchingDuplicates,
duplicates: duplicates,
invalid: invalidDuplicates
};
};
var DuplicatesContainer_mapDispatchToProps = function mapDispatchToProps(dispatch) {
return {
fetchDuplicates: function fetchDuplicates() {
dispatch(Object(actions["f" /* shouldFetchDuplicates */])());
},
onSelectDuplicate: function onSelectDuplicate(value) {
dispatch(Object(actions["e" /* selectdDuplicate */])(value));
}
};
};
/* harmony default export */ var DuplicatesContainer = (Object(es["connect"])(mapStateToProps, DuplicatesContainer_mapDispatchToProps)(EnhancedDuplicatesContainer));
// EXTERNAL MODULE: ./core/modules/entityMerge/components/containers/EntitiesSelectionManager.js
var EntitiesSelectionManager = __webpack_require__(407);
// EXTERNAL MODULE: ./core/modules/search/components/containers/quickViews/EntitySearchQuickViewContainer.js + 2 modules
var EntitySearchQuickViewContainer = __webpack_require__(1929);
// CONCATENATED MODULE: ./core/modules/dataModeling/components/pages/DuplicatesPage.js
var DuplicatesPage_DuplicatesPages = function DuplicatesPages(_ref) {
var isQuickViewOpen = _ref.isQuickViewOpen,
query = _ref.query,
onClose = _ref.onClose;
return react_default.a.createElement("div", null, react_default.a.createElement(DuplicatesContainer, null), react_default.a.createElement(EntitySearchQuickViewContainer["a" /* default */], {
query: query,
withUntokenized: true,
open: isQuickViewOpen,
onClose: onClose,
title: react_default.a.createElement(index_es["FormattedMessage"], {
id: "module-dataModeling-quickViewTitleDuplicated",
defaultMessage: "Related Entities for {query}",
values: {
query: query
}
})
}), react_default.a.createElement(EntitiesSelectionManager["a" /* default */], null));
};
var mapToStateToProps = function mapToStateToProps(_ref2) {
var selectedDuplicate = _ref2.dataModeling.selectedDuplicate;
return {
isQuickViewOpen: !!selectedDuplicate,
query: selectedDuplicate
};
};
var DuplicatesPage_mapDispatchToProps = function mapDispatchToProps(dispatch) {
return {
onClose: function onClose() {
dispatch(Object(actions["a" /* clearSelectedDuplicate */])());
}
};
};
/* harmony default export */ var DuplicatesPage = __webpack_exports__["default"] = (Object(es["connect"])(mapToStateToProps, DuplicatesPage_mapDispatchToProps)(DuplicatesPage_DuplicatesPages));
/***/ })
}]);