system_settings 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 47a6c44afe9d52cf548c130a71dc763879c5aa47
4
- data.tar.gz: fbeb661a76b0efbbaaf477cc739919175efc0241
3
+ metadata.gz: 2036203e28d2865ae3f3e30c35f5edb3df4b0521
4
+ data.tar.gz: f29b50d3c8ec75d7132d1101300aa2bdea5e43bb
5
5
  SHA512:
6
- metadata.gz: 2d18357fdecc7756e53716380910ac2fd8731b6999453c7c458f176fc8a94dc4cfdb43404004c688d64b4d544ee6b099191d01e97060727fa27b13218442ca28
7
- data.tar.gz: 26f09571be71f63f1526c6e2dd9cd8c31615ecba1222319ab7d9e9eab0bc8b95d3b05560de85974deede6bdd3c07909bf618c02cff30c9279dc5f82e0a70ed5b
6
+ metadata.gz: 61485716578503ff6f5248fc4dbc90aafac5d7e555e83d174ea8ea5b8b0f978e22bdcbf2065685b56c0e4bfff5666227e1674c899d165a6217b9b3a133469854
7
+ data.tar.gz: abce6f1eee8d79749d13ed8eac27f8862e6ac778263f7647d618cbe4b4120eb33207638af86809775a2dd8034e98d8766ba22c38b69c26eb22a2d599dfbf9f89
@@ -6,9 +6,12 @@ module SystemSettings
6
6
  raise Errors::SettingsReadError, "The file name must either be a String or implement #to_path" unless file_name.is_a?(String)
7
7
  raise Errors::SettingsReadError, "#{file_name} file does not exist" unless File.exist?(file_name)
8
8
  raise Errors::SettingsReadError, "#{file_name} file not readable" unless File.readable?(file_name)
9
- file_content = File.read(file_name)
10
- new.tap do |obj|
11
- obj.instance_eval(file_content, file_name, 1)
9
+ SystemSettings.instrument("system_settings.from_file", path: file_name) do |payload|
10
+ file_content = File.read(file_name)
11
+ new.tap do |obj|
12
+ obj.instance_eval(file_content, file_name, 1)
13
+ payload[:items] = obj.items
14
+ end
12
15
  end
13
16
  end
14
17
 
@@ -50,30 +53,34 @@ module SystemSettings
50
53
  end
51
54
 
52
55
  def persist
53
- if settings_table_exists?
54
- SystemSettings::Setting.transaction do
55
- @items.each do |entry|
56
- persisted_record = entry[:class].find_by(name: entry[:name])
57
- if persisted_record
58
- persisted_record.update!(description: entry[:description])
59
- else
60
- entry[:class].create!(name: entry[:name], value: entry[:value], description: entry[:description])
56
+ SystemSettings.instrument("system_settings.persist", items: @items) do |payload|
57
+ if settings_table_exists?
58
+ SystemSettings::Setting.transaction do
59
+ @items.each do |entry|
60
+ persisted_record = entry[:class].find_by(name: entry[:name])
61
+ if persisted_record
62
+ persisted_record.update!(description: entry[:description])
63
+ else
64
+ entry[:class].create!(name: entry[:name], value: entry[:value], description: entry[:description])
65
+ end
61
66
  end
62
67
  end
68
+ payload[:success] = true
69
+ else
70
+ warn "SystemSettings: Settings table has not been created!"
71
+ payload[:success] = false
63
72
  end
64
- true
65
- else
66
- warn "SystemSettings: Settings table has not been created!"
67
- false
68
73
  end
69
74
  end
70
75
 
71
76
  def purge
72
- if settings_table_exists?
73
- SystemSettings::Setting.delete_all
74
- true
75
- else
76
- false
77
+ SystemSettings.instrument("system_settings.purge") do |payload|
78
+ if settings_table_exists?
79
+ SystemSettings::Setting.delete_all
80
+ payload[:success] = true
81
+ else
82
+ payload[:success] = false
83
+ end
77
84
  end
78
85
  end
79
86
 
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "files": {
3
- "main.css": "/system_settings/static/css/main.3e0908b7.chunk.css",
4
- "main.js": "/system_settings/static/js/main.783910a9.chunk.js",
3
+ "main.css": "/system_settings/static/css/main.92b62519.chunk.css",
4
+ "main.js": "/system_settings/static/js/main.3240d6b4.chunk.js",
5
5
  "runtime~main.js": "/system_settings/static/js/runtime~main.a09e9b82.js",
6
- "static/js/2.17170219.chunk.js": "/system_settings/static/js/2.17170219.chunk.js",
6
+ "static/js/2.3fd64734.chunk.js": "/system_settings/static/js/2.3fd64734.chunk.js",
7
7
  "index.html": "/system_settings/index.html",
8
- "precache-manifest.0d2da19828640a3d35aff63948b8dade.js": "/system_settings/precache-manifest.0d2da19828640a3d35aff63948b8dade.js",
8
+ "precache-manifest.0e020e029f3aadbe0b26621b84010585.js": "/system_settings/precache-manifest.0e020e029f3aadbe0b26621b84010585.js",
9
9
  "service-worker.js": "/system_settings/service-worker.js"
10
10
  }
11
11
  }
@@ -1 +1 @@
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.3e0908b7.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.a09e9b82.js"></script><script src="/system_settings/static/js/2.17170219.chunk.js"></script><script src="/system_settings/static/js/main.783910a9.chunk.js"></script></body></html>
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.92b62519.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.a09e9b82.js"></script><script src="/system_settings/static/js/2.3fd64734.chunk.js"></script><script src="/system_settings/static/js/main.3240d6b4.chunk.js"></script></body></html>
@@ -0,0 +1,22 @@
1
+ self.__precacheManifest = (self.__precacheManifest || []).concat([
2
+ {
3
+ "revision": "992f4780889b7b5d8cb84042a0e994c6",
4
+ "url": "/system_settings/index.html"
5
+ },
6
+ {
7
+ "revision": "7a76831de683d940339e",
8
+ "url": "/system_settings/static/css/main.92b62519.chunk.css"
9
+ },
10
+ {
11
+ "revision": "78fcb78c6fb9ed311d5f",
12
+ "url": "/system_settings/static/js/2.3fd64734.chunk.js"
13
+ },
14
+ {
15
+ "revision": "7a76831de683d940339e",
16
+ "url": "/system_settings/static/js/main.3240d6b4.chunk.js"
17
+ },
18
+ {
19
+ "revision": "1b52e032205e59a9e84f",
20
+ "url": "/system_settings/static/js/runtime~main.a09e9b82.js"
21
+ }
22
+ ]);
@@ -11,10 +11,10 @@
11
11
  * See https://goo.gl/2aRDsh
12
12
  */
13
13
 
14
- importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.0/workbox-sw.js");
14
+ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
15
15
 
16
16
  importScripts(
17
- "/system_settings/precache-manifest.0d2da19828640a3d35aff63948b8dade.js"
17
+ "/system_settings/precache-manifest.0e020e029f3aadbe0b26621b84010585.js"
18
18
  );
19
19
 
20
20
  self.addEventListener('message', (event) => {
@@ -1 +1 @@
1
- .App_container__BLGGc{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:auto}.App_header-wrap__3DnwX{position:fixed;width:100%;background:#fff;border-bottom:1px solid #e1e1e1;z-index:1}.App_header__1o2Y8{max-width:1020px;margin:0 auto;display:flex}.App_header-name__2XXxc{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__2XXxc:active,.App_header-name__2XXxc:focus,.App_header-name__2XXxc:hover{text-decoration:none}.App_header-spacer__3F0KU{margin-top:calc(3rem + 1px);height:3rem}.App_content-wrap__1oPWs{flex-grow:5;box-sizing:border-box;display:flex}.App_content__3dh9P{max-width:1020px;min-width:0;margin:0 auto;display:flex;flex-grow:1;flex-direction:column}.NotFoundPage_container__35vs4{flex-grow:1;align-items:center;justify-content:center;display:flex}.ListPage_table__2qY_8{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__2qY_8 td:empty:after{content:"-"}.ListPage_empty-tr__2VxYl{color:#a6a6a6}.ListPage_empty-tr__2VxYl td{text-align:center}.ListPage_name__1-Gs-{width:20%;overflow:hidden;text-overflow:ellipsis}.ListPage_table__2qY_8 tbody .ListPage_description__1Sci0,.ListPage_table__2qY_8 tbody .ListPage_name__1-Gs-,.ListPage_table__2qY_8 tbody .ListPage_value__3X3Vq{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ListPage_description__1Sci0{width:50%}.ListPage_description__1Sci0,.ListPage_value__3X3Vq{overflow:hidden;text-overflow:ellipsis}.ListPage_actions__2iqTu{width:50px;text-align:right}.PageLoadError_wrap__mpF75{display:flex;align-items:flex-start;justify-content:center}.PageLoadError_container__kcD9o{display:flex;flex-direction:column;background:#ffe5e5;padding:.25rem .5rem;border-radius:4px;color:#b94343;text-align:center}.PageLoadError_error-small__14Fex{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__3J_8z{white-space:nowrap}.Value_wrap__3J_8z:empty:after{content:"-"}.Value_section__cgQmL{max-width:100%;margin-right:.25em}.Value_section__cgQmL:last-child{margin-right:0}.Attribute_wrap__1Zy9J{display:flex;flex-direction:column;margin-bottom:1rem}.Attribute_name__3a-cD{font-size:.8em;color:#737373;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.Attribute_value__IxZCj:empty:after{content:"-"}.ButtonBar_container__21aEr{border-top:1px dotted #f2f2f2;padding-top:1rem;margin-bottom:1rem}.ButtonBar_container__21aEr>*{margin-right:.5rem}.LabeledInput_wrap__2KAyr{position:relative;margin-bottom:1em}.LabeledInput_label__1AyjZ{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__2iJKd{display:flex;align-items:baseline}.LabeledInput_error__2QBpW{flex-grow:0;display:block;color:#ff3656;margin-left:1rem;white-space:nowrap}.LabeledInput_hint__rAeG8{font-size:.8em;display:block}.SettingForm_error-wrap__3SdnI{display:flex;padding:.5rem 0}.SettingForm_error-message__uQK1Y{background:#ffe5e5;padding:.25rem .5rem;border-radius:4px;color:#b94343}.SettingForm_error-small__3owRp{font-size:.85em}.ClassicSpinner_wrap__1LF2_{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{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{background-color:rgba(0,0,0,.15)}a.button: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}
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}.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{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{background-color:rgba(0,0,0,.15)}a.button: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}