system_settings 0.7.0 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -12
  3. data/app/assets/config/manifest.js +1 -0
  4. data/app/assets/stylesheets/system_settings/application.css +227 -0
  5. data/app/controllers/system_settings/application_controller.rb +3 -9
  6. data/app/controllers/system_settings/settings_controller.rb +25 -21
  7. data/app/helpers/system_settings/application_helper.rb +36 -0
  8. data/app/models/system_settings/application_record.rb +2 -4
  9. data/app/models/system_settings/boolean_setting.rb +3 -5
  10. data/app/models/system_settings/configurator.rb +100 -94
  11. data/app/models/system_settings/decimal_list_setting.rb +6 -0
  12. data/app/models/system_settings/decimal_setting.rb +6 -0
  13. data/app/models/system_settings/errors/error.rb +2 -4
  14. data/app/models/system_settings/errors/not_found_error.rb +8 -3
  15. data/app/models/system_settings/errors/not_loaded_error.rb +2 -4
  16. data/app/models/system_settings/errors/settings_read_error.rb +2 -4
  17. data/app/models/system_settings/integer_list_setting.rb +3 -5
  18. data/app/models/system_settings/integer_setting.rb +3 -5
  19. data/app/models/system_settings/list_of_decimals_validator.rb +35 -0
  20. data/app/models/system_settings/list_of_integers_validator.rb +23 -25
  21. data/app/models/system_settings/list_of_strings_validator.rb +23 -25
  22. data/app/models/system_settings/setting.rb +3 -5
  23. data/app/models/system_settings/string_list_setting.rb +3 -5
  24. data/app/models/system_settings/string_setting.rb +7 -4
  25. data/app/models/system_settings/type/decimal_list.rb +40 -0
  26. data/app/models/system_settings/type/integer_list.rb +24 -33
  27. data/app/models/system_settings/type/string_list.rb +19 -21
  28. data/app/views/layouts/system_settings/application.html.erb +21 -0
  29. data/app/views/system_settings/settings/_common_attributes.html.erb +14 -0
  30. data/app/views/system_settings/settings/_form.html.erb +18 -0
  31. data/app/views/system_settings/settings/edit.html.erb +2 -0
  32. data/app/views/system_settings/settings/index.html.erb +29 -0
  33. data/app/views/system_settings/settings/show.html.erb +9 -0
  34. data/config/locales/system_settings.en.yml +27 -1
  35. data/config/locales/system_settings.lv.yml +65 -0
  36. data/config/routes.rb +5 -4
  37. data/lib/system_settings/engine.rb +3 -12
  38. data/lib/system_settings/version.rb +1 -1
  39. data/lib/system_settings.rb +1 -0
  40. metadata +18 -19
  41. data/app/controllers/system_settings/root_controller.rb +0 -13
  42. data/app/models/system_settings/pagination.rb +0 -20
  43. data/frontend/build/asset-manifest.json +0 -15
  44. data/frontend/build/favicon.ico +0 -0
  45. data/frontend/build/index.html +0 -1
  46. data/frontend/build/precache-manifest.3d1bd8b01752fe34cb52390bc898ad26.js +0 -22
  47. data/frontend/build/service-worker.js +0 -39
  48. data/frontend/build/static/css/main.04fc5f62.chunk.css +0 -2
  49. data/frontend/build/static/css/main.04fc5f62.chunk.css.map +0 -1
  50. data/frontend/build/static/js/2.8729aa12.chunk.js +0 -2
  51. data/frontend/build/static/js/2.8729aa12.chunk.js.map +0 -1
  52. data/frontend/build/static/js/main.8f1e7b9c.chunk.js +0 -2
  53. data/frontend/build/static/js/main.8f1e7b9c.chunk.js.map +0 -1
  54. data/frontend/build/static/js/runtime~main.ea5ad98e.js +0 -2
  55. data/frontend/build/static/js/runtime~main.ea5ad98e.js.map +0 -1
data/config/routes.rb CHANGED
@@ -1,9 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  SystemSettings::Engine.routes.draw do
4
- scope "api" do
5
- resources "settings"
4
+ resources :settings, only: [:show, :edit] do
5
+ member do
6
+ post "/", to: "settings#update"
7
+ end
6
8
  end
7
- root to: "root#index"
8
- get "*rest", to: "root#index", as: :catch_all
9
+ root to: "settings#index"
9
10
  end
@@ -2,19 +2,10 @@
2
2
 
3
3
  module SystemSettings
4
4
  class Engine < ::Rails::Engine
5
- class << self
6
- def frontend_build_path
7
- File.join(root, "frontend", "build")
8
- end
9
-
10
- def frontend_build_index_html_path
11
- File.join(frontend_build_path, "index.html")
12
- end
13
- end
14
-
15
5
  isolate_namespace SystemSettings
16
- config.generators.api_only = true
17
- config.middleware.use ActionDispatch::Static, frontend_build_path
6
+ initializer "system_settings.assets.precompile" do |app|
7
+ app.config.assets.precompile += %w[system_settings/application.css] if app.config.respond_to?(:assets)
8
+ end
18
9
  config.after_initialize do
19
10
  SystemSettings.instrumenter = ActiveSupport::Notifications
20
11
  SystemSettings.settings_file_path = ENV.fetch("SYSTEM_SETTINGS_PATH") do
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SystemSettings
4
- VERSION = "0.7.0"
4
+ VERSION = "0.9.2"
5
5
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "system_settings/version"
3
4
  require "system_settings/engine"
4
5
 
5
6
  module SystemSettings
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: system_settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Krists Ozols
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-27 00:00:00.000000000 Z
11
+ date: 2021-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -35,42 +35,41 @@ extra_rdoc_files: []
35
35
  files:
36
36
  - MIT-LICENSE
37
37
  - README.md
38
+ - app/assets/config/manifest.js
39
+ - app/assets/stylesheets/system_settings/application.css
38
40
  - app/controllers/system_settings/application_controller.rb
39
- - app/controllers/system_settings/root_controller.rb
40
41
  - app/controllers/system_settings/settings_controller.rb
42
+ - app/helpers/system_settings/application_helper.rb
41
43
  - app/models/system_settings/application_record.rb
42
44
  - app/models/system_settings/boolean_setting.rb
43
45
  - app/models/system_settings/configurator.rb
46
+ - app/models/system_settings/decimal_list_setting.rb
47
+ - app/models/system_settings/decimal_setting.rb
44
48
  - app/models/system_settings/errors/error.rb
45
49
  - app/models/system_settings/errors/not_found_error.rb
46
50
  - app/models/system_settings/errors/not_loaded_error.rb
47
51
  - app/models/system_settings/errors/settings_read_error.rb
48
52
  - app/models/system_settings/integer_list_setting.rb
49
53
  - app/models/system_settings/integer_setting.rb
54
+ - app/models/system_settings/list_of_decimals_validator.rb
50
55
  - app/models/system_settings/list_of_integers_validator.rb
51
56
  - app/models/system_settings/list_of_strings_validator.rb
52
- - app/models/system_settings/pagination.rb
53
57
  - app/models/system_settings/setting.rb
54
58
  - app/models/system_settings/string_list_setting.rb
55
59
  - app/models/system_settings/string_setting.rb
60
+ - app/models/system_settings/type/decimal_list.rb
56
61
  - app/models/system_settings/type/integer_list.rb
57
62
  - app/models/system_settings/type/string_list.rb
63
+ - app/views/layouts/system_settings/application.html.erb
64
+ - app/views/system_settings/settings/_common_attributes.html.erb
65
+ - app/views/system_settings/settings/_form.html.erb
66
+ - app/views/system_settings/settings/edit.html.erb
67
+ - app/views/system_settings/settings/index.html.erb
68
+ - app/views/system_settings/settings/show.html.erb
58
69
  - config/locales/system_settings.en.yml
70
+ - config/locales/system_settings.lv.yml
59
71
  - config/routes.rb
60
72
  - db/migrate/20181007125347_create_system_settings_settings.rb
61
- - frontend/build/asset-manifest.json
62
- - frontend/build/favicon.ico
63
- - frontend/build/index.html
64
- - frontend/build/precache-manifest.3d1bd8b01752fe34cb52390bc898ad26.js
65
- - frontend/build/service-worker.js
66
- - frontend/build/static/css/main.04fc5f62.chunk.css
67
- - frontend/build/static/css/main.04fc5f62.chunk.css.map
68
- - frontend/build/static/js/2.8729aa12.chunk.js
69
- - frontend/build/static/js/2.8729aa12.chunk.js.map
70
- - frontend/build/static/js/main.8f1e7b9c.chunk.js
71
- - frontend/build/static/js/main.8f1e7b9c.chunk.js.map
72
- - frontend/build/static/js/runtime~main.ea5ad98e.js
73
- - frontend/build/static/js/runtime~main.ea5ad98e.js.map
74
73
  - lib/system_settings.rb
75
74
  - lib/system_settings/engine.rb
76
75
  - lib/system_settings/version.rb
@@ -87,14 +86,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
87
86
  requirements:
88
87
  - - ">="
89
88
  - !ruby/object:Gem::Version
90
- version: 2.4.0
89
+ version: 2.6.0
91
90
  required_rubygems_version: !ruby/object:Gem::Requirement
92
91
  requirements:
93
92
  - - ">="
94
93
  - !ruby/object:Gem::Version
95
94
  version: '0'
96
95
  requirements: []
97
- rubygems_version: 3.0.3
96
+ rubygems_version: 3.2.32
98
97
  signing_key:
99
98
  specification_version: 4
100
99
  summary: Settings for your Rails application
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module SystemSettings
4
- class RootController < SystemSettings::ApplicationController
5
- def index
6
- if File.exist?(SystemSettings::Engine.frontend_build_index_html_path)
7
- render file: SystemSettings::Engine.frontend_build_index_html_path
8
- else
9
- render plain: "Frontend application has not been compiled", status: :not_implemented
10
- end
11
- end
12
- end
13
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module SystemSettings
4
- module Pagination
5
- def max_per_page
6
- 100
7
- end
8
-
9
- def default_per_page
10
- 25
11
- end
12
-
13
- def page(number = nil, per_page: nil)
14
- sanitized_per_page = per_page.presence.to_i || default_per_page
15
- sanitized_per_page = max_per_page if sanitized_per_page > max_per_page
16
- sanitized_per_page = default_per_page unless sanitized_per_page.positive?
17
- limit(sanitized_per_page).offset(sanitized_per_page * ((number = number.to_i - 1).negative? ? 0 : number))
18
- end
19
- end
20
- end
@@ -1,15 +0,0 @@
1
- {
2
- "files": {
3
- "main.css": "/system_settings/static/css/main.04fc5f62.chunk.css",
4
- "main.js": "/system_settings/static/js/main.8f1e7b9c.chunk.js",
5
- "main.js.map": "/system_settings/static/js/main.8f1e7b9c.chunk.js.map",
6
- "runtime~main.js": "/system_settings/static/js/runtime~main.ea5ad98e.js",
7
- "runtime~main.js.map": "/system_settings/static/js/runtime~main.ea5ad98e.js.map",
8
- "static/js/2.8729aa12.chunk.js": "/system_settings/static/js/2.8729aa12.chunk.js",
9
- "static/js/2.8729aa12.chunk.js.map": "/system_settings/static/js/2.8729aa12.chunk.js.map",
10
- "index.html": "/system_settings/index.html",
11
- "precache-manifest.3d1bd8b01752fe34cb52390bc898ad26.js": "/system_settings/precache-manifest.3d1bd8b01752fe34cb52390bc898ad26.js",
12
- "service-worker.js": "/system_settings/service-worker.js",
13
- "static/css/main.04fc5f62.chunk.css.map": "/system_settings/static/css/main.04fc5f62.chunk.css.map"
14
- }
15
- }
Binary file
@@ -1 +0,0 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"><link rel="shortcut icon" href="/system_settings/favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><title>System Settings</title><link href="/system_settings/static/css/main.04fc5f62.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="/system_settings/static/js/runtime~main.ea5ad98e.js"></script><script src="/system_settings/static/js/2.8729aa12.chunk.js"></script><script src="/system_settings/static/js/main.8f1e7b9c.chunk.js"></script></body></html>
@@ -1,22 +0,0 @@
1
- self.__precacheManifest = (self.__precacheManifest || []).concat([
2
- {
3
- "revision": "4245bff481d4900e9702aee5836f8120",
4
- "url": "/system_settings/index.html"
5
- },
6
- {
7
- "revision": "af952f6ceca25acc39ff",
8
- "url": "/system_settings/static/css/main.04fc5f62.chunk.css"
9
- },
10
- {
11
- "revision": "737e8eb5afc822b45d3e",
12
- "url": "/system_settings/static/js/2.8729aa12.chunk.js"
13
- },
14
- {
15
- "revision": "af952f6ceca25acc39ff",
16
- "url": "/system_settings/static/js/main.8f1e7b9c.chunk.js"
17
- },
18
- {
19
- "revision": "ff31b10dd32aeac88659",
20
- "url": "/system_settings/static/js/runtime~main.ea5ad98e.js"
21
- }
22
- ]);
@@ -1,39 +0,0 @@
1
- /**
2
- * Welcome to your Workbox-powered service worker!
3
- *
4
- * You'll need to register this file in your web app and you should
5
- * disable HTTP caching for this file too.
6
- * See https://goo.gl/nhQhGp
7
- *
8
- * The rest of the code is auto-generated. Please don't update this file
9
- * directly; instead, make changes to your Workbox build configuration
10
- * and re-run your build process.
11
- * See https://goo.gl/2aRDsh
12
- */
13
-
14
- importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
15
-
16
- importScripts(
17
- "/system_settings/precache-manifest.3d1bd8b01752fe34cb52390bc898ad26.js"
18
- );
19
-
20
- self.addEventListener('message', (event) => {
21
- if (event.data && event.data.type === 'SKIP_WAITING') {
22
- self.skipWaiting();
23
- }
24
- });
25
-
26
- workbox.core.clientsClaim();
27
-
28
- /**
29
- * The workboxSW.precacheAndRoute() method efficiently caches and responds to
30
- * requests for URLs in the manifest.
31
- * See https://goo.gl/S9QRab
32
- */
33
- self.__precacheManifest = [].concat(self.__precacheManifest || []);
34
- workbox.precaching.precacheAndRoute(self.__precacheManifest, {});
35
-
36
- workbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL("/system_settings/index.html"), {
37
-
38
- blacklist: [/^\/_/,/\/[^/?]+\.[^/]+$/],
39
- });
@@ -1,2 +0,0 @@
1
- .App_container__6j1zw{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:auto}.App_header-wrap__3CTKH{position:fixed;width:100%;background:#fff;border-bottom:1px solid #e1e1e1;z-index:1}.App_header__14Wxn{max-width:1020px;margin:0 auto;display:flex}.App_header-name__XmVJQ{font-size:1.5rem;line-height:2rem;font-weight:700;padding:.5rem 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none}.App_header-name__XmVJQ:active,.App_header-name__XmVJQ:focus,.App_header-name__XmVJQ:hover{text-decoration:none}.App_header-spacer__2nhtg{margin-top:calc(3rem + 1px);height:3rem}.App_content-wrap__V8jPR{flex-grow:5;box-sizing:border-box;display:flex}.App_content__1dlDM{max-width:1020px;min-width:0;margin:0 auto;display:flex;flex-grow:1;flex-direction:column}.NotFoundPage_container__2g6QR{flex-grow:1;align-items:center;justify-content:center;display:flex}.ListPage_table__3BJUy{table-layout:fixed;white-space:nowrap;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ListPage_table__3BJUy td:empty:after{content:"-"}.ListPage_empty-tr__Z37SG{color:#a6a6a6}.ListPage_empty-tr__Z37SG td{text-align:center}.ListPage_name__3WwZr{width:20%;overflow:hidden;text-overflow:ellipsis}.ListPage_table__3BJUy tbody .ListPage_description__31PRS,.ListPage_table__3BJUy tbody .ListPage_name__3WwZr,.ListPage_table__3BJUy tbody .ListPage_value__1VJLD{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ListPage_description__31PRS{width:50%}.ListPage_description__31PRS,.ListPage_value__1VJLD{overflow:hidden;text-overflow:ellipsis}.ListPage_actions__1GibV{width:50px;text-align:right}.Pagination_pagination__NJj9X{align-self:center;display:flex;list-style:none;font-size:.75em;line-height:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:0;margin:4rem 0 0}.Pagination_item__2fgd5{background:#f2f2f2;margin:3px;border-radius:3px}.Pagination_item--disabled__27--j a{color:#999;text-decoration:none!important}.Pagination_item--active__1nTy1{background:#d9d9d9}.Pagination_link__3Iz6l{position:relative;display:block;padding:.5rem .75rem}.PageLoadError_wrap__2WGP9{display:flex;align-items:flex-start;justify-content:center}.PageLoadError_container__1vEsn{display:flex;flex-direction:column;background:#ffe5e5;padding:.25rem .5rem;border-radius:4px;color:#b94343;text-align:center}.PageLoadError_error-small__243N5{font-size:.85em}#nprogress{pointer-events:none}#nprogress .bar{background:#ffc25b;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #ffc25b,0 0 5px #ffc25b;opacity:1;-webkit-transform:rotate(3deg) translateY(-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:.9rem;right:.9rem}#nprogress .spinner-icon{width:1.2rem;height:1.2rem;box-sizing:border-box;border-color:#ffc25b transparent transparent #ffc25b;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.Value_wrap__uZ29f{white-space:nowrap}.Value_wrap__uZ29f:empty:after{content:"-"}.Value_section__36uaM{max-width:100%;margin-right:.25em}.Value_section__36uaM:last-child{margin-right:0}.Attribute_wrap__3nYMg{display:flex;flex-direction:column;margin-bottom:1rem}.Attribute_name__2w8Tg{font-size:.8em;color:#737373;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.Attribute_value__3P12Z:empty:after{content:"-"}.ButtonBar_container__phfXp{border-top:1px dotted #f2f2f2;padding-top:1rem;margin-bottom:1rem}.ButtonBar_container__phfXp>*{margin-right:.5rem}.LabeledInput_wrap__29803{position:relative;margin-bottom:1em}.LabeledInput_label__3s0me{font-size:.8em;color:#737373;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block}.LabeledInput_input-and-error-wrap__1WE7-{display:flex;align-items:baseline}.LabeledInput_error__3HfEM{flex-grow:0;display:block;color:#ff3656;margin-left:1rem;white-space:nowrap}.LabeledInput_hint__1uKYN{font-size:.8em;display:block}.SettingForm_error-wrap__2mrUQ{display:flex;padding:.5rem 0}.SettingForm_error-message__2SoFD{background:#ffe5e5;padding:.25rem .5rem;border-radius:4px;color:#b94343}.SettingForm_error-small__2DqG8{font-size:.85em}.ClassicSpinner_wrap__3gt1R{display:block}html{box-sizing:border-box;overflow-y:scroll;font-size:14px}*,:after,:before{box-sizing:inherit}:root,body{background:#fff}body{color:#233656;font-family:Arial,Helvetica,sans-serif;font-weight:400;font-size:1rem;line-height:1.5rem;margin:0;padding:0;min-height:100vh;position:relative;display:flex;flex-direction:column}table{border-collapse:collapse;border-spacing:0}table td,table th{text-align:left}a{color:#233656;text-decoration:none}a:hover{text-decoration:underline}a.button,button,input[type=button],input[type=submit]{display:inline-block;cursor:pointer;border:none;border-radius:3px;padding:.375rem .75rem;font-size:1rem;line-height:1.5;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}button,input[type=button],input[type=submit]{color:#4d4d4d;background-color:#d9d9d9;-webkit-transition:background-color .1s ease-in-out;transition:background-color .1s ease-in-out;outline:none}button:focus,button:hover,input[type=button]:focus,input[type=button]:hover,input[type=submit]:focus,input[type=submit]:hover{background-color:#b8b8b8}button:active,input[type=button]:active,input[type=submit]:active{background-color:#828282}a.button,button.link{color:#4d4d4d;background-color:initial;-webkit-transition:background-color .1s ease-in-out;transition:background-color .1s ease-in-out;outline:none;text-decoration:none}a.button:focus,a.button:hover,button.link:focus,button.link:hover{background-color:rgba(0,0,0,.15)}a.button:active,button.link:active{background-color:rgba(0,0,0,.4)}a.button.primary,button.primary,input[type=button].primary,input[type=submit].primary{color:#4d4d4d;background-color:#a6a6a6;-webkit-transition:background-color .1s ease-in-out;transition:background-color .1s ease-in-out;outline:none}a.button.primary:focus,a.button.primary:hover,button.primary:focus,button.primary:hover,input[type=button].primary:focus,input[type=button].primary:hover,input[type=submit].primary:focus,input[type=submit].primary:hover{background-color:#8d8d8d}a.button.primary:active,button.primary:active,input[type=button].primary:active,input[type=submit].primary:active{background-color:#646464}input[type=text]{border:none;border-radius:3px;padding:.5em;font-size:1rem;line-height:normal;color:#4d4d4d;background-color:#e6e6e6;-webkit-transition:background-color .1s ease-in-out;transition:background-color .1s ease-in-out;outline:none;box-sizing:initial;width:auto;min-width:12ch;max-width:calc(100% - 2em);will-change:width}input[type=text]:focus{background-color:#c4c4c4}input[type=text]:active{background-color:#bfbfbf}.button-wrap{display:flex;align-items:center}.svg-wrap{display:block}code{border-radius:2px;padding:0 .2rem}.sysname,code{background:#f2f2f2}.sysname{display:inline-block;border-radius:3px;padding:0 .5em;font-family:Courier New,Courier,monospace;font-size:.75em;max-width:100%}#root{z-index:1;position:relative}
2
- /*# sourceMappingURL=main.04fc5f62.chunk.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["App.module.css","NotFoundPage.module.css","ListPage.module.scss","../_colors.scss","Pagination.module.scss","PageLoadError.module.scss","progress_bar.scss","Value.module.scss","Attribute.module.scss","ButtonBar.module.scss","LabeledInput.module.scss","SettingForm.module.css","ClassicSpinner.module.scss","index.scss","_colors.scss","_fonts.scss"],"names":[],"mappings":"AAAA,sBACI,gBAAiB,CACjB,YAAa,CACb,qBAAsB,CACtB,iBAAkB,CAClB,YACJ,CAEA,wBACI,cAAe,CACf,UAAW,CACX,eAAgB,CAChB,+BAAgC,CAChC,SACJ,CAEA,mBACI,gBAAiB,CACjB,aAAc,CACd,YACJ,CAEA,wBACI,gBAAiB,CACjB,gBAAiB,CACjB,eAAiB,CACjB,eAAiB,CACjB,wBAAiB,CAAjB,qBAAiB,CAAjB,oBAAiB,CAAjB,gBAAiB,CACjB,oBACJ,CACA,2FACI,oBACJ,CAEA,0BACI,2BAA8C,CAC9C,WACJ,CAEA,yBACI,WAAY,CACZ,qBAAsB,CACtB,YACJ,CACA,oBACI,gBAAiB,CACjB,WAAY,CACZ,aAAc,CACd,YAAa,CACb,WAAY,CACZ,qBACJ,CCnDA,+BACI,WAAY,CACZ,kBAAmB,CACnB,sBAAuB,CACvB,YACJ,CCFA,uBACI,kBAAmB,CACnB,kBAAmB,CACnB,UAAW,CACX,wBAAiB,CAAjB,qBAAiB,CAAjB,oBAAiB,CAAjB,gBAAiB,CAGrB,sCAEQ,WAAY,CAIpB,0BACI,aCJuC,CDG3C,6BAGQ,iBAAkB,CAI1B,sBACI,SAAU,CACV,eAAgB,CAChB,sBAAuB,CAE3B,iKACI,wBAAiB,CAAjB,qBAAiB,CAAjB,oBAAiB,CAAjB,gBAAiB,CAGrB,6BAGI,SAAU,CAGd,oDALI,eAAgB,CAChB,sBAMuB,CAG3B,yBACI,UAAW,CACX,gBAAiB,CE3CrB,8BACE,iBAAkB,CAClB,YAAa,CACb,eAAgB,CAChB,eAAiB,CACjB,eAAgB,CAChB,wBAAiB,CAAjB,qBAAiB,CAAjB,oBAAiB,CAAjB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAGlB,wBACE,kBDPwC,CCQxC,UAAW,CACX,iBAAkB,CAClB,oCACE,UDJuC,CCKvC,8BAAgC,CAElC,gCACE,kBDbuC,CCiB3C,wBACE,iBAAkB,CAClB,aAAc,CACd,oBAAqB,CC7BvB,2BACE,YAAa,CACb,sBAAuB,CACvB,sBAAuB,CAEzB,gCACE,YAAa,CACb,qBAAsB,CACtB,kBAAmB,CACnB,oBAAuB,CACvB,iBAAkB,CAClB,aAAc,CACd,iBAAkB,CAIpB,kCACE,eAAiB,CCZnB,WACE,mBAAoB,CAGtB,gBACE,kBARa,CAUb,cAAe,CACf,YAAa,CACb,KAAM,CACN,MAAO,CAEP,UAAW,CACX,UAAW,CAIb,gBACE,aAAc,CACd,iBAAkB,CAClB,OAAU,CACV,WAAY,CACZ,WAAY,CACZ,2CA1Ba,CA2Bb,SAAY,CAEZ,+CAAoD,CAEpD,uCAA4C,CAI9C,oBACE,aAAc,CACd,cAAe,CACf,YAAa,CACb,SAAW,CACX,WAAa,CAGf,yBACE,YAAa,CACb,aAAc,CACd,qBAAsB,CAItB,oDAlDa,CAkDb,kBAlDa,CAkDb,gBAlDa,CAmDb,iBAAkB,CAElB,uDAA0D,CAC1D,+CAAkD,CAGpD,yBACE,eAAgB,CAChB,iBAAkB,CAGpB,sFAEE,iBAAkB,CAGpB,qCACE,GAAO,8BAA+B,CACtC,GAAO,+BAAiC,CAAA,CAE1C,6BACE,GAAO,8BAAuB,CAAvB,sBAAuB,CAC9B,GAAO,+BAAyB,CAAzB,uBAAyB,CAAA,CCzElC,mBACE,kBAAmB,CAErB,+BACE,WAAY,CAEd,sBACE,cAAe,CACf,kBAAoB,CAFtB,iCAII,cAAe,CCXnB,uBACE,YAAa,CACb,qBAAsB,CACtB,kBAAmB,CAGrB,uBACE,cAAgB,CAChB,aLQyC,CKPzC,wBAAiB,CAAjB,qBAAiB,CAAjB,oBAAiB,CAAjB,gBAAiB,CAMnB,oCACE,WAAY,CChBd,4BACE,6BNKwC,CMJxC,gBAAiB,CACjB,kBAAmB,CAErB,8BACE,kBAAoB,CCNtB,0BACI,iBAAkB,CAClB,iBAAkB,CAEtB,2BACI,cAAgB,CAChB,aPUuC,COTvC,wBAAiB,CAAjB,qBAAiB,CAAjB,oBAAiB,CAAjB,gBAAiB,CACjB,aAAc,CAElB,0CACI,YAAa,CACb,oBAAqB,CAEzB,2BACI,WAAY,CACZ,aAAc,CACd,aPd6B,COe7B,gBAAiB,CACjB,kBAAmB,CAEvB,0BACI,cAAgB,CAChB,aAAc,CCxBlB,+BACI,YAAa,CACb,eACJ,CACA,kCACI,kBAAmB,CACnB,oBAAuB,CACvB,iBAAkB,CAClB,aACJ,CACA,gCACI,eACJ,CCZA,4BACE,aAAc,CCEhB,KACE,qBAAsB,CACtB,iBAAkB,CAClB,cAAe,CAGjB,iBACE,kBAAmB,CAOrB,WAHE,eAiBsB,CAdxB,KAEE,aChBgC,CDkBhC,sCErB8C,CFsB9C,eAAmB,CACnB,cAAe,CACf,kBAAmB,CAEnB,QAAS,CACT,SAAU,CACV,gBAAiB,CACjB,iBAAkB,CAClB,YAAa,CACb,qBAAsB,CAGxB,MACE,wBAAyB,CACzB,gBAAiB,CAFnB,kBAKI,eAAgB,CAIpB,EACE,aCzCgC,CD0ChC,oBAAqB,CAFvB,QAII,yBAA0B,CAI9B,sDACE,oBAAqB,CACrB,cAAe,CACf,WAAY,CACZ,iBAAkB,CAClB,sBAAuB,CACvB,cAAe,CACf,eAAgB,CAChB,wBAAiB,CAAjB,qBAAiB,CAAjB,oBAAiB,CAAjB,gBAAiB,CACjB,kBAAmB,CAGrB,6CClCE,aATyC,CAUzC,wBArByC,CAsBzC,mDAA6C,CAA7C,2CAA6C,CAC7C,YAAa,CD+Bf,8HC5BI,wBAAyD,CD4B7D,kECxBI,wBAAyD,CD4B7D,qBCtCE,aATyC,CAUzC,wBDsC2C,CCrC3C,mDAA6C,CAA7C,2CAA6C,CAC7C,YAAa,CDqCb,oBAAqB,CAFvB,kEChCI,gCAAyD,CDgC7D,mCC5BI,+BAAyD,CDiC7D,sFC3CE,aATyC,CAUzC,wBAjByC,CAkBzC,mDAA6C,CAA7C,2CAA6C,CAC7C,YAAa,CDwCf,4NCrCI,wBAAyD,CDqC7D,kHCjCI,wBAAyD,CDqC7D,iBACE,WAAY,CACZ,iBAAkB,CAClB,YAAc,CACd,cAAe,CACf,kBAAmB,CCrCnB,aAxByC,CAyBzC,wBArCyC,CAsCzC,mDAA6C,CAA7C,2CAA6C,CAC7C,YAAa,CDoCb,kBAAuB,CACvB,UAAW,CACX,cAAe,CACf,0BAA2B,CAC3B,iBAAkB,CAXpB,uBC1BI,wBAAyD,CD0B7D,wBCtBI,wBAAyD,CDoC7D,aACE,YAAa,CACb,kBAAmB,CAErB,UACE,aAAc,CAGhB,KAEE,iBAAkB,CAClB,eAAiB,CAGnB,cALE,kBAYe,CAPjB,SACE,oBAAqB,CAErB,iBAAkB,CAClB,cAAgB,CAChB,yCE5GqD,CF6GrD,eAAiB,CACjB,cAAe,CAGjB,MACE,SAAU,CACV,iBAAkB","file":"main.04fc5f62.chunk.css","sourcesContent":[".container {\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n position: relative;\n z-index: auto;\n}\n\n.header-wrap {\n position: fixed;\n width: 100%;\n background: #fff;\n border-bottom: 1px solid #e1e1e1;\n z-index: 1;\n}\n\n.header {\n max-width: 1020px;\n margin: 0 auto;\n display: flex;\n}\n\n.header-name {\n font-size: 1.5rem;\n line-height: 2rem;\n font-weight: bold;\n padding: 0.5rem 0;\n user-select: none;\n text-decoration: none;\n}\n.header-name:hover, .header-name:active, .header-name:focus {\n text-decoration: none;\n}\n\n.header-spacer {\n margin-top: calc(0.5rem + 2rem + 0.5rem + 1px);\n height: 3rem;\n}\n\n.content-wrap {\n flex-grow: 5;\n box-sizing: border-box;\n display: flex;\n}\n.content {\n max-width: 1020px;\n min-width: 0;\n margin: 0 auto;\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n}",".container {\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n display: flex;\n}\n","@import \"../colors\";\n@import \"../fonts\";\n\n.table {\n table-layout: fixed;\n white-space: nowrap;\n width: 100%;\n user-select: none;\n}\n\n.table td {\n &:empty:after {\n content: \"-\";\n }\n}\n\n.empty-tr {\n color: $gray35;\n & td {\n text-align: center;\n }\n}\n\n.name {\n width: 20%;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.table tbody .name, .table tbody .description, .table tbody .value {\n user-select: text;\n}\n\n.description {\n overflow: hidden;\n text-overflow: ellipsis;\n width: 50%;\n}\n\n.value {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.actions {\n width: 50px;\n text-align: right;\n}","$blackColor: rgb(0, 0, 0);\n$whiteColor: rgb(255, 255, 255);\n$backgroundColor: $whiteColor;\n$primaryTextColor: rgb(35, 54, 86);\n$errorTextColor: rgb(255, 54, 86);\n$linkTextColor: $primaryTextColor;\n\n$gray05: mix($blackColor, $whiteColor, 5%);\n$gray10: mix($blackColor, $whiteColor, 10%);\n$gray15: mix($blackColor, $whiteColor, 15%);\n$gray20: mix($blackColor, $whiteColor, 20%);\n$gray25: mix($blackColor, $whiteColor, 25%);\n$gray30: mix($blackColor, $whiteColor, 30%);\n$gray35: mix($blackColor, $whiteColor, 35%);\n$gray40: mix($blackColor, $whiteColor, 40%);\n$gray45: mix($blackColor, $whiteColor, 45%);\n$gray50: mix($blackColor, $whiteColor, 50%);\n$gray55: mix($blackColor, $whiteColor, 55%);\n$gray60: mix($blackColor, $whiteColor, 60%);\n$gray65: mix($blackColor, $whiteColor, 65%);\n$gray70: mix($blackColor, $whiteColor, 70%);\n$gray75: mix($blackColor, $whiteColor, 75%);\n$gray80: mix($blackColor, $whiteColor, 80%);\n$gray85: mix($blackColor, $whiteColor, 85%);\n$gray90: mix($blackColor, $whiteColor, 90%);\n$gray95: mix($blackColor, $whiteColor, 95%);\n\n\n@mixin button-colors($textColor, $backgroundColor: transparent){\n color: $textColor;\n background-color: $backgroundColor;\n transition: background-color 0.1s ease-in-out;\n outline: none;\n\n &:focus, &:hover {\n background-color: mix($blackColor, $backgroundColor, 15%);\n }\n\n &:active {\n background-color: mix($blackColor, $backgroundColor, 40%);\n }\n}\n\n@mixin field-colors($textColor, $backgroundColor: transparent){\n color: $textColor;\n background-color: $backgroundColor;\n transition: background-color 0.1s ease-in-out;\n outline: none;\n\n &:focus {\n background-color: mix($blackColor, $backgroundColor, 15%);\n }\n\n &:active {\n background-color: mix($blackColor, $backgroundColor, 17%);\n }\n}","@import \"../fonts\";\n@import \"../colors\";\n.pagination {\n align-self: center;\n display: flex;\n list-style: none;\n font-size: 0.75em;\n line-height: 1em;\n user-select: none;\n padding: 0;\n margin: 4rem 0 0;\n}\n\n.item {\n background: $gray05;\n margin: 3px;\n border-radius: 3px;\n &--disabled a {\n color: $gray40;\n text-decoration: none !important;\n }\n &--active {\n background: $gray15;\n }\n}\n\n.link {\n position: relative;\n display: block;\n padding: .5rem .75rem;\n}",".wrap {\n display: flex;\n align-items: flex-start;\n justify-content: center;\n}\n.container {\n display: flex;\n flex-direction: column;\n background: #ffe5e5;\n padding: 0.25rem 0.5rem;\n border-radius: 4px;\n color: #b94343;\n text-align: center;\n}\n.error-large {\n}\n.error-small {\n font-size: 0.85em;\n}","@import \"colors\";\n\n$color: #ffc25b;\n\n/* Make clicks pass-through */\n#nprogress {\n pointer-events: none;\n}\n\n#nprogress .bar {\n background: $color;\n\n position: fixed;\n z-index: 1031;\n top: 0;\n left: 0;\n\n width: 100%;\n height: 2px;\n}\n\n/* Fancy blur effect */\n#nprogress .peg {\n display: block;\n position: absolute;\n right: 0px;\n width: 100px;\n height: 100%;\n box-shadow: 0 0 10px $color, 0 0 5px $color;\n opacity: 1.0;\n\n -webkit-transform: rotate(3deg) translate(0px, -4px);\n -ms-transform: rotate(3deg) translate(0px, -4px);\n transform: rotate(3deg) translate(0px, -4px);\n}\n\n/* Remove these to get rid of the spinner */\n#nprogress .spinner {\n display: block;\n position: fixed;\n z-index: 1031;\n top: 0.9rem;\n right: 0.9rem;\n}\n\n#nprogress .spinner-icon {\n width: 1.2rem;\n height: 1.2rem;\n box-sizing: border-box;\n\n border: solid 2px transparent;\n border-top-color: $color;\n border-left-color: $color;\n border-radius: 50%;\n\n -webkit-animation: nprogress-spinner 400ms linear infinite;\n animation: nprogress-spinner 400ms linear infinite;\n}\n\n.nprogress-custom-parent {\n overflow: hidden;\n position: relative;\n}\n\n.nprogress-custom-parent #nprogress .spinner,\n.nprogress-custom-parent #nprogress .bar {\n position: absolute;\n}\n\n@-webkit-keyframes nprogress-spinner {\n 0% { -webkit-transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); }\n}\n@keyframes nprogress-spinner {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n","@import \"../colors\";\n@import \"../fonts\";\n.wrap {\n white-space: nowrap;\n}\n.wrap:empty:after {\n content: \"-\";\n}\n.section {\n max-width: 100%;\n margin-right: 0.25em;\n &:last-child{\n margin-right: 0;\n }\n}","@import \"../colors\";\n.wrap {\n display: flex;\n flex-direction: column;\n margin-bottom: 1rem;\n}\n\n.name {\n font-size: 0.8em;\n color: $gray55;\n user-select: none;\n}\n\n.value {\n\n}\n.value:empty:after {\n content: \"-\";\n}","@import \"../colors\";\n.container {\n border-top: 1px dotted $gray05;\n padding-top: 1rem;\n margin-bottom: 1rem;\n}\n.container > * {\n margin-right: 0.5rem;\n}","@import \"../colors\";\n.wrap {\n position: relative;\n margin-bottom: 1em;\n}\n.label {\n font-size: 0.8em;\n color: $gray55;\n user-select: none;\n display: block;\n}\n.input-and-error-wrap {\n display: flex;\n align-items: baseline;\n}\n.error {\n flex-grow: 0;\n display: block;\n color: $errorTextColor;\n margin-left: 1rem;\n white-space: nowrap;\n}\n.hint {\n font-size: 0.8em;\n display: block;\n}",".error-wrap {\n display: flex;\n padding: 0.5rem 0;\n}\n.error-message {\n background: #ffe5e5;\n padding: 0.25rem 0.5rem;\n border-radius: 4px;\n color: #b94343;\n}\n.error-small {\n font-size: 0.85em;\n}",".wrap {\n display: block;\n}","@import \"colors\";\n@import \"fonts\";\n\nhtml {\n box-sizing: border-box;\n overflow-y: scroll;\n font-size: 14px;\n}\n\n*, *::before, *::after {\n box-sizing: inherit;\n}\n\n:root {\n background: $backgroundColor;\n}\n\nbody {\n background: $backgroundColor;\n color: $primaryTextColor;\n\n font-family: $primaryFontFamily;\n font-weight: normal;\n font-size: 1rem;\n line-height: 1.5rem;\n\n margin: 0;\n padding: 0;\n min-height: 100vh;\n position: relative;\n display: flex;\n flex-direction: column;\n}\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n\n & th, & td {\n text-align: left;\n }\n}\n\na {\n color: $linkTextColor;\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n}\n\nbutton, input[type=\"submit\"], input[type=\"button\"], a.button {\n display: inline-block;\n cursor: pointer;\n border: none;\n border-radius: 3px;\n padding: .375rem .75rem;\n font-size: 1rem;\n line-height: 1.5;\n user-select: none;\n white-space: nowrap;\n}\n\nbutton, input[type=\"submit\"], input[type=\"button\"] {\n @include button-colors($gray70, $gray15);\n}\n\na.button, button.link {\n @include button-colors($gray70, transparent);\n text-decoration: none;\n}\n\nbutton.primary, input[type=\"submit\"].primary, input[type=\"button\"].primary, a.button.primary {\n @include button-colors($gray70, $gray35);\n}\n\ninput[type=\"text\"] {\n border: none;\n border-radius: 3px;\n padding: 0.5em;\n font-size: 1rem;\n line-height: normal;\n @include field-colors($gray70, $gray10);\n box-sizing: content-box;\n width: auto;\n min-width: 12ch;\n max-width: calc(100% - 2em);\n will-change: width;\n}\n\n.button-wrap {\n display: flex;\n align-items: center;\n}\n.svg-wrap {\n display: block;\n}\n\ncode {\n background: $gray05;\n border-radius: 2px;\n padding: 0 0.2rem;\n}\n\n.sysname {\n display: inline-block;\n background: $gray05;\n border-radius: 3px;\n padding: 0 0.5em;\n font-family: $monospaceFontFamily;\n font-size: 0.75em;\n max-width: 100%;\n}\n\n#root {\n z-index: 1;\n position: relative;\n}","$blackColor: rgb(0, 0, 0);\n$whiteColor: rgb(255, 255, 255);\n$backgroundColor: $whiteColor;\n$primaryTextColor: rgb(35, 54, 86);\n$errorTextColor: rgb(255, 54, 86);\n$linkTextColor: $primaryTextColor;\n\n$gray05: mix($blackColor, $whiteColor, 5%);\n$gray10: mix($blackColor, $whiteColor, 10%);\n$gray15: mix($blackColor, $whiteColor, 15%);\n$gray20: mix($blackColor, $whiteColor, 20%);\n$gray25: mix($blackColor, $whiteColor, 25%);\n$gray30: mix($blackColor, $whiteColor, 30%);\n$gray35: mix($blackColor, $whiteColor, 35%);\n$gray40: mix($blackColor, $whiteColor, 40%);\n$gray45: mix($blackColor, $whiteColor, 45%);\n$gray50: mix($blackColor, $whiteColor, 50%);\n$gray55: mix($blackColor, $whiteColor, 55%);\n$gray60: mix($blackColor, $whiteColor, 60%);\n$gray65: mix($blackColor, $whiteColor, 65%);\n$gray70: mix($blackColor, $whiteColor, 70%);\n$gray75: mix($blackColor, $whiteColor, 75%);\n$gray80: mix($blackColor, $whiteColor, 80%);\n$gray85: mix($blackColor, $whiteColor, 85%);\n$gray90: mix($blackColor, $whiteColor, 90%);\n$gray95: mix($blackColor, $whiteColor, 95%);\n\n\n@mixin button-colors($textColor, $backgroundColor: transparent){\n color: $textColor;\n background-color: $backgroundColor;\n transition: background-color 0.1s ease-in-out;\n outline: none;\n\n &:focus, &:hover {\n background-color: mix($blackColor, $backgroundColor, 15%);\n }\n\n &:active {\n background-color: mix($blackColor, $backgroundColor, 40%);\n }\n}\n\n@mixin field-colors($textColor, $backgroundColor: transparent){\n color: $textColor;\n background-color: $backgroundColor;\n transition: background-color 0.1s ease-in-out;\n outline: none;\n\n &:focus {\n background-color: mix($blackColor, $backgroundColor, 15%);\n }\n\n &:active {\n background-color: mix($blackColor, $backgroundColor, 17%);\n }\n}","$primaryFontFamily: Arial, Helvetica, sans-serif;\n$monospaceFontFamily: \"Courier New\", Courier, monospace;"]}