@abtnode/ux 1.8.33 → 1.8.35
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/blocklet/component/environment.js +1 -1
- package/lib/blocklet/component/index.js +61 -31
- package/lib/blocklet/component/line.js +28 -0
- package/lib/blocklet/component/setting.js +1 -1
- package/lib/blocklet/configuration.js +180 -13
- package/lib/blocklet/overview.js +127 -10
- package/lib/blocklet/router/action/add-domain-alias.js +171 -0
- package/lib/blocklet/router/action/add-rule.js +196 -0
- package/lib/blocklet/router/action/config-routing-rule.js +125 -0
- package/lib/blocklet/router/action/delete-domain-alias.js +107 -0
- package/lib/blocklet/router/action/delete-rule.js +114 -0
- package/lib/blocklet/router/action/update-rule.js +195 -0
- package/lib/blocklet/router/domain-actions.js +71 -0
- package/lib/blocklet/router/domain-status.js +96 -0
- package/lib/blocklet/router/rule-actions.js +75 -0
- package/lib/blocklet/router/rule-list.js +179 -0
- package/lib/blocklet/router/util.js +146 -0
- package/lib/blocklet/types.js +25 -0
- package/lib/blocklet/util.js +105 -9
- package/lib/blocklet/version.js +1 -1
- package/lib/certificate.js +110 -0
- package/lib/contexts/blocklet.js +19 -0
- package/lib/delete-confirm.js +125 -0
- package/lib/form/form-text-input.js +9 -2
- package/lib/hooks/blocklet.js +171 -0
- package/lib/hooks/url-evaluation.js +157 -0
- package/lib/hooks/use-subscription.js +28 -0
- package/lib/layout/addon.js +17 -17
- package/lib/layout/feedback.js +57 -0
- package/lib/locales/en.js +6 -2
- package/lib/locales/zh.js +6 -2
- package/lib/schema-form/index.js +9 -4
- package/lib/schema-form/text-input.js +1 -1
- package/lib/team/members/index.js +23 -11
- package/lib/team/members/member.js +3 -0
- package/lib/team/passports/color.js +131 -0
- package/lib/team/passports/index.js +32 -20
- package/lib/util/index.js +70 -5
- package/package.json +12 -12
package/lib/schema-form/index.js
CHANGED
|
@@ -91,6 +91,11 @@ function SchemaForm(_ref2) {
|
|
|
91
91
|
[key]: '__encrypted__'
|
|
92
92
|
}));
|
|
93
93
|
}
|
|
94
|
+
if (['confirm', 'cancel'].includes(action)) {
|
|
95
|
+
onItemEditingStatusChange(null);
|
|
96
|
+
} else {
|
|
97
|
+
onItemEditingStatusChange(item);
|
|
98
|
+
}
|
|
94
99
|
}
|
|
95
100
|
function onItemEditingStatusChange(item) {
|
|
96
101
|
if (item) {
|
|
@@ -147,7 +152,10 @@ function SchemaForm(_ref2) {
|
|
|
147
152
|
description,
|
|
148
153
|
editing,
|
|
149
154
|
value: currentValue,
|
|
150
|
-
onChange:
|
|
155
|
+
onChange: function onChange(changeValue) {
|
|
156
|
+
let action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'change';
|
|
157
|
+
return onFormItemChange(x, changeValue, action);
|
|
158
|
+
},
|
|
151
159
|
componentProps
|
|
152
160
|
};
|
|
153
161
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
@@ -170,7 +178,6 @@ function SchemaForm(_ref2) {
|
|
|
170
178
|
"data-cy": "schema-form-item-confirm",
|
|
171
179
|
onClick: () => {
|
|
172
180
|
onFormItemChange(x, currentValue, 'confirm');
|
|
173
|
-
onItemEditingStatusChange(null);
|
|
174
181
|
},
|
|
175
182
|
disabled: disabled || loading,
|
|
176
183
|
size: "large",
|
|
@@ -181,7 +188,6 @@ function SchemaForm(_ref2) {
|
|
|
181
188
|
"data-cy": "schema-form-item-cancel",
|
|
182
189
|
onClick: () => {
|
|
183
190
|
onFormItemChange(x, editingItemInitialValue.current, 'cancel');
|
|
184
|
-
onItemEditingStatusChange(null);
|
|
185
191
|
},
|
|
186
192
|
disabled: disabled || loading,
|
|
187
193
|
size: "large",
|
|
@@ -191,7 +197,6 @@ function SchemaForm(_ref2) {
|
|
|
191
197
|
"data-cy": "schema-form-item-edit",
|
|
192
198
|
onClick: () => {
|
|
193
199
|
onFormItemChange(x, formValues[key], 'edit');
|
|
194
|
-
onItemEditingStatusChange(x);
|
|
195
200
|
},
|
|
196
201
|
disabled: disabled || editingItem,
|
|
197
202
|
size: "large",
|
|
@@ -55,7 +55,10 @@ const isFromExternal = (user, teamIssuerDid) => {
|
|
|
55
55
|
if (!list.length) {
|
|
56
56
|
return false;
|
|
57
57
|
}
|
|
58
|
-
return !list.some(z =>
|
|
58
|
+
return !list.some(z => {
|
|
59
|
+
var _z$issuer;
|
|
60
|
+
return ((_z$issuer = z.issuer) === null || _z$issuer === void 0 ? void 0 : _z$issuer.id) === teamIssuerDid;
|
|
61
|
+
});
|
|
59
62
|
};
|
|
60
63
|
function SimpleInfo(_ref) {
|
|
61
64
|
let {
|
|
@@ -181,6 +184,9 @@ function MemberList(_ref2) {
|
|
|
181
184
|
(res.users || []).forEach(x => {
|
|
182
185
|
x.isFromExternal = isFromExternal(x, teamIssuerDid);
|
|
183
186
|
x.avatar = (0, _util2.parseAvatar)(x.avatar, teamDid, inService);
|
|
187
|
+
|
|
188
|
+
// for backwards compatibility
|
|
189
|
+
x.passports = (x.passports || []).filter(y => y.issuer);
|
|
184
190
|
});
|
|
185
191
|
setUsers(res.users || []);
|
|
186
192
|
setRowCount(res.paging.total);
|
|
@@ -189,24 +195,30 @@ function MemberList(_ref2) {
|
|
|
189
195
|
_toast.default.error(err.message);
|
|
190
196
|
});
|
|
191
197
|
};
|
|
192
|
-
|
|
193
|
-
getUsers();
|
|
194
|
-
}, ["".concat(search.hideBlocked, "-").concat(search.role, "-").concat(search.page, "-").concat(search.pageSize, "-").concat(search.searchText)]); //eslint-disable-line
|
|
195
|
-
|
|
196
|
-
// user counts
|
|
197
|
-
(0, _react.useEffect)(() => {
|
|
198
|
+
const getUserCounts = () => {
|
|
198
199
|
api.getUsersCountPerRole().then(res => {
|
|
199
200
|
setUserCounts(res.counts || []);
|
|
200
201
|
}).catch(err => {
|
|
201
202
|
_toast.default.error(err.message);
|
|
202
203
|
});
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
useSubscription(_constant.EVENTS.USER_UPDATED, data => {
|
|
204
|
+
};
|
|
205
|
+
const handleUserChange = data => {
|
|
206
206
|
if (data.teamDid === teamDid) {
|
|
207
207
|
getUsers();
|
|
208
|
+
getUserCounts();
|
|
208
209
|
}
|
|
209
|
-
}
|
|
210
|
+
};
|
|
211
|
+
(0, _react.useEffect)(() => {
|
|
212
|
+
getUsers();
|
|
213
|
+
}, ["".concat(search.hideBlocked, "-").concat(search.role, "-").concat(search.page, "-").concat(search.pageSize, "-").concat(search.searchText)]); //eslint-disable-line
|
|
214
|
+
|
|
215
|
+
// user counts
|
|
216
|
+
(0, _react.useEffect)(() => {
|
|
217
|
+
getUserCounts();
|
|
218
|
+
}, []); //eslint-disable-line
|
|
219
|
+
|
|
220
|
+
useSubscription(_constant.EVENTS.USER_UPDATED, handleUserChange, [search]);
|
|
221
|
+
useSubscription(_constant.EVENTS.USER_ADDED, handleUserChange, [search]);
|
|
210
222
|
const isInvitationEnabled = enablePassportIssuance;
|
|
211
223
|
const columns = [{
|
|
212
224
|
label: t('common.name'),
|
|
@@ -78,6 +78,9 @@ function Member(_ref) {
|
|
|
78
78
|
});
|
|
79
79
|
if (res.getUser.user) {
|
|
80
80
|
res.getUser.user.avatar = (0, _util2.parseAvatar)(res.getUser.user.avatar, teamDid, inService);
|
|
81
|
+
|
|
82
|
+
// for backwards compatibility
|
|
83
|
+
res.getUser.user.passports = (res.getUser.user.passports || []).filter(x => x.issuer);
|
|
81
84
|
}
|
|
82
85
|
setUser(res.getUser.user || {});
|
|
83
86
|
setIssuances(res.getPassportIssuances.list || []);
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = PassportColorWithPermission;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
10
|
+
var _Dialog = _interopRequireDefault(require("@arcblock/ux/lib/Dialog"));
|
|
11
|
+
var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
|
|
12
|
+
var _reactColor = require("react-color");
|
|
13
|
+
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
14
|
+
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
15
|
+
var _createPassportSvg = _interopRequireDefault(require("@abtnode/auth/lib/util/create-passport-svg"));
|
|
16
|
+
var _util = require("@blocklet/meta/lib/util");
|
|
17
|
+
var _passportColor = require("@abtnode/auth/lib/util/passport-color");
|
|
18
|
+
var _constant = require("@blocklet/constant");
|
|
19
|
+
var _toast = _interopRequireDefault(require("../../toast"));
|
|
20
|
+
var _node = require("../../contexts/node");
|
|
21
|
+
var _blocklet = require("../../contexts/blocklet");
|
|
22
|
+
var _util2 = require("../../util");
|
|
23
|
+
var _permission = require("../../permission");
|
|
24
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
28
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
29
|
+
function PassportColor(_ref) {
|
|
30
|
+
let {
|
|
31
|
+
onCancel,
|
|
32
|
+
onSuccess
|
|
33
|
+
} = _ref;
|
|
34
|
+
const {
|
|
35
|
+
api
|
|
36
|
+
} = (0, _node.useNodeContext)();
|
|
37
|
+
const {
|
|
38
|
+
blocklet
|
|
39
|
+
} = (0, _blocklet.useBlockletContext)();
|
|
40
|
+
const {
|
|
41
|
+
t
|
|
42
|
+
} = (0, _context.useLocaleContext)();
|
|
43
|
+
const [loading, setLoading] = (0, _react.useState)(false);
|
|
44
|
+
const curColor = (blocklet.environments.find(x => x.key === 'BLOCKLET_PASSPORT_COLOR') || {}).value || 'auto';
|
|
45
|
+
const defaultColor = curColor === 'auto' ? (0, _passportColor.getPassportColorFromDid)(blocklet.appDid) : curColor;
|
|
46
|
+
const [color, setColor] = (0, _react.useState)(defaultColor);
|
|
47
|
+
const onSubmit = async () => {
|
|
48
|
+
const params = [{
|
|
49
|
+
key: _constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_PASSPORT_COLOR,
|
|
50
|
+
value: color,
|
|
51
|
+
custom: true
|
|
52
|
+
}];
|
|
53
|
+
try {
|
|
54
|
+
setLoading(true);
|
|
55
|
+
await api.configBlocklet({
|
|
56
|
+
input: {
|
|
57
|
+
did: blocklet.meta.did,
|
|
58
|
+
configs: params
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
onSuccess();
|
|
62
|
+
} catch (err) {
|
|
63
|
+
_toast.default.error(err.message);
|
|
64
|
+
} finally {
|
|
65
|
+
setLoading(false);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {
|
|
69
|
+
title: t('team.passport.color'),
|
|
70
|
+
onClose: onCancel,
|
|
71
|
+
open: true,
|
|
72
|
+
fullWidth: true,
|
|
73
|
+
actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
74
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
75
|
+
onClick: onCancel,
|
|
76
|
+
color: "inherit",
|
|
77
|
+
children: t('common.cancel')
|
|
78
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
79
|
+
onClick: onSubmit,
|
|
80
|
+
color: "primary",
|
|
81
|
+
disabled: loading,
|
|
82
|
+
variant: "contained",
|
|
83
|
+
autoFocus: true,
|
|
84
|
+
"data-cy": "bind-permission-btn-confirm",
|
|
85
|
+
children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
|
|
86
|
+
size: [16, 10]
|
|
87
|
+
}), t('common.save')]
|
|
88
|
+
})]
|
|
89
|
+
}),
|
|
90
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
91
|
+
display: "flex",
|
|
92
|
+
justifyContent: "center",
|
|
93
|
+
alignItems: "center",
|
|
94
|
+
className: "dialog-content",
|
|
95
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactColor.ChromePicker, {
|
|
96
|
+
color: color,
|
|
97
|
+
onChange: c => setColor(c.hex)
|
|
98
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
|
|
99
|
+
style: {
|
|
100
|
+
width: 96,
|
|
101
|
+
marginLeft: 48
|
|
102
|
+
},
|
|
103
|
+
alt: "",
|
|
104
|
+
src: (0, _createPassportSvg.default)({
|
|
105
|
+
title: 'Owner',
|
|
106
|
+
issuer: (0, _util.getDisplayName)(blocklet),
|
|
107
|
+
issuerDid: blocklet.appDid,
|
|
108
|
+
ownerName: 'Your Name',
|
|
109
|
+
isDataUrl: true,
|
|
110
|
+
preferredColor: color
|
|
111
|
+
})
|
|
112
|
+
})]
|
|
113
|
+
})
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
const PassportColorInDaemon = (0, _permission.withPermission)(PassportColor, 'mutate_team');
|
|
117
|
+
const PassportColorInService = (0, _permission.withPermission)(PassportColor, '', _util2.BlockletAdminRoles);
|
|
118
|
+
function PassportColorWithPermission(props) {
|
|
119
|
+
const {
|
|
120
|
+
inService
|
|
121
|
+
} = (0, _node.useNodeContext)();
|
|
122
|
+
if (inService) {
|
|
123
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PassportColorInService, _objectSpread({}, props));
|
|
124
|
+
}
|
|
125
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PassportColorInDaemon, _objectSpread({}, props));
|
|
126
|
+
}
|
|
127
|
+
PassportColor.propTypes = {
|
|
128
|
+
onCancel: _propTypes.default.func.isRequired,
|
|
129
|
+
onSuccess: _propTypes.default.func.isRequired
|
|
130
|
+
};
|
|
131
|
+
PassportColor.defaultProps = {};
|
|
@@ -24,6 +24,7 @@ var _permission = _interopRequireDefault(require("../../permission"));
|
|
|
24
24
|
var _searchInput = _interopRequireDefault(require("../search-input"));
|
|
25
25
|
var _listHeader = _interopRequireDefault(require("../styles/list-header"));
|
|
26
26
|
var _detail = _interopRequireDefault(require("./detail"));
|
|
27
|
+
var _color = _interopRequireDefault(require("./color"));
|
|
27
28
|
var _mutateRole = _interopRequireDefault(require("./mutate-role"));
|
|
28
29
|
var _trustedIssuers = _interopRequireDefault(require("./trusted-issuers"));
|
|
29
30
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -50,6 +51,7 @@ function PassportList() {
|
|
|
50
51
|
} = (0, _team.useTeamContext)();
|
|
51
52
|
const [showCreate, setShowCreate] = (0, _react.useState)(false);
|
|
52
53
|
const [updateForm, setUpdateForm] = (0, _react.useState)(false);
|
|
54
|
+
const [showColor, setShowColor] = (0, _react.useState)(false);
|
|
53
55
|
const [showTrustedIssuers, setShowTrustedIssuers] = (0, _react.useState)(null);
|
|
54
56
|
const [search, setSearch] = (0, _react.useState)('');
|
|
55
57
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
@@ -94,27 +96,34 @@ function PassportList() {
|
|
|
94
96
|
menuButtonProps: {
|
|
95
97
|
'data-cy': 'trusted-issuers-more'
|
|
96
98
|
},
|
|
97
|
-
menu: /*#__PURE__*/(0, _jsxRuntime.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
99
|
+
menu: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
100
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SplitButton.default.Item, {
|
|
101
|
+
"data-cy": "config-show-issue-passport",
|
|
102
|
+
onClick: () => {
|
|
103
|
+
toggleShowIssue();
|
|
104
|
+
},
|
|
105
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
106
|
+
display: "flex",
|
|
107
|
+
alignItems: "center",
|
|
108
|
+
children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
|
|
109
|
+
size: [16, 10],
|
|
110
|
+
style: {
|
|
111
|
+
marginRight: 8
|
|
112
|
+
}
|
|
113
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
114
|
+
children: [enablePassportIssuance ? t('team.passport.disableIssuance') : t('team.passport.enableIssuance'), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
115
|
+
fontSize: 12,
|
|
116
|
+
color: "#888",
|
|
117
|
+
children: enablePassportIssuance ? t('team.passport.disableIssuanceTip') : t('team.passport.enableIssuanceTip')
|
|
118
|
+
})]
|
|
115
119
|
})]
|
|
116
|
-
})
|
|
117
|
-
})
|
|
120
|
+
})
|
|
121
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SplitButton.default.Item, {
|
|
122
|
+
onClick: () => setShowColor(true),
|
|
123
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
124
|
+
children: t('team.passport.configColor')
|
|
125
|
+
})
|
|
126
|
+
})]
|
|
118
127
|
}),
|
|
119
128
|
children: () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
120
129
|
variant: "outlined",
|
|
@@ -212,6 +221,9 @@ function PassportList() {
|
|
|
212
221
|
item: updateForm
|
|
213
222
|
}), showTrustedIssuers && /*#__PURE__*/(0, _jsxRuntime.jsx)(_trustedIssuers.default, {
|
|
214
223
|
onCancel: () => setShowTrustedIssuers(false)
|
|
224
|
+
}), showColor && /*#__PURE__*/(0, _jsxRuntime.jsx)(_color.default, {
|
|
225
|
+
onCancel: () => setShowColor(null),
|
|
226
|
+
onSuccess: () => setShowColor(null)
|
|
215
227
|
})]
|
|
216
228
|
});
|
|
217
229
|
}
|
package/lib/util/index.js
CHANGED
|
@@ -22,7 +22,11 @@ exports.getAsset = getAsset;
|
|
|
22
22
|
exports.getAssetExpiration = getAssetExpiration;
|
|
23
23
|
exports.getBlockletLogoUrl = void 0;
|
|
24
24
|
exports.getBlockletMetaUrl = getBlockletMetaUrl;
|
|
25
|
-
exports.
|
|
25
|
+
exports.getBlockletServices = void 0;
|
|
26
|
+
exports.getBlockletUrl = getBlockletUrl;
|
|
27
|
+
exports.getBlockletUrlParams = void 0;
|
|
28
|
+
exports.getBlockletUrls = getBlockletUrls;
|
|
29
|
+
exports.getEndPoint = void 0;
|
|
26
30
|
exports.getExplorerLink = getExplorerLink;
|
|
27
31
|
exports.getPathPrefix = exports.getIssuePassportLink = exports.getInviteLink = void 0;
|
|
28
32
|
exports.getRelativeTime = getRelativeTime;
|
|
@@ -35,7 +39,7 @@ exports.parseQuery = void 0;
|
|
|
35
39
|
exports.patchJsxToLocale = patchJsxToLocale;
|
|
36
40
|
exports.shouldCheckDomainStatus = void 0;
|
|
37
41
|
exports.sleep = sleep;
|
|
38
|
-
exports.validateDomain = exports.stringSortHandlerAsc = void 0;
|
|
42
|
+
exports.validateDomain = exports.toSlotDomain = exports.stringSortHandlerAsc = void 0;
|
|
39
43
|
var _constant = require("@abtnode/constant");
|
|
40
44
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
41
45
|
require("moment/locale/zh-cn");
|
|
@@ -113,6 +117,53 @@ function getAccessUrl(hostname) {
|
|
|
113
117
|
});
|
|
114
118
|
return "".concat(url, "?").concat(searchParams.toString());
|
|
115
119
|
}
|
|
120
|
+
function getBlockletUrl() {
|
|
121
|
+
let {
|
|
122
|
+
blocklet,
|
|
123
|
+
domain: inputDomain,
|
|
124
|
+
mountPoint: inputMountPoint,
|
|
125
|
+
params
|
|
126
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
127
|
+
const {
|
|
128
|
+
site
|
|
129
|
+
} = blocklet;
|
|
130
|
+
if (!site) {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
const domain = inputDomain || (site.domainAliases || [])[0];
|
|
134
|
+
if (!domain) {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
let mountPoint = inputMountPoint;
|
|
138
|
+
if (!mountPoint) {
|
|
139
|
+
const rule = site.rules.filter(x => !x.from.pathPrefix.startsWith(_constant.WELLKNOWN_PATH_PREFIX))[0];
|
|
140
|
+
mountPoint = rule ? rule.from.pathPrefix : '/';
|
|
141
|
+
}
|
|
142
|
+
return getAccessUrl(domain.value, mountPoint, params);
|
|
143
|
+
}
|
|
144
|
+
function getBlockletUrls() {
|
|
145
|
+
let {
|
|
146
|
+
blocklet,
|
|
147
|
+
mountPoint: inputMountPoint,
|
|
148
|
+
params
|
|
149
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
150
|
+
const {
|
|
151
|
+
site
|
|
152
|
+
} = blocklet;
|
|
153
|
+
if (!site) {
|
|
154
|
+
return [];
|
|
155
|
+
}
|
|
156
|
+
const domains = site.domainAliases || [];
|
|
157
|
+
if (!domains.length) {
|
|
158
|
+
return [];
|
|
159
|
+
}
|
|
160
|
+
let mountPoint = inputMountPoint;
|
|
161
|
+
if (!mountPoint) {
|
|
162
|
+
const rule = site.rules.filter(x => !x.from.pathPrefix.startsWith(_constant.WELLKNOWN_PATH_PREFIX))[0];
|
|
163
|
+
mountPoint = rule ? rule.name : '/';
|
|
164
|
+
}
|
|
165
|
+
return domains.map(domain => getAccessUrl(domain.value, mountPoint, params));
|
|
166
|
+
}
|
|
116
167
|
function getExplorerLink(chainHost, did, type) {
|
|
117
168
|
if (!chainHost) return undefined;
|
|
118
169
|
try {
|
|
@@ -279,6 +330,9 @@ const formatPerson = person => {
|
|
|
279
330
|
exports.formatPerson = formatPerson;
|
|
280
331
|
const getBlockletServices = blocklet => {
|
|
281
332
|
const services = [];
|
|
333
|
+
if (!blocklet) {
|
|
334
|
+
return services;
|
|
335
|
+
}
|
|
282
336
|
const interfaces = (blocklet.meta.interfaces || []).filter(x => x.type === _constant2.BLOCKLET_INTERFACE_TYPE_SERVICE);
|
|
283
337
|
interfaces.forEach(x => {
|
|
284
338
|
services.push({
|
|
@@ -468,8 +522,8 @@ const isCertificateMatch = function isCertificateMatch() {
|
|
|
468
522
|
let matchedSites = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
469
523
|
try {
|
|
470
524
|
return matchedSites.map(item => item.domain).some(domain => {
|
|
471
|
-
return blockletUrls.some(
|
|
472
|
-
const url = new window.URL(
|
|
525
|
+
return blockletUrls.some(u => {
|
|
526
|
+
const url = new window.URL(u.startsWith('http') ? u : "http://".concat(u));
|
|
473
527
|
return url.hostname === domain;
|
|
474
528
|
});
|
|
475
529
|
});
|
|
@@ -611,4 +665,15 @@ exports.isBlockletDev = isBlockletDev;
|
|
|
611
665
|
const APP_PREFIX = ((_window$env = window.env) === null || _window$env === void 0 ? void 0 : _window$env.groupPathPrefix) || '/';
|
|
612
666
|
exports.APP_PREFIX = APP_PREFIX;
|
|
613
667
|
const BlockletAdminRoles = [_constant.ROLES.ADMIN, _constant.ROLES.OWNER];
|
|
614
|
-
exports.BlockletAdminRoles = BlockletAdminRoles;
|
|
668
|
+
exports.BlockletAdminRoles = BlockletAdminRoles;
|
|
669
|
+
const toSlotDomain = domain => {
|
|
670
|
+
if (domain.endsWith(_constant.DEFAULT_IP_DOMAIN_SUFFIX)) {
|
|
671
|
+
const subDomain = domain.split('.').shift();
|
|
672
|
+
const matches = subDomain.match(_constant.IP);
|
|
673
|
+
if (matches) {
|
|
674
|
+
return domain.replace(matches[0].slice(1), _constant.SLOT_FOR_IP_DNS_SITE);
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
return domain;
|
|
678
|
+
};
|
|
679
|
+
exports.toSlotDomain = toSlotDomain;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.8.
|
|
6
|
+
"version": "1.8.35",
|
|
7
7
|
"description": "UX components shared across abtnode packages",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"files": [
|
|
@@ -21,17 +21,17 @@
|
|
|
21
21
|
"author": "linchen <linchen1987@foxmail.com> (http://github.com/linchen1987)",
|
|
22
22
|
"license": "MIT",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@abtnode/auth": "1.8.
|
|
25
|
-
"@abtnode/constant": "1.8.
|
|
26
|
-
"@abtnode/util": "1.8.
|
|
27
|
-
"@arcblock/did-connect": "^2.4.
|
|
24
|
+
"@abtnode/auth": "1.8.35",
|
|
25
|
+
"@abtnode/constant": "1.8.35",
|
|
26
|
+
"@abtnode/util": "1.8.35",
|
|
27
|
+
"@arcblock/did-connect": "^2.4.52",
|
|
28
28
|
"@arcblock/did-motif": "^1.1.10",
|
|
29
|
-
"@arcblock/icons": "^2.4.
|
|
30
|
-
"@arcblock/terminal": "^2.4.
|
|
31
|
-
"@arcblock/ux": "^2.4.
|
|
32
|
-
"@blocklet/constant": "1.8.
|
|
33
|
-
"@blocklet/launcher-layout": "^1.9.
|
|
34
|
-
"@blocklet/meta": "1.8.
|
|
29
|
+
"@arcblock/icons": "^2.4.52",
|
|
30
|
+
"@arcblock/terminal": "^2.4.52",
|
|
31
|
+
"@arcblock/ux": "^2.4.52",
|
|
32
|
+
"@blocklet/constant": "1.8.35",
|
|
33
|
+
"@blocklet/launcher-layout": "^1.9.10",
|
|
34
|
+
"@blocklet/meta": "1.8.35",
|
|
35
35
|
"@emotion/react": "^11.10.4",
|
|
36
36
|
"@emotion/styled": "^11.10.4",
|
|
37
37
|
"@material-table/core": "^0.2.48",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"@babel/preset-react": "^7.18.6",
|
|
74
74
|
"babel-plugin-inline-react-svg": "^1.1.2"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "dd89e7a61dc8cff64302608ad5ab6545dd903daa"
|
|
77
77
|
}
|