Commit Graph

573 Commits

Author SHA1 Message Date
Samuel Elliott dc1acf140f
Recompile themes when settings have changed 2018-03-02 22:28:17 +00:00
Samuel Elliott 90c256ed76
Fix relative file path resolution in file settings 2018-03-02 22:24:54 +00:00
Samuel Elliott 88e563501a
Fix inline settings arrays 2018-03-02 22:20:34 +00:00
Samuel Elliott bd72246715
Fix for eslint-plugin-vue and some things eslint detected 2018-03-02 21:24:55 +00:00
Samuel Elliott 2060a41f5d
Fix plugin API modal manager 2018-03-02 20:48:29 +00:00
Samuel Elliott fdc9330195
Add modal manager to plugin API 2018-03-02 20:19:59 +00:00
Samuel Elliott e94a7c50a4
Merge remote-tracking branch 'upstream/master' into settings
# Conflicts:
#	client/src/modules/thememanager.js
#	client/src/ui/components/BdSettings.vue
2018-03-02 19:47:29 +00:00
Samuel Elliott f9e278cc75
Updated plugin API
- Renamed Settings to InternalSettings
- Renamed getPlugins/getThemes to listPlugins/listThemes
- Add Utils to the plugin API
- Add CssUtils to the plugin API
- Add error handling on plugin start
- Changed ThemeManager.getConfigAsSCSS[Map] to accept a SettingsSet instead of an array of SettingsCategory objects
- Add examples to the example plugin
2018-03-02 19:42:17 +00:00
Samuel Elliott 3168012fde
Fix internal settings 2018-03-02 19:34:53 +00:00
Samuel Elliott 5e2b5975ed
Allow custom settings to extend the CustomSetting class 2018-03-01 21:10:30 +00:00
Samuel Elliott 59bbc8d8ef
Add support for colour setting spelled as ‘color’ 2018-03-01 19:30:31 +00:00
Samuel Elliott 7954ebd764
Cleanup 2018-03-01 19:26:44 +00:00
Samuel Elliott 92612fc616
Fix modals closing with unsaved changes when clicking the close button, and added a shortcut to force close a modal by holding shift and clicking the close button 2018-03-01 19:01:45 +00:00
Samuel Elliott 3437c36b87
Use settings structs 2018-03-01 19:00:24 +00:00
Samuel Elliott 3574d6a5ba
Add settings structs 2018-03-01 18:50:49 +00:00
Samuel Elliott 5707da5f72
Fix plugin/theme descriptions 2018-03-01 01:52:08 +00:00
Samuel Elliott bff6057e0c
Add an animation when closing the settings menu content panel 2018-03-01 00:25:40 +00:00
Alexei Stukov ecf7f872cb
Merge pull request #150 from JsSucks/plugin-permissions
Initial plugin permissions
2018-02-28 21:39:23 +02:00
Jiiks deaa680aae Initial plugin permissions 2018-02-28 21:34:12 +02:00
Samuel Elliott cfdf3e0b4a Add relative file path resolution for themes 2018-02-28 18:14:35 +00:00
Jiiks f4692c5e32 Move picker a bit more left 2018-02-28 08:59:34 +02:00
Jiiks 327fb09973 Remove pointer-events if no changes 2018-02-28 08:58:50 +02:00
Jiiks 7046316d60 add top offset 2018-02-28 08:55:30 +02:00
Jiiks 67142ca7db Picker z-index 2018-02-28 08:35:57 +02:00
Jiiks 1e977fb407 Return raw colour value for colour picker 2018-02-28 07:46:48 +02:00
Jiiks e418964819 Close colour picker when clicked outside 2018-02-28 07:41:57 +02:00
Jiiks e0de230ef2 Hide activepanel when settingsmenu closes 2018-02-28 06:23:21 +02:00
Jiiks e7e79c9ac8 add colour picker save and reset 2018-02-28 05:58:13 +02:00
Jiiks 779a59c87e Make colour picker a popout and style it 2018-02-28 04:29:28 +02:00
Jiiks 160e6699e3 add missing .val ref #144 2018-02-28 00:10:37 +02:00
Jiiks 9b7b5d3b02 Colour picker base 2018-02-28 00:08:47 +02:00
Alexei Stukov 43e95bbba8
Merge pull request #142 from samuelthomas2774/add-full-width-settings
Add full width settings
2018-02-26 09:26:09 +02:00
Samuel Elliott df0f823f1d
Fixes 2018-02-22 16:19:35 +00:00
Samuel Elliott ff3ef34784
Show error modal when reloading content 2018-02-21 18:06:44 +00:00
Samuel Elliott 4cfa4ee466
Content reloading 2018-02-21 17:46:27 +00:00
Samuel Elliott b9145b5b85
Add custom settings 2018-02-21 16:00:49 +00:00
Samuel Elliott 5be5002ea1
Fix drawer open/close animation where height > width 2018-02-21 13:11:55 +00:00
Samuel Elliott d88caab321
Add full width settings 2018-02-21 10:46:13 +00:00
Samuel Elliott eae9d67649
Add support for file settings in themes
Files are added to the SCSS variables as a list of maps like (data: [base64 encoded file contents], type: [file MIME type], url: [data uri]), …
2018-02-21 01:16:41 +00:00
Samuel Elliott 2eaafdb1ac
Async SCSS configuration 2018-02-21 00:14:06 +00:00
Samuel Elliott 0be09f6cf8
Indent with spaces 2018-02-20 00:13:24 +00:00
Samuel Elliott afacd9cfbb
Add hover colour to settings schemes 2018-02-20 00:01:46 +00:00
Samuel Elliott 7123f5f100
Add support for array settings in themes 2018-02-20 00:01:23 +00:00
Samuel Elliott 522e798669
Remove scss_raw setting option 2018-02-19 23:54:37 +00:00
Samuel Elliott 201af9473e
Setting specific styles for inline arrays
Adds the ability for settings in an array to have no header text and appear full width
2018-02-19 22:19:50 +00:00
Samuel Elliott fae6fc8511
Add settings arrays 2018-02-19 18:20:44 +00:00
Samuel Elliott 847d88a628
Add confirm modal 2018-02-19 18:18:55 +00:00
Samuel Elliott 7cf1cf36fa
Add modal IDs 2018-02-19 18:17:49 +00:00
Samuel Elliott bd19a633b0
Move scroller outside settings, always show scrollbar in content 2018-02-19 18:17:06 +00:00
Samuel Elliott 8419bc51c1
Add transition between default/changed state on setting dividers 2018-02-19 18:13:02 +00:00
Samuel Elliott 9f6394eae3
Tabs SCSS 2018-02-19 18:12:17 +00:00
Samuel Elliott 6b94437b89
Fix modal backdrop still fading out when the first modal is closing even with additional modals on top 2018-02-19 18:11:47 +00:00
Samuel Elliott fca89aaaa6
Hide inactive tabs’ refresh button 2018-02-19 18:10:09 +00:00
Samuel Elliott 5931bffca3
Move plugins and themes view tab bars to the header 2018-02-17 02:17:55 +00:00
Samuel Elliott 5938e39d99
Update tab bar styles 2018-02-17 02:16:12 +00:00
Samuel Elliott 36a2fb1ec5
Tidy settings wrapper SCSS 2018-02-17 01:40:59 +00:00
Samuel Elliott c7db7fc2a7
Tidy tabs SCSS 2018-02-17 00:56:03 +00:00
Alexei Stukov d1d2610416
Merge pull request #139 from samuelthomas2774/add-object-logging
Add object logging handler
2018-02-15 23:02:02 +02:00
Samuel Elliott fadd0574ac
Fixed clearing compiler error when empty 2018-02-15 19:27:44 +00:00
Samuel Elliott c9a20b7fcf
Fix CSS editor not updating when empty 2018-02-15 19:14:08 +00:00
Samuel Elliott 48ee29b621
Indent with spaces 2018-02-15 17:09:06 +00:00
Samuel Elliott 78a61dc60f
Add object logging 2018-02-15 17:00:21 +00:00
Jiiks 3a09dfb066 Store interval 2018-02-15 01:05:12 +02:00
Jiiks 877b59d0d3 k 2018-02-15 01:04:25 +02:00
Jiiks 5df556f96e add updater events 2018-02-15 01:01:52 +02:00
Jiiks 7ba43f8763 Emit update check end event 2018-02-14 22:28:55 +02:00
Jiiks 666960a9bd use rawgit foir now 2018-02-14 22:26:26 +02:00
Jiiks eb9e3dd4c6 Updater runs every 30 minutes 2018-02-14 22:15:27 +02:00
Jiiks 2962d1fc9f Styles for update check 2018-02-14 22:02:12 +02:00
Samuel Elliott 0373d81199
Fixed showing content manager error modal with no errors 2018-02-14 18:51:51 +00:00
Samuel Elliott a9d488b748
Throw an error instead 2018-02-14 18:19:20 +00:00
Samuel Elliott c9d9feb63f
Prevent modal close when settings have changed 2018-02-14 18:14:46 +00:00
Samuel Elliott bea87f5be8
Add scheme hints 2018-02-14 18:03:10 +00:00
Samuel Elliott 9fb914fb70
Add settings schemes 2018-02-14 17:55:10 +00:00
Samuel Elliott 0cfb6d36ca
Rename new Settings.saveSettings to Settings.mergeSettings 2018-02-14 16:32:12 +00:00
Samuel Elliott dcb2704a28
Merge Modals.pluginSettings and Modals.themeSettings to a single function for both 2018-02-14 16:22:48 +00:00
Samuel Elliott 8c5796e4f6
Remove old code 2018-02-14 16:14:59 +00:00
Samuel Elliott 41b7906612
Use Utils.compare for internal settings 2018-02-14 16:11:26 +00:00
Samuel Elliott 1dd01e186b
Use Plugin/Theme.config 2018-02-14 15:45:10 +00:00
Samuel Elliott 0af22b21d4
Merge remote-tracking branch 'upstream/master' into add-generic-settings-modal
# Conflicts:
#	client/src/modules/plugin.js
#	tests/plugins/Example/config.json
2018-02-14 15:40:22 +00:00
Jiiks 16763c4a3e Some apis 2018-02-14 17:26:48 +02:00
Jiiks 57e73050cd User const 2018-02-14 15:36:18 +02:00
Jiiks df7d9fa0da User ContentConfig and bug fix 2018-02-14 15:35:35 +02:00
Jiiks b1f4fb637e add a base for content config object 2018-02-14 15:32:19 +02:00
Jiiks a37bccfbb2 Some commenting 2018-02-14 15:00:15 +02:00
Jiiks 287e2c9cd2 Some commenting 2018-02-14 14:55:06 +02:00
Jiiks b23a5ba7ac Pass deps to plugins directly. Should be used when a plugin must have a module to function. 2018-02-14 10:05:34 +02:00
Jiiks 4fba4049e1 Check that plugin dependencies exist 2018-02-14 09:56:55 +02:00
Samuel Elliott cebaba2de3
Fix file setting 2018-02-14 01:52:45 +00:00
Samuel Elliott 8e71ee5a5c
Undo stuff from samuelthomas2774/add-setting-events 2018-02-14 01:49:23 +00:00
Samuel Elliott 145df5e7cc
Add Plugin.config 2018-02-14 01:45:41 +00:00
Samuel Elliott f13726d8e2
Remove old settings modals 2018-02-14 01:42:10 +00:00
Samuel Elliott 4b9084bee4
Add generic settings modal and recursive compare 2018-02-14 01:40:47 +00:00
Samuel Elliott 6b96bdbc3b
Add category names 2018-02-14 01:37:47 +00:00
Samuel Elliott 227b2cc0d8
Fix events for themes and extmodules 2018-02-13 23:36:40 +00:00
Samuel Elliott 08271deea1
Add plugin settings events
- Moved the Theme class to it’s own file
2018-02-13 23:26:39 +00:00
Samuel Elliott d3c3de5a79
Merge remote-tracking branch 'upstream/master' into add-setting-events
# Conflicts:
#	client/src/modules/pluginapi.js
2018-02-13 23:07:46 +00:00
Samuel Elliott 9b9162346b
Add internal settings access to the plugin API 2018-02-13 22:37:24 +00:00
Samuel Elliott 210d085caf
Fix “cannot read property ‘width’ of undefined” 2018-02-13 22:33:17 +00:00
Samuel Elliott 8b85c829d6
Add setting updated event 2018-02-13 22:30:58 +00:00
Samuel Elliott 79af725f7f
Move error event struct 2018-02-13 22:28:58 +00:00
Jiiks 728aab8e95 Import modulemanager, add modules path to config, requires core rebuild 2018-02-14 00:24:04 +02:00
Samuel Elliott 1bded3121e Add event structs 2018-02-13 22:23:40 +00:00
Jiiks 01b54a37bc load modules 2018-02-14 00:17:02 +02:00
Jiiks 44832fb11a Exports 2018-02-14 00:15:46 +02:00
Jiiks fca1d49506 add class name to Plugin 2018-02-14 00:14:50 +02:00
Jiiks 842f0d6229 Move module stuff to it's own module 2018-02-14 00:14:26 +02:00
Jiiks 0ac1cf240d Ext module base and ext module manager base 2018-02-14 00:10:22 +02:00
Alexei Stukov 13e9c53520
Merge pull request #128 from samuelthomas2774/css-editor
Add SCSS and saving support to the CSS editor
2018-02-14 00:06:00 +02:00
Samuel Elliott c581ba1b75
Add save/restore of CSS editor window bounds 2018-02-13 21:03:48 +00:00
Samuel Elliott 729657f345
Add saving to the CSS editor 2018-02-13 20:06:04 +00:00
Samuel Elliott 5ca04f0652
Add SCSS support to the CSS editor 2018-02-13 19:56:01 +00:00
Samuel Elliott a965dc9515
Tidy modal SCSS files 2018-02-13 17:50:01 +00:00
Samuel Elliott 98261a864d Hide lower modals 2018-02-13 17:39:32 +00:00
Samuel Elliott 2ec2df6efd Tidy and tweak modal SCSS files 2018-02-13 17:39:32 +00:00
Samuel Elliott 21c70124e5 Bring back the logo animation on menu open/close 2018-02-13 17:39:31 +00:00
Samuel Elliott 10abf0353f Rename the tooltips container to bd-tooltips and move it above the settings and modals elements 2018-02-13 17:39:31 +00:00
Samuel Elliott 1f85d4d2f4 Added Plugin/Theme.showSettingsModal 2018-02-13 17:39:31 +00:00
Samuel Elliott 3b66d320e8 Move plugin/theme settings modals to the modal manager 2018-02-13 17:39:31 +00:00
Samuel Elliott 21a8554d6f Change lower modals’ opacity 2018-02-13 17:39:31 +00:00
Samuel Elliott 8706e9ef0f Merge plugin/theme manager errors 2018-02-13 17:39:31 +00:00
Samuel Elliott 64ac3677b1 Add modal manager 2018-02-13 17:39:31 +00:00
Jiiks 66721d80b5 Rename require to bridge 2018-02-13 18:43:44 +02:00
Jiiks ebeae46991 Wait for all plugins to load before starting them 2018-02-13 18:22:48 +02:00
Jiiks 9a652e3748 add import to api 2018-02-13 18:18:01 +02:00
Jiiks 1f1d748687 Module loading 2018-02-13 18:06:36 +02:00
Samuel Elliott 7664266dfe
Add plugin exports 2018-02-12 22:51:22 +00:00
Alexei Stukov 663af3ca83
Merge pull request #123 from samuelthomas2774/add-core-settings-storage
Fixed setting loading
2018-02-12 22:12:06 +02:00
Samuel Elliott e793a8d380
Change Settings.get to return undefined when a setting isn’t found 2018-02-12 19:48:36 +00:00
Samuel Elliott 61c913b55b
Renamed Settings.getSetting to Settings.get 2018-02-12 19:31:50 +00:00
Samuel Elliott cc1aee6842
Fixed setting loading 2018-02-12 19:23:35 +00:00
Alexei Stukov 80ce233e6d
Merge pull request #122 from samuelthomas2774/add-core-settings-storage
Add core settings storage
2018-02-12 21:22:10 +02:00
Samuel Elliott f085364760
Fix drawer header size 2018-02-12 19:05:28 +00:00
Samuel Elliott 1f4c2df3ae
Add functions to get a set, category and setting value 2018-02-12 19:01:07 +00:00
Samuel Elliott 32326471b1
Tidy switches Vue files 2018-02-12 19:00:42 +00:00
Samuel Elliott 8d7261a24a
Remove old components 2018-02-12 17:56:22 +00:00
Samuel Elliott 7e2fca9059
Add update hook 2018-02-12 17:54:40 +00:00
Samuel Elliott 26fbac6bbc
Add support for disabled settings 2018-02-12 17:54:16 +00:00
Samuel Elliott eaa8d3a03a
Fix CSS editor panel 2018-02-12 17:46:29 +00:00
Samuel Elliott 4fa91563a5
Tidy switches SCSS files 2018-02-12 17:46:02 +00:00
Samuel Elliott 09cff282cb
Update internal settings format and use a generic settings panel 2018-02-12 17:33:32 +00:00
Samuel Elliott 52f8c1cf31
Rename PluginSetting to Setting 2018-02-12 16:52:09 +00:00
Samuel Elliott 15f683d4c9
Fix Plugin.getSetting 2018-02-12 15:20:27 +00:00
Samuel Elliott 4dfe349802
Add core settings storage 2018-02-12 15:19:11 +00:00
Jiiks 194c1c1ff8 Change dropdown/radio structure 2018-02-12 04:54:15 +02:00
Jiiks f37058779a Radio functional 2018-02-12 02:48:44 +02:00
Jiiks 44b9450efa Dropdown functional 2018-02-12 02:44:12 +02:00
Jiiks 4e46675f94 add events for plugins 2018-02-12 01:04:07 +02:00
Jiiks 4a7a9ae1db add base plugin api and pass vendor to plugins 2018-02-12 00:07:23 +02:00
Samuel Elliott 14822ab51a Don't save unnecessary information with plugin/theme configuration 2018-02-11 21:30:35 +00:00
Jiiks 2453797400 add slider theme setting 2018-02-11 22:35:29 +02:00
Jiiks da702bd40a Ensure forward slashes 2018-02-11 22:25:15 +02:00
Samuel Elliott 8d70e9cd54 Add theme reloading 2018-02-11 20:12:15 +00:00
Samuel Elliott 9301ad627c Add SCSS theme configuration and compile caching 2018-02-11 19:31:24 +00:00
Jiiks fa9c0d2f94 Compile theme scss 2018-02-11 17:42:24 +02:00
Jiiks 31655e558c add sass compiler and reject to ipc 2018-02-11 16:59:55 +02:00
Samuel Elliott 01655f0c04 Fix position of the settings menu button on Linux 2018-02-09 15:48:58 +00:00
Alexei Stukov aa7e6ab160
Merge pull request #106 from samuelthomas2774/macos-linux-fixes
macOS and Linux fixes
2018-02-09 17:16:29 +02:00
Samuel Elliott d4c71452bc
Enable theme on start if enabled 2018-02-08 23:53:39 +00:00
Samuel Elliott 08b791e547
Add theme configuration and saving 2018-02-08 20:19:26 +00:00
Samuel Elliott f3aef1d61d
macOS and Linux fixes 2018-02-08 20:15:18 +00:00
Jiiks 0ec190612b add socket event structs 2018-02-08 00:03:39 +02:00
Jiiks 39c83b7fa6 Select all for stacktrace 2018-02-07 18:07:17 +02:00
Jiiks 67f7111f66 Content manager error modal 2018-02-07 18:02:27 +02:00
Jiiks bf0c74b516 add error struct 2018-02-07 16:41:10 +02:00
Jiiks 208ca763ab add header 2018-02-07 14:21:51 +02:00
Jiiks 51f5a93da2 add modal footer, styling and error modal on plugin load fail 2018-02-07 14:15:46 +02:00
Jiiks f69ea55967 Make additional modal backdrops transparent 2018-02-07 13:56:10 +02:00
Jiiks b395ed767d add error mi, event based modals 2018-02-07 13:52:59 +02:00
Alexei Stukov 18c71fe7da
Merge pull request #100 from JsSucks/theme-manager
Theme manager
2018-02-05 19:02:31 +02:00
Jiiks 72b024c4f3 User a card base for both plugin and theme cards 2018-02-05 18:58:35 +02:00
Jiiks e7b488316b Initial themes view with enable/disable functional 2018-02-05 18:48:03 +02:00
Samuel Elliott 6e4d6307e8
Save plugin config when enabled/disabled 2018-02-05 14:33:30 +00:00
Jiiks 2472743660 Theme manager base 2018-02-05 16:19:24 +02:00
Jiiks ca3ce86dc5 Correctly toggle changed state 2018-02-05 15:58:30 +02:00
Jiiks c5a011012f Functional bool setting 2018-02-05 15:57:41 +02:00
Samuel Elliott 5b87a928ba
Add preset points along a slider 2018-02-05 13:36:43 +00:00
Jiiks 45448e23d3 add value tooltip to slider 2018-02-05 12:45:59 +02:00
Alexei Stukov 93607fde0c
Merge branch 'master' into add-multiline-text 2018-02-05 10:54:29 +02:00
Samuel Elliott 30121ecc9c
Add multiline text 2018-02-05 01:14:19 +00:00
Samuel Elliott 64dd9cd6fb
Moved scrollbar styles to a mixin 2018-02-05 01:13:11 +00:00
Samuel Elliott 4c414e80d4
Removed 2s timeout before saving plugin config 2018-02-05 01:12:16 +00:00
Samuel Elliott 7250ab6cf9
Add sliders 2018-02-05 00:34:22 +00:00
Jiiks 5165094a1b Set the divider colour for changed settings to green 2018-02-05 01:14:28 +02:00
Samuel Elliott 9245e921ce
Add drawer open/close animation 2018-02-04 22:47:27 +00:00
Jiiks 4ba99b654e Wheel to increment number 2018-02-05 00:40:01 +02:00
Jiiks a783072cca Full width radio 2018-02-05 00:30:24 +02:00
Samuel Elliott 4ef24b8b85
Organised form SCSS files and updated styles for dropdowns and radios 2018-02-04 22:09:24 +00:00
Samuel Elliott ba4a02b501
Fix file setting open button 2018-02-04 22:07:03 +00:00
Jiiks c73346292e Give plugins an option to set an icon 2018-02-04 23:19:05 +02:00
Samuel Elliott 1a95a7db4b
Fixed merging user config into default config 2018-02-04 20:17:22 +00:00
Jiiks a706e6f2fc Plugin setting saving 2018-02-04 21:06:08 +02:00
samfun123 7cfd141260 Make the cursor be a pointer 2018-02-04 11:44:13 -05:00
samfun123 5bcd43bb48 Fixed two bugs in the Number type 2018-02-04 11:32:03 -05:00
samfun123 75410b4ce9 Add Number, Radio and Dropdown setting types 2018-02-04 11:12:38 -05:00
Alexei Stukov 4480458bd6
Merge pull request #84 from JsSucks/ui
Merge
2018-02-04 16:23:17 +02:00
Jiiks 932d91876b Drawer button animation 2018-02-04 16:20:57 +02:00
Samuel Elliott ace7bab65e
Fix modal backdrop animation 2018-02-04 14:04:17 +00:00
Jiiks 3034ea4934 User chevron and make entire header clickable 2018-02-04 15:51:11 +02:00
Jiiks fc6bb75229 Add chevron-down material icon 2018-02-04 15:44:55 +02:00