namirasoft-account-react 1.4.435 → 1.4.436
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 +15 -15
- package/SKILLS.md +514 -514
- package/config-overrides.js +72 -72
- package/dist/App.css +31 -31
- package/dist/App.d.ts +1 -1
- package/dist/UseParams.d.ts +1 -1
- package/dist/components/NSAAccessListDialog.d.ts +2 -2
- package/dist/components/NSAAccessListDialog.module.css +71 -71
- package/dist/components/NSAMasterMenu.d.ts +1 -1
- package/dist/components/NSAMasterMenu.module.css +248 -248
- package/dist/components/NSAMasterMenuItem.d.ts +1 -1
- package/dist/components/NSAMessageListDialog.d.ts +1 -1
- package/dist/components/NSAMessageListDialog.module.css +99 -99
- package/dist/components/NSANavigationGuard.d.ts +1 -1
- package/dist/components/NSAProductListDialog.d.ts +1 -1
- package/dist/components/NSAProductListDialog.module.css +44 -44
- package/dist/components/NSAReorderDialog.d.ts +1 -1
- package/dist/components/NSAReorderDialog.module.css +49 -49
- package/dist/components/NSASortDialog.d.ts +1 -1
- package/dist/components/NSATaskBar.d.ts +31 -7
- package/dist/components/NSATaskBar.js +74 -15
- package/dist/components/NSATaskBar.js.map +1 -1
- package/dist/components/NSATaskBar.module.css +57 -57
- package/dist/components/NSAUserDialog.d.ts +1 -1
- package/dist/components/NSAUserDialog.module.css +67 -67
- package/dist/components/NSAWorkspaceListDialog.d.ts +1 -1
- package/dist/components/NSAWorkspaceListDialog.module.css +41 -41
- package/dist/components/NSBoxSecret.d.ts +1 -1
- package/dist/components/NSBoxSecret.module.css +23 -23
- package/dist/components/NSLabelSecret.d.ts +1 -1
- package/dist/components/quickfilter/NSAFilterBoxEnum.module.css +44 -44
- package/dist/components/quickfilter/NSAQuickFilterBar.d.ts +1 -1
- package/dist/components/quickfilter/NSAQuickFilterBar.module.css +19 -19
- package/dist/components/quickfilter/NSAQuickFilterDialog.d.ts +1 -1
- package/dist/components/quickfilter/NSAQuickFilterDialog.module.css +74 -74
- package/dist/formatters/SecretFormatter.d.ts +1 -1
- package/dist/formatters/SecretFormatter.js +2 -2
- package/dist/formatters/SecretFormatter.js.map +1 -1
- package/dist/layouts/NSALayout.d.ts +5 -1
- package/dist/layouts/NSALayout.js +37 -39
- package/dist/layouts/NSALayout.js.map +1 -1
- package/dist/layouts/NSASectionEdit.d.ts +1 -1
- package/dist/layouts/NSASectionEditTabPage.d.ts +1 -1
- package/dist/layouts/NSASectionEditTabPage.module.css +4 -4
- package/dist/layouts/NSASectionList.d.ts +1 -1
- package/dist/layouts/NSASectionList.module.css +31 -31
- package/dist/layouts/NSASectionView.d.ts +1 -1
- package/dist/layouts/NSASectionViewTabMore.d.ts +1 -1
- package/dist/layouts/NSASectionViewTabPage.d.ts +1 -1
- package/dist/layouts/NSASectionViewTabPage.module.css +47 -47
- package/dist/pages/NSAConsentPage.module.css +26 -26
- package/dist/pages/NSAEmailVerificationPage.d.ts +1 -1
- package/dist/pages/NSAHomePage.d.ts +1 -1
- package/dist/pages/NSAHomePage.module.css +41 -41
- package/dist/pages/NSALoginPage.d.ts +1 -1
- package/dist/pages/NSALoginPage.module.css +26 -26
- package/dist/pages/NSAPhoneVerificationPage.d.ts +1 -1
- package/dist/pages/NSAVerificationPage.d.ts +1 -1
- package/dist/pages/NSAVerificationPage.module.css +31 -31
- package/package.json +94 -94
- package/public/index.html +21 -21
- package/src/App.css +31 -31
- package/src/App.tsx +19 -19
- package/src/CTFRow.ts +7 -7
- package/src/IEntityInfo.ts +33 -33
- package/src/NSACacheService.ts +120 -120
- package/src/NSAFilterOperators.ts +92 -92
- package/src/NSARouterMaker.tsx +140 -140
- package/src/NSARouterMakerConfig.ts +15 -15
- package/src/NSARouterMakerProps.ts +24 -24
- package/src/Router.tsx +45 -45
- package/src/UseParams.tsx +18 -18
- package/src/components/NSAAccessListDialog.module.css +71 -71
- package/src/components/NSAAccessListDialog.tsx +178 -178
- package/src/components/NSAMasterMenu.module.css +248 -248
- package/src/components/NSAMasterMenu.tsx +169 -169
- package/src/components/NSAMasterMenuItem.tsx +250 -250
- package/src/components/NSAMessageListDialog.module.css +99 -99
- package/src/components/NSAMessageListDialog.tsx +142 -142
- package/src/components/NSAProductListDialog.module.css +44 -44
- package/src/components/NSAProductListDialog.tsx +88 -88
- package/src/components/NSAReorderDialog.module.css +49 -49
- package/src/components/NSAReorderDialog.tsx +149 -149
- package/src/components/NSASortDialog.tsx +117 -117
- package/src/components/NSATable.tsx +498 -498
- package/src/components/NSATaskBar.module.css +57 -57
- package/src/components/NSATaskBar.tsx +193 -101
- package/src/components/NSAUserDialog.module.css +67 -67
- package/src/components/NSAUserDialog.tsx +122 -122
- package/src/components/NSAWorkspaceListDialog.module.css +41 -41
- package/src/components/NSAWorkspaceListDialog.tsx +147 -147
- package/src/components/NSBoxSecret.module.css +23 -23
- package/src/components/NSBoxSecret.tsx +258 -258
- package/src/components/NSLabelSecret.tsx +37 -37
- package/src/components/quickfilter/NSAFilterBoxBase.tsx +55 -55
- package/src/components/quickfilter/NSAFilterBoxBoolean.tsx +54 -54
- package/src/components/quickfilter/NSAFilterBoxDate.tsx +104 -104
- package/src/components/quickfilter/NSAFilterBoxDateTime.tsx +105 -105
- package/src/components/quickfilter/NSAFilterBoxEnum.module.css +44 -44
- package/src/components/quickfilter/NSAFilterBoxEnum.tsx +79 -79
- package/src/components/quickfilter/NSAFilterBoxNumber.tsx +136 -136
- package/src/components/quickfilter/NSAFilterBoxString.tsx +81 -81
- package/src/components/quickfilter/NSAFilterBoxTime.tsx +101 -101
- package/src/components/quickfilter/NSAQuickFilterBar.module.css +19 -19
- package/src/components/quickfilter/NSAQuickFilterBar.tsx +114 -114
- package/src/components/quickfilter/NSAQuickFilterDialog.module.css +74 -74
- package/src/components/quickfilter/NSAQuickFilterDialog.tsx +260 -260
- package/src/css.d.ts +13 -13
- package/src/formatters/SecretFormatter.tsx +24 -24
- package/src/index.tsx +26 -26
- package/src/layouts/Actions.ts +146 -146
- package/src/layouts/CFTUtil.ts +18 -18
- package/src/layouts/NSALayout.tsx +793 -790
- package/src/layouts/NSASectionEdit.tsx +279 -279
- package/src/layouts/NSASectionEditTabPage.module.css +4 -4
- package/src/layouts/NSASectionEditTabPage.tsx +250 -250
- package/src/layouts/NSASectionList.module.css +31 -31
- package/src/layouts/NSASectionList.tsx +149 -149
- package/src/layouts/NSASectionView.tsx +100 -100
- package/src/layouts/NSASectionViewTabMore.tsx +77 -77
- package/src/layouts/NSASectionViewTabPage.module.css +47 -47
- package/src/layouts/NSASectionViewTabPage.tsx +419 -419
- package/src/main.ts +46 -46
- package/src/pages/NSAConsentPage.module.css +26 -26
- package/src/pages/NSAConsentPage.tsx +120 -120
- package/src/pages/NSAEmailVerificationPage.tsx +30 -30
- package/src/pages/NSAHomePage.module.css +41 -41
- package/src/pages/NSAHomePage.tsx +102 -102
- package/src/pages/NSALoginPage.module.css +26 -26
- package/src/pages/NSALoginPage.tsx +87 -87
- package/src/pages/NSAPhoneVerificationPage.tsx +94 -94
- package/src/pages/NSAVerificationPage.module.css +31 -31
- package/src/pages/NSAVerificationPage.tsx +186 -186
- package/src/pages/PaymentRequired.tsx +76 -76
- package/tsconfig.json +43 -43
- package/dist/NSATaskService.d.ts +0 -35
- package/dist/NSATaskService.js +0 -80
- package/dist/NSATaskService.js.map +0 -1
- package/src/NSATaskService.ts +0 -123
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
.nsa_message_icon {
|
|
2
|
-
cursor: pointer;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.nsa_message_title {
|
|
6
|
-
color: hsla(212, 100%, 51%, 1)
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.nsa_message_item {
|
|
10
|
-
background-color: hsla(157, 94%, 42%, 0.1);
|
|
11
|
-
padding: 8px 16px;
|
|
12
|
-
cursor: pointer !important;
|
|
13
|
-
margin: 8px 0;
|
|
14
|
-
border-radius: 8px;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.nsa_message_item_title {
|
|
18
|
-
color: hsla(234, 64%, 22%, 1);
|
|
19
|
-
font-size: 16px;
|
|
20
|
-
font-weight: 600;
|
|
21
|
-
text-align: left;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.nsa_message_item_content {
|
|
25
|
-
color: hsla(234, 64%, 22%, 1);
|
|
26
|
-
margin: 0;
|
|
27
|
-
text-align: left;
|
|
28
|
-
overflow: hidden;
|
|
29
|
-
text-overflow: ellipsis;
|
|
30
|
-
white-space: nowrap;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.nsa_message_item_ul {
|
|
34
|
-
display: flex;
|
|
35
|
-
padding-left: 16px !important;
|
|
36
|
-
margin-bottom: 0px;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.nsa_message_item_ul li::marker {
|
|
40
|
-
color: hsla(157, 94%, 42%, 1);
|
|
41
|
-
padding: 20px;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.nsa_message_item_dot_green {
|
|
45
|
-
width: 8px;
|
|
46
|
-
height: 8px;
|
|
47
|
-
background: hsla(157, 94%, 42%, 1);
|
|
48
|
-
border-radius: 50%;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.nsa_message_item_dot_gray {
|
|
52
|
-
width: 8px;
|
|
53
|
-
height: 8px;
|
|
54
|
-
background: hsla(228, 9%, 66%, 1);
|
|
55
|
-
border-radius: 50%;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.nsa_body_gray {
|
|
59
|
-
background-color: #fff;
|
|
60
|
-
padding: 16px;
|
|
61
|
-
box-shadow: 0px 2px 5px #e6e6e6;
|
|
62
|
-
cursor: pointer !important;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.nsa_count {
|
|
66
|
-
position: absolute;
|
|
67
|
-
background: rgba(3, 119, 255, 1);
|
|
68
|
-
right: -5px;
|
|
69
|
-
top: -5px;
|
|
70
|
-
color: #fff;
|
|
71
|
-
width: 18px;
|
|
72
|
-
height: 18px;
|
|
73
|
-
border-radius: 50%;
|
|
74
|
-
display: flex;
|
|
75
|
-
justify-content: center;
|
|
76
|
-
align-items: center;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.nsa_parent_count {
|
|
80
|
-
position: relative;
|
|
81
|
-
width: max-content;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
.nsa_toast_body {
|
|
85
|
-
padding: 0 !important;
|
|
86
|
-
height: 100%;
|
|
87
|
-
max-width: 302px;
|
|
88
|
-
overflow-y: auto;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
.nsa_toast_header {
|
|
92
|
-
padding: 2px !important;
|
|
93
|
-
display: flex;
|
|
94
|
-
justify-content: space-between !important;
|
|
95
|
-
align-items: center;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.nsa_close_icon {
|
|
99
|
-
cursor: pointer;
|
|
1
|
+
.nsa_message_icon {
|
|
2
|
+
cursor: pointer;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.nsa_message_title {
|
|
6
|
+
color: hsla(212, 100%, 51%, 1)
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.nsa_message_item {
|
|
10
|
+
background-color: hsla(157, 94%, 42%, 0.1);
|
|
11
|
+
padding: 8px 16px;
|
|
12
|
+
cursor: pointer !important;
|
|
13
|
+
margin: 8px 0;
|
|
14
|
+
border-radius: 8px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.nsa_message_item_title {
|
|
18
|
+
color: hsla(234, 64%, 22%, 1);
|
|
19
|
+
font-size: 16px;
|
|
20
|
+
font-weight: 600;
|
|
21
|
+
text-align: left;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.nsa_message_item_content {
|
|
25
|
+
color: hsla(234, 64%, 22%, 1);
|
|
26
|
+
margin: 0;
|
|
27
|
+
text-align: left;
|
|
28
|
+
overflow: hidden;
|
|
29
|
+
text-overflow: ellipsis;
|
|
30
|
+
white-space: nowrap;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.nsa_message_item_ul {
|
|
34
|
+
display: flex;
|
|
35
|
+
padding-left: 16px !important;
|
|
36
|
+
margin-bottom: 0px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.nsa_message_item_ul li::marker {
|
|
40
|
+
color: hsla(157, 94%, 42%, 1);
|
|
41
|
+
padding: 20px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.nsa_message_item_dot_green {
|
|
45
|
+
width: 8px;
|
|
46
|
+
height: 8px;
|
|
47
|
+
background: hsla(157, 94%, 42%, 1);
|
|
48
|
+
border-radius: 50%;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.nsa_message_item_dot_gray {
|
|
52
|
+
width: 8px;
|
|
53
|
+
height: 8px;
|
|
54
|
+
background: hsla(228, 9%, 66%, 1);
|
|
55
|
+
border-radius: 50%;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.nsa_body_gray {
|
|
59
|
+
background-color: #fff;
|
|
60
|
+
padding: 16px;
|
|
61
|
+
box-shadow: 0px 2px 5px #e6e6e6;
|
|
62
|
+
cursor: pointer !important;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.nsa_count {
|
|
66
|
+
position: absolute;
|
|
67
|
+
background: rgba(3, 119, 255, 1);
|
|
68
|
+
right: -5px;
|
|
69
|
+
top: -5px;
|
|
70
|
+
color: #fff;
|
|
71
|
+
width: 18px;
|
|
72
|
+
height: 18px;
|
|
73
|
+
border-radius: 50%;
|
|
74
|
+
display: flex;
|
|
75
|
+
justify-content: center;
|
|
76
|
+
align-items: center;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.nsa_parent_count {
|
|
80
|
+
position: relative;
|
|
81
|
+
width: max-content;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.nsa_toast_body {
|
|
85
|
+
padding: 0 !important;
|
|
86
|
+
height: 100%;
|
|
87
|
+
max-width: 302px;
|
|
88
|
+
overflow-y: auto;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.nsa_toast_header {
|
|
92
|
+
padding: 2px !important;
|
|
93
|
+
display: flex;
|
|
94
|
+
justify-content: space-between !important;
|
|
95
|
+
align-items: center;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.nsa_close_icon {
|
|
99
|
+
cursor: pointer;
|
|
100
100
|
}
|
|
@@ -3,4 +3,4 @@ export interface NSANavigationGuardProps {
|
|
|
3
3
|
title?: string;
|
|
4
4
|
message?: string;
|
|
5
5
|
}
|
|
6
|
-
export declare function NSANavigationGuard(props: NSANavigationGuardProps): import("react
|
|
6
|
+
export declare function NSANavigationGuard(props: NSANavigationGuardProps): import("react").JSX.Element | null;
|
|
@@ -12,6 +12,6 @@ export declare class NSAProductListDialog extends Component<NSAProductListDialog
|
|
|
12
12
|
private cache;
|
|
13
13
|
constructor(props: NSAProductListDialogProps);
|
|
14
14
|
componentDidMount(): void;
|
|
15
|
-
render(): import("react
|
|
15
|
+
render(): import("react").JSX.Element;
|
|
16
16
|
}
|
|
17
17
|
export {};
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
.nsa_product_list_container {
|
|
2
|
-
display: grid;
|
|
3
|
-
flex-direction: row;
|
|
4
|
-
grid-template-columns: repeat(3, 1fr);
|
|
5
|
-
align-items: flex-start;
|
|
6
|
-
justify-content: center;
|
|
7
|
-
width: 100%;
|
|
8
|
-
height: 400px;
|
|
9
|
-
overflow: auto;
|
|
10
|
-
margin-top: 16px;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.nsa_product_list_container::-webkit-scrollbar {
|
|
14
|
-
width: 1rem;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.nsa_product_list_container::-webkit-scrollbar-track {
|
|
18
|
-
box-shadow: inset 0 0 6px #E8EBF6;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.nsa_product_list_container::-webkit-scrollbar-thumb {
|
|
22
|
-
background-color: #A1A4B0;
|
|
23
|
-
border-radius: 8px;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.nsa_product_list {
|
|
27
|
-
display: flex;
|
|
28
|
-
flex-direction: column;
|
|
29
|
-
justify-content: center;
|
|
30
|
-
align-items: center;
|
|
31
|
-
text-align: center;
|
|
32
|
-
margin-top: 24px;
|
|
33
|
-
gap: 8px;
|
|
34
|
-
}
|
|
35
|
-
.nsa_product_list a{
|
|
36
|
-
text-decoration: none;
|
|
37
|
-
color: rgba(20, 27, 92, 1);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.nsa_product_logo {
|
|
41
|
-
display: flex;
|
|
42
|
-
flex-direction: column;
|
|
43
|
-
justify-content: center;
|
|
44
|
-
align-items: center;
|
|
1
|
+
.nsa_product_list_container {
|
|
2
|
+
display: grid;
|
|
3
|
+
flex-direction: row;
|
|
4
|
+
grid-template-columns: repeat(3, 1fr);
|
|
5
|
+
align-items: flex-start;
|
|
6
|
+
justify-content: center;
|
|
7
|
+
width: 100%;
|
|
8
|
+
height: 400px;
|
|
9
|
+
overflow: auto;
|
|
10
|
+
margin-top: 16px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.nsa_product_list_container::-webkit-scrollbar {
|
|
14
|
+
width: 1rem;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.nsa_product_list_container::-webkit-scrollbar-track {
|
|
18
|
+
box-shadow: inset 0 0 6px #E8EBF6;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.nsa_product_list_container::-webkit-scrollbar-thumb {
|
|
22
|
+
background-color: #A1A4B0;
|
|
23
|
+
border-radius: 8px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.nsa_product_list {
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-direction: column;
|
|
29
|
+
justify-content: center;
|
|
30
|
+
align-items: center;
|
|
31
|
+
text-align: center;
|
|
32
|
+
margin-top: 24px;
|
|
33
|
+
gap: 8px;
|
|
34
|
+
}
|
|
35
|
+
.nsa_product_list a{
|
|
36
|
+
text-decoration: none;
|
|
37
|
+
color: rgba(20, 27, 92, 1);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.nsa_product_logo {
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
justify-content: center;
|
|
44
|
+
align-items: center;
|
|
45
45
|
}
|
|
@@ -25,6 +25,6 @@ export declare class NSAReorderDialog extends Component<NSAReorderDialogProps, N
|
|
|
25
25
|
private onDragEnd;
|
|
26
26
|
private toggleChecked;
|
|
27
27
|
private handleApply;
|
|
28
|
-
render(): import("react
|
|
28
|
+
render(): import("react").JSX.Element;
|
|
29
29
|
}
|
|
30
30
|
export {};
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
.column_item {
|
|
2
|
-
width: 100%;
|
|
3
|
-
display: flex;
|
|
4
|
-
align-items: center;
|
|
5
|
-
gap: 10px;
|
|
6
|
-
padding: 8px 12px;
|
|
7
|
-
border-radius: 6px;
|
|
8
|
-
border: 2px solid transparent;
|
|
9
|
-
background-color: rgba(20, 27, 92, 0.04);
|
|
10
|
-
cursor: grab;
|
|
11
|
-
user-select: none;
|
|
12
|
-
box-sizing: border-box;
|
|
13
|
-
transition: background-color 0.1s, border-color 0.1s;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.column_item:hover {
|
|
17
|
-
background-color: rgba(20, 27, 92, 0.08);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.column_item_dragging {
|
|
21
|
-
opacity: 0.35;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.column_item_drag_over {
|
|
25
|
-
border-color: rgba(20, 27, 92, 0.45);
|
|
26
|
-
border-style: dashed;
|
|
27
|
-
background-color: rgba(20, 27, 92, 0.1);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.drag_handle {
|
|
31
|
-
color: #bbb;
|
|
32
|
-
font-size: 20px;
|
|
33
|
-
line-height: 1;
|
|
34
|
-
cursor: grab;
|
|
35
|
-
flex-shrink: 0;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.checkbox {
|
|
39
|
-
width: 18px;
|
|
40
|
-
height: 18px;
|
|
41
|
-
cursor: pointer;
|
|
42
|
-
margin: 0;
|
|
43
|
-
flex-shrink: 0;
|
|
44
|
-
accent-color: rgba(20, 27, 92, 1);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.column_label {
|
|
48
|
-
font-size: 14px;
|
|
49
|
-
flex: 1;
|
|
1
|
+
.column_item {
|
|
2
|
+
width: 100%;
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
gap: 10px;
|
|
6
|
+
padding: 8px 12px;
|
|
7
|
+
border-radius: 6px;
|
|
8
|
+
border: 2px solid transparent;
|
|
9
|
+
background-color: rgba(20, 27, 92, 0.04);
|
|
10
|
+
cursor: grab;
|
|
11
|
+
user-select: none;
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
transition: background-color 0.1s, border-color 0.1s;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.column_item:hover {
|
|
17
|
+
background-color: rgba(20, 27, 92, 0.08);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.column_item_dragging {
|
|
21
|
+
opacity: 0.35;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.column_item_drag_over {
|
|
25
|
+
border-color: rgba(20, 27, 92, 0.45);
|
|
26
|
+
border-style: dashed;
|
|
27
|
+
background-color: rgba(20, 27, 92, 0.1);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.drag_handle {
|
|
31
|
+
color: #bbb;
|
|
32
|
+
font-size: 20px;
|
|
33
|
+
line-height: 1;
|
|
34
|
+
cursor: grab;
|
|
35
|
+
flex-shrink: 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.checkbox {
|
|
39
|
+
width: 18px;
|
|
40
|
+
height: 18px;
|
|
41
|
+
cursor: pointer;
|
|
42
|
+
margin: 0;
|
|
43
|
+
flex-shrink: 0;
|
|
44
|
+
accent-color: rgba(20, 27, 92, 1);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.column_label {
|
|
48
|
+
font-size: 14px;
|
|
49
|
+
flex: 1;
|
|
50
50
|
}
|
|
@@ -16,6 +16,6 @@ export declare class NSASortDialog extends Component<NSASortDialogProps, NSASort
|
|
|
16
16
|
private sortDirectionRef;
|
|
17
17
|
constructor(props: NSASortDialogProps);
|
|
18
18
|
private handleApply;
|
|
19
|
-
render(): import("react
|
|
19
|
+
render(): import("react").JSX.Element;
|
|
20
20
|
}
|
|
21
21
|
export {};
|
|
@@ -1,13 +1,37 @@
|
|
|
1
1
|
import { Component } from "react";
|
|
2
|
+
export type NSATaskStatus = "running" | "completed" | "cancelled";
|
|
3
|
+
export interface NSATask {
|
|
4
|
+
id: string;
|
|
5
|
+
title: string;
|
|
6
|
+
total: number;
|
|
7
|
+
completed: number;
|
|
8
|
+
succeeded: number;
|
|
9
|
+
failed: number;
|
|
10
|
+
status: NSATaskStatus;
|
|
11
|
+
cancel: () => void;
|
|
12
|
+
}
|
|
13
|
+
export interface NSATaskResult<T> {
|
|
14
|
+
succeeded: T[];
|
|
15
|
+
failed: T[];
|
|
16
|
+
cancelled: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface NSATaskBarProps<ItemType> {
|
|
19
|
+
title: string;
|
|
20
|
+
items: ItemType[];
|
|
21
|
+
handler: (item: ItemType, index: number) => Promise<void>;
|
|
22
|
+
onItemError?: (item: ItemType, error: any, index: number) => void;
|
|
23
|
+
}
|
|
2
24
|
interface NSATaskBarState {
|
|
3
|
-
|
|
25
|
+
tasks: NSATask[];
|
|
4
26
|
}
|
|
5
|
-
export declare class NSATaskBar extends Component<
|
|
6
|
-
private
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
27
|
+
export declare class NSATaskBar<ItemType> extends Component<NSATaskBarProps<ItemType>, NSATaskBarState> {
|
|
28
|
+
private counter;
|
|
29
|
+
private removeDelayMs;
|
|
30
|
+
constructor(props: NSATaskBarProps<ItemType>);
|
|
31
|
+
private update;
|
|
32
|
+
dismiss(id: string): void;
|
|
33
|
+
run(): Promise<NSATaskResult<ItemType>>;
|
|
10
34
|
private renderStatus;
|
|
11
|
-
render(): import("react
|
|
35
|
+
render(): import("react").JSX.Element | null;
|
|
12
36
|
}
|
|
13
37
|
export {};
|
|
@@ -1,28 +1,87 @@
|
|
|
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
|
+
};
|
|
1
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
11
|
import { NSButtonRed } from "namirasoft-site-react";
|
|
3
12
|
import NSProgressBar from "namirasoft-site-react/dist/components/NSProgressBar";
|
|
4
13
|
import { Component } from "react";
|
|
5
|
-
import { NSATaskService } from "../NSATaskService";
|
|
6
14
|
import Styles from "./NSATaskBar.module.css";
|
|
7
15
|
export class NSATaskBar extends Component {
|
|
8
16
|
constructor(props) {
|
|
9
17
|
super(props);
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
18
|
+
this.counter = 0;
|
|
19
|
+
this.removeDelayMs = 4000;
|
|
20
|
+
this.state = { tasks: [] };
|
|
21
|
+
this.run = this.run.bind(this);
|
|
22
|
+
this.dismiss = this.dismiss.bind(this);
|
|
12
23
|
}
|
|
13
|
-
|
|
14
|
-
this.
|
|
15
|
-
|
|
16
|
-
});
|
|
24
|
+
update(id, patch) {
|
|
25
|
+
this.setState(prev => ({
|
|
26
|
+
tasks: prev.tasks.map(task => task.id === id ? Object.assign(Object.assign({}, task), patch) : task)
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
dismiss(id) {
|
|
30
|
+
this.setState(prev => ({ tasks: prev.tasks.filter(task => task.id !== id) }));
|
|
17
31
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
32
|
+
run() {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
this.counter += 1;
|
|
35
|
+
const id = `nsa-task-${this.counter}`;
|
|
36
|
+
const items = this.props.items;
|
|
37
|
+
const handler = this.props.handler;
|
|
38
|
+
const onItemError = this.props.onItemError;
|
|
39
|
+
let cancelled = false;
|
|
40
|
+
const task = {
|
|
41
|
+
id,
|
|
42
|
+
title: this.props.title,
|
|
43
|
+
total: items.length,
|
|
44
|
+
completed: 0,
|
|
45
|
+
succeeded: 0,
|
|
46
|
+
failed: 0,
|
|
47
|
+
status: "running",
|
|
48
|
+
cancel: () => { cancelled = true; }
|
|
49
|
+
};
|
|
50
|
+
this.setState(prev => ({ tasks: [...prev.tasks, task] }));
|
|
51
|
+
const succeeded = [];
|
|
52
|
+
const failed = [];
|
|
53
|
+
for (let index = 0; index < items.length; index++) {
|
|
54
|
+
if (cancelled)
|
|
55
|
+
break;
|
|
56
|
+
const item = items[index];
|
|
57
|
+
try {
|
|
58
|
+
yield handler(item, index);
|
|
59
|
+
succeeded.push(item);
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
failed.push(item);
|
|
63
|
+
onItemError === null || onItemError === void 0 ? void 0 : onItemError(item, error, index);
|
|
64
|
+
}
|
|
65
|
+
this.update(id, {
|
|
66
|
+
completed: succeeded.length + failed.length,
|
|
67
|
+
succeeded: succeeded.length,
|
|
68
|
+
failed: failed.length,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
this.update(id, { status: cancelled ? "cancelled" : "completed" });
|
|
72
|
+
window.setTimeout(() => this.dismiss(id), this.removeDelayMs);
|
|
73
|
+
return { succeeded, failed, cancelled };
|
|
74
|
+
});
|
|
22
75
|
}
|
|
23
76
|
renderStatus(task) {
|
|
24
|
-
if (task.status === "running")
|
|
25
|
-
|
|
77
|
+
if (task.status === "running") {
|
|
78
|
+
const remaining = task.total - task.completed;
|
|
79
|
+
let running = [`${task.succeeded} done`];
|
|
80
|
+
if (task.failed > 0)
|
|
81
|
+
running.push(`${task.failed} failed`);
|
|
82
|
+
running.push(`${remaining} left`);
|
|
83
|
+
return running.join(", ");
|
|
84
|
+
}
|
|
26
85
|
const skipped = task.total - task.completed;
|
|
27
86
|
let parts = [`${task.succeeded} done`];
|
|
28
87
|
if (task.failed > 0)
|
|
@@ -33,13 +92,13 @@ export class NSATaskBar extends Component {
|
|
|
33
92
|
return `${prefix} — ${parts.join(", ")}`;
|
|
34
93
|
}
|
|
35
94
|
render() {
|
|
36
|
-
const tasks =
|
|
95
|
+
const tasks = this.state.tasks;
|
|
37
96
|
if (tasks.length === 0)
|
|
38
97
|
return null;
|
|
39
98
|
return (_jsx("div", { className: Styles.nsa_task_bar, children: tasks.map(task => {
|
|
40
99
|
const progress = task.total > 0 ? (task.completed / task.total) * 100 : 0;
|
|
41
100
|
return (_jsxs("div", { className: Styles.nsa_task_card, children: [_jsxs("div", { className: Styles.nsa_task_header, children: [_jsx("span", { className: Styles.nsa_task_title, children: task.title }), task.status !== "running" &&
|
|
42
|
-
_jsx("span", { className: Styles.nsa_task_close, onClick: () =>
|
|
101
|
+
_jsx("span", { className: Styles.nsa_task_close, onClick: () => this.dismiss(task.id), children: "\u2715" })] }), _jsx(NSProgressBar, { progress: progress, title: this.renderStatus(task) }), task.status === "running" &&
|
|
43
102
|
_jsx("div", { className: Styles.nsa_task_actions, children: _jsx(NSButtonRed, { title: "Cancel", onClick: {
|
|
44
103
|
showLoading: false,
|
|
45
104
|
action: (onFinished) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NSATaskBar.js","sourceRoot":"","sources":["../../src/components/NSATaskBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NSATaskBar.js","sourceRoot":"","sources":["../../src/components/NSATaskBar.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,aAAa,MAAM,qDAAqD,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAoC7C,MAAM,OAAO,UAAqB,SAAQ,SAAqD;IAK3F,YAAY,KAAgC;QAExC,KAAK,CAAC,KAAK,CAAC,CAAC;QALT,YAAO,GAAW,CAAC,CAAC;QACpB,kBAAa,GAAW,IAAI,CAAC;QAKjC,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEO,MAAM,CAAC,EAAU,EAAE,KAAuB;QAE9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,iCAAM,IAAI,GAAK,KAAK,EAAG,CAAC,CAAC,IAAI,CAAC;SAC/E,CAAC,CAAC,CAAC;IACR,CAAC;IAEM,OAAO,CAAC,EAAU;QAErB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAEY,GAAG;;YAEZ,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAClB,MAAM,EAAE,GAAG,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;YAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAE3C,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,MAAM,IAAI,GAAY;gBAClB,EAAE;gBACF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACvB,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,CAAC;gBACZ,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC;aACtC,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAE1D,MAAM,SAAS,GAAe,EAAE,CAAC;YACjC,MAAM,MAAM,GAAe,EAAE,CAAC;YAE9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EACjD,CAAC;gBACG,IAAI,SAAS;oBACT,MAAM;gBAEV,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,IACA,CAAC;oBACG,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;gBACD,OAAO,KAAU,EACjB,CAAC;oBACG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClB,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;oBACZ,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;oBAC3C,SAAS,EAAE,SAAS,CAAC,MAAM;oBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACxB,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAEnE,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC5C,CAAC;KAAA;IAEO,YAAY,CAAC,IAAa;QAE9B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAC7B,CAAC;YACG,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9C,IAAI,OAAO,GAAa,CAAC,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC;YACnD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,OAAO,CAAC,CAAC;YAClC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5C,IAAI,KAAK,GAAa,CAAC,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,UAAU,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QAClE,OAAO,GAAG,MAAM,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7C,CAAC;IAEQ,MAAM;QAEX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,OAAO,IAAI,CAAC;QAEhB,OAAO,CACH,cAAK,SAAS,EAAE,MAAM,CAAC,YAAY,YAE3B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,OAAO,CACH,eAAmB,SAAS,EAAE,MAAM,CAAC,aAAa,aAC9C,eAAK,SAAS,EAAE,MAAM,CAAC,eAAe,aAClC,eAAM,SAAS,EAAE,MAAM,CAAC,cAAc,YAAG,IAAI,CAAC,KAAK,GAAQ,EAEvD,IAAI,CAAC,MAAM,KAAK,SAAS;oCACzB,eACI,SAAS,EAAE,MAAM,CAAC,cAAc,EAChC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,uBAGjC,IAET,EACN,KAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAI,EAEjE,IAAI,CAAC,MAAM,KAAK,SAAS;4BACzB,cAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,YACnC,KAAC,WAAW,IACR,KAAK,EAAC,QAAQ,EACd,OAAO,EAAE;wCACL,WAAW,EAAE,KAAK;wCAClB,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE;4CAEnB,IAAI,CAAC,MAAM,EAAE,CAAC;4CACd,UAAU,EAAE,CAAC;wCACjB,CAAC;qCACJ,GACH,GACA,KA5BJ,IAAI,CAAC,EAAE,CA8BX,CACT,CAAC;YACN,CAAC,CAAC,GAEJ,CACT,CAAC;IACN,CAAC;CACJ"}
|