UNPKG

lacona-osx

Version:

Lacona Extensions for OSX, tied into the global-context hosted API

66 lines (47 loc) 2.49 kB
'use strict'; 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)); })(); } };