@plusscommunities/pluss-newsletter-web-sharing 1.2.16 → 1.3.6

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
@@ -545,6 +545,14 @@ var newsletterActions = {
545
545
  method: 'GET',
546
546
  url: getUrl(values.serviceKey, 'content/published', query)
547
547
  });
548
+ },
549
+ getOpenGraph: function getOpenGraph(url) {
550
+ return authedFunction({
551
+ method: 'GET',
552
+ url: getUrl(values.serviceKey, "get2/opengraph", {
553
+ url: encodeURIComponent(url)
554
+ })
555
+ });
548
556
  }
549
557
  };
550
558
 
@@ -942,7 +950,9 @@ var ListNewsletter$1 = /*#__PURE__*/function (_Component) {
942
950
  style: {
943
951
  minWidth: '100%'
944
952
  }
945
- }, this.renderContent());
953
+ }, this.renderContent(), /*#__PURE__*/React__default['default'].createElement("div", {
954
+ className: "hub_tidioPadding"
955
+ }));
946
956
  }
947
957
  }]);
948
958
 
@@ -964,6 +974,7 @@ var ListNewsletterEntries = reactRedux.connect(mapStateToProps$9, {
964
974
 
965
975
  var Helper = PlussCore__namespace.Helper;
966
976
  var isEmail = Helper.isEmail;
977
+ var isUrl = Helper.isUrl;
967
978
  var getPluralS = Helper.getPluralS;
968
979
  var getUrlParams = Helper.getUrlParams;
969
980
  var safeReadParams = Helper.safeReadParams;
@@ -1313,7 +1324,9 @@ var NewsletterSubmissions = /*#__PURE__*/function (_Component) {
1313
1324
  onClick: function onClick() {
1314
1325
  _this7.sortByCol('SubmittedBy');
1315
1326
  }
1316
- }, "Submitted By", this.renderSort('SubmittedBy')))), /*#__PURE__*/React__default['default'].createElement("tbody", null, this.renderNewsletter())));
1327
+ }, "Submitted By", this.renderSort('SubmittedBy')))), /*#__PURE__*/React__default['default'].createElement("tbody", null, this.renderNewsletter())), /*#__PURE__*/React__default['default'].createElement("div", {
1328
+ className: "hub_tidioPadding"
1329
+ }));
1317
1330
  }
1318
1331
  }]);
1319
1332
 
@@ -2318,13 +2331,68 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2318
2331
  links: [],
2319
2332
  authorDisplay: false,
2320
2333
  customAuthorInput: '',
2321
- isAudienceValid: true,
2322
2334
  textFormatOpen: false,
2323
- selectedOption: 'audience'
2335
+ selectedOption: 'audience',
2336
+ isAudienceValid: true,
2337
+ audienceType: '',
2338
+ audienceTypeSelection: []
2324
2339
  });
2325
2340
 
2326
2341
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "state", _objectSpread$8({}, _this.initialState));
2327
2342
 
2343
+ _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "validateLoadFromWebsite", function () {
2344
+ return isUrl(_this.state.loadFromWebsiteInput) && !_this.state.loadingFromWebsite;
2345
+ });
2346
+
2347
+ _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "handleLoadFromWebsite", function () {
2348
+ if (!_this.validateLoadFromWebsite()) {
2349
+ return;
2350
+ }
2351
+
2352
+ _this.setState({
2353
+ loadingFromWebsite: true
2354
+ });
2355
+
2356
+ newsletterActions.getOpenGraph(_this.state.loadFromWebsiteInput).then(function (res) {
2357
+ console.log(res.data);
2358
+ var newState = {
2359
+ loadingFromWebsite: false,
2360
+ loadFromWebsiteInput: '',
2361
+ titleInput: res.data.hybridGraph.title,
2362
+ textInput: res.data.hybridGraph.description
2363
+ };
2364
+
2365
+ if (res.data.hybridGraph.video) {
2366
+ newState.videoInput = res.data.hybridGraph.video;
2367
+ newState.selectedOption = 'video';
2368
+ } else {
2369
+ newState.links = [{
2370
+ Text: "Read more ".concat(res.data.hybridGraph.site_name ? "on ".concat(res.data.hybridGraph.site_name) : 'here'),
2371
+ Url: _this.state.loadFromWebsiteInput
2372
+ }];
2373
+ newState.selectedOption = 'attachments';
2374
+ }
2375
+
2376
+ _this.setState(newState);
2377
+
2378
+ if (res.data.hybridGraph.image) {
2379
+ _this.checkSetImage({
2380
+ Images: [res.data.hybridGraph.image]
2381
+ });
2382
+ } else if (res.data.hybridGraph.imageSecureUrl) {
2383
+ _this.checkSetImage({
2384
+ Images: [res.data.hybridGraph.imageSecureUrl]
2385
+ });
2386
+ }
2387
+ }).catch(function (err) {
2388
+ window.alert('Could not load website. Try again or try a different URL.');
2389
+
2390
+ _this.setState({
2391
+ loadingFromWebsite: false
2392
+ });
2393
+ });
2394
+ });
2395
+
2328
2396
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "selectOption", function (o) {
2329
2397
  _this.setState({
2330
2398
  selectedOption: o
@@ -2391,10 +2459,6 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2391
2459
  });
2392
2460
 
2393
2461
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "handleSubmit", function () {
2394
- console.log(_this.audienceSelector);
2395
-
2396
- _this.audienceSelector.getWrappedInstance().onSubmit();
2397
-
2398
2462
  if (!_this.validateForm()) {
2399
2463
  _this.setState({
2400
2464
  showWarnings: true
@@ -2425,6 +2489,14 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2425
2489
  });
2426
2490
  });
2427
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
+
2428
2500
  return _this;
2429
2501
  }
2430
2502
 
@@ -2469,13 +2541,6 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2469
2541
  textFormatOpen: isOpen
2470
2542
  });
2471
2543
  }
2472
- }, {
2473
- key: "updateAudienceValidation",
2474
- value: function updateAudienceValidation(valid) {
2475
- this.setState({
2476
- isAudienceValid: valid
2477
- });
2478
- }
2479
2544
  }, {
2480
2545
  key: "getData",
2481
2546
  value: function getData() {
@@ -2498,7 +2563,9 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2498
2563
  allowComments: Boolean(update.AllowComments),
2499
2564
  featuredExpiryDate: moment__default['default'](update.FeaturedExpiry || undefined).format('YYYY-MM-DD'),
2500
2565
  featuredExpiryDateText: moment__default['default'](update.FeaturedExpiry || undefined).format('DD/MM/YYYY'),
2501
- authorDisplay: update.AuthorDisplay
2566
+ authorDisplay: update.AuthorDisplay,
2567
+ audienceType: update.AudienceType || '',
2568
+ audienceTypeSelection: update.AudienceTypeSelection || []
2502
2569
  };
2503
2570
 
2504
2571
  if (update.AuthorDisplay === 'custom') {
@@ -2823,8 +2890,8 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
2823
2890
  Text: this.state.textInput,
2824
2891
  Thumbnail: '',
2825
2892
  Video: this.state.videoInput,
2826
- AudienceType: this.audienceSelector.getWrappedInstance().getAudienceType(),
2827
- AudienceTypeSelection: this.audienceSelector.getWrappedInstance().getAudienceTypeSelection(),
2893
+ AudienceType: this.state.audienceType,
2894
+ AudienceTypeSelection: this.state.audienceTypeSelection,
2828
2895
  Site: this.props.auth.site,
2829
2896
  Tagged: this.state.tagged,
2830
2897
  HasSponsor: this.state.HasSponsor,
@@ -3056,19 +3123,20 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3056
3123
  }, {
3057
3124
  key: "renderAudience",
3058
3125
  value: function renderAudience() {
3059
- var _this9 = this;
3060
-
3126
+ var auth = this.props.auth;
3127
+ var _this$state = this.state,
3128
+ audienceType = _this$state.audienceType,
3129
+ audienceTypeSelection = _this$state.audienceTypeSelection;
3061
3130
  return /*#__PURE__*/React__default['default'].createElement("div", {
3062
3131
  className: "optionsContent_bottom"
3063
3132
  }, /*#__PURE__*/React__default['default'].createElement(AudienceSelector, {
3064
- updateValidation: this.updateAudienceValidation.bind(this),
3065
- ref: function ref(a) {
3066
- _this9.audienceSelector = a;
3067
- },
3068
- auth: this.props.auth,
3133
+ onChange: this.onChangeAudience,
3134
+ auth: auth,
3135
+ custom: true,
3136
+ audienceType: audienceType,
3137
+ audienceTypeSelection: audienceTypeSelection,
3069
3138
  disallowSingleUsers: true,
3070
- disallowUserType: this.props.auth.site === 'hq',
3071
- customSite: this.props.auth.site === 'hq' ? 'All sites' : false
3139
+ disallowUserType: true
3072
3140
  }));
3073
3141
  }
3074
3142
  }, {
@@ -3166,7 +3234,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3166
3234
  }, {
3167
3235
  key: "renderForm",
3168
3236
  value: function renderForm() {
3169
- var _this10 = this;
3237
+ var _this9 = this;
3170
3238
 
3171
3239
  if (this.state.success) {
3172
3240
  return null;
@@ -3177,42 +3245,69 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3177
3245
  }, /*#__PURE__*/React__default['default'].createElement(Text, {
3178
3246
  type: "formTitleLarge",
3179
3247
  className: "marginBottom-24"
3180
- }, this.state.updateId == null ? 'New' : 'Edit', " Post"), /*#__PURE__*/React__default['default'].createElement(GenericInput, {
3248
+ }, this.state.updateId == null ? 'New' : 'Edit', " Post"), /*#__PURE__*/React__default['default'].createElement("div", {
3249
+ className: "flex"
3250
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
3251
+ className: "flex-1"
3252
+ }, /*#__PURE__*/React__default['default'].createElement(GenericInput, {
3181
3253
  id: "titleInput",
3182
3254
  type: "text",
3183
3255
  label: "Title",
3184
3256
  placeholder: "Insert title here",
3185
3257
  showError: function showError() {
3186
- return _this10.state.showWarnings && _this10.isEmpty(_this10.state.titleInput);
3258
+ return _this9.state.showWarnings && _this9.isEmpty(_this9.state.titleInput);
3187
3259
  },
3188
3260
  isValid: function isValid() {
3189
- return !_this10.isEmpty(_this10.state.titleInput);
3261
+ return !_this9.isEmpty(_this9.state.titleInput);
3190
3262
  },
3191
3263
  value: this.state.titleInput,
3192
3264
  onChange: function onChange(e) {
3193
- return _this10.handleChange(e);
3265
+ return _this9.handleChange(e);
3194
3266
  },
3195
3267
  isRequired: true,
3196
3268
  alwaysShowLabel: true
3197
- }), /*#__PURE__*/React__default['default'].createElement(GenericInput, {
3269
+ })), /*#__PURE__*/React__default['default'].createElement(Text, {
3270
+ type: "formLabel",
3271
+ className: "padding-20"
3272
+ }, "or"), /*#__PURE__*/React__default['default'].createElement("div", {
3273
+ className: "flex-1 flex flex-reverse flex-center"
3274
+ }, /*#__PURE__*/React__default['default'].createElement(Button, {
3275
+ inline: true,
3276
+ buttonType: "primary",
3277
+ className: "marginLeft-20",
3278
+ onClick: this.handleLoadFromWebsite,
3279
+ isActive: this.validateLoadFromWebsite()
3280
+ }, "Load"), /*#__PURE__*/React__default['default'].createElement("div", {
3281
+ className: "flex-1"
3282
+ }, /*#__PURE__*/React__default['default'].createElement(GenericInput, {
3283
+ id: "loadFromWebsiteInput",
3284
+ type: "text",
3285
+ label: "Load from website",
3286
+ placeholder: "https://",
3287
+ value: this.state.loadFromWebsiteInput,
3288
+ onChange: function onChange(e) {
3289
+ return _this9.handleChange(e);
3290
+ },
3291
+ alwaysShowLabel: true
3292
+ })))), /*#__PURE__*/React__default['default'].createElement(GenericInput, {
3198
3293
  id: "textInput",
3199
3294
  type: "textarea",
3200
3295
  label: "Text",
3201
3296
  placeholder: "Enter story here",
3202
3297
  value: this.state.textInput,
3203
3298
  onChange: function onChange(e) {
3204
- return _this10.handleChange(e);
3299
+ return _this9.handleChange(e);
3205
3300
  },
3206
3301
  isRequired: true,
3207
3302
  showError: function showError() {
3208
- return _this10.state.showWarnings && _this10.isEmpty(_this10.state.textInput);
3303
+ return _this9.state.showWarnings && _this9.isEmpty(_this9.state.textInput);
3209
3304
  },
3210
3305
  isValid: function isValid() {
3211
- return !_this10.isEmpty(_this10.state.textInput);
3306
+ return !_this9.isEmpty(_this9.state.textInput);
3212
3307
  },
3213
3308
  help: /*#__PURE__*/React__default['default'].createElement("a", {
3214
3309
  onClick: function onClick() {
3215
- _this10.toggleTextFormat(true);
3310
+ _this9.toggleTextFormat(true);
3216
3311
  },
3217
3312
  className: "pointer"
3218
3313
  }, "Text formatting"),
@@ -3235,7 +3330,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3235
3330
  }, {
3236
3331
  key: "renderAddAttachment",
3237
3332
  value: function renderAddAttachment() {
3238
- var _this11 = this;
3333
+ var _this10 = this;
3239
3334
 
3240
3335
  if (this.inputsDisabled()) {
3241
3336
  return null;
@@ -3243,7 +3338,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3243
3338
 
3244
3339
  return /*#__PURE__*/React__default['default'].createElement(FileInput, {
3245
3340
  ref: function ref(_ref) {
3246
- _this11.pdFileInput = _ref;
3341
+ _this10.pdFileInput = _ref;
3247
3342
  },
3248
3343
  style: {
3249
3344
  height: 120,
@@ -3257,7 +3352,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3257
3352
  }, {
3258
3353
  key: "renderAttachments",
3259
3354
  value: function renderAttachments() {
3260
- var _this12 = this;
3355
+ var _this11 = this;
3261
3356
 
3262
3357
  return /*#__PURE__*/React__default['default'].createElement("div", {
3263
3358
  className: "optionsContent_bottom"
@@ -3278,9 +3373,9 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3278
3373
  placeholder: "Enter Title",
3279
3374
  value: link.Text,
3280
3375
  onChange: function onChange(e) {
3281
- return _this12.handleLinkChange(index, 'Text', e.target.value);
3376
+ return _this11.handleLinkChange(index, 'Text', e.target.value);
3282
3377
  },
3283
- disabled: _this12.inputsDisabled(),
3378
+ disabled: _this11.inputsDisabled(),
3284
3379
  alwaysShowLabel: true,
3285
3380
  style: {
3286
3381
  margin: 0,
@@ -3294,9 +3389,9 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3294
3389
  placeholder: "https://",
3295
3390
  value: link.Url,
3296
3391
  onChange: function onChange(e) {
3297
- return _this12.handleLinkChange(index, 'Url', e.target.value);
3392
+ return _this11.handleLinkChange(index, 'Url', e.target.value);
3298
3393
  },
3299
- disabled: _this12.inputsDisabled(),
3394
+ disabled: _this11.inputsDisabled(),
3300
3395
  alwaysShowLabel: true,
3301
3396
  style: {
3302
3397
  margin: 0,
@@ -3306,7 +3401,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3306
3401
  className: "removeoption pdfAttachmentInput_remove",
3307
3402
  icon: "remove-circle",
3308
3403
  onClick: function onClick() {
3309
- _this12.removeLink(index);
3404
+ _this11.removeLink(index);
3310
3405
  }
3311
3406
  }));
3312
3407
  }), /*#__PURE__*/React__default['default'].createElement("div", {
@@ -3344,9 +3439,9 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3344
3439
  placeholder: "Title",
3345
3440
  value: attachment.Title,
3346
3441
  onChange: function onChange(e) {
3347
- return _this12.handleAttachmentChange(index, 'Title', e);
3442
+ return _this11.handleAttachmentChange(index, 'Title', e);
3348
3443
  },
3349
- disabled: _this12.inputsDisabled(),
3444
+ disabled: _this11.inputsDisabled(),
3350
3445
  alwaysShowLabel: true,
3351
3446
  style: {
3352
3447
  margin: 0,
@@ -3356,7 +3451,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3356
3451
  className: "removeoption pdfAttachmentInput_remove",
3357
3452
  icon: "remove-circle",
3358
3453
  onClick: function onClick() {
3359
- _this12.removeAttachment(index);
3454
+ _this11.removeAttachment(index);
3360
3455
  }
3361
3456
  }));
3362
3457
  }), this.renderAddAttachment()));
@@ -3364,7 +3459,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3364
3459
  }, {
3365
3460
  key: "renderFeatured",
3366
3461
  value: function renderFeatured() {
3367
- var _this13 = this;
3462
+ var _this12 = this;
3368
3463
 
3369
3464
  return /*#__PURE__*/React__default['default'].createElement("div", {
3370
3465
  className: "optionsContent_bottom"
@@ -3375,7 +3470,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3375
3470
  Label: 'Yes',
3376
3471
  Value: true,
3377
3472
  onChange: function onChange() {
3378
- return _this13.setState({
3473
+ return _this12.setState({
3379
3474
  isFeatured: true
3380
3475
  });
3381
3476
  }
@@ -3383,7 +3478,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3383
3478
  Label: 'No',
3384
3479
  Value: false,
3385
3480
  onChange: function onChange() {
3386
- return _this13.setState({
3481
+ return _this12.setState({
3387
3482
  isFeatured: false
3388
3483
  });
3389
3484
  }
@@ -3401,11 +3496,11 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3401
3496
  alwaysShowLabel: true,
3402
3497
  value: this.state.featuredExpiryDateText,
3403
3498
  onChange: function onChange(e) {
3404
- return _this13.handleExpiryDateTextChange(e.target.value);
3499
+ return _this12.handleExpiryDateTextChange(e.target.value);
3405
3500
  },
3406
3501
  onClick: function onClick(e) {
3407
- return _this13.setState({
3408
- showExpiryDate: !_this13.state.showExpiryDate
3502
+ return _this12.setState({
3503
+ showExpiryDate: !_this12.state.showExpiryDate
3409
3504
  });
3410
3505
  }
3411
3506
  }), this.state.showExpiryDate && /*#__PURE__*/React__default['default'].createElement(DatePicker, {
@@ -3416,7 +3511,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3416
3511
  }, {
3417
3512
  key: "renderComments",
3418
3513
  value: function renderComments() {
3419
- var _this14 = this;
3514
+ var _this13 = this;
3420
3515
 
3421
3516
  if (___default['default'].includes(this.props.auth.hidden, values.optionNewsComments)) return null;
3422
3517
  return /*#__PURE__*/React__default['default'].createElement(CheckBox, {
@@ -3424,8 +3519,8 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3424
3519
  label: "Allow comments",
3425
3520
  isActive: this.state.allowComments,
3426
3521
  onChange: function onChange() {
3427
- _this14.setState({
3428
- allowComments: !_this14.state.allowComments
3522
+ _this13.setState({
3523
+ allowComments: !_this13.state.allowComments
3429
3524
  });
3430
3525
  }
3431
3526
  });
@@ -3433,7 +3528,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3433
3528
  }, {
3434
3529
  key: "renderTags",
3435
3530
  value: function renderTags() {
3436
- var _this15 = this;
3531
+ var _this14 = this;
3437
3532
 
3438
3533
  if (!newsHaveTags) return null;
3439
3534
  return /*#__PURE__*/React__default['default'].createElement("div", {
@@ -3446,7 +3541,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3446
3541
  placeholder: "Humour, Social, etc.",
3447
3542
  value: this.state.tagsInput,
3448
3543
  onChange: function onChange(e) {
3449
- return _this15.handleChange(e);
3544
+ return _this14.handleChange(e);
3450
3545
  },
3451
3546
  alwaysShowLabel: true
3452
3547
  }));
@@ -3454,7 +3549,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3454
3549
  }, {
3455
3550
  key: "renderNotify",
3456
3551
  value: function renderNotify() {
3457
- var _this16 = this;
3552
+ var _this15 = this;
3458
3553
 
3459
3554
  if (this.state.eventId || ___default['default'].includes(this.props.auth.hidden, 'eventNotifications')) {
3460
3555
  return null;
@@ -3469,7 +3564,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3469
3564
  Label: 'Yes',
3470
3565
  Value: true,
3471
3566
  onChange: function onChange() {
3472
- return _this16.setState({
3567
+ return _this15.setState({
3473
3568
  shouldNotify: true
3474
3569
  });
3475
3570
  }
@@ -3477,7 +3572,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3477
3572
  Label: 'No',
3478
3573
  Value: false,
3479
3574
  onChange: function onChange() {
3480
- return _this16.setState({
3575
+ return _this15.setState({
3481
3576
  shouldNotify: false
3482
3577
  });
3483
3578
  }
@@ -3492,7 +3587,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3492
3587
  }, {
3493
3588
  key: "renderTvMode",
3494
3589
  value: function renderTvMode() {
3495
- var _this17 = this;
3590
+ var _this16 = this;
3496
3591
 
3497
3592
  return /*#__PURE__*/React__default['default'].createElement("div", {
3498
3593
  className: "marginTop-16"
@@ -3503,7 +3598,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3503
3598
  Label: 'Yes',
3504
3599
  Value: true,
3505
3600
  onChange: function onChange() {
3506
- return _this17.setState({
3601
+ return _this16.setState({
3507
3602
  isTvMode: true
3508
3603
  });
3509
3604
  }
@@ -3511,7 +3606,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3511
3606
  Label: 'No',
3512
3607
  Value: false,
3513
3608
  onChange: function onChange() {
3514
- return _this17.setState({
3609
+ return _this16.setState({
3515
3610
  isTvMode: false
3516
3611
  });
3517
3612
  }
@@ -3523,7 +3618,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3523
3618
  }, {
3524
3619
  key: "renderAuthor",
3525
3620
  value: function renderAuthor() {
3526
- var _this18 = this;
3621
+ var _this17 = this;
3527
3622
 
3528
3623
  if (this.props.forceNewsAuthorName) return null;
3529
3624
  return /*#__PURE__*/React__default['default'].createElement("div", {
@@ -3535,7 +3630,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3535
3630
  Label: 'No',
3536
3631
  Value: true,
3537
3632
  onChange: function onChange() {
3538
- return _this18.setState({
3633
+ return _this17.setState({
3539
3634
  authorDisplay: false
3540
3635
  });
3541
3636
  }
@@ -3549,7 +3644,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3549
3644
  Label: 'Yes, use my name',
3550
3645
  Value: true,
3551
3646
  onChange: function onChange() {
3552
- return _this18.setState({
3647
+ return _this17.setState({
3553
3648
  authorDisplay: 'name'
3554
3649
  });
3555
3650
  }
@@ -3563,7 +3658,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3563
3658
  Label: 'Yes, use the following:',
3564
3659
  Value: true,
3565
3660
  onChange: function onChange() {
3566
- return _this18.setState({
3661
+ return _this17.setState({
3567
3662
  authorDisplay: 'custom'
3568
3663
  });
3569
3664
  }
@@ -3577,14 +3672,14 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3577
3672
  placeholder: "Enter custom name",
3578
3673
  value: this.state.customAuthorInput,
3579
3674
  onChange: function onChange(e) {
3580
- return _this18.handleChange(e);
3675
+ return _this17.handleChange(e);
3581
3676
  }
3582
3677
  }));
3583
3678
  }
3584
3679
  }, {
3585
3680
  key: "renderVideo",
3586
3681
  value: function renderVideo() {
3587
- var _this19 = this;
3682
+ var _this18 = this;
3588
3683
 
3589
3684
  return /*#__PURE__*/React__default['default'].createElement("div", {
3590
3685
  className: "optionsContent_bottom"
@@ -3596,7 +3691,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3596
3691
  placeholder: "https://...",
3597
3692
  value: this.state.videoInput,
3598
3693
  onChange: function onChange(e) {
3599
- return _this19.handleChange(e);
3694
+ return _this18.handleChange(e);
3600
3695
  },
3601
3696
  alwaysShowLabel: true
3602
3697
  }));
@@ -3665,23 +3760,23 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3665
3760
  }, {
3666
3761
  key: "renderResults",
3667
3762
  value: function renderResults() {
3668
- var _this20 = this;
3763
+ var _this19 = this;
3669
3764
 
3670
3765
  if (this.state.userSearch == null) {
3671
3766
  return null;
3672
3767
  }
3673
3768
 
3674
3769
  var source = ___default['default'].sortBy(___default['default'].filter(this.state.contacts, function (ev) {
3675
- return ev.displayName.toLowerCase().indexOf(_this20.state.userSearch.toLowerCase()) > -1 && ev.category === 'resident';
3770
+ return ev.displayName.toLowerCase().indexOf(_this19.state.userSearch.toLowerCase()) > -1 && ev.category === 'resident';
3676
3771
  }), 'displayName');
3677
3772
 
3678
3773
  return source.map(function (user, index) {
3679
3774
  return /*#__PURE__*/React__default['default'].createElement(UserListing, {
3680
3775
  user: user,
3681
- onClick: _this20.tagUser.bind(_this20, user),
3776
+ onClick: _this19.tagUser.bind(_this19, user),
3682
3777
  key: user.id,
3683
- rightContent: _this20.renderTick(user),
3684
- subContent: _this20.renderSubText(user),
3778
+ rightContent: _this19.renderTick(user),
3779
+ subContent: _this19.renderSubText(user),
3685
3780
  size: 50
3686
3781
  });
3687
3782
  });
@@ -3689,7 +3784,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3689
3784
  }, {
3690
3785
  key: "renderTagged",
3691
3786
  value: function renderTagged() {
3692
- var _this21 = this;
3787
+ var _this20 = this;
3693
3788
 
3694
3789
  if (!this.state.showTagged || this.state.success) {
3695
3790
  return null;
@@ -3711,7 +3806,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3711
3806
  user: user,
3712
3807
  key: user.userId,
3713
3808
  whiteText: true,
3714
- rightContent: _this21.renderRemoveTag(user)
3809
+ rightContent: _this20.renderRemoveTag(user)
3715
3810
  });
3716
3811
  })), /*#__PURE__*/React__default['default'].createElement("div", {
3717
3812
  className: "marginTop-24"
@@ -3727,7 +3822,7 @@ var AddNewsletterEntry = /*#__PURE__*/function (_Component) {
3727
3822
  placeholder: "Search for user",
3728
3823
  value: this.state.userSearch,
3729
3824
  onChange: function onChange(e) {
3730
- return _this21.handleSearchChange(e);
3825
+ return _this20.handleSearchChange(e);
3731
3826
  }
3732
3827
  }), this.renderResults()))));
3733
3828
  }
@@ -3801,11 +3896,21 @@ var PublishAvailableNews = /*#__PURE__*/function (_Component) {
3801
3896
  publishDate: moment__default['default']().format('YYYY-MM-DD'),
3802
3897
  publishDateText: moment__default['default']().format('DD/MM/YYYY'),
3803
3898
  publishTime: '12:00pm',
3804
- isAudienceValid: true
3899
+ isAudienceValid: true,
3900
+ audienceType: '',
3901
+ audienceTypeSelection: []
3805
3902
  });
3806
3903
 
3807
3904
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "state", _objectSpread$7({}, _this.initialState));
3808
3905
 
3906
+ _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onChangeAudience", function (audienceType, audienceTypeSelection, isAudienceValid) {
3907
+ _this.setState({
3908
+ audienceType: audienceType,
3909
+ audienceTypeSelection: audienceTypeSelection,
3910
+ isAudienceValid: isAudienceValid
3911
+ });
3912
+ });
3913
+
3809
3914
  return _this;
3810
3915
  }
3811
3916
 
@@ -3895,13 +4000,6 @@ var PublishAvailableNews = /*#__PURE__*/function (_Component) {
3895
4000
 
3896
4001
  return moment__default['default'].utc(this.state.update.Timestamp).local().format('D MMM');
3897
4002
  }
3898
- }, {
3899
- key: "updateAudienceValidation",
3900
- value: function updateAudienceValidation(valid) {
3901
- this.setState({
3902
- isAudienceValid: valid
3903
- });
3904
- }
3905
4003
  }, {
3906
4004
  key: "validatePublishTime",
3907
4005
  value: function validatePublishTime() {
@@ -3933,8 +4031,6 @@ var PublishAvailableNews = /*#__PURE__*/function (_Component) {
3933
4031
  value: function handleSubmit() {
3934
4032
  var _this3 = this;
3935
4033
 
3936
- this.audienceSelector.getWrappedInstance().onSubmit();
3937
-
3938
4034
  if (!this.validateForm()) {
3939
4035
  return;
3940
4036
  }
@@ -3949,8 +4045,8 @@ var PublishAvailableNews = /*#__PURE__*/function (_Component) {
3949
4045
  Timestamp: timeToUse.toISOString(),
3950
4046
  UnixTimestamp: timeToUse.valueOf(),
3951
4047
  Site: this.props.auth.site,
3952
- AudienceType: this.audienceSelector.getWrappedInstance().getAudienceType(),
3953
- AudienceTypeSelection: this.audienceSelector.getWrappedInstance().getAudienceTypeSelection(),
4048
+ AudienceType: this.state.audienceType,
4049
+ AudienceTypeSelection: this.state.audienceTypeSelection,
3954
4050
  IsFeatured: this.state.isFeatured,
3955
4051
  FeaturedExpiry: this.state.isFeatured ? getUTCFromTimeDatePickers(this.state.featuredExpiryDate, '23:59').valueOf() : undefined,
3956
4052
  AllowComments: this.state.allowComments
@@ -4116,14 +4212,14 @@ var PublishAvailableNews = /*#__PURE__*/function (_Component) {
4116
4212
  }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("div", {
4117
4213
  className: "padding-60 paddingVertical-40 bottomDivideBorder"
4118
4214
  }, /*#__PURE__*/React__default['default'].createElement(AudienceSelector, {
4119
- updateValidation: this.updateAudienceValidation.bind(this),
4120
- ref: function ref(a) {
4121
- _this5.audienceSelector = a;
4122
- },
4215
+ onChange: this.onChangeAudience,
4123
4216
  auth: this.props.auth,
4217
+ custom: true,
4218
+ audienceType: this.state.audienceType,
4219
+ audienceTypeSelection: this.state.audienceTypeSelection,
4124
4220
  disallowSingleUsers: true,
4125
- disallowUserType: this.props.auth.site === 'hq',
4126
- customSite: this.props.auth.site === 'hq' ? 'All sites' : false
4221
+ disallowUserType: true,
4222
+ maxWidth: 300
4127
4223
  })), /*#__PURE__*/React__default['default'].createElement("div", {
4128
4224
  className: "padding-60 paddingVertical-40 bottomDivideBorder"
4129
4225
  }, /*#__PURE__*/React__default['default'].createElement("p", {