lacona-osx
Version:
Lacona Extensions for OSX, tied into the global-context hosted API
66 lines (47 loc) • 2.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _elliptical = require('elliptical');
var _app = require('./app');
var _bookmark = require('./bookmark');
var _contactSources = require('./contact-sources');
var _preferencePane = require('./preference-pane');
var _runningApp = require('./running-app');
var _volume = require('./volume');
var _laconaApi = require('lacona-api');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } /** @jsx createElement */
exports.default = {
onLoadConfig({ observe, config, setConfig }) {
return _asyncToGenerator(function* () {
if (config.enableApplications) {
observe((0, _elliptical.createElement)(_app.ApplicationSource, {
namedApplications: config.namedApplications,
applicationSearchDirectories: config.applicationSearchDirectories }));
}
if (config.enableSafariBookmarks) {
observe((0, _elliptical.createElement)(_bookmark.BookmarkSource, null));
}
if (config.enableContactCards || config.enableContactInfo || config.enableContactDates) {
if (yield (0, _laconaApi.canAccessContacts)()) {
observe((0, _elliptical.createElement)(_contactSources.Contacts, null));
observe((0, _elliptical.createElement)(_contactSources.UserContact, null));
} else {
const newConfig = _lodash2.default.clone(config);
newConfig.enableContactCards = false;
newConfig.enableContactInfo = false;
newConfig.enableContactDates = false;
setConfig(newConfig);
}
}
if (config.enableSystemPreferences) {
observe((0, _elliptical.createElement)(_preferencePane.PaneSource, null));
}
observe((0, _elliptical.createElement)(_runningApp.RunningAppSource, null));
observe((0, _elliptical.createElement)(_volume.VolumeSource, null));
})();
}
};