wargerm 0.4.8 → 0.4.11

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.
@@ -1,12 +1,22 @@
1
- import { FC } from 'react';
1
+ import React from 'react';
2
2
  import { ReactNode } from 'react';
3
+ interface IsliderTabs {
4
+ tabs: Array<string>;
5
+ direction: 'left' | 'right';
6
+ defaultValue?: number;
7
+ className?: string;
8
+ tabClassName?: string;
9
+ activeTabClassName?: string;
10
+ components: Array<ReactNode>;
11
+ }
3
12
  declare type Props = {
4
13
  title: ReactNode;
5
14
  className: string;
6
15
  headerTail?: ReactNode;
7
16
  headerCenter?: ReactNode;
8
17
  children?: ReactNode;
18
+ sliderTabs?: IsliderTabs;
9
19
  style?: Record<string, string>;
10
20
  };
11
- declare const Index: FC<Props>;
12
- export default Index;
21
+ declare const _default: React.ForwardRefExoticComponent<Props & React.RefAttributes<any>>;
22
+ export default _default;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ declare type propsType = {
3
+ footer?: boolean;
4
+ style?: {
5
+ height: number | string;
6
+ width: number | string;
7
+ };
8
+ config?: Object;
9
+ url?: string[];
10
+ };
11
+ export default function VideoPlayer({ footer, style, config, url, }: propsType): JSX.Element;
12
+ export {};
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export default function Xgplay({ config, type }: any): JSX.Element;
package/dist/index.css CHANGED
@@ -6,15 +6,18 @@
6
6
  ::-webkit-scrollbar {
7
7
  width: 6px;
8
8
  height: 6px;
9
+ cursor: pointer;
9
10
  }
10
11
  ::-webkit-scrollbar-track {
11
- background: hsla(0, 0%, 100%, 0.1);
12
- -webkit-box-shadow: inset006pxrgba(255, 0, 0, 0.3);
12
+ cursor: pointer;
13
+ background: rgba(0, 0, 0, 0.2);
14
+ -webkit-box-shadow: inset 0 0 5px rgba(36, 36, 36, 0.1);
13
15
  }
14
16
  ::-webkit-scrollbar-thumb {
15
- background: rgba(0, 0, 0, 0.2);
17
+ cursor: pointer;
18
+ background: hsla(0, 0%, 100%, 0.1);
16
19
  border-radius: 4px;
17
- -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5);
20
+ -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
18
21
  }
19
22
  ::-webkit-scrollbar-thumb:window-inactive {
20
23
  background: rgba(0, 0, 0, 0.2);
@@ -233,7 +236,6 @@
233
236
  background-color: transparent;
234
237
  }
235
238
  [data-prefers-color='dark'] .w-frame-box-table.container .theader .th {
236
- background-color: #192335;
237
239
  border-top: 1px solid rgba(118, 214, 255, 0.4);
238
240
  border-bottom: 1px solid rgba(118, 214, 255, 0.4);
239
241
  border-radius: 0px;
@@ -266,26 +268,10 @@
266
268
  }
267
269
  [data-prefers-color='dark'] .th .fixedLeft.td,
268
270
  [data-prefers-color='dark'] .th .fixedRight.td {
269
- background: #192235;
270
- transition: all 0.3s;
271
- }
272
- [data-prefers-color='dark'] .tr .fixedLeft,
273
- [data-prefers-color='dark'] .tr .fixedRight {
274
- position: -webkit-sticky !important;
275
- position: sticky !important;
276
- z-index: 3 !important;
277
- }
278
- [data-prefers-color='dark'] .tr .fixedLeft.td,
279
- [data-prefers-color='dark'] .tr .fixedRight.td {
280
- background: #233b62;
271
+ background-color: #192547;
281
272
  transition: all 0.3s;
282
273
  }
283
- [data-prefers-color='dark'] .fixedRight {
284
- position: -webkit-sticky !important;
285
- position: sticky !important;
286
- z-index: 3 !important;
287
- }
288
- [data-prefers-color='dark'] .fixedRight.td:after {
274
+ [data-prefers-color='dark'] .th .fixedRight:first-child:after {
289
275
  box-shadow: inset -10px 0 8px -8px #00000026;
290
276
  position: absolute;
291
277
  top: 0;
@@ -297,8 +283,7 @@
297
283
  content: '';
298
284
  pointer-events: none;
299
285
  }
300
- [data-prefers-color='dark'] .fixedLeft .th.td:after,
301
- [data-prefers-color='dark'] .fixedLeft .tr.td:after {
286
+ [data-prefers-color='dark'] .th .fixedLeft:last-child:after {
302
287
  box-shadow: inset -10px 0 8px -8px #00000026;
303
288
  position: absolute;
304
289
  top: 0;
@@ -310,6 +295,20 @@
310
295
  content: '';
311
296
  pointer-events: none;
312
297
  }
298
+ [data-prefers-color='dark'] .tr .fixedLeft,
299
+ [data-prefers-color='dark'] .tr .fixedRight {
300
+ position: -webkit-sticky !important;
301
+ position: sticky !important;
302
+ z-index: 3 !important;
303
+ }
304
+ [data-prefers-color='dark'] .tr .fixedLeft.td,
305
+ [data-prefers-color='dark'] .tr .fixedRight.td {
306
+ background: #233b62;
307
+ transition: all 0.3s;
308
+ }
309
+ [data-prefers-color='dark'] .th .fixedRight:nth-of-type(1) {
310
+ background: red !important;
311
+ }
313
312
  [data-prefers-color='dark'] .ant-select:not(.ant-select-customize-input) .ant-select-selector {
314
313
  background-color: transparent;
315
314
  color: #4383a4;
@@ -654,7 +653,7 @@
654
653
  }
655
654
  [data-prefers-color='dark'] .autoScroll-outer {
656
655
  overflow: auto;
657
- height: 100px;
656
+ min-height: 100px;
658
657
  }
659
658
  @font-face {
660
659
  font-family: 'swiper-icons';
@@ -1059,6 +1058,45 @@ button[data-prefers-color='dark'] .swiper-pagination-bullet {
1059
1058
  transform: translate(-124px, -63px);
1060
1059
  padding: 12px 6px;
1061
1060
  }
1061
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs {
1062
+ position: absolute;
1063
+ }
1064
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs.left {
1065
+ right: -22px;
1066
+ top: 80px;
1067
+ }
1068
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs.right {
1069
+ left: -22px;
1070
+ top: 80px;
1071
+ }
1072
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs.right .tab::before {
1073
+ transform: skewy(-45deg);
1074
+ }
1075
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs .tab {
1076
+ -ms-writing-mode: tb-lr;
1077
+ writing-mode: vertical-lr;
1078
+ position: relative;
1079
+ margin-bottom: 2px;
1080
+ cursor: pointer;
1081
+ padding: 10px 2px;
1082
+ }
1083
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs .tab::before {
1084
+ content: '';
1085
+ position: absolute;
1086
+ width: 100%;
1087
+ height: 100%;
1088
+ transform: skewy(45deg);
1089
+ left: 0;
1090
+ top: 0;
1091
+ background: rgba(81, 190, 246, 0.28);
1092
+ border: 2px solid #51bef6;
1093
+ transition: background 0.3s ease;
1094
+ z-index: -1;
1095
+ }
1096
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs .tab.active::before {
1097
+ background: #51bef6;
1098
+ border: none;
1099
+ }
1062
1100
  [data-prefers-color='dark'] .card-container .container-in::before {
1063
1101
  content: '';
1064
1102
  position: absolute;
@@ -1316,6 +1354,61 @@ button[data-prefers-color='dark'] .swiper-pagination-bullet {
1316
1354
  [data-prefers-color='dark'] .ant-modal-confirm-btns {
1317
1355
  display: flex;
1318
1356
  }
1357
+ [data-prefers-color='dark'] .empty {
1358
+ background: #16191e;
1359
+ width: 100%;
1360
+ height: 100%;
1361
+ position: relative;
1362
+ }
1363
+ [data-prefers-color='dark'] .empty .none {
1364
+ width: 100%;
1365
+ height: 100%;
1366
+ position: absolute;
1367
+ top: 50%;
1368
+ left: 50%;
1369
+ transform: translate(-50%, -50%);
1370
+ -webkit-user-select: none;
1371
+ -moz-user-select: none;
1372
+ -ms-user-select: none;
1373
+ user-select: none;
1374
+ }
1375
+ [data-prefers-color='dark'] .row {
1376
+ height: calc(100% -30px);
1377
+ }
1378
+ [data-prefers-color='dark'] .camera {
1379
+ border: 1px solid #216fa3;
1380
+ }
1381
+ [data-prefers-color='dark'] .camera:hover {
1382
+ border: 1px solid red;
1383
+ }
1384
+ [data-prefers-color='dark'] .xgplayer-live {
1385
+ display: none !important;
1386
+ }
1387
+ [data-prefers-color='dark'] .xgplayer-fullscreen {
1388
+ display: none !important;
1389
+ }
1390
+ [data-prefers-color='dark'] .tools {
1391
+ background: #484d53;
1392
+ height: 30px;
1393
+ width: 100%;
1394
+ display: flex;
1395
+ justify-content: flex-end;
1396
+ }
1397
+ [data-prefers-color='dark'] .btnbox {
1398
+ background: #333333;
1399
+ border-radius: 5px;
1400
+ color: #fff;
1401
+ margin: 1px 5px;
1402
+ width: 26px;
1403
+ height: 26px;
1404
+ font-size: 18px;
1405
+ line-height: 26px;
1406
+ cursor: pointer;
1407
+ text-align: center;
1408
+ }
1409
+ [data-prefers-color='dark'] .btnbox:hover {
1410
+ background: #0f6ab7;
1411
+ }
1319
1412
 
1320
1413
  /* Color
1321
1414
  ----------------------- */
@@ -1783,7 +1876,7 @@ button[data-prefers-color='dark'] .swiper-pagination-bullet {
1783
1876
  }
1784
1877
  [data-prefers-color='light'] .autoScroll-outer {
1785
1878
  overflow: auto;
1786
- height: 100px;
1879
+ min-height: 100px;
1787
1880
  }
1788
1881
  @font-face {
1789
1882
  font-family: 'swiper-icons';
@@ -2633,6 +2726,61 @@ button[data-prefers-color='light'] .swiper-pagination-bullet {
2633
2726
  [data-prefers-color='light'] .ant-input-number-handler-down-inner {
2634
2727
  color: #708191;
2635
2728
  }
2729
+ [data-prefers-color='light'] .empty {
2730
+ background: #16191e;
2731
+ width: 100%;
2732
+ height: 100%;
2733
+ position: relative;
2734
+ }
2735
+ [data-prefers-color='light'] .empty .none {
2736
+ width: 100%;
2737
+ height: 100%;
2738
+ position: absolute;
2739
+ top: 50%;
2740
+ left: 50%;
2741
+ transform: translate(-50%, -50%);
2742
+ -webkit-user-select: none;
2743
+ -moz-user-select: none;
2744
+ -ms-user-select: none;
2745
+ user-select: none;
2746
+ }
2747
+ [data-prefers-color='light'] .row {
2748
+ height: calc(100% -30px);
2749
+ }
2750
+ [data-prefers-color='light'] .camera {
2751
+ border: 1px solid #216fa3;
2752
+ }
2753
+ [data-prefers-color='light'] .camera:hover {
2754
+ border: 1px solid red;
2755
+ }
2756
+ [data-prefers-color='light'] .xgplayer-live {
2757
+ display: none !important;
2758
+ }
2759
+ [data-prefers-color='light'] .xgplayer-fullscreen {
2760
+ display: none !important;
2761
+ }
2762
+ [data-prefers-color='light'] .tools {
2763
+ background: #484d53;
2764
+ height: 30px;
2765
+ width: 100%;
2766
+ display: flex;
2767
+ justify-content: flex-end;
2768
+ }
2769
+ [data-prefers-color='light'] .btnbox {
2770
+ background: #333333;
2771
+ border-radius: 5px;
2772
+ color: #fff;
2773
+ margin: 1px 5px;
2774
+ width: 26px;
2775
+ height: 26px;
2776
+ font-size: 18px;
2777
+ line-height: 26px;
2778
+ cursor: pointer;
2779
+ text-align: center;
2780
+ }
2781
+ [data-prefers-color='light'] .btnbox:hover {
2782
+ background: #0f6ab7;
2783
+ }
2636
2784
 
2637
2785
  .frame {
2638
2786
  width: 40px;
package/dist/index.d.ts CHANGED
@@ -26,3 +26,4 @@ export { default as ModalForm } from './components/ModalForm';
26
26
  export { default as TabelCard } from './components/TabelCard';
27
27
  export { default as Cascader } from './components/Cascader';
28
28
  export { default as WebsocketHeart } from './components/WebsocketHeart';
29
+ export { default as VideoPlayer } from './components/VideoPlayer';
@@ -6,15 +6,18 @@
6
6
  ::-webkit-scrollbar {
7
7
  width: 6px;
8
8
  height: 6px;
9
+ cursor: pointer;
9
10
  }
10
11
  ::-webkit-scrollbar-track {
11
- background: hsla(0, 0%, 100%, 0.1);
12
- -webkit-box-shadow: inset006pxrgba(255, 0, 0, 0.3);
12
+ cursor: pointer;
13
+ background: rgba(0, 0, 0, 0.2);
14
+ -webkit-box-shadow: inset 0 0 5px rgba(36, 36, 36, 0.1);
13
15
  }
14
16
  ::-webkit-scrollbar-thumb {
15
- background: rgba(0, 0, 0, 0.2);
17
+ cursor: pointer;
18
+ background: hsla(0, 0%, 100%, 0.1);
16
19
  border-radius: 4px;
17
- -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5);
20
+ -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
18
21
  }
19
22
  ::-webkit-scrollbar-thumb:window-inactive {
20
23
  background: rgba(0, 0, 0, 0.2);
@@ -233,7 +236,6 @@
233
236
  background-color: transparent;
234
237
  }
235
238
  [data-prefers-color='dark'] .w-frame-box-table.container .theader .th {
236
- background-color: #192335;
237
239
  border-top: 1px solid rgba(118, 214, 255, 0.4);
238
240
  border-bottom: 1px solid rgba(118, 214, 255, 0.4);
239
241
  border-radius: 0px;
@@ -266,26 +268,10 @@
266
268
  }
267
269
  [data-prefers-color='dark'] .th .fixedLeft.td,
268
270
  [data-prefers-color='dark'] .th .fixedRight.td {
269
- background: #192235;
270
- transition: all 0.3s;
271
- }
272
- [data-prefers-color='dark'] .tr .fixedLeft,
273
- [data-prefers-color='dark'] .tr .fixedRight {
274
- position: -webkit-sticky !important;
275
- position: sticky !important;
276
- z-index: 3 !important;
277
- }
278
- [data-prefers-color='dark'] .tr .fixedLeft.td,
279
- [data-prefers-color='dark'] .tr .fixedRight.td {
280
- background: #233b62;
271
+ background-color: #192547;
281
272
  transition: all 0.3s;
282
273
  }
283
- [data-prefers-color='dark'] .fixedRight {
284
- position: -webkit-sticky !important;
285
- position: sticky !important;
286
- z-index: 3 !important;
287
- }
288
- [data-prefers-color='dark'] .fixedRight.td:after {
274
+ [data-prefers-color='dark'] .th .fixedRight:first-child:after {
289
275
  box-shadow: inset -10px 0 8px -8px #00000026;
290
276
  position: absolute;
291
277
  top: 0;
@@ -297,8 +283,7 @@
297
283
  content: '';
298
284
  pointer-events: none;
299
285
  }
300
- [data-prefers-color='dark'] .fixedLeft .th.td:after,
301
- [data-prefers-color='dark'] .fixedLeft .tr.td:after {
286
+ [data-prefers-color='dark'] .th .fixedLeft:last-child:after {
302
287
  box-shadow: inset -10px 0 8px -8px #00000026;
303
288
  position: absolute;
304
289
  top: 0;
@@ -310,6 +295,20 @@
310
295
  content: '';
311
296
  pointer-events: none;
312
297
  }
298
+ [data-prefers-color='dark'] .tr .fixedLeft,
299
+ [data-prefers-color='dark'] .tr .fixedRight {
300
+ position: -webkit-sticky !important;
301
+ position: sticky !important;
302
+ z-index: 3 !important;
303
+ }
304
+ [data-prefers-color='dark'] .tr .fixedLeft.td,
305
+ [data-prefers-color='dark'] .tr .fixedRight.td {
306
+ background: #233b62;
307
+ transition: all 0.3s;
308
+ }
309
+ [data-prefers-color='dark'] .th .fixedRight:nth-of-type(1) {
310
+ background: red !important;
311
+ }
313
312
  [data-prefers-color='dark'] .ant-select:not(.ant-select-customize-input) .ant-select-selector {
314
313
  background-color: transparent;
315
314
  color: #4383a4;
@@ -654,7 +653,7 @@
654
653
  }
655
654
  [data-prefers-color='dark'] .autoScroll-outer {
656
655
  overflow: auto;
657
- height: 100px;
656
+ min-height: 100px;
658
657
  }
659
658
  @font-face {
660
659
  font-family: 'swiper-icons';
@@ -1059,6 +1058,45 @@ button[data-prefers-color='dark'] .swiper-pagination-bullet {
1059
1058
  transform: translate(-124px, -63px);
1060
1059
  padding: 12px 6px;
1061
1060
  }
1061
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs {
1062
+ position: absolute;
1063
+ }
1064
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs.left {
1065
+ right: -22px;
1066
+ top: 80px;
1067
+ }
1068
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs.right {
1069
+ left: -22px;
1070
+ top: 80px;
1071
+ }
1072
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs.right .tab::before {
1073
+ transform: skewy(-45deg);
1074
+ }
1075
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs .tab {
1076
+ -ms-writing-mode: tb-lr;
1077
+ writing-mode: vertical-lr;
1078
+ position: relative;
1079
+ margin-bottom: 2px;
1080
+ cursor: pointer;
1081
+ padding: 10px 2px;
1082
+ }
1083
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs .tab::before {
1084
+ content: '';
1085
+ position: absolute;
1086
+ width: 100%;
1087
+ height: 100%;
1088
+ transform: skewy(45deg);
1089
+ left: 0;
1090
+ top: 0;
1091
+ background: rgba(81, 190, 246, 0.28);
1092
+ border: 2px solid #51bef6;
1093
+ transition: background 0.3s ease;
1094
+ z-index: -1;
1095
+ }
1096
+ [data-prefers-color='dark'] .card-container .container-in .sliderTabs .tab.active::before {
1097
+ background: #51bef6;
1098
+ border: none;
1099
+ }
1062
1100
  [data-prefers-color='dark'] .card-container .container-in::before {
1063
1101
  content: '';
1064
1102
  position: absolute;
@@ -1316,6 +1354,61 @@ button[data-prefers-color='dark'] .swiper-pagination-bullet {
1316
1354
  [data-prefers-color='dark'] .ant-modal-confirm-btns {
1317
1355
  display: flex;
1318
1356
  }
1357
+ [data-prefers-color='dark'] .empty {
1358
+ background: #16191e;
1359
+ width: 100%;
1360
+ height: 100%;
1361
+ position: relative;
1362
+ }
1363
+ [data-prefers-color='dark'] .empty .none {
1364
+ width: 100%;
1365
+ height: 100%;
1366
+ position: absolute;
1367
+ top: 50%;
1368
+ left: 50%;
1369
+ transform: translate(-50%, -50%);
1370
+ -webkit-user-select: none;
1371
+ -moz-user-select: none;
1372
+ -ms-user-select: none;
1373
+ user-select: none;
1374
+ }
1375
+ [data-prefers-color='dark'] .row {
1376
+ height: calc(100% -30px);
1377
+ }
1378
+ [data-prefers-color='dark'] .camera {
1379
+ border: 1px solid #216fa3;
1380
+ }
1381
+ [data-prefers-color='dark'] .camera:hover {
1382
+ border: 1px solid red;
1383
+ }
1384
+ [data-prefers-color='dark'] .xgplayer-live {
1385
+ display: none !important;
1386
+ }
1387
+ [data-prefers-color='dark'] .xgplayer-fullscreen {
1388
+ display: none !important;
1389
+ }
1390
+ [data-prefers-color='dark'] .tools {
1391
+ background: #484d53;
1392
+ height: 30px;
1393
+ width: 100%;
1394
+ display: flex;
1395
+ justify-content: flex-end;
1396
+ }
1397
+ [data-prefers-color='dark'] .btnbox {
1398
+ background: #333333;
1399
+ border-radius: 5px;
1400
+ color: #fff;
1401
+ margin: 1px 5px;
1402
+ width: 26px;
1403
+ height: 26px;
1404
+ font-size: 18px;
1405
+ line-height: 26px;
1406
+ cursor: pointer;
1407
+ text-align: center;
1408
+ }
1409
+ [data-prefers-color='dark'] .btnbox:hover {
1410
+ background: #0f6ab7;
1411
+ }
1319
1412
 
1320
1413
  /* Color
1321
1414
  ----------------------- */
@@ -1783,7 +1876,7 @@ button[data-prefers-color='dark'] .swiper-pagination-bullet {
1783
1876
  }
1784
1877
  [data-prefers-color='light'] .autoScroll-outer {
1785
1878
  overflow: auto;
1786
- height: 100px;
1879
+ min-height: 100px;
1787
1880
  }
1788
1881
  @font-face {
1789
1882
  font-family: 'swiper-icons';
@@ -2633,6 +2726,61 @@ button[data-prefers-color='light'] .swiper-pagination-bullet {
2633
2726
  [data-prefers-color='light'] .ant-input-number-handler-down-inner {
2634
2727
  color: #708191;
2635
2728
  }
2729
+ [data-prefers-color='light'] .empty {
2730
+ background: #16191e;
2731
+ width: 100%;
2732
+ height: 100%;
2733
+ position: relative;
2734
+ }
2735
+ [data-prefers-color='light'] .empty .none {
2736
+ width: 100%;
2737
+ height: 100%;
2738
+ position: absolute;
2739
+ top: 50%;
2740
+ left: 50%;
2741
+ transform: translate(-50%, -50%);
2742
+ -webkit-user-select: none;
2743
+ -moz-user-select: none;
2744
+ -ms-user-select: none;
2745
+ user-select: none;
2746
+ }
2747
+ [data-prefers-color='light'] .row {
2748
+ height: calc(100% -30px);
2749
+ }
2750
+ [data-prefers-color='light'] .camera {
2751
+ border: 1px solid #216fa3;
2752
+ }
2753
+ [data-prefers-color='light'] .camera:hover {
2754
+ border: 1px solid red;
2755
+ }
2756
+ [data-prefers-color='light'] .xgplayer-live {
2757
+ display: none !important;
2758
+ }
2759
+ [data-prefers-color='light'] .xgplayer-fullscreen {
2760
+ display: none !important;
2761
+ }
2762
+ [data-prefers-color='light'] .tools {
2763
+ background: #484d53;
2764
+ height: 30px;
2765
+ width: 100%;
2766
+ display: flex;
2767
+ justify-content: flex-end;
2768
+ }
2769
+ [data-prefers-color='light'] .btnbox {
2770
+ background: #333333;
2771
+ border-radius: 5px;
2772
+ color: #fff;
2773
+ margin: 1px 5px;
2774
+ width: 26px;
2775
+ height: 26px;
2776
+ font-size: 18px;
2777
+ line-height: 26px;
2778
+ cursor: pointer;
2779
+ text-align: center;
2780
+ }
2781
+ [data-prefers-color='light'] .btnbox:hover {
2782
+ background: #0f6ab7;
2783
+ }
2636
2784
 
2637
2785
  .frame {
2638
2786
  width: 40px;
package/dist/index.esm.js CHANGED
@@ -4,7 +4,7 @@ import 'antd/es/dropdown/style';
4
4
  import _Dropdown from 'antd/es/dropdown';
5
5
  import 'antd/es/menu/style';
6
6
  import _Menu from 'antd/es/menu';
7
- import React, { memo, useState, useEffect, useMemo, useImperativeHandle, useRef } from 'react';
7
+ import React, { memo, useState, useEffect, useMemo, useImperativeHandle, useRef, forwardRef } from 'react';
8
8
  import { createFromIconfontCN, SearchOutlined, ReloadOutlined, CloseCircleOutlined, PlusOutlined, EllipsisOutlined, ExclamationCircleOutlined, EyeOutlined, EditOutlined, DeleteOutlined } from '@ant-design/icons';
9
9
  import 'antd/es/input/style';
10
10
  import _Input from 'antd/es/input';
@@ -41,13 +41,16 @@ import _Cascader from 'antd/es/cascader';
41
41
  import cloneDeep from 'lodash/cloneDeep';
42
42
  import CountUp from 'react-countup';
43
43
  import { Swiper, SwiperSlide } from 'swiper/react';
44
- import SwiperCore, { Pagination, Navigation, Autoplay } from 'swiper';
44
+ import SwiperCore, { Pagination, Navigation, Autoplay, Virtual } from 'swiper';
45
45
  import 'antd/es/breadcrumb/style';
46
46
  import _Breadcrumb from 'antd/es/breadcrumb';
47
47
  import ReactDOM from 'react-dom';
48
48
  import 'antd/es/modal/style';
49
49
  import _Modal from 'antd/es/modal';
50
50
  import ProTable from '@ant-design/pro-table';
51
+ import Player from 'xgplayer';
52
+ import FlvPlayer from 'xgplayer-flv.js';
53
+ import HlsJsPlayer from 'xgplayer-hls.js';
51
54
 
52
55
  function ownKeys(object, enumerableOnly) {
53
56
  var keys = Object.keys(object);
@@ -460,8 +463,8 @@ WButton.defaultProps = {};
460
463
  /*
461
464
  * @Author: lijin
462
465
  * @Date: 2021-08-04 16:24:47
463
- * @LastEditTime: 2021-09-09 15:57:23
464
- * @LastEditors: lijin
466
+ * @LastEditTime: 2022-06-08 11:02:39
467
+ * @LastEditors: cadelle 793238465@qq.com
465
468
  * @Description:
466
469
  * @FilePath: \wargerm\src\IconFont\index.tsx
467
470
  * 可以输入预定的版权声明、个性签名、空行等
@@ -473,7 +476,7 @@ WButton.defaultProps = {};
473
476
  // <IconFont type='icon-demo' className='xxx-xxx' />
474
477
 
475
478
  var index = createFromIconfontCN({
476
- scriptUrl: '//at.alicdn.com/t/font_2720974_ec0fzxnc7ul.js'
479
+ scriptUrl: '//at.alicdn.com/t/font_3425259_s93peuz62an.js'
477
480
  });
478
481
 
479
482
  var WInput = function WInput(props) {
@@ -8532,7 +8535,7 @@ Table.defaultProps = {
8532
8535
  var _excluded$8 = ["height", "width", "count", "style", "numberStyle"],
8533
8536
  _excluded2$2 = ["count", "numberCount", "width", "height", "marginRight"];
8534
8537
 
8535
- var Number = function Number(_ref) {
8538
+ var Number$1 = function Number(_ref) {
8536
8539
  var height = _ref.height,
8537
8540
  width = _ref.width,
8538
8541
  _ref$count = _ref.count,
@@ -8654,7 +8657,7 @@ var Number = function Number(_ref) {
8654
8657
  })))));
8655
8658
  };
8656
8659
 
8657
- Number.defaultProps = {
8660
+ Number$1.defaultProps = {
8658
8661
  width: 28,
8659
8662
  height: 40
8660
8663
  };
@@ -8691,7 +8694,7 @@ var Index$7 = function Index(props) {
8691
8694
  display: 'flex'
8692
8695
  }
8693
8696
  }, numberList.map(function (res, index) {
8694
- return /*#__PURE__*/React.createElement(Number, _objectSpread2({
8697
+ return /*#__PURE__*/React.createElement(Number$1, _objectSpread2({
8695
8698
  key: index,
8696
8699
  width: width,
8697
8700
  height: height,
@@ -8886,7 +8889,7 @@ var Index$9 = function Index(_ref) {
8886
8889
 
8887
8890
  var _excluded$b = ["data", "onClick", "slidesPerView", "rowKey", "onSwiperChange", "renderItem"];
8888
8891
 
8889
- SwiperCore.use([Pagination, Navigation, Autoplay]);
8892
+ SwiperCore.use([Pagination, Navigation, Autoplay, Virtual]);
8890
8893
 
8891
8894
  var Index$a = function Index(props) {
8892
8895
  var data = props.data,
@@ -9575,9 +9578,9 @@ var Index$b = function Index(_ref) {
9575
9578
  }, props));
9576
9579
  };
9577
9580
 
9578
- var _excluded$d = ["title", "className", "headerTail", "headerCenter"];
9581
+ var _excluded$d = ["title", "className", "headerTail", "headerCenter", "sliderTabs"];
9579
9582
 
9580
- var Index$c = function Index(_ref) {
9583
+ var Index$c = function Index(_ref, ref) {
9581
9584
  var _classNames;
9582
9585
 
9583
9586
  var title = _ref.title,
@@ -9585,8 +9588,20 @@ var Index$c = function Index(_ref) {
9585
9588
  className = _ref$className === void 0 ? 'default' : _ref$className,
9586
9589
  headerTail = _ref.headerTail,
9587
9590
  headerCenter = _ref.headerCenter,
9591
+ sliderTabs = _ref.sliderTabs,
9588
9592
  props = _objectWithoutProperties(_ref, _excluded$d);
9589
9593
 
9594
+ useImperativeHandle(ref, function () {
9595
+ return {
9596
+ activeTab: activeTab
9597
+ };
9598
+ });
9599
+
9600
+ var _useState = useState((sliderTabs === null || sliderTabs === void 0 ? void 0 : sliderTabs.defaultValue) || 0),
9601
+ _useState2 = _slicedToArray(_useState, 2),
9602
+ activeTab = _useState2[0],
9603
+ setActiveTab = _useState2[1];
9604
+
9590
9605
  return /*#__PURE__*/React.createElement("div", _objectSpread2({
9591
9606
  className: classnames((_classNames = {}, _defineProperty(_classNames, 'card-container', true), _defineProperty(_classNames, className, true), _classNames))
9592
9607
  }, props), /*#__PURE__*/React.createElement("div", {
@@ -9601,10 +9616,20 @@ var Index$c = function Index(_ref) {
9601
9616
  className: "dot"
9602
9617
  }), title), headerCenter, headerTail), /*#__PURE__*/React.createElement("div", {
9603
9618
  className: "body"
9604
- }, props.children))));
9619
+ }, sliderTabs ? sliderTabs.components[activeTab] : props.children)), sliderTabs && /*#__PURE__*/React.createElement("div", {
9620
+ className: "sliderTabs ".concat(sliderTabs.direction == 'left' ? "left ".concat(sliderTabs.className || '') : "right ".concat(sliderTabs.className || ''))
9621
+ }, sliderTabs.tabs.map(function (item, index) {
9622
+ return /*#__PURE__*/React.createElement("div", {
9623
+ className: "tab ".concat(index == activeTab ? 'active' : '', " ").concat(sliderTabs.tabClassName || '', " ").concat(sliderTabs.activeTabClassName || '')
9624
+ }, /*#__PURE__*/React.createElement("span", {
9625
+ onClick: function onClick() {
9626
+ return setActiveTab(index);
9627
+ }
9628
+ }, item));
9629
+ }))));
9605
9630
  };
9606
9631
 
9607
- Index$c.defaultProps = {};
9632
+ var index$1 = /*#__PURE__*/forwardRef(Index$c);
9608
9633
 
9609
9634
  var controlShow = function controlShow(f1, f2, value, timer) {
9610
9635
  f1(value);
@@ -10637,6 +10662,21 @@ var TabelCard = function TabelCard(props, ref) {
10637
10662
  actionRef === null || actionRef === void 0 ? void 0 : (_actionRef$current7 = actionRef.current) === null || _actionRef$current7 === void 0 ? void 0 : _actionRef$current7.reload();
10638
10663
  };
10639
10664
 
10665
+ useEffect(function () {
10666
+ var _searchFormRef$curren, _searchFormRef$curren2;
10667
+
10668
+ if ((_searchFormRef$curren = searchFormRef.current) === null || _searchFormRef$curren === void 0 ? void 0 : (_searchFormRef$curren2 = _searchFormRef$curren.form) === null || _searchFormRef$curren2 === void 0 ? void 0 : _searchFormRef$curren2.getFieldsValue) {
10669
+ var _searchFormRef$curren3, _searchFormRef$curren4;
10670
+
10671
+ var obj = filterObj((_searchFormRef$curren3 = searchFormRef.current) === null || _searchFormRef$curren3 === void 0 ? void 0 : (_searchFormRef$curren4 = _searchFormRef$curren3.form) === null || _searchFormRef$curren4 === void 0 ? void 0 : _searchFormRef$curren4.getFieldsValue()) || {};
10672
+ (columns || []).filter(function (c) {
10673
+ return c.notInitialValueInSearch;
10674
+ }).forEach(function (item) {
10675
+ delete obj[item.dataIndex];
10676
+ });
10677
+ setFormSearch(obj);
10678
+ }
10679
+ }, [columns]);
10640
10680
  var formSearchColumn = columns || [];
10641
10681
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ModalForm$1, _objectSpread2(_objectSpread2({
10642
10682
  ref: modalFormRef,
@@ -10770,13 +10810,13 @@ var TabelCard = function TabelCard(props, ref) {
10770
10810
  return obj;
10771
10811
  }),
10772
10812
  search: false,
10773
- pagination: pagination || {
10813
+ pagination: pagination !== null && pagination !== void 0 ? pagination : {
10774
10814
  pageSize: 20
10775
10815
  }
10776
10816
  }, extraProps)));
10777
10817
  };
10778
10818
 
10779
- var index$1 = /*#__PURE__*/React.forwardRef(TabelCard);
10819
+ var index$2 = /*#__PURE__*/React.forwardRef(TabelCard);
10780
10820
 
10781
10821
  var WebsocketHeart = /*#__PURE__*/_createClass(function WebsocketHeart(_ref) {
10782
10822
  var _this = this;
@@ -10940,4 +10980,199 @@ var WebsocketHeart = /*#__PURE__*/_createClass(function WebsocketHeart(_ref) {
10940
10980
  this.heartCheck = null;
10941
10981
  });
10942
10982
 
10943
- export { Index$9 as AutoScroll, Index$b as Breadcrumb, WButton as Button, Index$c as Card, WCascader as Cascader, Index$3 as Checkbox, Index$8 as CountUp, Index$1 as DatePicker, index as IconFont, Index as Input, WInputNumber as InputNumber, Modal, ModalForm$1 as ModalForm, Modal$1 as ModalTips, Index$7 as Number, NumericInput, Index$2 as Radio, Select, Index$a as Swiper, WSwitch as Switch, index$1 as TabelCard, Table, Index$6 as TreeSelect, Index$5 as WDatePicker, WForm$1 as WForm, WebsocketHeart };
10983
+ var player = null;
10984
+ function Xgplay(_ref) {
10985
+ var config = _ref.config,
10986
+ type = _ref.type;
10987
+ var ref = useRef(null);
10988
+ useEffect(function () {
10989
+ player = new HlsJsPlayer(_objectSpread2({
10990
+ el: ref.current,
10991
+ width: '100%',
10992
+ height: '100%',
10993
+ autoplay: true,
10994
+ isLive: true,
10995
+ autoplayMuted: true
10996
+ }, config));
10997
+
10998
+ if (type.indexOf('hls') !== -1) {
10999
+ player = new HlsJsPlayer(_objectSpread2({
11000
+ el: ref.current,
11001
+ width: '100%',
11002
+ height: '100%',
11003
+ autoplay: true,
11004
+ isLive: true,
11005
+ autoplayMuted: true
11006
+ }, config));
11007
+ } else if (type.indexOf('flv') !== -1) {
11008
+ player = new FlvPlayer(_objectSpread2({
11009
+ el: ref.current,
11010
+ width: '100%',
11011
+ height: '100%',
11012
+ autoplay: true,
11013
+ isLive: true,
11014
+ autoplayMuted: true
11015
+ }, config));
11016
+ } else if (type.indexOf('mp4') !== -1) {
11017
+ player = new Player(_objectSpread2({
11018
+ el: ref.current,
11019
+ width: '100%',
11020
+ height: '100%',
11021
+ autoplay: true,
11022
+ isLive: true,
11023
+ autoplayMuted: true
11024
+ }, config));
11025
+ }
11026
+
11027
+ return function () {
11028
+ player = null;
11029
+ };
11030
+ }, []);
11031
+ return /*#__PURE__*/React.createElement("div", {
11032
+ ref: ref,
11033
+ style: {
11034
+ overflow: 'hidden'
11035
+ }
11036
+ });
11037
+ }
11038
+
11039
+ /*
11040
+ * @Author: lijin
11041
+ * @Date: 2021-08-04 16:24:47
11042
+ * @LastEditTime: 2022-06-08 11:02:39
11043
+ * @LastEditors: cadelle 793238465@qq.com
11044
+ * @Description:
11045
+ * @FilePath: \wargerm\src\IconFont\index.tsx
11046
+ * 可以输入预定的版权声明、个性签名、空行等
11047
+ */
11048
+ // iconFontScriptUrl 修改成自己的iconfont图标项目地址
11049
+ // 注意:如果需要图标多色,Iconfont图标项目里要进行批量去色处理
11050
+ // 使用:
11051
+ // import IconFont from '@/components/IconFont';
11052
+ // <IconFont type='icon-demo' className='xxx-xxx' />
11053
+
11054
+ var IconFont = createFromIconfontCN({
11055
+ scriptUrl: '//at.alicdn.com/t/font_3425259_s93peuz62an.js'
11056
+ });
11057
+
11058
+ function VideoPlayer(_ref) {
11059
+ var _ref$footer = _ref.footer,
11060
+ footer = _ref$footer === void 0 ? true : _ref$footer,
11061
+ _ref$style = _ref.style,
11062
+ style = _ref$style === void 0 ? {
11063
+ width: 400,
11064
+ height: 400
11065
+ } : _ref$style,
11066
+ _ref$config = _ref.config,
11067
+ config = _ref$config === void 0 ? {} : _ref$config,
11068
+ _ref$url = _ref.url,
11069
+ url = _ref$url === void 0 ? [] : _ref$url;
11070
+
11071
+ var _useState = useState(1),
11072
+ _useState2 = _slicedToArray(_useState, 2),
11073
+ colCountKey = _useState2[0],
11074
+ setColCountKey = _useState2[1];
11075
+
11076
+ var _useState3 = useState(1),
11077
+ _useState4 = _slicedToArray(_useState3, 2),
11078
+ colNumber = _useState4[0],
11079
+ setColNumber = _useState4[1];
11080
+
11081
+ var domRef = useRef(null);
11082
+ var contentRef = useRef(null);
11083
+
11084
+ var renderDom = function renderDom() {
11085
+ var arr = new Array(colCountKey * colNumber);
11086
+ return arr.fill('').map(function (item, index) {
11087
+ return /*#__PURE__*/React.createElement(_Col, {
11088
+ span: 24 / colCountKey,
11089
+ key: index,
11090
+ className: "camera",
11091
+ style: {
11092
+ height: (Number(style.height) - 30) / colNumber
11093
+ }
11094
+ }, url[index] ? /*#__PURE__*/React.createElement(Xgplay, {
11095
+ type: url[index],
11096
+ config: _objectSpread2({
11097
+ url: url[index]
11098
+ }, config)
11099
+ }) : /*#__PURE__*/React.createElement("div", {
11100
+ className: "empty",
11101
+ onDoubleClick: function onDoubleClick() {
11102
+ var _domRef$current;
11103
+
11104
+ var fullscreenElement = document.fullscreenElement;
11105
+ fullscreenElement ? exitFullscreen() : requestFullScreen(domRef === null || domRef === void 0 ? void 0 : (_domRef$current = domRef.current) === null || _domRef$current === void 0 ? void 0 : _domRef$current.childNodes[index]);
11106
+ }
11107
+ }));
11108
+ });
11109
+ };
11110
+
11111
+ function exitFullscreen() {
11112
+ if (document.exitFullscreen) {
11113
+ document.exitFullscreen();
11114
+ }
11115
+ }
11116
+
11117
+ function requestFullScreen(element) {
11118
+ if (element.requestFullscreen) {
11119
+ element.requestFullscreen();
11120
+ } //FireFox
11121
+ else if (element.mozRequestFullScreen) {
11122
+ element.mozRequestFullScreen();
11123
+ } //Chrome等
11124
+ else if (element.webkitRequestFullScreen) {
11125
+ element.webkitRequestFullScreen();
11126
+ } //IE11
11127
+ else if (element.msRequestFullscreen) {
11128
+ element.msRequestFullscreen();
11129
+ }
11130
+ }
11131
+
11132
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
11133
+ style: style,
11134
+ ref: contentRef
11135
+ }, /*#__PURE__*/React.createElement(_Row, {
11136
+ ref: domRef
11137
+ }, renderDom()), footer ? /*#__PURE__*/React.createElement("div", {
11138
+ className: "tools"
11139
+ }, /*#__PURE__*/React.createElement("div", {
11140
+ className: "btnbox",
11141
+ onClick: function onClick() {
11142
+ setColNumber(1);
11143
+ setColCountKey(1);
11144
+ }
11145
+ }, /*#__PURE__*/React.createElement(_Tooltip, {
11146
+ placement: "top",
11147
+ title: '1x1布局'
11148
+ }, /*#__PURE__*/React.createElement(IconFont, {
11149
+ type: "icon-dantupailie"
11150
+ }))), /*#__PURE__*/React.createElement("div", {
11151
+ className: "btnbox",
11152
+ onClick: function onClick() {
11153
+ setColNumber(2);
11154
+ setColCountKey(2);
11155
+ }
11156
+ }, /*#__PURE__*/React.createElement(_Tooltip, {
11157
+ placement: "top",
11158
+ title: '2x2布局'
11159
+ }, /*#__PURE__*/React.createElement(IconFont, {
11160
+ type: "icon-split-screen-compare-full"
11161
+ }))), /*#__PURE__*/React.createElement("div", {
11162
+ className: "btnbox",
11163
+ onClick: function onClick() {
11164
+ setColNumber(3);
11165
+ setColCountKey(3);
11166
+ }
11167
+ }, /*#__PURE__*/React.createElement(_Tooltip, {
11168
+ placement: "top",
11169
+ title: '3x3布局'
11170
+ }, /*#__PURE__*/React.createElement(IconFont, {
11171
+ type: "icon-all-full",
11172
+ style: {
11173
+ fontSize: 21
11174
+ }
11175
+ })))) : null));
11176
+ }
11177
+
11178
+ export { Index$9 as AutoScroll, Index$b as Breadcrumb, WButton as Button, index$1 as Card, WCascader as Cascader, Index$3 as Checkbox, Index$8 as CountUp, Index$1 as DatePicker, index as IconFont, Index as Input, WInputNumber as InputNumber, Modal, ModalForm$1 as ModalForm, Modal$1 as ModalTips, Index$7 as Number, NumericInput, Index$2 as Radio, Select, Index$a as Swiper, WSwitch as Switch, index$2 as TabelCard, Table, Index$6 as TreeSelect, VideoPlayer, Index$5 as WDatePicker, WForm$1 as WForm, WebsocketHeart };
package/dist/index.js CHANGED
@@ -52,6 +52,9 @@ var ReactDOM = require('react-dom');
52
52
  require('antd/es/modal/style');
53
53
  var _Modal = require('antd/es/modal');
54
54
  var ProTable = require('@ant-design/pro-table');
55
+ var Player = require('xgplayer');
56
+ var FlvPlayer = require('xgplayer-flv.js');
57
+ var HlsJsPlayer = require('xgplayer-hls.js');
55
58
 
56
59
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
57
60
 
@@ -83,6 +86,9 @@ var _Breadcrumb__default = /*#__PURE__*/_interopDefaultLegacy(_Breadcrumb);
83
86
  var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
84
87
  var _Modal__default = /*#__PURE__*/_interopDefaultLegacy(_Modal);
85
88
  var ProTable__default = /*#__PURE__*/_interopDefaultLegacy(ProTable);
89
+ var Player__default = /*#__PURE__*/_interopDefaultLegacy(Player);
90
+ var FlvPlayer__default = /*#__PURE__*/_interopDefaultLegacy(FlvPlayer);
91
+ var HlsJsPlayer__default = /*#__PURE__*/_interopDefaultLegacy(HlsJsPlayer);
86
92
 
87
93
  function ownKeys(object, enumerableOnly) {
88
94
  var keys = Object.keys(object);
@@ -495,8 +501,8 @@ WButton.defaultProps = {};
495
501
  /*
496
502
  * @Author: lijin
497
503
  * @Date: 2021-08-04 16:24:47
498
- * @LastEditTime: 2021-09-09 15:57:23
499
- * @LastEditors: lijin
504
+ * @LastEditTime: 2022-06-08 11:02:39
505
+ * @LastEditors: cadelle 793238465@qq.com
500
506
  * @Description:
501
507
  * @FilePath: \wargerm\src\IconFont\index.tsx
502
508
  * 可以输入预定的版权声明、个性签名、空行等
@@ -508,7 +514,7 @@ WButton.defaultProps = {};
508
514
  // <IconFont type='icon-demo' className='xxx-xxx' />
509
515
 
510
516
  var index = icons.createFromIconfontCN({
511
- scriptUrl: '//at.alicdn.com/t/font_2720974_ec0fzxnc7ul.js'
517
+ scriptUrl: '//at.alicdn.com/t/font_3425259_s93peuz62an.js'
512
518
  });
513
519
 
514
520
  var WInput = function WInput(props) {
@@ -8567,7 +8573,7 @@ Table.defaultProps = {
8567
8573
  var _excluded$8 = ["height", "width", "count", "style", "numberStyle"],
8568
8574
  _excluded2$2 = ["count", "numberCount", "width", "height", "marginRight"];
8569
8575
 
8570
- var Number = function Number(_ref) {
8576
+ var Number$1 = function Number(_ref) {
8571
8577
  var height = _ref.height,
8572
8578
  width = _ref.width,
8573
8579
  _ref$count = _ref.count,
@@ -8689,7 +8695,7 @@ var Number = function Number(_ref) {
8689
8695
  })))));
8690
8696
  };
8691
8697
 
8692
- Number.defaultProps = {
8698
+ Number$1.defaultProps = {
8693
8699
  width: 28,
8694
8700
  height: 40
8695
8701
  };
@@ -8726,7 +8732,7 @@ var Index$7 = function Index(props) {
8726
8732
  display: 'flex'
8727
8733
  }
8728
8734
  }, numberList.map(function (res, index) {
8729
- return /*#__PURE__*/React__default['default'].createElement(Number, _objectSpread2({
8735
+ return /*#__PURE__*/React__default['default'].createElement(Number$1, _objectSpread2({
8730
8736
  key: index,
8731
8737
  width: width,
8732
8738
  height: height,
@@ -8921,7 +8927,7 @@ var Index$9 = function Index(_ref) {
8921
8927
 
8922
8928
  var _excluded$b = ["data", "onClick", "slidesPerView", "rowKey", "onSwiperChange", "renderItem"];
8923
8929
 
8924
- SwiperCore__default['default'].use([SwiperCore.Pagination, SwiperCore.Navigation, SwiperCore.Autoplay]);
8930
+ SwiperCore__default['default'].use([SwiperCore.Pagination, SwiperCore.Navigation, SwiperCore.Autoplay, SwiperCore.Virtual]);
8925
8931
 
8926
8932
  var Index$a = function Index(props) {
8927
8933
  var data = props.data,
@@ -9610,9 +9616,9 @@ var Index$b = function Index(_ref) {
9610
9616
  }, props));
9611
9617
  };
9612
9618
 
9613
- var _excluded$d = ["title", "className", "headerTail", "headerCenter"];
9619
+ var _excluded$d = ["title", "className", "headerTail", "headerCenter", "sliderTabs"];
9614
9620
 
9615
- var Index$c = function Index(_ref) {
9621
+ var Index$c = function Index(_ref, ref) {
9616
9622
  var _classNames;
9617
9623
 
9618
9624
  var title = _ref.title,
@@ -9620,8 +9626,20 @@ var Index$c = function Index(_ref) {
9620
9626
  className = _ref$className === void 0 ? 'default' : _ref$className,
9621
9627
  headerTail = _ref.headerTail,
9622
9628
  headerCenter = _ref.headerCenter,
9629
+ sliderTabs = _ref.sliderTabs,
9623
9630
  props = _objectWithoutProperties(_ref, _excluded$d);
9624
9631
 
9632
+ React.useImperativeHandle(ref, function () {
9633
+ return {
9634
+ activeTab: activeTab
9635
+ };
9636
+ });
9637
+
9638
+ var _useState = React.useState((sliderTabs === null || sliderTabs === void 0 ? void 0 : sliderTabs.defaultValue) || 0),
9639
+ _useState2 = _slicedToArray(_useState, 2),
9640
+ activeTab = _useState2[0],
9641
+ setActiveTab = _useState2[1];
9642
+
9625
9643
  return /*#__PURE__*/React__default['default'].createElement("div", _objectSpread2({
9626
9644
  className: classnames__default['default']((_classNames = {}, _defineProperty(_classNames, 'card-container', true), _defineProperty(_classNames, className, true), _classNames))
9627
9645
  }, props), /*#__PURE__*/React__default['default'].createElement("div", {
@@ -9636,10 +9654,20 @@ var Index$c = function Index(_ref) {
9636
9654
  className: "dot"
9637
9655
  }), title), headerCenter, headerTail), /*#__PURE__*/React__default['default'].createElement("div", {
9638
9656
  className: "body"
9639
- }, props.children))));
9657
+ }, sliderTabs ? sliderTabs.components[activeTab] : props.children)), sliderTabs && /*#__PURE__*/React__default['default'].createElement("div", {
9658
+ className: "sliderTabs ".concat(sliderTabs.direction == 'left' ? "left ".concat(sliderTabs.className || '') : "right ".concat(sliderTabs.className || ''))
9659
+ }, sliderTabs.tabs.map(function (item, index) {
9660
+ return /*#__PURE__*/React__default['default'].createElement("div", {
9661
+ className: "tab ".concat(index == activeTab ? 'active' : '', " ").concat(sliderTabs.tabClassName || '', " ").concat(sliderTabs.activeTabClassName || '')
9662
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
9663
+ onClick: function onClick() {
9664
+ return setActiveTab(index);
9665
+ }
9666
+ }, item));
9667
+ }))));
9640
9668
  };
9641
9669
 
9642
- Index$c.defaultProps = {};
9670
+ var index$1 = /*#__PURE__*/React.forwardRef(Index$c);
9643
9671
 
9644
9672
  var controlShow = function controlShow(f1, f2, value, timer) {
9645
9673
  f1(value);
@@ -10672,6 +10700,21 @@ var TabelCard = function TabelCard(props, ref) {
10672
10700
  actionRef === null || actionRef === void 0 ? void 0 : (_actionRef$current7 = actionRef.current) === null || _actionRef$current7 === void 0 ? void 0 : _actionRef$current7.reload();
10673
10701
  };
10674
10702
 
10703
+ React.useEffect(function () {
10704
+ var _searchFormRef$curren, _searchFormRef$curren2;
10705
+
10706
+ if ((_searchFormRef$curren = searchFormRef.current) === null || _searchFormRef$curren === void 0 ? void 0 : (_searchFormRef$curren2 = _searchFormRef$curren.form) === null || _searchFormRef$curren2 === void 0 ? void 0 : _searchFormRef$curren2.getFieldsValue) {
10707
+ var _searchFormRef$curren3, _searchFormRef$curren4;
10708
+
10709
+ var obj = filterObj((_searchFormRef$curren3 = searchFormRef.current) === null || _searchFormRef$curren3 === void 0 ? void 0 : (_searchFormRef$curren4 = _searchFormRef$curren3.form) === null || _searchFormRef$curren4 === void 0 ? void 0 : _searchFormRef$curren4.getFieldsValue()) || {};
10710
+ (columns || []).filter(function (c) {
10711
+ return c.notInitialValueInSearch;
10712
+ }).forEach(function (item) {
10713
+ delete obj[item.dataIndex];
10714
+ });
10715
+ setFormSearch(obj);
10716
+ }
10717
+ }, [columns]);
10675
10718
  var formSearchColumn = columns || [];
10676
10719
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(ModalForm$1, _objectSpread2(_objectSpread2({
10677
10720
  ref: modalFormRef,
@@ -10805,13 +10848,13 @@ var TabelCard = function TabelCard(props, ref) {
10805
10848
  return obj;
10806
10849
  }),
10807
10850
  search: false,
10808
- pagination: pagination || {
10851
+ pagination: pagination !== null && pagination !== void 0 ? pagination : {
10809
10852
  pageSize: 20
10810
10853
  }
10811
10854
  }, extraProps)));
10812
10855
  };
10813
10856
 
10814
- var index$1 = /*#__PURE__*/React__default['default'].forwardRef(TabelCard);
10857
+ var index$2 = /*#__PURE__*/React__default['default'].forwardRef(TabelCard);
10815
10858
 
10816
10859
  var WebsocketHeart = /*#__PURE__*/_createClass(function WebsocketHeart(_ref) {
10817
10860
  var _this = this;
@@ -10975,10 +11018,205 @@ var WebsocketHeart = /*#__PURE__*/_createClass(function WebsocketHeart(_ref) {
10975
11018
  this.heartCheck = null;
10976
11019
  });
10977
11020
 
11021
+ var player = null;
11022
+ function Xgplay(_ref) {
11023
+ var config = _ref.config,
11024
+ type = _ref.type;
11025
+ var ref = React.useRef(null);
11026
+ React.useEffect(function () {
11027
+ player = new HlsJsPlayer__default['default'](_objectSpread2({
11028
+ el: ref.current,
11029
+ width: '100%',
11030
+ height: '100%',
11031
+ autoplay: true,
11032
+ isLive: true,
11033
+ autoplayMuted: true
11034
+ }, config));
11035
+
11036
+ if (type.indexOf('hls') !== -1) {
11037
+ player = new HlsJsPlayer__default['default'](_objectSpread2({
11038
+ el: ref.current,
11039
+ width: '100%',
11040
+ height: '100%',
11041
+ autoplay: true,
11042
+ isLive: true,
11043
+ autoplayMuted: true
11044
+ }, config));
11045
+ } else if (type.indexOf('flv') !== -1) {
11046
+ player = new FlvPlayer__default['default'](_objectSpread2({
11047
+ el: ref.current,
11048
+ width: '100%',
11049
+ height: '100%',
11050
+ autoplay: true,
11051
+ isLive: true,
11052
+ autoplayMuted: true
11053
+ }, config));
11054
+ } else if (type.indexOf('mp4') !== -1) {
11055
+ player = new Player__default['default'](_objectSpread2({
11056
+ el: ref.current,
11057
+ width: '100%',
11058
+ height: '100%',
11059
+ autoplay: true,
11060
+ isLive: true,
11061
+ autoplayMuted: true
11062
+ }, config));
11063
+ }
11064
+
11065
+ return function () {
11066
+ player = null;
11067
+ };
11068
+ }, []);
11069
+ return /*#__PURE__*/React__default['default'].createElement("div", {
11070
+ ref: ref,
11071
+ style: {
11072
+ overflow: 'hidden'
11073
+ }
11074
+ });
11075
+ }
11076
+
11077
+ /*
11078
+ * @Author: lijin
11079
+ * @Date: 2021-08-04 16:24:47
11080
+ * @LastEditTime: 2022-06-08 11:02:39
11081
+ * @LastEditors: cadelle 793238465@qq.com
11082
+ * @Description:
11083
+ * @FilePath: \wargerm\src\IconFont\index.tsx
11084
+ * 可以输入预定的版权声明、个性签名、空行等
11085
+ */
11086
+ // iconFontScriptUrl 修改成自己的iconfont图标项目地址
11087
+ // 注意:如果需要图标多色,Iconfont图标项目里要进行批量去色处理
11088
+ // 使用:
11089
+ // import IconFont from '@/components/IconFont';
11090
+ // <IconFont type='icon-demo' className='xxx-xxx' />
11091
+
11092
+ var IconFont = icons.createFromIconfontCN({
11093
+ scriptUrl: '//at.alicdn.com/t/font_3425259_s93peuz62an.js'
11094
+ });
11095
+
11096
+ function VideoPlayer(_ref) {
11097
+ var _ref$footer = _ref.footer,
11098
+ footer = _ref$footer === void 0 ? true : _ref$footer,
11099
+ _ref$style = _ref.style,
11100
+ style = _ref$style === void 0 ? {
11101
+ width: 400,
11102
+ height: 400
11103
+ } : _ref$style,
11104
+ _ref$config = _ref.config,
11105
+ config = _ref$config === void 0 ? {} : _ref$config,
11106
+ _ref$url = _ref.url,
11107
+ url = _ref$url === void 0 ? [] : _ref$url;
11108
+
11109
+ var _useState = React.useState(1),
11110
+ _useState2 = _slicedToArray(_useState, 2),
11111
+ colCountKey = _useState2[0],
11112
+ setColCountKey = _useState2[1];
11113
+
11114
+ var _useState3 = React.useState(1),
11115
+ _useState4 = _slicedToArray(_useState3, 2),
11116
+ colNumber = _useState4[0],
11117
+ setColNumber = _useState4[1];
11118
+
11119
+ var domRef = React.useRef(null);
11120
+ var contentRef = React.useRef(null);
11121
+
11122
+ var renderDom = function renderDom() {
11123
+ var arr = new Array(colCountKey * colNumber);
11124
+ return arr.fill('').map(function (item, index) {
11125
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], {
11126
+ span: 24 / colCountKey,
11127
+ key: index,
11128
+ className: "camera",
11129
+ style: {
11130
+ height: (Number(style.height) - 30) / colNumber
11131
+ }
11132
+ }, url[index] ? /*#__PURE__*/React__default['default'].createElement(Xgplay, {
11133
+ type: url[index],
11134
+ config: _objectSpread2({
11135
+ url: url[index]
11136
+ }, config)
11137
+ }) : /*#__PURE__*/React__default['default'].createElement("div", {
11138
+ className: "empty",
11139
+ onDoubleClick: function onDoubleClick() {
11140
+ var _domRef$current;
11141
+
11142
+ var fullscreenElement = document.fullscreenElement;
11143
+ fullscreenElement ? exitFullscreen() : requestFullScreen(domRef === null || domRef === void 0 ? void 0 : (_domRef$current = domRef.current) === null || _domRef$current === void 0 ? void 0 : _domRef$current.childNodes[index]);
11144
+ }
11145
+ }));
11146
+ });
11147
+ };
11148
+
11149
+ function exitFullscreen() {
11150
+ if (document.exitFullscreen) {
11151
+ document.exitFullscreen();
11152
+ }
11153
+ }
11154
+
11155
+ function requestFullScreen(element) {
11156
+ if (element.requestFullscreen) {
11157
+ element.requestFullscreen();
11158
+ } //FireFox
11159
+ else if (element.mozRequestFullScreen) {
11160
+ element.mozRequestFullScreen();
11161
+ } //Chrome等
11162
+ else if (element.webkitRequestFullScreen) {
11163
+ element.webkitRequestFullScreen();
11164
+ } //IE11
11165
+ else if (element.msRequestFullscreen) {
11166
+ element.msRequestFullscreen();
11167
+ }
11168
+ }
11169
+
11170
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
11171
+ style: style,
11172
+ ref: contentRef
11173
+ }, /*#__PURE__*/React__default['default'].createElement(_Row__default['default'], {
11174
+ ref: domRef
11175
+ }, renderDom()), footer ? /*#__PURE__*/React__default['default'].createElement("div", {
11176
+ className: "tools"
11177
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
11178
+ className: "btnbox",
11179
+ onClick: function onClick() {
11180
+ setColNumber(1);
11181
+ setColCountKey(1);
11182
+ }
11183
+ }, /*#__PURE__*/React__default['default'].createElement(_Tooltip__default['default'], {
11184
+ placement: "top",
11185
+ title: '1x1布局'
11186
+ }, /*#__PURE__*/React__default['default'].createElement(IconFont, {
11187
+ type: "icon-dantupailie"
11188
+ }))), /*#__PURE__*/React__default['default'].createElement("div", {
11189
+ className: "btnbox",
11190
+ onClick: function onClick() {
11191
+ setColNumber(2);
11192
+ setColCountKey(2);
11193
+ }
11194
+ }, /*#__PURE__*/React__default['default'].createElement(_Tooltip__default['default'], {
11195
+ placement: "top",
11196
+ title: '2x2布局'
11197
+ }, /*#__PURE__*/React__default['default'].createElement(IconFont, {
11198
+ type: "icon-split-screen-compare-full"
11199
+ }))), /*#__PURE__*/React__default['default'].createElement("div", {
11200
+ className: "btnbox",
11201
+ onClick: function onClick() {
11202
+ setColNumber(3);
11203
+ setColCountKey(3);
11204
+ }
11205
+ }, /*#__PURE__*/React__default['default'].createElement(_Tooltip__default['default'], {
11206
+ placement: "top",
11207
+ title: '3x3布局'
11208
+ }, /*#__PURE__*/React__default['default'].createElement(IconFont, {
11209
+ type: "icon-all-full",
11210
+ style: {
11211
+ fontSize: 21
11212
+ }
11213
+ })))) : null));
11214
+ }
11215
+
10978
11216
  exports.AutoScroll = Index$9;
10979
11217
  exports.Breadcrumb = Index$b;
10980
11218
  exports.Button = WButton;
10981
- exports.Card = Index$c;
11219
+ exports.Card = index$1;
10982
11220
  exports.Cascader = WCascader;
10983
11221
  exports.Checkbox = Index$3;
10984
11222
  exports.CountUp = Index$8;
@@ -10995,9 +11233,10 @@ exports.Radio = Index$2;
10995
11233
  exports.Select = Select;
10996
11234
  exports.Swiper = Index$a;
10997
11235
  exports.Switch = WSwitch;
10998
- exports.TabelCard = index$1;
11236
+ exports.TabelCard = index$2;
10999
11237
  exports.Table = Table;
11000
11238
  exports.TreeSelect = Index$6;
11239
+ exports.VideoPlayer = VideoPlayer;
11001
11240
  exports.WDatePicker = Index$5;
11002
11241
  exports.WForm = WForm$1;
11003
11242
  exports.WebsocketHeart = WebsocketHeart;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "wargerm",
4
- "version": "0.4.8",
4
+ "version": "0.4.11",
5
5
  "scripts": {
6
6
  "dev": "dumi dev",
7
7
  "docs:build": "dumi build",
@@ -51,7 +51,12 @@
51
51
  "animate.css": "^4.1.1",
52
52
  "react-countup": "^6.0.0",
53
53
  "react-dom": "^17.0.2",
54
- "swiper": "^6.7.0"
54
+ "swiper": "^6.7.0",
55
+ "xgplayer": "^2.31.6",
56
+ "xgplayer-flv": "^2.5.1",
57
+ "xgplayer-flv.js": "^2.3.0",
58
+ "xgplayer-hls": "^2.5.2",
59
+ "xgplayer-hls.js": "^2.6.1"
55
60
  },
56
61
  "peerDependencies": {
57
62
  "@ant-design/icons": ">=4.2.0",