namirasoft-site-react 1.4.153 → 1.4.154

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.
@@ -6,8 +6,9 @@ export declare class Validator {
6
6
  static getErrorString(name: string, value: string | null | undefined, validator: IValidationStringProps): string | null;
7
7
  static getErrorNumber(name: string, value: number | null | undefined, validator: IValidationNumberProps): string | null;
8
8
  static getErrorEmail(name: string, value: string | null | undefined, validator: IValidationProps): string | null;
9
- static getErrorDate(name: string, value: string | null | undefined): string | null;
10
- static getErrorTime(name: string, value: string | null | undefined): string | null;
9
+ static getErrorDate(name: string, value: Date | null | undefined): string | null;
10
+ static getErrorTime(name: string, value: Date | null | undefined): string | null;
11
+ static getErrorDateTime(name: string, value: Date | null | undefined): string | null;
11
12
  static getErrorDuration(name: string, value: string | null | undefined): string | null;
12
13
  static getErrorIPV4(name: string, value: string | null | undefined): string | null;
13
14
  static getErrorIPV6(name: string, value: string | null | undefined): string | null;
package/dist/Validator.js CHANGED
@@ -54,7 +54,12 @@ export class Validator {
54
54
  });
55
55
  }
56
56
  static getErrorDate(name, value) {
57
- return Validator.getError(name, value, {
57
+ if (value != null) {
58
+ const dateTime = new Date(value);
59
+ if (isNaN(dateTime.getTime()))
60
+ return `${value} is not a valid Date for ${name}.`;
61
+ }
62
+ return Validator.getError(name, value === null || value === void 0 ? void 0 : value.toLocaleDateString(), {
58
63
  required: true, regex: {
59
64
  name: "Date",
60
65
  regex: DateSchema.REGEX
@@ -62,13 +67,26 @@ export class Validator {
62
67
  });
63
68
  }
64
69
  static getErrorTime(name, value) {
65
- return Validator.getError(name, value, {
70
+ if (value != null) {
71
+ const dateTime = new Date(value);
72
+ if (isNaN(dateTime.getTime()))
73
+ return `${value} is not a valid Time for ${name}.`;
74
+ }
75
+ return Validator.getError(name, value === null || value === void 0 ? void 0 : value.toLocaleTimeString(), {
66
76
  required: true, regex: {
67
77
  name: "Time",
68
78
  regex: TimeSchema.REGEX
69
79
  }
70
80
  });
71
81
  }
82
+ static getErrorDateTime(name, value) {
83
+ if (value != null) {
84
+ const dateTime = new Date(value);
85
+ if (isNaN(dateTime.getTime()))
86
+ return `${value} is not a valid DateTime for ${name}.`;
87
+ }
88
+ return null;
89
+ }
72
90
  static getErrorDuration(name, value) {
73
91
  return Validator.getError(name, value, {
74
92
  required: true, regex: {
@@ -1 +1 @@
1
- {"version":3,"file":"Validator.js","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Validator.js","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEhH,MAAM,OAAO,SAAS;IAElB,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,KAAyC,EAAE,SAA2B;QAEhG,IAAI,SAAS,CAAC,QAAQ;YAClB,IAAI,CAAC,KAAK;gBACN,OAAO,GAAG,IAAI,eAAe,CAAC;QACtC,IAAI,KAAK,IAAI,IAAI;YACb,IAAI,SAAS,CAAC,KAAK,EACnB,CAAC;gBACG,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBACnD,OAAO,GAAG,IAAI,mBAAmB,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;YACjE,CAAC;QACL,IAAI,KAAK,IAAI,IAAI;YACb,IAAI,SAAS,CAAC,SAAS,EACvB,CAAC;gBACG,IAAI,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7C,IAAI,KAAK;oBACL,OAAO,KAAK,CAAC;YACrB,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,IAAY,EAAE,KAAgC,EAAE,SAAiC;QAEnG,IAAI,KAAK,IAAI,IAAI,EACjB,CAAC;YACG,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI;gBAC5B,IAAI,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM;oBACnC,OAAO,iBAAiB,IAAI,cAAc,SAAS,CAAC,UAAU,cAAc,CAAC;YACrF,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI;gBAC5B,IAAI,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM;oBACnC,OAAO,gBAAgB,IAAI,cAAc,SAAS,CAAC,UAAU,cAAc,CAAC;QACxF,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,IAAY,EAAE,KAAgC,EAAE,SAAiC;QAEnG,IAAI,KAAK,IAAI,IAAI,EACjB,CAAC;YACG,IAAI,KAAK,CAAC,KAAK,CAAC;gBACZ,OAAO,GAAG,IAAI,mBAAmB,CAAC;YACtC,IAAI,SAAS,CAAC,GAAG,IAAI,IAAI;gBACrB,IAAI,SAAS,CAAC,GAAG,GAAG,KAAK;oBACrB,OAAO,gBAAgB,IAAI,cAAc,SAAS,CAAC,GAAG,cAAc,CAAC;YAC7E,IAAI,SAAS,CAAC,GAAG,IAAI,IAAI;gBACrB,IAAI,SAAS,CAAC,GAAG,GAAG,KAAK;oBACrB,OAAO,gBAAgB,IAAI,cAAc,SAAS,CAAC,GAAG,cAAc,CAAC;QACjF,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,IAAY,EAAE,KAAgC,EAAE,SAA2B;QAE5F,IAAI,CAAC,SAAS,CAAC,QAAQ;YACnB,IAAI,CAAC,KAAK;gBACN,OAAO,IAAI,CAAC;QACpB,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;YACnC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,WAAW,CAAC,KAAK;aAC3B;SACJ,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,KAA8B;QAE5D,IAAI,KAAK,IAAI,IAAI,EACjB,CAAC;YACG,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,GAAG,KAAK,4BAA4B,IAAI,GAAG,CAAC;QAC3D,CAAC;QACD,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,EAAE,EAAE;YACzD,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,UAAU,CAAC,KAAK;aAC1B;SACJ,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,KAA8B;QAE5D,IAAI,KAAK,IAAI,IAAI,EACjB,CAAC;YACG,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,GAAG,KAAK,4BAA4B,IAAI,GAAG,CAAC;QAC3D,CAAC;QACD,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,EAAE,EAAE;YACzD,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,UAAU,CAAC,KAAK;aAC1B;SACJ,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,IAAY,EAAE,KAA8B;QAEhE,IAAI,KAAK,IAAI,IAAI,EACjB,CAAC;YACG,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,GAAG,KAAK,gCAAgC,IAAI,GAAG,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,IAAY,EAAE,KAAgC;QAElE,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;YACnC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnB,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,cAAc,CAAC,KAAK;aAC9B;SACJ,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,KAAgC;QAE9D,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;YACnC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,UAAU,CAAC,KAAK;aAC1B;SACJ,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,KAAgC;QAE9D,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;YACnC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,UAAU,CAAC,KAAK;aAC1B;SACJ,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,IAAY,EAAE,KAAgC;QAE/D,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;YACnC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;gBAE5B,IAAI,KAAK;oBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC;wBAC9B,OAAO,GAAG,IAAI,8BAA8B,CAAC;gBACrD,OAAO,IAAI,CAAC;YAChB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -3,17 +3,16 @@ import "./NSBoxDate.module.css";
3
3
  import { IBaseComponentProps } from "../props/IBaseComponentProps";
4
4
  import { IValidationProps } from "../props/IValidationProps";
5
5
  import { INSBoxBaseLayoutProps, NSBoxBaseLayout } from "./NSBoxBaseLayout";
6
- export interface NSBoxDateProps extends IBaseComponentProps, IValidationProps, INSBoxBaseLayoutProps<string, NSBoxDate> {
6
+ export interface NSBoxDateProps extends IBaseComponentProps, IValidationProps, INSBoxBaseLayoutProps<Date, NSBoxDate> {
7
7
  }
8
8
  export interface NSBoxDateState {
9
- value: string;
9
+ value: Date;
10
10
  }
11
11
  export declare class NSBoxDate extends React.Component<NSBoxDateProps, NSBoxDateState> {
12
12
  NSBoxBaseLayout_Main: React.RefObject<NSBoxBaseLayout>;
13
13
  constructor(props: NSBoxDateProps);
14
14
  getError(): string | null;
15
15
  getValue(checkError?: boolean): Date;
16
- setValue(value: string, callback?: () => void): void;
17
- private onChanged;
16
+ setValue(value: string | Date, callback?: () => void): void;
18
17
  render(): import("react/jsx-runtime").JSX.Element;
19
18
  }
@@ -11,34 +11,31 @@ export class NSBoxDate extends React.Component {
11
11
  var _a;
12
12
  super(props);
13
13
  this.NSBoxBaseLayout_Main = createRef();
14
- this.state = { value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "" };
14
+ this.state = { value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : new Date() };
15
15
  this.getError = this.getError.bind(this);
16
16
  this.getValue = this.getValue.bind(this);
17
17
  this.setValue = this.setValue.bind(this);
18
- this.onChanged = this.onChanged.bind(this);
19
18
  }
20
19
  getError() {
21
- return (Validator.getError(this.props.title, this.state.value, this.props) ||
20
+ return (Validator.getError(this.props.title, this.state.value.toLocaleDateString(), this.props) ||
22
21
  Validator.getErrorDate(this.props.title, this.state.value));
23
22
  }
24
23
  getValue(checkError = true) {
25
- return NSBoxBaseLayout.checkGetValue(this, checkError, () => new Date(this.state.value));
24
+ return NSBoxBaseLayout.checkGetValue(this, checkError, () => this.state.value);
26
25
  }
27
26
  setValue(value, callback) {
28
- this.setState({ value }, () => {
27
+ let date_value = new Date(value);
28
+ this.setState({ value: date_value }, () => {
29
29
  if (this.props.onChanged)
30
30
  this.props.onChanged(this, callback);
31
31
  else if (callback)
32
32
  callback();
33
33
  });
34
34
  }
35
- onChanged(e) {
36
- this.setValue(e.target.value);
37
- }
38
35
  render() {
39
36
  let menu = safeMenuMenuItem(this.props, () => { });
40
37
  menu.builtin.fullscreen = false;
41
- return (_jsx(NSBoxBaseLayout, Object.assign({ ref: this.NSBoxBaseLayout_Main }, this.props, { getValue: () => this.state.value, setValue: this.setValue, menu: menu, children: _jsx("input", { id: this.props.id, name: this.props.name, type: "date", className: StylesNSBox.ns_box_input, placeholder: this.props.placeholder, value: this.state.value, onChange: this.onChanged, onClick: () => { if (this.props.onClicked)
38
+ return (_jsx(NSBoxBaseLayout, Object.assign({ ref: this.NSBoxBaseLayout_Main }, this.props, { getValue: () => this.state.value.toLocaleDateString(), setValue: this.setValue, menu: menu, children: _jsx("input", { id: this.props.id, name: this.props.name, type: "date", className: StylesNSBox.ns_box_input, placeholder: this.props.placeholder, value: this.state.value.toLocaleDateString(), onChange: e => this.setValue(e.target.value), onClick: () => { if (this.props.onClicked)
42
39
  this.props.onClicked(this); }, style: {
43
40
  background: `url("https://static.namirasoft.com/image/concept/type/date.png") white no-repeat scroll center right 4px`,
44
41
  backgroundSize: "24px",
@@ -1 +1 @@
1
- {"version":3,"file":"NSBoxDate.js","sourceRoot":"","sources":["../../src/components/NSBoxDate.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSBoxDate.js","sourceRoot":"","sources":["../../src/components/NSBoxDate.tsx"],"names":[],"mappings":"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"}
@@ -3,17 +3,17 @@ import "./NSBoxDateTime.module.css";
3
3
  import { IBaseComponentProps } from "../props/IBaseComponentProps";
4
4
  import { IValidationProps } from "../props/IValidationProps";
5
5
  import { INSBoxBaseLayoutProps, NSBoxBaseLayout } from "./NSBoxBaseLayout";
6
- export interface NSBoxDateTimeProps extends IBaseComponentProps, IValidationProps, INSBoxBaseLayoutProps<string, NSBoxDateTime> {
6
+ export interface NSBoxDateTimeProps extends IBaseComponentProps, IValidationProps, INSBoxBaseLayoutProps<Date, NSBoxDateTime> {
7
7
  }
8
8
  export interface NSBoxDateTimeState {
9
- value: string;
9
+ value: Date;
10
10
  }
11
11
  export declare class NSBoxDateTime extends React.Component<NSBoxDateTimeProps, NSBoxDateTimeState> {
12
12
  NSBoxBaseLayout_Main: React.RefObject<NSBoxBaseLayout>;
13
13
  constructor(props: NSBoxDateTimeProps);
14
14
  getError(): string | null;
15
- getValue(checkError?: boolean): string;
16
- setValue(value: string, callback?: () => void): void;
15
+ getValue(checkError?: boolean): Date;
16
+ setValue(value: string | Date, callback?: () => void): void;
17
17
  private onChanged;
18
18
  render(): import("react/jsx-runtime").JSX.Element;
19
19
  }
@@ -11,21 +11,22 @@ export class NSBoxDateTime extends React.Component {
11
11
  var _a;
12
12
  super(props);
13
13
  this.NSBoxBaseLayout_Main = createRef();
14
- this.state = { value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "" };
14
+ this.state = { value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : new Date() };
15
15
  this.getError = this.getError.bind(this);
16
16
  this.getValue = this.getValue.bind(this);
17
17
  this.setValue = this.setValue.bind(this);
18
18
  this.onChanged = this.onChanged.bind(this);
19
19
  }
20
20
  getError() {
21
- return (Validator.getError(this.props.title, this.state.value, this.props) ||
22
- Validator.getErrorDate(this.props.title, this.state.value));
21
+ return (Validator.getError(this.props.title, this.state.value.toLocaleString(), this.props) ||
22
+ Validator.getErrorDateTime(this.props.title, this.state.value));
23
23
  }
24
24
  getValue(checkError = true) {
25
25
  return NSBoxBaseLayout.checkGetValue(this, checkError, () => this.state.value);
26
26
  }
27
27
  setValue(value, callback) {
28
- this.setState({ value }, () => {
28
+ let value_date = new Date(value);
29
+ this.setState({ value: value_date }, () => {
29
30
  if (this.props.onChanged)
30
31
  this.props.onChanged(this, callback);
31
32
  else if (callback)
@@ -38,7 +39,7 @@ export class NSBoxDateTime extends React.Component {
38
39
  render() {
39
40
  let menu = safeMenuMenuItem(this.props, () => { });
40
41
  menu.builtin.fullscreen = false;
41
- return (_jsx(NSBoxBaseLayout, Object.assign({ ref: this.NSBoxBaseLayout_Main }, this.props, { getValue: () => this.state.value, setValue: this.setValue, menu: menu, children: _jsx("input", { id: this.props.id, name: this.props.name, type: "datetime-local", className: StylesNSBox.ns_box_input, placeholder: this.props.placeholder, value: this.state.value, onChange: this.onChanged, onClick: () => { if (this.props.onClicked)
42
+ return (_jsx(NSBoxBaseLayout, Object.assign({ ref: this.NSBoxBaseLayout_Main }, this.props, { getValue: () => this.state.value.toLocaleString(), setValue: this.setValue, menu: menu, children: _jsx("input", { id: this.props.id, name: this.props.name, type: "datetime-local", className: StylesNSBox.ns_box_input, placeholder: this.props.placeholder, value: this.state.value.toLocaleString(), onChange: this.onChanged, onClick: () => { if (this.props.onClicked)
42
43
  this.props.onClicked(this); }, style: {
43
44
  background: `url("https://static.namirasoft.com/image/concept/type/date-time.png") white no-repeat scroll center right 4px`,
44
45
  backgroundSize: "24px",
@@ -1 +1 @@
1
- {"version":3,"file":"NSBoxDateTime.js","sourceRoot":"","sources":["../../src/components/NSBoxDateTime.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSBoxDateTime.js","sourceRoot":"","sources":["../../src/components/NSBoxDateTime.tsx"],"names":[],"mappings":"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"}
@@ -4,16 +4,16 @@ import { IBaseComponentProps } from "../props/IBaseComponentProps";
4
4
  import { IValidationProps } from "../props/IValidationProps";
5
5
  import { IValidationStringProps } from "../props/IValidationStringProps";
6
6
  import { INSBoxBaseLayoutProps, NSBoxBaseLayout } from "./NSBoxBaseLayout";
7
- export interface NSBoxTimeProps extends IBaseComponentProps, IValidationProps, IValidationStringProps, INSBoxBaseLayoutProps<string, NSBoxTime> {
7
+ export interface NSBoxTimeProps extends IBaseComponentProps, IValidationProps, IValidationStringProps, INSBoxBaseLayoutProps<Date, NSBoxTime> {
8
8
  }
9
9
  export interface NSBoxTimeState {
10
- value: string;
10
+ value: Date;
11
11
  }
12
12
  export declare class NSBoxTime extends React.Component<NSBoxTimeProps, NSBoxTimeState> {
13
13
  NSBoxBaseLayout_Main: React.RefObject<NSBoxBaseLayout>;
14
14
  constructor(props: NSBoxTimeProps);
15
15
  getError(): string | null;
16
- getValue(checkError?: boolean): string;
17
- setValue(value: string, callback?: () => void): void;
16
+ getValue(checkError?: boolean): Date;
17
+ setValue(value: string | Date, callback?: () => void): void;
18
18
  render(): import("react/jsx-runtime").JSX.Element;
19
19
  }
@@ -11,21 +11,22 @@ export class NSBoxTime extends React.Component {
11
11
  var _a;
12
12
  super(props);
13
13
  this.NSBoxBaseLayout_Main = createRef();
14
- this.state = { value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "" };
14
+ this.state = { value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : new Date() };
15
15
  this.getError = this.getError.bind(this);
16
16
  this.getValue = this.getValue.bind(this);
17
17
  this.setValue = this.setValue.bind(this);
18
18
  }
19
19
  getError() {
20
- return (Validator.getError(this.props.title, this.state.value, this.props) ||
21
- Validator.getErrorString(this.props.title, this.state.value, this.props) ||
20
+ return (Validator.getError(this.props.title, this.state.value.toLocaleTimeString(), this.props) ||
21
+ Validator.getErrorString(this.props.title, this.state.value.toLocaleTimeString(), this.props) ||
22
22
  Validator.getErrorTime(this.props.title, this.state.value));
23
23
  }
24
24
  getValue(checkError = true) {
25
25
  return NSBoxBaseLayout.checkGetValue(this, checkError, () => this.state.value);
26
26
  }
27
27
  setValue(value, callback) {
28
- this.setState({ value }, () => {
28
+ let value_date = new Date(value);
29
+ this.setState({ value: value_date }, () => {
29
30
  if (this.props.onChanged)
30
31
  this.props.onChanged(this, callback);
31
32
  else if (callback)
@@ -35,7 +36,7 @@ export class NSBoxTime extends React.Component {
35
36
  render() {
36
37
  let menu = safeMenuMenuItem(this.props, () => { });
37
38
  menu.builtin.fullscreen = false;
38
- return (_jsx(NSBoxBaseLayout, Object.assign({ ref: this.NSBoxBaseLayout_Main }, this.props, { getValue: () => { var _a, _b; return (_b = (_a = this.state.value) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : ""; }, setValue: () => { }, children: _jsx("input", { id: this.props.id, name: this.props.name, type: "time", className: StylesNSBox.ns_box_input, placeholder: this.props.placeholder, value: this.state.value, onChange: e => this.setValue(e.target.value), onClick: () => { if (this.props.onClicked)
39
+ return (_jsx(NSBoxBaseLayout, Object.assign({ ref: this.NSBoxBaseLayout_Main }, this.props, { getValue: () => this.state.value.toLocaleTimeString(), setValue: () => { }, children: _jsx("input", { id: this.props.id, name: this.props.name, type: "time", className: StylesNSBox.ns_box_input, placeholder: this.props.placeholder, value: this.state.value.toLocaleTimeString(), onChange: e => this.setValue(e.target.value), onClick: () => { if (this.props.onClicked)
39
40
  this.props.onClicked(this); }, step: "5", style: {
40
41
  background: `url("https://static.namirasoft.com/image/concept/type/time.png") white no-repeat scroll center right 4px`,
41
42
  backgroundSize: "24px",
@@ -1 +1 @@
1
- {"version":3,"file":"NSBoxTime.js","sourceRoot":"","sources":["../../src/components/NSBoxTime.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSBoxTime.js","sourceRoot":"","sources":["../../src/components/NSBoxTime.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.153",
11
+ "version": "1.4.154",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
package/src/Validator.ts CHANGED
@@ -66,24 +66,46 @@ export class Validator
66
66
  }
67
67
  });
68
68
  }
69
- static getErrorDate(name: string, value: string | null | undefined): string | null
69
+ static getErrorDate(name: string, value: Date | null | undefined): string | null
70
70
  {
71
- return Validator.getError(name, value, {
71
+ if (value != null)
72
+ {
73
+ const dateTime = new Date(value);
74
+ if (isNaN(dateTime.getTime()))
75
+ return `${value} is not a valid Date for ${name}.`;
76
+ }
77
+ return Validator.getError(name, value?.toLocaleDateString(), {
72
78
  required: true, regex: {
73
79
  name: "Date",
74
80
  regex: DateSchema.REGEX
75
81
  }
76
82
  });
77
83
  }
78
- static getErrorTime(name: string, value: string | null | undefined): string | null
84
+ static getErrorTime(name: string, value: Date | null | undefined): string | null
79
85
  {
80
- return Validator.getError(name, value, {
86
+ if (value != null)
87
+ {
88
+ const dateTime = new Date(value);
89
+ if (isNaN(dateTime.getTime()))
90
+ return `${value} is not a valid Time for ${name}.`;
91
+ }
92
+ return Validator.getError(name, value?.toLocaleTimeString(), {
81
93
  required: true, regex: {
82
94
  name: "Time",
83
95
  regex: TimeSchema.REGEX
84
96
  }
85
97
  });
86
98
  }
99
+ static getErrorDateTime(name: string, value: Date | null | undefined): string | null
100
+ {
101
+ if (value != null)
102
+ {
103
+ const dateTime = new Date(value);
104
+ if (isNaN(dateTime.getTime()))
105
+ return `${value} is not a valid DateTime for ${name}.`;
106
+ }
107
+ return null;
108
+ }
87
109
  static getErrorDuration(name: string, value: string | null | undefined): string | null
88
110
  {
89
111
  return Validator.getError(name, value, {
@@ -9,12 +9,12 @@ import { Validator } from "../Validator";
9
9
  import { safeMenuMenuItem } from "./NSMenuButton";
10
10
  import { INSBoxBaseLayoutProps, NSBoxBaseLayout } from "./NSBoxBaseLayout";
11
11
 
12
- export interface NSBoxDateProps extends IBaseComponentProps, IValidationProps, INSBoxBaseLayoutProps<string, NSBoxDate>
12
+ export interface NSBoxDateProps extends IBaseComponentProps, IValidationProps, INSBoxBaseLayoutProps<Date, NSBoxDate>
13
13
  { }
14
14
 
15
15
  export interface NSBoxDateState
16
16
  {
17
- value: string;
17
+ value: Date;
18
18
  }
19
19
 
20
20
  export class NSBoxDate extends React.Component<NSBoxDateProps, NSBoxDateState>
@@ -23,26 +23,26 @@ export class NSBoxDate extends React.Component<NSBoxDateProps, NSBoxDateState>
23
23
  constructor(props: NSBoxDateProps)
24
24
  {
25
25
  super(props);
26
- this.state = { value: props.defaultValue ?? "" };
26
+ this.state = { value: props.defaultValue ?? new Date() };
27
27
  this.getError = this.getError.bind(this);
28
28
  this.getValue = this.getValue.bind(this);
29
29
  this.setValue = this.setValue.bind(this);
30
- this.onChanged = this.onChanged.bind(this);
31
30
  }
32
31
  getError(): string | null
33
32
  {
34
33
  return (
35
- Validator.getError(this.props.title, this.state.value, this.props) ||
34
+ Validator.getError(this.props.title, this.state.value.toLocaleDateString(), this.props) ||
36
35
  Validator.getErrorDate(this.props.title, this.state.value)
37
36
  );
38
37
  }
39
38
  getValue(checkError: boolean = true): Date
40
39
  {
41
- return NSBoxBaseLayout.checkGetValue(this, checkError, () => new Date(this.state.value));
40
+ return NSBoxBaseLayout.checkGetValue(this, checkError, () => this.state.value);
42
41
  }
43
- setValue(value: string, callback?: () => void): void
42
+ setValue(value: string | Date, callback?: () => void): void
44
43
  {
45
- this.setState({ value }, () =>
44
+ let date_value = new Date(value);
45
+ this.setState({ value: date_value }, () =>
46
46
  {
47
47
  if (this.props.onChanged)
48
48
  this.props.onChanged(this, callback);
@@ -50,10 +50,6 @@ export class NSBoxDate extends React.Component<NSBoxDateProps, NSBoxDateState>
50
50
  callback();
51
51
  });
52
52
  }
53
- private onChanged(e: React.ChangeEvent<HTMLInputElement>): void
54
- {
55
- this.setValue(e.target.value);
56
- }
57
53
  override render()
58
54
  {
59
55
  let menu = safeMenuMenuItem(this.props, () => { });
@@ -63,7 +59,7 @@ export class NSBoxDate extends React.Component<NSBoxDateProps, NSBoxDateState>
63
59
  <NSBoxBaseLayout
64
60
  ref={this.NSBoxBaseLayout_Main}
65
61
  {...this.props}
66
- getValue={() => this.state.value}
62
+ getValue={() => this.state.value.toLocaleDateString()}
67
63
  setValue={this.setValue}
68
64
  menu={menu}
69
65
  >
@@ -73,8 +69,8 @@ export class NSBoxDate extends React.Component<NSBoxDateProps, NSBoxDateState>
73
69
  type="date"
74
70
  className={StylesNSBox.ns_box_input}
75
71
  placeholder={this.props.placeholder}
76
- value={this.state.value}
77
- onChange={this.onChanged}
72
+ value={this.state.value.toLocaleDateString()}
73
+ onChange={e => this.setValue(e.target.value)}
78
74
  onClick={() => { if (this.props.onClicked) this.props.onClicked(this); }}
79
75
  style={{
80
76
  background: `url("https://static.namirasoft.com/image/concept/type/date.png") white no-repeat scroll center right 4px`,
@@ -9,12 +9,12 @@ import { Validator } from "../Validator";
9
9
  import { safeMenuMenuItem } from "./NSMenuButton";
10
10
  import { INSBoxBaseLayoutProps, NSBoxBaseLayout } from "./NSBoxBaseLayout";
11
11
 
12
- export interface NSBoxDateTimeProps extends IBaseComponentProps, IValidationProps, INSBoxBaseLayoutProps<string, NSBoxDateTime>
12
+ export interface NSBoxDateTimeProps extends IBaseComponentProps, IValidationProps, INSBoxBaseLayoutProps<Date, NSBoxDateTime>
13
13
  { }
14
14
 
15
15
  export interface NSBoxDateTimeState
16
16
  {
17
- value: string;
17
+ value: Date;
18
18
  }
19
19
 
20
20
  export class NSBoxDateTime extends React.Component<NSBoxDateTimeProps, NSBoxDateTimeState>
@@ -23,7 +23,7 @@ export class NSBoxDateTime extends React.Component<NSBoxDateTimeProps, NSBoxDate
23
23
  constructor(props: NSBoxDateTimeProps)
24
24
  {
25
25
  super(props);
26
- this.state = { value: props.defaultValue ?? "" };
26
+ this.state = { value: props.defaultValue ?? new Date() };
27
27
  this.getError = this.getError.bind(this);
28
28
  this.getValue = this.getValue.bind(this);
29
29
  this.setValue = this.setValue.bind(this);
@@ -32,17 +32,18 @@ export class NSBoxDateTime extends React.Component<NSBoxDateTimeProps, NSBoxDate
32
32
  getError(): string | null
33
33
  {
34
34
  return (
35
- Validator.getError(this.props.title, this.state.value, this.props) ||
36
- Validator.getErrorDate(this.props.title, this.state.value)
35
+ Validator.getError(this.props.title, this.state.value.toLocaleString(), this.props) ||
36
+ Validator.getErrorDateTime(this.props.title, this.state.value)
37
37
  );
38
38
  }
39
- getValue(checkError: boolean = true): string
39
+ getValue(checkError: boolean = true): Date
40
40
  {
41
41
  return NSBoxBaseLayout.checkGetValue(this, checkError, () => this.state.value);
42
42
  }
43
- setValue(value: string, callback?: () => void): void
43
+ setValue(value: string | Date, callback?: () => void): void
44
44
  {
45
- this.setState({ value }, () =>
45
+ let value_date = new Date(value);
46
+ this.setState({ value: value_date }, () =>
46
47
  {
47
48
  if (this.props.onChanged)
48
49
  this.props.onChanged(this, callback);
@@ -63,7 +64,7 @@ export class NSBoxDateTime extends React.Component<NSBoxDateTimeProps, NSBoxDate
63
64
  <NSBoxBaseLayout
64
65
  ref={this.NSBoxBaseLayout_Main}
65
66
  {...this.props}
66
- getValue={() => this.state.value}
67
+ getValue={() => this.state.value.toLocaleString()}
67
68
  setValue={this.setValue}
68
69
  menu={menu}
69
70
  >
@@ -73,7 +74,7 @@ export class NSBoxDateTime extends React.Component<NSBoxDateTimeProps, NSBoxDate
73
74
  type="datetime-local"
74
75
  className={StylesNSBox.ns_box_input}
75
76
  placeholder={this.props.placeholder}
76
- value={this.state.value}
77
+ value={this.state.value.toLocaleString()}
77
78
  onChange={this.onChanged}
78
79
  onClick={() => { if (this.props.onClicked) this.props.onClicked(this); }}
79
80
  style={{
@@ -10,12 +10,12 @@ import { Validator } from "../Validator";
10
10
  import { INSBoxBaseLayoutProps, NSBoxBaseLayout } from "./NSBoxBaseLayout";
11
11
  import { safeMenuMenuItem } from "./NSMenuButton";
12
12
 
13
- export interface NSBoxTimeProps extends IBaseComponentProps, IValidationProps, IValidationStringProps, INSBoxBaseLayoutProps<string, NSBoxTime>
13
+ export interface NSBoxTimeProps extends IBaseComponentProps, IValidationProps, IValidationStringProps, INSBoxBaseLayoutProps<Date, NSBoxTime>
14
14
  { }
15
15
 
16
16
  export interface NSBoxTimeState
17
17
  {
18
- value: string;
18
+ value: Date;
19
19
  }
20
20
 
21
21
  export class NSBoxTime extends React.Component<NSBoxTimeProps, NSBoxTimeState>
@@ -24,7 +24,7 @@ export class NSBoxTime extends React.Component<NSBoxTimeProps, NSBoxTimeState>
24
24
  constructor(props: NSBoxTimeProps)
25
25
  {
26
26
  super(props);
27
- this.state = { value: props.defaultValue ?? "" };
27
+ this.state = { value: props.defaultValue ?? new Date() };
28
28
  this.getError = this.getError.bind(this);
29
29
  this.getValue = this.getValue.bind(this);
30
30
  this.setValue = this.setValue.bind(this);
@@ -32,18 +32,19 @@ export class NSBoxTime extends React.Component<NSBoxTimeProps, NSBoxTimeState>
32
32
  getError(): string | null
33
33
  {
34
34
  return (
35
- Validator.getError(this.props.title, this.state.value, this.props) ||
36
- Validator.getErrorString(this.props.title, this.state.value, this.props) ||
35
+ Validator.getError(this.props.title, this.state.value.toLocaleTimeString(), this.props) ||
36
+ Validator.getErrorString(this.props.title, this.state.value.toLocaleTimeString(), this.props) ||
37
37
  Validator.getErrorTime(this.props.title, this.state.value)
38
38
  );
39
39
  }
40
- getValue(checkError: boolean = true): string
40
+ getValue(checkError: boolean = true): Date
41
41
  {
42
42
  return NSBoxBaseLayout.checkGetValue(this, checkError, () => this.state.value);
43
43
  }
44
- setValue(value: string, callback?: () => void): void
44
+ setValue(value: string | Date, callback?: () => void): void
45
45
  {
46
- this.setState({ value }, () =>
46
+ let value_date = new Date(value);
47
+ this.setState({ value: value_date }, () =>
47
48
  {
48
49
  if (this.props.onChanged)
49
50
  this.props.onChanged(this, callback);
@@ -60,7 +61,7 @@ export class NSBoxTime extends React.Component<NSBoxTimeProps, NSBoxTimeState>
60
61
  <NSBoxBaseLayout
61
62
  ref={this.NSBoxBaseLayout_Main}
62
63
  {...this.props}
63
- getValue={() => this.state.value?.toString() ?? ""}
64
+ getValue={() => this.state.value.toLocaleTimeString()}
64
65
  setValue={() => { }}
65
66
  >
66
67
  <input
@@ -69,7 +70,7 @@ export class NSBoxTime extends React.Component<NSBoxTimeProps, NSBoxTimeState>
69
70
  type="time"
70
71
  className={StylesNSBox.ns_box_input}
71
72
  placeholder={this.props.placeholder}
72
- value={this.state.value}
73
+ value={this.state.value.toLocaleTimeString()}
73
74
  onChange={e => this.setValue(e.target.value)}
74
75
  onClick={() => { if (this.props.onClicked) this.props.onClicked(this); }}
75
76
  step="5"