js: replace <meta> tags with <body> data attributes.

Refactor things to store information about the current user as data
attributes on the <body> tag rather than as <meta> tags. These <meta>
tags are now deprecated and will be eventually removed.

* Store all of the current user's API attributes as data attributes on
  the <body> tag.

* Add `CurrentUser.data` for getting data from the <body> tag, and
  use it instead of `Utility.meta`.

* Add `CurrentUser.update` for updating the current user's settings.

* Fix a bug with the user named "Anonymous" not being able to edit notes.
This commit is contained in:
evazion
2019-10-02 15:59:22 -05:00
parent b492b5de9c
commit d64236813a
10 changed files with 46 additions and 34 deletions

View File

@@ -1,7 +1,8 @@
import Utility from './utility'
import Cookie from './cookie'
import Post from './posts.js.erb'
import CurrentUser from './current_user'
import Favorite from './favorites'
import Post from './posts.js.erb'
import Utility from './utility'
let PostModeMenu = {};
@@ -91,7 +92,7 @@ PostModeMenu.initialize_edit_form = function() {
PostModeMenu.close_edit_form = function() {
$("#quick-edit-div").slideUp("fast");
if (Utility.meta("enable-auto-complete") === "true") {
if (CurrentUser.data("enable-auto-complete")) {
$("#post_tag_string").data("uiAutocomplete").close();
}
}