mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-10-27 03:32:44 +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 _ = require("underscore-plus");
|
||||||
const BaseSettingValue = require("./base.js");
|
const BaseSettingValue = require("./base.js");
|
||||||
const elementForSetting = require("./elementForSetting.js");
|
const elementForSetting = require("./elementForSetting.js");
|
||||||
|
const { getSettingTitle } = require("../rich-title.js");
|
||||||
|
|
||||||
module.exports =
|
module.exports =
|
||||||
class ElementSettingValue extends BaseSettingValue {
|
class ElementSettingValue extends BaseSettingValue {
|
||||||
@ -11,7 +12,7 @@ class ElementSettingValue extends BaseSettingValue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
if (_.keys(value).length === 0) {
|
if (_.keys(this.value).length === 0) {
|
||||||
this.element = document.createDocumentFragment();
|
this.element = document.createDocumentFragment();
|
||||||
return this.element;
|
return this.element;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
// Creates an HTML element for a given setting
|
// Creates an HTML element for a given setting
|
||||||
const _ = require("underscore-plus");
|
const _ = require("underscore-plus");
|
||||||
|
|
||||||
|
const ArraySettingValue = require("./array.js");
|
||||||
const CheckboxSettingValue = require("./checkbox.js");
|
const CheckboxSettingValue = require("./checkbox.js");
|
||||||
const ColorSettingValue = require("./color.js");
|
const ColorSettingValue = require("./color.js");
|
||||||
|
const ElementSettingValue = require("./element.js");
|
||||||
const EnumSettingValue = require("./enum.js");
|
const EnumSettingValue = require("./enum.js");
|
||||||
const ArraySettingValue = require("./array.js");
|
const ObjectSettingValue = require("./object.js");
|
||||||
|
|
||||||
|
|
||||||
module.exports =
|
module.exports =
|
||||||
function elementForSetting(namespace, name, value, opts = {}) {
|
function elementForSetting(namespace, name, value, opts = {}) {
|
||||||
@ -52,12 +56,26 @@ function elementForSetting(namespace, name, value, opts = {}) {
|
|||||||
} else if (_.isObject(value) || (schema && schema.type === 'object')) {
|
} else if (_.isObject(value) || (schema && schema.type === 'object')) {
|
||||||
settingsClass = new ObjectSettingValue(namespace, name, value, opts);
|
settingsClass = new ObjectSettingValue(namespace, name, value, opts);
|
||||||
} else {
|
} 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());
|
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;
|
return controlGroup;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
|
const _ = require("underscore-plus");
|
||||||
const BaseSettingValue = require("./base.js");
|
const BaseSettingValue = require("./base.js");
|
||||||
|
const { getSettingTitle } = require("../rich-title.js");
|
||||||
|
const elementForSetting = require("./elementForSetting.js");
|
||||||
|
|
||||||
module.exports =
|
module.exports =
|
||||||
class ObjectSettingValue extends BaseSettingValue {
|
class ObjectSettingValue extends BaseSettingValue {
|
||||||
@ -34,7 +37,7 @@ class ObjectSettingValue extends BaseSettingValue {
|
|||||||
const div = document.createElement("div");
|
const div = document.createElement("div");
|
||||||
div.classList.add("sub-section-body");
|
div.classList.add("sub-section-body");
|
||||||
for (const key of this.opts.sortSettings(this.keyPath, this.value)) {
|
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);
|
section.appendChild(div);
|
||||||
|
Loading…
Reference in New Issue
Block a user