import 'lato-font/css/lato-font.css';
import './global.scss';
-/* Shortcuts*/
+/* Shortcuts */
import './js/shortcuts/entry';
import './js/shortcuts/main';
-import { savePercent, retrievePercent } from './js/tools';
+/* Hightlight */
+import './js/highlight';
+import { savePercent, retrievePercent } from './js/tools';
/* ==========================================================================
Annotations & Remember position
element: document.querySelector('article'),
});
+ const authorization = {
+ permits() { return true; },
+ };
+ app.registry.registerUtility(authorization, 'authorizationPolicy');
+
const x = JSON.parse($('#annotationroutes').html());
- app.include(annotator.storage.http, x);
+ app.include(annotator.storage.http, $.extend({}, x, {
+ onError(msg, xhr) {
+ if (!Object.prototype.hasOwnProperty.call(xhr, 'responseJSON')) {
+ annotator.notification.banner('An error occurred', 'error');
+ return;
+ }
+ $.each(xhr.responseJSON.children, (k, v) => {
+ if (v.errors) {
+ $.each(v.errors, (n, errorText) => {
+ annotator.notification.banner(errorText, 'error');
+ });
+ }
+ });
+ },
+ }));
app.start().then(() => {
app.annotations.load({ entry: x.entryId });
retrievePercent(x.entryId);
$(window).resize(() => {
- retrievePercent(x.entryId);
+ retrievePercent(x.entryId, true);
});
}
+
+ document.querySelectorAll('[data-handler=tag-rename]').forEach((item) => {
+ const current = item;
+ current.wallabag_edit_mode = false;
+ current.onclick = (event) => {
+ const target = event.currentTarget;
+
+ if (target.wallabag_edit_mode === false) {
+ $(target.parentNode.querySelector('[data-handle=tag-link]')).addClass('hidden');
+ $(target.parentNode.querySelector('[data-handle=tag-rename-form]')).removeClass('hidden');
+ target.parentNode.querySelector('[data-handle=tag-rename-form] input').focus();
+ target.querySelector('.material-icons').innerHTML = 'done';
+
+ target.wallabag_edit_mode = true;
+ } else {
+ target.parentNode.querySelector('[data-handle=tag-rename-form]').submit();
+ }
+ };
+ });
+
+ // mimic radio button because emailTwoFactor is a boolean
+ $('#update_user_googleTwoFactor').on('change', () => {
+ $('#update_user_emailTwoFactor').prop('checked', false);
+ });
+
+ $('#update_user_emailTwoFactor').on('change', () => {
+ $('#update_user_googleTwoFactor').prop('checked', false);
+ });
+
+ // same mimic for super admin
+ $('#user_googleTwoFactor').on('change', () => {
+ $('#user_emailTwoFactor').prop('checked', false);
+ });
+
+ $('#user_emailTwoFactor').on('change', () => {
+ $('#user_googleTwoFactor').prop('checked', false);
+ });
});