nodebb-plugin-facebook-post 1.0.12 → 1.0.13
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/library.js +1 -0
- package/package.json +1 -1
- package/static/lib/composer.js +11 -20
package/library.js
CHANGED
|
@@ -333,6 +333,7 @@ Plugin.init = async function (params) {
|
|
|
333
333
|
router.get('/api/admin/plugins/facebook-post', render);
|
|
334
334
|
|
|
335
335
|
router.get('/api/facebook-post/can-post', middleware.ensureLoggedIn, async (req, res) => {
|
|
336
|
+
res.set('Cache-Control', 'no-store');
|
|
336
337
|
try {
|
|
337
338
|
await loadSettings();
|
|
338
339
|
if (!settings.enabled) return res.json({ allowed: false, reason: 'disabled' });
|
package/package.json
CHANGED
package/static/lib/composer.js
CHANGED
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
(function () {
|
|
5
5
|
async function canPost() {
|
|
6
6
|
try {
|
|
7
|
-
const res = await fetch('/api/facebook-post/can-post', {
|
|
7
|
+
const res = await fetch('/api/facebook-post/can-post?_=' + Date.now(), {
|
|
8
|
+
credentials: 'same-origin',
|
|
9
|
+
cache: 'no-store',
|
|
10
|
+
});
|
|
8
11
|
if (!res.ok) return { allowed: false };
|
|
9
12
|
return await res.json();
|
|
10
13
|
} catch {
|
|
@@ -13,7 +16,6 @@
|
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
function injectUI($composer) {
|
|
16
|
-
if (!$composer || !$composer.length) return;
|
|
17
19
|
if ($composer.find('[data-fbpost-wrap]').length) return;
|
|
18
20
|
|
|
19
21
|
const html = `
|
|
@@ -35,12 +37,7 @@
|
|
|
35
37
|
</div>
|
|
36
38
|
`;
|
|
37
39
|
|
|
38
|
-
|
|
39
|
-
const $targets = $composer.find(
|
|
40
|
-
'.composer-body, .composer-content, .write, .composer .write, .composer .composer-body, .composer .composer-content'
|
|
41
|
-
);
|
|
42
|
-
const $target = $targets.first();
|
|
43
|
-
|
|
40
|
+
const $target = $composer.find('.write, .composer-body, .composer-content').first();
|
|
44
41
|
if ($target.length) $target.prepend(html);
|
|
45
42
|
else $composer.prepend(html);
|
|
46
43
|
|
|
@@ -51,7 +48,6 @@
|
|
|
51
48
|
$placeWrap.toggle($enabled.is(':checked'));
|
|
52
49
|
});
|
|
53
50
|
|
|
54
|
-
// Attach once per composer instance
|
|
55
51
|
$(window).off('filter:composer.submit.fbpost')
|
|
56
52
|
.on('filter:composer.submit.fbpost', function (ev2, submitData) {
|
|
57
53
|
const enabled = $enabled.is(':checked');
|
|
@@ -66,23 +62,18 @@
|
|
|
66
62
|
});
|
|
67
63
|
}
|
|
68
64
|
|
|
69
|
-
async function
|
|
65
|
+
$(window).on('action:composer.loaded', async function (ev, data) {
|
|
70
66
|
try {
|
|
71
|
-
const $composer =
|
|
72
|
-
if (!$composer.length) return;
|
|
67
|
+
const $composer = data && data.composer ? $(data.composer) : $('.composer');
|
|
68
|
+
if (!$composer || !$composer.length) return;
|
|
73
69
|
|
|
74
70
|
const perm = await canPost();
|
|
75
71
|
if (!perm.allowed) return;
|
|
76
72
|
|
|
77
|
-
|
|
78
|
-
setTimeout(() => injectUI($composer), 0);
|
|
73
|
+
injectUI($composer);
|
|
79
74
|
} catch {
|
|
80
75
|
// ignore
|
|
81
76
|
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
$(window).on('action:composer.loaded', onComposerLoaded);
|
|
85
|
-
|
|
86
|
-
// Some themes trigger different events; listen to opened as well.
|
|
87
|
-
$(window).on('action:composer.opened', onComposerLoaded);
|
|
77
|
+
});
|
|
88
78
|
})();
|
|
79
|
+
|