wargerm 0.4.10 → 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.
@@ -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
@@ -653,7 +653,7 @@
653
653
  }
654
654
  [data-prefers-color='dark'] .autoScroll-outer {
655
655
  overflow: auto;
656
- height: 100px;
656
+ min-height: 100px;
657
657
  }
658
658
  @font-face {
659
659
  font-family: 'swiper-icons';
@@ -1354,6 +1354,61 @@ button[data-prefers-color='dark'] .swiper-pagination-bullet {
1354
1354
  [data-prefers-color='dark'] .ant-modal-confirm-btns {
1355
1355
  display: flex;
1356
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
+ }
1357
1412
 
1358
1413
  /* Color
1359
1414
  ----------------------- */
@@ -1821,7 +1876,7 @@ button[data-prefers-color='dark'] .swiper-pagination-bullet {
1821
1876
  }
1822
1877
  [data-prefers-color='light'] .autoScroll-outer {
1823
1878
  overflow: auto;
1824
- height: 100px;
1879
+ min-height: 100px;
1825
1880
  }
1826
1881
  @font-face {
1827
1882
  font-family: 'swiper-icons';
@@ -2671,6 +2726,61 @@ button[data-prefers-color='light'] .swiper-pagination-bullet {
2671
2726
  [data-prefers-color='light'] .ant-input-number-handler-down-inner {
2672
2727
  color: #708191;
2673
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
+ }
2674
2784
 
2675
2785
  .frame {
2676
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';
@@ -653,7 +653,7 @@
653
653
  }
654
654
  [data-prefers-color='dark'] .autoScroll-outer {
655
655
  overflow: auto;
656
- height: 100px;
656
+ min-height: 100px;
657
657
  }
658
658
  @font-face {
659
659
  font-family: 'swiper-icons';
@@ -1354,6 +1354,61 @@ button[data-prefers-color='dark'] .swiper-pagination-bullet {
1354
1354
  [data-prefers-color='dark'] .ant-modal-confirm-btns {
1355
1355
  display: flex;
1356
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
+ }
1357
1412
 
1358
1413
  /* Color
1359
1414
  ----------------------- */
@@ -1821,7 +1876,7 @@ button[data-prefers-color='dark'] .swiper-pagination-bullet {
1821
1876
  }
1822
1877
  [data-prefers-color='light'] .autoScroll-outer {
1823
1878
  overflow: auto;
1824
- height: 100px;
1879
+ min-height: 100px;
1825
1880
  }
1826
1881
  @font-face {
1827
1882
  font-family: 'swiper-icons';
@@ -2671,6 +2726,61 @@ button[data-prefers-color='light'] .swiper-pagination-bullet {
2671
2726
  [data-prefers-color='light'] .ant-input-number-handler-down-inner {
2672
2727
  color: #708191;
2673
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
+ }
2674
2784
 
2675
2785
  .frame {
2676
2786
  width: 40px;
package/dist/index.esm.js CHANGED
@@ -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,
@@ -10659,6 +10662,21 @@ var TabelCard = function TabelCard(props, ref) {
10659
10662
  actionRef === null || actionRef === void 0 ? void 0 : (_actionRef$current7 = actionRef.current) === null || _actionRef$current7 === void 0 ? void 0 : _actionRef$current7.reload();
10660
10663
  };
10661
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]);
10662
10680
  var formSearchColumn = columns || [];
10663
10681
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ModalForm$1, _objectSpread2(_objectSpread2({
10664
10682
  ref: modalFormRef,
@@ -10792,7 +10810,7 @@ var TabelCard = function TabelCard(props, ref) {
10792
10810
  return obj;
10793
10811
  }),
10794
10812
  search: false,
10795
- pagination: pagination != undefined ? pagination : {
10813
+ pagination: pagination !== null && pagination !== void 0 ? pagination : {
10796
10814
  pageSize: 20
10797
10815
  }
10798
10816
  }, extraProps)));
@@ -10962,4 +10980,199 @@ var WebsocketHeart = /*#__PURE__*/_createClass(function WebsocketHeart(_ref) {
10962
10980
  this.heartCheck = null;
10963
10981
  });
10964
10982
 
10965
- 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, 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,
@@ -10694,6 +10700,21 @@ var TabelCard = function TabelCard(props, ref) {
10694
10700
  actionRef === null || actionRef === void 0 ? void 0 : (_actionRef$current7 = actionRef.current) === null || _actionRef$current7 === void 0 ? void 0 : _actionRef$current7.reload();
10695
10701
  };
10696
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]);
10697
10718
  var formSearchColumn = columns || [];
10698
10719
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(ModalForm$1, _objectSpread2(_objectSpread2({
10699
10720
  ref: modalFormRef,
@@ -10827,7 +10848,7 @@ var TabelCard = function TabelCard(props, ref) {
10827
10848
  return obj;
10828
10849
  }),
10829
10850
  search: false,
10830
- pagination: pagination != undefined ? pagination : {
10851
+ pagination: pagination !== null && pagination !== void 0 ? pagination : {
10831
10852
  pageSize: 20
10832
10853
  }
10833
10854
  }, extraProps)));
@@ -10997,6 +11018,201 @@ var WebsocketHeart = /*#__PURE__*/_createClass(function WebsocketHeart(_ref) {
10997
11018
  this.heartCheck = null;
10998
11019
  });
10999
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
+
11000
11216
  exports.AutoScroll = Index$9;
11001
11217
  exports.Breadcrumb = Index$b;
11002
11218
  exports.Button = WButton;
@@ -11020,6 +11236,7 @@ exports.Switch = WSwitch;
11020
11236
  exports.TabelCard = index$2;
11021
11237
  exports.Table = Table;
11022
11238
  exports.TreeSelect = Index$6;
11239
+ exports.VideoPlayer = VideoPlayer;
11023
11240
  exports.WDatePicker = Index$5;
11024
11241
  exports.WForm = WForm$1;
11025
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.10",
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",