@bigbinary/neeto-molecules 3.0.4 → 3.1.0
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/dist/CustomDomain.js +17 -12
- package/dist/CustomDomain.js.map +1 -1
- package/dist/CustomDomainDashboard.js +104 -17
- package/dist/CustomDomainDashboard.js.map +1 -1
- package/dist/cjs/CustomDomain.js +17 -12
- package/dist/cjs/CustomDomain.js.map +1 -1
- package/dist/cjs/CustomDomainDashboard.js +104 -15
- package/dist/cjs/CustomDomainDashboard.js.map +1 -1
- package/dist/cjs/index-39618d80.js +628 -0
- package/dist/cjs/index-39618d80.js.map +1 -0
- package/dist/index-34c52dd1.js +582 -0
- package/dist/index-34c52dd1.js.map +1 -0
- package/package.json +1 -1
- package/src/translations/en.json +22 -18
- package/dist/cjs/index-290bd1dd.js +0 -556
- package/dist/cjs/index-290bd1dd.js.map +0 -1
- package/dist/index-49458a38.js +0 -511
- package/dist/index-49458a38.js.map +0 -1
package/dist/CustomDomain.js
CHANGED
|
@@ -8,31 +8,36 @@ import Button from '@bigbinary/neetoui/Button';
|
|
|
8
8
|
import Tag from '@bigbinary/neetoui/Tag';
|
|
9
9
|
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
10
10
|
import { useTranslation } from 'react-i18next';
|
|
11
|
-
import { u as useFetchCustomDomains, a as useDeleteCustomDomain, M as Manage, D as DeleteAlert } from './index-
|
|
11
|
+
import { u as useFetchCustomDomains, a as useDeleteCustomDomain, M as Manage, D as DeleteAlert } from './index-34c52dd1.js';
|
|
12
12
|
import MoreDropdown from './MoreDropdown.js';
|
|
13
|
+
import '@bigbinary/neeto-commons-frontend/react-utils';
|
|
13
14
|
import '@bigbinary/neetoui/Alert';
|
|
14
|
-
import 'formik';
|
|
15
|
-
import '@bigbinary/neetoui/Label';
|
|
16
15
|
import '@bigbinary/neetoui/Pane';
|
|
17
16
|
import '@bigbinary/neetoui/Typography';
|
|
18
|
-
import '@bigbinary/
|
|
19
|
-
import '@bigbinary/neeto-icons/Check';
|
|
17
|
+
import '@bigbinary/neetoui/formik/ActionBlock';
|
|
20
18
|
import '@bigbinary/neetoui/formik/Input';
|
|
19
|
+
import '@bigbinary/neetoui/formik/Form';
|
|
21
20
|
import 'i18next';
|
|
22
21
|
import 'yup';
|
|
23
|
-
import '@
|
|
22
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
23
|
+
import '@tanstack/react-query';
|
|
24
|
+
import '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
|
|
25
|
+
import 'axios';
|
|
26
|
+
import '@bigbinary/neetoui/Table';
|
|
27
|
+
import '@bigbinary/neetoui/Checkbox';
|
|
24
28
|
import '@bigbinary/neetoui/Callout';
|
|
29
|
+
import './TableWrapper.js';
|
|
30
|
+
import 'classnames';
|
|
31
|
+
import './inject-css-c86de496.js';
|
|
32
|
+
import '@bigbinary/neetoui/Input';
|
|
33
|
+
import '@bigbinary/neetoui/Stepper';
|
|
25
34
|
import './CopyToClipboardButton.js';
|
|
26
35
|
import '@babel/runtime/helpers/extends';
|
|
27
|
-
import '@babel/runtime/helpers/defineProperty';
|
|
28
36
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
29
|
-
import 'classnames';
|
|
30
37
|
import '@bigbinary/neeto-icons/Copy';
|
|
38
|
+
import '@bigbinary/neeto-icons/Check';
|
|
31
39
|
import 'ramda';
|
|
32
|
-
import '
|
|
33
|
-
import '@tanstack/react-query';
|
|
34
|
-
import '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
|
|
35
|
-
import 'axios';
|
|
40
|
+
import '@bigbinary/neetoui/Toastr';
|
|
36
41
|
import '@bigbinary/neeto-icons/MenuHorizontal';
|
|
37
42
|
import '@bigbinary/neeto-icons/MenuVertical';
|
|
38
43
|
import '@bigbinary/neetoui/Dropdown';
|
package/dist/CustomDomain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomDomain.js","sources":["../src/components/CustomDomain/index.jsx"],"sourcesContent":["import React, { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { CustomDomain as NeetoUICustomDomainIcon } from \"neetoicons\";\nimport { Button, Tag, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DeleteAlert from \"components/CustomDomainDashboard/DeleteAlert\";\nimport ManageDomain from \"components/CustomDomainDashboard/Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"components/CustomDomainDashboard/useCustomDomainApi\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst CustomDomain = ({ url, iconOnly, onCreate }) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n\n const { data: customDomain, isLoading } = useFetchCustomDomains({ url });\n\n const { mutate: deleteCustomDomain, isPending: isDeleting } =\n useDeleteCustomDomain(url, { onSettled: () => setIsAlertOpen(false) });\n\n const actions = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => setIsPaneOpen(true),\n },\n {\n key: \"delete\",\n label: t(\"neetoMolecules.common.actions.delete\"),\n onClick: () => setIsAlertOpen(true),\n },\n ];\n\n if (isLoading) return <Spinner />;\n\n return (\n <div>\n {isNotEmpty(customDomain) ? (\n <div className=\"flex flex-row items-center\">\n <Tag\n data-cy={`${hyphenize(customDomain.status)}-tag-container`}\n label={customDomain?.hostname}\n style={customDomain.status === \"active\" ? \"success\" : \"warning\"}\n />\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n menuItems={actions}\n dropdownButtonProps={{\n \"data-testid\": \"nui-dropdown-icon\",\n strategy: \"fixed\",\n \"data-cy\": \"custom-domain-menu-button\",\n }}\n />\n </div>\n ) : (\n <Button\n icon={iconOnly && NeetoUICustomDomainIcon}\n style=\"text\"\n label={\n iconOnly\n ? \"\"\n : t(\"neetoMolecules.common.actions.add\", {\n entity: t(\n \"neetoMolecules.customDomain.customDomain\",\n SINGULAR\n ),\n })\n }\n tooltipProps={\n iconOnly && {\n content: t(\"neetoMolecules.customDomain.customDomain\", SINGULAR),\n }\n }\n onClick={() => setIsPaneOpen(true)}\n />\n )}\n <ManageDomain\n {...{ customDomain, onCreate, url }}\n hasOne\n isOpen={isPaneOpen}\n setCustomDomain={noop}\n onClose={() => setIsPaneOpen(false)}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={() => setIsAlertOpen(false)}\n onSubmit={() => deleteCustomDomain()}\n />\n </div>\n );\n};\n\nCustomDomain.propTypes = {\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Pass this prop if you need a icon button without label.\n */\n iconOnly: PropTypes.bool,\n /**\n * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomain;\n"],"names":["CustomDomain","_ref","url","iconOnly","onCreate","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","t","_useFetchCustomDomain","useFetchCustomDomains","customDomain","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","isPending","actions","key","label","onClick","React","createElement","Spinner","isNotEmpty","className","Tag","concat","hyphenize","status","hostname","style","MoreDropdown","dropdownProps","autoWidth","menuItems","dropdownButtonProps","strategy","Button","icon","NeetoUICustomDomainIcon","entity","SINGULAR","tooltipProps","content","ManageDomain","hasOne","isOpen","setCustomDomain","noop","onClose","DeleteAlert","isSubmitting","onSubmit"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CustomDomain.js","sources":["../src/components/CustomDomain/index.jsx"],"sourcesContent":["import React, { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { CustomDomain as NeetoUICustomDomainIcon } from \"neetoicons\";\nimport { Button, Tag, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DeleteAlert from \"components/CustomDomainDashboard/DeleteAlert\";\nimport ManageDomain from \"components/CustomDomainDashboard/Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"components/CustomDomainDashboard/useCustomDomainApi\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst CustomDomain = ({ url, iconOnly, onCreate }) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n\n const { data: customDomain, isLoading } = useFetchCustomDomains({ url });\n\n const { mutate: deleteCustomDomain, isPending: isDeleting } =\n useDeleteCustomDomain(url, { onSettled: () => setIsAlertOpen(false) });\n\n const actions = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => setIsPaneOpen(true),\n },\n {\n key: \"delete\",\n label: t(\"neetoMolecules.common.actions.delete\"),\n onClick: () => setIsAlertOpen(true),\n },\n ];\n\n if (isLoading) return <Spinner />;\n\n return (\n <div>\n {isNotEmpty(customDomain) ? (\n <div className=\"flex flex-row items-center\">\n <Tag\n data-cy={`${hyphenize(customDomain.status)}-tag-container`}\n label={customDomain?.hostname}\n style={customDomain.status === \"active\" ? \"success\" : \"warning\"}\n />\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n menuItems={actions}\n dropdownButtonProps={{\n \"data-testid\": \"nui-dropdown-icon\",\n strategy: \"fixed\",\n \"data-cy\": \"custom-domain-menu-button\",\n }}\n />\n </div>\n ) : (\n <Button\n icon={iconOnly && NeetoUICustomDomainIcon}\n style=\"text\"\n label={\n iconOnly\n ? \"\"\n : t(\"neetoMolecules.common.actions.add\", {\n entity: t(\n \"neetoMolecules.customDomain.customDomain\",\n SINGULAR\n ),\n })\n }\n tooltipProps={\n iconOnly && {\n content: t(\"neetoMolecules.customDomain.customDomain\", SINGULAR),\n }\n }\n onClick={() => setIsPaneOpen(true)}\n />\n )}\n <ManageDomain\n {...{ customDomain, onCreate, url }}\n hasOne\n isOpen={isPaneOpen}\n setCustomDomain={noop}\n onClose={() => setIsPaneOpen(false)}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={() => setIsAlertOpen(false)}\n onSubmit={() => deleteCustomDomain()}\n />\n </div>\n );\n};\n\nCustomDomain.propTypes = {\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Pass this prop if you need a icon button without label.\n */\n iconOnly: PropTypes.bool,\n /**\n * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomain;\n"],"names":["CustomDomain","_ref","url","iconOnly","onCreate","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","t","_useFetchCustomDomain","useFetchCustomDomains","customDomain","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","isPending","actions","key","label","onClick","React","createElement","Spinner","isNotEmpty","className","Tag","concat","hyphenize","status","hostname","style","MoreDropdown","dropdownProps","autoWidth","menuItems","dropdownButtonProps","strategy","Button","icon","NeetoUICustomDomainIcon","entity","SINGULAR","tooltipProps","content","ManageDomain","hasOne","isOpen","setCustomDomain","noop","onClose","DeleteAlert","isSubmitting","onSubmit"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
2
|
import React__default, { useState } from 'react';
|
|
3
|
-
import { isNotEmpty, isPresent } from '@bigbinary/neeto-cist';
|
|
3
|
+
import { snakeToCamelCase, isNotEmpty, isPresent } from '@bigbinary/neeto-cist';
|
|
4
4
|
import useDebounce from '@bigbinary/neeto-commons-frontend/react-utils/useDebounce';
|
|
5
5
|
import Table from '@bigbinary/neetoui/Table';
|
|
6
6
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
@@ -11,13 +11,16 @@ import Container from './Container.js';
|
|
|
11
11
|
import PageLoader from './PageLoader.js';
|
|
12
12
|
import SubHeader from './SubHeader.js';
|
|
13
13
|
import TableWrapper from './TableWrapper.js';
|
|
14
|
-
import { u as useFetchCustomDomains, a as useDeleteCustomDomain,
|
|
14
|
+
import { u as useFetchCustomDomains, a as useDeleteCustomDomain, M as Manage, D as DeleteAlert } from './index-34c52dd1.js';
|
|
15
15
|
import _extends from '@babel/runtime/helpers/extends';
|
|
16
|
-
import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
|
|
16
|
+
import { PLURAL, SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
|
|
17
17
|
import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
|
|
18
|
-
import { withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils/general';
|
|
18
|
+
import { withEventTargetValue, hyphenize } from '@bigbinary/neeto-commons-frontend/utils/general';
|
|
19
19
|
import Header$2 from './Header.js';
|
|
20
|
-
import '
|
|
20
|
+
import { t } from 'i18next';
|
|
21
|
+
import MoreDropdown from './MoreDropdown.js';
|
|
22
|
+
import classnames from 'classnames';
|
|
23
|
+
import Tag from '@bigbinary/neetoui/Tag';
|
|
21
24
|
import './index-e5588516.js';
|
|
22
25
|
import './inject-css-c86de496.js';
|
|
23
26
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
@@ -25,7 +28,6 @@ import 'ramda';
|
|
|
25
28
|
import '@babel/runtime/helpers/defineProperty';
|
|
26
29
|
import '@bigbinary/neeto-icons/Column';
|
|
27
30
|
import './useColumns-e0b5dfb7.js';
|
|
28
|
-
import 'i18next';
|
|
29
31
|
import '@bigbinary/neeto-icons/Search';
|
|
30
32
|
import '@bigbinary/neetoui/Checkbox';
|
|
31
33
|
import '@bigbinary/neetoui/Dropdown';
|
|
@@ -36,24 +38,22 @@ import 'zustand/middleware';
|
|
|
36
38
|
import '@bigbinary/neeto-icons/Download';
|
|
37
39
|
import '@bigbinary/neeto-filters-frontend';
|
|
38
40
|
import '@bigbinary/neeto-icons/Filter';
|
|
41
|
+
import '@bigbinary/neeto-commons-frontend/react-utils';
|
|
39
42
|
import '@bigbinary/neetoui/Alert';
|
|
40
|
-
import 'formik';
|
|
41
43
|
import '@bigbinary/neetoui/Pane';
|
|
42
|
-
import '@bigbinary/
|
|
43
|
-
import '@bigbinary/neeto-icons/Check';
|
|
44
|
+
import '@bigbinary/neetoui/formik/ActionBlock';
|
|
44
45
|
import '@bigbinary/neetoui/formik/Input';
|
|
46
|
+
import '@bigbinary/neetoui/formik/Form';
|
|
45
47
|
import 'yup';
|
|
46
|
-
import '@bigbinary/neetoui/Callout';
|
|
47
|
-
import './CopyToClipboardButton.js';
|
|
48
|
-
import '@bigbinary/neeto-icons/Copy';
|
|
49
|
-
import './MoreDropdown.js';
|
|
50
|
-
import '@bigbinary/neeto-icons/MenuHorizontal';
|
|
51
|
-
import '@bigbinary/neeto-icons/MenuVertical';
|
|
52
|
-
import '@bigbinary/neetoui/Tooltip';
|
|
53
|
-
import '@bigbinary/neetoui/Tag';
|
|
54
48
|
import '@tanstack/react-query';
|
|
55
49
|
import '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
|
|
56
50
|
import 'axios';
|
|
51
|
+
import '@bigbinary/neetoui/Callout';
|
|
52
|
+
import '@bigbinary/neetoui/Stepper';
|
|
53
|
+
import './CopyToClipboardButton.js';
|
|
54
|
+
import '@bigbinary/neeto-icons/Copy';
|
|
55
|
+
import '@bigbinary/neeto-icons/Check';
|
|
56
|
+
import '@bigbinary/neetoui/Toastr';
|
|
57
57
|
import './Breadcrumbs.js';
|
|
58
58
|
import 'react-router-dom';
|
|
59
59
|
import './Search.js';
|
|
@@ -61,6 +61,9 @@ import '@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce';
|
|
|
61
61
|
import '@bigbinary/neeto-commons-frontend/react-utils/useQueryParams';
|
|
62
62
|
import '@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect';
|
|
63
63
|
import '@bigbinary/neeto-commons-frontend/utils';
|
|
64
|
+
import '@bigbinary/neeto-icons/MenuHorizontal';
|
|
65
|
+
import '@bigbinary/neeto-icons/MenuVertical';
|
|
66
|
+
import '@bigbinary/neetoui/Tooltip';
|
|
64
67
|
|
|
65
68
|
var Header = withT(function (_ref) {
|
|
66
69
|
var t = _ref.t,
|
|
@@ -90,6 +93,90 @@ var Header = withT(function (_ref) {
|
|
|
90
93
|
});
|
|
91
94
|
var Header$1 = /*#__PURE__*/React__default.memo(Header);
|
|
92
95
|
|
|
96
|
+
var TagBlock = function TagBlock(_ref) {
|
|
97
|
+
var status = _ref.status,
|
|
98
|
+
_ref$stacked = _ref.stacked,
|
|
99
|
+
stacked = _ref$stacked === void 0 ? false : _ref$stacked;
|
|
100
|
+
var _useTranslation = useTranslation(),
|
|
101
|
+
t = _useTranslation.t;
|
|
102
|
+
var isDomainValidated = status === "active" || status === "pending_cname_validation";
|
|
103
|
+
var camelCasedStatus = snakeToCamelCase(status || "");
|
|
104
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
105
|
+
className: classnames("flex gap-2", {
|
|
106
|
+
"flex-col items-start": stacked
|
|
107
|
+
})
|
|
108
|
+
}, status === "failed" ? /*#__PURE__*/React__default.createElement(Tag, {
|
|
109
|
+
label: t("neetoMolecules.customDomain.status.".concat(camelCasedStatus)),
|
|
110
|
+
style: "danger"
|
|
111
|
+
}) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Tag, {
|
|
112
|
+
"data-cy": "".concat(hyphenize(status), "-tag-container"),
|
|
113
|
+
style: isDomainValidated ? "success" : "warning",
|
|
114
|
+
label: t("neetoMolecules.customDomain.status.domain.".concat(camelCasedStatus))
|
|
115
|
+
}), isDomainValidated && /*#__PURE__*/React__default.createElement("div", {
|
|
116
|
+
className: classnames("flex items-center justify-between gap-2", {
|
|
117
|
+
"w-full": stacked
|
|
118
|
+
})
|
|
119
|
+
}, /*#__PURE__*/React__default.createElement(Tag, {
|
|
120
|
+
"data-cy": "".concat(hyphenize(status), "-tag-container"),
|
|
121
|
+
style: status === "active" ? "success" : "warning",
|
|
122
|
+
label: t("neetoMolecules.customDomain.status.cname.".concat(camelCasedStatus))
|
|
123
|
+
}))));
|
|
124
|
+
};
|
|
125
|
+
var TagBlock$1 = /*#__PURE__*/React__default.memo(TagBlock);
|
|
126
|
+
|
|
127
|
+
var renderColumnData = function renderColumnData(enableManagePane, enableDeleteAlert) {
|
|
128
|
+
return [{
|
|
129
|
+
title: t("neetoMolecules.customDomain.customDomain", SINGULAR),
|
|
130
|
+
dataIndex: "hostname",
|
|
131
|
+
key: "hostname",
|
|
132
|
+
width: "60%",
|
|
133
|
+
render: function render(hostName, customDomain) {
|
|
134
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
135
|
+
className: "flex items-center justify-between gap-x-3"
|
|
136
|
+
}, /*#__PURE__*/React__default.createElement(Button, {
|
|
137
|
+
"data-cy": "hostname-button",
|
|
138
|
+
label: hostName,
|
|
139
|
+
style: "link",
|
|
140
|
+
onClick: function onClick() {
|
|
141
|
+
return enableManagePane(customDomain);
|
|
142
|
+
}
|
|
143
|
+
}), /*#__PURE__*/React__default.createElement(MoreDropdown, {
|
|
144
|
+
dropdownButtonProps: {
|
|
145
|
+
"data-testid": "nui-dropdown-icon-".concat(customDomain.id)
|
|
146
|
+
},
|
|
147
|
+
dropdownProps: {
|
|
148
|
+
position: "bottom-end",
|
|
149
|
+
strategy: "fixed",
|
|
150
|
+
autoWidth: true
|
|
151
|
+
},
|
|
152
|
+
menuItems: [{
|
|
153
|
+
label: t("neetoMolecules.common.actions.edit"),
|
|
154
|
+
onClick: function onClick() {
|
|
155
|
+
return enableManagePane(customDomain);
|
|
156
|
+
},
|
|
157
|
+
key: "edit-custom-domain-button"
|
|
158
|
+
}, {
|
|
159
|
+
label: t("neetoMolecules.common.actions.delete"),
|
|
160
|
+
onClick: function onClick() {
|
|
161
|
+
return enableDeleteAlert(customDomain);
|
|
162
|
+
},
|
|
163
|
+
key: "delete-custom-domain"
|
|
164
|
+
}]
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
}, {
|
|
168
|
+
title: t("neetoMolecules.common.status"),
|
|
169
|
+
dataIndex: "status",
|
|
170
|
+
key: "status",
|
|
171
|
+
render: function render(status) {
|
|
172
|
+
return /*#__PURE__*/React__default.createElement(TagBlock$1, {
|
|
173
|
+
status: status
|
|
174
|
+
});
|
|
175
|
+
},
|
|
176
|
+
width: "40%"
|
|
177
|
+
}];
|
|
178
|
+
};
|
|
179
|
+
|
|
93
180
|
var CustomDomainDashboard = function CustomDomainDashboard(_ref) {
|
|
94
181
|
var _data$customDomains;
|
|
95
182
|
var headerProps = _ref.headerProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomDomainDashboard.js","sources":["../src/components/CustomDomainDashboard/Header.jsx","../src/components/CustomDomainDashboard/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Button } from \"neetoui\";\n\nimport NeetoHeader from \"components/Header\";\n\nconst Header = withT(\n ({\n t,\n setIsPaneOpen,\n searchTerm,\n setSearchTerm,\n headerProps,\n isFiltersVisible,\n }) => (\n <NeetoHeader\n data-testid=\"custom-domain-header\"\n title={t(\"neetoMolecules.customDomain.customDomain\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-new-custom-domain-button\"\n label={t(\"neetoMolecules.customDomain.addNew\")}\n onClick={() => setIsPaneOpen(true)}\n />\n }\n searchProps={\n isFiltersVisible && {\n value: searchTerm,\n onChange: withEventTargetValue(setSearchTerm),\n placeholder: t(\"neetoMolecules.customDomain.search\"),\n \"data-cy\": \"custom-domain-search-field\",\n className: \"w-56\",\n }\n }\n {...headerProps}\n />\n )\n);\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport useDebounce from \"neetocommons/react-utils/useDebounce\";\nimport { Table, Typography, NoData, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport PageLoader from \"components/PageLoader\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Header from \"./Header\";\nimport ManageDomain from \"./Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"./useCustomDomainApi\";\nimport { renderColumnData } from \"./utils\";\n\nconst CustomDomainDashboard = ({ headerProps, url, onCreate }) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [customDomain, setCustomDomain] = useState({});\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n\n const { data: data, isLoading } = useFetchCustomDomains({\n url,\n params: { searchTerm: debouncedSearchTerm },\n });\n\n const isFiltersVisible =\n isNotEmpty(data?.customDomains) || isPresent(searchTerm);\n\n const { mutate: deleteCustomDomain, isPending: isDeleting } =\n useDeleteCustomDomain(url, {\n onSettled: () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n },\n });\n\n const enableManagePane = customDomain => {\n setCustomDomain(customDomain);\n setIsPaneOpen(true);\n };\n\n const enableDeleteAlert = customDomain => {\n setCustomDomain(customDomain);\n setIsAlertOpen(true);\n };\n\n const disableManagePane = () => {\n setIsPaneOpen(false);\n setCustomDomain({});\n };\n\n const disableDeleteAlert = () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n };\n\n return (\n <>\n <Container>\n <Header\n {...{\n headerProps,\n isFiltersVisible,\n searchTerm,\n setIsPaneOpen,\n setSearchTerm,\n }}\n />\n {isLoading && (\n <div className=\"h-screen w-full\">\n <PageLoader />\n </div>\n )}\n {!isLoading && (\n <>\n <SubHeader\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800 font-semibold\"\n component=\"h4\"\n >\n {t(\"neetoMolecules.customDomain.customDomainWithCount\", {\n count: data?.customDomains?.length,\n })}\n </Typography>\n }\n />\n {isNotEmpty(data?.customDomains) ? (\n <TableWrapper>\n <Table\n fixedHeight\n allowRowClick={false}\n rowData={data?.customDomains}\n rowSelection={false}\n columnData={renderColumnData(\n enableManagePane,\n enableDeleteAlert\n )}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoMolecules.customDomain.notFound\")}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.customDomain.learnMoreMessage\"\n components={{\n button: (\n <Button\n href=\"https://help.neetosite.com/p/a-95ad5b03\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoMolecules.customDomain.addNew\"),\n onClick: () => setIsPaneOpen(true),\n }}\n />\n </div>\n )}\n </>\n )}\n </Container>\n <ManageDomain\n {...{ customDomain, onCreate, setCustomDomain, url }}\n hasOne={false}\n isOpen={isPaneOpen}\n onClose={disableManagePane}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={disableDeleteAlert}\n onSubmit={() => deleteCustomDomain(customDomain?.id)}\n />\n </>\n );\n};\n\nCustomDomainDashboard.propTypes = {\n /**\n * The props to be passed to the `CustomDomain` page header. Accepts all props that can be passed to the `Header` component.\n */\n headerProps: PropTypes.object,\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomainDashboard;\n"],"names":["Header","withT","_ref","t","setIsPaneOpen","searchTerm","setSearchTerm","headerProps","isFiltersVisible","React","createElement","NeetoHeader","_extends","title","PLURAL","actionBlock","Button","label","onClick","searchProps","value","onChange","withEventTargetValue","placeholder","className","memo","CustomDomainDashboard","_data$customDomains","url","onCreate","_useState","useState","_useState2","_slicedToArray","_useState3","_useState4","isPaneOpen","_useState5","_useState6","customDomain","setCustomDomain","_useState7","_useState8","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","debouncedSearchTerm","useDebounce","_useFetchCustomDomain","useFetchCustomDomains","params","data","isLoading","isNotEmpty","customDomains","isPresent","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","isPending","enableManagePane","enableDeleteAlert","disableManagePane","disableDeleteAlert","Fragment","Container","PageLoader","SubHeader","leftActionBlock","Typography","component","count","length","TableWrapper","Table","fixedHeight","allowRowClick","rowData","rowSelection","columnData","renderColumnData","NoData","helpText","Trans","i18nKey","components","button","href","style","target","primaryButtonProps","ManageDomain","hasOne","isOpen","onClose","DeleteAlert","hostname","isSubmitting","onSubmit","id"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CustomDomainDashboard.js","sources":["../src/components/CustomDomainDashboard/Header.jsx","../src/components/CustomDomainDashboard/Manage/TagBlock.jsx","../src/components/CustomDomainDashboard/utils.jsx","../src/components/CustomDomainDashboard/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Button } from \"neetoui\";\n\nimport NeetoHeader from \"components/Header\";\n\nconst Header = withT(\n ({\n t,\n setIsPaneOpen,\n searchTerm,\n setSearchTerm,\n headerProps,\n isFiltersVisible,\n }) => (\n <NeetoHeader\n data-testid=\"custom-domain-header\"\n title={t(\"neetoMolecules.customDomain.customDomain\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-new-custom-domain-button\"\n label={t(\"neetoMolecules.customDomain.addNew\")}\n onClick={() => setIsPaneOpen(true)}\n />\n }\n searchProps={\n isFiltersVisible && {\n value: searchTerm,\n onChange: withEventTargetValue(setSearchTerm),\n placeholder: t(\"neetoMolecules.customDomain.search\"),\n \"data-cy\": \"custom-domain-search-field\",\n className: \"w-56\",\n }\n }\n {...headerProps}\n />\n )\n);\n\nexport default React.memo(Header);\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { snakeToCamelCase } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Tag } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TagBlock = ({ status, stacked = false }) => {\n const { t } = useTranslation();\n const isDomainValidated =\n status === \"active\" || status === \"pending_cname_validation\";\n const camelCasedStatus = snakeToCamelCase(status || \"\");\n\n return (\n <div\n className={classnames(\"flex gap-2\", {\n \"flex-col items-start\": stacked,\n })}\n >\n {status === \"failed\" ? (\n <Tag\n label={t(`neetoMolecules.customDomain.status.${camelCasedStatus}`)}\n style=\"danger\"\n />\n ) : (\n <>\n <Tag\n data-cy={`${hyphenize(status)}-tag-container`}\n style={isDomainValidated ? \"success\" : \"warning\"}\n label={t(\n `neetoMolecules.customDomain.status.domain.${camelCasedStatus}`\n )}\n />\n {isDomainValidated && (\n <div\n className={classnames(\"flex items-center justify-between gap-2\", {\n \"w-full\": stacked,\n })}\n >\n <Tag\n data-cy={`${hyphenize(status)}-tag-container`}\n style={status === \"active\" ? \"success\" : \"warning\"}\n label={t(\n `neetoMolecules.customDomain.status.cname.${camelCasedStatus}`\n )}\n />\n </div>\n )}\n </>\n )}\n </div>\n );\n};\n\nexport default React.memo(TagBlock);\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Button } from \"neetoui\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport TagBlock from \"./Manage/TagBlock\";\n\nexport const renderColumnData = (enableManagePane, enableDeleteAlert) => [\n {\n title: t(\"neetoMolecules.customDomain.customDomain\", SINGULAR),\n dataIndex: \"hostname\",\n key: \"hostname\",\n width: \"60%\",\n render: (hostName, customDomain) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n data-cy=\"hostname-button\"\n label={hostName}\n style=\"link\"\n onClick={() => enableManagePane(customDomain)}\n />\n <MoreDropdown\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${customDomain.id}`,\n }}\n dropdownProps={{\n position: \"bottom-end\",\n strategy: \"fixed\",\n autoWidth: true,\n }}\n menuItems={[\n {\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => enableManagePane(customDomain),\n key: \"edit-custom-domain-button\",\n },\n {\n label: t(\"neetoMolecules.common.actions.delete\"),\n onClick: () => enableDeleteAlert(customDomain),\n key: \"delete-custom-domain\",\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoMolecules.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n render: status => <TagBlock {...{ status }} />,\n width: \"40%\",\n },\n];\n","import React, { useState } from \"react\";\n\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport useDebounce from \"neetocommons/react-utils/useDebounce\";\nimport { Table, Typography, NoData, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport PageLoader from \"components/PageLoader\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Header from \"./Header\";\nimport Manage from \"./Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"./useCustomDomainApi\";\nimport { renderColumnData } from \"./utils\";\n\nconst CustomDomainDashboard = ({ headerProps, url, onCreate }) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [customDomain, setCustomDomain] = useState({});\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n\n const { data: data, isLoading } = useFetchCustomDomains({\n url,\n params: { searchTerm: debouncedSearchTerm },\n });\n\n const isFiltersVisible =\n isNotEmpty(data?.customDomains) || isPresent(searchTerm);\n\n const { mutate: deleteCustomDomain, isPending: isDeleting } =\n useDeleteCustomDomain(url, {\n onSettled: () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n },\n });\n\n const enableManagePane = customDomain => {\n setCustomDomain(customDomain);\n setIsPaneOpen(true);\n };\n\n const enableDeleteAlert = customDomain => {\n setCustomDomain(customDomain);\n setIsAlertOpen(true);\n };\n\n const disableManagePane = () => {\n setIsPaneOpen(false);\n setCustomDomain({});\n };\n\n const disableDeleteAlert = () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n };\n\n return (\n <>\n <Container>\n <Header\n {...{\n headerProps,\n isFiltersVisible,\n searchTerm,\n setIsPaneOpen,\n setSearchTerm,\n }}\n />\n {isLoading && (\n <div className=\"h-screen w-full\">\n <PageLoader />\n </div>\n )}\n {!isLoading && (\n <>\n <SubHeader\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800 font-semibold\"\n component=\"h4\"\n >\n {t(\"neetoMolecules.customDomain.customDomainWithCount\", {\n count: data?.customDomains?.length,\n })}\n </Typography>\n }\n />\n {isNotEmpty(data?.customDomains) ? (\n <TableWrapper>\n <Table\n fixedHeight\n allowRowClick={false}\n rowData={data?.customDomains}\n rowSelection={false}\n columnData={renderColumnData(\n enableManagePane,\n enableDeleteAlert\n )}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoMolecules.customDomain.notFound\")}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.customDomain.learnMoreMessage\"\n components={{\n button: (\n <Button\n href=\"https://help.neetosite.com/p/a-95ad5b03\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoMolecules.customDomain.addNew\"),\n onClick: () => setIsPaneOpen(true),\n }}\n />\n </div>\n )}\n </>\n )}\n </Container>\n <Manage\n {...{ customDomain, onCreate, setCustomDomain, url }}\n hasOne={false}\n isOpen={isPaneOpen}\n onClose={disableManagePane}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={disableDeleteAlert}\n onSubmit={() => deleteCustomDomain(customDomain?.id)}\n />\n </>\n );\n};\n\nCustomDomainDashboard.propTypes = {\n /**\n * The props to be passed to the `CustomDomain` page header. Accepts all props that can be passed to the `Header` component.\n */\n headerProps: PropTypes.object,\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomainDashboard;\n"],"names":["Header","withT","_ref","t","setIsPaneOpen","searchTerm","setSearchTerm","headerProps","isFiltersVisible","React","createElement","NeetoHeader","_extends","title","PLURAL","actionBlock","Button","label","onClick","searchProps","value","onChange","withEventTargetValue","placeholder","className","memo","TagBlock","status","_ref$stacked","stacked","_useTranslation","useTranslation","isDomainValidated","camelCasedStatus","snakeToCamelCase","classnames","Tag","concat","style","Fragment","hyphenize","renderColumnData","enableManagePane","enableDeleteAlert","SINGULAR","dataIndex","key","width","render","hostName","customDomain","MoreDropdown","dropdownButtonProps","id","dropdownProps","position","strategy","autoWidth","menuItems","CustomDomainDashboard","_data$customDomains","url","onCreate","_useState","useState","_useState2","_slicedToArray","_useState3","_useState4","isPaneOpen","_useState5","_useState6","setCustomDomain","_useState7","_useState8","isAlertOpen","setIsAlertOpen","debouncedSearchTerm","useDebounce","_useFetchCustomDomain","useFetchCustomDomains","params","data","isLoading","isNotEmpty","customDomains","isPresent","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","isPending","disableManagePane","disableDeleteAlert","Container","PageLoader","SubHeader","leftActionBlock","Typography","component","count","length","TableWrapper","Table","fixedHeight","allowRowClick","rowData","rowSelection","columnData","NoData","helpText","Trans","i18nKey","components","button","href","target","primaryButtonProps","Manage","hasOne","isOpen","onClose","DeleteAlert","hostname","isSubmitting","onSubmit"],"mappings":"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"}
|
package/dist/cjs/CustomDomain.js
CHANGED
|
@@ -10,31 +10,36 @@ var Button = require('@bigbinary/neetoui/Button');
|
|
|
10
10
|
var Tag = require('@bigbinary/neetoui/Tag');
|
|
11
11
|
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
12
12
|
var reactI18next = require('react-i18next');
|
|
13
|
-
var index = require('./index-
|
|
13
|
+
var index = require('./index-39618d80.js');
|
|
14
14
|
var MoreDropdown = require('./MoreDropdown.js');
|
|
15
|
+
require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
15
16
|
require('@bigbinary/neetoui/Alert');
|
|
16
|
-
require('formik');
|
|
17
|
-
require('@bigbinary/neetoui/Label');
|
|
18
17
|
require('@bigbinary/neetoui/Pane');
|
|
19
18
|
require('@bigbinary/neetoui/Typography');
|
|
20
|
-
require('@bigbinary/
|
|
21
|
-
require('@bigbinary/neeto-icons/Check');
|
|
19
|
+
require('@bigbinary/neetoui/formik/ActionBlock');
|
|
22
20
|
require('@bigbinary/neetoui/formik/Input');
|
|
21
|
+
require('@bigbinary/neetoui/formik/Form');
|
|
23
22
|
require('i18next');
|
|
24
23
|
require('yup');
|
|
25
|
-
require('@
|
|
24
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
25
|
+
require('@tanstack/react-query');
|
|
26
|
+
require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
|
|
27
|
+
require('axios');
|
|
28
|
+
require('@bigbinary/neetoui/Table');
|
|
29
|
+
require('@bigbinary/neetoui/Checkbox');
|
|
26
30
|
require('@bigbinary/neetoui/Callout');
|
|
31
|
+
require('./TableWrapper.js');
|
|
32
|
+
require('classnames');
|
|
33
|
+
require('./inject-css-80a5faa3.js');
|
|
34
|
+
require('@bigbinary/neetoui/Input');
|
|
35
|
+
require('@bigbinary/neetoui/Stepper');
|
|
27
36
|
require('./CopyToClipboardButton.js');
|
|
28
37
|
require('@babel/runtime/helpers/extends');
|
|
29
|
-
require('@babel/runtime/helpers/defineProperty');
|
|
30
38
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
31
|
-
require('classnames');
|
|
32
39
|
require('@bigbinary/neeto-icons/Copy');
|
|
40
|
+
require('@bigbinary/neeto-icons/Check');
|
|
33
41
|
require('ramda');
|
|
34
|
-
require('
|
|
35
|
-
require('@tanstack/react-query');
|
|
36
|
-
require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
|
|
37
|
-
require('axios');
|
|
42
|
+
require('@bigbinary/neetoui/Toastr');
|
|
38
43
|
require('@bigbinary/neeto-icons/MenuHorizontal');
|
|
39
44
|
require('@bigbinary/neeto-icons/MenuVertical');
|
|
40
45
|
require('@bigbinary/neetoui/Dropdown');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomDomain.js","sources":["../../src/components/CustomDomain/index.jsx"],"sourcesContent":["import React, { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { CustomDomain as NeetoUICustomDomainIcon } from \"neetoicons\";\nimport { Button, Tag, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DeleteAlert from \"components/CustomDomainDashboard/DeleteAlert\";\nimport ManageDomain from \"components/CustomDomainDashboard/Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"components/CustomDomainDashboard/useCustomDomainApi\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst CustomDomain = ({ url, iconOnly, onCreate }) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n\n const { data: customDomain, isLoading } = useFetchCustomDomains({ url });\n\n const { mutate: deleteCustomDomain, isPending: isDeleting } =\n useDeleteCustomDomain(url, { onSettled: () => setIsAlertOpen(false) });\n\n const actions = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => setIsPaneOpen(true),\n },\n {\n key: \"delete\",\n label: t(\"neetoMolecules.common.actions.delete\"),\n onClick: () => setIsAlertOpen(true),\n },\n ];\n\n if (isLoading) return <Spinner />;\n\n return (\n <div>\n {isNotEmpty(customDomain) ? (\n <div className=\"flex flex-row items-center\">\n <Tag\n data-cy={`${hyphenize(customDomain.status)}-tag-container`}\n label={customDomain?.hostname}\n style={customDomain.status === \"active\" ? \"success\" : \"warning\"}\n />\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n menuItems={actions}\n dropdownButtonProps={{\n \"data-testid\": \"nui-dropdown-icon\",\n strategy: \"fixed\",\n \"data-cy\": \"custom-domain-menu-button\",\n }}\n />\n </div>\n ) : (\n <Button\n icon={iconOnly && NeetoUICustomDomainIcon}\n style=\"text\"\n label={\n iconOnly\n ? \"\"\n : t(\"neetoMolecules.common.actions.add\", {\n entity: t(\n \"neetoMolecules.customDomain.customDomain\",\n SINGULAR\n ),\n })\n }\n tooltipProps={\n iconOnly && {\n content: t(\"neetoMolecules.customDomain.customDomain\", SINGULAR),\n }\n }\n onClick={() => setIsPaneOpen(true)}\n />\n )}\n <ManageDomain\n {...{ customDomain, onCreate, url }}\n hasOne\n isOpen={isPaneOpen}\n setCustomDomain={noop}\n onClose={() => setIsPaneOpen(false)}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={() => setIsAlertOpen(false)}\n onSubmit={() => deleteCustomDomain()}\n />\n </div>\n );\n};\n\nCustomDomain.propTypes = {\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Pass this prop if you need a icon button without label.\n */\n iconOnly: PropTypes.bool,\n /**\n * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomain;\n"],"names":["CustomDomain","_ref","url","iconOnly","onCreate","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","t","_useFetchCustomDomain","useFetchCustomDomains","customDomain","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","isPending","actions","key","label","onClick","React","createElement","Spinner","isNotEmpty","className","Tag","concat","hyphenize","status","hostname","style","MoreDropdown","dropdownProps","autoWidth","menuItems","dropdownButtonProps","strategy","Button","icon","NeetoUICustomDomainIcon","entity","SINGULAR","tooltipProps","content","ManageDomain","hasOne","isOpen","setCustomDomain","noop","onClose","DeleteAlert","isSubmitting","onSubmit"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CustomDomain.js","sources":["../../src/components/CustomDomain/index.jsx"],"sourcesContent":["import React, { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { CustomDomain as NeetoUICustomDomainIcon } from \"neetoicons\";\nimport { Button, Tag, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DeleteAlert from \"components/CustomDomainDashboard/DeleteAlert\";\nimport ManageDomain from \"components/CustomDomainDashboard/Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"components/CustomDomainDashboard/useCustomDomainApi\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst CustomDomain = ({ url, iconOnly, onCreate }) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n\n const { data: customDomain, isLoading } = useFetchCustomDomains({ url });\n\n const { mutate: deleteCustomDomain, isPending: isDeleting } =\n useDeleteCustomDomain(url, { onSettled: () => setIsAlertOpen(false) });\n\n const actions = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => setIsPaneOpen(true),\n },\n {\n key: \"delete\",\n label: t(\"neetoMolecules.common.actions.delete\"),\n onClick: () => setIsAlertOpen(true),\n },\n ];\n\n if (isLoading) return <Spinner />;\n\n return (\n <div>\n {isNotEmpty(customDomain) ? (\n <div className=\"flex flex-row items-center\">\n <Tag\n data-cy={`${hyphenize(customDomain.status)}-tag-container`}\n label={customDomain?.hostname}\n style={customDomain.status === \"active\" ? \"success\" : \"warning\"}\n />\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n menuItems={actions}\n dropdownButtonProps={{\n \"data-testid\": \"nui-dropdown-icon\",\n strategy: \"fixed\",\n \"data-cy\": \"custom-domain-menu-button\",\n }}\n />\n </div>\n ) : (\n <Button\n icon={iconOnly && NeetoUICustomDomainIcon}\n style=\"text\"\n label={\n iconOnly\n ? \"\"\n : t(\"neetoMolecules.common.actions.add\", {\n entity: t(\n \"neetoMolecules.customDomain.customDomain\",\n SINGULAR\n ),\n })\n }\n tooltipProps={\n iconOnly && {\n content: t(\"neetoMolecules.customDomain.customDomain\", SINGULAR),\n }\n }\n onClick={() => setIsPaneOpen(true)}\n />\n )}\n <ManageDomain\n {...{ customDomain, onCreate, url }}\n hasOne\n isOpen={isPaneOpen}\n setCustomDomain={noop}\n onClose={() => setIsPaneOpen(false)}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={() => setIsAlertOpen(false)}\n onSubmit={() => deleteCustomDomain()}\n />\n </div>\n );\n};\n\nCustomDomain.propTypes = {\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Pass this prop if you need a icon button without label.\n */\n iconOnly: PropTypes.bool,\n /**\n * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomain;\n"],"names":["CustomDomain","_ref","url","iconOnly","onCreate","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","t","_useFetchCustomDomain","useFetchCustomDomains","customDomain","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","isPending","actions","key","label","onClick","React","createElement","Spinner","isNotEmpty","className","Tag","concat","hyphenize","status","hostname","style","MoreDropdown","dropdownProps","autoWidth","menuItems","dropdownButtonProps","strategy","Button","icon","NeetoUICustomDomainIcon","entity","SINGULAR","tooltipProps","content","ManageDomain","hasOne","isOpen","setCustomDomain","noop","onClose","DeleteAlert","isSubmitting","onSubmit"],"mappings":"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"}
|
|
@@ -13,13 +13,16 @@ var Container = require('./Container.js');
|
|
|
13
13
|
var PageLoader = require('./PageLoader.js');
|
|
14
14
|
var SubHeader = require('./SubHeader.js');
|
|
15
15
|
var TableWrapper = require('./TableWrapper.js');
|
|
16
|
-
var index = require('./index-
|
|
16
|
+
var index = require('./index-39618d80.js');
|
|
17
17
|
var _extends = require('@babel/runtime/helpers/extends');
|
|
18
18
|
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
19
19
|
var withT = require('@bigbinary/neeto-commons-frontend/react-utils/withT');
|
|
20
20
|
var general = require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
21
21
|
var Header$2 = require('./Header.js');
|
|
22
|
-
require('
|
|
22
|
+
var i18next = require('i18next');
|
|
23
|
+
var MoreDropdown = require('./MoreDropdown.js');
|
|
24
|
+
var classnames = require('classnames');
|
|
25
|
+
var Tag = require('@bigbinary/neetoui/Tag');
|
|
23
26
|
require('./index-248c4f4c.js');
|
|
24
27
|
require('./inject-css-80a5faa3.js');
|
|
25
28
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
@@ -27,7 +30,6 @@ require('ramda');
|
|
|
27
30
|
require('@babel/runtime/helpers/defineProperty');
|
|
28
31
|
require('@bigbinary/neeto-icons/Column');
|
|
29
32
|
require('./useColumns-5ce3cf1e.js');
|
|
30
|
-
require('i18next');
|
|
31
33
|
require('@bigbinary/neeto-icons/Search');
|
|
32
34
|
require('@bigbinary/neetoui/Checkbox');
|
|
33
35
|
require('@bigbinary/neetoui/Dropdown');
|
|
@@ -38,24 +40,22 @@ require('zustand/middleware');
|
|
|
38
40
|
require('@bigbinary/neeto-icons/Download');
|
|
39
41
|
require('@bigbinary/neeto-filters-frontend');
|
|
40
42
|
require('@bigbinary/neeto-icons/Filter');
|
|
43
|
+
require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
41
44
|
require('@bigbinary/neetoui/Alert');
|
|
42
|
-
require('formik');
|
|
43
45
|
require('@bigbinary/neetoui/Pane');
|
|
44
|
-
require('@bigbinary/
|
|
45
|
-
require('@bigbinary/neeto-icons/Check');
|
|
46
|
+
require('@bigbinary/neetoui/formik/ActionBlock');
|
|
46
47
|
require('@bigbinary/neetoui/formik/Input');
|
|
48
|
+
require('@bigbinary/neetoui/formik/Form');
|
|
47
49
|
require('yup');
|
|
48
|
-
require('@bigbinary/neetoui/Callout');
|
|
49
|
-
require('./CopyToClipboardButton.js');
|
|
50
|
-
require('@bigbinary/neeto-icons/Copy');
|
|
51
|
-
require('./MoreDropdown.js');
|
|
52
|
-
require('@bigbinary/neeto-icons/MenuHorizontal');
|
|
53
|
-
require('@bigbinary/neeto-icons/MenuVertical');
|
|
54
|
-
require('@bigbinary/neetoui/Tooltip');
|
|
55
|
-
require('@bigbinary/neetoui/Tag');
|
|
56
50
|
require('@tanstack/react-query');
|
|
57
51
|
require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
|
|
58
52
|
require('axios');
|
|
53
|
+
require('@bigbinary/neetoui/Callout');
|
|
54
|
+
require('@bigbinary/neetoui/Stepper');
|
|
55
|
+
require('./CopyToClipboardButton.js');
|
|
56
|
+
require('@bigbinary/neeto-icons/Copy');
|
|
57
|
+
require('@bigbinary/neeto-icons/Check');
|
|
58
|
+
require('@bigbinary/neetoui/Toastr');
|
|
59
59
|
require('./Breadcrumbs.js');
|
|
60
60
|
require('react-router-dom');
|
|
61
61
|
require('./Search.js');
|
|
@@ -63,6 +63,9 @@ require('@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce');
|
|
|
63
63
|
require('@bigbinary/neeto-commons-frontend/react-utils/useQueryParams');
|
|
64
64
|
require('@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect');
|
|
65
65
|
require('@bigbinary/neeto-commons-frontend/utils');
|
|
66
|
+
require('@bigbinary/neeto-icons/MenuHorizontal');
|
|
67
|
+
require('@bigbinary/neeto-icons/MenuVertical');
|
|
68
|
+
require('@bigbinary/neetoui/Tooltip');
|
|
66
69
|
|
|
67
70
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
68
71
|
|
|
@@ -75,6 +78,8 @@ var NoData__default = /*#__PURE__*/_interopDefaultLegacy(NoData);
|
|
|
75
78
|
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
76
79
|
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
77
80
|
var withT__default = /*#__PURE__*/_interopDefaultLegacy(withT);
|
|
81
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
82
|
+
var Tag__default = /*#__PURE__*/_interopDefaultLegacy(Tag);
|
|
78
83
|
|
|
79
84
|
var Header = withT__default["default"](function (_ref) {
|
|
80
85
|
var t = _ref.t,
|
|
@@ -104,6 +109,90 @@ var Header = withT__default["default"](function (_ref) {
|
|
|
104
109
|
});
|
|
105
110
|
var Header$1 = /*#__PURE__*/React__default["default"].memo(Header);
|
|
106
111
|
|
|
112
|
+
var TagBlock = function TagBlock(_ref) {
|
|
113
|
+
var status = _ref.status,
|
|
114
|
+
_ref$stacked = _ref.stacked,
|
|
115
|
+
stacked = _ref$stacked === void 0 ? false : _ref$stacked;
|
|
116
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
117
|
+
t = _useTranslation.t;
|
|
118
|
+
var isDomainValidated = status === "active" || status === "pending_cname_validation";
|
|
119
|
+
var camelCasedStatus = neetoCist.snakeToCamelCase(status || "");
|
|
120
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
121
|
+
className: classnames__default["default"]("flex gap-2", {
|
|
122
|
+
"flex-col items-start": stacked
|
|
123
|
+
})
|
|
124
|
+
}, status === "failed" ? /*#__PURE__*/React__default["default"].createElement(Tag__default["default"], {
|
|
125
|
+
label: t("neetoMolecules.customDomain.status.".concat(camelCasedStatus)),
|
|
126
|
+
style: "danger"
|
|
127
|
+
}) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Tag__default["default"], {
|
|
128
|
+
"data-cy": "".concat(general.hyphenize(status), "-tag-container"),
|
|
129
|
+
style: isDomainValidated ? "success" : "warning",
|
|
130
|
+
label: t("neetoMolecules.customDomain.status.domain.".concat(camelCasedStatus))
|
|
131
|
+
}), isDomainValidated && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
132
|
+
className: classnames__default["default"]("flex items-center justify-between gap-2", {
|
|
133
|
+
"w-full": stacked
|
|
134
|
+
})
|
|
135
|
+
}, /*#__PURE__*/React__default["default"].createElement(Tag__default["default"], {
|
|
136
|
+
"data-cy": "".concat(general.hyphenize(status), "-tag-container"),
|
|
137
|
+
style: status === "active" ? "success" : "warning",
|
|
138
|
+
label: t("neetoMolecules.customDomain.status.cname.".concat(camelCasedStatus))
|
|
139
|
+
}))));
|
|
140
|
+
};
|
|
141
|
+
var TagBlock$1 = /*#__PURE__*/React__default["default"].memo(TagBlock);
|
|
142
|
+
|
|
143
|
+
var renderColumnData = function renderColumnData(enableManagePane, enableDeleteAlert) {
|
|
144
|
+
return [{
|
|
145
|
+
title: i18next.t("neetoMolecules.customDomain.customDomain", constants.SINGULAR),
|
|
146
|
+
dataIndex: "hostname",
|
|
147
|
+
key: "hostname",
|
|
148
|
+
width: "60%",
|
|
149
|
+
render: function render(hostName, customDomain) {
|
|
150
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
151
|
+
className: "flex items-center justify-between gap-x-3"
|
|
152
|
+
}, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
|
153
|
+
"data-cy": "hostname-button",
|
|
154
|
+
label: hostName,
|
|
155
|
+
style: "link",
|
|
156
|
+
onClick: function onClick() {
|
|
157
|
+
return enableManagePane(customDomain);
|
|
158
|
+
}
|
|
159
|
+
}), /*#__PURE__*/React__default["default"].createElement(MoreDropdown, {
|
|
160
|
+
dropdownButtonProps: {
|
|
161
|
+
"data-testid": "nui-dropdown-icon-".concat(customDomain.id)
|
|
162
|
+
},
|
|
163
|
+
dropdownProps: {
|
|
164
|
+
position: "bottom-end",
|
|
165
|
+
strategy: "fixed",
|
|
166
|
+
autoWidth: true
|
|
167
|
+
},
|
|
168
|
+
menuItems: [{
|
|
169
|
+
label: i18next.t("neetoMolecules.common.actions.edit"),
|
|
170
|
+
onClick: function onClick() {
|
|
171
|
+
return enableManagePane(customDomain);
|
|
172
|
+
},
|
|
173
|
+
key: "edit-custom-domain-button"
|
|
174
|
+
}, {
|
|
175
|
+
label: i18next.t("neetoMolecules.common.actions.delete"),
|
|
176
|
+
onClick: function onClick() {
|
|
177
|
+
return enableDeleteAlert(customDomain);
|
|
178
|
+
},
|
|
179
|
+
key: "delete-custom-domain"
|
|
180
|
+
}]
|
|
181
|
+
}));
|
|
182
|
+
}
|
|
183
|
+
}, {
|
|
184
|
+
title: i18next.t("neetoMolecules.common.status"),
|
|
185
|
+
dataIndex: "status",
|
|
186
|
+
key: "status",
|
|
187
|
+
render: function render(status) {
|
|
188
|
+
return /*#__PURE__*/React__default["default"].createElement(TagBlock$1, {
|
|
189
|
+
status: status
|
|
190
|
+
});
|
|
191
|
+
},
|
|
192
|
+
width: "40%"
|
|
193
|
+
}];
|
|
194
|
+
};
|
|
195
|
+
|
|
107
196
|
var CustomDomainDashboard = function CustomDomainDashboard(_ref) {
|
|
108
197
|
var _data$customDomains;
|
|
109
198
|
var headerProps = _ref.headerProps,
|
|
@@ -181,7 +270,7 @@ var CustomDomainDashboard = function CustomDomainDashboard(_ref) {
|
|
|
181
270
|
allowRowClick: false,
|
|
182
271
|
rowData: data === null || data === void 0 ? void 0 : data.customDomains,
|
|
183
272
|
rowSelection: false,
|
|
184
|
-
columnData:
|
|
273
|
+
columnData: renderColumnData(enableManagePane, enableDeleteAlert)
|
|
185
274
|
})) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
186
275
|
className: "flex h-full w-full flex-grow items-center justify-center"
|
|
187
276
|
}, /*#__PURE__*/React__default["default"].createElement(NoData__default["default"], {
|