cx 24.0.1 → 24.0.3

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.
Files changed (45) hide show
  1. package/dist/charts.js +169 -235
  2. package/dist/data.js +42 -85
  3. package/dist/hooks.js +1 -1
  4. package/dist/manifest.js +763 -760
  5. package/dist/svg.js +47 -97
  6. package/dist/ui.js +180 -242
  7. package/dist/util.js +9 -7
  8. package/dist/widgets.js +1296 -1517
  9. package/locale/de-de.js +6 -1
  10. package/locale/en-us.js +5 -1
  11. package/locale/es-es.js +6 -1
  12. package/locale/fr-fr.js +7 -2
  13. package/locale/nl-nl.js +4 -5
  14. package/locale/pt-pt.js +12 -1
  15. package/locale/sr-latn-ba.js +6 -2
  16. package/package.json +1 -1
  17. package/src/data/StructuredSelector.d.ts +1 -1
  18. package/src/data/ops/updateTree.js +1 -1
  19. package/src/data/ops/updateTree.spec.js +16 -14
  20. package/src/ui/Culture.d.ts +0 -3
  21. package/src/ui/DataProxy.d.ts +1 -0
  22. package/src/ui/DataProxy.js +2 -2
  23. package/src/ui/Localization.js +0 -2
  24. package/src/ui/Rescope.js +2 -2
  25. package/src/ui/Text.js +2 -4
  26. package/src/ui/adapter/DataAdapter.js +7 -12
  27. package/src/ui/adapter/GroupAdapter.d.ts +22 -3
  28. package/src/ui/adapter/TreeAdapter.d.ts +23 -3
  29. package/src/widgets/form/DateTimeField.d.ts +86 -86
  30. package/src/widgets/form/DateTimeField.js +569 -572
  31. package/src/widgets/form/Field.js +24 -9
  32. package/src/widgets/form/FieldIcon.js +42 -0
  33. package/src/widgets/form/LookupField.d.ts +174 -174
  34. package/src/widgets/form/LookupField.js +1130 -1131
  35. package/src/widgets/form/MonthField.d.ts +37 -38
  36. package/src/widgets/form/MonthField.js +6 -9
  37. package/src/widgets/form/NumberField.d.ts +2 -2
  38. package/src/widgets/form/NumberField.js +5 -9
  39. package/src/widgets/form/Select.d.ts +31 -35
  40. package/src/widgets/form/Select.js +7 -12
  41. package/src/widgets/form/TextField.d.ts +2 -2
  42. package/src/widgets/form/TextField.js +6 -5
  43. package/src/widgets/grid/Grid.d.ts +9 -6
  44. package/src/widgets/grid/Grid.js +3277 -3276
  45. package/src/widgets/overlay/Dropdown.d.ts +1 -0
package/locale/de-de.js CHANGED
@@ -24,11 +24,14 @@ const calendarErrorMessages = {
24
24
  minValueErrorText: 'Wählen Sie {0:d} oder später.',
25
25
  minExclusiveErrorText: 'Wählen Sie ein Datum nach dem {0:d}.',
26
26
  };
27
+
27
28
  // Calendar
28
29
  Localization.localize(c, 'cx/widgets/Calendar', {
29
30
  ...calendarErrorMessages,
30
- todayButtonText: 'Heute'
31
+ todayButtonText: 'Heute',
32
+ startWithMonday: true
31
33
  });
34
+
32
35
  // MonthPicker
33
36
  Localization.localize(c, 'cx/widgets/MonthPicker', calendarErrorMessages);
34
37
 
@@ -37,8 +40,10 @@ const dateFieldErrorMessages = {
37
40
  ...calendarErrorMessages,
38
41
  inputErrorText: 'Ungültiges Datum eingegeben.'
39
42
  };
43
+
40
44
  // MonthField
41
45
  Localization.localize(c, 'cx/widgets/MonthField', dateFieldErrorMessages);
46
+
42
47
  // DateField
43
48
  Localization.localize(c, 'cx/widgets/DateField', dateFieldErrorMessages);
44
49
 
package/locale/en-us.js CHANGED
@@ -24,12 +24,14 @@ const calendarErrorMessages = {
24
24
  minValueErrorText: 'Select {0:d} or later.',
25
25
  minExclusiveErrorText: 'Select a date after {0:d}.',
26
26
  };
27
+
27
28
  // Calendar
28
29
  Localization.localize(c, 'cx/widgets/Calendar', {
29
30
  ...calendarErrorMessages,
30
31
  todayButtonText: 'Today',
31
32
  startWithMonday: false
32
33
  });
34
+
33
35
  // MonthPicker
34
36
  Localization.localize(c, 'cx/widgets/MonthPicker', calendarErrorMessages);
35
37
 
@@ -38,8 +40,10 @@ const dateFieldErrorMessages = {
38
40
  ...calendarErrorMessages,
39
41
  inputErrorText: 'Invalid date entered.'
40
42
  };
43
+
41
44
  // MonthField
42
45
  Localization.localize(c, 'cx/widgets/MonthField', dateFieldErrorMessages);
46
+
43
47
  // DateField
44
48
  Localization.localize(c, 'cx/widgets/DateField', dateFieldErrorMessages);
45
49
 
@@ -68,4 +72,4 @@ Localization.localize(c, 'cx/widgets/UploadButton', {
68
72
  Localization.localize(c, 'cx/widgets/MsgBox', {
69
73
  yesText: "Yes",
70
74
  noText: "No"
71
- });
75
+ });
package/locale/es-es.js CHANGED
@@ -24,11 +24,14 @@ const calendarErrorMessages = {
24
24
  minValueErrorText: 'Seleccione {0: d} o posterior',
25
25
  minExclusiveErrorText: 'Seleccione una fecha después de {0: d}.',
26
26
  };
27
+
27
28
  // Calendar
28
29
  Localization.localize(c, 'cx/widgets/Calendar', {
29
30
  ...calendarErrorMessages,
30
- todayButtonText: 'Hoy'
31
+ todayButtonText: 'Hoy',
32
+ startWithMonday: true
31
33
  });
34
+
32
35
  // MonthPicker
33
36
  Localization.localize(c, 'cx/widgets/MonthPicker', calendarErrorMessages);
34
37
 
@@ -37,8 +40,10 @@ const dateFieldErrorMessages = {
37
40
  ...calendarErrorMessages,
38
41
  inputErrorText: 'Fecha introducida no es válida.'
39
42
  };
43
+
40
44
  // MonthField
41
45
  Localization.localize(c, 'cx/widgets/MonthField', dateFieldErrorMessages);
46
+
42
47
  // DateField
43
48
  Localization.localize(c, 'cx/widgets/DateField', dateFieldErrorMessages);
44
49
 
package/locale/fr-fr.js CHANGED
@@ -24,11 +24,14 @@ const calendarErrorMessages = {
24
24
  minValueErrorText: 'Sélectionnez {0:d} ou plus tard.',
25
25
  minExclusiveErrorText: 'Sélectionnez une date après {0:d}.',
26
26
  };
27
+
27
28
  // Calendar
28
29
  Localization.localize(c, 'cx/widgets/Calendar', {
29
30
  ...calendarErrorMessages,
30
- todayButtonText: 'Aujourd\'hui'
31
+ todayButtonText: 'Aujourd\'hui',
32
+ startWithMonday: true
31
33
  });
34
+
32
35
  // MonthPicker
33
36
  Localization.localize(c, 'cx/widgets/MonthPicker', calendarErrorMessages);
34
37
 
@@ -37,8 +40,10 @@ const dateFieldErrorMessages = {
37
40
  ...calendarErrorMessages,
38
41
  inputErrorText: 'Date invalide entrée.'
39
42
  };
43
+
40
44
  // MonthField
41
45
  Localization.localize(c, 'cx/widgets/MonthField', dateFieldErrorMessages);
46
+
42
47
  // DateField
43
48
  Localization.localize(c, 'cx/widgets/DateField', dateFieldErrorMessages);
44
49
 
@@ -67,4 +72,4 @@ Localization.localize(c, 'cx/widgets/UploadButton', {
67
72
  Localization.localize(c, 'cx/widgets/MsgBox', {
68
73
  yesText: "Oui",
69
74
  noText: "Non"
70
- });
75
+ });
package/locale/nl-nl.js CHANGED
@@ -12,7 +12,6 @@ Localization.localize(c, 'cx/widgets/Field', {
12
12
  // LookupField
13
13
  Localization.localize(c, 'cx/widgets/LookupField', {
14
14
  loadingText: 'Bezig met laden ...',
15
- requiredText: 'Dit veld is verplicht.',
16
15
  queryErrorText: 'Er is een fout opgetreden bij het weergeven van gegevens.',
17
16
  noResultsText: 'Geen resultaten gevonden',
18
17
  minQueryLengthMessageText: 'Voer minimaal {0} tekens in.'
@@ -20,7 +19,6 @@ Localization.localize(c, 'cx/widgets/LookupField', {
20
19
 
21
20
  // In common for Calendar and MonthPicker
22
21
  const calendarErrorMessages = {
23
- requiredText: 'Dit veld is verplicht.',
24
22
  maxValueErrorText: 'De geselecteerde datum is later dan de laatst toegestane datum {0: d}',
25
23
  maxExclusiveErrorText: 'De geselecteerde datum moet vóór {0: d}',
26
24
  minValueErrorText: 'De geselecteerde datum is eerder dan {0: d}',
@@ -30,8 +28,10 @@ const calendarErrorMessages = {
30
28
  // Calendar
31
29
  Localization.localize(c, 'cx/widgets/Calendar', {
32
30
  ...calendarErrorMessages,
33
- todayButtonText: 'Vandaag'
31
+ todayButtonText: 'Vandaag',
32
+ startWithMonday: true
34
33
  });
34
+
35
35
  // MonthPicker
36
36
  Localization.localize(c, 'cx/widgets/MonthPicker', calendarErrorMessages);
37
37
 
@@ -43,12 +43,12 @@ const dateFieldErrorMessages = {
43
43
 
44
44
  // MonthField
45
45
  Localization.localize(c, 'cx/widgets/MonthField', dateFieldErrorMessages);
46
+
46
47
  // DateField
47
48
  Localization.localize(c, 'cx/widgets/DateField', dateFieldErrorMessages);
48
49
 
49
50
  // NumberField
50
51
  Localization.localize(c, 'cx/widgets/NumberField', {
51
- requiredText: 'Dit veld is verplicht.',
52
52
  maxValueErrorText: 'Voer {0} of minder in.',
53
53
  maxExclusiveErrorText: 'Voer een nummer in dat kleiner is dan {0}.',
54
54
  minValueErrorText: 'Voer {0} of meer in.',
@@ -58,7 +58,6 @@ Localization.localize(c, 'cx/widgets/NumberField', {
58
58
 
59
59
  // TextField
60
60
  Localization.localize(c, 'cx/widgets/TextField', {
61
- requiredText: 'Dit veld is verplicht.',
62
61
  validationErrorText: 'De ingevoerde waarde is ongeldig.',
63
62
  minLengthValidationErrorText: 'Vul {[{0} - {1}]} extra karakters in.',
64
63
  maxLengthValidationErrorText: 'Gebruik {0} tekens of minder.'
package/locale/pt-pt.js CHANGED
@@ -24,11 +24,14 @@ const calendarErrorMessages = {
24
24
  minValueErrorText: 'Selecione {0:d} ou posterior.',
25
25
  minExclusiveErrorText: 'Selecione uma data após {0:d}.',
26
26
  };
27
+
27
28
  // Calendar
28
29
  Localization.localize(c, 'cx/widgets/Calendar', {
29
30
  ...calendarErrorMessages,
30
- todayButtonText: 'Hoje'
31
+ todayButtonText: 'Hoje',
32
+ startWithMonday: false
31
33
  });
34
+
32
35
  // MonthPicker
33
36
  Localization.localize(c, 'cx/widgets/MonthPicker', calendarErrorMessages);
34
37
 
@@ -37,8 +40,10 @@ const dateFieldErrorMessages = {
37
40
  ...calendarErrorMessages,
38
41
  inputErrorText: 'Data inválida inserida.'
39
42
  };
43
+
40
44
  // MonthField
41
45
  Localization.localize(c, 'cx/widgets/MonthField', dateFieldErrorMessages);
46
+
42
47
  // DateField
43
48
  Localization.localize(c, 'cx/widgets/DateField', dateFieldErrorMessages);
44
49
 
@@ -61,4 +66,10 @@ Localization.localize(c, 'cx/widgets/TextField', {
61
66
  // UploadButton
62
67
  Localization.localize(c, 'cx/widgets/UploadButton', {
63
68
  validationErrorText: 'O upload está em andamento.'
69
+ });
70
+
71
+ // MsgBox
72
+ Localization.localize(c, 'cx/widgets/MsgBox', {
73
+ yesText: "Sim",
74
+ noText: "Não"
64
75
  });
@@ -6,14 +6,14 @@ var c = 'sr-latn-ba';
6
6
  Localization.localize(c, 'cx/widgets/Field', {
7
7
  requiredText: 'Ovo polje je obavezno.',
8
8
  validatingText: 'Validacija je u toku...',
9
- validationExceptionText: 'Došlo je do problema prilikom validacije podataka. Provjerite log za više detalja'
9
+ validationExceptionText: 'Došlo je do problema prilikom validacije podataka. Provjerite log za više detalja.'
10
10
  });
11
11
 
12
12
  // LookupField
13
13
  Localization.localize(c, 'cx/widgets/LookupField', {
14
14
  loadingText: 'Učitavanje...',
15
15
  queryErrorText: 'Došlo je do greške kod pribavljanja podataka za prikaz.',
16
- noResultsText: 'Rezultati nisu pronađeni',
16
+ noResultsText: 'Rezultati nisu pronađeni.',
17
17
  minQueryLengthMessageText: 'Unesite najmanje {0} karakter(a).'
18
18
  });
19
19
 
@@ -24,12 +24,14 @@ const calendarErrorMessages = {
24
24
  minValueErrorText: 'Izabrani datum je raniji od {0:d}',
25
25
  minExclusiveErrorText: 'Izabrani datum bi trebao biti kasniji od {0:d}',
26
26
  };
27
+
27
28
  // Calendar
28
29
  Localization.localize(c, 'cx/widgets/Calendar', {
29
30
  ...calendarErrorMessages,
30
31
  todayButtonText: 'Danas',
31
32
  startWithMonday: true
32
33
  });
34
+
33
35
  // MonthPicker
34
36
  Localization.localize(c, 'cx/widgets/MonthPicker', calendarErrorMessages);
35
37
 
@@ -38,8 +40,10 @@ const dateFieldErrorMessages = {
38
40
  ...calendarErrorMessages,
39
41
  inputErrorText: 'Neispravan datum.'
40
42
  };
43
+
41
44
  // MonthField
42
45
  Localization.localize(c, 'cx/widgets/MonthField', dateFieldErrorMessages);
46
+
43
47
  // DateField
44
48
  Localization.localize(c, 'cx/widgets/DateField', dateFieldErrorMessages);
45
49
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cx",
3
- "version": "24.0.1",
3
+ "version": "24.0.3",
4
4
  "description": "Advanced JavaScript UI framework for admin and dashboard applications with ready to use grid, form and chart components.",
5
5
  "main": "index.js",
6
6
  "jsnext:main": "src/index.js",
@@ -11,7 +11,7 @@ export class StructuredSelector {
11
11
 
12
12
  init(store: View);
13
13
 
14
- create(memoize?: bool = true): Selector<Record>;
14
+ create(memoize: boolean = true): Selector<Record>;
15
15
 
16
16
  createStoreSelector(): (store: View) => Record;
17
17
  }
@@ -1,4 +1,4 @@
1
- import {updateArray} from './updateArray';
1
+ import { updateArray } from './updateArray';
2
2
 
3
3
  export function updateTree(array, updateCallback, itemFilter, childrenField, removeFilter) {
4
4
  return updateArray(array, item => {
@@ -1,24 +1,26 @@
1
- import {Store} from '../Store';
2
- import {updateTree} from './updateTree';
1
+ import { Store } from '../Store';
2
+ import { updateTree } from './updateTree';
3
3
  import assert from 'assert';
4
4
 
5
- describe('updateTree', function() {
5
+ describe('updateTree', function () {
6
6
  it('updates all nodes that satisfy criteria', function () {
7
7
  let store = new Store({
8
- data: {array: [{
9
- id: 'n1',
10
- value: 1,
11
- children: [{
12
- id: 'n11',
13
- value: 2
14
- }, {
15
- id: 'n12',
16
- value: 3
8
+ data: {
9
+ array: [{
10
+ id: 'n1',
11
+ value: 1,
12
+ children: [{
13
+ id: 'n11',
14
+ value: 2
15
+ }, {
16
+ id: 'n12',
17
+ value: 3
18
+ }]
17
19
  }]
18
- }]}
20
+ }
19
21
  });
20
22
 
21
- assert(store.update('array', updateTree, x => ({ ...x, value: x.value + 1}), x => x.value > 1, 'children'));
23
+ assert(store.update('array', updateTree, x => ({ ...x, value: x.value + 1 }), x => x.value > 1, 'children'));
22
24
  assert.deepEqual(store.get('array'), [{
23
25
  id: 'n1',
24
26
  value: 1,
@@ -1,6 +1,3 @@
1
- import * as Cx from "../core";
2
- //import {NumberCulture, DateTimeCulture} from 'intl-io';
3
-
4
1
  declare type DateEncoding = (date: Date) => any;
5
2
 
6
3
  export class Culture {
@@ -6,6 +6,7 @@ interface DataProxyProps extends Cx.PureContainerProps {
6
6
  alias?: string;
7
7
  cached?: boolean;
8
8
  immutable?: boolean;
9
+ sealed?: boolean;
9
10
  }
10
11
 
11
12
  export class DataProxy extends Cx.Widget<DataProxyProps> {}
@@ -40,5 +40,5 @@ export class DataProxy extends PureContainer {
40
40
  }
41
41
  }
42
42
 
43
- DataProxy.prototype.immutable = false;
44
- DataProxy.prototype.sealed = false;
43
+ DataProxy.prototype.immutable = false;
44
+ DataProxy.prototype.sealed = false;
@@ -68,5 +68,3 @@ export class Localization {
68
68
  }
69
69
  }
70
70
  }
71
-
72
-
package/src/ui/Rescope.js CHANGED
@@ -25,7 +25,7 @@ export class Rescope extends PureContainer {
25
25
  }
26
26
  }
27
27
 
28
- Rescope.prototype.bind = "$page";
29
- Rescope.prototype.rootName = "$root";
28
+ Rescope.prototype.bind = "$page";
29
+ Rescope.prototype.rootName = "$root";
30
30
 
31
31
  Widget.alias("rescope", Rescope);
package/src/ui/Text.js CHANGED
@@ -1,4 +1,4 @@
1
- import {Widget} from './Widget';
1
+ import { Widget } from './Widget';
2
2
 
3
3
  export class Text extends Widget {
4
4
  init() {
@@ -17,11 +17,9 @@ export class Text extends Widget {
17
17
  }, ...arguments);
18
18
  }
19
19
 
20
- render(context, {data}, key) {
20
+ render(context, { data }, key) {
21
21
  return data.value != null ? data.value : '';
22
22
  }
23
-
24
-
25
23
  }
26
24
 
27
25
  Widget.alias('text', Text)
@@ -1,20 +1,15 @@
1
- import {Component} from '../../util/Component';
1
+ import { Component } from "../../util/Component";
2
2
 
3
3
  export class DataAdapter extends Component {
4
-
5
4
  getRecords() {
6
- throw new Error('Abstract method');
5
+ throw new Error("Abstract method");
7
6
  }
8
7
 
9
- setFilter() {
10
-
11
- }
8
+ setFilter() {}
12
9
 
13
- sort() {
14
-
15
- }
10
+ sort() {}
16
11
  }
17
12
 
18
- DataAdapter.prototype.recordName = '$record';
19
- DataAdapter.prototype.indexName = '$index';
20
- DataAdapter.prototype.immutable = false;
13
+ DataAdapter.prototype.recordName = "$record";
14
+ DataAdapter.prototype.indexName = "$index";
15
+ DataAdapter.prototype.immutable = false;
@@ -1,4 +1,23 @@
1
- import * as Cx from '../../core';
2
- import {ArrayAdapter} from './ArrayAdapter';
1
+ import { ArrayAdapter } from './ArrayAdapter';
2
+ import { AccessorChain, Prop, CollatorOptions, StructuredProp } from "../../core";
3
+ import { Accessor } from "../../data/getAccessor";
3
4
 
4
- export class GroupAdapter extends ArrayAdapter {}
5
+ interface GroupAdapterConfig {
6
+ immutable?: boolean;
7
+ sealed?: boolean;
8
+ recordsBinding?: Prop<any[]>;
9
+ recordsAccessor?: Accessor;
10
+ recordName: string | AccessorChain<any>;
11
+ indexName: string | AccessorChain<any>;
12
+ keyField?: string;
13
+ aggregates?: StructuredProp;
14
+ groupRecordsAlias?: string;
15
+ groupRecordsName?: string;
16
+ groupings?: any[] | null;
17
+ groupName?: string;
18
+ sortOptions?: CollatorOptions;
19
+ }
20
+
21
+ export class GroupAdapter extends ArrayAdapter {
22
+ constructor(config: GroupAdapterConfig);
23
+ }
@@ -1,4 +1,24 @@
1
- import * as Cx from '../../core';
2
- import {ArrayAdapter} from './ArrayAdapter';
1
+ import { Prop, StringProp } from "../../core";
2
+ import { ArrayAdapter } from "./ArrayAdapter";
3
3
 
4
- export class TreeAdapter extends ArrayAdapter {}
4
+ interface TreeAdapterConfig {
5
+ immutable?: boolean;
6
+ sealed?: boolean;
7
+ recordsBinding?: Prop<any[]>;
8
+ recordName?: StringProp;
9
+ indexName?: StringProp;
10
+ keyField?: string;
11
+ childrenField?: string;
12
+ expandedField?: string;
13
+ leafField?: string;
14
+ loadingField?: string;
15
+ loadedField?: string;
16
+ onLoadError?: (response: any) => void;
17
+ foldersFirst?: boolean;
18
+ hideRootNodes?: boolean;
19
+ restoreExpandedNodesOnLoad?: boolean;
20
+ }
21
+
22
+ export class TreeAdapter extends ArrayAdapter {
23
+ constructor(config: TreeAdapterConfig);
24
+ }
@@ -1,86 +1,86 @@
1
- import * as Cx from "../../core";
2
- import { FieldProps } from "./Field";
3
-
4
- export interface DateTimeFieldProps extends FieldProps {
5
- /** Selected date. This should be a Date object or a valid date string consumable by Date.parse function. */
6
- value?: Cx.Prop<string | Date>;
7
-
8
- /** Defaults to false. Used to make the field read-only. */
9
- readOnly?: Cx.BooleanProp;
10
-
11
- /** The opposite of `disabled`. */
12
- enabled?: Cx.BooleanProp;
13
-
14
- /** Default text displayed when the field is empty. */
15
- placeholder?: Cx.StringProp;
16
-
17
- /** Minimum date value. This should be a Date object or a valid date string consumable by Date.parse function. */
18
- minValue?: Cx.Prop<string | Date>;
19
-
20
- /** Set to `true` to disallow the `minValue`. Default value is `false`. */
21
- minExclusive?: Cx.BooleanProp;
22
-
23
- /** Maximum date value. This should be a Date object or a valid date string consumable by Date.parse function. */
24
- maxValue?: Cx.Prop<string | Date>;
25
-
26
- /** Set to `true` to disallow the `maxValue`. Default value is `false`. */
27
- maxExclusive?: Cx.BooleanProp;
28
-
29
- /** Date format used to display the selected date. See Formatting for more details. */
30
- format?: Cx.StringProp;
31
-
32
- /** Base CSS class to be applied to the field. Defaults to `datefield`. */
33
- baseClass?: string;
34
-
35
- /** Maximum value error text. */
36
- maxValueErrorText?: string;
37
-
38
- /** Maximum exclusive value error text. */
39
- maxExclusiveErrorText?: string;
40
-
41
- /** Minimum value error text. */
42
- minValueErrorText?: string;
43
-
44
- /** Minimum exclusive value error text. */
45
- minExclusiveErrorText?: string;
46
-
47
- /** Error message used to indicate wrong user input, e.g. invalid date entered. */
48
- inputErrorText?: string;
49
-
50
- /** Name of the icon to be put on the left side of the input. */
51
- icon?: string;
52
-
53
- /** Set to false to hide the clear button. It can be used interchangeably with the hideClear property. Default value is true. */
54
- showClear?: boolean;
55
-
56
- /**
57
- * Set to `true` to display the clear button even if `required` is set. Default is `false`.
58
- */
59
- alwaysShowClear?: boolean;
60
-
61
- /** Set to true to hide the clear button. It can be used interchangeably with the showClear property. Default value is false. */
62
- hideClear?: boolean;
63
-
64
- /** Determines which segment of date/time is used. Default value is `datetime`. */
65
- segment?: "date" | "time" | "datetime";
66
-
67
- /** Set to `true` to indicate that only one segment of the selected date is affected. */
68
- partial?: boolean;
69
-
70
- /** The function that will be used to convert Date objects before writing data to the store.
71
- * Default implementation is Date.toISOString.
72
- * See also Culture.setDefaultDateEncoding.
73
- */
74
- encoding?: (date: Date) => any;
75
-
76
- /** Defines which days of week should be displayed as disabled, i.e. `[0, 6]` will make Sunday and Saturday unselectable. */
77
- disabledDaysOfWeek?: number[];
78
-
79
- /** Set to true to focus the input field instead of the picker first. */
80
- focusInputFirst?: boolean;
81
-
82
- /** Set to true to enable seconds segment in the picker. */
83
- showSeconds?: boolean;
84
- }
85
-
86
- export class DateTimeField extends Cx.Widget<DateTimeFieldProps> {}
1
+ import * as Cx from "../../core";
2
+ import { FieldProps } from "./Field";
3
+
4
+ export interface DateTimeFieldProps extends FieldProps {
5
+ /** Selected date. This should be a Date object or a valid date string consumable by Date.parse function. */
6
+ value?: Cx.Prop<string | Date>;
7
+
8
+ /** Defaults to false. Used to make the field read-only. */
9
+ readOnly?: Cx.BooleanProp;
10
+
11
+ /** The opposite of `disabled`. */
12
+ enabled?: Cx.BooleanProp;
13
+
14
+ /** Default text displayed when the field is empty. */
15
+ placeholder?: Cx.StringProp;
16
+
17
+ /** Minimum date value. This should be a Date object or a valid date string consumable by Date.parse function. */
18
+ minValue?: Cx.Prop<string | Date>;
19
+
20
+ /** Set to `true` to disallow the `minValue`. Default value is `false`. */
21
+ minExclusive?: Cx.BooleanProp;
22
+
23
+ /** Maximum date value. This should be a Date object or a valid date string consumable by Date.parse function. */
24
+ maxValue?: Cx.Prop<string | Date>;
25
+
26
+ /** Set to `true` to disallow the `maxValue`. Default value is `false`. */
27
+ maxExclusive?: Cx.BooleanProp;
28
+
29
+ /** Date format used to display the selected date. See Formatting for more details. */
30
+ format?: Cx.StringProp;
31
+
32
+ /** Base CSS class to be applied to the field. Defaults to `datefield`. */
33
+ baseClass?: string;
34
+
35
+ /** Maximum value error text. */
36
+ maxValueErrorText?: string;
37
+
38
+ /** Maximum exclusive value error text. */
39
+ maxExclusiveErrorText?: string;
40
+
41
+ /** Minimum value error text. */
42
+ minValueErrorText?: string;
43
+
44
+ /** Minimum exclusive value error text. */
45
+ minExclusiveErrorText?: string;
46
+
47
+ /** Error message used to indicate wrong user input, e.g. invalid date entered. */
48
+ inputErrorText?: string;
49
+
50
+ /** Name or configuration of the icon to be put on the left side of the input. */
51
+ icon?: Cx.StringProp | Cx.Record;
52
+
53
+ /** Set to false to hide the clear button. It can be used interchangeably with the hideClear property. Default value is true. */
54
+ showClear?: boolean;
55
+
56
+ /**
57
+ * Set to `true` to display the clear button even if `required` is set. Default is `false`.
58
+ */
59
+ alwaysShowClear?: boolean;
60
+
61
+ /** Set to true to hide the clear button. It can be used interchangeably with the showClear property. Default value is false. */
62
+ hideClear?: boolean;
63
+
64
+ /** Determines which segment of date/time is used. Default value is `datetime`. */
65
+ segment?: "date" | "time" | "datetime";
66
+
67
+ /** Set to `true` to indicate that only one segment of the selected date is affected. */
68
+ partial?: boolean;
69
+
70
+ /** The function that will be used to convert Date objects before writing data to the store.
71
+ * Default implementation is Date.toISOString.
72
+ * See also Culture.setDefaultDateEncoding.
73
+ */
74
+ encoding?: (date: Date) => any;
75
+
76
+ /** Defines which days of week should be displayed as disabled, i.e. `[0, 6]` will make Sunday and Saturday unselectable. */
77
+ disabledDaysOfWeek?: number[];
78
+
79
+ /** Set to true to focus the input field instead of the picker first. */
80
+ focusInputFirst?: boolean;
81
+
82
+ /** Set to true to enable seconds segment in the picker. */
83
+ showSeconds?: boolean;
84
+ }
85
+
86
+ export class DateTimeField extends Cx.Widget<DateTimeFieldProps> {}