@next-libs/cmdb-instances 7.28.2 → 7.28.3

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.
@@ -11,15 +11,37 @@ var _jsBase = require("js-base64");
11
11
  var _cmdbUtils = require("@next-libs/cmdb-utils");
12
12
  var _constants = require("../../../constants");
13
13
  var _instancesAttachmentDisplayModule = _interopRequireDefault(require("./instances-attachment-display.module.css"));
14
+ function getParams(url) {
15
+ const regex = /[?&]([^=&#]+)(?:=([^&#]*))?/g;
16
+ const params = {};
17
+ let match;
18
+ while ((match = regex.exec(url)) !== null) {
19
+ const key = decodeURIComponent(match[1]);
20
+ const value = match[2] ? decodeURIComponent(match[2]) : "";
21
+ params[key] = value;
22
+ }
23
+ return params;
24
+ }
25
+ function setUrlSearchParams(paramsObject) {
26
+ const params = new URLSearchParams();
27
+ for (const [key, value] of Object.entries(paramsObject)) {
28
+ params.set(key, value);
29
+ }
30
+ return params.toString();
31
+ }
14
32
  function InstancesAttachmentDisplay(props) {
15
33
  const {
16
34
  value
17
35
  } = props;
18
36
  // 下载
19
37
  const handleDownload = file => {
38
+ var _file$url, _file$url$split;
20
39
  const domain = `${window.location.origin}/next`;
21
40
  const link = document.createElement("a");
22
- link.href = `${domain}/${file.url}?fileName=${file.name}`;
41
+ link.href = `${domain}/${(_file$url = file.url) === null || _file$url === void 0 ? void 0 : (_file$url$split = _file$url.split("?")) === null || _file$url$split === void 0 ? void 0 : _file$url$split[0]}?${setUrlSearchParams({
42
+ fileName: file.name,
43
+ ...getParams(file.url)
44
+ })}`;
23
45
  link.download = file.name;
24
46
  document.body.appendChild(link);
25
47
  link.click();
@@ -27,10 +49,17 @@ function InstancesAttachmentDisplay(props) {
27
49
  };
28
50
  // 预览
29
51
  const handlePreview = file => {
30
- var _file$url;
52
+ var _file$url2, _file$url3, _file$url3$split;
31
53
  const domain = `${window.location.origin}/next`;
32
- const checksum = (_file$url = file.url) === null || _file$url === void 0 ? void 0 : _file$url.slice(_constants.DownloadFileUrl.length + 1, file.url.length);
33
- const url = `${domain}/${file.url}?checksum=${checksum}&fileName=${file.name}&fullfilename=${file.name}`;
54
+ const params = getParams(file.url);
55
+ const checksum = params.checksum || ((_file$url2 = file.url) === null || _file$url2 === void 0 ? void 0 : _file$url2.slice(_constants.DownloadFileUrl.length + 1, file.url.length));
56
+ const queryString = setUrlSearchParams({
57
+ checksum,
58
+ fileName: file.name,
59
+ fullfilename: file.name,
60
+ ...params
61
+ });
62
+ const url = `${domain}/${(_file$url3 = file.url) === null || _file$url3 === void 0 ? void 0 : (_file$url3$split = _file$url3.split("?")) === null || _file$url3$split === void 0 ? void 0 : _file$url3$split[0]}?${queryString}`;
34
63
  const previewUrl = `${domain}/api/gateway/file_previewer.preview.PreviewFile/onlinePreview?url=${encodeURIComponent(_jsBase.Base64.encode(url)
35
64
  // window.btoa(url)
36
65
  )}`;
@@ -1 +1 @@
1
- {"version":3,"file":"instances-attachment-display.js","names":["_react","_interopRequireDefault","require","_icons","_jsBase","_cmdbUtils","_constants","_instancesAttachmentDisplayModule","InstancesAttachmentDisplay","props","value","handleDownload","file","domain","window","location","origin","link","document","createElement","href","url","name","download","body","appendChild","click","removeChild","handlePreview","_file$url","checksum","slice","DownloadFileUrl","length","previewUrl","encodeURIComponent","Base64","encode","open","default","Fragment","map","isPreview","FileUtils","sizeCompare","supportFileType","key","id","className","styles","attachmentItem","FileTextOutlined","style","marginRight","attachmentText","attachmentSpan","EyeOutlined","attachmentIconItem","onClick","DownloadOutlined"],"sources":["../../../../../src/instance-detail/components/instances-attachment-display/instances-attachment-display.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n EyeOutlined,\n DownloadOutlined,\n FileTextOutlined,\n} from \"@ant-design/icons\";\nimport { Base64 } from \"js-base64\";\nimport { FileUtils } from \"@next-libs/cmdb-utils\";\nimport { DownloadFileUrl } from \"../../../constants\";\nimport styles from \"./instances-attachment-display.module.css\";\n\ninterface InstancesAttachmentDisplayProps {\n value?: Record<string, any>[];\n}\n\nexport function InstancesAttachmentDisplay(\n props: InstancesAttachmentDisplayProps\n): React.ReactElement {\n const { value } = props;\n // 下载\n const handleDownload = (file: any): void => {\n const domain = `${window.location.origin}/next`;\n const link = document.createElement(\"a\");\n link.href = `${domain}/${file.url}?fileName=${file.name}`;\n link.download = file.name;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n };\n // 预览\n const handlePreview = (file: any): void => {\n const domain = `${window.location.origin}/next`;\n const checksum = file.url?.slice(\n DownloadFileUrl.length + 1,\n file.url.length\n );\n const url = `${domain}/${file.url}?checksum=${checksum}&fileName=${file.name}&fullfilename=${file.name}`;\n const previewUrl = `${domain}/api/gateway/file_previewer.preview.PreviewFile/onlinePreview?url=${encodeURIComponent(\n Base64.encode(url)\n // window.btoa(url)\n )}`;\n window.open(previewUrl, \"_blank\");\n };\n return (\n <>\n {value?.map((file: any) => {\n // 是否支持预览\n const isPreview =\n !FileUtils.sizeCompare(file, 100) && FileUtils.supportFileType(file);\n return (\n <div key={file.id} className={styles.attachmentItem}>\n <span>\n <FileTextOutlined style={{ marginRight: \"6px\" }} />\n <span className={styles.attachmentText}>{file.name}</span>\n </span>\n <span className={styles.attachmentSpan}>\n {isPreview && (\n <EyeOutlined\n className={styles.attachmentIconItem}\n onClick={() => handlePreview(file)}\n />\n )}\n <DownloadOutlined\n className={styles.attachmentIconItem}\n onClick={() => handleDownload(file)}\n />\n </span>\n </div>\n );\n })}\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"instances-attachment-display.js","names":["_react","_interopRequireDefault","require","_icons","_jsBase","_cmdbUtils","_constants","_instancesAttachmentDisplayModule","getParams","url","regex","params","match","exec","key","decodeURIComponent","value","setUrlSearchParams","paramsObject","URLSearchParams","Object","entries","set","toString","InstancesAttachmentDisplay","props","handleDownload","file","_file$url","_file$url$split","domain","window","location","origin","link","document","createElement","href","split","fileName","name","download","body","appendChild","click","removeChild","handlePreview","_file$url2","_file$url3","_file$url3$split","checksum","slice","DownloadFileUrl","length","queryString","fullfilename","previewUrl","encodeURIComponent","Base64","encode","open","default","Fragment","map","isPreview","FileUtils","sizeCompare","supportFileType","id","className","styles","attachmentItem","FileTextOutlined","style","marginRight","attachmentText","attachmentSpan","EyeOutlined","attachmentIconItem","onClick","DownloadOutlined"],"sources":["../../../../../src/instance-detail/components/instances-attachment-display/instances-attachment-display.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n EyeOutlined,\n DownloadOutlined,\n FileTextOutlined,\n} from \"@ant-design/icons\";\nimport { Base64 } from \"js-base64\";\nimport { FileUtils } from \"@next-libs/cmdb-utils\";\nimport { DownloadFileUrl } from \"../../../constants\";\nimport styles from \"./instances-attachment-display.module.css\";\n\ninterface InstancesAttachmentDisplayProps {\n value?: Record<string, any>[];\n}\n\nfunction getParams(url: string): Record<string, any> {\n const regex = /[?&]([^=&#]+)(?:=([^&#]*))?/g;\n const params: Record<string, any> = {};\n let match;\n\n while ((match = regex.exec(url)) !== null) {\n const key = decodeURIComponent(match[1]);\n const value = match[2] ? decodeURIComponent(match[2]) : \"\";\n params[key] = value;\n }\n return params;\n}\n\nfunction setUrlSearchParams(paramsObject: Record<string, any>): string {\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(paramsObject)) {\n params.set(key, value);\n }\n return params.toString();\n}\n\nexport function InstancesAttachmentDisplay(\n props: InstancesAttachmentDisplayProps\n): React.ReactElement {\n const { value } = props;\n // 下载\n const handleDownload = (file: any): void => {\n const domain = `${window.location.origin}/next`;\n const link = document.createElement(\"a\");\n link.href = `${domain}/${file.url?.split(\"?\")?.[0]}?${setUrlSearchParams({\n fileName: file.name,\n ...getParams(file.url),\n })}`;\n link.download = file.name;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n };\n // 预览\n const handlePreview = (file: any): void => {\n const domain = `${window.location.origin}/next`;\n const params: Record<string, any> = getParams(file.url);\n const checksum =\n params.checksum ||\n file.url?.slice(DownloadFileUrl.length + 1, file.url.length);\n const queryString = setUrlSearchParams({\n checksum,\n fileName: file.name,\n fullfilename: file.name,\n ...params,\n });\n const url = `${domain}/${file.url?.split(\"?\")?.[0]}?${queryString}`;\n const previewUrl = `${domain}/api/gateway/file_previewer.preview.PreviewFile/onlinePreview?url=${encodeURIComponent(\n Base64.encode(url)\n // window.btoa(url)\n )}`;\n window.open(previewUrl, \"_blank\");\n };\n return (\n <>\n {value?.map((file: any) => {\n // 是否支持预览\n const isPreview =\n !FileUtils.sizeCompare(file, 100) && FileUtils.supportFileType(file);\n return (\n <div key={file.id} className={styles.attachmentItem}>\n <span>\n <FileTextOutlined style={{ marginRight: \"6px\" }} />\n <span className={styles.attachmentText}>{file.name}</span>\n </span>\n <span className={styles.attachmentSpan}>\n {isPreview && (\n <EyeOutlined\n className={styles.attachmentIconItem}\n onClick={() => handlePreview(file)}\n />\n )}\n <DownloadOutlined\n className={styles.attachmentIconItem}\n onClick={() => handleDownload(file)}\n />\n </span>\n </div>\n );\n })}\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,18 +1,40 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
1
2
  import React from "react";
2
3
  import { EyeOutlined, DownloadOutlined, FileTextOutlined } from "@ant-design/icons";
3
4
  import { Base64 } from "js-base64";
4
5
  import { FileUtils } from "@next-libs/cmdb-utils";
5
6
  import { DownloadFileUrl } from "../../../constants";
6
7
  import styles from "./instances-attachment-display.module.css";
8
+ function getParams(url) {
9
+ var regex = /[?&]([^=&#]+)(?:=([^&#]*))?/g;
10
+ var params = {};
11
+ var match;
12
+ while ((match = regex.exec(url)) !== null) {
13
+ var key = decodeURIComponent(match[1]);
14
+ var value = match[2] ? decodeURIComponent(match[2]) : "";
15
+ params[key] = value;
16
+ }
17
+ return params;
18
+ }
19
+ function setUrlSearchParams(paramsObject) {
20
+ var params = new URLSearchParams();
21
+ for (var [key, value] of Object.entries(paramsObject)) {
22
+ params.set(key, value);
23
+ }
24
+ return params.toString();
25
+ }
7
26
  export function InstancesAttachmentDisplay(props) {
8
27
  var {
9
28
  value
10
29
  } = props;
11
30
  // 下载
12
31
  var handleDownload = file => {
32
+ var _file$url, _file$url$split;
13
33
  var domain = "".concat(window.location.origin, "/next");
14
34
  var link = document.createElement("a");
15
- link.href = "".concat(domain, "/").concat(file.url, "?fileName=").concat(file.name);
35
+ link.href = "".concat(domain, "/").concat((_file$url = file.url) === null || _file$url === void 0 ? void 0 : (_file$url$split = _file$url.split("?")) === null || _file$url$split === void 0 ? void 0 : _file$url$split[0], "?").concat(setUrlSearchParams(_objectSpread({
36
+ fileName: file.name
37
+ }, getParams(file.url))));
16
38
  link.download = file.name;
17
39
  document.body.appendChild(link);
18
40
  link.click();
@@ -20,10 +42,16 @@ export function InstancesAttachmentDisplay(props) {
20
42
  };
21
43
  // 预览
22
44
  var handlePreview = file => {
23
- var _file$url;
45
+ var _file$url2, _file$url3, _file$url3$split;
24
46
  var domain = "".concat(window.location.origin, "/next");
25
- var checksum = (_file$url = file.url) === null || _file$url === void 0 ? void 0 : _file$url.slice(DownloadFileUrl.length + 1, file.url.length);
26
- var url = "".concat(domain, "/").concat(file.url, "?checksum=").concat(checksum, "&fileName=").concat(file.name, "&fullfilename=").concat(file.name);
47
+ var params = getParams(file.url);
48
+ var checksum = params.checksum || ((_file$url2 = file.url) === null || _file$url2 === void 0 ? void 0 : _file$url2.slice(DownloadFileUrl.length + 1, file.url.length));
49
+ var queryString = setUrlSearchParams(_objectSpread({
50
+ checksum,
51
+ fileName: file.name,
52
+ fullfilename: file.name
53
+ }, params));
54
+ var url = "".concat(domain, "/").concat((_file$url3 = file.url) === null || _file$url3 === void 0 ? void 0 : (_file$url3$split = _file$url3.split("?")) === null || _file$url3$split === void 0 ? void 0 : _file$url3$split[0], "?").concat(queryString);
27
55
  var previewUrl = "".concat(domain, "/api/gateway/file_previewer.preview.PreviewFile/onlinePreview?url=").concat(encodeURIComponent(Base64.encode(url)
28
56
  // window.btoa(url)
29
57
  ));
@@ -1 +1 @@
1
- {"version":3,"file":"instances-attachment-display.js","names":["React","EyeOutlined","DownloadOutlined","FileTextOutlined","Base64","FileUtils","DownloadFileUrl","styles","InstancesAttachmentDisplay","props","value","handleDownload","file","domain","concat","window","location","origin","link","document","createElement","href","url","name","download","body","appendChild","click","removeChild","handlePreview","_file$url","checksum","slice","length","previewUrl","encodeURIComponent","encode","open","Fragment","map","isPreview","sizeCompare","supportFileType","key","id","className","attachmentItem","style","marginRight","attachmentText","attachmentSpan","attachmentIconItem","onClick"],"sources":["../../../../../src/instance-detail/components/instances-attachment-display/instances-attachment-display.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n EyeOutlined,\n DownloadOutlined,\n FileTextOutlined,\n} from \"@ant-design/icons\";\nimport { Base64 } from \"js-base64\";\nimport { FileUtils } from \"@next-libs/cmdb-utils\";\nimport { DownloadFileUrl } from \"../../../constants\";\nimport styles from \"./instances-attachment-display.module.css\";\n\ninterface InstancesAttachmentDisplayProps {\n value?: Record<string, any>[];\n}\n\nexport function InstancesAttachmentDisplay(\n props: InstancesAttachmentDisplayProps\n): React.ReactElement {\n const { value } = props;\n // 下载\n const handleDownload = (file: any): void => {\n const domain = `${window.location.origin}/next`;\n const link = document.createElement(\"a\");\n link.href = `${domain}/${file.url}?fileName=${file.name}`;\n link.download = file.name;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n };\n // 预览\n const handlePreview = (file: any): void => {\n const domain = `${window.location.origin}/next`;\n const checksum = file.url?.slice(\n DownloadFileUrl.length + 1,\n file.url.length\n );\n const url = `${domain}/${file.url}?checksum=${checksum}&fileName=${file.name}&fullfilename=${file.name}`;\n const previewUrl = `${domain}/api/gateway/file_previewer.preview.PreviewFile/onlinePreview?url=${encodeURIComponent(\n Base64.encode(url)\n // window.btoa(url)\n )}`;\n window.open(previewUrl, \"_blank\");\n };\n return (\n <>\n {value?.map((file: any) => {\n // 是否支持预览\n const isPreview =\n !FileUtils.sizeCompare(file, 100) && FileUtils.supportFileType(file);\n return (\n <div key={file.id} className={styles.attachmentItem}>\n <span>\n <FileTextOutlined style={{ marginRight: \"6px\" }} />\n <span className={styles.attachmentText}>{file.name}</span>\n </span>\n <span className={styles.attachmentSpan}>\n {isPreview && (\n <EyeOutlined\n className={styles.attachmentIconItem}\n onClick={() => handlePreview(file)}\n />\n )}\n <DownloadOutlined\n className={styles.attachmentIconItem}\n onClick={() => handleDownload(file)}\n />\n </span>\n </div>\n );\n })}\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"instances-attachment-display.js","names":["React","EyeOutlined","DownloadOutlined","FileTextOutlined","Base64","FileUtils","DownloadFileUrl","styles","getParams","url","regex","params","match","exec","key","decodeURIComponent","value","setUrlSearchParams","paramsObject","URLSearchParams","Object","entries","set","toString","InstancesAttachmentDisplay","props","handleDownload","file","_file$url","_file$url$split","domain","concat","window","location","origin","link","document","createElement","href","split","_objectSpread","fileName","name","download","body","appendChild","click","removeChild","handlePreview","_file$url2","_file$url3","_file$url3$split","checksum","slice","length","queryString","fullfilename","previewUrl","encodeURIComponent","encode","open","Fragment","map","isPreview","sizeCompare","supportFileType","id","className","attachmentItem","style","marginRight","attachmentText","attachmentSpan","attachmentIconItem","onClick"],"sources":["../../../../../src/instance-detail/components/instances-attachment-display/instances-attachment-display.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n EyeOutlined,\n DownloadOutlined,\n FileTextOutlined,\n} from \"@ant-design/icons\";\nimport { Base64 } from \"js-base64\";\nimport { FileUtils } from \"@next-libs/cmdb-utils\";\nimport { DownloadFileUrl } from \"../../../constants\";\nimport styles from \"./instances-attachment-display.module.css\";\n\ninterface InstancesAttachmentDisplayProps {\n value?: Record<string, any>[];\n}\n\nfunction getParams(url: string): Record<string, any> {\n const regex = /[?&]([^=&#]+)(?:=([^&#]*))?/g;\n const params: Record<string, any> = {};\n let match;\n\n while ((match = regex.exec(url)) !== null) {\n const key = decodeURIComponent(match[1]);\n const value = match[2] ? decodeURIComponent(match[2]) : \"\";\n params[key] = value;\n }\n return params;\n}\n\nfunction setUrlSearchParams(paramsObject: Record<string, any>): string {\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(paramsObject)) {\n params.set(key, value);\n }\n return params.toString();\n}\n\nexport function InstancesAttachmentDisplay(\n props: InstancesAttachmentDisplayProps\n): React.ReactElement {\n const { value } = props;\n // 下载\n const handleDownload = (file: any): void => {\n const domain = `${window.location.origin}/next`;\n const link = document.createElement(\"a\");\n link.href = `${domain}/${file.url?.split(\"?\")?.[0]}?${setUrlSearchParams({\n fileName: file.name,\n ...getParams(file.url),\n })}`;\n link.download = file.name;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n };\n // 预览\n const handlePreview = (file: any): void => {\n const domain = `${window.location.origin}/next`;\n const params: Record<string, any> = getParams(file.url);\n const checksum =\n params.checksum ||\n file.url?.slice(DownloadFileUrl.length + 1, file.url.length);\n const queryString = setUrlSearchParams({\n checksum,\n fileName: file.name,\n fullfilename: file.name,\n ...params,\n });\n const url = `${domain}/${file.url?.split(\"?\")?.[0]}?${queryString}`;\n const previewUrl = `${domain}/api/gateway/file_previewer.preview.PreviewFile/onlinePreview?url=${encodeURIComponent(\n Base64.encode(url)\n // window.btoa(url)\n )}`;\n window.open(previewUrl, \"_blank\");\n };\n return (\n <>\n {value?.map((file: any) => {\n // 是否支持预览\n const isPreview =\n !FileUtils.sizeCompare(file, 100) && FileUtils.supportFileType(file);\n return (\n <div key={file.id} className={styles.attachmentItem}>\n <span>\n <FileTextOutlined style={{ marginRight: \"6px\" }} />\n <span className={styles.attachmentText}>{file.name}</span>\n </span>\n <span className={styles.attachmentSpan}>\n {isPreview && (\n <EyeOutlined\n className={styles.attachmentIconItem}\n onClick={() => handlePreview(file)}\n />\n )}\n <DownloadOutlined\n className={styles.attachmentIconItem}\n onClick={() => handleDownload(file)}\n />\n </span>\n </div>\n );\n })}\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-libs/cmdb-instances",
3
- "version": "7.28.2",
3
+ "version": "7.28.3",
4
4
  "description": "> TODO: description",
5
5
  "homepage": "https://github.com/easyops-cn/next-libs/tree/master/libs/cmdb-instances",
6
6
  "license": "GPL-3.0",
@@ -52,5 +52,5 @@
52
52
  "js-base64": "^3.7.7",
53
53
  "marked": "^2.1.3"
54
54
  },
55
- "gitHead": "77d79ff0c9119017cada2cd32790af3e47d90b4f"
55
+ "gitHead": "426fe4d61899bc6a857c20a9b7cf8481ff6800e6"
56
56
  }