@plusscommunities/pluss-maintenance-web 1.1.14 → 1.1.15

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
@@ -178,9 +178,9 @@ var JOBS_REMOVED = 'JOBS_REMOVED';
178
178
  var JOBS_TYPES_LOADED = 'JOBS_TYPES_LOADED';
179
179
  var JOBS_LOADING = 'JOBS_LOADING';
180
180
 
181
- function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
181
+ function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
182
182
 
183
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
183
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
184
184
  var Helper$5 = PlussCore__namespace.Helper,
185
185
  Session$7 = PlussCore__namespace.Session;
186
186
  var maintenanceActions = {
@@ -269,7 +269,7 @@ var maintenanceActions = {
269
269
  return Session$7.authedFunction({
270
270
  method: 'POST',
271
271
  url: Helper$5.getUrl('maintenance', 'sendMaintenance'),
272
- data: _objectSpread$5({}, job)
272
+ data: _objectSpread$6({}, job)
273
273
  });
274
274
  },
275
275
  editJob: function editJob(job, site) {
@@ -446,6 +446,7 @@ var reactionActions = {
446
446
 
447
447
  var Apis$1 = PlussCore__namespace.Apis;
448
448
  var analyticsActions = Apis$1.analyticsActions;
449
+ var userActions = Apis$1.userActions;
449
450
 
450
451
  var Helper$3 = PlussCore__namespace.Helper;
451
452
  var jobsUpdate = function jobsUpdate(site, isdashboard) {
@@ -547,9 +548,9 @@ var StatusTypes = {
547
548
  Completed: Completed
548
549
  };
549
550
 
550
- function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
551
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
551
552
 
552
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
553
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
553
554
 
554
555
  function _createSuper$a(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$a(); 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); }; }
555
556
 
@@ -939,7 +940,7 @@ var JobList = /*#__PURE__*/function (_Component) {
939
940
 
940
941
  notes += note.Note;
941
942
  });
942
- return _objectSpread$4(_objectSpread$4({}, r), {}, {
943
+ return _objectSpread$5(_objectSpread$5({}, r), {}, {
943
944
  notes: notes,
944
945
  progressTime: progressTime,
945
946
  completedTime: completedTime,
@@ -2379,9 +2380,9 @@ var RequestsHub$1 = reactRedux.connect(mapStateToProps$3, {
2379
2380
  jobsLoaded: jobsLoaded
2380
2381
  })(reactRouter.withRouter(RequestsHub));
2381
2382
 
2382
- function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2383
+ function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2383
2384
 
2384
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2385
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2385
2386
 
2386
2387
  function _createSuper$7(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$7(); 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); }; }
2387
2388
 
@@ -2786,7 +2787,7 @@ var Job = /*#__PURE__*/function (_Component) {
2786
2787
  return note.Id !== n.Id;
2787
2788
  });
2788
2789
 
2789
- var newJob = _objectSpread$3({}, _this.state.job);
2790
+ var newJob = _objectSpread$4({}, _this.state.job);
2790
2791
 
2791
2792
  newJob.Notes = newNotes;
2792
2793
 
@@ -2923,7 +2924,7 @@ var Job = /*#__PURE__*/function (_Component) {
2923
2924
  switch (_context8.prev = _context8.next) {
2924
2925
  case 0:
2925
2926
  _this.setState({
2926
- job: _objectSpread$3(_objectSpread$3({}, _this.state.job), {}, {
2927
+ job: _objectSpread$4(_objectSpread$4({}, _this.state.job), {}, {
2927
2928
  status: status
2928
2929
  }),
2929
2930
  statusChangerOpen: false
@@ -3133,6 +3134,32 @@ var Job = /*#__PURE__*/function (_Component) {
3133
3134
  }
3134
3135
  }))));
3135
3136
  }
3137
+ }, {
3138
+ key: "renderImages",
3139
+ value: function renderImages() {
3140
+ if (___default['default'].isEmpty(this.state.job.image) && ___default['default'].isEmpty(this.state.job.images)) return null;
3141
+ var imagesToUse = ___default['default'].isEmpty(this.state.job.image) ? this.state.job.images : [this.state.job.image];
3142
+ return /*#__PURE__*/React__default['default'].createElement("div", {
3143
+ className: "padding-60 paddingVertical-40 bottomDivideBorder"
3144
+ }, /*#__PURE__*/React__default['default'].createElement(Components$2.Text, {
3145
+ type: "formTitleSmall",
3146
+ className: "marginBottom-16"
3147
+ }, "Images"), /*#__PURE__*/React__default['default'].createElement("div", {
3148
+ className: "imageGrid"
3149
+ }, imagesToUse.map(function (image, i) {
3150
+ return /*#__PURE__*/React__default['default'].createElement("a", {
3151
+ href: image,
3152
+ target: "_blank",
3153
+ rel: "noopener noreferrer",
3154
+ key: i
3155
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
3156
+ className: "imageGrid_image",
3157
+ style: {
3158
+ backgroundImage: "url('".concat(Helper$1.get1400(image), "')")
3159
+ }
3160
+ }));
3161
+ })));
3162
+ }
3136
3163
  }, {
3137
3164
  key: "renderInner",
3138
3165
  value: function renderInner() {
@@ -3145,8 +3172,11 @@ var Job = /*#__PURE__*/function (_Component) {
3145
3172
  className: "padding-60 paddingVertical-40 bottomDivideBorder relative"
3146
3173
  }, /*#__PURE__*/React__default['default'].createElement(Components$2.Text, {
3147
3174
  type: "formTitleLarge",
3175
+ className: "marginBottom-8"
3176
+ }, this.state.job.title || 'Request'), /*#__PURE__*/React__default['default'].createElement(Components$2.Text, {
3177
+ type: "formTitleMedium",
3148
3178
  className: "marginBottom-24"
3149
- }, this.state.job.title || 'Request'), /*#__PURE__*/React__default['default'].createElement("div", {
3179
+ }, "Job #", this.state.job.jobId), /*#__PURE__*/React__default['default'].createElement("div", {
3150
3180
  className: "marginTop-16"
3151
3181
  }, /*#__PURE__*/React__default['default'].createElement("div", {
3152
3182
  className: 'fieldLabel'
@@ -3199,23 +3229,7 @@ var Job = /*#__PURE__*/function (_Component) {
3199
3229
  className: 'fieldLabel'
3200
3230
  }, "When"), /*#__PURE__*/React__default['default'].createElement("div", {
3201
3231
  className: 'fontRegular fontSize-16 text-dark marginTop-5'
3202
- }, this.state.job.homeText))), (this.state.job.image || this.state.job.images) && /*#__PURE__*/React__default['default'].createElement("div", {
3203
- className: "padding-60 paddingVertical-40 bottomDivideBorder"
3204
- }, /*#__PURE__*/React__default['default'].createElement(Components$2.Text, {
3205
- type: "formTitleSmall",
3206
- className: "marginBottom-16"
3207
- }, "Image"), /*#__PURE__*/React__default['default'].createElement("div", {
3208
- style: {
3209
- marginTop: 16,
3210
- height: 180,
3211
- width: 260,
3212
- borderRadius: 4,
3213
- border: '1px solid #aaa',
3214
- backgroundColor: '#ddd',
3215
- backgroundImage: "url(".concat(this.state.job.thumbnail, ")"),
3216
- backgroundPosition: 'center'
3217
- }
3218
- })), this.renderCommentSection());
3232
+ }, this.state.job.homeText))), this.renderImages(), this.renderCommentSection());
3219
3233
  }
3220
3234
  }, {
3221
3235
  key: "renderHistoryEntry",
@@ -3344,11 +3358,11 @@ var Job = /*#__PURE__*/function (_Component) {
3344
3358
  if (!job || !job.history) return null;
3345
3359
 
3346
3360
  var source = ___default['default'].sortBy([].concat(_toConsumableArray__default['default'](job.history.map(function (e) {
3347
- return _objectSpread$3(_objectSpread$3({}, e), {}, {
3361
+ return _objectSpread$4(_objectSpread$4({}, e), {}, {
3348
3362
  EntryType: e.EntryType || 'status'
3349
3363
  });
3350
3364
  })), _toConsumableArray__default['default']((job.Notes || []).map(function (e) {
3351
- return _objectSpread$3(_objectSpread$3({}, e), {}, {
3365
+ return _objectSpread$4(_objectSpread$4({}, e), {}, {
3352
3366
  timestamp: e.Timestamp,
3353
3367
  EntryType: 'note'
3354
3368
  });
@@ -3595,6 +3609,10 @@ var Job$1 = reactRedux.connect(mapStateToProps$2, {
3595
3609
  jobsLoaded: jobsLoaded
3596
3610
  })(reactRouter.withRouter(Job));
3597
3611
 
3612
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3613
+
3614
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3615
+
3598
3616
  function _createSuper$6(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$6(); 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); }; }
3599
3617
 
3600
3618
  function _isNativeReflectConstruct$6() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -3616,7 +3634,8 @@ var AddJob = /*#__PURE__*/function (_Component) {
3616
3634
  _this = _super.call(this, props);
3617
3635
 
3618
3636
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "getJob", /*#__PURE__*/_asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
3619
- var res;
3637
+ var res, _res$data, userID, userName, userProfilePic;
3638
+
3620
3639
  return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
3621
3640
  while (1) {
3622
3641
  switch (_context.prev = _context.next) {
@@ -3628,23 +3647,30 @@ var AddJob = /*#__PURE__*/function (_Component) {
3628
3647
  case 3:
3629
3648
  res = _context.sent;
3630
3649
  res.data.location = res.data.site;
3650
+ _res$data = res.data, userID = _res$data.userID, userName = _res$data.userName, userProfilePic = _res$data.userProfilePic;
3631
3651
 
3632
- _this.setState(res.data);
3652
+ _this.setState(_objectSpread$3(_objectSpread$3({}, res.data), {}, {
3653
+ selectedUser: {
3654
+ userId: userID,
3655
+ displayName: userName,
3656
+ profilePic: userProfilePic
3657
+ }
3658
+ }));
3633
3659
 
3634
- _context.next = 11;
3660
+ _context.next = 12;
3635
3661
  break;
3636
3662
 
3637
- case 8:
3638
- _context.prev = 8;
3663
+ case 9:
3664
+ _context.prev = 9;
3639
3665
  _context.t0 = _context["catch"](0);
3640
3666
  console.error('getJob', _context.t0);
3641
3667
 
3642
- case 11:
3668
+ case 12:
3643
3669
  case "end":
3644
3670
  return _context.stop();
3645
3671
  }
3646
3672
  }
3647
- }, _callee, null, [[0, 8]]);
3673
+ }, _callee, null, [[0, 9]]);
3648
3674
  })));
3649
3675
 
3650
3676
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "getJobTypes", /*#__PURE__*/_asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2() {
@@ -3682,6 +3708,53 @@ var AddJob = /*#__PURE__*/function (_Component) {
3682
3708
  }, _callee2, null, [[0, 8]]);
3683
3709
  })));
3684
3710
 
3711
+ _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "getUsers", /*#__PURE__*/_asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3() {
3712
+ var res, items;
3713
+ return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
3714
+ while (1) {
3715
+ switch (_context3.prev = _context3.next) {
3716
+ case 0:
3717
+ _context3.prev = 0;
3718
+ _context3.next = 3;
3719
+ return userActions.fetchUsers(_this.props.auth.site);
3720
+
3721
+ case 3:
3722
+ res = _context3.sent;
3723
+
3724
+ if (!res.userFetchFail) {
3725
+ _context3.next = 6;
3726
+ break;
3727
+ }
3728
+
3729
+ return _context3.abrupt("return");
3730
+
3731
+ case 6:
3732
+ if (res.data != null && !___default['default'].isEmpty(res.data.results.Items)) {
3733
+ items = res.data.results.Items;
3734
+
3735
+ _this.setState({
3736
+ users: ___default['default'].sortBy(items, function (u) {
3737
+ return (u.displayName || '').toLowerCase();
3738
+ })
3739
+ });
3740
+ }
3741
+
3742
+ _context3.next = 12;
3743
+ break;
3744
+
3745
+ case 9:
3746
+ _context3.prev = 9;
3747
+ _context3.t0 = _context3["catch"](0);
3748
+ console.error('getUsers', _context3.t0);
3749
+
3750
+ case 12:
3751
+ case "end":
3752
+ return _context3.stop();
3753
+ }
3754
+ }
3755
+ }, _callee3, null, [[0, 9]]);
3756
+ })));
3757
+
3685
3758
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "getDefaultJob", function () {
3686
3759
  if (_this.state.types.length !== 0 && _this.state.jobId == null) {
3687
3760
  _this.setState({
@@ -3703,7 +3776,38 @@ var AddJob = /*#__PURE__*/function (_Component) {
3703
3776
  _this.setState(stateChange);
3704
3777
  });
3705
3778
 
3779
+ _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onOpenUserSelector", function () {
3780
+ _this.setState({
3781
+ userFilterOpen: true
3782
+ });
3783
+ });
3784
+
3785
+ _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onCloseUserSelector", function () {
3786
+ _this.setState({
3787
+ userFilterOpen: false
3788
+ });
3789
+ });
3790
+
3791
+ _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onSelectUser", function (user) {
3792
+ _this.setState({
3793
+ selectedUser: user,
3794
+ userID: user.userId,
3795
+ userName: user.displayName,
3796
+ userFilterOpen: false
3797
+ });
3798
+ });
3799
+
3800
+ _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onUnselectUser", function () {
3801
+ _this.setState({
3802
+ selectedUser: null,
3803
+ userID: '',
3804
+ userName: ''
3805
+ });
3806
+ });
3807
+
3706
3808
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onSave", function () {
3809
+ _this.state.selectedUser;
3810
+
3707
3811
  _this.setState({
3708
3812
  showWarnings: false
3709
3813
  });
@@ -3755,7 +3859,6 @@ var AddJob = /*#__PURE__*/function (_Component) {
3755
3859
  });
3756
3860
  } else {
3757
3861
  // Create New Job
3758
- job.userID = 'undefined';
3759
3862
  maintenanceActions.createJob(job).then(function (res) {
3760
3863
  _this.setState({
3761
3864
  success: true,
@@ -3780,6 +3883,10 @@ var AddJob = /*#__PURE__*/function (_Component) {
3780
3883
  updating: false,
3781
3884
  connected: false,
3782
3885
  types: [],
3886
+ users: [],
3887
+ userSearch: '',
3888
+ userFilterOpen: false,
3889
+ selectedUser: null,
3783
3890
  id: null,
3784
3891
  userID: '',
3785
3892
  userName: '',
@@ -3808,6 +3915,7 @@ var AddJob = /*#__PURE__*/function (_Component) {
3808
3915
  key: "componentDidMount",
3809
3916
  value: function componentDidMount() {
3810
3917
  this.getJobTypes();
3918
+ this.getUsers();
3811
3919
  if (this.state.jobId) this.getJob();
3812
3920
  this.props.addRecentlyCreated('maintenance');
3813
3921
  }
@@ -3847,6 +3955,7 @@ var AddJob = /*#__PURE__*/function (_Component) {
3847
3955
  }, {
3848
3956
  key: "validateForm",
3849
3957
  value: function validateForm() {
3958
+ if (___default['default'].isEmpty(this.state.userID)) return false;
3850
3959
  if (___default['default'].isEmpty(this.state.userName)) return false;
3851
3960
  if (___default['default'].isEmpty(this.state.room)) return false;
3852
3961
  if (___default['default'].isEmpty(this.state.title)) return false;
@@ -3881,6 +3990,49 @@ var AddJob = /*#__PURE__*/function (_Component) {
3881
3990
  isActive: this.validateForm()
3882
3991
  }, "Save"));
3883
3992
  }
3993
+ }, {
3994
+ key: "renderSelectUser",
3995
+ value: function renderSelectUser() {
3996
+ var _this$state = this.state,
3997
+ showWarnings = _this$state.showWarnings,
3998
+ selectedUser = _this$state.selectedUser;
3999
+ var isValid = !___default['default'].isNil(selectedUser);
4000
+ var showError = showWarnings && !isValid;
4001
+ return /*#__PURE__*/React__default['default'].createElement("div", {
4002
+ className: "genericInputContainer ".concat(isValid ? 'genericInput-valid' : '', " ").concat(showError ? 'genericInput-error' : '').trim()
4003
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4004
+ style: {
4005
+ display: 'flex',
4006
+ flexDirection: 'row',
4007
+ alignItems: 'center',
4008
+ marginBottom: 0,
4009
+ justifyContent: 'space-between'
4010
+ }
4011
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4012
+ className: "fieldLabel"
4013
+ }, "User"), showError ? /*#__PURE__*/React__default['default'].createElement("div", {
4014
+ className: "fieldLabel fieldLabel-warning"
4015
+ }, "Required") : null), /*#__PURE__*/React__default['default'].createElement("div", {
4016
+ style: {
4017
+ display: 'flex',
4018
+ flexDirection: 'row',
4019
+ alignItems: 'center'
4020
+ }
4021
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
4022
+ className: "inputRequired "
4023
+ }), selectedUser ? /*#__PURE__*/React__default['default'].createElement(Components$1.Tag, {
4024
+ className: "marginRight-10",
4025
+ rightIcon: "close",
4026
+ rightClick: this.onUnselectUser
4027
+ }, /*#__PURE__*/React__default['default'].createElement(Components$1.UserListing, {
4028
+ size: 15,
4029
+ user: selectedUser,
4030
+ textClass: "tag_text"
4031
+ })) : /*#__PURE__*/React__default['default'].createElement(Components$1.Tag, {
4032
+ onClick: this.onOpenUserSelector,
4033
+ text: "Select User"
4034
+ })));
4035
+ }
3884
4036
  }, {
3885
4037
  key: "renderMain",
3886
4038
  value: function renderMain() {
@@ -3895,24 +4047,7 @@ var AddJob = /*#__PURE__*/function (_Component) {
3895
4047
  }, /*#__PURE__*/React__default['default'].createElement(Components$1.Text, {
3896
4048
  type: "formTitleLarge",
3897
4049
  className: "marginBottom-24"
3898
- }, this.state.infoId == null ? 'New' : 'Edit', " Request"), /*#__PURE__*/React__default['default'].createElement(Components$1.GenericInput, {
3899
- id: "userName",
3900
- type: "text",
3901
- label: "Name",
3902
- placeholder: "Insert name here",
3903
- value: this.state.userName,
3904
- onChange: function onChange(e) {
3905
- return _this4.onHandleChange(e);
3906
- },
3907
- isRequired: true,
3908
- alwaysShowLabel: true,
3909
- isValid: function isValid() {
3910
- return !___default['default'].isEmpty(_this4.state.userName);
3911
- },
3912
- showError: function showError() {
3913
- return _this4.state.showWarnings && ___default['default'].isEmpty(_this4.state.userName);
3914
- }
3915
- }), /*#__PURE__*/React__default['default'].createElement(Components$1.GenericInput, {
4050
+ }, this.state.infoId == null ? 'New' : 'Edit', " Request"), this.renderSelectUser(), /*#__PURE__*/React__default['default'].createElement(Components$1.GenericInput, {
3916
4051
  id: "room",
3917
4052
  type: "text",
3918
4053
  label: "Location",
@@ -4032,6 +4167,55 @@ var AddJob = /*#__PURE__*/function (_Component) {
4032
4167
  alwaysShowLabel: true
4033
4168
  })));
4034
4169
  }
4170
+ }, {
4171
+ key: "renderUserFilterPopup",
4172
+ value: function renderUserFilterPopup() {
4173
+ var _this5 = this;
4174
+
4175
+ var _this$state2 = this.state,
4176
+ userFilterOpen = _this$state2.userFilterOpen,
4177
+ userSearch = _this$state2.userSearch,
4178
+ users = _this$state2.users;
4179
+ if (!userFilterOpen) return null;
4180
+ return /*#__PURE__*/React__default['default'].createElement(Components$1.Popup, {
4181
+ title: "Select Requestor",
4182
+ maxWidth: 600,
4183
+ minWidth: 400,
4184
+ maxHeight: 600,
4185
+ minHeight: 600,
4186
+ hasPadding: true,
4187
+ onClose: this.onCloseUserSelector,
4188
+ buttons: [{
4189
+ type: 'tertiary',
4190
+ onClick: this.onCloseUserSelector,
4191
+ isActive: true,
4192
+ text: 'Cancel'
4193
+ }]
4194
+ }, /*#__PURE__*/React__default['default'].createElement(Components$1.GenericInput, {
4195
+ id: "userSearch",
4196
+ type: "text",
4197
+ label: "Search User",
4198
+ placeholder: "Search name",
4199
+ value: userSearch,
4200
+ onChange: function onChange(e) {
4201
+ return _this5.onHandleChange(e);
4202
+ },
4203
+ alwaysShowLabel: true
4204
+ }), ___default['default'].sortBy(users, function (u) {
4205
+ return u.displayName.toUpperCase();
4206
+ }).filter(function (u) {
4207
+ if (___default['default'].isEmpty(userSearch)) return true;
4208
+ return u.displayName.toUpperCase().indexOf(userSearch.toUpperCase()) > -1;
4209
+ }).map(function (user) {
4210
+ return /*#__PURE__*/React__default['default'].createElement(Components$1.UserListing, {
4211
+ key: user.userId,
4212
+ user: user,
4213
+ onClick: function onClick() {
4214
+ return _this5.onSelectUser(user);
4215
+ }
4216
+ });
4217
+ }));
4218
+ }
4035
4219
  }, {
4036
4220
  key: "render",
4037
4221
  value: function render() {
@@ -4040,7 +4224,7 @@ var AddJob = /*#__PURE__*/function (_Component) {
4040
4224
  noBottomButtons: success
4041
4225
  }, /*#__PURE__*/React__default['default'].createElement(Components$1.OverlayPageSection, {
4042
4226
  className: "pageSectionWrapper--newPopup"
4043
- }, /*#__PURE__*/React__default['default'].createElement("div", null, this.renderSuccess(), !success && this.renderMain()))), /*#__PURE__*/React__default['default'].createElement(Components$1.OverlayPageBottomButtons, null, this.renderSubmit()));
4227
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, this.renderSuccess(), !success && this.renderMain()), this.renderUserFilterPopup())), /*#__PURE__*/React__default['default'].createElement(Components$1.OverlayPageBottomButtons, null, this.renderSubmit()));
4044
4228
  }
4045
4229
  }]);
4046
4230