amis 1.5.4 → 1.5.6-beta.5
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/lib/Root.js +1 -1
- package/lib/Root.js.map +2 -2
- package/lib/RootRenderer.d.ts +1 -1
- package/lib/RootRenderer.js +4 -3
- package/lib/RootRenderer.js.map +2 -2
- package/lib/Schema.d.ts +1 -1
- package/lib/Schema.js.map +1 -1
- package/lib/SchemaRenderer.js +4 -4
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/components/AsideNav.d.ts +1 -1
- package/lib/components/AsideNav.js.map +1 -1
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/CodeMirror.d.ts +26 -0
- package/lib/components/CodeMirror.js +104 -0
- package/lib/components/CodeMirror.js.map +13 -0
- package/lib/components/Collapse.d.ts +22 -21
- package/lib/components/Collapse.js +4 -6
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/CollapseGroup.d.ts +20 -20
- package/lib/components/CollapseGroup.js +5 -3
- package/lib/components/CollapseGroup.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +85 -84
- package/lib/components/ColorPicker.js +15 -3
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +7 -3
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +85 -84
- package/lib/components/DateRangePicker.js +5 -3
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/LocationPicker.d.ts +84 -84
- package/lib/components/MonthRangePicker.d.ts +85 -84
- package/lib/components/MonthRangePicker.js +5 -3
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +2 -1
- package/lib/components/PickerContainer.js +3 -3
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/PopUp.d.ts +93 -0
- package/lib/components/PopUp.js +58 -0
- package/lib/components/PopUp.js.map +13 -0
- package/lib/components/Progress.js +1 -1
- package/lib/components/Progress.js.map +2 -2
- package/lib/components/Select.d.ts +237 -237
- package/lib/components/Steps.d.ts +1 -0
- package/lib/components/Steps.js +5 -3
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/Tabs.d.ts +20 -20
- package/lib/components/TabsTransferPicker.js +1 -1
- package/lib/components/TabsTransferPicker.js.map +2 -2
- package/lib/components/TransferPicker.d.ts +0 -1
- package/lib/components/TransferPicker.js +2 -15
- package/lib/components/TransferPicker.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +560 -0
- package/lib/components/formula/Editor.js +186 -0
- package/lib/components/formula/Editor.js.map +13 -0
- package/lib/components/formula/FuncList.d.ts +67 -0
- package/lib/components/formula/FuncList.js +35 -0
- package/lib/components/formula/FuncList.js.map +13 -0
- package/lib/components/formula/Picker.d.ts +493 -0
- package/lib/components/formula/Picker.js +48 -0
- package/lib/components/formula/Picker.js.map +13 -0
- package/lib/components/formula/VariableList.d.ts +9 -0
- package/lib/components/formula/VariableList.js +15 -0
- package/lib/components/formula/VariableList.js.map +13 -0
- package/lib/components/formula/plugin.d.ts +18 -0
- package/lib/components/formula/plugin.js +136 -0
- package/lib/components/formula/plugin.js.map +13 -0
- 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/helper.css +57 -57
- package/lib/helper.css.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +1 -1
- package/lib/renderers/CRUD.js +4 -3
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Collapse.js +8 -2
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/CollapseGroup.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +2 -2
- package/lib/renderers/Dialog.js +7 -7
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +2 -2
- package/lib/renderers/Drawer.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 +2 -2
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +2 -2
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +2 -2
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +1 -1
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +35 -0
- package/lib/renderers/Form/InputFormula.js +25 -0
- package/lib/renderers/Form/InputFormula.js.map +13 -0
- package/lib/renderers/Form/InputImage.js +1 -1
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +2 -2
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputQuarterRange.js +2 -2
- package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
- package/lib/renderers/Form/InputYearRange.js +2 -2
- package/lib/renderers/Form/InputYearRange.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +1 -1
- package/lib/renderers/Form/Item.js +4 -3
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +1 -0
- package/lib/renderers/Form/TreeSelect.js +11 -8
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.d.ts +1 -1
- package/lib/renderers/Form/index.js +3 -2
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Page.d.ts +3 -3
- package/lib/renderers/Page.js +4 -3
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Steps.js +2 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Wizard.d.ts +1 -1
- package/lib/renderers/Wizard.js +93 -36
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/formItem.js +11 -1
- package/lib/store/formItem.js.map +2 -2
- package/lib/themes/ang-ie11.css +261 -0
- package/lib/themes/ang.css +261 -0
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +261 -0
- package/lib/themes/antd.css +261 -0
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +261 -0
- package/lib/themes/cxd.css +261 -0
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +261 -0
- package/lib/themes/dark.css +261 -0
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +261 -0
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +2 -2
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/helper.js +2 -7
- package/lib/utils/helper.js.map +2 -2
- package/package.json +5 -3
- package/scss/_variables.scss +1 -1
- package/scss/components/_formula.scss +122 -0
- package/scss/components/_popup.scss +123 -0
- package/scss/components/_steps.scss +60 -0
- package/scss/components/form/_color.scss +4 -0
- package/scss/components/form/_date-range.scss +4 -0
- package/scss/components/form/_date.scss +3 -0
- package/scss/components/form/_tree-select.scss +4 -0
- package/scss/helper/background/_background-color.scss +1 -1
- package/scss/helper/border/_border-color.scss +1 -1
- package/scss/helper/typography/_text-color.scss +1 -1
- package/scss/themes/_common.scss +2 -0
- package/sdk/ang-ie11.css +875 -0
- package/sdk/ang.css +875 -0
- package/sdk/antd-ie11.css +875 -0
- package/sdk/antd.css +875 -0
- package/sdk/charts.js +18 -18
- package/sdk/codemirror.js +14 -0
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +875 -0
- package/sdk/cxd.css +875 -0
- package/sdk/dark-ie11.css +875 -0
- package/sdk/dark.css +875 -0
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css +57 -57
- package/sdk/helper.css.map +1 -1
- 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 +875 -0
- package/sdk/sdk.css +875 -0
- package/sdk/sdk.js +1315 -1207
- 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/Root.tsx +1 -0
- package/src/RootRenderer.tsx +3 -3
- package/src/Schema.ts +1 -0
- package/src/SchemaRenderer.tsx +4 -0
- package/src/components/AsideNav.tsx +1 -1
- package/src/components/CodeMirror.tsx +99 -0
- package/src/components/Collapse.tsx +21 -13
- package/src/components/CollapseGroup.tsx +9 -11
- package/src/components/ColorPicker.tsx +45 -3
- package/src/components/DatePicker.tsx +33 -3
- package/src/components/DateRangePicker.tsx +17 -3
- package/src/components/MonthRangePicker.tsx +18 -4
- package/src/components/PickerContainer.tsx +10 -6
- package/src/components/PopUp.tsx +133 -0
- package/src/components/Progress.tsx +1 -1
- package/src/components/Steps.tsx +8 -3
- package/src/components/TabsTransferPicker.tsx +1 -1
- package/src/components/TransferPicker.tsx +1 -11
- package/src/components/formula/Editor.tsx +261 -0
- package/src/components/formula/FuncList.tsx +82 -0
- package/src/components/formula/Picker.tsx +86 -0
- package/src/components/formula/VariableList.tsx +49 -0
- package/src/components/formula/plugin.ts +177 -0
- package/src/components/index.tsx +2 -0
- package/src/index.tsx +1 -0
- package/src/renderers/CRUD.tsx +3 -3
- package/src/renderers/Collapse.tsx +27 -27
- package/src/renderers/CollapseGroup.tsx +13 -12
- package/src/renderers/Dialog.tsx +8 -8
- package/src/renderers/Drawer.tsx +2 -2
- package/src/renderers/Form/InputColor.tsx +2 -3
- package/src/renderers/Form/InputDate.tsx +2 -0
- package/src/renderers/Form/InputDateRange.tsx +2 -0
- package/src/renderers/Form/InputFile.tsx +1 -1
- package/src/renderers/Form/InputFormula.tsx +75 -0
- package/src/renderers/Form/InputImage.tsx +1 -1
- package/src/renderers/Form/InputMonthRange.tsx +2 -0
- package/src/renderers/Form/InputQuarterRange.tsx +2 -0
- package/src/renderers/Form/InputYearRange.tsx +2 -0
- package/src/renderers/Form/Item.tsx +2 -2
- package/src/renderers/Form/TreeSelect.tsx +82 -63
- package/src/renderers/Form/index.tsx +2 -2
- package/src/renderers/Page.tsx +11 -10
- package/src/renderers/Steps.tsx +4 -2
- package/src/renderers/Wizard.tsx +52 -12
- package/src/store/formItem.ts +15 -0
- package/src/utils/api.ts +5 -2
- package/src/utils/helper.ts +5 -14
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import Overlay from '../../components/Overlay';
|
3
3
|
import PopOver from '../../components/PopOver';
|
4
|
+
import PopUp from '../../components/PopUp';
|
4
5
|
|
5
6
|
import {
|
6
7
|
OptionsControl,
|
@@ -17,7 +18,7 @@ import {Api} from '../../types';
|
|
17
18
|
import {isEffectiveApi} from '../../utils/api';
|
18
19
|
import Spinner from '../../components/Spinner';
|
19
20
|
import ResultBox from '../../components/ResultBox';
|
20
|
-
import {autobind, getTreeAncestors} from '../../utils/helper';
|
21
|
+
import {autobind, getTreeAncestors, isMobile} from '../../utils/helper';
|
21
22
|
import {findDOMNode} from 'react-dom';
|
22
23
|
import {normalizeOptions} from '../../components/Select';
|
23
24
|
|
@@ -90,6 +91,7 @@ export interface TreeSelectProps extends OptionsControlProps {
|
|
90
91
|
hideNodePathLabel?: boolean;
|
91
92
|
enableNodePath?: boolean;
|
92
93
|
pathSeparator?: string;
|
94
|
+
useMobileUI?: boolean;
|
93
95
|
}
|
94
96
|
|
95
97
|
export interface TreeSelectState {
|
@@ -502,67 +504,51 @@ export default class TreeSelectControl extends React.Component<
|
|
502
504
|
: options;
|
503
505
|
|
504
506
|
return (
|
505
|
-
<
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
creatable={creatable}
|
551
|
-
createTip={createTip}
|
552
|
-
rootCreatable={rootCreatable}
|
553
|
-
rootCreateTip={rootCreateTip}
|
554
|
-
onEdit={onEdit}
|
555
|
-
editable={editable}
|
556
|
-
editTip={editTip}
|
557
|
-
removable={removable}
|
558
|
-
removeTip={removeTip}
|
559
|
-
onDelete={onDelete}
|
560
|
-
bultinCUD={!addControls && !editControls}
|
561
|
-
onDeferLoad={deferLoad}
|
562
|
-
onExpandTree={expandTreeOptions}
|
563
|
-
/>
|
564
|
-
</PopOver>
|
565
|
-
</Overlay>
|
507
|
+
<TreeSelector
|
508
|
+
classPrefix={ns}
|
509
|
+
onlyChildren={onlyChildren}
|
510
|
+
labelField={labelField}
|
511
|
+
valueField={valueField}
|
512
|
+
disabled={disabled}
|
513
|
+
onChange={this.handleChange}
|
514
|
+
joinValues={joinValues}
|
515
|
+
extractValue={extractValue}
|
516
|
+
delimiter={delimiter}
|
517
|
+
placeholder={__(optionsPlaceholder)}
|
518
|
+
options={filtedOptions}
|
519
|
+
highlightTxt={this.state.inputValue}
|
520
|
+
multiple={multiple}
|
521
|
+
initiallyOpen={initiallyOpen}
|
522
|
+
unfoldedLevel={unfoldedLevel}
|
523
|
+
withChildren={withChildren}
|
524
|
+
rootLabel={__(rootLabel)}
|
525
|
+
rootValue={rootValue}
|
526
|
+
showIcon={showIcon}
|
527
|
+
showRadio={showRadio}
|
528
|
+
cascade={cascade}
|
529
|
+
foldedField="collapsed"
|
530
|
+
hideRoot
|
531
|
+
value={value || ''}
|
532
|
+
nodePath={nodePath}
|
533
|
+
enableNodePath={enableNodePath}
|
534
|
+
pathSeparator={pathSeparator}
|
535
|
+
maxLength={maxLength}
|
536
|
+
minLength={minLength}
|
537
|
+
onAdd={onAdd}
|
538
|
+
creatable={creatable}
|
539
|
+
createTip={createTip}
|
540
|
+
rootCreatable={rootCreatable}
|
541
|
+
rootCreateTip={rootCreateTip}
|
542
|
+
onEdit={onEdit}
|
543
|
+
editable={editable}
|
544
|
+
editTip={editTip}
|
545
|
+
removable={removable}
|
546
|
+
removeTip={removeTip}
|
547
|
+
onDelete={onDelete}
|
548
|
+
bultinCUD={!addControls && !editControls}
|
549
|
+
onDeferLoad={deferLoad}
|
550
|
+
onExpandTree={expandTreeOptions}
|
551
|
+
/>
|
566
552
|
);
|
567
553
|
}
|
568
554
|
|
@@ -581,9 +567,13 @@ export default class TreeSelectControl extends React.Component<
|
|
581
567
|
autoComplete,
|
582
568
|
selectedOptions,
|
583
569
|
placeholder,
|
570
|
+
popOverContainer,
|
571
|
+
env,
|
584
572
|
translate: __
|
585
573
|
} = this.props;
|
586
574
|
|
575
|
+
const { isOpened } = this.state;
|
576
|
+
const { useMobileUI } = env;
|
587
577
|
return (
|
588
578
|
<div ref={this.container} className={cx(`TreeSelectControl`, className)}>
|
589
579
|
<ResultBox
|
@@ -622,7 +612,36 @@ export default class TreeSelectControl extends React.Component<
|
|
622
612
|
>
|
623
613
|
{loading ? <Spinner size="sm" /> : undefined}
|
624
614
|
</ResultBox>
|
625
|
-
{
|
615
|
+
{ !(useMobileUI && isMobile()) && isOpened ? (
|
616
|
+
<Overlay
|
617
|
+
container={popOverContainer || (() => this.container.current)}
|
618
|
+
target={() => this.target}
|
619
|
+
show
|
620
|
+
>
|
621
|
+
<PopOver
|
622
|
+
classPrefix={ns}
|
623
|
+
className={`${ns}TreeSelect-popover`}
|
624
|
+
style={{
|
625
|
+
minWidth: this.target ? this.target.offsetWidth : undefined
|
626
|
+
}}
|
627
|
+
onHide={this.close}
|
628
|
+
overlay
|
629
|
+
>
|
630
|
+
{this.renderOuter()}
|
631
|
+
</PopOver>
|
632
|
+
</Overlay>
|
633
|
+
) : null}
|
634
|
+
{
|
635
|
+
useMobileUI && isMobile() && (
|
636
|
+
<PopUp
|
637
|
+
className={cx(`${ns}TreeSelect-popup`)}
|
638
|
+
isShow={isOpened}
|
639
|
+
onHide={this.close}
|
640
|
+
>
|
641
|
+
{this.renderOuter()}
|
642
|
+
</PopUp>
|
643
|
+
)
|
644
|
+
}
|
626
645
|
</div>
|
627
646
|
);
|
628
647
|
}
|
@@ -1167,9 +1167,9 @@ export default class Form extends React.Component<FormProps, object> {
|
|
1167
1167
|
store.closeDialog(true);
|
1168
1168
|
}
|
1169
1169
|
|
1170
|
-
handleDialogClose() {
|
1170
|
+
handleDialogClose(confirmed = false) {
|
1171
1171
|
const {store} = this.props;
|
1172
|
-
store.closeDialog(
|
1172
|
+
store.closeDialog(confirmed);
|
1173
1173
|
}
|
1174
1174
|
|
1175
1175
|
handleDrawerConfirm(
|
package/src/renderers/Page.tsx
CHANGED
@@ -95,7 +95,7 @@ export interface PageSchema extends BaseSchema {
|
|
95
95
|
*/
|
96
96
|
asideMinWidth?: number;
|
97
97
|
|
98
|
-
|
98
|
+
/**
|
99
99
|
* 边栏最小宽度
|
100
100
|
*/
|
101
101
|
asideMaxWidth?: number;
|
@@ -471,12 +471,12 @@ export default class Page extends React.Component<PageProps> {
|
|
471
471
|
return;
|
472
472
|
}
|
473
473
|
|
474
|
-
store.closeDialog();
|
474
|
+
store.closeDialog(true);
|
475
475
|
}
|
476
476
|
|
477
|
-
handleDialogClose() {
|
477
|
+
handleDialogClose(confirmed = false) {
|
478
478
|
const {store} = this.props;
|
479
|
-
store.closeDialog();
|
479
|
+
store.closeDialog(confirmed);
|
480
480
|
}
|
481
481
|
|
482
482
|
handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {
|
@@ -734,11 +734,13 @@ export default class Page extends React.Component<PageProps> {
|
|
734
734
|
style={styleVar}
|
735
735
|
>
|
736
736
|
{hasAside ? (
|
737
|
-
<div
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
737
|
+
<div
|
738
|
+
className={cx(
|
739
|
+
`Page-aside`,
|
740
|
+
asideResizor ? 'relative' : 'Page-aside--withWidth',
|
741
|
+
asideClassName
|
742
|
+
)}
|
743
|
+
>
|
742
744
|
{render('aside', aside || '', {
|
743
745
|
...subProps,
|
744
746
|
...(typeof aside === 'string'
|
@@ -754,7 +756,6 @@ export default class Page extends React.Component<PageProps> {
|
|
754
756
|
className={cx(`Page-asideResizor`)}
|
755
757
|
></div>
|
756
758
|
) : null}
|
757
|
-
|
758
759
|
</div>
|
759
760
|
) : null}
|
760
761
|
|
package/src/renderers/Steps.tsx
CHANGED
@@ -83,9 +83,10 @@ export function StepsCmpt(props: StepsProps) {
|
|
83
83
|
data,
|
84
84
|
source,
|
85
85
|
config,
|
86
|
-
render
|
86
|
+
render,
|
87
|
+
env
|
87
88
|
} = props;
|
88
|
-
|
89
|
+
|
89
90
|
const stepsRow =
|
90
91
|
(resolveVariable(source, data) as Array<StepSchema>) ||
|
91
92
|
config ||
|
@@ -140,6 +141,7 @@ export function StepsCmpt(props: StepsProps) {
|
|
140
141
|
className={className}
|
141
142
|
status={status}
|
142
143
|
mode={mode}
|
144
|
+
useMobileUI={env.useMobileUI}
|
143
145
|
></Steps>
|
144
146
|
);
|
145
147
|
}
|
package/src/renderers/Wizard.tsx
CHANGED
@@ -9,7 +9,8 @@ import {
|
|
9
9
|
until,
|
10
10
|
isVisible,
|
11
11
|
getScrollParent,
|
12
|
-
autobind
|
12
|
+
autobind,
|
13
|
+
SkipOperation
|
13
14
|
} from '../utils/helper';
|
14
15
|
import {isApiOutdated, isEffectiveApi} from '../utils/api';
|
15
16
|
import {IFormStore} from '../store/form';
|
@@ -546,8 +547,16 @@ export default class Wizard extends React.Component<WizardProps, WizardState> {
|
|
546
547
|
.then(async () => {
|
547
548
|
this.form && this.form.isValidated() && this.form.validate(true);
|
548
549
|
|
549
|
-
|
550
|
-
|
550
|
+
const feedback = action.feedback;
|
551
|
+
if (feedback && isVisible(feedback, store.data)) {
|
552
|
+
const confirmed = await this.openFeedback(feedback, store.data);
|
553
|
+
|
554
|
+
// 如果 feedback 配置了,取消就跳过原有逻辑。
|
555
|
+
if (feedback.skipRestOnCancel && !confirmed) {
|
556
|
+
throw new SkipOperation();
|
557
|
+
} else if (feedback.skipRestOnConfirm && confirmed) {
|
558
|
+
throw new SkipOperation();
|
559
|
+
}
|
551
560
|
}
|
552
561
|
|
553
562
|
const reidrect =
|
@@ -556,7 +565,11 @@ export default class Wizard extends React.Component<WizardProps, WizardState> {
|
|
556
565
|
|
557
566
|
action.reload && this.reloadTarget(action.reload, store.data);
|
558
567
|
})
|
559
|
-
.catch(
|
568
|
+
.catch(reason => {
|
569
|
+
if (reason instanceof SkipOperation) {
|
570
|
+
return;
|
571
|
+
}
|
572
|
+
});
|
560
573
|
} else if (action.actionType === 'reload') {
|
561
574
|
action.target && this.reloadTarget(action.target, data);
|
562
575
|
} else if (onAction) {
|
@@ -667,14 +680,29 @@ export default class Wizard extends React.Component<WizardProps, WizardState> {
|
|
667
680
|
}
|
668
681
|
}
|
669
682
|
})
|
670
|
-
.then((value: any) =>
|
683
|
+
.then(async (value: any) => {
|
684
|
+
const feedback = action.feedback;
|
685
|
+
if (feedback && isVisible(feedback, value)) {
|
686
|
+
const confirmed = await this.openFeedback(feedback, value);
|
687
|
+
|
688
|
+
// 如果 feedback 配置了,取消就跳过原有逻辑。
|
689
|
+
if (feedback.skipRestOnCancel && !confirmed) {
|
690
|
+
throw new SkipOperation();
|
691
|
+
} else if (feedback.skipRestOnConfirm && confirmed) {
|
692
|
+
throw new SkipOperation();
|
693
|
+
}
|
694
|
+
}
|
695
|
+
|
671
696
|
this.gotoStep(
|
672
697
|
value && typeof value.step === 'number'
|
673
698
|
? value.step
|
674
699
|
: this.state.currentStep + 1
|
675
|
-
)
|
676
|
-
)
|
677
|
-
.catch(
|
700
|
+
);
|
701
|
+
})
|
702
|
+
.catch(reason => {
|
703
|
+
if (reason instanceof SkipOperation) {
|
704
|
+
return;
|
705
|
+
}
|
678
706
|
// do nothing
|
679
707
|
});
|
680
708
|
} else {
|
@@ -715,7 +743,19 @@ export default class Wizard extends React.Component<WizardProps, WizardState> {
|
|
715
743
|
);
|
716
744
|
}
|
717
745
|
})
|
718
|
-
.then(value => {
|
746
|
+
.then(async value => {
|
747
|
+
const feedback = action.feedback;
|
748
|
+
if (feedback && isVisible(feedback, value)) {
|
749
|
+
const confirmed = await this.openFeedback(feedback, value);
|
750
|
+
|
751
|
+
// 如果 feedback 配置了,取消就跳过原有逻辑。
|
752
|
+
if (feedback.skipRestOnCancel && !confirmed) {
|
753
|
+
throw new SkipOperation();
|
754
|
+
} else if (feedback.skipRestOnConfirm && confirmed) {
|
755
|
+
throw new SkipOperation();
|
756
|
+
}
|
757
|
+
}
|
758
|
+
|
719
759
|
this.setState({completeStep: steps.length});
|
720
760
|
store.updateData({
|
721
761
|
...store.data,
|
@@ -771,13 +811,13 @@ export default class Wizard extends React.Component<WizardProps, WizardState> {
|
|
771
811
|
store.updateData(values[0]);
|
772
812
|
}
|
773
813
|
|
774
|
-
store.closeDialog();
|
814
|
+
store.closeDialog(true);
|
775
815
|
}
|
776
816
|
|
777
817
|
@autobind
|
778
|
-
handleDialogClose() {
|
818
|
+
handleDialogClose(confirmed = false) {
|
779
819
|
const {store} = this.props;
|
780
|
-
store.closeDialog();
|
820
|
+
store.closeDialog(confirmed);
|
781
821
|
}
|
782
822
|
|
783
823
|
renderSteps() {
|
package/src/store/formItem.ts
CHANGED
@@ -712,6 +712,21 @@ export const FormItemStore = StoreNode.named('FormItemStore')
|
|
712
712
|
data
|
713
713
|
);
|
714
714
|
|
715
|
+
// 插入新的子节点,用于之后BaseSelection.resolveSelected查找
|
716
|
+
if (Array.isArray(self.options[0].children)) {
|
717
|
+
const children = self.options[0].children.concat();
|
718
|
+
|
719
|
+
flattenTree(self.options[0].leftOptions).forEach(item => {
|
720
|
+
if (
|
721
|
+
!findTree(self.options[0].children, node => node.ref === item.value)
|
722
|
+
) {
|
723
|
+
children.push({ref: item.value, defer: true});
|
724
|
+
}
|
725
|
+
});
|
726
|
+
|
727
|
+
setOptions([{...self.options[0], children}], undefined, data);
|
728
|
+
}
|
729
|
+
|
715
730
|
return json;
|
716
731
|
});
|
717
732
|
|
package/src/utils/api.ts
CHANGED
@@ -98,14 +98,17 @@ export function buildApi(
|
|
98
98
|
if (~idx) {
|
99
99
|
const hashIdx = api.url.indexOf('#');
|
100
100
|
const params = qsparse(
|
101
|
-
api.url.substring(
|
101
|
+
api.url.substring(
|
102
|
+
idx + 1,
|
103
|
+
~hashIdx && hashIdx > idx ? hashIdx : undefined
|
104
|
+
)
|
102
105
|
);
|
103
106
|
api.url =
|
104
107
|
tokenize(api.url.substring(0, idx + 1), data, '| url_encode') +
|
105
108
|
qsstringify(
|
106
109
|
(api.query = dataMapping(params, data, undefined, api.convertKeyToPath))
|
107
110
|
) +
|
108
|
-
(~hashIdx ? api.url.substring(hashIdx) : '');
|
111
|
+
(~hashIdx && hashIdx > idx ? api.url.substring(hashIdx) : '');
|
109
112
|
} else {
|
110
113
|
api.url = tokenize(api.url, data, '| url_encode');
|
111
114
|
}
|
package/src/utils/helper.ts
CHANGED
@@ -891,11 +891,7 @@ export function filterTree<T extends TreeItem>(
|
|
891
891
|
? filterTree(item.children, iterator, level + 1, depthFirst)
|
892
892
|
: undefined;
|
893
893
|
|
894
|
-
if (
|
895
|
-
Array.isArray(children) &&
|
896
|
-
Array.isArray(item.children) &&
|
897
|
-
children.length !== item.children.length
|
898
|
-
) {
|
894
|
+
if (Array.isArray(children) && Array.isArray(item.children)) {
|
899
895
|
item = {...item, children: children};
|
900
896
|
}
|
901
897
|
|
@@ -915,11 +911,7 @@ export function filterTree<T extends TreeItem>(
|
|
915
911
|
depthFirst
|
916
912
|
);
|
917
913
|
|
918
|
-
if (
|
919
|
-
Array.isArray(children) &&
|
920
|
-
Array.isArray(item.children) &&
|
921
|
-
children.length !== item.children.length
|
922
|
-
) {
|
914
|
+
if (Array.isArray(children) && Array.isArray(item.children)) {
|
923
915
|
item = {...item, children: children};
|
924
916
|
}
|
925
917
|
}
|
@@ -1593,13 +1585,12 @@ export function JSONTraverse(
|
|
1593
1585
|
});
|
1594
1586
|
}
|
1595
1587
|
|
1596
|
-
|
1597
1588
|
export function convertDateArrayToDate(
|
1598
1589
|
value: number[],
|
1599
1590
|
types: string[],
|
1600
1591
|
date: moment.Moment
|
1601
1592
|
): moment.Moment | null {
|
1602
|
-
if (value.length === 0) return date
|
1593
|
+
if (value.length === 0) return date;
|
1603
1594
|
for (let i = 0; i < types.length; i++) {
|
1604
1595
|
const type = types[i];
|
1605
1596
|
// @ts-ignore
|
@@ -1622,7 +1613,7 @@ export function convertDateToObject(value: moment.Moment) {
|
|
1622
1613
|
export function getRange(min: number, max: number, step: number = 1) {
|
1623
1614
|
const arr = [];
|
1624
1615
|
for (let i = min; i <= max; i += step) {
|
1625
|
-
|
1616
|
+
arr.push(i);
|
1626
1617
|
}
|
1627
1618
|
return arr;
|
1628
|
-
}
|
1619
|
+
}
|