amis 1.5.7 → 1.5.8-beta.2
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/.husky/pre-commit +1 -1
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/AssociatedSelection.d.ts +84 -84
- package/lib/components/AssociatedSelection.js +2 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/Avatar.d.ts +135 -0
- package/lib/components/Avatar.js +120 -0
- package/lib/components/Avatar.js.map +13 -0
- package/lib/components/BaiduMapPicker.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +547 -0
- package/lib/components/CalendarMobile.js +432 -0
- package/lib/components/CalendarMobile.js.map +13 -0
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/ChainedSelection.d.ts +84 -84
- package/lib/components/ChainedSelection.js +15 -3
- package/lib/components/ChainedSelection.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +10 -4
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +85 -84
- package/lib/components/DateRangePicker.js +21 -6
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/GroupedSelection.d.ts +84 -84
- package/lib/components/GroupedSelection.js +14 -2
- package/lib/components/GroupedSelection.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +85 -84
- package/lib/components/MonthRangePicker.js +19 -6
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/Overlay.d.ts +1 -1
- package/lib/components/Overlay.js.map +1 -1
- package/lib/components/Picker.js +9 -4
- package/lib/components/Picker.js.map +2 -2
- package/lib/components/PickerColumn.js +0 -1
- package/lib/components/PickerColumn.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +3 -0
- package/lib/components/PickerContainer.js +12 -5
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/PopUp.d.ts +1 -0
- package/lib/components/PopUp.js +5 -5
- package/lib/components/PopUp.js.map +2 -2
- package/lib/components/ResultBox.js +2 -1
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultList.d.ts +9 -2
- package/lib/components/ResultList.js +22 -2
- package/lib/components/ResultList.js.map +2 -2
- package/lib/components/Select.d.ts +237 -237
- package/lib/components/Select.js +1 -1
- package/lib/components/Select.js.map +1 -1
- package/lib/components/Selection.d.ts +94 -86
- package/lib/components/Selection.js +11 -2
- package/lib/components/Selection.js.map +2 -2
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/TableSelection.d.ts +85 -85
- package/lib/components/TableSelection.js +1 -9
- package/lib/components/TableSelection.js.map +2 -2
- package/lib/components/Tabs.js +31 -33
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/TabsTransfer.d.ts +87 -256
- package/lib/components/TabsTransfer.js +52 -9
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/TabsTransferPicker.d.ts +1 -1
- package/lib/components/TabsTransferPicker.js +20 -18
- package/lib/components/TabsTransferPicker.js.map +2 -2
- package/lib/components/Timeline.d.ts +69 -0
- package/lib/components/Timeline.js +16 -0
- package/lib/components/Timeline.js.map +13 -0
- package/lib/components/TimelineItem.d.ts +516 -0
- package/lib/components/TimelineItem.js +41 -0
- package/lib/components/TimelineItem.js.map +13 -0
- package/lib/components/Transfer.d.ts +100 -98
- package/lib/components/Transfer.js +2 -3
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/TransferDropDown.js +1 -5
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/TransferPicker.d.ts +1 -0
- package/lib/components/TransferPicker.js +19 -4
- package/lib/components/TransferPicker.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +85 -85
- package/lib/components/TreeSelection.js +7 -1
- package/lib/components/TreeSelection.js.map +2 -2
- package/lib/components/calendar/Calendar.d.ts +5 -0
- package/lib/components/calendar/Calendar.js +15 -2
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.d.ts +1 -0
- package/lib/components/calendar/DaysView.js +25 -13
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/MonthsView.d.ts +28 -0
- package/lib/components/calendar/MonthsView.js +79 -3
- package/lib/components/calendar/MonthsView.js.map +2 -2
- package/lib/components/calendar/QuartersView.d.ts +1 -0
- package/lib/components/calendar/QuartersView.js +2 -2
- package/lib/components/calendar/QuartersView.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +5 -0
- package/lib/components/calendar/TimeView.js +8 -5
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.js +6 -4
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +1 -4
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Func.js +1 -1
- package/lib/components/condition-builder/Func.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +3 -0
- package/lib/components/formula/Editor.js +3 -2
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/FuncList.js +2 -1
- package/lib/components/formula/FuncList.js.map +2 -2
- package/lib/components/formula/Picker.js +1 -1
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/icons.js +2 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +4 -2
- package/lib/components/index.js.map +2 -2
- package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
- package/lib/components/virtual-list/index.js +1 -2
- package/lib/components/virtual-list/index.js.map +2 -2
- package/lib/factory.js +5 -0
- package/lib/factory.js.map +2 -2
- package/lib/icons/tree-down.js +7 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +13 -2
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +13 -2
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +12 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Avatar.d.ts +35 -26
- package/lib/renderers/Avatar.js +14 -19
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/Card.js +6 -5
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Custom.js.map +2 -2
- package/lib/renderers/Each.js +5 -2
- package/lib/renderers/Each.js.map +2 -2
- package/lib/renderers/Flex.js +1 -5
- package/lib/renderers/Flex.js.map +2 -2
- package/lib/renderers/Form/ChartRadios.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.js +2 -1
- package/lib/renderers/Form/DiffEditor.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputColor.js +1 -1
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +6 -4
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +1 -1
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +4 -1
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +1 -0
- package/lib/renderers/Form/InputImage.js +8 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +1 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputQuarterRange.js +1 -1
- package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
- package/lib/renderers/Form/InputYearRange.js +1 -1
- package/lib/renderers/Form/InputYearRange.js.map +2 -2
- package/lib/renderers/Form/Item.js +11 -4
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.js +1 -1
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Select.js +1 -1
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
- package/lib/renderers/Form/TabsTransfer.js +20 -1
- package/lib/renderers/Form/TabsTransfer.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
- package/lib/renderers/Form/TabsTransferPicker.js +21 -2
- package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
- package/lib/renderers/Form/Transfer.d.ts +15 -4
- package/lib/renderers/Form/Transfer.js +55 -18
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +3 -32
- package/lib/renderers/Form/TransferPicker.js +1 -1
- package/lib/renderers/Form/TransferPicker.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/IFrame.js +0 -2
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Remark.d.ts +4 -0
- package/lib/renderers/Remark.js +38 -7
- package/lib/renderers/Remark.js.map +2 -2
- package/lib/renderers/Steps.js +5 -5
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/index.js +4 -1
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +1 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Timeline.d.ts +65 -0
- package/lib/renderers/Timeline.js +54 -0
- package/lib/renderers/Timeline.js.map +13 -0
- package/lib/renderers/Video.js.map +2 -2
- package/lib/store/combo.js.map +2 -2
- package/lib/themes/ang-ie11.css +659 -25
- package/lib/themes/ang.css +659 -25
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +694 -25
- package/lib/themes/antd.css +694 -25
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +696 -25
- package/lib/themes/cxd.css +696 -25
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +660 -25
- package/lib/themes/dark.css +660 -25
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +696 -25
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/RootClose.js +3 -1
- package/lib/utils/RootClose.js.map +2 -2
- package/lib/utils/helper.d.ts +1 -1
- package/lib/utils/helper.js +1 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +13 -6
- package/schema.json +1042 -541
- package/scss/_properties.scss +8 -0
- package/scss/components/_avatar.scss +27 -9
- package/scss/components/_calendar.scss +280 -0
- package/scss/components/_card.scss +1 -1
- package/scss/components/_collapse-group.scss +1 -3
- package/scss/components/_formula.scss +30 -6
- package/scss/components/_modal.scss +18 -0
- package/scss/components/_panel.scss +45 -0
- package/scss/components/_popup.scss +10 -6
- package/scss/components/_timeline.scss +198 -0
- package/scss/components/form/_form.scss +168 -0
- package/scss/components/form/_result-list.scss +2 -0
- package/scss/components/form/_selection.scss +5 -4
- package/scss/themes/_antd-variables.scss +42 -0
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +47 -0
- package/scss/themes/_dark-variables.scss +1 -0
- package/sdk/ang-ie11.css +782 -23
- package/sdk/ang.css +791 -26
- package/sdk/antd-ie11.css +782 -23
- package/sdk/antd.css +826 -26
- package/sdk/charts.js +17 -17
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +782 -23
- package/sdk/cxd.css +828 -26
- package/sdk/dark-ie11.css +783 -24
- package/sdk/dark.css +792 -26
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +13 -2
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +18 -18
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +782 -23
- package/sdk/sdk.css +828 -26
- package/sdk/sdk.js +1225 -1285
- package/sdk/thirds/hls.js/hls.js +18 -18
- package/sdk/thirds/mpegts.js/mpegts.js +2 -2
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +3 -0
- package/src/components/AssociatedSelection.tsx +5 -1
- package/src/components/Avatar.tsx +253 -0
- package/src/components/BaiduMapPicker.tsx +19 -14
- package/src/components/CalendarMobile.tsx +563 -0
- package/src/components/ChainedSelection.tsx +16 -3
- package/src/components/ColorPicker.tsx +37 -39
- package/src/components/DatePicker.tsx +41 -35
- package/src/components/DateRangePicker.tsx +61 -16
- package/src/components/GroupedSelection.tsx +14 -2
- package/src/components/MonthRangePicker.tsx +57 -17
- package/src/components/Overlay.tsx +1 -1
- package/src/components/Picker.tsx +41 -36
- package/src/components/PickerColumn.tsx +22 -25
- package/src/components/PickerContainer.tsx +13 -1
- package/src/components/PopUp.tsx +34 -49
- package/src/components/ResultBox.tsx +4 -1
- package/src/components/ResultList.tsx +36 -6
- package/src/components/Select.tsx +1 -1
- package/src/components/Selection.tsx +21 -3
- package/src/components/Steps.tsx +23 -10
- package/src/components/TableSelection.tsx +1 -44
- package/src/components/Tabs.tsx +65 -54
- package/src/components/TabsTransfer.tsx +78 -9
- package/src/components/TabsTransferPicker.tsx +25 -13
- package/src/components/Timeline.tsx +31 -0
- package/src/components/TimelineItem.tsx +107 -0
- package/src/components/Transfer.tsx +11 -8
- package/src/components/TransferDropDown.tsx +1 -7
- package/src/components/TransferPicker.tsx +25 -4
- package/src/components/TreeSelection.tsx +7 -1
- package/src/components/calendar/Calendar.tsx +26 -6
- package/src/components/calendar/DaysView.tsx +79 -31
- package/src/components/calendar/MonthsView.tsx +116 -2
- package/src/components/calendar/QuartersView.tsx +3 -2
- package/src/components/calendar/TimeView.tsx +26 -16
- package/src/components/calendar/YearsView.tsx +14 -16
- package/src/components/condition-builder/Field.tsx +1 -3
- package/src/components/condition-builder/Func.tsx +1 -1
- package/src/components/formula/Editor.tsx +16 -11
- package/src/components/formula/FuncList.tsx +3 -1
- package/src/components/formula/Picker.tsx +2 -1
- package/src/components/icons.tsx +2 -0
- package/src/components/index.tsx +2 -0
- package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
- package/src/components/virtual-list/index.tsx +4 -6
- package/src/factory.tsx +6 -0
- package/src/icons/tree-down.svg +5 -0
- package/src/index.tsx +1 -0
- package/src/locale/de-DE.ts +13 -2
- package/src/locale/en-US.ts +13 -2
- package/src/locale/zh-CN.ts +12 -1
- package/src/renderers/Avatar.tsx +83 -74
- package/src/renderers/Card.tsx +10 -6
- package/src/renderers/Custom.tsx +6 -3
- package/src/renderers/Each.tsx +4 -4
- package/src/renderers/Flex.tsx +3 -7
- package/src/renderers/Form/ChartRadios.tsx +2 -7
- package/src/renderers/Form/Checkboxes.tsx +1 -1
- package/src/renderers/Form/DiffEditor.tsx +2 -3
- package/src/renderers/Form/InputColor.tsx +1 -1
- package/src/renderers/Form/InputDate.tsx +38 -19
- package/src/renderers/Form/InputDateRange.tsx +0 -1
- package/src/renderers/Form/InputFormula.tsx +9 -4
- package/src/renderers/Form/InputImage.tsx +9 -4
- package/src/renderers/Form/InputMonthRange.tsx +0 -1
- package/src/renderers/Form/InputQuarterRange.tsx +0 -1
- package/src/renderers/Form/InputYearRange.tsx +0 -1
- package/src/renderers/Form/Item.tsx +15 -4
- package/src/renderers/Form/NestedSelect.tsx +1 -1
- package/src/renderers/Form/Select.tsx +0 -1
- package/src/renderers/Form/TabsTransfer.tsx +28 -38
- package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
- package/src/renderers/Form/Transfer.tsx +75 -24
- package/src/renderers/Form/TransferPicker.tsx +6 -38
- package/src/renderers/Form/TreeSelect.tsx +12 -14
- package/src/renderers/IFrame.tsx +0 -2
- package/src/renderers/Remark.tsx +67 -18
- package/src/renderers/Steps.tsx +11 -13
- package/src/renderers/Table/index.tsx +7 -1
- package/src/renderers/Tabs.tsx +6 -2
- package/src/renderers/Timeline.tsx +141 -0
- package/src/renderers/Video.tsx +4 -20
- package/src/store/combo.ts +1 -3
- package/src/utils/RootClose.ts +5 -1
- package/src/utils/helper.ts +1 -1
@@ -41,13 +41,14 @@ interface CustomDaysViewProps extends LocaleProps {
|
|
41
41
|
handleClickOutside: () => void;
|
42
42
|
classnames: ClassNamesFn;
|
43
43
|
schedules?: Array<{
|
44
|
-
startTime: Date
|
45
|
-
endTime: Date
|
46
|
-
content: any
|
47
|
-
className?: string
|
44
|
+
startTime: Date;
|
45
|
+
endTime: Date;
|
46
|
+
content: any;
|
47
|
+
className?: string;
|
48
48
|
}>;
|
49
49
|
largeMode?: boolean;
|
50
50
|
onScheduleClick?: (scheduleData: any) => void;
|
51
|
+
hideHeader?: boolean;
|
51
52
|
}
|
52
53
|
|
53
54
|
export class CustomDaysView extends DaysView {
|
@@ -129,7 +130,12 @@ export class CustomDaysView extends DaysView {
|
|
129
130
|
if (this.props.schedules) {
|
130
131
|
let schedule: any[] = [];
|
131
132
|
this.props.schedules.forEach((item: any) => {
|
132
|
-
if (
|
133
|
+
if (
|
134
|
+
currentDate.isSameOrAfter(
|
135
|
+
moment(item.startTime).subtract(1, 'days')
|
136
|
+
) &&
|
137
|
+
currentDate.isSameOrBefore(item.endTime)
|
138
|
+
) {
|
133
139
|
schedule.push(item);
|
134
140
|
}
|
135
141
|
});
|
@@ -141,8 +147,11 @@ export class CustomDaysView extends DaysView {
|
|
141
147
|
scheduleData: schedule.map((item: any) => {
|
142
148
|
return {
|
143
149
|
...item,
|
144
|
-
time:
|
145
|
-
|
150
|
+
time:
|
151
|
+
moment(item.startTime).format('YYYY-MM-DD HH:mm:ss') +
|
152
|
+
' - ' +
|
153
|
+
moment(item.endTime).format('YYYY-MM-DD HH:mm:ss')
|
154
|
+
};
|
146
155
|
}),
|
147
156
|
currentDate
|
148
157
|
};
|
@@ -156,8 +165,7 @@ export class CustomDaysView extends DaysView {
|
|
156
165
|
}
|
157
166
|
if (moment(schedule[i].startTime).isSame(currentDate, 'day')) {
|
158
167
|
showSchedule.push(schedule[i]);
|
159
|
-
}
|
160
|
-
else if (currentDate.weekday() === 0) {
|
168
|
+
} else if (currentDate.weekday() === 0) {
|
161
169
|
// 周一重新设置日程
|
162
170
|
showSchedule.push({
|
163
171
|
...schedule[i],
|
@@ -166,46 +174,86 @@ export class CustomDaysView extends DaysView {
|
|
166
174
|
}
|
167
175
|
}
|
168
176
|
[0, 1, 2].forEach((i: number) => {
|
169
|
-
const findSchedule = find(
|
170
|
-
|
177
|
+
const findSchedule = find(
|
178
|
+
schedule,
|
179
|
+
(item: any) => item.height === i
|
180
|
+
);
|
181
|
+
if (
|
182
|
+
findSchedule &&
|
183
|
+
findSchedule !== showSchedule[i] &&
|
184
|
+
currentDate.weekday() !== 0
|
185
|
+
) {
|
171
186
|
// 生成一个空白格占位
|
172
187
|
showSchedule.splice(i, 0, {
|
173
188
|
width: 1,
|
174
189
|
className: 'bg-transparent',
|
175
190
|
content: ''
|
176
191
|
});
|
177
|
-
}
|
178
|
-
else {
|
192
|
+
} else {
|
179
193
|
showSchedule[i] && (showSchedule[i].height = i);
|
180
194
|
}
|
181
195
|
});
|
182
196
|
// 最多展示3个
|
183
197
|
showSchedule = showSchedule.slice(0, 3);
|
184
198
|
const scheduleDiv = showSchedule.map((item: any, index: number) => {
|
185
|
-
const width =
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
199
|
+
const width =
|
200
|
+
item.width ||
|
201
|
+
Math.min(
|
202
|
+
moment(item.endTime).diff(moment(item.startTime), 'days') + 1,
|
203
|
+
7 - moment(item.startTime).weekday()
|
204
|
+
);
|
205
|
+
return (
|
206
|
+
<div
|
207
|
+
key={props.key + 'content' + index}
|
208
|
+
className={cx(
|
209
|
+
'ScheduleCalendar-large-schedule-content',
|
210
|
+
item.className
|
211
|
+
)}
|
212
|
+
style={{width: width + '00%'}}
|
213
|
+
onClick={() =>
|
214
|
+
this.props.onScheduleClick &&
|
215
|
+
this.props.onScheduleClick(scheduleData)
|
216
|
+
}
|
217
|
+
>
|
218
|
+
<div className={cx('ScheduleCalendar-text-overflow')}>
|
219
|
+
{item.content}
|
220
|
+
</div>
|
221
|
+
</div>
|
222
|
+
);
|
192
223
|
});
|
193
|
-
return
|
224
|
+
return (
|
225
|
+
<td {...props}>
|
194
226
|
<div className={cx('ScheduleCalendar-large-day-wrap')}>
|
195
|
-
<div className={cx('ScheduleCalendar-large-schedule-header')}>
|
227
|
+
<div className={cx('ScheduleCalendar-large-schedule-header')}>
|
228
|
+
{currentDate.date()}
|
229
|
+
</div>
|
196
230
|
{scheduleDiv}
|
197
|
-
{schedule.length > 3 &&
|
231
|
+
{schedule.length > 3 && (
|
232
|
+
<div className={cx('ScheduleCalendar-large-schedule-footer')}>
|
233
|
+
{schedule.length - 3} {__('more')}
|
234
|
+
</div>
|
235
|
+
)}
|
198
236
|
</div>
|
199
|
-
|
237
|
+
</td>
|
238
|
+
);
|
200
239
|
}
|
201
240
|
|
202
241
|
// 正常模式
|
203
|
-
const ScheduleIcon =
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
242
|
+
const ScheduleIcon = (
|
243
|
+
<span
|
244
|
+
className={cx('ScheduleCalendar-icon', schedule[0].className)}
|
245
|
+
onClick={() =>
|
246
|
+
this.props.onScheduleClick &&
|
247
|
+
this.props.onScheduleClick(scheduleData)
|
248
|
+
}
|
249
|
+
></span>
|
250
|
+
);
|
251
|
+
return (
|
252
|
+
<td {...props}>
|
253
|
+
{currentDate.date()}
|
254
|
+
{ScheduleIcon}
|
255
|
+
</td>
|
256
|
+
);
|
209
257
|
}
|
210
258
|
}
|
211
259
|
return <td {...props}>{currentDate.date()}</td>;
|
@@ -364,7 +412,7 @@ export class CustomDaysView extends DaysView {
|
|
364
412
|
const __ = this.props.translate;
|
365
413
|
|
366
414
|
const tableChildren = [
|
367
|
-
<thead key="th">
|
415
|
+
this.props.hideHeader ? null : <thead key="th">
|
368
416
|
<tr>
|
369
417
|
<th colSpan={7}>
|
370
418
|
<div className="rdtHeader">
|
@@ -3,14 +3,18 @@ import MonthsView from 'react-datetime/src/MonthsView';
|
|
3
3
|
import moment from 'moment';
|
4
4
|
import React from 'react';
|
5
5
|
import {LocaleProps, localeable, TranslateFn} from '../../locale';
|
6
|
+
import Picker from '../Picker';
|
7
|
+
import {convertDateToObject, getRange, isMobile} from '../../utils/helper';
|
6
8
|
|
7
9
|
export interface OtherProps {
|
8
10
|
inputFormat?: string;
|
11
|
+
hideHeader?: boolean;
|
9
12
|
}
|
10
13
|
|
11
14
|
export class CustomMonthsView extends MonthsView {
|
12
15
|
props: {
|
13
16
|
viewDate: moment.Moment;
|
17
|
+
selectedDate: moment.Moment;
|
14
18
|
subtractTime: (
|
15
19
|
amount: number,
|
16
20
|
type: string,
|
@@ -22,9 +26,59 @@ export class CustomMonthsView extends MonthsView {
|
|
22
26
|
toSelected?: moment.Moment
|
23
27
|
) => () => void;
|
24
28
|
showView: (view: string) => () => void;
|
29
|
+
minDate?: moment.Moment;
|
30
|
+
maxDate?: moment.Moment;
|
31
|
+
onChange?: () => void;
|
32
|
+
onClose?: () => void;
|
33
|
+
onConfirm?: (value: number[], types: string[]) => void;
|
34
|
+
useMobileUI: boolean;
|
25
35
|
} & LocaleProps &
|
26
36
|
OtherProps;
|
37
|
+
maxDateObject: {year: number; month: number; day?: number};
|
38
|
+
minDateObject: {year: number; month: number; day?: number};
|
39
|
+
state: {columns: {options: number[]}[]};
|
40
|
+
setState: (arg0: any) => () => any;
|
27
41
|
renderMonths: () => JSX.Element;
|
42
|
+
|
43
|
+
constructor(props: any) {
|
44
|
+
super(props);
|
45
|
+
|
46
|
+
const {minDate, maxDate, selectedDate, viewDate} = props;
|
47
|
+
const currentDate = selectedDate || viewDate || moment();
|
48
|
+
const year = currentDate.year();
|
49
|
+
this.maxDateObject = maxDate
|
50
|
+
? convertDateToObject(maxDate)
|
51
|
+
: {
|
52
|
+
year: year + 100,
|
53
|
+
month: 12
|
54
|
+
};
|
55
|
+
this.minDateObject = minDate
|
56
|
+
? convertDateToObject(minDate)
|
57
|
+
: {
|
58
|
+
year: year - 100,
|
59
|
+
month: 1
|
60
|
+
};
|
61
|
+
|
62
|
+
const columns = ['year', 'month'].map((type: 'year' | 'month') => {
|
63
|
+
if (type === 'month') {
|
64
|
+
const minMonth =
|
65
|
+
year === this.minDateObject.year ? this.minDateObject.month : 1;
|
66
|
+
const maxMonth =
|
67
|
+
year === this.maxDateObject.year ? this.maxDateObject.month : 12;
|
68
|
+
return {
|
69
|
+
options: getRange(minMonth, maxMonth, 1)
|
70
|
+
};
|
71
|
+
}
|
72
|
+
return {
|
73
|
+
options: getRange(this.minDateObject[type], this.maxDateObject[type], 1)
|
74
|
+
};
|
75
|
+
});
|
76
|
+
|
77
|
+
this.state = {
|
78
|
+
columns
|
79
|
+
};
|
80
|
+
}
|
81
|
+
|
28
82
|
renderMonth = (props: any, month: number) => {
|
29
83
|
var localMoment = this.props.viewDate;
|
30
84
|
var monthStr = localMoment
|
@@ -40,11 +94,71 @@ export class CustomMonthsView extends MonthsView {
|
|
40
94
|
</td>
|
41
95
|
);
|
42
96
|
};
|
97
|
+
|
98
|
+
onConfirm = (value: number[]) => {
|
99
|
+
// 将月份的值减1 ,月份是0-11
|
100
|
+
value[1] && --value[1];
|
101
|
+
this.props.onConfirm && this.props.onConfirm(value, ['year', 'month']);
|
102
|
+
};
|
103
|
+
|
104
|
+
onPickerChange = (value: number[], index: number) => {
|
105
|
+
const columns = [...this.state.columns];
|
106
|
+
// 选择年份是最大值的年或者最小值的月时,需要重新计算月分选择的cloumn
|
107
|
+
if (index === 0) {
|
108
|
+
if (
|
109
|
+
value[0] === this.minDateObject.year &&
|
110
|
+
value[0] === this.maxDateObject.year
|
111
|
+
) {
|
112
|
+
columns[1] = {
|
113
|
+
options: getRange(
|
114
|
+
this.minDateObject.month,
|
115
|
+
this.maxDateObject.month,
|
116
|
+
1
|
117
|
+
)
|
118
|
+
};
|
119
|
+
} else if (value[0] === this.minDateObject.year) {
|
120
|
+
columns[1] = {
|
121
|
+
options: getRange(this.minDateObject.month, 12, 1)
|
122
|
+
};
|
123
|
+
} else if (value[0] === this.maxDateObject.year) {
|
124
|
+
columns[1] = {
|
125
|
+
options: getRange(1, this.maxDateObject.month, 1)
|
126
|
+
};
|
127
|
+
} else {
|
128
|
+
columns[1] = {
|
129
|
+
options: getRange(1, 12, 1)
|
130
|
+
};
|
131
|
+
}
|
132
|
+
this.setState({columns});
|
133
|
+
}
|
134
|
+
};
|
135
|
+
|
136
|
+
renderPicker = () => {
|
137
|
+
const {selectedDate, viewDate} = this.props;
|
138
|
+
const currentDate = selectedDate || viewDate || moment();
|
139
|
+
const year = currentDate.year();
|
140
|
+
const month = parseInt(currentDate.format('MM'), 10);
|
141
|
+
|
142
|
+
return (
|
143
|
+
<Picker
|
144
|
+
translate={this.props.translate}
|
145
|
+
locale={this.props.locale}
|
146
|
+
columns={this.state.columns}
|
147
|
+
value={[year, month]}
|
148
|
+
onChange={this.onPickerChange}
|
149
|
+
onConfirm={this.onConfirm}
|
150
|
+
onClose={this.props.onClose}
|
151
|
+
/>
|
152
|
+
);
|
153
|
+
};
|
154
|
+
|
43
155
|
render() {
|
44
156
|
const __ = this.props.translate;
|
45
|
-
const showYearHead = !/^mm$/i.test(this.props.inputFormat || '');
|
157
|
+
const showYearHead = !/^mm$/i.test(this.props.inputFormat || '') && !this.props.hideHeader;
|
46
158
|
const canClick = /yy/i.test(this.props.inputFormat || '');
|
47
|
-
|
159
|
+
if (isMobile() && this.props.useMobileUI) {
|
160
|
+
return <div className="rdtYears">{this.renderPicker()}</div>;
|
161
|
+
}
|
48
162
|
return (
|
49
163
|
<div className="rdtMonths">
|
50
164
|
{showYearHead && (
|
@@ -23,6 +23,7 @@ export interface QuarterViewProps extends LocaleProps, ThemeProps {
|
|
23
23
|
updateSelectedDate: (e: any, close?: boolean) => void;
|
24
24
|
renderQuarter: any;
|
25
25
|
isValidDate: (date: moment.Moment) => boolean;
|
26
|
+
hideHeader?: boolean;
|
26
27
|
}
|
27
28
|
|
28
29
|
export class QuarterView extends React.Component<QuarterViewProps> {
|
@@ -140,11 +141,11 @@ export class QuarterView extends React.Component<QuarterViewProps> {
|
|
140
141
|
}
|
141
142
|
|
142
143
|
render() {
|
143
|
-
const {classnames: cx} = this.props;
|
144
|
+
const {classnames: cx, hideHeader} = this.props;
|
144
145
|
|
145
146
|
return (
|
146
147
|
<div className={cx('ClalendarQuarter')}>
|
147
|
-
{this.renderYear()}
|
148
|
+
{hideHeader ? null : this.renderYear()}
|
148
149
|
<table>
|
149
150
|
<tbody>{this.renderQuarters()}</tbody>
|
150
151
|
</table>
|
@@ -7,7 +7,7 @@ import {Icon} from '../icons';
|
|
7
7
|
import {ClassNamesFn} from '../../theme';
|
8
8
|
import Picker from '../Picker';
|
9
9
|
import {PickerColumnItem} from '../PickerColumn';
|
10
|
-
import {getRange, isMobile} from
|
10
|
+
import {getRange, isMobile} from '../../utils/helper';
|
11
11
|
|
12
12
|
export class CustomTimeView extends TimeView {
|
13
13
|
props: {
|
@@ -29,6 +29,8 @@ export class CustomTimeView extends TimeView {
|
|
29
29
|
onClose?: () => void;
|
30
30
|
onConfirm?: (value: number[], types: string[]) => void;
|
31
31
|
useMobileUI: boolean;
|
32
|
+
showToolbar?: boolean;
|
33
|
+
onChange?: (value: any) => void;
|
32
34
|
} & LocaleProps;
|
33
35
|
onStartClicking: any;
|
34
36
|
disableContextMenu: any;
|
@@ -44,6 +46,10 @@ export class CustomTimeView extends TimeView {
|
|
44
46
|
milliseconds: 3
|
45
47
|
};
|
46
48
|
|
49
|
+
static defaultProps = {
|
50
|
+
showToolbar: true
|
51
|
+
};
|
52
|
+
|
47
53
|
renderDayPart = () => {
|
48
54
|
const {translate: __, classnames: cx} = this.props;
|
49
55
|
return (
|
@@ -90,7 +96,7 @@ export class CustomTimeView extends TimeView {
|
|
90
96
|
return parseInt(value);
|
91
97
|
}
|
92
98
|
return 0;
|
93
|
-
}
|
99
|
+
};
|
94
100
|
|
95
101
|
renderCounter = (type: string) => {
|
96
102
|
const cx = this.props.classnames;
|
@@ -150,12 +156,12 @@ export class CustomTimeView extends TimeView {
|
|
150
156
|
|
151
157
|
onConfirm = (value: number[]) => {
|
152
158
|
this.props.onConfirm && this.props.onConfirm(value, this.state.counters);
|
153
|
-
}
|
159
|
+
};
|
154
160
|
|
155
161
|
getDayPartOptions = () => {
|
156
162
|
const {translate: __} = this.props;
|
157
163
|
let options = ['am', 'pm'];
|
158
|
-
if (
|
164
|
+
if (this.props.timeFormat.indexOf(' A') !== -1) {
|
159
165
|
options = ['AM', 'PM'];
|
160
166
|
}
|
161
167
|
|
@@ -163,7 +169,7 @@ export class CustomTimeView extends TimeView {
|
|
163
169
|
text: __(daypart),
|
164
170
|
value: daypart
|
165
171
|
}));
|
166
|
-
}
|
172
|
+
};
|
167
173
|
|
168
174
|
renderTimeViewPicker = () => {
|
169
175
|
const columns: PickerColumnItem[] = [];
|
@@ -174,10 +180,12 @@ export class CustomTimeView extends TimeView {
|
|
174
180
|
const counterValue: number = this.getCounterValue(type);
|
175
181
|
let {min, max, step} = this.timeConstraints[type];
|
176
182
|
// 修正am pm时hours可选最大值
|
177
|
-
if (
|
178
|
-
|
179
|
-
|
180
|
-
|
183
|
+
if (
|
184
|
+
type === 'hours' &&
|
185
|
+
this.state.daypart !== false &&
|
186
|
+
this.props.timeFormat.toLowerCase().indexOf(' a') !== -1
|
187
|
+
) {
|
188
|
+
max = max > 12 ? 12 : max;
|
181
189
|
}
|
182
190
|
columns.push({
|
183
191
|
options: getRange(min, max, step)
|
@@ -189,7 +197,7 @@ export class CustomTimeView extends TimeView {
|
|
189
197
|
columns.push({
|
190
198
|
options: this.getDayPartOptions()
|
191
199
|
});
|
192
|
-
values.push(this.state.daypart)
|
200
|
+
values.push(this.state.daypart);
|
193
201
|
}
|
194
202
|
|
195
203
|
return (
|
@@ -197,21 +205,23 @@ export class CustomTimeView extends TimeView {
|
|
197
205
|
translate={this.props.translate}
|
198
206
|
locale={this.props.locale}
|
199
207
|
columns={columns}
|
200
|
-
value={values}
|
208
|
+
value={values}
|
201
209
|
onConfirm={this.onConfirm}
|
202
210
|
onClose={this.props.onClose}
|
211
|
+
showToolbar={this.props.showToolbar}
|
212
|
+
onChange={this.props.onChange}
|
203
213
|
/>
|
204
214
|
);
|
205
|
-
}
|
215
|
+
};
|
206
216
|
|
207
217
|
render() {
|
208
218
|
let counters: Array<JSX.Element | null> = [];
|
209
219
|
const cx = this.props.classnames;
|
210
|
-
|
220
|
+
|
211
221
|
if (isMobile() && this.props.useMobileUI) {
|
212
|
-
return
|
213
|
-
|
214
|
-
|
222
|
+
return (
|
223
|
+
<div className={cx('CalendarTime')}>{this.renderTimeViewPicker()}</div>
|
224
|
+
);
|
215
225
|
}
|
216
226
|
this.state.counters.forEach(c => {
|
217
227
|
if (counters.length) {
|
@@ -4,7 +4,7 @@ import moment from 'moment';
|
|
4
4
|
import React from 'react';
|
5
5
|
import {LocaleProps, localeable} from '../../locale';
|
6
6
|
import Picker from '../Picker';
|
7
|
-
import {convertDateToObject, getRange, isMobile} from
|
7
|
+
import {convertDateToObject, getRange, isMobile} from '../../utils/helper';
|
8
8
|
|
9
9
|
export class CustomYearsView extends YearsView {
|
10
10
|
props: {
|
@@ -38,28 +38,30 @@ export class CustomYearsView extends YearsView {
|
|
38
38
|
};
|
39
39
|
|
40
40
|
onConfirm = (value: number[]) => {
|
41
|
-
this.props.onConfirm && this.props.onConfirm(value, [
|
42
|
-
}
|
41
|
+
this.props.onConfirm && this.props.onConfirm(value, ['year']);
|
42
|
+
};
|
43
43
|
|
44
44
|
renderYearPicker = () => {
|
45
|
-
const {minDate, maxDate, selectedDate, viewDate} =
|
45
|
+
const {minDate, maxDate, selectedDate, viewDate} = this.props;
|
46
46
|
const year = (selectedDate || viewDate || moment()).year();
|
47
47
|
const maxYear = maxDate ? convertDateToObject(maxDate)!.year : year + 100;
|
48
48
|
const minYear = minDate ? convertDateToObject(minDate)!.year : year - 100;
|
49
|
-
|
50
|
-
const columns = [
|
51
|
-
|
52
|
-
|
49
|
+
|
50
|
+
const columns = [
|
51
|
+
{
|
52
|
+
options: getRange(minYear, maxYear, 1)
|
53
|
+
}
|
54
|
+
];
|
53
55
|
|
54
56
|
return (
|
55
57
|
<Picker
|
56
58
|
translate={this.props.translate}
|
57
59
|
locale={this.props.locale}
|
58
60
|
columns={columns}
|
59
|
-
value={[year]}
|
61
|
+
value={[year]}
|
60
62
|
onConfirm={this.onConfirm}
|
61
63
|
onClose={this.props.onClose}
|
62
|
-
|
64
|
+
/>
|
63
65
|
);
|
64
66
|
};
|
65
67
|
|
@@ -67,13 +69,9 @@ export class CustomYearsView extends YearsView {
|
|
67
69
|
let year = this.props.viewDate.year();
|
68
70
|
year = year - (year % 10);
|
69
71
|
const __ = this.props.translate;
|
70
|
-
|
72
|
+
|
71
73
|
if (isMobile() && this.props.useMobileUI) {
|
72
|
-
return (
|
73
|
-
<div className="rdtYears">
|
74
|
-
{this.renderYearPicker()}
|
75
|
-
</div>
|
76
|
-
);
|
74
|
+
return <div className="rdtYears">{this.renderYearPicker()}</div>;
|
77
75
|
}
|
78
76
|
return (
|
79
77
|
<div className="rdtYears">
|
@@ -114,9 +114,7 @@ export class ConditionField extends React.Component<
|
|
114
114
|
ref={ref}
|
115
115
|
allowInput={false}
|
116
116
|
result={
|
117
|
-
value
|
118
|
-
? findTree(options, item => item.name === value)?.label
|
119
|
-
: ''
|
117
|
+
value ? findTree(options, item => item.name === value) : ''
|
120
118
|
}
|
121
119
|
onResultChange={noop}
|
122
120
|
onResultClick={onClick}
|
@@ -45,6 +45,9 @@ export interface FormulaEditorProps extends ThemeProps, LocaleProps {
|
|
45
45
|
*/
|
46
46
|
variables: Array<VariableItem>;
|
47
47
|
|
48
|
+
/**
|
49
|
+
* 变量展现模式,可选值:'tabs' | 'tree'
|
50
|
+
*/
|
48
51
|
variableMode?: 'tabs' | 'tree';
|
49
52
|
|
50
53
|
/**
|
@@ -216,17 +219,19 @@ export class FormulaEditor extends React.Component<
|
|
216
219
|
'is-focused': focused
|
217
220
|
})}
|
218
221
|
>
|
219
|
-
<div className={cx(`FormulaEditor-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
222
|
+
<div className={cx(`FormulaEditor-content`)}>
|
223
|
+
<div className={cx(`FormulaEditor-header`)}>{header ?? '表达式'}</div>
|
224
|
+
|
225
|
+
<CodeMirrorEditor
|
226
|
+
className={cx('FormulaEditor-editor')}
|
227
|
+
value={value}
|
228
|
+
onChange={this.handleOnChange}
|
229
|
+
editorFactory={this.editorFactory}
|
230
|
+
editorDidMount={this.handleEditorMounted}
|
231
|
+
onFocus={this.handleFocus}
|
232
|
+
onBlur={this.handleBlur}
|
233
|
+
></CodeMirrorEditor>
|
234
|
+
</div>
|
230
235
|
|
231
236
|
<div className={cx('FormulaEditor-settings')}>
|
232
237
|
{Array.isArray(functions) && functions.length ? (
|
@@ -69,7 +69,9 @@ export function FuncList(props: FuncListProps) {
|
|
69
69
|
<div className={cx('FormulaFuncList-column')}>
|
70
70
|
{activeFunc ? (
|
71
71
|
<div className={cx('FormulaFuncList-funcDetail')}>
|
72
|
-
<
|
72
|
+
<pre>
|
73
|
+
<code>{activeFunc.example}</code>
|
74
|
+
</pre>
|
73
75
|
<div>{activeFunc.description}</div>
|
74
76
|
</div>
|
75
77
|
) : null}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import {uncontrollable} from 'uncontrollable';
|
2
2
|
import React from 'react';
|
3
3
|
import {FormulaEditor, FormulaEditorProps} from './Editor';
|
4
|
-
import {autobind} from '../../utils/helper';
|
4
|
+
import {autobind, noop} from '../../utils/helper';
|
5
5
|
import PickerContainer from '../PickerContainer';
|
6
6
|
import Editor from './Editor';
|
7
7
|
import ResultBox from '../ResultBox';
|
@@ -63,6 +63,7 @@ export class FormulaPicker extends React.Component<FormulaPickerProps> {
|
|
63
63
|
rest.variables,
|
64
64
|
rest.functions
|
65
65
|
)}
|
66
|
+
onResultChange={noop}
|
66
67
|
onResultClick={onClick}
|
67
68
|
disabled={disabled}
|
68
69
|
borderMode={borderMode}
|
package/src/components/icons.tsx
CHANGED
@@ -43,6 +43,7 @@ import ExchangeIcon from '../icons/exchange.svg';
|
|
43
43
|
import ColmunsIcon from '../icons/columns.svg';
|
44
44
|
import CalendarIcon from '../icons/calendar.svg';
|
45
45
|
import ClockIcon from '../icons/clock.svg';
|
46
|
+
import TreeDownIcon from '../icons/tree-down.svg';
|
46
47
|
|
47
48
|
import CopyIcon from '../icons/copy.svg';
|
48
49
|
import FilterIcon from '../icons/filter.svg';
|
@@ -176,6 +177,7 @@ registerIcon('alert-success', AlertSuccess);
|
|
176
177
|
registerIcon('alert-info', AlertInfo);
|
177
178
|
registerIcon('alert-warning', AlertWarning);
|
178
179
|
registerIcon('alert-danger', AlertDanger);
|
180
|
+
registerIcon('tree-down', TreeDownIcon);
|
179
181
|
|
180
182
|
export function Icon({
|
181
183
|
icon,
|
package/src/components/index.tsx
CHANGED
@@ -8,6 +8,7 @@ import NotFound from './404';
|
|
8
8
|
import {default as Alert, alert, confirm, prompt} from './Alert';
|
9
9
|
import {default as ContextMenu, openContextMenus} from './ContextMenu';
|
10
10
|
import AsideNav from './AsideNav';
|
11
|
+
import Avatar from './Avatar';
|
11
12
|
import Button from './Button';
|
12
13
|
import Checkbox from './Checkbox';
|
13
14
|
import Checkboxes from './Selection';
|
@@ -60,6 +61,7 @@ export {
|
|
60
61
|
NotFound,
|
61
62
|
Alert as AlertComponent,
|
62
63
|
alert,
|
64
|
+
Avatar,
|
63
65
|
confirm,
|
64
66
|
prompt,
|
65
67
|
ContextMenu,
|