namirasoft-site-react 1.4.302 → 1.4.304

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.
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { IBaseComponentProps } from "../props/IBaseComponentProps";
3
3
  export interface NSCopyProps extends IBaseComponentProps {
4
4
  children: React.ReactNode;
5
+ value?: string;
5
6
  }
6
7
  export interface NSCopyState {
7
8
  copied: boolean;
@@ -7,12 +7,13 @@ export function NSCopy(props) {
7
7
  const service = useRef(new SetTimeouService());
8
8
  let [state, setState] = useState({ copied: false });
9
9
  function onCopy(e) {
10
- var _a, _b;
10
+ var _a, _b, _c;
11
11
  e.stopPropagation();
12
12
  if (NSCopyParent_ref.current) {
13
- navigator.clipboard.writeText((_a = NSCopyParent_ref.current) === null || _a === void 0 ? void 0 : _a.innerText);
13
+ let value = (_a = props.value) !== null && _a !== void 0 ? _a : (_b = NSCopyParent_ref.current) === null || _b === void 0 ? void 0 : _b.innerText;
14
+ navigator.clipboard.writeText(value);
14
15
  setState({ copied: true });
15
- (_b = service.current) === null || _b === void 0 ? void 0 : _b.setTimeoutIfNotCalledAgain(() => { setState({ copied: false }); }, 3000);
16
+ (_c = service.current) === null || _c === void 0 ? void 0 : _c.setTimeoutIfNotCalledAgain(() => { setState({ copied: false }); }, 3000);
16
17
  }
17
18
  }
18
19
  return (_jsxs("div", { ref: NSCopyParent_ref, id: props.id, className: `d-flex align-items-center justify-content-center ${(_b = (_a = props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")) !== null && _b !== void 0 ? _b : ""}`, style: props.style, children: [_jsx("div", { children: props.children }), _jsx("img", { src: state.copied ? "https://static.namirasoft.com/image/concept/check/on/blue.svg" : "https://static.namirasoft.com/image/concept/copy/blue.svg", alt: 'Copy', width: 16, height: 16, onClick: onCopy, style: {
@@ -1 +1 @@
1
- {"version":3,"file":"NSCopy.js","sourceRoot":"","sources":["../../src/components/NSCopy.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAYnD,MAAM,UAAU,MAAM,CAAC,KAAkB;;IAExC,IAAI,gBAAgB,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAmB,IAAI,gBAAgB,EAAE,CAAC,CAAC;IAEjE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjE,SAAS,MAAM,CAAC,CAAqC;;QAEpD,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpB,IAAI,gBAAgB,CAAC,OAAO,EAC5B,CAAC;YACA,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAA,gBAAgB,CAAC,OAAO,0CAAE,SAAS,CAAC,CAAC;YAEnE,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3B,MAAA,OAAO,CAAC,OAAO,0CAAE,0BAA0B,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1F,CAAC;IACF,CAAC;IAED,OAAO,CACN,eACC,GAAG,EAAE,gBAAgB,EACrB,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,SAAS,EAAE,oDAAoD,MAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,mCAAI,EAAE,EAAE,EACjG,KAAK,EAAE,KAAK,CAAC,KAAK,aAElB,wBACE,KAAK,CAAC,QAAQ,GACV,EACN,cAAK,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC,CAAC,2DAA2D,EACrJ,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,OAAO,EAAE,MAAM,EACf,KAAK,EAAE;oBACN,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,KAAK;iBACjB,GACA,IACG,CACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"NSCopy.js","sourceRoot":"","sources":["../../src/components/NSCopy.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAanD,MAAM,UAAU,MAAM,CAAC,KAAkB;;IAExC,IAAI,gBAAgB,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAmB,IAAI,gBAAgB,EAAE,CAAC,CAAC;IAEjE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjE,SAAS,MAAM,CAAC,CAAqC;;QAEpD,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpB,IAAI,gBAAgB,CAAC,OAAO,EAC5B,CAAC;YACA,IAAI,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,MAAA,gBAAgB,CAAC,OAAO,0CAAE,SAAS,CAAC;YAC/D,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAErC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3B,MAAA,OAAO,CAAC,OAAO,0CAAE,0BAA0B,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1F,CAAC;IACF,CAAC;IAED,OAAO,CACN,eACC,GAAG,EAAE,gBAAgB,EACrB,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,SAAS,EAAE,oDAAoD,MAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,mCAAI,EAAE,EAAE,EACjG,KAAK,EAAE,KAAK,CAAC,KAAK,aAElB,wBACE,KAAK,CAAC,QAAQ,GACV,EACN,cAAK,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC,CAAC,2DAA2D,EACrJ,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,OAAO,EAAE,MAAM,EACf,KAAK,EAAE;oBACN,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,KAAK;iBACjB,GACA,IACG,CACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { IBaseComponentProps } from '../main';
2
+ import { IStorage } from 'namirasoft-core';
3
+ import { Globe } from 'namirasoft-site-map';
4
+ export interface NSIDProps extends IBaseComponentProps {
5
+ id: string;
6
+ globe: Globe | null;
7
+ storage: IStorage | null;
8
+ }
9
+ export interface NSIDState {
10
+ tried: boolean;
11
+ text?: string;
12
+ }
13
+ export declare function NSID(props: NSIDProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,57 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { useEffect, useState } from 'react';
12
+ import { BaseURLImageFormatter, NSCopy } from '../main';
13
+ import { BaseUUID, CacheService } from 'namirasoft-core';
14
+ import { Globe } from 'namirasoft-site-map';
15
+ import Styles from './NSID.module.css';
16
+ export function NSID(props) {
17
+ var _a;
18
+ const [state, setState] = useState({
19
+ tried: false,
20
+ });
21
+ let short = BaseUUID.getShort(props.id);
22
+ let namirasoft = (_a = props.globe) !== null && _a !== void 0 ? _a : new Globe();
23
+ let info = namirasoft.getByShortName(short);
24
+ let cache = null;
25
+ if (props.storage)
26
+ cache = new CacheService(info.product.id + "-" + info.table.name, props.storage, 30, () => __awaiter(this, void 0, void 0, function* () { return "0.0.0"; }), () => __awaiter(this, void 0, void 0, function* () {
27
+ var _a, _b;
28
+ if (info.table.back_end.get) {
29
+ try {
30
+ let row = yield info.table.back_end.get(props.id);
31
+ return (_b = (_a = row.name) !== null && _a !== void 0 ? _a : row.description) !== null && _b !== void 0 ? _b : "";
32
+ }
33
+ catch (error) {
34
+ }
35
+ }
36
+ return "";
37
+ }));
38
+ useEffect(() => {
39
+ if (cache)
40
+ cache.get().then(text => {
41
+ setState({ tried: true, text });
42
+ });
43
+ else
44
+ setState({ tried: true });
45
+ }, [props.id]);
46
+ let text = state.text;
47
+ if (!text)
48
+ text = props.id;
49
+ let formatter = new BaseURLImageFormatter();
50
+ return (_jsxs(NSCopy, { value: props.id, children: [!state.tried &&
51
+ _jsx("div", { className: Styles.ns_loader }), formatter.format({
52
+ text,
53
+ href: info.table.front_end.getViewLink(props.id + ""),
54
+ image: { url: info.product.logo, alt: info.product.logo }
55
+ })] }));
56
+ }
57
+ //# sourceMappingURL=NSID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NSID.js","sourceRoot":"","sources":["../../src/components/NSID.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAuB,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAY,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAevC,MAAM,UAAU,IAAI,CAAC,KAAgB;;IAEpC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAY;QAC7C,KAAK,EAAE,KAAK;KACZ,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACxC,IAAI,UAAU,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,IAAI,KAAK,EAAE,CAAC;IAC5C,IAAI,IAAI,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,KAAK,CAAC,OAAO;QAChB,KAAK,GAAG,IAAI,YAAY,CAAS,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,GAAS,EAAE,gDAAC,OAAA,OAAO,CAAA,GAAA,EAAE,GAAS,EAAE;;YAE5H,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAC3B,CAAC;gBACA,IACA,CAAC;oBACA,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAClD,OAAO,MAAA,MAAA,GAAG,CAAC,IAAI,mCAAI,GAAG,CAAC,WAAW,mCAAI,EAAE,CAAC;gBAC1C,CAAC;gBAAC,OAAO,KAAK,EACd,CAAC;gBACD,CAAC;YACF,CAAC;YACD,OAAO,EAAE,CAAC;QACX,CAAC,CAAA,CAAC,CAAC;IAEJ,SAAS,CAAC,GAAG,EAAE;QAEd,IAAI,KAAK;YACR,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAEvB,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;;YAEH,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAEf,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI;QACR,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;IAEjB,IAAI,SAAS,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAC5C,OAAO,CACN,MAAC,MAAM,IACN,KAAK,EAAE,KAAK,CAAC,EAAE,aAGd,CAAC,KAAK,CAAC,KAAK;gBACZ,cAAK,SAAS,EAAE,MAAM,CAAC,SAAS,GAC1B,EAGN,SAAS,CAAC,MAAM,CAAC;gBAChB,IAAI;gBACJ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;gBACrD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;aACzD,CAAC,IAEK,CACT,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ .ns_id_loader {
2
+ margin: 0;
3
+ width: 24px;
4
+ height: 24px;
5
+ border-radius: 50%;
6
+ background: conic-gradient(#0000 10%, #001664) content-box;
7
+ -webkit-mask:
8
+ repeating-conic-gradient(#0000 0deg, #000 1deg 20deg, #0000 21deg 36deg),
9
+ radial-gradient(farthest-side, #0000 calc(100% - 9px), #000 calc(100% - 8px));
10
+ -webkit-mask-composite: destination-in;
11
+ animation: rotate 1s infinite steps(10);
12
+ }
13
+
14
+ @keyframes rotate {
15
+ to {
16
+ transform: rotate(1turn)
17
+ }
18
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"NSLoading.js","sourceRoot":"","sources":["../../src/components/NSLoading.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAQ5C,MAAM,UAAU,SAAS,CAAC,KAAqB;;IAE9C,OAAO,CACN,eACC,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,SAAS,EAAE,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,mCAAI,EAAE,GAAG,EAC7E,KAAK,EAAE,KAAK,CAAC,KAAK,aAElB,uBAAK,MAAA,KAAK,CAAC,KAAK,mCAAI,SAAS,GAAM,EACnC,eAAM,SAAS,EAAE,MAAM,CAAC,SAAS,GAAS,EAC1C,0CAAsB,IACjB,CACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"NSLoading.js","sourceRoot":"","sources":["../../src/components/NSLoading.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAO5C,MAAM,UAAU,SAAS,CAAC,KAAqB;;IAE9C,OAAO,CACN,eACC,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,SAAS,EAAE,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAA,MAAA,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,mCAAI,EAAE,GAAG,EAC7E,KAAK,EAAE,KAAK,CAAC,KAAK,aAElB,uBAAK,MAAA,KAAK,CAAC,KAAK,mCAAI,SAAS,GAAM,EACnC,eAAM,SAAS,EAAE,MAAM,CAAC,SAAS,GAAS,EAC1C,0CAAsB,IACjB,CACN,CAAC;AACH,CAAC"}
@@ -9,5 +9,5 @@ export declare class BaseURLImageFormatter extends BaseColumnFormatter {
9
9
  alt: string;
10
10
  };
11
11
  href: string;
12
- }, _: TableColumnInfo, __: TableRowInfo<any>, printable: boolean): any;
12
+ }, _?: TableColumnInfo, __?: TableRowInfo<any>, printable?: boolean): any;
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseURLImageFormatter.js","sourceRoot":"","sources":["../../src/formatter/BaseURLImageFormatter.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,OAAO,qBAAsB,SAAQ,mBAAmB;IAE1D,YAAY,QAAgB,OAAO;QAE/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACQ,MAAM,CAAC,KAIf,EAAE,CAAkB,EAAE,EAAqB,EAAE,SAAkB;QAE5D,IAAI,CAAC,SAAS,EACd,CAAC;YACG,OAAO,CACH,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aACjD,cAAK,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,YAE7F,YAAG,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,YAAE,KAAK,CAAC,IAAI,GAAK,IACnE,CACV,CAAC;QACN,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC;IACtB,CAAC;CACJ"}
1
+ {"version":3,"file":"BaseURLImageFormatter.js","sourceRoot":"","sources":["../../src/formatter/BaseURLImageFormatter.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,OAAO,qBAAsB,SAAQ,mBAAmB;IAE1D,YAAY,QAAgB,OAAO;QAE/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACQ,MAAM,CAAC,KAIf,EAAE,CAAmB,EAAE,EAAsB,EAAE,SAAmB;QAE/D,IAAI,CAAC,SAAS,EACd,CAAC;YACG,OAAO,CACH,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aACjD,cAAK,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,YAE7F,YAAG,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,YAAE,KAAK,CAAC,IAAI,GAAK,IACnE,CACV,CAAC;QACN,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC;IACtB,CAAC;CACJ"}
@@ -1,7 +1,10 @@
1
+ import { IStorage } from "namirasoft-core";
1
2
  import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
3
  import { TableColumnInfo, TableRowInfo } from "../components/NSTable";
4
+ import { Globe } from "namirasoft-site-map";
3
5
  export declare class IDFormatter extends BaseColumnFormatter {
4
- private formatter;
5
- constructor(width?: string);
6
- format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean): any;
6
+ private globe;
7
+ private storage;
8
+ constructor(globe: Globe | null, storage: IStorage | null, width?: string);
9
+ format(value: any, _: TableColumnInfo, __: TableRowInfo<any>, printable: boolean): any;
7
10
  }
@@ -1,29 +1,18 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { BaseUUID } from "namirasoft-core";
3
2
  import { BaseColumnFormatter } from "./BaseColumnFormatter";
4
- import { Globe } from "namirasoft-site-map";
5
- import { BaseURLImageFormatter } from "./BaseURLImageFormatter";
6
- import { NSCopy } from "../main";
3
+ import { NSID } from "../components/NSID";
7
4
  export class IDFormatter extends BaseColumnFormatter {
8
- constructor(width = "224px") {
5
+ constructor(globe, storage, width = "224px") {
9
6
  super();
10
- this.formatter = new BaseURLImageFormatter();
7
+ this.globe = globe;
8
+ this.storage = storage;
11
9
  this.onclick_overrided = true;
12
10
  this.width = width;
13
11
  }
14
- format(value, column, row, printable) {
12
+ format(value, _, __, printable) {
15
13
  try {
16
14
  if (!printable)
17
- if (BaseUUID.isValid(value)) {
18
- let short = BaseUUID.getShort(value);
19
- let namirasoft = new Globe();
20
- let info = namirasoft.getByShortName(short);
21
- return (_jsx(NSCopy, { children: this.formatter.format({
22
- text: value,
23
- href: info.table.front_end.getViewLink(value + ""),
24
- image: { url: info.product.logo, alt: info.product.logo }
25
- }, column, row, printable) }));
26
- }
15
+ return _jsx(NSID, { id: value, globe: this.globe, storage: this.storage });
27
16
  }
28
17
  catch (error) {
29
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IDFormatter.js","sourceRoot":"","sources":["../../src/formatter/IDFormatter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,OAAO,WAAY,SAAQ,mBAAmB;IAIhD,YAAY,QAAgB,OAAO;QAE/B,KAAK,EAAE,CAAC;QAJJ,cAAS,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAK5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACQ,MAAM,CAAC,KAAU,EAAE,MAAuB,EAAE,GAAsB,EAAE,SAAkB;QAE3F,IACA,CAAC;YACG,IAAI,CAAC,SAAS;gBACV,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAC3B,CAAC;oBACG,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACrC,IAAI,UAAU,GAAG,IAAI,KAAK,EAAE,CAAC;oBAC7B,IAAI,IAAI,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAC5C,OAAO,CACH,KAAC,MAAM,cAEC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;4BAClB,IAAI,EAAE,KAAK;4BACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;4BAClD,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;yBAC5D,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,GAEzB,CACZ,CAAC;gBACN,CAAC;QACT,CAAC;QAAC,OAAO,KAAK,EACd,CAAC;QACD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
1
+ {"version":3,"file":"IDFormatter.js","sourceRoot":"","sources":["../../src/formatter/IDFormatter.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAG1C,MAAM,OAAO,WAAY,SAAQ,mBAAmB;IAKhD,YAAY,KAAmB,EAAE,OAAwB,EAAE,QAAgB,OAAO;QAE9E,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACQ,MAAM,CAAC,KAAU,EAAE,CAAkB,EAAE,EAAqB,EAAE,SAAkB;QAErF,IACA,CAAC;YACG,IAAI,CAAC,SAAS;gBACV,OAAO,KAAC,IAAI,IAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAS,CAAC;QAClF,CAAC;QAAC,OAAO,KAAK,EACd,CAAC;QACD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
package/dist/main.d.ts CHANGED
@@ -59,6 +59,7 @@ export * from "./components/NSFilterBox";
59
59
  export * from "./components/NSFilterItem";
60
60
  export * from "./components/NSFooter";
61
61
  export * from "./components/NSHeader";
62
+ export * from "./components/NSID";
62
63
  export * from "./components/NSLabel";
63
64
  export * from "./components/NSLabelErrorNotifier";
64
65
  export * from "./components/NSLayout";
package/dist/main.js CHANGED
@@ -60,6 +60,7 @@ export * from "./components/NSFilterBox";
60
60
  export * from "./components/NSFilterItem";
61
61
  export * from "./components/NSFooter";
62
62
  export * from "./components/NSHeader";
63
+ export * from "./components/NSID";
63
64
  export * from "./components/NSLabel";
64
65
  export * from "./components/NSLabelErrorNotifier";
65
66
  export * from "./components/NSLayout";
@@ -132,7 +133,10 @@ export * from "./routing/NSRouterMaker";
132
133
  export * from "./Validator";
133
134
  export * from "./NSBoxBuilder";
134
135
  export * from "./CopyToClipboard";
135
- NSBaseMetaDatabase.getServerBaseURL = function (name) {
136
- return `REACT_APP_BASE_URL_${name.toUpperCase()}`;
137
- };
136
+ function main() {
137
+ NSBaseMetaDatabase.getServerBaseURL = function (name) {
138
+ return `REACT_APP_BASE_URL_${name.toUpperCase()}`;
139
+ };
140
+ }
141
+ main();
138
142
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AAGzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAA;AAG7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAG1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oCAAoC,CAAC;AAGnD,cAAc,0BAA0B,CAAC;AAGzC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,uBAAuB,CAAC;AAGtC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mCAAmC,CAAC;AAGlD,cAAc,uBAAuB,CAAC;AAGtC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAG3C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAG1C,cAAc,uBAAuB,CAAC;AAGtC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAG9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8BAA8B,CAAC;AAG7C,cAAc,oBAAoB,CAAC;AAGnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAG5C,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AAGzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AAExC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAElC,kBAAkB,CAAC,gBAAgB,GAAG,UAAU,IAAY;IAExD,OAAO,sBAAsB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;AACtD,CAAC,CAAA"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.302",
11
+ "version": "1.4.304",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -5,6 +5,7 @@ import { SetTimeouService } from "namirasoft-core";
5
5
  export interface NSCopyProps extends IBaseComponentProps
6
6
  {
7
7
  children: React.ReactNode;
8
+ value?: string;
8
9
  }
9
10
 
10
11
  export interface NSCopyState
@@ -25,7 +26,8 @@ export function NSCopy(props: NSCopyProps)
25
26
 
26
27
  if (NSCopyParent_ref.current)
27
28
  {
28
- navigator.clipboard.writeText(NSCopyParent_ref.current?.innerText);
29
+ let value = props.value ?? NSCopyParent_ref.current?.innerText;
30
+ navigator.clipboard.writeText(value);
29
31
 
30
32
  setState({ copied: true });
31
33
  service.current?.setTimeoutIfNotCalledAgain(() => { setState({ copied: false }) }, 3000);
@@ -0,0 +1,18 @@
1
+ .ns_id_loader {
2
+ margin: 0;
3
+ width: 24px;
4
+ height: 24px;
5
+ border-radius: 50%;
6
+ background: conic-gradient(#0000 10%, #001664) content-box;
7
+ -webkit-mask:
8
+ repeating-conic-gradient(#0000 0deg, #000 1deg 20deg, #0000 21deg 36deg),
9
+ radial-gradient(farthest-side, #0000 calc(100% - 9px), #000 calc(100% - 8px));
10
+ -webkit-mask-composite: destination-in;
11
+ animation: rotate 1s infinite steps(10);
12
+ }
13
+
14
+ @keyframes rotate {
15
+ to {
16
+ transform: rotate(1turn)
17
+ }
18
+ }
@@ -0,0 +1,80 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { BaseURLImageFormatter, IBaseComponentProps, NSCopy } from '../main';
3
+ import { BaseUUID, CacheService, IStorage } from 'namirasoft-core';
4
+ import { Globe } from 'namirasoft-site-map';
5
+ import Styles from './NSID.module.css';
6
+
7
+ export interface NSIDProps extends IBaseComponentProps
8
+ {
9
+ id: string;
10
+ globe: Globe | null;
11
+ storage: IStorage | null;
12
+ }
13
+
14
+ export interface NSIDState
15
+ {
16
+ tried: boolean;
17
+ text?: string;
18
+ }
19
+
20
+ export function NSID(props: NSIDProps)
21
+ {
22
+ const [state, setState] = useState<NSIDState>({
23
+ tried: false,
24
+ });
25
+
26
+ let short = BaseUUID.getShort(props.id);
27
+ let namirasoft = props.globe ?? new Globe();
28
+ let info = namirasoft.getByShortName(short);
29
+ let cache = null;
30
+ if (props.storage)
31
+ cache = new CacheService<string>(info.product.id + "-" + info.table.name, props.storage, 30, async () => "0.0.0", async () =>
32
+ {
33
+ if (info.table.back_end.get)
34
+ {
35
+ try
36
+ {
37
+ let row = await info.table.back_end.get(props.id);
38
+ return row.name ?? row.description ?? "";
39
+ } catch (error)
40
+ {
41
+ }
42
+ }
43
+ return "";
44
+ });
45
+
46
+ useEffect(() =>
47
+ {
48
+ if (cache)
49
+ cache.get().then(text =>
50
+ {
51
+ setState({ tried: true, text });
52
+ });
53
+ else
54
+ setState({ tried: true });
55
+ }, [props.id]);
56
+
57
+ let text = state.text;
58
+ if (!text)
59
+ text = props.id;
60
+
61
+ let formatter = new BaseURLImageFormatter();
62
+ return (
63
+ <NSCopy
64
+ value={props.id}
65
+ >
66
+ {
67
+ !state.tried &&
68
+ <div className={Styles.ns_loader}>
69
+ </div>
70
+ }
71
+ {
72
+ formatter.format({
73
+ text,
74
+ href: info.table.front_end.getViewLink(props.id + ""),
75
+ image: { url: info.product.logo, alt: info.product.logo }
76
+ })
77
+ }
78
+ </NSCopy>
79
+ );
80
+ }
@@ -1,5 +1,5 @@
1
- import Styles from './NSLoading.module.css';
2
1
  import { IBaseComponentProps } from "../props/IBaseComponentProps";
2
+ import Styles from './NSLoading.module.css';
3
3
 
4
4
  export interface NSLoadingProps extends IBaseComponentProps
5
5
  {
@@ -12,7 +12,7 @@ export class BaseURLImageFormatter extends BaseColumnFormatter
12
12
  text: any,
13
13
  image: { url: string, alt: string },
14
14
  href: string
15
- }, _: TableColumnInfo, __: TableRowInfo<any>, printable: boolean): any
15
+ }, _?: TableColumnInfo, __?: TableRowInfo<any>, printable?: boolean): any
16
16
  {
17
17
  if (!printable)
18
18
  {
@@ -1,42 +1,28 @@
1
- import { BaseUUID } from "namirasoft-core";
1
+ import { IStorage } from "namirasoft-core";
2
2
  import { BaseColumnFormatter } from "./BaseColumnFormatter";
3
- import { Globe } from "namirasoft-site-map";
4
3
  import { TableColumnInfo, TableRowInfo } from "../components/NSTable";
5
- import { BaseURLImageFormatter } from "./BaseURLImageFormatter";
6
- import { NSCopy } from "../main";
4
+ import { NSID } from "../components/NSID";
5
+ import { Globe } from "namirasoft-site-map";
7
6
 
8
7
  export class IDFormatter extends BaseColumnFormatter
9
8
  {
10
- private formatter = new BaseURLImageFormatter();
9
+ private globe: Globe | null;
10
+ private storage: IStorage | null;
11
11
 
12
- constructor(width: string = "224px")
12
+ constructor(globe: Globe | null, storage: IStorage | null, width: string = "224px")
13
13
  {
14
14
  super();
15
+ this.globe = globe;
16
+ this.storage = storage;
15
17
  this.onclick_overrided = true;
16
18
  this.width = width;
17
19
  }
18
- override format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean): any
20
+ override format(value: any, _: TableColumnInfo, __: TableRowInfo<any>, printable: boolean): any
19
21
  {
20
22
  try
21
23
  {
22
24
  if (!printable)
23
- if (BaseUUID.isValid(value))
24
- {
25
- let short = BaseUUID.getShort(value);
26
- let namirasoft = new Globe();
27
- let info = namirasoft.getByShortName(short);
28
- return (
29
- <NSCopy>
30
- {
31
- this.formatter.format({
32
- text: value,
33
- href: info.table.front_end.getViewLink(value + ""),
34
- image: { url: info.product.logo, alt: info.product.logo }
35
- }, column, row, printable)
36
- }
37
- </NSCopy>
38
- );
39
- }
25
+ return <NSID id={value} globe={this.globe} storage={this.storage}></NSID>;
40
26
  } catch (error)
41
27
  {
42
28
  }
package/src/main.ts CHANGED
@@ -87,6 +87,9 @@ export * from "./components/NSFooter";
87
87
  // Header
88
88
  export * from "./components/NSHeader";
89
89
 
90
+ // ID
91
+ export * from "./components/NSID";
92
+
90
93
  // Label
91
94
  export * from "./components/NSLabel";
92
95
  export * from "./components/NSLabelErrorNotifier";
@@ -204,7 +207,12 @@ export * from "./Validator";
204
207
  export * from "./NSBoxBuilder";
205
208
  export * from "./CopyToClipboard";
206
209
 
207
- NSBaseMetaDatabase.getServerBaseURL = function (name: string): string
210
+ function main()
208
211
  {
209
- return `REACT_APP_BASE_URL_${name.toUpperCase()}`;
210
- }
212
+ NSBaseMetaDatabase.getServerBaseURL = function (name: string): string
213
+ {
214
+ return `REACT_APP_BASE_URL_${name.toUpperCase()}`;
215
+ }
216
+ }
217
+
218
+ main();