@oneuptime/common 7.0.4064 → 7.0.4078
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/Server/API/StatusPageAPI.ts +426 -0
- package/Server/EnvironmentConfig.ts +7 -0
- package/Server/Services/OnCallDutyPolicyScheduleService.ts +1 -1
- package/Server/Utils/StartServer.ts +34 -5
- package/Types/Email/EmailTemplateType.ts +1 -0
- package/UI/Components/Button/DropdownButton.tsx +93 -0
- package/UI/Components/Forms/BasicForm.tsx +14 -2
- package/UI/Components/Forms/BasicModelForm.tsx +8 -1
- package/UI/Components/Forms/Fields/FormField.tsx +32 -18
- package/UI/Components/Forms/ModelForm.tsx +13 -3
- package/UI/Components/Forms/Types/Field.ts +7 -1
- package/UI/Images/favicon/status-green.png +0 -0
- package/build/dist/Server/API/StatusPageAPI.js +320 -36
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +2 -1
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js +1 -1
- package/build/dist/Server/Utils/StartServer.js +16 -4
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/UI/Components/Button/DropdownButton.js +20 -0
- package/build/dist/UI/Components/Button/DropdownButton.js.map +1 -0
- package/build/dist/UI/Components/Forms/BasicForm.js +8 -2
- package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
- package/build/dist/UI/Components/Forms/BasicModelForm.js +1 -1
- package/build/dist/UI/Components/Forms/BasicModelForm.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/FormField.js +23 -18
- package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
- package/build/dist/UI/Components/Forms/ModelForm.js +2 -2
- package/build/dist/UI/Components/Forms/ModelForm.js.map +1 -1
- package/package.json +2 -2
- package/UI/webpack-middleware.js +0 -65
|
@@ -23,7 +23,12 @@ export interface ComponentProps<TBaseModel extends BaseModel> {
|
|
|
23
23
|
values: FormValues<TBaseModel>,
|
|
24
24
|
onSubmitSuccessful: () => void,
|
|
25
25
|
) => void;
|
|
26
|
-
onChange?:
|
|
26
|
+
onChange?:
|
|
27
|
+
| undefined
|
|
28
|
+
| ((
|
|
29
|
+
values: FormValues<TBaseModel>,
|
|
30
|
+
setNewFormValues: (newValues: FormValues<TBaseModel>) => void,
|
|
31
|
+
) => void);
|
|
27
32
|
onValidate?:
|
|
28
33
|
| undefined
|
|
29
34
|
| ((values: FormValues<TBaseModel>) => FormErrors<FormValues<TBaseModel>>);
|
|
@@ -48,6 +53,7 @@ export interface ComponentProps<TBaseModel extends BaseModel> {
|
|
|
48
53
|
formRef?: undefined | MutableRefObject<FormProps<FormValues<TBaseModel>>>;
|
|
49
54
|
initialValues?: FormValues<TBaseModel> | undefined;
|
|
50
55
|
summary?: FormSummaryConfig | undefined;
|
|
56
|
+
values?: FormValues<TBaseModel> | undefined;
|
|
51
57
|
}
|
|
52
58
|
|
|
53
59
|
const BasicModelForm: <TBaseModel extends BaseModel>(
|
|
@@ -99,6 +105,7 @@ const BasicModelForm: <TBaseModel extends BaseModel>(
|
|
|
99
105
|
|
|
100
106
|
return (
|
|
101
107
|
<BasicForm
|
|
108
|
+
values={props.values}
|
|
102
109
|
isLoading={props.isLoading || false}
|
|
103
110
|
fields={formFields}
|
|
104
111
|
id={props.id}
|
|
@@ -47,6 +47,7 @@ export interface ComponentProps<T extends GenericObject> {
|
|
|
47
47
|
setFieldValue: (fieldName: string, value: JSONValue) => void;
|
|
48
48
|
disableAutofocus?: boolean;
|
|
49
49
|
submitForm?: (() => void) | undefined;
|
|
50
|
+
setFormValues?: ((values: FormValues<T>) => void) | undefined;
|
|
50
51
|
}
|
|
51
52
|
|
|
52
53
|
const FormField: <T extends GenericObject>(
|
|
@@ -54,6 +55,19 @@ const FormField: <T extends GenericObject>(
|
|
|
54
55
|
) => ReactElement = <T extends GenericObject>(
|
|
55
56
|
props: ComponentProps<T>,
|
|
56
57
|
): ReactElement => {
|
|
58
|
+
type onChangeFunction = (value: JSONValue) => void;
|
|
59
|
+
|
|
60
|
+
const onChange: onChangeFunction = (value: JSONValue): void => {
|
|
61
|
+
props.field.onChange &&
|
|
62
|
+
props.field.onChange(
|
|
63
|
+
value,
|
|
64
|
+
props.currentValues,
|
|
65
|
+
(newFormValues: FormValues<T>) => {
|
|
66
|
+
props.setFormValues && props.setFormValues(newFormValues);
|
|
67
|
+
},
|
|
68
|
+
);
|
|
69
|
+
};
|
|
70
|
+
|
|
57
71
|
type GetFieldTypeFunction = (fieldType: FormFieldSchemaType) => string;
|
|
58
72
|
|
|
59
73
|
const getFieldType: GetFieldTypeFunction = (
|
|
@@ -116,8 +130,8 @@ const FormField: <T extends GenericObject>(
|
|
|
116
130
|
description={`${props.field.description}`}
|
|
117
131
|
onSubmit={() => {
|
|
118
132
|
setShowMultiSelectCheckboxCategoryModal(false);
|
|
119
|
-
|
|
120
|
-
|
|
133
|
+
|
|
134
|
+
onChange(checkboxCategoryValues);
|
|
121
135
|
props.setFieldValue(props.fieldName, checkboxCategoryValues);
|
|
122
136
|
}}
|
|
123
137
|
onClose={() => {
|
|
@@ -268,7 +282,7 @@ const FormField: <T extends GenericObject>(
|
|
|
268
282
|
error={props.touched && props.error ? props.error : undefined}
|
|
269
283
|
dataTestId={props.field.dataTestId}
|
|
270
284
|
onChange={async (value: Color | null) => {
|
|
271
|
-
|
|
285
|
+
onChange(value);
|
|
272
286
|
props.setFieldValue(props.fieldName, value);
|
|
273
287
|
props.setFieldTouched(props.fieldName, true);
|
|
274
288
|
}}
|
|
@@ -294,7 +308,7 @@ const FormField: <T extends GenericObject>(
|
|
|
294
308
|
onChange={async (
|
|
295
309
|
value: DropdownValue | Array<DropdownValue> | null,
|
|
296
310
|
) => {
|
|
297
|
-
|
|
311
|
+
onChange(value);
|
|
298
312
|
props.setFieldValue(props.fieldName, value);
|
|
299
313
|
}}
|
|
300
314
|
onBlur={async () => {
|
|
@@ -322,7 +336,7 @@ const FormField: <T extends GenericObject>(
|
|
|
322
336
|
disabled={props.isDisabled || props.field.disabled}
|
|
323
337
|
error={props.touched && props.error ? props.error : undefined}
|
|
324
338
|
onChange={(value: ObjectID) => {
|
|
325
|
-
|
|
339
|
+
onChange(value);
|
|
326
340
|
props.setFieldValue(props.fieldName, value);
|
|
327
341
|
}}
|
|
328
342
|
onEnterPress={() => {
|
|
@@ -351,7 +365,7 @@ const FormField: <T extends GenericObject>(
|
|
|
351
365
|
: props.field.defaultValue || {}
|
|
352
366
|
}
|
|
353
367
|
onChange={(value: Dictionary<string | number | boolean>) => {
|
|
354
|
-
|
|
368
|
+
onChange(value);
|
|
355
369
|
props.setFieldValue(props.fieldName, value);
|
|
356
370
|
}}
|
|
357
371
|
/>
|
|
@@ -363,7 +377,7 @@ const FormField: <T extends GenericObject>(
|
|
|
363
377
|
error={props.touched && props.error ? props.error : undefined}
|
|
364
378
|
dataTestId={props.field.dataTestId}
|
|
365
379
|
onChange={async (value: string) => {
|
|
366
|
-
|
|
380
|
+
onChange(value);
|
|
367
381
|
props.setFieldValue(props.fieldName, value);
|
|
368
382
|
}}
|
|
369
383
|
options={props.field.radioButtonOptions || []}
|
|
@@ -381,7 +395,7 @@ const FormField: <T extends GenericObject>(
|
|
|
381
395
|
error={props.touched && props.error ? props.error : undefined}
|
|
382
396
|
dataTestId={props.field.dataTestId}
|
|
383
397
|
onChange={async (value: RadioValue | null) => {
|
|
384
|
-
|
|
398
|
+
onChange(value);
|
|
385
399
|
props.setFieldValue(props.fieldName, value);
|
|
386
400
|
}}
|
|
387
401
|
options={
|
|
@@ -410,7 +424,7 @@ const FormField: <T extends GenericObject>(
|
|
|
410
424
|
tabIndex={index}
|
|
411
425
|
dataTestId={props.field.dataTestId}
|
|
412
426
|
onChange={async (value: string) => {
|
|
413
|
-
|
|
427
|
+
onChange(value);
|
|
414
428
|
props.setFieldValue(props.fieldName, value);
|
|
415
429
|
}}
|
|
416
430
|
onBlur={async () => {
|
|
@@ -433,7 +447,7 @@ const FormField: <T extends GenericObject>(
|
|
|
433
447
|
tabIndex={index}
|
|
434
448
|
dataTestId={props.field.dataTestId}
|
|
435
449
|
onChange={async (value: string) => {
|
|
436
|
-
|
|
450
|
+
onChange(value);
|
|
437
451
|
props.setFieldValue(props.fieldName, value);
|
|
438
452
|
}}
|
|
439
453
|
onBlur={async () => {
|
|
@@ -462,7 +476,7 @@ const FormField: <T extends GenericObject>(
|
|
|
462
476
|
tabIndex={index}
|
|
463
477
|
type={CodeType.Markdown}
|
|
464
478
|
onChange={async (value: string) => {
|
|
465
|
-
|
|
479
|
+
onChange(value);
|
|
466
480
|
props.setFieldValue(props.fieldName, value);
|
|
467
481
|
}}
|
|
468
482
|
onBlur={async () => {
|
|
@@ -484,7 +498,7 @@ const FormField: <T extends GenericObject>(
|
|
|
484
498
|
error: props.touched && props.error ? props.error : undefined,
|
|
485
499
|
tabIndex: index,
|
|
486
500
|
onChange: async (value: string) => {
|
|
487
|
-
|
|
501
|
+
onChange(value);
|
|
488
502
|
props.setFieldValue(props.fieldName, value);
|
|
489
503
|
},
|
|
490
504
|
onBlur: async () => {
|
|
@@ -507,7 +521,7 @@ const FormField: <T extends GenericObject>(
|
|
|
507
521
|
error={props.touched && props.error ? props.error : undefined}
|
|
508
522
|
tabIndex={index}
|
|
509
523
|
onChange={async (value: string) => {
|
|
510
|
-
|
|
524
|
+
onChange(value);
|
|
511
525
|
props.setFieldValue(props.fieldName, value);
|
|
512
526
|
}}
|
|
513
527
|
onBlur={async () => {
|
|
@@ -551,7 +565,7 @@ const FormField: <T extends GenericObject>(
|
|
|
551
565
|
}
|
|
552
566
|
}
|
|
553
567
|
|
|
554
|
-
|
|
568
|
+
onChange(fileResult);
|
|
555
569
|
props.setFieldValue(props.fieldName, fileResult);
|
|
556
570
|
}}
|
|
557
571
|
onBlur={async () => {
|
|
@@ -577,7 +591,7 @@ const FormField: <T extends GenericObject>(
|
|
|
577
591
|
<Toggle
|
|
578
592
|
error={props.touched && props.error ? props.error : undefined}
|
|
579
593
|
onChange={async (value: boolean) => {
|
|
580
|
-
|
|
594
|
+
onChange(value);
|
|
581
595
|
props.setFieldValue(props.fieldName, value);
|
|
582
596
|
}}
|
|
583
597
|
onBlur={async () => {
|
|
@@ -594,7 +608,7 @@ const FormField: <T extends GenericObject>(
|
|
|
594
608
|
title={props.field.title || ""}
|
|
595
609
|
description={props.field.description || ""}
|
|
596
610
|
onChange={async (value: boolean) => {
|
|
597
|
-
|
|
611
|
+
onChange(value);
|
|
598
612
|
props.setFieldValue(props.fieldName, value);
|
|
599
613
|
}}
|
|
600
614
|
dataTestId={props.field.dataTestId}
|
|
@@ -621,7 +635,7 @@ const FormField: <T extends GenericObject>(
|
|
|
621
635
|
error={props.touched && props.error ? props.error : undefined}
|
|
622
636
|
dataTestId={props.field.dataTestId}
|
|
623
637
|
onChange={async (value: Array<CategoryCheckboxValue>) => {
|
|
624
|
-
|
|
638
|
+
onChange(value);
|
|
625
639
|
props.setFieldValue(props.fieldName, value);
|
|
626
640
|
}}
|
|
627
641
|
initialValue={
|
|
@@ -657,7 +671,7 @@ const FormField: <T extends GenericObject>(
|
|
|
657
671
|
dataTestId={props.field.dataTestId}
|
|
658
672
|
type={fieldType as InputType}
|
|
659
673
|
onChange={(value: string) => {
|
|
660
|
-
|
|
674
|
+
onChange(value);
|
|
661
675
|
props.setFieldValue(props.fieldName, value);
|
|
662
676
|
}}
|
|
663
677
|
onEnterPress={() => {
|
|
@@ -80,7 +80,12 @@ export interface ComponentProps<TBaseModel extends BaseModel> {
|
|
|
80
80
|
footer?: ReactElement | undefined;
|
|
81
81
|
onCancel?: undefined | (() => void);
|
|
82
82
|
name?: string | undefined;
|
|
83
|
-
onChange?:
|
|
83
|
+
onChange?:
|
|
84
|
+
| undefined
|
|
85
|
+
| ((
|
|
86
|
+
values: FormValues<TBaseModel>,
|
|
87
|
+
setNewFormValues: (newValues: FormValues<TBaseModel>) => void,
|
|
88
|
+
) => void);
|
|
84
89
|
onSuccess?: undefined | ((data: TBaseModel, miscData?: JSONObject) => void);
|
|
85
90
|
cancelButtonText?: undefined | string;
|
|
86
91
|
maxPrimaryButtonWidth?: undefined | boolean;
|
|
@@ -102,6 +107,7 @@ export interface ComponentProps<TBaseModel extends BaseModel> {
|
|
|
102
107
|
doNotFetchExistingModel?: boolean | undefined;
|
|
103
108
|
modelAPI?: typeof ModelAPI | undefined;
|
|
104
109
|
summary?: FormSummaryConfig | undefined;
|
|
110
|
+
values?: FormValues<TBaseModel> | undefined;
|
|
105
111
|
}
|
|
106
112
|
|
|
107
113
|
const ModelForm: <TBaseModel extends BaseModel>(
|
|
@@ -751,6 +757,7 @@ const ModelForm: <TBaseModel extends BaseModel>(
|
|
|
751
757
|
return (
|
|
752
758
|
<div>
|
|
753
759
|
<BasicModelForm<TBaseModel>
|
|
760
|
+
values={props.values}
|
|
754
761
|
title={props.title}
|
|
755
762
|
description={props.description}
|
|
756
763
|
disableAutofocus={props.disableAutofocus}
|
|
@@ -761,9 +768,12 @@ const ModelForm: <TBaseModel extends BaseModel>(
|
|
|
761
768
|
onIsLastFormStep={props.onIsLastFormStep}
|
|
762
769
|
fields={fields}
|
|
763
770
|
steps={props.steps}
|
|
764
|
-
onChange={(
|
|
771
|
+
onChange={(
|
|
772
|
+
values: FormValues<TBaseModel>,
|
|
773
|
+
setNewFormValues: (newValues: FormValues<TBaseModel>) => void,
|
|
774
|
+
) => {
|
|
765
775
|
if (!isLoading) {
|
|
766
|
-
props.onChange && props.onChange(values);
|
|
776
|
+
props.onChange && props.onChange(values, setNewFormValues);
|
|
767
777
|
}
|
|
768
778
|
}}
|
|
769
779
|
showAsColumns={props.showAsColumns}
|
|
@@ -82,7 +82,13 @@ export default interface Field<TEntity> {
|
|
|
82
82
|
| undefined;
|
|
83
83
|
styleType?: FormFieldStyleType | undefined;
|
|
84
84
|
showIf?: ((item: FormValues<TEntity>) => boolean) | undefined;
|
|
85
|
-
onChange?:
|
|
85
|
+
onChange?:
|
|
86
|
+
| ((
|
|
87
|
+
value: any,
|
|
88
|
+
currentFormValues: FormValues<TEntity>,
|
|
89
|
+
setNewFormValues: (currentFormValues: FormValues<TEntity>) => void,
|
|
90
|
+
) => void)
|
|
91
|
+
| undefined;
|
|
86
92
|
fieldType?: FormFieldSchemaType;
|
|
87
93
|
overrideFieldKey?: string;
|
|
88
94
|
defaultValue?: boolean | string | Date | number | undefined;
|
|
Binary file
|