jrs-react 1.2.5 → 1.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.
- package/build/index.es.js +592 -23
- package/build/index.js +592 -23
- package/index.html +13 -0
- package/package.json +14 -3
- package/public/data.json +4 -2
- package/public/list.json +2 -0
- package/public/vite.svg +1 -0
- package/src/app/App.css +8 -0
- package/src/app/App.jsx +17 -0
- package/src/app/fields/FieldsApp.jsx +12 -0
- package/src/app/fields/fieldsConfig.jsx +137 -0
- package/src/app/index.css +42 -0
- package/src/app/table/TableApp.jsx +10 -0
- package/src/app/table/tableConfig.jsx +86 -0
- package/src/app/window/WindowApp.jsx +84 -0
- package/src/assets/react.svg +1 -0
- package/src/components/JRFields/JRFields.jsx +5 -6
- package/src/components/JRFields/StyleJRFields.jsx +2 -1
- package/src/components/JRFrame/JRFrame.jsx +9 -6
- package/src/components/JRInput/JRSelect.jsx +19 -0
- package/src/components/JRInput/JRText.jsx +1 -2
- package/src/components/JRSubmit.jsx +4 -3
- package/src/components/JRTable/JRTable.jsx +3 -2
- package/src/components/JRTable/Slider.jsx +1 -1
- package/src/components/JRTable/StyledJRTable.jsx +1 -2
- package/src/components/JRTable/TBodies.jsx +1 -1
- package/src/components/JRWindow/JRWindow.jsx +110 -0
- package/src/components/JRWindow/Slider.jsx +251 -0
- package/src/components/JRWindow/TitleBar.jsx +84 -0
- package/src/main.jsx +6 -0
- package/vite.config.js +7 -0
package/build/index.js
CHANGED
|
@@ -6298,6 +6298,8 @@ class JRSubmit extends React.Component {
|
|
|
6298
6298
|
}
|
|
6299
6299
|
setValue(value, reset = false) {
|
|
6300
6300
|
if (this.props.onChange) {
|
|
6301
|
+
po('name', this.props.name);
|
|
6302
|
+
po('onChange', value);
|
|
6301
6303
|
this.props.onChange(value);
|
|
6302
6304
|
} else {
|
|
6303
6305
|
this.setState({
|
|
@@ -6475,8 +6477,8 @@ class JRSubmit extends React.Component {
|
|
|
6475
6477
|
config.callback?.bind(this)(isSuccess, response, payload);
|
|
6476
6478
|
};
|
|
6477
6479
|
showMessage(success, message) {
|
|
6478
|
-
po('success',
|
|
6479
|
-
po('message',
|
|
6480
|
+
// po('success',success)
|
|
6481
|
+
// po('message',message)
|
|
6480
6482
|
}
|
|
6481
6483
|
renderer() {
|
|
6482
6484
|
return;
|
|
@@ -6504,6 +6506,10 @@ const FreeType$1 = ({
|
|
|
6504
6506
|
className: className,
|
|
6505
6507
|
style: style
|
|
6506
6508
|
}, content);
|
|
6509
|
+
} else if (typeof config === 'string') {
|
|
6510
|
+
return /*#__PURE__*/React.createElement(Tag, {
|
|
6511
|
+
className: className
|
|
6512
|
+
}, config);
|
|
6507
6513
|
}
|
|
6508
6514
|
};
|
|
6509
6515
|
const StyledJRFrame$1 = styled__default["default"].div`
|
|
@@ -6521,7 +6527,7 @@ const StyledJRFrame$1 = styled__default["default"].div`
|
|
|
6521
6527
|
flex-direction: column;
|
|
6522
6528
|
> *{
|
|
6523
6529
|
XXborder:1px solid gray;
|
|
6524
|
-
|
|
6530
|
+
XXmin-height:30px;
|
|
6525
6531
|
}
|
|
6526
6532
|
|
|
6527
6533
|
>header{
|
|
@@ -6560,7 +6566,7 @@ class JRFrame extends JRSubmit {
|
|
|
6560
6566
|
config: this.props.left,
|
|
6561
6567
|
me: this,
|
|
6562
6568
|
className: 'left'
|
|
6563
|
-
}), this.renderMe(), /*#__PURE__*/React.createElement(FreeType$1, {
|
|
6569
|
+
}), this.renderMe?.() ?? this.props.children, /*#__PURE__*/React.createElement(FreeType$1, {
|
|
6564
6570
|
tag: "div",
|
|
6565
6571
|
config: this.props.right,
|
|
6566
6572
|
me: this,
|
|
@@ -6576,16 +6582,12 @@ class JRFrame extends JRSubmit {
|
|
|
6576
6582
|
className: 'end'
|
|
6577
6583
|
}));
|
|
6578
6584
|
}
|
|
6579
|
-
renderMe()
|
|
6580
|
-
|
|
6581
|
-
|
|
6582
|
-
flex: 1
|
|
6583
|
-
}
|
|
6584
|
-
}, "Render me");
|
|
6585
|
-
}
|
|
6585
|
+
// renderMe(){
|
|
6586
|
+
// return <div style={{flex:1}}>Render me</div>
|
|
6587
|
+
// }
|
|
6586
6588
|
}
|
|
6587
6589
|
|
|
6588
|
-
const StyledSlider = styled__default["default"].div`
|
|
6590
|
+
const StyledSlider$1 = styled__default["default"].div`
|
|
6589
6591
|
position: absolute;
|
|
6590
6592
|
top: 0;
|
|
6591
6593
|
right: 0;
|
|
@@ -6600,7 +6602,7 @@ const StyledSlider = styled__default["default"].div`
|
|
|
6600
6602
|
border-right:1px dashed gray;
|
|
6601
6603
|
}
|
|
6602
6604
|
`;
|
|
6603
|
-
class Slider extends React.Component {
|
|
6605
|
+
class Slider$1 extends React.Component {
|
|
6604
6606
|
constructor() {
|
|
6605
6607
|
super();
|
|
6606
6608
|
this.sliderRef = /*#__PURE__*/React.createRef();
|
|
@@ -6652,7 +6654,7 @@ class Slider extends React.Component {
|
|
|
6652
6654
|
}
|
|
6653
6655
|
render() {
|
|
6654
6656
|
const column = this.props.column;
|
|
6655
|
-
return /*#__PURE__*/React.createElement(StyledSlider, {
|
|
6657
|
+
return /*#__PURE__*/React.createElement(StyledSlider$1, {
|
|
6656
6658
|
ref: this.sliderRef,
|
|
6657
6659
|
onMouseDown: e => {
|
|
6658
6660
|
this.start(this.props.thRef, column);
|
|
@@ -6694,7 +6696,7 @@ const Ths$1 = ({
|
|
|
6694
6696
|
ref: thRef,
|
|
6695
6697
|
colSpan: column.colSpan,
|
|
6696
6698
|
rowSpan: column.rowSpan ?? (column.isLeaf && deep > rowIndex ? deep - rowIndex + 1 : null)
|
|
6697
|
-
}, flexType(column.label, table), table.props.resizableColumns === true && /*#__PURE__*/React.createElement(Slider, {
|
|
6699
|
+
}, flexType(column.label, table), table.props.resizableColumns === true && /*#__PURE__*/React.createElement(Slider$1, {
|
|
6698
6700
|
table: table,
|
|
6699
6701
|
thRef: thRef,
|
|
6700
6702
|
column: column
|
|
@@ -7000,7 +7002,7 @@ const TBody = ({
|
|
|
7000
7002
|
}, groupData?.length > 0 && /*#__PURE__*/React.createElement(GroupHeader, _extends({
|
|
7001
7003
|
groupData: groupData,
|
|
7002
7004
|
columns: groupHeader
|
|
7003
|
-
}, neededProps)), groupData?.map((record, trIndex) => {
|
|
7005
|
+
}, neededProps)), groupData?.map?.((record, trIndex) => {
|
|
7004
7006
|
const onRowClick = table.props.onRowClick?.bind(table);
|
|
7005
7007
|
return /*#__PURE__*/React.createElement("tr", {
|
|
7006
7008
|
key: trIndex,
|
|
@@ -7094,8 +7096,7 @@ const StyledJRTable = styled__default["default"].div`
|
|
|
7094
7096
|
|
|
7095
7097
|
th{
|
|
7096
7098
|
position: relative;
|
|
7097
|
-
|
|
7098
|
-
padding: 4px;
|
|
7099
|
+
padding: 2px 6px;
|
|
7099
7100
|
background: linear-gradient(180deg, rgba(227, 227, 226, 1) 0%, rgba(255, 255, 255, 1) 25%, rgba(210, 210, 210, 1) 100%);
|
|
7100
7101
|
box-shadow: 2px 2px 2px 0 #ffffffd6 inset, -1px -1px 2px 0px #8a847dbf inset;
|
|
7101
7102
|
color: #525252;
|
|
@@ -7184,6 +7185,571 @@ const StyledJRTable = styled__default["default"].div`
|
|
|
7184
7185
|
}
|
|
7185
7186
|
`;
|
|
7186
7187
|
|
|
7188
|
+
const StyledTitle = styled__default["default"].div`
|
|
7189
|
+
overflow: hidden;
|
|
7190
|
+
display: flex;
|
|
7191
|
+
padding:2px 8px;
|
|
7192
|
+
border:1px solid black;
|
|
7193
|
+
background:rgb(214, 214, 214);
|
|
7194
|
+
color: black;
|
|
7195
|
+
&:active:hover{
|
|
7196
|
+
cursor: grabbing;
|
|
7197
|
+
}
|
|
7198
|
+
|
|
7199
|
+
-webkit-user-select: none;
|
|
7200
|
+
-khtml-user-select: none;
|
|
7201
|
+
-moz-user-select: none;
|
|
7202
|
+
-o-user-select: none;
|
|
7203
|
+
user-select: none;
|
|
7204
|
+
|
|
7205
|
+
> .title{
|
|
7206
|
+
flex: 1;
|
|
7207
|
+
}
|
|
7208
|
+
`;
|
|
7209
|
+
class TitleBar extends React.Component {
|
|
7210
|
+
pos1 = 0;
|
|
7211
|
+
pos2 = 0;
|
|
7212
|
+
pos3 = 0;
|
|
7213
|
+
pos4 = 0;
|
|
7214
|
+
x = 0;
|
|
7215
|
+
y = 0;
|
|
7216
|
+
move = e => {
|
|
7217
|
+
e.preventDefault();
|
|
7218
|
+
this.pos1 = this.pos3 - e.clientX;
|
|
7219
|
+
this.pos2 = this.pos4 - e.clientY;
|
|
7220
|
+
this.pos3 = e.clientX;
|
|
7221
|
+
this.pos4 = e.clientY;
|
|
7222
|
+
const w = this.props.windowRef.current;
|
|
7223
|
+
this.x = w.offsetLeft - this.pos1;
|
|
7224
|
+
this.y = w.offsetTop - this.pos2;
|
|
7225
|
+
w.style.top = this.y + 'px';
|
|
7226
|
+
w.style.left = this.x + 'px';
|
|
7227
|
+
};
|
|
7228
|
+
stop = e => {
|
|
7229
|
+
// const w= this.props.windowRef.current
|
|
7230
|
+
// if(this.y<1)this.props.windowRef.current.style.top = '1px'
|
|
7231
|
+
// if(this.y>window.innerHeight)this.props.windowRef.current.style.top = `${window.innerHeight-32}px`
|
|
7232
|
+
// if(this.x<1)this.props.windowRef.current.style.left = '1px'
|
|
7233
|
+
// if(this.x>window.innerWidth)this.props.windowRef.current.style.left = `${window.innerWidth-100}px`
|
|
7234
|
+
document.body.style.cursor = 'default';
|
|
7235
|
+
window.removeEventListener('mousemove', this.move);
|
|
7236
|
+
window.removeEventListener('mouseup', this.stop);
|
|
7237
|
+
};
|
|
7238
|
+
start(e) {
|
|
7239
|
+
e.preventDefault();
|
|
7240
|
+
this.pos3 = e.clientX;
|
|
7241
|
+
this.pos4 = e.clientY;
|
|
7242
|
+
document.body.style.cursor = 'grabbing';
|
|
7243
|
+
window.addEventListener('mousemove', this.move);
|
|
7244
|
+
window.addEventListener('mouseup', this.stop);
|
|
7245
|
+
}
|
|
7246
|
+
render() {
|
|
7247
|
+
return /*#__PURE__*/React.createElement(StyledTitle, {
|
|
7248
|
+
ref: this.props.titleBarRef,
|
|
7249
|
+
draggable: "false",
|
|
7250
|
+
onMouseDown: e => {
|
|
7251
|
+
this.start(e);
|
|
7252
|
+
}
|
|
7253
|
+
}, /*#__PURE__*/React.createElement(FreeType$1, {
|
|
7254
|
+
tag: "div",
|
|
7255
|
+
config: this.props.title ?? '',
|
|
7256
|
+
me: this.props.window,
|
|
7257
|
+
className: 'title'
|
|
7258
|
+
}), /*#__PURE__*/React.createElement("nav", null, /*#__PURE__*/React.createElement("button", null, "X")));
|
|
7259
|
+
}
|
|
7260
|
+
}
|
|
7261
|
+
|
|
7262
|
+
const StyledSlider = styled__default["default"].div`
|
|
7263
|
+
Xborder:1px solid ${({
|
|
7264
|
+
$direction: {
|
|
7265
|
+
color
|
|
7266
|
+
}
|
|
7267
|
+
}) => color};
|
|
7268
|
+
xbackground:${({
|
|
7269
|
+
$direction: {
|
|
7270
|
+
color
|
|
7271
|
+
}
|
|
7272
|
+
}) => color};
|
|
7273
|
+
position: absolute;
|
|
7274
|
+
top: ${({
|
|
7275
|
+
$direction: {
|
|
7276
|
+
top
|
|
7277
|
+
}
|
|
7278
|
+
}) => top};
|
|
7279
|
+
bottom: ${({
|
|
7280
|
+
$direction: {
|
|
7281
|
+
bottom
|
|
7282
|
+
}
|
|
7283
|
+
}) => bottom};
|
|
7284
|
+
right: ${({
|
|
7285
|
+
$direction: {
|
|
7286
|
+
right
|
|
7287
|
+
}
|
|
7288
|
+
}) => right};
|
|
7289
|
+
left: ${({
|
|
7290
|
+
$direction: {
|
|
7291
|
+
left
|
|
7292
|
+
}
|
|
7293
|
+
}) => left};
|
|
7294
|
+
height: ${({
|
|
7295
|
+
$direction: {
|
|
7296
|
+
height
|
|
7297
|
+
}
|
|
7298
|
+
}) => height};
|
|
7299
|
+
width: ${({
|
|
7300
|
+
$direction: {
|
|
7301
|
+
width
|
|
7302
|
+
}
|
|
7303
|
+
}) => width};
|
|
7304
|
+
cursor: ${({
|
|
7305
|
+
$direction: {
|
|
7306
|
+
cursor
|
|
7307
|
+
}
|
|
7308
|
+
}) => cursor};
|
|
7309
|
+
|
|
7310
|
+
-webkit-user-select: none;
|
|
7311
|
+
-khtml-user-select: none;
|
|
7312
|
+
-moz-user-select: none;
|
|
7313
|
+
-o-user-select: none;
|
|
7314
|
+
user-select: none;
|
|
7315
|
+
|
|
7316
|
+
`;
|
|
7317
|
+
class Slider extends React.Component {
|
|
7318
|
+
width = '3px';
|
|
7319
|
+
borderWidth = 'px';
|
|
7320
|
+
borderLong = '10px';
|
|
7321
|
+
constructor(props) {
|
|
7322
|
+
super(props);
|
|
7323
|
+
this.sliderRef = /*#__PURE__*/React.createRef();
|
|
7324
|
+
}
|
|
7325
|
+
directions = {
|
|
7326
|
+
n: {
|
|
7327
|
+
top: 0,
|
|
7328
|
+
color: 'red',
|
|
7329
|
+
width: '100%',
|
|
7330
|
+
height: `${this.props.thick}px`,
|
|
7331
|
+
cursor: 'n-resize',
|
|
7332
|
+
resize: props => {
|
|
7333
|
+
this.resizeN(props);
|
|
7334
|
+
}
|
|
7335
|
+
},
|
|
7336
|
+
e: {
|
|
7337
|
+
color: 'yellow',
|
|
7338
|
+
right: 0,
|
|
7339
|
+
width: `${this.props.thick}px`,
|
|
7340
|
+
height: '100%',
|
|
7341
|
+
cursor: 'e-resize',
|
|
7342
|
+
resize: props => {
|
|
7343
|
+
this.resizeE(props);
|
|
7344
|
+
}
|
|
7345
|
+
},
|
|
7346
|
+
s: {
|
|
7347
|
+
color: 'blue',
|
|
7348
|
+
bottom: 0,
|
|
7349
|
+
width: '100%',
|
|
7350
|
+
height: `${this.props.thick}px`,
|
|
7351
|
+
cursor: 's-resize',
|
|
7352
|
+
resize: props => {
|
|
7353
|
+
this.resizeS(props);
|
|
7354
|
+
}
|
|
7355
|
+
},
|
|
7356
|
+
w: {
|
|
7357
|
+
color: 'green',
|
|
7358
|
+
left: 0,
|
|
7359
|
+
width: `${this.props.thick}px`,
|
|
7360
|
+
height: '100%',
|
|
7361
|
+
cursor: 'w-resize',
|
|
7362
|
+
resize: props => {
|
|
7363
|
+
this.resizeW(props);
|
|
7364
|
+
}
|
|
7365
|
+
},
|
|
7366
|
+
nww: {
|
|
7367
|
+
top: 0,
|
|
7368
|
+
left: 0,
|
|
7369
|
+
color: 'blue',
|
|
7370
|
+
width: `${this.props.thick}px`,
|
|
7371
|
+
height: this.borderLong,
|
|
7372
|
+
cursor: 'nw-resize',
|
|
7373
|
+
resize: props => {
|
|
7374
|
+
this.resizeN(props);
|
|
7375
|
+
this.resizeW(props);
|
|
7376
|
+
}
|
|
7377
|
+
},
|
|
7378
|
+
nnw: {
|
|
7379
|
+
top: 0,
|
|
7380
|
+
left: 0,
|
|
7381
|
+
color: 'blue',
|
|
7382
|
+
width: this.borderLong,
|
|
7383
|
+
height: `${this.props.thick}px`,
|
|
7384
|
+
cursor: 'nw-resize',
|
|
7385
|
+
resize: props => {
|
|
7386
|
+
this.resizeN(props);
|
|
7387
|
+
this.resizeW(props);
|
|
7388
|
+
}
|
|
7389
|
+
},
|
|
7390
|
+
nne: {
|
|
7391
|
+
top: 0,
|
|
7392
|
+
right: 0,
|
|
7393
|
+
color: 'green',
|
|
7394
|
+
width: this.borderLong,
|
|
7395
|
+
height: `${this.props.thick}px`,
|
|
7396
|
+
cursor: 'ne-resize',
|
|
7397
|
+
resize: props => {
|
|
7398
|
+
this.resizeN(props);
|
|
7399
|
+
this.resizeE(props);
|
|
7400
|
+
}
|
|
7401
|
+
},
|
|
7402
|
+
nee: {
|
|
7403
|
+
top: 0,
|
|
7404
|
+
right: 0,
|
|
7405
|
+
color: 'green',
|
|
7406
|
+
width: `${this.props.thick}px`,
|
|
7407
|
+
height: this.borderLong,
|
|
7408
|
+
cursor: 'ne-resize',
|
|
7409
|
+
resize: props => {
|
|
7410
|
+
this.resizeN(props);
|
|
7411
|
+
this.resizeE(props);
|
|
7412
|
+
}
|
|
7413
|
+
},
|
|
7414
|
+
sse: {
|
|
7415
|
+
color: 'red',
|
|
7416
|
+
right: 0,
|
|
7417
|
+
bottom: 0,
|
|
7418
|
+
width: this.borderLong,
|
|
7419
|
+
height: `${this.props.thick}px`,
|
|
7420
|
+
cursor: 'se-resize',
|
|
7421
|
+
resize: props => {
|
|
7422
|
+
this.resizeS(props);
|
|
7423
|
+
this.resizeE(props);
|
|
7424
|
+
}
|
|
7425
|
+
},
|
|
7426
|
+
see: {
|
|
7427
|
+
color: 'red',
|
|
7428
|
+
right: 0,
|
|
7429
|
+
bottom: 0,
|
|
7430
|
+
width: `${this.props.thick}px`,
|
|
7431
|
+
height: this.borderLong,
|
|
7432
|
+
cursor: 'se-resize',
|
|
7433
|
+
resize: props => {
|
|
7434
|
+
this.resizeS(props);
|
|
7435
|
+
this.resizeE(props);
|
|
7436
|
+
}
|
|
7437
|
+
},
|
|
7438
|
+
ssw: {
|
|
7439
|
+
color: 'yellow',
|
|
7440
|
+
bottom: 0,
|
|
7441
|
+
left: 0,
|
|
7442
|
+
width: this.borderLong,
|
|
7443
|
+
height: `${this.props.thick}px`,
|
|
7444
|
+
cursor: 'sw-resize',
|
|
7445
|
+
resize: props => {
|
|
7446
|
+
this.resizeS(props);
|
|
7447
|
+
this.resizeW(props);
|
|
7448
|
+
}
|
|
7449
|
+
},
|
|
7450
|
+
sww: {
|
|
7451
|
+
color: 'yellow',
|
|
7452
|
+
bottom: 0,
|
|
7453
|
+
left: 0,
|
|
7454
|
+
width: `${this.props.thick}px`,
|
|
7455
|
+
height: this.borderLong,
|
|
7456
|
+
cursor: 'sw-resize',
|
|
7457
|
+
resize: props => {
|
|
7458
|
+
this.resizeS(props);
|
|
7459
|
+
this.resizeW(props);
|
|
7460
|
+
}
|
|
7461
|
+
}
|
|
7462
|
+
};
|
|
7463
|
+
stop = e => {
|
|
7464
|
+
document.body.style.cursor = 'default';
|
|
7465
|
+
window.removeEventListener('mousemove', this.move);
|
|
7466
|
+
window.removeEventListener('mouseup', this.stop);
|
|
7467
|
+
};
|
|
7468
|
+
resizeN = ({
|
|
7469
|
+
window,
|
|
7470
|
+
cursorY,
|
|
7471
|
+
startY,
|
|
7472
|
+
startHeight,
|
|
7473
|
+
titleBarHeight
|
|
7474
|
+
}) => {
|
|
7475
|
+
let y = cursorY - this.props.thick;
|
|
7476
|
+
if (y < 0) y = 0;
|
|
7477
|
+
let height = startHeight + (startY - y);
|
|
7478
|
+
if (height < titleBarHeight + this.props.thick * 2) {
|
|
7479
|
+
height = titleBarHeight + this.props.thick * 2;
|
|
7480
|
+
y = startY + startHeight - titleBarHeight - this.props.thick * 2;
|
|
7481
|
+
}
|
|
7482
|
+
window.style.top = `${y}px`;
|
|
7483
|
+
window.style.height = `${height}px`;
|
|
7484
|
+
};
|
|
7485
|
+
resizeE = ({
|
|
7486
|
+
window,
|
|
7487
|
+
clientX,
|
|
7488
|
+
left,
|
|
7489
|
+
titleBarHeight
|
|
7490
|
+
}) => {
|
|
7491
|
+
let width = clientX - left - this.props.thick;
|
|
7492
|
+
if (width < titleBarHeight) width = titleBarHeight;
|
|
7493
|
+
window.style.width = `${width + this.props.thick * 2}px`;
|
|
7494
|
+
};
|
|
7495
|
+
resizeS = ({
|
|
7496
|
+
window,
|
|
7497
|
+
clientY,
|
|
7498
|
+
top,
|
|
7499
|
+
titleBarHeight
|
|
7500
|
+
}) => {
|
|
7501
|
+
let height = clientY - top - this.props.thick;
|
|
7502
|
+
if (height < titleBarHeight) height = titleBarHeight;
|
|
7503
|
+
window.style.height = `${height + this.props.thick * 2}px`;
|
|
7504
|
+
};
|
|
7505
|
+
resizeW = ({
|
|
7506
|
+
window,
|
|
7507
|
+
cursorX,
|
|
7508
|
+
startX,
|
|
7509
|
+
startWidth,
|
|
7510
|
+
titleBarHeight
|
|
7511
|
+
}) => {
|
|
7512
|
+
let x = cursorX;
|
|
7513
|
+
if (x <= 1) x = 1;
|
|
7514
|
+
let width = startWidth + (startX - x);
|
|
7515
|
+
if (width < titleBarHeight + this.props.thick * 2) {
|
|
7516
|
+
width = titleBarHeight + this.props.thick * 2;
|
|
7517
|
+
x = startX + startWidth - titleBarHeight - this.props.thick * 2;
|
|
7518
|
+
}
|
|
7519
|
+
window.style.left = `${x}px`;
|
|
7520
|
+
window.style.width = `${width}px`;
|
|
7521
|
+
};
|
|
7522
|
+
move = e => {
|
|
7523
|
+
const {
|
|
7524
|
+
clientX,
|
|
7525
|
+
clientY,
|
|
7526
|
+
x: cursorX,
|
|
7527
|
+
y: cursorY
|
|
7528
|
+
} = e;
|
|
7529
|
+
const window = this.props.windowRef.current;
|
|
7530
|
+
const {
|
|
7531
|
+
left,
|
|
7532
|
+
top
|
|
7533
|
+
} = window.getBoundingClientRect();
|
|
7534
|
+
const {
|
|
7535
|
+
x: startX,
|
|
7536
|
+
width: startWidth,
|
|
7537
|
+
y: startY,
|
|
7538
|
+
height: startHeight,
|
|
7539
|
+
titleBarHeight
|
|
7540
|
+
} = this.data;
|
|
7541
|
+
this.directions[this.props.direction].resize({
|
|
7542
|
+
window,
|
|
7543
|
+
titleBarHeight,
|
|
7544
|
+
clientX,
|
|
7545
|
+
cursorX,
|
|
7546
|
+
startX,
|
|
7547
|
+
startWidth,
|
|
7548
|
+
left,
|
|
7549
|
+
clientY,
|
|
7550
|
+
cursorY,
|
|
7551
|
+
startY,
|
|
7552
|
+
startHeight,
|
|
7553
|
+
top
|
|
7554
|
+
});
|
|
7555
|
+
/////////////////////////////////////////////////////////////
|
|
7556
|
+
|
|
7557
|
+
/////////////////////////////////////////////////////////////
|
|
7558
|
+
};
|
|
7559
|
+
start = () => {
|
|
7560
|
+
const {
|
|
7561
|
+
height: titleBarHeight
|
|
7562
|
+
} = this.props.titleBarRef.current.getBoundingClientRect();
|
|
7563
|
+
const {
|
|
7564
|
+
x,
|
|
7565
|
+
y,
|
|
7566
|
+
width,
|
|
7567
|
+
height
|
|
7568
|
+
} = this.props.windowRef.current.getBoundingClientRect();
|
|
7569
|
+
this.data = {
|
|
7570
|
+
x,
|
|
7571
|
+
y,
|
|
7572
|
+
width,
|
|
7573
|
+
height,
|
|
7574
|
+
titleBarHeight
|
|
7575
|
+
};
|
|
7576
|
+
document.body.style.cursor = this.directions[this.props.direction].cursor;
|
|
7577
|
+
window.addEventListener('mousemove', this.move);
|
|
7578
|
+
window.addEventListener('mouseup', this.stop);
|
|
7579
|
+
};
|
|
7580
|
+
render() {
|
|
7581
|
+
return /*#__PURE__*/React.createElement(StyledSlider, {
|
|
7582
|
+
$direction: this.directions[this.props.direction],
|
|
7583
|
+
$padding: this.props.padding,
|
|
7584
|
+
onMouseDown: this.start
|
|
7585
|
+
});
|
|
7586
|
+
}
|
|
7587
|
+
}
|
|
7588
|
+
|
|
7589
|
+
const StyledJRWindow = styled__default["default"].div`
|
|
7590
|
+
--padding-child:8px;
|
|
7591
|
+
xborder:1px solid gray;
|
|
7592
|
+
position: absolute;
|
|
7593
|
+
padding: ${({
|
|
7594
|
+
$thick
|
|
7595
|
+
}) => $thick}px;
|
|
7596
|
+
|
|
7597
|
+
top: ${({
|
|
7598
|
+
$y
|
|
7599
|
+
}) => $y}px;
|
|
7600
|
+
left: ${({
|
|
7601
|
+
$x
|
|
7602
|
+
}) => $x}px;
|
|
7603
|
+
width: ${({
|
|
7604
|
+
$width = 300
|
|
7605
|
+
}) => `${$width}px`};
|
|
7606
|
+
height: ${({
|
|
7607
|
+
$height = 300
|
|
7608
|
+
}) => `${$height}px`};
|
|
7609
|
+
overflow: hidden;
|
|
7610
|
+
|
|
7611
|
+
display: flex;
|
|
7612
|
+
flex-direction: column;
|
|
7613
|
+
overflow: hidden;
|
|
7614
|
+
|
|
7615
|
+
> main{
|
|
7616
|
+
box-shadow: 0px 0px 5px 1px gray;
|
|
7617
|
+
Xbackground: white;
|
|
7618
|
+
display: flex;
|
|
7619
|
+
flex-direction: column;
|
|
7620
|
+
overflow: hidden;
|
|
7621
|
+
flex:1;
|
|
7622
|
+
> main {
|
|
7623
|
+
background: white;
|
|
7624
|
+
Xpadding:var(--padding-child);
|
|
7625
|
+
overflow: overlay;
|
|
7626
|
+
flex:1;
|
|
7627
|
+
display: flex;
|
|
7628
|
+
}
|
|
7629
|
+
}
|
|
7630
|
+
`;
|
|
7631
|
+
class JRWindow extends JRFrame {
|
|
7632
|
+
x = 0;
|
|
7633
|
+
y = 0;
|
|
7634
|
+
width = 300;
|
|
7635
|
+
height = 300;
|
|
7636
|
+
padding = 5;
|
|
7637
|
+
thick = 3;
|
|
7638
|
+
constructor(props) {
|
|
7639
|
+
super(props);
|
|
7640
|
+
this.ref = /*#__PURE__*/React.createRef();
|
|
7641
|
+
this.titleBarRef = /*#__PURE__*/React.createRef();
|
|
7642
|
+
if (this.props.popup === true) this.renderer = this.renderWindow;
|
|
7643
|
+
this.init();
|
|
7644
|
+
}
|
|
7645
|
+
init() {
|
|
7646
|
+
this.height = window.innerHeight >= this.props.height ? this.props.height : window.innerHeight;
|
|
7647
|
+
this.width = window.innerWidth >= this.props.width ? this.props.width : window.innerWidth;
|
|
7648
|
+
this.x = this.props.x ?? (window.innerWidth - (this.width ?? 300)) / 2;
|
|
7649
|
+
this.y = this.props.y ?? (window.innerHeight - (this.height ?? 300)) / 2;
|
|
7650
|
+
}
|
|
7651
|
+
componentWillMount() {}
|
|
7652
|
+
// renderer(){
|
|
7653
|
+
// return this.props.popup===true
|
|
7654
|
+
// ?<StyledJRWindow>
|
|
7655
|
+
// {super.renderer()}
|
|
7656
|
+
// </StyledJRWindow>
|
|
7657
|
+
// :super.renderer()
|
|
7658
|
+
// }
|
|
7659
|
+
renderWindow() {
|
|
7660
|
+
return /*#__PURE__*/React.createElement(StyledJRWindow, {
|
|
7661
|
+
ref: this.ref,
|
|
7662
|
+
className: `jr-window ${this.props.className ?? ''}`,
|
|
7663
|
+
$x: this.x,
|
|
7664
|
+
$y: this.y,
|
|
7665
|
+
$width: this.width,
|
|
7666
|
+
$height: this.height,
|
|
7667
|
+
$thick: this.thick
|
|
7668
|
+
// onMouseDown={()=>{
|
|
7669
|
+
// po('onFocus')
|
|
7670
|
+
// this.ref.current.style.zIndex=100
|
|
7671
|
+
// }}
|
|
7672
|
+
}, /*#__PURE__*/React.createElement("main", null, /*#__PURE__*/React.createElement(TitleBar, {
|
|
7673
|
+
titleBarRef: this.titleBarRef,
|
|
7674
|
+
windowRef: this.ref,
|
|
7675
|
+
window: this,
|
|
7676
|
+
title: this.props.title
|
|
7677
|
+
}), /*#__PURE__*/React.createElement("main", null, super.renderer())), /*#__PURE__*/React.createElement(Slider, {
|
|
7678
|
+
direction: 'n',
|
|
7679
|
+
thick: this.thick,
|
|
7680
|
+
windowRef: this.ref,
|
|
7681
|
+
window: this,
|
|
7682
|
+
titleBarRef: this.titleBarRef
|
|
7683
|
+
}), /*#__PURE__*/React.createElement(Slider, {
|
|
7684
|
+
direction: 'e',
|
|
7685
|
+
thick: this.thick,
|
|
7686
|
+
windowRef: this.ref,
|
|
7687
|
+
window: this,
|
|
7688
|
+
titleBarRef: this.titleBarRef
|
|
7689
|
+
}), /*#__PURE__*/React.createElement(Slider, {
|
|
7690
|
+
direction: 's',
|
|
7691
|
+
thick: this.thick,
|
|
7692
|
+
windowRef: this.ref,
|
|
7693
|
+
window: this,
|
|
7694
|
+
titleBarRef: this.titleBarRef
|
|
7695
|
+
}), /*#__PURE__*/React.createElement(Slider, {
|
|
7696
|
+
direction: 'w',
|
|
7697
|
+
thick: this.thick,
|
|
7698
|
+
windowRef: this.ref,
|
|
7699
|
+
window: this,
|
|
7700
|
+
titleBarRef: this.titleBarRef
|
|
7701
|
+
}), /*#__PURE__*/React.createElement(Slider, {
|
|
7702
|
+
direction: 'nww',
|
|
7703
|
+
thick: this.thick,
|
|
7704
|
+
windowRef: this.ref,
|
|
7705
|
+
window: this,
|
|
7706
|
+
titleBarRef: this.titleBarRef
|
|
7707
|
+
}), /*#__PURE__*/React.createElement(Slider, {
|
|
7708
|
+
direction: 'nnw',
|
|
7709
|
+
thick: this.thick,
|
|
7710
|
+
windowRef: this.ref,
|
|
7711
|
+
window: this,
|
|
7712
|
+
titleBarRef: this.titleBarRef
|
|
7713
|
+
}), /*#__PURE__*/React.createElement(Slider, {
|
|
7714
|
+
direction: 'nne',
|
|
7715
|
+
thick: this.thick,
|
|
7716
|
+
windowRef: this.ref,
|
|
7717
|
+
window: this,
|
|
7718
|
+
titleBarRef: this.titleBarRef
|
|
7719
|
+
}), /*#__PURE__*/React.createElement(Slider, {
|
|
7720
|
+
direction: 'nee',
|
|
7721
|
+
thick: this.thick,
|
|
7722
|
+
windowRef: this.ref,
|
|
7723
|
+
window: this,
|
|
7724
|
+
titleBarRef: this.titleBarRef
|
|
7725
|
+
}), /*#__PURE__*/React.createElement(Slider, {
|
|
7726
|
+
direction: 'sse',
|
|
7727
|
+
thick: this.thick,
|
|
7728
|
+
windowRef: this.ref,
|
|
7729
|
+
window: this,
|
|
7730
|
+
titleBarRef: this.titleBarRef
|
|
7731
|
+
}), /*#__PURE__*/React.createElement(Slider, {
|
|
7732
|
+
direction: 'see',
|
|
7733
|
+
thick: this.thick,
|
|
7734
|
+
windowRef: this.ref,
|
|
7735
|
+
window: this,
|
|
7736
|
+
titleBarRef: this.titleBarRef
|
|
7737
|
+
}), /*#__PURE__*/React.createElement(Slider, {
|
|
7738
|
+
direction: 'sww',
|
|
7739
|
+
thick: this.thick,
|
|
7740
|
+
windowRef: this.ref,
|
|
7741
|
+
window: this,
|
|
7742
|
+
titleBarRef: this.titleBarRef
|
|
7743
|
+
}), /*#__PURE__*/React.createElement(Slider, {
|
|
7744
|
+
direction: 'ssw',
|
|
7745
|
+
thick: this.thick,
|
|
7746
|
+
windowRef: this.ref,
|
|
7747
|
+
window: this,
|
|
7748
|
+
titleBarRef: this.titleBarRef
|
|
7749
|
+
}));
|
|
7750
|
+
}
|
|
7751
|
+
}
|
|
7752
|
+
|
|
7187
7753
|
const getMapObject = (map, names) => {
|
|
7188
7754
|
const name = names.shift(names);
|
|
7189
7755
|
if (names.length) {
|
|
@@ -7203,13 +7769,13 @@ const setMapObject = (map, names, value) => {
|
|
|
7203
7769
|
map[name] = value;
|
|
7204
7770
|
}
|
|
7205
7771
|
};
|
|
7206
|
-
class JRTable extends
|
|
7772
|
+
class JRTable extends JRWindow {
|
|
7207
7773
|
constructor(props) {
|
|
7208
7774
|
super(props);
|
|
7209
7775
|
this.colGroupRef = /*#__PURE__*/React.createRef();
|
|
7210
7776
|
}
|
|
7211
7777
|
UNSAFE_componentWillMount() {
|
|
7212
|
-
this.setColumns(this.props.columns);
|
|
7778
|
+
this.setColumns(this.props.columns ?? []);
|
|
7213
7779
|
}
|
|
7214
7780
|
|
|
7215
7781
|
//------------------------------------------------------------------------------------
|
|
@@ -7427,7 +7993,8 @@ const StyleJRFields = styled__default["default"].main`
|
|
|
7427
7993
|
flex-direction: column;
|
|
7428
7994
|
flex:1;
|
|
7429
7995
|
overflow: overlay;
|
|
7430
|
-
|
|
7996
|
+
padding: 10px;
|
|
7997
|
+
|
|
7431
7998
|
color:#525252;
|
|
7432
7999
|
|
|
7433
8000
|
>.jr-grid{
|
|
@@ -7490,7 +8057,7 @@ const StyledColumn = styled__default["default"].div`
|
|
|
7490
8057
|
}
|
|
7491
8058
|
}}
|
|
7492
8059
|
`;
|
|
7493
|
-
const StyledColumnLabel = styled__default["default"].
|
|
8060
|
+
const StyledColumnLabel = styled__default["default"].div`
|
|
7494
8061
|
${({
|
|
7495
8062
|
$layout
|
|
7496
8063
|
}) => {
|
|
@@ -7601,7 +8168,7 @@ function requiredValidator({
|
|
|
7601
8168
|
};
|
|
7602
8169
|
}
|
|
7603
8170
|
}
|
|
7604
|
-
class JRFields extends
|
|
8171
|
+
class JRFields extends JRWindow {
|
|
7605
8172
|
UNSAFE_componentWillMount() {
|
|
7606
8173
|
this.#initValidateValue();
|
|
7607
8174
|
}
|
|
@@ -7796,6 +8363,7 @@ class JRFields extends JRFrame {
|
|
|
7796
8363
|
}) : typeof value === 'object' ? JSON.stringify(value) : value);
|
|
7797
8364
|
}
|
|
7798
8365
|
const layout = column.labelProps?.layout === undefined ? this.props.labelProps?.layout : column.labelProps?.layout;
|
|
8366
|
+
const labelStyle = column.labelProps?.style ?? this.props.labelProps?.style ?? {};
|
|
7799
8367
|
return /*#__PURE__*/React.createElement(StyledColumn, {
|
|
7800
8368
|
$layout: layout,
|
|
7801
8369
|
$hasLabel: label != null,
|
|
@@ -7805,6 +8373,7 @@ class JRFields extends JRFrame {
|
|
|
7805
8373
|
$labelWidth: column.labelProps?.width ?? this.props.labelProps?.width ?? '120px',
|
|
7806
8374
|
$valueWidth: column.valueProps?.width ?? this.props.valueProps?.width ?? '1fr'
|
|
7807
8375
|
}, label != null && /*#__PURE__*/React.createElement(StyledColumnLabel, {
|
|
8376
|
+
style: labelStyle,
|
|
7808
8377
|
$required: required,
|
|
7809
8378
|
className: 'label',
|
|
7810
8379
|
$layout: layout,
|