@lingk/sync 0.1.61 → 0.1.62

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
@@ -2052,31 +2052,13 @@ module.exports =
2052
2052
  }, {
2053
2053
  key: 'addDefaultResourceGroup',
2054
2054
  value: function addDefaultResourceGroup(v, selectIdx, newGroup) {
2055
- var section = newGroup.section;
2056
2055
  var _props = this.props,
2057
2056
  addGroup = _props.addGroup,
2058
- resourceGroups = _props.resourceGroups,
2059
- step = _props.step;
2057
+ resourceGroups = _props.resourceGroups;
2060
2058
  var resourceGroupIndex = this.state.resourceGroupIndex;
2061
2059
 
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
2060
 
2061
+ var finalIndex = resourceGroupIndex + 1;
2080
2062
  if (!(resourceGroups && resourceGroups.length === 0)) {
2081
2063
  this.go(false, finalIndex);
2082
2064
  }
@@ -2095,13 +2077,23 @@ module.exports =
2095
2077
  value: function addDefaultEntity(v, rscIndex, entity, groupIndex) {
2096
2078
  var _this3 = this;
2097
2079
 
2098
- var resourceGroups = this.props.resourceGroups;
2080
+ var _props2 = this.props,
2081
+ resourceGroups = _props2.resourceGroups,
2082
+ step = _props2.step;
2099
2083
 
2100
2084
  var group = resourceGroups[this.state.resourceGroupIndex];
2101
- if (group && group.resources && group.resources.length > 0) {
2085
+
2086
+ var entityExists = group && group.resources && group.resources.find(function (r) {
2087
+ return r.name === v && r.provider === entity.section;
2088
+ });
2089
+
2090
+ if (group && group.resources && group.resources.length > 0 && !entityExists) {
2102
2091
  setTimeout(function () {
2103
2092
  var sel = [].concat(_toConsumableArray(_this3.state.selectedEntities));
2104
- sel[_this3.state.resourceGroupIndex] = { name: v };
2093
+ sel[_this3.state.resourceGroupIndex] = {
2094
+ name: v,
2095
+ isDestinationEntity: entity.section === step.destinationProvider
2096
+ };
2105
2097
  _this3.setState({ selectedEntities: sel });
2106
2098
  }, 40);
2107
2099
  }
@@ -2160,15 +2152,15 @@ module.exports =
2160
2152
  value: function render() {
2161
2153
  var _this4 = this;
2162
2154
 
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;
2155
+ var _props3 = this.props,
2156
+ resourceGroups = _props3.resourceGroups,
2157
+ style = _props3.style,
2158
+ isBundleStep = _props3.isBundleStep,
2159
+ destinationSchema = _props3.destinationSchema,
2160
+ inputs = _props3.inputs,
2161
+ step = _props3.step,
2162
+ sourceSchema = _props3.sourceSchema,
2163
+ direction = _props3.direction;
2172
2164
  var _state = this.state,
2173
2165
  resourceGroupIndex = _state.resourceGroupIndex,
2174
2166
  paneToggle = _state.paneToggle,
@@ -2183,9 +2175,9 @@ module.exports =
2183
2175
  return r.method !== 'POST' && r.method !== 'PUT';
2184
2176
  });
2185
2177
 
2186
- var bothMetadatas = direction === 'reverse' ? [filteredSourceSchema, destinationSchema] : [destinationSchema, filteredSourceSchema];
2178
+ var newTargetObjectMetadata = direction === 'reverse' ? [filteredSourceSchema] : [destinationSchema];
2187
2179
 
2188
- var bothSectionLabels = direction === 'reverse' ? [step.sourceProvider, step.destinationProvider] : [step.destinationProvider, step.sourceProvider];
2180
+ var newTargetSectionLabels = direction === 'reverse' ? [step.sourceProvider] : [step.destinationProvider];
2189
2181
 
2190
2182
  var propsForChild = {
2191
2183
  resourceGroups: resourceGroups, leftClicked: leftClicked, inputs: inputs, step: step,
@@ -2240,9 +2232,9 @@ module.exports =
2240
2232
  _react2.default.createElement(_selectWrapper2.default, { label: "Add Data Target", type: 'brand',
2241
2233
  style: { height: 40, width: 160 }, minWidth: 260, fieldPropLabel: 'name',
2242
2234
  onSelect: this.addDefaultResourceGroup,
2243
- values: bothMetadatas,
2235
+ values: newTargetObjectMetadata,
2244
2236
  title: 'Available Target Objects', inputs: inputs, sectionLabelSuffix: 'Objects',
2245
- sectionLabels: bothSectionLabels
2237
+ sectionLabels: newTargetSectionLabels
2246
2238
  })
2247
2239
  ) : null,
2248
2240
  _react2.default.createElement('br', null),
@@ -2315,7 +2307,7 @@ module.exports =
2315
2307
  return _react2.default.createElement(
2316
2308
  'div',
2317
2309
  { className: 'schema-group-name', key: i },
2318
- g.provider === step.sourceProvider ? g.name + ' (' + step.sourceProvider + ')' : g.name
2310
+ g.name
2319
2311
  );
2320
2312
  })
2321
2313
  )
@@ -2437,7 +2429,7 @@ module.exports =
2437
2429
  }
2438
2430
 
2439
2431
  // destination Keys (for de-duplication in the Connect modal)
2440
- if (!group.customExternalKeys) {
2432
+ if (!group.customExternalKeys && group.lingkSourceKey) {
2441
2433
  group.sourceKeys = [group.lingkSourceKey];
2442
2434
  group.sourceKeysObjects = [group.lingkSourceKeyObject];
2443
2435
  group.sourceKeysParents = [group.lingkSourceKeyParents];
@@ -5978,16 +5970,7 @@ module.exports =
5978
5970
  { className: 'bundle-table-body' },
5979
5971
  groups && groups.map(function (group, i) {
5980
5972
 
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
- }
5973
+ var linked = group.lingkSourceKey || group.sourceKeys && group.sourceKeys.length > 0 && group.destinationKeys && group.destinationKeys.length > 0;
5991
5974
 
5992
5975
  /*const groupsBeforeThis = groups.slice(0,i)
5993
5976
  let groupBeforeThisIndex = 0
@@ -6007,6 +5990,17 @@ module.exports =
6007
5990
  }
6008
5991
  })*/
6009
5992
 
5993
+ var groupName = group.name;
5994
+ if (isReverse) {
5995
+ if (group.provider === step.destinationProvider) {
5996
+ groupName = group.name + ' (' + step.destinationProvider + ')';
5997
+ }
5998
+ } else {
5999
+ if (group.provider === step.sourceProvider) {
6000
+ groupName = group.name + ' (' + step.sourceProvider + ')';
6001
+ }
6002
+ }
6003
+
6010
6004
  return _react2.default.createElement(
6011
6005
  _reactDraggable2.default,
6012
6006
  { axis: 'y', key: i, handle: '.dragon',
@@ -6043,6 +6037,16 @@ module.exports =
6043
6037
  { style: { paddingTop: 3, display: 'inline-block', overflow: 'hidden',
6044
6038
  textOverflow: 'ellipsis', maxWidth: 'calc(100% - 32px)', whiteSpace: 'nowrap' } },
6045
6039
  group.resources && group.resources.map(function (rsc, ii) {
6040
+ var rscName = rsc.name;
6041
+ if (isReverse) {
6042
+ if (rsc.provider === step.sourceProvider) {
6043
+ rscName = rsc.name + ' (' + step.sourceProvider + ')';
6044
+ }
6045
+ } else {
6046
+ if (rsc.provider === step.destinationProvider) {
6047
+ rscName = rsc.name + ' (' + step.destinationProvider + ')';
6048
+ }
6049
+ }
6046
6050
  return _react2.default.createElement(
6047
6051
  'span',
6048
6052
  { key: ii },
@@ -6054,7 +6058,7 @@ module.exports =
6054
6058
  _react2.default.createElement(
6055
6059
  'span',
6056
6060
  { 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,
6061
+ rscName,
6058
6062
  '\xA0'
6059
6063
  )
6060
6064
  );
@@ -6099,7 +6103,7 @@ module.exports =
6099
6103
  _react2.default.createElement(
6100
6104
  'strong',
6101
6105
  { style: { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis', display: 'block', paddingTop: 8 } },
6102
- group.provider === step.sourceProvider ? group.name + ' (' + step.sourceProvider + ')' : group.name
6106
+ groupName
6103
6107
  )
6104
6108
  )
6105
6109
  )
@@ -6166,6 +6170,7 @@ module.exports =
6166
6170
  group.mappings = group.mappings && group.mappings.filter(function (m) {
6167
6171
  return !m.isExternalKeyMapping;
6168
6172
  });
6173
+
6169
6174
  if (group.customExternalKeys) {
6170
6175
  group.sourceKeys && group.sourceKeys.forEach(function (sk, i) {
6171
6176
  if (sk && group.destinationKeys && group.destinationKeys[i]) {
@@ -6739,6 +6744,7 @@ module.exports =
6739
6744
  resourceGroups = _props3.resourceGroups,
6740
6745
  resourceGroupIndex = _props3.resourceGroupIndex,
6741
6746
  leftClicked = _props3.leftClicked,
6747
+ isReverse = _props3.isReverse,
6742
6748
  sourceSchema = _props3.sourceSchema,
6743
6749
  destinationSchema = _props3.destinationSchema,
6744
6750
  toggle = _props3.toggle,
@@ -6812,6 +6818,20 @@ module.exports =
6812
6818
  style: { background: 'white', height: 261, width: 358, padding: '6px 12px' } },
6813
6819
  group.resources && group.resources.map(function (rsc, i) {
6814
6820
  var schema = rsc.provider === step.destinationProvider ? destinationSchema : sourceSchema;
6821
+ var isDestinationEntity = rsc.provider === step.destinationProvider;
6822
+ var isSelected = selectedEntity.name === rsc.name && selectedEntity.isDestinationEntity === isDestinationEntity;
6823
+
6824
+ var rscName = rsc.name;
6825
+ if (isReverse) {
6826
+ if (rsc.provider === step.sourceProvider) {
6827
+ rscName = rsc.name + ' (' + step.sourceProvider + ')';
6828
+ }
6829
+ } else {
6830
+ if (rsc.provider === step.destinationProvider) {
6831
+ rscName = rsc.name + ' (' + step.destinationProvider + ')';
6832
+ }
6833
+ }
6834
+
6815
6835
  return _react2.default.createElement(
6816
6836
  'div',
6817
6837
  { key: i, className: 'accordion-panel', style: { overflow: 'hidden', width: 336 } },
@@ -6821,20 +6841,23 @@ module.exports =
6821
6841
  style: { height: 35 },
6822
6842
  onClick: function onClick() {
6823
6843
  _this4.scrollToTop(_this4['scroller-' + ii], 18, i * 43 + 6);
6824
- _this4.props.pickEntity({ name: rsc.name, isDestinationEntity: rsc.provider === step.destinationProvider });
6844
+ _this4.props.pickEntity({
6845
+ name: rsc.name,
6846
+ isDestinationEntity: rsc.provider === step.destinationProvider
6847
+ });
6825
6848
  _this4.setState({ selectedField: null, selectedFieldParents: null });
6826
6849
  }
6827
6850
  },
6828
6851
  _react2.default.createElement(
6829
6852
  'span',
6830
6853
  { className: 'accordion-panel-header-title' },
6831
- rsc.provider === step.destinationProvider ? rsc.name + (' (' + step.destinationProvider + ')') : rsc.name
6854
+ rscName
6832
6855
  ),
6833
6856
  _react2.default.createElement(
6834
6857
  'svg',
6835
6858
  { xmlns: 'http://www.w3.org/2000/svg', fill: '#FFFFFF', width: '18', height: '18', viewBox: '0 0 18 18',
6836
6859
  style: { float: 'right',
6837
- transform: selectedEntity.name === rsc.name ? 'rotate(180deg)' : 'rotate(0deg)'
6860
+ transform: isSelected ? 'rotate(180deg)' : 'rotate(0deg)'
6838
6861
  } },
6839
6862
  _react2.default.createElement('path', { d: 'M5 8l4 4 4-4z' })
6840
6863
  )
@@ -6844,7 +6867,7 @@ module.exports =
6844
6867
  { className: 'accordion-panel-collapse',
6845
6868
  style: {
6846
6869
  //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,
6870
+ maxHeight: schema && isSelected ? 20000 : 0,
6848
6871
  padding: '0 6px'
6849
6872
  }
6850
6873
  },
@@ -7012,7 +7035,8 @@ module.exports =
7012
7035
 
7013
7036
  var MapTableSourceRow = exports.MapTableSourceRow = function MapTableSourceRow(props) {
7014
7037
  var group = props.group,
7015
- step = props.step;
7038
+ step = props.step,
7039
+ isReverse = props.isReverse;
7016
7040
 
7017
7041
  return _react2.default.createElement(
7018
7042
  'div',
@@ -7026,6 +7050,18 @@ module.exports =
7026
7050
  if (a.isExternalKeyMapping) return -1;else return 1;
7027
7051
  });
7028
7052
  var fieldNum = mapz ? mapz.length : 0;
7053
+
7054
+ var rscName = rsc.name;
7055
+ if (isReverse) {
7056
+ if (rsc.provider === step.sourceProvider) {
7057
+ rscName = rsc.name + ' (' + step.sourceProvider + ')';
7058
+ }
7059
+ } else {
7060
+ if (rsc.provider === step.destinationProvider) {
7061
+ rscName = rsc.name + ' (' + step.destinationProvider + ')';
7062
+ }
7063
+ }
7064
+
7029
7065
  return _react2.default.createElement(
7030
7066
  'div',
7031
7067
  { key: ii, style: {
@@ -7036,7 +7072,7 @@ module.exports =
7036
7072
  _react2.default.createElement(
7037
7073
  'strong',
7038
7074
  null,
7039
- rsc.provider === step.destinationProvider ? rsc.name + ' (' + step.destinationProvider + ')' : rsc.name
7075
+ rscName
7040
7076
  )
7041
7077
  );
7042
7078
  })
@@ -7216,11 +7252,25 @@ module.exports =
7216
7252
 
7217
7253
  var MapTableDestinationRow = exports.MapTableDestinationRow = function MapTableDestinationRow(_ref) {
7218
7254
  var group = _ref.group,
7219
- step = _ref.step;
7255
+ step = _ref.step,
7256
+ isReverse = _ref.isReverse;
7257
+
7258
+
7259
+ var groupName = group.name;
7260
+ if (isReverse) {
7261
+ if (group.provider === step.destinationProvider) {
7262
+ groupName = group.name + ' (' + step.destinationProvider + ')';
7263
+ }
7264
+ } else {
7265
+ if (group.provider === step.sourceProvider) {
7266
+ groupName = group.name + ' (' + step.sourceProvider + ')';
7267
+ }
7268
+ }
7269
+
7220
7270
  return _react2.default.createElement(
7221
7271
  'strong',
7222
7272
  { style: { fontSize: 16, whiteSpace: 'wrap' } },
7223
- group.provider === step.sourceProvider ? group.name + ' (' + step.sourceProvider + ')' : group.name
7273
+ groupName
7224
7274
  );
7225
7275
  };
7226
7276
 
@@ -7651,7 +7701,8 @@ module.exports =
7651
7701
  destinationSchema = _props3.destinationSchema,
7652
7702
  overflowHidden = _props3.overflowHidden,
7653
7703
  showOverflow = _props3.showOverflow,
7654
- step = _props3.step;
7704
+ step = _props3.step,
7705
+ isReverse = _props3.isReverse;
7655
7706
  var parameterModalResourceIndex = this.state.parameterModalResourceIndex;
7656
7707
 
7657
7708
 
@@ -7659,7 +7710,8 @@ module.exports =
7659
7710
  var Button = inputs.Button;
7660
7711
  var Radio = inputs.Radio;
7661
7712
  var group = resourceGroups[resourceGroupIndex];
7662
- var isReverse = group && group.provider === step.sourceProvider;
7713
+ //const isReverse = group && group.provider === step.sourceProvider
7714
+
7663
7715
  var bit = [true, false];
7664
7716
  var direction = leftClicked ? 'right' : 'left';
7665
7717
  var groupResourcesLength = group && group.resources ? group.resources.length : 0;
@@ -7795,6 +7847,20 @@ module.exports =
7795
7847
  }
7796
7848
  });
7797
7849
 
7850
+ var isDestinationEntity = rsc.provider === step.destinationProvider;
7851
+ var isSelected = selectedEntity.name === rsc.name && selectedEntity.isDestinationEntity === isDestinationEntity;
7852
+
7853
+ var rscName = rsc.name;
7854
+ if (isReverse) {
7855
+ if (rsc.provider === step.sourceProvider) {
7856
+ rscName = rsc.name + ' (' + step.sourceProvider + ')';
7857
+ }
7858
+ } else {
7859
+ if (rsc.provider === step.destinationProvider) {
7860
+ rscName = rsc.name + ' (' + step.destinationProvider + ')';
7861
+ }
7862
+ }
7863
+
7798
7864
  return _react2.default.createElement(
7799
7865
  _reactDraggable2.default,
7800
7866
  { axis: 'y', bounds: 'parent', key: i, handle: '.drag-handle',
@@ -7829,7 +7895,7 @@ module.exports =
7829
7895
  _react2.default.createElement(
7830
7896
  'span',
7831
7897
  { style: { maxWidth: 260, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', display: 'inline-block' } },
7832
- rsc.provider === step.destinationProvider ? rsc.name + ' (' + step.destinationProvider + ')' : rsc.name
7898
+ rscName
7833
7899
  ),
7834
7900
  rsc.parentRef && rsc.parentRef.length > 0 && rsc.parentRef.some(function (pr) {
7835
7901
  return pr.foreignKeyFields && pr.foreignKeyFields.length > 0;
@@ -7867,11 +7933,13 @@ module.exports =
7867
7933
  { style: { verticalAlign: 'top', float: 'right', marginRight: 8 } },
7868
7934
  i !== 0 ? _react2.default.createElement(
7869
7935
  Button,
7870
- { type: 'brand', icon: selectedEntity.name === rsc.name ? 'chevronup' : 'chevrondown',
7936
+ { type: 'brand', icon: isSelected ? 'chevronup' : 'chevrondown',
7871
7937
  iconAlign: 'right', className: rsc.joinKeyName && rsc.primaryKeyName ? 'join-ok' : '',
7872
7938
  onClick: function onClick() {
7873
- _this3.props.pickEntity({ name: rsc.name,
7874
- isDestinationEntity: rsc.provider === step.destinationProvider });
7939
+ _this3.props.pickEntity({
7940
+ name: rsc.name,
7941
+ isDestinationEntity: rsc.provider === step.destinationProvider
7942
+ });
7875
7943
  } },
7876
7944
  joinKeyLabel && primaryKeyLabel ? primaryKeyLabel + ' = ' + joinKeyLabel : 'Configure Join'
7877
7945
  ) : null
@@ -7880,7 +7948,7 @@ module.exports =
7880
7948
  _react2.default.createElement(
7881
7949
  _CSSTransitionGroup2.default,
7882
7950
  { transitionName: 'panel-collapse', transitionEnterTimeout: 250, transitionLeaveTimeout: 250 },
7883
- selectedEntity.name === rsc.name ? _react2.default.createElement(
7951
+ isSelected ? _react2.default.createElement(
7884
7952
  'div',
7885
7953
  { className: 'schema-accordion-collapse' },
7886
7954
  _react2.default.createElement(
@@ -9214,7 +9282,8 @@ module.exports =
9214
9282
  formValues = _props4.formValues,
9215
9283
  actions = _props4.actions,
9216
9284
  tenantId = _props4.tenantId,
9217
- accountId = _props4.accountId;
9285
+ accountId = _props4.accountId,
9286
+ change = _props4.change;
9218
9287
 
9219
9288
  var Button = inputs.Button;
9220
9289
  var Spinner = inputs.Spinner;
@@ -9419,7 +9488,10 @@ module.exports =
9419
9488
  _react2.default.createElement('br', null),
9420
9489
  _react2.default.createElement(_reduxForm.Field, { name: 'direction', component: inputs.rfRadioGroup,
9421
9490
  label: 'Integration Direction',
9422
- onClickOption: function onClickOption(v) {},
9491
+ onClickOption: function onClickOption(v) {
9492
+ change('resourceGroups', []);
9493
+ change('scenario', null);
9494
+ },
9423
9495
  options: {
9424
9496
  'normal': 'Read Data from ' + step[step.mode + 'Provider'],
9425
9497
  'reverse': 'Write Data to ' + step[step.mode + 'Provider']
@@ -9922,6 +9994,8 @@ module.exports =
9922
9994
  return g.resources && g.resources.length > 0;
9923
9995
  });
9924
9996
 
9997
+ var isReverse = formValues.direction === 'reverse';
9998
+
9925
9999
  return _react2.default.createElement(
9926
10000
  'form',
9927
10001
  { onKeyPress: function onKeyPress(e) {
@@ -9930,10 +10004,7 @@ module.exports =
9930
10004
  _react2.default.createElement(
9931
10005
  'div',
9932
10006
  { style: { fontSize: 20, display: 'inline-block' } },
9933
- 'Map ',
9934
- step.sourceProvider,
9935
- ' Fields to ',
9936
- step.destinationProvider
10007
+ isReverse ? 'Map ' + step.destinationProvider + ' Fields to ' + step.sourceProvider : 'Map ' + step.sourceProvider + ' Fields to ' + step.destinationProvider
9937
10008
  ),
9938
10009
  _react2.default.createElement('br', null),
9939
10010
  _react2.default.createElement('br', null),
@@ -9941,7 +10012,11 @@ module.exports =
9941
10012
  'p',
9942
10013
  null,
9943
10014
  'Map data elements from data sources to ',
9944
- step.destinationProvider,
10015
+ _react2.default.createElement(
10016
+ 'span',
10017
+ null,
10018
+ isReverse ? step.sourceProvider : step.destinationProvider
10019
+ ),
9945
10020
  ' object fields one dataset at a time.'
9946
10021
  ),
9947
10022
  _react2.default.createElement('br', null),
@@ -9956,20 +10031,12 @@ module.exports =
9956
10031
  { resourceGroups: resourceGroups, isBundleStep: false, inputs: inputs,
9957
10032
  style: { position: 'relative', width: 640, height: 69, zIndex: 9000 }, step: step },
9958
10033
  _react2.default.createElement(_mapAccordion2.default, { sourceSchema: sourceSchema, destinationSchema: destinationSchema,
9959
- formValues: formValues, change: change, update: this.update, step: step, actions: actions }),
10034
+ formValues: formValues, change: change, update: this.update, step: step,
10035
+ actions: actions, isReverse: isReverse }),
9960
10036
  _react2.default.createElement(
9961
10037
  MapTable,
9962
10038
  { 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 },
10039
+ mode: formValues.direction, step: step },
9973
10040
  _react2.default.createElement(Rows.MapTableSourceRow, null),
9974
10041
  _react2.default.createElement(Rows.MapTableMappingRow, null),
9975
10042
  _react2.default.createElement(Rows.MapTableTransformRow, null),
@@ -10012,7 +10079,9 @@ module.exports =
10012
10079
  destinationMetadata: destinationSchema,
10013
10080
  sourceEndpoint: formValues.sourceEndpoint,
10014
10081
  accountId: this.props.accountId,
10015
- tenantId: this.props.tenantId, actions: this.props.actions })
10082
+ tenantId: this.props.tenantId, actions: this.props.actions,
10083
+ isReverse: isReverse
10084
+ })
10016
10085
  ),
10017
10086
  _react2.default.createElement(_navButtons2.default, { handleSubmit: handleSubmit, nav: nav, reset: reset, inputs: inputs,
10018
10087
  nextDisabled: !(resourceGroups && resourceGroups.length > 0) })
@@ -10069,23 +10138,6 @@ module.exports =
10069
10138
 
10070
10139
  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
10140
 
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
10141
  var NameStep = function (_Component) {
10090
10142
  _inherits(NameStep, _Component);
10091
10143
 
@@ -10137,7 +10189,6 @@ module.exports =
10137
10189
  label: 'Integration Name' })
10138
10190
  ),
10139
10191
  _react2.default.createElement('br', null),
10140
- _react2.default.createElement(_reduxForm.Field, { name: 'customer', component: renderError }),
10141
10192
  _react2.default.createElement('br', null),
10142
10193
  _react2.default.createElement(_navButtons2.default, { nextDisabled: !formValues['title'], handleSubmit: handleSubmit, reset: reset, nav: nav, inputs: inputs }),
10143
10194
  _react2.default.createElement('br', null),
@@ -10547,11 +10598,19 @@ module.exports =
10547
10598
  var Radio = inputs.Radio;
10548
10599
  var scenario = formValues['scenario'];
10549
10600
  var Modal = inputs.Modal;
10601
+
10602
+ var isReverse = formValues.direction === 'reverse';
10603
+ var opts = isReverse ? step.options.filter(function (o) {
10604
+ return o.isReverse;
10605
+ }) : step.options.filter(function (o) {
10606
+ return !o.isReverse;
10607
+ });
10608
+
10550
10609
  var options = [{
10551
10610
  id: '0',
10552
10611
  title: 'Start From Scratch',
10553
10612
  label: 'Get started without any automatic mappings.'
10554
- }].concat(step.options);
10613
+ }].concat(opts);
10555
10614
  var scenarioOrder = step.scenarioOrder || [];
10556
10615
 
10557
10616
  return _react2.default.createElement(
@@ -10578,7 +10637,7 @@ module.exports =
10578
10637
  var o = options.find(function (opt) {
10579
10638
  return String(opt.id) === s;
10580
10639
  });
10581
- return _react2.default.createElement(
10640
+ return o && _react2.default.createElement(
10582
10641
  'div',
10583
10642
  { key: i },
10584
10643
  _react2.default.createElement(Radio, { onChange: function onChange() {
@@ -10599,7 +10658,7 @@ module.exports =
10599
10658
  })
10600
10659
  ),
10601
10660
  _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,
10661
+ _react2.default.createElement(_navButtons2.default, { nextDisabled: !scenario || this.state.currentlyLoadingScenario || !(wizard.savedConfiguration && wizard.savedConfiguration.scenario) && !wizard.gotScenario ? true : false, handleSubmit: handleSubmit,
10603
10662
  nav: nav, reset: reset, inputs: inputs }),
10604
10663
  _react2.default.createElement('br', null),
10605
10664
  _react2.default.createElement('br', null),
@@ -10789,7 +10848,9 @@ module.exports =
10789
10848
  name: v,
10790
10849
  resources: null,
10791
10850
  recordTypeId: newGroup.recordTypeId,
10792
- provider: newGroup.section
10851
+ provider: newGroup.section,
10852
+ // only Salesforce has ability to add "Lingk External Id"
10853
+ customExternalKeys: newGroup.section !== 'Salesforce'
10793
10854
  });
10794
10855
 
10795
10856
  change('resourceGroups', resourceGroups);
@@ -10801,11 +10862,10 @@ module.exports =
10801
10862
  change = _props5.change,
10802
10863
  formValues = _props5.formValues;
10803
10864
 
10804
-
10805
10865
  var resourceGroups = [].concat(_toConsumableArray(formValues['resourceGroups']));
10806
10866
  var group = resourceGroups[groupIndex];
10807
10867
  var entityExists = group && group.resources && group.resources.find(function (r) {
10808
- return r.name === v;
10868
+ return r.name === v && r.provider === entity.section;
10809
10869
  });
10810
10870
  if (entityExists) return;
10811
10871
 
@@ -10852,19 +10912,17 @@ module.exports =
10852
10912
 
10853
10913
  var resourceGroups = [].concat(_toConsumableArray(formValues['resourceGroups']));
10854
10914
  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
- }
10915
+ // remove join keys pointing to deleted entity
10916
+ if (group.sourceKeysObjects && group.sourceKeysObjects.find(function (sko) {
10917
+ return sko === entity;
10918
+ })) {
10919
+ var deleteIndex = group.sourceKeysObjects.indexOf(entity);
10920
+ group.sourceKeys.splice(deleteIndex, 1);
10921
+ group.sourceKeysObjects.splice(deleteIndex, 1);
10922
+ }
10923
+ if (group.lingkSourceKeyObject && entity === group.lingkSourceKeyObject) {
10924
+ group.lingkSourceKey = null;
10925
+ group.lingkSourceKeyObject = null;
10868
10926
  }
10869
10927
  var mapz = group.mappings;
10870
10928
  if (group.mappings) {
@@ -10975,12 +11033,8 @@ module.exports =
10975
11033
 
10976
11034
  var enabled = resourceGroups && resourceGroups.length > 0 && resourceGroups.every(function (g) {
10977
11035
  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;
11036
+ if (g.lingkSourceKey || g.sourceKeys && g.sourceKeys.length > 0 && g.destinationKeys && g.destinationKeys.length > 0) {
11037
+ isConnected = true;
10984
11038
  }
10985
11039
  var areJoined = g.resources && g.resources.every(function (r, i) {
10986
11040
  return i === 0 || r.joinKeyName && r.primaryKeyName;
@@ -10988,6 +11042,8 @@ module.exports =
10988
11042
  return isConnected && areJoined;
10989
11043
  });
10990
11044
 
11045
+ var isReverse = formValues.direction === 'reverse';
11046
+
10991
11047
  return _react2.default.createElement(
10992
11048
  'form',
10993
11049
  { onKeyPress: function onKeyPress(e) {
@@ -10996,10 +11052,7 @@ module.exports =
10996
11052
  _react2.default.createElement(
10997
11053
  'div',
10998
11054
  { style: { fontSize: 20, display: 'inline-block' } },
10999
- 'Map ',
11000
- step.sourceProvider,
11001
- ' Objects to ',
11002
- step.destinationProvider
11055
+ isReverse ? 'Map ' + step.destinationProvider + ' Objects to ' + step.sourceProvider : 'Map ' + step.sourceProvider + ' Objects to ' + step.destinationProvider
11003
11056
  ),
11004
11057
  _react2.default.createElement('br', null),
11005
11058
  _react2.default.createElement('br', null),
@@ -11007,7 +11060,11 @@ module.exports =
11007
11060
  'p',
11008
11061
  null,
11009
11062
  'Map one or many data sources to a single ',
11010
- step.destinationProvider,
11063
+ _react2.default.createElement(
11064
+ 'span',
11065
+ null,
11066
+ isReverse ? step.sourceProvider : step.destinationProvider
11067
+ ),
11011
11068
  ' target object.'
11012
11069
  ),
11013
11070
  _react2.default.createElement('br', null),
@@ -11027,7 +11084,7 @@ module.exports =
11027
11084
  direction: formValues.direction },
11028
11085
  _react2.default.createElement(_schemaAccordion2.default, { sourceSchema: sourceSchema,
11029
11086
  changeEntityOrder: this.changeEntityOrder, step: step,
11030
- destinationSchema: destinationSchema,
11087
+ destinationSchema: destinationSchema, isReverse: isReverse,
11031
11088
  selectPrimaryKey: this.selectPrimaryKey,
11032
11089
  selectJoinKey: this.selectJoinKey, change: change }),
11033
11090
  _react2.default.createElement(_bundleTable2.default, { openConnectionModal: this.openConnectionModal, mode: formValues.direction })
@@ -11276,8 +11333,7 @@ module.exports =
11276
11333
  description: '',
11277
11334
  loading: false,
11278
11335
  manageScenarios: false,
11279
- scenarioOrder: [],
11280
- Scenarios: null
11336
+ scenarioOrder: []
11281
11337
  };
11282
11338
  _this.submitModal = _this.submitModal.bind(_this);
11283
11339
  _this.deleteScenario = _this.deleteScenario.bind(_this);
@@ -11316,12 +11372,12 @@ module.exports =
11316
11372
  tenantId = _props2.tenantId,
11317
11373
  accountId = _props2.accountId,
11318
11374
  step = _props2.step,
11319
- actions = _props2.actions;
11375
+ actions = _props2.actions,
11376
+ isReverse = _props2.isReverse;
11320
11377
 
11321
11378
  if (manageScenarios) {
11322
11379
  this.setState({ loading: true });
11323
11380
  actions.callUpdateScenarioList(tenantId, accountId, step.typeGuid, scenarioOrder).then(function (r) {
11324
- console.log(r);
11325
11381
  _this3.setState({ loading: false });
11326
11382
  });
11327
11383
  } else {
@@ -11337,11 +11393,11 @@ module.exports =
11337
11393
  bundles = _saveData.bundles,
11338
11394
  mappings = _saveData.mappings;
11339
11395
 
11340
- var data = { bundles: bundles, mappings: mappings, title: title, label: description, typeGuid: step.typeGuid };
11396
+ var data = { bundles: bundles, mappings: mappings, title: title, label: description, typeGuid: step.typeGuid, isReverse: isReverse };
11397
+
11341
11398
  actions.callCreateScenario(tenantId, accountId, data).then(function () {
11342
11399
  _this3.setState({ loading: true });
11343
11400
  actions.callGetScenarioList(tenantId, accountId, step.typeGuid).then(function (r) {
11344
- console.log(r);
11345
11401
  _this3.setState({ loading: false });
11346
11402
  });
11347
11403
  });
@@ -11977,7 +12033,6 @@ module.exports =
11977
12033
  var destinationEndpoint = selector(state, 'destinationEndpoint');
11978
12034
  var destinationCredentials = selector(state, 'destinationCredentials');
11979
12035
  var deployment = selector(state, 'deployment');
11980
- var mappings = selector(state, 'mappings');
11981
12036
  var resourceGroups = selector(state, 'resourceGroups');
11982
12037
  var scenario = selector(state, 'scenario');
11983
12038
  var direction = selector(state, 'direction');
@@ -11989,7 +12044,6 @@ module.exports =
11989
12044
  destinationEndpoint: destinationEndpoint,
11990
12045
  destinationCredentials: destinationCredentials,
11991
12046
  deployment: deployment,
11992
- mappings: mappings,
11993
12047
  resourceGroups: resourceGroups,
11994
12048
  scenario: scenario,
11995
12049
  direction: direction