mirror of https://github.com/freeCodeCamp/devdocs
parent
329da39c08
commit
1995d8a3bb
@ -1,127 +1,109 @@
|
||||
// TODO: This file was created by bulk-decaffeinate.
|
||||
// Sanity-check the conversion and remove this comment.
|
||||
/*
|
||||
* decaffeinate suggestions:
|
||||
* DS101: Remove unnecessary use of Array.from
|
||||
* DS102: Remove unnecessary code created because of implicit returns
|
||||
* DS205: Consider reworking code to avoid use of IIFEs
|
||||
* DS206: Consider reworking classes to avoid initClass
|
||||
* DS207: Consider shorter variations of null checks
|
||||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/main/docs/suggestions.md
|
||||
*/
|
||||
(function () {
|
||||
let SIDEBAR_HIDDEN_LAYOUT = undefined;
|
||||
app.views.Settings = class Settings extends app.View {
|
||||
static initClass() {
|
||||
SIDEBAR_HIDDEN_LAYOUT = "_sidebar-hidden";
|
||||
|
||||
this.el = "._settings";
|
||||
|
||||
this.elements = {
|
||||
sidebar: "._sidebar",
|
||||
saveBtn: 'button[type="submit"]',
|
||||
backBtn: "button[data-back]",
|
||||
};
|
||||
|
||||
this.events = {
|
||||
import: "onImport",
|
||||
change: "onChange",
|
||||
submit: "onSubmit",
|
||||
click: "onClick",
|
||||
};
|
||||
|
||||
this.shortcuts = { enter: "onEnter" };
|
||||
}
|
||||
app.views.Settings = class Settings extends app.View {
|
||||
static SIDEBAR_HIDDEN_LAYOUT = "_sidebar-hidden";
|
||||
|
||||
init() {
|
||||
this.addSubview((this.docPicker = new app.views.DocPicker()));
|
||||
}
|
||||
static el = "._settings";
|
||||
|
||||
activate() {
|
||||
if (super.activate(...arguments)) {
|
||||
this.render();
|
||||
document.body.classList.remove(SIDEBAR_HIDDEN_LAYOUT);
|
||||
}
|
||||
}
|
||||
static elements = {
|
||||
sidebar: "._sidebar",
|
||||
saveBtn: 'button[type="submit"]',
|
||||
backBtn: "button[data-back]",
|
||||
};
|
||||
|
||||
deactivate() {
|
||||
if (super.deactivate(...arguments)) {
|
||||
this.resetClass();
|
||||
this.docPicker.detach();
|
||||
if (app.settings.hasLayout(SIDEBAR_HIDDEN_LAYOUT)) {
|
||||
document.body.classList.add(SIDEBAR_HIDDEN_LAYOUT);
|
||||
}
|
||||
static events = {
|
||||
import: "onImport",
|
||||
change: "onChange",
|
||||
submit: "onSubmit",
|
||||
click: "onClick",
|
||||
};
|
||||
|
||||
static shortcuts = { enter: "onEnter" };
|
||||
|
||||
init() {
|
||||
this.addSubview((this.docPicker = new app.views.DocPicker()));
|
||||
}
|
||||
|
||||
activate() {
|
||||
if (super.activate(...arguments)) {
|
||||
this.render();
|
||||
document.body.classList.remove(Settings.SIDEBAR_HIDDEN_LAYOUT);
|
||||
}
|
||||
}
|
||||
|
||||
deactivate() {
|
||||
if (super.deactivate(...arguments)) {
|
||||
this.resetClass();
|
||||
this.docPicker.detach();
|
||||
if (app.settings.hasLayout(Settings.SIDEBAR_HIDDEN_LAYOUT)) {
|
||||
document.body.classList.add(Settings.SIDEBAR_HIDDEN_LAYOUT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
this.docPicker.appendTo(this.sidebar);
|
||||
this.refreshElements();
|
||||
this.addClass("_in");
|
||||
}
|
||||
render() {
|
||||
this.docPicker.appendTo(this.sidebar);
|
||||
this.refreshElements();
|
||||
this.addClass("_in");
|
||||
}
|
||||
|
||||
save(options) {
|
||||
if (options == null) {
|
||||
options = {};
|
||||
save(options) {
|
||||
if (options == null) {
|
||||
options = {};
|
||||
}
|
||||
if (!this.saving) {
|
||||
let docs;
|
||||
this.saving = true;
|
||||
|
||||
if (options.import) {
|
||||
docs = app.settings.getDocs();
|
||||
} else {
|
||||
docs = this.docPicker.getSelectedDocs();
|
||||
app.settings.setDocs(docs);
|
||||
}
|
||||
if (!this.saving) {
|
||||
let docs;
|
||||
this.saving = true;
|
||||
|
||||
if (options.import) {
|
||||
docs = app.settings.getDocs();
|
||||
} else {
|
||||
docs = this.docPicker.getSelectedDocs();
|
||||
app.settings.setDocs(docs);
|
||||
}
|
||||
|
||||
this.saveBtn.textContent = "Saving\u2026";
|
||||
const disabledDocs = new app.collections.Docs(
|
||||
(() => {
|
||||
const result = [];
|
||||
for (var doc of Array.from(app.docs.all())) {
|
||||
if (docs.indexOf(doc.slug) === -1) {
|
||||
result.push(doc);
|
||||
}
|
||||
|
||||
this.saveBtn.textContent = "Saving\u2026";
|
||||
const disabledDocs = new app.collections.Docs(
|
||||
(() => {
|
||||
const result = [];
|
||||
for (var doc of app.docs.all()) {
|
||||
if (docs.indexOf(doc.slug) === -1) {
|
||||
result.push(doc);
|
||||
}
|
||||
return result;
|
||||
})(),
|
||||
);
|
||||
disabledDocs.uninstall(function () {
|
||||
app.db.migrate();
|
||||
return app.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
return result;
|
||||
})(),
|
||||
);
|
||||
disabledDocs.uninstall(function () {
|
||||
app.db.migrate();
|
||||
return app.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
onChange() {
|
||||
this.addClass("_dirty");
|
||||
}
|
||||
onChange() {
|
||||
this.addClass("_dirty");
|
||||
}
|
||||
|
||||
onEnter() {
|
||||
this.save();
|
||||
}
|
||||
onEnter() {
|
||||
this.save();
|
||||
}
|
||||
|
||||
onSubmit(event) {
|
||||
event.preventDefault();
|
||||
this.save();
|
||||
}
|
||||
onSubmit(event) {
|
||||
event.preventDefault();
|
||||
this.save();
|
||||
}
|
||||
|
||||
onImport() {
|
||||
this.addClass("_dirty");
|
||||
this.save({ import: true });
|
||||
}
|
||||
onImport() {
|
||||
this.addClass("_dirty");
|
||||
this.save({ import: true });
|
||||
}
|
||||
|
||||
onClick(event) {
|
||||
if (event.which !== 1) {
|
||||
return;
|
||||
}
|
||||
if (event.target === this.backBtn) {
|
||||
$.stopEvent(event);
|
||||
app.router.show("/");
|
||||
}
|
||||
onClick(event) {
|
||||
if (event.which !== 1) {
|
||||
return;
|
||||
}
|
||||
};
|
||||
app.views.Settings.initClass();
|
||||
return app.views.Settings;
|
||||
})();
|
||||
if (event.target === this.backBtn) {
|
||||
$.stopEvent(event);
|
||||
app.router.show("/");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in new issue