aldehyde 0.2.6 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/lib/controls/cquery/cquick-button.js +2 -2
  2. package/lib/controls/cquery/cquick-button.js.map +1 -1
  3. package/lib/controls/entity-select/entity-select.d.ts +3 -0
  4. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  5. package/lib/controls/entity-select/entity-select.js +22 -8
  6. package/lib/controls/entity-select/entity-select.js.map +1 -1
  7. package/lib/custom-page/def-custom-page.d.ts.map +1 -1
  8. package/lib/custom-page/def-custom-page.js.map +1 -1
  9. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts +41 -0
  10. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts.map +1 -0
  11. package/lib/custom-page/dtmpl-custom-edit-modal-page.js +34 -0
  12. package/lib/custom-page/dtmpl-custom-edit-modal-page.js.map +1 -0
  13. package/lib/index.d.ts +3 -2
  14. package/lib/index.d.ts.map +1 -1
  15. package/lib/index.js +23 -2
  16. package/lib/index.js.map +1 -1
  17. package/lib/layout/menu/l2menu-quick-bar.js +2 -2
  18. package/lib/layout/menu/l2menu-quick-bar.js.map +1 -1
  19. package/lib/module/ltmpl-draw-page.d.ts +31 -0
  20. package/lib/module/ltmpl-draw-page.d.ts.map +1 -0
  21. package/lib/module/ltmpl-draw-page.js +39 -0
  22. package/lib/module/ltmpl-draw-page.js.map +1 -0
  23. package/lib/module/{ltmpl-page.d.ts → ltmpl-table.d.ts} +9 -7
  24. package/lib/module/ltmpl-table.d.ts.map +1 -0
  25. package/lib/module/{ltmpl-page.js → ltmpl-table.js} +45 -19
  26. package/lib/module/ltmpl-table.js.map +1 -0
  27. package/lib/tmpl/interface.d.ts +1 -1
  28. package/lib/tmpl/interface.d.ts.map +1 -1
  29. package/lib/units/config-loader.js +1 -21
  30. package/lib/units/config-loader.js.map +1 -1
  31. package/lib/units/index.d.ts +2 -2
  32. package/lib/units/index.d.ts.map +1 -1
  33. package/lib/units/index.js +37 -5
  34. package/lib/units/index.js.map +1 -1
  35. package/lib/welcome/HCWelcome.d.ts.map +1 -1
  36. package/lib/welcome/HCWelcome.js.map +1 -1
  37. package/package.json +1 -1
  38. package/src/aldehyde/controls/cquery/cquick-button.tsx +2 -2
  39. package/src/aldehyde/controls/entity-select/entity-select.tsx +32 -5
  40. package/src/aldehyde/custom-page/def-custom-page.js +0 -2
  41. package/src/aldehyde/custom-page/dtmpl-custom-edit-modal-page.tsx +72 -0
  42. package/src/aldehyde/index.tsx +30 -3
  43. package/src/aldehyde/layout/menu/l2menu-quick-bar.tsx +2 -2
  44. package/src/aldehyde/module/ltmpl-draw-page.tsx +60 -0
  45. package/src/aldehyde/module/ltmpl-table.tsx +262 -0
  46. package/src/aldehyde/tmpl/interface.tsx +1 -1
  47. package/src/aldehyde/units/config-loader.tsx +0 -22
  48. package/src/aldehyde/units/index.tsx +36 -5
  49. package/src/aldehyde/welcome/HCWelcome.js +0 -2
  50. package/lib/module/ltmpl-page.d.ts.map +0 -1
  51. package/lib/module/ltmpl-page.js.map +0 -1
  52. package/src/aldehyde/module/ltmpl-page.tsx +0 -233
@@ -1,233 +0,0 @@
1
- import React,{ReactNode} from 'react'
2
- import {AddOrUpdate, DtmplData, LtmplConfigRes} from '../tmpl/interface';
3
- import Units from "../units";
4
- import ActTable,{Mode} from '../table/act-table'
5
- // import StatActTable from '../table/stat-act-table'
6
- import HCDataSource from "../tmpl/hc-data-source";
7
- import ModalDtmplView from "../detail/view/modal-dtmpl-view";
8
- import DtmplEditPage from "../detail/edit/dtmpl-edit-page";
9
- import {Button, Drawer, Space} from "antd";
10
-
11
- //以列表为入口的,页面内列表,基本原则是所有交互在页面内完成,不会触发路由。
12
-
13
- export interface LtmplPageProps {
14
- sourceId:string,
15
- mainCode?:string;
16
- showView?: (code: string,toCustomPage?:boolean) => void,
17
- doCreate?: (handleOk:()=>void) => void,
18
- doEdit?: (code: string,mode:AddOrUpdate,handleOk:()=>void) => void,
19
- doSearch?: (params: object) => void,
20
- doRAction?:(ractionId:string,mainCode:string)=>void,
21
- funcMode?:Mode,
22
- title?:ReactNode,
23
- collapsible?: boolean,
24
- initCollapse?:boolean,
25
- };
26
-
27
- export interface LtmplPageState {
28
- ltmplConfigRes:LtmplConfigRes;
29
- criteriaData:object;
30
- showDtmplView:boolean;
31
- selectedCode:string;
32
- showDtmplEdit:boolean;
33
- showDraw:boolean;
34
- ractionId:string,
35
- collapse:boolean,
36
- };
37
-
38
- class LtmplPage extends React.PureComponent<LtmplPageProps, LtmplPageState> {
39
-
40
- state = {
41
- ltmplConfigRes: undefined,
42
- criteriaData:undefined,
43
- showDtmplView:false,
44
- showDtmplEdit:false,
45
- selectedCode:undefined,
46
- showDraw:false,
47
- ractionId:undefined,
48
- collapse:false,
49
- }
50
-
51
- static defaultProps = {
52
- collapsible: false,
53
- initCollapse:false,
54
- }
55
-
56
- async componentDidMount() {
57
- this.loadLtmplConfig();
58
- const { collapsible,initCollapse} = this.props;
59
- if(collapsible){
60
- this.setState({
61
- collapse:initCollapse
62
- })
63
- }
64
-
65
- }
66
-
67
- async componentDidUpdate(prevProps) {
68
- const { sourceId,mainCode} = this.props;
69
- if(!prevProps || prevProps.sourceId!=sourceId){
70
- this.loadLtmplConfig();
71
- }else if(mainCode && prevProps.mainCode!=mainCode){//此处处理有效,但不高效
72
- this.loadLtmplConfig();
73
- }
74
- }
75
-
76
- loadLtmplConfig = async () => {
77
- const {sourceId} = this.props;
78
- let ltmplConfigRes:LtmplConfigRes = await HCDataSource.requestLtmplConfig(sourceId);
79
- let criteriaData;
80
- //提取 过滤条件的默认值
81
- if(ltmplConfigRes){
82
- let defaultCriteriaValue=ltmplConfigRes.ltmplConfig.defaultCriteriaValue;
83
- if(defaultCriteriaValue){
84
- criteriaData=this.toCriteriaData(defaultCriteriaValue);
85
- }
86
- }
87
- this.setState({
88
- ltmplConfigRes,criteriaData
89
- })
90
- }
91
- toCriteriaData = (values:object) => {
92
- let criteriaData={};
93
- if(values){
94
- for (let key in values) {
95
- criteriaData[key]=Units.configParamTrans(values[key]);
96
- }
97
- }
98
- criteriaData['sequence']=Units.getRandomNum(6);
99
- return criteriaData;
100
- }
101
-
102
- showView = (code: string) => {
103
- this.setState({
104
- selectedCode:code,
105
- showDtmplView:true,
106
- })
107
- }
108
-
109
- doEdit = (code: string,mode:AddOrUpdate,toCustomPage?:boolean) => {
110
- const {doEdit}=this.props
111
- if(toCustomPage && doEdit){
112
- doEdit(code,mode,()=>{
113
- this.doSearch(this.state.criteriaData);
114
- });
115
- }else{
116
- this.setState({
117
- selectedCode:code,
118
- showDtmplEdit:true,
119
- })
120
- }
121
- }
122
- doRAction = (ractionId:string,mainCode:string) => {
123
- this.setState({
124
- selectedCode:mainCode,
125
- showDraw:true,
126
- ractionId
127
- })
128
- }
129
- doCreate = (toCustomPage) => {
130
- const {doCreate}=this.props
131
- if(toCustomPage && doCreate){
132
- doCreate(()=>{
133
- this.doSearch(this.state.criteriaData);
134
- });
135
- }else{
136
- this.setState({
137
- selectedCode:null,
138
- showDtmplEdit:true,
139
- })
140
- }
141
- }
142
- closeDrawer=()=>{
143
- this.setState({
144
- showDraw:false,
145
- })
146
- }
147
-
148
- doSearch = (params_) => {
149
- const { sourceId,mainCode,collapsible} = this.props;
150
- let params = {...params_}
151
- //追加过滤条件,hiddenColIds,innerQueryKey
152
- if (mainCode) {
153
- params['mainCode'] = mainCode;
154
- }
155
- params['sourceId'] = sourceId;
156
- if(collapsible){
157
- this.setState({
158
- collapse:false,
159
- });
160
- }
161
- this.setState({
162
- criteriaData:this.toCriteriaData(params)
163
- });
164
- }
165
-
166
- handleDtmplEdit = (code: string) => {
167
- this.doSearch(this.state.criteriaData);
168
- this.setState({
169
- showDtmplEdit:false,
170
- })
171
- }
172
-
173
-
174
- render() {
175
- const {ltmplConfigRes,criteriaData,showDtmplView,selectedCode,showDtmplEdit,ractionId,showDraw,collapse} = this.state;
176
- const { sourceId,mainCode,showView,doSearch,doRAction,funcMode,title,collapsible,initCollapse} = this.props;
177
-
178
- if (!ltmplConfigRes) {
179
- return <></>;
180
- } else {
181
- const {buttons}=ltmplConfigRes.ltmplConfig
182
- return <>
183
- <ActTable collapsible={collapsible} initCollapse={initCollapse && collapse} title={title} funcMode={funcMode} mainCode={mainCode} showView={showView?showView:this.showView} doRAction={doRAction?doRAction:this.doRAction}
184
- doSearch={doSearch?doSearch:this.doSearch} doEdit={this.doEdit} doCreate={this.doCreate}
185
- sourceId={sourceId} criteriaData={criteriaData}
186
- ltmplConfig={ltmplConfigRes.ltmplConfig} />
187
- {buttons.includes('detail') ?
188
- <ModalDtmplView open={showDtmplView} onCancel={()=>{
189
- this.setState({
190
- showDtmplView:false,
191
- })}
192
- } mainCode={mainCode}
193
- sourceId={sourceId}
194
- code={selectedCode}> </ModalDtmplView> : ""}
195
- {buttons.includes('dtmplEdit') || buttons.includes('dtmplAdd') ?
196
- <DtmplEditPage open={showDtmplEdit} onCancel={()=>{
197
- this.setState({
198
- showDtmplEdit:false,
199
- })}}
200
- sourceId={sourceId}
201
- mainCode={mainCode}
202
- code={selectedCode}
203
- onOk={this.handleDtmplEdit} />
204
- : ""}
205
- <Drawer
206
- placement={'left'}
207
- title="关联查询"
208
- closable={true}
209
- mask={false}
210
- onClose={this.closeDrawer}
211
- open={showDraw}
212
- width={'calc(100% - 280px)'}
213
- style={{
214
- maxWidth: 1960,
215
- }}
216
- extra={
217
- <Space>
218
- <Button onClick={this.closeDrawer}>关闭</Button>
219
- </Space>
220
- }
221
- >
222
- {
223
- <LtmplPage sourceId={ractionId} mainCode={selectedCode}></LtmplPage>
224
- }
225
- </Drawer>
226
- </>
227
- }
228
-
229
- }
230
- }
231
-
232
- export default LtmplPage;
233
-