namirasoft-account-react 1.4.42 → 1.4.45

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/.env.template CHANGED
@@ -7,6 +7,7 @@ REACT_APP_BASE_URL_API_LINK = "https://namirasoft.com/api/link/v1"
7
7
  REACT_APP_BASE_URL_API_PRODUCT = "https://namirasoft.com/api/product/v1"
8
8
  REACT_APP_BASE_URL_FIELD = "https://field.namirasoft.com/api/v1";
9
9
  REACT_APP_BASE_URL_HISTORY = "https://history.namirasoft.com/api/v1";
10
+ REACT_APP_BASE_URL_HISTORY_CONSOLE = "https://history.namirasoft.com";
10
11
  REACT_APP_BASE_URL_MESSAGE = "https://message.namirasoft.com/api/v1";
11
12
  REACT_APP_BASE_URL_MESSAGE_CONSOLE = "https://message.namirasoft.com"
12
13
  REACT_APP_BASE_URL_WORKSPACE = "https://workspace.namirasoft.com/api/v1"
@@ -13,5 +13,6 @@ export interface NSAMessageListDialogState {
13
13
  export declare class NSAMessageListDialog extends Component<NSAMessageListDialogProps, NSAMessageListDialogState> {
14
14
  constructor(props: NSAMessageListDialogProps);
15
15
  componentDidMount(): void;
16
+ onMarkAll(): void;
16
17
  render(): import("react/jsx-runtime").JSX.Element;
17
18
  }
@@ -8,6 +8,7 @@ export class NSAMessageListDialog extends Component {
8
8
  constructor(props) {
9
9
  super(props);
10
10
  this.state = { messages: null };
11
+ this.onMarkAll = this.onMarkAll.bind(this);
11
12
  }
12
13
  componentDidMount() {
13
14
  let REACT_APP_BASE_URL_MESSAGE = new EnvService("REACT_APP_BASE_URL_MESSAGE", true).getString();
@@ -18,7 +19,16 @@ export class NSAMessageListDialog extends Component {
18
19
  this.props.onCountReceived(res.count);
19
20
  }).catch(() => { });
20
21
  }
22
+ onMarkAll() {
23
+ let REACT_APP_BASE_URL_MESSAGE = new EnvService("REACT_APP_BASE_URL_MESSAGE", true).getString();
24
+ let server = new NamirasoftMessageServer(REACT_APP_BASE_URL_MESSAGE, this.props.account.token_manager, this.props.notifier.onError);
25
+ server.message.SeenAll().then(() => {
26
+ this.props.onSeenAll();
27
+ this.props.onClose();
28
+ }).catch(() => { });
29
+ }
21
30
  render() {
31
+ let REACT_APP_BASE_URL_MESSAGE_CONSOLE = new EnvService("REACT_APP_BASE_URL_MESSAGE_CONSOLE").getString();
22
32
  let content = null;
23
33
  if (this.state.messages === null) {
24
34
  content = _jsx(NSLoading, {});
@@ -27,21 +37,13 @@ export class NSAMessageListDialog extends Component {
27
37
  content = _jsx(NSNoData, { lable: 'No new message' });
28
38
  }
29
39
  else
30
- content = this.state.messages.map(message => _jsxs("div", { className: Styles.nsa_body_green, onClick: () => {
40
+ content = this.state.messages.reverse().map(message => _jsxs("div", { className: Styles.nsa_body_green, onClick: () => {
31
41
  let filters = [];
32
42
  filters.push(new FilterItem(MetaDatabase.main.message, MetaDatabase.main.message.columns.id, false, FilterItemOperator.all.equals, message.id));
33
43
  let encoded = FilterItem.encode(filters);
34
- window.open("http://message.namirasoft.com/message/list?filters=" + encoded, "_blank");
44
+ window.open(REACT_APP_BASE_URL_MESSAGE_CONSOLE + "/message/list?filters=" + encoded, "_blank");
35
45
  }, children: [_jsx("ul", { className: Styles.nsa_message_item_ul, children: _jsx("li", { className: `${Styles.nsa_message_item_title}`, children: message.title }) }), _jsx("p", { className: `${Styles.nsa_message_item_content} nsa_font_13_normal`, children: message.body })] }));
36
- let REACT_APP_BASE_URL_MESSAGE_CONSOLE = new EnvService("REACT_APP_BASE_URL_MESSAGE_CONSOLE").getString();
37
- return (_jsxs(NSDialog, Object.assign({}, this.props, { children: [_jsx("div", { className: Styles.nsa_toast, children: _jsxs("div", { children: [_jsx("div", { className: Styles.nsa_toast_header, children: _jsxs("article", { className: 'd-flex flex-row justify-content-center align-item-center', style: { cursor: "pointer" }, children: [_jsx("img", { src: "https://static.namirasoft.com/image/concept/mark-all/blue.svg", alt: "Message Header", width: 22 }), _jsx("span", { className: `${Styles.nsa_message_title} ms-2`, onClick: () => {
38
- let REACT_APP_BASE_URL_MESSAGE = new EnvService("REACT_APP_BASE_URL_MESSAGE", true).getString();
39
- let server = new NamirasoftMessageServer(REACT_APP_BASE_URL_MESSAGE, this.props.account.token_manager, this.props.notifier.onError);
40
- server.message.SeenAll().then(() => {
41
- this.props.onSeenAll();
42
- this.props.onClose();
43
- }).catch(() => { });
44
- }, children: "Mark All As Read" })] }) }), _jsxs("div", { className: Styles.nsa_toast_body, children: [content, _jsx("div", { className: 'p-3 mx-0 d-flex justify-content-center', children: _jsx(NSButtonBlue, { onClick: () => {
46
+ return (_jsxs(NSDialog, Object.assign({}, this.props, { children: [_jsx("div", { className: Styles.nsa_toast, children: _jsxs("div", { children: [_jsx("div", { className: Styles.nsa_toast_header, children: _jsxs("figure", { className: 'd-flex flex-row justify-content-center align-item-center mb-0', style: { cursor: "pointer" }, children: [_jsx("img", { src: "https://static.namirasoft.com/image/concept/mark-all/blue.svg", alt: "Message Header", width: 22, onClick: this.onMarkAll }), _jsx("figcaption", { className: `${Styles.nsa_message_title} ms-2`, onClick: this.onMarkAll, children: "Mark All As Read" })] }) }), _jsxs("div", { className: Styles.nsa_toast_body, children: [content, _jsx("div", { className: 'p-3 mx-0 d-flex justify-content-center', children: _jsx(NSButtonBlue, { onClick: () => {
45
47
  window.open(REACT_APP_BASE_URL_MESSAGE_CONSOLE, "_blank");
46
48
  }, title: 'View All' }) })] })] }) }), _jsx("div", { className: Styles.nsa_toast_background })] })));
47
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NSAMessageListDialog.js","sourceRoot":"","sources":["../../src/components/NSAMessageListDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSAMessageListDialog.js","sourceRoot":"","sources":["../../src/components/NSAMessageListDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAiB,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAc,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,MAAM,MAAM,mCAAmC,CAAC;AAcvD,MAAM,OAAO,oBAAqB,SAAQ,SAA+D;IAGxG,YAAY,KAAgC;QAE3C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IACQ,iBAAiB;QAEzB,IAAI,0BAA0B,GAAG,IAAI,UAAU,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAChG,IAAI,MAAM,GAAG,IAAI,uBAAuB,CAAC,0BAA0B,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpI,IAAI,OAAO,GAAG,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1I,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAE7C,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,SAAS;QAER,IAAI,0BAA0B,GAAG,IAAI,UAAU,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAChG,IAAI,MAAM,GAAG,IAAI,uBAAuB,CAAC,0BAA0B,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAElC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACrB,CAAC;IAEQ,MAAM;QAEd,IAAI,kCAAkC,GAAG,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC1G,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,EAChC,CAAC;YACA,OAAO,GAAG,KAAC,SAAS,KAAG,CAAC;QACzB,CAAC;aACI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EACzC,CAAC;YACA,OAAO,GAAG,KAAC,QAAQ,IAAC,KAAK,EAAC,gBAAgB,GAAG,CAAA;QAC9C,CAAC;;YAEA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACrD,eACC,SAAS,EAAE,MAAM,CAAC,cAAc,EAChC,OAAO,EAAE,GAAG,EAAE;oBAEb,IAAI,OAAO,GAAiB,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChJ,IAAI,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM,CAAC,IAAI,CAAC,kCAAkC,GAAG,wBAAwB,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChG,CAAC,aAED,aAAI,SAAS,EAAE,MAAM,CAAC,mBAAmB,YACxC,aAAI,SAAS,EAAE,GAAG,MAAM,CAAC,sBAAsB,EAAE,YAAG,OAAO,CAAC,KAAK,GAAM,GACnE,EACL,YAAG,SAAS,EAAE,GAAG,MAAM,CAAC,wBAAwB,qBAAqB,YAAG,OAAO,CAAC,IAAI,GAAK,IACpF,CACN,CAAC;QAEH,OAAO,CACN,MAAC,QAAQ,oBAAK,IAAI,CAAC,KAAK,eACvB,cAAK,SAAS,EAAE,MAAM,CAAC,SAAS,YAC/B,0BACC,cAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,YACtC,kBAAQ,SAAS,EAAC,+DAA+D,EAChF,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,aAC5B,cACC,GAAG,EAAC,+DAA+D,EACnE,GAAG,EAAC,gBAAgB,EACpB,KAAK,EAAE,EAAE,EACT,OAAO,EAAE,IAAI,CAAC,SAAS,GACtB,EACF,qBACC,SAAS,EAAE,GAAG,MAAM,CAAC,iBAAiB,OAAO,EAC7C,OAAO,EAAE,IAAI,CAAC,SAAS,iCAGX,IACL,GACJ,EACN,eAAK,SAAS,EAAE,MAAM,CAAC,cAAc,aACnC,OAAO,EACR,cAAK,SAAS,EAAC,wCAAwC,YACtD,KAAC,YAAY,IACZ,OAAO,EAAE,GAAG,EAAE;gDAEb,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,QAAQ,CAAC,CAAC;4CAC3D,CAAC,EACD,KAAK,EAAC,UAAU,GACf,GACG,IACD,IACD,GACD,EACN,cAAK,SAAS,EAAE,MAAM,CAAC,oBAAoB,GACrC,KACK,CACZ,CAAC;IACH,CAAC;CACD"}
@@ -1,4 +1,4 @@
1
- import { NamingConvention } from "namirasoft-core";
1
+ import { EnvService, NamingConvention } from "namirasoft-core";
2
2
  export class Actions {
3
3
  static home(name_lower_case_underscore) {
4
4
  let Pascal_Case_Space = NamingConvention.lower_case_underscore.convert(name_lower_case_underscore, NamingConvention.Pascal_Case_Space);
@@ -72,11 +72,12 @@ export class Actions {
72
72
  };
73
73
  }
74
74
  static viewHistory(getIDs) {
75
+ let REACT_APP_BASE_URL_HISTORY_CONSOLE = new EnvService("REACT_APP_BASE_URL_HISTORY_CONSOLE", true).getString();
75
76
  return {
76
77
  id: "4",
77
78
  menu_item: "View History",
78
79
  handler: () => {
79
- let link = "https://history.namirasoft.com/history/view?id=" + getIDs()[0];
80
+ let link = `${REACT_APP_BASE_URL_HISTORY_CONSOLE}/history/${getIDs()[0]}/view`;
80
81
  window.open(link, "_blank");
81
82
  },
82
83
  isActive() { return getIDs().length === 1; }
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../src/layouts/Actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../src/layouts/Actions.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.42",
11
+ "version": "1.4.45",
12
12
  "author": "Amir Abolhasani, Alireza Esmaeeli",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -25,14 +25,14 @@
25
25
  "@types/react": "^18.3.10",
26
26
  "device-uuid": "^1.0.4",
27
27
  "namirasoft-access": "^1.4.7",
28
- "namirasoft-account": "^1.4.15",
28
+ "namirasoft-account": "^1.4.17",
29
29
  "namirasoft-account-client": "^1.4.0",
30
30
  "namirasoft-api-product": "^1.4.5",
31
31
  "namirasoft-core": "^1.4.8",
32
32
  "namirasoft-field": "^1.3.11",
33
33
  "namirasoft-history": "^1.4.3",
34
34
  "namirasoft-message": "^1.4.2",
35
- "namirasoft-site-react": "^1.4.20",
35
+ "namirasoft-site-react": "^1.4.23",
36
36
  "namirasoft-workspace": "^1.4.0",
37
37
  "os-browserify": "^0.3.0",
38
38
  "path-browserify": "^1.0.1",
@@ -24,6 +24,7 @@ export class NSAMessageListDialog extends Component<NSAMessageListDialogProps, N
24
24
  {
25
25
  super(props);
26
26
  this.state = { messages: null };
27
+ this.onMarkAll = this.onMarkAll.bind(this);
27
28
  }
28
29
  override componentDidMount(): void
29
30
  {
@@ -37,8 +38,20 @@ export class NSAMessageListDialog extends Component<NSAMessageListDialogProps, N
37
38
  }).catch(() => { });
38
39
  }
39
40
 
41
+ onMarkAll(): void
42
+ {
43
+ let REACT_APP_BASE_URL_MESSAGE = new EnvService("REACT_APP_BASE_URL_MESSAGE", true).getString();
44
+ let server = new NamirasoftMessageServer(REACT_APP_BASE_URL_MESSAGE, this.props.account.token_manager, this.props.notifier.onError);
45
+ server.message.SeenAll().then(() =>
46
+ {
47
+ this.props.onSeenAll();
48
+ this.props.onClose();
49
+ }).catch(() => { });
50
+ }
51
+
40
52
  override render()
41
53
  {
54
+ let REACT_APP_BASE_URL_MESSAGE_CONSOLE = new EnvService("REACT_APP_BASE_URL_MESSAGE_CONSOLE").getString();
42
55
  let content = null;
43
56
  if (this.state.messages === null)
44
57
  {
@@ -49,7 +62,7 @@ export class NSAMessageListDialog extends Component<NSAMessageListDialogProps, N
49
62
  content = <NSNoData lable='No new message' />
50
63
  }
51
64
  else
52
- content = this.state.messages.map(message =>
65
+ content = this.state.messages.reverse().map(message =>
53
66
  <div
54
67
  className={Styles.nsa_body_green}
55
68
  onClick={() =>
@@ -57,7 +70,7 @@ export class NSAMessageListDialog extends Component<NSAMessageListDialogProps, N
57
70
  let filters: FilterItem[] = [];
58
71
  filters.push(new FilterItem(MetaDatabase.main.message, MetaDatabase.main.message.columns.id, false, FilterItemOperator.all.equals, message.id));
59
72
  let encoded = FilterItem.encode(filters);
60
- window.open("http://message.namirasoft.com/message/list?filters=" + encoded, "_blank");
73
+ window.open(REACT_APP_BASE_URL_MESSAGE_CONSOLE + "/message/list?filters=" + encoded, "_blank");
61
74
  }}
62
75
  >
63
76
  <ul className={Styles.nsa_message_item_ul}>
@@ -67,35 +80,26 @@ export class NSAMessageListDialog extends Component<NSAMessageListDialogProps, N
67
80
  </div>
68
81
  );
69
82
 
70
- let REACT_APP_BASE_URL_MESSAGE_CONSOLE = new EnvService("REACT_APP_BASE_URL_MESSAGE_CONSOLE").getString();
71
83
  return (
72
84
  <NSDialog {...this.props}>
73
85
  <div className={Styles.nsa_toast}>
74
86
  <div>
75
87
  <div className={Styles.nsa_toast_header}>
76
- <article className='d-flex flex-row justify-content-center align-item-center'
88
+ <figure className='d-flex flex-row justify-content-center align-item-center mb-0'
77
89
  style={{ cursor: "pointer" }}>
78
90
  <img
79
91
  src="https://static.namirasoft.com/image/concept/mark-all/blue.svg"
80
92
  alt="Message Header"
81
93
  width={22}
94
+ onClick={this.onMarkAll}
82
95
  />
83
- <span
96
+ <figcaption
84
97
  className={`${Styles.nsa_message_title} ms-2`}
85
- onClick={() =>
86
- {
87
- let REACT_APP_BASE_URL_MESSAGE = new EnvService("REACT_APP_BASE_URL_MESSAGE", true).getString();
88
- let server = new NamirasoftMessageServer(REACT_APP_BASE_URL_MESSAGE, this.props.account.token_manager, this.props.notifier.onError);
89
- server.message.SeenAll().then(() =>
90
- {
91
- this.props.onSeenAll();
92
- this.props.onClose();
93
- }).catch(() => { });
94
- }}
98
+ onClick={this.onMarkAll}
95
99
  >
96
100
  Mark All As Read
97
- </span>
98
- </article>
101
+ </figcaption>
102
+ </figure>
99
103
  </div>
100
104
  <div className={Styles.nsa_toast_body}>
101
105
  {content}
@@ -1,7 +1,7 @@
1
1
  import { INSActionMenuProps } from "namirasoft-site-react";
2
2
  import { INSARouterProps } from "../INSARouterProps";
3
3
  import { IEntityInfo } from "../IEntityInfo";
4
- import { NamingConvention } from "namirasoft-core";
4
+ import { EnvService, NamingConvention } from "namirasoft-core";
5
5
 
6
6
  export class Actions
7
7
  {
@@ -90,13 +90,14 @@ export class Actions
90
90
  };
91
91
  }
92
92
  static viewHistory(getIDs: () => string[]): INSActionMenuProps
93
- {
93
+ {
94
+ let REACT_APP_BASE_URL_HISTORY_CONSOLE = new EnvService("REACT_APP_BASE_URL_HISTORY_CONSOLE", true,).getString();
94
95
  return {
95
96
  id: "4",
96
97
  menu_item: "View History",
97
98
  handler: () =>
98
99
  {
99
- let link = "https://history.namirasoft.com/history/view?id=" + getIDs()[0];
100
+ let link = `${REACT_APP_BASE_URL_HISTORY_CONSOLE}/history/${getIDs()[0]}/view`;
100
101
  window.open(link, "_blank");
101
102
  },
102
103
  isActive() { return getIDs().length === 1; }