@comet/brevo-admin 2.0.0-canary-20240527080900 → 2.0.0-canary-20240527130411

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.
@@ -1 +1 @@
1
- {"version":3,"file":"EmailCampaignsGrid.d.ts","sourceRoot":"","sources":["../../src/emailCampaigns/EmailCampaignsGrid.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAqF/B,wBAAgB,kBAAkB,CAAC,EAC/B,KAAK,EACL,yBAAyB,GAC5B,EAAE;IACC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,yBAAyB,EAAE,cAAc,CAAC;CAC7C,GAAG,KAAK,CAAC,YAAY,CAqIrB"}
1
+ {"version":3,"file":"EmailCampaignsGrid.d.ts","sourceRoot":"","sources":["../../src/emailCampaigns/EmailCampaignsGrid.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAqF/B,wBAAgB,kBAAkB,CAAC,EAC/B,KAAK,EACL,yBAAyB,GAC5B,EAAE;IACC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,yBAAyB,EAAE,cAAc,CAAC;CAC7C,GAAG,KAAK,CAAC,YAAY,CA0IrB"}
@@ -150,13 +150,19 @@ function EmailCampaignsGrid(_ref) {
150
150
  payload: row.id
151
151
  }, /*#__PURE__*/React.createElement(_adminIcons.Edit, {
152
152
  color: "primary"
153
- })), row.sendingState === "SENT" && /*#__PURE__*/React.createElement(_material.IconButton, {
153
+ })), row.sendingState === "SENT" && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_material.IconButton, {
154
154
  component: _admin.StackLink,
155
155
  pageName: "statistics",
156
156
  payload: row.id
157
157
  }, /*#__PURE__*/React.createElement(_adminIcons.Statistics, {
158
158
  color: "primary"
159
- })), /*#__PURE__*/React.createElement(_admin.CrudContextMenu, {
159
+ })), /*#__PURE__*/React.createElement(_material.IconButton, {
160
+ component: _admin.StackLink,
161
+ pageName: "view",
162
+ payload: row.id
163
+ }, /*#__PURE__*/React.createElement(_adminIcons.Visible, {
164
+ color: "primary"
165
+ }))), /*#__PURE__*/React.createElement(_admin.CrudContextMenu, {
160
166
  copyData: function copyData() {
161
167
  return {
162
168
  title: row.title,
@@ -1 +1 @@
1
- {"version":3,"file":"EmailCampaignsPage.d.ts","sourceRoot":"","sources":["../../src/emailCampaigns/EmailCampaignsPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AASrD,UAAU,+BAA+B;IACrC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yBAAyB,EAAE,cAAc,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,wBAAwB,CAAC,EAAE,UAAU,EAAE,yBAAyB,EAAE,UAAU,EAAE,EAAE,+BAA+B,SAC5F,WAAW,CAwC7C"}
1
+ {"version":3,"file":"EmailCampaignsPage.d.ts","sourceRoot":"","sources":["../../src/emailCampaigns/EmailCampaignsPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAUrD,UAAU,+BAA+B;IACrC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yBAAyB,EAAE,cAAc,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,wBAAwB,CAAC,EAAE,UAAU,EAAE,yBAAyB,EAAE,UAAU,EAAE,EAAE,+BAA+B,SAC5F,WAAW,CA8C7C"}
@@ -12,6 +12,7 @@ var _reactIntl = require("react-intl");
12
12
  var _EmailCampaignsGrid = require("./EmailCampaignsGrid");
13
13
  var _EmailCampaignForm = require("./form/EmailCampaignForm");
14
14
  var _EmailCampaignStatistics = require("./statistics/EmailCampaignStatistics");
15
+ var _EmailCampaignView = require("./view/EmailCampaignView");
15
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
17
18
  function createEmailCampaignsPage(_ref) {
@@ -42,6 +43,14 @@ function createEmailCampaignsPage(_ref) {
42
43
  return /*#__PURE__*/React.createElement(_EmailCampaignStatistics.EmailCampaignStatistics, {
43
44
  id: selectedId
44
45
  });
46
+ }), /*#__PURE__*/React.createElement(_admin.StackPage, {
47
+ name: "view"
48
+ }, function (selectedId) {
49
+ return /*#__PURE__*/React.createElement(_EmailCampaignView.EmailCampaignView, {
50
+ id: selectedId,
51
+ previewUrl: previewUrl,
52
+ EmailCampaignContentBlock: EmailCampaignContentBlock
53
+ });
45
54
  }), /*#__PURE__*/React.createElement(_admin.StackPage, {
46
55
  name: "edit",
47
56
  title: intl.formatMessage({
@@ -0,0 +1,10 @@
1
+ import { BlockInterface } from "@comet/blocks-admin";
2
+ import React from "react";
3
+ interface EmailCampaignViewProps {
4
+ id: string;
5
+ EmailCampaignContentBlock: BlockInterface;
6
+ previewUrl: string;
7
+ }
8
+ export declare function EmailCampaignView({ id, EmailCampaignContentBlock, previewUrl }: EmailCampaignViewProps): React.ReactElement;
9
+ export {};
10
+ //# sourceMappingURL=EmailCampaignView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailCampaignView.d.ts","sourceRoot":"","sources":["../../../src/emailCampaigns/view/EmailCampaignView.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAwB,MAAM,qBAAqB,CAAC;AAG3E,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,UAAU,sBAAsB;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,yBAAyB,EAAE,cAAc,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,EAAE,yBAAyB,EAAE,UAAU,EAAE,EAAE,sBAAsB,GAAG,KAAK,CAAC,YAAY,CAmD3H"}
@@ -0,0 +1,2 @@
1
+ export declare const emailCampaignViewQuery: import("@apollo/client").DocumentNode;
2
+ //# sourceMappingURL=EmailCampaignView.gql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailCampaignView.gql.d.ts","sourceRoot":"","sources":["../../../src/emailCampaigns/view/EmailCampaignView.gql.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,uCAOlC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import * as Types from '../../graphql.generated';
2
+ export declare const namedOperations: {
3
+ Query: {
4
+ EmailCampaignView: string;
5
+ };
6
+ };
7
+ export type GQLEmailCampaignViewQueryVariables = Types.Exact<{
8
+ id: Types.Scalars['ID'];
9
+ }>;
10
+ export type GQLEmailCampaignViewQuery = {
11
+ __typename?: 'Query';
12
+ emailCampaign: {
13
+ __typename?: 'EmailCampaign';
14
+ id: string;
15
+ content: any;
16
+ };
17
+ };
18
+ //# sourceMappingURL=EmailCampaignView.gql.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailCampaignView.gql.generated.d.ts","sourceRoot":"","sources":["../../../src/emailCampaigns/view/EmailCampaignView.gql.generated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,eAAO,MAAM,eAAe;;;;CAI3B,CAAA;AACD,MAAM,MAAM,kCAAkC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3D,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB,CAAC,CAAC;AAGH,MAAM,MAAM,yBAAyB,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE;QAAE,UAAU,CAAC,EAAE,eAAe,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.namedOperations = void 0;
7
+ var namedOperations = exports.namedOperations = {
8
+ Query: {
9
+ EmailCampaignView: 'EmailCampaignView'
10
+ }
11
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.emailCampaignViewQuery = void 0;
7
+ var _client = require("@apollo/client");
8
+ var _templateObject;
9
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
10
+ var emailCampaignViewQuery = exports.emailCampaignViewQuery = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query EmailCampaignView($id: ID!) {\n emailCampaign(id: $id) {\n id\n content\n }\n }\n"])));
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EmailCampaignView = EmailCampaignView;
7
+ var _client = require("@apollo/client");
8
+ var _admin = require("@comet/admin");
9
+ var _adminIcons = require("@comet/admin-icons");
10
+ var _blocksAdmin = require("@comet/blocks-admin");
11
+ var _cmsAdmin = require("@comet/cms-admin");
12
+ var _material = require("@mui/material");
13
+ var _react = _interopRequireDefault(require("react"));
14
+ var _reactIntl = require("react-intl");
15
+ var _reactRouter = require("react-router");
16
+ var _EmailCampaignView = require("./EmailCampaignView.gql");
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
19
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
23
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
24
+ function EmailCampaignView(_ref) {
25
+ var id = _ref.id,
26
+ EmailCampaignContentBlock = _ref.EmailCampaignContentBlock,
27
+ previewUrl = _ref.previewUrl;
28
+ var stackApi = (0, _admin.useStackApi)();
29
+ var previewApi = (0, _cmsAdmin.useBlockPreview)();
30
+ var blockContext = (0, _cmsAdmin.useCmsBlockContext)();
31
+ var match = (0, _reactRouter.useRouteMatch)();
32
+ var _useQuery = (0, _client.useQuery)(_EmailCampaignView.emailCampaignViewQuery, {
33
+ variables: {
34
+ id: id
35
+ }
36
+ }),
37
+ data = _useQuery.data,
38
+ error = _useQuery.error,
39
+ loading = _useQuery.loading;
40
+ if (error) throw error;
41
+ if (loading) {
42
+ return /*#__PURE__*/_react["default"].createElement(_admin.Loading, {
43
+ behavior: "fillPageHeight"
44
+ });
45
+ }
46
+ if (!data) {
47
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null);
48
+ }
49
+ var previewContext = _objectSpread(_objectSpread({}, blockContext), {}, {
50
+ parentUrl: match.url,
51
+ showVisibleOnly: previewApi.showOnlyVisible
52
+ });
53
+ var previewState = {
54
+ emailCampaignId: id,
55
+ content: EmailCampaignContentBlock.createPreviewState(EmailCampaignContentBlock.input2State(data.emailCampaign.content), previewContext)
56
+ };
57
+ return /*#__PURE__*/_react["default"].createElement(_cmsAdmin.EditPageLayout, null, /*#__PURE__*/_react["default"].createElement(_admin.Toolbar, null, /*#__PURE__*/_react["default"].createElement(_admin.ToolbarItem, null, /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
58
+ onClick: stackApi === null || stackApi === void 0 ? void 0 : stackApi.goBack
59
+ }, /*#__PURE__*/_react["default"].createElement(_adminIcons.ArrowLeft, null))), /*#__PURE__*/_react["default"].createElement(_admin.ToolbarTitleItem, null, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
60
+ id: "cometBrevoModule.emailCampaigns.EmailCampaign",
61
+ defaultMessage: "Email Campaign"
62
+ })), /*#__PURE__*/_react["default"].createElement(_admin.ToolbarFillSpace, null)), /*#__PURE__*/_react["default"].createElement(_admin.MainContent, {
63
+ disablePaddingBottom: true
64
+ }, /*#__PURE__*/_react["default"].createElement(_blocksAdmin.IFrameBridgeProvider, {
65
+ key: previewUrl
66
+ }, /*#__PURE__*/_react["default"].createElement(_cmsAdmin.BlockPreview, {
67
+ url: previewUrl,
68
+ previewState: previewState,
69
+ previewApi: previewApi
70
+ }))));
71
+ }
@@ -1,6 +1,18 @@
1
1
  import { ContentScopeInterface } from "@comet/cms-admin";
2
+ import { DocumentNode } from "graphql";
2
3
  import * as React from "react";
3
- export declare function TargetGroupsGrid({ scope }: {
4
+ export type AdditionalContactAttributesType = Record<string, unknown>;
5
+ export declare function TargetGroupsGrid({ scope, exportTargetGroupOptions, }: {
4
6
  scope: ContentScopeInterface;
7
+ exportTargetGroupOptions?: {
8
+ additionalAttributesFragment: {
9
+ name: string;
10
+ fragment: DocumentNode;
11
+ };
12
+ exportFields: {
13
+ renderValue: (row: AdditionalContactAttributesType) => string;
14
+ headerName: string;
15
+ }[];
16
+ };
5
17
  }): React.ReactElement;
6
18
  //# sourceMappingURL=TargetGroupsGrid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TargetGroupsGrid.d.ts","sourceRoot":"","sources":["../../src/targetGroups/TargetGroupsGrid.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4E/B,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,qBAAqB,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CA6FhG"}
1
+ {"version":3,"file":"TargetGroupsGrid.d.ts","sourceRoot":"","sources":["../../src/targetGroups/TargetGroupsGrid.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAIzD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,MAAM,MAAM,+BAA+B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA4EtE,wBAAgB,gBAAgB,CAAC,EAC7B,KAAK,EACL,wBAAwB,GAC3B,EAAE;IACC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,wBAAwB,CAAC,EAAE;QACvB,4BAA4B,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,YAAY,CAAA;SAAE,CAAC;QACvE,YAAY,EAAE;YAAE,WAAW,EAAE,CAAC,GAAG,EAAE,+BAA+B,KAAK,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACzG,CAAC;CACL,GAAG,KAAK,CAAC,YAAY,CAkKrB"}
@@ -2,6 +2,7 @@ import * as Types from '../graphql.generated';
2
2
  export declare const namedOperations: {
3
3
  Query: {
4
4
  TargetGroupsGrid: string;
5
+ TargetGroupContacts: string;
5
6
  };
6
7
  Mutation: {
7
8
  DeleteTargetGroup: string;
@@ -9,6 +10,7 @@ export declare const namedOperations: {
9
10
  };
10
11
  Fragment: {
11
12
  TargetGroupsList: string;
13
+ TargetGroupContactItem: string;
12
14
  };
13
15
  };
14
16
  export type GQLTargetGroupsListFragment = {
@@ -19,6 +21,13 @@ export type GQLTargetGroupsListFragment = {
19
21
  totalContactsBlocked: number;
20
22
  isMainList: boolean;
21
23
  };
24
+ export type GQLTargetGroupContactItemFragment = {
25
+ __typename?: 'BrevoContact';
26
+ id: number;
27
+ email: string;
28
+ emailBlacklisted: boolean;
29
+ smsBlacklisted: boolean;
30
+ };
22
31
  export type GQLTargetGroupsGridQueryVariables = Types.Exact<{
23
32
  offset?: Types.InputMaybe<Types.Scalars['Int']>;
24
33
  limit?: Types.InputMaybe<Types.Scalars['Int']>;
@@ -60,4 +69,24 @@ export type GQLCreateTargetGroupMutation = {
60
69
  id: string;
61
70
  };
62
71
  };
72
+ export type GQLTargetGroupContactsQueryVariables = Types.Exact<{
73
+ targetGroupId?: Types.InputMaybe<Types.Scalars['ID']>;
74
+ offset?: Types.InputMaybe<Types.Scalars['Int']>;
75
+ limit?: Types.InputMaybe<Types.Scalars['Int']>;
76
+ scope: Types.GQLEmailCampaignContentScopeInput;
77
+ }>;
78
+ export type GQLTargetGroupContactsQuery = {
79
+ __typename?: 'Query';
80
+ brevoContacts: {
81
+ __typename?: 'PaginatedBrevoContacts';
82
+ totalCount: number;
83
+ nodes: Array<{
84
+ __typename?: 'BrevoContact';
85
+ id: number;
86
+ email: string;
87
+ emailBlacklisted: boolean;
88
+ smsBlacklisted: boolean;
89
+ }>;
90
+ };
91
+ };
63
92
  //# sourceMappingURL=TargetGroupsGrid.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TargetGroupsGrid.generated.d.ts","sourceRoot":"","sources":["../../src/targetGroups/TargetGroupsGrid.generated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAE9C,eAAO,MAAM,eAAe;;;;;;;;;;;CAW3B,CAAA;AACD,MAAM,MAAM,2BAA2B,GAAG;IAAE,UAAU,CAAC,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjL,MAAM,MAAM,iCAAiC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1D,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACpF,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACtD,KAAK,EAAE,KAAK,CAAC,iCAAiC,CAAC;CAChD,CAAC,CAAC;AAGH,MAAM,MAAM,wBAAwB,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE;QAAE,UAAU,CAAC,EAAE,uBAAuB,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,UAAU,CAAC,EAAE,aAAa,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAC;YAAC,oBAAoB,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,OAAO,CAAA;SAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC;AAElS,MAAM,MAAM,qCAAqC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC9D,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB,CAAC,CAAC;AAGH,MAAM,MAAM,4BAA4B,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE,CAAC;AAEnG,MAAM,MAAM,qCAAqC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC9D,KAAK,EAAE,KAAK,CAAC,iCAAiC,CAAC;IAC/C,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC;CAClC,CAAC,CAAC;AAGH,MAAM,MAAM,4BAA4B,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,iBAAiB,EAAE;QAAE,UAAU,CAAC,EAAE,aAAa,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"TargetGroupsGrid.generated.d.ts","sourceRoot":"","sources":["../../src/targetGroups/TargetGroupsGrid.generated.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.namedOperations = void 0;
7
7
  var namedOperations = exports.namedOperations = {
8
8
  Query: {
9
- TargetGroupsGrid: 'TargetGroupsGrid'
9
+ TargetGroupsGrid: 'TargetGroupsGrid',
10
+ TargetGroupContacts: 'TargetGroupContacts'
10
11
  },
11
12
  Mutation: {
12
13
  DeleteTargetGroup: 'DeleteTargetGroup',
13
14
  CreateTargetGroup: 'CreateTargetGroup'
14
15
  },
15
16
  Fragment: {
16
- TargetGroupsList: 'TargetGroupsList'
17
+ TargetGroupsList: 'TargetGroupsList',
18
+ TargetGroupContactItem: 'TargetGroupContactItem'
17
19
  }
18
20
  };
@@ -10,11 +10,13 @@ var _admin = require("@comet/admin");
10
10
  var _adminIcons = require("@comet/admin-icons");
11
11
  var _material = require("@mui/material");
12
12
  var _xDataGrid = require("@mui/x-data-grid");
13
+ var _fileSaver = _interopRequireDefault(require("file-saver"));
13
14
  var React = _interopRequireWildcard(require("react"));
14
15
  var _reactIntl = require("react-intl");
15
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
16
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
16
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
20
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
21
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
20
22
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
@@ -26,9 +28,10 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
26
28
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
27
29
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
28
30
  var targetGroupsFragment = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n fragment TargetGroupsList on TargetGroup {\n id\n title\n totalSubscribers\n totalContactsBlocked\n isMainList\n }\n"])));
29
- var targetGroupsQuery = (0, _client.gql)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n query TargetGroupsGrid(\n $offset: Int\n $limit: Int\n $sort: [TargetGroupSort!]\n $search: String\n $filter: TargetGroupFilter\n $scope: EmailCampaignContentScopeInput!\n ) {\n targetGroups(offset: $offset, limit: $limit, sort: $sort, search: $search, filter: $filter, scope: $scope) {\n nodes {\n ...TargetGroupsList\n }\n totalCount\n }\n }\n ", "\n"])), targetGroupsFragment);
30
- var deleteTargetGroupMutation = (0, _client.gql)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n mutation DeleteTargetGroup($id: ID!) {\n deleteTargetGroup(id: $id)\n }\n"])));
31
- var createTargetGroupMutation = (0, _client.gql)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n mutation CreateTargetGroup($scope: EmailCampaignContentScopeInput!, $input: TargetGroupInput!) {\n createTargetGroup(scope: $scope, input: $input) {\n id\n }\n }\n"])));
31
+ var targetGroupContactItemFragment = (0, _client.gql)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n fragment TargetGroupContactItem on BrevoContact {\n id\n email\n emailBlacklisted\n smsBlacklisted\n }\n"])));
32
+ var targetGroupsQuery = (0, _client.gql)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n query TargetGroupsGrid(\n $offset: Int\n $limit: Int\n $sort: [TargetGroupSort!]\n $search: String\n $filter: TargetGroupFilter\n $scope: EmailCampaignContentScopeInput!\n ) {\n targetGroups(offset: $offset, limit: $limit, sort: $sort, search: $search, filter: $filter, scope: $scope) {\n nodes {\n ...TargetGroupsList\n }\n totalCount\n }\n }\n ", "\n"])), targetGroupsFragment);
33
+ var deleteTargetGroupMutation = (0, _client.gql)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n mutation DeleteTargetGroup($id: ID!) {\n deleteTargetGroup(id: $id)\n }\n"])));
34
+ var createTargetGroupMutation = (0, _client.gql)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n mutation CreateTargetGroup($scope: EmailCampaignContentScopeInput!, $input: TargetGroupInput!) {\n createTargetGroup(scope: $scope, input: $input) {\n id\n }\n }\n"])));
32
35
  function TargetGroupsGridToolbar() {
33
36
  return /*#__PURE__*/React.createElement(_admin.Toolbar, null, /*#__PURE__*/React.createElement(_admin.ToolbarAutomaticTitleItem, null), /*#__PURE__*/React.createElement(_admin.ToolbarItem, null, /*#__PURE__*/React.createElement(_xDataGrid.GridToolbarQuickFilter, null)), /*#__PURE__*/React.createElement(_admin.ToolbarItem, null, /*#__PURE__*/React.createElement(_admin.GridFilterButton, null)), /*#__PURE__*/React.createElement(_admin.ToolbarFillSpace, null), /*#__PURE__*/React.createElement(_admin.ToolbarActions, null, /*#__PURE__*/React.createElement(_material.Button, {
34
37
  startIcon: /*#__PURE__*/React.createElement(_adminIcons.Add, null),
@@ -43,11 +46,91 @@ function TargetGroupsGridToolbar() {
43
46
  }))));
44
47
  }
45
48
  function TargetGroupsGrid(_ref) {
46
- var _data$targetGroups$no;
47
- var scope = _ref.scope;
49
+ var _exportTargetGroupOpt, _exportTargetGroupOpt2, _exportTargetGroupOpt3, _data$targetGroups$no;
50
+ var scope = _ref.scope,
51
+ exportTargetGroupOptions = _ref.exportTargetGroupOptions;
48
52
  var client = (0, _client.useApolloClient)();
49
53
  var intl = (0, _reactIntl.useIntl)();
50
54
  var dataGridProps = _objectSpread(_objectSpread({}, (0, _admin.useDataGridRemote)()), (0, _admin.usePersistentColumnState)("TargetGroupsGrid"));
55
+ var targetGroupContactsQuery = (0, _client.gql)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n query TargetGroupContacts($targetGroupId: ID, $offset: Int, $limit: Int, $scope: EmailCampaignContentScopeInput!) {\n brevoContacts(targetGroupId: $targetGroupId, offset: $offset, limit: $limit, scope: $scope) {\n nodes {\n ...TargetGroupContactItem\n ", "\n }\n totalCount\n }\n }\n ", "\n ", "\n "])), exportTargetGroupOptions !== null && exportTargetGroupOptions !== void 0 && exportTargetGroupOptions.additionalAttributesFragment ? "...".concat((_exportTargetGroupOpt = exportTargetGroupOptions.additionalAttributesFragment) === null || _exportTargetGroupOpt === void 0 ? void 0 : _exportTargetGroupOpt.name) : "", targetGroupContactItemFragment, (_exportTargetGroupOpt2 = exportTargetGroupOptions === null || exportTargetGroupOptions === void 0 || (_exportTargetGroupOpt3 = exportTargetGroupOptions.additionalAttributesFragment) === null || _exportTargetGroupOpt3 === void 0 ? void 0 : _exportTargetGroupOpt3.fragment) !== null && _exportTargetGroupOpt2 !== void 0 ? _exportTargetGroupOpt2 : "");
56
+ var convertToCsv = function convertToCsv(data) {
57
+ var _exportTargetGroupOpt4;
58
+ var header = [intl.formatMessage({
59
+ id: "cometBrevoModule.targetGroup.export.brevoId",
60
+ defaultMessage: "Brevo ID"
61
+ }), intl.formatMessage({
62
+ id: "cometBrevoModule.targetGroup.export.email",
63
+ defaultMessage: "Email"
64
+ }), intl.formatMessage({
65
+ id: "cometBrevoModule.targetGroup.export.emailBlacklisted",
66
+ defaultMessage: "Email blacklisted"
67
+ }), intl.formatMessage({
68
+ id: "cometBrevoModule.targetGroup.export.smsBlacklisted",
69
+ defaultMessage: "Sms blacklisted"
70
+ })].concat((_exportTargetGroupOpt4 = exportTargetGroupOptions === null || exportTargetGroupOptions === void 0 ? void 0 : exportTargetGroupOptions.exportFields.map(function (field) {
71
+ var _field$headerName;
72
+ return (_field$headerName = field === null || field === void 0 ? void 0 : field.headerName) !== null && _field$headerName !== void 0 ? _field$headerName : "";
73
+ })) !== null && _exportTargetGroupOpt4 !== void 0 ? _exportTargetGroupOpt4 : []);
74
+ var csvData = data.map(function (contact) {
75
+ return ["=\"".concat(contact.id, "\""), contact.email, contact.emailBlacklisted, contact.smsBlacklisted, exportTargetGroupOptions === null || exportTargetGroupOptions === void 0 ? void 0 : exportTargetGroupOptions.exportFields.map(function (field) {
76
+ return field.renderValue(contact);
77
+ })];
78
+ });
79
+ csvData.unshift(header);
80
+ return csvData.map(function (row) {
81
+ return row.join(",");
82
+ }).join("\n");
83
+ };
84
+ function downloadTargetGroupContactsExportFile(_x) {
85
+ return _downloadTargetGroupContactsExportFile.apply(this, arguments);
86
+ }
87
+ function _downloadTargetGroupContactsExportFile() {
88
+ _downloadTargetGroupContactsExportFile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref2) {
89
+ var id, title, offset, shouldContinue, allContacts, _yield$client$query, newContactsData, csvData, blob;
90
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
91
+ while (1) switch (_context3.prev = _context3.next) {
92
+ case 0:
93
+ id = _ref2.id, title = _ref2.title;
94
+ offset = 0;
95
+ shouldContinue = true;
96
+ allContacts = [];
97
+ case 4:
98
+ if (!shouldContinue) {
99
+ _context3.next = 14;
100
+ break;
101
+ }
102
+ _context3.next = 7;
103
+ return client.query({
104
+ query: targetGroupContactsQuery,
105
+ variables: {
106
+ targetGroupId: id,
107
+ scope: scope,
108
+ offset: offset,
109
+ limit: 100
110
+ }
111
+ });
112
+ case 7:
113
+ _yield$client$query = _context3.sent;
114
+ newContactsData = _yield$client$query.data;
115
+ allContacts = allContacts.concat(newContactsData.brevoContacts.nodes);
116
+ shouldContinue = allContacts.length < newContactsData.brevoContacts.totalCount;
117
+ offset += 100;
118
+ _context3.next = 4;
119
+ break;
120
+ case 14:
121
+ csvData = convertToCsv(allContacts);
122
+ blob = new Blob([csvData], {
123
+ type: "text/csv;charset=utf-8;"
124
+ });
125
+ (0, _fileSaver["default"])(blob, "".concat(title, ".csv"));
126
+ case 17:
127
+ case "end":
128
+ return _context3.stop();
129
+ }
130
+ }, _callee3);
131
+ }));
132
+ return _downloadTargetGroupContactsExportFile.apply(this, arguments);
133
+ }
51
134
  var columns = [{
52
135
  field: "title",
53
136
  headerName: intl.formatMessage({
@@ -81,8 +164,8 @@ function TargetGroupsGrid(_ref) {
81
164
  sortable: false,
82
165
  filterable: false,
83
166
  type: "actions",
84
- renderCell: function renderCell(_ref2) {
85
- var row = _ref2.row;
167
+ renderCell: function renderCell(_ref3) {
168
+ var row = _ref3.row;
86
169
  if (row.isMainList) return;
87
170
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_material.IconButton, {
88
171
  component: _admin.StackLink,
@@ -90,6 +173,15 @@ function TargetGroupsGrid(_ref) {
90
173
  payload: row.id
91
174
  }, /*#__PURE__*/React.createElement(_adminIcons.Edit, {
92
175
  color: "primary"
176
+ })), /*#__PURE__*/React.createElement(_material.IconButton, {
177
+ onClick: function onClick() {
178
+ return downloadTargetGroupContactsExportFile({
179
+ id: row.id,
180
+ title: row.title
181
+ });
182
+ }
183
+ }, /*#__PURE__*/React.createElement(_adminIcons.Download, {
184
+ color: "primary"
93
185
  })), /*#__PURE__*/React.createElement(_admin.CrudContextMenu, {
94
186
  copyData: function copyData() {
95
187
  return {
@@ -97,12 +189,12 @@ function TargetGroupsGrid(_ref) {
97
189
  };
98
190
  },
99
191
  onPaste: ( /*#__PURE__*/function () {
100
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref3) {
192
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref4) {
101
193
  var input;
102
194
  return _regeneratorRuntime().wrap(function _callee$(_context) {
103
195
  while (1) switch (_context.prev = _context.next) {
104
196
  case 0:
105
- input = _ref3.input;
197
+ input = _ref4.input;
106
198
  _context.next = 3;
107
199
  return client.mutate({
108
200
  mutation: createTargetGroupMutation,
@@ -117,8 +209,8 @@ function TargetGroupsGrid(_ref) {
117
209
  }
118
210
  }, _callee);
119
211
  }));
120
- return function (_x) {
121
- return _ref4.apply(this, arguments);
212
+ return function (_x2) {
213
+ return _ref5.apply(this, arguments);
122
214
  };
123
215
  }()),
124
216
  onDelete: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
@@ -1,9 +1,20 @@
1
1
  import { DocumentNode } from "graphql";
2
2
  import * as React from "react";
3
3
  import { EditTargetGroupFinalFormValues } from "./TargetGroupForm";
4
+ import { AdditionalContactAttributesType } from "./TargetGroupsGrid";
4
5
  interface CreateContactsPageOptions {
5
6
  scopeParts: string[];
6
7
  additionalFormFields?: React.ReactNode;
8
+ exportTargetGroupOptions?: {
9
+ additionalAttributesFragment: {
10
+ name: string;
11
+ fragment: DocumentNode;
12
+ };
13
+ exportFields: {
14
+ renderValue: (row: AdditionalContactAttributesType) => string;
15
+ headerName: string;
16
+ }[];
17
+ };
7
18
  nodeFragment?: {
8
19
  name: string;
9
20
  fragment: DocumentNode;
@@ -11,6 +22,6 @@ interface CreateContactsPageOptions {
11
22
  input2State?: (values?: EditTargetGroupFinalFormValues) => EditTargetGroupFinalFormValues;
12
23
  valuesToOutput?: (values: EditTargetGroupFinalFormValues) => EditTargetGroupFinalFormValues;
13
24
  }
14
- export declare function createTargetGroupsPage({ scopeParts, additionalFormFields, nodeFragment, input2State }: CreateContactsPageOptions): () => JSX.Element;
25
+ export declare function createTargetGroupsPage({ scopeParts, additionalFormFields, nodeFragment, input2State, exportTargetGroupOptions, }: CreateContactsPageOptions): () => JSX.Element;
15
26
  export {};
16
27
  //# sourceMappingURL=TargetGroupsPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TargetGroupsPage.d.ts","sourceRoot":"","sources":["../../src/targetGroups/TargetGroupsPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,8BAA8B,EAAmB,MAAM,mBAAmB,CAAC;AAGpF,UAAU,yBAAyB;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;IACxD,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,8BAA8B,KAAK,8BAA8B,CAAC;IAC1F,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,8BAA8B,KAAK,8BAA8B,CAAC;CAC/F;AAED,wBAAgB,sBAAsB,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,yBAAyB,SAChG,WAAW,CA8C3C"}
1
+ {"version":3,"file":"TargetGroupsPage.d.ts","sourceRoot":"","sources":["../../src/targetGroups/TargetGroupsPage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,8BAA8B,EAAmB,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,+BAA+B,EAAoB,MAAM,oBAAoB,CAAC;AAEvF,UAAU,yBAAyB;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,wBAAwB,CAAC,EAAE;QACvB,4BAA4B,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,YAAY,CAAA;SAAE,CAAC;QACvE,YAAY,EAAE;YAAE,WAAW,EAAE,CAAC,GAAG,EAAE,+BAA+B,KAAK,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACzG,CAAC;IACF,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;IACxD,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,8BAA8B,KAAK,8BAA8B,CAAC;IAC1F,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,8BAA8B,KAAK,8BAA8B,CAAC;CAC/F;AAED,wBAAgB,sBAAsB,CAAC,EACnC,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,wBAAwB,GAC3B,EAAE,yBAAyB,SACK,WAAW,CA8C3C"}
@@ -17,7 +17,8 @@ function createTargetGroupsPage(_ref) {
17
17
  var scopeParts = _ref.scopeParts,
18
18
  additionalFormFields = _ref.additionalFormFields,
19
19
  nodeFragment = _ref.nodeFragment,
20
- input2State = _ref.input2State;
20
+ input2State = _ref.input2State,
21
+ exportTargetGroupOptions = _ref.exportTargetGroupOptions;
21
22
  function TargetGroupsPage() {
22
23
  var _useContentScope = (0, _cmsAdmin.useContentScope)(),
23
24
  completeScope = _useContentScope.scope;
@@ -34,7 +35,8 @@ function createTargetGroupsPage(_ref) {
34
35
  }, /*#__PURE__*/React.createElement(_admin.StackSwitch, null, /*#__PURE__*/React.createElement(_admin.StackPage, {
35
36
  name: "grid"
36
37
  }, /*#__PURE__*/React.createElement(_TargetGroupsGrid.TargetGroupsGrid, {
37
- scope: scope
38
+ scope: scope,
39
+ exportTargetGroupOptions: exportTargetGroupOptions
38
40
  })), /*#__PURE__*/React.createElement(_admin.StackPage, {
39
41
  name: "edit",
40
42
  title: intl.formatMessage({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comet/brevo-admin",
3
- "version": "2.0.0-canary-20240527080900",
3
+ "version": "2.0.0-canary-20240527130411",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/vivid-planet/comet-brevo-module/",
@@ -13,6 +13,7 @@
13
13
  "lib"
14
14
  ],
15
15
  "dependencies": {
16
+ "file-saver": "^2.0.5",
16
17
  "lodash.isequal": "^4.0.0"
17
18
  },
18
19
  "devDependencies": {
@@ -34,6 +35,7 @@
34
35
  "@mui/styles": "^5.8.6",
35
36
  "@mui/system": "^5.8.6",
36
37
  "@mui/x-data-grid": "^5.17.26",
38
+ "@types/file-saver": "^2.0.7",
37
39
  "@types/lodash.isequal": "^4.0.0",
38
40
  "@types/react": "^17.0",
39
41
  "@types/react-dom": "^17.0.0",