powr-sdk-web 6.14.1 → 6.15.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/admin/index.js +1 -1
- package/dist/forms/page.js +225 -0
- package/dist/index.js +19 -0
- package/dist/posts/Writer.js +153 -13
- package/dist/posts/admin.js +3 -1
- package/package.json +1 -1
package/dist/admin/index.js
CHANGED
|
@@ -62,7 +62,7 @@ var AdminDashboard = function AdminDashboard(_ref2) {
|
|
|
62
62
|
var apiUrl = _ref2.apiUrl,
|
|
63
63
|
projectId = _ref2.projectId,
|
|
64
64
|
_ref2$sections = _ref2.sections,
|
|
65
|
-
sections = _ref2$sections === void 0 ? [] : _ref2$sections,
|
|
65
|
+
sections = _ref2$sections === void 0 ? ['Users', 'Pageviews', 'Feedbacks', 'Forms'] : _ref2$sections,
|
|
66
66
|
formPublicBaseUrl = _ref2.formPublicBaseUrl,
|
|
67
67
|
_ref2$theme = _ref2.theme,
|
|
68
68
|
theme = _ref2$theme === void 0 ? 'default' : _ref2$theme,
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = PowrFormsPage;
|
|
7
|
+
exports.getPowrFormSchema = getPowrFormSchema;
|
|
8
|
+
exports.resolvePowrFormImageUrl = resolvePowrFormImageUrl;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _index = _interopRequireDefault(require("./index"));
|
|
11
|
+
var _config = require("../config");
|
|
12
|
+
var _session = require("../session");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
14
|
+
var cache;
|
|
15
|
+
function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, "default": e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
|
|
16
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
17
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
18
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
19
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
20
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
21
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
22
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
23
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
24
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
25
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
26
|
+
function resolvePowrFormImageUrl(imageUrl) {
|
|
27
|
+
if (!imageUrl || typeof imageUrl !== "string") return null;
|
|
28
|
+
var trimmed = imageUrl.trim();
|
|
29
|
+
if (!trimmed) return null;
|
|
30
|
+
if (trimmed.startsWith("http://") || trimmed.startsWith("https://")) return trimmed;
|
|
31
|
+
if (trimmed.startsWith("/")) return trimmed;
|
|
32
|
+
return "/".concat(trimmed);
|
|
33
|
+
}
|
|
34
|
+
function getPowrFormSchema(_x) {
|
|
35
|
+
return _getPowrFormSchema.apply(this, arguments);
|
|
36
|
+
}
|
|
37
|
+
function _getPowrFormSchema() {
|
|
38
|
+
_getPowrFormSchema = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(formName) {
|
|
39
|
+
var _ref,
|
|
40
|
+
projectId,
|
|
41
|
+
_ref$apiUrl,
|
|
42
|
+
apiUrl,
|
|
43
|
+
slug,
|
|
44
|
+
pid,
|
|
45
|
+
_json$data,
|
|
46
|
+
url,
|
|
47
|
+
res,
|
|
48
|
+
json,
|
|
49
|
+
_args = arguments,
|
|
50
|
+
_t;
|
|
51
|
+
return _regenerator().w(function (_context) {
|
|
52
|
+
while (1) switch (_context.p = _context.n) {
|
|
53
|
+
case 0:
|
|
54
|
+
_ref = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}, projectId = _ref.projectId, _ref$apiUrl = _ref.apiUrl, apiUrl = _ref$apiUrl === void 0 ? _config.DEFAULT_API_URL : _ref$apiUrl;
|
|
55
|
+
slug = String(formName || "").trim();
|
|
56
|
+
pid = String(projectId || "").trim();
|
|
57
|
+
if (!(!slug || !pid)) {
|
|
58
|
+
_context.n = 1;
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
return _context.a(2, null);
|
|
62
|
+
case 1:
|
|
63
|
+
_context.p = 1;
|
|
64
|
+
url = "".concat(String(apiUrl).replace(/\/$/, ""), "/forms/").concat(encodeURIComponent(slug), "?projectId=").concat(encodeURIComponent(pid));
|
|
65
|
+
_context.n = 2;
|
|
66
|
+
return fetch(url, {
|
|
67
|
+
cache: "no-store",
|
|
68
|
+
credentials: "omit"
|
|
69
|
+
});
|
|
70
|
+
case 2:
|
|
71
|
+
res = _context.v;
|
|
72
|
+
if (res.ok) {
|
|
73
|
+
_context.n = 3;
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
return _context.a(2, null);
|
|
77
|
+
case 3:
|
|
78
|
+
_context.n = 4;
|
|
79
|
+
return res.json();
|
|
80
|
+
case 4:
|
|
81
|
+
json = _context.v;
|
|
82
|
+
return _context.a(2, (_json$data = json === null || json === void 0 ? void 0 : json.data) !== null && _json$data !== void 0 ? _json$data : null);
|
|
83
|
+
case 5:
|
|
84
|
+
_context.p = 5;
|
|
85
|
+
_t = _context.v;
|
|
86
|
+
return _context.a(2, null);
|
|
87
|
+
}
|
|
88
|
+
}, _callee, null, [[1, 5]]);
|
|
89
|
+
}));
|
|
90
|
+
return _getPowrFormSchema.apply(this, arguments);
|
|
91
|
+
}
|
|
92
|
+
function PowrFormsPage(_ref2) {
|
|
93
|
+
var _schema$formTitle, _schema$description;
|
|
94
|
+
var formName = _ref2.formName,
|
|
95
|
+
_ref2$defaultFormName = _ref2.defaultFormName,
|
|
96
|
+
defaultFormName = _ref2$defaultFormName === void 0 ? "" : _ref2$defaultFormName,
|
|
97
|
+
projectId = _ref2.projectId,
|
|
98
|
+
_ref2$apiUrl = _ref2.apiUrl,
|
|
99
|
+
apiUrl = _ref2$apiUrl === void 0 ? _config.DEFAULT_API_URL : _ref2$apiUrl,
|
|
100
|
+
_ref2$theme = _ref2.theme,
|
|
101
|
+
theme = _ref2$theme === void 0 ? "purple" : _ref2$theme,
|
|
102
|
+
_ref2$fallbackTitle = _ref2.fallbackTitle,
|
|
103
|
+
fallbackTitle = _ref2$fallbackTitle === void 0 ? "Form" : _ref2$fallbackTitle,
|
|
104
|
+
_ref2$loginPath = _ref2.loginPath,
|
|
105
|
+
loginPath = _ref2$loginPath === void 0 ? "/login" : _ref2$loginPath,
|
|
106
|
+
_ref2$formsPath = _ref2.formsPath,
|
|
107
|
+
formsPath = _ref2$formsPath === void 0 ? "/forms" : _ref2$formsPath,
|
|
108
|
+
onNavigate = _ref2.onNavigate,
|
|
109
|
+
onReplace = _ref2.onReplace,
|
|
110
|
+
_ref2$className = _ref2.className,
|
|
111
|
+
className = _ref2$className === void 0 ? "" : _ref2$className,
|
|
112
|
+
_ref2$cardClassName = _ref2.cardClassName,
|
|
113
|
+
cardClassName = _ref2$cardClassName === void 0 ? "overflow-hidden rounded-lg border border-gray-200 bg-white px-4 py-6 text-slate-900 shadow-sm sm:px-6" : _ref2$cardClassName;
|
|
114
|
+
var session = (0, _session.usePowrSession)();
|
|
115
|
+
var _useState = (0, _react.useState)(function () {
|
|
116
|
+
var explicit = String(formName || "").trim();
|
|
117
|
+
if (explicit) return explicit;
|
|
118
|
+
if (typeof window !== "undefined") {
|
|
119
|
+
var sp = new URLSearchParams(window.location.search);
|
|
120
|
+
var id = (sp.get("id") || "").trim();
|
|
121
|
+
if (id) return id;
|
|
122
|
+
}
|
|
123
|
+
return String(defaultFormName || "").trim();
|
|
124
|
+
}),
|
|
125
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
126
|
+
resolvedName = _useState2[0],
|
|
127
|
+
setResolvedName = _useState2[1];
|
|
128
|
+
var _useState3 = (0, _react.useState)(null),
|
|
129
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
130
|
+
schema = _useState4[0],
|
|
131
|
+
setSchema = _useState4[1];
|
|
132
|
+
(0, _react.useEffect)(function () {
|
|
133
|
+
var explicit = String(formName || "").trim();
|
|
134
|
+
if (explicit) {
|
|
135
|
+
setResolvedName(explicit);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (typeof window !== "undefined") {
|
|
139
|
+
var sp = new URLSearchParams(window.location.search);
|
|
140
|
+
var id = (sp.get("id") || "").trim();
|
|
141
|
+
if (id) {
|
|
142
|
+
setResolvedName(id);
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
var def = String(defaultFormName || "").trim();
|
|
146
|
+
if (def) {
|
|
147
|
+
setResolvedName(def);
|
|
148
|
+
var target = "".concat(formsPath, "?id=").concat(encodeURIComponent(def));
|
|
149
|
+
if (typeof onReplace === "function") {
|
|
150
|
+
onReplace(target);
|
|
151
|
+
} else if (window.history && typeof window.history.replaceState === "function") {
|
|
152
|
+
window.history.replaceState(null, "", target);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}, [formName, defaultFormName, formsPath, onReplace]);
|
|
157
|
+
(0, _react.useEffect)(function () {
|
|
158
|
+
var cancelled = false;
|
|
159
|
+
if (!resolvedName || !projectId) {
|
|
160
|
+
setSchema(null);
|
|
161
|
+
return undefined;
|
|
162
|
+
}
|
|
163
|
+
getPowrFormSchema(resolvedName, {
|
|
164
|
+
projectId: projectId,
|
|
165
|
+
apiUrl: apiUrl
|
|
166
|
+
}).then(function (data) {
|
|
167
|
+
if (!cancelled) setSchema(data);
|
|
168
|
+
});
|
|
169
|
+
return function () {
|
|
170
|
+
cancelled = true;
|
|
171
|
+
};
|
|
172
|
+
}, [resolvedName, projectId, apiUrl]);
|
|
173
|
+
var isAuthenticated = Boolean(session && session.hydrated && session.user);
|
|
174
|
+
var user = session ? session.user : null;
|
|
175
|
+
var signedAs = (user === null || user === void 0 ? void 0 : user.fullName) || (user === null || user === void 0 ? void 0 : user.name) || (user === null || user === void 0 ? void 0 : user.phoneNumber) || "you";
|
|
176
|
+
var extraFields = user ? {
|
|
177
|
+
userId: user.userId || user._id,
|
|
178
|
+
respondent_name: user.fullName || user.name || "",
|
|
179
|
+
whatsapp: user.phoneNumber || undefined,
|
|
180
|
+
email: user.email || undefined
|
|
181
|
+
} : undefined;
|
|
182
|
+
var handleNeedLogin = function handleNeedLogin() {
|
|
183
|
+
var next = "".concat(formsPath, "?id=").concat(encodeURIComponent(resolvedName));
|
|
184
|
+
var target = "".concat(loginPath, "?next=").concat(encodeURIComponent(next));
|
|
185
|
+
if (typeof onNavigate === "function") {
|
|
186
|
+
onNavigate(target);
|
|
187
|
+
} else if (typeof window !== "undefined") {
|
|
188
|
+
window.location.href = target;
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
var title = (schema === null || schema === void 0 || (_schema$formTitle = schema.formTitle) === null || _schema$formTitle === void 0 ? void 0 : _schema$formTitle.trim()) || fallbackTitle;
|
|
192
|
+
var description = (schema === null || schema === void 0 || (_schema$description = schema.description) === null || _schema$description === void 0 ? void 0 : _schema$description.trim()) || "";
|
|
193
|
+
var bannerUrl = resolvePowrFormImageUrl(schema === null || schema === void 0 ? void 0 : schema.imageUrl);
|
|
194
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
195
|
+
className: "flex flex-col gap-6 ".concat(className).trim()
|
|
196
|
+
}, bannerUrl ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
197
|
+
className: "h-40 overflow-hidden rounded-lg bg-slate-100 bg-cover bg-center",
|
|
198
|
+
style: {
|
|
199
|
+
backgroundImage: "url('".concat(bannerUrl, "')")
|
|
200
|
+
},
|
|
201
|
+
role: "img",
|
|
202
|
+
"aria-label": ""
|
|
203
|
+
}) : null, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h1", {
|
|
204
|
+
className: "font-display text-3xl font-bold sm:text-4xl"
|
|
205
|
+
}, title), description ? /*#__PURE__*/_react["default"].createElement("p", {
|
|
206
|
+
className: "mt-2 whitespace-pre-line text-sm leading-relaxed text-slate-600"
|
|
207
|
+
}, description) : null), !projectId ? /*#__PURE__*/_react["default"].createElement("p", {
|
|
208
|
+
className: "text-sm text-slate-500"
|
|
209
|
+
}, "Form is not configured. Set NEXT_PUBLIC_PROJECT_ID.") : !resolvedName ? /*#__PURE__*/_react["default"].createElement("p", {
|
|
210
|
+
className: "text-sm text-slate-500"
|
|
211
|
+
}, "No form selected. Open ", formsPath, "?id=<formName>.") : /*#__PURE__*/_react["default"].createElement("div", {
|
|
212
|
+
className: cardClassName
|
|
213
|
+
}, /*#__PURE__*/_react["default"].createElement(_index["default"], {
|
|
214
|
+
formName: resolvedName,
|
|
215
|
+
apiUrl: apiUrl,
|
|
216
|
+
projectId: projectId,
|
|
217
|
+
embed: true,
|
|
218
|
+
showHeader: false,
|
|
219
|
+
isAuthenticated: isAuthenticated,
|
|
220
|
+
onNeedLogin: handleNeedLogin,
|
|
221
|
+
extraFields: extraFields,
|
|
222
|
+
authenticatedLabel: isAuthenticated ? "Submitting as ".concat(signedAs) : undefined,
|
|
223
|
+
theme: theme
|
|
224
|
+
})));
|
|
225
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -297,6 +297,12 @@ Object.defineProperty(exports, "PowrCalendarStrip", {
|
|
|
297
297
|
return _calendar["default"];
|
|
298
298
|
}
|
|
299
299
|
});
|
|
300
|
+
Object.defineProperty(exports, "PowrFormsPage", {
|
|
301
|
+
enumerable: true,
|
|
302
|
+
get: function get() {
|
|
303
|
+
return _page["default"];
|
|
304
|
+
}
|
|
305
|
+
});
|
|
300
306
|
Object.defineProperty(exports, "PowrImpersonationBar", {
|
|
301
307
|
enumerable: true,
|
|
302
308
|
get: function get() {
|
|
@@ -483,6 +489,12 @@ Object.defineProperty(exports, "getPhoneLookupVariants", {
|
|
|
483
489
|
return _phone.getPhoneLookupVariants;
|
|
484
490
|
}
|
|
485
491
|
});
|
|
492
|
+
Object.defineProperty(exports, "getPowrFormSchema", {
|
|
493
|
+
enumerable: true,
|
|
494
|
+
get: function get() {
|
|
495
|
+
return _page.getPowrFormSchema;
|
|
496
|
+
}
|
|
497
|
+
});
|
|
486
498
|
Object.defineProperty(exports, "getPowrUserId", {
|
|
487
499
|
enumerable: true,
|
|
488
500
|
get: function get() {
|
|
@@ -645,6 +657,12 @@ Object.defineProperty(exports, "resolveCountry", {
|
|
|
645
657
|
return _phone.resolveCountry;
|
|
646
658
|
}
|
|
647
659
|
});
|
|
660
|
+
Object.defineProperty(exports, "resolvePowrFormImageUrl", {
|
|
661
|
+
enumerable: true,
|
|
662
|
+
get: function get() {
|
|
663
|
+
return _page.resolvePowrFormImageUrl;
|
|
664
|
+
}
|
|
665
|
+
});
|
|
648
666
|
Object.defineProperty(exports, "resolvePowrTokens", {
|
|
649
667
|
enumerable: true,
|
|
650
668
|
get: function get() {
|
|
@@ -713,6 +731,7 @@ var _likes = _interopRequireDefault(require("./likes"));
|
|
|
713
731
|
var _auth = _interopRequireDefault(require("./auth"));
|
|
714
732
|
var _sso = _interopRequireWildcard(require("./sso"));
|
|
715
733
|
var _forms = _interopRequireDefault(require("./forms"));
|
|
734
|
+
var _page = _interopRequireWildcard(require("./forms/page"));
|
|
716
735
|
var _feedback = _interopRequireDefault(require("./feedback"));
|
|
717
736
|
var _chat = _interopRequireDefault(require("./chat"));
|
|
718
737
|
var _feeds = _interopRequireDefault(require("./feeds"));
|
package/dist/posts/Writer.js
CHANGED
|
@@ -103,6 +103,7 @@ function PowrPostWriter(_ref) {
|
|
|
103
103
|
description: "",
|
|
104
104
|
tags: "",
|
|
105
105
|
coverUrl: "",
|
|
106
|
+
sourcePdfUrl: "",
|
|
106
107
|
bodyMd: "",
|
|
107
108
|
status: "draft"
|
|
108
109
|
});
|
|
@@ -115,6 +116,7 @@ function PowrPostWriter(_ref) {
|
|
|
115
116
|
description: row.description || "",
|
|
116
117
|
tags: (row.tags || []).join(", "),
|
|
117
118
|
coverUrl: row.coverUrl || "",
|
|
119
|
+
sourcePdfUrl: row.sourcePdfUrl || "",
|
|
118
120
|
bodyMd: row.bodyMd || "",
|
|
119
121
|
status: row.status,
|
|
120
122
|
slug: row.slug,
|
|
@@ -149,6 +151,7 @@ function PowrPostWriter(_ref) {
|
|
|
149
151
|
description: current.description,
|
|
150
152
|
bodyMd: current.bodyMd,
|
|
151
153
|
coverUrl: current.coverUrl,
|
|
154
|
+
sourcePdfUrl: current.sourcePdfUrl,
|
|
152
155
|
tags: current.tags
|
|
153
156
|
};
|
|
154
157
|
path = current._id ? "/posts/".concat(current._id) : "/posts";
|
|
@@ -180,46 +183,145 @@ function PowrPostWriter(_ref) {
|
|
|
180
183
|
}));
|
|
181
184
|
return _save.apply(this, arguments);
|
|
182
185
|
}
|
|
186
|
+
function submitPdf() {
|
|
187
|
+
return _submitPdf.apply(this, arguments);
|
|
188
|
+
}
|
|
189
|
+
function _submitPdf() {
|
|
190
|
+
_submitPdf = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
|
|
191
|
+
var _saved$data, _sent$data;
|
|
192
|
+
var sourcePdfUrl, title, body, path, saved, _saved$data2, row, sent, _sent$data2;
|
|
193
|
+
return _regenerator().w(function (_context3) {
|
|
194
|
+
while (1) switch (_context3.n) {
|
|
195
|
+
case 0:
|
|
196
|
+
if (current) {
|
|
197
|
+
_context3.n = 1;
|
|
198
|
+
break;
|
|
199
|
+
}
|
|
200
|
+
return _context3.a(2);
|
|
201
|
+
case 1:
|
|
202
|
+
sourcePdfUrl = String(current.sourcePdfUrl || "").trim();
|
|
203
|
+
if (sourcePdfUrl) {
|
|
204
|
+
_context3.n = 2;
|
|
205
|
+
break;
|
|
206
|
+
}
|
|
207
|
+
setError("Add the PDF first.");
|
|
208
|
+
return _context3.a(2);
|
|
209
|
+
case 2:
|
|
210
|
+
title = String(current.title || "").trim();
|
|
211
|
+
if (title) {
|
|
212
|
+
_context3.n = 3;
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
setError("Add a title.");
|
|
216
|
+
return _context3.a(2);
|
|
217
|
+
case 3:
|
|
218
|
+
setError("");
|
|
219
|
+
setNotice("");
|
|
220
|
+
body = {
|
|
221
|
+
title: title,
|
|
222
|
+
description: current.description,
|
|
223
|
+
bodyMd: current.bodyMd,
|
|
224
|
+
coverUrl: current.coverUrl,
|
|
225
|
+
sourcePdfUrl: sourcePdfUrl,
|
|
226
|
+
tags: current.tags
|
|
227
|
+
};
|
|
228
|
+
path = current._id ? "/posts/".concat(current._id) : "/posts";
|
|
229
|
+
_context3.n = 4;
|
|
230
|
+
return (0, _auth.apiCall)(apiUrl, path, projectId, {
|
|
231
|
+
method: current._id ? "PATCH" : "POST",
|
|
232
|
+
headers: headers,
|
|
233
|
+
body: body
|
|
234
|
+
});
|
|
235
|
+
case 4:
|
|
236
|
+
saved = _context3.v;
|
|
237
|
+
if (!(!saved.ok || !((_saved$data = saved.data) !== null && _saved$data !== void 0 && _saved$data.success))) {
|
|
238
|
+
_context3.n = 5;
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
setError(((_saved$data2 = saved.data) === null || _saved$data2 === void 0 ? void 0 : _saved$data2.message) || "Could not save.");
|
|
242
|
+
return _context3.a(2);
|
|
243
|
+
case 5:
|
|
244
|
+
row = saved.data.data;
|
|
245
|
+
if (!(row.status !== "draft")) {
|
|
246
|
+
_context3.n = 7;
|
|
247
|
+
break;
|
|
248
|
+
}
|
|
249
|
+
setNotice("Saved.");
|
|
250
|
+
open(row);
|
|
251
|
+
_context3.n = 6;
|
|
252
|
+
return load();
|
|
253
|
+
case 6:
|
|
254
|
+
return _context3.a(2);
|
|
255
|
+
case 7:
|
|
256
|
+
_context3.n = 8;
|
|
257
|
+
return (0, _auth.apiCall)(apiUrl, "/posts/".concat(row._id, "/submit"), projectId, {
|
|
258
|
+
method: "POST",
|
|
259
|
+
headers: headers
|
|
260
|
+
});
|
|
261
|
+
case 8:
|
|
262
|
+
sent = _context3.v;
|
|
263
|
+
if (!(!sent.ok || !((_sent$data = sent.data) !== null && _sent$data !== void 0 && _sent$data.success))) {
|
|
264
|
+
_context3.n = 10;
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
267
|
+
setError(((_sent$data2 = sent.data) === null || _sent$data2 === void 0 ? void 0 : _sent$data2.message) || "Could not send it.");
|
|
268
|
+
open(row);
|
|
269
|
+
_context3.n = 9;
|
|
270
|
+
return load();
|
|
271
|
+
case 9:
|
|
272
|
+
return _context3.a(2);
|
|
273
|
+
case 10:
|
|
274
|
+
setNotice("Sent for review.");
|
|
275
|
+
open(sent.data.data);
|
|
276
|
+
_context3.n = 11;
|
|
277
|
+
return load();
|
|
278
|
+
case 11:
|
|
279
|
+
return _context3.a(2);
|
|
280
|
+
}
|
|
281
|
+
}, _callee3);
|
|
282
|
+
}));
|
|
283
|
+
return _submitPdf.apply(this, arguments);
|
|
284
|
+
}
|
|
183
285
|
function submit() {
|
|
184
286
|
return _submit.apply(this, arguments);
|
|
185
287
|
}
|
|
186
288
|
function _submit() {
|
|
187
|
-
_submit = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
289
|
+
_submit = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
|
|
188
290
|
var _yield$apiCall3, data, ok;
|
|
189
|
-
return _regenerator().w(function (
|
|
190
|
-
while (1) switch (
|
|
291
|
+
return _regenerator().w(function (_context4) {
|
|
292
|
+
while (1) switch (_context4.n) {
|
|
191
293
|
case 0:
|
|
192
294
|
if (current !== null && current !== void 0 && current._id) {
|
|
193
|
-
|
|
295
|
+
_context4.n = 1;
|
|
194
296
|
break;
|
|
195
297
|
}
|
|
196
298
|
setError("Save the draft first.");
|
|
197
|
-
return
|
|
299
|
+
return _context4.a(2);
|
|
198
300
|
case 1:
|
|
199
|
-
|
|
301
|
+
_context4.n = 2;
|
|
200
302
|
return (0, _auth.apiCall)(apiUrl, "/posts/".concat(current._id, "/submit"), projectId, {
|
|
201
303
|
method: "POST",
|
|
202
304
|
headers: headers
|
|
203
305
|
});
|
|
204
306
|
case 2:
|
|
205
|
-
_yield$apiCall3 =
|
|
307
|
+
_yield$apiCall3 = _context4.v;
|
|
206
308
|
data = _yield$apiCall3.data;
|
|
207
309
|
ok = _yield$apiCall3.ok;
|
|
208
310
|
if (!(!ok || !(data !== null && data !== void 0 && data.success))) {
|
|
209
|
-
|
|
311
|
+
_context4.n = 3;
|
|
210
312
|
break;
|
|
211
313
|
}
|
|
212
314
|
setError((data === null || data === void 0 ? void 0 : data.message) || "Could not send it.");
|
|
213
|
-
return
|
|
315
|
+
return _context4.a(2);
|
|
214
316
|
case 3:
|
|
215
317
|
setNotice("Sent for review.");
|
|
216
318
|
open(data.data);
|
|
217
|
-
|
|
319
|
+
_context4.n = 4;
|
|
218
320
|
return load();
|
|
219
321
|
case 4:
|
|
220
|
-
return
|
|
322
|
+
return _context4.a(2);
|
|
221
323
|
}
|
|
222
|
-
},
|
|
324
|
+
}, _callee4);
|
|
223
325
|
}));
|
|
224
326
|
return _submit.apply(this, arguments);
|
|
225
327
|
}
|
|
@@ -270,7 +372,44 @@ function PowrPostWriter(_ref) {
|
|
|
270
372
|
onChange: function onChange(event) {
|
|
271
373
|
return setField("title", event.target.value);
|
|
272
374
|
}
|
|
273
|
-
})), /*#__PURE__*/_react["default"].createElement("
|
|
375
|
+
})), /*#__PURE__*/_react["default"].createElement("p", {
|
|
376
|
+
style: {
|
|
377
|
+
margin: "0 0 8px",
|
|
378
|
+
fontSize: 14
|
|
379
|
+
}
|
|
380
|
+
}, "PDF"), /*#__PURE__*/_react["default"].createElement(_uploader["default"], {
|
|
381
|
+
key: "pdf-".concat(current._id || "new"),
|
|
382
|
+
apiUrl: apiUrl,
|
|
383
|
+
projectId: projectId,
|
|
384
|
+
maxFiles: 1,
|
|
385
|
+
acceptedFileTypes: "application/pdf,.pdf",
|
|
386
|
+
initialFiles: current.sourcePdfUrl ? [{
|
|
387
|
+
url: current.sourcePdfUrl,
|
|
388
|
+
name: "article.pdf",
|
|
389
|
+
type: "application/pdf"
|
|
390
|
+
}] : [],
|
|
391
|
+
onUploadComplete: function onUploadComplete(files) {
|
|
392
|
+
var last = files && files[files.length - 1];
|
|
393
|
+
if (!last || !last.url) return;
|
|
394
|
+
var name = String(last.name || "");
|
|
395
|
+
if (last.type !== "application/pdf" && !/\.pdf$/i.test(name)) {
|
|
396
|
+
setError("That file needs to be a PDF.");
|
|
397
|
+
return;
|
|
398
|
+
}
|
|
399
|
+
setCurrent(function (prev) {
|
|
400
|
+
return _objectSpread(_objectSpread({}, prev || {}), {}, {
|
|
401
|
+
sourcePdfUrl: last.url,
|
|
402
|
+
title: prev && prev.title || name.replace(/\.pdf$/i, "").replace(/[-_]+/g, " ").trim()
|
|
403
|
+
});
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
}), !current.status || current.status === "draft" ? /*#__PURE__*/_react["default"].createElement("button", {
|
|
407
|
+
type: "button",
|
|
408
|
+
onClick: submitPdf,
|
|
409
|
+
style: {
|
|
410
|
+
margin: "8px 0 16px"
|
|
411
|
+
}
|
|
412
|
+
}, "Submit PDF") : null, /*#__PURE__*/_react["default"].createElement("label", null, "Short description", /*#__PURE__*/_react["default"].createElement("input", {
|
|
274
413
|
style: field,
|
|
275
414
|
value: current.description,
|
|
276
415
|
onChange: function onChange(event) {
|
|
@@ -290,6 +429,7 @@ function PowrPostWriter(_ref) {
|
|
|
290
429
|
return setField("coverUrl", event.target.value);
|
|
291
430
|
}
|
|
292
431
|
})), /*#__PURE__*/_react["default"].createElement(_uploader["default"], {
|
|
432
|
+
key: "img-".concat(current._id || "new"),
|
|
293
433
|
apiUrl: apiUrl,
|
|
294
434
|
projectId: projectId,
|
|
295
435
|
maxFiles: 1,
|
package/dist/posts/admin.js
CHANGED
|
@@ -298,7 +298,9 @@ function PowrPostsAdmin(_ref) {
|
|
|
298
298
|
style: {
|
|
299
299
|
color: "#6b7280"
|
|
300
300
|
}
|
|
301
|
-
}, row.status, " \xB7 ", ((_row$author = row.author) === null || _row$author === void 0 ? void 0 : _row$author.displayName) || "No name"
|
|
301
|
+
}, row.status, " \xB7 ", ((_row$author = row.author) === null || _row$author === void 0 ? void 0 : _row$author.displayName) || "No name", row.sourcePdfUrl ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, " · ", /*#__PURE__*/_react["default"].createElement("a", {
|
|
302
|
+
href: row.sourcePdfUrl
|
|
303
|
+
}, "PDF")) : null)), /*#__PURE__*/_react["default"].createElement("td", {
|
|
302
304
|
style: {
|
|
303
305
|
padding: 8,
|
|
304
306
|
borderBottom: "1px solid #e5e7eb",
|