mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-10-26 19:24:31 +03:00
Bug fixes
This commit is contained in:
parent
0c90076218
commit
d03c25f6f0
@ -2,6 +2,7 @@ const { CompositeDisposable } = require("atom");
|
||||
const _ = require("underscore-plus");
|
||||
const BaseSettingValue = require("./base.js");
|
||||
const elementForSetting = require("./elementForSetting.js");
|
||||
const { getSettingTitle } = require("../rich-title.js");
|
||||
|
||||
module.exports =
|
||||
class ElementSettingValue extends BaseSettingValue {
|
||||
@ -11,7 +12,7 @@ class ElementSettingValue extends BaseSettingValue {
|
||||
}
|
||||
|
||||
render() {
|
||||
if (_.keys(value).length === 0) {
|
||||
if (_.keys(this.value).length === 0) {
|
||||
this.element = document.createDocumentFragment();
|
||||
return this.element;
|
||||
} else {
|
||||
|
@ -1,9 +1,13 @@
|
||||
// Creates an HTML element for a given setting
|
||||
const _ = require("underscore-plus");
|
||||
|
||||
const ArraySettingValue = require("./array.js");
|
||||
const CheckboxSettingValue = require("./checkbox.js");
|
||||
const ColorSettingValue = require("./color.js");
|
||||
const ElementSettingValue = require("./element.js");
|
||||
const EnumSettingValue = require("./enum.js");
|
||||
const ArraySettingValue = require("./array.js");
|
||||
const ObjectSettingValue = require("./object.js");
|
||||
|
||||
|
||||
module.exports =
|
||||
function elementForSetting(namespace, name, value, opts = {}) {
|
||||
@ -52,12 +56,26 @@ function elementForSetting(namespace, name, value, opts = {}) {
|
||||
} else if (_.isObject(value) || (schema && schema.type === 'object')) {
|
||||
settingsClass = new ObjectSettingValue(namespace, name, value, opts);
|
||||
} else {
|
||||
settingClass = new ElementSettingValue(namespace, name, value, opts);
|
||||
settingsClass = new ElementSettingValue(namespace, name, value, opts);
|
||||
}
|
||||
|
||||
if (settingsClass === undefined) {
|
||||
console.log(`Unknown SettingValue Class for: '${namespace}:${name}.${value}'`);
|
||||
return controlGroup;
|
||||
}
|
||||
|
||||
controls.appendChild(settingsClass.render());
|
||||
opts.compositeDisposable.add(settingsClass.bindTooltips());
|
||||
opts.compositeDisposable.add(settingsClass.bindInput());
|
||||
|
||||
let bindTooltips = settingsClass.bindTooltips();
|
||||
if (bindTooltips) {
|
||||
opts.compositeDisposable.add(bindTooltips);
|
||||
}
|
||||
|
||||
let bindInput = settingsClass.bindInput();
|
||||
if (bindInput) {
|
||||
// Since these classes may return unexpected data we guard against it here
|
||||
opts.compositeDisposable.add(bindInput);
|
||||
}
|
||||
|
||||
return controlGroup;
|
||||
}
|
||||
|
@ -1,4 +1,7 @@
|
||||
const _ = require("underscore-plus");
|
||||
const BaseSettingValue = require("./base.js");
|
||||
const { getSettingTitle } = require("../rich-title.js");
|
||||
const elementForSetting = require("./elementForSetting.js");
|
||||
|
||||
module.exports =
|
||||
class ObjectSettingValue extends BaseSettingValue {
|
||||
@ -34,7 +37,7 @@ class ObjectSettingValue extends BaseSettingValue {
|
||||
const div = document.createElement("div");
|
||||
div.classList.add("sub-section-body");
|
||||
for (const key of this.opts.sortSettings(this.keyPath, this.value)) {
|
||||
div.appendChild(elementForSetting(namespace, `${name}.${key}`, value[key], this.opts.compositeDisposable));
|
||||
div.appendChild(elementForSetting(this.namespace, `${this.name}.${key}`, this.value[key], this.opts));
|
||||
}
|
||||
|
||||
section.appendChild(div);
|
||||
|
Loading…
Reference in New Issue
Block a user