@plusscommunities/pluss-maintenance-web 1.1.15 → 1.2.1-beta.0

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
@@ -65,89 +65,140 @@ var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumab
65
65
  var Textarea__default = /*#__PURE__*/_interopDefaultLegacy(Textarea);
66
66
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
67
67
 
68
+ var values = {
69
+ featureKey: 'maintenance',
70
+ aliases: ['maintenanceTracking', 'maintenanceTypes', 'maintenancerequest'],
71
+ serviceKey: 'maintenance',
72
+ reducerKey: 'maintenance',
73
+ analyticsKey: 'maintenancerequest',
74
+ actionJobsLoaded: 'JOBS_LOADED',
75
+ actionJobsRemoved: 'JOBS_REMOVED',
76
+ actionJobsTypesLoaded: 'JOBS_TYPES_LOADED',
77
+ actionJobsLoading: 'JOBS_LOADING',
78
+ permissionMaintenanceTracking: 'maintenanceTracking',
79
+ permissionMaintenanceTypes: 'maintenanceTypes',
80
+ permissionMaintenanceAssignment: 'maintenanceAssignment',
81
+ activityMaintenanceJobStatusChanged: 'MaintenanceJobStatusChanged',
82
+ activityAddMaintenanceJob: 'AddMaintenanceJob',
83
+ activityEditMaintenanceJob: 'EditMaintenanceJob',
84
+ activityDeleteMaintenanceJob: 'DeleteMaintenanceJob',
85
+ routeRequestsHub: '/requestsHub',
86
+ routeAddRequest: '/requestsHub/job',
87
+ routeRequestDetails: '/requestsHub/jobDetails',
88
+ routeRequestTypes: '/requestTypes',
89
+ screenRequestsHub: 'RequestsHub',
90
+ screenAddJob: 'AddJob',
91
+ screenJob: 'Job',
92
+ screenJobTypes: 'JobTypes',
93
+ svgPathGridIcon: 'M22.7072 2.33998C20.5868 2.30886 18.2156 3.43862 16.824 4.83022C15.1138 6.54042 15.1486 8.34584 15.7894 10.5065L13.2058 13.0901L7.7566 7.64089C7.75294 7.60976 7.75477 7.5768 7.74927 7.54567L7.48926 6.30605C7.43799 6.06435 7.28968 5.84645 7.08277 5.71279L3.77589 3.56313C3.40601 3.32509 2.91163 3.37636 2.60035 3.68764L1.81116 4.47682C1.50171 4.7881 1.44861 5.28066 1.68848 5.6487L3.80152 8.91713C3.93336 9.12221 4.13843 9.26686 4.3783 9.32179L5.66004 9.61659C5.69483 9.62392 5.72962 9.62209 5.76441 9.62575L11.2155 15.0786L8.03309 18.2647C6.23316 18.0907 4.52112 18.8396 3.417 20.2971C2.0254 22.1373 2.05836 24.7814 3.49756 26.5886C4.41858 27.7459 5.78821 28.4563 7.25123 28.5405C7.34827 28.546 7.44532 28.5479 7.54236 28.5479C8.9065 28.5479 10.2212 28.0059 11.1898 27.0372C12.2866 25.9404 12.8195 24.4445 12.6711 22.9027L14.7311 20.8446C14.8391 21.2035 15.0259 21.5386 15.2987 21.8114L21.5939 28.1102C22.0516 28.5662 22.6522 28.7932 23.2528 28.7932C23.8534 28.7932 24.454 28.5662 24.9099 28.1102L26.2356 26.7827C27.1493 25.869 27.1493 24.3822 26.2356 23.4685L19.9368 17.1697C19.6658 16.8987 19.3307 16.7138 18.9718 16.6039L20.4275 15.1464C22.5881 15.7854 24.3954 15.822 26.1056 14.1118C27.814 12.4035 29.1323 9.21559 28.3834 6.83522C28.3358 6.67958 28.2076 6.55873 28.0483 6.52028C27.889 6.48183 27.7206 6.52944 27.6052 6.64479L24.681 9.56899C24.5638 9.68801 24.3899 9.73561 24.2288 9.68984L23.7161 9.55251C22.5863 9.25038 21.6964 8.36049 21.3943 7.23256L21.257 6.71987C21.213 6.55873 21.2606 6.38478 21.3796 6.2676L24.3093 3.33608C24.4247 3.22072 24.4705 3.05409 24.4338 2.89479C24.3936 2.73549 24.2764 2.60732 24.1189 2.55788C23.6721 2.41506 23.1961 2.34731 22.7072 2.33998ZM22.6669 3.28115C22.7877 3.28298 22.9067 3.28664 23.0239 3.29579L20.7168 5.60292C20.3616 5.95815 20.2242 6.47817 20.3543 6.96157L20.4916 7.47609C20.8798 8.92629 22.0223 10.0689 23.4744 10.4589L23.9871 10.5962C24.4705 10.7262 24.9905 10.5871 25.3439 10.2318L27.6437 7.93202C27.7883 9.80702 26.7318 12.1599 25.4446 13.4472C23.9834 14.9083 22.5021 14.8168 20.4367 14.1686C20.27 14.1173 20.0888 14.1613 19.9661 14.284L11.849 22.401C11.7446 22.5054 11.6952 22.6519 11.7172 22.7984C11.9039 24.1277 11.47 25.4314 10.527 26.3744C9.67737 27.224 8.5055 27.6708 7.30433 27.6049C6.08851 27.5353 4.9972 26.9677 4.22999 26.0045C3.05445 24.5287 3.02698 22.3662 4.16407 20.8648C4.98438 19.7826 6.20936 19.1765 7.52588 19.1765C7.7273 19.1765 7.93238 19.1912 8.13746 19.2186C8.28211 19.2388 8.43043 19.1912 8.53296 19.0868L16.65 10.9716C16.7745 10.8471 16.8203 10.6658 16.7672 10.4973C16.119 8.43373 16.0275 6.95424 17.4887 5.49306C18.7008 4.2809 20.8541 3.27931 22.6669 3.28115ZM3.26319 4.35048L6.57191 6.49831L6.83191 7.73793L5.86695 8.70107L4.58704 8.4081L2.474 5.13967L3.26319 4.35048ZM7.34095 8.55275L12.543 13.7529L11.8801 14.4158L6.67994 9.21559L7.0077 8.88967L7.34095 8.55275ZM18.4811 8.66994C18.3621 8.66994 18.243 8.71572 18.1497 8.80727C17.9666 8.99037 17.9666 9.287 18.1497 9.47011L21.4657 12.7843C21.5573 12.8759 21.6763 12.9216 21.7971 12.9216C21.9161 12.9216 22.037 12.8759 22.1267 12.7843C22.3117 12.6012 22.3117 12.3046 22.1267 12.1215L18.8143 8.80727C18.721 8.71572 18.6019 8.66994 18.4811 8.66994ZM17.1554 12.647C17.0364 12.647 16.9155 12.6928 16.824 12.7843C16.6409 12.9674 16.6409 13.2641 16.824 13.4472L17.4887 14.11C17.5802 14.2016 17.6992 14.2473 17.8201 14.2473C17.9409 14.2473 18.0599 14.2016 18.1515 14.11C18.3346 13.9269 18.3346 13.6303 18.1515 13.4472L17.4887 12.7843C17.3953 12.6928 17.2763 12.647 17.1554 12.647ZM15.4983 14.3041C15.3793 14.3041 15.2603 14.3499 15.1687 14.4433C14.9838 14.6264 14.9838 14.9212 15.1687 15.1043L15.8297 15.7689C15.9213 15.8587 16.0421 15.9063 16.163 15.9063C16.282 15.9063 16.4028 15.8587 16.4944 15.7689C16.6775 15.584 16.6775 15.2892 16.4944 15.1043L15.8297 14.4433C15.7382 14.3499 15.6191 14.3041 15.4983 14.3041ZM13.843 15.9612C13.7222 15.9612 13.6032 16.007 13.5116 16.0985C13.3267 16.2816 13.3267 16.5783 13.5116 16.7632L14.1726 17.4242C14.2642 17.5158 14.385 17.5634 14.504 17.5634C14.6249 17.5634 14.7457 17.5158 14.8373 17.4242C15.0204 17.2429 15.0204 16.9463 14.8373 16.7632L14.1726 16.0985C14.0811 16.007 13.962 15.9612 13.843 15.9612ZM18.4426 17.4444C18.7539 17.4755 19.0487 17.6073 19.2758 17.8344L25.5728 24.1314C26.1221 24.6807 26.1221 25.5706 25.5728 26.1199L24.2452 27.4456C23.6978 27.9949 22.806 27.9949 22.2586 27.4456L15.9597 21.1467C15.6594 20.8465 15.5258 20.4216 15.5734 20.0023L18.1277 17.4462C18.2339 17.4352 18.3383 17.4334 18.4426 17.4444ZM12.1859 17.6201C12.0651 17.6201 11.9461 17.6641 11.8527 17.7556C11.6696 17.9406 11.6696 18.2354 11.8527 18.4203L12.5173 19.0813C12.6071 19.1729 12.7279 19.2186 12.8469 19.2186C12.9678 19.2186 13.0886 19.1729 13.1784 19.0813C13.3633 18.8982 13.3633 18.6034 13.1784 18.4203L12.5173 17.7556C12.424 17.6641 12.3049 17.6201 12.1859 17.6201ZM10.527 19.2772C10.408 19.2772 10.2889 19.323 10.1956 19.4146C10.0125 19.5977 10.0125 19.8925 10.1956 20.0756L10.8584 20.7403C10.95 20.83 11.069 20.8757 11.1898 20.8757C11.3107 20.8757 11.4297 20.83 11.5212 20.7403C11.7044 20.5553 11.7044 20.2605 11.5212 20.0756L10.8584 19.4146C10.7669 19.323 10.646 19.2772 10.527 19.2772ZM19.2758 19.3523C19.1549 19.3523 19.0359 19.3981 18.9425 19.4896C18.7594 19.6746 18.7594 19.9694 18.9425 20.1543L23.5842 24.7942C23.6758 24.8858 23.7948 24.9315 23.9157 24.9315C24.0365 24.9315 24.1555 24.8858 24.2471 24.7942C24.4302 24.6111 24.4302 24.3145 24.2471 24.1314L19.6072 19.4896C19.5138 19.3981 19.3948 19.3523 19.2758 19.3523ZM17.9501 20.678C17.8292 20.678 17.7102 20.7238 17.6168 20.8153C17.4337 21.0003 17.4337 21.2951 17.6168 21.48L22.2586 26.1199C22.3483 26.2114 22.4691 26.2572 22.5881 26.2572C22.709 26.2572 22.8298 26.2114 22.9196 26.1199C23.1045 25.9368 23.1045 25.6402 22.9196 25.457L18.2815 20.8153C18.1881 20.7238 18.0691 20.678 17.9501 20.678ZM8.11182 20.8373C8.07154 20.8373 8.03126 20.8428 7.99097 20.8538L5.89808 21.4141C5.73694 21.458 5.6106 21.5844 5.56666 21.7455L5.00818 23.8366C4.96424 23.9977 5.01002 24.1698 5.1272 24.2888L6.65796 25.8196C6.74769 25.9093 6.86671 25.9569 6.98939 25.9569C7.0315 25.9569 7.07178 25.9514 7.11207 25.9423L9.20313 25.3801C9.36426 25.338 9.49061 25.2117 9.53455 25.0487L10.0949 22.9595C10.1388 22.7965 10.0912 22.6244 9.974 22.5054L8.44324 20.9746C8.35352 20.8867 8.2345 20.8391 8.11182 20.8373ZM7.97083 21.8279L9.1189 22.976L8.69959 24.5452L7.13038 24.9663L5.98231 23.8183L6.40162 22.249L7.97083 21.8279Z',
94
+ svgPathGridIconViewBox: '0 0 30 30',
95
+ menuOrder: 10,
96
+ textEmptyDescription: 'allows your users to submit Requests (such as maintenance requests) that all appear in this job board.',
97
+ textEmptyExample: 'Example might be; Fix my light bulb, hand rail is broken, or please send flowers to Mum.',
98
+ textAreYouSureYouWantToDelete: 'Are you sure you want to delete that request?',
99
+ textAreYouSureYouWantToDeleteNote: 'Are you sure you want to delete that note?',
100
+ textChangedRequestStatus: "changed a maintenance request's status:",
101
+ textAddedRequest: 'added a maintenance request:',
102
+ textEditedRequest: 'edited a maintenance request:',
103
+ textRemovedRequest: 'removed a maintenance request:',
104
+ textSingularName: 'Request',
105
+ textYourRequestHere: 'Your Requests will show here',
106
+ textTitleRequests: 'Requests',
107
+ textMenuTitle: 'Maintenance',
108
+ textPermissionMaintenanceTracking: 'Maintenance Tracking',
109
+ textPermissionManageMaintenanceTypes: 'Manage Maintenance Types',
110
+ textPermissionManageAssignedMaintenance: 'Manage Assigned Maintenance',
111
+ textHiddenSectionMaintenanceRequests: 'Maintenance requests',
112
+ keyHiddenSectionMaintenanceRequests: 'maintenanceRequest',
113
+ textMoreSectionMaintenance: 'Maintenance',
114
+ featureKeyMoreSectionMaintenance: 'maintenance',
115
+ optionKeyMoreSectionMaintenance: 'maintenanceRequest',
116
+ hiddenKeyMoreSectionMaintenance: 'maintenanceRequest'
117
+ };
118
+
68
119
  // import * as PlussCore from '../../pluss-core/src';
69
120
  var FeatureConfig = {
70
- key: 'maintenance',
71
- aliases: ['maintenanceTracking', 'maintenanceTypes', 'maintenancerequest'],
72
- singularName: 'Request',
121
+ key: values.featureKey,
122
+ aliases: values.aliases,
123
+ singularName: values.textSingularName,
73
124
  description: 'Submit maintenance requests and track the progress.',
74
- emptyText: 'Your Requests will show here',
125
+ emptyText: values.textYourRequestHere,
75
126
  widgetOptions: [],
76
127
  menu: {
77
- order: 10,
78
- text: 'Maintenance',
128
+ order: values.menuOrder,
129
+ text: values.textMenuTitle,
79
130
  icon: 'maintenance',
80
131
  isFontAwesome: false,
81
- url: '/requestsHub',
132
+ url: values.routeRequestsHub,
82
133
  countProps: null,
83
134
  visibleExps: {
84
135
  type: 'and',
85
136
  exps: [{
86
137
  type: 'feature',
87
- value: 'maintenance'
138
+ value: values.featureKey
88
139
  }, {
89
140
  type: 'or',
90
141
  exps: [{
91
142
  type: 'permission',
92
- value: 'maintenanceTracking'
143
+ value: values.permissionMaintenanceTracking
93
144
  }, {
94
145
  type: 'permission',
95
- value: 'maintenanceTypes'
146
+ value: values.permissionMaintenanceTypes
96
147
  }, {
97
148
  type: 'permission',
98
- value: 'maintenanceAssignment'
149
+ value: values.permissionMaintenanceAssignment
99
150
  }]
100
151
  }]
101
152
  }
102
153
  },
103
- addUrl: '/requestsHub/job',
104
- addPermission: 'maintenanceTracking',
105
- activities: ['MaintenanceJobStatusChanged', 'AddMaintenanceJob', 'EditMaintenanceJob', 'DeleteMaintenanceJob'],
154
+ addUrl: values.routeAddRequest,
155
+ addPermission: values.permissionMaintenanceTracking,
156
+ activities: [values.activityMaintenanceJobStatusChanged, values.activityAddMaintenanceJob, values.activityEditMaintenanceJob, values.activityDeleteMaintenanceJob],
106
157
  permissions: [{
107
- displayName: 'Maintenance Tracking',
108
- key: 'maintenanceTracking',
158
+ displayName: values.textPermissionMaintenanceTracking,
159
+ key: values.permissionMaintenanceTracking,
109
160
  hq: false
110
161
  }, {
111
- displayName: 'Manage Maintenance Types',
112
- key: 'maintenanceTypes',
162
+ displayName: values.textPermissionManageMaintenanceTypes,
163
+ key: values.permissionMaintenanceTypes,
113
164
  hq: false
114
165
  }, {
115
- displayName: 'Manage Assigned Maintenance',
116
- key: 'maintenanceAssignment',
166
+ displayName: values.textPermissionManageAssignedMaintenance,
167
+ key: values.permissionMaintenanceAssignment,
117
168
  hq: false
118
169
  }],
119
170
  hiddenSections: [{
120
- displayName: 'Maintenance requests',
121
- key: 'maintenanceRequest',
171
+ displayName: values.textHiddenSectionMaintenanceRequests,
172
+ key: values.keyHiddenSectionMaintenanceRequests,
122
173
  defaultNew: false,
123
174
  default: false
124
175
  }],
125
176
  moreSections: [{
126
- displayName: 'Maintenance',
127
- featureKey: 'maintenance',
128
- optionKey: 'maintenanceRequest',
129
- hiddenKey: 'maintenanceRequest',
177
+ displayName: values.textMoreSectionMaintenance,
178
+ featureKey: values.featureKeyMoreSectionMaintenance,
179
+ optionKey: values.optionKeyMoreSectionMaintenance,
180
+ hiddenKey: values.hiddenKeyMoreSectionMaintenance,
130
181
  inverseOption: true
131
182
  }],
132
183
  routes: [{
133
- path: '/requestsHub',
134
- component: 'RequestsHub',
184
+ path: values.routeRequestsHub,
185
+ component: values.screenRequestsHub,
135
186
  exact: false
136
187
  }, {
137
- path: '/requestsHub/job',
138
- component: 'AddJob',
188
+ path: values.routeAddRequest,
189
+ component: values.screenAddJob,
139
190
  exact: true
140
191
  }, {
141
- path: '/requestsHub/job/:jobId',
142
- component: 'AddJob',
192
+ path: "".concat(values.routeAddRequest, "/:jobId"),
193
+ component: values.screenAddJob,
143
194
  exact: true
144
195
  }, {
145
- path: '/requestsHub/jobDetails/:jobId',
146
- component: 'Job',
196
+ path: "".concat(values.routeRequestDetails, "/:jobId"),
197
+ component: values.screenJob,
147
198
  exact: true
148
199
  }, {
149
- path: '/requestTypes',
150
- component: 'JobTypes',
200
+ path: values.routeRequestTypes,
201
+ component: values.screenJobTypes,
151
202
  exact: false
152
203
  }],
153
204
  env: {
@@ -173,10 +224,10 @@ var FeatureConfig = {
173
224
  }
174
225
  };
175
226
 
176
- var JOBS_LOADED = 'JOBS_LOADED';
177
- var JOBS_REMOVED = 'JOBS_REMOVED';
178
- var JOBS_TYPES_LOADED = 'JOBS_TYPES_LOADED';
179
- var JOBS_LOADING = 'JOBS_LOADING';
227
+ var JOBS_LOADED = values.actionJobsLoaded;
228
+ var JOBS_REMOVED = values.actionJobsRemoved;
229
+ var JOBS_TYPES_LOADED = values.actionJobsTypesLoaded;
230
+ var JOBS_LOADING = values.actionJobsLoading;
180
231
 
181
232
  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
233
 
@@ -185,7 +236,7 @@ var Helper$5 = PlussCore__namespace.Helper,
185
236
  Session$7 = PlussCore__namespace.Session;
186
237
  var maintenanceActions = {
187
238
  getJobTypes: function getJobTypes(site) {
188
- var url = Helper$5.getUrl('maintenance', 'getjobtypes');
239
+ var url = Helper$5.getUrl(values.serviceKey, 'getjobtypes');
189
240
  return Session$7.authedFunction({
190
241
  method: 'POST',
191
242
  url: url,
@@ -195,7 +246,7 @@ var maintenanceActions = {
195
246
  });
196
247
  },
197
248
  getJob: function getJob(site, id) {
198
- var url = Helper$5.getUrl('maintenance', 'getJob');
249
+ var url = Helper$5.getUrl(values.serviceKey, 'getJob');
199
250
  return Session$7.authedFunction({
200
251
  method: 'POST',
201
252
  url: url,
@@ -206,7 +257,7 @@ var maintenanceActions = {
206
257
  });
207
258
  },
208
259
  getJobByJobId: function getJobByJobId(site, jobId) {
209
- var url = Helper$5.getUrl('maintenance', 'getJob');
260
+ var url = Helper$5.getUrl(values.serviceKey, 'getJob');
210
261
  return Session$7.authedFunction({
211
262
  method: 'POST',
212
263
  url: url,
@@ -221,7 +272,7 @@ var maintenanceActions = {
221
272
  var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
222
273
  return Session$7.authedFunction({
223
274
  method: 'POST',
224
- url: Helper$5.getUrl('maintenance', 'getJobs'),
275
+ url: Helper$5.getUrl(values.serviceKey, 'getJobs'),
225
276
  data: {
226
277
  site: site,
227
278
  status: status,
@@ -248,7 +299,7 @@ var maintenanceActions = {
248
299
 
249
300
  return Session$7.authedFunction({
250
301
  method: 'GET',
251
- url: Helper$5.getUrl('maintenance', 'get/requests', query)
302
+ url: Helper$5.getUrl(values.serviceKey, 'get/requests', query)
252
303
  });
253
304
  },
254
305
  getJobsRecursive: function getJobsRecursive(site, status, type, lastKey) {
@@ -268,14 +319,14 @@ var maintenanceActions = {
268
319
  createJob: function createJob(job) {
269
320
  return Session$7.authedFunction({
270
321
  method: 'POST',
271
- url: Helper$5.getUrl('maintenance', 'sendMaintenance'),
322
+ url: Helper$5.getUrl(values.serviceKey, 'sendMaintenance'),
272
323
  data: _objectSpread$6({}, job)
273
324
  });
274
325
  },
275
326
  editJob: function editJob(job, site) {
276
327
  return Session$7.authedFunction({
277
328
  method: 'POST',
278
- url: Helper$5.getUrl('maintenance', 'editJob'),
329
+ url: Helper$5.getUrl(values.serviceKey, 'editJob'),
279
330
  data: {
280
331
  job: job,
281
332
  site: site
@@ -285,7 +336,7 @@ var maintenanceActions = {
285
336
  deleteJob: function deleteJob(site, id) {
286
337
  return Session$7.authedFunction({
287
338
  method: 'POST',
288
- url: Helper$5.getUrl('maintenance', 'requests/remove'),
339
+ url: Helper$5.getUrl(values.serviceKey, 'requests/remove'),
289
340
  data: {
290
341
  site: site,
291
342
  id: id
@@ -295,7 +346,7 @@ var maintenanceActions = {
295
346
  editJobStatus: function editJobStatus(id, status) {
296
347
  return Session$7.authedFunction({
297
348
  method: 'POST',
298
- url: Helper$5.getUrl('maintenance', 'editJobStatus'),
349
+ url: Helper$5.getUrl(values.serviceKey, 'editJobStatus'),
299
350
  data: {
300
351
  id: id,
301
352
  status: status
@@ -305,7 +356,7 @@ var maintenanceActions = {
305
356
  assignJob: function assignJob(jobId, userId) {
306
357
  return Session$7.authedFunction({
307
358
  method: 'POST',
308
- url: Helper$5.getUrl('maintenance', 'update/assign'),
359
+ url: Helper$5.getUrl(values.serviceKey, 'update/assign'),
309
360
  data: {
310
361
  id: jobId,
311
362
  userId: userId
@@ -315,7 +366,7 @@ var maintenanceActions = {
315
366
  getAssignees: function getAssignees(site) {
316
367
  return Session$7.authedFunction({
317
368
  method: 'GET',
318
- url: Helper$5.getUrl('maintenance', 'get/assignees', {
369
+ url: Helper$5.getUrl(values.serviceKey, 'get/assignees', {
319
370
  site: site
320
371
  })
321
372
  });
@@ -323,7 +374,7 @@ var maintenanceActions = {
323
374
  addNote: function addNote(jobId, note, attachments) {
324
375
  return Session$7.authedFunction({
325
376
  method: 'POST',
326
- url: Helper$5.getUrl('maintenance', 'requests/note'),
377
+ url: Helper$5.getUrl(values.serviceKey, 'requests/note'),
327
378
  data: {
328
379
  id: jobId,
329
380
  note: note,
@@ -335,7 +386,7 @@ var maintenanceActions = {
335
386
  editNote: function editNote(jobId, noteId, note, attachments) {
336
387
  return Session$7.authedFunction({
337
388
  method: 'POST',
338
- url: Helper$5.getUrl('maintenance', 'requests/note'),
389
+ url: Helper$5.getUrl(values.serviceKey, 'requests/note'),
339
390
  data: {
340
391
  id: jobId,
341
392
  note: note,
@@ -348,7 +399,7 @@ var maintenanceActions = {
348
399
  deleteNote: function deleteNote(jobId, noteId) {
349
400
  return Session$7.authedFunction({
350
401
  method: 'POST',
351
- url: Helper$5.getUrl('maintenance', 'requests/note'),
402
+ url: Helper$5.getUrl(values.serviceKey, 'requests/note'),
352
403
  data: {
353
404
  id: jobId,
354
405
  noteId: noteId,
@@ -359,7 +410,7 @@ var maintenanceActions = {
359
410
  addJobType: function addJobType(site, name, email, description, level) {
360
411
  return Session$7.authedFunction({
361
412
  method: 'POST',
362
- url: Helper$5.getUrl('maintenance', 'createJobType'),
413
+ url: Helper$5.getUrl(values.serviceKey, 'createJobType'),
363
414
  data: {
364
415
  site: site,
365
416
  name: name,
@@ -372,7 +423,7 @@ var maintenanceActions = {
372
423
  editJobType: function editJobType(site, id, name, email, description, level) {
373
424
  return Session$7.authedFunction({
374
425
  method: 'POST',
375
- url: Helper$5.getUrl('maintenance', 'editJobType'),
426
+ url: Helper$5.getUrl(values.serviceKey, 'editJobType'),
376
427
  data: {
377
428
  site: site,
378
429
  id: id,
@@ -386,7 +437,7 @@ var maintenanceActions = {
386
437
  deleteJobType: function deleteJobType(site, id) {
387
438
  return Session$7.authedFunction({
388
439
  method: 'POST',
389
- url: Helper$5.getUrl('maintenance', 'deleteJobType'),
440
+ url: Helper$5.getUrl(values.serviceKey, 'deleteJobType'),
390
441
  data: {
391
442
  site: site,
392
443
  id: id
@@ -661,7 +712,7 @@ var JobList = /*#__PURE__*/function (_Component) {
661
712
  while (1) {
662
713
  switch (_context3.prev = _context3.next) {
663
714
  case 0:
664
- if (!window.confirm("Are you sure you want to delete that request?")) {
715
+ if (!window.confirm(values.textAreYouSureYouWantToDelete)) {
665
716
  _context3.next = 12;
666
717
  break;
667
718
  }
@@ -1188,7 +1239,7 @@ var JobList = /*#__PURE__*/function (_Component) {
1188
1239
  }, /*#__PURE__*/React__default['default'].createElement("td", null, ev.jobId), /*#__PURE__*/React__default['default'].createElement("td", {
1189
1240
  className: "table-TitleColumn"
1190
1241
  }, /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
1191
- to: "/requestsHub/jobDetails/".concat(ev.id)
1242
+ to: "".concat(values.routeRequestDetails, "/").concat(ev.id)
1192
1243
  }, /*#__PURE__*/React__default['default'].createElement("span", null, ev.title))), /*#__PURE__*/React__default['default'].createElement("td", null, ev.type), /*#__PURE__*/React__default['default'].createElement("td", null, moment__default['default'].utc(ev.createdTime).local().format('D MMM YY')), /*#__PURE__*/React__default['default'].createElement("td", null, ev.room), /*#__PURE__*/React__default['default'].createElement("td", null, ev.Assignee ? /*#__PURE__*/React__default['default'].createElement(Components$5.UserListing, {
1193
1244
  user: ev.Assignee,
1194
1245
  textClass: "fontSize-13"
@@ -1210,7 +1261,7 @@ var JobList = /*#__PURE__*/function (_Component) {
1210
1261
  alignItems: 'center'
1211
1262
  }
1212
1263
  }, /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
1213
- to: "/requestsHub/jobDetails/".concat(ev.id)
1264
+ to: "".concat(values.routeRequestDetails, "/").concat(ev.id)
1214
1265
  }, /*#__PURE__*/React__default['default'].createElement(FontAwesome__default['default'], {
1215
1266
  style: {
1216
1267
  fontSize: 20,
@@ -1218,7 +1269,7 @@ var JobList = /*#__PURE__*/function (_Component) {
1218
1269
  cursor: 'pointer'
1219
1270
  },
1220
1271
  name: "pencil"
1221
- })), Session$5.validateAccess(_this3.props.auth.site, 'maintenanceTracking', _this3.props.auth) && /*#__PURE__*/React__default['default'].createElement("a", {
1272
+ })), Session$5.validateAccess(_this3.props.auth.site, values.permissionMaintenanceTracking, _this3.props.auth) && /*#__PURE__*/React__default['default'].createElement("a", {
1222
1273
  onClick: function onClick() {
1223
1274
  return _this3.onRemoveRequest(ev);
1224
1275
  }
@@ -1256,6 +1307,7 @@ var JobList = /*#__PURE__*/function (_Component) {
1256
1307
  }, {
1257
1308
  key: "renderEmpty",
1258
1309
  value: function renderEmpty() {
1310
+ var title = this.props.strings["".concat(values.featureKey, "_textTitleRequests")] || values.textTitleRequests;
1259
1311
  return /*#__PURE__*/React__default['default'].createElement("div", {
1260
1312
  style: {
1261
1313
  display: 'flex',
@@ -1277,13 +1329,13 @@ var JobList = /*#__PURE__*/function (_Component) {
1277
1329
  className: "fontRegular fontSize-13"
1278
1330
  }, /*#__PURE__*/React__default['default'].createElement("span", {
1279
1331
  className: "fontHeavy text-brandingColour"
1280
- }, "Maintenance "), "allows your users to submit Requests (such as maintenance requests) that all appear in this job board.")), /*#__PURE__*/React__default['default'].createElement("div", {
1332
+ }, title, " "), values.textEmptyDescription)), /*#__PURE__*/React__default['default'].createElement("div", {
1281
1333
  className: "marginTop-8 fontRegular fontSize-13",
1282
1334
  style: {
1283
1335
  maxWidth: 500,
1284
1336
  textAlign: 'center'
1285
1337
  }
1286
- }, "Example might be; Fix my light bulb, hand rail is broken, or please send flowers to Mum."));
1338
+ }, values.textEmptyExample));
1287
1339
  }
1288
1340
  }, {
1289
1341
  key: "renderContent",
@@ -1517,11 +1569,11 @@ var JobList = /*#__PURE__*/function (_Component) {
1517
1569
  }(React.Component);
1518
1570
 
1519
1571
  var mapStateToProps$5 = function mapStateToProps(state) {
1520
- var jobs = state.maintenance.jobs;
1521
1572
  var auth = state.auth;
1522
1573
  return {
1523
- jobs: jobs,
1524
- auth: auth
1574
+ jobs: state[values.reducerKey].jobs,
1575
+ auth: auth,
1576
+ strings: state.strings && state.strings.config || {}
1525
1577
  };
1526
1578
  };
1527
1579
 
@@ -1847,7 +1899,7 @@ var JobTypes = /*#__PURE__*/function (_Component) {
1847
1899
  display: 'flex',
1848
1900
  alignItems: 'center'
1849
1901
  }
1850
- }, Session$4.validateAccess(_this2.props.auth.site, 'maintenanceTypes', _this2.props.auth) && /*#__PURE__*/React__default['default'].createElement("a", {
1902
+ }, Session$4.validateAccess(_this2.props.auth.site, values.permissionMaintenanceTypes, _this2.props.auth) && /*#__PURE__*/React__default['default'].createElement("a", {
1851
1903
  onClick: function onClick() {
1852
1904
  return _this2.onShowJobType(ev);
1853
1905
  }
@@ -1859,7 +1911,7 @@ var JobTypes = /*#__PURE__*/function (_Component) {
1859
1911
  cursor: 'pointer'
1860
1912
  },
1861
1913
  name: "pencil"
1862
- })), Session$4.validateAccess(_this2.props.auth.site, 'maintenanceTypes', _this2.props.auth) && /*#__PURE__*/React__default['default'].createElement("a", {
1914
+ })), Session$4.validateAccess(_this2.props.auth.site, values.permissionMaintenanceTypes, _this2.props.auth) && /*#__PURE__*/React__default['default'].createElement("a", {
1863
1915
  onClick: function onClick() {
1864
1916
  return _this2.onRemoveJobType(ev);
1865
1917
  }
@@ -2091,10 +2143,9 @@ var JobTypes = /*#__PURE__*/function (_Component) {
2091
2143
  }(React.Component);
2092
2144
 
2093
2145
  var mapStateToProps$4 = function mapStateToProps(state) {
2094
- var jobtypes = state.maintenance.jobtypes;
2095
2146
  var auth = state.auth;
2096
2147
  return {
2097
- jobtypes: jobtypes,
2148
+ jobtypes: state[values.reducerKey].jobtypes,
2098
2149
  auth: auth
2099
2150
  };
2100
2151
  };
@@ -2200,14 +2251,14 @@ var RequestsHub = /*#__PURE__*/function (_Component) {
2200
2251
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onAddNew", function () {
2201
2252
  var auth = _this.props.auth;
2202
2253
 
2203
- if (Session$3.validateAccess(auth.site, 'maintenanceTracking', auth)) {
2204
- _this.props.history.push("/requestsHub/job");
2254
+ if (Session$3.validateAccess(auth.site, values.permissionMaintenanceTracking, auth)) {
2255
+ _this.props.history.push(values.routeAddRequest);
2205
2256
  }
2206
2257
  });
2207
2258
 
2208
2259
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "canAddNew", function (isClass) {
2209
2260
  var auth = _this.props.auth;
2210
- if (Session$3.validateAccess(auth.site, 'maintenanceTracking', auth)) return isClass ? '' : true;
2261
+ if (Session$3.validateAccess(auth.site, values.permissionMaintenanceTracking, auth)) return isClass ? '' : true;
2211
2262
  return isClass ? ' hub-sideContent-topButton--hide' : false;
2212
2263
  });
2213
2264
 
@@ -2290,7 +2341,7 @@ var RequestsHub = /*#__PURE__*/function (_Component) {
2290
2341
  }
2291
2342
  });
2292
2343
 
2293
- if (Session$3.validateAccess(this.props.auth.site, 'maintenanceTypes', this.props.auth)) {
2344
+ if (Session$3.validateAccess(this.props.auth.site, values.permissionMaintenanceTypes, this.props.auth)) {
2294
2345
  sectionItems.push({
2295
2346
  type: 'navItem',
2296
2347
  text: 'Request Types',
@@ -2307,7 +2358,7 @@ var RequestsHub = /*#__PURE__*/function (_Component) {
2307
2358
 
2308
2359
  return /*#__PURE__*/React__default['default'].createElement(Components$3.HubSidebar, {
2309
2360
  sections: [{
2310
- title: 'Requests',
2361
+ title: this.props.strings["".concat(values.featureKey, "_textTitleRequests")] || values.textTitleRequests,
2311
2362
  items: sectionItems
2312
2363
  }],
2313
2364
  helpGuide: {
@@ -2368,11 +2419,11 @@ var styles$4 = {
2368
2419
  };
2369
2420
 
2370
2421
  var mapStateToProps$3 = function mapStateToProps(state) {
2371
- var jobs = state.maintenance.jobs;
2372
2422
  var auth = state.auth;
2373
2423
  return {
2374
- jobs: jobs,
2375
- auth: auth
2424
+ jobs: state[values.reducerKey].jobs,
2425
+ auth: auth,
2426
+ strings: state.strings && state.strings.config || {}
2376
2427
  };
2377
2428
  };
2378
2429
 
@@ -2773,7 +2824,7 @@ var Job = /*#__PURE__*/function (_Component) {
2773
2824
  })));
2774
2825
 
2775
2826
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onDeleteNote", function (n) {
2776
- if (!window.confirm('Are you sure you want to delete that note?')) {
2827
+ if (!window.confirm(values.textAreYouSureYouWantToDeleteNote)) {
2777
2828
  _this.setState({
2778
2829
  noteMenuOpen: null
2779
2830
  });
@@ -2811,7 +2862,7 @@ var Job = /*#__PURE__*/function (_Component) {
2811
2862
  var job = _this.state.job;
2812
2863
  var auth = _this.props.auth; // Must have maintenance permission and not the requester
2813
2864
 
2814
- if (!Session$2.validateAccess(auth.site, 'maintenanceTracking', auth)) return;
2865
+ if (!Session$2.validateAccess(auth.site, values.permissionMaintenanceTracking, auth)) return;
2815
2866
  if (auth.user.Id === job.userID) return;
2816
2867
 
2817
2868
  _this.setState({
@@ -2856,7 +2907,7 @@ var Job = /*#__PURE__*/function (_Component) {
2856
2907
  });
2857
2908
 
2858
2909
  _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "getComments", function () {
2859
- reactionActions.getComments(_this.state.jobId, 'maintenancerequest', 0).then(function (res) {
2910
+ reactionActions.getComments(_this.state.jobId, values.featureKey, 0).then(function (res) {
2860
2911
  _this.setState({
2861
2912
  comments: res.data
2862
2913
  });
@@ -2878,7 +2929,7 @@ var Job = /*#__PURE__*/function (_Component) {
2878
2929
  });
2879
2930
 
2880
2931
  _context7.next = 5;
2881
- return reactionActions.addComment(jobId, 'maintenancerequest', job.title, job.site, commentInput);
2932
+ return reactionActions.addComment(jobId, values.featureKey, job.title, job.site, commentInput);
2882
2933
 
2883
2934
  case 5:
2884
2935
  res = _context7.sent;
@@ -3002,7 +3053,7 @@ var Job = /*#__PURE__*/function (_Component) {
3002
3053
  var statusType = this.getStatusType(this.state.job.status);
3003
3054
  var auth = this.props.auth;
3004
3055
 
3005
- if (Session$2.validateAccess(auth.site, 'maintenanceTracking', auth)) {
3056
+ if (Session$2.validateAccess(auth.site, values.permissionMaintenanceTracking, auth)) {
3006
3057
  return /*#__PURE__*/React__default['default'].createElement("div", {
3007
3058
  className: "statusLabel pointer",
3008
3059
  onClick: this.onToggleStatusChanger,
@@ -3027,7 +3078,7 @@ var Job = /*#__PURE__*/function (_Component) {
3027
3078
  key: "renderNotesButton",
3028
3079
  value: function renderNotesButton() {
3029
3080
  var auth = this.props.auth;
3030
- if (!Session$2.validateAccess(auth.site, 'maintenanceTracking', auth)) return null;
3081
+ if (!Session$2.validateAccess(auth.site, values.permissionMaintenanceTracking, auth)) return null;
3031
3082
  return /*#__PURE__*/React__default['default'].createElement("div", {
3032
3083
  className: "statusLabel pointer",
3033
3084
  onClick: this.onOpenAddNote,
@@ -3043,7 +3094,7 @@ var Job = /*#__PURE__*/function (_Component) {
3043
3094
  key: "renderAssignButton",
3044
3095
  value: function renderAssignButton() {
3045
3096
  var auth = this.props.auth;
3046
- if (!Session$2.validateAccess(auth.site, 'maintenanceTracking', auth)) return null;
3097
+ if (!Session$2.validateAccess(auth.site, values.permissionMaintenanceTracking, auth)) return null;
3047
3098
  return /*#__PURE__*/React__default['default'].createElement("div", {
3048
3099
  className: "statusLabel pointer",
3049
3100
  onClick: this.onShowSelectAssignee,
@@ -3401,8 +3452,8 @@ var Job = /*#__PURE__*/function (_Component) {
3401
3452
  style: {
3402
3453
  marginRight: 16
3403
3454
  }
3404
- }, "Back"), Session$2.validateAccess(this.props.auth.site, 'maintenanceTracking', this.props.auth) && !___default['default'].isEmpty(this.state.job) && /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
3405
- to: "/requestsHub/job/".concat(this.state.jobId)
3455
+ }, "Back"), Session$2.validateAccess(this.props.auth.site, values.permissionMaintenanceTracking, this.props.auth) && !___default['default'].isEmpty(this.state.job) && /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
3456
+ to: "".concat(values.routeAddRequest, "/").concat(this.state.jobId)
3406
3457
  }, /*#__PURE__*/React__default['default'].createElement(Components$2.Button, {
3407
3458
  inline: true,
3408
3459
  style: {
@@ -3917,7 +3968,7 @@ var AddJob = /*#__PURE__*/function (_Component) {
3917
3968
  this.getJobTypes();
3918
3969
  this.getUsers();
3919
3970
  if (this.state.jobId) this.getJob();
3920
- this.props.addRecentlyCreated('maintenance');
3971
+ this.props.addRecentlyCreated(values.featureKey);
3921
3972
  }
3922
3973
  }, {
3923
3974
  key: "renderTypeOptions",
@@ -3941,14 +3992,15 @@ var AddJob = /*#__PURE__*/function (_Component) {
3941
3992
  key: "renderSuccess",
3942
3993
  value: function renderSuccess() {
3943
3994
  if (!this.state.success) return null;
3995
+ var title = this.props.strings["".concat(values.featureKey, "_textTitleRequests")] || values.textTitleRequests;
3944
3996
  return /*#__PURE__*/React__default['default'].createElement(Components$1.SuccessPopup, {
3945
- text: "Maintenance request has been ".concat(this.state.id != null ? 'edited' : 'added'),
3997
+ text: "Request has been ".concat(this.state.id != null ? 'edited' : 'added'),
3946
3998
  buttons: [{
3947
3999
  type: 'outlined',
3948
4000
  onClick: function onClick() {
3949
4001
  window.history.back();
3950
4002
  },
3951
- text: "Back to Maintenance"
4003
+ text: "Back to ".concat(title)
3952
4004
  }]
3953
4005
  });
3954
4006
  }
@@ -3977,7 +4029,7 @@ var AddJob = /*#__PURE__*/function (_Component) {
3977
4029
  inline: true,
3978
4030
  buttonType: "tertiary",
3979
4031
  onClick: function onClick() {
3980
- return _this3.props.history.push('/requestsHub');
4032
+ return _this3.props.history.push(values.routeRequestsHub);
3981
4033
  },
3982
4034
  isActive: true,
3983
4035
  style: {
@@ -4234,7 +4286,8 @@ var AddJob = /*#__PURE__*/function (_Component) {
4234
4286
  var mapStateToProps$1 = function mapStateToProps(state) {
4235
4287
  var auth = state.auth;
4236
4288
  return {
4237
- auth: auth
4289
+ auth: auth,
4290
+ strings: state.strings && state.strings.config || {}
4238
4291
  };
4239
4292
  };
4240
4293
 
@@ -4266,7 +4319,8 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
4266
4319
  endTime = _ref.endTime,
4267
4320
  auth = _ref.auth,
4268
4321
  prevText = _ref.prevText,
4269
- dayCount = _ref.dayCount;
4322
+ dayCount = _ref.dayCount,
4323
+ strings = _ref.strings;
4270
4324
 
4271
4325
  var _useState = React.useState(getInitialState()),
4272
4326
  _useState2 = _slicedToArray__default['default'](_useState, 2),
@@ -4278,12 +4332,20 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
4278
4332
  isExportOpen = _useState4[0],
4279
4333
  setIsExportOpen = _useState4[1];
4280
4334
 
4281
- var hasAccess = Session.validateAccess(auth.site, 'maintenanceTracking', auth);
4335
+ var hasAccess = Session.validateAccess(auth.site, values.permissionMaintenanceTracking, auth);
4282
4336
 
4283
4337
  if (!hasAccess) {
4284
4338
  return null;
4285
4339
  }
4286
4340
 
4341
+ var featureTitle = function (key) {
4342
+ if (!strings || !strings.sideNav || !strings.sideNav[key]) {
4343
+ return values.textMenuTitle;
4344
+ }
4345
+
4346
+ return strings.sideNav[key];
4347
+ }();
4348
+
4287
4349
  var exportColumns = [{
4288
4350
  label: 'Select All',
4289
4351
  key: ''
@@ -4319,7 +4381,7 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
4319
4381
 
4320
4382
  timeDifference = endTime - startTime;
4321
4383
  _context.next = 4;
4322
- return Promise.all([analyticsActions.getAggregateEntityStats(auth.site, 'maintenancerequest', startTime, endTime, true), analyticsActions.getAggregateEntityStats(auth.site, 'maintenancerequest', startTime - timeDifference, startTime, true)]);
4384
+ return Promise.all([analyticsActions.getAggregateEntityStats(auth.site, values.analyticsKey, startTime, endTime, true), analyticsActions.getAggregateEntityStats(auth.site, values.analyticsKey, startTime - timeDifference, startTime, true)]);
4323
4385
 
4324
4386
  case 4:
4325
4387
  _yield$Promise$all = _context.sent;
@@ -4376,7 +4438,7 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
4376
4438
  },
4377
4439
  columns: exportColumns,
4378
4440
  source: source,
4379
- filename: "maintenanceanalytics_".concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
4441
+ filename: "".concat(values.analyticsKey, "analytics_").concat(source[0].startDate, "_").concat(source[0].endDate, ".csv")
4380
4442
  });
4381
4443
  };
4382
4444
 
@@ -4385,7 +4447,7 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
4385
4447
  }, csvPopup(), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(Components.Text, {
4386
4448
  type: "h4",
4387
4449
  className: "inlineBlock marginRight-40"
4388
- }, "Maintenance"), /*#__PURE__*/React__default['default'].createElement(Components.Button, {
4450
+ }, featureTitle), /*#__PURE__*/React__default['default'].createElement(Components.Button, {
4389
4451
  inline: true,
4390
4452
  buttonType: "primaryAction",
4391
4453
  onClick: function onClick() {
@@ -4397,28 +4459,28 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
4397
4459
  }, "Export CSV")), /*#__PURE__*/React__default['default'].createElement("div", {
4398
4460
  className: "analyticsSection dashboardSection_content"
4399
4461
  }, /*#__PURE__*/React__default['default'].createElement(Components.StatBox, {
4400
- title: "Requests",
4462
+ title: "".concat(featureTitle, " Requests"),
4401
4463
  icon: freeSolidSvgIcons.faWrench,
4402
4464
  value: analyticsData.requests,
4403
4465
  previousValue: analyticsData.prevRequests,
4404
4466
  prevText: prevText,
4405
- viewGraphLink: "/chart?entity=maintenancerequest&startTime=".concat(startTime, "&endTime=").concat(endTime, "&key=Request&countType=total&dayCount=").concat(dayCount),
4467
+ viewGraphLink: "/chart?entity=".concat(values.analyticsKey, "&startTime=").concat(startTime, "&endTime=").concat(endTime, "&key=Request&countType=total&dayCount=").concat(dayCount),
4406
4468
  isLoading: analyticsData.isLoading
4407
4469
  }), /*#__PURE__*/React__default['default'].createElement(Components.StatBox, {
4408
- title: "Completed Requests",
4470
+ title: "Completed ".concat(featureTitle, " Requests"),
4409
4471
  icon: freeSolidSvgIcons.faCircleCheck,
4410
4472
  value: analyticsData.completedRequests,
4411
4473
  previousValue: analyticsData.prevCompletedRequests,
4412
4474
  prevText: prevText,
4413
- viewGraphLink: "/chart?entity=maintenancerequest&startTime=".concat(startTime, "&endTime=").concat(endTime, "&key=RequestCompleted&countType=unique&dayCount=").concat(dayCount),
4475
+ viewGraphLink: "/chart?entity=".concat(values.analyticsKey, "&startTime=").concat(startTime, "&endTime=").concat(endTime, "&key=RequestCompleted&countType=unique&dayCount=").concat(dayCount),
4414
4476
  isLoading: analyticsData.isLoading
4415
4477
  }), /*#__PURE__*/React__default['default'].createElement(Components.StatBox, {
4416
- title: "Maintenance Comments",
4478
+ title: "".concat(featureTitle, " Comments"),
4417
4479
  icon: freeSolidSvgIcons.faComment,
4418
4480
  value: analyticsData.comments,
4419
4481
  previousValue: analyticsData.prevComments,
4420
4482
  prevText: prevText,
4421
- viewGraphLink: "/chart?entity=maintenancerequest&startTime=".concat(startTime, "&endTime=").concat(endTime, "&key=Comment&countType=total&dayCount=").concat(dayCount),
4483
+ viewGraphLink: "/chart?entity=".concat(values.analyticsKey, "&startTime=").concat(startTime, "&endTime=").concat(endTime, "&key=Comment&countType=total&dayCount=").concat(dayCount),
4422
4484
  isLoading: analyticsData.isLoading
4423
4485
  })));
4424
4486
  };
@@ -4426,7 +4488,8 @@ var AnalyticsHub = function AnalyticsHub(_ref) {
4426
4488
  var mapStateToProps = function mapStateToProps(state) {
4427
4489
  var auth = state.auth;
4428
4490
  return {
4429
- auth: auth
4491
+ auth: auth,
4492
+ strings: state.strings && state.strings.config || {}
4430
4493
  };
4431
4494
  };
4432
4495
 
@@ -4540,51 +4603,51 @@ var ActivityText = /*#__PURE__*/function (_Component) {
4540
4603
  highlightedClasses = _this$props.highlightedClasses;
4541
4604
 
4542
4605
  switch (data.Type) {
4543
- case 'MaintenanceJobStatusChanged':
4606
+ case values.activityMaintenanceJobStatusChanged:
4544
4607
  return /*#__PURE__*/React__default['default'].createElement("p", {
4545
4608
  className: classes
4546
4609
  }, /*#__PURE__*/React__default['default'].createElement("span", {
4547
4610
  className: highlightedClasses
4548
- }, data.User.displayName), "\xA0changed a maintenance request's status:\xA0", /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
4549
- to: "/requestsHub/jobDetails/".concat(data.Id),
4611
+ }, data.User.displayName), "\xA0", values.textChangedRequestStatus, "\xA0", /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
4612
+ to: "".concat(values.routeRequestDetails, "/").concat(data.Id),
4550
4613
  className: clickableClasses
4551
4614
  }, ___default['default'].truncate(data.Data.title || data.Data.description, {
4552
4615
  length: 30,
4553
4616
  separator: '...'
4554
4617
  })));
4555
4618
 
4556
- case 'AddMaintenanceJob':
4619
+ case values.activityAddMaintenanceJob:
4557
4620
  return /*#__PURE__*/React__default['default'].createElement("p", {
4558
4621
  className: classes
4559
4622
  }, /*#__PURE__*/React__default['default'].createElement("span", {
4560
4623
  className: highlightedClasses
4561
- }, data.User.displayName), "\xA0added a maintenance request:\xA0", /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
4562
- to: "/requestsHub/jobDetails/".concat(data.Id),
4624
+ }, data.User.displayName), "\xA0", values.textAddedRequest, "\xA0", /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
4625
+ to: "".concat(values.routeRequestDetails, "/").concat(data.Id),
4563
4626
  className: clickableClasses
4564
4627
  }, ___default['default'].truncate(data.Data.title || data.Data.description, {
4565
4628
  length: 30,
4566
4629
  separator: '...'
4567
4630
  })));
4568
4631
 
4569
- case 'EditMaintenanceJob':
4632
+ case values.activityEditMaintenanceJob:
4570
4633
  return /*#__PURE__*/React__default['default'].createElement("p", {
4571
4634
  className: classes
4572
4635
  }, /*#__PURE__*/React__default['default'].createElement("span", {
4573
4636
  className: highlightedClasses
4574
- }, data.User.displayName), "\xA0edited a maintenance request:\xA0", /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
4575
- to: "/requestsHub/jobDetails/".concat(data.Id),
4637
+ }, data.User.displayName), "\xA0", values.textEditedRequest, "\xA0", /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Link, {
4638
+ to: "".concat(values.routeRequestDetails, "/").concat(data.Id),
4576
4639
  className: clickableClasses
4577
4640
  }, ___default['default'].truncate(data.Data.title || data.Data.description, {
4578
4641
  length: 30,
4579
4642
  separator: '...'
4580
4643
  })));
4581
4644
 
4582
- case 'DeleteMaintenanceJob':
4645
+ case values.activityDeleteMaintenanceJob:
4583
4646
  return /*#__PURE__*/React__default['default'].createElement("p", {
4584
4647
  className: classes
4585
4648
  }, /*#__PURE__*/React__default['default'].createElement("span", {
4586
4649
  className: highlightedClasses
4587
- }, data.User.displayName), "\xA0removed a maintenance request:\xA0", /*#__PURE__*/React__default['default'].createElement("span", {
4650
+ }, data.User.displayName), "\xA0", values.textRemovedRequest, "\xA0", /*#__PURE__*/React__default['default'].createElement("span", {
4588
4651
  className: highlightedClasses
4589
4652
  }, ___default['default'].truncate(data.Data.title || data.Data.description, {
4590
4653
  length: 30,
@@ -4788,6 +4851,8 @@ var styles = {
4788
4851
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); 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); }; }
4789
4852
 
4790
4853
  function _isNativeReflectConstruct() { 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; } }
4854
+ var SVG_PATH = values.svgPathGridIcon;
4855
+ var SVG_VIEWBOX = values.svgPathGridIconViewBox ;
4791
4856
 
4792
4857
  var PreviewGrid = /*#__PURE__*/function (_Component) {
4793
4858
  _inherits__default['default'](PreviewGrid, _Component);
@@ -4804,29 +4869,46 @@ var PreviewGrid = /*#__PURE__*/function (_Component) {
4804
4869
  key: "render",
4805
4870
  value: function render() {
4806
4871
  var colour = this.props.colour;
4807
- var path = 'M22.7072 2.33998C20.5868 2.30886 18.2156 3.43862 16.824 4.83022C15.1138 6.54042 15.1486 8.34584 15.7894 10.5065L13.2058 13.0901L7.7566 7.64089C7.75294 7.60976 7.75477 7.5768 7.74927 7.54567L7.48926 6.30605C7.43799 6.06435 7.28968 5.84645 7.08277 5.71279L3.77589 3.56313C3.40601 3.32509 2.91163 3.37636 2.60035 3.68764L1.81116 4.47682C1.50171 4.7881 1.44861 5.28066 1.68848 5.6487L3.80152 8.91713C3.93336 9.12221 4.13843 9.26686 4.3783 9.32179L5.66004 9.61659C5.69483 9.62392 5.72962 9.62209 5.76441 9.62575L11.2155 15.0786L8.03309 18.2647C6.23316 18.0907 4.52112 18.8396 3.417 20.2971C2.0254 22.1373 2.05836 24.7814 3.49756 26.5886C4.41858 27.7459 5.78821 28.4563 7.25123 28.5405C7.34827 28.546 7.44532 28.5479 7.54236 28.5479C8.9065 28.5479 10.2212 28.0059 11.1898 27.0372C12.2866 25.9404 12.8195 24.4445 12.6711 22.9027L14.7311 20.8446C14.8391 21.2035 15.0259 21.5386 15.2987 21.8114L21.5939 28.1102C22.0516 28.5662 22.6522 28.7932 23.2528 28.7932C23.8534 28.7932 24.454 28.5662 24.9099 28.1102L26.2356 26.7827C27.1493 25.869 27.1493 24.3822 26.2356 23.4685L19.9368 17.1697C19.6658 16.8987 19.3307 16.7138 18.9718 16.6039L20.4275 15.1464C22.5881 15.7854 24.3954 15.822 26.1056 14.1118C27.814 12.4035 29.1323 9.21559 28.3834 6.83522C28.3358 6.67958 28.2076 6.55873 28.0483 6.52028C27.889 6.48183 27.7206 6.52944 27.6052 6.64479L24.681 9.56899C24.5638 9.68801 24.3899 9.73561 24.2288 9.68984L23.7161 9.55251C22.5863 9.25038 21.6964 8.36049 21.3943 7.23256L21.257 6.71987C21.213 6.55873 21.2606 6.38478 21.3796 6.2676L24.3093 3.33608C24.4247 3.22072 24.4705 3.05409 24.4338 2.89479C24.3936 2.73549 24.2764 2.60732 24.1189 2.55788C23.6721 2.41506 23.1961 2.34731 22.7072 2.33998ZM22.6669 3.28115C22.7877 3.28298 22.9067 3.28664 23.0239 3.29579L20.7168 5.60292C20.3616 5.95815 20.2242 6.47817 20.3543 6.96157L20.4916 7.47609C20.8798 8.92629 22.0223 10.0689 23.4744 10.4589L23.9871 10.5962C24.4705 10.7262 24.9905 10.5871 25.3439 10.2318L27.6437 7.93202C27.7883 9.80702 26.7318 12.1599 25.4446 13.4472C23.9834 14.9083 22.5021 14.8168 20.4367 14.1686C20.27 14.1173 20.0888 14.1613 19.9661 14.284L11.849 22.401C11.7446 22.5054 11.6952 22.6519 11.7172 22.7984C11.9039 24.1277 11.47 25.4314 10.527 26.3744C9.67737 27.224 8.5055 27.6708 7.30433 27.6049C6.08851 27.5353 4.9972 26.9677 4.22999 26.0045C3.05445 24.5287 3.02698 22.3662 4.16407 20.8648C4.98438 19.7826 6.20936 19.1765 7.52588 19.1765C7.7273 19.1765 7.93238 19.1912 8.13746 19.2186C8.28211 19.2388 8.43043 19.1912 8.53296 19.0868L16.65 10.9716C16.7745 10.8471 16.8203 10.6658 16.7672 10.4973C16.119 8.43373 16.0275 6.95424 17.4887 5.49306C18.7008 4.2809 20.8541 3.27931 22.6669 3.28115ZM3.26319 4.35048L6.57191 6.49831L6.83191 7.73793L5.86695 8.70107L4.58704 8.4081L2.474 5.13967L3.26319 4.35048ZM7.34095 8.55275L12.543 13.7529L11.8801 14.4158L6.67994 9.21559L7.0077 8.88967L7.34095 8.55275ZM18.4811 8.66994C18.3621 8.66994 18.243 8.71572 18.1497 8.80727C17.9666 8.99037 17.9666 9.287 18.1497 9.47011L21.4657 12.7843C21.5573 12.8759 21.6763 12.9216 21.7971 12.9216C21.9161 12.9216 22.037 12.8759 22.1267 12.7843C22.3117 12.6012 22.3117 12.3046 22.1267 12.1215L18.8143 8.80727C18.721 8.71572 18.6019 8.66994 18.4811 8.66994ZM17.1554 12.647C17.0364 12.647 16.9155 12.6928 16.824 12.7843C16.6409 12.9674 16.6409 13.2641 16.824 13.4472L17.4887 14.11C17.5802 14.2016 17.6992 14.2473 17.8201 14.2473C17.9409 14.2473 18.0599 14.2016 18.1515 14.11C18.3346 13.9269 18.3346 13.6303 18.1515 13.4472L17.4887 12.7843C17.3953 12.6928 17.2763 12.647 17.1554 12.647ZM15.4983 14.3041C15.3793 14.3041 15.2603 14.3499 15.1687 14.4433C14.9838 14.6264 14.9838 14.9212 15.1687 15.1043L15.8297 15.7689C15.9213 15.8587 16.0421 15.9063 16.163 15.9063C16.282 15.9063 16.4028 15.8587 16.4944 15.7689C16.6775 15.584 16.6775 15.2892 16.4944 15.1043L15.8297 14.4433C15.7382 14.3499 15.6191 14.3041 15.4983 14.3041ZM13.843 15.9612C13.7222 15.9612 13.6032 16.007 13.5116 16.0985C13.3267 16.2816 13.3267 16.5783 13.5116 16.7632L14.1726 17.4242C14.2642 17.5158 14.385 17.5634 14.504 17.5634C14.6249 17.5634 14.7457 17.5158 14.8373 17.4242C15.0204 17.2429 15.0204 16.9463 14.8373 16.7632L14.1726 16.0985C14.0811 16.007 13.962 15.9612 13.843 15.9612ZM18.4426 17.4444C18.7539 17.4755 19.0487 17.6073 19.2758 17.8344L25.5728 24.1314C26.1221 24.6807 26.1221 25.5706 25.5728 26.1199L24.2452 27.4456C23.6978 27.9949 22.806 27.9949 22.2586 27.4456L15.9597 21.1467C15.6594 20.8465 15.5258 20.4216 15.5734 20.0023L18.1277 17.4462C18.2339 17.4352 18.3383 17.4334 18.4426 17.4444ZM12.1859 17.6201C12.0651 17.6201 11.9461 17.6641 11.8527 17.7556C11.6696 17.9406 11.6696 18.2354 11.8527 18.4203L12.5173 19.0813C12.6071 19.1729 12.7279 19.2186 12.8469 19.2186C12.9678 19.2186 13.0886 19.1729 13.1784 19.0813C13.3633 18.8982 13.3633 18.6034 13.1784 18.4203L12.5173 17.7556C12.424 17.6641 12.3049 17.6201 12.1859 17.6201ZM10.527 19.2772C10.408 19.2772 10.2889 19.323 10.1956 19.4146C10.0125 19.5977 10.0125 19.8925 10.1956 20.0756L10.8584 20.7403C10.95 20.83 11.069 20.8757 11.1898 20.8757C11.3107 20.8757 11.4297 20.83 11.5212 20.7403C11.7044 20.5553 11.7044 20.2605 11.5212 20.0756L10.8584 19.4146C10.7669 19.323 10.646 19.2772 10.527 19.2772ZM19.2758 19.3523C19.1549 19.3523 19.0359 19.3981 18.9425 19.4896C18.7594 19.6746 18.7594 19.9694 18.9425 20.1543L23.5842 24.7942C23.6758 24.8858 23.7948 24.9315 23.9157 24.9315C24.0365 24.9315 24.1555 24.8858 24.2471 24.7942C24.4302 24.6111 24.4302 24.3145 24.2471 24.1314L19.6072 19.4896C19.5138 19.3981 19.3948 19.3523 19.2758 19.3523ZM17.9501 20.678C17.8292 20.678 17.7102 20.7238 17.6168 20.8153C17.4337 21.0003 17.4337 21.2951 17.6168 21.48L22.2586 26.1199C22.3483 26.2114 22.4691 26.2572 22.5881 26.2572C22.709 26.2572 22.8298 26.2114 22.9196 26.1199C23.1045 25.9368 23.1045 25.6402 22.9196 25.457L18.2815 20.8153C18.1881 20.7238 18.0691 20.678 17.9501 20.678ZM8.11182 20.8373C8.07154 20.8373 8.03126 20.8428 7.99097 20.8538L5.89808 21.4141C5.73694 21.458 5.6106 21.5844 5.56666 21.7455L5.00818 23.8366C4.96424 23.9977 5.01002 24.1698 5.1272 24.2888L6.65796 25.8196C6.74769 25.9093 6.86671 25.9569 6.98939 25.9569C7.0315 25.9569 7.07178 25.9514 7.11207 25.9423L9.20313 25.3801C9.36426 25.338 9.49061 25.2117 9.53455 25.0487L10.0949 22.9595C10.1388 22.7965 10.0912 22.6244 9.974 22.5054L8.44324 20.9746C8.35352 20.8867 8.2345 20.8391 8.11182 20.8373ZM7.97083 21.8279L9.1189 22.976L8.69959 24.5452L7.13038 24.9663L5.98231 23.8183L6.40162 22.249L7.97083 21.8279Z';
4808
- return /*#__PURE__*/React__default['default'].createElement("svg", {
4809
- xmlns: "http://www.w3.org/2000/svg",
4810
- viewBox: '0 0 30 30'
4811
- }, /*#__PURE__*/React__default['default'].createElement("path", {
4812
- key: path.substring(0, 20),
4813
- d: path,
4814
- fill: colour
4815
- }), ";");
4872
+
4873
+ if (Array.isArray(SVG_PATH)) {
4874
+ return /*#__PURE__*/React__default['default'].createElement("svg", {
4875
+ xmlns: "http://www.w3.org/2000/svg",
4876
+ viewBox: SVG_VIEWBOX
4877
+ }, SVG_PATH.map(function (p) {
4878
+ return /*#__PURE__*/React__default['default'].createElement("path", {
4879
+ key: p.substring(0, 20),
4880
+ d: p,
4881
+ fill: colour
4882
+ });
4883
+ }));
4884
+ } else {
4885
+ return /*#__PURE__*/React__default['default'].createElement("svg", {
4886
+ xmlns: "http://www.w3.org/2000/svg",
4887
+ viewBox: SVG_VIEWBOX
4888
+ }, /*#__PURE__*/React__default['default'].createElement("path", {
4889
+ key: SVG_PATH.substring(0, 20),
4890
+ d: SVG_PATH,
4891
+ fill: colour
4892
+ }));
4893
+ }
4816
4894
  }
4817
4895
  }]);
4818
4896
 
4819
4897
  return PreviewGrid;
4820
4898
  }(React.Component);
4821
4899
 
4822
- var Reducers = {
4823
- maintenance: MaintenanceReducer
4824
- };
4825
- var Screens = {
4826
- RequestsHub: RequestsHub$1,
4827
- Job: Job$1,
4828
- AddJob: AddJob$1
4829
- };
4900
+ var Reducers = function () {
4901
+ var reducers = {};
4902
+ reducers[values.reducerKey] = MaintenanceReducer;
4903
+ return reducers;
4904
+ }();
4905
+ var Screens = function () {
4906
+ var screens = {};
4907
+ screens[values.screenRequestsHub] = RequestsHub$1;
4908
+ screens[values.screenJob] = Job$1;
4909
+ screens[values.screenAddJob] = AddJob$1;
4910
+ return screens;
4911
+ }();
4830
4912
  var Analytics = [toExport];
4831
4913
 
4832
4914
  exports.ActivityText = ActivityText;