@cniot/android-pda-components 2.0.0-beta.27 → 2.0.0-beta.28
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/README.md +4 -0
- package/es/index.cjs.js +11 -11
- package/es/index.es.js +98 -23
- package/package.json +1 -1
package/es/index.es.js
CHANGED
|
@@ -4449,6 +4449,16 @@ class PreviewItem extends Component {
|
|
|
4449
4449
|
}
|
|
4450
4450
|
render() {
|
|
4451
4451
|
const { src, deletable, onView, box } = this.props;
|
|
4452
|
+
let isVideo = false;
|
|
4453
|
+
if (typeof src === "string") {
|
|
4454
|
+
const videoPattern = /\.(mp4|mov|avi|wmv|webm|ogg|m4v|3gp|m3u8)(\?.*)?$/i;
|
|
4455
|
+
if (videoPattern.test(src)) {
|
|
4456
|
+
isVideo = true;
|
|
4457
|
+
}
|
|
4458
|
+
if (/^data:video\//.test(src)) {
|
|
4459
|
+
isVideo = true;
|
|
4460
|
+
}
|
|
4461
|
+
}
|
|
4452
4462
|
return /* @__PURE__ */ React__default.createElement("div", {
|
|
4453
4463
|
className: "image-space-item"
|
|
4454
4464
|
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
@@ -4457,7 +4467,14 @@ class PreviewItem extends Component {
|
|
|
4457
4467
|
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
4458
4468
|
className: `${classPrefix$r}-cell-image`,
|
|
4459
4469
|
style: { width: box, height: box }
|
|
4460
|
-
}, /* @__PURE__ */ React__default.createElement("
|
|
4470
|
+
}, isVideo ? /* @__PURE__ */ React__default.createElement("video", {
|
|
4471
|
+
className: `${classPrefix$r}-video-thumb`,
|
|
4472
|
+
src,
|
|
4473
|
+
style: { width: "100%", height: "100%", objectFit: "cover" },
|
|
4474
|
+
muted: true,
|
|
4475
|
+
preload: "metadata",
|
|
4476
|
+
onClick: onView
|
|
4477
|
+
}) : /* @__PURE__ */ React__default.createElement("img", {
|
|
4461
4478
|
className: `${classPrefix$r}-img`,
|
|
4462
4479
|
src,
|
|
4463
4480
|
fit: "cover",
|
|
@@ -4521,28 +4538,37 @@ class ImageViewer extends Component {
|
|
|
4521
4538
|
if (e2.target.getAttribute("class") !== "image-viewer-image-wrapper" && e2.target.getAttribute("class") !== "image-viewer-loading")
|
|
4522
4539
|
return;
|
|
4523
4540
|
const { afterClose } = this.props;
|
|
4524
|
-
this.setState(
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4541
|
+
this.setState(
|
|
4542
|
+
{
|
|
4543
|
+
visible: false
|
|
4544
|
+
},
|
|
4545
|
+
() => {
|
|
4546
|
+
afterClose && afterClose();
|
|
4547
|
+
}
|
|
4548
|
+
);
|
|
4529
4549
|
});
|
|
4530
4550
|
__publicField(this, "onClose", () => {
|
|
4531
4551
|
const { onClose, images } = this.props;
|
|
4532
4552
|
const { currentIndex } = this.state;
|
|
4533
4553
|
if (images.length === 0) {
|
|
4534
|
-
this.setState(
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
|
|
4554
|
+
this.setState(
|
|
4555
|
+
{
|
|
4556
|
+
visible: false
|
|
4557
|
+
},
|
|
4558
|
+
() => {
|
|
4559
|
+
onClose && onClose(images[currentIndex], currentIndex);
|
|
4560
|
+
}
|
|
4561
|
+
);
|
|
4539
4562
|
} else {
|
|
4540
|
-
this.setState(
|
|
4541
|
-
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
|
|
4545
|
-
|
|
4563
|
+
this.setState(
|
|
4564
|
+
{
|
|
4565
|
+
currentIndex: 0,
|
|
4566
|
+
visible: false
|
|
4567
|
+
},
|
|
4568
|
+
() => {
|
|
4569
|
+
onClose && onClose(images[currentIndex], currentIndex);
|
|
4570
|
+
}
|
|
4571
|
+
);
|
|
4546
4572
|
}
|
|
4547
4573
|
});
|
|
4548
4574
|
__publicField(this, "onPrev", (e2) => {
|
|
@@ -4561,6 +4587,37 @@ class ImageViewer extends Component {
|
|
|
4561
4587
|
loading: true
|
|
4562
4588
|
});
|
|
4563
4589
|
});
|
|
4590
|
+
__publicField(this, "renderImage", () => {
|
|
4591
|
+
const { currentIndex, visible, loading: loading2 } = this.state;
|
|
4592
|
+
const imageItem = this.props.images[currentIndex];
|
|
4593
|
+
const src = imageItem.url;
|
|
4594
|
+
let isVideo = false;
|
|
4595
|
+
if (typeof src === "string") {
|
|
4596
|
+
const videoPattern = /\.(mp4|mov|avi|wmv|webm|ogg|m4v|3gp|m3u8)(\?.*)?$/i;
|
|
4597
|
+
if (videoPattern.test(src)) {
|
|
4598
|
+
isVideo = true;
|
|
4599
|
+
}
|
|
4600
|
+
if (/^data:video\//.test(src)) {
|
|
4601
|
+
isVideo = true;
|
|
4602
|
+
}
|
|
4603
|
+
}
|
|
4604
|
+
if (isVideo) {
|
|
4605
|
+
return /* @__PURE__ */ React__default.createElement("video", {
|
|
4606
|
+
src,
|
|
4607
|
+
controls: true,
|
|
4608
|
+
autoPlay: true,
|
|
4609
|
+
muted: true,
|
|
4610
|
+
style: { maxWidth: "100%", maxHeight: "100%" },
|
|
4611
|
+
onLoadedData: this.handleImageLoaded
|
|
4612
|
+
});
|
|
4613
|
+
} else {
|
|
4614
|
+
return /* @__PURE__ */ React__default.createElement("img", {
|
|
4615
|
+
src,
|
|
4616
|
+
style: { width: loading2 ? 1 : "auto" },
|
|
4617
|
+
onLoad: this.handleImageLoaded
|
|
4618
|
+
});
|
|
4619
|
+
}
|
|
4620
|
+
});
|
|
4564
4621
|
this.state = {
|
|
4565
4622
|
visible: props.defaultVisible || false,
|
|
4566
4623
|
currentIndex: 0,
|
|
@@ -4595,11 +4652,7 @@ class ImageViewer extends Component {
|
|
|
4595
4652
|
className: "image-viewer-slides-inner"
|
|
4596
4653
|
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
4597
4654
|
className: "image-viewer-image-wrapper"
|
|
4598
|
-
}, /* @__PURE__ */ React__default.createElement("
|
|
4599
|
-
src: this.props.images[currentIndex].url,
|
|
4600
|
-
style: { width: loading2 ? 1 : "auto" },
|
|
4601
|
-
onLoad: this.handleImageLoaded
|
|
4602
|
-
}))), images.length > 1 ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, currentIndex === 0 ? null : /* @__PURE__ */ React__default.createElement("div", {
|
|
4655
|
+
}, this.renderImage())), images.length > 1 ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, currentIndex === 0 ? null : /* @__PURE__ */ React__default.createElement("div", {
|
|
4603
4656
|
className: "viewer-image-arrow viewer-prev",
|
|
4604
4657
|
onClick: this.onPrev
|
|
4605
4658
|
}, /* @__PURE__ */ React__default.createElement("svg", {
|
|
@@ -18738,7 +18791,7 @@ class ImageUploader extends Component {
|
|
|
18738
18791
|
onError
|
|
18739
18792
|
} = this.props;
|
|
18740
18793
|
const isCameraMode = capture && capture === "camera";
|
|
18741
|
-
const uploadPromise = uploadMode === "takePhoto" ? wvCameraTakePhoto(isCameraMode) : takePhotoMethod2(compressSize);
|
|
18794
|
+
const uploadPromise = uploadMode === "takeVideo" ? takeVideo() : uploadMode === "takePhoto" ? wvCameraTakePhoto(isCameraMode) : takePhotoMethod2(compressSize);
|
|
18742
18795
|
uploadPromise.then((ret) => {
|
|
18743
18796
|
onBeforeUpload && onBeforeUpload(ret);
|
|
18744
18797
|
beforeUpload && beforeUpload(ret);
|
|
@@ -18889,6 +18942,28 @@ function takePhotoMethod2(compressSize = 200) {
|
|
|
18889
18942
|
);
|
|
18890
18943
|
});
|
|
18891
18944
|
}
|
|
18945
|
+
function takeVideo(maxDuration = 30) {
|
|
18946
|
+
return new Promise((resolve, reject) => {
|
|
18947
|
+
const params = {
|
|
18948
|
+
domain: "camera",
|
|
18949
|
+
method: "takeVideo",
|
|
18950
|
+
params: { maxDuration }
|
|
18951
|
+
};
|
|
18952
|
+
window.WindVane.call(
|
|
18953
|
+
"WindvanePlugin",
|
|
18954
|
+
"invoke",
|
|
18955
|
+
JSON.stringify(params),
|
|
18956
|
+
(e2) => {
|
|
18957
|
+
console.log("\u89C6\u9891\u6210\u529F:", e2);
|
|
18958
|
+
resolve(e2.data);
|
|
18959
|
+
},
|
|
18960
|
+
(e2) => {
|
|
18961
|
+
console.log("\u89C6\u9891\u5931\u8D25:", e2);
|
|
18962
|
+
reject(e2);
|
|
18963
|
+
}
|
|
18964
|
+
);
|
|
18965
|
+
});
|
|
18966
|
+
}
|
|
18892
18967
|
var index$m = "";
|
|
18893
18968
|
var index$l = "";
|
|
18894
18969
|
var index$k = "";
|