@etsoo/appscript 1.3.69 → 1.3.71
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/__tests__/app/CoreApp.ts +36 -1
- package/lib/cjs/address/AddressAutocomplete.d.ts +22 -0
- package/lib/cjs/address/AddressAutocomplete.js +2 -0
- package/lib/cjs/address/AddressCity.d.ts +17 -0
- package/lib/cjs/address/AddressCity.js +2 -0
- package/lib/cjs/address/AddressDistrict.d.ts +17 -0
- package/lib/cjs/address/AddressDistrict.js +2 -0
- package/lib/cjs/address/AddressLocation.d.ts +14 -0
- package/lib/cjs/address/AddressLocation.js +2 -0
- package/lib/cjs/address/AddressPlace.d.ts +28 -0
- package/lib/cjs/address/AddressPlace.js +2 -0
- package/lib/cjs/address/AddressPlaceBase.d.ts +37 -0
- package/lib/cjs/address/AddressPlaceBase.js +2 -0
- package/lib/cjs/erp/AddressApi.d.ts +49 -1
- package/lib/cjs/erp/AddressApi.js +71 -13
- package/lib/cjs/erp/rq/PlaceQueryRQ.d.ts +45 -0
- package/lib/cjs/erp/rq/PlaceQueryRQ.js +12 -0
- package/lib/cjs/i18n/en.json +3 -0
- package/lib/cjs/i18n/zh-Hans.json +3 -0
- package/lib/cjs/i18n/zh-Hant.json +3 -0
- package/lib/cjs/index.d.ts +7 -0
- package/lib/cjs/index.js +7 -0
- package/lib/mjs/address/AddressAutocomplete.d.ts +22 -0
- package/lib/mjs/address/AddressAutocomplete.js +1 -0
- package/lib/mjs/address/AddressCity.d.ts +17 -0
- package/lib/mjs/address/AddressCity.js +1 -0
- package/lib/mjs/address/AddressDistrict.d.ts +17 -0
- package/lib/mjs/address/AddressDistrict.js +1 -0
- package/lib/mjs/address/AddressLocation.d.ts +14 -0
- package/lib/mjs/address/AddressLocation.js +1 -0
- package/lib/mjs/address/AddressPlace.d.ts +28 -0
- package/lib/mjs/address/AddressPlace.js +1 -0
- package/lib/mjs/address/AddressPlaceBase.d.ts +37 -0
- package/lib/mjs/address/AddressPlaceBase.js +1 -0
- package/lib/mjs/erp/AddressApi.d.ts +49 -1
- package/lib/mjs/erp/AddressApi.js +72 -14
- package/lib/mjs/erp/rq/PlaceQueryRQ.d.ts +45 -0
- package/lib/mjs/erp/rq/PlaceQueryRQ.js +9 -0
- package/lib/mjs/i18n/en.json +3 -0
- package/lib/mjs/i18n/zh-Hans.json +3 -0
- package/lib/mjs/i18n/zh-Hant.json +3 -0
- package/lib/mjs/index.d.ts +7 -0
- package/lib/mjs/index.js +7 -0
- package/package.json +4 -4
- package/src/address/AddressAutocomplete.ts +25 -0
- package/src/address/AddressCity.ts +19 -0
- package/src/address/AddressDistrict.ts +19 -0
- package/src/address/AddressLocation.ts +15 -0
- package/src/address/AddressPlace.ts +32 -0
- package/src/address/AddressPlaceBase.ts +43 -0
- package/src/erp/AddressApi.ts +117 -13
- package/src/erp/rq/PlaceQueryRQ.ts +52 -0
- package/src/i18n/en.json +3 -0
- package/src/i18n/zh-Hans.json +3 -0
- package/src/i18n/zh-Hant.json +3 -0
- package/src/index.ts +7 -0
package/src/erp/AddressApi.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataTypes } from '@etsoo/shared';
|
|
1
|
+
import { DataTypes, Utils } from '@etsoo/shared';
|
|
2
2
|
import { AddressContinent } from '../address/AddressContinent';
|
|
3
3
|
import { AddressRegion, AddressRegionDb } from '../address/AddressRegion';
|
|
4
4
|
import { AddressState } from '../address/AddressState';
|
|
@@ -6,6 +6,11 @@ import { IdLabelConditional } from './dto/IdLabelDto';
|
|
|
6
6
|
import { BaseApi } from './BaseApi';
|
|
7
7
|
import { IApiPayload } from '@etsoo/restclient';
|
|
8
8
|
import { RegionsRQ } from './rq/RegionsRQ';
|
|
9
|
+
import { AddressCity } from '../address/AddressCity';
|
|
10
|
+
import { AddressDistrict } from '../address/AddressDistrict';
|
|
11
|
+
import { PlaceQueryRQ } from './rq/PlaceQueryRQ';
|
|
12
|
+
import { AddressAutocomplete } from '../address/AddressAutocomplete';
|
|
13
|
+
import { AddressPlace } from '../address/AddressPlace';
|
|
9
14
|
|
|
10
15
|
const cachedRegions: { [P: string]: AddressRegionDb[] | undefined | null } = {};
|
|
11
16
|
|
|
@@ -13,6 +18,19 @@ const cachedRegions: { [P: string]: AddressRegionDb[] | undefined | null } = {};
|
|
|
13
18
|
* Address Api
|
|
14
19
|
*/
|
|
15
20
|
export class AddressApi extends BaseApi {
|
|
21
|
+
/**
|
|
22
|
+
* Place autocomplete
|
|
23
|
+
* @param rq Request data
|
|
24
|
+
* @param payload Payload
|
|
25
|
+
* @returns Result
|
|
26
|
+
*/
|
|
27
|
+
autocomplete(
|
|
28
|
+
rq: PlaceQueryRQ,
|
|
29
|
+
payload?: IApiPayload<AddressAutocomplete[]>
|
|
30
|
+
) {
|
|
31
|
+
return this.api.post('Address/Autocomplete', rq, payload);
|
|
32
|
+
}
|
|
33
|
+
|
|
16
34
|
/**
|
|
17
35
|
* Get all continents
|
|
18
36
|
* @param isNumberKey Is number key or key as id
|
|
@@ -106,15 +124,7 @@ export class AddressApi extends BaseApi {
|
|
|
106
124
|
|
|
107
125
|
// Order by favoredIds
|
|
108
126
|
if (favoredIds.length > 0) {
|
|
109
|
-
regions = [...regions]
|
|
110
|
-
const n1 = favoredIds.indexOf(r1.id);
|
|
111
|
-
const n2 = favoredIds.indexOf(r2.id);
|
|
112
|
-
|
|
113
|
-
if (n1 === n2) return 0;
|
|
114
|
-
if (n1 === -1) return 1;
|
|
115
|
-
if (n2 === -1) return -1;
|
|
116
|
-
return n1 - n2;
|
|
117
|
-
});
|
|
127
|
+
regions = Utils.sortByFieldFavor([...regions], 'id', favoredIds);
|
|
118
128
|
}
|
|
119
129
|
|
|
120
130
|
// Return the top items
|
|
@@ -169,16 +179,110 @@ export class AddressApi extends BaseApi {
|
|
|
169
179
|
/**
|
|
170
180
|
* Get state list
|
|
171
181
|
* @param regionId Region id
|
|
182
|
+
* @param favoredIds Favored ids
|
|
183
|
+
* @param payload Payload
|
|
184
|
+
* @param culture Culture
|
|
185
|
+
* @returns Result
|
|
186
|
+
*/
|
|
187
|
+
async states(
|
|
188
|
+
regionId: string,
|
|
189
|
+
favoredIds: string[] = [],
|
|
190
|
+
payload?: IApiPayload<AddressState[]>,
|
|
191
|
+
culture?: string
|
|
192
|
+
) {
|
|
193
|
+
payload ??= { defaultValue: [], showLoading: false };
|
|
194
|
+
culture ??= this.app.culture;
|
|
195
|
+
|
|
196
|
+
var items = await this.api.get(
|
|
197
|
+
`Address/StateList?regionId=${regionId}&language=${culture}`,
|
|
198
|
+
undefined,
|
|
199
|
+
payload
|
|
200
|
+
);
|
|
201
|
+
|
|
202
|
+
if (items == null || favoredIds.length === 0) return items;
|
|
203
|
+
return Utils.sortByFieldFavor(items, 'id', favoredIds);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Get city list
|
|
208
|
+
* @param stateId State id
|
|
209
|
+
* @param favoredIds Favored ids
|
|
210
|
+
* @param payload Payload
|
|
211
|
+
* @param culture Culture
|
|
212
|
+
*
|
|
213
|
+
* @returns Result
|
|
214
|
+
*/
|
|
215
|
+
async cities(
|
|
216
|
+
stateId: string,
|
|
217
|
+
favoredIds: number[] = [],
|
|
218
|
+
payload?: IApiPayload<AddressCity[]>,
|
|
219
|
+
culture?: string
|
|
220
|
+
) {
|
|
221
|
+
payload ??= { defaultValue: [], showLoading: false };
|
|
222
|
+
culture ??= this.app.culture;
|
|
223
|
+
|
|
224
|
+
const items = await this.api.get(
|
|
225
|
+
`Address/CityList?stateId=${stateId}&language=${culture}`,
|
|
226
|
+
undefined,
|
|
227
|
+
payload
|
|
228
|
+
);
|
|
229
|
+
|
|
230
|
+
if (items == null || favoredIds.length === 0) return items;
|
|
231
|
+
return Utils.sortByFieldFavor(items, 'id', favoredIds);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Get district list
|
|
236
|
+
* @param cityId City id
|
|
237
|
+
* @param favoredIds Favored ids
|
|
172
238
|
* @param payload Payload
|
|
239
|
+
* @param culture Culture
|
|
173
240
|
* @returns Result
|
|
174
241
|
*/
|
|
175
|
-
|
|
242
|
+
async districts(
|
|
243
|
+
cityId: number,
|
|
244
|
+
favoredIds: number[] = [],
|
|
245
|
+
payload?: IApiPayload<AddressDistrict[]>,
|
|
246
|
+
culture?: string
|
|
247
|
+
) {
|
|
176
248
|
payload ??= { defaultValue: [], showLoading: false };
|
|
249
|
+
culture ??= this.app.culture;
|
|
177
250
|
|
|
178
|
-
|
|
179
|
-
`Address/
|
|
251
|
+
const items = await this.api.get(
|
|
252
|
+
`Address/DistrictList?cityId=${cityId}&language=${culture}`,
|
|
180
253
|
undefined,
|
|
181
254
|
payload
|
|
182
255
|
);
|
|
256
|
+
|
|
257
|
+
if (items == null || favoredIds.length === 0) return items;
|
|
258
|
+
return Utils.sortByFieldFavor(items, 'id', favoredIds);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Get place details
|
|
263
|
+
* @param placeId Place id
|
|
264
|
+
* @param language Language
|
|
265
|
+
* @param payload Payload
|
|
266
|
+
* @returns Result
|
|
267
|
+
*/
|
|
268
|
+
GetPlaceDetails(
|
|
269
|
+
placeId: string,
|
|
270
|
+
language?: string,
|
|
271
|
+
payload?: IApiPayload<AddressPlace>
|
|
272
|
+
) {
|
|
273
|
+
const url = `Address/GetPlaceDetails/${placeId}/${
|
|
274
|
+
language == null ? '' : language
|
|
275
|
+
}`;
|
|
276
|
+
return this.api.get(url, undefined, payload);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Place autocomplete
|
|
281
|
+
* @param rq Request data
|
|
282
|
+
* @param payload Payload
|
|
283
|
+
* @returns Result
|
|
284
|
+
*/
|
|
285
|
+
searchPlace(rq: PlaceQueryRQ, payload?: IApiPayload<AddressPlace[]>) {
|
|
286
|
+
return this.api.post('Address/SearchPlace', rq, payload);
|
|
183
287
|
}
|
|
184
288
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { AddressLocation } from '../../address/AddressLocation';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Place query output type
|
|
5
|
+
* 地址查询输出类型
|
|
6
|
+
*/
|
|
7
|
+
export enum PlaceQueryOutput {
|
|
8
|
+
JSON,
|
|
9
|
+
XML
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Place query request data
|
|
14
|
+
* 地址查询请求数据
|
|
15
|
+
*/
|
|
16
|
+
export type PlaceQueryRQ = {
|
|
17
|
+
/**
|
|
18
|
+
* Query address
|
|
19
|
+
* 查询地址
|
|
20
|
+
*/
|
|
21
|
+
query: string;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Output type
|
|
25
|
+
* 输出类型
|
|
26
|
+
*/
|
|
27
|
+
output?: PlaceQueryOutput;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Language
|
|
31
|
+
* 语言
|
|
32
|
+
*/
|
|
33
|
+
language?: string;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Limited region / country id, like CN
|
|
37
|
+
* 限定的地区获国家编号
|
|
38
|
+
*/
|
|
39
|
+
region?: string;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Center location
|
|
43
|
+
* 中心位置
|
|
44
|
+
*/
|
|
45
|
+
location?: AddressLocation;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Circle radius
|
|
49
|
+
* 方圆半径
|
|
50
|
+
*/
|
|
51
|
+
radius?: number;
|
|
52
|
+
};
|
package/src/i18n/en.json
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"back": "Back",
|
|
12
12
|
"cancel": "Cancel",
|
|
13
13
|
"changePassword": "Change password",
|
|
14
|
+
"city": "City",
|
|
14
15
|
"clear": "Clear",
|
|
15
16
|
"close": "Close",
|
|
16
17
|
"confirm": "Confirm",
|
|
@@ -50,6 +51,7 @@
|
|
|
50
51
|
"delete": "Delete",
|
|
51
52
|
"deleteConfirm": "Are you sure you want to permanently delete this {0}?",
|
|
52
53
|
"description": "Description",
|
|
54
|
+
"district": "District/County",
|
|
53
55
|
"done": "Done",
|
|
54
56
|
"download": "Download",
|
|
55
57
|
"dragIndicator": "Drag indicator",
|
|
@@ -162,6 +164,7 @@
|
|
|
162
164
|
"signout": "Sign out",
|
|
163
165
|
"smartERP": "SmartERP",
|
|
164
166
|
"sortTip": "Drag and drop items to sort",
|
|
167
|
+
"state": "Province/State",
|
|
165
168
|
"status": "Status",
|
|
166
169
|
"statusApproved": "Approved",
|
|
167
170
|
"statusArchived": "Archived",
|
package/src/i18n/zh-Hans.json
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"back": "后退",
|
|
12
12
|
"cancel": "取消",
|
|
13
13
|
"changePassword": "修改密码",
|
|
14
|
+
"city": "城市",
|
|
14
15
|
"clear": "清除",
|
|
15
16
|
"close": "关闭",
|
|
16
17
|
"confirm": "确认",
|
|
@@ -50,6 +51,7 @@
|
|
|
50
51
|
"delete": "删除",
|
|
51
52
|
"deleteConfirm": "确定要永久删除此{0}吗?",
|
|
52
53
|
"description": "描述",
|
|
54
|
+
"district": "区/县",
|
|
53
55
|
"done": "完成",
|
|
54
56
|
"download": "下载",
|
|
55
57
|
"dragIndicator": "拖动指示",
|
|
@@ -162,6 +164,7 @@
|
|
|
162
164
|
"signout": "退出",
|
|
163
165
|
"smartERP": "司友®云ERP",
|
|
164
166
|
"sortTip": "拖拽项目进行排序",
|
|
167
|
+
"state": "省/州",
|
|
165
168
|
"status": "状态",
|
|
166
169
|
"statusApproved": "已批准",
|
|
167
170
|
"statusArchived": "已归档",
|
package/src/i18n/zh-Hant.json
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"back": "後退",
|
|
12
12
|
"cancel": "取消",
|
|
13
13
|
"changePassword": "修改密碼",
|
|
14
|
+
"city": "城市",
|
|
14
15
|
"clear": "清除",
|
|
15
16
|
"close": "關閉",
|
|
16
17
|
"confirm": "確認",
|
|
@@ -50,6 +51,7 @@
|
|
|
50
51
|
"delete": "刪除",
|
|
51
52
|
"deleteConfirm": "確定要永久刪除此{0}嗎?",
|
|
52
53
|
"description": "描述",
|
|
54
|
+
"district": "區/縣",
|
|
53
55
|
"done": "完成",
|
|
54
56
|
"download": "下載",
|
|
55
57
|
"dragIndicator": "拖動指示",
|
|
@@ -162,6 +164,7 @@
|
|
|
162
164
|
"signout": "退出",
|
|
163
165
|
"smartERP": "司友®雲ERP",
|
|
164
166
|
"sortTip": "拖拽項目進行排序",
|
|
167
|
+
"state": "省/州",
|
|
165
168
|
"status": "狀態",
|
|
166
169
|
"statusApproved": "已批准",
|
|
167
170
|
"statusArchived": "已歸檔",
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
// address
|
|
2
|
+
export * from './address/AddressAutocomplete';
|
|
3
|
+
export * from './address/AddressCity';
|
|
2
4
|
export * from './address/AddressContinent';
|
|
5
|
+
export * from './address/AddressDistrict';
|
|
6
|
+
export * from './address/AddressLocation';
|
|
7
|
+
export * from './address/AddressPlace';
|
|
8
|
+
export * from './address/AddressPlaceBase';
|
|
3
9
|
export * from './address/AddressRegion';
|
|
4
10
|
export * from './address/AddressState';
|
|
5
11
|
export * from './address/AddressUtils';
|
|
@@ -47,6 +53,7 @@ export * from './erp/rq/LoginRQ';
|
|
|
47
53
|
export * from './erp/rq/MemberListRQ';
|
|
48
54
|
export * from './erp/rq/OrgListRQ';
|
|
49
55
|
export * from './erp/rq/OrgQueryRQ';
|
|
56
|
+
export * from './erp/rq/PlaceQueryRQ';
|
|
50
57
|
export * from './erp/rq/QueryRQ';
|
|
51
58
|
export * from './erp/rq/RefreshTokenRQ';
|
|
52
59
|
export * from './erp/rq/RegionsRQ';
|