amis-editor 5.4.0 → 5.4.1
Sign up to get free protection for your applications and to get access to all the features.
- package/esm/component/TableViewEditor.d.ts +2 -2
- package/esm/locale/en-US.js +57 -1
- package/esm/locale/zh-CN.js +57 -1
- package/esm/plugin/CRUD.d.ts +3 -2
- package/esm/plugin/CRUD.js +157 -1
- package/esm/plugin/Dialog.d.ts +1 -1
- package/esm/plugin/Dialog.js +4 -4
- package/esm/plugin/Form/Combo.d.ts +5 -2
- package/esm/plugin/Form/Combo.js +34 -11
- package/esm/plugin/Form/Form.js +6 -2
- package/esm/plugin/Form/InputDateRange.js +4 -24
- package/esm/plugin/Form/InputRichText.d.ts +0 -1
- package/esm/plugin/Form/InputRichText.js +0 -1
- package/esm/plugin/Form/InputTable.d.ts +4 -1
- package/esm/plugin/Form/InputTable.js +100 -77
- package/esm/plugin/TableView.d.ts +2 -1
- package/esm/plugin/Tabs.d.ts +2 -1
- package/esm/renderer/APIAdaptorControl.d.ts +1 -1
- package/esm/renderer/APIControl.d.ts +4 -4
- package/esm/renderer/ActionApiControl.d.ts +3 -3
- package/esm/renderer/BadgeControl.d.ts +1 -1
- package/esm/renderer/ButtonGroupControl.d.ts +1 -1
- package/esm/renderer/ColumnControl.d.ts +1 -1
- package/esm/renderer/DataBindingControl.d.ts +2 -2
- package/esm/renderer/DataPickerControl.d.ts +1 -1
- package/esm/renderer/DateShortCutControl.d.ts +53 -29
- package/esm/renderer/DateShortCutControl.js +182 -140
- package/esm/renderer/ExpressionFormulaControl.d.ts +1 -1
- package/esm/renderer/FeatureControl.d.ts +2 -2
- package/esm/renderer/FlexSettingControl.d.ts +1 -1
- package/esm/renderer/FormulaControl.d.ts +8 -3
- package/esm/renderer/FormulaControl.js +76 -8
- package/esm/renderer/GoConfigControl.d.ts +1 -1
- package/esm/renderer/MapSourceControl.d.ts +3 -3
- package/esm/renderer/NavBadgeControl.d.ts +1 -1
- package/esm/renderer/NavSourceControl.d.ts +4 -4
- package/esm/renderer/OptionControl.d.ts +3 -3
- package/esm/renderer/RangePartsControl.d.ts +5 -5
- package/esm/renderer/StatusControl.d.ts +2 -2
- package/esm/renderer/SwitchMoreControl.d.ts +4 -4
- package/esm/renderer/TimelineItemControl.d.ts +4 -4
- package/esm/renderer/TplFormulaControl.d.ts +1 -1
- package/esm/renderer/TransferTableControl.d.ts +3 -3
- package/esm/renderer/TreeOptionControl.d.ts +3 -3
- package/esm/renderer/ValidationControl.d.ts +4 -4
- package/esm/renderer/ValidationItem.d.ts +3 -3
- package/esm/renderer/event-control/comp-action-select.d.ts +1 -1
- package/esm/renderer/event-control/index.d.ts +2 -2
- package/esm/renderer/style-control/Background.d.ts +1 -1
- package/esm/renderer/style-control/Border.d.ts +2 -2
- package/esm/renderer/style-control/BoxModel.d.ts +2 -2
- package/esm/renderer/style-control/BoxShadow.d.ts +2 -2
- package/esm/renderer/style-control/Display.d.ts +1 -1
- package/esm/renderer/style-control/Font.d.ts +1 -1
- package/esm/renderer/style-control/InsetBoxModel.d.ts +2 -2
- package/esm/renderer/style-control/ThemeCssCode.d.ts +1 -1
- package/esm/renderer/textarea-formula/TextareaFormulaControl.d.ts +1 -1
- package/esm/tpl/common.js +2 -1
- package/lib/component/TableViewEditor.d.ts +2 -2
- package/lib/locale/en-US.js +57 -1
- package/lib/locale/zh-CN.js +57 -1
- package/lib/plugin/CRUD.d.ts +3 -2
- package/lib/plugin/CRUD.js +157 -1
- package/lib/plugin/Dialog.d.ts +1 -1
- package/lib/plugin/Dialog.js +4 -4
- package/lib/plugin/Form/Combo.d.ts +5 -2
- package/lib/plugin/Form/Combo.js +32 -9
- package/lib/plugin/Form/Form.js +6 -2
- package/lib/plugin/Form/InputDateRange.js +4 -24
- package/lib/plugin/Form/InputRichText.d.ts +0 -1
- package/lib/plugin/Form/InputRichText.js +0 -1
- package/lib/plugin/Form/InputTable.d.ts +4 -1
- package/lib/plugin/Form/InputTable.js +99 -76
- package/lib/plugin/TableView.d.ts +2 -1
- package/lib/plugin/Tabs.d.ts +2 -1
- package/lib/renderer/APIAdaptorControl.d.ts +1 -1
- package/lib/renderer/APIControl.d.ts +4 -4
- package/lib/renderer/ActionApiControl.d.ts +3 -3
- package/lib/renderer/BadgeControl.d.ts +7 -7
- package/lib/renderer/ButtonGroupControl.d.ts +1 -1
- package/lib/renderer/ColumnControl.d.ts +1 -1
- package/lib/renderer/DataBindingControl.d.ts +2 -2
- package/lib/renderer/DataPickerControl.d.ts +1 -1
- package/lib/renderer/DateShortCutControl.d.ts +53 -29
- package/lib/renderer/DateShortCutControl.js +181 -139
- package/lib/renderer/ExpressionFormulaControl.d.ts +1 -1
- package/lib/renderer/FeatureControl.d.ts +2 -2
- package/lib/renderer/FlexSettingControl.d.ts +1 -1
- package/lib/renderer/FormulaControl.d.ts +8 -3
- package/lib/renderer/FormulaControl.js +76 -8
- package/lib/renderer/GoConfigControl.d.ts +1 -1
- package/lib/renderer/MapSourceControl.d.ts +3 -3
- package/lib/renderer/NavBadgeControl.d.ts +7 -7
- package/lib/renderer/NavSourceControl.d.ts +4 -4
- package/lib/renderer/OptionControl.d.ts +3 -3
- package/lib/renderer/RangePartsControl.d.ts +5 -5
- package/lib/renderer/StatusControl.d.ts +2 -2
- package/lib/renderer/SwitchMoreControl.d.ts +4 -4
- package/lib/renderer/TimelineItemControl.d.ts +4 -4
- package/lib/renderer/TplFormulaControl.d.ts +1 -1
- package/lib/renderer/TransferTableControl.d.ts +3 -3
- package/lib/renderer/TreeOptionControl.d.ts +3 -3
- package/lib/renderer/ValidationControl.d.ts +4 -4
- package/lib/renderer/ValidationItem.d.ts +3 -3
- package/lib/renderer/event-control/comp-action-select.d.ts +1 -1
- package/lib/renderer/event-control/index.d.ts +2 -2
- package/lib/renderer/style-control/Background.d.ts +1 -1
- package/lib/renderer/style-control/Border.d.ts +2 -2
- package/lib/renderer/style-control/BoxModel.d.ts +2 -2
- package/lib/renderer/style-control/BoxShadow.d.ts +2 -2
- package/lib/renderer/style-control/Display.d.ts +1 -1
- package/lib/renderer/style-control/Font.d.ts +1 -1
- package/lib/renderer/style-control/InsetBoxModel.d.ts +2 -2
- package/lib/renderer/style-control/ThemeCssCode.d.ts +1 -1
- package/lib/renderer/textarea-formula/TextareaFormulaControl.d.ts +1 -1
- package/lib/tpl/common.js +2 -1
- package/package.json +2 -2
@@ -3,40 +3,68 @@
|
|
3
3
|
*/
|
4
4
|
import React from 'react';
|
5
5
|
import Sortable from 'sortablejs';
|
6
|
-
import
|
7
|
-
import
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
import { FormControlProps, Option } from 'amis-core';
|
7
|
+
import { BaseEventContext } from 'amis-editor-core';
|
8
|
+
declare const CertainPresetShorcut: {
|
9
|
+
today: string;
|
10
|
+
yesterday: string;
|
11
|
+
thisweek: string;
|
12
|
+
prevweek: string;
|
13
|
+
thismonth: string;
|
14
|
+
prevmonth: string;
|
15
|
+
thisquarter: string;
|
16
|
+
prevquarter: string;
|
17
|
+
thisyear: string;
|
18
|
+
};
|
19
|
+
declare const ModifyPresetShorcut: {
|
20
|
+
$daysago: string;
|
21
|
+
$dayslater: string;
|
22
|
+
$weeksago: string;
|
23
|
+
$weekslater: string;
|
24
|
+
$monthsago: string;
|
25
|
+
$monthslater: string;
|
26
|
+
$quartersago: string;
|
27
|
+
$quarterslater: string;
|
28
|
+
$yearsago: string;
|
29
|
+
$yearslater: string;
|
11
30
|
};
|
12
|
-
declare enum RangeType {
|
13
|
-
Normal = "Normal",
|
14
|
-
Custom = "Custom"
|
15
|
-
}
|
16
31
|
export interface DateShortCutControlProps extends FormControlProps {
|
17
32
|
className?: string;
|
18
33
|
/**
|
19
34
|
* 编辑器上下文数据,用于获取字段所在Form的其他字段
|
20
35
|
*/
|
21
36
|
context: BaseEventContext;
|
22
|
-
|
23
|
-
|
37
|
+
certainOptions: Array<keyof typeof CertainPresetShorcut>;
|
38
|
+
modifyOptions: Array<keyof typeof ModifyPresetShorcut>;
|
24
39
|
}
|
25
|
-
|
26
|
-
|
40
|
+
type PresetShorCutType = string;
|
41
|
+
type CustomShortCutType = {
|
42
|
+
label: string;
|
43
|
+
startDate: string;
|
44
|
+
endDate: string;
|
45
|
+
};
|
46
|
+
type ModifyOptionType = {
|
47
|
+
key: keyof typeof ModifyPresetShorcut;
|
27
48
|
value: string;
|
28
|
-
|
29
|
-
|
49
|
+
};
|
50
|
+
declare enum OptionType {
|
51
|
+
Custom = 1,
|
52
|
+
Certain = 2,
|
53
|
+
Modify = 3
|
54
|
+
}
|
55
|
+
interface OptionDataType {
|
56
|
+
data: PresetShorCutType | CustomShortCutType | ModifyOptionType;
|
57
|
+
type?: OptionType;
|
30
58
|
}
|
31
59
|
interface DateShortCutControlState {
|
32
|
-
options: Array<
|
60
|
+
options: Array<OptionDataType>;
|
33
61
|
}
|
34
62
|
export declare class DateShortCutControl extends React.PureComponent<DateShortCutControlProps, DateShortCutControlState> {
|
35
63
|
sortable?: Sortable;
|
36
64
|
drag?: HTMLElement | null;
|
37
65
|
target: HTMLElement | null;
|
38
|
-
|
39
|
-
|
66
|
+
certainDropDownOptions: Array<Option>;
|
67
|
+
modifyDropDownOptions: Array<Option>;
|
40
68
|
static defaultProps: Partial<DateShortCutControlProps>;
|
41
69
|
constructor(props: DateShortCutControlProps);
|
42
70
|
dragRef(ref: any): void;
|
@@ -50,25 +78,21 @@ export declare class DateShortCutControl extends React.PureComponent<DateShortCu
|
|
50
78
|
*/
|
51
79
|
destroyDragging(): void;
|
52
80
|
/**
|
53
|
-
*
|
54
|
-
*/
|
55
|
-
renderContent(): JSX.Element;
|
56
|
-
/**
|
57
|
-
* 生成固定跨度选项
|
81
|
+
* 生成快捷键项的配置
|
58
82
|
*/
|
59
|
-
|
83
|
+
renderOption(option: OptionDataType, index: number): any;
|
60
84
|
/**
|
61
|
-
*
|
85
|
+
* 生成内容体
|
62
86
|
*/
|
63
|
-
|
87
|
+
renderContent(): React.JSX.Element;
|
64
88
|
/**
|
65
89
|
* 自定义跨度变化
|
66
90
|
*/
|
67
|
-
|
91
|
+
handleOptionChange(data: string | CustomShortCutType | ModifyOptionType, index: number): void;
|
68
92
|
/**
|
69
93
|
* option添加
|
70
94
|
*/
|
71
|
-
addItem(item: Option, type:
|
95
|
+
addItem(item: Option, type: OptionType): void;
|
72
96
|
/**
|
73
97
|
* 删除选项
|
74
98
|
*/
|
@@ -77,7 +101,7 @@ export declare class DateShortCutControl extends React.PureComponent<DateShortCu
|
|
77
101
|
* 更新options字段的统一出口
|
78
102
|
*/
|
79
103
|
onChangeOptions(): void;
|
80
|
-
render(): JSX.Element;
|
104
|
+
render(): React.JSX.Element;
|
81
105
|
}
|
82
106
|
export declare class DateShortCutControlRender extends DateShortCutControl {
|
83
107
|
}
|
@@ -9,14 +9,40 @@ import cx from 'classnames';
|
|
9
9
|
import Sortable from 'sortablejs';
|
10
10
|
import { findDOMNode } from 'react-dom';
|
11
11
|
import { FormItem, Icon } from 'amis';
|
12
|
-
import { autobind } from 'amis-editor-core';
|
12
|
+
import { getSchemaTpl, autobind } from 'amis-editor-core';
|
13
|
+
import { FormulaDateType } from './FormulaControl.js';
|
13
14
|
import { i18n } from 'i18n-runtime';
|
14
15
|
|
15
|
-
var
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
var DefaultValue = ['yesterday', '7daysago', 'thismonth', 'prevmonth', 'prevquarter'];
|
17
|
+
var CertainPresetShorcut = {
|
18
|
+
today: i18n("800dfdd90200bd47bb4bb83def4fea56"),
|
19
|
+
yesterday: i18n("2f8d6f1584b73bfc6dada44526abb502"),
|
20
|
+
thisweek: i18n("0dc86a275145ad5a7774e594f0d94a06"),
|
21
|
+
prevweek: i18n("79abd4ee3661ff70c7d79716c8aaed83"),
|
22
|
+
thismonth: i18n("8f2a5a5f6e3777c7a0e1ce9484a2f7d7"),
|
23
|
+
prevmonth: i18n("d5578d93388a5b2552316418cd1124da"),
|
24
|
+
thisquarter: i18n("ffb2b7fbf227d9d21e03d0f160fb2a34"),
|
25
|
+
prevquarter: i18n("dd657784cc0d5511d2f25459e49ead1a"),
|
26
|
+
thisyear: i18n("d3dbc7a7fd9fc5ccd168084c8579c1ec")
|
27
|
+
};
|
28
|
+
var ModifyPresetShorcut = {
|
29
|
+
$daysago: i18n("fd312ae2f1c24b8a14d9412bb3c6bb76"),
|
30
|
+
$dayslater: i18n("68cba5f27ab003cfada5eb4c1f29eb21"),
|
31
|
+
$weeksago: i18n("34b06708894a178c440e6f6539e95e9e"),
|
32
|
+
$weekslater: i18n("f0e1b8d8a6e731360d7348bc8301d44a"),
|
33
|
+
$monthsago: i18n("5cad2778bb8f01d1a1b1226082eb2117"),
|
34
|
+
$monthslater: i18n("ff76f60b3da86a0d2c6663b170a7955a"),
|
35
|
+
$quartersago: i18n("9ff9b56c9ed633ee09396830e93113ad"),
|
36
|
+
$quarterslater: i18n("2b80b20008b3ae81136217ae10a1fbaf"),
|
37
|
+
$yearsago: i18n("84752114d27119dc50d8a7b9ac0b788b"),
|
38
|
+
$yearslater: i18n("5df2352afebd73d1f568ebaa81e2db28")
|
39
|
+
};
|
40
|
+
var OptionType;
|
41
|
+
(function (OptionType) {
|
42
|
+
OptionType[OptionType["Custom"] = 1] = "Custom";
|
43
|
+
OptionType[OptionType["Certain"] = 2] = "Certain";
|
44
|
+
OptionType[OptionType["Modify"] = 3] = "Modify";
|
45
|
+
})(OptionType || (OptionType = {}));
|
20
46
|
var ShortCutItemWrap = function (props) {
|
21
47
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement("a", {
|
22
48
|
className: klass + 'Item-dragBar'
|
@@ -42,40 +68,55 @@ var DateShortCutControl = /** @class */function (_super) {
|
|
42
68
|
var _this = this;
|
43
69
|
var _a, _b;
|
44
70
|
_this = _super.call(this, props) || this;
|
45
|
-
|
46
|
-
|
71
|
+
// 初始化下拉选项
|
72
|
+
var certainOptions = props.certainOptions,
|
73
|
+
modifyOptions = props.modifyOptions,
|
47
74
|
data = props.data;
|
48
|
-
_this.
|
75
|
+
_this.certainDropDownOptions = certainOptions.map(function (key) {
|
49
76
|
return {
|
50
|
-
label:
|
77
|
+
label: CertainPresetShorcut[key],
|
51
78
|
value: key
|
52
79
|
};
|
53
80
|
});
|
54
|
-
_this.
|
81
|
+
_this.modifyDropDownOptions = modifyOptions.map(function (key) {
|
55
82
|
return {
|
56
|
-
label:
|
83
|
+
label: ModifyPresetShorcut[key],
|
57
84
|
value: key
|
58
85
|
};
|
59
86
|
});
|
60
|
-
|
87
|
+
// 初始化原始组件配置的快捷键
|
88
|
+
/** amis 3.1.0之后ranges属性废弃,此处兼容 */
|
89
|
+
var initData = (_b = (_a = data === null || data === void 0 ? void 0 : data.ranges) !== null && _a !== void 0 ? _a : data === null || data === void 0 ? void 0 : data.shortcuts) !== null && _b !== void 0 ? _b : DefaultValue;
|
90
|
+
initData = Array.isArray(initData) ? initData : initData.split(',');
|
61
91
|
_this.state = {
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
92
|
+
options: initData.map(function (item) {
|
93
|
+
if (!item) {
|
94
|
+
return null;
|
95
|
+
}
|
96
|
+
// 完全自定义的快捷键
|
97
|
+
if (typeof item != 'string' && item.label && item.startDate && item.endDate) {
|
98
|
+
return {
|
99
|
+
type: OptionType.Custom,
|
100
|
+
data: item
|
101
|
+
};
|
102
|
+
}
|
103
|
+
// amis中提供的可灵活配置数字的自定义快捷键
|
104
|
+
var arr = item.match(/^([a-zA-Z]*)(\d+)([a-zA-Z]*)$/);
|
66
105
|
if (arr) {
|
67
106
|
return {
|
68
|
-
|
69
|
-
|
70
|
-
|
107
|
+
data: {
|
108
|
+
value: arr[2],
|
109
|
+
key: "".concat(arr[1], "$").concat(arr[3])
|
110
|
+
},
|
111
|
+
type: OptionType.Modify
|
71
112
|
};
|
72
113
|
}
|
114
|
+
// 固定值的快捷键
|
73
115
|
return {
|
74
|
-
|
75
|
-
|
76
|
-
type: RangeType.Normal
|
116
|
+
data: item,
|
117
|
+
type: OptionType.Certain
|
77
118
|
};
|
78
|
-
})
|
119
|
+
}).filter(Boolean)
|
79
120
|
};
|
80
121
|
return _this;
|
81
122
|
}
|
@@ -139,6 +180,77 @@ var DateShortCutControl = /** @class */function (_super) {
|
|
139
180
|
DateShortCutControl.prototype.destroyDragging = function () {
|
140
181
|
this.sortable && this.sortable.destroy();
|
141
182
|
};
|
183
|
+
/**
|
184
|
+
* 生成快捷键项的配置
|
185
|
+
*/
|
186
|
+
DateShortCutControl.prototype.renderOption = function (option, index) {
|
187
|
+
var _this = this;
|
188
|
+
var _a = this.props,
|
189
|
+
render = _a.render,
|
190
|
+
schema = _a.data;
|
191
|
+
if (option.type === OptionType.Certain) {
|
192
|
+
return React__default.createElement("span", {
|
193
|
+
className: klass + 'Item-content-label'
|
194
|
+
}, CertainPresetShorcut[option.data]);
|
195
|
+
}
|
196
|
+
if (option.type === OptionType.Custom) {
|
197
|
+
var data = option === null || option === void 0 ? void 0 : option.data;
|
198
|
+
return render('inner', {
|
199
|
+
type: 'form',
|
200
|
+
wrapWithPanel: false,
|
201
|
+
body: [{
|
202
|
+
type: 'input-text',
|
203
|
+
mode: 'normal',
|
204
|
+
placeholder: i18n("a6a93b404bc039cded728683af5d625d"),
|
205
|
+
name: 'label'
|
206
|
+
}, getSchemaTpl('valueFormula', {
|
207
|
+
name: 'startDate',
|
208
|
+
header: i18n("98229308e2e9484583fde4ae363a979f"),
|
209
|
+
DateTimeType: FormulaDateType.IsDate,
|
210
|
+
rendererSchema: __assign(__assign({}, schema), {
|
211
|
+
type: 'input-date'
|
212
|
+
}),
|
213
|
+
placeholder: i18n("592c59589144ddc68d05d528da17dcdc"),
|
214
|
+
needDeleteProps: ['ranges', 'shortcuts', 'maxDate', 'id', 'minDuration'],
|
215
|
+
label: false
|
216
|
+
}), getSchemaTpl('valueFormula', {
|
217
|
+
name: 'endDate',
|
218
|
+
header: i18n("98229308e2e9484583fde4ae363a979f"),
|
219
|
+
DateTimeType: FormulaDateType.IsDate,
|
220
|
+
rendererSchema: __assign(__assign({}, schema), {
|
221
|
+
type: 'input-date'
|
222
|
+
}),
|
223
|
+
placeholder: i18n("f782779e8b5d709462c8e71e0d9019f2"),
|
224
|
+
needDeleteProps: ['ranges', 'shortcuts', 'maxDate', 'id', 'minDuration'],
|
225
|
+
label: false
|
226
|
+
})],
|
227
|
+
onChange: function (value) {
|
228
|
+
_this.handleOptionChange(value, index);
|
229
|
+
}
|
230
|
+
}, {
|
231
|
+
data: data
|
232
|
+
});
|
233
|
+
}
|
234
|
+
var key = option.data.key;
|
235
|
+
var label = ModifyPresetShorcut[key].split('n');
|
236
|
+
return render('inner', {
|
237
|
+
type: 'form',
|
238
|
+
wrapWithPanel: false,
|
239
|
+
body: [{
|
240
|
+
name: 'value',
|
241
|
+
type: 'input-text',
|
242
|
+
prefix: label[0] || undefined,
|
243
|
+
suffix: label[1] || undefined,
|
244
|
+
mode: 'normal',
|
245
|
+
placeholder: 'n'
|
246
|
+
}],
|
247
|
+
onChange: function (value) {
|
248
|
+
return _this.handleOptionChange(value, index);
|
249
|
+
}
|
250
|
+
}, {
|
251
|
+
data: option.data
|
252
|
+
});
|
253
|
+
};
|
142
254
|
/**
|
143
255
|
* 生成内容体
|
144
256
|
*/
|
@@ -154,112 +266,21 @@ var DateShortCutControl = /** @class */function (_super) {
|
|
154
266
|
return React__default.createElement("li", {
|
155
267
|
className: klass + 'Item',
|
156
268
|
key: index
|
157
|
-
},
|
269
|
+
}, React__default.createElement(ShortCutItemWrap, {
|
270
|
+
index: index,
|
271
|
+
handleDelete: _this.handleDelete
|
272
|
+
}, _this.renderOption(option, index)));
|
158
273
|
})) : React__default.createElement("div", {
|
159
274
|
className: klass + '-content ' + klass + '-empty'
|
160
275
|
}, "\u672A\u914D\u7F6E"));
|
161
276
|
};
|
162
|
-
/**
|
163
|
-
* 生成固定跨度选项
|
164
|
-
*/
|
165
|
-
DateShortCutControl.prototype.renderNormalOption = function (option, index) {
|
166
|
-
return React__default.createElement(ShortCutItemWrap, {
|
167
|
-
index: index,
|
168
|
-
handleDelete: this.handleDelete
|
169
|
-
}, React__default.createElement("span", null, option.label));
|
170
|
-
};
|
171
|
-
/**
|
172
|
-
* 生成自定义跨度选项
|
173
|
-
*/
|
174
|
-
DateShortCutControl.prototype.renderCustomOption = function (option, index) {
|
175
|
-
var _this = this;
|
176
|
-
var render = this.props.render;
|
177
|
-
var renderInput = function (option) {
|
178
|
-
if (option.type === 'middle') {
|
179
|
-
return render('inner', {
|
180
|
-
type: 'input-text',
|
181
|
-
prefix: option === null || option === void 0 ? void 0 : option.prefix,
|
182
|
-
suffix: option.suffix,
|
183
|
-
mode: 'normal',
|
184
|
-
placeholder: 'n',
|
185
|
-
value: option === null || option === void 0 ? void 0 : option.value,
|
186
|
-
onChange: function (value) {
|
187
|
-
return _this.handleCustomItemChange(value, index);
|
188
|
-
}
|
189
|
-
});
|
190
|
-
}
|
191
|
-
return render('inner', {
|
192
|
-
type: 'input-text',
|
193
|
-
placeholder: 'n',
|
194
|
-
mode: 'normal',
|
195
|
-
suffix: option.suffix,
|
196
|
-
value: option === null || option === void 0 ? void 0 : option.value,
|
197
|
-
onChange: function (value) {
|
198
|
-
return _this.handleCustomItemChange(value, index);
|
199
|
-
}
|
200
|
-
});
|
201
|
-
};
|
202
|
-
var dateMap = {
|
203
|
-
daysago: {
|
204
|
-
prefix: i18n("046c6233e03af774df7b90b4504fa96c"),
|
205
|
-
suffix: i18n("249aba763258bbe488af3e79a381d265"),
|
206
|
-
type: 'middle'
|
207
|
-
},
|
208
|
-
dayslater: {
|
209
|
-
suffix: i18n("2f8ab07bea442bc6ce8a9e99ff88e5c1"),
|
210
|
-
type: 'suffix'
|
211
|
-
},
|
212
|
-
weeksago: {
|
213
|
-
prefix: i18n("046c6233e03af774df7b90b4504fa96c"),
|
214
|
-
suffix: i18n("a657f46f5bb00961adfae80d12e41b3d"),
|
215
|
-
type: 'middle'
|
216
|
-
},
|
217
|
-
weekslater: {
|
218
|
-
suffix: i18n("b1599eaa05dc9b3d90be5aebc5c84338"),
|
219
|
-
type: 'suffix'
|
220
|
-
},
|
221
|
-
monthsago: {
|
222
|
-
prefix: i18n("046c6233e03af774df7b90b4504fa96c"),
|
223
|
-
suffix: i18n("e42b99d59954ce6437e66f416850425a"),
|
224
|
-
type: 'middle'
|
225
|
-
},
|
226
|
-
monthslater: {
|
227
|
-
suffix: i18n("3c690347976de82df1909750cbc82b80"),
|
228
|
-
type: 'suffix'
|
229
|
-
},
|
230
|
-
quartersago: {
|
231
|
-
prefix: i18n("046c6233e03af774df7b90b4504fa96c"),
|
232
|
-
suffix: i18n("a483bccf85587055ab31314ad1d2f82a"),
|
233
|
-
type: 'middle'
|
234
|
-
},
|
235
|
-
quarterslater: {
|
236
|
-
suffix: i18n("b62ba98a627851e911bef8fbb005bd4a"),
|
237
|
-
type: 'suffix'
|
238
|
-
},
|
239
|
-
yearsago: {
|
240
|
-
prefix: i18n("046c6233e03af774df7b90b4504fa96c"),
|
241
|
-
suffix: i18n("465260fe80b0c3338d06194bb7a94446"),
|
242
|
-
type: 'middle'
|
243
|
-
},
|
244
|
-
yearslater: {
|
245
|
-
suffix: i18n("137bcb84f52bbd48623c37d8dfdebdff"),
|
246
|
-
type: 'suffix'
|
247
|
-
}
|
248
|
-
};
|
249
|
-
return React__default.createElement(ShortCutItemWrap, {
|
250
|
-
index: index,
|
251
|
-
handleDelete: this.handleDelete
|
252
|
-
}, option.inputType ? renderInput(__assign(__assign({}, dateMap[option.inputType]), {
|
253
|
-
value: option.value
|
254
|
-
})) : null);
|
255
|
-
};
|
256
277
|
/**
|
257
278
|
* 自定义跨度变化
|
258
279
|
*/
|
259
|
-
DateShortCutControl.prototype.
|
280
|
+
DateShortCutControl.prototype.handleOptionChange = function (data, index) {
|
260
281
|
var _this = this;
|
261
282
|
var options = __spreadArray([], __read(this.state.options), false);
|
262
|
-
options[index].
|
283
|
+
options[index].data = data;
|
263
284
|
this.setState({
|
264
285
|
options: options
|
265
286
|
}, function () {
|
@@ -271,15 +292,18 @@ var DateShortCutControl = /** @class */function (_super) {
|
|
271
292
|
*/
|
272
293
|
DateShortCutControl.prototype.addItem = function (item, type) {
|
273
294
|
var _this = this;
|
274
|
-
var _a;
|
275
295
|
this.setState({
|
276
|
-
options:
|
277
|
-
label: (_a = item === null || item === void 0 ? void 0 : item.label) !== null && _a !== void 0 ? _a : '',
|
296
|
+
options: this.state.options.concat({
|
278
297
|
type: type,
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
298
|
+
data: type === OptionType.Certain ? item.value : type === OptionType.Modify ? {
|
299
|
+
key: item.value,
|
300
|
+
value: undefined
|
301
|
+
} : {
|
302
|
+
label: undefined,
|
303
|
+
startDate: undefined,
|
304
|
+
endDate: undefined
|
305
|
+
}
|
306
|
+
})
|
283
307
|
}, function () {
|
284
308
|
_this.onChangeOptions();
|
285
309
|
_this.scrollToBottom();
|
@@ -307,17 +331,23 @@ var DateShortCutControl = /** @class */function (_super) {
|
|
307
331
|
var _b = this.props,
|
308
332
|
onBulkChange = _b.onBulkChange,
|
309
333
|
name = _b.name;
|
310
|
-
var
|
311
|
-
options.forEach(function (item
|
312
|
-
if (item.type ===
|
313
|
-
|
334
|
+
var newRanges = [];
|
335
|
+
options.forEach(function (item) {
|
336
|
+
if (item.type === OptionType.Certain) {
|
337
|
+
newRanges.push(item.data);
|
314
338
|
}
|
315
|
-
if (item.type ===
|
316
|
-
|
339
|
+
if (item.type === OptionType.Modify) {
|
340
|
+
var data = item.data;
|
341
|
+
var value = data.value;
|
342
|
+
/^\d+$/.test(value) && newRanges.push(data.key.replace('$', value));
|
343
|
+
}
|
344
|
+
if (item.type === OptionType.Custom) {
|
345
|
+
var data = item.data;
|
346
|
+
data.label && data.startDate && data.endDate && newRanges.push(__assign({}, data));
|
317
347
|
}
|
318
348
|
});
|
319
349
|
/** amis 3.1.0之后ranges属性废弃 */
|
320
|
-
onBulkChange && onBulkChange((_a = {}, _a[name !== null && name !== void 0 ? name : 'shortcuts'] =
|
350
|
+
onBulkChange && onBulkChange((_a = {}, _a[name !== null && name !== void 0 ? name : 'shortcuts'] = newRanges, _a.ranges = undefined, _a));
|
321
351
|
};
|
322
352
|
DateShortCutControl.prototype.render = function () {
|
323
353
|
var _this = this;
|
@@ -339,11 +369,11 @@ var DateShortCutControl = /** @class */function (_super) {
|
|
339
369
|
closeOnClick: true,
|
340
370
|
closeOnOutside: true,
|
341
371
|
level: 'enhance',
|
342
|
-
buttons: this.
|
372
|
+
buttons: this.certainDropDownOptions.map(function (item) {
|
343
373
|
return __assign(__assign({}, item), {
|
344
374
|
type: 'button',
|
345
375
|
onAction: function (e, action) {
|
346
|
-
return _this.addItem(item,
|
376
|
+
return _this.addItem(item, OptionType.Certain);
|
347
377
|
}
|
348
378
|
});
|
349
379
|
})
|
@@ -356,14 +386,26 @@ var DateShortCutControl = /** @class */function (_super) {
|
|
356
386
|
label: i18n("7a1e5f93e362d371519bcb2bfdb0fc9a"),
|
357
387
|
closeOnClick: true,
|
358
388
|
closeOnOutside: true,
|
359
|
-
buttons: this.
|
389
|
+
buttons: this.modifyDropDownOptions.map(function (item) {
|
360
390
|
return __assign(__assign({}, item), {
|
361
391
|
type: 'button',
|
362
392
|
onAction: function (e, action) {
|
363
|
-
return _this.addItem(item,
|
393
|
+
return _this.addItem(item, OptionType.Modify);
|
364
394
|
}
|
365
395
|
});
|
366
|
-
})
|
396
|
+
}).concat([{
|
397
|
+
type: 'button',
|
398
|
+
label: i18n("0d98c74797e49d00bcc4c17c9d557a2b"),
|
399
|
+
onAction: function (e, action) {
|
400
|
+
return _this.addItem({
|
401
|
+
value: {
|
402
|
+
label: undefined,
|
403
|
+
startDate: undefined,
|
404
|
+
endData: undefined
|
405
|
+
}
|
406
|
+
}, OptionType.Custom);
|
407
|
+
}
|
408
|
+
}])
|
367
409
|
}, {
|
368
410
|
popOverContainer: null
|
369
411
|
}))));
|
@@ -40,7 +40,7 @@ export default class ExpressionFormulaControl extends React.Component<Expression
|
|
40
40
|
initFormulaPickerValue(value: string): void;
|
41
41
|
handleConfirm(value?: string): void;
|
42
42
|
handleClearExpression(e: React.MouseEvent<HTMLElement>): void;
|
43
|
-
render(): JSX.Element;
|
43
|
+
render(): React.JSX.Element;
|
44
44
|
}
|
45
45
|
export declare class ExpressionFormulaControlRenderer extends ExpressionFormulaControl {
|
46
46
|
}
|
@@ -55,9 +55,9 @@ export default class FeatureControl extends React.Component<FeatureControlProps,
|
|
55
55
|
* 拖动的销毁
|
56
56
|
*/
|
57
57
|
destroyDragging(): void;
|
58
|
-
renderItem(item: FeatureOption, index: number): JSX.Element;
|
58
|
+
renderItem(item: FeatureOption, index: number): React.JSX.Element;
|
59
59
|
renderAction(): any;
|
60
|
-
render(): JSX.Element;
|
60
|
+
render(): React.JSX.Element;
|
61
61
|
}
|
62
62
|
export declare class FeatureControlRenderer extends FeatureControl {
|
63
63
|
}
|
@@ -13,7 +13,7 @@ interface FlexSettingControlProps extends FormControlProps {
|
|
13
13
|
export default class FlexSettingControl extends React.Component<FlexSettingControlProps> {
|
14
14
|
constructor(props: any);
|
15
15
|
setField(field: string): (val: string) => void;
|
16
|
-
render(): JSX.Element;
|
16
|
+
render(): React.JSX.Element;
|
17
17
|
}
|
18
18
|
export declare class FlexSettingControlRenderer extends FlexSettingControl {
|
19
19
|
}
|
@@ -12,7 +12,7 @@ export declare enum FormulaDateType {
|
|
12
12
|
IsDate = 1,
|
13
13
|
IsRange = 2
|
14
14
|
}
|
15
|
-
export declare function renderFormulaValue(item: any): JSX.Element;
|
15
|
+
export declare function renderFormulaValue(item: any): React.JSX.Element;
|
16
16
|
export interface FormulaControlProps extends FormControlProps {
|
17
17
|
manager?: EditorManager;
|
18
18
|
/**
|
@@ -94,6 +94,7 @@ interface FormulaControlState {
|
|
94
94
|
variables: any;
|
95
95
|
variableMode?: 'tree' | 'tabs';
|
96
96
|
formulaPickerOpen: boolean;
|
97
|
+
loading: boolean;
|
97
98
|
}
|
98
99
|
export default class FormulaControl extends React.Component<FormulaControlProps, FormulaControlState> {
|
99
100
|
static defaultProps: Partial<FormulaControlProps>;
|
@@ -118,13 +119,17 @@ export default class FormulaControl extends React.Component<FormulaControlProps,
|
|
118
119
|
hasDateShortcutkey(str: string): boolean;
|
119
120
|
transExpr(str: string): string;
|
120
121
|
handleConfirm(value: any): void;
|
121
|
-
|
122
|
+
/**
|
123
|
+
* 公式编辑器打开完成一些异步任务的加载
|
124
|
+
*/
|
125
|
+
beforeFormulaEditorOpen(): Promise<void>;
|
126
|
+
handleFormulaClick(): Promise<void>;
|
122
127
|
closeFormulaPicker(): void;
|
123
128
|
handleSimpleInputChange: (value: any) => void;
|
124
129
|
handleInputChange: (value: any) => void;
|
125
130
|
filterCustomRendererProps(rendererSchema: any): any;
|
126
131
|
getContextData(): any;
|
127
|
-
render(): JSX.Element;
|
132
|
+
render(): React.JSX.Element;
|
128
133
|
}
|
129
134
|
export declare class FormulaControlRenderer extends FormulaControl {
|
130
135
|
}
|