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

@@ -0,0 +1,14 @@
let CurrentUser = {};
CurrentUser.data = function(key) {
return $("body").data(`user-${key}`);
};
CurrentUser.update = function(settings) {
return $.ajax(`/users/${CurrentUser.data("id")}.json`, {
method: "PUT",
data: { user: settings }
});
};
export default CurrentUser;