@lingk/sync 0.1.61 → 0.1.63

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/build/main.js CHANGED
@@ -328,21 +328,49 @@ module.exports =
328
328
  return r.name === rsc.resourceLabel;
329
329
  });
330
330
 
331
- var deNestedJoinKey = deNest(rsc.joinKeyName, rsc.joinKeyParents, rscResource);
331
+ var deNestedJoinKey = {};
332
+ var joinKeyResourceName = null;
333
+ if (rsc.joinKeyName) {
334
+ // joinKeyName coming from parameter from another resource
335
+ deNestedJoinKey = { property: rsc.joinKeyName };
336
+ joinKeyResourceName = rsc.joinKeyResource;
337
+
338
+ // joinKeyName coming from field on this resource
339
+ if (rsc.resourceLabel === rsc.joinKeyResource) {
340
+ var joinKeyResource = dataSourceMetadata.find(function (r) {
341
+ return r.type === rsc.joinKeyResource;
342
+ });
343
+ deNestedJoinKey = deNest(rsc.joinKeyName, rsc.joinKeyParents, joinKeyResource);
344
+ joinKeyResourceName = joinKeyResource.name;
345
+ }
346
+ }
332
347
 
333
348
  //get resource and primaryKey for first resource in bundle (check both metadatas)
334
349
  var primaryResourceProvider = bundle.resources[0].provider.charAt(0).toUpperCase() + bundle.resources[0].provider.slice(1).replace('Reader', '');
335
350
  var primaryDataSourceMetadata = primaryResourceProvider === step.destinationProvider ? wizard.destinationMetadata : wizard.sourceMetadata;
336
- var rscPrimaryResource = primaryDataSourceMetadata.find(function (r) {
337
- return r.type === bundle.resources[0].resourceName;
338
- });
339
- var deNestedPrimaryKey = deNest(rsc.primaryKeyName, rsc.primaryKeyParents, rscPrimaryResource);
351
+
352
+ var deNestedPrimaryKey = {};
353
+ var primaryKeyResourceName = null;
354
+ if (rsc.primaryKeyName) {
355
+ //primaryKeyName coming from parameter (another resource)
356
+ deNestedPrimaryKey = { property: rsc.primaryKeyName };
357
+ primaryKeyResourceName = rsc.primaryKeyResource;
358
+
359
+ // primaryKeyName coming from field on this resource
360
+ if (bundle.resources[0].resourceLabel === rsc.primaryKeyResource) {
361
+ var rscPrimaryResource = primaryDataSourceMetadata.find(function (r) {
362
+ return r.type === rsc.primaryKeyResource;
363
+ });
364
+ deNestedPrimaryKey = deNest(rsc.primaryKeyName, rsc.primaryKeyParents, rscPrimaryResource);
365
+ primaryKeyResourceName = rscPrimaryResource.name;
366
+ }
367
+ }
340
368
 
341
369
  if (rscResource) {
342
370
  resources.push(Object.assign({
343
371
  name: rscResource.name,
344
372
  provider: resourceProvider
345
- }, deNestedJoinKey.property && { joinKeyName: deNestedJoinKey.property }, deNestedJoinKey.parentsArray && deNestedJoinKey.parentsArray.length > 0 && { joinKeyParents: deNestedJoinKey.parentsArray }, deNestedPrimaryKey.property && { primaryKeyName: deNestedPrimaryKey.property }, deNestedPrimaryKey.parentsArray && deNestedPrimaryKey.parentsArray.length > 0 && { primaryKeyParents: deNestedPrimaryKey.parentsArray }, {
373
+ }, deNestedJoinKey.property && { joinKeyName: deNestedJoinKey.property }, joinKeyResourceName && { joinKeyResource: joinKeyResourceName }, deNestedJoinKey.parentsArray && deNestedJoinKey.parentsArray.length > 0 && { joinKeyParents: deNestedJoinKey.parentsArray }, deNestedPrimaryKey.property && { primaryKeyName: deNestedPrimaryKey.property }, primaryKeyResourceName && { primaryKeyResource: primaryKeyResourceName }, deNestedPrimaryKey.parentsArray && deNestedPrimaryKey.parentsArray.length > 0 && { primaryKeyParents: deNestedPrimaryKey.parentsArray }, {
346
374
  joinType: rsc.joinType || 'LEFT JOIN'
347
375
  }, rscResource.parentRef && { parentRef: rscResource.parentRef }, rsc.parameterFilters && { parameterFilters: rsc.parameterFilters }));
348
376
  }
@@ -2052,31 +2080,13 @@ module.exports =
2052
2080
  }, {
2053
2081
  key: 'addDefaultResourceGroup',
2054
2082
  value: function addDefaultResourceGroup(v, selectIdx, newGroup) {
2055
- var section = newGroup.section;
2056
2083
  var _props = this.props,
2057
2084
  addGroup = _props.addGroup,
2058
- resourceGroups = _props.resourceGroups,
2059
- step = _props.step;
2085
+ resourceGroups = _props.resourceGroups;
2060
2086
  var resourceGroupIndex = this.state.resourceGroupIndex;
2061
2087
 
2062
- console.log("crrentIndex:", resourceGroupIndex);
2063
- var isReverse = section === step.sourceProvider;
2064
- console.log("isReverse: ", isReverse);
2065
- var firstReverseIndex = 0;
2066
- for (var i = 0; i < resourceGroups.length; i++) {
2067
- firstReverseIndex = i;
2068
- if (resourceGroups[i] && resourceGroups[i].provider === step.sourceProvider) break;
2069
- }
2070
- console.log("firstReverseIndex:", firstReverseIndex);
2071
- var finalIndex = resourceGroupIndex + 1;
2072
- console.log("finalIndex: ", finalIndex);
2073
- if (!isReverse) {
2074
- if (resourceGroupIndex > firstReverseIndex) finalIndex = firstReverseIndex - 1;
2075
- } else {
2076
- if (resourceGroupIndex < firstReverseIndex) finalIndex = resourceGroups.length;
2077
- }
2078
- console.log("final finalIndex: ", finalIndex);
2079
2088
 
2089
+ var finalIndex = resourceGroupIndex + 1;
2080
2090
  if (!(resourceGroups && resourceGroups.length === 0)) {
2081
2091
  this.go(false, finalIndex);
2082
2092
  }
@@ -2095,13 +2105,23 @@ module.exports =
2095
2105
  value: function addDefaultEntity(v, rscIndex, entity, groupIndex) {
2096
2106
  var _this3 = this;
2097
2107
 
2098
- var resourceGroups = this.props.resourceGroups;
2108
+ var _props2 = this.props,
2109
+ resourceGroups = _props2.resourceGroups,
2110
+ step = _props2.step;
2099
2111
 
2100
2112
  var group = resourceGroups[this.state.resourceGroupIndex];
2101
- if (group && group.resources && group.resources.length > 0) {
2113
+
2114
+ var entityExists = group && group.resources && group.resources.find(function (r) {
2115
+ return r.name === v && r.provider === entity.section;
2116
+ });
2117
+
2118
+ if (group && group.resources && group.resources.length > 0 && !entityExists) {
2102
2119
  setTimeout(function () {
2103
2120
  var sel = [].concat(_toConsumableArray(_this3.state.selectedEntities));
2104
- sel[_this3.state.resourceGroupIndex] = { name: v };
2121
+ sel[_this3.state.resourceGroupIndex] = {
2122
+ name: v,
2123
+ isDestinationEntity: entity.section === step.destinationProvider
2124
+ };
2105
2125
  _this3.setState({ selectedEntities: sel });
2106
2126
  }, 40);
2107
2127
  }
@@ -2160,15 +2180,15 @@ module.exports =
2160
2180
  value: function render() {
2161
2181
  var _this4 = this;
2162
2182
 
2163
- var _props2 = this.props,
2164
- resourceGroups = _props2.resourceGroups,
2165
- style = _props2.style,
2166
- isBundleStep = _props2.isBundleStep,
2167
- destinationSchema = _props2.destinationSchema,
2168
- inputs = _props2.inputs,
2169
- step = _props2.step,
2170
- sourceSchema = _props2.sourceSchema,
2171
- direction = _props2.direction;
2183
+ var _props3 = this.props,
2184
+ resourceGroups = _props3.resourceGroups,
2185
+ style = _props3.style,
2186
+ isBundleStep = _props3.isBundleStep,
2187
+ destinationSchema = _props3.destinationSchema,
2188
+ inputs = _props3.inputs,
2189
+ step = _props3.step,
2190
+ sourceSchema = _props3.sourceSchema,
2191
+ direction = _props3.direction;
2172
2192
  var _state = this.state,
2173
2193
  resourceGroupIndex = _state.resourceGroupIndex,
2174
2194
  paneToggle = _state.paneToggle,
@@ -2183,9 +2203,9 @@ module.exports =
2183
2203
  return r.method !== 'POST' && r.method !== 'PUT';
2184
2204
  });
2185
2205
 
2186
- var bothMetadatas = direction === 'reverse' ? [filteredSourceSchema, destinationSchema] : [destinationSchema, filteredSourceSchema];
2206
+ var newTargetObjectMetadata = direction === 'reverse' ? [filteredSourceSchema] : [destinationSchema];
2187
2207
 
2188
- var bothSectionLabels = direction === 'reverse' ? [step.sourceProvider, step.destinationProvider] : [step.destinationProvider, step.sourceProvider];
2208
+ var newTargetSectionLabels = direction === 'reverse' ? [step.sourceProvider] : [step.destinationProvider];
2189
2209
 
2190
2210
  var propsForChild = {
2191
2211
  resourceGroups: resourceGroups, leftClicked: leftClicked, inputs: inputs, step: step,
@@ -2240,9 +2260,9 @@ module.exports =
2240
2260
  _react2.default.createElement(_selectWrapper2.default, { label: "Add Data Target", type: 'brand',
2241
2261
  style: { height: 40, width: 160 }, minWidth: 260, fieldPropLabel: 'name',
2242
2262
  onSelect: this.addDefaultResourceGroup,
2243
- values: bothMetadatas,
2263
+ values: newTargetObjectMetadata,
2244
2264
  title: 'Available Target Objects', inputs: inputs, sectionLabelSuffix: 'Objects',
2245
- sectionLabels: bothSectionLabels
2265
+ sectionLabels: newTargetSectionLabels
2246
2266
  })
2247
2267
  ) : null,
2248
2268
  _react2.default.createElement('br', null),
@@ -2315,7 +2335,7 @@ module.exports =
2315
2335
  return _react2.default.createElement(
2316
2336
  'div',
2317
2337
  { className: 'schema-group-name', key: i },
2318
- g.provider === step.sourceProvider ? g.name + ' (' + step.sourceProvider + ')' : g.name
2338
+ g.name
2319
2339
  );
2320
2340
  })
2321
2341
  )
@@ -2420,7 +2440,7 @@ module.exports =
2420
2440
 
2421
2441
  **************************/
2422
2442
 
2423
- function saveData(resourceGroups, targetProvider, sourceMetadata, destinationMetadata, sourceEndpoint) {
2443
+ function saveData(resourceGroups, sourceProvider, targetProvider, sourceMetadata, destinationMetadata, sourceEndpoint) {
2424
2444
  var bundles = resourceGroups || [];
2425
2445
  var mappings = [];
2426
2446
  var endpoints = {};
@@ -2437,7 +2457,7 @@ module.exports =
2437
2457
  }
2438
2458
 
2439
2459
  // destination Keys (for de-duplication in the Connect modal)
2440
- if (!group.customExternalKeys) {
2460
+ if (!group.customExternalKeys && group.lingkSourceKey) {
2441
2461
  group.sourceKeys = [group.lingkSourceKey];
2442
2462
  group.sourceKeysObjects = [group.lingkSourceKeyObject];
2443
2463
  group.sourceKeysParents = [group.lingkSourceKeyParents];
@@ -2538,7 +2558,9 @@ module.exports =
2538
2558
  }
2539
2559
 
2540
2560
  if (sourceResource && nestedSourceProp.property && destinationResource && destinationProperty) {
2561
+ console.log(sourceResource);
2541
2562
  mappings = mappings.concat(Object.assign({ // add to mappings obj
2563
+ resourceFromLabel: singleMapping.dataSourceIsDestinationEntity ? sourceResource.type + '_' + targetProvider : sourceResource.type + '_' + sourceProvider,
2542
2564
  resourceFromName: sourceResource.type,
2543
2565
  propertyFromName: nestedSourceProp.property
2544
2566
  }, nestedSourceProp.parentsArray && nestedSourceProp.parentsArray.length > 0 && { propertyFromParents: nestedSourceProp.parentsArray }, {
@@ -2565,6 +2587,14 @@ module.exports =
2565
2587
  var sourceResource = dataSourceMetadata.find(function (metaRsc) {
2566
2588
  return metaRsc.name === rsc.name;
2567
2589
  });
2590
+ // via parameter, dont change because its already "type"
2591
+ var nestedJoinKey = { property: rsc.joinKeyName };
2592
+ var joinKeyResource = rsc.joinKeyResource;
2593
+ // is from a same resource (not via parameters)
2594
+ if (sourceResource.name === rsc.joinKeyResource) {
2595
+ nestedJoinKey = findNestedProp(rsc.joinKeyName, rsc.joinKeyParents, sourceResource);
2596
+ joinKeyResource = sourceResource.type;
2597
+ }
2568
2598
 
2569
2599
  //make endpoint
2570
2600
  var suffix = sourceResource.endpointSuffix;
@@ -2578,17 +2608,24 @@ module.exports =
2578
2608
  return metaRsc.name === group.resources[0].name;
2579
2609
  });
2580
2610
 
2581
- var nestedPrimaryKey = findNestedProp(rsc.primaryKeyName, rsc.primaryKeyParents, primarySourceResource);
2582
-
2583
- var nestedJoinKey = findNestedProp(rsc.joinKeyName, rsc.joinKeyParents, sourceResource);
2611
+ // via parameter, dont change because its already "type"
2612
+ var nestedPrimaryKey = { property: rsc.primaryKeyName };
2613
+ var primaryKeyResource = rsc.primaryKeyResource;
2614
+ // is from a same resource (not via parameters)
2615
+ if (primarySourceResource.name === rsc.primaryKeyResource) {
2616
+ nestedPrimaryKey = findNestedProp(rsc.primaryKeyName, rsc.primaryKeyParents, primarySourceResource);
2617
+ primaryKeyResource = primarySourceResource.type;
2618
+ }
2584
2619
 
2585
2620
  if (sourceResource) {
2586
2621
  return Object.assign({
2587
2622
  resourceName: sourceResource.type,
2588
2623
  resourceLabel: sourceResource.name,
2589
- joinKeyName: nestedJoinKey.property
2624
+ joinKeyName: nestedJoinKey.property,
2625
+ joinKeyResource: joinKeyResource
2590
2626
  }, nestedJoinKey.parentsArray && nestedJoinKey.parentsArray.length > 0 && { joinKeyParents: nestedJoinKey.parentsArray }, {
2591
- primaryKeyName: nestedPrimaryKey.property
2627
+ primaryKeyName: nestedPrimaryKey.property,
2628
+ primaryKeyResource: primaryKeyResource
2592
2629
  }, nestedPrimaryKey.parentsArray && nestedPrimaryKey.parentsArray.length > 0 && { primaryKeyParents: nestedPrimaryKey.parentsArray }, {
2593
2630
  provider: rsc.provider.toLowerCase() + 'Reader',
2594
2631
  joinType: rsc.joinType
@@ -5978,16 +6015,7 @@ module.exports =
5978
6015
  { className: 'bundle-table-body' },
5979
6016
  groups && groups.map(function (group, i) {
5980
6017
 
5981
- var linked = false;
5982
- if (group.customExternalKeys) {
5983
- if (group.sourceKeys && group.sourceKeys.length > 0 && group.destinationKeys && group.destinationKeys.length > 0) {
5984
- linked = true;
5985
- }
5986
- } else {
5987
- if (group.lingkSourceKey) {
5988
- linked = true;
5989
- }
5990
- }
6018
+ var linked = group.lingkSourceKey || group.sourceKeys && group.sourceKeys.length > 0 && group.destinationKeys && group.destinationKeys.length > 0;
5991
6019
 
5992
6020
  /*const groupsBeforeThis = groups.slice(0,i)
5993
6021
  let groupBeforeThisIndex = 0
@@ -6007,6 +6035,17 @@ module.exports =
6007
6035
  }
6008
6036
  })*/
6009
6037
 
6038
+ var groupName = group.name;
6039
+ if (isReverse) {
6040
+ if (group.provider === step.destinationProvider) {
6041
+ groupName = group.name + ' (' + step.destinationProvider + ')';
6042
+ }
6043
+ } else {
6044
+ if (group.provider === step.sourceProvider) {
6045
+ groupName = group.name + ' (' + step.sourceProvider + ')';
6046
+ }
6047
+ }
6048
+
6010
6049
  return _react2.default.createElement(
6011
6050
  _reactDraggable2.default,
6012
6051
  { axis: 'y', key: i, handle: '.dragon',
@@ -6043,6 +6082,16 @@ module.exports =
6043
6082
  { style: { paddingTop: 3, display: 'inline-block', overflow: 'hidden',
6044
6083
  textOverflow: 'ellipsis', maxWidth: 'calc(100% - 32px)', whiteSpace: 'nowrap' } },
6045
6084
  group.resources && group.resources.map(function (rsc, ii) {
6085
+ var rscName = rsc.name;
6086
+ if (isReverse) {
6087
+ if (rsc.provider === step.sourceProvider) {
6088
+ rscName = rsc.name + ' (' + step.sourceProvider + ')';
6089
+ }
6090
+ } else {
6091
+ if (rsc.provider === step.destinationProvider) {
6092
+ rscName = rsc.name + ' (' + step.destinationProvider + ')';
6093
+ }
6094
+ }
6046
6095
  return _react2.default.createElement(
6047
6096
  'span',
6048
6097
  { key: ii },
@@ -6054,7 +6103,7 @@ module.exports =
6054
6103
  _react2.default.createElement(
6055
6104
  'span',
6056
6105
  { style: { fontWeight: ii === 0 ? 'bold' : 'normal', whiteSpace: 'nowrap', color: ii === 0 || rsc.primaryKeyName && rsc.joinKeyName ? '#16325c' : '#c23934' } },
6057
- rsc.provider === step.destinationProvider ? rsc.name + ' (' + step.destinationProvider + ')' : rsc.name,
6106
+ rscName,
6058
6107
  '\xA0'
6059
6108
  )
6060
6109
  );
@@ -6099,7 +6148,7 @@ module.exports =
6099
6148
  _react2.default.createElement(
6100
6149
  'strong',
6101
6150
  { style: { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis', display: 'block', paddingTop: 8 } },
6102
- group.provider === step.sourceProvider ? group.name + ' (' + step.sourceProvider + ')' : group.name
6151
+ groupName
6103
6152
  )
6104
6153
  )
6105
6154
  )
@@ -6166,6 +6215,7 @@ module.exports =
6166
6215
  group.mappings = group.mappings && group.mappings.filter(function (m) {
6167
6216
  return !m.isExternalKeyMapping;
6168
6217
  });
6218
+
6169
6219
  if (group.customExternalKeys) {
6170
6220
  group.sourceKeys && group.sourceKeys.forEach(function (sk, i) {
6171
6221
  if (sk && group.destinationKeys && group.destinationKeys[i]) {
@@ -6739,6 +6789,7 @@ module.exports =
6739
6789
  resourceGroups = _props3.resourceGroups,
6740
6790
  resourceGroupIndex = _props3.resourceGroupIndex,
6741
6791
  leftClicked = _props3.leftClicked,
6792
+ isReverse = _props3.isReverse,
6742
6793
  sourceSchema = _props3.sourceSchema,
6743
6794
  destinationSchema = _props3.destinationSchema,
6744
6795
  toggle = _props3.toggle,
@@ -6759,7 +6810,7 @@ module.exports =
6759
6810
 
6760
6811
  var mappings = {};
6761
6812
  var filteredMappings = {};
6762
- group.mappings && group.mappings.forEach(function (m, i) {
6813
+ group && group.mappings && group.mappings.forEach(function (m, i) {
6763
6814
  mappings[m.propertyToName] = {
6764
6815
  propFrom: m.propertyFromName,
6765
6816
  unique: m.isUnique || false,
@@ -6812,6 +6863,20 @@ module.exports =
6812
6863
  style: { background: 'white', height: 261, width: 358, padding: '6px 12px' } },
6813
6864
  group.resources && group.resources.map(function (rsc, i) {
6814
6865
  var schema = rsc.provider === step.destinationProvider ? destinationSchema : sourceSchema;
6866
+ var isDestinationEntity = rsc.provider === step.destinationProvider;
6867
+ var isSelected = selectedEntity.name === rsc.name && selectedEntity.isDestinationEntity === isDestinationEntity;
6868
+
6869
+ var rscName = rsc.name;
6870
+ if (isReverse) {
6871
+ if (rsc.provider === step.sourceProvider) {
6872
+ rscName = rsc.name + ' (' + step.sourceProvider + ')';
6873
+ }
6874
+ } else {
6875
+ if (rsc.provider === step.destinationProvider) {
6876
+ rscName = rsc.name + ' (' + step.destinationProvider + ')';
6877
+ }
6878
+ }
6879
+
6815
6880
  return _react2.default.createElement(
6816
6881
  'div',
6817
6882
  { key: i, className: 'accordion-panel', style: { overflow: 'hidden', width: 336 } },
@@ -6821,20 +6886,23 @@ module.exports =
6821
6886
  style: { height: 35 },
6822
6887
  onClick: function onClick() {
6823
6888
  _this4.scrollToTop(_this4['scroller-' + ii], 18, i * 43 + 6);
6824
- _this4.props.pickEntity({ name: rsc.name, isDestinationEntity: rsc.provider === step.destinationProvider });
6889
+ _this4.props.pickEntity({
6890
+ name: rsc.name,
6891
+ isDestinationEntity: rsc.provider === step.destinationProvider
6892
+ });
6825
6893
  _this4.setState({ selectedField: null, selectedFieldParents: null });
6826
6894
  }
6827
6895
  },
6828
6896
  _react2.default.createElement(
6829
6897
  'span',
6830
6898
  { className: 'accordion-panel-header-title' },
6831
- rsc.provider === step.destinationProvider ? rsc.name + (' (' + step.destinationProvider + ')') : rsc.name
6899
+ rscName
6832
6900
  ),
6833
6901
  _react2.default.createElement(
6834
6902
  'svg',
6835
6903
  { xmlns: 'http://www.w3.org/2000/svg', fill: '#FFFFFF', width: '18', height: '18', viewBox: '0 0 18 18',
6836
6904
  style: { float: 'right',
6837
- transform: selectedEntity.name === rsc.name ? 'rotate(180deg)' : 'rotate(0deg)'
6905
+ transform: isSelected ? 'rotate(180deg)' : 'rotate(0deg)'
6838
6906
  } },
6839
6907
  _react2.default.createElement('path', { d: 'M5 8l4 4 4-4z' })
6840
6908
  )
@@ -6844,7 +6912,7 @@ module.exports =
6844
6912
  { className: 'accordion-panel-collapse',
6845
6913
  style: {
6846
6914
  //height:schema && selectedEntity.name===rsc.name ? schema.find(r=>r.name===rsc.name).properties.length * 18 + 19 : 0,
6847
- maxHeight: schema && selectedEntity.name === rsc.name ? 20000 : 0,
6915
+ maxHeight: schema && isSelected ? 20000 : 0,
6848
6916
  padding: '0 6px'
6849
6917
  }
6850
6918
  },
@@ -7012,7 +7080,8 @@ module.exports =
7012
7080
 
7013
7081
  var MapTableSourceRow = exports.MapTableSourceRow = function MapTableSourceRow(props) {
7014
7082
  var group = props.group,
7015
- step = props.step;
7083
+ step = props.step,
7084
+ isReverse = props.isReverse;
7016
7085
 
7017
7086
  return _react2.default.createElement(
7018
7087
  'div',
@@ -7026,6 +7095,18 @@ module.exports =
7026
7095
  if (a.isExternalKeyMapping) return -1;else return 1;
7027
7096
  });
7028
7097
  var fieldNum = mapz ? mapz.length : 0;
7098
+
7099
+ var rscName = rsc.name;
7100
+ if (isReverse) {
7101
+ if (rsc.provider === step.sourceProvider) {
7102
+ rscName = rsc.name + ' (' + step.sourceProvider + ')';
7103
+ }
7104
+ } else {
7105
+ if (rsc.provider === step.destinationProvider) {
7106
+ rscName = rsc.name + ' (' + step.destinationProvider + ')';
7107
+ }
7108
+ }
7109
+
7029
7110
  return _react2.default.createElement(
7030
7111
  'div',
7031
7112
  { key: ii, style: {
@@ -7036,7 +7117,7 @@ module.exports =
7036
7117
  _react2.default.createElement(
7037
7118
  'strong',
7038
7119
  null,
7039
- rsc.provider === step.destinationProvider ? rsc.name + ' (' + step.destinationProvider + ')' : rsc.name
7120
+ rscName
7040
7121
  )
7041
7122
  );
7042
7123
  })
@@ -7216,11 +7297,25 @@ module.exports =
7216
7297
 
7217
7298
  var MapTableDestinationRow = exports.MapTableDestinationRow = function MapTableDestinationRow(_ref) {
7218
7299
  var group = _ref.group,
7219
- step = _ref.step;
7300
+ step = _ref.step,
7301
+ isReverse = _ref.isReverse;
7302
+
7303
+
7304
+ var groupName = group.name;
7305
+ if (isReverse) {
7306
+ if (group.provider === step.destinationProvider) {
7307
+ groupName = group.name + ' (' + step.destinationProvider + ')';
7308
+ }
7309
+ } else {
7310
+ if (group.provider === step.sourceProvider) {
7311
+ groupName = group.name + ' (' + step.sourceProvider + ')';
7312
+ }
7313
+ }
7314
+
7220
7315
  return _react2.default.createElement(
7221
7316
  'strong',
7222
7317
  { style: { fontSize: 16, whiteSpace: 'wrap' } },
7223
- group.provider === step.sourceProvider ? group.name + ' (' + step.sourceProvider + ')' : group.name
7318
+ groupName
7224
7319
  );
7225
7320
  };
7226
7321
 
@@ -7651,7 +7746,8 @@ module.exports =
7651
7746
  destinationSchema = _props3.destinationSchema,
7652
7747
  overflowHidden = _props3.overflowHidden,
7653
7748
  showOverflow = _props3.showOverflow,
7654
- step = _props3.step;
7749
+ step = _props3.step,
7750
+ isReverse = _props3.isReverse;
7655
7751
  var parameterModalResourceIndex = this.state.parameterModalResourceIndex;
7656
7752
 
7657
7753
 
@@ -7659,7 +7755,8 @@ module.exports =
7659
7755
  var Button = inputs.Button;
7660
7756
  var Radio = inputs.Radio;
7661
7757
  var group = resourceGroups[resourceGroupIndex];
7662
- var isReverse = group && group.provider === step.sourceProvider;
7758
+ //const isReverse = group && group.provider === step.sourceProvider
7759
+
7663
7760
  var bit = [true, false];
7664
7761
  var direction = leftClicked ? 'right' : 'left';
7665
7762
  var groupResourcesLength = group && group.resources ? group.resources.length : 0;
@@ -7679,6 +7776,36 @@ module.exports =
7679
7776
  })
7680
7777
  })*/
7681
7778
 
7779
+ var primaryRscVals = null;
7780
+ var primaryRscSectionLabels = null;
7781
+ if (group && group.resources) {
7782
+ var primaryResourceSchema = group.resources[0].provider === step.destinationProvider ? destinationSchema : sourceSchema;
7783
+ primaryRscVals = primaryResourceSchema && primaryResourceSchema.find(function (defaultRsc) {
7784
+ return defaultRsc.name === group.resources[0].name;
7785
+ }) && [primaryResourceSchema.find(function (defaultRsc) {
7786
+ return defaultRsc.name === group.resources[0].name;
7787
+ }).properties.filter(function (f) {
7788
+ return !f.fake;
7789
+ })];
7790
+
7791
+ var primaryHasParameters = group.resources[0].parentRef && group.resources[0].parentRef.length > 0 && group.resources[0].parentRef.some(function (pr) {
7792
+ return pr.foreignKeyFields && pr.foreignKeyFields.length > 0;
7793
+ });
7794
+
7795
+ primaryRscSectionLabels = [group.resources[0].name];
7796
+
7797
+ if (primaryHasParameters) {
7798
+ group.resources[0].parentRef.forEach(function (pr) {
7799
+ var params = [];
7800
+ primaryRscSectionLabels.push(pr.ref.split('/')[2]);
7801
+ pr.foreignKeyFields.forEach(function (fkf) {
7802
+ params.push({ label: fkf });
7803
+ });
7804
+ primaryRscVals.push(params);
7805
+ });
7806
+ }
7807
+ }
7808
+
7682
7809
  return _react2.default.createElement(
7683
7810
  'div',
7684
7811
  { style: { position: 'relative' } },
@@ -7740,20 +7867,35 @@ module.exports =
7740
7867
  { style: { position: 'relative' } },
7741
7868
  group && group.resources && group.resources.map(function (rsc, i) {
7742
7869
 
7743
- var primaryRscVals = group.resources[0].provider === step.destinationProvider ? destinationSchema && destinationSchema.find(function (defaultRsc) {
7744
- return defaultRsc.name === group.resources[0].name;
7745
- }) && [destinationSchema.find(function (defaultRsc) {
7746
- return defaultRsc.name === group.resources[0].name;
7747
- }).properties.filter(function (f) {
7748
- return !f.fake;
7749
- })] : sourceSchema && sourceSchema.find(function (defaultRsc) {
7750
- return defaultRsc.name === group.resources[0].name;
7751
- }) && [sourceSchema.find(function (defaultRsc) {
7752
- return defaultRsc.name === group.resources[0].name;
7870
+ var isDestinationEntity = rsc.provider === step.destinationProvider;
7871
+ var isSelected = selectedEntity.name === rsc.name && selectedEntity.isDestinationEntity === isDestinationEntity;
7872
+
7873
+ var hasParameters = rsc.parentRef && rsc.parentRef.length > 0 && rsc.parentRef.some(function (pr) {
7874
+ return pr.foreignKeyFields && pr.foreignKeyFields.length > 0;
7875
+ });
7876
+
7877
+ var rscSchema = isDestinationEntity ? destinationSchema : sourceSchema;
7878
+ var joinRscVals = rscSchema && rscSchema.find(function (defaultRsc) {
7879
+ return defaultRsc.name === rsc.name;
7880
+ }) && [rscSchema.find(function (defaultRsc) {
7881
+ return defaultRsc.name === rsc.name;
7753
7882
  }).properties.filter(function (f) {
7754
7883
  return !f.fake;
7755
7884
  })];
7756
7885
 
7886
+ var joinRscSectionLabels = [rsc.name];
7887
+
7888
+ if (hasParameters) {
7889
+ rsc.parentRef.forEach(function (pr) {
7890
+ var params = [];
7891
+ joinRscSectionLabels.push(pr.ref.split('/')[2]);
7892
+ pr.foreignKeyFields.forEach(function (fkf) {
7893
+ params.push({ label: fkf });
7894
+ });
7895
+ joinRscVals.push(params);
7896
+ });
7897
+ }
7898
+
7757
7899
  var primaryKeyLabel = '';
7758
7900
  rsc.primaryKeyParents && rsc.primaryKeyParents.forEach(function (skp) {
7759
7901
  primaryKeyLabel += skp;
@@ -7763,20 +7905,6 @@ module.exports =
7763
7905
  primaryKeyLabel += rsc.primaryKeyName;
7764
7906
  }
7765
7907
 
7766
- var joinRscVals = rsc.provider === step.destinationProvider ? destinationSchema && destinationSchema.find(function (defaultRsc) {
7767
- return defaultRsc.name === rsc.name;
7768
- }) && [destinationSchema.find(function (defaultRsc) {
7769
- return defaultRsc.name === rsc.name;
7770
- }).properties.filter(function (f) {
7771
- return !f.fake;
7772
- })] : sourceSchema && sourceSchema.find(function (defaultRsc) {
7773
- return defaultRsc.name === rsc.name;
7774
- }) && [sourceSchema.find(function (defaultRsc) {
7775
- return defaultRsc.name === rsc.name;
7776
- }).properties.filter(function (f) {
7777
- return !f.fake;
7778
- })];
7779
-
7780
7908
  var joinKeyLabel = '';
7781
7909
  rsc.joinKeyParents && rsc.joinKeyParents.forEach(function (skp) {
7782
7910
  joinKeyLabel += skp;
@@ -7786,14 +7914,23 @@ module.exports =
7786
7914
  joinKeyLabel += rsc.joinKeyName;
7787
7915
  }
7788
7916
 
7789
- var isDependency = false;
7790
- group.resources && group.resources.forEach(function (gr) {
7791
- if (gr.parentRef && gr.parentRef.find(function (pr) {
7792
- return pr === rsc.name;
7793
- })) {
7794
- isDependency = true;
7917
+ /*let isDependency = false
7918
+ group.resources && group.resources.forEach(gr=>{
7919
+ if(gr.parentRef && gr.parentRef.find(pr=>pr===rsc.name)){
7920
+ isDependency=true
7795
7921
  }
7796
- });
7922
+ })*/
7923
+
7924
+ var rscName = rsc.name;
7925
+ if (isReverse) {
7926
+ if (rsc.provider === step.sourceProvider) {
7927
+ rscName = rsc.name + ' (' + step.sourceProvider + ')';
7928
+ }
7929
+ } else {
7930
+ if (rsc.provider === step.destinationProvider) {
7931
+ rscName = rsc.name + ' (' + step.destinationProvider + ')';
7932
+ }
7933
+ }
7797
7934
 
7798
7935
  return _react2.default.createElement(
7799
7936
  _reactDraggable2.default,
@@ -7829,11 +7966,9 @@ module.exports =
7829
7966
  _react2.default.createElement(
7830
7967
  'span',
7831
7968
  { style: { maxWidth: 260, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', display: 'inline-block' } },
7832
- rsc.provider === step.destinationProvider ? rsc.name + ' (' + step.destinationProvider + ')' : rsc.name
7969
+ rscName
7833
7970
  ),
7834
- rsc.parentRef && rsc.parentRef.length > 0 && rsc.parentRef.some(function (pr) {
7835
- return pr.foreignKeyFields && pr.foreignKeyFields.length > 0;
7836
- }) && _react2.default.createElement(
7971
+ hasParameters && _react2.default.createElement(
7837
7972
  'div',
7838
7973
  { className: 'accordion-panel-parameters',
7839
7974
  onClick: function onClick() {
@@ -7851,7 +7986,7 @@ module.exports =
7851
7986
  ),
7852
7987
  _react2.default.createElement(
7853
7988
  'div',
7854
- { className: isDependency ? 'accordion-panel-close-disabled' : 'accordion-panel-close',
7989
+ { className: 'accordion-panel-close',
7855
7990
  onClick: function onClick(e) {
7856
7991
  return didRemoveEntity(e, resourceGroupIndex, rsc.name, i);
7857
7992
  } },
@@ -7867,11 +8002,13 @@ module.exports =
7867
8002
  { style: { verticalAlign: 'top', float: 'right', marginRight: 8 } },
7868
8003
  i !== 0 ? _react2.default.createElement(
7869
8004
  Button,
7870
- { type: 'brand', icon: selectedEntity.name === rsc.name ? 'chevronup' : 'chevrondown',
8005
+ { type: 'brand', icon: isSelected ? 'chevronup' : 'chevrondown',
7871
8006
  iconAlign: 'right', className: rsc.joinKeyName && rsc.primaryKeyName ? 'join-ok' : '',
7872
8007
  onClick: function onClick() {
7873
- _this3.props.pickEntity({ name: rsc.name,
7874
- isDestinationEntity: rsc.provider === step.destinationProvider });
8008
+ _this3.props.pickEntity({
8009
+ name: rsc.name,
8010
+ isDestinationEntity: rsc.provider === step.destinationProvider
8011
+ });
7875
8012
  } },
7876
8013
  joinKeyLabel && primaryKeyLabel ? primaryKeyLabel + ' = ' + joinKeyLabel : 'Configure Join'
7877
8014
  ) : null
@@ -7880,7 +8017,7 @@ module.exports =
7880
8017
  _react2.default.createElement(
7881
8018
  _CSSTransitionGroup2.default,
7882
8019
  { transitionName: 'panel-collapse', transitionEnterTimeout: 250, transitionLeaveTimeout: 250 },
7883
- selectedEntity.name === rsc.name ? _react2.default.createElement(
8020
+ isSelected ? _react2.default.createElement(
7884
8021
  'div',
7885
8022
  { className: 'schema-accordion-collapse' },
7886
8023
  _react2.default.createElement(
@@ -7910,7 +8047,7 @@ module.exports =
7910
8047
  onClick: showOverflow,
7911
8048
  type: 'neutral', inputs: inputs,
7912
8049
  values: primaryRscVals,
7913
- sectionLabels: [group.resources[0].name],
8050
+ sectionLabels: primaryRscSectionLabels,
7914
8051
  fieldPropLabel: 'label',
7915
8052
  selectedValues: [{
7916
8053
  label: rsc.primaryKeyName,
@@ -7946,7 +8083,7 @@ module.exports =
7946
8083
  onClick: showOverflow,
7947
8084
  type: 'neutral', inputs: inputs,
7948
8085
  values: joinRscVals,
7949
- sectionLabels: [group.resources[i].name],
8086
+ sectionLabels: joinRscSectionLabels,
7950
8087
  fieldPropLabel: 'label',
7951
8088
  selectedValues: [{
7952
8089
  label: rsc.joinKeyName,
@@ -9214,7 +9351,8 @@ module.exports =
9214
9351
  formValues = _props4.formValues,
9215
9352
  actions = _props4.actions,
9216
9353
  tenantId = _props4.tenantId,
9217
- accountId = _props4.accountId;
9354
+ accountId = _props4.accountId,
9355
+ change = _props4.change;
9218
9356
 
9219
9357
  var Button = inputs.Button;
9220
9358
  var Spinner = inputs.Spinner;
@@ -9419,7 +9557,10 @@ module.exports =
9419
9557
  _react2.default.createElement('br', null),
9420
9558
  _react2.default.createElement(_reduxForm.Field, { name: 'direction', component: inputs.rfRadioGroup,
9421
9559
  label: 'Integration Direction',
9422
- onClickOption: function onClickOption(v) {},
9560
+ onClickOption: function onClickOption(v) {
9561
+ change('resourceGroups', []);
9562
+ change('scenario', null);
9563
+ },
9423
9564
  options: {
9424
9565
  'normal': 'Read Data from ' + step[step.mode + 'Provider'],
9425
9566
  'reverse': 'Write Data to ' + step[step.mode + 'Provider']
@@ -9922,6 +10063,8 @@ module.exports =
9922
10063
  return g.resources && g.resources.length > 0;
9923
10064
  });
9924
10065
 
10066
+ var isReverse = formValues.direction === 'reverse';
10067
+
9925
10068
  return _react2.default.createElement(
9926
10069
  'form',
9927
10070
  { onKeyPress: function onKeyPress(e) {
@@ -9930,10 +10073,7 @@ module.exports =
9930
10073
  _react2.default.createElement(
9931
10074
  'div',
9932
10075
  { style: { fontSize: 20, display: 'inline-block' } },
9933
- 'Map ',
9934
- step.sourceProvider,
9935
- ' Fields to ',
9936
- step.destinationProvider
10076
+ isReverse ? 'Map ' + step.destinationProvider + ' Fields to ' + step.sourceProvider : 'Map ' + step.sourceProvider + ' Fields to ' + step.destinationProvider
9937
10077
  ),
9938
10078
  _react2.default.createElement('br', null),
9939
10079
  _react2.default.createElement('br', null),
@@ -9941,7 +10081,11 @@ module.exports =
9941
10081
  'p',
9942
10082
  null,
9943
10083
  'Map data elements from data sources to ',
9944
- step.destinationProvider,
10084
+ _react2.default.createElement(
10085
+ 'span',
10086
+ null,
10087
+ isReverse ? step.sourceProvider : step.destinationProvider
10088
+ ),
9945
10089
  ' object fields one dataset at a time.'
9946
10090
  ),
9947
10091
  _react2.default.createElement('br', null),
@@ -9956,20 +10100,12 @@ module.exports =
9956
10100
  { resourceGroups: resourceGroups, isBundleStep: false, inputs: inputs,
9957
10101
  style: { position: 'relative', width: 640, height: 69, zIndex: 9000 }, step: step },
9958
10102
  _react2.default.createElement(_mapAccordion2.default, { sourceSchema: sourceSchema, destinationSchema: destinationSchema,
9959
- formValues: formValues, change: change, update: this.update, step: step, actions: actions }),
10103
+ formValues: formValues, change: change, update: this.update, step: step,
10104
+ actions: actions, isReverse: isReverse }),
9960
10105
  _react2.default.createElement(
9961
10106
  MapTable,
9962
10107
  { clearOneMapping: this.clearOneMapping, selectMapping: this.selectMapping,
9963
- mode: 'normal', step: step },
9964
- _react2.default.createElement(Rows.MapTableSourceRow, null),
9965
- _react2.default.createElement(Rows.MapTableMappingRow, null),
9966
- _react2.default.createElement(Rows.MapTableTransformRow, null),
9967
- _react2.default.createElement(Rows.MapTableDestinationRow, null)
9968
- ),
9969
- _react2.default.createElement(
9970
- MapTable,
9971
- { clearOneMapping: this.clearOneMapping, selectMapping: this.selectMapping,
9972
- mode: 'reverse', step: step },
10108
+ mode: formValues.direction, step: step },
9973
10109
  _react2.default.createElement(Rows.MapTableSourceRow, null),
9974
10110
  _react2.default.createElement(Rows.MapTableMappingRow, null),
9975
10111
  _react2.default.createElement(Rows.MapTableTransformRow, null),
@@ -10012,7 +10148,9 @@ module.exports =
10012
10148
  destinationMetadata: destinationSchema,
10013
10149
  sourceEndpoint: formValues.sourceEndpoint,
10014
10150
  accountId: this.props.accountId,
10015
- tenantId: this.props.tenantId, actions: this.props.actions })
10151
+ tenantId: this.props.tenantId, actions: this.props.actions,
10152
+ isReverse: isReverse
10153
+ })
10016
10154
  ),
10017
10155
  _react2.default.createElement(_navButtons2.default, { handleSubmit: handleSubmit, nav: nav, reset: reset, inputs: inputs,
10018
10156
  nextDisabled: !(resourceGroups && resourceGroups.length > 0) })
@@ -10069,23 +10207,6 @@ module.exports =
10069
10207
 
10070
10208
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
10071
10209
 
10072
- var renderError = function renderError(_ref) {
10073
- var _ref$meta = _ref.meta,
10074
- touched = _ref$meta.touched,
10075
- error = _ref$meta.error;
10076
- return touched && error ? _react2.default.createElement(
10077
- 'div',
10078
- null,
10079
- _react2.default.createElement(
10080
- 'span',
10081
- null,
10082
- error
10083
- ),
10084
- _react2.default.createElement('br', null),
10085
- _react2.default.createElement('br', null)
10086
- ) : false;
10087
- };
10088
-
10089
10210
  var NameStep = function (_Component) {
10090
10211
  _inherits(NameStep, _Component);
10091
10212
 
@@ -10137,7 +10258,6 @@ module.exports =
10137
10258
  label: 'Integration Name' })
10138
10259
  ),
10139
10260
  _react2.default.createElement('br', null),
10140
- _react2.default.createElement(_reduxForm.Field, { name: 'customer', component: renderError }),
10141
10261
  _react2.default.createElement('br', null),
10142
10262
  _react2.default.createElement(_navButtons2.default, { nextDisabled: !formValues['title'], handleSubmit: handleSubmit, reset: reset, nav: nav, inputs: inputs }),
10143
10263
  _react2.default.createElement('br', null),
@@ -10547,11 +10667,19 @@ module.exports =
10547
10667
  var Radio = inputs.Radio;
10548
10668
  var scenario = formValues['scenario'];
10549
10669
  var Modal = inputs.Modal;
10670
+
10671
+ var isReverse = formValues.direction === 'reverse';
10672
+ var opts = isReverse ? step.options.filter(function (o) {
10673
+ return o.isReverse;
10674
+ }) : step.options.filter(function (o) {
10675
+ return !o.isReverse;
10676
+ });
10677
+
10550
10678
  var options = [{
10551
10679
  id: '0',
10552
10680
  title: 'Start From Scratch',
10553
10681
  label: 'Get started without any automatic mappings.'
10554
- }].concat(step.options);
10682
+ }].concat(opts);
10555
10683
  var scenarioOrder = step.scenarioOrder || [];
10556
10684
 
10557
10685
  return _react2.default.createElement(
@@ -10578,7 +10706,7 @@ module.exports =
10578
10706
  var o = options.find(function (opt) {
10579
10707
  return String(opt.id) === s;
10580
10708
  });
10581
- return _react2.default.createElement(
10709
+ return o && _react2.default.createElement(
10582
10710
  'div',
10583
10711
  { key: i },
10584
10712
  _react2.default.createElement(Radio, { onChange: function onChange() {
@@ -10599,7 +10727,7 @@ module.exports =
10599
10727
  })
10600
10728
  ),
10601
10729
  _react2.default.createElement('br', null),
10602
- _react2.default.createElement(_navButtons2.default, { nextDisabled: this.state.currentlyLoadingScenario || !(wizard.savedConfiguration && wizard.savedConfiguration.scenario) && !wizard.gotScenario ? true : false, handleSubmit: handleSubmit,
10730
+ _react2.default.createElement(_navButtons2.default, { nextDisabled: !scenario || this.state.currentlyLoadingScenario || !(wizard.savedConfiguration && wizard.savedConfiguration.scenario) && !wizard.gotScenario ? true : false, handleSubmit: handleSubmit,
10603
10731
  nav: nav, reset: reset, inputs: inputs }),
10604
10732
  _react2.default.createElement('br', null),
10605
10733
  _react2.default.createElement('br', null),
@@ -10789,7 +10917,9 @@ module.exports =
10789
10917
  name: v,
10790
10918
  resources: null,
10791
10919
  recordTypeId: newGroup.recordTypeId,
10792
- provider: newGroup.section
10920
+ provider: newGroup.section,
10921
+ // only Salesforce has ability to add "Lingk External Id"
10922
+ customExternalKeys: newGroup.section !== 'Salesforce'
10793
10923
  });
10794
10924
 
10795
10925
  change('resourceGroups', resourceGroups);
@@ -10801,11 +10931,10 @@ module.exports =
10801
10931
  change = _props5.change,
10802
10932
  formValues = _props5.formValues;
10803
10933
 
10804
-
10805
10934
  var resourceGroups = [].concat(_toConsumableArray(formValues['resourceGroups']));
10806
10935
  var group = resourceGroups[groupIndex];
10807
10936
  var entityExists = group && group.resources && group.resources.find(function (r) {
10808
- return r.name === v;
10937
+ return r.name === v && r.provider === entity.section;
10809
10938
  });
10810
10939
  if (entityExists) return;
10811
10940
 
@@ -10852,19 +10981,17 @@ module.exports =
10852
10981
 
10853
10982
  var resourceGroups = [].concat(_toConsumableArray(formValues['resourceGroups']));
10854
10983
  var group = resourceGroups[groupIndex];
10855
- if (group.customExternalKeys) {
10856
- if (group.sourceKeysObjects.find(function (sko) {
10857
- return sko === entity;
10858
- })) {
10859
- var deleteIndex = group.sourceKeysObjects.indexOf(entity);
10860
- group.sourceKeys.splice(deleteIndex, 1);
10861
- group.sourceKeysObjects.splice(deleteIndex, 1);
10862
- }
10863
- } else {
10864
- if (entity === group.lingkSourceKeyObject) {
10865
- group.lingkSourceKey = null;
10866
- group.lingkSourceKeyObject = null;
10867
- }
10984
+ // remove join keys pointing to deleted entity
10985
+ if (group.sourceKeysObjects && group.sourceKeysObjects.find(function (sko) {
10986
+ return sko === entity;
10987
+ })) {
10988
+ var deleteIndex = group.sourceKeysObjects.indexOf(entity);
10989
+ group.sourceKeys.splice(deleteIndex, 1);
10990
+ group.sourceKeysObjects.splice(deleteIndex, 1);
10991
+ }
10992
+ if (group.lingkSourceKeyObject && entity === group.lingkSourceKeyObject) {
10993
+ group.lingkSourceKey = null;
10994
+ group.lingkSourceKeyObject = null;
10868
10995
  }
10869
10996
  var mapz = group.mappings;
10870
10997
  if (group.mappings) {
@@ -10932,6 +11059,7 @@ module.exports =
10932
11059
  var resourceGroups = [].concat(_toConsumableArray(formValues['resourceGroups']));
10933
11060
  var rsc = resourceGroups[rgi].resources[i];
10934
11061
  rsc.primaryKeyName = v;
11062
+ rsc.primaryKeyResource = field.section;
10935
11063
  rsc.primaryKeyParents = field.parents;
10936
11064
  change('resourceGroups', resourceGroups);
10937
11065
  this.forceUpdate();
@@ -10946,6 +11074,7 @@ module.exports =
10946
11074
  var resourceGroups = [].concat(_toConsumableArray(formValues['resourceGroups']));
10947
11075
  var rsc = resourceGroups[rgi].resources[i];
10948
11076
  rsc.joinKeyName = v;
11077
+ rsc.joinKeyResource = field.section;
10949
11078
  rsc.joinKeyParents = field.parents;
10950
11079
  change('resourceGroups', resourceGroups);
10951
11080
  this.forceUpdate();
@@ -10975,12 +11104,8 @@ module.exports =
10975
11104
 
10976
11105
  var enabled = resourceGroups && resourceGroups.length > 0 && resourceGroups.every(function (g) {
10977
11106
  var isConnected = false;
10978
- if (g.customExternalKeys) {
10979
- if (g.sourceKeys && g.sourceKeys.length > 0 && g.destinationKeys && g.destinationKeys.length > 0) {
10980
- isConnected = true;
10981
- }
10982
- } else {
10983
- if (g.lingkSourceKey) isConnected = true;
11107
+ if (g.lingkSourceKey || g.sourceKeys && g.sourceKeys.length > 0 && g.destinationKeys && g.destinationKeys.length > 0) {
11108
+ isConnected = true;
10984
11109
  }
10985
11110
  var areJoined = g.resources && g.resources.every(function (r, i) {
10986
11111
  return i === 0 || r.joinKeyName && r.primaryKeyName;
@@ -10988,6 +11113,8 @@ module.exports =
10988
11113
  return isConnected && areJoined;
10989
11114
  });
10990
11115
 
11116
+ var isReverse = formValues.direction === 'reverse';
11117
+
10991
11118
  return _react2.default.createElement(
10992
11119
  'form',
10993
11120
  { onKeyPress: function onKeyPress(e) {
@@ -10996,10 +11123,7 @@ module.exports =
10996
11123
  _react2.default.createElement(
10997
11124
  'div',
10998
11125
  { style: { fontSize: 20, display: 'inline-block' } },
10999
- 'Map ',
11000
- step.sourceProvider,
11001
- ' Objects to ',
11002
- step.destinationProvider
11126
+ isReverse ? 'Map ' + step.destinationProvider + ' Objects to ' + step.sourceProvider : 'Map ' + step.sourceProvider + ' Objects to ' + step.destinationProvider
11003
11127
  ),
11004
11128
  _react2.default.createElement('br', null),
11005
11129
  _react2.default.createElement('br', null),
@@ -11007,7 +11131,11 @@ module.exports =
11007
11131
  'p',
11008
11132
  null,
11009
11133
  'Map one or many data sources to a single ',
11010
- step.destinationProvider,
11134
+ _react2.default.createElement(
11135
+ 'span',
11136
+ null,
11137
+ isReverse ? step.sourceProvider : step.destinationProvider
11138
+ ),
11011
11139
  ' target object.'
11012
11140
  ),
11013
11141
  _react2.default.createElement('br', null),
@@ -11027,7 +11155,7 @@ module.exports =
11027
11155
  direction: formValues.direction },
11028
11156
  _react2.default.createElement(_schemaAccordion2.default, { sourceSchema: sourceSchema,
11029
11157
  changeEntityOrder: this.changeEntityOrder, step: step,
11030
- destinationSchema: destinationSchema,
11158
+ destinationSchema: destinationSchema, isReverse: isReverse,
11031
11159
  selectPrimaryKey: this.selectPrimaryKey,
11032
11160
  selectJoinKey: this.selectJoinKey, change: change }),
11033
11161
  _react2.default.createElement(_bundleTable2.default, { openConnectionModal: this.openConnectionModal, mode: formValues.direction })
@@ -11276,8 +11404,7 @@ module.exports =
11276
11404
  description: '',
11277
11405
  loading: false,
11278
11406
  manageScenarios: false,
11279
- scenarioOrder: [],
11280
- Scenarios: null
11407
+ scenarioOrder: []
11281
11408
  };
11282
11409
  _this.submitModal = _this.submitModal.bind(_this);
11283
11410
  _this.deleteScenario = _this.deleteScenario.bind(_this);
@@ -11316,12 +11443,12 @@ module.exports =
11316
11443
  tenantId = _props2.tenantId,
11317
11444
  accountId = _props2.accountId,
11318
11445
  step = _props2.step,
11319
- actions = _props2.actions;
11446
+ actions = _props2.actions,
11447
+ isReverse = _props2.isReverse;
11320
11448
 
11321
11449
  if (manageScenarios) {
11322
11450
  this.setState({ loading: true });
11323
11451
  actions.callUpdateScenarioList(tenantId, accountId, step.typeGuid, scenarioOrder).then(function (r) {
11324
- console.log(r);
11325
11452
  _this3.setState({ loading: false });
11326
11453
  });
11327
11454
  } else {
@@ -11337,11 +11464,11 @@ module.exports =
11337
11464
  bundles = _saveData.bundles,
11338
11465
  mappings = _saveData.mappings;
11339
11466
 
11340
- var data = { bundles: bundles, mappings: mappings, title: title, label: description, typeGuid: step.typeGuid };
11467
+ var data = { bundles: bundles, mappings: mappings, title: title, label: description, typeGuid: step.typeGuid, isReverse: isReverse };
11468
+
11341
11469
  actions.callCreateScenario(tenantId, accountId, data).then(function () {
11342
11470
  _this3.setState({ loading: true });
11343
11471
  actions.callGetScenarioList(tenantId, accountId, step.typeGuid).then(function (r) {
11344
- console.log(r);
11345
11472
  _this3.setState({ loading: false });
11346
11473
  });
11347
11474
  });
@@ -11810,7 +11937,7 @@ module.exports =
11810
11937
  //resources: Type is the real value, Name is the displayed value
11811
11938
  //properties: Name is the real value, Label is the displayed value
11812
11939
 
11813
- var _saveData = (0, _saveData3.default)(formValues['resourceGroups'], this.props.wizardConfig.destination.type, this.props.wizard.sourceMetadata, this.props.wizard.destinationMetadata, formValues.sourceEndpoint),
11940
+ var _saveData = (0, _saveData3.default)(formValues['resourceGroups'], this.props.wizardConfig.source.type, this.props.wizardConfig.destination.type, this.props.wizard.sourceMetadata, this.props.wizard.destinationMetadata, formValues.sourceEndpoint),
11814
11941
  bundles = _saveData.bundles,
11815
11942
  mappings = _saveData.mappings,
11816
11943
  endpoints = _saveData.endpoints;
@@ -11977,7 +12104,6 @@ module.exports =
11977
12104
  var destinationEndpoint = selector(state, 'destinationEndpoint');
11978
12105
  var destinationCredentials = selector(state, 'destinationCredentials');
11979
12106
  var deployment = selector(state, 'deployment');
11980
- var mappings = selector(state, 'mappings');
11981
12107
  var resourceGroups = selector(state, 'resourceGroups');
11982
12108
  var scenario = selector(state, 'scenario');
11983
12109
  var direction = selector(state, 'direction');
@@ -11989,7 +12115,6 @@ module.exports =
11989
12115
  destinationEndpoint: destinationEndpoint,
11990
12116
  destinationCredentials: destinationCredentials,
11991
12117
  deployment: deployment,
11992
- mappings: mappings,
11993
12118
  resourceGroups: resourceGroups,
11994
12119
  scenario: scenario,
11995
12120
  direction: direction