@lingk/sync 0.0.46 → 0.0.48

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
@@ -45,7 +45,7 @@ module.exports =
45
45
  /* 0 */
46
46
  /***/ function(module, exports, __webpack_require__) {
47
47
 
48
- module.exports = __webpack_require__(61);
48
+ module.exports = __webpack_require__(62);
49
49
 
50
50
 
51
51
  /***/ },
@@ -391,7 +391,9 @@ module.exports =
391
391
  value: function removeResourceGroup(i) {
392
392
  this.props.removeGroup(i);
393
393
  var isFirst = i === 0;
394
- this.go(!isFirst, isFirst ? 0 : i - 1);
394
+ if (i === this.state.resourceGroupIndex) {
395
+ this.go(!isFirst, isFirst ? 0 : i - 1);
396
+ }
395
397
  }
396
398
  }, {
397
399
  key: "addDefaultResourceGroup",
@@ -530,7 +532,9 @@ module.exports =
530
532
  _react2.default.createElement(
531
533
  "span",
532
534
  null,
533
- "Destination Object"
535
+ "Destination: ",
536
+ step.destinationProvider,
537
+ " Object"
534
538
  ),
535
539
  _react2.default.createElement(
536
540
  Tooltip,
@@ -587,7 +591,7 @@ module.exports =
587
591
  "div",
588
592
  { style: { position: 'absolute', right: 0, top: -2, zIndex: 99 } },
589
593
  _react2.default.createElement(Select, { label: "+", type: "brand", style: { height: 40 }, menuAlign: "right", extraClass: true,
590
- onSelect: this.addDefaultResourceGroup, values: destinationSchema, title: "Add New",
594
+ onSelect: this.addDefaultResourceGroup, values: destinationSchema, title: "Add Destination",
591
595
  minWidth: 260
592
596
  })
593
597
  ) : null
@@ -1065,7 +1069,6 @@ module.exports =
1065
1069
  return api.get(tenantId + '/' + appId + '/' + urlSuffix, {
1066
1070
  endpoint: AGENT_API_URL
1067
1071
  }).then(function (res) {
1068
- console.log(res);
1069
1072
  dispatch({
1070
1073
  type: types.SET_WIZARD_METADATA,
1071
1074
  data: { res: res, mode: mode, providerType: providerType }
@@ -2075,7 +2078,12 @@ module.exports =
2075
2078
  var providerTypes = exports.providerTypes = {
2076
2079
  Salesforce: {
2077
2080
  credentials: [{ name: 'Username' }, { name: 'Password' }, { name: 'API Key' }],
2078
- metadataEndpoint: 'salesforceschema'
2081
+ metadataEndpoint: 'salesforceschema',
2082
+ customStep: {
2083
+ type: 'default',
2084
+ title: 'Choose Default Dataset',
2085
+ options: ['standard', 'heda']
2086
+ }
2079
2087
  },
2080
2088
  API: {
2081
2089
  credentials: [{ name: 'Consumer Key' }, { name: 'Secret' }]
@@ -2395,6 +2403,169 @@ module.exports =
2395
2403
 
2396
2404
  var _reduxForm = __webpack_require__(3);
2397
2405
 
2406
+ var _navButtons = __webpack_require__(4);
2407
+
2408
+ var _navButtons2 = _interopRequireDefault(_navButtons);
2409
+
2410
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2411
+
2412
+ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
2413
+
2414
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2415
+
2416
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
2417
+
2418
+ 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; }
2419
+
2420
+ var DefaultDatasetStep = function (_Component) {
2421
+ _inherits(DefaultDatasetStep, _Component);
2422
+
2423
+ function DefaultDatasetStep() {
2424
+ _classCallCheck(this, DefaultDatasetStep);
2425
+
2426
+ var _this = _possibleConstructorReturn(this, (DefaultDatasetStep.__proto__ || Object.getPrototypeOf(DefaultDatasetStep)).call(this));
2427
+
2428
+ _this.defaultResourceMapping = [{
2429
+ name: 'Contact',
2430
+ resources: [{
2431
+ name: 'Applicant',
2432
+ externalKey: null,
2433
+ provider: 'Banner'
2434
+ }]
2435
+ }];
2436
+ _this.loadDefault = _this.loadDefault.bind(_this);
2437
+ _this.select = _this.select.bind(_this);
2438
+ return _this;
2439
+ }
2440
+
2441
+ _createClass(DefaultDatasetStep, [{
2442
+ key: 'componentDidMount',
2443
+ value: function componentDidMount() {
2444
+ var _props = this.props,
2445
+ change = _props.change,
2446
+ formValues = _props.formValues;
2447
+
2448
+ if (formValues['defaultDataset']) {
2449
+ change('defaultDataset', formValues['defaultDataset']);
2450
+ }
2451
+ }
2452
+ }, {
2453
+ key: 'options',
2454
+ value: function options(ops) {
2455
+ var defaultDatasetTitles = {
2456
+ 'standard': 'Standard Salesforce Dataset',
2457
+ 'heda': 'Salesforce HEDA Dataset'
2458
+ };
2459
+ var obj = {};
2460
+ ops.forEach(function (o) {
2461
+ obj[o] = defaultDatasetTitles[o];
2462
+ });
2463
+ return obj;
2464
+ }
2465
+ }, {
2466
+ key: 'select',
2467
+ value: function select(v) {
2468
+ this.loadDefault();
2469
+ }
2470
+ }, {
2471
+ key: 'loadDefault',
2472
+ value: function loadDefault() {
2473
+ //default bundle map
2474
+ var change = this.props.change;
2475
+
2476
+ var defaults = [].concat(_toConsumableArray(this.defaultResourceMapping));
2477
+ change('resourceGroups', defaults);
2478
+ }
2479
+ }, {
2480
+ key: 'autoMap',
2481
+ value: function autoMap() {
2482
+ // this function needs to dig deeper and check every field against every mapping
2483
+ var _props2 = this.props,
2484
+ formValues = _props2.formValues,
2485
+ change = _props2.change,
2486
+ step = _props2.step;
2487
+
2488
+ var sourceSchema = formValues['sourceSchema'] || {};
2489
+ var obj = {};
2490
+ for (var key in step.autoMapData) {
2491
+ if (sourceSchema && sourceSchema[key.split('.')[0]]) {
2492
+ obj[key] = step.autoMapData[key];
2493
+ }
2494
+ }
2495
+ change('mappings', obj);
2496
+ }
2497
+ }, {
2498
+ key: 'render',
2499
+ value: function render() {
2500
+ var _props3 = this.props,
2501
+ inputs = _props3.inputs,
2502
+ handleSubmit = _props3.handleSubmit,
2503
+ nav = _props3.nav,
2504
+ step = _props3.step,
2505
+ reset = _props3.reset,
2506
+ formValues = _props3.formValues;
2507
+
2508
+
2509
+ return _react2.default.createElement(
2510
+ 'form',
2511
+ { onSubmit: handleSubmit, onKeyPress: function onKeyPress(e) {
2512
+ return e.charCode === 13 ? e.preventDefault() : null;
2513
+ } },
2514
+ _react2.default.createElement(
2515
+ 'div',
2516
+ { style: { fontSize: 20 } },
2517
+ 'Choose Default Dataset'
2518
+ ),
2519
+ _react2.default.createElement('br', null),
2520
+ _react2.default.createElement(
2521
+ 'p',
2522
+ null,
2523
+ 'Choose a default datasets as the starting point for your integration.'
2524
+ ),
2525
+ _react2.default.createElement('br', null),
2526
+ _react2.default.createElement(
2527
+ 'div',
2528
+ { style: { marginLeft: 16 } },
2529
+ _react2.default.createElement(_reduxForm.Field, { component: inputs.rfRadioGroup, name: 'defaultDataset', label: 'Default Dataset',
2530
+ options: this.options(step.options), onClickOption: this.select })
2531
+ ),
2532
+ _react2.default.createElement('br', null),
2533
+ _react2.default.createElement(_navButtons2.default, { nextDisabled: !formValues['defaultDataset'], handleSubmit: handleSubmit,
2534
+ nav: nav, reset: reset, inputs: inputs }),
2535
+ _react2.default.createElement('br', null),
2536
+ _react2.default.createElement('br', null)
2537
+ );
2538
+ }
2539
+ }]);
2540
+
2541
+ return DefaultDatasetStep;
2542
+ }(_react.Component);
2543
+
2544
+ exports.default = (0, _reduxForm.reduxForm)({
2545
+ form: 'wizard',
2546
+ destroyOnUnmount: false,
2547
+ forceUnregisterOnUnmount: true,
2548
+ touchOnBlur: false
2549
+ })(DefaultDatasetStep);
2550
+
2551
+ /***/ },
2552
+ /* 48 */
2553
+ /***/ function(module, exports, __webpack_require__) {
2554
+
2555
+ 'use strict';
2556
+
2557
+ Object.defineProperty(exports, "__esModule", {
2558
+ value: true
2559
+ });
2560
+
2561
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
2562
+
2563
+ var _react = __webpack_require__(1);
2564
+
2565
+ var _react2 = _interopRequireDefault(_react);
2566
+
2567
+ var _reduxForm = __webpack_require__(3);
2568
+
2398
2569
  var _validate = __webpack_require__(5);
2399
2570
 
2400
2571
  var _validate2 = _interopRequireDefault(_validate);
@@ -2465,6 +2636,12 @@ module.exports =
2465
2636
  'Save and Deploy Integration'
2466
2637
  ),
2467
2638
  _react2.default.createElement('br', null),
2639
+ _react2.default.createElement(
2640
+ 'p',
2641
+ null,
2642
+ 'Run the integration once or schedule the integration based on a time schedule.'
2643
+ ),
2644
+ _react2.default.createElement('br', null),
2468
2645
  _react2.default.createElement(
2469
2646
  'div',
2470
2647
  { style: { marginLeft: 16 } },
@@ -2515,7 +2692,7 @@ module.exports =
2515
2692
  })(DeployStep);
2516
2693
 
2517
2694
  /***/ },
2518
- /* 48 */
2695
+ /* 49 */
2519
2696
  /***/ function(module, exports, __webpack_require__) {
2520
2697
 
2521
2698
  'use strict';
@@ -2627,7 +2804,6 @@ module.exports =
2627
2804
 
2628
2805
  var Button = inputs.Button;
2629
2806
  var Spinner = inputs.Spinner;
2630
- var Tooltip = inputs.Tooltip;
2631
2807
  return _react2.default.createElement(
2632
2808
  'form',
2633
2809
  { onKeyPress: function onKeyPress(e) {
@@ -2641,19 +2817,14 @@ module.exports =
2641
2817
  step.provider,
2642
2818
  ' Environment'
2643
2819
  ),
2820
+ _react2.default.createElement('br', null),
2821
+ _react2.default.createElement('br', null),
2644
2822
  _react2.default.createElement(
2645
- Tooltip,
2646
- { nubbin: 'left-top', wrapStyle: { bottom: 2 }, popStyle: { width: 148 } },
2647
- _react2.default.createElement(
2648
- 'p',
2649
- null,
2650
- 'Enter the root URL for your ',
2651
- step.provider,
2652
- ' Adapter'
2653
- )
2823
+ 'p',
2824
+ null,
2825
+ 'After configuring the Lingk Adapter, enter the API base URL below to test connectivity and preview Lingk Adapter API resources for Banner.'
2654
2826
  ),
2655
2827
  _react2.default.createElement('br', null),
2656
- _react2.default.createElement('br', null),
2657
2828
  _react2.default.createElement(
2658
2829
  'div',
2659
2830
  { style: { marginLeft: 16 } },
@@ -2663,7 +2834,7 @@ module.exports =
2663
2834
  _react2.default.createElement(
2664
2835
  'div',
2665
2836
  { style: { display: 'inline-block' } },
2666
- _react2.default.createElement(_reduxForm.Field, { name: step.mode + 'Endpoint', type: 'text', component: inputs.rfInput, label: step.provider + ' Endpoint' })
2837
+ _react2.default.createElement(_reduxForm.Field, { name: step.mode + 'Endpoint', type: 'text', component: inputs.rfInput, label: 'Lingk Adapter Endpoint' })
2667
2838
  ),
2668
2839
  !step.credentials ? _react2.default.createElement(
2669
2840
  Button,
@@ -2753,7 +2924,7 @@ module.exports =
2753
2924
  })(EnvironmentStep);
2754
2925
 
2755
2926
  /***/ },
2756
- /* 49 */
2927
+ /* 50 */
2757
2928
  /***/ function(module, exports, __webpack_require__) {
2758
2929
 
2759
2930
  'use strict';
@@ -2854,7 +3025,7 @@ module.exports =
2854
3025
  })(FilterStep);
2855
3026
 
2856
3027
  /***/ },
2857
- /* 50 */
3028
+ /* 51 */
2858
3029
  /***/ function(module, exports, __webpack_require__) {
2859
3030
 
2860
3031
  'use strict';
@@ -2879,7 +3050,7 @@ module.exports =
2879
3050
 
2880
3051
  var _navButtons2 = _interopRequireDefault(_navButtons);
2881
3052
 
2882
- var _mapAccordion = __webpack_require__(56);
3053
+ var _mapAccordion = __webpack_require__(57);
2883
3054
 
2884
3055
  var _mapAccordion2 = _interopRequireDefault(_mapAccordion);
2885
3056
 
@@ -2891,11 +3062,11 @@ module.exports =
2891
3062
 
2892
3063
  var _groupNav2 = _interopRequireDefault(_groupNav);
2893
3064
 
2894
- var _transformModal = __webpack_require__(59);
3065
+ var _transformModal = __webpack_require__(60);
2895
3066
 
2896
3067
  var _transformModal2 = _interopRequireDefault(_transformModal);
2897
3068
 
2898
- var _mapTableRows = __webpack_require__(57);
3069
+ var _mapTableRows = __webpack_require__(58);
2899
3070
 
2900
3071
  var Rows = _interopRequireWildcard(_mapTableRows);
2901
3072
 
@@ -2922,11 +3093,8 @@ module.exports =
2922
3093
  _this.state = {
2923
3094
  showModal: false,
2924
3095
  selectedTransform: null,
2925
- selectedTransformIndex: null,
2926
- selectedTransformResourceIndex: null
3096
+ selectedTransformResourceGroupIndex: null
2927
3097
  };
2928
- _this.clearAllMappings = _this.clearAllMappings.bind(_this);
2929
- _this.autoMap = _this.autoMap.bind(_this);
2930
3098
  _this.clearOneMapping = _this.clearOneMapping.bind(_this);
2931
3099
  _this.update = _this.update.bind(_this);
2932
3100
  _this.hideModal = _this.hideModal.bind(_this);
@@ -2962,52 +3130,30 @@ module.exports =
2962
3130
  }
2963
3131
  }, {
2964
3132
  key: 'selectMapping',
2965
- value: function selectMapping(rscIndex, m, i) {
3133
+ value: function selectMapping(rscGroupIndex, m) {
2966
3134
  this.setState({
2967
3135
  showModal: true,
2968
3136
  selectedTransform: m,
2969
- selectedTransformIndex: i,
2970
- selectedTransformResourceIndex: rscIndex
3137
+ selectedTransformResourceGroupIndex: rscGroupIndex
2971
3138
  });
2972
3139
  }
2973
- }, {
2974
- key: 'autoMap',
2975
- value: function autoMap() {
2976
- // this function needs to dig deeper and check every field against every mapping
2977
- var _props2 = this.props,
2978
- formValues = _props2.formValues,
2979
- change = _props2.change,
2980
- step = _props2.step;
2981
3140
 
2982
- var sourceSchema = formValues['sourceSchema'] || {};
2983
- var obj = {};
2984
- for (var key in step.autoMapData) {
2985
- if (sourceSchema && sourceSchema[key.split('.')[0]]) {
2986
- obj[key] = step.autoMapData[key];
2987
- }
2988
- }
2989
- change('mappings', obj);
2990
- }
2991
- }, {
2992
- key: 'clearAllMappings',
2993
- value: function clearAllMappings() {
2994
- var _props3 = this.props,
2995
- change = _props3.change,
2996
- formValues = _props3.formValues;
3141
+ /*clearAllMappings(){
3142
+ const { change, formValues } = this.props
3143
+ const resourceGroups = [ ...formValues['resourceGroups'] ] || null
3144
+ resourceGroups.forEach((group)=>{
3145
+ delete group.mappings
3146
+ })
3147
+ change('resourceGroups', resourceGroups)
3148
+ this.forceUpdate()
3149
+ }*/
2997
3150
 
2998
- var resourceGroups = [].concat(_toConsumableArray(formValues['resourceGroups'])) || null;
2999
- resourceGroups.forEach(function (group) {
3000
- delete group.mappings;
3001
- });
3002
- change('resourceGroups', resourceGroups);
3003
- this.forceUpdate();
3004
- }
3005
3151
  }, {
3006
3152
  key: 'clearOneMapping',
3007
3153
  value: function clearOneMapping(groupIndex, mapp) {
3008
- var _props4 = this.props,
3009
- change = _props4.change,
3010
- formValues = _props4.formValues;
3154
+ var _props2 = this.props,
3155
+ change = _props2.change,
3156
+ formValues = _props2.formValues;
3011
3157
 
3012
3158
  var resourceGroups = [].concat(_toConsumableArray(formValues['resourceGroups'])) || null;
3013
3159
  resourceGroups[groupIndex].mappings = resourceGroups[groupIndex].mappings.filter(function (m) {
@@ -3030,24 +3176,23 @@ module.exports =
3030
3176
  }, {
3031
3177
  key: 'render',
3032
3178
  value: function render() {
3033
- var _props5 = this.props,
3034
- inputs = _props5.inputs,
3035
- handleSubmit = _props5.handleSubmit,
3036
- nav = _props5.nav,
3037
- formValues = _props5.formValues,
3038
- change = _props5.change,
3039
- step = _props5.step,
3040
- reset = _props5.reset,
3041
- wizard = _props5.wizard;
3179
+ var _props3 = this.props,
3180
+ inputs = _props3.inputs,
3181
+ handleSubmit = _props3.handleSubmit,
3182
+ nav = _props3.nav,
3183
+ formValues = _props3.formValues,
3184
+ change = _props3.change,
3185
+ step = _props3.step,
3186
+ reset = _props3.reset,
3187
+ wizard = _props3.wizard;
3042
3188
 
3043
- var Button = inputs.Button;
3044
3189
  var MapTable = inputs.MapTable;
3045
3190
  var Tooltip = inputs.Tooltip;
3046
3191
  var sourceSchema = wizard['sourceMetadata'] ? wizard['sourceMetadata'] : null;
3047
3192
 
3048
3193
  var destinationSchema = wizard['destinationMetadata'] ? wizard['destinationMetadata'] : null;
3049
3194
 
3050
- var resourceGroups = formValues['resourceGroups'].filter(function (g) {
3195
+ var resourceGroups = [].concat(_toConsumableArray(formValues['resourceGroups'])).filter(function (g) {
3051
3196
  return g.resources && g.resources.length > 0;
3052
3197
  });
3053
3198
 
@@ -3064,29 +3209,14 @@ module.exports =
3064
3209
  ' Fields to ',
3065
3210
  step.destinationProvider
3066
3211
  ),
3067
- _react2.default.createElement(
3068
- Tooltip,
3069
- { nubbin: 'left-top', wrapStyle: { bottom: 3 }, popStyle: { width: 225 } },
3070
- _react2.default.createElement(
3071
- 'p',
3072
- null,
3073
- 'First choose a Source field to map, then click on a Destination field. You can also click \'Combine\' to map multiple source fields to one destination.'
3074
- )
3075
- ),
3076
3212
  _react2.default.createElement('br', null),
3077
3213
  _react2.default.createElement('br', null),
3078
- step.autoMapData ? _react2.default.createElement(
3079
- Button,
3080
- { type: 'brand', onClick: this.autoMap, style: { marginRight: 5 } },
3081
- 'Automap'
3082
- ) : null,
3083
3214
  _react2.default.createElement(
3084
- Button,
3085
- { type: 'brand', onClick: this.clearAllMappings },
3086
- 'Clear All Mappings'
3215
+ 'p',
3216
+ null,
3217
+ 'Map data elements from data sources to Salesforce object fields one dataset at a time.'
3087
3218
  ),
3088
3219
  _react2.default.createElement('br', null),
3089
- _react2.default.createElement('br', null),
3090
3220
  _react2.default.createElement(
3091
3221
  'div',
3092
3222
  null,
@@ -3098,7 +3228,7 @@ module.exports =
3098
3228
  { resourceGroups: resourceGroups, customizable: false, isBundleStep: false, inputs: inputs,
3099
3229
  style: { position: 'relative', width: 640, height: 69, zIndex: 9000 }, step: step },
3100
3230
  _react2.default.createElement(_mapAccordion2.default, { sourceSchema: sourceSchema, destinationSchema: destinationSchema,
3101
- formValues: formValues, change: change, update: this.update }),
3231
+ formValues: formValues, change: change, update: this.update, step: step }),
3102
3232
  _react2.default.createElement(
3103
3233
  MapTable,
3104
3234
  { clearOneMapping: this.clearOneMapping, selectMapping: this.selectMapping },
@@ -3115,8 +3245,8 @@ module.exports =
3115
3245
  'div',
3116
3246
  null,
3117
3247
  this.state.showModal && _react2.default.createElement(_transformModal2.default, { inputs: inputs, hideModal: this.hideModal, mapping: this.state.selectedTransform,
3118
- opened: this.state.showModal, mappingIndex: this.state.selectedTransformIndex, change: change,
3119
- resourceGroupIndex: this.state.selectedTransformResourceIndex, resourceGroups: resourceGroups })
3248
+ opened: this.state.showModal, change: change, resourceGroups: resourceGroups,
3249
+ resourceGroupIndex: this.state.selectedTransformResourceGroupIndex })
3120
3250
  ) : null,
3121
3251
  _react2.default.createElement('br', null),
3122
3252
  _react2.default.createElement(_navButtons2.default, { handleSubmit: handleSubmit, nav: nav, reset: reset, inputs: inputs,
@@ -3137,7 +3267,7 @@ module.exports =
3137
3267
  })(MapStep);
3138
3268
 
3139
3269
  /***/ },
3140
- /* 51 */
3270
+ /* 52 */
3141
3271
  /***/ function(module, exports, __webpack_require__) {
3142
3272
 
3143
3273
  'use strict';
@@ -3253,7 +3383,7 @@ module.exports =
3253
3383
  })(NameStep);
3254
3384
 
3255
3385
  /***/ },
3256
- /* 52 */
3386
+ /* 53 */
3257
3387
  /***/ function(module, exports, __webpack_require__) {
3258
3388
 
3259
3389
  'use strict';
@@ -3351,7 +3481,7 @@ module.exports =
3351
3481
  })(PhaseStep);
3352
3482
 
3353
3483
  /***/ },
3354
- /* 53 */
3484
+ /* 54 */
3355
3485
  /***/ function(module, exports, __webpack_require__) {
3356
3486
 
3357
3487
  'use strict';
@@ -3486,7 +3616,7 @@ module.exports =
3486
3616
  })(PreviewStep);
3487
3617
 
3488
3618
  /***/ },
3489
- /* 54 */
3619
+ /* 55 */
3490
3620
  /***/ function(module, exports, __webpack_require__) {
3491
3621
 
3492
3622
  'use strict';
@@ -3511,7 +3641,7 @@ module.exports =
3511
3641
 
3512
3642
  var _navButtons2 = _interopRequireDefault(_navButtons);
3513
3643
 
3514
- var _schemaAccordion = __webpack_require__(58);
3644
+ var _schemaAccordion = __webpack_require__(59);
3515
3645
 
3516
3646
  var _schemaAccordion2 = _interopRequireDefault(_schemaAccordion);
3517
3647
 
@@ -3523,7 +3653,7 @@ module.exports =
3523
3653
 
3524
3654
  var _groupNav2 = _interopRequireDefault(_groupNav);
3525
3655
 
3526
- var _bundleTableRows = __webpack_require__(55);
3656
+ var _bundleTableRows = __webpack_require__(56);
3527
3657
 
3528
3658
  var Rows = _interopRequireWildcard(_bundleTableRows);
3529
3659
 
@@ -3552,21 +3682,12 @@ module.exports =
3552
3682
  };
3553
3683
  _this.addCustomEntity = _this.addCustomEntity.bind(_this);
3554
3684
  _this.newEntityKeyPress = _this.newEntityKeyPress.bind(_this);
3555
- _this.loadDefault = _this.loadDefault.bind(_this);
3556
- _this.clearAllData = _this.clearAllData.bind(_this);
3557
3685
  _this.addDefaultEntity = _this.addDefaultEntity.bind(_this);
3558
3686
  _this.removeEntity = _this.removeEntity.bind(_this);
3559
3687
  _this.addGroup = _this.addGroup.bind(_this);
3560
3688
  _this.removeGroup = _this.removeGroup.bind(_this);
3561
3689
  _this.changeEntityOrder = _this.changeEntityOrder.bind(_this);
3562
3690
  _this.changeGroupOrder = _this.changeGroupOrder.bind(_this);
3563
- _this.defaultResourceMapping = [{
3564
- name: 'Contact',
3565
- resources: [{
3566
- name: 'Student',
3567
- externalKey: null
3568
- }]
3569
- }];
3570
3691
  return _this;
3571
3692
  }
3572
3693
 
@@ -3602,29 +3723,6 @@ module.exports =
3602
3723
  resourceGroups.splice(i, 1);
3603
3724
  change('resourceGroups', resourceGroups);
3604
3725
  }
3605
- }, {
3606
- key: 'loadDefault',
3607
- value: function loadDefault() {
3608
- //default bundle map
3609
- var change = this.props.change;
3610
- //change(`${step.mode}Schema`, wizard[`${step.mode}Metadata`] || step.defaultSchema)
3611
- //const sourceSchema = wizard[`sourceMetadata`] || step.defaultSchema
3612
-
3613
- var defaults = [].concat(_toConsumableArray(this.defaultResourceMapping));
3614
- /*defaults.forEach((group)=>{
3615
- Object.keys(group.resources).forEach((key)=>{
3616
- group.resources[key].fields = sourceSchema[key]
3617
- })
3618
- })*/
3619
- change('resourceGroups', defaults);
3620
- }
3621
- }, {
3622
- key: 'clearAllData',
3623
- value: function clearAllData() {
3624
- var change = this.props.change;
3625
-
3626
- change('resourceGroups', null);
3627
- }
3628
3726
  }, {
3629
3727
  key: 'addCustomEntity',
3630
3728
  value: function addCustomEntity() {
@@ -3648,7 +3746,7 @@ module.exports =
3648
3746
  formValues = _props4.formValues;
3649
3747
 
3650
3748
 
3651
- var resourceGroups = formValues['resourceGroups'] || [];
3749
+ var resourceGroups = [].concat(_toConsumableArray(formValues['resourceGroups'])) || [];
3652
3750
  resourceGroups.push({
3653
3751
  name: v,
3654
3752
  resources: null,
@@ -3659,7 +3757,7 @@ module.exports =
3659
3757
  }
3660
3758
  }, {
3661
3759
  key: 'addDefaultEntity',
3662
- value: function addDefaultEntity(groupIndex, v, rscIndex) {
3760
+ value: function addDefaultEntity(groupIndex, v, rscIndex, section) {
3663
3761
  var _props5 = this.props,
3664
3762
  change = _props5.change,
3665
3763
  formValues = _props5.formValues;
@@ -3672,7 +3770,8 @@ module.exports =
3672
3770
  }
3673
3771
  group.resources.push({
3674
3772
  name: v,
3675
- externalKey: null
3773
+ externalKey: null,
3774
+ provider: section
3676
3775
  });
3677
3776
  change('resourceGroups', resourceGroups);
3678
3777
  this.forceUpdate();
@@ -3735,9 +3834,7 @@ module.exports =
3735
3834
  reset = _props9.reset,
3736
3835
  wizard = _props9.wizard;
3737
3836
 
3738
- var resourceGroups = formValues['resourceGroups'] || null;
3739
- var Button = inputs.Button;
3740
- var Tooltip = inputs.Tooltip;
3837
+ var resourceGroups = [].concat(_toConsumableArray(formValues['resourceGroups'])) || null;
3741
3838
  var BundleTable = inputs.BundleTable;
3742
3839
 
3743
3840
  var sourceSchema = wizard['sourceMetadata'] ? wizard['sourceMetadata'] : null;
@@ -3754,38 +3851,14 @@ module.exports =
3754
3851
  { style: { fontSize: 20, display: 'inline-block' } },
3755
3852
  'Build Dataset'
3756
3853
  ),
3757
- _react2.default.createElement(
3758
- Tooltip,
3759
- { nubbin: 'left-top', wrapStyle: { bottom: 3 }, popStyle: { width: 225 } },
3760
- _react2.default.createElement(
3761
- 'p',
3762
- null,
3763
- 'Group ',
3764
- step.sourceProvider,
3765
- ' objects together, and map them to ',
3766
- step.destinationProvider,
3767
- ' objects.'
3768
- )
3769
- ),
3770
3854
  _react2.default.createElement('br', null),
3771
3855
  _react2.default.createElement('br', null),
3772
3856
  _react2.default.createElement(
3773
- 'div',
3857
+ 'p',
3774
3858
  null,
3775
- _react2.default.createElement(
3776
- Button,
3777
- { type: 'brand', onClick: this.loadDefault },
3778
- 'Load Default Dataset'
3779
- ),
3780
- '\xA0\xA0',
3781
- _react2.default.createElement(
3782
- Button,
3783
- { type: 'brand', onClick: this.clearAllData },
3784
- 'Clear Configuration'
3785
- ),
3786
- _react2.default.createElement('br', null),
3787
- _react2.default.createElement('br', null)
3859
+ 'Build datasets by mapping one or many data sources to a single Salesforce destination object.'
3788
3860
  ),
3861
+ _react2.default.createElement('br', null),
3789
3862
  resourceGroups && resourceGroups.length > 0 ? _react2.default.createElement(
3790
3863
  'div',
3791
3864
  null,
@@ -3796,7 +3869,7 @@ module.exports =
3796
3869
  destinationSchema: destinationSchema, changeGroupOrder: this.changeGroupOrder, step: step,
3797
3870
  inputs: inputs, customizable: step.customizable, addDefaultEntity: this.addDefaultEntity },
3798
3871
  _react2.default.createElement(_schemaAccordion2.default, { sourceSchema: sourceSchema, removeEntity: this.removeEntity,
3799
- changeEntityOrder: this.changeEntityOrder, step: step }),
3872
+ changeEntityOrder: this.changeEntityOrder, step: step, destinationSchema: destinationSchema }),
3800
3873
  _react2.default.createElement(
3801
3874
  BundleTable,
3802
3875
  null,
@@ -3809,7 +3882,7 @@ module.exports =
3809
3882
  ) : null,
3810
3883
  _react2.default.createElement(_navButtons2.default, { handleSubmit: handleSubmit, nav: nav, reset: reset, inputs: inputs,
3811
3884
  nextDisabled: !(resourceGroups && resourceGroups.length > 0) || !resourceGroups.every(function (g) {
3812
- return g.resources && g.resources.every(function (rsc) {
3885
+ return g.resources && g.resources.length < 2 || g.resources && g.resources.every(function (rsc) {
3813
3886
  return rsc.externalKey;
3814
3887
  });
3815
3888
  }) })
@@ -3829,7 +3902,7 @@ module.exports =
3829
3902
  })(SchemaStep);
3830
3903
 
3831
3904
  /***/ },
3832
- /* 55 */
3905
+ /* 56 */
3833
3906
  /***/ function(module, exports, __webpack_require__) {
3834
3907
 
3835
3908
  'use strict';
@@ -3891,8 +3964,8 @@ module.exports =
3891
3964
  _react2.default.createElement(
3892
3965
  'div',
3893
3966
  { style: { display: 'inline-block', marginLeft: 10, marginTop: 1 } },
3894
- _react2.default.createElement(_reduxForm.Field, { component: inputs.rfPicklist, type: 'input', defaultLabel: 'Choose Key',
3895
- name: 'resourceGroups.' + i + '.auxillary', selectedValue: group.auxillary,
3967
+ _react2.default.createElement(_reduxForm.Field, { component: inputs.rfPicklist, type: 'input', defaultLabel: 'Choose Unique Key',
3968
+ name: 'resourceGroups.' + i + '.destinationKey', selectedValue: group.destinationKey,
3896
3969
  values: destinationSchema && destinationSchema.find(function (defaultRsc) {
3897
3970
  return defaultRsc.name === group.name;
3898
3971
  }) && destinationSchema.find(function (defaultRsc) {
@@ -3909,8 +3982,9 @@ module.exports =
3909
3982
 
3910
3983
  return _react2.default.createElement(
3911
3984
  'div',
3912
- { className: 'remove-resource-group', onClick: function onClick() {
3913
- return removeResourceGroup(i);
3985
+ { className: 'remove-resource-group', onClick: function onClick(e) {
3986
+ e.stopPropagation();
3987
+ removeResourceGroup(i);
3914
3988
  } },
3915
3989
  _react2.default.createElement(
3916
3990
  'svg',
@@ -3921,7 +3995,7 @@ module.exports =
3921
3995
  };
3922
3996
 
3923
3997
  /***/ },
3924
- /* 56 */
3998
+ /* 57 */
3925
3999
  /***/ function(module, exports, __webpack_require__) {
3926
4000
 
3927
4001
  'use strict';
@@ -4008,16 +4082,16 @@ module.exports =
4008
4082
  var selectedEntity = selectedEntities[resourceGroupIndex];
4009
4083
  if (this.state.selectedField) {
4010
4084
  var resourceGroups = [].concat(_toConsumableArray(formValues['resourceGroups']));
4011
- var rsc = resourceGroups[resourceGroupIndex];
4012
- rsc.mappings = rsc.mappings && rsc.mappings.filter(function (m) {
4085
+ var rscGroup = resourceGroups[resourceGroupIndex];
4086
+ rscGroup.mappings = rscGroup.mappings && rscGroup.mappings.filter(function (m) {
4013
4087
  return m.propertyToName !== field;
4014
4088
  }) || [];
4015
- rsc.mappings.push({
4089
+ rscGroup.mappings.push({
4016
4090
  resourceFromName: selectedEntity,
4017
4091
  resourceToName: group,
4018
4092
  propertyFromName: this.state.selectedField,
4019
4093
  propertyToName: field,
4020
- transformType: 'none'
4094
+ transformations: [{ type: 'none' }]
4021
4095
  });
4022
4096
  change('resourceGroups', resourceGroups);
4023
4097
  this.setState({ selectedField: null });
@@ -4037,7 +4111,8 @@ module.exports =
4037
4111
  leftClicked = _props2.leftClicked,
4038
4112
  sourceSchema = _props2.sourceSchema,
4039
4113
  destinationSchema = _props2.destinationSchema,
4040
- toggle = _props2.toggle;
4114
+ toggle = _props2.toggle,
4115
+ step = _props2.step;
4041
4116
  var selectedField = this.state.selectedField;
4042
4117
 
4043
4118
 
@@ -4067,7 +4142,7 @@ module.exports =
4067
4142
  _react2.default.createElement(
4068
4143
  'div',
4069
4144
  { style: { marginLeft: 12, marginTop: 3 }, className: 'labelz' },
4070
- 'Source Objects'
4145
+ 'Data Sources'
4071
4146
  ),
4072
4147
  bit.map(function (x, ii) {
4073
4148
  return _react2.default.createElement(
@@ -4084,6 +4159,7 @@ module.exports =
4084
4159
  }, className: 'scrolly',
4085
4160
  style: { background: 'white', height: 261, width: 350, padding: '6px 12px' } },
4086
4161
  group.resources && group.resources.map(function (rsc, i) {
4162
+ var schema = rsc.provider === step.destinationProvider ? destinationSchema : sourceSchema;
4087
4163
  return _react2.default.createElement(
4088
4164
  'div',
4089
4165
  { key: i, className: 'accordion-panel', style: { overflow: 'hidden', width: 323 } },
@@ -4096,22 +4172,34 @@ module.exports =
4096
4172
  _this2.pickEntity(rsc.name);
4097
4173
  }
4098
4174
  },
4099
- rsc.name
4175
+ _react2.default.createElement(
4176
+ 'span',
4177
+ null,
4178
+ rsc.name
4179
+ ),
4180
+ _react2.default.createElement(
4181
+ 'svg',
4182
+ { xmlns: 'http://www.w3.org/2000/svg', fill: '#FFFFFF', width: '18', height: '18', viewBox: '0 0 18 18',
4183
+ style: { float: 'right',
4184
+ transform: selectedEntity === rsc.name ? 'rotate(180deg)' : 'rotate(0deg)'
4185
+ } },
4186
+ _react2.default.createElement('path', { d: 'M5 8l4 4 4-4z' })
4187
+ )
4100
4188
  ),
4101
4189
  _react2.default.createElement(
4102
4190
  'div',
4103
4191
  { className: 'accordion-panel-collapse',
4104
4192
  style: {
4105
- height: selectedEntity === rsc.name ? sourceSchema.filter(function (r) {
4193
+ height: schema && selectedEntity === rsc.name ? schema.filter(function (r) {
4106
4194
  return r.name === rsc.name;
4107
4195
  })[0].properties.length * 18 + 19 : 0,
4108
4196
  padding: '0 6px'
4109
4197
  }
4110
4198
  },
4111
4199
  _react2.default.createElement('div', { style: { height: 9 } }),
4112
- sourceSchema.filter(function (r) {
4200
+ schema && schema.find(function (r) {
4113
4201
  return r.name === rsc.name;
4114
- })[0].properties.map(function (field, ii) {
4202
+ }).properties.map(function (field, ii) {
4115
4203
  var style = {
4116
4204
  paddingLeft: 5,
4117
4205
  background: selectedField && selectedField === field.label ? '#dfe0e0' : 'initial',
@@ -4159,7 +4247,7 @@ module.exports =
4159
4247
  _react2.default.createElement(
4160
4248
  'div',
4161
4249
  { className: 'scrolly', style: { height: 256, padding: '8px 12px' } },
4162
- destinationSchema.find(function (r) {
4250
+ destinationSchema && destinationSchema.find(function (r) {
4163
4251
  return r.name === group.name;
4164
4252
  }).properties.map(function (field, i) {
4165
4253
  return _react2.default.createElement(
@@ -4190,7 +4278,7 @@ module.exports =
4190
4278
  exports.default = MapAccordion;
4191
4279
 
4192
4280
  /***/ },
4193
- /* 57 */
4281
+ /* 58 */
4194
4282
  /***/ function(module, exports, __webpack_require__) {
4195
4283
 
4196
4284
  "use strict";
@@ -4280,6 +4368,7 @@ module.exports =
4280
4368
 
4281
4369
  var MapTableTransformRow = exports.MapTableTransformRow = function MapTableTransformRow(props) {
4282
4370
  var group = props.group,
4371
+ i = props.i,
4283
4372
  selectMapping = props.selectMapping;
4284
4373
 
4285
4374
  var icons = {
@@ -4353,7 +4442,7 @@ module.exports =
4353
4442
  return _react2.default.createElement(
4354
4443
  "div",
4355
4444
  { key: iv, className: "map-table-transform-icon", onClick: function onClick() {
4356
- return selectMapping(iii, m, iv);
4445
+ return selectMapping(i, m);
4357
4446
  } },
4358
4447
  m.transformations && m.transformations[0] && icons[m.transformations[0].type] || icons['none']
4359
4448
  );
@@ -4372,7 +4461,7 @@ module.exports =
4372
4461
  };
4373
4462
 
4374
4463
  /***/ },
4375
- /* 58 */
4464
+ /* 59 */
4376
4465
  /***/ function(module, exports, __webpack_require__) {
4377
4466
 
4378
4467
  'use strict';
@@ -4391,7 +4480,7 @@ module.exports =
4391
4480
 
4392
4481
  var _reactAddonsCssTransitionGroup2 = _interopRequireDefault(_reactAddonsCssTransitionGroup);
4393
4482
 
4394
- var _reactDraggable = __webpack_require__(65);
4483
+ var _reactDraggable = __webpack_require__(66);
4395
4484
 
4396
4485
  var _reactDraggable2 = _interopRequireDefault(_reactDraggable);
4397
4486
 
@@ -4532,6 +4621,7 @@ module.exports =
4532
4621
  toggle = _props3.toggle,
4533
4622
  leftClicked = _props3.leftClicked,
4534
4623
  sourceSchema = _props3.sourceSchema,
4624
+ destinationSchema = _props3.destinationSchema,
4535
4625
  overflowHidden = _props3.overflowHidden,
4536
4626
  showOverflow = _props3.showOverflow,
4537
4627
  step = _props3.step;
@@ -4541,7 +4631,13 @@ module.exports =
4541
4631
  var group = resourceGroups[resourceGroupIndex];
4542
4632
  var bit = [true, false];
4543
4633
  var direction = leftClicked ? 'right' : 'left';
4544
- var groupResourcesLength = group.resources ? group.resources.length : 0;
4634
+ var groupResourcesLength = group && group.resources ? group.resources.length : 0;
4635
+
4636
+ var filteredDestinationSchema = destinationSchema.filter(function (rsc) {
4637
+ return resourceGroups.find(function (g) {
4638
+ return g.name === rsc.name && group.name !== rsc.name;
4639
+ }) ? true : false;
4640
+ });
4545
4641
 
4546
4642
  return _react2.default.createElement(
4547
4643
  'div',
@@ -4570,7 +4666,7 @@ module.exports =
4570
4666
  _react2.default.createElement(
4571
4667
  'div',
4572
4668
  { style: { marginLeft: 12, marginTop: 3 }, className: 'labelz' },
4573
- 'Source Objects'
4669
+ 'Data Sources'
4574
4670
  ),
4575
4671
  bit.map(function (x, ii) {
4576
4672
  return _react2.default.createElement(
@@ -4585,7 +4681,7 @@ module.exports =
4585
4681
  _react2.default.createElement(
4586
4682
  'div',
4587
4683
  { style: { position: 'relative' } },
4588
- group.resources && group.resources.map(function (rsc, i) {
4684
+ group && group.resources && group.resources.map(function (rsc, i) {
4589
4685
  return _react2.default.createElement(
4590
4686
  _reactDraggable2.default,
4591
4687
  { axis: 'y', bounds: 'parent', key: i, handle: '.drag-handle', position: { x: 0, y: _this3.state.yPositions[i] },
@@ -4603,14 +4699,14 @@ module.exports =
4603
4699
  className: 'drag-handle' },
4604
4700
  _react2.default.createElement(
4605
4701
  'svg',
4606
- { xmlns: 'http://www.w3.org/2000/svg', fill: '#FFFFFF', width: '24', height: '24', viewBox: '0 0 18 18' },
4607
- _react2.default.createElement('path', { d: 'M9 4.12l2.38 2.38 1.06-1.06L9 2 5.56 5.44 6.62 6.5 9 4.12zm0 9.76L6.62 11.5l-1.06 1.06L9 16l3.44-3.44-1.06-1.06L9 13.88z' })
4702
+ { width: '24', height: '24', viewBox: '0 0 24 24' },
4703
+ _react2.default.createElement('path', { fill: '#FFFFFF', d: 'M9,3H11V5H9V3M13,3H15V5H13V3M9,7H11V9H9V7M13,7H15V9H13V7M9,11H11V13H9V11M13,11H15V13H13V11M9,15H11V17H9V15M13,15H15V17H13V15M9,19H11V21H9V19M13,19H15V21H13V19Z' })
4608
4704
  )
4609
4705
  ),
4610
4706
  _react2.default.createElement(
4611
4707
  'div',
4612
4708
  { style: { padding: '7px 0px 0px 5px', fontSize: '14px', overflow: 'hidden', display: 'inline-block', width: 209, textOverflow: 'ellipsis', whiteSpace: 'nowrap' } },
4613
- rsc.name
4709
+ rsc.provider === step.destinationProvider ? rsc.name + (' (' + step.destinationProvider + ')') : rsc.name
4614
4710
  ),
4615
4711
  _react2.default.createElement(
4616
4712
  'div',
@@ -4627,15 +4723,20 @@ module.exports =
4627
4723
  _react2.default.createElement(
4628
4724
  'div',
4629
4725
  { style: { verticalAlign: 'top', float: 'right', marginRight: 8 } },
4630
- _react2.default.createElement(_reduxForm.Field, { component: inputs.rfSelect, type: 'input', menuAlign: 'right', defaultLabel: 'Choose Group Key',
4631
- selectedValue: group.resources[i].externalKey, onClick: showOverflow, colorType: 'brand',
4632
- values: sourceSchema && sourceSchema.find(function (defaultRsc) {
4726
+ group.resources.length > 1 ? _react2.default.createElement(_reduxForm.Field, { component: inputs.rfSelect, type: 'input', menuAlign: 'right',
4727
+ defaultLabel: 'Configure Relationship', colorType: 'brand',
4728
+ selectedValue: group.resources[i].externalKey, onClick: showOverflow,
4729
+ values: rsc.provider === step.destinationProvider ? destinationSchema && destinationSchema.find(function (defaultRsc) {
4730
+ return defaultRsc.name === rsc.name;
4731
+ }) && destinationSchema.find(function (defaultRsc) {
4732
+ return defaultRsc.name === rsc.name;
4733
+ }).properties : sourceSchema && sourceSchema.find(function (defaultRsc) {
4633
4734
  return defaultRsc.name === rsc.name;
4634
4735
  }) && sourceSchema.find(function (defaultRsc) {
4635
4736
  return defaultRsc.name === rsc.name;
4636
4737
  }).properties,
4637
4738
  name: 'resourceGroups.' + resourceGroupIndex + '.resources.' + i + '.externalKey'
4638
- })
4739
+ }) : null
4639
4740
  )
4640
4741
  )
4641
4742
  );
@@ -4644,11 +4745,12 @@ module.exports =
4644
4745
  resourceGroups && resourceGroups.length > 0 ? _react2.default.createElement(
4645
4746
  'div',
4646
4747
  { style: { display: 'inline-block' } },
4647
- _react2.default.createElement(Select, { label: 'Add New Source', style: { height: 40 }, onClick: showOverflow,
4648
- onSelect: function onSelect(v, i) {
4649
- return addDefaultEntity(resourceGroupIndex, v, i);
4650
- }, values: sourceSchema, type: 'neutral',
4651
- selectedValues: resourceGroups && resourceGroups[resourceGroupIndex] && resourceGroups[resourceGroupIndex].resources
4748
+ _react2.default.createElement(Select, { label: 'Add Data Source', style: { height: 40 }, onClick: showOverflow,
4749
+ onSelect: function onSelect(v, i, rtid, section) {
4750
+ return addDefaultEntity(resourceGroupIndex, v, i, section);
4751
+ }, type: 'neutral',
4752
+ selectedValues: resourceGroups && resourceGroups[resourceGroupIndex] && resourceGroups[resourceGroupIndex].resources, values: [sourceSchema, filteredDestinationSchema],
4753
+ sectionLabels: [step.sourceProvider, step.destinationProvider]
4652
4754
  })
4653
4755
  ) : null
4654
4756
  ) : null
@@ -4665,7 +4767,7 @@ module.exports =
4665
4767
  exports.default = SchemaAccordion;
4666
4768
 
4667
4769
  /***/ },
4668
- /* 59 */
4770
+ /* 60 */
4669
4771
  /***/ function(module, exports, __webpack_require__) {
4670
4772
 
4671
4773
  'use strict';
@@ -4744,7 +4846,6 @@ module.exports =
4744
4846
  opened = _props2.opened,
4745
4847
  mapping = _props2.mapping,
4746
4848
  hideModal = _props2.hideModal,
4747
- mappingIndex = _props2.mappingIndex,
4748
4849
  resourceGroups = _props2.resourceGroups,
4749
4850
  resourceGroupIndex = _props2.resourceGroupIndex;
4750
4851
 
@@ -4753,7 +4854,18 @@ module.exports =
4753
4854
 
4754
4855
  var groups = [].concat(_toConsumableArray(resourceGroups));
4755
4856
  var group = groups[resourceGroupIndex];
4756
- var transformSelected = group.mappings && group.mappings[mappingIndex] && group.mappings[mappingIndex].transformations && group.mappings[mappingIndex].transformations[0].type || 'none';
4857
+
4858
+ var transformation = mapping.transformations && mapping.transformations[0];
4859
+
4860
+ var mappingIndex = 0;
4861
+ group && group.mappings.forEach(function (m, i) {
4862
+ if (mapping.propertyToName === m.propertyToName) {
4863
+ mappingIndex = i;
4864
+ }
4865
+ });
4866
+
4867
+ var transformSelected = transformation && transformation.type || 'none';
4868
+ var transformArgs = transformation && transformation.args || [];
4757
4869
 
4758
4870
  return _react2.default.createElement(
4759
4871
  MapModal,
@@ -4773,7 +4885,8 @@ module.exports =
4773
4885
  'div',
4774
4886
  { style: { width: 150, display: 'inline-block', marginBottom: 20 } },
4775
4887
  _react2.default.createElement(_reduxForm.Field, { name: 'resourceGroups.' + resourceGroupIndex + '.mappings.' + mappingIndex + '.transformations.0.type',
4776
- component: inputs.rfRadioGroup, label: 'Deployment Type', options: this.transformOptions })
4888
+ component: inputs.rfRadioGroup, label: 'Deployment Type', options: this.transformOptions,
4889
+ onClickOption: function onClickOption() {} })
4777
4890
  ),
4778
4891
  _react2.default.createElement(
4779
4892
  'div',
@@ -4803,7 +4916,8 @@ module.exports =
4803
4916
  { style: { marginBottom: 8 } },
4804
4917
  'Limit final field length:'
4805
4918
  ),
4806
- _react2.default.createElement(Input, { style: { width: 132 }, label: 'Character Count', onChange: this.changeTrimCount })
4919
+ _react2.default.createElement(Input, { style: { width: 132 }, label: 'Character Count', onChange: this.changeTrimCount,
4920
+ defaultValue: transformArgs[1] || '' })
4807
4921
  ),
4808
4922
  transformSelected === 'date' && _react2.default.createElement(
4809
4923
  'div',
@@ -4854,7 +4968,7 @@ module.exports =
4854
4968
  exports.default = TransformModal;
4855
4969
 
4856
4970
  /***/ },
4857
- /* 60 */
4971
+ /* 61 */
4858
4972
  /***/ function(module, exports, __webpack_require__) {
4859
4973
 
4860
4974
  'use strict';
@@ -4879,35 +4993,35 @@ module.exports =
4879
4993
 
4880
4994
  var _accountStep2 = _interopRequireDefault(_accountStep);
4881
4995
 
4882
- var _phaseStep = __webpack_require__(52);
4996
+ var _phaseStep = __webpack_require__(53);
4883
4997
 
4884
4998
  var _phaseStep2 = _interopRequireDefault(_phaseStep);
4885
4999
 
4886
- var _environmentStep = __webpack_require__(48);
5000
+ var _environmentStep = __webpack_require__(49);
4887
5001
 
4888
5002
  var _environmentStep2 = _interopRequireDefault(_environmentStep);
4889
5003
 
4890
- var _schemaStep = __webpack_require__(54);
5004
+ var _schemaStep = __webpack_require__(55);
4891
5005
 
4892
5006
  var _schemaStep2 = _interopRequireDefault(_schemaStep);
4893
5007
 
4894
- var _filterStep = __webpack_require__(49);
5008
+ var _filterStep = __webpack_require__(50);
4895
5009
 
4896
5010
  var _filterStep2 = _interopRequireDefault(_filterStep);
4897
5011
 
4898
- var _mapStep = __webpack_require__(50);
5012
+ var _mapStep = __webpack_require__(51);
4899
5013
 
4900
5014
  var _mapStep2 = _interopRequireDefault(_mapStep);
4901
5015
 
4902
- var _previewStep = __webpack_require__(53);
5016
+ var _previewStep = __webpack_require__(54);
4903
5017
 
4904
5018
  var _previewStep2 = _interopRequireDefault(_previewStep);
4905
5019
 
4906
- var _deployStep = __webpack_require__(47);
5020
+ var _deployStep = __webpack_require__(48);
4907
5021
 
4908
5022
  var _deployStep2 = _interopRequireDefault(_deployStep);
4909
5023
 
4910
- var _nameStep = __webpack_require__(51);
5024
+ var _nameStep = __webpack_require__(52);
4911
5025
 
4912
5026
  var _nameStep2 = _interopRequireDefault(_nameStep);
4913
5027
 
@@ -4915,8 +5029,14 @@ module.exports =
4915
5029
 
4916
5030
  var _adapterStep2 = _interopRequireDefault(_adapterStep);
4917
5031
 
5032
+ var _defaultDatasetStep = __webpack_require__(47);
5033
+
5034
+ var _defaultDatasetStep2 = _interopRequireDefault(_defaultDatasetStep);
5035
+
4918
5036
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4919
5037
 
5038
+ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
5039
+
4920
5040
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4921
5041
 
4922
5042
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
@@ -4962,24 +5082,23 @@ module.exports =
4962
5082
  preview: _previewStep2.default,
4963
5083
  deploy: _deployStep2.default,
4964
5084
  adapter: _adapterStep2.default,
4965
- name: _nameStep2.default
5085
+ name: _nameStep2.default,
5086
+ 'default': _defaultDatasetStep2.default
4966
5087
  };
4967
5088
  return _this;
4968
5089
  }
5090
+ /*camelize(str) {
5091
+ return str.replace(/(?:^\w|[A-Z]|\b\w)/g, function(letter, index) {
5092
+ return index === 0 ? letter.toLowerCase() : letter.toUpperCase(); //toUpperCase
5093
+ }).replace(/\s+/g, '');
5094
+ }*/
5095
+
4969
5096
 
4970
5097
  _createClass(WizardForm, [{
4971
- key: 'camelize',
4972
- value: function camelize(str) {
4973
- return str.replace(/(?:^\w|[A-Z]|\b\w)/g, function (letter, index) {
4974
- return index === 0 ? letter.toLowerCase() : letter.toUpperCase(); //toUpperCase
4975
- }).replace(/\s+/g, '');
4976
- }
4977
- }, {
4978
5098
  key: 'onSubmit',
4979
5099
  value: function onSubmit(values) {
4980
5100
  var _this2 = this;
4981
5101
 
4982
- console.log('WIZARD OUTPUT: ', values);
4983
5102
  var formValues = Object.assign({}, values);
4984
5103
  var endpoints = {};
4985
5104
  //----------------------------------
@@ -4991,7 +5110,7 @@ module.exports =
4991
5110
 
4992
5111
  /* instead of finding the values from metadata, keep metadata types/names in the RF state */
4993
5112
 
4994
- var bundles = formValues.resourceGroups || [];
5113
+ var bundles = [].concat(_toConsumableArray(formValues['resourceGroups'])) || [];
4995
5114
  var mappings = [];
4996
5115
  bundles.forEach(function (group, index) {
4997
5116
  var destinationResource = _this2.props.wizard.destinationMetadata ? _this2.props.wizard.destinationMetadata.find(function (rsc) {
@@ -5004,13 +5123,20 @@ module.exports =
5004
5123
  var sourceResource = _this2.props.wizard.sourceMetadata.find(function (rsc) {
5005
5124
  return rsc.name === singleMapping.resourceFromName;
5006
5125
  });
5007
- endpoints['apiEndpoint_' + sourceResource.name] = formValues.sourceEndpoint + '/api/' + sourceResource.endpointSuffix.toLowerCase();
5126
+ endpoints['apiEndpoint_' + sourceResource.name] = formValues.sourceEndpoint + '/api/' + sourceResource.endpointSuffix.toLowerCase().split(' ').join('');
5008
5127
  var sourceProperty = sourceResource && sourceResource.properties && sourceResource.properties.find(function (prop) {
5009
5128
  return prop.label === singleMapping.propertyFromName;
5010
5129
  });
5011
5130
  var destinationProperty = destinationResource && destinationResource.properties && destinationResource.properties.find(function (prop) {
5012
5131
  return prop.label === singleMapping.propertyToName;
5013
5132
  });
5133
+ if (singleMapping.transformations && singleMapping.transformations.length > 0) {
5134
+ singleMapping.transformations.forEach(function (trans, index) {
5135
+ if (trans.type === 'none') {
5136
+ singleMapping.transformations.splice(index, 1);
5137
+ }
5138
+ });
5139
+ }
5014
5140
  if (sourceResource && sourceProperty && destinationResource && destinationProperty) {
5015
5141
  mappings = mappings.concat(Object.assign({ // add to mappings obj
5016
5142
  resourceFromName: sourceResource.type,
@@ -5029,18 +5155,22 @@ module.exports =
5029
5155
  var sourceResource = _this2.props.wizard.sourceMetadata.find(function (metaRsc) {
5030
5156
  return metaRsc.name === rsc.name;
5031
5157
  });
5032
- var sourceProperty = sourceResource && sourceResource.properties && sourceResource.properties.find(function (prop) {
5033
- return prop.label === rsc.externalKey;
5034
- });
5035
- if (sourceProperty) {
5158
+ if (sourceResource) {
5036
5159
  return {
5037
5160
  resourceName: sourceResource.type,
5038
- primaryKeyName: sourceProperty.name
5161
+ primaryKeyName: rsc.externalKey && sourceResource && sourceResource.properties && sourceResource.properties.find(function (prop) {
5162
+ return prop.label === rsc.externalKey;
5163
+ }) && sourceResource.properties.find(function (prop) {
5164
+ return prop.label === rsc.externalKey;
5165
+ }).name || '',
5166
+ provider: rsc.provider.toLowerCase() + 'Reader'
5039
5167
  };
5040
5168
  } else return null;
5041
5169
  });
5042
5170
  }
5043
- });
5171
+
5172
+ group.provider = _this2.props.providers['destination'].toLowerCase();
5173
+ }); //end for each bundle
5044
5174
  console.log('BUNDLES: ', bundles);
5045
5175
  console.log('MAPPINGS: ', mappings);
5046
5176
  //----------------------------------
@@ -5084,18 +5214,16 @@ module.exports =
5084
5214
  }, {
5085
5215
  key: 'nextPage',
5086
5216
  value: function nextPage() {
5087
- var wizard = this.props.wizard;
5088
-
5089
- var savedPage = wizard.savedConfiguration && parseInt(wizard.savedConfiguration.currentPage, 10);
5217
+ //const { wizard } = this.props
5218
+ //const savedPage = (wizard.savedConfiguration && parseInt(wizard.savedConfiguration.currentPage, 10))
5090
5219
  this.setState({ currentPage: this.state.currentPage ? this.state.currentPage + 1 : 2 });
5091
5220
  //savedPage ? savedPage + 1 : 2 })
5092
5221
  }
5093
5222
  }, {
5094
5223
  key: 'previousPage',
5095
5224
  value: function previousPage() {
5096
- var wizard = this.props.wizard;
5097
-
5098
- var savedPage = wizard.savedConfiguration && parseInt(wizard.savedConfiguration.currentPage, 10);
5225
+ //const { wizard } = this.props
5226
+ //const savedPage = (wizard.savedConfiguration && parseInt(wizard.savedConfiguration.currentPage, 10))
5099
5227
  this.setState({ currentPage: this.state.currentPage ? this.state.currentPage - 1 : 1 }); //: savedPage - 1 })
5100
5228
  }
5101
5229
  }, {
@@ -5193,6 +5321,7 @@ module.exports =
5193
5321
  var deployment = selector(state, 'deployment');
5194
5322
  var mappings = selector(state, 'mappings');
5195
5323
  var resourceGroups = selector(state, 'resourceGroups');
5324
+ var defaultDataset = selector(state, 'defaultDataset');
5196
5325
  return Object.assign({}, state, {
5197
5326
  formValues: {
5198
5327
  title: title,
@@ -5202,7 +5331,8 @@ module.exports =
5202
5331
  filter: filter,
5203
5332
  deployment: deployment,
5204
5333
  mappings: mappings,
5205
- resourceGroups: resourceGroups
5334
+ resourceGroups: resourceGroups,
5335
+ defaultDataset: defaultDataset
5206
5336
  }
5207
5337
  });
5208
5338
  })(WizardForm);
@@ -5210,7 +5340,7 @@ module.exports =
5210
5340
  exports.default = WizardForm;
5211
5341
 
5212
5342
  /***/ },
5213
- /* 61 */
5343
+ /* 62 */
5214
5344
  /***/ function(module, exports, __webpack_require__) {
5215
5345
 
5216
5346
  'use strict';
@@ -5225,7 +5355,7 @@ module.exports =
5225
5355
 
5226
5356
  var _react2 = _interopRequireDefault(_react);
5227
5357
 
5228
- var _redux = __webpack_require__(67);
5358
+ var _redux = __webpack_require__(68);
5229
5359
 
5230
5360
  var _reactRedux = __webpack_require__(11);
5231
5361
 
@@ -5233,9 +5363,9 @@ module.exports =
5233
5363
 
5234
5364
  var wizardActions = _interopRequireWildcard(_wizard);
5235
5365
 
5236
- __webpack_require__(62);
5366
+ __webpack_require__(63);
5237
5367
 
5238
- var _wizardForm = __webpack_require__(60);
5368
+ var _wizardForm = __webpack_require__(61);
5239
5369
 
5240
5370
  var _wizardForm2 = _interopRequireDefault(_wizardForm);
5241
5371
 
@@ -5273,7 +5403,8 @@ module.exports =
5273
5403
  type: 'Salesforce',
5274
5404
  name: 'Salesforce',
5275
5405
  env: false,
5276
- customizable: false // if destination schema is not customizable, disclude the entire step
5406
+ customizable: false, // if destination schema is not customizable, disclude the entire step
5407
+ customStep: 'default'
5277
5408
  },
5278
5409
  deployment: ['once', 'scheduled'],
5279
5410
  autoMapData: example.wizards[1].autoMapData,
@@ -5327,11 +5458,15 @@ module.exports =
5327
5458
  type: 'phase',
5328
5459
  title: 'Implementation Phase'
5329
5460
  }, {
5330
- type: 'custom'
5461
+ type: 'custom',
5462
+ mode: 'source'
5331
5463
  }, {
5332
5464
  type: 'environment',
5333
5465
  title: 'Source Environment',
5334
5466
  mode: 'source'
5467
+ }, {
5468
+ type: 'custom',
5469
+ mode: 'destination'
5335
5470
  }, {
5336
5471
  type: 'schema',
5337
5472
  title: 'Build Dataset',
@@ -5346,10 +5481,12 @@ module.exports =
5346
5481
  }, {
5347
5482
  type: 'map',
5348
5483
  title: 'Field Mapping'
5349
- }, {
5484
+ },
5485
+ /*{
5350
5486
  type: 'preview',
5351
- title: 'Data Preview'
5352
- }, {
5487
+ title: 'Data Preview',
5488
+ },*/
5489
+ {
5353
5490
  type: 'deploy',
5354
5491
  title: 'Deploy'
5355
5492
  }];
@@ -5370,10 +5507,11 @@ module.exports =
5370
5507
  } else if (step.type === 'phase' && wizard.phaseStep) {
5371
5508
  stepList.push(step);
5372
5509
  } else if (step.type === 'custom') {
5373
- var customStep = providerData.providerTypes[wizard.source.type].customStep;
5374
- if (customStep && wizard.source.customStep) {
5510
+ var customStep = providerData.providerTypes[wizard.destination.type].customStep;
5511
+ if (customStep && wizard[step.mode].customStep) {
5375
5512
  step.type = customStep.type;
5376
5513
  step.title = customStep.title;
5514
+ step.options = customStep.options;
5377
5515
  stepList.push(step);
5378
5516
  }
5379
5517
  } else if (step.type === 'environment') {
@@ -5470,20 +5608,20 @@ module.exports =
5470
5608
  exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LingkSync);
5471
5609
 
5472
5610
  /***/ },
5473
- /* 62 */
5611
+ /* 63 */
5474
5612
  /***/ function(module, exports) {
5475
5613
 
5476
5614
  // removed by extract-text-webpack-plugin
5477
5615
 
5478
5616
  /***/ },
5479
- /* 63 */,
5480
5617
  /* 64 */,
5481
- /* 65 */
5618
+ /* 65 */,
5619
+ /* 66 */
5482
5620
  /***/ function(module, exports, __webpack_require__) {
5483
5621
 
5484
5622
  (function webpackUniversalModuleDefinition(root, factory) {
5485
5623
  if(true)
5486
- module.exports = factory(__webpack_require__(1), __webpack_require__(66));
5624
+ module.exports = factory(__webpack_require__(1), __webpack_require__(67));
5487
5625
  else if(typeof define === 'function' && define.amd)
5488
5626
  define(["react", "react-dom"], factory);
5489
5627
  else if(typeof exports === 'object')
@@ -7090,13 +7228,13 @@ module.exports =
7090
7228
  //# sourceMappingURL=react-draggable.js.map
7091
7229
 
7092
7230
  /***/ },
7093
- /* 66 */
7231
+ /* 67 */
7094
7232
  /***/ function(module, exports) {
7095
7233
 
7096
7234
  module.exports = require("react-dom");
7097
7235
 
7098
7236
  /***/ },
7099
- /* 67 */
7237
+ /* 68 */
7100
7238
  /***/ function(module, exports) {
7101
7239
 
7102
7240
  module.exports = require("redux");