@abtnode/ux 1.8.36 → 1.8.37
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/actions.js +1 -3
- package/lib/blocklet/agreement-app.js +28 -0
- package/lib/blocklet/agreement.js +72 -0
- package/lib/blocklet/avatar.js +1 -10
- package/lib/blocklet/component/add.js +1083 -0
- package/lib/blocklet/component/configuration.js +1 -1
- package/lib/blocklet/component/index.js +7 -9
- package/lib/blocklet/component/select-store.js +151 -0
- package/lib/blocklet/component/store-blocklet-list.js +203 -0
- package/lib/blocklet/configuration.js +1 -1
- package/lib/blocklet/install-from-url.js +362 -0
- package/lib/blocklet/preferences/index.js +168 -0
- package/lib/blocklet/purchase/common.js +103 -0
- package/lib/blocklet/purchase/component-purchase.js +251 -0
- package/lib/blocklet/purchase/index.js +13 -0
- package/lib/blocklet/util.js +4 -16
- package/lib/blocklet/version.js +1 -1
- package/lib/hooks/blocklet.js +26 -10
- package/lib/locales/en.js +2 -0
- package/lib/locales/zh.js +2 -0
- package/lib/schema-form/index.js +1 -1
- package/lib/store/add.js +185 -0
- package/lib/store/delete.js +102 -0
- package/lib/store/item.js +84 -0
- package/lib/util/api.js +21 -0
- package/lib/util/constants.js +10 -0
- package/lib/util/index.js +24 -8
- package/package.json +10 -7
|
@@ -30,7 +30,7 @@ function ComponentConfiguration(_ref) {
|
|
|
30
30
|
const [showDialog, setShowDialog] = (0, _react.useState)('');
|
|
31
31
|
const {
|
|
32
32
|
t
|
|
33
|
-
} = (0,
|
|
33
|
+
} = (0, _context.useLocaleContext)();
|
|
34
34
|
const isRoot = !ancestors.map(x => x.meta.did)[0];
|
|
35
35
|
const isDynamic = blocklet.dynamic;
|
|
36
36
|
const [tab, setTab] = (0, _react.useState)('settings');
|
|
@@ -48,10 +48,11 @@ var _mode = _interopRequireDefault(require("../mode"));
|
|
|
48
48
|
var _configuration = _interopRequireDefault(require("./configuration"));
|
|
49
49
|
var _delete = _interopRequireDefault(require("./delete"));
|
|
50
50
|
var _line = _interopRequireDefault(require("./line"));
|
|
51
|
+
var _add = _interopRequireDefault(require("./add"));
|
|
51
52
|
var _addRule = _interopRequireDefault(require("../router/action/add-rule"));
|
|
52
53
|
var _ruleList = _interopRequireDefault(require("../router/rule-list"));
|
|
53
54
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
54
|
-
const _excluded = ["blocklet", "onUpdate", "getComponentUrl"
|
|
55
|
+
const _excluded = ["blocklet", "onUpdate", "getComponentUrl"];
|
|
55
56
|
var _templateObject, _templateObject2;
|
|
56
57
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
57
58
|
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; }
|
|
@@ -407,8 +408,7 @@ function BlockletComponent(_ref4) {
|
|
|
407
408
|
let {
|
|
408
409
|
blocklet,
|
|
409
410
|
onUpdate,
|
|
410
|
-
getComponentUrl
|
|
411
|
-
AddComponent
|
|
411
|
+
getComponentUrl
|
|
412
412
|
} = _ref4,
|
|
413
413
|
rest = _objectWithoutProperties(_ref4, _excluded);
|
|
414
414
|
const {
|
|
@@ -538,7 +538,7 @@ function BlockletComponent(_ref4) {
|
|
|
538
538
|
input = {
|
|
539
539
|
did: blocklet.meta.did,
|
|
540
540
|
version: updateConfirm.params.version,
|
|
541
|
-
|
|
541
|
+
storeUrl: updateConfirm.params.registryUrl || ''
|
|
542
542
|
};
|
|
543
543
|
} else {
|
|
544
544
|
fn = api.upgradeComponents.bind(api);
|
|
@@ -641,7 +641,7 @@ function BlockletComponent(_ref4) {
|
|
|
641
641
|
}), t('router.rule.add.title')]
|
|
642
642
|
});
|
|
643
643
|
}
|
|
644
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
644
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {
|
|
645
645
|
blocklet: blocklet,
|
|
646
646
|
children: _ref7 => {
|
|
647
647
|
let {
|
|
@@ -761,12 +761,10 @@ function BlockletComponent(_ref4) {
|
|
|
761
761
|
BlockletComponent.propTypes = {
|
|
762
762
|
blocklet: _propTypes.default.object.isRequired,
|
|
763
763
|
onUpdate: _propTypes.default.func,
|
|
764
|
-
getComponentUrl: _propTypes.default.func
|
|
765
|
-
AddComponent: _propTypes.default.element
|
|
764
|
+
getComponentUrl: _propTypes.default.func
|
|
766
765
|
};
|
|
767
766
|
BlockletComponent.defaultProps = {
|
|
768
767
|
onUpdate: () => {},
|
|
769
|
-
getComponentUrl: () => window.location.origin
|
|
770
|
-
AddComponent: () => {}
|
|
768
|
+
getComponentUrl: () => window.location.origin
|
|
771
769
|
};
|
|
772
770
|
const Div = _styled.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .title {\n font-size: 1.2rem;\n font-weight: bold;\n margin-bottom: ", ";\n }\n\n @keyframes showDelay {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n }\n\n .component-item {\n animation: showDelay 0.75s ease 1;\n }\n"])), props => props.theme.spacing(1));
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = SelectStore;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
10
|
+
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
11
|
+
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
12
|
+
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
13
|
+
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
14
|
+
var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
|
|
15
|
+
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
16
|
+
var _useLocalStorage = _interopRequireDefault(require("react-use/lib/useLocalStorage"));
|
|
17
|
+
var _constants = require("../../util/constants");
|
|
18
|
+
var _node = require("../../contexts/node");
|
|
19
|
+
var _blocklet = require("../../contexts/blocklet");
|
|
20
|
+
var _add = _interopRequireDefault(require("../../store/add"));
|
|
21
|
+
var _item = _interopRequireDefault(require("../../store/item"));
|
|
22
|
+
var _util = require("../../util");
|
|
23
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
|
+
var _templateObject;
|
|
25
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
27
|
+
function SelectStore(_ref) {
|
|
28
|
+
let {
|
|
29
|
+
onChange: _onChange,
|
|
30
|
+
loading,
|
|
31
|
+
children,
|
|
32
|
+
extra
|
|
33
|
+
} = _ref;
|
|
34
|
+
const {
|
|
35
|
+
t
|
|
36
|
+
} = (0, _context.useLocaleContext)();
|
|
37
|
+
const {
|
|
38
|
+
info: nodeInfo,
|
|
39
|
+
inService
|
|
40
|
+
} = (0, _node.useNodeContext)();
|
|
41
|
+
const {
|
|
42
|
+
blocklet
|
|
43
|
+
} = (0, _blocklet.useBlockletContext)();
|
|
44
|
+
const [open, setOpen] = (0, _react.useState)(false);
|
|
45
|
+
const storeSelectRef = (0, _react.useRef)(null);
|
|
46
|
+
const storageKey = inService ? _constants.STORAGE_KEY_STORE_BLOCKLET : _constants.STORAGE_KEY_STORE_SERVER;
|
|
47
|
+
const [storeUrl, setStoreUrl] = (0, _useLocalStorage.default)(storageKey);
|
|
48
|
+
const {
|
|
49
|
+
storeList,
|
|
50
|
+
teamDid
|
|
51
|
+
} = (0, _util.getStoreList)({
|
|
52
|
+
fromBlocklet: inService,
|
|
53
|
+
blocklet,
|
|
54
|
+
nodeInfo
|
|
55
|
+
});
|
|
56
|
+
const currentRegistry = storeUrl && storeList.find(x => storeUrl === x.url) || storeList[0];
|
|
57
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
58
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(SelectStoreTitle, {
|
|
59
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
60
|
+
ref: storeSelectRef,
|
|
61
|
+
color: "secondary",
|
|
62
|
+
"data-cy": "add-component-select-store",
|
|
63
|
+
endIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowDropDown.default, {
|
|
64
|
+
color: "secondary"
|
|
65
|
+
}),
|
|
66
|
+
onClick: () => {
|
|
67
|
+
setOpen(true);
|
|
68
|
+
},
|
|
69
|
+
style: {
|
|
70
|
+
padding: '0 2px'
|
|
71
|
+
},
|
|
72
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
73
|
+
color: "secondary",
|
|
74
|
+
children: currentRegistry.name
|
|
75
|
+
})
|
|
76
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
77
|
+
color: "secondary",
|
|
78
|
+
children: extra
|
|
79
|
+
})]
|
|
80
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TextField.default, {
|
|
81
|
+
id: "mui-registry-select",
|
|
82
|
+
select: true,
|
|
83
|
+
autoComplete: "off",
|
|
84
|
+
variant: "outlined",
|
|
85
|
+
name: "did",
|
|
86
|
+
helperText: t('blocklet.component.selectRegistryTip'),
|
|
87
|
+
"data-cy": "component-registry-select",
|
|
88
|
+
fullWidth: true,
|
|
89
|
+
value: currentRegistry,
|
|
90
|
+
autoFocus: true,
|
|
91
|
+
onChange: e => {
|
|
92
|
+
const newRegistry = e.target.value;
|
|
93
|
+
setStoreUrl(newRegistry.url);
|
|
94
|
+
_onChange(newRegistry);
|
|
95
|
+
},
|
|
96
|
+
SelectProps: {
|
|
97
|
+
open,
|
|
98
|
+
MenuProps: {
|
|
99
|
+
anchorEl: storeSelectRef.current
|
|
100
|
+
},
|
|
101
|
+
renderValue: item => {
|
|
102
|
+
return item === null || item === void 0 ? void 0 : item.name;
|
|
103
|
+
},
|
|
104
|
+
onClose: () => {
|
|
105
|
+
setOpen(false);
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
style: {
|
|
109
|
+
display: 'none'
|
|
110
|
+
},
|
|
111
|
+
margin: "normal",
|
|
112
|
+
children: [storeList === null || storeList === void 0 ? void 0 : storeList.map(x => {
|
|
113
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
|
|
114
|
+
value: x,
|
|
115
|
+
"data-cy": x.url,
|
|
116
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.default, {
|
|
117
|
+
teamDid: teamDid,
|
|
118
|
+
store: x,
|
|
119
|
+
onDelete: () => {
|
|
120
|
+
if (storeUrl === x.url) {
|
|
121
|
+
var _storeList$;
|
|
122
|
+
setStoreUrl((_storeList$ = storeList[0]) === null || _storeList$ === void 0 ? void 0 : _storeList$.url);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
})
|
|
126
|
+
}, x.url);
|
|
127
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {
|
|
128
|
+
disabled: loading,
|
|
129
|
+
storeList: storeList,
|
|
130
|
+
teamDid: teamDid,
|
|
131
|
+
onAdd: url => {
|
|
132
|
+
setStoreUrl(url);
|
|
133
|
+
}
|
|
134
|
+
})]
|
|
135
|
+
}), children({
|
|
136
|
+
currentRegistry
|
|
137
|
+
})]
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
SelectStore.propTypes = {
|
|
141
|
+
onChange: _propTypes.default.func,
|
|
142
|
+
loading: _propTypes.default.bool,
|
|
143
|
+
children: _propTypes.default.any.isRequired,
|
|
144
|
+
extra: _propTypes.default.node
|
|
145
|
+
};
|
|
146
|
+
SelectStore.defaultProps = {
|
|
147
|
+
onChange: () => {},
|
|
148
|
+
loading: false,
|
|
149
|
+
extra: ''
|
|
150
|
+
};
|
|
151
|
+
const SelectStoreTitle = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n\n span {\n font-size: 16px;\n color: ", ";\n // font-weight: bold;\n }\n"])), props => props.theme.palette.common.black);
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = BlockletList;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _urlJoin = _interopRequireDefault(require("url-join"));
|
|
11
|
+
var _Link = _interopRequireDefault(require("@mui/material/Link"));
|
|
12
|
+
var _ErrorBoundary = require("@arcblock/ux/lib/ErrorBoundary");
|
|
13
|
+
var _reactErrorBoundary = require("react-error-boundary");
|
|
14
|
+
var _list = _interopRequireDefault(require("@blocklet/list"));
|
|
15
|
+
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
16
|
+
var _Blocklet = _interopRequireWildcard(require("@arcblock/ux/lib/Blocklet"));
|
|
17
|
+
var _Spinner = _interopRequireDefault(require("@arcblock/ux/lib/Spinner"));
|
|
18
|
+
var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
|
|
19
|
+
var _util = require("@blocklet/meta/lib/util");
|
|
20
|
+
var _toast = _interopRequireDefault(require("../../toast"));
|
|
21
|
+
var _util2 = require("../../util");
|
|
22
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
+
var _templateObject;
|
|
24
|
+
const _excluded = ["handleButtonClick", "handleSearchSelect", "storeUrl", "handleBlockletRender", "extraFilter"];
|
|
25
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
28
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
29
|
+
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; }
|
|
30
|
+
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; }
|
|
31
|
+
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; }
|
|
32
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
33
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
34
|
+
const getStoreDetail = (meta, endpoint) => {
|
|
35
|
+
return (0, _urlJoin.default)(endpoint, "/blocklets/".concat(meta.did));
|
|
36
|
+
};
|
|
37
|
+
const displayAttributes = _ref => {
|
|
38
|
+
let {
|
|
39
|
+
blocklet,
|
|
40
|
+
attribute,
|
|
41
|
+
value
|
|
42
|
+
} = _ref;
|
|
43
|
+
if (blocklet._formatted) {
|
|
44
|
+
return blocklet._formatted[attribute];
|
|
45
|
+
}
|
|
46
|
+
return value;
|
|
47
|
+
};
|
|
48
|
+
const requirePurchase = meta => meta.inStore && (0, _util.isFreeBlocklet)(meta) === false;
|
|
49
|
+
function BlockletItem(_ref2) {
|
|
50
|
+
let {
|
|
51
|
+
blocklet,
|
|
52
|
+
blocklets,
|
|
53
|
+
handleButtonClick,
|
|
54
|
+
endpoint
|
|
55
|
+
} = _ref2;
|
|
56
|
+
const {
|
|
57
|
+
t
|
|
58
|
+
} = (0, _context.useLocaleContext)();
|
|
59
|
+
const logoUrl = (0, _urlJoin.default)(endpoint, (0, _util2.formatRegistryLogoPath)(blocklet.did, blocklet.logo || ''));
|
|
60
|
+
const [loading, setLoading] = (0, _react.useState)(false);
|
|
61
|
+
const onClickLink = e => {
|
|
62
|
+
if (!e.currentTarget.contains(e.target)) {
|
|
63
|
+
e.preventDefault();
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
};
|
|
68
|
+
const btnTxt = requirePurchase(blocklet) ? t('common.purchase') : t('blocklet.component.choose');
|
|
69
|
+
const onAction = async e => {
|
|
70
|
+
e.preventDefault();
|
|
71
|
+
e.stopPropagation();
|
|
72
|
+
try {
|
|
73
|
+
setLoading(true);
|
|
74
|
+
await handleButtonClick({
|
|
75
|
+
meta: blocklet,
|
|
76
|
+
registryUrl: endpoint,
|
|
77
|
+
blocklets
|
|
78
|
+
});
|
|
79
|
+
} catch (err) {
|
|
80
|
+
_toast.default.error(err.message);
|
|
81
|
+
} finally {
|
|
82
|
+
setLoading(false);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {
|
|
86
|
+
href: getStoreDetail(blocklet, endpoint),
|
|
87
|
+
style: {
|
|
88
|
+
color: 'initial',
|
|
89
|
+
textDecoration: 'none'
|
|
90
|
+
},
|
|
91
|
+
onClick: onClickLink,
|
|
92
|
+
target: "_blank",
|
|
93
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledBlocklet, {
|
|
94
|
+
title: displayAttributes({
|
|
95
|
+
blocklet,
|
|
96
|
+
attribute: 'title',
|
|
97
|
+
value: blocklet.title || blocklet.name
|
|
98
|
+
}),
|
|
99
|
+
did: blocklet.did,
|
|
100
|
+
description: displayAttributes({
|
|
101
|
+
blocklet,
|
|
102
|
+
attribute: 'description',
|
|
103
|
+
value: blocklet.description
|
|
104
|
+
}),
|
|
105
|
+
cover: blocklet.logo ? logoUrl : '',
|
|
106
|
+
version: blocklet.version,
|
|
107
|
+
button: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
108
|
+
style: {
|
|
109
|
+
display: 'flex',
|
|
110
|
+
alignItems: 'center'
|
|
111
|
+
},
|
|
112
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Blocklet.ActionButton, {
|
|
113
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
114
|
+
onClick: onAction,
|
|
115
|
+
size: "small",
|
|
116
|
+
disabled: loading,
|
|
117
|
+
variant: "outlined",
|
|
118
|
+
color: "primary",
|
|
119
|
+
"data-cy": "install-blocklet",
|
|
120
|
+
children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
121
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
|
|
122
|
+
size: [16, 10],
|
|
123
|
+
style: {
|
|
124
|
+
marginRight: 3
|
|
125
|
+
}
|
|
126
|
+
}), btnTxt]
|
|
127
|
+
}) : btnTxt
|
|
128
|
+
}, blocklet.did)
|
|
129
|
+
})
|
|
130
|
+
})
|
|
131
|
+
})
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
BlockletItem.propTypes = {
|
|
135
|
+
blocklet: _propTypes.default.object.isRequired,
|
|
136
|
+
blocklets: _propTypes.default.array,
|
|
137
|
+
handleButtonClick: _propTypes.default.func,
|
|
138
|
+
endpoint: _propTypes.default.string
|
|
139
|
+
};
|
|
140
|
+
BlockletItem.defaultProps = {
|
|
141
|
+
handleButtonClick: null,
|
|
142
|
+
endpoint: '',
|
|
143
|
+
blocklets: []
|
|
144
|
+
};
|
|
145
|
+
function BlockletList(_ref3) {
|
|
146
|
+
let {
|
|
147
|
+
handleButtonClick,
|
|
148
|
+
handleSearchSelect,
|
|
149
|
+
storeUrl,
|
|
150
|
+
handleBlockletRender,
|
|
151
|
+
extraFilter
|
|
152
|
+
} = _ref3,
|
|
153
|
+
rest = _objectWithoutProperties(_ref3, _excluded);
|
|
154
|
+
const {
|
|
155
|
+
locale
|
|
156
|
+
} = (0, _context.useLocaleContext)();
|
|
157
|
+
const [filters, setFilters] = (0, _react.useState)({});
|
|
158
|
+
const handleChange = changeData => {
|
|
159
|
+
setFilters(changeData);
|
|
160
|
+
};
|
|
161
|
+
const endpoint = storeUrl;
|
|
162
|
+
(0, _react.useEffect)(() => {
|
|
163
|
+
setFilters({});
|
|
164
|
+
}, [endpoint]);
|
|
165
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactErrorBoundary.ErrorBoundary, {
|
|
166
|
+
FallbackComponent: _ErrorBoundary.ErrorFallback,
|
|
167
|
+
resetKeys: [endpoint],
|
|
168
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, rest), {}, {
|
|
169
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_list.default, {
|
|
170
|
+
blockletRender: blockletRenderProps => {
|
|
171
|
+
const defaultProps = _objectSpread(_objectSpread({}, blockletRenderProps), {}, {
|
|
172
|
+
handleButtonClick,
|
|
173
|
+
endpoint
|
|
174
|
+
});
|
|
175
|
+
return handleBlockletRender(_objectSpread(_objectSpread({}, blockletRenderProps), {}, {
|
|
176
|
+
defaultRender: /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockletItem, _objectSpread({}, defaultProps))
|
|
177
|
+
}));
|
|
178
|
+
},
|
|
179
|
+
baseSearch: true,
|
|
180
|
+
endpoint: endpoint,
|
|
181
|
+
locale: locale,
|
|
182
|
+
onFilterChange: handleChange,
|
|
183
|
+
onSearchSelect: handleSearchSelect,
|
|
184
|
+
filters: filters,
|
|
185
|
+
extraFilter: extraFilter
|
|
186
|
+
})
|
|
187
|
+
}))
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
BlockletList.propTypes = {
|
|
191
|
+
storeUrl: _propTypes.default.string.isRequired,
|
|
192
|
+
handleButtonClick: _propTypes.default.func,
|
|
193
|
+
handleSearchSelect: _propTypes.default.func,
|
|
194
|
+
handleBlockletRender: _propTypes.default.func,
|
|
195
|
+
extraFilter: _propTypes.default.func
|
|
196
|
+
};
|
|
197
|
+
BlockletList.defaultProps = {
|
|
198
|
+
handleButtonClick: null,
|
|
199
|
+
handleSearchSelect: null,
|
|
200
|
+
handleBlockletRender: null,
|
|
201
|
+
extraFilter: undefined
|
|
202
|
+
};
|
|
203
|
+
const StyledBlocklet = (0, _styled.default)(_Blocklet.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ms-highlight {\n color: ", ";\n }\n"])), props => props.theme.palette.primary.main);
|
|
@@ -631,5 +631,5 @@ BlockletEnvironment.defaultProps = {
|
|
|
631
631
|
onUpdate: () => {},
|
|
632
632
|
hasPermission: false
|
|
633
633
|
};
|
|
634
|
-
const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .config-form {\n
|
|
634
|
+
const Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .config-form {\n flex-grow: 1;\n overflow-y: auto;\n ", " {\n width: 100%;\n flex-shrink: 0;\n padding: 0 24px;\n transform: translate(0, 0);\n max-height: 60vh;\n }\n }\n\n .config-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 16px 0;\n }\n\n .config-label {\n font-weight: bold;\n }\n\n .config-desc {\n font-weight: normal;\n font-size: 12px;\n color: #666;\n }\n\n .form-item {\n margin-top: 0;\n }\n"])), props => props.theme.breakpoints.down('md'));
|
|
635
635
|
const StyledMenuItem = (0, _styled.default)(_MenuItem.default)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .tip {\n font-size: 12px;\n color: ", ";\n }\n"])), props => props.theme.palette.text.secondary);
|