amis 1.5.2 → 1.5.6-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.
Files changed (171) hide show
  1. package/README.md +5 -0
  2. package/lib/RootRenderer.d.ts +1 -1
  3. package/lib/RootRenderer.js +4 -3
  4. package/lib/RootRenderer.js.map +2 -2
  5. package/lib/components/Card.d.ts +96 -0
  6. package/lib/components/Card.js +85 -0
  7. package/lib/components/Card.js.map +13 -0
  8. package/lib/components/Collapse.js +1 -1
  9. package/lib/components/Collapse.js.map +2 -2
  10. package/lib/components/DatePicker.d.ts +179 -84
  11. package/lib/components/DatePicker.js +25 -4
  12. package/lib/components/DatePicker.js.map +2 -2
  13. package/lib/components/DateRangePicker.d.ts +84 -84
  14. package/lib/components/MonthRangePicker.d.ts +84 -84
  15. package/lib/components/Picker.d.ts +503 -0
  16. package/lib/components/Picker.js +65 -0
  17. package/lib/components/Picker.js.map +13 -0
  18. package/lib/components/PickerColumn.d.ts +29 -459
  19. package/lib/components/PickerColumn.js +35 -44
  20. package/lib/components/PickerColumn.js.map +2 -2
  21. package/lib/components/Progress.js +1 -1
  22. package/lib/components/Progress.js.map +2 -2
  23. package/lib/components/Select.d.ts +238 -238
  24. package/lib/components/Select.js +9 -2
  25. package/lib/components/Select.js.map +2 -2
  26. package/lib/components/Selection.js +1 -4
  27. package/lib/components/Selection.js.map +2 -2
  28. package/lib/components/Switch.d.ts +6 -6
  29. package/lib/components/Switch.js.map +2 -2
  30. package/lib/components/calendar/Calendar.d.ts +8 -0
  31. package/lib/components/calendar/Calendar.js +19 -1
  32. package/lib/components/calendar/Calendar.js.map +2 -2
  33. package/lib/components/calendar/DaysView.d.ts +8 -0
  34. package/lib/components/calendar/DaysView.js +71 -0
  35. package/lib/components/calendar/DaysView.js.map +2 -2
  36. package/lib/components/calendar/TimeView.d.ts +10 -0
  37. package/lib/components/calendar/TimeView.js +55 -2
  38. package/lib/components/calendar/TimeView.js.map +2 -2
  39. package/lib/components/calendar/YearsView.d.ts +9 -0
  40. package/lib/components/calendar/YearsView.js +19 -0
  41. package/lib/components/calendar/YearsView.js.map +2 -2
  42. package/lib/index.js +1 -1
  43. package/lib/renderers/CRUD.d.ts +1 -1
  44. package/lib/renderers/CRUD.js +4 -3
  45. package/lib/renderers/CRUD.js.map +2 -2
  46. package/lib/renderers/Card.d.ts +81 -13
  47. package/lib/renderers/Card.js +178 -81
  48. package/lib/renderers/Card.js.map +2 -2
  49. package/lib/renderers/Dialog.d.ts +2 -2
  50. package/lib/renderers/Dialog.js +7 -7
  51. package/lib/renderers/Dialog.js.map +2 -2
  52. package/lib/renderers/Drawer.js +2 -2
  53. package/lib/renderers/Drawer.js.map +2 -2
  54. package/lib/renderers/Form/DiffEditor.d.ts +145 -37
  55. package/lib/renderers/Form/Editor.d.ts +144 -36
  56. package/lib/renderers/Form/Formula.js +5 -5
  57. package/lib/renderers/Form/Formula.js.map +2 -2
  58. package/lib/renderers/Form/InputCity.d.ts +84 -84
  59. package/lib/renderers/Form/InputDate.d.ts +25 -0
  60. package/lib/renderers/Form/InputDate.js +48 -3
  61. package/lib/renderers/Form/InputDate.js.map +2 -2
  62. package/lib/renderers/Form/InputFile.js +3 -3
  63. package/lib/renderers/Form/InputFile.js.map +2 -2
  64. package/lib/renderers/Form/InputImage.js +1 -1
  65. package/lib/renderers/Form/InputImage.js.map +2 -2
  66. package/lib/renderers/Form/Item.d.ts +1 -1
  67. package/lib/renderers/Form/Item.js +4 -3
  68. package/lib/renderers/Form/Item.js.map +2 -2
  69. package/lib/renderers/Form/index.d.ts +1 -1
  70. package/lib/renderers/Form/index.js +13 -2
  71. package/lib/renderers/Form/index.js.map +2 -2
  72. package/lib/renderers/Form/wrapControl.js +3 -2
  73. package/lib/renderers/Form/wrapControl.js.map +2 -2
  74. package/lib/renderers/Page.d.ts +3 -3
  75. package/lib/renderers/Page.js +4 -3
  76. package/lib/renderers/Page.js.map +2 -2
  77. package/lib/renderers/Status.js +1 -1
  78. package/lib/renderers/Status.js.map +2 -2
  79. package/lib/renderers/Wizard.d.ts +1 -1
  80. package/lib/renderers/Wizard.js +93 -36
  81. package/lib/renderers/Wizard.js.map +2 -2
  82. package/lib/store/combo.d.ts +160 -40
  83. package/lib/store/form.d.ts +64 -16
  84. package/lib/store/formItem.d.ts +4 -2
  85. package/lib/store/formItem.js +11 -6
  86. package/lib/store/formItem.js.map +2 -2
  87. package/lib/store/table.d.ts +128 -32
  88. package/lib/themes/ang-ie11.css +255 -31
  89. package/lib/themes/ang.css +255 -31
  90. package/lib/themes/ang.css.map +1 -1
  91. package/lib/themes/antd-ie11.css +255 -32
  92. package/lib/themes/antd.css +255 -32
  93. package/lib/themes/antd.css.map +1 -1
  94. package/lib/themes/cxd-ie11.css +263 -31
  95. package/lib/themes/cxd.css +263 -31
  96. package/lib/themes/cxd.css.map +1 -1
  97. package/lib/themes/dark-ie11.css +255 -31
  98. package/lib/themes/dark.css +255 -31
  99. package/lib/themes/dark.css.map +1 -1
  100. package/lib/themes/default.css +263 -31
  101. package/lib/themes/default.css.map +1 -1
  102. package/lib/utils/helper.d.ts +7 -0
  103. package/lib/utils/helper.js +33 -1
  104. package/lib/utils/helper.js.map +2 -2
  105. package/package.json +2 -2
  106. package/schema.json +209 -20
  107. package/scss/_properties.scss +14 -3
  108. package/scss/components/_calendar.scss +81 -0
  109. package/scss/components/_card.scss +155 -15
  110. package/scss/components/_nav.scss +1 -1
  111. package/scss/components/_picker-columns.scss +20 -14
  112. package/scss/components/_toast.scss +3 -0
  113. package/scss/components/form/_file.scss +2 -2
  114. package/scss/components/form/_selection.scss +4 -0
  115. package/scss/components/form/_switch.scss +6 -0
  116. package/scss/themes/_antd-variables.scss +0 -2
  117. package/scss/themes/_common.scss +1 -0
  118. package/scss/themes/_cxd-variables.scss +9 -0
  119. package/sdk/ang-ie11.css +296 -33
  120. package/sdk/ang.css +306 -33
  121. package/sdk/antd-ie11.css +295 -32
  122. package/sdk/antd.css +306 -34
  123. package/sdk/charts.js +13 -13
  124. package/sdk/color-picker.js +65 -65
  125. package/sdk/cropperjs.js +2 -2
  126. package/sdk/cxd-ie11.css +296 -33
  127. package/sdk/cxd.css +314 -33
  128. package/sdk/dark-ie11.css +296 -33
  129. package/sdk/dark.css +306 -33
  130. package/sdk/exceljs.js +1 -1
  131. package/sdk/markdown.js +69 -69
  132. package/sdk/papaparse.js +1 -1
  133. package/sdk/renderers/Form/CityDB.js +1 -1
  134. package/sdk/rest.js +18 -18
  135. package/sdk/rich-text.js +62 -62
  136. package/sdk/sdk-ie11.css +296 -33
  137. package/sdk/sdk.css +314 -33
  138. package/sdk/sdk.js +1190 -1186
  139. package/sdk/thirds/hls.js/hls.js +1 -1
  140. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  141. package/sdk/tinymce.js +57 -57
  142. package/src/RootRenderer.tsx +3 -3
  143. package/src/components/Card.tsx +203 -0
  144. package/src/components/Collapse.tsx +1 -1
  145. package/src/components/DatePicker.tsx +44 -3
  146. package/src/components/Picker.tsx +145 -0
  147. package/src/components/PickerColumn.tsx +58 -95
  148. package/src/components/Progress.tsx +1 -1
  149. package/src/components/Select.tsx +17 -12
  150. package/src/components/Selection.tsx +1 -4
  151. package/src/components/Switch.tsx +7 -7
  152. package/src/components/calendar/Calendar.tsx +30 -1
  153. package/src/components/calendar/DaysView.tsx +91 -0
  154. package/src/components/calendar/TimeView.tsx +80 -5
  155. package/src/components/calendar/YearsView.tsx +44 -1
  156. package/src/renderers/CRUD.tsx +3 -3
  157. package/src/renderers/Card.tsx +299 -191
  158. package/src/renderers/Dialog.tsx +8 -8
  159. package/src/renderers/Drawer.tsx +2 -2
  160. package/src/renderers/Form/Formula.tsx +7 -5
  161. package/src/renderers/Form/InputDate.tsx +83 -2
  162. package/src/renderers/Form/InputFile.tsx +7 -3
  163. package/src/renderers/Form/InputImage.tsx +1 -1
  164. package/src/renderers/Form/Item.tsx +2 -2
  165. package/src/renderers/Form/index.tsx +14 -2
  166. package/src/renderers/Form/wrapControl.tsx +5 -2
  167. package/src/renderers/Page.tsx +11 -10
  168. package/src/renderers/Status.tsx +3 -1
  169. package/src/renderers/Wizard.tsx +52 -12
  170. package/src/store/formItem.ts +12 -6
  171. package/src/utils/helper.ts +34 -0
@@ -5,6 +5,9 @@ import React from 'react';
5
5
  import {LocaleProps, localeable} from '../../locale';
6
6
  import {Icon} from '../icons';
7
7
  import {ClassNamesFn} from '../../theme';
8
+ import Picker from '../Picker';
9
+ import {PickerColumnItem} from '../PickerColumn';
10
+ import {getRange, isMobile} from "../../utils/helper";
8
11
 
9
12
  export class CustomTimeView extends TimeView {
10
13
  props: {
@@ -23,6 +26,9 @@ export class CustomTimeView extends TimeView {
23
26
  timeFormat: string;
24
27
  classnames: ClassNamesFn;
25
28
  setTime: (type: string, value: any) => void;
29
+ onClose?: () => void;
30
+ onConfirm?: (value: number[], types: string[]) => void;
31
+ useMobileUI: boolean;
26
32
  } & LocaleProps;
27
33
  onStartClicking: any;
28
34
  disableContextMenu: any;
@@ -68,10 +74,9 @@ export class CustomTimeView extends TimeView {
68
74
  );
69
75
  };
70
76
 
71
- renderCounter = (type: string) => {
72
- const cx = this.props.classnames;
77
+ getCounterValue = (type: string) => {
73
78
  if (type !== 'daypart') {
74
- var value = this.state[type];
79
+ let value = this.state[type];
75
80
  if (
76
81
  type === 'hours' &&
77
82
  this.props.timeFormat.toLowerCase().indexOf(' a') !== -1
@@ -82,6 +87,15 @@ export class CustomTimeView extends TimeView {
82
87
  value = 12;
83
88
  }
84
89
  }
90
+ return parseInt(value);
91
+ }
92
+ return 0;
93
+ }
94
+
95
+ renderCounter = (type: string) => {
96
+ const cx = this.props.classnames;
97
+ if (type !== 'daypart') {
98
+ const value = this.getCounterValue(type);
85
99
 
86
100
  const {min, max, step} = this.timeConstraints[type];
87
101
 
@@ -134,10 +148,71 @@ export class CustomTimeView extends TimeView {
134
148
  return null;
135
149
  };
136
150
 
151
+ onConfirm = (value: number[]) => {
152
+ this.props.onConfirm && this.props.onConfirm(value, this.state.counters);
153
+ }
154
+
155
+ getDayPartOptions = () => {
156
+ const {translate: __} = this.props;
157
+ let options = ['am', 'pm'];
158
+ if ( this.props.timeFormat.indexOf( ' A' ) !== -1 ) {
159
+ options = ['AM', 'PM'];
160
+ }
161
+
162
+ return options.map(daypart => ({
163
+ text: __(daypart),
164
+ value: daypart
165
+ }));
166
+ }
167
+
168
+ renderTimeViewPicker = () => {
169
+ const columns: PickerColumnItem[] = [];
170
+ const values = [];
171
+
172
+ this.state.counters.forEach(type => {
173
+ if (type !== 'daypart') {
174
+ const counterValue: number = this.getCounterValue(type);
175
+ let {min, max, step} = this.timeConstraints[type];
176
+ // 修正am pm时hours可选最大值
177
+ if (type === 'hours'
178
+ && this.state.daypart !== false
179
+ && this.props.timeFormat.toLowerCase().indexOf(' a') !== -1) {
180
+ max = max > 12 ? 12 : max;
181
+ }
182
+ columns.push({
183
+ options: getRange(min, max, step)
184
+ });
185
+ values.push(counterValue);
186
+ }
187
+ });
188
+ if (this.state.daypart !== false) {
189
+ columns.push({
190
+ options: this.getDayPartOptions()
191
+ });
192
+ values.push(this.state.daypart)
193
+ }
194
+
195
+ return (
196
+ <Picker
197
+ translate={this.props.translate}
198
+ locale={this.props.locale}
199
+ columns={columns}
200
+ value={values}
201
+ onConfirm={this.onConfirm}
202
+ onClose={this.props.onClose}
203
+ />
204
+ );
205
+ }
206
+
137
207
  render() {
138
- const counters: Array<JSX.Element | null> = [];
208
+ let counters: Array<JSX.Element | null> = [];
139
209
  const cx = this.props.classnames;
140
-
210
+
211
+ if (isMobile() && this.props.useMobileUI) {
212
+ return <div className={cx('CalendarTime')}>
213
+ {this.renderTimeViewPicker()}
214
+ </div>
215
+ }
141
216
  this.state.counters.forEach(c => {
142
217
  if (counters.length) {
143
218
  counters.push(
@@ -3,10 +3,13 @@ import YearsView from 'react-datetime/src/YearsView';
3
3
  import moment from 'moment';
4
4
  import React from 'react';
5
5
  import {LocaleProps, localeable} from '../../locale';
6
+ import Picker from '../Picker';
7
+ import {convertDateToObject, getRange, isMobile} from "../../utils/helper";
6
8
 
7
9
  export class CustomYearsView extends YearsView {
8
10
  props: {
9
11
  viewDate: moment.Moment;
12
+ selectedDate: moment.Moment;
10
13
  subtractTime: (
11
14
  amount: number,
12
15
  type: string,
@@ -18,6 +21,12 @@ export class CustomYearsView extends YearsView {
18
21
  toSelected?: moment.Moment
19
22
  ) => () => void;
20
23
  showView: (view: string) => () => void;
24
+ minDate?: moment.Moment;
25
+ maxDate?: moment.Moment;
26
+ onChange?: () => void;
27
+ onClose?: () => void;
28
+ onConfirm?: (value: number[], types: string[]) => void;
29
+ useMobileUI: boolean;
21
30
  } & LocaleProps;
22
31
  renderYears: (year: number) => JSX.Element;
23
32
  renderYear = (props: any, year: number) => {
@@ -27,11 +36,45 @@ export class CustomYearsView extends YearsView {
27
36
  </td>
28
37
  );
29
38
  };
39
+
40
+ onConfirm = (value: number[]) => {
41
+ this.props.onConfirm && this.props.onConfirm(value, ["year"])
42
+ }
43
+
44
+ renderYearPicker = () => {
45
+ const {minDate, maxDate, selectedDate, viewDate} = this.props;
46
+ const year = (selectedDate || viewDate || moment()).year();
47
+ const maxYear = maxDate ? convertDateToObject(maxDate)!.year : year + 100;
48
+ const minYear = minDate ? convertDateToObject(minDate)!.year : year - 100;
49
+
50
+ const columns = [{
51
+ options: getRange(minYear, maxYear, 1)
52
+ }];
53
+
54
+ return (
55
+ <Picker
56
+ translate={this.props.translate}
57
+ locale={this.props.locale}
58
+ columns={columns}
59
+ value={[year]}
60
+ onConfirm={this.onConfirm}
61
+ onClose={this.props.onClose}
62
+ />
63
+ );
64
+ };
65
+
30
66
  render() {
31
67
  let year = this.props.viewDate.year();
32
68
  year = year - (year % 10);
33
69
  const __ = this.props.translate;
34
-
70
+
71
+ if (isMobile() && this.props.useMobileUI) {
72
+ return (
73
+ <div className="rdtYears">
74
+ {this.renderYearPicker()}
75
+ </div>
76
+ );
77
+ }
35
78
  return (
36
79
  <div className="rdtYears">
37
80
  <table>
@@ -885,7 +885,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
885
885
  env
886
886
  } = this.props;
887
887
 
888
- store.closeDialog();
888
+ store.closeDialog(true);
889
889
  const dialogAction = store.action as Action;
890
890
 
891
891
  if (stopAutoRefreshWhenModalIsOpen && interval) {
@@ -968,10 +968,10 @@ export default class CRUD extends React.Component<CRUDProps, any> {
968
968
  redirect && env.jumpTo(redirect, dialogAction);
969
969
  }
970
970
 
971
- handleDialogClose() {
971
+ handleDialogClose(confirmed = false) {
972
972
  const {store, stopAutoRefreshWhenModalIsOpen, silentPolling, interval} =
973
973
  this.props;
974
- store.closeDialog();
974
+ store.closeDialog(confirmed);
975
975
 
976
976
  if (stopAutoRefreshWhenModalIsOpen && interval) {
977
977
  this.timer = setTimeout(