@plusscommunities/pluss-newsletter-web-sharing 1.3.5 → 1.3.9

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/dist/index.cjs.js CHANGED
@@ -988,6 +988,7 @@ var getSiteNameFromRoles = Helper.getSiteNameFromRoles;
988
988
  var onlyAlphanumeric = Helper.onlyAlphanumeric;
989
989
  var setLocalStorage = Helper.setLocalStorage;
990
990
  var readJSONFromStorage = Helper.readJSONFromStorage;
991
+ var getSiteSettingFromState = Helper.getSiteSettingFromState;
991
992
 
992
993
  function _createSuper$f(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$f(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }
993
994
 
@@ -2309,7 +2310,6 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2309
2310
  tagsInput: '',
2310
2311
  publisherTitleInput: '',
2311
2312
  tagged: [],
2312
- contacts: [],
2313
2313
  showTagged: false,
2314
2314
  showWarnings: false,
2315
2315
  success: false,
@@ -2323,6 +2323,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2323
2323
  differentPublish: false,
2324
2324
  isTvMode: false,
2325
2325
  allowComments: DEFAULT_ALLOW_COMMENTS,
2326
+ commentVisibilityLimited: _this.props.commentVisibilityLimited,
2326
2327
  shouldNotify: false,
2327
2328
  publishDate: moment__default['default']().format('YYYY-MM-DD'),
2328
2329
  publishDateText: moment__default['default']().format('DD/MM/YYYY'),
@@ -2331,9 +2332,11 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2331
2332
  links: [],
2332
2333
  authorDisplay: false,
2333
2334
  customAuthorInput: '',
2334
- isAudienceValid: true,
2335
2335
  textFormatOpen: false,
2336
- selectedOption: 'audience'
2336
+ selectedOption: 'audience',
2337
+ isAudienceValid: true,
2338
+ audienceType: '',
2339
+ audienceTypeSelection: []
2337
2340
  });
2338
2341
 
2339
2342
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "state", _objectSpread$8({}, _this.initialState));
@@ -2352,7 +2355,6 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2352
2355
  });
2353
2356
 
2354
2357
  newsletterActions.getOpenGraph(_this.state.loadFromWebsiteInput).then(function (res) {
2355
- console.log(res.data);
2356
2358
  var newState = {
2357
2359
  loadingFromWebsite: false,
2358
2360
  loadFromWebsiteInput: '',
@@ -2457,9 +2459,6 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2457
2459
  });
2458
2460
 
2459
2461
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "handleSubmit", function () {
2460
- // console.log(this.audienceSelector);
2461
- _this.audienceSelector.getWrappedInstance().onSubmit();
2462
-
2463
2462
  if (!_this.validateForm()) {
2464
2463
  _this.setState({
2465
2464
  showWarnings: true
@@ -2490,6 +2489,14 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2490
2489
  });
2491
2490
  });
2492
2491
 
2492
+ _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onChangeAudience", function (audienceType, audienceTypeSelection, isAudienceValid) {
2493
+ _this.setState({
2494
+ audienceType: audienceType,
2495
+ audienceTypeSelection: audienceTypeSelection,
2496
+ isAudienceValid: isAudienceValid
2497
+ });
2498
+ });
2499
+
2493
2500
  return _this;
2494
2501
  }
2495
2502
 
@@ -2534,13 +2541,6 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2534
2541
  textFormatOpen: isOpen
2535
2542
  });
2536
2543
  }
2537
- }, {
2538
- key: "updateAudienceValidation",
2539
- value: function updateAudienceValidation(valid) {
2540
- this.setState({
2541
- isAudienceValid: valid
2542
- });
2543
- }
2544
2544
  }, {
2545
2545
  key: "getData",
2546
2546
  value: function getData() {
@@ -2561,9 +2561,12 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2561
2561
  isTvMode: Boolean(update.TVMode),
2562
2562
  isFeatured: Boolean(update.IsFeatured),
2563
2563
  allowComments: Boolean(update.AllowComments),
2564
+ commentVisibilityLimited: Boolean(update.CommentVisibilityLimited),
2564
2565
  featuredExpiryDate: moment__default['default'](update.FeaturedExpiry || undefined).format('YYYY-MM-DD'),
2565
2566
  featuredExpiryDateText: moment__default['default'](update.FeaturedExpiry || undefined).format('DD/MM/YYYY'),
2566
- authorDisplay: update.AuthorDisplay
2567
+ authorDisplay: update.AuthorDisplay,
2568
+ audienceType: update.AudienceType || '',
2569
+ audienceTypeSelection: update.AudienceTypeSelection || []
2567
2570
  };
2568
2571
 
2569
2572
  if (update.AuthorDisplay === 'custom') {
@@ -2688,7 +2691,6 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2688
2691
 
2689
2692
  if (this.refs.publisherImage) {
2690
2693
  if (update.Publisher && !___default['default'].isEmpty(update.Publisher.Image)) {
2691
- console.log(update.Publisher.Image);
2692
2694
  this.refs.publisherImage.getWrappedInstance().setValue(update.Publisher.Image);
2693
2695
  } else {
2694
2696
  setTimeout(function () {
@@ -2888,8 +2890,8 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2888
2890
  Text: this.state.textInput,
2889
2891
  Thumbnail: '',
2890
2892
  Video: this.state.videoInput,
2891
- AudienceType: this.audienceSelector.getWrappedInstance().getAudienceType(),
2892
- AudienceTypeSelection: this.audienceSelector.getWrappedInstance().getAudienceTypeSelection(),
2893
+ AudienceType: this.state.audienceType,
2894
+ AudienceTypeSelection: this.state.audienceTypeSelection,
2893
2895
  Site: this.props.auth.site,
2894
2896
  Tagged: this.state.tagged,
2895
2897
  HasSponsor: this.state.HasSponsor,
@@ -2914,6 +2916,10 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2914
2916
  if (!___default['default'].isEmpty(result.Images)) {
2915
2917
  result.Thumbnail = getThumb300(result.Images[0]);
2916
2918
  result.Image = get1400(result.Images[0]);
2919
+ }
2920
+
2921
+ if (result.AllowComments) {
2922
+ result.CommentVisibilityLimited = this.state.commentVisibilityLimited;
2917
2923
  } // if (baseClient === 'pluss60') {
2918
2924
  // const publisherImage = this.refs.publisherImage.getWrappedInstance().getValue();
2919
2925
  // if (!_.isEmpty(publisherImage) || !_.isEmpty(this.state.publisherTitleInput)) {
@@ -3121,20 +3127,20 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3121
3127
  }, {
3122
3128
  key: "renderAudience",
3123
3129
  value: function renderAudience() {
3124
- var _this9 = this;
3125
-
3130
+ var auth = this.props.auth;
3131
+ var _this$state = this.state,
3132
+ audienceType = _this$state.audienceType,
3133
+ audienceTypeSelection = _this$state.audienceTypeSelection;
3126
3134
  return /*#__PURE__*/React__default['default'].createElement("div", {
3127
3135
  className: "optionsContent_bottom"
3128
3136
  }, /*#__PURE__*/React__default['default'].createElement(AudienceSelector, {
3129
- updateValidation: this.updateAudienceValidation.bind(this),
3130
- ref: function ref(a) {
3131
- _this9.audienceSelector = a;
3132
- },
3133
- auth: this.props.auth,
3137
+ onChange: this.onChangeAudience,
3138
+ auth: auth,
3134
3139
  custom: true,
3140
+ audienceType: audienceType,
3141
+ audienceTypeSelection: audienceTypeSelection,
3135
3142
  disallowSingleUsers: true,
3136
- disallowUserType: true,
3137
- customSite: this.props.auth.site === 'hq' ? 'All sites' : false
3143
+ disallowUserType: true
3138
3144
  }));
3139
3145
  }
3140
3146
  }, {
@@ -3232,7 +3238,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3232
3238
  }, {
3233
3239
  key: "renderForm",
3234
3240
  value: function renderForm() {
3235
- var _this10 = this;
3241
+ var _this9 = this;
3236
3242
 
3237
3243
  if (this.state.success) {
3238
3244
  return null;
@@ -3253,14 +3259,14 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3253
3259
  label: "Title",
3254
3260
  placeholder: "Insert title here",
3255
3261
  showError: function showError() {
3256
- return _this10.state.showWarnings && _this10.isEmpty(_this10.state.titleInput);
3262
+ return _this9.state.showWarnings && _this9.isEmpty(_this9.state.titleInput);
3257
3263
  },
3258
3264
  isValid: function isValid() {
3259
- return !_this10.isEmpty(_this10.state.titleInput);
3265
+ return !_this9.isEmpty(_this9.state.titleInput);
3260
3266
  },
3261
3267
  value: this.state.titleInput,
3262
3268
  onChange: function onChange(e) {
3263
- return _this10.handleChange(e);
3269
+ return _this9.handleChange(e);
3264
3270
  },
3265
3271
  isRequired: true,
3266
3272
  alwaysShowLabel: true
@@ -3284,7 +3290,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3284
3290
  placeholder: "https://",
3285
3291
  value: this.state.loadFromWebsiteInput,
3286
3292
  onChange: function onChange(e) {
3287
- return _this10.handleChange(e);
3293
+ return _this9.handleChange(e);
3288
3294
  },
3289
3295
  alwaysShowLabel: true
3290
3296
  })))), /*#__PURE__*/React__default['default'].createElement(GenericInput, {
@@ -3294,18 +3300,18 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3294
3300
  placeholder: "Enter story here",
3295
3301
  value: this.state.textInput,
3296
3302
  onChange: function onChange(e) {
3297
- return _this10.handleChange(e);
3303
+ return _this9.handleChange(e);
3298
3304
  },
3299
3305
  isRequired: true,
3300
3306
  showError: function showError() {
3301
- return _this10.state.showWarnings && _this10.isEmpty(_this10.state.textInput);
3307
+ return _this9.state.showWarnings && _this9.isEmpty(_this9.state.textInput);
3302
3308
  },
3303
3309
  isValid: function isValid() {
3304
- return !_this10.isEmpty(_this10.state.textInput);
3310
+ return !_this9.isEmpty(_this9.state.textInput);
3305
3311
  },
3306
3312
  help: /*#__PURE__*/React__default['default'].createElement("a", {
3307
3313
  onClick: function onClick() {
3308
- _this10.toggleTextFormat(true);
3314
+ _this9.toggleTextFormat(true);
3309
3315
  },
3310
3316
  className: "pointer"
3311
3317
  }, "Text formatting"),
@@ -3328,7 +3334,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3328
3334
  }, {
3329
3335
  key: "renderAddAttachment",
3330
3336
  value: function renderAddAttachment() {
3331
- var _this11 = this;
3337
+ var _this10 = this;
3332
3338
 
3333
3339
  if (this.inputsDisabled()) {
3334
3340
  return null;
@@ -3336,7 +3342,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3336
3342
 
3337
3343
  return /*#__PURE__*/React__default['default'].createElement(FileInput, {
3338
3344
  ref: function ref(_ref) {
3339
- _this11.pdFileInput = _ref;
3345
+ _this10.pdFileInput = _ref;
3340
3346
  },
3341
3347
  style: {
3342
3348
  height: 120,
@@ -3350,7 +3356,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3350
3356
  }, {
3351
3357
  key: "renderAttachments",
3352
3358
  value: function renderAttachments() {
3353
- var _this12 = this;
3359
+ var _this11 = this;
3354
3360
 
3355
3361
  return /*#__PURE__*/React__default['default'].createElement("div", {
3356
3362
  className: "optionsContent_bottom"
@@ -3371,9 +3377,9 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3371
3377
  placeholder: "Enter Title",
3372
3378
  value: link.Text,
3373
3379
  onChange: function onChange(e) {
3374
- return _this12.handleLinkChange(index, 'Text', e.target.value);
3380
+ return _this11.handleLinkChange(index, 'Text', e.target.value);
3375
3381
  },
3376
- disabled: _this12.inputsDisabled(),
3382
+ disabled: _this11.inputsDisabled(),
3377
3383
  alwaysShowLabel: true,
3378
3384
  style: {
3379
3385
  margin: 0,
@@ -3387,9 +3393,9 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3387
3393
  placeholder: "https://",
3388
3394
  value: link.Url,
3389
3395
  onChange: function onChange(e) {
3390
- return _this12.handleLinkChange(index, 'Url', e.target.value);
3396
+ return _this11.handleLinkChange(index, 'Url', e.target.value);
3391
3397
  },
3392
- disabled: _this12.inputsDisabled(),
3398
+ disabled: _this11.inputsDisabled(),
3393
3399
  alwaysShowLabel: true,
3394
3400
  style: {
3395
3401
  margin: 0,
@@ -3399,7 +3405,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3399
3405
  className: "removeoption pdfAttachmentInput_remove",
3400
3406
  icon: "remove-circle",
3401
3407
  onClick: function onClick() {
3402
- _this12.removeLink(index);
3408
+ _this11.removeLink(index);
3403
3409
  }
3404
3410
  }));
3405
3411
  }), /*#__PURE__*/React__default['default'].createElement("div", {
@@ -3437,9 +3443,9 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3437
3443
  placeholder: "Title",
3438
3444
  value: attachment.Title,
3439
3445
  onChange: function onChange(e) {
3440
- return _this12.handleAttachmentChange(index, 'Title', e);
3446
+ return _this11.handleAttachmentChange(index, 'Title', e);
3441
3447
  },
3442
- disabled: _this12.inputsDisabled(),
3448
+ disabled: _this11.inputsDisabled(),
3443
3449
  alwaysShowLabel: true,
3444
3450
  style: {
3445
3451
  margin: 0,
@@ -3449,7 +3455,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3449
3455
  className: "removeoption pdfAttachmentInput_remove",
3450
3456
  icon: "remove-circle",
3451
3457
  onClick: function onClick() {
3452
- _this12.removeAttachment(index);
3458
+ _this11.removeAttachment(index);
3453
3459
  }
3454
3460
  }));
3455
3461
  }), this.renderAddAttachment()));
@@ -3457,7 +3463,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3457
3463
  }, {
3458
3464
  key: "renderFeatured",
3459
3465
  value: function renderFeatured() {
3460
- var _this13 = this;
3466
+ var _this12 = this;
3461
3467
 
3462
3468
  return /*#__PURE__*/React__default['default'].createElement("div", {
3463
3469
  className: "optionsContent_bottom"
@@ -3468,7 +3474,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3468
3474
  Label: 'Yes',
3469
3475
  Value: true,
3470
3476
  onChange: function onChange() {
3471
- return _this13.setState({
3477
+ return _this12.setState({
3472
3478
  isFeatured: true
3473
3479
  });
3474
3480
  }
@@ -3476,7 +3482,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3476
3482
  Label: 'No',
3477
3483
  Value: false,
3478
3484
  onChange: function onChange() {
3479
- return _this13.setState({
3485
+ return _this12.setState({
3480
3486
  isFeatured: false
3481
3487
  });
3482
3488
  }
@@ -3494,11 +3500,11 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3494
3500
  alwaysShowLabel: true,
3495
3501
  value: this.state.featuredExpiryDateText,
3496
3502
  onChange: function onChange(e) {
3497
- return _this13.handleExpiryDateTextChange(e.target.value);
3503
+ return _this12.handleExpiryDateTextChange(e.target.value);
3498
3504
  },
3499
3505
  onClick: function onClick(e) {
3500
- return _this13.setState({
3501
- showExpiryDate: !_this13.state.showExpiryDate
3506
+ return _this12.setState({
3507
+ showExpiryDate: !_this12.state.showExpiryDate
3502
3508
  });
3503
3509
  }
3504
3510
  }), this.state.showExpiryDate && /*#__PURE__*/React__default['default'].createElement(DatePicker, {
@@ -3509,24 +3515,33 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3509
3515
  }, {
3510
3516
  key: "renderComments",
3511
3517
  value: function renderComments() {
3512
- var _this14 = this;
3518
+ var _this13 = this;
3513
3519
 
3514
3520
  if (___default['default'].includes(this.props.auth.hidden, values.optionNewsComments)) return null;
3515
- return /*#__PURE__*/React__default['default'].createElement(CheckBox, {
3521
+ return /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(CheckBox, {
3516
3522
  className: "marginTop-16",
3517
3523
  label: "Allow comments",
3518
3524
  isActive: this.state.allowComments,
3519
3525
  onChange: function onChange() {
3520
- _this14.setState({
3521
- allowComments: !_this14.state.allowComments
3526
+ _this13.setState({
3527
+ allowComments: !_this13.state.allowComments
3522
3528
  });
3523
3529
  }
3524
- });
3530
+ }), this.state.allowComments && /*#__PURE__*/React__default['default'].createElement(CheckBox, {
3531
+ className: "marginTop-16",
3532
+ label: "Users can only see their own comments",
3533
+ isActive: this.state.commentVisibilityLimited,
3534
+ onChange: function onChange() {
3535
+ _this13.setState({
3536
+ commentVisibilityLimited: !_this13.state.commentVisibilityLimited
3537
+ });
3538
+ }
3539
+ }));
3525
3540
  }
3526
3541
  }, {
3527
3542
  key: "renderTags",
3528
3543
  value: function renderTags() {
3529
- var _this15 = this;
3544
+ var _this14 = this;
3530
3545
 
3531
3546
  if (!newsHaveTags) return null;
3532
3547
  return /*#__PURE__*/React__default['default'].createElement("div", {
@@ -3539,7 +3554,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3539
3554
  placeholder: "Humour, Social, etc.",
3540
3555
  value: this.state.tagsInput,
3541
3556
  onChange: function onChange(e) {
3542
- return _this15.handleChange(e);
3557
+ return _this14.handleChange(e);
3543
3558
  },
3544
3559
  alwaysShowLabel: true
3545
3560
  }));
@@ -3547,7 +3562,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3547
3562
  }, {
3548
3563
  key: "renderNotify",
3549
3564
  value: function renderNotify() {
3550
- var _this16 = this;
3565
+ var _this15 = this;
3551
3566
 
3552
3567
  if (this.state.eventId || ___default['default'].includes(this.props.auth.hidden, 'eventNotifications')) {
3553
3568
  return null;
@@ -3562,7 +3577,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3562
3577
  Label: 'Yes',
3563
3578
  Value: true,
3564
3579
  onChange: function onChange() {
3565
- return _this16.setState({
3580
+ return _this15.setState({
3566
3581
  shouldNotify: true
3567
3582
  });
3568
3583
  }
@@ -3570,7 +3585,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3570
3585
  Label: 'No',
3571
3586
  Value: false,
3572
3587
  onChange: function onChange() {
3573
- return _this16.setState({
3588
+ return _this15.setState({
3574
3589
  shouldNotify: false
3575
3590
  });
3576
3591
  }
@@ -3585,7 +3600,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3585
3600
  }, {
3586
3601
  key: "renderTvMode",
3587
3602
  value: function renderTvMode() {
3588
- var _this17 = this;
3603
+ var _this16 = this;
3589
3604
 
3590
3605
  return /*#__PURE__*/React__default['default'].createElement("div", {
3591
3606
  className: "marginTop-16"
@@ -3596,7 +3611,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3596
3611
  Label: 'Yes',
3597
3612
  Value: true,
3598
3613
  onChange: function onChange() {
3599
- return _this17.setState({
3614
+ return _this16.setState({
3600
3615
  isTvMode: true
3601
3616
  });
3602
3617
  }
@@ -3604,7 +3619,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3604
3619
  Label: 'No',
3605
3620
  Value: false,
3606
3621
  onChange: function onChange() {
3607
- return _this17.setState({
3622
+ return _this16.setState({
3608
3623
  isTvMode: false
3609
3624
  });
3610
3625
  }
@@ -3616,7 +3631,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3616
3631
  }, {
3617
3632
  key: "renderAuthor",
3618
3633
  value: function renderAuthor() {
3619
- var _this18 = this;
3634
+ var _this17 = this;
3620
3635
 
3621
3636
  if (this.props.forceNewsAuthorName) return null;
3622
3637
  return /*#__PURE__*/React__default['default'].createElement("div", {
@@ -3628,7 +3643,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3628
3643
  Label: 'No',
3629
3644
  Value: true,
3630
3645
  onChange: function onChange() {
3631
- return _this18.setState({
3646
+ return _this17.setState({
3632
3647
  authorDisplay: false
3633
3648
  });
3634
3649
  }
@@ -3642,7 +3657,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3642
3657
  Label: 'Yes, use my name',
3643
3658
  Value: true,
3644
3659
  onChange: function onChange() {
3645
- return _this18.setState({
3660
+ return _this17.setState({
3646
3661
  authorDisplay: 'name'
3647
3662
  });
3648
3663
  }
@@ -3656,7 +3671,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3656
3671
  Label: 'Yes, use the following:',
3657
3672
  Value: true,
3658
3673
  onChange: function onChange() {
3659
- return _this18.setState({
3674
+ return _this17.setState({
3660
3675
  authorDisplay: 'custom'
3661
3676
  });
3662
3677
  }
@@ -3670,14 +3685,14 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3670
3685
  placeholder: "Enter custom name",
3671
3686
  value: this.state.customAuthorInput,
3672
3687
  onChange: function onChange(e) {
3673
- return _this18.handleChange(e);
3688
+ return _this17.handleChange(e);
3674
3689
  }
3675
3690
  }));
3676
3691
  }
3677
3692
  }, {
3678
3693
  key: "renderVideo",
3679
3694
  value: function renderVideo() {
3680
- var _this19 = this;
3695
+ var _this18 = this;
3681
3696
 
3682
3697
  return /*#__PURE__*/React__default['default'].createElement("div", {
3683
3698
  className: "optionsContent_bottom"
@@ -3689,7 +3704,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3689
3704
  placeholder: "https://...",
3690
3705
  value: this.state.videoInput,
3691
3706
  onChange: function onChange(e) {
3692
- return _this19.handleChange(e);
3707
+ return _this18.handleChange(e);
3693
3708
  },
3694
3709
  alwaysShowLabel: true
3695
3710
  }));
@@ -3758,23 +3773,23 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3758
3773
  }, {
3759
3774
  key: "renderResults",
3760
3775
  value: function renderResults() {
3761
- var _this20 = this;
3776
+ var _this19 = this;
3762
3777
 
3763
3778
  if (this.state.userSearch == null) {
3764
3779
  return null;
3765
3780
  }
3766
3781
 
3767
- var source = ___default['default'].sortBy(___default['default'].filter(this.state.contacts, function (ev) {
3768
- return ev.displayName.toLowerCase().indexOf(_this20.state.userSearch.toLowerCase()) > -1 && ev.category === 'resident';
3782
+ var source = ___default['default'].sortBy(___default['default'].filter(this.props.users, function (ev) {
3783
+ return ev.displayName.toLowerCase().indexOf(_this19.state.userSearch.toLowerCase()) > -1 && ev.category === 'resident';
3769
3784
  }), 'displayName');
3770
3785
 
3771
3786
  return source.map(function (user, index) {
3772
3787
  return /*#__PURE__*/React__default['default'].createElement(UserListing, {
3773
3788
  user: user,
3774
- onClick: _this20.tagUser.bind(_this20, user),
3789
+ onClick: _this19.tagUser.bind(_this19, user),
3775
3790
  key: user.id,
3776
- rightContent: _this20.renderTick(user),
3777
- subContent: _this20.renderSubText(user),
3791
+ rightContent: _this19.renderTick(user),
3792
+ subContent: _this19.renderSubText(user),
3778
3793
  size: 50
3779
3794
  });
3780
3795
  });
@@ -3782,7 +3797,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3782
3797
  }, {
3783
3798
  key: "renderTagged",
3784
3799
  value: function renderTagged() {
3785
- var _this21 = this;
3800
+ var _this20 = this;
3786
3801
 
3787
3802
  if (!this.state.showTagged || this.state.success) {
3788
3803
  return null;
@@ -3804,7 +3819,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3804
3819
  user: user,
3805
3820
  key: user.userId,
3806
3821
  whiteText: true,
3807
- rightContent: _this21.renderRemoveTag(user)
3822
+ rightContent: _this20.renderRemoveTag(user)
3808
3823
  });
3809
3824
  })), /*#__PURE__*/React__default['default'].createElement("div", {
3810
3825
  className: "marginTop-24"
@@ -3820,7 +3835,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3820
3835
  placeholder: "Search for user",
3821
3836
  value: this.state.userSearch,
3822
3837
  onChange: function onChange(e) {
3823
- return _this21.handleSearchChange(e);
3838
+ return _this20.handleSearchChange(e);
3824
3839
  }
3825
3840
  }), this.renderResults()))));
3826
3841
  }
@@ -3848,7 +3863,8 @@ var mapStateToProps$4 = function mapStateToProps(state) {
3848
3863
  return {
3849
3864
  auth: auth,
3850
3865
  users: allUsers,
3851
- forceNewsAuthorName: auth && auth.siteSettings && auth.siteSettings[values.optionForceNewsAuthorName]
3866
+ forceNewsAuthorName: getSiteSettingFromState(state, values.optionForceNewsAuthorName),
3867
+ commentVisibilityLimited: getSiteSettingFromState(state, 'CommentVisibilityLimited')
3852
3868
  };
3853
3869
  };
3854
3870
 
@@ -3894,11 +3910,21 @@ var PublishAvailableNews = /*#__PURE__*/function (_Component) {
3894
3910
  publishDate: moment__default['default']().format('YYYY-MM-DD'),
3895
3911
  publishDateText: moment__default['default']().format('DD/MM/YYYY'),
3896
3912
  publishTime: '12:00pm',
3897
- isAudienceValid: true
3913
+ isAudienceValid: true,
3914
+ audienceType: '',
3915
+ audienceTypeSelection: []
3898
3916
  });
3899
3917
 
3900
3918
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "state", _objectSpread$7({}, _this.initialState));
3901
3919
 
3920
+ _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onChangeAudience", function (audienceType, audienceTypeSelection, isAudienceValid) {
3921
+ _this.setState({
3922
+ audienceType: audienceType,
3923
+ audienceTypeSelection: audienceTypeSelection,
3924
+ isAudienceValid: isAudienceValid
3925
+ });
3926
+ });
3927
+
3902
3928
  return _this;
3903
3929
  }
3904
3930
 
@@ -3988,13 +4014,6 @@ var PublishAvailableNews = /*#__PURE__*/function (_Component) {
3988
4014
 
3989
4015
  return moment__default['default'].utc(this.state.update.Timestamp).local().format('D MMM');
3990
4016
  }
3991
- }, {
3992
- key: "updateAudienceValidation",
3993
- value: function updateAudienceValidation(valid) {
3994
- this.setState({
3995
- isAudienceValid: valid
3996
- });
3997
- }
3998
4017
  }, {
3999
4018
  key: "validatePublishTime",
4000
4019
  value: function validatePublishTime() {
@@ -4026,8 +4045,6 @@ var PublishAvailableNews = /*#__PURE__*/function (_Component) {
4026
4045
  value: function handleSubmit() {
4027
4046
  var _this3 = this;
4028
4047
 
4029
- this.audienceSelector.getWrappedInstance().onSubmit();
4030
-
4031
4048
  if (!this.validateForm()) {
4032
4049
  return;
4033
4050
  }
@@ -4042,8 +4059,8 @@ var PublishAvailableNews = /*#__PURE__*/function (_Component) {
4042
4059
  Timestamp: timeToUse.toISOString(),
4043
4060
  UnixTimestamp: timeToUse.valueOf(),
4044
4061
  Site: this.props.auth.site,
4045
- AudienceType: this.audienceSelector.getWrappedInstance().getAudienceType(),
4046
- AudienceTypeSelection: this.audienceSelector.getWrappedInstance().getAudienceTypeSelection(),
4062
+ AudienceType: this.state.audienceType,
4063
+ AudienceTypeSelection: this.state.audienceTypeSelection,
4047
4064
  IsFeatured: this.state.isFeatured,
4048
4065
  FeaturedExpiry: this.state.isFeatured ? getUTCFromTimeDatePickers(this.state.featuredExpiryDate, '23:59').valueOf() : undefined,
4049
4066
  AllowComments: this.state.allowComments
@@ -4209,16 +4226,14 @@ var PublishAvailableNews = /*#__PURE__*/function (_Component) {
4209
4226
  }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("div", {
4210
4227
  className: "padding-60 paddingVertical-40 bottomDivideBorder"
4211
4228
  }, /*#__PURE__*/React__default['default'].createElement(AudienceSelector, {
4212
- updateValidation: this.updateAudienceValidation.bind(this),
4213
- ref: function ref(a) {
4214
- _this5.audienceSelector = a;
4215
- },
4229
+ onChange: this.onChangeAudience,
4216
4230
  auth: this.props.auth,
4217
4231
  custom: true,
4218
- maxWidth: 300,
4232
+ audienceType: this.state.audienceType,
4233
+ audienceTypeSelection: this.state.audienceTypeSelection,
4219
4234
  disallowSingleUsers: true,
4220
4235
  disallowUserType: true,
4221
- customSite: this.props.auth.site === 'hq' ? 'All sites' : false
4236
+ maxWidth: 300
4222
4237
  })), /*#__PURE__*/React__default['default'].createElement("div", {
4223
4238
  className: "padding-60 paddingVertical-40 bottomDivideBorder"
4224
4239
  }, /*#__PURE__*/React__default['default'].createElement("p", {