@etsoo/smarterp-core 1.0.80 → 1.0.82
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/lib/cjs/CoreApp.d.ts +12 -0
- package/lib/cjs/CoreApp.js +9 -0
- package/lib/cjs/components/index.d.ts +1 -0
- package/lib/cjs/components/index.js +1 -0
- package/lib/cjs/components/org/ButtonApiServices.d.ts +16 -0
- package/lib/cjs/components/org/ButtonApiServices.js +20 -0
- package/lib/cjs/dto/org/OrgQueryApiData.d.ts +10 -0
- package/lib/cjs/i18n/en.json +9 -1
- package/lib/cjs/i18n/zh-Hans.json +9 -1
- package/lib/cjs/i18n/zh-Hant.json +9 -1
- package/lib/mjs/CoreApp.d.ts +12 -0
- package/lib/mjs/CoreApp.js +9 -0
- package/lib/mjs/components/index.d.ts +1 -0
- package/lib/mjs/components/index.js +1 -0
- package/lib/mjs/components/org/ButtonApiServices.d.ts +16 -0
- package/lib/mjs/components/org/ButtonApiServices.js +14 -0
- package/lib/mjs/dto/org/OrgQueryApiData.d.ts +10 -0
- package/lib/mjs/i18n/en.json +9 -1
- package/lib/mjs/i18n/zh-Hans.json +9 -1
- package/lib/mjs/i18n/zh-Hant.json +9 -1
- package/package.json +4 -4
- package/src/CoreApp.ts +17 -0
- package/src/components/index.ts +1 -0
- package/src/components/org/ButtonApiServices.tsx +56 -0
- package/src/dto/org/OrgQueryApiData.ts +12 -0
- package/src/i18n/en.json +9 -1
- package/src/i18n/zh-Hans.json +9 -1
- package/src/i18n/zh-Hant.json +9 -1
package/lib/cjs/CoreApp.d.ts
CHANGED
|
@@ -46,6 +46,12 @@ export interface ICoreApp {
|
|
|
46
46
|
* User API
|
|
47
47
|
*/
|
|
48
48
|
readonly userApi: UserApi;
|
|
49
|
+
/**
|
|
50
|
+
* Get API services
|
|
51
|
+
* 获取API服务列表
|
|
52
|
+
* @returns List of API services
|
|
53
|
+
*/
|
|
54
|
+
getApiServices(): ListType[];
|
|
49
55
|
/**
|
|
50
56
|
* Get app name
|
|
51
57
|
* 获取应用名称
|
|
@@ -147,6 +153,12 @@ export declare class CoreApp implements ICoreApp {
|
|
|
147
153
|
* @param api API
|
|
148
154
|
*/
|
|
149
155
|
constructor(app: IApp, api: IApi);
|
|
156
|
+
/**
|
|
157
|
+
* Get API services
|
|
158
|
+
* 获取API服务列表
|
|
159
|
+
* @returns List of API services
|
|
160
|
+
*/
|
|
161
|
+
getApiServices(): ListType[];
|
|
150
162
|
/**
|
|
151
163
|
* Get app name
|
|
152
164
|
* 获取应用名称
|
package/lib/cjs/CoreApp.js
CHANGED
|
@@ -9,6 +9,7 @@ const UserApi_1 = require("./UserApi");
|
|
|
9
9
|
const appscript_1 = require("@etsoo/appscript");
|
|
10
10
|
const AuthCodeApi_1 = require("./AuthCodeApi");
|
|
11
11
|
const shared_1 = require("@etsoo/shared");
|
|
12
|
+
const CoreApiService_1 = require("./dto/org/CoreApiService");
|
|
12
13
|
/**
|
|
13
14
|
* Core application
|
|
14
15
|
* 核心应用程序
|
|
@@ -82,6 +83,14 @@ class CoreApp {
|
|
|
82
83
|
this.app = app;
|
|
83
84
|
this.api = api;
|
|
84
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Get API services
|
|
88
|
+
* 获取API服务列表
|
|
89
|
+
* @returns List of API services
|
|
90
|
+
*/
|
|
91
|
+
getApiServices() {
|
|
92
|
+
return this.app.getEnumList(CoreApiService_1.CoreApiService, "apiService");
|
|
93
|
+
}
|
|
85
94
|
/**
|
|
86
95
|
* Get app name
|
|
87
96
|
* 获取应用名称
|
|
@@ -6,6 +6,7 @@ export * from "./app/IdentityTypeList";
|
|
|
6
6
|
export * from "./app/SearchDays";
|
|
7
7
|
export * from "./app/StatusList";
|
|
8
8
|
export * from "./app/UserRoleList";
|
|
9
|
+
export * from "./org/ButtonApiServices";
|
|
9
10
|
export * from "./org/OrgSwitchPopover";
|
|
10
11
|
export * from "./org/OrgTiplist";
|
|
11
12
|
export * from "./public/ButtonCultures";
|
|
@@ -25,6 +25,7 @@ __exportStar(require("./app/SearchDays"), exports);
|
|
|
25
25
|
__exportStar(require("./app/StatusList"), exports);
|
|
26
26
|
__exportStar(require("./app/UserRoleList"), exports);
|
|
27
27
|
// org
|
|
28
|
+
__exportStar(require("./org/ButtonApiServices"), exports);
|
|
28
29
|
__exportStar(require("./org/OrgSwitchPopover"), exports);
|
|
29
30
|
__exportStar(require("./org/OrgTiplist"), exports);
|
|
30
31
|
// public
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ListType } from "@etsoo/shared";
|
|
2
|
+
import { ButtonPopupRadioProps } from "@etsoo/materialui";
|
|
3
|
+
import { CoreApiService } from "../../dto/org/CoreApiService";
|
|
4
|
+
export type ButtonApiServicesProps = Omit<ButtonPopupRadioProps<ListType>, "labelField" | "loadData" | "value" | "onValueChange"> & {
|
|
5
|
+
/**
|
|
6
|
+
* Value
|
|
7
|
+
* 值
|
|
8
|
+
*/
|
|
9
|
+
value?: CoreApiService;
|
|
10
|
+
/**
|
|
11
|
+
* Value change handler
|
|
12
|
+
* @param value New value
|
|
13
|
+
*/
|
|
14
|
+
onValueChange: (value: CoreApiService) => void;
|
|
15
|
+
};
|
|
16
|
+
export declare function ButtonApiServices(props: ButtonApiServicesProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ButtonApiServices = ButtonApiServices;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const materialui_1 = require("@etsoo/materialui");
|
|
10
|
+
const ICoreServiceApp_1 = require("../../ICoreServiceApp");
|
|
11
|
+
function ButtonApiServices(props) {
|
|
12
|
+
// App
|
|
13
|
+
const app = (0, ICoreServiceApp_1.useRequiredAppContext)();
|
|
14
|
+
// Labels
|
|
15
|
+
const labels = app.getLabels("clickToChoose", "apiService");
|
|
16
|
+
// Destruct
|
|
17
|
+
const { inputName = "service", label = labels.apiService, labelEnd = labels.clickToChoose, onValueChange, value, ...rest } = props;
|
|
18
|
+
const services = react_1.default.useMemo(() => app.core.getApiServices(), []);
|
|
19
|
+
return ((0, jsx_runtime_1.jsx)(materialui_1.ButtonPopupRadio, { inputName: inputName, label: label, labelFormatter: (data) => data.label, labelEnd: labelEnd, labelField: "label", loadData: services, onValueChange: (value) => onValueChange(value), value: value, ...rest }));
|
|
20
|
+
}
|
package/lib/cjs/i18n/en.json
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
"accountIconButtonAriaLabel": "Current user",
|
|
3
3
|
"addApi": "Add API",
|
|
4
4
|
"addResource": "Add resource",
|
|
5
|
+
"allowInheritance": "Allow inheritance",
|
|
6
|
+
"apiService": "API service",
|
|
7
|
+
"apiServiceSMTP": "SMTP",
|
|
8
|
+
"apiServiceStorage": "Storage",
|
|
9
|
+
"appId": "App key or username",
|
|
5
10
|
"appKey": "App key",
|
|
6
11
|
"appSecret": "App secret",
|
|
7
12
|
"app": "App",
|
|
@@ -54,6 +59,7 @@
|
|
|
54
59
|
"oneTimePin": "One Time Pin",
|
|
55
60
|
"oneTimePinEmailTip": "Enter up the One Time Pin just sent to your email address. If you can't find it, please check your spam folder.",
|
|
56
61
|
"oneTimePinMobileTip": "Enter up the One Time Pin just sent to your mobile phone number",
|
|
62
|
+
"options": "Options",
|
|
57
63
|
"org": "Organization",
|
|
58
64
|
"orgName": "Org name",
|
|
59
65
|
"orgPin": "Org No.",
|
|
@@ -63,6 +69,7 @@
|
|
|
63
69
|
"pin": "ID",
|
|
64
70
|
"preferredName": "Preferred name",
|
|
65
71
|
"queryKeyword": "Query keyword",
|
|
72
|
+
"ratePolicy": "Rate policy",
|
|
66
73
|
"refreshTime": "Refresh time",
|
|
67
74
|
"relatedTarget": "Related target",
|
|
68
75
|
"reportTo": "Report to",
|
|
@@ -98,5 +105,6 @@
|
|
|
98
105
|
"uiTypeWechat": "WeChat",
|
|
99
106
|
"uiTypeAlipay": "Alipay",
|
|
100
107
|
"uiTypeGoogle": "Google",
|
|
101
|
-
"uiTypeMicrosoft": "Microsoft"
|
|
108
|
+
"uiTypeMicrosoft": "Microsoft",
|
|
109
|
+
"updatedAt": "Updated at"
|
|
102
110
|
}
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
"accountIconButtonAriaLabel": "当前用户",
|
|
3
3
|
"addApi": "添加接口",
|
|
4
4
|
"addResource": "添加资源",
|
|
5
|
+
"allowInheritance": "允许继承",
|
|
6
|
+
"apiService": "接口服务",
|
|
7
|
+
"apiServiceSMTP": "邮件发送",
|
|
8
|
+
"apiServiceStorage": "存储",
|
|
9
|
+
"appId": "应用键或用户名",
|
|
5
10
|
"appKey": "应用键",
|
|
6
11
|
"appSecret": "应用密钥",
|
|
7
12
|
"app": "应用",
|
|
@@ -54,6 +59,7 @@
|
|
|
54
59
|
"oneTimePin": "验证码",
|
|
55
60
|
"oneTimePinEmailTip": "输入刚发送到您电子邮箱的验证码,如果没有找到,请查找垃圾邮件",
|
|
56
61
|
"oneTimePinMobileTip": "输入刚发送到您手机号码的验证码",
|
|
62
|
+
"options": "选项",
|
|
57
63
|
"org": "机构",
|
|
58
64
|
"orgName": "机构名称",
|
|
59
65
|
"orgPin": "机构编号",
|
|
@@ -63,6 +69,7 @@
|
|
|
63
69
|
"pin": "身份证号码",
|
|
64
70
|
"preferredName": "首选名称",
|
|
65
71
|
"queryKeyword": "查询关键字",
|
|
72
|
+
"ratePolicy": "频率策略",
|
|
66
73
|
"refreshTime": "刷新时间",
|
|
67
74
|
"relatedTarget": "关联对象",
|
|
68
75
|
"reportTo": "汇报对象",
|
|
@@ -98,5 +105,6 @@
|
|
|
98
105
|
"uiTypeWechat": "微信",
|
|
99
106
|
"uiTypeAlipay": "支付宝",
|
|
100
107
|
"uiTypeGoogle": "谷歌",
|
|
101
|
-
"uiTypeMicrosoft": "微软"
|
|
108
|
+
"uiTypeMicrosoft": "微软",
|
|
109
|
+
"updatedAt": "更新时间"
|
|
102
110
|
}
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
"accountIconButtonAriaLabel": "當前用戶",
|
|
3
3
|
"addApi": "添加接口",
|
|
4
4
|
"addResource": "添加資源",
|
|
5
|
+
"allowInheritance": "允許繼承",
|
|
6
|
+
"apiService": "接口服務",
|
|
7
|
+
"apiServiceSMTP": "郵件發送",
|
|
8
|
+
"apiServiceStorage": "存儲",
|
|
9
|
+
"appId": "應用鍵或用戶名",
|
|
5
10
|
"appKey": "應用程式鍵",
|
|
6
11
|
"appSecret": "應用金鑰",
|
|
7
12
|
"app": "應用",
|
|
@@ -54,6 +59,7 @@
|
|
|
54
59
|
"oneTimePin": "驗證碼",
|
|
55
60
|
"oneTimePinEmailTip": "輸入剛傳送到您電子郵件信箱的驗證碼,如果沒有找到,請檢查垃圾信箱",
|
|
56
61
|
"oneTimePinMobileTip": "輸入剛傳送到您手機號碼的驗證碼",
|
|
62
|
+
"options": "選項",
|
|
57
63
|
"org": "機構",
|
|
58
64
|
"orgName": "機構名稱",
|
|
59
65
|
"orgPin": "機構編號",
|
|
@@ -63,6 +69,7 @@
|
|
|
63
69
|
"pin": "身份證號碼",
|
|
64
70
|
"preferredName": "首選名稱",
|
|
65
71
|
"queryKeyword": "查詢關鍵字",
|
|
72
|
+
"ratePolicy": "頻率策略",
|
|
66
73
|
"refreshTime": "刷新時間",
|
|
67
74
|
"relatedTarget": "關聯對象",
|
|
68
75
|
"reportTo": "匯報對象",
|
|
@@ -98,5 +105,6 @@
|
|
|
98
105
|
"uiTypeWechat": "微信",
|
|
99
106
|
"uiTypeAlipay": "支付寶",
|
|
100
107
|
"uiTypeGoogle": "谷歌",
|
|
101
|
-
"uiTypeMicrosoft": "微軟"
|
|
108
|
+
"uiTypeMicrosoft": "微軟",
|
|
109
|
+
"updatedAt": "更新時間"
|
|
102
110
|
}
|
package/lib/mjs/CoreApp.d.ts
CHANGED
|
@@ -46,6 +46,12 @@ export interface ICoreApp {
|
|
|
46
46
|
* User API
|
|
47
47
|
*/
|
|
48
48
|
readonly userApi: UserApi;
|
|
49
|
+
/**
|
|
50
|
+
* Get API services
|
|
51
|
+
* 获取API服务列表
|
|
52
|
+
* @returns List of API services
|
|
53
|
+
*/
|
|
54
|
+
getApiServices(): ListType[];
|
|
49
55
|
/**
|
|
50
56
|
* Get app name
|
|
51
57
|
* 获取应用名称
|
|
@@ -147,6 +153,12 @@ export declare class CoreApp implements ICoreApp {
|
|
|
147
153
|
* @param api API
|
|
148
154
|
*/
|
|
149
155
|
constructor(app: IApp, api: IApi);
|
|
156
|
+
/**
|
|
157
|
+
* Get API services
|
|
158
|
+
* 获取API服务列表
|
|
159
|
+
* @returns List of API services
|
|
160
|
+
*/
|
|
161
|
+
getApiServices(): ListType[];
|
|
150
162
|
/**
|
|
151
163
|
* Get app name
|
|
152
164
|
* 获取应用名称
|
package/lib/mjs/CoreApp.js
CHANGED
|
@@ -6,6 +6,7 @@ import { UserApi } from "./UserApi";
|
|
|
6
6
|
import { AuthApi, IdentityType, IdentityTypeFlags, UserIdentifierType } from "@etsoo/appscript";
|
|
7
7
|
import { AuthCodeApi } from "./AuthCodeApi";
|
|
8
8
|
import { DataTypes } from "@etsoo/shared";
|
|
9
|
+
import { CoreApiService } from "./dto/org/CoreApiService";
|
|
9
10
|
/**
|
|
10
11
|
* Core application
|
|
11
12
|
* 核心应用程序
|
|
@@ -79,6 +80,14 @@ export class CoreApp {
|
|
|
79
80
|
this.app = app;
|
|
80
81
|
this.api = api;
|
|
81
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Get API services
|
|
85
|
+
* 获取API服务列表
|
|
86
|
+
* @returns List of API services
|
|
87
|
+
*/
|
|
88
|
+
getApiServices() {
|
|
89
|
+
return this.app.getEnumList(CoreApiService, "apiService");
|
|
90
|
+
}
|
|
82
91
|
/**
|
|
83
92
|
* Get app name
|
|
84
93
|
* 获取应用名称
|
|
@@ -6,6 +6,7 @@ export * from "./app/IdentityTypeList";
|
|
|
6
6
|
export * from "./app/SearchDays";
|
|
7
7
|
export * from "./app/StatusList";
|
|
8
8
|
export * from "./app/UserRoleList";
|
|
9
|
+
export * from "./org/ButtonApiServices";
|
|
9
10
|
export * from "./org/OrgSwitchPopover";
|
|
10
11
|
export * from "./org/OrgTiplist";
|
|
11
12
|
export * from "./public/ButtonCultures";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ListType } from "@etsoo/shared";
|
|
2
|
+
import { ButtonPopupRadioProps } from "@etsoo/materialui";
|
|
3
|
+
import { CoreApiService } from "../../dto/org/CoreApiService";
|
|
4
|
+
export type ButtonApiServicesProps = Omit<ButtonPopupRadioProps<ListType>, "labelField" | "loadData" | "value" | "onValueChange"> & {
|
|
5
|
+
/**
|
|
6
|
+
* Value
|
|
7
|
+
* 值
|
|
8
|
+
*/
|
|
9
|
+
value?: CoreApiService;
|
|
10
|
+
/**
|
|
11
|
+
* Value change handler
|
|
12
|
+
* @param value New value
|
|
13
|
+
*/
|
|
14
|
+
onValueChange: (value: CoreApiService) => void;
|
|
15
|
+
};
|
|
16
|
+
export declare function ButtonApiServices(props: ButtonApiServicesProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ButtonPopupRadio } from "@etsoo/materialui";
|
|
4
|
+
import { useRequiredAppContext } from "../../ICoreServiceApp";
|
|
5
|
+
export function ButtonApiServices(props) {
|
|
6
|
+
// App
|
|
7
|
+
const app = useRequiredAppContext();
|
|
8
|
+
// Labels
|
|
9
|
+
const labels = app.getLabels("clickToChoose", "apiService");
|
|
10
|
+
// Destruct
|
|
11
|
+
const { inputName = "service", label = labels.apiService, labelEnd = labels.clickToChoose, onValueChange, value, ...rest } = props;
|
|
12
|
+
const services = React.useMemo(() => app.core.getApiServices(), []);
|
|
13
|
+
return (_jsx(ButtonPopupRadio, { inputName: inputName, label: label, labelFormatter: (data) => data.label, labelEnd: labelEnd, labelField: "label", loadData: services, onValueChange: (value) => onValueChange(value), value: value, ...rest }));
|
|
14
|
+
}
|
package/lib/mjs/i18n/en.json
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
"accountIconButtonAriaLabel": "Current user",
|
|
3
3
|
"addApi": "Add API",
|
|
4
4
|
"addResource": "Add resource",
|
|
5
|
+
"allowInheritance": "Allow inheritance",
|
|
6
|
+
"apiService": "API service",
|
|
7
|
+
"apiServiceSMTP": "SMTP",
|
|
8
|
+
"apiServiceStorage": "Storage",
|
|
9
|
+
"appId": "App key or username",
|
|
5
10
|
"appKey": "App key",
|
|
6
11
|
"appSecret": "App secret",
|
|
7
12
|
"app": "App",
|
|
@@ -54,6 +59,7 @@
|
|
|
54
59
|
"oneTimePin": "One Time Pin",
|
|
55
60
|
"oneTimePinEmailTip": "Enter up the One Time Pin just sent to your email address. If you can't find it, please check your spam folder.",
|
|
56
61
|
"oneTimePinMobileTip": "Enter up the One Time Pin just sent to your mobile phone number",
|
|
62
|
+
"options": "Options",
|
|
57
63
|
"org": "Organization",
|
|
58
64
|
"orgName": "Org name",
|
|
59
65
|
"orgPin": "Org No.",
|
|
@@ -63,6 +69,7 @@
|
|
|
63
69
|
"pin": "ID",
|
|
64
70
|
"preferredName": "Preferred name",
|
|
65
71
|
"queryKeyword": "Query keyword",
|
|
72
|
+
"ratePolicy": "Rate policy",
|
|
66
73
|
"refreshTime": "Refresh time",
|
|
67
74
|
"relatedTarget": "Related target",
|
|
68
75
|
"reportTo": "Report to",
|
|
@@ -98,5 +105,6 @@
|
|
|
98
105
|
"uiTypeWechat": "WeChat",
|
|
99
106
|
"uiTypeAlipay": "Alipay",
|
|
100
107
|
"uiTypeGoogle": "Google",
|
|
101
|
-
"uiTypeMicrosoft": "Microsoft"
|
|
108
|
+
"uiTypeMicrosoft": "Microsoft",
|
|
109
|
+
"updatedAt": "Updated at"
|
|
102
110
|
}
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
"accountIconButtonAriaLabel": "当前用户",
|
|
3
3
|
"addApi": "添加接口",
|
|
4
4
|
"addResource": "添加资源",
|
|
5
|
+
"allowInheritance": "允许继承",
|
|
6
|
+
"apiService": "接口服务",
|
|
7
|
+
"apiServiceSMTP": "邮件发送",
|
|
8
|
+
"apiServiceStorage": "存储",
|
|
9
|
+
"appId": "应用键或用户名",
|
|
5
10
|
"appKey": "应用键",
|
|
6
11
|
"appSecret": "应用密钥",
|
|
7
12
|
"app": "应用",
|
|
@@ -54,6 +59,7 @@
|
|
|
54
59
|
"oneTimePin": "验证码",
|
|
55
60
|
"oneTimePinEmailTip": "输入刚发送到您电子邮箱的验证码,如果没有找到,请查找垃圾邮件",
|
|
56
61
|
"oneTimePinMobileTip": "输入刚发送到您手机号码的验证码",
|
|
62
|
+
"options": "选项",
|
|
57
63
|
"org": "机构",
|
|
58
64
|
"orgName": "机构名称",
|
|
59
65
|
"orgPin": "机构编号",
|
|
@@ -63,6 +69,7 @@
|
|
|
63
69
|
"pin": "身份证号码",
|
|
64
70
|
"preferredName": "首选名称",
|
|
65
71
|
"queryKeyword": "查询关键字",
|
|
72
|
+
"ratePolicy": "频率策略",
|
|
66
73
|
"refreshTime": "刷新时间",
|
|
67
74
|
"relatedTarget": "关联对象",
|
|
68
75
|
"reportTo": "汇报对象",
|
|
@@ -98,5 +105,6 @@
|
|
|
98
105
|
"uiTypeWechat": "微信",
|
|
99
106
|
"uiTypeAlipay": "支付宝",
|
|
100
107
|
"uiTypeGoogle": "谷歌",
|
|
101
|
-
"uiTypeMicrosoft": "微软"
|
|
108
|
+
"uiTypeMicrosoft": "微软",
|
|
109
|
+
"updatedAt": "更新时间"
|
|
102
110
|
}
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
"accountIconButtonAriaLabel": "當前用戶",
|
|
3
3
|
"addApi": "添加接口",
|
|
4
4
|
"addResource": "添加資源",
|
|
5
|
+
"allowInheritance": "允許繼承",
|
|
6
|
+
"apiService": "接口服務",
|
|
7
|
+
"apiServiceSMTP": "郵件發送",
|
|
8
|
+
"apiServiceStorage": "存儲",
|
|
9
|
+
"appId": "應用鍵或用戶名",
|
|
5
10
|
"appKey": "應用程式鍵",
|
|
6
11
|
"appSecret": "應用金鑰",
|
|
7
12
|
"app": "應用",
|
|
@@ -54,6 +59,7 @@
|
|
|
54
59
|
"oneTimePin": "驗證碼",
|
|
55
60
|
"oneTimePinEmailTip": "輸入剛傳送到您電子郵件信箱的驗證碼,如果沒有找到,請檢查垃圾信箱",
|
|
56
61
|
"oneTimePinMobileTip": "輸入剛傳送到您手機號碼的驗證碼",
|
|
62
|
+
"options": "選項",
|
|
57
63
|
"org": "機構",
|
|
58
64
|
"orgName": "機構名稱",
|
|
59
65
|
"orgPin": "機構編號",
|
|
@@ -63,6 +69,7 @@
|
|
|
63
69
|
"pin": "身份證號碼",
|
|
64
70
|
"preferredName": "首選名稱",
|
|
65
71
|
"queryKeyword": "查詢關鍵字",
|
|
72
|
+
"ratePolicy": "頻率策略",
|
|
66
73
|
"refreshTime": "刷新時間",
|
|
67
74
|
"relatedTarget": "關聯對象",
|
|
68
75
|
"reportTo": "匯報對象",
|
|
@@ -98,5 +105,6 @@
|
|
|
98
105
|
"uiTypeWechat": "微信",
|
|
99
106
|
"uiTypeAlipay": "支付寶",
|
|
100
107
|
"uiTypeGoogle": "谷歌",
|
|
101
|
-
"uiTypeMicrosoft": "微軟"
|
|
108
|
+
"uiTypeMicrosoft": "微軟",
|
|
109
|
+
"updatedAt": "更新時間"
|
|
102
110
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@etsoo/smarterp-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.82",
|
|
4
4
|
"description": "TypeScript APIs for SmartERP Core",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/mjs/index.js",
|
|
@@ -53,12 +53,12 @@
|
|
|
53
53
|
"vitest": "^3.2.4"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@etsoo/appscript": "^1.6.
|
|
57
|
-
"@etsoo/materialui": "^1.5.
|
|
56
|
+
"@etsoo/appscript": "^1.6.41",
|
|
57
|
+
"@etsoo/materialui": "^1.5.63",
|
|
58
58
|
"@etsoo/react": "^1.8.49",
|
|
59
59
|
"@etsoo/shared": "^1.2.75",
|
|
60
60
|
"@etsoo/toolpad": "^1.0.39",
|
|
61
|
-
"@mui/material": "^7.1.
|
|
61
|
+
"@mui/material": "^7.1.2",
|
|
62
62
|
"react": "^18.3.1",
|
|
63
63
|
"react-dom": "^18.3.1"
|
|
64
64
|
}
|
package/src/CoreApp.ts
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
} from "@etsoo/appscript";
|
|
14
14
|
import { AuthCodeApi } from "./AuthCodeApi";
|
|
15
15
|
import { DataTypes, ListType } from "@etsoo/shared";
|
|
16
|
+
import { CoreApiService } from "./dto/org/CoreApiService";
|
|
16
17
|
|
|
17
18
|
type AppData = { id: number; appId?: number; name: string; localName?: string };
|
|
18
19
|
|
|
@@ -56,6 +57,13 @@ export interface ICoreApp {
|
|
|
56
57
|
*/
|
|
57
58
|
readonly userApi: UserApi;
|
|
58
59
|
|
|
60
|
+
/**
|
|
61
|
+
* Get API services
|
|
62
|
+
* 获取API服务列表
|
|
63
|
+
* @returns List of API services
|
|
64
|
+
*/
|
|
65
|
+
getApiServices(): ListType[];
|
|
66
|
+
|
|
59
67
|
/**
|
|
60
68
|
* Get app name
|
|
61
69
|
* 获取应用名称
|
|
@@ -189,6 +197,15 @@ export class CoreApp implements ICoreApp {
|
|
|
189
197
|
*/
|
|
190
198
|
constructor(public readonly app: IApp, public readonly api: IApi) {}
|
|
191
199
|
|
|
200
|
+
/**
|
|
201
|
+
* Get API services
|
|
202
|
+
* 获取API服务列表
|
|
203
|
+
* @returns List of API services
|
|
204
|
+
*/
|
|
205
|
+
getApiServices() {
|
|
206
|
+
return this.app.getEnumList(CoreApiService, "apiService");
|
|
207
|
+
}
|
|
208
|
+
|
|
192
209
|
/**
|
|
193
210
|
* Get app name
|
|
194
211
|
* 获取应用名称
|
package/src/components/index.ts
CHANGED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ListType } from "@etsoo/shared";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ButtonPopupRadio, ButtonPopupRadioProps } from "@etsoo/materialui";
|
|
4
|
+
import { CoreApiService } from "../../dto/org/CoreApiService";
|
|
5
|
+
import { useRequiredAppContext } from "../../ICoreServiceApp";
|
|
6
|
+
|
|
7
|
+
export type ButtonApiServicesProps = Omit<
|
|
8
|
+
ButtonPopupRadioProps<ListType>,
|
|
9
|
+
"labelField" | "loadData" | "value" | "onValueChange"
|
|
10
|
+
> & {
|
|
11
|
+
/**
|
|
12
|
+
* Value
|
|
13
|
+
* 值
|
|
14
|
+
*/
|
|
15
|
+
value?: CoreApiService;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Value change handler
|
|
19
|
+
* @param value New value
|
|
20
|
+
*/
|
|
21
|
+
onValueChange: (value: CoreApiService) => void;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export function ButtonApiServices(props: ButtonApiServicesProps) {
|
|
25
|
+
// App
|
|
26
|
+
const app = useRequiredAppContext();
|
|
27
|
+
|
|
28
|
+
// Labels
|
|
29
|
+
const labels = app.getLabels("clickToChoose", "apiService");
|
|
30
|
+
|
|
31
|
+
// Destruct
|
|
32
|
+
const {
|
|
33
|
+
inputName = "service",
|
|
34
|
+
label = labels.apiService,
|
|
35
|
+
labelEnd = labels.clickToChoose,
|
|
36
|
+
onValueChange,
|
|
37
|
+
value,
|
|
38
|
+
...rest
|
|
39
|
+
} = props;
|
|
40
|
+
|
|
41
|
+
const services = React.useMemo(() => app.core.getApiServices(), []);
|
|
42
|
+
|
|
43
|
+
return (
|
|
44
|
+
<ButtonPopupRadio<ListType>
|
|
45
|
+
inputName={inputName}
|
|
46
|
+
label={label}
|
|
47
|
+
labelFormatter={(data) => data.label}
|
|
48
|
+
labelEnd={labelEnd}
|
|
49
|
+
labelField="label"
|
|
50
|
+
loadData={services}
|
|
51
|
+
onValueChange={(value) => onValueChange(value)}
|
|
52
|
+
value={value}
|
|
53
|
+
{...rest}
|
|
54
|
+
/>
|
|
55
|
+
);
|
|
56
|
+
}
|
package/src/i18n/en.json
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
"accountIconButtonAriaLabel": "Current user",
|
|
3
3
|
"addApi": "Add API",
|
|
4
4
|
"addResource": "Add resource",
|
|
5
|
+
"allowInheritance": "Allow inheritance",
|
|
6
|
+
"apiService": "API service",
|
|
7
|
+
"apiServiceSMTP": "SMTP",
|
|
8
|
+
"apiServiceStorage": "Storage",
|
|
9
|
+
"appId": "App key or username",
|
|
5
10
|
"appKey": "App key",
|
|
6
11
|
"appSecret": "App secret",
|
|
7
12
|
"app": "App",
|
|
@@ -54,6 +59,7 @@
|
|
|
54
59
|
"oneTimePin": "One Time Pin",
|
|
55
60
|
"oneTimePinEmailTip": "Enter up the One Time Pin just sent to your email address. If you can't find it, please check your spam folder.",
|
|
56
61
|
"oneTimePinMobileTip": "Enter up the One Time Pin just sent to your mobile phone number",
|
|
62
|
+
"options": "Options",
|
|
57
63
|
"org": "Organization",
|
|
58
64
|
"orgName": "Org name",
|
|
59
65
|
"orgPin": "Org No.",
|
|
@@ -63,6 +69,7 @@
|
|
|
63
69
|
"pin": "ID",
|
|
64
70
|
"preferredName": "Preferred name",
|
|
65
71
|
"queryKeyword": "Query keyword",
|
|
72
|
+
"ratePolicy": "Rate policy",
|
|
66
73
|
"refreshTime": "Refresh time",
|
|
67
74
|
"relatedTarget": "Related target",
|
|
68
75
|
"reportTo": "Report to",
|
|
@@ -98,5 +105,6 @@
|
|
|
98
105
|
"uiTypeWechat": "WeChat",
|
|
99
106
|
"uiTypeAlipay": "Alipay",
|
|
100
107
|
"uiTypeGoogle": "Google",
|
|
101
|
-
"uiTypeMicrosoft": "Microsoft"
|
|
108
|
+
"uiTypeMicrosoft": "Microsoft",
|
|
109
|
+
"updatedAt": "Updated at"
|
|
102
110
|
}
|
package/src/i18n/zh-Hans.json
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
"accountIconButtonAriaLabel": "当前用户",
|
|
3
3
|
"addApi": "添加接口",
|
|
4
4
|
"addResource": "添加资源",
|
|
5
|
+
"allowInheritance": "允许继承",
|
|
6
|
+
"apiService": "接口服务",
|
|
7
|
+
"apiServiceSMTP": "邮件发送",
|
|
8
|
+
"apiServiceStorage": "存储",
|
|
9
|
+
"appId": "应用键或用户名",
|
|
5
10
|
"appKey": "应用键",
|
|
6
11
|
"appSecret": "应用密钥",
|
|
7
12
|
"app": "应用",
|
|
@@ -54,6 +59,7 @@
|
|
|
54
59
|
"oneTimePin": "验证码",
|
|
55
60
|
"oneTimePinEmailTip": "输入刚发送到您电子邮箱的验证码,如果没有找到,请查找垃圾邮件",
|
|
56
61
|
"oneTimePinMobileTip": "输入刚发送到您手机号码的验证码",
|
|
62
|
+
"options": "选项",
|
|
57
63
|
"org": "机构",
|
|
58
64
|
"orgName": "机构名称",
|
|
59
65
|
"orgPin": "机构编号",
|
|
@@ -63,6 +69,7 @@
|
|
|
63
69
|
"pin": "身份证号码",
|
|
64
70
|
"preferredName": "首选名称",
|
|
65
71
|
"queryKeyword": "查询关键字",
|
|
72
|
+
"ratePolicy": "频率策略",
|
|
66
73
|
"refreshTime": "刷新时间",
|
|
67
74
|
"relatedTarget": "关联对象",
|
|
68
75
|
"reportTo": "汇报对象",
|
|
@@ -98,5 +105,6 @@
|
|
|
98
105
|
"uiTypeWechat": "微信",
|
|
99
106
|
"uiTypeAlipay": "支付宝",
|
|
100
107
|
"uiTypeGoogle": "谷歌",
|
|
101
|
-
"uiTypeMicrosoft": "微软"
|
|
108
|
+
"uiTypeMicrosoft": "微软",
|
|
109
|
+
"updatedAt": "更新时间"
|
|
102
110
|
}
|
package/src/i18n/zh-Hant.json
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
"accountIconButtonAriaLabel": "當前用戶",
|
|
3
3
|
"addApi": "添加接口",
|
|
4
4
|
"addResource": "添加資源",
|
|
5
|
+
"allowInheritance": "允許繼承",
|
|
6
|
+
"apiService": "接口服務",
|
|
7
|
+
"apiServiceSMTP": "郵件發送",
|
|
8
|
+
"apiServiceStorage": "存儲",
|
|
9
|
+
"appId": "應用鍵或用戶名",
|
|
5
10
|
"appKey": "應用程式鍵",
|
|
6
11
|
"appSecret": "應用金鑰",
|
|
7
12
|
"app": "應用",
|
|
@@ -54,6 +59,7 @@
|
|
|
54
59
|
"oneTimePin": "驗證碼",
|
|
55
60
|
"oneTimePinEmailTip": "輸入剛傳送到您電子郵件信箱的驗證碼,如果沒有找到,請檢查垃圾信箱",
|
|
56
61
|
"oneTimePinMobileTip": "輸入剛傳送到您手機號碼的驗證碼",
|
|
62
|
+
"options": "選項",
|
|
57
63
|
"org": "機構",
|
|
58
64
|
"orgName": "機構名稱",
|
|
59
65
|
"orgPin": "機構編號",
|
|
@@ -63,6 +69,7 @@
|
|
|
63
69
|
"pin": "身份證號碼",
|
|
64
70
|
"preferredName": "首選名稱",
|
|
65
71
|
"queryKeyword": "查詢關鍵字",
|
|
72
|
+
"ratePolicy": "頻率策略",
|
|
66
73
|
"refreshTime": "刷新時間",
|
|
67
74
|
"relatedTarget": "關聯對象",
|
|
68
75
|
"reportTo": "匯報對象",
|
|
@@ -98,5 +105,6 @@
|
|
|
98
105
|
"uiTypeWechat": "微信",
|
|
99
106
|
"uiTypeAlipay": "支付寶",
|
|
100
107
|
"uiTypeGoogle": "谷歌",
|
|
101
|
-
"uiTypeMicrosoft": "微軟"
|
|
108
|
+
"uiTypeMicrosoft": "微軟",
|
|
109
|
+
"updatedAt": "更新時間"
|
|
102
110
|
}
|